@charset "utf-8";

/* LAYOUT
-------------------------------------------------------------------- */

a {
	text-decoration: none;
}

a[href^="tel:"] {
	cursor: default;
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

p {
	font-size: 1.5rem;
	line-height: 1.8;
	letter-spacing: 0.05rem;
}

.inner {
	width: 90%;
	max-width: 1150px;
	margin: 0 auto;
	padding: 100px 0 150px;
}


/* タイトルパターン */
.contents_ttl {
	position: relative;
	text-align: center;
	letter-spacing: 0.2rem;
	margin: 0 0 60px;
}

.contents_ttl:before {
	content: '';
	position: absolute;
	top: -120px;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0 auto;
}

.contents_ttl span {
	display: block;
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
}


/* TEL */
.tel a {
	position: relative;
	font-size: 3.2rem;
	line-height: 1.4;
	color: #333;
}


/* PC・SP切替 */
.sp {
	display: none;
}


/* MEDIA QUERIE 768px～ */

@media screen and (max-width: 767px) {

	a {
		transition: .5s;
	}

	.inner {
		padding: 70px 0 90px;
	}

}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

	p {
		font-size: 1.3rem;
	}

	.inner {
		padding: 80px 0;
	}

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	.contents_ttl {
		margin: 0 0 40px;
	}

	.contents_ttl span {
		font-size: 2rem;
	}

}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

	.inner {
		padding: 50px 0;
	}

	.contents_ttl {
		margin: 0 0 30px;
	}

	.contents_ttl:before {
		top: -80px;
	}

	.tel {
		box-sizing: border-box;
		font-size: 2.6rem;
	}

	.tel a {
		font-size: 3rem;
	}

	.tel a:before {
		background-size: 30px 30px;
		width: 30px;
		height: 30px;
		position: absolute;
		top: 0;
		left: -40px;
	}

}



/* HEADER & FOOTER
-------------------------------------------------------------------- */

header {
	padding: 0 10px;
}

.header_inner {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	padding: 24px 0;
	align-items: flex-end;
}

.header_ttl {
	width: 40%;
	max-width: 760px;
}

.header_opentime {
	width: 33%;
	max-width: 500px;
}

.tel.header_tel a span {
	font-size: 2.2rem;
}

footer {
	width: 100%;
	margin: 0 auto;
	padding: 20px 0;
	background-color: #808080;
}

footer p {
	color: #fff;
	text-align: center;
	line-height: 1.8;
}

footer a {
	color: #fff;
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
}

footer a:hover{
	text-decoration: underline;
}

footer .policy {
	text-align: center;
	margin: 5px auto;
}

footer .policy li {
	letter-spacing: normal;
	display: inline-block;
	margin: 0 10px 0 0;
	border-right: solid 1px #fff;
	padding: 0 10px 0 0;
}

footer .policy li:last-child {
	margin: 0;
	border-right: none;
	padding: 0;
}

footer .copyright {
	font-size: 1.2rem;
}

.pagetop {
	position: fixed;
	right: 40px;
	bottom: 40px;
	z-index: 10;
	width: 56px;
	cursor: pointer;
}

.copyright {
	font-size: 1.2rem;
	text-align: center;
	padding: 0 0 60px;
}


/* MEDIA QUERIE ～1024px */
@media screen and (max-width: 1024px) {

	.header_inner {
		display: block;
		text-align: center;
		padding: 10px 0;
	}

	.header_ttl {
		width: 100%;
		max-width: 580px;
		margin: 0 auto;
	}

	.header_opentime {
		width: 100%;
		max-width: 580px;
		margin: 2% auto;
	}

}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

	footer .policy li a {
		font-size: 1.3rem;
	}

	.pagetop {
		position: fixed;
		right: 3%;
		bottom: 3%;
		z-index: 10;
		width: 56px;
		cursor: pointer;
	}

}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

	.header_inner {
		padding: 0 0 2%;
	}

	.header_ttl {
		width: 100%;
		max-width: initial;
	}

	.header_ttl img {
		width: 96%;
	}

	.header_opentime {
		width: 94%;
		max-width: initial;
		margin: 0 auto 2%;
	}

	.footer_inner {
		padding: 20px 0;
	}

}



/* KV
-------------------------------------------------------------------- */

.kv_inner {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
}



/* CAMPAIGN
-------------------------------------------------------------------- */

