@charset 'utf-8';

/*PC用CSS(ipad mini 7.9インチ対応)*/
@media only screen and (min-width: 768px) {
	.pc_none{
		display: none!important;
	}
}
/*SP用CSS(ipad mini 7.9インチ未対応)*/
@media only screen and (max-width: 767px) {
	.sp_none{
		display: none!important;
	}
}


/*リキッド：1px=0.1rem（PC1440基準 / SP375基準）※px→rem一括変換とセット*/
@media only screen and (min-width: 768px){
/*	768px-1439px：1440基準で可変（100vw/144=10px@1440）*/
	html{
		font-size: calc(100vw / 144);
	}
}
@media only screen and (min-width: 1440px){
/*	1440px-：1px=0.1rem 固定*/
	html{
		font-size: 62.5%;
	}
}
@media only screen and (max-width: 767px){
/*	-767px：375基準で可変（100vw/37.5=10px@375）*/
	html{
		font-size: calc(100vw / 37.5);
	}
}
/* ※375未満も液状で縮小継続（旧・極小画面固定 @media(max-width:374px) は撤去）*/

/*Googleフォントここから*/
body{
	-webkit-text-size-adjust: 100%; /*ios横向き文字の拡大防止*/
	text-size-adjust: 100%; /*ios横向き文字の拡大防止*/
	font-family: 'Noto Sans JP', sans-serif;
	font-style: normal;
	font-weight: 400;
	color: #000000;
	letter-spacing: calc((0/1000)*1em);
	/*text-decoration-thickness: 1px;
	text-decoration-line: underline;
	text-decoration-color: #000000;
	text-decoration-style: solid;
	text-underline-offset: 3px;
	text-decoration-skip-ink: none;*/
}
/* ハンバーガーメニュー展開中：ページ本体のスクロールを禁止（スクロールはナビ内のみ／JS側で lenis.stop() も併用） */
html.active,
body.active{
	overflow: hidden!important;
	overscroll-behavior: none!important;/* 引っ張り更新・スクロール連鎖も抑止 */
}

.thin{
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 100;
}
.elight{
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 200;
}
.light{
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 300;
}
.regular{
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 400;
}
.mid{
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 500;
}
.sbold{
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 600;
}
.bold{
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 700;
}
.ebold{
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 800;
}
.black{
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 900;
}

.g_elight{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 200;
}
.g_light{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 300;
}
.g_regular{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 400;
}
.g_mid{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 500;
}
.g_sbold{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 600;
}
.g_bold{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 700;
}
.g_ebold{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 800;
}
.g_black{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 900;
}
/*明朝：Noto Serif JP は .ns_〜*/
.ns_elight{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 200;
}
.ns_light{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 300;
}
.ns_regular{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 400;
}
.ns_mid{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 500;
}
.ns_sbold{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 600;
}
.ns_bold{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 700;
}
.ns_ebold{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 800;
}
.ns_black{
	font-family: 'Noto Serif JP', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 900;
}
/*英語：Barlow は .b_〜*/
.b_regular{
	font-family: 'Barlow', sans-serif;
	font-style: normal;
	font-weight: 400;
}
.b_mid{
	font-family: 'Barlow', sans-serif;
	font-style: normal;
	font-weight: 500;
}
.b_sbold{
	font-family: 'Barlow', sans-serif;
	font-style: normal;
	font-weight: 600;
}
.b_bold{
	font-family: 'Barlow', sans-serif;
	font-style: normal;
	font-weight: 700;
}
/*Googleフォントここまで*/
*{
	box-sizing: border-box;
}

.svg > svg{
	width: 100%;
	min-width: initial;
	height: 100%;
	min-height: initial;
	display: block;
	position: absolute;
	top: 0;
	bottom: auto;
	left: 0;
	right: auto;
	margin: auto;
}
.iframe > iframe{
	width: 100%;
	min-width: initial;
	height: 100%;
	min-height: initial;
	display: block;
	position: absolute;
	top: 0;
	bottom: auto;
	left: 0;
	right: auto;
	margin: auto;
}
::-webkit-scrollbar{
	display: none;
}
::scrollbar{
	display: none;
}
::before,
::after{
	box-sizing: border-box;
}

