@charset "UTF-8";

/*normalize: http://necolas.github.io/normalize.css/*/

/* Box sizing rules */

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

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
ul,
ol,
dd {
  margin: 0;
  padding: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */

ul,
ol{
  list-style: none;
}

/* Set core root defaults */

/* html:focus-within {
  scroll-behavior: smooth;
} */

/* Set core body defaults */

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
  font: inherit;
}

:root {
  --color:#000;
  --color-orange:#e88b17;
  --dp-font-size: 1.4rem;
}

/* ==========================================================================
  アニメーション
========================================================================== */

@keyframes menuIn {
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

@keyframes menuOut {
  0%{
    opacity: 1;
  }
  99%{
    opacity: 0;
  }
  100%{
    display: none;
    opacity: 0;
  }
}

@keyframes fadeIn {
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

@keyframes fadeOut {
  0%{
    opacity: 1;
  }
  100%{
    opacity: 0;
  }
}

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

.isAnime{
  opacity: 0;
}

.fadeInUp{
  transform: translateY(30px);
}

.fadeInUp.animeAction{
  animation: fadeInUp 1s ease-in-out 1 forwards;
}

.hoverZoom{
  overflow: hidden;
}

.hoverZoom img{
    transition: scale .3s ease-in;
  }

@media (hover:hover){
    .hoverZoom:hover{
      opacity: 1;
    }
      .hoverZoom:hover img{
        opacity: 1;
        scale: 1.1;
      }
  }

/* ==========================================================================
   フォーム
========================================================================== */

.formWall{
  max-width: 1035px;
  margin-inline: auto;
  /* 送信エラー */
}

.formWall .formInput input[data-test-id="dp-input"],
    .formWall .formInput select,
    .formWall .formInput input[type="text"],
    .formWall .formInput input[type="date"],
    .formWall .formInput input[type="tel"],
    .formWall .formInput input[type="email"]{
      padding: 0 1em;
      height: 47px;
      line-height: 47px;
      border: 1px solid #000;
      border-radius: 7px;
      width: 100%;
      font-size: 1.8rem;
    }

.formWall .formInput textarea{
      width: 100%;
      padding: 1em;
      border: 1px solid #000;
      border-radius: 7px;
      height: 323px;
      font-size: 1.8rem;
    }

.formWall .formInput input[type="checkbox"],
    .formWall .formInput input[type="radio"]{
      accent-color: #000;
    }

.formWall .obiTitle{
    font-size: 1.8rem;
    letter-spacing: .025em;
    line-height: 1;
    background: #fff;
    text-align: center;
    height: 47px;
    display: grid;
    place-content:center;
    margin-bottom: 35px;
  }

.formWall .formBoxWrapper{
    background: #fff;
    padding: 28px 91px 45px;
  }

.formWall .formBoxWrapper .obiTitle{
      background: #f1efeb;
      margin-bottom: 45px;
    }

.formWall .typeSelectBox{
    margin-bottom:60px;
  }

.formWall .typeSelectBox ul{
      display: flex;
      justify-content: center;
      gap:0 45px;
    }

.formWall .typeSelectBox li{
      display: flex;
      align-items: center;
      font-size: 1.8rem;
      letter-spacing: .025em;
    }

.formWall .typeSelectBox input[type="radio"]{
      width: 22px;
      height: 22px;
    }

.formWall .typeSelectBox label{
      padding-left: .3em;
    }

.formWall .hissu{
    margin-right: 15px;
    font-size: 1.5rem;
    color: #c1272d;
    border: 1px solid #c1272d;
    line-height: 1;
    width:48px;
    height:21px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
  }

.formWall .formBox{
    display: grid;
    grid-template-columns: auto 1fr;
  }

.formWall .formBox .title{
      width:203px;
      font-size: 1.8rem;
      letter-spacing: .025em;
      line-height: 1;
      display: flex;
      align-items: center;
    }

.formWall .formBox .messageConf{
      white-space: pre-wrap;
      line-height: 1.75;
    }

.formWall .formBox .errorText{
      padding-top: .6em;
      color: red;
    }

.formWall .formBox .errorText .errorShow{
        font-size: 1.4rem;
        line-height: 1;
      }

.formWall .formBox + .formBox{
    margin-top: 40px;
  }

.formWall .formBoxAddress{
    margin-top: 40px;
  }

.formWall .formBoxAddress .zipBox .inputBox{
        width: 186px;
      }

.formWall .formBoxAddress .addrBox .title{
        align-self: flex-start;
        margin-top: 7px;
      }

.formWall .formBoxAddress .addrBox input:last-child{
        margin-top: 10px;
      }

.formWall .formBoxDate{
    margin-top: 60px;
    padding-top: 60px;
    border-top: 1px dotted #000;
  }

.formWall .formBoxDate .toptext{
      text-align: center;
      font-size: 1.5rem;
      line-height: 1.85;
      letter-spacing: .025em;
      margin-bottom: 35px;
    }

.formWall .formBoxDate .formBox .title{
        width: 239px;
      }

.formWall .formBoxDate .formBox + .formBox{
      margin-top: 40px;
    }

.formWall .formBoxMessage{
    margin-top: 40px;
  }

.formWall .formBoxMessage .title{
      line-height: 1.75;
      align-self: flex-start;
      width: 240px;
      align-items: flex-start;
    }

.formWall .formBoxMessage .title .hissu{
        margin-top: .35em;
      }

.formWall .dp__pointer{
    font-size: 1.6rem;
  }

.formWall .dp__input_icons{
    display: none;
  }

.formWall .dp__disabled{
    background: #fff;
  }

.formWall .notice{
    margin-top: 30px;
		font-size: 1.5rem;
		line-height: 1.86;
		text-align: center;
    margin-bottom: 25px;
	}

.formWall .endBox{
    text-align: center;
    margin-top: 20px;
    background: #fff;
    padding: 45px 0 27px;
  }

.formWall .privacyBox{
    font-size: 1.5rem;
  }

.formWall .privacyBox a{
      text-decoration: underline;
      color: #0059e9;
    }

.formWall .privacyBox .privacyLabel{
      margin-top: 25px;
      display: flex;
      justify-content: center;
      align-items: center;
    }

.formWall .formBtn{
    width: 189px;
    height: 41px;
    margin: 20px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    letter-spacing: .025em;
    background: #f1efeb;
    cursor: pointer;
  }

.formWall .formBtn:disabled{
      opacity: .6;
    }

.formWall .formConf{
    padding: 45px 120px;
  }

.formWall .formConf .formBox .inputBox p{
          font-size: 1.7rem;
        }

.formWall .formConf .formBoxMessage .title{
        width: 203px;
      }

.formWall .formConf .formBoxDate .formBox .title{
          width: 203px;
        }

.formWall .formConf .formBtnBox{
      margin-top: 40px;
      display: flex;
      justify-content: center;
      gap: 50px;
    }

.formWall .formConf .formBtnBox .formBtn{
        margin: 0;
      }

.formWall .sendError{
    margin:2em auto 0;
    color:#E64D4D;
    font-size: 1.6rem;
    border: 1px solid #E64D4D;
    padding: 1em;
    text-align: center;
    background:#fff;
    line-height: 1.75;
  }

@media only screen and (max-width: 767px) {
  .formWall{
    max-width: calc(calc(342/375) * 100vw);
    margin-inline: auto;
    /* 送信エラー */
  }
      .formWall .formInput input[data-test-id="dp-input"],
      .formWall .formInput select,
      .formWall .formInput input[type="text"],
      .formWall .formInput input[type="date"],
      .formWall .formInput input[type="tel"],
      .formWall .formInput input[type="email"]{
        height: calc(calc(27/375) * 100vw);
        line-height: calc(calc(27/375) * 100vw);
        border: calc(calc(1/375) * 100vw) solid #000;
        border-radius: calc(calc(7/375) * 100vw);
        font-size: 16px;
      }
      .formWall .formInput textarea{
        width: 100%;
        padding: 1em;
        border: calc(calc(1/375) * 100vw) solid #000;
        border-radius: calc(calc(7/375) * 100vw);
        height: calc(calc(200/375) * 100vw);
        font-size: 16px;
      }
    .formWall .obiTitle{
      font-size: 1.3rem;
      font-weight: 500;
      height: calc(calc(46/375) * 100vw);
      margin-bottom: calc(calc(20/375) * 100vw);
    }
    .formWall .formBoxWrapper{
      padding: calc(calc(15/375) * 100vw);
    }
      .formWall .formBoxWrapper .obiTitle{
        height: calc(calc(25/375) * 100vw);
        margin-bottom: calc(calc(23/375) * 100vw);
      }
    .formWall .typeSelectBox{
      margin-bottom:calc(calc(22/375) * 100vw);
    }
      .formWall .typeSelectBox ul{
        padding-left:calc(calc(20/375) * 100vw);
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: calc(calc(16/375) * 100vw);
      }
      .formWall .typeSelectBox li{
        flex: 0 1 50%;
        display: flex;
        align-items: center;
        font-size: 1.2rem;
      }
      .formWall .typeSelectBox input[type="radio"]{
        width: calc(calc(13/375) * 100vw);
        height: calc(calc(13/375) * 100vw);
      }
    .formWall .hissu{
      display: none;
    }
    .formWall .formBox{
      display: grid;
      grid-template-columns: auto 1fr;
    }
      .formWall .formBox .title{
        width:calc(calc(85/375) * 100vw);
        font-size: 1.1rem;
        line-height: 1.75;
        margin-top: calc(calc(20/375) * 100vw);
        align-items: flex-start;
      }
        .formWall .formBox .inputBox::before{
          content: '必須';
          font-size: .8rem;
          color: #c1272d;
          border: calc(calc(1/375) * 100vw) solid #c1272d;
          line-height: 1;
          width:calc(calc(25/375) * 100vw);
          height:calc(calc(12/375) * 100vw);
          display: flex;
          justify-content: center;
          align-items: center;
          border-radius: calc(calc(4/375) * 100vw);
          margin: 0 0 calc(calc(5/375) * 100vw) auto;
        }
      .formWall .formBox .eventTitle{
        margin-top: calc(calc(12/375) * 100vw);
      }
      .formWall .formBox .messageConf{
        white-space: pre-wrap;
        line-height: 1.75;
      }
        .formWall .formBox .errorText .errorShow{
          font-size: 1.2rem;
        }
    .formWall .formBox + .formBox{
      margin-top: calc(calc(8/375) * 100vw);
    }

    .formWall .formBoxAddress{
      margin-top: calc(calc(8/375) * 100vw);
    }
        .formWall .formBoxAddress .zipBox .inputBox{
          width: calc(calc(115/375) * 100vw);
        }
        .formWall .formBoxAddress .addrBox .title{
          align-self: flex-start;
          margin-top: calc(calc(17/375) * 100vw);
        }
        .formWall .formBoxAddress .addrBox input:last-child{
          margin-top: calc(calc(10/375) * 100vw);
        }

    .formWall .formBoxDate{
      margin-top: calc(calc(30/375) * 100vw);
      padding-top: calc(calc(30/375) * 100vw);
      border-top: calc(calc(1/375) * 100vw) dotted #000;
    }
      .formWall .formBoxDate .toptext{
        margin-bottom: calc(calc(7/375) * 100vw);
      }
        .formWall .formBoxDate .formBox .title{
          width: calc(calc(85/375) * 100vw);
        }
      .formWall .formBoxDate .formBox + .formBox{
        margin-top: calc(calc(7/375) * 100vw);
      }
    .formWall .formBoxMessage{
      margin-top: calc(calc(8/375) * 100vw);
    }
      .formWall .formBoxMessage .title{
        line-height: 1.75;
        align-self: flex-start;
        width: calc(calc(85/375) * 100vw);
        align-items: flex-start;
      }
    .formWall .notice{
      margin-top: calc(calc(20/375) * 100vw);
      font-size: 1.3rem;
      margin-bottom: calc(calc(20/375) * 100vw);
    }
    .formWall .endBox{
      text-align: center;
      margin-top: calc(calc(22/375) * 100vw);
      background: #fff;
      padding: calc(calc(33/375) * 100vw) 0 calc(calc(51/375) * 100vw);
    }
    .formWall .privacyBox{
      font-size: 1.3rem;
      line-height: 2;
    }
      .formWall .privacyBox a{
        text-decoration: underline;
        color: #0059e9;
      }
      .formWall .privacyBox .privacyLabel{
        margin-top: calc(calc(10/375) * 100vw);
        display: flex;
        justify-content: center;
        align-items: center;
      }
        .formWall .privacyBox .privacyLabel .hissu{
          display: block;
          font-size: 1.25rem;
          color: #c1272d;
          border: calc(calc(1/375) * 100vw) solid #c1272d;
          line-height: 1;
          width:calc(calc(40/375) * 100vw);
          height:calc(calc(17/375) * 100vw);
          display: flex;
          justify-content: center;
          align-items: center;
          border-radius: calc(calc(4/375) * 100vw);
          margin: 0 calc(calc(10/375) * 100vw) 0 0;
        }
    .formWall .formBtn{
      width: calc(calc(189/375) * 100vw);
      height: calc(calc(41/375) * 100vw);
      margin: calc(calc(20/375) * 100vw) auto 0;
    }
    .formWall .formConf{
      padding: calc(calc(15/375) * 100vw);
    }
        .formWall .formConf .formBox .title{
          margin-top: 0;
          width: calc(calc(120/375) * 100vw);
          font-size: 1.3rem;
          line-height: 1.6;
        }
          .formWall .formConf .formBox .inputBox::before{
            display: none;
          }
          .formWall .formConf .formBox .inputBox p{
            font-size: 1.3rem;
            line-height: 1.6;
          }
        .formWall .formConf .formBoxMessage .title{
          width: calc(calc(120/375) * 100vw);
        }
          .formWall .formConf .formBoxDate .formBox .title{
            width: calc(calc(120/375) * 100vw);
          }
      .formWall .formConf .formBtnBox{
        margin-top: calc(calc(30/375) * 100vw);
        display: flex;
        justify-content: center;
        gap: calc(calc(20/375) * 100vw);
      }
        .formWall .formConf .formBtnBox .formBtn{
          margin: 0;
        }
    .formWall .sendError{
      font-size: 1.3rem;
    }
}

/* ==========================================================================
   ajaロード関連
========================================================================== */

.ajaxFadein{
  animation: fadeInAjax .6s 1 0s ease forwards;
}

@keyframes fadeInAjax {
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

.loading{
  margin-top: 50px;
  position: relative;
}

.loading::before{
    position: absolute;
    top:50%;
    left:50%;
    margin:-26px 0 0 -26px;
    width: 52px;
    height: 52px;
    content: '';
    animation: loader .8s infinite linear;
    border: 6px solid #000;
    border-top-color: #ddd;
    border-radius: 50%;
  }

.noPost{
  grid-column: 1 / 6;
  text-align: center;
  margin-top: 2em;
  font-size: 1.7rem;
}

@media only screen and (max-width: 767px) {
  .loading{
    margin-top: calc(calc(15/360) * 100vw);
  }
    .loading::before{
      position: absolute;
      top:50%;
      left:50%;
      margin:0 0 0 -13px;
      width: 26px;
      height: 26px;
      content: '';
      animation: loader .8s infinite linear;
      border: 4px solid #000;
      border-top-color: #ddd;
      border-radius: 50%;
    }
}

@keyframes loader{
  0%{
    transform: rotate(0deg);
  }
  100%{
    transform: rotate(360deg);
  }
}

/* ---- 月カレンダー ---- */

.calendarBox {
  transition: opacity 0.2s;
}

.rc-monthly {
  width: 100%;
}

.rc-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 19px;
  font-size: 2rem;
  margin-bottom: 39px;
}

.rc-nav button {
  background: none;
  border: 1px solid #000;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 50%;
}

.rc-nav button:disabled {
  opacity: 0.3;
  cursor: default;
}

.rc-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.rc-table th{
  text-align: center;
  padding-bottom: 6px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
}

.rc-table td {
  border: 1px solid #ddd;
  text-align: center;
  padding: 7px 0;
  height: 58px;
  vertical-align: top;
}

/* .rc-table th:last-child { color: #e00; } */

/* .rc-table th:nth-last-child(2) { color: #00c; } */

.rc-date {
  display: block;
  font-size: 1.2rem;
  text-align: left;
  padding-left: 7px;
}

.rc-day-mark{
  font-size: 1.4rem;
  line-height: 1;
  display: inline-block;
  margin-top: 5px;
}

.rc-cell--out {
  background: #f0f0f0;
  color: #bbb;
}

.rc-cell--closed .rc-label{
    display: block;
    background: #e6e6e6;
    margin-top: 10px;
    font-size: 1.2rem;
  }

.rc-cell--today .rc-date {
  /* color: #1a7cde; */
  font-weight: bold;
}

.rc-cell[data-date] {
  cursor: pointer;
}

.rc-day-mark {
  display: block;
}

@media only screen and (max-width: 767px) {
  .rc-nav {
    gap: calc(calc(15/375) * 100vw);
    margin-bottom: calc(calc(20/375) * 100vw);
    font-size: 1.45rem;
  }

  .rc-nav button {
    border: calc(calc(1/375) * 100vw) solid #000;
    width: calc(calc(19/375) * 100vw);
    height: calc(calc(19/375) * 100vw);
  }
  .rc-table th{
    padding-bottom: calc(calc(4/375) * 100vw);
    font-size: 1rem;
  }
  .rc-table td {
    border: calc(calc(1/375) * 100vw) solid #ddd;
    padding: calc(calc(4/375) * 100vw) 0 calc(calc(10/375) * 100vw);
    height: calc(calc(39/375) * 100vw);
  }

  /* .rc-table th:last-child { color: #e00; } */
  /* .rc-table th:nth-last-child(2) { color: #00c; } */

  .rc-date {
    display: block;
    font-size: .8rem;
    text-align: left;
    padding-left: calc(calc(4/375) * 100vw);
  }

  .rc-day-mark{
    font-size: 1.1rem;
    margin-top: calc(calc(5/375) * 100vw);
  }
    .rc-cell--closed .rc-label{
      display: block;
      background: #e6e6e6;
      margin-top: calc(calc(7/375) * 100vw);
      font-size: .8rem;
    }
}

/* ---- 週ポップアップ ---- */

.rc-overlay {
  display: flex;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  align-items: center;
  justify-content: center;
}

.rc-overlay--open {
  opacity: 1;
  visibility: visible;
}

.rc-popup {
  background: #fff;
  padding: 25px 30px 30px;
  position: relative;
  width: 1016px;
  min-height: 200px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.55);
  opacity: 0;
  transition: opacity 0.3s;
}

.rc-popup--visible {
  opacity: 1;
}

.rc-popup-close {
  display: none;
}

.rc-popup-body{
  width: 736px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 120px 1fr 120px;
  gap: 0 12px;
}

.rc-popup-title {
  grid-column: 1 / 4;
  justify-self: center;
  width: 312px;
  height: 46px;
  display: grid;
  place-content: center;
  text-align: center;
  font-size: 2.2rem;
  letter-spacing: .2em;
  background: #f1efeb;
  margin-bottom: 6px;
}

.rc-popup-sub {
  grid-column: 1 / 4;
  grid-row: 2;
  justify-self: center;
  text-align: center;
  font-size: 1.7rem;
  line-height: 1;
  letter-spacing: .05em;
  margin-bottom: 20px;
}

.rc-mark-text{
  grid-column: 2;
  grid-row: 3;
}

.rc-week-prev{
  grid-column: 1;
  grid-row: 4;
  align-self: start;
}

.rc-week-next{
  grid-column: 3;
  grid-row: 4;
  align-self: start;
}

.rc-week-table{
  grid-column: 2;
  grid-row: 4;
}

.rc-mark-text{
  margin-bottom: 4px;
  display: flex;
  gap: 0 20px;
}

.rc-mark-text .rc-popup-legend {
    font-size: 1.6rem;
    display: flex;
    align-items: center;
  }

.rc-mark-text .rc-popup-legend span{
      font-size: 1.7rem;
    }

.rc-mark-text .rc-legend-closed {
    display: inline-block;
    width: 30px;
    height: 16px;
    background: #ddd;
    vertical-align: middle;
  }

.rc-week-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 35px;
  border: 1px solid #000;
  font-size: 1.7rem;
  letter-spacing: .05em;
  cursor: pointer;
}

