@charset "UTF-8";
@font-face {
  font-family: 'Arial Black';
  font-style: normal;
  font-weight: 400;
  display: swap;
  src: local("Arial Black"), url("ariblk_0.ttf") format("ttf"); }
html {
  font-size: 62.5%;
  min-height: 100%;
  overflow-y: scroll;
  background: #fff; }
  @media (max-width: 480px) {
    html {
      width: 100%;
      height: 100%; } }
  html body,
  html dd,
  html div,
  html dl,
  html dt,
  html fieldset,
  html form,
  html h1,
  html h2,
  html h3,
  html h4,
  html h5,
  html h6,
  html input,
  html li,
  html ol,
  html p,
  html td,
  html textarea,
  html th,
  html ul {
    padding: 0;
    margin: 0; }
  html article,
  html aside,
  html details,
  html figcaption,
  html figure,
  html footer,
  html header,
  html hgroup,
  html menu,
  html nav,
  html section {
    display: block;
    padding: 0;
    margin: 0; }
  html address,
  html caption,
  html em,
  html strong,
  html th {
    font-style: normal; }
  html caption,
  html th {
    text-align: left; }
  html hr,
  html legend {
    display: none; }
  html h1,
  html h2,
  html h3,
  html h4,
  html h5,
  html h6 {
    font-size: 100%; }
  html ol,
  html ul {
    list-style: none; }
  html a img,
  html fieldset {
    border: none; }
  html a {
    text-decoration: none;
    color: inherit; }
  html a:visited {
    text-decoration: none; }
  html p {
    margin-bottom: 12px; }
    @media (max-width: 480px) {
      html p {
        margin-bottom: 3.0769230769vw; } }
  html img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
    display: block; }
  html * {
    box-sizing: border-box; }
  html blockquote,
  html dl,
  html ol,
  html pre,
  html table,
  html ul {
    margin-bottom: 0; }
  html table {
    border-collapse: collapse;
    border-spacing: 0; }

body {
  color: #3A3A3A;
  font-size: 1.7em;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-text-size-adjust: none;
  letter-spacing: 1.5px;
  line-height: 2;
  height: 100%;
  min-width: 1340px;
  background: #fff; }
  @media (max-width: 480px) {
    body {
      position: relative;
      width: 100%;
      min-width: 100%;
      font-size: 3.8461538462vw;
      letter-spacing: 0.5128205128vw;
      -webkit-overflow-scrolling: touch; } }

#loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10001;
  opacity: 1;
  transition: opacity 0.5s ease-out; }

.loading-container {
  position: relative;
  width: 400px;
  height: 40px;
  overflow: hidden; }
  @media (max-width: 480px) {
    .loading-container {
      width: 76.9230769231vw;
      height: 7.6923076923vw; } }

.loading-logo {
  position: absolute;
  width: 400px;
  height: 40px;
  left: -400px;
  animation: slideIn 1s ease-out forwards; }
  @media (max-width: 480px) {
    .loading-logo {
      width: 76.9230769231vw;
      height: 7.6923076923vw;
      left: -76.9230769231vw; } }
  .loading-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain; }

@keyframes slideIn {
  0% {
    left: -400px;
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    left: 0;
    opacity: 1; } }
.animate {
  transform: translateY(120px);
  transition: transform 1s ease-out, opacity 1.4s 0.2s;
  opacity: 0; }
  @media (max-width: 480px) {
    .animate {
      transform: translateY(12.8205128205vw); } }

.effect {
  transform: translateY(0);
  opacity: 1; }

.wrap {
  width: 1340px;
  max-width: 100%;
  margin: 0 auto; }
  @media (max-width: 480px) {
    .wrap {
      padding: 0 5.1282051282vw; } }
  .wrap.w1200 {
    width: 1200px;
    max-width: 100%; }
  .wrap.w1100 {
    width: 1100px;
    max-width: 100%; }
  .wrap.w1000 {
    width: 1000px;
    max-width: 100%; }
  .wrap.w900 {
    width: 900px;
    max-width: 100%; }
  .wrap.w800 {
    width: 800px;
    max-width: 100%; }
  .wrap.w700 {
    width: 700px;
    max-width: 100%; }
  .wrap.w600 {
    width: 600px;
    max-width: 100%; }
  .wrap.contact-action {
    margin-bottom: 80px; }
    @media (max-width: 480px) {
      .wrap.contact-action {
        margin-bottom: 60px; } }

#page {
  margin: 0 auto;
  width: auto; }
  @media (max-width: 480px) {
    #page {
      position: relative;
      width: 100%;
      margin: 0 auto; } }

#header {
  position: fixed;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  transition: all .3s;
  top: 0;
  left: 0;
  z-index: 1000; }
  @media (max-width: 480px) {
    #header {
      position: unset;
      min-width: 100%; } }
  #header.active .header {
    align-items: center;
    padding: 10px 30px;
    height: 64px; }
    #header.active .header .head-logo {
      width: 240px; }
      #header.active .header .head-logo img {
        height: 28px; }
    #header.active .header .head-nav {
      font-size: 14px;
      margin-right: 220px;
      letter-spacing: 0.7px; }
      #header.active .header .head-nav li a {
        font-size: 1.6rem; }
    #header.active .header .head-inquiry__contact {
      width: 190px;
      font-size: 14px; }
      #header.active .header .head-inquiry__contact .head-inquiry-contact-icon {
        width: 16px;
        height: 12px; }
  #header .header {
    position: relative;
    padding: 22px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 104px;
    transition: all .3s; }
    @media (max-width: 480px) {
      #header .header {
        padding: 0;
        max-width: 100%;
        height: auto; } }
    #header .header .head-logo {
      width: 378px;
      transition: width .3s; }
      #header .header .head-logo > a {
        display: block; }
      #header .header .head-logo img {
        width: 100%;
        height: auto;
        transition: height .3s; }
    @media (max-width: 1400px) {
      #header .header .head-logo {
        width: 200px; } }
  @media (max-width: 1400px) and (max-width: 480px) {
    #header .header .head-logo {
      width: 71.7948717949vw;
      padding: 5.1282051282vw 2.5641025641vw; } }
    @media (max-width: 1400px) {
      #header .header .head-nav {
        margin-right: 210px !important; }
      #header .header .head-inquiry__contact {
        width: 190px !important;
        font-size: 1.5rem !important; } }
    #header .header .head-nav {
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 500;
      font-size: 20px;
      color: #16224f;
      letter-spacing: 1px;
      margin-right: 270px;
      transition: font-size .3s, letter-spacing .3s; }
      @media (max-width: 480px) {
        #header .header .head-nav {
          display: none; } }
      #header .header .head-nav ul {
        display: flex;
        gap: 0;
        list-style: none;
        margin: 0;
        padding: 0; }
      #header .header .head-nav li {
        position: relative; }
        #header .header .head-nav li:not(.last-child)::after {
          position: absolute;
          content: '｜';
          margin: 0 8px;
          color: #16224f;
          top: 50%;
          right: -20px;
          transform: translateY(-50%); }
        #header .header .head-nav li a {
          position: relative;
          color: #16224f;
          text-decoration: none;
          transition: opacity .3s;
          line-height: 1.2; }
          #header .header .head-nav li a::before {
            position: absolute;
            content: " ";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background-color: #E50810;
            top: 0;
            left: 50%;
            transform: translate(-50%, 5px);
            opacity: 0;
            transition: opacity .3s, transform .3s; }
          #header .header .head-nav li a::after {
            position: absolute;
            content: '';
            width: 0;
            height: 1px;
            background-color: #E50810;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            transition: all .3s; }
          @media (min-width: 480px) {
            #header .header .head-nav li a:hover::before {
              opacity: 1;
              transform: translate(-50%, -10px); }
            #header .header .head-nav li a:hover::after {
              width: 80%; } }
    #header .header .head-inquiry {
      display: none; }
      @media (max-width: 480px) {
        #header .header .head-inquiry {
          display: flex;
          justify-content: center;
          align-items: center;
          width: 100%;
          height: 15.3846153846vw; } }
    #header .header .head-inquiry__contact {
      position: absolute;
      width: 248px;
      border: 1px solid #16224f;
      border-radius: 34px;
      padding: 8px 0;
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 500;
      font-size: 20px;
      color: #16224f;
      letter-spacing: 1px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      right: 40px;
      transition: all .3s; }
      @media (max-width: 480px) {
        #header .header .head-inquiry__contact.only_pc {
          display: none; } }
      #header .header .head-inquiry__contact.only_sp {
        display: none; }
        @media (max-width: 480px) {
          #header .header .head-inquiry__contact.only_sp {
            display: flex; } }
      #header .header .head-inquiry__contact .head-inquiry-contact-icon {
        width: 22px;
        height: 16px;
        transition: all .3s; }
        @media (max-width: 480px) {
          #header .header .head-inquiry__contact .head-inquiry-contact-icon {
            width: 5.1282051282vw;
            height: auto; } }
        #header .header .head-inquiry__contact .head-inquiry-contact-icon img {
          width: 100%;
          height: 100%;
          object-fit: contain; }
      @media (min-width: 480px) {
        #header .header .head-inquiry__contact:hover {
          background-color: #16224f;
          color: #fff; }
          #header .header .head-inquiry__contact:hover .head-inquiry-contact-icon img {
            filter: brightness(0) invert(1); } }
    #header .header #sp_navi {
      display: none; }
      @media (max-width: 480px) {
        #header .header #sp_navi {
          display: flex;
          gap: 24px; } }
      #header .header #sp_navi li.gnavi_tel {
        width: 6.2vw; }
      #header .header #sp_navi li.gnavi_open {
        width: 15vw; }
  #header .openbtn {
    display: none; }
    @media (max-width: 480px) {
      #header .openbtn {
        position: fixed;
        content: " ";
        display: block;
        background-color: #16224f;
        cursor: pointer;
        border: 1px solid #16224f;
        width: 16.6666666667vw;
        height: 16.6666666667vw;
        top: 0;
        right: 0;
        transition: top .2s, right .3s, opacity .3s, border-radius .1s, height .3s;
        color: #fff;
        z-index: 10000; } }
    @media (max-width: 480px) {
      #header .openbtn .bar .bar1, #header .openbtn .bar .bar2, #header .openbtn .bar .bar3 {
        position: absolute;
        content: " ";
        background-color: #fff;
        width: 6.4102564103vw;
        height: 0.5128205128vw;
        transform: translate(-50%, -50%);
        transition: transform .2s, top .2s .2s, width 0s .2s;
        top: 50%;
        left: 50%; } }
    #header .openbtn .bar .bar1 {
      top: calc(50% - 2.5641025641vw); }
    #header .openbtn .bar .bar2 {
      top: calc(50% - 0vw); }
    #header .openbtn .bar .bar3 {
      top: calc(50% + 2.5641025641vw); }
    #header .openbtn span.close-change {
      position: absolute;
      bottom: 5.1282051282vw;
      left: 50%;
      transform: translateX(-50%);
      font-size: 4.1025641026vw;
      letter-spacing: 0; }
  #header.openbtn-active .smoothNav2 {
    transform: translateX(0);
    transition: transform .4s; }
  @media (max-width: 480px) {
    #header.openbtn-active .smoothlist__item {
      transform: translateX(0);
      opacity: 1;
      transition: transform .3s, opacity .6s; } }
  @media (max-width: 480px) {
    #header.openbtn-active .smoothlist__item:nth-child(1) {
      transition-delay: .3s; } }
  @media (max-width: 480px) {
    #header.openbtn-active .smoothlist__item:nth-child(2) {
      transition-delay: .5s; } }
  @media (max-width: 480px) {
    #header.openbtn-active .smoothlist__item:nth-child(3) {
      transition-delay: .6s; } }
  @media (max-width: 480px) {
    #header.openbtn-active .smoothlist__item:nth-child(4) {
      transition-delay: .8s; } }
  @media (max-width: 480px) {
    #header.openbtn-active .smoothlist__item:nth-child(5) {
      transition-delay: 1s; } }
  @media (max-width: 480px) {
    #header.openbtn-active .smoothlist__item:nth-child(6) {
      transition-delay: 1.2s; } }
  #header.openbtn-active .openbtn .bar .bar1, #header.openbtn-active .openbtn .bar .bar2, #header.openbtn-active .openbtn .bar .bar3 {
    top: calc(50% - 8px);
    width: 27px;
    transition: transform .2s .2s, top .2s, width 0s .2s; }
    @media (max-width: 480px) {
      #header.openbtn-active .openbtn .bar .bar1, #header.openbtn-active .openbtn .bar .bar2, #header.openbtn-active .openbtn .bar .bar3 {
        top: 50%;
        width: 7.6923076923vw; } }
  #header.openbtn-active .openbtn .bar .bar1 {
    transform: translate(-50%, -50%) rotate(45deg); }
  #header.openbtn-active .openbtn .bar .bar2 {
    width: 0; }
  #header.openbtn-active .openbtn .bar .bar3 {
    transform: translate(-50%, -50%) rotate(-45deg); }
  #header.openbtn-active span.close-change {
    font-size: 0; }
    #header.openbtn-active span.close-change::before {
      font-size: 1.1rem;
      content: 'CLOSE'; }
      @media (max-width: 480px) {
        #header.openbtn-active span.close-change::before {
          font-size: 4.1025641026vw; } }

