@charset "utf-8";
/* CSS Document */

/*===================================
	.lifetalk_mokuji_area
=====================================*/

.lifetalk_mokuji_area{
	width: 110%;/*1100*/
	background: #fff;
	border-radius: 10px;
	box-shadow: 0px 0px 5px 1px rgba(105,135,142,0.45);
	padding: 34px 0 24px;
	position: relative;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

/*↓色変更*/
html.pageYellow .lifetalk_mokuji_area{
	background: #F4E621;
	border: 1px solid #000;
}
html.pageBlack .lifetalk_mokuji_area{
	background: #000;
	border: 1px solid #fff;
}
html.pageBlue .lifetalk_mokuji_area{
	background: #0071b4;
	border: 1px solid #fff;
}
/*↑色変更*/

.lifetalk_mokuji_area ul.mokuji_list{
	width: 90.9090%;/*1000*/
	margin: 0 auto;
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0 30px;
	list-style: none;
}

.lifetalk_mokuji_area ul.mokuji_list li{
	width: 17.4%;
}

.lifetalk_mokuji_area ul.mokuji_list li a{
	display: flex;
	align-items: flex-end;
	width: 100%;
	min-height: 38px;
	border-bottom: 1px solid #aeaeae;
	padding: 9px 0 9px 2.8735%;/*5*/
	box-sizing: border-box;
	background: url("../images/about/mokuji_ico.svg")no-repeat right 11px bottom 11px;
	background-size: 14px auto;
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #39b04a;
}

/*===================================
	.contact_block01
=====================================*/

.contact_block01{
	padding: 158px 0 92px;
}

.contact_block01 p.txt_jp{
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #000;
	margin-top: 66px;
}

.contact_block01 p.txt_en{
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #000;
	margin-top: 23px;
}

.contact_block01 .contact_area01{
	width: 100%;
	height: 160px;
	margin-top: 40px;
	border: 1px solid #39b04a;
	border-radius: 20px;
	background: #fff;
	box-sizing: border-box;
	display: flex;
	align-items: center;
}

/*↓色変更*/
html.pageYellow .contact_block01 .contact_area01{
	background: #F4E621;
	border: 2px solid #000;
}
html.pageBlack .contact_block01 .contact_area01{
	background: #000;
	border: 2px solid #fff;
}
html.pageBlue .contact_block01 .contact_area01{
	background: #0071b4;
	border: 2px solid #fff;
}
/*↑色変更*/

.contact_block01 .contact_area01 .tel_area{
	width: 50.0%;
	padding-left: 4.0%;
	box-sizing: border-box;
	position: relative;
}

.contact_block01 .contact_area01 .tel_area + .tel_area::before{
	content: '';
	display: inline-block;
	background: #c7c7c7;
	width: 1px;
	height: 90px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	z-index: 1;
}

.contact_block01 .contact_area01 .tel_area dl{
	display: flex;
	align-items: center;
	gap: 0 17px;
	font-size: 1.8rem;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #ec5a24;
}

.contact_block01 .contact_area01 .tel_area + .tel_area dl{
	color: #29a6dd;
}

.contact_block01 .contact_area01 .tel_area p.tel_num{
	margin-top: 15px;
	padding-left: 13.4782%;/*62*/
	box-sizing: border-box;
	font-size: 3.6rem;
	line-height: 1;
	color: #333333;
	position: relative;
}

.contact_block01 .contact_area01 .tel_area p.tel_num a{
	color: #333333;
}

.contact_block01 .contact_area01 .tel_area p.tel_num::before{
	content: '';
	display: inline-block;
	background: url("../images/contact/tel_ico.svg")no-repeat;
	background-size: contain;
	width: 36px;
	height: 3.95rem;
	position: absolute;
	top: 3px;
	left: 11px;
	z-index: 1;
}

.contact_block01 .contact_area01 .tel_area + .tel_area p.tel_num::before{
	background: url("../images/contact/fax_ico.svg")no-repeat;
	background-size: contain;
	width: 40px;
	height: 40px;
	position: absolute;
	top: 50%;
	left: 5px;
	transform: translateY(-50%);
}

/*===================================
	.contact_block02
=====================================*/

.contact_block02{
	padding: 73px 0 95px;
	position: relative;
}

.contact_block02::before{
	content: '';
	display: inline-block;
	background: #fffdf3;
	width: 100vw;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

/*↓色変更*/
html.pageYellow .contact_block02::before,
html.pageBlack .contact_block02::before,
html.pageBlue .contact_block02::before{
	content: none;
}
/*↑色変更*/

.contact_block02 p.txt_jp{
	font-size: 1.6rem;
	line-height: 1.875;
	letter-spacing: 0.05em;
	color: #000;
	text-align: justify;
	margin-top: 60px;
}

.contact_block02 p.txt_en{
	font-size: 1.6rem;
	line-height: 1.875;
	letter-spacing: 0.05em;
	color: #000;
	text-align: justify;
	margin-top: 35px;
}

.contact_block02 .line_bnr{
	width: 31.5%;
	margin: 55px auto 0;
}

.contact_block02 .line_bnr img{
	width: 100%;
	height: auto;
}

/*===================================
	.contact_block03
=====================================*/

.contact_block03{
	padding: 62px 0 106px;
}

.contact_block03.pb-150{
	padding-bottom: 150px;
}

.contact_block03 .form_txtarea{
	margin-top: 46px;
}

.contact_block03 .form_txtarea p{
	font-size: 1.6rem;
	line-height: 2.1875;
	letter-spacing: 0.05em;
	color: #000;
	text-align: center;
}

.contact_block03 .form_txtarea p + p{
	margin-top: 15px;
}

.contact_block03 .form_txtarea p.thx_txt {
	text-align: justify;
}

.contact_block03 .form_txtarea p.color-red{
	color: #e81c24;
}

.contact_block03 ul.form_step{
	margin-top: 35px;
	padding-bottom: 33px;
	border-bottom: 1px solid #aeaeae;
	display: flex;
	justify-content: center;
	gap: 0 16px;
}

.contact_block03 ul.form_step li{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 15px;
	width: 19.33%;
	height: 44px;
	background: #e6e6e6;
}

.contact_block03 ul.form_step li p{
	font-size: 1.5rem;
	line-height: 1;
	color: #333333;
}

.contact_block03 ul.form_step li.on{
	background: #39b04a;
}

.contact_block03 ul.form_step li.on p{
	color: #fff;
}

/*↓色変更*/
html.pageYellow .contact_block03 ul.form_step li{
	background: #F4E621;
	border: 1px solid #000;
}
html.pageBlack .contact_block03 ul.form_step li{
	background: #000;
	border: 1px solid #fff;
}
html.pageBlue .contact_block03 ul.form_step li{
	background: #0071b4;
	border: 1px solid #fff;
}
html.pageYellow .contact_block03 ul.form_step li.on{
	background: #F4E621;
	border: 2px solid #000;
}
html.pageBlack .contact_block03 ul.form_step li.on{
	background: #000;
	border: 2px solid #fff;
}
html.pageBlue .contact_block03 ul.form_step li.on{
	background: #0071b4;
	border: 2px solid #fff;
}
/*↑色変更*/


/**/

.contact_block03 .form_wrap{
	width: 94.2%;
	margin: 40px auto 0;
}

.contact_block03 .form_wrap .form_content{
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.contact_block03 .form_wrap .form_content + .form_content{
	margin-top: 44px;
}

.contact_block03 .form_wrap .form_content .koumoku{
	display: flex;
	width: calc(100% - 71.3375%);/*-672*/
	margin-top: 11px;
}

.contact_block03 .form_wrap .form_content .koumoku.mt0{
	margin-top: 0;
}

.contact_block03 .form_wrap .form_content .koumoku.mt0{
	margin-top: 0;
}

.contact_block03 .form_wrap .form_content .koumoku .mark{
	width: 47px;
}

.contact_block03 .form_wrap .form_content .koumoku .mark p{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 47px;
	height: 30px;
	border-radius: 5px;
	background: #aeaeae;
	font-size: 1.6rem;
	line-height: 1;
	color: #fff;
}

.contact_block03 .form_wrap .form_content .koumoku .mark.hissu p{
	background: #ec2028;
}

.contact_block03 .form_wrap .form_content .koumoku .koumoku_wrap{
	width: calc(100% - 47px);
}

.contact_block03 .form_wrap .form_content .koumoku p.koumoku_name{
	width: calc(100% - 47px);
	font-size: 1.6rem;
	line-height: 1.50;
	color: #353535;
	padding: 3px 0 0 17px;
	box-sizing: border-box;
}

.contact_block03 .form_wrap .form_content .koumoku .koumoku_wrap + p.koumoku_name{
	width: 100%;
}

.contact_block03 .form_wrap .form_content .koumoku .koumoku_wrap p.sub_txt{
	font-size: 1.6rem;
	line-height: 1.50;
	color: #353535;
	padding: 20px 0 0 17px;
	box-sizing: border-box;
}

.contact_block03 .form_wrap .form_content .input_area{
	width: 71.3375%;/*672*/
}

.contact_block03 .form_wrap .form_content .input_area span.msg{
	color: #e81c24;
}

.contact_block03 .form_wrap .form_content .input_area input[type="text"],
.contact_block03 .form_wrap .form_content .input_area input[type="email"]{
	width: 100%;
	height: 50px;
	border: 1px solid #949494;
	padding: 0 3.5714%;/*24*/
	box-sizing: border-box;
	font-size: 1.6rem;
	line-height: 1;
}

/*↓色変更*/
html.pageYellow .contact_block03 .form_wrap .form_content .input_area input[type="text"],
html.pageYellow .contact_block03 .form_wrap .form_content .input_area input[type="email"]{
	background-color: #F4E621 !important;
}
html.pageBlack .contact_block03 .form_wrap .form_content .input_area input[type="text"],
html.pageBlack .contact_block03 .form_wrap .form_content .input_area input[type="email"]{
	background-color: #000 !important;
}
html.pageBlue .contact_block03 .form_wrap .form_content .input_area input[type="text"],
html.pageBlue .contact_block03 .form_wrap .form_content .input_area input[type="email"]{
	background-color: #0071b4 !important;
}
/*↑色変更*/


.contact_block03 .form_wrap .form_content .input_area input.input02{
	width: 51.0416%;/*343*/
}

.contact_block03 .form_wrap .form_content .input_area ul.check_list{
	list-style: none;
}

.contact_block03 .form_wrap .form_content .input_area ul.check_list li{
	font-size: 1.6rem;
	line-height: 1.25;
	letter-spacing: 0.05em;
	color: #353535;
}

.contact_block03 .form_wrap .form_content .input_area ul.check_list li + li{
	margin-top: 25px;
}

.contact_block03 .form_wrap .form_content .input_area ul.check_list li label{
	display: flex;
	padding-left: 40px;
	box-sizing: border-box;
	position: relative;
}

.contact_block03 .form_wrap .form_content .input_area ul.check_list li label:focus-visible{
	outline: 3px dashed #333;
}

/*↓色変更*/
html.pageYellow .contact_block03 .form_wrap .form_content .input_area ul.check_list li label:focus-visible{
	outline: 3px dashed #333;
}

html.pageBlack .contact_block03 .form_wrap .form_content .input_area ul.check_list li label:focus-visible{
	outline: 3px dashed #fff;
}

html.pageBlue .contact_block03 .form_wrap .form_content .input_area ul.check_list li label:focus-visible{
	outline: 3px dashed #fff;
}
/*↑色変更*/

.contact_block03 .form_wrap .form_content .input_area ul.check_list li input[type="checkbox"] {
	display: none;
}


.contact_block03 .form_wrap .form_content .input_area ul.check_list li label::before{
    content: '';
    display: block;
    border: 1px solid #949494;
    background: #fff;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 50%;
    left: 0;
	transform: translateY(-50%);
}

.contact_block03 .form_wrap .form_content .input_area ul.check_list li label::after {
    content: '';
    display: block;
    background: #39b04a;
    width: 19px;
    height: 19px;
    opacity: 0;
    position: absolute;
    top: 50%;
	left: 6px;
	transform: translateY(-50%);
	z-index: 1000;
}

.contact_block03 .form_wrap .form_content .input_area ul.check_list li input[type=checkbox]:checked + label::after {
    opacity: 1 !important;
}

.contact_block03 .form_wrap .form_content .input_area input.file{
	width: 100%;
	display: flex;
	align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
	font-size: 1.5rem;
	color: #353535;
}

.contact_block03 .form_wrap .form_content .input_area .file::file-selector-button{
	width: 162px;
	height: 31px;
	border-radius: 4px;
	border: 1px solid rgba(84,84,84,0.85);
	background: #f7f7f7;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
	font-size: 1.5rem;
	color: #353535;
	margin-right: 19px;
}

.contact_block03 .form_wrap .form_content .input_area p.hosoku_txt{
	margin-top: 22px;
	font-size: 1.4rem;
	line-height: 1.75;
	color: #353535;
}

.contact_block03 .form_wrap .form_content .input_area p.hosoku_txt + p.hosoku_txt {
	margin-top: 31px;
}
.contact_block03 .form_wrap .form_content .input_area input#datepicker{
	border: 1px solid #000000;
	border-radius: 10px;
	background: url("../images/memberonly/select_ico.svg")no-repeat #fff right 3.5714% center;/*24*/
	background-size: 21px auto;
	padding: 0 11.1607% 0 3.5714%;/*75 24*/
}

/*↓色変更*/
html.pageYellow .contact_block03 .form_wrap .form_content .input_area input#datepicker{
	background-color: #F4E621;
}
html.pageBlack .contact_block03 .form_wrap .form_content .input_area input#datepicker{
	background-color: #000;
}
html.pageBlue .contact_block03 .form_wrap .form_content .input_area input#datepicker{
	background-color: #0071b4;
}
/*↑色変更*/

