@charset"utf-8";

.spNone {
	display: block!important;
}
.pcNone {
	display: none!important;
}
/*---------------------------------------------------
 Accordion page
----------------------------------------------------*/
.accordion .Accordionarea.bg_wg {
    margin-top: 80px;
    padding: 70px 0 100px;
    border-radius: 0;
}
.accordion + .footer_qrtxt {
	background: #edf9f6;
}

/*---------------------------------------------------
 security page
----------------------------------------------------*/
.security_contents + .footer_qrtxt {
    background: #edf9f6;
}
.security_contents {
    padding-top: 70px;
}
.securitybox_area {
    flex-wrap: wrap;
    margin-bottom: 100px;
}
.securitybox:last-child {
	width: 100%;    
	margin-top: 2%;
}
.securitybox:last-child .sec_title {
    justify-content: center;
}
.securitybox:last-child .sec_txt p {
    text-align: center;
}
.security_itemarea {
    padding: 50px 0 100px;
    border-radius: 0 150px 0 0;
}
.itemarea {
    width: 95%;
    max-width: 1200px;
    margin: 40px auto 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.itembox {
	width: 24%;
	height: auto;
	margin-bottom: 1.25%;
	padding: 2% 1.5%;
	background: #ffffff;
	box-shadow: #abbab7 0 0 7px;
	border-radius: 8px;
	box-sizing: border-box;
}
.itembox:nth-last-child(2),
.itembox:nth-last-child(3),
.itembox:nth-last-child(4),
.itembox:last-child {
	margin-bottom: 0;
}
.itembox img {
    width: 100%;
    max-width: fit-content;
    margin: auto;
}
.itembox h5 {
    font-size: min(20px, 1.47vw);
    font-weight: 600;
    text-align: center;
    margin: 5% auto 5%;
}
.itembox p {
    font-size: min(15px, 1.1vw);
}

/*---------------------------------------------------
 price area
----------------------------------------------------*/	
.price_contents {
    padding-top: 70px;
}
.pricearea {
    width: 90%;
    max-width: 1200px;
    margin: 80px auto 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.costbox {
    width: 24%;
    height: auto; 
	padding-bottom: 4.5vw;
	background: #ffffff;
    border: solid 2px #0c7f68;
    border-radius: 10px;
    box-sizing: border-box;
    position: relative;
}
.costbox img {
    width: auto;
    height: auto;
    margin: auto;
    position: absolute;
    top: -50px;
    left: 0;
    right: 0;
}
.costbox .pln_top {
    width: 100%;
    height: fit-content;
    font-size: min(15px, 1.1vw);
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    padding: 5% 2.5%;
    background: #0c7f68;
    box-sizing: border-box;
}
.pln_top strong {
    font-size: min(20px, 1.47vw);
}
.pln_titl {
	height: auto;
	min-height: 2.5em;
    align-content: center;
    font-size: min(22px, 1.6vw);
    font-weight: 600;
	line-height: 1.25;
    text-align: center;
    padding: 10% 2.5% 5%;
    margin-bottom: 10%;
	position: relative;
}
.pln_titl::after {
	content: "";
	width: 70px;
	height: 2px;
	margin: auto;
	background: #0c7f68;
	position: absolute;
	right: 0;
	left: 0;
	bottom: 0;
	display: block;
}
.pln_price {
    min-height: 2.4em;
    align-content: center;
    font-size: min(21.5px, 1.58vw);
    font-weight: 600;
    text-align: center;
    margin: 2.5% auto 5%;
}
.pln_price strong {
    font-size: 170%;
}
.sample_price {
    width: 90%;
    height: auto;
    min-height: 10.5em;
    padding: 5% 3.5%;
    margin: 0 auto;
    background: #edf9f6;
    box-sizing: border-box;
}
.sample_price .urlimage {
    font-size: min(16px, 1.17vw);
    font-weight: 600;
    text-align: center;
    color: #0c7f68;
    margin-bottom: 3%;
}
.sample_price .urltxt {
	font-size: min(14px, 1.02vw);
	line-height: 1.25;
	padding-left:1em;
	text-indent:-1em;
	margin-bottom: 2.5%;
}
.sample_price .urltxt small {
	font-size: 60%;
}
.sample_price .urltxt:last-child {
	margin-bottom: 0;
}
ul.pln {
    width: 90%;
    margin: 9% auto 0;
}
.pln li {
    margin-bottom: 5%;
}
.pln li:last-child {
    margin-bottom: 0;
}
.pln li span {
	font-weight: 600;
    color: #0c7f68;
}
.pln li small {
	font-size: 70%;
}
a.p_btn {
    width: 90%;
    height: 2.957vw;
    max-height: 40px;
    margin: auto;
    padding: 0 1em;
    color: #333333;
    font-size: min(16px, 1.17vw);
    font-weight: 600;
    text-align: center;
	align-content: center;
    border-radius: 6px;
	border: solid 2px #ffc31e;
    background: #ffc31e;
	position: absolute;
	bottom: 0.5vw;
	left: 0;
	right: 0;
	display: block;
    box-sizing: border-box;
}
a.p_btn:hover {
	cursor: pointer;
	background: #ffffff;
}

.comparison_tablearea {
	margin-top: 150px;
	margin-bottom: 150px;
}
.comparison_table + .title {
    font-size: min(28px, 2.05vw);
	margin-bottom: 30px;
}
.comparison_table + .title + .title_txt {
	font-size: min(16px, 1.17vw);
	margin-bottom: 30px;
}
.comparison_table {
    width: 90%;
    max-width: 1200px;
    margin: 50px auto 100px;
}
.comparison_table:first-child{
	margin-bottom: 0;
}
.comparison_table table {
    width: 100%;
    background: #ffffff;
}
.comparison_table table th,
.comparison_table table td {  
	height: 5vw;
    max-height: 90px;
	color: #4d4d4d;
    border: solid 2px #b3b3b3;
    box-sizing: border-box;
}
.comparison_table table th {
	border-top: none;
}
.comparison_table table th.titl_none {
	border-left: none;
}
.comparison_table table tr th {
	border-left: none;
}

.comparison_table table tr th:nth-child(5),
.comparison_table table tr th:nth-child(6),
.comparison_table table td:nth-child(5),
.comparison_table table td:nth-child(6) {
	background: #edf9f6;
}
.comparison_table table tr th,
.comparison_table table tr.comparison_titl th,
.comparison_table table td {
	/*width: 20%;*/
	width: 13.333%;
    padding: 1em 0.5em;
    font-size: min(18px, 1.32vw);
    font-weight: 600;
    text-align: center;
	align-content: center;
}
.comparison_table table tr th {
	text-align: start;
}
.comparison_table table td strong {
    font-size: min(28px, 2.05vw);
}

.comparison_table table td.bg_wg {
	background: #edf9f6;
}
.comparison_table table td.bg_w {
	background: #ffffff;
}
.comparison_table table td i {
    font-size: min(30px, 2.2vw);
    color: #41b57d;
}
p.t_notc {
    font-size: min(13px, 0.96vw);
    color: #4d4d4d;
    margin-top: 15px;
}
.comparison_table01 {
	padding-top: 1.5em;
	position: relative;
}
p.ptxt {
    width: 28%;
    font-size: min(18px, 1.32vw);
    font-weight: 800;
    color: #4d4d4d;
    position: absolute;
    top: -0.85em;
    right: 14.5%;
    left: 57.5%;
    text-align: center;
}



@media screen and (max-width: 960px) {
/*////////////////////////////////////////////////
=pc→spに表示変更
////////////////////////////////////////////////*/
.spNone {
	display: block!important;
}
.pcNone {
	display: none!important;
}
/*---------------------------------------------------
 security area
----------------------------------------------------*/	
	.security_contents {
		padding-top: 5%;
	}
	.security_itemarea {
		padding: 5% 0 10%;
	}
	.securitybox_area {
		margin-bottom: 5%;
	}
	.sec_name p {
        font-size: min(18px, 1.875vw);
    }
	
	.itembox,
	.itembox:nth-last-child(3),
	.itembox:nth-last-child(4) {
		width: 49%;
		margin-bottom: 2%;
		padding: 2% 2.5%;
	}
	.itembox h5 {
		font-size: min(20px, 2.08vw);
		margin: 2.5% auto 2.5%;
	}
	.itembox p {
		font-size: min(15px, 1.5625vw);
	}

/*---------------------------------------------------
 price area
----------------------------------------------------*/		
	.price_contents {
		padding-top: 30px;
	}
	.pricearea {
		margin: 5% auto 0;
	}
	.costbox {
		width: 49%;
		padding-bottom: 10.5vw;
		margin-bottom: 70px;
	}
	.costbox:nth-last-child(2),
	.costbox:last-child {
		margin-bottom: 0;
	}
	.costbox .pln_top {
		font-size: min(15px, 1.5625vw);
		padding: 2.5% 2.5%;
	}
	.pln_titl {
		font-size: min(22px, 2.29vw); 
		margin-bottom: 3%;
		padding: 5% 2.5% 2.5%;
	}
	.pln_top strong {
		font-size: min(20px, 2.083vw);
	}
	.pln_price {
		font-size: min(21.5px, 2.24vw);
		margin: 2.5% auto;
	}
	.sample_price {
		min-height: 7.5em;
		padding: 3%;
	}
	.sample_price .urlimage {
		font-size: min(16px, 1.67vw);
	}
	.sample_price .urltxt {
		font-size: min(14px, 1.45vw);
	}
	ul.pln {
        margin: 4% auto 0;
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
	.pln li {
		width: 48%;
		font-size: min(13px, 1.35vw);
		margin-bottom: 2.5%;
	}
	.pln li:nth-child(2n) {
		margin-left: 2%;
	}
	a.p_btn {
		height: 6.25vw;
		max-height: 60px;
		font-size: min(16px, 1.67vw);
		bottom: 2vw;
	}
	
	.comparison_tablearea {
		margin-top: 10%;
		margin-bottom: 15%;
	}
	.comparison_table {
		margin: 5% auto 10%;
	}
	.comparison_table + .title {
		font-size: min(28px, 2.91vw);
		margin-bottom: 2.5%;
	}
	.comparison_table + .title + .title_txt {
		font-size: min(16px, 1.67vw);
		margin-bottom: 2.5%;
	}
	.comparison_table table tr th, 
	.comparison_table table tr.comparison_titl th, 
	.comparison_table table td {
		font-size: min(18px, 1.875vw);
	}
	.comparison_table table th, .comparison_table table td {
		height: 9.375vw;
	}
	.comparison_table table td i {
		font-size: min(30px, 3.125vw);
	}
	p.t_notc {
		font-size: min(13px, 1.35vw);
		margin-top: 1.5%;
	}
	p.ptxt {
		font-size: min(18px, 1.6vw);
		top: -0.5em;
	}
	
	
}
@media screen and (max-width: 767px) {
/*////////////////////////////////////////////////
=pc→spに表示変更
////////////////////////////////////////////////*/
    .spNone {
        display: none!important;
    }
    .pcNone {
        display: block!important;
    }
/*---------------------------------------------------
 Accordion area
----------------------------------------------------*/
	.accordion .Accordionarea.bg_wg {
		margin-top: 60px;
		padding: 5% 0 10%;
		border-radius: 0;
	}
/*---------------------------------------------------
 security area
----------------------------------------------------*/	
	#contents.security_contents {
		padding-top: 5%;
		margin-top: 60px;
	}
	.securitybox_area {
		margin-bottom: 10%;
	}
	.security_itemarea {
		padding: 10% 0 10%;
		border-radius: 0 80px 0 0;
	}
	.securitybox:last-child .sec_txt p {
		text-align: start;
	}
	.securitybox:last-child {
		margin-bottom: 0;
	}
	.sec_name p {
        font-size: 4.66vw;
    }
	.itemarea {
		margin: 8% auto 0;
	}
	.itembox,
	.itembox:nth-last-child(2),
	.itembox:nth-last-child(3),
	.itembox:nth-last-child(4) {
		width: 100%;
		margin-bottom: 5%;
		padding: 5% 5%;
	}
	.itembox img {
		width: 60%;
	}
	.itembox h5 {
		font-size: 4.66vw;
		margin: 2.5% 0 2.5%;
	}
	.itembox p {
		font-size: 3.5vw;
		line-height: 1.75;
	}

/*---------------------------------------------------
 price area
----------------------------------------------------*/		
	.price_contents {
        padding-top: 20px;
    }
	.costbox,
	.costbox:nth-last-child(2),
	.costbox:last-child {
        width: 100%;    
		padding-bottom: 5%;
        margin-bottom: 3%;
    } 
	.costbox:nth-last-child(2) {
		margin-top: 80px;
	}
	.costbox img {
		width: auto;
		height: 70px;
		top: -72px;
	}  
	.costbox .pln_top {
        font-size: 4.26vw;
    }
	.pln_top strong {
        font-size: 5.33vw;
    }
	.pln_titl {
        font-size: 6vw;
        min-height: unset;
        margin-bottom: 3%;
    }
	.pln_price {
        font-size: 6vw;
    }
	.sample_price {
        min-height: unset;
    }
	.sample_price .urlimage {
        font-size: 4.67vw;
    }
	.sample_price .urltxt {
        font-size: 4.26vw;
    } 
	ul.pln {
        margin: 5% auto;
    }
	.pln li {
        width: 100%;
        font-size: 5.06vw;
    }
	.pln li:nth-child(2n) {
        margin-left: 0;
    }
	a.p_btn {
        height: 13.3vw;
        max-height: 100px;
        font-size: 4.67vw;
        position: unset;
    }
	
	.comparison_table {
        padding-bottom: 15px;
        margin: 8% auto 13%;
        overflow-x: scroll;
    }
	.comparison_table + .title {
        font-size: 6.67vw;
        margin-bottom: 5%;
    }
	.comparison_table + .title + .title_txt {
		width: 95%;
        font-size: 4vw;
        text-align: start;
        margin-bottom: 5%;
    }
	.comparison_table table {
		width: 900px;
	}
	.comparison_table table tr th, 
	.comparison_table table tr.comparison_titl th, 
	.comparison_table table td {
        font-size: 4vw;
        height: 17vw;
    }
	.comparison_table table td strong {
		font-size: 150%;
	}
	.comparison_table table td i {
        font-size: 6vw;
    }
	p.t_notc {
		width: 650px;
        font-size: 12px;
    }
	p.ptxt {
		width: 58%;
		font-size: 4vw;
		top: -0.25em;
		left: 541.5px;
    }
	
	
	
}