.campaign_inner {
	max-width: 1100px;
}

/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

	.campaign_inner {
		width: 94%;
		max-width: initial;
	}

	.campaign_img img {
		margin: 0 auto;
	}

}



/* CTA
-------------------------------------------------------------------- */

.cta_inner {
	max-width: 900px;
	margin: 0 auto;
}

.cta_only .cta_inner {
	margin: 0 auto;
}

.cta_info {
	width: 100%;
	max-width: 800px;
	margin: 8% auto 3%;
}

.cta_btn {
	text-align: center;
}

.cta_btn a {
	display: block;
	background: #009600 url("../../images/icon_arrow_right.png") no-repeat right 55px center;
	width: 100%;
	font-size: 3rem;
	line-height: 1.4;
	color: #fff;
	text-align: center;
	text-decoration: none;
	padding: 24px 0;
	border-radius: 50px;
}


/* MEDIA QUERIE ～768px */
@media screen and (max-width: 767px) {

	.cta_btn a:hover {
		opacity: 0.7;
	}

}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

	.cta_info {
		/*width: 85%;*/
		width: 95%;
		max-width: initial;
		margin: 8% auto 3%;
	}

	.cta_btn a {
		width: 85%;
		background: #009600 url("../../images/icon_arrow_right.png") no-repeat right 35px center;
		background-size: 10px;
		font-size: 1.7rem;
		margin: 0 auto;
		padding: 4% 0;
	}

}



/* FACILITIES
-------------------------------------------------------------------- */

.facility {
	background-color: #F2EDE6;
	padding: 130px 0 120px;
}

.facility_inner {
	padding: 130px 0 0;
}

.facility_ttl {
	position: relative;
	z-index: 1;
}

.facility_ttl:before {
	content: '';
	background: url("../../images/bg_ttl_facility.png") no-repeat 0 0;
	background-size: 650px 184px;
	width: 650px;
	height: 184px;
	z-index: -1;
}

.facility_ttl span {
	font-size: 65px;
	font-weight: 500;
	margin-top: -40px;
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.slidebox {
	width: 100%;
	max-width: 1100px;
	background-color: #fff;
	margin: -100px auto 0;
	padding: 150px 0 50px;
}

.slidebox h3 {
	width: 100%;
	/*max-width: 660px;*/
	max-width: 900px;
	text-align: center;
	margin: 0 auto;
}

.slidebox .slider01 {
	width: 100%;
	max-width: 950px;
	margin: 30px auto 80px;
}

.slidebox .slider01 p {
	font-size: 18px;
	text-align: center;
	margin-top: 20px;
}

.slidebox p.wifi {
	width: 580px;
	color: #C61A22;
	font-size: 32px;
	font-weight: 600;
	text-align: center;
	border: 1px solid #C61A22;
	margin: 0 auto 30px;
}

.slidebox .indoor p {
	font-size: 24px;
	text-align: center;
}

.slidebox .indoor_btn {
	text-align: center;
}

.slidebox .indoor a {
	display: block;
	background: #E8380D url("../../images/icon_arrow_right.png") no-repeat right 55px center;
	width: 100%;
	max-width: 900px;
	font-size: 3rem;
	line-height: 1.4;
	color: #fff;
	text-align: center;
	text-decoration: none;
	margin: 0 auto;
	padding: 24px 0;
	border-radius: 50px;
}

.slick-slide {
	transition: .3s ease;
	transform: scale(.9);
	transform-origin: 110% 50%;
	filter: blur(4px);
}

.slick-current {
	position: relative;
	z-index: 2;
	transform: scale(0.95);
	transform-origin: 50% 50%;
	filter: blur(0);
}

.slick-current + .slick-slide {
	transform-origin: -10% 50%;
}

.slide-arrow{
	position: absolute;
	top: 43%;
	margin-top: -15px;
}

.prev-arrow {
	left: 40px;
	z-index: 1;
}

.next-arrow {
	right: 40px;
	z-index: 1;
}


/* MEDIA QUERIE ～1024px */
@media screen and (max-width: 1024px) {

	.facility {
		padding: 130px 0 50px;
	}

	.facility_ttl:before {
		background-size: 100%;
		max-width: 100%;
		height: auto;
	}

	.facility_ttl:before {
		width: 600px;
		height: 173px;
	}

	.facility_ttl span {
		font-size: 60px;
	}

	.slidebox .slider01 {
		max-width: initial;
		margin: 30px auto 40px;
	}

	.slidebox .indoor a {
		width: 85%;
		max-width: initial;
	}

	.slide-arrow{
		top: 40%;
	}

}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

	.facility {
		background-color: #F2EDE6;
		padding: 110px 0;
	}

	.facility_inner {
		padding: 4% 0 0;
	}

	.facility_ttl:before {
		width: 100%;
		background-size: 70%;
		background-position: center;
		top: -130px;
	}

	.facility_ttl span {
		font-size: 6vw;
		font-weight: 700;
		margin-top: -50px;
	}

	.slidebox {
		width: 94%;
		max-width: initial;
		background-color: #fff;
		margin: -80px auto 0;
		padding: 55px 0 20px;
	}

	.slidebox h3 {
		width: 80%;
		max-width: initial;
	}

	.noslider {
		margin: 7% auto 0;
		padding: 0 4%;
	}

	.noslider li {
		margin: 0 auto 10%;
	}

	.noslider li p {
		line-height: 1.6;
		margin: 3% auto 0;
		padding: 0 1%;
	}

	.slidebox p.wifi {
		width: 80%;
		font-size: 4.2vw;
	}

	.slidebox .indoor a {
		width: 85%;
		background: #E8380D url("../../images/icon_arrow_right.png") no-repeat right 15px center;
		background-size: 10px;
		font-size: 1.7rem;
		line-height: 1.4;
		margin: 5% auto 0;
		padding: 4% 0;
	}

}



