@charset "utf-8";
/* CSS Document */
.spNone {
	display: block!important;
}
.pcNone {
	display: none!important;
}
/*----------------------------------------------------
 price
----------------------------------------------------*/
.r_lnkarea {
    width: 90%;
    max-width: 1100px;
    margin: auto;
    display: flex;
    justify-content: space-between;
}
.r_lnkbox {
    width: fit-content;
    display: flex;
    justify-content: end;
    position: relative;
	color: #666666;
}
.r_lnkbox a {
    width: 236px;
    height: 70px;
    font-size: min(18px,1.23vw);
    font-weight: 600;
    color: #FFFFFF;
    background: #0ea9bb;
	border: solid 2px #0ea9bb;
    border-radius: 6px;
    text-align: center;
    align-content: center;
    display: block;
	box-sizing: border-box;
}
.r_lnkbox a:first-child {
	margin-right: 2%;
}
.r_lnkbox a:last-child, 
.r_lnkbox a:first-child:hover {
	color: #0ea9bb;
	background: #FFFFFF;
}
.r_lnkbox a:last-child:hover {
	color: #FFFFFF;
	background: #0ea9bb;
}
.costblock {
	position: relative;
	z-index: 2;
	
}
.pricearea {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
}
/*----------------------------------------------------
 table
----------------------------------------------------*/
.costbox {
	width: 100%;
	max-width: 1100px;
	margin: 5% auto 10px;
	position: relative;
}
.cost_titl th,
.cost_titlpln {
    width: 25%;
    height: 4.18vw;
    font-size: min(24px,1.64vw);
    font-weight: 600;
    text-align: center;
    align-content: center;
    border-radius: 6px 6px 0 0;
    background: #0ea9bb;
    color: #FFFFFF;
}
.cost_titlpln {
	height: 7.28vw;
    border-radius: 6px 0 0 6px;
}
.cost_titl th:nth-child(3n),
.costbox tr:nth-child(2n) th.cost_titlpln {
    background: #1b79b5;
}
.cost_titl .cost_none {
    background: none;
}
.costbox tr td {
    font-size: min(45px,3.08vw);
    font-weight: 600;
    align-content: center;
    text-align: center;
	border-right: solid 1px #cccccc;
}
.costbox tr.cost_b {
    background: #f2f5fa;
}
.costbox tr td small {
    font-size: min(23px,1.57vw);
}
.costbox tr td.cost_txtpln {
	font-size: min(30px,2.05vw);
}
.cost_c td {
	color: #0ea9bb;
	border-bottom: solid 1px #cccccc;
}
.cost_c td.cost_txtpln {
    position: relative;
}
.costbox tr td.cost_txtpln img {
	width: 100%;
	max-width: fit-content;
	position: absolute;   
	top: 5vw;
    left: 0;
    right: 0;
}

.cost_txt {
	margin: 5% auto 15%;
}

.cost_txt h4 {
	font-size: min(38.4px,2.63vw);
	font-weight: 600;
}
.cost_txt h4 span {
	border-bottom: solid 2px #333333;
}
.cost_txt h4 span b {
	color: #0ea9bb;
}
.cost_txt p {
    font-size: min(13px,0.89vw);
    font-weight: 300;
	line-height: 1.6;
    color: #666666;
    margin-top: 2.5%;
}
/*----------------------------------------------------
 planblock
----------------------------------------------------*/
.planblock {
	position: relative; 
	padding-bottom: 10%;
}
.plnarea {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
    position: relative;
}
.costbox.plnbox {
	margin: 5% auto 10px;
}
.costbox.plnbox tr td {
	background: #FFFFFF; 
	border-bottom: solid 1px #cccccc;
}
.costbox.plnbox tr .cost_titlpln {
    height: 9.57vw;
    border-radius: 6px 0 0 6px;
}
.costbox.plnbox tr.cost_a td p {
    width: fit-content;
    margin: 0 auto 3%;
    font-size: min(23px,1.57vw);
	font-weight: 600;
    text-align: center;
    color: #666666;
	position: relative;
}
.costbox.plnbox tr.cost_a td p span {
	color: #0ea9bb;
}
.costbox.plnbox tr.cost_a td p::before,
.costbox.plnbox tr.cost_a td p::after {
    position: absolute;
    display: inline-block;
    content: "";
    background: #666666;
    width: 1px;
    height: 1.25em;
    margin: 0 0.5em;
    vertical-align: middle;
}
.costbox.plnbox tr.cost_a td p:before {
    bottom: 0;
    left: -1.5em;
    transform: rotate(-35deg);
}
.costbox.plnbox tr.cost_a td p:after {
    bottom: 0;
    right: -1.5em;
    transform: rotate(35deg);
}
.costbox.plnbox tr.cost_a td a {
    width: 90%;
	max-width: 300px;
	height: 3.2vw;
    margin: 0 auto 3%;
    font-size: min(23px,1.57vw);
    text-align: center;
	align-content: center;
    color: #FFFFFF;
	background: #ff5f60;
	border-radius: 4px;
	display: block;
}
.costbox.plnbox tr.cost_a td a:hover {
    opacity: 0.7;
}
.cost_txt.pln_txt {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto 8%;
}
/*----------------------------------------------------
 planbnr
----------------------------------------------------*/
.planbnr {
    width: 100%;
	padding: 0 5% 150px;
	box-sizing: border-box;
}
.planbnr p {
	width: fit-content;
    font-size: min(23px,1.57vw);
	font-weight: 700;
	margin: 0 auto 1%;
	position: relative;
}
.planbnr p span {
	color: #ff0000;
	text-decoration: underline;
}
.planbnr p::before, .planbnr p::after {
    position: absolute;
    display: inline-block;
    content: "";
    background: #666666;
    width: 1px;
    height: 1.25em;
    margin: 0 0.5em;
    vertical-align: middle;
}
.planbnr p:before {
    bottom: 0;
    left: -1.5em;
    transform: rotate(-35deg);
}
.planbnr p:after {
    bottom: 0;
    right: -1.5em;
    transform: rotate(35deg);
}
.planbnr a {
	width: fit-content;
	margin: 0 auto;
	display: block;
}
.planbnr a:hover {
	opacity: 0.7;
}
.planbnr a img {
	width: 100%;
}

