@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 - (8rem/3));
}
.-cut3.gap-c0 > .fl_item {
	width: calc(100%/3);
}
/* 1/4 */
.-cut4 > .fl_item {
	width: calc(100%/4 - (12rem/4));
}
.-cut4.gap-c0 > .fl_item {
	width: calc(100%/4);
}
/* 1/5 */
.-cut5 > .fl_item {
	width: calc(100%/5 - (16rem/5));
}
.-cut5.gap-c0 > .fl_item {
	width: calc(100%/5);
}
/* 1/6 */
.-cut6 > .fl_item {
	width: calc(100%/6 - (20rem/6));
}
.-cut6.gap-c0 > .fl_item {
	width: calc(100%/6);
}
/* 1/7 */
.-cut7 > .fl_item {
	width: calc(100%/7 - (24rem/7));
}
.-cut7.gap-c0 > .fl_item {
	width: calc(100%/7);
}
/* 1/8 */
.-cut8 > .fl_item {
	width: calc(100%/8 - (28rem/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-r0 {
	row-gap: 0;
}
.gap-r10 {
	row-gap: 10px;
}
.gap-r20 {
	row-gap: 20px;
}
.gap-r30 {
	row-gap: 30px;
}
.gap-r40 {
	row-gap: 40px;
}
.gap-r50 {
	row-gap: 50px;
}
.gap-r60 {
	row-gap: 60px;
}
.gap-r70 {
	row-gap: 70px;
}
.gap-r80 {
	row-gap: 80px;
}

/*fl_itemの割合
-------------------------------*/
/*flex boxで左右に並ぶ2つのアイテムの幅を％で管理*/
.fl_item.-w20p {
	width: calc(20% - 2rem);
}
.fl_item.-w21p {
	width: calc(21% - 2rem);
}
.fl_item.-w22p {
	width: calc(22% - 2rem);
}
.fl_item.-w24p {
	width: calc(24% - 2rem);
}
.fl_item.-w25p {
	width: calc(25% - 2rem);
}
.fl_item.-w26p {
	width: calc(26% - 2rem);
}
.fl_item.-w27p {
	width: calc(27% - 2rem);
}
.fl_item.-w28p {
	width: calc(28% - 2rem);
}
.fl_item.-w30p {
	width: calc(30% - 2rem);
}
.fl_item.-w32p {
	width: calc(32% - 2rem);
}
.fl_item.-w34p {
	width: calc(34% - 2rem);
}
.fl_item.-w36p {
	width: calc(36% - 2rem);
}
.fl_item.-w37p {
	width: calc(37% - 2rem);
}
.fl_item.-w38p {
	width: calc(38% - 2rem);
}
.fl_item.-w39p {
	width: calc(39% - 2rem);
}
.fl_item.-w40p {
	width: calc(40% - 2rem);
}
.fl_item.-w42p {
	width: calc(42% - 2rem);
}
.fl_item.-w43p {
	width: calc(43% - 2rem);
}
.fl_item.-w45p {
	width: calc(45% - 2rem);
}
.fl_item.-w46p {
	width: calc(46% - 2rem);
}
.fl_item.-w47p {
	width: calc(47% - 2rem);
}
.fl_item.-w48p {
	width: calc(48% - 2rem);
}
.fl_item.-w50p {
	width: calc(50% - 2rem);
}
.fl_item.-w52p {
	width: calc(52% - 2rem);
}
.fl_item.-w53p {
	width: calc(53% - 2rem);
}
.fl_item.-w54p {
	width: calc(54% - 2rem);
}
.fl_item.-w55p {
	width: calc(55% - 2rem);
}
.fl_item.-w57p {
	width: calc(57% - 2rem);
}
.fl_item.-w58p {
	width: calc(58% - 2rem);
}
.fl_item.-w60p {
	width: calc(60% - 2rem);
}
.fl_item.-w61p {
	width: calc(61% - 2rem);
}
.fl_item.-w62p {
	width: calc(62% - 2rem);
}
.fl_item.-w63p {
	width: calc(63% - 2rem);
}
.fl_item.-w64p {
	width: calc(64% - 2rem);
}
.fl_item.-w66p {
	width: calc(66% - 2rem);
}
.fl_item.-w68p {
	width: calc(68% - 2rem);
}
.fl_item.-w70p {
	width: calc(70% - 2rem);
}
.fl_item.-w72p {
	width: calc(72% - 2rem);
}
.fl_item.-w73p {
	width: calc(73% - 2rem);
}
.fl_item.-w74p {
	width: calc(74% - 2rem);
}
.fl_item.-w75p {
	width: calc(75% - 2rem);
}
.fl_item.-w76p {
	width: calc(76% - 2rem);
}
.fl_item.-w78p {
	width: calc(78% - 2rem);
}
.fl_item.-w79p {
	width: calc(79% - 2rem);
}
.fl_item.-w80p {
	width: calc(80% - 2rem);
}

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


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

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

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

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

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

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


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

width: 100%; → .w100p, w100p-tab, w100p-sp
height: 100%; → .h100p, h100p-tab, h100p-sp


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

max width: 480px; → .mx-w480, .mx-w480-tab, .mx-w480-sp
max height: 480px; → .mx-h480, .mx-h480-tab, .mx-h480-sp


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

max width: 100%; → .mx-w100p, .mx-w100p-tab, .mx-w100p-sp
max height: 100%; → .mx-h100p, .mx-h100p-tab, .mx-h100p-sp


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

min width: 480px; → .mn-w480, .mn-w480-tab, .mn-w480-sp
min height: 480px; → .mn-h480, .mn-h480-tab, .mn-h480-sp


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

min width: 100%; → .mn-w100p, .mn-w100p-tab, .mn-w100p-sp
min height: 100%; → .mn-h100p, .mn-h100p-tab, .mn-h100p-sp

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


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

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

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

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

/*max width（px指定）
-------------------------------*/
.mx-w260 {
	max-width: 260px;
	width: 100%;
}
.mx-w360 {
	max-width: 360px;
	width: 100%;
}
.mx-w400 {
	max-width: 400px;
	width: 100%;
}
.mx-w480 {
	max-width: 480px;
	width: 100%;
}
.mx-w490 {
	max-width: 490px;
	width: 100%;
}
.mx-w500 {
	max-width: 500px;
	width: 100%;
}
.mx-w530 {
	max-width: 530px;
	width: 100%;
}
.mx-w560 {
	max-width: 560px;
	width: 100%;
}
.mx-w600 {
	max-width: 600px;
	width: 100%;
}
.mx-w640 {
	max-width: 640px;
	width: 100%;
}
.mx-w670 {
	max-width: 670px;
	width: 100%;
}
.mx-w755 {
	max-width: 755px;
	width: 100%;
}
.mx-w800 {
	max-width: 800px;
	width: 100%;
}
.mx-w840 {
	max-width: 840px;
	width: 100%;
}
.mx-w860 {
	max-width: 860px;
	width: 100%;
}
.mx-w860 {
	max-width: 860px;
	width: 100%;
}
.mx-w1000 {
	max-width: 1000px;
	width: 100%;
}

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

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

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

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

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

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

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

/* インライン方向の揃え
================================*/
.mi-c {
	margin-inline: auto;
}







/*================================
↓　各ブレイクポイント毎の 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 screen and (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 screen and (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 - (8rem/3));
	}
	.-cut3-tab.gap-c0 > .fl_item {
		width: calc(100%/3);
	}
	/* 1/4 */
	.-cut4-tab > .fl_item {
		width: calc(100%/4 - (12rem/4));
	}
	.-cut4-tab.gap-c0 > .fl_item {
		width: calc(100%/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指定）
	-------------------------------*/
	.w00-tab {
		width: 00px;
	}

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

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

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

	/*max width（px指定）
	-------------------------------*/
	.mx-w00-tab {
		max-width: 00px;
		width: 100%;
	}

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

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

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

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

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

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

	/*min height（％指定）
	-------------------------------*/
	.mn-h100p-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));
	}
	/* 1/2 */
	.-cut2-sp > .fl_item {
		width: calc(100%/2 - (20px/2));
	}


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

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

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

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

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

	/*max width（px指定）
	-------------------------------*/
	.mx-w00-sp {
		max-width: 00px;
		width: 100%;
	}
	.mx-w120-sp {
		max-width: 120px;
		width: 100%;
	}
	.mx-w140-sp {
		max-width: 140px;
		width: 100%;
	}
	.mx-w200-sp {
		max-width: 200px;
		width: 100%;
	}
	.mx-w240-sp {
		max-width: 240px;
		width: 100%;
	}

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

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

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

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

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

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

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


}

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

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

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







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

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

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


/*================================
コンテナ類、幅制御
===============================*/
.main {}
.section {
	position: relative;
	z-index: 1;
	padding-top: 8rem;
	padding-bottom: 10rem;
}
.section:not(:last-of-type)::after {
	position: absolute;
	z-index: -1;
	content: "";
	left: 0;
	bottom: 0;
	width: 100%;
	height: 8px;
	border-top: 1px solid var(--theme-color02);
	border-bottom: 1px solid var(--theme-color02);
}
.section .inner {
	margin: 0 auto;
	max-width: calc(1000px + 100px);
	padding-left: 50px;
	padding-right: 50px;
}
.section .inner.-wide {
	max-width: calc(1200px + 100px);
}
.content {
	margin: 0 auto;
	max-width: 1000px;
}
.content:not(:last-child) {
	padding-bottom: 8rem;
}

/*================================
メインビジュアル
===============================*/
.mainvisual {
	padding-top: 8rem;
}
.mainvisual .inner {
	max-width: 100%;
	padding: 16px 0;
	background: #fff;
	border-top: 1px solid var(--theme-color02);
	border-bottom: 1px solid var(--theme-color02);
}
.mv_content {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 32rem;
	background: url(../img/mv_content_bg.webp)center/cover no-repeat;
}
.page-title {}
.page-title_en {
	font-family: "Lato", sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 7rem;
	line-height: 1.2;
	text-align: center;
	letter-spacing: 0.05em;
	color: var(--theme-color01);
}
.page-title_jp {
	font-size: 2.6rem;
	font-weight: 400;/*500*/
	line-height: 1.4;
	text-align: center;
	letter-spacing: 0.05em;
	color: var(--theme-color04);
}

/* パンくずリスト
================================*/
.breadcrumb {}
.breadcrumb .inner {
	max-width: calc(1000px + 14rem);
	padding-top: 4rem;
}
.breadcrumb_lists {
	display: flow-root;
}
.breadcrumb_lists li {
	float: left;
	position: relative;
	z-index: 1;
	font-size: 1.6rem;
	line-height: 1.2;
	color: var(--theme-color01);
}
.breadcrumb_lists li a {
	color: var(--theme-color01);
}
.breadcrumb_lists li:not(:last-child) {
	margin-right: 20px;
}
.breadcrumb_lists li:not(:last-child)::after {
	position: absolute;
	content: ">";
	top: -1px;
	right: -18px;
	width: 12px;
	height: 13px;
	color: var(--theme-color01);
}

/* 見出し
================================*/
/*section_heading*/
/*-----------------------------*/
.section_heading {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin-bottom: 30px;
}
.section_heading_en {
	position: relative;
	z-index: 1;
	margin-bottom: 20px;
	padding-bottom: 0.24em;
	font-family: "Lato", sans-serif;
	font-weight: 300;
	font-style: normal;
	/*font-size: 6.4rem;*/
	font-size: 5rem;
	line-height: 1;
	text-align: left;
	letter-spacing: 0.05em;
	color: var(--theme-color01);
}
.section_heading_en::before {
	position: absolute;
	z-index: 1;
	content: "";
	left: 0;
	bottom: 0;
	height: 1px;
	width: 0.64em;
	background: var(--theme-color01);
}
.section_heading_jp {
	/*font-size: 2.6rem;*/
	font-size: 3rem;
	font-weight: 500;
	line-height: 1.4;
	text-align: left;
	letter-spacing: 0.05em;
	color: var(--theme-color04);
}

/*content_heading*/
/*-----------------------------*/
.content_heading01 {
	margin-bottom: 40px;
	padding: 8px 0;
	border-top: 1px solid var(--theme-color04);
	border-bottom: 1px solid var(--theme-color04);
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	letter-spacing: 0.05em;
	color: var(--theme-color04);
}
.content_heading02 {
	margin-bottom: 40px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--theme-color04);
	font-size: 3rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	letter-spacing: 0.05em;
	color: var(--theme-color04);
}
.content_heading03 {
	margin-bottom: 0px;
	padding: 0;
	background: #f6f5f3;
	/*font-size: 3rem;*/
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	letter-spacing: 0.05em;
	color: var(--theme-color01);
}
.content_heading04 {
	margin-bottom: 30px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--theme-color04);
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	letter-spacing: 0.05em;
	color: var(--theme-color04);
}
.content_heading05 {
	margin-bottom: 40px;
	padding: 10px 10px;
	background: #f6f5f3;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	letter-spacing: 0.05em;
	color: var(--theme-color01);
}
.content_heading05.-type02 {
	background: #b6d6af;
	color: #fff;
}
.content_heading06 {
	padding: 5px 10px;
	background: var(--theme-color04);
	border: 3px solid var(--theme-color04);
	box-shadow: 0 0 0 1px #fff inset;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	letter-spacing: 0.05em;
	color: #fff;
}
/*item_heading*/
/*-----------------------------*/
.item_heading01 {
	line-height: 1.6;
	letter-spacing: 0.05em;
}
.item_heading02 {
	margin-bottom: 20px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--theme-color01);
	font-size: 3rem;
	line-height: 1.6;
	text-align: left;
	letter-spacing: 0.05em;
	color: var(--theme-color01);
}
.item_heading03 {
	margin-bottom: 20px;
	padding: 2px 10px;
	background: #fff;
	border: 1px solid var(--theme-color01);
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	letter-spacing: 0.05em;
	color: var(--theme-color01);
}
.item_heading04 {
	margin-bottom: 20px;
	padding: 0 10px;
	background: var(--theme-color01);
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.6;
	text-align: center;
	letter-spacing: 0.05em;
	color: #fff;
}
.item_heading05 {
	margin-bottom: 20px;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: left;
	letter-spacing: 0.05em;
	color: #98785b;
}
.item_heading05 .text-area {
	display: inline-block;
	border-bottom: 1px solid #98785b;
}
.item_heading06 {
	margin-bottom: 40px;
	padding: 0 10px;
	background: #fff;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	letter-spacing: 0.05em;
	color: var(--theme-color04);
}

