/*
 Theme Name:   Twenty Seventeen Child
 Template:     twentyseventeen
 Version:      1.0
*/
/* ここから上を消すと正しく動作しなくなることがあります。
 * ( Erasing the elements above here might cause system issues. )
*/

/* TABLE OF CONTENTS:
 * 
 * 01 Theme custom ( どのサイズでも共通で適用されるスタイル )
 *    01.1 - Typography
 *    01.2 - Layout
 *    01.3 - Color
 *    01.4 - 追加パーツ
 *    01.5 - パンくずリスト
 *    01.6 - 記事ページ
 *    01.7 - CPT
 * 02 Media Queries ( 特定のサイズで適用されるスタイル )
 *    02.0 - Mobile ( 768未満 )
 *    02.1 - Mobile ( 480px )
 *    02.2 - Tablet ( 768px )
 *    02.3 - Tablet ( 880px )
 *    02.4 - Desktop ( 1072px )
 *    02.5 - Desktop ( 1264px )
 * 03 Print ( 印刷時に適用されるスタイル )
 */

/* --------------------------------------------------------------------------------------------------------
   01 Theme custom
 *
 * どのサイズでも共通で適用されるスタイル
 *
-------------------------------------------------------------------------------------------------------- */


/* 01.1 Typography
------------------------------------------------------------
html[lang="ja"] body,
html[lang="ja"] button,
html[lang="ja"] input,
html[lang="ja"] select,
html[lang="ja"] textarea {
  font-family: "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
}

*/