.rc-week-nav:hover{
    opacity: 1;
  }

@media (hover:hover) {
    .rc-week-nav:hover{
      opacity: .8;
    } 
  }

.rc-week-table {
  width: 100%;
  border-collapse: collapse;
}

.rc-week-table th{
    font-size: 1.7rem;
    line-height: 1;
    font-weight: 500;
    height: 52px;
    border: 1px solid #000;
    text-align: center;
  }

.rc-week-table .ym{
    text-align: left;
    height: 35px;
    padding-left: 1em;
  }

.rc-week-table td {
    border: 1px solid #000;
    text-align: center;
    height: 35px;
    font-size: 1.7rem;
    line-height: 1;
  }

.rc-th--sun {
  background: rgba(255, 0, 0, 0.1);
  color: #ff0000;
}

.rc-th--sat {
  background: rgba(0, 113, 188, 0.1);
  color: #0071bc;
}

.rc-time {
  font-size: 1.7rem;
  white-space: nowrap;
  font-weight: 500;
}

.rc-slot--closed {
  background: #f0f0f0;
  color: #999;
}

.rc-slot--available {
  cursor: pointer;
}

.rc-notice{
  max-width: 736px;
  margin:.8em auto 0;
  text-align: center;
  font-size: 1.6rem;
}

