@charset "UTF-8";
/******************** CSS RESET ********************/
*, *:before, *:after {
	box-sizing: border-box;
}
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, 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, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body{line-height: 1;}
ol, ul{list-style: none;}
img{
	max-width: 100%;
	vertical-align: bottom;
}
hr{
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}
blockquote, q{
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after{
	content: '';
	content: none;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
td{
	vertical-align:middle;
}
address{
	font-style: normal;
}
input:not([type="radio"]):not([type="checkbox"]), button, textarea{
	margin: 0;
	padding: 4px 10px;
	width: 100%;
	min-height: 32px;
	background: #fff;
	border: 1px solid #aaa;
	border-radius: 4px;
}
select{
	margin: 0;
	padding: 4px;
	min-height: 32px;
	width: 100%;
	color: #333;
	background: #fff;
	border: 1px solid #aaa;
	border-radius: 4px;
	cursor: pointer;
}
input{
	vertical-align: middle;
}
input[type="submit"]{
	cursor: pointer;
}


/******************** 共通設定 ********************/
:root{
	--main_color: #29A5ED;
	--sub_color: #BCE6FF;
	--btn_color: #087ABC;
	--bt_hover: #045d91;
	--table_hover: #ddf2ff;
}
body {
	font-family: arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #333;
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
}
/* リンク */
a{ color:#1a6a9d; }
a:active{ color:#164799; }
a:hover{ text-decoration: none; color:#ff8a00; }
a:focus{transition: none;}
a, a *, a::before, a::after{transition: 0.3s;}
.anchor{
	display:block;
	margin: 0;
	padding: 0;
	border: 0;
	width: 0;
	height: 0;
}
h2{ font-size:120%; }
h3{ font-size:100%; }

/* header */
header h1{
	font-size: 250%;
	display: flex;
	gap: 0 10px;
	align-items: center;
	justify-content: center;
}
header h1 span{
	display: flex;
	flex-wrap: wrap;
	gap: 0 8px;
}
/* footer */
footer{
	padding: 30px 0 20px;
	color: #555;
	font-size: 87.5%;
	text-align: center;
	text-shadow: 1px 1px 1px #fff, -1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff, 1px 0px 1px #fff, 0px 1px 1px #fff, -1px 0px 1px #fff, 0px -1px 1px #fff;
}
/*select*/
.select{
	background-color: #fff;
	border-radius: 4px;
	position: relative;
}
.select::before{
	content: '';
	position: absolute;
	top: 11px;
	right: 10px;
	width: 7px;
	height: 7px;
	border-right: 1px solid #333;
	border-bottom: 1px solid #333;
	transform: rotate(45deg);
	pointer-events: none;
}
.select select{
	padding: 4px 8px;
	background: none;
	-webkit-appearance: none;
}
/*btn*/
.btn button{
	padding: 10px 12px;
	width: 160px;
	color: #fff;
	font-size: 125%;
	background-color: var(--btn_color);
	border: 0;
	transition: .3s;
}
.btn button:hover{
	background-color: var(--bt_hover);
}
.btn button.reset{
	color: #333;
	background-color: #bbb;
}
.btn button.reset:hover{
	background-color: #aaa;
}
@media only screen and (max-width: 768px) {
	header h1{
		font-size: 150%;
		gap: 0 10px;
	}
	header h1 img{
		width: 30px;
	}
	footer{
		padding-top: 0;
	}
	.btn button{
		font-size: 100%;
	}
}
@media only screen and (max-width: 480px) {
	header h1{
		font-size: 112.5%;
		gap: 0 8px;
	}
	header h1 img{
		width: 22px;
	}
}

/***** 01_TOP *****/
body.top{
	padding: 50px 12px 0;
	width: 100%;
	min-height: 100vh;
	background: url("../img/main_bgi.jpg") no-repeat top center / cover;
}
.top .inner{
	margin: 0 auto 20px;
	padding: 50px;
	width: 100%;
	max-width: 1000px;
	border-radius: 20px;
	background-color: rgba(255, 255, 255, 0.9);
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}
.top .inner main{
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}
.top .check_list{
	width: calc(100% - 340px);
	max-width: 700px;
}
.top .check_list li{
	margin-top: 18px;
	padding-left: 18px;
	position: relative;
}
.top .check_list li::before{
	content: '';
	position: absolute;
	top: 5px;
	left: 0;
	width: 12px;
	height: 12px;
	background-color: var(--main_color);
	border-radius: 50%;
}
.top .contact_tel{
	width: 300px;
}
.top .contact_tel h2{
	margin: 24px 0 10px;
	padding: 4px 10px 3px;
	color: #fff;
	font-size: 112.5%;
	background-color: var(--btn_color);
}
.top .contact_tel h2:first-child{
	margin-top: 18px;
}
/*
.top .contact_tel table{
	width: 100%;
}
.top .contact_tel table caption{
	position: absolute;
	z-index: -1;
	top: -10%;
}
.top .contact_tel table th{
	padding: 0 6px 6px;
	text-align: center;
	border-bottom: 2px solid var(--main_color);
}
.top .contact_tel table td{
	padding: 6px 6px 5px;
	text-align: center;
	border-bottom: 1px solid #ccc;
}
*/
/* login */
.top .inner .form_area{
	width: 100%;
}
.top .inner form{
	margin: 0 auto;
	width: 100%;
	max-width: 520px;
}
.top .inner form .tel_label{
	margin-bottom: 10px;
	font-size: 125%;
}
.top .inner form .tel_num input{
	width: 100%;
	min-height: 40px;
}
.top .inner form .check_radio{
	margin-top: 12px;
}
.top .inner form .check_radio label{
	padding: 14px 20px;
	background-color: var(--sub_color);
	border-radius: 4px;
	display: block;
	cursor: pointer;
}
.top .inner form .check_radio label input{
	margin: 0 2px 4px;
}
.top .inner form .btn{
	margin-top: 20px;
	text-align: center;
}
.top .inner form .btn button{
	min-width: 200px;
}
@media only screen and (max-width: 768px) {
	body.top{
		padding-top: 20px;
	}
	.top .inner{
		padding: 24px 20px;
		border-radius: 10px;
	}
	.top .inner main{
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}
	.top .check_list{
		width: 100%;
	}
	.top .check_list li{
		margin-top: 10px;
		padding-left: 14px;
		font-size: 87.5%;
	}
	.top .check_list li::before{
		top: 4px;
		width: 10px;
		height: 10px;
	}
	.top .contact_tel{
		order: 2;
		width: 100%;
		max-width: 420px;
	}
	.top .contact_tel h2{
		font-size: 100%;
	}
/*	.top .contact_tel table,*/
	.top .contact_tel p{
		font-size: 87.5%;
	}
	.top .inner form{
		max-width: 420px;
	}
	.top .inner form .tel_label{
		margin-bottom: 8px;
		font-size: 100%;
	}
	.top .inner form .check_radio label{
		padding: 10px 16px;
	}
	.top .inner form .btn{
		margin-top: 16px;
	}
}

/***** 02_Inquiry *****/
/*header*/
.inquiry header{
	width: 100%;
	background: url("../img/main_bgi2.jpg") no-repeat center center / cover;
}
.inquiry header div{
	margin: 0 auto;
	padding: 0 12px 20px;
	width: 100%;
	max-width: 1224px;
	position: relative;
}
.inquiry header .user{
	margin: 0;
	padding: 4px 12px;
	text-align: center;
	background-color: var(--sub_color);
	border: 1px solid #fff;
	border-top: 0;
	border-radius: 0 0 4px 4px;
	display: inline-block;
	pointer-events: none;
}
.inquiry header .user a{
	color: #333;
	text-decoration: none;
	pointer-events: none;
}
.inquiry header .close{
	position: absolute;
	top: 0;
	right: 12px;
	margin: 0;
	display: inline-block;
}
.inquiry header .close a{
	padding: 4px 12px 4px 30px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	background-color: var(--btn_color);
	border-radius: 0 0 4px 4px;
	display: block;
	position: relative;
}
.inquiry header .close a:hover{
	background-color: var(--bt_hover);
}
.inquiry header .close a::before,
.inquiry header .close a::after{
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	left: 10px;
	width: 16px;
	height: 2px;
	background-color: #fff;
	border-radius: 2px;
	transform: rotate(45deg);
}
.inquiry header .close a::after{
	transform: rotate(-45deg);
}
.inquiry header h1{
	margin: 20px 0 0;
	padding: 20px;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.9);
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
	border-radius: 10px;
}
/*main*/
.inquiry main{
	margin: 0 auto;
	padding: 0 12px 20px;
	width: 100%;
	max-width: 1224px;
}
.inquiry section{
	margin-top: 30px;
}
/*howto*/
.inquiry .howto{
	padding: 30px;
	border: 2px solid var(--main_color);
	border-radius: 2px;
}
.inquiry .howto h2{
	padding: 0 4px 2px;
	font-size: 112.5%;
	border-bottom: 2px solid var(--main_color);
}
.inquiry .howto .flex_box{
	margin: 20px 0; 
	display: flex;
	flex-wrap: wrap;
	gap: 10px 30px;
	align-items: flex-start;
}
.inquiry .howto .flex_box img{
	width: 100%;
	max-width: 380px;
}
.inquiry .howto .flex_box .text{
	width: calc(100% - 410px);
}
.inquiry .howto .flex_box .text p{
	margin-top: 10px;
}
.inquiry .howto .flex_box .text p:first-child{
	margin-top: 0;
}
.inquiry .howto .flex_box .text span{
	margin: 0 10px 5px 0;
	padding: 3px 10px;
	font-size: 112.5%;
	font-weight: bold;
	background-color: var(--sub_color);
	border-radius: 4px;
	display: inline-block;
}
.inquiry .howto .btn{
	display: flex;
	gap: 10px 20px;
	justify-content: center;
}
/*howto_sp*/
@media print, screen and (min-width: 769px) {
	.ac_box{
		display: none;
		pointer-events: none !important;
	}
	.ac_box + div{
		display: block !important;
	}
}
@media only screen and (max-width: 768px) {
	.ac_box{
		margin: 10px 0 0;
		padding: 10px 12px;
		background-color: var(--sub_color);
		border-radius: 4px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0 10px;
	}
	.ac_box span:first-child{
		width: calc(100% - 60px);
	}
	.ac_box .text{
		padding: 2px 2px 1px 16px;
		font-size: 87.5%;
		width: 50px;
		background: #fff;
		border: 1px solid #aaa;
		border-radius: 2px;
		display: inline-block;
		z-index: 100;
		position: relative;
	}
	.ac_box .text::before,
	.ac_box .text::after{
		content: '';
		background: #555;
		position: absolute;
		left: 4px;
		top: 11px;
		height: 2px;
		width: 10px;
	}
	.ac_box .text::after{
		transform: rotate(90deg);
	}
	.ac_box + div{
		display: none;
	}
	.ac_box{
		position: relative;
		width: 100%;
		overflow: hidden;
	}
	.ac_box.active .text::after{
		display: none;
	}
}

/*result*/
.inquiry .result h2{
	margin: 0;
	padding: 0;
	height: 0;
}
.inquiry .result table{
	width: 100%;
	font-size: 87.5%;
}
.inquiry .result table tr{
	padding: 0 5px;
	border-bottom: 1px solid var(--btn_color);
}
.inquiry .result table tr:first-child{
	border-bottom-width: 2px;
}
.inquiry .result table tr:nth-child(n + 2):hover{
	background: var(--table_hover);
}
.inquiry .result table th{
	padding: 0 5px 5px;
	text-align: left;
}
.inquiry .result table th:last-child{
	padding-left: 15px;
}
.inquiry .result table td{
	padding: 10px 5px;
	width: 90px;
}
.inquiry .result table td input{
}
.inquiry .result table td:last-child{
	padding-left: 15px;
	width: calc(100% - 450px);
}
/*error*/
.inquiry .result table tr.error input,
.inquiry .result table tr.error .select{
	background-color: #FFDEDE;
}
/*結果は初期非表示*/
.inquiry .result table td p.hide{
	display: none;
}
@media only screen and (max-width: 1024px) {
	.inquiry .howto{
		padding: 20px;
	}
	.inquiry .howto .flex_box .text{
		width: 100%;
	}
}
@media only screen and (max-width: 768px) {
	.inquiry header div{
		padding-bottom: 16px;
	}
	.inquiry header .user{
		font-size: 87.5%;
	}
	.inquiry header .close{
		font-size: 87.5%;
	}
	.inquiry header h1{
		margin: 16px 0 0;
		padding: 16px;
	}
	.inquiry section{
		margin-top: 20px;
	}
	.inquiry .howto{
		border: 0;
		padding: 0;
	}
	.inquiry .howto h2{
		font-size: 100%;
	}
	.inquiry .howto .flex_box{
		margin: 10px 0 0;
		padding: 10px;
		border: 2px solid var(--main_color);
		border-radius: 2px;
	}
	.inquiry .howto .flex_box .text p{
		font-size: 87.5%;
	}
	.inquiry .howto .flex_box .text span{
		margin-right: 8px;
		font-size: 100%;
	}
	.inquiry .howto .btn{
		margin-top: 20px;
		gap: 10px;
	}
	.inquiry .result table tr{
		padding: 8px 0;
		display: flex;
		flex-wrap: wrap;
		gap: 0 5px;
	}
	.inquiry .result table tr:first-child{
		padding: 0;
	}
	.inquiry .result table tr:nth-child(n + 2):hover{
		background: none;
	}
	.inquiry .result table th{
		padding: 0 0 5px;
		width: calc(20% - 4px);
	}
	.inquiry .result table th:last-child{
		display: none;
	}
	.inquiry .result table td{
		padding: 0;
		width: calc(20% - 4px);
	}
	.inquiry .result table td:last-child{
		padding: 0;
		width: 100%;
	}
	.inquiry .result table td:last-child p{
		padding: 5px 5px 0;
	}
}
@media only screen and (max-width: 480px) {
	.inquiry header div{
		padding-bottom: 12px;
	}
	.inquiry header .user{
		padding: 2px 10px;
		font-size: 87.5%;
	}
	.inquiry header .close a{
		padding: 2px 10px 2px 26px;
	}
	.inquiry header .close a::before,
	.inquiry header .close a::after{
		left: 8px;
		width: 14px;
	}
	.inquiry header h1{
		margin: 10px 0 0;
		padding: 10px;
		border-radius: 4px;
	}
	.inquiry header h1 img{
		width: 22px;
	}
}



