@charset "UTF-8";

/* -----------------------------------------------
 *  	         component.css
 * ----------------------------------------------- */


/* -----------------------------------------------
 *  	         textSetting
 * ----------------------------------------------- */

/* =====================content_are※common.css上書き===================== */
 div.content_area {
    padding: 30px 0 8% 0 !important;
}

/* =====================heading1===================== */
/*001 top header*/
h1.heading1_001{
	max-width: 768px;
	margin: auto;
	}
/* 768px */
@media only screen and (max-width: 48em) {
h1.heading1_002{
	font-size:30px;
	font-size:3.0rem;
	}
}

/* =====================heading2===================== */
/* 002 */
h2.heading2_002{
	position: relative;
	margin:0 0 20px 0;
	padding:0;
	text-align:left;
	font-size:3.6em;
	font-size:36px;
	line-height:1.4;
	letter-spacing: 1.4px;
	font-family: 'Oswald', sans-serif;
	}
h2.heading2_002 span{
	display:block;
	font-size:14px;
	font-weight:normal;
	font-family:"Noto Sans Japanese";
	}


/* =====================a===================== */
/* リンク領域全体/ホバーで白 */
a.a_typeA{ 
	display: block;
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: all 0.3s;
	}
a.a_typeA:hover{ 
	background-color: rgba(255,255,255,0.2);
	}

/*　詳細はこちら -ニュース用- */
a.link_more::after{
    content: "More >>";
    position: absolute;
    right: 10px;
    bottom:10px;
    font-size: 15em;
    font-size: 15px;
    color: #acacac;
}

a.link_official::after{
    content: "Official Site >>";
    position: absolute;
    right: 10px;
    bottom:10px;
    font-size: 15em;
    font-size: 15px;
    color: #acacac;
}

/* =====================P===================== */
/* 001 デフォルト本文 ★ */
.txt_001{
	margin-bottom:0;
	font-size:2.1em;
	font-size:21px;
    font-family:"Noto Sans Japanese";
	font-weight:normal;
	line-height: 1.5;
	}

/* 002 金額 ★ */
.txt_002{
	margin: 0;
	padding: 0;
	border: 0;
	font-size:1.4em;
	font-size:14px;
	font-weight:normal;
	line-height: 1.2;
	}
.txt_002 span{
	font-size:1.4em;
	font-size:14px;
	}
.txt_002 strong{
	font-size:1.8em;
	font-size:18px;
	}
	
/* 003 */
.txt_003{
	margin:0;
	padding: 0;
	font-size:1.4em;
	font-size:14px;
	line-height:1.5;
	letter-spacing: 0;
	text-align: center;
	}

/* 768px */
@media only screen and (max-width: 48em) {
.txt_001{
	font-size:1.6em;
	font-size:16px;
	}
.txt_002{
	font-size:1.2em;
	font-size:12px;
	}
.txt_002 span{
	font-size:1.2em;
	font-size:12px;
	}
.txt_002 strong{
	font-size:1.4em;
	font-size:14px;
	}
.txt_003{
	font-size:1.3em;
	font-size:13px;
	}
}

/* ============= リードテキスト =================== */
/* 英文リードデフォルト TOP冒頭 ★ */
.lead_txt_001{
	margin:0;
	font-size:2.8em;
	font-size:28px;
	line-height:1.5;
	font-weight:bold;
	letter-spacing:1.4px;
	text-align: left;
	font-family: 'Oswald', sans-serif;
	}
@media only screen and (max-width: 48em) {
.lead_txt_001{
	font-size:1.8em;
	font-size:18px;
	text-align: center;
	}
}
/* 480px */
@media only screen and (max-width: 30em) {
.lead_txt_001{
    margin: 0 0 8px 0;
	font-size:1.5em;
	font-size:15px;
	}
}

/* リード ★ */
.lead_txt_002{
	margin:0;
	font-size:2.8em;
	font-size:28px;
	line-height:1.5;
	font-weight:bold;
	letter-spacing:1.4px;
	text-align: center;
	font-family: "Noto Sans Japanese", "メイリオ", "Meiryo", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
	}

