@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");

@font-face {
  font-family: "Futura";
  src: url("/assets/fonts/futura.ttf") format("truetype");
}

#header,
#footer {
  width: 100%;
  line-height: 1.15;
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
}

#header *,
#header *::before,
#header *::after,
#footer *,
#footer *::before,
#footer *::after {
  box-sizing: border-box;
}

#header h1,
#header p,
#header ul,
#footer p,
#footer ul {
  margin: 0;
  padding: 0;
}

#header h1 {
  font: inherit;
  line-height: inherit;
}

#header ul,
#footer ul {
  list-style: none;
}

#header li,
#footer li {
  margin: 0;
}

#header img,
#footer img {
  width: 100%;
  max-width: 100%;
  vertical-align: bottom;
}

#header a,
#footer a {
  color: inherit;
  text-decoration: none;
  background-color: transparent;
}

#footer button {
  margin: 0;
  padding: 0;
  font: inherit;
  border: 0;
  background: transparent;
  cursor: pointer;
}

#header .mb20 {
  margin-bottom: 20px;
}

#header .text-center,
#footer .text-center {
  text-align: center;
}

#footer .sp {
  display: block;
}

@media screen and (min-width: 992px) {
  #footer .sp {
    display: none;
  }
}

#header {
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 9999;
}

#header .header-sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-inline: 10px;
  background: #fff;
  position: relative;
  z-index: 9999;
}

#header .header-sp img {
  width: 16vw;
  max-width: 60px;
}

#header .header-sp .right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}

#header .header-sp .right .header-link img {
  width: 9.8666666667vw;
  max-width: 37px;
}

#header .header-sp .right .header-link .btn_box {
  background: rgb(184, 134, 11);
  width: 100%;
  max-width: 370px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 5px 10px;
}

#header .header-sp .right .header-link .btn_box img {
  width: 8.2666666667vw;
  max-width: 26px;
}

#header .header-sp .right .header-link .btn_box p {
  color: #fff;
  font-size: clamp(12px, 4.2666666667vw, 16px);
}

#header .header-sp .right .header-link .btn_box p span {
  font-size: clamp(8px, 3.2vw, 12px);
}

#header .header-sp .right .hamburger_menu {
  height: 10.9333333333vw;
  max-height: 41px;
  width: 10.9333333333vw;
  max-width: 41px;
}

#header .header-sp .right .hamburger_menu svg {
  height: 10.6666666667vw;
  max-height: 40px;
  position: absolute;
  width: 10.6666666667vw;
  max-width: 40px;
  cursor: pointer;
  background-color: #fff;
}

#header .header-sp .right .hamburger_menu svg .line {
  fill: none;
  stroke: #b8860b;
  stroke-width: 6px;
  stroke-linecap: round;
  stroke-linejoin: round;
  -webkit-transform-origin: 50%;
          transform-origin: 50%;
  -webkit-transition: stroke-dasharray 400ms 100ms, stroke-dashoffset 400ms 100ms, -webkit-transform 400ms 100ms;
  transition: stroke-dasharray 400ms 100ms, stroke-dashoffset 400ms 100ms, -webkit-transform 400ms 100ms;
  transition: stroke-dasharray 400ms 100ms, stroke-dashoffset 400ms 100ms, transform 400ms 100ms;
  transition: stroke-dasharray 400ms 100ms, stroke-dashoffset 400ms 100ms, transform 400ms 100ms, -webkit-transform 400ms 100ms;
}

#header .header-sp .right .hamburger_menu svg .line1 {
  stroke-dasharray: 50 50;
}

#header .header-sp .right .hamburger_menu svg .line2 {
  stroke-dasharray: 25 39;
}

#header .header-sp .right .hamburger_menu svg .line3 {
  stroke-dasharray: 25 39;
}

#header .header-sp .right .hamburger_menu svg .line4 {
  stroke-dasharray: 50 50;
}

#header .header-sp .right .hamburger_menu svg .x {
  -webkit-transition: -webkit-transform 400ms 50ms;
  transition: -webkit-transform 400ms 50ms;
  transition: transform 400ms 50ms;
  transition: transform 400ms 50ms, -webkit-transform 400ms 50ms;
}

#header .header-sp .right .hamburger_menu svg.x {
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: -webkit-transform 400ms;
  transition: -webkit-transform 400ms;
  transition: transform 400ms;
  transition: transform 400ms, -webkit-transform 400ms;
}

#header .header-sp .right .hamburger_menu svg.x .line {
  stroke-width: 5.5px;
}

#header .header-sp .right .hamburger_menu.active .line {
  -webkit-transition: stroke-dasharray 400ms, stroke-dashoffset 400ms, -webkit-transform 400ms;
  transition: stroke-dasharray 400ms, stroke-dashoffset 400ms, -webkit-transform 400ms;
  transition: stroke-dasharray 400ms, stroke-dashoffset 400ms, transform 400ms;
  transition: stroke-dasharray 400ms, stroke-dashoffset 400ms, transform 400ms, -webkit-transform 400ms;
}

#header .header-sp .right .hamburger_menu.active .line1 {
  stroke-dasharray: 1 40;
  stroke-dashoffset: -33px;
}

#header .header-sp .right .hamburger_menu.active .line2 {
  stroke-dasharray: 5 39;
  stroke-dashoffset: -37px;
}

