@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');
/* =========================================================
	common
========================================================= */
p,
h2,
h3,
h4 {
	font-family: "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-feature-settings: "palt" 1;
	letter-spacing: .01em;
}
.wp {
	max-width: 1200px;
	width: 98%;
	margin: 0 auto;
}
.wp div {
	box-sizing: border-box;
}
a {
	transition: .3s;
}
a:hover {
	opacity: .7;
}
.sp {
	display: none;
}
@media only screen and (max-width: 767px) {
	.wp {
		width: 94%;
	}
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
}

/* =========================================================
	header
========================================================= */
header {
	border-bottom: 1px solid #ccc;
	padding: 33px 0 25px;
}
header .logo {
	width: 160px;
}
@media only screen and (max-width: 767px) {
	header {
		border-bottom: 1px solid #ccc;
		padding: 2.8vw 0 2.1vw;
	}
	header .logo {
		width: 18%;
	}
}
/* =========================================================
	main_kv
========================================================= */
.main_kv {
	margin-top: 45px;
}
.main_kv .wp {
	width: 100%;
	position: relative;
}
.period {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
}
@media only screen and (max-width: 767px) {
	.main_kv .wp {
		width: 100%;
	}
	.main_kv {
		margin-top: 0;
	}
}
/* =========================================================
	anc
========================================================= */
.anc ul {
	width: 95%;
	margin: 50px auto 90px;
	display: flex;
	flex-wrap: nowrap;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: space-between;
}
.anc ul li {
	width: 24.6%;
	text-align: center;
	font-size: 30px;
	line-height: 1;
	font-weight: bold;
}
.anc ul li a {
	display: block;
	color: #33659a;
	background-color: #dae6f5;
	padding: 1em 0 1.1em;
	background-image: url("../images/ay.gif");
	background-position: center bottom 10px;
	background-repeat: no-repeat;
	background-size: 12px auto;
}
.anc ul li:first-child a {
	border-bottom-left-radius: 2em;
	border-top-left-radius: 2em;
}
.anc ul li:last-child a {
	border-bottom-right-radius: 2em;
	border-top-right-radius: 2em;
}
@media only screen and (max-width: 767px) {
	.anc .wp {
		width: 100%;
	}
	.anc ul {
		width: 99%;
		margin: 2.1vw auto 4vw;
	}
	.anc ul li {
		width: 24.4%;
		font-size: 2.66vw;
	}
	.anc ul li a {
		padding: 1.2em 0 1.4em;
		background-position: center bottom .5em;
		background-size: .5em auto;
	}	
}
/* =========================================================
	sec
========================================================= */
.sec {
	width: 100%;
	background-image: url("../images/bk.jpg");
	background-position: left top;
	background-repeat: repeat;
	background-size: 17px auto;
	padding-bottom: 90px;
}
.sec h2 {
	text-align: center;
	font-size: 36px;
	line-height: 1;
	color: #fff;
	background-color: #33659a;
	padding: .4em 0 .5em;
}
.conts_bd {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: center;
	justify-content: space-between;
	border: 6px solid #ac9237;
	background-color: #fff;
	border-radius: 50px;
	margin-top: 55px;
	box-shadow: 10px 8px 10px rgba(0,0,0,0.2);
	padding: 26px 0 15px;
}
.paypay {
	padding-right: 8.6%;
	margin-left: 10%;
	width: 27%;
	border-right: 1px solid #000;
}
.paypay img {
	max-width: 212px;
}
.points {
	width: 41%;
	max-width: 478px;
	margin-right: 14%;
}
.conts_bd .notice {
	font-size: 16px;
	line-height: 1.5;
	text-align: left;
	font-weight: bold;
	margin-left: 32%;
	margin-top: 1em;
}
@media only screen and (max-width: 767px) {
	.sec {
		background-size: 2% auto;
		padding-bottom: 12vw;
	}
	.sec h2 {
		font-size: 4.8vw;
		padding: .7em 0 .8em;
	}
	.conts_bd {
		border: 3px solid #ac9237;
		border-radius: 5vw;
		margin-top: 8.66vw;
		box-shadow: 2px 10px 8px rgba(0,0,0,0.2);
		padding: 4vw 0 2.66vw;
	}
	.paypay {
		width: 23%;
		padding-right: 5%;
		margin-left: 5%;
		border-right: 1px solid #000;
	}
	.paypay img {
		width: 100%;
		max-width: none;
	}
	.points {
		width: 61%;
		margin-right: 5%;
	}
	.conts_bd .notice {
		font-size: 2.1vw;
		margin-left: 18%;
		margin-top: 1.5em;
	}
}
.conts_bd.item60 {
	padding-bottom: 0;
}
.pay60 {
	max-width: 458px;
	width: 39%;
	margin-left: 11%;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: space-between;
	border-right: 1px solid #000;
	padding-right: 50px;
}
.paypay_s {
	width: 100%;
	border-bottom: 1px solid #000;
}
.paypay_s img {
	max-width: 233px;
	width: 58%;
	margin: 0 auto 35px;
	display: block;
}
.paypay_60 {
	max-width: 206px;
	width: 51%;
	margin: 30px auto 0;
}
.paypay_t {
	font-size: 24px;
	font-weight: bold;
	margin-top: 1em;
	line-height: 1;
}
.pay60_item {
	max-width: 382px;
	width: 33%;
	margin-right: 13%;
}


