@charset "utf-8";

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline; }
:focus { outline: 0; }
ol, ul { list-style: none; }
table { border-collapse: separate;border-spacing: 0; }
caption, th, td { font-weight: normal;text-align: left; }
blockquote:before, blockquote:after,q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }
a img { border: 0; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body {
    font:80%/1.5 メイリオ,Meiryo,sans-serif;
    color:#252525;
    -webkit-text-size-adjust: none;
    background:#fff;
}
a {
    margin:0;
    padding:0;
    text-decoration:none;
    outline:0;
    vertical-align:baseline;
    background:transparent;
    font-size:100%;
    color:#777;
}
a:hover,
a:active {
    -webkit-transition:opacity 1s;-moz-transition:opacity 1s;-o-transition:opacity 1s;
    outline: none;
    color:#999;
}
/**** Clearfix ****/
nav .panel:after, nav#mainNav:after, .newsTitle:after, .bg:after,.post:after { content:""; display: table;clear: both; }
nav .panel,nav#mainNav,.newsTitle,.bg, .post { zoom: 1; }


/* フォーム
------------------------------------------------------------ */
form {
    width: 95%;
    margin-left: 5%;
}
input[type="text"],
input[type="email"],
textarea {
    width: 482px;
    max-width:94%;
    height:1.75em;
    padding:3px 5px;
    border:1px solid #d4d4d7;
    border-radius:3px;
    background:#fcfcfc;
    line-height:1.66;
    font-size:1rem;
    color:#555;
    vertical-align:middle;
}
textarea {
    height:auto;
}
input[type="submit"],input[type="reset"],input[type="button"] {
    padding:3px 10px;
    background: #aeaeae;
    background: -moz-linear-gradient(top, #aeaeae 0%, #797979 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#aeaeae), color-stop(100%,#797979));
    background: -webkit-linear-gradient(top, #aeaeae 0%,#797979 100%);
    background: -o-linear-gradient(top, #aeaeae 0%,#797979 100%);
    background: -ms-linear-gradient(top, #aeaeae 0%,#797979 100%);
    background: linear-gradient(to bottom, #aeaeae 0%,#797979 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#aeaeae', endColorstr='#797979',GradientType=0 );
    border:0;
    border-radius:3px;
    line-height:1.5;
    font-size:100%;
    color:#fff;
}
input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover {
    background: #aeaeae;
    background: -moz-linear-gradient(top, #797979 0%, #aeaeae 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#797979), color-stop(100%,#aeaeae));
    background: -webkit-linear-gradient(top, #797979 0%,#aeaeae 100%);
    background: -o-linear-gradient(top, #797979 0%,#aeaeae 100%);
    background: -ms-linear-gradient(top, #797979 0%,#aeaeae 100%);
    background: linear-gradient(to bottom, #797979 0%,#aeaeae 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#797979', endColorstr='#aeaeae',GradientType=0 );
}
*:first-child+html input[type="submit"] { padding:3px; }

.confirm_input {
    display: inline-block;
    max-width: 90%;
    padding: 2px 8px;
    background-color: #fafcff;
    font-size: 1.25rem;
    line-height: 1.66;
}

/* レイアウト
------------------------------------------------------------ */
#wrapper, .inner {
    margin:0 auto;
    width: 84%;
    max-width: 800px;
}
#header {
    overflow:hidden;
    background:#fff;
}
#content {
    width: 100%;
    padding:30px 0;
}
#footer {
    clear:both;
    padding-top:40px;
    background:#f3f3f3;
}

/* ヘッダー
---------------------------------- */
#header .bg { background:#fff; }
#header h1,#header p {
    float:left;
    padding:3px 0;
    color: #252525;
    font-size:80%;
    font-weight:normal;
}
#header p {
    float:right;
}

/* ロゴ (サイトタイトル)
---------------------------------- */
#header h2 {
    clear:both;
    float:left;
    padding:30px 0;
    color: #515151;
    font-size:160%;
    font-weight:bold;
}

/* サブナビゲーション
---------------------------------- */
#header ul {
    padding-top:40px;
    float:right;
}
#header ul li {
    display:inline;
    margin-left:10px;
    font-size:90%;
}
#header ul li a {
    padding-left:10px;
    color:#000;
    background:url(images/arrowSub.png) no-repeat 0 50%;
}
#header ul li a:hover { background-position:3px 50%; }

/* タイポグラフィ
---------------------------------- */
h2.title {
    clear:both;
    margin:30px 0 0;
    padding:7px 10px;
    font-size:110%;
    border:1px solid #dadada;
    border-bottom:0;
    background:#fff url(images/border.png) repeat-x 0 100%;
}
h2.first {
    margin-top:0;
}
.dateLabel {
    margin:0 0 10px;
    text-align:right;
    font:italic 1em "Palatino Linotype", "Book Antiqua", Palatino, serif;
}
.post p { padding-bottom:15px; }
.post ul { margin: 0 0 10px 10px; }
.post ul li {
    margin-bottom:5px;
    padding-left:15px;
    background:url(images/bullet.png) no-repeat 0 8px;
}
.post ol { margin: 0 0 10px 30px; }
.post ol li { list-style:decimal; }
.post h1 {
    margin:20px 0;
    padding:5px 0;
    font-size:150%;
    color: #000;
    border-bottom:3px solid #000;
}
.post h2 {
    margin:10px 0;
    padding-bottom:2px;
    font-size:130%;
    font-weight:normal;
    color: #333;
    border-bottom:2px solid #515151;
}
.post h3 {
    margin:20px 0;
    padding:5px 0;
    font-size:150%;
    color: #000;
    border-bottom:3px solid #000;
}
.post blockquote  {
    clear:both;
    padding:10px 0 10px 15px;
    margin:10px 0 25px 30px;
    border-left:5px solid #ccc;
}

.post blockquote p { padding:5px 0; }
.post table {
    border: 1px #61c4e4 solid;
    border-collapse: collapse;
    border-spacing: 0;
    margin:10px 0 20px;
}
.post table th {
    padding:7px;
    border: #61c4e4 solid;
    border-width: 0 0 1px 1px;
    background-color:#61c4e4;
    color:#fff;
    font-weight:bold;
    text-align: center;
}
.post table td {
    padding:7px 5px;
    border: 1px #61c4e4 solid;
    border-width: 0 0 1px 1px;
    background:#fff;
}
.post dt { font-weight:bold; }
.post dd { padding-bottom:10px; }
.post img { max-width:100%;height:auto; }
img.aligncenter  {
    display: block;
    margin:5px auto;
}
img.alignright, img.alignleft {
    padding:4px;
    margin:0 0 2px 7px;
    display:inline;
}
img.alignleft { margin: 0 7px 2px 0; }
.alignright { float:right; }
.alignleft { float:left; }


/* フッター
------------------------------------------------------------ */
#footer ul {
    font-size:12px;
    padding:10px 0 30px 0;
}