@media only screen and (max-width: 767px) {
  .rc-popup {
    background: #fff;
    padding: calc(calc(15/375) * 100vw) calc(calc(16/375) * 100vw);
    position: relative;
    width: calc(calc(345/375) * 100vw);
    box-shadow: calc(calc(7/375) * 100vw) calc(calc(7/375) * 100vw) calc(calc(5/375) * 100vw) rgba(0, 0, 0, 0.55);
  }

  .rc-popup-close {
    display: none;
  }

  .rc-popup-body{
    width: 100%;
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }

  .rc-popup-title {
    grid-column: 1 / 3;
    width: 100%;
    height: calc(calc(38/375) * 100vw);
    font-size: 2rem;
    margin-bottom: calc(calc(6/375) * 100vw);
  }

  .rc-popup-sub {
    grid-column: 1 / 3;
    grid-row: 2;
    font-size: 1.6rem;
    margin-bottom: calc(calc(15/375) * 100vw);
  }

  .rc-mark-text{
    grid-column: 1 / 3;
    grid-row: 4;
  }

  .rc-week-prev{
    grid-column: 1;
    grid-row: 3;
    align-self: start;
  }
  .rc-week-next{
    grid-column: 2;
    grid-row: 3;
    align-self: start;
    justify-self: end;
  }

  .rc-week-table{
    grid-column: 1 / 3;
    grid-row: 5;
  }

  .rc-mark-text{
    margin: calc(calc(15/375) * 100vw) 0 calc(calc(4/375) * 100vw);
    flex-flow: column;
    gap: calc(calc(2/375) * 100vw) 0;
  }
    .rc-mark-text .rc-popup-legend {
      font-size: 1.4rem;
    }
      .rc-mark-text .rc-popup-legend span{
        font-size: 1.5rem;
      }

    .rc-mark-text .rc-legend-closed {
      width: calc(calc(26/375) * 100vw);
      height: calc(calc(15/375) * 100vw);
    }

  .rc-week-nav {
    width: calc(calc(107/375) * 100vw);
    height: calc(calc(26/375) * 100vw);
    border: calc(calc(1/375) * 100vw) solid #000;
    font-size: 1.5rem;
  }
    .rc-week-table th{
      height: calc(calc(46/375) * 100vw);
      border: calc(calc(1/375) * 100vw) solid #000;
    }
      .rc-week-table th .rc-dow{
        font-size: 1.4rem;
      }
    .rc-week-table .ym{
      height: calc(calc(31/375) * 100vw);
    }
    .rc-week-table td {
      border: calc(calc(1/375) * 100vw) solid #000;
      text-align: center;
      height: calc(calc(32/375) * 100vw);
      font-size: 1.5rem;
      line-height: 1;
    }
  .rc-time {
    font-size: 1.5rem;
  }
  .notice{
    max-width: none;
    margin:.8em auto 0;
    text-align: center;
    font-size: 1rem;
  }
}

/* ==========================================================================
   共通設定
========================================================================== */

html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
	overflow-y:scroll;
}

body {
	font-family: 'Noto Sans','Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','游ゴシック', '游ゴシック体','メイリオ',Meiryo,sans-serif;
	font-feature-settings : 'pkna';
	color:#000;
	color:var(--color);
	text-align: justify;
	text-justify: inter-ideograph;
	font-optical-sizing: auto;
	width:100%;
  min-width: 1240px;
	font-size: 1.6rem;
	line-height: 1.4;
	overflow: hidden;
}

img{
	vertical-align:bottom;
	max-width: 100%;
	height: auto;
  backface-visibility: hidden;
}

a{
	color:#000;
	color:var(--color);
	text-decoration: none;
	display: inline-block;
}

a:hover{
	opacity:0.8;
}

.spShow{
	display: none;
}

.pcShow{
	display: inline-block;
}

.container{
	display: grid;
	grid-template-columns: 100%;
  grid-template-rows: 1fr auto;
}

.header{
	grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 2;
}

.pageContainer{
	grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 1;
	min-height: 100vh;
}

.footer{
	grid-column: 1;
  grid-row: 2;
  z-index: 1;
}

button{
  background: none;
  border: none;
  padding: 0;
  outline: none;
}

button:focus{
    outline: none;
  }

button:hover{
    opacity:0.8;
  }

button:disabled{
    opacity:1;
  }

button:disabled:hover{
      opacity:1;
    }

.notoSerif{
	font-family: "Noto Serif JP", serif;
}

/* ==========================================================================
   header
========================================================================== */

.header{
	min-width: 1240px;
	width: 100%;
	height: 92px;
	display: flex;
	align-items: center;
}

.header .inner{
		max-width: 1300px;
		margin-inline: auto;
		padding: 0 20px 0 65px;
		display: grid;
		grid-template-columns: 1fr 265px;
		gap: 0 55px;
	}

.header .logo{
		grid-column: 2;
		grid-row: 1;
		align-self: center;
	}

.header .pcNavi{
		grid-column: 1;
		grid-row: 1;
	}

.header .pcNavi ul{
			font-size: 1.5rem;
			line-height: 1;
			letter-spacing: .075em;
			display: flex;
			gap: clamp( 30px, calc( -259.75px + 23.75vw ), 49px );
		}

.header .pcNavi a{
			color: #fff;
		}

.gNav{
	display: none;
}

.hideHeader{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 900;
	opacity: 0;
	transition: opacity .3s;
}

.fixHeader{
	display: flex;
  animation: menuIn .3s 1 0s ease-in forwards;
	background: #fff;
	opacity: 1;
}

.fixHeader .pcNavi a{
			color: #000;
		}

.headerFadeOut{
	animation: menuOut .3s 1 0s ease-in forwards;
}

/* ==========================================================================
   footer
========================================================================== */

.footer{
	padding: 48px 0 100px;
	background: #fff;
}

.footer .inner{
		max-width: 1035px;
		margin-inline: auto;
		display: grid;
		grid-template-columns: auto 1fr auto;
		grid-template-rows: auto 1fr;
	}

.footer header{
		grid-column: 1;
		grid-row: 1;
	}

.footer header h2{
			font-size: 2rem;
			line-height: 1.65;
			letter-spacing: .2em;
			font-weight: 400;
		}

.footer header h2 a{
				font-size: 2.5rem;
				font-weight: 700;
			}

.footer header p{
			margin-top: 10px;
			font-size: 1.2rem;
			letter-spacing: .025em;
		}

.footer .telBox{
		grid-column: 2;
		grid-row: 1;
		width: -moz-fit-content;
		width: fit-content;
		justify-self: center;
	}

.footer .telBox .tel{
			display: flex;
			gap: 7px;
			font-size: 2.2rem;
			letter-spacing: .085em;
			line-height: 1;
		}

.footer .telBox .tel::before{
				content: '';
				width: 24px;
				height: 32px;
				background: url('../../img/tel_icon.svg') no-repeat center center / contain;
				flex-shrink: 0;
			}

.footer .telBox .time{
			font-weight: 300;
			font-size: 1.4rem;
			line-height: 1;
			letter-spacing: .05em;
			margin-top: 3px;
			padding-left: 31px;
		}

.footer .telBox .holiday{
			font-weight: 300;
			font-size: 1.2rem;
			line-height: 1;
			letter-spacing: .05em;
			margin-top: 13px;
			padding-left: 31px;
		}

