
/* ------------------------------------------------------------------------ */
/*  #sec_faq
/* ------------------------------------------------------------------------ */

.tab-wrap {
	max-width: 1100px;
	margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.tab-label {
    background: transparent;
	border: 3px solid #fff;
	color: #fff;
    padding: 8px 12px;
	font-size: 18px;
	font-weight: 700;
    order: -1;
	width: 48.33%;
	text-align: center;
	cursor: pointer;
}
.tab-label:not(:first-of-type) {
	margin-left: 3.33%;
}
.tab-label .spStyle{
	display: none;
}
@media (hover: hover) and (pointer: fine) {
	.tab-label {
		transition: 0.3s;
	}
	.tab-label:hover {
		background: #fff;
		color: #009985;
	}
}
.tab-content {
    width: 100%;
    display: none;
	margin-top: 30px;
}
/* アクティブなタブ */
.tab-switch:checked+.tab-label {
	position: relative;
    background: #fff;
	color: #009985;
}
.tab-switch:checked+.tab-label:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -13px;
	border: 13px solid transparent;
	border-top: 13px solid #fff;
}
.tab-switch:checked+.tab-label+.tab-content {
     display: flex;
}
/* ラジオボタン非表示 */
.tab-switch {
    display: none;
}
@media screen and (max-width: 767px){
	.tab-label {
		padding: 16px 10px;
		font-size: 18px;
	}
}
@media screen and (max-width: 480px){
	.tab-label {
		font-size: 4vw;
	}
	.tab-label .spStyle{
		display: block;
	}
}
.tab-content .hd02{
	margin-top: 16px;
	margin-bottom: -40px;
}
.tab-content .answer + .hd02{
	margin-top: 56px;
}

#sec_faq .faq_list{
}
#sec_faq .tab-label{
    width: calc((100% - (2% * 3)) / 4);
	background-color: #fff;
	color: #009985;
	border-color: #009985;
}
#sec_faq .tab-label:hover{
    text-decoration: none;
}
#sec_faq .tab-content{
	margin-top: 40px;
}
#sec_faq .tab-switch:checked+.tab-label{
	background-color: #009985;
	color: #fff;
}
#sec_faq .tab-switch:checked+.tab-label:before{
    border-top: 13px solid #009985;
}
#sec_faq .tab-label:not(:first-of-type){
	margin-left: 2%;
}
#sec_faq .tab-switch:checked+.tab-label+.tab-content{
	display: block;
}
#sec_faq h2 + .main_txt{
	margin-top: 60px;
}
.faq_list .answer + .main_txt{
    border-top: 1px solid #ccc;
}
.faq_list .main_txt,
.faq_list .answer{
	color: #1a2233;
}
.faq_list .main_txt{
	font-size: 22px;
	font-weight: 700;
	color: #009985;
    background-repeat: repeat-x;
    background-position: left bottom;
	cursor: pointer;
}
.faq_list .main_txt p{
	position: relative;
    padding: 20px 60px 20px 40px;
    line-height: 1.4;
    transition: 0.3s;
}
.faq_list .main_txt p:hover,
.faq_list .main_txt p.active{
    background-color: #e5fcf8;
}
.faq_list .main_txt p:before{
	content: "Q";
	position: absolute;
	top: 20px;
	left: 8px;
    font-size: 20px;
    color: #009985;
    font-family: "Playwrite AU VIC", cursive;
    font-weight: 400;
    margin-right: 15px;
}
.faq_list .main_txt p:after{
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 8px;
    font: var(--fa-font-solid);
    content: "\f067";
    font-size: 14px;
    color: #fff;
    width: 32px;
    height: 32px;
    background-color: #009985;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.faq_list .main_txt p.active:after{
    content: "\f068";
}
.faq_list .main_txt p span{
	position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
}
.faq_list .main_txt p span i{
	font-size: 3.0rem;
	color: #014099;
	padding: 0;
}
.faq_list .main_txt p.active span i{
    transform: rotate(180deg);
}
.faq_list .answer{
	display: none;
    padding: 24px 0;
}
.faq_list .answer p{
	position: relative;
}
.faq_list .answer a{
	color: #014099;
	text-decoration: underline;
}
.faq_list .answer a:hover{
	text-decoration: none;
}
.faq_list .answer .answer_wrap{
	position: relative;
    padding: 0 40px;
}
.faq_list .answer .answer_wrap::before{
    content: "A";
    position: absolute;
    top: -1px;
    left: 10px;
    font-size: 20px;
    color: #FA842A;
    font-family: "Playwrite AU VIC", cursive;
    font-weight: 400;
    margin-right: 15px;
}
.faq_list .answer .answer_wrap p{
	line-height: 1.666;
}
.faq_list .answer .answer_wrap p + p{
	margin-top: 16px;
}
.faq_list .answer .answer_wrap img{
	display: block;
	margin: 15px 0;
}
.faq_list .answer .answer_wrap table{
	margin-top: 16px;
}
.faq_list .answer .answer_wrap table tr th{
	width: 7em;
	min-width: 7em;
}
.faq_list .answer .answer_wrap table tr th,
.faq_list .answer .answer_wrap table tr td{
	padding: 8px 0;
}