@media (max-width: 480px) {
  #gnavi {
    font-size: 1.1rem;
    border-top: inherit;
    border-bottom: inherit;
    padding: 20.5128205128vw 7.6923076923vw 5.1282051282vw;
    height: 100%;
    width: 100%;
    min-width: 80%;
    background: #16224f;
    position: fixed;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    right: -100%;
    top: 0;
    transition: .4s;
    z-index: 1000; } }
#gnavi .head-nav__inquiry {
  display: none; }
  @media (max-width: 480px) {
    #gnavi .head-nav__inquiry {
      color: #16224f;
      display: block;
      margin-bottom: 5.1282051282vw;
      font-size: 5.641025641vw;
      font-weight: bold;
      text-align: center;
      padding: 2.5641025641vw;
      border: 0.2564102564vw solid #fff;
      background-color: #fff;
      border-radius: 10.2564102564vw; } }
  @media (max-width: 480px) {
    #gnavi .head-nav__inquiry span {
      font-size: 70%;
      padding-right: 10px; } }
  #gnavi .head-nav__inquiry .head-nav__tel {
    line-height: 1.2; }
  #gnavi .head-nav__inquiry .head-nav__txt {
    display: block;
    font-size: 3.0769230769vw; }
#gnavi .head-nav__contact {
  display: none; }
  @media (max-width: 480px) {
    #gnavi .head-nav__contact {
      color: #16224f;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 15.3846153846vw;
      font-size: 4.6153846154vw;
      font-weight: bold;
      margin-bottom: 7.6923076923vw;
      border: 0.2564102564vw solid #fff;
      background-color: #fff;
      border-radius: 10.2564102564vw; } }
#gnavi .head-nav__contact {
  display: none; }
  @media (max-width: 480px) {
    #gnavi .head-nav__contact {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      border: 0.2564102564vw solid #fff; } }
  @media (max-width: 480px) {
    #gnavi .head-nav__contact .head-inquiry-contact-icon {
      display: inline-block;
      width: 5.1282051282vw;
      margin-right: 3.8461538462vw; } }
#gnavi ul {
  display: flex;
  gap: 12px; }
  @media (max-width: 480px) {
    #gnavi ul {
      flex-direction: column;
      padding: 2.5641025641vw 0 10.2564102564vw;
      max-width: 100%;
      gap: 0;
      margin-bottom: 6.4102564103vw; } }
  #gnavi ul li a {
    position: relative;
    display: block;
    font-size: 2rem;
    font-weight: 500;
    padding: 0 1em;
    transition: border 0.3s,color 0.3s;
    z-index: 1; }
    @media (max-width: 480px) {
      #gnavi ul li a {
        display: flex;
        color: #fff;
        align-items: center;
        justify-content: center;
        font-size: 4.1025641026vw;
        filter: none;
        padding: 3.8461538462vw 0;
        border-bottom: 0.5128205128vw solid #A2A2A2;
        width: 100%;
        gap: 0 2.5641025641vw; } }
    @media (min-width: 480px) {
      #gnavi ul li a:hover {
        color: #16224f; } }
    #gnavi ul li a span {
      font-size: 70%;
      display: block;
      color: #fff;
      transition: font-size .3s; }
      @media (max-width: 480px) {
        #gnavi ul li a span {
          color: #FCB02C; } }
    @media (max-width: 480px) {
      #gnavi ul li a .external-icon {
        width: 3.8461538462vw;
        height: 3.8461538462vw;
        margin-left: 1.5384615385vw; } }
  @media (max-width: 1400px) {
    #gnavi ul li a {
      font-size: 1.5rem; } }
  @media (max-width: 1400px) and (max-width: 480px) {
    #gnavi ul li a {
      font-size: 4.1025641026vw; } }

  @media (max-width: 480px) {
    #gnavi ul li:nth-child(1) a {
      border-top: 0.5128205128vw solid #A2A2A2; } }
  #gnavi ul li.contact {
    display: none; }
    @media (max-width: 480px) {
      #gnavi ul li.contact {
        display: block;
        margin-top: 48px; }
        #gnavi ul li.contact a {
          border: none;
          background: #bcad84;
          font-size: 1.4rem;
          color: #fff;
          font-weight: 500;
          display: flex;
          justify-content: center;
          align-items: center;
          border-radius: 50px; } }
  #gnavi ul li.navi_slide {
    cursor: pointer;
    position: relative; }
    #gnavi ul li.navi_slide::before {
      position: absolute;
      content: " ";
      width: 8px;
      height: 8px;
      border: 2px solid #FCC92C;
      border-left: none;
      border-top: none;
      top: 9px;
      right: -3px;
      transform: rotate(45deg);
      z-index: -1;
      transition: transform 0.3s, top .3s; }
      @media (max-width: 480px) {
        #gnavi ul li.navi_slide::before {
          content: none; } }
    @media (max-width: 480px) {
      #gnavi ul li.navi_slide {
        border-bottom: 0;
        cursor: default; } }
    #gnavi ul li.navi_slide:hover::before {
      top: 13px;
      transform: rotate(-135deg); }
    #gnavi ul li.navi_slide:hover ul {
      display: block; }
    @media (max-width: 480px) {
      #gnavi ul li.navi_slide > a {
        display: none; } }
    #gnavi ul li.navi_slide a {
      cursor: default; }
      @media (max-width: 480px) {
        #gnavi ul li.navi_slide a {
          cursor: default; } }
      #gnavi ul li.navi_slide a span {
        font-size: 0; }
        @media (max-width: 480px) {
          #gnavi ul li.navi_slide a span {
            font-size: 2.8205128205vw; } }
    #gnavi ul li.navi_slide ul {
      border-radius: 4px;
      padding: 0 14px;
      height: inherit;
      width: 100%;
      background: rgba(255, 255, 255, 0.95);
      filter: blur(0.5);
      display: none;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      overflow: hidden;
      z-index: 5000; }
      @media (max-width: 480px) {
        #gnavi ul li.navi_slide ul {
          position: unset;
          border-bottom: inherit;
          border: none;
          border-radius: 0;
          margin-left: 0;
          padding: 0;
          background: none;
          display: block;
          transform: none;
          margin-bottom: 0; } }
      #gnavi ul li.navi_slide ul li {
        color: #595757;
        text-align: center;
        border-bottom: 1px solid #cccccc;
        margin: 0;
        width: 100%;
        float: none; }
        @media (max-width: 480px) {
          #gnavi ul li.navi_slide ul li {
            border-bottom: none; } }
        #gnavi ul li.navi_slide ul li:last-child {
          border: 0; }
        #gnavi ul li.navi_slide ul li a {
          color: #444;
          cursor: pointer;
          font-size: 1.2rem;
          text-align: left;
          text-decoration: none;
          text-shadow: inherit;
          box-shadow: none;
          margin: 0 auto;
          padding: 12px 0;
          background: none;
          display: block;
          position: inherit; }
          @media (max-width: 480px) {
            #gnavi ul li.navi_slide ul li a {
              border: none;
              display: flex;
              align-items: center;
              font-size: 4.1025641026vw;
              filter: none;
              padding: 3.8461538462vw 0;
              border-bottom: 0.5128205128vw solid #A2A2A2;
              width: 100%;
              gap: 0 2.5641025641vw; } }
          #gnavi ul li.navi_slide ul li a:after, #gnavi ul li.navi_slide ul li a:before {
            border: 0;
            content: " "; }
            @media (max-width: 480px) {
              #gnavi ul li.navi_slide ul li a:after, #gnavi ul li.navi_slide ul li a:before {
                content: none; } }
          @media (min-width: 480px) {
            #gnavi ul li.navi_slide ul li a:hover {
              color: #16224f;
              box-shadow: inherit; } }
  @media (min-width: 480px) and (max-width: 480px) {
    #gnavi ul li.navi_slide ul li a:hover {
      color: #fff; } }
          @media (min-width: 480px) {
              #gnavi ul li.navi_slide ul li a:hover:before {
                box-shadow: inherit;
                background: none; } }
@media (max-width: 480px) {
  #gnavi #close {
    color: #fff;
    font-size: 1.5rem;
    padding: 5px 5%;
    width: 100%;
    background: #16224f;
    border-radius: 1.2820512821vw;
    text-align: center; }
    #gnavi #close span {
      font-size: 1.5rem; } }

