@charset "UTF-8";
/* CSS Document */


/* メインコンテンツ */
@media (min-width: 992px) {
	.too_row {
		display: flex;
		align-items: stretch;
		justify-content: space-between;
		column-gap: 64px;
	}
	.main_sub_wrap {
		min-width: 280px;
	}
}


/* メインイメージ */
.mainimage_wrap {
}
.mainimage_wrap p.mainimage {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}




/* タイトル */


.h1_basic {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
	padding-bottom: 8px;
	display: flex;
	column-gap: 8px;
	border-bottom: solid 2px rgba(255,255,255,0.76);
	position: relative;
}
.h1_basic::before {
	content: '';
	display: inline-block;
	width: 6px;
	border-radius:2px;
	background-color: #cfc4c0;
}
.h1_basic::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-color: #cfc4c0;
	position: absolute;
	bottom: -3px;
	left: 0;
	right: 0;
}
@media (min-width: 576px) {
	.h1_basic {
		font-size: 28px;
		column-gap: 16px;
	}
	.h1_basic::before {
		width: 8px;
		border-radius:4px;
	}
	
}


.h3_basic {
	display: flex;
	align-items: center;
	justify-content: space-between;
	column-gap: 48px;
	text-box-trim: trim-both;
}


/* タイトル fill_white 未使用*/
/*.h2_fill_white {
	text-box-trim: trim-both;
	position: relative;
	font-size: 24px;
	font-weight: 600;
	background-color: var(--fill_white);
	padding: 8px 10px;
	border-radius: 6px;
}
.h3_fill_white {
	font-size: 20px;
	padding: 8px 10px;
	border-radius: 6px;
	background-color: var(--fill_white);
	text-box-trim: trim-both;
}
.h4_fill_white {
	font-size: 18px;
	padding: 6px;
	border-radius: 6px;
	background-color: var(--fill_white);
	text-box-trim: trim-both;
}
.h5_fill_white {
	font-size: 15px;
	padding: 3px;
	border-radius: 4px;
	background-color: white;
	text-box-trim: trim-both;
}
*/


h1.h_6,
h2.h_6,
h2.h_6,
h3.h_6,
h4.h_6,
h5.h_6,
h6.h_6,
h1.h_6 span,
h5.h_6 span,
h6.h_6 span{
	font-size: 44px;
}
h1.h_5,
h5.h_5,
h5.h_5,
h6.h_5,
h1.h_5 span,
h5.h_5 span,
h6.h_5 span {
	font-size: 38px;
}
h1.h_4,
h5.h_4,
h6.h_4,
h1.h_4 span,
h5.h_4 span,
h6.h_4 span {
	font-size: 30px;
}
h1.h_3,
h5.h_3,
h6.h_3,
h1.h_3 span,
h5.h_3 span,
h6.h_3 span {
	font-size: 24px;
}
h1.h_2,
h5.h_2,
h6.h_2,
h1.h_2 span,
h5.h_2 span,
h6.h_2 span {
	font-size: 18px;
}
h1.h_1,
h5.h_1,
h6.h_1,
h1.h_1 span,
h5.h_1 span,
h6.h_1 span {
	font-size: 15px;
}
h3 {
	font-size: 22px;
	line-height: 1.4;
	font-weight: 500;
	position: relative;
}

h4 {
	font-size: 20px;
	line-height: 1.4;
	font-weight: 500;
	text-box-trim: trim-both;
	position: relative;
}
h5 {
	font-size: 16px;
	line-height: 1.4;
	font-weight: 500;
	text-box-trim: trim-both;
	position: relative;
}





/*  タイトル：underLine　*/

h2.underLine,
h3.underLine,
h4.underLine,
h5.underLine,
h6.underLine {
	font-weight: 300;
	border-bottom: solid 1px #BBB;
	text-box-trim: trim-both;
}


/*  見出し：h2 underLine */