/* フレーム
================================*/
/*padding*/
.frame-pd10 {
	padding: 10px;
}
.frame-pd20 {
	padding: 20px;
}
.frame-pd30 {
	padding: 30px;
}
.frame-pd40 {
	padding: 40px;
}
.frame-pd50 {
	padding: 50px;
}
/*border*/
[class*="frame-"].-border01 {
	border: 1px solid #e2e2e2;
}
[class*="frame-"].-border02 {
	border: 1px solid var(--theme-color04);
}
[class*="frame-"].-border03 {
	border: 3px solid var(--theme-color01);
	box-shadow: 0 0 0 1px #fff inset;
}
[class*="frame-"].-border04 {
	border: 2px solid var(--theme-color01);
}
[class*="frame-"].-border05 {
	border: 1px solid var(--theme-color01);
}
[class*="frame-"].-border06 {
	border: 3px solid #efe8d3;
	box-shadow: 0 0 0 1px #fff inset;
}
/*rounded*/
[class*="frame-"].-rounded01 {
	border-radius: 4px;
}

/* 背景（コンテンツ幅）
================================*/
.bg-theme01 {
	background-color: var(--theme-color01);
}
.bg-fff {
	background-color: #fff;
}
.bg-eee {
	background-color: #eee;
}
.bg-c6ad97 {
	background-color: #c6ad97;
}
.bg-dbcbbc {
	background-color: #dbcbbc;
}
.bg-f6f5f3 {
	background-color: #f6f5f3;
}
.bg-f6f3f2 {
	background-color: #f6f3f2;
}
.bg-c3e0bc {
	background-color: #c3e0bc;
}
.bg-cdcfe8 {
	background-color: #cdcfe8;
}
.bg-efe8d3 {
	background-color: #efe8d3;
}