@media only screen and (max-width: 48em) {
.lead_txt_002{
	font-size:1.8em;
	font-size:18px;
	text-align: left;
	}
}
/* 480px */
@media only screen and (max-width: 30em) {
.lead_txt_002{
    margin: 0 0 8px 0;
	font-size:1.5em;
	font-size:15px;
	}
}

/* 日本文リードデフォルト ★ */
.lead_txt_003{
	margin:0 0 5px 0;
	font-size:1.8em;
	font-size:18px;
	line-height:1.5;
	font-weight: normal;
	}
.lead_txt_003 span{
	font-size:2.4em;
	font-size:24px;
	font-weight: bold;
	color: #e60044;
	border-bottom: 1px solid #e60044;
	}
@media only screen and (max-width: 48em) {
.lead_txt_003{
	font-size:1.3em;
	font-size:13px;
	}
.lead_txt_003 span{
	font-size:1.6em;
	font-size:16px;
	}
}

.lead_txt_004{
	margin:0;
	font-size:2.8em;
	font-size:28px;
	line-height:1.2;
	font-weight:bold;
	letter-spacing:1.4px;
	text-align: center !important;
	font-family: "Noto Sans Japanese", "メイリオ", "Meiryo", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
	}
.lead_txt_004 span{
	color: rgb(231, 19, 65);
	}
.lead_txt_004 strong{
	font-size:4.8em;
	font-size:48px;
	}
.lead_txt_004 strong.type2{
	font-size:6.2em;
	font-size:62px;
	/*font-style: italic;*/
	margin-right: 3px;
	}
@media only screen and (max-width: 48em) {
.lead_txt_004 strong{
	font-size:2.1em;
	font-size:21px;
	}
.lead_txt_004{
	font-size:1.6em;
	font-size:16px;
	text-align: left;
	}
.lead_txt_004 strong.type2{
	font-size:2.8em;
	font-size:28px;
	}
}


/* =====================Article===================== */
article.general_arti_01{
	padding: 20px 0 10px 0;
	}


/* =====================flexBox===================== */
/*flex_center 1段 中央 */
.flex_center{
	display: flex;
	align-items: center;
	justify-content: center;
}
.flex_center > div.flex_center_inner{
	width: 100%;
}


/*flex_1A 1段 50→100 */
.flex_1A{
	display: flex;
	justify-content: center;
}
.flex_1A div:first-child{
	width: 49%;
}
@media only screen and (max-width: 30em) {
.flex_1A{
	display: block;
}
.flex_1A div:first-child{
	width: 100%;
	margin: 0 0 30px 0;
}
}