:root {
	--h2-font-size-base-underLine: 34 ;
	--h2-font-size-underLine:     calc(var(--h2-font-size-base-underLine) * 1px);
	--h2-font-size-h_6-underLine: calc(var(--h2-font-size-base-underLine) * 1.4px) ;
	--h2-font-size-h_5-underLine: calc(var(--h2-font-size-base-underLine) * 1.3px) ;
	--h2-font-size-h_4-underLine: calc(var(--h2-font-size-base-underLine) * 1.2px) ;
	--h2-font-size-h_3-underLine: calc(var(--h2-font-size-base-underLine) * 1.1px) ;
	--h2-font-size-h_2-underLine: calc(var(--h2-font-size-base-underLine) * 0.85px) ;
	--h2-font-size-h_1-underLine: calc(var(--h2-font-size-base-underLine) * 0.7px) ;
	--h2-padding-bottom-size-underLine: 6px ;

	--h2-font-size-base-underLine-sm: 26 ;
	--h2-font-size-underLine-sm:     calc(var(--h2-font-size-base-underLine-sm) * 1px);
	--h2-font-size-h_6-underLine-sm: calc(var(--h2-font-size-base-underLine-sm) * 1.4px) ;
	--h2-font-size-h_5-underLine-sm: calc(var(--h2-font-size-base-underLine-sm) * 1.3px) ;
	--h2-font-size-h_4-underLine-sm: calc(var(--h2-font-size-base-underLine-sm) * 1.2px) ;
	--h2-font-size-h_3-underLine-sm: calc(var(--h2-font-size-base-underLine-sm) * 1.1px) ;
	--h2-font-size-h_2-underLine-sm: calc(var(--h2-font-size-base-underLine-sm) * 0.85px) ;
	--h2-font-size-h_1-underLine-sm: calc(var(--h2-font-size-base-underLine-sm) * 0.7px) ;
}

h2.underLine, h2.underLine span {
	font-size:      var(--h2-font-size-underLine-sm);
	padding-bottom: var(--h2-padding-bottom-size-underLine);
	font-weight: 300;
}
h2.underLine.h_6, h2.underLine.h_6 span  {
	font-size:      var(--h2-font-size-h_6-underLine-sm);
	padding-bottom: var(--h2-padding-bottom-size);
}
h2.underLine.h_5, h2.underLine.h_5 span {
	font-size:      var(--h2-font-size-h_5-underLine-sm);
	padding-bottom: var(--h2-padding-bottom-size);
}
h2.underLine.h_4, h2.underLine.h_4 span  {
	font-size:      var(--h2-font-size-h_4-underLine-sm);
	padding-bottom: var(--h2-padding-bottom-size);
}
h2.underLine.h_3, h2.underLine.h_3 span  {
	font-size:       var(--h2-font-size-h_3-underLine-sm);
	padding-bottom: var(--h2-padding-bottom-size);
}
h2.underLine.h_2, h2.underLine.h_2 span  {
	font-size:      var(--h2-font-size-h_2-underLine-sm);
	padding-bottom: calc(var(--h2-padding-bottom-size) * 0.9);
}
h2.underLine.h_1,  h2.underLine.h_1 span {
	font-size:       var(--h2-font-size-h_1-underLine-sm);
	padding-bottom: calc(var(--h2-padding-bottom-size) * 0.8);
}



