@charset "UTF-8";
/* common
================================================ */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, a, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

html { font-size: 62.5%; word-break: break-all; }

body { -webkit-text-size-adjust: 100%; }

article, aside, details, figcaption, figure, main, footer, header, menu, nav, section { display: block; }

h1, h2, h3, h4, h5, h6 { word-break: break-word; line-break: strict; overflow-wrap: break-word; word-wrap: break-word; }

ul:not([class]), ol:not([class]) { padding-left: 1.25em; }

ul[class], ol[class] { list-style: none; }

_:-ms-lang(x)::-ms-backdrop, ol:not([class]) { padding-left: 1.6em; }

span { font-weight: inherit; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a { color: inherit; }

@media all and (min-width: 600px) { a:hover { text-decoration: none; } }

a[class] { text-decoration: none; }

ins { background-color: #ff9; text-decoration: none; }

mark { background-color: #ff9; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

address { font-style: normal; }

table { width: 100%; table-layout: fixed; border-collapse: collapse; border-spacing: 0; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid rgba(31, 31, 31, 0.5); margin: 1em 0; padding: 0; }

img { max-width: 100%; height: auto; vertical-align: bottom; }

/* form
================================================== */
input[type="text"], input[type="email"], input[type="tel"], textarea, button, select, option { display: block; width: 100%; max-width: 100%; font-family: inherit; outline: none; border: 1px solid; border-radius: 0; background: none; }

@media all and (max-width: 599px) { input[type="text"], input[type="email"], input[type="tel"], textarea, button, select, option { font-size: 1.6rem; } }

input[type="text"], input[type="email"], input[type="tel"], textarea, button { -webkit-appearance: none; -moz-appearance: none; appearance: none; outline: none; }

input[type="radio"], input[type="checkbox"] { margin: 0; padding: 0; vertical-align: middle; }

textarea { resize: vertical; }

button { cursor: pointer; }

/* 02_base
================================================ */
html { overflow: auto; }

body { overflow: hidden; min-width: 320px; font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif; color: #1f1f1f; font-size: 1.4rem; line-height: 1.8; letter-spacing: .05em; }

@media all and (min-width: 600px) { body { min-width: 1180px; font-size: 1.6rem; } }

.l-wrapper { position: relative; }

@media all and (min-width: 600px) { .l-container.is-col2 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 1100px; margin: 0 auto; }
  .l-container.is-col2 .l-contents { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; width: calc(100% - 250px - 20px); }
  .l-container.is-col2 .l-sidebar { width: 250px; } }

/* utility
================================================ */
/* pc <--> sp
-------------------------------------- */
.u-media-query { display: none; font-family: 'sp'; }

@media all and (min-width: 600px) { .u-media-query { font-family: 'tb'; } }

@media all and (min-width: 1180px) { .u-media-query { font-family: 'pc'; } }

@media all and (max-width: 1179px) { .u-view-pc { display: none !important; } }

@media all and (max-width: 599px) { .u-view-tb { display: none !important; } }

@media all and (min-width: 1180px) { .u-view-tb { display: none !important; } }

@media all and (min-width: 600px) { .u-view-sp { display: none !important; } }

@media all and (min-width: 1180px) { .u-view-under-tb { display: none !important; } }

@media all and (max-width: 599px) { .u-view-upper-tb { display: none !important; } }

/* text
-------------------------------------- */
.u-uppercase { text-transform: uppercase; }

.u-font-en { font-family: 'Montserrat', sans-serif; }

/* link
-------------------------------------- */
a.u-alpha { display: block; text-decoration: none; }

@media all and (min-width: 600px) { a.u-alpha { -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  a.u-alpha:hover { opacity: 0.7 !important; } }

a.u-zoom { display: block; text-decoration: none; }

a.u-zoom .u-zoom__img { display: block; }

a.u-zoom .u-zoom__img-wrap { display: block; overflow: hidden; }

@media all and (min-width: 600px) { a.u-zoom .u-zoom__img { -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  a.u-zoom:hover .u-zoom__img { -webkit-transform: scale(1.1); transform: scale(1.1); } }

/* layout
-------------------------------------- */
.u-inner { -webkit-box-sizing: border-box; box-sizing: border-box; padding-left: 20px; padding-right: 20px; }

@media all and (min-width: 600px) { .u-inner { width: 100%; max-width: 1100px; margin: auto; padding-left: 0; padding-right: 0; } }

/* component
================================================ */
/* .c-color-black
================================================== */
.c-color-black { color: #1f1f1f; }

/* .c-color-blue
================================================== */
.c-color-blue { color: blue; }

/* .c-color-red
================================================== */
.c-color-red { color: #d10e0c; }

/* .c-cv01
================================================== */
.c-cv01 { background: url(../img/common/bg_cv01.png) no-repeat right -27px bottom -55px/248px auto, url(../img/common/bg_cv02_sp.png) no-repeat left 21px top -6px/103px auto #d10e0c; position: relative; overflow: hidden; z-index: 0; }

.c-cv01__inner { padding-top: 34px; padding-bottom: 38px; }

.c-cv01__head { font-size: 1.7rem; font-weight: 700; color: #fff; text-align: center; margin-bottom: 19px; }

.c-cv01__tags { text-align: center; }

.c-cv01__tag { font-size: 1rem; font-weight: 700; letter-spacing: .001em; color: #fff; background: #1f1f1f; display: inline-block; padding: 6px 10px; margin: 0 1px; }

.c-cv01__btn { display: block; margin: 10px -6px 0; }

@media all and (max-width: 360px) { .c-cv01__head { font-size: 1.5rem; }
  .c-cv01__tags { margin: 0 -8px; } }

@media all and (min-width: 600px) { .c-cv01 { background: url(../img/common/bg_cv01.png) no-repeat left 11.7% top -37px/436px auto, url(../img/common/bg_cv02_pc.png) no-repeat right 14.4% top #d10e0c; }
  .c-cv01__inner { padding-top: 47px; padding-bottom: 33px; }
  .c-cv01__head { font-size: 2.4rem; margin-bottom: 35px; }
  .c-cv01__wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin: 0 100px 0 156px; }
  .c-cv01__tag { font-size: 1.5rem; letter-spacing: inherit; display: block; -webkit-box-sizing: border-box; box-sizing: border-box; width: 260px; padding: 8px 0 11px; }
  .c-cv01__tag:last-of-type { margin-top: 3px; }
  .c-cv01__btn { margin-top: -33px; position: relative; right: 19px; } }

/* .c-form01
================================================== */
.c-form01 { background-color: #fff; -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.06); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.06); padding: 19px 26px 29px; margin: 0 -3px; }

.c-form01 .error { color: #d10e0c; }

.c-form01-txt { margin-bottom: 20px; }

.c-form01 tr { border-bottom: solid 1px #c2c2c2; }

.c-form01 th, .c-form01 td { font-size: 1.5rem; font-weight: 700; text-align: left; }

.c-form01 th { padding: 10px 0 0; position: relative; }

.c-form01 td { padding: 8px 0 14px; }

.c-form01__ico { display: inline-block; font-size: 1.2rem; color: #fff; padding: 0 12px; border-radius: 50px; position: absolute; right: 0; top: 13px; }

.c-form01__ico.is-required { background: #d10e0c; }

.c-form01__ico.is-option { background: #939393; }

.c-form01__small { font-size: 1.1rem; vertical-align: middle; display: inline-block; margin: -4px 0 0 1px; }

.c-form01_radio .radioWrap { display: block; margin-bottom: 9px; }

.c-form01_radio .radioWrap:last-child { margin-bottom: 0; }

.c-form01_radio input[type="radio"] { display: none; }

.c-form01_radio input[type="radio"] + span { display: inline-block; padding-left: 22px; position: relative; cursor: pointer; }

.c-form01_radio input[type="radio"] + span::before { content: ''; -webkit-box-sizing: border-box; box-sizing: border-box; width: 15px; height: 15px; background: #fff; border: solid 1px #333; border-radius: 50%; margin-top: -8px; position: absolute; left: 0; top: 16px; }

.c-form01_radio input[type="radio"]:checked + span::before { border-color: #d10e0c; }

.c-form01_radio input[type="radio"]:checked + span::after { content: ''; width: 9px; height: 9px; background: #d10e0c; border-radius: 50%; position: absolute; left: 3px; top: 11px; }

.c-form01_checkbox .checkWrap { display: block; margin-bottom: 9px; }

.c-form01_checkbox .checkWrap:last-child { margin-bottom: 0; }

.c-form01_checkbox input[type="checkbox"] { display: none; }

.c-form01_checkbox input[type="checkbox"] + span { display: inline-block; padding-left: 22px; position: relative; cursor: pointer; }

.c-form01_checkbox input[type="checkbox"] + span::before { content: ''; -webkit-box-sizing: border-box; box-sizing: border-box; border: solid 1px #333; background: #fff; width: 15px; height: 15px; position: absolute; left: -1px; top: 7px; }

.c-form01_checkbox input[type="checkbox"]:checked + span::before { border-color: #d10e0c; }

.c-form01_checkbox input[type="checkbox"]:checked + span::after { content: ''; width: 5px; height: 10px; border-right: solid 2px #d10e0c; border-bottom: solid 2px #d10e0c; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; left: 3px; top: 7px; }

.c-form01 input[type="text"], .c-form01 input[type="tel"], .c-form01 input[type="email"], .c-form01 textarea { -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; padding: 10px; font-size: 1.6rem; background: #e9ecef; border: none; }

.c-form01 textarea { min-height: 260px; }

.c-form01-policy { padding: 10px 15px 10px 14px; border: solid 1px #e1e1e1; -webkit-box-sizing: border-box; box-sizing: border-box; height: 100px; overflow-y: scroll; }

.c-form01-policy::-webkit-scrollbar { width: 14px; }

.c-form01-policy::-webkit-scrollbar-thumb { background: #e9ecef; border-top: solid 4px #fff; border-right: solid 4px #fff; }

.c-form01-policy__desc { font-size: 1.3rem; }

.c-form01-policy__desc-head { font-size: 1.4rem; font-weight: 700; display: block; }

.c-form01-policy__desc-txt { font-weight: 400; margin-bottom: 1em; }

.c-form01-submit { margin: 24px auto 0; }

.c-form01-submit button { background: #d10e0c; color: #fff; font-size: 1.6rem; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; max-width: 286px; padding: 15px 0; margin: 0 auto; border-radius: 8px; position: relative; }

.c-form01-submit button::before { content: ''; width: 6px; height: 6px; border-right: solid 2px #fff; border-bottom: solid 2px #fff; position: absolute; top: 50%; right: 15px; -webkit-transform: translateY(-50%) rotate(-45deg); transform: translateY(-50%) rotate(-45deg); }

.c-form01-submit button.btnAdjust { background: #888; margin-bottom: 15px; }

.c-form01-submit button.btnSubmit, .c-form01-submit button.btnAdjust { padding: 15px 0; }

.c-form01-submit a { display: block; text-decoration: none; }

@media all and (max-width: 599px) { .c-form01 th, .c-form01 td { display: block; } }

@media all and (min-width: 600px) { .c-form01 { padding: 72px 111px 79px; margin: 0 25px; }
  .c-form01-txt { font-size: 1.5rem; margin-bottom: 36px; }
  .c-form01 th, .c-form01 td { font-size: 1.6rem; }
  .c-form01 th { width: 220px; padding: 25px 0; vertical-align: top; }
  .c-form01 tr:not(:nth-child(-n+2)):not(:nth-child(8)):not(:last-child) th { vertical-align: middle; position: relative; }
  .c-form01 td { padding: 25px 30px; }
  .c-form01__ico { font-size: 1.3rem; right: 0; top: 30px; }
  tr:not(:nth-child(-n+2)):not(:nth-child(8)):not(:last-child) .c-form01__ico { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
  .c-form01__small { font-size: 1.3rem; display: block; margin: 3px 0 0; }
  .c-form01_radio .radioWrap { margin-bottom: 10px; }
  .c-form01_radio input[type="radio"] + span { padding-left: 28px; }
  .c-form01_radio input[type="radio"] + span::before { width: 18px; height: 18px; top: 14px; }
  .c-form01_radio input[type="radio"]:checked + span::after { width: 12px; height: 12px; left: 3px; top: 9px; }
  .c-form01_checkbox .checkWrap { margin-bottom: 10px; }
  .c-form01_checkbox input[type="checkbox"] + span { padding-left: 28px; }
  .c-form01_checkbox input[type="checkbox"] + span::before { width: 18px; height: 18px; left: 0; top: 7px; }
  .c-form01_checkbox input[type="checkbox"]:checked + span::after { left: 5px; top: 8px; }
  .c-form01 input[type="text"], .c-form01 input[type="tel"], .c-form01 input[type="email"], .c-form01 textarea { padding: 18px; }
  .c-form01 textarea { min-height: 200px; }
  .c-form01-policy { margin-top: 17px; padding: 18px 20px 18px 25px; height: 110px; }
  .c-form01-policy::-webkit-scrollbar { width: 17px; }
  .c-form01-policy::-webkit-scrollbar-thumb { border-width: 5px; }
  .c-form01-policy__desc { font-size: 1.4rem; }
  .c-form01-policy__desc-head { font-size: 1.5rem; }
  .c-form01-submit { width: 560px; margin: 70px auto 0; }
  .c-form01-submit button { font-size: 2rem; max-width: 100%; padding: 28px 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .c-form01-submit button::before { right: 40px; }
  .c-form01-submit button:hover { opacity: .7; }
  .c-form01-submit button.btnSubmit, .c-form01-submit button.btnAdjust { padding: 20px 0; }
  .c-form01-submit button.btnSubmit { margin-top: 15px; }
  .c-form01-submit button.btnAdjust { margin-right: 25px; margin-bottom: 0; } }

/* .c-form01 confirm.php
================================================== */
.c-form01 #errorMsg { color: #d10e0c; }

@media all and (min-width: 600px) { .c-form01 #errorMsg { text-align: center; font-size: 1.5rem; margin-bottom: 36px; } }

/* .c-head01
================================================== */
.c-head01 { text-align: center; line-height: 1.5; margin-bottom: 30px; }

.c-head01__head { font-size: 4rem; }

.c-head01__txt { font-size: 1.2rem; font-weight: 700; margin-top: -4px; }

@media all and (min-width: 600px) { .c-head01 { margin-bottom: 70px; }
  .c-head01__head { font-size: 8rem; }
  .c-head01__txt { font-size: 1.8rem; } }

/* .c-head02
================================================== */
.c-head02 { text-align: center; line-height: 1.5; margin-bottom: 20px; }

.c-head02__box { font-size: 1.3rem; font-weight: 700; color: #fff; background: #1f1f1f; display: inline-block; padding: 9px 23px; position: relative; }

.c-head02__box::after { content: ''; border-top: solid 7px #1f1f1f; border-left: solid 7px transparent; border-right: solid 7px transparent; position: absolute; left: 50%; bottom: -7px; -webkit-transform: translateX(-50%); transform: translateX(-50%); }

.c-head02__head { font-size: 4.7rem; color: #eb7170; }

.c-head02__head-img { vertical-align: middle; height: .74em; }

.c-head02__txt { font-size: 1.4rem; font-weight: 700; line-height: 1.8; margin-top: 10px; }

@media all and (min-width: 600px) { .c-head02 { margin-bottom: 50px; }
  .c-head02__box { font-size: 2.2rem; padding: 13px 34px; }
  .c-head02__box::after { border-width: 10px; bottom: -10px; }
  .c-head02__head { font-size: 12rem; margin: -28px 0 -13px; }
  .c-head02__head-img { width: auto; }
  .c-head02__txt { font-size: 1.9rem; margin-top: 1px; } }

@media all and (-ms-high-contrast: none) { .c-head02__head-in[data-anime="cover"] { margin-bottom: -50px; } }

/* .c-head03
================================================== */
.c-head03 { text-align: center; line-height: 1.5; margin-bottom: 33px; }

.c-head03__head { font-size: 4rem; }

.c-head03__head:first-letter { color: #d10e0c; }

.c-head03__txt { font-size: 1.3rem; font-weight: 700; margin-top: -4px; }

@media all and (min-width: 600px) { .c-head03 { margin-bottom: 47px; }
  .c-head03__head { font-size: 7rem; }
  .c-head03__txt { font-size: 1.6rem; margin-top: -7px; } }

@media all and (-ms-high-contrast: none) { .c-head03__head span { line-height: 1; }
  .c-head03__head span:first-letter { color: #d10e0c; } }

/* .c-point01
================================================== */
.c-point01 { background: #ba0605; color: #fff; position: relative; padding: 308px 20px 35px; }

.c-point01::before { content: ''; width: 280px; height: 280px; background: -webkit-gradient(linear, left bottom, right top, color-stop(50%, #a7091c), color-stop(50.1%, transparent)); background: linear-gradient(to right top, #a7091c 50%, transparent 50.1%); position: absolute; left: 0; top: 0; }

.c-point01-img { width: 353px; position: absolute; left: -24px; top: -35px; }

.c-point01-head { text-align: center; font-size: 2rem; font-weight: 700; margin-bottom: 10px; }

.c-point01-head-in { font-size: 1.2rem; color: #d10e0c; background: #e3b879; display: inline-block; padding: 2px 18px; margin-bottom: 8px; }

.c-point01-txt-in { font-size: 1.4rem; font-weight: 700; display: block; margin: 10px 0 4px; }

.c-point01-txt.is-small { font-size: 1.2rem; }

@media all and (max-width: 360px) { .c-point01 { padding-top: 260px; }
  .c-point01::before { width: 233px; height: 233px; }
  .c-point01-img { width: 300px; left: -20px; } }

@media all and (min-width: 600px) { .c-point01 { padding: 52px 60px 88px 510px; -webkit-box-sizing: border-box; box-sizing: border-box; height: 415px; }
  .c-point01::before { width: 402px; height: 402px; top: auto; bottom: 0; }
  .c-point01-img { width: 505px; left: -34px; top: -37px; }
  .c-point01-head { text-align: left; font-size: 3rem; letter-spacing: .05em; margin-bottom: 21px; white-space: nowrap; }
  .c-point01-head-in { font-size: 1.7rem; padding: 0 25px; margin-bottom: 12px; }
  .c-point01-txt-in { font-size: 1.8rem; }
  .c-point01-txt.is-small { font-size: 1.5rem; } }

/* .c-set01is-company
================================================== */
.c-set01.is-company { border: none; background: -webkit-gradient(linear, left top, right top, from(rgba(248, 242, 236, 0.98)), color-stop(67%, rgba(255, 235, 232, 0.98)), to(rgba(255, 235, 207, 0.98))); background: linear-gradient(to right, rgba(248, 242, 236, 0.98) 0%, rgba(255, 235, 232, 0.98) 67%, rgba(255, 235, 207, 0.98) 100%); padding: 35px 10px 37px; margin: 0 -20px; }

.c-set01.is-company .c-set01__img:nth-of-type(1) { right: 34px; top: 17px; }

@media all and (min-width: 600px) { .c-set01.is-company { padding: 50px 0 52px; margin: 0; clear: right; }
  .c-set01.is-company .c-set01__txt { margin: 42px 31px 0 208px; }
  .c-set01.is-company .c-set01__img:nth-of-type(1) { left: 105px; top: 28px; } }

/* .c-set01
================================================== */
.c-set01 { border: solid 4px #fff; background: -webkit-gradient(linear, left top, right top, from(rgba(248, 242, 236, 0.98)), color-stop(67%, rgba(255, 235, 232, 0.98)), to(rgba(255, 235, 207, 0.98))); background: linear-gradient(to right, rgba(248, 242, 236, 0.98) 0%, rgba(255, 235, 232, 0.98) 67%, rgba(255, 235, 207, 0.98) 100%); padding: 38px 10px 43px; position: relative; z-index: 0; }

.c-set01__head { font-size: 2.1rem; font-weight: 700; text-align: center; line-height: 1.55; letter-spacing: .08em; margin-bottom: 10px; }

.c-set01__txt { text-align: center; font-weight: 700; margin-bottom: 19px; }

.c-set01__bnrs { overflow: hidden; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; width: 248px; margin: 0 auto; }

.c-set01__bnr:first-child { width: 136px; }

.c-set01__bnr:first-child img + img { margin-top: 7px; }

.c-set01__bnr:nth-child(2) { width: 100px; }

.c-set01__bnr img { -webkit-backface-visibility: hidden; }

.c-set01__img { position: absolute; z-index: -1; }

.c-set01__img:nth-of-type(1) { width: 137px; right: 15px; top: 30px; }

.c-set01__img:nth-of-type(2) { width: 137px; left: -54px; top: -29px; }

.c-set01__img:nth-of-type(3) { width: 104px; right: -25px; bottom: -49px; }

@media all and (min-width: 600px) { .c-set01 { background: url(../img/home/bg_problem03.png) no-repeat right 87px top 16px, -webkit-gradient(linear, left top, right top, from(rgba(248, 242, 236, 0.98)), color-stop(67%, rgba(255, 235, 232, 0.98)), to(rgba(255, 235, 207, 0.98))); background: url(../img/home/bg_problem03.png) no-repeat right 87px top 16px, linear-gradient(to right, rgba(248, 242, 236, 0.98) 0%, rgba(255, 235, 232, 0.98) 67%, rgba(255, 235, 207, 0.98) 100%); border-width: 8px; padding: 38px 0 64px; margin: 0 -115px; }
  .c-set01__head { font-size: 4rem; margin-bottom: 34px; }
  .c-set01__txt { font-size: 1.8rem; text-align: left; float: left; margin: 42px 31px 0 300px; }
  .c-set01__bnrs { width: 351px; margin: 0; }
  .c-set01__bnr:first-child { width: 181px; }
  .c-set01__bnr:first-child img + img { margin-bottom: 16px; }
  .c-set01__bnr:nth-child(2) { width: 140px; }
  .c-set01__img:nth-of-type(1) { width: 275px; left: 195px; top: 102px; }
  .c-set01__img:nth-of-type(2) { width: auto; left: -118px; top: 72px; }
  .c-set01__img:nth-of-type(3) { width: auto; right: -58px; bottom: -91px; } }

/* common
================================================ */
/* .l-breadcrumb
================================================ */
.l-breadcrumb-list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-top: 20px; padding-bottom: 20px; }

.l-breadcrumb-list__item { display: inline-block; vertical-align: top; }

.l-breadcrumb-list__item + .l-breadcrumb-list__item { margin-left: 5px; }

.l-breadcrumb-list__item + .l-breadcrumb-list__item:before { content: ">"; margin-right: 5px; }

/* .l-footer
================================================ */
.l-footer { position: relative; padding: 20px 0; }

.l-footer__inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.l-footer__info-logo { width: 83px; }

.l-footer__cr { text-align: right; }

@media all and (min-width: 600px) { .l-footer { padding: 13px 0 14px; }
  .l-footer__info-logo { width: 120px; }
  .l-footer__cr { font-size: 1.5rem; } }

/* .l-footer-pagetop
================================================ */
.l-footer-pagetop__link { text-decoration: none; overflow: hidden; text-indent: 200%; white-space: nowrap; }

@media all and (min-width: 600px) { .l-footer-pagetop { position: fixed; right: 10px; bottom: 7px; }
  .l-footer-pagetop__link { width: 55px; height: 55px; border-radius: 6px; background: #333; }
  .l-footer-pagetop__link::before { content: ''; width: 5px; height: 5px; border-top: solid 2px #fff; border-left: solid 2px #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; left: 46%; top: 42%; } }

/* .l-header
================================================ */
.l-header { position: absolute; top: 0; left: 0; width: 100%; min-width: 320px; z-index: 2000; }

@media all and (min-width: 600px) { .l-header { min-width: 1180px; } }

/* .l-header-info
================================================== */
.l-header-info__logo { width: 83px; position: absolute; left: 16px; top: 15px; }

.l-header-info__follow { width: 125px; position: fixed; right: 0; top: 0; -webkit-box-shadow: -3px 3px 5px 5px rgba(0, 0, 0, 0.2); box-shadow: -3px 3px 5px 5px rgba(0, 0, 0, 0.2); }

.l-header-info__follow-tel { -webkit-box-sizing: border-box; box-sizing: border-box; padding: 8px; background: #ffe472; text-align: right; }

.l-header-info__follow-tel-num { position: relative; padding-left: 14px; line-height: 1; letter-spacing: 0.1em; font-size: 1.2rem; }

.l-header-info__follow-tel-num:before { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); left: 0; width: 10px; height: 11px; background: center/contain no-repeat url("../img/common/ico_tel01.png"); content: ""; -webkit-backface-visibility: hidden; backface-visibility: hidden; }

.l-header-info__follow-tel-time { margin-right: -4px; line-height: 0.8; -webkit-transform: scale(0.9); transform: scale(0.9); font-size: 1rem; text-align: right; }

.l-header-info__follow-consultation { border-radius: 0 0 0 5px; background: #ffdb57; text-align: center; }

.l-header-info__follow-consultation-link { position: relative; padding: 3px 4px 5px; }

.l-header-info__follow-consultation-link:after { position: absolute; right: 6px; bottom: 6px; border-style: solid; border-width: 0 0 7.5px 7.5px; border-color: transparent transparent #d10e0c transparent; content: ""; }

.l-header-info__follow-consultation-txt { display: inline-block; position: relative; padding-left: 17px; font-size: 1.3rem; font-weight: bold; }

.l-header-info__follow-consultation-txt:before { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); left: 0; width: 12px; height: 12px; background: center/contain no-repeat url("../img/common/ico_consultation01.png"); content: ""; -webkit-backface-visibility: hidden; backface-visibility: hidden; }

@media all and (min-width: 600px) { .l-header-info__logo { width: 158px; left: 40px; top: 23px; }
  .l-header-info__txt { font-size: 1.8rem; color: #fff; line-height: 1.5; position: absolute; left: 218px; top: 26px; }
  .l-header-info__follow { width: 295px; border-radius: 0 0 0 10px; -webkit-box-shadow: -3px 3px 10px 10px rgba(31, 31, 31, 0.2); box-shadow: -3px 3px 10px 10px rgba(31, 31, 31, 0.2); }
  .l-header-info__follow-tel { padding: 16px 24px; }
  .l-header-info__follow-tel-num { display: inline-block; position: relative; padding-left: 32px; font-size: 2.6rem; }
  .l-header-info__follow-tel-num:before { width: 23px; height: 26px; }
  .l-header-info__follow-tel-time { margin-right: 0; margin-top: 2px; line-height: 1; -webkit-transform: none; transform: none; font-size: 1.3rem; }
  .l-header-info__follow-consultation-link { padding: 7px 8px 9px; }
  .l-header-info__follow-consultation-link:after { border-width: 0 0 15px 15px; }
  .l-header-info__follow-consultation-txt { padding-left: 30px; font-size: 2.4rem; letter-spacing: 0.05em; }
  .l-header-info__follow-consultation-txt:before { width: 22px; height: 22px; } }

@media all and (-ms-high-contrast: none) { .l-header-info__follow-consultation { margin-top: -1px; } }

/* .l-main-img HOME
================================================ */
.l-main-img { position: relative; overflow: hidden; }

.l-main-img__area-txt { position: absolute; right: 20px; bottom: 38px; color: #fff; font-weight: 700; width: 258px; }

.l-main-img__img { width: 114px; position: absolute; right: 18px; top: -52px; z-index: 1; }

.l-main-img__img.is-youtube { right: 38px; }

.l-main-img__img.is-line { right: 58px; }

.l-main-img__img.is-sns { right: 68px; }

.l-main-img__txt-in { display: inline-block; background: #101010; line-height: 1.1; letter-spacing: .05em; }

.l-main-img__txt:first-child .l-main-img__txt-in { font-size: 1.2rem; padding: 8px 24px 11px 9px; margin-bottom: 2px; }

.l-main-img__txt:last-child .l-main-img__txt-in { font-size: 2.7rem; padding: 5px 8px 8px 9px; }

.l-main-img__txt:last-child .l-main-img__txt-in:last-child { padding: 0 0 8px 9px; -webkit-transform: translateY(-3px); transform: translateY(-3px); }

.l-main-img__list-item::before { width: 14px; height: 14px; content: ""; display: inline-block; vertical-align: middle; background: no-repeat center/contain; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229px%22%20height%3D%2229px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23f9f9f9%22%20d%3D%22M14.255%2C21.735%20L6.585%2C14.139%20L9.409%2C11.337%20L14.245%2C16.133%20L25.139%2C5.256%20C19.986%2C-0.486%2011.112%2C-1.002%205.318%2C4.104%20C-0.476%2C9.210%20-0.997%2C18.005%204.156%2C23.747%20C9.308%2C29.489%2018.182%2C30.004%2023.977%2C24.898%20C28.609%2C20.816%2029.991%2C14.206%2027.378%2C8.636%20L14.255%2C21.735%20Z%22%2F%3E%3C%2Fsvg%3E"); -webkit-transition: all 0.3s ease; transition: all 0.3s ease; margin-right: 6px; }

@media all and (min-width: 600px) { .l-main-img__area-txt { left: 103px; top: 38%; width: 780px; }
  .l-main-img__frame { width: 100%; }
  .l-main-img__mov video { position: absolute; right: 0; top: 0; z-index: -1; height: 100%; }
  .l-main-img__img { width: 197px; right: 215px; top: -67px; }
  .l-main-img__img.is-youtube { right: 275px; }
  .l-main-img__img.is-line { right: 345px; }
  .l-main-img__img.is-sns { right: 358px; }
  .l-main-img__txt-wrap { margin-bottom: 18px; }
  .l-main-img__txt:first-child .l-main-img__txt-in { font-size: 3.4rem; padding: 20px 45px 23px 26px; margin-bottom: 6px; }
  .l-main-img__txt:last-child .l-main-img__txt-in { font-size: 5.4rem; padding: 14px 0 21px 29px; }
  .l-main-img__txt:last-child .l-main-img__txt-in:last-child { padding: 14px 0 21px 0; -webkit-transform: none; transform: none; }
  .l-main-img__list-item { font-size: 2.5rem; }
  .l-main-img__list-item::before { width: 24px; height: 24px; margin-right: 12px; } }

/* .l-sub-img
================================================ */
.l-sub-img { background: #ccc; font-size: 1.5rem; text-align: center; }

.l-sub-img__inner { -webkit-box-sizing: border-box; box-sizing: border-box; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; height: 120px; }

@media all and (min-width: 600px) { .l-sub-img { font-size: 2rem; } }

/* .l-sidebar
================================================== */
/* helper
================================================ */
.js-c-anime-elem[data-anime="fadein-up"] { opacity: 0; -webkit-transform: translateY(30px); transform: translateY(30px); -webkit-transition: all 0.6s ease; transition: all 0.6s ease; }

.js-c-anime-elem[data-anime="fadein-up"].is-animated { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }

.js-c-anime-elem[data-anime="fadein-left"] { opacity: 0; -webkit-transform: translateX(-30px); transform: translateX(-30px); -webkit-transition: all 0.6s ease; transition: all 0.6s ease; }

.js-c-anime-elem[data-anime="fadein-left"].is-animated { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }

.js-c-anime-elem[data-anime="fadein-right"] { opacity: 0; -webkit-transform: translateX(30px); transform: translateX(30px); -webkit-transition: all 0.6s ease; transition: all 0.6s ease; }

.js-c-anime-elem[data-anime="fadein-right"].is-animated { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }

.js-c-anime-elem[data-anime="fadein"] { opacity: 0; -webkit-transition: all 0.6s ease; transition: all 0.6s ease; }

.js-c-anime-elem[data-anime="fadein"].is-animated { opacity: 1; }

.js-c-anime-elem[data-anime="cover"] { opacity: 0; -webkit-transition: all 0.6s ease; transition: all 0.6s ease; position: relative; }

.js-c-anime-elem[data-anime="cover"]::after { content: ''; width: 100%; height: 100%; background: #d10e0c; position: absolute; right: 0; top: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

.js-c-anime-elem[data-anime="cover"].is-black::after { background: #101010; }

.js-c-anime-elem[data-anime="cover"].is-animated { overflow: hidden; opacity: 1; }

.js-c-anime-elem[data-anime="cover"].is-animated::after { -webkit-animation: cover .4s ease forwards; animation: cover .4s ease forwards; -webkit-animation-delay: .6s; animation-delay: .6s; }

.js-c-anime-elem[data-anime="cover"].is-black.is-animated::after { -webkit-animation-delay: 1.4s; animation-delay: 1.4s; }

@media all and (-ms-high-contrast: none) { .js-c-anime-elem[data-anime="cover"] { display: inline-block; } }

@-webkit-keyframes cover { 0% { width: 100%; }
  100% { width: 0; } }

@keyframes cover { 0% { width: 100%; }
  100% { width: 0; } }

.js-c-anime-elem[data-anime-delay="0.1"] { -webkit-transition-delay: 0.1s; transition-delay: 0.1s; }

.js-c-anime-elem[data-anime-delay="0.2"] { -webkit-transition-delay: 0.2s; transition-delay: 0.2s; }

.js-c-anime-elem[data-anime-delay="0.3"] { -webkit-transition-delay: 0.3s; transition-delay: 0.3s; }

.js-c-anime-elem[data-anime-delay="0.4"] { -webkit-transition-delay: 0.4s; transition-delay: 0.4s; }

.js-c-anime-elem[data-anime-delay="0.5"] { -webkit-transition-delay: 0.5s; transition-delay: 0.5s; }

.js-c-anime-elem[data-anime-delay="0.6"] { -webkit-transition-delay: 0.6s; transition-delay: 0.6s; }

.js-c-anime-elem[data-anime-delay="0.7"] { -webkit-transition-delay: 0.7s; transition-delay: 0.7s; }

.js-c-anime-elem[data-anime-delay="0.8"] { -webkit-transition-delay: 0.8s; transition-delay: 0.8s; }

.js-c-anime-elem[data-anime-delay="0.9"] { -webkit-transition-delay: 0.9s; transition-delay: 0.9s; }

.js-c-anime-elem[data-anime-delay="1"] { -webkit-transition-delay: 1s; transition-delay: 1s; }

.js-c-anime-elem[data-anime-delay="1.1"] { -webkit-transition-delay: 1.1s; transition-delay: 1.1s; }

.js-c-anime-elem[data-anime-delay="1.2"] { -webkit-transition-delay: 1.2s; transition-delay: 1.2s; }

.js-c-anime-elem[data-anime-delay="1.3"] { -webkit-transition-delay: 1.3s; transition-delay: 1.3s; }

.js-c-anime-elem[data-anime-delay="1.4"] { -webkit-transition-delay: 1.4s; transition-delay: 1.4s; }

.js-c-anime-elem[data-anime-delay="1.5"] { -webkit-transition-delay: 1.5s; transition-delay: 1.5s; }

.js-c-anime-elem[data-anime-delay="1.6"] { -webkit-transition-delay: 1.6s; transition-delay: 1.6s; }

.js-c-anime-elem[data-anime-delay="1.7"] { -webkit-transition-delay: 1.7s; transition-delay: 1.7s; }

.js-c-anime-elem[data-anime-delay="1.8"] { -webkit-transition-delay: 1.8s; transition-delay: 1.8s; }

.js-c-anime-elem[data-anime-delay="1.9"] { -webkit-transition-delay: 1.9s; transition-delay: 1.9s; }

.js-c-anime-elem[data-anime-delay="2"] { -webkit-transition-delay: 2s; transition-delay: 2s; }

.js-c-switch-tab { cursor: pointer; }

.js-c-switch-content { display: none; }

.js-c-switch-content.is-active { display: block; }

.js-c-toggle-trigger { cursor: pointer; }

.js-c-toggle-content { display: none; }

/* page
================================================ */
/* .home-loading
================================================== */
.home-loading { width: 100%; height: 100%; background: #fff; position: fixed; left: 0; top: 0; z-index: 9999; }

.home-loading.is-load { -webkit-animation: loading02 2s cubic-bezier(1, 0, 0, 1) forwards; animation: loading02 2s cubic-bezier(1, 0, 0, 1) forwards; }

.home-loading.is-load::before { content: ''; width: 100%; height: 100%; background: #d10e0c; position: fixed; left: 100%; top: 0; -webkit-animation: loading 2s cubic-bezier(1, 0, 0, 1) forwards; animation: loading 2s cubic-bezier(1, 0, 0, 1) forwards; }

@-webkit-keyframes loading { 0% { left: 100%; }
  50% { left: 0; }
  100% { left: -100%; } }

@keyframes loading { 0% { left: 100%; }
  50% { left: 0; }
  100% { left: -100%; } }

@-webkit-keyframes loading02 { 0% { left: 0; }
  50% { left: 0; }
  100% { left: -100%; } }

@keyframes loading02 { 0% { left: 0; }
  50% { left: 0; }
  100% { left: -100%; } }

/* .home-problem
================================================== */
.home-problem { background: url(../img/home/bg_problem01_sp.png) no-repeat center top, url(../img/home/bg_problem02.jpg) no-repeat center bottom/auto 200px #efefef; }

.home-problem__inner { padding: 56px 15px 60px; }

.home-problem__list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 38px; }

.home-problem__list-item { background: #fff; -webkit-box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05); box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05); width: 47.8%; padding: 29px 0 27px; font-size: 1.2rem; font-weight: 700; text-align: center; line-height: 1.55; position: relative; }

.home-problem__list-item:nth-child(1) { border-radius: 15px 15px 0 15px; margin-bottom: 138px; }

.home-problem__list-item:nth-child(2) { border-radius: 15px 15px 15px 0; margin-bottom: 138px; }

.home-problem__list-item:nth-child(3) { border-radius: 15px 0 15px 15px; }

.home-problem__list-item:nth-child(4) { border-radius: 0 15px 15px 15px; }

.home-problem__list-item::before { width: 13px; height: 11px; content: ""; display: inline-block; vertical-align: middle; background: no-repeat center/contain; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226px%22%20height%3D%2222px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23c31026%22%20d%3D%22M10.848%2C12.295%20C11.413%2C13.159%2011.696%2C14.180%2011.696%2C15.359%20C11.696%2C17.048%2011.152%2C18.414%2010.061%2C19.454%20C8.971%2C20.496%207.578%2C21.016%205.883%2C21.016%20C4.187%2C21.016%202.783%2C20.487%201.674%2C19.426%20C0.563%2C18.365%200.008%2C17.009%200.008%2C15.359%20C0.008%2C14.573%200.109%2C13.789%200.311%2C13.002%20C0.512%2C12.217%200.957%2C11.038%201.643%2C9.467%20L5.156%2C0.981%20L11.152%2C0.981%20L8.487%2C10.351%20C9.495%2C10.783%2010.283%2C11.431%2010.848%2C12.295%20ZM25.141%2C12.295%20C25.706%2C13.159%2025.989%2C14.180%2025.989%2C15.359%20C25.989%2C17.048%2025.444%2C18.414%2024.355%2C19.454%20C23.264%2C20.496%2021.870%2C21.016%2020.174%2C21.016%20C18.479%2C21.016%2017.077%2C20.487%2015.967%2C19.426%20C14.855%2C18.365%2014.300%2C17.009%2014.300%2C15.359%20C14.300%2C14.573%2014.401%2C13.789%2014.604%2C13.002%20C14.805%2C12.217%2015.249%2C11.038%2015.935%2C9.467%20L19.449%2C0.981%20L25.444%2C0.981%20L22.779%2C10.351%20C23.789%2C10.783%2024.575%2C11.431%2025.141%2C12.295%20Z%22%2F%3E%3C%2Fsvg%3E"); -webkit-transition: all 0.3s ease; transition: all 0.3s ease; position: absolute; left: 20px; top: -2px; }

@media all and (min-width: 600px) { .home-problem { background: url(../img/home/bg_problem01_pc.png) no-repeat center top 34px, url(../img/home/bg_problem02.jpg) no-repeat center bottom #efefef; position: relative; z-index: 0; }
  .home-problem::before { content: ''; width: 29.53125%; height: 522px; background: -webkit-gradient(linear, left bottom, right top, color-stop(50%, transparent), color-stop(50.1%, #d10e0c)); background: linear-gradient(to right top, transparent 50%, #d10e0c 50.1%); position: absolute; right: 0; top: 0; }
  .home-problem::after { content: ''; width: 522px; height: 522px; background: -webkit-gradient(linear, left bottom, right top, color-stop(50%, #e7e7e7), color-stop(50.1%, transparent)); background: linear-gradient(to right top, #e7e7e7 50%, transparent 50.1%); position: absolute; left: 0; bottom: 400px; z-index: -1; }
  .home-problem__inner { padding-top: 160px; padding-bottom: 140px; }
  .home-problem__list { margin: 0 25px 70px; }
  .home-problem__list-item { width: 370px; padding: 35px 0 38px; font-size: 1.9rem; }
  .home-problem__list-item:nth-child(-n+2) { margin-bottom: 28px; padding: 49px 0 53px; }
  .home-problem__list-item:nth-child(1) { border-radius: 30px 30px 0 30px; }
  .home-problem__list-item:nth-child(2) { border-radius: 30px 30px 30px 0; }
  .home-problem__list-item:nth-child(3) { border-radius: 30px 0 30px 30px; }
  .home-problem__list-item:nth-child(4) { border-radius: 0 30px 30px 30px; }
  .home-problem__list-item::before { width: 26px; height: 21px; left: 43px; top: -10px; } }

/* .home-planning
================================================== */
.home-planning { background: url(../img/home/txt_planning02.png) no-repeat right 7px top 23px/166px auto, url(../img/home/bg_planning01.png) no-repeat left -205px top 241px/417px auto #f0f0f0; }

.home-planning__inner { padding-top: 60px; padding-bottom: 40px; }

.home-planning__list { margin-bottom: 50px; }

.home-planning__list-head { padding-left: 30px; margin-bottom: 9px; background: url(../img/home/ico_planning04.png) no-repeat left top 19px/25px auto; }

.home-planning__list-head-en { font-size: 3.3rem; color: #d10e0c; vertical-align: sub; margin-right: 5px; }

.home-planning__list-item { padding: 10px 15px 20px; margin-bottom: 25px; background: #fff; -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.06); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.06); border-top: solid 3px #ffb8b7; position: relative; }

.home-planning__list-item:nth-child(2) { border-color: #f47a79; }

.home-planning__list-item:last-child { border-color: #d10e0c; }

.home-planning__list-item-head { font-size: 1.8rem; font-weight: 700; line-height: 1.5; color: #d10e0c; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; white-space: nowrap; }

.home-planning__list-item-head-ico { width: 85px; margin-right: 14px; }

.home-planning__list-item-txt { padding: 4px 5px; }

.home-planning__list-item:not(:last-child)::after { content: ''; width: 10px; height: 10px; border-right: solid 2px #d10e0c; border-bottom: solid 2px #d10e0c; -webkit-transform: rotate(45deg) translateX(-50%); transform: rotate(45deg) translateX(-50%); position: absolute; left: 50%; bottom: -20px; }

@media all and (min-width: 600px) { .home-planning { background-position: right 17.2% top 60px, left -126px top 227px; background-size: auto; }
  .home-planning__inner { padding-top: 100px; padding-bottom: 100px; }
  .home-planning__list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 45px; }
  .home-planning__list-head { padding-left: 60px; margin-bottom: 3px; font-size: 2.4rem; background-position: left top 23px; background-size: auto; }
  .home-planning__list-head-en { font-size: 5.2rem; margin-right: 16px; }
  .home-planning__list-item { -webkit-box-sizing: border-box; box-sizing: border-box; width: 340px; border-width: 6px; padding: 25px 35px 43px; }
  .home-planning__list-item-head { font-size: 2.2rem; display: block; text-align: center; margin-bottom: 8px; }
  .home-planning__list-item-head-ico { width: 150px; margin: 0 0 17px; }
  .home-planning__list-item:not(:last-child)::after { width: 18px; height: 18px; border-width: 4px; -webkit-transform: rotate(-45deg) translateY(-50%); transform: rotate(-45deg) translateY(-50%); -webkit-transform-origin: left; transform-origin: left; left: auto; right: -37px; top: 50%; } }

/* .home-report
================================================== */
.home-report { background: url(../img/home/txt_report02.png) no-repeat left -45px top 14px/200px auto, url(../img/home/bg_report02.png) no-repeat right -60px top 135px/243px auto; }

.home-report__inner:first-child { padding-top: 60px; }

.home-report__inner:last-child { padding-bottom: 40px; }

.home-report__area-slider { padding: 35px 0 30px; background: url(../img/home/bg_report01.jpg) center; margin: 59px 0 46px; }

.home-report__slider-slide { background: #fff; padding: 77px 20px 26px; margin: 0 5px; position: relative; -webkit-box-sizing: border-box; box-sizing: border-box; min-height: 505px; }

.home-report__slider-slide-box { background: #d10e0c; border-radius: 6px; color: #fff; font-weight: 700; text-align: center; width: 86%; padding: 14px 0 20px; position: absolute; left: 50%; top: -60px; -webkit-transform: translateX(-50%); transform: translateX(-50%); }

.home-report__slider-slide-box-in { font-size: 1rem; color: #d10e0c; background: #fff; display: inline-block; padding: 0 14px; margin-bottom: 8px; }

.home-report__slider-slide-box::after { content: ''; border-top: solid 6px #d10e0c; border-left: solid 6px transparent; border-right: solid 6px transparent; position: absolute; left: 50%; bottom: -6px; -webkit-transform: translateX(-50%); transform: translateX(-50%); }

.home-report__slider-slide-head { font-size: 1.7rem; font-weight: 700; text-align: center; margin-bottom: 18px; }

.home-report__slider-slide-img { margin-bottom: 18px; }

.home-report__slider-slide-txt { font-size: 1.3rem; }

.home-report__slider-slide-txt-in { font-size: 1rem; font-weight: 700; color: #fff; background: #d10e0c; padding: 1px 12px; display: inline-block; margin-bottom: 8px; }

.home-report__slider .slick-list { overflow: visible; }

.home-report__slider .slick-arrow { width: 40px; height: 40px; background: #fff; border: solid 2px #d10e0c; border-radius: 50%; opacity: .8; position: absolute; top: -22px; z-index: 1; font-size: 0; }

.home-report__slider .slick-arrow::before { width: 13px; height: 6px; content: ""; display: inline-block; vertical-align: middle; background: no-repeat center/contain; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226px%22%20height%3D%2214px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(209%2C%2014%2C%2012)%22%20d%3D%22M19.045%2C13.422%20L16.841%2C11.490%20L20.219%2C8.281%20L0.031%2C8.281%20L0.031%2C5.701%20L20.219%2C5.701%20L16.841%2C2.493%20L19.045%2C0.556%20L25.814%2C6.990%20L19.045%2C13.422%20Z%22%2F%3E%3C%2Fsvg%3E"); -webkit-transition: all 0.3s ease; transition: all 0.3s ease; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

.home-report__slider .slick-arrow.slick-prev { left: 32px; }

.home-report__slider .slick-arrow.slick-prev::before { -webkit-transform: translate(-50%, -50%) scale(-1, 1); transform: translate(-50%, -50%) scale(-1, 1); }

.home-report__slider .slick-arrow.slick-next { right: 32px; }

@media all and (min-width: 600px) { .home-report { background-position: left 11.7% top 68px, right 7.9% top 37px; background-size: auto; }
  .home-report__inner:first-child { padding-top: 80px; }
  .home-report__inner:last-child { padding-bottom: 100px; }
  .home-report__area-slider { padding: 70px 0 50px; margin: 53px 0 80px; }
  .home-report__slider-slide { padding: 53px 60px 54px; margin: 0 12px; min-height: 597px; }
  .home-report__slider-slide-box { font-size: 1.7rem; border-radius: 50px; width: 580px; padding: 15px 0 16px; top: -30px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  .home-report__slider-slide-box-in { font-size: 1.5rem; margin: 0 16px 0 5px; }
  .home-report__slider-slide-box::after { border-width: 8px; bottom: -8px; }
  .home-report__slider-slide-head { font-size: 3rem; margin-bottom: 23px; }
  .home-report__slider-slide-img { margin: 0 auto 32px; }
  .home-report__slider-slide-txt { font-size: 1.5rem; display: -webkit-box; display: -ms-flexbox; display: flex; }
  .home-report__slider-slide-txt-in { font-size: 1.4rem; padding: 2px 18px; -ms-flex-item-align: start; align-self: flex-start; white-space: nowrap; margin: 8px 20px 0 0; }
  .home-report__slider .slick-arrow { width: 62px; height: 62px; top: 42%; }
  .home-report__slider .slick-arrow::before { width: 19px; height: 9px; }
  .home-report__slider .slick-arrow.slick-prev { left: auto; right: calc(50% + 400px); }
  .home-report__slider .slick-arrow.slick-next { left: calc(50% + 400px); } }

/* .home-medium
================================================== */
.home-medium { background: url(../img/home/txt_medium02.png) no-repeat right 10px top 27px/188px auto; }

.home-medium__inner { padding-top: 60px; padding-bottom: 40px; }

.home-medium__list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 35px 0; }

.home-medium__list-item { width: calc(50% - 5px); margin-bottom: 10px; }

.home-medium__list-item:nth-child(2n) { margin-left: 10px; }

.home-medium__list-item-txt { font-size: 1.3rem; font-weight: 700; text-align: center; padding: 10px 0; }

@media all and (min-width: 600px) { .home-medium { background-position: right 15% top 75px; background-size: auto; }
  .home-medium__inner { padding-top: 80px; padding-bottom: 100px; }
  .home-medium__list { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin: 63px 0 15px; }
  .home-medium__list-item { width: auto; margin-bottom: 39px; }
  .home-medium__list-item:nth-child(2n) { margin-left: 0; }
  .home-medium__list-item-txt { font-size: 1.9rem; padding: 12px 0; } }

/* .home-works
================================================== */
.home-works { background: url(../img/home/txt_works01.png) no-repeat left -6px top 16px/226px auto, url(../img/home/bg_works01.png) no-repeat right top/142px auto #f0f0f0; }

.home-works__inner { padding-top: 35px; padding-bottom: 40px; }

.home-works__list { margin-bottom: 40px; }

.home-works__list-item { background: #fff; -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.06); box-shadow: 0 2px 15px rgba(0, 0, 0, 0.06); border-top: solid 3px #d10e0c; margin-bottom: 20px; position: relative; }

.home-works__list-item-ico { position: absolute; width: 50px; left: -8px; top: -10px; }

.home-works__list-item-head { font-size: 1.5rem; font-weight: 700; line-height: 1.55; padding: 18px 18px 0 45px; }

.home-works__list-item-head-in { font-size: 2.1rem; color: #d10e0c; }

.home-works__list-item-tags { padding: 8px 0 17px 20px; }

.home-works__list-item-tags-item { font-size: 1rem; font-weight: 700; color: #939393; background: #f4f4f4; display: inline-block; padding: 1px 9px 3px 9px; }

.home-works__list-item-txt { border-top: solid 1px #e1e1e1; padding: 19px 25px; }

.home-works__comment { margin-bottom: 49px; }

.home-works__comment-img { margin-bottom: 20px; }

@media all and (max-width: 599px) { :nth-child(4) .home-works__list-item-head { padding-top: 12px; } }

@media all and (min-width: 600px) { .home-works { background-position: left 5.4% top 38px, right -10px top; background-size: auto; }
  .home-works__inner { padding-top: 63px; padding-bottom: 100px; }
  .home-works__list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin: 57px 0 30px; }
  .home-works__list-item { width: 530px; border-width: 4px; margin-bottom: 30px; }
  .home-works__list-item-ico { width: 80px; left: 40px; top: 26px; }
  .home-works__list-item-head { font-size: 1.9rem; line-height: 1.5; padding: 30px 23px 0 137px; }
  .home-works__list-item-head-in { font-size: 3rem; }
  .home-works__list-item-tags { padding: 10px 0 29px 137px; }
  .home-works__list-item-tags.is-few { margin-bottom: 29px; }
  .home-works__list-item-tags-item { font-size: 1.2rem; }
  .home-works__list-item-txt { padding: 22px 42px 36px; }
  .home-works__comment { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 70px; }
  .home-works__comment-img { width: 490px; margin-bottom: 0; }
  .home-works__comment-txt { width: 570px; margin-top: 12px; } }

/* .home-faq
================================================== */
.home-faq { background: url(../img/home/txt_faq01.png) no-repeat right -7px top 17px/186px auto; }

.home-faq__inner { padding-top: 35px; padding-bottom: 30px; }

.home-faq__list-item { padding: 20px 16px 18px 18px; background: #f0f0f0; margin-bottom: 10px; }

.home-faq__list-item-q, .home-faq__list-item-a { text-indent: -23px; margin-left: 23px; }

.home-faq__list-item-q { font-size: 1.5rem; font-weight: 700; line-height: 1.5; color: #d10e0c; margin-bottom: 8px; }

.home-faq__list-item-mark { font-size: 1.5rem; font-weight: 700; margin-right: 10px; }

.home-faq__list-item-q .home-faq__list-item-mark::before { content: 'Q'; }

.home-faq__list-item-a .home-faq__list-item-mark::before { content: 'A'; color: #939393; }

@media all and (min-width: 600px) { .home-faq { background-position: right 15.5% top 33px; background-size: auto; }
  .home-faq__inner { padding-top: 53px; padding-bottom: 67px; }
  .home-faq__list-item { padding: 39px 42px 37px; margin-bottom: 15px; }
  .home-faq__list-item-q, .home-faq__list-item-a { text-indent: -48px; margin-left: 48px; }
  .home-faq__list-item-q { font-size: 1.9rem; }
  .home-faq__list-item-mark { font-size: 2.5rem; margin-right: 28px; } }

/* .home-form
================================================== */
.home-form { background: linear-gradient(#d10e0c 275px, #f0f0f0 275px); position: relative; z-index: 0; }

.home-form::before { content: ''; width: 100%; height: 296px; background: url(../img/home/txt_contact01.png) no-repeat left 34px top 43px/338px auto, url(../img/home/bg_contact01.png) no-repeat left -89px bottom/239px auto, url(../img/home/bg_contact02.png) no-repeat right -51px top/181px auto; position: absolute; left: 0; top: -21px; z-index: -1; }

.home-form__inner { padding-top: 50px; padding-bottom: 40px; }

.home-form__head { color: #fff; font-weight: 700; text-align: center; margin-bottom: 18px; font-size: 2.2rem; }

.home-form__head-txt { font-size: 1.3rem; }

.home-form__head-tel { width: 173px; margin: 10px auto 0; }

.home-form__head-tel-in { -webkit-box-sizing: border-box; box-sizing: border-box; display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; line-height: 1.3; padding: 4px; background: #fff; font-size: 1.2rem; text-align: center; }

.home-form__head-tel-label { -webkit-box-sizing: border-box; box-sizing: border-box; display: block; width: 45px; background: #d10e0c; }

.home-form__head-tel-num { -webkit-box-sizing: border-box; box-sizing: border-box; display: block; width: calc(100% - 45px); padding-bottom: 1px; color: #d10e0c; }

@media all and (min-width: 600px) { .home-form { background: url(../img/home/bg_contact03.png) no-repeat right -137px bottom 100px, linear-gradient(#d10e0c 400px, #f0f0f0 400px); }
  .home-form::before { content: ''; width: 100%; height: 455px; background-position: center top 86px, left -30px bottom, right 37px top; background-size: auto; top: -55px; }
  .home-form__inner { padding-top: 102px; padding-bottom: 100px; }
  .home-form__head { font-size: 4.4rem; margin-bottom: 45px; }
  .home-form__head-txt { font-size: 2rem; }
  .home-form__head-tel { width: 248px; margin: 14px auto 0; }
  .home-form__head-tel-in { padding: 6px; font-size: 1.8rem; }
  .home-form__head-tel-label { padding-top: 1px; width: 65px; }
  .home-form__head-tel-num { width: calc(100% - 65px); padding-bottom: 1px; } }

/* .home-company
================================================== */
.home-company__inner { padding-top: 36px; }

.home-company__table { margin: 0 -3px 25px; }

.home-company__table-tr { border-bottom: solid 1px #e1e1e1; }

.home-company__table-tr:first-child { border-top: solid 1px #e1e1e1; }

.home-company__table-th, .home-company__table-td { padding: 12px 0; }

.home-company__table-th { text-align: left; width: 111px; }

.home-company__table-td { line-height: 1.75; }

.home-company__table-link { color: #0000ee; }

.home-company__img { width: 250px; margin: 0 auto 40px; }

@media all and (min-width: 600px) { .home-company__inner { padding-top: 73px; padding-bottom: 90px; }
  .home-company__table { width: 530px; float: right; margin: 0 0 50px; }
  .home-company__table-th, .home-company__table-td { padding: 16px 0; }
  .home-company__table-th { width: 198px; }
  .home-company__img { width: auto; float: left; } }