a, .entry-content a, .entry-summary a, .comment-content a, .widget a, .site-footer .widget-area a, .posts-navigation a, .widget_authors a strong,
.entry-title a, .entry-meta a, .page-links a, .page-links a .page-number, .entry-footer a, .entry-footer .cat-links a, .entry-footer .tags-links a, .edit-link a, .post-navigation a, .logged-in-as a, .comment-navigation a, .comment-metadata a, .comment-metadata a.comment-edit-link, .comment-reply-link, a .nav-title, .pagination a, .comments-pagination a, .site-info a, .widget .widget-title a, .widget ul li a, .site-footer .widget-area ul li a, .site-footer .widget-area ul li a {
  text-decoration: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
a:focus,  a:hover, .entry-content a:focus, .entry-content a:hover, .entry-summary a:focus, .entry-summary a:hover, .comment-content a:focus, .comment-content a:hover, .widget a:focus, .widget a:hover, .site-footer .widget-area a:focus, .site-footer .widget-area a:hover, .posts-navigation a:focus, .posts-navigation a:hover, .comment-metadata a:focus, .comment-metadata a:hover, .comment-metadata a.comment-edit-link:focus, .comment-metadata a.comment-edit-link:hover, .comment-reply-link:focus, .comment-reply-link:hover, .widget_authors a:focus strong, .widget_authors a:hover strong, .entry-title a:focus, .entry-title a:hover, .entry-meta a:focus, .entry-meta a:hover, .page-links a:focus .page-number, .page-links a:hover .page-number, .entry-footer a:focus, .entry-footer a:hover, .entry-footer .cat-links a:focus, .entry-footer .cat-links a:hover, .entry-footer .tags-links a:focus, .entry-footer .tags-links a:hover, .post-navigation a:focus, .post-navigation a:hover, .pagination a:not(.prev):not(.next):focus, .pagination a:not(.prev):not(.next):hover, .comments-pagination a:not(.prev):not(.next):focus, .comments-pagination a:not(.prev):not(.next):hover, .logged-in-as a:focus, .logged-in-as a:hover, a:focus .nav-title, a:hover .nav-title, .edit-link a:focus, .edit-link a:hover, .site-info a:focus, .site-info a:hover, .widget .widget-title a:focus, .widget .widget-title a:hover, .widget ul li a:focus, .widget ul li a:hover {
  text-decoration: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.widget {
  padding-bottom: 2em;
}
/* ▼記事 */
.entry-footer .cat-links,
.nav-subtitle {
  font-size: 16px;
  font-size: 1rem;
}
/* ▲記事 */

.entry-content a img, .comment-content a img, .widget a img {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.entry-content a:hover img, .comment-content a:hover img, .widget a:hover img {
  filter: contrast(130%);
}
.site-branding > .branding > .brandingtext {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}
.site-branding > .branding > .brandingtext * {
  color: #FFF;
  font-weight: normal;
  text-align: left;
  margin: 0;
}


/* 01.2 Layout
------------------------------------------------------------*/
    .wrap {
        max-width: calc(1000px + 6em);
    }
    .page-one-column .panel-content .wrap {
        max-width: calc(1000px + 6em);
        padding-top: 0;
    }

    .single-post:not(.has-sidebar) #primary, .page.page-one-column:not(.twentyseventeen-front-page) #primary, .archive.page-one-column:not(.has-sidebar) .page-header, .archive.page-one-column:not(.has-sidebar) #primary {
      max-width: 1000px;
    }
    .site-branding .branding h1 {
      font-weight: normal;
    }

    .site-branding-any {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
    }
    .site-branding-any .site-logo {
      margin-right: auto;
    }
    .site-branding-any .site-logo img {
      max-height: 6vh;
      max-width: 40vw;
    }
    .site-branding-any .site-util {
      padding-left: 2em;
    }
    .site-branding-any .site-util img {
      max-height: 6vh;
    }

    .navigation-top {
      display: none;
      position: static;
    }

    .site-util-sp {
        border-spacing: 8px;
        display: table;
        font-size: 14px;
        table-layout: fixed;
        line-height: 1.2em;
        position: fixed;
        top: 55px;
        width: 100%;
        z-index: 99997;
    }
    .site-util-sp .util-item {
        border-radius: 0.5em;
        display: table-cell;
        text-align: center;
        padding: 8px;
        vertical-align: middle;
    }
    .site-util-sp .util-item span.tel-num img {
      vertical-align: top;
    }
    .site-util-sp .util-item a {
        display: block;
        height: 100%;
    }

    .site-content {
        padding-top: 0;
        position: relative;
    }

    .page:not(.home) #content,
    #content {
        padding-bottom: 0;
    }

    .site-main #mainImg {
      text-align: left;
/*      text-align: center; */
      margin-right: calc( ( 50vw - 50% ) * -1 );
      margin-left: calc( ( 50vw - 50% ) * -1 );
      padding: 0;
/*      padding: 1em; */
      width: 100vw;
    }
    .site-main #mainImg img {
      max-width: 100%;
      width: auto;
      vertical-align: bottom;
    }
   .archive #main .page-header,
    .single #main .entry-header {
        padding: 0;
        position: relative;
    }
    .archive .page-header .page-title,
    .single .entry-header .entry-title {
        background: #1c6898 url(img/bg/shasen.png);
        color: #fff;
        font-size: 1.6em;
        margin: 0;
        padding: 15px 25px 10px;
    }
    .archive .page-header .page-title:before,
    .single .entry-header .entry-title:before {
        border: 15px solid transparent;
        border-top: 15px solid #1c6898;
        content: "";
        left: calc(50% - 7px);
        margin-left: -15px;
        position: absolute;
        top: 100%;
    }
    .page-header .page-title {
        color: #fff;
        font-size: 1.6em;
        margin: 0;
        padding: 0;
    }

    .site-main .outer {
      margin-right: calc( ( 50vw - 50% ) * -1 );
      margin-left: calc( ( 50vw - 50% ) * -1 );
      padding: 1px 4vw 2em;
      width: 100vw;
    }
    .site-main .outer > .box {
      margin-right: auto;
      margin-left: auto;
      max-width: 1000px;
    }
    .site-main .box {
      margin-top: 2rem;
    }
    .site-main > .box:first-child {
      margin-top: 0;
    }

    /* ▼アーカイブ */
    .archive .site-main article {
        padding-top: 2em;
    }

    .archive .site-main article:after {
        clear: both;
        content: "";
        display: block;
    }

    .archive .site-main article .entry-title {
        font-size: 1.6em;
    }

    .archive .site-main article .link-more {
        text-align: right;
    }

    .archive .site-main article .link-more a {
        background: #e7f0f7;
        border-radius: 30px;
        color: #12537b;
        padding: .5em 1em;
        box-shadow: 0px 2px 4px -2px rgba(0,0,0,0.6);
        border: 1px rgba(0,0,0,0.05) solid;
    }

    .archive .site-main article .link-more a:hover {
        background: #d0e2f0 !important;
        color: #12537b !important;
    }

    .archive .site-main article .link-more a:before {
      display: inline;
    }

    /* ▲アーカイブ */

    /* ▼記事 */
    .single.has-sidebar #main .entry-content {
        padding-top: 2em;
    }
    #main .example-post .cover + .itemdetail dt {
      background: #77c3df;
      border-radius: 0 5px 5px 0;
      color: #16496a;
      font-size: 16px;
      font-weight: bold;
      margin: 0 0 0.3em 0.5em;
      padding: 2px 5px 0 35px;
      position: relative;
    }
    #main .example-post .cover + .itemdetail dt:before {
      background: #77c3df;
      border: solid 3px white; 
      border-radius: 50%;
      color: #16496a;
      content: "\f3c1";
      display: inline-block;
      font-family: "Font Awesome 5 Free";
      height: 40px;
      left: -0.8em;
      line-height: 40px;
      position: absolute;
      padding: 0em;
      -webkit-transform: translateY(-50%);
      text-align: center;
      transform: translateY(-50%);
      top: 50%;
      width: 40px;
    }
    #main .example-post .cover + .itemdetail dt.locate:before {
      content: "\f124";
    }
    #main .example-post .cover + .itemdetail dt.time:before {
      content: "\f017";
    }

    /* 作業時間は…変動します。を追加 */
    #main .example-post .cover + .itemdetail .small-note {
      display: block;
      font-size: 12px;
      padding-left: 12px;
      text-indent: -12px;
      margin-top: -8px;
      margin-bottom: 8px;
    }

    .entry-footer {
      border-color: #ccc;
      margin-top: 1em;
      padding: 1em 0;
    }
    .entry-footer .edit-link a.post-edit-link {
      background: none;
    }
    .nav-previous {
      width: 50%;
      float: left;
    }

    .post-navigation .nav-next {
      float: right;
      margin-top: 0;
    }

    /* ▲記事 */
    
    .has-sidebar #secondary h3 {
        background: url(img/bg/s-heading-bg.png) no-repeat;
        background-size: cover;
        border-bottom: 1px solid #b3b3b3;
        color: #fff;
        height: 45px;
        margin-bottom: 0;
        padding: 12px;
        text-align: center;
    }

    .has-sidebar #secondary ul {
        background: #f3f3f3;
        margin: 0;
        padding: 10px;
    }

    .has-sidebar #secondary ul.children {
      padding: 0.5px 0 0.5px 10px;
      margin: 0;
    }

    #secondary .widget_archive ul {
      max-height: 300px;
      overflow-y: auto;
    }

    ul.children li.cat-item-693{
      margin: 0;
    }

    .has-sidebar #secondary ul li,
    .has-sidebar #secondary ul li:last-child {
        background: #fff;
        border-radius: 8px;
        border-bottom: 1px solid #e5e5e5;
        list-style: none;
        margin: 0.2em 0;
        padding: 0;
    }
    
    .has-sidebar #secondary ul li.cat-item-8{
      border-bottom: none;
    }

    .has-sidebar #secondary ul li.cat-item-693{
      border-radius: 0 0 8px 8px;
      margin-bottom: 0;
    }

    .has-sidebar #secondary ul li a {
        /* 2024-08-07 background: url(img/icon/s-arrow.png) no-repeat 12px 13px; */
        color: #333;
        display: block;
        margin: 0;
        font-size: 14px;
        padding: 10px 10px 10px 10px;
    }

    .has-sidebar #secondary ul li a:hover {
        background-color: #e0fbff;
    }

    #colophon .bough {
      display: block;
      cursor: pointer;
      position: relative;
    }

    #colophon .bough + ul li:before {
      content: "- ";
    }
    #colophon .archive-sec h3 {
      font-size: 1rem;
      font-weight: normal;
      margin-bottom: 0.5em;
    }
    #colophon .archive-sec .sbtitle {
      margin-top: 0.5em;
      position: relative;
    }
    #colophon .archive-sec .sbtitle:after {
      content: "▼";
      font-size: 10px;
      position: absolute;
      left: 60px;
      top: 2px;
    }
    #colophon .archive-sec .sbtitle.open:after {
      content: "▲";
    }
    #colophon .archive-sec li,
    #colophon .archive-sec p {
      margin-bottom: 0;
      padding-bottom: 0;
    }
    #colophon .area-plus ul {
      background-color: #fff;
      padding: 20px;
    }
    #colophon .area-plus ul li {
      display: inline-block;
      font-size: 12px;
      margin: 0;
      padding: 0 .5em 0 0;
      position: relative;
      text-align: center;
      width: 10em;
    }
    #colophon .area-plus ul li a {
      color: #0d1a7e;
      display: inline-block;
      padding: 0.25em;
    }
    .site-info {
      text-align: center;
    }

    #f-bar {
      display: none;
    }


    #f-bar-sp {
      display: none;
    }
    @media screen and (max-width: 767px) {
      #f-bar-sp {
        background: #C4312F;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: end;
        height: 70px;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
      }
      #f-bar-sp img {
        max-height: 60px;
        vertical-align: bottom;
      }
      #f-bar-sp > div {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        text-align: center;
        padding-left: 10px;
      }
      #f-bar-sp > div:not(.guidance) {
        text-align: right;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
      }
      #f-bar-sp > div.guidance {
        -ms-flex-item-align: end;
            -ms-grid-row-align: end;
            align-self: end;
      }
      #f-bar-sp > div.guidance img {
        max-height: 80px;
        margin-top: -10px;
      }
      #f-bar-sp > div span a {
        color: #555;
        display: block;
      }
      #f-bar-sp > div > a,
      #f-bar-sp > div > span {
        color: #555;
        line-height: 1.3em;
        width: 100%;
      }
      body {
        padding-bottom: 60px;
      }
    } /* max767px */


    /* スマホのキャッシュ対応 */
    #secondary .pc-on {
      display: none;
    }
    #secondary .sp-on {
      display: block;
    }