@media (min-width: 576px) {
	h2.underLine, h2.underLine span {
		font-size:      var(--h2-font-size-underLine);
		padding-bottom: var(--h2-padding-bottom-size-underLine);
		font-weight: 300;
	}
	h2.underLine.h_6, h2.underLine.h_6 span  {
		font-size:      var(--h2-font-size-h_6-underLine);
		padding-bottom: var(--h2-padding-bottom-size);
	}
	h2.underLine.h_5, h2.underLine.h_5 span {
		font-size:      var(--h2-font-size-h_5-underLine);
		padding-bottom: var(--h2-padding-bottom-size);
	}
	h2.underLine.h_4, h2.underLine.h_4 span  {
		font-size:      var(--h2-font-size-h_4-underLine);
		padding-bottom: var(--h2-padding-bottom-size);
	}
	h2.underLine.h_3, h2.underLine.h_3 span  {
		font-size:       var(--h2-font-size-h_3-underLine);
		padding-bottom: var(--h2-padding-bottom-size);
	}
	h2.underLine.h_2, h2.underLine.h_2 span  {
		font-size:      var(--h2-font-size-h_2-underLine);
		padding-bottom: calc(var(--h2-padding-bottom-size) * 0.9);
	}
	h2.underLine.h_1,  h2.underLine.h_1 span {
		font-size:       var(--h2-font-size-h_1-underLine);
		padding-bottom: calc(var(--h2-padding-bottom-size) * 0.8);
	}
}



/*  見出し：h3 */

:root {
	--h3-font-size-base-underLine: 22 ;
	--h3-font-size-underLine:     calc(var(--h3-font-size-base-underLine) * 1px);
	--h3-font-size-h_6-underLine: calc(var(--h3-font-size-base-underLine) * 1.4px) ;
	--h3-font-size-h_5-underLine: calc(var(--h3-font-size-base-underLine) * 1.3px) ;
	--h3-font-size-h_4-underLine: calc(var(--h3-font-size-base-underLine) * 1.2px) ;
	--h3-font-size-h_3-underLine: calc(var(--h3-font-size-base-underLine) * 1.1px) ;
	--h3-font-size-h_2-underLine: calc(var(--h3-font-size-base-underLine) * 0.85px) ;
	--h3-font-size-h_1-underLine: calc(var(--h3-font-size-base-underLine) * 0.7px) ;
	--h3-padding-bottom-size: 6px ;
}

h3.underLine, h3.underLine span {
	font-size:      var(--h3-font-size-underLine);
	padding-bottom: var(--h3-padding-bottom-size);
	font-weight:    400;
}
h3.underLine.h_6, h3.underLine.h_6 span  {
	font-size:       var(--h3-font-size-h_6-underLine);
}
h3.underLine.h_5, h3.underLine.h_5 span  {
	font-size:       var(--h3-font-size-h_5-underLine);
}
h3.underLine.h_4, h3.underLine.h_4 span  {
	font-size:       var(--h3-font-size-h_4-underLine);
}
h3.underLine.h_3, h3.underLine.h_3 span  {
	font-size:       var(--h3-font-size-h_3-underLine);
}
h3.underLine.h_2, h3.underLine.h_2 span  {
	font-size:       var(--h3-font-size-h_2-underLine);
}
h3.underLine.h_1, h3.underLine.h_1 span  {
	font-size:       var(--h3-font-size-h_1-underLine);
}


/*  見出し：h4 */

:root {
	--h4-font-size-base-underLine: 18 ;
	--h4-font-size-underLine:     calc(var(--h4-font-size-base-underLine) * 1px);
	--h4-font-size-h_6-underLine: calc(var(--h4-font-size-base-underLine) * 1.4px) ;
	--h4-font-size-h_5-underLine: calc(var(--h4-font-size-base-underLine) * 1.3px) ;
	--h4-font-size-h_4-underLine: calc(var(--h4-font-size-base-underLine) * 1.2px) ;
	--h4-font-size-h_3-underLine: calc(var(--h4-font-size-base-underLine) * 1.1px) ;
	--h4-font-size-h_2-underLine: calc(var(--h4-font-size-base-underLine) * 0.85px) ;
	--h4-font-size-h_1-underLine: calc(var(--h4-font-size-base-underLine) * 0.7px) ;
	--h4-padding-bottom-size-underLine: 6px ;
}
h4.underLine {
	font-size:       var(--h4-font-size-underLine);
	padding-bottom:  var(--h4-padding-bottom-size-underLine);
	font-weight:     500;
}

