@charset "utf-8";
/* CSS Document */

/* decoration */

.heading {
	padding: 8rem 0 0 0;
	margin: 0 0 3rem 0;
	text-align: center;
}

.heading__wrapper {
	padding: 0 0.825rem;
}

.heading__title {
	padding: 0;
	margin: 0;
	color:var(--second-color);
	font-size: 1.8rem;
	letter-spacing: 4px;
	text-indent: 4px;
	line-height: 1em;
}

.heading__title_::before {
	display: block;
	content:"";
	margin: 0 auto 1rem auto;
	width: 60px;
	height: 60px;
	background: url(../img/icon-review.png) no-repeat top center;
	background-size: cover;
}

.heading__title::after {
	content:"";
	display: block;
	margin: 0.7rem auto 1.5rem auto;
	width: 90px;
	height: 1px;
	background: linear-gradient(90deg, var(--sub-color) 0%, var(--sub-color) 49.9%, var(--second-color) 50%, var(--second-color) 100%);
}

.heading__lead {
	color: #cccccc;
	font-size: 0.9rem;
	line-height: 1.5rem;
}

.outline {
	padding: 3rem 0;
	text-align: center;
	background-color: #efefef;
}

.outline__title {
	font-size: 2rem;
}

.outline__text {
	padding: 0 var(--main-gutter);
	font-size: 1rem;
}

.plan {
	padding: 3rem 0;
}

.plan__wrapper {
	padding: 0;
	margin: 0 auto;
}

.plan__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	column-gap: 2rem;
	row-gap:2rem;
	padding: 1rem 1.25rem;
	margin: 0 0 2rem 0;
}

.plan__item {
	position:relative;
	flex-basis: 100%;
  padding: 0;
  margin: 0 0 1.5rem 0;
}

.plan__title {
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: end;
	border: 1px solid rgba(123,123,123,0.5);
	background: rgba(123,123,123,0.1);
	padding: 0 0.75rem;
}

.plan__name {
	display: block;
	flex-basis: 64%;
	padding: 0;
	margin: 0;
	text-align: left;
	font-size: 0.9rem;
	line-height: 2rem;
}

.plan__name.pl-5 {
	padding: 0 1rem 0 4rem;
}

.plan__name.pl-6 {
	padding: 0 1rem 0 5.5rem;
}

.plan__name small {
	font-size: 0.7rem;
}

.sub__name::before {
	content: "-";
	padding: 0 0.5rem;
}

.limited {
	display: inline-block;
	padding: 0 0.5rem;
	margin: 0 0 0 0.5rem;
	border: 1px solid var(--second-color);
	border-radius: 15px;
	color: var(--second-color);
	font-size: 0.8rem;
	line-height: 1.6rem;
	vertical-align: top;
}

.plan__price {
	display: block;
	flex-basis: 36%;
	padding: 0 0 0 1rem;
	margin: 0;
	text-align: right;
	font-size: 0.9rem;
	font-weight: bold;
	line-height: 2rem;
}

.plan__photo {
	border: 1rem solid #efefef;
}

.plan__name span.name {
	display: inline-block;
	width: 4rem;
}

.plan__name span.name-2 {
	display: inline-block;
	width: 5.5rem;
}

.plan__license {
	position: relative;
	padding: 0.6rem 0;
	margin: 0;
	font-size: 1.2rem;
	text-align: center;
}

.plan__equipment {
	position: absolute;
	bottom: 0;
	right:0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	padding: 0;
	margin: 0;
	width: 6rem;
}

.plan__equipment-title {
	flex-basis: 100%;
	color:rgba(123,123,123,0.8);
	font-weight: bold;
}

.plan__equipment-title p {
	padding: 0.1rem 0;
	margin: 0;
	border-bottom: 1px solid rgba(123,123,123,0.8);
	font-size: 0.6rem;
}

.plan__equipment-list {
	flex-basis: 100%;
	padding: 0;
	margin: 0;
	font-size: 0.8rem;
	text-align: left;
}

.plan__equipment-list ul {
	padding: 0;
	margin: 0;
}

.plan__equipment-item {
	padding: 0.1rem 0;
	margin: 0;
}

.plan__outline {
	padding: 1rem 0.5rem 1rem 0.5rem;
	margin: 0;
	list-style:disc;
	list-style-position:inside;
	color:#cccccc;
	font-size: 0.9rem;
}

.plan__detail {
	padding: 0;
	margin: 0 0 0.4rem 0;
	font-size: 0.8rem;
}

.plan__detail span.check {
	color: var(--second-color);
}

.plan__item-mark {
	position: absolute;
	top:3px;
	left:10px;
	display:inline-block;
	padding: 3px 9px;
	margin: 0 9px 0 0;
	border: 1px solid #ffffff;
	border-radius:30px;
	background: #ffffff;
	color: #0067b6;
	font-size: 12px;
	font-weight: bold;
}

.plan__remarks {
	margin: 0 0 0 0.5rem;
	font-size:0.6rem;
}

.plan__remarks.extra {
	display: inline-block;
	padding: 0 0.5rem;
	margin: 0 0 0.375rem 0.5rem;
	border-radius: 10px;
	background: var(--second-color);
	color: var(--sub-text-color);
	font-weight: bold;
}

.plan_explanation p {
	color: #cccccc;
	font-size: 1rem;
	line-height: 2rem;
}

.membership {
	padding: 0.2rem;
	margin: 0;
	background-color:var(--second-color);
}

