@charset "utf-8";
/* --------------------------------------------------
	reset
-------------------------------------------------- */
*,
::before,
::after { box-sizing: border-box;}

html { line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent;}
body { margin: 0;}
main { display: block;}
p, table, blockquote, address, pre, iframe, form, figure, dl { margin: 0;}
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0;}
ul, ol { margin: 0; padding: 0; list-style: none;}
dd { margin-left: 0;}
hr { box-sizing: content-box; height: 0; overflow: visible; border-top-width: 1px; margin: 0; clear: both; color: inherit;}
pre { font-family: monospace, monospace; font-size: inherit;}
address { font-style: inherit;}
a { background-color: transparent; text-decoration: none; color: inherit;}
abbr[title] { text-decoration: underline dotted;}
code, kbd, samp { font-family: monospace, monospace; font-size: inherit;}
small { font-size: 80%;}
sub,
sup { line-height: 0; position: relative; vertical-align: baseline;}

svg, img, embed, object, iframe { vertical-align: bottom;}

/* Forms */
/* ============================================ */
button, input, optgroup, select, textarea { -webkit-appearance: none; appearance: none; background: transparent; padding: 0; margin: 0; border-radius: 0;
 color: inherit; font: inherit; text-align: inherit; text-transform: inherit; vertical-align: middle;
}
button, [type="button"], [type="reset"], [type="submit"] { cursor: pointer;}
button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled { cursor: default;}
:-moz-focusring { outline: auto;}
select:disabled { opacity: inherit;}
option { padding: 0;}
fieldset { margin: 0; padding: 0; min-width: 0;}
legend { padding: 0;}