@media screen and (max-width: 1023px) {
	#sec_faq .tab-label{
		font-size: 16px;
	}
}
@media screen and (max-width: 768px) {
	#sec_faq .tab-label{
        width: calc((100% - (2% * 1)) / 2);
	}
    #sec_faq .tab-label:not(:first-of-type){
        margin-left: 0;
    }
    #sec_faq .tab-label:nth-child(even){
        margin-right: 2%;
    }
    #sec_faq .tab-label:not(:nth-child(1)),
    #sec_faq .tab-label:not(:nth-child(2)){
        margin-top: 2%;
    }
	.tab-content .hd02{
		margin-top: 16px;
		margin-bottom: -56px;
	}
	.faq_list:first-child{
		margin-top: 24px;
	}
	.faq_list + li{
		margin-top: 30px;
	}
    #sec_faq .tab-content{
        margin-top: 24px;
    }
	.faq_list .main_txt p{
        font-size: 16px;
		padding: 20px 50px 20px 40px;
	}
	.faq_list .main_txt p:before{
        font-size: 1.8rem;
        margin: 0 14px 8px 0;
	}
	.faq_list .main_txt p span i{
		font-size: 2.4rem;
	}
	.faq_list .answer .answer_wrap{
		padding: 0 0 0 40px;
	}
	.faq_list .answer p:before{
		top: 0;
		font-size: 2.6rem;
	}
	#sec_faq .tab-switch:checked+.tab-label:before{
		content: none;
	}
}
@media screen and (max-width: 480px) {
    #sec_faq .tab-label{
        font-size: 3vw;
    }
	.faq_list .answer .answer_wrap table tr th,
	.faq_list .answer .answer_wrap table tr td{
		display: block;
		width: 100%;
		min-width: none;
	}
	.faq_list .answer .answer_wrap table tr th{
		padding-bottom: 0;
	}
	.faq_list .answer .answer_wrap table tr td{
		padding-top: 0;
	}
}



section#Contact{
    margin-top: 120px;
}
section#Contact > p a{
    text-decoration: underline;
    color: #CC2727;
}

