@charset "utf-8";
/*!
Theme Name: kawamoto
Author: arrows inc.
Author URI: https://arrows-web.net/
Description: This is an original theme using splus05 created by Arrows Co., Ltd.
Version: 2.0.0
*/
/*=================================================================================================
  CSS reset
=================================================================================================*/
html,body,div,span,object,iframe,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,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;box-sizing: border-box;}
body{line-height:1;-webkit-text-size-adjust:100%;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
blockquote,q{quotes:none;}
blockquote:before, blockquote:after,q:before,q:after{content:'';content:none;}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
/********** 任意色変更 **********/
ins{background-color:#ff9;color:#000;text-decoration:none;}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold;}
del{text-decoration:line-through;}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help;}
table{border-collapse:collapse;border-spacing:0;}
hr{display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0;}
/********** 任意配置変更 **********/
input,select{vertical-align:middle;}
ul,ol {padding-left: 1.5rem;}
nav ul {list-style: none;padding-left: 0;}
p {margin-bottom: 1.5rem;}
/********** img **********/
img{display: block;}
/*=================================================================================================
  Write standard CSS for the entire site
=================================================================================================*/
:root {
--both-ends: 13rem;
--both-ends-sp: 5%;
--font-size: 17;
--font-size-sp: 15;
--font-bld: 600;
--font-nml: 500;
--color-def: #222;
--color-theme: #00733f;
--color-theme-hover: #009a00;
--color-lime: #6bdd2e;
--color-bg-gry: #f7f7f7;
--color-bg-grn: #dfefea;
--sec-mt: 7rem;
--sec-mt-sp: 4rem;
--area-pdg: 6rem 0;
--border-color: #ddd;
--border-radius: 10px;
}
@media (max-width: 600px) {
	:root {
	--area-pdg: 3rem 0;
	}
}
html {font-size: calc( var(--font-size) / 16 * 1rem );}
body {font-family: "Inter","Zen Kaku Gothic New","Noto Sans JP","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-feature-settings: "palt";font-weight: var(--font-nml);line-height: 1.8;letter-spacing: 0.05rem;margin: 0;padding: 0;color: var(--color-def);display: flex;flex-direction: column;min-height: 100vh;}
@media (max-width: 1180px) {
	html {font-size: calc( var(--font-size-sp) / 16 * 1rem );}
}
/*=================================================================================================
  Layout
=================================================================================================*/
header {color: #fff;}
nav ul {list-style-type: none;padding: 0;}
nav ul li {display: inline;margin-right: 10px;}
main {flex: 1;width: 100%;}
.content-area {width: 100%;}
.sub-content-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;box-sizing:border-box;padding:0 5%;}
.sub-content-area {width: calc(95% - 300px);order: 2;}
#secondary {width: 300px;order: 1;}
footer {color: var(--color-def);margin-top: 5rem;padding: 3rem 0 0;border-top: 1px solid var(--border-color);width: 100%;background: var(--color-bg-gry);}
.sticky-wrap {position: sticky;top: 170px;}
@media (max-width: 1180px) {
	.sub-content-area {width: calc(95% - 250px);}
	#secondary {width: 250px;}
}
@media (max-width: 834px) {
	.sub-content-area {width: 100%;margin-bottom: 3rem;order: 1;}
	#secondary {width: 100%;order: 2;}
}
@media (max-width: 500px) {
	footer {padding: 2rem 0 0;}
}
/*
Loading
-------------------------------------------------------------------------------------------------*/
/********** Loader base **********/
#loader.loader{position: fixed;inset: 0;z-index: 9999;display: flex;align-items: center;justify-content: center;background:linear-gradient(180deg, #efefef 0%, #e6e6e6 100%);opacity: 1;visibility: visible;transition: opacity 0.8s ease,visibility 0.8s ease;overflow: hidden;}
#loader.loader.is-hidden{opacity: 0;visibility: hidden;pointer-events: none;}
/* 背景にうっすらグリッド感を追加 */
#loader.loader::before{content: "";position: absolute;inset: 0;background-image:linear-gradient(rgba(0,0,0,0.025) 1px, transparent 1px),linear-gradient(90deg, rgba(0,0,0,0.025) 1px, transparent 1px);
background-size: 32px 32px;mask-image: radial-gradient(circle at center, #000 35%, transparent 90%);pointer-events: none;}
.loader__inner{position: relative;z-index: 1;display: flex;flex-direction: column;align-items: center;gap: 28px;}
/* Circle area */
.loader__circle{position: relative;width: 280px;height: 280px;display: flex;align-items: center;justify-content: center;}
.loader__ring{width: 100%;height: 100%;overflow: visible;}
.loader__base-ring{fill: none;stroke: rgba(0,0,0,0);stroke-width: 1;}
.loader__text-rotate{transform-origin: 120px 120px;animation: loaderRotate 10s linear infinite;}
.loader__text{fill: var(--color-theme);font-size: 11px;font-weight: 600;letter-spacing: 3.8px;text-transform: uppercase;}
/* Center logo */
.loader__logo{position: absolute;inset: 0;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 10px;text-align: center;}
.loader__logo img{width: 100px;height: auto;display: block;}
/* Meta / progress */
.loader__meta{width: 220px;display: flex;flex-direction: column;gap: 10px;}
.loader__label{margin: 0;font-size: 10px;font-weight: 700;letter-spacing: 0.28em;color: var(--color-theme);text-align: center;}
.loader__progress{position: relative;width: 100%;height: 1px;background: rgba(0,0,0,0.12);overflow: hidden;}
.loader__progress-bar{position: absolute;top: 0;left: -40%;width: 40%;height: 100%;background: var(--color-theme);animation: loaderProgress 1.8s ease-in-out infinite;}
/* Animations */
@keyframes loaderRotate{from{transform: rotate(0deg);}to{transform: rotate(360deg);}}
@keyframes loaderProgress{0%{left: -40%;}100%{left: 100%;}}
/* Page loaded animation */
body.is-loaded #loader.loader .loader__circle{transform: scale(0.96);transition: transform 0.8s ease;}
@media (max-width: 767px){
	.loader__circle{width: 220px;height: 220px;}
	.loader__meta{width: 180px;}
	.loader__logo-mark{width: 58px;height: 58px;font-size: 24px;}
	.loader__logo-name{font-size: 9px;letter-spacing: 0.18em;line-height: 1.6;}
	.loader__text{font-size: 12px;letter-spacing: 3px;}
}
/********** #loader SlideOut **********/
#loader1,#loader2,#loader3 {display: block;position: fixed;top: 0;left: 0;width: 100%;height: 100vh;z-index: 101;background-color: red;}
#loader1 .loading-logo,#loader2 .loading-logo {position: absolute;top: 0;left: 0;right: 0;bottom: 0;margin: auto;width: 160px;height: 50px;text-align: center;color: #fff;font-size: 30px;}
#loader1 .loading-logo img,#loader2 .loading-logo img {width: 100%;height: auto;}
#loader1 .loading-logo::before {content: "";display: block;width: 100%;height: 110%;background-color: red;position: absolute;top: 0;left: 100%;animation: loadLogo 1.5s;}
@keyframes loadLogo {
	0% {left: 0;}50% {left: 0;}100% {left: 100%;}
}
#loader1.open {animation: slideOut forwards 2s 2s;}
@keyframes slideOut {
	0% {transform: translateX(0%);}50% {transform: translateX(0%);}100% {transform: translateX(100%);}
}
/* #loader2 FadeInOut */
#loader2 .loading-logo {animation: loadLogo2 1s;}
@keyframes loadLogo2 {
	0% {transform: scale(0);}70% {transform: scale(0);}100% {transform: scale(1);}
}
#loader2.open {animation-name: fadeOut;animation-fill-mode: forwards;animation-duration: 2s;animation-delay: 2s;}
@keyframes fadeOut {
	0% {transform: scale(1);}80% {transform: scale(1);}100% {transform: scale(0);}
}
/* #loader3 LOGO UnderFadeIn */
#loader3 {display: flex;align-items: center;justify-content: center;animation: underFadeIn 1.5s 2.5s forwards;}
@keyframes underFadeIn {
	0% {opacity: 1;}100% {opacity: 0;visibility: hidden;}
}
#loader3 .loading-logo {opacity: 0;animation: logo-fadeIn 2s 0.5s forwards;width: 160px;}
@keyframes logo-fadeIn {
	0% {opacity: 0;transform: translateY(20px);}60% {opacity: 1;transform: translateY(0);}100% {opacity: 0;}
}
/********** #loader4 ShutterOpen **********/
#loader4 {position: fixed;top: 0;left: 0;right: 0;bottom: 0;background-color: #1e1e1e;z-index: 9999;animation: byeShutter 2.6s forwards;}
#loader4::before {content: '';position: absolute;top: 0;left: 0;bottom: 0;margin: auto;background-color: #f3f3f3;width: 0;height: 1px;animation: shutterOpen 2.6s forwards;}
@keyframes byeShutter {
	70% {opacity: 1;}100% {opacity: 0;display: none;z-index: -1;}
}
@keyframes shutterOpen {
	0% {width: 0;height: 1px;}50% {width: 100%;height: 1px;}90% {width: 100%;height: 100%;}100% {width: 100%;height: 100%;}
}
/*
Inner
-------------------------------------------------------------------------------------------------*/
.wide-inner {box-sizing:border-box;padding:0 var(--both-ends);width:100%;}
.inner {margin:0 auto;width:1280px;}
@media (max-width: 1920px) {
	.wide-inner {padding:0 5%;}
}
@media (max-width: 1366px) {
	.inner {width:89.84375%;}
}
@media (max-width: 960px) {
	.inner {box-sizing:border-box;padding:0 5%;width:100%;}
}
/*
Heading @320px to @1200px
-------------------------------------------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {font-weight: var(--font-bld);color: var(--colo-def);margin: 7rem 0 .5rem;letter-spacing: 0.08rem;}
h1 {font-size: clamp(2.375rem, 2.148rem + 1.14vw, 3rem);}/* @38px to @48px */
h2 {font-size: clamp(1.875rem, 1.648rem + 1.14vw, 2.5rem);}/* @30px to @40px */
h3 {font-size: clamp(1.438rem, 1.21rem + 1.14vw, 2.063rem);}/* @23px to @33px */
h4 {font-size: clamp(1.25rem, 1.068rem + 0.91vw, 1.75rem);}/* @20px to @28px */
h5 {font-size: clamp(1.125rem, 1.011rem + 0.57vw, 1.438rem);}/* @18px to @23px */
.sub-content-wrap h1,.sub-content-wrap h2,.sub-content-wrap h3,.sub-content-wrap h4,.sub-content-wrap h5,.sub-content-wrap h6 {margin: 1rem 0 .5rem;}
/*
Image Icon
-------------------------------------------------------------------------------------------------*/
img {max-width: 100%;height: auto;}
/*
Link
-------------------------------------------------------------------------------------------------*/
.link-area {position: relative;transition: 0.3s;}
.link-area .link {position: absolute;display: block;top: 0;left: 0;width: 100%;height: 100%;}
.link-area:hover {opacity: 0.7;}
/* anchor */
a.anchor {display: block;}
/********** 外部リンクボタン **********/
a.obl-btn {display:inline-block;border: 1px solid #000;margin: .5rem 0;padding: .6rem 1.5rem;color: var(--color-def);text-decoration: none;transition: .3s;}
a.obl-btn[href^="http"]:after,
a.obl-btn[href^="//"]:after {margin: 0 0 0 5px;position: relative;top: 2px;font-family: "Material Icons";content: '\e89e';}
a.obl-btn[href^="http://arrowscms14.xsrv.jp/test"]:after {margin: inherit;font-family: inherit;content: '';font-weight: inherit;}
a:hover.obl-btn {opacity: .6;}
@media (max-width: 500px) {
	a.obl-btn {display:block;text-align: center;}
}
/* 
PDF
-------------------------------------------------------------------------------------------------*/
/********** PDFリンクボタン **********/
a.pdf-btn {display: block;width:300px;color: var(--color-def);border: 1px solid var(--color-theme);box-sizing: border-box;padding: .6rem 1.5rem .6rem 3.8rem;text-align: left;text-decoration: none;position: relative;transition-duration: 0.3s;}
a.pdf-btn:hover {  opacity: .7;}
a.pdf-btn:before {display: inline-block;position: absolute;top: 50%;transform: translateY(-50%);left: .7rem;font-family: "Material Icons";content: '\e415';font-size: calc(22 / 16 * 1rem);}
a.pdf-btn:after {content: "";display: inline-block;width: 1px;height: 100%;background-color: var(--color-theme);box-shadow: 0px 0px 2px 0px rgb(255, 255, 255);position: absolute;top: 0;left: 2.8rem;}
@media (max-width: 1180px) {
	a.pdf-btn:before {margin-top: .1rem;}
}
@media (max-width: 500px) {
	a.pdf-btn {width:100%;}
}
/********** PDF制御 **********/
@media (max-width: 1180px){
	.wp-block-file:before {content: "※下記のPDFは1枚目のみの表示となっております。全てを閲覧する場合は、下記の「～を閲覧する」をタップしてご覧ください。ダウンロードの場合は、ダウンロードボタンをタップしてください。";color: red;}
	.wp-block-file a {font-size: 1.6rem;}
	.wp-block-file a:after {content: "の全てを閲覧する";}
	a.wp-block-file__button:after {content: ""!important;}
	a.wp-element-button:after {content: ""!important;}
	.wp-block-file .wp-block-file__embed {display: block!important;}
}
/* 
Tel-to-link
-------------------------------------------------------------------------------------------------*/
a.tel {color: var(--color-def);text-decoration: none;font-size: 120%;font-weight: var(--font-bld);}
a.tel::before {font-family: "Material Icons";content: "\e0b0";font-size: 85%;margin-right: .3rem;position: relative;top: .1rem;}
/********** 電話番号リンクをスマホのみ有効 **********/
a[href*="tel:"] {color: inherit;text-decoration: none;}
a:hover[href*="tel:"] {opacity: 1;}
@media (min-width: 501px) {
	a[href*="tel:"] {pointer-events: none;}
}
/*
Ul Ol Design
-------------------------------------------------------------------------------------------------*/
/********** maru-lst **********/
ul.maru-lst {list-style: none;margin: 0;padding: 0;}
ul.maru-lst li {position: relative;padding-left: 24px;}
ul.maru-lst li::before {content: '';display: inline-block;position: absolute;top: 10px;left: 0;width: 10px;height: 10px;background-color: var(--color-theme);border-radius: 5px;}
/*チェックマーク*/
ul.check-lst {list-style: none;margin: 0;padding: 0;}
.check-lst li {position: relative;padding-left: 25px;}
.check-lst li::before {content: "";position: absolute;top: .4em;left: 0;transform: rotate(50deg);width: 5px;height: 10px;border-right: 3px solid var(--color-theme-hover);border-bottom: 3px solid var(--color-theme-hover);}
/********** num-lst **********/
ol.num-lst li::marker {font-weight: var(--font-bld);color: var(--color-theme);}
/*
Table
-------------------------------------------------------------------------------------------------*/
table {border-collapse: collapse;border-spacing: 0;width: 100%;margin: 1rem 0;}
table th,table td {border: 1px solid #ddd;padding: 10px;}
table th {background: var(--color-bg-gry);text-align: left;}
/********** Rps-table **********/
@media (max-width: 640px) {
	.rps-table {border: 1px solid #ccc;}
	.rps-table tr {border-bottom: 1px solid #ddd;}
	.rps-table tr:last-child {border-bottom: none;}
	.rps-table th, .rps-table td {display: list-item;list-style-type: none;border: none;}
	.rps-table th {width: 100%;}
}
/********** Cp-table **********/
.cp-table td p {margin-bottom: 0;}
@media (max-width: 640px) {
	.cp-table {border: 1px solid #ccc;}
	.cp-table thead {display:none;}
	.cp-table tbody tr {border-bottom: 1px solid #ddd;}
	.cp-table tbody th {display:block;width: 100%;border: none;}
	.cp-table tbody td {display:block;border: none;border-bottom:1px dotted #ddd;}
	.cp-table tbody td::before {content: attr(label);float: left;clear:both;font-weight:bold;}
	.cp-table tbody td:last-child {border-bottom: none;}
	.cp-table tbody td p,.cp-table tbody td ul {margin: 0;padding:0 0 0 10em;}
}
/********** scroll **********/
.scroll {overflow: auto;}
.scroll table {table-layout: fixed;margin: 1.5rem 0;}
@media (max-width: 834px){
	.scroll table {width: 1080px;}
}
/*
Box
-------------------------------------------------------------------------------------------------*/
/********** box01 角丸グレー背景 **********/
.box01 {margin: .5rem 0;padding: 1rem;background-color: var(--color-bg-gry);border: 1px solid var(--border-color);border-radius: 8px;}
/********** box02 シャドー付き白背景 **********/
.box02 {margin: .5rem 0;padding: 1rem;background-color: #fff;border: 1px solid var(--border-color);box-shadow: 0 1px 3px 0 rgba(195, 195, 195, 0.3);}
/********** box03 点線枠白背景 **********/
.box03 {margin: .5rem 0;padding: 1rem;border: 1px dashed #cdcdcd;background: #fcfcfc;box-shadow: 0 1px 3px 0 rgba(195, 195, 195, 0.3);}
/********** box04 色背景 **********/
.box04 {margin: .5rem 0;padding: 1rem;background: #FFF2CC;box-shadow: 0 1px 3px 0 rgba(195, 195, 195, 0.3);}
/*
Font
-------------------------------------------------------------------------------------------------*/
.content-area p,.sub-content-area p {margin-bottom: 1.5rem;}
/********** font-family **********/
.ffG {font-family: "Inter","Zen Kaku Gothic New","Noto Sans JP","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;}
.ffM {font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;}
.fwB {font-weight: var(--font-bld);}
.fwN {font-weight: var(--font-nml);}
/********** font-size **********/
.text50 {font-size: 50%!important;}.text60 {font-size: 60%!important;}.text70 {font-size: 70%!important;}.text80 {font-size: 80%!important;}.text90 {font-size: 90%!important;}.text100 {font-size: 100%!important;}.text110 {font-size: 110%!important;}.text120 {font-size: 120%!important;}.text130 {font-size: 130%!important;}.text140 {font-size: 140%!important;}.text150 {font-size: 150%!important;}.text160 {font-size: 160%!important;}.text170 {font-size: 170%!important;}.text180 {font-size: 180%!important;}.text190 {font-size: 190%!important;}.text200 {font-size: 200%!important;}
/********** font-color **********/
.red {color: red!important;}.white {color: white!important;}.grn {color: var(--color-theme)!important;}.l-grn {color: var(--color-theme-hover)!important;}
/********** text-align **********/
.taL {text-align: left!important;}.taC {text-align: center!important;}.taR {text-align: right!important;}
.right {margin: 0 0 0 auto!important;}
/* 
Widget_categories
-------------------------------------------------------------------------------------------------*/
.widget_categories {margin-top: 2rem;border-top: 1px solid var(--border-color);}
.widget_categories h2.widgettitle {display: none;}
.widget_categories ul {list-style-type: none;margin: 0;padding: 0;border-bottom: none;}
.widget_categories ul li {border-bottom: 1px solid var(--border-color);position: relative;}
.widget_categories ul li::after {position: absolute;top: 1.5rem;right: 10px;content: '';width: 7px;height: 7px;border-top: 2px solid var(--color-theme);border-right: 2px solid var(--color-theme);transform: rotate(45deg); transition: all .3s;}
.widget_categories ul li a {display: block;padding: .7rem;color: var(--color-def);text-decoration: none;transition: .3s;}
.widget_categories ul li a:hover {color: var(--color-theme);background: var(--color-bg-gry);}
.widget_categories ul li ul.children li {margin-left: 1rem;}
.widget_categories ul li ul.children li:first-child {border-top: 1px solid var(--border-color);}
.widget_categories ul li ul.children li:last-child {border-bottom: none;}
/* 
Css-scroll-animetion
-------------------------------------------------------------------------------------------------*/
.scroll-in,.scroll-up,.scroll-left,.scroll-right {opacity: 0;transition: opacity 1.4s cubic-bezier(0.22, 1, 0.36, 1),transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);will-change: opacity, transform;}
/* 初期位置 */
.scroll-wrap {overflow: hidden;}
.scroll-in {transform: scale(0.95);}
.scroll-up {transform: translateY(40px) scale(0.98);}
.scroll-left {transform: translateX(40px);}
.scroll-right {transform: translateX(-40px);}
/* 表示後 */
.scroll-in.is-show,.scroll-up.is-show,.scroll-left.is-show,.scroll-right.is-show {opacity: 1;transform: translate(0, 0) scale(1);}
.scroll-up.is-show {transition-delay: 0.1s;}
/* SP */
@media (max-width: 768px) {
	.scroll-up {transform: translateY(16px) scale(0.98);}
	.scroll-left {transform: translateX(16px);}
	.scroll-right {transform: translateX(-16px);}
}
/* アクセシビリティ */
@media (prefers-reduced-motion: reduce) {
	.scroll-in,.scroll-up,.scroll-left,.scroll-right {opacity: 1;transform: none;transition: none;}
}
/********** timing ｜ 時差 **********/
.timing02 {transition-delay: .2s;}
.timing03 {transition-delay: .4s;}
.timing04 {transition-delay: .6s;}
.timing05 {transition-delay: .8s;}
/********** text-anime ｜ 1文字ずつ出現 **********/
.txt-anime span {opacity: 0;}
.txt-anime.appeartext span { animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {0% {opacity:0;}100% {opacity:1;}}
/*
Page-top
-------------------------------------------------------------------------------------------------*/
/********** pagetop1 四角 **********/
.pagetop1 {width: 40px;height: 40px;position: fixed;right: 0;bottom: 0;background: var(--color-theme);transition: .3s;}
.pagetop1 a {width: 40px;height: 40px;position: relative;display: block;text-decoration: none;transition: .3s;}
.pagetop1 a::before {content: "";display: block;width: 10px;height: 10px;border-top: 1px solid #fff;border-right: 1px solid #fff;transform: rotate(-45deg);position: absolute;top: 5px;bottom: 0;right: 0;left: 0;margin: auto;text-align: center;}
.pagetop1:hover {opacity: 0.7;}
/********** pagetop1 四角 **********/
.pagetop2 {width: 40px;height: 40px;position: fixed;right: 0;bottom: 0;border: 1px solid var(--color-theme);background: rgba(255,255,255,.7);}
.pagetop2 a {width: 40px;height: 40px;position: relative;display: block;text-decoration: none;transition: .3s;}
.pagetop2 a::before {content: "";display: block;width: 10px;height: 10px;border-top: 1px solid var(--color-theme);border-right: 1px solid var(--color-theme);transform: rotate(-45deg);position: absolute;top: 10px;bottom: 0;right: 0;left: 0;margin: 0 auto;text-align: center;}
.pagetop2 a::after {content: "上部へ";position: absolute;bottom: 3px;right: 0;left: 0;margin: auto;text-align: center;font-size: 10px;letter-spacing: 0.01rem;font-weight: var(--font-bld);color: var(--color-theme);}
.pagetop2 a:hover {opacity: 0.7;}
/********** pagetop3 上片方矢印PAGETOP **********/
.pagetop3 {position: fixed;right: 1rem;bottom: 0;display: inline-block;width: 2px;height: 44px;margin-right: 10.6px;border-radius: 9999px;background-color: var(--color-theme);cursor: pointer;}
.pagetop3::before {content: "";position: absolute;top: 0;left: calc(50% - 1px);width: 2px;height: 17px;border-radius: 9999px;background-color: var(--color-theme);transform: rotate(-45deg);transform-origin: 50% 1px;}
.pagetop3::after {content: "PAGETOP";writing-mode: vertical-rl;position: absolute;bottom: 0;right: 3px;font-size: calc(8 / 16 * 1rem);letter-spacing: 0.01rem;font-weight: var(--font-bld);}
.pagetop3 a {display: block;width: 100%;height: 100%;transition: .3s;}
.pagetop3:hover {opacity: 0.7;}
/********** pagetop4 上矢印 **********/
.pagetop4 {width: 40px;position: fixed;right: 0;bottom: 0;border-top: 3px solid var(--color-theme);text-align: center;cursor: pointer;transition: .3s;}
.pagetop4::before {display:none;}
.pagetop4::after {content:"";display:inline-block;width: 32.5px;height: 27px;background: var(--color-theme);clip-path: polygon(0 60.2%, 50% 0, 100% 60.2%, 73.1% 60.2%, 73.1% 100%, 26.9% 100%, 26.9% 60.2%);position: relative;top: 5px;}
.pagetop4:hover {opacity: 0.7;}
/*=================================================================================================
# Margin-Padding
=================================================================================================*/
.main-mt {margin-top: var(--sec-mt);}
.no-obi-mt {margin-top: 7rem;}
/* 
Margin
-------------------------------------------------------------------------------------------------*/
.m0 {margin: 0!important;}.mt0 {margin-top: 0!important;}.mr0 {margin-right: 0!important;}.mb0 {margin-bottom: 0!important;}.ml0 {margin-left: 0!important;}
.m05rem {margin: 0.5rem!important;}.mt05rem {margin-top: 0.5rem!important;}.mr05rem {margin-right: 0.5rem!important;}.mb05rem {margin-bottom: 0.5rem!important;}.ml05rem {margin-left: 0.5rem!important;}
.m1rem {margin: 1rem!important;}.mt1rem {margin-top: 1rem!important;}.mr1rem {margin-right: 1rem!important;}.mb1rem {margin-bottom: 1rem!important;}.ml1rem {margin-left: 1rem!important;}
.m2rem {margin: 2rem!important;}.mt2rem {margin-top: 2rem!important;}.mr2rem {margin-right: 2rem!important;}.mb2rem {margin-bottom: 2rem!important;}.ml2rem {margin-left: 2rem!important;}
.m3rem {margin: 3rem!important;}.mt3rem {margin-top: 3rem!important;}.mr3rem {margin-right: 3rem!important;}.mb3rem {margin-bottom: 3rem!important;}.ml3rem {margin-left: 3rem!important;}
.m4rem {margin: 4rem!important;}.mt4rem {margin-top: 4rem!important;}.mr4rem {margin-right: 4rem!important;}.mb4rem {margin-bottom: 4rem!important;}.ml4rem {margin-left: 4rem!important;}
.m5rem {margin: 5rem!important;}.mt5rem {margin-top: 5rem!important;}.mr5rem {margin-right: 5rem!important;}.mb5rem {margin-bottom: 5rem!important;}.ml5rem {margin-left: 5rem!important;}
.m6rem {margin: 6rem!important;}.mt6rem {margin-top: 6rem!important;}.mr6rem {margin-right: 6rem!important;}.mb6rem {margin-bottom: 6rem!important;}.ml6rem {margin-left: 6rem!important;}
.m7rem {margin: 7rem!important;}.mt7rem {margin-top: 7rem!important;}.mr7rem {margin-right: 7rem!important;}.mb7rem {margin-bottom: 7rem!important;}.ml7rem {margin-left: 7rem!important;}
.m8rem {margin: 8rem!important;}.mt8rem {margin-top: 8rem!important;}.mr8rem {margin-right: 8rem!important;}.mb8rem {margin-bottom: 8rem!important;}.ml8rem {margin-left: 8rem!important;}
.m9rem {margin: 9rem!important;}.mt9rem {margin-top: 9rem!important;}.mr9rem {margin-right: 9rem!important;}.mb9rem {margin-bottom: 9rem!important;}.ml9rem {margin-left: 9rem!important;}
.m10rem {margin: 10rem!important;}.mt10rem {margin-top: 10rem!important;}.mr10rem {margin-right: 10rem!important;}.mb10rem {margin-bottom: 10rem!important;}.ml10rem {margin-left: 10rem!important;}
.mb1_5rem {margin-bottom: 1.5rem!important;}
/* 
Padding
-------------------------------------------------------------------------------------------------*/
.p0 {padding: 0!important;}.pt0 {padding-top: 0!important;}.pr0 {padding-right: 0!important;}.pb0 {padding-bottom: 0!important;}.pl0 {padding-left: 0!important;}
.p05rem {padding: 0.5rem!important;}.pt05rem {padding-top: 0.5rem!important;}.pr05rem {padding-right: 0.5rem!important;}.pb05rem {padding-bottom: 0.5rem!important;}.pl05rem {padding-left: 0.5rem!important;}
.p1rem {padding: 1rem!important;}.pt1rem {padding-top: 1rem!important;}.pr1rem {padding-right: 1rem!important;}.pb1rem {padding-bottom: 1rem!important;}.pl1rem {padding-left: 1rem!important;}
.p2rem {padding: 2rem!important;}.pt2rem {padding-top: 2rem!important;}.pr2rem {padding-right: 2rem!important;}.pb2rem {padding-bottom: 2rem!important;}.pl2rem {padding-left: 2rem!important;}
.p3rem {padding: 3rem!important;}.pt3rem {padding-top: 3rem!important;}.pr3rem {padding-right: 3rem!important;}.pb3rem {padding-bottom: 3rem!important;}.pl3rem {padding-left: 3rem!important;}
.p4rem {padding: 4rem!important;}.pt4rem {padding-top: 4rem!important;}.pr4rem {padding-right: 4rem!important;}.pb4rem {padding-bottom: 4rem!important;}.pl4rem {padding-left: 4rem!important;}
.p5rem {padding: 5rem!important;}.pt5rem {padding-top: 5rem!important;}.pr5rem {padding-right: 5rem!important;}.pb5rem {padding-bottom: 5rem!important;}.pl5rem {padding-left: 5rem!important;}
.p6rem {padding: 6rem!important;}.pt6rem {padding-top: 6rem!important;}.pr6rem {padding-right: 6rem!important;}.pb6rem {padding-bottom: 6rem!important;}.pl6rem {padding-left: 6rem!important;}
.p7rem {padding: 7rem!important;}.pt7rem {padding-top: 7rem!important;}.pr7rem {padding-right: 7rem!important;}.pb7rem {padding-bottom: 7rem!important;}.pl7rem {padding-left: 7rem!important;}
.p8rem {padding: 8rem!important;}.pt8rem {padding-top: 8rem!important;}.pr8rem {padding-right: 8rem!important;}.pb8rem {padding-bottom: 8rem!important;}.pl8rem {padding-left: 8rem!important;}
.p9rem {padding: 9rem!important;}.pt9rem {padding-top: 9rem!important;}.pr9rem {padding-right: 9rem!important;}.pb9rem {padding-bottom: 9rem!important;}.pl9rem {padding-left: 9rem!important;}
.p10rem {padding: 10rem!important;}.pt10rem {padding-top: 10rem!important;}.pr10rem {padding-right: 10rem!important;}.pb10rem {padding-bottom: 10rem!important;}.pl10rem {padding-left: 10rem!important;}
/*=================================================================================================
  Page - Single Common
=================================================================================================*/
/*
Signage
-------------------------------------------------------------------------------------------------*/
.signage-short {width: 100%;aspect-ratio: 16 / 3;position: relative;background: #eaeaea;background-repeat: no-repeat;background-position: center center;background-size: cover;display: table;}
.signage {width: 100%;aspect-ratio: 16 / 6;position: relative;background: #eaeaea;background-repeat: no-repeat;background-position: center center;background-size: cover;display: table;}
.signage-content {padding: 1.5rem;min-width: 500px;position: absolute;left: 0;bottom: 0;background: white;border-top-right-radius: 20px;}
.signage-content .inverse-corner {display: block;width: 20px;height: 20px;position: absolute;overflow: hidden;right: 0;top: auto;left: auto;bottom: 0;transform: translateX(100%) scaleY(-1) rotate(180deg);}
.signage-content .inverse-corner::before {display: block;width: 200%;height: 200%;content: '';background: transparent;border-radius: 50%;box-shadow: 20px 20px 0 0 white;transform: translate(-50%, -50%);}
.signage-title {font-size: clamp(1.438rem, 1.21rem + 1.14vw, 2.063rem);margin-top: 2rem;position: relative;padding-left: 1em;}
.signage-title::after {position: absolute;top: 50%;left:0;transform:translateY(-50%);content: '';width: 20px;height:4px;background-color: var(--color-theme-hover);}
.not-signage {background: #eaeaea;background-repeat: no-repeat;background-position: center center;background-size: cover;display: table;height: 10vh;position: relative;width: 100%;}
@media (max-width: 1366px) {
	.signage-short {aspect-ratio: 16 / 4;}
}
@media (max-width: 900px) {
	.signage-content {padding: .5rem 3rem .5rem 1.5rem;min-width: auto;}
}
@media (max-width: 640px) {
	.signage {aspect-ratio: 16 / 10;}
	.signage-short {aspect-ratio: 16 / 6;}
}
@media (max-width: 480px) {
	.signage-short {aspect-ratio: 16 / 8;}
	.signage-content {padding: .3rem 3rem .3rem 1.5rem;}
	.signage-title {margin-top: 1rem;}
}
/*
Breadcrumb
-------------------------------------------------------------------------------------------------*/
.breadcrumb-content {padding: .2rem 1.5rem;font-size: 80%;}
.breadcrumb-content ul {list-style: none;padding: 0;color:#999;}
.breadcrumb-content ul li {display: inline;}
.breadcrumb-content ul li a {color: inherit;text-decoration: none;}
.breadcrumb-content ul li + li::before {content: ">";margin:.5em;}
@media (max-width: 1920px) {
	.breadcrumb-content {padding: .2rem 1.5rem;}
}
/*
Prev-next navi
-------------------------------------------------------------------------------------------------*/
#prev-next {display: flex;justify-content: space-between;border-top: 1px solid var(--border-color);border-bottom: 1px solid var(--border-color);padding: 1rem 0;}
#prev-next a {color: var(--color-def);text-decoration: none;}
#prev-next p {font-size: 90%;margin-bottom: 0;}
#prev-next #prev {margin-right: .8rem;}
#prev-next #prev-title::before,#prev-next #next-title::after {font-family: "Material Icons";content: "\e5c4";margin-right: .5rem;position: relative;top: .1rem;color: var(--color-theme);}
#prev-next #next-title::after {content: "\e5c8";margin-right: 0;margin-left: .5rem;}
/*
Toback-wrap
-------------------------------------------------------------------------------------------------*/
.toback-wrap {text-align: center;margin-top: 2rem;}
.toback {position: relative;display: inline-block;padding: .9em 4em;background-color: var(--color-theme);color: #fff;text-align: center;text-decoration: none;}
.toback::after {position: absolute;top: 50%;right: .8em;content: '';margin-top: -5px;border: 7px solid transparent;border-top-width: 5px;border-bottom-width: 5px;border-left-color: #fff;opacity: 0;}
.toback:hover::after {animation: arrow 1.2s infinite;}
@keyframes arrow {50% {right: .2em;opacity: 1;}100% {right: -.4em;opacity: 0;}}
/*
Pagination
-------------------------------------------------------------------------------------------------*/
.pagination {margin: 4rem 0;text-align: center;}
.pagination ul {font-size: 0;list-style: none;padding: 0;}
.pagination ul li {font-size: 1rem;display: inline-block;margin-right: .75rem;}
.pagination ul li:last-child {margin-right: 0;border: 0;}
.pagination ul li a,.pagination ul li .current {font-weight: 600;line-height: 1;display: block;padding: .75rem .875rem;border: 1px solid #ddd;}
.pagination ul li a {text-decoration: none;color: var(--color-def);}
.pagination ul li .current {color: #fff;background-color: var(--color-theme);}
.pagination ul li .prev,.pagination ul li .next {padding: .75rem .5rem;border: 0;}
.pagination ul li i {font-size: 1rem;color: #1d2d43;}
@media (max-width: 580px) {
	.pagination {margin: 3rem 0;}
	.pagination ul li a {padding: .5rem .675rem;}
}
/*
Side-menu
-------------------------------------------------------------------------------------------------*/
#secondary li::marker {content:'';}
#secondary li{list-style-type: none;}
.side-menu {margin:3em 0;}
.side-menu ul {list-style-type: none;margin: 0;padding: 0;}
.side-menu ul.s-navi {border-bottom: none;}
.side-menu ul.s-navi li {border-bottom: 1px solid var(--border-color);position: relative;}
.side-menu ul.s-navi li::after {position: absolute;top: 45%;right: 10px;content: '';width: 7px;height: 7px;border-top: 2px solid var(--border-color);border-right: 2px solid var(--border-color);transform: rotate(45deg); transition: all .3s;}
.side-menu ul.s-navi li:hover::after {right: 5px;border-top: 2px solid var(--color-theme);border-right: 2px solid var(--color-theme);}
.side-menu ul.s-navi li a {display: block;padding: .7rem;color: var(--color-def);text-decoration: none;transition: .3s;}
.side-menu ul.s-navi li a:hover {color: var(--color-theme);}
/* 現在値 */
.side-menu ul.s-navi li.current_page_item::after {border-top: 2px solid var(--color-theme);border-right: 2px solid var(--color-theme);}
.side-menu ul.s-navi li.current_page_item a {color: var(--color-theme);}
/* 先頭 */
.side-menu ul.s-navi li:first-child::before {position: absolute;content: "\e5df";font-family: "Material Icons";padding: .25rem;color: var(--color-theme);font-size: 140%;}
.side-menu ul.s-navi li:first-child::after {border-top: none;border-right: none;}
.side-menu ul.s-navi li:first-child a {padding: .5rem .7rem .7rem 1.7rem;font-weight: var(--font-bld);}
.side-menu ul.s-navi li:first-child a:hover {padding: .5rem .7rem .7rem 2rem;}
/*=================================================================================================
  Single
=================================================================================================*/
/* 
Cat-ymd-wrap
-------------------------------------------------------------------------------------------------*/
.cat-ymd-wrap {display: flex;justify-content: space-between;font-size: 80%;margin-top: .5rem;}
.cat-ymd-wrap .ymd {display: inline-block;background: var(--color-theme);color: #fff;padding: 0 .5rem .1rem;}
.cat-ymd-wrap .cat a {border: 1px solid var(--border-color);color: var(--color-def);text-decoration: none;padding: .1rem .5rem .2rem;}
.single-signage-title {margin: 1rem 0 3rem;font-size: clamp(1.25rem, 1.068rem + 0.91vw, 1.75rem);}
@media (max-width: 768px) {
	.cat-ymd-wrap {flex-direction: column;}
	.cat-ymd-wrap .ymd {display: block;margin-bottom: 1rem;}
}
/*=================================================================================================
  Archive
=================================================================================================*/
/* 
Archive-cnt-wrap
-------------------------------------------------------------------------------------------------*/
ul.archive-cnt-wrap {position: relative;display: flex;flex-flow: row wrap;border-bottom: 1px solid var(--border-color);padding: 2rem 0;transition: .3s;}
ul.archive-cnt-wrap:first-of-type {border-top: 1px solid var(--border-color);}
ul.archive-cnt-wrap li {display: block;margin: 0 .5rem;}
ul.archive-cnt-wrap li:first-child {flex-basis: 170px;}
ul.archive-cnt-wrap li:nth-child(2) {background: var(--color-theme);color: #fff;font-size: 70%;padding: .2rem .5rem 0;text-align: center;}
ul.archive-cnt-wrap li:nth-child(3) {flex-basis: auto;}
ul.archive-cnt-wrap::after {position: absolute;top: 50%;transform: translateY(-50%);right: 0;font-family: "Material Icons";content: "\e089";font-size: 120%;}
ul.archive-cnt-wrap .link {display: block;position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
ul.archive-cnt-wrap:hover {background: var(--color-bg-gry);}
@media (max-width: 1180px) {
	ul.archive-cnt-wrap li:first-child {flex-basis: 140px;}
}
@media (max-width: 950px) {
	ul.archive-cnt-wrap li:nth-child(3) {flex-basis: 100%;margin-top: .5rem;}
}
/*
Archive-eyecatch
-------------------------------------------------------------------------------------------------*/
/********** archive-nav-menu **********/
.archive-nav-menu { max-width: 100%; margin: 20px auto; }
.archive-nav, .archive-nav ul.children { list-style: none; padding: 0; margin: 0; }
@media (min-width: 768px) {
    .archive-nav { display: flex; flex-wrap: wrap; gap: 10px; border-bottom: 2px solid #e0e0e0; padding-bottom: 12px; position: relative; margin-bottom: 80px; }
    .archive-nav > .cat-item { position: static; }
    .archive-nav > .cat-item > a { display: block; padding: 10px 24px; background-color: var(--color-bg-grn); color: var(--color-def); text-decoration: none; font-weight: bold; border-radius: 6px 6px 0 0; transition: all 0.3s ease; }
    .archive-nav > .cat-item > a:hover { background-color: var(--color-theme); color: #fff; }
    .archive-nav > .cat-item.current-cat > a, .archive-nav > .cat-item.current-cat-parent > a { background-color: var(--color-theme); color: #fff; }
    .archive-nav .children { display: none; position: absolute; left: 0; top: 100%; width: 100%; flex-wrap: wrap; gap: 8px; padding: 15px 0 0 0; }
    .archive-nav > .cat-item.current-cat .children, .archive-nav > .cat-item.current-cat-parent .children { display: flex; }
}
.archive-nav .children .cat-item { margin: 0; }
.archive-nav .children a { display: block; margin-top: 1rem; padding: 6px 14px; background-color: #fff; color: #666; text-decoration: none; font-size: 85%; border: 1px solid #ddd; border-radius: 20px; white-space: nowrap; transition: all 0.2s ease; }
.archive-nav .children a:hover, .archive-nav .children .current-cat > a { background-color: var(--color-bg-gry); color: var(--color-theme); border-color: var(--color-theme); }
@media (max-width: 767px) {
    .archive-nav { display: flex; flex-direction: column; gap: 5px; }
    .archive-nav > .cat-item > a { display: block; padding: 12px 15px; background-color: var(--color-bg-grn); color: var(--color-def); text-decoration: none; font-weight: bold; font-size: 14px; border-radius: 4px; }
    .archive-nav > .cat-item.current-cat > a, .archive-nav > .cat-item.current-cat-parent > a { background-color: var(--color-theme); color: #fff; }
    .archive-nav .children { display: none; flex-wrap: wrap; gap: 6px; padding: 10px 0 10px 15px; }
    .archive-nav > .cat-item.current-cat .children, .archive-nav > .cat-item.current-cat-parent .children { display: flex; }
}
/********** archive-eye-wrap **********/
.archive-eye-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;}
.archive-eye-wrap::before {content: "";display: block;height: 0;order: 1;}
.archive-eye-wrap::after {content: "";display: block;height: 0;}
.archive-eye-wrap::before,.archive-eye-wrap::after,.archive-eye-col {width: 24%;margin-bottom: 2rem;}
.archive-eye-col {background: var(--color-bg-gry);cursor: pointer;}
.archive-eye-col a {color: var(--color-def);text-decoration: none;}
.archive-eye-col img {display: block;width: 100%;height: 400px;object-fit: cover;font-family: 'object-fit: cover;';}
.archive-eye-col-txtarea {padding: 1.5rem;}
.archive-eye-col-txtarea .ymd {font-size: 90%;}
.archive-eye-col-txtarea .ttl {font-weight: var(--font-bld);margin-bottom: .5rem;}
.archive-eye-col-txtarea ul.post-categories {list-style: none;padding-left: 0;font-size: 90%;}
.archive-eye-col-txtarea ul.post-categories li {display: inline-block;border: 1px solid var(--border-color);margin-bottom: .3rem;padding: .1rem .5rem;}
.archive-eye-col-txtarea ul.post-categories li a {display: block;width: 100%;height: 100%;text-decoration: none;color: var(--color-def);}
@media (max-width: 1780px) {
	.archive-eye-col img {height: 300px;}
}
@media (max-width: 1300px) {

	.archive-eye-col img {height: 250px;}
}
@media (max-width: 1024px) {
	.archive-eye-wrap::before,.archive-eye-wrap::after,.archive-eye-col {width: 48%;}
}
@media (max-width: 500px) {
	.archive-eye-wrap {flex-direction: column;}
	.archive-eye-wrap::before,.archive-eye-wrap::after,.archive-eye-col {width: 100%;}
}
/*=================================================================================================
  Search
=================================================================================================*/
/*
Search-form
-------------------------------------------------------------------------------------------------*/
.widget_search label {display: none;}
input.wp-block-search__input,.wp-block-search__button {height: 40px;}
input.wp-block-search__input {width: calc(98% - 44px);}
.wp-block-search__button {background: var(--color-theme);padding: 0 .5rem;transition: .3s;border: var(--color-theme);}
.wp-block-search__button i {vertical-align: middle;color: #fff;}
.wp-block-search__button:hover {opacity: 0.7;}
@media (max-width: 834px) {
	input.wp-block-search__input {width: calc(98% - 40px);}
}
/*
Search-cnt-wrap
-------------------------------------------------------------------------------------------------*/
ul.search-cnt-wrap {position: relative;display: flex;flex-flow: row wrap;border-bottom: 1px solid var(--border-color);padding: 2rem 0;transition: .3s;}
ul.search-cnt-wrap:first-of-type {border-top: 1px solid var(--border-color);}
ul.search-cnt-wrap::after {position: absolute;top: 50%;transform: translateY(-50%);right: 0;font-family: "Material Icons";content: "\e089";font-size: 120%;}
ul.search-cnt-wrap li {display: block;margin: 0 .5rem;padding-right: 1.5rem;}
ul.search-cnt-wrap li:first-child {font-size: 110%;font-weight: var(--font-bld);}
ul.search-cnt-wrap .link {display: block;position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
ul.search-cnt-wrap:hover {background: var(--color-bg-gry);}
/*=================================================================================================
  404
=================================================================================================*/
/*
404-ttl-area
-------------------------------------------------------------------------------------------------*/
.notfound-ttl-area {background: #e0e0e0;padding: 2rem;margin-bottom: 5rem;}
.notfound-area {margin-top: 2rem;padding-top: 2rem;border-top: 1px solid #ccc;}
a.notfound-btn {display: block;box-sizing: border-box;text-decoration: none;text-align: center;color: var(--color-def);border: 1px solid #666;max-width: 250px;margin: 2rem auto 0;padding: 1rem;transition: .3s;}
a.notfound-btn:hover {background: #fff;}
/*=================================================================================================
  Footer
=================================================================================================*/
/* 
Footer-adds-area
-------------------------------------------------------------------------------------------------*/
.footer-smp-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;}
.footer-smp-col {width: calc((92% - 360px) / 2);font-size: calc(14 / 16 *1rem);margin-bottom: 1rem;}
.footer-smp-col:first-child {width: 360px;}
.footer-smp-col:first-child p {color: #666;}
.footer-smp-col:first-child .btn-grn {font-size: 15px;}
.footer-smp-col ul {list-style: none;padding: 0;}
.footer-smp-col ul a {color: #666;text-decoration: none;}
/* 親li */
.footer-smp-col > ul {list-style: none;padding: 0;margin: 0;}
.footer-smp-col > ul > li {border-bottom: 1px solid #eee;padding-bottom: 20px;margin-bottom: 20px;}
.footer-smp-col > ul > li > a {position: relative;display: block;padding-right: 50px;}
.footer-smp-col > ul > li > a:hover {opacity: 0.7;}
.footer-smp-col > ul > li > a::before {content: "";position: absolute;right: 10px;top: 50%;transform: translateY(-50%);width: 16px;height: 16px;border: 1px solid #666;border-radius: 50%;transition: 0.3s;}
.footer-smp-col > ul > li > a::after {content: "";position: absolute;right: 16px;top: 50%;transform: translateY(-50%);width: 8px;height: 2px;background: #666;transition: 0.3s;}
.footer-smp-col > ul > li > a > span::before,
.footer-smp-col > ul > li > a > span::after {content: "";position: absolute;right: 15px;top: 50%;width: 6px;height: 2px;background: #666;transform-origin: right center;transition: 0.3s;}
.footer-smp-col > ul > li > a > span::before {transform: translateY(-50%) rotate(45deg);}
.footer-smp-col > ul > li > a > span::after {transform: translateY(-50%) rotate(-45deg);}
.footer-smp-col > ul > li > a:hover::before {transform: translate(5px, -50%);}
.footer-smp-col > ul > li > a:hover::after {transform: translate(5px, -50%);}
.footer-smp-col > ul > li > a:hover > span::before {transform: translate(5px, -50%) rotate(45deg);}
.footer-smp-col > ul > li > a:hover > span::after {transform: translate(5px, -50%) rotate(-45deg);}
/* 子li */
.footer-smp-col > ul > li > ul {list-style: none;padding: 0;margin: 7px 0 0;}
.footer-smp-col > ul > li > ul > li {border: none;margin: 0;padding: 0;}
.footer-smp-col > ul > li > ul > li > a {position: relative;display: block;padding: 3px 0 3px 20px;font-size: calc(12 / 16 *1rem);}
.footer-smp-col > ul > li > ul > li > a:hover {opacity: 0.7;}
.footer-smp-col > ul > li > ul > li > a::before,
.footer-smp-col > ul > li > ul > li > a::after {content: "";position: absolute;top: calc(50% - 1px);left: 0;width: 7px;height: 1px;border-radius: 9999px;background-color: #111;transform-origin: calc(100% - 1px) 50%;}
.footer-smp-col > ul > li > ul > li > a::before {transform: rotate(45deg);}
.footer-smp-col > ul > li > ul > li > a::after {transform: rotate(-45deg);}
/*.footer-smp-col:first-child */
.footer-smp-col:first-child > ul {margin-top: 1rem;}
.footer-smp-col:first-child > ul > li {border-bottom: none;padding-bottom: 0;margin-bottom: 0;}
.footer-smp-col:first-child > ul > li > a {position: relative;display: block;padding: 3px 0 3px 20px;font-size: calc(12 / 16 *1rem);}
.footer-smp-col:first-child > ul > li > a::before {border: none;}
.footer-smp-col:first-child > ul > li > a::after {height: 0;}
.footer-smp-col:first-child > ul > li > a::before,
.footer-smp-col:first-child > ul > li > a::after {content: "";position: absolute;top: calc(50% - 1px);left: 0;width: 7px;height: 1px;border-radius: 9999px;background-color: #111;transform-origin: calc(100% - 1px) 50%;}
.footer-smp-col:first-child > ul > li > a::before {transform: rotate(45deg);}
.footer-smp-col:first-child > ul > li > a::after {transform: rotate(-45deg);}
/*.footer-smp-col:first-child span */
.footer-smp-col:first-child p {font-size: calc(12 / 16 *1rem);}
@media (max-width: 1180px) {
	.footer-smp-col {width: calc((92% - 320px) / 2);}
	.footer-smp-col:first-child {width: 320px;}
	.footer-smp-col:first-child .btn-grn {font-size: 13px;}
	.footer-smp-col:first-child .btn-grn:after {top: 13px;}
}

@media (max-width: 720px) {
	.footer-smp-col {width: 48%;margin-bottom: 0;order: 1;}
	.footer-smp-col:first-child {width: 100%;margin-top: 0;margin-bottom: 2rem;order: 3;}
}
@media (max-width: 430px) {
	.footer-smp-col:first-child p {margin-bottom: .5rem;}
	.footer-smp-col:first-child > ul {margin-top: .5rem;}
	.footer-smp-col:first-child .btn-grn {display: inline-block;margin-bottom: 0;padding: .4rem 1.5rem .4rem .6rem;}
	.footer-smp-col:first-child .btn-grn:after {top: 13px;right: 12px;}
}
@media (max-width: 220px) {
	.footer-smp-col {width: 100%;margin-bottom: 0;}
}
/* 
Footer-social-area
-------------------------------------------------------------------------------------------------*/
.footer-social-area {text-align: right;}
.footer-social-area ul.social {padding: 0;}
.footer-social-area ul.social li {display:inline-block;margin-right:.5rem;}
.footer-social-area ul.social li:last-child {margin-right:0;}
.footer-social-area ul.social li span {display:none;}
.footer-social-area ul.social li a {color: var(--color-def);text-decoration: none;}
.footer-social-area ul.social li a[href*="/feed/"]:before {font-family: "Font Awesome 5 Free";font-weight: 900;content: "\f09e";}
.footer-social-area ul.social li a[href*="x.com"]:before {font-family: "Font Awesome 5 Brands";font-weight: 900;content: "\e61b";} 
.footer-social-area ul.social li a[href*="facebook.com"]:before {font-family: "Font Awesome 5 Brands";font-weight: 900;content: "\f082";}
.footer-social-area ul.social li a[href*="instagram.com"]:before {font-family: "Font Awesome 5 Brands";font-weight: 900;content: "\f16d";}
@media (max-width: 960px) {
	.footer-social-area ul.social {margin: 0;padding: 0;position: static;bottom: 0;}
}
/* 
Fix-under-menu
-------------------------------------------------------------------------------------------------*/
ul.fix-under-menu {display:none;list-style:none;}
@media (max-width: 500px) {
	ul.fix-under-menu {margin:0 auto;padding: 0;line-height: 50px;width:100%;overflow:hidden;display:table;table-layout:fixed;text-align:center;font-size: calc(12 / 16 * 1rem);position:fixed;bottom:0;left:0;background:#000;z-index:80;}
	ul.fix-under-menu li {margin:0;padding:0;display:table-cell;vertical-align:middle;list-style-type:none;border-right:1px solid rgba(255,255,255,.2);}
	ul.fix-under-menu li:first-child {background: #222;}
	ul.fix-under-menu li:last-child {border-right:none;}
	ul.fix-under-menu li a {border:none;display:block;color:#fff;text-decoration:none;}
	ul.fix-under-menu li a::before {font-family: "Material Icons";content: "\e0b0";margin-right: .2rem;position: relative;top: 2px;}
	ul.fix-under-menu li:nth-child(2) a::before {content: "\e158";}
}
/* 
Copyright
-------------------------------------------------------------------------------------------------*/
.copyright {background: var(--color-bg-grn);padding: 1rem;}
.copyright p {font-size: calc(12 / 16 * 1rem);text-align: right;margin: 0;}
@media (min-width: 450px) {
	.copyright p{display: none;}
}
/*=================================================================================================
  Top-content
=================================================================================================*/
/* 
Header
-------------------------------------------------------------------------------------------------*/
:root {
--header-height: 60px;
--header-height-sp: 50px;
--li-width: calc(100% / 4);
--li-height: 50px;
--mega-w: 450px;
}
@media (max-width: 1280px) {
	:root {
	--mega-w: 340px;
	}
}
/********** header **********/
.header {position: fixed;transition: color 0.4s ease-out;width: 100%;z-index: 90;margin-top: 20px;}
.header a {color: #000;text-decoration: none;transition: .3s;}
.header ul li {margin: 0;}
/********** header-inner **********/
.header-inner {position: relative;display: flex;justify-content: space-between;align-items: center;width: calc(100% - 12rem);height: var(--header-height);background: rgba(255,255,255,.8);border-radius: var(--border-radius);margin-left: 2rem;letter-spacing: 0.05rem;}
.header-item:first-child {margin-left: 1rem;margin-right: auto;}
.header-item:nth-child(3) {background: var(--color-def);margin-right: 0.5rem;padding: 0.3rem 0.8rem;border-radius: 999px;font-size: 85%;transition: 0.3s;}
.header-item:last-child {background: var(--color-theme-hover);margin-right: 1rem;padding: 0.3rem 0.8rem;border-radius: 999px;font-size: 85%;transition: 0.3s;}
.header-item:nth-child(3) a,.header-item:last-child a {color: #fff;}
.header-item:nth-child(3):hover,.header-item:last-child:hover {filter: brightness(1.2);opacity: 1;}
/* header-logo */
.header-logo {font-size: calc(16 /16 * 1rem);width: 290px;height: auto;margin: 0;}
@media (max-width: 1180px) {
	.header-inner {flex-wrap: wrap;width: calc(100% - 11rem);height:var(--header-height-sp);margin-left: 1rem;}
	.header-item:first-child {margin-left: 1rem;}
	.header-item:last-child {margin-right: 1rem;}
	.header-logo {width: 203px;}
}
@media (max-width: 750px) {
	.header-item:nth-child(3),.header-item:last-child {display: none;}
}
@media (max-width: 450px) {
	.header-inner {width: calc(100% - 6rem);}
}
/********** global-nav **********/
.menu-container {/*font-weight: var(--font-bld);*/z-index: 88;letter-spacing:0.05rem;}
.global-nav ul {position: relative;display: flex;justify-content: center;align-items: center;list-style: none;margin: 0;padding: 0;width: var(--mega-w);}
/** 2階層目 **/
.global-nav ul li {width: var(--li-width);margin: 0;}
.global-nav ul li a {display: block;text-align: center;/*height: var(--li-height);line-height: var(--li-height);*/position: relative;cursor: pointer;}
.global-nav ul li a:hover {color: var(--color-theme-hover);}
/** 3階層目 **/
.global-nav ul ul.sub-menu {display: flex;flex-wrap: wrap;justify-content: flex-start;margin: 0;padding: 0;}
.global-nav ul li ul li {width: calc(100% / 3);}
.global-nav ul li ul li a {padding: 0.5rem 0;font-size: 85%;letter-spacing: 0.04rem;}
.global-nav ul li ul li a:hover {color: var(--color-theme-hover);}
.global-nav ul li ul li a:hover::after{opacity: 0;}
/* normal-menu 親にクラスをふる */
.global-nav ul li.normal-menu ul.sub-menu {left: auto;width: var(--li-width);}
.global-nav ul li.normal-menu ul li {width: 100%;}
/* mega-menu 親にクラスをふる　子要素をタイトルとして表示　孫要素*/
.global-nav ul li.mega-menu > ul.sub-menu {position: absolute;left: 50%;transform: translateX(-50%);flex-wrap: wrap;justify-content: space-between;align-items: stretch;width: 100vw;margin-left: calc(-50vw + (var(--mega-w) / 2) + var(--both-ends));padding: 2rem;}
.global-nav ul li.mega-menu ul li.menu-item-has-children {width: 48%;}
.global-nav ul li.mega-menu ul li.menu-item-has-children a {border-bottom: 1px solid red;}
.global-nav ul li.mega-menu ul li.menu-item-has-children ul {width: 100%;}
.global-nav ul li.mega-menu ul li.menu-item-has-children ul li {width: 100%;padding: 0;}
.global-nav ul li.mega-menu ul li.menu-item-has-children ul li a {border-bottom: 1px solid #999;}
/* mega-menu　最初の子要素が左側にタイトルとして表示　残りを2カラムで表示する
.global-nav ul li.mega-menu > ul.sub-menu {position: absolute;left: 50%;transform: translateX(-50%);display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;width: 100vw;margin-left: calc(-50vw + (var(--mega-w) / 2) + var(--both-ends));padding: 2rem;}
.global-nav ul li.mega-menu ul.sub-menu li {width: 32%;}
.global-nav ul li.mega-menu ul.sub-menu li:first-child {font-size: 120%;}
.global-nav ul li.mega-menu ul.sub-menu li:first-child ~ li {border-bottom: 1px solid #999;}
.global-nav ul li.mega-menu ul.sub-menu li:nth-child(2n) {margin-left: 34%;}
.global-nav ul li.mega-menu ul.sub-menu li:nth-child(2) {margin-left: 0;}
.global-nav ul li.mega-menu ul.sub-menu li a {text-align: left;}
 */
/* 下の階層を持っているulの指定 */
.global-nav > ul > li > ul {position: absolute;visibility: hidden;width: 100%;opacity: 0;top: 54px;left: 0;transition: all .3s;z-index: 89;border-radius: var(--border-radius);background: rgba(255,255,255,.8);}
.global-nav > ul > li > ul > li:hover {background: rgba(255,255,255,.8);}
.global-nav > ul > li > ul > li:first-child:hover {border-radius: var(--border-radius) 0 0 var(--border-radius);}
.global-nav > ul > li > ul > li:last-child:hover {border-radius: 0 var(--border-radius) var(--border-radius) 0;}
.global-nav > ul > li > ul > li a {color: var(--color-def);}
/* hoverしたら表示 */
.global-nav li.menu-item-has-children:hover > ul,
.global-nav li.menu-item-has-children ul li:hover > ul,
.global-nav li.menu-item-has-children:active > ul,
.global-nav li.menu-item-has-children ul li:active > ul{visibility: visible;opacity: 1;}
@media (max-width: 1920px) {
	.global-nav > ul > li.mega-menu > ul.sub-menu {margin-left: calc(-50vw + 450px + var(--both-ends-sp));}
}
@media (max-width: 1280px) {
	.global-nav ul {font-size: 90%;}
}
/********** global-btn **********/
.global {position: fixed;z-index: 100;top: 20px;right:6rem;cursor: pointer;width: var(--header-height);height: var(--header-height);background: var(--color-theme-hover);border-radius: var(--border-radius);line-height: 1.2;font-size: 60%;letter-spacing: 0.03rem;font-weight: var(--font-bld);text-align: center;padding-top: 8px;transition: 0.3s;color: #fff;}
.global:hover {filter: brightness(1.2);opacity: 1;}
.global::before {font-family: "Material Icons";content: '\e894';display: block;font-size: 23px;font-weight: var(--font-nml);}
/********** menu-icon toggle **********/
#menu-icon {position: fixed;z-index: 100;top: 20px;right:2rem;cursor: pointer;width: var(--header-height);height: var(--header-height);background: var(--color-theme);border-radius: var(--border-radius);transition: 0.3s;}
#menu-icon:hover {filter: brightness(1.2);opacity: 1;}
#menu-icon span {border:1px solid #fff;width:26px;margin: 0 0 5px 17px;display:block;-webkit-transition:all .5s;transition:all .5s;}
#menu-icon span.first {margin-top: 15px;}
#menu-icon span.second {margin-top: 10px;margin-bottom: 8px;}
#menu-icon:after {content: "MENU";display: block;line-height: 1.0;color: #fff;font-size: 60%;text-align: center;}
/* active */
#menu-icon.active {background: transparent;}
#menu-icon.active span.first {transform: rotate(45deg);-webkit-transform: rotate(45deg);margin-top: 20px;}
#menu-icon.active span.second {transform: rotate(135deg);-webkit-transform: rotate(135deg);width:26px;position: relative;top: -12px;margin-bottom: 3px;}
#menu-icon.active:after {content: "CLOSE";display: block;line-height: 1.0;color: #fff;font-size: 60%;margin-left: -.25rem;text-align: center;}
@media (max-width: 1180px) {
	.global-nav {display: none;}
	.global {right:5rem;width: var(--header-height-sp);height: var(--header-height-sp);padding-top: 5px;line-height: 1.15;}
	#menu-icon {width: var(--header-height-sp);height: var(--header-height-sp);right: 1rem;}
	#menu-icon span {width:24px;margin: 0 0 5px 13px;}
	#menu-icon span.first {margin-top: 10px;}
	#menu-icon:after,#menu-icon.active:after {font-size: 50%;}
	#menu-icon.active span.first {margin-top: 15px;}
	#menu-icon.active span.second {width:24px;}
}
@media (max-width: 450px) {
	.global {display: none;}
}
/********** toggle-menu-container **********/
.toggle-menu-container {position: fixed;margin-top: 0;top:0;right: -120%;width:100%;height: 100vh;background: linear-gradient(126deg,#6bdd2e 0%, #00733f 100%);transition: all 0.9s;z-index: 3}
.toggle-menu-container.panelactive {right: 0;}/*アクティブクラスがついたら位置を0に*/
.toggle-menu-container.panelactive .toggle-global-nav {z-index: 90;width: 100%;height: 100vh;/*表示する高さ*/overflow: auto;-webkit-overflow-scrolling: touch;}
/* Scrolldown */
.scrolldown2 {position:relative;margin: 2rem 0 1.5rem;}
.scrolldown2 span {position: absolute;left:10px;bottom:10px;color: #fff;font-size: 0.7rem;letter-spacing: 0.05em;-ms-writing-mode: tb-rl;-webkit-writing-mode: vertical-rl;writing-mode: vertical-rl;}
.scrolldown2:before {content: "";position: absolute;bottom:0;left:-4px;width:10px;height:10px;border-radius: 50%;background:#fff;animation:circlemove 1.6s ease-in-out infinite,cirlemovehide 1.6s ease-out infinite;}
.scrolldown2:after{content:"";position: absolute;bottom:0;left:0;width:2px;height: 50px;background:#fff;}
@keyframes circlemove {
0%{bottom:-5px;}100%{bottom:45px;}
}
@keyframes cirlemovehide{
0%{opacity:0}50%{opacity:1;}80%{opacity:0.9;}100%{opacity:0;}
}
@media (min-width: 501px) {
	.scrolldown2 {display: none;}
}
/*ここからtoggle-global-nav内のデザインCSS*/
.toggle-global-nav {display: flex;justify-content: center;align-items: center;flex-direction: column;width: 100%;height: 100vh;overflow: auto;-webkit-overflow-scrolling: touch;}
.toggle-global-nav {background: url(img/common/toggle-bg.png) no-repeat bottom right;background-size :35%;}
.toggle-global-nav a {color: #fff!important;}
.toggle-global-nav-logo {margin-bottom: 2.5rem;}
.toggle-global-nav-wrap {width: 70%;display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;}
.toggle-global-nav-col {width: calc((92% - 340px) / 2);}
.toggle-global-nav-col:last-child {width: 340px;}
.toggle-global-nav-col ul {list-style: none;padding: 0;}
/* 親li */
.toggle-global-nav-col > ul {list-style: none;padding: 0;margin: 0;}
.toggle-global-nav-col > ul > li {border-bottom: 1px solid #fff;padding-bottom: 20px;margin-bottom: 20px;}
.toggle-global-nav-col > ul > li > a {position: relative;display: block;padding-right: 50px;font-size: 110%;}
.toggle-global-nav-col > ul > li > a:hover {opacity: 0.7;}
.toggle-global-nav-col > ul > li > a::before {content: "";position: absolute;right: 10px;top: 50%;transform: translateY(-50%);width: 16px;height: 16px;border: 1px solid #fff;border-radius: 50%;transition: 0.3s;}
.toggle-global-nav-col > ul > li > a::after {content: "";position: absolute;right: 16px;top: 50%;transform: translateY(-50%);width: 8px;height: 2px;background: #fff;transition: 0.3s;}
.toggle-global-nav-col > ul > li > a > span::before,
.toggle-global-nav-col > ul > li > a > span::after {content: "";position: absolute;right: 15px;top: 50%;width: 6px;height: 2px;background: #fff;transform-origin: right center;transition: 0.3s;}
.toggle-global-nav-col > ul > li > a > span::before {transform: translateY(-50%) rotate(45deg);}
.toggle-global-nav-col > ul > li > a > span::after {transform: translateY(-50%) rotate(-45deg);}
.toggle-global-nav-col > ul > li > a:hover::before {transform: translate(5px, -50%);}
.toggle-global-nav-col > ul > li > a:hover::after {transform: translate(5px, -50%);}
.toggle-global-nav-col > ul > li > a:hover > span::before {transform: translate(5px, -50%) rotate(45deg);}
.toggle-global-nav-col > ul > li > a:hover > span::after {transform: translate(5px, -50%) rotate(-45deg);}
/* 子li */
.toggle-global-nav-col > ul > li > ul {list-style: none;padding: 0;margin: 12px 0 0;}
.toggle-global-nav-col > ul > li > ul > li {border: none;margin: 0;padding: 0;}
.toggle-global-nav-col > ul > li > ul > li > a {position: relative;display: block;padding: 3px 0 3px 36px;font-size: 86%;}
.toggle-global-nav-col > ul > li > ul > li > a:hover {opacity: 0.7;}
.toggle-global-nav-col > ul > li > ul > li > a::before,
.toggle-global-nav-col > ul > li > ul > li > a::after {content: "";position: absolute;top: calc(50% - 1px);left: 17px;width: 7px;height: 1px;border-radius: 9999px;background-color: #fff;transform-origin: calc(100% - 1px) 50%;}
.toggle-global-nav-col > ul > li > ul > li > a::before {transform: rotate(45deg);}
.toggle-global-nav-col > ul > li > ul > li > a::after {transform: rotate(-45deg);}
/* toggle-global-nav-col:last-child */
.toggle-global-nav-col:last-child > ul {margin-top: 1rem;}
.toggle-global-nav-col:last-child > ul > li {border-bottom: none;padding-bottom: 0;margin-bottom: 0;}
.toggle-global-nav-col:last-child > ul > li > a {position: relative;display: block;padding: 5px 0 5px 20px;font-size: 86%;}
.toggle-global-nav-col:last-child > ul > li > a::before {border: none;}
.toggle-global-nav-col:last-child > ul > li > a::after {height: 0;}
.toggle-global-nav-col:last-child > ul > li > a::before,
.toggle-global-nav-col:last-child > ul > li > a::after {content: "";position: absolute;top: calc(50% - 1px);left: 0;width: 7px;height: 1px;border-radius: 9999px;background-color: #fff;transform-origin: calc(100% - 1px) 50%;}
.toggle-global-nav-col:last-child > ul > li > a::before {transform: rotate(45deg);}
.toggle-global-nav-col:last-child > ul > li > a::after {transform: rotate(-45deg);}
/* toggle-global-nav-col:last-child span */
.toggle-global-nav-col:last-child p {font-size: 86%;}
@media (max-width: 1180px) {
	.toggle-global-nav-wrap {width: 80%;}
}
@media (max-width: 1024px) {
	.toggle-global-nav {background-size :45%;}
	.toggle-global-nav-col {width: 48%;}
	.toggle-global-nav-col:last-child {width: 100%;margin-top: 1rem;}
}
@media (max-width: 500px) {
	.toggle-global-nav {padding: 2rem 0 3rem;justify-content: space-between;background-size :55%;}
	.toggle-global-nav-col {width: 100%;}
	.toggle-global-nav-col:last-child {margin-bottom: 5rem;}
}
@media (max-width: 450px) {
	.toggle-global-nav {background-position: right 0 bottom 4rem;}
}
/* 
Main-slider
-------------------------------------------------------------------------------------------------*/
.main-img {position: relative;width: 100%;height: 100vh;overflow: hidden;cursor: default;}
.main-img .video {width: 100%;height: 100%;object-fit: cover;object-position: center center;}
.main-img .overlay {width: 100%;height: 100vh;position: absolute;top: 0;left: 0;background: rgba(0, 0, 0, 0.4);z-index: 2;}
.main-img .main-slide-wrap {position: absolute;color: #fff;text-shadow: 1px 1px 10px rgba(9, 9, 9, 0.4);left: 2rem;right: 2rem;bottom: 5%;z-index: 3;}
.main-img .main-slide-ttl {font-size: clamp(2.25rem, 1.295rem + 4.77vw, 4.875rem);font-weight: bold;line-height: 1.3;margin-bottom: 2rem;}
.main-img .main-slide-ttl-ja {font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);}
.main-img .main-slide-ttl-en {font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);line-height: 1.2;margin-bottom: 1.5rem;font-weight: var(--font-nml);}
@media (max-width: 1920px) {
	.main-img .main-slide-ttl {left: 2rem;}
}
@media (max-width: 500px) {
	.main-img .video {object-position: 60% center;}
}
@media (max-width: 450px) {
	.main-img .main-slide-wrap {bottom: 5rem;}
}
/* 
Site-parts
-------------------------------------------------------------------------------------------------*/
/********** btn **********/
a.btn-wht {position: relative;margin: 0 auto;border-radius: 50px;max-width: 280px;padding: .6rem 2rem .6rem 1rem;color: #111!important;line-height: 1.8;text-decoration: none;font-weight:var(--font-bld);background: linear-gradient(270deg, #fff 0%, #fff 25%, #eee 51%, #fff 100%);background-position: 1% 50%;background-size: 200% auto;transition: all 0.3s ease-out;font-size: 86%;}
a.btn-wht::after {content: '';width: 6px;height: 6px;border-top: 2px solid #111;border-right: 2px solid #111;transform: rotate(45deg);position: absolute;top: 14px;right: 20px;border-radius: 1px;transition: 0.3s ease-in-out;}
a.btn-wht:hover {color: #111;background-position: 99% 50%;}
a.btn-grn {position: relative;margin: 0 auto;border-radius: 50px;max-width: 280px;padding: .6rem 2rem .6rem 1rem;color: #fff!important;line-height: 1.8;text-decoration: none;font-weight: var(--font-nml);background: linear-gradient(270deg, var(--color-lime) 0%, var(--color-theme-hover) 25%, var(--color-theme) 51%, var(--color-lime) 100%);background-position: 1% 50%;background-size: 200% auto;transition: all 0.3s ease-out;font-size: 86%;}
a.btn-grn:hover {color: #fff;background-position: 99% 50%;}
a.btn-grn:after {content: '';width: 6px;height: 6px;border-top: 2px solid #fff;border-right: 2px solid #fff;transform: rotate(45deg);position: absolute;top: 14px;right: 20px;border-radius: 1px;transition: 0.3s ease-in-out;}
@media (max-width: 430px) {
	a.btn-wht,a.btn-grn {display: block;margin-bottom: 0.5rem;}
}
.btn-txtB {position: relative;padding: 1em 2em;transition: all 0.2s ease;border: none;background: none;text-decoration: none;display: inline-block;color: #111;}
.btn-txtB:before {content: "";position: absolute;top: 50%;left: -0.5em;transform: translateY(-50%);display: block;
border-radius: 100vh;background: var(--color-theme-hover);width: 4em;height: 4em;transition: all 0.3s ease;z-index:-1;}
.btn-txtB:after {content: '';width: 5px;height: 5px;border-top: 3px solid #111;border-right: 3px solid #111;transform: rotate(45deg) translateY(-50%);position: absolute;top: 50%;right: 20px;border-radius: 1px;transition: 0.3s ease-in-out;}
.btn-txtB:hover {color: #fff;}
.btn-txtB:hover:before {width: calc(100% + 1em);}
.btn-txtB:hover:after {border-top: 3px solid #fff;border-right: 3px solid #fff;}
.btn-txtB:active {transform: scale(0.95);}
/* btn-txtW */
.btn-txtW {position: relative;padding: 1em 2em;transition: all 0.2s ease;border: none;background: none;text-decoration: none;display: inline-block;color: #fff;}
.btn-txtW:before {content: "";position: absolute;top: 50%;left: -0.5em;transform: translateY(-50%);display: block;
border-radius: 100vh;background: var(--color-theme-hover);width: 4em;height: 4em;transition: all 0.3s ease;z-index:-1;}
.btn-txtW:after {content: '';width: 5px;height: 5px;border-top: 3px solid #fff;border-right: 3px solid #fff;transform: rotate(45deg) translateY(-50%);position: absolute;top: 50%;right: 20px;border-radius: 1px;transition: 0.3s ease-in-out;}
.btn-txtW:hover:before {width: calc(100% + 1em);}
.btn-txtW:active {transform: scale(0.95);}
/********** title **********/
.main-ttlh3,.main-ttlh3-w {margin: 5rem 0 1rem;}
.main-ttlh3 .sub-title {font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);font-weight: var(--font-bld);color: #333;display: flex;align-items: center;line-height: 1;}
.main-ttlh3 .sub-title::before {content: "";display: inline-block;width: 10px;height: 10px;background: var(--color-theme-hover);border-radius: 50%;margin-right: 8px;}
.main-ttlh3 .main-title {font-size: clamp(1.375rem, 1.148rem + 1.14vw, 2rem);font-weight: var(--font-bld);margin-top: 0;}
.main-ttlh3-w .sub-title {font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);font-weight: var(--font-bld);color: #fff;display: flex;align-items: center;line-height: 1;}
.main-ttlh3-w .sub-title::before {content: "";display: inline-block;width: 10px;height: 10px;background: var(--color-lime);border-radius: 50%;margin-right: 8px;}
.main-ttlh3-w .main-title {font-size: clamp(1.375rem, 1.148rem + 1.14vw, 2rem);margin-top: 0;color: #fff;}
@media (max-width: 500px) {
	.main-ttlh3,.main-ttlh3-w {margin: 4rem 0 2rem;}
}
/* 
Logo-scrool
-------------------------------------------------------------------------------------------------*/
.logo-scroll{width:100%;height:94px;background-image:url("img/common/slide-logo.png");background-repeat:repeat-x;background-size:auto 94px;background-position:0 center;animation:logo-scroll 20s linear infinite;}
@keyframes logo-scroll{
	from{background-position:0 center;}
	to{background-position:-810px center; /* ロゴ幅に合わせる */}
}
@media (max-width: 850px) {
	.logo-scroll{height:60px;background-size:auto 60px;}
	@keyframes logo-scroll{
		from{background-position:0 center;}
		to{background-position:-517px center; /* ロゴ幅に合わせる */}
	}
}
@media (max-width: 500px) {
	.logo-scroll{height:40px;background-size:auto 40px;}
	@keyframes logo-scroll{
		from{background-position:0 center;}
		to{background-position:-344px center; /* ロゴ幅に合わせる */}
	}
}
/* 
Top-area01
-------------------------------------------------------------------------------------------------*/
.top-area01-bg {background: var(--color-bg-grn);padding: var(--area-pdg);}
.top-area01-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;}
.top-area01-ttl {width: 650px;}
.top-area01-ttl h3 {font-size: clamp(1.25rem, 0.614rem + 3.18vw, 3rem);margin-top: 0;line-height: 1.5;}
.top-area01-txt {width: calc(96% - 650px);}
@media (max-width: 1570px) {
	.top-area01-txt br {display: none;}
}
@media (max-width: 1280px) {
	.top-area01-ttl,.top-area01-txt {width: 100%;}
	.top-area01-ttl {margin-bottom: 1.5rem;}
}
/********** top-area01-grid **********/
.top-area01-grid {display: grid;grid-template-columns: 1fr 1fr 1fr 1fr 1fr;grid-template-rows: 0.5fr 0.5fr;gap: 10px 10px;margin-top: 5rem; 
	grid-template-areas: 
	"top-area01-img01 top-area01-img03 top-area01-img04 top-area01-img06 top-area01-img07"
	"top-area01-img02 top-area01-img03 top-area01-img05 top-area01-img06 top-area01-img08"; 
}
.top-area01-grid img {display: block;width: 100%;height: 100%;object-fit: cover;font-family: 'object-fit: cover;';border-radius: var(--border-radius);}
.top-area01-img01 {grid-area: top-area01-img01;}
.top-area01-img02 {grid-area: top-area01-img02;}
.top-area01-img03 {grid-area: top-area01-img03;}
.top-area01-img04 {grid-area: top-area01-img04;}
.top-area01-img05 {grid-area: top-area01-img05;}
.top-area01-img06 {grid-area: top-area01-img06;}
.top-area01-img07 {grid-area: top-area01-img07;}
.top-area01-img08 {grid-area: top-area01-img08;}
@media (max-width: 1280px) {
	.top-area01-grid {margin-top: 3rem;}
}
@media (max-width: 768px) {
	.top-area01-grid {grid-template-columns: 1fr 1fr;grid-template-rows: 0.5fr 0.5fr 0.5fr 0.5fr0.5fr;
	grid-template-areas: 
	"top-area01-img02 top-area01-img03"
	"top-area01-img01 top-area01-img03"
	"top-area01-img04 top-area01-img05"
	"top-area01-img06 top-area01-img07"
	"top-area01-img06 top-area01-img08"; }
}
@media (max-width: 600px) {
	.top-area01-grid {margin-top: 1rem;}
}
/* 
Top-area02
-------------------------------------------------------------------------------------------------*/
.top-area02-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;}
.top-area02-colL {width: calc(100% - 1050px);background: url("img/top/top-area02-bg.jpg") no-repeat center right;background-size: cover;position: relative;z-index: 0;}
.top-area02-colL::before {content: '';position: absolute;width: 100%;height: 100%;background: inherit;filter: brightness(95%);z-index: -1;}
.top-area02-colL .wide-inner {padding: 6rem var(--both-ends);}
.top-area02-colR {width: 1050px;}
@media (max-width: 1920px) {
	.top-area02-colL .wide-inner {padding: 6rem 5%;}
}
@media (max-width: 1280px) {
	.top-area02-colL,.top-area02-colR {width: 100%;}
	.top-area02-colL {height: 350px;}
}
@media (max-width: 768px) {
	.top-area02-colL .wide-inner {padding: 3rem 5%;}
	.top-area02-colL {height: 250px;}
}
@media (max-width: 600px) {
	.top-area02-wrap {background: var(--color-bg-grn);}
	.top-area02-colL {height: 200px;box-shadow: 0 -20px 20px -20px rgba(0, 0, 0, 0.2);}
	.top-area02-colL,.top-area02-colL::before {border-radius: 20px 20px 0 0;}
}
/********* area02-card *********/
.area02-card-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;}
.area02-card {display: flex;flex-wrap: wrap;width: 33.33333%;text-decoration: none;color: #fff;background: #0d5634;transition: 0.3s;}
.area02-card-block {padding: 1rem;width: 100%;height: 300px;position: relative;}
.area02-card:not(:first-child) .area02-card-block {border-left: 1px solid rgba(255,255,255,.15);}
.area02-card-block p {font-weight: 400;font-size: 86%;}
.area02-card-ttl {margin: 0;padding-bottom: 5px;margin-bottom: 2rem;position: relative;font-weight: 500;color: #fff;font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);}
.area02-card-ttl:before {content: '';width: 40px;height: 1px;background-color: #fff;display: block;position: absolute;left: 0;bottom: -6px;}
.area02-card-arrow {position: absolute;right: 1rem;bottom: 1.5rem;width: 42px;height: 42px;border: 1px solid rgba(255,255,255,0.8);border-radius: var(--border-radius);z-index: 2;transition: 0.3s;}
.area02-card-arrow::before {content: "";position: absolute;top: 50%;left: 10px;width: 18px;height: 1.5px;background: #fff;transform: translateY(-50%);}
.area02-card-arrow::after {content: "";position: absolute;top: 50%;right: 14px;width: 12px;height: 12px;border-top: 1.5px solid #fff;border-right: 1.5px solid #fff;transform: translateY(-50%) rotate(45deg);}
.area02-card-bg {width: 100%;object-fit: cover;display: block;aspect-ratio: 1/1;filter: brightness(65%);transition: 0.3s;}
.area02-card:hover {background: var(--color-theme);}
.area02-card:hover .area02-card-bg {filter: brightness(95%);}
.area02-card:hover .area02-card-arrow {background: rgba(255,255,255,0.2);transform: translateX(4px);}
/* reverse */
.area02-card:nth-child(2) .area02-card-block {order: 2;}
.area02-card:nth-child(2) .area02-card-bg {order: 1;}
@media (max-width: 780px) {
	.area02-card-block p br {display: none;}
}
@media (max-width: 600px) {
	.area02-card {width: 100%;margin-bottom: 0.2rem;}
	.area02-card-block {height: auto;padding: 1.5rem 5%;}
	.area02-card-block p {width: calc(100% - 50px);margin-bottom: 0;}
	.area02-card:not(:first-child) .area02-card-block {border-left: none;}
	.area02-card-bg {height: 200px;aspect-ratio: auto;}
	/* reverse */
	.area02-card:nth-child(2) .area02-card-block {order: 1;}
	.area02-card:nth-child(2) .area02-card-bg {order: 2;}
}
/* 
Top-area03
-------------------------------------------------------------------------------------------------*/
.top-area03-bg {background: var(--color-bg-gry);padding: var(--area-pdg);}
/********** works-section **********/
.works-section {overflow: hidden;}
.works-container {max-width: 100%; margin: 0 auto;}
/* タブメニュー */
.works-tabs {display: flex;gap: 15px;background: var(--color-bg-grn);padding: 10px;border-radius: 50px;width: fit-content;margin: 0 auto 2rem;}
.works-tab-btn {padding: 12px 30px;border-radius: 40px;border: none;background: transparent;cursor: pointer;font-size: 15px;transition: 0.3s;color: #333;font-family: "Inter","Zen Kaku Gothic New","Noto Sans JP","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-weight: var(--font-bld);}
.works-tab-btn:hover {background: var(--color-theme-hover); color: #fff;}
.works-tab-btn.is-active {background: var(--color-theme); color: #fff;}
/* カードデザイン */
.works-card {text-decoration: none; color: var(--color-def); display: block;}
.works-card__img {aspect-ratio: 1/1; margin-bottom: 15px; transition: 0.3s; }
.works-card:hover .works-card__img {opacity: 0.8;}
.works-card__img img {width: 100%; height: 100%; object-fit: cover;border-radius: var(--border-radius);}
.works-card__ymd {font-size: 86%;color: #666;margin-bottom: 0!important;}
.works-card__title {line-height: 1.6;font-weight: 500;height: 3.2em;overflow: hidden;display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin:0.5rem 0 1rem;}
/* 矢印ナビゲーション */
.works-splide .splide__arrow--prev svg {transform: none !important; /* 180度回転を強制解除 */}
.works-splide {position: relative; padding: 0 10px; }
.works-arrow {position: absolute; top: 40%; transform: translateY(-50%); width: 48px; height: 48px; background: #fff !important; border: 1px solid #ddd !important; border-radius: 50%; z-index: 10; cursor: pointer; transition: 0.3s; display: flex; align-items: center; justify-content: center;}
.works-arrow svg {width: 20px; height: 20px;}
.works-arrow--prev {left: -24px;}
.works-arrow--next {right: -24px;}
/* 最初と最後で矢印を消す */
.works-arrow:disabled {display: none !important;}
/* スマホ対応 */
@media (max-width: 920px) {
	.works-tabs {display: flex;flex-wrap: wrap;justify-content: center;gap: 8px;width: 100%;background: transparent;box-shadow: none;padding: 0;border-radius: 0;}
	.works-tab-btn {width: calc(50% - 4px); flex-shrink: 0;padding: 10px 5px;font-size: 13px;background: #fff;border: 1px solid #eee;text-align: center;white-space: normal;display: flex;align-items: center;justify-content: center;min-height: 50px;}
}
@media (max-width: 600px) {
	.works-tabs {margin-left: 0;overflow-x: visible;}
	.works-splide {padding: 0 !important;}
	.works-arrow--prev {left: 10px;}
	.works-arrow--next {right: 10px;}
    .splide__slide {transition: opacity 0.3s;opacity: 0.4;}
    .splide__slide.is-active {opacity: 1;}
}
@media (max-width: 500px) {
	.works-tab-btn {width: calc(50% - 12px);font-size: 12px;}
}
/* 
Top-area04
-------------------------------------------------------------------------------------------------*/
.top-area04-bg {background: url(img/top/top-area04-bg.jpg) no-repeat center center;background-size: cover;position: relative;z-index: 0;}
.top-area04-bg::before {content: '';position: absolute;width: 100%;height: 100%;background: inherit;filter: brightness(75%);z-index: -1;}
.top-area04-bg .wide-inner {padding: 6rem var(--both-ends) 0;}
.top-area04-bg .txt {color: #fff;}
@media (max-width: 1920px) {
	.top-area04-bg .wide-inner {padding: 6rem 5% 0;}
}
/********** kawamoto-data **********/
.kawamoto-data {margin: 2rem 0 4rem;}
.kawamoto-carousel02 {position: relative;width: 80%;margin-left: auto;margin-right: 0;}
.kawamoto-carousel02__viewport {overflow: hidden;}
.kawamoto-carousel02__track {display: flex;justify-content: space-between;gap: 2.666%;transition: transform .35s ease;will-change: transform;}
.kawamoto-carousel02__item {width: 23%;flex: 0 0 23%;box-sizing: border-box;background: #fff;border-radius: 16px;padding: 2rem 1rem;text-align: center;box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);min-height: 140px;display: flex;flex-direction: column;justify-content: center;}
.kawamoto-data__title {font-size: clamp(1.063rem, 1.017rem + 0.23vw, 1.188rem);font-weight: 600;margin-bottom: 16px;letter-spacing: .05em;}
.kawamoto-data__number {font-size: clamp(3rem, 2.455rem + 2.73vw, 4.5rem);font-weight: 700;color: #16a34a;line-height: 1;}
.kawamoto-data__number span {font-size: 30%;margin-left: 6px;color: #555;}
/* arrow */
.kawamoto-carousel02__btn {position: absolute;top: 50%;transform: translateY(-50%);width: 42px;height: 42px;border-radius: 50%;border: none;background: #18b54a;display: flex;align-items: center;justify-content: center;cursor: pointer;z-index: 5;box-shadow: 0 4px 12px rgba(0, 0, 0, .2);}
.kawamoto-carousel02__btn::before {content: "";width: 8px;height: 8px;border-top: 3px solid #fff;border-right: 3px solid #fff;transform: rotate(45deg);}
.kawamoto-carousel02__btn--prev {left: -10px;}
.kawamoto-carousel02__btn--prev::before {transform: rotate(-135deg);}
.kawamoto-carousel02__btn--next {right: -10px;}
.kawamoto-carousel02__btn.hide {opacity: 0;pointer-events: none;}
@media (min-width: 1101px) {
	.kawamoto-carousel02__viewport {overflow: visible;}
	.kawamoto-carousel02__track {transform: none !important;}
	.kawamoto-carousel02__btn {display: none;}
}
@media (max-width: 1720px) {
	.kawamoto-carousel02 {width: 90%;}
	.kawamoto-carousel02__track {gap: 20px;}
}
@media (max-width: 1366px) {
	.kawamoto-carousel02 {width: 100%;}
}
@media (max-width: 1100px) {
	.kawamoto-carousel02 {margin-left: 0;margin-right: 0;}
	.kawamoto-carousel02__viewport {overflow: hidden;}
	.kawamoto-carousel02__track {justify-content: flex-start;gap: 24px;}
	.kawamoto-carousel02__item {width: 45%;flex: 0 0 45%;min-height: 140px;}
	.kawamoto-carousel02__btn {display: flex;}
	.kawamoto-carousel02__btn--prev {left: 8px;}
	.kawamoto-carousel02__btn--next {right: 8px;}
}
@media (max-width: 500px) {
	.kawamoto-data {margin: 1rem 0 3rem;}
	.kawamoto-carousel02__item {width: 85%;flex: 0 0 85%;}
}
/********** top-area04-wrap **********/
.top-area04-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;background: rgba(255,255,255,1);padding: 2rem;border-radius: 16px 16px 0 0;}
.top-area04-col {width: 32%;}
.top-area04-col a {text-decoration: none;}
.top-area04-col .top-area04-btn {border-top: 1px solid var(--color-theme);border-left: 1px solid var(--color-theme);padding: 1rem;color: var(--color-def);transition: 0.3s;margin-bottom: 0.5rem;}
.top-area04-col .top-area04-btn:hover {background: var(--color-bg-gry);} 
.top-area04-col .top-area04-btn .ttl {font-weight: var(--font-bld);color: var(--color-theme);position: relative;font-size: 120%;margin-bottom: 0.5rem;}
.top-area04-col .top-area04-btn .ttl::before {content: "";position: absolute;right: 10px;top: 50%;transform: translateY(-50%);width: 16px;height: 16px;border: 1px solid var(--color-theme);background: var(--color-theme);border-radius: 50%;transition: 0.3s;}
.top-area04-col .top-area04-btn .ttl::after {content: "";position: absolute;right: 16px;top: 50%;transform: translateY(-50%);width: 8px;height: 2px;background: #fff;transition: 0.3s;}
.top-area04-col .top-area04-btn .ttl span::before,
.top-area04-col .top-area04-btn .ttl span::after {content: "";position: absolute;right: 15px;top: 50%;width: 6px;height: 2px;background: #fff;transform-origin: right center;transition: 0.3s;}
.top-area04-col .top-area04-btn .ttl span::before {transform: translateY(-50%) rotate(45deg);}
.top-area04-col .top-area04-btn .ttl span::after {transform: translateY(-50%) rotate(-45deg);}
.top-area04-col .top-area04-btn p {margin-bottom: 0;}
@media (max-width: 950px) {
	.top-area04-col {width: 100%;}
}
@media (max-width: 500px) {
	.top-area04-wrap {padding: 1.5rem 1rem 0;}
}
/* 
Top-area05
-------------------------------------------------------------------------------------------------*/
.top-area05-bg {background: var(--color-bg-grn);padding: var(--area-pdg);}
.top-area05-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;}
.top-area05-ttl {width: 450px;}
.top-area05-nws {width: calc(96% - 450px);display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;}
.top-area05-nws-col {width: 48%;}
.top-area05-nws-col img {display: block;width: 100%;height: auto;object-fit: cover;aspect-ratio: 3/2;border-radius: var(--border-radius);}
.top-area05-nws-col a {color: var(--color-def);text-decoration: none;transition: 0.3s;}
.top-area05-nws-col a:hover {opacity: 0.7;}
.top-area05-nws-col .ymd {color: #666;font-size: 86%;margin: 1rem 0 0;}
.top-area05-nws-col .ttl {margin-bottom: 0;}
@media (min-width: 1001px) {
	.top-area05-sp {display: none;}
}
@media (max-width: 1180px) {
	.top-area05-ttl {width: 300px;}
	.top-area05-ttl p br {display: none;}
	.top-area05-nws {width: calc(96% - 300px);}
}
@media (max-width: 1000px) {
	.top-area05-ttl,.top-area05-nws {width: 100%;}
	.top-area05-nws {margin-bottom: 1.5rem;}
	.top-area05-pc {display: none;}
}
/* 
Top-area06
-------------------------------------------------------------------------------------------------*/
.top-area06-bg {padding: var(--area-pdg);padding-left: var(--both-ends);padding-bottom: 0;}
.top-area06-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;}
.top-area06-txt {width: 43%;}
.top-area06-txt a {text-decoration: none;}
.top-area06-txt .top-area06-btn {border-top: 1px solid var(--border-color);border-left: 1px solid var(--border-color);padding: 1rem;color: var(--color-def);transition: 0.3s;margin-bottom: 0.5rem;}
.top-area06-txt .top-area06-btn:hover {background: var(--color-bg-grn);} 
.top-area06-txt .top-area06-btn .ttl {font-weight: var(--font-bld);position: relative;font-size: 115%;}
.top-area06-txt .top-area06-btn .ttl::before {content: "";position: absolute;right: 10px;top: 50%;transform: translateY(-50%);width: 16px;height: 16px;border: 1px solid var(--color-theme);background: var(--color-theme);border-radius: 50%;transition: 0.3s;}
.top-area06-txt .top-area06-btn .ttl::after {content: "";position: absolute;right: 16px;top: 50%;transform: translateY(-50%);width: 8px;height: 2px;background: #fff;transition: 0.3s;}
.top-area06-txt .top-area06-btn .ttl span::before,
.top-area06-txt .top-area06-btn .ttl span::after {content: "";position: absolute;right: 15px;top: 50%;width: 6px;height: 2px;background: #fff;transform-origin: right center;transition: 0.3s;}
.top-area06-txt .top-area06-btn .ttl span::before {transform: translateY(-50%) rotate(45deg);}
.top-area06-txt .top-area06-btn .ttl span::after {transform: translateY(-50%) rotate(-45deg);}
.top-area06-txt .top-area06-btn p {margin-bottom: 0;}
.top-area06-img {width: 53%;}
.top-area06-img img {display: block;width: 100%;height: 100%;object-fit: cover;border-radius: 20px 0 0 20px;}
@media (max-width: 1920px) {
	.top-area06-bg {padding-left: var(--both-ends-sp);}
}
@media (max-width: 960px) {
	.top-area06-txt {width: 53%;}
	.top-area06-img {width: 43%;}
	
}
@media (max-width: 800px) {
	.top-area06-txt {width: 60%;}
	.top-area06-img {width: 36%;}
}
@media (max-width: 700px) {
	.top-area06-txt {width: 100%;padding-right: var(--both-ends-sp);margin-bottom: 1rem;}
	.top-area06-img {width: 100%;}
	.top-area06-img img {height: 250px;}
}
@media (max-width: 500px) {
	.top-area06-img img {height: 200px;}
}
/*=================================================================================================
  Sub-contents
=================================================================================================*/
/********** title **********/
.sub-h3 {margin: 5rem 0 1rem;}
.sub-h3 .sub-title {font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);font-weight: var(--font-bld);color: #333;display: flex;align-items: center;line-height: 1;}
.sub-h3 .sub-title::before {content: "";display: inline-block;width: 10px;height: 10px;background: var(--color-theme-hover);border-radius: 50%;margin-right: 8px;}
.sub-h3 .main-title {font-size: clamp(1.375rem, 1.148rem + 1.14vw, 2rem);font-weight: var(--font-bld);margin-top: 0;}
@media (max-width: 500px) {
	.sub-h3 {margin: 4rem 0 2rem;}
}
/* sub-h5 */
.sub-h5 {position: relative;padding-bottom: 8px;margin: 0.5rem 0 0.8rem;}
.sub-h5::after {content: '';position: absolute;bottom: 0;left: 0;width: 0;height: 0;border-style: solid;border-width: 10px 6px 0 6px;border-color: var(--color-theme-hover) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);}
/********** button **********/
/* txt-link */
.txt-link {display: inline-block;color:var(--color-theme-hover);text-decoration:none;position: relative;transition: .3s;}
.txt-link::after{position: absolute;bottom: 0;left: 0;content: '';width: 0;height: 1px;background-color: var(--color-lime);transition: .3s;}
.txt-link:hover::after{width: 100%;}
/* link-grid */
.link-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0;padding:1rem;background:var(--color-bg-grn);border-radius:999px;}
.link-btn {display:flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:999px;background:#fff;color:var(--color-def);text-decoration:none;font-weight:600;letter-spacing:.05em;transition:.3s;}
.link-btn:hover {background:var(--color-theme-hover);color:#fff;}
.link-btn.active {background:var(--color-theme);color:#fff;}
.link-btn.active:hover {background:var(--color-theme-hover);}
@media (max-width:1100px){
.link-grid {grid-template-columns:repeat(2,1fr);border-radius:10px;gap:10px;}
}
@media (max-width:570px){
.link-grid {grid-template-columns:1fr;}
.link-btn {padding:16px;}
}
/********** sub-area-wrap **********/
.sub-area-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;}
.sub-area-ttl {width: 220px;}
.sub-area-ctt {width: calc(95% - 220px);}
@media (max-width:1180px){
	.sub-area-ttl {width: 200px;}
	.sub-area-ctt {width: calc(95% - 200px);}
}
@media (max-width:900px){
	.sub-area-ttl,.sub-area-ctt {width: 100%;}
}
/********** img-flex **********/
.img-flex {display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;margin-top: 1rem;}
.img-flex__item img {width:100%;height:100%;object-fit:cover;display:block;border-radius: 10px;}
.item04 {width:calc((100% - 30px) / 4);}
@media (max-width:1650px){
	.item03 {width:calc(22% - 10px);}
	.item03:last-child {width:calc(56% - 10px);}
}
@media (max-width:500px){
	.item03 {width:calc(25% - 10px);}
    .item03:last-child {width:calc(50% - 10px);}
    .item04 {width:calc((100% - 20px) / 2);}
}
/* 
Company
-------------------------------------------------------------------------------------------------*/
/********** cmp-area01 **********/
.cmp-area01-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;margin-top: 3rem;}
.cmp-area01-img {width: 450px;}
.cmp-area01-img img {border-radius: 10px;display: block;width: 100%;height: 100%;object-fit: cover;}
.cmp-area01-txt {width: calc(96% - 450px);}
@media (max-width: 1450px) {
	.cmp-area01-img {width: 350px;}
	.cmp-area01-txt {width: calc(96% - 350px);}
}
@media (max-width: 980px) {
	.cmp-area01-img {width: 35%;}
	.cmp-area01-txt {width: 60%;}
}
@media (max-width: 850px) {
	.cmp-area01-txt {order: 1;margin-bottom: 1rem;}
	.cmp-area01-img {order: 2;}
	.cmp-area01-img,.cmp-area01-txt {width: 100%;}
	.cmp-area01-img img {height: 450px;object-position: center 15%;}
}
@media (max-width: 640px) {
	.cmp-area01-img img {height: 350px;}
}
@media (max-width: 500px) {
	.cmp-area01-img img {height: 300px;}
}
/********** cmp-area02 **********/
.cmp-area02-bg {background: var(--color-bg-gry);padding: 5rem 0;margin-top: 5rem;border-top: 5px solid #ddd;border-bottom: 5px solid #ddd;}
.cmp-area02-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;}
.cmp-area02-img {width: 450px;}
.cmp-area02-txt {width: calc(96% - 450px);}
.cmp-area02-txt h4 {color: var(--color-theme-hover);margin-top: 0;}
.cmp-area02-txt h4 span {color: var(--color-theme);}
.cmp-area02-txt__wrap {display: flex;flex-wrap: wrap;justify-content: flex-start;align-items: stretch;}
.cmp-area02-txt__img {width: 150px;margin-right: 2rem;}
.cmp-area02-txt__img p {text-align: center;font-size: 90%;margin-top: 0.5rem;}
@media (max-width: 1280px) {
	.cmp-area02-img {width: calc(96% - 650px);}
	.cmp-area02-txt {width: 650px;}
}
@media (max-width: 1180px) {
	.cmp-area02-img {width: calc(96% - 560px);}
	.cmp-area02-txt {width: 560px;}
	.cmp-area02-txt__img {width: 120px;}
}
@media (max-width: 990px) {
	.cmp-area02-img {width: 40%;}
	.cmp-area02-txt {width: 55%;}
}
@media (max-width: 990px) {
	.cmp-area02-img,.cmp-area02-txt {width: 100%;}
	.cmp-area02-img {order: 1;margin-bottom: 2rem;}
	.cmp-area02-img img {width: 50%;margin: 0 auto;}
	.cmp-area02-txt {order: 2;}
}
@media (max-width: 500px) {
	.cmp-area02-img img {width: 70%;}
	.cmp-area02-txt__wrap {justify-content: space-between;}
	.cmp-area02-txt__img {width: 42%;margin-right: 0;}
}
/********** cmp-area03 **********/
.cmp-area03-bg {background: var(--color-bg-grn);padding: 5rem 0;}
.cmp-area03-szy {background: #fff;padding: 2rem;border-radius: 8px;}
.cmp-area03-szy .ttl {font-weight: var(--font-bld);margin-top: 0;padding-bottom: 0.7em;text-align: center;position: relative;}
.cmp-area03-szy .ttl::after {content: '';position: absolute;border-bottom: 10px dotted var(--color-theme-hover);width: 50px;bottom: 0;left: 50%;transform: translateX(-50%);-webkit-transform: translateX(-50%);-ms-transform: translateX(-50%);}
.cmp-area03-szy .sub-ttl {font-size: 140%;font-weight: var(--font-bld);text-align: center;margin-bottom: 0.5rem;}
.cmp-area03-szy p {text-align: center;}
.cmp-area03-lst dl {display: flex;justify-content: space-between;}
.cmp-area03-lst dl dt {width: 180px;border-bottom: 2px solid var(--color-theme-hover);}
.cmp-area03-lst dl dt,.cmp-area03-lst dl dd {padding: 1rem 0.5rem;}
.cmp-area03-lst dl dd {width: calc(100% - 180px);border-bottom: 1px solid #fff;}
@media (max-width: 1180px) {
	.cmp-area03-lst dl dt {width: 150px;}
	.cmp-area03-lst dl dd {width: calc(100% - 150px);}
}
@media (max-width: 500px) {
    .cmp-area03-lst dl {display: block;}
    .cmp-area03-lst dl dt {width: 100%;border-bottom: none;padding-bottom: 0;font-weight: var(--font-bld);}
    .cmp-area03-lst dl dd {width: 100%;border-bottom: 1px solid var(--color-theme-hover);padding-top: 0.3rem;}
	.cmp-area03-lst dl:first-child dt {padding-top: 0;}
}
/********** cmp-area04 **********/
.cmp-area04 {margin-top: 5rem;margin-bottom: 5rem;}
.org-chart{width:100%;max-width:900px;margin:0 auto;}
.org-parent,.org-child{background:#fff;color:#333;font-weight:bold;text-align:center;border:3px solid var(--color-theme);position:relative;z-index:2;}
.org-parent{width:300px;padding:16px 12px;margin:0 auto;}
.org-child{width:220px;padding:14px 12px;}
.org-chart-pc{display:block;position:relative;padding-top:20px;}
.org-children{margin-top:80px;display:flex;justify-content:center;gap:40px;position:relative;}
.org-chart-pc .org-children::before{content:"";position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:1px;height:40px;background:#999;}
.org-chart-pc .org-children::after{content:"";position:absolute;top:-40px;left:calc(50% - 260px);width:520px;height:1px;background:#999;}
.org-chart-pc .org-child::before{content:"";position:absolute;top:-40px;left:50%;transform:translateX(-50%);width:1px;height:40px;background:#999;}
.org-chart-sp{display:none;}
@media (max-width:1120px){
	.cmp-area04 .sub-area-ttl,.cmp-area04 .sub-area-ctt {width: 100%;}
	.org-child{min-width:220px;padding:14px 12px;}
}
@media (max-width:768px){
	.org-chart{width:100%;max-width:none;}
	.org-chart-pc{display:none;}
	.org-chart-sp{display:flex;align-items:center;gap:24px;position:relative;padding:20px 10px;}
	.org-sp-left{flex:0 0 60px;display:flex;justify-content:center;}
	.org-parent{width:250px;}
	.org-parent.vertical{width:60px;height:180px;margin:0;padding:10px 0;writing-mode:vertical-rl;text-orientation:upright;display:flex;align-items:center;justify-content:center;}
	.org-sp-right{position:relative;flex:1;display:flex;align-items:center;}
	.org-sp-line{position:absolute;left:-24px;top:50%;width:24px;height:1px;background:#999;}
	.org-sp-children{position:relative;display:flex;flex-direction:column;gap:18px;padding-left:24px;}
	.org-sp-children::before{content:"";position:absolute;left:0;top:28px;width:1px;height:calc(100% - 56px);background:#999;}
	.org-sp-children .org-child::before{content:"";position:absolute;left:-24px;top:50%;width:24px;height:1px;background:#999;transform:translateY(-50%);}
	.org-child{width:100%;max-width:none;min-width:none;}
}
@media (max-width:640px){
	.org-chart {padding:0;box-sizing:border-box;}
	.org-parent {width:180px;margin:0;}
	.org-chart-sp {padding: 10px 0;}
}
@media (max-width:500px){
	.org-parent {width:150px;}
}
@media (max-width:470px){
	.org-child {min-width:180px;}
	.org-chart-sp{gap:18px;}
	.org-sp-line{left:-18px;width:18px;}
	.org-sp-children{padding-left:18px;}
	.org-sp-children .org-child::before{left:-18px;width:18px;}
}
@media (max-width:410px){
	.org-child {width:100%;max-width:100%;min-width:0;}
}
/* 
Company　History
-------------------------------------------------------------------------------------------------*/
.history-list {width:100%;max-width:900px;margin:0 auto;}
.history-item {display:grid;grid-template-columns:120px 40px 1fr;gap:30px;align-items:stretch;position:relative;padding:0 0 22px;}
.history-point {position:relative;width:18px;top:6px;}
.history-point span {display:block;width:18px;height:18px;background:#222;transition:0.3s ease;}
.history-point::after {content:"";position:absolute;top:18px;left:9px;width:1px;height:calc(100% + 4px);background:#ccc;}
.history-item:hover .history-point span {background:var(--color-theme-hover);transform:rotate(45deg);}
.history-item:last-child .history-point::after {display:none;}
/********** hst-area01 **********/
.hst-area01-bg {background: var(--color-bg-gry);padding: 5rem 0;margin-top: 5rem;margin-bottom: 2rem;}
.hst-area01-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;}
.hst-area01-wrap::before {content: "";display: block;height: 0;order: 1;}
.hst-area01-wrap::after {content: "";display: block;height: 0;}
.hst-area01-wrap::before,.hst-area01-wrap::after,.hst-area01-col {width: 24%;}
.hst-area01-col {background: #fff;padding: 1.5rem 1.5rem 0;border-radius: 10px;box-shadow: 0 32px 30px -30px rgba(0, 0, 0, 0.15);margin-bottom: 1rem;}
.hst-area01-txtarea {margin-top: 1rem;display: flex;flex-direction: column;flex:1;}
.hst-area01-txtarea .ttl {font-weight: var(--font-bld);color: var(--color-theme-hover);margin-bottom: 0.5rem;min-height:4rem;font-size: 110%;}
.hst-area01-txtarea p {flex: 1;}
@media (max-width:1440px){
	.hst-area01-wrap::before,.hst-area01-wrap::after,.hst-area01-col {width: 32%;}
}
@media (max-width:970px){
	.hst-area01-wrap::before,.hst-area01-wrap::after,.hst-area01-col {width: 48%;}
}
@media (max-width:500px){
	.hst-area01-wrap::before,.hst-area01-wrap::after,.hst-area01-col {width: 100%;}
	.hst-area01-txtarea .ttl {min-height:auto;}
}
/* 
Company　Vision
-------------------------------------------------------------------------------------------------*/
.vsn-area01-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;}
.vsn-area01-txt {padding-left: var(--both-ends);width: calc(96% - 750px);}
.vsn-area01-img {width: 750px;}
.vsn-area01-img img {border-radius: 10px 0 0 10px;}
@media (max-width:1920px){
	.vsn-area01-txt {padding-left: var(--both-ends-sp);}
}
@media (max-width:1590px){
	.vsn-area01-wrap {align-items: stretch;}
	.vsn-area01-txt {width: 54%;}
	.vsn-area01-img {width: 40%;}
	.vsn-area01-img img {display: block;width: 100%;height: 100%;object-fit: cover;}
}
@media (max-width:1310px){
	.vsn-area01-txt h3 br {display: none;}
}
@media (max-width:768px){
	.vsn-area01-txt {width: 100%;padding-right: var(--both-ends-sp);}
	.vsn-area01-img {width: 100%;}
	.vsn-area01-img img {border-radius: 10px 10px 0 0;height: 300px;}
}
@media (max-width:500px){
	.vsn-area01-img img {height: 250px;}
}
/********** vsn-area02 **********/
.vsn-area02-bg {background: var(--color-bg-grn);padding: 5rem 0;margin-top: 5rem;}
.vsn-area02-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;}
.vsn-area02-txt {width: calc(96% - 550px);}
.vsn-area02-txt .ttl {font-weight: var(--font-bld);margin-top: 0;margin-bottom: 1.5rem;padding-bottom: 0.7em;text-align: center;position: relative;line-height: 1.5;}
.vsn-area02-txt .ttl::after {content: '';position: absolute;border-bottom: 10px dotted var(--color-theme-hover);width: 50px;bottom: 0;left: 50%;transform: translateX(-50%);-webkit-transform: translateX(-50%);-ms-transform: translateX(-50%);}
.vsn-area02-img {width: 550px;}
.vsn-area02-img img {margin: 0 auto;border-radius: 10px;}
@media (max-width:1366px){
	.vsn-area02-txt {width: calc(96% - 450px);}
	.vsn-area02-img {width: 450px;}
}
@media (max-width:1000px){
	.vsn-area02-txt {width: calc(96% - 350px);}
	.vsn-area02-img {width: 350px;}
}
@media (max-width:800px){
	.vsn-area02-txt {width: 100%;}
	.vsn-area02-img {width: 100%;}
}
/********** vsn-area02 **********/
.vsn-area03-wrap {margin-top: 4rem;margin-bottom: 5rem;}
.vsn-area03-wrap h4 {margin-top: 2rem;}
/* 
Company　Sdgs
-------------------------------------------------------------------------------------------------*/
.sdgs-area01-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;}
.sdgs-area01-txt {width: calc(96% - 590px);}
.sdgs-area01-img {width: 590px;}
@media (max-width:1920px){
	.sdgs-area01-txt {width: calc(96% - 490px);}
	.sdgs-area01-img {width: 490px;}
}
@media (max-width:1366px){
	.sdgs-area01-txt {width: calc(96% - 390px);}
	.sdgs-area01-img {width: 390px;}
}
@media (max-width:1280px){
	.sdgs-area01-txt {width: 100%;}
	.sdgs-area01-img {width: 100%;margin-top: 3rem;}
	.sdgs-area01-img img {margin: 0 auto;}
}
/********** sdgs-area02 **********/
.sdgs-area02-bg {background: var(--color-bg-grn);padding: 4rem 0;margin-top: 5rem;}

/********* col3 *********/
.sdgs-area03-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;margin-top: 4rem;margin-bottom: 5rem;}
.sdgs-area03-wrap::after {content: "";display: block;height: 0;}
.sdgs-area03-wrap::after,.sdgs-area03-col {width: 32.5%;}
.sdgs-area03-col img {border-radius: 10px;}
/* 
Business
-------------------------------------------------------------------------------------------------*/
.bus-area01 img,.bus-area01-w img {display: block;width: 100%;height: 450px;object-fit: cover;}
.bus-area01-ttl {margin-top: 0;padding-bottom: 0.7em;text-align: center;position: relative;}
.bus-area01-ttl::after {content: '';position: absolute;border-bottom: 10px dotted var(--color-theme-hover);width: 50px;bottom: 0;left: 50%;transform: translateX(-50%);-webkit-transform: translateX(-50%);-ms-transform: translateX(-50%);}
.bus-area01-bg {background: var(--color-bg-grn);padding: 4rem 0;}
.bus-area01-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;margin-top: 2rem;}
.bus-area01-col {width: 46%;}
.bus-area01-col:last-child {background: #fff;padding: 1.5rem;border-radius: 10px;}
.bus-area01-col:last-child ul {column-count: 2;}
.bus-area01-w .bus-area01-bg {background: #fff;}
.bus-area01-w .bus-area01-col:last-child {background: var(--color-bg-grn);}
@media (max-width:960px){
	.bus-area01 img,.bus-area01-w img {height: 350px;}
	.bus-area01-col {width: 100%;order: 2;}
	.bus-area01-col:last-child {order: 1;margin-bottom: 1.5rem;}
}
@media (max-width:500px){
	.bus-area01 img,.bus-area01-w img {height: 300px;}
	.bus-area01-col:last-child ul {column-count: 1;}
}
/****************** Business slider *********************/
.slide-wrap {overflow: hidden;display: flex;align-items: center;height: 225px;}
.slideshow {display: flex;-webkit-animation: loop-slide 40s infinite linear 1s both;animation: loop-slide 40s infinite linear 1s both;}
.slide-content {width: 300px;height: 225px;}
@-webkit-keyframes loop-slide {from {transform: translateX(0);}to {transform: translateX(-100%);}}
@keyframes loop-slide {from {transform: translateX(0);}to {transform: translateX(-100%);}}
@media screen and (max-width: 500px) {
	.slide-wrap {height: 112px;}
	.slideshow {-webkit-animation: loop-slide 30s infinite linear 1s both;animation: loop-slide 30s infinite linear 1s both;}
	.slide-content {width: 150px;height: 112px;}
	.slide-paused:active .slideshow {-webkit-animation-play-state: paused;animation-play-state: paused;}
}
/* works-btn */
.works-btn-bg {background: var(--color-bg-gry);padding-bottom: 3rem;}
.works-btn {display: flex;justify-content: center;align-items: center;width: 250px;margin:0 auto;padding: .9em 1em;border: none;border-bottom: solid 5px var(--color-theme);border-radius: 5px;background-color: var(--color-theme-hover);color: #fff;font-weight: 600;font-size: 1em;transition: .5s ease;text-decoration: none;}
.works-btn::after {transform: rotate(45deg);width: 5px;height: 5px;margin-left: 10px;border-top: 2px solid #fff;border-right: 2px solid #fff;content: '';}
.works-btn:hover {transform: translateY(3px);border-bottom-width: 2px;}

/* 
Business Public
-------------------------------------------------------------------------------------------------*/
.pbl-area01-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;margin-bottom: 5rem;}
.pbl-area01-txt {padding-left: var(--both-ends);width: calc(96% - 750px);}
.pbl-area01-img {width: 750px;}
.pbl-area01-img img {border-radius: 10px 0 0 10px;display: block;width: 100%;height: 100%;object-fit: cover;}
@media (max-width:1920px){
	.pbl-area01-txt {padding-left: var(--both-ends-sp);}
}
@media (max-width:1590px){
	.pbl-area01-wrap {align-items: stretch;}
	.pbl-area01-txt {width: 54%;}
	.pbl-area01-img {width: 40%;}
	.pbl-area01-img img {display: block;width: 100%;height: 100%;object-fit: cover;}
}
@media (max-width:1310px){
	.pbl-area01-txt h3 br {display: none;}
}
@media (max-width:768px){
	.pbl-area01-wrap {margin-bottom: 0;}
	.pbl-area01-txt {width: 100%;padding-right: var(--both-ends-sp);}
	.pbl-area01-img {width: 100%;}
	.pbl-area01-img img {border-radius: 10px 10px 0 0;height: 300px;}
}
@media (max-width:500px){
	.pbl-area01-img img {height: 250px;}
}
/********** pbl-area02 **********/
.pbl-area02-bg {background: var(--color-bg-grn);padding: 4rem 0;}
/* 
Business Port
-------------------------------------------------------------------------------------------------*/
.prt-area01-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;margin-bottom: 5rem;}
.prt-area01-txt {padding-left: var(--both-ends);width: calc(96% - 750px);}
.prt-area01-img {width: 750px;}
.prt-area01-img img {border-radius: 10px 0 0 10px;display: block;width: 100%;height: 100%;object-fit: cover;}
@media (max-width:1920px){
	.prt-area01-txt {padding-left: var(--both-ends-sp);}
}
@media (max-width:1590px){
	.prt-area01-wrap {align-items: stretch;}
	.prt-area01-txt {width: 54%;}
	.prt-area01-img {width: 40%;}
	.prt-area01-img img {display: block;width: 100%;height: 100%;object-fit: cover;}
}
@media (max-width:1310px){
	.prt-area01-txt h3 br {display: none;}
}
@media (max-width:768px){
	.prt-area01-wrap {margin-bottom: 0;}
	.prt-area01-txt {width: 100%;padding-right: var(--both-ends-sp);}
	.prt-area01-img {width: 100%;}
	.prt-area01-img img {border-radius: 10px 10px 0 0;height: 300px;}
}
@media (max-width:500px){
	.prt-area01-img img {height: 250px;}
}
/**********.prt-area02 **********/
.prt-area02-bg {background: var(--color-bg-grn);padding: 4rem 0;}
/* 
Business Demolition
-------------------------------------------------------------------------------------------------*/
.dmo-area01-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;margin-bottom: 5rem;}
.dmo-area01-txt {padding-left: var(--both-ends);width: calc(96% - 750px);}
.dmo-area01-img {width: 750px;}
.dmo-area01-img img {border-radius: 10px 0 0 10px;display: block;width: 100%;height: 100%;object-fit: cover;}
@media (max-width:1920px){
	.dmo-area01-txt {padding-left: var(--both-ends-sp);}
}
@media (max-width:1590px){
	.dmo-area01-wrap {align-items: stretch;}
	.dmo-area01-txt {width: 54%;}
	.dmo-area01-img {width: 40%;}
	.dmo-area01-img img {display: block;width: 100%;height: 100%;object-fit: cover;}
}
@media (max-width:1310px){
	.dmo-area01-txt h3 br {display: none;}
}
@media (max-width:768px){
	.dmo-area01-wrap {margin-bottom: 0;}
	.dmo-area01-txt {width: 100%;padding-right: var(--both-ends-sp);}
	.dmo-area01-img {width: 100%;}
	.dmo-area01-img img {border-radius: 10px 10px 0 0;height: 300px;}
}
@media (max-width:500px){
	.dmo-area01-img img {height: 250px;}
}
/**********.dmo-area02 **********/
.dmo-area02-bg {background: var(--color-bg-grn);padding: 4rem 0;}
/* 
Recruit
-------------------------------------------------------------------------------------------------*/
/********** rec-area01 **********/
.rec-area01-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;margin-top: 3rem;}
.rec-area01-img {width: 450px;}
.rec-area01-img img {border-radius: 10px;display: block;width: 100%;height: 100%;object-fit: cover;}
.rec-area01-txt {width: calc(96% - 450px);}
@media (max-width: 1450px) {
	.rec-area01-img {width: 350px;}
	.rec-area01-txt {width: calc(96% - 350px);}
}
@media (max-width: 980px) {
	.rec-area01-img {width: 35%;}
	.rec-area01-txt {width: 60%;}
}
@media (max-width: 850px) {
	.rec-area01-txt {order: 1;margin-bottom: 1rem;}
	.rec-area01-img {order: 2;}
	.rec-area01-img,.rec-area01-txt {width: 100%;}
	.rec-area01-img img {height: 450px;object-position: center 15%;}
}
@media (max-width: 640px) {
	.rec-area01-img img {height: 350px;}
}
@media (max-width: 500px) {
	.rec-area01-img img {height: 300px;}
}
/********** rec-img **********/
.rec-img-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;}
.rec-img-col {width: 25%;}
/********** rec-area02 **********/
.rec-area02-bg {background: var(--color-bg-grn);padding: 3rem 0;}
.rec-area02-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;margin-top: 3rem;}
.rec-area02-img {width: 450px;}
.rec-area02-img img {border-radius: 10px;display: block;width: 100%;height: 100%;object-fit: cover;}
.rec-area02-txt {width: calc(96% - 450px);}
@media (max-width: 1450px) {
	.rec-area02-img {width: 350px;}
	.rec-area02-txt {width: calc(96% - 350px);}
}
@media (max-width: 980px) {
	.rec-area02-img {width: 35%;}
	.rec-area02-txt {width: 60%;}
}
@media (max-width: 850px) {
	.rec-area02-txt {margin-bottom: 1rem;}
	.rec-area02-img,.rec-area02-txt {width: 100%;}
	.rec-area02-img img {height: 450px;object-position: center center;}
}
@media (max-width: 640px) {
	.rec-area02-img img {height: 350px;}
}
@media (max-width: 500px) {
	.rec-area02-img img {height: 300px;}
}
/********** rec-area03-bg **********/
.rec-area03-bg {background: var(--color-bg-gry);padding: 5rem 0;}
.rec-area03-bg .ttl {font-weight: var(--font-bld);margin-top: 0;padding-bottom: 0.7em;text-align: center;position: relative;}
.rec-area03-bg .ttl::after {content: '';position: absolute;border-bottom: 10px dotted var(--color-theme-hover);width: 50px;bottom: 0;left: 50%;transform: translateX(-50%);-webkit-transform: translateX(-50%);-ms-transform: translateX(-50%);}
.rec-area03-bg .sub-ttl {font-size: 140%;font-weight: var(--font-bld);text-align: center;margin-bottom: 0.5rem;}
.rec-area03-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;margin-top: 3rem;}
.rec-area03-col {width: 48%;position: relative;margin-top: 1em;padding: 1.8em 1.5em 1em 1.5em;border: 2px solid var(--color-theme-hover);}
.rec-area03-col > div {position: absolute;top: -1.15em;left: -.5em;padding: .4em 1.4em;border-radius: 25px;background-color: var(--color-theme-hover);color: #fff;font-size: 110%;}
.rec-area03-col > div::before {position: absolute;bottom: -8px;left: 50%;transform: translateX(-50%);width: 16px;height: 8px;background-color: var(--color-theme-hover);clip-path: polygon(0 0, 100% 0, 50% 100%);content: '';}
.rec-area03-col p {margin: 0;margin-top: 0.5rem;}
@media (max-width: 670px) {
	.rec-area03-col {width: 100%;}
	.rec-area03-col:first-child {margin-bottom: 2rem;}
}
/* rec-btn */
.rec-btn {font-weight: bold;line-height: 1.5;position: relative;display: inline-block;padding: 1em 2em 1em calc(5em - 15px);transition: 0.3s;text-decoration: none;color: #fff;border-radius: 0.5rem;background: var(--color-theme-hover);box-shadow: 0 5px 0 var(--color-theme);margin-left: 10px;margin-top: 3rem;top: 0;left:50%;transform: translateX(-50%);font-size: 140%;}
.rec-btn p {margin: 0;}
.rec-btn .rec-btn-copy {position: absolute;bottom: 0.5em;left: -10px;display: inline-block;width: 5em;height: 5em;line-height: 5em;text-align: center;color: var(--color-theme-hover);font-size: 80%;font-weight: bold;background: #fff;border: 3px solid var(--color-theme-hover);border-radius: 50%;box-sizing: border-box;transform: rotate(-10deg);}
.rec-btn .rec-btn-copy::before {position: absolute;content: "";bottom: -5px;right: -5px;border: 9px solid transparent;border-left: 15px solid #FFF;z-index: 0;transform: rotate(45deg);}
/* マウスオーバーした際のデザイン */
.rec-btn:hover {transform: translate(-50%, 3px);background: var(--color-theme-hover);box-shadow: 0 2px 0 var(--color-theme);}
/* 
Recruit Message
-------------------------------------------------------------------------------------------------*/
.msg-area01-bg {background: var(--color-bg-gry);padding: 5rem 0;}
.msg-area02-bg {background: #fff;padding: 5rem 0;}
.msg-area-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;margin-bottom: 2rem;}
.msg-area-txt {width: 60%;}
.msg-area-img {width: 35%;}
.msg-area-img img {display:block;width: 100%;height: 100%;object-fit: cover;}
.msg-area-ttl {position: relative;padding: .5em .7em .4em 0;border-bottom: 3px solid var(--color-theme-hover);font-weight: var(--font-bld);font-size: 110%;margin: 1.5rem 0  1.5rem;}
.msg-area-ttl::before,
.msg-area-ttl::after {position: absolute;left: 30px;bottom: -15px;width: 30px;height: 15px;clip-path: polygon(0 0, 100% 0, 50% 100%);content: '';}
.msg-area-ttl::before {background-color: var(--color-theme-hover);}
.msg-area-ttl::after {bottom: -11px;background-color: var(--color-bg-gry);}
.msg-area02-bg .msg-area-wrap .msg-area-txt .msg-area-ttl::after {background-color: var(--color-bg-gry);}
@media (max-width: 850px) {
	.msg-area-txt,.msg-area-img {width: 100%;}
	.msg-area-txt {order: 1;}
	.msg-area-img {order: 2;}
	.msg-area-img img {height: 300px;}
}
@media (max-width: 500px) {
	.msg-area-img img {height: 250px;}
}
/********** work-flow **********/
.work-flow {width:100%;}
.work-flow-list {display:grid;grid-template-columns:repeat(5,1fr);gap:100px 40px;}
.work-flow-item {position:relative;}
.work-flow-item:not(:last-child)::after {content:"•••▶";position:absolute;top:60px;right:-38px;color:#333;font-size:20px;font-weight:bold;letter-spacing:2px;line-height:1;}
.work-flow-card {width:100%;}
.work-flow-head {background:var(--color-theme-hover);color:#fff;text-align:center;border-radius:10px 10px 0 0;padding:18px 10px 16px;}
.work-flow-head.yellow {background:#e3b323;}
.work-flow-head .time {font-size:180%;font-weight:bold;line-height:1;}
.work-flow-head .ttl {font-size:130%;font-weight:bold;line-height:1.3;margin-top:8px;}
.work-flow-card img {display:block;width:100%;height:198px;object-fit:cover;}
.work-flow-card p {margin:20px 0 0;font-size:16px;line-height:2;color:#333;}
.work-flow-card .box {font-weight:bold;line-height:1;background: var(--color-bg-grn);padding: 0.5rem;margin-top: 1rem;border-radius: 8px;}
.work-flow-card .box span {font-size:130%;}
@media screen and (max-width:1450px) {
    .work-flow-list {grid-template-columns:repeat(3,1fr);gap:80px 40px;}
    .work-flow-item:nth-child(3)::after {display:none;}
}
@media screen and (max-width:850px) {
    .work-flow-list {grid-template-columns:repeat(2,1fr);gap:40px 40px;}
	.work-flow-item:nth-child(2)::after,.work-flow-item:nth-child(4)::after {display:none;}
    .work-flow-item:nth-child(3)::after {display:block;}
}
/* スマホ：1カラム縦並び */
@media screen and (max-width:500px) {
    .work-flow-list {grid-template-columns:1fr;gap:85px;}
    .work-flow-item:not(:last-child)::after {content:"•\A•\A•\A▼";white-space:pre;top:auto;right:auto;left:50%;bottom:-76px;transform:translateX(-50%);font-size:20px;text-align:center;line-height:0.75;}
    .work-flow-item:nth-child(3)::after {display:block;}
    .work-flow-card img {height:auto;}
    .work-flow-card p {font-size:16px;line-height:2;}
	.work-flow-item:nth-child(2)::after,.work-flow-item:nth-child(4)::after {display:block;}
}
/* 
Recruit Benefit
-------------------------------------------------------------------------------------------------*/
.bnf-area01-bg {background: var(--color-bg-grn);padding: 3rem 0 2rem;}
.bnf-area01-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;}
.bnf-area01-wrap::before {content: "";display: block;height: 0;order: 1;}
.bnf-area01-wrap::after {content: "";display: block;height: 0;}
.bnf-area01-wrap::before,.bnf-area01-wrap::after,.bnf-area01-col {width: 24%;}
.bnf-area01-col {background: #fff;padding: 1.5rem;margin-bottom: 1rem;text-align: center;border-radius: 10px;}
.bnf-area01-col img {margin: 0 auto;width: 35%;}
.bnf-area01-col p {margin-bottom: 0;line-height: 1.5;}
.bnf-area01-col > div {font-size: 115%;font-weight: var(--font-bld);margin: 1rem 0 0.5rem;}
@media (max-width: 1366px) {
	.bnf-area01-wrap::before,.bnf-area01-wrap::after,.bnf-area01-col {width: 32%;}
	.bnf-area01-col > div {font-size: 110%;}
}
@media (max-width: 865px) {
	.bnf-area01-wrap::before,.bnf-area01-wrap::after,.bnf-area01-col {width: 49%;}
}
@media (max-width: 500px) {
	.bnf-area01-col {padding: 1.5rem 1rem;}
	.bnf-area01-col img {width: 40%;}
	.bnf-area01-col > div {font-size: 100%;}
	.bnf-area01-col p {font-size: 85%;}
}
/* 
Recruit Job-cards
-------------------------------------------------------------------------------------------------*/
/********** 一覧用カードデザイン **********/
.job-cards {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;}
.job-cards::before {content: "";display: block;height: 0;order: 1;}
.job-cards::after {content: "";display: block;height: 0;}
.job-cards::before,.job-cards::after,.job-card {width: 24%;}
.job-card {display: block;background: var(--color-bg-grn);padding: 16px;border-radius: 8px;box-shadow: 0 1px 4px rgba(0,0,0,0.1);box-sizing: border-box;margin-bottom: 20px;}
.job-card h3 {font-size: 18px;color: var(--color-def);border-bottom: 1px solid #fff;margin: 0;padding-bottom: 10px;position: relative;}
.job-card h3::after {font-family: "Material Icons";content: "\e5e1";position: absolute;top:2px;right: 0;}
.job-card-link {text-decoration: none;}
.job-tags-ttl {margin-top: 1rem;font-size: 16px;font-weight: bold;color: var(--color-def);}
.tag {padding: 4px 10px 5px;border-radius: 4px;color: white;font-size: 14px;font-weight: bold;display: inline-block;}
.tag-blue {background-color: var(--color-theme-hover);}
.tag-orange {background-color: #e88d3c;}
@media (max-width: 1024px) {
  .job-card {flex: 1 1 calc(50% - 20px); /* タブレット：2列 */}
}
@media (max-width: 600px) {
  .job-card {flex: 1 1 100%; /* スマホ：1列 */}
}
/********** 詳細ページ **********/
.job-detail-table {width: 100%;border-collapse: collapse;margin-bottom: 20px;}
.job-detail-table th, .job-detail-table td {padding: 10px;vertical-align: top;}
.job-detail-table th {background: #e9f1f6;width: 25%;text-align: left;}
.apply-button-wrapper {text-align: center;margin-top: 20px;}
.apply-button {display: inline-block;padding: 12px 30px;background-color: #f37b1d;color: white;font-size: 16px;border-radius: 6px;text-decoration: none;transition: background-color 0.3s ease;}
.apply-button:hover {background-color: #d96500;}
/* job-tabs */
.job-tabs {margin-top: 30px;}
.tab-headers {list-style: none;padding: 0;display: flex;border-bottom: 1px solid #ccc;margin-bottom: 0;}
.tab-headers .tab-header {width: 50%;padding: 10px 20px;background: #eee;margin-right: 2px;cursor: pointer;font-weight: bold;border-top-left-radius: 5px;border-top-right-radius: 5px;}
.tab-headers .tab-header.active {background: var(--color-bg-grn);color: var(--color-def);}
.tab-content {display: none;padding: 20px;background: #fff;border-left: 1px solid #ccc;border-right: 1px solid #ccc;border-top: none;}
.tab-content.active {display: block;}
/* job-detail-table */
.job-detail-table {width: 100%;border-collapse: collapse;margin-top: 0;}
.job-detail-table th, .job-detail-table td {border: 1px solid #ddd;padding: 10px;vertical-align: top;}
.job-detail-table th {background: #e9f1f6;width: 25%;text-align: left;}
@media (max-width: 500px) {
.job-detail-table {border: 1px solid #ccc;}
.job-detail-table tr {border-bottom: 1px solid #ddd;}
.job-detail-table tr:last-child {border-bottom: none;}
.job-detail-table th, .job-detail-table td {display: list-item;list-style-type: none;border: none;}
.job-detail-table th {width: calc(100% - 20px);}
}
/* 
Global
-------------------------------------------------------------------------------------------------*/
.glb-area01-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;}
.glb-area01-col {width: 33.333%;}
.glb-area01-col .txt-area {padding: 0 0.8rem 2rem;}
.glb-area01-col .txt-area h5 {margin-top: 1rem;}
@media (max-width: 850px) {
	.glb-area01-col {width: 100%;}
	.glb-area01-col img {display: block;width: 100%;height: 350px;object-fit: cover;}
	.glb-area01-col .txt-area {padding: 0 var(--both-ends-sp) 2rem;}
}
@media (max-width: 500px) {
	.glb-area01-col img {height: 250px;}
}
/********** glb-area02 **********/
.glb-area02-bg {background: var(--color-bg-gry);padding: 3rem 0 3rem;}
.glb-area02-wrap {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: stretch;}
.glb-area02-col {width: 25%;position: relative;}
.glb-area02-col > div {position: absolute;bottom: 0;width: 100%;background: rgba(255,255,255,0.8);padding: 0.5rem;font-size: 90%;}
@media (max-width: 1830px) {
	.glb-area02-col {width: 50%;}
}
@media (max-width: 690px) {
	.glb-area02-col {width: 100%;}
}
/* 
Contact form
-------------------------------------------------------------------------------------------------*/
.mw-table input,.mw-table textarea {font-size: calc(14 / 16 *1rem);border: 1px #ccc solid;}
.mwb button, input[type="button"], .mwb input[type="reset"], .mwb input[type="submit"] {background-color:#003d96!important;}
.mwb button:hover, input[type="button"]:hover, .mwb input[type="reset"]:hover, .mwb input[type="submit"]:hover {opacity:0.6!important;}
table.mw-table tr:nth-child(2) input[type=text] ,table.mw-table tr:nth-child(7) input[type=text] ,table.mw-table tr:nth-child(8) input[type=text],table.mw-table tr:nth-child(11) textarea {width:98%;}
.mwform-radio-field-text {font-size: calc(16 / 16 *1rem);font-weight: var(--font-bld);}
.mw-table th {vertical-align: top;width: 270px;}
.mw-table input {padding: 0.5rem;}
@media (max-width: 1180px) {
	.mw-table th {width: 250px;}
}
@media (max-width: 640px) {
	.mw-table input,.mw-table textarea {font-size: 14px;}
	.mw-table input.mwtel {width: 70px;}/* html設定時に電話番号のところに任意でクラスを下記のように追加『class="mwtel"』 */
	.mw-table input[type="text"],
	.mw-table input[type="email"],
	.mw-table input[type="tel"],
	.mw-table textarea {padding: 0.5rem;border: 1px solid #ccc!important;}
	.mw-table {border: 1px solid #ccc;width: 100%;max-width: 100%;}
	.mw-table tr {display: block;margin-bottom: 0;}
	.mw-table tr {border-bottom:1px solid #ccc;}
	.mw-table tr:last-child {border: none;}
	.mw-table th, .mw-table td {display: list-item;list-style-type: none;border: none;}
	.mw-table th {width: 100%;vertical-align: middle!important;}
	.mw-table td {border:none!important;}
}
input[name^="電話番号"]{
    width:120px !important;
    max-width:120px !important;
}
@media (max-width: 690px) {
	input[name^="電話番号"]{width:60px !important;max-width:60px !important;}
}

.mw-table-en input,
.mw-table-en textarea {
    font-size: calc(14 / 16 * 1rem);
    border: 1px #ccc solid;
}

.mwb button,
input[type="button"],
.mwb input[type="reset"],
.mwb input[type="submit"] {
    background-color: #003d96 !important;
}

.mwb button:hover,
input[type="button"]:hover,
.mwb input[type="reset"]:hover,
.mwb input[type="submit"]:hover {
    opacity: 0.6 !important;
}

table.mw-table-en tr:nth-child(1) input[type=text],
table.mw-table-en tr:nth-child(5) textarea {
    width: 98%;
}

.mwform-radio-field-text {
    font-size: calc(16 / 16 * 1rem);
    font-weight: var(--font-bld);
}

.mw-table-en th {
    vertical-align: top;
    width: 270px;
}

.mw-table-en input {
    padding: 0.5rem;
}

@media (max-width: 1180px) {
    .mw-table-en th {
        width: 250px;
    }
}

@media (max-width: 640px) {
    .mw-table-en input,
    .mw-table-en textarea {
        font-size: 14px;
    }
    
    .mw-table-en input.mwtel {
        width: 70px;
    }
    
    .mw-table-en input[type="text"],
    .mw-table-en input[type="email"],
    .mw-table-en input[type="tel"],
    .mw-table-en textarea {
        padding: 0.5rem;
        border: 1px solid #ccc !important;
    }
    
    .mw-table-en {
        border: 1px solid #ccc;
        width: 100%;
        max-width: 100%;
    }
    
    .mw-table-en tr {
        display: block;
        margin-bottom: 0;
    }
    
    .mw-table-en tr {
        border-bottom: 1px solid #ccc;
    }
    
    .mw-table-en tr:last-child {
        border: none;
    }
    
    .mw-table-en th,
    .mw-table-en td {
        display: list-item;
        list-style-type: none;
        border: none;
    }
    
    .mw-table-en th {
        width: 100%;
        vertical-align: middle !important;
    }
    
    .mw-table-en td {
        border: none !important;
    }
}


.mw-table-ent input,
.mw-table-ent textarea {
    font-size: calc(14 / 16 * 1rem);
    border: 1px #ccc solid;
}

.mwb button,
input[type="button"],
.mwb input[type="reset"],
.mwb input[type="submit"] {
    background-color: #003d96 !important;
}

.mwb button:hover,
input[type="button"]:hover,
.mwb input[type="reset"]:hover,
.mwb input[type="submit"]:hover {
    opacity: 0.6 !important;
}

table.mw-table-ent tr:nth-child(4) input[type=text],
table.mw-table-ent tr:nth-child(5) input[type=text],
table.mw-table-ent tr:nth-child(8) textarea,
table.mw-table-ent tr:nth-child(9) textarea {
    width: 98%;
}

.mwform-radio-field-text {
    font-size: calc(16 / 16 * 1rem);
    font-weight: var(--font-bld);
}

.mw-table-ent th {
    vertical-align: top;
    width: 270px;
}

.mw-table-ent input {
    padding: 0.5rem;
}

@media (max-width: 1180px) {
    .mw-table-ent th {
        width: 250px;
    }
}

@media (max-width: 640px) {
    .mw-table-ent input,
    .mw-table-ent textarea {
        font-size: 14px;
    }
    
    .mw-table-ent input.mwtel {
        width: 70px;
    }
    
    .mw-table-ent input[type="text"],
    .mw-table-ent input[type="email"],
    .mw-table-ent input[type="tel"],
    .mw-table-ent textarea {
        padding: 0.5rem;
        border: 1px solid #ccc !important;
    }
    
    .mw-table-ent {
        border: 1px solid #ccc;
        width: 100%;
        max-width: 100%;
    }
    
    .mw-table-ent tr {
        display: block;
        margin-bottom: 0;
    }
    
    .mw-table-ent tr {
        border-bottom: 1px solid #ccc;
    }
    
    .mw-table-ent tr:last-child {
        border: none;
    }
    
    .mw-table-ent th,
    .mw-table-ent td {
        display: list-item;
        list-style-type: none;
        border: none;
    }
    
    .mw-table-ent th {
        width: 100%;
        vertical-align: middle !important;
    }
    
    .mw-table-ent td {
        border: none !important;
    }
}
/* 確認画面では非表示 */
.mw_wp_form_confirm .agree-box{
	display:none;
}
.mwb button,input[type="button"],.mwb input[type="reset"],.mwb input[type="submit"] {position: relative;display: block;width: 300px;height: 48px;margin: 30px auto 0;background-color: #333333;cursor: pointer;border: none !important;color: #fff;text-align: center;text-decoration: none;font-size: calc(16 / 16 *1rem);line-height: 1.5;outline: none;-webkit-transition: all .3s;transition: all .3s;letter-spacing:0.1rem;}
.mwb button:hover,.mwb input[type="button"]:hover,.mwb input[type="reset"]:hover,.mwb input[type="submit"]:hover {background-color: #666;}
.mwb button:active, .mwb button:focus,.mwb input[type="button"]:active,.mwb input[type="button"]:focus,.mwb input[type="reset"]:active,.mwb input[type="reset"]:focus,.mwb input[type="submit"]:active,.mwb input[type="submit"]:focus {border-color: #aaa #bbb #bbb;}
/* 必須テキスト */
.required-srt {margin-left: .5rem;padding: 2px 6px 2px 5px;background: #CC0000;font-size: calc(12 / 16 *1rem);color: #fff;border-radius: 3px;-webkit-border-radius: 3px;-moz-border-radius: 3px;}
/* mw-inq-box */
.mw-inq-box {padding: 0.5em 1em;margin: 2em 0;border: solid 2px #ddd;}
.mw-inq-box p {margin: 0;padding: 2rem;}
.mw-inq-box .consent{font-weight:900!important;color:#CC0000;}
@media (max-width: 690px) {
	.mw-inq-box {height: 100px;overflow-y: scroll;}
	.mw-inq-box p {margin: 0;padding: 1rem;}
	.mwform-radio-field-text {font-size: calc(15 / 16 *1rem);font-weight: var(--font-bld);}
}
/* 募集要項ページから来た時だけ job_apply_summary を表示し、
それ以外は「希望職種」の入力欄を表示する */
.job-summary-box{margin-bottom:20px;padding:15px;}
.job-title-select{width:100%;padding:12px 15px;margin:10px 0;}
/* 
Sitemap
-------------------------------------------------------------------------------------------------*/
.sitemap {list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(3, 1fr);gap: 24px;}
.sitemap li {list-style: none;}
.sitemap a {color: #1f2933;text-decoration: none;transition: .25s ease;}
.sitemap > .level-1 {position: relative;padding: 24px;background: #fff;border: 1px solid rgba(15, 32, 55, .12);border-radius: 14px;box-shadow: 0 14px 35px rgba(15, 32, 55, .08);}
.sitemap > .level-1::before {content: "";position: absolute;top: 0;left: 0;width: 100%;height: 4px;background: linear-gradient(90deg, #00733f 0%, #009a00 100%);border-radius: 14px 14px 0 0;}
.sitemap > .level-1 > a {display: flex;align-items: center;justify-content: space-between;font-size: 1.05rem;font-weight: 700;letter-spacing: .06em;color: #00733f;}
.sitemap > .level-1 > a::after {content: "";width: 9px;height: 9px;border-top: 2px solid #009a00;border-right: 2px solid #009a00;transform: rotate(45deg);transition: .25s ease;}
.sitemap > .level-1:hover {transform: translateY(-3px);box-shadow: 0 18px 42px rgba(15, 32, 55, .13);transition: .25s ease;}
.sitemap > .level-1:hover > a {color: #009a00;}
.sitemap > .level-1:hover > a::after {transform: translateX(4px) rotate(45deg);}
.sitemap .children {list-style: none;margin: 18px 0 0;padding: 18px 0 0;border-top: 1px solid rgba(15, 32, 55, .1);}
.sitemap .children li {margin: 0;}
.sitemap .children li + li {margin-top: 12px;}
.sitemap .children a {position: relative;display: block;padding-left: 18px;font-size: .95rem;color: #4b5563;line-height: 1.7;}
.sitemap .children a::before {content: "";position: absolute;top: .75em;left: 0;width: 6px;height: 6px;background: #009a00;border-radius: 50%;}
.sitemap .children a:hover {color: #00733f;padding-left: 24px;}
.sitemap .children a:hover::before {background: #00733f;}
@media (max-width: 1024px) {
    .sitemap {grid-template-columns: repeat(2, 1fr);gap: 20px;}
}
@media (max-width: 600px) {
    .sitemap {grid-template-columns: 1fr;gap: 16px;}
    .sitemap > .level-1 {padding: 20px;}
    .sitemap > .level-1 > a {font-size: 1rem;}
}