@charset "utf-8";


/*===========================================

↓↓↓↓↓機能、構成やレイアウトに関するcss

===========================================*/


/*===============================
フレックスボックス
===============================*/
.flex {
	display: flex;
}
.fl_btw_str {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.fl_btw_sta {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.fl_btw_cen {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.fl_aro_str {
	display: flex;
	justify-content: space-around;
	align-items: stretch;
}
.fl_aro_sta {
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
}
.fl_aro_cen {
	display: flex;
	justify-content: space-around;
	align-items: center;
}
.fl_cen_str {
	display: flex;
	justify-content: center;
	align-items: stretch;
}
.fl_cen_sta {
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
.fl_cen_cen {
	display: flex;
	justify-content: center;
	align-items: center;
}
.fl_sta_str {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
}
.fl_sta_sta {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
.fl_sta_cen {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
/* flex-flow */
.col_wrap{
	flex-flow: column wrap;
}
.col_nowrap{
	flex-flow: column nowrap;
}
.col_wrap-rev{
	flex-flow: column wrap-reverse;
}
.row_wrap{
	flex-flow: row wrap;
}
.row_nowrap{
	flex-flow: row nowrap;
}
.row-rev_wrap{
	flex-flow: row-reverse wrap;
}
.row-rev_nowrap{
	flex-flow: row-reverse nowrap;
}
.row_wrap-rev{
	flex-flow: row wrap-reverse;
}
.row-rev_wrap-rev{
	flex-flow: row-reverse wrap-reverse;
}

/*フレックスボックスの均等分割
-------------------------------*/
*[class^="fl_"] {
	/*background: red;*/
}
.-cut2,
.-cut3,
.-cut4,
.-cut5,
.-cut6,
.-cut7,
.-cut8 {
	column-gap: 4rem;
}
/* 1/2 */
.-cut2 > .fl_item {
	width: calc(100%/2 - (4rem/2));
}
.-cut2.gap-c0 > .fl_item {
	width: 50%;
}
/* 1/3 */
.-cut3 > .fl_item {
	width: calc(100%/3 - (4rem*2/3));
}
.-cut3.gap-c0 > .fl_item {
	width: calc(100%/3);
}
/* 1/4 */
.-cut4 > .fl_item {
	width: calc(100%/4 - (4rem*3/4));
}
.-cut4.gap-c0 > .fl_item {
	width: calc(100%/4);
}
/* 1/5 */
.-cut5 > .fl_item {
	width: calc(100%/5 - (4rem*4/5));
}
.-cut5.gap-c0 > .fl_item {
	width: calc(100%/5);
}
/* 1/6 */
.-cut6 > .fl_item {
	width: calc(100%/6 - (4rem*5/6));
}
.-cut6.gap-c0 > .fl_item {
	width: calc(100%/6);
}
/* 1/7 */
.-cut7 > .fl_item {
	width: calc(100%/7 - (4rem*6/7));
}
.-cut7.gap-c0 > .fl_item {
	width: calc(100%/7);
}
/* 1/8 */
.-cut8 > .fl_item {
	width: calc(100%/8 - (4rem*7/8));
}
.-cut8.gap-c0 > .fl_item {
	width: calc(100%/8);
}

/*フレックスボックスのgap
-------------------------------*/
/*
左右のgapを1rem＝10pxにすることで
タブレット表示の際に1rem＝8pxとなり
少し隙間を小さくする
*/
/*左右の隙間*/
.gap-c0 {
	column-gap: 0;
}
.gap-c10 {
	column-gap: 1rem;
}
.gap-c20 {
	column-gap: 2rem;
}
.gap-c30 {
	column-gap: 3rem;
}
.gap-c40 {
	column-gap: 4rem;
}
.gap-c50 {
	column-gap: 5rem;
}
.gap-c60 {
	column-gap: 6rem;
}
/*上下の隙間*/
.gap-r0 {
	row-gap: 0;
}
.gap-r10 {
	row-gap: 1rem;
}
.gap-r20 {
	row-gap: 2rem;
}
.gap-r30 {
	row-gap: 3rem;
}
.gap-r40 {
	row-gap: 4rem;
}
.gap-r50 {
	row-gap: 5rem;
}
.gap-r60 {
	row-gap: 6rem;
}
.gap-r70 {
	row-gap: 7rem;
}
.gap-r80 {
	row-gap: 8rem;
}

/*fl_itemの割合
-------------------------------*/
/*flex boxで左右に並ぶ2つのアイテムの幅を％で管理*/
.fl_item.-w20per {
	width: calc(20% - 2rem);
}
.fl_item.-w21per {
	width: calc(21% - 2rem);
}
.fl_item.-w22per {
	width: calc(22% - 2rem);
}
.fl_item.-w23per {
	width: calc(23% - 2rem);
}
.fl_item.-w24per {
	width: calc(24% - 2rem);
}
.fl_item.-w25per {
	width: calc(25% - 2rem);
}
.fl_item.-w26per {
	width: calc(26% - 2rem);
}
.fl_item.-w27per {
	width: calc(27% - 2rem);
}
.fl_item.-w28per {
	width: calc(28% - 2rem);
}
.fl_item.-w29per {
	width: calc(29% - 2rem);
}
.fl_item.-w30per {
	width: calc(30% - 2rem);
}
.fl_item.-w31per {
	width: calc(31% - 2rem);
}
.fl_item.-w32per {
	width: calc(32% - 2rem);
}
.fl_item.-w33per {
	width: calc(33% - 2rem);
}
.fl_item.-w34per {
	width: calc(34% - 2rem);
}
.fl_item.-w35per {
	width: calc(35% - 2rem);
}
.fl_item.-w36per {
	width: calc(36% - 2rem);
}
.fl_item.-w37per {
	width: calc(37% - 2rem);
}
.fl_item.-w38per {
	width: calc(38% - 2rem);
}
.fl_item.-w39per {
	width: calc(39% - 2rem);
}
.fl_item.-w40per {
	width: calc(40% - 2rem);
}
.fl_item.-w41per {
	width: calc(41% - 2rem);
}
.fl_item.-w42per {
	width: calc(42% - 2rem);
}
.fl_item.-w43per {
	width: calc(43% - 2rem);
}
.fl_item.-w44per {
	width: calc(44% - 2rem);
}
.fl_item.-w45per {
	width: calc(45% - 2rem);
}
.fl_item.-w46per {
	width: calc(46% - 2rem);
}
.fl_item.-w47per {
	width: calc(47% - 2rem);
}
.fl_item.-w48per {
	width: calc(48% - 2rem);
}
.fl_item.-w49per {
	width: calc(49% - 2rem);
}
.fl_item.-w50per {
	width: calc(50% - 2rem);
}
.fl_item.-w51per {
	width: calc(51% - 2rem);
}
.fl_item.-w52per {
	width: calc(52% - 2rem);
}
.fl_item.-w53per {
	width: calc(53% - 2rem);
}
.fl_item.-w54per {
	width: calc(54% - 2rem);
}
.fl_item.-w55per {
	width: calc(55% - 2rem);
}
.fl_item.-w56per {
	width: calc(56% - 2rem);
}
.fl_item.-w57per {
	width: calc(57% - 2rem);
}
.fl_item.-w58per {
	width: calc(58% - 2rem);
}
.fl_item.-w59per {
	width: calc(59% - 2rem);
}
.fl_item.-w60per {
	width: calc(60% - 2rem);
}
.fl_item.-w61per {
	width: calc(61% - 2rem);
}
.fl_item.-w62per {
	width: calc(62% - 2rem);
}
.fl_item.-w63per {
	width: calc(63% - 2rem);
}
.fl_item.-w64per {
	width: calc(64% - 2rem);
}
.fl_item.-w65per {
	width: calc(65% - 2rem);
}
.fl_item.-w66per {
	width: calc(66% - 2rem);
}
.fl_item.-w67per {
	width: calc(67% - 2rem);
}
.fl_item.-w68per {
	width: calc(68% - 2rem);
}
.fl_item.-w69per {
	width: calc(69% - 2rem);
}
.fl_item.-w70per {
	width: calc(70% - 2rem);
}
.fl_item.-w71per {
	width: calc(71% - 2rem);
}
.fl_item.-w72per {
	width: calc(72% - 2rem);
}
.fl_item.-w73per {
	width: calc(73% - 2rem);
}
.fl_item.-w74per {
	width: calc(74% - 2rem);
}
.fl_item.-w75per {
	width: calc(75% - 2rem);
}
.fl_item.-w76per {
	width: calc(76% - 2rem);
}
.fl_item.-w77per {
	width: calc(77% - 2rem);
}
.fl_item.-w78per {
	width: calc(78% - 2rem);
}
.fl_item.-w79per {
	width: calc(79% - 2rem);
}
.fl_item.-w80per {
	width: calc(80% - 2rem);
}

/*マージントップ
-------------------------------*/
.mt_auto {
	margin-top: auto;
}


/*================================
幅と高さの指定
================================*/

/*※幅と高さのpx指定、％指定について*/
/*================================

幅と高さの指定は以下の6種
・width と height
・max width と max height
・min width と min height

6種それぞれにpx指定した場合と、％指定した場合の2パターンがあります。
（6種×2パターン＝12パターン）

------------------------------
例：width, height（px指定）
------------------------------
width: 480px; → .w480px, w480px-tab, w480px-sp
height: 480px; → .h480px, h480px-tab, h480px-sp

.w〇-tab = タブレットの際に〇px
.w〇-sp = スマホの際に〇px


------------------------------
例：width, height（％指定）
------------------------------
・末尾にpercentの意味でperを追加

width: 100%; → .w100per, w100per-tab, w100per-sp
height: 100%; → .h100per, h100per-tab, h100per-sp


------------------------------
例：max width, max height（px指定）
------------------------------
・頭にmaxの意味でmx-を追加

max width: 480px; → .mx-w480px, .mx-w480px-tab, .mx-w480px-sp
max height: 480px; → .mx-h480px, .mx-h480px-tab, .mx-h480px-sp


------------------------------
例：max width, max height（％指定）
------------------------------
・末尾にpercentの意味でperを追加

max width: 100%; → .mx-w100per, .mx-w100per-tab, .mx-w100per-sp
max height: 100%; → .mx-h100per, .mx-h100per-tab, .mx-h100per-sp


------------------------------
例：min width, min height（px指定）
------------------------------
・頭にminの意味でmn-を追加

min width: 480px; → .mn-w480px, .mn-w480px-tab, .mn-w480px-sp
min height: 480px; → .mn-h480px, .mn-h480px-tab, .mn-h480px-sp


------------------------------
例：min width, min height（％指定）
------------------------------
・末尾にpercentの意味でperを追加

min width: 100%; → .mn-w100per, .mn-w100per-tab, .mn-w100per-sp
min height: 100%; → .mn-h100per, .mn-h100per-tab, .mn-h100per-sp

================================*/


/*width（px指定）
-------------------------------*/
.w480px {
	width: 480px;
}
.w490px {
	width: 490px;
}

/*width（％指定）
-------------------------------*/
.w24per {
	width: 24%;
}
.w37per {
	width: 37%;
}
.w38per {
	width: 38%;
}
.w39per {
	width: 39%;
}
.w40per {
	width: 40%;
}
.w50per {
	width: 50%;
}
.w60per {
	width: 60%;
}
.w61per {
	width: 61%;
}
.w62per {
	width: 62%;
}
.w100per {
	width: 100%;
}

/*width（その他）
-------------------------------*/
.w-fit {
	width: fit-content;
}

/*height（px指定）
-------------------------------*/
.h00px {
	height: 00px;
}

/*height（％指定）
-------------------------------*/
.h100per {
	height: 100%;
}

/*max width（px指定）
-------------------------------*/
.mx-w260px {
	max-width: 260px;
	width: 100%;
}
.mx-w280px {
	max-width: 280px;
	width: 100%;
}
.mx-w350px {
	max-width: 350px;
	width: 100%;
}
.mx-w360px {
	max-width: 360px;
	width: 100%;
}
.mx-w380px {
	max-width: 380px;
	width: 100%;
}
.mx-w400px {
	max-width: 400px;
	width: 100%;
}
.mx-w480px {
	max-width: 480px;
	width: 100%;
}
.mx-w490px {
	max-width: 490px;
	width: 100%;
}
.mx-w500px {
	max-width: 500px;
	width: 100%;
}
.mx-w520px {
	max-width: 520px;
	width: 100%;
}
.mx-w530px {
	max-width: 530px;
	width: 100%;
}
.mx-w560px {
	max-width: 560px;
	width: 100%;
}
.mx-w580px {
	max-width: 580px;
	width: 100%;
}
.mx-w600px {
	max-width: 600px;
	width: 100%;
}
.mx-w610px {
	max-width: 610px;
	width: 100%;
}
.mx-w670px {
	max-width: 670px;
	width: 100%;
}
.mx-w770px {
	max-width: 770px;
	width: 100%;
}
.mx-w800px {
	max-width: 800px;
	width: 100%;
}
.mx-w840px {
	max-width: 840px;
	width: 100%;
}
.mx-w860px {
	max-width: 860px;
	width: 100%;
}
.mx-w860px {
	max-width: 860px;
	width: 100%;
}
.mx-w1000px {
	max-width: 1000px;
	width: 100%;
}

/*max width（％指定）
-------------------------------*/
.mx-w100per {
	max-width: 100%;
	width: 100%;
}

/*max height（px指定）
-------------------------------*/
.mx-h00px {
	max-height: 00px;
}

/*max height（％指定）
-------------------------------*/
.mx-h100per {
	max-height: 100%;
}

/*min width（px指定）
-------------------------------*/
.mn-w00px {
	min-width: 00px;
}

/*min width（％指定）
-------------------------------*/
.mn-w100per {
	min-width: 100%;
}

/*min height（px指定）
-------------------------------*/
.mn-h00px {
	min-height: 00px;
}

/*min height（％指定）
-------------------------------*/
.mn-h100per {
	min-height: 100%;
}

/* padding
================================*/
.pd0 {
	padding: 0 !important;
}
.pd10 {
	padding: 1rem !important;
}
.pd20 {
	padding: 2rem !important;
}
.pd30 {
	padding: 3rem !important;
}
.pd40 {
	padding: 4rem !important;
}
.pd50 {
	padding: 5rem !important;
}
/*padding-top*/
.pdt0 {
	padding-top: 0 !important;
}
.pdt10 {
	padding-top: 1rem !important;
}
.pdt20 {
	padding-top: 2rem !important;
}
.pdt30 {
	padding-top: 3rem !important;
}
.pdt40 {
	padding-top: 4rem !important;
}
.pdt50 {
	padding-top: 5rem !important;
}
/*padding-bottom*/
.pdb0 {
	padding-bottom: 0 !important;
}







/*================================
↓　各ブレイクポイント毎の flex-direction
==================================
横並びのアイテムのflex-direction を column に変更して
タブレット・スマホ幅で見やすいように変更する
==================================
.col_wrap-pc…………………ノートPCで縦並びにする
.col_wrap-tab_lg………タブレット(横画面)で縦並びにする
.col_wrap-tab………………タブレット(縦画面)で縦並びにする
.col_wrap-sp…………………スマホで縦並びにする
================================*/



/*================================
ノートPC 1366px～0px
================================*/
@media (max-width: 1366px) {
	/* flex-flow　縦並び
	-------------------------------*/
	.col_wrap-pc {
		flex-flow: column wrap;
	}
	.col_wrap-pc > .fl_item {
		width: 100%!important;
	}
}


/*================================
TABLET横 1080px～0px
================================*/
@media (max-width: 1080px) {
	/* flex-flow　縦並び
	-------------------------------*/
	.col_wrap-tab_lg {
		flex-flow: column wrap;
	}
	.col_wrap-tab_lg > .fl_item {
		width: 100%!important;
	}
}


/*================================
TABLET縦 834px～0px
================================*/
@media (max-width: 834px) {
	/* flex-flow　縦並び
	-------------------------------*/
	.col_wrap-tab {
		flex-flow: column wrap;
	}
	.col_wrap-tab > .fl_item {
		width: 100%!important;
	}

	/*フレックスボックスの均等分割
	-------------------------------*/
	.-cut2-tab,
	.-cut3-tab,
	.-cut4-tab {
		flex-flow: row wrap;
	}
	/* 1/2 */
	.-cut2-tab > .fl_item {
		width: calc(100%/2 - (4rem/2));
	}
	.-cut2-tab.gap-c0 > .fl_item {
		width: 50%;
	}
	/* 1/3 */
	.-cut3-tab > .fl_item {
		width: calc(100%/3 - (4rem*2/3));
	}
	.-cut3-tab.gap-c0 > .fl_item {
		width: calc(100%/3);
	}
	/* 1/4 */
	.-cut4-tab > .fl_item {
		width: calc(100%/4 - (4rem*3/4));
	}
	.-cut4-tab.gap-c0 > .fl_item {
		width: calc(100%/4);
	}

	/*================================
	幅と高さの指定
	================================*/

	/*width（px指定）
	-------------------------------*/
	.w00px-tab {
		width: 00px;
	}

	/*width（％指定）
	-------------------------------*/
	.w100per-tab {
		width: 100%;
	}

	/*height（px指定）
	-------------------------------*/
	.h00px-tab {
		height: 00px;
	}

	/*height（％指定）
	-------------------------------*/
	.h100per-tab {
		height: 100%;
	}

	/*max width（px指定）
	-------------------------------*/
	.mx-w00px-tab {
		max-width: 00px;
		width: 100%;
	}
	.mx-w200px-tab {
		max-width: 200px;
		width: 100%;
	}
	.mx-w450px-tab {
		max-width: 450px;
		width: 100%;
	}
	.mx-w460px-tab {
		max-width: 460px;
		width: 100%;
	}
	.mx-w480px-tab {
		max-width: 480px;
		width: 100%;
	}

	/*max width（％指定）
	-------------------------------*/
	.mx-w100per-tab {
		max-width: 100%;
		width: 100%;
	}

	/*max height（px指定）
	-------------------------------*/
	.mx-h00px-tab {
		max-height: 00px;
	}

	/*max height（％指定）
	-------------------------------*/
	.mx-h100per-tab {
		max-height: 100%;
	}

	/*min width（px指定）
	-------------------------------*/
	.mn-w00px-tab {
		min-width: 00px;
	}
	.mn-w840px-tab {
		min-width: 840px;
	}

	/*min width（％指定）
	-------------------------------*/
	.mn-w100per-tab {
		min-width: 100%;
	}

	/*min height（px指定）
	-------------------------------*/
	.mn-h00px-tab {
		min-height: 00px;
	}

	/*min height（％指定）
	-------------------------------*/
	.mn-h100per-tab {
		min-height: 100%;
	}


}


/*================================
SP表示 667px～0px
================================*/
@media (max-width: 667px)  {
	/* flex-flow　縦並び
	-------------------------------*/
	.col_wrap-sp {
		flex-flow: column wrap;
	}
	.col_wrap-sp > .fl_item {
		width: 100%!important;
	}

	/*フレックスボックスの均等分割
	-------------------------------*/
	.-cut2,
	.-cut3,
	.-cut4,
	.-cut5,
	.-cut6,
	.-cut7,
	.-cut8 {
		column-gap: 20px;
	}
	/* 1/2 */
	.-cut2 > .fl_item {
		width: calc(100%/2 - (20px/2));
	}
	/* 1/3 */
	.-cut3 > .fl_item {
		width: calc(100%/3 - (40px/3));
	}
	/* 1/4 */
	.-cut4 > .fl_item {
		width: calc(100%/4 - (60px/4));
	}

	/*フレックスボックスの均等分割
	-------------------------------*/
	/* 1/2 */
	.-cut2-tab > .fl_item {
		width: calc(100%/2 - (20px/2));
	}
	/* 1/3 */
	.-cut3-tab > .fl_item {
		width: calc(100%/3 - (40px/3));
	}
	/* 1/4 */
	.-cut4-tab > .fl_item {
		width: calc(100%/4 - (60px/4));
	}

	/*フレックスボックスの均等分割
	-------------------------------*/
	/* 1/2 */
	.-cut2-sp > .fl_item {
		width: calc(100%/2 - (20px/2));
	}
	/* 1/3 */
	.-cut3-sp > .fl_item {
		width: calc(100%/3 - (40px/3));
	}
	/* 1/4 */
	.-cut4-sp > .fl_item {
		width: calc(100%/4 - (60px/4));
	}

	/*フレックスボックスのgap
	-------------------------------*/
	/*上下の隙間*/
	.gap-r0-sp {
		row-gap: 0;
	}
	.gap-r10-sp {
		row-gap: 10px;
	}
	.gap-r20-sp {
		row-gap: 20px;
	}
	.gap-r30-sp {
		row-gap: 30px;
	}
	.gap-r40-sp {
		row-gap: 40px;
	}


	/*================================
	幅と高さの指定
	================================*/

	/*width（px指定）
	-------------------------------*/
	.w00px-sp {
		width: 00px;
	}
	.w200px-sp {
		width: 200px;
	}

	/*width（％指定）
	-------------------------------*/
	.w100per-sp {
		width: 100%;
	}

	/*height（px指定）
	-------------------------------*/
	.h00px-sp {
		height: 00px;
	}

	/*height（％指定）
	-------------------------------*/
	.h100per-sp {
		height: 100%;
	}

	/*max width（px指定）
	-------------------------------*/
	.mx-w00px-sp {
		max-width: 00px;
		width: 100%;
	}
	.mx-w120px-sp {
		max-width: 120px;
		width: 100%;
	}
	.mx-w140px-sp {
		max-width: 140px;
		width: 100%;
	}
	.mx-w160px-sp {
		max-width: 160px;
		width: 100%;
	}
	.mx-w180px-sp {
		max-width: 180px;
		width: 100%;
	}
	.mx-w200px-sp {
		max-width: 200px;
		width: 100%;
	}
	.mx-w240px-sp {
		max-width: 240px;
		width: 100%;
	}
	.mx-w300px-sp {
		max-width: 300px;
		width: 100%;
	}

	/*max width（％指定）
	-------------------------------*/
	.mx-w100per-sp {
		max-width: 100%;
		width: 100%;
	}

	/*max height（px指定）
	-------------------------------*/
	.mx-h00px-sp {
		max-height: 00px;
	}

	/*max height（％指定）
	-------------------------------*/
	.mx-h100per-sp {
		max-height: 100%;
	}

	/*min width（px指定）
	-------------------------------*/
	.mn-w00px-sp {
		min-width: 00px;
	}
	.mn-w600px-sp {
		min-width: 600px;
	}

	/*min width（％指定）
	-------------------------------*/
	.mn-w100per-sp {
		min-width: 100%;
	}

	/*min height（px指定）
	-------------------------------*/
	.mn-h00px-sp {
		min-height: 00px;
	}

	/*min height（％指定）
	-------------------------------*/
	.mn-h100per-sp {
		min-height: 100%;
	}

	/* padding
	================================*/
	.pd0-sp {
		padding: 0 !important;
	}


}

/*===========================================

↑↑↑↑↑機能、構成やレイアウトに関するcss

===========================================*/







/*===========================================

↓↓↓↓↓外観、デザインや飾りに関するcss

===========================================*/


/*================================
コンテナ類、幅制御
===============================*/
.main {}
.section {
	padding-top: 9rem;
	padding-bottom: 9rem;
	border-bottom: 2px solid var(--theme-gray01);
}
.section:nth-of-type(1) {
	padding-top: 0;
}
.section .inner {
	max-width: calc(1000px + 14rem);
}
.content {}
.content:not(:last-of-type) {
	position: relative;
	z-index: 1;
	margin-bottom: 9rem;
	padding-bottom: 9rem;
}
.content:not(:last-of-type)::before {
	position: absolute;
	z-index: 1;
	content: "";
	bottom: 0;
	left: 50%;
	translate: -50%;
	width: 110vw;
	height: 2px;
	background: var(--theme-gray01);
}
.content.-noborder {
	padding-bottom: 0;
}
.content.-noborder::before {
	content: none;
}

/*================================
メインビジュアル
===============================*/
.mv {
	border-bottom: 2px solid var(--theme-gray01);
}
.mv .inner {
	max-width: calc(1000px + 14rem);
	height: 35rem;
	padding-top: 4rem;
	padding-bottom: 4rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.page_heading {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: column;
	gap: 2rem;
}
.page_hd_en {
	font-family: "Zen Old Mincho", serif;
	font-size: 10rem;
	font-weight: 400;
	text-align: center;
	line-height: 1.2;
	color: rgba(51, 51, 51, 0.3);
}
.page_hd_jp {
	font-family: "Zen Old Mincho", serif;
	font-size: 4.8rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.5;
	text-decoration: underline;
	text-decoration-color: currentcolor;
	text-decoration-thickness: auto;
	text-decoration-thickness: 1px;
	text-decoration-color: #333;
	text-underline-offset: 0.3em;
	text-decoration-skip-ink: none;
}

/* パンくずリスト
================================*/
.breadcrumb {}
.breadcrumb .inner {
	max-width: calc(1100px + 14rem);
	height: 10rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-flow: row wrap;
}
.breadcrumb_lists {
	display: flex;
	justify-content: flex-start;
	align-items: baseline;
	flex-flow: row wrap;
	gap: 0.5em;
}
.breadcrumb_lists li {
	position: relative;
	z-index: 1;
	font-family: "Zen Old Mincho", serif;
	font-size: 1.2rem;
	line-height: 1.2;
	color: #333;
}
.breadcrumb_lists a {
	color: #333;
}
.breadcrumb_lists li:not(:last-child) {}
.breadcrumb_lists li:not(:last-child)::after {
	content: ">";
	margin-left: 0.5em;
}

/* 見出し
================================*/
.sec_heading {}
.sec_hd_jp {}
.sec_hd_en {}

/*cont_heading*/
/*-----------------------------*/
/*改行は<wbr>とword-break: keep-all; を使用*/
/*cont_heading01*/
.cont_heading01 {
	position: relative;
	z-index: 1;
	margin-bottom: 3rem;
	padding-left: 1.46em;
	font-family: "Zen Old Mincho", serif;
	font-size: 3.4rem;
	font-weight: 700;
	text-align: left;
	line-height: 1.5;
	/*word-break: keep-all;*/
}
.cont_heading01::before {
	position: absolute;
	z-index: 1;
	content: "";
	width: 0.9em;
	height: 3px;
	background: var(--theme-color02);
	left: 0;
	top: calc(1em*1.5/2);
}
/*cont_heading02*/
.cont_heading02 {
	padding: 1.6rem 1.6rem;
	background: var(--theme-color02);
	font-family: "Zen Old Mincho", serif;
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.5;
	color: #fff;
}
/*cont_heading03*/
.cont_heading03 {
	margin-bottom: 2rem;
	padding: 1rem 1rem;
	background: var(--theme-color03);
	font-family: "Zen Old Mincho", serif;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.5;
}
.cont_heading03.-type02 {
	background: var(--theme-color01);
	color: #fff;
}
/*cont_heading04*/
.cont_heading04 {}

/*item_heading*/
/*-----------------------------*/
/*item_heading01*/
.item_heading01 {
	/*仮にitem_heading01*/
	margin-bottom: 2rem;
	font-family: "Zen Old Mincho", serif;
	font-size: 2rem;
	font-weight: 700;
	text-align: left;
	line-height: 1.5;
}
/*item_heading02*/
.item_heading02 {}
/*item_heading03*/
.item_heading03 {}
/*item_heading04*/
.item_heading04 {}

/*その他タイトル*/
/*-----------------------------*/
/*.aaa_heading01 {}*/

/* フレーム
================================*/
.frame-01 {
	background: #f2f2f2;
	border: 1px solid var(--theme-gray02);
}
.frame-02 {
	background: #fff;
}
.frame-03 {
	background: #fff;
	border: 1px solid var(--theme-gray02);
}
.frame-04 {}
/*padding*/
[class*="frame-"].-pd10 {
	padding: 1rem;
}
[class*="frame-"].-pd20 {
	padding: 2rem;
}
[class*="frame-"].-pd30 {
	padding: 3rem;
}
[class*="frame-"].-pd40 {
	padding: 4rem;
}
[class*="frame-"].-pd50 {
	padding: 5rem;
}
/*rounded*/
/*
[class*="frame-"].-br10 {
	border-radius: 1rem;
}
[class*="frame-"].-br20 {
	border-radius: 2rem;
}
[class*="frame-"].-br30 {
	border-radius: 3rem;
}
[class*="frame-"].-br_type02 {
	border-radius: 10px 0 10px 0;
}
*/


/* 背景（コンテンツ幅）
================================*/
.bg-theme01 {
	background-color: var(--theme-color01);
}
.bg-theme02 {
	background-color: var(--theme-color02);
}
.bg-gray01 {
	background-color: var(--theme-gray01);
}
.bg-gray02 {
	background-color: var(--theme-gray02);
}
.bg-fff {
	background-color: #fff;
}
/*
.pattern01 {
	background: url(../img/pattern01.jpg)top center/192rem auto;
}
*/

/* 背景（ブラウザ幅100％）
================================*/
/*
.bg-fff_w100per {
	position: relative;
	z-index: 1;
}
.bg-fff_w100per::before {
	position: absolute;
	z-index: -1;
	content: "";
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 102vw;
	height: 100%;
	background: #fff;
}
.pattern01_w100per {
	position: relative;
	z-index: 1;
}
.pattern01_w100per::before {
	position: absolute;
	z-index: -1;
	content: "";
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 102vw;
	height: 100%;
	background: url(../img/pattern01.jpg)top center/192rem auto;
}
*/

/* 文字サイズ
================================*/
.fs14 {
	font-size: 1.4rem;
	vertical-align: baseline;
}
.fs15 {
	font-size: 1.5rem;
	vertical-align: baseline;
}
.fs16 {
	font-size: 1.6rem;
	vertical-align: baseline;
}
.fs18 {
	font-size: 1.8rem;
	vertical-align: baseline;
}
.fs20 {
	font-size: 2rem;
	vertical-align: baseline;
}
.fs22 {
	font-size: 2.2rem;
	vertical-align: baseline;
}
.fs24 {
	font-size: 2.4rem;
	vertical-align: baseline;
}
.fs26 {
	font-size: 2.6rem;
	vertical-align: baseline;
}
.fs30 {
	font-size: 3rem;
	vertical-align: baseline;
}

/* 行の高さ
================================*/
/*行の高さが文字の140%*/
.lh100 {
	line-height: 1;
}
.lh120 {
	line-height: 1.2;
}
.lh140 {
	line-height: 1.4;
}
/*行の高さが文字の150%*/
.lh150 {
	line-height: 1.5;
}
/*行の高さが文字の160%*/
.lh160 {
	line-height: 1.6;
}
/*行の高さが文字の180%*/
.lh180 {
	line-height: 1.8;
}
/*行の高さが文字の200%*/
.lh200 {
	line-height: 2;
}

/* 締め括りテキスト
================================*/
.conclusion {}

/* チェックリストなど
================================*/
/*check*/
.li-check01 {
	padding-left: 1.6em;
	background: url(../img/li-check01_icon.png)left top 0.6em /1em auto no-repeat;
	font-size: 1.8rem;
	text-align: left;
}
/*
.li-check02 {
	padding-left: 1.2em;
	background: url(../img/li-check02_icon.png)left top 0.6em /0.6em auto no-repeat;
	text-align: left;
}
*/
/*dot*/
.li-dot01 {
	position: relative;
	padding-left: 1.1em;
	text-align: left;
}
.li-dot01::before {
	position: absolute;
	content: "";
	left: 0.3em;
	top: 0.96em;
	width: 0.25em;
	height: 0.25em;
	background: #333;
	border-radius: 50%;
}
/*
.li-dot02 {
	position: relative;
	padding-left: 1.1em;
	text-align: left;
}
.li-dot02::before {
	position: absolute;
	content: "";
	left: 0.3em;
	top: 0.96em;
	width: 0.25em;
	height: 0.25em;
	background: var(--theme-color01);
	border-radius: 50%;
}
*/
/*square*/
/*
.li-square {
	position: relative;
	padding-left: 1.4em;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
}
.li-square::before {
	position: absolute;
	content: "";
	left: 0.2em;
	top: 0.4em;
	width: 1.4rem;
	height: 1.4rem;
	background: var(--theme-color01);
	border-radius: 2px;
}
.li-square:not(:last-child) {
	margin-bottom: 2rem;
}
*/

/* テーブル
================================*/
/*
.tbl01 {
	max-width: 580px;
}
.tbl01_th {
	padding: 0.6rem 2rem;
	background: var(--theme-color01);
	border: 1px solid #333;
	font-size: 2rem;
	text-align: left;
	line-height: 1.4;
	color: #fff;
	vertical-align: middle;
}
.tbl01_td {
	padding: 0.6rem 2rem;
	background: #fff;
	border: 1px solid #333;
	text-align: right;
	line-height: 1.4;
	vertical-align: middle;
}
*/

/*================================
その他
===============================*/

/*YouTube*/
/*-----------------------------*/
.video {
	width: 100%;
	max-width: 560px;
	margin-inline: auto;
	aspect-ratio: 16/9;
}
.video iframe {
	width: 100%;
	height: 100%;
}

/*吹き出し*/
/*-----------------------------*/
.speech {
	display: flex;
	justify-content: center;
	align-items: flex-end;
}
.speech::before {
	content: "＼";
	margin-right: 0.2em;
}
.speech::after {
	content: "／";
	margin-left: 0.2em;
}

/* Q＆A
================================*/
/*
.question {
	margin-bottom: 1rem;
	padding-bottom: 0.5em;
	border-bottom: 1px solid #c9c2bd;
	display: flex;
	justify-content: flex-start;
	align-items: baseline;
	gap: 2.5rem;
}
.question .icon {
	width: 4.2rem;
	height: 4.2rem;
	padding-top: 0.26em;
	background: var(--theme-color01);
	border-radius: 50%;
	font-size: 2.2rem;
	font-weight: 400;
	text-align: center;
	line-height: 1;
	color: #fff;
}
.question .text {
	width: calc(100% - (4.2rem + 2.5rem));
	font-size: 2.2rem;
	font-weight: 400;
	text-align: left;
	line-height: 1.4;
}
.answer {
	display: flex;
	justify-content: flex-start;
	align-items: baseline;
	gap: 2.5rem;
}
.answer .icon {
	width: 4.2rem;
	height: 4.2rem;
	padding-top: 0.26em;
	background: #c9c2bd;
	border-radius: 50%;
	font-size: 2.2rem;
	font-weight: 400;
	text-align: center;
	line-height: 1;
	color: #fff;
}
.answer .text {
	width: calc(100% - (4.2rem + 2.5rem));
	text-align: left;
}
*/

/* リンク
================================*/
/*外部リンク*/
/*
.link_ex {
	padding-right: 1.4em;
	background-image: url(../img/link_ex_icon02.png);
	background-position: right bottom 0.3em;
	background-size: auto 0.8em;
	background-repeat: no-repeat;
}
*/

/*================================
お問い合わせ・WEB予約
================================*/
.lower-contact_wrap {
	padding: 3rem;
	border: 1px solid var(--theme-gray02);
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-flow: row wrap;
	gap: 2rem 4rem;
}
.lower-contact_item {
	width: calc(100%/2 - 4rem/2);
}
.lower-contact_heading {
	width: fit-content;
	margin-left: -3rem;
	padding: 0 2rem 0 3rem;
	background: var(--theme-color01);
	margin-bottom: 2rem;
	font-family: "Zen Old Mincho", serif;
	font-size: 3rem;
	font-weight: 700;
	text-align: left;
	line-height: 1.5;
	color: #fff;
}
.lower-contact_tel_number {
	margin-bottom: 1rem;
	text-align: left;
}
.lower-contact_tel_number .ft_tel_link {
	font-size: 4.8rem;
}

/*================================
ノートPC 1366px～0px
================================*/
@media (max-width: 1366px) {}


/*================================
TABLET横 1080px～0px
================================*/
@media (max-width: 1080px) {}


/*================================
TABLET縦 834px～0px
================================*/
@media (max-width: 834px) {

	/* 横スクロール
	================================*/
	.scroll-tab {
		overflow-x: scroll;
		position: relative;
		z-index: 1;
	}
	.scroll_text {
		margin-bottom: 1rem;
		text-align: center;
	}
	.scroll_text .word {
		position: relative;
		z-index: 1;
		display: inline-block;
		padding-right: 2.2rem;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1;
		color: var(--theme-color01);
	}
	.scroll_text .word::after {
		position: absolute;
		z-index: 1;
		content: "";
		right: 0;
		top: calc(50% + 0.1rem);
		transform: translateY(-50%);
		width: 0.8rem;
		height: 1rem;
		background: var(--theme-color01);
		clip-path: polygon(12% 0, 100% 44%, 100% 56%, 12% 100%, 0 88%, 0 12%);
	}

	/*================================
	コンテナ類、幅制御
	===============================*/
	.main {}
	.section {}
	.section .inner {
		padding-left: 40px;
		padding-right: 40px;
	}
	.content {}
	/*-----------------------------*/


	/*================================
	メインビジュアル
	===============================*/
	.mv {}
	.mv .inner {}
	.page_heading {}
	.page_hd_en {}
	.page_hd_jp {}

	/* パンくずリスト
	================================*/
	.breadcrumb {}
	.breadcrumb .inner {}
	.breadcrumb_lists {}
	.breadcrumb_lists li {}

	/* 見出し
	================================*/
	.sec_heading {}
	.sec_hd_jp {}
	.sec_hd_en {}

	/*cont_heading*/
	/*-----------------------------*/
	/*cont_heading01*/
	.cont_heading01 {}
	/*cont_heading02*/
	.cont_heading02 {}
	/*cont_heading03*/
	.cont_heading03 {}
	/*cont_heading04*/
	.cont_heading04 {}

	/*item_heading*/
	/*-----------------------------*/
	/*item_heading01*/
	.item_heading01 {}
	/*item_heading02*/
	.item_heading02 {}
	/*item_heading03*/
	.item_heading03 {}
	/*item_heading04*/
	.item_heading04 {}

	/* フレーム
	================================*/
	.frame-01 {}
	.frame-02 {}
	.frame-03 {}
	.frame-04 {}

	/* チェックリストなど
	================================*/
	/*check*/
	.li-check01 {}
	/*dot*/
	.li-dot01 {}


}



/*================================
SP表示 667px～0px
================================*/
@media (max-width: 667px) {

	/* 横スクロール
	================================*/
	.scroll-sp {
		overflow-x: scroll;
		position: relative;
		z-index: 1;
	}

	/* 文字サイズ
	================================*/
	.fs16-sp {
		font-size: 1.6rem;
		vertical-align: baseline;
	}
	.fs18-sp {
		font-size: 1.8rem;
		vertical-align: baseline;
	}
	.fs20-sp {
		font-size: 2rem;
		vertical-align: baseline;
	}
	.fs22-sp {
		font-size: 2.2rem;
		vertical-align: baseline;
	}
	.fs24-sp {
		font-size: 2.4rem;
		vertical-align: baseline;
	}
	.fs26-sp {
		font-size: 2.6rem;
		vertical-align: baseline;
	}
	.fs30-sp {
		font-size: 3rem;
		vertical-align: baseline;
	}


	/*================================
	コンテナ類、幅制御
	===============================*/
	.main {}
	.section {
		padding-top: 7rem;
		padding-bottom: 7rem;
	}
	.section .inner {
		padding-left: 20px;
		padding-right: 20px;
	}
	.content {}
	.content:not(:last-of-type) {
		margin-bottom: 7rem;
	}

	/* フレーム
	================================*/
	/*padding*/
	[class*="frame-"].-pd20,
	[class*="frame-"].-pd30,
	[class*="frame-"].-pd40,
	[class*="frame-"].-pd50 {
		padding: 16px;
	}

	/*-----------------------------*/


	/*================================
	メインビジュアル
	===============================*/
	.mv {}
	.mv .inner {
		height: 25rem;
	}
	.page_heading {
		gap: 1rem;
	}
	.page_hd_en {
		font-size: 5.5rem;
	}
	.page_hd_jp {
		font-size: 4rem;
	}

	/* パンくずリスト
	================================*/
	.breadcrumb {}
	.breadcrumb .inner {}
	.breadcrumb_lists {}
	.breadcrumb_lists li {}

	/* 見出し
	================================*/
	.sec_heading {}
	.sec_hd_jp {}
	.sec_hd_en {}

	/*cont_heading*/
	/*-----------------------------*/
	/*cont_heading01*/
	.cont_heading01 {
		font-size: 2.7rem;
	}
	/*cont_heading02*/
	.cont_heading02 {
		padding: 1rem;
		font-size: 2.2rem;
	}
	/*cont_heading03*/
	.cont_heading03 {
		padding: 0.6rem 1rem;
	}
	/*cont_heading04*/
	.cont_heading04 {}

	/*item_heading*/
	/*-----------------------------*/
	/*item_heading01*/
	.item_heading01 {}
	/*item_heading02*/
	.item_heading02 {}
	/*item_heading03*/
	.item_heading03 {}
	/*item_heading04*/
	.item_heading04 {}

	/* フレーム
	================================*/
	.frame-01 {}
	.frame-02 {}
	.frame-03 {}
	.frame-04 {}

	/* チェックリストなど
	================================*/
	/*check*/
	.li-check01 {}
	/*dot*/
	.li-dot01 {}

	/*================================
	お問い合わせ・WEB予約
	================================*/
	.lower-contact_wrap {}
	.lower-contact_item {
		width: 100%;
	}
	.lower-contact_heading {}
	.lower-contact_tel_number {}
	.lower-contact_tel_number .ft_tel_link {
		font-size: 3.4rem;
	}




	
}



























