@charset "utf-8";

*{
	box-sizing:border-box;
}
html{
	font-size:625%;
}
body{
	font-size:.16em;
	font-family:"Zen Kaku Gothic New", sans-serif;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	font-kerning: auto;
	font-variant-ligatures: no-common-ligatures;
	-webkit-text-size-adjust:100%;
	-webkit-tap-highlight-color:rgba(100,100,100,0.4);
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
/*	letter-spacing:.08em;*/
	line-height:1;
}
@media screen and (max-width: 600px) {
	html{
		font-size:525%;
	}
}
a{
	color:#1C76C5;
}
a:hover{
	text-decoration:none;
}
a,input,label,button,textarea{
	touch-action: manipulation;
}
hr{
	width:100%;
	height:1px;
	background:none;
	border:none;
	border-top:1px dashed #3F866D;
}
@media screen and (max-width: 600px) {
	input,button,textarea{
		font-size:16px !important;
	}
}

.l-header{
	padding:.8em;
	width:100%;
	display:flex;
	align-items:center;
	background:rgba(255,255,255,20%);
	backdrop-filter:blur(30px) saturate(1.5);
	position:sticky;
	top:0;
	left:0;
	z-index:99;
}
.site_name{
	margin-left:auto;
	margin-right:auto;
	padding-left:1.5em;
	color:inherit;
	font-size:.48rem;
	font-weight:700;
	line-height:1.2;
	text-align:center;
	text-decoration:none;
	background:url('../images/logo.png') no-repeat 0 50% / contain;
}
.header-link{
	text-align:right;
}
.header-link a{
	padding:.5em 1.2em;
	display:block;
	color:inherit;
	font-weight:700;
	text-decoration:none;
	border:1px solid #05683A;
	background:rgba(255,255,255,50%);
}
@media screen and (max-width: 600px) {
	.site_name{
		font-size:.32rem;
	}
}

.l-main{
	padding-top:3em;
}

.l-footer{
	margin-top:6em;
	color:#fff;
	background:#1EA586;
}
.l-footer .footer_inner{
	margin-left:auto;
	margin-right:auto;
	padding:2em 1em;
	width:1100px;
	max-width:90%;
	text-align:center;
}
.l-footer p{
	line-height:normal;
}
.contact_name{
	font-weight:700;
}
.front .l-footer{
	margin-top:0;
}

.fv{
	height:80svh;
	overflow:hidden;
}
.fv img{
	width:100%;
	height:100%;
	object-fit:cover;
}
@media (orientation: portrait) {
	.fv{
		height:60svh;
	}
}


.section{
	margin-left:auto;
	margin-right:auto;
	width:768px;
	max-width:90svw;
}
.section + .section{
	margin-top:6em;
}
.lead{
	margin-top:-75px;
	margin-left:auto;
	margin-right:auto;
	padding:clamp(40px,15vw,75px) clamp(10px,5vw,180px) 0;
	width:1100px;
	max-width:95svw;
	background:#fff;
	border-radius:69px 69px 0 0;
	position:relative;
	z-index:1;
}
.section-title{
	margin-bottom:1em;
	padding-bottom:1em;
	font-size:.42rem;
	font-weight:700;
	text-align:center;
	line-height:1.2;
	position:relative;
}
.section-title::after{
	content:"";
	display:block;
	width:120px;
	height:1px;
	background:#3F866D;
	position:absolute;
	bottom:0;
	left:50%;
	transform:translate(-50%,0);
}
.section-subtitle{
	margin-bottom:1em;
	font-size:.2rem;
}
.section p{
	line-height:2;
}
.section p + p{
	margin-top:1.6em;
}
.confirm-title{
	margin-top:1em;
	padding:.4em .5em;
	color:#fff;
	font-size:.28rem;
	font-weight:700;
	line-height:1.2;
	background:#1EA586;
}
@media screen and (max-width: 768px) {
	.section-title{
		font-size:.34rem;
	}
}

