@charset "UTF-8";
/* ============================================================================= Reset style ============================================================================= */
/*
YUI 3.18.1 (build f7e7bcb)
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
html { color: #000; background: #FFF; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td { margin: 0; padding: 0; }

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

fieldset, img { border: 0; }

address, caption, cite, code, dfn, em, strong, th, var { font-style: normal; font-weight: normal; }

ol, ul { list-style: none; }

caption, th { text-align: left; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }

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

abbr, acronym { border: 0; font-variant: normal; }

sup { vertical-align: text-top; }

sub { vertical-align: text-bottom; }

input, textarea, select { font-family: inherit; font-size: inherit; font-weight: inherit; *font-size: 100%; }

legend { color: #000; }

#yui3-css-stamp.cssreset { display: none; }

/* ============================================================================= Basic style ============================================================================== */
body { -webkit-text-size-adjust: none; background: #fff; color: #000; font-family: 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', Meiryo, sans-serif; }

img { display: block; max-width: 100%; }

div, p, dl, dt, dd, ol, ul, li, h1, h2, h3, h4, h5, h6, form, input, button, textarea, table, tr, th, td, article, aside, header, footer, section, nav { box-sizing: border-box; }

a { text-decoration: none; }

#wrapper { position: relative; width: 100%; margin: 0 auto; overflow: hidden; }

.red { color: #ff0000; }

/*============================================================================== Responsive ============================================================================= */
/* SP側の設定 */
@media screen and (max-width: 768px) { html { font-size: 13.33333333vw; }
  body { font-size: .28rem; }
  .inner { position: relative; margin: 0 .2rem; }
  .pc-only { display: none; }
  img { width: 100%; } }

/* PC側の設定 */
@media screen and (min-width: 769px) { .inner { position: relative; width: 980px; margin: 0 auto; padding: 0; }
  .sp-only { display: none; } }

/*============================================================================== header ============================================================================= */
@media screen and (min-width: 769px) { .header-bg { padding: 10px 0; }
  .header-block { display: flex; justify-content: space-between; align-items: center; }
  .header-logo { width: 350px; }
  .header-box { width: 500px; display: flex; justify-content: space-between; align-items: center; }
  .header-txt01 { width: 80px; }
  .header-tel { width: 396px; }
  .header-tel:hover { transform: scale(0.98, 0.98); transition: .3s ease; opacity: .8; }
  /*============================================================================== fv ============================================================================= */
  .fv-bg { padding: 25px 0 50px; background: url(../img/fv_bg01_pc.jpg) no-repeat center/cover; }
  .fv-ttl { position: relative; width: 602px; }
  .fv-ttl::before { position: absolute; top: 210px; left: 215px; font-size: 12px; content: "※"; }
  .fv-txt01 { position: relative; margin: 15px 0 0; }
  .fv-txt01::before { position: absolute; top: 5px; left: -130px; width: 202px; height: 346px; background: url(../img/fv_img01_pc.png) no-repeat 50% 0; background-size: cover; content: ""; }
  .fv-tel { width: 788px; margin: 30px auto 0; }
  .fv-tel:hover { transform: scale(0.98, 0.98); transition: .3s ease; opacity: .8; }
  .fv-note { margin: 10px 0 0 90px; color: #555; font-size: 12px; letter-spacing: .08em; }
  /*============================================================================== step ============================================================================= */
  .step-bg { padding: 55px 0 25px; background: url(../img/step_bg01_pc.png) no-repeat center/cover; }
  .step-ttl { width: 794px; margin: 0 auto; }
  .step-txt01 { width: 980px; margin: 20px auto 0; }
  .step-note { margin: 20px 0 0; color: #555; font-size: 12px; line-height: 1.66; letter-spacing: .08em; }
  /*============================================================================== recruit ============================================================================= */
  .recruit-bg { padding: 50px 0 60px; }
  .recruit-block { display: flex; justify-content: space-between; width: 830px; margin: 0 auto; }
  .recruit-pic { width: 347px; }
  .recruit-box { padding: 15px 0 0; }
  .recruit-txt01 { font-size: 24px; line-height: 1.75; letter-spacing: .06em; }
  .recruit-btn { width: 438px; margin: 35px 0 0; transition: opacity .3s; }
  .recruit-btn:hover { transform: scale(0.98, 0.98); transition: .3s ease; opacity: .8; }
  /*============================================================================== area ============================================================================= */
  .area-bg { background: url(../img/area_bg01_pc.png) no-repeat center/cover; padding: 20px 0 40px; }
  .area-lead { height: 251px; display: flex; justify-content: space-between; align-items: center; background: url(../img/area_bg02_pc.png) no-repeat center/cover; }
  .area-txt01 { position: relative; margin: 0 0 0 340px; padding: 0 0 5px 0; display: inline-block; transform: rotate(-1.5deg); font-size: 51px; font-weight: bold; letter-spacing: .04em; line-height: 1.2; }
  .area-txt01 .italic { transform: skewX(-10deg); display: inline-block; }
  .area-txt01 .deco { padding: 0 8px 0 0; font-size: 70px; line-height: 1; }
  .area-txt01::after { position: absolute; top: -75px; left: -145px; width: 217px; height: 230px; background: url(../img/area_img01_pc.png) no-repeat 50% 0; background-size: contain; transform: translate(-50%, 0) rotate(1.5deg); content: ""; }
  .area-ttl { position: relative; width: 693px; margin: 0 auto; }
  .area-ttl::before { position: absolute; top: -130px; right: -256px; width: 429px; height: 429px; background: url(../img/area_img02_pc.png) no-repeat center/contain; content: ""; }
  .area-subttl { position: relative; width: 579px; margin: 36px auto -15px; }
  .area-list { margin: 30px 0 0; }
  .area-term { position: relative; z-index: 200; width: 398px; margin: 0 auto; }
  .area-desc { position: relative; z-index: 100; margin: -32px 0 0; background: #fff; padding: 65px 0 45px 68px; font-size: 18px; font-weight: bold; letter-spacing: .12em; line-height: 2.1; }
  .area-desc.desc02 { display: flex; align-items: center; justify-content: space-between; padding: 70px 30px 33px 35px; }
  .area-txt02 { width: 475px; }
  .area-img { width: 373px; }
  .area-note { display: block; margin: 15px 0 -10px; font-size: 13px; text-align: right; line-height: 1.8; letter-spacing: .04em; }
  .area-txt05 { width: 859px; margin: 0 auto; }
  .area02 .area-bg { padding: 20px 0 0; background: url(../img/area_bg03_pc.png) no-repeat center/cover; }
  /*============================================================================== cta ============================================================================= */
  .cta { background: linear-gradient(to bottom, #ffe400, #1339a9); }
  .cta-bg { padding: 90px 0 70px; background: url(../img/cta_bg01_pc.png) no-repeat 50% 0/cover; }
  .cta-ttl { width: 803px; margin: 0 auto; }
  .cta-lead { position: relative; margin: 55px 0 0; padding: 25px 220px 20px 80px; background: #fff; border-top: 7px solid #113bba; border-right: 7px solid #113bba; border-left: 7px solid #113bba; font-size: 24px; font-weight: bold; text-align: center; letter-spacing: .02em; }
  .cta-lead .red { line-height: 1.35; color: #ff0b04; font-size: 28px; }
  .cta-lead::before { position: absolute; top: 0; left: 385px; width: 45px; height: 45px; background: url(../img/cta_icon01.png) no-repeat center/contain; transform: translate(0, -50%); content: ""; }
  .cta-lead::after { position: absolute; bottom: 0; right: 70px; width: 130px; height: 175px; background: url(../img/cta_img02_pc.png) no-repeat center/contain; content: ""; }
  .cta-block { padding: 35px 90px 50px; background: url(../img/cta_bg02_pc.png); }
  .cta-banner { width: 707px; margin: 0 auto; }
  .cta-tel { margin: 25px 0 0; }
  .cta-tel:hover { transform: scale(0.98, 0.98); transition: .3s ease; opacity: .8; cursor: pointer; }
  .cta-flex { display: flex; align-items: center; margin: 30px 0 0; background: #fff; }
  .cta-box { position: relative; width: 180px; padding: 16px 0; background: #000; }
  .cta-box::before { position: absolute; top: 50%; right: 0; width: 0; height: 0; border-style: solid; border-width: 7.5px 0 7.5px 12px; border-color: transparent transparent transparent #000; transform: translate(100%, -50%); content: ""; }
  .cta-txt01 { width: 144px; margin: 0 auto; }
  .cta-time { padding: 15px 0 15px 30px; font-size: 17px; font-weight: bold; line-height: 1.6; text-align: center; letter-spacing: .04em; }
  .cta-time .deco { color: #ff0b04; }
  .cta-timer { color: #ff0b04; letter-spacing: .08em; }
  .cta-timer .js-cta-hour, .cta-timer .js-cta-minutes { font-size: 29px; }
  .cta-cash { margin: 8px 0 0; }
  .cta-note { margin: 10px 0 0; font-size: 12px; letter-spacing: .08em; }
  .cta02 { background: #ffeae3; }
  .cta04 { position: relative; margin: -50px 0 0; background: linear-gradient(transparent 0%, transparent 50%, #ffe400 50%, #ffe400 100%); }
  /*============================================================================== price ============================================================================= */
  .price-bg { padding: 40px 0 75px; background: url(../img/price_bg01_pc.png) no-repeat 50% 0; background-size: cover; }
  .price-ttl01 { position: relative; width: 764px; margin: 0 auto; z-index: 100; }
  .price-ttl01::before { position: absolute; top: -182px; left: -108px; width: 179px; height: 340px; background: url(../img/price_img01_pc.png) no-repeat 50% 0; background-size: contain; content: ""; z-index: -1; }
  .price-ttl01::after { position: absolute; top: -179px; right: -108px; width: 227px; height: 337px; background: url(../img/price_img02_pc.png) no-repeat 50% 0; background-size: contain; content: ""; z-index: -1; }
  .price-list { display: flex; justify-content: space-between; align-items: center; margin: 11px 0 0; }
  .price-item { position: relative; width: 361px; margin: 0 -15px; }
  .price-txt01 { position: absolute; top: 325px; left: 50%; width: 270px; transform: translateX(-50%); font-size: 16px; font-weight: bold; line-height: 1.56; letter-spacing: .02em; }
  .price02-bg { padding: 0 0 460px; }
  .price02-block { height: 676px; padding: 65px 0 0; background: url(../img/price02_bg01_pc.png) no-repeat 50% 0; background-size: cover; }
  .price02-ttl { width: 574px; margin: 0 auto; }
  .price02-txt01 { width: 980px; margin: 45px 0 0; }
  .price02-list02 { display: flex; justify-content: space-between; margin: 45px 0 0; }
  .price02-item02 { width: 187px; }
  .price02-list { display: flex; justify-content: space-between; width: 980px; margin: 60px 0 0; }
  .price02-item { position: relative; width: 480px; }
  .price02-txt02 { position: absolute; top: 145px; left: 30px; width: 432px; font-size: 23px; line-height: 1.52; font-weight: bold; }
  .price02-txt03 { position: absolute; top: 145px; left: 50%; width: 370px; transform: translateX(-50%); }
  .price02-note01 { position: absolute; top: 300px; left: 30px; font-size: 14px; line-height: 1.7; letter-spacing: .04em; }
  .price02-note02 { position: absolute; top: 360px; left: 30px; font-size: 14px; line-height: 1.7; letter-spacing: .04em; }
  /*============================================================================== risk ============================================================================= */
  .risk-bg01 { background: url(../img/risk_bg01_pc.png) no-repeat 50% 0; background-size: cover; }
  .risk-bg02 { padding: 50px 0; background: url(../img/risk_bg02_pc.png) no-repeat 50% 0; background-size: cover; }
  .risk-bg03 { margin: -35px 0 0; padding: 230px 0 70px; background: url(../img/risk_bg03_pc.png) no-repeat 50% 0; background-size: cover; }
  .risk-ttl { position: relative; width: 663px; margin: 0 180px 0 auto; padding: 40px 0; }
  .risk-ttl::before { position: absolute; top: 50%; left: -10px; width: 134px; height: 102px; background: url(../img/risk_img01_pc.png) no-repeat 50% 0; background-size: cover; transform: translate(-100%, -50%); content: ""; }
  .risk .inner { width: 1140px; }
  .risk-list { display: flex; justify-content: space-between; }
  .risk-item01 { position: relative; width: 537px; }
  .risk-item02 { position: relative; width: 563px; }
  .risk-txt01 { position: absolute; bottom: 40px; right: -10px; font-size: 20px; line-height: 1.55; letter-spacing: .04em; }
  .risk-txt02 { position: absolute; left: 90px; bottom: 20px; font-size: 20px; line-height: 1.55; letter-spacing: .04em; }
  .risk-define { position: relative; margin: 15px 0 0; }
  .risk-desc { position: absolute; width: 900px; top: 100px; left: 50%; transform: translateX(-50%); font-size: 20px; line-height: 1.6; letter-spacing: .04em; }
  .risk-desc .deco { font-weight: bold; color: #ff0b04; }
  .risk-term { width: 980px; margin: 0 auto; }
  .risk-txt03 { margin: 15px auto 0; width: 936px; }
  .risk-subttl { width: 890px; position: absolute; top: -245px; left: 50%; transform: translateX(-50%); }
  .risk-define02 { width: 980px; margin: 0 auto; }
  .risk-define02 { position: relative; }
  .risk-desc02 { width: 100%; font-size: 24px; font-weight: bold; line-height: 1.75; text-align: center; letter-spacing: .08em; position: absolute; bottom: 45px; left: 50%; transform: translateX(-50%); }
  .risk-desc02 .deco { font-size: 32px; color: #ff0b04; }
  /*============================================================================== promise ============================================================================= */
  .promise-bg01 { position: relative; background: url(../img/promise_bg01_pc.png) no-repeat 50% 0; background-size: cover; height: 205px; z-index: 100; }
  .promise-bg02 { margin: -50px 0 0; background: url(../img/promise_bg02_pc.png) no-repeat 50% 0; background-size: cover; padding: 80px 0 0; }
  .promise-bg02 .inner { width: 1090px; }
  .promise-ttl { width: 667px; margin: 0 auto; padding: 50px 0 0; }
  .promise-txt01 { width: 674px; margin: 0 auto; }
  .promise-txt02 { width: 1090px; margin: 5px auto 0; }
  .promise-note { margin: -17px 0 0 20px; color: #555; font-size: 13px; letter-spacing: .08em; }
  /*============================================================================== reason ============================================================================= */
  .reason-bg { padding: 85px 0 75px; background: #f6f6f6; }
  .reason-ttl { width: 679px; margin: 0 auto; }
  .reason-list { margin: 45px 0 0; }
  .reason-item { margin: 40px 0 0; }
  .reason-item.item03 .reason-txt03 { letter-spacing: 0; }
  .reason-block { display: flex; justify-content: space-between; }
  .reason-subttl { width: 450px; }
  .reason-pic { width: 490px; margin: 45px 0 0; }
  .reason-list02 { margin: 25px 0 0; }
  .reason-item02 + .reason-item02 { margin: 30px 0 0; }
  .reason-block02 { display: flex; align-items: center; }
  .reason-txt04 { margin: 20px 0 0; font-size: 20px; font-weight: bold; line-height: 1.7; letter-spacing: .04em; }
  .reason-txt01 { width: 450px; }
  .reason-txt02 { margin: 0 0 0 40px; font-weight: bold; line-height: 1.55; font-size: 20px; letter-spacing: .04em; }
  .reason-txt02 .note { display: inline-block; margin: 8px 0 0; font-weight: normal; font-size: 12px; }
  .reason-txt02 .asterisk { display: inline-block; font-size: 10px; position: relative; top: -5px; }
  .reason-txt03 { margin: 25px 0 0; font-size: 20px; font-weight: bold; line-height: 1.7; letter-spacing: .04em; }
  .reason-txt03 .note { display: block; margin: 5px 0 0; font-size: 14px; font-weight: normal; line-height: 1.7; letter-spacing: .08em; }
  .reason-txt03 .asterisk { position: relative; top: -8px; font-size: 10px; }
  .reason-box { width: 450px; }
  .reason-pic02 { width: 490px; margin: 45px 0 0; }
  /*============================================================================== compare ============================================================================= */
  .compare-bg01 { background: url(../img/compare_bg01_pc.png) no-repeat 50% 0; background-size: cover; padding: 30px 0 25px; }
  .compare-ttl { width: 645px; margin: 0 auto; }
  .compare-bg02 { padding: 60px 0 70px; }
  .compare-note { margin: 10px -1em 0 0; color: #555; font-size: 14px; text-align: right; letter-spacing: .08em; }
  /*============================================================================== reason ============================================================================= */
  .reason02-bg { background: url(../img/reason02_bg01_pc.png) no-repeat 50% 0; background-size: cover; padding: 70px 0; }
  .reason02-ttl { width: 918px; margin: 0 auto; }
  .reason02-list { display: flex; justify-content: space-between; margin: 60px 0 0; }
  .reason02-item { position: relative; width: 310px; }
  .reason02-txt01 { position: absolute; bottom: 50px; left: 50%; transform: translateX(-50%); width: 100%; font-size: 20px; font-weight: bold; line-height: 1.8; text-align: center; letter-spacing: .04em; }
  .reason02-note { margin: 10px -1em 0 0; color: #555; font-size: 14px; text-align: right; letter-spacing: .08em; }
  /*============================================================================== voice ============================================================================= */
  .voice-bg { background: #efefef; padding: 15px 0 50px; }
  .voice-ttl { width: 1073px; margin: 0 auto 0; }
  .voice-list { display: flex; justify-content: space-between; flex-wrap: wrap; margin: 10px 0 0; }
  .voice-item { display: flex; justify-content: space-between; background: url(../img/voice_bg01_pc.png) no-repeat 50% 0; background-size: contain; width: 480px; margin: 10px 0 0; padding: 60px 12px 22px 23px; }
  .voice-lead { padding: 0 0 15px 15px; border-bottom: #ff9000 3px dotted; color: #153699; font-size: 20px; font-weight: bold; letter-spacing: .1em; }
  .voice-block01 { width: 196px; }
  .voice-block02 { width: 238px; }
  .voice-pic02 { width: 156px; margin: 10px auto 0; }
  .voice-btn { margin: 10px 0 0; width: 196px; cursor: pointer; }
  .voice-btn:hover { transform: scale(0.98, 0.98); transition: .3s ease; opacity: .8; }
  .voice-txt01 { width: 245px; font-size: 16px; line-height: 1.875; letter-spacing: .06em; }
  .voice-note { margin: 5px 15px 0 0; font-size: 11px; text-align: right; letter-spacing: .1em; }
  .voice-note02 { margin: 22px 0 0 0; font-size: 13px; text-align: right; letter-spacing: .04em; }
  /*============================================================================== enginner ============================================================================= */
  .engineer-bg { padding: 30px 0; background: url(../img/engineer_bg01_pc.png) no-repeat 50% 0; background-size: cover; }
  .engineer-ttl { width: 892px; margin: 0 auto; }
  .engineer-list { position: relative; z-index: 100; margin: -55px 0 0; }
  .engineer-item { border: 10px solid #fed018; border-radius: 10px; }
  .engineer-item + .engineer-item { margin: 30px 0 0; }
  .engineer-item:last-of-type .engineer-name { padding: 2px 0 15px; }
  .engineer-term { display: flex; justify-content: space-between; padding: 20px 30px 20px 30px; background: #f4f4f4; }
  .engineer-pic { width: 151px; }
  .engineer-block { width: 700px; }
  .engineer-name { position: relative; padding: 25px 0 15px; font-size: 22px; font-weight: bold; letter-spacing: .1em; }
  .engineer-name::before { background: linear-gradient(to right, #ffcc00 0%, #f4f4f4 100%); position: absolute; left: 0; bottom: 0; width: 700px; height: 3px; content: ""; }
  .engineer-lead { margin: 20px 0 0; font-size: 28px; font-weight: bold; line-height: 1.35; letter-spacing: .1em; }
  .engineer-desc { padding: 35px 30px; background-color: #fff; font-size: 18px; line-height: 1.55; letter-spacing: .06em; }
  /*============================================================================== flow ============================================================================= */
  .flow-bg { padding: 45px 0 70px; background: url(../img/flow_bg01_pc.png) no-repeat 50% 0; background-size: cover; }
  .flow-ttl { width: 937px; margin: 0 auto; }
  .flow-lead { width: 808px; margin: 0 auto; }
  .flow-list { margin: -10px 0 0; display: flex; justify-content: space-between; flex-wrap: wrap; }
  .flow-item { margin: 40px 0 0; width: 314px; }
  .flow-step { position: relative; margin: 30px 0 0 0; padding: 0 0 0 55px; font-size: 28px; font-weight: bold; letter-spacing: .02em; }
  .flow-step::before { position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 47px; height: 56px; background: url(../img/flow_icon01_pc.png) no-repeat 50% 0; background-size: contain; content: ""; }
  .flow-item:nth-of-type(2) .flow-step::before { background: url(../img/flow_icon02_pc.png) no-repeat 50% 0; background-size: contain; }
  .flow-item:nth-of-type(3) .flow-step::before { background: url(../img/flow_icon03_pc.png) no-repeat 50% 0; background-size: contain; }
  .flow-item:nth-of-type(4) .flow-step::before { background: url(../img/flow_icon04_pc.png) no-repeat 50% 0; background-size: contain; }
  .flow-item:nth-of-type(5) .flow-step::before { background: url(../img/flow_icon05_pc.png) no-repeat 50% 0; background-size: contain; }
  .flow-item:nth-of-type(6) .flow-step::before { background: url(../img/flow_icon06_pc.png) no-repeat 50% 0; background-size: contain; }
  .flow-txt01 { margin: 20px 0 0; font-size: 20px; line-height: 1.6; letter-spacing: .04em; }
  .flow-txt01 .asterisk { position: relative; top: -6px; font-size: 12px; }
  .flow-note { display: block; margin: 10px 0 0; font-size: 13px; letter-spacing: .04em; line-height: 1.3; }
  .flow-note02 { margin: 3px 0 0 305px; font-size: 12px; letter-spacing: .04em; }
  .flow-note03 { display: block; margin: 10px 0 0; font-size: 13px; letter-spacing: .04em; line-height: 1.3; }
  /*============================================================================== warning ============================================================================= */
  .warning-bg { padding: 55px 0 80px; background: #616161; }
  .warning .inner { width: 1008px; }
  .warning .inner::before { position: absolute; bottom: -125px; left: 50%; width: 0; height: 0; border-style: solid; border-width: 47px 26.5px 0 26.5px; border-color: #616161 transparent transparent transparent; transform: translate(-50%, 0); content: ""; }
  .warning-ttl { width: 1008px; }
  .warning-block { background: #000; width: 980px; margin: -22px auto 0; padding: 35px 60px 55px; }
  .warning-txt01 { color: #fff; font-size: 20px; line-height: 2.1; letter-spacing: .04em; }
  .warning-list { display: flex; justify-content: space-between; width: 860px; margin: 25px 0 0; }
  .warning-item { width: 410px; background: #fff; border-radius: 10px; }
  .warning-case { position: relative; padding: 7px 0 7px 185px; background-size: auto auto; background-color: #e5cd00; background-image: repeating-linear-gradient(-45deg, transparent, transparent 10px, #ffe400 10px, #ffe400 20px); font-size: 24px; font-weight: bold; letter-spacing: .04em; border-radius: 10px 10px 0 0; }
  .warning-case::before { position: absolute; top: 50%; left: 138px; width: 28px; height: 38px; background: url(../img/warning_icon01_pc.png) no-repeat 50% 0; background-size: cover; transform: translate(0, -50%); content: ""; }
  .warning-txt02 { padding: 22px 0; font-size: 22px; font-weight: bold; line-height: 1.4; text-align: center; letter-spacing: .04em; }
  .warning-txt03 { margin: 30px 0 0; color: #fffc00; font-size: 30px; font-weight: bold; line-height: 1.66; text-align: center; letter-spacing: .04em; }
  .warning-txt03 .deco { padding: 0 0 4px; border-bottom: 2px solid #fffc00; }
  /*============================================================================== relief ============================================================================= */
  .relief-bg { padding: 100px 0 90px; }
  .relief-ttl { width: 775px; margin: 0 auto; }
  .relief-list { display: flex; justify-content: space-between; margin: 50px 0 0; }
  .relief-item { width: 460px; }
  .relief-item:last-of-type .relief-txt01 { letter-spacing: .02em; }
  .relief-txt01 { margin: 30px 0 0; font-size: 18px; line-height: 1.94; letter-spacing: .04em; }
  .relief-txt01 .asterisk { position: relative; top: -7px; right: 0; font-size: 10px; }
  .relief-note { margin: 25px 0 0; font-size: 13px; line-height: 1.84; text-align: right; letter-spacing: .04em; }
  /*============================================================================== faq ============================================================================= */
  .faq-bg { padding: 90px 0 72px; background: #f6f6f6; }
  .faq-ttl { width: 543px; margin: 0 auto; }
  .faq-list { margin: 62px 0 0; display: flex; flex-wrap: wrap; justify-content: space-between; }
  .faq-item { width: 472px; }
  .faq-item:nth-child(n + 3) { margin: 42px 0 0; }
  .faq-item-question { position: relative; padding: 23px 0 23px 78px; background: linear-gradient(#2c50ba, #153699); border-radius: 10px; color: #fff; font-size: 21px; font-weight: bold; line-height: 1.4; letter-spacing: .04em; cursor: pointer; }
  .faq-item-question::before { position: absolute; content: ""; width: 44px; height: 51px; top: 50%; left: 15px; transform: translateY(-50%); background: url(../img/faq_item01.png) no-repeat 50% 0/cover; }
  .faq-item-question::after { position: absolute; content: ""; width: 12px; height: 12px; top: 42%; right: 38px; border-top: 3px solid #fff; border-right: 3px solid #fff; transform: rotate(135deg); }
  .faq-item-question.open::after { top: 45%; transform: rotate(-45deg); }
  .faq-item-answer { position: relative; display: none; margin: 20px 0 0; padding: 0 15px 0 78px; font-size: 18px; line-height: 1.6; letter-spacing: .08em; }
  .faq-item-answer::before { position: absolute; content: ""; width: 44px; height: 51px; top: 0; left: 15px; background: url(../img/faq_item02.png) no-repeat 50% 0/cover; }
  .faq-item-note { display: block; margin: 15px 0 0; font-size: 13px; text-align: right; }
  /*============================================================================== footer ============================================================================= */
  .footer-bg { padding: 55px 0; background: #000; }
  .footer-txt01 { text-align: center; }
  .footer-txt01 a { color: #fff; font-size: 18px; font-weight: bold; padding: 0 0 3px; border-bottom: 1px solid #fff; transition: opacity .3s; }
  .footer-txt01 a:hover { opacity: .8; }
  .footer-copy { margin: 30px 0 0; color: #fff; font-size: 14px; font-weight: bold; text-align: center; }
  /*============================================================================== banner ============================================================================= */
  .banner { position: fixed; bottom: 10px; right: 10px; z-index: 400; }
  .banner-content { width: 295px; transition: .3s; }
  .banner-content.open:hover { transform: scale(0.98, 0.98); transition: .3s ease; opacity: .8; }
  .banner-btn { position: absolute; top: -10px; right: 20px; width: 40px; cursor: pointer; transition: .3s; }
  .banner-btn img { transition: .3s; }
  /*============================================================================== voice-modal ============================================================================= */
  .voice-modal { display: none; position: fixed; width: 450px; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 600; }
  .voice-modal-btn { position: absolute; top: -40px; right: 10px; width: 60px; cursor: pointer; }
  .modal-mask { display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100%; background: #000; opacity: .7; z-index: 500; } }