h4.underLine.h_6  {
	font-size:       var(--h4-font-size-h_6-underLine);
}
h4.underLine.h_5  {
	font-size:       var(--h4-font-size-h_5-underLine);
}
h4.underLine.h_4  {
	font-size:       var(--h4-font-size-h_4-underLine);
}
h4.underLine.h_3  {
	font-size:       var(--h4-font-size-h_3-underLine);
}
h4.underLine.h_2  {
	font-size:       var(--h4-font-size-h_2-underLine);
}
h4.underLine.h_1  {
	font-size:       var(--h4-font-size-h_1-underLine);
}



/*  見出し：h5 */

:root {
	--h5-font-size-base-underLine: 17 ;
	--h5-font-size-underLine:     calc(var(--h5-font-size-base-underLine) * 1px);
	--h5-font-size-h_6-underLine: calc(var(--h5-font-size-base-underLine) * 1.4px) ;
	--h5-font-size-h_5-underLine: calc(var(--h5-font-size-base-underLine) * 1.3px) ;
	--h5-font-size-h_4-underLine: calc(var(--h5-font-size-base-underLine) * 1.2px) ;
	--h5-font-size-h_3-underLine: calc(var(--h5-font-size-base-underLine) * 1.1px) ;
	--h5-font-size-h_2-underLine: calc(var(--h5-font-size-base-underLine) * 0.85px) ;
	--h5-font-size-h_1-underLine: calc(var(--h5-font-size-base-underLine) * 0.7px) ;
	--h5-padding-bottom-size-underLine: 6px ;
}
h5.underLine, h5.underLine span {
	font-size:       var(--h5-font-size-underLine);
	padding-bottom:  var(--h5-padding-bottom-size-underLine: 6px);
	font-weight:     500;
}

h5.underLine.h_6, h5.underLine.h_6 span {
	font-size:       var(--h5-font-size-h_6-underLine);
}
h5.underLine.h_5, h5.underLine.h_5 span  {
	font-size:       var(--h5-font-size-h_5-underLine);
}
h5.underLine.h_4, h5.underLine.h_4 span  {
	font-size:       var(--h5-font-size-h_4-underLine);
}
h5.underLine.h_3, h5.underLine.h_3 span  {
	font-size:       var(--h5-font-size-h_3-underLine);
}
h5.underLine.h_2, h5.underLine.h_2 span  {
	font-size:       var(--h5-font-size-h_2-underLine);
}
h5.underLine.h_1, h5.underLine.h_1 span  {
	font-size:       var(--h5-font-size-h_1-underLine);
}



/*  見出し：h6 */
:root {
	--h6-font-size-base-underLine: 16 ;
	--h6-font-size-underLine:     calc(var(--h6-font-size-base-underLine) * 1px);
	--h6-font-size-h_6-underLine: calc(var(--h6-font-size-base-underLine) * 1.4px) ;
	--h6-font-size-h_5-underLine: calc(var(--h6-font-size-base-underLine) * 1.3px) ;
	--h6-font-size-h_4-underLine: calc(var(--h6-font-size-base-underLine) * 1.2px) ;
	--h6-font-size-h_3-underLine: calc(var(--h6-font-size-base-underLine) * 1.1px) ;
	--h6-font-size-h_2-underLine: calc(var(--h6-font-size-base-underLine) * 0.85px) ;
	--h6-font-size-h_1-underLine: calc(var(--h6-font-size-base-underLine) * 0.7px) ;
	--h6-padding-bottom-size-underLine: 3px ;
}

