@charset "UTF-8";/* CSS Document *//* --------------------------COMMON--------------------------- */body {  font-family: "Noto Sans JP", sans-serif;  font-style: normal;  color: #3E3E3E;  line-height: 1.5;  animation: loading 3s;}@keyframes loading {  0% {    opacity: 0;  }  100% {    opacity: 1;  }}.fadein {    opacity: 0;    transform: translateY(50px);    transition: opacity 1s ease-in-out, transform 1s ease-in-out;}.fadein.js-scrollin {    opacity: 1;    transform: translateY(0);}a {  box-sizing: border-box;  text-decoration: none;  color: #3E3E3E;}.sub-title {  font-family: "Montserrat", sans-serif;  font-weight: 500;  font-style: normal;  color: #909467;  letter-spacing: 0.05em;  font-size: clamp(1rem, 0.943rem + 0.18vw, 1.125rem);  text-align: center;}.section-title {  font-weight: 500;  font-size: 1rem;  text-align: center;  padding-top: 0.25em;}.btn {  display: block;  background-color: #00CEE0;  color: #fff;  text-align: center;  font-size: 1.25rem;  font-weight: 500;  line-height: 1;}.float-btn {  display: grid;  grid-template-columns: 25% 75%;  grid-template-rows: repeat(2, auto);  place-content: center;  align-items: flex-end;  grid-row-gap: 8px;  max-width: 250px;  padding: 10px 20px;  border-top-left-radius: 10px;  border-bottom-left-radius: 10px;  position: fixed;  bottom: 7%;  right: 0;  transition: opacity 0.5s ease, transform 0.5s ease;  z-index: 1;  opacity: 0;}.float-btn.js-active {  opacity: 1;}.float-btn img {  grid-row: 1 / 3;  max-width: 52px;  width: 100%;}.float-btn-span {  font-size: 1rem;  align-self: flex-start;}.float-btn.stop {  transform: translateY(0);}.bottom-btn {  max-width: 846px;  width: 60%;  padding: 1.5em;  margin: 0 auto 7%;  letter-spacing: 0.05em;}.bottom-btn-span {  font-size: clamp(1.25rem, 1.136rem + 0.36vw, 1.5rem);}.max500 {  display: none;}@media screen and (max-width: 768px) {  .bottom-btn {    display: none;  }}@media screen and (max-width: 600px) {  .float-btn {    display: flex;    justify-content: center;    align-items: center;    width: 96%;    max-width: 100%;    border-radius: 10px;    bottom: 1%;    right: unset;    left: 50%;    transform: translateX(-50%);    padding: 10px 0;    font-size: 1rem;  }  .float-btn-span {    align-self: unset;  }  .float-btn img {    margin-right: 15px;    max-width: 30px;  }  .max500 {    display: block;  }  .float-btn.js-stop {    transform: translateY(-55px) translateX(-50%);  }}/* --------------------------TOP--------------------------- */#Top {  padding: min(11vw, 100px) 0;  position: relative;}#Top::before {  content: "";  position: absolute;  top: 0;  left: 0;  max-width: 856px;  width: 43%;  max-height: 600px;  height: 80vh;  background-color: #FAFAED;  z-index: -1;}.page-title {  letter-spacing: 0.05em;  font-weight: bold;  font-size: clamp(1.25rem, 0.795rem + 1.45vw, 2.25rem);  padding-top: 0.5em;  text-align: center;}.Top-desc {  max-width: 955px;  width: 93%;  margin: min(4vw, 50px) auto 0;  text-align: center;  font-size: clamp(1rem, 0.943rem + 0.18vw, 1.125rem);}.Top-detail-wrap {  max-width: 1200px;  width: 93%;  margin: min(8vw, 100px) auto 0;  display: flex;  justify-content: center;  align-items: center;  text-align: left;  column-gap: min(7vw, 145px);}.Top-detail-img {  max-width: 526px;  width: 38%;  object-fit: cover;}.Top-detail-table {  max-width: 527px;  width: 62%;  font-size: clamp(0.938rem, 0.909rem + 0.09vw, 1rem);}.T-detail-title {  max-width: 100%;  width: 100%;  text-align: left;}.T-detail-title img {  display: inline-block;  max-width: 72px;  vertical-align: middle;}.T-detail-title h2 {  display: inline-block;  font-size: clamp(1.125rem, 1.068rem + 0.18vw, 1.25rem);  font-weight: 500;  vertical-align: middle;}.Top-detail-table tr {  border-bottom: 1px solid #DFD9D0;}.Top-detail-table th {  width: 18%;  font-weight: 400;  vertical-align: middle;}.Top-detail-table td {  padding: 0.7em 0;}.Top-detail-table tr:last-of-type {  border-bottom: none;}.Top-detail-table a, .Top-detail-table p {  display: table-cell;  padding-right: 20px;  font-size: clamp(1.063rem, 1.034rem + 0.09vw, 1.125rem);}.Top-detail-table a img, .Top-detail-table p img {  width: clamp(2.125rem, 1.841rem + 0.91vw, 2.75rem);  margin-right: 10px;  vertical-align: middle;}.Top-detail-table a span, .Top-detail-table p span {  display: inline-block;  vertical-align: middle;}.detail-inside-table {  border: 1px solid #DFD9D0;  width: 95%;  border-collapse: separate;  text-align: center;  border-radius: 10px;}.detail-inside-table thead th {  background-color: #FAFAED;  border-radius: 10px 10px 0 0;}.detail-inside-table th {  border-bottom: 1px solid #F5F5F5;  width: 40%;  padding: 0.5em 0;  font-size: clamp(0.875rem, 0.847rem + 0.09vw, 0.938rem);}.detail-inside-table td {  width: 60%;  border-left: 1px solid #F5F5F5;  border-bottom: 1px solid #F5F5F5;  font-size: clamp(0.938rem, 0.852rem + 0.27vw, 1.125rem);  vertical-align: middle;}.detail-inside-table thead tr {  border-bottom: none;}.line {  display: block;  width: 20px;  height: 1px;  background-color: #3e3e3e;  margin: 0 auto;}@media screen and (max-width: 768px) {  #Top::before {    width: 60%;    height: 60vh;  }  .Top-desc {    max-width: 447px;    text-align: left;  }  .Top-detail-wrap {    max-width: 600px;    width: 93%;    flex-wrap: wrap;    grid-row-gap: 5vw;  }  .Top-detail-img {    max-width: 600px;    width: 100%;    max-height: 350px;    object-fit: cover;  }  .Top-detail-table {    max-width: 600px;    width: 100%;  }}@media screen and (max-width: 450px) {  #Top {    padding: 50px 0;  }  .Top-detail-table a {    display: block;  }  .Top-detail-table a:first-of-type {    margin-bottom: 10px;  }}/* --------------------------SERVICE--------------------------- */#Service {  padding: min(6vw, 40px) 0 min(11vw, 100px);  position: relative;}#Service::before {  content: "";  position: absolute;  top: 0;  left: 0;  width: 100%;  max-height: 363px;  height: 30vh;  background-color: #FAFAED;  z-index: -1;}.Service-list {  max-width: 900px;  width: 93%;  margin: min(4vw, 40px) auto 0;  padding: min(3vw, 35px) min(8vw, 100px);  display: flex;  justify-content: flex-start;  align-items: center;  flex-wrap: wrap;  column-gap: 9.5%;  grid-row-gap: 50px;  background-color: #fff;  border-radius: 10px;  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.25);}.S-list-item {  width: 27%;  font-size: clamp(0.938rem, 0.909rem + 0.09vw, 1rem);  text-align: center;}.S-list-item p {  padding-top: 1em;}@media screen and (max-width: 768px) {  .Service-list {    max-width: 600px;    column-gap: 5%;    grid-row-gap: 50px;    padding: 8vw 5vw 5vw;    display: grid;    grid-template-columns: repeat(2, calc((100% - 5%) / 2));    grid-template-rows: repeat(4, calc((100% - 150px) / 4));    place-content: center;    align-items: flex-start;  }  .S-list-item {    width: 100%;    font-size: clamp(0.938rem, 0.909rem + 0.09vw, 1rem);    text-align: center;  }}@media screen and (max-width: 450px) {  #Service {    padding: 20px 0 50px;  }}/* --------------------------ACCESS--------------------------- */#Access {  padding: 0 0 min(13vw, 110px);}.map {  display: block;  margin: 2% auto 1%;  max-width: 600px;  max-height: 400px;  width: 93vw;  height: calc(93vw * 0.66667);}.Access-wrap {  max-width: 600px;  width: 93%;  margin: 0 auto;  display: grid;  grid-template-columns: 79% 20%;  grid-template-rows: 50% 50%;  column-gap: 10px;  grid-row-gap: 10px;}.Access-wrap p {  background-color: #FAFAED;  padding: 0.9em 4.5em;  font-size: 15px;  grid-column: 1 / 2;  display: flex;  justify-content: space-between;}.walk {  font-weight: 500;}.Access-wrap a {  grid-column: 2 / 3;  grid-row: 1 / 3;}@media screen and (max-width: 600px) {  #Access {  }  .Access-wrap {    position: relative;    grid-template-columns: 100%;    padding-top: 90px;  }  .Access-wrap a {    position: absolute;    top: -15%;    left: 50%;    transform: translateX(-50%);    grid-column: unset;    grid-row: unset;  }}@media screen and (max-width: 450px) {  #Access {    padding: 20px 0 50px;  }  .Access-wrap {    paddin-top: 80px;  }  .Access-wrap p {    padding: 0.8em 2em;  }  .Access-wrap a {    position: absolute;    bottom: 28%;  }    .Access-wrap a img {    max-width: 99px;  }}/* --------------------------ABOUT--------------------------- */#About {  padding: 0 0 min(8vw, 85px);  position: relative;}#About::before {  content: "";  position: absolute;  bottom: 0;  right: 0;  max-width: 686px;  width: 35vw;  max-height: 482px;  height: calc(35vw * 0.7026);  background-color: #FAFAED;  z-index: -1;}.About-wrap {  max-width: 1200px;  width: 93%;  margin: 0 auto;  display: grid;  grid-template-columns: 48% 47%;  grid-template-rows: auto auto;  column-gap: 5%;  row-gap: 3vw;  align-items: center;}.About-wrap h3 {  grid-column: 1 / 2;  grid-row: 1 / 2;  font-size: clamp(1.125rem, 0.841rem + 0.91vw, 1.75rem);  font-weight: 500;}.About-wrap p {  grid-column: 1 / 2;  grid-row: 2 / 3;  font-size: clamp(0.938rem, 0.909rem + 0.09vw, 1rem);}.About-wrap img {  grid-column: 2 / 3;  grid-row: 1 / 3;  width: 100%;  max-width: 593px;}@media screen and (max-width: 1024px) {  #About::before {    width: 40vw;    height: calc(40vw * 0.7026);  }}@media screen and (max-width: 768px) {  #About::before {    bottom: unset;    top: 10%;    right: 0;    width: 65vw;    height: calc(65vw * 0.76);  }  .About-wrap {    max-width: 600px;    grid-template-columns: 100%;    grid-template-rows: auto auto auto;    column-gap: 0;    row-gap: 3vw;  }  .About-wrap h3 {    grid-column: 1 / 2;    grid-row: 2 / 3;  }  .About-wrap p {    grid-column: 1 / 2;    grid-row: 3 / 4;  }  .About-wrap img {    grid-column: 1 / 2;    grid-row: 1 / 2;    max-height: 320px;    object-fit: cover;  }}@media screen and (max-width: 600px) {  #About::before {    width: 85vw;    height: calc(85vw * 0.8);  }}@media screen and (max-width: 450px) {  #About {    padding: 20px 0 50px;  }}/* --------------------------GALLERY--------------------------- */#Gallery {  padding: min(4vw, 40px) 0 min(11vw, 100px);}.Gallery-wrap {  max-width: 894px;  width: 93%;  margin: 2% auto 0;  display: flex;  justify-content: space-between;  align-items: flex-start;}.Gallery-wrap li {  width: 45%;  max-width: 386px;  font-size: clamp(0.875rem, 0.847rem + 0.09vw, 0.938rem);}.Gallery-wrap li img {  max-width: 386px;  width: 100%;  margin-bottom: 10px;}@media screen and (max-width: 768px) {  .Gallery-wrap {    max-width: 600px;    flex-wrap: wrap;    justify-content: center;    grid-row-gap: 4vh;  }  .Gallery-wrap li {    max-width: 100%;    width: 100%;  }  .Gallery-wrap li img {    max-width: 100%;    max-height: 320px;    object-fit: cover;  }}@media screen and (max-width: 600px) {  #Gallery {    padding: 20px 0 80px;  }}/* --------------------------FOOTER--------------------------- */footer {  background-color: #FAFAED;  padding: 15px;  text-align: center;}