#header .header-sp .right .hamburger_menu.active .line3 {
  stroke-dasharray: 5 39;
  stroke-dashoffset: -37px;
}

#header .header-sp .right .hamburger_menu.active .line4 {
  stroke-dasharray: 1 40;
  stroke-dashoffset: -33px;
}

#header .header-sp .right .hamburger_menu.active .x {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 400ms 50ms;
  transition: -webkit-transform 400ms 50ms;
  transition: transform 400ms 50ms;
  transition: transform 400ms 50ms, -webkit-transform 400ms 50ms;
}

@media screen and (min-width: 992px) {
  #header .header-sp {
    display: none;
  }
}

#header .hamburger_nav {
  position: fixed;
  z-index: 999;
  top: 0;
  right: -120%;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}

#header .hamburger_nav.active {
  right: 0;
}

@media screen and (min-width: 992px) {
  #header .hamburger_nav {
    display: none;
  }
}

#header .hamburger_nav .nav_area {
  position: absolute;
  right: 0;
  z-index: 999;
  width: 85%;
  height: 100vh;
  background: #000;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#header .hamburger_nav .nav_area ul {
  width: 100%;
  z-index: 999;
}

#header .hamburger_nav .nav_area ul li {
  padding: 20px 10px;
  border-bottom: 1px solid #b8860b;
}

#header .hamburger_nav .nav_area ul li .nav-link {
  color: #b8860b;
}

#header .hamburger_nav .nav_area .sns_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#header .hamburger_nav .nav_area .sns_content a {
  width: 20%;
}

#header .hamburger_nav .nav_area .logo {
  position: absolute;
  bottom: 0;
  background: #b4b4b4;
  width: 100%;
  text-align: center;
}

#header .hamburger_nav .nav_area .logo img {
  width: 100%;
  max-width: 120px;
}

#header .header-pc {
  display: none;
}

@media screen and (min-width: 992px) {
  #header .header-pc {
    padding: 16px 24px;
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  #header .header-pc .header-logo img {
    width: 80px;
  }

  #header .header-pc .header-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 32px;
    font-size: 16px;
    font-weight: bold;
  }

  #header .header-pc .header-item--contact {
    background-color: #2486d1;
    color: #fff;
    padding: 6px 16px;
    border-radius: 6px;
  }

  #header .header-pc .flex-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  #header .header-pc .header-item img {
    width: 100%;
    max-width: 40px;
  }

  #header .header-pc .header-item .btn_box {
    background: rgb(184, 134, 11);
    width: 100%;
    max-width: 370px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
    padding: 5px 10px;
  }

  #header .header-pc .header-item .btn_box img {
    width: 8.2666666667vw;
    max-width: 31px;
  }

  #header .header-pc .header-item .btn_box p {
    color: #fff;
    font-size: clamp(12px, 4.2666666667vw, 16px);
  }

  #header .header-pc .header-item .btn_box p span {
    font-size: clamp(8px, 3.2vw, 12px);
  }
}

#footer .footer_menu {
  padding-block: 20px;
  background: #000;
}

@media screen and (min-width: 992px) {
  #footer .footer_menu {
    padding-block: 30px;
  }
}

#footer .footer_menu ul {
  width: 86.4vw;
  margin-inline: auto;
}

@media screen and (min-width: 992px) {
  #footer .footer_menu ul {
    width: 80vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

#footer .footer_menu ul li {
  position: relative;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
}

@media screen and (min-width: 992px) {
  #footer .footer_menu ul li {
    width: calc(50% - 10px);
    border-top: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
}

#footer .footer_menu ul li:last-of-type {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

#footer .footer_menu ul li::after {
  content: "";
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  border-right: 1px solid rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 50%;
  right: 28px;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

#footer .footer_menu ul li a {
  display: block;
  width: 100%;
  color: #fff;
  font-size: 12px;
  padding: 11px 34px;
}

@media screen and (min-width: 992px) {
  #footer .footer_menu ul li a {
    font-size: clamp(14px, 1.1111111111vw, 16px);
  }
}

#footer .footer_menu ul li a:hover {
  opacity: 0.7;
}

#footer .footer_copy {
  padding-block: 13px;
  text-align: center;
}

#footer .footer_copy img {
  width: 105px;
}

#footer .footer_copy .copyright {
  font-size: 12px;
  font-family: "Futura", sans-serif;
}

#footer #scroll__btn {
  position: fixed;
  bottom: 100px;
  right: 2px;
  z-index: 1;
  font-size: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  text-align: center;
  background-color: #7b7c7c;
  width: min(25vw, 100px);
  height: min(25vw, 100px);
  border-radius: 25vw;
  border: 2px solid #fff;
  -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.3);
}

@media screen and (min-width: 992px) {
  #footer #scroll__btn {
    width: 100px;
    height: 100px;
    bottom: 140px;
    right: 10px;
  }
}

#footer #hiddenContent {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  height: 70px;
  position: fixed;
  z-index: 1;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  bottom: -300px;
  -webkit-transition: 0.7s;
  transition: 0.7s;
}

@media screen and (min-width: 992px) {
  #footer #hiddenContent {
    height: 110px;
  }
}

#footer #hiddenContent.showUp {
  bottom: 0;
}

#footer #hiddenContent a {
  font-size: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 42.6666666667vw;
  max-width: 370px;
  text-align: center;
  color: #fff;
  background-color: rgb(184, 134, 11);
  height: 50px;
  -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.3);
}

