*{
	margin: 0;
	padding: 0;
}
body {
	background: #FFF;
	text-align: left;
	line-height: 2;
	font-family: Helvetica,Arial,’Hiragino Kaku Gothic Pro’,'ヒラギノ角ゴ Pro W3','Droid Sans',sans-serif;
	font-weight: 400;
	font-feature-settings : "palt";
	color: #000;
	user-select:none;
	-webkit-user-select: none;
	-webkit-touch-callout:none;
	margin: 0;
}
@media (min-width: 641px){
	html{ font-size: 62.5%; }
	body{ font-size: 2rem; }
}
@media (max-width: 640px){
	body{ font-size: 4.2666vw; }
}
a{ color: #2e80c1; }
img{
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
p, main h3, main h4, table{ margin: 30px 0; }
table{
	width: 100%;
	border-collapse: collapse;
}
th, td{
	border: 1px solid #d3d3d3;
	line-height: 1.6;
	font-size: .875em;
}
th{ background: #f7f8f8; }
ul, ol{ padding-left: 20px; }

@media (min-width: 641px){
	a:hover{ text-decoration: none; }
	a:hover img{
		opacity: .7;
		-webkit-transition: .3s;
		transition: .3s;
	}
	th, td{ padding: 15px; }
	.inner{
		margin: auto;
		width: 730px;
	}
}
@media (max-width: 640px){
	th, td{ padding: 10px; }
	.inner{ padding: 0 15px; }
}

/* ------------------------------------------------
 header
------------------------------------------------ */
header{ border-bottom: 1px solid #ddd; }
#logo{
	padding: 5px 0;
	width: 107.25px;
	height: 30px;
	background: url(../images/logo.png) 0 5px no-repeat;
	background-size: contain;
	text-indent: 200%;
	white-space: nowrap;
	overflow: hidden;
}

/* ------------------------------------------------
 main
------------------------------------------------ */
h1, h2, h3, h4{ font-weight: bold; }
main h1, main h2{
	line-height: 1.4;
}
main h1{
	margin: 20px 0;
	font-size: 1.5em;
}
main h2{
	margin: 40px 0;
	padding: 10px 15px;
	background: #58b5c9;
	font-size: 1.25em;
	color: #fff;
}
main h3{
	margin: 40px 0;
	padding: 10px 5px;
	border-top: 2px solid #58b5c9;
	border-bottom: 2px solid #58b5c9;
	line-height: 1.6;
	font-size: 1.125em;
	color: #58b5c9;
}
main h4{
	border-bottom: 2px dotted #aaa;
    font-size: 1em;
}
.pr{
	display: inline-block;
	margin-right: 10px;
	padding: 2px 5px;
	border: 1px solid #999;
	vertical-align: middle;
	line-height: 1;
	font-size: 0.6em;
	color: #999;
}
@media (min-width: 641px){
	main{ padding-bottom: 100px; }
}
@media (max-width: 640px){
	main{ padding-bottom: 50px; }
	main h2{ margin: 40px -15px; }
}

/* ------------------------------------------------
 refine
------------------------------------------------ */
#refine h3{
	position: relative;
	padding: 10px 15px;
	margin: 0;
	background: #58b5c9;
	border: 0;
	line-height: 1.4;
	color: #fff;
}
#refine h3:after{
	position: absolute;
	content: "＋";
	right: 10px;
	width: 30px;
	height: 30px;
	border: 1px solid #fff;
	border-radius: 3px;
	box-sizing: border-box;
	line-height: 30px;
	text-align: center;
	color: #fff;
}
#refine h3.open:after{
	content: "－";
	background: #fff;
	color: #58b5c9;
}
#refine #searchform{
	border: 2px solid #ccc;
	border-top: 0;
}
#refine h4{ border-bottom: 0; }
#refine h4:before{ content: ""; }
#refine .flx{ flex-wrap: wrap; }
#refine label{
	position: relative;
	display: inline-block;
}
#refine label:before, #refine label.checked:after{
	position: absolute;
	content: "";
	border-radius: 100%;
}
#refine label:before{
	left: 0;
	border: 1px solid #ccc;
}
#refine label:after{ background: #58b5c9; }
#refine input[type=radio]{ display: none; }
.refine_btn, .more a{
	background: #58b5c9;
	border: 0;
	border-radius: 5px;
	text-align: center;
	color: #fff;
}
.refine_btn{
	font-family: Helvetica,Arial,a??Hiragino Kaku Gothic Proa??,'a?’a?ca?Ra??e§’a?´ Pro W3','Droid Sans',sans-serif;
	-webkit-appearance: none;
}
@media (min-width: 751px){
	#refine h3, #refine label{ cursor: pointer; }
	#refine, #column{ margin: 80px 0; }
	#refine #searchform{ padding: 30px 30px; }
	#refine section{
		display: flex;
		align-items: center;
		padding: 15px 0;
		border-bottom: 1px solid rgba(157, 124, 107, .3);
	}
	#refine h4{
		position: relative;
		flex: 0 0 80px;
		margin-top: -2px;
		margin-right: 40px;
		padding: 3px 10px;
		height: 40px;
		background: #58b5c9;
		box-sizing: border-box;
		font-weight: normal;
		font-size: 1.8rem;
		color: #fff;
	}
	#refine h4:after{
		position: absolute;
		content: "";
		top: 0;
		right: -35px;
		border: 20px solid transparent;
		border-left: 15px solid #58b5c9;
	}
	#refine label{
		margin-right: 10px;
		padding: 5px 5px 5px 24px;
		font-size: 1.6rem;
	}
	#refine label:before{
		top: 8px;
		width: 16px;
		height: 16px;
	}
	#refine label.checked:after{
		top: 11px;
		left: 3px;
		width: 12px;
		height: 12px;
	}
	.refine_btn{
		display: block;
		margin: 30px auto 0;
		width: 480px;
		height: 80px;
		font-size: 2rem;
		cursor: pointer;
	}
}
@media (max-width: 750px){
	#refine{ margin: 30px 0; }
	#refine #searchform{ padding: 1px 10px 20px; }
	#refine h3:after{ top: 10px; }
	#refine section{ padding: 0; }
	#refine h4{
		margin: 20px 0 10px;
		padding: 4px 10px 2px;
		background: #58b5c9;
		font-weight: normal;
		font-size: 1em;
		color: #fff;
	}
	#refine label{
		margin: 0 2% 5px 0;
		padding: 6px 8px 5px 20px;
		width: 48%;
		border: 1px solid #ccc;
		border-radius: 3px;
		box-sizing: border-box;
		font-size: 4vw;
	}
	#refine label:nth-of-type(even){ margin-right: 0; }
	#refine label:before{
		top: .8em;
		left: 3px;
		width: 12px;
		height: 12px;
	}
	#refine label.checked:after{
		top: 1em;
		left: 6px;
		width: 8px;
		height: 8px;
	}
	.refine_btn{
		display: block;
		margin-top: 20px;
		padding: 15px 10px;
		width: 100%;
		font-size: 1em;
		cursor: pointer;
	}
}

