@charset "UTF-8";

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
汎用
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/

/*clearfix*/
.cf:after {content: ""; display: block; clear: both; visibility: hidden;}

/*汎用flex*/
.flex {display: flex;}

/*コンテナ*/
.container {margin: 0 auto;}

/*--------------------------------------------------------------------------
パララックス＆ホバーアニメーション
--------------------------------------------------------------------------*/

/*------------------------------------
下から上に upflow
------------------------------------*/
.upflow {visibility: hidden; opacity: 0; transform: translateY(50px); transition: 1s ease;}
.upflow.active {visibility: visible; opacity: 1; transform: translateY(0);}

/*------------------------------------
左から右に leftflow
------------------------------------*/
.leftflow {visibility: hidden; opacity: 0; transform: translateX(-50px); transition: 1s ease;}
.leftflow.active {visibility: visible; opacity: 1; transform: translateX(0);}

/*------------------------------------
右から左に rightflow
------------------------------------*/
.rightflow {visibility: hidden; opacity: 0; transform: translateX(50px); transition: 1s ease;}
.rightflow.active {visibility: visible; opacity: 1; transform: translateX(0);}

/*------------------------------------
アンダーライン
------------------------------------*/
.u-line {position: relative; display: inline-block;}
.u-line:hover {opacity: 1;}
.u-line:after {content: ""; position: absolute; bottom: .25em; left: auto; right: 0; width: 0; height: 1px; background: #000; transition: .5s ease;}
.u-line:hover:after {width: 100%; left: 0; right: auto;}

.u-line.white:after {background: #fff;}

/*------------------------------------
フェード
------------------------------------*/
.fade {opacity: 0; transform: translateY(10%); will-change: transform;}
.fade.active {animation: fadein .5s ease-in-out forwards; opacity: 1;}

@keyframes fadein {0% {opacity: 0; transform: translateY(10%);} 100% {opacity: 1; transform: translateY(0);}}

/*------------------------------------
カバー
------------------------------------*/
.cover {position: relative; display: block; overflow: hidden;}
.cover:before {content: ""; display: block; position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 1; background: #fff; transition: transform ease-out 1s; will-change: transform;}
.cover.active:before {transform: translate3d(100%, 0, 0);}

.fade.cover:before {transition-delay: .25s;}

/*--------------------------------------------------------------------------
部品
--------------------------------------------------------------------------*/
/*------------------------------------
汎用見出し
------------------------------------*/
.g-h {font-weight: 700; line-height: 1.25; text-align: center; padding: 3.25em 0 1.5em;}

/*------------------------------------
汎用TOP見出し
------------------------------------*/
.page-heading {position: relative; width: 100%;}
.page-heading .inner {position: relative; width: 100%; height: 100%;}
.page-heading .img {position: relative; width: 100%; height: 100%; overflow: hidden; z-index: 1;}
.page-heading .img:before {content: ""; display: block; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgb(0 0 0 / 0.2); z-index: 2;}
.page-heading .img img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; font-family: "object-fit: cover; object-position: 50% 50%;";}
.page-heading .txt {position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 100%; text-align: center; z-index: 2;}
.page-heading .txt h1,
.page-heading .txt p {color: #fff; font-weight: 700; text-shadow: 0 0 .5em rgba(84,84,84, .75);}

/*------------------------------------
MORE
------------------------------------*/
.more {position: relative; display: inline-flex; padding-right: 5em; box-sizing: border-box; z-index: 1;}
.more:before,
.more:after {position: absolute; top: 50%; transform: translateY(-50%); content: ""; border-radius: 50%; transition: .4s ease; transform-origin: center;}
.more:before {right: 0; width: 20px; height: 20px; border: 1px solid #333;}
.more:after {right: 9px; width: 5px; height: 5px; background: #333;}
.more .bar {display: block; position: absolute; top: 50%; right: 9px; transform: translateY(-50%); width: 3em; height: 1px; background: transparent; overflow: hidden;}
.more .bar:before {position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ""; background: #333; animation: moreLine 2.5s ease infinite; animation-fill-mode: forwards;}
.more:hover:before,
.more:hover:after {transform: translateY(-50%) scale(1.25,1.25);}

.more.white {color: #fff;}
.more.white:before {border-color: #fff;}
.more.white:after {background: #fff;}
.more.white .bar:before {background: #fff;}

@keyframes moreLine {
	0% {transform:translateX(-100%) scaleX(1); transform-origin: top;}
	100% {transform:translateX(100%) scaleX(.8); transform-origin: top;}
}

.more.toleft {position: relative; display: inline-flex; padding: 0 0 0 5em; box-sizing: border-box; z-index: 1;}
.more.toleft:before {left: 0; width: 20px; height: 20px; border: 1px solid #333;}
.more.toleft:after {left: 9px; width: 5px; height: 5px; background: #333;}
.more.toleft .bar {display: block; position: absolute; top: 50%; left: 9px; transform: translateY(-50%); width: 3em; height: 1px; background: transparent; overflow: hidden;}
.more.toleft .bar:before {position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ""; background: #333; animation: moreLineToleft 2.5s 0.5s ease infinite; animation-fill-mode: forwards;}
@keyframes moreLineToleft {
	0% {transform:translateX(100%) scaleX(1); transform-origin: top;}
	100% {transform:translateX(-100%) scaleX(.8); transform-origin: top;}
}

/*------------------------------------
スクロールダウン
------------------------------------*/
.scroll-down {position: absolute; left: 50%; transform: translateX(-50%); visibility: hidden; z-index: 3;}
.scroll-down:before,
.scroll-down:after {position: absolute; left: 50%; transform: translateX(-50%); content: ""; border-radius: 50%; transition: .3s ease; transform-origin: center;}
.scroll-down:before {bottom: -16px; width: 31px; height: 31px; border: 1px solid #fff;}
.scroll-down:after {bottom: -2px; width: 5px; height: 5px; background: #fff;}
.scroll-down span {display: block; color: #fff; font-size: 1.25em; font-weight: 700; line-height: 1; text-align: center;}
.scroll-down .bar {display: block; position: relative; left: 0; transform: translateX(-50%); width: 1px; margin: 0 auto; background: transparent; overflow: hidden;}
.scroll-down .bar:before {position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ""; background: #fff; animation: scrollLine 2.5s ease infinite; animation-fill-mode: forwards}
.scroll-down:hover:before,
.scroll-down:hover:after {transform: translateX(-50%) scale(1.15,1.15);}

@keyframes scrollLine {
	0% {transform:translateY(-100%) scaleY(1); transform-origin: left;}
	100% {transform:translateY(100%) scaleY(.8); transform-origin: left;}
}

/*------------------------------------
TOPに戻る
------------------------------------*/
.back-to-top {text-align: center;}
.back-to-top a {display: inline-block;}
.back-to-top a img {width: 100%; height: auto;}

/*------------------------------------
投稿前後移動
------------------------------------*/
.postlink {justify-content: center;}
.postlink a {display: block; text-align: center;}
.postlink a:hover {color: #67ba46;}
.postlink .to-archive {margin: 0 1em;}
.postlink .prev a,
.postlink .next a {width: calc(4.5em + (.08em * 5));}
.postlink .prev a:hover {transform: translateX(-3px);}
.postlink .next a:hover {transform: translateX(3px);}
.postlink .to-archive a:hover {transform: translateY(-3px);}

/*------------------------------------
ページネーション
------------------------------------*/
.pagination {justify-content: center;}
.pagination * {width: 40px; height: 40px; margin: 0 2px; display: flex; justify-content: center; align-items: center; background: #fff; border: 1px solid #67ba46; border-radius: .25em; color: #67ba46; font-weight: 700; line-height: 1;}
.pagination a:hover,
.pagination .current {background: #67ba46; border-color: #67ba46; color: #fff; opacity: 1;}

/*------------------------------------
アーカイブカテゴリーリスト
------------------------------------*/
.archive-cate h3 {font-size: 1.25em; margin-bottom: .875em; font-weight: 700;}

.archive-cate .cate-list,
.archive-cate .year-list {flex-wrap: wrap;}
.archive-cate .cate-list li.current,
.archive-cate .year-list li.current {cursor: default; pointer-events: none;}
.archive-cate .cate-list li.current a,
.archive-cate .cate-list li a:hover,
.archive-cate .year-list li.current a,
.archive-cate .year-list li a:hover {background: #67ba46; color: #fff;}

.archive-cate .cate-list li {margin-right: .5em;}
.archive-cate .cate-list li a {display: block; font-size: .95em; padding: .25em .75em; border: 1px solid #bfbfbf; border-radius: .25em; box-sizing: border-box;}
.archive-cate .cate-list li a span {color: inherit; font-size: inherit;}

.archive-cate .year-list li a {display: flex; justify-content: center; align-items: center; width: 4.25em; height: 4.25em; background: #e5e4e3; border: 1px solid #fff; box-sizing: border-box;}

.archive-cate.slider {justify-content: center;}
.archive-cate.slider .year-list {position: relative; width: calc(4.25em * 4); margin: 0 auto;}

.archive-cate.slider .year-list .slick-arrow {position: absolute; top: calc(50% - 10px); left: auto; right: auto; width: 0; height: 0; line-height: 1; color: transparent;}
.archive-cate.slider .year-list .slick-prev.slick-arrow {left: -27px;}
.archive-cate.slider .year-list .slick-next.slick-arrow {right: -7px;}
.archive-cate.slider .year-list .slick-arrow:before,
.archive-cate.slider .year-list .slick-arrow:after {position: absolute; top: 0; left: 0; color: #333; font-size: 20px; line-height: 1; transform: scale(1); transform-origin: center; transition: .3s ease;}
.archive-cate.slider .year-list .slick-prev.slick-arrow:before {content:"≪";}
.archive-cate.slider .year-list .slick-next.slick-arrow:after {content:"≫";}
.archive-cate.slider .year-list .slick-prev.slick-arrow:hover:before,
.archive-cate.slider .year-list .slick-next.slick-arrow:hover:after {color :#67ba46; transform: scale(1.2);}

/*------------------------------------
ニュースリスト
------------------------------------*/
.news-list .entry {border-bottom: 1px solid #333;}
.news-list .entry a {position: relative; display: flex; align-items: center;}
.news-list .entry a:after {content: ""; position: absolute; bottom: 0; left: auto; right: 0; width: 0; height: 1px; background: #333; transition: .75s ease;}
.news-list .entry a:hover:after {width: 100%; left: 0; right: auto;}
.news-list .entry time {margin-right: 1em;}
.news-list .entry .cate {color: #fff; font-size: .875em; font-weight: 700; text-align: center; white-space: nowrap; min-width: 6em; margin-right: 1.125em; padding: .075em .5em; border-radius: .25em; box-sizing: border-box;}
.news-list .entry .cate.news {background: #333;}
.news-list .entry .cate.blog {background: #6bb6d3;}
.news-list .entry .cate.mini_info {background: #67ba46;}
.news-list .entry .cate.new-product {background: #eaa462;}
.news-list .entry .news-cate {margin-right: 1em;}
.news-list .entry h3 {white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}

/*------------------------------------
ブログリスト
------------------------------------*/
.blog-list {flex-wrap: wrap;}
.blog-list .entry a {display: block;}
.blog-list .entry a:hover img {opacity: 1; transform: scale(1.05, 1.05);}
.blog-list .entry .img {position: relative; width: 100%; margin-bottom: 1em; overflow: hidden;}
.blog-list .entry .img img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; font-family: 'object-fit: cover; object-position: 50% 50%;'; transition: .5s ease;}
.blog-list .entry .img.noimg img {object-fit: contain;}
.blog-list .entry .title {font-size: 1.2em; font-weight: 700;}
.blog-list .entry time {display: flex; align-items: center; color: #aaaab3; font-size: .8em; margin: .5em 0;}
.blog-list .entry time:before {content: ""; position: relative; width: 15px; height: 15px; margin-right: .5em; background: url(../img/common/icon-clock.svg) no-repeat;}
.blog-list .entry .excerpt p {font-size: .85em;}

/*------------------------------------
得々ミニ情報リスト
------------------------------------*/
.mini-info-list {flex-wrap: wrap;}
.mini-info-list .entry a {display: block; position: relative;}
.mini-info-list .entry .thumb {position: relative; width: 100%; margin-bottom: .625em; padding-bottom: 140%; border: 1px solid #ccc; box-sizing: border-box; overflow: hidden; transition: .5s ease;}
.mini-info-list .entry .thumb .filter {position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; flex-direction: column; background: rgba(51,51,51, .6); opacity: 0; transition: .5s ease; z-index: 2;}
.mini-info-list .entry .thumb .filter img {width: 64px; margin-bottom: 15px;}
.mini-info-list .entry .thumb .filter p {color: #fff; font-size: 1em; font-weight: 700;}
.mini-info-list .entry .thumb .img {position: absolute; top: 0; left: 0; width: 100%;}
.mini-info-list .entry .thumb .img img {width: 100%; height: 100%; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;'; transition: .5s ease; z-index: 1;}
.mini-info-list .entry:hover .filter,
.mini-info-list .entry:hover .thumb .img img {opacity: 1;}
.mini-info-list .entry:hover .thumb .img img {transform: scale(1.05);}

.mini-info-list .entry .txt * {font-weight: 700;}
.mini-info-list .entry .txt .state {margin-bottom: .25em;}
.mini-info-list .entry .txt .state * {font-size: .95em;}
.mini-info-list .entry .txt .state .date {margin-right: .25em;}
.mini-info-list .entry .txt h3 {font-size: 1.05em;}

.link-title-list {margin-top: 2em; text-align: center;}

/*--------------------------------------------------------------------------
ヘッダー
--------------------------------------------------------------------------*/
header .site-title {position: fixed; z-index: 9003;}
header .site-title a {display: inline-block; position: relative;}
header .site-title a img {filter: drop-shadow(0 0 10px rgba(84,84,84, .75));}
header .site-title a .company-name {position: absolute; display: block; color: #fff; letter-spacing: .1em; text-indent: .1em; text-shadow: 0 0 10px #333; transition: .3s ease;}
header .site-title a:hover .company-name {opacity: .7;}

header #nav-drawer {display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; position: fixed; top: 0; left: 0; transition: .5s ease; opacity: 0; visibility: hidden; z-index: 9002;}
header #nav-drawer * {color: #fff;}

header #nav-drawer .inner {}
header #nav-drawer .global-nav {}
header #nav-drawer .global-nav .nav-list > li {}
header #nav-drawer .global-nav .nav-list > li > span {align-items: center; font-weight: 700; cursor: pointer;}
header #nav-drawer .global-nav .nav-list > li > span .arrow {position: relative;}
header #nav-drawer .global-nav .nav-list > li > span .arrow:before,
header #nav-drawer .global-nav .nav-list > li > span .arrow:after {content: ""; position: absolute; top: -1px; display: block; width: 12px; height: 3px; background: #fff; border-radius: 1.5px; transition: .3s ease;}
header #nav-drawer .global-nav .nav-list > li > span .arrow:before {left: 0; transform: rotate(45deg);}
header #nav-drawer .global-nav .nav-list > li > span .arrow:after {left: 6px; transform: rotate(-45deg);}

header #nav-drawer .global-nav .nav-list > li > span.open .arrow:before {transform: rotate(-45deg);}
header #nav-drawer .global-nav .nav-list > li > span.open .arrow:after {transform: rotate(45deg);}

header #nav-drawer .global-nav .nav-list li span a.to-news {letter-spacing: .16em;}

header #nav-drawer .global-nav .nav-list > li > .sub-nav {display: none;}
header #nav-drawer .global-nav .nav-list > li > .sub-nav li {width: 100%; margin: 10px 0;}

header #nav-drawer .info {border: 2px solid #fff; box-sizing: border-box;}
header #nav-drawer .info .office-info {flex-direction: column; align-items: center;}
header #nav-drawer .info .office-info dl {max-width: 100%; align-items: center;}
header #nav-drawer .info .office-info dl.mail {margin: .75em 0 1.25em -1em;}
header #nav-drawer .info .office-info dl.hours {margin-bottom: .25em;}
header #nav-drawer .info .office-info dl dt {margin-right: 1em;}
header #nav-drawer .info .office-info dl dd.large {line-height: 1.25;}
header #nav-drawer .info .office-info .address {text-align: center;}
.open-menu header #nav-drawer {transition: .5s ease .5s; opacity: 1; visibility: visible;}

header #hamburger {position: fixed; width: 40px; height: 40px; z-index: 9002;}
header #hamburger:hover {cursor: pointer;}
header #hamburger div {position: absolute; width: 40px; height: 3px; left: 0; background: #fff; border-radius: 3px; transition: .5s ease; transition-property: top, transform; transform-origin: center center;}
header #hamburger div:nth-child(1) {top: 8px; transition-delay: .5s,0s;}
header #hamburger div:nth-child(2) {top: 18px; transition: opacity .3s ease .5s;}
header #hamburger div:nth-child(3) {top: 28px; transition-delay: .5s,0s;}
.open-menu header #hamburger div {transition-delay: 0s,.5s;}
.open-menu header #hamburger div:nth-child(1) {top: 18px; transform: rotate(45deg);}
.open-menu header #hamburger div:nth-child(2) {opacity: 0;}
.open-menu header #hamburger div:nth-child(3) {top: 18px; transform: rotate(-45deg);}

header #nav-bg {top: 0; right: 0; display: block; position: fixed; background: #67ba46; border-radius: 50%; -webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translate(50%,-50%); z-index: 9001;}

/*--------------------------------------------------------------------------
フッター
--------------------------------------------------------------------------*/
footer {position: relative; background: #67ba46;}
footer * {color: #fff;}

footer .site-logo img {width: 100%; height: auto;}
footer .site-name {font-weight: 700;}
footer .address {margin-bottom: .75em;}

footer .inner .office-info {flex-wrap: wrap;}
footer .inner .office-info dl {margin-bottom: .5em;}
footer .inner .office-info dl dt {width: calc(4em + 4px); letter-spacing: 0; justify-content: space-between;}
footer .inner .office-info dl dd:before {display: inline-block; content: "…"; margin: 0 .5em;}

footer .copyright {text-align: center; line-height: 1;}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
フロントページ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/
#front {background: #f5f5f5;}

/*------------------------------------
HERO HERDER
------------------------------------*/
#front .page-heading,
#front .page-heading .inner {width: 100%; height: calc(100vh + 11.49341vw);}
#front .page-heading #top-slider {width: 100%; height: 100%; overflow: hidden;}
#front .page-heading .img:before {background: transparent;}
#front .page-heading #top-slider .slick-track,
#front .page-heading #top-slider .slick-list,
#front .page-heading #top-slider .slick-list li {width: 100%; height: 100%;}
#front .page-heading #top-slider .slick-list .img {width: 100%; height: calc(100vh + 11.49341vw);}
#front .page-heading #top-slider .slick-list .img img {width: 100%; height: 100%; object-position: 50% 50%; font-family: "object-fit: cover; object-position: 50% 50%;"; transform: scale(1.0,1.0); transition: 0s;}
#front .page-heading #top-slider .slick-list .slick-active .img img {transform: scale(1.2,1.2); transition: ease 16s;}
#front .page-heading #top-slider .slick-list .slick-continue .img img {transform: scale(1.4,1.4); transition: ease 16s;}
#front .page-heading #top-slider .slick-list .txt {transform: translateY(0%);}
#front .page-heading #top-slider .slick-list .txt p {line-height: 1.75;}
#front .page-heading #top-slider .slick-list .txt .blur span {opacity: 0;}
#front .page-heading #top-slider .slick-list .txt .blur span:nth-of-type(1) {animation-delay: 0.2s;}
#front .page-heading #top-slider .slick-list .txt .blur span:nth-of-type(2) {animation-delay: 0.4s;}
#front .page-heading #top-slider .slick-list .txt .blur span:nth-of-type(3) {animation-delay: 0.6s;}
#front .page-heading #top-slider .slick-list .txt .blur span:nth-of-type(4) {animation-delay: 0.8s;}
#front .page-heading #top-slider .slick-list .txt .blur span:nth-of-type(5) {animation-delay: 1.0s;}
#front .page-heading #top-slider .slick-list .txt .blur span:nth-of-type(6) {animation-delay: 1.2s;}
#front .page-heading #top-slider .slick-list .txt .blur span:nth-of-type(7) {animation-delay: 1.4s;}
#front .page-heading #top-slider .slick-list .txt .blur span:nth-of-type(8) {animation-delay: 1.6s;}
#front .page-heading #top-slider .slick-list .txt .blur span:nth-of-type(9) {animation-delay: 1.8s;}
#front .page-heading #top-slider .slick-list .txt .blur span:nth-of-type(10) {animation-delay: 2.0s;}
#front .page-heading #top-slider .slick-list .slick-active .txt .blur span {font-size: inherit; color: inherit; animation: blurIn 12s ease-out; animation-fill-mode: forwards;}
#front .page-heading #top-slider .slick-list .slick-active .txt .inner-txt {animation: fadeOut 8s ease-out; animation-fill-mode: forwards;}

#front .page-heading #top-slider .slick-list .slide-03 .txt p.forest {font-size: 2em; font-weight: normal; text-shadow: none; opacity: 0;}
#front .page-heading #top-slider .slick-list .slick-active .slide-03 .txt p.forest {margin-top: 2em; opacity: 0; animation: fadeInOut 10s ease-out; animation-fill-mode: forwards;}

@keyframes blurIn {0% {text-shadow: 0 0 100px #fff; filter: blur(1em); opacity: 0;} 5% {text-shadow: 0 0 90px #fff;} 15% {opacity: 1; filter: blur(0);} 30% {text-shadow: 0 0 0 #fff;} 85% {opacity: 1;} 100% {text-shadow: 0 0 0 #fff; opacity: 1; filter: blur(0);}}
@keyframes fadeOut {0% {opacity: 1;} 85% {opacity: 1;} 100% {opacity: 0;}}
@keyframes fadeInOut {0% {opacity: 0;} 10% {opacity: 0;} 35% {opacity:1;} 85% {opacity: 1;} 95% {opacity: 0;} 100% {opacity: 0;}}

#front .page-heading .deco {position: absolute; bottom: -1px; left: 0; width: 100%; height: auto; z-index: 2;}
#front .page-heading .deco .st0 {fill: #fff;}

#front .page-heading .scroll-down {visibility: visible;}

/*------------------------------------
INFORMATION
------------------------------------*/
#front .info {background: #fff;}
#front .info .more {margin-top: 2.25em; float: right;}

/*------------------------------------
SERVICES
------------------------------------*/
#front .services .services-list .entry {position: relative;}
#front .services .services-list .entry .img {position: relative; overflow: hidden; z-index: 1;}
#front .services .services-list .entry:nth-child(odd) .img {margin-right: auto;}
#front .services .services-list .entry:nth-child(even) .img {margin-left: auto;}
#front .services .services-list .entry .img img {width: 100%; height: 100%; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;';}
#front .services .services-list .entry .txt {position: relative; background: rgba(255,255,255, .9); box-sizing: border-box; z-index: 2;}
#front .services .services-list .entry:nth-child(odd) .txt {margin-left: auto;}
#front .services .services-list .entry:nth-child(even) .txt {margin-right: auto;}
#front .services .services-list .entry .txt .txt-inner h3 span {display: block; line-height: 1.25; text-align: center;}
#front .services .services-list .entry .txt .txt-inner h3 .big {font-weight: 700; letter-spacing: .12em; margin-right: -.12em;}
#front .services .services-list .entry .txt .txt-inner h3 .small {color: #67ba46; margin-top: .25em;}
#front .services .services-list .entry .txt .txt-inner .summary {text-align: justify;}
#front .services .services-list .entry .txt .txt-inner .summary p {line-height: 1.825; letter-spacing: 0;}
#front .services .services-list .entry .txt .txt-inner .summary .more {float: right;}

/*------------------------------------
WORKS
------------------------------------*/
#front .works {position: relative;}

#front .works #works-slider {position: relative; z-index: 1;}
#front .works #works-slider .slick-track {width: 100%; overflow: hidden;}
#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 {width: 100%;}
#front .works #works-slider .slick-list li a {display: block;}
#front .works #works-slider .slick-list li a img {width: 100%; height: 100%; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;';}
#front .works #works-slider .slick-dots {display: flex; justify-content: center; position: relative; z-index: 2;}
#front .works #works-slider .slick-dots li {position: relative;}
#front .works #works-slider .slick-dots li button {display: block; width: 0; height: 100%; text-indent: 100%; white-space: nowrap; overflow: hidden; padding: 0;}
#front .works #works-slider .slick-dots li button:before {content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #333; border-radius: 50%;}
#front .works #works-slider .slick-dots li.slick-active button:before {background: #67ba46;}

#front .works #works-slider-title {position: relative; z-index: 2;}
#front .works #works-slider-title .slick-list {position: absolute; background: #fff; box-sizing: border-box;}
#front .works #works-slider-title .slick-list li .year {color: #67ba46; margin-top: .25em;}
#front .works #works-slider-title .slick-list li h3 {font-size: 1.625em; font-weight: 700;}
#front .works #works-slider-title .slick-list li .more {margin-top: 2em; float: right;}

/*------------------------------------
POST CONTENTS
------------------------------------*/
#front .post-contents .post-contents-list .entry h3 {font-weight: 700;}
#front .post-contents .post-contents-list .entry a {position: relative; display: block; width: 100%; height: 100%;}
#front .post-contents .post-contents-list .entry a:before {content: ""; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgba(51,51,51, .6); opacity: 0; transition: .5s ease; z-index: 2;}
#front .post-contents .post-contents-list .entry a .img {position: absolute; width: 100%; height: 100%; overflow: hidden; z-index: 1;}
#front .post-contents .post-contents-list .entry a .img img {width: 100%; height: 100%; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;'; transform-origin: center; transition: .5s ease;}
#front .post-contents .post-contents-list .entry a .txt {position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 100%; color: #fff; text-align: center; text-shadow: 0 0 .25em #333; z-index: 3; transition: .5s ease;}
#front .post-contents .post-contents-list .entry a:hover:before {opacity: 1;}
#front .post-contents .post-contents-list .entry a:hover .img img {transform: scale(1.1,1.1); opacity: 1;}

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

/*--------------------------------------------------------------------------
会社概要 (company.php)
--------------------------------------------------------------------------*/
#company .page-heading .img img {object-position: 50% 0%; font-family: "object-fit: cover; object-position: 50% 0%;";}
#company .greeting .message {font-weight: 700; line-height: 1.75; text-align: center; margin-bottom: 2em;}
#company .greeting .inner .ceo img {width: 100%; height: auto; margin-bottom: 1em;}
#company .greeting .inner .ceo figcaption span {display: block; color: #4d4d4d; font-weight: 700;}
#company .greeting .inner .ceo figcaption .position {margin-bottom: .5em;}
#company .greeting .inner .ceo figcaption .name {letter-spacing: .2em;}
#company .greeting .inner .txt p {line-height: 1.75; text-align: justify;}
#company .greeting .inner .txt .commit {margin-top: 0.5em; display: block; text-align: center;}
#company .greeting .inner .txt .commit.first-commit {margin-top: 3em;}

#company .profile .profile-list dl:not(:last-child) {margin-bottom: 1.5em;}
#company .profile .profile-list dl dt {display: flex; align-items: center; white-space: nowrap; letter-spacing: 0;}

#company .history {text-align: center;}

#company .related .related-list dl dt {display: flex; align-items: center; font-weight: 700; margin-bottom: .5em; padding-bottom: .25em; border-bottom: 1px solid #333;}
#company .related .related-list dl dd ul li {margin-bottom: .5em;}

#company .acsess h2 span {display: block; text-align: center; margin-top: 1.25em;}
#company .acsess .google-map {width: 100%; overflow: hidden; position: relative;}
#company .acsess .google-map iframe {position: absolute; left: 0; top: 0; height: 100%; width: 100%;}

/*--------------------------------------------------------------------------
沿革 (history.php)
--------------------------------------------------------------------------*/
#history .page-heading .img img {object-position: 50% 95%; font-family: "object-fit: cover; object-position: 50% 95%;";}
#history .mapping-area .big-circle-year {justify-content: center; align-items: center; color: #67ba46; background: #fff; border-color: #67ba46; border-style: solid; border-radius: 50%; box-sizing: border-box;}
#history .mapping-area .period .history-content dt {width: 2em; height: 2em; margin-right: 0.7em; justify-content: center; align-items: center; position: relative; background: #67ba46; border-radius: 50%; box-sizing: border-box; color: #fff; font-weight: 700;}
#history .mapping-area .period .history-content dd {width: calc(100% - 2.7em); padding-top: 0.1em; line-height: 1.75;}
#history .mapping-area .period .history-content dd strong {font-family: "Noto Sans JP", Arial, Verdana, Roboto,"Hiragino Sans","Hiragino Kaku Gothic ProN"," Noto Sans JP", Meiryo, sans-serif; font-weight: 700;}
#history .mapping-area .period .history-content.has-list dd {margin-top: -0.3em;}
#history .mapping-area .period .history-content.has-list dd, #history .mapping-area .history-content.has-list li {line-height: 2.5;}
#history .mapping-area .period .history-content .history-img {width: 210px; max-width: 100%;}
#history .mapping-area .period .history-content .history-img figcaption {margin-top: 3px; font-size: 14px; text-align: center; white-space: nowrap;}
#history .mapping-area .period .history-content .history-img img {width: auto; height: 100%; max-height: 137px; margin: 0 auto; }

#history .mapping-area .illust {position: absolute;}

.lb-data span.lb-caption {margin: 5px; display: inline-block; color: #fff; font-size: 1.2em; line-height: 1.5;}

/*--------------------------------------------------------------------------
業務内容 (services.php)
--------------------------------------------------------------------------*/
#services .summary {line-height: 1.75; text-align: justify;}
#services .more-wrap {justify-content: flex-end;}

#services .servise-list {flex-wrap: wrap;}
#services .entry .txt ul {margin-bottom: 1em;}
#services .entry .txt ul.details-list {flex-wrap: wrap;}
#services .entry .txt ul.details-list li {margin-right: 1em; line-height: 1.75;}
#services .entry .img {overflow: hidden; position: relative;}
#services .entry .img img {width: 100%; height: 100%; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;'; position: absolute; top: 0; left: 0;}
#services .entry h3 {margin-bottom: .25em; font-weight: 700; text-align: center;}

#services .service-list .entry .img {margin-bottom: 1em; padding-top: 60%; border-radius: 16px;}
#services .service-thumbnail-list {flex-wrap: wrap;}
#services .service-thumbnail-list .entry {position: relative; overflow: hidden;}
#services .service-thumbnail-list .entry .img {padding-top: 100%;}
#services .service-thumbnail-list .entry .img img {border-radius: 8px;}
#services .service-thumbnail-list .entry .filter {justify-content: center; align-items: center; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgba(51,51,51, .6); border-radius: 8px; opacity: 0; transition: .5s ease; z-index: 2;}
#services .service-thumbnail-list .entry .filter h3 {padding: 0 10%; color: #fff; font-size: 16px; font-weight: 700;}
#services .service-thumbnail-list .entry a:hover .filter {opacity: 1;}
#services .service-thumbnail-list .entry a:hover .filter h3 {color: #fff;}

#services .more-wrap {text-align: center;}

/*--------------------------------------------------------------------------
製品紹介 (products.php)
--------------------------------------------------------------------------*/
#products .page-heading .img img {object-position: 50% 60%; font-family: "object-fit: cover; object-position: 50% 60%;";}
#products .main-products-list {flex-wrap: wrap;}
#products .main-products-list .entry .img {margin-bottom: 1em; border-radius: 16px; overflow: hidden;}
#products .main-products-list .entry .img img {width: 100%; height: 100%; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;';}
#products .main-products-list .entry h3 {display: flex; align-items: center; margin-bottom: .25em; font-weight: 700;}
#products .main-products-list .entry .summary {position: relative;}
#products .main-products-list .entry .summary p {line-height: 1.75; text-align: justify;}
#products .main-products-list .entry .summary a.more {position: absolute; bottom: 0; right: 0;}

#products .other-products-list {width: 600px; max-width: 100%; margin: 0 auto;}
#products .other-products-list .entry h3 {display: flex; align-items: center; margin-bottom: .25em; font-weight: 700;}
#products .other-products-list .entry .summary p {line-height: 1.75; text-align: justify;}

/*--------------------------------------------------------------------------
木材加工 (processing.php)
--------------------------------------------------------------------------*/
#processing .summary {line-height: 1.75; text-align: justify;}
#processing .more-wrap {justify-content: flex-end;}

#processing .precut-list {flex-wrap: wrap;}
#processing .precut-list .entry .img {margin-bottom: 1em; border-radius: 16px; overflow: hidden;}
#processing .precut-list .entry .img img {width: 100%; height: 100%; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;';}
#processing .precut-list .entry h3 {display: flex; align-items: center; margin-bottom: .25em; font-weight: 700;}

#processing .other-processing-list {flex-wrap: wrap; margin: 1em 0;}
#processing .other-processing-list .entry .img {margin-bottom: 1em; border-radius: 16px; overflow: hidden;}
#processing .other-processing-list .entry .img img {width: 100%; height: 100%; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;';}
#processing .other-processing-list .entry h3 {display: flex; align-items: center; margin-bottom: .25em; font-weight: 700;}

/*--------------------------------------------------------------------------
新着情報一覧 (info.php)
--------------------------------------------------------------------------*/
#info .post-nav .post-list {justify-content: center;}
#info .post-nav .post-list li:not(:last-child) {margin-right: 4px;}
#info .post-nav .post-list a {display: inline-block; color: #67ba46; padding: 8px 12px; border: 1px solid #67ba46; border-radius: .25em; box-sizing: border-box;}
#info .post-nav .post-list a:hover {background: #67ba46; border-color: #67ba46; color: #fff; opacity: 1;}

/*--------------------------------------------------------------------------
お問い合わせ (contact.php)
--------------------------------------------------------------------------*/
#contact .form dl dt {display: flex; align-items: center;}
#contact .form dl dt .title {margin-right: .625em; font-weight: 700; line-height: 1;}
#contact .form dl dt .required {padding: .125em 1.5em; border-radius: .25em; background: #67ba46; color: #fff;}
#contact .form .consent a {position: relative; border-bottom: 1px solid #333;}
#contact .form .consent a:after {content: ""; position: absolute; bottom: 0; left: auto; right: 0; width: 0; height: 1px; background: #333; transition: .75s ease;}
#contact .form .consent a:hover:after {width: 100%; left: 0; right: auto;}
#contact .form .consent span.wpcf7-list-item-label:before,
#contact .form .consent span.wpcf7-list-item-label:after {content: " ";}
#contact .form .consent input[type="checkbox"] + span.wpcf7-list-item-label:before {width: 20px; height: 20px; position: relative; display: block; background: #fff; border: 1px solid #333; border-radius: 50%; margin-right: 10px; transition: .5s ease;}

#contact .form .submit-btn {text-align: center;}
#contact .form .submit-btn .submit-label {position: relative; display: inline-flex; align-items: center; z-index: 1;}
#contact .form .submit-btn .submit-label:hover input[type="submit"] {opacity: 1;}
#contact .form .submit-btn .submit-label:hover .more:before {transform: translateY(-50%);}
#contact .form .submit-btn .submit-label,
#contact .form .submit-btn .submit-label input[type="submit"] {cursor: not-allowed;}
#contact .form .submit-btn .submit-label.active:hover input[type="submit"] {opacity: .7;}
#contact .form .submit-btn .submit-label.active:hover .more:before {transform: translateY(-50%) scale(1.25,1.25);}
#contact .form .submit-btn .submit-label.active,
#contact .form .submit-btn .submit-label.active input[type="submit"] {cursor: pointer;}

#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 {display: block; width: 100%; background: #fff; border: 1px solid #333; border-radius: .25em; box-sizing: border-box; resize: vertical; transition: .5s ease;}
#contact .form select {position: relative; border: none; cursor: pointer; overflow: hidden; z-index: 1;}
#contact .form .select {display: block; position: relative; border: 1px solid #333; border-radius: .25em; z-index: 1;}
#contact .form .select:before {content: ""; position: absolute; right: 20px; top: 9px; width: 12px; height: 12px; display: block; border-top: 1px solid #333; border-right: 1px solid #333; transform: rotate(135deg); z-index: 2;}
#contact .form input[type="text"]:focus,
#contact .form input[type="email"]:focus,
#contact .form input[type="tel"]:focus,
#contact .form input[type="date"]:focus,
#contact .form input[type="datetime-local"]:focus,
#contact .form textarea:focus {border-color: #67ba46;}

#contact .form input[type="radio"],
#contact .form input[type="checkbox"],
#contact .form input[type="acceptance"] {display: none;}
#contact .form input[type="radio"] + span.wpcf7-list-item-label,
#contact .form input[type="checkbox"] + span.wpcf7-list-item-label,
#contact .form input[type="acceptance"]+ span.wpcf7-list-item-label {display: inline-flex; align-items: flex-start; cursor: pointer;}
#contact .form input[type="checkbox"] + span.wpcf7-list-item-label:before,
#contact .form input[type="acceptance"] + span.wpcf7-list-item-label:before,
#contact .form input[type="radio"] + span.wpcf7-list-item-label:before {position: relative; display: block; background: #fff; border: 1px solid #333; margin-right: 10px; transition: .3s ease;}

#contact .form input[type="checkbox"] + span.wpcf7-list-item-label:before,
#contact .form input[type="acceptance"] + span.wpcf7-list-item-label:before {width: 20px; height: 20px;}
#contact .form input[type="radio"] + span.wpcf7-list-item-label:before {top: 2px; width: 15px; height: 15px; border-radius: 50%; transition: .3s ease;}

#contact .form span.wpcf7-list-item-label {display: block; position: relative;}
#contact .form input[type="checkbox"] + span.wpcf7-list-item-label:after {width: 10px; height: 5px; transform: rotate(-45deg); content: ''; position: absolute; top: 5px; left: 4px; border: 3px solid #fff; border-top: none; border-right: none; transition: .3s ease; opacity: 0;}
#contact .form input[type="radio"] + span.wpcf7-list-item-label:after {width: 12px; height: 12px; content: ''; position: absolute; left: 3px; top: 5px; background: #333; border-radius: 50%; transition: .3s ease; opacity: 0;}

#contact .form input[type="checkbox"]:checked + span.wpcf7-list-item-label:after,
#contact .form input[type="radio"]:checked + span.wpcf7-list-item-label:after {opacity: 1;}
#contact .form input[type="checkbox"]:checked + span.wpcf7-list-item-label:before,
#contact .form input[type="acceptance"]:checked + span.wpcf7-list-item-label:before {background: #333;}

#contact .form input[type="submit"] {transition: .3s ease;}
#contact .form input[type="submit"]:hover {opacity: .7;}

#contact .form .consent {text-align: center;}
#contact .form .consent p {margin-bottom: 1em; line-height: 1.75;}
#contact .form .consent h2 {margin-bottom: .75em;}

/*--------------------------------------------------------------------------
プライバシーポリシー (privacy.php)
--------------------------------------------------------------------------*/
#privacy .page-heading .img img {object-position: 50% 70%; font-family: "object-fit: cover; object-position: 50% 70%;";}
/* article部分の記号を１文字分に調整 */
#privacy .space {width: 1em; display: inline-block; text-align: center;}
#privacy .space.ta-l {width: 1em; text-align: left;}
#privacy .privacy p.message {line-height: 1.75; text-align: justify;}
#privacy .privacy h3 {font-weight: 700;}
#privacy .privacy .sec-section p {line-height: 1.75;}
#privacy .privacy p.pb {padding-bottom: 0.75em;}
#privacy .privacy ol {padding-left: 1em; box-sizing: border-box;}
#privacy .privacy ol li {line-height: 1.75; list-style-type: decimal;}
#privacy .privacy p.mb1 {margin-bottom: 1em;}


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

/*--------------------------------------------------------------------------
納入実績一覧 (archive-performance.php)
--------------------------------------------------------------------------*/
#archive-performance .page-heading .img img {object-position: 50% 60%; font-family: "object-fit: cover; object-position: 50% 60%;";}

#archive-performance .performance-list .entry {position: relative;}
#archive-performance .performance-list .entry {text-align: center;}
#archive-performance .performance-list .entry a {display: block;}
#archive-performance .performance-list .entry .img {padding-top: 60%; position: relative; border-radius: 16px; overflow: hidden;}
#archive-performance .performance-list .entry .img img {width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;'; transition: .5s ease;}

/*--------------------------------------------------------------------------
実績一覧 (archive-works.php)
--------------------------------------------------------------------------*/
#archive-works .page-heading .img img {object-position: 50% 66%; font-family: "object-fit: cover; object-position: 50% 60%;";}

#archive-works .works-list {flex-wrap: wrap;} 
#archive-works .works-list .entry {position: relative; border-radius: 16px; overflow: hidden;}
#archive-works .works-list .entry a {display: block;}
#archive-works .works-list .entry .img {padding-top: 100%; position: relative;}
#archive-works .works-list .entry .img img {width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;'; transition: .5s ease;}
#archive-works .works-list .entry .filter {justify-content: center; align-items: center; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgba(51,51,51, .6); opacity: 0; transition: .5s ease;  z-index: 2;}
#archive-works .works-list .entry a:hover .img img {transform: scale(1.1,1.1); opacity: 1;}
#archive-works .works-list .entry a:hover .filter {opacity: 1;}
#archive-works .works-list .entry .filter h2 {color: #fff; font-weight: 700; text-align: center;}

/*--------------------------------------------------------------------------
実績個別 (single-works.php)
--------------------------------------------------------------------------*/
#single-works .page-heading .img img {object-position: 50% 60%; font-family: "object-fit: cover; object-position: 50% 60%;";}

#single-works .single-works .title {margin-bottom: 2em; border-bottom: 1px solid #333;}
#single-works .single-works .title .year {color: #67ba46;}
#single-works .single-works .title h2 {margin-bottom: .25em; font-weight: 700;}

#single-works .single-works #works-single-slider {overflow: hidden;}
#single-works .single-works #works-single-slider .slick-list .entry img {width: 100%; height: 100%; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;';}

#single-works .single-works #works-single-slider-thumb .entry {width: calc(91% / 10); max-width: 100px; border-radius: 8px; cursor: pointer; display: inline-block; overflow: hidden; position: relative;}
#single-works .single-works #works-single-slider-thumb .entry:not(:last-child) {margin-right: 1%;}
#single-works .single-works #works-single-slider-thumb .entry .img {padding-top: 100%; position: relative;}
#single-works .single-works #works-single-slider-thumb .entry .img img {width: 100%; height: 100%; position: absolute; top:0; left:0; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;';}
#single-works .single-works #works-single-slider-thumb .entry .filter {position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgba(51,51,51, .6); opacity: 0; transition: .5s ease;}
#single-works .single-works #works-single-slider-thumb .entry.thumb-current .filter {opacity: 1;}
#single-works .single-works #works-single-slider-thumb .entry.thumb-current {cursor: default; pointer-events: none;} 

#single-works .works-list {flex-wrap: wrap;}
#single-works .works-list .entry {position: relative; border-radius: 8px; overflow: hidden;}
#single-works .works-list .entry .img {width: 100%; padding-top: 100%; overflow: hidden;}
#single-works .works-list .entry .img img {width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;'; transition: .5s ease;}
#single-works .works-list .entry .filter {justify-content: center; align-items: center; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgba(51,51,51, .6); opacity: 0; transition: .5s ease;  z-index: 2;}
#single-works .works-list .entry a:hover .img img {transform: scale(1.1,1.1); opacity: 1;}
#single-works .works-list .entry a:hover .filter {opacity: 1;}
#single-works .works-list .entry .filter h3 {color: #fff; font-weight: 700; text-align: center;}

#single-works .works .more-wrap {text-align: center;}

/*--------------------------------------------------------------------------
NEWS個別 (single-news.php)
--------------------------------------------------------------------------*/
#single-news .page-heading .img img {object-position: 50% 20%; font-family: "object-fit: cover; object-position: 50% 20%;";}

#single-news .post-article .title,
#single-news .other-news .title {margin: 0 0 20px; padding-bottom: .2em; font-weight: 700; border-bottom: 1px solid #333;}

#single-news .post-article .date {margin-bottom: .625em;}
#single-news .post-article .date time {color: #67ba46; margin-right: .25em;}
#single-news .post-article .date .cate a {display: inline-block; color: #aaaab3; font-size: .9em; text-align: center; margin-left: .125em; padding: .125em .5em; border: 1px solid #bfbfbf; border-radius: .25em; box-sizing: border-box;}
#single-news .post-article .date .cate a:hover {background: #67ba46; border-color: #67ba46; color: #fff;}

#single-news .other-news .other-news-list {flex-wrap: wrap;}
#single-news .other-news .other-news-list .entry {position: relative; border-radius: 8px; overflow: hidden;}
#single-news .other-news .other-news-list .entry .img {padding-top: 100%; overflow: hidden;}
#single-news .other-news .other-news-list .entry .img img {width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;'; transition: .5s ease;}
#single-news .other-news .other-news-list .entry .filter {justify-content: center; align-items: center; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgba(51,51,51, .6); opacity: 0; transition: .5s ease;  z-index: 2;}
#single-news .other-news .other-news-list .entry a:hover .img img {transform: scale(1.1,1.1); opacity: 1;}
#single-news .other-news .other-news-list .entry a:hover .filter {opacity: 1;}
#single-news .other-news .other-news-list .entry .filter h3 {padding: 0 1em; color: #fff; font-weight: 700; text-align: center;}

/*--------------------------------------------------------------------------
ブログ一覧 (archive-blog.php)
--------------------------------------------------------------------------*/
#archive-blog .page-heading .img img {object-position: 50% 70%; font-family: "object-fit: cover; object-position: 50% 70%;";}

/*--------------------------------------------------------------------------
ブログ個別 (single-blog.php)
--------------------------------------------------------------------------*/
#single-blog .post-article .title {font-weight: 700; text-align: center;}
#single-blog .post-article .data {justify-content: flex-end; align-items: center;}
#single-blog .post-article .data time {display: flex; align-items: center; color: #aaaab3; font-size: .95em; margin-right: .75em;}
#single-blog .post-article .data time:before {content: ""; position: relative; width: .95em; height: .95em; margin-right: .5em; background: url(../img/common/icon-clock.svg) no-repeat;}
#single-blog .post-article .data .cate a {display: block; color: #aaaab3; font-size: .9em; text-align: center; margin-left: .5em; padding: .25em .75em; border: 1px solid #bfbfbf; border-radius: .25em; box-sizing: border-box;}
#single-blog .post-article .data .cate a:hover {background: #67ba46; border-color: #67ba46; color: #fff;}

/*--------------------------------------------------------------------------
得々ミニ情報タイトル一覧 (mini-info-title.php)
--------------------------------------------------------------------------*/
#mini-info-title .mini-info-title-list .entry {border-bottom: 1px solid #333;}
#mini-info-title .mini-info-title-list .entry a {position: relative; display: block;}
#mini-info-title .mini-info-title-list .entry a:after {content: ""; position: absolute; bottom: 0; left: auto; right: 0; width: 0; height: 1px; background: #333; transition: .75s ease;}
#mini-info-title .mini-info-title-list .entry a:hover:after {width: 100%; left: 0; right: auto;}
#mini-info-title .mini-info-title-list .entry h3 {display: flex; align-items: center; flex-wrap: wrap;}
#mini-info-title .mini-info-title-list .entry .date {color: #fff; font-size: .875em; font-weight: 700; text-align: center; white-space: nowrap; background: #67ba46; margin-right: 1em; padding: .075em .5em; border-radius: .25em;}
#mini-info-title .mini-info-title-list .entry .number {margin-right: .5em;}

/*--------------------------------------------------------------------------
リンク集一覧 (archive-link_collection.php)
--------------------------------------------------------------------------*/
#archive-link_collection .link-category {border-bottom: 1px solid #7b7b7b; font-weight: 700;}

#archive-link_collection .link-list {overflow: hidden;}
#archive-link_collection .link-list:last-of-type {margin-bottom: 0;}
#archive-link_collection .link-list .entry dl {border-radius: 5px; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease;}
#archive-link_collection .link-list .entry dl:hover {background: rgb(103 186 70 / 0.2);}
#archive-link_collection .link-list .entry a {display: block;}
#archive-link_collection .link-list .entry a:hover {opacity: .7;}
#archive-link_collection .link-list .entry dt {font-weight: 700; line-height: 1.75;}
#archive-link_collection .link-list .entry dd {color: #1F8ECB; line-height: 1.75; display: inline-block;}

/*--------------------------------------------------------------------------
投稿汎用要素
--------------------------------------------------------------------------*/
#single {word-wrap: break-word;}
#single * {text-align: initial;}

#single h2,
#single h3,
#single h4,
#single h5,
#single h6 {position: relative; font-weight: 700;}

#single p {line-height: 1.75; margin: 0 0 30px 0;}
#single a {text-decoration: underline;}
#single em {font-style: italic;}
#single strong {font-weight: 700;}
#single sup, #single sub {font-size: .5em;}
#single sup {vertical-align: top;}
#single sub {vertical-align: bottom;}
#single blockquote {position: relative; margin: 0 0 30px 0; padding: 30px; background: #eee;}
#single blockquote p {margin-bottom: 0;}
#single blockquote.wp-block-quote cite {display: block; text-align: right;}
#single .wp-block-pullquote {width: 100%;}
#single .wp-block-pullquote blockquote {padding: 30px;}
#single .wp-block-pullquote cite {display: block; text-align: right;}
#single code {display: block; color: #fff; margin: 0 0 30px 0; padding: 20px; background: #364549;}
#single hr {border-top-color: #000;}
#single pre {margin: 0 0 30px 0;}

#single ul,
#single ol {margin: 0 0 30px 0;}
#single ul li,
#single ol li {margin-left: 1.5em; line-height: 2.5;}
#single ul {list-style-type: disc;}
#single ul li {list-style-type: inherit;}
#single ol {list-style-type: decimal;}
#single ol li {list-style-type: inherit;}
#single ul ul,
#single ol ol,
#single ul ol,
#single ol ul {margin: 0 0 0 1.75em;}

#single table {border-collapse: collapse; text-align: left; line-height: 1.5;}
#single table thead th,
#single table thead td,
#single table tfoot th,
#single table tfoot td {background: #eee; font-weight: 700;}
#single table tr {border-bottom: 1px solid #000;}
#single table tr:last-child {border-bottom: none;}
#single table thead th,
#single table thead td {padding: 1rem 1rem;}
#single table th,
#single table td {font-family: initial; padding: 0.75rem 1rem;}
#single table th {background: #eee;}

#single .wp-block-table {width: 100%;}
#single .scroll-table {margin: 0 0 30px 0;}

#single .wp-caption {display: block; max-width: 100%; margin: 0 0 30px 0;}
#single .wp-caption img {display: block;}
#single .wp-caption-text {font-size: .95rem; line-height: 1.5; text-align: left; padding: 10px 15px;}

#single .aligncenter {display: block; margin: 0 0 30px 0;}
#single .alignright {float: right;}
#single .alignleft {float: left;}
#single img.aligncenter {margin: 0 auto;}
#single img.alignleft {margin-right: auto;}
#single img.alignright {margin-left: auto;}

#single figure {display: inline-block; margin: 0 0 30px 0;}
#single figcaption {font-size: .85rem; text-align: center;}
#single figure.wp-block-image figcaption {margin: 0; padding: 8px 0;}
#single .wp-block-gallery {margin: 0 0 30px 0;}
#single .wp-block-gallery .blocks-gallery-grid {margin-bottom: 0;}
#single .wp-block-gallery .blocks-gallery-item {margin: 10px 10px;}
#single .wp-block-gallery .blocks-gallery-item figure {margin: 0;}
#single .wp-block-gallery .blocks-gallery-item .blocks-gallery-item__caption {width: calc(100% - 20px); font-size: .85rem; text-align: left; background: rgba(0,0,0, .3); margin: 0; padding: 8px 10px;}

#single .wp-block-media-text {align-items: start; margin: 0 0 30px 0;}
#single .wp-block-media-text figure.wp-block-media-text__media {display: block; margin: 0; padding: 0;}
#single .wp-block-media-text figure.wp-block-media-text__media img {width: auto; max-width: 100%;}
#single .wp-block-media-text .wp-block-media-text__content {text-align: center; padding: 0 20px;}
#single .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {padding: 0 20px 0 0;}
#single .wp-block-media-text p.has-large-font-size {margin: 0!important;}

#single .wp-block-cover {margin: 0 0 30px 0;}

#single .wp-block-pullquote {position: relative; margin: 0 0 30px 0; padding: 20px 0;}
#single .wp-block-pullquote blockquote {background: #fff; margin: 0; padding: 30px 0; border: 2px solid #333!important; border-left: none!important; border-right: none!important;}
#single .wp-block-pullquote blockquote p {font-size: 1.35rem; margin: 0 0 20px 0;}

#single .wp-block-button {margin: 0 0 30px 0;}
#single .wp-block-button a {display: inline-block; color: #fff; background: #333; padding: 8px 20px; text-decoration: none!important; border-radius: 36px;}
#single .wp-block-button a:hover {color: #333; background: #fff; opacity: 1;}

#single .wp-block-file {margin: 0 0 30px 0;}
#single .wp-block-file__button,
#single .wp-block-button__link {display: inline-block; color: #fff; background: #333; padding: 8px 14px; text-decoration: none!important; border-radius: 36px;}
#single .wp-block-file__button:hover,
#single .wp-block-button__link:hover {color: #333; background: #fff; opacity: 1;}

#single .wp-block-columns {}
#single .wp-block-column {margin: 0 16px 20px 0;}
#single .wp-block-column:last-child {margin: 0 0 20px 0;}

#single .wp-block-embed {display: block;}

/*--------------------------------------------------------------------------
404.php
--------------------------------------------------------------------------*/
#notfound {display: flex; flex-direction: column; justify-content: center; align-items: center;}
#notfound * {text-align: center;}
#notfound h1 {margin-bottom: .325em; line-height: 1;}
#notfound h2 {margin-bottom: .75em; font-weight: 700;}
#notfound p {line-height: 2; text-align: center;}
#notfound p.link-to-top-page {margin-bottom: 0; text-align: center;}
#notfound p.link-to-top-page a {display: inline-block;}