@charset "UTF-8";

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
汎用
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/
/*pc限定*/
.sp {display: none!important;}

/*コンテナ*/
.container {width: 1080px;}

@media screen and (max-width: 1120px) {
	.container {width: 90vw;}
}

/*--------------------------------------------------------------------------
部品
--------------------------------------------------------------------------*/
/*------------------------------------
汎用見出し
------------------------------------*/
.g-h {font-size: 2.75em;}

/*------------------------------------
汎用TOP見出し
------------------------------------*/
.page-heading,
.page-heading .inner {height: 320px;}
.page-heading .txt h1,
.page-heading .txt p {font-size: 3em;}
.page-heading .scroll-down {bottom: 80px;}

/*------------------------------------
スクロールダウン
------------------------------------*/
.scroll-down span {margin-bottom: 14px;}
.scroll-down .bar {height: 36px;}

/*------------------------------------
TOPに戻る
------------------------------------*/
.back-to-top {padding: 140px 0;}
.back-to-top a {width: 177px;}

/*------------------------------------
ページネーション
------------------------------------*/
.pagination {margin-top: 60px;}

/*------------------------------------
アーカイブカテゴリーリスト
------------------------------------*/
.archive-cate:not(:last-child) {margin-bottom: 75px;}
.archive-cate .year-list {width: calc(100% - 9em); margin: 0 auto;}

/*------------------------------------
ニュースリスト
------------------------------------*/
.news-list .entry a {padding: 1.5em 1em;}

/*------------------------------------
ブログリスト
------------------------------------*/
.blog-list .entry {width: calc((100% - 56px) / 3); margin: 0 28px 4em 0;}
.blog-list .entry:nth-of-type(3n) {margin-right: 0;}
.blog-list .entry .img {padding-top: 70%;}

/*------------------------------------
得々ミニ情報リスト
------------------------------------*/
.mini-info-list {margin-bottom: 42px;}
.mini-info-list .entry {width: calc((100% - 28px * 3) / 4); margin: 0 28px 36px 0;}
.mini-info-list .entry:nth-of-type(4n) {margin-right: 0;}

.mini-pagination {width: 50em; margin: 60px auto 0; transform: translateX(0.25em);}

/*--------------------------------------------------------------------------
ヘッダー
--------------------------------------------------------------------------*/
header .site-title {top: 38px; left: 38px; width: 252px;}
header .site-title a .company-name {bottom: -1.5em; right: .375em; font-size: 1.05em;}

header #nav-drawer .inner {width: 560px;}

header #nav-drawer .global-nav {margin: 0 auto 6.25vh; display: flex; justify-content: space-between;}
header #nav-drawer .global-nav .nav-list > li {margin-bottom: 25px; box-sizing: border-box;}
header #nav-drawer .global-nav .nav-list > li:nth-child(3n) {min-width: 120px;}
header #nav-drawer .global-nav .nav-list li a,
header #nav-drawer .global-nav .nav-list > li > span {font-size: 1.45em;}
header #nav-drawer .global-nav .nav-list > li > span .arrow {margin-left: 10px;}
header #nav-drawer .global-nav .nav-list > li > .sub-nav li a {font-size: 1.25em;}
header #nav-drawer .global-nav .nav-list.third {display: flex; flex-direction: column; justify-content: space-between;}

header #nav-drawer .info {width: 100%; padding: 1.825em 3em 2em; border-radius: 15px;}
header #nav-drawer .info .office-info dl {margin-left: -1em;}
header #nav-drawer .info .office-info .large {font-size: 2em;}

header #hamburger {top: 31px; right: 35px;}
header #hamburger div {width: 40px;}

header #nav-bg {width: 20%; min-width: 280px; height: 250px; transition: 1.2s ease;}
.open-menu header #nav-bg {width: 300vw; height: 300vw; transition: 1s ease-out;}

/*--------------------------------------------------------------------------
フッター
--------------------------------------------------------------------------*/
footer {padding: 80px 0 50px;}

footer .site-logo {display: block; width: 288px; margin-bottom: 30px;}
footer .site-name {font-size: 1.625em; margin-bottom: .75em;}

