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

/* 打ち消し */
#maincontents {
    width: initial;
}
.campaign #main_contents {
    width: initial;
}
#cpn_contents {
    width: initial;
}






#bg_s{
	background-image: url("../img/over01.png");
	background-repeat: no-repeat;
	background-position: center top 20px;
}

#main-box {
	text-align: center;
	margin: 0px auto 10px;
/*	position: absolute;*/
}

#main-box .tit_h1{
	margin: 30px auto;
	text-align: center;
	width: 621px;
	height: 305px;
}
#main-box .price_img{
	margin: 0 auto;
	text-align: center;
	width: 332px;
	height: 66px;
}

#main-box .tit_h2{
	margin: 30px auto 0;
	text-align: center;
	width: 992px;
	height: 148px;
}

div#limited_offer {
	width: 100%;
	background-color: #009C42;
	padding:0 0 50px;
	background-image: url("../img/over02.png");
	background-repeat: no-repeat;
	background-position: center top;
}



#limited_offer .tit_h3{
	margin: 40px 0 20px;
	text-align: center;
}
#limited_offer > img{
	margin: 0 auto;
	text-align: center;
}

#how_to_join {
	width: 1008px;
	margin: 0 auto;
	text-align: center;
}

#how_to_join .tit_h3{
	margin: 50px auto;
	text-align: center;
}
#how_to_join .tit_h4{
	margin: 50px auto;
	text-align: center;
	width: 925px;
	height: 54px;
}

#how_to_join img{
	margin: 0 auto;
	text-align: center;
}
#how_to_join span img{
	margin: 30px 0 0 9px;
	text-align: center;
}


#requirements {
	width: 100%;
	background-image: url("../img/bg.png");
	margin: 0 auto;
	text-align: center;
	position: relative;
    background-repeat: repeat;
}
#requirements .tit_h3{
	margin: 20px auto;
	text-align: center;
}
#requirements #details_txt {
	margin: 0 auto;
	text-align: center;
	width: 980px;
	position: relative;
}
#requirements #details_txt .details_space {
	border-radius: 20px;
	background-color: #ffffff;
	margin: 0 0 30px;
	padding: 15px;
}

#requirements #details_txt .details_space .headline_txt {
	display: table-cell;
	vertical-align: middle;
	width: 240px;
	border-right: #B9A84B solid 2px;
	text-align: center;
	margin: auto;
}
#requirements #details_txt .details_space .details_txt {
	display:table-cell;
	vertical-align: middle;
	text-align: left;
}
#requirements #details_txt .details_space .details_txt p {
	margin-left: 20px;
	font-size: 12pt;
	font-family: "メイリオ", "Meiryo", "YuGothic", "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ Pro W4", "Hiragino Maru Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}
#requirements #details_txt .details_space .details_txt p.m-b{
	margin-bottom: 10px;
}
#requirements #details_txt .details_space .details_txt p.m-b img{
	margin-right: 16px;
}
#requirements #details_txt .details_space.last_item{
	margin-bottom: 30px;
}

#requirements #details_txt img.arrangement01 {
	position: absolute;
	bottom: -70px;
	left: 40px;
}
#requirements #details_txt img.arrangement02 {
	position: absolute;
	bottom: -70px;
	right: 40px;
}
.red {
	color: #FF0004;
	font-weight: bold;
}
.bold {
	font-weight: bold;
}

.clr{
	clear:both;
	overflow:hidden;
	width:1px;
	height:1px;
	margin:0px -1px -1px 0px;
	border:0px;
	padding:0px;
	font-size:0px;
	line-height:0px;
}


/*スライダー*/
.custom-thumb{
	width: 996px;
	margin: 0 auto;
	text-align: left;
}
.custom-thumb a{
	margin: 5px 10px 5px;
}

/* slidewrapper */
#slidewrapper {
	position: relative;
	width: 972px;
	height: 600px;
	overflow: hidden;
}
#slidewrapper ul li {
	display: block;
	float: left;
}
#images { overflow: hidden; }
#thumbs {
	overflow: hidden;
}
#images {
	width: 690px;
	height: 425px;
}
#thumbs { }
#thumbs img {
	width: 304px;
	height: 64px;
	margin: 5px 10px 40px;
	cursor: pointer;
}
#thumbs img.selected {
	opacity: 0.8;
	-ms-filter: "alpha( opacity=80 )";
	filter: alpha(opacity=80);
}

/* 新しいコース一覧 */

div#about_box{
	border-radius: 28px;
	text-align: center;
	width: 1000px;
	margin: 0 auto;
}