.contact_block03 .form_wrap .form_content .input_area select{
	width: 100%;
	height: 50px;
	border: 1px solid #000000;
	border-radius: 10px;
	background: url("../images/memberonly/select_ico.svg")no-repeat #fff right 3.5714% center;/*24*/
	background-size: 21px auto;
	padding: 0 11.1607% 0 3.5714%;/*75 24*/
	box-sizing: border-box;
	font-size: 1.6rem;
	color: #353535;
}

.contact_block03 .form_wrap .form_content .input_area p.sample_txt{
	margin-top: 5px;
	font-size: 1.4rem;
	line-height: 1;
	color: #575757;
}

.contact_block03 .form_wrap .form_content .input_area p.c_txt{
	margin-top: 10px;
	font-size: 1.6rem;
	line-height: 1.75;
	color: #353535;
}

.contact_block03 .form_wrap .form_content .input_area p.c_txt a{
	color: #0071b7;
	text-decoration: underline;
}

.contact_block03 .form_wrap .form_content .input_area textarea{
	width: 100%;
	height: 23.15rem;
	padding: 10px 3.5714%;/*24*/
	box-sizing: border-box;
}

/*↓色変更*/
html.pageYellow .contact_block03 .form_wrap .form_content .input_area textarea{
	background-color: #F4E621 !important;
}
html.pageBlack .contact_block03 .form_wrap .form_content .input_area textarea{
	background-color: #000 !important;
}
html.pageBlue .contact_block03 .form_wrap .form_content .input_area textarea{
	background-color: #0071b4 !important;
}
/*↑色変更*/

