@charset "UTF-8";
/*-----------------------------------------------------------
Reset
-----------------------------------------------------------*/
html {
	font-size: 100%;
}

body {
	margin: 0;
	padding: 0;
	line-height: 1;
}

div, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, img, ins, kbd, q, samp, sub, sup, var, b, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, mark, audio, video, a {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	font-size: 100%;
	font: inherit;
}

span, small, em, time, i {
	font-style: normal;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}

a {
	border: medium;
}

sup {
	vertical-align: text-top;
}

sub {
	vertical-align: text-bottom;
}

legend {
	color: #000;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1.8em;
}

main, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, picture {
	display: block;
}

li {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: "";
	content: none;
}

input, textarea, select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
}

input, select {
	vertical-align: middle;
}

abbr[title], dfn[title] {
	cursor: help;
}

del {
	text-decoration: line-through;
}

ins {
	font-style: oblique;
	text-decoration: none;
}

mark {
	background: transparent;
	font-style: normal;
}

img {
	vertical-align: top;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: inherit;
}

/*-----------------------------------------------------------
Bace
-----------------------------------------------------------*/
/*------------
Body
--------------*/
*, *::before, *::after {
	box-sizing: border-box;
}

::-moz-selection {
	background: #d4dcd6;
}

::selection {
	background: #d4dcd6;
}

img {
	max-width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
}

body, html {
	height: 100%;
}

body {
	font-family: "Noto Sans JP","游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #666;
	line-height: 2;
	-webkit-text-size-adjust: 100%;
}

a {
	color: inherit;
	text-decoration: none;
}

.link {
	color: #fb8c00;
	text-decoration: underline;
}
.link:hover {
	text-decoration: none;
}

.no-link {
	pointer-events: none;
}

.anchor {
	margin-top: -50px;
	padding-top: 50px;
}

a[href^=tel] {
	cursor: default;
}

.container {
	margin: 0 auto;
	max-width: 1024px;
	width: 90%;
}
.container.wide {
	max-width: 1200px;
}
.container .narrow {
	max-width: 850px;
}

/*------------
Header
--------------*/
.header {
	position: absolute;
	padding: 25px;
	width: 100%;
}

