@charset "utf-8";
@import url('https://use.fontawesome.com/releases/v5.6.1/css/all.css');
body {
	position: relative;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-weight: normal;
	line-height: 1.5;
	overflow-x: hidden;
}

/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans');
@import url("//fonts.googleapis.com/earlyaccess/notosansjapanese.css");
@import url('https://fonts.googleapis.com/css?family=Life+Savers:400,700');
/*===========================
	headline
===========================*/
/*hwrap_1 
----------------------------*/
h1.hwrap_1 {
	background: none;
	padding-bottom: inherit;
	margin-right: inherit;
	margin-left: inherit;
	color: inherit;
}
.hwrap_1 {
	text-align: center;
	margin-bottom: 4rem;
}
.hwrap_1 span {
	display: block;
	font-size: 5rem;
	color: #00320C;
	line-height: normal;
	margin-bottom: 2rem;
}
.hwrap_1 span i {
	display: block;
	font-size: 1.8rem;
	color: #685733;
	font-style: normal;
}
.hwrap_1::after {
	content: '';
	display: block;
	position: relative;
	width: 8rem;
	height: 1px;
	background-color: #00320C;
	margin: 20px auto 0;
}
@media screen and (max-width:767px) {
	.hwrap_1 {
		margin: 1rem auto;
	}
	.hwrap_1 span {
	font-size: 2.6rem;
	line-height: 3.4rem;
	margin-bottom: 0;
	}
	.hwrap_1 span i {
	font-size: 1.4rem;
	line-height: 1.4;
	margin-top: 10px;
	}
	.hwrap_1::after {
	content: '';
	display: block;
	position: relative;
	width: 4rem;
	height: 1px;
	margin: 1rem auto 0;
	}
}
/*hwrap_2
----------------------------*/
.hwrap_2 {
	text-align: center;
}
.hwrap_2 span {
	position: relative;
	display: inline-block;
	padding: 0 45px;
	color: #00320C;
	font-size: 2.4rem;
}
.hwrap_2 span:before, .hwrap_2 span:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 30px;
	height: 1px;
	background-color: #00320C;
	transform: rotate(-60deg);
}
.hwrap_2 span:before {
	left: 0;
}
.hwrap_2 span:after {
	right: 0;
}
@media screen and (max-width:767px) {
	.hwrap_2 span {
		font-size: 1.6rem;
		line-height: 2.4rem;
	}
	.hwrap_2 .txlong {
		padding: 0 32px;
	}
}
/*titleDot
----------------------------*/
.titleDot {
	font-weight: normal;
	color: #685733;
	border-bottom: 2px dotted #685733;
	font-size: 3rem;
	margin-bottom: 10px;
}
/*ttl_border_horizon and variation
----------------------------*/
.ttl_border_horizon {
	border-top: none;
	border-bottom: 1px solid #00320C;
	color: #00320C;
	background: #fff;
	padding: 1rem;
	margin-bottom: 2rem;
	font-size: 3rem;
	text-align: left;
}
.ttl_border_horizon.txC {
	text-align: center;
}
.ttl_border_horizon.brown {
	color: #ab804a;
	background: #FFFAF4;
	border-top: 1px solid #ab804a;
	border-bottom: 1px solid #ab804a;
	text-align: center;
}
.ttl_border_horizon .english { font-size: 0.7em; }

@media screen and (max-width:767px) {
	.titleDot {
		font-size: 1.286em;
	}
	.ttl_border_horizon {
		font-size: 1.286em;
	}
}

