@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
	margin: 0;
	padding: 0;
	font-size: 1em;
	border: 0;
	outline: 0;
	background: transparent;
}

html {
	font-size: 62.5%;
}

@font-face {
	font-family: 'mplus';
	font-style: normal;
	font-weight: 700;
	src: url('../font/mplus-1p-bold.eot');
	/* IE9 Compat Modes */
	src: url('../font/mplus-1p-bold%EF%B9%96.eot#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('../font/mplus-1p-bold.woff') format('woff'),
		/* Modern Browsers */
		url('../font/mplus-1p-bold.ttf') format('truetype');
	/* Safari, Android, iOS */
}

body,
table,
input,
textarea,
select,
option {
	font-family: 'mplus';
	font-display: swap;
	font-weight: 700;
	font-style: normal;
}

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

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	max-width: 100%;
	vertical-align: top;
}

img.sp {
	width: 45%;
}

a,
a:link {
	color: #606060;
	text-decoration: none;
	-webkit-transition: all ease 0.3s;
	transition: all ease 0.3s;
}

a:visited {
	color: #606060;
}

a:hover {
	color: #606060;
	opacity: 0.7;
}

a:active {
	color: #606060;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1200px;
	color: #606060;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	background-color: #fff;
}

#container {
	padding-top: 180px;
	text-align: left;
	overflow: hidden;
}

@media all and (min-width: 768px) {
	.sp {
		display: none !important;
	}
}

@media all and (max-width: 767px) {
	body {
		min-width: inherit;
		font-size: 1.2rem;
	}

	a:hover,
	a:hover img {
		opacity: 1 !important;
	}

	.pc {
		display: none !important;
	}

	#container {
		padding-top: 64px;
	}
}

.itemb {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}

p.contctnum {
	font-size: 33px;
	line-height: 0.9;
	background: white;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	color: #c9c9c9;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 3px;
}

.table_content {
	padding: 0 0 20px;
}

@media (max-width: 767px) {
	div .c-form-step__step-items__item-box {
		font-size: 2vw;
		height: 12.3vw;
		margin: 0.4%;
	}

	div .c-form-step__step-items__item-box p {
		line-height: 1.15;
	}

	.itemb {
		font-size: 1.2em;
	}
}

.form-second-content {
	display: block;
	margin-top: 20px;
}

.mc_img {
	width: 100%;
	max-width: 900px !important;
	margin: 0 auto;
}

.must {
	background: #ff3200;
	color: #fff;
	font-size: 1.4rem;
	padding: 5px 7px;
	font-weight: bold;
	border-radius: 3px;
}

.any {
	background: #707070;
	color: #fff;
	font-size: 1.4rem;
	padding: 5px 7px;
	font-weight: bold;
	border-radius: 3px;
}

.form_step_fis {
	width: 100%;
	padding: 10px 10px 10px 80px;
}

.form_step_las {
	padding: 10px 80px 10px 10px;
	width: 100%;
}

.first label {
	padding: 20px 20px;
	border-radius: 10px;
	color: #fff;
	width: auto;
}

.step1_btn,
.step2_btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.step1_btn label,
.step2_btn label {
	padding: 20px 20px;
	border-radius: 10px;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
}

.last label {
	padding: 20px 20px;
	border-radius: 10px;
	color: #fff;
	width: auto;
}

label {
	background: #dcedff;
	color: #000 !important;
}

.wid01 {
	width: 28%;
}

.btn_block>p {
	display: flex;
	justify-content: center;
	margin-top: 0;
}

.icon {
	width: 35px;
	text-align: center;
	margin: auto;
}

.fsS {
	font-size: 0.8em;
	font-weight: nomal;
}

.fsL {
	font-size: 1.5em;
	text-align: left;
	max-width: 775px;
	margin: 0 auto 20px;
	display: block;
}

#container {
	padding-top: 0px;
	text-align: left;
	background: #e5e7eb;
}