.contact_block03 .form_wrap .form_content .input_area .policy_txt{
	border: 1px solid #c7c7c7;
	padding: 16px 1.7857% 15px 2.5297%;/*12 17*/
}

.contact_block03 .form_wrap .form_content .input_area .policy_txt p{
	font-size: 1.6rem;
	line-height: 1.5625;
	color: #000;
	text-align: justify;
}

.contact_block03 .form_wrap .form_content .input_area div.c_area{
	margin-top: 15px;
	background: #f2f2f2;
	padding: 0;
	height: 58px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	position: relative;
}

/*↓色変更*/
html.pageYellow .contact_block03 .form_wrap .form_content .input_area div.c_area{
	background: #F4E621;
}
html.pageBlack .contact_block03 .form_wrap .form_content .input_area div.c_area{
	background: #000;
}
html.pageBlue .contact_block03 .form_wrap .form_content .input_area div.c_area{
	background: #0071b4;
}
/*↑色変更*/

.contact_block03 .form_wrap .form_content .input_area div.c_area input[type="radio"] {
	display: none;
}

.contact_block03 .form_wrap .form_content .input_area div.c_area .policy_check{
	padding-left: 63px;
	box-sizing: border-box;
	font-size: 1.6rem;
	line-height: 1;
	color: #000000;
	position: relative;
}