/*ttl_bdb_dotted and variation
----------------------------*/
.ttl_bdb_dotted span {
	font-size: 2rem;
	font-weight: normal;
	color: #685733;
	padding-bottom: 1rem;
	margin-bottom: 2rem;
	border-bottom: 2px dotted #685733;
}
.ttl_bdb_dotted.pink span {
	border-color: #ff6480;
	color: #ff6480;
}
/*===========================
	line
===========================*/
/*markerLine and variation
------------------------------------*/
.markerLine {
	display: initial;
	font-style: normal;
	font-weight: bold;
}
.markerLine.pinkLine {
	background: linear-gradient(transparent 60%, #FFCCCC 60%);
}
.markerLine.greenLine {
	background: linear-gradient(transparent 60%, #c5fade 60%);
}
.markerLine.blueLine {
	background: linear-gradient(transparent 60%, #c5f7fa 60%);
}
.markerLine.yellowLine {
	background: linear-gradient(transparent 60%, #fffc99 60%);
}
/*===========================
	Button
===========================*/
/*Button and variation
------------------------------------*/

.baseBtn {
	display: inline-block;
	color: #FFF !important;
	font-size: 1.65em;
	line-height: 1.4;
	text-align: center;
	padding: 12px 20px;
	margin: 20px auto;
	min-width: 45%;
	border-radius: 100px;
	box-shadow: 0 4px 0 #597291;
	box-shadow: 0 4px 0 #F0ABC2;
	background: url(../img/bg_kasure_koi2.gif) left bottom;
}
.baseBtn.blue {
	filter: hue-rotate(230deg);
}
.baseBtn small {
	font-size: 1.2rem;
}
.normalButton {
	display: flex;
	max-width: 500px;
	margin: 1rem auto;
	align-items: center;
	justify-content: center;
	background-color: #DB3C30;
	color: #fff !important;
	font-size: 16px;
	text-align: center;
	border-radius: 6px;
	padding: 15px;
	font-weight: bold;
	line-height: 1.2;
}
.normalButton.pink {
	background-color: #f96d6d;
}
.normalButton.green {
	background-color: #00320C;
}
.normalButton.gold {
	background-color: #9F8753;
}
.button.square {
	font-weight: normal;
	text-align: center;
	padding: 1.5rem;
	border: 1px solid #EC9AA0;
	color: #EC9AA0;
	transition-duration: .5s;
}
.button.square:hover {
	border: 1px solid #EC9AA0;
	color: #fff;
	background: #EC9AA0;
}
.button.square.brown {
	border: 1px solid #685733;
	color: #fff;
	background: #685733;
}
.button.square.brown:hover {
	border: 1px solid #685733;
	color: #685733;
	background: #fff;
}
a.btn, a.btnOther {
	position: relative;
	display: block;
	font-size: 1.8rem;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	padding: 10px;
	margin: 20px auto 0;
	background: #F44336;
	border-radius: 0px;
	box-shadow: none;
	text-shadow: none;
}
.box_base_info a.btn, .box_base_info a.btnOther {
	background: #ab804a;
}
a.btn:hover, a.btnOther:hover {
	top: 0;
	box-shadow: none;
	opacity: .65;
}
a:link, a:visited, a:active {
	text-decoration: none;
}
.listExternalA a:after {
	font-family: "Font Awesome 5 Free";
	content: "\f35d";
	font-weight: bold;
	margin-left: 10px;
}
.btn_box {
	position: relative;
}
.btn_box a,
.btn_box .a_link {
	display: flex;
	flex-wrap: wrap;
	flex-shrink: 0;
	flex-basis: auto;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-weight: bold;
	transition: .3s;
		padding: 8px 4px;
}
.btn_box.icon_right:after {
	position: absolute;
	top: 50%;
	right: 0;
	font-family: "Font Awesome 5 Free";
	content: "\f105";
	font-weight: bold;
}
.btn_box.btn_normal {
	border-radius: 10px;
	transition: .3s;
	background: #00320B;
	border: 1px solid #00320B;
}
.btn_box.btn_normal a,
.btn_box.btn_normal .a_link {
	color: #fff;
}
.btn_box.btn_normal.icon_right:after {
	color: #fff;
}
.btn_box.btn_normal:hover {
	background: #fff;
}
.btn_box.btn_normal:hover a,
.btn_box.btn_normal:hover .a_link {
	color: #00320B;
}
.btn_box.btn_normal:hover.icon_right:after {
	color: #00320B;
}

.btn_box.btn_more {
	border-radius: 90px;
	transition: .3s;
	border: 1px solid #A08653;
}
.btn_box.btn_more a,
.btn_box.btn_more .a_link {
	color: #A08653;
}
.btn_box.btn_more.icon_right:after {
	color: #A08653;
}
.btn_box.btn_more:hover {
	background: #A08653;
}
.btn_box.btn_more:hover a,
.btn_box.btn_more:hover .a_link {
	color: #fff;
}
.btn_box.btn_more:hover.icon_right:after {
	color: #fff;
}

.btn_box.btn_induce {
	border-radius: 90px;
	transition: .3s;
	background: #A08653;
	border: 1px solid #A08653;
}
.btn_box.btn_induce a {
	color: #fff;
}
.btn_box.btn_induce.icon_right:after {
	color: #fff;
}
.btn_box.btn_induce:hover {
	background: #fff;
}
.btn_box.btn_induce:hover a {
	color: #A08653;
}
.btn_box.btn_induce:hover.icon_right:after {
	color: #A08653;
}

.btn_box.btn_track {
	border-radius: 90px;
	transition: .3s;
	background: #00320c;
	border: 1px solid #00320c;
}
.btn_box.btn_track a .btn_txt {
	color: #fff;
}
.btn_box.btn_track.icon_right:after {
	color: #fff;
}
.btn_box.btn_track:hover {
	background: #fff;
}
.btn_box.btn_track:hover a .btn_txt {
	color: #00320c;
}
.btn_box.btn_track:hover.icon_right:after {
	color: #00320c;
}

@media screen and (min-width: 768px) {
	.btn_box {
		margin: auto auto 30px;
		font-size: 1.143em;
	}
	.btn_box.btn_more,
	.btn_box.btn_induce {
		width: 80%;
		max-width: 320px;
		margin: 30px auto;
	}
	.btn_box.btn_normal {
		width: min( 80%, 500px );
		margin: 30px auto;
	}
	.btn_box.btn_normal a .btn_txt {
		font-size: 1.2em;
		padding: 20px;
	}
	.btn_box.icon_right:after {
		transform: translate(-20px, -50%);
		font-size: 2em;
	}
}

@media screen and (max-width: 767px) {
	.baseBtn {
		font-size: 1.14em;
		min-width: 88%;
	}
	.btn_box.btn_more,
	.btn_box.btn_induce {
		width: 80%;
		max-width: 320px;
		margin: 20px auto;
	}
	.btn_box.icon_right:after {
		transform: translate(-10px, -50%);
		font-size: 1.5em;
	}
}

/*===========================
	iframe
===========================*/
/*youtube
------------------------------------*/
.youtubeResp {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	width: 90%;
	margin: 0 auto;
	margin-bottom: 2rem;
}
.youtubeResp iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
/*===========================
		box
===========================*/
/*oneVoice and variation
------------------------------------*/
.oneVoice {
	margin: 15px;
	padding: 15px;
}
.oneVoice .oneVoiceInside {
	background: #fff;
	padding: 15px !important;
	background-image: url(../../common/img/bg_voice_01.png), url(../../common/img/bg_voice_02.png), url(../../common/img/bg_voice_03.png), url(../../common/img/bg_voice_04.png);
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	background-position: left top, right top, left bottom, right bottom;
	background-size: 10px 10px, 10px 10px, 10px 10px, 10px 10px;
}
.oneVoice.pink {
	background-color: #FFF6F6;
}
.oneVoice.blue {
	background-color: #e0f0f7;
}
.oneVoice.green {
	background-color: #eef7e4;
}
.oneVoice.purple {
	background-color: #e2c4eb;
}
.oneVoice.yellow {
	background-color: #f3e1ad;
}
.oneVoice.orange {
	background-color: #fff6ec;
}
.oneVoice figure {
	width: 48%;
}
.oneVoice dl {
	width: 38%;
	float: right;
	margin-top: 30px;
}
.oneVoice dt {
	border-bottom: 2px dotted #685733;
	text-align: left;
	color: #685733;
}
.oneVoice dd {
	text-align: left;
}
.faq > dl dt {
	font-size: 1.6rem;
	font-weight: bold;
	padding-left: 30px;
	position: relative;
}
.faq > dl dd {
	padding-left: 30px;
	line-height: 1.5;
	position: relative;
}
.faq > dl dt:before {
	content: "Q";
	font-size: 2.5rem;
	margin: 0 10px 0 -30px;
}
.faq > dl dd::before {
	content: "A";
	font-size: 2.5rem;
	font-weight: bold;
	margin: 0 10px 0 -30px;
}
.oneVoice dt span {
	font-size: 1.7rem;
}
.oneVoice h5 {
	color: #685733;
	font-size: 1.8rem;
}
/*border_box
------------------------------------*/
.border_box {
	border: 6px solid #00320C;
	position: relative;
	margin: 15px;
	z-index: 1;
	background: #fff;
}
.border_box:after, .border_box:before {
	content: "";
	position: absolute;
	z-index: 2;
	background: #fff;
}
.border_box:after {
	height: calc(100% - 88px);
	width: calc(100% + 10px);
	left: -5px;
	top: 44px;
}
.border_box:before {
	width: calc(100% - 88px);
	height: calc(100% + 10px);
	top: -5px;
	left: 44px;
}
.border_box .in {
	position: relative;
	z-index: 10;
	padding: 45px;
}
@media screen and (max-width: 767px) {
	.border_box .in {
		padding: 25px;
	}
}
.border2_box {
	margin: 15px;
	border: 1px solid #93866D;
}
.border2_box .in {
	padding: 10px 20px;
}
.border2_box .in .ttl_dotted {
	font-size: 1.8rem;
	color: #93866D;
	font-weight: bold;
	margin: 10px 0;
	padding-bottom: 5px;
	border-bottom: 2px dotted #93866D;
}
@media screen and (max-width: 767px) {
	.border_box .in {
		padding: 25px;
	}
}
/*border_box
------------------------------------*/
.eq-wrapper {
	background: #F0EBE1 url(../img/eq-bg.png) right top repeat-y;
	padding: 20px 2%;
}
/*===========================
	font-color
===========================*/
.att-red {
	color: #DB3C30;
}
/*===========================
		
===========================*/
/*yell 
------------------------------------*/
.yell {
	position: relative;
	display: inline-block;
	font-size: 2rem;
	padding: 0 2rem;
}
.yell:after, .yell:before {
	content: "";
	position: absolute;
	display: block;
	width: 60px;
	height: 1px;
	background-color: #685733;
	transform-origin: center center;
	bottom: 10px;
}
.yell:before {
	transform: rotate(66deg);
	left: -3rem;
}
.yell:after {
	transform: rotate(-66deg);
	right: -3rem;
}
/*===========================
	list
===========================*/
.checkList > li {
	margin: 1rem 0;
}
.checkList > li::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	content: "\f00c";
	color: #f58771;
	background: none;
	font-size: 1.8rem;
}
.questionList > li {
	margin: 1rem 0;
}
.questionList > li::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	content: "\f059";
	color: #6F974C;
	background: none;
	vertical-align: revert;
	font-size: 1.8rem;
}
.talkList > li {
	margin: 1rem 0;
}
.talkList > li::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	content: "\f27b";
	color: #2c80c2;
	background: none;
	vertical-align: revert;
	font-size: 2rem;
	margin-right: .5rem;
}
/*===========================
	shadow
===========================*/
.shadow {
	box-shadow: 0 0px 8px #aaa;
}
/*===========================
	flow
===========================*/
/*--------------------------------------
　　　m-step
--------------------------------------*/
.m-step .m-step__item {
	display: flex;
	position: relative;
	padding-bottom: 60px;
	align-items: flex-start;
}
.m-step .m-step__item::after {
	position: absolute;
	top: 0;
	left: 34px;
	content: "";
	display: block;
	width: 2px;
	height: 100%;
	background-color: #e6e6e6;
	
}
.m-step .m-step__item__icon {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	flex: 0 0 60px;
	height: 60px;
	margin-right: 15px;
	background-color: #00320C;
	border-radius: 50%;
	z-index: 1;
	font-weight: 700;
}
.m-step .m-step__item__icon span {
	font-size: 20px;
	text-align: center;
}
.m-step .m-step__item__icon span small {
	display: block;
	font-size: 1.4rem;
	line-height: 1.4rem;
}
.m-step .m-step__item__icon > * {
	line-height: normal;
}
.m-step .m-step__item__content dt {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 2rem;
	margin-top: 1rem;
}
@media screen and (max-width: 767px) {
	.m-step .m-step__item__content dt {
		font-size: 18px;
		margin-bottom: 2rem;
		margin-top: 1rem;
	}
	.m-step .m-step__item__content dd {
		margin-right: 5%;
	}
}
/*==========================================
	#lower__header
==========================================*/
.shadowbox {
	box-shadow: 0 0 10px rgba(0, 0, 0, .1);
	background-color: #fff;
}
/*==========================================
	font-color
==========================================*/
.fc-red {
	color: #d92e2e;
}
.fc-Rbrown {
	color: #9F8753;
}
.fc-brown {
	color: #644731;
}
.fc-green {
	color: #084a18;
}
/*==========================================
	allow
==========================================*/
a.allow--small {
	color: #00320C;
	position: relative;
	display: block;
	font-size: 1.4rem;
	padding: 1rem 0;
}
a.allow--small:after {
	content: url(../../jsh/img/front-page/arrow.svg);
	position: absolute;
	right: 20px;
	transition: ease .5s all;
}
a.allow--small:hover {
	opacity: 0.75;
}
a.allow--small:hover:after {
	right: 1rem;
}
a.allow--small.pink {
	color: #D78893;
}
a.allow--small.pink:after {
	content: url(../../jsh/img/front-page/arrow1.png);
}
a.allow--small.green {
	color: #a1ba7b;
}
a.allow--small.green:after {
	content: url(../../jsh/img/front-page/arrow2.png);
}
a.allow--small.blue {
	color: #51A5D8;
}
a.allow--small.blue:after {
	content: url(../../jsh/img/front-page/arrow3.png);
}
a.allow--small.yellow {
	color: #DABB63;
}
a.allow--small.yellow:after {
	content: url(../../jsh/img/front-page/arrow6.png);
}
a.allow--small.orange {
	color: #f58771;
}
a.allow--small.orange:after {
	content: url(../../jsh/img/front-page/arrow4.png);
}

/* ----------------------------------------------
　 「map」GoogleMap
---------------------------------------------- */
.under_page .mapGoogle {
	width: 100%;
	height: 300px;
}
.under_page .mapGoogle iframe {
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 767px) {
	.under_page .mapGoogle {
		width: 100%;
		height: 400px;
	}
}

/* ----------------------------------------------
　 「contactList」コンタクト（電話・FAX・メール）
---------------------------------------------- */
/* 複数のリストとして並べる場合：ulタグに「class="contaclList"」
					liタグに「class="tel"」など
　 単独の場合　　　 aタグに「class="contactTel"」など */
.under_page ul.contactList li,.under_page ul.contactList li > a {
	line-height: 2.5;
	margin-right: 20px;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}
.under_page ul.contactList li:before, .under_page ul.contactList li a:before, .under_page a.contactTel:before, .under_page a.contactFax:before, .under_page a.contactMail:before {
	font-family: "Font Awesome 5 Free";
	margin-right: 10px;
	font-weight: 700;
}
.under_page ul.contactList li.tel a:before, .under_page a.contactTel:before {
	content: "\f095";
}
.under_page ul.contactList li.fax:before, .under_page a.contactFax:before {
	content: "\f1ac";
}
.under_page ul.contactList li.mail a:before, .under_page a.contactMail:before {
	content: "\f0e0";
}
@media screen and (max-width: 767px) {
	.under_page ul.contactList li, ul.contactList li > a {
		margin-right: 10px;
	}
	.under_page ul.contactList li:before, .under_page ul.contactList li a:before, .under_page a.contactTel:before, .under_page a.contactFax:before, .under_page a.contactMail:before {
		margin-right: 5px;
	}
}


/* ---------------------------------------------
 * -------------------- 共通 --------------------
 * ---------------------------------------------
*/
.ft_gothic {
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.rel {
	position: relative;
}
.ab {
	position: absolute;
}
.cf {
	clear: both;
}
.mini {
	font-size: 0.65em;
}
.flexbox {
	display: flex;
	flex-wrap: wrap;
	flex-shrink: 0;
	flex-basis: auto;
}
.flexbox.flex_space {
	justify-content: space-between;
}
.flexbox.flex_around {
	justify-content: space-around;
}
.flex_center {
	justify-content: center;
}
.flexbox.flex_al_center {
	align-items: center;
}
.flexbox.flex_all_center {
	justify-content: center;
	align-items: center;
}
.flexbox.flex_end {
	justify-content: flex-end;
}
.box_link {
	width: 100%;
	height: 100%;
	color: #333;
	text-decoration: none;
}
.acc_content {
	display: none;
}
.overlay_bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	z-index: 15;
}
.color_yellow {
	color: #FEE34F;
}
.notes_red {
	color: #db0000;
}
/* ---------------------------------------------
 * -------------------- ヘッダー --------------------
 * ---------------------------------------------
*/
/* ブライダル特設サイトTOP */
header.bridal_special_header.type_simple {
	position: relative;
}
header.bridal_special_header.type_simple .area_gnav {
	background: #ff85a2;
	font-family: "Noto Sans Japanese";
}
header.bridal_special_header.type_simple .area_gnav .gnav_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
header.bridal_special_header.type_simple .area_gnav .gnav_list .gnav a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #fff;
}
/* CV */
header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv,
header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv a,
header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv a, .txt {
	transition: .3s;
}
header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv {
	width: calc(100% / 2);
}
header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv a .txt {
	color: #fff;
	font-weight: bold;
}
header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv.type_doc {
	background: linear-gradient(90deg, #77d3c4 0%, #8bdd96 100%);
	border: 1px solid #77d3c4;
	border-right: none;
}
header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv.type_doc:hover {
	background: #fff;
}
header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv.type_doc:hover a .txt {
	color: #77d3c4;
}

header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv.type_oc {
	background: linear-gradient(90deg, #ff85a2 0%, #efbf6f 100%);
	border: 1px solid #ff85a2;
	border-left: none;
}
header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv.type_oc:hover {
	background: #fff;
}
header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv.type_oc:hover a .txt {
	color: #ff85a2;
}
header.bridal_special_header+.bridal_container article.contents h1.hwrap_1 span,
header.bridal_special_header+.bridal_container article.contents h2.hwrap_2 span {
	color: #ab804a;
}
header.bridal_special_header+.bridal_container article.contents h1.hwrap_1:after {
	background: #ab804a;
}
@media screen and (min-width: 767px) {
	/*PC*/
	header.bridal_special_header.type_simple {
		position: fixed;
		top: 0;
		left: 50%;
		transform: translate(-50%, 0);
		width: 100%;
		background: #fff;
		z-index: 10;
	}
	header.bridal_special_header.type_simple .area_logo {
		padding: 20px 10px;
	}
	header.bridal_special_header.type_simple .area_logo .logo {
		width: min(100%, 800px);
		margin: auto;
		text-align: center;
	}
	header.bridal_special_header.type_simple .area_logo .logo img {
		max-height: 60px;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_list .gnav .gnav_txt {
		position: relative;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_list .gnav .gnav_txt:before {
		position: absolute;
		bottom: 0;
		left: 0;
		content: "";
		width: 100%;
		height: 0;
		background: #fff;
		transition: .3s;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_list .gnav:not(:last-child) {
		margin-right: 10px;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_list .gnav a {
		justify-content: center;
		font-size: 1.2em;
		padding: 15px 20px;
	}

	header.bridal_special_header.type_simple .area_gnav .gnav_list .gnav:hover {
		opacity: .7;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_list .gnav:hover .gnav_txt:before {
		height: 2px;
	}
	/* CV */
	header.bridal_special_header.type_simple .area_gnav .cv_box {
		position: absolute;
		top: 0;
		right: 0;
		display: flex;
		flex-wrap: wrap;
		flex-shrink: 0;
		flex-basis: auto;
		align-items: center;
		width: min(20%, 400px);
		height: 100px;
	}
	header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list {
		width: 100%;
	}
	header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list,
	header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv {
		height: 100%;
		max-height: 60px;
	}
	header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list {
		align-items: center;
	}
	header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv a .txt {
		position: relative;
		font-size: 1.2em;
		padding: 0 20px 0 2.2em;
	}
	header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv a .txt:before {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0, -50%);
		font-family: "Font Awesome 5 Free";
		font-weight: bold;
		color: #fff;
		font-size: 1.5em;
	}
	header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv.type_doc a .txt:before {
		content: "\f02d";
	}
	header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv.type_oc a .txt:before {
		content: "\f549";
	}
	header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv.type_doc:hover a .txt:before {
		color: #77d3c4;
	}
	header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv.type_oc:hover a .txt:before {
		color: #ff85a2;
	}
	header.bridal_special_header+.bridal_container {
		padding: 11em 0 0;
	}
	header.bridal_special_header+.bridal_container article.contents:not(.under_course) {
		width: min(90%, 1000px);
		margin: auto;
	}
}
@media screen and (max-width: 767px) {
	/*SP*/
	html {
		overflow-x: hidden;
	}
	header.bridal_special_header.type_simple {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		background: #fff;
		z-index: 11;
	}
	header.bridal_special_header.type_simple .area_logo {
		width: 80%;
		padding: 20px 10px;
	}
	header.bridal_special_header.type_simple .area_gnav {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_menu {
		position: absolute;
		top: 0;
		right: 0;
		background: #ff85a2;
		width: 18%;
		height: 60px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		z-index: 3;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_menu .bar {
		position: relative;
		width: 60%;
		height: 5px;
		background: #fff;
		border-radius: 10px;
		transition: .3s;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_menu .bar:before,
	header.bridal_special_header.type_simple .area_gnav .gnav_menu .bar:after {
		position: absolute;
		left: 50%;
		transform: translate(-50%, 0);
		content: "";
		width: 100%;
		height: 100%;
		background: #fff;
		border-radius: 10px;
		transition: .3s;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_menu .bar:before {
		top: -15px;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_menu .bar:after {
		top: 15px;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_box {
		position: absolute;
		top: 0;
		left: 100%;
		background: #ff85a2;
		width: 100%;
		height: 100vh;
		transition: .3s;
		z-index: 2;
		padding: 80px 20px 20px;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_box .gnav_list .gnav {
		width: 100%;
		border-bottom: 2px dotted #fff;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_box .gnav_list .gnav a,
	header.bridal_special_header.type_simple .area_gnav .gnav_box .gnav_list .gnav .gnav_btn_inner {
		font-size: 1.5em;
		padding: 10px 0;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_box .gnav_list .gnav .gnav_btn_inner {
		color: #fff;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_box .gnav_list .gnav .gnav_btn_inner.accTrigger:before,
	header.bridal_special_header.type_simple .area_gnav .gnav_box .gnav_list .gnav .gnav_btn_inner.accTrigger:after {
		top: 50%;
		background: #fff;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav .course_list .course {
		width: 95%;
		margin-left: auto;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav .course_list .course:not(:last-child) {
		border-bottom: 1px dashed #fff;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav .course_list .course a {
		width: 100%;
		height: 100%;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav .course_list .course a .btn_txt {
		font-size: 15px;
		padding: 5px 10px;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_menu.show .bar {
		background: rgba(255,255,255,0);
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_menu.show .bar:before,
	header.bridal_special_header.type_simple .area_gnav .gnav_menu.show .bar:after {
		top: 0;
		left: 0;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_menu.show .bar:before {
		transform: translate(0, 0) rotate(45deg);
		transform-origin: center top;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_menu.show .bar:after {
		transform: translate(0, 0) rotate(-45deg);
		transform-origin: center bottom;
	}
	header.bridal_special_header.type_simple .area_gnav .gnav_box.show {
		left: 0;
		overflow: scroll;
	}
	/* CV */
	header.bridal_special_header.type_simple .area_gnav .cv_box {
		margin: 30px 0;
		padding: 20px;
	}
	header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv a .txt {
		position: relative;
		font-size: 1.2em;
		line-height: 1.2;
		padding: 50px 20px 20px;
	}
	header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv a .txt:before {
		position: absolute;
		top: 10px;
		left: 50%;
		transform: translate(-50%, 0);
		font-family: "Font Awesome 5 Free";
		font-size: 1.5em;
		
	}
	header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv.type_oc a .txt:before {
		content: "\f549";
	}
	header.bridal_special_header.type_simple .area_gnav .cv_box .cv_list .cv.type_doc a .txt:before {
		content: "\f02d";
	}
	header.bridal_special_header.type_simple .area_gnav .base_box .info:not(:last-child) {
		border-bottom: 2px dotted #fff;
		margin-bottom: 20px;
		padding-bottom: 10px;
	}
	header.bridal_special_header.type_simple .area_gnav .base_box .info_mainsite .info_txt {
		font-size: 1.5em;
	}
	header.bridal_special_header.type_simple .area_gnav .base_box .info_mainsite .info_txt a {
		color: #fff;
	}
	header.bridal_special_header.type_simple .area_gnav .base_box .info_sns .info_txt {
		width: 25%;
		color: #fff;
		font-size: 1.2em;
	}
	header.bridal_special_header.type_simple .area_gnav .base_box .info_sns .sns_list {
		width: 72%;
	}
	header.bridal_special_header.type_simple .area_gnav .base_box .sns_list .sns {
		width: 15%;
	}
	header.bridal_special_header.type_simple .area_gnav .base_box .sns_list .sns a {
		display: block;
		width: 100%;
	}
	header.bridal_special_header.type_simple .area_gnav .base_box .sns_list .sns a img {
		width: 100%;
	}

	header.bridal_special_header.type_simple+.bridal_container {
		padding: 72px 0 0;
	}
}

/* JSHタイプ */
header.header_simple {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
	width: 100%;
	background: #fff;
	z-index: 10;
}
header.header_simple .logo {
	position: relative;
	z-index: 10;
}
.menu_area {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 20;
}
.menu_area .access {
	position: relative;
	font-weight: bold;
	transition: .3s;
	z-index: 20;
}
.menu_area .access:hover {
	opacity: 0.5;
}
.menu_area .access a {
	justify-content: center;
	align-items: flex-end;
}
.menu_area .access .access_txt:after {
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translate(-50%, 0);
	font-family: "Font Awesome 5 free";
	font-weight: bold;
	content: "\f3c5";
}
.menu_area .menu_icon {
	position: relative;
	background: #2D3948;
	cursor: pointer;
	transition: .3s;
	z-index: 20;
}
.menu_area .menu_icon:hover {
	opacity: 0.5;
}
.menu_area .menu_icon .bar {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 50%;
	height: 1px;
	background: #fff;
}
.menu_area .menu_icon .bar:before,
.menu_area .menu_icon .bar:after {
	position: absolute;
	left: 50%;
	transform: translate(-50%, 0);
	transform-origin: center center;
	content: "";
	width: 100%;
	height: 1px;
	background: #fff;
	transition: .3s;
}
.menu_area .menu_slide_area {
	position: fixed;
	top: 0;
	left: 100%;
	transform: translate(100%, 0);
	height: 100vh;
	background: #F5F5F5;
	transition: .3s;
}
.menu_area .menu_slide_area a {
	color: #00320C;
	text-decoration: none;
}
.menu_area .menu_slide_area a:hover {
	opacity: 0.6;
}
.menu_area .menu_slide_area .menu_list .menu .list_title,
.menu_area .menu_slide_area .menu_list .menu a.link {
	position: relative;
	display: block;
	font-weight: bold;
	color: #00320C;
	cursor: pointer;
	padding: 10px 0;
}
.menu_area .menu_slide_area .menu_list .menu .list_title:after {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0, -50%);
	font-family: "Font Awesome 5 Free";
	content: "\f067";
}
.menu_area .menu_slide_area .menu_list .menu .list_title.open:after {
	content: "\f068";
}
.menu_area .menu_slide_area .menu_list .menu .submenu_list .submenu {
	font-size: 0.9em;
	font-weight: bold;
	margin-left: 16px;
}
.menu_area .menu_slide_area .menu_list .menu .submenu_list .submenu a {
	display: block;
	padding: 5px 0;
}
.menu_area .menu_slide_area .menu_visitor_box {
	border: 1px solid #00320C;
}
.menu_area .menu_slide_area .menu_visitor_box .list_title {
	position: relative;
	font-weight: bold;
	text-align: center;
	font-size: 14px;
	cursor: pointer;
	padding: 10px;
}
.menu_area .menu_slide_area .menu_visitor_box .list_title:after {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translate(0, -50%);
	font-family: "Font Awesome 5 Free";
	content: "\f107";
}
.menu_area .menu_slide_area .menu_visitor_box .list_title.open:after {
	content: "\f106";
}
.menu_area .menu_slide_area .menu_visitor_box .visitor_list {
	justify-content: space-between;
	padding: 0 15px 15px;
}
.menu_area .menu_slide_area .menu_visitor_box .visitor_list .visitor {
	width: calc( 100% / 2.2);
	background: rgba(0, 50, 20, 0.1);
	font-weight: bold;
	font-size: 14px;
	text-align: center;
	padding: 5px;
	margin-bottom: 10px;
}
.menu_area .menu_slide_area .menu_cv_box .menu_cv {
	background: #2D3948;
	width: calc(100%/3);
	border: 1px solid #707070;
}
.menu_area .menu_slide_area .menu_cv_box .menu_cv:hover {
	opacity: 0.6;
}
.menu_area .menu_slide_area .menu_cv_box .menu_cv a {
	justify-content: center;
	align-items: flex-end;
}
.menu_area .menu_slide_area .menu_cv_box .menu_cv a .btn_txt {
	position: relative;
	color: #fff;
	font-size: 14px;
}
.menu_area .menu_slide_area .menu_cv_box .menu_cv a .btn_txt:after {
	position: absolute;
	top: 10px;
	left: 50%;
	transform: translate(-50%, 0);
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	font-size: 1.5em;
}
.menu_area .menu_slide_area .menu_cv_box .menu_cv.type_opencampus a .btn_txt:after {
	content: "\f549";
}
.menu_area .menu_slide_area .menu_cv_box .menu_cv.type_pamphlet a .btn_txt:after {
	content: "\f518";
}
.menu_area .menu_slide_area .menu_cv_box .menu_cv.type_contact a .btn_txt:after {
	content: "\f0e0";
}
.menu_area .menu_slide_area .menu_link {
	margin: 20px 0;
}
.menu_area .menu_slide_area .menu_link a {
	font-weight: bold;
	color: #00320C;
}
.menu_area .menu_slide_area .menu_sns,
.menu_area .menu_slide_area .menu_sns .sns {
	justify-content: space-between;
}

.menu_area .menu_slide_area .menu_sns .sns li img {
	width: 100%;
}

/* メニュー開 */
.menu_area.show .menu_icon .bar {
	height: 0;
}
.menu_area.show .access {
	background: #F5F5F5;
}

@media (min-width: 767px) {
	/* PC */
	.dNoPc {
		display: none;
	}
	.flexbox.flex_clm2 > * {
		width: calc(100% / 2.1);
	}
	.flexbox.flex_clm3 > * {
		width: calc(100% / 3.2);
	}
	header.header_simple {
		height: 90px;
	}
	header.header_simple .logo {
		width: 500px;
		margin: auto;
		padding: 20px 0;
	}
	header.header_simple .logo a {
		padding: 20px 0;
	}
	.menu_area .access {
		position: fixed;
		top: 0;
		right: 90px;
		width: 90px;
		height: 90px;
	}
	.menu_area .access .access_txt {
		margin-bottom: 10px;
	}
	.menu_area .access .access_txt:after {
		font-size: 1.5em;
	}
	.menu_area .menu_icon {
		width: 90px;
		height: 90px;
	}
	.menu_area .menu_icon .bar:before {
		top: -15px;
	}
	.menu_area .menu_icon .bar:after {
		top: 15px;
	}
	.menu_area .menu_slide_area {
		width: 500px;
		padding: 0px 50px 0px;
	}
	.menu_slide_area .menu_list {
		padding: 120px 0px 30px;
	}
	.menu_area .menu_slide_area .menu_list .menu .submenu_list .submenu:last-child {
		margin-bottom: 20px;
	}
	.menu_area .menu_slide_area .menu_list .menu {
	font-size: 1.15em;
	}
	.menu_area .menu_slide_area .menu_cv_box {
		margin: 20px 0;
	}
	.menu_area .menu_slide_area .menu_cv_box .menu_cv a .btn_txt {
		padding: 50px 5px 20px;
	}
	.menu_area .menu_slide_area .menu_sns {
		margin-bottom: 20px;
	}
	.menu_area .menu_slide_area .menu_sns .sns {
		width: 68%;
	}
	/* メニュー開 */
	.menu_area.show .menu_icon .bar:before {
		transform: translate(-50%, 15px) rotate(-45deg);
	}
	.menu_area.show .menu_icon .bar:after {
		transform: translate(-50%, -15px) rotate(45deg);
	}
	.menu_area.show .menu_slide_area {
		left: auto;
		right: 0;
		transform: translate(0, 0);
		overflow-y: scroll;
	}
	.menu_area .menu_slide_area .menu_sns .sns li {
		width: 18%;
	}
}
@media (max-width: 767px) {
	/* SP */
	.dNoMb {
		display: none;
	}
	.flexbox.flex_sp_clm2 > * {
		width: calc(100% / 2.1);
	}
	header.header_simple {
		justify-content: space-between;
		padding: 0 0 4px 0;
	}
	header.header_simple .logo {
		width: 70%;
		padding: 10px;
	}
	header.header_simple .logo a {
		padding: 10px 0;
	}
	.menu_area .access {
		width: 45px;
		height: 45px;
		font-size: 10px;
	}
	.menu_area .access .access_txt {
		font-size: 10px;
	}
	.menu_area .access a .access_txt:after {
		font-size: 1.5em;
	}
	.menu_area .menu_icon {
		width: 45px;
		height: 45px;
	}
	.menu_area .menu_icon .bar:before {
		top: -10px;
	}
	.menu_area .menu_icon .bar:after {
		top: 10px;
	}
	.menu_area .menu_slide_area {
		width: 88%;
		height: 100%;
		overflow-y: scroll;
		padding: 0px 20px 0;
	}
	.menu_slide_area .menu_list {
		padding-top: 60px;
	}
	.menu_area .menu_slide_area .menu_visitor_box .visitor_list .visitor {
		width: 100%;
	}
	.menu_area .menu_slide_area .menu_list .menu {
		font-size: 1em;
	}
	.menu_area .menu_slide_area .menu_list .menu .list_title {
		padding-right: 30px;
	}
	.menu_area .menu_slide_area .menu_list .menu .submenu_list .submenu:last-child {
		margin-bottom: 20px;
	}
	.under_page .menu_area .menu_slide_area p+ul {
    	margin-top: 0px;
	}
	.menu_area .menu_slide_area .menu_visitor_box {
		margin-bottom: 20px;
	}
	.menu_area .menu_slide_area .menu_cv_box {
		margin-bottom: 20px;
	}
	.menu_area .menu_slide_area .menu_cv_box .menu_cv a .btn_txt {
		font-size: 0.8em;
		text-align: center;
		padding: 50px 10px 10px;
	}
	.menu_area .menu_slide_area .menu_sns .sns {
		width: 70%;
		justify-content: center;
		margin-bottom: 20px;
	}
	.menu_area .menu_slide_area .menu_sns .sns li img {
		width: 100%;
	}
	.menu_area .menu_slide_area .menu_sns .sns li:not(:last-of-type) {
		margin-right: 12px;
		margin-bottom: 12px;
	}
	/* メニュー開 */
	.menu_area.show .menu_icon .bar:before {
		transform: translate(-50%, 10px) rotate(-45deg);
	}
	.menu_area.show .menu_icon .bar:after {
		transform: translate(-50%, -10px) rotate(45deg);
	}
	.menu_area.show .menu_slide_area {
		left: auto;
		right: 0;
		transform: translate(0, 0);
	}
	.menu_area .menu_slide_area .menu_sns .sns li {
		width: 20%;
	}
}

/* ---------------------------------------------
 * -------------------- フッター --------------------
 * ---------------------------------------------
*/
.sec_footer_content .content_inner {
	width: 100%;
	margin: auto;
}
.sec_footer_content.sec_footer_access {
	background: #F5F5F5;
}
.sec_footer_content.sec_footer_access .sec_footer_title {
	text-align: center;
}
.sec_footer_content.sec_footer_access .sec_footer_title .eng {
	display: block;
}
.sec_footer_content.sec_footer_access .map_box iframe {
	width: 100%;
}
.sec_footer_content.sec_footer_access .address_box {
	font-style: normal;
	text-align: center;
}
/* ブライダル特設サイトTOP */
footer.bridal_special_footer.type_simple .school_name {
	position: relative;
	color: #ff85a2;
	font-weight: bold;
}
footer.bridal_special_footer.type_simple .school_name .bg_white {
	position: relative;
	display: inline-block;
	background: #fff;
	box-decoration-break: clone;
}
footer.bridal_special_footer.type_simple .school_name:before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	content: "";
	width: 100%;
	height: 1px;
	background: #ff85a2;
}
footer.bridal_special_footer.type_simple .footer_info .ft_txt a {
	color: #685733;
}
footer.bridal_special_footer.type_simple .footer_info {
	font-family: "Noto Sans Japanese";
}
footer.bridal_special_footer.type_simple .footer_policy_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	font-family: "Noto Sans Japanese";
}
footer.bridal_special_footer.type_simple .footer_policy_list .footer_policy {
	position: relative;
}
footer.bridal_special_footer.type_simple .footer_policy_list .footer_policy:not(:last-child):before {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0, -50%);
	content: "|";
}
footer.bridal_special_footer.type_simple .footer_policy_list .footer_policy a {
	color: #685733;
}
footer.bridal_special_footer.type_simple .area_copyright {
	font-family: "Noto Sans Japanese";
	background: rgba(210, 194, 175, .3);
}
@media screen and (min-width: 767px) {
	/*PC*/
	footer.bridal_special_footer.type_simple .sec_footer_map {
		width: min(95%, 1400px);
		margin: auto;
	}
	footer.bridal_special_footer.type_simple .school_name {
		font-size: 2em;
	}
	footer.bridal_special_footer.type_simple .school_name .bg_white {
		padding: 10px 20px;
	}
	footer.bridal_special_footer.type_simple .footer_info {
		padding: 30px 0;
	}
	footer.bridal_special_footer.type_simple .footer_info .ft_txt {
		margin-bottom: 10px;
	}
	footer.bridal_special_footer.type_simple .footer_info .ft_txt.main_site {
		margin-top: 20px;
	}
	footer.bridal_special_footer.type_simple .map {
		width: min(95%, 1650px);
		margin: auto;
	}
	footer.bridal_special_footer.type_simple .map iframe {
		max-width: 100%;
	}
	footer.bridal_special_footer.type_simple .footer_policy_list {
		margin: 30px 0;
	}
	footer.bridal_special_footer.type_simple .footer_policy_list .footer_policy {
		margin: 0 10px 0 0;
		padding: 0 10px 0 0;
	}
	footer.bridal_special_footer.type_simple .area_copyright {
		padding: 30px 0;
	}
}
@media screen and (max-width: 767px) {
	/*SP*/
	footer.bridal_special_footer.type_simple {
		padding: 0 0 58px;
	}
	footer.bridal_special_footer.type_simple .foot_cv_area {
		position: fixed;
		bottom: -1px;
		left: 50%;
		transform: translate(-50%, 0);
		width: 100%;
		z-index: 10;
	}
	footer.bridal_special_footer.type_simple .foot_cv_area .cv_list {
		display: flex;
		flex-wrap: wrap;
		flex-shrink: 0;
		flex-basis: auto;
		justify-content: space-between;
	}
	footer.bridal_special_footer.type_simple .foot_cv_area .cv_list .cv {
		width: calc( 100% / 2 );
	}
	footer.bridal_special_footer.type_simple .foot_cv_area .cv_list .cv a {
		display: flex;
		flex-wrap: wrap;
		flex-shrink: 0;
		flex-basis: auto;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		padding: 10px;
	}
	footer.bridal_special_footer.type_simple .foot_cv_area .cv_list .cv a .txt {
		position: relative;
		color: #fff;
		font-weight: bold;
	}
	footer.bridal_special_footer.type_simple .foot_cv_area .cv_list .cv a .txt:before {
		position: absolute;
		top: 50%;
		left: -1.5em;
		transform: translate(0, -50%);
		font-family: "Font Awesome 5 Free";
		font-weight: bold;
		color: #fff;
		font-size: 1.5em;
	}
	footer.bridal_special_footer.type_simple .foot_cv_area .cv_list .cv.type_doc {
		background: linear-gradient(90deg, #77d3c4 0%, #8bdd96 100%);
	}
	footer.bridal_special_footer.type_simple .foot_cv_area .cv_list .cv.type_doc a .txt:before {
		content: "\f02d";
	}
	footer.bridal_special_footer.type_simple .foot_cv_area .cv_list .cv.type_oc {
		background: linear-gradient(90deg, #ff85a2 0%, #efbf6f 100%);
	}
	footer.bridal_special_footer.type_simple .foot_cv_area .cv_list .cv.type_oc a .txt:before {
		content: "\f549";
	}
	footer.bridal_special_footer.type_simple .school_name {
		width: 90%;
		margin: auto;
		padding: 0 20px;
	}
	footer.bridal_special_footer.type_simple .footer_info {
		padding: 20px;
	}
	footer.bridal_special_footer.type_simple .footer_info .ft_txt {
		line-height: 1.8;
	}
	footer.bridal_special_footer.type_simple .footer_info .ft_txt.main_site {
		margin-top: 20px;
	}
	footer.bridal_special_footer.type_simple .map {
		width: 95%;
		margin: auto;
	}
	footer.bridal_special_footer.type_simple .map iframe {
		max-width: 100%;
	}
	footer.bridal_special_footer.type_simple .footer_policy_list {
		margin: 10px 0;
	}
	footer.bridal_special_footer.type_simple .footer_policy_list .footer_policy {
		font-size: 10px;
		margin: 0 10px 0 0;
		padding: 0 10px 0 0;
	}
	footer.bridal_special_footer.type_simple .area_copyright {
		font-size: 12px;
		padding: 20px 0;
	}	
}
/*JSHタイプ*/
footer.footer_simple {
	text-align: center;
}
footer.footer_simple ul,
footer.footer_simple ul li {
	list-style: none;
}
footer.footer_simple .logo {
	background: url(../../assets/img/top/line00.png) no-repeat;
	background-size: 100% auto;
	background-position: center bottom;
}
footer.footer_simple .sns_list .sns:hover {
	opacity: 0.7;
}
footer.footer_simple .footer_policy_list {
	justify-content: center;
}
footer.footer_simple .footer_policy_list .footer_policy:not(:first-child) {
	position: relative;
}
footer.footer_simple .footer_policy_list .footer_policy:not(:first-child):after {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	content: "|";
	color: #804f34;
}
footer.footer_simple .footer_policy_list .footer_policy a {
	color: #804f34;
	text-decoration: none;
}
footer.footer_simple .footer_policy_list .footer_policy a:hover {
	opacity: 0.7;
}
@media (min-width: 767px) {
	/* PC */
	.sec_footer_content .content_inner {
		max-width: 1200px;
	}
	.sec_footer_content.sec_footer_access {
		padding: 30px 0 100px;
	}
	.sec_footer_content.sec_footer_access .sec_footer_title {
		font-size: 2em;
	}
	.sec_footer_content.sec_footer_access .sec_footer_title .eng {
		font-size: 0.7em;
	}
	.sec_footer_content.sec_footer_access .map_box {
		margin: 60px 0;
	}
	.sec_footer_content.sec_footer_access .address_box .address:not(:last-child) {
		margin-bottom: 20px;
	}
	.sec_footer_content.sec_footer_access .address_box .address .min {
		font-size: 0.8em;
	}
	footer.footer_simple .footer_inner {
		max-width: 1300px;
		width: 100%;
		margin: auto;
		padding: 50px 0;
	}
	footer.footer_simple .sns_list {
		max-width: 600px;
		width: 100%;
		justify-content: space-between;
		margin: 100px auto;
	}
	footer.footer_simple .sns_list .sns img {
		width: 90px;
		height: 90px;
	}
	footer.footer_simple .logo {
		width: 665px;
		margin: 0 auto 40px;
		padding-bottom: 30px;
	}
	footer.footer_simple .footer_policy_list {
		margin: 20px;
	}
	footer.footer_simple .footer_policy_list .footer_policy {
		font-size: 12px;
	}
	footer.footer_simple .footer_policy_list .footer_policy:not(:first-child):after {
		left: -5px;
	}
	footer.footer_simple .footer_policy_list .footer_policy a {
		padding: 0 20px;
	}
	footer.footer_simple .privacy_truste {
		margin: 40px auto 20px;
	}
	footer.footer_simple .privacy_truste img {
		min-width: 140px;
	}
}
@media (max-width: 767px) {
	/* SP */
	.sec_footer_content .content_inner {
		width: 100%;
		padding: 0 20px;
		margin: 20px 0 0;
	}
	.sec_footer_content.sec_footer_access {
		padding: 15px 0 50px;
	}
	.sec_footer_content.sec_footer_access .sec_footer_title {
		font-size: 1.5em;
	}
	.sec_footer_content.sec_footer_access .sec_footer_title .eng {
		font-size: 0.7em;
	}
	.sec_footer_content.sec_footer_access .map_box {
		margin: 30px 0;
	}
	.sec_footer_content.sec_footer_access .map_box iframe {
		height: 300px;
	}
	.sec_footer_content.sec_footer_access .address_box {
		font-size: 14px;
	}
	.sec_footer_content.sec_footer_access .address_box .address:not(:last-child) {
		margin-bottom: 10px;
	}
	.sec_footer_content.sec_footer_access .address_box .address .min {
		font-size: 10px;
	}
	footer.footer_simple {
		padding-bottom: 60px;
	}
	footer.footer_simple .footer_inner {
		padding: 10px;
	}
	footer.footer_simple .sns_list {
		width: 90%;
		justify-content: space-between;
		margin: 50px auto;
	}
	footer.footer_simple .sns_list .sns img {
		width: 50px;
		height: 50px;
	}
	footer.footer_simple .logo {
		width: 80%;
		margin: 0 auto 20px;
		padding-bottom: 15px;
	}
	footer.footer_simple .footer_policy_list {
		margin: 10px;
	}
	footer.footer_simple .footer_policy_list .footer_policy {
		font-size: 10px;
		line-height: 1.8;
	}
	footer.footer_simple .footer_policy_list .footer_policy:not(:first-child):after {
		left: -5px;
	}
	footer.footer_simple .footer_policy_list .footer_policy a {
		padding: 0 10px;
	}
	footer.footer_simple .privacy_truste {
		margin: 20px auto 10px;
	}
	footer.footer_simple .copyright {
		font-size: 10px;
	}
	footer.footer_simple .area_footer_fix {
		position: fixed;
		bottom: 0;
		left: 50%;
		transform: translate(-50%, 0);
		width: 100%;
		z-index: 14;
	}
	footer.footer_simple .area_footer_fix .fix_nav_list {
		width: 100%;
	}
	footer.footer_simple .area_footer_fix .fix_nav_list .fix_nav {
		width: calc(100% / 4);
		background: #2D3948;
	}
	footer.footer_simple .area_footer_fix .fix_nav_list .fix_nav:hover {
		opacity: 0.7;
	}
	footer.footer_simple .area_footer_fix .fix_nav_list .fix_nav:not(:first-child) {
		border-left: 1px solid #fff;
		box-sizing: border-box;
	}
	footer.footer_simple .area_footer_fix .fix_nav_list .fix_nav a {
		display: flex;
		flex-wrap: wrap;
		flex-shrink: 0;
		flex-basis: auto;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		color: #fff;
		text-decoration: none;
	}
	footer.footer_simple .area_footer_fix .fix_nav_list .fix_nav a .nav_txt {
		position: relative;
		color: #fff;
		font-size: 13px;
		line-height: 1;
		padding: 5px 5px 5px;
		margin: 22px 0 0;
	}
	footer.footer_simple .area_footer_fix .fix_nav_list .fix_nav a .nav_txt:after {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, -100%);
		font-family: "Font Awesome 5 Free";
		font-weight: bold;
		font-size: 1.2em;
	}
	footer.footer_simple .area_footer_fix .fix_nav_list .fix_nav a .nav_txt.icon_doc:after {
		content: "\f518";
	}
	footer.footer_simple .area_footer_fix .fix_nav_list .fix_nav a .nav_txt.icon_opencampus:after {
		content: "\f549";
	}
	footer.footer_simple .area_footer_fix .fix_nav_list .fix_nav a .nav_txt.icon_course:after {
		content: "\f03a";
	}
	footer.footer_simple .area_footer_fix .fix_nav_list .fix_nav a .nav_txt.icon_contact:after {
		content: "\f075";
	}

	.sec_footer_content .content_inner {
		box-sizing: border-box;
	}
}


/* ---------------------------------------------
 * -------------------- パーツ --------------------
 * ---------------------------------------------
*/
.main_course_list .course_item-body {
	position: relative;
	width: 90%;
	margin: -30px auto 30px;
	background-color: #fff;
	padding: 30px 16px 20px;
	box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}
.main_course_list .course_item-ttl {
	text-align: center;
	padding-bottom: 8px;
	margin-bottom: 30px;
	background-position: left bottom;
	background-size: 100% auto;
	background-repeat: no-repeat;
}
.main_course_list .course_item-ttl .en {
	font-size: 1.4rem;
	display: block;
	margin-bottom: .5em;
}
.main_course_list .course_item-ttl .jp {
	font-size: 2.4rem;
	display: block;
	line-height: 1.3;
}
.main_course_list .course_link {
	margin-bottom: 30px;
}
.main_course_list .course_link a:hover {
	opacity: 0.7;
	text-decoration: underline;
}
.main_course_list .course_link-item {
	font-size: 1.6rem;
	position: relative;
	margin-left: 10px;
	line-height: 1.3;
	margin-bottom: 1em;
}
.main_course_list .course_link-item:last-child {
	margin-bottom: 0;
}
.main_course_list .course_link-item::before {
	position: absolute;
	top: -2px;
	left: -10px;
}
/*カラー*/
/*ブライダル*/
.main_course_list .course_item--bridal,
.main_course_list .course_item--bridal a {
	color: #D78893;
}
.main_course_list .course_item--bridal .course_link-item::before {
	content: url("../../assets/img/top/arrow1.png");
}
.main_course_list .course_item--bridal .course_item-ttl {
	background-image: url("../../assets/img/top/line01.png");
}
.main_course_list .course_item--bridal .world_link-item::after {
	content: url("../../assets/img/top/arrow1.png");
}
/*ホテル*/
.main_course_list .course_item--hotel,
.main_course_list .course_item--hotel a {
	color: #a1ba7b;
}
.main_course_list .course_item--hotel .course_link-item::before {
	content: url("../../assets/img/top/arrow2.png");
}
.main_course_list .course_item--hotel .course_item-ttl {
	background-image: url("../../assets/img/top/line02.png");
}
.main_course_list .course_item--hotel .world_link-item::after {
	content: url("../../assets/img/top/arrow2.png");
}
/*エアライン*/
.main_course_list .course_item--airline,
.main_course_list .course_item--airline a {
	color: #51A5D8;
}
.main_course_list .course_item--airline .course_link-item::before {
	content: url("../../assets/img/top/arrow3.png");
}
.main_course_list .course_item--airline .course_item-ttl {
	background-image: url("../../assets/img/top/line03.png");
}
.main_course_list .course_item--airline .world_link-item::after {
	content: url("../../assets/img/top/arrow3.png");
}
/*スポーツ*/
.main_course_list .course_item--sports .course_link-item::before {
	content: url("../../assets/img/top/arrow5.png");
}
.main_course_list .course_item--sports,
.main_course_list .course_item--sports a {
	color: #56BEC6;
}
.main_course_list .course_item--sports .course_item-ttl {
	background-image: url("../../assets/img/top/line05.png");
}
/*リゾート*/
.main_course_list .course_item--resort .course_link-item::before {
	content: url("../../assets/img/top/arrow6.png");
}
.main_course_list .course_item--resort,
.main_course_list .course_item--resort a {
	color: #DABB63;
}
.main_course_list .course_item--resort .course_item-ttl {
	background-image: url("../../assets/img/top/line06.png");
}

@media screen and ( min-width: 767px) {
	/*PC*/
	.main_course_list .course_item {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
	}
	.main_course_list .course_item-body {
		flex-grow: 1;
		padding: 50px 50px 20px;
	}
	.main_course_list .course_item-ttl {
		margin-bottom: 50px;
	}
	.main_course_list .course_item-ttl .en {
		font-size: 2rem;
	}
	.main_course_list .course_item-ttl .jp {
		font-size: 3.2rem;
		padding-bottom: 10px;
	}
	.main_course_list .course_item-photo img {
		width: 100%;
	}
	.main_course_list .course_link-item {
		font-size: 1.8rem;
	}
	.main_course_list .course_list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.main_course_list .course_item {
		width: calc( 100% / 2.1);
		margin-bottom: 30px;
	}
	.main_course_list .course_item-body {
		min-height: 340px;
	}
	.main_course_list .course_item-body {
		display: flex;
		flex-direction: column;
	}
}
@media screen and (min-width: 1200px) {
	/*PC調整01*/
	.main_course_list .course_item-ttl {
		margin-bottom: 50px;
	}
	.main_course_list .course_item-ttl .en {
		font-size: 2.4rem;
	}
	.main_course_list .course_item-ttl .jp {
		font-size: 3.6rem;
		padding-bottom: 10px;
	}
	.main_course_list .course_link-item {
		font-size: 2rem;
	}
}

/* ---------------------------------------------
 * ---------------- アニメーション ------------------
 * ---------------------------------------------
*/
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.fadein {
	animation-name: fadeIn;
	animation-duration: 5s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.fadein2 {
	animation-name: fadeIn;
	animation-duration: 5s;
	animation-timing-function: ease;
	animation-delay: 2s;
	animation-fill-mode: forwards;
}
.fadeunder {
	opacity: 0;
	transform: translateY(50px);
	transition: all 2000ms;
}
.scrollin {
	opacity: 1;
	transform: translateY(0);
}

/*フェードインアニメーション*/
[class*="scroll_move_content_"] {
	opacity: 0;
}
.fadein_totop {
	opacity: 0;
	transform: translate(0, 10%);
	animation: fadein_contents .5s ease-in-out .2s 1 normal forwards running;
}
.fadein_tobottom {
	opacity: 0;
	transform: translate(0, -10%);
	animation: fadein_contents .5s ease-in-out .2s 1 normal forwards running;
}
.fadein_toleft {
	opacity: 0;
	transform: translate(50px, 0);
	animation: fadein_contents .5s ease-in-out .2s 1 normal forwards running;
}
.fadein_toright {
	opacity: 0;
	transform: translate(-50px, 0);
	animation: fadein_contents .5s ease-in-out .2s 1 normal forwards running;
}
@keyframes fadein_contents {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
		transform: translate(0, 0);
	}
}
/* ---------------------------------------------
 * ---------------- 下層ページ ------------------
 * ---------------------------------------------
*/
.under_page .area_breadcrumb {
	background: #F5F5F5;
}
/*パンくず*/
.under_page .area_breadcrumb .breadcrumb {
	display: flex;
	flex-wrap: nowrap;
}
.under_page .area_breadcrumb .breadcrumb li {
	position: relative;
}
.under_page .area_breadcrumb .breadcrumb li:not(:first-child):after {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	content: "\f105";
}
.under_page .area_breadcrumb .breadcrumb li a {
	color: #666;
}
.under_page .area_breadcrumb .breadcrumb li a:hover {
	opacity: 0.7;
}
:is(.under_page) ul, li {
	list-style: none;
}
.under_page .page_main_title {
	color: #00320C;
	text-align: center;
	margin-bottom: 40px;
}
.under_page .page_main_title .en {
	display: block;
}
.under_page #mainPhoto img,
.under_page .mainPhoto img {
	width: 100%;
}
/*タブ切り替え*/
.under_page .tabBoxes .tabInner {
	display: none;
}
.under_page .tabBoxes .tabInner.active {
	display: block;
}
/*装飾*/
.under_page .bg_dot {
	background: radial-gradient(#00320C 12%, rgba(255,255,255,0) 12%), radial-gradient(#00320C 12%, rgba(255,255,255,0) 12%);
	background-size: 8px 8px, 8px 8px;
	background-position: 0 0, 4px 4px;
}
.under_page .bg_dot_allpink {
	background: #FDEFF3;
	background-image: radial-gradient(#FDDFE7 12%, rgba(255,255,255,0) 12%), radial-gradient(#FDDFE7 12%, rgba(255,255,255,0) 12%);
	background-size: 24px 24px, 24px 24px;
	background-position: 0 0, 12px 12px;
}
.under_page .bgPinkStr {
	background-image: linear-gradient( -45deg, #fff 25%, #FFE6EA 25%, #FFE6EA 50%, #fff 50%, #fff 75%, #FFE6EA 75%, #FFE6EA );
	background-size: 8px 8px;
}
.under_page .frame_pink {
	border-top: 10px solid #FFB5C3;
	border-bottom: 10px solid #FFB5C3;
	border-right: 10px solid #FFD5E0;
	border-left: 10px solid #FFD5E0;
}
/*アンカーナビ*/
.under_page .pageInLink {
	width: 100%;
	margin: 4rem auto;
	text-align: center;
}
.under_page .pageInLink ul li {
	background: #2D3948;
	border: 1px solid #2D3948;
	transition: .3s;
}
.under_page .pageInLink ul li a {
	position: relative;
	display: block;
	color: #fff;
	transition: .3s;
	padding: 10px 20px 10px 30px;
}
.under_page .pageInLink ul li a:before {
	position: absolute;
	top: calc(50% - 6px);
	left: 10px;
	content: "";
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: translate(0, 0) rotate(45deg);
	transform-origin: left top;
	transition: ease .5s all;
}
.under_page .pageInLink ul li:hover {
	background: #fff;
}
.under_page .pageInLink ul li:hover a {
	color: #2D3948;
}
.under_page .pageInLink ul li:hover a:before {
	border-top: 1px solid #2D3948;
	border-right: 1px solid #2D3948;
}
.under_page .pageInLink.type_field {
	font-size: 1.313em;
}
/*ブライダル＠アンカーリンク*/
.under_page .pageInLink.type_field .cate_bridal,
.under_page .btn_bridal a {
	background: #a65d55;
	border: 1px solid #a65d55;
}
.under_page .pageInLink.type_field .cate_bridal:hover{
	background: #fff;
}
.under_page .pageInLink.type_field .cate_bridal:hover a {
	color: #a65d55;
}
.under_page .pageInLink.type_field .cate_bridal:hover a:before {
	border-top: 1px solid #a65d55;
	border-right: 1px solid #a65d55;
}
.under_page .btn_bridal a:hover {
	background: #fff;
	color: #a65d55;
}
/*ホテル＠アンカーリンク*/
.under_page .pageInLink.type_field .cate_hotel,
.under_page .btn_hotel a {
	background: #618583;
	border: 1px solid #618583;
}
.under_page .pageInLink.type_field .cate_hotel:hover {
	background: #fff;
}
.under_page .pageInLink.type_field .cate_hotel:hover a {
	color: #618583;
}
.under_page .pageInLink.type_field .cate_hotel:hover a:before {
	border-top: 1px solid #618583;
	border-right: 1px solid #618583;
}
.under_page .btn_hotel a:hover {
	background: #fff;
	color: #618583;
}
/*トラベル＠アンカーリンク*/
.under_page .pageInLink.type_field .cate_travel,
.under_page .btn_travel a {
	background: #917f2e;
	border: 1px solid #917f2e;
}
.under_page .pageInLink.type_field .cate_travel:hover {
	background: #fff;
}
.under_page .pageInLink.type_field .cate_travel:hover a {
	color: #917f2e;
}
.under_page .pageInLink.type_field .cate_travel:hover a:before {
	border-top: 1px solid #917f2e;
	border-right: 1px solid #917f2e;
}
.under_page .btn_travel a:hover {
	background: #fff;
	color: #917f2e;
}
/*エアライン＠アンカーリンク*/
.under_page .pageInLink.type_field .cate_airline,
.under_page .btn_airline a {
	background: #42769f;
	border: 1px solid #42769f;
}
.under_page .pageInLink.type_field .cate_airline:hover {
	background: #fff;
}
.under_page .pageInLink.type_field .cate_airline:hover a {
	color: #42769f;
}
.under_page .pageInLink.type_field .cate_airline:hover a:before {
	border-top: 1px solid #42769f;
	border-right: 1px solid #42769f;
}
.under_page .btn_airline a:hover {
	background: #fff;
	color: #42769f;
}

/*下層ナビ*/
.index_link_list .index_link_item {
	background: #fff;
}
.index_link_list .index_link_item a {
	display: block;
	width: 100%;
	height: 100%;
	color: #333;
	text-decoration: none;
}
.index_link_list .index_link_item a:hover {
	opacity: 0.8;
}
.index_link_list .index_link_item a img {
	width: 100%;
}
.index_link_list .index_link_item dt,
.index_link_list .index_link_item .index_link_title {
	width: 100%;
	align-self: center;
	font-weight: bold;
	line-height: 1.5;
	padding-left: 23px;
	position: relative;
}
.index_link_list .index_link_item dt:before,
.index_link_list .index_link_item .index_link_title:before {
	content: "";
	width: 12px;
	height: 12px;
	border-top: 1px solid #00320C;
	border-right: 1px solid #00320C;
	position: absolute;
	left: 0;
	top: calc(50% - 6px);
	margin-right: 5px;
	transform: translate(0, -20%);
	transition: ease .5s all;
	transform: rotate(45deg);
}
/*flow title*/
.under_page .sec_flow dl.flow {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 0px;
	padding: 40px 25px 50px 25px;
	overflow: hidden;
}
.under_page .sec_flow dl.flow dt {
	position: relative;
	/* clip-path: polygon(0 0, 100% 0, 100% 90%, 50% 100%, 0 90%, 0 0); */
	background: #fff;
	/* background: #685733; */
	border: 1px solid #685733;
	width: 50px;
}
/* .under_page .sec_flow dl.flow dt:after {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	clip-path: polygon(2px 1px, calc(100% - 2px) 1px, calc(100% - 2px) calc(90% - 1px), 50% calc(100% - 2px), 2px calc(90% - 1px), 2px 1px);
	background: #fff;
} */
.under_page .sec_flow dl.flow dt:after {
	content: "";
    display: block;
    width: 36px;
    height: 36px;
    transform: rotate(135deg);
    border-top: 1px solid #685733;
    border-right: 1px solid #685733;
    position: absolute;
    bottom: -18px;
    left: calc(50% - 18px);
    z-index: 1;
    background: #fff;
}

.under_page .sec_flow dl.flow dt p {
	position: relative;
	z-index: 2;
	font-size: 1.2em;
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	padding: 10px;
}
.under_page .sec_flow dl.flow:last-child dt:after,
.under_page .sec_flow dl.flow.flow_last dt:after {
	display: none;
}
/* .under_page .sec_flow dl.flow:last-child dt,
.under_page .sec_flow dl.flow.flow_last dt {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 0);
}
.under_page .sec_flow dl.flow:last-child dt:after,
.under_page .sec_flow dl.flow.flow_last dt:after {
	clip-path: polygon(2px 1px, calc(100% - 2px) 1px, calc(100% - 2px) calc(100% - 1px), 2px calc(100% - 1px), 2px 1px);
} */
/*横並び要素*/
.under_page .card_column .frame {
	position: relative;
}
.under_page .card_column .frame:after {
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(0,0) rotate(5deg);
	content: "";
	width: 100%;
	height: 100%;
	background: #FFC4CC;
	box-shadow: 0 2px 10px 1px #ccc;
}
.under_page .card_column .frame img {
	position: relative;
	z-index: 1;
}
/*QandA Qタイトル*/
.under_page .titlePinkQ {
	border-bottom: 2px dotted #685733;
	line-height: 1.2;
	padding: 14px 0 14px 36px;
	font-weight: normal;
	color: #635838;
	position: relative;
}
.under_page .titlePinkQ:before {
	content: "Q";
	font-size: 1.5em;
	position: absolute;
	left: 0;
	top: 18%;
}
/* colorBox モーダルウィンドウ */
a:focus {
	outline: none;
}
/* inlineBox */
.colorbox > li .inlineBox {
	display: none;
}
dl.colorboxDetail {
	width: 100%;
}
dl.colorboxDetail dt {
	margin-top: 10px;
}
@media screen and (min-width: 767px) {
	/*PC*/
	.under_page .site_wrap {
		padding: 90px 0 0;
	}
	#top.under_page .site_wrap {
		padding: 0px 0 0;
	}
	/*パンくず*/
	.under_page .area_breadcrumb .breadcrumb {
		max-width: 1300px;
		margin: auto;
		padding: 10px 0;
	}
	.under_page .area_breadcrumb .breadcrumb li {
		font-size: 12px;
		margin-right: 20px;
	}
	.under_page .area_breadcrumb .breadcrumb li:not(:first-child):after {
		left: -13px;
		font-size: 10px;
	}
	.under_page .contents:not(.under_course) {
		padding: 40px 0 40px;
	}
	.under_page .art_content {
		max-width: 1300px;
		width: auto;
		margin: auto;
	}
	.under_page .sec_content {
		padding: 50px 0;
	}
	.under_page .sec_sub_content {
		padding: 20px 0 50px;
	}
	.under_page .page_main_title .en {
		font-size: 25px;
	}
	.under_page .page_main_title .jp {
		font-size: 55px;
	}
	.under_page p+ul {
		margin-top: 10px;
	}
	.under_page .caution {
		font-size: 14px;
		margin: 5px 0;
	}
	.under_page .mgTB50 {
		margin-top: 50px;
		margin-bottom: 50px;
	}
	.under_page .pdTB50 {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.under_page #mainPhoto {
		margin: 20px auto 20px;
		max-width: 900px;
	}
	/*アンカーナビ*/
	.under_page .pageInLink ul {
		display: flex;
		flex-wrap: wrap;
	}
	.under_page .pageInLink ul li {
		margin-bottom: 20px;
		margin-right: 20px;
	}
	.under_page .pageInLink.type_field ul li {
		min-width: 200px;
	}
	/*内部リンク＠アンカーナビ*/
	.under_page .pageInLink ul.internal_list .internal {
		width: calc( 100% / 3.15 );
	}
	.under_page .pageInLink ul.internal_list .internal a {
		font-size: 1.25em;
	}
	/*下層ナビ*/
	.under_page .index_link_list {
		margin-top: 40px;
	}
	.under_page .index_link_list .index_link_item {
		width: calc(100% / 4.4);
		margin-bottom: 30px;
	}
	.under_page .index_link_list .index_link_item:not(:nth-child(4n)) {
		margin-right: 38px;
	}
	.under_page .index_link_list .index_link_item dt,
	.index_link_list .index_link_item .index_link_title	{
		font-size: 1.2em;
		margin: 10px 0;
	}
	/*flow title*/
	.under_page .sec_flow dl.flow dt + dd {
		width: 90%;
		margin-left: 36px;
	}
	/*横並び要素*/
	.under_page .card_column {
		justify-content: space-between;
		padding: 20px 0;
	}
	.under_page .card_column.type_right {
		flex-direction: row-reverse;
	}
	.under_page .card_column .frame {
		max-width: 30%;
	}
	.under_page .card_column .frame+dd {
		max-width: 65%;
	}
	.under_page .card_column .frame+dd h4 {
		font-size: 2em;
		margin-bottom: 10px;
	}
	.under_page .card_column .frame+dd h4+p {
		font-size: 18px;
	}
	/*QandA Qタイトル*/
	.under_page .titlePinkQ {
		font-size: 1.4em;
	}
}
@media screen and (max-width: 767px) {
	/*SP*/
	.under_page {
		font-size: 14px;
	}
	.under_page .site_wrap {
		width: 100%;
		margin: 0;
		padding: 45px 0 0;
	}
	#top.under_page .site_wrap {
		padding: 0px 0 0;
	}
	.under_page .acc_spTrigger+* {
		display: none;
	}
	/*パンくず*/
	.under_page .area_breadcrumb .breadcrumb {
		width:100%;
		overflow-x: scroll;
		padding: 10px;
	}
	.under_page .area_breadcrumb .breadcrumb li {
		font-size: 12px;
		white-space: nowrap;
		margin-right: 20px;
	}
	.under_page .area_breadcrumb .breadcrumb li:not(:first-child):after {
		left: -13px;
		font-size: 10px;
	}
	.under_page .contents {
		padding: 20px 0 20px;
	}
	.under_page .hwrap_2 {
		padding: 20px 0px;
	}
	.under_page .sec_content {
		padding: 20px 10px;
	}
	.under_page .sec_sub_content {
		padding: 20px 0 50px;
	}
	.under_page .page_main_title .en {
		font-size: 1.5em;
	}
	.under_page .page_main_title .jp {
		font-size: 2em;
	}
	.under_page p+ul {
		margin-top: 10px;
	}
	.under_page .caution {
		font-size: 14px;
		margin: 5px 0;
	}
	.under_page .mgTB50 {
		margin-top: 50px;
		margin-bottom: 50px;
	}
	.under_page .pdTB50 {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.under_page .mgTB50 {
		margin-top: 25px;
		margin-bottom: 25px;
	}
	.under_page .pdTB50 {
		padding-top: 25px;
		padding-bottom: 25px;
	}
	.under_page #mainPhoto {
		/* margin-top: 20px; */
		margin-bottom: 20px;
	}
	/*アンカーナビ*/
	.under_page .pageInLink {
		margin-top: 2.6rem;
	}
	.under_page .pageInLink ul li+li {
		margin-top: 20px;
	}
	.pageInLink.type_field ul {
		display: flex;
		flex-wrap: wrap;
		margin: 0 10px;
	}
	.under_page .pageInLink.type_field ul {
		justify-content: space-between;
	}
	.under_page .pageInLink.type_field ul > * {
		width: 48%;
		margin-bottom: 14px;
	}
	.under_page .pageInLink.type_field li {
		font-size: 0.85em;
	}
	.under_page .pageInLink.type_field ul li+li {
		margin-top: 0px;
	}
	.under_page .pageInLink.type_field {
		margin: 2rem auto;
	}
	/*内部リンク＠アンカーナビ*/
	.under_page .pageInLink ul.internal_list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: inherit;
	}
	.under_page .pageInLink ul.internal_list .internal {
		width: calc( 100% / 2.1 );
		margin: 0 0 10px 0;
	}
	.under_page .pageInLink ul.internal_list .internal a {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		padding: 10px 10px 10px 20px;
	}
	/*下層ナビ*/
	.under_page .index_link_list {
		margin: 10px 14px;
		justify-content: space-between;
	}
	.under_page .index_link_list .index_link_item {
		width: calc(100% / 2.1);
		margin-bottom: 20px;
		font-size: 0.857em;
	}
	.under_page .index_link_list .index_link_item:not(:nth-child(2n)) {
		margin-right: 10px;
	}
	.under_page .index_link_list .index_link_item:nth-child(odd):last-child {
		margin-right: auto;
	}
	.index_link_list .index_link_item dt,
	.index_link_list .index_link_item .index_link_title {
		padding-left: 16px;
	}
	.index_link_list .index_link_item dt:before,
	.index_link_list .index_link_item .index_link_title:before {
		content: "";
		width: 8px;
		height: 8px;
		border-top: 1px solid #00320C;
		border-right: 1px solid #00320C;
		position: absolute;
		left: 0;
		top: calc(50% - 6px);
		margin-right: 5px;
		transform: translate(0, -20%);
		transition: ease .5s all;
		transform: rotate(45deg);
	}
	.under_page .index_link_list .index_link_item a {
		padding: 0px;
	}
	.under_page .index_link_list .index_link_item dt,
	.index_link_list .index_link_item .index_link_title	{
		font-size: 1.143em;
		margin: 10px 0 5px;
	}
	/*flow title*/
	.under_page .sec_flow dl.flow dt + dd {
		width: 82%;
		margin-left: 16px;
	}
	.under_page .sec_flow dl.flow dt {
		width: 36px;
	}
	/*横並び要素*/
	.under_page .card_column {
		padding: 20px 0;
	}
	/* colorBox モーダルウィンドウ */
	dl.colorboxDetail {
		width: auto;
	}
	.under_page .sec_flow dl.flow dt p {
		position: relative;
		z-index: 1;
		font-size: 1.2em;
		padding: 10px 4px;
	}
	.under_page .sec_flow dl.flow dt:after {
		content: "";
	    display: block;
	    width: 2.4rem;
	    height: 2.4rem;
	    transform: rotate(135deg);
	    border-top: 1px solid #685733;
	    border-right: 1px solid #685733;
	    position: absolute;
	    bottom: -1.3rem;
	    left: calc(50% - 1.2rem);
	    z-index: 2;
	    background: #fff;
	}

}

/* ---------------------------------------------
	下層ページ 共通 
 * ---------------------------------------------
*/
.sec_content .content_inner {
	max-width: 1200px;
	padding: 0 20px;
	margin: auto;
}
.area_mv {
	padding: 0 10px;
	margin-bottom: 20px;
}
.area_mv .lead_text {
	font-size: 2.8rem;
	line-height: 2;
	margin: 50px 0px 40px;
	text-align: center;
}
.area_mv .lead_text .marker {
	background: linear-gradient(-180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 60%, rgba(142, 135, 80, 0.1) 60%, rgba(142, 135, 80, 0.1) 100% );
}
.area_mv .tx {
	text-align: center;
}
.under_page .ttl_sub {
	color: #00320C;
	font-size: 2.4rem;
	margin: 20px 0;
}

.sec_title {
	position: relative;
	color: #00320C;
	text-align: center;
}
.sec_title .title_sideline {
	position: relative;
	display: inline-block;
	margin-bottom: 20px;
	line-height: 1.4;
}
.sec_title .title_sideline:after {
	position: absolute;
	top: 50%;
	right: 0;
	content: "";
	height: 2px;
	background: #00320C;
	width: 70px;
}
.sec_title .title_sideline:before {
	position: absolute;
	top: 50%;
	left: 0;
	content: "";
	height: 2px;
	background: #00320C;
	width: 70px;
}

.box_base_info {
	background: #faf7f2;
	padding: 20px;
	margin-top: 30px;
	margin-bottom: 50px;
}
.box_base_info .inner {
	background: #fff;
	padding: 2rem 4% 2rem;
	box-shadow: 0px 0px 8px rgb(0 0 0 / 8%);
	margin: 0 auto;
	overflow: hidden;
}
@media screen and (min-width: 767px) {
	/*PC*/
	.sec_title .title_sideline {
		font-size: 2em;
		padding: 20px 100px;
	}

	.sec_content .sub_title {
		font-size: 1.4em;
	}
	.area_mv .tx {
		font-size: 1.286em;
	}
}

@media screen and (max-width: 767px){
	/*SP*/
	.sec_content .content_inner {
		padding: 0 10px;
	}
	.sec_title	{
		overflow: hidden;
	}
	.sec_title .title_sideline {
		font-size: 1.286em;
		padding: 10px 32px;
		margin-bottom: 10px;
	}
	.sec_title .title_sideline:after {
		width: 10%;
		right: -10%;
	}
	.sec_title .title_sideline:before {
		width: 10%;
		left: -10%;
	}
	.under_page .page_main_title {
		margin-top: 0px;
	}
	.area_mv .lead_text {
		font-size: 1.143em;
		line-height: 2;
		margin: 20px 0px 20px;
		letter-spacing: -0.01em;
	}
	.under_page .ttl_sub {
		font-size: 2rem;
		margin: 20px 0;
	}
	.main_subtx {
		font-size: 1.4rem;
		line-height: 1.8;
	}
	.box_base_info {
		padding: 12px;
		margin-top: 15px;
		margin-bottom: 25px;
	}
	.sec_title .title_sideline:after {
		right: 0;
		width: 20px;
	}
	.sec_title .title_sideline:before {
		left: 0;
		width: 20px;
	}
	.box_base_info .inner {
		padding: 2rem 5% 2rem;
	}
}
/*------------------------------------
.ポイントマーク
------------------------------------*/
/*ポイント*/
.Point.type_simple_mark {
	background: #fff;
}
.Point.type_simple_mark {
	align-items: center;
}
.Point.type_simple_mark .point_mark {
	font-family: din-2014, sans-serif;
	font-weight: 700;
	font-style: normal;
	text-align: center;
}
.Point.type_simple_mark .point_mark .mark {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	background: #9F8753;
	border-radius: 50%;
	aspect-ratio: 1 / 1;
	color: #fff;
}
.Point.type_simple_mark .point_txt {
	color: #685733;
	line-height: 1.3;
}

@media screen and (min-width:768px) {
	/*PC*/
	.Point.type_simple_mark,
	.box_type01 .Point.type_simple_mark {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.box_type01 .Point.type_simple_mark {
		padding: 15px;
	}
	.Point.type_simple_mark .point_mark {
		width: 25%;
		font-size: 1.25em;
	}
	.Point.type_simple_mark .point_mark .mark {
		width: 100%;
		font-size: 2em;
	}
	.Point.type_simple_mark .point_txt {
		width: 73%;
		font-size: 2rem;
		padding-top: 30px;
	}
	.Point.type_simple_mark .point_item,
	.box_type01 .Point.type_simple_mark .point_item {
		min-height: 120px;
		margin-bottom: 0;
		width: 32%;
	}
}
@media screen and (max-width:767px) {
	/*SP*/
	.Point.type_simple_mark .point_item {
		width: 100%;
	}
	.Point.type_simple_mark .point_item:not(:last-child) {
		margin-bottom: 10px;
	}
	.Point.type_simple_mark .point_mark {
		width: 20%;
	}
	.Point.type_simple_mark .point_mark .mark {
		width: 100%;
		font-size: 1.8em;
	}
	.Point.type_simple_mark .point_txt {
		width: 78%;
		font-size: 1.5rem;
		padding-top: 25px;
	}
}
/*------------------------------------
.シンプルマーク
------------------------------------*/
.stamp_mark {
	background: #ab804a;
	border-radius: 50%;
	aspect-ratio: 1 / 1;
}
.stamp_mark .mark_txt {
	color: #fff;
	text-align: center;
}
@media screen and (min-width: 767px) {
	/*PC*/
	.stamp_mark {
		padding: 5px;
	}
}
/*------------------------------------
.文字被り境界線
------------------------------------*/
.hr_line {
	position: relative;
	text-align: center;
	margin: 10px 0;
}
.hr_line:before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 2px;
	background: #ab804a;
	content: "";
	z-index: 1;
}
.hr_line span {
	position: relative;
	display: inline-block;
	background: #fff;
	color: #ab804a;
	font-weight: bold;
	padding: 2px 10px;
	z-index: 3;
}
@media screen and (min-width: 767px) {
	/*PC*/
	.hr_line span {
		font-size: 1.2em;
	}
}
/*------------------------------------
.contact
------------------------------------*/
.cv_contact ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.cv_contact ul > * {
	width: 50%;
	height: 22vw;
	text-align: center;
}
.cv_contact ul li > a {
	position: relative;
	display: block;
	height: 100%;
}
.cv_contact ul li > a:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .3);
	transition: background-color .5s;
}
.cv_contact ul li > a .contact_inside {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}
.cv_contact ul li > a .contact_inside > * {
	display: block;
	color: #fff;
	width: 100%;
}
.cv_contact ul li > a .contact_inside i {
	font-size: 10rem;
	color: rgba(255, 255, 255, 0.18);
	position: absolute;
	top: -15%;
	left: 50%;
	transform: translate(-50%, -50%);
	line-height: 10.8rem;
}
.cv_contact ul li > a .contact_inside span {
	font-size: 5rem;
	line-height: 5.8rem;
}
.cv_contact ul li > a .contact_inside em {
	padding: 5px;
	border: 1px solid #fff;
	display: block;
	margin: 3rem auto 0rem auto;
	width: 25rem;
}
.cv_contact ul .information {
	background-image: url("../../assets/img/language/contact_01.png");
	background-position: center center;
	background-size: cover;
}
.cv_contact ul .oc {
	background-image: url("../../assets/img/language/contact_02.png");
	background-position: center center;
	background-size: cover;
}
@media screen and ( min-width: 767px ) {
	.cv_contact {
		margin: 80px 0 0;
	}
}
@media screen and (max-width: 767px) {
	.cv_contact ul {
		display: block;
	}
	.cv_contact ul > * {
		width: 100%;
		height: 50vw;
	}
	.cv_contact ul li {
		overflow: hidden;
	}
	.cv_contact ul li > a .contact_inside i {
		font-size: 4.2rem;
		position: absolute;
		top: 0px;
	}
	.cv_contact ul li > a .contact_inside span {
		font-size: 3rem;
		line-height: 3.4rem;
	}
	.cv_contact ul li > a .contact_inside em {
		margin: 1rem auto 0rem auto;
	}
}

/*------------------------------------
　モーダル @ 2022.02.14
------------------------------------*/
/* モーダル */
.modalOverlay {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	background: rgba(255,255,255, .75);
	z-index: 1000;
}
.modalShowBox {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 0px;
	height: 0px;
	background: rgba(255,255,255, 1);
	animation: modal_open .2s ease-in 0s 1 normal forwards;
	overflow-y: scroll;
	z-index: 1100;
}
.modalShowBox .movie_box iframe {
	width: 100%;
}
.modalShowBox .close_btn {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	flex-wrap: wrap;
	flex-shrink: 0;
	flex-basis: auto;
	justify-content: center;
	align-items: center;
	background: #fff;
	border-radius: 50%;
	cursor: pointer;
}
.modalShowBox .btn_box {
	transition: .3s;
}
.modalShowBox .btn_box .btn_inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	transition: .3s;
}
.modalShowBox .btn_box .btn_inner .btn_txt {
	position: relative;
	font-weight: bold;
	transition: .3s;
}
.modalShowBox .btn_box .btn_inner .btn_txt:before {
	position: absolute;
	left: 0;
	content: "×";
	transition: .3s;
}
.modalShowBox .btn_box:hover .btn_inner .btn_txt,
.modalShowBox .btn_box:hover .btn_inner .btn_txt:before {
	color: #fff;
}

@keyframes modal_open {
	0% {
		width: 0px;
		height: 0px;
	}
	100% {
		width: min(90%, 855px);
		height: min(62%, 750px);
	}
}

@media screen and (min-width: 767px) {
	/*PC*/
	.modalShowBox .modal_box_inner {
		padding: 60px 20px;
	}
	.modalShowBox .movie_box iframe {
		height: 470px;
	}
	.modalShowBox .modal_profile_box .btn_box {
		margin-bottom: 40px;
	}
	.modalShowBox .close_btn {
		top: 20px;
		right: 20px;
		width: 30px;
		height: 30px;
	}
	.modalShowBox .btn_box {
		width: min(80%, 400px);
		margin: 30px auto 0;
	}
	.modalShowBox .btn_box .btn_inner {
		padding: 15px 20px;
	}
	.modalShowBox .btn_box .btn_inner .btn_txt {
		font-size: 1.2em;
		padding-left: 1.2em;
	}
}
@media screen and (max-width: 767px) {
	/* SP */
	.modalShowBox .modal_box_inner {
		padding: 60px 10px;
	}
	.modalShowBox .movie_box iframe {
		height: 220px;
	}
	.modalShowBox .modal_profile_box .btn_box {
		margin-bottom: 40px;
	}
	.modalShowBox .close_btn {
		top: 20px;
		right: 20px;
		width: 30px;
		height: 30px;
	}
	.modalShowBox .btn_box {
		width: 100%;
		margin: 30px auto 0;
	}
	.modalShowBox .btn_box .btn_inner {
		padding: 10px 20px;
	}
	.modalShowBox .btn_box .btn_inner .btn_txt {
		padding-left: 1.2em;
	}
}

/*------------------------------------
　アコーディオンパネル @ 2022.02.15
------------------------------------*/
/*ACCパネル関連*/
.accTrigger {
	position: relative;
	cursor: pointer;
}
.accTrigger:before,
.accTrigger:after {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0, -50%);
	content: "";
	background: var(--Color_main_text);
	transition: .3s;
}
.accTrigger:before {
	transform: translate(0, -50%) rotate(90deg);
	transform-origin: center center;
}
.accTrigger.show:before {
	transform: translate(0, -50%) rotate(0deg);
}
.accContents {
	display: none;
}

.accMoreContents {
	position: relative;
	height: 450px;
	overflow: hidden;
	transition: .5s;
}
.accMoreContents:before {
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 200px;
	background: linear-gradient(-180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 80%);
	z-index: 5;
	transition: .5s;
}
.accMoreContents.show:before {
	height: 0;
}
.accMoreTrigger {
	position: relative;
	z-index: 6;
}
@media screen and (min-width: 767px) {
	/*PC*/
	/*ACCパネル関連*/
	.accTrigger:before,
	.accTrigger:after {
		right: 18px;
		width: 30px;
		height: 5px;
	}
}
@media screen and (max-width: 767px) {
	/*SP*/
	/*ACCパネル関連*/
	.accTrigger:before,
	.accTrigger:after {
		top: 70%;
		right: 18px;
		width: 30px;
		height: 5px;
	}
}