@media (max-width: 480px) {
  #drawer_underlay {
    height: 100%;
    width: 100%;
    background: #F9F6EF;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1000; } }
@media (max-width: 480px) {
  #gnavi.open {
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    z-index: 1000; } }
#contents .contents-header {
  height: 330px;
  background: #fff;
  position: relative;
  overflow: hidden; }
  @media (max-width: 480px) {
    #contents .contents-header {
      height: 51.2820512821vw; } }
  #contents .contents-header::before {
    position: absolute;
    content: "";
    right: 0;
    top: -30px;
    width: 865px;
    height: 360px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 0; }
    @media (max-width: 480px) {
      #contents .contents-header::before {
        width: 120%;
        height: 100%;
        background-size: contain;
        right: -23.0769230769vw;
        top: auto;
        bottom: -5.1282051282vw; } }
  #contents .contents-header.bg01::before {
    background-image: url(../img/contents-header-bg-1.png); }
  #contents .contents-header.bg02::before {
    background-image: url(../img/contents-header-bg-2.png); }
  #contents .contents-header.bg03::before {
    background-image: url(../img/contents-header-bg-3.png); }
  #contents .contents-header.bg04::before {
    background-image: url(../img/contents-header-bg-4.png); }
  #contents .contents-header.bg05::before {
    background-image: url(../img/contents-header-bg-5.png); }
  #contents .contents-header.bg06::before {
    background-image: url(../img/contents-header-bg-1.png); }
  #contents .contents-header .contents-header__in {
    max-width: 1560px;
    margin: 0 auto;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-left: 150px;
    position: relative;
    z-index: 1; }
    @media (max-width: 480px) {
      #contents .contents-header .contents-header__in {
        align-items: flex-start;
        padding-left: 5.1282051282vw;
        padding-right: 5.1282051282vw;
        padding-top: 7.6923076923vw; } }
    #contents .contents-header .contents-header__in .contents-header__ttl {
      display: flex;
      flex-direction: column;
      gap: 0;
      margin-bottom: 0; }
      #contents .contents-header .contents-header__in .contents-header__ttl .en {
        position: relative;
        font-family: "Oswald", sans-serif;
        font-size: 8.6rem;
        font-weight: 400;
        color: #e50810;
        line-height: 1;
        letter-spacing: 0;
        margin-bottom: 36px; }
        @media (max-width: 480px) {
          #contents .contents-header .contents-header__in .contents-header__ttl .en {
            font-size: 10.2564102564vw;
            margin-bottom: 2.5641025641vw; } }
        #contents .contents-header .contents-header__in .contents-header__ttl .en::after {
          position: absolute;
          content: "";
          width: 100%;
          height: 2px;
          background-color: #e50810;
          top: 50%;
          left: -30px;
          transform: translate(-100%, -50%); }
          @media (max-width: 480px) {
            #contents .contents-header .contents-header__in .contents-header__ttl .en::after {
              height: 1.0256410256vw; } }
      #contents .contents-header .contents-header__in .contents-header__ttl .jp {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 2.2rem;
        font-weight: 700;
        color: #16224f;
        line-height: 1;
        letter-spacing: 0; }
        @media (max-width: 480px) {
          #contents .contents-header .contents-header__in .contents-header__ttl .jp {
            font-size: 3.3333333333vw; } }
      #contents .contents-header .contents-header__in .contents-header__ttl .main {
        font-size: 3.2rem;
        color: #3A3A3A; }
        @media (max-width: 480px) {
          #contents .contents-header .contents-header__in .contents-header__ttl .main {
            font-size: 5.641025641vw; } }
#contents .breadcrumbs {
  padding: 5px 0; }
  @media (max-width: 480px) {
    #contents .breadcrumbs {
      padding: 1.2820512821vw 2.5641025641vw; } }
  #contents .breadcrumbs ul {
    margin: 0 auto;
    max-width: 1340px; }
    @media (max-width: 480px) {
      #contents .breadcrumbs ul {
        max-width: 100%; } }
    #contents .breadcrumbs ul:after {
      content: '';
      display: block;
      clear: both; }
    #contents .breadcrumbs ul li {
      font-size: 1.3rem;
      margin-right: 5px;
      float: left; }
      @media (max-width: 480px) {
        #contents .breadcrumbs ul li {
          font-size: 3.0769230769vw; } }
      #contents .breadcrumbs ul li a {
        color: #111;
        margin-right: 4px;
        display: inline-block; }
        #contents .breadcrumbs ul li a:hover {
          text-decoration: none; }
#contents .section {
  padding: 80px 0 40px;
  background-color: #F6F6F6; }
  @media (max-width: 480px) {
    #contents .section {
      padding: 30px 0 20px; } }
  #contents .section.pm0 {
    padding-bottom: 0; }
#contents .sec-bg01 {
  position: relative;
  z-index: 0; }
#contents *:has(+ .sec-bg01) {
  position: relative;
  z-index: 10; }

.intro-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background: #F9F6EF;
  padding: 40px 50px 0;
  margin-bottom: 40px; }
  @media (max-width: 480px) {
    .intro-box {
      padding: 0;
      margin-bottom: 7.6923076923vw; } }
  .intro-box .intro-msg {
    width: 490px; }
    @media (max-width: 480px) {
      .intro-box .intro-msg {
        width: 100%;
        margin-bottom: 7.6923076923vw; } }
  .intro-box .intro-img {
    width: 440px; }
    @media (max-width: 480px) {
      .intro-box .intro-img {
        width: 100%; } }

.intro-box02 {
  max-width: 1000px;
  margin: 0 auto 40px;
  padding-top: 30px; }
  @media (max-width: 480px) {
    .intro-box02 {
      margin-bottom: 7.6923076923vw;
      padding-top: 5.1282051282vw; } }
  .intro-box02 .intro-msg {
    margin-bottom: 50px; }
    @media (max-width: 480px) {
      .intro-box02 .intro-msg {
        margin-bottom: 7.6923076923vw; } }
  .intro-box02 .intro-img {
    width: 670px;
    margin: 0 auto; }
    @media (max-width: 480px) {
      .intro-box02 .intro-img {
        width: 100%; } }
    .intro-box02 .intro-img.full {
      width: 100%; }

.img-list01 {
  display: flex;
  flex-wrap: wrap;
  width: 850px;
  gap: 20px 50px;
  margin: 0 auto 50px; }
  @media (max-width: 480px) {
    .img-list01 {
      width: 100%;
      gap: 5.1282051282vw 4%; } }
  .img-list01 .img-list01__set {
    width: 400px; }
    @media (max-width: 480px) {
      .img-list01 .img-list01__set {
        width: 48%; } }
  .img-list01.animate {
    transform: none;
    opacity: 1; }
    .img-list01.animate .img-list01__set {
      transform: translateY(120px);
      transition: transform .6s ease-out, opacity .6s ease-out;
      opacity: 0; }
      .img-list01.animate .img-list01__set:nth-child(1) {
        transition-delay: .2s; }
      .img-list01.animate .img-list01__set:nth-child(2) {
        transition-delay: .4s; }
      .img-list01.animate .img-list01__set:nth-child(3) {
        transition-delay: .6s; }
      .img-list01.animate .img-list01__set:nth-child(4) {
        transition-delay: .8s; }
  .img-list01.effect .img-list01__set {
    opacity: 1;
    transform: translateY(0); }

.box01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 30px;
  gap: 30px 20px;
  margin-bottom: 50px; }
  @media (max-width: 480px) {
    .box01 {
      padding: 0;
      gap: 5.1282051282vw 5.1282051282vw;
      margin-bottom: 10.2564102564vw; } }
  @media (max-width: 480px) {
    .box01.min-model .box01__set {
      padding: 7.6923076923vw 7.6923076923vw 5.1282051282vw; } }
  .box01.min-model .box01__ttl {
    font-size: 2.1rem;
    text-align: center; }
    @media (max-width: 480px) {
      .box01.min-model .box01__ttl {
        font-size: 4.6153846154vw;
        padding-bottom: 3.8461538462vw;
        margin-bottom: 3.8461538462vw; } }
    .box01.min-model .box01__ttl::before {
      left: 50%;
      transform: translateX(-50%); }
  .box01 .box01__set {
    width: 48%;
    padding: 35px 50px;
    background-color: #fff;
    border-radius: 15px; }
    @media (max-width: 480px) {
      .box01 .box01__set {
        width: 100%;
        padding: 7.6923076923vw;
        border-radius: 2.5641025641vw; } }
    .box01 .box01__set.full {
      width: 100%; }
  .box01 .box01-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px 30px; }
    @media (max-width: 480px) {
      .box01 .box01-flex {
        gap: 5.1282051282vw 7.6923076923vw; } }
    .box01 .box01-flex .box01__subttl {
      width: 430px; }
      @media (max-width: 480px) {
        .box01 .box01-flex .box01__subttl {
          width: 100%;
          margin-bottom: 0; } }
  .box01 .box01__ttl {
    position: relative;
    font-size: 2.4rem;
    font-weight: 500;
    color: #16224f;
    padding-bottom: 15px;
    margin-bottom: 20px;
    line-height: 1.4; }
    @media (max-width: 480px) {
      .box01 .box01__ttl {
        font-size: 5.1282051282vw;
        padding-bottom: 5.1282051282vw;
        margin-bottom: 5.1282051282vw; } }
    .box01 .box01__ttl::before {
      position: absolute;
      content: " ";
      width: 40px;
      height: 2px;
      background-color: #FCC92C;
      bottom: 0;
      left: 0; }
  @media (max-width: 480px) {
    .box01 .box01__subttl {
      line-height: 1.5; } }
  .box01 .box01__img {
    width: 400px; }
    @media (max-width: 480px) {
      .box01 .box01__img {
        width: 100%; } }
  .box01 .box01__waku {
    display: flex;
    align-items: center;
    height: 60px;
    font-size: 2rem;
    font-weight: 500;
    color: #16224f;
    border: 1px solid #16224f;
    border-radius: 30px;
    padding: 0 40px;
    margin-bottom: 30px;
    margin-top: 30px; }
    @media (max-width: 480px) {
      .box01 .box01__waku {
        justify-content: center;
        height: 15.3846153846vw;
        font-size: 3.8461538462vw;
        padding: 0;
        margin-bottom: 3.8461538462vw;
        line-height: 1.5;
        letter-spacing: 0.2564102564vw; } }
  .box01 .box01-list.check .box01-list__set {
    padding-left: 35px;
    background-size: 18px;
    background-repeat: no-repeat;
    background-position: left center;
    background-image: url(../img/food/ico01.png); }
    @media (max-width: 480px) {
      .box01 .box01-list.check .box01-list__set {
        padding-left: 10.2564102564vw;
        background-size: 4.6153846154vw; } }
  .box01 .box01-list__set {
    font-size: 1.8rem;
    text-indent: -17px;
    padding-left: 17px;
    line-height: 1.5; }
    @media (max-width: 480px) {
      .box01 .box01-list__set {
        font-size: 4.1025641026vw;
        text-indent: -4.358974359vw;
        padding-left: 4.358974359vw; } }
    .box01 .box01-list__set:not(:last-child) {
      margin-bottom: 8px; }

.box02 .box02-img {
  width: 670px;
  margin: 0 auto; }
  @media (max-width: 480px) {
    .box02 .box02-img {
      width: 100%; } }