footer .inner {align-items: center;}
footer .inner .office-info {max-width: 700px;}
footer .inner .office-info dl {width: 50%;}
footer .inner .more {margin-left: auto;}

footer .copyright {margin-top: 50px;}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
フロントページ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/

/*------------------------------------
HERO HERDER
------------------------------------*/
#front .page-heading #top-slider .slick-list li.slide-01 .txt {top: auto; bottom: calc(28.5vh + 11.49341vw);}
#front .page-heading #top-slider .slick-list li.slide-02 .txt {top: auto; bottom: calc(21.15vh + 11.49341vw); font-size: 1.25em;}
#front .page-heading #top-slider .slick-list li.slide-03 .txt {top: auto; bottom: calc(21.15vh + 11.49341vw); font-size: 0.825em;}

#front .page-heading .scroll-down {bottom: calc(10.417vh + 11.49341vw);}

/*------------------------------------
INFORMATION
------------------------------------*/
#front .info {padding-bottom: 130px;}
#front .info .container {width: 920px;}

/*------------------------------------
SERVICES
------------------------------------*/
#front .services .services-list .entry:not(:last-child) {margin-bottom: 80px;}
#front .services .services-list .entry .img {width: 65vw; height: 28.5vw; min-height: 390px;}
#front .services .services-list .entry:nth-child(odd) .img {border-radius: 0 16px 16px 0;}
#front .services .services-list .entry:nth-child(even) .img {border-radius: 16px 0 0 16px;}
#front .services .services-list .entry .txt {width: 65vw; height: 390px; margin-top: -110px; align-items: center;}
#front .services .services-list .entry:nth-child(odd) .txt {border-radius: 16px 0 0 16px; padding-left: 80px; justify-content: flex-start;}
#front .services .services-list .entry:nth-child(even) .txt {border-radius: 0 16px 16px 0; padding-right: 80px; justify-content: flex-end;}
#front .services .services-list .entry .txt .txt-inner h3 {margin-right: 70px;}
#front .services .services-list .entry .txt .txt-inner h3 .big {font-size: 2.5em;}
#front .services .services-list .entry .txt .txt-inner .summary {width: 340px;}
#front .services .services-list .entry .txt .txt-inner .summary .more {margin-top: 2em;}

/*------------------------------------
WORKS
------------------------------------*/
#front .works {padding-top: 140px;}

#front .works #works-slider {}
#front .works #works-slider .slick-track,
#front .works #works-slider .slick-list,
#front .works #works-slider .slick-list li,
#front .works #works-slider .slick-list li a {border-radius: 20px; height: 500px;}
#front .works #works-slider .slick-dots {margin: 100px 0 0;}
#front .works #works-slider .slick-dots li {width: 16px; height: 16px; margin: 0 8px;}
#front .works #works-slider .slick-dots li button:before {width: 16px; height: 16px;}

#front .works #works-slider-title .slick-list {bottom: 48px; right: 80px; width: 628px;}
#front .works #works-slider-title .slick-list .slick-slide > div {padding: 40px;}
#front .works #works-slider-title .slick-list li {width: auto;}

#front .page-heading #top-slider .slide-02 .blur {text-align: left; width: 950px; margin: 0 auto;}

/*------------------------------------
POST CONTENTS
------------------------------------*/
#front .post-contents {padding: 140px 0 130px;}
#front .post-contents .post-contents-list {flex-wrap: wrap; margin-bottom: -28px;}
#front .post-contents .post-contents-list .entry {width: calc((100% - 28px) / 2); height: 340px; margin: 0 28px 0 0;}
#front .post-contents .post-contents-list .entry:nth-child(even) {margin-right: 0;}
#front .post-contents .post-contents-list .entry h3 {font-size: 2.75em;}


/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
固定ページ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------
会社概要 (company.php)
--------------------------------------------------------------------------*/
#company .container {width: 980px;}