.footer .snsList{
		grid-column: 3;
		grid-row: 1;
		display: flex;
		justify-content: flex-end;
		gap: 13px;
		padding-right: 35px;
	}

.footer .copyright{
		grid-column: 1 / 4;
		grid-row: 2;
		margin-top: 67px;
		line-height: 1;
		font-size: 1.2rem;
		letter-spacing: .075em;
		text-align: center;
	}

.fixLink{
	display: none;
	position: fixed;
	left: 50%;
	translate: -50% 0;
	bottom: 25px;
	width: 336px;
	height: 46px;
	z-index: 10;
}

.fixLink ul{
		width: 100%;
		height: 100%;
		background: #fff;
		display: grid;
		grid-template-columns: 1fr 1fr;
		border-radius: 23px;
		overflow: hidden;
		font-size: 1.5rem;
		letter-spacing: .075em;
	}

.fixLink li:first-child{
		position: relative;
	}

.fixLink li:first-child::after{
			content: '';
			width: 1px;
			height: 30px;
			background: #999999;
			position: absolute;
			top: 50%;
			right: 0;
			translate: 0 -50%;
		}

.fixLink a{
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		transition: background .3s linear;
	}

@media (hover:hover){
			.fixLink a:hover{
				opacity: 1;
				background: #000;
				color: #fff;
			}
		}

.pagetop{
	display: none;
	position: fixed;
	right: 55px;
	bottom: 25px;
	z-index: 10;
	width: 55px;
	height: 55px;
}

.pagetop .inner{
		width: 100%;
		height: 100%;
		border: 1px solid #000;
		border-radius: 50%;
		display: flex;
		flex-flow: column;
		justify-content: center;
		align-items: center;
		text-align: center;
		font-size: 1.5rem;
		line-height: 1;
		color: #000;
	}

.pagetop .inner::before{
			content: '';
			width: 7px;
			height: 14px;
			background-color: #000;
			-webkit-mask-image: url('../../img/pagetop.svg');
			        mask-image: url('../../img/pagetop.svg');
			-webkit-mask-position: center;
			        mask-position: center;
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-size: contain;
			        mask-size: contain;
			margin-bottom: 3px;
		}

.infoBanner{
	display: none;
	position: fixed;
	right: 55px;
	bottom: 90px;
	z-index: 10;
	width: 320px;
}

.infoBanner a{
		background: #f1efeb;
		transition: background .3s linear;
		display: block;
	}

@media (hover:hover) {
			.infoBanner a:hover{
				opacity: 1;
				background: #c2b9b6;
			}
		}

.infoBanner .bannerClose{
		position: absolute;
		top: 7px;
		right: 8px;
		width: 19px;
		cursor: pointer;
	}

.infoBanner .bannerClose:hover{
			opacity: .8;
		}

/* ==========================================================================
   FV
========================================================================== */

.homePage .fvSlideWrapper{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100svh;
		z-index: -1;
		display: grid;
		grid-template-columns: 100%;
		grid-template-rows: auto;
	}

.homePage .fvSlideWrapper >header{
			grid-column: 1;
			grid-row: 1;
			z-index: 2;
			align-self: center;
			justify-self: center;
			color: #fff;
			text-align: center;
		}

.homePage .fvSlideWrapper >header h1{
				font-size: 3.7rem;
				letter-spacing: .2em;
				font-weight: 400;
				line-height: 1;
			}

.homePage .fvSlideWrapper >header p{
				margin-top: 37px;
				font-size: 2.2rem;
				line-height: 1.68;
				font-weight: 200;
				letter-spacing: .075em;
			}

.homePage .fvSlide{
		grid-column: 1;
		grid-row: 1;
		z-index: 1;
		height: 100svh;
		overflow: hidden;
	}

.homePage .fvSlide .splide__track{
			height: 100%;
		}

.homePage .fvSlide .splide__slide picture{
				height: 100%;
			}

.homePage .fvSlide .splide__slide img {
				transition: 9s linear;
				height: 100%;
				width: 100%;
				-o-object-fit: cover;
				   object-fit: cover;
			}

.homePage .fvSlide .splide__slide.is-active img {
			transform: scale(1.1);
			transition-delay: 0s;
		}

/* ==========================================================================
   「暮らしの試着」
========================================================================== */

.homePage .wrapper{
		background: #fff;
		margin-top: 100svh;
		padding-top: 81px;
	}

.homePage .topSection >h2{
			text-align: center;
			font-size: 2.3rem;
			line-height: 1.73;
			letter-spacing: .2em;
			font-weight: 400;
			margin-bottom: 40px;
		}

.homePage .topSection ul{
			max-width: 1200px;
			margin-inline: auto;
			display: grid;
			grid-template-columns: repeat(3,1fr);
			gap: 19px;
			height: 580px;
		}

.homePage .topSection li{
			height: 100%;
		}

.homePage .topSection li a{
				height: 100%;
				display: grid;
				grid-template-columns: 100%;
				grid-template-rows: auto;
				text-align: center;
				
			}

.homePage .topSection li .textBox{
				grid-column: 1;
				grid-row: 1;
				z-index: 2;
				justify-self: center;
				margin-top: 234px;
				color: #fff;
			}

.homePage .topSection li .textBox p{
					text-shadow: 0 0 3px rgba(0, 0, 0, .75);
				}

.homePage .topSection li .textBox .title{
					font-size: 2.2rem;
					line-height: 1;
					letter-spacing: .2em;
				}

.homePage .topSection li .textBox .notoSerif{
					margin-top: 30px;
					font-size: 1.7rem;
					font-weight: 200;
					letter-spacing: .025em;
				}

.homePage .topSection li .bkImg{
				grid-column: 1;
				grid-row: 1;
				z-index: 1;
				width: 100%;
				height: 100%;
				-o-object-fit: cover;
				   object-fit: cover;
			}

/* ==========================================================================
   「暮らしの試着」
========================================================================== */

.homePage .calendar{
		margin: 80px auto 0;
		max-width: 1200px;
		display: grid;
		grid-template-columns: 1fr 457px;
	}

.homePage .calendar .textBox{
			grid-column: 1;
			grid-row: 1;
			text-align: center;
		}

.homePage .calendar .calendarBox{
			grid-column: 2;
			grid-row: 1;
			align-self: center;
		}

.homePage .calendar .textBox .titleHeader{
				margin-bottom: 60px;
			}

.homePage .calendar .textBox .titleHeader h2{
					font-size: 2.2rem;
					letter-spacing: .025em;
					line-height: 1;
					font-weight: 400;
				}

.homePage .calendar .textBox .titleHeader p{
					font-size: 2rem;
					font-weight: 200;
					line-height: 1;
					letter-spacing: .075em;
					margin-top: 25px;
				}

.homePage .calendar .textBox .text{
				font-size: 1.7rem;
				letter-spacing: .025em;
				line-height: 1.94;
				font-weight: 200;
			}

.homePage .calendar .textBox .arrowText{
				margin: 40px auto 0;
				width: 182px;
				background: url('../../img/text_arrow.svg') no-repeat center bottom / contain;
				padding-bottom: 10px;
				font-size: 1.5rem;
				line-height: 1;
				letter-spacing: .2em;
			}

.homePage .calendar .textBox .goForm{
				width: 248px;
				height: 40px;
				margin: 35px auto 0;
				display: flex;
				justify-content: center;
				align-items: center;
				border-radius: 7px;
				background: #000;
				color: #fff;
				font-size: 1.5rem;
				letter-spacing: .025em;
				line-height: 1;
			}

/* ==========================================================================
   暮らしの試着会
========================================================================== */

.homePage .event{
		max-width: 1200px;
		margin: 120px auto 0;
		display: grid;
		grid-template-columns: 232px 1fr;
		gap:0 63px;
		position: relative;
		/* バックドロップのスタイル */
	}

.homePage .event::before{
			content: '';
			width: 100vw;
			height: 100%;
			background: #fff;
			position: absolute;
			top: 0;
			right: 50%;
			z-index: 2;
			margin-right: 310px;
		}

.homePage .event >header{
			grid-column: 1;
			grid-row: 1;
			justify-self: center;
			align-self: center;
			text-align: center;
			position: relative;
			z-index: 3;
		}

.homePage .event >header h2{
				font-size: 2rem;
				line-height: 1;
				letter-spacing: .05em;
				font-weight: 400;
			}

.homePage .event >header p{
				margin-top: 50px;
				font-size: 1.7rem;
				line-height: 1.94;
				letter-spacing: .025em;
			}

.homePage .event .eventSlide{
			position: relative;
			z-index: 1;
			width: 716px;
			overflow: visible;
		}

.homePage .event .eventSlide .splide__track{
				overflow: visible;
			}

.homePage .event .eventListBtn{
			display: grid;
			grid-template-columns: 100%;
			grid-template-rows: auto;
			cursor: pointer;
		}

.homePage .event .eventListBtn .name{
				grid-column: 1;
				grid-row: 1;
				z-index: 2;
				justify-self: center;
				align-self: center;
				background: rgba(96, 96, 96, .5);
				border: 1px solid #fff;
				width: -moz-fit-content;
				width: fit-content;
				padding: 5px 10px;
				min-width: 156px;
				min-height: 46px;
				display: flex;
				justify-content: center;
				align-items: center;
				color: #fff;
				font-size: 1.6rem;
				letter-spacing: .2em;
			}

.homePage .event .eventListBtn .imgBox{
				grid-column: 1;
				grid-row: 1;
				z-index: 1;
			}

.homePage .event .eventListBtn .imgBox img{
					width: 100%;
					height: 100%;
					-o-object-fit: cover;
					   object-fit: cover;
				}