/* CANDO
-------------------------------------------------------------------- */
.cando {
	padding: 120px 0;
}

.cando_inner {
	width: 100%;
	max-width: 1150px;
	margin: 0 auto;
	position: relative;
}

.cando_inner ul {
	width: 100%;
	position: absolute;
	top: 18%;
}

.cando_inner ul li:nth-child(1) {
	width: 65%;
	max-width: 746px;
}

.cando_inner ul li:nth-child(2) {
	width: 70%;
	max-width: 805px;
}

.cando_inner ul li:nth-child(3) {
	width: 75%;
	max-width: 872px;
}


/* MEDIA QUERIE ～1024px */
@media screen and (max-width: 1024px) {

	.cando {
		padding: 80px 0;
	}

}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

	.cando {
		height: 168vw;
		padding: 8% 0;
	}

	.cando_inner {
		width: 100%;
		max-width: initial;
		height: 100vw;
	}

	.cando_inner ul {
		width: 100%;
		position: absolute;
		top: 56%;
	}

	.cando_inner ul li:nth-child(1) {
		width: 97%;
		max-width: initial;
	}

	.cando_inner ul li:nth-child(2) {
		width: 97%;
		max-width: initial;
	}

	.cando_inner ul li:nth-child(3) {
		width: 97%;
		max-width: initial;
	}

}



/* SAFETY
-------------------------------------------------------------------- */
.safety {
	width: 100%;
	background-color: #FEEDE8;
	padding: 180px 0 80px;
}

.safety_inner {
	width: 100%;
	max-width: 1150px;
	background-color: #fff;
	margin: 0 auto;
	padding: 40px 0 0;
}

.safety_ttl {
	position: relative;
	z-index: 1;
}

.safety_ttl:before {
	content: '';
	background: url("../../images/bg_ttl_safety.png") no-repeat 0 0;
	background-size: 650px 184px;
	width: 650px;
	height: 184px;
	z-index: -1;
}