/*----------------------------------------------------
 bonus area
----------------------------------------------------*/
.otherarea.bonusarea {
    padding-top: 0;
}

.bonusblock, .manublock {
	padding-bottom: 150px;
	position: relative;
}
.bonuspln {
	width: 90%;
    max-width: 1100px;
    margin: 0 auto;
}
.bonuspln img {
    width: 100%;
    max-width: fit-content;
	margin: 5% auto 2%;
}
.bonuspln p {
	width: 95%;
	max-width: 1100px;
	margin: 0 auto;
	color: #666666;   
	font-size: min(13px, 0.95vw);
	font-weight: 300;
}
/*----------------------------------------------------
 menu area
----------------------------------------------------*/
.menuarea {
	width: 90%;
	max-width: 1100px;
	margin: auto;
}
.menu_table {
    width: 100%;
    border-radius: 6px;
    box-sizing: border-box;
	overflow: hidden;
}
.menublock {
    margin: 0 auto;
    padding-bottom: 150px;
}
.menu_table {    
	width: 100%;
    box-sizing: border-box;
    border: solid 1px #b2c8d6;
    border-radius: 6px;
    background: #FFFFFF;
    display: inline-block;
}
.menu_table th {
	text-align: center;
	align-content: center;
    font-weight: 600;
    color: #FFFFFF;
    background: #0ea9bb;
	border-right: solid 1px #b2c8d6;
	padding: 1%;
    box-sizing: border-box;
}
.menu_table th:first-child {
	width: 20%;
	border-radius: 5px 0 0 0;
}
.menu_table th:nth-child(2) {
	width: 40%;
}
.menu_table th:nth-last-child(2),
.menu_table th:last-child {
	width: 25%;
}
.menu_table th:last-child {
	width: 15%;
}
.menu_table th:nth-child(2),
.menu_table th:last-child {
	background: #1b79b5;
}
.menu_table th:last-child {
	border-radius: 0 5px 0 0;
}
.menu_table th.menu_titlpln {
	height: 6vw;
	color: #3e3a39;
	background: none;   
}
.menu_table th.menu_titlpln {
	height: 6vw;
	color: #3e3a39;
	background: none;
}
.menu_table td {
	font-size: min(14px, 0.95vw);
	font-weight: 600;
	padding: 1%;
	border-right: solid 1px #b2c8d6;
    box-sizing: border-box;
}
.menu_table td:nth-child(3),
.menu_table td.menu_e:first-child {
    font-size: min(17px,1.15vw);
    text-align: center;
}
.menu_table td span {
	text-decoration: underline;
}
.menu_table td span.color_b {
	color: #0ea9bb;
}
.menu_table td:last-child {
	border-right: none;
}
.menublock .menu_titl{
    height: 3vw;
}
.menu_d,
.menu_e  {
	height: 3vw;
}
.menu_a, .menu_c, .menu_e {
	background: #f2f5fa;
}
.menu_table td:last-child {
	text-align: center;
    font-size: min(17px,1.15vw);
    color: #ff5f60;
}
.menu_table td:last-child strong {
    font-size: min(30px,2.04vw);
}
.cost_txt.menu_txt {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	display: block;
}