/*flex_2A 2段 48:48 */
.flex_2A{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex_2A div, .flex_2A section{
    width: 49%;
}

@media only screen and (max-width: 48em) {
.flex_2A{
}
.flex_2A div, .flex_2A section{
	width: 100%;
	margin: 0 0 10px 0;
}
}

/*flex_2B 2段 67:30*/
.flex_2B{
	display: flex;
	justify-content: space-between;
}
.flex_2B .flex_2B_innerA{
	width: 67%;
}
.flex_2B .flex_2B_innerB{
	width: 30%;
}
@media only screen and (max-width: 48em) {
.flex_2B{
	display: block;
}
.flex_2B .flex_2B_innerA{
	width: 100%;
	margin: 0 0 10px 0;
}
.flex_2B .flex_2B_innerB{
	width: 100%;
}
}


/*flex_2C 2段 55:45 */
.flex_2C{
	display: flex;
}
.flex_2C div:first-child{
	width: 45%;
}
.flex_2C div:nth-child(2){
	width: 55%;
}
@media only screen and (max-width: 30em) {
.flex_2C{
	display: block;
}
.flex_2C div:first-child{
	width: 100%;
}
.flex_2C div:nth-child(2){
	width: 100%;
}
}

/*flex_2D 2段 50:50 中央寄せ */
.flex_2D{
	display: flex;
	align-items: center;
	justify-content: center;	
}
.flex_2D div.flex_2D_inner, .flex_2D section.flex_2D_inner{
	width: 50%;
}

@media only screen and (max-width: 30em) {
.flex_2D{
	display: block;
}
.flex_2D div.flex_2D_inner, .flex_2D section.flex_2D_inner{
	width: 100%;
}
}

/*flex_2E 2段 48:48→100 */
.flex_2E{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex_2E div.flex_2E_inner, .flex_2E section.flex_2E_inner{
	width: 48%;
}
@media only screen and (max-width: 30em) {
.flex_2E{
	display: block;
}
.flex_2E div.flex_2E_inner, .flex_2E section.flex_2E_inner{
	width: 100%;
}
}

/*flex_3A 3段 32%左右均等配置*/
.flex_3A{
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
}
.flex_3A > div, .flex_3A > li , .flex_3A > section{
	width: 31.5%;
	margin: 0 0 10px 0;
}

@media only screen and (max-width: 48em) {
.flex_3A{
	display: block;
}
.flex_3A > div, .flex_3A > li , .flex_3A > section{
	width: 100%;
	margin: 0 0 10px 0;
}
}


/*flex_3B 3段 32% 左寄せ配置右空き ソート対策用*/
.flex_3B{
	display: flex;
	flex-wrap: wrap;
	justify-content:flex-start;
}
.flex_3B > div, .flex_3B > li , .flex_3B > section{
	width: 31%;
	margin: 0 2% 10px 0;
}

@media only screen and (max-width: 48em) {
.flex_3B{
	display: block;
}
.flex_3B > div, .flex_3B > li , .flex_3B > section{
	width: 100%;
	margin: 0 0 10px 0;
}
}


/*flex_3C 3段 32%左右均等配置→1段*/
.flex_3C{
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
}
.flex_3C > div, .flex_3C > li , .flex_3C > section{
	width: 32%;
	margin: 0 0 20px 0;
}

@media only screen and (max-width: 48em) {
.flex_3C > div, .flex_3C > li , .flex_3C > section{
	width: 100%;
	margin: 0 0 30px 0;
}
}


/*flex_3D 3段 32%左右均等配置→2段*/
.flex_3D{
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
}
.flex_3D > div, .flex_3D > li , .flex_3D > section{
	width: 32%;
	margin: 0 0 20px 0;
}

@media only screen and (max-width: 48em) {
.flex_3D > div, .flex_3D > li , .flex_3D > section{
	width: 49%;
	margin: 0 0 30px 0;
}
}

/* =====================BTN===================== */
/* btn_01 */
.btn_01{
	width: 300px;
	margin: 0 auto;
	}
.btn_01 a{
	display: block;
	width: 100%;
	font-size: 15px;
	padding: 15px 0;
	letter-spacing: 1.3px;
	line-height: 1;
	text-align: center;
	background-color: #000;
	vertical-align: middle;
	color: #fff;
	background-image: url(/members/common/svg/svg_icon_btn_01.svg);
	background-repeat:no-repeat;
	background-position: right 10px center;
	background-size: 15px 30px;
	transition: all 0.3s;
	text-decoration: none;
	}
.btn_01 a:hover{
	background-position: right 3px center;
	}
    
.line-color a{
	background-color: #00B900 !important;
	}

/* 768px */
@media only screen and (max-width: 48em) {
.btn_01 a{
	}
}
/* 480px */
@media only screen and (max-width: 30em) {
.btn_01 a{
	}
}

/* btn_02 予約ボタン width100% */
.btn_02{
	width: 100%;
	}
.btn_02 a{
	display: block;
	width: 100%;
	font-size: 15px;
	padding: 15px 0;
	letter-spacing: 1.3px;
	line-height: 1;
	text-align: center;
	background-color: #000;
	vertical-align: middle;
	color: #fff;
	background-image: url(/members/common/svg/svg_icon_btn_01.svg);
	background-repeat:no-repeat;
	background-position: right 10px center;
	background-size: 15px 30px;
	transition: all 0.3s;
	text-decoration: none;
	}
.btn_02 a:hover{
	background-position: right 3px center;
	}
	
/* btn_02 予約ボタン 開始前のリンク無し */
.btn_02pre{
	width: 100%;
	display: block;
	width: 100%;
	font-size: 15px;
	padding: 15px 0;
	letter-spacing: 1.3px;
	line-height: 1;
	text-align: center;
	background-color: #666;
	vertical-align: middle;
	color: #fff;
	background-image: url(/members/common/svg/svg_icon_btn_01.svg);
	background-repeat:no-repeat;
	background-position: right 10px center;
	background-size: 15px 30px;
	transition: all 0.3s;
	text-decoration: none;
	}

/* btn_03 モーダルボタン */
.btn_03{
    width: 100%;
    border: 2px solid #000000;
}
.btn_03 a{
    display: block;
    width: 100%;
	font-size: 15px;
	padding: 15px 0;
    letter-spacing: 1.3px;
    font-weight: bold;
	line-height: 1;
    text-align: center;
    text-decoration: none;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}
.btn_03 a:hover{
    background: #000000;
    color: #ffffff;
}

/* btn_04 左寄せ300px → 中央100% | contact */
.btn_04{
	width: 300px;
	}
.btn_04 a{
	display: block;
	width: 100%;
	font-size: 15px;
	padding: 15px 0;
	letter-spacing: 1.3px;
	line-height: 1;
	text-align: center;
	background-color: #000;
	vertical-align: middle;
	color: #fff;
	background-image: url(/members/common/svg/svg_icon_btn_01.svg);
	background-repeat:no-repeat;
	background-position: right 10px center;
	background-size: 15px 30px;
	transition: all 0.3s;
	text-decoration: none;
	}
.btn_04 a:hover{
	background-position: right 3px center;
	}

/* 768px */
@media only screen and (max-width: 48em) {
.btn_04 {
    width: 100%;
    margin: 0 auto;
}
}


/* ==================== 特典ボックス ==================== */
.special_box{
	position: relative;
	border: #b69458 2px solid;
	padding: 5%;
	background-color: #FFFFFF;
}
.special_box .icon1{
	position: absolute;
	top: -100px;
	left: 0;
}
.special_box .icon1 img{
	width: 200px;
}
/* 768px */
@media only screen and (max-width: 48em) {
.special_box{
	margin-top: 60px;
	padding-top: 95px;

}
.special_box .icon1{
	position: absolute;
	top: 17px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.special_box .icon1 img{
	width: 150px;
}
}


/* ==================== OPTIONエリア ==================== */
.option_area{
	position: relative;
	border: #b69458 2px solid;
	padding: 5%;
	background-color: #FFFFFF;
}
/* 768px */
@media only screen and (max-width: 48em) {
.option_area{
	padding-top: 50px;
}
}


/* ==================== 色 ==================== */
.color_red{ color: #e60044;}


/* ==================== 注釈 ==================== */
small{
	font-size: 1.4rem;
	font-size: 14px;
}
/* 768px */
@media only screen and (max-width: 48em) {
small{
	font-size: 1.2rem;
	font-size: 12px;
}
}

/* 1400px */
@media only screen and (max-width: 87.5em) {
}
/* 1024px */
@media only screen and (max-width: 64em) {
}
/* 960px */
@media only screen and (max-width: 60em) {
}
/* 768px */
@media only screen and (max-width: 48em) {
}
/* 720px */
@media only screen and (max-width: 45em) {
}
/* 600px */
@media only screen and (max-width: 37.5em) {
}
/* 480px */
@media only screen and (max-width: 30em) {
}
/* 320px */
@media only screen and (max-width: 20em) {
}