@charset "UTF-8";

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
汎用
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/
html, body, div, span, object, iframe, article, aside, canvas, details, pre, figcaption, figure,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, 
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, input, textarea, select, button, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {font-size: 14px;}

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

/*コンテナ*/
.container {width: calc(100% - 32px);}

@media screen and (min-width: 640px) {
	.container {width: calc(100% - 64px);}
}

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

@media screen and (min-width: 768px) {
	.g-h {font-size: 2.5em;}
}

/*------------------------------------
汎用TOP見出し(下部ページ用)
------------------------------------*/
.page-heading,
.page-heading .inner {height: 320px; max-height: 40vh;}

.page-heading .txt h1,
.page-heading .txt p {font-size: 2em;}

.page-heading .scroll-down {bottom: 10%;}

@media screen and (min-width: 768px) {
	.page-heading,
	.page-heading .inner {height: 400px;}

	.page-heading .txt h1,
	.page-heading .txt p {font-size: 2.5em;}

	.page-heading .scroll-down {bottom: 12.5%;}
}

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

/*------------------------------------
NEWS
------------------------------------*/
.news .news-list .entry a {padding: 1em 0;}

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

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

/*------------------------------------
アーカイブカテゴリーリスト
------------------------------------*/
.archive-cate:not(:last-child) {margin-bottom: 45px;}

@media screen and (min-width: 640px) {
	.archive-cate:not(:last-child) {margin-bottom: 60px;}
}

/*------------------------------------
ニュースリスト
------------------------------------*/
.news-list .entry a {flex-wrap: wrap; padding: .75em .5em;}
.news-list .entry h3 {width: 100%; margin-top: .5em;}

/*------------------------------------
ブログリスト
------------------------------------*/
.blog-list {display: block;}
.blog-list .entry {margin: 0 0 3em 0;}
.blog-list .entry .img {padding-top: 70%; margin-bottom: 1em;}
.blog-list .entry .title {text-align: center;}
.blog-list .entry time {justify-content: center;}
.blog-list .entry .excerpt {display: none;}

@media screen and (min-width: 768px) {
	.blog-list {display: flex;}
	.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 .title {text-align: left;}
	.blog-list .entry time {justify-content: flex-start;}
	.blog-list .entry .excerpt {display: block;}
}

/*------------------------------------
得々ミニ情報リスト
------------------------------------*/
.mini-info-list {max-width: 440px; margin: 0 auto 32px;}
.mini-info-list .entry {width: calc((100% - 1em) / 2); margin: 0 1em 1.5em 0;}
.mini-info-list .entry:nth-of-type(even) {margin-right: 0;}

@media screen and (min-width: 640px) {
	.mini-info-list {max-width: 800px;}
	.mini-info-list .entry {width: calc((100% - 1.25em * 2) / 3); margin: 0 1.25em 1.75em 0;}
	.mini-info-list .entry:nth-of-type(even) {margin-right: 1.25em;}
	.mini-info-list .entry:nth-of-type(3n) {margin-right: 0;}
}

/*--------------------------------------------------------------------------
ヘッダー
--------------------------------------------------------------------------*/
header .site-title {top: 16px; left: 16px; width: 144px;}
header .site-title a .company-name {bottom: -1.875em; left: 0; font-size: .85em; text-align: center; width: 100%;}

header #nav-drawer {justify-content: center; padding: 16px; box-sizing: border-box;}

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

header #nav-drawer .global-nav {margin: 6vh auto 4vh;}
header #nav-drawer .global-nav ul {margin-left: 1em; display: flex; flex-wrap: wrap;}
header #nav-drawer .global-nav ul li {width: calc(100% / 2); margin: 10px 0;}
header #nav-drawer .global-nav ul li.cell-2 {width: 100%;}
header #nav-drawer .global-nav ul li a,
header #nav-drawer .global-nav .nav-list > li > span {font-size: 1.25em;}
header #nav-drawer .global-nav .nav-list > li > span .arrow {margin-left: 8px;}
header #nav-drawer .global-nav .nav-list > li > ul.sub-nav {margin-left: 0;}
header #nav-drawer .global-nav .nav-list > li > .sub-nav li a {font-size: 1.2em;}