/* 01.3 Color
------------------------------------------------------------*/
    body {
      background: #FFF;
    }
    body,
    h1,
    h2,
    h3 {
      color: #333;
    }

    body a {
      color: #0d1a7e;
    }
    body a:focus,
    body a:hover,
    #content a:focus,
    #content a:hover  {
      color: #d76d44;
    }
    #menu-footer_nav a:focus,
    #menu-footer_nav a:hover  {
      color: #ffb689;
    }

    .site-header {
      background: none;
    }
    .archive .site-header,
    .single.has-sidebar .site-header {
      margin-bottom: 0;
    }
    .site-content-contain {
      background: none;
    }
    .site-footer {
      background: #1765AA;
    }
    .site-footer * {
      color: #FFF;
    }

    .site-util-sp {
        background: rgba(255, 255, 255, 0.6);
    }
    .site-util-sp .call {
        background: #26b6a5;
    }
    .site-util-sp .mail {
        background: #7db626;
    }
    .site-util-sp .call *,
    .site-util-sp .mail * {
        color: #FFF;
    }

    .navigation-top {
      background: #1975c5;
      background: -webkit-linear-gradient(top, #2082d7 0%,#1975c5 100%);
      background: linear-gradient(to bottom, #2082d7 0%,#1975c5 100%);
      border-top: 1px #055499 solid;
      border-bottom: 5px #055499 solid;
    }
    #top-menu > li > a,
    #top-menu > li > span {
      color: #FFF;
    }
    #top-menu > li > a:before,
    #top-menu > li > span:before,
    #top-menu > li:last-child > a:after,
    #top-menu > li:last-child > span:after {
      background: #055499;
      border-right-color: #51a4ec;
    }
    #top-menu > li > a:hover,
    #top-menu > li > span:hover {
      background: rgba(255, 247, 213, 0.2);
    }
    #top-menu span.parent + div {
      background: rgba(6, 80, 145, 0.94);
    }
    #top-menu span.parent + div * {
      color: #EFECE4;
    }
    #top-menu span.parent + div a:hover {
      color: #fba14b;
    }

    #f-bar {
      background: #ff9933;
    }

    .site-main #mainImg {
      background-color: #FFF;
      background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAGElEQVQImQXBAQEAAACCIP8fZUZBGBZWdXu0Cx1X9bLaAAAAAElFTkSuQmCC);
    }

    .site-main .outer.color1 {
      background-color: #cde8ff;
    }

    .site-main .outer.color2 {
      background-color: #004b8c;
    }
    .site-main .outer.color2 * {
      color: #FFF;
    }