#company .greeting .message {font-size: 1.75em;}
#company .greeting .inner {display: flex;}
#company .greeting .inner .ceo {width: 294px; margin-right: 32px;}
#company .greeting .inner .ceo .name {font-size: 1.7em;}
#company .greeting .inner .txt {width: calc(100% - 326px);}
#company .greeting .inner .txt .commit {font-size: 1.4em;}

#company .profile .profile-list dl {display: flex; align-items: flex-start;}
#company .profile .profile-list dl dt {margin-right: 32px;}

#company .related .related-list {display: flex;}
#company .related .related-list dl {width: calc((100% - 80px) / 2);}
#company .related .related-list dl:nth-child(odd) {margin-right: 80px;}
#company .related .related-list dl dt {font-size: 1.75em;}

#company .acsess .google-map {height: 635px;}

/*--------------------------------------------------------------------------
沿革 (history.php)
--------------------------------------------------------------------------*/
#history .container {width: 1100px;}
#history .mapping-area {margin: 140px 0; position: relative;}
#history .mapping-area .big-circle-year {border-width: 3px;}
#history .mapping-area .road-img {margin: 0 auto;}

#history .mapping-area .period {position: absolute;}
#history .mapping-area .period.right {left: calc(50% + 4em);}
#history .mapping-area .period.left {right: calc(50% + 5.8em);}
#history .mapping-area .period.left .history-content{flex-direction: row-reverse; text-align: right;}
#history .mapping-area .period.left .history-content dt {margin: 0 0 0 0.7em;}
#history .mapping-area .period.right .history-content.before dt:before {content: ""; display: inline-block; height: 2px; position: absolute; background: #79ad4b;}
#history .mapping-area .period.left .history-content.before dt:after {content: ""; display: inline-block; height: 2px; position: absolute; background: #79ad4b;}
#history .mapping-area .period .big-circle-year {width: 80px; height: 80px; position: absolute; top: -25px; font-size: 140%; font-weight: 700;}
#history .mapping-area .period dl {margin-bottom: 2em;}

#history .mapping-area .period.p1930s {top: 25px;}
#history .mapping-area .period.p1930s .big-circle-year.y1930 {left: -92px;}
#history .mapping-area .period.p1930s .illust01 {width: 200px; left: -364px; top: 75px;}

#history .mapping-area .period.p1940s {top: 122px;}
#history .mapping-area .period.p1940s .big-circle-year.y1940 {left: -117px;}

#history .mapping-area .period.p1950s {top: 436px;}
#history .mapping-area .period.p1950s .big-circle-year.y1950 {left: -94px;}
#history .mapping-area .period.p1950s .illust02 {width: 220px; left: -384px; top: 85px;}

#history .mapping-area .period.p1960s {top: 630px;}
#history .mapping-area .period.p1960s .big-circle-year.y1960 {left: -120px;}

#history .mapping-area .period.p1970s {top: 880px;}
#history .mapping-area .period.p1970s .big-circle-year.y1970 {right: -132px;}

#history .mapping-area .period.p1980s {top: 1550px;}
#history .mapping-area .period.p1980s .big-circle-year.y1980 {right: -140px;}
#history .mapping-area .period.p1980s .illust03 {width: 200px; left: 578px; top: -56px;}
#history .mapping-area .period.p1980s .illust04 {width: 200px; left: 772px; top: -165px;}

#history .mapping-area .period.p1990s {top: 1936px;}
#history .mapping-area .period.p1990s .big-circle-year.y1990 {right: -137px;}
#history .mapping-area .period.p1990s .illust05 {width: 80px; left: 624px; top: -38px;}
#history .mapping-area .period.p1990s .illust06 {width: 200px; left: 524px; top: 272px;}
#history .mapping-area .period.p1990s .illust07 {width: 200px; left: 725px; top: 612px;}

#history .mapping-area .period.p2000s {top: 2820px;}
#history .mapping-area .period.p2000s .big-circle-year.y2000 {left: -93px;}

#history .mapping-area .period.p2010s {top: 3324px;}
#history .mapping-area .period.p2010s .big-circle-year.y2010 {left: -110px;}
#history .mapping-area .period.p2010s .illust08 {width: 280px; left: -434px; top: 240px;}