.safety_ttl span {
	color: #C51D20;
	font-size: 65px;
	font-weight: 500;
	margin-top: -40px;
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.safetybox {
	width: 100%;
	max-width: 1150px;
	background-color: #fff;
	margin: -100px auto 0;
	padding: 150px 0 20px;
}

.safety_inner ul {
	width: 100%;
	max-width: 1050px;
	margin: 15px auto 0;
	overflow: hidden;
}

.safety_inner ul li {
	width: 29.5%;
	max-width: 310px;
	margin: 0 1.8%;
	float: left;
}

.safety_inner ul li img {
	width: 100%;
}

.safety_inner ul li h3 {
	font-size: min(1.8vw,24px);
	font-weight: 500;
	text-align: center;
	margin: 4% 0;
}

.safetybox p.icons {
	width: 100%;
	max-width: 1010px;
	margin: 50px auto;
}


/* MEDIA QUERIE ～1024px */
@media screen and (max-width: 1024px) {

	.safety_inner {
		width: 94%;
		max-width: initial;
	}

	.safety_ttl span {
		width: 100%;
		font-size: 65px;
	}

	.safety_ttl:before {
		width: 650px;
		height: 184px;
	}

	.safetybox {
		width: 100%;
		max-width: initial;
		background-color: #fff;
		margin: -100px auto 0;
		padding: 150px 0 20px;
	}

	.safetybox p.icons {
		width: 94%;
		max-width: initial;
	}

}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

	.safety {
		padding: 130px 0 30px;
	}

	.safety_inner {
		width: 94%;
		max-width: initial;
		margin: -15px auto 0;
		padding: 4% 0 0;
	}

	.safety_ttl {
		position: relative;
		z-index: 1;
	}

	.safety_ttl:before {
		width: 100%;
		background: url("../../images/bg_ttl_safety.png") no-repeat 0 0;
		background-size: 70%;
		background-position: center;
		top: -155px;
	}

	.safety_ttl span {
		color: #C51D20;
		font-size: 6vw;
		font-weight: 700;
		margin-top: -70px;
	}

	.safetybox {
		width: 100%;
		max-width: 1150px;
		background-color: #fff;
		margin: -100px auto 0;
		padding: 50px 0 20px;
	}

	.safety_inner ul {
		width: 92%;
		max-width: initial;
		margin: 15px auto 0;
		overflow: initial;
	}

	.safety_inner ul li {
		width: 100%;
		max-width: initial;
		margin: 0 auto 15%;
		float: none;
	}

	.safety_inner ul li img {
		width: 100%;
	}

	.safety_inner ul li h3 {
		font-size: 5.5vw;
		font-weight: 500;
		text-align: center;
		margin: 4% 0;
	}

	.safetybox p.cmt {
		font-size: 1.5rem !important;
	}

	.safetybox p.icons {
		width: 92%;
		max-width: initial;
		margin: 50px auto 0;
	}

}



/* PLANS
-------------------------------------------------------------------- */

.plans {
	background-color: #FAFAFA;
	padding: 150px 0 0 0;
}

.plans_inner {
	padding: 80px 0 110px;
}

.plans_ttl:before {
	content: '';
	background: url("../../images/bg_ttl_plan.png") no-repeat 0 0;
	background-size: 480px 178px;
	width: 480px;
	height: 178px;
}