form{
	margin: 32px auto 0;
}
table{
	width: 100%;
}
table tr th,
table tr td{
	padding: 24px 0 15px;
	text-align: left;
}
table tr th{
	color: #1a2233;
	font-weight: 600;
	vertical-align: baseline;
	padding-top: 30px;
	width: 185px;
	min-width: 185px;
}
table tr td{
    width: 100%;
}
#confirm table tr th,
#confirm table tr td{
	padding: 20px 0;
	position: relative;
}
#confirm table tr th{
	width: 190px;
}
#confirm table tr th:before,
#confirm table tr td:before{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #002E62 2px, transparent 1px);
    background-size: 4px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
}
table tr#contact_inner th,
table tr#comment_inner th{
	padding-top: 24px;
}
table tr th .form_ttl{
	display: inline-block;
	width: 10em;
    margin-bottom: 4px;
}
table tr th .required{
	display: inline-block;
	color: #fff;
	background-color: #E73200;
	font-size: 1.2rem;
	min-width: 40px;
	line-height: 20px;
	text-align: center;
}
table tr th .optional{
	display: inline-block;
	color: #fff;
	background-color: #5c5f66;
	font-size: 1.2rem;
	min-width: 40px;
	line-height: 20px;
	text-align: center;
}
table tr td > span{
	display: inline-block;
	font-size: 1.4rem;
	margin-left: 15px;
	vertical-align: bottom;
}
button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    outline: 0;
    border-radius: 0;
    text-align: inherit;
}
input[type="radio"] {
	-webkit-appearance: none;
		-moz-appearance: none;
			appearance: none;
}
input[type="radio"] {
	position: relative;
	width: 20px;
	height: 20px;
	background-color: #fff;
	border: 1px solid #c1c9db;
	border-radius: 50%;
	vertical-align: -3px;
	margin-right: 10px;
}
input[type="radio"]:checked {
	background-color: #fff;
	border: 1px solid #002E62;
}
input[type="radio"]:checked:before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #1a2233;
	content: '';
}
input[type="text"],
input[type="tel"],
input[type="checkbox"] {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type="text"],
input[type="tel"],
select,
textarea {
    background-color: #fff;
    line-height: 38px;
	border: 1px solid #c1c9db;
    padding: 0 7px;
}
input[type="text"],
input[type="tel"]{
	max-width: 280px;
	width: 100%;
}
#name_inner input[type="text"]{
	max-width: 460px;
	width: 100%;
}
#name_inner .input_area > div{
	max-width: 100%;
	width: 100%;
}
table tr td .exsample{
	margin-top: 5px;
}
#name_inner .exsample{
	margin-left: calc(1em + 10px);
}
#furigana_inner .input_area > div:first-child,
#furigana_inner input[type="text"]{
	max-width: 290px;
	width: 100%;
}
#company_inner .input_area > div:first-child,
#company_inner input[type="text"]{
	max-width: 460px;
	width: 100%;
}
#post_inner .input_area{
	align-items: center;
}
#post_inner .input_area > div:nth-child(2),
#post_inner .input_area > div:nth-child(2) input[type="tel"]{
	max-width: 60px;
	width: 100%;
}
#post_inner .input_area > div:nth-child(4),
#post_inner .input_area > div:nth-child(4) input[type="tel"]{
	max-width: 100px;
	width: 100%;
}
#post_inner .input_area > div:not(:first-child){
	margin-left: 9px;
}
#location_inner .input_area > div:first-child,
#location_inner input[type="text"]{
	max-width: 460px;
	width: 100%;
}
#tel_inner .input_area > div:first-child,
#tel_inner input[type="tel"]{
	max-width: 220px;
	width: 100%;
}
#email_inner .input_area > div:first-child,
#email_inner input[type="text"]{
	max-width: 460px;
	width: 100%;
}
#contact_inner .input_area{
	flex-flow: column;
}
#contact_inner .input_area label{
	width: max-content;
	display: flex;
	align-items: center;
}
#contact_inner .input_area label + label{
	margin-top: 4px;
}
#comment_inner .txt{
	margin-bottom: 5px;
}
#name_inner .input_area > div:last-child,
#furigana_inner .input_area > div:last-child,
#company_inner .input_area > div:last-child,
#tel_inner .input_area > div:last-child,
#email_inner .input_area > div:last-child{
	margin-top: 5px;
}
textarea{
	max-width: 100%;
	width: 100%;
	height: 270px;
	padding: 5px 10px;
	line-height: 1.5;
}
.input_area,
.input_area > div > div{
	display: flex;
}
.input_area > div > div{
	align-items: center;
}
.input_area > div p{
	overflow-wrap: normal;
	word-break: keep-all;
}
.input_area label,
input[type="radio"]{
	cursor: pointer;
}
input[type="text"] + input[type="text"] {
	margin-left: 16px;
}
::placeholder {
	color: #9b9b9b;
}
.arrow_wrap{
	max-width: 80px;
	width: 100%;
}
.input_area + .input_area{
	margin-top: 20px;
}
.input_area .arrow{
	position: relative;
	max-width: 150px;
	width: 100%;
}
.arrow_wrap .arrow{
	max-width: 80px;
	margin: 0 !important;
}
.input_area .arrow:after{
    content: '';
    width: 7px;
    height: 7px;
    border: 0px;
    border-bottom: solid 2px #30556e;
    border-right: solid 2px #30556e;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 12px;
    margin-top: -6px;
    pointer-events: none;
}
.arrow select{
	cursor: pointer;
	max-width: 450px;
	width: 100%;
}
#type_inner .input_area .arrow{
	position: relative;
	max-width: 450px;
	width: 100%;
}
#type_inner .input_area .arrow:after{
    content: '';
    width: 7px;
    height: 7px;
    border: 0px;
    border-bottom: solid 2px #30556e;
    border-right: solid 2px #30556e;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 12px;
    margin-top: -6px;
    pointer-events: none;
}
#type_inner .input_area .arrow select{
	cursor: pointer;
	max-width: 450px;
	width: 100%;
}
.red {
    color: #CC2727;
    margin-bottom: 10px;
}
.red + .red {
	margin-top: 0;
}
.red i{
	margin-right: 3px;
}
#err_msg{
	margin: 20px auto 30px;
	padding: 15px 10px;
	text-align: center;
	display: block;
	border: 1px solid #CC2727;
	background-color: #ffdfdf;
}
#err_msg.disnon{
	display: none;
}
#err_msg p{
	text-align: left;
	display: inline-block;
	color: #CC2727;
}
.disnon {
    display: none;
}
.btnStyle01{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 60px;
}
.btnStyle01 button{
	position: relative;
	border-radius: 50px;
	background: linear-gradient(90deg,rgba(236, 102, 0, 1) 0%, rgba(255, 158, 19, 1) 100%);
	color: #fff;
	width: fit-content;
	min-height: 50px;
    max-width: 300px;
    width: 100%;
	display: flex;
    justify-content: center;
	align-items: center;
	padding: 13px 48px 13px 32px;
	border: 2px solid #fff;
	transition: 0.3s all;
	z-index: 0;
	-webkit-appearance: none;
}
.btnStyle01 button:hover{
	opacity: 0.8;
}
.btnStyle01 button:after{
}
.btnStyle01 button + button{
	margin-left: 30px;
}
#confirm .btnStyle01 button{
	padding: 0;
	text-align: center;
}
.btnStyle01 button.prev{
    color: #616161;
    border: 3px solid #616161;
}
.btnStyle01 button.prev::after{
	transform: rotate(180deg);
    left: 17px;
	right: auto;
    background-color: #616161;
}
@media (hover: hover) and (pointer: fine) {
	.btnStyle01 button:hover{
        cursor: pointer;
	}
}
#check_inner td{
	width: 100%;
	padding-top: 50px;
	text-align: center;
    border: none;
}
#check_inner td .input_area{
	justify-content: center;
}
#check_inner td .input_area a{
    color: #014A97;
	text-decoration: underline;
}
#check_inner td .input_area a:hover{
	text-decoration: none;
}
input#chkbox4[type="checkbox"]+label {
	color: #1a2233;
	font-weight: 600;
    position: relative;
    padding-left: 32px;
    cursor: pointer;
}
input#chkbox4[type="checkbox"]+label:hover {
    text-decoration: none;
}
input#chkbox4[type="checkbox"]+label::before{
    content: "";
    display: block;
    width: 22px;
    height: 22px;
    position: absolute;
    top: 53%;
    left: 0;
    transform: translateY(-50%);
    border: 1px solid #999999;
    cursor: pointer;
    background-color: #fff;
}
input#chkbox4[type="checkbox"]:checked+label::before {
    background-color: #FA842A;
    border: 1px solid #FA842A;
}
input#chkbox4[type=checkbox]:checked+label::after {
    content: "";
    display: block;
    position: absolute;
    top: 7px;
    left: 8px;
    width: 7px;
    height: 11px;
    transform: rotate(40deg);
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
}
.privacy_content {
    width: 100%;
    height: 220px;
    border: solid 1px #ccc;
    overflow-y: scroll;
    margin: 10px auto 0;
}
div.privacy_inner {
    padding: 10px 20px;
}