/* 文字サイズ
================================*/
.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;
}

/* 注釈
================================*/
.kome {
	padding-left: 1em;
	text-indent: -1em;
}

/* 料金表など
================================*/
/*table01*/
.table01 {
	width: 100%;
}
.table01_th {
	width: 50%;
	padding: 4px 20px;
	background: #efe8d3;
	border: 1px solid var(--theme-color04);
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	color: var(--theme-color04);
	vertical-align: middle;
}
.table01_td {
	padding: 4px 20px;
	background: #fff;
	border: 1px solid var(--theme-color04);
	font-size: 2rem;
	line-height: 1.6;
	text-align: center;
	color: var(--theme-color04);
	vertical-align: middle;
}
/*table02*/
.table02 {
	width: 100%;
}
.table02_th {
	width: 50%;
	padding: 0 20px;
	background: var(--theme-color01);
	border: 1px solid #fff;
	font-size: 2rem;
	line-height: 1.6;
	text-align: center;
	color: #fff;
	vertical-align: middle;
}
.table02_td {
	padding: 20px 20px;
	background: #a2bcbf;
	border: 1px solid #fff;
	text-align: left;
	color: #fff;
	vertical-align: middle;
}
.table02_pic {
	padding: 0;
	border: 1px solid #fff;
	background: #a2bcbf;
	vertical-align: middle;
}
/*table03*/
.table03 {
	width: 100%;
}
.table03_th,
.table03_td {
	width: 50%;
	padding: 4px 20px;
	background: var(--theme-color01);
	border: 1px solid #fff;
	line-height: 1.6;
	text-align: center;
	color: #fff;
	vertical-align: middle;
}

