﻿/* RESET CSS */
article, aside, details, figcaption, figure, footer, header, hgroup, img, menu, nav, section {display: block;}
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {margin: 0;padding: 0;border: 0;font: inherit;vertical-align: baseline;}
body {line-height: 1;}
ol, ul {list-style: none;}
img {padding: 0;max-width: 100%;height: auto;}
* {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
a[href^="tel:"] {pointer-events: none;text-decoration: none;color: #666;}
/*-------- Basic --------*/
:root {
	--base-color: #F5F5F7;
	--main-color: #1D1D1F;
	--accent-color: #00ad48;
	--border-radius: 8px;
}
html {font-size: 62.5%;}
body {width: 100%;font-size: 2.2rem;color: var(--main-color);line-height: 1.35;-webkit-font-feature-settings: 'palt'1;font-feature-settings: 'palt'1;font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;font-weight: 500;background: var(--base-color);}
.body_wrap { margin: 0 auto; overflow-x: hidden;}
a{color: /*indianred*/inherit;}
/*---電話番号PC時リンク無し----*/
a[href^="tel:"] {pointer-events: none;text-decoration: none;color: #666;}
/*--- Clearfix ---*/
.clearfix::before, .clearfix::after {content: " ";display: table;}
.clearfix::after {clear: both;}
.clearfix {*zoom: 1;}
/*--- Float ---*/
.img_right {float: right;padding: 0 0 2rem 2rem;}
.img_left {float: left;padding: 0 2rem 2rem 0;}
.img_center {margin: 0 auto;}
/*--- PC・SP表示調整 ---*/
.pc {display: block;}
.sp {display: none;}
/* ---Font--- */
.txt_c {text-align: center;}
.txt_r {text-align: right;}
.txt_l {text-align: left;}
.small {font-size: 70%;display: inline-block;}
.large {font-size: 110%;}
.sans {font-family:'Noto Sans JP', sans-serif;font-weight: 700;letter-spacing: 1px;}
.serif {font-family: 'Noto Serif JP', "serif";font-weight: 900;letter-spacing: 1px;}
.caption {width:100%;padding:1rem;margin:0 auto;background:#333;color:#fff;font-weight:bold;line-height:1.4;text-align:center;font-size: 90%;}
.middle {margin: 2rem auto !important;}
.bottom {margin: 0 0 2rem !important;}
.top {margin: 2rem 0 0 !important;}
.right {margin: 0 2rem 0 0;}
.left {margin: 0 0 0rem 2rem;}
/* flex */
.flex {display: -webkit-flex;display: -moz-flex;display: flex;flex-wrap: wrap;justify-content: space-between;}
.flex_center {justify-content: center;align-items: center;}
.flex_column {flex-direction:column;align-items: center;}
/* 注釈 */
.notice {font-size:1.5rem;font-weight:400;color:#8a8a8a;letter-spacing:1px;}
.notice.right {text-align: right;margin: 1rem 0 0 0;}
.pr {
    font-size: 1.2rem;
    color: #ccc;
}
/*--------Section / sub_head --------*/
section.content_wrap {
	padding: 7rem 0;
	width: calc(100% - 8vw);
	max-width: 1920px;
	margin: auto;}
section.content_wrap + section.content_wrap{margin-top: 7vw;}
h2.sub_head{
	letter-spacing: .04em;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 5rem;
	margin-bottom: 3rem;
	word-break: keep-all;
	overflow-wrap: break-word;
	margin-top: -0.2em;
}
/*--------Btn--------*/
.btn_wrap{margin-top: 4rem;}
.btn{
	width: fit-content;
	background: var(--main-color);
	border-radius: var(--border-radius);
}
.btn a{
	display: block;
	height: 62px;
	padding: 0 2rem;
	text-decoration: none;
	font-size: 2rem;
	font-weight: bold;
	color: #fff;
	line-height: 62px;
}
/*--------layout--------*/
.img_logo{width: 150px;}
.single_column.flex{gap:5rem;}
.double_column_wrap{
	display: grid;
	justify-items: start;
	align-items: start;
	grid-template-columns: 1fr 1fr;
	grid-gap:5rem;
}
.double_column{display: grid;grid-gap:3rem;}
.double_column img{border-radius: var(--border-radius); overflow: hidden;}
.triple_column_wrap{
	display: grid;
	justify-items: center;
	justify-items: stretch;
	align-items:stretch;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap:3rem;
}
.triple_column{}
/*--------voice--------*/
.voice{
	color: var(--main-color);
	border-radius: var(--border-radius);
	border:1px solid;
	padding: 3rem;
}
.voice_face{display: flex; align-items: center;margin-bottom: 2rem;}
.voice_face img{margin-right: 10px;}
.voice_name{}
.voice > .notice{margin-top: 1rem;}
/*--------box--------*/
.box1{width: calc((100% - 5rem) /2); border-radius: var(--border-radius); overflow: hidden;}
.box1_img{width: 100%;}
.box1_img img{width: 100%;}
.box1_inner{background:  var(--main-color);color:var(--base-color);padding: 3rem;}
.box1 > .notice{margin-top: 1rem;}
/*--------faq--------*/
.faq_wrap{
	align-items:start;}
.faq{
	display: grid;
	grid-gap:3rem;
}
.faq_num{
	margin: 0 auto ;
	background: var(--accent-color);
	width: 50px;
	height: 50px;
	border-radius: 50px;
	color: #fff;
	font-size: 3rem;
	text-align: center;
	line-height: 50px;
}

.faq h3{
	text-align: center;
	font-size: 3rem;
	font-weight: bold;
	word-break: keep-all;
	overflow-wrap: break-word;
}
/*--------　list  --------*/
.list1 {}
.list1 li { position: relative; padding: 0 0 3rem 6rem; line-height: 1.4; letter-spacing: .04em;font-weight: 600; font-size: 3.5rem;}
.list1 li:before, .list1 li:after {content: "";position: absolute;}
.list1 li:before {z-index: 1;top: 1.3rem;left: 1.5rem;-webkit-transform: rotate(50deg);-ms-transform: rotate(50deg);transform: rotate(50deg);	width: .7rem;height: 1.6rem;border-right: 3px solid #fff;border-bottom: 3px solid #fff;}
.list1 li:after {left: 0;top: .6rem;width: 3.8rem;height: 3.8rem;border-radius: 6px;background: var(--accent-color);}
.list1 li:last-child { padding-bottom: 0;}
/* form ----------------------------------------------------------------------------------------------*/
#formJump{background: #F5F5F5;}
#form_wrap{margin-top: 10rem;color: var(--main-color);}
#form{padding-top: 5rem!important;}
/* mail form ----------------------------------------------------------------------------------------------*/

.form {
	/*margin: 5rem auto 0;
	padding: 5rem;*/
	margin-top: 5rem;
}
.form_lead{text-align: center;font-weight: bold;margin: 0 auto 4rem;}
.form_inner {width: 70%;max-width: 400px;}
.form_left {width: 60%;position: relative;}
.form_must {
	position: absolute;
	left: 0.5rem;
	top: 50%;
	transform: translateY(-50%);
	background: #e53935;
	font-size: 1.2rem;
	color: var(--base-color);
	padding: 0.5rem;
	line-height: 1;
	z-index: 1;
}
.form_label {
	position: absolute;
	top: 50%;
	left: 2rem;
	transform: translateY(-50%);
	font-size: 1.8rem;
	color: #aaa;
	line-height: 1;
	transform-origin: 0 0;
	transition: all 0.2s ease;
}
.form_input {
	position: relative;
	background:#fff;
	color: var(--main-color);
	border: 1px solid #616161;
	border-radius: 5px;
	margin: 0 0 1rem;
	padding: 2rem 2rem;
	width: 100%;
	font-family: inherit;
	font-size: 2rem;
	line-height: 1;
	box-shadow: 0 0 0 0 #cdcdcd inset;
	transition: all 0.2s ease;
	height: 6rem;
}
.form_input:not(:placeholder-shown) + span {color: #5a667f;transform:translateY(-2.8rem) scale(0.6);}
.form_input:focus {outline: none;box-shadow: 0 0 0 2px var(--accent-color) inset;}
.form_input:focus + span {color:  var(--accent-color);transform: translateY(-2.2rem) scale(0.7);}
.form_right {width: fit-content;}
.form_btn {
	width: 100%;
	padding: 0 3rem;
	background: var(--accent-color);
	border:none;
	border-radius: 100px;
	font-size: 2.2rem;
	line-height: 1;
	color: var(--base-color);
	cursor: pointer;
	position: relative;
	transition: all 0.2s ease;
	height: 6rem;
}
.form_btn:hover {opacity: .8;}
.form_btn span::after {
	position: relative;
	display: inline-block;
	content: "";
	width: .5em;
	height: .5em;
	border-top: 2px solid;
	border-right: 2px solid;
	transform: translateY(-.07em) rotate(45deg);
	margin-left: 0.4em;
	/* filter: drop-shadow(0 1px 3px #006e12); */
}
.form_notice {width: 100%;margin:4rem 0 0 0;font-size: 1.2rem;color: #979797;}
.form_notice p {font-size: 1.4rem;color: #333;text-align: center;}
.btn_copy{font-size: 1.2rem;margin-top: 1rem;}
/*footer_form*/
.footer_form.form{margin-top: 5vw;margin-bottom: 10vw;}
.footer_form.form form {width: 750px;margin: 0 auto;}
.footer_form .form_inner {
	width: 100%;
	max-width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
}
.footer_form .form_right {width: 38%;}
/*mail autocomplete*/
.ui-autocomplete {
	position: absolute !important;
	background: #000!important;
	list-style: none;
	border-radius: 1rem;
	overflow: hidden;
	z-index: 10;
	color: #fff!important;
	border: #ccc 1px solid;
}
.ui-autocomplete li {
	border-bottom: 1px solid #ccc;
	padding: 1rem;
	font-family: inherit !important;
	text-align: left;
}
.ui-state-focus {background: #555!important;}
.ui-helper-hidden-accessible {display: none !important;}
/* footer ----------------------------------------------------------------------------------------------*/
#footer {background: #fff;color:var(--main-color); }
.footer_logo img {width: 150px;margin: 0 auto 1rem;}
.footer_txt {font-size: 1.1rem;text-align: center;line-height: 2.3;}
#footer_wrap {/*display: flex;width: 800px;*/padding: 2rem 0;margin: 0 auto;font-size: 80%;/*justify-content: center;*/}
#footer_wrap li {display: inline-block;padding: 0 1rem 0;border-left: 1px solid #aaa;}
#footer_wrap li:first-child {border: none;padding: 0 1em 0 0;}
/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
【 SP 】
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
@media screen and (max-width:480px) {
	body {width: 100%;font-size: 4.5vw;/*font-weight: bold;*/line-height: 1.7;}
	a[href^="tel:"] {pointer-events: auto;text-decoration: underline;color: #00e;}
	img{width: 100%;}
	.body_wrap {width: 100%;}
	/* Float */
	.img_right, .img_left {float: none;width: 80%;padding: 0 0 2vw;margin: 0 auto;}
	.pc {display: none!important;}
	.sp {display: block;}
	.b {font-weight:700;}
	.middle {margin: 4vw auto!important;}
	.bottom {margin: 0 auto 4vw!important;}
	.top {margin: 4vw auto 0!important;}
	.caption {font-size: 4.5vw;font-weight: bold;line-height: 1.3;padding: 2vw;color: var(--main-color);text-align: center;}
	.notice {font-size:3vw;}
	.flex {display: block;}.flex2 {display: block;}
	.img_logo{width: 35%;}
	.pr {font-size: 3vw;margin-top: 0;margin-bottom: -5vw;padding-bottom: 0;text-align: right;}
	/*--------Section / sub_head --------*/
	section.content_wrap {padding: 6.5vw 6.5vw 0; width:100%;}
	section.content_wrap + section.content_wrap{margin-top: 15vw;}
	section.content_wrap + section.content_wrap.no_top{margin-top: 0;}
	h2.sub_head{font-size: 7.5vw;line-height: 1.3;margin-bottom: 0;}
	/*--------Btn--------*/
	.btn_wrap{margin-top: 4vw;}
	.btn{ width: 100%; text-align: center;}
	.btn a{
		height: auto;
		padding: 5vw;
		font-size: 4.8vw;
		line-height: 1.4;
	}
	/*--------layout--------*/
	.single_column.flex{gap:0;}
	.sub_head + .single_column{margin-top: 8vw;}
	.double_column_wrap{
		display: grid;
		justify-items: start;
		grid-template-columns: 1fr;
		grid-gap:8vw;
	}
	.double_column{
		display: flex;
		flex-direction: column;
		gap: 6vw;
	}
	.double_column:first-of-type{order:2;}
	.double_column:last-of-type{order:1;}
	.triple_column_wrap{
		display: grid;
		justify-items: center;
		grid-template-columns: 1fr;
		grid-gap:6vw;
	}
	.sub_head + .triple_column_wrap{margin-top: 8vw;}
	.triple_column{}
	.sp_nogridgap{grid-gap:0;}
	/*--------voice--------*/
	.voice{padding: 5vw;}
	.voice_face{margin-bottom: 2vw;}
	.voice_face img{width: unset;}
	.voice_name{}
	.voice > p{font-weight: normal;}
	
	/*--------box--------*/
	.box1{width: 100%;}
	.box1 + .box1{margin-top: 8vw;}
	.box1_img{}
	.box1_inner{padding: 5vw;}
	.box1 > .notice{margin-top: 3vw;}
	/*--------faq--------*/
	.triple_column_wrap.faq_wrap{grid-gap:16vw;}
	.faq{grid-gap:8vw;}
	.faq_num{
		margin: 0 auto ;
		width: 12vw;
		height: 12vw;
		font-size: 6vw;
		line-height: 12vw;
	}
	.faq h3{font-size: 6vw;line-height: 1.3;word-break: keep-all;overflow-wrap: break-word;}
	.faq h3 + p{font-size: 90%;}
	/*--------　list  --------*/
	ul.list1 {margin: 0 0 0 4vw;width: 100%;}
	ul.list1 li {padding: 1vw 0 1vw 8vw;text-shadow: none;font-size: 4.5vw;}
	.list1 li::after {top: 1.8vw;left: 0;width: 4vw;height: 4vw;background-size: 100%;border-radius: 3px;}
	.list1 li:before {top: 1.5vw;left: 1vw;width: 1vw;height: 3vw;border-right: 2px solid #fff;border-bottom: 2px solid #fff;}
	/* form ----------------------------------------------------------------------------------------------*/
	#form_wrap {margin-top: 10vw;}
	/* mail form ----------------------------------------------------------------------------------------------*/
	.form {margin-top: 0;}
	.form_lead{margin: 0 auto 6vw;text-align:unset;line-height: 1.4;font-size: 105%;}
	.form_inner {width: 100%;max-width: 100%;}
	.form_left {width: 60%;}
	.form_must {
		left: 0.5rem;
		font-size: 1.2rem;
		padding: 0.5rem;
	}
	.form_label {
		left: 2rem;
		font-size: 1.8rem;
	}
	.form_input {
		margin: 0 0 1.5rem;
		padding: 2rem 2rem;
		font-size: 2rem;
		line-height: 1;
		height: 6rem;
	}
	.form_input:not(:placeholder-shown) + span {color: #5a667f;transform: translateY(-2.2rem) scale(0.7);}
	.form_input:focus {outline: none;box-shadow: 0 0 0 2px var(--accent-color) inset;}
	.form_input:focus + span {color:  var(--accent-color);transform: translateY(-2.2rem) scale(0.7);}
	.form_right {width: 100%;}
	.form_btn {
		padding: 0 2rem;
		font-size: 2.2rem;
		height: 6rem;
	}
	.form_btn span::after {
		border-top: 2px solid;
		border-right: 2px solid;
		transform: translateY(-.07em) rotate(45deg);
		margin-left: 0.4em;
		/* filter: drop-shadow(0 1px 3px #006e12); */
	}
	.form_notice {width: 100%;margin:10vw 0 0 0;font-size: 3vw}
	.form_notice p {font-size: 1.4rem;}
	.btn_copy{font-size: 1.2rem;margin-top: 1rem;text-align: center;}
	/*footer_form*/
	.footer_form.form{margin-top: 20vw;margin-bottom: 20vw;padding: 0 6.5vw;}
	.footer_form.form form {width: 100%;margin: 0 auto;}
	.footer_form .form_inner {
		width: 100%;
		max-width: 100%;
		display: block;
	}
	.footer_form .form_right {width: 100%;}
	/* footer ----------------------------------------------------------------------------------------------*/
	.footer_logo img {display: block;margin: 0 auto;}
	.footer_txt {padding: 1rem;}
	#footer_wrap {display: block;width: 100%;padding: 0;}
	#footer {padding: 6vw 0;}
}