.box03 {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 30px 170px; }
  @media (max-width: 480px) {
    .box03 {
      flex-direction: column;
      gap: 23.0769230769vw 5.1282051282vw; } }
  .box03::before {
    position: absolute;
    content: " ";
    width: 50px;
    height: 50px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url(../img/difference/arrow.png);
    top: 25px;
    left: calc(50% - 20px);
    transform: translateX(-50%); }
    @media (max-width: 480px) {
      .box03::before {
        width: 10.2564102564vw;
        height: 10.2564102564vw;
        left: 50%;
        top: calc(50% - 0.2564102564vw);
        transform: translate(-50%, -50%) rotate(90deg); } }
  .box03 .box03__set {
    width: 320px;
    font-size: 1.8rem; }
    @media (max-width: 480px) {
      .box03 .box03__set {
        width: 100%;
        font-size: 3.5897435897vw; } }
  .box03 .box03__setimg {
    display: block;
    width: 90px;
    margin: 0 auto 10px; }
    @media (max-width: 480px) {
      .box03 .box03__setimg {
        width: 25.641025641vw;
        margin-bottom: 2.5641025641vw; } }

.list0box01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media (max-width: 480px) {
    .list0box01 {
      gap: 7.6923076923vw 0; } }
  .list0box01 .list0box01__set {
    position: relative;
    width: 300px; }
    @media (max-width: 480px) {
      .list0box01 .list0box01__set {
        width: 100%; } }
  .list0box01 .list0box01__img {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 130px;
    margin-bottom: 20px; }
    @media (max-width: 480px) {
      .list0box01 .list0box01__img {
        height: 30.7692307692vw;
        margin-bottom: 3.8461538462vw;
        border-radius: 3.8461538462vw;
        overflow: hidden; } }
    .list0box01 .list0box01__img img {
      max-height: 100%;
      width: auto;
      max-width: 190px; }
  .list0box01 .list0box01__ttl {
    font-size: 2rem;
    font-weight: bold;
    color: #16224f;
    text-align: center;
    margin-bottom: 10px; }
    @media (max-width: 480px) {
      .list0box01 .list0box01__ttl {
        font-size: 5.1282051282vw;
        margin-bottom: 2.0512820513vw; } }
  .list0box01 .list0box01__txt {
    margin-bottom: 30px; }
    @media (max-width: 480px) {
      .list0box01 .list0box01__txt {
        margin-bottom: 5.1282051282vw; } }

.unit-line01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px 50px; }
  @media (max-width: 480px) {
    .unit-line01 {
      gap: 10px 30px; } }

.unit-subttl01 {
  font-size: 1.6rem;
  font-family: "Jost", sans-serif;
  color: #bcad84;
  margin-bottom: 5px;
  line-height: 1;
  letter-spacing: 0; }
  @media (max-width: 480px) {
    .unit-subttl01 {
      font-size: 1.3rem; } }