@media only screen and (max-width: 767px) {
	.pay60 {
		width: 100%;
		margin-left: 0;
		align-items: center;
		justify-content: center;
		border-right: none;
		padding-right: 0;
	}
	.paypay_s {
		width: 33%;
		margin-right: 4%;
		border-bottom: none;
	}
	.paypay_s img {
		width: 100%;
		max-width: none;
		margin: 0;
	}
	.paypay_60 {
		width: 26%;
		margin: 0;
		border-left: 1px solid #000;
		padding-left: 4%;
	}
	.paypay_t {
		font-size: 3.2vw;
		text-align: center;
	}
	.pay60_item {
		width: 55%;
		margin: 1vw auto 0;
	}
	.conts_bd.item60 {
		padding-bottom: 2vw;
	}
}
.pay30 {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: center;
	justify-content: flex-start;
}
.pay30 .paypay_s {
	border: none;
	width: 20%;
	max-width: 233px;
	margin-left: 26%;
}
.pay30 .paypay_s img {
	width: 100%;
	margin: 0;
	border: none;
}
.paypay_30 {
	margin-left: 3.6%;
	padding-left: 2.9%;
	border-left: 1px solid #000;
	width: 22%;
}

.pay30 .paypay_30 img {
	max-width: 185px;
	width: 85%;
	margin: 0;
	display: block;
}
.pay30_item_h {
	width: 911px;
	margin: 1.2em auto 0;
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	border-bottom: 1px solid #33659a;
	padding-bottom: 30px;
}
.pay30_items {
	width: 78%;
	margin: 25px auto 0;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: space-between;
}
.pay30_items li {
	max-width: 218px;
	width: 24%;
}
.pay30_items li p {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
}
.pay30_items li:last-child {
	width: 100%;
	max-width: none;
}
.pay30_items li:last-child p {
	text-align: right;
	font-size: 18px;
	margin-top: 1em;
}
.pay30_item_name {
	width: 60%;
	margin: 50px auto 0;
	font-size: 18px;
	line-height: 1.66;
	text-align: left;
}
.conts_bd.item30 {
	padding-bottom: 80px;
}
@media only screen and (max-width: 767px) {
	.pay30 {
		width: 100%;
		margin-left: 0;
		align-items: center;
		display: flex;
		justify-content: center;
		border-right: none;
		padding-right: 0;
	}
	.pay30 .paypay_s {
		width: 33%;
		margin-right: 4%;
		margin-left: 0;
		border-bottom: none;
	}
	.pay30 .paypay_s img {
		width: 100%;
		margin: 0;
	}
	.paypay_30 {
		width: 26%;
		margin: 0;
		border-left: 1px solid #000;
		padding-left: 4%;
	}
	.pay30 .paypay_30 img {
		width: 100%;
		max-width: none;
	}
	.pay30_item_h {
		width: 100%;
		margin: 1.5em auto 0;
		font-size: 3.2vw;
		border-bottom: none;
		padding-bottom: 0;
	}
	.pay30_items {
		width: 100%;
		margin: 0 auto 0;
		justify-content: center;
	}
	.pay30_items li {
		width: 30%;
		margin: 6vw 3% 0;
	}
	.pay30_items li p {
		font-size: 3.2vw;
	}
	.pay30_items li:last-child p {
		text-align: center;
		font-size: 2.4vw;
		margin-top: 0;
	}
	.pay30_item_name {
		margin: 3vw auto 0;
		font-size: 3.2vw;
		line-height: 1.25;
		text-align: left;
		width: 90%;
	}
	.pay30_item_name li {
		margin-top: 1em;
	}
	.conts_bd.item30 {
		padding-bottom: 11vw;
	}
}
.conts_bd.nb {
	border: none;
	padding: 55px 0 90px;
	box-shadow: 0 0 20px rgba(0,0,0,0.3);
	margin-top: 75px;
}
.oubo_h {
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.6;
	width: 100%;
}
.oubo_step {
	width: 89%;
	margin: 50px auto 0;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: space-between;
}
.oubo_step li {
	width: 33%;
}
.oubo_step h3 {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	text-align: center;
	font-size: 30px;
	color: #33659a;
	font-weight: 500;
	background-color: #dae6f5;
	line-height: 1;
	padding: .3em 0 .4em;
	margin: 0 5%;
}
.step_img {
	max-width: 214px;
	width: 61%;
	margin: 18px auto 0;
	height: 271px;
}
.oubo_step li:first-child .step_img img {
	margin-top: 40px;
}
.oubo_step li:last-child {
	width: 100%;
}
.step_t {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
}
.step_t span {
	color: #33659a;
}
.oubo_nt {
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	margin-top: 1em;
	width: 100%;
}
.oubo_btn {
	width: 58%;
	margin: 45px auto 0;
	text-align: center;
	font-size: 36px;
	line-height: 1;
	font-weight: bold;
}
.oubo_btn a {
	display: block;
	color: #fff;
	background-color: #33659a;
	border-radius: .2em;
	padding: .7em 0 .8em;
	background-image: url("../images/by.png");
	background-position: 74% center;
	background-repeat: no-repeat;
	background-size: 29px auto;
}
@media only screen and (max-width: 1200px) {
	.oubo_btn {
		font-size: 3.2vw;
	}	
}
@media only screen and (max-width: 767px) {
	.conts_bd.nb {
		padding: 8vw 0 10vw;
		box-shadow: 0 5px 10px rgba(0,0,0,0.3);
	}
	.oubo_h {
		font-size: 4vw;
	}
	.oubo_step {
		width: 94%;
		margin: 0 auto 0;
		justify-content: center;
	}
	.oubo_step li {
		width: 100%;
		margin-top: 10vw;
	}
	.oubo_step li:first-child {
		margin-top: 8vw;
	}
	.oubo_step h3 {
		font-size: 4vw;
		padding: .4em 0 .5em;
		margin: 0;
	}
	.step_img {
		width: 38%;
		max-width: none;
		margin: 8vw auto 0;
		height: auto;
	}
	.oubo_step li:first-child .step_img img {
		margin-top: 0;
	}
	.step_t {
		font-size: 3.2vw;
		margin-top: 1em;
	}
	.oubo_step li:first-child {
		order: 1;
	}
	.oubo_step li:nth-child(2) {
		order: 2;
	}
	.oubo_step li:nth-child(3) {
		order: 4;
	}
	.oubo_step li:nth-child(4) {
		order: 3;
		margin: 0;
	}
	.oubo_nt {
		font-size: 3.2vw;
	}
	.oubo_btn {
		width: 93%;
		margin: 6vw auto 0;
		font-size: 6.4vw;
	}
	.oubo_btn a {
		background-position: 84% center;
		background-size: 6% auto;
	}	
}
.conts_bd.nb.btm {
	margin-top: 115px;
	justify-content: center;
	align-items: flex-start;
}
.oubo_ld {
	text-align: center;
	font-size: 24px;
	line-height: 1.5;
	font-weight: bold;
	width: 100%;
	margin-top: 1.0em;
}
.rec_store {
	width: 39%;
	background-color: #eff7fb;
	border-radius: 15px;
	padding-bottom: 25px;
	overflow: hidden;
	margin-top: 65px;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: center;
}
.rec_store_h {
	width: 100%;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	background-color: #33659a;
	padding: 1em 0 1.1em;
	text-align: center;
	color: #fff;
}
.rec_store ul {
	margin-top: 45px;
	font-size: 24px;
	line-height: 1;
	font-weight: bold;
	text-align: left;
}
.rec_store ul span {
	color: #33659a;
	margin-right: .5em;
}
.rec_store ul li {
	margin-bottom: .8em;
}
.rec_store_nt {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.66;
	color: #fb0a0a;
	width: 100%;
	text-align: center;
	margin-top: 1em;
}
.rec_store_nt span {
	display: inline-block;
	text-align: left;
}
.rec_img {
	max-width: 330px;
	width: 28%;
	margin-left: 8%;
	margin-top: 55px;
}
.rec_img p {
	font-size: 16px;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
}
.bad_sample {
	width: 80%;
	margin: 75px auto 0;
	background-color: #eff7fb;
	border-radius: 15px;
	overflow: hidden;
	padding: 0 0 25px;
}
.bad_sample_h {
	width: 100%;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	background-color: #2c2c2c;
	padding: .5em 0 .6em;
	text-align: center;
	color: #fff;
}
.bad_sample ul {
	padding: 1em 55px 0;
	font-size: 24px;
	line-height: 1.5;
}
.bad_sample li {
	padding-left: 1em;
	text-indent: -1em;
}
.bad_sample li:last-child {
	font-size: 18px;
	font-weight: bold;
	margin-top: 1em;
}
@media only screen and (max-width: 767px) {
	.conts_bd.nb.btm {
		margin-top: 9.3vw;
		padding-bottom: 6vw;
	}
	.oubo_ld {
		text-align: left;
		font-size: 3.2vw;
		padding: 0 1em;
		margin-top: 1.5em;
	}
	.rec_store {
		width: 95%;
		border-radius: 3vw;
		padding-bottom: 6vw;
		margin-top: 8.6vw;
	}
	.rec_store_h {
		font-size: 4vw;
	}
	.rec_store ul {
		margin-top: 6vw;
		font-size: 4vw;
	}
	.rec_store ul li {
		margin-bottom: .6em;
	}
	.rec_store_nt {
		font-size: 3.2vw;
	}
	.rec_img {
		width: 100%;
		margin: 0;
	}
	.rec_img img {
		display: block;
		width: 57%;
		margin: 5.3vw auto 0;
	}
	.rec_img img.pc {
		display: none !important;
	}
	.rec_img p {
		font-size: 3.2vw;
	}
	.bad_sample {
		width: 95%;
		margin: 8vw auto 0;
		border-radius: 3vw;
		padding: 0 0 6.6vw;
	}
	.bad_sample_h {
		font-size: 4vw;
	}
	.bad_sample ul {
		padding: 1em 0 0;
		font-size: 4vw;
	}
	.bad_sample ul li {
		padding: 0 9% 0;
	}
	.bad_sample li:last-child {
		font-size: 3.0vw;
		padding: 0 6%;
	}
}
.sec.req {
	background: none;
	padding-bottom: 60px;
	font-size: 18px;
	line-height: 1.66;
}
.sec.req .wp {
	width: 94%;
	margin-top: 65px;
}
.sec.req .str {
	font-weight: bold;
}
.sec.req dl {
	width: 100%;
	margin-top: 1.5em;
}
.sec.req dt {
	font-weight: bold;
	width: 100%;
}
.sec.req ul {
	padding-left: 1em;
}
.sec.req li {
	padding-left: 1em;
	text-indent: -1em;
}
.sec.req a {
	text-decoration: underline;
}
@media only screen and (max-width: 767px) {
	.sec.req {
		padding-bottom: 9vw;
		font-size: 3.2vw;
		line-height: 1.5;
	}
	.sec.req .wp {
		width: 92%;
		margin-top: 7vw;
	}	
}
.sec.inq {
	background-image: none;
	background-color: #dae6f5;
	padding-bottom: 105px;
}
.inq_h {
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	margin-top: 70px;
}
.inq_tel {
	width: 550px;
	background-color: #fff;
	margin: 50px auto 0;
	padding: 18px 0 20px;
}
.inq_tel p {
	font-size: 48px;
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	text-align: center;
	font-weight: 500;
	letter-spacing: 0.1em;
	transform: scaleY(0.9);
	line-height: 1;
}
.inq_tel span {
	font-size: 36px;
}
.inq_period {
	text-align: center;
	font-size: 24px;
	line-height: 1.8;
	margin-top: 1em;
}
.inq_chk {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	margin-top: 135px;
	display: flex;
	flex-wrap: nowrap;
	align-content: flex-start;
	align-items: center;
	justify-content: center;
}
.inq_chk input,
.inq_chk label {
	transition: .3s;
}
.inq_chk input:hover,
.inq_chk label:hover {
	opacity: .7;
	cursor: pointer;
}
.inq_chk input {
	width: .8em;
	height: .8em;
	border: 1px solid #000;
	margin: 0;
	padding: 0;
}
.inq_chk span {
	margin-left: 1.2em;
}
#btn_oubo {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-decoration: none;
	background-color: #33659a;
	text-align: center;
	font-size: 36px;
	line-height: 1;
	padding: .9em 0 .9em;
	display: block;
	max-width: 700px;
	width: 80%;
	margin: 60px auto 0;
	border: none;
	color: #fff;
	font-weight: bold;
	border-radius: .3em;
	transition: .3s;
}
#btn_oubo:disabled {
	opacity: .5;
}
@media only screen and (max-width: 767px) {
	.sec.inq {
		padding-bottom: 26vw;
	}
	.inq_h {
		font-size: 4vw;
		margin-top: 12vw;
	}
	.inq_tel {
		width: 80%;
		margin: 6vw auto 0;
		padding: 2vw 0 2vw;
	}
	.inq_tel p {
		font-size: 6.6vw;
	}
	.inq_tel span {
		font-size: 4.8vw;
	}
	.inq_period {
		font-size: 3.2vw;
	}
	.inq_chk {
		font-size: 4.4vw;
		margin-top: 17vw;
	}
	.inq_chk span {
		margin-left: .8em;
	}
	#btn_oubo {
		font-size: 6.4vw;
		width: 94%;
		margin: 8vw auto 0;
	}
}
/* =========================================================
	footer
========================================================= */
footer {
	padding: 44px 0 44px;
	background-color: #fff;
}
.f_logo {
	width: 221px;
	margin: 0 auto;
}
@media only screen and (max-width: 767px) {
	footer {
		padding: 4.4vw 0 7.6vw;
	}
	.f_logo {
		width: 23%;
	}
}