.confirm_txt{
	margin: 0 auto 30px;
	text-align: center;
	display: block;
}
.confirm_txt p {
	text-align: left;
	display: inline-block;
}
.download_txt{
	font-size: 18px;
    color: #d47b0f;
	text-decoration: underline;
}
.download_txt:hover{
	text-decoration: none;
}

.finish_txt {
    max-width: 420px;
    margin: 0 auto;
}

table tr p.notice{
	font-size: 14px;
	margin-top: 8px;
}


@media screen and (max-width: 950px){
	table tr td > span{
		display: block;
		margin: 10px 0 0;
	}
}

@media screen and (max-width: 768px){
    section#Contact{
        margin-top: 80px;
    }
	.container_narrow{
		margin-top: 30px;
	}
	form{
		margin: 30px auto 0;
	}
	table tr td{
		padding: 10px 0 20px;
	}
	#confirm table tr th{
		padding: 15px 0 5px;
	}
	#confirm table tr td{
		padding: 0 0 15px 0;
	}
	#confirm table tr td:before{
		content: none;
	}
	table tr th .form_ttl{
		padding-right: 10px;
	}
	input[type="text"] + input[type="text"]{
		display: block;
		margin: 10px 0 0;
	}
	body input{
		font-size: 16px !important;
	}
	.input_area > div p{
		font-size: 13px;
	}
	table tr th .required{
		font-size: 1.2rem;
		min-width: 36px;
		line-height: 20px;
	}
	#name_inner .input_area > div:first-child{
		margin-right: 10px;
	}
	#name_inner .input_area > div:last-child,
	#furigana_inner .input_area > div:last-child,
	#company_inner .input_area > div:last-child,
	#tel_inner .input_area > div:last-child,
	#email_inner .input_area > div:last-child{
		margin-top: 10px;
	}
	.btnStyle01{
		margin-top: 40px;
	}
}