.unit-ttl01 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  text-align: center;
  margin-bottom: 45px;
  line-height: 1.4; }
  @media (max-width: 480px) {
    .unit-ttl01 {
      gap: 5px;
      margin-bottom: 10.2564102564vw; } }
  .unit-ttl01 .sub {
    font-size: 2rem;
    font-weight: bold;
    color: #16224f;
    line-height: 1; }
    @media (max-width: 480px) {
      .unit-ttl01 .sub {
        font-size: 5.641025641vw; } }
    .unit-ttl01 .sub.ico {
      display: block;
      width: 130px;
      margin: 0 auto; }
      @media (max-width: 480px) {
        .unit-ttl01 .sub.ico {
          width: 25.641025641vw; } }
  .unit-ttl01 .main {
    font-weight: 500;
    font-size: 3.2rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #16224f; }
    @media (max-width: 480px) {
      .unit-ttl01 .main {
        font-size: 6.6666666667vw; } }
  .unit-ttl01 .en {
    font-size: 1.6rem;
    color: #16224f; }
    @media (max-width: 480px) {
      .unit-ttl01 .en {
        font-size: 4.1025641026vw; } }
  .unit-ttl01.wht .main {
    color: #fff; }
  .unit-ttl01.wht::after {
    background-image: url(../img/ttl01-illust-wht.svg); }

.unit-ttl02 {
  line-height: 1.2;
  color: #408636;
  position: relative; }
  @media (max-width: 480px) {
    .unit-ttl02 {
      line-height: 1.4; } }
  .unit-ttl02 .main {
    font-size: 3rem;
    font-weight: bold; }
    @media (max-width: 480px) {
      .unit-ttl02 .main {
        font-size: 1.8rem; } }
    .unit-ttl02 .main .cl-org {
      color: #ec4d00; }

.unit-ttl03 {
  position: relative;
  font-size: 3.2rem;
  color: #408636;
  padding-bottom: 25px;
  margin-bottom: 25px;
  line-height: 1; }
  @media (max-width: 480px) {
    .unit-ttl03 {
      font-size: 1.8rem;
      padding-bottom: 15px;
      margin-bottom: 15px; } }
  .unit-ttl03::after {
    position: absolute;
    content: " ";
    width: 200px;
    height: 1px;
    background-color: #408636;
    bottom: 0;
    left: 0; }
    @media (max-width: 480px) {
      .unit-ttl03::after {
        width: 120px; } }

.unit-ttl04 {
  font-size: 2.4rem;
  font-weight: bold;
  color: #FCB02C;
  text-align: center;
  margin-bottom: 20px; }
  @media (max-width: 480px) {
    .unit-ttl04 {
      font-size: 4.6153846154vw;
      margin-bottom: 3.8461538462vw;
      line-height: 1.4; } }
  .unit-ttl04 .unit-ttl04in {
    position: relative;
    display: inline-block;
    padding: 0 50px; }
    @media (max-width: 480px) {
      .unit-ttl04 .unit-ttl04in {
        padding: 0 7.6923076923vw; } }
    .unit-ttl04 .unit-ttl04in::before, .unit-ttl04 .unit-ttl04in::after {
      position: absolute;
      content: " ";
      width: 2px;
      height: 20px;
      background-color: #FCB02C;
      top: 50%;
      transform: translateY(-50%); }
      @media (max-width: 480px) {
        .unit-ttl04 .unit-ttl04in::before, .unit-ttl04 .unit-ttl04in::after {
          width: 0.5128205128vw;
          height: 11.5384615385vw; } }
    .unit-ttl04 .unit-ttl04in::before {
      right: 0;
      transform: translateY(-50%) rotate(15deg); }
    .unit-ttl04 .unit-ttl04in::after {
      left: 0;
      transform: translateY(-50%) rotate(-15deg); }

.unit-ttl05 {
  font-size: 3.2rem;
  font-weight: 700;
  margin-bottom: 30px;
  line-height: 1.5; }
  @media (max-width: 480px) {
    .unit-ttl05 {
      font-size: 4.6153846154vw;
      margin-bottom: 5.1282051282vw; } }

.unit-btn01 {
  display: inline-block;
  height: 50px;
  margin-right: 80px; }
  @media (max-width: 480px) {
    .unit-btn01 {
      width: 70%;
      height: 45px;
      margin-right: 50px; } }
  .unit-btn01 .inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    font-weight: bold;
    padding: 0 40px;
    color: #16224f;
    border-radius: 40px;
    position: relative;
    z-index: 0;
    transition: color 0.3s; }
    @media (max-width: 480px) {
      .unit-btn01 .inner {
        font-size: 1.4rem;
        padding: 0 25px; } }
    .unit-btn01 .inner .arrow {
      width: 50px;
      height: 50px;
      content: "";
      position: absolute;
      border: 1px solid #e0d9c6;
      background-color: #fff;
      border-radius: 30px;
      top: 50%;
      right: -60px;
      transform: translateY(-50%);
      transition: width 0.3s, border-radius 0.3s, background-color 0.4s .2s;
      z-index: -1; }
      @media (max-width: 480px) {
        .unit-btn01 .inner .arrow {
          width: 45px;
          height: 45px;
          right: -50px; } }
      .unit-btn01 .inner .arrow::after {
        content: " ";
        width: 10px;
        height: 10px;
        background: #16224f;
        clip-path: polygon(0 0, 0 100%, 100% 50%);
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: background-color 0s; }
    .unit-btn01 .inner::before {
      content: "";
      border-radius: 40px;
      position: absolute;
      top: 1px;
      left: 1px;
      background: #fff;
      width: 100%;
      height: calc(100% - 2px);
      border: 1px solid #e0d9c6;
      top: 0px;
      left: 0px;
      z-index: -1;
      transition: opacity 0.3s; }
    @media (min-width: 480px) {
      .unit-btn01 .inner:hover {
        color: #fff; }
        .unit-btn01 .inner:hover .arrow {
          width: calc(100% + 60px);
          background-color: #408636;
          border: transparent;
          transition: width 0.3s, border-radius 0.3s, background-color 0.3s; }
          .unit-btn01 .inner:hover .arrow::after {
            background-color: #fff;
            left: auto;
            right: 15px;
            transition: background-color 0.5s; } }

.unit-btn02 {
  display: inline-block;
  height: 50px; }
  @media (max-width: 480px) {
    .unit-btn02 {
      width: calc(-100% - 60px);
      height: 50px; } }
  .unit-btn02 .inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    font-weight: bold;
    padding: 0 40px;
    color: #16224f;
    border-radius: 40px;
    position: relative;
    z-index: 0;
    transition: color 0.3s; }
    @media (max-width: 480px) {
      .unit-btn02 .inner {
        font-size: 1.3rem; } }
    .unit-btn02 .inner .arrow {
      content: " ";
      width: 10px;
      height: 10px;
      background: #16224f;
      clip-path: polygon(0 0, 0 100%, 100% 50%);
      position: absolute;
      top: 50%;
      right: 0;
      transform: translateY(-50%); }
    @media (min-width: 480px) {
      .unit-btn02 .inner:hover {
        text-decoration: underline; } }

.unit-txt-link01 {
  text-decoration: underline;
  color: #0050a7; }
  @media (min-width: 480px) {
    .unit-txt-link01:hover {
      text-decoration: none; } }

.footer_contact {
  background-color: #fff;
  padding: 70px 0; }
  @media (max-width: 480px) {
    .footer_contact {
      padding: 17.9487179487vw 0; } }
  @media (max-width: 480px) {
    .footer_contact .footer_contact__in {
      padding: 0 7.6923076923vw; } }
  .footer_contact .footer_contact__ttl {
    margin-bottom: 40px;
    display: flex;
    gap: 40px;
    align-items: baseline; }
    @media (max-width: 480px) {
      .footer_contact .footer_contact__ttl {
        margin-bottom: 5.1282051282vw;
        flex-direction: column;
        align-items: center;
        gap: 0; } }
    .footer_contact .footer_contact__ttl .main {
      display: block;
      font-size: 4.6rem;
      font-weight: 900;
      color: #16224f;
      letter-spacing: 0.1em; }
      @media (max-width: 480px) {
        .footer_contact .footer_contact__ttl .main {
          font-size: 9.2307692308vw; } }
    .footer_contact .footer_contact__ttl .sub {
      display: block;
      font-size: 1.9rem;
      font-weight: bold;
      color: #16224f; }
      @media (max-width: 480px) {
        .footer_contact .footer_contact__ttl .sub {
          font-size: 4.1025641026vw; } }
  .footer_contact .footer_contact__set {
    display: flex;
    gap: 30px; }
    @media (max-width: 480px) {
      .footer_contact .footer_contact__set {
        flex-direction: column;
        gap: 7.1794871795vw; } }
  .footer_contact .footer_contact__item {
    flex: 1;
    display: flex;
    gap: 30px;
    position: relative; }
    @media (max-width: 480px) {
      .footer_contact .footer_contact__item {
        width: 100%;
        gap: 5.8974358974vw; } }
    .footer_contact .footer_contact__item .icon {
      width: 85px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-inline: 1px solid #16224f; }
      @media (max-width: 480px) {
        .footer_contact .footer_contact__item .icon {
          width: 17.9487179487vw; } }
      .footer_contact .footer_contact__item .icon img {
        width: 35px;
        object-fit: contain; }
        @media (max-width: 480px) {
          .footer_contact .footer_contact__item .icon img {
            width: 7.6923076923vw; } }
    .footer_contact .footer_contact__item .detail {
      flex: 1;
      color: #16224f; }
      .footer_contact .footer_contact__item .detail .detail__ttl {
        color: #16224f;
        font-weight: 500;
        margin-bottom: 10px; }
        @media (max-width: 480px) {
          .footer_contact .footer_contact__item .detail .detail__ttl {
            font-size: 4.1025641026vw;
            margin-bottom: 1.2820512821vw; } }
        .footer_contact .footer_contact__item .detail .detail__ttl.mb-min {
          margin-bottom: 5px; }
          @media (max-width: 480px) {
            .footer_contact .footer_contact__item .detail .detail__ttl.mb-min {
              margin-bottom: 0.7692307692vw; } }
      .footer_contact .footer_contact__item .detail .detail__txt .tel {
        font-size: 3rem;
        line-height: 1;
        font-weight: bold;
        text-decoration: none; }
        @media (max-width: 480px) {
          .footer_contact .footer_contact__item .detail .detail__txt .tel {
            font-size: 7.1794871795vw; } }
      .footer_contact .footer_contact__item .detail .detail__info {
        font-size: 1.25rem; }
        @media (max-width: 480px) {
          .footer_contact .footer_contact__item .detail .detail__info {
            font-size: 3.0769230769vw; } }
      .footer_contact .footer_contact__item .detail .btn_base {
        width: 100%; }
        @media (max-width: 480px) {
          .footer_contact .footer_contact__item .detail .btn_base {
            width: 100%; } }
        .footer_contact .footer_contact__item .detail .btn_base a {
          padding-left: 40px; }
          @media (max-width: 480px) {
            .footer_contact .footer_contact__item .detail .btn_base a {
              padding-left: 5.1282051282vw; } }
          .footer_contact .footer_contact__item .detail .btn_base a::after {
            left: 25px; }
            @media (max-width: 480px) {
              .footer_contact .footer_contact__item .detail .btn_base a::after {
                left: 3.8461538462vw; } }

.footer {
  overflow: visible;
  position: relative;
  background: #000;
  color: #fff; }
  @media (max-width: 480px) {
    .footer {
      font-size: 4.1025641026vw; } }
  .footer .footer_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 100px;
    padding: 200px 0 0px; }
    @media (max-width: 480px) {
      .footer .footer_inner {
        padding: 35.8974358974vw 0 0; } }
  .footer .footer_info {
    font-size: 1.4rem; }
    @media (max-width: 480px) {
      .footer .footer_info {
        font-size: 3.0769230769vw;
        padding: 0 7.6923076923vw;
        margin-bottom: 7.6923076923vw; } }
    .footer .footer_info .sns-icon {
      width: 35px;
      margin-top: 15px;
      transition: opacity 0.3s; }
      @media (max-width: 480px) {
        .footer .footer_info .sns-icon {
          width: 7.6923076923vw;
          margin-top: 3.8461538462vw; } }
      @media (min-width: 480px) {
        .footer .footer_info .sns-icon:hover {
          opacity: 0.7; } }
    .footer .footer_info .footer_info_logo {
      width: 370px;
      margin-bottom: 10px; }
      @media (max-width: 480px) {
        .footer .footer_info .footer_info_logo {
          width: 100%;
          margin: 0 auto 7.6923076923vw; } }
    @media (max-width: 480px) {
      .footer .footer_info .footer_name {
        font-size: 5.1282051282vw; } }
    #page .footer .footer_info p {
      margin-bottom: 0; }
      @media (max-width: 480px) {
        #page .footer .footer_info p span {
          display: inline-block; } }
  .footer .footer_navi {
    width: 820px;
    padding-top: 10px; }
    @media (max-width: 480px) {
      .footer .footer_navi {
        width: 100%;
        padding: 0 7.6923076923vw; } }
    @media (max-width: 480px) {
      .footer .footer_navi ul li {
        border-bottom: 0.2564102564vw solid #A2A2A2; } }
    .footer .footer_navi ul li:not(:last-child) {
      margin-bottom: 10px; }
      @media (max-width: 480px) {
        .footer .footer_navi ul li:not(:last-child) {
          margin-bottom: 0; } }
    .footer .footer_navi ul a {
      position: relative;
      text-decoration: none;
      margin-left: 20px;
      position: relative;
      word-break: break-all;
      display: inline-flex; }
      @media (max-width: 480px) {
        .footer .footer_navi ul a {
          display: block;
          color: #fff;
          font-size: 4.1025641026vw;
          padding: 4.6153846154vw 2.5641025641vw;
          margin-left: 0;
          text-align: center; } }
      .footer .footer_navi ul a::after {
        content: " ";
        position: absolute;
        width: 0;
        height: 1px;
        background-color: #fff;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        transition: width 0.3s; }
        @media (max-width: 480px) {
          .footer .footer_navi ul a::after {
            display: none; } }
      @media (min-width: 480px) {
        .footer .footer_navi ul a:hover::after {
          width: 100%; } }
  @media (max-width: 480px) {
    .footer .footer_navi_set.outside {
      padding-top: 0; } }
  .footer .footer_navi_set.outside ul {
    justify-content: flex-end; }
    @media (max-width: 480px) {
      .footer .footer_navi_set.outside ul {
        justify-content: flex-start; } }
  @media (max-width: 480px) {
    .footer .footer_navi_set:first-child {
      border-top: 0.2564102564vw solid #A2A2A2; } }
  @media (max-width: 480px) {
    .footer .footer_navi_set {
      width: 100%; } }
  .footer .footer_navi_set ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 10px; }
    @media (max-width: 480px) {
      .footer .footer_navi_set ul {
        display: block;
        gap: 0; } }
  .footer .footer_navi_set_ttl {
    margin-bottom: 8px; }
    @media (max-width: 480px) {
      .footer .footer_navi_set_ttl {
        display: none; } }
  .footer .footer_company_name {
    font-size: 2rem;
    margin-bottom: 10px;
    color: #fff; }
    @media (max-width: 480px) {
      .footer .footer_company_name {
        font-size: 5.1282051282vw; } }
  .footer .footer_logos {
    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: flex-end;
    margin-top: 20px; }
    @media (max-width: 480px) {
      .footer .footer_logos {
        flex-direction: column;
        gap: 5.1282051282vw; } }
  .footer .footer_logo_item {
    background: #fff;
    padding: 15px 20px; }
    @media (max-width: 480px) {
      .footer .footer_logo_item {
        padding: 3.8461538462vw 5.1282051282vw;
        width: 100%; } }
    .footer .footer_logo_item a {
      display: block;
      transition: opacity 0.3s; }
      .footer .footer_logo_item a::after {
        content: none; }
      @media (max-width: 480px) {
        .footer .footer_logo_item a {
          padding: 0; } }
      @media (min-width: 480px) {
        .footer .footer_logo_item a:hover {
          opacity: 0.7; } }
    .footer .footer_logo_item img {
      max-width: 200px;
      height: auto;
      display: block; }
      @media (max-width: 480px) {
        .footer .footer_logo_item img {
          max-width: 60%;
          margin: 0 auto; } }
  .footer .external-icon {
    position: relative;
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 8px;
    vertical-align: middle;
    top: 12px; }
    @media (max-width: 480px) {
      .footer .external-icon {
        width: 3.0769230769vw;
        height: 3.0769230769vw;
        margin-left: 2.0512820513vw;
        top: -0.2564102564vw; } }
  .footer #pagetop {
    display: none; }
    @media (max-width: 480px) {
      .footer #pagetop {
        width: 15%; } }
    .footer #pagetop a {
      display: block;
      border-radius: 50%;
      transition: 0.5s; }
      @media (min-width: 480px) {
        .footer #pagetop a:hover {
          opacity: 0.7; } }
      .footer #pagetop a img {
        display: block; }
        @media (max-width: 480px) {
          .footer #pagetop a img {
            width: 100%; } }
  .footer #pagetop.fixed {
    right: 3%;
    bottom: 50px;
    display: block;
    z-index: 1000;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
    @media (max-width: 480px) {
      .footer #pagetop.fixed {
        right: 9px;
        bottom: 50px;
        display: block;
        z-index: 1000;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0); } }
  .footer .copy {
    padding: 18px 0;
    background: #000; }
    @media (max-width: 480px) {
      .footer .copy {
        padding: 3.0769230769vw 5.1282051282vw; } }
    .footer .copy p {
      max-width: 1100px;
      margin: 0 auto;
      margin-bottom: 0 !important; }
    .footer .copy img {
      vertical-align: bottom;
      position: relative;
      top: -4px;
      left: 14px; }
      @media (max-width: 480px) {
        .footer .copy img {
          margin: 0 auto;
          display: block;
          top: 2px;
          left: auto; } }
    .footer .copy a {
      font-size: 1.3rem;
      color: #fff;
      text-decoration: none; }
      @media (max-width: 480px) {
        .footer .copy a {
          font-size: 2vw; } }

.grecaptcha-badge {
  z-index: 200 !important; }

.access_map {
  padding: 0 10px;
  width: 100%; }
  @media (max-width: 480px) {
    .access_map {
      padding: 0 10px;
      margin-bottom: 40px;
      width: 100%; } }
  .access_map .map_set {
    border: 1px dotted #fff;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.25);
    margin-bottom: 23px;
    height: 450px;
    width: 100%; }
    @media (max-width: 480px) {
      .access_map .map_set {
        box-shadow: inherit;
        height: 200px;
        width: 100%;
        margin-bottom: 0px; } }
    @media (max-width: 480px) {
      .access_map .map_set .guide {
        font-size: 1rem;
        padding: 13px 10px; } }
  .access_map .access_data {
    padding: 15px 0 0; }
    .access_map .access_data .access_data_root {
      padding-top: 20px; }
      @media (max-width: 480px) {
        .access_map .access_data .access_data_root {
          font-size: 1.3rem;
          line-height: 1.5; } }
    .access_map .access_data dl {
      padding: 0 5px; }
      .access_map .access_data dl:after {
        content: '';
        display: block;
        clear: both; }
      .access_map .access_data dl dt {
        font-weight: bold;
        float: left; }
        @media (max-width: 480px) {
          .access_map .access_data dl dt {
            float: none; } }
      .access_map .access_data dl dd {
        padding-left: 100px; }
        @media (max-width: 480px) {
          .access_map .access_data dl dd {
            padding-left: 0;
            margin-bottom: 12px; } }
        .access_map .access_data dl dd .postal_code {
          margin-right: 1.5rem; }
          @media (max-width: 480px) {
            .access_map .access_data dl dd .postal_code {
              margin-right: 0;
              display: block; } }
        .access_map .access_data dl dd a {
          color: #408636; }

.privacy_section {
  padding: 50px 0 70px; }
  @media (max-width: 480px) {
    .privacy_section {
      padding: 30px 0 40px; } }
  .privacy_section .privacy_section_inner {
    margin: 0 auto;
    max-width: 1340px; }
    @media (max-width: 480px) {
      .privacy_section .privacy_section_inner {
        padding: 0 10px;
        max-width: 100%; } }
    .privacy_section .privacy_section_inner .privacy_set {
      margin-bottom: 20px;
      border-bottom: 1px solid #C9C9C9; }
      .privacy_section .privacy_section_inner .privacy_set .privacy_set_title {
        font-size: 2rem;
        margin-bottom: 30px; }
        @media (max-width: 480px) {
          .privacy_section .privacy_section_inner .privacy_set .privacy_set_title {
            font-size: 4.6153846154vw;
            margin-bottom: 3.8461538462vw; } }
      .privacy_section .privacy_section_inner .privacy_set .privacy_set_inner {
        padding: 0 10px 15px; }
        @media (max-width: 480px) {
          .privacy_section .privacy_section_inner .privacy_set .privacy_set_inner {
            padding: 0 1.2820512821vw 5.1282051282vw; } }
        .privacy_section .privacy_section_inner .privacy_set .privacy_set_inner ul.privacy_list li {
          margin-bottom: 10px; }
          @media (max-width: 480px) {
            .privacy_section .privacy_section_inner .privacy_set .privacy_set_inner ul.privacy_list li {
              text-indent: -5.1282051282vw;
              margin-bottom: 2.5641025641vw;
              padding-left: 5.1282051282vw; } }
        .privacy_section .privacy_section_inner .privacy_set .privacy_set_inner dl.privacy_item dt {
          margin-bottom: 4px; }
          @media (max-width: 480px) {
            .privacy_section .privacy_section_inner .privacy_set .privacy_set_inner dl.privacy_item dt {
              margin-bottom: 10px; } }
        .privacy_section .privacy_section_inner .privacy_set .privacy_set_inner dl.privacy_item dd {
          margin-bottom: 15px;
          padding-left: 40px; }
          @media (max-width: 480px) {
            .privacy_section .privacy_section_inner .privacy_set .privacy_set_inner dl.privacy_item dd {
              margin-bottom: 30px;
              padding-left: 0; } }

#confirm #MailForm {
  padding-top: 80px !important; }
  @media (max-width: 480px) {
    #confirm #MailForm {
      padding-top: 15.3846153846vw !important; } }

#thanks .section {
  padding-bottom: 400px; }
  @media (max-width: 480px) {
    #thanks .section {
      padding-bottom: 64.1025641026vw; } }

.inquiry_info_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: baseline; }
  @media (max-width: 480px) {
    .inquiry_info_inner {
      display: block; } }
  .inquiry_info_inner .inquiry_info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 900px;
    padding: 45px 50px;
    margin: 0 auto 30px;
    border-radius: 15px; }
    @media (max-width: 480px) {
      .inquiry_info_inner .inquiry_info {
        width: 100%;
        padding: 10.2564102564vw 5.1282051282vw;
        margin-bottom: 0; } }
    .inquiry_info_inner .inquiry_info .btn_base {
      margin: 0; }
      @media (max-width: 480px) {
        .inquiry_info_inner .inquiry_info .btn_base {
          margin: 0 auto; } }
    .inquiry_info_inner .inquiry_info .unit-ttl01 {
      display: block;
      position: relative;
      width: 290px;
      margin-bottom: 0;
      padding-right: 30px;
      margin-right: 40px;
      text-align: left; }
      @media (max-width: 480px) {
        .inquiry_info_inner .inquiry_info .unit-ttl01 {
          display: block;
          width: 100%;
          padding-right: 0;
          margin-right: 0;
          margin-bottom: 5.1282051282vw;
          text-align: center; } }
      .inquiry_info_inner .inquiry_info .unit-ttl01:after {
        position: absolute;
        content: " ";
        width: 1px;
        height: 70px;
        background-color: #16224f;
        top: 50%;
        right: 0;
        transform: translateY(-50%); }
        @media (max-width: 480px) {
          .inquiry_info_inner .inquiry_info .unit-ttl01:after {
            content: none; } }
      .inquiry_info_inner .inquiry_info .unit-ttl01 .main {
        font-size: 2rem; }
        @media (max-width: 480px) {
          .inquiry_info_inner .inquiry_info .unit-ttl01 .main {
            font-size: 4.1025641026vw; } }
    .inquiry_info_inner .inquiry_info .no {
      position: relative;
      font-size: 4.4rem;
      font-weight: bold;
      color: #333;
      padding-left: 45px;
      letter-spacing: 0.02em;
      line-height: 1.0;
      text-decoration: none; }
      @media (max-width: 480px) {
        .inquiry_info_inner .inquiry_info .no {
          font-size: 7.6923076923vw;
          padding-left: 7.6923076923vw;
          font-family: "Noto Sans JP", sans-serif; } }
      .inquiry_info_inner .inquiry_info .no .icon {
        position: absolute;
        width: 30px;
        top: calc(50% + 3px);
        left: 0;
        transform: translateY(-50%); }
        @media (max-width: 480px) {
          .inquiry_info_inner .inquiry_info .no .icon {
            width: 6.4102564103vw;
            top: calc(50% + 0.2564102564vw); } }
    .inquiry_info_inner .inquiry_info .time {
      font-size: 1.6rem;
      margin-bottom: 0; }
      @media (max-width: 480px) {
        .inquiry_info_inner .inquiry_info .time {
          font-size: 3.8461538462vw;
          width: 100%;
          text-align: center; } }