#history .mapping-area .period.p2020s {top: 4120px;}
#history .mapping-area .period.p2020s .big-circle-year.y2020 {right: -130px;}

#history .mapping-area .illust-back-to-top {width: 160px; left: 24%; bottom: 0;}

#history .mapping-area .history-content.h-c35 dt:before {width: 14px; left: -13px;}
#history .mapping-area .history-content.h-c43 dt:before {width: 41px; left: -40px;}
#history .mapping-area .history-content.h-c59 dt:before {width: 18px; left: -17px;}
#history .mapping-area .history-content.h-c62 dt:before {width: 43px; left: -42px;}
#history .mapping-area .history-content.h-c70 dt:after {width: 52px; left: 32px;}
#history .mapping-area .history-content.h-c81 dt:after {width: 61px; left: 32px;}
#history .mapping-area .history-content.h-c91 dt:after {width: 57px; left: 32px;}
#history .mapping-area .history-content.h-c01 dt:before {width: 14px; left: -13px;}
#history .mapping-area .history-content.h-c10 dt:before {width: 33px; left: -32px;}

#history .mapping-area .left .history-content .history-img {margin: 0 0 1em auto;}
#history .mapping-area .right .history-content .history-img {margin: 0 0 0em 12em;}

/*--------------------------------------------------------------------------
業務内容 (services.php)
--------------------------------------------------------------------------*/
#services .summary {margin-bottom: 80px; font-size: 1.2em; text-align: center;}

#services .entry:nth-child(even) {margin-right: 0;}
#services .entry .txt ul li {font-size: 1.2em;}
#services .entry h3 {margin-top: 5px; font-size: 1.5em;}
#services .entry h4 {font-size: 1.4em;}

#services .service-list .entry {width: calc((100% - 56px) / 2); margin-right: 56px;}
#services .service-thumbnail-list {padding-left: 2.5px;}
#services .service-thumbnail-list .entry {width: calc((100% - 25px) / 6); margin-bottom: 5px; box-sizing: border-box; overflow: hidden;}
#services .service-thumbnail-list .entry:not(:last-child) {margin-right: 5px;}
#services .more-wrap {margin-top: 120px; text-align: center;}

#services section#bottom {margin-bottom: 120px;}

/*--------------------------------------------------------------------------
製品紹介 (products.php)
--------------------------------------------------------------------------*/
#products .main-products-list .entry {width: calc((100% - 56px) / 2); margin-right: 56px;}
#products .main-products-list .entry:nth-child(even) {margin-right: 0;}
#products .main-products-list .entry h3 {font-size: 1.75em;}
#products .main-products-list .entry .summary {min-height: 140px; margin-bottom: 80px;}

#products .other-products-list {padding-bottom: 60px;}
#products .other-products-list .entry {margin-bottom: 80px;}
#products .other-products-list .entry h3 {font-size: 1.75em;}
#products .other-products-list .entry .txt-inner {width: 990px; align-items: center;}
#products .other-products-list .entry .summary {width: calc(100% - 14em);}
#products .other-products-list .entry .summary p {width: 80%;}
#products .other-products-list .entry .summary .more {width: 14em;}

/*--------------------------------------------------------------------------
木材加工 (processing.php)
--------------------------------------------------------------------------*/
#processing .summary {margin-bottom: 80px;}
#processing .entry {margin-bottom: 40px;}

#processing .precut-list .entry {width: calc((100% - 56px) / 2); margin-right: 56px;}
#processing .precut-list .entry:nth-child(even) {margin-right: 0;}
#processing .precut-list .entry h3 {font-size: 1.75em;}

#processing .other-processing {padding-bottom: 140px;}
#processing .other-processing-list .entry {width: calc((100% - 56px) / 2); margin-right: 56px;}
#processing .other-processing-list .entry:nth-child(even) {margin-right: 0;}
#processing .other-processing-list .entry h3 {font-size: 1.75em;}

/*--------------------------------------------------------------------------
新着情報一覧 (info.php)
--------------------------------------------------------------------------*/
#info .container {padding: 80px 0 120px;}
#info .post-nav {margin-bottom: 40px;}

