@charset "Shift_JIS";

/* fadein
---------------------------------------------------- */
.fadein {
	opacity : 0;
	transform : translate(0, 30px);
	transition : all 1000ms;
}
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}

.fadein_r {
	opacity : 0;
	transform : translate(30px);
	transition : all 1000ms;
}
.fadein_r.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}

.fadein_img {
	transition: transform 0.7s;
	transform: scale(0.9);
	opacity: 0;
}
.fadein_img.scrollin {
	opacity: 1;
	transform: scale(1);
}

.fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeUpAnime{
	from {
	opacity: 0;
		transform: translateY(30px);
	}
	to {
	opacity: 1;
		transform: translateY(0);
	}
}


/* index
---------------------------------------------------- */

/* main */
.index_main {
	width: 100%;
	height: 860px;
	position: relative;
}
.index_main h1 {
	font-size: 60px;
	line-height: 72px;
	color: #FFF;
	position: absolute;
	left: 10%;
	bottom: 100px;
	z-index: 100;
	letter-spacing: 1.054rem;
}

.index_main h1 span {
	animation: blinkAnime 1s infinite alternate;
}

.index_main h1 span.strong {
	font-size: 60px;
	font-weight: bold;
	margin: 0;
	padding: 0;
	animation:none;
	letter-spacing: -0.05rem;
}

.index_main h1 span.shortest {
	color: #FFF;
	animation:none;
	letter-spacing: -0.5rem;
}