.kinds_list {
  display: flex;
  flex-wrap: wrap; }
  @media (max-width: 480px) {
    .kinds_list {
      margin-top: 10px; } }
  @media (max-width: 480px) {
    .kinds_list li {
      background-color: #fff;
      border: 1px solid #e1e1e1;
      padding: 0 1em;
      display: flex;
      align-items: center;
      width: 100%;
      border-radius: 5px; }
      .kinds_list li label {
        display: block;
        width: 100%; } }
  .kinds_list li:not(:last-child) {
    padding-right: 11px; }
    @media (max-width: 480px) {
      .kinds_list li:not(:last-child) {
        padding-right: 0;
        margin-bottom: 1em; } }

.attent_block {
  margin-bottom: 20px; }
  .attent_block .title {
    font-size: 1.6rem;
    text-shadow: 0.3px 0 0 #000;
    border-bottom: 1px solid #333;
    margin: 0 0 10px;
    padding: 5px 0; }
    .attent_block .title:before {
      content: "■";
      font: normal normal normal 18px/1 FontAwesome;
      margin-right: 6px; }

.attent a.link {
  color: #0050a7;
  text-decoration: underline; }
  @media (min-width: 480px) {
    .attent a.link:hover {
      text-decoration: none; } }

.thanks_title {
  font-size: 1.9rem;
  text-align: center;
  margin-bottom: 30px; }

.thanks_msg {
  text-align: center;
  line-height: 2; }
  @media (max-width: 480px) {
    .thanks_msg {
      text-align: left; } }
  .thanks_msg p {
    margin-bottom: 20px; }

#MailForm {
  padding-top: 0 !important; }

#MailForm span.any,
#MailForm span.required {
  color: #fff;
  font-size: 85%;
  border-radius: 3px;
  margin-right: 5px;
  padding: 2px 4px; }
  @media (max-width: 480px) {
    #MailForm span.any,
    #MailForm span.required {
      font-size: 2.5641025641vw;
      border-radius: 0.7692307692vw;
      margin-right: 1.2820512821vw;
      padding: 0.5128205128vw 1.0256410256vw; } }

#MailForm span.required {
  background: #E50810; }

#MailForm span.any {
  background: #999; }

#MailForm table {
  margin: 0 auto 25px;
  width: 90%; }
  @media (max-width: 480px) {
    #MailForm table {
      width: 100%;
      border: 0;
      margin-bottom: 5.1282051282vw; } }
  #MailForm table td,
  #MailForm table th {
    display: block;
    font-weight: normal; }
    @media (max-width: 480px) {
      #MailForm table td,
      #MailForm table th {
        border: 0;
        width: 100%;
        display: block; } }
  #MailForm table th {
    padding-left: 55px;
    width: 100%;
    position: relative;
    margin-bottom: 10px; }
    @media (max-width: 480px) {
      #MailForm table th {
        padding: 0 0 3px;
        width: 100%;
        background: none;
        font-size: 3.5897435897vw;
        margin-bottom: 1.2820512821vw; } }
    @media (max-width: 480px) {
      #MailForm table th:before {
        color: #666666;
        font: normal normal normal 14px/1 FontAwesome;
        line-height: 1;
        margin-right: 5px;
        content: "\025a0"; } }
    #MailForm table th span {
      position: absolute;
      font-size: 1.4rem;
      left: 0; }
      @media (max-width: 480px) {
        #MailForm table th span {
          font-size: 3.8461538462vw;
          left: auto;
          right: 5px; } }
  #MailForm table td {
    margin-bottom: 40px; }
    @media (max-width: 480px) {
      #MailForm table td {
        margin-bottom: 5.1282051282vw;
        padding: 0;
        background: none; } }

.mw_wp_form_complete p {
  text-align: left !important; }

#MailForm input,
#MailForm textarea {
  color: #444;
  font-size: 1.5rem;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 1px;
  line-height: 1.4;
  border: 1px solid #e1e1e1;
  border-radius: 8px;
  padding: 15px 10px; }
  @media (max-width: 480px) {
    #MailForm input,
    #MailForm textarea {
      width: 100%;
      font-size: 1.4rem;
      border-radius: 5px; } }
@media (max-width: 480px) {
  #MailForm .kinds_list input {
    width: auto;
    margin-right: 1em; } }
#MailForm select {
  font-size: 1.5rem;
  border: 1px solid #e1e1e1;
  padding: 12px 27px 12px 13px;
  cursor: pointer;
  background: url("../img/select-arrow.png") no-repeat center right 7px/9% #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  @media all and (-ms-high-contrast: none) {
    #MailForm select {
      background: none;
      padding-right: 13px; } }
  @media (max-width: 480px) {
    #MailForm select {
      border-radius: 5px; } }