/*--------------------------------------------------------------------------
お問い合わせ (contact.php)
--------------------------------------------------------------------------*/
#contact .container {width: 900px; padding: 80px 0;}

#contact .form dl {margin-bottom: 56px;}
#contact .form dl.t-area {align-items: flex-start;}
#contact .form dl dt {margin-bottom: 1em;}
#contact .form dl.wide dt {width: 335px;}
#contact .form dl dt .title {font-size: 1.5em;}
#contact .form dl dt .required {font-size: .9em;}

#contact .form input[type="text"],
#contact .form input[type="email"],
#contact .form input[type="tel"],
#contact .form input[type="date"],
#contact .form input[type="datetime-local"],
#contact .form textarea,
#contact .form select {padding: 10px 15px;}

#contact .form .consent {margin-bottom: 56px;}
#contact .form .consent h2 {font-size: 1.5em;}

/*--------------------------------------------------------------------------
プライバシーポリシー (privacy.php)
--------------------------------------------------------------------------*/
#privacy .privacy {padding-bottom: 140px;}
#privacy .privacy p.message {padding-bottom: 1.5em;}
#privacy .privacy h3 {display: flex; align-items: center; padding: 2.5em 0 1.25em; font-size: 1.75em;}
/*#privacy .privacy h3:before {content: ""; position: relative; width: 15px; height: 15px; margin-right: 15px; background: #79ad4b; border-radius: 50%;}*/


/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
アーカイブ＆シングル
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------
納入実績一覧 (archive-performance.php)
--------------------------------------------------------------------------*/
#archive-performance .container {padding: 0 0 calc(140px - 40px);}

#archive-performance .performance-list {flex-wrap: wrap;}
#archive-performance .performance-list .entry {width: calc((100% - 28px) / 2);}
#archive-performance .performance-list .entry:nth-of-type(odd) {margin: 0 28px 40px 0;}
#archive-performance .performance-list .entry:nth-of-type(even) {margin: 0 0 40px 0;}
#archive-performance .performance-list .entry h3 {margin: 20px 0 10px; font-size: 1.5em;}

/*--------------------------------------------------------------------------
実績一覧 (archive-works.php)
--------------------------------------------------------------------------*/
#archive-works .container {width: 900px;}

#archive-works .works-list {padding: 140px 0 calc(140px - 28px);}
#archive-works .works-list .entry {width: calc((100% - 56px) / 3); margin: 0 28px 28px 0;}
#archive-works .works-list .entry:nth-of-type(3n) {margin-right: 0;}
#archive-works .works-list .entry .filter h2 {padding: 0 2em; font-size: 1.75em;}

/*--------------------------------------------------------------------------
実績個別 (single-works.php)
--------------------------------------------------------------------------*/
#single-works .single-works .title {padding-top: calc(140px - 1.5em);}
#single-works .single-works .title h2 {font-size: 2.5em;}
#single-works .single-works #works-single-slider {height: 500px; margin-bottom: 2em; border-radius: 16px;}
#single-works .single-works #works-single-slider .slick-list .entry {height: 500px;}

#single-works .works-list {padding: 70px 0 0;}
#single-works .works-list .entry {width: calc((100% - 84px) / 4); margin: 0 28px 0 0;}
#single-works .works-list .entry:nth-of-type(4n) {margin-right: 0;}
#single-works .works-list .entry.entry .filter h3 {padding: 0 13%; font-size: 1.75em;}

#single-works .works .more-wrap {padding: 70px 0 140px;}

/*--------------------------------------------------------------------------
NEWS一覧 (archive-news.php)
--------------------------------------------------------------------------*/
#archive-news .container {padding: 120px 0;}
#archive-news .g-h {padding: 0 0 2.5em; font-size: 1.75rem;}

/*--------------------------------------------------------------------------
NEWS個別 (single-news.php)
--------------------------------------------------------------------------*/
#single-news .container {padding: 120px 0;}

#single-news .post-article .title,
#single-news .other-news .title {font-size: 1.6em;}