.session{
	margin-top:6em;
	padding-top:6em;
	padding-bottom:6em;
	background:#eff4f0;
}

.aside{
	margin-top:2em;
	margin-bottom:2em;
	padding:1em;
	border:8px solid #1EA586;
}
.aside-title{
	margin-bottom:.8em;
	padding-bottom:.3em;
	font-size:.24rem;
	font-weight:700;
	line-height:1.2;
	border-bottom:3px dotted #1EA586;
}
.flex{
	display:flex;
	gap:2em;
}
figcaption{
	margin-top:.5em;
	font-size:.14rem;
	font-weight:700;
	text-align:center;
}
@media screen and (max-width: 600px) {
	.flex{
		flex-direction:column;
		gap:1em;
	}
	figure{
		order:2;
	}
	figcaption{
		text-align:left;
	}
}

.cta{
	margin-left:auto;
	margin-right:auto;
	padding:1em;
	width:530px;
	max-width:90%;
	background:linear-gradient(to right,#20A585 0%, #9BC66B 100%);
	border-radius:20px;
}
.cta-title{
	padding-top:.5em;
	padding-bottom:1em;
	color:#fff;
	font-size:.2rem;
	text-align:center;
	line-height:1.2;
}
.cta-content{
	padding:2em;
	text-align:center;
	background:#fff;
	border-radius:20px;
}
.cta-name{
	font-size:.24rem;
	font-weight:700;
}
.cta-tel{
	margin-top:.5em;
	margin-bottom:1em;
	font-size:.2rem;
	font-weight:700;
}
.cta-tel-num{
	font-size:.36rem;
	font-weight:400;
}
.cta-email{
	margin-top:.5em;
	font-size:.24rem;
}
.cta p{
	line-height:normal;
}

.page_title{
	margin-bottom:2em;
	font-size:.32rem;
	text-align:center;
}


/*step01*/
.stepbar01 {
	position: relative;
	margin-left: auto;
	margin-right:auto;
	width:700px;
	max-width:95svw;
	display: flex;
	justify-content: center;
}
.stepbar01 li {
	position: relative;
	list-style: none;
	text-align: center;
	color: #909090;
	font-weight: 700;
	width:25%;
}
.stepbar01 li.current{
	color:#1C76C5;
}
.stepbar01 li span{
	font-size:.12rem;
}
.stepbar01 li p {
	margin: .5em;
	line-height:1.4;
}
.stepbar01 li:before {
	display: block;
	width: 18px;
	height: 18px;
	margin: 0.5em auto;
	content: "";
	text-align: center;
	border-radius: 50%;
	background-color: #fff;
	border: 1px solid #000;
}
.stepbar01 li.current:before {
	background-color:#1C76C5;
}
.stepbar01 li:after {
	position: absolute;
	z-index: -1;
	top: 1em;
	left: -50%;
	width: 100%;
	height: 1px;
	content: "";
	background-color: #000;
}
.stepbar01 li:first-child:after {
	content: none;
}
@media screen and (max-width: 960px) {
	.stepbar01 li p {
		margin: 10px 15px;
		font-size: 12px;
	}
}
@media screen and (max-width: 600px) {
	.stepbar01 li p {
		margin: 10px 0;
	}
}

.section_flow{
	padding:3em 0;
	background:linear-gradient(to right,#20A585 0%, #9BC66B 100%);
	position:relative;
}
.section_flow::before{
	content:"";
	display:block;
	background:#fff;
	top:6px;
	right:6px;
	bottom:6px;
	left:6px;
	position:absolute;
	z-index:0;
}
.section_flow > *{
	position:relative;
	z-index:1;
}

/*step03*/
.stepbar03 {
	margin: 0 auto;
	max-width: 80%;
	width:fit-content;
}
.stepbar03-wrap {
	margin: 2em 0;
	position: relative;
}
.stepbar03-head {
	display: flex;
	align-items: center;
	gap:1em;
}
.stepbar03-head-circle {
	display: flex;
	flex-direction:columns;
	justify-content:center;
	align-items:center;
	width: 3em;
	height: 3em;
	border-radius: 50%;
	background-color: #20A585;
	color: #fff;
	text-align: center;
}
.stepbar03-head-num {
	font-size: 0.8em;
	line-height: 1.2;
	font-weight: 700;
	position:relative;
	top:0.2em;
}
.stepbar03-head-title {
	font-weight: bold;
	font-size: .24rem;
}
.stepbar03-content {
	padding-top: .5em;
	padding-left: 4em;
}
.stepbar03-content-title {
	font-weight:bold;
	margin-bottom:1em;
}
.stepbar03-content .flex{
	width:100%;
	justify-content:space-between;
}
.stepbar03-content-main {
}
.stepbar03-line {
	width: 1px;
	height: calc(100% + 1em);
	background-color: #20A585;
	position: absolute;
	top: 1em;
	left: 1.5em;
	z-index: -1;
}
.stepbar03-wrap:last-of-type .stepbar03-line{
	display: none;
}
@media screen and (max-width: 960px) {
	.stepbar03 {
		max-width: 90%;
	}
}
@media screen and (max-width: 600px) {
	.stepbar03-content .flex figure{
		padding-right:3em;
	}
}


.form_section{
	margin-left:auto;
	margin-right:auto;
	width:1100px;
	max-width:95vw;
	padding:clamp(10px,5vw,60px) clamp(10px,5vw,100px);
	background:#F9F9F9;
}
.form_section p{
	line-height:2;
}
.form_section p + p{
	margin-top:1.6em;
}
.form_wrap{
	padding:clamp(10px,5vw,3em);
	background:#fff;
}
.form_wrap-title{
	margin-bottom:1em;
	padding:.4em .5em;
	font-size:.24rem;
	font-weight:700;
	line-height:1.2;
	background:#eff4f0;
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:.1em .5em;
}
.form_wrap-title.hissu::before{
	content:"必須";
	display:inline-block;
	padding:.2em .4em;
	color:#fff;
	font-size:.16rem;
	font-weight:700;
	line-height:1;
	border-radius:5px;
	background:#1EA586;
}
.form_checklist{
	display:flex;
	align-items:flex-start;
	gap:1.5em;
	line-height:1.8;
}
.form_wrap input[type="checkbox"]{
	margin:0;
	padding:0;
	width:28px;
	height:28px;
	flex-shrink:0;
	border:2px solid #1cb0c5;
	background-color:transparent;
	appearance:none;
	cursor:pointer;
}
.form_wrap input[type="checkbox"]:checked{
	background:#1cb0c5 url('../images/icon_checkbox02.png') no-repeat 50% 0% / 19px 19px;
}
label{
	cursor:pointer;
}
.formgrid,
[class*="formgrid__"]{
	display:grid;
	gap:2em .5em;
}
.formgrid__col2{
	grid-template-columns:5.5em minmax(0,1fr);
}
.formgrid__col4{
	grid-template-columns:5.5em minmax(0,1fr) 5.5em minmax(0,1fr);
}
.formgrid-label{
	font-weight:700;
	text-align:right;
}
.form_section:not(#form_section05) .formgrid-label{
	padding-top:.8em;
	padding-bottom:.8em;
}
[class*="formgrid"] input,
[class*="formgrid"] textarea{
	margin:0;
	padding:.5em;
	width:100%;
	font:inherit;
	border:2px solid #1cb0c5;
	border-radius:0;
	background:#fff;
	appearance:none;
}
[class*="formgrid"] textarea{
	height:5em;
}
[class*="formgrid"] input[type="radio"]{
	margin-right:.5em;
	padding:0;
	width:29px;
	height:29px;
	border:2px solid #1cb0c5;
	border-radius:50%;
	background:#fff;
	appearance:none;
}
[class*="formgrid"] input:focus,
[class*="formgrid"] textarea:focus{
	outline:none;
	background:#EFF7FE;
}
[class*="formgrid"] input[type="radio"]:checked{
	background:#1cb0c5 url('../images/icon_checkbox02.png') no-repeat 50% 0% / 19px 19px;
}
label + input{
	margin-left:2em !important;
}
.formgrid-zip input{
	max-width:302px;
}
.formgrid-zip,
.formgrid-form{
	position:relative;
}
.formgrid-zip .error,
.formgrid-form .error{
	color:#f33;
	font-size:.14rem;
	position:absolute;
	left:0;
	bottom:-1.2em;
}
.formgrid-zip:has(.error) input,
.formgrid-form:has(.error) input,
.formgrid-form:has(.error) textarea{
	border-color:#f33;
}
.form_wrap object{
	display:none;
	width:auto;
	height:auto;
	max-width:100%;
	max-height:30svh;
}
.form_wrap object.obj-img{
	width:auto;
	height:auto;
	display:block;
}
.form_wrap object.obj-pdf{
	width:100%;
	height:30svh;
	display:block;
}
.t-submit{
	min-width:320px;
	padding:.8em 1em;
	color:#fff;
	font-size:.26rem;
	font-family:inherit;
	font-weight:700;
	background:linear-gradient(to right,#9FCFC5 0%,#1C76C5 100%);
	border:none;
	border-radius:9px;
	appearance:none;
	cursor:pointer;
	transition:.5s;
}
.t-button{
	min-width:245px;
	margin:.5em;
	padding:.8em 1em;
	color:#1C76C5;
	font-size:.16rem;
	font-family:inherit;
	font-weight:700;
	background:#fff;
	border:2px solid #1C76C5;
	border-radius:9px;
	appearance:none;
	cursor:pointer;
	transition:.5s;
}
.t-submit:hover,
.t-button:hover{
	opacity:.8;
}
.t-submit + .error{
	color:#f33;
	font-size:.14rem;
	display:block;
	width:fit-content;
	margin-left:auto;
	margin-right:auto;
	margin-top:.5em;
}
@media screen and (max-width: 768px) {
	.formgrid__col4{
		grid-template-columns:5em minmax(0,1fr);
	}
}


.t-border_wrap{
	padding:2em;
	border:2px solid #20A585;
	border-radius:20px;
}
.t-mt0{
	margin-top:0 !important;
}
.t-mb0{
	margin-bottom:0 !important;
}
.t-mb5{
	margin-bottom:.5em !important;
}
.t-mb10{
	margin-bottom:1em !important;
}
.t-mb20{
	margin-bottom:2em !important;
}
.t-mb30{
	margin-bottom:3em !important;
}
.t-mb40{
	margin-bottom:4em !important;
}
.t-mb50{
	margin-bottom:5em !important;
}

.t-fs14{
	font-size:.14rem;
}
.t-fs16{
	font-size:.16rem;
}
.t-fs20{
	font-size:.2rem;
}
.t-fs24{
	font-size:.24rem;
}
.t-fs26{
	font-size:.26rem;
}
.t-fs30{
	font-size:.3rem;
}

.t-bold{
	font-weight:700;
}

.t-align_left{
	text-align:left;
}
.t-align_center{
	text-align:center;
}
.t-align_right{
	text-align:right;
}

.t-align_self_start{
	align-self:flex-start;
}
.t-align_self_center{
	align-self:center;
}
.t-align_self_bottom{
	align-self:flex-bottom;
}

.t-marker{
	background:linear-gradient(to bottom, transparent 60%,rgba(255,234,45,50%) 60%);
}
.t-accent{
	padding:.2em .5em;
	color:#f33;
	border:3px double #f33;
}

.t-btn{
	margin-top:.5em;
	margin-bottom:.5em;
	padding:.5em 1.8em;
	color:#fff;
	font-weight:700;
	text-align:center;
	text-decoration:none;
	background:linear-gradient(to right, #99C56A 0%, #41B281 100%);
	display:inline-block;
	border-radius:9px;
	transition:.5s;
	position:relative;
}
a.t-btn:hover,
input.t-btn:hover,
button.t-btn:hover{
	opacity:.8;
}
.t-btn::after{
	content:"";
	display:block;
	width:3px;
	height:3px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	position:absolute;
	right:.5em;
	top:50%;
	transform:translate(-50%,-50%) rotate(45deg);
}
[class*="t-btn_download"]{
	margin-top:.5em;
	margin-bottom:.5em;
	padding:.2em 3em;
	color:#333;
	font-weight:700;
	text-align:center;
	text-decoration:none;
	border:2px solid #333;
	display:inline-block;
	border-radius:7px;
	transition:.5s;
	position:relative;
	box-sizing:border-box;
}
a[class*="t-btn_download"]:hover,
input[class*="t-btn_download"]:hover,
button[class*="t-btn_download"]:hover{
	opacity:.8;
}
[class*="t-btn_download"]::before{
	content:"";
	display:block;
	background-repeat:no-repeat;
	background-position:50% 50%;
	background-size:80% 80%;
	border-radius:0 3px 3px 0;
	aspect-ratio:1 / 1;
	position:absolute;
	top:0;
	left:0;
	bottom:0;
}
[class*="t-btn_download"]::after{
	content:"";
	display:block;
	background:#333 url('../images/icon_download.svg') no-repeat 50% 50% / contain;
	border-radius:0 3px 3px 0;
	aspect-ratio:1 / 1;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
}
.t-btn_download_pdf{
	color:#de534e;
	border-color:#de534e;
}
.t-btn_download_pdf::before{
	background-image:url('../images/icon_pdf.png');
}
.t-btn_download_pdf::after{
	background-color:#de534e;
}
.t-btn_download_word{
	color:#3f84eb;
	border-color:#3f84eb;
}
.t-btn_download_word::before{
	background-image:url('../images/icon_word.png');
}
.t-btn_download_word::after{
	background-color:#3f84eb;
}
.t-btn_max{
	display:block;
}

.t-list{
	margin-top:1.6em;
	margin-bottom:1.6em;
	padding-left:2em;
}
.t-list li{
	list-style-type:disc;
	line-height:1.8;
}
.t-list li.t-list-ast{
	list-style-type:none;
	position:relative;
}
.t-list li.t-list-ast::before{
	content:"※";
	position:absolute;
	left:-1.5em;
}

.t-centering{
	margin-left:auto;
	margin-right:auto;
	width:fit-content;
	max-width:100%;
}
.t-count{
	margin-top:.5em;
	font-weight:400;
}

.t-table_green{
	margin-top:1.8em;
	margin-bottom:1.8em;
	width:100%;
	border-collapse:collapse;
}
.t-table_green th,
.t-table_green td{
	padding:1em clamp(1em,3vw,2em);
	line-height:1.8;
	border:1px solid #3F866D;
}
.t-table_green th{
	width:21%;
	text-align:center;
	vertical-align:middle;
	background:#EFF4F0;
}
.session .t-table_green th{
	color:#fff;
	background:linear-gradient(to right,#1ea586 0%, #a0c769 100%);
}
.t-table_green td{
	background:#fff;
}
@media screen and (max-width: 600px) {
	.t-table_green th,
	.t-table_green td{
		width:100%;
		display:block;
	}
	.t-table_green th{
		text-align:left;
	}
	.t-table_green td{
		border-top:none;
	}
}

.t-br_sp{
	display:none;
}
@media screen and (max-width: 960px) {
	.t-br_pc{
		display:none;
	}
}
@media screen and (max-width: 600px) {
	.t-br_sp{
		display:inline;
	}
}

.p-country-name{
	display:none;
}