/* ※強制最小幅(min-width)は撤去＝完全リキッド（横スクロールを強制しない）*/

body{
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	position: relative;
}

main{
	width: 100%;
	height: auto;
	padding-top: 0;
	margin: 0 auto;
	display: block;
	position: relative;
	overflow-x: hidden;
}
@media only screen and (max-width: 767px) {
	main{
	}
}

/*headerここから*/
header{
	width: 100%;
	height: 7.4rem;
	display: block;
	position: fixed;
	top: 0;
	bottom: auto;
	left: 0;
	right: 0;
	z-index: 100;
	transition: background-color .3s;
}
header .header01{
	width: 100%;
	height: 100%;
	padding: 0 0 0 3.6rem;
	margin: 0 auto;
	display: flex;
	align-items: center;
}
header .header01_logo{
	width: 19rem;
	height: auto;
	margin: 0;
	display: block;
	flex-shrink: 0;
}
header .header01_logo a{
	width: 100%;
	height: auto;
	display: block;
}
header .header01_logo img{
	width: 100%;
	height: auto;
	display: block;
}
header nav{
	margin-left: auto;
}
header .nav_01{
	display: flex;
	align-items: center;
}
header .nav_01 > li{
	margin-left: 3rem;
}
header .nav_01 > li > a{
	height: auto;
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: calc((20/1000)*1em);
	color: #ffffff;
	display: block;
	transition: opacity .3s, color .3s;
}
header .nav_01 > li > a:hover{
	opacity: 0.7;
}
header .nav_01 > li.nav_01_tel{
	display: none;
}
header .header01_tel{
	margin-left: 3.5rem;
	flex-shrink: 0;
}
header .header01_tel > a{
	display: flex;
	align-items: center;
}
header .header01_tel .icon{
	width: 1.9rem;
	height: auto;
	margin: 0.7rem 0.2rem 0 0;
	display: block;
	flex-shrink: 0;
}
header .header01_tel .icon img{
	width: 100%;
	height: auto;
	display: block;
}
header .header01_tel .num{
	font-size: 2.8rem;
	line-height: 1;
	letter-spacing: calc((27/1000)*1em);
	color: #ffffff;
	display: block;
	transition: color .3s;
}
header .header01_tel .time{
	margin-top: 1px;
	padding: 0 0 0 2rem;
	font-size: 1.1rem;
	line-height: 1;
	letter-spacing: calc((40/1000)*1em);
	color: #ffffff;
	display: block;
	transition: color .3s;
}
header .header01_contact{
	width: 17.8rem;
	height: 7.4rem;
	margin-left: 2.4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #235a32;
	flex-shrink: 0;
	transition: background-color .3s;
}
header .header01_contact:hover{
	background-color: #1a3a23;
}
header .header01_contact .icon{
	width: 2rem;
	height: auto;
	margin-right: 1rem;
	display: block;
	flex-shrink: 0;
}
header .header01_contact .icon img{
	width: 100%;
	height: auto;
	display: block;
}
header .header01_contact .text01{
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: calc((20/1000)*1em);
	color: #ffffff;
	display: block;
}
/* 下層ページ用ヘッダー（白背景＋濃色文字。ロゴ/電話アイコンはPHPで濃色版に差替） */
/* header.scrolled = トップページでMVを超えてスクロールした際に同じ装飾へ切替（画像はadmin.jsで差替） */
header.lower,
header.scrolled{
	background: #ffffff;
}
header.lower .nav_01 > li > a,
header.scrolled .nav_01 > li > a{
	color: #2b2b2b;
}
header.lower .header01_tel .num,
header.scrolled .header01_tel .num{
	color: #2b2b2b;
}
header.lower .header01_tel .time,
header.scrolled .header01_tel .time{
	color: #2b2b2b;
}
/* 下層ページはヘッダー(fixed)の高さぶんmainを下げる */
header.lower + main{
	margin-top: 7.4rem;
}
.slide-menu-btn{
	display: none;
}
@media only screen and (max-width: 767px){
	header{
		height: 6.1rem;
	}
	header.lower + main{
		margin-top: 6.1rem;
	}
	/* SPヘッダー背景は濃緑：下層(.lower)も、TOPでMVを超えた時(.scrolled)も緑（＝透明→緑）。
	   ※PCは base の header.scrolled{background:#fff}（透明→白）のまま。 */
	header.lower,
	header.scrolled{
		background: #1a3a23;
	}
	/* SPのナビは常に濃緑のスライドパネル＝スクロール状態(.scrolled)でも文字は白で固定
	   （base の header.scrolled .nav_01>li>a{color:#2b2b2b} が全幅適用で黒化するのをSPで打消し） */
	header.lower .nav_01 > li > a,
	header.scrolled .nav_01 > li > a{
		color: #ffffff;
	}
	header .header01{
		height: 6.1rem;
		padding: 0 2.3rem 0 2rem;
		justify-content: space-between;
	}
	header .header01_logo{
		width: 16.6rem;
		position: relative;
		z-index: 110;
	}
	.slide-menu-btn{
		width: 3rem;
		height: 1.9rem;
		display: flex;
		align-items: center;
		position: relative;
		z-index: 110;
		cursor: pointer;
		flex-shrink: 0;
	}
	.slide-menu-btn .line-bar_area{
		width: 100%;
		height: 100%;
		display: block;
		position: relative;
	}
	.slide-menu-btn .line-bar,
	.slide-menu-btn .line-bar::before,
	.slide-menu-btn .line-bar::after{
		width: 3rem;
		height: 0.2rem;
		display: block;
		position: absolute;
		left: 0;
		background-color: #ffffff;
		transition: all .4s;
	}
	.slide-menu-btn .line-bar{
		top: 0;
		bottom: 0;
		margin: auto;
	}
	.slide-menu-btn .line-bar::before{
		content: '';
		top: -0.8rem;
	}
	.slide-menu-btn .line-bar::after{
		content: '';
		top: 0.8rem;
	}
	.slide-menu-btn.active .line-bar{
		background-color: transparent;
	}
	.slide-menu-btn.active .line-bar::before{
		top: 0;
		transform: rotate(45deg);
	}
	.slide-menu-btn.active .line-bar::after{
		top: 0;
		transform: rotate(-45deg);
	}
	/* ※SPはスクロール時も背景が濃緑（.scrolled）なので、ハンバーガーは base の白のまま（濃色化しない）。
	   以前あった header.scrolled .slide-menu-btn{background:#2b2b2b} は白背景前提の誤りだったため撤去。 */
	/* メニュー展開中（濃緑パネル）はバツ印を白に戻す */
	header.lower .slide-menu-btn.active .line-bar,
	header.scrolled .slide-menu-btn.active .line-bar{
		background-color: transparent;
	}
	header.lower .slide-menu-btn.active .line-bar::before,
	header.lower .slide-menu-btn.active .line-bar::after,
	header.scrolled .slide-menu-btn.active .line-bar::before,
	header.scrolled .slide-menu-btn.active .line-bar::after{
		background-color: #ffffff;
	}
	header nav{
		width: 100%;
		height: 100vh;
		padding: 8.1rem 0 4rem;
		margin-left: 0;
		display: block;
		position: fixed;
		top: 0;
		bottom: auto;
		left: 100%;
		right: auto;
		background-color: #1a3a23;
		overflow-y: auto;
		overscroll-behavior: contain;/* ナビ内のスクロールをページ側へ伝播させない（展開中はナビのみスクロール可） */
		transition: left .4s;
	}
	header nav.panelactive{
		left: 0;
	}
	header .nav_01{
		display: block;
	}
	header .nav_01 > li{
		margin-left: 0;
		padding: 2.5rem 2.8rem;
		border-bottom: 1px solid rgba(255,255,255,0.23);
	}
	header .nav_01 > li > a{
		font-size: 1.6rem;
		line-height: 1;
		letter-spacing: calc((20/1000)*1em);
	}
	/* SPメニュー項目：右矢印(→)。区切り線は .nav_01 > li の border-bottom で全幅描画。
	   ※電話(.nav_01_tel)は対象外。行の高さ・余白は li の padding で確保 */
	header .nav_01 > li:not(.nav_01_tel) > a{
		position: relative;
	}
	header .nav_01 > li:not(.nav_01_tel) > a::after{
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto 0;
		width: 1.75rem;
		height: 1.45rem;
		background: url(../img/header/item03.png) no-repeat center / contain;
	}
	header .nav_01 > li.nav_01_tel{
		padding: 2.8rem 0 0;
		border: 0;
		display: block;
		text-align: center;
	}
	header .nav_01 > li.nav_01_tel > a{
		display: inline-block;
		text-align: center;
		font-size: 0;
		line-height: 1;
	}
	header .nav_01 > li.nav_01_tel .icon{
		width: 1.8rem;
		height: auto;
		margin: 0 0.3rem 0 0;
		display: inline-block;
		vertical-align: middle;
	}
	header .nav_01 > li.nav_01_tel .icon img{
		width: 100%;
		height: auto;
		display: block;
	}
	header .nav_01 > li.nav_01_tel .num{
		font-size: 2.8rem;
		line-height: 1;
		letter-spacing: calc((27/1000)*1em);
		display: inline-block;
		vertical-align: middle;
	}
	header .nav_01 > li.nav_01_tel .time{
		margin-top: 1rem;
		font-size: 1.1rem;
		line-height: 1;
		letter-spacing: calc((40/1000)*1em);
		text-align: center;
		display: block;
	}
	header .header01_tel,
	header .header01_contact{
		display: none;
	}
}
/*headerここまで*/