.plans_ttl span {
	color: #666;
	font-size: min(5vw,65px);
	font-weight: 500;
	margin-top: -20px;
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.plans_item {
	margin-top: 110px;
}

.plans_item ul {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap: wrap;
}

.plans_item li {
	/*width: 31%;*/
	width: 26%;
	box-sizing: border-box;
	border: solid 1px #ccc;
	margin: 0 0 40px;
}

.plans_item li:last-child{
	width: 45%;
}

.plans_item li ul.multiple_pattern li{
	width: 49%;
	border: none;
	margin: 0;
}
.plans_item li ul.multiple_pattern li:first-child,
.plans_item li ul.multiple_pattern li:nth-child(2){
	margin: 0 0 20px;
}
.plans_item li ul.multiple_pattern li dl dt{
	font-size: 1.9rem;
	font-weight: 400;
}

.plans_item h3 {
	background: #ED8482;
	box-sizing: border-box;
	font-size: min(1.8vw,24px);
	line-height: 1.4;
	font-weight: bold;
	color: #fff;
	text-align: center;
	letter-spacing: 0.1rem;
	padding: 1.6rem 1rem;
}

.plans_item h3 span {
	font-size: 1.4rem;
	font-weight: normal;
}

.plans_item_inner {
	box-sizing: border-box;
	padding: 10px 15px 20px;
}

.plans_fee_multi {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap: wrap;
}

.plans_fee_multi_inner {
	width: 48%;
}

.plan_item_info {
	/*min-height: 80px;*/
	min-height: 60px;
}

.plans_fee_wrap {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: baseline;
	/*margin-top: 18px;*/
	margin-top: 10px;
}

.plans_fee_wrap .monthly {
	font-size: min(1.6vw,20px);
	line-height: 1;
	color: #393939;
	text-align: center;
	padding: 0 0.5% 1%;
	margin: 0 10px 0 0;
}

.plans_fee_wrap .fee,
.plans_item li ul.multiple_pattern li dl dd .fee {
	/*font-size: min(4vw,55px);*/
	font-size: min(4vw,48px);
	line-height: 1;
	font-weight: 900;
	color: #ee8890;
}

.plans_fee_wrap .yen,
.plans_item li ul.multiple_pattern li dl dd .yen {
	font-size: 2.4rem;
	font-weight: normal;
	color: #393939;
}

.plans_fee_wrap .intax,
.plans_item li ul.multiple_pattern li dl dd .intax {
	font-size: 1.6rem;
	font-weight: normal;
	color: #393939;
}

.plans_item .hours {
	background-color: #ee8890;
	box-sizing: border-box;
	font-size: 1.8rem;
	color: #fff;
	text-align: center;
	margin: 25px 0 15px;
	padding: 0 1rem;
}

.plans_item dl {
	font-size: 1.6rem;
	line-height: 1.8;
}

.ttl_rakuraku {
	width: 100%;
	max-width: 1000px;
	font-size: 35px;
	font-weight: 600;
	text-align: center;
	line-height: 1.4;
	margin: 80px auto 30px;
}

.ttl_rakuraku span {
	color: #EE8382;
}

.plans_inner table.rakuraku {
	width: 100%;
	max-width: 1150px;
	margin: 0 auto;
}

.plans_inner table.rakuraku th,
.plans_inner table.rakuraku td {
	border: 1px solid #ccc;
	border-collapse: collapse;
	line-height: 1.2;
}

.plans_inner table.rakuraku td {
	height: 70px;
}

.plans_inner table.rakuraku th {
	background-color: #666;
	color: #fff;
	font-size: min(1.4vw,20px);
	text-align: center;
	vertical-align: middle;
	padding: 10px 0;
}

.plans_inner table.rakuraku td.plan_name {
	background-color: #EE8382;
	color: #fff;
	font-size: min(1.6vw,24px);
	font-weight: 600;
	text-align: center;
}

.plans_inner table.rakuraku td.normal {
	background-color: #fff;
	color: #EE8382;
	font-size: min(2.2vw,30px);
	font-weight: 700;
	text-align: right;
	padding: 0 15px 0 0;
}

.plans_inner table.rakuraku td.green {
	background-color: #E1ECB4;
	color: #393939;
	font-size: min(2.2vw,30px);
	font-weight: 700;
	text-align: right;
	padding: 0 15px 0 0;
}

.plans_inner table.rakuraku td.yellow {
	background-color: #FDE380;
	color: #393939;
	font-size: min(2.2vw,30px);
	font-weight: 700;
	text-align: right;
	padding: 0 15px 0 0;
}

.plans_inner table.rakuraku td.time {
	background-color: #fff;
	color: #393939;
	font-size: min(1.6vw,24px);
	font-weight: 700;
	text-align: center;
}

.plans_inner table.necessary {
	width: 100%;
	max-width: 1150px;
	margin: 80px auto 30px;
	border: 1px solid #ccc;
}

.plans_inner table.necessary th {
	background-color: #999;
	color: #fff;
	font-size: min(1.6vw,24px);
	text-align: center;
	vertical-align: middle;
	padding: 10px 0;
}

.plans_inner table.necessary th,
.plans_inner table.necessary td {
	border-collapse: collapse;
	line-height: 1.2;
}

.plans_inner table.necessary td {
	font-size: min(1.8vw,24px);
	text-align: center;
	font-weight: 700;
	border-right: 2px dotted #ccc;
	padding: 35px 0;
}

.plans_inner table.necessary td.entry {
	width: 42%;
	overflow: hidden;
	font-size: 24px;
	text-align: center;
	border-right: 2px dotted #ccc;
	/*padding: 0 0 0 4%;*/
	padding: 0 0 0 3%;
}

.plans_inner table.necessary td.entry p {
	font-size: 24px;
	line-height: 1.2;
	float: left;
}

.plans_inner table.necessary td.entry p.entry_fee {
	font-size: min(1.8vw,24px);
	/*padding: 22px 20px 0 0;*/
	padding: 36px 20px 0 0;
}

.plans_inner table.necessary td.entry p.arrow {
	width: 100%;
	max-width: 28px;
	/*padding: 6% 20px 0 0;*/
	padding: 10% 20px 0 0;
}

.plans_inner table.necessary td.entry p.zero {
	color: #EE8382;
	font-size: min(1.8vw,24px);
	line-height: 1.2;
	padding-top: 10px;
}

.plans_inner table.necessary td.entry p.zero span {
	font-size: min(3.4vw,48px);
}

.plans_inner table.necessary td span.kome,
.plans_inner table.necessary td.entry p.zero span.kome {
	font-size: min(1.4vw,18px);
	font-weight: 400;
}

.plans_inner table.necessary td:nth-child(4) {
	border: none;
}

.plans_item p {
	font-size: 1.9rem;
	font-weight: 400;
}

.plans_item p.monthly_fee{
	text-align: center;
}

.plans_item p span {
	font-size: 1.6rem;
}


/* MEDIA QUERIE ～1024px */
@media screen and (max-width: 1024px) {

	.plans_ttl:before {
		background-size: 400px 148px;
		width: 400px;
		height: 148px;
	}

	.plans_ttl span {
		width: 100%;
		font-size: 60px;
		margin-top: -30px;
	}

	.plans_item h3 {
		font-size: 2.4vw;
	}

	.plans_fee_wrap .monthly {
		font-size: 2.2vw;
	}

	.ttl_rakuraku {
		font-size: 46px;
	}

	.plans_inner table.necessary td.entry p.zero {
		font-size: min(1.6vw,22px);
	}

}


/* MEDIA QUERIE ～1024px */
@media screen and (max-width: 1024px) {

	.plans_fee_wrap {
		display: block;
		text-align: center;
	}

	.plans_fee_wrap .monthly {
		box-sizing: border-box;
		display: block;
		padding: 1rem;
		margin: 0 0 20px;
	}

}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

	.plans {
		background-color: #FAFAFA;
		padding: 70px 0 0 0;
	}

	.plans_inner {
		padding: 80px 0 110px;
	}

	.plans_ttl:before {
		background: url("../../images/bg_ttl_plan.png") no-repeat 0 0;
		background-size: 70%;
		background-position: center;
		width: 100%;
	}

	.plans_ttl span {
		width: 100%;
		color: #666;
		font-size: 6vw;
		font-weight: 700;
		margin-top: 0;
		position: absolute;
		top: 40%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
	}

	.plans_inner {
		padding: 50px 0 30px;
	}

	.plan_item_info {
		min-height: initial;
	}

	.plans_item_wrap {
		margin: 60px 0 0;
	}

	.plans_item {
		margin-top: 70px;
	}

	.plans_item ul {
		display: block;
	}

	.plans_item h3 {
		font-size: 2.2rem;
	}

	.plans_item p {
		font-size: 1.8rem;
	}

	.plans_item p span {
		font-size: 1.3rem;
	}

	.plans_item li {
		width: 100%;
		margin: 0 0 13%;
	}

	.plans_item li:last-child{
		width: 100%;
	}

	.plans_item li ul.multiple_pattern li{
		width: 100%;
		margin: 0 0 20px;
	}
	.plans_item li ul.multiple_pattern li:last-child{
		margin: 0;
	}
	.plans_item li ul.multiple_pattern li dl{
		display: flex;
		justify-content: center;
	}
	.plans_item li ul.multiple_pattern li dl dt span.m_fee{
		display: none;
	}

	.plans_fee_multi_inner {
		width: 100%;
	}

	.plans_fee_wrap .monthly {
		display: inline;
		font-size: 4.4vw;
	}

	.plans_fee_wrap .fee,
	.plans_item li ul.multiple_pattern li dl dd .fee {
		font-size: 13vw;
		line-height: 1;
		font-weight: 900;
		color: #ee8890;
	}

	.ttl_rakuraku {
		max-width: initial;
		font-size: 5.4vw;
		margin: 5% auto;
	}

	.ttl_rakuraku span {
		color: #EE8382;
	}

	.plans_inner table.rakuraku {
		width: 100%;
		max-width: initial;
		margin: 0 auto 10%;
	}

	.plans_inner table.rakuraku th,
	.plans_inner table.rakuraku td {
		border: 1px solid #ccc;
		border-collapse: collapse;
		line-height: 1.2;
	}

	.plans_inner table.rakuraku td {
		height: 70px;
	}

	.plans_inner table.rakuraku th.plan_name {
		width: 100%;
		background-color: #EE8382;
		color: #fff;
		font-size: 2.2rem;
		font-weight: 700;
		text-align: center;
		vertical-align: middle;
		padding: 2% 0;
	}

	.plans_inner table.rakuraku th.midashi {
		width: 28%;
		background-color: #666;
		color: #fff;
		font-size: 1.6rem;
		text-align: center;
		vertical-align: middle;
		padding: 0;
	}

	.plans_inner table.rakuraku td.normal {
		width: 51%;
		background-color: #fff;
		color: #EE8382;
		font-size: 3.2rem;
		font-weight: 700;
		text-align: center;
		padding: 0;
	}

	.plans_inner table.rakuraku td.green {
		background-color: #E1ECB4;
		color: #393939;
		font-size: 3.2rem;
		font-weight: 700;
		text-align: center;
		padding: 0;
	}

	.plans_inner table.rakuraku td.yellow {
		background-color: #FDE380;
		color: #393939;
		font-size: 3.2rem;
		font-weight: 700;
		text-align: center;
		padding: 0;
	}

	.plans_inner table.rakuraku td.time {
		background-color: #fff;
		color: #393939;
		font-size: 1.7rem;
		font-weight: 700;
		padding: 0;
	}

	.plans_inner table.rakuraku td.time span {
		font-size: 1.5rem;
	}

	.plans_inner table.necessary {
		width: 100%;
		max-width: initial;
		margin: 80px auto 30px;
		border: 1px solid #ccc;
	}

	.plans_inner table.necessary th {
		background-color: #999;
		color: #fff;
		font-size: 2rem;
		text-align: center;
		vertical-align: middle;
		padding: 10px 0;
	}

	.plans_inner table.necessary th,
	.plans_inner table.necessary td {
		border-collapse: collapse;
		line-height: 1.2;
	}

	.plans_inner table.necessary td {
		font-size: 2rem;
		text-align: center;
		font-weight: 700;
		border-right: none;
		border-bottom: 2px dotted #ccc;
		padding: 5% 0;
	}

	.plans_inner table.necessary td:nth-child(4) {
		border: none;
	}

	.plans_inner table.necessary td.entry {
		width: 42%;
		overflow: hidden;
		font-size: 24px;
		text-align: center;
		border-right: none;
		border-bottom: 2px dotted #ccc;
		padding: 0 0 3% 4%;
	}

	.plans_inner table.necessary td.entry p {
		font-size: 24px;
		line-height: 1.2;
		float: left;
	}

	.plans_inner table.necessary td.entry p.entry_fee {
		font-size: 2rem;
		/*padding: 8% 7% 0 0;*/
		padding: 15% 7% 0 0;
	}

	.plans_inner table.necessary td.entry p.arrow {
		width: 100%;
		max-width: 20px;
		/*padding: 10% 20px 0 0;*/
		padding: 18% 20px 0 0;
	}

	.plans_inner table.necessary td.entry p.zero {
		color: #EE8382;
		font-size: 1.5rem;
		line-height: 1.2;
		padding-top: 10px;
	}

	.plans_inner table.necessary td.entry p.zero span {
		font-size: 5rem;
	}

	.plans_inner table.necessary td span.kome,
	.plans_inner table.necessary td.entry p.zero span.kome {
		font-size: 1.4rem;
		font-weight: 400;
		margin-left: 4%;
	}

	.plans_inner table.necessary td.entry p.zero span.small{
		font-size: 1.4rem;
		font-weight: 400;
	}

	.plans_inner table.necessary td.end {
		border: none;
	}

}