.membership__wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	padding: 1rem 0;
	width: 100%;
	border: 5px solid var(--main-color);
}

.membership dl {
	flex-basis: 50%;
	padding: 0;
	margin: 0;
	text-align: center;
	color:#000000;
}

.membership dl:last-child {
	border-left: 1px solid #000000;
}

.membership dl dt {
	padding: 0;
	margin: 0;
	font-size: 0.8rem;
	font-weight: bold;
}

.membership dl dd {
	padding: 0;
	margin: 0;
	font-size: 1.8rem;
	font-weight: bold;
}

.plan__experience {
	padding: 3rem 1rem 3rem 1rem;
	margin: 0 var(--sub-gutter) 1.5rem var(--sub-gutter);
	background-image: url(../img/plan-experience-bg.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	color:var(--second-color);
}

.plan__basic {
	border-top: 3px solid var(--sub-color);
	padding: 3rem 0 0 0;
	margin: 0 var(--sub-gutter);
	color:#cccccc;
	font-size: 0.8rem;
}

.plan__basic ul {
	padding: 0 0.8rem;
  margin: 0 0 0.3rem 0;
}

.plan__basic ul li {
	padding: 0;
  margin: 0 0 0.2rem 0;
}

.plan__basic p {
	padding: 0 0.75rem;
	margin: 0;
}

input[name="switch"] {
	display: none;
}

/* :::::: button :::::: */
.tabBtn {
	display: flex;
	list-style: none;
	width: 100%;
	margin: 0;
	padding: 3px 0 0 0;
	text-align: center;
}
.tabBtn li {
	flex-basis: 50%;
	font-size:1.5rem;
}
.tabBtn li:not(:last-child) {
	border-right: 1px solid var(--sub-color);
}
.tabBtn label {
	position: relative;
	display: block;
	cursor: pointer;
	padding: 10px 12px;
	color: rgba(98, 96, 96, 1);
	font-weight: bold;
	transition: background .3s;
}

.tabBtn label span {
	display:inline-block;
}

.tabBtn label:hover {
	background: rgba(91,91,91,0);
}

.tabBtn label::after {

}

/* :::::: contents :::::: */
.tabContents section {
	padding: 2rem 0;
}

.tabContents section::after {
	content: "";
	display: block;
	clear: left;
}

/* :::::: mechanism :::::: */
.tabContents section {
	opacity: .1;
}
.tabContents section {
	transition: opacity .3s;
}
#tab-1:checked ~ .tabBtn label[for="tab-1"],
#tab-2:checked ~ .tabBtn label[for="tab-2"],
#tab-3:checked ~ .tabBtn label[for="tab-3"],
#tab-4:checked ~ .tabBtn label[for="tab-4"] {
	color: var(--second-color);
}
#tab-1:checked ~ .tabContents #section-1,
#tab-2:checked ~ .tabContents #section-2,
#tab-3:checked ~ .tabContents #section-3,
#tab-4:checked ~ .tabContents #section-4 {
	opacity: 1;
}

#tab-1 ~ .tabBtn label[for="tab-1"]::after,
#tab-2 ~ .tabBtn label[for="tab-2"]::after,
#tab-3 ~ .tabBtn label[for="tab-3"]::after,
#tab-4 ~ .tabBtn label[for="tab-4"]::after {
	transform: translateX(-100%);
}

#tab-1:checked ~ .tabBtn label[for="tab-1"]::after,
#tab-2:checked ~ .tabBtn label[for="tab-2"]::after,
#tab-3:checked ~ .tabBtn label[for="tab-3"]::after,
#tab-4:checked ~ .tabBtn label[for="tab-4"]::after {
	opacity: 1;
	transform: translateX(0);
}

/* :::::: slide :::::: */

.tabContents {
	display: flex;
	width: 200%;
	transition: transform .5s;
}
.tabContents section {
	flex-basis: 50%;
	opacity: .1;
	transition: opacity .3s;
}
#tab-1:checked ~ .tabContents {
	transform: translateX(0);
}
#tab-2:checked ~ .tabContents {
	transform: translateX(-50%);
}


/*----------------------------------------------------------------------------
 ***                                                                width480
----------------------------------------------------------------------------*/

@media only screen and (min-width: 480px) {

.plan__name {
	flex-basis: 65%;
	font-size: 1.25rem;
}

.plan__price {
	flex-basis: 35%;
	font-size: 1.25rem;
}

}

/*----------------------------------------------------------------------------
 ***                                                                width768
----------------------------------------------------------------------------*/

@media only screen and (min-width: 768px){


.plan__wrapper {
	width: 84%;
	margin: 0 auto;
}

.plan__title {
	font-size: 36px;
}

.plan__list {
	flex-wrap:wrap;
	width: 100%;
	max-width:none;
	overflow: hidden;
}

.plan__item {
	flex-basis: calc(50% - 12px);
}

.plan__comparison {
	display: flex;
	flex-wrap: wrap;
	justify-content:flex-start;
	align-items: flex-end;
}

}


/*----------------------------------------------------------------------------
 ***                                                                width980
----------------------------------------------------------------------------*/

@media only screen and (min-width: 980px){


}


/*----------------------------------------------------------------------------
 ***                                                                width1024
----------------------------------------------------------------------------*/

@media only screen and (min-width: 1024px){


}


/*----------------------------------------------------------------------------
 ***                                                                width1280
----------------------------------------------------------------------------*/

@media only screen and (min-width: 1280px){


}