@media (min-width: 1200px) {
	#container {
		overflow: hidden;
	}
}

header {
	display: none;
}

#gFooter {
	padding: 0;
}

#gFooter .copyright {
	padding: 12px 5px 11px;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 300;
	letter-spacing: 1px;
	text-align: center;
	background-color: #3c3c41;
	font-family: 'Noto Sans JP', sans-serif;
	font-display: swap;
}

table {
	margin: 1% auto;
	width: 70%;
}

.add_table {
	max-width: 780px;
}

.add_table th,
.add_table td {
	width: 100%;
	display: block;
	text-align: left;
}

.add_table2 {
	max-width: 780px !important;
}

.add_table2 td {
	text-align: left;
	padding-top: 10px;
}

.add_table3 {
	max-width: 775px;
}

.table-title {
	width: 100%;
	max-width: 780px;
	margin: 0 auto;
	text-align: left;
	font-size: 2.2rem;
	display: block;
}

.content {
	text-align: center;
	color: #462d18;
	margin: 40px auto 0%;
	padding-bottom: 6%;
	max-width: 1200px;
	background: #fff;
	border-radius: 10px;
}

/*-----------------------
ステップ式フォーム
------------------------*/

/* ボタンが非アクティブ（disabled）の時 */
.btn__link.disabled,
.btn__link:disabled {
	opacity: 0.2;
}

/* ナビゲーションアイテム */
.c-form-step__step-items {
	display: flex;
	padding: 0;
	justify-content: space-between;
	max-width: 920px;
	margin: 0 auto 40px;
	background: #0282ff;
	align-items: center;
}

.c-form-step__step-items::after {
	content: none !important;
}

/* ステップフォームの内容 */
label {
	display: flex;
	margin-bottom: 1.5rem;
	align-items: center;
	justify-content: center;
}

.wpcf7-list-item input[type='radio'] {
	display: none;
}

input:checked+span {
	opacity: 0.8;
	color: #000;
	padding: 3px 0;
}

input[type='text'],
.wpcf7 input[type='url'],
.wpcf7 input[type='email'],
.wpcf7 input[type='tel'] {
	height: 39px;
	border-radius: 5px;
	border: solid 1px #462d18;
	margin-top: 5px;
	font-size: 1.8rem;
	width: 100%;
}

.c-form-step__step-items__item-box {
	position: relative;
	width: 100%;
	height: 84px;
	text-align: center;
	color: #fff;
	background: #cbcbcb;
	margin: 1%;
	font-size: 17px;
	border-radius: 10px;
}

.c-form-step__step-items__item-box.current {
	transition: 0.8s;
	background-color: #fff;
	color: #0282ff;
}

.c-form-step__step-items__item-box.current p.contctnum {
	transition: 0.8s;
	background-color: #0282ff;
	color: white;
}

.c-form-step__wrapper-box {
	display: none;
}

.c-form-step__wrapper-box.current {
	display: block;
}

/* 郵便番号 */
.post_cord {
	margin-top: 0;
	border-radius: 10px;
	max-width: 500px;
}

.post_cord_btn {
	font-size: 0.8em;
	background: #c5c5c5;
	padding: 10px 20px;
	border-radius: 52px;
	display: inline-block;
	margin-bottom: 6%;
}

.must_icon {
	font-size: 0.9em;
	background: #f07609;
	padding: 0.5% 0.8%;
	margin-right: 5px;
	border-radius: 5px;
	color: #fff;
	letter-spacing: 0.12em;
}

/* ボタン */
.c-form-step .btn__link-previous {
	border: 1px solid #212529;
	border-radius: 30px;
	box-shadow: #4e5862 0px 1px 0px;
	font-size: 1.4rem;
	padding: 2px 12px 2px 20px;
}

.c-form-step .btn__link-previous::before {
	left: 10px;
	right: auto;
	border-top: 0;
	border-right: 0;
	border-left: 1px solid;
	border-bottom: 1px solid;
}

