@charset "utf-8";



img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}
.wp-block-image figure,
.wp-block-image figcaption {
	display: block;
}
a.nolink,
a.nolink:hover {
	opacity: 1;
	cursor: default;
	pointer-events: none;
}
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html {
	font-size: 62.5%;
}
.sp {
	display: none !important;
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.content {
	margin: 0 15px;
	width: auto;
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 16px;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.24em;
	text-align: center;
	line-height: 1.14;
}
.warning {
    font-size: 1.1rem!important;
}
.headLine01 span {
	margin-top: 10px;
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.18em;
	color: transparent;
	background: -webkit-linear-gradient(left, #13C581 , #00A1EE);
    background: -o-linear-gradient(right, #00A1EE, #13C581);
    background: -moz-linear-gradient(right, #00A1EE, #13C581);
	background: linear-gradient(to right, #00A1EE , #13C581);
	-webkit-background-clip: text;
	font-family: 'Roboto', sans-serif;
}

/* CONTACT */
#main .contactWrap {
    padding: 0px;
}
#main .contact {
	margin-top: 0px;
	padding: 3rem 1.5rem;
	z-index: 1;
	position: relative;		
}
#main .contact h2 {
    margin: 30px auto 23px;
}
#main .contact .topList {
	margin: 0 0 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .contact .topList li {
	padding: 11px 10px !important;
	width: 27.7% !important;
	position: relative;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: 0.12em;
	text-align: center;
	box-sizing: border-box;
	background-color: #152850;
		display: flex;
		justify-content: center;
		align-items: center;
		line-height: 1.36;
		height: 6rem;
}
#main .contact .topList li::before,
#main .contact .topList li::after {
	width: 24px;
	height: 100%;
	position: absolute;
	right: -24px;
	top: 0;
	background: #fff url(img/index/contact_bg01.png) no-repeat center center / 100% 100%;
	content: '';
	z-index: 3;
}
#main .contact .topList li::before {
	right: auto;
	left: -24px;
	background-color: transparent;
	background-image: url(img/index/sp_contact_bg02.png);
}
#main .contact .topList li:nth-of-type(3n - 2) {
	padding-left: 80px;
	width: 390px;
}
#main .contact .topList li:nth-of-type(3n - 2)::before {
	display: none;
}
#main .contact .topList li:nth-of-type(2n) {
	margin-left: 0;
}
#main .contact .topList li:nth-of-type(3n) {
	margin-left: 0;
	width: 360px;
}
#main .contact .topList li:nth-of-type(3n)::after {
	display: none;
}
#main .contact .formBox {
	margin: 0;
}
#main .contact table {
	margin-bottom: 5px;
	width: 100%;
	border-collapse: collapse;
}
#main .contact table th,
#main .contact table td {
	padding: 25px 80px 14px 0;
	width: 100%;
	display: block;
	position: relative;
    font-size: 1.6rem;
    font-weight: 500;
	text-align: left;
	letter-spacing: 0.12em;
	box-sizing: border-box;
	border-bottom: 2px solid #E4EEEE;
	vertical-align: top;
}
#main .contact .topList li:not(:nth-of-type(3n - 2)) {
	background-color: #5F6E8D;
}
#main .contact .topList li:not(:nth-of-type(3n - 2))::after {
	background-image: url(img/index/sp_contact_bg01.png);
}
#main .contact .topList li:nth-of-type(3n - 2)::before {
	display: none;
}
#main .contact table th {
	padding: 0 60px 0 0;
	border: none;
   }
#main .contact table td {
	margin-bottom: 10px;
	padding: 12px 0 9px;
	width: 100%;
	font-size: 1.2rem;
}
#main .contact table .tdStyle01 {
	padding: 10px 0 17px;
}
#main .contact table input,
#main .contact table select,
#main .contact table textarea {
	padding: 6px 20px;
	width: 50%;
	height: 45px;
	color: #142850;
    font-size: 1.2rem;
	letter-spacing: 0.12em;
	border-radius: 3px;
	box-sizing: border-box;
	border: 1px solid #E4EEEE;
	background-color: #F4F8F9;
	-webkit-appearance: none;
	appearance: none;
}
#main .contact table select {
	background: #F4F8F9 url(img/index/contact_bg05.png) no-repeat right center / 20px 100%;
}
#main .contact table textarea {
	height: 150px;
	padding: 10px 20px;
}
#main .contact table th small {
    display: inline-block;
    font-size: 1.4rem;
}
#main .contact table th span {
	padding: 3px 2px 4px;
	width: 45px;
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	font-weight: 400;
	border-radius: 3px;
	box-sizing: border-box;
	font-size: 1.2rem;
	letter-spacing: 0.04em;
	text-align: center;
}
#main .contact table th .must {
	color: #fff;
	background-color: #F00029;
}
#main .contact table th .any {
	border: 1px solid #142850;
}
#main .contact table td .checkList li {
	margin: 0 0 15px;
	display: block;
}
#main .contact table td .checkList li:last-of-type {
    margin-bottom: 0;
}
#main .contact table td .checkList input {
	display: none;
}
#main .contact table td .checkList input + span {
	padding: 3px 0 3px 35px;
	font-size: 1.4rem;
	letter-spacing: 0.12em;
	background: url(img/index/contact_bg03.png) no-repeat left center / 25px auto;
}
#main .contact table td .checkList input:checked + span {
	background-image: url(img/index/contact_bg04.png);
}

