@charset "UTF-8";

.u-desktop {
    display: none;
  }
  @media screen and (max-width: 768px) {
    .u-desktop {
      display: none;
    }
  }
  
  @media screen and (max-width: 768px) {
    .u-mobile {
      display: none;
    }
  }
  
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  
  html {
    font-size: 100%; /* 16px */
    scroll-behavior: smooth;
  }
  
  main {
    overflow: hidden;
  }
  
  body {
    background-color: #fff;
    color: #231815;
    font-family: -apple-system, Roboto, "Helvetica Neue", "游ゴシック体", "YuGothic", YuGothic, "游ゴシック Medium", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, sans-serif;
  }
  
  img {
    width: 100%;
  }
  
  /* ホバー */
  a {
    text-decoration: none;
    transition: opacity 0.3s;
    color: #231815;
  }
  a:hover {
    opacity: 0.8;
  }
  
  .conteiner {
    padding: 16px;
  }
  
  address {
    font-style: normal;
  }


  .l-header {
    width: 100%;
    background-color: #fff;
    /* background-color: var( --main-color ); */
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #231815;
  }
  .l-header__container {
    width: 100%;
    max-width: 960px;
    display: flex;
    align-items: center;
    padding: 1.5rem 1%;
  }
  @media screen and (max-width: 768px) {
    .l-header__container {
      flex-direction: column;
      row-gap: 1rem;
      padding: 2% 2% 3.5% 2%;
    }
  }
  .l-header__container--logo {
    display: flex;
    gap: 1.5rem;
  }
  @media screen and (max-width: 768px) {
    .l-header__container--logo {
      padding: 1rem;
      gap: 0.5rem;
    }
  }
  .l-header__container--img {
    width: auto;
    /*height: calc(40px - 0.3vw);*/
    height: calc(50px);
  }
  @media screen and (max-width: 450px) {
    .l-header__container--img {
      /*height: calc(1.5rem - 0.1vw);*/
      height: calc(2.5rem);
    }
  }
  .l-header__container--desc {
    display: inline-block;
    padding-left: 1.5rem;
    font-size: calc(1rem - 0.3vw);
    text-align: left;
    line-height: 1.5em;
  }
  @media screen and (max-width: 768px) {
    .l-header__container--desc {
      font-size: calc(1rem - 0.3vw);
      padding-left: 0;
      text-align: left;
    }
  }
  @media screen and (max-width: 450px) {
    .l-header__container--desc {
      font-size: calc(0.9rem + 0.1vw);
      text-align: center;
    }
  }
  .l-header__container--desc br {
    display: block;
  }
  @media screen and (max-width: 768px) {
    .l-header__container--desc br {
      display: none;
    }
  }
  @media screen and (max-width: 450px) {
    .l-header__container--desc br {
      display: block;
    }
  }
  
  .l-footer {
    position: relative;
    width: 100%;
    padding: 3rem 0 3rem;
    background-color: #fff;
    /* background-color: var( --sub-color ); */
  }
  @media screen and (max-width: 768px) {
    .l-footer {
      padding: 3rem 0 18rem 0;
    }
  }
  @media screen and (max-width: 450px) {
    .l-footer {
      padding: 3rem 0 0.5rem 0;
    }
  }
  .l-footer__ttl {
    font-size: calc(1.5rem - 0.3vw);
    font-weight: 700;
    text-align: center;
    padding: 2rem 0;
  }
  @media screen and (max-width: 768px) {
    .l-footer__ttl {
      line-height: 1.8em;
    }
  }
  @media screen and (max-width: 635px) {
    .l-footer__ttl {
      font-size: calc(1.4rem - 0.3vw);
    }
  }
  @media screen and (max-width: 450px) {
    .l-footer__ttl {
      font-size: calc(1.2rem - 0.3vw);
    }
  }
  .l-footer__ttl br {
    display: none;
  }
  @media screen and (max-width: 768px) {
    .l-footer__ttl br {
      display: block;
    }
  }
  @media screen and (max-width: 635px) {
    .l-footer__ttl br {
      display: none;
    }
  }
  .l-footer__body {
    /* width: 100%;
    display: grid;
    grid-template-columns: 22% 22% 22% 22%;
    justify-content: center;
    padding: 2.5rem 0;
    gap: 5rem 2rem; */
    /* @include mq(md) {
        display: flex;
        flex-direction: column;
        gap: 3rem;
    } */
  }
  .l-footer__body--menu {
    /* width: calc(( 100% / 5 ) - 1em ); */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    letter-spacing: 0.15em;
  }
  .l-footer__body--menu--ttl {
    width: 100%;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #000;
    font-weight: 600;
  }
  @media screen and (max-width: 768px) {
    .l-footer__body--menu--ttl {
      font-size: calc(1.5rem - 0.3vw);
      padding: 1rem 0;
    }
  }
  @media screen and (max-width: 450px) {
    .l-footer__body--menu--ttl {
      font-size: calc(1.2rem - 0.3vw);
      padding: 1rem 0;
    }
  }
  .l-footer__body--menu--ttl--link {
    display: block;
  }
  .l-footer__body--menu--list {
    padding-top: 1rem;
  }
  .l-footer__body--menu--list--item--link {
    position: relative;
    font-size: calc(0.9rem - 0.1vw);
    line-height: 2em;
    letter-spacing: 0.15em;
  }
  @media screen and (max-width: 768px) {
    .l-footer__body--menu--list--item--link {
      font-size: calc(1.2rem - 0.1vw);
    }
  }
  .l-footer__body--menu--list--item--link::after {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    bottom: -1px;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform 0.3s;
  }
  .l-footer__body--menu--list--item--link:hover::after {
    opacity: 0.5;
    transform: scale(1, 1);
  }
  .l-footer__foot {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 2rem 0 6rem;
    column-gap: 2rem;
  }
  @media screen and (max-width: 768px) {
    .l-footer__foot {
      flex-direction: column;
      padding: 2.2rem 0 4.2rem;
      row-gap: 1.5rem;
    }
  }
  @media screen and (max-width: 635px) {
    .l-footer__foot {
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
  }
  .l-footer__foot--info {
    width: 66.6666666667%;
    padding-left: 1.5rem;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    font-size: calc(1rem - 0.3vw);
    column-gap: 1.5rem;
  }
  @media screen and (max-width: 768px) {
    .l-footer__foot--info {
      flex-direction: column;
      align-items: center;
      row-gap: 1.5rem;
      width: 100%;
      padding: 3% 0 0;
    }
  }
  @media screen and (max-width: 635px) {
    .l-footer__foot--info {
      padding: 0;
      max-width: 80%;
      margin: 0 auto;
    }
  }
  @media screen and (max-width: 450px) {
    .l-footer__foot--info {
      padding: 0;
      max-width: 100%;
      margin: 0 auto;
    }
  }
  .l-footer__foot--info--logo {
    /* padding-bottom: 1rem; */
  }
  @media screen and (max-width: 768px) {
    .l-footer__foot--info--logo {
      padding-bottom: 2rem;
    }
  }
  .l-footer__foot--info--logo img {
    width: 168.6666666667px;
  }
  @media screen and (max-width: 768px) {
    .l-footer__foot--info--logo img {
      width: 210.8333333333px;
    }
  }
  .l-footer__foot--info--address {
    font-size: calc(0.9rem - 0.1vw);
    line-height: 1.5em;
    letter-spacing: 0.2em;
    /* @include mq(sm) {
        max-width: calc( 20% * 4 );
        margin: 0 auto;
    } */
  }
  .l-footer__foot--info--address--zip {
    font-size: calc(0.9rem - 0.1vw);
    display: inline-block;
    padding-bottom: 0.5rem;
    letter-spacing: 0.2em;
  }
  @media screen and (max-width: 768px) {
    .l-footer__foot--info--address span {
      font-size: calc(1.2rem - 0.1vw);
      line-height: 1.5em;
    }
  }
  .l-footer__foot--info--address span br {
    display: none;
  }
  @media screen and (max-width: 768px) {
    .l-footer__foot--info--address span br {
      display: none;
    }
  }
  .l-footer__foot--copyrights {
    width: 33.3333333333%;
    font-size: calc(0.9rem - 0.1vw);
    text-align: right;
    padding-right: 1rem;
    letter-spacing: 0.15em;
  }
  @media screen and (max-width: 768px) {
    .l-footer__foot--copyrights {
      font-size: calc(0.9rem - 0.1vw);
      width: 100%;
      text-align: center;
    }
  }
  @media screen and (max-width: 635px) {
    .l-footer__foot--copyrights {
      width: 100%;
      padding: 3rem 0 0;
      text-align: center;
    }
  }
  @media screen and (max-width: 450px) {
    .l-footer__foot--copyrights {
      padding: 3rem 0;
      font-size: calc(0.9rem - 0.3vw);
    }
  }
  .l-footer__to-top {
    position: fixed;
    right: 5%;
    bottom: 1%;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding-top: 1rem;
    width: 75px;
    height: 75px;
    border-radius: 50%;
    background-color: #231815;
    gap: 0.5rem;
    transition: none;
    z-index: 10;
  }
  @media screen and (max-width: 1024px) {
    .l-footer__to-top {
      right: 5%;
      bottom: 12%;
      padding-top: 0.7rem;
    }
  }
  @media screen and (max-width: 768px) {
    .l-footer__to-top {
      display: none !important;
      right: 5.5%;
      /* bottom: 24%; */
      padding-top: 0.7rem;
    }
  }
  @media screen and (max-width: 450px) {
    .l-footer__to-top {
      display: none !important;
      bottom: 15%;
    }
  }
  .l-footer__to-top--label {
    font-size: calc(1rem - 0.3vw);
    color: #fff;
    letter-spacing: 0.15em;
  }
  
  .to-top-btn {
    display: none;
    text-align: center;
  }



  /* フッター */
.l-f-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 0 1rem;
    margin: 0 auto;
    max-width: 1440px;
  }
  @media screen and (max-width: 768px) {
    .l-f-inner {
      padding: 0 3rem;
    }
  }
  @media screen and (max-width: 635px) {
    .l-f-inner {
      padding: 0 1.5rem;
    }
  }

  .c-footer__head--btn--link {
    width: calc(100% - 35px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    gap: 1rem;
    color: #fff;
    letter-spacing: 0.08em;
    background-color: #231815;
    border-radius: 40px;
    text-decoration: none;
    margin-left: 1.5rem;
    /* .c-itemicon-mail {
        fill: $white;
    } */
  }
  @media screen and (max-width: 768px) {
    .c-footer__head--btn--link {
      width: 66.6666666667%;
      padding: 1.5rem 0rem;
      margin: 0 auto;
    }
  }
  @media screen and (max-width: 635px) {
    .c-footer__head--btn--link {
      width: 100%;
      gap: 1.5rem;
    }
  }