@charset "utf-8";

article{
}


/* #mv */
#mv{
	padding:0 0 20px;
}
#mv h2{
	margin-bottom:-30px;
	line-height:90px;
	font-size:40px;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing:-0.05em;
}
#mv h2 img{
	vertical-align:top;
}
#mv h2 span{
	margin-left:15px;
	font-size:21px;
	letter-spacing:0;
}


/* #cont1 */
#cont1{
}
#cont1 ul{
	letter-spacing:-0.4em;
}
#cont1 ul li{
	letter-spacing:normal;
	display:inline-block;
	vertical-align:top;
}
#cont1 ul li:nth-child(odd){
	margin-right:40px;
}
#cont1 ul li:nth-child(-n+2){
	margin-bottom:30px;
}
#cont1 ul li p{
	margin-top:10px;
}


/* #cont2 */
#cont2{
}
#cont2 ol{
	margin-top:-30px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#cont2 ol li figure figcaption{
	height:100px;
	padding-left:64px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	position:relative;
	font-size:30px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:bold;
	color:#1a60b5;
	text-shadow:2px 2px 3px #f2f2f2;
	line-height:1.2;
	letter-spacing:-0.03em;
}
#cont2 ol li figure figcaption img{
	position:absolute;
	left:0;
	top:0;
}
#cont2 ol li p{
	margin-top:20px;
}
#cont2 ol li p span{
	font-weight:bold;
}


/* #cont3 */
#cont3{
}
#cont3 h2 span{
	margin-right:20px;
}
#cont3 ul{
	letter-spacing:-0.4em;
}
#cont3 ul li{
	width:396px;
	letter-spacing:normal;
	display:inline-block;
	vertical-align:top;
}
#cont3 ul li:nth-child(3n+2) p{
	border-left:2px dotted #bcbcbc;
	border-right:2px dotted #bcbcbc;
}


/* #contact */
#contact{
	margin-bottom:60px;
}
#contact h2 + p{
	margin-top:-20px;
	padding:0 40px 30px;
	font-size:20px;
	text-align:left;
	line-height:1.2;
}
#contact > ul{
	margin: 0 auto;
	text-align: left;
	width: 55%;
}
#contact > ul li{
	list-style: disc;
}
#contact table{
	width:100%;
	margin-top:30px;
}
#contact table th,
#contact table td{
	border-top:none;
	border-right:none;
	border-bottom:1px solid #d2d2d2;
	border-left:none;
	text-align:left;
	color:#525252;
}
#contact table th{
	width:380px;
	padding:20px;
	font-size:24px;
}
#contact table th span{
	display:inline-block;
	margin-left:3.5rem;
	position:relative;
}
#contact table th span.hissu{
	margin:0;
}
#contact table th span.hissu:before{
	background-color: #cf013a;
	border-radius: 3px;
	content: '必須';
	color: #fff;
	display: inline-block;
	font-size: 18px;
	font-weight: normal;
	margin-right: 0.5rem;
	text-align: center;
	vertical-align: middle;
	width: 3rem;
}
#contact table th span.small{
	display:block;
	font-size:14px;
	font-weight: normal;
}
#contact table td{
	padding:24px;
	font-size:18px;
}
#contact table td p{
	line-height:1;
	margin-top:10px;
	font-size:14px;
	color:#666;
}
#contact table td p:before{
	content: '\f071';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right:5px;
}
#contact table td span{
	margin:0 5px;
}
#contact table td span.red{
	font-size:12px;
	color:#f00;
	position:absolute;
	top:5px;
	left:103%;
}
#contact table td strong{
	margin-left:10px;
	color:#0c0;
}
#contact table td strong:before{
	content: '\f06a';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right:5px;
}
#contact table td ul{
	margin-top:-10px;
	display:inline-block;
}
#contact table td ul li{
	margin:10px 0 0;
	position:relative;
}
#contact table td ul li.reEmail:after{
	content:'（再度入力）';
	display:block;
	width:80px;
	font-size:12px;
	color:#f00;
	position:absolute;
	top:10px;
	left:100%;
}
#contact table td ul li input[type="email"]{
	position:relative;
}
#contact table + p{
	margin:40px;
}

/* エラー */
form.cmxform label.error, label.error {
	margin-top:7px;
	font-size:14px;
	font-weight:bold;
	color: #f00;
	display:block;
}

/* reCAPTCHA */
.g-recaptcha{
	margin:30px 0;
}
.g-recaptcha div{
	margin:auto;
}
.g-recaptcha + p{
	margin-bottom:20px;
	font-size:18px;
}

/* テキストボックス */
input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"]{
	width:380px;
	font-size:16px;
	height:34px;
	padding:0 10px;
	background-color:#fff;
	border:1px solid #d2d2d2;
}

/* ラジオボタン */
input[type="radio"] {
	display:none;
}
input[type="radio"]  + span{
	padding-left:25px;
	display:inline-block;
	vertical-align:middle;
	position: relative;
}
input[type="radio"]  + span:before{
	content: "";
	display:inline-block;
	width: 18px;
	height: 18px;
	margin-right:10px;
	background-color: #FFFFFF;
	border: 1px solid #d2d2d2;
	border-radius:  50%;
	-webkit-box-shadow: inset 3px 3px 8px rgba(0,0,0,0.1);
	box-shadow: inset 3px 3px 8px rgba(0,0,0,0.1);
	cursor: pointer;
	outline : none;
	position:absolute;
	top:calc(50% - 9px);
	left:0;
}
input[type="radio"]:checked + span:after {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	background: #000;
	position: absolute;
	top: calc(50% - 6px);
	left: 3px;
	border-radius: 50%;
}

/* セレクトメニュー */
select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size:16px;
	width:380px;
	height:40px;
	padding:0 30px 0 10px;
	border-radius: 2px;
	border:1px solid #d2d2d2;
	font-weight:normal;
	background:#f9f9f9 url(select_arrow.png)no-repeat right 10px center;
	background-size:14px auto;
}
select::-ms-expand {
	display: none;
}
select option,
select optgroup{
	background:#fff;
}

/* ボタン */
button,
input[type="submit"],
input[type="button"]{
	cursor:pointer;
}

button:hover,
input[type="submit"]:hover,
input[type="button"]:hover{
	opacity:0.7;
}
button:disabled{
	cursor:auto;
	opacity:0.5;
}
input[type="submit"],
input[type="button"]{
	width:140px;
	line-height:50px;
	margin:20px 5px;
	border-radius:5px;
	color:#fff;
	font-weight:bold;
}
input[type="submit"]{
	background-color:#cf013a;
}
input[type="button"]{
	background-color:#666;
}


/* #thanks */
#thanks{
	margin-top:20px;
}
#thanks p{
	margin-bottom:30px;
	font-size:21px;
}