@charset "utf-8";
/* --------------------------------------------------
	reset
-------------------------------------------------- */
* { margin: 0; padding: 0; box-sizing: border-box;}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
form, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0; padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

img{ vertical-align: bottom;}
ul{ list-style: none;}
ul li{ list-style-type: none;}
figure { margin: 0;}


/* =============================================================================
   Forms
   ========================================================================== */
form { margin: 0;}
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em;}
legend { border: 0;}
button,
input,
select,
textarea { font-size: 100%; margin: 0; vertical-align: baseline;}
button,
input { line-height: normal;}
button,
input[type="button"], 
input[type="reset"], 
input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"],
input[type="radio"] { box-sizing: border-box; padding: 0;}
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

button::-moz-focus-inner,
input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top;}
input[type="search"]:focus { outline: none;}

table {
    border-collapse: collapse;
    border-spacing: 0;
}


/*	Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box;
-webkit-user-select: none;
   -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;

-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
  	  touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0;}
.slick-list:focus { outline: none;}
.slick-list.dragging{ cursor: pointer; cursor: hand;}
.slick-slider .slick-track,
.slick-slider .slick-list{
-webkit-transform: translate3d(0, 0, 0);
   -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
     -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
}
.slick-track { position: relative; top: 0; left: 0; display: block;}
.slick-track:before,
.slick-track:after { display: table; content: '';}
.slick-track:after { clear: both;}
.slick-loading .slick-track { visibility: hidden;}
.slick-slide { display: none; float: left; height: 100%; min-height: 1px; padding: 8px 0;}
[dir='rtl'] .slick-slide { float: right;}
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none;}
.slick-slide.dragging img { pointer-events: none;}
.slick-initialized .slick-slide { display: block; outline: none;}
.slick-loading .slick-slide { visibility: hidden;}
.slick-vertical .slick-slide{ display: block; height: auto;}
.slick-arrow.slick-hidden { display: none;}

.slick-arrow{ width: 50px; height: 50px; position: absolute; top: 50%; 
 border: none; border-radius: 50%; z-index: 100; text-indent: -9999em; outline: none;
}
.slick-prev { left: 4%;}
.slick-next { right: 4%;}
.slick-arrow:before{ content: ''; display: block; width: 0px; height: 0px;
 position: absolute; top: 50%; transform: translateY(-50%); border: solid 10px transparent;
}
.slick-prev:before { left: 35%; border-right: solid 10px #fff; border-left: 0px;}
.slick-next:before { right: 35%; border-left: solid 10px #fff; border-right: 0px;}

/** Dots */
.slick-dots { position: absolute; bottom: -20px; display: block; width: 100%; padding: 0; margin: 0; font-size: 0; text-align: center;}
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 14px; margin: 0px; padding: 0; cursor: pointer;}
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 12px; height: 12px; cursor: pointer;
 color: transparent; border: 0; outline: none; background: #fff; border: solid 2px #579fd6; border-radius: 50%;
}
.slick-dots li button:hover,
.slick-dots li button:focus{ outline: none;}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before { opacity: 1;}
.slick-dots li.slick-active button { background: #579fd6;}

@media (max-width: 481px) {
	.slick-arrow{ width: 32px; height: 32px;}
	.slick-prev { left: 2.5%;}
	.slick-next { right: 2.5%;}

	.slick-arrow:before{ border: solid 6px transparent;}
	.slick-prev:before { left: 30%; border-right: solid 9px #fff; border-left: 0px;}
	.slick-next:before { right: 30%; border-left: solid 9px #fff; border-right: 0px;}

	.slick-dots li { width: 14px; height: 10px;}
	.slick-dots li button { width: 8px; height: 8px;}

}


/*		font-style
-------------------------------------------------- */
body { color: #323232;
/*	font-family: "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: "游明朝", "Yu Mincho", "YuMincho", serif;}


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


a { color:#002159; text-decoration: underline;}
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: 1001px) {
}

#wrapper { width: 100%; max-width: 800px; margin: 0 auto;}
#hd .inner-hd { width: 94%; max-width: 780px; margin: 0 auto; padding: 18px 0;}
#hd h1 { line-height: 1;}
#hd h1 span,
#hd h1 a { display: block; width: 55%; max-width: 380px;}
#hd h1 a { color: #000; text-decoration: none;}
#hd h1 span img,
#hd h1 a img { width: 100%;}
@media (max-width: 481px) {
	#hd .inner-hd { padding: 12px 0;}
}


#ft .inner-ft { padding: 40px 0;}
#ft ul { margin-bottom: 20px; font-size: 0; text-align: center;}
#ft ul li { display: inline-block; margin: 0 20px; font-size: 16px;}
#ft ul li a { color: #000; text-decoration: none;}
#ft ul li a:hover { text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px;}
#ft p { font-size: 14px; text-align: center;}
@media (max-width: 481px) {
	#ft .inner-ft { padding: 20px 0;}
	#ft ul { margin-bottom: 10px;}
	#ft ul li { margin: 0 12px; font-size: 12px;}
	#ft p { font-size: 10px;}
}


.cta { padding: 60px 0; background: #004e98;}
.cta .tit-1 { margin-bottom: 30px; text-align: center;}
.cta .tit-1:before,
.cta .tit-1:after { content: ''; display: inline-block; width: 3px; height: 72px; background: #fff; vertical-align: middle;}
.cta .tit-1:before{ transform: rotate(-12deg);}
.cta .tit-1:after { transform: rotate(12deg);}
.cta .tit-1 h2 { display: inline-block; margin: 0 20px; color: #fff; font-size: 34px; letter-spacing: 0.05rem; line-height: 1.4; vertical-align: middle;}

.cta .tit-2 { margin-bottom: 30px; text-align: center;}
.cta .tit-2:before,
.cta .tit-2:after { content: ''; display: inline-block; width: 3px; height: 48px; background: #f2f79e; vertical-align: middle;}
.cta .tit-2:before{ transform: rotate(-15deg);}
.cta .tit-2:after { transform: rotate(15deg);}
.cta .tit-2 h2 { display: inline-block; margin: 0 16px; color: #f2f79e; font-size: 50px; letter-spacing: 0.05rem; line-height: 1.4;
 vertical-align: middle;
}

.cta p.txt-1 { margin-bottom: 20px;color: #fff; font-size: 30px; font-weight: 700; letter-spacing: 0.05rem; line-height: 1.4; text-align: center;}
.cta p.txt-1 span { display: block;}
.cta p.txt-2 { margin-bottom: 30px; color: #f2f79e; font-size: 50px; font-weight: 700; letter-spacing: 0.05rem; line-height: 1.4; text-align: center;}
.cta p.tag { text-align: center;}
.cta p.tag img { width: 84%; max-width: 640px;}
.cta figure { text-align: center;}
.cta figure.mb { margin-bottom: 30px;}
.cta figure img { width: 84%; max-width: 640px;}
.cta ul { width: 84%; max-width: 640px; margin: 0 auto; font-size: 0; text-align: center;}
.cta ul.mb { margin-bottom: 30px;}
.cta ul li { margin-bottom: 30px; line-height: 1.4;}
.cta ul li:last-child { margin-bottom: 0px;}
.cta ul li a { position: relative; display: block; border-radius: 16px; text-decoration: none;}
.cta ul li a svg { display: inline-block; vertical-align: middle;}
.cta ul li a.line { padding: 18px 0 21px; background: #00c300; box-shadow: 0 6px 0px #1e981e; color: #fff; font-size: 36px; font-weight: 700;}
.cta ul li a.line svg { width: 15%; max-width: 92px; margin-right: 30px; fill: #fff;}
.cta ul li a.line span { display: inline-block; vertical-align: middle; }
.cta ul li a.line span em { display: block; font-size: 52px; line-height: 1;}

.cta ul li a.tel { padding: 18px 0; background: #fff; box-shadow: 0 6px 0px #afc4d7; color: #000; font-size: 32px; font-weight: 700;}
.cta ul li a.tel svg { width: 11%; max-width: 72px; margin-right: 10px; fill: #579fd6;}
.cta ul li a.tel span { display: inline-block; vertical-align: middle; }
.cta ul li a.tel span em { display: block; font-size: 60px; line-height: 1;}
.cta ul li a:hover { opacity: 0.8;}
@media (max-width: 801px) {
	.cta { padding: 40px 0;}
	.cta .tit-1 { margin-bottom: 20px;}
	.cta .tit-1 h2 { font-size: 4.5vw;}
	.cta .tit-2 { margin-bottom: 20px;}
	.cta .tit-2 h2 { font-size: 6.4vw;}

	.cta p.txt-1 { font-size: 4.5vw;}
	.cta p.txt-2 { font-size: 6.4vw;}

	.cta ul li a.line { font-size: 4.2vw;}
	.cta ul li a.line span em { font-size: 6.2vw;}
	.cta ul li a.tel { font-size: 4.0vw;}
	.cta ul li a.tel span em { font-size: 7.8vw;}
}
@media (max-width:481px) {
	.cta { padding: 40px 0;}
	.cta .tit-1 { margin-bottom: 12px;}
	.cta .tit-1:before,
	.cta .tit-1:after { width: 2px; height: 45px;}
	.cta .tit-1 h2 { margin: 0 8px; font-size: 16px;}

	.cta .tit-2 { margin-bottom: 10px;}
	.cta .tit-2:before,
	.cta .tit-2:after { width: 2px; height: 32px;}
	.cta .tit-2 h2 { margin: 0 8px; font-size: 23px;}

	.cta p.txt-1 { margin-bottom: 12px; font-size: 14px;}
	.cta p.txt-2 { margin-bottom: 15px; font-size: 23px;}

	.cta figure.mb { margin-bottom: 12px;}

	.cta ul.mb { margin-bottom: 20px;}
	.cta ul li { margin-bottom: 18px;}
	.cta ul li a { border-radius: 8px;}
	.cta ul li a.line { padding: 10px 0 14px; box-shadow: 0 4px 0px #1e981e; font-size: 18px;}
	.cta ul li a.line svg { margin-right: 12px;}
	.cta ul li a.tel { padding: 12px 0px; box-shadow: 0 4px 0px #afc4d7; font-size: 14px;}
	.cta ul li a.tel span em { font-size: 26px;}
}



#kv .inner-kv { width: 100%; max-width: 800px; margin: 0 auto;}
#kv h1 img { width: 100%;}


#problem .inner-sct { padding: 50px 0 80px;}
#problem .ttl { margin-bottom: 30px;}
#problem .ttl h2 { margin-bottom: 10px; color: #d78a26; font-size: 54px; font-weight: 700; line-height: 1.2; text-align: center;}
#problem .ttl h2 span { display: inline-block; border-bottom: solid 3px #d78a26;}
#problem .ttl p { font-size: 32px; font-weight: 700; letter-spacing: 0.05rem; text-align: center;}
#problem .bloc { margin-bottom: 30px; padding: 90px 0px 0px;}
#problem .box { position: relative; width: 90%; margin: 0 auto; padding: 120px 50px 50px; border: solid 3px #579fd6; border-radius: 20px; box-shadow: 4px 4px 0 #579fd6;}
#problem .box .tips { position: absolute; width: 100%; left: 0;}
#problem .box .tips.tips-1 { top: -90px;}
#problem .box .tips.tips-2 { top: -50px;}
#problem .box .tips:after { content: ''; display: block; width: 0px; height: 0px; margin: 0 auto;
 border: solid 15px transparent; border-top: solid 25px #579fd6; border-bottom: 0px;
}
#problem .box .tips div { width: calc(100% - 100px); margin: 0 auto; padding: 20px 0; background: #579fd6; border-radius: 16px;}
#problem .box .tips div h3 { color: #fff; font-size: 28px; letter-spacing: 0.05rem; line-height: 1.4; text-align: center;}
#problem .box .tips div h3 span { color: #f2f79e; font-size: 36px;}
#problem .box figure { margin-bottom: 20px; text-align: center;}
#problem .box figure img { width: 100%; border-radius: 20px;}
#problem .box h4 { margin-bottom: 30px; color: #d78a26; font-size: 42px; line-height: 1.4; text-align: center;}
#problem .box h4 span { display: inline-block; border-bottom: solid 3px #d78a26;}
#problem .box p { font-size: 20px; letter-spacing: 0.05rem;}
#problem .box p.mb { margin-bottom: 50px;}

#problem h3.tit-1 { margin-bottom: 30px; font-size: 28px; font-weight: 700; text-align: center;}
#problem .comment { position: relative; width: 88%; max-width: 640px; margin: 0 auto 30px; padding-left: 160px;}
#problem .comment figure { width: 120px; position: absolute; left: 0; top: 0;}
#problem .comment figure img { width: 100%; border-radius: 50%;}
#problem .comment .txt { position: relative; padding: 30px 0; padding-left: 30px; background: #e4e4e4; border-radius: 30px; }
#problem .comment .txt:before { content: ''; display: block; width: 0px; height: 0px;
 border: solid 15px transparent; border-right: solid 30px #e4e4e4; border-left: 0;
 position: absolute; top: 40%; left: -28px;
}
#problem .comment .txt p { font-size: 21px; font-weight: 700;}
#problem .arw { width: 0; height: 0; border: solid 72px transparent; border-top: solid 24px #579fd6; border-bottom: 0;
 margin: 0 auto 20px;
}

#problem .tit-2 { margin-bottom: 20px;}
#problem .tit-2 h3 { color: #004e98; font-size: 46px; font-weight: 700; line-height: 1.2; text-align: center;}
#problem .tit-2 h3 span { display: inline-block; border-bottom: solid 4px #004e98;}

#problem .txt-1 p { font-size: 28px; font-weight: 700; text-align: center;}
#problem .txt-1 p span { display: inline-block; padding: 8px 5px 0; background: linear-gradient( transparent 72%, #f2f79e 72%);
 font-size: 36px;
}
@media (max-width:641px) {
	#problem .ttl h2 { font-size: 7.2vw;}
	#problem .ttl p { font-size: 4.0vw;}
	
	#problem .bloc { margin-bottom: 20px;}
	#problem .box { padding: 100px 30px 30px;}
	#problem .box .tips div { width: calc(100% - 60px);}
	#problem .box .tips div h3 { font-size: 4.0vw;}
	#problem .box .tips div h3 span { font-size: 5.0vw;}
	#problem .box p { font-size: 16px;}
	
	#problem h3.tit-1 { font-size: 4.0vw;}
	#problem .comment .txt { padding: 20px 0; padding-left: 20px; border-radius: 20px;}
	#problem .comment .txt p { font-size: 3.0vw;}
	#problem .tit-2 h3 { font-size: 6.8vw;}
	#problem .txt-1 p { font-size: 4.0vw;}
	#problem .txt-1 p span { font-size: 6.0vw;}
}
@media (max-width:481px) {
	#problem .inner-sct { padding: 40px 0;}
	#problem .ttl { margin-bottom: 12px;}
	#problem .ttl h2 { margin-bottom: 10px; font-size: 26px;}
	#problem .ttl h2 span { border-width: 2px;}
	#problem .ttl p { font-size: 15px;}

	#problem .bloc { margin-bottom: 12px; padding: 60px 0px 0px;}
	#problem .box { padding: 72px 30px 20px; border-width: 2px; border-radius: 12px; box-shadow: 3px 3px 0 #579fd6;}
	#problem .box .tips.tips-1 { top: -56px;}
	#problem .box .tips.tips-2 { top: -32px;}
	#problem .box .tips:after { border: solid 10px transparent; border-top: solid 18px #579fd6; border-bottom: 0px;}
	#problem .box .tips div { padding: 12px 0; border-radius: 10px;}
	#problem .box .tips div h3 { font-size: 18px;}
	#problem .box .tips div h3 span { font-size: 20px;}
	
	#problem .box figure { margin-bottom: 12px;}
	#problem .box figure img { border-radius: 10px;}
	#problem .box h4 { margin-bottom: 18px; font-size: 21px;}
	#problem .box h4 span { border-width: 2px;}
	#problem .box p { font-size: 13px; letter-spacing: 0rem; }
	#problem .box p.mb { margin-bottom: 30px;}

	#problem h3.tit-1 { margin-bottom: 20px; padding-top: 10px; font-size: 17px;}
	#problem .comment { margin: 0 auto 20px; padding-left: 80px;}
	#problem .comment figure { width: 60px;}
	#problem .comment .txt { padding: 12px 0; padding-left: 12px; border-radius: 10px;}
	#problem .comment .txt:before { border: solid 8px transparent; border-right: solid 18px #e4e4e4; border-left: 0;
 top: 35%; left: -16px;
}

	#problem .comment .txt p { font-size: 12px;}
	#problem .arw { border: solid 50px transparent; border-top: solid 12px #579fd6; border-bottom: 0;
 margin: 0 auto 12px;
}

	#problem .tit-2 { margin-bottom: 12px;}
	#problem .tit-2 h3 { font-size: 6.8vw;}
	#problem .tit-2 h3 span { border-width: 2px;}
	#problem .txt-1 p { font-size: 17px;}
	#problem .txt-1 p span { padding: 4px 4px 0; font-size: 23px;}
}


#request { background: #e1effd;}
#request .inner-sct { padding: 50px 0 80px;}
#request .tit { margin-bottom: 30px;}
#request .tit h2 { font-size: 40px; font-weight: 700; line-height: 1.2; text-align: center;}
#request .tit h2 span { display: inline-block; padding-top: 8px; border-bottom: solid 4px #579fd6;}
#request .ctn { padding: 0px;}
#request .slide div { width: 82%; max-width: 320px; margin: 0 auto; border: solid 3px #579fd6; border-radius: 30px; box-shadow: 4px 4px 0 #579fd6; overflow: hidden;}
/*
#request .slick-active div { margin: 0 auto 0 6%;}
#request .slick-active.slick-current div { margin: 0 6% 0 auto;}
*/
#request .slide div dl { width: 100%; background: #fff; text-align: center;}
#request .slide div dl dt img { width: 100%;}
#request .slide div dl dd { display: flex; align-items: center; justify-content: space-around; width: 100%; height: 160px; font-size: 23px; font-weight: 700; text-align: center;}
#request .slick-arrow{ transform: translateY(-18%); background: #579fd6; }
#request .slick-prev { left: 18px;}
#request .slick-next { right: 18px;}

@media (max-width:641px) {
	#request .tit h2 { font-size: 5.0vw;}
	#request .slide div dl dd { height: 120px; font-size: 20px;}
}
@media (max-width:481px) {
	#request .inner-sct { padding: 30px 0 50px;}
	#request .tit { margin-bottom: 10px;}
	#request .tit h2 span { padding-top: 6px; border-width: 2px;}
	#request .ctn {}
	#request .slide div { width: 82%; border-width: 2px; border-radius: 10px; box-shadow: 3px 3px 0 #579fd6; overflow: hidden;}
	#request .slide div dl dd { height: 80px; font-size: 12px;}
	#request .slick-arrow{ transform: translateY(-35%);}
	#request .slick-prev { left: 6px;}
	#request .slick-next { right: 6px;}
}

#feature { background: #e1effd;}
#feature .inner-sct { padding: 40px 0 60px;}
#feature .ttl { margin-bottom: 30px;}
#feature .ttl p { font-size: 36px; font-weight: 700; text-align: center;}
#feature .ttl p:before,
#feature .ttl p:after { content: ''; display: inline-block; width: 3px; height: 45px; background: #000; vertical-align: middle;}
#feature .ttl p:before{ transform: rotate(-15deg);}
#feature .ttl p:after { transform: rotate(15deg);}
#feature .ttl p span { display: inline-block; margin: 0 18px; vertical-align: middle;}
#feature .ttl h2{ color: #d78a26; font-size: 46px; font-weight: 700; line-height: 1.4; text-align: center;}
#feature .box { width: 90%; margin: 0 auto 30px;}
#feature .box:last-child { margin-bottom: 0px;}
#feature .box .inner { padding: 50px; border: solid 2px #579fd6; border-radius: 20px; background: #fff; box-shadow: 4px 4px 0 #579fd6;}
#feature .box figure { margin-bottom: 20px;}
#feature .box figure img { width: 100%;}
#feature .box .tit { margin-bottom: 20px;}
#feature .box .tit h3 { font-size: 32px; letter-spacing: 0.05rem; line-height: 1.2; text-align: center;}
#feature .box .tit h3 span { display: inline-block; padding: 12px 5px 0; background: linear-gradient( transparent 72%, #f2f79e 72%);}
#feature .box p { font-size: 18px; letter-spacing: 0.05rem; text-align: justify;}
#feature .box p span { font-weight: 700;}
@media (max-width:641px) {
	#feature .ttl p { font-size: 4.5vw;}
	#feature .ttl p:before,
	#feature .ttl p:after { height: 32px;}
	#feature .ttl h2 { font-size: 6.2vw;}
	#feature .box .inner { padding: 30px;}
	#feature .box .tit h3 { font-size: 3.6vw;}
	#feature .box p { font-size: 16px;}
}
@media (max-width:481px) {
	#feature .inner-sct { padding: 40px 0 50px;}
	#feature .ttl { margin-bottom: 16px;}
	#feature .ttl p { font-size: 18px;}
	#feature .ttl p:before,
	#feature .ttl p:after { width: 2px; height: 21px;}
	#feature .ttl p span { margin: 0 12px;}
	#feature .ttl h2 { font-size: 24px;}
	#feature .box { margin: 0 auto 25px;}
	#feature .box .inner { padding: 30px 25px; border-radius: 10px; box-shadow: 3px 3px 0 #579fd6;}
	#feature .box .tit { margin-bottom: 12px;}
	#feature .box .tit h3 { font-size: 17px; letter-spacing: 0rem;}
	#feature .box .tit h3 span { padding: 8px 2px 0;}
	#feature .box figure { margin-bottom: 12px;}
	#feature .box p { font-size: 13px; letter-spacing: 0rem; }
}


#case .inner-sct { padding: 40px 0 60px;}
#case h2 { margin-bottom: 20px; font-size: 40px; line-height: 1.2; text-align: center;}
#case .slider-1 { margin-bottom: 30px;}
#case .slick-track { display: flex;}
#case .slick-slide { height: auto !important;}
#case .slick-arrow{ background: #004e98;}
#case .box { width: 90%; margin: 0 auto; height: 100%;}
#case .box .inner { height: 100%; border: solid 2px #004e98; border-radius: 20px; background: #fff; box-shadow: 4px 4px 0 #579fd6; overflow: hidden;}
#case .box .tit { padding: 20px 0; background: #004e98;}
#case .box .tit h3 { color: #f2f79e; font-size: 32px; letter-spacing: 0.05rem; line-height: 1.25; text-align: center;}
#case .box .tit h3 span { display: inline-block; padding: 12px 5px 0; background: linear-gradient( transparent 72%, #f2f79e 72%);}
#case .box figure {}
#case .box figure img { width: 100%;}
#case .box .txt { padding: 50px;}
#case .box .txt p { font-size: 18px; letter-spacing: 0.05rem; text-align: justify;}
#case .box .txt p span { font-weight: 700;}
#case .box .txt .type { padding: 20px 0;}
#case .box .txt .type p { font-size: 24px; font-weight: 700; text-align: center;}
#case .note { width: 90%; margin: 0 auto;}
@media (max-width:641px) {
	#case h2 { font-size: 6.2vw;}
	#case .box .tit h3 { font-size: 3.6vw;}
	#case .box .txt { padding: 30px;}
	#case .box .txt p { font-size: 16px;}
	#case .box .txt .type p { font-size: 21px;}
	#case .note p { font-size: 14px;}
}
@media (max-width:481px) {
	#case .inner-sct { padding: 40px 0 50px;}
	#case .box .inner { border-radius: 10px; background: #fff; box-shadow: 3px 3px 0 #579fd6;}
	#case .box .tit { padding: 12px 0;}
	#case .box .tit h3 { font-size: 20px;}
	#case .box .txt p { font-size: 12px; letter-spacing: 0rem; }
	#case .box .txt .type { padding: 12px 0;}
	#case .box .txt .type p { font-size: 15px; letter-spacing: 0.05rem; }
	#case .note p { font-size: 10px;}
}

#payback { background: #e1effd;}
#payback .inner-sct { padding: 40px 0 60px;}
#payback h2 { margin-bottom: 20px; font-size: 40px; line-height: 1.2; text-align: center;}
#payback .ctn { width: 82%; max-width: 600px; margin: 0 auto 20px;}
#payback .box { margin-bottom: 20px; padding: 25px 50px; border: solid 2px #579fd6; border-radius: 20px; background: #fff; box-shadow: 4px 4px 0 #579fd6;}
#payback .box:last-child { margin-bottom: 0px;}
#payback .box ul { font-size: 0; text-align: center;}
#payback .box ul li { position: relative; display: inline-block; vertical-align: middle;}
#payback .box ul li.before{ width: 45%;}
#payback .box ul li.after { width: 55%; padding-left: 10px;}
#payback .box ul li.after:before { content: ''; display: block; width: 0px; height: 0px;
 border: solid 25px transparent; border-left: solid 20px #579fd6; border-right: 0;
 position: absolute; left: 0px; top: 50%; transform: translateY(-50%);
}
#payback .box ul li dl { display: inline-block; text-align: left;}
#payback .box ul li dl dt,
#payback .box ul li dl dd { font-weight: 700; line-height: 1;}
#payback .box ul li.before dl dt { margin-bottom: 8px; color: #ff8600; font-size: 20px;}
#payback .box ul li.before dl dd { font-size: 30px;}
#payback .box ul li.before dl dd span{ font-size: 40px;}
#payback .box ul li.after dl dt { margin-bottom: 8px; color: #004e98; font-size: 24px;}
#payback .box ul li.after dl dd { font-size: 40px; background: linear-gradient( transparent 72%, #f2f79e 72%);}
#payback .box ul li.after dl dd span{ font-size: 50px;}
#payback .note { width: 90%; margin: 0 auto;}
@media (max-width:641px) {
	#payback h2 { font-size: 6.2vw;}
	#payback .box ul li.after:before { border: solid 20px transparent; border-left: solid 16px #579fd6; border-right: 0;}
	#payback .box ul li.before dl dt { font-size: 18px;}
	#payback .box ul li.before dl dd { font-size: 4.2vw;}
	#payback .box ul li.before dl dd span{ font-size: 5.0vw;}
	#payback .box ul li.after dl dt { font-size: 20px;}
	#payback .box ul li.after dl dd { font-size: 5.0vw;}
	#payback .box ul li.after dl dd span{ font-size: 6.0vw;}
	#payback .note p { font-size: 14px;}
}
@media (max-width:481px) {
	#payback .inner-sct { padding: 40px 0;}
	#payback h2 { margin-bottom: 12px;}
	#payback .box { margin-bottom: 15px; padding: 15px 20px; border-radius: 10px; box-shadow: 3px 3px 0 #579fd6;}
	#payback .box ul li.after:before { left: 2px; border: solid 18px transparent; border-left: solid 10px #579fd6; border-right: 0;}
	#payback .box ul li.before dl dt { margin-bottom: 5px; font-size: 14px;}
	#payback .box ul li.before dl dd { font-size: 21px;}
	#payback .box ul li.before dl dd span{ font-size: 24px;}
	#payback .box ul li.after dl dt { margin-bottom: 5px; font-size: 16px;}
	#payback .box ul li.after dl dd { font-size: 24px;}
	#payback .box ul li.after dl dd span{ font-size: 30px;}
	#payback .note p { font-size: 10px;}
}


#flow { background: #e1effd;}
#flow .inner-sct { padding: 40px 0 60px;}
#flow h2 { margin-bottom: 20px; font-size: 40px; line-height: 1.2; text-align: center;}
#flow .slick-arrow{ background: #004e98; }
#flow .slide { padding: 40px 0 10px;}
#flow .slick-track { display: flex;}
#flow .slick-slide { height: auto !important;}
#flow .box { width: 90%; height: 100%; margin: 0 auto; border: solid 2px #004e98; border-radius: 20px; background: #fff; box-shadow: 4px 4px 0 #579fd6;}
#flow .box .tit { position: relative; padding: 20px 0; background: #004e98; border-top-left-radius: 16px; border-top-right-radius: 16px;}
#flow .box .tit h3 { color: #f2f79e; font-size: 40px; text-align: center;}
#flow .box .tit img { position: absolute; left: 4%; top: -40px; width: 120px;}
#flow .box .txt { padding: 50px;}
#flow .box figure { margin-bottom: 20px; text-align: center;}
#flow .box figure img { width: 50%; margin: 0 auto;}
#flow .box .txt p { font-size: 18px; letter-spacing: 0.05rem; line-height: 1.8;}
@media (max-width:641px) {
	#flow h2 { margin-bottom: 0px; font-size: 6.2vw;}
	#flow .box .tit { padding: 15px 0;}
	#flow .box .tit h3 { font-size: 5.8vw;}
	#flow .box .tit img { width: 90px;}
	#flow .box .txt { padding: 30px;}
	#flow .box .txt p { font-size: 16px;}
}
@media (max-width:481px) {
	#flow .slide { padding: 30px 0 10px;}
	#flow .box { border-radius: 10px; box-shadow: 3px 3px 0 #579fd6;}
	#flow .box .tit {padding: 16px 0; border-top-left-radius: 8px; border-top-right-radius: 8px;}
	#flow .box .tit h3 { font-size: 20px;}
	#flow .box .tit h3.indent { text-indent: 15px;}
	#flow .box .tit img { width: 60px; top: -21px;}
	#flow .box figure { margin-bottom: 12px;}
	#flow .box .txt { padding: 12px 30px 20px;}
	#flow .box .txt p { font-size: 12px; text-align: justify;}
}


#cost .inner-sct { padding: 40px 0 60px;}
#cost h2 { margin-bottom: 12px; font-size: 40px; line-height: 1.2; text-align: center;}
#cost ul { width: 72%; max-width: 580px; margin: 0 auto 12px; }
#cost ul li { padding: 15px 0;}
#cost ul li img { width: 100%; border: solid 3px #004e98; border-radius: 20px; box-shadow: 5px 5px 0 #579fd6;}
#cost .txt { width: 72%; max-width: 580px; margin: 0 auto;}
#cost .txt p { font-size: 20px; font-weight: 700;}
@media (max-width:641px) {
	#cost h2 { font-size: 6.2vw;}
	#cost .txt p { font-size: 18px;}
}
@media (max-width:481px) {
	#cost .inner-sct { padding: 40px 0;}
	#cost ul li { padding: 8px 0;}
	#cost ul li img { border-width: 2px; border-radius: 10px; box-shadow: 3px 3px 0 #579fd6;}
	#cost .txt p { font-size: 13px;}
}


#faq { background: #e1effd;}
#faq .inner-sct { padding: 40px 0 60px;}
#faq h2 { margin-bottom: 20px; font-size: 40px; line-height: 1.2; text-align: center;}
#faq ul.qa { width: 88%; margin: 0 auto;}
#faq ul.qa li { margin-bottom: 20px;}
#faq ul.qa li:last-child { margin-bottom: 0px;}
#faq ul.qa li dl { background: #fff; border: solid 3px #579fd6; border-radius: 20px; box-shadow: 4px 4px 0 #579fd6;}
#faq ul.qa li dl dt { position: relative; padding: 24px 90px; font-size: 20px; font-weight: 700; line-height: 1.4; cursor: pointer;
}
#faq ul.qa li dl dt:before,
#faq ul.qa li dl dt:after { content: ''; display: block; width: 30px; height: 2px; background: #004e98;
 position: absolute; right: 20px; top: 50%;
}
#faq ul.qa li dl dt:before{ transform: translateY(-50%);}
#faq ul.qa li dl dt:after { transform: translateY(-50%) rotate(90deg); transition: 0.3s linear;}
#faq ul.qa li dl dt.open:after { transform: translateY(-50%) rotate(180deg);}
#faq ul.qa li dl dt i { display: block; width: 40px; height: 40px; background: url('./img/icn-Q.webp') no-repeat 50% 50% / 100% auto;
 position: absolute; left: 25px; top: 50%; transform: translateY(-50%);
}
#faq ul.qa li dl dd { display: none; padding: 30px; border-top: solid 1px #579fd6; font-size: 18px;}
@media (max-width:641px) {
	#faq h2 { font-size: 6.2vw;}
	#faq ul.qa li dl dd { font-size: 16px;}
}
@media (max-width:481px) {
	#faq ul.qa li { margin-bottom: 16px;}
	#faq ul.qa li dl { border-width: 2px; border-radius: 10px; box-shadow: 3px 3px 0 #579fd6;}
	#faq ul.qa li dl dt { padding: 15px 48px 15px 55px; font-size: 15px;}
	#faq ul.qa li dl dt:before,
	#faq ul.qa li dl dt:after { width: 20px; right: 15px;}
	#faq ul.qa li dl dt i { width: 25px; height: 25px; left: 15px;}
	#faq ul.qa li dl dd { padding: 15px 20px; font-size: 12px;}
}