/* ------------------------------------------------
 footer
------------------------------------------------ */
footer{
	padding: 20px 0;
	background: #58b5c9;
	text-align: center;
	line-height: 1.6;
	font-size: .75em;
	color: #fff;
}
footer a{ color: #fff; }

#pop{
	display: none;
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .6);
	z-index: 99;
}
.pop_wrap{
	position: absolute;
	top: 50%;
	left: 0;
	padding: 0 15px;
	width: 100%;
	box-sizing: border-box;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.pop_box{ text-align: center; }
.pop_box a{ display: inline-block; }
.pop_close{
	position: relative;
	margin: 0 auto 20px;
	width: 50%;
	max-width: 600px;
	border: 2px solid #fff;
	border-radius: 5px;
	text-align: center;
	color: #fff;
	cursor: pointer;
}
.pop_close:after{
	position: absolute;
	content: "×";
	top: 50%;
	right: 10px;
	font-weight: bold;
	font-size: 2rem;
	color: #fff;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

/* ------------------------------------------------
 エリアpopup
------------------------------------------------ */

#popuparea-hokkaido,#popuparea-aomori,#popuparea-iwate,#popuparea-miyagi,#popuparea-akita,#popuparea-yamagata,#popuparea-fukushima,#popuparea-ibaraki,#popuparea-tochigi,#popuparea-gunma,#popuparea-saitama,#popuparea-chiba,#popuparea-tokyo,#popuparea-kanagawa,#popuparea-niigata,#popuparea-toyama,#popuparea-ishikawa,#popuparea-fukui,#popuparea-yamanashi,#popuparea-nagano,#popuparea-gifu,#popuparea-shizuoka,#popuparea-aichi,#popuparea-mie,#popuparea-shiga,#popuparea-kyoto,#popuparea-osaka,#popuparea-hyogo,#popuparea-nara,#popuparea-wakayama,#popuparea-tottori,#popuparea-shimane,#popuparea-okayama,#popuparea-hiroshima,#popuparea-yamaguchi,#popuparea-tokushima,#popuparea-kagawa,#popuparea-ehime,#popuparea-kochi,#popuparea-fukuoka,#popuparea-saga,#popuparea-nagasaki,#popuparea-kumamoto,#popuparea-oita,#popuparea-miyazaki,#popuparea-kagoshima,#popuparea-okinawa{
	display: none;
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .6);
	z-index: 99;
}