/* チェックリストなど
================================*/
/*check*/
.li-check {
	padding-left: 1.2em;
	background: url(../img/li-check_icon.png)left top/1.3em auto no-repeat;
	padding-left: 2.4em;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: left;
	letter-spacing: 0.05em;
	color: var(--theme-color01);
}
.li-check:not(:last-child) {
	margin-bottom: 10px;
}
.li-check02 {
	padding-left: 1.2em;
	background: url(../img/li-check_icon.png)left top/1.3em auto no-repeat;
	padding-left: 2.4em;
	font-weight: 500;
	line-height: 1.6;
	text-align: left;
	letter-spacing: 0.05em;
	color: #7e7e7e;
}
.li-check02:not(:last-child) {
	margin-bottom: 10px;
}
/*dot*/
.li-dot {
	position: relative;
	padding-left: 1.2em;
	text-align: left;
}
.li-dot::before {
	position: absolute;
	content: "";
	left: 0.5em;
	top: 0.9em;
	width: 0.3rem;
	height: 0.3rem;
	background: #7e7e7e;
	border-radius: 50%;
}
.li-dot.-color02 {
	color: var(--theme-color01);
	font-weight: 500;
}
.li-dot.-color02::before {
	background: var(--theme-color01);
}
.li-dot02 {
	position: relative;
	padding-left: 1.2em;
	font-size: 2rem;
	text-align: left;
}
.li-dot02::before {
	position: absolute;
	content: "";
	left: 0.5em;
	top: 0.9em;
	width: 0.3rem;
	height: 0.3rem;
	background: #7e7e7e;
	border-radius: 50%;
}
.li-dot02.-color02 {
	color: var(--theme-color01);
	font-weight: 500;
}
.li-dot02.-color02::before {
	background: var(--theme-color01);
}
.li-dot02.-color03 {
	color: #fff;
	font-weight: 500;
}
.li-dot02.-color03::before {
	background: #fff;
}