h6.underLine, h6.underLine span {
	font-size:      var(--h6-font-siz-underLinee);
	padding-bottom: var(--h6-padding-bottom-size-underLine);
	font-weight:    500;
}
h6.underLine.h_6, h6.underLine.h_6 span  {
	font-size:      var(--h6-font-size-h_6-underLine);
}
h6.underLine.h_5, h6.underLine.h_5 span  {
	font-size:      var(--h6-font-size-h_5-underLine);
}
h6.underLine.h_4, h6.underLine.h_4 span  {
	font-size:      var(--h6-font-size-h_4-underLine);
}
h6.underLine.h_3, h6.underLine.h_3 span  {
	font-size:      var(--h6-font-size-h_3-underLine);
}
h6.underLine.h_2, h6.underLine.h_2 span  {
	font-size:      var(--h6-font-size-h_2-underLine);
}
h6.underLine.h_1, h6.underLine.h_1 span  {
	font-size:      var(--h6-font-size-h_1-underLine);
}








/*  タイトル：h2_centerline　*/

.h2_centerline {
	text-box-trim: trim-both;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 16px;
	font-size: 26px;
	font-weight: 500;

}
.h2_centerline::before,
.h2_centerline::after {
	content: "";
	height: 3px;
	flex-grow: 1;
	background-color: #e0dcdc;
}

@media (min-width: 768px){
	.h2_centerline {
		column-gap: 48px;
		font-size: 32px;
	}
}




/*  タイトル：title　*/
/*  タイトル：titleデフォルト　*/

h2.title {
	padding: 4px;
	border-radius: 4px;
	font-size: 20px;
}
@media (min-width: 576px){
	h2.title {
		padding: 10px;
		border-radius: 4px;
		font-size: 24px;
	}
}






/* 見出し タイトル */




:root {
	--h3-font-size-base-title: 20 ;
	--h3-font-size-title:     calc(var(--h3-font-size-base-title) * 1px);
	--h3-font-size-h_6-title: calc(var(--h3-font-size-base-title) * 1.5px) ;
	--h3-font-size-h_5-title: calc(var(--h3-font-size-base-title) * 1.35px) ;
	--h3-font-size-h_4-title: calc(var(--h3-font-size-base-title) * 1.2px) ;
	--h3-font-size-h_3-title: calc(var(--h3-font-size-base-title) * 1.1px) ;
	--h3-font-size-h_2-title: calc(var(--h3-font-size-base-title) * 0.85px) ;
	--h3-font-size-h_1-title: calc(var(--h3-font-size-base-title) * 0.7px) ;
}
h3.title {
	font-size:     var(--h3-font-size-title);
	padding:      10px;
	border-radius: 4px;
	background-color:#fff;
	margin-bottom: 16px;
}
h3.title span {
	font-size:     var(--h3-font-size-title);
}
h3.title.h_6, h3.title.h_6 span {
	font-size:     var(--h3-font-size-h_6-title);
	padding:　　　　10px;
	border-radius: 4px;
}
h3.title.h_5, h3.title.h_5 span {
	font-size:     var(--h3-font-size-h_5-title);
	padding:　　　　10px;
	border-radius: 4px;
}
h3.title.h_4, h3.title.h_4 span {
	font-size:     var(--h3-font-size-h_4-title);
	padding:　　　　10px;
	border-radius: 4px;
}
h3.title.h_3, h3.title.h_3 span {
	font-size:     var(--h3-font-size-h_3-title);
	padding:　　　　10px;
	border-radius: 4px;
}
h3.title.h_2, h3.title.h_2 span {
	font-size:     var(--h3-font-size-h_2-title);
	padding:      6px;
	border-radius: 4px;
}
h3.title.h_1, h3.title.h_1 span {
	font-size:     var(--h3-font-size-h_1-title);
	padding:       5px;
	border-radius: 3px;
}