@media screen and (max-width: 680px){
	.tblStyle01 th,
	.tblStyle01 td {
		display: block;
		width: 100%;
		border: 1px solid #c2ccd1;
		border-left: 1px solid #c2ccd1;
		border-bottom: none;
	}
	.tblStyle01 tbody tr:last-child td {
		border-bottom: 1px solid #c2ccd1;
	}
    table tr th .form_ttl{
        width: auto;
    }
}



.confirmBtn{
	gap: 40px;
}
.confirmBtn .button_back{
    position: relative;
    border-radius: 50px;
    background: #aaa;
    color: #fff;
    width: fit-content;
    min-height: 50px;
    display: flex;
    align-items: center;
    padding: 13px 48px 13px 32px;
    border: 2px solid #fff;
    transition: 0.3s all;
    z-index: 0;
    -webkit-appearance: none;
}
.confirmBtn input[type="submit"],
.confirmBtn .button_back{
	position: relative;
	padding-inline: 48px;
	transition: 0.3s;
    max-width: 200px;
    width: 100%;
    text-align: center;
}
.confirmBtn input[type="submit"]:hover,
.confirmBtn .button_back:hover{
	opacity: 0.8;
	cursor: pointer;
}
.confirmBtn .prev_btn,
.confirmBtn .send_btn{
	position: relative;
    max-width: 200px;
    width: 100%;
}
.confirmBtn .prev_btn:after,
.confirmBtn .send_btn:after{
    content: '';
    width: 10px;
    height: 10px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    transition: 0.3s all;
}
.confirmBtn .prev_btn:after{
	left: 20px;
    transform: rotate(-135deg);
}
.confirmBtn .send_btn:after{
    right: 20px;
    transform: rotate(45deg);
}

.btn.finish{
	margin: 40px auto;
	max-width: 300px;
	width: 100%;
	justify-content: center;
}