/*square*/
/*
.li-square {
	position: relative;
	padding-left: 1.4em;
	font-size: 2.2rem;
	font-weight: 500;
	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;
}
*/

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

/* リンク
================================*/
/*外部リンク*/
.link_line {
	text-decoration: underline!important;
}
.link_ex {
	padding-right: 1.4em;
	background-image: url(../img/link_ex_icon01.png);
	background-position: right 0.4em bottom 0.3em;
	background-size: auto 0.65em;
	background-repeat: no-repeat;
}

/* intro
================================*/
.intro_content {
	/*flex*/
	display: flex;
	justify-content: center;
	align-items: flex-start;
	/*others*/
	position: relative;
	z-index: 1;
}
.intro_content::after {
	position: absolute;
	z-index: -1;
	content: "";
	top: 4.6rem;
	left: 50%;
	transform: translateX(-50%);
	width: 102vw;
	height: 19.2rem;
	border-top: 1px solid var(--theme-color02);
	border-bottom: 1px solid var(--theme-color02);
}
.intro_bg {
	position: absolute;
	z-index: -1;
	content: "";
	left: -3rem;
	top: 3rem;
	width: calc(100% + 6rem);
	/*padding-top: 37.35%;*/
	/*padding-top: 41.66%;*/
	height: 100%;
	background: var(--theme-color01);
	border-radius: 4rem 0 4rem 0;
}
.intro_catchcopy {
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translateX(100%);
	writing-mode: vertical-rl;
	text-orientation: sideways;
	/*
	font-family: 'Cormorant', serif;
	*/
	font-family: "Lato", sans-serif;
	font-weight: 300;
	font-style: normal;
	letter-spacing: 0.05em;
	color: var(--theme-color03);
}
/*写真*/
/*------------------------------*/
.intro_photo_group {
	/*flex*/
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	flex-direction: column;
	/*others*/
	width: calc(100% - (48.3% - 15%));
	margin-right: -15%;
}
.intro_photo01 {}
.intro_photo01_frame {
	position: relative;
	z-index: 1;
	overflow: hidden;
	max-width: 800px;
	border-radius: 4rem 0 4rem 0;
	/*縦横比*/
	aspect-ratio: 8/5;
}
.intro_photo01_img {
	width: 100%;
}
.intro_photo01_frame::before {
	position: absolute;
	z-index: 1;
	content: "";
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 4rem 0 4rem 0;
	box-shadow: 0 0 0 0.8rem rgba(255,255,255,0.5) inset;
}
.intro_photo01_frame::after {
	position: absolute;
	z-index: 1;
	content: "";
	left: 0.8rem;
	top: 0.8rem;
	width: calc(100% - (0.8rem*2));
	height: calc(100% - (0.8rem*2));
	border-radius: 3.2rem 0 3.2rem 0;
	border: 1px solid #fff;
}
.intro_photo02 {
	z-index: 1;
	width: 32.5%;
	margin-right: 20%;
	margin-top: -15%;
}
/*名前*/
.intro_name_frame {
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
	min-width: 37.5%;
	min-height: 22rem;
	margin-right: 20%;
	margin-top: -15%;
	padding: 20px;
	background: var(--theme-color04);
	border-radius: 4rem 0 4rem 0;
}
.intro_name {}
.intro_name_job {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	text-align: left;
	color: #fff;
}
.intro_name_jp {
	font-size: 3.6rem;
	font-weight: 500;
	line-height: 1.4;
	text-align: left;
	color: #fff;
}
.intro_name_en {
	font-family: "Lato", sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 2.4rem;
	line-height: 1.4;
	text-align: left;
	color: #fff;
}
/*文章*/
/*------------------------------*/
.intro_frame {
	/*flex*/
	display: flex;
	justify-content: center;
	align-items: stretch;
	/*others*/
	z-index: 1;
	width: 48.3%; /*約580px*/
	margin-top: 6rem;
}
.intro_frame_bg {
	/*flex*/
	display: flex;
	justify-content: center;
	align-items: stretch;
	/*others*/
	width: 100%;
	padding: 6rem 6rem;
	background: rgba(255,255,255,0.9);
}
.intro_body {
	max-width: 40rem;
}
.intro_heading {
	margin-bottom: 30px;
}
.intro_heading_en {
	position: relative;
	z-index: 1;
	margin-bottom: 20px;
	padding-bottom: 0.24em;
	font-family: "Lato", sans-serif;
	font-weight: 300;
	font-style: normal;
	/*font-size: 4.8rem;*/
	font-size: 4rem;
	line-height: 1;
	text-align: left;
	letter-spacing: 0.05em;
	color: var(--theme-color01);
}
.intro_heading_en::before {
	position: absolute;
	z-index: 1;
	content: "";
	left: 0;
	bottom: 0;
	height: 1px;
	width: 0.64em;
	background: var(--theme-color01);
}
.intro_heading_jp {
	/*font-size: 2.2rem;*/
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: left;
	letter-spacing: 0.05em;
	/*color: var(--theme-color04);*/
	color: var(--theme-color05);
	/*word-break: keep-all;*/
	/* 2025/4/25時点 ブラウザでは問題ないのですが、タブレットとスマホで表示すると全く改行されません。 */
}

