/*common_css*/
/* Box sizingの定義 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* デフォルトのpaddingを削除 */
ul[class],
ol[class] {
  padding: 0;
}

/* デフォルトのmarginを削除 */
body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

/* bodyのデフォルトを定義 */
body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* class属性を持つul、ol要素のリストスタイルを削除 */
ul[class],
ol[class] {
  list-style: none;
}

/* classを持たない要素はデフォルトのスタイルを取得 */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* img要素の扱いを簡単にする */
img {
  max-width: 100%;
  display: block;
}

/* article要素内の要素に自然な流れとリズムを定義 */
article > * + * {
  margin-top: 1em;
}

/* inputやbuttonなどのフォントは継承を定義 */
input,
button,
textarea,
select {
  font: inherit;
}

/***幅指定***/
[data-w-width] {
    max-width: 100%;
}

/*コンテンツ幅での設置*/
[data-w-width="1"] {
    width: 1170px;
    width:1170px;
    margin: 0 auto;
}
@media (max-width: 1169px) {
    [data-w-width="1"] {
        width: calc(100% - 5%);
    } 
}
@media (max-width: 768px) {
    [data-w-width="1"] {
        width: calc(100% - 12%);
    } 
}
/*リソース設定無い場合とリソース設定がある場合。*/
/*margin設定はデザインによって変更OK*/

/*ウィンドウ幅での設置*/
[data-w-width="0"] {
    width: 100%;
}

/***基本設定***/
html {
    font-size: 62.5%;
}
/*パーツ内ではremで余白やフォントサイズの指定を行うため、この数値*/

body {
    background: #ffffff;
    background:#f5f5f5;
    color: #313131;
    color:#313131;

    line-height: 1.6;
    font-size: 1.6rem;
}
@media (max-width: 768px) {
    body {
        font-size:4vw;
    }
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/***色指定***/
.-w-txt.-w-background {
    color: #fff;
    color:#f5f5f5;
}
.-w-txt.-w-background-r {
    color: #000;
    color:#313131;
}
.-w-txt.-w-main {
    color: #001754;
    color:#f16c6c;
}
.-w-txt.-w-main-r {
    color: #fff;
    color:#ffffff;
}
.-w-txt.-w-accent {
    color: #4f0506;
    color:#a0ca5a;
}
.-w-txt.-w-accent-r {
    color: #fff;
    color:#ffffff;
}
/*背景色＋テキスト色*/
.-w-bg.-w-background {
    background: #fff;
    background:#f5f5f5;
    color: #000;
    color:#313131;
}
.-w-bg.-w-main {
    background: #001754;
    background:#f16c6c;
    color: #fff;
    color:#ffffff;
}
.-w-bg.-w-accent {
    background: #4f0506;
    background:#a0ca5a;
    color: #fff;
    color:#ffffff;
}
/*反転ver*/
.-w-bg.-w-background-r {
    background: #000;
    background:#313131;
    color: #fff;
    color:#f5f5f5;
}
.-w-bg.-w-main-r {
    background: #fff;
    background:#ffffff;
    color: #001754;
    color:#f16c6c;
}
.-w-bg.-w-accent-r {
    background: #fff;
    background:#ffffff;
    color: #4f0506;
    color:#a0ca5a;
}
/*hover時背景色指定*/
a.-w-bg.-w-background:hover {
    background: #000;
    background:#313131;
    color: #fff;
    color:#f5f5f5;
}
a.-w-bg.-w-main:hover {
    background: #fff;
    background:#ffffff;
    color: #001754;
    color:#f5f5f5;
}
a.-w-bg.-w-accent:hover {
    background: #fff;
    background:#ffffff;
    color: #4f0506;
    color:#a0ca5a;
}
a.-w-bg.-w-background-r:hover {
    background: #fff;
    background:#f5f5f5;
    color: #000;
    color:#313131;
}
a.-w-bg.-w-main-r:hover {
    background: #001754;
    background:#f16c6c;
    color: #fff;
    color:#ffffff;
}
a.-w-bg.-w-accent-r:hover {
    background: #4f0506;
    background:#a0ca5a;
    color: #fff;
    color:#ffffff;
}

/***ボーダー色指定***/
.-w-bd.-w-background {
    border-color: #fff;
    border-color:#f5f5f5;
}
.-w-bd.-w-main {
    border-color: #001754;
    border-color:#f16c6c;
}
.-w-bd.-w-accent {
    border-color: #4f0506;
    border-color:#a0ca5a;
}
.-w-bd.-w-background-r {
    border-color: #000;
    border-color:#313131;
}
.-w-bd.-w-main-r {
    border-color: #fff;
    border-color:#ffffff;
}
.-w-bd.-w-accent-r {
    border-color: #fff;
    border-color:#ffffff;
}
/*hover時ボーダー色指定*/
a.-w-bd.-w-bg.-w-background-r:hover,
a.-w-bd.-w-background:hover {
    border-color: #000;
    border-color:#313131;
}
a.-w-bd.-w-bg.-w-main-r:hover,
a.-w-bd.-w-main:hover {
    border-color: #fff;
    border-color:#ffffff;
}
a.-w-bd.-w-bg.-w-accent-r:hover,
a.-w-bd.-w-accent:hover {
    border-color: #fff;
    border-color:#ffffff;
}
a.-w-bd.-w-bg.-w-background:hover,
a.-w-bd.-w-background-r:hover {
    border-color: #000;
    border-color:#f5f5f5;
}
a.-w-bd.-w-bg.-w-main:hover,
a.-w-bd.-w-main-r:hover {
    border-color: #001754;
    border-color:#f16c6c;
}
a.-w-bd.-w-bg.-w-accent:hover,
a.-w-bd.-w-accent-r:hover {
    border-color: #4f0506;
    border-color:#a0ca5a;
}


/*見出し設定*/
.-w-ttl_wrap {
    text-align: center;
}
.-w-section_inner h3.-w-general{
    text-align: center;
}
span.-w-general{
    font-size: 4.8rem;
    margin-bottom: 4rem;
    display: block;
    line-height: 1.0;
    color:#313131;
    color:rgba(49,49,49,1);
}
h2.-w-general{
    font-size: 2rem;
    margin-bottom: 2rem;
    color:#313131;
    color:rgba(49,49,49,1);
}
h3.-w-general{
    font-size: 1.8rem;
    margin-bottom: 5rem;
    color:#EA7C5D;
    color:rgba(241,108,108,1);
}
h4.-w-general {
    font-size: 1.8rem;
    color:#313131;
    color:rgba(49,49,49,1);
    margin-bottom: 5rem;
}
@media (max-width: 768px) {
    .-w-ttl_wrap {
        text-align: left;
    }
    h3.-w-general{
        font-size: 5vw;
    }
    h4.-w-general {
        font-size: 4vw;
    }
}
/*フェード*/
@media (min-width: 1024px) {
    .-w-anime-fade {
    	opacity: 0;
    	transition: all .5s ease-in-out;
    	transform: translateY(50px);
    }
    .-w-anime-fade.active {
    	opacity: 1;
    	transform: translateY(0px);
    }
    
    .-w-anime-fade:nth-child(2){
        transition-delay:0.2s;
    }
    .-w-anime-fade:nth-child(3){
        transition-delay:0.4s;
    }
    .-w-anime-fade:nth-child(4){
        transition-delay:0.6s;
    }
    .-w-anime-fade:nth-child(5){
        transition-delay:0.8s;
    }
    .-w-anime-fade:nth-child(6){
        transition-delay:1s;
    }
    .-w-anime-fade:nth-child(n+7){
        transition-delay:1.2s;
    }
}

/*ボタン*/
.-w-more_btn{
    margin-top:40px;
    text-align: center;
}    
.-w-more_btn a{
    display: inline-block;
	position: relative;
	text-decoration: none;
	border: 2px solid;
	-webkit-transition: all .3s;
	transition: all .3s;
	padding: 8px 5px;
    line-height: 1;
	text-align: center;
	min-width: 170px;
	background-color:#ff6600;
	color:#ffffff;
	border-color:#ff6600;
	background-color:rgba(160,202,90,1);
	color:rgba(255,255,255,1);
	border-color:rgba(160,202,90,1);
}
.-w-more_btn a:hover{
    opacity: 1;
	background-color:#ffffff;
	color:#ff6600;
	color:rgba(160,202,90,1);
	background-color:rgba(255,255,255,1);
}
@media (max-width: 768px) {
    .-w-more_btn a{
    	padding: 30px 10px;
    	min-width: 100%;
    	font-size: 4vw;
    }
}


/*
 フォント
****************************************/














    body {
    	font-family: source-han-sans-cjk-ja, sans-serif;
    	font-weight: 300;
    	font-style: normal;
        
        
        
        
    }

	/*見出しフォント*/
	.-w-font_title1,
	h2, h3, h4, h5, h6{
    	font-family: heisei-maru-gothic-std, sans-serif;
    	font-weight: 800;
	}
	/*MVフォント*/
	.-w-font_title2,
	th,td,.-w-more_btn a{
    	font-family: heisei-maru-gothic-std, sans-serif;
    	font-weight: 800;
	}
	/*英数字フォント*/
	.-w-font_en,
	.-w-ttl_wrap span{
        font-family: voltage, heisei-maru-gothic-std, sans-serif;
        font-weight: 400;
	}
	.-w-font_en_after:after{
        font-family: voltage, heisei-maru-gothic-std, sans-serif;
        font-weight: 400;
	}





@media (max-width: 768px) {
    
    /*
     フォント
    ****************************************/
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    	/*見出しフォント*/
        .-w-font_title1,
	    h2, h3, h4, h5, h6{
	        font-family:initial;
	    }
	    /*MVフォント*/
	    .-w-font_title2{
	        font-family:initial;
	    }
    	/*英数字フォント*/
    	.-w-font_en,
    	.-w-ttl_wrap span{
            font-family: voltage, heisei-maru-gothic-std, sans-serif;
            font-weight: 400;
    	}
    	.-w-font_en_after:after{
            font-family: voltage, heisei-maru-gothic-std, sans-serif;
            font-weight: 400;
    	}
    
    
}
.anchor_wrap {
    width: 1170px;
    max-width: 100%;
    margin: 0 auto 50px;
}

.anchor_list {
    display: -webkit-box;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}

.anchor_list li {
    width: 48%;
    text-align: center;
}

.anchor_list li a {
    text-decoration: none;
    color: #f5f5f5;
    background: #a0ca5a;
    width: 100%;
    display: inline-block;
    border-radius: 5px;
    padding: 15px;
}

#link1,
#link2,
#link3,
#link4,
#link5,
#link6,
#link7 {
    margin-top: -112px;
    padding-top: 112px;
}

@media (max-width: 768px) {
#link1,
#link2,
#link3,
#link4,
#link5,
#link6,
#link7 {
    margin-top: -90px;
    padding-top: 90px;
}
}