@keyframes zoomUp {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	100% {
		-webkit-transform: scale(1.15);
		transform: scale(1.15);
	}
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
	-webkit-animation: zoomUp 12s linear 0s;
	animation: zoomUp 12s linear 0s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
.swiper-slide {
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.slide-img {
	background-size: cover;
	background-position: center center;
	height: 860px;
}

/* h2 */
.index_h2 {
	font-size: 60px;
	font-weight: normal;
	line-height: 72px;
}
.index_h2 span {
	animation: blinkAnime 1s infinite alternate;
}
@keyframes blinkAnime{
	0% { color: #FFF }
	100% { color: #e2a107 }
}
@keyframes blinkAnime2{
	0% { color: #333 }
	100% { color: #e2a107 }
}
@keyframes blinkAnime3{
	0% { color: #FFF }
	100% { color: #c8995a }
}



/* support */
.index_support {
	padding: 120px 0;
}

.index_support .campaign_bn:nth-child(odd) { /* 2506鶴見追加　*/
	padding: 0px 30px 30px 0;
}

.index_support .campaign_bn {
	padding: 0px 0px 30px 0px;     /* 2506鶴見修正　　ボトム100pxから　*/
	display: inline-block;     /* 2506鶴見追加　*/
	width: 520px;
}

.index_support .campaign_bn:nth-child(4) {   /* 2506鶴見追加　*/
	margin: 0 0 100px;
}

.index_support .campaign_bn img {
	max-width: 100%;
}

.index_support p span {
	color: #e2a107;
}
.swiper-container2 {
	position: relative;
	padding: 100px 0;
}
.swiper-container2 .swiper-slide {
	width: 420px!important;
	height: 315px;
	overflow: hidden;
	position: relative;
}
.swiper-container2 .swiper-slide img {
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.swiper-container .swiper-slide:nth-child(1) .slide-img {
	background-image: url('../images/index/slide01.jpg');
}

.swiper-container .swiper-slide:nth-child(2) .slide-img {
	background-image: url('../images/index/slide02.jpg');
}

.swiper-container .swiper-slide:nth-child(3) .slide-img {
	background-image: url('../images/index/slide03.jpg');
}



/* member */
.index_member {
	padding: 120px 0;
	background-image: url("../images/index/member_bg.jpg");
	background-position: center center;
	background-size: cover;
}
.index_member .index_h2 {
	text-align: center;
	color: #333333;
}
.index_member .index_h2 span {
	animation: blinkAnime2 1s infinite alternate;
}
.index_member ul {
	margin: 70px 0 0 -100px;
}
.index_member ul li {
	float: left;
	width: 490px;
	margin-left: 100px;
}
.index_member ul li a {
	display: block;
	border: 8px solid #e2a107;
	background-size: cover;
}
.index_member ul li:nth-child(1) a {
	background-image: url("../images/index/member01.jpg");
}
.index_member ul li:nth-child(2) a {
	background-image: url("../images/index/member02.jpg");
}
.index_member ul li a h3 {
	text-align: center;
	font-size: 36px;
	color: #FFF;
	padding: 40px 0 0;
}
.index_member ul li a h3 span {
	display: block;
	font-size: 20px;
	font-weight: normal;
}
.index_member ul li a .txt {
	text-align: center;
	color: #FFF;
	padding: 80px 0 50px;
}
.index_member ul li a .more {
	text-align: right;
	color: #FFF;
	padding: 10px 40px 5px 0;
	background-color: #e2a107;
	background-image: url("../images/index/arr.png");
	background-position: right top 21px;
	background-repeat: no-repeat;
}

/* campaign */
.index_campaign {
	padding: 120px 0;
}

.index_campaign.next {
	padding: 0px 0 120px 0;
}

.index_campaign .inner {
	max-width: 1300px;
	min-width: 1080px;
	margin: 0 auto;
	padding: 100px;
	background-color: #2b2b2b;
	border: 1px solid #c8995a;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
.index_campaign .inner .index_h2 {
	text-align: center;
}
.index_campaign .inner .index_h2 span {
	animation: blinkAnime3 1s infinite alternate;
}


.index_campaign .inner .range_title {
	text-align: left;
	padding-top: 120px;
	font-size: 2.8rem;
}

.index_campaign .inner .range_title span {
	animation: blinkAnime3 1s infinite alternate;
}

.index_campaign.next .inner .txt {
	font-size: 32px;
}

.index_campaign.next .inner .txt span {
	font-size: 40px;
	color: #c8995a;
}

.index_campaign.next .inner .txt.p_right div {
	display: block;
	float: left;
}

.index_campaign.next .inner .txt.p_right p {
	clear: both;
	display: block;
	text-align: left;
	padding: 0 0.8rem 0 0;
	margin: 0;
}

.index_campaign .inner .catch {
	text-align: center;
	padding-top: 40px;
}

.index_campaign .inner .date {
	text-align: center;
}

.index_campaign .inner .price {
	text-align: center;
	font-size: 36px;
	padding-top: 80px;
}
.index_campaign .inner .price span {
	font-size: 60px;
	color: #c8995a;
}
.index_campaign .inner ul {
	margin: 65px 0 10px;
	border-top: 1px solid #c8995a;
}
.index_campaign .inner ul li {
	border-bottom: 1px solid #c8995a;
	display: flex;
	align-items: center;
	padding: 70px 0;
}
.index_campaign .inner ul li .num {
	font-size: 60px;
	color: #c8995a;
	width: 200px;
	line-height: 54px;
}
.index_campaign .inner ul li .num span {
	font-size: 24px;
	display: block;
}
.index_campaign .inner ul li .txt span {
	font-size: 48px;
	color: #c8995a;
}
.index_campaign .inner .note {
	font-size: 14px;
	padding-left: 1em;
	text-indent: -1em;
}


.index_campaign .inner ul li .txt_wrap {
	width: 100%;
}

.index_campaign .inner ul li .txt_main {
	text-align:
	left;float:
	left;margin:
	10px 0px;
}

.index_campaign .inner ul li .txt_price {
	text-align: right;
	margin: 10px 0px;
}


.index_campaign .inner ul li .txt_guide {
	padding-left: 1em;
}


.index_campaign .inner .cp_btn {
	text-align: center;
}

.index_campaign .inner .cp_btn a {
	color: #FFFFFF;
}

.index_campaign .inner .cp_btn_guide {
	text-align: center;
	margin-top: 10px;
}


/* top selecter campaign */

.wrapper_campaign {
	padding: 0px 0 70px 0;
}


.anc {
	margin-top: -100px;
	padding-top: 100px;
	display: block;
}

.anc_btn_wrap {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

a.anchor_btn {
	line-height: 10px;
	display: inline-block;
	border: 1px solid #FFF;
	text-align: center;
	font-size: 20px;
	font-weight: 550;
	color: #000;
	background-color: #e2a107;
	width: auto;
	padding: 20px;
	margin: 40px 20px 0 20px;
	max-width: 100%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	outline: none;
	overflow: hidden;
	position: relative;
}

/* obsession */
.index_obsession {
	padding: 120px 0;
}
.index_obsession ul {
	padding-top: 40px;
}
.index_obsession ul li {
	padding: 40px 0;
	border-bottom: 1px solid #5c5c5c;
}
.index_obsession ul li:last-child {
	border-bottom: none;
}
.index_obsession ul li img {
	float: left;
	width: 340px;
}
.index_obsession ul li .inner {
	padding-left: 420px;
}
.index_obsession ul li .inner h3 {
	font-size: 36px;
	font-weight: normal;
	padding-bottom: 25px;
	line-height: 48px;
}
.index_obsession ul li .inner span {
	color: #e2a107;
}

/* obsession */
.index_contents {
	padding: 120px 0;
	color: #333;
	background-color: #e8e8e8;
	border-bottom: 1px solid #cacaca;
}
.index_contents .index_h2 span {
	animation: blinkAnime2 1s infinite alternate;
}
.index_contents .inner {
	float: left;
	width: 398px;  /* 2508鶴見修正　: 360px; から*/
}
.index_contents .inner p {
	padding-top: 30px;
}
.index_contents .inner a.btn {
	margin-top: 30px;
}
.index_contents ul {
	margin: -40px 0 0 540px;
	display: grid;
}
.index_contents ul li {
	padding: 40px 0;
	border-bottom: 1px solid #cacaca;
}
.index_contents ul li:last-child {
	padding: 40px 0 0;
	border-bottom: none;
}
.index_contents ul.price {
	line-height: 1.5;
}
.index_contents ul.price span {
	font-size: 48px;
	color: #e2a107;
}
.index_contents ul.step .num {
	float: left;
	font-size: 36px;
	color: #e2a107;
}
.index_contents ul.step .txt {
	padding-left: 175px;
}

.index_contents .inner .reserve_btn img {  /* 2508鶴見追加　*/
	padding-top: 40px;
}

/* faq */
.index_faq {
	padding: 120px 0;
}
.index_faq .index_h2 {
	text-align: center;
	padding-bottom: 30px;
}
.index_faq dl {
	padding: 40px 0 40px;
	border-bottom: 1px solid #cacaca;
}
.index_faq dl .num {
	float: left;
	font-size: 24px;
}
.index_faq dl .txt {
	padding-left: 140px;
}
.index_faq dl dt {
	font-size: 24px;
	line-height: 1.5;
	position: relative;
}
.index_faq dl dt::before {
	position: absolute;
	right: 0;
	top: 0;
	content: "\FF0B";
	font-size: 24px;
}
.index_faq dl dt.open::before {
	content: "\30FC";
}
.index_faq dl dt .num {
	color: #e2a107;
}
.index_faq dl dd {
	margin-top: 20px;
	display: none;
}

/* news */
.index_news {
	padding: 50px 0 120px;
}
.index_news .index_h2 {
	text-align: center;
	padding-bottom: 30px;
}

/* access */
.index_access {
	padding: 120px 0;
	background-color: #e8e8e8;
}
.index_access .index_h2 {
	text-align: center;
	padding-bottom: 30px;
	color: #333;
}
.index_access p {
	text-align: center;
	color: #333;
}
.index_access a {
	display: table;
	margin: 50px auto 0;
}
.index_access a img {
	width: 520px;
	max-width: 100%;
}
.index_access .gmap {
	position: relative;
	padding: 0;
	height: 440px;
	margin: 50px 0 20px;
	overflow: hidden;
}
.index_access .gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border:0;
}


/* yoyaku  top
---------------------------------------------------- */

.yoyaku .contents {
	clear: both;
	max-width: 1300px;
	/*min-width: 1080px;*/
}

.yoyaku {
	padding: 100px 0;
	background-color: #e2a107;
}

.yoyaku h2 {
	float: left;
	color: #FFF;
	font-size: 36px;
	font-weight: normal;
	line-height: 42px;
}

.yoyaku h2 span {
	font-size: 18px;
	display: block;
}

.yoyaku ul {
	/*float: right;  2509鶴見削除 */
	display: inline-block;
	width: 130%;
	margin: 0 auto;
	padding-left: inherit;
	padding-right: inherit;
}

/*yoyaku.top_only ul li {
	display: inline-block;
	margin: 20px 20px 20px 0;
}*/

.yoyaku ul li {
	display: inline-block;
	margin: 10px 20px 20px 10px;
}

.yoyaku ul li:last-child{
	margin-right: 0;
}

.yoyaku ul li a{
	transition: all 0.2s ease;
}

.yoyaku ul li a img{
	width: 19rem;
    display: inline-block;
}


/* btn
---------------------------------------------------- */
a.btn {
	display: block;
	width: 680px;
	font-size: 20px;
	font-weight: bold;
	line-height: 74px;
	text-align: center;
	border: 1px solid #e2a107;
	color: #e2a107;
	background-color: #f3ecdc;
	margin: 50px auto 0;
	max-width: 100%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	position: relative;
	overflow: hidden;
	transition: ease .2s;
	background-image: url("../images/common/btn.png");
	background-position: right 20px center;
	background-repeat: no-repeat;
}
.btn span {
	position: relative;
	z-index: 3;
	transition: ease .2s;
}
.btn:hover span{
	color:#fff;
}
.btn:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background:#e2a107;
	width: 100%;
	height: 100%;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;
}
.btn:hover:before{
	transform-origin:left top;
	transform:scale(1, 1);
}


/* main
---------------------------------------------------- */
.main {
	padding: 245px 0 60px;
	position: relative;
}
.main::before {
	position: absolute;
	content: "";
	width: 50%;
	height: 1px;
	left: 0;
	top: 268px;
	background-color: #e2a107;
}
.main h1 {
	padding-left: 40px;
	font-size: 60px;
	color: #FFF;
	background-color: #000;
	position: relative;
}

.main_reserve {
	padding-bottom:  200px;
}




/* price_tbl
---------------------------------------------------- */
table.price_tbl {
	width: 100%;
	margin-top: 50px;
	border-collapse: collapse;
}
table.price_tbl tr {
	border-bottom: 1px solid #5c5c5c;
}
table.price_tbl th {
	padding: 20px 0;
	text-align: center;
	color: #e2a107;
	font-weight: normal;
	vertical-align: middle;
}
table.price_tbl td {
	padding: 20px 0;
	text-align: center;
	vertical-align: middle;
}
table.price_tbl td span {
	color: #e2a107;
	font-size: 48px;
}

/* other
---------------------------------------------------- */
.p_notes_wrap {
	max-width: 1080px;
	margin: 30px auto 0;
}
.p_notes {
	font-size: 1.2rem;
}

.annotat {
	padding-top: 1.4rem;
	font-size: 1.1rem;
}

/* c_img
---------------------------------------------------- */
.c_img {
	display: block;
	max-width: 100%;
	margin: 0 auto 40px;
}


/* flow
---------------------------------------------------- */
.flow {
	margin: -120px 0 100px;
}
.flow li {
	margin-top: 120px;
	position: relative;
}
.flow li h3 {
	padding: 40px 0;
	font-size: 36px;
	font-weight: normal;
	line-height: 1.5;
	border-bottom: 1px solid #e2a107;
}
.flow li:nth-child(odd) h3 {
	margin: 0 0 60px 240px;
}
.flow li:nth-child(even) h3 {
	margin: 0 240px 60px 0;
	text-align: right;
}
.flow li h3::before {
	position: absolute;
	content: "01";
	color: #e2a107;
	font-size: 160px;
	line-height: 1;
	top: 0;
}
.flow li:nth-child(odd) h3::before {
	left: 0;
}
.flow li:nth-child(even) h3::before {
	right: 0;
}
.flow li:nth-child(1) h3::before {
	content: "01";
}
.flow li:nth-child(2) h3::before {
	content: "02";
}
.flow li:nth-child(3) h3::before {
	content: "03";
}
.flow li:nth-child(4) h3::before {
	content: "04";
}
.flow li h3 span {
	color: #e2a107;
}
.flow li .inner {
	width: 440px;
}
.flow li:nth-child(odd) .inner {
	float: left;
}
.flow li:nth-child(even) .inner {
	float: right;
}
.flow li img {
	width: 590px;
}
.flow li:nth-child(odd) img {
	float: right;
}
.flow li:nth-child(even) img {
	float: left;
}

.flow li .reserve_btn {   /* 2508鶴見追加 */
	float: left;
}


.flow li .inner div a {   /* 2508鶴見追加 */
	display:inline-block;
	text-align: left;
	padding: 3rem 0 3rem 0;
}

.flow li .inner a {
    color: #fff;
}

.flow li .inner a:hover {
    color: #e2a107;
}

.flow li .inner div img {   /* 2508鶴見追加 */
	width: 300px;
}


/* reserve_flow
---------------------------------------------------- */


.flow.reserve_flow li .inner {
	float: right;
}

.flow.reserve_flow li .inner a {
    color: #e2a107;
}

.flow.reserve_flow li img {
	width: 590px;
}

.flow.reserve_flow li img.outline {
	border: 1px solid #ccc;
}

.flow.reserve_flow li img {
	float: left;
}


.flow.reserve_flow .inner .ttl {
	margin-bottom: 25px;
}

.flow.reserve_flow .inner .ttl span {
	display: block;
	float: left;
	line-height: 43px;
	background-color: #e2a107;
	color: #FFF;
	text-align: center;
	font-size: 24px;
	width: 43px;
}

.flow.reserve_flow .inner .ttl p {
	font-size: 24px;
	color: #e2a107;
	margin: 6px 0 0 15px;
	display: inline-block;
}



/* lesson
---------------------------------------------------- */
.lesson {
	margin: -120px 0 100px;
}
.lesson li {
	margin-top: 120px;
	position: relative;
}
.lesson li .inner {
	width: 550px;
}
.lesson li:nth-child(odd) .inner {
	float: left;
}
.lesson li:nth-child(even) .inner {
	float: right;
}
.lesson li .inner h3 {
	font-size: 48px;
	font-weight: normal;
	line-height: 1.5;
	padding-bottom: 40px;
}
.lesson li .inner h3 span {
	font-size: 20px;
	display: block;
	color: #e2a107;
}
.lesson li img {
	width: 440px;
}
.lesson li:nth-child(odd) img {
	float: right;
}
.lesson li:nth-child(even) img {
	float: left;
}


/* tel_blc
---------------------------------------------------- */
.tel_blc {
	text-align: center;
}
.tel_blc a {
	font-size: 36px;
	color: #e2a107;
	display: table;
	margin: 10px auto 0;
	padding-bottom: 10px;
	border-bottom: 2px solid #e2a107;
}
.tel_blc a:hover {
	opacity: 0.7;
}

.tel_blc .res_btn {
	padding-top: 0;
	margin-top: 0;
	margin-bottom: 3rem;
}

.tel_blc .res_btn img {
	width: 500px;
}

.tel_blc .res_btn a {
	border-bottom: none;
}


.tel_blc img.res_sam {
	margin-top: 1rem;
	margin-bottom: 4rem;
}



/* faq
---------------------------------------------------- */
.faq_h2 {
	padding: 0!important;
}
.faq_blc {
	margin: 100px 0;
}
.faq_blc h3 {
	font-size: 34px;
	font-weight: normal;
	margin-bottom: 10px;
	color: #e2a107;
}
dl.faq {
	padding: 40px 0 40px;
	border-bottom: 1px solid #cacaca;
}
dl.faq .num {
	float: left;
	font-size: 24px;
}
dl.faq .txt {
	padding-left: 140px;
	width: 50vw;

}
dl.faq dt {
	font-size: 24px;
	line-height: 1.5;
	position: relative;
}
dl.faq dt::before {
	position: absolute;
	right: 0;
	top: 0;
	content: "\FF0B";
	font-size: 24px;
}
dl.faq dt.open::before {
	content: "\30FC";
}
dl.faq dt .num {
	color: #e2a107;
}
dl.faq dd {
	margin-top: 20px;
	display: none;
}
dl.faq dd a {
	color: #FFF;
	text-decoration: underline;
}
dl.faq dd a:hover {
	color: #f7ad00;
}


/* news_list
---------------------------------------------------- */
.news_list {
	margin-top: -50px;
}
.news_list li {
	border-bottom: 1px solid #5c5c5c;
}
.news_list li a {
	display: block;
	padding: 50px 0;
	color: #FFF;
}
.news_list li a:hover {
	opacity: 0.7;
}
.news_list li a .date_box {
	margin-bottom: 20px;
}
.news_list li a .date_box .date {
	font-size: 24px;
	line-height: 32px;
	display: inline-block;
}
.news_list li a .date_box .cate {
	display: inline-block;
	vertical-align: top;
}
.news_list li a .date_box .cate p {
	line-height: 32px;
	display: inline-block;
	font-size: 20px;
	padding: 0 15px;
	vertical-align: top;
	margin: 0 0 0 20px;
	background-color: #000;
	border: 1px solid #FFF;
}
.news_list li a .ttl {
	font-size: 36px;
	line-height: 1.5;
	color: #e2a107;
	margin-bottom: 10px;
}
.news_list li a .tag {
	margin-bottom: 20px;
}
.news_list li a .tag span {
	margin-right: 20px;
}
.news_list li a img {
	float: left;
	width: 340px;
}
.news_list li .txt {
	padding-left: 420px;
}


/* pagination
---------------------------------------------------- */
.pagination {
	text-align: center;
	font-size: 0;
	margin-top: 50px;
}
.pagination .page-numbers {
	display: inline-block;
	line-height: 40px;
	width: 40px;
	text-align: center;
	background-color: #FFF;
	color: #e2a107;
	font-size: 20px;
	margin: 0 5px;
	border: 2px solid #e2a107;
}
.pagination .current, .pagination a.page-numbers:hover {
	background-color: #e2a107;
	color: #FFF;
}
.pagination .dots {
	background-color: transparent;
	color: #FFF;
	margin: 0;
	border: none;
}


/* cate_list
---------------------------------------------------- */
.cate_list {
	margin: -1% 0 60px -2%;
}
.cate_list li {
	float: left;
	width: 18%;
	margin: 2% 0 0 2%;
}
.cate_list li a {
	display: block;
	text-align: center;
	color: #e2a107;
	border: 2px solid #e2a107;
	background-color: #f3ecdc;
	line-height: 50px;
	position: relative;
	overflow: hidden;
	transition: ease .2s;
}
.cate_list li a span {
	position: relative;
	z-index: 3;
	transition: ease .2s;
}
.cate_list li a:hover span{
	color:#fff;
}
.cate_list li a:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background:#e2a107;
	width: 100%;
	height: 100%;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;
}
.cate_list li a:hover:before{
	transform-origin:left top;
	transform: scale(1, 1);
}


/* tag_list
---------------------------------------------------- */
.tag_list li {
	float: left;
	margin: 0 20px 0 0;
}


/* news_details
---------------------------------------------------- */
.news_details .date_box {
	margin-bottom: 20px;
}
.news_details .date_box .date {
	font-size: 24px;
	line-height: 32px;
	display: inline-block;
}
.news_details .date_box .cate {
	display: inline-block;
	vertical-align: top;
}
.news_details .date_box .cate p {
	line-height: 32px;
	display: inline-block;
	font-size: 20px;
	padding: 0 15px;
	vertical-align: top;
	margin: 0 0 0 20px;
	background-color: #000;
	border: 1px solid #FFF;
}
.news_details .tag {
	margin: 0 0 50px;
}
.news_details .tag li {
	margin: 0 20px 0 0;
	display: inline-block;
}
.news_details .tag li a {
	color: #FFF;
}
.news_details .tag li a:hover {
	color: #e2a107;
}
.news_details h2 {
	font-size: 60px;
	line-height: 72px;
	color: #e2a107;
	font-weight: normal;
	margin-bottom: 40px;
}
.news_details .txt img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 80px auto;
}
.news_details .txt h3 {
	font-size: 36px;
	line-height: 1.5;
	font-weight: normal;
	margin: 100px 0 20px;
	color: #e2a107;
}
.news_details .txt h4 {
	font-size: 24px;
	line-height: 1.5;
	font-weight: bold;
	margin: 60px 0 20px;
}
.news_details .txt h5 {
	font-size: 20px;
	line-height: 1.5;
	font-weight: bold;
	padding-bottom: 10px;
	margin: 50px 0 15px;
	border-bottom: 1px solid #e2a107;
}
.news_details .txt p {
	margin-bottom: 20px;
}
.news_details .txt p a {
	text-decoration: underline;
}
.news_details .txt p.indent {
	margin-bottom: 0;
}
.news_details .txt .strong {
	font-weight: bold;
}
.news_details .pager {
	margin-top: 40px;
	padding: 10px;
	position: relative;
}
.news_details .pager a {
	color: #FFF;
}
.news_details .pager a:hover {
	color: #e2a107;
}
.news_details .pager .list {
	text-align: center;
	position: absolute;
	left: 110px;
	right: 110px;
	margin: 0;
}
.news_details .pager .previous {
	float: left;
	padding-left: 15px;
	position: relative;
}
.news_details .pager .previous::after {
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -4px;
	content: "";
	vertical-align: middle;
	width: 6px;
	height: 6px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}
.news_details .pager .next {
	float: right;
	padding-right: 15px;
	position: relative;
}
.news_details .pager .next::after {
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -4px;
	content: "";
	vertical-align: middle;
	width: 6px;
	height: 6px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


/* terms
---------------------------------------------------- */
.terms {
	margin: 0 0 60px;
}
.terms h2 {
	font-size: 24px;
	line-height: 1.5;
	color: #e2a107;
	font-weight: normal;
	margin-bottom: 20px;
}
.terms h3 {
	font-size: 20px;
	line-height: 1.5;
	color: #c8995a;
	font-weight: normal;
	margin-top: 30px;
}
.terms ul {
	padding-left: 25px;
}
.terms ul li {
	list-style: inherit;
}
.terms ol {
	padding-left: 35px;
}
.terms ol li {
	list-style: inherit;
}

ol.kakko {
	margin-left: 1.5em;
}
ol.kakko li {
	list-style-type: none;
	counter-increment: cnt;
	position: relative;
}
ol.kakko li:before {
	content: "(" counter(cnt) ")";
	display: inline-block;
	margin-left: -3em;
	width: 2em;
	text-align: right;
	position: absolute;
	top: 0;
	left: 0;
}


/* 404_blc
---------------------------------------------------- */
.n_blc {
	text-align: center;
}


/* m_blc
---------------------------------------------------- */
.m_blc {
	text-align: center;
}


/* table
---------------------------------------------------- */
table.tbl {
	width: 100%;
	border-collapse: collapse;
}
table.tbl tr {
	border-bottom: 1px solid #ebe4da;
}
table.tbl th {
	padding: 40px 20px;
	text-align: left;
	width: 160px;
	color: #e2a107;
	font-weight: normal;
	vertical-align: top;
}
table.tbl td {
	padding: 40px 20px 40px;
	text-align: left;
	vertical-align: middle;
}
table.tbl .indent {
	margin-bottom: 20px;
}


/* summer_pack_blc
---------------------------------------------------- */
.summer_pack_mv {
	width: 100%;
	height: 788px;
	position: relative;
	margin-top: 42px;  /* 72pxより */
	background-image: url(../images/summer_pack/mv.jpg);
	background-position: center center;
	background-size: cover;
}
.summer_pack_mv h1 {
	font-size: 60px;
	line-height: 72px;
	color: #FFF;
	z-index: 100;
	padding-top: 90px;
	animation: blinkAnime 1s infinite alternate;
	text-shadow: 2px 2px 0px rgba(0, 0, 0, 1);
}
.summer_pack_mv p {
	font-size: 48px;
	line-height: 60px;
	color: #FFF;
	padding-top: 360px;
	text-shadow: 2px 2px 0px rgba(0, 0, 0, 1);
}
.summer_pack_blc .index_h2 {
	text-align: center;
}
.summer_pack_blc .index_h2 + p {
	text-align: center;
}
.summer_pack_blc table.price_tbl {
	margin-bottom: 30px;
}
.summer_pack_blc table.price_tbl th {
	color: #FFF;
}
.summer_pack_blc table.price_tbl .summer_pack_td {
	animation: blinkAnime 1s infinite alternate;
}
.summer_pack_blc table.price_tbl .summer_pack_td2 {
	animation: blinkAnime 1s infinite alternate;
}
.summer_pack_blc table.price_tbl .summer_pack_td2 span {
	font-size: 60px;
	color: inherit;
}
.summer_pack_blc .indent {
	font-size: 18px;
}


/* winter_pack_mv
---------------------------------------------------- */
.winter_pack_mv {
	width: 100%;
	height: 788px;
	position: relative;
	margin-top: 42px;  /* 72pxより */
	background-image: url(../images/challenge_pack/mv.jpg);
	background-position: center center;
	background-size: cover;
}
.winter_pack_mv h1 {
	font-size: 60px;
	line-height: 72px;
	color: #FFF;
	z-index: 100;
	padding-top: 90px;
	animation: blinkAnime 1s infinite alternate;
	text-shadow: 2px 2px 0px rgba(0, 0, 0, 1);
}
.winter_pack_mv p {
	font-size: 48px;
	line-height: 60px;
	color: #FFF;
	padding-top: 360px;
	text-shadow: 2px 2px 0px rgba(0, 0, 0, 1);
}


/* autumn_mv
---------------------------------------------------- */
.autumn_mv {
	background-image: url(../images/campaign/autumn/mv.jpg);
}


/* corporation_member
---------------------------------------------------- */
.corporation_member_mv {
	width: 100%;
	height: 788px;
	position: relative;
	margin-top: 52px;  /* 2509鶴見修正　72pxより*/
	background-image: url(../images/corporation_member/mv.jpg);
	background-position: center center;
	background-size: cover;
}
.corporation_member_mv h1 {
	font-size: 60px;
	line-height: 72px;
	color: #FFF;
	z-index: 100;
	padding-top: 90px;
	animation: blinkAnime 1s infinite alternate;
	text-shadow: 2px 2px 0px rgba(0, 0, 0, 1);
}
.scorporation_member_mv p {
	font-size: 48px;
	line-height: 60px;
	color: #FFF;
	padding-top: 360px;
	text-shadow: 2px 2px 0px rgba(0, 0, 0, 1);
}
.corporation_member .index_h2 {
	text-align: center;
}
.corporation_member_blc .index_h2 + p {
	text-align: center;
}
.corporation_member_blc table.price_tbl {
	margin-bottom: 30px;
}
.corporation_member_blc table.price_tbl .corporation_member_td span {
	font-size: 36px;
}
.corporation_member .indent {
	font-size: 18px;
}
.blc .corporation_member_h2 {
	padding-bottom: 20px;
}
.corporation_member_flow {
	margin-top: -60px;
}
.corporation_member_flow li h3::before {
	display: none;
}
.corporation_member_flow li:nth-child(odd) h3 {
	margin: 0 0 60px 0;
}
.corporation_member_flow li:nth-child(even) h3 {
	margin: 0 0 60px 0;
}
.corporation_member_blc table.price_tbl {
	margin-top: 0px;
}
.corporation_member_blc .tbl_scroll + .index_h2 {
	margin-top: 100px;
}


/* reserve
---------------------------------------------------- */
.blc.reserve {
	clear: both;
	padding-top: 60px;
}

p.reserve_lead {
	text-align: center;
	padding-bottom: 80px;
}


/* parking
---------------------------------------------------- */
.parking_mv {
	width: 100%;
	height: 788px;
	position: relative;
	margin-top: 42px;
	background-image: url(../images/parking/mv.jpg);
	background-position: center center;
	background-size: cover;
}
.parking_mv h1 {
	font-size: 60px;
	line-height: 72px;
	color: #FFF;
	z-index: 100;
	padding-top: 90px;
	animation: blinkAnime 1s infinite alternate;
	text-shadow: 2px 2px 0px rgba(0, 0, 0, 1);
}
.parking_map {
	max-width: 100%;
	margin-bottom: 20px;
}
.parking_att {
	text-align: right;
}
.parking_list {
	margin: 100px 0 100px;
}
.parking_list li {
	margin-top: 120px;
	position: relative;
}
.parking_list li h3 {
	padding: 40px 0;
	font-size: 36px;
	font-weight: normal;
	line-height: 1.5;
	border-bottom: 1px solid #e2a107;
	margin: 0 0 60px 240px;
}
.parking_list li h3::before {
	position: absolute;
	content: "01";
	color: #e2a107;
	font-size: 160px;
	line-height: 1;
	top: 0;
	left: 0;
}
.parking_list li:nth-child(1) h3::before {
	content: "01";
}
.parking_list li:nth-child(2) h3::before {
	content: "02";
}
.parking_list li:nth-child(3) h3::before {
	content: "03";
}
.parking_list li:nth-child(4) h3::before {
	content: "04";
}
.parking_list li:nth-child(5) h3::before {
	content: "05";
}
.parking_list li:nth-child(6) h3::before {
	content: "06";
}
.parking_list li .inner {
	width: 60%;
	float: left;
}
.parking_list li .inner table {
	width: 100%;
	border-collapse: collapse;
}
.parking_list li .inner table tr {
	border-bottom: 1px solid #a7a7a7;
}
.parking_list li .inner table th {
	padding: 20px 0;
	text-align: left;
	color: #e2a107;
	font-weight: normal;
	vertical-align: middle;
	width: 30%;
}
.parking_list li .inner table td {
	padding: 20px 0;
	text-align: left;
	vertical-align: middle;
}
.parking_list li img {
	width: 36%;
	float: right;
}



@media screen and (min-width: 2500px){

/* yoyaku
----------------------------------------------------  */

.yoyaku ul {
	width: 100%;
	float: right;
	width: auto;
}

.yoyaku ul li a img{
	width: 18rem;
	display: inline-block;
}

/* faq
---------------------------------------------------- */
dl.faq .txt {
	width: 30vw;
}

}

@media screen and (min-width: 1500px){

/* yoyaku
----------------------------------------------------  */
.yoyaku .contents {
	clear: both;
	width: 1500px;
}
.yoyaku ul {
	display: inline-block;
	width: 100%;
	margin: 0 auto;
	padding-left: inherit;
	padding-right: inherit;
}
.yoyaku ul li {
	display: inline-block;
	margin: 20px 20px 20px 0;
}
.yoyaku ul li:last-child{
	margin-right: 0;
}
.yoyaku ul li a img{
	width: 19rem;
	display: inline-block;
}

/* faq
---------------------------------------------------- */
dl.faq .txt {
	width: 40vw;
}

}

@media screen and (max-width: 1320px){

/* yoyaku
----------------------------------------------------  */
.yoyaku ul li a img{
	width: 18rem;
	display: inline-block;
}

}

@media screen and (max-width: 1270px){
.corporation_member_mv {
	margin-top: 50px;  /* 2509鶴見修正　60pxより*/
}

/* yoyaku
----------------------------------------------------  */
.yoyaku ul li a img{
	width: 16rem;
	display: inline-block;
}


/* faq
---------------------------------------------------- */
dl.faq .txt {
	width: 70vw;
}

}

@media screen and (max-width: 1095px){

/* main
---------------------------------------------------- */
.main h1 {
	font-size: 50px;
	line-height: 70px;
}
.index_main h1 {
	font-size: 55px;
	letter-spacing: 0.9rem;
}
.index_main h1 span.strong {
	font-size:55px;
	letter-spacing: -0.05rem;
}
.index_main h1 span.shortest {
	color: #FFF;
	animation:none;
	letter-spacing: -0.5rem;
}

/* support */
.index_support {
	padding: 120px 0;
}
.index_support .campaign_bn:nth-child(1) { /* 2506鶴見追加　*/
	padding: 0px 0px 30px 0;
}


/* member */
.index_member ul {
	margin: 70px 0 0 -3%;
}
.index_member ul li {
	width: 47%;
	margin-left: 3%;
}


/* reserve_flow
---------------------------------------------------- */
.flow.reserve_flow li .inner {
	width: 38%;
}
.flow.reserve_flow li img {
	width: 58%;
}


/* flow
---------------------------------------------------- */
.flow li .inner {
	width: 38%;
}
.flow li img {
	width: 58%;
}
.flow li .inner div img {
	display: inline-block;
	width: 100%;
}


/* yoyaku
----------------------------------------------------  */
.yoyaku .contents {
	clear: both;
	width: 100%;
	/*  max-width: 94%;  */
	max-width: 85%;
	margin: 0 auto 0 4.2%;
}
.yoyaku ul {
	display: inline-block;
	width: 100%;
	text-align: left;
	width: auto;
}
.yoyaku ul li:last-child(even) {
	padding-right: 0;
}
/*.yoyaku.top_only  ul {
	display: inline-block;
	width: 100%;
	text-align: center;
	width: auto;
}
.yoyaku.top_only ul li {
	display: inline-block;
	padding: 16px 80px 0 0;
}
.yoyaku.top_only ul li:first-child {
	margin-left: 21px;
}
.yoyaku.top_only ul li:nth-child(even) {
	padding-right: 0;
}*/
.yoyaku ul li a img{
	width: 22rem;
	display: inline-block;
}


/* faq
---------------------------------------------------- */
dl.faq .txt {
	width: 70vw;
}

}


@media screen and (max-width: 1000px){

/* index
---------------------------------------------------- */

/* main */
.index_main {
	height: 320px;
}
.index_main h1 {
	font-size: 42px;
	line-height: 64px;
	left: 5%;
	top: 30%;
	letter-spacing: 0.95rem;
}

.index_main h1 span.strong {
	font-size: 42px;
	font-weight: bold;
	margin: 0;
	padding: 0;
	animation:none;
	letter-spacing: 0.4rem;
}

.index_main h1 span.shortest {
	color: #FFF;
	animation:none;
	letter-spacing: -0.25rem;
}

/* h2 */
.index_h2 {
	font-size: 40px;
	line-height: 60px;
}


.index_campaign .inner .range_title {
	text-align: left;
	padding-top: 40px;
	font-size: 1.3rem;
}
.index_campaign .inner .range_title span {
	animation: blinkAnime3 1s infinite alternate;
}
.index_campaign.next .inner .txt {
	font-size: 1.3rem;
}
.index_campaign.next .inner .txt span {
	font-size: 1.8rem;
	color: #c8995a;
	white-space: nowrap;
}
.index_campaign.next .inner .txt span:nth-child(2) {
	display: inline-block;
}
.index_campaign.next .inner .txt.p_right div:nth-child(2) {
	clear: both;
	float:right;
	margin-top: 1.0rem;
}
.index_campaign.next .inner .txt.p_right p {
	clear: both;
	display: block;
	text-align: right;
	padding: 0.4rem 1.3rem 0 0;
	margin: 0;
}


/* support */
.index_support {
	padding: 120px 0;
	margin-top: 542px;
	/*position: relative;  2506鶴見追加
	top: 33.7rem; /* 2506鶴見追加　*/
}

.index_support .campaign_bn:nth-child(1) { /* 2506鶴見追加　*/
	padding: 0px 0px 30px 0;
}


/* member */
.index_member ul {
	margin: 70px 0 0 -3%;
}
.index_member ul li {
	width: 47%;
	margin-left: 3%;
}

/* campaign */
.index_campaign .inner {
	max-width: 95%;
	min-width: 95%;
	padding: 60px;
}
.index_campaign .inner .catch {
	padding-top: 18px;
}
.index_campaign .inner .price {
	font-size: 22px;
	padding-top: 50px;
	line-height: 1.4;
}
.index_campaign .inner .price span {
	font-size: 40px;
}
.index_campaign .inner ul li {
	display: block;
}
.index_campaign .inner ul li .num span {
	display: inline-block;
}
.index_campaign .inner ul li .txt span {
	font-size: 32px;
}

.wrapper_campaign {
	padding: 1rem 0 1rem 0;
}

.anc {
	margin-top: -100px;
	padding-top: 100px;
	display: block;
}

.anc_btn_wrap {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

a.anchor_btn {
	line-height: 1.8rem;
	display: inline-block;
	border: 1px solid #FFF;
	text-align: center;
	font-size: 1.05rem;
	font-weight: 550;
	color: #000;
	background-color: #e2a107;
	width: 90%;
	padding: 0.7rem;
	margin: 1rem auto 0 auto;
	max-width: 100%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	outline: none;
	overflow: hidden;
	position: relative;
}

a.anchor_btn span {
	padding-bottom: 0.4rem;
	display: inline-block;
	font-size: 1.2rem;
}


/* contents */
.index_contents ul {
	margin: -40px 0 0 410px;
}

.index_contents .inner .reserve_btn img {  /* 2508鶴見追加　*/
	padding-top: 20px;
	width: 80%;
}

/* yoyaku
---------------------------------------------------- */

.yoyaku h2 {
	float: none;
	text-align: center;
}
.yoyaku ul {
	float: none;
	text-align: center;
	width: 100%;
}

.yoyaku ul li {
	display: inline-block;
	width: 100%;
	margin: 2% 1%;
}
.yoyaku ul li a img {
	width: 95%;
}

.yoyaku ul li:first-child {
	margin-left: 0.5rem;
}
/*
.yoyaku.top_only ul li:first-child {
	margin-left: 0px;
}*/

/* flow
---------------------------------------------------- */
.flow li .inner {
	width: 38%;
}
.flow li img {
	width: 58%;
}

/* reserve_flow
---------------------------------------------------- */
.flow.reserve_flow li .inner {
	width: 38%;
}
.flow.reserve_flow li img {
	width: 58%;
}

/* tel_blc
---------------------------------------------------- */
.tel_blc {
	text-align: center;
}
.tel_blc a {
	margin: 0 auto 0;
	padding-bottom: 0.5rem;

}
.tel_blc a:hover {
	opacity: 0.7;
}

.tel_blc .res_btn {
	padding-top: 0;
	margin-top:  -1rem;
	margin-bottom: 1rem;
}

.tel_blc .res_btn img {
	width: 100%;
}

.tel_blc .res_btn a {
	border-bottom: none;
}


.tel_blc img.res_sam {
	width: 100%;
	margin-top: 0rem;
	margin-bottom: 2rem;
}

.tel_blc .tel_a {
	padding-top: 1rem;
}

/* faq
---------------------------------------------------- */
dl.faq .txt {
	width: 70vw;
}

/* lesson
---------------------------------------------------- */
.lesson li .inner {
	width: 55%;
}
.lesson li img {
	width: 42%;
}

/* other
---------------------------------------------------- */
.p_notes_wrap {
	width: 94%;
	margin: 0 auto;
}

.p_notes {
	clear: both;
	font-size: 0.9rem;
	text-align: left;
}

.annotat {
    padding-top: 1.4rem;
    font-size: 1.1rem;
}

}



@media screen and (max-width:690px) {

.index_main h1 {
	font-size: 34px;
	letter-spacing: 0.78rem;
}
.index_main h1 span.strong {
	font-size:34px;
	letter-spacing: 0.3rem;
}
.index_main h1 span.shortest {
	color: #FFF;
	animation:none;
	letter-spacing: -0.2rem;
}

dl.faq .txt {
	width: 60vw;
}

.yoyaku .contents {
  clear: both;
  width: 110%;
    max-width: 85%;
    margin: 0 auto 0 2.4%;
}

}


@media screen and (max-width:600px) {
	.index_campaign.next .inner .txt {
		padding-left: 1em;
	}
	.index_campaign.next .inner .txt .cp_font {
		font-size: 20px;
	}
	.range_title {
		padding-top: 0px;
	}
	.tiket_btn {
		height: 40px;
		width: 40%;
		margin-top: 60px;
	}
	.line_btn {
		height: 40px;
		width: 40%;
		margin-top: 60px;
	}

	/* faq
---------------------------------------------------- */

dl.faq .txt {
	width: 60vw;
}

}


@media screen and (max-width:590px) {
	.index_campaign.next .inner .txt .cp_font {
		font-size: 15px;
	}
	.tiket_btn {
		height: 25px;
		width: 70%;
		margin-top: 40px;
	}
	.line_btn {
		height: 25px;
		width: 70%;
		margin-top: 40px;
	}

.index_main h1 {
	font-size: 30px;
	letter-spacing: 0.73rem;
}

.index_main h1 span.strong {
	font-size:30px;
	letter-spacing: 0.35rem;
}
.index_main h1 span.shortest {
	color: #FFF;
	animation:none;
	letter-spacing: -0.15rem;
}

dl.faq .txt {
	width: 50vw;
}


}


.tiket_btn {
	display: inline-block;
	padding: 10px;
	text-align: center;
	vertical-align: middle;
	border-radius: 6px;
	background-color: #c8995a;
}

.line_btn {
	display: inline-block;
	padding: 10px;
	text-align: center;
	vertical-align: middle;
	border-radius: 6px;
	background-color: #06c755;
}


@media screen and (max-width:480px) {

/* fadein
---------------------------------------------------- */
.fadein_r {
	opacity : 0;
	transform : translate(0, 30px);
	transition : all 1000ms;
}


/* index
---------------------------------------------------- */

/* main */
.index_main {
	height: 320px;
}
.index_main h1 {
	font-size: 1.5rem;
	line-height: 40px;
	bottom: 20px;
	letter-spacing: 0.5rem;
}

.index_main h1 span.strong {
	font-size:1.5rem;
	font-weight: bold;
	margin: 0;
	padding: 0;
	letter-spacing: 0.18rem;
	animation:none;
}

.index_main h1 span.shortest {
	color: #FFF;
	font-size:1.5rem;
	animation:none;
	letter-spacing: -0.173rem;
}
.slide-img {
	height: 320px;
}

/* h2 */
.index_h2 {
	font-size: 20px;
	line-height: 32px;
	text-align: center;
}

/* support */
.index_support {
	padding: 50px 0;
	overflow: hidden;
	margin-top: 0px;
}

.index_support .campaign_bn {
	clear: both;
	padding: 0 0 40px;
	width: 100%;    /* 2506鶴見追加　*/
}

.index_support .campaign_bn img {    /* 2506鶴見追加　*/
	margin: 0;
}

.index_support .campaign_bn:nth-child(1) {    /* 2506鶴見追加　PC版の適用回避　*/
	clear:both;
	padding: 0px 30px 40px 0;
}

.index_support .campaign_bn:nth-child(4) {   /* 2506鶴見追加　*/
	margin: 0 0 2.0rem;
}

.swiper-container2 {
	padding: 40px 0;
}
.swiper-container2 .swiper-slide {
	width: 180px!important;
	height: 135px;
}

/* member */
.index_member {
	padding: 50px 0;
}
.index_member ul {
	margin: 0 0 0;
}
.index_member ul li {
	float: none;
	width: 90%;
	margin: 30px auto 0;
}
.index_member ul li a h3 {
	font-size: 24px;
	padding: 20px 0 0;
	line-height: 1.4;
}
.index_member ul li a h3 span {
	font-size: 18px;
}
.index_member ul li a .txt {
	padding: 40px 0 30px;
}
.index_member ul li a .more {
	background-position: right top 14px;
}

/* campaign */
.index_campaign {
	padding: 50px 0;
}

.index_campaign.next {
	padding: 0px 0 50px 0;
}

.index_campaign .inner {
	max-width: 95%;
	min-width: 95%;
	padding: 30px 10px;
}
.index_campaign .inner ul {
	margin: 20px 0 10px;
}
.index_campaign .inner ul li {
	display: block;
	padding: 10px 0 30px;
}
.index_campaign .inner ul li .num {
	font-size: 34px;
	width: auto;
	line-height: 54px;
}
.index_campaign .inner ul li .num span {
	font-size: 18px;
	display: inline-block;
}
.index_campaign .inner ul li .txt span {
	font-size: 22px;
	white-space: nowrap;
}

.index_campaign .inner ul li .txt span:nth-child(2) {
	display: inline-block;
}

.index_campaign .inner .note {
	font-size: 12px;
}


.wrapper_campaign {
	padding: 1rem 0 1rem 0;
}

a.anchor_btn {
	line-height: 1.5rem;
	display: inline-block;
	border: 1px solid #FFF;
	text-align: center;
	font-size: 1.05rem;
	font-weight: 550;
	color: #000;
	background-color: #e2a107;
	width: 90%;
	padding: 0.7rem;
	margin: 1rem auto 0 auto;
	max-width: 100%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	outline: none;
	overflow: hidden;
	position: relative;
}

a.anchor_btn span {
	padding-bottom: 0.4rem;
	display: inline-block;
	font-size: 1.2rem;
}


/* obsession */
.index_obsession {
	padding: 50px 0;
}
.index_obsession ul {
	padding-top: 10px;
}
.index_obsession ul li {
	padding: 30px 0;
}
.index_obsession ul li img {
	float: none;
	width: 90%;
	display: block;
	margin: 0 auto 15px;
}
.index_obsession ul li .inner {
	padding-left: 0;
}
.index_obsession ul li .inner h3 {
	font-size: 20px;
	padding-bottom: 15px;
	line-height: 30px;
}
.index_obsession ul li .inner span {
	color: #e2a107;
}

/* obsession */
.index_contents {
	padding: 50px 0;
}
.index_contents .inner {
	float: none;
	width: 100%;
}
.index_contents .inner p {
	padding: 20px 0;
	text-align: center;
}
.index_contents ul {
	margin: -20px 0 0 0;
	display: block;
}
.index_contents ul li {
	padding: 30px 0;
	text-align: center;
}
.index_contents ul.price span {
	font-size: 34px;
}
.index_contents ul.step .num {
	font-size: 28px;
	float: none;
}
.index_contents ul.step .txt {
	padding: 10px 0 0;
	display: block;
}

.index_contents a.reserve_btn {  /* 2508鶴見追加　*/
	display: inline-block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.index_contents .reserve_btn img {  /* 2508鶴見追加　*/
	display: inline-block;
	margin-top: 20px;
	width: 98%;
}

/* faq */
.index_faq {
	padding: 50px 0;
}
.index_faq dl {
	padding: 30px 0 30px;
}
.index_faq dl .num {
	font-size: 18px;
}
.index_faq dl .txt {
	padding: 0 24px 0 55px;
}
.index_faq dl dt {
	font-size: 18px;
}
.index_faq dl dt::before {
	font-size: 20px;
}
.index_faq dl dt.open::before {
	content: "\30FC";
}

/* news */
.index_news {
	padding: 20px 0 50px;
}

/* access */
.index_access {
	padding: 50px 0;
}
.index_access .gmap {
	height: 300px;
	margin: 10px 0 20px;
}


/* yoyaku
---------------------------------------------------- */
.yoyaku {
	clear: both;
	width: 100%;
	padding: 40px 0;
}

.yoyaku .contents {
	clear: both;
	width: 100%;
    max-width: 85%;
    margin: 0 auto 0 3.3%;
}

.yoyaku h2 {
	float: none;
	text-align: center;
	font-size: 30px;
	line-height: 40px;
	margin-left: 7%;
}

.yoyaku h2 span {
	font-size: 18px;
}
.yoyaku ul {
	padding-top: 15px;
	float: none;
	text-align: center;
}
.yoyaku ul li {
	display: block;
	width: 100%;
	margin: 15px auto;
}
.yoyaku ul li a img {
	width: 95%;
}

.yoyaku ul li:first-child {
	margin-left: 0rem;
}

/* btn
---------------------------------------------------- */
a.btn {
	font-size: 16px;
	line-height: 64px;
	margin: 30px auto 0;
}

/* main
---------------------------------------------------- */
.main {
	padding: 120px 0 20px;
}

.main::before {
	top: 133px;
}

.main h1 {
    padding-left: 20px;
    font-size: 26px;
    line-height: 32px;
}

.main.line_break {
	height: 30vw;
}

.main.line_break h1 {
	padding-left: 20px;
	font-size: 26px;
	line-height: 30px;
}

.main.line_break2 {
	padding: 120px 0 20px;
	height: 10vw;
}


/* price_tbl
---------------------------------------------------- */
table.price_tbl {
	margin-top: 30px;
}
table.price_tbl td span {
	font-size: 28px;
}
.tbl_scroll table {
	width: 620px;
}

/* other
---------------------------------------------------- */
.p_notes_wrap {
	width: 94%;
	margin: 30px auto 0;
}

.p_notes {
	clear: both;
	font-size: 0.9rem;
	text-align: left;
}

.annotat {
    padding-top: 1.2rem;
    font-size: 0.8rem;
}

/* c_img
---------------------------------------------------- */
.c_img {
	margin: 0 auto 20px;
}


/* flow
---------------------------------------------------- */
.flow {
	margin: -30px 0 50px;
}
.flow li {
	margin-top: 30px;  /* 2506鶴見追加　30pxより　*/
}

.flow.reserve_flow li {
	margin-top: 90px;  /* 2506鶴見追加　30pxより　*/
}

.flow li h3 {
	padding: 20px 0;
	font-size: 20px;
}
.flow li h3 br {
	display: none;
}
.flow li:nth-child(odd) h3 {
	margin: 0 0 30px 70px;
}
.flow li:nth-child(even) h3 {
	margin: 0 70px 30px 0;
}
.flow li h3::before {
	font-size: 50px;
	top: 25px;
}
.flow li .inner {
	width: 100%;
	margin-bottom: 25px;
}
.flow li:nth-child(odd) .inner {
	float: none;
}
.flow li:nth-child(even) .inner {
	float: none;
}
.flow li img {
	width: 100%;
}
.flow li:nth-child(odd) img {
	float: none;
}
.flow li:nth-child(even) img {
	float: none;
}

/* reserve_flow
---------------------------------------------------- */
.flow.reserve_flow li .inner {
	width: 100%;
	margin-bottom: 25px;
}

.flow.reserve_flow li img {
	width: 100%;
}

/* reserve
---------------------------------------------------- */
.blc.reserve {
	clear: both;
	padding-top: 30px;
}

p.reserve_lead {
	text-align: center;
	padding-bottom: 20px;
}


/* lesson
---------------------------------------------------- */
.lesson {
	margin: -40px 0 50px;
}
.lesson li {
	margin-top: 40px;
}

.lesson li .inner {
	width: 100%;
	margin-bottom: 25px;
}
.lesson li:nth-child(odd) .inner {
	float: none;
}
.lesson li:nth-child(even) .inner {
	float: none;
}
.lesson li .inner h3 {
	padding: 20px 0;
	font-size: 30px;
	text-align: center;
}
.lesson li img {
	width: 100%;
}
.lesson li:nth-child(odd) img {
	float: none;
}
.lesson li:nth-child(even) img {
	float: none;
}


/* tel_blc
---------------------------------------------------- */
.tel_blc p {
	text-align: left;
}
.tel_blc a {
	font-size: 24px;
}


/* faq
---------------------------------------------------- */
.faq_blc {
	margin: 50px 0;
}
.faq_blc h3 {
	font-size: 20px;
}
dl.faq {
	padding: 30px 0 30px;
}
dl.faq .num {
	font-size: 18px;
}
dl.faq .txt {
	padding: 0 24px 0 55px;
	width: 65vw;
}
dl.faq dt {
	font-size: 18px;
}
dl.faq dt::before {
	font-size: 20px;
}
dl.faq dt.open::before {
	content: "\30FC";
}

dl.faq .txt a {  /* 2506鶴見追加　*/
	font-size: 0.85rem;
	width: auto;
	overflow-wrap: break-word;
	word-break: normal;
	line-break: strict;
}

/* news_list
---------------------------------------------------- */
.news_list {
	margin-top: -30px;
}
.news_list li a {
	padding: 30px 0;
}
.news_list li a .date_box .date {
	font-size: 20px;
	display: block;
}
.news_list li a .date_box .cate {
	display: block;
	margin-top: 10px;
}
.news_list li a .date_box .cate p {
	display: inline-block;
	margin: 10px 1% 0;
	font-size: 16px;
}
.news_list li a .ttl {
	font-size: 24px;
}
.news_list li a .tag {
	margin-bottom: 20px;
}
.news_list li a .tag span {
	margin-right: 10px;
}
.news_list li a img {
	float: none;
	width: auto;
	max-width: 100%;
	display: block;
	margin: 0 auto 20px;
}
.news_list li .txt {
	padding-left: 0;
}


/* pagination
---------------------------------------------------- */
.pagination {
	margin-top: 25px;
}
.pagination .page-numbers {
	line-height: 30px;
	width: 30px;
	font-size: 12px;
	margin: 0 3px;
}


/* cate_list
---------------------------------------------------- */
.cate_list li {
	width: 31.3333%;
}
.cate_list li a {
	line-height: 42px;
}


/* news_details
---------------------------------------------------- */
.news_details .date_box .date {
	font-size: 20px;
	display: block;
}
.news_details .date_box .cate {
	display: block;
	margin-top: 10px;
}
.news_details .date_box .cate p {
	display: inline-block;
	margin: 10px 1% 0;
	font-size: 16px;
}
.news_details .tag {
	margin: 0 0 30px 0;
}
.news_details h2 {
	font-size: 24px;
	line-height: 1.5;
	margin-bottom: 30px;
}
.news_details .txt img {
	margin: 40px auto;
}
.news_details .txt h3 {
	font-size: 20px;
	margin: 60px 0 20px;
}
.news_details .txt h4 {
	font-size: 18px;
	margin: 30px 0 20px;
}
.news_details .txt h5 {
	font-size: 16px;
	margin: 30px 0 10px;
}
.news_details .txt p {
	font-size: 14px;
}


/* terms
---------------------------------------------------- */
.terms {
	margin: 0 0 50px;
}
.terms h2 {
	font-size: 20px;
}
.terms h3 {
	font-size: 18px;
	margin-top: 20px;
}


/* m_blc
---------------------------------------------------- */
.m_blc p {
	text-align: left;
}


/* table
---------------------------------------------------- */
table.tbl {
	width: 100%;
	border-collapse: collapse;
}
table.tbl th {
	padding: 10px 10px 5px;
	display: block;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	border-bottom: none;
}
table.tbl td {
	padding: 0 10px 10px;
	display: block;
	width: 100%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}


/* summer_pack_blc
---------------------------------------------------- */
.summer_pack_mv {
	height: auto;
	margin-top: 42px;
	padding-bottom: 50px;
}
.summer_pack_mv h1 {
	font-size: 30px;
	line-height: 1.4;
	padding-top: 50px;
	text-align: center;
}
.summer_pack_mv p {
	font-size: 20px;
	line-height: 1.5;
	padding-top: 150px;
}
.summer_pack_blc .indent {
	font-size: 14px;
}
.summer_pack_blc table.price_tbl .summer_pack_td2 span {
	font-size: 28px;
}
.summer_pack_blc table.price_tbl td span {
	font-size: 24px;
}


/* winter_pack_blc
---------------------------------------------------- */
.winter_pack_mv {
	height: auto;
	margin-top: 42px;
	padding-bottom: 50px;
}
.winter_pack_mv h1 {
	font-size: 30px;
	line-height: 1.4;
	padding-top: 50px;
	text-align: center;
}
.winter_pack_mv p {
	font-size: 20px;
	line-height: 1.5;
	padding-top: 150px;
}


/* corporation_member_blc
---------------------------------------------------- */
.corporation_member_mv {
	height: auto;
	margin-top: 50px;
	padding-bottom: 50px;
	min-height: 380px;
}
.corporation_member_mv h1 {
	font-size: 32px;
	line-height: 1.4;
	padding-top: 50px;
	text-align: center;
}
.corporation_member_mv p {
	font-size: 20px;
	line-height: 1.5;
	padding-top: 150px;
}
.corporation_member_blc .indent {
	font-size: 14px;
}
.corporation_member_blc table.price_tbl .corporation_member_td span {
	font-size: 28px;
}
.corporation_member_flow li:nth-child(odd) h3 {
	margin: 0 0 30px 0;
}
.corporation_member_flow li:nth-child(even) h3 {
	margin: 0 0 30px 0;
}
.corporation_member_flow {
	margin-top: -10px;
}
.corporation_member_blc table.corporation_member_tbl {
	margin: 0;
}
.corporation_member_blc .index_h2 {
	padding-bottom: 0;
}
.corporation_member_blc .tbl_scroll {
	margin-bottom: 10px;
}
.corporation_member_blc .tbl_scroll + .index_h2 {
	margin-top: 60px;
}


/* parking
---------------------------------------------------- */
.parking_mv {
	height: auto;
	margin-top: 42px;
	padding-bottom: 180px;
}
.parking_mv h1 {
	font-size: 32px;
	line-height: 1.4;
	padding-top: 50px;
	text-align: center;
}
.parking_map {
	max-width: 100%;
	margin-bottom: 20px;
}
.parking_att {
	text-align: left;
	padding-left: 1em;
	text-indent: -1em;
}
.parking_list {
	margin: 50px 0 0;
}
.parking_list li {
	margin-top: 30px;
	position: relative;
}
.parking_list li h3 {
	padding: 20px 0;
	font-size: 20px;
	margin: 0 0 30px 70px;
}
.parking_list li h3::before {
	font-size: 50px;
	top: 25px;
}
.parking_list li .inner {
	width: 100%;
	float: none;
}
.parking_list li .inner table {
	margin-bottom: 30px;
}
.parking_list li .inner table th {
	width: 30%;
}
.parking_list li img {
	width: 100%;
	float: none;
}

}


@media screen and (max-width: 420px){    /* 2509鶴見追加 */

header .header_logo img {
	height: 0.7rem;  /* 2509鶴見修正　0.82remから */
}

.yoyaku .contents {
	clear: both;
	width: 100%;
	max-width: 85%;
	margin: 0 auto 0 2.4%;
}

}


@media screen and (max-width:320px) {

header .header_logo img {
	height: 0.55rem;  /* 2509鶴見修正　0.82remから */
}


/* main
---------------------------------------------------- */
.main.line_break {
	padding: 106px 0 16px;
	height: 36vw;
}

.main.line_break2 h1 {
	padding-left: 20px;
	font-size: 26px;
	line-height: 30px;
}
.main.line_break2 {
	padding: 106px 0 0px;
	height: 10vw;
}

.index_main h1 {
	font-size: 1.2rem;
	line-height: 1.9rem;
}
.index_main h1 span.strong {
	font-size:1.2rem;
	letter-spacing: 0.15rem;
	line-height: 2.9rem;
}

.index_main h1 span.shortest {
	color: #FFF;
	font-size:1.2rem;
	animation:none;
	letter-spacing: -0.06rem;
}

.yoyaku .contents {
	clear: both;
	width: 100%;
	max-width: 85%;
	margin: 0 auto 0 1.2%;
}

.yoyaku ul li:first-child {
	margin-left: -0.02rem;
}


}