/*footerここから*/
footer{
	width: 100%;
	height: auto;
	margin-top: -1px;/* 直前の薄色セクション(.inc02等)との境界に、リキッド(rem)端数丸めで稀に出る1pxの白い継ぎ目を隠す＝footerの緑を1px上へ重ねる（重なる1pxは余白で不可視） */
}
footer .footer01{
	width: 100%;
	height: auto;
	padding: 5.7rem 0 3rem;
	background-color: #235a32;
}
footer .footer01_inner{
	width: 120rem;
	height: auto;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
footer .footer01_01{
	width: auto;
	height: auto;
}
footer .footer01_logo{
	width: 21rem;
	height: auto;
	display: block;
}
footer .footer01_logo img{
	width: 100%;
	height: auto;
	display: block;
}
footer .footer01_01 .text01{
	margin-top: 4.1rem;
	font-size: 1.5rem;
	line-height: 2.7rem;
	letter-spacing: calc((40/1000)*1em);
	color: #ffffff;
}
footer .footer01_02{
	width: auto;
	height: auto;
	margin-top: 0.9rem;
	text-align: right;
}
footer .footer01_02_nav{
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
footer .footer01_02_nav > li{
	margin-left: 3.1rem;
}
footer .footer01_02_nav > li:first-child{
	margin-left: 0;
}
footer .footer01_02_nav > li > a{
	font-size: 1.5rem;
	line-height: 2.7rem;
	letter-spacing: calc((40/1000)*1em);
	color: #ffffff;
	transition: opacity .3s;
}
footer .footer01_02_nav > li > a:hover{
	opacity: 0.7;
}
footer .footer01_02_privacy{
	margin-top: 4.8rem;
	font-size: 1.4rem;
	line-height: 2.7rem;
	letter-spacing: calc((40/1000)*1em);
}
footer .footer01_02_privacy a{
	color: #ffffff;
	transition: opacity .3s;
}
footer .footer01_02_privacy a:hover{
	opacity: 0.7;
}
footer .footer01_02_copy{
	margin-top: 0.4rem;
	font-size: 1.2rem;
	line-height: 2.7rem;
	letter-spacing: calc((40/1000)*1em);
	color: #ffffff;
}
@media only screen and (max-width: 767px){
	footer .footer01{
		padding: 3.3rem 0;
	}
	footer .footer01_inner{
		width: 100%;
		height: auto;
		padding: 0 2rem;
		display: block;
	}
	footer .footer01_01{
		display: flex;
		justify-content: center;
	}
	footer .footer01_logo{
		width: 18.2rem;
	}
	footer .footer01_02{
		margin-top: 2.4rem;
		text-align: center;
	}
	footer .footer01_02_privacy{
		margin-top: 0;
		font-size: 1.3rem;
		letter-spacing: calc((40/1000)*1em);
	}
	footer .footer01_02_copy{
		margin-top: 0.6rem;
	}
}
/*footerここまで*/

/*includeここから*/

/*.eyecatch_incここから*/
/* .eyecatch_inc.top（FV）は css/index.css に記載 */
/* 下層アイキャッチ＝全ページ共通のリッチヒーロー（画像＋暗幕＋左寄せEN/タイトル/リード）。
   ※旧 .eyecatch_inc_hero は廃止し .eyecatch_inc.short に統合（下層は全てヒーロー） */
.eyecatch_inc.short{
	width: 100%;
	height: 40.3rem;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media only screen and (max-width: 767px) {
	.eyecatch_inc.short{
		height: 23.9rem;
		align-items: flex-start;
	}
}
.eyecatch_inc.short .eyecatch_inc01{
	width: 120rem;
	height: auto;
	display: block;
	position: relative;
	margin: 1.7rem 0 0;
	z-index: 1;
}
@media only screen and (max-width: 767px) {
	/* 中央寄せ×width320でx28に。position:relative＋z-index:1で画像(inc02 absolute)より前面 */
	.eyecatch_inc.short .eyecatch_inc01{
		width: 32rem;
		margin: 3.4rem 0 0;
		padding: 0 3.5rem 0 0;
	}
}
/* 投稿/アーカイブ系フォールバック用（現状未使用） */
.eyecatch_inc.short .eyecatch_inc01 .text01{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 2rem;
	line-height: 3rem;
	display: block;
}
.eyecatch_inc.short .eyecatch_inc02{
	width: 132rem;
	height: 100%;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 0 0 15rem 0;
	overflow: hidden;
}
@media only screen and (max-width: 767px){
	.eyecatch_inc.short .eyecatch_inc02{
		width: 34.7rem;
		border-radius: 0 0 7rem 0;
	}
}
.eyecatch_inc.short .eyecatch_inc02 .eye_img{
	width: 100%;
	height: 100%;
	margin: 0 auto;
	display: block;
	position: relative;
	background-color: transparent;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom center;
}
/* 画像の暗幕（PCは非表示・SPは表示） */
.eyecatch_inc.short .eyecatch_inc02 .eye_img::after{
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #171717;
	opacity: 0.42;
	display: none;
}
@media only screen and (max-width: 767px){
	.eyecatch_inc.short .eyecatch_inc02 .eye_img::after{
		display: block;
	}
}
.eyecatch_inc.short .eyecatch_en{
	font-size: 2rem;
	line-height: 1;
	letter-spacing: calc((27/1000)*1em);
	color: #ffffff;
}
.eyecatch_inc.short .eyecatch_ttl{
	margin-top: 3.7rem;
	font-size: 4rem;
	line-height: 3.4rem;
	letter-spacing: calc((40/1000)*1em);
	color: #ffffff;
}
.eyecatch_inc.short .eyecatch_lead{
	margin-top: 3.8rem;
	font-size: 1.5rem;
	line-height: 2.6rem;
	letter-spacing: calc((20/1000)*1em);
	color: #ffffff;
}
@media only screen and (max-width: 767px){
	.eyecatch_inc.short .eyecatch_en{
		font-size: 1.4rem;
	}
	.eyecatch_inc.short .eyecatch_ttl{
		margin-top: 1.9rem;
		font-size: 3rem;
		line-height: 1;
	}
	.eyecatch_inc.short .eyecatch_lead{
		margin-top: 2rem;
		font-size: 1.3rem;
		line-height: 2rem;
	}
}
/*.eyecatch_incここまで*/

/*.pan_incここから*/
.pankuzu_inc{
	width: 100%;
	height: auto;
}
.pankuzu_inc .pankuzu_inc_inner{
	width: 120rem;
	height: auto;
	margin: 0 auto;
	padding: 1.1rem 0;
	font-size: 0;
	line-height: 0;
	display: block;
}
@media only screen and (max-width: 767px) {
	.pankuzu_inc .pankuzu_inc_inner{
		width: 100%;
		max-width: none;
		padding: 1.2rem 2.8rem;
	}
}
.pankuzu_inc .pankuzu_inc_inner > a{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.1rem;
	display: inline;
}
@media only screen and (max-width: 767px) {
	.pankuzu_inc .pankuzu_inc_inner > a{
		line-height: 1.6rem;
	}
}
.pankuzu_inc .pankuzu_inc_inner > span{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.1rem;
	display: inline;
}
@media only screen and (max-width: 767px) {
	.pankuzu_inc .pankuzu_inc_inner > span{
		line-height: 1.6rem;
	}
}
.pankuzu_inc .pankuzu_inc_inner > p{
	width: auto;
	height: auto;
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.1rem;
	display: inline;
}
@media only screen and (max-width: 767px) {
	.pankuzu_inc .pankuzu_inc_inner > p{
		line-height: 1.6rem;
	}
}
/*.pan_incここまで*/

/*.paginationここから*/
.wp-pagenavi {
	width: 118rem;
	height: auto;
	margin: calc(-3rem / 2) 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
	.wp-pagenavi {
		width: 100%;
		max-width: 32rem;
	}
}
.wp-pagenavi span{
	width: 3.7rem;
	height: 3.7rem;
	font-size: 1.3rem;
	line-height: 3.7rem;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: calc(3rem / 2);
	border: 1px solid #cccccc;
}
@media only screen and (max-width: 767px) {
	.wp-pagenavi span{
		margin: calc(3rem / 2) calc(1.5rem / 2);
	}
}
.wp-pagenavi a{
	width: 3.7rem;
	height: 3.7rem;
	font-size: 1.3rem;
	line-height: 3.7rem;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: calc(3rem / 2);
	border: 1px solid #DDDDDD;
}
@media only screen and (max-width: 767px) {
	.wp-pagenavi a{
		margin: calc(3rem / 2) calc(1.5rem / 2);
	}
}
.wp-pagenavi .current{
	width: 3.7rem;
	height: 3.7rem;
	font-size: 1.3rem;
	line-height: 3.7rem;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: calc(3rem / 2);
	border: 1px solid #E9EAEF;
	background-color: #E9EAEF;
}
@media only screen and (max-width: 767px) {
	.wp-pagenavi .current{
		margin: calc(3rem / 2) calc(1.5rem / 2);
	}
}
.wp-pagenavi .previouspostslink{
	border: 0;
	font-size: 0;
	line-height: 0;
}
.wp-pagenavi .previouspostslink::before{
	content: '';
	width: 0.6rem;
	height: 0.6rem;
	margin: 0 -0.3rem 0 0;
	border-top: 1px solid #262626;
	border-left: 1px solid #262626;
	display: block;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	flex-shrink: 0;
}
.wp-pagenavi .nextpostslink{
	border: 0;
	font-size: 0;
	line-height: 0;
}
.wp-pagenavi .nextpostslink::before{
	content: '';
	width: 0.6rem;
	height: 0.6rem;
	margin: 0 0 0 -0.3rem;
	border-bottom: 1px solid #262626;
	border-right: 1px solid #262626;
	display: block;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	flex-shrink: 0;
}
.wp-pagenavi .pages,
.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .extend{
	display: none;
}
/*.paginationここまで*/

/*inc01（WHY CHOOSE US）ここから*/
.inc01{
	width: 100%;
	height: auto;
	padding: 11.6rem 0 37.7rem;
	position: relative;
}
.inc01_bg{
	width: calc(50% + 60rem);
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #235a32;
	border-radius: 0 22rem 0 0;
}
.inc01_inner{
	width: 120rem;
	height: auto;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
.inc01_head_en{
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: calc((27/1000)*1em);
	color: #ffffff;
}
.inc01_head_ttl{
	margin-top: 2.2rem;
	font-size: 4rem;
	line-height: 1;
	letter-spacing: calc((40/1000)*1em);
	color: #ffffff;
}
.inc01_head_lead{
	margin-top: 2.4rem;
	font-size: 1.5rem;
	line-height: 2.6rem;
	letter-spacing: calc((20/1000)*1em);
	color: #ffffff;
}
.inc01_photo{
	width: 24.8rem;
	height: 32.4rem;
	position: absolute;
	top: -20.8rem;
	right: 13.2rem;
	background-image: url(../img/common/inc01/item01.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	z-index: 2;
}
.inc01_list{
	margin-top: 7.9rem;
	padding: 0 5.7rem 0 0;
	display: flex;
}
.inc01_list_01{
	flex-grow: 1;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0.4rem 0 1.7rem 5.8rem;
	position: relative;
	border-left: 1px solid #ffffff;
}
.inc01_list_01:last-child{
	margin-right: 0;
}
.inc01_list_01 .num{
	position: absolute;
	top: 2.4rem;
	left: 6.2rem;
	font-size: 2.7rem;
	line-height: 1;
	letter-spacing: calc((27/1000)*1em);
	color: #ffffff;
}
.inc01_list_01 .ttl{
	margin-left: 7.6rem;
	font-size: 2.2rem;
	line-height: 3rem;
	letter-spacing: calc((40/1000)*1em);
	color: #ffffff;
}
.inc01_list_01 .txt{
	margin-top: 4.3rem;
	font-size: 1.4rem;
	line-height: 2.3rem;
	letter-spacing: calc((20/1000)*1em);
	color: #ffffff;
}
/*inc01ここまで*/

/*inc02（CONTACT）ここから*/
.inc02{
	width: 100%;
	height: auto;
	padding: 12.3rem 0 8.4rem;
	position: relative;
	overflow: hidden;
}
.inc02_bg{
	width: calc(50% + 60rem);
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #f4f7f0;
	border-radius: 0 22rem 0 0;
}
.inc02_inner{
	width: 120rem;
	height: auto;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
.inc02_body{
	width: auto;
	height: auto;
	position: relative;
	z-index: 2;
}
.inc02_body_en{
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: calc((27/1000)*1em);
	color: #235a32;
}
.inc02_body_ttl{
	margin-top: 2.3rem;
	font-size: 3.5rem;
	line-height: 5.5rem;
	letter-spacing: calc((40/1000)*1em);
	color: #2b2b2b;
}
.inc02_body_lead{
	margin-top: 1.7rem;
	font-size: 1.5rem;
	line-height: 2.6rem;
	letter-spacing: calc((20/1000)*1em);
	color: #2b2b2b;
}
.inc02_act{
	margin-top: 5.5rem;
	display: flex;
	align-items: flex-start;
}
.inc02_act_btn{
	width: 23rem;
	height: 5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #235a32;
	border-radius: 2.5rem;
	transition: background-color .3s;
}
.inc02_act_btn:hover{
	background: #1a3a23;
}
.inc02_act_btn .icon{
	width: 2rem;
	height: auto;
	margin-right: 1rem;
	display: block;
}
.inc02_act_btn .icon img{
	width: 100%;
	height: auto;
	display: block;
}
.inc02_act_btn .text01{
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: calc((20/1000)*1em);
	color: #ffffff;
}
.inc02_act_tel{
	margin-top: -1rem;
	margin-left: 5.5rem;
}
.inc02_act_tel .num{
	font-size: 3.5rem;
	line-height: 1;
	letter-spacing: calc((27/1000)*1em);
	color: #235a32;
	display: block;
}
.inc02_act_tel .time{
	margin-top: 0.8rem;
	font-size: 1.3rem;
	line-height: 1;
	letter-spacing: calc((40/1000)*1em);
	color: #2b2b2b;
	text-align: center;
}
.inc02_photo{
	width: 80.9rem;
	height: 65.6rem;
	position: absolute;
	right: calc(-9rem + (100vw - 144rem) * 86 / 352);
	bottom: -17.9rem;
	background-image: url(../img/common/inc02/item01.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: right bottom;
	z-index: 0;
}
/*inc02ここまで*/

/*includeここまで*/
/*==================================================
  SP（inc01 / inc02）max-width:767px
==================================================*/
@media only screen and (max-width: 767px){
	/* ===== WHY CHOOSE US ===== */
	.inc01{
		padding: 8rem 0 21.2rem;
	}
	.inc01_bg{
		width: 34.6rem;
		height: 100%;
		border-radius: 0 7rem 0 0;
	}
	.inc01_photo{
		display: block;
		width: 12.2rem;
		height: 16rem;
		top: -12.9rem;
		right: 5rem;
		z-index: 40;
	}
	.inc01_inner{
		width: 100%;
		padding: 0 2.8rem;
	}
	.inc01_head_ttl{
		margin-top: 1.4rem;
		font-size: 3.2rem;
		line-height: 3.9rem;
	}
	.inc01_head_lead{
		margin-top: 1.2rem;
		padding: 0 2.8rem 0 0;
		line-height: 2.3rem;
	}
	.inc01_list{
		margin-top: 5.3rem;
		padding-left: 0;
		display: block;
	}
	.inc01_list_01{
		width: 100%;
		margin-right: 0;
		border-left: 0;
		border-top: 1px solid #ffffff;
		padding: 3rem 0 3.6rem;
	}
	.inc01_list_01:last-child{
		margin-bottom: 0;
		border-bottom: 1px solid #ffffff;
	}
	.inc01_list_01 .num{
		top: 4.5rem;
		left: 2.2rem;
		font-size: 2.5rem;
	}
	.inc01_list_01 .ttl{
		margin-left: 8.7rem;
		font-size: 2rem;
		line-height: 2.7rem;
	}
	.inc01_list_01 .txt{
		margin-top: 1.5rem;
		font-size: 1.3rem;
		line-height: 2.3rem;
	}
	/* ===== CONTACT ===== */
	.inc02{
		padding: 5.3rem 0 16.9rem;
	}
	.inc02_bg{
		width: 34.6rem;
		border-radius: 0 7rem 0 0;
	}
	.inc02_inner{
		width: 34.6rem;
		margin: 0;
		padding-left: 2.8rem;
	}
	.inc02_body_ttl{
		margin-top: 1.8rem;
		font-size: 2.5rem;
		line-height: 3.8rem;
	}
	.inc02_body_lead{
		margin-top: 2.3rem;
		line-height: 2.3rem;
		padding-right: 2.5rem;
	}
	.inc02_act{
		margin: 4.1rem auto 0;
		width: 26rem;
		padding-right: 2.8rem;
		display: block;
	}
	.inc02_act_btn{
		width: 100%;
		height: 4.9rem;
		margin-bottom: 3.5rem;
	}
	.inc02_act_btn .icon{
		display: none;
	}
	.inc02_act_btn2{
		margin-bottom: 0;
	}
	.inc02_act_time{
		margin-top: 1.5rem;
		font-size: 1.3rem;
		letter-spacing: calc((40/1000)*1em);
		text-align: center;
	}
	.inc02_photo{
		width: 38rem;
		height: 30.8rem;
		right: auto;
		left: 2.8rem;
		bottom: -11.9rem;
		background-image: url(../img/common/inc02/item01_sp.png);
		background-size: 38rem 30.8rem;
	}
}