/*widget:5908d1a3-3c71-4669-9e9d-398676b29bf1*/[data-lib="12707"]{background:#ffffff;
	background-color:#f5f5f5;
	color:#313131;
	color:#313131;
	padding:0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 101;
	min-height: 90px;
	display: flex;
	align-items: center;}[data-lib="12707"].-w-navfixed_off{position: relative;}[data-lib="12707"] a{color:#313131;
	color:#313131;
	text-decoration: none;}[data-lib="12707"] a:hover{text-decoration: underline;}[data-lib="12707"] .-w-h1-wrap h1{position: absolute;
	top: 5px;
	left: 20px;
	width: calc(100% - 249px);
	font-size:1.2rem;
	line-height: 1.0;
	font-weight: 500;}[data-lib="12707"] .-w-sp{display: none;}[data-lib="12707"] .-w-head_main{width:100%;
	display: flex;
	align-items: center;
	padding: 20px 0 0;}[data-lib="12707"] .-w-logo{padding-left: 20px;
	display: flex;
	align-items: center;}[data-lib="12707"] .-w-logo a{display: block;}[data-lib="12707"] .-w-logo img{padding:5px;
	background:none;
	object-fit: contain;}[data-lib="12707"] .-w-right{margin-left:auto;
	display: flex;
	align-items: center;
	flex-wrap: wrap;}[data-lib="12707"] .-w-gnav{display: flex;
	align-items: center;}[data-lib="12707"] .-w-gnav ul{display: flex;
	list-style: none;
	font-size:1.6rem;}[data-lib="12707"] .-w-gnav ul li.-w-menu-item{line-height: 1.0;
	display: flex;
	align-items: center;
	position: relative;}[data-lib="12707"] .-w-gnav ul li.-w-menu-item:nth-last-child(2){color: #ffffff;
	color:#313131;
	margin-right:2.0rem;}[data-lib="12707"] .-w-gnav ul li.-w-menu-item:nth-last-child(2) a{margin:0;
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transition: all .3s;
	transition: all .3s;
	padding: 10px 10px;
	border:none;
	border-radius: 40px;
	overflow: hidden;
	background-color: #ff6600;
	background-color:#a0ca5a;
	color: #ffffff;
	color:#ffffff;
	position: relative;}[data-lib="12707"] .-w-gnav ul li.-w-menu-item:nth-last-child(2) a:hover{opacity:0.8;
	text-decoration:none;}[data-lib="12707"] .-w-gnav ul li.-w-menu-item:nth-last-child(2) a:before{margin-right: 5px;
	font-size: 2.4rem;
	font-family: 'Material Icons';
	content: "\E0BE";
	color: #ffffff;
	color:#ffffff;}[data-lib="12707"] .-w-gnav ul li.-w-menu-item:nth-last-child(2) a:after{position: absolute;
	top: 0;
	left: 0;
	right: inherit;
	content: "";
	width: 0;
	height: 100%;
	border-radius: 40px;
	background-color: #ff6600;
	background-color:rgba(241,108,108,0.7);
	-webkit-transition: width 0.3s ease;
	-moz-transition: width 0.3s ease;
	-o-transition: width 0.3s ease;
	-ms-transition: width 0.3s ease;
	transition: width 0.3s ease;
	z-index: -1;}[data-lib="12707"] .-w-gnav ul li.-w-menu-item:nth-last-child(2) a:hover:after{width:100%;}[data-lib="12707"] .-w-gnav ul li.-w-menu-item:last-child{color: #ffffff;
	color:#313131;
	margin-right:2.0rem;}[data-lib="12707"] .-w-gnav ul li.-w-menu-item:last-child a{margin:0;
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transition: all .3s;
	transition: all .3s;
	padding: 10px 10px;
	border:none;
	border-radius: 40px;
	overflow: hidden;
	background-color: #ff6600;
	background-color:#a0ca5a;
	color: #ffffff;
	color:#ffffff;
	position: relative;}[data-lib="12707"] .-w-gnav ul li.-w-menu-item:last-child a:hover{opacity:0.8;
	text-decoration:none;}[data-lib="12707"] .-w-gnav ul li.-w-menu-item:last-child a:before{margin-right: 5px;
	font-size: 2.4rem;
	font-family: 'Material Icons';
	content: "\E0BE";
	color: #ffffff;
	color:#ffffff;}[data-lib="12707"] .-w-gnav ul li.-w-menu-item:last-child a:after{position: absolute;
	top: 0;
	left: 0;
	right: inherit;
	content: "";
	width: 0;
	height: 100%;
	border-radius: 40px;
	background-color: #ff6600;
	background-color:rgba(241,108,108,0.7);
	-webkit-transition: width 0.3s ease;
	-moz-transition: width 0.3s ease;
	-o-transition: width 0.3s ease;
	-ms-transition: width 0.3s ease;
	transition: width 0.3s ease;
	z-index: -1;}[data-lib="12707"] .-w-gnav ul li.-w-menu-item:last-child a:hover:after{width:100%;}[data-lib="12707"] .-w-gnav ul li a{margin:0;
	height: 100%;
	display: flex;
	align-items: center;
	padding: 10px;
	!important
    padding: 1.0vw;}[data-lib="12707"] .-w-gnav ul li a:hover{text-decoration: none;
	color: #ff6600;
	color:#a0ca5a;}[data-lib="12707"] .-w-menu-item{position: relative;}[data-lib="12707"] .-w-menu-item:before{position: absolute;
	content: "";
	overflow: hidden;
	width: 0%;
	left: 50%;
	bottom: 0;
	transition: 0.2s ease-in-out 0.15s;}[data-lib="12707"] .-w-menu-item:hover:before{width: 100%;
	left: 0%;
	transition: 0.2s ease-in-out;}[data-lib="12707"] .-w-sub-menu{position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	top: 40px;
	padding: 0;
	text-align: left;
	max-height: 0;
	min-width: 250px;
	opacity: 0;
	transition: 0.45s ease all 0.10s;
	z-index: 100;
	-ms-flex-direction:column;
	-webkit-flex-direction:column;
	flex-direction:column;}[data-lib="12707"] .-w-sub-menu .-w-menu-item{display: block;}[data-lib="12707"] .-w-menu-item:nth-child(n+2):nth-child(-n+7) .-w-sub-menu-item{list-style-type: none;
	display: block;
	margin: 0;
	position: relative;
	-webkit-transform: translateY(-10px);
	transform: translateY(-10px);
	opacity: 0;
	transition: 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) all 0.1s;
	visibility: hidden;}[data-lib="12707"] .-w-menu-item:nth-child(n+2):nth-child(-n+7):hover .-w-sub-menu{max-height: 300px;
	min-width: 250px;
	opacity: 1;}[data-lib="12707"] .-w-menu-item:nth-child(n+2):nth-child(-n+7):hover .-w-sub-menu-item a{transition: 0.15s ease all;}[data-lib="12707"] .-w-menu-item:nth-child(n+2):nth-child(-n+7):hover .-w-sub-menu-item{-webkit-transform: translateY(0px);
	transform: translateY(0px);
	opacity: 1;
	visibility: visible;}[data-lib="12707"] .-w-menu-item:hover .-w-sub-menu-item:first-child{transition-delay: 0.15s;}[data-lib="12707"] .-w-menu-item:hover .-w-sub-menu-item:nth-child(2){transition-delay: 0.30s;}[data-lib="12707"] .-w-menu-item:hover .-w-sub-menu-item:nth-child(3){transition-delay: 0.45s;}[data-lib="12707"] .-w-menu-item:hover .-w-sub-menu-item:nth-child(4){transition-delay: 0.6s;}[data-lib="12707"] .-w-menu-item:hover .-w-sub-menu-item:nth-child(5){transition-delay: 0.75s;}[data-lib="12707"] .-w-gnav .-w-sub-menu-item a{background: #fff;}@media (max-width: 1023px){[data-lib="12707"]{min-height: 90px;}[data-lib="12707"] .-w-pc{display: none;}[data-lib="12707"] .-w-sp{display: block;}[data-lib="12707"] .-w-sp-menu-btn{width: 90px;
	height: 90px;
	top: 0;
	right: 0;}[data-lib="12707"] .-w-sp-menu-btn input{position: fixed;
	opacity: 0;}[data-lib="12707"] .-w-sp-menu-btn label{width: 90px;
	height: 90px;
	position: absolute;
	margin: 0;
	padding: 0;
	border: none;
	outline: none;
	cursor: pointer;
	right: 0;
	top: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	background:rgba(160,202,90,1);}[data-lib="12707"] .-w-sp-menu-btn label::before{position: fixed;
	z-index: -2;
	height: 100vh;
	top: 90px;
	left: 0;
	right: 0;
	bottom: 0;
	content: '';
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	background:rgba(160,202,90,0.9);}[data-lib="12707"] .-w-sp-menu-btn label .-w-burger{position: absolute;
	z-index: 3;
	width: 30px;
	height: 40px;
	margin: 0;
	padding: 0;
	transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1);}[data-lib="12707"] .-w-sp-menu-btn label .-w-burger::before,[data-lib="12707"] 
.-w-sp-menu-btn label .-w-burger .-w-bar,[data-lib="12707"] 
.-w-sp-menu-btn label .-w-burger::after{position: absolute;
	right: 0;
	display: block;
	width: 100%;
	height: 12%;
	content: '';
	transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	background:rgba(255,255,255,1);}[data-lib="12707"] .-w-sp-menu-btn label .-w-burger .-w-bar{top: 44%;}[data-lib="12707"] .-w-sp-menu-btn label .-w-burger::before{top: 5px;
	transform-origin: top left;}[data-lib="12707"] .-w-sp-menu-btn label .-w-burger::after{bottom: 5px;
	transform-origin: bottom left;}[data-lib="12707"] .-w-sp-menu-btn input:focus + label .-w-burger,[data-lib="12707"] 