.contact_block03 .form_wrap .form_content .input_area div.c_area .policy_check:focus-visible{
	outline: 3px dashed #333;
}

/*↓色変更*/
html.pageYellow .contact_block03 .form_wrap .form_content .input_area div.c_area .policy_check:focus-visible{
	outline: 3px dashed #333;
}

html.pageBlack .contact_block03 .form_wrap .form_content .input_area div.c_area .policy_check:focus-visible{
	outline: 3px dashed #fff;
}

html.pageBlue .contact_block03 .form_wrap .form_content .input_area div.c_area .policy_check:focus-visible{
	outline: 3px dashed #fff;
}
/*↑色変更*/


.contact_block03 .form_wrap .form_content .input_area div.c_area .policy_check::before {
    border: 1px solid #000000;
    border-radius: 50%;
    content: '';
    display: block;
    background: #fff;
    width: 32px;
    height: 32px;
    position: absolute;
    top: 50%;
    left: 18px;
	transform: translateY(-50%);
}

.contact_block03 .form_wrap .form_content .input_area div.c_area .policy_check::after {
    content: '';
    display: block;
    background: #3faa4c;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    opacity: 0;
    position: absolute;
    top: 50%;
	left: 24px;
	transform: translateY(-50%);
	z-index: 1000;
}