#footer ul li {
    display:inline-block;
    vertical-align:text-top;
    text-align:left;
    padding:5px 0;
    margin-right:30px;
    background:url(images/arrow.png) no-repeat 0 12px;
}
#footer ul li a {
    display:block;
    padding:0 0 0 12px;
    overflow:hidden;
}
#footer ul li a:hover { text-decoration:underline; }
#footer ul li li {
    display:block;
    padding:0;
    margin:0 0 0 10px;
    background-position:0 5px;
}
*:first-child+html #footer ul li { display:inline; }
*:first-child+html #footer ul ul,*:first-child+html #footer ul li li a,*:first-child+html #footer ul li li { display:none; }
#copyright {
    clear:both;
    padding:10px;
    text-align:center;
    font-size:75%;
    zoom:1;
    color:#a0a0a0;
    background:#ebebeb;
}

/* トップページ  メイン画像
---------------------------------- */
#mainImg {
    clear:both;
    margin-top:25px;
    line-height:0;
    text-align:center;
    z-index:0;
    position:relative;
    background:#ff9d00;
}
#mainImg img {
    max-width: 100%;
    height: auto;
}
.post {
    margin:0 0 20px 0;
    padding:10px;
    border:1px solid #dadada;
    background: #fff;
}

/* トップページ サービス一覧
------------------------------------------------------------ */
.thumbWrap {
    width: 90%;
    margin: 20px 5%;
}
.thumbWrap ul {
    width: 100%;
}
.thumbWrap li {
    float:left;
    width: 40%;
    margin: 0 5%;
    padding:2px 0 40px;
    background:none;
}
ul.thumb li h3 {
    margin-top:10px;
    padding:1px;
    font-weight:normal;
    font-size:100%;
    text-align:center;
    background:#25252;
    border:1px solid #dadada;
}
ul.thumb li h3 span {
    display:block;
    padding:2px 3px;
    background:#f3f3f3;
}
ul.thumb li h3 a {
    color:#252525;
}
ul.thumb li h3:hover span {
    background:#fff;
}
ul.thumb li .banner {
    margin-top: 10px;
}

