@charset "UTF-8";
/* Browser Reset
================================================ */
html, body, div, span, h1, h2, h3, h4, h5, h6, p, pre, a, img, dl, dt, dd, ol, ul, li, label, table, tbody, thead, tr, th, td, article, header, hgroup, menu, nav, section { margin: 0; padding: 0; border: 0; font: inherit; vertical-align: baseline; box-sizing: border-box; -webkit-box-sizing: border-box; }

footer, header, hgroup, menu, nav, section { display: block; }

ol, ul { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; }

/* Common
================================================ */
body { font-family: 'Noto Sans JP', sans-serif; font-size: 1em; color: #222; -webkit-text-size-adjust: 100%; }

@media (max-width: 872px) { body { font-size: 0.875em; } }
a { display: block; color: inherit; text-decoration: none; cursor: pointer; transition: 0.5s; }
a:active, a:focus, a:hover { text-decoration: none; }
a:hover { transform: translateX(8px); opacity: 0.8; }

img { display: block; }

/* font */
.fc-main { color: #DF3C42; }

.fc-accent { color: #117284; }

.fc-white { color: #FFF; }

.fw-black { font-weight: 900; }

.fw-bold { font-weight: 700; }

.fw-medium { font-weight: 500; }

/* layout */
.mb-20 { margin-bottom: 20px; }

.mb-30 { margin-bottom: 30px; }

.mb-40 { margin-bottom: 40px; }

.mb-50 { margin-bottom: 50px; }

.ptb-70 { padding: 70px 0; }

/* parts */
.bg-base { background-color: #FFF; }

.bg-main { background-color: #DF3C42; }

.bg-accent { background-color: #117284; }

.bg-b-transparent { height: 100%; background-color: rgba(0, 0, 0, 0.2); }

.bg-w-transparent { height: 100%; background-color: rgba(255, 255, 255, 0.5); }

.r24-top { border-radius: 24px 24px 0 0; }

.r24-bottom { border-radius: 0 0 24px 24px; }

.num-circle { width: 30px; height: 30px; margin-right: 8px; font-weight: 600; color: #FFF; line-height: 30px; border-radius: 50%; text-align: center; background-color: #888; display: inline-block; }

/* Main
================================================ */
/* Header -------------------- */
.header { width: 100%; position: fixed; top: 0; left: 0; z-index: 100; }
.header__outer { display: flex; justify-content: space-between; align-items: center; max-width: 1040px; width: 100%; height: 86px; margin: 0 auto; }
.header__logo a { width: 192px; }
.header__logo a img { width: 100%; }
.header__menu__btn a { padding: 2px 20px 8px; color: #FFF; border-radius: 19px; }
.header__menu__btn a::before { content: '\e158'; font-family: 'Material Symbols Outlined'; margin-right: 4px; font-size: 24px; vertical-align: bottom; position: relative; top: 3px; }

header { /* 通常時のスタイル */ transition: 0.8s; }

header[data-js-scroll="true"] { /* スクロールした時のスタイル */ background-color: rgba(255, 255, 255, 0.7); transition: 0.8s; }

@media (max-width: 1072px) { .header__outer { padding: 0 16px; } }
@media (max-width: 872px) { .header__menu__btn a::before { font-size: 21px; }
  .header__logo a { width: 170px; } }
@media (max-width: 580px) { .header__menu__btn a { padding-left: 12px; padding-right: 12px; } }
/* Contents -------------------- */
section { overflow: hidden; /*&#c-fifth {
	background-image: url("../img/istockphoto-1354341671-2048x2048.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}*/ /*▼20221216*/ /*▲20221216*/ }
section#c-second { padding: 50px 0 15px 0; }
section#c-third { padding: 0 0 90px; }
section#c-third .arrow-induce { display: block; width: 120px; margin: 0 auto 30px auto; border-style: solid; border-width: 60px 60px 0 60px; border-color: #117284 transparent transparent transparent; }
section#c-fourth { background-image: url("../img/img_bg_transparent.png"); background-position: center center; background-repeat: no-repeat; background-size: cover; }
section#c-sixth { padding: 70px 0; }
section#c-movie { padding: 70px 0; }

.contents { width: 100%; }
.contents__mv { width: 100%; height: 620px; position: absolute; top: 0; left: 0; background-image: url("../img/img_f-view_eyecatch.png"); background-size: cover; background-position: center; opacity: 0.3; z-index: -1; }
.contents__outer { max-width: 1040px; width: 100%; margin: 0 auto; }

@media (max-width: 1072px) { .contents__outer { max-width: inherit; padding-right: 16px; padding-left: 16px; } }
@media (max-width: 872px) { .contents__mv { height: 960px; } }
/* section c-first */
.f-view { height: auto; margin-top: 86px; }
.f-view__catch { display: flex; flex-direction: column; flex-wrap: wrap; text-align: center; position: relative; }
.f-view__catch h1 { width: 600px; margin-top: 30px; font-size: 2.25em; font-weight: 500; line-height: 1.4; }
.f-view__catch h1 span { font-weight: 700; color: #DF3C42; display: inline-block; }
.f-view__catch h1 span.fs-large { font-size: 1.33em; }
.f-view__catch h2 { width: 600px; margin-top: 40px; }
.f-view__catch h2 span { margin-right: 4px; padding: 0 4px; font-size: 1.25em; border-bottom: 8px solid #FFF; display: inline-block; line-height: 0.5; border-radius: 4px; }
.f-view__catch h2 .arrow_f-view_h2 { margin-top: -7%; margin-left: 18.5%; }
.f-view__catch h2 .arrow_h_f-view_h2 { display: none; }
.f-view__cta { width: 600px; margin-top: 45px; margin-bottom: 50px; }
.f-view__cta p { margin-bottom: 6px; }
.f-view__cta__btn a { width: 400px; margin: 0 auto; font-size: 1.25em; font-weight: 500; color: #FFF; line-height: 60px; border-radius: 30px; }
.f-view__cta__btn a::before { content: '\e158'; font-family: 'Material Symbols Outlined'; font-size: 36px; margin-right: 8px; vertical-align: bottom; }
.f-view__eyecatchimg { width: 46%; position: absolute; top: 11%; right: 0; }
.f-view__eyecatchimg img { max-width: 100%; }

@media (max-width: 1072px) { .f-view__catch h1 { width: 536px; font-size: 2em; }
  .f-view__catch h2 { width: 536px; }
  .f-view__catch h2 img { padding-left: 0; }
  .f-view__cta { width: 536px; }
  .f-view__eyecatchimg { width: 45%; } }
@media (max-width: 960px) { .f-view__cta { width: 100%; }
  .f-view__eyecatchimg { width: 40%; } }
@media (max-width: 872px) { .f-view__catch { flex-wrap: nowrap; }
  .f-view__catch h1 { width: 75%; margin: 0 auto; font-size: 2rem; }
  .f-view__catch h2 { width: 100%; margin-top: 20px; font-size: 1rem; }
  .f-view__catch h2 .arrow_f-view_h2 { display: none; }
  .f-view__catch h2 .arrow_h_f-view_h2 { display: inherit; margin-top: -18%; margin-left: 30%; }
  .f-view__eyecatchimg { width: 55%; margin: 25px auto 0 auto; position: inherit; top: inherit; right: inherit; }
  .f-view__eyecatchimg img { max-width: 100%; margin: 0 auto; }
  .order1 { order: 1; }
  .order2 { order: 2; }
  .order3 { order: 3; }
  .order4 { order: 4; } }
@media (max-width: 580px) { .f-view__catch h1 { font-size: 2em; }
  .f-view__eyecatchimg { width: 85%; }
  .f-view__cta__btn a { width: 100%; } }
/* section c-second */
.c-evocation__catch { font-size: 2em; color: #FFF; text-align: center; }
.c-evocation__detail { display: flex; justify-content: space-between; margin: 45px 24px 0; }
.c-evocation__detail li { display: flex; justify-content: center; align-items: center; width: 30%; padding: 20px 0; font-size: 1.5em; text-align: center; background-color: #FFF; border-radius: 16px; }
.c-evocation__detail li span { display: contents; }
.c-evocation__image img { margin: -15px auto 0 auto; }

@media (max-width: 1024px) { .c-evocation__catch { font-size: 1.875em; } }
@media (max-width: 768px) { .c-evocation__detail { flex-flow: column; margin-top: 30px; }
  .c-evocation__detail li { display: inherit; width: 100%; margin-bottom: 20px; }
  .c-evocation__image img { margin-top: -35px; } }
/* section c-third */
.c-resolution__catch { display: flex; justify-content: center; font-size: 2em; text-align: center; }
.c-resolution__catch span { padding-left: 2em; font-size: 1.375em; }
.c-resolution__catch img { max-width: 80px; height: 100%; }
.c-resolution__detail { display: flex; justify-content: space-between; width: 90%; margin-top: 50px; padding: 40px 50px; border: 4px solid #999; border-radius: 16px; position: relative; left: 10%; }
.c-resolution__detail__txt { width: 46%; }
.c-resolution__detail__txt h3 { font-size: 1.75em; color: #FFF; position: absolute; top: 20px; left: -11.5%; width: 52%; }
.c-resolution__detail__txt h3::after { content: url("../img/icon_resolution-w.png"); vertical-align: middle; display: block; position: absolute; top: 2px; right: 2px; }
.c-resolution__detail__txt h3.resol-box { padding: 18px 20px 20px 32px; background-color: #DF3C42; border-top: 10px solid #FFF; border-right: 10px solid #FFF; border-bottom: 10px solid #FFF; }
.c-resolution__detail__txt p { margin-top: 140px; }
.c-resolution__detail__image { width: 50%; }
.c-resolution__detail__image img { max-width: 100%; }
.c-resolution__colomn { width: 100%; margin-top: 60px; padding: 60px 70px; background-color: #DBEAED; border-radius: 16px; }
.c-resolution__colomn h3 { font-size: 2em; text-align: center; }
.c-resolution__colomn h3 span { display: inline-block; }
.c-resolution__colomn h3 span.fs-large { font-size: 1.33em; }
.c-resolution__colomn__inner { display: flex; flex-wrap: wrap; justify-content: space-between; }
.c-resolution__colomn__inner li { width: 47%; margin-top: 40px; }
.c-resolution__colomn__inner li h4 { font-size: 1.25em; margin-bottom: 16px; padding-left: 40px; position: relative; }
.c-resolution__colomn__inner li h4::before { content: '“'; font-size: 48px; font-weight: 900; color: #DF3C42; position: absolute; top: -10px; left: 0; }
.c-resolution__colomn__inner li img { max-width: 100%; }
.c-resolution__colomn__inner li img.combi-1 { max-width: 75%; height: 100%; }
.c-resolution__colomn__inner li img.combi-2 { max-width: 55%; height: 100%; margin-top: 25%; margin-left: -30%; }

.l-combi { display: inline-flex; }

@media (max-width: 1024px) { .c-resolution__catch { font-size: 1.875em; }
  .c-resolution__colomn h3 { font-size: 1.875em; } }
@media (max-width: 960px) { .c-resolution__detail__txt h3 { width: 54%; }
  .c-resolution__detail__txt h3.resol-box { padding-left: 20px; } }
@media (max-width: 872px) { .c-resolution__detail { padding: 30px 40px; }
  .c-resolution__detail__txt p { margin-top: 130px; }
  .c-resolution__colomn { padding: 40px; } }
@media (max-width: 768px) { .c-resolution__catch { display: inherit; width: 96%; margin: 0 auto; }
  .c-resolution__catch span { padding-left: 0; }
  .c-resolution__catch img { max-width: 64px; margin: 10px auto 0 auto; opacity: 0.6; }
  .c-resolution__detail { flex-flow: column; margin-top: 30px; padding: 30px 24px; }
  .c-resolution__detail__txt { width: 100%; }
  .c-resolution__detail__txt h3 { width: 70%; font-size: 1.5em; }
  .c-resolution__detail__txt h3::after { transform: scale(0.7); top: -12px; right: -10px; }
  .c-resolution__detail__txt h3.resol-box { padding: 14px 20px 16px 20px; }
  .c-resolution__detail__txt p { margin-top: 120px; }
  .c-resolution__detail__image { width: 100%; margin-top: 30px; }
  .c-resolution__detail__image img { margin: 0 auto; }
  .c-resolution__colomn { padding: 40px 24px; }
  .c-resolution__colomn__inner li { width: 100%; }
  .c-resolution__colomn__image { width: 75%; margin: 0 auto; } }
@media (max-width: 580px) { .c-resolution__detail__txt h3 { width: 100%; }
  .c-resolution__colomn__image { width: 100%; } }
@media (max-width: 400px) { .c-resolution__detail__txt h3 { font-size: 1.38em; } }
/* section c-fifth */
.c-operation__catch { margin-bottom: 50px; font-size: 2em; color: #FFF; text-align: center; }
.c-operation__table { display: table; width: 100%; margin-top: 2px; background-color: #FFF; padding: 20px 40px; position: relative; }
.c-operation__table__ttl { padding: 15px 0; font-size: 1.25em; color: #FFF; text-align: center; }
.c-operation__table__item { display: table-cell; width: 40%; font-size: 1.25em; font-weight: 500; }
.c-operation__table__ex { display: table-cell; width: 60%; position: relative; top: -4px; }
.c-operation__tb-bet { height: 70px; margin: 5px 0; text-align: center; }
.c-operation__tb-bet__arrow { display: inline-block; border-style: solid; border-width: 70px 40px 0 40px; border-color: #222 transparent transparent transparent; }
.c-operation__tb-bet__txt { margin-top: -56px; font-size: 20px; color: #FFF; }

.under__arrow::after { content: url("../img/arrow_operation.svg"); position: absolute; bottom: -20px; left: 16%; z-index: 1; }

@media (max-width: 768px) { .c-operation__table { display: inherit; padding: 20px; }
  .c-operation__table__item { display: inherit; width: 100%; }
  .c-operation__table__ex { display: inherit; width: 100%; margin-top: 20px; } }
/* section c-fourth */
.c-majesty__catch { margin-bottom: 50px; font-size: 2em; text-align: center; }
.c-majesty__catch span.fs-large { font-size: 1.33em; }
.c-majesty__catch::after { content: '\e91f'; font-family: 'Material Symbols Outlined'; font-size: 54px; color: #666; margin-left: 8px; position: relative; bottom: 8px; vertical-align: middle; }
.c-majesty__detail div:nth-child(even) { margin-left: auto; }
.c-majesty__detail__inner { display: flex; justify-content: space-between; align-items: center; max-width: 880px; padding: 32px; border: 4px solid #DF3C42; border-radius: 16px; background-color: #FFF; }
.c-majesty__detail__image { width: 16%; }
.c-majesty__detail__image img { max-width: 100%; margin: 0 auto; }
.c-majesty__detail__voice { width: 80%; word-break: break-all; }

.voice__main { font-size: 18px; }
.voice__main::before { content: '\e91f'; font-family: 'Material Symbols Outlined'; font-size: 36px; color: #666; margin-right: 8px; position: relative; bottom: 3px; vertical-align: middle; }

@media (max-width: 1024px) { .c-majesty__catch { font-size: 1.875em; } }
@media (max-width: 768px) { .c-majesty__catch { margin-bottom: 30px; } }
@media (max-width: 580px) { .c-majesty__detail__inner { align-items: stretch; padding: 24px; }
  .c-majesty__detail__image { width: 21%; }
  .c-majesty__detail__voice { width: 75%; } }
/* section c-sixth */
.c-cta__inner { display: flex; }
.c-cta__btn { display: flex; flex-wrap: wrap; justify-content: space-between; margin-right: 4%; text-align: center; }
.c-cta__btn h5 { width: 100%; margin-bottom: 24px; font-size: 1.5em; }
.c-cta__btn__mail { width: 47%; }
.c-cta__btn__mail a { padding: 50px 0 55px; font-size: 1.75em; background-color: #DF3C42; border-radius: 16px; }
.c-cta__btn__mail a::before { content: '\e158'; font-family: 'Material Symbols Outlined'; display: block; font-size: 48px; font-weight: 500; }
/*.c-cta__btn__phone { width: 47%; padding-top: 50px; border-radius: 16px; }*/
.c-cta__btn__phone { width: 47%; padding-top: 15px; border-radius: 16px; }
/*.c-cta__btn__phone phone { font-size: 30px; }*/
.c-cta__btn__phone phone { font-size: 1.625em; }
/*.c-cta__btn__phone p { font-size: 14px; }*/
.c-cta__btn__phone p { font-size: 14px; margin-top: 5px; }
.c-cta__btn__phone::before { content: '\e61d'; font-family: 'Material Symbols Outlined'; display: block; font-size: 48px; font-weight: 500; }
.c-cta__image { width: 33%; }
.c-cta__image img { max-width: 100%; padding-top: 60px; }

@media (max-width: 872px) { .c-cta__btn { margin-right: 0; }
  .c-cta__btn__mail { width: 100%; margin-bottom: 20px; }
  .c-cta__btn__mail a { padding-top: 52px; }
  /*.c-cta__btn__phone { width: 100%; padding: 40px 20px 18px 20px; }*/
  .c-cta__btn__phone { width: 100%; padding: 13px 20px 18px 20px; }
  .c-cta__image { display: none; } }
/* section c-movie 20221216*/
.c-movingimage { max-width: 816px; margin: 0 auto; }
.c-movingimage__catch { margin-bottom: 15px; font-size: 28px; text-align: center; }
.c-movingimage__catch::before { content: url(../img/icon_movie.svg); vertical-align: middle; display: inline-block; margin-right: 16px; }
.c-movingimage__movie { position: relative; width: 100%; padding-top: 56.25%; border: 8px solid #222222; border-radius: 8px; }
.c-movingimage__movie iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* Footer -------------------- */
.footer__outer { padding: 2em 0; background-color: #222; }
.footer__inner { display: flex; justify-content: space-between; max-width: 1040px; width: 100%; margin: 0 auto; }
.footer__menu a { display: inline-block; }
.footer__credit { font-size: 14px; }

@media (max-width: 872px) { .footer__outer { padding-right: 16px; padding-left: 16px; }
  .footer__inner { flex-direction: column; }
  .footer__menu { margin-bottom: 24px; } }
/* Page Top BTN -------------------- */
#pagetop { display: flex; align-items: center; justify-content: center; cursor: pointer; position: fixed; right: 20px; bottom: 20px; width: 50px; height: 50px; border-radius: 50%; color: #FFF; background: #222; border: 2px solid #FFF; transition: 0.6s; opacity: 0; }
#pagetop:hover { transform: translateY(-5px); }