progress { vertical-align: baseline;}
textarea { overflow: auto;}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button { height: auto;}
[type="search"] { outline-offset: -2px;}
[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

::-webkit-file-upload-button { -webkit-appearance: button; font: inherit;}
[type="number"] { -moz-appearance: textfield;}
label[for] { cursor: pointer;}
details { display: block;}
summary { display: list-item;}
[contenteditable]:focus { outline: auto;}

table { border-color: inherit; border-collapse: collapse;}
td,
th { vertical-align: top; padding: 0;}



/*		font-style
-------------------------------------------------- */
body {
	font-family: "Noto Sans JP","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
/*	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;*/
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
input, textarea {font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

.min {font-family: "Noto Serif JP","游明朝", "Yu Mincho", "YuMincho", serif;}

::selection{ background: #feffaf; color: #000;}
::-moz-selection{ background: #feffaf; color: #000;}


a { color:#002159; text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px;}
a:link   { color:#002159;}
a:visited{ color:#002159;}
a:hover  { color:#002159;}
a:active { color:#002159;}

em{ font-style: normal;}


/*		utility
-------------------------------------------------- */
.cf{ clear: both;}
.cf:after{ content: ''; display: block; clear: both;}

@media (max-width: 641px) {
}




@media (max-width: 801px) {
}
@media (max-width: 481px) {
}

#hd { width: 100%; position: absolute; left: 0; top: 0; z-index: 10;}
#hd .inner-hd { display: flex; justify-content: space-between; align-items: center; width: 92%; max-width: 1320px; margin: 0 auto; padding-top: 24px;}
#hd .logo { width: 40%;}
#hd .hd-btn{ width: 40%;}
#hd .logo h1 a { display: block; width: 100%; max-width: 210px;}
#hd .logo h1 a img { width: 100%;}
#hd .hd-btn a { display: block; width: 100%; max-width: 260px; margin: 0 0 0 auto;}
#hd .hd-btn a img { width: 100%;}
#hd .hd-btn a:hover img { opacity: 0.8;}
@media (max-width: 801px) {
	#hd .hd-btn{ display: none;}
}
@media (max-width: 641px) {
}
@media (max-width: 481px) {
	#hd .inner-hd { padding-top: 16px;}
	#hd .logo { width: 32%;}
}

#fix-bnr { width: 100%; position: fixed; left: 0; bottom: 0; background: #fff; z-index: 100;}
#fix-bnr .btn { width: 88%; max-width: 500px; margin: 0 auto; padding: 15px 0;}
#fix-bnr .btn a { display: block; width: 100%;}
#fix-bnr .btn a img { width: 100%;}
#fix-bnr .btn a:hover { opacity: 0.8;}

#ft { position: relative; z-index: 3;}
#ft .inner-ft { width: 100%; margin: 0 auto; padding: 40px 0;}
#ft.has-fix .inner-ft { width: 100%; margin: 0 auto; padding: 40px 0 140px;}
#ft ul { margin-bottom: 40px; font-size: 0; text-align: center;}
#ft ul li { display: inline-block; margin: 12px 0; padding: 0 30px; font-size: 20px; line-height: 1;}
#ft ul li:last-child { border-right: 0;}
#ft ul li a { color: #000; text-decoration: none;}
#ft ul li a:hover { text-decoration: underline;}
#ft p.copyright { font-size: 14px; text-align: center;}
@media (max-width: 641px) {
	#ft ul li { margin: 8px 0; padding: 0 14px; font-size: 13px;}
	#ft ul li:nth-child(2) { border-right: 0;}
	#ft p.copyright { font-size: 12px;}
}
@media (max-width: 481px) {
	#ft .inner-ft { padding: 30px 0;}
	#ft.has-fix .inner-ft { padding: 30px 0 100px;}
	#ft ul { margin-bottom: 20px;}
}


.cta { background: url('./img/bg-cta-1.jpg') no-repeat 50% 50% / cover;}
.cta .inner { width: 100%; padding: 50px 0;}
.cta .tit { position: relative; margin-bottom: -56px;}
.cta .tit div { width: 85%; max-width: 680px; margin: 0 auto; padding: 16px 0; background: #c03741; box-shadow: 4px 4px 0 #9c252d;}
.cta .tit h3 { color: #fff; font-size: 32px; font-weight: 700; letter-spacing: 0.05rem; line-height: 1.4; text-align: center;}
.cta .box { width: 90%; max-width: 940px; margin: 0 auto; padding: 80px 0 40px; background: url('./img/bg-cta-2.jpg') no-repeat 50% 50% / cover;
 border-radius: 20px; box-shadow: 2px 2px 12px #c09811;
}
.cta .box p { font-size: 26px; font-weight: 700; letter-spacing: 0.05rem; line-height: 1.5; text-align: center;}
.cta .box p span { display: block;}
.cta .box ul { width: 82%; max-width: 540px; margin: 0 auto 10px; font-size: 0; text-align: center;}
.cta .box ul li { position: relative; display: inline-block; width: 33%; padding: 15px; font-size: 26px; font-weight: 900; letter-spacing: 0.05rem; line-height: 1.2;}
.cta .box ul li:nth-child(1) { font-size: 32px;}
.cta .box ul li:after { content: ''; position: relative; display: block; width: 100%; padding-top: 100%; z-index: 1;
 background: #fff; border: solid 2px #c03741; border-radius: 50%; box-shadow: 3px 3px 0 #c03741; box-sizing: content-box;
}
.cta .box ul li span { display: block; width: 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); z-index: 2; color: #c03741;}
.cta .box .btn { width: 88%; max-width: 680px; margin: 0 auto;}
.cta .box .btn a { display: block; width: 100%;}
.cta .box .btn a img { width: 100%;}
.cta .box .btn a:hover { opacity: 0.8;}
@media (max-width: 801px) {
	.cta .tit h3 { font-size: 4.0vw;}
	.cta .box p { font-size: 3.2vw;}
	.cta .box ul li { font-size: 21px;}
	.cta .box ul li:nth-child(1) { font-size: 24px;}
}
@media (max-width: 481px) {
	.cta .inner { padding: 40px 0;}
	.cta .tit { margin-bottom: -36px;}
	.cta .tit div { padding: 10px 0;}
	.cta .tit h3 { font-size: 17px;}
	.cta .box { padding: 52px 0 20px; border-radius: 10px; box-shadow: 2px 2px 8px #c09811;
	 background: url('./img/bg-cta-2@sp.jpg') no-repeat 50% 50% / cover;
	}
	.cta .box p { margin-bottom: 8px; font-size: 14px;}
	.cta .box ul li { padding: 8px; font-size: 14px;}
	.cta .box ul li:nth-child(1) { font-size: 16px;}
	.cta .box ul li:after { box-shadow: 1.5px 1.5px 0 #c03741; border-width: 1px; transform: translateX(-1.2px);}
}

.comment { position: relative; width: 90%; margin: 0 auto;}
.comment:before { content: ''; display: block; position: absolute; left: 0; bottom: 0;}
.comment div { position: relative; width: 100%; border: solid 2px #e58735; border-radius: 30px; padding: 30px 40px; padding-right: 10px; background: #fff;}
.comment div:after { content: ''; display: block; width: 48px; height: 30px; background: url('./img/fukidashi-1.png') no-repeat 50% 50% / 100% 100%;
 position: absolute; left: -48px; top: 50%;
}
.comment div p { font-size: 28px; font-weight: 600; letter-spacing: 0.05rem;}
.comment div p em { color: #c03741; font-size: 32px;}
@media (max-width: 1001px) {
	.comment div { padding: 20px; padding-right: 10px;}
	.comment div p { font-size: 3.0vw;}
	.comment div p em { font-size: 3.4vw;}
}
@media (max-width: 641px) {
	.comment div:after { width: 32px; height: 28px; left: -32px;}
}
@media (max-width: 481px) {
	.comment div { padding: 12px 0 12px 16px; padding-right: 10px; border-radius: 12px; border-width: 1px;}
	.comment div:after { width: 22px; height: 16px; left: -22px;}
	.comment div p { font-size: 13px; letter-spacing: 0;}
	.comment div p em { font-size: 14px;}
}



#kv { position: relative; background: url('./img/kv.png') no-repeat 50% 0 / 1920px auto; z-index: 3;}
#kv .inner { padding-top: 800px;}
#kv h1 { margin-bottom: 30px; text-align: center;}
#kv h1 img { width: 86%; max-width: 940px; }
#kv h1 img.sp { display: none;}
#kv .btn { width: 90%; max-width: 680px; margin: 0 auto;}
#kv .btn a { display: block; width: 100%;}
#kv .btn a img { width: 100%;}
#kv .btn a:hover img { opacity: 0.8;}
@media (max-width: 1201px) {
	#kv { background-size: 1400px auto;}
	#kv .inner { padding-top: 600px;}
}
@media (max-width: 801px) {
	#kv { position: relative; background: url('./img/kv@sp.jpg') no-repeat 50% 0 / 100% auto; z-index: 3;}
	#kv .inner { padding-top: 115vw;}
}
@media (max-width: 641px) {
	#kv h1 img.pc { display: none;}
	#kv h1 img.sp { display: block; margin: 0 auto;}
}
@media (max-width: 481px) {
}



#lead { position: relative; background: #f4e9da; overflow: hidden; z-index: 2;}
#lead:before { content: ''; display: block; width: 100%; height: 90px; background: url('./img/bg-1.png') no-repeat 50% 100% / 100% 100%;
 position: absolute; left: 50%; top: 0px; transform: translateX(-50%);
}
#lead .inner-sct { margin: 0 auto; padding: 140px 0 80px;}
#lead h2 { margin-bottom: 30px; text-align: center;}
#lead h2 img { width: 92%; max-width: 740px;}
#lead ul { width: 82%; max-width: 860px; margin: 0 auto 30px;}
#lead ul li { padding: 12px 0;}
#lead ul li dl { width: 100%; border: solid 1px #e58735; box-shadow: 3px 3px 0 #e58735; background: #fff;}
#lead ul li dl dt { }
#lead ul li dl dt img { width: 100%;}
#lead ul li dl dt img.sp { display: none;}
#lead ul li dl dd { position: relative; height: 130px; font-size: 28px; font-weight: 700; text-align: center;}
#lead ul li dl dd span { position: absolute; top: 50%; left: 0; transform: translateY(-52%); width: 100%;}

#lead .comment { max-width: 740px; padding: 12px 0 40px 240px;}
#lead .comment:before { width: 172px; height: 250px; background: url('./img/woman-2.png') no-repeat 50% 100% / 100% auto;}

#lead .box { width: 92%; max-width: 940px; margin: 0 auto; padding: 60px 0; background: url('./img/bg-2.jpg') no-repeat 50% 50% / cover; border: solid 3px #e58735; text-align: center;}
#lead .box h3 { display: inline-block; margin-bottom: 36px; border-bottom: solid 3px #e58735; font-size: 42px; font-weight: 900;}
#lead .box p { margin-bottom: 40px; font-size: 24px; font-weight: 700; letter-spacing: 0.05rem; line-height: 1.8;
 text-shadow: 0 0 12px #fff, 0 0 12px #fff;
}
#lead .box p:last-child { margin-bottom: 0px;}
#lead .box p span { display: block;}
#lead .box p br.sp { display: none;}
@media (max-width: 1001px) {
	#lead ul li dl dd { font-size: 3.0vw;}
	#lead .box { padding: 40px 0;}
	#lead .box h3 { margin-bottom: 32px; font-size: 4.2vw;}
	#lead .box p { margin-bottom: 30px; font-size: 2.4vw;}
}
@media (max-width: 801px) {
	#lead .box { padding: 20px 0 40px; background: url('./img/bg-2@sp.jpg') no-repeat 50% 50% / cover; border: solid 3px #e58735;}
	#lead .box p { font-size: 3.0vw;}
	#lead .box p br.sp { display: block;}
}
@media (max-width: 641px) {
	#lead:before { height: 60px; background-size: auto 100%;}
	#lead .inner-sct { padding: 100px 0 60px;}
	#lead ul li { padding: 8px 0;}
	#lead ul li dl dt img.pc { display: none;}
	#lead ul li dl dt img.sp { display: block;}
	#lead ul li dl dd { padding: 15px 20px; height: auto; text-align: left;}
	#lead ul li dl dd span { position: relative; left: auto; top: auto; transform: translateY(0);}
	#lead ul li dl dd br { display: none;}

	#lead .comment { padding: 12px 0 30px 150px;}
	#lead .comment:before { width: 120px; height: 174px;}
}
@media (max-width: 481px) {
	#lead:before { height: 60px; background-size: 120% 100%;}
	#lead h2 { margin-bottom: 8px;}
	#lead ul li { padding: 6px 0;}
	#lead ul li dl { box-shadow: 2px 2px 0 #e58735;}
	#lead ul li dl dd { padding: 12px 20px; font-size: 14px;}
}
@media (max-width: 481px) {
	#lead .inner-sct { padding: 90px 0 40px;}
	#lead .box { padding: 12px 0 20px; border-width: 2px;}
	#lead .box h3 { margin-bottom: 20px; border-width: 2px; font-size: 18.5px;}
	#lead .box p { margin-bottom: 12px; font-size: 13px; line-height: 1.65; text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 8px #fff, 0 0 8px #fff;}
	#lead .comment { padding: 12px 0 30px 124px;}
	#lead .comment:before { width: 100px; height: 146px;}
}


#reason .inner-sct { padding: 80px 0;}
#reason h2 { margin-bottom: 30px; font-size: 42px; font-weight: 900; letter-spacing: 0.05rem; text-align: center;}
#reason h2 em { color: #c03741;}
#reason .bloc { padding: 15px 0;}
#reason .box { position: relative; width: 88%; max-width: 900px; margin: 0 auto; padding: 40px 50px; padding-left: 300px; background: #fcf7f0; border: solid 1px #e58735; box-shadow: 4px 4px 0 #e58735;}
#reason .box figure { position: absolute; left: 40px; top: 40px; width: 220px;}
#reason .box figure img { width: 100%;}
#reason .box h3 { position: relative; margin-bottom: 30px; padding-left: 90px; font-size: 32px; font-weight: 700; line-height: 1.25;}
#reason .box h3 span.no { color: #e58735; font-size: 50px; font-weight: 900; line-height: 1;
 position: absolute; left: 0; top: 50%; transform: translateY(-52%);
}
#reason .box p { font-size: 22px; font-weight: 700; letter-spacing: 0.05rem;}
#reason .box p span.marker { background: linear-gradient(#fcf7f0 60%, #f3caa5 60%,#f3caa5 90%,#fcf7f0 90%)}

#reason .consult { background: url('./img/bg-3.jpg') no-repeat 50% 50% / cover;}
#reason .consult .inner { padding: 50px 0 0;}
#reason .consult h3 { margin-bottom: 20px; color: #e58735; font-size: 45px; font-weight: 700; line-height: 1.2; text-align: center;}
#reason .consult h3 span { display: inline-block; margin-bottom: 12px; padding: 3px 10px 8px; background: #fff; box-shadow: 5px 5px 0 #e58735;}
#reason .consult .txt { margin-bottom: 20px;}
#reason .consult .txt p { color: #fff; font-size: 30px; font-weight: 700; text-align: center;}
#reason .consult .comment { max-width: 820px; padding: 25px 0 50px 230px;}
#reason .consult .comment:before { width: 180px; height: 250px; background: url('./img/woman-1.png') no-repeat 50% 0% / 100% auto;}
#reason .consult .comment div { border: none;}
#reason .consult .comment div:after { background: url('./img/fukidashi-2.png') no-repeat 50% 50% / 100% 100%;}
@media (max-width: 801px) {
	#reason h2 { margin-bottom: 20px; font-size: 4.8vw;}
	#reason .bloc { padding: 10px 0;}
	#reason .box { min-height: 200px; padding: 20px 30px; padding-left: 250px;}
	#reason .box figure { left: 20px; top: 25px; width: 200px;}
	#reason .box h3 { margin-bottom: 20px; padding-left: 60px; font-size: 3.0vw;}
	#reason .box h3 span.no { font-size: 5.0vw;}
	#reason .box p { font-size: 2.2vw;}

	#reason .consult h3 { margin-bottom: 12px; font-size: 5.0vw;}
	#reason .consult .txt p { font-size: 3.6vw;}
}
@media (max-width: 641px) {
	#reason .bloc { padding: 8px 0;}
	#reason .consult .comment { padding: 15px 0 30px 140px;}
	#reason .consult .comment:before { width: 120px; height: 172px;}
}
@media (max-width: 481px) {
	#reason .inner-sct { padding: 40px 0;}
	#reason h2 { margin-bottom: 8px; font-size: 20px;}
	#reason .box { min-height: auto; padding: 20px; box-shadow: 2px 2px 0 #e58735;}
	#reason .box figure { position: relative; left: auto; top: auto; margin: 0 auto 16px;}
	#reason .box h3 { margin-bottom: 12px; padding-left: 40px; font-size: 18px;}
	#reason .box h3 span.no { font-size: 24px;}
	#reason .box p { font-size: 13px;}
	#reason .consult .inner { padding: 30px 0 0;}
	#reason .consult h3 { margin-bottom: 4px; font-size:20px;}
	#reason .consult h3 span { margin-bottom: 6px; padding: 2px 6px 6px; box-shadow: 3px 3px 0 #e58735;}
	#reason .consult .txt { margin-bottom: 8px;}
	#reason .consult .txt p { font-size: 14px;}
	#reason .consult .comment { padding: 10px 0 30px 100px;}
	#reason .consult .comment:before { width: 85px; height: 122px;}
	#reason .consult .comment div { padding: 10px 0 10px 18px;}
	#reason .consult .comment div p { font-size: 12px;}
}


#flow { background: #fdf6ec;}
#flow .inner-sct { padding: 80px 0 0;}
#flow h2 { margin-bottom: 30px; font-size: 42px; font-weight: 700; letter-spacing: 0.05rem; text-align: center;}
#flow ol { width: 90%; max-width: 960px; margin: 0 auto 50px;}
#flow ol li { position: relative; padding: 15px 25px 10px;}
#flow ol li:before,
#flow ol li:after { content: ''; display: block;}
#flow ol li:before { width: 160px; height: 68px; position: absolute; left: 0; top: 0; z-index: 2;}
#flow ol li:nth-child(1):before { background: url('./img/step-1-icn.png') no-repeat 50% 50% / 100% auto;}
#flow ol li:nth-child(2):before { background: url('./img/step-2-icn.png') no-repeat 50% 50% / 100% auto;}
#flow ol li:nth-child(3):before { background: url('./img/step-3-icn.png') no-repeat 50% 50% / 100% auto;}
#flow ol li:nth-child(4):before { background: url('./img/step-4-icn.png') no-repeat 50% 50% / 100% auto;}
#flow ol li:nth-child(5):before { background: url('./img/step-5-icn.png') no-repeat 50% 50% / 100% auto;}
#flow ol li:after { width: 0px; height: 0px; margin: 0 auto; border: solid 90px transparent; border-top: solid 22px #00c300; border-bottom: 0px;}
#flow ol li:last-child:after { content: none;}
#flow ol li dl { position: relative; margin-bottom: 30px; padding: 30px; padding-left: 210px; background: #fff; box-shadow: 4px 4px 0 #e58735; z-index: 1;}
#flow ol li:last-child dl { margin-bottom: 0px;}
#flow ol li dl:before { content: ''; display: block; width: 210px; height: 100%; position: absolute; left: 0px; top: 0%;}
#flow ol li:nth-child(1) dl:before { background: url('./img/step-1.png') no-repeat 50% 50% / 50% auto;}
#flow ol li:nth-child(2) dl:before { background: url('./img/step-2.png') no-repeat 50% 50% / 50% auto;}
#flow ol li:nth-child(3) dl:before { background: url('./img/step-3.png') no-repeat 50% 50% / 50% auto;}
#flow ol li:nth-child(4) dl:before { background: url('./img/step-4.png') no-repeat 50% 50% / 50% auto;}
#flow ol li:nth-child(5) dl:before { background: url('./img/step-5.png') no-repeat 50% 50% / 50% auto;}
#flow ol li dl dt { margin-bottom: 20px; font-size: 28px; font-weight: 700;}
#flow ol li dl dd { font-size: 20px;}
#flow .comment { max-width: 940px; padding: 15px 0 60px 230px;}
#flow .comment:before { width: 172px; height: 280px; background: url('./img/woman-3.png') no-repeat 50% 0% / 100% auto;}
#flow .comment div { padding: 20px 40px; padding-right: 15px;}
#flow .comment div p { line-height: 1.4;}
#flow .comment div p span { display: block;}
@media (max-width: 801px) {
	#flow h2 { margin-bottom: 20px; font-size: 4.8vw;}
	#flow ol li { padding: 10px 15px 6px;}
	#flow ol li:before { width: 120px; height: 50px;}
	#flow ol li dl { margin-bottom: 20px; padding: 20px; padding-left: 160px;}
	#flow ol li dl:before { width: 160px;}
	#flow ol li dl dt { margin-bottom: 12px; font-size: 3.6vw;}
	#flow ol li dl dd { font-size: 2.4vw;}
	#flow .comment div { padding: 20px 30px; padding-right: 15px;}
}
@media (max-width: 641px) {
	#flow ol li:before { width: 100px; height: 42px;}
	#flow ol li:after { border: solid 60px transparent; border-top: solid 16px #00c300; border-bottom: 0px;}
	#flow ol li dl { padding-left: 120px;}
	#flow ol li dl:before { width: 120px;}
	#flow ol li dl dt { margin-bottom: 8px;}
	#flow .comment { padding: 15px 0 30px 140px;}
	#flow .comment:before { width: 120px; height: 172px;}
}
@media (max-width: 481px) {
	#flow .inner-sct { padding: 40px 0 0;}
	#flow h2 { margin-bottom: 12px; font-size: 20px;}
	#flow ol { margin: 0 auto 20px;}
	#flow ol li { padding: 8px 12px 6px;}
	#flow ol li:before { width: 92px; height: 40px;}
	#flow ol li:after { border: solid 40px transparent; border-top: solid 12px #00c300; border-bottom: 0px;}
	#flow ol li dl { margin-bottom: 15px; padding: 12px; padding-left: 90px; box-shadow: 2px 2px 0 #e58735;}
	#flow ol li dl:before { width: 90px;}
	#flow ol li dl dt { margin-bottom: 6px; font-size: 14px;}
	#flow ol li dl dd { font-size: 11px;}
	#flow .comment { padding: 10px 0 25px 100px;}
	#flow .comment:before { width: 90px; height: 142px;}
	#flow .comment div { padding: 10px 15px; padding-right: 10px;}
}

#case {}
#case .inner-sct { padding: 80px 0 0;}
#case h2 { margin-bottom: 40px; font-size: 42px; font-weight: 700; letter-spacing: 0.05rem; text-align: center;}
#case .bloc { padding: 16px 0;}
#case .box { position: relative; width: 88%; max-width: 900px; min-height: 350px; margin: 0 auto; padding: 60px 40px 40px; padding-left: 280px; background: #fcf7f0; box-shadow: 4px 4px 0 #e58735;}
#case .box .tag { position: absolute; left: 0; top: -12px; width: 190px;}
#case .box .tag img { width: 100%;}
#case .box figure { position: absolute; left: 0px; top: 60px; width: 280px; text-align: center;}
#case .box figure img { margin-bottom: 10px; width: 60%; border-radius: 50%;}
#case .box figure figcaption { font-size: 24px; font-weight: 700;}
#case .box p { font-size: 22px; letter-spacing: 0.05rem;}
#case .box p span.marker { background: linear-gradient(#fcf7f0 60%, #f3caa5 60%,#f3caa5 90%,#fcf7f0 90%); font-weight: 700;}

#case .comment { max-width: 940px; padding: 15px 0 60px 230px;}
#case .comment:before { width: 172px; height: 280px; background: url('./img/woman-3.png') no-repeat 50% 0% / 100% auto;}
#case .comment div { padding: 20px 40px; padding-right: 10px;}
#case .comment div p { line-height: 1.4;}
#case .comment div p span { display: block;}
@media (max-width: 801px) {
	#case h2 { margin-bottom: 20px; font-size: 4.8vw;}
	#case .box { min-height: 300px; margin: 0 auto; padding: 40px 30px 30px; padding-left: 180px;}
	#case .box .tag { width: 160px;}
	#case .box figure { top: 50px; width: 180px;}
	#case .box figure img { width: 72%;}
	#case .box figure figcaption { font-size: 2.6vw;}
	#case .box p { font-size: 2.2vw;}
}
@media (max-width: 641px) {
	#case .box { min-height: 250px;}
	#case .box .tag { width: 150px;}
	#case .box figure { top: 40px;}
	#case .box figure img { margin-bottom: 6px;}
	#case .comment { padding: 15px 0 30px 140px;}
	#case .comment:before { width: 120px; height: 172px;}
}
@media (max-width: 481px) {
	#case .inner-sct { padding: 40px 0 0;}
	#case h2 { margin-bottom: 12px; font-size: 20px;}
	#case .bloc { padding: 20px 0;}
	#case .box { min-height: auto; padding: 40px 20px 25px; box-shadow: 2px 2px 0 #e58735;}
	#case .box .tag { width: 140px;}
	#case .box figure { position: relative; left: auto; top: auto; width: 100%; margin: 0 auto 12px;}
	#case .box figure img { width: 50%;}
	#case .box figure figcaption { font-size: 16px;}
	#case .box p { font-size: 13px;}
	#case .comment { padding: 10px 0 30px 100px;}
	#case .comment:before { width: 80px; height: 130px;}
	#case .comment div { padding: 10px 15px; padding-right: 10px;}
}

#faq { background: #fdf6ec;}
#faq .inner-sct { padding: 80px 0;}
#faq h2 { margin-bottom: 40px; font-size: 42px; font-weight: 700; letter-spacing: 0.05rem; text-align: center;}
#faq ul { width: 88%; max-width: 900px; margin: 0 auto;}
#faq ul li { padding: 14px 0;}
#faq ul li dl { width: 100%; padding: 0 40px; background: #fff; box-shadow: 4px 4px 0 #e58735;}
#faq ul li dl dt { position: relative; padding: 28px 60px 25px; font-size: 26px; font-weight: 700; line-height: 1.2; cursor: pointer;}
#faq ul li dl dd { display: none; padding: 25px 0 40px; border-top: dashed 2px #e58735; font-size: 20px;}
#faq ul li dl dt:before,
#faq ul li dl dt:after { content: ''; display: block; width: 32px; height: 3px; background: #e58735; position: absolute; right: 0; top: 50%;}
#faq ul li dl dt:before{ transform: translateY(-50%);}
#faq ul li dl dt:after { transform: translateY(-50%) rotate(-90deg); transition: 0.4s linear;}
#faq ul li dl dt.open:after { transform: translateY(-50%) rotate(0deg);}
#faq ul li dl dt span { position: absolute; left: 0; top: 50%; transform: translateY(-45%);
 width: 40px; height: 40px; background: url('./img/icn-q.png') no-repeat 50% 50% / 100% auto;
}
@media (max-width: 801px) {
	#faq h2 { margin-bottom: 20px; font-size: 4.8vw;}
	#faq ul li { padding: 10px 0;}
	#faq ul li dl dt { padding: 24px 60px 20px; font-size: 3.0vw;}
	#faq ul li dl dd { padding: 20px 0 30px; font-size: 2.4vw;}
}
@media (max-width: 481px) {
	#faq .inner-sct { padding: 40px 0;}
	#faq h2 { margin-bottom: 8px; font-size: 20px;}
	#faq ul li { padding: 6px 0;}
	#faq ul li dl { padding: 0 20px; box-shadow: 2px 2px 0 #e58735;}
	#faq ul li dl dt { padding: 12px 35px; font-size: 15px;}
	#faq ul li dl dd { padding: 12px 0 20px; border-width: 1px; font-size: 13px;}
	#faq ul li dl dt:before,
	#faq ul li dl dt:after { width: 20px; height: 2px;}
	#faq ul li dl dt span { width: 24px; transform: translateY(-50%);}
}


#company {}
#company .inner-sct { padding: 80px 0;}
#company h2 { margin-bottom: 40px; font-size: 42px; font-weight: 700; letter-spacing: 0.05rem; text-align: center;}
#company .txt { width: 88%; max-width: 950px; margin: 0 auto 30px;}
#company .txt p { font-size: 22px; letter-spacing: 0.05rem; line-height: 1.8;}
#company .map { width: 90%; max-width: 1000px; height: 370px; margin: 0 auto;}
#company .map iframe { width: 100%; height: 100%; border: none;}
@media (max-width: 801px) {
	#company h2 { margin-bottom: 20px; font-size: 4.8vw;}
	#company .txt p { font-size: 2.4vw;}
	#company .map { height: 300px;}
}
@media (max-width: 481px) {
	#company .inner-sct { padding: 40px 0;}
	#company h2 { margin-bottom: 12px; font-size: 20px;}
	#company .txt { margin: 0 auto 20px;}
	#company .txt p { font-size: 13px;}
	#company .map { height: 240px;}
}



.back { text-align: center;}
.back:before { content: ''; display: inline-block; width: 0px; height: 0px; border: solid 6px transparent; border-left: solid 10px #e58735; vertical-align: middle;}
.back a { display: inline-block; color: #000; font-size: 24px; text-decoration: none; vertical-align: middle;}
.back a:hover { text-decoration: underline;}
@media (max-width: 801px) {
	.back a { font-size: 20px;}
}
@media (max-width: 481px) {
	.back a { font-size: 14px;}
}


#company-data { background: #fdf6ec;}
#company-data .inner-sct { width: 88%; min-height: 100vh; margin: 0 auto; padding: 180px 0;}
#company-data .box { width: 100%; max-width: 1000px; margin: 0 auto 50px; padding: 50px 80px 80px; background: #fff; box-shadow: 4px 4px 0 #e58735; }
#company-data .box h2 { margin-bottom: 40px; font-size: 42px; font-weight: 700; text-align: center;}
#company-data .box ul { border-top: solid 1px #828282;}
#company-data .box ul li { padding: 20px; border-bottom: solid 1px #828282;}
#company-data .box ul li dl { display: table; width: 100%; }
#company-data .box ul li dl dt,
#company-data .box ul li dl dd { display: table-cell; font-size: 22px; }
#company-data .box ul li dl dt { width: 200px; font-weight: 700;}
#company-data .box ul li dl dd { width: auto;}
@media (max-width: 801px) {
	#company-data .box { margin: 0 auto 40px; padding: 30px 40px 50px;}
	#company-data .box h2 { margin-bottom: 20px; font-size: 30px;}
	#company-data .box ul li { padding: 12px;}
	#company-data .box ul li dl dt,
	#company-data .box ul li dl dd { display: block; width: 100%; font-size: 16px; }
}
@media (max-width: 481px) {
	#company-data .inner-sct { padding: 80px 0;}
	#company-data .box { margin: 0 auto 20px; padding: 20px 20px 30px;}
	#company-data .box h2 { margin-bottom: 12px; font-size: 20px;}
	#company-data .box ul li { padding: 8px;}
	#company-data .box ul li dl dt,
	#company-data .box ul li dl dd { font-size: 13px; }
}



#policy { background: #fdf6ec;}
#policy .inner-sct { width: 88%; min-height: 100vh; margin: 0 auto; padding: 180px 0;}
#policy .box { width: 100%; max-width: 1000px; margin: 0 auto 50px; padding: 50px 80px 80px; background: #fff; box-shadow: 4px 4px 0 #e58735; }
#policy .box h2 { margin-bottom: 40px; font-size: 42px; font-weight: 700; text-align: center;}
#policy .box p { margin-bottom: 12px; font-size: 16px;}
#policy .box ol { padding-left: 1rem;}
#policy .box ol li { padding: 12px 0; list-style-type: decimal; font-size: 16px;}
#policy .box ol li dl dt,
#policy .box ol li dl dd { font-size: 16px;}
#policy .box ol li dl dt { font-weight: 700;}
@media (max-width: 801px) {
	#policy .box { margin: 0 auto 40px; padding: 30px 40px 50px;}
	#policy .box h2 { margin-bottom: 20px; font-size: 30px;}
	#policy .box p { font-size: 14px; }
	#policy .box ol li { padding: 8px 0; font-size: 14px;}
	#policy .box ol li dl dt,
	#policy .box ol li dl dd { font-size: 14px; }
}
@media (max-width: 481px) {
	#policy .inner-sct { padding: 80px 0;}
	#policy .box { margin: 0 auto 20px; padding: 20px 20px 30px;}
	#policy .box h2 { margin-bottom: 12px; font-size: 20px;}
	#policy .box p { margin-bottom: 6px; font-size: 13px; }
	#policy .box ol li { padding: 6px 0; font-size: 13px;}
	#policy .box ol li dl dt,
	#policy .box ol li dl dd { font-size: 13px; }
}