/* 01.4 追加パーツ
------------------------------------------------------------*/
    *[class*="col-"] {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      margin: 0;
      padding: 0;
      width: 100%;
    }
    *[class*="col-"] > * {
      margin-bottom: 0.8em;
    }
    *[class*="col-"] > * *:last-child {
      margin-bottom: 0;
    }
    *[class*="col-1"] > * {
      width: 100%;
    }
    *[class*="col-2"] > * {
      margin-left: calc( 100% - 1px - ( 48% * 2 ) );
      width: 48%;
    }
    *[class*="col-3"] > * {
      margin-left: calc( ( 100% - 1px - ( 30.2% * 3 ) ) / 2 );
      width: 30.2%;
    }
    *[class*="col-4"] > * {
      margin-left: calc( ( 100% - 1px - ( 22.4% * 4 ) ) / 3 );
      width: 22.4%;
    }
    *[class*="col-5"] > * {
      margin-left: calc( ( 100% - 1px - ( 18.4% * 5 ) ) / 4 );
      width: 18.4%;
    }
    *[class*="col-2"] > *:nth-child(2n+1),
    *[class*="col-3"] > *:nth-child(3n+1),
    *[class*="col-4"] > *:nth-child(4n+1),
    *[class*="col-5"] > *:nth-child(5n+1) {
      margin-left: 0;
    }