.-w-sp-menu-btn label:hover .-w-burger{opacity: .75;}[data-lib="12707"] nav#-w-hamburger_menu{height:calc(100vh - 90px);
	padding: 5vh 0 10vh;
	margin-bottom: 5vh;
	width:100%;
	position: fixed;
	top: 90px;
	left: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: flex-start;
	transform: translate3d(0, 0, 0);
	transform: translateX(-100%);
	will-change: transform;
	transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);}[data-lib="12707"] nav#-w-hamburger_menu::before{position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: -1;
	width: 100%;
	content: '';
	transform: skewX(15deg) translateX(-100%);
	transform-origin: bottom right;
	will-change: transform;
	transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);}[data-lib="12707"] nav#-w-hamburger_menu ul{display:block;
	height:auto;}[data-lib="12707"] nav#-w-hamburger_menu > ul{overflow-y: scroll;
	text-align: left;
	width: 100%;
	margin: 0 0 60px;}[data-lib="12707"] nav#-w-hamburger_menu > ul > li{width: 80%;}[data-lib="12707"] nav#-w-hamburger_menu a{margin: .5em 0;
	display: block;
	padding: 0em 1em;
	font-size: 2.1rem;
	text-decoration: none;
	font-weight: 500;
	transform: translateX(-100%);
	transition: color .15s, transform .5s;
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	color:rgba(255,255,255,1);}[data-lib="12707"] nav#-w-hamburger_menu a:nth-child(1){transition-delay: 0s, 100ms;}[data-lib="12707"] nav#-w-hamburger_menu a:nth-child(2){transition-delay: 0s, 150ms;}[data-lib="12707"] nav#-w-hamburger_menu a:nth-child(3){transition-delay: 0s, 200ms;}[data-lib="12707"] nav#-w-hamburger_menu a:nth-child(4){transition-delay: 0s, 250ms;}[data-lib="12707"] nav#-w-hamburger_menu a:nth-child(5){transition-delay: 0s, 300ms;}[data-lib="12707"] nav#-w-hamburger_menu a:nth-child(6){transition-delay: 0s, 350ms;}[data-lib="12707"] nav#-w-hamburger_menu a:hover,[data-lib="12707"]  nav#-w-hamburger_menu a:focus{font-weight: 700;
	color:rgba(255,255,255,1);}[data-lib="12707"] [id="navcheck"]:checked + label::before{opacity: 1;
	pointer-events: auto;}[data-lib="12707"] [id="navcheck"]:checked + label .-w-burger{right:30px;}[data-lib="12707"] [id="navcheck"]:checked + label .-w-burger::before,[data-lib="12707"]  [id="navcheck"]:checked + label .-w-burger::after{width: 141.42%;}[data-lib="12707"] [id="navcheck"]:checked + label .-w-burger::before{transform: rotate(45deg) translateY(-50%);}[data-lib="12707"] [id="navcheck"]:checked + label .-w-burger::after{transform: rotate(-45deg) translateY(50%);}[data-lib="12707"] [id="navcheck"]:checked + label .-w-burger .-w-bar{transform: scale(0.1);
	display:none;}[data-lib="12707"] [id="navcheck"]:checked ~ nav#-w-hamburger_menu{transform: translateX(0);}[data-lib="12707"] [id="navcheck"]:checked ~ nav#-w-hamburger_menu::before{transform: skewX(15deg) translateX(0);
	background:rgba(160,202,90,1);}[data-lib="12707"] [id="navcheck"]:checked ~ nav#-w-hamburger_menu a{transform: translateX(0);}[data-lib="12707"] [id="navcheck"]:checked ~ main .-w-content{transform: translateX(3em);
	transform-origin: left center;
	-webkit-filter: blur(2px);
	filter: blur(2px);}[data-lib="12707"] .-w-visuallyhidden{border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;}}@media (min-width: 769px) and (max-width: 1400px){[data-lib="12707"] .-w-gnav ul{font-size: 1.1vw;}[data-lib="12707"] .-w-gnav ul li a{padding: 1.0vw;}[data-lib="12707"] .-w-number{font-size: 2.5vw;}}@media (max-width: 768px){[data-lib="12707"]{padding:0;
	height:60px;
	min-height: initial;
	background:#ffffff;
	background:rgba(255,255,255,1);}[data-lib="12707"] .-w-pc{display: none;}[data-lib="12707"] .-w-sp{display: block;}[data-lib="12707"] .-w-h1-wrap{display: none;}[data-lib="12707"] .-w-head_main{padding:0;}[data-lib="12707"] .-w-logo{max-width: 180px;
	max-height: 60px;
	padding:0 1rem;
	box-sizing: border-box;}[data-lib="12707"] .-w-logo img{padding:0;
	max-height: 45px;
	object-fit: cover;}[data-lib="12707"] .-w-tel-wrap{margin-left:inherit;
	margin-top: inherit;
	width:70%;
	margin:0 auto;}[data-lib="12707"] .-w-sp-menu-btn{width: 60px;
	height: 60px;}[data-lib="12707"] .-w-sp-menu-btn label{width: 60px;
	height: 60px;}[data-lib="12707"] .-w-sp-menu-btn label::before{top: 60px;}[data-lib="12707"] nav#-w-hamburger_menu{height:calc(100vh - 60px);
	top: 60px;
	padding: 5vh 0 10vh;}[data-lib="12707"] [id="navcheck"]:checked + label .-w-burger{right: 0px;}}/*widget:c68be05e-b65d-408e-99a4-5ebc1cacf889*/[data-lib="1998"][data-pattern="3"] .pace{-webkit-pointer-events: none;
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	position: fixed;
	z-index: 20002;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	transition: all 1s ease-in-out;
	transition-delay: .5s;}[data-lib="1998"][data-pattern="3"] .pace.pace-inactive{z-index: 20001;
	opacity: 0;
	visibility: hidden;}[data-lib="1998"][data-pattern="3"] .pace .pace-progress{position: fixed;
	z-index: 2000;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	-webkit-transition: width 1s;
	-moz-transition: width 1s;
	-o-transition: width 1s;
	transition: width 1s;
	background-color:#ffffff;
	background-size: 200px auto;
	width: 100% !important;}[data-lib="1998"][data-pattern="3"] .pace .pace-progress:before{content: "";
	position: absolute;
	transition: all 1s cubic-bezier(1,.05,.58,.9);
	transition-delay: .3s;
	background: #ffffff;
	background: #ffffff;}[data-lib="1998"][data-pattern="3"] .pace.pace-inactive .pace-progress:before{opacity: 0;}[data-lib="1998"][data-pattern="3"] .pace-progress-inner{position: absolute;
	transition: all 1s cubic-bezier(1,.05,.58,.9);
	transition-delay: .3s;
	background-color:#a0ca5a;
	background: #ffffff;
	background: #ffffff;}[data-lib="1998"][data-pattern="3"] .pace.pace-inactive .pace-progress .pace-progress-inner{opacity: 0;}[data-lib="1998"][data-pattern="3"] .pace .pace-progress:after{display: inline-block;
	position: absolute;
	top: 33%;
	left: 50%;
	content: attr(data-progress-text);
	padding-top: 200px;
	line-height: 1;
	text-align: center;
	transition: all 1s ease-in-out;
	transform: translate(-50%);
	background: url(/_img/ja/resource/9/logo/) center center no-repeat;
	background-size: inherit;
	font-family: "Helvetica Neue", sans-serif;
	font-weight: 200;
	font-size: 2em;
	width: 100%;
	color: inherit;
	color: inherit;}[data-lib="1998"][data-pattern="3"].logo_off .pace .pace-progress:after{display: inline-block;
	position: absolute;
	top: 33%;
	left: 50%;
	content: attr(data-progress-text);
	padding-top: 200px;
	line-height: 1;
	text-align: center;
	transition: all 1s ease-in-out;
	transform: translate(-50%);
	background: none;
	font-family: "Helvetica Neue", sans-serif;
	font-weight: 200;
	font-size: 2em;
	width: 100%;}[data-lib="1998"][data-pattern="3"] .pace.pace-inactive .pace-progress:after{transform: translate(-50%, 100%);}[data-lib="1998"][data-pattern="3"].bg_a0ca5a,[data-lib="1998"][data-pattern="3"] 
    .bg_a0ca5a .pace .pace-progress:before,[data-lib="1998"][data-pattern="3"] 
    .bg_a0ca5a .pace-progress-inner{background-color:#a0ca5a;}[data-lib="1998"][data-pattern="3"].bg_black .pace .pace-progress:before,[data-lib="1998"][data-pattern="3"] 
    .bg_black .pace-progress-inner{background-color:#000000;}[data-lib="1998"][data-pattern="3"].bg_white .pace .pace-progress:before,[data-lib="1998"][data-pattern="3"] 
    .bg_white .pace-progress-inner{background-color:#ffffff;}[data-lib="1998"][data-pattern="3"].bg_gray .pace .pace-progress:before,[data-lib="1998"][data-pattern="3"] 
    .bg_gray .pace-progress-inner{background-color:#808080;}[data-lib="1998"][data-pattern="3"].bg_yellow .pace .pace-progress:before,[data-lib="1998"][data-pattern="3"] 
    .bg_yellow .pace-progress-inner{background-color:#ffff00;}[data-lib="1998"][data-pattern="3"].bg_red .pace .pace-progress:before,[data-lib="1998"][data-pattern="3"] 
    .bg_red .pace-progress-inner{background-color:#ff0000;}[data-lib="1998"][data-pattern="3"].bg_blue .pace .pace-progress:before,[data-lib="1998"][data-pattern="3"] 
    .bg_blue .pace-progress-inner{background-color:#0000ff;}[data-lib="1998"][data-pattern="3"].bg_green .pace .pace-progress:before,[data-lib="1998"][data-pattern="3"] 
    .bg_green .pace-progress-inner{background-color:#008000;
	background-color:#008000;}[data-lib="1998"][data-pattern="3"].bg_a0ca5a .pace .pace-progress:before,[data-lib="1998"][data-pattern="3"] 
    .bg_a0ca5a .pace-progress-inner{background-color:#a0ca5a;}[data-lib="1998"][data-pattern="1"]{position: fixed;
	top:0;
	left: 0;
	z-index:10000000;
	width:100vw;
	height:100vh;
	background-color:#ffffff;
	transition: top 1.5s ease;
	font-size: 34px;}[data-lib="1998"][data-pattern="1"] *{box-sizing: border-box;}[data-lib="1998"][data-pattern="1"] .opening_logo{width: '.resource('loading','logo_size').'px;}[data-lib="1998"][data-pattern="1"] .-w-cl{text-align: center;}[data-lib="1998"][data-pattern="1"] .-w-catch ,[data-lib="1998"][data-pattern="1"]  .-w-logo{position: fixed;
	width:100vw;
	height:100vh;
	left:0;
	top:0;
	line-height: 100vh;
	opacity:0;}[data-lib="1998"][data-pattern="1"] .-w-screen{width:100vw;
	height:100vh;
	background-color:#a0ca5a;
	position: absolute;
	left: 0;
	top: 100%;}[data-lib="1998"][data-pattern="1"] .-w-catch span ,[data-lib="1998"][data-pattern="1"]  .-w-logo img{display: inline-block;
	vertical-align: middle;}[data-lib="1998"][data-pattern="1"] .-w-logo img{width: 200px;}[data-lib="1998"][data-pattern="1"].domloaded .-w-catch{transition: opacity 0.5s ease .5s;
	opacity: 1;}[data-lib="1998"][data-pattern="1"].domloaded.showlogo .-w-catch{transition: opacity 0.5s ease 1.0s;
	opacity: 0;}[data-lib="1998"][data-pattern="1"].domloaded.showlogo .-w-logo{transition: opacity 0.5s ease 2.0s;
	opacity: 1;}[data-lib="1998"][data-pattern="1"].loaded{top:-200%;}[data-lib="1998"][data-pattern="1"].loaded .-w-catch ,[data-lib="1998"][data-pattern="1"].loaded  .-w-logo{transition: opacity 0.5s ease 0s!important;
	opacity: 0!important;}[data-lib="1998"][data-pattern="1"].loaded .-w-cl{transition: opacity 0.5s ease 2.0s;
	opacity: 0;}[data-lib="1998"][data-pattern="2"]{overflow-y: scroll;
	overflow-x: hidden;
	background: #a0ca5a;}[data-lib="1998"][data-pattern="2"] .pace-done{background: #a0ca5a;}[data-lib="1998"][data-pattern="2"] #pace{background: #a0ca5a;
	bottom: 0;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	-webkit-transition: transform .5s cubic-bezier(0.95, 0.05, 0.795, 0.035);
	transition: transform .5s cubic-bezier(0.95, 0.05, 0.795, 0.035);
	z-index: 10000;}[data-lib="1998"][data-pattern="2"] #pace .pace-logo{opacity: 1;
	-webkit-transition: opacity 1s .3s, transform .5s cubic-bezier(0.95, 0.05, 0.795, 0.035);
	transition: opacity 1s .3s, transform .5s cubic-bezier(0.95, 0.05, 0.795, 0.035);
	width: 100%;}[data-lib="1998"][data-pattern="2"] #pace .pace-logo img{display: block;
	margin: 0 auto;
	width: 200px;}[data-lib="1998"][data-pattern="2"] #pace .pace-logo.pace-hide{//opacity: 0;}[data-lib="1998"][data-pattern="2"] #pace .pace-progress{background: #ffffff;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 0;
	z-index: 1;}[data-lib="1998"][data-pattern="2"] #pace.pace-transition-1 .pace-progress{-webkit-transition: width 1s cubic-bezier(0.95, 0.05, 0.795, 0.035);
	transition: width 1s cubic-bezier(0.95, 0.05, 0.795, 0.035);}[data-lib="1998"][data-pattern="2"] #pace.pace-transition-2 .pace-progress{-webkit-transition: width .3s cubic-bezier(0.95, 0.05, 0.795, 0.035);
	transition: width .3s cubic-bezier(0.95, 0.05, 0.795, 0.035);}[data-lib="1998"][data-pattern="2"] .pace-activity{align-items: center;
	display: flex;
	height: 100%;
	left: 0;
	justify-content: center;
	overflow: hidden;
	position: absolute;
	top: 0;
	-webkit-transition: transform .5s cubic-bezier(0.95, 0.05, 0.795, 0.035);
	transition: transform .5s cubic-bezier(0.95, 0.05, 0.795, 0.035);
	width: 100%;
	z-index: 2;}[data-lib="1998"].loader_ .pace-progress,[data-lib="1998"] 
.loader_{color:#;}[data-lib="1998"].loader_black .pace-progress,[data-lib="1998"] 
.loader_black{color:#000000;}[data-lib="1998"].loader_white .pace-progress,[data-lib="1998"] 
.loader_white{color:#ffffff;}[data-lib="1998"].loader_gray .pace-progress,[data-lib="1998"] 
.loader_gray{color:#808080;}[data-lib="1998"].loader_yellow .pace-progress,[data-lib="1998"] 
.loader_yellow{color:#ffff00;}[data-lib="1998"].loader_red .pace-progress,[data-lib="1998"] 
.loader_red{color:#ff0000;}[data-lib="1998"].loader_blue .pace-progress,[data-lib="1998"] 
.loader_blue{color:#0000ff;}[data-lib="1998"].loader_green .pace-progress,[data-lib="1998"] 
.loader_green{color:#008000;}[data-lib="1998"]{background-color:#a0ca5a;}[data-lib="1998"] .-w-catch span{font-size: 3.4rem;}@media all and (orientation: landscape){[data-lib="1998"] .pace-progress-inner{top: 0;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: skewX(-45deg);}[data-lib="1998"] .pace.pace-inactive .pace-progress .pace-progress-inner{transform: translateX(100%) skewX(-45deg);}[data-lib="1998"] .pace .pace-progress:before{top: 0;
	left: -50%;
	width: 102%;
	height: 100%;
	transform: skewX(-45deg);}[data-lib="1998"] .pace.pace-inactive .pace-progress:before{transform: translateX(-100%) skewX(-45deg);}}@media (max-width: 640px){[data-lib="1998"] .-w-catch span{font-size: 2.4rem;}}/*widget:d0507630-1089-4463-848f-a1226428347a*/[data-lib="2515"]{padding: 10.0rem 0;
	box-sizing: border-box;
	position: relative;
	background: #f5f5f5;
	background:#f5f5f5;}[data-lib="2515"] *{box-sizing: border-box;}[data-lib="2515"] a{color:#313131;
	color: hsla(0,0%,19%,1);
	text-decoration: none;}[data-lib="2515"] a:hover{text-decoration: none;}[data-lib="2515"] .-w-wrapper{background:#ffffff;
	color:#313131;
	background: hsla(0,0%,100%,1);
	color: hsla(0,0%,19%,1);
	padding:10.0rem;
	font-size:1.5rem;
	line-height: 1.4;}@media (max-width: 1023px){[data-lib="2515"]{padding: 6.0rem 0;}}@media (max-width: 768px){[data-lib="2515"] .-w-wrapper{padding: 100px 6%;
	font-size:1.5rem;}}/*widget:375f5eb8-1c0e-49d5-be05-480a632bd9eb*/[data-lib="4444"]{position: relative;
	z-index: 103;}[data-lib="4444"] a[href^="tel:"]{cursor: default;}[data-lib="4444"] a[href^="tel:"]:hover{text-decoration: none;}[data-lib="4444"] .-w-pc{display: block;}[data-lib="4444"] .-w-sp{display: none;}[data-lib="4444"] #-w-side_sns{display: none;}[data-lib="4444"] #-w-side_sns ul{list-style: none;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-direction:column;
	-webkit-flex-direction:column;
	flex-direction:column;
	-webkit-box-pack: space-around;
	-ms-flex-pack: space-around;
	justify-content: space-around;}[data-lib="4444"] #-w-side_sns ul li{margin-bottom:30px;}[data-lib="4444"] #-w-side_sns ul li:last-child{margin-bottom:0;}[data-lib="4444"] #-w-side_sns.fixed{display: block;
	position: fixed;
	right: 0px;
	bottom: 80px;
	z-index: 100;
	text-align: center;
	width: 50px;
	background: rgba(20,24,34,0.7);
	background-color: hsla(0,0%,0%,0.6);
	padding: 20px 5px;}@media (max-width: 768px){[data-lib="4444"] .-w-pc{display: none;}[data-lib="4444"] .-w-sp{display: block;}[data-lib="4444"] #-w-side_sns{display: none;}[data-lib="4444"] #-w-side_sns.fixed{display: block;
	position: absolute;
	right: 0;
	top: 0;
	bottom:inherit;
	padding:0;
	z-index: 101;
	text-align: center;
	width: 100%;
	background: rgba(20,24,34,0.7);
	background-color: hsla(0,0%,0%,0.6);}[data-lib="4444"] #-w-side_sns ul{display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;}[data-lib="4444"] #-w-side_sns ul li{width: 24%;
	padding:25px 0;
	margin-bottom:0;}[data-lib="4444"] #-w-side_sns ul li img{margin:0 auto;}[data-lib="4444"] #-w-side_sns ul li:last-child{display: none;}}/*widget:b8e9163b-f776-49f0-b607-31155791cee0*/[data-lib="8269"]{padding:95px 0 0;
	background:url(/_img/ja/resource/9/common_bg/___/) no-repeat;
	position: relative;
	z-index: 100;}[data-lib="8269"] a[href^="tel:"]{cursor: default;}[data-lib="8269"] a[href^="tel:"]:hover{text-decoration: none;}[data-lib="8269"] .-w-pc{display: block;}[data-lib="8269"] .-w-sp{display: none;}[data-lib="8269"]::before{content: "";
	background-color: rgba(0,0,0,0.3);
	background-color: hsla(0,0%,0%,0.3);
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	z-index: -1;
	top:0;}[data-lib="8269"] .-w-foot-main{display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 5.5rem;
	width:780px;
	max-width: 100%;
	margin:0 auto;}[data-lib="8269"] .-w-left{width:40%;}[data-lib="8269"] .-w-right{width:60%;}[data-lib="8269"] .-w-left,[data-lib="8269"] 
.-w-right{display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-direction:column;
	-webkit-flex-direction:column;
	flex-direction:column;}[data-lib="8269"] .-w-more_btn a{width: 370px;
	padding: 30px 0;
	font-size: 1.8rem;}[data-lib="8269"] .-w-more_btn a span.material-icons{width:100%;
	font-weight: 700;}[data-lib="8269"] .-w-more_btn a span.material-icons::before{content: 'keyboard_arrow_right';
	font-family: "Material Icons";
	height: 20px;
	line-height: 1.2;
	padding-left: 1px;
	box-sizing: border-box;
	font-weight: 700;
	width: 20px;
	margin-right: 10px;
	border-radius: 10px;
	vertical-align: baseline;
	font-size: 18px;
	display: inline-block;}[data-lib="8269"] .-w-more_btn a span::before{background-color:#ffffff;
	color:#a0ca5a;}[data-lib="8269"] .-w-more_btn a:hover span::before{background-color:#a0ca5a;
	color:#ffffff;}[data-lib="8269"] .-w-foot-nav{width:100%;
	padding:45px 0 0;}[data-lib="8269"] .-w-flogo{margin-bottom: 25px;}[data-lib="8269"] .-w-flogo a{display: block;}[data-lib="8269"] .-w-flogo img{padding:5px;
	background:none;
	object-fit: contain;
	max-width: 300px;
	width: 150px;}[data-lib="8269"] .-w-address{font-size: 2.4rem;
	margin-bottom: 15px;
	color: #ffffff;
	color:#ffffff;}[data-lib="8269"] .-w-tel{font-size: 4.8rem;
	font-weight: 400;
	line-height: 1.0;}[data-lib="8269"] .-w-tel a{color: #ffffff;
	color:#ffffff;
	text-decoration: none;}[data-lib="8269"] .-w-time{font-size: 2.0rem;
	letter-spacing: 0.2em;
	color: #ffffff;
	color:#ffffff;}[data-lib="8269"] .-w-line-btn{margin-bottom: 10px;}[data-lib="8269"] .-w-line-btn-text{font-size: 1.8rem;
	text-align: center;}[data-lib="8269"] .-w-fnav{width:980px;
	max-width: 100%;
	margin:0 auto;}[data-lib="8269"] .-w-fnav ul{display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style:none;}[data-lib="8269"] .-w-fnav ul li{margin: 0 10px 35px;
	font-size: 1.4rem;}[data-lib="8269"] .-w-fnav ul li.-w-link8{display: none;}[data-lib="8269"] .-w-fnav ul li a{color: #ffffff;
	color:#ffffff;
	text-decoration: none;}[data-lib="8269"] .-w-fnav ul li a:hover{color: #ffffff;
	color:#ffffff;
	text-decoration: underline;}[data-lib="8269"] .-w-copyright{color: #ffffff;
	color:#ffffff;
	text-align: center;
	font-size:1.6rem;}[data-lib="8269"] .-w-copyright a{color: #ffffff;
	color:#ffffff;
	text-decoration: none;}[data-lib="8269"] .-w-sp-tel{display: none;}[data-lib="8269"] .-w-fixed_off .-w-foot-nav{padding-bottom:5rem;}[data-lib="8269"] .-w-fixed_on .-w-foot-nav{padding-bottom:11rem;}@media (max-width: 768px){[data-lib="8269"]{padding:160px 0 0;}[data-lib="8269"] .-w-pc{display: none;}[data-lib="8269"] .-w-sp{display: block;}[data-lib="8269"] .-w-foot-main{padding:0 2rem;
	flex-direction: column;
	width: 100%;}[data-lib="8269"] .-w-left,[data-lib="8269"] .-w-right{width:100%;}[data-lib="8269"] .-w-address{text-align: center;
	padding: 0 3rem;
	font-size: 3.5vw;}[data-lib="8269"] .-w-line-btn-text{font-size: 1.4rem;}[data-lib="8269"] .-w-fnav{display: none;}[data-lib="8269"] .-w-line-btn img{max-width:60%;
	margin:0 auto;}[data-lib="8269"] .-w-foot-nav{position: static;
	background:none;}[data-lib="8269"] .-w-sp-tel{width:100%;
	display: block;
	position: fixed;
	left:0;
	bottom:0;
	padding: 1rem;
	background:rgba(0,0,0,0.5);
	z-index: 2;}[data-lib="8269"] .-w-tel{font-size: 9vw;}[data-lib="8269"] .-w-tel-wrap{width: 80%;
	margin: 0 auto;
	color:#313131;
	background: url(/_img/ja/cms_parts_library//image/_/) no-repeat left center;
	padding-left: 60px;}[data-lib="8269"] .-w-tel-wrap a{color:#313131;
	text-decoration: none;}[data-lib="8269"] .-w-tel-wrap a:hover{text-decoration: underline;}[data-lib="8269"] .-w-tel-wrap a[href^="tel:"]{cursor: default;}[data-lib="8269"] .-w-tel-wrap a[href^="tel:"]:hover{text-decoration: none;}[data-lib="8269"] .-w-number{font-size:3.0rem;
	line-height: 1.0;
	margin-bottom: 5px;}[data-lib="8269"] .-w-time{font-size:1.4rem;
	margin-bottom:0;}[data-lib="8269"] .-w-fixed_on .-w-foot-nav{background: rgba(0, 0, 0, 0.6);
	padding:15px 1rem 10rem;
	margin-top:8rem;}[data-lib="8269"] .-w-fixed_on .-w-foot-nav .-w-copyright{line-height: 1;
	font-size:1.4rem;}[data-lib="8269"] .-w-more_btn{width:100%;}[data-lib="8269"] .-w-more_btn a{width: 100%;}}/*widget:44a1a35d-7f8d-4245-b7b4-c745739912f3*/[data-lib="4192"]{position: relative;
	z-index: 103;}[data-lib="4192"] a[href^="tel:"]{cursor: default;
	text-decoration: none;}[data-lib="4192"] a[href^="tel:"]:hover{text-decoration: none;}[data-lib="4192"] .-w-sp{display: none;}[data-lib="4192"] #foot_fixed{opacity: 1;
	padding: 20px 0 10px;
	position: relative;
	text-align: center;
	transition: .4s linear;
	width: 100%;
	background: rgba(0,0,0,0.6);
	background-color: hsla(0,0%,0%,0.6);
	bottom:0;}[data-lib="4192"] #foot_fixed table{margin:0 auto;}[data-lib="4192"] #foot_fixed table td{vertical-align: middle;
	padding:0 25px;}[data-lib="4192"] #foot_fixed table td:first-child{width: 57px;
	max-width: 57px;
	padding: 0 7px 0 0;}[data-lib="4192"] #foot_fixed table td:first-child svg{width: 50px;}[data-lib="4192"] #foot_fixed table td:first-child svg path{width: 50px;
	height: 50px;
	fill: #ffffff;
	fill:#ffffff;}[data-lib="4192"] #foot_fixed table td:nth-child(2){padding: 0 20px 0 0;}[data-lib="4192"] #foot_fixed table *::-ms-backdrop,[data-lib="4192"] #foot_fixed table  td .-w-tel_icon{height: 66px;}[data-lib="4192"] #foot_fixed table *::-ms-backdrop,[data-lib="4192"] #foot_fixed table  td .-w-tel_icon span svg{height: 66px;}[data-lib="4192"] #foot_fixed table td:nth-child(3){padding: 0;}[data-lib="4192"] #foot_fixed table td .-w-contact_btn{text-align: center;}[data-lib="4192"] #foot_fixed table td .-w-contact_btn span{width:100%;
	font-size:1.6rem;
	font-weight: 700;}[data-lib="4192"] #foot_fixed table td .-w-contact_btn span::before{content: 'keyboard_arrow_right';
	font-family: "Material Icons";
	height: 20px;
	line-height: 1.2;
	padding-left: 1px;
	box-sizing: border-box;
	font-weight: bold;
	width: 20px;
	margin-right: 10px;
	border-radius: 10px;
	font-size: 18px;
	display: inline-block;
	vertical-align: top;}[data-lib="4192"] #foot_fixed table td .-w-contact_btn a:hover{transition: all .4s;
	position: relative;}[data-lib="4192"] #foot_fixed table td .-w-tel{font-size: 3.4rem;
	line-height: 1.0;
	color: #ffffff;
	color:#ffffff;}[data-lib="4192"] #foot_fixed table td .-w-tel a{color: inherit;}[data-lib="4192"] #foot_fixed table td .-w-hours{text-align: left;
	font-size: 1.4rem;
	color: #ffffff;
	color:#ffffff;}[data-lib="4192"] #foot_fixed .-w-contact_btn{text-align: center;}[data-lib="4192"] #foot_fixed .-w-contact_btn a{font-size: 1.6rem;
	display: inline-block;
	position: relative;
	text-decoration: none;
	border: 2px solid;
	-webkit-transition: all .3s;
	transition: all .3s;
	padding:15px 0px 14px;
	line-height: 1;
	text-align: center;
	min-width: 320px;
	background-color:#ff6600;
	color:#ffffff;
	border-color:#ff6600;
	background-color:#a0ca5a;
	color:#ffffff;
	border-color:#a0ca5a;}[data-lib="4192"] #foot_fixed .-w-contact_btn a:hover{opacity: 1;
	background-color:#ffffff;
	color:#ff6600;
	background-color:#ffffff;
	color:#a0ca5a;}[data-lib="4192"] #foot_fixed .-w-contact_btn a span::before{background-color:#ffffff;
	color:#a0ca5a;}[data-lib="4192"] #foot_fixed .-w-contact_btn a:hover span::before{background-color:#a0ca5a;
	color:#ffffff;}[data-lib="4192"] #foot_fixed.fixed_on{position: fixed;}[data-lib="4192"] #foot_fixed.fixed_off{position: fixed;
	bottom:-100px;
	opacity: 0;}[data-lib="4192"] #foot_fixed.fixed_on .-w-foot-nav{padding-bottom:11rem;}[data-lib="4192"] .popup_on #foot_fixed.first{display:block;
	bottom: 0px;
	opacity: 1;
	transition: .4s linear;}[data-lib="4192"] #foot_fixed.popup_on{bottom: -100px;
	opacity: 0;
	padding: 26px 0 18px;
	bottom:-111px;}[data-lib="4192"] #foot_fixed.popup_on.appear{bottom: 0;
	opacity: 1;
	transition: .4s linear;}[data-lib="4192"] #foot_fixed.fixed_off.popup_on{position: fixed;
	bottom:-100px;
	opacity: 0;}[data-lib="4192"] .popup{position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: .6s;}[data-lib="4192"] .popup.is-show{opacity: 1;
	visibility: visible;}[data-lib="4192"] .popup-inner{height: calc(100vh - 60px);
	top: 60px;
	position: absolute;
	width: 100%;
	z-index: 2;}[data-lib="4192"] .popup-inner img{width: 100%;}[data-lib="4192"] .close-btn{position: absolute;
	right: 0;
	top: 0;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	cursor: pointer;
	z-index:10000;}[data-lib="4192"] .close-btn i{font-size: 30px;
	color: #333;
	background: rgba(255,255,255,1);
	color:#f5f5f5;
	background:#313131;}[data-lib="4192"] .black-background{position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.8);
	background-color: hsla(0,0%,0%,0.8);
	z-index: 1;
	cursor: pointer;}[data-lib="4192"] .pay_main{height: calc(100% - 30px);}[data-lib="4192"] .pay_main img{width: 100%;}[data-lib="4192"] .pay_head{height: 30px;
	position: relative;}[data-lib="4192"] .pay_disc{height: 100%;
	text-align:left;}[data-lib="4192"] .pay_disc p{height: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	color: #ffffff;
	background:#f5f5f5;
	text-align: center;}[data-lib="4192"] .pay_disc .pay_shop{font-size: 4vw;
	display: contents;
	display: none;}[data-lib="4192"] .pay_head > .pay_image{float:left;
	width: 30%;
	height: 100%;
	position: relative;
	display: none;}[data-lib="4192"] .pay_image img{height: auto;
	width: 70%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);}[data-lib="4192"] .pay_body{padding: 2% 5%;
	box-sizing: border-box;
	color: #ffffff;
	color: hsla(0,0%,100%,1);
	height: 90%;}[data-lib="4192"] .pay_body_box{height: 100%;
	border-radius: 1%;
	box-sizing: border-box;}[data-lib="4192"] .pay_btn,[data-lib="4192"]  .pay_btn_empty{box-sizing: border-box;
	border-radius: 5px;
	padding: 1%;
	margin: 0 2% 2% 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	position: relative;}[data-lib="4192"] .pay_btn{background: #ffffff;
	background-color: hsla(0,0%,100%,1);}[data-lib="4192"] .pay_btn a,[data-lib="4192"]  .pay_btn_empty a{display: block;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;}[data-lib="4192"] .pay_btn img,[data-lib="4192"]  .pay_btn_empty img{width: auto;}[data-lib="4192"] .pay_wrap{overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	height: 85%;}[data-lib="4192"] .pay_btn_empty:last-child{margin-right: 0;}[data-lib="4192"] .pay_btn_empty{border: 5px solid;
	border-color: rgba(255,255,255,0.5);
	border-color:rgba(49,49,49,0.5);
	padding: 3%;}[data-lib="4192"] .btn_layout12 .pay_btn{width: calc(96% / 3);
	height: calc(94% / 4);}[data-lib="4192"] .btn_layout12 .pay_btn:nth-child(3n){margin-right: 0;}[data-lib="4192"] .btn_layout11 .pay_btn,[data-lib="4192"]  .btn_layout11 .pay_btn_empty{width: calc(96% / 3);
	height: calc(94% / 4);}[data-lib="4192"] .btn_layout11 .pay_btn:nth-child(3n){margin-right: 0;}[data-lib="4192"] .btn_layout10 .pay_btn,[data-lib="4192"]  .btn_layout10 .pay_btn_empty{width: calc(96% / 3);
	height: calc(94% / 4);}[data-lib="4192"] .btn_layout10 .pay_btn:nth-child(3n){margin-right: 0;}[data-lib="4192"] .btn_layout9 .pay_btn{width: calc(96% / 3);
	height: calc(96% / 3);}[data-lib="4192"] .btn_layout9 .pay_btn:nth-child(3n){margin-right: 0;}[data-lib="4192"] .btn_layout8 .pay_btn{width: calc(98% / 2);
	height: calc(94% / 4);}[data-lib="4192"] .btn_layout8 .pay_btn:nth-child(2n){margin-right: 0;}[data-lib="4192"] .btn_layout7 .pay_btn,[data-lib="4192"]  .btn_layout7 .pay_btn_empty{width: calc(98% / 2);
	height: calc(94% / 4);}[data-lib="4192"] .btn_layout7 .pay_btn:nth-child(2n){margin-right: 0;}[data-lib="4192"] .btn_layout6 .pay_btn{width: calc(98% / 2);
	height: calc(96% / 3);}[data-lib="4192"] .btn_layout6 .pay_btn:nth-child(2n){margin-right: 0;}[data-lib="4192"] .btn_layout5 .pay_btn,[data-lib="4192"]  .btn_layout5 .pay_btn_empty{width: calc(98% / 2);
	height: calc(96% / 3);}[data-lib="4192"] .btn_layout5 .pay_btn:nth-child(2n){margin-right: 0;}[data-lib="4192"] .btn_layout4 .pay_btn{width: calc(98% / 2);
	height: calc(98% / 2);}[data-lib="4192"] .btn_layout4 .pay_btn:nth-child(2n){margin-right: 0;}[data-lib="4192"] .btn_layout3 .pay_btn{margin-right: 0;
	width: 100%;
	height: calc(96% / 3);}[data-lib="4192"] .btn_layout2 .pay_btn{width: 100%;
	height: calc(98% / 2);}[data-lib="4192"] .btn_layout2 .pay_wrap{height: 50%;
	margin: 5% 0 10%;}[data-lib="4192"] .btn_layout1 .pay_btn{margin-right: 0;
	width: 100%;
	height: 100%;}[data-lib="4192"] .btn_layout1 .pay_wrap{height: 50%;
	margin: 5% 0 10%;}[data-lib="4192"] .btn_layout1 .pay_btn img,[data-lib="4192"] 
