/* --- sub f_view --- */

.plan_head {
	position:relative;
}

.plan_head .inner {
	position:relative;
}

.plan_head .inner::after {
	content:"";
	display:block;
	width:204px;
	height:244px;
	background:url(../images/plan/plan_img01.png) no-repeat center / contain;
	position:absolute;
	right:20px;
	bottom:0;
}

.plan_head .h_title text {
	font-size:5.5rem!important;
}

.plan_head .h_title::before {
	left:6%;
}
.plan_head .h_title::after {
	right:4%;
}
.plan_head .h_title + p {
	font-size:2.5rem;
	line-height:2em;
}

.plan_list {
	padding:60px;
	position:relative;
}

.plan_head::before {
    content: "";
    display: block;
    width: 100%;
    height: 269px;
    background: url(../images/index/dashed_heart.png) no-repeat center / contain;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
	z-index:-1;
}

.plan_list::before {
    content: "";
    display: block;
    width: 54px;
    height: 46px;
    background: url(../images/common/hato.png) no-repeat center / contain;
    position: absolute;
    left: 25px;
    top: 25px;
}

.plan_en {
	margin:0 4px;
}

.plan_en a {
	display: block;
	width:24.4vw;
	height:24.4vw;
	max-width:332px;
	max-height:332px;
	border-radius: 50%;
	padding-top:30%;
	overflow:hidden;
	background:#fff;
}

.plan_en a:hover {
	opacity:1;
}

.plan_en1 {
	margin-top:50px;
}

.plan_en2 {
	margin-top:180px;
}

.plan_en1 a {
	border:14px solid #fef6e4;
}

.plan_en2 a {
	border:14px solid #e2eff7;
}

.plan_en3 a {
	border:14px solid #f9c6c6;
}
.plan_table{
	margin-bottom: 70px;
}
.plan_table img{
	display: block;
	margin:0 auto;
	text-align: center;
}

@media all and (-ms-high-contrast: none) {
  /* ここに書く */
  .plan_title svg {
    height:4em;
  }
}

.plan_title text {
    text-anchor: middle;
    /* font-size: 5.2rem!important; */
    font-size: 5.5rem!important;
    letter-spacing: 0.1rem;
}

.plan_title {
	position:relative;
	padding:0 0 0.5em;
	margin-bottom:8%;
	line-height:1.5em;
}

.plan_title::after {
	content:"";
	display: block;
	width:65%;
	max-width:190px;
	height:6px;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	margin:0 auto;
}

.plan_eco::after {
	background:#f9df97;
}

.plan_bus::after {
	background:#b5cedf;
}

.plan_fir::after {
	background:#f7a3a3;
}



.plan_en h4 span {
	position:relative;
	display: inline-block;
	padding-bottom:1.5em;
}

.plan_en h4 span::after {
	content:"";
	display: block;
	width:37px;
	height:14px;
	background:url(../images/common/linkarrow_bottom.png) no-repeat center / contain;
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	margin:0 auto;
	transition:all .2s;
}

.plan_en a:hover h4 span::after {
	bottom:-10px;
}

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

	.plan_list {
		padding:60px 0;
	}

	.plan_en a {
		width:28.4vw;
		height:28.4vw;
	}

}

@media screen and (max-width: 980px) and (-ms-high-contrast: none) {

  	/* IEのみ ここに書く */
  		.plan_en a {
    		padding-top:20%;
  		}

}



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

.plan_head::before {
    top: 30%;
    bottom: auto;
    margin: 0 auto;
}

}

/* --- plan block --- */

.plan_block {
	padding:100px 0 150px;
}

.plan_wrap {
	padding:50px 60px;
	border-radius: 10px;
}

.plan_wrap .plan_title {
	margin-bottom:2em;
}

.plan_wrap .plan_title::after {
	width:78%;
	max-width:380px;
}

.plan_name {
	width:50%;
	padding-right:30px;
	padding-bottom:2em;
	border-right:2px solid #9f9f9f;
	position:relative;
}
/*
.plan_name::after {
	content:"";
	display: block;
	width:2px;
	height:100%;
	background:#9f9f9f;
	position:absolute;
	right:0;
	top:0;
}
*/