#MailForm label {
  position: relative;
  padding: 2px 10px;
  cursor: pointer; }
  @media (max-width: 480px) {
    #MailForm label {
      font-size: 3.8461538462vw;
      padding: 1.2820512821vw;
      letter-spacing: 0.2564102564vw; } }
  @media (max-width: 480px) {
    #MailForm label .mwform-checkbox-field-text {
      font-size: 3.5897435897vw; } }
#MailForm input[type="checkbox"] {
  position: relative;
  width: 20px;
  height: 20px;
  top: 4px; }
  @media (max-width: 480px) {
    #MailForm input[type="checkbox"] {
      width: 5.1282051282vw;
      height: 5.1282051282vw;
      top: 1.0256410256vw; } }
@media (max-width: 480px) {
  #MailForm input[type="radio"] {
    width: 3.8461538462vw; } }
@media (max-width: 480px) {
  #MailForm input[type="submit"],
  #MailForm input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer; } }
@media (max-width: 480px) {
  #MailForm input[type="submit"]::-webkit-search-decoration,
  #MailForm input[type="button"]::-webkit-search-decoration {
    display: none; } }
@media (max-width: 480px) {
  #MailForm input[type="submit"]:focus,
  #MailForm input[type="button"]:focus {
    outline-offset: -2px; } }
#MailForm .form3 {
  vertical-align: middle;
  width: 3%; }
#MailForm .form25 {
  width: 25%; }
  @media (max-width: 480px) {
    #MailForm .form25 {
      width: 100%; } }
#MailForm .form45 {
  width: 45%; }
  @media (max-width: 480px) {
    #MailForm .form45 {
      width: 100%; } }
#MailForm .form60 {
  width: 60%; }
  @media (max-width: 480px) {
    #MailForm .form60 {
      width: 100%; } }
#MailForm .form90 {
  width: 93%; }
  @media (max-width: 480px) {
    #MailForm .form90 {
      width: 100%; } }
#MailForm .focus {
  background: #ffe7e0; }
#MailForm .important_list {
  margin-bottom: 27px;
  font-size: 0.9em; }
  #MailForm .important_list li {
    text-indent: -1.1em;
    padding-left: 1.1em; }
    @media (max-width: 480px) {
      #MailForm .important_list li:first-child {
        margin-bottom: 10px; } }
#MailForm .important_text {
  line-height: 1.4;
  margin-bottom: 27px; }
#MailForm .inquiry_inset {
  max-width: 900px;
  margin: 0 auto 25px;
  background-color: #fff;
  padding: 60px 0;
  border-radius: 15px; }
  @media (max-width: 480px) {
    #MailForm .inquiry_inset {
      padding: 10.2564102564vw 5.1282051282vw;
      border-radius: 2.5641025641vw;
      margin-bottom: 7.6923076923vw; } }
  #MailForm .inquiry_inset .unit-ttl01 {
    display: block;
    text-align: left; }
    @media (max-width: 480px) {
      #MailForm .inquiry_inset .unit-ttl01 {
        text-align: center; } }
    #MailForm .inquiry_inset .unit-ttl01 .main {
      font-size: 2rem; }
      @media (max-width: 480px) {
        #MailForm .inquiry_inset .unit-ttl01 .main {
          font-size: 4.1025641026vw; } }
#MailForm .confirm_txt {
  text-align: center; }
  @media (max-width: 480px) {
    #MailForm .confirm_txt {
      text-align: left; } }

.send_btn_inner {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 20px;
  padding: 30px 0 0; }
  @media (max-width: 480px) {
    .send_btn_inner {
      gap: 5.1282051282vw 7.6923076923vw;
      padding-top: 0; } }
  .send_btn_inner button {
    width: 350px;
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 22px 36px;
    background: #16224f;
    border-radius: 33px;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0;
    color: #fff;
    transition: all 0.3s ease;
    cursor: pointer;
    border: 1px solid #16224f;
    line-height: 1.2;
    transition: 0.3s; }
    @media (max-width: 480px) {
      .send_btn_inner button {
        width: 90%;
        justify-content: center;
        font-size: 3.5897435897vw;
        padding: 5.1282051282vw 10.2564102564vw 5.1282051282vw 5.1282051282vw; }
        .send_btn_inner button::after {
          right: 5.1282051282vw; } }
    .send_btn_inner button::after {
      width: 32px;
      height: 32px;
      background-image: url(../img/icons/arrow-white.svg);
      background-size: contain;
      position: absolute;
      content: "";
      top: 50%;
      right: 20px;
      transition: background-color .7s;
      transform: translate(0, -50%); }
      @media (max-width: 480px) {
        .send_btn_inner button::after {
          width: 5.641025641vw;
          height: 5.641025641vw;
          right: 5.1282051282vw; } }
    .send_btn_inner button.btn_return::after {
      transform: translate(0, -50%) rotate(180deg); }
    @media (min-width: 480px) {
      .send_btn_inner button:hover {
        color: #16224f;
        background: #fff; }
        .send_btn_inner button:hover::after {
          background-image: url(../img/icons/arrow.svg); } }

.inputarea li {
  margin: 0 15px 0 0;
  float: left; }
  @media (max-width: 480px) {
    .inputarea li {
      margin: 0 15px 0 0;
      float: left; } }

#thanks p {
  line-height: 2;
  text-align: center; }

#contents .inquiry-info {
  margin: 0;
  overflow: hidden; }
  #contents .inquiry-info li {
    margin-right: 15px;
    float: left; }

.send_inner .send_step_msg {
  text-align: center;
  margin-bottom: 25px; }
  @media (max-width: 480px) {
    .send_inner .send_step_msg {
      margin-bottom: 3vw;
      padding: 10px 0; } }

.send_guide_msg {
  color: #444;
  text-align: center;
  padding: 0 0 15px; }

.send_inner .send_btn_inner {
  display: flex;
  justify-content: center; }
  @media (max-width: 480px) {
    .send_inner .send_btn_inner {
      display: block; } }