.btn_layout5 .pay_btn img,[data-lib="4192"] 
.btn_layout5 .pay_btn_empty img,[data-lib="4192"] 
.btn_layout6 .pay_btn img,[data-lib="4192"] 
.btn_layout7 .pay_btn img,[data-lib="4192"] 
.btn_layout7 .pay_btn_empty img,[data-lib="4192"] 
.btn_layout8 .pay_btn img{height: 100%;}[data-lib="4192"] .btn_layout2 .pay_btn img,[data-lib="4192"] 
.btn_layout3 .pay_btn img,[data-lib="4192"] 
.btn_layout4 .pay_btn img,[data-lib="4192"] 
.btn_layout9 .pay_btn img,[data-lib="4192"] 
.btn_layout10 .pay_btn img,[data-lib="4192"] 
.btn_layout11 .pay_btn img,[data-lib="4192"] 
.btn_layout12 .pay_btn img{width: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);}[data-lib="4192"] .pay_discription{text-align: center;
	width: 100%;
	height: 10%;
	display: table;
	padding-bottom: 5%;}[data-lib="4192"] .pay_discription.off{display:none;}[data-lib="4192"] .pay_discription > p{display: table-cell;
	vertical-align: middle;
	font-size: 4vw;}[data-lib="4192"] .pay_discription b{font-size: 6vw;}[data-lib="4192"] .pay_discription > p.disc_bottom{display: table-cell;
	font-size: 3.5vw;}[data-lib="4192"] .pay_kome{font-size: 3vw;}[data-lib="4192"] #footer{z-index:10002;}[data-lib="4192"] .table_pay_off{display:block;}[data-lib="4192"] .table_pay_on{display:none;}[data-lib="4192"] #foot_fixed .table_pay_on table td{width:33%;
	max-width:none;
	display: table-cell;
	padding:0;
	font-size: 3vw;}[data-lib="4192"] #foot_fixed .table_pay_on table td i{font-size: 10vw;
	color:#ff6600;
	color:#a0ca5a;}[data-lib="4192"] #foot_fixed .table_pay_on table td a{color:#fff;
	color:#ffffff;
	text-decoration:none;}[data-lib="4192"] .pay_click button{background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	color: #fff;
	color:#ffffff;
	font-size: 3vw;}[data-lib="4192"] .pay_btn.pay_off{display:none;}[data-lib="4192"] .pay_btn_img.off,[data-lib="4192"] 