.homePage .event .dialog {
			width: min(calc(100% - 20px),1066px);
			padding: 0;
			border: none;
			background: #fff;
			outline: none;
			/* アニメーションの初期状態 */
			opacity: 0;
			transition: opacity .6s ease;
			overflow: hidden;
			height: 575px;
			box-shadow: 7px 7px 5px rgba(0, 0, 0, .5);
		}

.homePage .event .dialog::backdrop {
			background-color: rgba(0, 0, 0, 0.5);
			opacity: 0;
			transition: opacity .6s ease;
		}

.homePage .event .dialogShow{
			opacity: 1;
		}

.homePage .event .dialogShow::backdrop{
			opacity: 1;
		}

.homePage .event .dialogHide{
			opacity: 0;
		}

.homePage .event .dialogHide::backdrop{
			opacity: 0;
		}

.homePage .event .dialogContent{
			display: grid;
			grid-template-columns: 519px 1fr;
		}

.homePage .event .dialogContent .textBox{
				grid-column: 2;
				grid-row: 1;
				padding: 71px 38px 35px;
				height: 575px;
				overflow-y: auto;
				overscroll-behavior-y: none;
			}

.homePage .event .dialogContent .textBox h2{
					font-size: 2.2rem;
					line-height: 1.68;
					font-weight: 400;
					letter-spacing: .2em;
					margin-bottom: 30px;
					text-align: center;
				}

.homePage .event .dialogContent .textBox .text{
					font-size: 1.7rem;
					line-height: 1.47;
					letter-spacing: .025em;
				}

.homePage .event .dialogContent .textBox dl{
					margin: 50px auto 0;
					width: -moz-fit-content;
					width: fit-content;
					display: grid;
					grid-template-columns: auto 1fr;
					font-size: 1.7rem;
					line-height: 1.94;
				}

.homePage .event .dialogContent .textBox .place a{
						background: #f1efeb;
						width: 124px;
						height: 24px;
						display: grid;
						place-content: center;
						font-size: 1.5rem;
						border-radius: 12px;
					}

.homePage .event .dialogContent .textBox .reservation{
					margin: 45px auto 0;
					background: #f1efeb;
					width: 312px;
					height: 46px;
					display: grid;
					place-content: center;
					font-size: 1.7rem;
					letter-spacing: .05em;
					border-radius: 24px;
				}

.homePage .event .dialogContent .imgBox{
				grid-column: 1;
				grid-row: 1;
			}

.homePage .event .dialogContent .imgBox picture{
					height: 100%;
				}

.homePage .event .dialogContent .imgBox img{
					width: 100%;
					height: 100%;
					-o-object-fit: cover;
					   object-fit: cover;
				}

/* ==========================================================================
   自由設計
========================================================================== */

.homePage .customDesign{
		margin: 100px auto 0;
		max-width: 1365px;
	}

.homePage .customDesign .topRow{
			display: grid;
			grid-template-columns: 755px 1fr;
		}

.homePage .customDesign .topRow .textBoxTop{
				grid-column: 2;
				grid-row: 1;
			}

.homePage .customDesign .topRow .imgBoxTop{
				grid-column: 1;
				grid-row: 1;
			}

.homePage .customDesign .secTitle{
			text-align: center;
		}

.homePage .customDesign .secTitle p{
				font-size: 2rem;
				line-height: 1;
				letter-spacing: .025em;
			}

.homePage .customDesign .secTitle h2{
				margin-top: 20px;
				font-size: 2.7rem;
				letter-spacing: .2em;
				font-weight: 400;
			}

.homePage .customDesign .textBoxTop >p{
				text-align: center;
				margin-top: 70px;
				font-size: 1.7rem;
				line-height: 1.94;
				letter-spacing: .025em;
			}

.homePage .customDesign .typeListSec{
			margin-top: 120px;
		}

.homePage .customDesign .typeListSec .title{
				text-align: center;
				font-size: 2rem;
				letter-spacing: .05em;
				line-height: 1;
				font-weight: 400;
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 0 .3em;
			}

.homePage .customDesign .typeListSec .title::before,.homePage .customDesign .typeListSec .title::after{
					content: '―';
					flex-shrink: 0;
				}

.homePage .customDesign .typeListSec .toptext{
				text-align: center;
				margin-top: 30px;
				font-size: 1.7rem;
				line-height: 1.94;
				letter-spacing: .025em;
			}

.homePage .customDesign .typeListSec .imgRow{
				margin-top: 50px;
				display: grid;
				grid-template-columns: repeat(3,1fr);
			}

.homePage .customDesign .typeList{
			max-width: 1200px;
			margin: 114px auto 0;
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 24px;
		}

.homePage .customDesign .typeList li{
				border: 3px solid #f1efeb;
				text-align: center;
				padding-bottom: 15px;
			}

.homePage .customDesign .typeList .name{
				background: #f1efeb;
				height: 58px;
				display: flex;
				justify-content: center;
				align-items: center;
				gap: 0 13px;
				letter-spacing: .05em;
				line-height: 1;
				font-size: 3.8rem;
				font-weight: 500;
				margin-bottom: 22px;
			}

.homePage .customDesign .typeList .name span{
					font-size: 1.7rem;
					font-weight: 400;
				}

.homePage .customDesign .typeList figure{
				display: inline-block;
			}

.homePage .customDesign .typeList .koya .name{
					margin-bottom: 44px;
				}

.homePage .customDesign .typeList .koya .catch{
					font-size: 2rem;
					letter-spacing: .05em;
					line-height: 1;
					margin-bottom: 22px;
				}

.homePage .customDesign .typeList .koya .text{
					font-size: 1.7rem;
					line-height: 1.29;
					letter-spacing: .025em;
				}

.homePage .customDesign .typeList .koya figure{
					margin-top: 25px;
				}

/* ==========================================================================
   暮らしの試着 & 至高の品質
========================================================================== */

.homePage .imgSection{
		max-width: 1366px;
		margin-inline: auto;
		display: grid;
	}

.homePage .imgSection .secTitle{
			text-align: center;
		}

.homePage .imgSection .secTitle p{
				font-size: 2rem;
				line-height: 1;
				letter-spacing: .025em;
			}

.homePage .imgSection .secTitle h2{
				margin-top: 20px;
				font-size: 2.7rem;
				letter-spacing: .2em;
				font-weight: 400;
			}

.homePage .imgSection .description{
			text-align: center;
			margin-top: 60px;
		}

.homePage .imgSection .description p{
				font-size: 1.7rem;
				line-height: 1.94;
				letter-spacing: .025em;
			}

.homePage .imgSection .description .small{
				font-size: 1.5rem;
			}

.homePage .imgSection .description p + p{
				margin-top: 1em;
			}

.homePage .lifeStyleTrial{
		margin-top: 140px;
		grid-template-columns: 1fr 755px;
		
	}

@media (max-width: 1300px){

.homePage .lifeStyleTrial{
			grid-template-columns: 1fr calc(calc(755/1366) * 100%)
		
	}
		}

.homePage .lifeStyleTrial{
		gap: 30px;
}

.homePage .lifeStyleTrial .textBox{
			grid-column: 1;
			grid-row: 1;
			justify-self: end;
		}

.homePage .lifeStyleTrial .imgBox{
			grid-column: 2;
			grid-row: 1;
		}

.homePage .premiumQuality{
		margin-top: 140px;
		grid-template-columns: 755px 1fr;
	}

@media (max-width: 1300px){

.homePage .premiumQuality{
			grid-template-columns: calc(calc(755/1366) * 100%) 1fr
	}
		}

.homePage .premiumQuality{
		gap: 30px;
}

.homePage .premiumQuality .textBox{
			grid-column: 2;
			grid-row: 1;
			display: flex;
			flex-flow: column;
			justify-content: center;
		}

.homePage .premiumQuality .imgBox{
			grid-column: 1;
			grid-row: 1;
		}

/* ==========================================================================
   HANDS LOG  Concept
========================================================================== */

.homePage .concept{
		margin-top: 120px;
	}

.homePage .concept h2{
			text-align: center;
			font-size: 2.3rem;
			letter-spacing: .2em;
			line-height: 1;
			font-weight: 400;
			margin-bottom: 32px;
		}

.homePage .concept .toptext{
			font-size: 2rem;
			line-height: 1.85;
			letter-spacing: .02em;
			text-align: center;
		}

.homePage .concept .movie{
			margin-top: 30px;
			display: grid;
			grid-template-columns: 100%;
			grid-template-rows: 496px;
		}

.homePage .concept .movie a{
				grid-column: 1;
				grid-row: 1;
				z-index: 2;
				justify-self: center;
				align-self: center;
				color: #fff;
				text-align: center;
			}

.homePage .concept .movie a .notoSerif{
					font-size: 1.7rem;
					line-height: 1.29;
					font-weight: 500;
					letter-spacing: .075em;
					box-shadow: 0 0 3px rgba(0, 0, 0, .75);
				}

.homePage .concept .movie a .name{
					margin-top: 25px;
					font-size: 1.5rem;
					line-height: 1;
					letter-spacing: .075em;
				}

.homePage .concept .movie a .name::before{
						content: '';
						width: 27px;
						height: 30px;
						background: url('../../img/play_icon.svg') no-repeat center center / contain;
						display: block;
						margin: 0 auto 20px;
					}

.homePage .concept .movie .bk{
				grid-column: 1;
				grid-row: 1;
				z-index: 1;
			}

.homePage .concept .movie .bk pictuer{
					display: inline-block;
				}

.homePage .concept .movie .bk img{
					width: 100%;
					height: 496px;
					-o-object-fit: cover;
					   object-fit: cover;
				}

/* ==========================================================================
   鎌倉モデルハウス
========================================================================== */

.homePage .modelHouse{
		margin: 100px auto 0;
		max-width: 1200px;
		display: grid;
		grid-template-columns: 546px 1fr;
		grid-template-rows: auto 1fr;
		gap: 0 45px;
	}