.plan_name p {
	font-size:2rem;
}
.plan_price {
	width:50%;
	min-width:470px;
	padding:0 0 0 5%;
}
.plan_price .d_flex{
	margin-bottom: 2rem;

}

.plan_price h4 {
	display: inline-block;
	width:130px;
	height:130px;
	line-height:130px;
	letter-spacing: 0.2rem;
	border-radius: 50%;
	text-align:center;
	margin-right:1.5em;
	font-size:2.4rem;
}

#economy .plan_price h4 {
	background:#f9df97;
}

#business .plan_price h4 {
	background:#b5cedf;
}

#first .plan_price h4 {
	background:#f7a3a3;
}

.plan_price h3 strong {
	font-size:7.4rem;
}

.plan_price h3 span {
	font-size: 4rem;
    line-height: 1em;
    padding-bottom: 0.4em;
    margin-left: 0.4em;
    text-align: center;
}

.plan_price h3 span small  {
	font-size:1.6rem;
}


.plan_wrap .dl_wrap {
	margin:50px auto 1.5em;
}

.plan_wrap .dl_line {
	width:50%;
	border-top:2px solid #9f9f9f;
}

.plan_wrap .dl_line:nth-of-type(even) {
	border-right:2px solid #9f9f9f;
}
.plan_wrap .dl_line:nth-of-type(odd) {
	border-left:2px solid #9f9f9f;
	border-right:2px solid #9f9f9f;
}

.plan_wrap .dl_line:nth-last-of-type(-n+2){
	border-bottom:2px solid #9f9f9f;
}

.plan_wrap dt,
.plan_wrap dd {
	width:50%;
	font-size:2rem;
	padding:1em 0.5em;
	text-align:center;
}

.plan_wrap dt{
	background:#e8e8e8;
}

.plan_wrap .ul_wrap {
	margin-bottom:80px;
}

.plan_block .btn_pink {
	max-width:396px;
	height:72px;
	line-height:72px;
}

.plan_block .btn_pink span {
	font-size:2.1rem;
}

.ten_wrap {
	margin:30px auto 70px;
}

.plan_info {
	margin:80px auto 0;
}

.plan_att:not(:last-of-type) {
	margin-bottom:60px;
}

.plan_att h2 {
	padding:0.5em;
	font-size:2.5rem;
	line-height:2em;
	border-top:2px solid #3ba0e1;
	border-bottom:2px solid #3ba0e1;
	margin-bottom:1em;
}

.plan_att5  a {
	color:#3ba0e1;
	cursor:pointer;
}

.plan_att5 h4 {
	margin:0.8em 0 0.4em;
	font-feature-settings: "palt";
}

.plan_att5 .pa_left {
	padding-left:1em;
}
.spe_info {
	position: relative;
    padding: 80px 0 0 0;
}
.spe_info .inner{
	position: relative;
}
.spe_info .abo_come {
	position: absolute;
    top: -56px;
    left: 150px;
    padding: 0 0 108px 30px;
}
.spe_info .abo_come .balloon {
    font-size: 2rem;
    padding-top: 1.4em;
    padding: 1.4em 2em;
    line-height: 1.5em;
    background: url(../images/common/balloon01.png) no-repeat center / contain;
}
.spe_info .abo_come::before {
    content: "";
    display: block;
    width: 112px;
    height: 126px;
    background: url(../images/index/kuma01.png) no-repeat center / contain;
    position: absolute;
    left: 0;
    bottom: 0;
}
.spe_info p {
	text-align: center;
	padding-top: 2rem;
}
@media screen and (max-width:1060px){

	.plan_top {
		flex-wrap:wrap;
		-webkit-flex-wrap:wrap;
	}

	.plan_name,
	.plan_price {
		width:100%;
	}

	.plan_name {
		border-right:none;
		padding:0 0 1em 0;
		margin-bottom:1em;
		border-bottom:2px solid #9f9f9f;
	}

	.plan_price {
		min-width:auto;
		padding:0;
		margin: 0 auto;
		justify-content: center;
		-webkit-justify-content: center;
	}
}

/* --- ver sp --- */

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