.pay_btn_img2.off{display: none;}[data-lib="4192"] .pay_btn_empty.off{display: none;}@media (max-width: 768px){[data-lib="4192"]{padding:74px 0 0;}[data-lib="4192"] .-w-pc{display: none;}[data-lib="4192"] .-w-sp{display: block;}[data-lib="4192"] .popup_on#foot_fixed{padding:1rem;}[data-lib="4192"] .popup_on#foot_fixed table{width:100%;}[data-lib="4192"] .popup_on#foot_fixed table td:first-child{display: none;}[data-lib="4192"] .popup_on#foot_fixed table td{width:50%;}[data-lib="4192"] .popup_on#foot_fixed .table_pay_on.on table td:first-child{display: table-cell;}[data-lib="4192"] .popup_on#foot_fixed .table_pay_on.on table td{width:33%;}[data-lib="4192"] .popup_on#foot_fixed tr td .-w-tel{font-size:5.0vw;}[data-lib="4192"] .popup_on#foot_fixed tr td .-w-contact_btn a{min-width: 100%;
	padding: 9px 0px 8px;}[data-lib="4192"] .table_pay_off,[data-lib="4192"] 
.table_pay_on{display:none;}[data-lib="4192"] .table_pay_off.off{display:block;}[data-lib="4192"] .table_pay_on.on{display:block;}[data-lib="4192"] #foot_fixed table td{padding: 0;}}/*PAGE*//* CMSの既存スタイルに影響を広げないよう、すべて専用クラス内に限定する。 */
body:has(.tfp-site) {
  margin: 0;
}

/* CMS既存のヘッダー・フッター・見出しをトップページのみ非表示化 */
body:has(.tfp-site) #-w-header,
body:has(.tfp-site) footer:not(.tfp-footer),
body:has(.tfp-site) .-w-h1-wrap,
body:has(.tfp-site) [data-instance="1607"],
body:has(.tfp-site) [data-instance="1087"],
body:has(.tfp-site) [data-instance="2287"],
body:has(.tfp-site) [data-instance="2302"],
body:has(.tfp-site) [data-instance="4586"] {
  display: none !important;
}

.tfp-site,
.tfp-site *,
.tfp-site *::before,
.tfp-site *::after {
  box-sizing: border-box;
}

.tfp-site :where(h1, h2, h3, p, ul, dl, dd, figure) {
  margin: 0;
  padding: 0;
}

.tfp-site :where(p) {
  text-wrap: pretty;
}

.tfp-site :where(a) {
  color: inherit;
  text-decoration: none;
}

.tfp-site :where(button) {
  font: inherit;
}

.tfp-site :where(img) {
  display: block;
  max-width: 100%;
}
.tfp-site {
  --tfp-ink: #2e5c46;
  --tfp-accent: #4a7a2e;
  --tfp-text: #454d44;
  --tfp-muted: #687365;
  --tfp-paper: #faf9f3;
  --tfp-line: #d8ddcf;
  --tfp-sage: #e9eedf;
  --tfp-serif: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", serif;
  color: var(--tfp-text);
  background: var(--tfp-paper);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.9;
  overflow: clip;
  -webkit-font-smoothing: antialiased;
}

.tfp-site [hidden] {
  display: none !important;
}

.tfp-site ::selection {
  background: #d4e1c6;
  color: var(--tfp-ink);
}

.tfp-site :is(a, button, summary):focus-visible {
  outline: 3px solid #a77b34;
  outline-offset: 6px;
  border-radius: 3px;
}

[id^="tfp-"],
.tfp-site [id] {
  scroll-margin-top: 120px;
}

.tfp-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.tfp-keep-phrase {
  white-space: nowrap;
}

.tfp-skip {
  position: fixed;
  top: 10px;
  left: 20px;
  z-index: 100;
  padding: 10px 24px;
  color: #fff;
  background: var(--tfp-ink);
  transform: translateY(-160%);
}

.tfp-skip:focus {
  transform: none;
}

.tfp-header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  height: 104px;
  padding: 0 max(3.8vw, calc((100vw - 1460px) / 2));
  background: rgba(250, 249, 243, 0.96);
  border-bottom: 1px solid rgba(36, 77, 62, 0.05);
  backdrop-filter: blur(14px);
}

.tfp-brand {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-shrink: 0;
}

.tfp-brand img {
  width: 125px;
  height: auto;
  mix-blend-mode: multiply;
}

.tfp-brand-note {
  padding-left: 20px;
  border-left: 1px solid var(--tfp-line);
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.07em;
}

.tfp-desktop-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.5vw, 37px);
  margin-left: auto;
  color: var(--tfp-ink);
  font-size: 14px;
}

.tfp-desktop-nav a,
.tfp-footer-nav a {
  position: relative;
  padding: 9px 0;
}

.tfp-desktop-nav a::after,
.tfp-footer-nav a::after {
  position: absolute;
  right: 0;
  bottom: 4px;
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 250ms ease;
}

.tfp-desktop-nav a:hover::after,
.tfp-footer-nav a:hover::after {
  transform: scaleX(1);
}

.tfp-header-contact {
  display: flex;
  align-items: center;
  gap: 25px;
  padding: 12px 23px;
  color: #fff;
  background: var(--tfp-accent);
  border: 1px solid var(--tfp-accent);
  border-radius: 4px;
  font-size: 13px;
  transition: background 200ms ease;
}

.tfp-header-contact:hover,
.tfp-button-primary:hover {
  background: #3d6626;
}

.tfp-menu-toggle {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--tfp-ink);
  cursor: pointer;
}

.tfp-menu-lines {
  position: relative;
  display: block;
  width: 26px;
  height: 14px;
  margin-bottom: 5px;
  pointer-events: none;
}

.tfp-menu-lines span {
  position: absolute;
  display: block;
  height: 1px;
  background: currentColor;
  transform-origin: center center;
}

.tfp-bar {
  left: 0;
  width: 26px;
}

.tfp-bar-1 {
  top: 3px;
  transform: translateX(0);
  opacity: 1;
  transition: transform 150ms cubic-bezier(0.22, 1, 0.36, 1) 130ms, opacity 130ms ease 130ms;
}

.tfp-bar-2 {
  top: 11px;
  transform: translateX(0);
  opacity: 1;
  transition: transform 150ms cubic-bezier(0.22, 1, 0.36, 1) 200ms, opacity 130ms ease 200ms;
}

.tfp-cross {
  top: 5px;
  left: 2px;
  width: 22px;
}

.tfp-cross-1 {
  transform: translate(-18px, -18px) rotate(45deg);
  opacity: 0;
  transition: transform 130ms ease 60ms, opacity 110ms ease 60ms;
}

.tfp-cross-2 {
  transform: translate(18px, -18px) rotate(-45deg);
  opacity: 0;
  transition: transform 130ms ease 0ms, opacity 110ms ease 0ms;
}

.tfp-menu-text {
  display: block;
  font-family: Arial, sans-serif;
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.08em;
  pointer-events: none;
}

.tfp-menu-toggle[aria-expanded="true"] .tfp-bar-2 {
  transform: translateX(20px);
  opacity: 0;
  transition: transform 130ms ease 0ms, opacity 110ms ease 0ms;
}

.tfp-menu-toggle[aria-expanded="true"] .tfp-bar-1 {
  transform: translateX(20px);
  opacity: 0;
  transition: transform 130ms ease 60ms, opacity 110ms ease 60ms;
}

.tfp-menu-toggle[aria-expanded="true"] .tfp-cross-1 {
  transform: translate(0, 0) rotate(45deg);
  opacity: 1;
  transition: transform 150ms cubic-bezier(0.22, 1, 0.36, 1) 130ms, opacity 130ms ease 130ms;
}