.area-span{
    color: #2e80c1;
    text-decoration: underline;
    cursor: pointer;
}

.area-pop_wrap{
	position: absolute;
	top: 50%;
	left: 0;
	padding: 0 15px;
	width: 100%;
	box-sizing: border-box;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
    animation: zoom-in-anim 0.5s;
}

@keyframes zoom-in-anim {
	0% {
	transform: scale(0.5);
	}
}

.area-pop_wrap img{
	width: 38%;
}

.area-pop_wrap .pop_close:after{
	display: none;
}

@media (min-width: 1300px){
.area-pop_wrap img{
	width: 24%;
}
    
.area-pop_wrap .pop_close{
	position: relative;
	margin: 25px auto 0px;
	width: 7%;
	border: 2px solid #fff;
	border-radius: 5px;
	text-align: left;
	color: #fff;
	font-size: 23px;
	padding: 0.8% 4.4% 0.8% 3.2%;
	font-weight: bold;
}

.area-pop_wrap .pop_close:before{
	position: absolute;
	content: "×";
	top: 38px;
	right: 51px;
	font-weight: bold;
	font-size: 4rem;
	color: #fff;
}
}

.area-pop_wrap a:hover img{
	opacity: 1;
}

.area-pop_wrap .pop_close{
	position: relative;
	margin: 25px auto 0px;
	width: 17%;
	border: 2px solid #fff;
	border-radius: 5px;
	text-align: left;
	color: #fff;
	font-size: 23px;
	padding: 1% 0.4% 1% 6.2%;
	font-weight: bold;
}
.area-pop_wrap .pop_close:before{
	position: absolute;
	content: "×";
	top: 36px;
	right: 60px;
	font-weight: bold;
	font-size: 4rem;
	color: #fff;
}


.area-pop_wrap{
	position: absolute;
	top: 34%;
	left: 0;
	right: 0;
	padding: 0 15px;
	width: 712px;
	box-sizing: border-box;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
margin: 0 auto;height: 432px;}