.homePage .modelHouse >h2{
			grid-column: 1 / 3;
			grid-row: 1;
			margin-bottom: 51px;
			text-align: center;
			font-size: 2.7rem;
			letter-spacing: .2em;
			line-height: 1;
			font-weight: 400;
		}

.homePage .modelHouse .description{
			grid-column: 2;
			grid-row: 2;
		}

.homePage .modelHouse .description h2{
				font-size: 1.7rem;
				line-height: 1;
				letter-spacing: .025em;
				font-weight: 200;
				margin-bottom: 30px;
			}

.homePage .modelHouse .description .text{
				font-size: 1.7rem;
				line-height: 1.94;
				letter-spacing: .025em;
				font-weight: 200;
			}

.homePage .modelHouse .description .text small{
					font-size: 1.5rem;
					font-weight: 400;
				}

.homePage .modelHouse .description .text + .text{
				margin-top: 2em;
			}

.homePage .modelHouse .description .goform{
				margin-top: 30px;
				width: 406px;
				height: 37px;
				border: 1px solid #000;
				border-radius: 7px;
				display: grid;
				place-content: center;
				font-size: 1.5rem;
				text-align: center;
			}

.homePage .modelHouse .imgBox{
			grid-column: 1;
			grid-row: 2;
		}

/* ==========================================================================
   コンタクト
========================================================================== */

.homePage .contact{
		margin-top: 90px;
		background: #f1efeb;
		padding: 75px 0 40px;
	}

.homePage .contact >h2{
			text-align: center;
			line-height: 1;
			font-size: 2.9rem;
			letter-spacing: .2em;
			font-weight: 400;
			margin-bottom: 30px
		}

.homePage .contact .toptext{
			text-align: center;
			font-size: 1.6rem;
			line-height: 2.1;
		}

.homePage .contact .contactInner{
			margin-top: 50px;
		}

/* ==========================================================================
   サンクスページ
========================================================================== */

.thanksPageHeader .inner{
		width: 100%;
		grid-template-columns: 100%;
	}

.thanksPageHeader .logo{
		grid-column: 1;
		width: 147px;
	}

.thanksPageHeader .pcNavi{
		display: none;
	}

.thanksPage{
	margin-top: 160px;
	padding-bottom: 100px;
}

.thanksPage h1{
		width: 266px;
		margin-inline: auto;
		text-align: center;
		line-height: 1;
	}

.thanksPage .thanksText{
		max-width: 863px;
		margin: 60px auto 0;
	}

.thanksPage .thanksText >h2{
			text-align: center;
			font-size: 4.1rem;
			line-height: 1.25;
			margin-bottom: 35px;
		}

.thanksPage .thanksText p{
			font-size: 1.7rem;
			text-align: center;
			line-height: 1.74;
		}

.thanksPage .thanksText .notice{
			margin-top: 3.5em;
		}

.thanksPage .thanksText .notice h2{
				font-size: 1.7rem;
				font-weight: 400;
				line-height: 1.74;
				text-align: center;
			}

.thanksPage .thanksText .kakutei{
			margin-top: 2em;
		}

.thanksPage .thanksText .oisogi{
			margin-top: 3.7em;
		}

.thanksPage .thanksText .oisogi small{
				font-size: 1.4rem;
			}

.thanksPage .thanksText .kome{
			margin-top: 7em;
		}

/* ==========================================================================
   end
========================================================================== */