.tfp-menu-toggle[aria-expanded="true"] .tfp-cross-2 {
  transform: translate(0, 0) rotate(-45deg);
  opacity: 1;
  transition: transform 150ms cubic-bezier(0.22, 1, 0.36, 1) 200ms, opacity 130ms ease 200ms;
}

.tfp-mobile-nav {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  max-height: calc(100dvh - 80px);
  padding: 20px 6vw 32px;
  overflow-y: auto;
  background: var(--tfp-paper);
  border-bottom: 1px solid var(--tfp-line);
  box-shadow: 0 20px 30px rgba(22, 48, 38, 0.05);
}

.tfp-mobile-nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 17px 8px;
  border-bottom: 1px solid var(--tfp-line);
  color: var(--tfp-ink);
}

.tfp-hero {
  position: relative;
  display: grid;
  grid-template-columns: 51% 49%;
  max-width: 1460px;
  min-height: 710px;
  margin: 0 auto;
  padding: 50px 5% 76px;
}

.tfp-hero-copy {
  position: relative;
  z-index: 2;
  padding: 53px 0 0;
  animation: tfp-fade-up 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.tfp-eyebrow,
.tfp-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 25px;
  color: var(--tfp-ink);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
}

.tfp-seed {
  width: 17px;
  height: 11px;
  border-radius: 0 100% 0 100%;
  background: var(--tfp-accent);
  transform: rotate(-28deg);
}

.tfp-hero h1 {
  width: max-content;
  color: var(--tfp-ink);
  font-family: var(--tfp-serif);
  font-size: clamp(38px, 4.2vw, 63px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.015em;
}

.tfp-handline {
  position: relative;
}

.tfp-handline::after {
  position: absolute;
  left: 1px;
  right: 0;
  bottom: -6px;
  height: 12px;
  border-top: 2px solid #7aad54;
  border-radius: 50%;
  content: "";
  transform: rotate(-4deg);
}

.tfp-hero-intro {
  margin-top: 29px;
  font-size: 16px;
  line-height: 2.15;
  letter-spacing: 0.035em;
}

.tfp-hero-actions {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 32px;
}

.tfp-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  min-height: 58px;
  padding: 14px 25px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 14px;
  letter-spacing: 0.03em;
  line-height: 1.6;
  transition: background 220ms ease, color 220ms ease, border-color 220ms ease;
}

.tfp-button-primary {
  color: #fff;
  background: var(--tfp-accent);
  border-color: var(--tfp-accent);
}

.tfp-button-outline {
  color: var(--tfp-ink);
  border-color: #9fac96;
}

.tfp-button-outline:hover {
  background: var(--tfp-sage);
  border-color: var(--tfp-ink);
}

.tfp-icon {
  display: block;
  flex: 0 0 auto;
  width: 1em;
  height: 1em;
  overflow: visible;
}

.tfp-arrow {
  width: 21px;
  height: 21px;
  transition: transform 220ms ease;
}

.tfp-link-icon {
  width: 1.15em;
  height: 1.15em;
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.tfp-button:hover .tfp-arrow,
.tfp-header-contact:hover .tfp-arrow {
  transform: translate(3px, -3px);
}

a:hover .tfp-link-icon {
  transform: translate(3px, -3px);
}

.tfp-text-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 11px 0;
  border-bottom: 1px solid #9fac96;
  color: var(--tfp-ink);
  font-size: 14px;
  transition: gap 200ms ease;
}

.tfp-text-link:hover {
  gap: 31px;
}

.tfp-scroll-link {
  position: absolute;
  bottom: 16px;
  left: 50%;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-family: Arial, sans-serif;
  font-size: 11px;
  letter-spacing: 0.13em;
  transform: translateX(-50%);
  white-space: nowrap;
}

.tfp-scroll-line {
  position: relative;
  width: 1px;
  height: 35px;
  overflow: hidden;
  background: var(--tfp-line);
}

.tfp-scroll-line::before {
  position: absolute;
  inset: 0;
  content: "";
  background: var(--tfp-ink);
  animation: tfp-scroll 2.3s ease-in-out infinite;
}

.tfp-hero-visual {
  position: relative;
  align-self: stretch;
  min-height: 600px;
  padding: 0 22px 27px 0;
}

.tfp-hero-visual::before {
  position: absolute;
  top: 53px;
  right: -70px;
  bottom: -9px;
  left: 58px;
  border-radius: 230px 230px 20px 20px;
  background: var(--tfp-sage);
  content: "";
  transform: rotate(7deg);
}

.tfp-hero-photo {
  position: absolute;
  inset: 0 22px 27px 0;
  overflow: hidden;
  border-radius: 220px 220px 16px 16px;
}

.tfp-hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 38% center;
  animation: tfp-photo-in 1.4s ease-out both;
}

.tfp-hero-label {
  position: absolute;
  bottom: 0;
  left: -30px;
  padding: 22px 36px;
  background: var(--tfp-paper);
  border: 1px solid #e5e4d8;
  border-radius: 3px;
  transform: rotate(-5deg);
}

.tfp-hero-label > span {
  display: block;
  color: var(--tfp-ink);
  font-family: var(--tfp-serif);
  font-size: 24px;
  letter-spacing: 0.15em;
}

.tfp-hero-label small {
  display: block;
  margin-top: 7px;
  font-family: Arial, sans-serif;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-align: center;
}

.tfp-hero-leaf {
  position: absolute;
  right: -58px;
  bottom: -27px;
  width: 129px;
  height: 155px;
  color: #738b68;
  transform: rotate(5deg);
}

.tfp-introduction {
  display: grid;
  grid-template-columns: 40% 60%;
  max-width: 1200px;
  margin: 28px auto 0;
  padding: 29px 0;
  border-top: 1px solid var(--tfp-line);
  border-bottom: 1px solid var(--tfp-line);
}

.tfp-tiny-label {
  font-family: Arial, sans-serif;
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: 0.15em;
}

.tfp-introduction-name p {
  margin-top: 3px;
  color: var(--tfp-ink);
  font-size: 14px;
  letter-spacing: 0.08em;
}

.tfp-introduction-news {
  display: flex;
  align-items: center;
  gap: 24px;
  padding-left: 40px;
  border-left: 1px solid var(--tfp-line);
  color: var(--tfp-ink);
  font-size: 14px;
}

.tfp-introduction-news small {
  display: block;
  font-size: 11px;
  color: var(--tfp-muted);
}

.tfp-pill {
  flex-shrink: 0;
  padding: 4px 13px;
  border: 1px solid #a6b39a;
  border-radius: 20px;
  font-size: 11px;
}

.tfp-round-arrow {
  display: inline-grid;
  flex-shrink: 0;
  place-items: center;
  width: 39px;
  height: 39px;
  border: 1px solid #9fac96;
  border-radius: 50%;
  transition: background 220ms ease, color 220ms ease;
}

.tfp-round-arrow .tfp-icon {
  width: 18px;
  height: 18px;
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.tfp-introduction-news .tfp-round-arrow {
  margin-left: auto;
}

a:hover .tfp-round-arrow {
  color: #fff;
  background: var(--tfp-ink);
}

a:hover .tfp-round-arrow .tfp-icon {
  transform: translate(3px, -3px);
}

.tfp-section {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.tfp-section-label {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 25px;
  color: var(--tfp-ink);
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.17em;
}

.tfp-section-label > span {
  font-family: Georgia, serif;
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0;
}

.tfp-site h2 {
  color: var(--tfp-ink);
  font-family: var(--tfp-serif);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.035em;
}

.tfp-about {
  display: grid;
  grid-template-columns: 47% 45%;
  justify-content: space-between;
  align-items: center;
  padding-top: 145px;
  padding-bottom: 140px;
}

.tfp-about-art {
  position: relative;
}

.tfp-about-photo {
  height: 507px;
  margin-right: 44px;
  overflow: hidden;
  border-radius: 5px 115px 5px 5px;
}

.tfp-about-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 43% center;
}

.tfp-about-caption {
  position: relative;
  width: 292px;
  margin: -84px 0 0 auto;
  padding: 25px 29px 28px;
  background: var(--tfp-sage);
  border-radius: 3px;
}

.tfp-about-caption p {
  color: var(--tfp-ink);
  font-family: var(--tfp-serif);
  font-size: 22px;
  line-height: 1.7;
  letter-spacing: 0.07em;
}

.tfp-photo-note {
  display: block;
  padding-top: 10px;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--tfp-muted);
}

.tfp-about-copy > p:not(.tfp-section-label) {
  margin-top: 22px;
  font-size: 16px;
  line-height: 2.1;
}

.tfp-about-copy > .tfp-button {
  margin-top: 33px;
}

.tfp-service {
  position: relative;
  padding-top: 95px;
  padding-bottom: 88px;
}

.tfp-service::before {
  position: absolute;
  z-index: 0;
  inset: 0 calc(50% - 50vw);
  border-radius: 100px 0 0 0;
  background: #eef1e8;
  content: "";
}

.tfp-service > * {
  position: relative;
}

.tfp-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 45px;
}

.tfp-section-heading > p {
  padding-bottom: 7px;
  font-size: 16px;
  line-height: 2.1;
}

.tfp-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.tfp-service-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--tfp-paper);
  border-radius: 6px;
  cursor: default;
  transition: box-shadow 300ms ease;
}

.tfp-service-card:hover {
  box-shadow: 0 14px 28px rgba(22, 48, 38, 0.08);
}

.tfp-service-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1.6;
}

.tfp-service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 750ms cubic-bezier(0.22, 1, 0.36, 1);
}

.tfp-service-card:hover img {
  transform: scale(1.04);
}

.tfp-service-image > span {
  position: absolute;
  bottom: 0;
  left: 0;
  display: grid;
  place-items: center;
  width: 53px;
  height: 48px;
  background: var(--tfp-paper);
  border-radius: 0 10px 0 0;
  color: var(--tfp-ink);
  font-family: Georgia, serif;
  font-size: 20px;
  font-style: italic;
}

.tfp-service-card-body {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  padding: 25px 28px 27px;
}

.tfp-service-card-body > .tfp-tiny-label {
  color: var(--tfp-muted);
  font-size: 11px;
}

.tfp-service-card h3 {
  margin-top: 8px;
  color: var(--tfp-ink);
  font-family: inherit;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.tfp-service-card-body > p:not(.tfp-tiny-label) {
  margin-top: 14px;
  margin-bottom: 6px;
  font-size: 16px;
  line-height: 1.95;
}

.tfp-card-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--tfp-line);
  color: var(--tfp-ink);
  font-size: 12px;
}

.tfp-service-note {
  margin-top: 28px;
  font-size: 12px;
  text-align: center;
}

.tfp-service-contact-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 12px;
  border-bottom: 1px solid currentColor;
  color: var(--tfp-ink);
  font-weight: 500;
  transition: opacity 150ms ease;
}

.tfp-service-contact-link:hover {
  opacity: 0.7;
}

.tfp-values {
  display: grid;
  grid-template-columns: 39% 54%;
  justify-content: space-between;
  padding-top: 135px;
  padding-bottom: 135px;
}

.tfp-values-heading > p:not(.tfp-section-label),
.tfp-faq-heading > p:not(.tfp-section-label) {
  margin-top: 26px;
  font-size: 16px;
  line-height: 2;
}

.tfp-values-heading > .tfp-text-link,
.tfp-faq-heading > .tfp-text-link {
  margin-top: 28px;
}

.tfp-value {
  display: grid;
  grid-template-columns: 35px minmax(0, 1fr) 61px;
  align-items: center;
  gap: 20px;
  padding: 32px 0;
  border-bottom: 1px solid var(--tfp-line);
}

.tfp-value > * + * {
  margin-top: 0;
}

.tfp-value:first-child {
  padding-top: 5px;
}

.tfp-value-number {
  align-self: start;
  padding-top: 5px;
  font-family: Georgia, serif;
  font-size: 16px;
  font-style: italic;
  color: #576747;
}

.tfp-value h3 {
  margin-bottom: 10px;
  color: var(--tfp-ink);
  font-family: inherit;
  font-size: 20px;
  font-weight: 500;
}

.tfp-value p {
  font-size: 16px;
  line-height: 2;
}

.tfp-value svg {
  height: 59px;
  width: 59px;
  color: #7b9070;
}

.tfp-recruit {
  display: grid;
  grid-template-columns: 45% 55%;
  margin: 0 auto;
  max-width: 1560px;
  min-height: 630px;
  color: #f6f7ef;
  background: var(--tfp-ink);
}

.tfp-recruit-photo {
  position: relative;
  overflow: hidden;
  border-radius: 0 170px 0 0;
}

.tfp-recruit-photo::after {
  position: absolute;
  inset: 0;
  background: rgba(20, 59, 36, 0.17);
  content: "";
}

.tfp-recruit-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48% center;
}

.tfp-recruit-catch {
  position: absolute;
  z-index: 1;
  bottom: 40px;
  left: 40px;
  color: #ffffff;
  font-family: var(--tfp-serif);
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-shadow: 0 2px 14px rgba(10, 36, 18, 0.6);
  pointer-events: none;
}

.tfp-recruit-copy {
  align-self: center;
  padding: 62px 11%;
}

.tfp-recruit-copy .tfp-section-label,
.tfp-recruit h2 {
  color: inherit;
}

.tfp-recruit .tfp-section-label {
  margin-bottom: 32px;
  color: #c6d4b9;
}