#company .inner-sct { padding: 40px 0 60px;}
#company h2 { margin-bottom: 20px; font-size: 40px; line-height: 1.2; text-align: center;}
#company figure { margin-bottom: 12px; text-align: center;}
#company figure img { width: 68%; max-width: 540px;}
#company ul { width: 68%; max-width: 540px; margin: 0 auto;}
#company ul li { padding: 8px 0;}
#company ul li dl { display: table; width: 100%;}
#company ul li dl dt,
#company ul li dl dd { display: table-cell; font-size: 18px; line-height: 1.4;}
#company ul li dl dt { width: 100px; font-weight: 700;}
#company ul li dl dd { width: auto;}
@media (max-width:641px) {
	#company h2 { font-size: 6.2vw;}
	#company ul li { padding: 6px 0;}
	#company ul li dl dt,
	#company ul li dl dd { font-size: 16px;}
}
@media (max-width:481px) {
	#company .inner-sct { padding: 40px 0;}
	#company ul li dl dt,
	#company ul li dl dd { font-size: 13px;}
	#company ul li dl dt { width: 60px;}
}



#tokutei .inner-sct { padding: 60px 0;}
#tokutei h2 { margin-bottom: 40px; font-size: 40px; line-height: 1.2; text-align: center;}
#tokutei .ctn { width: 88%; max-width: 720px; margin: 0 auto 60px;}
#tokutei .ctn ul {}
#tokutei .ctn ul li { padding: 8px 0;}
#tokutei .ctn ul li dl { display: table; width: 100%;}
#tokutei .ctn ul li dl dt,
#tokutei .ctn ul li dl dd { display: table-cell; line-height: 1.4;}
#tokutei .ctn ul li dl dt { width: 250px; font-size: 18px; font-weight: 700;}
#tokutei .ctn ul li dl dd { width: auto; font-size: 16px;}
#tokutei .back { text-align: center;}
#tokutei .back a { color: #000; text-underline-offset: 2px; text-decoration-thickness: 1px;}
#tokutei .back a:hover { text-decoration: none;}
@media (max-width:641px) {
	#tokutei h2 { font-size: 6.2vw;}
	#tokutei .ctn ul li { padding: 6px 0;}
	#tokutei .ctn ul li dl dt,
	#tokutei .ctn ul li dl dd { font-size: 16px;}
}
@media (max-width:481px) {
	#tokutei .inner-sct { padding: 40px 0;}
	#tokutei h2 { margin-bottom: 20px;}
	#tokutei .ctn ul li dl dt,
	#tokutei .ctn ul li dl dd { display: block; font-size: 13px;}
	#tokutei .ctn ul li dl dt { width: 100%;}
	#tokutei .back a { font-size: 13px;}
}


#policy .inner-sct { padding: 60px 0;}
#policy h2 { margin-bottom: 40px; font-size: 40px; line-height: 1.2; text-align: center;}
#policy .ctn { width: 88%; max-width: 720px; margin: 0 auto 60px;}
#policy .ctn ul {}
#policy .ctn ul li { padding: 12px 0; font-size: 18px;}
#policy .ctn ul li span { display: block; font-size: 20px; font-weight: 700;}

#policy .back { text-align: center;}
#policy .back a { color: #000; text-underline-offset: 2px; text-decoration-thickness: 1px;}
#policy .back a:hover { text-decoration: none;}
@media (max-width:641px) {
	#policy h2 { font-size: 6.2vw;}
	#policy .ctn ul li { padding: 8px 0; font-size: 16px;}
	#policy .ctn ul li span { font-size: 18px;}
}
@media (max-width:481px) {
	#policy .inner-sct { padding: 40px 0;}
	#policy h2 { margin-bottom: 20px;}
	#policy .ctn ul li { font-size: 13px;}
	#policy .ctn ul li span { font-size: 14px;}
	#policy .back a { font-size: 13px;}
}