/* 01.5 パンくずリスト
------------------------------------------------------------*/

body:not(.home) #content {
  padding-bottom: 40px !important;
}
#breadcrumb {
  background-color: #ededed;
  bottom: 0;
  overflow-x: scroll;
  -ms-overflow-style: none;    /* IE, Edge 対応 */
  scrollbar-width: none;       /* Firefox 対応 */
}
#breadcrumb::-webkit-scrollbar {  /* Chrome, Safari 対応 */
  display:none;
}

.site-content-contain #breadcrumb{
  font-size: 0.8em;
  padding: 5px 4vw;
  width: 100%;
}
.has-sidebar .site-content #breadcrumb {
    background: none;
}

.site-content-contain #breadcrumb ol{
  margin-bottom: 0;
  overflow-x: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
  white-space: nowrap;
}

.site-content-contain #breadcrumb ol::-webkit-scrollbar {
  display:none;
}

.site-content-contain #breadcrumb li{
  color: #333;
  display: inline;
  list-style: none;
  padding-right: 3px;
}

.site-content-contain #breadcrumb ol li + li:before {
  content: "＞";
  font-size: 0.9em;
  padding: 0 8px;
}

.site-content-contain #breadcrumb li a{
  color: #333;
}


/* 01.6 記事ページ
------------------------------------------------------------*/
  /* 事例 */
    #main .example-post h2[id*="-heading"] {
      margin-right: 0;
      margin-left: 0;
      margin-top: 0;
      padding: 15px;
      width: auto;
    }
    #main .example-post .frame{
      max-width: 730px;
      margin: auto;
    }

    #main .example-post .slide{
      margin-bottom: 3vh;
      position: relative;
    }

    #main .example-post .slide .swiper-slide {
      width: 100%;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      font-size: 60px;
      font-weight: 900;
    }

    #main .example-post .itemdetail dl {
      margin: 0;
    }

    #main .example-post .itemdetail dl dd {
      margin: 0 0 1em;
    }




