@charset "utf-8";

@import url(https://fonts.googleapis.com/css?family=Montserrat:200,300,400,500,600,700);
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@100..900&display=swap');

/*タグ初期値リセット*/
@import url(default.css);

/*
画像置換指定
------------------------------------*/
main h1{
	overflow:hidden;display:block;text-decoration:none;border:none;	background-repeat: no-repeat;background-position: left top;
}

body, html {
    width:100%;
    height: 100%;
}

body {
	line-height:1.4;
	font-size:12px;
	color:#222;
	background-color:#FFF;
	min-width: 800px;
}

main{
	display: flex;
	justify-content: center;
	align-items: center;
	padding:0px 0px 0px 0px;
    width:100%;
    min-height: 100%;
}

main .box{
	text-align:center;
	padding:50px 0px 50px 0px;
}

main .lead{
	margin:0px auto 40px auto;
}

main .lead h1{
	width:400px;
	margin:0px auto 40px auto;
	padding:120px 0 0;
	height /**/:120px;
	height: /*ie6*/0;
	line-height:1.5;
	background-image: url(../images/common/logo.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left top;
}

main .lead h2{
	margin:0px 0px 10px 0px;
	padding:0px 0px 0px 0px;
	line-height:1.3;
	font-size:44px;
	font-family: "Jost", sans-serif;
	font-weight:600;
	color:#222;
	letter-spacing:0.03em;
	text-align:center;
}

main .lead p {
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
	line-height:1.4;
	font-size:22px;
	font-weight:bold;
}

main .lead p.sub {
	margin:10px 0px 0px 0px;
	padding:0px 0px 0px 0px;
	line-height:1.4;
	font-size:14px;
	font-weight:normal;
	color:#666;
}

main .messbox {
	width:700px;
	margin: 0px auto 0px auto;
}

main .messbox p{
	line-height:1.5;
	padding: 0px 0 10px 0;
	font-size:14px;
}

main .messbox p.lead{
	padding: 0px 0 10px 0;
	font-size:18px;
	font-weight:bold;
	line-height:1.5;
	color:#C00;
}

main .messbox p sup{
	padding: 0px 0 0px 0;
	font-weight:bold;
	line-height:1.7;
	color:#C00;
}

main .error_list{
	margin: 0px 0px 0px 0px;
	padding: 0px 0 0px 0;
	line-height:1.4;
}

main .error_list li{
	margin: 0px 0px 0px 0px;
	padding: 0px 0 0px 0;
	font-size:14px;
	font-weight:bold;
	color:#C00;
}

/*
入力画面
------------------------------------*/
main .inquiry_box{
	width:700px;
	margin:0 auto 30px auto;
}

main .inquiry_box table.inquiry_input{
	width:100%;
	margin:0px auto 0px auto;
	padding:0px;
	color: #000;
	line-height:1.3;
	border-collapse:separate;
	border-spacing:4px;
	border:0px;
}

main .inquiry_box table.inquiry_input td{
	padding:12px 0px 12px 0px ;
	text-align:center;
	vertical-align:middle;
	font-weight:normal;
}

main .inquiry_box table.inquiry_input td .msg_caution{
	width:500px;
	color:#CC0000;
	margin:15px auto 10px auto;
	text-align:left;
}

main .inquiry_box table.inquiry_input td .ex{
	color:#666;
	font-size:12px;
	padding:0px 0px 0px 3px;
}

main .inquiry_box table.inquiry_input td .ti{
	font-weight:bold;
	margin: 0px 0px 2px 0px;
}

main .inquiry_box table.inquiry_input td .description{
	margin: 25px 0px 0px 0px;
	font-size:13px;
	line-height:1.3;
	text-align:left;
}

main .inquiry_box table.inquiry_input td .description + .description{
	margin-top:10px;
}

main .inquiry_box table.inquiry_input td .error-message{
	margin: 5px 0px 5px 0px;
	padding:0px 0px 0px 0px ;
	font-size:13px;
	font-weight:bold;
	line-height:1.3;
	color:#C00;
}

/*
プライバシーポリシー同意
------------------------------------*/
.privacy_agree{
	width:700px;
	margin: 40px auto 40px auto;
	padding:0px 0px 0px 0px;
}

.privacy_agree p.lead{
	margin: 0px 0px 30px 0px;
	padding:0px 0px 0px 0px;
	font-size:14px;
	line-height:1.5;
	text-align: center;
}

.privacy_agree .inbox{
	margin: 0px 0px 35px 0px;
	padding:25px 25px 25px 25px;
	font-size:13px;
	line-height:1.5;
	text-align:left;
	border: 1px solid #BBB;
	background-color:#FFF;
	height: 400px;
	overflow:scroll;
	overflow-x:hidden;
}

.privacy_agree .inbox h3{
	margin:0px 0px 5px 0px;
	font-size:15px;
	line-height:1.3;
	font-weight: bold;
}

.privacy_agree .inbox h4{
	margin:5px 0px 2px 5px;
	font-size:14px;
	line-height:1.3;
	font-weight: bold;
}

.privacy_agree .inbox .text_box{
	margin:0px 0px 10px 0px;
	padding:0px 0px 0px 0px;
	line-height:1.5;
}

.privacy_agree .inbox .text_box p{
	padding: 0px 0 10px 0;
	font-size:14px;
}
.privacy_agree .inbox .text_box p.sub{
	padding: 0px 0 10px 14px;
}

.agree_check{
	margin: 0px 0px 0px 0px;
}

.agree_check .error_msg {
	display:inline-block;
	position: relative;
	margin:0 0 10px 0px;
	top:0px;
	padding: 4px 8px 5px 10px;
	background-color:#F00;
	color: #fff;
	font-size:13px;
	font-weight:bold;
}

.agree_check .error_msg:before {
	content: '';
	position: absolute;
	top: 100%;
	left:20px;
	border: solid transparent;
	border-top: 8px solid #FF3333;
	border-right: 4px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 4px solid transparent;
	margin-top: 0px;
}

.agree_check input[type=checkbox] {
	display: none;
}

.agree_check input[type=checkbox] + label {
	width:auto;
	display: inline-block;
	margin: 0px 0px 0px 0px;
	padding: 1px 0px 0px 29px;
	cursor: pointer;
	position:relative;
	-webkit-transition: all 0.2s linear;
	transition: all 0.2s linear;
	vertical-align:top;
	font-size:15px;
	font-weight:bold;
	color:#000;
}

.agree_check input[type=checkbox] + label::before,
.agree_check input[type=checkbox] + label::after {
	content:" ";
	position: absolute;
	-webkit-transition: all 0.1s linear;
	transition: all 0.1s linear;
}

.agree_check input[type=checkbox] + label::before{
	left: 0;
	top: 0px;
	width: 20px;
	height: 20px;
	background: #FFF;
	border: 1px solid #999;
}

.agree_check input[type=checkbox] + label::after{
	top: 1px;
	left: -3px;
	width:28px;
	height:19px;
	background-image:url(../images/common/icon_check01.png); 
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left top;
	opacity: 0;
	-webkit-transform: scale(1.4);
	transform: scale(1.4);
}

.agree_check input[type=checkbox]:checked + label::before{
}

.agree_check input[type=checkbox]:checked + label::after{
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}

.agree_check sup{
	font-weight:bold;
	padding: 0px 0 0px 1px;
	color:#C00;
}

/*
ボタン
------------------------------------*/
main .inquiry_btn {
	margin: 40px 0 30px 0;
	text-align:center;
}

main .inquiry_btn button[type=button]{
	min-width:200px;
	margin: 0px 10px 0px 10px;
	padding: 0px 70px 0px 70px;
	font-size:16px;
	height:70px;
	line-height:70px;
	font-weight: bold;
	background-color: #222;
	color:#FFF;
	letter-spacing:0.3em;
	text-indent:0.3em;
	position:relative;
	border-radius:5px;
	-webkit-transition: 0.4s;
	-moz-transition: 0.4s;
	-ms-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

main .inquiry_btn button[type=button]:hover{
	background-color: #666;
}

main .inquiry_btn button[type=button]:active {
	position:relative;
	top:1px;
	left:1px;
}


main .copyright{
	margin: 60px 0px 0px 0px;
	padding:0px 0 0px 0px;
	font-family: "Jost", sans-serif;
	font-weight:400;
	font-size:13px;
	line-height:1.2;
	letter-spacing:0.08em;
}