/* ======== 会社概要 ========
------------------------------------------------------------ */
table.outline {
    width: 520px;
    max-width: 94%;
}
/* ======== サービス一覧 ========
------------------------------------------------------------ */
.srv_buz_linkhead {
    display: inline-block;
    margin-bottom: 12px;
}
#post-17 p.banner {
    margin-top: 10px;
}

/* ======== パソコン修理技能研修 ========
------------------------------------------------------------ */
.training h2.title {
    padding: 8px 10px 4px;
    font-size: 22px;
    border: 1px solid #dadada;
    border-bottom: 3px solid #000;
    background: none;
}
.training .post h3 {
    margin: 40px 0;
    padding: 5px 0;
    font-size: 20px;
    color: #000;
    border-bottom: 2px solid #333;
}
.training .tr_content {
    width: 92%;
    margin-right: 4%;
    margin-left: 4%;
}
.training dl.scene {
    width: 66%;
    min-width: 360px;
    display: grid;
    grid-template-columns: 6rem 1fr;
    line-height: 2;
    font-size: 18px;
}
.training dl.scene dt {
    /* display: inline-flex; */
    /* align-items: center; */ 
    /* align-content: center; */
    /* padding-left: 1rem; */
    /* border: 1px solid #999; */
    /* border-right: 0 none; */
}
.training dl.scene dd {
    /* padding: 4px 0 4px 8px; */
    /* border: 1px solid #999; */
}
.training dl.scene dt:not(:last-of-type),
.training dl.scene dd:not(:last-of-type) {
    /* border-bottom: 0 none; */
    margin-bottom: 2rem;
}
/*
.training .curriculum {
    display: flex;
    width: 92%;
    margin: 2rem 4%;
    flex-wrap: wrap;
    gap: 2rem;
    align-items: flex-start;
    justify-content: space-between;
}
.training .curriculum .c_item {
    width: calc(49% - 4rem);
    padding: .5rem;
    border: 1px solid #ccc;
}
*/
.training .curriculum {
    display: grid;
    width: 92%;
    margin: 2rem 4%;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1rem;
}
.training .curriculum .c_item {
    padding: .5rem;
    border: 1px solid #ccc;
}
.training .c_item h4 {
    margin-bottom: .5rem;
    padding: .5rem .5rem .5rem 1rem;
    background-color: #61c4e4;
}
.training .plan {
    width: 92%;
    margin: 2rem 4%;
}
.training .plan .plan_item { /* */
}
.training .plan_item h4 {
    margin-bottom: .5rem;
    padding: .5rem .5rem .5rem 1rem;
    background-color: #61c4e4;
    font-weight: bold;
}
.training .plan_item p {
    margin-bottom: 4px;
}
.training .plan_item table {
    width: 80%;
    min-width: 360px;
    margin: 0 auto 2rem;
}
.training .plan_item tr td:first-child {
    width: 7rem;
    text-align: center;
}
.training .plan_item tr td:last-child {
    padding-left: 30px;
}
.training .wapper_cta {
    width: 86%;
    margin: 2rem 7%;
}
.training ul.cta {
    display: flex;
    gap: 36px;
    margin: 0;
    list-style-type: none;
}
.training ul.cta li {
    width: calc(50% - 22px);
    margin: 0;
    padding: 0;
    background: none;
}
.training .cta_btn {
    display: block;
    padding: 0;
    line-height: 1;
    text-decoration: none;
    color: #000;
}
.training .cta_btn_tel_number {
    font-size: 200%;
    font-weight: bold;
}
.training .cta_btn_tel_note {
    display: inline-block;
    margin-top: .5rem;
    line-height: 1.5;
    font-size: 1rem;
}
.training .cta_btn_form {
    width: 90%;
    margin: 0 8px 0;
    padding: 12px 0;
    border-radius: 25px;
    background-color: #f8b800;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: #000;
}
.training .cta_btn .material-symbols-outlined {
    display: inline-flex;
    font-variation-settings: 'wght' 400;
    margin-right: 6px;
    line-height: 1;
    vertical-align: bottom;
    font-size: 85%;
}
.training .cta_btn_form .material-symbols-outlined {
    font-size: 120%;
    vertical-align: top;
}