@media screen and (max-width: 960px) {
/*////////////////////////////////////////////////
   表示変更
////////////////////////////////////////////////*/
.spNone {
	display: block!important;
}
.pcNone {
	display: none!important;
}

/*----------------------------------------------------
 results
----------------------------------------------------*/
.cost_txt p {
    font-size: min(13px, 1.35vw);
}
.costbox.plnbox tr.cost_a td a {
    max-width: 250px;
    height: 5.2vw;
    font-size: min(23px, 1.57vw);
}
.r_lnkbox a {
    width: 25vw;
    height: 8.5vw;
    font-size: min(18px, 1.875vw);
}
/*----------------------------------------------------
 menu area
----------------------------------------------------*/
.bonuspln p {
    width: 95%;
    max-width: 1100px;
    margin: 0 auto;
    color: #666666;
    font-size: min(12px, 1.558vw);
}
.menu_table td {
    font-size: min(14px, 1.8vw);
}
.menu_table td:nth-child(3),
.menu_table td.menu_e:first-child {
    font-size: min(17px, 2.2vw);
    text-align: center;
}
.menu_table td:last-child {
    font-size: min(17px, 2.2vw);
}
.menu_table td:last-child strong {
    font-size: min(30px, 3.89vw);
}
.bonusblock, .manublock {
    padding-bottom: 80px;
}
.menublock {
    padding-bottom: 15%;
}
	
}

@media screen and (max-width: 767px) {
	/*////////////////////////////////////////////////
	表示変更
	////////////////////////////////////////////////*/
	.spNone {
		display: none!important;
	}
	.pcNone {
		display: block!important;
	}
	
	.titltxtbox {
        margin: -8% auto 8%;
    }
	/*----------------------------------------------------
	 results
	----------------------------------------------------*/
	.otherarea .title {
		width: 100%;
	}
	.r_lnkarea {
		display: block;
	}
	.r_lnkbox {
        width: 100%;
        margin: 5% auto 10%;
        justify-content: space-between;
    }
	.r_lnkbox a {
		width: 49%;
        height: 15vw;
        font-size: min(30px, 4vw);
	}
	.pricearea .pricetable {
		overflow-x: scroll;
	}
	.costbox {
		width: 130vw;
		min-width: 500px; 
		margin: 5% auto;
		height: 300px;
	}
	.cost_titl th, .cost_titlpln {
		font-size: 4.5vw;
	}
	.costbox tr td {
		font-size: 7vw;
	}
	.costbox tr td small {
		font-size: 3.5vw;
	}
	.costbox tr td.cost_txtpln {
		font-size: 4.5vw;
	}
	.costbox tr td.cost_txtpln img {
        width: 160%;
        top: 13vw;
        left: -9vw;
    }
	.cost_txt {
		margin: 10% auto 20%;
	}
	.cost_txt h4 {
		font-size: 5vw;
	}
	.cost_txt p {
        font-size: min(3.46vw, 12px);
        line-height: 1.3;
    }
	.plnarea {
		overflow-x: scroll;
	}
	.costbox.plnbox tr .cost_titlpln {
		padding: 0 2%;
		text-align: start;
	}
	.costbox.plnbox tr.cost_a td p {
		font-size: min(15px, 3.2vw);
	}
	.costbox.plnbox tr.cost_a td a {
		max-width: 250px;
		height: 10.2vw;
		font-size: min(20px, 4vw);
	}
	.planbnr {
		padding: 0 5% 15%;
	}
	.planbnr p {
		font-size: min(23px, 4.57vw);
		margin: 0 auto 2%;
	}
	/*----------------------------------------------------
	 bonus area
	----------------------------------------------------*/
	.otherarea.bonusarea {
		padding-top: 50px;
	}
	.bonusarea.otherarea .title {
		width: 90%;
	}
	.bonusarea.otherarea .title span {
		font-size: 60%;
	}
	.bonusarea.otherarea .titltxtbox {
        margin: 0 auto 5%;
    }
	.bonuspln {
		width: 95%;
	}
	.bonuspln p {
        width: 92.5%;
        font-size: min(26px, 3vw);
        line-height: 1.25;
    }
	/*----------------------------------------------------
	menu area
	----------------------------------------------------*/
	.menuarea {
		width: 90%;  
		padding-bottom: 2%;
		overflow-x: scroll;
	}
	.menu_table {
		width: 700px;
	}
	.menu_table th {
		padding: 1% 2%;
		font-size: min(25px, 3.28vw);
	}
	.menu_table td {   
		padding: 1% 2%;
        font-size: min(25px, 3.28vw);
    }
	.menu_table td:nth-child(3), 
	.menu_table td.menu_e:first-child {
        font-size: min(25px, 3.28vw);
    }    
	.menu_table td:last-child {
        font-size: min(32px, 4.2vw);
    }
	.menu_table td:last-child strong {
        font-size: min(40px, 5.26vw);
    }
	
}