.c-form-step .btn__link-primary:hover {
	opacity: 0.7;
}

.step1_btn .wpcf7-list-item label,
.step2_btn .wpcf7-list-item label {
	height: 186px;
	align-items: baseline;
	font-size: 1.2em;
}

.wpcf7-list-item input[type='checkbox'] {
	display: none;
	position: relative;
	top: 0;
	left: 0;
	border: solid 2px transparent;
	background: rgba(0, 0, 0, 0.15);
	border-radius: 50%;
	transition: all 0.15s linear;
	margin-right: 16px;
}

/* step1*/
.step1_btn .wpcf7-list-item:nth-child(1) span {
	background-image: url(../img/icon1-1.png);
	background-position: top 0 left 50%;
	background-repeat: no-repeat;
	padding-top: 61%;
	background-size: contain;
	width: 70%;
}

.step1_btn .wpcf7-list-item:nth-child(2) span {
	background-image: url(../img/icon1-2.png);
	background-position: top 0 left 50%;
	background-repeat: no-repeat;
	padding-top: 61%;
	background-size: contain;
	width: 70%;
}

/* step2*/
.step2_btn .wpcf7-list-item:nth-child(1) span {
	background-image: url(../img/icon2-1.png);
	background-position: top 0 left 50%;
	background-repeat: no-repeat;
	padding-top: 61%;
	background-size: contain;
	width: 70%;
}

.step2_btn .wpcf7-list-item:nth-child(2) span {
	background-image: url(../img/icon2-2.png);
	background-position: top 0 left 50%;
	background-repeat: no-repeat;
	padding-top: 61%;
	background-size: contain;
	width: 70%;
}

@media (max-width: 767px) {

	.step1_btn .wpcf7-list-item span,
	.step2_btn .wpcf7-list-item span {
		padding-top: 91% !important;
		width: 100% !important;
	}

	.step1_btn label,
	.step2_btn label {
		padding: 10px 6px 0px;
	}

	.form_step_fis {
		width: 102%;
		padding: 3% 0.2% 2% 2%;
		margin-right: 0.5%;
	}

	.form_step_las {
		padding: 2% 2% 2% 1%;
		width: 103%;
	}

	.c-form-step__step-items__item-box p {
		line-height: 2.35;
	}

	.must,
	.any {
		font-size: 1.2rem;
		padding: 3px 7px;
	}

	.fsL {
		font-size: 1.3em;
		margin: 20px 3% 10px;
	}

	input[type='text'],
	.wpcf7 input[type='url'],
	.wpcf7 input[type='email'],
	.wpcf7 input[type='tel'] {
		width: 100%;
		box-sizing: border-box;
	}

	.c-form-step__wrapper-box {
		padding: 0 3%;
	}
}

.first label {
	padding: 20px 20px;
	border-radius: 10px;
	color: #fff;
	width: auto;
}

.step1_btn label,
.step2_btn label {
	padding: 25px 10px 10px;
	border-radius: 10px;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
}

.wpcf7-list-item input[type='checkbox']::before {
	content: '';
	position: absolute;
	display: block;
	box-sizing: border-box;
	width: 26px;
	height: 25px;
	margin-top: -10px;
	left: -11px;
	top: 3px;
	border: 2px solid;
	border-color: #717171;
	background-color: #fff;
	border-radius: 50%;
}

.wpcf7-list-item input[type='checkbox']:checked::after {
	content: '';
	position: absolute;
	display: block;
	box-sizing: border-box;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	top: 5.5px;
	left: -7px;
	border-radius: 50%;
	background: #f07609;
}

*/

/* Q1「次へ進む」ボタンを消す記述 */
.btn_none {
	background: #fff !important;
	box-shadow: none !important;
}

