@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html {
  font-size: 10px; }

.img-fluid {
  max-width: 100%;
  height: auto; }

.container {
  max-width: 1024px;
  margin: 0 auto; }

body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.4; }
  body.bdy-ovflw {
    overflow: hidden; }

a {
  text-decoration: none; }

.clr-org {
  color: #FEA000; }

.wrpr {
  max-width: 990px;
  margin: 0 auto;
  padding: 0 15px; }
  @media only screen and (min-width: 992px) {
    .wrpr {
      padding: 0; } }

@media only screen and (min-width: 768px) {
  .sp-only {
    display: none; } }

.pc-only {
  display: none; }
  @media only screen and (min-width: 768px) {
    .pc-only {
      display: block; } }

@media only screen and (max-width: 767px) {
  .nav-flx {
    position: absolute;
    top: 100%;
    left: -15px;
    right: -15px;
    transform: translateX(110vw);
    transition: 0.25s all ease-in-out;
    background-color: #fff;
    padding: 20px;
    height: 100vh; }
    .nav-flx.nav-showed {
      transform: translateX(0);
      transition: 0.25s all ease-in-out; }
    .nav-flx__col {
      margin-bottom: 30px;
      text-align: center; } }
@media only screen and (min-width: 768px) {
  .nav-flx {
    display: flex;
    justify-content: flex-start;
    align-items: center; }
    .nav-flx__col {
      padding: 0 10px; } }
@media only screen and (min-width: 992px) {
  .nav-flx__col {
    padding: 0 17px; } }
@media only screen and (min-width: 1200px) {
  .nav-flx__col {
    padding: 0 25px; } }
@media only screen and (min-width: 768px) {
  .nav-lst {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 0; } }
.nav-lst-itm {
  padding: 25px; }
  @media only screen and (min-width: 768px) {
    .nav-lst-itm {
      padding: 0 10px; } }
  @media only screen and (min-width: 992px) {
    .nav-lst-itm {
      padding: 0 17px; } }
  @media only screen and (min-width: 1200px) {
    .nav-lst-itm {
      padding: 0 25px; } }
  .nav-lst-itm__lnk {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.105em;
    line-height: 1.43;
    transition: 0.25s all ease-in-out;
    color: #011e46;
    display: block; }
    @media only screen and (min-width: 768px) {
      .nav-lst-itm__lnk {
        font-size: 1.2rem;
        color: #fff;
        display: inline-block; } }
    @media only screen and (min-width: 992px) {
      .nav-lst-itm__lnk {
        font-size: 1.4rem; } }
    @media only screen and (min-width: 1200px) {
      .nav-lst-itm__lnk {
        font-size: 1.6rem; } }
    .nav-lst-itm__lnk:hover {
      color: #FEA000;
      transition: 0.25s all ease-in-out; }
  .nav-lst-itm.actv .actv-lnk {
    color: #FEA000; }

.hedr-fixed .nav-lst-itm__lnk {
  color: #011e46; }
  .hedr-fixed .nav-lst-itm__lnk:hover {
    color: #FEA000; }

.ham-menu {
  display: none; }
  @media only screen and (max-width: 767px) {
    .ham-menu {
      width: 45px;
      height: 30px;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      transition: 0.25s all ease-in-out; }
      .ham-menu span {
        width: 100%;
        height: 2px;
        background-color: #FEA000;
        transition: 0.25s all ease-in-out; }
      .ham-menu:before, .ham-menu:after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        height: 2px;
        background-color: #FEA000;
        transition: 0.25s all ease-in-out; }
      .ham-menu:before {
        top: 0; }
      .ham-menu:after {
        bottom: 0; }
      .ham-menu.opened {
        transition: 0.25s all ease-in-out; }
        .ham-menu.opened span {
          transition: 0.25s all ease-in-out;
          opacity: 0; }
        .ham-menu.opened:before {
          transition: 0.25s all ease-in-out;
          top: 15px;
          transform: rotate(45deg); }
        .ham-menu.opened:after {
          transition: 0.25s all ease-in-out;
          bottom: 15px;
          transform: rotate(135deg); } }

.hedr {
  position: fixed;
  top: 0;
  padding: 15px 0;
  transition: 0.25s all ease-in-out;
  z-index: 111;
  border-bottom: 1px solid transparent;
  left: 15px;
  right: 15px; }
  @media only screen and (min-width: 1200px) {
    .hedr {
      left: 40px;
      right: 40px; } }
  .hedr:after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url(./../img/main-bg.png);
    background-size: cover;
    background-position: left;
    z-index: -1;
    opacity: 0; }
  .hedr-wrpr {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .hedr-logo svg path {
    transition: 0.25s all ease-in-out; }
  .hedr-logo:hover svg path {
    transition: 0.25s all ease-in-out;
    fill: #011e46; }
  .hedr-fixed {
    background-color: #fff;
    left: 0;
    right: 0;
    padding: 20px 15px;
    transition: 0.25s all ease-in-out;
    border-bottom: 1px solid #011e46; }
    .hedr-fixed:after {
      opacity: 0.1; }
    .hedr-fixed .hedr-logo svg path {
      fill: #011e46; }
    .hedr-fixed .hedr-logo:hover svg path {
      transition: 0.25s all ease-in-out;
      fill: rgba(254, 160, 0, 0.7); }
  @media only screen and (max-width: 767px) {
    .hedr {
      background-color: #fff;
      left: 0;
      right: 0;
      padding: 10px 15px;
      transition: 0.25s all ease-in-out;
      border-bottom: 1px solid #011e46; }
      .hedr:after {
        opacity: 0.1; }
      .hedr .hedr-logo svg path {
        fill: #011e46; }
      .hedr .hedr-logo:hover svg path {
        transition: 0.25s all ease-in-out;
        fill: rgba(254, 160, 0, 0.7); } }

.btn-prim, .btn-ctct {
  font-size: 1.2rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.4; }
  @media only screen and (min-width: 576px) {
    .btn-prim, .btn-ctct {
      font-size: 1.35rem; } }
  @media only screen and (min-width: 768px) {
    .btn-prim, .btn-ctct {
      font-size: 1.5rem; } }
  @media only screen and (min-width: 992px) {
    .btn-prim, .btn-ctct {
      font-size: 1.65rem; } }
  @media only screen and (min-width: 1200px) {
    .btn-prim, .btn-ctct {
      font-size: 1.8rem; } }
.btn-ctct {
  background: linear-gradient(180deg, #004BB4 -77.78%, #011E46 161.11%);
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 9px;
  transition: 0.25s all ease-in-out;
  padding: 8px 38px 8px 18px;
  position: relative; }
  .btn-ctct:hover {
    transition: 0.25s all ease-in-out;
    background: linear-gradient(180deg, #011E46 -77.78%, #004BB4 161.11%); }
  .btn-ctct:active, .btn-ctct:focus {
    background: #011E46; }
  .btn-ctct::before {
    content: '►';
    position: absolute;
    top: 50%;
    right: 7px;
    width: 18px;
    height: 18px;
    color: #116CEA;
    background-color: #fff;
    border-radius: 50%;
    font-size: 9px;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: -0.2em;
    transform: translateY(-50%); }
.btn-wrpr {
  text-align: center; }
.btn-otln {
  position: relative;
  transition: 0.25s all;
  padding: 5px 10px; }
  @media only screen and (min-width: 768px) {
    .btn-otln {
      padding: 10px 20px; } }
  .btn-otln:before, .btn-otln:after {
    content: '';
    position: absolute;
    inset: 0;
    border: 1px solid #E2E2E2;
    transition: 0.25s all;
    pointer-events: none; }
  .btn-otln:before {
    bottom: 0;
    right: 0;
    left: -5px;
    top: -5px; }
    @media only screen and (min-width: 768px) {
      .btn-otln:before {
        left: -10px;
        top: -10px; } }
  .btn-otln:after {
    left: 0;
    top: 0;
    bottom: -5px;
    right: -5px; }
    @media only screen and (min-width: 768px) {
      .btn-otln:after {
        bottom: -10px;
        right: -10px; } }
  .btn-otln:hover {
    color: #FEA000;
    transition: 0.25s all; }
    .btn-otln:hover::before, .btn-otln:hover::after {
      inset: 0;
      border-color: #FEA000; }

.hdng {
  text-align: center;
  overflow: hidden;
  margin-bottom: 30px; }
  @media only screen and (min-width: 768px) {
    .hdng {
      margin-bottom: 20px; } }
  .hdng-prim {
    text-align: center;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0.09em;
    position: relative;
    background-color: #fff;
    display: inline-block;
    padding: 0 10px; }
    .hdng-prim:before {
      content: '';
      position: absolute;
      height: 1px;
      background-color: #FEA000;
      top: 50%;
      left: -100vw;
      right: -100vw;
      transform: translateY(-50%);
      z-index: -1; }
    @media only screen and (min-width: 576px) {
      .hdng-prim {
        font-size: 2.5rem; } }
    @media only screen and (min-width: 768px) {
      .hdng-prim {
        font-size: 3rem;
        line-height: 1.865; }
        .hdng-prim:before {
          height: 2px; } }
    @media only screen and (min-width: 992px) {
      .hdng-prim {
        font-size: 3.5rem; } }
    @media only screen and (min-width: 1200px) {
      .hdng-prim {
        font-size: 4rem; }
        .hdng-prim:before {
          height: 3px; } }

.hero {
  background-image: url(./../img/hero.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 160px 0 100px;
  margin-bottom: 70px; }
  @media only screen and (min-width: 576px) {
    .hero {
      padding: 185px 0 100px;
      margin-bottom: 75px; } }
  @media only screen and (min-width: 768px) {
    .hero {
      padding: 210px 0 110px;
      margin-bottom: 85px; } }
  @media only screen and (min-width: 992px) {
    .hero {
      padding: 230px 0 110px;
      margin-bottom: 90px; } }
  @media only screen and (min-width: 1200px) {
    .hero {
      padding: 255px 0 110px;
      margin-bottom: 100px; } }
  .hero-wrpr {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 15px; }
    @media only screen and (min-width: 1200px) {
      .hero-wrpr {
        padding: 0; } }
  .hero-txt {
    font-size: 2rem;
    letter-spacing: 0.045em;
    color: #fff;
    font-weight: 700;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    text-align: center;
    line-height: 1.825;
    margin-bottom: 40px; }
    .hero-txt .clr-org {
      font-size: 2.2rem; }
    @media only screen and (min-width: 576px) {
      .hero-txt {
        font-size: 2.5rem;
        margin-bottom: 50px; }
        .hero-txt .clr-org {
          font-size: 2.8rem; } }
    @media only screen and (min-width: 768px) {
      .hero-txt {
        font-size: 2.8rem;
        margin-bottom: 60px; }
        .hero-txt .clr-org {
          font-size: 3.3rem; } }
    @media only screen and (min-width: 992px) {
      .hero-txt {
        font-size: 3.5rem;
        margin-bottom: 70px; }
        .hero-txt .clr-org {
          font-size: 3.9rem; } }
    @media only screen and (min-width: 1200px) {
      .hero-txt {
        font-size: 4rem;
        margin-bottom: 80px; }
        .hero-txt .clr-org {
          font-size: 4.5rem; } }

.pgh-lg {
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  font-size: 1.6rem; }
  @media only screen and (min-width: 576px) {
    .pgh-lg {
      font-size: 1.8rem;
      letter-spacing: 0.09em; } }
  @media only screen and (min-width: 768px) {
    .pgh-lg {
      font-size: 2.1rem;
      line-height: 1.865; } }
  @media only screen and (min-width: 992px) {
    .pgh-lg {
      font-size: 2.3rem; } }
  @media only screen and (min-width: 1200px) {
    .pgh-lg {
      font-size: 2.5rem; } }

.pgh-sm {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center; }
  @media only screen and (min-width: 576px) {
    .pgh-sm {
      font-size: 1.35rem;
      letter-spacing: 0.22em; } }
  @media only screen and (min-width: 768px) {
    .pgh-sm {
      font-size: 1.5rem;
      line-height: 1.865; } }
  @media only screen and (min-width: 992px) {
    .pgh-sm {
      font-size: 1.65rem; } }
  @media only screen and (min-width: 1200px) {
    .pgh-sm {
      font-size: 1.8rem; } }

.main {
  overflow: hidden; }

.bsns-ctnt {
  margin-bottom: 40px;
  position: relative; }
  @media only screen and (min-width: 576px) {
    .bsns-ctnt {
      margin-bottom: 80px; } }
  @media only screen and (min-width: 768px) {
    .bsns-ctnt {
      margin-bottom: 120px; } }
  .bsns-ctnt-txt {
    max-width: 735px;
    margin: 15px auto 0; }
    @media only screen and (min-width: 768px) {
      .bsns-ctnt-txt {
        margin: 30px auto 0; } }
  .bsns-ctnt:before, .bsns-ctnt:after {
    content: '';
    position: absolute;
    background-image: url(./../img/main-bg.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.4;
    mix-blend-mode: multiply; }
  @media only screen and (min-width: 768px) {
    .bsns-ctnt:before {
      transform: matrix(-0.99, 0.16, 0.16, 0.99, 0, 0);
      width: 510px;
      height: 240px;
      left: -350px;
      bottom: -230px; } }
  @media only screen and (min-width: 768px) and (min-width: 1200px) {
    .bsns-ctnt:before {
      width: 1020.47px;
      height: 479.1px;
      left: -700px;
      bottom: -580px; } }

  @media only screen and (min-width: 768px) {
    .bsns-ctnt:after {
      transform: rotate(6.26deg);
      width: 510px;
      height: 240px;
      right: -295px;
      top: -25px; } }
  @media only screen and (min-width: 768px) and (min-width: 1200px) {
    .bsns-ctnt:after {
      width: 1020.47px;
      height: 481.25px;
      right: -590px;
      top: -50px; } }

.srvc-gide {
  position: relative; }
  .srvc-gide:before, .srvc-gide:after {
    content: '';
    position: absolute;
    background-image: url(./../img/main-bg.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.4;
    mix-blend-mode: multiply; }
  @media only screen and (min-width: 768px) {
    .srvc-gide:before {
      transform: rotate(15deg);
      width: 510px;
      height: 240px;
      top: 115px;
      right: -333px; } }
  @media only screen and (min-width: 768px) and (min-width: 1200px) {
    .srvc-gide:before {
      width: 1020.47px;
      height: 481.25px;
      top: 230px;
      right: -665px; } }

  @media only screen and (min-width: 768px) {
    .srvc-gide:after {
      width: 510px;
      height: 240px;
      transform: rotate(-165.12deg);
      left: -330px;
      bottom: 45px; } }
  @media only screen and (min-width: 768px) and (min-width: 1200px) {
    .srvc-gide:after {
      width: 1020.47px;
      height: 481.25px;
      left: -660px;
      bottom: 85px; } }

  .srvc-gide-lst__itm {
    margin-bottom: 40px; }
    @media only screen and (min-width: 576px) {
      .srvc-gide-lst__itm {
        margin-bottom: 60px; } }
    @media only screen and (min-width: 768px) {
      .srvc-gide-lst__itm {
        margin-bottom: 85px; } }
    @media only screen and (min-width: 992px) {
      .srvc-gide-lst__itm {
        margin-bottom: 105px; } }
    @media only screen and (min-width: 1200px) {
      .srvc-gide-lst__itm {
        margin-bottom: 120px; } }
    .srvc-gide-lst__itm-qtn {
      margin-bottom: 15px;
      text-align: center; }
      @media only screen and (min-width: 576px) {
        .srvc-gide-lst__itm-qtn {
          text-align: left; } }
      @media only screen and (min-width: 768px) {
        .srvc-gide-lst__itm-qtn {
          margin-bottom: 30px; } }
    .srvc-gide-lst__itm-ans {
      max-width: 650px;
      text-align: center; }
      @media only screen and (min-width: 576px) {
        .srvc-gide-lst__itm-ans {
          text-align: left; } }
    .srvc-gide-lst__itm:nth-child(even) .srvc-gide-lst__row {
      flex-direction: column; }
      @media only screen and (min-width: 576px) {
        .srvc-gide-lst__itm:nth-child(even) .srvc-gide-lst__row {
          flex-direction: row-reverse; } }
  .srvc-gide-lst__row {
    display: flex;
    flex-direction: column; }
    @media only screen and (min-width: 576px) {
      .srvc-gide-lst__row {
        flex-direction: row;
        align-items: flex-start; } }
  .srvc-gide-lst__img {
    max-width: 247px;
    width: 100%;
    margin: 15px auto; }
    @media only screen and (min-width: 576px) {
      .srvc-gide-lst__img {
        margin: 0 15px;
        max-width: 25%;
        flex-basis: 25%; } }
  @media only screen and (min-width: 768px) {
    .srvc-gide-lst__desc {
      padding: 0 15px; } }

.cta {
  margin-bottom: 70px;
  position: relative; }
  .cta:before, .cta:after {
    content: '';
    position: absolute;
    background-image: url(./../img/main-bg.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.4;
    mix-blend-mode: multiply; }
  @media only screen and (min-width: 576px) {
    .cta {
      margin-bottom: 75px; } }
  @media only screen and (min-width: 768px) {
    .cta {
      margin-bottom: 80px; } }
  @media only screen and (min-width: 992px) {
    .cta {
      margin-bottom: 85px; } }
  @media only screen and (min-width: 1200px) {
    .cta {
      margin-bottom: 120px; } }
  @media only screen and (min-width: 768px) {
    .cta::before {
      width: 530px;
      height: 250px;
      transform: matrix(0.74, -0.67, -0.67, -0.74, 0, 0);
      top: -250px;
      right: -280px; } }
  @media only screen and (min-width: 768px) and (min-width: 1200px) {
    .cta::before {
      width: 1058.2px;
      height: 502.82px;
      top: -500px;
      right: -575px; } }

  .cta-btn-wrpr {
    margin-top: 25px; }
    @media only screen and (min-width: 576px) {
      .cta-btn-wrpr {
        margin-bottom: 33px; } }
    @media only screen and (min-width: 768px) {
      .cta-btn-wrpr {
        margin-bottom: 40px; } }
    @media only screen and (min-width: 992px) {
      .cta-btn-wrpr {
        margin-bottom: 47px; } }
    @media only screen and (min-width: 1200px) {
      .cta-btn-wrpr {
        margin-bottom: 118px;
        margin-top: 35px; } }

.stp {
  position: fixed;
  z-index: 3;
  transform: translateY(250px);
  transition: all .35s;
  background-color: #FEA000;
  width: 57px;
  height: 57px;
  right: 0;
  bottom: 0; }
  .stp:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 22px;
    transform: translate(-50%, -50%);
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='27' viewBox='0 0 24 27' fill='none' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M13.0607 0.939344C12.4749 0.353558 11.5251 0.353558 10.9393 0.939344L1.3934 10.4853C0.807611 11.0711 0.807611 12.0208 1.3934 12.6066C1.97918 13.1924 2.92893 13.1924 3.51472 12.6066L12 4.12132L20.4853 12.6066C21.0711 13.1924 22.0208 13.1924 22.6066 12.6066C23.1924 12.0208 23.1924 11.0711 22.6066 10.4853L13.0607 0.939344ZM13.5 26.3542L13.5 2L10.5 2L10.5 26.3542L13.5 26.3542Z' fill='white'/%3E%3C/svg%3E%0A");
    background-position: center;
    background-size: contain; }
  @media only screen and (min-width: 768px) {
    .stp {
      right: 15px;
      bottom: 75px;
      border-radius: 8px;
      box-shadow: 0 1px 5px 0 rgba(51, 51, 51, 0.7); }
      .stp:before {
        width: 24px;
        height: 27px; } }
  .stp:hover {
    opacity: 0.8; }

.scroll-show {
  bottom: 40px; }
  @media only screen and (min-width: 768px) {
    .scroll-show {
      bottom: 105px; } }

.ftr-cpyrgt {
  background-color: #000;
  font-size: 1.2rem;
  line-height: 1.5;
  padding: 10px;
  color: #fff;
  text-align: center;
  letter-spacing: 0.09em; }
  @media only screen and (min-width: 576px) {
    .ftr-cpyrgt {
      font-size: 1.35rem; } }
  @media only screen and (min-width: 768px) {
    .ftr-cpyrgt {
      font-size: 1.5rem; } }
  @media only screen and (min-width: 992px) {
    .ftr-cpyrgt {
      font-size: 1.65rem; } }
  @media only screen and (min-width: 1200px) {
    .ftr-cpyrgt {
      font-size: 1.8rem;
      line-height: 1.865;
      padding: 20px; } }

/*# sourceMappingURL=style.css.map */