/*------------
Hero
--------------*/
.hero {
	background: url(../images/hero_bg_pc.jpg) no-repeat center/cover;
	height: 763px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hero-contents {
	margin: 0 0 0 30%;
}

/*------------
Top contents
--------------*/
.t-ttl {
	font-size: 36px;
	font-family: "Noto Sans JP";
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 30px;
}
.t-ttl i {
	margin: 0 10px 0 0;
	vertical-align: -3px;
}

.sec01 {
	background: #80deea;
	padding: 80px 0 50px;
	position: relative;
}
.sec01::after {
	content: "";
	border-style: solid;
	border-width: 35px 32.5px 0 32.5px;
	border-color: #80deea transparent transparent transparent;
	position: absolute;
	bottom: -35px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.sec01-ttl {
	display: table;
	color: #fff;
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 36px;
	text-align: center;
	padding: 0 100px;
	margin: 0 auto 50px;
	position: relative;
}
.sec01-ttl::before, .sec01-ttl::after {
	content: "";
	position: absolute;
	width: 61px;
	height: 52px;
}
.sec01-ttl::before {
	background: url(../images/ttl_deco_l.png) no-repeat center/contain;
	left: 0;
}
.sec01-ttl::after {
	background: url(../images/ttl_deco_r.png) no-repeat center/contain;
	right: 0;
}

.sec01-list {
	display: flex;
	justify-content: center;
}
.sec01-list li {
	margin: 0 2.92%;
	width: 25%;
}

.sec02 {
	padding: 80px 0 60px;
}

.sec02-list {
	margin-bottom: 70px;
}
.sec02-list li {
	display: flex;
	align-items: center;
	position: relative;
}
.sec02-list li::after {
	content: "";
	background: #d9d9d9;
	width: calc(100% - 174.5px);
	height: 1px;
	position: absolute;
	bottom: 0;
	right: 0;
}
.sec02-list li + li {
	margin-top: 25px;
}
.sec02-list .list-img {
	width: 174.5px;
	margin-right: 25px;
}
.sec02-list p {
	flex: 1;
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 26px;
	line-height: 1.8;
}
.sec02-list p .small {
	font-size: 14px;
}

.cashback-layout .l-ttl {
	display: table;
	border-bottom: 3px solid #fb8c00;
	color: #fb8c00;
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 36px;
	margin: 0 auto 30px;
}
.cashback-layout .wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
}
.cashback-layout .l-list {
	font-family: "Noto Sans JP";
	font-weight: bold;
	line-height: 1;
	margin-right: 35px;
}
.cashback-layout .l-list li {
	display: flex;
	align-items: center;
}
.cashback-layout .l-list li + li {
	margin-top: 15px;
}
.cashback-layout .l-list .label {
	display: inline-block;
	color: #fff;
	font-size: 24px;
	padding: 5px;
	margin-right: 30px;
}
.cashback-layout .l-list .price {
	display: inline-block;
	color: #fb8c00;
	font-size: 60px;
}
.cashback-layout .l-list .bg-blue {
	background: #80deea;
}
.cashback-layout .l-list .bg-orange {
	background: #ffa535;
}
.cashback-layout .l-list .small {
	font-size: 40px;
}
.cashback-layout .l-img {
	width: 202.5px;
}

.sec02 .cashback-layout {
	margin-bottom: 70px;
}

.box-sec02 {
	border: 1px solid #d9d9d9;
	margin: 0 75px 70px;
	padding: 30px;
}
.box-sec02 ul {
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 14px;
}
.box-sec02 ul li {
	text-indent: -2em;
	padding: 0 0 0 2em;
}
.box-sec02 ul li + li {
	margin-top: 5px;
}

.sec03 {
	background: #f5f8fa;
	padding: 45px 0 70px;
}

.sec03-ttl {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
}
.sec03-ttl i {
	display: inline-block;
	width: 179px;
	margin-right: 30px;
}
.sec03-ttl .txt {
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 35px;
	line-height: 1.5;
}
.sec03-ttl .small {
	font-size: 24px;
}

.sec03-img01 {
	margin-bottom: 20px;
}

.sec03-img02 {
	text-align: center;
}

.box-sec03 {
	display: table;
	margin: 0 auto;
	background: #fff;
	border-radius: 10px;
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 21px;
	padding: 15px 40px;
	margin-bottom: 30px;
}

.sec04 {
	background: #e0f7fa;
	padding: 75px 0;
}
.sec04 .t-ttl {
	margin-bottom: 50px;
}
.sec04 .cashback-layout {
	margin-bottom: 50px;
}

.sec04-layout {
	display: flex;
	margin-bottom: 50px;
}
.sec04-layout .l-img {
	margin-top: 30px;
	width: 397px;
}
.sec04-layout .l-desc {
	flex: 1;
}
.sec04-layout .l-list {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
.sec04-layout .l-list li {
	width: 30%;
}
.sec04-layout .l-box {
	background: #fff;
	border-radius: 10px;
	font-family: "Noto Sans JP";
	font-weight: bold;
	text-align: center;
	padding: 15px;
	margin-top: 20px;
}

.sec05 {
	padding: 80px 0;
}

.sec05-txt {
	text-align: center;
	margin-bottom: 50px;
}

.sec05-list {
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}
.sec05-list li {
	width: 31%;
}
.sec05-list .list-img {
	height: 312px;
	text-align: center;
	margin-bottom: 30px;
}
.sec05-list p {
	margin-top: auto;
}

.sec06 {
	background: #f5f8fa;
	padding: 80px 0;
}

.sec06-label {
	display: table;
	background: #fff;
	border-radius: 50px;
	color: #fb8c00;
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 21px;
	padding: 5px 40px;
	margin: 0 auto 40px;
}

.sec06-list {
	display: flex;
	justify-content: space-between;
	margin-bottom: 70px;
}
.sec06-list li {
	width: 31%;
}
.sec06-list li + li {
	position: relative;
}
.sec06-list li + li::before {
	content: "";
	border-style: solid;
	border-width: 9.5px 0 9.5px 11px;
	border-color: transparent transparent transparent #fb8c00;
	position: absolute;
	top: 50%;
	left: -28px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.list-faq > li {
	background: #fff;
	border-radius: 10px;
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 21px;
	transition: 0.5s;
}
.list-faq > li + li {
	margin-top: 10px;
}
.list-faq .ico {
	color: #fb8c00;
	font-size: 34px;
	font-family: "Noto Sans JP";
	font-weight: bold;
	text-align: center;
	line-height: 1;
	margin-right: 25px;
}
.list-faq .txt {
	flex: 1;
}
.list-faq .question {
	cursor: pointer;
	display: flex;
	padding: 30px 50px 30px 40px;
	line-height: 1.7;
	transition: 0.5s;
	position: relative;
}
.list-faq .question:hover {
	opacity: 0.5;
}
.list-faq .question::after {
	content: "";
	background: url(../images/ico_open.png) no-repeat center/contain;
	width: 22px;
	height: 22px;
	position: absolute;
	top: 40px;
	right: 30px;
	transition: 0.5s;
}
.list-faq .question.is-open::after {
	background: url(../images/ico_close.png) no-repeat center/contain;
}
.list-faq .answer {
	border-top: 1px dotted #ccc;
	display: flex;
	align-items: flex-start;
	margin: 0 40px;
	padding: 25px 0 30px;
}
.list-faq .answer .ico {
	color: #2fc6fc;
}
.list-faq .answer .txt {
	margin-top: 10px;
}

.sec07 {
	border-bottom: 1px solid #CCC;
	padding: 80px 0;
}
/*------------
Footer
--------------*/
.pagetop {
	position: fixed;
	bottom: 50px;
	right: 50px;
	z-index: 5;
}
.pagetop a {
	display: inline-block;
	transition: 0.5s;
	width: 70px;
}
.pagetop a:hover {
	opacity: 0.5;
}

.footer {
	padding: 70px 0;
}
.footer .container {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.f-logo {
	margin-bottom: 10px;
}

.f-links li {
	background: url(../images/ico_arrow.png) no-repeat top 7px left/6px 10px;
	padding-left: 15px;
	font-size: 14px;
	line-height: 1.8;
}
.f-links a:hover {
	text-decoration: underline;
}

.copyright {
	font-family: Roboto, Arial, Helvetica, Tahoma, Verdana;
}

/*-----------------------------------------------------------
Utility
-----------------------------------------------------------*/
.clearfix:after {
	clear: both;
	content: "";
	display: block;
}

.pc-only {
	display: block;
}

.sp-only {
	display: none;
}

.fade {
	transition: 0.5s;
}
.fade:hover {
	opacity: 0.5;
}

.fs11 {
	font-size: 11px;
}

.bold, strong {
	font-weight: bold;
}

.red {
	color: #F44336;
}

.orange {
	color: #ffa535;
}

.marker {
	background: linear-gradient(transparent 50%, #ffe7a5 50%);
}

.notice {
	font-size: 14px;
	text-indent: -1.5em;
	padding: 0 0 0 1.5em;
}

.mb0 {
	margin-bottom: 0 !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.mbS {
	margin-bottom: 15px !important;
}

.mbM {
	margin-bottom: 30px !important;
}

.mbL {
	margin-bottom: 60px !important;
}

.mbXL {
	margin-bottom: 80px !important;
}

.mt0 {
	margin-top: 0 !important;
}

.pb0 {
	padding-bottom: 0 !important;
}

.tac {
	text-align: center;
}

.tar {
	text-align: right;
}

.tal {
	text-align: left;
}

.sp-map iframe {
	vertical-align: bottom;
}

.video {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.video iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 800px) and (min-width: 0px) {
	.pc-only {
		display: none;
	}

	.sp-only {
		display: block;
	}

	.sp-tac {
		text-align: center !important;
	}

	.sp-tar {
		text-align: right !important;
	}

	.sp-tal {
		text-align: left !important;
	}

	.mbL {
		margin-bottom: 30px !important;
	}

	.mbXL {
		margin-bottom: 50px !important;
	}

	.sp-map {
		position: relative;
		padding-bottom: 56.25%;
		padding-top: 30px;
		height: 0;
		overflow: hidden;
	}

	.sp-map iframe,
	.sp-map object,
	.sp-map embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}
@media screen and (max-width: 800px) and (min-width: 0px) {
	/*-----------------------------------------------------------
	Responsive
	-----------------------------------------------------------*/
	/*-------------
	Body
	-------------*/
	body {
		font-size: 14px;
		line-height: 1.8;
	}

	/*------------
	Header
	--------------*/
	.header {
		border-bottom: 1px solid #ccc;
		background: #fff;
		padding: 15px 5vw;
		position: static;
		text-align: center;
	}

	.h-logo {
		max-width: 200px;
		width: 100%;
		margin: 0 auto;
	}

	/*------------
	Hero
	--------------*/
	.hero {
		background: url(../images/hero_bg_sp.jpg) no-repeat center/cover;
		height: auto;
		padding: 50px 5vw;
	}

	.hero-contents {
		margin: 0;
	}

	/*------------
	Top contents
	--------------*/
	.t-ttl {
		font-size: 25px;
		line-height: 1.7;
		margin-bottom: 30px;
	}

	.sec01 {
		padding: 30px 0 50px;
	}

	.sec01-ttl {
		font-size: 25px;
		padding: 40px 0 0;
		margin: 0 auto 30px;
		position: relative;
	}
	.sec01-ttl::before, .sec01-ttl::after {
		top: 0;
		width: 42px;
		height: 45px;
	}
	.sec01-ttl::before {
		left: -30px;
	}
	.sec01-ttl::after {
		right: -30px;
	}

	.sec01-list {
		flex-wrap: wrap;
	}
	.sec01-list li {
		margin: 0 2% 2%;
		width: 46%;
	}

	.sec02 {
		padding: 70px 0 50px;
	}

	.sec02-list {
		margin-bottom: 50px;
	}
	.sec02-list li {
		padding-bottom: 30px;
	}
	.sec02-list li::after {
		width: 100%;
	}
	.sec02-list li + li {
		margin-top: 30px;
	}
	.sec02-list .list-img {
		width: 100px;
		margin: 0 15px 0 0;
	}
	.sec02-list p {
		font-size: 14px;
		line-height: 1.5;
	}
	.sec02-list p .small {
		font-size: 10px;
	}

	.cashback-layout .l-ttl {
		font-size: 30px;
	}
	.cashback-layout .wrapper {
		display: block;
	}
	.cashback-layout .l-list {
		margin: 0 0 30px;
	}
	.cashback-layout .l-list li {
		display: block;
		text-align: center;
	}
	.cashback-layout .l-list li + li {
		margin-top: 30px;
	}
	.cashback-layout .l-list .label {
		display: table;
		font-size: 20px;
		text-align: center;
		padding: 5px 20px;
		margin: 0 auto 15px;
	}
	.cashback-layout .l-list .price {
		font-size: 50px;
	}
	.cashback-layout .l-list .small {
		font-size: 30px;
		margin-left: 10px;
	}
	.cashback-layout .l-img {
		width: 180px;
		margin: 0 auto;
	}

	.sec02 .cashback-layout {
		margin-bottom: 50px;
	}

	.box-sec02 {
		margin: 0 0 30px;
		padding: 20px;
	}
	.box-sec02 ul {
		font-size: 10px;
	}
	.sec03 {
		padding: 50px 0;
	}

	.sec03-ttl {
		margin-bottom: 30px;
	}
	.sec03-ttl i {
		display: block;
		width: 150px;
		margin: 0 20px 0 0;
	}
	.sec03-ttl .txt {
		font-size: 22px;
		line-height: 1.3;
	}
	.sec03-ttl .small {
		font-size: 15px;
	}

	.box-sec03 {
		display: block;
		font-size: 14px;
		padding: 15px;
	}

	.sec04 {
		padding: 50px 0;
	}
	.sec04 .t-ttl {
		margin-bottom: 30px;
	}
	.sec04 .cashback-layout {
		margin-bottom: 30px;
	}

	.sec04-layout {
		display: block;
		margin-bottom: 50px;
	}
	.sec04-layout .l-img {
		margin: 0 0 30px;
		width: 100%;
	}
	.sec04-layout .l-list {
		display: flex;
		justify-content: space-between;
		margin-bottom: 20px;
	}
	.sec04-layout .l-list li {
		width: 30%;
	}
	.sec04-layout .l-box {
		text-align: left;
		font-size: 14px;
	}
	.sec04-layout .l-notice{
		font-size: 10px;
	}
	.sec05 {
		padding: 50px 0;
	}

	.sec05-txt {
		text-align: left;
		margin-bottom: 30px;
	}

	.sec05-list {
		display: block;
		margin-bottom: 30px;
	}
	.sec05-list li {
		width: 100%;
	}
	.sec05-list li + li {
		margin-top: 35px;
	}
	.sec05-list .list-img {
		height: auto;
		max-width: 65vw;
		margin: 0 auto 15px;
	}

	.sec06 {
		padding: 50px 0;
	}

	.sec06-label {
		font-size: 14px;
		text-align: center;
		padding: 5px 20px;
		margin: 0 auto 30px;
	}

	.sec06-list {
		display: block;
		margin-bottom: 50px;
	}
	.sec06-list li {
		width: 100%;
	}
	.sec06-list li + li {
		margin-top: 50px;
	}
	.sec06-list li + li::before {
		top: -25px;
		left: 50%;
		-webkit-transform: translate(-50%, 0) rotate(90deg);
		transform: translate(-50%, 0) rotate(90deg);
	}

	.list-faq > li {
		font-size: 14px;
	}
	.list-faq .ico {
		font-size: 25px;
		margin-right: 25px;
	}
	.list-faq .question {
		display: flex;
		padding: 25px 50px 25px 25px;
	}
	.list-faq .question::after {
		width: 18px;
		height: 18px;
		top: 30px;
		right: 20px;
	}
	.list-faq .answer {
		margin: 0 25px;
	}

	.sec07 {
		padding: 50px 0;
	}
	/*------------
	Footer
	--------------*/
	.pagetop {
		bottom: 25px;
		right: 25px;
	}
	.pagetop a {
		width: 50px;
	}

	.footer {
		padding: 50px 0;
	}
	.footer .container {
		display: block;
	}

	.f-logo {
		max-width: 250px;
		margin: 0 auto 15px;
	}

	.f-links {
		margin-bottom: 50px;
	}
	.f-links li{
		background: url(../images/ico_arrow.png) no-repeat top 6px left/4px 8px;
		font-size: 12px;
		padding-left: 10px;
	}
	.copyright {
		text-align: center;
	}
}

/*------------
お問い合わせ
--------------*/
.contact-form table {
	border-collapse: collapse;
	margin: 0 0 50px;
	width: 100%;
}

.contact-form table tr {
	border-bottom: 1px dashed #ccc;
}

.contact-form table th {
	color: #757575;
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 22px;
	padding: 20px 40px 20px 0;
	vertical-align: middle;
	text-align: left;
}

.contact-form table td {
	padding: 20px 0;
}

.contact-form .hissu {
	display: inline-block;
	background: #E57373;
	border-radius: 3px;
	color: #fff;
	font-size: 15px;
	line-height: 1;
	padding: 7px 17px;
	margin-left: 15px;
	vertical-align: 1px;
}

.contact-form .hissu.kakunin {
	background: #94BA67;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form input[type="number"],
.contact-form select,
.contact-form textarea {
	border: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background: #F1F1F1;
	border-radius: 4px;
	font-size: 16px;
	padding: 14px 10px;
	width: 100%;
}

.contact-form select::-ms-expand {
	display: none;
}

.contact-form textarea {
	height: 200px;
}

.contact-form input[type="file"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 100%;
}

.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form input[type="tel"]:focus,
.contact-form input[type="number"]:focus,
.contact-form textarea:focus,
.contact-form select:focus {
	outline: none;
	box-shadow: 0 0 3px #388bcf;
}

.contact-form .select-wrap {
	position: relative;
}

.contact-form .select-wrap::after {
	content: "";
	border-style: solid;
	border-width: 8px 5px 0 5px;
	border-color: #333 transparent transparent transparent;
	pointer-events: none;
	position: absolute;
	right: 15px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 10;
}

.contact-form .mwform-radio-field,
.contact-form .mwform-checkbox-field {
	display: inline-block;
	font-size: 15px;
	margin-right: 15px;
	margin-left: 0 !important;
}

.contact-form .mwform-radio-field input[type="radio"] {
	display: none;
}

.contact-form .mwform-radio-field label {
	display: inline-block;
	border-radius: 2px;
	position: relative;
	cursor: pointer;
	padding: 0 0 0 30px;
	line-height: 1;
}

.contact-form .mwform-radio-field label:before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: #fff;
	border: 2px solid #ddd;
	border-radius: 50%;
	box-sizing: border-box;
}

.contact-form .mwform-radio-field .mwform-radio-field-text:after {
	content: "";
	border-radius: 50%;
	background: #388bcf;
	position: absolute;
	top: 50%;
	left: 5px;
	width: 10px;
	height: 10px;
	margin-top: -5px;
	transition: .4s;
	-webkit-transform: scale(0);
	transform: scale(0);
}

.contact-form .mwform-radio-field input[type="radio"]:checked + .mwform-radio-field-text:after {
	-webkit-transform: scale(1);
	transform: scale(1);
}

.contact-form .mwform-checkbox-field input[type="checkbox"] {
	display: none;
}

.contact-form .mwform-checkbox-field label {
	display: inline-block;
	cursor: pointer;
	line-height: 1;
	padding: 0 0 0 30px;
	position: relative;
}

.contact-form .mwform-checkbox-field label:before {
	content: "";
	background: #fff;
	border: 2px solid #ddd;
	border-radius: 3px;
	position: absolute;
	top: 50%;
	left: 0;
	width: 20px;
	height: 20px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	box-sizing: border-box;
}

.contact-form .mwform-checkbox-field .mwform-checkbox-field-text:after {
	content: "";
	border-bottom: 3px solid #388bcf;
	border-right: 3px solid #388bcf;
	width: 7px;
	height: 12px;
	position: absolute;
	top: 1px;
	left: 7px;
	transition: .3s;
	-webkit-transform: scale(0) rotate(45deg);
	transform: scale(0) rotate(45deg);
}

.contact-form .mwform-checkbox-field input[type="checkbox"]:checked + .mwform-checkbox-field-text:after {
	-webkit-transform: scale(1) rotate(45deg);
	transform: scale(1) rotate(45deg);
}

.contact-form .mwform-tel-field {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.contact-form .mwform-tel-field input[type="text"] {
	width: 29%;
}

.contact-form .mwform-tel-field input[type="text"]:nth-of-type(1) {
	margin-right: 10px;
}

.contact-form .mwform-tel-field input[type="text"]:nth-of-type(2) {
	margin: 0 10px;
}

.contact-form .mwform-tel-field input[type="text"]:nth-of-type(3) {
	margin-left: 10px;
}

.contact-form .mwform-zip-field input[type="text"] {
	width: 15%;
	min-width: 80px;
	margin: 0 10px;
}

.contact-form .preferred-date {
	overflow: hidden;
}

.contact-form .preferred-date .date {
	width: 45%;
	float: left;
}

.contact-form .preferred-date .time {
	display: flex;
	align-items: center;
	float: right;
	width: 50%;
}

.contact-form .preferred-date .time select {
	width: 80px;
}

.contact-form .preferred-date .time .hour {
	margin: 0 10px;
}

.contact-form .preferred-date .time .minute {
	margin: 0 0 0 10px;
}

.contact-form .zip-area input {
	display: inline-block;
	width: 100px;
}

.contact-form .birthday {
	display: flex;
	align-items: center;
}

.contact-form .birthday select {
	width: 100px;
}

.contact-form .birthday .year {
	margin: 0 10px;
}

.contact-form .birthday .month {
	margin: 0 10px;
}

.contact-form .birthday .day {
	margin: 0 0 0 10px;
}

.contact-form .age [type="text"] {
	margin: 0 10px 0 0;
	width: 100px;
}

.contact-form .submit-btn {
	display: flex;
	justify-content: center;
}

.contact-form .submit-btn [type="submit"] {
	-webkit-appearance: none;
	background: #419CAF;
	border: none;
	border-radius: 0;
	outline: none;
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 16px;
	letter-spacing: .35em;
	color: #fff;
	cursor: pointer;
	font-size: 16px;
	padding: 21px;
	text-align: center;
	transition: .3s;
	width: 220px;
}

.contact-form .submit-btn [type="submit"]:hover {
	opacity: .7;
}

.contact-form .submit-btn [type="submit"].back-btn {
	background: #999;
	margin-right: 50px;
}

.alert-error {
	color: #f00;
}

/*お問い合わせ SP*/
@media screen and (max-width: 800px) and (min-width: 0px) {

	.contact-form table {
		margin: 0 0 30px;
	}
	.contact-form table tr {
		border-bottom: 1px dashed #CCC;
	}
	.contact-form table th, .contact-form table td {
		display: block;
	}
	.contact-form table th {
		font-size: 16px;
		padding: 15px 0 10px;
	}
	.contact-form .hissu {
		font-size: 12px;
		padding: 5px 10px;
	}
	.contact-form table td {
		padding: 0 0 15px;
	}
	.contact-form .preferred-date {
		overflow: hidden;
	}
	.contact-form .preferred-date .date {
		width: 100%;
		float: none;
		margin: 0 0 10px;
	}
	.contact-form .preferred-date .time {
		width: 100%;
	}
	.contact-form .birthday select {
		width: auto;
		padding: 15px 30px 15px 15px;
	}
	.contact-form .birthday .year {
		margin: 0 5px;
	}
	.contact-form .birthday .month {
		margin: 0 5px;
	}
	.contact-form .birthday .day {
		margin: 0 0 0 5px;
	}
	.contact-form .submit-btn [type="submit"] {
		font-size: 15px;
		letter-spacing: .2em;
		padding: 15px;
		width: 130px;
	}
	.contact-form .submit-btn [type="submit"].back-btn {
		margin-right: 20px;
	}
}