/* INFO
-------------------------------------------------------------------- */

.info {
	border-top: solid 1px #333;
}

.info_inner {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	padding: 30px 0 80px;
}

.info_txt {
	width: 52%;
}

.info_tel {
	border-bottom: 1px solid #333;
	margin: 0 0 2rem;
	padding: 0 0 1rem;
}

.info_ttl {
	width: 94%;
	max-width: 1150px;
	margin: 80px auto 15px;
}

.info_tel p {
	font-size: 1.5rem;
}

.info_tel a {
	position: relative;
	color: #BF0008;
	font-size: 4rem;
	line-height: 1.6;
	font-weight: bold;
}

.info_tel a span {
	color: #393939;
	font-size: 3rem;
	font-weight: 400;
}

.info_txt dl {
	display: -webkit-flex;
	display: flex;
	font-size: min(1.8vw,18px);
	line-height: 1.8;
	letter-spacing: 0.05rem;
	padding: 0 0 1rem;
}

.info_txt dt {
	min-width: 80px;
	font-weight: bold;
}

.info_txt dt:after {
	content: '／';
}

.info_txt dd span {
	display: block;
	font-size: 1.2rem;
}

.info_img {
	width: 43%;
}

.info_img img {
	box-sizing: border-box;
}

.ggmap {
	height: 450px;
}