.tfp-recruit-kicker {
  margin-bottom: 16px;
  font-size: 12px;
  letter-spacing: 0.08em;
}

.tfp-recruit h2 {
  font-size: clamp(33px, 3.3vw, 46px);
  line-height: 1.6;
}

.tfp-recruit-copy > p:not(.tfp-section-label, .tfp-recruit-kicker) {
  margin-top: 25px;
  color: #e4ebde;
  font-size: 16px;
  line-height: 2.1;
}

.tfp-recruit-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  list-style: none;
}

.tfp-recruit-tags li {
  padding: 4px 10px;
  border: 1px solid #82957f;
  border-radius: 2px;
  color: #eef2e9;
  font-size: 12px;
}

.tfp-button-cream {
  margin-top: 28px;
  background: #f3f3e9;
  color: var(--tfp-ink);
  min-width: 240px;
}

.tfp-button-cream:hover {
  background: #d9e4ce;
}

.tfp-recruit-staff {
  display: flex;
  align-items: center;
  gap: 18px;
  width: fit-content;
  margin-top: 17px;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 5px;
}

.tfp-faq {
  display: grid;
  grid-template-columns: 38% 57%;
  justify-content: space-between;
  padding-top: 135px;
  padding-bottom: 70px;
}

.tfp-faq-group + .tfp-faq-group {
  margin-top: 56px;
}

.tfp-faq-group-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: var(--tfp-ink);
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.tfp-faq-group-title::before {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--tfp-ink);
  content: "";
}

.tfp-faq-item {
  border-bottom: 1px solid var(--tfp-line);
}

.tfp-faq-group .tfp-faq-item:first-of-type,
.tfp-faq-item:first-child {
  border-top: 1px solid var(--tfp-line);
}

.tfp-faq-item summary {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 82px;
  padding: 14px 7px;
  color: var(--tfp-ink);
  cursor: pointer;
  font-size: 14px;
  list-style: none;
}

.tfp-faq-item summary::-webkit-details-marker {
  display: none;
}

.tfp-question-mark {
  align-self: start;
  padding-top: 10px;
  font-family: Georgia, serif;
  font-size: 24px;
  font-style: italic;
  line-height: 1.4;
}

.tfp-plus {
  position: relative;
  flex: 0 0 27px;
  height: 27px;
  margin-left: auto;
  border: 1px solid #bac6ae;
  border-radius: 50%;
}

.tfp-plus::before,
.tfp-plus::after {
  position: absolute;
  background: var(--tfp-ink);
  content: "";
}

.tfp-plus::before {
  top: 12px;
  left: 7px;
  width: 11px;
  height: 1px;
}

.tfp-plus::after {
  top: 7px;
  left: 12px;
  width: 1px;
  height: 11px;
  transition: transform 120ms cubic-bezier(0.4, 0, 0.2, 1);
}

.tfp-faq-item[open] .tfp-plus::after {
  transform: scaleY(0);
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.tfp-faq-item.is-closing .tfp-plus::after {
  transform: scaleY(1);
  transition: transform 120ms cubic-bezier(0.4, 0, 0.2, 1);
}

.tfp-faq-answer {
  padding: 0 44px 30px;
  font-size: 16px;
  line-height: 2;
}

.tfp-faq-answer a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  color: var(--tfp-ink);
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.tfp-office {
  display: grid;
  grid-template-columns: 48% 46%;
  justify-content: space-between;
  padding-top: 95px;
  padding-bottom: 100px;
}

.tfp-office-name {
  margin-top: 29px;
  margin-bottom: 12px;
  color: var(--tfp-ink);
  font-size: 19px;
}

.tfp-office-details {
  margin-bottom: 29px;
}

.tfp-office-details > div {
  display: grid;
  grid-template-columns: 87px 1fr;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--tfp-line);
  font-size: 16px;
  line-height: 1.9;
}

.tfp-office-details dt {
  color: var(--tfp-muted);
  font-size: 12px;
}

.tfp-office-note {
  display: block;
  color: var(--tfp-muted);
  font-size: 13px;
  line-height: 1.6;
}

.tfp-office-card {
  overflow: hidden;
  align-self: center;
  border: 1px solid #dce2d3;
  border-radius: 9px;
  background: #f2f3e9;
}

.tfp-location-art {
  height: 275px;
  background: #e7ebdf;
}

.tfp-location-distance {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 24px;
  color: var(--tfp-ink);
  text-align: center;
}

.tfp-location-distance > span {
  font-size: 1rem;
  letter-spacing: 0.14em;
}

.tfp-location-distance > p {
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-family: var(--tfp-serif);
  font-size: 1.375rem;
  line-height: 1.2;
}

.tfp-location-distance strong {
  font-size: 5.5rem;
  font-weight: 400;
}

.tfp-location-distance > small {
  font-size: 0.875rem;
}

.tfp-office-card-bottom {
  position: relative;
  padding: 29px 38px;
}

.tfp-office-card-bottom > p {
  margin-top: 13px;
  color: var(--tfp-ink);
  font-family: var(--tfp-serif);
  font-size: 26px;
  line-height: 1.6;
}

.tfp-office-card-bottom > .tfp-text-link {
  margin-top: 18px;
}

.tfp-office-card-bottom > small {
  display: block;
  margin-top: 16px;
  color: #586556;
  font-size: 12px;
}

.tfp-journal {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  margin-bottom: 100px;
  padding: 44px 54px;
  overflow: hidden;
  border-top: 1px solid var(--tfp-line);
  border-bottom: 1px solid var(--tfp-line);
}

.tfp-journal > div,
.tfp-journal > a {
  position: relative;
  z-index: 1;
}

.tfp-journal .tfp-section-label {
  margin-bottom: 14px;
}

.tfp-journal h2 {
  font-size: 27px;
}

.tfp-journal p:not(.tfp-section-label) {
  margin-top: 14px;
  font-size: 16px;
}

.tfp-journal .tfp-button {
  flex-shrink: 0;
  background: var(--tfp-paper);
}

.tfp-journal .tfp-button:hover {
  background: var(--tfp-sage);
}

.tfp-contact {
  position: relative;
  overflow: hidden;
  padding: 85px 5% 90px;
  background: #e8eddf;
  text-align: center;
}

.tfp-contact-inner {
  position: relative;
  z-index: 1;
  max-width: 970px;
  margin: 0 auto;
}

.tfp-contact .tfp-section-label {
  justify-content: center;
  margin-bottom: 20px;
}

.tfp-contact h2 {
  font-size: 37px;
}

.tfp-contact-inner > p:not(.tfp-section-label) {
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.9;
}

.tfp-contact-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 65px;
  margin-top: 37px;
}

.tfp-contact-phone {
  cursor: default;
}

.tfp-contact-phone > span {
  display: block;
  color: var(--tfp-ink);
  font-size: 12px;
}

.tfp-contact-phone strong {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--tfp-ink);
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 37px;
  font-weight: 400;
  font-variant-numeric: lining-nums tabular-nums;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.tfp-contact-phone svg {
  width: 25px;
  height: 25px;
}

.tfp-contact-phone small {
  display: block;
  font-size: 12px;
}

.tfp-contact-form {
  min-height: 96px;
  padding: 22px 32px;
  font-size: 16px;
  text-align: left;
}

.tfp-contact-form small {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
}

.tfp-contact-form .tfp-icon {
  width: 32px;
  height: 32px;
  transition: transform 220ms ease;
}

.tfp-contact-form:hover .tfp-icon {
  transform: translateX(4px);
}

.tfp-contact-outline {
  position: absolute;
  inset: 0;
  overflow: hidden;
  color: #aaba95;
  pointer-events: none;
}

.tfp-contact-outline path {
  vector-effect: non-scaling-stroke;
}

.tfp-contact-leaf {
  position: absolute;
  height: auto;
}

.tfp-contact-leaf-right {
  top: -125px;
  right: -170px;
  width: clamp(320px, 43vw, 600px);
  opacity: 0.55;
}

.tfp-contact-leaf-left {
  bottom: -115px;
  left: -150px;
  width: clamp(320px, 43vw, 600px);
  opacity: 0.55;
}

.tfp-contact-veins {
  opacity: 0.55;
}

.tfp-footer {
  max-width: 1200px;
  margin: 0 auto;
  padding: 65px 0 28px;
}

.tfp-footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
  padding-bottom: 49px;
}

.tfp-footer-brand img {
  width: 146px;
  height: auto;
  mix-blend-mode: multiply;
}

.tfp-footer-brand p {
  margin-top: 18px;
  font-size: 11px;
  line-height: 2;
}

.tfp-footer-nav {
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 6px 32px;
  font-size: 14px;
}

.tfp-asset-note {
  margin-top: 24px;
  margin-bottom: 20px;
  color: var(--tfp-muted);
  font-size: 10px;
  line-height: 1.6;
}

.tfp-footer-bottom {
  display: flex;
  align-items: center;
  gap: 35px;
  padding-top: 20px;
  border-top: 1px solid var(--tfp-line);
  color: var(--tfp-muted);
  font-size: 10px;
}


.tfp-footer-bottom > small {
  font-family: Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.025em;
}

.tfp-back-top {
  display: flex;
  align-items: center;
  gap: 17px;
  margin-left: auto;
  color: var(--tfp-ink);
  font-family: Arial, sans-serif;
  letter-spacing: 0.12em;
  transition: color 220ms ease;
}

.tfp-back-top span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--tfp-line);
  border-radius: 50%;
  transition: background 220ms ease, color 220ms ease, border-color 220ms ease;
}

.tfp-back-top .tfp-icon {
  width: 18px;
  height: 18px;
  transition: transform 220ms ease;
}

.tfp-back-top:hover span {
  color: #fff;
  background: var(--tfp-ink);
  border-color: var(--tfp-ink);
}

.tfp-back-top:hover .tfp-icon {
  transform: translateY(-3px);
}

.tfp-mobile-contact {
  display: none;
}

/* JSが動かない場合も本文は常に読める状態を保つ。 */
.tfp-site .tfp-reveal-pending {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
}

.tfp-site .tfp-reveal-pending[data-reveal="left"] {
  transform: translate3d(-45px, 0, 0);
}

.tfp-site .tfp-reveal-pending[data-reveal="right"] {
  transform: translate3d(45px, 0, 0);
}

.tfp-site .tfp-reveal-visible {
  opacity: 1;
  transform: none;
  transition: opacity 850ms ease var(--tfp-delay, 0ms), transform 1000ms cubic-bezier(0.22, 1, 0.36, 1) var(--tfp-delay, 0ms);
}

@keyframes tfp-scroll {
  0% { transform: translateY(-100%); }
  60%, 100% { transform: translateY(100%); }
}

@keyframes tfp-photo-in {
  from { transform: scale(1.035); opacity: 0.6; }
  to { transform: scale(1); opacity: 1; }
}