:root {
	--h4-font-size-base-title: 20 ;
	--h4-font-size-title:     calc(var(--h4-font-size-base-title) * 1px);
	--h4-font-size-h_6-title: calc(var(--h4-font-size-base-title) * 1.5px) ;
	--h4-font-size-h_5-title: calc(var(--h4-font-size-base-title) * 1.35px) ;
	--h4-font-size-h_4-title: calc(var(--h4-font-size-base-title) * 1.2px) ;
	--h4-font-size-h_3-title: calc(var(--h4-font-size-base-title) * 1.1px) ;
	--h4-font-size-h_2-title: calc(var(--h4-font-size-base-title) * 0.85px) ;
	--h4-font-size-h_1-title: calc(var(--h4-font-size-base-title) * 0.7px) ;
}
h4.title, h4.title span {
	font-size:     var(--h4-font-size-title);
	padding:      10px;
	border-radius: 4px;
	background-color:#fff;
	margin-bottom: 16px;
}
h4.title.h_6, h4.title.h_6 span {
	font-size:     var(--h4-font-size-h_6-title);
	padding:　　　　10px;
	border-radius: 4px;
}
h4.title.h_5, h4.title.h_5 span {
	font-size:     var(--h4-font-size-h_5-title);
	padding:　　　　10px;
	border-radius: 4px;
}
h4.title.h_4, h4.title.h_4 span {
	font-size:     var(--h4-font-size-h_4-title);
	padding:　　　　10px;
	border-radius: 4px;
}
h4.title.h_3, h4.title.h_3 span {
	font-size:     var(--h4-font-size-h_3-title);
	padding:　　　　10px;
	border-radius: 4px;
}
h4.title.h_2, h4.title.h_2 span {
	font-size:     var(--h4-font-size-h_2-title);
	padding:      6px;
	border-radius: 4px;
}
h4.title.h_1, h4.title.h_1 span {
	font-size:     var(--h4-font-size-h_1-title);
	padding:       5px;
	border-radius: 3px;
}





h4.title {
	padding: 10px;
	border-radius: 4px;
	font-size: 18px;
}
h5.title {
	padding: 8px;
	border-radius: 4px;
	font-size: 15px;
}
h6.title {
	padding: 6px;
	border-radius: 4px;
	font-size: 15px;
}





/*  タイトル：ライン左　*/

h2.leftLine,
h3.leftLine,
h4.leftLine,
h5.leftLine,
h6.leftLine {
	padding-left: 8px;
	font-weight: 600;
    border-left: solid 6px #009CC4;
}
h3.leftLine.h_6 {
	padding-left: 16px;
}
h3.leftLine.h_5,
h3.leftLine.h_4 {
	padding-left: 12px;
}
h3.leftLine.h_3,
h3.leftLine.h_2 {
	padding-left: 8px;
	font-weight: 400;
    border-left: solid 4px #009CC4;
}
h3.leftLine.h_1 {
	padding-left: 6px;
	font-weight: 400;
    border-left: solid 4px #009CC4;
}







/*  タイトル：キャッチ　*/


.headding_wrap h2.catch1,
.headding_wrap h3.catch1,
.headding_wrap h4.catch1,
.headding_wrap h5.catch1,
.headding_wrap h6.catch1 {
	text-box-trim: trim-both;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 16px;
	margin-bottom: 0;
	font-weight: 100;
}
.headding_wrap h2.catch1::before, .headding_wrap h2.catch1::after,
.headding_wrap h3.catch1::before, .headding_wrap h3.catch1::after,
.headding_wrap h4.catch1::before, .headding_wrap h4.catch1::after,
.headding_wrap h5.catch1::before, .headding_wrap h5.catch1::after,
.headding_wrap h6.catch1::before, .headding_wrap h6.catch1::after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #AAA;
}
.headding_wrap h2.h_1.catch1::before, .headding_wrap h2.h_1.catch1::after,
.headding_wrap h3.h_1.catch1::before, .headding_wrap h3.h_1.catch1::after,
.headding_wrap h4.h_1.catch1::before, .headding_wrap h4.h_1.catch1::after,
.headding_wrap h5.h_1.catch1::before, .headding_wrap h5.h_1.catch1::after,
.headding_wrap h6.h_1.catch1::before, .headding_wrap h6.h_1.catch1::after {
    background-color: #CCC;
}