.area-pop_wrap .pop_box{
	background: #F7F8F8;height: 670px;}

.area-pop_wrap .pop_box .area-popup-inner{
	background: white;margin: 35px auto;width: 612px;/* padding: 25px; */height: fit-content;position: absolute;top: 0;left: 0;right: 0;bottom: 0;}

.area-pop_wrap .pop_box .area-popup-inner h2{
	background: #58B5C9; width: 80%;margin: 25px auto 0;font-size: 35px;border-radius: 40px;color: white;height: 60px;padding: 10px 0px; text-align: center;}

.area-pop_wrap .pop_box .area-popup-inner h2:before{
	content: '\025cf'; padding-right: 17%;}

.area-pop_wrap .pop_box .area-popup-inner h2:after{
	content: '\025cf'; padding-left: 17%;}

.area-money{
    width: 80%;
    font-size: 82px;
    margin: -50px auto -50px;
    font-weight: bold;
    color: red;
}
.area-money span{
    font-size: 125px;
    margin: 0 auto;
    font-weight: bold;
    color: red;
}

.area-popup-text2{
	width: 80%;
	margin: 0 auto;
	font-weight: bold;
	font-size: 32px;
}

.area-popup-text3{
	width: 80%;
	margin: 20px auto 15px;
	font-weight: bold;
	font-size: 19px;
	line-height: 35px;
text-align: center;}

.area-pop_wrap .pop_close{
	position: relative;
	margin: 33px auto 0px;
	width: 50%;
	border: 2px solid #fff;
	border-radius: 5px;
	text-align: center;
	color: #fff;
    padding: 1% 0.4%;
}
.area-pop_wrap .pop_close:before{
	position: absolute;
	content: "×";
	top: 50%;
	right: 25%;
	font-weight: bold;
	font-size: 2rem;
	color: #fff;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.area-pop_wrap img{
	width: 55%;
margin: 0px auto 45px;}


.area-pop_wrap .pop_close:hover{
	cursor: pointer;
}

.area-pop_wrap a:hover img{
	opacity: 1;
}

@media (max-width: 750px){
#popuparea-hokkaido,#popuparea-aomori,#popuparea-iwate,#popuparea-miyagi,#popuparea-akita,#popuparea-yamagata,#popuparea-fukushima,#popuparea-ibaraki,#popuparea-tochigi,#popuparea-gunma,#popuparea-saitama,#popuparea-chiba,#popuparea-tokyo,#popuparea-kanagawa,#popuparea-niigata,#popuparea-toyama,#popuparea-ishikawa,#popuparea-fukui,#popuparea-yamanashi,#popuparea-nagano,#popuparea-gifu,#popuparea-shizuoka,#popuparea-aichi,#popuparea-mie,#popuparea-shiga,#popuparea-kyoto,#popuparea-osaka,#popuparea-hyogo,#popuparea-nara,#popuparea-wakayama,#popuparea-tottori,#popuparea-shimane,#popuparea-okayama,#popuparea-hiroshima,#popuparea-yamaguchi,#popuparea-tokushima,#popuparea-kagawa,#popuparea-ehime,#popuparea-kochi,#popuparea-fukuoka,#popuparea-saga,#popuparea-nagasaki,#popuparea-kumamoto,#popuparea-oita,#popuparea-miyazaki,#popuparea-kagoshima,#popuparea-okinawa{
	display: none;
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .6);
	z-index: 99;
}

.area-pop_wrap{
	position: absolute;
	top: 25%;
	left: 0;
	padding: 0 15px;
	width: 100%;
	box-sizing: border-box;
	-webkit-transform: translateY(-50%);
	transform: translateY(-20%);
    animation: zoom-in-anim 0.5s;
}

@keyframes zoom-in-anim {
	0% {
	transform: scale(0.5);
	}
}
    
.area-pop_wrap img{
	width: 90%;
margin: 0 auto 20px;}


.area-pop_wrap .pop_close{
	position: relative;
	margin: 25px auto 0px;
	width: 50%;
	border: 2px solid #fff;
	border-radius: 5px;
	text-align: left;
	color: #fff;
	font-size: 22px;
	padding: 3% 0.4% 3% 10.2%;
	font-weight: bold;
}
.area-pop_wrap .pop_close:before{
	position: absolute;
	content: "×";
	top: 50%;
	right: 14%;
	font-weight: bold;
	font-size: 30px;
	color: #fff;
}

.area-pop_wrap .pop_box{
	background: #F7F8F8;height: 530px;}

.area-pop_wrap .pop_box .area-popup-inner{
	background: white;margin: 22px auto;width: 80%;/* padding: 25px; */height: fit-content;position: absolute;top: 0;left: 0;right: 0;bottom: 0;}

.area-pop_wrap .pop_box .area-popup-inner h2{
	background: #58B5C9; width: 86%;margin: 25px auto 0px;font-size: 25px;border-radius: 40px;color: white;height: 35px;line-height: normal;padding: 10px 0px;}

.area-pop_wrap .pop_box .area-popup-inner h2:before{
	content: '\025cf'; padding-right: 7%;}

.area-pop_wrap .pop_box .area-popup-inner h2:after{
	content: '\025cf'; padding-left: 7%;}

.area-money{
    width: 100%;
    font-size: 43px;
    margin: -30px auto -35px;
    font-weight: bold;
    color: red;
text-align: center;}
.area-money span{
    font-size: 80px;
    margin: 0 auto;
    font-weight: bold;
    color: red;
}

.area-popup-text2{
	width: 89%;
	margin: 0 auto;
	font-weight: bold;
	font-size: 18px;
}

.area-popup-text3{
	width: 90%;
	margin: 20px auto 15px;
	font-weight: bold;
	font-size: 17px;
	line-height: 35px;
}

	
	
    }

/* ------------------------------------------------
 styles
------------------------------------------------ */
.hide{ display: none; }
.point{
    background-color: #58b5c9;
    color: white;
    width: 13%;
    text-align: center;
    margin-bottom: -30px;
    font-size: 18px;
    border-radius: 5px 5px 0 0;
    font-weight: bold;
}
.terms{
    background-color: #58b5c9;
    color: white;
    width: 100%;
    text-align: center;
    margin-bottom: -30px;
    font-size: 2.2rem;
    border-radius: 25px 25px 0 0;
    font-weight: bold;
    padding: 4px 0px;
    }
.box, .box_ylw, .box_merit, .box_demerit{
	margin: 30px 0;
	box-shadow: 1px 1px 0 #fff inset, -1px -1px 0 #fff inset;
}
.box{
	background: #fff;
	border: 2px solid #58b5c9;
}
.arrow_box{
    position:relative;
    width: 70%;
    height: auto;
    background: #58b5c9;
    padding: 2% 5%;
    text-align: left;
    color:#FFFFFF;
    font-size:20px;
    font-weight:bold;
    border-radius:30px;
    -webkit-border-radius: 17px;
    -moz-border-radius:30px;
    margin: 0 auto;
}
.arrow_box:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(103, 181, 197, 0);
    border-top-width:20px;
    border-bottom-width:20px;
    border-left-width:10px;
    border-right-width:10px;
    margin-left: -10px;
    border-bottom-color:#58b5c9;
    bottom:100%;
    left:50%;
}

.checklist{
    background: #fff;
    border: 2px solid #58b5c9;
    padding: 10px 0px 10px 0px!important;
    margin: 30px auto;
    box-shadow: 1px 1px 0 #fff inset, -1px -1px 0 #fff inset;
}


.checklist ul{
    padding: 0px 28px;
    position: relative;
}

.checklist ul li{
    background-image: linear-gradient(to right, #939393, #939393 8px, transparent 8px, transparent 8px);  /* 幅2の線を作る */
    background-size: 21px 2px;          /* グラデーションの幅・高さを指定 */
    background-position: left bottom;  /* 背景の開始位置を指定 */
    background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
    list-style-type: none;
    padding: 7px 33px 8px;
}

.checklist ul li::before{
    content: '';
    background-image: url("../images/checklist-before.png");
    width: 25px;
    height: 25px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: 27px;
    /* top: 30px; */
    margin: 8px 0px;
}

.checklist ul li:last-child{
    background-image: unset;
    list-style-type: none;
}

.checklist2{
    background: #fff;
    border: 2px solid #58b5c9;
    margin: 0px auto;
border-radius: 15px 15px 0 0;}

.checklist2 h2{
    background: #58b5c9;
    border: 0px solid #58b5c9;
    padding: 7px 0px 7px 0px!important;
    margin: 0px auto;
border-radius: 10px 10px 0 0;text-align: center;}


.checklist2 ul{
    padding: 0px 28px;
    position: relative;
}

.checklist2 ul li{
    background-image: linear-gradient(to right, #939393, #939393 8px, transparent 8px, transparent 8px);  /* å¹…2ã®ç·šã‚’ä½œã‚‹ */
    background-size: 21px 2px;          /* ã‚°ãƒ©ãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã®å¹…ãƒ»é«˜ã•ã‚’æŒ‡å®š */
    background-position: left bottom;  /* èƒŒæ™¯ã®é–‹å§‹ä½ç½®ã‚’æŒ‡å®š */
    background-repeat: repeat-x;       /* æ¨ªå‘ãã«ã®ã¿ç¹°ã‚Šè¿”ã™ */
    list-style-type: none;
    padding: 5px 33px 5px;
}

.checklist2 ul li::before{
    content: '';
    background-image: url("../images/checklist-before.png");
    width: 25px;
    height: 25px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: 27px;
    /* top: 30px; */
    margin: 8px 0px;
}

.checklist2 ul li:last-child{
    background-image: unset;
    list-style-type: none;
}

.comment{
	background-color: #58b5c9;
	color: white;
	height: 85px;
	border-radius: 15px;
	margin: 50px auto 0;
	padding: 2% 5%;
	position: relative;
}

.comment::before{
	position: absolute;
top: -22px;
	right: 0;
	left: 0;
	bottom: 0;
	margin: 0px auto 0;
	text-align: center;
content: '';
 width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-bottom: 30px solid #58b5c9;
}

.box_ylw, .box_merit{
	background: #fdfbe8;
	border: 1px solid #f5e881;
}
.box_demerit{
	background: #eaf8f9;
	border: 1px solid #d1eff2;
}
ul.merit, ul.demerit{
	padding-left: 0;
	list-style: none;
}
ul.merit li, ul.demerit li{
	position: relative;
	padding-left: 30px;
}
ul.merit li:before, ul.demerit li:before{
	position: absolute;
	left: 0;
	line-height: 1;
	font-size: 2.5em;
}
ul.merit li:before{
	content: "○";
	top: -8px;
	color: #e6534c;
}
ul.demerit li:before{
	content: "×";
	top: -5px;
	color: #0dafcb;
}
.marker{
	background: -webkit-linear-gradient(transparent 60%, #FFd700 60%);
	background: linear-gradient(transparent 60%, #FFd700 60%);
	font-weight: 700;
}

.bt_cv a, .bt_cv2 a{
	position: relative;
	display: block;
	border-radius: 5px;
	box-sizing: border-box;
	text-decoration: none;
	text-align: center;
	line-height: 1.4;
	font-weight: bold;
	color: #fff;
	-webkit-animation: bound .5s ease infinite alternate;
	animation: bound .5s ease infinite alternate;
}
.bt_cv a{
	background: #fe941e;
	box-shadow: 0 3px 0 #ec9627;
}
.bt_cv2 a{
	background: #43a047;
	box-shadow: 0 3px 0 #2e7d32;
}
.bt_cv a:after, .bt_cv2 a:after{
	position: absolute;
	content: "";
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
@-webkit-keyframes bound{
	50%{ -webkit-transform: translateY(0); }
	75%{ -webkit-transform: translateY(5px); }
}
@keyframes bound{
	50%{ transform: translateY(0); }
	75%{ transform: translateY(5px); }
}

@media (min-width: 641px){
	.sp{ display: none; }
	.box, .box_ylw{ padding: 1px 40px; }
	.box_merit, .box_demerit{ padding: 20px 40px; }
	.bt_cv a, .bt_cv2 a{
		margin: 50px auto;
		padding: 25px; 20px 20px;
		width: 600px;
		height: 80px;
		font-size: 2.4rem;
	}
	.bt_cv a:hover, .bt_cv2 a:hover{
		top: 2px;
		-webkit-animation: none;
		animation: none;
	}
	.bt_cv a:hover{ box-shadow: 0 1px 0 #ec9627; }
	.bt_cv2 a:hover{ box-shadow: 0 1px 0 #2e7d32; }
	.bt_cv a:after, .bt_cv2 a:after{
		right: 20px;
		border: 10px solid transparent;
		border-left: 14px solid;
	}
}

@media (max-width: 640px){
	.pc{ display: none; }
    .point{
		background-color: #58b5c9;
		color: white;
		width: 25%;
		text-align: center;
		margin-bottom: -30px;
		font-size: 16px;
		border-radius: 5px 5px 0 0;
		font-weight: bold;
	}
    
    .terms{
    background-color: #58b5c9;
    color: white;
    width: 100%;
    text-align: center;
    margin-bottom: -30px;
    font-size: 1.3rem;
    border-radius: 25px 25px 0 0;
    font-weight: bold;
    padding: 5px 0px 0px;
    }
    
    .arrow_box{
    position:relative;
    width: 90%;
    height: auto;
    background: #58b5c9;
    padding: 2% 5%;
    text-align: left;
    color:#FFFFFF;
    font-size: 4.2666vw;
    font-weight:bold;
    border-radius: 25px;
    -webkit-border-radius: 25px;
    -moz-border-radius:30px;
    margin: 0 auto;
}
	.arrow_box:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(103, 181, 197, 0);
    border-top-width:20px;
    border-bottom-width:20px;
    border-left-width:10px;
    border-right-width:10px;
    margin-left: -10px;
    border-bottom-color:#58b5c9;
    bottom:100%;
    left:50%;
}

	.box, .box_ylw{ padding: 1px 20px; }
    
    .checklist{
        background: #fff;
        border: 2px solid #58b5c9;
        padding: 10px 0px 10px 0px!important;
        margin: 30px auto;
        box-shadow: 1px 1px 0 #fff inset, -1px -1px 0 #fff inset;
    }


    .checklist ul{
        padding: 0px 20px;
        position: relative;
    }

    .checklist ul li{
        background-image: linear-gradient(to right, #939393, #939393 8px, transparent 8px, transparent 8px);  /* 幅2の線を作る */
        background-size: 21px 2px;          /* グラデーションの幅・高さを指定 */
        background-position: left bottom;  /* 背景の開始位置を指定 */
        background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
        list-style-type: none;
        padding: 7px 0px 8px 29px;
    }

    .checklist ul li::before{
        content: '';
        background-image: url("../images/checklist-before.png");
        width: 25px;
        height: 25px;
        display: block;
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        left: 17px;
    /* top: 30px; */
		margin: 4px 0px 5px;
    }

    .checklist ul li:last-child{
		background-image: unset;
		list-style-type: none;
    }
    
    .checklist2{
        background: #fff;
        border: 3px solid #58b5c9;
        padding: 0px 0px 10px 0px!important;
        margin: 30px auto;
        box-shadow: unset;
    border-radius: 19px 18px 0 0;}
    
    .checklist2 h2{
    background: #58b5c9;
    border: 1px solid #58b5c9;
    padding: 4px 0px 4px 0px!important;
    margin: -3px auto 0px;
border-radius: 14px 14px 0 0;text-align: center;font-size: 20px;width: 100%;}


    .checklist2 ul{
        padding: 0px 12px;
        position: relative;
    }

    .checklist2 ul li{
        background-image: linear-gradient(to right, #939393, #939393 8px, transparent 8px, transparent 8px);  /* 幅2の線を作る */
        background-size: 21px 2px;          /* グラデーションの幅・高さを指定 */
        background-position: left bottom;  /* 背景の開始位置を指定 */
        background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
        list-style-type: none;
        padding: 5px 0px 5px 36px;
    line-height: 30px;}

    .checklist2 ul li::before{
        content: '';
        background-image: url("../images/checklist-before.png");
        width: 25px;
        height: 25px;
        display: block;
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        left: 17px;
    /* top: 30px; */
		margin: 4px 0px 5px;
    }

    .checklist2 ul li:last-child{
		background-image: unset;
		list-style-type: none;
    }
    
.comment{
	background-color: #58b5c9;
	color: white;
	height: fit-content;
	border-radius: 15px;
	margin: 50px auto 0;
	padding: 2% 5%;
	position: relative;
}

.comment::before{
	position: absolute;
top: -15px;
	right: 0;
	left: 0;
	bottom: 0;
	margin: 0px auto 0;
	text-align: center;
content: '';
 width: 0;
  height: 0;
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  border-bottom: 25px solid #58b5c9;
}    
    
    
	.box_merit, .box_demerit{ padding: 20px; }
	.bt_cv a, .bt_cv2 a{
		margin: 30px auto;
		padding: 15px 20px;
		line-height: 1.4;
		font-size: 2rem;
	}
	.bt_cv a:after, .bt_cv2 a:after{
		right: 8px;
		border: 7px solid transparent;
		border-left: 10px solid;
	}
}

/* ------------------------------------------------
 chat content style
------------------------------------------------ */
.chat-wrap{
	margin: 20px 0;
	padding: 10px;
}
.chat-r, .chat-l{
	clear: both;
	overflow: hidden;
	margin-bottom: 10px;
}
.chat-r img{ float: right; width:80px; }
.chat-l img{ float: left; width:80px; }
.chat-name{ margin-top: -10px; }
.chat-r .chat-name{
	margin-right: 95px;
	text-align: right;
}
.chat-message + .chat-message {
margin-top: 10px;
}
.chat-l .chat-name { margin-left: 95px; }
.chat-message {
	position: relative;
	padding: 10px 15px;
	border-radius: 20px;
}
.chat-r .chat-message {
	margin-right: 95px;
	background-color: #ededed;
}
.chat-l .chat-message {
	margin-left: 95px;
	background-color: #ededed;
}
.chat-message:before {
	position: absolute;
	content: "";
	top: 10px;
	width: 0;
	height: 0;
	border: 15px solid transparent;
	border-top: 15px solid;
}
.chat-r .chat-message:before {
	right: -10px;
	border-top-color: #ededed;
}
.chat-l .chat-message:before {
	left: -10px;
	border-top-color: #ededed;
}

/* ------------------------------------------------
 .shiny-btn
------------------------------------------------ */
.shiny-btn {
    display: block;
    position: relative;
	width: 362px;/*ボタンの幅*/
    margin: 20px auto;
    overflow: hidden;
}
.shiny-btn:hover {
    text-decoration: none;
    color: #fff;
}
.shiny-btn:before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -0px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn 3s ease-in-out infinite;
}

.shiny-btn2 {
    display: block;
    position: relative;
    overflow: hidden;
}
.shiny-btn2:hover {
    text-decoration: none;
    color: #fff;
}
.shiny-btn2:before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -0px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn 3s ease-in-out infinite;
}

@-webkit-keyframes shiny-btn {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 0.9; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@keyframes shiny-btn {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 0.9; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}

@media (max-width: 640px){
	.shiny-btn {
		width: 100%;/*ボタンの幅*/
	}
    
    .shiny-btn2 {
		width: 100%;/*ボタンの幅*/
	}
}

/* ------------------------------------------------
 .bounce-btn
------------------------------------------------ */
.bounce-btn {
    -webkit-animation: bound .5s ease infinite alternate;
	animation: bound .5s ease infinite alternate;
}
@-webkit-keyframes bound{
	50%{ -webkit-transform: translateY(0); }
	75%{ -webkit-transform: translateY(5px); }
}
@keyframes bound{
	50%{ transform: translateY(0); }
	75%{ transform: translateY(5px); }
}

/* ------------------------------------------------
 holiday visible
------------------------------------------------ */
.holiday-off,
.holiday-on {
	display: none;
}