@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, ol{ list-style: none;}
ul li,
ol 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;
}
@media (max-width: 481px) {
}



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

.eng { font-family: "Amiri", serif;}
.num { font-family: "Arapey", 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;}
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) {
}



#wrapper { padding-top: 80px;}

/*		Header
-------------------------------------------------- */
#hd { position: fixed; top: 0; left: 0; width: 100%; background: #fff; z-index: 100;}
#hd .inner-hd { position: relative; display: flex; justify-content: space-between; width: 100%; align-items: center;}
#hd .hd-btn { position: absolute; right: 0; top: 50%; width: 240px; transform: translate(0,-50%);}
#hd .hd-btn a { display: block; padding: 30px 0; background: #ee983f;
 color: #fff; font-size: 18px; letter-spacing: 0.1rem; line-height: 1.05; text-align: center; text-decoration: none; transition: 0.4s ease;
}
#hd .hd-btn a span{ display: inline-block; font-weight: 700;}
#hd .hd-btn a:hover { background: #fff; color: #ee7972;}
#hd .logo{ width: 40%; padding: 6px 0; padding-left: 20px;}
#hd .sub { width: 60%;}
#hd .logo h1 { line-height: 1;}
#hd .logo h1 a { color: #383838; text-decoration: none;}
#hd .logo h1 span { display: inline-block; font-size: 24px; vertical-align: middle;}
#hd .logo h1 span em { display: block; margin-bottom: 4px; font-size: 12px; letter-spacing: 0.1rem;}
#hd .logo h1 img { display: inline-block; width: 68px; margin-right: 16px; vertical-align: middle;}

#hd .hd-menu ul { font-size: 0; text-align: right;}
#hd .hd-menu ul li { display: inline-block; margin-left: 30px; vertical-align: middle;}
#hd .hd-menu ul li:first-child { margin-left: 0;}
#hd .hd-menu ul li dl { display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center;
 color: #1c81e6; text-align: center;
}
#hd .hd-menu ul li dl dt { width: 80px; height: 24px; margin-right: 15px; border: 1px solid #1c81e6; font-size: 14px;}
#hd .hd-menu ul li dl dd { font-size: 30px;}
#hd .hd-menu ul li a.sp-btn { display: none;}
#hd .hd-menu ul li.mail { margin-left: 50px;}
#hd .hd-menu ul li.mail a { display: block; width: 240px; padding: 30px 0; background: #ff931e;
 color: #fff; font-size: 20px; font-weight: 700; line-height: 1; text-align: center; text-decoration: none;
}
#hd .hd-menu ul li.mail a:hover { opacity: 0.7;}
.sp-menu{ display: none; width: 50px; height: 55px; padding-top: 5px; background: #000;
 position: absolute; right: 0; top: 0;
}
.sp-menu div{ position: relative; width: 100%; height: 100%;}
.sp-menu div:before{ content: 'MENU'; display: block; width: 100%;
 color: #fff; font-size: 10px; font-family: "Noto Serif JP", serif; font-weight: 700; text-align: center;
}
.sp-menu div span { display: block; width: 25px; height: 2px; background: #fff; position: absolute; left: 50%;
 transition: 0.3s linear; opacity: 1;
}
.sp-menu div span:nth-of-type(1){ top: 20px; transform: translate(-50%,0);}
.sp-menu div span:nth-of-type(2){ top: 27px; transform: translate(-50%,0);}
.sp-menu div span:nth-of-type(3){ top: 34px; transform: translate(-50%,0);}
.sp-menu.active div span:nth-of-type(1){ transform: translate(-50%,7px) rotate(45deg);}
.sp-menu.active div span:nth-of-type(2){ opacity: 0;}
.sp-menu.active div span:nth-of-type(3){ transform: translate(-50%,-7px) rotate(-45deg);}
.sp-nav { display: none; width: 100%; height: auto; position: fixed; left: 0; transition: 0.3s linear; top: -180vh;}
.sp-nav.open { top: 0;}

#gNav { padding: 55px 0px 0px; height: 100vh; background: #e6eef6;}
#gNav .inner { width: 100%; height: 100%; padding: 0 15px 15px; overflow: scroll;}
#gNav ul li { border-bottom: solid 1px #898989;}
#gNav ul li a { display: block; padding: 12px 10px; color: #333; font-size: 15px; text-decoration: none;}
#gNav ul li.btn { padding: 10px 0; border-bottom: none;}
#gNav ul li.btn a { width: 80%; max-width: 240px; margin: 0 auto; padding: 15px 0; background: #ee983f;
 color: #fff; font-size: 18px; text-align: center;
}
@media (max-width: 1401px) {
	#hd .hd-menu ul li { margin-left: 20px;}
	#hd .hd-menu ul li dl dt { width: 60px; margin-right: 10px;}
	#hd .hd-menu ul li dl dd { font-size: 22px;}
	#hd .hd-menu ul li.mail { margin-left: 15px;}
	#hd .hd-menu ul li.mail a { width: 160px; padding: 32px 0; font-size: 18px;}
}
@media (max-width: 1001px) {
	#wrapper { padding-top: 55px;}
	#hd .logo{ width: 35%; padding: 4px 0;}
	#hd .logo h1 span{ font-size: 18px;}
	#hd .logo h1 img { width: 48px; margin-right: 10px;}
	#hd .hd-menu { width: 65%;}
	#hd .hd-menu ul li { margin-left: 10px;}
	#hd .hd-menu ul li dl dt { width: 50px; margin-right: 8px; font-size: 14px;}
	#hd .hd-menu ul li dl dd { font-size: 21px;}
	#hd .hd-menu ul li.mail { margin-left: 10px;}
	#hd .hd-menu ul li.mail a { width: 120px; padding: 21px 0; font-size: 13px;}
}
@media (max-width: 801px) {
	#wrapper { padding-top: 0px;}
	#hd { position: relative;}
	#hd .inner-hd { padding-left: 10px; padding-right: 50px;}
	#hd .logo { width: 50%; padding: 3px 0;}
	#hd .hd-menu { width: 50%;}
	#hd .hd-menu ul li { margin: 0;}
	#hd .hd-menu ul li dl { display: none;}
	#hd .hd-menu ul li a { display: block; width: 50px; padding: 6px 0 13px; font-size: 10px; text-align: center; text-decoration: none;}
	#hd .hd-menu ul li a span { display: block; margin: 0 auto 2px;}
	#hd .hd-menu ul li a.sp-tel:after { display: block; content: "\f095"; font-family: "Font Awesome 5 Free"; font-size: 18px; font-weight: 900; line-height: 1; text-align: center;}
	#hd .hd-menu ul li a.sp-tel.tokyo{ background: #1c81e6; color: #fff;}
	#hd .hd-menu ul li a.sp-tel.omiya{ background: #fff; color: #1c81e6;}
	#hd .hd-menu ul li a.sp-tel.tokyo:after { color: #fff;}
	#hd .hd-menu ul li a.sp-tel.omiya:after { color: #1c81e6;}
	#hd .hd-menu ul li.mail { margin: 0;}
	#hd .hd-menu ul li.mail a { width: 50px; padding: 18px 0 17px;}
	#hd .hd-menu ul li.mail a span { display: none;}
	#hd .hd-menu ul li.mail a:before { display: block; content: "\f0e0"; font-family: "Font Awesome 5 Free"; color: #fff; font-size: 20px; font-weight: 400;}
	.sp-menu { display: block;}
	.sp-nav { display: block;}
	#gNav { height: calc( 100vh - 55px );}
}
@media (max-width: 801px) {
	#hd .logo h1 img { width: 30px; margin-right: 4px;}
	#hd .logo h1 span { font-size: 11px;}
	#hd .logo h1 span em { font-size: 9px;}

	#gNav ul li.btn a { padding: 10px 0;}
}