#single-news .post-article {margin-bottom: 96px;}
#single-news .post-article .postlink {margin-top: 64px;}

#single-news .other-news {padding-bottom: 96px;}
#single-news .other-news .other-news-list .entry {width: calc((100% - 84px) / 4); margin: 0 28px 0 0;}
#single-news .other-news .other-news-list .entry:nth-of-type(4n) {margin-right: 0;}
#single-news .other-news .other-news-list .filter h3 {font-size: 1.4em;}

/*--------------------------------------------------------------------------
ブログ一覧 (archive-blog.php)
--------------------------------------------------------------------------*/
#archive-blog .container {padding: 120px 0;}
#archive-blog .g-h {padding: 0 0 2.5em; font-size: 1.75rem;}

/*--------------------------------------------------------------------------
ブログ個別 (single-blog.php)
--------------------------------------------------------------------------*/
#single-blog {padding-bottom: 140px;}
#single-blog .post-article {margin: 128px 0 96px;}
#single-blog .post-article .title {font-size: 2em; margin-bottom: 1.75em;}
#single-blog .post-article .data {margin-bottom: 32px;}
#single-blog .post-article .postlink {margin-top: 64px;}

/*--------------------------------------------------------------------------
得々ミニ情報一覧 (archive-mini_info.php)
--------------------------------------------------------------------------*/
#archive-mini_info .container {padding: 120px 0;}
#archive-mini_info .g-h {padding: 0 0 2.5em; font-size: 1.75rem;}

/*--------------------------------------------------------------------------
得々ミニ情報タイトル一覧 (mini-info-title.php)
--------------------------------------------------------------------------*/
#mini-info-title .container {width: 920px; padding: 120px 0;}
#mini-info-title .mini-info-title-list .entry a {padding: 1.5em 1em;}

/*--------------------------------------------------------------------------
リンク集一覧 (news.php)
--------------------------------------------------------------------------*/
#archive-link_collection .container {padding: calc(120px - 1em) 0}
#archive-link_collection .link-category {margin-bottom: 10px; padding-bottom: 5px; font-size: 1.25em;}
#archive-link_collection .link-list {margin-bottom: 60px;}
#archive-link_collection .link-list .entry:not(:last-child) {margin-bottom: .5em;}
#archive-link_collection .link-list .entry dl {padding: 0 10px; align-items: center;} 
#archive-link_collection .link-list .entry dt {width: 60%;}
#archive-link_collection .link-list .entry dd {width: 40%;}

/*--------------------------------------------------------------------------
投稿 (single.php)
--------------------------------------------------------------------------*/
#post #single {padding: 140px 0}

/*--------------------------------------------------------------------------
投稿汎用要素
--------------------------------------------------------------------------*/
#single * {font-size: 1rem;}

#single h2 {margin: 50px 0 20px 0;}
#single h3 {margin: 45px 0 18px 0;}
#single h4 {margin: 40px 0 16px 0;}
#single h5 {margin: 35px 0 14px 0;}
#single h6 {margin: 30px 0 12px 0;}

#single h2:first-child {margin: 0 0 20px 0;}
#single h3:first-child {margin: 0 0 18px 0;}
#single h4:first-child {margin: 0 0 16px 0;}
#single h5:first-child {margin: 0 0 14px 0;}
#single h6:first-child {margin: 0 0 12px 0;}

#single h2 {font-size: 1.6rem;}
#single h3 {font-size: 1.45rem;}
#single h4 {font-size: 1.3rem;}
#single h5 {font-size: 1.15rem;}
#single h6 {font-size: 1rem;}
#single hr {margin: 60px 0;}

#single p {line-height: 1.75; margin: 0 0 30px 0;}

/*--------------------------------------------------------------------------
404.php
--------------------------------------------------------------------------*/
#notfound {padding: 140px 0 100px;}
#notfound h1 {font-size: 8.75em;}
#notfound h2 {font-size: 1.825em;}
#notfound p {font-size: 1rem; margin: 12px 0 100px;}
#notfound .link-to-top-page a {width: 177px;}