/* タイトル */

h1.h_align_left,
h2.h_align_left,
h3.h_align_left,
h4.h_align_left,
h5.h_align_left,
h6.h_align_left{
	text-align: left;
}
h1.h_align_center,
h2.h_align_center,
h3.h_align_center,
h4.h_align_center,
h5.h_align_center,
h6.h_align_center{
	text-align: center;
}
h1.h_align_right,
h2.h_align_right,
h3.h_align_right,
h4.h_align_right,
h5.h_align_right,
h6.h_align_right{
	text-align: right;
}




h1.mb-0 {
	margin-bottom: 0;
}
h1.mb-1 {
	margin-bottom: 15px;
}
h1.mb-2 {
	margin-bottom: 30px;
}
h1.mb-3 {
	margin-bottom: 45px;
}
h1.mb-4 {
	margin-bottom: 60px;
}
h1.mb-5 {
	margin-bottom: 75px;
}
h1.mb-6 {
	margin-bottom: 90px;
}

h2.mb-0 {
	margin-bottom: 0;
}
h2.mb-1 {
	margin-bottom: 15px;
}
h2.mb-2 {
	margin-bottom: 30px;
}
h2.mb-3 {
	margin-bottom: 45px;
}
h2.mb-4 {
	margin-bottom: 60px;
}
h2.mb-5 {
	margin-bottom: 75px;
}
h2.mb-6 {
	margin-bottom: 90px;
}


h3.mb-0 {
	margin-bottom: 0;
}
h3.mb-1 {
	margin-bottom: 15px;
}
h3.mb-2 {
	margin-bottom: 30px;
}
h3.mb-3 {
	margin-bottom: 45px;
}
h3.mb-4 {
	margin-bottom: 60px;
}
h3.mb-5 {
	margin-bottom: 75px;
}
h3.mb-6 {
	margin-bottom: 90px;
}


h4.mb-0 {
	margin-bottom: 0;
}
h4.mb-1 {
	margin-bottom: 15px;
}
h4.mb-2 {
	margin-bottom: 30px;
}
h4.mb-3 {
	margin-bottom: 45px;
}
h4.mb-4 {
	margin-bottom: 60px;
}
h4.mb-5 {
	margin-bottom: 75px;
}
h4.mb-6 {
	margin-bottom: 90px;
}


h5.mb-0 {
	margin-bottom: 0;
}
h5.mb-1 {
	margin-bottom: 15px;
}
h5.mb-2 {
	margin-bottom: 30px;
}
h5.mb-3 {
	margin-bottom: 45px;
}
h5.mb-4 {
	margin-bottom: 60px;
}
h5.mb-5 {
	margin-bottom: 75px;
}
h5.mb-6 {
	margin-bottom: 90px;
}


h6.mb-0 {
	margin-bottom: 0;
}
h6.mb-1 {
	margin-bottom: 15px;
}
h6.mb-2 {
	margin-bottom: 30px;
}
h6.mb-3 {
	margin-bottom: 45px;
}
h6.mb-4 {
	margin-bottom: 60px;
}
h6.mb-5 {
	margin-bottom: 75px;
}
h6.mb-6 {
	margin-bottom: 90px;
}








/* テーブル */

.table_02 {
	width: 100%;
} 
.table_02 tr,
.table_02 td,
.table_02 th {
	padding: 12px 0;
	text-align: left;
	font-size: 15px;
	line-height: 1.5;
	color: #444;
}
.table_02 th {
	font-weight: 500;
}
.table_02 td,
.table_02 th {
	border-top: solid 1px #DBDBDB;
}
.table_02_th th {
	border-top: solid 3px #CBDAE3;
	font-size: 14px;
}
.table_02_padding th,
.table_02_padding td{
	padding-bottom: 36px;
}
.table_02_valign_top th,
.table_02_valign_top td{
	vertical-align: top;
}