/* メインメニュー  PC用
------------------------------------------------------------ */
@media only screen and (min-width: 767px) {
    nav#mainNav {
        clear:both;
        position:relative;
        z-index:200;
    }
    nav#mainNav ul {
        width: 100%;
    }
    nav#mainNav ul li {
        float: left;
        position: relative;
        width: 16.3%;
        border-right:1px dotted #ccc;
    }
    nav#mainNav ul li:first-child { border-left:1px dotted #ccc; }
    nav#mainNav ul li a {
        display: block;
        _float:left;
        width: 100%;
        height: auto;
        padding: 10px 0;
        line-height: 1.5;
        text-align: center;
        color:#333;
    }
    nav#mainNav ul li a span,nav#mainNav ul li a strong {
        display:block;
        font-size:90%;
        line-height:1.4;
    }
    nav#mainNav ul li a span {
        font-size:70%;
        color:#ccc;
    }
    nav div.panel {
        display:block !important;
        float:left;
        width: 100%;
    }
    a#menu { display:none; }
    nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:hover, nav#mainNav ul li a:active, nav#mainNav ul li.current-menu-parent a {
        background:#f3f3f3;
    }
    nav#mainNav ul ul { width:160px; }
    nav#mainNav ul li ul { display: none; }
    nav#mainNav ul li:hover ul {
        display: block;
        position: absolute;
        top:50px;
        left:-2px;
        z-index:500;
    }
    nav#mainNav ul li li {
        padding:0 0 0 10px;
        margin:0;
        float: none;
        height:40px;
        line-height:40px;
        width:160px;
        border:0;
        border-bottom:1px dotted #ccc;
        background:#f3f3f3;
    }
    nav#mainNav ul li li:first-child { border-left:0; }
    nav#mainNav ul li li a {
        width:100%;
        height:40px;
        padding:0;
        line-height:40px;
        font-size:95%;
        text-align:left;
    }
    nav#mainNav ul li li a span { padding:0 10px; }
    nav#mainNav ul li li a:hover,nav#mainNav ul li li.current-menu-item a { color:#999; }
    nav#mainNav ul li:hover ul li:last-child { border:0; }
}

/* メインメニュー iPadサイズ以下から @@@ */
/* ------------------------------------------------------------ */
@media only screen and (max-width: 767px) {
    nav#mainNav {
        clear:both;
        width:98%;
        margin:1rem auto .5rem;
        border:1px solid #d5d5d5;
    }
    nav#mainNav a.menu {
        width:100%;
        display:block;
        height:37px;
        line-height:37px;
        font-weight: bold;
        text-align:left;
        background: url(images/menuOpen.png) no-repeat 5px 8px;
    }
    nav#mainNav a#menu span { padding-left:35px; }
    nav#mainNav a.menuOpen {
        background: url(images/menuOpen.png) no-repeat 5px -34px;
    }
    nav#mainNav a#menu:hover { cursor:pointer; }
    nav .panel {
        display: none;
        width:100%;
        position: relative;
        right: 0;
        top:0;
        z-index: 1;
    }
    nav#mainNav ul { margin:0;padding:0; }
    nav#mainNav ul li {
        float: none;
        clear:both;
        width:100%;
        height:auto;
        line-height:1.2;
    }
    nav#mainNav ul li:first-child { border-top:1px solid #d5d5d5; }
    nav#mainNav ul li li:first-child { border-top:0; }
    nav#mainNav ul li a,nav#mainNav ul li.current-menu-item li a {
        display: block;
        padding:15px 10px;
        text-align:left;
        border-bottom:1px dashed #ccc;
        background:#fff;
    }
    nav#mainNav ul li:last-child a { border:0; }
    nav#mainNav ul li li:last-child a { border:0; }
    nav#mainNav ul li li:last-child a { border-bottom:1px dashed #ccc; }
    nav#mainNav ul li a span { display:none; }
    nav#mainNav ul li.current-menu-item a,nav#mainNav ul li a:hover,nav#mainNav ul li.current-menu-item a,nav#mainNav ul li a:active, nav#mainNav ul li li.current-menu-item a, nav#mainNav ul li.current-menu-item li a:hover, nav#mainNav ul li.current-menu-item li a:active {
        background:#f6f6f6;
    }
    nav#mainNav ul li li {
        float:left;
        border:0;
    }
    nav#mainNav ul li li a, nav#mainNav ul li.current-menu-item li a, nav#mainNav ul li li.current-menu-item a {
        padding-left:40px;
        background:#fff url(images/sub1.png) no-repeat 20px 18px;
    }
    nav#mainNav ul li li.current-menu-item a,nav#mainNav ul li li a:hover, nav#mainNav ul li.current-menu-item li a:hover {
        background:#f6f6f6 url(images/sub1.png) no-repeat 20px -62px;
    }
    nav#mainNav ul li li:last-child a { background:#fff url(images/subLast.png) no-repeat 20px 20px; }
    nav#mainNav ul li li:last-child.current-menu-item a,nav#mainNav ul li li:last-child a:hover,nav#mainNav ul li.current-menu-item li:last-child a:hover { background:#f6f6f6 url(images/subLast.png) no-repeat 20px -65px; }
    nav div.panel { float:none; }
    #mainImg { margin-bottom:20px; }
}

