@charset "UTF-8";
html {
  height: 100%;
  font-size: 3.5vw; }
  @media (min-width: 500px) {
    html {
      font-size: 1.875vw; } }
  @media (min-width: 769px) {
    html {
      font-size: clamp(15px, 1.46vw, 14px); } }
  @media (min-width: 1025px) {
    html {
      font-size: clamp(16px, 1.25vw, 14px); } }
  @media (min-width: 1367px) {
    html {
      font-size: 100%; } }

body {
  font-size: 1rem;
  font-family: uddigikyokasho-pro, sans-serif;
  line-height: 2;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  color: #625145;
  font-weight: 400; }

main {
  position: relative; }
  @media (max-width: 768px) {
    main {
      overflow: hidden; } }

.svg_icons {
  display: none; }

a:link, a:visited {
  text-decoration: none;
  transition: color .3s;
  color: #625145; }

a:hover {
  color: #EAA24D; }

.en {
  font-family: le-monde-sans-std-2, sans-serif; }

.min {
  font-family: uddigikyokasho-pro, sans-serif; }

* + .btn_viewmore {
  margin-top: 2.5rem; }

.btn_more {
  background: #71C47D;
  width: 100%;
  height: 15.38vw;
  border-radius: 7.69vw;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  color: #FFF !important;
  overflow: hidden;
  font-size: 1.285em; }
  @media (min-width: 769px) {
    .btn_more {
      height: 64px;
      border-radius: 32px;
      max-width: 320px;
      font-size: 20px; } }
  .btn_more .link_arrow {
    width: 1.28vw;
    height: auto;
    aspect-ratio: 511/900;
    fill: #FFF;
    position: absolute;
    right: 6vw;
    top: 50%;
    transform: translateY(-50%);
    transition: right .5s ease; }
    @media (min-width: 769px) {
      .btn_more .link_arrow {
        width: 9px;
        right: 28px; } }

.btn_more.btn_cta {
  background: #EAA24D; }
  .btn_more.btn_cta:hover {
    background: #E69A41; }

@media (min-width: 769px) {
  .btn_more.btn_small {
    height: 42px;
    max-width: 180px;
    font-size: 16px; } }
@media (min-width: 769px) {
  .btn_more.btn_small .link_arrow {
    width: 6px;
    right: 20px; } }

.btn_more:hover {
  color: #FFF; }
  .btn_more:hover .link_arrow {
    right: 5vw; }
    @media (min-width: 769px) {
      .btn_more:hover .link_arrow {
        right: 20px; } }

@media (min-width: 769px) {
  .btn_more.btn_small:hover .link_arrow {
    right: 16px; } }

.section {
  padding: 0; }
  .section .section-inner {
    width: 100%;
    padding: 0 7.8125%; }
    @media (min-width: 769px) {
      .section .section-inner {
        width: 100%;
        padding: 0;
        margin-left: auto;
        margin-right: auto; } }
    @media (min-width: 1025px) {
      .section .section-inner {
        width: 89%;
        padding: 0 7.8125%; } }

.section_full {
  padding: 0; }

figure img {
  width: 100%; }

.glay-section {
  background: #FAFAEE; }

ul.dot li {
  position: relative;
  font-size: 1em;
  padding-left: 1em;
  text-indent: -0.9em;
  letter-spacing: 0.05em;
  margin-bottom: 1em;
  line-height: 2; }

ul.dot > li:last-child {
  margin-bottom: 0; }

ul.dot li:before {
  content: "";
  background: #EAA24D;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  margin: auto 6px auto 0;
  display: inline-block; }

ul.dash li {
  position: relative;
  padding-left: 1em;
  text-indent: -1em; }

ul.dash li:before {
  content: "- "; }

ol.list {
  margin-left: 2em; }
  ol.list li {
    list-style: decimal;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; }

.table-list dl {
  display: flex;
  flex-flow: wrap;
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  padding-bottom: 1em;
  border-bottom: 1px solid #D9D9D9; }
  .table-list dl dt {
    width: 100%;
    text-align: left;
    font-weight: 600; }
    @media (min-width: 769px) {
      .table-list dl dt {
        width: 30%; } }
  .table-list dl dd {
    width: 100%; }
    @media (min-width: 769px) {
      .table-list dl dd {
        width: 70%; } }
.table-list dl + dl {
  margin-top: 1em; }

p.cap, .cap {
  font-size: 0.8333333em;
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; }

h2, h3, h4 {
  font-family: uddigikyokasho-pro, sans-serif; }

.tit-box {
  position: relative; }
  .tit-box h2 {
    font-size: 6.15vw; }
    @media (min-width: 500px) {
      .tit-box h2 {
        font-size: 4.8vw; } }
    @media (min-width: 769px) {
      .tit-box h2 {
        font-size: 32px; } }

.mt-xs {
  margin-top: 0.75rem; }

.mt-s {
  margin-top: 1rem; }

.mt-m {
  margin-top: 1.5rem; }

.mt-l {
  margin-top: 2rem; }

.mt-xl {
  margin-top: 4rem; }

.indent {
  text-indent: -1em;
  padding-left: 1em; }

@media (max-width: 1024px) {
  .tabcut {
    display: none; } }
@media (max-width: 768px) {
  .spcut {
    display: none; } }
@media (min-width: 769px) {
  .pccut {
    display: none; } }
/*--------------------
loading
---------------------*/
#splash {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #FAFAEE;
  z-index: 9999;
  text-align: center;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center; }
  #splash #splash-logo {
    width: 240px;
    height: 240px;
    animation: fuwafuwa 2s infinite ease-in-out .8s alternate; }

@keyframes fuwafuwa {
  0% {
    transform: translate(0, 0); }
  50% {
    transform: translate(0, -10px); }
  100% {
    transform: translate(0, 0); } }
/*--------------------
 header
---------------------*/
.common_header {
  position: sticky;
  z-index: 1000;
  width: 100%;
  left: 0;
  top: 0; }
  .common_header .common_header__inner {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    background-color: #FFF;
    height: 15.38vw; }
    @media (min-width: 769px) {
      .common_header .common_header__inner {
        height: 120px;
        padding-right: 3.88%; } }
    .common_header .common_header__inner table.header_keyword {
      position: absolute;
      left: 98px;
      top: 0; }
      .common_header .common_header__inner table.header_keyword td {
        padding-top: 10px;
        color: #C0C0C0;
        font-size: xx-small; }
    .common_header .common_header__inner .common_header__logo {
      width: 72.6vw;
      max-width: 400px;
      height: auto;
      aspect-ratio: 113/24;
      margin-left: 1.1%; }
      @media (min-width: 769px) {
        .common_header .common_header__inner .common_header__logo {
          width: 41.3%; } }
      .common_header .common_header__inner .common_header__logo img {
        width: 100%;
        height: auto; }
    @media (min-width: 769px) {
      .common_header .common_header__inner .common_header__info {
        display: flex;
        flex-flow: column;
        align-items: flex-end; }
        .common_header .common_header__inner .common_header__info .common_header_snav {
          width: 100%;
          margin-bottom: 5px; }
          .common_header .common_header__inner .common_header__info .common_header_snav .snav-menu {
            display: flex;
            justify-content: flex-end; }
            .common_header .common_header__inner .common_header__info .common_header_snav .snav-menu li {
              margin-left: 1em;
              font-family: uddigikyokasho-pro, sans-serif;
              font-size: 0.8em;
              position: relative; } }
        @media (min-width: 769px) and (min-width: 1025px) {
          .common_header .common_header__inner .common_header__info .common_header_snav .snav-menu li {
            font-size: 0.88888em; } }
    @media (min-width: 769px) {
              .common_header .common_header__inner .common_header__info .common_header_snav .snav-menu li a {
                padding-left: 1.2em;
                color: #625145; }
              .common_header .common_header__inner .common_header__info .common_header_snav .snav-menu li a:hover {
                color: #EAA24D; }
              .common_header .common_header__inner .common_header__info .common_header_snav .snav-menu li a::before {
                content: "";
                width: 1em;
                height: 1em;
                display: block;
                position: absolute;
                left: 0;
                top: 50%;
                transform: translateY(-50%); }
              .common_header .common_header__inner .common_header__info .common_header_snav .snav-menu li .tel_txt {
                padding-left: 0; }
            .common_header .common_header__inner .common_header__info .common_header_snav .snav-menu li.qa a::before {
              background: url("../img/common/ico_qa.svg") center no-repeat;
              background-size: contain; }
            .common_header .common_header__inner .common_header__info .common_header_snav .snav-menu li.access a::before {
              background: url("../img/common/ico_access.svg") center no-repeat;
              background-size: contain; }
            .common_header .common_header__inner .common_header__info .common_header_snav .snav-menu li.sitemap a::before {
              background: url("../img/common/ico_sitemap.svg") center no-repeat;
              background-size: contain; }
        .common_header .common_header__inner .common_header__info .common_header_snav + .is-flex {
          justify-content: flex-end;
          align-items: center; }
          .common_header .common_header__inner .common_header__info .common_header_snav + .is-flex .btn_mail {
            background: #EAA24D;
            height: 40px;
            padding: 0 40px 0 44px;
            line-height: 40px;
            border-radius: 10px;
            color: #FFF;
            position: relative;
            font-size: 0.9em; } }
      @media (min-width: 769px) and (min-width: 1025px) {
        .common_header .common_header__inner .common_header__info .common_header_snav + .is-flex .btn_mail {
          height: 48px;
          line-height: 48px;
          font-size: 1em; } }
    @media (min-width: 769px) {
            .common_header .common_header__inner .common_header__info .common_header_snav + .is-flex .btn_mail .icon_mail {
              width: 20px;
              height: auto;
              position: relative;
              top: 2px;
              fill: #FFF;
              display: inline-block;
              aspect-ratio: 7/6; }
            .common_header .common_header__inner .common_header__info .common_header_snav + .is-flex .btn_mail:hover {
              background: #E69A41; }
          .common_header .common_header__inner .common_header__info .common_header_snav + .is-flex .tel_txt {
            font-size: 2.2222em;
            font-family: le-monde-sans-std-2, sans-serif;
            font-style: normal;
            font-weight: 400;
            color: #625145;
            margin-right: 0.5em;
            letter-spacing: 0.05em; }
            .common_header .common_header__inner .common_header__info .common_header_snav + .is-flex .tel_txt small {
              font-size: 0.6em; } }
  .common_header .h-menu_box {
    position: fixed;
    right: 0;
    top: 0;
    width: 19.2vw;
    height: 15.38vw;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    z-index: 1001; }
    .common_header .h-menu_box span {
      background: #625145;
      width: 10.25vw;
      height: 1px;
      transition: .5s; }
    .common_header .h-menu_box span:nth-of-type(2) {
      margin: 3.46vw 0; }
  .common_header .h-menu_box.nav_close span:nth-of-type(1) {
    position: absolute;
    top: 50%;
    left: calc(50% - 5.125vw);
    transform: rotate(45deg); }
  .common_header .h-menu_box.nav_close span:nth-of-type(3) {
    position: absolute;
    bottom: calc(50% - 1.5px);
    left: calc(50% - 5.125vw);
    transform: rotate(-45deg); }
  .common_header .h-menu_box.nav_close span:nth-of-type(2) {
    opacity: 0; }

.common_header_nav {
  display: flex;
  width: 100%;
  justify-content: center; }
  .common_header_nav .gnav-menu {
    width: 100%;
    justify-content: center;
    height: 100%;
    position: relative; }
    .common_header_nav .gnav-menu li {
      margin: 0;
      padding: 0;
      font-family: uddigikyokasho-pro, sans-serif;
      font-size: 18px; }
      @media (min-width: 768px) {
        .common_header_nav .gnav-menu li {
          font-size: 16px; } }
      .common_header_nav .gnav-menu li a {
        padding: 1rem 0.75rem;
        display: block;
        color: #625145;
        position: relative; }
        @media (min-width: 1025px) {
          .common_header_nav .gnav-menu li a {
            padding: 1rem; } }
      .common_header_nav .gnav-menu li ul {
        display: block; }
  .common_header_nav .gnav-menu > li > a:before {
    background: #EAA24D;
    content: "";
    width: 100%;
    margin: 0 auto;
    height: 1px;
    position: absolute;
    bottom: 10%;
    left: 0;
    transform: scale(0);
    transition: .5s ease-in; }
  .common_header_nav .gnav-menu > li > a:hover:before {
    transform: scale(1); }
  .common_header_nav .gnav-menu > li > a.current {
    color: #EAA24D;
    position: relative; }
  .common_header_nav .gnav-menu > li > a.current:before {
    background: #EAA24D;
    content: "";
    width: 100%;
    margin: 0 auto;
    height: 1px;
    position: absolute;
    bottom: 10%;
    transform: scale(1); }
  .common_header_nav .gnav-menu li a {
    color: #625145; }
  .common_header_nav .gnav-menu li.navbar-item.has-child {
    align-items: center; }
  .common_header_nav .h-menu_box.nav_close {
    height: 90px;
    border-left: none;
    z-index: 1001;
    transition: background 1s; }

@media (min-width: 769px) {
  .nav_open .common_header_nav .gnav-menu li, .nav_open .common_header_nav .gnav-menu li a {
    pointer-events: none; } }
.nav_open .common_header_nav .h-gnav + .common_header .common_header__inner .h-menu_box > span {
  color: #FFF; }
.nav_open .common_header_nav .h-gnav + .common_header .common_header__inner .h-menu_box > div > span {
  background: #FFF; }
.nav_open .common_header_nav .h-gnav + .common_header .common_header__inner .common_header_nav .gnav-menu li a {
  opacity: 0; }

.navbar-link:not(.is-arrowless)::after {
  display: none; }

/**ドロップダウン*/
.drop-on .overraybg {
  opacity: .5;
  transition: .5s;
  z-index: 900; }

.gnav-menu li.has-child .navbar-dropdown {
  position: absolute;
  left: 0;
  top: 90%;
  background: #FAFAEE;
  display: flex;
  justify-content: center;
  border-radius: 0;
  box-shadow: none;
  border: none;
  transition: .5s;
  visibility: hidden;
  opacity: 0;
  width: 100%; }
  .gnav-menu li.has-child .navbar-dropdown li {
    width: auto;
    padding: 20px;
    margin: 0 1em; }

.gnav-menu li.has-child:hover > .navbar-dropdown {
  visibility: visible;
  opacity: 1;
  z-index: 4; }

.gnav-menu li.has-child .navbar-dropdown li a {
  color: #625145;
  font-size: 0.9em;
  display: flex;
  width: 100%;
  height: 48px;
  align-items: center;
  padding-left: 1em; }

.gnav-menu li.has-child .navbar-dropdown li a:after {
  content: "";
  position: absolute;
  left: 0;
  width: 5.11px;
  height: 9px;
  background: url("../img/common/arrow_or.svg") left center no-repeat; }

.gnav-menu li.has-child .navbar-dropdown li a:hover {
  color: #EAA24D; }

/**ハンバーガーメニュークリック時**/
.h-gnav {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 1000;
  transition: 1s;
  transform: translateY(-100vh);
  background: #FAFAEE;
  overflow: scroll;
  padding-top: 90px;
  visibility: hidden; }
  @media (min-width: 769px) {
    .h-gnav {
      display: none; } }
  .h-gnav .global_navigation {
    padding: 40px 0 0;
    transition: all .3s ease;
    height: 100vh; }
  .h-gnav .global_navigation__inner {
    position: relative;
    width: 88%;
    height: 100%;
    margin: 0 auto;
    display: flex;
    flex-flow: column;
    padding: 0; }
    .h-gnav .global_navigation__inner .global_navigation__top .global_navigation__content {
      display: flex;
      flex-flow: wrap;
      align-items: flex-start;
      justify-content: flex-start; }
      .h-gnav .global_navigation__inner .global_navigation__top .global_navigation__content .global_navigation__label {
        width: 100%;
        margin-bottom: 1rem; }
        .h-gnav .global_navigation__inner .global_navigation__top .global_navigation__content .global_navigation__label dt {
          font-size: 1.1rem;
          display: flex;
          justify-content: space-between;
          align-items: center; }
          .h-gnav .global_navigation__inner .global_navigation__top .global_navigation__content .global_navigation__label dt i {
            width: 1em;
            position: relative; }
            .h-gnav .global_navigation__inner .global_navigation__top .global_navigation__content .global_navigation__label dt i span {
              display: flex;
              justify-content: center;
              align-items: center;
              width: 1em;
              height: 1px;
              background: #625145; }
              .h-gnav .global_navigation__inner .global_navigation__top .global_navigation__content .global_navigation__label dt i span::after {
                content: "";
                width: 1px;
                height: 1em;
                background: #625145;
                position: relative;
                left: 0;
                top: 0;
                display: block;
                transition: .3s; }
          .h-gnav .global_navigation__inner .global_navigation__top .global_navigation__content .global_navigation__label dt i.open span::after {
            display: none; }
        .h-gnav .global_navigation__inner .global_navigation__top .global_navigation__content .global_navigation__label dd {
          display: none;
          padding-left: 1em;
          padding-bottom: 0.5em; }
        .h-gnav .global_navigation__inner .global_navigation__top .global_navigation__content .global_navigation__label ul > li {
          font-size: 1.0rem;
          margin-top: 0.5em;
          line-height: 20px; }
        .h-gnav .global_navigation__inner .global_navigation__top .global_navigation__content .global_navigation__label a {
          color: #625145; }

.nav_open .h-gnav {
  transform: translateY(0);
  visibility: visible; }

.h-gnav::-webkit-scrollbar {
  display: none; }

body.nav_open {
  overflow: hidden;
  height: 100vh; }

html.is-fixed {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0; }
  html.is-fixed .h-gnav {
    overflow-y: scroll !important;
    height: 100%;
    -webkit-overflow-scrolling: touch; }

/***************************
  footer
******************************/
footer.footer {
  position: relative;
  background: #FFFFFF;
  padding: 3rem 0 0; }
  @media (max-width: 1024px) {
    footer.footer .section-inner {
      padding: 0 7.8125%; } }
  footer.footer .f_logo {
    padding-bottom: 1rem; }
    @media (min-width: 1025px) {
      footer.footer .f_logo {
        max-width: 700px; } }
  footer.footer .is-flex {
    flex-flow: wrap; }
    @media (min-width: 1025px) {
      footer.footer .is-flex {
        justify-content: space-between; } }
    footer.footer .is-flex .txtBox {
      width: 100%; }
      @media (min-width: 1025px) {
        footer.footer .is-flex .txtBox {
          width: 45%; } }
      @media (min-width: 1280px) {
        footer.footer .is-flex .txtBox {
          width: 37%; } }
      footer.footer .is-flex .txtBox p {
        font-size: 0.85em; }
      footer.footer .is-flex .txtBox .tel {
        font-family: le-monde-sans-std-2, sans-serif;
        font-size: 1.14em;
        letter-spacing: 0.07em;
        line-height: 1.2;
        display: flex; }
        @media (min-width: 1025px) {
          footer.footer .is-flex .txtBox .tel {
            justify-content: space-between; } }
        footer.footer .is-flex .txtBox .tel a {
          color: #625145; }
        footer.footer .is-flex .txtBox .tel .btn_footer.btn_pdf {
          background: #71C47D;
          display: flex;
          border-radius: 10px;
          height: auto;
          width: auto;
          color: #FFF;
          align-items: center;
          margin: 0 0 0 1em;
          padding: 0.5rem 1rem; }
          @media (max-width: 1024px) {
            footer.footer .is-flex .txtBox .tel .btn_footer.btn_pdf {
              width: 50%;
              justify-content: center;
              top: -0.5em;
              position: relative;
              margin: 0 0 0 auto; } }
          @media (max-width: 500px) {
            footer.footer .is-flex .txtBox .tel .btn_footer.btn_pdf {
              top: 0; } }
          footer.footer .is-flex .txtBox .tel .btn_footer.btn_pdf svg {
            fill: #FFFFFF;
            width: 1.0em;
            height: auto;
            aspect-ratio: 40/43; }
          footer.footer .is-flex .txtBox .tel .btn_footer.btn_pdf span {
            margin-left: 1em;
            font-size: 0.7em; }
            @media (min-width: 1025px) {
              footer.footer .is-flex .txtBox .tel .btn_footer.btn_pdf span {
                font-size: 0.9em; } }
        footer.footer .is-flex .txtBox .tel .btn_footer.btn_pdf.comming {
          pointer-events: none;
          position: relative; }
          footer.footer .is-flex .txtBox .tel .btn_footer.btn_pdf.comming::after {
            content: "パンフレットCOMING SOON";
            position: absolute;
            width: 100%;
            height: 100%;
            background-color: #71C47D;
            left: 0;
            top: 0;
            font-size: 0.5em;
            letter-spacing: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 10px; }
      footer.footer .is-flex .txtBox .cap {
        font-size: 0.85em;
        margin-top: 1em;
        color: #625145;
        line-height: 1.4; }
      footer.footer .is-flex .txtBox .btn_footer.btn_mail {
        display: flex;
        border-radius: 10px;
        height: auto;
        width: 100%;
        margin-top: 0.75rem;
        color: #FFF;
        align-items: center;
        justify-content: center;
        padding: 0.5rem 1rem;
        background: #EAA24D; }
        footer.footer .is-flex .txtBox .btn_footer.btn_mail svg {
          fill: #FFFFFF;
          width: 1.5em;
          height: auto;
          aspect-ratio: 40/43; }
        footer.footer .is-flex .txtBox .btn_footer.btn_mail span {
          font-size: 1.25em;
          margin-left: 0.5em; }
          @media (min-width: 769px) {
            footer.footer .is-flex .txtBox .btn_footer.btn_mail span {
              font-size: 1.5em; } }
    footer.footer .is-flex .tableBox {
      margin-top: 2rem;
      width: 100%; }
      @media (min-width: 1025px) {
        footer.footer .is-flex .tableBox {
          width: 50%;
          margin-top: 8px; } }
      @media (min-width: 1280px) {
        footer.footer .is-flex .tableBox {
          width: 56%; } }
      footer.footer .is-flex .tableBox table {
        width: 100%;
        border-top: 1px #EAA24D solid;
        font-size: 0.8em; }
        @media (min-width: 1025px) {
          footer.footer .is-flex .tableBox table {
            font-size: 15px; } }
        footer.footer .is-flex .tableBox table th {
          padding: 0.5rem;
          color: #EAA24D;
          font-weight: 400;
          border-bottom: 1px #EAA24D solid;
          text-align: center; }
          @media (min-width: 1025px) {
            footer.footer .is-flex .tableBox table th {
              padding: 10px; } }
        footer.footer .is-flex .tableBox table td {
          padding: 0.5rem;
          border-bottom: 1px #EAA24D solid;
          text-align: center; }
          @media (min-width: 1025px) {
            footer.footer .is-flex .tableBox table td {
              padding: 10px; } }
        footer.footer .is-flex .tableBox table tr > *:nth-of-type(1) {
          text-align: left; }
  footer.footer .map {
    margin-top: 2rem;
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 64/40;
    z-index: 2; }
    @media (min-width: 1025px) {
      footer.footer .map {
        margin-top: 64px;
        aspect-ratio: 1080/320; } }
    footer.footer .map iframe {
      width: 100%;
      height: 100%; }
      @media (min-width: 1025px) {
        footer.footer .map iframe {
          aspect-ratio: 1080/320; } }
    footer.footer .map .map_btn-box {
      display: block;
      text-align: center; }
      @media (min-width: 1025px) {
        footer.footer .map .map_btn-box {
          position: absolute;
          right: 40px;
          bottom: 20px;
          width: 160px;
          height: 48px;
          z-index: 2; } }
      footer.footer .map .map_btn-box .btn_map {
        margin-top: 2rem;
        color: #FFFFFF;
        height: auto;
        max-width: 320px;
        margin-left: auto;
        margin-right: auto; }
        @media (max-width: 500px) {
          footer.footer .map .map_btn-box .btn_map {
            aspect-ratio: 160/24; } }
        @media (min-width: 501px) {
          footer.footer .map .map_btn-box .btn_map {
            aspect-ratio: 160/32; } }
        @media (min-width: 1025px) {
          footer.footer .map .map_btn-box .btn_map {
            margin-top: 0;
            border-radius: 24px;
            font-size: 18px;
            position: relative;
            width: 100%;
            height: 48px; } }
        footer.footer .map .map_btn-box .btn_map .link_arrow {
          fill: #FFFFFF;
          width: 10.65px;
          height: 20px;
          transition: .3s; }
          @media (min-width: 1025px) {
            footer.footer .map .map_btn-box .btn_map .link_arrow {
              width: 6px;
              right: 20px; } }
        footer.footer .map .map_btn-box .btn_map:hover .link_arrow {
          right: 12px; }
  footer.footer .section__footer_nav {
    position: relative;
    display: flex;
    flex-flow: column; }
    footer.footer .section__footer_nav .bg_footer {
      order: 3;
      width: 100%; }
      @media (min-width: 1025px) {
        footer.footer .section__footer_nav .bg_footer {
          position: relative;
          order: 2;
          z-index: 0;
          max-width: 1400px;
          margin: 0 auto; } }
    footer.footer .section__footer_nav .section-inner {
      order: 1; }
      footer.footer .section__footer_nav .section-inner .f_sitemap {
        margin: 2rem 0;
        padding-top: 2rem;
        border-top: 1px solid #D9D9D9;
        position: relative;
        z-index: 2; }
        @media (min-width: 1025px) {
          footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf {
            display: flex;
            justify-content: center;
            flex-flow: wrap; } }
        footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li {
          font-size: 0.85em;
          margin: 0 1em;
          white-space: nowrap; }
          footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li a {
            width: calc(100% - 1em);
            padding: 0.5rem 0;
            color: #625145; }
            @media (min-width: 1025px) {
              footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li a {
                width: 100%;
                padding: 0.25rem 0; } }
            footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li a:hover {
              color: #EAA24D; }
          footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li dl dt {
            display: flex;
            align-items: center;
            width: 100%; }
            footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li dl dt a {
              width: calc(100% - 1em);
              padding: 0.5rem 0; }
              @media (min-width: 1025px) {
                footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li dl dt a {
                  width: 100%;
                  padding: 0.25rem 0; } }
            footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li dl dt i {
              width: 1em;
              position: relative; }
              @media (min-width: 1025px) {
                footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li dl dt i {
                  display: none; } }
              footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li dl dt i span {
                display: flex;
                justify-content: center;
                align-items: center;
                width: 1em;
                height: 1px;
                background: #625145; }
                footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li dl dt i span::after {
                  content: "";
                  width: 1px;
                  height: 1em;
                  background: #625145;
                  position: relative;
                  left: 0.5px;
                  top: 0;
                  display: block; }
            footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li dl dt i.open span:after {
              opacity: 0;
              transition: .3s; }
          footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li dl dd {
            display: none; }
            @media (min-width: 1025px) {
              footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li dl dd {
                display: block; } }
            footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li dl dd ul li a {
              padding: 0.25rem 0; }
          footer.footer .section__footer_nav .section-inner .f_sitemap ul.cf li dl a {
            display: block;
            color: #625145; }
    footer.footer .section__footer_nav .copy {
      order: 2;
      position: relative;
      z-index: 2; }
      @media (min-width: 1025px) {
        footer.footer .section__footer_nav .copy {
          order: 3;
          top: -2rem;
          margin-bottom: -2rem; } }
      footer.footer .section__footer_nav .copy p {
        text-align: center;
        font-size: 0.75em;
        font-family: le-monde-sans-std-2, sans-serif; }

.toTop {
  position: fixed;
  right: 4%;
  bottom: 40px;
  z-index: 100; }
  .toTop #totopBtn {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center; }
    .toTop #totopBtn svg {
      width: 34px;
      height: 34px;
      transition: transform .5s; }
    .toTop #totopBtn span {
      font-size: 12px;
      color: #625145; }
    .toTop #totopBtn:hover svg {
      transform: translateY(-10px); }

/***********************************
	第二階層以降
****************************************/
.hero {
  width: 100%;
  position: relative;
  z-index: 2; }
  .hero .hero-wrapper {
    height: 200px; }
    @media (min-width: 768px) {
      .hero .hero-wrapper {
        height: 240px; } }
    @media (min-width: 1025px) {
      .hero .hero-wrapper {
        height: 370px; } }
    .hero .hero-wrapper .hero-inner {
      width: 84.375%;
      margin: 0 auto;
      display: flex;
      align-items: center;
      height: 100%; }
      @media (min-width: 1367px) {
        .hero .hero-wrapper .hero-inner {
          max-width: 1400px; } }
      .hero .hero-wrapper .hero-inner .hero-tit h2 {
        line-height: 1.4; }
        .hero .hero-wrapper .hero-inner .hero-tit h2 span {
          display: block; }
        .hero .hero-wrapper .hero-inner .hero-tit h2 .ja {
          font-size: 2.0em; }
          @media (min-width: 768px) {
            .hero .hero-wrapper .hero-inner .hero-tit h2 .ja {
              font-size: 2.4em; } }
          @media (min-width: 1025px) {
            .hero .hero-wrapper .hero-inner .hero-tit h2 .ja {
              font-size: 2.8125em; } }
        .hero .hero-wrapper .hero-inner .hero-tit h2 .en {
          font-size: 0.9375em;
          font-family: le-monde-sans-std-2, sans-serif;
          text-indent: 0.25em;
          margin-top: 1.5em; }
  .hero .hero-img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 40%;
    z-index: -1; }
    @media (min-width: 768px) {
      .hero .hero-img {
        right: 4%;
        top: 0;
        bottom: auto; } }
    @media (min-width: 1025px) {
      .hero .hero-img {
        right: 4%; } }
    .hero .hero-img img {
      width: 100%; }

.s-h2 h2 {
  display: flex;
  flex-flow: column;
  line-height: 1.4; }
  .s-h2 h2 small {
    font-size: 1.0em;
    text-indent: 0.25em;
    margin-bottom: 0.5em; }
    @media (min-width: 768px) {
      .s-h2 h2 small {
        font-size: 1.25em; } }
  .s-h2 h2 .ja {
    font-size: 2.0em; }
    @media (min-width: 768px) {
      .s-h2 h2 .ja {
        font-size: 2.25em; } }

.s-h3 {
  position: relative;
  padding-left: 36px;
  font-size: 1.5em; }
  @media (min-width: 768px) {
    .s-h3 {
      font-size: 1.875em;
      padding-left: 56px; } }
  @media (min-width: 1367px) {
    .s-h3 {
      font-size: 30px; } }
  .s-h3::before {
    width: 28px;
    height: 1px;
    background: #625145;
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 8px; }
    @media (min-width: 768px) {
      .s-h3::before {
        width: 48px; } }

h3.tit-news {
  margin-bottom: 0.25em; }
  @media (max-width: 767px) {
    h3.tit-news {
      background: #71C47D;
      padding: 8px; } }
  h3.tit-news span {
    font-size: 1.3em;
    color: #FFF; }
    @media (min-width: 767px) {
      h3.tit-news span {
        background: #71C47D;
        padding: 8px;
        font-size: 1.4em; } }

h3.tit-news + time {
  font-size: 0.8em; }

h4.s-h4 span {
  font-size: 1.2em;
  font-weight: 500;
  border-bottom: 1px dotted #625145;
  padding-bottom: 0.5em; }

h5 {
  font-size: 1.2em; }

.h-h5 {
  display: flex;
  align-items: flex-start; }
  .h-h5::before {
    content: "";
    width: 1.2em;
    height: 1.2em;
    background: url("../img/common/mark.png") no-repeat;
    background-size: contain;
    margin-top: 0.35em; }
  .h-h5 span {
    width: calc(100% - 1.3em);
    margin-left: 0.1em; }

main .section p a, main .section .link {
  color: #71C47D; }
  main .section p a:hover, main .section .link:hover {
    text-decoration: underline; }

.caution-box {
  border: 1px solid #EAA24D;
  background: rgba(255, 255, 255, 0.8);
  padding: 1.5em 1em; }
  @media (min-width: 769px) {
    .caution-box {
      padding: 2em; } }
  .caution-box p.cap {
    text-indent: -1em;
    padding-left: 1em; }

.columns {
  display: flex;
  flex-flow: wrap;
  margin-bottom: -60px; }
  @media (min-width: 769px) {
    .columns {
      margin-left: -40px;
      margin-right: -40px;
      margin-bottom: -40px; } }
  @media (min-width: 1025px) {
    .columns {
      margin-left: -60px;
      margin-right: -60px;
      margin-bottom: -60px; } }
  .columns .col {
    padding: 0 20px;
    margin-bottom: 60px; }
    @media (min-width: 769px) {
      .columns .col {
        padding: 0 40px;
        margin-bottom: 60px; } }
    @media (min-width: 1025px) {
      .columns .col {
        padding: 0 60px;
        margin-bottom: 60px; } }

.columns.columns1_3 .col {
  width: 100%; }
  @media (min-width: 769px) {
    .columns.columns1_3 .col {
      width: calc(100%/2); } }
  @media (min-width: 1025px) {
    .columns.columns1_3 .col {
      width: calc(100%/3); } }

ul.chk li {
  padding-left: 1.5em;
  position: relative; }
  ul.chk li::before {
    content: "";
    background: url("../img/common/icon_chk.png") no-repeat;
    width: 1.2em;
    height: 1.2em;
    background-size: contain;
    position: absolute;
    left: 0;
    top: 0.375em; }

.colum-list-item {
  border-bottom: 1px solid #D9D9D9;
  padding: 1rem 0; }
  .colum-list-item a {
    color: #625145;
    display: flex;
    position: relative;
    width: 100%; }
    .colum-list-item a dt {
      width: 20%; }
      .colum-list-item a dt .link_arrow {
        display: none; }
      @media (min-width: 769px) {
        .colum-list-item a dt {
          width: 12%;
          max-width: 180px; } }
      .colum-list-item a dt figure {
        width: 100%;
        height: auto;
        aspect-ratio: 590/400; }
        .colum-list-item a dt figure img {
          width: 100%;
          height: 100%;
          object-fit: cover; }
    .colum-list-item a dd {
      padding-left: 1em;
      width: 80%;
      line-height: 1.4;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-flow: column-reverse; }
      @media (min-width: 501px) {
        .colum-list-item a dd {
          width: 78%;
          flex-flow: row-reverse wrap; } }
      @media (min-width: 769px) {
        .colum-list-item a dd {
          width: 86%; } }
      .colum-list-item a dd time {
        font-size: 0.8em;
        font-family: le-monde-sans-std-2, sans-serif;
        width: 100%;
        text-align: right; }
        @media (min-width: 769px) {
          .colum-list-item a dd time {
            width: 10%; } }
      .colum-list-item a dd span.tit {
        font-size: 1.2em;
        width: 100%; }
        @media (min-width: 769px) {
          .colum-list-item a dd span.tit {
            width: 90%; } }
  .colum-list-item a:hover {
    color: #EAA24D; }

/********************
comingsoon
*********************/
.coming-wrap {
  padding: 4.5em 0; }

.comingsoon {
  flex-flow: column; }
  @media (min-width: 769px) {
    .comingsoon {
      flex-flow: row; } }
  .comingsoon img {
    width: 50%; }
    @media (min-width: 769px) {
      .comingsoon img {
        width: 20%; } }
  .comingsoon p {
    font-family: le-monde-sans-std-2, sans-serif;
    line-height: 1.4;
    margin-top: 0.5em;
    font-size: 2em; }
    @media (min-width: 769px) {
      .comingsoon p {
        padding-right: 2em;
        font-size: 3em; } }

/***********************************
	汎用アニメーション＆keyframe
****************************************/
.come-to-view {
  -webkit-transform: translateY(15px);
  transform: translateY(15px);
  opacity: 0; }

.come-to-view.inview {
  -webkit-transform: translateY(0px);
  transform: translateY(0px);
  opacity: 1;
  transition: opacity 1.4s, transform 1s cubic-bezier(0, 0.4, 0.3, 1); }

.fadeup {
  opacity: 0;
  transform: translateY(30px); }

.fadeup.is-animated {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards; }

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

.fadein.is-animated {
  animation: fadeIn 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-moz-keyframes yura {
  0% {
    left: 0; }
  50% {
    left: 3px; }
  100% {
    left: 0; } }
@-webkit-keyframes yura {
  0% {
    left: 0; }
  50% {
    left: 3px; }
  100% {
    left: 0; } }
@-o-keyframes yura {
  0% {
    left: 0; }
  50% {
    left: 3px; }
  100% {
    left: 0; } }
@keyframes yura {
  0% {
    left: 0; }
  50% {
    left: 3px; }
  100% {
    left: 0; } }
@-moz-keyframes imagein {
  0% {
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
    transform: scale(1.3);
    opacity: 0; }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transform: scale(1);
    opacity: 1; } }
@-webkit-keyframes imagein {
  0% {
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
    transform: scale(1.3);
    opacity: 0; }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transform: scale(1);
    opacity: 1; } }
@-o-keyframes imagein {
  0% {
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
    transform: scale(1.3);
    opacity: 0; }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transform: scale(1);
    opacity: 1; } }
@keyframes imagein {
  0% {
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
    transform: scale(1.3);
    opacity: 0; }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transform: scale(1);
    opacity: 1; } }
@keyframes imageinSP {
  0% {
    transform: scale(1.3);
    opacity: 0; }
  100% {
    transform: scale(1);
    opacity: 1; } }
/**
 * ----------------------------------------
 * animation scale100
 * ----------------------------------------
 */
@-webkit-keyframes scale100 {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }
@keyframes scale100 {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }
.delay2 {
  animation-delay: .2s; }

.delay3 {
  animation-delay: .3s; }

.delay4 {
  animation-delay: .4s; }

.delay5 {
  animation-delay: .5s; }

.delay6 {
  animation-delay: .6s; }

.delay7 {
  animation-delay: .7s; }