@keyframes tfp-fade-up {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (min-width: 1500px) {
  .tfp-hero {
    padding-right: 30px;
    padding-left: 70px;
  }
}

@media (max-width: 1330px) {
  .tfp-section,
  .tfp-introduction,
  .tfp-footer {
    margin-right: 6%;
    margin-left: 6%;
  }

  .tfp-brand-note {
    display: none;
  }

  .tfp-hero {
    padding-right: 6%;
    padding-left: 6%;
  }

  .tfp-hero-actions {
    gap: 20px;
  }

  .tfp-hero-actions .tfp-button {
    gap: 23px;
    padding-right: 21px;
    padding-left: 21px;
  }

  .tfp-recruit-copy {
    padding-right: 9%;
    padding-left: 10%;
  }

  .tfp-recruit .tfp-desktop-break {
    display: none;
  }
}

@media (max-width: 1000px) {
  [id^="tfp-"],
  .tfp-site [id] {
    scroll-margin-top: 102px;
  }

  .tfp-header {
    height: 86px;
    gap: 20px;
  }

  .tfp-desktop-nav {
    gap: 20px;
    font-size: 11px;
  }

  .tfp-header-contact {
    padding: 11px 16px;
    gap: 15px;
    font-size: 11px;
  }

  .tfp-brand img {
    width: 105px;
  }

  .tfp-hero {
    min-height: 630px;
    padding-top: 36px;
  }

  .tfp-hero-copy {
    padding-top: 35px;
  }

  .tfp-hero h1 {
    font-size: 4.2vw;
  }

  .tfp-eyebrow,
  .tfp-hero-eyebrow {
    gap: 8px;
    font-size: 11px;
  }

  .tfp-hero-intro {
    font-size: 15px;
  }

  .tfp-hero-visual {
    min-height: 530px;
  }

  .tfp-hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
    margin-top: 24px;
  }

  .tfp-hero-label {
    left: -15px;
    padding: 18px 25px;
  }

  .tfp-hero-label > span {
    font-size: 20px;
  }

  .tfp-introduction {
    grid-template-columns: 34% 66%;
  }

  .tfp-introduction-news {
    gap: 15px;
    padding-left: 24px;
    font-size: 12px;
  }

  .tfp-introduction-name .tfp-tiny-label {
    font-size: 8px;
  }

  .tfp-about {
    grid-template-columns: 46% 47%;
    padding-top: 100px;
    padding-bottom: 95px;
  }

  .tfp-about-photo {
    height: 440px;
  }

  .tfp-about-caption {
    width: 260px;
    padding: 20px 23px;
  }

  .tfp-about-caption p {
    font-size: 20px;
  }

  .tfp-about-copy > p:not(.tfp-section-label) {
    font-size: 15px;
  }

  .tfp-about .tfp-desktop-break {
    display: none;
  }

  .tfp-service-grid {
    gap: 16px;
  }

  .tfp-service-card-body {
    padding: 22px 20px;
  }

  .tfp-service-card h3 {
    font-size: 21px;
  }

  .tfp-service-card-body > p:not(.tfp-tiny-label) {
    font-size: 15px;
  }

  .tfp-values {
    grid-template-columns: 38% 57%;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .tfp-faq {
    grid-template-columns: 38% 57%;
    padding-top: 100px;
    padding-bottom: 60px;
  }

  .tfp-value {
    grid-template-columns: 27px minmax(0, 1fr);
    gap: 10px;
  }

  .tfp-value svg {
    display: none;
  }

  .tfp-faq-item summary {
    gap: 13px;
    font-size: 14px;
  }

  .tfp-faq-answer {
    padding-right: 12px;
    padding-left: 36px;
  }

  .tfp-footer-nav {
    grid-template-columns: repeat(3, auto);
    gap: 5px 20px;
    font-size: 11px;
  }

  .tfp-contact-actions {
    gap: 36px;
  }
}

@media (max-width: 760px) {
  [id^="tfp-"],
  .tfp-site [id] {
    scroll-margin-top: 95px;
  }

  .tfp-site {
    font-size: 16px;
  }

  .tfp-header {
    height: 79px;
    padding: 0 5%;
    gap: 12px;
  }

  .tfp-brand img {
    width: 104px;
  }

  .tfp-brand-note,
  .tfp-desktop-nav {
    display: none;
  }

  .tfp-header-contact {
    display: none;
  }

  .tfp-menu-toggle {
    margin-left: auto;
  }

  .tfp-hero {
    display: flex;
    flex-direction: column;
    gap: 38px;
    min-height: 0;
    padding: 36px 6% 32px;
  }

  .tfp-hero-copy {
    padding-top: 0;
  }

  .tfp-eyebrow,
  .tfp-hero-eyebrow {
    margin-bottom: 19px;
    font-size: 11px;
  }

  .tfp-hero h1 {
    width: auto;
    font-size: clamp(30px, 7.4vw, 49px);
    letter-spacing: 0.01em;
    line-height: 1.65;
  }

  .tfp-hero-intro {
    margin-top: 24px;
    font-size: 16px;
    line-height: 2.05;
  }

  .tfp-hero-actions {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px 21px;
    margin-top: 24px;
  }

  .tfp-hero-actions .tfp-button {
    min-height: 53px;
    padding: 13px 19px;
    gap: 21px;
    font-size: 14px;
  }

  .tfp-hero-actions .tfp-text-link {
    gap: 13px;
    font-size: 0.875rem;
  }

  .tfp-scroll-link {
    display: none;
  }

  .tfp-hero-visual {
    width: 92%;
    min-height: 0;
    height: clamp(330px, 91vw, 540px);
    margin-left: auto;
  }

  .tfp-hero-photo {
    inset: 0 10px 25px 0;
    border-radius: 190px 190px 10px 10px;
  }

  .tfp-hero-photo img {
    object-position: 35% center;
  }

  .tfp-hero-visual::before {
    top: 24px;
    right: -35px;
    bottom: 6px;
    left: 32px;
  }

  .tfp-hero-label {
    bottom: 0;
    left: -25px;
    padding: 18px 27px;
  }

  .tfp-hero-label > span {
    font-size: 21px;
  }

  .tfp-hero-leaf {
    right: -24px;
    bottom: -19px;
    width: 92px;
    height: 115px;
  }

  .tfp-introduction {
    display: block;
    margin-top: 31px;
    padding: 21px 0;
  }

  .tfp-introduction-name {
    display: none;
  }

  .tfp-introduction-news {
    gap: 12px;
    padding-left: 0;
    border-left: 0;
    font-size: 13px;
    line-height: 1.7;
  }

  .tfp-introduction-news small {
    margin-top: 4px;
    font-size: 12px;
  }

  .tfp-pill {
    padding: 3px 10px;
    font-size: 12px;
  }

  .tfp-introduction-news .tfp-round-arrow {
    width: 30px;
    height: 30px;
    font-size: 17px;
  }

  .tfp-site h2 {
    font-size: clamp(26px, 6.8vw, 34px);
    line-height: 1.7;
    letter-spacing: 0.02em;
  }

  .tfp-section-label {
    gap: 12px;
    margin-bottom: 19px;
    font-size: 11px;
  }

  .tfp-about {
    display: flex;
    flex-direction: column-reverse;
    gap: 41px;
    align-items: stretch;
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .tfp-about-copy > p:not(.tfp-section-label) {
    margin-top: 20px;
    font-size: 16px;
    line-height: 2.1;
  }

  .tfp-about-copy > .tfp-button {
    margin-top: 28px;
  }

  .tfp-about-art {
    width: 100%;
  }

  .tfp-about-photo {
    height: 360px;
    margin-right: 34px;
    border-radius: 4px 95px 4px 4px;
  }

  .tfp-about-caption {
    width: 250px;
    margin-top: -56px;
    padding: 20px 23px;
  }

  .tfp-about-caption p {
    font-size: 18px;
  }

  .tfp-service {
    padding-top: 67px;
    padding-bottom: 61px;
  }

  .tfp-service::before {
    border-radius: 60px 0 0 0;
  }

  .tfp-section-heading {
    display: block;
    margin-bottom: 31px;
  }

  .tfp-section-heading > p {
    margin-top: 22px;
    padding-bottom: 0;
    font-size: 16px;
  }

  .tfp-service-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .tfp-service-image {
    aspect-ratio: 1.85;
  }

  .tfp-service-card-body {
    padding: 24px 25px;
  }

  .tfp-service-card h3 {
    margin-top: 5px;
    font-size: 24px;
  }

  .tfp-service-card-body > p:not(.tfp-tiny-label) {
    margin-top: 12px;
    margin-bottom: 4px;
    font-size: 16px;
  }

  .tfp-service-note {
    font-size: 13px;
    text-align: left;
  }

  .tfp-service-contact-link {
    display: inline-flex;
    margin-top: 6px;
    margin-left: 0;
  }

  .tfp-values {
    display: block;
    padding-top: 78px;
    padding-bottom: 78px;
  }

  .tfp-values-list {
    margin-top: 39px;
  }

  .tfp-value {
    grid-template-columns: 24px minmax(0, 1fr) 38px;
    gap: 14px;
    padding: 26px 0;
  }

  .tfp-value h3 {
    font-size: 18px;
  }

  .tfp-value p {
    font-size: 16px;
  }

  .tfp-value svg {
    display: block;
    width: 38px;
  }

  .tfp-recruit {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .tfp-recruit-photo {
    width: 100%;
    height: 320px;
    border-radius: 0 100px 0 0;
  }

  .tfp-recruit-catch {
    bottom: 24px;
    left: 24px;
    font-size: 20px;
  }

  .tfp-recruit-copy {
    width: 100%;
    padding: 44px 7% 57px;
  }

  .tfp-recruit .tfp-section-label {
    margin-bottom: 28px;
  }

  .tfp-recruit-kicker {
    font-size: 13px;
  }

  .tfp-recruit h2 {
    font-size: 34px;
  }

  .tfp-recruit-copy > p:not(.tfp-section-label, .tfp-recruit-kicker) {
    font-size: 16px;
  }

  .tfp-recruit-tags {
    gap: 7px;
  }

  .tfp-recruit-tags li {
    padding: 4px 8px;
    font-size: 12px;
  }

  .tfp-faq {
    display: block;
    padding-top: 78px;
    padding-bottom: 48px;
  }

  .tfp-faq-list {
    margin-top: 37px;
  }

  .tfp-faq-group + .tfp-faq-group {
    margin-top: 42px;
  }

  .tfp-faq-group-title {
    margin-bottom: 8px;
    font-size: 16px;
  }

  .tfp-faq-item summary {
    min-height: 70px;
    padding: 12px 0;
    font-size: 16px;
    line-height: 1.8;
  }

  .tfp-question-mark {
    align-self: center;
    padding-top: 0;
    font-size: 22px;
  }

  .tfp-faq-answer {
    padding: 0 7px 25px 35px;
    font-size: 16px;
  }

  .tfp-faq-answer a {
    font-size: 14px;
  }

  .tfp-office {
    display: block;
    padding-top: 66px;
    padding-bottom: 65px;
  }

  .tfp-office-name {
    margin-top: 26px;
    font-size: 18px;
  }

  .tfp-office-details > div {
    grid-template-columns: 65px minmax(0, 1fr);
    gap: 13px;
    font-size: 16px;
  }

  .tfp-office-details dt {
    font-size: 13px;
  }

  .tfp-office-card {
    margin-top: 39px;
  }

  .tfp-location-art {
    height: 235px;
  }

  .tfp-office-card-bottom {
    padding: 25px 28px;
  }

  .tfp-office-card-bottom > p {
    font-size: 24px;
  }

  .tfp-journal {
    display: block;
    margin-bottom: 65px;
    padding: 35px 0;
  }

  .tfp-journal h2 {
    font-size: 24px;
  }

  .tfp-journal .tfp-button {
    margin-top: 25px;
  }

  .tfp-contact {
    padding: 61px 6% 65px;
  }

  .tfp-contact-leaf-right {
    top: -140px;
    right: -100px;
    width: 290px;
    opacity: 0.5;
  }

  .tfp-contact-leaf-left {
    bottom: -150px;
    left: -165px;
    width: 300px;
    opacity: 0.5;
  }

  .tfp-contact h2 {
    font-size: clamp(23px, 6vw, 32px);
    letter-spacing: 0;
  }

  .tfp-contact-inner > p:not(.tfp-section-label) {
    font-size: 16px;
  }

  .tfp-contact-actions {
    flex-direction: column;
    gap: 28px;
    margin-top: 27px;
  }

  .tfp-contact-phone {
    cursor: pointer;
  }

  .tfp-contact-phone > span,
  .tfp-contact-phone small,
  .tfp-contact-form small {
    font-size: 13px;
  }

  .tfp-contact-phone strong {
    font-size: 35px;
  }

  .tfp-contact-form {
    width: min(340px, 100%);
    min-height: 83px;
    font-size: 16px;
  }

  .tfp-contact-form .tfp-icon {
    width: 28px;
    height: 28px;
  }

  .tfp-footer {
    padding-top: 39px;
    padding-bottom: 90px;
  }

  .tfp-footer-top {
    display: block;
    padding-bottom: 30px;
  }

  .tfp-footer-brand img {
    width: 132px;
  }

  .tfp-footer-brand p {
    font-size: 13px;
  }

  .tfp-footer-nav {
    grid-template-columns: repeat(2, auto);
    justify-content: start;
    gap: 4px 35px;
    margin-top: 26px;
    font-size: 13px;
  }

  .tfp-asset-note {
    margin-top: 20px;
    margin-bottom: 16px;
  }

  .tfp-footer-bottom {
    position: relative;
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 10px;
    padding-top: 24px;
    font-size: 12px;
  }

  .tfp-back-top {
    position: absolute;
    right: 0;
    top: 19px;
    gap: 8px;
    font-size: 8px;
  }

  .tfp-mobile-contact {
    position: fixed;
    z-index: 25;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    border-top: 1px solid #c7d0bd;
    background: var(--tfp-ink);
  }

  .tfp-mobile-contact a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    min-height: 59px;
    padding: 12px 7px;
    font-size: 15px;
    background: #eef1e7;
    color: var(--tfp-ink);
  }

  .tfp-mobile-contact a:last-child {
    color: #fff;
    background: var(--tfp-ink);
  }

  .tfp-mobile-contact .tfp-icon {
    width: 20px;
    height: 20px;
  }

  .tfp-mobile-phone > span {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.2;
    white-space: nowrap;
  }

  .tfp-mobile-phone small {
    font-size: 12px;
    font-weight: 400;
  }

  .tfp-desktop-break {
    display: none;
  }
}

@media (max-width: 360px) {
  .tfp-header {
    gap: 5px;
  }

  .tfp-brand img {
    width: 96px;
  }

  .tfp-header-contact {
    padding: 9px 11px;
    gap: 8px;
  }

  .tfp-hero h1 {
    font-size: 28px;
  }

  .tfp-hero-actions {
    gap: 8px;
  }

  .tfp-hero-actions .tfp-button {
    gap: 12px;
    padding-right: 13px;
    padding-left: 13px;
  }

  .tfp-hero-actions .tfp-text-link {
    font-size: 14px;
  }

  .tfp-introduction-news {
    flex-wrap: wrap;
  }

  .tfp-introduction-news .tfp-round-arrow {
    display: none;
  }

  .tfp-value {
    grid-template-columns: 23px minmax(0, 1fr);
  }

  .tfp-value svg {
    display: none;
  }

  .tfp-contact-phone strong {
    font-size: 31px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tfp-site *,
  .tfp-site *::before,
  .tfp-site *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }

  .tfp-site .tfp-reveal-pending {
    opacity: 1;
    transform: none;
  }
}

@media print {
  .tfp-header {
    position: static;
  }

  .tfp-mobile-contact,
  .tfp-scroll-link,
  .tfp-menu-toggle {
    display: none;
  }

  .tfp-site .tfp-reveal-pending {
    opacity: 1;
    transform: none;
  }
}