/*------------------------------*/
/*左右反転*/
/*------------------------------*/
.intro_content.-reverse {
	flex-direction: row-reverse;
}
.intro_content.-reverse .intro_photo_group {
	margin-right: 0;
	margin-left: -15%;
	align-items: flex-start;
}
.intro_content.-reverse .intro_photo02 {
	margin-left: 20%;
}
/*名前*/
.intro_content.-reverse .intro_name_frame {
	margin-left: 20%;
}
.intro_content.-reverse .intro_catchcopy {
	right: auto;
	left: 0;
	transform: translateX(-100%);
}

/* 番号付きタイトル
================================*/
.count_heading01 {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px 7rem;
	border: 1px solid var(--theme-color04);
	padding: 20px 5rem;
	min-height: 18rem;
}
.count_heading01_label {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 7rem;
	height: 10rem;
	background: #fff;
	color: var(--theme-color01);
}
.count_heading01_en {
	font-size: 2.2rem;
	line-height: 1.2;
}
.count_heading01_num {
	font-size: 6.2rem;
	line-height: 1;
}
.count_heading01_main {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	gap: 10px;
	width: calc(100% - (7rem + 7rem));
}
.count_heading01_title {
	width: 100%;
	font-size: 2.2rem;
	font-weight: 500;
	text-align: left;
	line-height: 1.4;
	color: #98785b;
}
.count_heading01_title .line {
	display: inline-block;
	border-bottom: 1px solid #98785b;
}
.count_heading01_text {
	width: 100%;
	text-align: left;
}