.ggmap iframe {
	width: 100%;
	height: 450px;
}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

	.info_inner {
		display: block;
		padding: 0;
	}

	.info_txt {
		width: 100%;
		margin: 0 0 20px;
	}

	.info_ttl,
	.info_tel {
		text-align: center;
	}

	.info_txt dl {
		display: -webkit-flex;
		display: flex;
		font-size: 1.4rem;
		line-height: 1.8;
		letter-spacing: 0.05rem;
		padding: 0 0 1rem;
	}

	.info_txt dt {
		min-width: 73px;
		font-weight: bold;
	}

	.info_img {
		width: 100%;
		text-align: center;
	}

	.info_img {
		width: 100%;
	}

	.ggmap {
		height: 350px;
		margin-top: 10%;
	}

	.ggmap iframe {
		height: 350px;
	}

}


/* MEDIA QUERIE ～600px */
@media screen and (max-width: 600px) {

	.info_inner {
		padding: 0;
	}

	.ggmap {
		height: 250px;
	}

	.ggmap iframe {
		height: 250px;
	}

}



/* TOPICS
-------------------------------------------------------------------- */

.topics {
	margin: 100px 0 50px;
}

.topics_inner {
	box-sizing: border-box;
	border: 2px solid #333;
	padding: 50px 50px 20px;
}