div#about_box section{
	margin: 1% auto;
	overflow: hidden;
	width: 98%;
	text-align:left;
}
div#about_box section h3{
	margin: 12px auto 8px;
	width: 100%;
	border-radius: 20px;
	background-color: #b9a84b;
	color: #ffffff;
	text-align: center;
}
div#about_box section ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
	padding: 0;
}
div#about_box section ul.three {
	width: 730px;
}
div#about_box section ul li{
	padding: 6px 5px 4px;
	color: #ffffff;
	font-size: 12px;
	border-bottom: #eeeeef 1px solid;
	box-sizing: border-box;
	width: 230px;
	text-align: left;
}
div#about_box section ul li span{
	letter-spacing:-0.17em;
}


div#about_box h2{
	width: 900px;height: 19px; margin: 0 auto !important;padding: 0 !important;
	background: none !important;
	border: none !important;
}
div#about_box div.place > div h3,
div#about_box div.place_triple h3,
div#about_box div.place_triple_fst h3{
	margin: 0 auto !important;padding: 0 !important;
	background: none !important;
	border: none !important;
}

div#about_box p{
	width: 900px;margin: 30px auto 0 !important;
}
div#about_box .area_title {
	margin: 30px auto !important;
}

div#about_box div.place,
div#about_box div.place_triple,
div#about_box div.place_triple_fst{
	display: flex;justify-content: space-between;
	width: 900px;margin: 0 auto;padding: 0 0 15px;
}
div#about_box div.place_triple > div{
	width: 217px;
}
div#about_box div.place_triple > div{
	width: 217px;
}
div#about_box div.place_triple > div:nth-child(3){
	width: 445px;
}
div#about_box div.place_triple_fst > div{
	width: 445px;
}
div#about_box div.place_triple_fst > div:nth-child(2){
	width: 217px;
}
div#about_box div.place_triple_fst > div:nth-child(3){
	width: 217px;
}
div#about_box div.place > div{
	width: 445px;
}


/*--------------------------------------------------
**************************************************
 コメ印
**************************************************
--------------------------------------------------*/
.disclaimerBlock {
	letter-spacing: 1px;
}
.disclaimerBlock_bnr {
	font-weight: bold;
	color: #323232;
	font-size: 16px;
	background-color: #f0f0f0;
	padding: 12px;
	line-height: 1em;
	margin: 40px 0 20px;
	border-left: 4px solid #019833;
	letter-spacing: 0;
}
.disclaimerBlock_text {
	color: #323232;
	font-size: 12px;
	line-height: 1.6em;
	padding-left: 20px;
}
.disclaimerBlock_text_text01 {
	font-weight: bold;
	padding-bottom: 10px;
}
.disclaimerBlock_text--period {
	font-size: 19px;
	font-weight: bold;
	line-height: 1.5;
	color: #f00;
}
.disclaimerBlock_text--strong {
	font-weight: bold;
	color: #f00;
}
.disclaimerBlock_text--bold {
	font-weight: bold;
}
.disclaimerBlock_li--kome {
	position: relative;
	margin-top: 0.2em;
	padding-left: 1.2em;
}
.disclaimerBlock_li--kome::before {
	position: absolute;
	content: "※";
	display: inline-block;
	top: 0;
	left: 0;
	width: 1em;
	height: 1em;
}
.disclaimerBlock_li--num {
	position: relative;
	padding-left: 1.5em;
	margin-top: 0.2em;
}
.disclaimerBlock_li--num .innerNum {
	position: absolute;
	display: inline-block;
	top: 0;
	left: 0;
}

/*--------------------------------------------------
**************************************************
 タブ切り替え
**************************************************
--------------------------------------------------*/
.tab-wrap {
	background: #009c42;
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	padding: 0 0 20px;
}

.tab-label {
	background:#b9a84b;
	cursor: pointer;
	flex: 1;
	font-weight: bold;
	order: -1;
	padding: 12px 24px;
	position: relative;
	text-align: center;
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s;
	user-select: none;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
}

.tab-label:hover {
	background: rgba(0, 191, 255,.1);
}

.tab-switch:checked + .tab-label {
	color: #fff;
}

.tab-label::after {
	background: #814124;
	bottom: 0;
	content: '';
	display: block;
	height: 3px;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: translateX(100%);
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s 80ms;
	width: 100%;
	z-index: 1;
}

.tab-switch:checked ~ .tab-label::after {
	transform: translateX(-100%);
}

.tab-switch:checked + .tab-label::after {
	opacity: 1;
	transform: translateX(0);
}

.tab-content {
	height:0;
	opacity:0;
	pointer-events:none;
	transform: translateX(-30%);
	transition: transform .3s 80ms, opacity .3s 80ms;
	width: 100%;
}

.tab-switch:checked ~ .tab-content {
	transform: translateX(30%);
}

.tab-switch:checked + .tab-label + .tab-content {
	height: auto;
	opacity: 1;
	order: 1;
	pointer-events:auto;
	transform: translateX(0);
}

.tab-wrap::after {
	content: '';
	height: 20px;
	order: -1;
	width: 100%;
}

.tab-switch {
	display: none;
}