/* 01.7 CPT
------------------------------------------------------------*/


/* --------------------------------------------------------------------------------------------------------
   02 Media Queries
 *
 * 特定のサイズで適用されるスタイル
 *
-------------------------------------------------------------------------------------------------------- */


/* 02.0 Mobile ( 768未満 )
------------------------------------------------------------*/
@media screen and (max-width: 767px) {
    .site-branding {
      padding: 0;
    }
    .site-branding .branding h1 {
      font-size: 12px;
    }
    .site-branding .branding p {
      color: #666;
      font-size: 0.8em;
      margin-bottom: 0.2em;
      padding: 0.5em 0.5em 0;
    }
    #colophon .bough:after {
      font-family: "Font Awesome 5 free";
      font-weight: 900;
      content: "\f067";
      color: rgba( 0, 0, 0, 0.2 );
      line-height: 1em;
      height: 1em;
      width: 1em;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      margin: auto 0;
    }
    #colophon .bough.open:after {
      content: "\f068";
    }
    #colophon .area-plus ul {
      padding: 20px 5px;
    }

}/* End 02.0 max 767px */



/* 02.1 Mobile ( 480px )
------------------------------------------------------------*/
@media screen and (min-width: 30em) {

    .site-branding {
      padding-top: 0.5em;
      padding-bottom: 0.5em;
    }

}/* End 02.1 Mobile */



/* 02.2 Tablet ( 768px )
------------------------------------------------------------*/
@media screen and (min-width: 48em) {

    body {
      overflow-x: hidden;
    }
    .site-branding {
      margin-bottom: 0;
    }

    .site-branding .branding {
      padding-top: 0 0.5em;
    }

    .site-branding .branding h1 {
      font-size: 14px;
      margin-bottom: 1.5em;
    }

    .site-branding-any .site-logo img ,
    .site-branding-any .site-util img {
      max-height: 100%;
    }

    .site-util-sp {
        display: none;
    }

    .navigation-top {
      display: block;
    }
    .navigation-top .wrap {
      padding: 0;
    }
    #site-navigation {
      position: relative;
      z-index: 20;
    }
    #top-menu {
      display: table;
      width: 100%;
      max-width: 1040px;
      margin: 0 auto;
    }
    #top-menu a {
      font-weight: normal;
    }
    #top-menu > li {
      display: table-cell;
      list-style: none;
      text-align: center;
      vertical-align: middle;
    }
    #top-menu > li > a {
      display: block;
      font-size: 16px;
      font-weight: normal;
      padding: 10px 5px;
      position: relative;
    }
    #top-menu > li > a:before,
    #top-menu > li > span:before {
      border-right-style: solid;
      border-right-width: 1px;
      content: "";
      display: block;
      width: 2px;
      position: absolute;
      top: 10px;
      bottom: 10px;
      left: 0;
    }
    #top-menu > li:last-child > a:after,
    #top-menu > li:last-child > span:after {
      border-right-style: solid;
      border-right-width: 1px;
      content: "";
      display: block;
      width: 2px;
      position: absolute;
      top: 10px;
      bottom: 10px;
      right: 0;
    }
    #top-menu span.parent {
      cursor: pointer;
      display: block;
      font-size: 16px;
      font-weight: normal;
      padding: 10px 5px;
      position: relative;
    }
    #top-menu span.parent + div {
      display: none;
      text-align: left;
      padding: 1em;
      position: absolute;
      top: 100%;
      right: 0;
      left: 0;
      margin: 0 calc(((100vw - 100%) / 2) * -1);
    }
    #top-menu .sub-menu {
      display: none;
    }
    #top-menu span.parent + div .sub-menu {
      max-width: 1000px;
      margin: 0 auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
    }
    #top-menu .sub-menu li {
      list-style: none;
      padding: 0.3em;
      width: 33%;
    }
    #top-menu .sub-menu li.has_child {
      width: 100%;
    }
    #top-menu .sub-menu li.has_child > a svg {
      display: none;
    }
    #top-menu .sub-menu li.has_child > ul.sub-menu {
      padding-left: 1em;
    }
    .page-header .page-title {
        font-size: 2em;
    }
    body.has-sidebar .site-main #mainImg {
      margin-right: 0;
      margin-left: 0;
      padding-right: 1em;
      padding-left: 1em;
      width: 100%;
    }

    #colophon .area-plus h3 {
      text-align: center;
    }

    .site-footer {
      margin-top: 0;
      padding-bottom: 100px;
    }
    .site-footer .widget-area {
      padding-bottom: 0;
    }
    .site-footer .widget-column.footer-widget-1 .widget,
    .site-footer .widget-column.footer-widget-2 .widget {
      padding-bottom: 2rem;
    }
    .site-footer .widget-column.footer-widget-1 {
      width: 58%;
    }
    .site-footer .widget-column.footer-widget-2 {
      width: 36%;
    }
    #menu-footer_nav {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr 1fr;
      grid-template-columns: 1fr 1fr;
      -ms-grid-rows: 1fr 0.5fr;
      grid-template-rows: 1fr 0.5fr;
          grid-template-areas: "company serv" "guide blog";
    }
    #menu-footer_nav > li:nth-of-type(1) {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
      grid-area: company;
    }
    #menu-footer_nav > li:nth-of-type(2) {
      -ms-grid-row: 1;
      -ms-grid-row-span: 4;
      -ms-grid-column: 2;
      grid-area: serv;
    }
    #menu-footer_nav > li:nth-of-type(3) {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
      grid-area: guide;
    }
    #menu-footer_nav > li:nth-of-type(4) {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
      grid-area: blog;
    }
    #menu-footer_nav > li {
      border: none;
      padding-top: 0;
      padding-bottom: 2em;
    }
    #menu-footer_nav .bough {
      cursor: default;
      font-size: 1rem;
      margin-bottom: 0.5em;
    }
    #menu-footer_nav .bough:after {
      content: none;
    }
    #menu-footer_nav .bough + ul {