/*メリットデメリット
================================*/
.merit,
.demerit {
	position: relative;
	z-index: 1;
}
.merit::before,
.demerit::before {
	position: absolute;
	z-index: -1;
	content: "";
	top: calc(2rem*2 + 30px);
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 33rem;
	height: calc(100% - (2rem*2 + 30px*2));
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
.merit::before {
	background-image: url(../img/merit_bg.png);
}
.demerit::before {
	background-image: url(../img/demerit_bg.png);
}

/*折り畳み式スイッチ
================================*/
.folding {}
.folding_switch {
	transition: 0.4s;
	width: fit-content;
	min-width: 27rem;
	margin-inline: auto;
	padding: 0.2em 3.5rem;
	background: var(--theme-color04);
	border: 1px solid var(--theme-color04);
	border-radius: 4px;
	text-align: center;
	color: #fff;
	line-height: 1.6;
	cursor: pointer;
}
.folding_switch:hover {
	background: #fff;
	color: var(--theme-color04);
}
.folding_detail {
	overflow: hidden;
	transition-duration: 0.6s;
	transform-origin: top;
	transform: scaleY(0);
	height: 0;
	opacity: 0;
}
.folding_switch.open {}
.folding_detail.open {
	transform: scaleY(1);
	height: auto;
	opacity: 1;
	margin-top: 20px;
}



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


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

	/*================================
	コンテナ類、幅制御
	===============================*/
	.main {}
	.section {}
	.section .inner {}
	.content {}
	.content:not(:last-child) {}

	/*================================
	メインビジュアル
	===============================*/



}


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

	/* 横スクロール
	================================*/
	.tab-scroll {
		overflow-x: scroll;
		position: relative;
		z-index: 1;
	}
	.scroll_text {
		text-align: center;
	}
	.scroll_text .word {
		position: relative;
		z-index: 1;
		display: inline-block;
		padding-right: 20px;
		padding-bottom: 0.2em;
		font-size: 2rem;
		font-weight: 500;
		line-height: 1;
		color: var(--theme-color01);
	}
	.scroll_text .word::after {
		position: absolute;
		content: "";
		right: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		border-left: 8px solid var(--theme-color01);
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
	}


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

	/*================================
	メインビジュアル
	===============================*/
	.mainvisual {}
	.mainvisual .inner {}
	.mv_content {}
	.page-title {}
	.page-title_en {}
	.page-title_jp {}

	/* パンくずリスト
	================================*/
	.breadcrumb {}
	.breadcrumb .inner {}
	.breadcrumb_lists {}
	.breadcrumb_lists li {}
	.breadcrumb_lists li a {}
	.breadcrumb_lists li:not(:last-child) {}
	.breadcrumb_lists li:not(:last-child)::after {}

	/* 見出し
	================================*/
	/*section_heading*/
	/*-----------------------------*/
	.section_heading {}
	.section_heading_en {}
	.section_heading_en::before {}
	.section_heading_jp {}

	/*content_heading*/
	/*-----------------------------*/
	.content_heading01 {}
	.content_heading02 {}
	.content_heading03 {}
	.content_heading04 {}
	.content_heading05 {}
	.content_heading06 {}
	/*item_heading*/
	/*-----------------------------*/
	.item_heading01 {}
	.item_heading02 {}
	.item_heading03 {}
	.item_heading04 {}
	.item_heading05 {}
	.item_heading05 .text-area {}
	.item_heading06 {}

	/* フレーム
	================================*/
	/*padding*/
	.frame-pd20 {}
	.frame-pd30 {}
	.frame-pd40 {}
	.frame-pd50 {}

	/* 料金表など
	================================*/
	/*table01*/
	.table01 {}
	.table01_th {}
	.table01_td {}
	/*table02*/
	.table02 {}
	.table02_th {}
	.table02_td {}
	.table02_pic {}
	/*table03*/
	.table03 {}
	.table03_th,
	.table03_td {}

	/* チェックリストなど
	================================*/
	/*check*/
	.li-check {}
	.li-check:not(:last-child) {}
	/*dot*/
	.li-dot {}
	.li-dot::before {}
	.li-dot02 {}
	.li-dot02::before {}

	/* intro
	================================*/
	.intro_content {
		flex-direction: column;
	}
	.intro_content::after {}
	.intro_bg {
		padding-top: 0;
		height: 100%;
		left: -1rem;
		width: calc(100% + 2rem);
	}
	.intro_catchcopy {}
	/*写真*/
	/*------------------------------*/
	.intro_photo_group {
		/*flex*/
		align-items: center;
		flex-direction: row;
		width: 100%;
		/*others*/
		width: 96%;
		margin-left: auto;
		margin-right: auto;
	}
	.intro_photo01 {
		width: 84%;
	}
	.intro_photo01_frame {}
	.intro_photo01_img {}
	.intro_photo01_frame::before {}
	.intro_photo01_frame::after {}
	.intro_photo02 {
		width: 30%;
		margin-top: 0;
		margin-right: 0;
		margin-left: -14%;
	}
	/*名前*/
	.intro_name_frame {
		margin-top: 0;
		margin-right: 0;
		margin-left: calc(100% - (84% + 230px));
		min-width: 230px;
		min-height: 150px;
	}
	.intro_name {}
	.intro_name_job {}
	.intro_name_jp {}
	.intro_name_en {}
	/*文章*/
	/*------------------------------*/
	.intro_frame {
		width: 100%;
		max-width: 600px;
		margin-top: -30px;
		margin-right: auto;
		margin-left: auto;
	}
	.intro_frame_bg {}
	.intro_body {}
	.intro_heading {}
	.intro_heading_en {}
	.intro_heading_en::before {}
	.intro_heading_jp {}

	/*------------------------------*/
	/*左右反転*/
	/*------------------------------*/
	.intro_content.-reverse {
		flex-direction: column;
	}
	.intro_content.-reverse .intro_photo_group {
		/*flex*/
		align-items: center;
		flex-direction: row-reverse;
		width: 100%;
		/*others*/
		width: 96%;
		margin-left: auto;
		margin-right: auto;
	}
	.intro_content.-reverse .intro_photo02 {
		width: 30%;
		margin-top: 0;
		margin-left: 0;
		margin-right: -14%;
	}
	/*名前*/
	.intro_content.-reverse .intro_name_frame {
		margin-top: 0;
		margin-left: 0;
		margin-right: calc(100% - (84% + 230px));
	}
	.intro_content.-reverse .intro_catchcopy {}

	/* 番号付きタイトル
	================================*/
	.count_heading01 {}
	.count_heading01_label {}
	.count_heading01_en {}
	.count_heading01_num {}
	.count_heading01_main {}
	.count_heading01_title {}
	.count_heading01_title .line {}
	.count_heading01_text {}

	/*メリットデメリット
	================================*/
	.merit,
	.demerit {}
	.merit::before,
	.demerit::before {}

	/*折り畳み式スイッチ
	================================*/
	.folding {}
	.folding_switch {}
	.folding_detail {}
	.folding_switch.open {}
	.folding_detail.open {}






}



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

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


	/*================================
	コンテナ類、幅制御
	===============================*/
	.main {}
	.section {}
	.section .inner {
		padding-left: 20px;
		padding-right: 20px;
	}
	.content {}
	.content:not(:last-child) {}

	/*================================
	メインビジュアル
	===============================*/
	.mainvisual {
		padding-top: 9rem;
	}
	.mainvisual .inner {}
	.mv_content {
		background-image: url(../img/mv_content_bg_sp.webp);
	}
	.page-title {}
	.page-title_en {
		font-size: 6rem;
	}
	.page-title_jp {}

	/* パンくずリスト
	================================*/
	.breadcrumb {}
	.breadcrumb .inner {}
	.breadcrumb_lists {}
	.breadcrumb_lists li {}
	.breadcrumb_lists li a {}
	.breadcrumb_lists li:not(:last-child) {}
	.breadcrumb_lists li:not(:last-child)::after {}

	/* 見出し
	================================*/
	/*section_heading*/
	/*-----------------------------*/
	.section_heading {}
	.section_heading_en {
		/*font-size: 5rem;*/
		font-size: 4rem;
	}
	.section_heading_en::before {}
	.section_heading_jp {}

	/*content_heading*/
	/*-----------------------------*/
	.content_heading01 {}
	.content_heading02 {
		font-size: 2.6rem;
	}
	.content_heading03 {}
	.content_heading04 {}
	.content_heading05 {}
	.content_heading06 {}
	/*item_heading*/
	/*-----------------------------*/
	.item_heading01 {}
	.item_heading02 {
		font-size: 2.6rem;
	}
	.item_heading03 {}
	.item_heading04 {}
	.item_heading05 {
		font-size: 2rem;
	}
	.item_heading05 .text-area {}
	.item_heading06 {}

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

	/* 文字サイズ
	================================*/
	.fs24 {
		font-size: 2.3rem;
		vertical-align: baseline;
	}
	.fs26 {
		font-size: 2.4rem;
		vertical-align: baseline;
	}

	/* 料金表など
	================================*/
	/*table01*/
	.table01 {}
	.table01_th {
		display: block;
		width: 100%;
	}
	.table01_td {
		display: block;
		width: 100%;
		border-top: none;
	}
	.table01 tr:not(:last-child) .table01_td {
		border-bottom: none;
	}
	/*table02*/
	.table02 {}
	.table02_th {
		display: none;
	}
	.table02_td {
		display: block;
		width: 100%;
		padding: 16px;
		border-top: none;
	}
	.table02 tr:not(:last-child) .table02_td {
		border-bottom: none;
	}
	.table02_pic {
		display: block;
		width: 100%;
	}
	/*table03*/
	.table03 {}
	.table03_th,
	.table03_td {}

	/* チェックリストなど
	================================*/
	/*check*/
	.li-check {}
	.li-check:not(:last-child) {}
	/*dot*/
	.li-dot {}
	.li-dot::before {}
	.li-dot02 {}
	.li-dot02::before {}

	/* intro
	================================*/
	.intro_content {}
	.intro_content::after {
		height: 120px;
	}
	.intro_bg {
		left: -10px;
		width: calc(100% + 20px);
		border-radius: 20px 0 20px 0;
	}
	.intro_catchcopy {
		display: none;
	}
	/*写真*/
	/*------------------------------*/
	.intro_photo_group {
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
	}
	.intro_photo01 {
		width: 90%;
	}
	.intro_photo01_frame {
		border-radius: 20px 0 20px 0;
		/*aspect-ratio: 8/6;*/
	}
	.intro_photo01_frame::before {
		border-radius: 20px 0 20px 0;
		box-shadow: 0 0 0 4px rgba(255,255,255,0.5) inset;
	}
	.intro_photo01_frame::after {
		left: 4px;
		top: 4px;
		width: calc(100% - (4px*2));
		height: calc(100% - (4px*2));
		border-radius: 16px 0 16px 0;
	}
	.intro_photo02 {
		width: 32%;
		margin-left: auto;
		margin-top: -16vw;
	}
	/*名前*/
	.intro_name_frame {
		margin-left: auto;
		margin-top: -6vw;
		min-height: auto;
		padding: 16px;
	}
	.intro_name {}
	.intro_name_job {
		font-size: 2rem;
	}
	.intro_name_jp {
		font-size: 3rem;
	}
	.intro_name_en {
		font-size: 2rem;
	}
	/*文章*/
	/*------------------------------*/
	.intro_frame {
		margin-top: 20px;
	}
	.intro_frame_bg {
		padding: 20px 20px;
	}
	.intro_body {}
	.intro_heading {}
	.intro_heading_en {
		font-size: 4rem;
	}
	.intro_heading_jp {}

	/*------------------------------*/
	/*左右反転*/
	/*------------------------------*/
	.intro_content.-reverse {}
	.intro_content.-reverse .intro_photo_group {
		width: 100%;
		flex-direction: column;
		align-items: flex-end;
	}
	.intro_content.-reverse .intro_photo02 {
		width: 32%;
		margin-right: auto;
		margin-top: -16vw;
	}
	/*名前*/
	.intro_content.-reverse .intro_name_frame {
		margin-right: auto;
		margin-top: -6vw;
	}
	.intro_content.-reverse .intro_catchcopy {}

	/* 番号付きタイトル
	================================*/
	.count_heading01 {
		flex-direction: column;
		padding: 16px;
	}
	.count_heading01_label {
		height: auto;
	}
	.count_heading01_en {}
	.count_heading01_num {}
	.count_heading01_main {
		width: auto;
	}
	.count_heading01_title {}
	.count_heading01_title .line {}
	.count_heading01_text {}

	/*メリットデメリット
	================================*/
	.merit,
	.demerit {}
	.merit::before,
	.demerit::before {}

	/*折り畳み式スイッチ
	================================*/
	.folding {}
	.folding_switch {}
	.folding_detail {}
	.folding_switch.open {}
	.folding_detail.open {}





}



























