@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 { background: #fff; color: #000; }

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-size: 100%; font-weight: inherit; }

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 { -webkit-box-sizing: border-box; box-sizing: border-box; }

a { text-decoration: none; }

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

.red { color: #ff3d00; }

.yellow { color: #ffef00; }

.century { font-family: "Century Gothic", sans-serif; }

.bold {font-weight: bold;}

.flex {display: flex;}

/*============================================================================== Responsive ============================================================================= */
/* SP側の設定 */
@media screen and (max-width: 768px) { html { font-size: 13.33333333vw; }
  body { font-size: 0.28rem; }
  .inner { position: relative; margin: 0 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; } 
  .btn-hover:hover { -webkit-transform: scale(0.98, 0.98); -ms-transform: scale(0.98, 0.98); -webkit-transition: 0.3s ease; transform: scale(0.98, 0.98); cursor: pointer; opacity: 0.8; transition: 0.3s ease; }}

/*============================================================================== header ============================================================================= */
@media screen and (min-width: 769px) { .header-bg { z-index: 10; position: relative; padding: 18px 0; }
  .header-block { -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-box-align: center; -ms-flex-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; justify-content: space-between; }
  .header-logo { width: 268px; margin-right: 18px; }
  .header-box { -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-box-align: center; -ms-flex-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; justify-content: space-between; width: 708px; }
  .header-txt { font-size: 14px; font-weight: bold; letter-spacing: 1.12px; line-height: 1.5; vertical-align: middle; }
  .header-time { -webkit-box-align: center; -ms-flex-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; background-color: #fff000; line-height: 1.2; }
  .header-first { -webkit-box-align: center; -ms-flex-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; }
  .header-num { font-size: 18px; }
  .header-tel { position: relative; width: 105px; margin-right: 140px; }
  .header-tel:hover { -webkit-transform: scale(0.98, 0.98); -ms-transform: scale(0.98, 0.98); -webkit-transition: 0.3s ease; transform: scale(0.98, 0.98); opacity: 0.8; transition: 0.3s ease; }
  .header-tel .num { position: absolute; right: -160px; bottom: -10px; width: 230px; color: #063a62; font-size: 26px; font-weight: bold; letter-spacing: 0; }
  /*============================================================================== fv ============================================================================= */
  .fv { overflow: hidden; }
  .fv-bg { position: relative; padding-top: 14px; padding-bottom: 35px; background: url(../img/fv_bg01_pc.png) no-repeat top center/cover; }
  .fv-box { z-index: 1; position: relative; }
  .fv-comment { -webkit-transform: translateX(-20px); -ms-transform: translateX(-20px); width: 624px; margin-bottom: -10px; transform: translateX(-20px); }
  .fv-ttl { -webkit-transform: translateX(-10px); -ms-transform: translateX(-10px); width: 793px; margin-bottom: 25px; transform: translateX(-10px); }
  .fv-img03 { z-index: -1; position: absolute; top: -97px; right: -18px; width: 478px; }
  .fv-box02 { -webkit-box-align: center; -ms-flex-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; z-index: 1; position: relative; align-items: center; padding: 20px 28px 18px; border: 4px solid #000000; border-bottom: none; background: url(../img/fv_bg02_pc.png) no-repeat left center/500px 100%, #ffffff; }
  .fv-right01 { width: 417px; margin-right: 76px; }
  .fv-note01 { font-size: 12px; }
  .fv-left01 { width: 381px; }
  .fv-img01 { z-index: -1; position: absolute; right: 0; bottom: 0; width: 314px; }
  .fv-box03 { padding: 42px 73px; border: 4px solid #000000; background-color: #ffffff; }
  .fv-img02 { margin-bottom: 30px; }
  .fv-txt03 { margin-bottom: 25px; }
  .fv-tel { -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-box-align: center; -ms-flex-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; justify-content: space-evenly; width: 780px; margin: 0 auto; letter-spacing: 0; }
  .fv-tel:hover { -webkit-transform: scale(0.98, 0.98); -ms-transform: scale(0.98, 0.98); -webkit-transition: 0.3s ease; transform: scale(0.98, 0.98); opacity: 0.8; transition: 0.3s ease; }
  .fv-tel .icon { width: 79px; }
  .fv-tel .txt { display: block; color: #038b28; font-size: 80px; letter-spacing: -0.02em; line-height: 1; }
  .fv-mail { display: table; margin: 30px auto 0; border-bottom: 1px solid #000000; color: #000000; font-size: 18px; font-weight: bold; }
  .fv-note02 { margin-top: 15px; color: #ffffff; font-size: 12px; letter-spacing: normal; letter-spacing: 0.59px; line-height: 21.99px; }
  /*============================================================================== area ============================================================================= */
  .area-bg { padding: 20px 0 50px; background: url(../img/area_bg01_pc.png) no-repeat center/cover; }
  .area-lead { -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-box-align: center; -ms-flex-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; justify-content: space-between; height: 233px; background: url(../img/area_bg04_pc.png) no-repeat center/cover; }
  .area-txt01 { -webkit-transform: rotate(-1.5deg); -ms-transform: rotate(-1.5deg); display: inline-block; position: relative; margin: 0 0 0 340px; padding: 0 0 5px 0; transform: rotate(-1.5deg); color: #ffffff; font-size: 51px; font-weight: bold; letter-spacing: 0.04em; line-height: 1.2; }
  .area-txt01 .italic { -webkit-transform: skewX(-10deg); -ms-transform: skewX(-10deg); display: inline-block; transform: skewX(-10deg); }
  .area-txt01 .deco { padding: 0 8px 0 0; font-size: 70px; line-height: 1; }
  .area-txt01::after { -webkit-transform: translate(-50%, 0); -ms-transform: translate(-50%, 0) rotate(1.5deg); position: absolute; top: -50px; left: -170px; width: 233px; height: 233px; transform: translate(-50%, 0) rotate(1.5deg); background: url(../img/area_bg02_pc.png) no-repeat 50% 0; background-size: contain; content: ""; }
  .area-ttl { z-index: 1; position: relative; width: 789px; margin-right: 43px; margin-left: auto; }
  .area-ttl::before { z-index: -1; position: absolute; top: -110px; right: -156px; 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 { z-index: 200; position: relative; width: 398px; margin: 0 auto; }
  .area-desc { z-index: 100; position: relative; margin: -32px 0 0; padding: 65px 0 45px 68px; background: #fff; font-size: 18px; font-weight: bold; letter-spacing: .12em; line-height: 2.1; }
  .area-desc.desc02 { -webkit-box-align: center; -ms-flex-align: center; -webkit-box-pack: justify; -ms-flex-pack: justify; display: -webkit-box; display: -ms-flexbox; 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; letter-spacing: 0.04em; line-height: 1.8; text-align: right; }
  .area-txt05 { width: 859px; margin: 0 auto; }
  .area-txt03 { margin-top: -150px; margin-bottom: -80px; }
  .area02 .area-bg { margin-bottom: -60px; padding: 20px 0 90px; }
  /*============================================================================== cta ============================================================================= */
  .cta { background: -webkit-gradient(linear, left top, left bottom, from(#d0d0d0), to(#d0d0d0)); background: -webkit-linear-gradient(top, #d0d0d0, #d0d0d0); background: linear-gradient(to bottom, #d0d0d0, #d0d0d0); }
  .cta-bg { padding: 30px 0 40px; background: url(../img/cta_bg01_pc.png) no-repeat 50% 0/cover; }
  .cta-ttl { width: 1021px; margin-bottom: 22px; }
  .cta-head01 { padding: 30px 60px 18px; background: url(../img/cta_bg02_pc.png) no-repeat top center/cover; }
  .cta-txt06 { width: 619px; }
  .cta-box02 { position: relative; padding: 10px 60px; background-color: #1754b0; }
  .cta-txt02 { width: 591px; }
  .cta-img01 { position: absolute; right: 28px; bottom: 0; width: 267px; }
  .cta-box03 { -webkit-box-align: center; -ms-flex-align: center; -webkit-box-pack: justify; -ms-flex-pack: justify; display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; justify-content: space-between; padding: 30px 36px; padding-left: 66px; background: url(../img/cta_bg03_pc.png) no-repeat top center/cover; }
  .cta-txt03 { width: 343px; }
  .cta-img02 { width: 500px; }
  .cta-box04 { position: relative; padding: 60px 48px 23px; background: url(../img/cta_bg04_pc.png) no-repeat top center/cover; }
  .cta-txt04 { width: 580px; margin: 0 auto 25px; }
  .cta-img03 { position: absolute; top: -44px; left: -70px; width: 219px; }
  .cta-bg01 { margin-bottom: 25px; padding: 22px; background-color: #ffffff; }
  .cta-tel { width: 810px; margin: 0 auto; }
  .cta-txt05 { width: 744px; margin-bottom: 25px; margin-left: 50px; }
  .cta-mail { display: table; margin: 0 auto; border-bottom: 1px solid #000000; color: #000000; font-size: 20px; font-weight: bold; }
  .cta-txt01 { margin-left: 18px; }
  .cta-flex { -webkit-box-align: center; -ms-flex-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; width: 780px; margin: 30px auto 0; background: #fff; }
  .cta-box { position: relative; width: 180px; padding: 16px 0; background: #000; }
  .cta-box::before { -webkit-transform: translate(100%, -50%); -ms-transform: translate(100%, -50%); position: absolute; top: 50%; right: 0; width: 0; height: 0; transform: translate(100%, -50%); border-width: 7.5px 0 7.5px 12px; border-style: solid; border-color: transparent transparent transparent #000; content: ""; }
  .cta-time { padding: 15px 0 15px 30px; font-size: 17px; font-weight: bold; letter-spacing: 0.04em; line-height: 1.6; text-align: center; }
  .cta-time .deco { color: #ff0b04; }
  .cta-timer { color: #ff0b04; letter-spacing: 0.08em; }
  .cta-timer .js-cta-hour, .cta-timer .js-cta-minutes { font-size: 29px; }
  .cta-cash { width: 780px; margin: 8px auto 0; }
  .cta-note { width: 780px; margin: 8px auto 0; font-size: 12px; letter-spacing: 0.08em; }
  .cta.cta02 { background: none; }
  /*============================================================================== suddenly ============================================================================= */
  .suddenly { background: #fff; }
  .suddenly-bg { z-index: 7; position: relative; padding-bottom: 70px; background-color: #164892; }
  .suddenly-ttl01 { width: 940px; margin: 0 auto 38px; }
  .suddenly-inner { z-index: 1; position: relative; padding-top: 100px; }
  .suddenly-img01 { z-index: -1; position: absolute; top: 47px; left: -36px; width: 351px; }
  .suddenly-img02 { z-index: -1; position: absolute; top: 0; right: -90px; width: 506px; }
  .suddenly-list { -webkit-box-pack: justify; -ms-flex-pack: justify; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: space-between; margin-bottom: 100px; }
  .suddenly-item { width: 280px; border-radius: 10px; background-color: #ffffff; }
  .suddenly-ranking { border-radius: 10px 10px 0 0; background-color: #fff000; color: #0e3877; font-size: 35px; font-weight: bold; line-height: 1.3; text-align: center; }
  .suddenly-ranking .big { font-size: 50px; }
  .suddenly-txt01 { padding: 18px 16px; color: #000000; font-size: 28px; font-weight: 700; letter-spacing: -0.69px; line-height: 33.66px; }
  .suddenly-txt02 { z-index: 7; position: relative; width: 819px; margin-left: 20px; }
  .suddenly-img04 { z-index: 6; position: absolute; right: -30px; bottom: -109px; width: 251px; }
  .suddenly-bg02 { z-index: 5; position: relative; width: 0; height: 0; margin: 0 auto; margin-bottom: -78px; border-width: 78px 600px 0 600px; border-style: solid; border-color: #164892 transparent transparent transparent; }
  /*============================================================================== reserve ============================================================================= */
  .reserve-bg { z-index: 3; position: relative; margin-bottom: -60px; padding-top: 680px; padding-bottom: 120px; background: url(../img/reserve_bg01_pc.png) no-repeat top center/cover; }
  .reserve-ttl01 { -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); position: absolute; top: 145px; right: 0; left: 50%; width: 2000px; margin: 0 auto; transform: translateX(-50%); }
  .reserve-box01 { margin-bottom: 75px; }
  .reserve-area01 { z-index: 1; position: relative; margin-bottom: 45px; }
  .reserve-area01 .ttl { width: 476px; margin-left: 154px; }
  .reserve-area01 .ttl.second { width: 405px; }
  .reserve-area01 .img { z-index: -1; position: absolute; top: -33px; right: 100px; width: 375px; }
  .reserve-area01 .img.second { top: -39px; right: 140px; width: 282px; }
  .reserve-box02 { -webkit-box-shadow: 0 4px 26px 1px rgba(94, 94, 94, 0.42); z-index: 1; position: relative; padding: 27px; border-radius: 10px; background-color: #ffffff; box-shadow: 0 4px 26px 1px rgba(94, 94, 94, 0.42); }
  .reserve-box02 .solid { border-radius: 0; }
  .reserve-img02 { width: 925px; margin: 0 auto; }
  .reserve-head01 { -webkit-box-align: center; -ms-flex-align: center; -webkit-box-pack: center; -ms-flex-pack: center; display: -webkit-box; display: -ms-flexbox; display: flex; z-index: 2; position: relative; align-items: center; justify-content: center; padding: 10px; border-radius: 10px 10px 0 0; background-color: #058ae5; }
  .reserve-obj01 { width: 63px; margin-right: 15px; }
  .reserve-obj01 .second { width: 49px; }
  .reserve-ttl03 { color: #ffffff; font-size: 48px; font-weight: bold; }
  .reserve-ttl02 { width: 268px; margin: -20px auto 30px; }
  .reserve-obj02 { width: 97px; margin: -25px auto -20px; }
  .reserve-box03 { -webkit-box-shadow: 0 4px 26px 1px rgba(94, 94, 94, 0.42); border-radius: 0 0 10px 10px; background-color: #ffffff; box-shadow: 0 4px 26px 1px rgba(94, 94, 94, 0.42); }
  .reserve-ttl04 { padding: 35px 0 25px; border-radius: 10px 10px 0 0; background-color: #058ae5; color: #ffffff; font-size: 40px; font-weight: bold; line-height: 1.3; text-align: center; }
  .reserve-ttl04 .yellow { font-size: 57px; }
  .reserve-inner01 { -webkit-box-pack: justify; -ms-flex-pack: justify; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: space-between; padding: 35px 38px 50px 58px; background-color: #ffffff; }
  .reserve-right { width: 431px; }
  .reserve-ttl05 { margin-bottom: 18px; }
  .reserve-list01 { margin-bottom: 25px; }
  .reserve-txt01 { font-size: 22px; letter-spacing: 0.04em; }
  .reserve-left { width: 403px; }
  /*============================================================================== compare ============================================================================= */
  .compare-bg { z-index: 5; position: relative; padding: 50px 0 50px; background: url(../img/compare_bg01_pc.png) no-repeat top center/cover; }
  .compare-ttl01 { width: 888px; margin: 0 auto 37px; }
  .compare-box01 { -webkit-box-shadow: 0 0 24px rgba(0, 0, 0, 0.07); padding: 45px 0; padding-bottom: 0; border-radius: 5px; background-color: #ffffff; box-shadow: 0 0 24px rgba(0, 0, 0, 0.07); }
  .compare-ttl02 { width: 648px; margin: 0 auto 10px; }
  .compare-img01 { width: 925px; margin: 0 auto 15px; }
  .compare-note01 { width: 925px; margin: 0 auto 10px; color: #333333; font-size: 12px; }
  .compare-inner01 { z-index: 1; position: relative; margin-bottom: 65px; padding: 50px 55px; background-color: #f7f7f7; }
  .compare-txt02 { width: 762px; }
  .compare-img02 { z-index: -1; position: absolute; right: 30px; bottom: 0; width: 245px; }
  .compare-ttl03 { width: 609px; margin: 0 auto 80px; }
  .compare-list { -webkit-box-pack: justify; -ms-flex-pack: justify; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: space-between; margin-bottom: 20px; }
  .compare-item { position: relative; width: 310px; padding-bottom: 40px; border-radius: 10px; background-color: #ffffff; }
  .compare-obj01 { position: absolute; top: -35px; left: -8px; width: 230px; }
  .compare-head { margin-bottom: -35px; padding: 35px 0 55px; background: url(../img/compare_bg02_pc.png) no-repeat top center/cover; }
  .compare-ttl04 { position: relative; color: #ffffff; font-size: 28px; font-weight: 700; letter-spacing: normal; text-align: center; }
  .compare-ttl04 .alert { position: absolute; top: 30%; right: 80px; color: #ffffff; font-size: 11px; }
  .compare-img03 { width: 270px; margin: 0 auto 20px; }
  .compare-txt03 { width: 265px; margin: 0 auto; color: #000000; font-size: 18px; letter-spacing: 0.04em; }
  .compare-note02 { color: #ffffff; font-size: 12px; }
  /*============================================================================== trouble ============================================================================= */
  .trouble-bg { margin-bottom: -60px; padding: 100px 0 135px; background: url(../img/trouble_bg01_pc.png) no-repeat top center/cover; }
  .trouble-ttl01 { margin-bottom: 10px; }
  .trouble-wrap { position: relative; }
  .trouble-slider { margin-bottom: 100px; padding-top: 30px; }
  .trouble-item { -webkit-box-shadow: 0 4px 26px 1px rgba(94, 94, 94, 0.42); border-radius: 10px; background-color: #ffffff; box-shadow: 0 4px 26px 1px rgba(94, 94, 94, 0.42); }
  .trouble-head { position: relative; padding: 26px; padding-left: 175px; border-radius: 10px 10px 0 0; background-color: #058ae5; }
  .trouble-num01 { position: absolute; top: -22px; left: 18px; width: 131px; }
  .trouble-ttl03 { color: #ffffff; font-size: 48px; font-weight: 700; letter-spacing: 0.04em; }
  .trouble-body { padding: 20px 45px 40px; }
  .trouble-flex { -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-box-align: end; -ms-flex-align: end; display: -webkit-box; display: -ms-flexbox; display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 25px; }
  .trouble-img01 { width: 404px; }
  .trouble-info { width: 450px; height: 190px; padding: 15px; background-color: #f2f2f2; }
  .trouble-time { color: #f50000; font-size: 26px; font-weight: 400; font-weight: bold; letter-spacing: normal; text-align: center; }
  .trouble-time .big { font-size: 35px; }
  .trouble-txt01 { width: 420px; margin: 0 auto 6px; padding: 10px; background-color: #0044af; color: #ffffff; font-size: 20px; text-align: center; }
  .trouble-txt02 { color: #000000; font-size: 18px; letter-spacing: 0.04em; line-height: 1.7; }
  .trouble .swiper-button-next, .trouble .swiper-button-prev { top: 200px; width: 37px; margin-top: 0; }
  .trouble .swiper-button-next { right: -16px; }
  .trouble .swiper-button-prev { left: -16px; }
  .trouble .swiper-pagination-bullet { width: 10px; height: 10px; margin: 0 9px !important; border: 2px solid #058ae5; background-color: #ffffff; opacity: 1; }
  .trouble .swiper-pagination-bullet-active { background-color: #058ae5; }
  .trouble .swiper-pagination-fraction, .trouble .swiper-pagination-custom, .trouble .swiper-container-horizontal > .swiper-pagination-bullets { bottom: 40px; }
  /*============================================================================== reason ============================================================================= */
  .reason-bg { padding: 95px 0 30px; background: #f6f6f6; background: url(../img/reason_bg01_pc.png) no-repeat top center/cover; }
  .reason-ttl01 { width: 710px; margin: 0 auto 70px; }
  .reason-item01 { margin-bottom: 85px; }
  .reason-num { margin-bottom: 35px; }
  .reason-txt01 { width: 894px; margin: 0 auto; margin-bottom: 45px; color: #000000; font-size: 20px; font-weight: bold; letter-spacing: normal; line-height: 1.8; }
  .reason-ttl02 { padding: 25px 0; background-image: -webkit-linear-gradient(55deg, #0546aa 0%, #015a9e 99%, #015a9e 100%); background-image: linear-gradient(35deg, #0546aa 0%, #015a9e 99%, #015a9e 100%); color: #ffffff; font-size: 30px; font-weight: bold; letter-spacing: normal; text-align: center; }
  .reason-flex01 { -webkit-box-pack: justify; -ms-flex-pack: justify; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: space-between; margin-top: 25px; }
  .reason-img01 { width: 490px; }
  .reason-txt02 { width: 455px; padding-top: 30px; padding-right: 35px; color: #333333; font-size: 18px; letter-spacing: 0.04em; line-height: 1.8; }
  .reason-list02 { -webkit-box-pack: justify; -ms-flex-pack: justify; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: space-between; margin-bottom: 43px; }
  .reason-item02 { z-index: 1; position: relative; width: 479px; }
  .reason-img02 { z-index: -1; position: relative; margin-top: -15px; margin-bottom: 25px; }
  .reason-txt03 { width: 429px; margin: 0 auto; color: #333333; font-size: 18px; letter-spacing: 0.04em; }
  .reason-img03 { width: 925px; margin: 0 auto 30px;}
  .reason-btn { position: relative; display: block; width: 586px; margin: 0 auto; }
  .reason-btn::after { position: absolute; content: ""; width: 10px; height: 10px; border-left: 3px solid #063a62; border-top: 3px solid #063a62; top: 45%; right: 10%; transform: translateY(-50%) rotate(45deg); transition: .3s;}
  .reason-btn.open::after { position: absolute; content: ""; width: 10px; height: 10px; border-left: 3px solid #063a62; border-top: 3px solid #063a62; top: 45%; right: 10%; transform: translateY(-50%) rotate(-135deg); transition: .3s;}
  .reason-list03 { margin-top: 20px; }
  .reason-item03 { position: relative; margin-bottom: 23px; padding: 45px 0; padding-left: 240px; border: 10px solid #bdd9ef; border-radius: 10px; background-color: #ffffff; }
  .reason-img04 { position: absolute; top: 42px; left: 50px; width: 170px; }
  .reason-name { margin-bottom: 15px; color: #063a63; font-size: 26px; font-weight: 400; font-weight: bold; letter-spacing: 0.04em; }
  .reason-name:after { display: block; width: 410px; height: 3px; background-color: #9aa8ef; background-image: -webkit-gradient(linear, left top, right top, from(#bdd9ef), color-stop(1%, #bdd9ef), to(#ffffff)); background-image: -webkit-linear-gradient(left, #bdd9ef 0%, #bdd9ef 1%, #ffffff 100%); background-image: linear-gradient(to right, #bdd9ef 0%, #bdd9ef 1%, #ffffff 100%); content: ""; }
  .reason-pro { margin-bottom: 10px; color: #063a63; font-size: 34px; font-weight: bold; letter-spacing: 0.04em; }
  .reason-txt04 { width: 645px; color: #000000; font-size: 20px; letter-spacing: 0.07em; line-height: 1.9; }
  .reason-block {margin: 30px auto 0;}
  /*============================================================================== flow ============================================================================= */
  .flow-bg { padding: 30px 0 90px; background: url(../img/flow_bg01_pc.png) no-repeat top center/cover; }
  .flow-ttl01 { margin-bottom: 50px; }
  .flow-list01 { -webkit-box-pack: justify; -ms-flex-pack: justify; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: space-between; margin-bottom: 30px; }
  .flow-item01 { position: relative; width: 184px; }
  .flow-item01:last-child .flow-img04::after { content: none; }
  .flow-img04 { position: relative; margin-bottom: 20px; }
  .flow-img04::after { -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); display: block; z-index: 2; position: absolute; top: 50%; right: -20px; width: 29px; height: 142px; transform: translateY(-50%); background-image: url(../img/flow_obj06_pc.png); background-position: top center; background-repeat: no-repeat; background-size: 100% 100%; content: ""; }
  .flow-ttl02 { -webkit-box-align: center; -ms-flex-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; margin-bottom: 10px; }
  .flow-ttl02 .num { width: 29px; margin-right: 5px; }
  .flow-ttl02 .txt { color: #000000; font-size: 24px; font-weight: bold; letter-spacing: normal; }
  .flow-txt01 { width: 168px; color: #000000; font-size: 15px; letter-spacing: normal; }
  .flow-note01 { margin-bottom: 80px; color: #333333; font-size: 14px; font-weight: 400; }
  .flow-box01 { -webkit-box-shadow: 0 4px 26px 1px rgba(94, 94, 94, 0.42); width: 980px; padding: 0 60px 40px; padding-right: 115px; border-radius: 10px; background-color: #ffffff; box-shadow: 0 4px 26px 1px rgba(94, 94, 94, 0.42); }
  .flow-comment { -webkit-box-align: center; -ms-flex-align: center; -webkit-box-pack: center; -ms-flex-pack: center; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; justify-content: center; width: 106px; height: 106px; margin: 0 auto -30px; transform: translateY(-50%); border-radius: 50%; background-color: #ff3c00; color: #ffffff; font-size: 23px; font-weight: 700; }
  .flow-img05 { margin-bottom: 10px; }
  .flow-note02 { color: #333333; font-size: 12px; font-weight: 400; }
  /*============================================================================== agree ============================================================================= */
  .agree-bg { padding-bottom: 40px; background: url(../img/agree_bg01_pc.png) no-repeat top center/cover; }
  .agree-ttl01 { width: 985px; margin-bottom: -73px; margin-left: 30px; }
  .agree-table { margin-bottom: 15px; }
  .agree-note { color: #333333; font-size: 14px; letter-spacing: normal; line-height: 1.8; }
  /*============================================================================== reason02 ============================================================================= */
  .reason02-bg { padding: 20px 0 60px; background: url(../img/reason02_bg01_pc.png) no-repeat 50% 0; background-size: cover; }
  .reason02-ttl { width: 955px; margin: 0 auto; }
  .reason02-list { -webkit-box-pack: justify; -ms-flex-pack: justify; -ms-flex-wrap: wrap; display: -webkit-box; display: -ms-flexbox; display: flex; flex-wrap: wrap; justify-content: space-between; margin: 65px 0 -20px; }
  .reason02-item { position: relative; width: 470px; margin-bottom: 40px; padding-top: 256px; padding-bottom: 30px; background-color: #ffffff; }
  .reason02-subttl { position: absolute; top: 20px; right: 0; left: 0; height: 210px; margin: 0 auto; }
  .reason02-subttl img { height: 100%; margin: 0 auto; }
  .reason02-subttl.row { height: 181px; }
  .reason02-txt01 { color: #000000; font-size: 20px; font-weight: bold; letter-spacing: 0.05em; text-align: center; }
  .reason02-note { color: #555555; font-size: 14px; }
  /*============================================================================== fire ============================================================================= */
  .fire-bg { margin-bottom: -60px; padding: 67px 0 130px; background: url(../img/fire_bg01_pc.png) no-repeat top center/cover; }
  .fire-ttl01 { width: 910px; margin: 0 auto; }
  .fire-list { -webkit-box-pack: justify; -ms-flex-pack: justify; -ms-flex-wrap: wrap; display: -webkit-box; display: -ms-flexbox; display: flex; flex-wrap: wrap; justify-content: space-between; }
  .fire-item { -webkit-box-shadow: 0 4px 26px 1px rgba(94, 94, 94, 0.42); width: 471px; margin-top: 55px; border-radius: 10px; background-color: #ffffff; box-shadow: 0 4px 26px 1px rgba(94, 94, 94, 0.42); }
  .fire-num { border-radius: 10px 10px 0 0; }
  .fire-num.big { -webkit-transform: translateY(-27px); -ms-transform: translateY(-27px); margin-bottom: -27px; transform: translateY(-27px); }
  /*============================================================================== promise ============================================================================= */
  .promise-bg { padding: 70px 0; }
  .promise-ttl01 { width: 636px; margin: 0 auto 55px; }
  .promise-item { margin-bottom: 37px; border-radius: 10px; background-color: #f2f2f2; }
  .promise-item:last-child { margin-bottom: 25px; }
  .promise-head { position: relative; border-radius: 10px 10px 0 0; background: url(../img/promise_bg01_pc.png) no-repeat top center/cover; background-color: #0489e5; }
  .promise-num { position: absolute; top: -8px; left: 24px; width: 134px; }
  .promise-ttl02 { position: relative; padding: 35px; padding-left: 185px; color: #ffffff; font-size: 30px; font-weight: bold; letter-spacing: 0.04em; }
  .promise-ttl02 .alert { font-size: 15px; vertical-align: text-top; }
  .promise-body { -webkit-box-pack: justify; -ms-flex-pack: justify; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: space-between; padding: 42px 68px 55px 50px; }
  .promise-img { width: 365px; }
  .promise-txt01 { width: 456px; color: #000000; font-size: 20px; letter-spacing: normal; letter-spacing: 0.04em; line-height: 1.8; }
  .promise-note { color: #555555; font-size: 12px; }
  /*============================================================================== voice ============================================================================= */
  .voice-bg { padding: 15px 0 50px; background: url(../img/voice_bg01_pc.png) no-repeat top center/cover; }
  .voice-ttl { -webkit-transform: translateX(-51px); -ms-transform: translateX(-51px); width: 1070px; margin: 0 auto 40px; transform: translateX(-51px); }
  .voice-list { -webkit-box-pack: center; -ms-flex-pack: center; -ms-flex-wrap: wrap; display: -webkit-box; display: -ms-flexbox; display: flex; flex-wrap: wrap; justify-content: center; }
  .voice-item { -webkit-box-pack: justify; -ms-flex-pack: justify; display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; justify-content: space-between; width: 480px; margin-bottom: 20px; padding: 40px 20px 45px; background: url(../img/voice_bg02_pc.png) no-repeat top center; background-size: cover; }
  .voice-item:nth-child(even) { margin-left: 20px; }
  .voice-item:after { display: block; position: absolute; top: 3px; right: 10px; width: 53px; height: 42px; background: url(../img/voice_obj01_pc.png) no-repeat top left/contain; content: ""; }
  .voice-lead { padding: 0 20px 15px 15px; border-bottom: #bd8533 3px dotted; color: #ff1f00; font-size: 20px; font-weight: bold; letter-spacing: 0.1em; line-height: 1.8; }
  .voice-block01 { width: 196px; }
  .voice-block02 { width: 238px; }
  .voice-pic02 { width: 185px; margin: 10px auto 0; }
  .voice-btn { width: 196px; margin: 20px 0 0; cursor: pointer; }
  .voice-btn:hover { -webkit-transform: scale(0.98, 0.98); -ms-transform: scale(0.98, 0.98); -webkit-transition: 0.3s ease; transform: scale(0.98, 0.98); opacity: 0.8; transition: 0.3s ease; }
  .voice-txt01 { width: 245px; font-size: 16px; letter-spacing: 0.06em; line-height: 1.875; }
  .voice-note { margin: 5px 15px 0 0; font-size: 14px; letter-spacing: 0.1em; text-align: right; }
  /*============================================================================== company ============================================================================= */
  .company-bg { padding: 100px 0 80px; background-color: #0548a9; }
  .company-ttl01 { width: 941px; margin: 0 auto 40px; }
  .company-box01 { padding-bottom: 30px; background-color: #ffffff; }
  .company-head { -webkit-box-pack: justify; -ms-flex-pack: justify; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: space-between; margin-bottom: 30px; }
  .company-img01 { width: 440px; }
  .company-txt01 { width: 512px; padding-top: 20px; padding-right: 35px; color: #000000; font-size: 17px; letter-spacing: 0; line-height: 1.8; }
  .company-ttl02 { width: 900px; margin: 0 auto 20px; padding: 5px; border-radius: 10px; background-color: #e5e5e5; color: #000000; font-size: 28px; font-weight: bold; letter-spacing: 0.05em; text-align: center; }
  .company-ttl03 { margin-bottom: 20px; color: #000000; font-size: 24px; font-weight: bold; letter-spacing: 0.05em; text-align: center; }
  .company-table01 { width: 750px; margin: 0 auto; }
  .company-table01 tbody { width: 100%; }
  .company-table01 tr { width: 100%; color: #000000; font-size: 16px; }
  .company-table01 th { width: 180px; font-weight: bold; text-align: left; vertical-align: text-top; }
  .company-table01 td { width: 570px; padding-bottom: 25px; line-height: 1.8; }
  /*============================================================================== faq ============================================================================= */
  .faq-bg { padding: 90px 0 72px; background: url(../img/faq_bg01_pc.png) no-repeat top center/cover; }
  .faq-ttl { width: 482px; margin: 0 auto; }
  .faq-list { -ms-flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; display: -webkit-box; display: -ms-flexbox; display: flex; flex-wrap: wrap; justify-content: space-between; margin: 62px 0 0; }
  .faq-item { width: 472px; }
  .faq-item:nth-child(n + 3) { margin: 42px 0 0; }
  .faq-item-question { -webkit-box-align: center; -ms-flex-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; align-items: center; height: 106px; padding: 23px 0 23px 78px; border-radius: 10px; background-image: -webkit-gradient(linear, left bottom, left top, from(#0489e5), to(#28a3f7)); background-image: -webkit-linear-gradient(bottom, #0489e5 0%, #28a3f7 100%); background-image: linear-gradient(to top, #0489e5 0%, #28a3f7 100%); color: #fff; font-size: 21px; font-weight: bold; letter-spacing: 0.04em; line-height: 1.4; cursor: pointer; }
  .faq-item-question::before { -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); position: absolute; top: 50%; left: 15px; width: 44px; height: 51px; transform: translateY(-50%); background: url(../img/faq_item01.png) no-repeat 50% 0/cover; content: ""; }
  .faq-item-question::after { -webkit-transform: rotate(135deg); -ms-transform: rotate(135deg); position: absolute; top: 42%; right: 38px; width: 12px; height: 12px; transform: rotate(135deg); border-top: 3px solid #fff; border-right: 3px solid #fff; content: ""; }
  .faq-item-question.open::after { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); top: 45%; transform: rotate(-45deg); }
  .faq-item-answer { display: none; position: relative; margin: 20px 0 0; padding: 0 15px 0 78px; font-size: 18px; letter-spacing: 0.08em; line-height: 1.6; }
  .faq-item-answer::before { position: absolute; top: 0; left: 15px; width: 44px; height: 51px; background: url(../img/faq_item02.png) no-repeat 50% 0/cover; content: ""; }
  .faq-item-note { display: block; margin: 15px 0 0; font-size: 13px; }
  /*============================================================================== recruit ============================================================================= */
  .recruit-bg { padding: 65px 0; }
  .recruit-block { -webkit-box-pack: justify; -ms-flex-pack: justify; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: space-between; width: 840px; margin: 0 auto; }
  .recruit-pic { width: 347px; }
  .recruit-box { width: 430px; }
  .recruit-txt01 { margin-bottom: 40px; color: #000000; font-size: 24px; line-height: 1.7; }
  .recruit-btn { display: block; }
  .recruit-btn:hover { -webkit-transform: scale(0.98, 0.98); -ms-transform: scale(0.98, 0.98); -webkit-transition: 0.3s ease; transform: scale(0.98, 0.98); opacity: 0.8; transition: 0.3s ease; }
  /*============================================================================== footer ============================================================================= */
  .footer-bg { padding: 55px 0; background: #000; }
  .footer-txt01 { text-align: center; }
  .footer-txt01 a { -webkit-transition: opacity 0.3s; padding: 0 0 3px; border-bottom: 1px solid #fff; color: #fff; font-size: 18px; font-weight: bold; transition: opacity 0.3s; }
  .footer-txt01 a:hover { opacity: 0.8; }
  .footer-copy { margin: 30px 0 0; color: #fff; font-size: 14px; font-weight: bold; text-align: center; }
  /*============================================================================== banner ============================================================================= */
  .banner { z-index: 400; position: fixed; right: 10px; bottom: 10px; }
  .banner-content { -webkit-transition: 0.3s; width: 295px; transition: 0.3s; }
  .banner-content.open:hover { -webkit-transform: scale(0.98, 0.98); -ms-transform: scale(0.98, 0.98); -webkit-transition: 0.3s ease; transform: scale(0.98, 0.98); opacity: 0.8; transition: 0.3s ease; }
  .banner-btn { -webkit-transition: 0.3s; position: absolute; top: -10px; right: 20px; width: 40px; cursor: pointer; transition: 0.3s; }
  .banner-btn img { -webkit-transition: 0.3s; transition: 0.3s; }
  .banner .num { position: absolute; right: 20px; bottom: 26px; color: #ffe400; font-size: 26px; font-weight: bold; line-height: 1; letter-spacing: .02em; }
  /*============================================================================== voice-modal ============================================================================= */
  .voice-modal { -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); display: none; z-index: 600; position: fixed; top: 50%; left: 50%; width: 450px; transform: translate(-50%, -50%); }
  .voice-modal-btn { position: absolute; top: -40px; right: 10px; width: 60px; cursor: pointer; }
  .modal-mask { display: none; z-index: 500; position: fixed; top: 0; left: 0; width: 100vw; height: 100%; background: #000; opacity: 0.7; } }