/*		Footer
-------------------------------------------------- */
#ft { padding-bottom: 20px;}
#ft .inner-ft { width: 92%; margin: 0 auto 20px; padding: 30px 0 0;}
#ft .ftLogo{ width: 50%; margin: 0 auto;}
#ft h2 { text-align: center;}
#ft h2 a { color: #383838; text-decoration: none;}
#ft h2 img { display: inline-block; width: 40px; margin-right: 10px; vertical-align: middle;}
#ft h2 span{ display: inline-block; font-size: 23px; vertical-align: middle;}
#ft h2 span em { font-size: 16px;}
#ft p.copyright { color: #b9bcbc; font-size: 12px; text-align: center;}
@media (max-width: 1001px) {
	#ft h2 span{ font-size: 20px;}
	#ft h2 span em { font-size: 14px;}
}
@media (max-width: 801px) {
	#ft .inner-ft { display: block;}
	#ft .ftLogo{ width: 100%; margin: 0 auto 30px;}
	#ft h2 { text-align: center;}
}
@media (max-width: 641px) {
	#ft .ftNav{ display: flex;}
}
@media (max-width: 481px) {
	#ft { padding: 40px 0 10px;}
	#ft .inner-ft { margin: 0 auto 8px;}
	#ft h2 span{ font-size: 20px;}
	#ft h2 span em { font-size: 14px;}
	#ft p.copyright { font-size: 9px;}
}
.fix-btn { display: none; position: fixed; left: 0; bottom: -100px; width: 100%; padding: 8px 0 12px;
 background: rgba(255,255,255,0.7); z-index: 99; transition: 0.4s linear;
}
.fix-btn.show { bottom: 0;}
.fix-btn ul { font-size: 0; text-align: center;}
.fix-btn ul li { display: inline-block; width: 32%; vertical-align: middle;}
.fix-btn ul li a { display: block; width: 92%; margin: 0 auto; padding: 9px 0; border-radius: 5px;
 color: #fff; font-size: 15px; line-height: 1;
}
.fix-btn ul li a.tel { background: #2a5dad;}
.fix-btn ul li a.mail{ background: #ee983f;}
.fix-btn ul li a:before { display: inline-block; margin-right: 10px;
 color: #fff; font-size: 15px; font-family: "Font Awesome 5 Free"; vertical-align: middle;
}
.fix-btn ul li a.tel:before { content: "\f095"; font-weight: 900;}
.fix-btn ul li a.mail:before { content: "\f0e0"; font-size: 18px; font-weight: 400;}
.fix-btn ul li a span { display: inline-block;vertical-align: middle;}
@media (max-width: 641px) {
	.fix-btn { display: block;}
}
@media (max-width: 481px) {
	.fix-btn ul li a { padding: 8px 0; font-size: 12px; letter-spacing: 0;}
	.fix-btn ul li a:before { margin-right: 5px; font-size: 16px;}
	.fix-btn ul li a.mail:before { font-size: 16px;}
}



.pagetop { position: fixed; right: 40px; bottom: 50px; width: 60px; height: 60px; z-index: 101;}
.pagetop a { display: block; width: 100%; height: 100%; background: url('../img/pagetop.png') no-repeat 50% 50% / cover;}
@media (max-width: 641px) {
	.pagetop { right: 20px; bottom: 65px; width: 40px; height: 40px;}
}




/*		Common Parts
-------------------------------------------------- */
.cnv { background: url('../img/bg-cta.jpg') no-repeat 50% 0 / cover;}
.cnv .inner{ padding: 50px 0;}
.cnv h2 { margin-bottom: 40px; color: #fff; font-size: 32px; font-weight: 600; letter-spacing: 0.1rem; text-align: center; text-shadow: 0 2px 8px #5483a7;}
.cnv .cnv-box { display: flex; justify-content: space-between; align-items: center; width: 92%; max-width: 920px; margin: 0 auto; padding: 30px 50px; background: #fff;}
.cnv .cnv-box .tel { width: 50%;}
.cnv .cnv-box .mail{ width: 50%;}
.cnv .cnv-box .tel ul li { margin-bottom: 10px;}
.cnv .cnv-box .tel ul li:last-child { margin-bottom: 0px;}
.cnv .cnv-box .tel ul li dl { display: table; width: 100%;}
.cnv .cnv-box .tel ul li dl dt,
.cnv .cnv-box .tel ul li dl dd { display: table-cell; vertical-align: middle;}
.cnv .cnv-box .tel ul li dl dt { width: 120px; color: #2261ad; font-size: 18px; font-weight: 700; letter-spacing: 0.1rem;}
.cnv .cnv-box .tel ul li dl dt span { display: block; width: 90%; max-width: 85px; border: solid 1px #2261ad; text-align: center;}
.cnv .cnv-box .tel ul li dl dd { width: auto; color: #2261ad; line-height: 1.4;}
.cnv .cnv-box .tel ul li dl dd span { font-size: 34px; font-weight: 700; line-height: 1;}
.cnv .cnv-box .tel ul li dl dd a { display: none;}
.cnv .cnv-box .mail a { display: block; width: 90%; max-width: 360px; margin: 0 auto; padding: 20px 0; background: #ee983f;
 color: #fff; font-size: 25px; text-align: center; text-decoration: none;
}
@media (max-width: 1001px) {
	.cnv h2 { font-size: 26px;}
	.cnv .cnv-box .tel ul li dl dt { width: 100px;}
}
@media (max-width: 801px) {
	.cnv h2 span { display: block;}
	.cnv ul li dl.tel dd span.eng { font-size: 30px;}
	.cnv .cnv-box { padding: 30px;}
	.cnv .cnv-box .tel ul li dl dd span { font-size: 30px;}
}
@media (max-width: 641px) {
	.cnv .inner{ padding: 30px 0;}
	.cnv h2 { margin-bottom: 10px; font-size: 24px;}
	.cnv .cnv-box { display: block;}
	.cnv .cnv-box .tel { width: 100%; margin: 0 auto 15px;}
	.cnv .cnv-box .tel ul { text-align: center;}
	.cnv .cnv-box .tel ul li dl dt,
	.cnv .cnv-box .tel ul li dl dd { display: inline-block;}
	.cnv .cnv-box .tel ul li dl dd span{ display: none;}
	.cnv .cnv-box .tel ul li dl dd a { display: inline; color: #2261ad; font-size: 30px; line-height: 1; text-decoration: none;}
	.cnv .cnv-box .mail{ width: 100%;}
	.cnv .cnv-box .mail a { max-width: 300px; padding: 8px 0; font-size: 18px;}
}
@media (max-width: 481px) {
	.cnv .inner{ padding: 40px 0;}
	.cnv h2 { margin-bottom: 18px; font-size: 17px;}
	.cnv .cnv-box { padding: 20px;}
	.cnv .cnv-box .tel ul li dl dt { width: 85px; font-size: 15px;}
	.cnv .cnv-box .tel ul li dl dd a { font-size: 24px;}
	.cnv .cnv-box .mail a { font-size: 16px;}
}



.bg { background: #e6eef6;}
.ptl { text-align: center;}
.ptl h2{ color: #2a5dad; font-size: 30px; font-weight: 600; letter-spacing: 0.15rem; line-height: 1.4;}
.ptl p { font-size: 18px;}
.stl { color: #2a5dad; font-size: 30px; font-weight: 600; letter-spacing: 0.15rem; line-height: 1.25; text-align: center;}
.stl span.less { letter-spacing: 0rem;}
.stl br { display: none;}
.stl br.spc { display: block;}
.stl.row { line-height: 2;}
.line-tit { color: #2a5dad; font-weight: 600; letter-spacing: 0.15rem; line-height: 1.4; text-align: center;}
.line-tit span { display: inline-block; margin: 0 10px; vertical-align: middle;}
.line-tit:before,
.line-tit:after { content: ''; display: inline-block; width: 25px; height: 1px; background: #2a5dad; vertical-align: middle;}

ul.note { margin: 0 auto;}
ul.note.mb { margin: 0 auto 50px;}
ul.note li { position: relative; padding-left: 20px; letter-spacing: 0.075rem;}
ul.note li:before { content: '※'; position: absolute; left: 0; top: 0;}
@media (max-width: 641px) {
	ul.note li { padding-left: 18px; font-size: 14px;}
	.ptl p { font-size: 16px;}
	.ptl p span{ display: block;}
	.stl { font-size: 21px;}
	.stl.row { line-height: 1.6;}
}
@media (max-width: 481px) {
	.ptl h2{ font-size: 21px;}
	.ptl p { font-size: 15px;}
	.stl { font-size: 21px;}
	.stl br { display: block;}
	ul.note li { padding-left: 16px; font-size: 13px;}
}


.kv { background: url(../img/bg-kv.jpg) no-repeat 50% 0% / cover;}
.kv .inner-kv { width: 94%; max-width: 1200px; margin: 0 auto; padding: 70px 0;}
.kv .txt { width: 70%; max-width: 700px; padding-left: 40px;}
.kv .txt h2 img { width: 100%;}
.kv .txt h2 img.sp { display: none;}
@media (max-width: 1001px) {
	.kv .inner { margin: 0 auto; padding: 20px 0 60px;}
	.kv .inner h2 { font-size: 30px;}
	.kv .inner h2 span.br { font-size: 40px;}
	.kv .inner p { font-size: 18px;}
}
@media (max-width: 801px) {
	.kv { background: none;}
	.kv .inner-kv { width: 100%; padding: 0;}
	.kv .txt { width: 100%; max-width: 100%; padding-left: 0px;}
	.kv .txt h2 img.pc { display: none;}
	.kv .txt h2 img.sp { display: block;}
}
@media (max-width: 641px) {
}
@media (max-width: 481px) {
	.kv .inner h2 { font-size: 16px; line-height: 1.4;}
	.kv .inner h2 span.s { font-size: 13px;}
	.kv .inner h2 span.br { padding-top: 4px; font-size: 21px; line-height: 1.2}
	.kv .inner h2 br.sp { display: block;}
	.kv .txt p { font-size: 15px; text-align: justify;}
	.kv .txt p br { display: block;}
}

.ttl p { margin-bottom: 20px; color: #0a8cd4; font-size: 17px; text-align: center;}
.ttl p:before,
.ttl p:after { content: ''; display: inline-block; width: 30px; height: 1px; background: #0a8cd4; vertical-align: middle;}
.ttl p span { display: inline-block; margin: 0 40px;}
.ttl h2 { color: #383838; font-size: 42px; font-weight: 400; line-height: 1.4; text-align: center;}
@media (max-width: 1201px) {
	.ttl h2 { font-size: 36px;}
}
@media (max-width: 801px) {
	.ttl p { margin-bottom: 10px;}
}
@media (max-width: 641px) {
	.ttl h2 span { display: block;}
}
@media (max-width: 481px) {
	.ttl p { font-size: 12px;}
	.ttl p span { margin: 0 30px;}
	.ttl h2 { font-size: 21px; font-weight: 600;}
}




#lead { background: url('../img/bg-sct-1.jpg') no-repeat 50% 0 / cover;}
#lead .inner{ width: 92%; max-width: 1100px; margin: 0 auto; padding: 80px 0;}
#lead h2 { margin-bottom: 20px; color: #383838; font-size: 42px; font-weight: 400; letter-spacing: 0.08rem; text-align: center;}
#lead h3 { margin-bottom: 50px; font-size: 28px; font-weight: 400; text-align: center;}
#lead h3 span { display: inline-block; padding: 10px 50px; border-top: solid 1px #383838; border-bottom: solid 1px #383838;}
#lead ul { margin: 0 auto; width: 100%; max-width: 680px; font-size: 0;}
#lead ul li { margin: 0 auto 20px; padding-left: 40px; vertical-align: top;
 background: url('../img/icn-check.svg') no-repeat 0% 4px / 26px auto; font-size: 20px; font-weight: 700;
}
#lead ul li:last-child { margin: 0 auto;}
#lead ul li span { color: #ee983f;}
@media (max-width: 801px) {
	#lead h2 { font-size: 36px;}
	#lead h3 { font-size: 24px;}
	#lead p { font-size: 16px;}
	#lead ul li { background-size: 26px auto;}
}
@media (max-width: 641px) {
	#lead ul li { padding-left: 30px; font-weight: 400;}
}
@media (max-width: 481px) {
	#lead .inner{ padding: 40px 0;}
	#lead h2 { margin-bottom: 10px; font-size: 24px; font-weight: 600;}
	#lead h3 { margin-bottom: 20px; font-size: 18px;}
	#lead h3 span { padding: 8px;}
	#lead p { font-size: 14px;}
	#lead ul { width: 92%;}
	#lead ul li { margin: 0 auto 10px; padding-left: 32px; background-size: 20px auto; font-size: 15px;}
}



.sct .inner-sct { width: 88%; max-width: 1100px; margin: 0 auto; padding: 80px 0;}
@media (max-width: 481px) {
	.sct .inner-sct { padding: 50px 0;}
}


#feature { background: url(../img/bg-sct-2.jpg) no-repeat 50% 50% / cover;}
#feature h2 { margin-bottom: 20px; color: #383838; font-size: 42px; font-weight: 400; letter-spacing: 0.08rem; line-height: 1.4; text-align: center;}
#feature h3 { margin-bottom: 50px; font-size: 28px; font-weight: 400; text-align: center;}
#feature h3 span { display: inline-block; padding: 10px 50px; border-top: solid 1px #383838; border-bottom: solid 1px #383838;}
#feature ol { width: 100%; max-width: 1100px; margin: 0 auto; font-size: 0;}
#feature ol li { display: flex; justify-content: space-between; width: 100%; margin: 0 auto 50px;}
#feature ol li:nth-child(even) { flex-direction: row-reverse;}
#feature ol li:last-child { margin: 0 auto;}
#feature ol li dl { width: 49%; max-width: 540px;}
#feature ol li dl dt { position: relative; margin-bottom: 25px; padding: 15px 0; padding-left: 80px;
 border-bottom: 1px solid #333;
 font-size: 23px; line-height: 1.4;
}
#feature ol li dl dt.row { padding: 30px 0 25px; padding-left: 80px;}

#feature ol li dl dt span.num { position: absolute; left: 8px; top: -8px;
 color: #0a8cd4; font-size: 110px; font-style: italic; line-height: 1;
}
#feature ol li dl dt em { color: #18274a; font-size: 28px; font-weight: 700;}
#feature ol li dl dd { font-size: 16px; letter-spacing: 0.05rem; line-height: 1.8; text-align: justify;}
#feature ol li figure { width: 49%; max-width: 500px; padding-top: 20px;}
#feature ol li figure img{ width: 100%;}
@media (max-width: 1201px) {
	#feature h2 { font-size: 36px;}
	#feature ol li dl dt { font-size: 20px;}
	#feature ol li dl dt em{ font-size: 24px;}
}
@media (max-width: 1001px) {
	#feature h2 span { display: block;}
	#feature ol li dl dt { font-size: 18px;}
}
@media (max-width: 801px) {
	#feature h2 { font-size: 30px;}
	#feature h3 { font-size: 24px;}
	#feature ol li { display: block; width: 100%; margin: 0 auto 40px;}
	#feature ol li dl { width: 100%; max-width: 540px; margin: 0 auto 20px;}
	#feature ol li dl dt { margin-bottom: 15px;}
	#feature ol li dl dt span.no { font-size: 100px;}
	#feature ol li figure { width: 100%; margin: 0 auto; padding-top: 0px;}
}
@media (max-width: 481px) {
	#feature h2 { margin-bottom: 10px; font-size: 21px; font-weight: 600;}
	#feature h3 { margin-bottom: 30px; font-size: 18px;}
	#feature h3 span { display: block; padding: 8px;}
	#feature ol li { margin: 0 auto 20px;}
	#feature ol li dl { margin: 0 auto 10px;}
	#feature ol li dl dt { padding: 10px 0; padding-left: 50px; font-size: 17px;}
	#feature ol li dl dt.row { padding: 20px 0 15px; padding-left: 50px;}
	#feature ol li dl dt span.num { top: 4px; font-size: 60px;}
	#feature ol li dl dt em { font-size: 20px;}
	#feature ol li dl dt span.no { top: 50%; transform: translate(0,-50%); font-size: 60px;}
	#feature ol li dl dt br.pc { display: none;}
	#feature ol li dl dd { font-size: 14px;}
	#feature ol li figure {}
}


#reason .ttl { margin: 0 auto 40px;}
#reason .lead { width: 100%; max-width: 960px; margin: 0 auto 50px;}
#reason .lead p { font-size: 18px; line-height: 2;}
#reason .ctn { width: 100%; margin: 0 auto;}
#reason .ctn .bloc { position: relative; margin-bottom: 50px; padding-left: 90px;}
#reason .ctn .bloc:last-child { margin-bottom: 0;}
#reason .ctn .bloc .icn { position: absolute; left: 0; top: 0; }
#reason .ctn .bloc .icn span { color: #0a8cd4; font-size: 110px; font-style: italic; line-height: 1;}
#reason .ctn .bloc .inner { display: flex; justify-content: space-between;}
#reason .ctn .bloc .txt { width: 65%; padding-top: 20px;}
#reason .ctn .bloc .txt h3 { margin-bottom: 30px; color: #18274a; font-size: 28px;}
#reason .ctn .bloc .txt p { font-size: 18px; letter-spacing: 0.05rem; line-height: 2;}
#reason .ctn .bloc .pht { width: 30%;}
#reason .ctn .bloc .pht figure { width: 100%; max-width: 300px;}
#reason .ctn .bloc .pht figure img { width: 100%;}
@media (max-width: 801px) {
	#reason .lead p { font-size: 16px; line-height: 1.8;}
	#reason .ctn .bloc .txt h3 { margin-bottom: 20px; font-size: 24px;}
	#reason .ctn .bloc .txt p { font-size: 15px; line-height: 1.8;}
}
@media (max-width: 641px) {
	#reason .ctn .bloc { margin-bottom: 30px; padding-left: 0px;}
	#reason .ctn .bloc .icn span { font-size: 80px;}
	#reason .ctn .bloc .inner {	display: block;}
	#reason .ctn .bloc .txt { width: 100%; margin: 0 auto 20px; padding-left: 60px;}
	#reason .ctn .bloc .pht { width: 100%;}
	#reason .ctn .bloc .pht figure { margin: 0 auto;}
}
@media (max-width: 481px) {
	#reason .ttl { margin: 0 auto 20px;}
	#reason .lead { margin: 0 auto 30px;}
	#reason .lead p { font-size: 14px;}
	#reason .ctn .bloc .icn span { font-size: 60px;}
	#reason .ctn .bloc .txt { padding-top: 10px; padding-left: 50px;}
	#reason .ctn .bloc .txt h3 { margin-bottom: 10px; font-size: 21px;}
	#reason .ctn .bloc .txt p { font-size: 14px;}
}



#type .ttl { margin: 0 auto 60px;}
#type .box { position: relative; width: 100%; margin: 0 auto 65px; padding: 40px; background: #fff; border: solid 1px #e1e1e1;}
#type .box:last-child { margin: 0 auto;}
#type .box .inner-box { display: flex; justify-content: space-between; width: 100%;}
#type .box .num { position: absolute; left: 30px; top: -60px; color: #0a8cd4; font-size: 110px; font-style: italic; line-height: 1;}
#type .box .pht { width: 28%;}
#type .box .pht img { width: 100%; max-width: 280px;}
#type .box .txt { width: 68%;}
#type .box .txt h3 { margin-bottom: 20px; color: #18274a; font-size: 28px;}
#type .box .txt p { font-size: 18px; line-height: 2; letter-spacing: 0.05rem; text-align: justify;}
#type .box .more-ctn { position: relative; padding: 20px 0 58px;}
#type .box .more-ctn .more-btn { position: absolute; left: 0; bottom: 0; width: 100%;}
#type .box .more-ctn .more-btn div { width: 80%; max-width: 330px; margin: 0 auto; padding: 16px 0 18px; border: solid 1px #e1e1e1; background: #fafbfd;
 color: #18274a; font-size: 18px; line-height: 1; text-align: center; cursor: pointer;
}
#type .box .more-ctn .more-btn div:after { content: ''; display: inline-block; width: 10px; height: 10px;
 border-top: solid 2px #18274a; border-left: solid 2px #18274a; position: relative; transform: translate(0,-2px) rotate(-135deg); vertical-align: middle;
}
#type .box .more-ctn .more-btn div span { display: inline-block; vertical-align: middle; margin-right: 20px;}
#type .box .more-ctn .more-btn div span.close { display: none;}
#type .box .more-ctn .more-btn.open div:after { transform: translate(0,5px) rotate(45deg);}
#type .box .more-ctn .more-btn.open div span { display: none;}
#type .box .more-ctn .more-btn.open div span.close { display: inline-block;}

#type .box .more-ctn .hide-ctn { display: none;}
#type .box .more-ctn .chart { width: 100%; margin: 0 auto;}
#type .box .more-ctn .chart .pc-chart { }
#type .box .more-ctn .chart .pc-chart ul { margin-bottom: 15px; border: solid 1px #d3e2ea; border-left: none; border-bottom: none;
 font-size: 0; text-align: center;
}
#type .box .more-ctn .chart .pc-chart ul li { display: table; width: 100%; border-bottom: solid 1px #d3e2ea; font-size: 20px;}
#type .box .more-ctn .chart .pc-chart ul li:first-child { background: #edf3fc !important; font-size: 22px;}
#type .box .more-ctn .chart .pc-chart ul li:nth-child(odd) { background: #fafcff;}
#type .box .more-ctn .chart .pc-chart ul li span { display: table-cell; padding: 15px 0; vertical-align: middle; border-left: solid 1px #d3e2ea; line-height: 1.4;}
#type .box .more-ctn .chart .pc-chart ul li:first-child span { padding: 12px 0;}
#type .box .more-ctn .chart .pc-chart ul li span sup { font-size: 18px;}
#type .box .more-ctn .chart .pc-chart ul li span.w1 { width: 24%;}
#type .box .more-ctn .chart .pc-chart ul li span.w2 { width: 23%;}
#type .box .more-ctn .chart .pc-chart ul li span.w15{ width: 15%;}
#type .box .more-ctn .chart .pc-chart ul li span.w16{ width: 16%;}
#type .box .more-ctn .chart .pc-chart ul li span.w17{ width: 17%;}
#type .box .more-ctn .chart .pc-chart ul li span.w18{ width: 18%;}

#type .box .more-ctn .chart .pc-chart ul li span.w32{ width: 32%;}
#type .box .more-ctn .chart .pc-chart ul li span.w34{ width: 34%;}
#type .box .more-ctn .chart .pc-chart ul li span.wide { width: 30%; border-left: solid 1px #d3e2ea;}
#type .box .more-ctn .chart .sp-chart { display: none;}
#type .box .more-ctn .chart p.note { text-align: right;}
@media (max-width: 1001px) {
	#type .box .more-ctn .chart .pc-chart ul li { font-size: 16px;}
	#type .box .more-ctn .chart .pc-chart ul li:first-child { font-size: 18px;}
}
@media (max-width: 801px) {
	#type .box .txt h3 { font-size: 24px;}
	#type .box .txt p { font-size: 15px; line-height: 1.8;}
	#type .box .more-ctn .chart .pc-chart ul li { font-size: 14px;}
	#type .box .more-ctn .chart .pc-chart ul li:first-child { font-size: 16px;}
	#type .box .more-ctn .chart .pc-chart ul li span sup { font-size: 13px;}
	#type .box .more-ctn .chart p.note { font-size: 13px;}
}
@media (max-width: 641px) {
	#type .box .num { top: -40px; font-size: 80px;}
	#type .box .inner-box { display: block;}
	#type .box .pht { width: 100%; margin: 0 auto 20px; text-align: center;}
	#type .box .txt { width: 100%;}
	#type .box .txt h3 { margin-bottom: 10px; font-size: 21px;}
	#type .box .more-ctn .more-btn div { padding: 12px 0 14px; font-size: 15px;}
	#type .box .more-ctn .chart .pc-chart { display: none;}
	#type .box .more-ctn .chart .sp-chart { display: block;}
	#type .box .more-ctn .chart .sp-chart p { position: relative; margin-bottom: 6px; padding-left: 20px; font-size: 16px; font-weight: 700;}
	#type .box .more-ctn .chart .sp-chart p:before { content: ''; display: block; width: 10px; height: 10px; background: #000; border-radius: 50%;
	 position: absolute; left: 0; top: 8px;
	}
	#type .box .more-ctn .chart .sp-chart ul { border: solid 1px #d3e2ea; border-bottom: none;}
	#type .box .more-ctn .chart .sp-chart ul.mb { margin-bottom: 15px;}
	#type .box .more-ctn .chart .sp-chart ul li { border-bottom: solid 1px #d3e2ea;}
	#type .box .more-ctn .chart .sp-chart ul li dl { display: table; width: 100%;}
	#type .box .more-ctn .chart .sp-chart ul li dl dt,
	#type .box .more-ctn .chart .sp-chart ul li dl dd { display: table-cell; vertical-align: middle;}
	#type .box .more-ctn .chart .sp-chart ul li dl dt { width: 48%; padding: 8px; background: #edf3fc; border-right: solid 1px #d3e2ea; font-size: 15px;}
	#type .box .more-ctn .chart .sp-chart ul li dl dt sup { font-size: 12px;}
	#type .box .more-ctn .chart .sp-chart ul li dl dd { width: 52%; padding: 4px 0px; text-align: center; font-size: 13px;}
	#type .box .more-ctn .chart .sp-chart ul li dl dd span { display: block; margin-bottom: 4px; padding: 0px 0px 4px; border-bottom: solid 1px #d3e2ea;}
}
@media (max-width: 481px) {
	#type .ttl { margin: 0 auto 30px;}
	#type .box { margin: 0 auto 40px; padding: 30px 18px 20px;}
	#type .box .num { top: -30px; font-size: 60px;}
	#type .box .pht { margin: 0 auto 10px;}
	#type .box .txt p { font-size: 13px;}
	#type .box .more-ctn .more-btn div { font-size: 13px;}
	#type .box .more-ctn .chart .sp-chart p { font-size: 14px;}
	#type .box .more-ctn .chart .sp-chart ul li dl dt { padding: 8px 6px; padding-right: 0; font-size: 11px;}
	#type .box .more-ctn .chart .sp-chart ul li dl dt sup { font-size: 10px;}
	#type .box .more-ctn .chart .sp-chart ul li dl dd { font-size: 11px;}
}


#cost {}
#cost .ttl { margin-bottom: 50px;}
#cost ul { width: 100%; margin: 0 auto; font-size: 0;}
#cost ul.point { max-width: 1100px; margin: 0 auto 40px; text-align: center;}
#cost ul.point li { display: inline-block; width: 33%; margin: 0 auto; }
#cost ul.point li img{ width: 92%; margin: 0 auto; box-shadow: 0 0 10px rgb(51 51 51 / 20%);}
#cost ul.note { max-width: 840px; margin-bottom: 40px;}
#cost ul.note li { position: relative; padding-left: 45px; font-size: 16px;}
#cost ul.note li:before { content: "※"; position: absolute; left: 20px; top: 0px;}
#cost .board { max-width: 1100px; margin: 0 auto; padding: 40px 50px; background: #e6eef6; border: solid 1px #e1e1e1;}
#cost .board h3 { margin-bottom: 20px; color: #383838; font-size: 26px; font-weight: 400; text-align: center;}
#cost .board p { font-size: 18px; line-height: 1.8; letter-spacing: 0.05rem;}
@media (max-width: 801px) {
	#cost .ttl { margin-bottom: 30px;}
	#cost .board h3 { font-size: 21px;}
	#cost .board p { font-size: 15px;}
}
@media (max-width: 641px) {
	#cost .ttl { margin-bottom: 30px;}
	#cost h3 { margin-bottom: 15px; font-size: 24px;}
	#cost ul.note li { font-size: 13px;}
	#cost .board { padding: 20px 30px;}
	#cost .board h3 { font-size: 18px;}
	#cost .board p { font-size: 14px;}
}
@media (max-width: 481px) {
	#cost .ttl { margin-bottom: 20px;}
	#cost ul.point { margin: 0 auto 15px;}
	#cost ul.point li { display: block; width: 100%; max-width: 300px; margin: 0 auto 15px;}
	#cost ul.note li { padding-left: 30px; font-size: 12px;}
	#cost ul.note li:before { left: 10px; top: 0px;}
	#cost .board { padding: 15px 20px;}
	#cost .board p { font-size: 12px; line-height: 1.75;}
}


ol.flow { width: 100%; max-width: 1100px; margin: 0 auto;}
ol.flow li { position: relative; margin: 0 auto 24px; padding: 30px; background: #fff; border: 1px solid #e1e1e1;}
ol.flow li:last-child { margin: 0 auto;}
ol.flow li:after { content: ""; position: absolute; left: 0; right: 0; bottom: -21px; margin: auto; z-index: 2;
 display: block; width: 40px; height: 40px;
 background: #fff; border-top: 1px solid #e1e1e1; border-left: 1px solid #e1e1e1;
 -webkit-transform: rotate( -135deg) skew(-10deg, -10deg);
 -ms-transform: rotate(-135deg) skew(-10deg, -10deg);
 transform: rotate(-135deg) skew(-10deg, -10deg);
}
ol.flow li:last-child:after{ content: none;}
ol.flow li span.no { width: 90px; height: 90px; line-height: 90px;
 position: absolute; left: 15px; top: 50%; transform: translate(0,-50%);
color: #2e72db; font-size: 100px; font-weight: 400; text-align: center;
}
ol.flow li dl { position: relative; width: 100%; min-height: 160px; padding-left: 90px; padding-right: 240px;}
ol.flow li dl dt { margin-bottom: 20px; color: #1a294b; font-size: 30px; font-weight: 700;}
ol.flow li dl dd { line-height: 1.75; letter-spacing: 0.05rem;}
ol.flow li dl dd.txt { margin-bottom: 20px;}
ol.flow li dl dd.note { position: relative; padding-left: 20px; color: #ae3534; }
ol.flow li dl dd.note:before { content: "※"; position: absolute; left: 0px; top: 0px;}
ol.flow li dl dd.img { width: 200px; position: absolute; right: 0; top: 50%; transform: translate(0,-50%);}
ol.flow li dl dd.img img{ width: 100%;}
ol.flow li dl dd.img img.sp { display: none;}
@media (max-width: 1001px) {
	ol.flow li dl dt { margin-bottom: 20px; font-size: 24px;}
	ol.flow li dl dd { font-size: 14px;}
	ol.flow li dl dd.txt { margin-bottom: 10px;}
}
@media (max-width: 801px) {
	ol.flow li { padding: 20px;}
	ol.flow li span.no { left: 0; width: 60px; height: 60px; font-size: 60px; line-height: 60px;}
	ol.flow li dl { min-height: auto; padding-left: 40px; padding-right: 160px;}
	ol.flow li dl dt { margin-bottom: 10px; font-size: 24px;}
	ol.flow li dl dd.note { font-size: 13px;}
	ol.flow li dl dd.img { width: 140px;}
}
@media (max-width: 641px) {
	ol.flow li { padding: 25px 20px;}
	ol.flow li span.no { top: 45px;}
	ol.flow li dl { min-height: auto; padding-left: 0px; padding-right: 0px;}
	ol.flow li dl dt { text-align: center;}
	ol.flow li dl dd.note{ margin: 0 auto 10px;}
	ol.flow li dl dd.img { width: 100%; max-width: 400px; margin: 0 auto; position: relative; right: auto; top: auto; transform: translate(0,0);}
	ol.flow li dl dd.img img.pc { display: none;}
	ol.flow li dl dd.img img.sp { display: block; width: 100%;}
}
@media (max-width: 481px) {
	ol.flow li:last-child { padding: 18px 20px 25px;}
	ol.flow li span.no { top: 35px; left: 12px;}
	ol.flow li:last-child span.no{ top: 43px;}
	ol.flow li dl dt { font-size: 18px; line-height: 1.4;}
	ol.flow li dl dt span{ display: block;}
}

#flow { background: #e6eef6;}
#flow .ttl { margin: 0 auto 40px;}
#flow ol.flow li dl dd { font-size: 16px;}
@media (max-width: 801px) {
	#flow ol.flow li dl dd { font-size: 14px;}
}
@media (max-width: 481px) {
	#flow .ttl { margin: 0 auto 20px;}
}


#voice .ttl { margin: 0 auto 40px;}
#voice .ctn { margin: 0 auto 30px; background: #fff; border: solid 1px #e1e1e1;}
#voice .ctn:last-child { margin: 0 auto;}
#voice .ctn .tit { position: relative; padding: 30px; padding-left: 220px; border-bottom: solid 1px #e1e1e1;}
#voice .ctn .tit .icn { position: absolute; left: 0; top: 50%; transform: translate(0,-45%); width: 220px;
 color: #0a8cd4; line-height: 0.8; text-align: center;
}
#voice .ctn .tit .icn span { display: block; font-size: 28px; font-weight: 700;}
#voice .ctn .tit .icn em { display: block; font-size: 100px; font-style: italic;}
#voice .ctn .tit h3 { color: #1a294b; font-size: 32px; letter-spacing: 0.05rem;}
#voice .ctn .tit h3 span { position: relative; display: inline-block; padding-right: 40px;}
#voice .ctn .tit h3 span:after { content: ''; display: block; width: 1px; height: 40px; background: #1a294b;
 position: absolute; right: 20px; top: 50%; transform: translate(0,-45%) rotate(45deg);
}
#voice .ctn .box { padding: 10px 40px 30px; background: #fafbfd; border: solid 1px #e1e1e1;}
#voice .ctn .box dl dt { position: relative; padding: 20px; padding-left: 40px; border-bottom: dashed 1px #e1e1e1; color: #1a294b; font-size: 28px; font-weight: 700; line-height: 1;}
#voice .ctn .box dl dt::before { content: ''; display: block; width: 14px; height: 14px; position: absolute; left: 0; top: 28px;
 border-radius: 50%;
}
#voice .ctn .box dl.check1 dt::before { background: #1a294b;}
#voice .ctn .box dl.check2 dt::before { background: #2e72db;}
#voice .ctn .box dl.check3 dt::before { background: #ee983f;}
#voice .ctn .box dl dd { padding-top: 20px;}
#voice .ctn .box dl.check1 dd { font-size: 28px; font-weight: 700; letter-spacing: 0.05rem;}
#voice .ctn .box dl.check2 dd { color: #2e72db; font-size: 28px; font-weight: 700; letter-spacing: 0.05rem;}

#voice .ctn .ctn-inner { padding: 35px 50px;}
#voice .ctn .flex-box { display: flex; justify-content: space-between; margin: 0 auto 25px;}
#voice .ctn .flex-box .box { width: 48.5%;}
@media (max-width: 1001px) {
	#voice .ctn .tit { padding-left: 180px;}
	#voice .ctn .tit .icn { width: 180px;}
	#voice .ctn .tit .icn span { font-size: 21px;}
	#voice .ctn .tit .icn em { font-size: 80px;}
	#voice .ctn .tit h3 { font-size: 26px;}
	#voice .ctn .box dl dt { font-size: 24px;}
	#voice .ctn .box dl.check1 dd { font-size: 21px;}
	#voice .ctn .box dl.check2 dd { font-size: 21px;}
}
@media (max-width: 1001px) {
	#voice .ctn .tit h3 { font-size: 21px;}
}
@media (max-width: 801px) {
	#voice .ctn .box { padding: 10px 30px 20px;}
	#voice .ctn .box dl dt { padding: 15px; padding-left: 30px;}
	#voice .ctn .box dl dt::before { top: 20px;}
	#voice .ctn .flex-box { display: block; margin: 0 auto 20px;}
	#voice .ctn .flex-box .box { width: 100%;}
	#voice .ctn .flex-box .box:first-child { margin: 0 auto 20px;}
}
@media (max-width: 641px) {
	#voice .ctn .tit { padding: 20px; padding-left: 120px;}
	#voice .ctn .tit .icn { width: 120px;}
	#voice .ctn .tit .icn span { font-size: 16px;}
	#voice .ctn .tit .icn em { font-size: 60px;}
	#voice .ctn .tit h3 { font-size: 18px;}
	#voice .ctn .tit h3 span:after { height: 30px;}
	#voice .ctn .box { padding: 10px 20px;}
	#voice .ctn .box dl dt { padding: 10px; padding-left: 25px; font-size: 21px;}
	#voice .ctn .box dl dt::before { top: 14px;}
	#voice .ctn .box dl dd { padding-top: 15px; font-size: 14px;}
	#voice .ctn .box dl.check1 dd { font-size: 18px;}
	#voice .ctn .box dl.check2 dd { font-size: 18px;}
	#voice .ctn .ctn-inner { padding: 25px 30px;}
}
@media (max-width: 481px) {
	#voice .ttl { margin: 0 auto 20px;}
	#voice .ctn .tit { padding: 15px; padding-left: 100px;}
	#voice .ctn .tit .icn { width: 100px;}
	#voice .ctn .tit .icn span { font-size: 14px;}
	#voice .ctn .tit h3 { font-size: 16px;}
	#voice .ctn .tit h3 span { display: block; padding: 0;}
	#voice .ctn .tit h3 span:after { content: none;}
	#voice .ctn .box { padding: 4px 15px 10px;}
	#voice .ctn .box dl dt { padding: 8px; padding-left: 25px; font-size: 18px;}
	#voice .ctn .box dl dt::before { top: 12px; width: 10px; height: 10px;}
	#voice .ctn .box dl dd { padding-top: 10px; font-size: 13px;}
	#voice .ctn .box dl.check1 dd { font-size: 17px;}
	#voice .ctn .box dl.check2 dd { font-size: 17px;}
	#voice .ctn .ctn-inner { padding: 15px 20px;}
}


#faq .ttl { margin: 0 auto 40px;}
#faq ul li { margin: 0 auto 20px; background: #e6eef6; border: solid 1px #e1e1e1;}
#faq ul li:last-child { margin: 0 auto;}
#faq ul li dl { padding: 20px 30px 0;}
#faq ul li dl dt { position: relative; padding: 8px 90px 30px;cursor: pointer;}
#faq ul li dl dd { position: relative; padding: 20px 20px 30px; border-top: dashed 1px #a1a6ac; font-size: 20px; letter-spacing: 0.075rem; line-height: 2;
 display: none;
}
#faq ul li dl dt span.q { display: block; color: #0a8cd4; font-size: 50px; font-weight: 700; line-height: 1; text-align: center;
 position: absolute; left: 10px; top: 35%; transform: translate(0,-50%); font-family: 'Libre Baskerville', serif;}
#faq ul li dl dt span.min { display: block; color: #1a294b; font-size: 24px; font-weight: 600; letter-spacing: 0.05rem;}
#faq ul li dl dt:after { content: ''; display: block; width: 23px; height: 23px; border-bottom: solid 3px #0a8cd4; border-right: solid 3px #0a8cd4;
 position: absolute; right: 20px; top: 50%; transform: translate(0,-100%) rotate(45deg); transform-origin: 50% 50%; transition: 0.3s linear;}
#faq ul li dl dt.open:after { transform: translate(0,-50%) rotate(-135deg);}
@media (max-width: 801px) {
	#faq ul li dl { padding: 10px 20px 0;}
	#faq ul li dl dt { padding: 4px 50px 12px;}
	#faq ul li dl dt:after { right: 0; width: 16px; height: 16px;}
	#faq ul li dl dt span.q { left: 5px; font-size: 36px;}
	#faq ul li dl dt span.min { font-size: 18px;}
	#faq ul li dl dd { padding: 20px; font-size: 14px; line-height: 1.8;}
}
@media (max-width: 481px) {
	#faq .inner-sct { padding: 40px 0;}
	#faq .ttl { margin: 0 auto 20px;}
	#faq h2.stl { margin-bottom: 20px;}
	#faq ul li dl { padding: 0 10px;}
	#faq ul li dl dt { padding: 12px 30px 12px 35px;}
	#faq ul li dl dt:after { right: 6px; width: 10px; height: 10px; border-width: 2px;}
	#faq ul li dl dt span.q { top: 45%; font-size: 20px;}
	#faq ul li dl dt span.min { font-size: 15px; text-align: justify;}
	#faq ul li dl dd { padding: 15px 10px; font-size: 13px;}
}


#intro .inner-sct { width: 90%; max-width: 1100px; margin: 0 auto; padding: 100px 0 80px;}
#intro .ttl { margin:0 auto 60px;}
#intro .ctn { display: flex; width: 92%; margin: 0 auto 50px;}
#intro .ctn .txt { width: 54%;}
#intro .ctn .pht { width: 46%;}
#intro .ctn .txt p { margin-bottom: 1em; font-size: 18px; line-height: 1.75;}
#intro .ctn .pht figure { width: 90%; max-width: 440px; margin: 0 0 0 auto;}
#intro .ctn .pht figure img{ width: 100%;}


#intro .ctn-map { display: flex; justify-content: space-between; width: 92%; margin: 0 auto;}
#intro .ctn-map .map-1,
#intro .ctn-map .map-2 { width: 46%;}
#intro .ctn-map h3 { margin-bottom: 20px; color: #2a5dad; font-size: 21px; line-height: 1.2;}
#intro .ctn-map .map { margin-bottom: 20px;}
#intro .ctn-map .map iframe { width: 100%; height: 280px;}
#intro .ctn-map p { margin-bottom: 20px; font-size: 14px;}
#intro .ctn-map dl{ width: 100%; min-height: 135px; padding: 15px 20px; background: #fff;}
#intro .ctn-map dl dt { font-size: 20px; font-weight: 700;}
#intro .ctn-map dl dd { font-size: 14px;}
@media (max-width: 801px) {
	#intro .ttl { margin:0 auto 30px;}
	#intro .ctn { display: block;}
	#intro .ctn .txt { width: 100%;}
	#intro .ctn .pht { width: 100%;}
	#intro .ctn .txt p { font-size: 15px;}
	#intro .ctn .pht figure { margin: 0 auto;}

	#intro .ctn-map { display: block;}
	#intro .ctn-map .map-1 { width: 100%; margin: 0 auto 30px;}
	#intro .ctn-map .map-2 { width: 100%;}
	#intro .ctn-map h3 { margin-bottom: 10px; font-size: 20px; }
	#intro .ctn-map .map { margin-bottom: 10px;}
	#intro .ctn-map p { margin-bottom: 10px; font-size: 13px;}
	#intro .ctn-map dl{ min-height: auto;}
	#intro .ctn-map dl dt { font-size: 18px;}
	#intro .ctn-map dl dd { font-size: 14px;}
}
@media (max-width: 481px) {
	#intro .inner-sct { padding: 40px 0;}
	#intro .ttl { margin:0 auto 20px;}
	#intro .ctn .txt p { font-size: 14px; line-height: 1.6;}
}


#lawyer .ttl { margin:0 auto 40px;}
#lawyer ul { width: 100%; max-width: 1100px; margin: 0 auto; font-size: 0;}
#lawyer ul li { display: inline-block; width: 33.3334%; margin: 0 auto 20px; vertical-align: top;}
#lawyer ul li dl { width: 94%; min-height: 220px; margin: 0 auto; padding: 25px 30px; background: #e6eef6;}
#lawyer ul li dl.has-pht { min-height: 500px;}
#lawyer ul li dl dt { margin-bottom: 20px; color: #2a5dad; font-size: 22px; text-align: center;}
#lawyer ul li dl dt img { width: 100%; max-width: 280px; margin: 0 auto 20px;}
#lawyer ul li dl dt span{ display: block;}
#lawyer ul li dl dd.txt { width: 100%; max-width: 280px; margin: 0 auto; font-size: 14px; text-align: left;}
@media (max-width: 1001px) {
	#lawyer ul li dl { padding: 15px 20px;}
	#lawyer ul li dl.has-pht { min-height: 400px;}
}
@media (max-width: 801px) {
	#lawyer ul li { width: 50%;}
	#lawyer ul li dl { min-height: 180px;}
	#lawyer ul li:nth-child(4) dl { min-height: 450px;}
	#lawyer ul li dl.has-pht { min-height: 450px;}
	#lawyer ul li dl dt img { margin: 0 auto 10px;}
	#lawyer ul li dl dt { margin-bottom: 10px;}
}
@media (max-width: 641px) {
	#lawyer .ttl { margin:0 auto 30px;}
	#lawyer ul li { width: 100%;}
	#lawyer ul li:last-child { margin: 0 auto;}
	#lawyer ul li dl { min-height: auto;}
	#lawyer ul li:nth-child(4) dl { min-height: auto;}
	#lawyer ul li dl.has-pht { min-height: auto;}
}
@media (max-width: 481px) {
	#lawyer .ttl { margin:0 auto 20px;}
}

#contact { background: #2790cb;}
#contact .inner-sct { width: 90%; max-width: 1100px; margin: 0 auto; padding: 80px 0;}
#contact .ttl { margin: 0 auto 40px;}
#contact .ttl h2 { color: #fff;}
#contact p { color: #fff; text-align: center;}
#contact p.read { margin-bottom: 40px; font-size: 24px; font-weight: 600;}
#contact .ctn { width: 100%; margin: 0 auto;}
#contact .ctn ul { margin-bottom: 45px; background: #fff;}
#contact .ctn ul li { border-bottom: solid 1px #dcdcdc}
#contact .ctn ul li:last-child { border-bottom: none}
#contact .ctn ul li dl { display: table; width: 100%;}
#contact .ctn ul li dl dt,
#contact .ctn ul li dl dd { display: table-cell; padding: 20px 35px;}
#contact .ctn ul li dl dt { width: 30%; background: #deeaef; font-size: 16px;}
#contact .ctn ul li dl dd { width: 70%; position: relative;}
#contact .ctn ul li dl dt span.must { display: inline-block; width: 50px; height: 28px; background: #ee983f; border-radius: 5px;
 color: #fff; font-size: 15px; line-height: 27px; text-align: center; margin-right: 15px;
}
#contact .ctn ul li dl dt span.note,
#contact .ctn ul li dl dd span.note { display: block; padding-top: 5px; font-size: 15px;}
#contact .ctn ul li dl dd input {}
#contact .ctn ul li dl dd input[type="text"],
#contact .ctn ul li dl dd input[type="email"],
#contact .ctn ul li dl dd input[type="tel"],
#contact .ctn ul li dl dd textarea { width: 50%; padding: 10px 17px; border: 1px solid #dcdcdc; background: #f8f8f8; border-radius: 5px; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
#contact .ctn ul li dl dd input.long { width: 70%;}
#contact .ctn ul li dl dd label.office { display: inline-block; width: 25%; vertical-align: middle;}
#contact .ctn ul li dl dd input[type="checkbox"]{ display: inline-block; margin-right: 5px;}
#contact .ctn ul li dl dd select { width: 180px; padding: 10px 40px 10px 20px; border: 1px solid #dcdcdc;
background: #f8f8f8 url('../img/icn-select.svg') no-repeat right 15px center / 9px 8px; outline: none;
-webkit-appearance: none; -moz-appearance: none; appearance: none;
}
#contact .ctn ul li dl dd textarea { width: 100%; height: 180px;}
#contact .ctn .btn { width: 55%; max-width: 320px; margin: 20px auto;}
#contact .ctn .btn input[type="submit"]{ display: block; width: 100%; padding: 15px 0; background: #ee983f;
 color: #fff; font-size: 24px; font-weight: 700; text-align: center; border: none; outline: none;
}
#contact p a { color: #fff;}
#contact p a:hover { text-decoration: none;}
@media (max-width: 801px) {
	#contact .ttl { margin: 0 auto 20px;}
	#contact p.read { margin-bottom: 20px; font-size: 20px;}
	#contact .ctn ul li dl { display: block;}
	#contact .ctn ul li dl dt,
	#contact .ctn ul li dl dd { display: block; width: 100%; padding: 15px;}
	#contact .ctn ul li dl dt { font-size: 14px;}
	#contact .ctn ul li dl dt span.must { font-size: 14px; width; 40px; height: 24px; line-height: 23px;}
}
@media (max-width: 641px) {
	#contact h2.stl { margin-bottom: 30px;}
	#contact .ctn ul li dl dd input[type="text"],
	#contact .ctn ul li dl dd input[type="email"],
	#contact .ctn ul li dl dd input[type="tel"],
	#contact .ctn ul li dl dd textarea { width: 100%;}
	#contact .ctn ul li dl dd input.long { width: 100%;}
	#contact .ctn ul li dl dd label.office { width: 32%;}
}
@media (max-width: 481px) {
	#contact .inner-sct { padding: 40px 0;}
	#contact h2.stl { margin-bottom: 20px;}
	#contact p.read { margin-bottom: 10px; font-size: 16px;}
	#contact p { font-size: 13px;}
	#contact .ctn ul { margin: 0 auto 20px;}
	#contact .ctn ul li dl dt { padding: 10px 15px;}
	#contact .ctn ul li dl dd { font-size: 14px;}
	#contact .ctn ul li dl dt span.note,
	#contact .ctn ul li dl dd span.note { padding-top: 2px; font-size: 12px;}
	#contact .ctn ul li dl dd label.office { width: 49%;}
	#contact .ctn .btn input[type="submit"]{ padding: 6px 0; font-size: 16px;}
}

#contact ul li label.error {
	position: absolute; top: -10px; left: 20px;
	padding: 5px 8px;
	background: #d00; border-radius: 5px;
	color: #fff; font-size: 12px;
	opacity: 0;
	animation: .5s showError linear forwards .2s;
}
#contact ul li label.error:before{ content: ''; display: block; width: 8px; height: 8px; background: #d00;
	transform: rotate(45deg);
	position: absolute; bottom: -4px; left: 40px;
}
@keyframes showError{
	100%{ opacity: 1;}
}




.kv-send {}
.kv-send .inner{ width: 92%; max-width: 1100px; margin: 0 auto; padding: 150px 0 80px;}
.kv-send h1 { font-size: 30px; font-weight: 400; letter-spacing: 0.1rem; text-align: center;}
.send-msg { border-bottom: 1px solid #e9f3fd;}
.send-msg .inner{ width: 92%; margin: 0 auto; padding: 100px 0 140px;}
.send-msg p { margin-bottom: 30px; line-height: 2; text-align: center;}
.send-msg .back { text-align: center;}
.send-msg .back a { color: #1c81e6; text-decoration: none;}
.send-msg .back a:after { content: ''; display: inline-block; width: 6px; height: 6px;
 border-top: solid 1px #1c81e6; border-right: solid 1px #1c81e6; 
 position: relative; transform: rotate(45deg); vertical-align: middle;
}
.send-msg .back a span { display: inline-block; margin-right: 10px; vertical-align: middle;}
@media (max-width: 641px) {
	.kv-send .inner{ padding: 80px 0 40px;}
	.kv-send h1 span { display: block;}
}
@media (max-width: 481px) {
	.kv-send h1 { letter-spacing: 0rem; font-size: 24px;}
	.send-msg .inner{ padding: 60px 0 100px;}
	.send-msg p { font-size: 14px;}
	.send-msg p span { display: block;}
}