.disc {
	list-style: none;
	margin: 0;
	padding: 0;
} 
.disc li {
	margin: 4px 0;
	padding-left:20px;
	text-indent:-10px;
}
.disc li::before {
	content: '●';
	color: #DDD;
	display: inline-block;
	margin-right: 8px;
}



p.text-xs {
	font-size: 86%;
	line-height: 1.7;
	color: #808080;
}
p.text-s {
	font-size: 90%;
	line-height: 1.7;
}
p.text-l {
	font-size: 110%;
	line-height: 1.5;
}





/*　右サブメニュー　*/

.main_sub_menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.page_layout_single.main_sub_menu ul {
	display: flex;
	align-items: stretch;
	gap: 4px 6px;
	flex-wrap: wrap;
	justify-content: center;
}



.main_sub_menu ul a.main_sub_menu_link {
	text-decoration: none;
	color: #222;
	padding: 10px 8px 10px 10px;
	border-radius: 4px;
	background-color: rgba(231,231,231,0.5);
	line-height: 1.1;
	display: flex;
	font-size: 14px;
	width: 100%;
	justify-content: space-between;
	align-items: center;
	column-gap: 12px;
	transition: 0.5s;
	border: solid 1px rgba(118,175,203,0);
	opacity: 1;
}
.main_sub_menu ul a.main_sub_menu_link::after {
	font-family: 'Material Symbols Outlined';
	content: "\eaaa";
	font-size: 150%;
	font-weight: 300;	
}

.one_column .main_sub_menu ul a.main_sub_menu_link {
	background-color: rgba(255,255,255,0.9);
	box-shadow: 0 1px 2px 0 rgba(189,189,189,0.66),  0 1px 3px 2px rgba(189,189,189,0.16);
}


.main_sub_menu ul a.main_sub_menu_link .material-symbols-outlined  {
	font-size: 19px;
	color: #555;
}
.main_sub_menu ul a.main_sub_menu_link:hover .material-symbols-outlined  {
	color: #2F9BCC;
}
.main_sub_menu ul a.main_sub_menu_link:hover {
	background-color: rgba(214,228,237,0.86);
	border: solid 1px rgba(189,223,239,0.84);
}


.main_sub_menu.page_link .current_link,
.company.new_release .main_sub_menu.page_link .news a.main_sub_menu_link,
.company.map      .main_sub_menu.page_link .map a.main_sub_menu_link,
.company.officer     .main_sub_menu.page_link .officer a.main_sub_menu_link {
	border: solid 1px rgba(78,164,215,0.30);
	background-color: rgba(78,164,215,0.1);
}




.main_sub_menu ul li {
	margin: 5px 0;
}
.page_layout_single.main_sub_menu ul li {
	margin: 0;
}

.main_sub_menu dt {
	margin-bottom: 18px;
	line-height: 1.2;
	font-size: 14px;
	padding-top: 16px;
	border-top: dashed 1px #CCC;
}
.page_layout_single.main_sub_menu dt {
	display: none;
}

.main_sub_menu dt a {
	color: #000;
	text-decoration: none;font-weight: 500;
}
.main_sub_menu_sub_title {
	font-size: 13px;
	line-height: 1.2;
	color: #666;
	margin-bottom: 8px;
	font-weight: 300;
}


/* カテゴリーCTAユニット */
.categoly_cta_img_wrap {
	width: fit-content;
}




/*画像*/
.column-image-left {
	text-align: left;
}
.column-image-center {
	text-align: center;
}
.column-image-right {
	text-align: right;
}


/* ビデオ再生 */
.caption_play_video {
	font-size: 14px; line-height: 1.1;
}
.caption_play_video_label {
	display: inline-block;
	padding: 5px 7px;
	background: rgba(221,221,221,1.00);
	margin-right: 5px;
	border-radius: 5px;
	font-size: 80%;
}




.caption {
	margin-top: 16px;
    font-size: 14px;
    line-height: 145%;
	color: #777;
}