input[type=radio]:checked + .policy_check::after {
    opacity: 1 !important;
}

.contact_block03 .form_wrap .submit_btn{
	width: 33.5456%;/*316*/
	margin: 65px auto 0;
}

.contact_block03 .form_wrap .submit_btn input{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 82px;
	border-radius: 20px;
	background: url("../images/common/link_ico-white.svg")no-repeat #3faa4c right 6.9620% center;/*22*/
	background-size: 25px auto;
	box-shadow: 0px 0px 5px 1px rgba(105,135,142,0.45);
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
	font-size: 2.0rem;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #fff;
	transition: 0.5s;
}

/*↓色変更*/
html.pageYellow .contact_block03 .form_wrap .submit_btn input{
	background: url("../images/common/link_ico-lightorange.svg")no-repeat #F4E621 right 6.9620% center;/*22*/
	background-size: 25px auto;
	border: 1px solid #000;
}
html.pageBlack .contact_block03 .form_wrap .submit_btn input{
	background: url("../images/common/link_ico-white.svg")no-repeat #000 right 6.9620% center;/*22*/
	background-size: 25px auto;
	border: 1px solid #fff;
}
html.pageBlue .contact_block03 .form_wrap .submit_btn input{
	background: url("../images/common/link_ico-white.svg")no-repeat #0071b4 right 6.9620% center;/*22*/
	background-size: 25px auto;
	border: 1px solid #fff;
}
/*↑色変更*/