/*      border-left: 1px rgba( 0, 0, 0, 0.2 ) solid; */
    }
    #menu-footer_nav .bough + ul li {
      padding-left: 1rem;
    }

    .site-info {
      float: none;
      width: 100%;
    }

    #f-bar {
      display: block;
      height: 100px;
      position: fixed;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 99;
    }
    #f-bar > div {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -ms-flex-pack: distribute;
          justify-content: space-around;
      height: 100%;
      max-width: 1000px;
      margin: 0 auto;
    }

    .page:not(.home) #content,
    #content {
        padding: 0;
    }

    .has-sidebar .site-content #breadcrumb { /* サイドバーがあるページには上記cssを当てない */
        background: #efefef;
    }

    .site-content #breadcrumb {
        height: auto;
        position: static;
        overflow: auto;
    }

    .site-main .outer {
      padding-right: 3em;
      padding-left: 3em;
    }
    body.has-sidebar .site-main .outer {
      margin-right: 0;
      margin-left: 0;
      padding-right: 1em;
      padding-left: 1em;
      width: 100%;
    }
    body.has-sidebar .site-main .outer + .outer {
      margin-top: 1em;
    }

    .has-sidebar:not(.error404) #primary {
        width: 73%;
    }

    .has-sidebar #secondary {
        width: 24%;
    }

    .single.has-sidebar #secondary {
        margin-top: 22px;
    }
    .has-sidebar #secondary h2 {
        font-size: 20px;
        fontsize: 1.25rem;
        line-height: 1.4;
    }

    .has-sidebar #secondary h3 {
        font-size: 1.4em;
        position: relative;
    }

    *[class*="col-"] > * {
      margin-bottom: 1.6em;
    }
    *[class*="col-1-2"] > * {
      margin-left: calc( 100% - 1px - ( 48% * 2 ) );
      width: 48%;
    }
    *[class*="col-1-3"] > *,
    *[class*="col-2-3"] > *,
    *[class*="col-2-3"] > *:nth-child(2n+1) {
      margin-left: calc( ( 100% - 1px - ( 30.2% * 3 ) ) / 2 );
      width: 30.2%;
    }
    *[class*="col-1-4"] > *,
    *[class*="col-2-4"] > *,
    *[class*="col-2-4"] > *:nth-child(2n+1) {
      margin-left: calc( ( 100% - 1px - ( 22.4% * 4 ) ) / 3 );
      width: 22.4%;
    }
    *[class*="col-1-5"] > *,
    *[class*="col-2-5"] > *,
    *[class*="col-2-5"] > *:nth-child(2n+1) {
      margin-left: calc( ( 100% - 1px - ( 18.4% * 5 ) ) / 4 );
      width: 18.4%;
    }
    *[class*="col-1-2"] > *:nth-child(2n+1),
    *[class*="col-1-3"] > *:nth-child(3n+1),
    *[class*="col-2-3"] > *:nth-child(3n+1),
    *[class*="col-1-4"] > *:nth-child(4n+1),
    *[class*="col-2-4"] > *:nth-child(4n+1),
    *[class*="col-1-5"] > *:nth-child(5n+1),
    *[class*="col-2-5"] > *:nth-child(5n+1) {
      margin-left: 0;
    }


    /* アーカイブ */
    .archive .site-main article .post-thumbnail {
        float: left;
        width: 34%;
    }

    .archive .site-main article .post-thumbnail + .entry-content {
        float: right;
        width: 62%;
    }


    /* スマホのキャッシュ対応 */
    #secondary .pc-on {
      display: block;
    }
    #secondary .sp-on {
      display: none;
    }


    /* 記事 */
    .single.has-sidebar #main .entry-content {
        padding-top: 1em;
    }
    #main .example-post .cover {
      float: left;
      margin-bottom: 0;
      width: 49%;
    }
    #main .example-post .cover + .itemdetail {
      float: right;
      margin: 0 0 0;
      width: 49%;
    }
    #main .example-post .slide .swiper-slide img {
    }
    #main .example-post .thumbnail .swiper-slide:first-child{
      margin-left: 0;
    }

    #main .example-post .itemdetail table tr {
      border-bottom: 1px dashed #a9a9a9;
      border-top: 1px dashed #a9a9a9;
    }
    .example-post .itemdetail table th {
      color: #bc8300;
      padding: 0 0 0 1em;
      width: 29%;
    }
    #main .example-post .itemdetail table th,
    #main .example-post .itemdetail table td,
    #main .example-post .itemdetail table td:last-child {
      border: 1px solid #d5c8b3;
      display: table-cell;
      padding:10px 15px;
    }
    #main .example-post .itemdetail table th {
    }
    #main .example-post .itemdetail table th br {
      display: none;
    }
    #main .example-post h2[id*="-heading"] {
      clear: both;
    }

}/* End 02.2 Tablet */