.step1_btn .wpcf7-list-item,
.step2_btn .wpcf7-list-item {
	display: inline-block;
	margin: 0 7px;
	width: 30%;
	max-width: 400px;
}

.c-form-step .btn_block .btn__link-primary2 {
	padding: 10px;
	border-radius: 10px;
	overflow: hidden;
	line-height: 1;
	margin: 1rem 1rem 0 0 !important;
	transition: 0.15s;
	color: #666666;
	font-weight: bold;
	border: none;
	height: 50px;
	font-size: 1.4rem;
	max-width: 100%;
	background: none;
}

@media (max-width: 767px) {

	.step1_btn .wpcf7-list-item,
	.step2_btn .wpcf7-list-item {
		display: inline-block;
		margin: 0 2px;
		width: 46%;
	}

	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.content {
		margin: 0 0% 4%;
		width: auto;
		padding: 0;
		border-radius: 0;
	}

	.c-form-step__step-items {
		display: flex;
		padding: 0;
		justify-content: space-between;
		max-width: 900px;
		margin: auto auto 5%;
		width: 100%;
	}

	.c-form-step .btn_block .btn__link-primary {
		padding: 14px 27px 10px;
		border-radius: 10px;
		overflow: hidden;
		line-height: 1;
		margin: 1rem 0 0 !important;
		transition: 0.15s;
		background: #0064ff;
		color: #fff;
		font-weight: bold;
		border: none;
		box-shadow: rgb(12 69 30) 0px 4px 0px;
		height: 50px;
		font-size: 1.8rem;
		max-width: 100%;
		width: 65%;
	}

	div p.contctnum {
		line-height: 1.2;
		font-size: 4vw;
		width: 6vw;
		height: 6vw;
	}

	.c-form-step__step-items__item-box {
		position: relative;
		width: 100%;
		height: 83px;
		text-align: center;
		color: #fff;
		background: #c9c9c9;
		margin-bottom: 1%;
		font-size: 3.5vw;
		border-radius: 5px;
	}

	.wpcf7-list-item input[type='checkbox'] {
		margin-right: 20px;
	}

	span.wpcf7-list-item-label span.wpcf7-form-control.wpcf7-radio.step1_btn,
	span.wpcf7-list-item-label span.wpcf7-form-control.wpcf7-radio.step2_btn {
		display: flex;
	}

	.btn_block {
		padding: 0 3% 7%;
	}

	.step1_btn label,
	.step2_btn label {
		padding: 25px 7px 0px;
	}

	.step1_btn .wpcf7-list-item label,
	.step2_btn .wpcf7-list-item label {
		height: 48vw;
		align-items: baseline;
		font-size: 1.2em !important;
	}
}

@media (min-width: 767px) {
	.sp {
		display: none;
	}

	.pc {
		display: block;
	}

	.must_icon {
		padding: 0.2% 0.6%;
		font-size: 0.8em;
	}

	.c-form-step .btn_block .btn__link-primary2 {
		height: 90px;
		font-size: 2rem;
	}
}

.birth p {
	display: flex;
	/* justify-content: space-between; */
	justify-content: flex-start;
	align-items: center;
}

.birth p span:nth-of-type(1) {
	/* width: 55%; */
	text-align: left;
	width: 210px;
}

.birth p span:nth-of-type(2),
.birth p span:nth-of-type(3) {
	text-align: left;
	width: 27%;
}

select[name='field_4932170_y'],
select[name='field_4932170_m'],
select[name='field_4932170_d'] {
	width: 100%;
	box-sizing: border-box;
}

@media (max-width: 768px) {
	.birth p span:nth-of-type(1) {
		/* width: 55%; */
		text-align: left;
		width: 35%;
		padding-right: 10px;
	}

	.birth p span:nth-of-type(2),
	.birth p span:nth-of-type(3) {
		text-align: left;
		width: 25%;
		padding-right: 10px;
	}
}