------------------------------------------------------------ */
@media only screen and (max-width: 767px) {
    #wrapper, #header, .inner { width:100%; }
    #header h1, #header p { padding:5px 10px; }
    #header h2 { padding:20px 10px 0; }
    #header ul { padding:20px 10px 10px; }
    nav#mainNav ul { margin:0 auto; }
    nav#mainNav ul ul { padding:0; }
    nav div.panel { float:none; }
    #mainImg img { width:98%;height:auto; }
    #content, #sidebar {
        clear:both;
        width:95%;
        float:none;
        margin:0 auto;
        padding:10px 0;
    }
    #banners { width:100%;margin:0 auto;text-align:center; }
    #banners p { display:inline;margin:0 10px; }
    #banners p img { width:100%;height:auto; }
    section.widget_search { text-align:center; }
    #footer { margin:0;border:0;text-align:center; }
    #footer ul { text-align:center; }
    #footer ul li { margin-right:20px; }
    .thumbWrap {
        box-sizing: border-box;
        width:100%;
        margin:0 0;
        padding-top:20px;
        overflow:auto;
        border:1px solid #dadada;
    }
    .thumbWrap img {
        max-width:100%;
        height:auto;
    }
}

/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
    #header { text-align:center; }
    #header h2,#header ul { float:none; }
    #headerInfo { width:250px;margin:0 auto; }
    img.alignright, img.alignleft { display: block;	margin:5px auto; }
    .alignright,.alignleft { float:none; }
    #footer ul { text-align:left;padding:15px; }
    #footer ul ul { padding:0; }
    .thumbWrap li {
        float:none;
        width: 80%;
        margin: 10px 10%;
        padding:2px 0 40px;
    }
    #wrapper, .inner {
        width: 92%;
    }
    table.outline {
        max-width: 100%;
    }
    .training .plan_item table {
        min-width: 100%;
        margin-left: 0;
    }
    .training ul.cta {
        display: block;
    }
    .training ul.cta li {
        width: 80%;
        margin: 0 10% 40px;
        text-align: center;
    }
    .training .cta_btn_tel_number {
        margin-left: -28px;
        display: block;
    }
}

/* ------------------------------------------------------------ */
@media only screen and (max-width: 479px) {
    #wrapper, .inner {
        width: 96%;
    }
    #header h2 {
        padding-bottom: 1rem;
    }
    #header ul {
        padding-top: 0;
    }
    .thumbWrap li {
        width: 90%;
        margin-right: 5%;
        margin-left: 5%;
    }

    .training dl.scene {
        min-width: 100%;
    }
    .training .curriculum {
        display: block;
        width: 96%;
        margin: 1rem 2%;
    }
    .training .curriculum .c_item:not(:first-child) {
        border-top: 0 none;
    }
    .training .plan {
        width: 96%;
        margin: 1rem 2%;
    }
    .training .plan_item tr td:first-child {
        width: 2rem;
    }
    .training .wapper_cta {
        width: 96%;
        margin: 2rem 2%;
    }
    .training ul.cta li {
        width: 90%;
        margin-right: 5%;
        margin-left: 5%;
        text-align: center;
    }
    .training .cta_btn_tel_number {
        font-size: 150%;
    }
    .training .cta_btn_tel_note {
        margin-top: 0;
        line-height: 1.25;
        font-size: .85rem;
    }


}