/* 02.3 Tablet ( 880px )
------------------------------------------------------------*/
@media screen and (min-width: 55em) {

    /* パンくず */
    body:not(.home) #content {
      padding-bottom: 0 !important;
    }
    #breadcrumb {
      bottom: auto;
      position: static;
      overflow: visible;
    }
    .site-content-contain #breadcrumb {
        height: auto;
        overflow: auto;
        z-index: 2;
    }
    .has-sidebar .site-content-contain #breadcrumb {
        position: relative;
    }

    /* パンくず終わり */

}/* End 02.3 Tablet */



/* 02.4 Desktop ( 1072px )
------------------------------------------------------------*/
@media screen and ( min-width: 67em ) {

    .site {
      overflow: hidden;
    }

    /* パンくず */
    .site-content-contain #breadcrumb ol {
        max-width: 1000px;
        margin: 0 auto;
        padding-right: 0;
        padding-left: 0;
        width: 100%;
    }

}/* End 02.4 Desktop */



/* 02.5 Desktop ( 1264px )
------------------------------------------------------------*/
@media screen and ( min-width: 79em ) {

    /* ここにスタイル */

}/* End 02.5 Desktop */






/* --------------------------------------------------------------------------------------------------------
   03 Print
 *
 * 印刷時に適用されるスタイル
 *
-------------------------------------------------------------------------------------------------------- */
@media print {

    /* ここにスタイル */

}/* End 03 Print */