.contact_block03 .form_wrap .submit_btn input:hover{
	opacity: 0.6;
}

.contact_block03 .form_wrap .top_btn{
	width: 33.5456%;/*316*/
	margin: 65px auto 0;
}

.contact_block03 .form_wrap .top_btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 82px;
	border-radius: 20px;
	background: url("../images/common/link_ico-white.svg")no-repeat #3faa4c right 6.9620% center;/*22*/
	background-size: 25px auto;
	box-shadow: 0px 0px 5px 1px rgba(105,135,142,0.45);
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
	font-size: 2.0rem;
	line-height: 1.3025;
	letter-spacing: 0.05em;
	color: #fff;
	text-align: center;
}

/*↓色変更*/
html.pageYellow .contact_block03 .form_wrap .top_btn a{
	background: url("../images/common/link_ico-lightorange.svg")no-repeat #F4E621 right 6.9620% center;/*22*/
	background-size: 25px auto;
	border: 1px solid #000;
}
html.pageBlack .contact_block03 .form_wrap .top_btn a{
	background: url("../images/common/link_ico-white.svg")no-repeat #000 right 6.9620% center;/*22*/
	background-size: 25px auto;
	border: 1px solid #fff;
}
html.pageBlue .contact_block03 .form_wrap .top_btn a{
	background: url("../images/common/link_ico-white.svg")no-repeat #0071b4 right 6.9620% center;/*22*/
	background-size: 25px auto;
	border: 1px solid #fff;
}
/*↑色変更*/


.contact_block03 .form_wrap .bak_btn{
	width: 33.5456%;/*316*/
	margin: 65px auto 0;
}


.contact_block03 .form_wrap .bak_btn input{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 82px;
	border-radius: 20px;
	border: 1px solid #000000;
	background: url("../images/memberonly/bk_ico.svg")no-repeat #fff left 8.8607% center;/*28*/
	background-size: 25px auto;
	box-shadow: 0px 0px 5px 1px rgba(105,135,142,0.45);
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
	font-size: 2.0rem;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #000;
	transition: 0.5s;
}

/*↓色変更*/
html.pageYellow .contact_block03 .form_wrap .bak_btn input{
	background: url("../images/memberonly/bk_ico.svg")no-repeat #F4E621 left 8.8607% center;/*28*/
	background-size: 25px auto;
}
html.pageBlack .contact_block03 .form_wrap .bak_btn input{
	background: url("../images/common/link_ico-white.svg")no-repeat #000 left 8.8607% center;/*28*/
	background-size: 25px auto;
}
html.pageBlue .contact_block03 .form_wrap .bak_btn input{
	background: url("../images/common/link_ico-white.svg")no-repeat #0071b4 left 8.8607% center;/*28*/
	background-size: 25px auto;
}
/*↑色変更*/

.contact_block03 .form_wrap .bak_btn input:hover{
	opacity: 0.6;
}

.contact_block03 .tool_wrap{
	margin-top: 150px;
}

.contact_block03 .tool_wrap p.head_txt{
	padding-bottom: 12px;
	border-bottom: 1px solid #aeaeae;
	font-size: 2.0rem;
	line-height: 1.75;
	color: #333333;
	text-align: center;
}

.contact_block03 .tool_wrap p.txt_jp{
	margin-top: 15px;
	font-size: 1.6rem;
	line-height: 1.8125;
	color: #000;
	text-align: justify;
}

.contact_block03 .tool_wrap p.txt_en{
	margin-top: 20px;
	font-size: 1.6rem;
	line-height: 1.8125;
	color: #000;
	text-align: justify;
}