.send_inner .send_btn_inner .send_btn {
  min-height: 62px;
  line-height: 1.4;
  padding-top: 10px 30px;
  color: #fff;
  width: 400px;
  display: block;
  font-size: 1.7rem;
  letter-spacing: 1.5px;
  padding: 15px 47px 16px;
  line-height: 1;
  cursor: pointer;
  outline: none;
  font-family: "Noto Sans JP", sans-serif;
  background: #408636;
  border: 2px solid #408636;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  transition: 0.5s; }
  @media (max-width: 480px) {
    .send_inner .send_btn_inner .send_btn {
      width: 90% !important;
      min-height: 48px;
      margin: 0 auto;
      transition: unset; } }
  .send_inner .send_btn_inner .send_btn:hover {
    color: #408636;
    background: #fff; }
    @media (max-width: 480px) {
      .send_inner .send_btn_inner .send_btn:hover {
        color: #fff;
        background: #408636; } }
  .send_inner .send_btn_inner .send_btn:not(:last-child) {
    margin-right: 50px; }
    @media (max-width: 480px) {
      .send_inner .send_btn_inner .send_btn:not(:last-child) {
        margin: 0 auto 5vw; } }

.send_inner .send_btn_inner .btn_return {
  background: #797979;
  border-color: #797979;
  width: 300px; }
  .send_inner .send_btn_inner .btn_return:hover {
    color: #333333; }
    @media (max-width: 480px) {
      .send_inner .send_btn_inner .btn_return:hover {
        color: #fff;
        background: #797979; } }
  .send_inner .send_btn_inner .btn_return + .btn_run {
    width: 200px; }
  .send_inner .send_btn_inner .btn_return::after {
    transform: translate(0, -50%) rotate(180deg); }

.send_confirm_table {
  padding-bottom: 30px; }
  .send_confirm_table table {
    border-collapse: collapse;
    margin: 0 auto;
    width: 90%; }
    @media (max-width: 480px) {
      .send_confirm_table table {
        width: 100%; } }
    .send_confirm_table table td, .send_confirm_table table th {
      font-weight: normal;
      border: 1px solid #dddddd;
      padding: 25px 40px; }
      @media (max-width: 480px) {
        #contents .send_confirm_table table td,
        #contents .send_confirm_table table th {
          padding: 12px 15px;
          display: block;
          width: 100%; } }
    @media (max-width: 480px) {
      .send_confirm_table table tbody tr {
        display: block; }
        .send_confirm_table table tbody tr:not(:last-child) {
          margin-bottom: 20px; } }
    .send_confirm_table table tbody th {
      text-align: center;
      width: 28%;
      background: #4f9bd7;
      color: #fff;
      font-weight: bold; }
      @media (max-width: 480px) {
        .send_confirm_table table tbody th {
          text-align: left; }
          #contents .send_confirm_table table tbody th {
            padding: 10px 15px; } }
    .send_confirm_table table tbody td {
      background: #fff;
      text-align: left; }
      @media (max-width: 480px) {
        #contents .send_confirm_table table tbody td {
          padding: 10px 15px; } }
      .send_confirm_table table tbody td > a {
        color: #408636 !important; }
        .send_confirm_table table tbody td > a:hover {
          text-decoration: none; }
          @media (max-width: 480px) {
            .send_confirm_table table tbody td > a:hover {
              text-decoration: underline; } }

.send_inner .send_error {
  padding: 0 0 30px;
  display: table;
  margin: 0 auto; }
  @media (max-width: 480px) {
    .send_inner .send_error {
      padding: 0 0 10vw 2vw; } }
  .send_inner .send_error li {
    padding: 5px 0; }
    .send_inner .send_error li:before {
      color: #c2c2c2;
      font-size: 85%;
      font-family: "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
      margin-right: 8px;
      content: "\0025cf"; }
    .send_inner .send_error li span {
      color: #ff3333;
      margin-right: 5px;
      display: inline-block; }

.table_base {
  padding: 0 0 25px; }
  .table_base table {
    border-top: 1px solid #408636;
    width: 100%; }
    @media (max-width: 480px) {
      .table_base table {
        border: 0; } }
    .table_base table td,
    .table_base table th {
      font-weight: normal;
      border-bottom: 1px solid #408636;
      padding: 25px 16px; }
      @media (max-width: 480px) {
        .table_base table td,
        .table_base table th {
          font-weight: normal;
          border: 0;
          padding: 8px;
          display: block; } }
    .table_base table td span.map_jump {
      margin-left: 10px;
      position: relative;
      top: -2px; }
      .table_base table td span.map_jump a {
        color: #fff;
        font-size: 0.9rem;
        text-decoration: none;
        border-radius: 3px;
        padding: 2px 6px;
        background: #408636;
        display: inline-block; }
        .table_base table td span.map_jump a:hover {
          opacity: 0.7; }
          @media (max-width: 480px) {
            .table_base table td span.map_jump a:hover {
              opacity: 1; } }
    .table_base table tbody th {
      font-size: 1.6rem;
      text-align: left;
      width: 28%;
      background: #f3f3f3; }
      @media (max-width: 480px) {
        .table_base table tbody th {
          font-size: 1.4rem;
          color: #333;
          width: 100%; } }
    .table_base table tbody td {
      background-color: #fff;
      padding: 25px 40px; }
      @media (max-width: 480px) {
        .table_base table tbody td {
          padding: 12px; } }
    .table_base table dd {
      border-bottom: 1px dotted #ccc;
      margin-bottom: 10px;
      padding-bottom: 10px; }
      .table_base table dd:last-child {
        margin-bottom: 0;
        padding: 0;
        border: 0; }

.content_inner {
  padding: 10px 0 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media (max-width: 480px) {
    .content_inner {
      padding: 0 0 25px;
      display: block; } }
  .content_inner .images img {
    width: 100%; }
  .content_inner.w_margin410 .images {
    width: 410px; }
    @media (max-width: 480px) {
      .content_inner.w_margin410 .images {
        width: 100%; } }
  .content_inner.w_margin410 .msg {
    width: 570px; }
    @media (max-width: 480px) {
      .content_inner.w_margin410 .msg {
        width: 100%; } }
  .content_inner.w_margin450 .images {
    width: 450px; }
    @media (max-width: 480px) {
      .content_inner.w_margin450 .images {
        width: 100%; } }
  .content_inner.w_margin450 .msg {
    width: 530px; }
    @media (max-width: 480px) {
      .content_inner.w_margin450 .msg {
        width: 100%; } }

/* .image_list */
.image_list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap; }
  .image_list li img {
    width: 100%;
    display: block; }
  .image_list li span {
    padding: 15px 0 0;
    display: block; }
  .image_list.two_image li {
    width: calc(90% / 2); }
    .image_list.two_image li:nth-child(odd) {
      margin-right: 4%; }
  .image_list.three_image li {
    width: calc(90% / 3); }
    .image_list.three_image li:not(:nth-child(3n)) {
      margin-right: 3%; }

.t-center {
  text-align: center; }

.t-right {
  text-align: right; }

@media (max-width: 480px) {
  .sp-t-left {
    text-align: left; } }

.cl-org {
  color: #ec4d00; }

.font-color-g {
  color: #16224f; }

.f-roboto {
  font-family: "Roboto", serif; }

.t-bold {
  font-weight: bold; }

.t-500 {
  font-weight: 500; }

.t-normal {
  font-weight: normal; }

.only_pc {
  display: block; }
  @media (max-width: 480px) {
    .only_pc {
      display: none; } }

.only_sp {
  display: none; }
  @media (max-width: 480px) {
    .only_sp {
      display: block; } }

.inline-b {
  display: inline-block; }

.tel {
  text-decoration: none;
  cursor: inherit;
  pointer-events: none; }
  @media (max-width: 480px) {
    .tel {
      pointer-events: inherit; } }

.fade_hover {
  transition: opacity 0.3s; }
  @media (min-width: 480px) {
    .fade_hover:hover {
      opacity: 0.7; } }

.btn_base {
  margin: 0 auto;
  width: 350px; }
  @media (max-width: 480px) {
    .btn_base {
      width: 90%; } }
  .btn_base.btn_style_inline {
    margin: 0; }
  .btn_base.pt-up {
    padding-top: 50px; }
    @media (max-width: 480px) {
      .btn_base.pt-up {
        padding-top: 10.2564102564vw; } }
  .btn_base.white a {
    border-color: #fff; }
  .btn_base a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 22px 36px;
    background: #16224f;
    border-radius: 33px;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0;
    color: #fff;
    transition: all 0.3s ease;
    cursor: pointer;
    border: 1px solid #16224f;
    line-height: 1.2;
    transition: 0.3s; }
    @media (max-width: 480px) {
      .btn_base a {
        justify-content: center;
        font-size: 3.5897435897vw;
        padding: 5.1282051282vw 10.2564102564vw 5.1282051282vw 5.1282051282vw; }
        .btn_base a::after {
          right: 5.1282051282vw; } }
    .btn_base a::after {
      width: 32px;
      height: 32px;
      background-image: url(../img/icons/arrow-white.svg);
      background-size: contain;
      position: absolute;
      content: "";
      top: 50%;
      right: 20px;
      transition: background-color .7s;
      transform: translate(0, -50%); }
      @media (max-width: 480px) {
        .btn_base a::after {
          width: 5.641025641vw;
          height: 5.641025641vw;
          right: 5.1282051282vw; } }
    @media (min-width: 480px) {
      .btn_base a:hover {
        color: #16224f;
        background: #fff; }
        .btn_base a:hover::after {
          background-image: url(../img/icons/arrow.svg); } }

.everywhere_block {
  line-height: 2.2;
  margin: 0 auto 50px;
  max-width: 1340px; }
  @media (max-width: 480px) {
    .everywhere_block {
      text-align: left;
      line-height: 1.8;
      margin: 0 auto 30px;
      padding: 0 20px;
      max-width: 100%; } }

.ttl01 {
  display: flex;
  flex-direction: column;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  font-style: normal;
  gap: 15px 0;
  color: #16224f;
  margin-bottom: 50px;
  line-height: 1; }
  @media (max-width: 480px) {
    .ttl01 {
      gap: 3.8461538462vw;
      margin-bottom: 7.6923076923vw; } }
  .ttl01 .ttl01__en {
    font-size: 5.5rem;
    letter-spacing: 6px; }
    @media (max-width: 480px) {
      .ttl01 .ttl01__en {
        font-size: 10vw;
        letter-spacing: 0.7692307692vw; } }
  .ttl01 .ttl01__jp {
    font-size: 2.5rem;
    font-weight: 700; }
    @media (max-width: 480px) {
      .ttl01 .ttl01__jp {
        font-size: 4.6153846154vw; } }

.ttl02 {
  display: flex;
  flex-direction: column;
  font-family: "Zen Maru Gothic", sans-serif;
  align-items: center;
  font-weight: 900;
  font-style: normal;
  gap: 15px 0;
  color: #16224f;
  margin-bottom: 70px;
  line-height: 1; }
  @media (max-width: 480px) {
    .ttl02 {
      gap: 3.8461538462vw;
      margin-bottom: 12.8205128205vw; } }
  .ttl02 .ttl02__jp {
    font-size: 3.5rem;
    font-weight: 700; }
    @media (max-width: 480px) {
      .ttl02 .ttl02__jp {
        font-size: 5.8974358974vw; } }

.bnr-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px 50px;
  padding: 80px 0 20px;
  background-color: #fff; }
  @media (max-width: 480px) {
    .bnr-block {
      gap: 5.1282051282vw 0;
      flex-direction: column;
      align-items: center;
      padding: 15.3846153846vw 0 2.5641025641vw; } }
  .bnr-block .bnr-block__item {
    width: 470px; }
    @media (max-width: 480px) {
      .bnr-block .bnr-block__item {
        width: 84.6153846154vw; } }
  .bnr-block .bnr-block__link {
    display: block;
    transition: opacity 0.3s; }
    @media (min-width: 480px) {
      .bnr-block .bnr-block__link:hover {
        opacity: 0.7; } }

.section-header {
  position: relative;
  margin-bottom: 60px; }
  @media (max-width: 480px) {
    .section-header {
      margin-bottom: 2.5641025641vw; } }

.section-title-en {
  font-family: "Oswald", sans-serif;
  font-size: 8.6rem;
  font-weight: 700;
  letter-spacing: 6.88px;
  color: #fff;
  line-height: 1;
  margin-bottom: 20px; }
  @media (max-width: 480px) {
    .section-title-en {
      font-size: 10.2564102564vw;
      letter-spacing: 0.7692307692vw;
      margin-bottom: 2.5641025641vw; } }
  .section-title-en.white {
    color: #e50810 !important; }

.section-line {
  position: absolute;
  width: 0;
  height: 2px;
  background: #c9161d;
  margin-bottom: 20px;
  left: -70px;
  top: 45px;
  transform: translateX(-260px) !important;
  transition: width 1s ease-out !important; }
  @media (max-width: 480px) {
    .section-line {
      position: unset;
      display: none;
      width: 41.0256410256vw;
      margin-bottom: 2.5641025641vw; } }
  .section-line.white {
    background: #fff; }
  .section-line.animate {
    opacity: 1; }
  .section-line.effect {
    width: 260px; }

.section-subtitle-jp {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 1.76px;
  color: #16224f; }
  @media (max-width: 480px) {
    .section-subtitle-jp {
      font-size: 4.1025641026vw;
      letter-spacing: 0.2564102564vw; } }
  .section-subtitle-jp.white {
    color: #fff; }

.top-contact {
  position: relative;
  max-width: 1560px;
  margin: 0 auto;
  padding: 0;
  margin-bottom: -150px;
  background-color: #fff;
  color: #fff;
  overflow: hidden;
  z-index: 10; }
  @media (max-width: 480px) {
    .top-contact {
      max-width: calc(100% - 7.6923076923vw);
      padding: 0;
      margin-bottom: -25.641025641vw; } }
  .top-contact .link-block {
    display: block;
    padding: 80px 0 40px; }
    @media (max-width: 480px) {
      .top-contact .link-block {
        padding: 12.8205128205vw 0 5.1282051282vw; } }
    @media (min-width: 480px) {
      .top-contact .link-block:hover .contact-bg {
        opacity: 0.8; } }
  .top-contact .top-sec__in {
    position: relative;
    max-width: 1300px;
    margin: 0 auto;
    z-index: 10;
    padding: 0 20px; }
    @media (max-width: 480px) {
      .top-contact .top-sec__in {
        padding: 0 5.1282051282vw; } }
  .top-contact .section-header {
    margin-bottom: 20px; }
    @media (max-width: 480px) {
      .top-contact .section-header {
        margin-bottom: 5.1282051282vw; } }
  .top-contact .section-title-en {
    color: #fff; }

.contact-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease; }
  .contact-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.contact-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(22, 34, 79, 0.8); }

.contact-content {
  position: relative;
  z-index: 10; }

.contact-description {
  font-size: 1.6rem;
  line-height: 2.06;
  letter-spacing: 1.28px; }
  @media (max-width: 480px) {
    .contact-description {
      font-size: 3.5897435897vw;
      letter-spacing: 0.1282051282vw;
      max-width: 100%; } }

.contact-icon {
  position: absolute;
  right: 100px;
  top: 50%;
  width: 74px;
  height: 81px;
  transform: translateY(-50%); }
  @media (max-width: 480px) {
    .contact-icon {
      right: 2.5641025641vw;
      width: 10.2564102564vw;
      height: 10.2564102564vw; } }

.scroll-top {
  position: absolute;
  bottom: 79px;
  right: 31px;
  width: 69px;
  height: 69px;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: transform 0.3s ease;
  z-index: 20; }
  @media (max-width: 480px) {
    .scroll-top {
      width: 12.8205128205vw;
      height: 12.8205128205vw;
      bottom: 5.1282051282vw;
      right: 5.1282051282vw; } }
  @media (min-width: 480px) {
    .scroll-top:hover {
      transform: translateY(-5px); } }