@media only screen and (max-width: 767px) {
  html{
    font-size: calc(100vw / 37.5);
  }
body {
  min-width: 0;
	width:100%;
  font-size: 1.4rem;
  font-weight: 400;
}
img{
	width: 100%;
}
.spShow{
	display: inline-block;
}
.pcShow{
	display: none;
}
/* ==========================================================================
   header
========================================================================== */
.header{
	min-width: 0;
	width: 100%;
	height: calc(calc(51/375) * 100vw);
	display: grid;
	grid-template-columns: 100%;
	padding: 0 calc(calc(24/375) * 100vw);
}
	.header .inner{
		padding: 0;
	}
	.header .logo,.header .pcNavi{
		display: none;
	}
	.header .menuBtn{
		margin-top: 0;
    width: calc(calc(32/375) * 100vw);
    position: fixed;
		top: calc(calc(24/375) * 100vw);
		left: calc(calc(24/375) * 100vw);
		z-index: 900;
  }
    .header .menuBtn button{
      width: 100%;
      height: 100%;
      line-height: 1;
    }
		.header .menuBtn .btnInner{
			display: grid;
      grid-template-columns: 100%;
      grid-template-rows: calc(calc(1.5/375) * 100vw) calc(calc(1.5/375) * 100vw) calc(calc(1.5/375) * 100vw);
      justify-content: center;
      gap: calc(calc(8/375) * 100vw) 0;
		}
			.header .menuBtn .btnInner .line{
				background: #fff;
			}
		.header .menuBtn p{
			line-height: 1;
			font-size: 1.1rem;
			margin-top: calc(calc(7/375) * 100vw);
			text-align: center;
			color: #fff;
			width: -moz-max-content;
			width: max-content;
		}
.hideHeader{
	display: block;
	opacity: 1;
	transition: none;
}

.fixHeader{
	display: grid;
  animation: none;
	background: none;
	opacity: 1;
}
			.fixHeader .menuBtn .btnInner .line{
				background: #000;
			}
		.fixHeader .menuBtn p{
			color: #000;
		}
.headerFadeOut{
	animation: none;
}
/* ==========================================================================
   gNav
========================================================================== */
.gNav{
	display: none;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
	overflow-y: auto;
  overscroll-behavior-y: none;
	z-index: 9001;
	background: #fff;
	padding: calc(calc(86/375) * 100vw) 0 calc(calc(55/375) * 100vw);
}
	.gNav .inner{
		 margin: auto;
	}
	.gNav h2{
		width: calc(calc(233/375) * 100vw);
		margin-inline: auto;
	}
	.gNav .pageLink{
		margin-top: calc(calc(35/375) * 100vw);
		font-size: 1.5rem;
		letter-spacing: .075em;
		line-height: 1;
		text-align: center;
	}
		.gNav .pageLink li + li{
			margin-top: calc(calc(20/375) * 100vw);
		}
	.gNav .formLink{
		width: calc(calc(242/375) * 100vw);
		margin: calc(calc(37/375) * 100vw) auto 0;
		padding: calc(calc(37/375) * 100vw) calc(calc(11/375) * 100vw) 0;
		border-top: calc(calc(1/375) * 100vw) solid #000;
		font-size: 1.5rem;
		letter-spacing: .075em;
		line-height: 1;
		display: flex;
		flex-flow: row wrap;
		justify-content: center;
		gap: calc(calc(25/375) * 100vw) 0;
	}
		.gNav .formLink li{
			flex: 0 1 50%;
		}
		.gNav .formLink li:nth-child(2){
			text-align: right;
		}
		.gNav .formLink li:nth-child(3){
			text-align: center;
		}
	.gNav .snsList{
		margin-top: calc(calc(46/375) * 100vw);
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 0 calc(calc(13/375) * 100vw);
	}
		.gNav .snsList li{
			flex: 0 1 calc(calc(37/375) * 100vw);
		}
		.gNav .snsList .line{
			flex: 0 1 calc(calc(33/375) * 100vw);
		}
	.gNav .closeBtn{
		position: absolute;
		width: calc(calc(24/375) * 100vw);
		top: calc(calc(27/375) * 100vw);
		right: calc(calc(27/375) * 100vw);
	}
.navOpen{
  display: flex;
  animation: menuIn .4s 1 0s ease-in forwards;
}
.navClose{
  animation: menuOut .4s 1 0s ease-out forwards;
}
/* ==========================================================================
   footer
========================================================================== */
.footer{
	padding: calc(calc(23/375) * 100vw) 0 calc(calc(62/375) * 100vw);
}
	.footer .inner{
		max-width: none;
		margin-inline: auto;
		display: grid;
		grid-template-columns: 100%;
		grid-template-rows: auto auto auto auto 1fr;
	}
	.footer header{
		grid-column: 1;
		grid-row: 1;
	}
		.footer header h2{
			font-size: 1.2rem;
			line-height: 1;
			letter-spacing: .2em;
			text-align: center;
		}
			.footer header h2 a{
				display: inline-block;
				font-size: 1.5rem;
				margin-bottom: calc(calc(18/375) * 100vw);
			}
		.footer header p{
			display: none;
		}
	.footer .telBox{
		grid-column: 1;
		grid-row: 3;
		text-align: center;
		margin-top: calc(calc(19/375) * 100vw);
	}
		.footer .telBox .tel{
			display: flex;
			justify-content: center;
			gap: calc(calc(6/375) * 100vw);
			font-size: 1.85rem;
		}
			.footer .telBox .tel::before{
				width: calc(calc(20/375) * 100vw);
				height: calc(calc(27/375) * 100vw);
			}
		.footer .telBox .time{
			font-size: 1.15rem;
			margin-top: calc(calc(10/375) * 100vw);
			padding-left: 0;
		}
		.footer .telBox .holiday{
			font-size: 1rem;
			margin-top: calc(calc(10/375) * 100vw);
			padding-left: 0;
		}
	.footer .snsList{
		grid-column: 1;
		grid-row: 2;
		justify-content: center;
		padding-right: 0;
		margin-top: calc(calc(17/375) * 100vw);
		gap: 0 calc(calc(13/375) * 100vw);
	}
		.footer .snsList li{
			flex: 0 1 calc(calc(37/375) * 100vw);
		}
		.footer .snsList .line{
			flex: 0 1 calc(calc(33/375) * 100vw);
		}
	.footer .company{
		grid-column: 1;
		grid-row: 4;
		margin-top: calc(calc(31/375) * 100vw);
		font-size: 1rem;
		line-height: 1;
		text-align: center;
	}
	.footer .copyright{
		grid-column: 1;
		grid-row: 5;
		margin-top: calc(calc(10/375) * 100vw);
		font-size: 1rem;
	}
.fixLink{
	left: 0;
	translate: 0;
	bottom: 0;
	width: 100%;
	height: calc(calc(37/375) * 100vw);
}
	.fixLink ul{
		background: #dbdcdc;
		font-size: 1.1rem;
		border-radius: 0;
	}
	.fixLink li:first-child{
		position: relative;
	}
		.fixLink li:first-child::after{
			width: calc(calc(1/375) * 100vw);
			height: calc(calc(20/375) * 100vw);
		}
		.fixLink a:hover{
			opacity: 1;
		}
.pagetop{
	right: calc(calc(23/375) * 100vw);
	bottom: calc(calc(47/375) * 100vw);
	z-index: 10;
	width: calc(calc(35/375) * 100vw);
	height: calc(calc(35/375) * 100vw);
}
	.pagetop .inner{
		border: calc(calc(1/375) * 100vw) solid #000;
		font-size: .95rem;
	}
		.pagetop .inner::before{
			width: calc(calc(5/375) * 100vw);
			height: calc(calc(9/375) * 100vw);
			margin-bottom: calc(calc(3/375) * 100vw);
		}
.infoBanner{
	display: none;
	position: fixed;
	right: calc(calc(13/375) * 100vw);
	bottom: calc(calc(97/375) * 100vw);
	z-index: 10;
	width: calc(calc(59/375) * 100vw);
}
	.infoBanner a{
		background: none;
	}
	.infoBanner .bannerClose{
		display: none;
	}
/* ==========================================================================
   FV
========================================================================== */
			.homePage .fvSlideWrapper >header h1{
				font-size: 2.1rem;
				font-weight: 500;
			}
			.homePage .fvSlideWrapper >header p{
				margin-top: calc(calc(28/375) * 100vw);
				font-size: 1.5rem;
				line-height: 1.6;
			}
		.homePage .fvSlide .splide__pagination{
			bottom: calc(calc(10/375) * 100vw);
			right: calc(calc(20/375) * 100vw);
			padding: 0;
			justify-content: flex-end;
			gap: calc(calc(5/375) * 100vw);
		}
			.homePage .fvSlide .splide__pagination li{
				width: calc(calc(7/375) * 100vw);
			}
				.homePage .fvSlide .splide__pagination li .splide__pagination__page{
					width: 100%;
					height: calc(calc(7/375) * 100vw);
					background: #fff;
					margin: 0;
					opacity: 1;
				}
				.homePage .fvSlide .splide__pagination li .is-active{
					transform: scale(1);
				}
/* ==========================================================================
   「暮らしの試着」
========================================================================== */
	.homePage .wrapper{
		padding-top: calc(calc(30/375) * 100vw);
	}
		.homePage .topSection >h2{
			font-size: 1.7rem;
			line-height: 1.58;
			margin-bottom: calc(calc(17/375) * 100vw);
		}
		.homePage .topSection ul{
			max-width: calc(calc(342/375) * 100vw);
			grid-template-columns: repeat(3,1fr);
			gap: 0;
			height: calc(calc(102/375) * 100vw);
		}
			.homePage .topSection li a{
				pointer-events: none;
			}
			.homePage .topSection li .textBox{
				display: none;
			}
/* ==========================================================================
   「暮らしの試着」
========================================================================== */
	.homePage .calendar{
		margin: calc(calc(35/375) * 100vw) auto 0;
		max-width: calc(calc(303/375) * 100vw);
		grid-template-columns: 100%;
		
	}
		.homePage .calendar .textBox{
			grid-row: 1;
			text-align: center;
		}
		.homePage .calendar .calendarBox{
			grid-column: 1;
			grid-row: 2;
			margin-top: calc(calc(39/375) * 100vw);
		}
			.homePage .calendar .textBox .titleHeader{
				margin-bottom: calc(calc(30/375) * 100vw);
			}
				.homePage .calendar .textBox .titleHeader h2{
					font-size: 1.7rem;
				}
				.homePage .calendar .textBox .titleHeader p{
					font-size: 1.5rem;
					font-weight: 500;
					margin-top: calc(calc(15/375) * 100vw);
				}
			.homePage .calendar .textBox .text{
				font-size: 1.3rem;
				line-height: 1.84;
				font-weight: 400;
				width: calc(calc(320/375) * 100vw);
				margin-left: calc(-1 * calc(calc(8.5/375) * 100vw));
			}
			.homePage .calendar .textBox .goForm{
				width: calc(calc(164/375) * 100vw);
				height: calc(calc(24/375) * 100vw);
				margin: calc(calc(15/375) * 100vw) auto 0;
				border-radius: calc(calc(7/375) * 100vw);
				background: #fff;
				border: calc(calc(1/375) * 100vw) solid #000;
				color: #000;
				font-size: 1.1rem;
			}
/* ==========================================================================
   暮らしの試着会
========================================================================== */
	.homePage .event{
		max-width: calc(calc(342/375) * 100vw);
		margin: calc(calc(46/375) * 100vw) auto 0;
		grid-template-columns: 100%;
		gap: calc(calc(25/375) * 100vw) 0;
	}
		.homePage .event::before{
			display: none;
		}
		.homePage .event >header{
			grid-column: 1;
			grid-row: 1;
			justify-self: center;
			align-self: center;
			text-align: center;
			position: relative;
			z-index: 3;
		}
			.homePage .event >header p{
				margin-top: calc(calc(20/375) * 100vw);
				font-size: 1.2rem;
				line-height: 1.5;
			}
		.homePage .event .eventSlide{
			grid-column: 1;
			grid-row: 2;
			width: 100%;
			visibility:visible;
		}
			.homePage .event .eventSlide .splide__track{
				overflow: visible;
			}
			.homePage .event .eventSlide .splide__list{
				display: grid;
				grid-template-columns: 1fr 1fr;
				gap: calc(calc(10/375) * 100vw);
			}
			.homePage .event .eventListBtn .name{
				border: calc(calc(1/375) * 100vw) solid #fff;
				width: -moz-fit-content;
				width: fit-content;
				padding: calc(calc(5/375) * 100vw) calc(calc(10/375) * 100vw);
				min-width: calc(calc(104/375) * 100vw);
				min-height: calc(calc(32/375) * 100vw);
				font-size: 1.2rem;
			}
		.homePage .event .dialog {
			width: calc(calc(301/375) * 100vw);
			height: -moz-fit-content;
			height: fit-content;
			box-shadow: calc(calc(7/375) * 100vw) calc(calc(7/375) * 100vw) calc(calc(6/375) * 100vw) rgba(0, 0, 0, .5);
		}
		.homePage .event .dialogContent{
			max-height: 80svh;
			overflow-y: auto;
			overscroll-behavior-y: none;
			display: grid;
			grid-template-columns: 100%;
		}
			.homePage .event .dialogContent .textBox{
				grid-column: 1;
				grid-row: 2;
				padding: calc(calc(20/375) * 100vw) calc(calc(25/375) * 100vw);
				height: auto;
				overflow-y: visible;
			}
				.homePage .event .dialogContent .textBox h2{
					font-size: 1.6rem;
					margin-bottom: calc(calc(15/375) * 100vw);
				}
				.homePage .event .dialogContent .textBox .text{
					font-size: 1.2rem;
					line-height: 1.33;
				}
				.homePage .event .dialogContent .textBox dl{
					margin: calc(calc(24/375) * 100vw) auto 0;
					font-size: 1.5rem;
					line-height: 1.66;
				}
					.homePage .event .dialogContent .textBox .place a{
						margin-top: calc(calc(7/375) * 100vw);
						background: #f1efeb;
						width: calc(calc(94/375) * 100vw);
						height: calc(calc(19/375) * 100vw);
						font-size: 1.2rem;
						border-radius: calc(calc(9/375) * 100vw);
					}
				.homePage .event .dialogContent .textBox .reservation{
					margin: calc(calc(23/375) * 100vw) auto 0;
					width: calc(calc(222/375) * 100vw);
					height: calc(calc(25/375) * 100vw);
					font-size: 1.5rem;
					font-weight: 500;
					border-radius: calc(calc(13/375) * 100vw);
				}
			.homePage .event .dialogContent .imgBox{
				grid-column: 1;
				grid-row: 1;
				height: calc(calc(145/375) * 100vw);
			}
/* ==========================================================================
   自由設計
========================================================================== */
	.homePage .customDesign{
		margin: calc(calc(40/375) * 100vw) auto 0;
		max-width: calc(calc(342/375) * 100vw);
	}
		.homePage .customDesign .topRow{
			display: grid;
			grid-template-columns: 100%;
		}
			.homePage .customDesign .topRow .textBoxTop{
				grid-column: 1;
				grid-row: 2;
				margin-top: calc(calc(35/375) * 100vw);
			}
			.homePage .customDesign .topRow .imgBoxTop{
				grid-column: 1;
				grid-row: 1;
			}
			.homePage .customDesign .secTitle p{
				font-size: 1.5rem;
			}
			.homePage .customDesign .secTitle h2{
				margin-top: calc(calc(15/375) * 100vw);
				font-size: 2rem;
			}
			.homePage .customDesign .textBoxTop >p{
				text-align: center;
				margin-top: calc(calc(30/375) * 100vw);
				font-size: 1.3rem;
				line-height: 1.84;
			}
		.homePage .customDesign .typeListSec{
			margin-top: calc(calc(50/375) * 100vw);
			display: flex;
			flex-flow: column;
		}
			.homePage .customDesign .typeListSec >header{
				order: 2;
				margin-top: calc(calc(25/375) * 100vw);
			}
			.homePage .customDesign .typeListSec .title{
				font-size: 1.5rem;
				line-height: 1.86;
			}
				.homePage .customDesign .typeListSec .title::before,.homePage .customDesign .typeListSec .title::after{
					display: none;
				}
			.homePage .customDesign .typeListSec .toptext{
				margin-top: calc(calc(20/375) * 100vw);
				font-size: 1.3rem;
				line-height: 1.84;
			}
			.homePage .customDesign .typeListSec .imgRow{
				order: 1;
				margin-top: 0;
				display: grid;
				grid-template-columns: repeat(3,1fr);
			}
		.homePage .customDesign .typeList{
			order: 3;
			max-width: none;
			width: calc(calc(300/375) * 100vw);
			margin: calc(calc(27/375) * 100vw) auto 0;
			display: grid;
			grid-template-columns: 100%;
			gap: calc(calc(25/375) * 100vw);
		}
			.homePage .customDesign .typeList li{
				border: calc(calc(2/375) * 100vw) solid #f1efeb;
				text-align: center;
				padding-bottom: calc(calc(5/375) * 100vw);
			}
			.homePage .customDesign .typeList .name{
				height: calc(calc(30/375) * 100vw);
				gap: 0 calc(calc(6/375) * 100vw);
				font-size: 2rem;
				margin-bottom: calc(calc(10/375) * 100vw);
			}
				.homePage .customDesign .typeList .name span{
					font-size: 1rem;
					font-weight: 400;
				}
			.homePage .customDesign .typeList figure{
				display: block;
				width: calc(calc(276/375) * 100vw);
				margin-inline: auto;
			}
				.homePage .customDesign .typeList .hiraya .name{
					gap: 0;
				}
				.homePage .customDesign .typeList .koya .name{
					margin-bottom: calc(calc(12/375) * 100vw);
				}
				.homePage .customDesign .typeList .koya .catch{
					font-size: 1.2rem;
					margin-bottom: calc(calc(14/375) * 100vw);
				}
					.homePage .customDesign .typeList .koya .catch::before{
						content: '';
						width: calc(calc(276/375) * 100vw);
						height: calc(calc(138/375) * 100vw);
						background: url('../../img/sp_plan4_2.png') no-repeat center center / cover;
						display: block;
						margin: 0 auto calc(calc(14/375) * 100vw);
					}
				.homePage .customDesign .typeList .koya .text{
					font-size: 1.1rem;
					line-height: 1.45;
				}
				.homePage .customDesign .typeList .koya figure{
					margin: calc(calc(20/375) * 100vw) auto 0;
					width: calc(calc(280/375) * 100vw);
				}
/* ==========================================================================
   暮らしの試着 & 至高の品質
========================================================================== */
	.homePage .imgSection{
		max-width: none;
	}
			.homePage .imgSection .secTitle p{
				font-size: 1.5rem;
				line-height: 1.53;
			}
			.homePage .imgSection .secTitle h2{
				margin-top: calc(calc(15/375) * 100vw);
				font-size: 2rem;
			}
		.homePage .imgSection .description{
			text-align: center;
			margin-top: calc(calc(30/375) * 100vw);
		}
			.homePage .imgSection .description p{
				font-size: 1.3rem;
				line-height: 1.84;
			}
			.homePage .imgSection .description p + p{
				margin-top: 0;
			}
			.homePage .imgSection .description .small{
				font-size: 1.2rem;
				line-height: 1.5;
				margin-top: calc(calc(20/375) * 100vw);
			}
	.homePage .lifeStyleTrial{
		margin-top: calc(calc(36/375) * 100vw);
		grid-template-columns: 100%;
		gap: calc(calc(25/375) * 100vw);
		
	}
		.homePage .lifeStyleTrial .textBox{
			grid-column: 1;
			grid-row: 2;
			justify-self: center;
		}
		.homePage .lifeStyleTrial .imgBox{
			grid-column: 1;
			grid-row: 1;
		}
	.homePage .premiumQuality{
		margin-top: calc(calc(45/375) * 100vw);
		grid-template-columns: 100%;
		gap: calc(calc(25/375) * 100vw);
	}
		.homePage .premiumQuality .textBox{
			grid-column: 1;
			grid-row: 2;
			display: block;
		}
		.homePage .premiumQuality .imgBox{
			grid-column: 1;
			grid-row: 1;
		}
/* ==========================================================================
   HANDS LOG  Concept
========================================================================== */
	.homePage .concept{
		margin-top: calc(calc(85/375) * 100vw);
	}
		.homePage .concept h2{
			font-size:1.7rem;
			margin-bottom: calc(calc(19/375) * 100vw);
		}
		.homePage .concept .toptext{
			font-size: 1.2rem;
			line-height: 1.6;
		}
		.homePage .concept .movie{
			margin-top: calc(calc(25/375) * 100vw);
			grid-template-rows: calc(calc(261/375) * 100vw);
		}
				.homePage .concept .movie a:hover{
					opacity: 1;
				}
				.homePage .concept .movie a .notoSerif{
					font-size: 1.8rem;
					box-shadow: 0 0 calc(calc(3/375) * 100vw) rgba(0, 0, 0, .75);
				}
				.homePage .concept .movie a .name{
					margin-top: calc(calc(25/375) * 100vw);
					font-size: 1.3rem;
					line-height: 1.26;
				};
					.homePage .concept .movie a .name::before{
						width: calc(calc(24/375) * 100vw);
						height: calc(calc(28/375) * 100vw);
						margin: 0 auto calc(calc(13/375) * 100vw);
					}
				.homePage .concept .movie .bk img{
					height: calc(calc(261/375) * 100vw);
				}
/* ==========================================================================
   鎌倉モデルハウス
========================================================================== */
	.homePage .modelHouse{
		margin: calc(calc(46/375) * 100vw) auto 0;
		max-width: calc(calc(310/375) * 100vw);
		display: grid;
		grid-template-columns: 100%;
		grid-template-rows: auto auto 1fr;
		gap: 0;
	}
		.homePage .modelHouse >h2{
			grid-column: 1;
			grid-row: 1;
			margin-bottom: calc(calc(20/375) * 100vw);
			font-size: 2rem;
		}
		.homePage .modelHouse .description{
			grid-column: 1;
			grid-row: 3;
			margin-top: calc(calc(30/375) * 100vw);
		}
			.homePage .modelHouse .description h2{
				text-align: center;
				font-size: 1.3rem;
				font-weight: 400;
				margin-bottom: calc(calc(19/375) * 100vw);
			}
			.homePage .modelHouse .description .text{
				text-align: center;
				font-size: 1.3rem;
				line-height: 1.84;
				font-weight: 400;
			}
				.homePage .modelHouse .description .text small{
					font-size: 1.1rem;
					letter-spacing: .005em;
					display: block;
					margin-top: calc(calc(10/375) * 100vw);
				}
			.homePage .modelHouse .description .text + .text{
				margin-top: calc(calc(30/375) * 100vw);
			}
			.homePage .modelHouse .description .goform{
				margin-top: calc(calc(25/375) * 100vw);
				width: calc(calc(308/375) * 100vw);
				height: calc(calc(24/375) * 100vw);
				border: calc(calc(1/375) * 100vw) solid #000;
				border-radius: calc(calc(7/375) * 100vw);
				font-size: 1.1rem;
			}
		.homePage .modelHouse .imgBox{
			grid-column: 1;
			grid-row: 2;
			justify-self: center;
			width: calc(calc(270/375) * 100vw);
		}
/* ==========================================================================
   コンタクト
========================================================================== */
	.homePage .contact{
		margin-top: calc(calc(30/375) * 100vw);
		padding: calc(calc(35/375) * 100vw) 0 calc(calc(20/375) * 100vw);
	}
		.homePage .contact >h2{
			font-size: 1.8rem;
			margin-bottom: calc(calc(20/375) * 100vw);
		}
		.homePage .contact .toptext{
			font-size: 1.2rem;
			line-height: 1.66;
		}
		.homePage .contact .contactInner{
			margin-top: calc(calc(30/375) * 100vw);
		}
/* ==========================================================================
   サンクスページ
========================================================================== */
.thanksPageHeader{
	padding-left: calc(calc(30/375) * 100vw);
}
	.thanksPageHeader .inner{
		width: 100%;
		height: 100%;
		grid-template-columns: 100%;
	}
	.thanksPageHeader .logo{
		display: block;
		grid-column: 1;
		align-self: end;
		width: calc(calc(136/375) * 100vw);
	}
	.thanksPageHeader .menuBtn{
		display: none;
	}
.thanksPage{
	margin-top: calc(calc(84/375) * 100vw);
	padding-bottom: calc(calc(80/375) * 100vw);
}
	.thanksPage h1{
		width: calc(calc(210/375) * 100vw);
	}
	.thanksPage .thanksText{
		max-width: calc(calc(313/375) * 100vw);
		margin: calc(calc(85/375) * 100vw) auto 0;
	}
		.thanksPage .thanksText >h2{
			text-align: center;
			font-size: 2.6rem;
			line-height: 1.44;
			margin-bottom: calc(calc(60/375) * 100vw);
		}
		.thanksPage .thanksText p{
			font-size: 1.3rem;
			text-align: justify;
		}
		.thanksPage .thanksText .notice{
			margin-top: 3.5em;
		}
			.thanksPage .thanksText .notice h2{
				font-size: 1.3rem;
				text-align: justify;
			}
		.thanksPage .thanksText .kakutei{
			margin-top: 2em;
		}
		.thanksPage .thanksText .oisogi{
			margin-top: 3.7em;
		}
			.thanksPage .thanksText .oisogi small{
				font-size: 1.4rem;
			}
/*end*/
}