.plan_head .inner {
	padding-bottom:12vw;
	background:url(../images/index/dashed.png);
	background-size: 80%;
    background-repeat: no-repeat;
    background-position: center center;
}

.plan_head .inner::after {
	width:38.25vw;
	height:45.75vw;
	right:5vw;
}


.plan_head .h_title::before {
    left:-1%;
}

.plan_head .h_title::after {
    right: -1%;
}
.plan_head .h_title text {
    font-size: 13vw!important;
}

.plan_head .h_title + p {
	font-size:3.125vw;
}

.plan_head .h_title + p br {
	display: none;
}

.plan_list::before {
	width:13.5vw;
	height:11.5vw;
	left:52.25vw;
	top:3%;
}

.plan_head::before {
    display: none;
	height: 67.25vw;
	top: 37%;
}

.plan_list {
	padding:10vw 0;
}

.plan_en a {
	width:60vw;
	height:60vw;
	max-width:100%;
	max-height:100%;
}

.plan_en {
	margin:0 0 0vw;
}

.plan_en:nth-of-type(even){
	margin-left:auto;
}

.plan_title::after {
	max-width:100%;
}

.plan_en h4 span {
	font-size:3.125vw;
}

.plan_en h4 span::after {
	width:6.9375vw;
	height:2.625vw;
}

.plan_block {
	padding:10vw 0 12.5vw;
}

.plan_block .inner {
	padding:0 7vw;
}

.plan_wrap {
	padding:7.5vw 7vw;
	border-radius:2.5vw;
}

.plan_wrap .plan_title::after {
	max-width:100%;
}

.plan_block .plan_title text {
	font-size:6rem!important;
}

.plan_name p {
	font-size:3.125vw;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}

.plan_price h4 {
	width:15.5vw;
	height:15.5vw;
	line-height:15.5vw;
	font-size:2.5vw;
	margin-right:1em;
}

.plan_price.d_flex {
	flex-wrap:nowrap;
	-webkit-flex-wrap:nowrap;
	justify-content: center;
	-webkit-justify-content:  center;
}

.plan_price h3 strong {
	font-size:11vw;
}

.plan_price h3 span {
	font-size:4.5vw;
	padding-bottom:0;
}

.plan_price h3 span small {
	font-size:3vw;
}

.plan_wrap .dl_wrap {
	margin:5vw auto 5vw;
}

.plan_wrap .dl_line {
	width:100%;
	border-top:2px solid #9f9f9f;
	border-left:2px solid #9f9f9f;
	border-right:2px solid #9f9f9f;
}

.plan_wrap .dl_line:nth-last-of-type(-n+2) {
	border-bottom:none;
}

.plan_wrap .dl_line:last-of-type{
	border-bottom:2px solid #9f9f9f;
}

.plan_wrap dt, .plan_wrap dd {
	font-size:3.125vw;
	padding:1em 0.2em;
}

.plan_wrap .ul_wrap {
	margin-bottom:5vw;
}

.plan_block .btn_pink {
	max-width:70vw;
	height:12.5vw;
	line-height:12.5vw;
	text-indent:0;
}

.plan_block .btn_pink span {
	font-size:3.125vw;
}

.ten_wrap {
	margin:7.5vw auto 10vw;
}

.plan_info {
	margin:15vw auto 0;
}

.plan_att:not(:last-of-type) {
	margin-bottom:10vw;
}

.plan_att h2 {
	font-size:4vw;
}

.plan_att p,
.plan_att5 h4,
.plan_att5 a {
	font-size:3.125vw;
}
.spe_info .abo_come {
	top: -9rem;
	bottom: unset;
	padding: 5vw 31vw 20vw 1vw;
	left: 0;
	z-index: 4;
}
.spe_info .abo_come .balloon {
	font-size: 3.125vw;
	line-height: 1.2;
	position: relative;
	z-index: 6000;
}
.spe_info .abo_come::before {
	width: 20vw;
	height: 20vw;
}
.spe_info {
	padding: 15vw 0 0 0;
}
.spe_info p {
	text-align: center;
	padding-top: 2rem;
}
.plan_table img{
	width: 100%;
}
.plan_price .biko{
	font-size: 3.125vw;
}
}