@charset "UTF-8";

figure {
	position: relative;
}
sup {
	font-size: 10px;
}
.mvCap {
	position: absolute;
	font-size: clamp(1.1rem, -0.661rem + 2.29vw, 1.4rem);
	letter-spacing: 0.1em;
	bottom: -28px;
	left: 6px;
	color: #fff;
background-color: initial;
z-index: 5;
}
.main_bg {
	position: relative;
	background: rgb(11, 62, 39);
	background: linear-gradient(90deg, rgba(11, 62, 39, 1) 0%, rgba(25, 113, 73, 1) 100%);
}

.concept .mv_title {
	font-size: clamp(5.8rem, 3.024rem + 3.609vw, 7.5rem);
}
@media only screen and (max-width:768px) {
	.concept .mv_title {
		font-size: 34px;
	}
}

/* mainVisual
=========================================== */
.mainVisual {
width: 100%;
color: #fff;
position: relative;
}
.mv {
	position: relative;
	background-image: url(../images/plan/kv.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
height: 400px;
width: 100%;
text-align: center;
}
.mainVisual .cell {
position: absolute;
top: 30%;
	left: 50%;
	transform: translateX(-50%);
}
.mainVisual .title {
font-size: 40px;
letter-spacing: 0.1em;
text-shadow:0px 0px 1px #000,0 0 5px #000,0 0 10px #000,0 0 15px #000,0 0 20px #000;
}
.mainVisual .en {
font-size: 24px;
letter-spacing: 0.2em;
	margin-bottom: 16px;
text-shadow:0px 0px 1px #000,0 0 5px #000,0 0 10px #000,0 0 15px #000,0 0 20px #000,0 0 30px #000;
}
@media only screen and (max-width:980px) {
	.mv {
			height: 240px;
	}
	.mainVisual .cell {
			position: absolute;
			top: 10%;
			left: 50%;
			transform: translateX(-50%);
	}
	.mainVisual .title {
			font-size: 40px;
	}
	.mainVisual .en {
			font-size: 24px;
	}
}


.plan_contents {
	position: relative;
	padding-top: 120px;
}
.plan_inner {
	max-width: 1330px;
	padding-left: 15px;
	padding-right: 15px;
	margin:auto;
}
.plan_contents::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: -1;
	background-image: url(../images/access/bg_01.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	height: 800px;
}
.section_title {
	font-size: 48px;
	font-size: clamp(3rem, 0.576rem + 3.152vw, 4.8rem);
	letter-spacing: 0.1em;
	text-indent: 0.1em;
	line-height: 1.6;
	color: #fff;
	text-align: center;
	font-weight: bold;
}
.section_sub {
	font-size: 40px;
	font-size: clamp(2.8rem, 0.576rem + 2.8vw, 4.6rem);
	line-height: 1.6;
	color: #fff;
	text-align: center;
	font-weight: bold;
	margin-top: 80px;
	padding: 30px 20px;
}
.section_sub.bg-01 {
	background: #b57228;
}
.section_sub.bg-02 {
	background: #746729;
}
.plan_cards {
	margin-top: 80px;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 70px 20px;
}
.plan_card {
	position: relative;
	border: 2px solid #a0976d;
	background-color: #fff;
}
.icon_new {
	width: 61px;
	position: absolute;
	top: 0;
	right: 0;
}
.plan_card a {
	display: block;
	position: relative;
}
.plan_card a:hover {
	opacity: .7;
	transition: .4s;
}
.new_badge {
	background: #bd6c76;
	padding: 10px;
	text-align: center;
	color: #ffffff;
	font-size: 24px;
	font-weight: bold;
	position: absolute;
	top: -28px;
	left: 20px;
	z-index: 2;
}
.info_badge {
	background: #e4a45b;
	padding: 10px;
	text-align: center;
	color: #ffffff;
	font-size: 24px;
	font-weight: bold;
	position: absolute;
	top: -44px;
    right: -2px;
	z-index: 2;
}
.card_flex {
	padding: 20px;
	display: flex;
}
.card_type {
	width: 40%;
	font-family: 'EB Garamond', serif;
	font-weight: bold;
}
.type {
	text-align: center;
	position: relative;
	padding:10px 20px ;
	text-align: center;
	background: rgb(25,113,73);
	background: linear-gradient(135deg, rgba(25,113,73,1) 0%, rgba(11,62,39,1) 100%);
	color: #fff;
	font-size: 26px;
	letter-spacing: 0.08em;
	line-height: 1;
}
.type span {
	font-size: 100px;
	line-height: 1.1;
}
.card_body {
	margin-left: 10px;
	color: #000;
	flex: 1;
}
.card_text {
	font-size: 15px;
	letter-spacing: 0.05em;
	line-height: 1;
	font-weight: bold;
}
.card_tubo {
	font-size: 14px;
	letter-spacing: normal;
	line-height: 1.5;
	font-weight: bold;
}
.card_num {
	font-family: 'EB Garamond', serif;
	font-size: 30px;
	line-height: 1;
	letter-spacing: 0.1em;
}
.card_num .num_l {
	font-size: 50px;
	line-height: 1;
}
.card_num .num_s {
	font-size: 20px;
}
.card_cap {
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: 0.1em;
	font-weight: bold;
}
.card_ldk {
	margin-top: 6px;
	border-top: 1px solid #d1d1d1;
	font-family: 'EB Garamond', serif;
	text-align: center;
	letter-spacing: 0.1em;
	font-size: 34px;
	line-height: 1.4;
}
.card_ldk span {
	font-size: 42px;
	line-height: 1;
}
.card_ldk span.text_s {
	font-size: 16px;
	font-weight: bold;
}

.card_bottom {
	position: relative;
	text-align: center;
	font-size: 20px;
	padding: 20px;
	background: rgb(160,151,109);
	background: linear-gradient(135deg, rgba(160,151,109,1) 0%, rgba(226,224,211,1) 50%, rgba(160,151,109,1) 100%);
	color: #000;
	font-weight: bold;
}
.card_icon {
	position: absolute;
	top: 50%;
	right: 40px;
	width: 40px;
	transform: translateY(-50%);
	margin-left: 20px;
}

@media only screen and (max-width:1200px) {
	.plan_cards {
		margin-top: 80px;
		grid-template-columns: repeat(2,1fr);
		gap: 60px 20px;
	}
}

@media only screen and (max-width:768px) {
	.plan_contents {
		position: relative;
		padding-top: 60px;
	}
	.section_title {
		font-size: 30px;
	}
	.section_sub {
		font-size: 28px;
	}
	.plan_cards {
		margin-top: 40px;
		grid-template-columns: repeat(1,1fr);
		gap: 50px;
		max-width: 400px;
		margin: 40px auto 0;
	}
	.new_badge {
		font-size: 14px;
		top: -20px;
		left: 14px;
	}
	.info_badge {
		font-size: 14px;
		top: -34px;
	}
	.card_flex {
		padding:14px ;
	}
	.type {
		font-size: 20px;
	}
	.type span {
		font-size: 80px;
	}
	.card_text {
		font-size: 13px;
	}
	.card_tubo {
		font-size: 11px;
	}
	.card_num {
		font-size: 27px;
	}
	.card_num .num_l {
		font-size: 43px;
	}
	.card_num .num_s {
		font-size: 17px;
	}
	.card_cap {
		font-size: 11px;
		line-height: 1.5;
		letter-spacing: 0.1em;
	}
	.card_ldk {
		margin-top: 6px;
		font-size: 30px;
	}
	.card_ldk span {
		font-size: 34px;
	}
	.card_ldk span.text_s {
		font-size: 16px;
	}
	
	.card_bottom {
		font-size: 17px;
		padding: 14px;
	}
	.card_icon {
		width: 30px;
	}
}