header #nav-drawer .info {padding: 1.125em 7.5% 1.25em; border-radius: 10px;}
header #nav-drawer .info .office-info .large {font-size: 1.725em;}

header #hamburger {top: 7px; right: 3px;}
header #hamburger div {width: 32px;}

header #nav-bg {width: 150px; height: 140px; transition: 1s ease;}
.open-menu header #nav-bg {width: 300vh; height: 300vh; transition: .8s ease-out;}

@media screen and (min-width: 640px) {
	header #nav-drawer .inner {max-width: 380px;}

	header #nav-drawer .global-nav {width: 380px; margin: 0 auto 5vh; display: flex; justify-content: space-between;}
	header #nav-drawer .global-nav ul {display: block;}
	header #nav-drawer .global-nav ul li {width: 100%; margin: 15px 0;}
	header #nav-drawer .global-nav .nav-list.third {display: flex; flex-direction: column; justify-content: space-between;}

	header #nav-drawer .info {padding: 1.375em 7.5% 1.5em;}
	header #nav-drawer .info .office-info .address br {display: none;}
}

@media screen and (orientation: landscape) {
	.open-menu header #nav-bg {width: 300vw; height: 300vw; transition: .8s ease-out;}
@media screen and (orientation: landscape) and (max-height: 500px) {
	header #nav-drawer .inner {max-height: 74%; overflow: auto;}
}

/*--------------------------------------------------------------------------
フッター
--------------------------------------------------------------------------*/
footer {padding: 45px 0 40px;}
footer .container {display: flex; flex-direction: column; align-items: center;}

footer .site-logo {display: block; width: 180px; margin-bottom: 20px;}
footer .site-name {font-size: 1.5em; margin-bottom: 1em;}

footer .inner {display: flex; flex-direction: column; align-items: center;}
footer .inner .office-info {display: flex; flex-direction: column; align-items: center;}
footer .inner .office-info dl {width: 100%;}
footer .inner .more {margin-top: 35px;}

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

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

/*------------------------------------
HERO HERDER
------------------------------------*/
#front .page-heading,
#front .page-heading .inner {height: calc(100vh + 11.49341vw); max-height: calc(100vh + 11.49341vw);}
#front .page-heading #top-slider .slick-list li.slide-01 .txt {top: auto; bottom: calc(38.5vh + 11.49341vw);}
#front .page-heading #top-slider .slick-list li.slide-02 .txt {top: auto; bottom: calc(31.15vh + 11.49341vw); font-size: 1.125em;}
#front .page-heading #top-slider .slick-list li.slide-03 .txt {top: auto; bottom: calc(31.15vh + 11.49341vw); font-size: .725em;}

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

/*------------------------------------
INFORMATION
------------------------------------*/
#front .info {padding-bottom: 65px;}

/*------------------------------------
SERVICES
------------------------------------*/
#front .services .services-list .entry:not(:last-child) {margin-bottom: 40px;}
#front .services .services-list .entry .img {width: 90vw; max-width: 782px; height: 28.5vw; min-height: 290px;}
#front .services .services-list .entry:nth-child(odd) .img {border-radius: 0 8px 8px 0;}
#front .services .services-list .entry:nth-child(even) .img {border-radius: 8px 0 0 8px;}
#front .services .services-list .entry .txt {width: 90vw; max-width: 782px; height: 290px; margin-top: -55px; align-items: center;}
#front .services .services-list .entry:nth-child(odd) .txt {border-radius: 8px 0 0 8px; padding-left: 36px; justify-content: flex-start;}
#front .services .services-list .entry:nth-child(even) .txt {border-radius: 0 8px 8px 0; padding-right: 36px; justify-content: flex-end;}
#front .services .services-list .entry .txt .txt-inner {display: block;}
#front .services .services-list .entry .txt .txt-inner h3 {display: inline-block; margin-bottom: 20px;}
#front .services .services-list .entry .txt .txt-inner h3 .big {font-size: 2em;}
#front .services .services-list .entry .txt .txt-inner h3 .small {font-size: .75em;}
#front .services .services-list .entry .txt .txt-inner .summary {width: calc(90vw - 72px); max-width: 340px;}
#front .services .services-list .entry .txt .txt-inner .summary .more {margin-top: 2em;}

/*------------------------------------
WORKS
------------------------------------*/
#front .works {padding: 90px 0 108px;}

#front .works #works-slider {height: 40vh; min-height: 280px; padding: 0 0 80px;}
#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 {height: 40vh; min-height: 280px; border-radius: 10px;}
#front .works #works-slider .slick-dots {margin-top: 80px;}
#front .works #works-slider .slick-dots li {width: 12px; height: 12px; margin: 0 5px;}
#front .works #works-slider .slick-dots li button:before {width: 12px; height: 12px;}

#front .works #works-slider-title .slick-list {bottom: -58px; right: -16px; width: calc(100% - 16px); max-width: 518px;}
#front .works #works-slider-title .slick-list .slick-slide > div {padding: 25px;}
#front .works #works-slider-title .slick-list li {width: auto;}

@media screen and (min-width: 640px) {
	#front .works #works-slider-title .slick-list {right: -32px; width: calc(100% - 32px);}
}

/*------------------------------------
POST CONTENTS
------------------------------------*/
#front .post-contents {padding: 90px 0 65px;}
#front .post-contents .post-contents-list {flex-wrap: wrap; margin-bottom: -16px;}
#front .post-contents .post-contents-list .entry {width: 100%; height: 24vh;}
#front .post-contents .post-contents-list .entry:not(:last-child) {margin-bottom: 16px;}
#front .post-contents .post-contents-list .entry h3 {font-size: 2em; text-shadow: 0 0 3px #333;}

@media screen and (min-width: 640px) {
	#front .post-contents .post-contents-list .entry {width: calc((100% - 28px) / 2); height: 280px;}
	#front .post-contents .post-contents-list .entry:not(:last-child) {margin-right: 28px;}
	#front .post-contents .post-contents-list .entry h3 {font-size: 2.5em; text-shadow: 0 0 3px #333;}
}


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

/*--------------------------------------------------------------------------
会社概要 (company.php)
--------------------------------------------------------------------------*/
#company .greeting .message {font-size: 1.25em;}
#company .greeting .inner .ceo {width: 163px; margin: 0 auto 1em;}
#company .greeting .inner .ceo .name {font-size: 1.6em;}
#company .greeting .inner .txt .commit {font-size: 1.2em;}

#company .profile .profile-list dl dt {margin-bottom: 8px;}

#company .related .related-list dl:not(:last-child) {margin-bottom: 40px;}
#company .related .related-list dl dt {font-size: 1.625em;}

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

@media screen and (min-width: 640px) {
	#company .greeting .message br.sp {display: none;}
}
@media screen and (min-width: 768px) {
	#company .greeting .inner {display: flex;}
	#company .greeting .inner .ceo {width: 30%; margin: 0 20px 0 0;}
	#company .greeting .inner .txt {width: calc(100% - 30% - 20px);}

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

	#company .related .related-list {display: flex;}
	#company .related .related-list dl {width: calc((100% - 40px) / 2);}
	#company .related .related-list dl:nth-child(odd) {margin-right: 40px;}
}

/*--------------------------------------------------------------------------
沿革 (history.php)
--------------------------------------------------------------------------*/
#history .mapping-area {margin: 40px 0 65px; padding: 0 0 40px 0.5em; position: relative; box-sizing: border-box;}
#history .mapping-area:before {content: ""; width: 16px; height: 100%; position: absolute; top: 30px; left: 10px; background-color: #c8ac94; border-radius: 10px; z-index: -1;}
#history .mapping-area .road-img {display: none;}
#history .mapping-area .big-circle-year {width: 50px; height: 50px; margin: 0 0 0 -1em; border-width: 2px;}
#history .mapping-area .period dl {width: calc(100% - 2em); margin: 0 0 1em 2em;}
#history .mapping-area .period .history-content .history-img {margin: 0.5em 0;}

#history .mapping-area .period {position: relative;}
#history .mapping-area .period.p1930s .illust01 {width: 60px; right: 5%; top: 5.5em;}
#history .mapping-area .period.p1950s .illust02 {width: 80px; right: 5%; top: -1.5em;}
#history .mapping-area .period.p1970s {margin-bottom: 5em;}
#history .mapping-area .period.p1980s {margin-bottom: 3em;}
#history .mapping-area .period.p1980s .illust03 {width: 70px; right: 60px; top: -3.5em;}
#history .mapping-area .period.p1980s .illust04 {width: 70px; right: 0; top: -4em;}
#history .mapping-area .period.p1990s .illust05 {width: 30px; right: 5%; top: -2em;}
#history .mapping-area .period.p1990s .illust06 {width: 80px; right: 2%; top: 13%;}
#history .mapping-area .period.p1990s .illust07 {width: 88px; right: 2%; bottom: -100px;}
#history .mapping-area .period.p1990s {margin-bottom: 100px;}
#history .mapping-area .period.p2000s {margin-bottom: 90px;}
#history .mapping-area .period.p2010s .illust08 {width: 100px; right: 0; top: -70px;}
#history .mapping-area .illust-back-to-top {width: 90px; right: 0; bottom: -20px;}

@media screen and (min-width: 768px) {
	#history .mapping-area {margin: 90px 0 65px;}
	#history .mapping-area .big-circle-year {position: absolute;}
	#history .mapping-area .period dl {width: calc(100% - 3em); margin: 0 0 1em 3em;}
	#history .mapping-area .period dl:first-of-type {padding-top: 12px;}
	#history .mapping-area .period .history-content.before dt:before {content: ""; display: inline-block; width: 9px; height: 2px; position: absolute; left: -8px; background: #79ad4b;}
	#history .mapping-area .period.p1970s,
	#history .mapping-area .period.p1980s,
	#history .mapping-area .period.p1990s,
	#history .mapping-area .period.p2000s {margin-bottom: 0;}
	#history .mapping-area .period.p1930s .illust01 {width: 100px; left: 80%; top: 0.5em;}
	#history .mapping-area .period.p1950s .illust02 {width: 120px; left: 79%; top: -1.5em;}
	#history .mapping-area .period.p1980s .illust03 {width: 110px; left: 78%; top: 71px;}
	#history .mapping-area .period.p1980s .illust04 {width: 124px; left: 82%; top: -10px;}
	#history .mapping-area .period.p1990s .illust05 {width: 60px; left: 84%; top: 5em;}
	#history .mapping-area .period.p1990s .illust06 {width: 140px; left: 60%; top: 14em;}
	#history .mapping-area .period.p1990s .illust07 {width: 140px; left: 74%; bottom: -30px;}
	#history .mapping-area .period.p2010s .illust08 {width: 200px; left: 72%; top: 100px;}
	#history .mapping-area .illust-back-to-top {width: 140px; left: 76%; bottom: 0;}
}
@media screen and (max-width: 330px) {
	#history .mapping-area .period .history-content .history-img figcaption {white-space: normal;}
	#history .mapping-area .period.p1990s .illust06 {display: none;}
}

/*--------------------------------------------------------------------------
業務内容 (services.php)
--------------------------------------------------------------------------*/
#services .summary {max-width: 400px; margin: 0 auto 40px;}
#services .service-list .entry:not(:last-child) {margin-bottom: 40px;}
#services .more-wrap {max-width: 400px; margin: 75px auto 0;}

#services .service-list {max-width: 400px; margin: 0 auto; flex-direction: column;}
#services .service-list .entry h3 {font-size: 1.625em;}
#services .service-list .entry h4 {font-size: 16px;}

#services .service-thumbnail-list .entry {width: calc((100% - 5px) / 2); margin: 0 5px 5px 0;}
#services .service-thumbnail-list .entry:nth-child(even) {margin-right: 0;}

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

@media screen and (min-width: 768px) {
	#services .summary {max-width: 100%; margin-bottom: 80px; text-align: center;}
	#services .service-list {max-width: 400px; margin: 0 auto; flex-direction: row;}
	#services .entry {margin-bottom: 40px;}
	#services .more-wrap {max-width: 100%;}

	#services .service-list {max-width: 100%;}
	#services .entry {width: calc((100% - 28px) / 2); margin-right: 28px;}
	#services .entry:nth-child(even) {margin-right: 0;}
	#services .service-list .entry h3 {font-size: 1.75em;}
	#services .service-list .entry h4 {font-size: 18px;}
}


/*--------------------------------------------------------------------------
製品紹介 (products.php)
--------------------------------------------------------------------------*/
#products .main-products-list {max-width: 400px; margin: 0 auto;}
#products .main-products-list .entry h3 {font-size: 1.625em;}
#products .main-products-list .entry .summary {margin-bottom: 40px; padding-bottom: 40px;}

@media screen and (min-width: 768px) {
	#products .main-products-list {max-width: 100%;}
	#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 {max-width: 100%; padding-bottom: 60px;}
	#products .other-products-list .entry h3 {font-size: 1.75em;}
}

/*--------------------------------------------------------------------------
木材加工 (processing.php)
--------------------------------------------------------------------------*/
#processing .summary {max-width: 400px; margin: 0 auto 40px;}
#processing .entry:not(:last-child) {margin-bottom: 40px;}
#processing .more-wrap {max-width: 400px; margin: 30px auto 0;}

#processing .precut-list {max-width: 400px; margin: 0 auto;}
#processing .precut-list .entry h3 {font-size: 1.625em;}

#processing .other-processing {padding-bottom: 65px;}
#processing .other-processing-list {max-width: 400px; margin: 0 auto;}
#processing .other-processing-list .entry h3 {font-size: 1.625em;}

@media screen and (min-width: 768px) {
	#processing .summary {max-width: 100%; margin-bottom: 80px;}
	#processing .entry {margin-bottom: 40px;}
	#processing .more-wrap {max-width: 100%;}

	#processing .precut-list {max-width: 100%;}
	#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: 97.5px;}
	#processing .other-processing-list {max-width: 100%;}
	#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: 30px 0 60px;}
#info .post-nav {margin-bottom: 20px;}

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

#contact .form dl {margin-bottom: 32px;}
#contact .form dl dt {margin-bottom: .75em;}
#contact .form dl dt .title {font-size: 1.25em;}
#contact .form dl dt .required {font-size: .85em;}

#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: 8px 12px;}

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

/*--------------------------------------------------------------------------
プライバシーポリシー (privacy.php)
--------------------------------------------------------------------------*/
#privacy .privacy {padding-bottom: 65px;}
#privacy .privacy .g-h {font-size: 1.6em;}
#privacy .privacy p.message {padding-bottom: 1.5em;}
#privacy .privacy h3 {font-size: 1.5em; padding: 2.25em 0 1.25em;}
@media screen and (min-width: 640px) {
	#privacy .container {width: 90%;}
	#privacy .privacy {padding-bottom: 140px;}
	#privacy .privacy h3 {font-size: 1.75em; padding: 3.375em 0 1.875em;}
}
@media screen and (min-width: 460px) {
	#privacy .privacy .g-h {font-size: 2.0em;}
	#privacy .privacy h3 {display: flex; align-items: center; padding: 2.5em 0 1.25em;}
}


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

/*--------------------------------------------------------------------------
納入実績一覧 (archive-performance.php)
--------------------------------------------------------------------------*/
#archive-performance .container {padding: 90px 0 calc(65px - 1em);}
#archive-performance .performance-list {max-width: 400px; margin: 0 auto; flex-direction: column;}
#archive-performance .performance-list .entry:not(:last-child) {margin-bottom: 40px;}
#archive-performance .performance-list .entry h3 {margin: 10px 0 10px; font-size: 18px;}

@media screen and (min-width: 768px) {
	#archive-performance .container {width: 96%; max-width: 980px; padding: 112.5px 0 calc(97.5px - 1em);}

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

/*--------------------------------------------------------------------------
実績一覧 (archive-works.php)
--------------------------------------------------------------------------*/
#archive-works .works-list {max-width: 400px; margin: 0 auto; padding: 90px 0 calc(65px - 1em);}
#archive-works .works-list .entry {width: calc((100% - 1em) / 2); margin: 0 1em 1em 0;}
#archive-works .works-list .entry:nth-child(even) {margin-right: 0;}
#archive-works .works-list .entry .filter h2 {padding: 0 1em; font-size: 1.5em;}

@media screen and (min-width: 768px) {
	#archive-works .container {width: 70%; min-width: 600px;}

	#archive-works .works-list {max-width: 100%; padding: 112.5px 0 calc(97.5px - 1em);}
	#archive-works .works-list .entry {width: calc((100% - 56px) / 3); margin: 0 1.5em 1.5em 0;}
	#archive-works .works-list .entry:nth-child(even) {margin-right: 1.5em;}
	#archive-works .works-list .entry:nth-of-type(3n) {margin-right: 0;}
	#archive-works .works-list .entry .filter h2 {padding: 0 1em; font-size: 1.75em;}
}

/*--------------------------------------------------------------------------
実績個別 (single-works.php)
--------------------------------------------------------------------------*/
#single-works .single-works .title {padding-top: calc(90px - 1.5em);}
#single-works .single-works .title h2 {font-size: 2em;}
#single-works .single-works #works-single-slider {height: 40vh; min-height: 280px; margin-bottom: 1em; border-radius: 8px;}
#single-works .single-works #works-single-slider .slick-list .entry {height: 40vh; min-height: 280px;}

#single-works .works-list {max-width: 400px; margin: 0 auto; padding: calc(33px - 1em) 0 0;}
#single-works .works-list .entry {width: calc((100% - 1em) / 2); margin: 0 1em 1em 0;}
#single-works .works-list .entry:nth-child(even) {margin-right: 0;}
#single-works .works-list .entry.entry .filter h3 {padding: 0 10%; font-size: 1.5em;}

#single-works .works .more-wrap {padding: calc(33px - 1em) 0 65px;}

@media screen and (min-width: 640px) {
	#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 {max-width: 100%; padding: 52.5px 0 0;}
	#single-works .works-list .entry {width: calc((100% - 60px) / 4); margin: 0 20px 20px 0;}
	#single-works .works-list .entry:nth-child(2n) {margin-right: 20px;}
	#single-works .works-list .entry:nth-child(4n) {margin-right: 0;}
	#single-works .works-list .entry.entry .filter h3 {font-size: 1.75em;}

	#single-works .works .more-wrap {padding: 52.5px 0 97.5px;}
}

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

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

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

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

#single-news .other-news {padding-bottom: 52px;}
#single-news .other-news .other-news-list {max-width: 400px; margin: 0 auto;}
#single-news .other-news .other-news-list .entry {width: calc((100% - 1em) / 2); margin: 0 1em 1em 0;}
#single-news .other-news .other-news-list .entry:nth-child(3),
#single-news .other-news .other-news-list .entry:nth-child(4) {margin-bottom: 0;}
#single-news .other-news .other-news-list .entry:nth-child(even) {margin-right: 0;}
#single-news .other-news .other-news-list .entry.entry .filter h3 {font-size: 1.5em;}

@media screen and (min-width: 640px) {
	#single-news .post-article .title,
	#single-news .other-news .title  {font-size: 1.75em;}

	#single-news .other-news {padding-bottom: 97.5px;}
	#single-news .other-news .other-news-list {max-width: 100%;}
	#single-news .other-news .other-news-list .entry {width: calc((100% - 60px) / 4); margin: 0 20px 0 0;}
	#single-news .other-news .other-news-list .entry:nth-child(2n) {margin-right: 20px;}
	#single-news .other-news .other-news-list .entry:nth-child(4n) {margin-right: 0;}
	#single-news .other-news .other-news-list .entry.entry .filter h3 {font-size: 1.75em;}
}

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

/*--------------------------------------------------------------------------
ブログ個別 (single-blog.php)
--------------------------------------------------------------------------*/
#single-blog {padding-bottom: 60px;}
#single-blog .post-article {margin: 72px 0 52px;}
#single-blog .post-article .title {font-size: 1.75em; margin-bottom: 1.325em;}
#single-blog .post-article .data {margin-bottom: 16px;}
#single-blog .post-article .postlink {margin-top: 42px;}

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

/*--------------------------------------------------------------------------
得々ミニ情報タイトル一覧 (mini-info-title.php)
--------------------------------------------------------------------------*/
#mini-info-title .container {padding: 60px 0;}
#mini-info-title .mini-info-title-list .entry a {padding: .75em .5em;}
#mini-info-title .mini-info-title-list .entry a .title {width: 100%; margin-top: .25em;}

@media screen and (min-width: 640px) {
	#mini-info-title .mini-info-title-list .entry a .title {width: auto; margin-top: 0;}
}

/*--------------------------------------------------------------------------
リンク集一覧 (news.php)
--------------------------------------------------------------------------*/
#archive-link_collection .container {max-width: 750px; padding: 64px 0;}
#archive-link_collection .link-category {margin-bottom: 8px; padding-bottom: 4px; font-size: 16px;}
#archive-link_collection .link-list {margin: 0 auto 36px;}
#archive-link_collection .link-list .entry:not(:last-child) {margin-bottom: .5em;}
#archive-link_collection .link-list .entry dl {flex-direction: column; align-items: flex-start; padding: 0 5px;}
#archive-link_collection .link-list .entry dd a {margin-left: 10px;}

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

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

#single h2 {margin: 45px 0 15px 0;}
#single h3 {margin: 40px 0 13px 0;}
#single h4 {margin: 35px 0 11px 0;}
#single h5 {margin: 30px 0 9px 0;}
#single h6 {margin: 25px 0 7px 0;}

#single h2:first-child {margin: 0 0 15px 0;}
#single h3:first-child {margin: 0 0 13px 0;}
#single h4:first-child {margin: 0 0 11px 0;}
#single h5:first-child {margin: 0 0 9px 0;}
#single h6:first-child {margin: 0 0 7px 0;}

#single h2 {font-size: 1.35rem;}
#single h3 {font-size: 1.225rem;}
#single h4 {font-size: 1.1rem;}
#single h5 {font-size: 1rem;}
#single h6 {font-size: .925rem;}
#single hr {margin: 40px 0;}

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

/*--------------------------------------------------------------------------
404.php
--------------------------------------------------------------------------*/
#notfound {padding: 70px 0 50px;}
#notfound h1 {font-size: 4.75em;}
#notfound h2 {font-size: 1.25em;}
#notfound p {font-size: .9rem; margin: 12px 0 50px;}
#notfound .link-to-top-page a {width: 88px;}