@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/* --- Google Fontsの読み込み --- */
/* これらはテーマのヘッダー（header.phpなど）で読み込むか、CSSの先頭に記述します */
@import url(https://fonts.googleapis.com/css?family=Arvo:400,700);
@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:400,700);
@import url(https://fonts.googleapis.com/css?family=Oswald:400,700);


/* --- 全体の基本フォントと文字色 --- */
/*
 * bodyセレクタは、新しいテーマで既に多くの指定がされている場合があります。
 * そのため、必要なプロパティ（font-familyやcolorなど）だけを
 * 新しいテーマのbody指定に追記・上書きするのがおすすめです。
*/
body {
    /* フォントはヒラギノなどを優先し、なければ游ゴシック、メイリオなどを指定 */
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "Roboto", sans-serif;

    /* 基本となる文字のサイズ、行間、色 */
    font-size: 15px;
    line-height: 1.7;
    color: #504f4f;
}

/* 共通ユーティリティ */
.mgReset {
	margin: 0px !important;
}

/* ボタン */
.button {
	position: relative;
	display: inline-block;
	padding: 1em 4em;
	border: 2px solid;
	text-align: center;
	text-decoration: none;
	transition: all .3s;
	font-weight: bold;
	letter-spacing: 2px;
}
.button::after {
	content: '';
	width: 12px;
	height: 12px;
	border: 0px;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 45%;
	right: 15px;
	margin-top: -4px;
	transition: all .3s;
}
.int-btn {
	padding: 1em 4em !important;
	background-color: #2ea9df;
	color: #FFFFFF;
	font-size: 14px;
	min-width: 230px;
	border-color: #2ea9df;
}
.int-btn-green {
	padding: 1.1em 4em !important;
	background-color: #01D757;
	color: #FFFFFF;
	font-size: 14px;
	min-width: 230px;
	border-color: #01D757;
}
.int-btn::after, .int-btn-green::after {
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
}
.int-btn:hover {
	background: none;
	color: #2ea9df;
}
.int-btn-green:hover {
	background-color: #ffffff;
	color: #01D757;
}
.main-catch-box .int-btn-rvs {
	background: rgba(255,255,255,0.5);
}
.int-btn-rvs {
	padding: 1em 4em !important;
	background: rgba(255,255,255,1.0);
	color: #2ea9df;
	font-size: 14px;
	min-width: 230px;
	border-color: #2ea9df;
}
.int-btn-rvs::after {
	border-top: solid 2px #2ea9df;
	border-right: solid 2px #2ea9df;
}
.int-btn-rvs:hover {
	background-color: #2ea9df;
	color: #ffffff;
	border-color:#ffffff;
}
.int-btn-rvs:hover::after {
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
}
.int-btn-gray:hover {
	background-color: #2c2c2c !important;
}
.int-btn:hover::after {
	border-top: solid 2px #2ea9df;
	border-right: solid 2px #2ea9df;
}
.int-btn-green:hover::after {
	border-top: solid 2px #01D757;
	border-right: solid 2px #01D757;
}
.btn-box {
	display: flex;
	justify-content: center;
	margin: 40px 0 10px;
	text-align: center;
}
.btn-box p {
	margin: 0 15px;
}

/* CLUB
------------------------------------------------------------*/
.box-club-text .name {
	font-weight: bold;
	text-align: center;
	color:#fff;
	background-color: #2ea9df;
	border-radius: 12px;
	margin:4px auto 10px;
}

/* ACCESS
------------------------------------------------------------*/
.shopinfo-box li.name {
	font-family: 'Oswald';
	font-size: 13px;
	font-weight: bold;
	color:#2ea9df;
}
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
/* --- Google Fontsの読み込み --- */
/* これらはテーマのヘッダー（header.phpなど）で読み込むか、CSSの先頭に記述します */
@import url(https://fonts.googleapis.com/css?family=Arvo:400,700);
@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:400,700);
@import url(https://fonts.googleapis.com/css?family=Oswald:400,700);


/* --- 全体の基本フォントと文字色 --- */
/*
 * bodyセレクタは、新しいテーマで既に多くの指定がされている場合があります。
 * そのため、必要なプロパティ（font-familyやcolorなど）だけを
 * 新しいテーマのbody指定に追記・上書きするのがおすすめです。
*/
body {
    /* フォントはヒラギノなどを優先し、なければ游ゴシック、メイリオなどを指定 */
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "Roboto", sans-serif;

    /* 基本となる文字のサイズ、行間、色 */
    font-size: 15px;
    line-height: 1.7;
    color: #504f4f;
}

}

/* CLUB
------------------------------------------------------------*/
.box-club-text .name {
	font-weight: bold;
	text-align: center;
	color:#fff;
	background-color: #2ea9df;
	border-radius: 12px;
	margin:4px auto 10px;
}

/* ACCESS
------------------------------------------------------------*/
.shopinfo-box li.name {
	font-family: 'Oswald';
	font-size: 13px;
	font-weight: bold;
	color:#2ea9df;
}

/*834px以下*/
@media screen and (max-width: 834px){
/* --- Google Fontsの読み込み --- */
/* これらはテーマのヘッダー（header.phpなど）で読み込むか、CSSの先頭に記述します */
@import url(https://fonts.googleapis.com/css?family=Arvo:400,700);
@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:400,700);
@import url(https://fonts.googleapis.com/css?family=Oswald:400,700);


/* --- 全体の基本フォントと文字色 --- */
/*
 * bodyセレクタは、新しいテーマで既に多くの指定がされている場合があります。
 * そのため、必要なプロパティ（font-familyやcolorなど）だけを
 * 新しいテーマのbody指定に追記・上書きするのがおすすめです。
*/
body {
    /* フォントはヒラギノなどを優先し、なければ游ゴシック、メイリオなどを指定 */
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "Roboto", sans-serif;

    /* 基本となる文字のサイズ、行間、色 */
    font-size: 15px;
    line-height: 1.7;
    color: #504f4f;
}

}

/* CLUB
------------------------------------------------------------*/
.box-club-text .name {
	font-weight: bold;
	text-align: center;
	color:#fff;
	background-color: #2ea9df;
	border-radius: 12px;
	margin:4px auto 10px;
}

/* ACCESS
------------------------------------------------------------*/
.shopinfo-box li.name {
	font-family: 'Oswald';
	font-size: 13px;
	font-weight: bold;
	color:#2ea9df;
}

/*480px以下*/
@media screen and (max-width: 480px){
/* --- Google Fontsの読み込み --- */
/* これらはテーマのヘッダー（header.phpなど）で読み込むか、CSSの先頭に記述します */
@import url(https://fonts.googleapis.com/css?family=Arvo:400,700);
@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:400,700);
@import url(https://fonts.googleapis.com/css?family=Oswald:400,700);


/* --- 全体の基本フォントと文字色 --- */
/*
 * bodyセレクタは、新しいテーマで既に多くの指定がされている場合があります。
 * そのため、必要なプロパティ（font-familyやcolorなど）だけを
 * 新しいテーマのbody指定に追記・上書きするのがおすすめです。
*/
body {
    /* フォントはヒラギノなどを優先し、なければ游ゴシック、メイリオなどを指定 */
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "Roboto", sans-serif;

    /* 基本となる文字のサイズ、行間、色 */
    font-size: 15px;
    line-height: 1.7;
    color: #504f4f;
}

}
/* CLUB
------------------------------------------------------------*/
.box-club-text .name {
	font-weight: bold;
	text-align: center;
	color:#fff;
	background-color: #2ea9df;
	border-radius: 12px;
	margin:4px auto 10px;
}

/* ACCESS
------------------------------------------------------------*/
.shopinfo-box li.name {
	font-family: 'Oswald';
	font-size: 13px;
	font-weight: bold;
	color:#2ea9df;
}

/* CONTACT FORM 7
------------------------------------------------------------*/
.contact-table th .require {
	padding: 1px 7px;
	background-color: #2ea9df;
	color: #FFFFFF;
	font-size: .78em;
	border-radius:12px;
	letter-spacing: 1px;
	float: right;
}
.contact-table th {
	width: 33% !important;
	font-weight: 700;
}
.contact-table td {
	line-height: 1.6em !important;
}
.contact-table td .add {
	margin-top:6px;
	font-size:.85em;
	line-height:1.4em;}
.contact-table td .add em {
	font-size:1.1em;
	font-weight:bold;
	display:block;
	color:#fd8185;}

/* FORM INPUT STYLES */
input[type="text"], textarea, input[type="number"], input[type="email"], input[type="tel"], select {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	box-sizing: border-box;
	vertical-align: middle;
	height: 42px;
	padding: 1px 5px;
	border: 1px solid #d4d4d7;
	border-radius: 6px;
	font-size: 100%;
	color: #555555;
	background: #fcfcfc;
	-moz-box-shadow: inset 1px 3px 9px -6px rgba(0,0,0,0.5);
	-webkit-box-shadow: inset 1px 3px 9px -6px rgba(0, 0, 0, 0.5);
	box-shadow: inset 1px 2px 9px -6px rgba(0,0,0,0.5);}
input[type="text"]:focus, textarea:focus, input[type="number"]:focus, input[type="email"]:focus {
	box-shadow: 0 0 0px #1abc9c;
	background:#F3FBCE;
	border:1px solid #75a948;}

/* TEXT SIZE CLASSES */
.text-ssmall {
	font-size: .7em !important;
}
.text-small {
	font-size: .85em !important;
}
.text-medium {
	font-size: 1.3em !important;
}
.text-large {
	font-size: 1.65em !important;
}
.text-xlarge {
	font-size: 2em !important;
}
.text-xxlarge {
	font-size: 3em !important;
}

/* BUTTON FONT SIZES */
.int-btn, .int-btn-rvs, .int-btn-green {
	font-size: 14px;
}
.int-btn-sp-telephone {
	font-size: 1.3em;
	font-family: 'Roboto Slab';
}
.access-btn-box a {
	font-size: 1.2em;
}
.form-send-btn {
	font-size: 14px;
}

/* CONTENT FONT SIZES */
.contents-midashi {
	font-size: 1.7em;
	margin-bottom: 40px;
}
.contents-text {
	font-size:.95em;
	width:74%;
}
.contents-text strong {
	font-size: 1.4em;
	font-weight: bold;
	display: block;
	margin: 13px 0;
}
.main-catch-box h2 p {
	font-size: 1.4em;
	font-weight: bold;
}
.main-catch-box p.txt {
	font-size: .8em;
	font-weight: normal;
	margin-bottom: 25px;
}

/* FLEX LAYOUT FONT SIZES */
.flex-2-col {
	font-size: 14px;
}
.flex-2-col li p.sub-title {
	font-weight:bold;
	font-size:1.2em;
	margin-bottom:6px;
}
.flex-3-col {
	font-size: 15px;
}
.flex-3-col li.arrow {
	font-size: 2em;
}
.flex-4-col {
	font-size: 13.5px;
}
.flex-4-col li b {
	display: block;
	font-size: 1.2em;
	margin-bottom: 15px;
}
.flex-list {
	font-size: 14px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.flex-list li {
	flex-basis: 16.5%;
	padding: 0 10px;
	line-height: 1.4em;
	margin-bottom: 25px;
}
.flex-list li b {
	font-size: 1.4em;
	font-family: 'Arvo';
}
.flex-4-col-footer {
	font-size: 13.5px;
}

/* OTHER FONT SIZES */
.list_link {
	font-size:.9em;
	font-weight:bold;
	text-align:right !important;
}
dl.index-news dt time {
	font-size: .95em;
	color: #7c7c7c;
	font-weight: bold;
	font-family: 'Roboto Slab';
	margin-right: 7px;
}
.index-news .news-icon {
	font-size:.8em;
	margin-left:10px;
	font-weight:bold;
	color:#0a0a0a;
	text-align:center;
	width:80px;
	height:20px;
	line-height:20px;
	vertical-align:text-top;
	display:inline-block;
	border-radius:10px;
}
.index-news .recruit {
	background-color:#C2E8FB;
	color:#374C8F;
}
.index-news .update {
	background-color:#FBE6D6;
	color:#BC5315;
}
.index-news .news {
	background-color:#DBF4D9;
	color:#2F7339;
}

/* RESPONSIVE FONT SIZES - MOBILE/PC */
/* 1023px以下 (Tablet) */
@media screen and (max-width: 1023px){
	.contents-text {
		font-size:.95em;
	}
	.flex-3-col {
		font-size:14px !important;
	}
	.flex-list li {
		font-size:13px !important;
	}
}

/* 834px以下 (Small Tablet) */
@media screen and (max-width: 834px){
	.contents-text {
		font-size:.95em;
	}
	.flex-3-col {
		font-size:14px !important;
	}
	.flex-list li {
		font-size:13px !important;
	}
}

/* 800px以下 (Mobile) */
@media (max-width: 50em) {
	.int-btn, .int-btn-rvs {
		padding: .9em 3em !important;
		font-size: .85em !important;
	}
	.rightbtn .description .text {
		font-size: .9em;
		line-height: 1.75em;
	}
	.leftbtn .description .text {
		font-size: .9em;
		line-height: 1.75em;
	}
	.flex-4-col li {
		font-size: 1.2em;
		margin-bottom: 40px !important;
	}
	.flex-3-col {
		font-size: 14px !important;
	}
	.flex-list li {
		font-size: 13px !important;
		margin-bottom: 15px !important;
	}
	.flex-4-col-footer li {
		margin-bottom: 40px !important;
	}
	.price-list li.credit-img {
		width:100% !important;
		max-width:284px !important;
	}
	.howto-bottom {
		margin-top: 15px !important;
	}
	dl.index-news {
		width: 100% !important;
	}
	.rightbtn figure {
		width: 280px !important;
		margin: 0 30px 0 0 !important;
	}
	.rightbtn figure img {
		max-width: 280px;
	}
	.rightbtn .description {
		margin-top: 20px !important;
	}
	.rightbtn .description .text {
		font-size: .85em;
		line-height: 1.55em;
		margin-bottom: 10px !important;
	}
	.rightbtn .description .text img {
		width: 100%;
	}
	.rightbtn .description h5 {
		margin-bottom: 10px !important;
	}
	.leftbtn figure {
		width: 280px !important;
		margin: 0 0 0 30px !important;
	}
	.leftbtn figure img {
		max-width: 280px;
	}
	.leftbtn .description {
		margin-top: 20px !important;
	}
	.leftbtn .description .text {
		font-size: .8em;
		line-height: 1.5em;
		margin-bottom: 10px !important;
	}
	.leftbtn .description .text img {
		width: 100%;
	}
	.leftbtn .description h5 {
		margin-bottom: 10px !important;
	}
	.top-access-map {
		width: 60% !important;
		margin: 0 2% 0 0;
	}
	.top-access-map img {
		width: 100%;
	}
	.top-access-text {
		width: 38% !important;
		margin-top: 20px !important;
	}
	.top-access-text b {
		font-size: 1em !important;
		padding-bottom: 4px !important;
	}
	.int-btn {
		min-width:100% !important;
	}
	.int-btn-sp-telephone {
		display: inline-block;
		margin: 4px 0 10px;
		padding: .1em 2em !important;
		font-size: 1.5em;
		border-radius: 50px;
	}
	.int-btn-sp-telephone::after {
		content: '';
		width: 10px;
		height: 10px;
		border: 0px;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		top: 50%;
		right: 15px;
		margin-top: -4px;
		transition: all .3s;
		border-top: solid 2px #ffffff;
		border-right: solid 2px #ffffff;
	}
	.int-btn-sp-telephone:hover {
		background-color: #ffffff;
		color: #01D757;
		border: 2px solid #01D757;
	}
	.int-btn-sp-telephone:hover::after {
		border-top: solid 2px #01D757;
		border-right: solid 2px #01D757;
	}
	.access-btn-box {
		margin: 10px 0 20px 0;
		line-height: 3em;
	}
	.flex-list-sns li {
		line-height: 1.5em !important;
		flex-basis: 20% !important;
	}
	.shopinfo-left {
		width:100% !important;
		padding:20px !important;
	}
	.shopinfo-right img {
		max-width:500px !important;
		min-width:300px;
	}
	.about-box .title {
		margin:20px auto !important;
		font-size:1.4em !important;
		line-height:1.1em;
	}
	.payment-credit-box input,
	.payment-credit-box select {
		width:100% !important;
	}
	.virtual-image {
		width:100% !important;
	}
	.news {
		width:96%;
	}
	.event-box .bg-box {
		margin: 0 0 10px 0;
		padding: 0px !important;
		background: none !important;
		border:none !important;
	}
	.event-contents-table {
		width: 100%;
		border-collapse: collapse;
		border: #ccc 1px solid;
		overflow: hidden;
		word-break: break-all;
		word-wrap: break-word;
		font-size:13.5px;
		line-height:1.7em;
	}
	.event-contents-table th {
		padding: 7px 10px;
		border-top: dotted 1px #d8d8d8;
		width: 17%;
		font-size:.9em !important;
	}
	.event-contents-table td {
		padding: 7px 10px;
		line-height:1.35em;
	}
	.event-contact {
		font-size:13px !important;
		line-height:1.35em !important;
		padding:15px !important;
		margin-bottom:50px;
		display: block !important;
		overflow:hidden;
	}
	.event-contact li {
		flex-basis:100% !important;
		width:100% !important;
	}
	.event-contact li strong {
		font-size:1.5em;
	}
	.event-contact .int-btn-sp-telephone {
		padding:.5em 2em !important;
		margin:12px 0 0 0;
		font-size:1.1em !important;
	}
	.link-box li {
		flex-basis:48%;
	}
	.wpcf7-text, .wpcf7-textarea  {
		width:100% !important;
	}
	.wpcf7-textarea {
		height:100px !important;
	}
	.box-table {
		border: none !important;
	}
	.box-table th {
		padding: 7px !important;
		width:100% !important;
		display:block;
		color: #0a0a0a;
		text-align: center !important;
		border-radius:4px !important;
		border-top:none !important;
		background-color:#efefef;
	}
	.box-table td {
		box-sizing:border-box;
		padding:10px 10px 20px;
		display: list-item;
		width: 100%;
		border-top: none !important;
		line-height:1.68em !important;
	}
	.mailmagazine-box {
		width:100% !important;
		display:block !important;
	}
	.mailmagazine-box .float-left {
		margin:0px auto 30px !important;
		text-align:center !important;
	}
	.mailmagazine-box .float-left img {
		max-width:320px;
	}
}

/* 640px以下 (Small Mobile) */
@media (max-width: 40em) {
	.mgReset {
		margin:0px !important;
	}
	.contents-title {
		margin-bottom: 30px !important;
	}
	.container-footer {
		padding-right: 0em !important;
	}
	.int-btn {
		min-width: 180px !important;
	}
	.btn-box {
		display: block !important;
		text-align: center;
	}
	.not404 .int-btn {
		width:90% !important;
	}
	.not404 p {
		margin-bottom:16px !important;
	}
	.flex-3-col {
		display: block !important;
	}
	.flex-3-col li {
		margin-bottom: 20px !important;
	}
	.club-single li {
		flex-basis:45%;
		max-width:45%;
	}
	.sm-3 li {
		width: 100% !important;
	}
	.sm-3 li img {
		max-width: 302px;
		width: 100%;
	}
	.footerNav .flex-3-col li {
		margin-bottom: 0px !important;
	}
	.footerNav .flex-3-col li p {
		padding: .55em 0;
		border-bottom: 1px dotted rgba(255,255,255,0.5);
	}
	.flex-list li {
		flex-basis: 30% !important;
		margin-bottom: 15px !important;
	}
	.main-catch-photo {
		min-height: 240px !important;
		height: 100% !important;
		padding: 0px !important;
	}
	.main-catch-box {
		width: 100% !important;
		height: 100% !important;
		background: rgba(255,255,255,0.8);
		padding: 20px !important;
	}
	.main-catch-box h2 {
		margin-bottom: 10px;
		font-size: .8em !important;
	}
	.main-catch-box h2 p {
		font-size: 1.2em !important;
	}
	.main-catch-box p.txt {
		font-size: .8em;
		margin-bottom: 12px;
	}
	.main-catch-box img {
		width: 210px;
		margin-top: 10px;
		-webkit-box-shadow: 0 10px 6px -6px #777;
		-moz-box-shadow: 0 10px 6px -6px #777;
		box-shadow: 0 10px 6px -6px #777;
	}
	.top-midashi-title {
		margin: 0 auto 30px !important;
	}
	dl.index-news dd {
		font-size: .9em;
		line-height: 1.2em;
	}
	.rightbtn, .leftbtn {
		display: block;
		justify-content: flex-start;
	}
	.rightbtn figure, .leftbtn figure {
		width: 100% !important;
		margin: 0 !important;
	}
	.rightbtn figure img, .leftbtn figure img {
		width: 100% !important;
		max-width: 385px !important;
	}
	.rightbtn .description, .leftbtn .description {
		margin-top: 20px !important;
		width: 100% !important;
	}
	.rightbtn .description .text, .leftbtn .description .text {
		font-size: .95em;
		line-height: 1.75em;
		margin-bottom: 10px !important;
	}
	.rightbtn .description .text img, .leftbtn .description .text img {
		width: 100%;
		max-width: 390px !important;
	}
	.rightbtn .description .btn, .leftbtn .description .btn {
		margin: 10px auto 30px !important;
	}
	.flex-3-col li .circle {
		width: 222px !important;
		height: 222px !important;
	}
	.flex-2-col {
		display: block !important;
	}
	.flex-2-col li {
		flex-basis: 100% !important;
		margin-bottom: 20px !important;
		max-width:100% !important;
	}
	.price-list li {
		display:block !important;
	}
	.top-access-box {
		display: block;
	}
	.top-access-map {
		width: 100% !important;
		margin: 0 !important;
	}
	.top-access-map img {
		width: 100% !important;
		max-width: 480px !important;
	}
	.top-access-text {
		padding: 0 1em !important;
		width: 100% !important;
		margin-top: 20px !important;
	}
	.top-access-text p.text {
		font-size: 1em;
	}
	.top-access-text b {
		font-size: 1em !important;
		padding-bottom: 4px !important;
	}
	.flex-list-sns li {
		flex-basis: 25% !important;
	}
	#menu-footer li {
		line-height:2.4em;
	}
	#page-top {
		bottom: 0px !important;
		right: 10px;
	}
	.table-rsp {
		border: none !important;
	}
	.table-rsp th {
		padding: 7px 0px !important;
		width: 100% !important;
		display: block;
		color: #ffffff;
		text-align: center !important;
		border-radius: 0px !important;
		border-top: none !important;
		background-color: #2ea9df;
	}
	.table-rsp td {
		box-sizing: border-box;
		padding: 10px 10px 20px;
		display: list-item;
		width: 100%;
		border-top: none !important;
		line-height: 1.68em !important;
	}
	.contents-text {
		width:100%;
	}
	.about-box p {
		line-height:25px;
	}
	.about-box-english p {
		line-height:21px;
	}
	.about-box .title {
		margin:13px auto !important;
		padding:0 0 30px 0;
		letter-spacing:0em !important;
	}
	.about-text-box .text:nth-of-type(1) {
		width: 100% !important;
		padding: 20px 0 0 0 !important;
		border-top: 2px dotted #ffffff;
		border-right:none !important;
		margin-bottom:20px !important;
	}
	.about-text-box .text:nth-of-type(2) {
		width: 100% !important;
		padding:0 0 15px 0 !important;
		float: left !important;
		margin-bottom:30px !important;
	}
	.price-box .price-table-rsp {
		border: none;
	}
	.price-box .price-table-rsp thead {
		display: none;
	}
	.price-box .price-table-rsp tr {
		border-top: 1px solid #999;
		display: block;
		margin-bottom: 20px;
	}
	.price-box .price-table-rsp td {
		border-right: 1px solid #999;
		border-bottom: 1px solid #999;
		display: block;
		padding: 10px;
		text-align: right;
	}
	.price-box .price-table-rsp td::before {
		content: attr(data-label);
		float: left;
		font-weight: bold;
	}
	.virtual-letter th,
	.virtual-letter td {
		font-size:.8em !important;
		line-height:1.3em;
	}
	.flow li {
		margin-bottom:15px !important;
	}
	.flow li p {
		margin-top:5px !important;
	}
	.flow li::after {
		margin: 15px auto 0 !important;
		font-size:1.8em !important;
	}
	#shopinfo-flexbox-box {
		display:block;
	}
	.shopinfo-right {
		width:100%;
	}
	.access-inside {
		width:90%;
		margin:15px auto;
		height:360px;
	}
	.top-midashi-title img,
	.contents-title img {
		width:100% !important;
		max-width:400px !important;
	}
	.column-wrap {
		width:100% !important;
		margin: 0 auto;
	}
	.column-box {
		display:block;
	}
	.column-box .main {
		width:100%;
		flex-basis: 100%;
		margin: 0px !important;
	}
	.column-box .side {
		flex-basis: 100%;
		width:100% !important;
	}
	table.event-contents-table {
		border: none !important;
	}
	table.event-contents-table th {
		width:100% !important;
		display:block;
		margin: 0 auto;
		border:none;
		color: #504f4f;
		font-weight:normal !important;
		font-size:1.1em !important;
		text-align: center !important;
		border-radius: 4px;
		background-color: #ebeef0;
	}
	table.event-contents-table td {
		display: list-item;
		width: 100%;
		border-top: none !important;
	}
	ul.sitemap {
		width:100% !important;
		padding:0 16px !important;
	}
	ul.page_navi {
		margin-bottom:30px !important;
	}
	.event-list-box li .title {
		font-size:1.2em;
		margin:3px 0 !important;
	}
	.web-catch-photo {
		min-height: 240px !important;
		height: 100% !important;
		padding: 0px !important;
	}
	.web-catch {
		min-height: 240px !important;
		width: 100% !important;
		height: 100% !important;
	}
	.web-catch .img {
		max-width:460px;
		width:100%;
		bottom:20px;
	}
	.web-flow-photo {
		min-height: 360px !important;
		height: 100% !important;
		padding: 0px !important;
	}
	.web-flow-catch {
		width: 100% !important;
		height: 100% !important;
		margin: 0 auto;
		padding: 50px 0;
		position: relative !important;
	}
	.web-planlist {
		font-size:.9em;
	}
	.planlist-table {
		font-size:.9em;
	}
	.photo__club li {
		margin-bottom: 5px !important;
	}
	.mailmagazine-box {
		width:100% !important;
		display:block !important;
	}
	.mailmagazine-box .float-left {
		margin:0px auto 30px !important;
		text-align:center !important;
	}
	.mailmagazine-box .float-left img {
		max-width:320px;
	}
}

/* 400px以下 (Extra Small Mobile) */
@media (max-width: 25em) {
	.flex-4-col li {
		flex-basis: 100% !important;
		margin-bottom: 40px !important;
		padding: 0 10px;
	}
	.flex-4-col-footer li {
		flex-basis: 100% !important;
		margin-bottom: 40px !important;
		padding: 0 10px;
	}
	.top-midashi-title img, .contents-title img {
		width: 90% !important;
	}
	.link-box li {
		flex-basis:100%;
	}
	.event-list-box li {
		flex-basis:100%;
		margin:0 0 20px;
	}
	.page-heading {
		display: table;
		width: 100%;
		height: 60px;
		line-height: 23px;
		font-size: 1.2em;
	}
	.planlist-table {min-width:300px !important;}
	.club-single {
		display: block !important;
	}
	.club-single li {
		max-width:100% !important;
		flex-basis: 100% !important;
	}
}