#main .contact table .tdStyle02 {
	padding-bottom: 6px;
}
#main .contact table td select:not(:last-of-type) {
	margin-bottom: 5px;
}
#main .contact table .tdStyle02 select {
	margin-bottom: 5px;
}
#main .contact .textList {
	margin-bottom: 14px;
	font-size: 1.2rem;
	letter-spacing: 0.12em;
}
#main .contact .textList li {
	padding-left: 1.3em;
	text-indent: -1.3em;
}
#main .contact .textList li:not(:last-of-type) {
	margin-bottom: 2px;
}
#main .contact .text {
	margin-bottom: 20px;
	line-height: 2;
	letter-spacing: 0.12em;
	text-align: center;
}
#main .contact .text a {
	display: inline-block;
	color: #0078dc;
	text-decoration: underline;
	vertical-align: top;
}
#main .contact .text a:hover {
	text-decoration: underline;
}
#main .contact .submitList {
	display: flex;
	justify-content: center;
}
#main .contact .submitList li {
	margin: 0 20px;
	width: 300px;
	position: relative;
}
#main .contact .submitList input {
	padding: 13px 50px 17px;
	width: 100%;
	position: relative;
	display: block;
	border: none;
	color: #fff;
	font-size: 2.1rem;
	font-weight: 500;
	border-radius: 30px;
	box-sizing: border-box;
	letter-spacing: 0.16em;
	background: -webkit-linear-gradient(left, #12C77A , #00A1EF);
    background: -o-linear-gradient(right, #00A1EF, #12C77A);
    background: -moz-linear-gradient(right, #00A1EF, #12C77A);
    background: linear-gradient(to right, #00A1EF , #12C77A);
	-webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}
#main .contact .submitList li::after {
	width: 20px;
	height: 17px;
	position: absolute;
	right: 23px;
	top: 30px;
	transform: translateY(-50%);
	background: url(img/common/arrow01.png) no-repeat center center / cover;
	content: '';
	z-index: 10;
}
#main .contact table tr:last-of-type td {
	margin-bottom: 0;
}
#main .contact table input, #main .contact table select, #main .contact table textarea {
	 width: 100%;
}
select::-ms-expand { display: none; }
}


/*------------------------------------------------------------
	thanks(20240627)
------------------------------------------------------------*/
.thanks .gold{color:#be9c0d}
.thanks .small{font-size:1.2rem}
.thanks .thxTit {
	font-family: 'Noto Sans JP',sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .06em;
	line-height: 1.5;
	color: #000;
	margin: 0;
	text-align: center;
	line-height:1.5;
}
.thanks .attentionBox {
	background-color: #FFEC00;
	text-align: center;
	width: 100%;
	margin: 5rem auto 1rem ;
	padding: 20px 0;
}
.thanks .attentionBox p {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 19px;
	margin: 0;
}
.thanks .attentionTxt {
	text-align: left;
	width: 100%;
	margin: 0 auto 0;
}
.thanks .flow_h3 {
	background-color: #000;
	text-align: center;
	width: 100%;
	margin: 5rem auto 1rem;
	padding: 10px 0;
	color: #FFFFFF;
	font-size: 1.5rem;
	font-weight: 500;
}
.thanks .flowUl {
	width: 100%;
	margin: 0 auto 3rem;
	display:block;
}
.thanks .flowUl li {
	width: 100%;
	padding: 0;
	height: 150px;
	margin-bottom: 3rem;
}
.thanks .flowUl .pic {
	float: left;
	margin-right: 1rem;
	height: 150px;
}
.thanks .flowUl .text {
	padding: 50px 0 0;
	line-height: 2.0rem;
	height: 150px;
	text-align: left;
}
.thanks .lastTxt {
	text-align: left;
	width: 100%;
	margin: 3rem auto;
}
