@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@700&family=Noto+Sans+JP:wght@100;400;700&family=Roboto:wght@400;500;700&display=swap");
html { height: 100%; font-size: 62.5%; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

body { height: 100%; font-family: 'Roboto','Noto Sans JP', Verdana, Meiryo, sans-serif; font-size: 1.6rem; line-height: 1.7; margin: 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

abbr[title] { border-bottom: 1px dotted; }

b, strong { font-weight: bold; }

blockquote { margin: 1em 40px; }

code, kbd, pre, samp { font-family: monospace,serif; font-size: 1em; }

pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }

q { quotes: none; }

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

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sup { top: -0.5em; }

sub { bottom: -0.25em; }

l, menu, ol, ul { margin: 1em 0; }

dd { margin: 0 0 0 40px; }

menu, ol, ul { padding: 0 0 0 40px; list-style: none; }

nav ul, nav ol { list-style: none; list-style-image: none; }

img { max-width: 100%; height: auto; vertical-align: middle; border: 0; -ms-interpolation-mode: bicubic; }

svg:not(:root) { overflow: hidden; }

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

i { font-style: normal; }

h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li { font-weight: 400; margin: 0; padding: 0; letter-spacing: 1px; }

a { color: #000; text-decoration: none; -webkit-transition: all 0.35s ease-out; transition: all 0.35s ease-out; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.35); }

a:active, a:hover { outline: 0; }

a:focus { outline: none; }

a img, a svg { transition: all 0.35s ease-out; }

::-moz-selection { background: #c51e25; color: #fff; }

::selection { background: #c51e25; color: #fff; }

::-webkit-input-placeholder { color: #ccc; }

::-moz-placeholder { color: #ccc; }

img { max-width: 100%; height: auto; vertical-align: middle; border: 0; -ms-interpolation-mode: bicubic; }

img.alignright { display: block; margin: 0 0 0 auto; }

img.alignleft { display: block; margin: 0 auto 0 0; }

img.aligncenter { display: block; margin: 0 auto; }

.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }

.slick-list:focus { outline: none; }

.slick-list.dragging { cursor: pointer; cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list { height: 100%; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.slick-track { position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }

.slick-track:before, .slick-track:after { display: table; content: ''; }

.slick-track:after { clear: both; }

.slick-loading .slick-track { visibility: hidden; }

.slick-slide { display: none; float: left; height: 100%; min-height: 1px; }

[dir='rtl'] .slick-slide { float: right; }

.slick-slide img { display: block; }

.slick-slide.slick-loading img { display: none; }

.slick-slide.dragging img { pointer-events: none; }

.slick-initialized .slick-slide { display: block; }

.slick-loading .slick-slide { visibility: hidden; }

.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }

.slick-arrow.slick-hidden { display: none; }

.slick-loading .slick-list { background: #fff center center no-repeat; }

.js-item-slider .slick-prev, .js-item-slider .slick-next { font-size: 0; line-height: 0; position: absolute; display: block; padding: 0; cursor: pointer; color: transparent; border: none; outline: none; background: transparent; z-index: 100; }

.js-voice-slider .slick-prev, .js-voice-slider .slick-next { font-size: 0; line-height: 0; position: absolute; top: 50%; display: block; padding: 0; -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%); cursor: pointer; color: transparent; border: none; outline: none; background: transparent; z-index: 101; }

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus { color: transparent; outline: none; background: transparent; }

.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before { opacity: 1; }

.slick-prev.slick-disabled, .slick-next.slick-disabled { cursor: default !important; }

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before { opacity: .25; cursor: default; }

.js-item-slider .slick-prev:before, .js-item-slider .slick-next:before { font-size: 3rem; line-height: 1; opacity: 1; color: #000; -webkit-transition: all 0.35s ease-out; transition: all 0.35s ease-out; }

.js-item-slider .slick-prev { width: 55px; left: calc(50% - 55px); border-right: 1px solid #000; }

[dir='rtl'] .slick-prev { right: 0; left: auto; }

.js-item-slider .slick-prev:before { content: '←'; font-family: 'Nanum Myeongjo', serif; }

[dir='rtl'] .slick-prev:before { content: '←'; font-family: 'Nanum Myeongjo', serif; }

.js-item-slider .slick-next { width: 55px; right: calc(50% - 55px); }

[dir='rtl'] .slick-next { right: auto; left: 0; }

.js-item-slider .slick-next:before { content: '→'; font-family: 'Nanum Myeongjo', serif; }

[dir='rtl'] .slick-next:before { content: '→'; font-family: 'Nanum Myeongjo', serif; }

.scroll { opacity: 0; }

.scroll.is-scroll { animation: fadein 0.8s ease forwards; }

@keyframes fadein { 0% { transform: translateY(30px); }
  100% { opacity: 1;
    transform: translateY(0); } }

.scroll + .scroll { animation-delay: .15s; }

.blocker { z-index: 10000; background-color: rgba(255, 255, 255, 0.95); }

.modal { max-width: 600px; border-radius: 0; box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); }

.modal > p { font-size: 13px; font-weight: 700; text-align: center; }

.hbspt-form { padding: 0 15px 15px; }

body input[type="text"], body input[type="password"], body input[type="datetime"], body input[type="datetime-local"], body input[type="date"], body input[type="month"], body input[type="time"], body input[type="week"], body input[type="number"], body input[type="email"], body input[type="url"], body input[type="search"], body input[type="tel"], body input[type="color"], body input[type="file"], body textarea, body select { width: 100%; font-size: 15px; line-height: 1.1; color: #000; margin: 5px 0 0; padding: 10px; background: #f6f6f6; border: none; border-radius: 0; display: block; -webkit-appearance: none; appearance: none; }

body input::placeholder { color: #414141; }

body label { font-size: 15px; }

body .hs-button.primary, body input[type="submit"], body input[type="button"] { cursor: pointer; }

.hs_cos_wrapper_type_form { width: 100%; float: inherit; }

.hs-input { height: 45px; padding: 10px; font-size: 15px; font-weight: normal; box-sizing: border-box; border-radius: 0; }

.hs-form-field { margin-top: 25px; }

.hs-form-radio { list-style-type: none; margin: 10px 15px 0 0; /*display: inline-block;*/ }

.hs-form-booleancheckbox { display: inline-block; vertical-align: middle; list-style-type: none; }

.hs-fieldtype-checkbox li { display: inline-block; vertical-align: middle; margin: 10px 15px 0 0; }

.hs-form fieldset { max-width: none !important; }

.hs-form fieldset .hs-input { width: 100% !important; }

.hs-form fieldset.form-columns-1 input[type=checkbox], .hs-form fieldset.form-columns-1 input[type=radio] { width: auto !important; }

.hs-button { -webkit-appearance: none; width: 80%; font-size: 18px; font-weight: 700; color: #fff; text-align: center; margin: 25px auto 0; padding: 15px; background: #bc1f26; border: 1px solid #bc1f26; cursor: pointer; border-radius: 0; text-transform: uppercase; display: block; -webkit-transition: all 0.35s ease-out; transition: all 0.35s ease-out; }

.hs-richtext { margin-top: 25px; }

.hs-richtext h1 { font-size: 26px; font-weight: bold; line-height: 1.3; margin: 15px 0 10px !important; }

/*.hs-button.primary {width: 100%; margin: 0 auto;}*/
.hs-form-required { color: #e9000b; }

.hs-error-msgs { margin: 0 !important; padding: 0 !important; }

.hs-error-msgs li { margin-top: 5px; list-style: none; }

.hs-error-msgs label { font-size: 11px; color: #e9000b; }

input.hs-input.error, div.field.error input, div.field.error textarea, div.field.error .chzn-choices, textarea.hs-input.error, select.hs-input.error { background: #fadadb; border-color: #e9000b; }

.hs_subject { margin-top: 0 !important; }

fieldset.form-columns-2 .hs-form-field { width: 49% !important; float: left !important; }

fieldset.form-columns-2 .hs-form-field + .hs-form-field { margin-left: 2% !important; }

textarea.hs-input { height: 100px; }

.form-columns-1 .input, .form-columns-2 .input { margin-right: 0 !important; }

.inputs-list { margin: 0 !important; padding: 0 !important; list-style-type: none; }

.inputs-list .hs-input { height: auto; margin-right: 8px; position: relative; top: -1px; }

.inputs-list input[type=checkbox] { transform: scale(1.2); }

.hs-dateinput { position: relative; }

.hs-dateinput .hs-input { padding-left: 50px; }

.hs-dateinput:before { content: '\f073'; font-family: 'ForkAwesome'; font-size: 22px; position: absolute; top: 10px; left: 15px; }

.hs-dateinput .fn-date-picker .is-today .pika-button { color: #333; font-weight: bold; }

.hs-datepicker .fn-date-picker .pika-button:hover { color: #fff !important; background: #666 !important; box-shadow: none !important; border-radius: 4px !important; }

.hs-datepicker .fn-date-picker .is-selected .pika-button { color: #fff !important; font-weight: bold !important; background: #333 !important; box-shadow: inset 0 1px 3px #000 !important; border-radius: 4px !important; }

.hs-file .hs-input { font-size: 12px !important; line-height: 22px !important; }

.privacy { width: 100%; height: 200px; font-size: 13px; line-height: 1.8; margin: 0 auto; padding: 15px; border: 1px solid #ccc; overflow-y: scroll; -webkit-overflow-scrolling: touch; box-sizing: border-box; }

@media (min-width: 768px) { .hs-button.primary { max-width: 400px; margin-top: 25px; }
  .hs-button { max-width: 400px; margin-top: 35px; font-size: 20px; padding: 12px; }
  body .hs-button:hover { background: #fff; color: #bc1f26; }
  .privacy { width: 100%; height: 250px; } }

@media only screen and (max-width: 1200px) { #form-pad { padding: 20px; z-index: 1; }
  .float-form { padding: 20px 10px 10px; }
  .addl-info { padding-top: 30px; }
  .image-holder-left { padding-left: 10%; } }

@media only screen and (max-width: 767px) { .header-content { padding: 5px 0; }
  .page-center { padding: 0 10px; }
  .company-logo { text-align: center; margin: 0 auto; float: none; }
  .social-sharing { text-align: center; }
  #form-pad { padding: 20px; z-index: 1; }
  .float-form { margin-top: 0; padding: 20px 10px 10px; }
  .addl-info { padding-top: 30px; }
  .image-holder-left { padding-left: 35%; padding-right: 35%; }
  .image-holder-right { padding-left: 35%; padding-right: 35%; }
  .left-form { margin-top: 20px; padding-left: 0; }
  .phone-number { display: none !important; }
  fieldset.form-columns-2 .hs-form-field + .hs-form-field { margin-left: 0; } }

@media only screen and (max-width: 480px) { .right-form { padding: 0; z-index: 1; }
  .float-offer { margin-top: 0; padding: 20px 10px 10px; background-color: #f8f8f8; }
  .float-form { margin-top: 0; padding: 20px 10px 10px; }
  .addl-info { padding-top: 20px; }
  .image-holder-left { padding-left: 35%; padding-right: 35%; }
  .image-holder-right { padding-left: 35%; padding-right: 35%; }
  .left-form { margin-top: 20px; padding-left: 0; }
  body label { font-size: 13px; }
  form.hs-form-f490753d-a9df-44f1-864b-cfe60333b0c5_ab49d754-e979-4b2f-aa7c-2d54551fe269:not(.hs-video-form) .form-columns-2 .hs-form-field, form.hs-form-f490753d-a9df-44f1-864b-cfe60333b0c5_ab49d754-e979-4b2f-aa7c-2d54551fe269:not(.hs-video-form) .form-columns-3 .hs-form-field { float: none !important; width: 100% !important; }
  fieldset.form-columns-2 .hs-form-field + .hs-form-field { margin-left: 0% !important; } }

.hs-richtext p a { color: #fd8c36; text-decoration: underline; }

.hs-richtext p a:hover { text-decoration: none; }

.legal-consent-container { margin-top: 30px; }

.legal-consent-container .hs-form-booleancheckbox-display > span { width: 100%; margin-top: -8px; }

.legal-consent-container div[data-reactid=".hbspt-forms-0.2.0.2"] { height: 120px; margin-top: 30px; padding: 20px; background: #fff; border: 1px solid #ccc; overflow: auto; }

.legal-consent-container .hs-richtext { margin-top: 0; }

.legal-consent-container .hs-richtext + .hs-richtext { margin-top: 20px; }

.header { width: 100%; padding: 1.2rem; position: fixed; top: 0; left: 0; box-sizing: border-box; z-index: 9999; transition: all 0.25s ease-in-out; }

.header.is-header { background: white; }

.header-logo { width: 130px; line-height: 0; }

.header-trigger { position: fixed; top: 1.7rem; right: 1.2rem; width: 30px; height: 22px; border: none; display: block; background: transparent; cursor: pointer; outline: 0; }

.header-trigger span { width: 100%; height: 2px; background: #000; display: inline-block; transition: .3s ease-in-out; box-sizing: border-box; position: absolute; left: 0; }

.header-trigger span:nth-of-type(1) { top: 0; }

.header-trigger span:nth-of-type(2) { top: 10px; }

.header-trigger span:nth-of-type(3) { bottom: 0; }

.header-trigger.is-active span:nth-of-type(1) { transform: translateY(10px) rotate(-45deg); }

.header-trigger.is-active span:nth-of-type(2) { opacity: 0; }

.header-trigger.is-active span:nth-of-type(3) { transform: translateY(-10px) rotate(45deg); }

.header-inner { width: 100%; height: 100%; background: white; overflow-y: auto; }

.header-inner__nav > li { font-size: 1.6rem; }

.header .child-nav { position: static; opacity: 1; visibility: hidden; transition: none; display: none; }

.header .child-nav > ul { padding: 0 1.3rem; }

.header .child-nav > ul li { font-size: 1.4rem; }

.header .child-nav > ul li a { padding: 1rem 0 1rem 2rem !important; }

.header-mark { text-align: center; padding: 2.5rem 0; }

.header-mark li { width: 45px; margin: 0 1.5rem; display: inline-block; }

body.js-nav-open .header-nav { opacity: 1; visibility: visible; -webkit-overflow-scrolling: touch; }

body.js-nav-open { height: 100%; overflow: hidden; }

body.js-nav-open .child-nav { visibility: visible; }

@media screen and (min-width: 320px) and (max-width: 1023px) { .header { background: #fff; }
  .header-nav { width: 100%; height: 100%; padding: 49.33px 0 0; position: fixed; top: 0; left: 0; z-index: -1; transition: .3s ease-in-out; opacity: 0; visibility: hidden; box-sizing: border-box; }
  .header-inner__nav { padding-bottom: 1.5rem; }
  .header-inner__nav > li { border-bottom: 1px solid #e5e5e5; }
  .header-inner__nav > li > a { padding: 1.3rem; display: block; position: relative; }
  .header-inner__nav > li > a:after { content: ''; width: 6px; height: 6px; margin-top: -3px; border: 0px; border-top: solid 1px #000; border-right: solid 1px #000; transform: rotate(45deg); position: absolute; top: 50%; right: 1.3rem; }
  .header .child-nav > ul li:last-child a { padding-bottom: 1.3rem !important; }
  .header .child-nav > ul li a:before { content: ''; width: 6px; height: 1px; border: 0px; background: #000; position: absolute; top: 50%; left: .5rem; }
  .header .child-nav > ul li:last-child a:before { top: 45%; } }

@media (min-width: 1024px) { .header { padding: 2.5rem; }
  .header-logo { width: 180px; }
  .header-trigger { display: none; }
  .header .header-nav { position: absolute; top: 2.3rem; right: 2rem; }
  .header-inner { width: auto; background: none; display: table; }
  .header-inner__nav { display: table-cell; position: relative; }
  .header-inner__nav > li { font-size: 1.6rem; font-weight: 700; margin-right: 3rem; display: inline-block; opacity: 1; }
  .header-mark { padding: 0; }
  .header-mark li { margin: 0 0.25rem; }
  .header-inner__nav li > a { padding: 0; position: relative; display: inline-block; }
  .header-inner__nav li > a:before { content: ''; height: 2px; background: #000; margin-top: -1px; position: absolute; right: 0; bottom: -3px; left: 0; transform-origin: right top; transform: scale(0, 1); transition: transform 0.4s cubic-bezier(0.96, 0.07, 0.28, 0.78); }
  .header-inner__nav li > a:hover:before { transform-origin: left top; transform: scale(1, 1); }
  .header-inner__nav > li:hover > a:before, .header .child-nav > ul li a:hover:after { transform-origin: left top; transform: scale(1, 1); }
  .header .child-nav { width: 100%; margin-top: 2rem; display: block; position: absolute; left: 0; transition: all 0.4s ease-in-out, top 0.3s ease-in-out; transform: rotateX(-90deg); transform-origin: 0 0; opacity: 0; visibility: hidden; }
  .header .child-nav .sub-menu li { padding: 0 1.3rem; display: inline-block; position: relative; }
  .header .child-nav .sub-menu li + li:before { content: ""; width: 1px; height: 18px; margin-top: -9px; background: #000; position: absolute; top: 50%; left: -.5rem; transform: rotate(15deg); }
  .header .child-nav .sub-menu li a { padding: 0 !important; display: inline-block; }
  .header .child-nav .sub-menu li a:before { content: ''; height: 2px; position: absolute; bottom: -3px; left: 0; z-index: 0; background: #000; transform-origin: right top; transform: scale(0, 1); transition: transform 0.4s cubic-bezier(0.96, 0.07, 0.28, 0.78); }
  .header .child-nav .sub-menu li a:hover:before { transform-origin: left top; transform: scale(1, 1); }
  .header-inner__nav > li:hover .child-nav { transform: rotateX(0); opacity: 1; visibility: visible; }
  body.js-nav-open .header-inner__nav > li { opacity: 1; } }

@media (min-width: 1440px) { .header-inner__nav > li { font-size: 1.7rem; }
  .header .child-nav .sub-menu li { font-size: 1.4rem; padding: 0 1.5rem; } }

main { display: block; }

main .home-heading { font-size: 3rem; font-weight: 700; line-height: 1.2; letter-spacing: .25rem; }

main .home-heading span { font-size: 1.2rem; font-weight: 500; line-height: 1.5; margin-top: .5rem; display: block; }

main .home-heading span a { color: #c51e25; text-decoration: underline; }

main .home-heading span span { font-size: 1.6rem; font-weight: 700; color: #c51e25; }

main .home-heading span span span { font-size: 1.2rem; font-weight: 500; }

main .home-txt { font-size: 1.6rem; line-height: 1.6; margin-top: 1.5rem; }

main .hero-visual__sp { padding-top: 57.22px; }

main .hero-visual__inner { background: #fff; margin: -6vh 4vw 0; padding: 2rem; position: relative; z-index: 1; }

main .hero-visual .visual-heading { font-family: '見出ミンMA31','Midashi Min MA31',sans-serif; font-size: 2.8rem; font-weight: 700; line-height: 1.4; text-align: center; }

main .hero-visual .visual-btn { max-width: 400px; margin: 2rem auto; }

main .hero-visual .visual-btn a { font-size: 1.6rem; color: #fff; padding: 1.5rem; background: #c51e25; border: 1px solid #c51e25; display: block; position: relative; }

main .hero-visual .visual-btn a:after { content: ""; width: 25px; height: 6px; margin-top: -4px; border-bottom: 1px solid #fff; border-right: 1px solid #fff; transform: skew(45deg); position: absolute; top: 50%; right: 1.5rem; transition: all 0.35s ease-out; }

main .hero-visual .visual-txt { text-align: center; }

main .hero-visual .visual-txt a { color: #c51e25; text-decoration: underline; }

main .menu-nav { margin-top: 3vh; padding: 3vh 1.5rem; background: #f6f6f6; }

main .menu-nav__list { max-width: 1280px; margin: 0 auto; display: flex; display: -ms-flexbox; -ms-flex-wrap: wrap; flex-wrap: wrap; }

main .menu-nav__list li { width: 33.3333%; box-sizing: border-box; text-align: center; }

main .menu-nav__list li a { padding: 5vw; display: block; }

main .menu-nav__list li span { font-size: 1.6rem; font-weight: 500; margin-top: 1.5rem; display: block; }

main .home-news { max-width: 1280px; margin: 10vh auto 0; padding: 0 1.5rem; }

main .home-news .latest-news li { font-size: 1.5rem; margin-top: 3.5rem; }

main .home-news .latest-news li a { padding-right: 3rem; display: block; position: relative; }

main .home-news .latest-news li a:before { content: ""; width: 20px; height: 20px; margin-top: -10px; background: #c51e25; border-radius: 50%; position: absolute; top: 50%; right: 0; }

main .home-news .latest-news li a:after { content: ""; width: 5px; height: 5px; margin-top: -3px; border-top: 1px solid #fff; border-right: 1px solid #fff; transform: rotate(45deg); position: absolute; top: 50%; right: 8px; }

main .home-news .latest-news li time { font-size: 1.2rem; color: #c51e25; margin-bottom: .5rem; display: block; letter-spacing: .5rem; }

main .home-news .news-link { margin-top: 4rem; }

main .home-news .news-link__btn { width: 80%; margin: 0 auto; }

main .home-news .news-link__btn li + li { margin-top: 1rem; }

main .home-news .news-link__btn a { font-size: 1.6rem; color: #fff; padding: 1.5rem; display: block; position: relative; }

main .home-news .news-link__btn a:after { content: ""; width: 25px; height: 6px; margin-top: -4px; border-bottom: 1px solid #fff; border-right: 1px solid #fff; transform: skew(45deg); position: absolute; top: 50%; right: 1.5rem; transition: all 0.35s ease-out; }

main .home-news .news-link__btn .news-link--1 { background: #c51e25; border: 1px solid #c51e25; }

main .home-news .news-link__btn .news-link--2 { background: #294C7A; border: 1px solid #294C7A; }

main .home-news .news-link__btn .news-link--3 { background: #cfcfcf; border: 1px solid #cfcfcf; padding: 0.75rem 1.5rem; }

main .home-news .news-link__btn .news-link--4 { background: #1da1f3; border: 1px solid #1da1f3; padding: 0.75rem 1.5rem; }

main .home-news .news-link__more { text-align: center; margin-top: 2rem; }

main .home-news .news-link__more li { padding: 0 1.5rem; display: inline-block; }

main .home-news .news-link__more li + li { margin: 0 1rem; border-left: 1px solid #000; }

main .home-news .news-link__more a { font-size: 1.5rem; display: block; position: relative; padding-right: 30px; }

main .home-news .news-link__more a:after { content: ""; width: 25px; height: 6px; margin-top: -6px; border-bottom: 1px solid #000; border-right: 1px solid #000; transform: skew(45deg); position: absolute; top: 50%; right: 0; transition: all 0.35s ease-out; }

main .home-stats { max-width: 1280px; margin: 10vh auto 0; padding: 0 1.5rem; }

main .home-stats .stats-block { padding: 5rem 0; border-bottom: 1px solid #d5d5d5; }

main .home-stats .stats-date { margin-bottom: 2rem; display: flex; display: -ms-flexbox; }

main .home-stats .stats-date .stats-icon { width: 100px; margin-right: 2rem; }

main .home-stats .stats-date .stats-num { flex: 1; -ms-flex: 1; position: relative; }

main .home-stats .stats-date .stats-num__title { font-size: 1.6rem; font-weight: 700; }

main .home-stats .stats-date .stats-num__title a { width: 18px; display: inline-block; margin-left: 1.4rem; position: relative; }

main .home-stats .stats-date .stats-num h2 { font-size: 1.8rem; font-weight: 700; margin: .5rem 0; display: inline-block; }

main .home-stats .stats-date .stats-num h2 span { font-size: 5.6rem; font-weight: 700; line-height: 1; }

main .home-stats .stats-date .stats-num__note { font-size: 1.4rem; color: #d5d5d5; display: inline-block; margin-left: 1rem; }

main .home-stats .stats-txt { font-size: 1rem; }

main .home-stats .stats-txt a { color: #c51e25; text-decoration: underline; }

main .home-stats .stats-btn { width: 80%; margin: 3.5rem auto 0; }

main .home-stats .stats-btn a { font-size: 1.6rem; padding: 1.2rem 1.5rem; display: block; position: relative; }

main .home-stats .stats-btn a:after { content: ""; width: 25px; height: 6px; margin-top: -4px; transform: skew(45deg); position: absolute; top: 50%; right: 1.5rem; transition: all 0.35s ease-out; }

main .home-stats .stats-btn__company a { color: #fff; background: #c51e25; border: 1px solid #c51e25; }

main .home-stats .stats-btn__company a:after { border-bottom: 1px solid #fff; border-right: 1px solid #fff; }

main .home-stats .stats-btn__ir a { color: #000; border: 1px solid #000; }

main .home-stats .stats-btn__ir a:after { border-bottom: 1px solid #000; border-right: 1px solid #000; }

main .home-service { margin-top: 10vh; padding: 0 1.5rem; }

main .home-service__heading { max-width: 1280px; margin: 0 auto; }

main .home-service__wrap { margin-top: 2rem; padding: 2rem; background: #f6f6f6; display: flex; display: -ms-flexbox; -ms-flex-wrap: wrap; flex-wrap: wrap; }

main .home-service__wrap .service-block { width: 48.5%; padding: 2rem 1rem; background: #fff; position: relative; box-sizing: border-box; box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1); }

main .home-service__wrap .service-block img { margin: 0 auto; }

main .home-service__wrap .service-block__txt { font-size: 1.3rem; margin-top: 1.5rem; }

main .home-service__wrap .service-block a { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }

main .home-service__wrap .service-btn { width: 100%; text-align: right; margin-top: 2rem; }

main .home-service__wrap .service-btn a { font-size: 1.5rem; display: inline-block; position: relative; padding-right: 30px; }

main .home-service__wrap .service-btn a:after { content: ""; width: 25px; height: 6px; margin-top: -6px; border-bottom: 1px solid #000; border-right: 1px solid #000; transform: skew(45deg); position: absolute; top: 50%; right: 0; transition: all 0.35s ease-out; }

main .partnership-btn { width: 80%; margin: 3.5rem auto 0; }

main .partnership-btn a { font-size: 1.6rem; color: #fff; background: #2b74e3; border: 1px solid #2b74e3; padding: 1.2rem 1.5rem; display: block; position: relative; }

main .partnership-btn a:after { content: ""; width: 25px; height: 6px; margin-top: -4px; border-bottom: 1px solid #fff; border-right: 1px solid #fff; transform: skew(45deg); position: absolute; top: 50%; right: 1.5rem; transition: all 0.35s ease-out; }

@media screen and (min-width: 320px) and (max-width: 1023px) { main .home-txt br { display: none; }
  main .home-service .service-block:nth-child(even) { margin-left: 3%; }
  main .home-service .service-block:nth-child(n+3) { margin-top: 3%; }
  main .news-link--pc, main .latest-news-btn { display: none; } }

@media (min-width: 1024px) { main .home-heading { font-size: 4.4rem; letter-spacing: .35rem; }
  main .home-heading span { font-size: 1.3rem; margin-top: 1.5rem; position: relative; top: -1rem; letter-spacing: 0; }
  main .home-heading span a:hover { text-decoration: none; }
  main .home-heading span span { font-size: 3rem; text-align: center; margin-top: 5rem; }
  main .home-heading span span span { font-size: 1.3rem; margin-top: 1.5rem; }
  main .home-txt { font-size: 1.6rem; line-height: 1.6; margin-top: 1.5rem; }
  main .hero-visual { height: 600px; background-image: url(../images/main-visual.jpg); background-position: center center; background-size: cover; }
  main .hero-visual__sp { display: none; }
  main .hero-visual__inner { background: none; margin: 0 0 0 40vw; padding: 2rem; position: relative; top: 50%; transform: translateY(-50%); }
  main .hero-visual .visual-heading { font-size: 5.8rem; text-align: left; }
  main .hero-visual .visual-btn { max-width: 400px; margin: 3rem 0; }
  main .hero-visual .visual-btn a { font-size: 1.8rem; padding: 1.8rem; }
  main .hero-visual .visual-btn a:hover { color: #c51e25; background: transparent; }
  main .hero-visual .visual-btn a:hover:after { border-bottom: 1px solid #c51e25; border-right: 1px solid #c51e25; right: -1rem; }
  main .hero-visual .visual-txt { font-size: 1.8rem; text-align: left; }
  main .hero-visual .visual-txt a:hover { text-decoration: none; }
  main .hero-visual .visual-txt br { display: none; }
  main .menu-nav { margin-top: 0; padding: 0; }
  main .menu-nav__list { border-left: 1px solid #fff; border-right: 1px solid #fff; }
  main .menu-nav__list li { width: 16.6666666667%; }
  main .menu-nav__list li + li { border-left: 1px solid #fff; }
  main .menu-nav__list li a { padding: 5rem 3vw; }
  main .menu-nav__list li a:hover { background: #cfcfcf; }
  main .menu-nav__list li span { font-size: 1.8rem; margin-top: 2rem; }
  main .home-news { margin-top: 10rem; display: flex; display: -ms-flexbox; position: relative; }
  main .home-news__heading { width: 50%; margin-right: 5rem; padding-right: 5rem; border-right: 1px solid #d5d5d5; box-sizing: border-box; }
  main .home-news__post { width: 50%; }
  main .home-news__post .latest-news li { font-size: 1.6rem; }
  main .home-news__post .latest-news li a { padding-right: 4rem; display: block; position: relative; }
  main .home-news__post .latest-news li a:hover { text-decoration: underline; }
  main .home-news__post .latest-news li time { font-size: 1.3rem; color: #c51e25; margin-bottom: .5rem; display: block; letter-spacing: .5rem; }
  main .home-news__post .latest-news-btn { width: 100%; text-align: right; margin-top: 4rem; }
  main .home-news__post .latest-news-btn a { font-size: 1.6rem; color: #294C7A; display: inline-block; position: relative; padding-right: 30px; }
  main .home-news__post .latest-news-btn a:after { content: ""; width: 25px; height: 6px; margin-top: -6px; border-bottom: 1px solid #294C7A; border-right: 1px solid #294C7A; transform: skew(45deg); position: absolute; top: 50%; right: 0; transition: all 0.35s ease-out; }
  main .home-news__post .latest-news-btn a:hover:after { right: -1rem; }
  main .home-news .news-link { position: absolute; left: 0; bottom: 0; }
  main .home-news .news-link--sp { display: none; }
  main .home-news .news-link__btn { max-width: 320px; margin: 1.5rem 0 0; }
  main .home-news .news-link__btn a { padding: 1.8rem; }
  main .home-news .news-link__btn a:hover { background: transparent; }
  main .home-news .news-link__btn a:hover:after { right: -1rem; }
  main .home-news .news-link__btn .news-link--1:hover { color: #c51e25; }
  main .home-news .news-link__btn .news-link--1:hover:after { border-bottom: 1px solid #c51e25; border-right: 1px solid #c51e25; }
  main .home-news .news-link__btn .news-link--2:hover { color: #294C7A; }
  main .home-news .news-link__btn .news-link--2:hover:after { border-bottom: 1px solid #294C7A; border-right: 1px solid #294C7A; }
  main .home-news .news-link__btn .news-link--3 { padding: 0.75rem 1.8rem; }
  main .home-news .news-link__btn .news-link--3:hover { color: #cfcfcf; }
  main .home-news .news-link__btn .news-link--3:hover:after { border-bottom: 1px solid #cfcfcf; border-right: 1px solid #cfcfcf; }
  main .home-news .news-link__btn .news-link--4 { padding: 0.75rem 1.8rem; }
  main .home-news .news-link__btn .news-link--4:hover { color: #1da1f3; }
  main .home-news .news-link__btn .news-link--4:hover:after { border-bottom: 1px solid #1da1f3; border-right: 1px solid #1da1f3; }
  main .home-news .news-link__more { margin-left: -1rem; }
  main .home-news .news-link__more li { padding: 0 2.5rem; display: inline-block; }
  main .home-news .news-link__more li + li { margin: 0; }
  main .home-news .news-link__more a { font-size: 1.6rem; display: block; position: relative; padding-right: 30px; }
  main .home-news .news-link__more a:hover:after { right: -.5rem; }
  main .home-stats { margin-top: 16rem; }
  main .home-stats__wrap { display: flex; display: -ms-flexbox; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  main .home-stats .stats-block { width: 47%; padding: 3rem 0; border-bottom: 1px solid #d5d5d5; }
  main .home-stats .stats-block:nth-child(even) { margin-left: 6%; }
  main .home-stats .stats-date { margin-bottom: 3rem; }
  main .home-stats .stats-date .stats-icon { width: 110px; margin-right: 3rem; }
  main .home-stats .stats-date .stats-num__col { display: inline-block; }
  main .home-stats .stats-date .stats-num__col .stats-col { display: inline-block; }
  main .home-stats .stats-date .stats-num__col .stats-col + .stats-col { margin-left: 4rem; }
  main .home-stats .stats-date .stats-num__title { font-size: 1.7rem; font-weight: 700; }
  main .home-stats .stats-date .stats-num__title a { width: 20px; }
  main .home-stats .stats-date .stats-num__title a:before { content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; transition: all 0.35s ease-out; }
  main .home-stats .stats-date .stats-num__title a:hover:before { background: rgba(255, 255, 255, 0.45); }
  main .home-stats .stats-date .stats-num h2 { font-size: 2rem; font-weight: 700; margin: .5rem 0; }
  main .home-stats .stats-date .stats-num h2 span { font-size: 7rem; font-weight: 700; line-height: 1; }
  main .home-stats .stats-date .stats-num__note { font-size: 1.5rem; color: #d5d5d5; }
  main .home-stats .stats-txt { font-size: 1.1rem; }
  main .home-stats .stats-txt a:hover { text-decoration: none; }
  main .home-stats .stats-btn { max-width: 400px; margin: 5rem auto 0; }
  main .home-stats .stats-btn a { padding: 1.8rem; }
  main .home-stats .stats-btn__company a:hover { color: #c51e25; background: transparent; }
  main .home-stats .stats-btn__company a:hover:after { border-bottom: 1px solid #c51e25; border-right: 1px solid #c51e25; right: -1rem; }
  main .home-stats .stats-btn__ir a:hover { color: #fff; background: rgba(0, 0, 0, 0.85); }
  main .home-stats .stats-btn__ir a:hover:after { right: -1rem; }
  main .home-service { margin-top: 16rem; padding: 0 2.5rem; }
  main .home-service__wrap { margin-top: 3rem; padding: 6rem; }
  main .home-service__wrap .service-block { width: 18.4%; margin-left: 2%; padding: 6vh 2.5rem; }
  main .home-service__wrap .service-block:nth-child(5n+1) { margin-left: 0; }
  main .home-service__wrap .service-block:nth-child(n+6) { margin-top: 2%; }
  main .home-service__wrap .service-block__txt { font-size: 1.5rem; margin-top: 2.5rem; }
  main .home-service__wrap .service-block a:hover { background: rgba(255, 255, 255, 0.55); }
  main .home-service__wrap .service-btn { margin-top: 4rem; }
  main .home-service__wrap .service-btn a { font-size: 1.6rem; }
  main .home-service__wrap .service-btn a:hover:after { right: -1rem; }
  main .partnership-btn { max-width: 400px; margin: 5rem auto 0; }
  main .partnership-btn a { font-size: 1.8rem; padding: 1.8rem; }
  main .partnership-btn a:hover { color: #2b74e3; background: transparent; }
  main .partnership-btn a:hover:after { border-bottom: 1px solid #2b74e3; border-right: 1px solid #2b74e3; right: -1rem; } }

@media (min-width: 1280px) { main .menu-nav__list li span { font-size: 2rem; margin-top: 2rem; } }

.breadcrumb { max-width: 1280px; margin: 4rem auto; padding: 0 1.5rem; }

.breadcrumb li { font-size: 1.3rem; display: inline-block; }

.breadcrumb li a { color: #c51e25; text-decoration: underline; display: inline-block; }

.breadcrumb li a:after { content: "|"; color: #000; padding-left: 1rem; margin-right: 1rem; display: inline-block; }

.page-visual { padding: 57.22px 1.5rem 0; }

.page-visual__icon { width: 110px; margin: 0 auto; }

.page-visual__title { margin: 1rem; }

.page-visual .page-heading { font-size: 3rem; font-weight: 700; line-height: 1.4; text-align: center; }

.page-visual .page-jp { font-size: 1.8rem; font-weight: 400; line-height: 1.4; text-align: center; color: #c51e25; }

.page-txt { padding: 0 1.5rem; }

.page-txt .twitter-link { color: #1da1f3; text-decoration: underline; }

.page-service { max-width: 1280px; margin: 6rem auto 0; padding: 0 1.5rem; }

.page-service__heading { font-size: 2.5rem; font-weight: 700; line-height: 1.4; text-align: center; margin-bottom: 1.5rem; }

.page-service__txt { font-size: 1.5rem; font-weight: 700; line-height: 1.4; color: #c51e25; text-align: center; }

.page-service__inner { margin-top: 2.5rem; }

.page-service__inner .page-service-voice { margin-top: 2rem; }

.page-service__inner .service-voice__block { position: relative; margin-top: 1.5rem; }

.page-service__inner .voice-icon { width: 70px; text-align: center; position: absolute; top: 0; }

.page-service__inner .voice-icon span { font-size: 1.2rem; margin-top: .5rem; display: inline-block; }

.page-service__inner .voice-txt { padding: 1.5rem; position: relative; border: solid 1px #ccc; }

.page-service__inner .voice--customer { padding-left: 90px; }

.page-service__inner .voice--customer .voice-icon { left: 0; }

.page-service__inner .voice--customer .voice-txt:before { content: ""; position: absolute; top: 4rem; left: -21px; margin-top: -12px; border: 9px solid transparent; border-right: 12px solid #FFF; z-index: 2; }

.page-service__inner .voice--customer .voice-txt:after { content: ""; position: absolute; top: 4rem; left: -25px; margin-top: -14px; border: 11px solid transparent; border-right: 14px solid #ccc; z-index: 1; }

.page-service__inner .voice--company { padding-right: 90px; }

.page-service__inner .voice--company .voice-icon { right: 0; }

.page-service__inner .voice--company .voice-txt:before { content: ""; position: absolute; top: 4rem; right: -21px; margin-top: -12px; border: 9px solid transparent; border-left: 12px solid #FFF; z-index: 2; }

.page-service__inner .voice--company .voice-txt:after { content: ""; position: absolute; top: 4rem; right: -25px; margin-top: -14px; border: 11px solid transparent; border-left: 14px solid #ccc; z-index: 1; }

.page-service-btn { width: 100%; text-align: right; margin-top: 4rem; }

.page-service-btn a { font-size: 1.5rem; display: inline-block; position: relative; padding-right: 30px; }

.page-service-btn a:after { content: ""; width: 25px; height: 6px; margin-top: -6px; border-bottom: 1px solid #000; border-right: 1px solid #000; transform: skew(45deg); position: absolute; top: 50%; right: 0; transition: all 0.35s ease-out; }

.service-list { margin-top: 10vh; padding: 5rem 1.5rem; background: #f6f6f6; }

.service-list__heading { text-align: center; margin-top: -7rem; }

.service-list__heading h2 { font-size: 2.2rem; font-weight: 700; color: #c51e25; padding: 0.5rem 2rem; background: #fff; display: inline-block; }

.service-list__wrap { margin-top: 2rem; display: flex; display: -ms-flexbox; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.service-list__wrap .service-list-block { width: 48.5%; padding: 2rem 1rem; background: #fff; position: relative; box-sizing: border-box; box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1); }

.service-list__wrap .service-list-block img { margin: 0 auto; }

.service-list__wrap .service-list-block__txt { font-size: 1.3rem; margin-top: 1.5rem; }

.service-list__wrap .service-list-block a { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }

.page-story { max-width: 1280px; margin: 0 auto; padding: 0 1.5rem; }

.page-story .post-story { margin-top: 5rem; position: relative; }

.page-story .post-story__title { font-size: 2rem; font-weight: 700; margin-bottom: 1.5rem; }

.page-story .post-story__col { display: flex; display: -ms-flexbox; }

.page-story .post-story__col .story-img { width: 100px; margin-right: 1.5rem; }

.page-story .post-story__col .story-txt { font-size: 1.3rem; flex: 1; -ms-flex: 1; }

.page-story .post-story a { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }

.page-story .post-story .release { width: 100%; height: 100%; position: absolute; background: rgba(255, 255, 255, 0.6); top: 0; left: 0; }

.page-story .post-story .release-txt { width: 100%; font-size: 1.8rem; font-weight: 700; color: #c51e25; text-align: center; padding: 0.5rem 1rem; background: #fff; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

.coming-soon { max-width: 1280px; margin: 6rem auto 0; padding: 0 1.5rem; }

.coming-soon-heading { font-size: 2rem; font-weight: 700; margin-bottom: 1.5rem; }

.coming-soon-txt { font-size: 1.5rem; }

.coming-soon-btn { width: 80%; margin: 2.5rem auto 0; }

.coming-soon-btn a { font-size: 1.6rem; color: #fff; background: #c51e25; border: 1px solid #c51e25; padding: 1.2rem 1.5rem; display: block; position: relative; }

.coming-soon-btn a:after { content: ""; width: 25px; height: 6px; margin-top: -4px; border-bottom: 1px solid #fff; border-right: 1px solid #fff; transform: skew(45deg); position: absolute; top: 50%; right: 1.5rem; transition: all 0.35s ease-out; }

.page-news { max-width: 1280px; margin: 0 auto; padding: 0 1.5rem; }

.page-news--col2 { margin-top: 6rem; }

.page-news__block { position: relative; }

.page-news__block + .page-news__block { margin-top: 6rem; }

.page-news__block a { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }

.page-news__title { font-size: 1.6rem; font-weight: 700; text-align: center; margin: 1.5rem 0; }

.page-news__txt { font-size: 1.4rem; padding: 0 2rem; }

.page-news__txt span { font-size: 1.2rem; }

@media screen and (min-width: 320px) and (max-width: 1023px) { .service-list .service-list-block:nth-child(even) { margin-left: 3%; }
  .service-list .service-list-block:nth-child(n+3) { margin-top: 3%; } }

@media (min-width: 1024px) { .breadcrumb { margin: 0 auto 4rem; }
  .breadcrumb li { font-size: 1.5rem; display: inline-block; }
  .breadcrumb li a:hover { text-decoration: none; }
  .page-visual { padding: 13rem 1.5rem 8rem; display: table; text-align: center; margin: 0 auto; }
  .page-visual__icon { width: 150px; display: table-cell; }
  .page-visual__title { padding-left: 3rem; }
  .page-visual .page-heading { font-size: 5rem; letter-spacing: 1rem; }
  .page-visual .page-jp { font-size: 2.4rem; font-weight: 400; line-height: 1.4; text-align: center; color: #c51e25; }
  .page-txt { text-align: center; padding: 0 1.5rem; }
  .page-txt .twitter-link:hover { text-decoration: none; }
  .page-service { margin-top: 12rem; }
  .page-service__heading { font-size: 3.8rem; margin-bottom: 2rem; }
  .page-service__heading br { display: none; }
  .page-service__txt { font-size: 1.8rem; }
  .page-service__txt br { display: none; }
  .page-service__inner { margin-top: 5rem; display: flex; display: -ms-flexbox; flex-direction: row-reverse; }
  .page-service__inner .page-service-img { width: 40.64%; }
  .page-service__inner .page-service-voice { margin: -2.5rem 5rem 0 0; flex: 1; -ms-flex: 1; }
  .page-service__inner .service-voice__block { position: relative; margin-top: 3rem; }
  .page-service__inner .voice-txt { padding: 2.8rem; position: relative; border: solid 1px #ccc; }
  .page-service__inner .voice--customer .voice-txt:before { content: ""; position: absolute; top: 4rem; left: -21px; margin-top: -12px; border: 9px solid transparent; border-right: 12px solid #FFF; z-index: 2; }
  .page-service__inner .voice--customer .voice-txt:after { content: ""; position: absolute; top: 4rem; left: -25px; margin-top: -14px; border: 11px solid transparent; border-right: 14px solid #ccc; z-index: 1; }
  .page-service__inner .voice--company .voice-txt:before { content: ""; position: absolute; top: 3.5rem; right: -21px; margin-top: -12px; border: 9px solid transparent; border-left: 12px solid #FFF; z-index: 2; }
  .page-service__inner .voice--company .voice-txt:after { content: ""; position: absolute; top: 3.5rem; right: -25px; margin-top: -14px; border: 11px solid transparent; border-left: 14px solid #ccc; z-index: 1; }
  .page-service-btn { width: auto; text-align: left; margin-top: 0; position: absolute; bottom: 2rem; right: 5rem; }
  .page-service-btn:before { content: ""; width: 0; height: 0; border-style: solid; border-width: 0 0 100px 100px; border-color: transparent transparent #f6f6f6 transparent; position: absolute; bottom: -2rem; right: -3rem; }
  .page-service-btn a { font-size: 1.7rem; }
  .page-service-btn a:hover:after { right: -1rem; }
  .service-list { margin-top: 12rem; padding: 7rem 2.5rem; }
  .service-list__heading { text-align: center; margin-top: -10rem; }
  .service-list__heading h2 { font-size: 2.7rem; padding: 0.75rem 3rem; letter-spacing: .25rem; }
  .service-list__wrap { margin-top: 3rem; padding: 6rem; }
  .service-list__wrap .service-list-block { width: 18.4%; margin-left: 2%; padding: 6vh 2.5rem; }
  .service-list__wrap .service-list-block:nth-child(5n+1) { margin-left: 0; }
  .service-list__wrap .service-list-block:nth-child(n+6) { margin-top: 2%; }
  .service-list__wrap .service-list-block__txt { font-size: 1.5rem; margin-top: 2.5rem; }
  .service-list__wrap .service-list-block a:hover { background: rgba(255, 255, 255, 0.55); }
  .page-story--col1 { max-width: 880px; margin: 0 auto; }
  .page-story--col1 .post-story:nth-child(n+2) { margin-top: 8%; }
  .page-story--col1 .story-img { width: 100px !important; }
  .page-story--col2 { display: flex; display: -ms-flexbox; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .page-story--col2 .post-story { width: 48%; margin-top: 8%; position: relative; }
  .page-story--col2 .post-story:nth-child(even) { margin-left: 4%; }
  .page-story--col2 .post-story:nth-child(n+3) { margin-top: 8%; }
  .page-story .post-story__title { font-size: 2.4rem; font-weight: 700; }
  .page-story .post-story__col .story-img { width: 130px; margin-right: 2.5rem; }
  .page-story .post-story__col .story-txt { font-size: 1.5rem; }
  .page-story .post-story a:hover { background: rgba(255, 255, 255, 0.45); }
  .page-story .post-story .release-txt { font-size: 2rem; padding: 0.75rem 1.5rem; }
  .coming-soon { margin-top: 12rem; }
  .coming-soon-heading { font-size: 3rem; text-align: center; }
  .coming-soon-txt { font-size: 1.6rem; text-align: center; }
  .coming-soon-btn { max-width: 400px; margin: 2.5rem auto 0; }
  .coming-soon-btn a { font-size: 1.8rem; padding: 1.8rem; }
  .coming-soon-btn a:hover { color: #c51e25; background: transparent; }
  .coming-soon-btn a:hover:after { border-bottom: 1px solid #c51e25; border-right: 1px solid #c51e25; right: -1rem; }
  .page-news { display: flex; display: -ms-flexbox; justify-content: space-between; -ms-flex-pack: justify; }
  .page-news__block { width: 30%; }
  .page-news__block + .page-news__block { margin-top: 0; }
  .page-news__block a:hover { background: rgba(255, 255, 255, 0.45); }
  .page-news__title { font-size: 2.2rem; font-weight: 700; text-align: center; margin: 2rem 0; }
  .page-news__txt { font-size: 1.7rem; padding: 0 3rem; }
  .page-news--col2 { max-width: 880px; }
  .page-news--col2 .page-news__block { width: 46%; }
  .page-news--col2 .page-news__title { font-size: 1.8rem; }
  .page-news--col2 .page-news__txt { font-size: 1.5rem; } }

@media (min-width: 1280px) { main .menu-nav__list li span { font-size: 2rem; margin-top: 2rem; } }

.footer { margin-top: 3.5vh; }

.footer-contact a { text-align: center; padding: 10rem 1.5rem; display: block; position: relative; }

.footer-contact a:before { content: ''; background: #bf2224; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1; }

.footer-contact .f-contact { margin: 0 auto; display: table; text-align: center; }

.footer-contact .f-contact > div { display: table-cell; vertical-align: middle; }

.footer-contact .f-contact-mail { width: 70px; padding-right: 2rem; }

.footer-contact .f-contact-sub { color: #fff; }

.footer-contact .f-contact-heading { font-size: 3.5rem; font-weight: 700; line-height: 1; color: #fff; }

.footer-contact .f-contact-icon { width: 8rem; height: 8rem; margin: 1.5rem auto 0; border: 1px solid #fff; border-radius: 50px; position: relative; }

.footer-contact .f-contact-icon:after { content: ""; width: 30px; height: 8px; margin: -7px 0 0 -17px; border-bottom: 1px solid #fff; border-right: 1px solid #fff; transform: skew(45deg); position: absolute; top: 50%; left: 50%; transition: all 0.35s ease-out; }

.footer-wrap { padding: 5.5vh 1.5rem; background-image: url(../images/footer-bg.jpg); background-position: center center; background-size: cover; position: relative; }

.footer-wrap:after { content: ""; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.75); position: absolute; top: 0; left: 0; }

.footer-inner { max-width: 1280px; margin: 0 auto; position: relative; z-index: 1; }

.footer-inner + .footer-inner { margin-top: 3rem; padding-top: 3rem; border-top: 1px solid #fff; }

.footer-inner .f-logo { width: 150px; margin: 0 auto; }

.footer-inner .f-nav-list { margin-top: 3.5rem; }

.footer-inner .f-nav-heading { font-size: 1.7rem; font-weight: 700; color: #fff; }

.footer-inner .f-nav-heading a { color: #fff; }

.footer-inner .f-nav-child li { font-size: 1.4rem; display: inline-block; margin: 0.5rem 2rem 0 0; }

.footer-inner .f-nav-child li a { color: #fff; padding-left: 1.2rem; display: inline-block; position: relative; }

.footer-inner .f-nav-child li a:before { content: ""; width: 4px; height: 4px; margin-top: -3px; border-top: 1px solid #fff; border-right: 1px solid #fff; position: absolute; top: 50%; left: 0; transform: rotate(45deg); }

.footer-inner .f-copy-nav { text-align: center; }

.footer-inner .f-copy-nav li { font-size: 1.2rem; display: inline-block; margin: 0 1rem; }

.footer-inner .f-copy-nav a { color: #fff; }

.footer-inner .f-copy { font-size: 1.1rem; color: #fff; text-align: center; margin-top: 2rem; letter-spacing: .25rem; }

.footer-mark { text-align: center; margin-top: 2.5rem; }

.footer-mark li { width: 35px; margin: 0 0.25rem; display: inline-block; }

@media (min-width: 1024px) { .footer { margin-top: 10rem; }
  .footer-contact a { text-align: center; padding: 11rem 1.5rem; display: block; position: relative; }
  .footer-contact a:before { transform-origin: left top; transform: scale(1, 1); transition: transform 0.35s cubic-bezier(0.96, 0.07, 0.28, 0.78); }
  .footer-contact a:hover:before { transform-origin: right top; transform: scale(0, 1); }
  .footer-contact a:after { content: ""; width: 100%; height: 100%; background: #ab181a; position: absolute; top: 0; left: 0; z-index: -2; }
  .footer-contact a:hover .f-contact-icon { background: #fff; }
  .footer-contact a:hover .f-contact-icon:after { border-bottom: 1px solid #ab181a; border-right: 1px solid #ab181a; }
  .footer-contact .f-contact { margin: 0 auto; display: table; text-align: center; }
  .footer-contact .f-contact > div { display: table-cell; vertical-align: middle; }
  .footer-contact .f-contact-mail { width: 90px; padding-right: 2rem; }
  .footer-contact .f-contact-sub { font-size: 2rem; }
  .footer-contact .f-contact-heading { font-size: 4.4rem; letter-spacing: .55rem; }
  .footer-contact .f-contact-icon { margin: 2rem auto 0; border: 1px solid #fff; border-radius: 50px; position: relative; }
  .footer-contact .f-contact-icon:after { content: ""; width: 26px; height: 8px; margin: -8px 0 0 -16px; border-bottom: 1px solid #fff; border-right: 1px solid #fff; transform: skew(45deg); position: absolute; top: 50%; left: 50%; transition: all 0.35s ease-out; }
  .footer-wrap { padding: 8rem 1.5rem; }
  .footer-inner { display: flex; display: -ms-flexbox; }
  .footer-inner + .footer-inner { margin-top: 4rem; padding-top: 4rem; position: relative; }
  .footer-inner .f-logo { width: 180px; margin: 0 20rem 0 0; }
  .footer-inner .f-nav { display: flex; display: -ms-flexbox; flex: 1; -ms-flex: 1; }
  .footer-inner .f-nav-list { width: 33%; margin-top: 0; }
  .footer-inner .f-nav-heading { font-size: 1.7rem; font-weight: 700; color: #fff; }
  .footer-inner .f-nav-heading a:hover { text-decoration: underline; }
  .footer-inner .f-nav-child li { font-size: 1.3rem; display: block; margin: 0.5rem 2.5rem 0 0; }
  .footer-inner .f-nav-child li a:hover { text-decoration: underline; }
  .footer-inner .f-copy-nav { position: absolute; top: 3.5rem; left: 30rem; }
  .footer-inner .f-copy-nav a:hover { text-decoration: underline; }
  .footer-inner .f-copy { text-align: left; margin-top: 0; }
  .footer-mark { position: absolute; top: 0; right: 0; }
  .footer-mark li { width: 40px; margin: 0 0.25rem; display: inline-block; } }