.topics_item:first-child {
	margin: 0 0 20px;
}

.topics_item_inner {
	margin: 0 0 20px;
}

.topics h2 {
	font-size: 3rem;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
	padding: 0 0 3rem;
}

.topics h3 {
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: bold;
	border-bottom: solid 1px #333;
	margin: 0 0 2rem;
	padding: 0 0 1rem;
}

.topics h4 {
	font-size: 1.8rem;
	line-height: 1.4;
	font-weight: bold;
	padding: 0 0 1rem;
}

.topics p {
	padding: 0 0 2rem;
}

.topics p span {
	font-weight: bold;
}

.topics .txt_center {
	text-align: center;
}

.topics .txt_right {
	text-align: right;
}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

	.topics {
		margin: 50px 0 30px;
	}

	.topics_inner {
		padding: 30px;
	}

	.topics_item:first-child {
		margin: 0;
	}

	.topics_item_inner {
		margin: 0 0 20px;
	}

	.topics h2 {
		font-size: 1.8rem;
	}

	.topics h3 {
		font-size: 1.8rem;
		margin: 0 0 1rem;
		padding: 0 0 1rem;
	}

	.topics h4 {
		font-size: 1.4rem;
	}

}



/* FIXED
-------------------------------------------------------------------- */	

.fixed {
	height: 60px;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	z-index: 100;
}

.fixed ul {
	width: 100%;
	position: absolute;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	border-top: solid 2px #fff;
}

.fixed ul li {
	width: 50%;
	box-sizing: border-box;
}

.fixed li a {
	display: block;
	height: 60px;
	font-size: 1.6rem;
	line-height: 1.4;
	color: #fff;
	text-align: center;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

.fixed_a a {
	background: #019fe8 url("../images/icon_arrow_right.svg") no-repeat;
	background-position: right 24px center;
	background-size: 9px 15px;
	border-right: solid 1px #fff;
}

.fixed_b a {
	background: #e50113 url("../images/icon_arrow_right.svg") no-repeat;
	background-position: right 24px center;
	background-size: 9px 15px;
	border-left: solid 1px #fff;
}


/* MEDIA QUERIE ～768px */
@media screen and (max-width: 767px) {

	.fixed li a:hover {
		opacity: 0.7;
	}

}


/* MEDIA QUERIE ～767px */
@media screen and (max-width: 767px) {

	.fixed li a {
		font-size: 1.3rem;
	}

	.fixed_a a {
		background-position: right 10px center;
		background-size: 7px 12px;
	}

	.fixed_b a {
		background-position: right 10px center;
		background-size: 7px 12px;
	}

}