@media (max-width: 350px) {

	.step1_btn .wpcf7-list-item,
	.step2_btn .wpcf7-list-item {
		width: 46%;
	}

	.first-c-form-step span.wpcf7-list-item-label {
		font-size: 3vw !important;
	}

	.step1_btn .wpcf7-list-item label,
	.step2_btn .wpcf7-list-item label {
		height: 48vw;
	}
}

.btn_relative {
	position: relative;
}

select {
	height: 42px;
	border-radius: 5px;
	border: solid 1px #462d18;
	margin-top: 5px;
	font-size: 1.7rem;
	width: 200px;
	box-sizing: border-box;
	background: #fff;
	color: #000;
}

/* モバイル対応 */
@media not all and (min-width: 600px) {

	.step1_btn .wpcf7-list-item,
	.step2_btn .wpcf7-list-item {
		display: inline-block;
		margin: 0 5px;
	}

	table {
		margin: 1% auto 2%;
		width: 97%;
	}

	.first-c-form-step table {
		width: 100% !important;
	}

	.add_table,
	.add_table2,
	.add_table3 {
		width: 100%;
	}

	.table-title {
		width: 100%;
		font-size: 1.6rem;
		display: block;
	}

	.step2_txt {
		width: 98%;
	}

	.wid01 {
		width: 73%;
	}
}

.last_btn {
	position: relative;
	width: 65%;
}

.last-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 45%;
	margin: auto;
}

.last-btn>p {
	width: 33% !important;
}

@media (max-width: 767px) {
	input[name='address'] {
		width: 100%;
		box-sizing: border-box;
	}

	select {
		height: 39px;
		border-radius: 5px;
		border: solid 1px #462d18;
		margin-top: 5px;
		margin-bottom: 10px;
		font-size: 1.7rem;
		width: 100%;
		box-sizing: border-box;
	}

	.last_btn .step5 {
		width: 100% !important;
	}

	.last-btn>p button {
		width: 100% !important;
	}

	.last-btn {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		width: 90%;
	}

	.last_btn .step5 {
		width: 100% !important;
		margin: 0.3rem 0 0 !important;
	}
}

@media (max-width: 600px) {
	#pref {
		width: 92px;
		margin: 5px 0 0;
	}
}

.wpcf7-response-output {
	display: none;
}

.btn_block .btn__link-primary {
	padding: 20px 100px;
	border-radius: 10px;
	overflow: hidden;
	line-height: 1;
	margin: 2rem 1rem 0 !important;
	transition: 0.15s;
	background: #0064ff;
	color: #fff;
	font-weight: bold;
	border: none;
	box-shadow: rgb(12 69 30) 0px 4px 0px;
	height: 69px;
	font-size: 2.4rem;
}

@media (max-width: 767px) {
	.table_content {
		padding: 0 3% 5%;
	}
}

.bbg {
	position: fixed;
	z-index: 1001;
	width: 100vw;
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	bottom: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.5);
	display: block;
}

img.sp {
	width: 100%;
}

.with-border {
	position: relative;
	background: #a6d3ff;
}

.with-border span {
	opacity: 1 !important;
}

input[type='submit'] {
	appearance: none;
	-webkit-appearance: none;
}

.privacy {
	font-size: 1.5rem;
	text-align: left;
	width: 92%;
	margin: auto;
}

.privacy p {
	margin: 5px 0 10px;
}

.privacy label {
	border: 1px solid green;
	border-radius: 5px;
	padding: 6px;
	background: none;
	font-weight: normal;
	display: block;
	width: 100%;
	font-family: 'Noto Sans', sans-serif;
}

.privacy label input {
	margin-right: 5px;
}

.privacy a {
	color: #0064ff;
}

@media (min-width: 768px) {
	.privacy {
		width: 770px;
		font-size: 2rem;
	}
}

.address_image {
	width: 80%;
	margin: auto;
}

@media (min-width: 768px) {
	.address_image {
		width: 600px;
	}
}