@charset "UTF-8";


/*------------------------
topページ共通
------------------------*/

.text-underTtl {
  width: calc(50% - 100px);
  margin: 60px auto;
}

@media screen and (max-width: 767.9px) {
  section {
    margin-top: max(13.333vw, 50px);
  }
}

/*------------------------
#mv
------------------------*/
#mv {
  width: 100%;
  height: 100vh;
  position: relative;
  /*z-index: 1;*/
  margin-top: 0;
}

#mv .fvImg {
  width: 100%;
  height: 100%;
}

#mv .fvImg img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
}

#mv .swiper-container.slider0 {
  width: 100%;
  height: 100vh;
}

#mv .swiper-container.slider0 img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
}

#mv .catchCopy {
  color: #ffffff;
  position: absolute;
  top: 50%;
  left: clamp(100px, 7.81vw, 150px);
  transform: translateY(-50%);
  font-size: clamp(24px, 1.666vw, 32px);
  line-height: 1.87;
  z-index: 99;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.75);
}


#mv .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
#mv .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 10px;
}

#mv .swiper-pagination-bullet {
  /* background-color: #f9f7ee;*/
  height: 10px;
  width: 10px;
  border-radius: 0;
}


/*--------------------------
#info
--------------------------*/
#info {
  margin: 59px auto 95px;
}

#info .info-table {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

#info .info-head {
  color: #dd0000;
  padding: 36px clamp(33.7px, 0vw, 45px) 25px;
  text-align: center;
}

#info .info-head__size-s {
  font-size: 14px;
}

#info .info-article {
  background-color: #f6f6f6;
  padding: 27px 40px 16px 40px;
  font-size: clamp(14px, 0.83vw, 0px);
  width: 70%;
  vertical-align: middle;
}

#info .info-article-list .info-article__ttl a {
  /*color: #000000;*/
}

#info .info-article__ttl {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: underline;
  /*
  -webkit-text-decoration-color: #000000;
  text-decoration-color: #000000;*/
  text-underline-offset: 5px;
  transition: all 0.5s;
}

@media screen and (min-width: 768px) {
  #info .info-article__ttl:hover {
    text-decoration: underline;
    -webkit-text-decoration-color: rgba(0, 0, 0, 0);
    text-decoration-color: rgba(0, 0, 0, 0);
    transition: all 0.5s;
  }
}

#info .info-article__ttl {
  margin-bottom: 12px;
}

/*-----------------------
#concept
-----------------------*/
#concept {}

#concept .main-overview__ttl {
  font-size: clamp(21px, 1.45vw, 28px);
  font-weight: 500;
  margin-bottom: 35px;
}


/*-----------------------
#variation-left
-----------------------*/

#variation-left {
  padding: 100px 0 0;
  /* background-color: #f9f7ee;*/
}

#variation-left .free-contents___explan1st .slider1 .swiper-button-next,
#variation-left .free-contents___explan1st .slider1 .swiper-rtl .swiper-button-prev {
  right: 28px;
  left: auto;
  transition: all .3s;
}

#variation-left .free-contents___explan1st .slider1 .swiper-button-prev,
#variation-left .free-contents___explan1st .slider1 .swiper-rtl .swiper-button-next {
  left: auto;
  right: 81px;
  transition: all .3s;
}

@media screen and (min-width: 768px) {

  #variation-left .free-contents___explan1st .slider1 .swiper-button-next:hover,
  #variation-left .free-contents___explan1st .slider1 .swiper-rtl .swiper-button-prev:hover,
  #variation-left .free-contents___explan1st .slider1 .swiper-button-prev:hover,
  #variation-left .free-contents___explan1st .slider1 .swiper-rtl .swiper-button-next:hover {
    opacity: .5;
    transition: all .3s;
  }
}

/*-----------------------
#variation-right
-----------------------*/
#variation-right {
  margin-top: 0;
  padding: 100px 0 100px;
  /*background-color: #f9f7ee;*/
}

#variation-right .free-contents___explan2nd .slider1 .swiper-button-next,
#variation-right .free-contents___explan2nd .slider1 .swiper-rtl .swiper-button-prev {
  right: auto;
  left: 81px;
  transition: all .3s;
}

#variation-right .free-contents___explan2nd .slider1 .swiper-button-prev,
#variation-right .free-contents___explan2nd .slider1 .swiper-rtl .swiper-button-next {
  left: 28px;
  right: auto;
  transition: all .3s;
}

@media screen and (min-width: 768px) {

  #variation-right .free-contents___explan2nd .slider1 .swiper-button-next:hover,
  #variation-right .free-contents___explan2nd .slider1 .swiper-rtl .swiper-button-prev:hover,
  #variation-right .free-contents___explan2nd .slider1 .swiper-button-prev:hover,
  #variation-right .free-contents___explan2nd .slider1 .swiper-rtl .swiper-button-next:hover {
    transition: all .3s;
    opacity: .5;
  }
}

#variation-right .explan2nd__flex-wrap {
  flex-direction: row-reverse;
}

#variation-right .link-btn-list .bl-btn__page-top {
  margin-bottom: 20px;
}

/*-----------------------------------
#variation-left #variation-right 共通
-----------------------------------*/

.slider1 {
  width: 50%;
  overflow: hidden;
  position: relative;
  padding-bottom: 43px;
}

.slider1 .swiper-button-next:after,
.slider1 .swiper-button-prev:after {
  font-size: 17px;
}

.slider1 .swiper-button-next,
.slider1 .swiper-button-prev {
  color: #000;
  transition: all .3s;
}

.slider1 .swiper-button-next,
.slider1 .swiper-button-prev {
  top: unset;
  width: 10px;
  height: 20px;
  z-index: 0;
  bottom: 0;
  transition: all .3s;
}

@media screen and (min-width: 768px) {

  .slider1 .swiper-button-next:hover,
  .slider1 .swiper-button-prev:hover,
  .slider1 .swiper-button-next:hover,
  .slider1 .swiper-button-prev:hover {
    transition: all .3s;
    opacity: .5;
  }
}

.slider1 .swiper-slide {
  padding-top: 64%;
  position: relative;
}

.slider1 .swiper-slide img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.free-contents__txt {
  width: calc(50% - 10.41vw);
  margin: 0 auto 60px auto;
}

.free-contents__txt_size-s {
  padding: 55px 0;
}

/*-------------------
#access-map
-------------------*/
#access-map .google-map {
  padding-top: 41.666666%;
  position: relative;
}

#access-map .google-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

#access-map .bl-btn__top-map {
  margin: -20px auto 0;
}

/*-------------------------
#access-guide
-------------------------*/

#access-guide .top-access-method {
  padding: 54px 60px;
  border: 4px solid #eeeeee;
  display: block;
  margin-top: 60px;
}

#access-guide .top-access-method .top-access-method__row {
  border-bottom: 2px solid #dddddd;
}

#access-guide .top-access-method__head {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding-bottom: 25px;
  padding-top: 45px;
}

#access-guide .top-access-icon {
  width: 40px;
}

#access-guide .top-access-txt {
  margin-left: 20px;
  font-weight: 500;
  display: flex;
}

#access-guide .top-access-method__data {
  padding-bottom: 25px;
  padding-top: 45px;
  vertical-align: middle;
  padding-left: 10px;
}

#access-guide .top-access-method tbody .top-access-method__row:first-child .top-access-method__head {
  padding-top: 0;
}

#access-guide .top-access-method tbody .top-access-method__row:first-child .top-access-method__data {
  padding-top: 0;
}

#access-guide .top-access-method tbody .top-access-method__row:last-child {
  border-bottom: unset;
}

#access-guide .top-access-method tbody .top-access-method__row:last-child .top-access-method__head {
  padding-bottom: 0;
}

#access-guide .top-access-method tbody .top-access-method__row:last-child .top-access-method__data {
  padding-bottom: 0;
}

/*-----------------------
plan
------------------------*/

#plan .top-plan-img {
  padding-top: 75%;
  position: relative;
}

#plan a {
  transition: all .3s;
}

@media screen and (min-width: 768px) {
  #plan a:hover {
    transition: all .3s;
    opacity: .5;

  }
}

#plan .adjust-top-plan {
  box-shadow: -3px 5px 9px 0px rgba(0, 0, 0, 0.45);
}

#plan .top-plan-ttl {
  font-size: clamp(17px, 1.14vw, 22px);
  margin: 20px 0 10px;
  flex-grow: 1;
}

#plan .top-plan-price {
  font-size: clamp(15px, 0.93vw, 18px);
  color: #dd0000;
}

#plan .top-plan-txt {
  font-size: clamp(14px, 0.83vw, 16px);
}

.slider2 {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.slider2 .swiper-button-next,
.slider2 .swiper-button-prev {
  width: 60px;
  height: 60px;
  margin-top: 0;
  z-index: 5;
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.66);
  transition: all .3s;
}

@media screen and (min-width: 768px) {

  .slider2 .swiper-button-next:hover,
  .slider2 .swiper-button-prev:hover {
    transition: all .3s;
    opacity: .5;
  }
}

.slider2 .swiper-button-next {
  right: 14.96%;
  left: unset;
  top: 26%;
  transform: translateY(-50%);
}

.slider2 .swiper-button-prev {
  left: 14.96%;
  right: unset;
  top: 26%;
  transform: translateY(-50%);
}

.slider2 .swiper-button-next:after,
.slider2 .swiper-button-prev:after {
  font-size: clamp(15px, 0.93vw, 18px);
}


@media screen and (min-width: 1500px) {

  .slider2 .swiper-button-next {
    top: 31%;
  }

  .slider2 .swiper-button-prev {
    top: 31%;
  }
}

/*----------------------
#lists
----------------------*/
#lists {
  padding: 100px 0;
  /*background-color: #f9f7ee;*/
}

#lists .top-lists-table {
  border: 2px solid #888888;
  /*margin-top: 40px;*/
}

#lists .top-lists-table__row {
  border-bottom: 2px solid #888888;
}

#lists .top-lists-table__head {
  padding: 30px;
  width: 25%;
  font-weight: 500;
  font-size: clamp(16px, 0.93vw, 18px);
  border-right: 2px solid #888888;
}

#lists .top-lists-table__data {
  padding: 30px;
  font-size: clamp(15px, 0.93vw, 18px);
}

/*-------------------------
#links
--------------------------*/

#links a {
  transition: all .3s;
}

@media screen and (min-width: 768px) {
  #links a:hover {
    transition: all .3s;
    opacity: .5;

  }
}

#links .top-links__txt {
  text-align: center;
}

#links .top-links__list {
  width: calc(100% - 200px);
  margin: 0 auto;
  align-items: flex-start;
  justify-content: center;
}

#links .top-links__list .top-links__list-item {
  width: calc(25% - 22.5px);
  margin-right: 30px;
}

#links .top-links__list .top-links__list-item:last-child {
  margin-right: 0;
}

@media screen and (max-width: 1440px) {
  #links .top-links__list {
    width: calc(100% - 60px);
    margin: 0 auto;
  }

  #links .top-links__list .top-links__list-item:last-child {
    margin-right: 0;
  }

}

#links .top-links__img {
  width: 100%;
  padding-top: 66.666%;
  position: relative;
}

#links .top-links__ttl {
  font-size: clamp(16px, 1.14vw, 18px);
  /* text-align: center;*/
  margin-top: 0.25em;
}

/*-------------------
#gallery
--------------------*/

.slider3 {
  position: relative;
}

.swiper2 .swiper-button-next:after,
.swiper2 .swiper-button-prev:after {
  font-size: 20px;
}

.swiper2 .swiper-button-next,
.swiper2 .swiper-button-prev {
  color: #000;
}

.swiper2 .swiper-button-next,
.swiper2 .swiper-button-prev {
  top: unset;
  width: 10px;
  height: 20px;
  z-index: 10;
  bottom: 0;
  transition: all .3s;
}

#gallery .swiper2 .swiper-button-next,
#gallery .swiper2 .swiper-button-prev {
  display: none;
}

@media screen and (min-width: 768px) {

  .swiper2 .swiper-button-next:hover,
  .swiper2 .swiper-button-prev:hover {
    transition: all .3s;
    opacity: .5
  }
}

.swiper2 .swiper-button-next {
  right: 2.6vw;
}


.swiper2 .swiper-button-prev {
  left: 2.6vw;
}

.slider3 .swiper-slide {
  min-width: 400px;
}

.slider3.swiper-container {
  width: 100%;
  overflow: hidden;
  margin-top: 40px;
  padding-bottom: 43px;
}


.swiper,
.swiper2 {
  width: 100%;
  height: auto;
  overflow: hidden;
  /*margin-top: 40px;*/
  /*padding-bottom: 43px;*/
}


/* スライドの動き等速 */
.swiper2 .swiper-wrapper {
  transition-timing-function: linear !important;
}

/* 画像のサイズ調整 */
.swiper-slide img {
  aspect-ratio: 300 / 200;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*--------------------
#topics
---------------------*/

#topics .top-topics-list {
  margin: 40px auto;
  border-bottom: 0.5px solid #888888;
}

#topics .top-topics-list .top-topics-list__item a {
  display: flex;
  padding: 25px 0;
  position: relative;
  color: #000;
  cursor: pointer;
}

#topics .top-topics-list .top-topics-list__item a::after {
  content: "";
  font-family: "Line Awesome Free";
  font-weight: 900;
  content: "\f30b";
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  #topics .top-topics-list .top-topics-list__item a:hover::after {
    right: 20px;
    transition: all 0.3s;
  }
}

#topics .top-topics-list .top-topics-list__item a:first-child {
  border-top: 0.5px solid #888888;
}

#topics .topics-date {
  margin-right: 25px;
  width: 120px;
}

#topics .topics-cate-tag {
  font-size: clamp(14px, 0.83vw, 15px);
  color: #ffffff;
  background-color: #555555;
  padding: 7px 20px;
  width: 200px;
  text-align: center;
  line-height: 1.2;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

#topics .topics-ttl {
  margin-left: 35px;
  padding-right: 72px;
  width: calc(100% - 330px);
}

/*-------------------
#menu
--------------------*/

#menu {
  padding: 100px 0;
  /*background-color: #f9f7ee;*/
}

#menu a {
  transition: all .3s;
}

@media screen and (min-width: 768px) {
  #menu a:hover {
    transition: all .3s;
    opacity: .5;
  }
}

#menu .top-menu-list {
  width: calc(100% - 10.41vw);
  margin: 0 auto 60px;
  align-items: flex-start;
}

#menu .top-menu-list .top-menu-list__item {
  width: calc(25% - 22.5px);
  margin-right: 30px;
}

#menu .top-menu-list .top-menu-list__item:last-of-type {
  margin-right: 0;
}

#menu .top-menu-img {
  width: 100%;
  padding-top: 66.666%;
  position: relative;
  background-color: #ffffff;
  border: 2px solid #cccccc;
}

#menu .top-menu-middle {
  margin: 14px 0;
  display: flex;
}

#menu .adjust-menu {
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#menu .top-menu-class {
  font-size: clamp(14px, 0.83vw, 16px);
  padding: 10px clamp(12px, 0.5vw, 15px);
  background-color: #555555;
  color: #ffffff;
  flex-shrink: 0;
}

#menu .top-menu-price {
  color: #dd0000;
  padding-left: 15px;
  font-size: clamp(14px, 0.93vw, 18px);
}

#menu .top-menu-detail {
  font-size: clamp(18px, 1.14vw, 22px);
}


/*------------------
-----------------*/
#faq-table .top-faq-list {
  margin-top: 40px;
  border: 2px solid #888888;
  width: 100%;
}

#faq-table .top-faq-list .top-faq-list__item {
  border-bottom: 2px solid #888888;
}

#faq-table .top-faq-list .top-faq-list__item:nth-of-type(odd) {
  background-color: #f6f6f6;
}

#faq-table .top-question-head {
  font-size: clamp(22.5px, 1.56vw, 30px);
  color: #045591;
  padding: 20px 27px;
  width: 78.8px;
  border-right: 2px solid #888888;
}

#faq-table .top-answer-head {
  font-size: clamp(22.5px, 1.56vw, 30px);
  color: #dd0000;
  padding: 20px 27px;
  width: 78.8px;
  border-right: 2px solid #888888;
}

#faq-table .top-question-txt {
  font-size: clamp(18px, 1.14vw, 22px);
  text-align: left;
  padding: 20px 27px;
  width: calc(100% - 78.8px);
  vertical-align: middle;
}

#faq-table .top-answer-txt {
  text-align: left;
  padding: 20px 27px;
  width: calc(100% - 78.8px);
  vertical-align: middle;
}

/*----------------------
#contact
--------------------*/
#contact {
  padding-top: 100px;
  /*background-color: #f9f7ee;*/
}

.contact_text {
  width: 70%;
  margin: 71.2px auto 0;
}

@media screen and (max-width: 767.9px) {
  .contact_text {
    width: 89.333%;
  }
}

/*----------------- フォーム ----------------*/
/*-----------フォームリセットcss-----------*/
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
  width: 100%;
  height: 100%;
  line-height: 1.7;
}

input[type="submit"],
input[type="button"],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

#contact .contact-form {
  width: 70%;
  margin: 71.2px auto 0;
  padding-bottom: 113px;
}


/*-----------フォームリセットcssここまで-----------*/
#contact .contact__dt {
  width: 360px;
  background-color: #f6f6f6;
  padding: 25px 20px;
  border-right: 1px solid #888888;
}


#contact .contact__dl {
  border-top: 1px solid #888888;
  border-left: 1px solid #888888;
  border-bottom: 1px solid #888888;
  border-right: 1px solid #888888;
  margin-bottom: -1px;
  background-color: #fff;
}


#contact .form-ttl {
  font-size: clamp(14px, 0.83vw, 16px);
  display: block;
  width: 193px;
}

#contact .required {
  font-size: 14px;
  line-height: 1;
  color: #ffffff;
  background-color: #dd0000;
  padding: 5px 10px;
}

::-moz-placeholder {
  color: #888888;
}

::placeholder {
  color: #888888;
}

#contact .contact__dd {
  width: calc(100% - 360px);
  padding: 15px 20px;
  background-color: #fff;
}

#contact .in-address {
  width: calc(100% - 250px);
  height: auto;
}

option:disabled,
option[disabled],
option[disabled="disabled"] {
  color: #ddd;
}

.input-form__municipalities {
  border-radius: 30px;
}

#contact select,
#contact input[type="text" i],
#contact input[type="email" i] {
  width: 100%;
  height: 100%;
  padding: 10px 20px;
  font-size: clamp(14px, 0.83vw, 16px);
  box-sizing: border-box;
  border: 1px solid #888888;

}

.contact_celect_w {
  position: relative;
}

.contact_celect_w::after {
  content: "";
  position: absolute;
  top: 32px;
  right: 40px;
  width: 12px;
  height: 12px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: rotate(45deg);
}

#contact .contact__dt_size-l {
  height: 211px;
}

#contact .contact__dl_size-l {
  align-items: flex-start;
  border-bottom: 1px solid;
}

#contact .contact__dd_txt-area {
  width: calc(100% - 360px);
  height: 211px;
  padding: 20px 20px;
  box-sizing: border-box;
  border-radius: 14px;
  box-sizing: border-box;
}

textarea {
  border: 1px solid #888888;
}

#contact .form-wrap .contact__dl {
  height: auto;
  margin-top: 27px;
}

#contact .p-form__frame {
  width: 80%;
  margin: 100px auto;
  height: 200px;
  overflow-y: scroll;
  padding: 20px 30px;
  font-size: 14px;
}

#contact .p-form__top {
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  display: block;
}

#contact .c-bold {
  font-weight: 700;
  margin-top: 10px;
  display: block;
}

#contact .c-txt {
  margin-bottom: 20px;
}

/*
  .policy-check {

  }*/
.checkbox {
  cursor: pointer;
  display: inline-block;
  padding: 5px 30px;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  color: #292929;
  margin: 10px auto 30px;
  display: block;
  letter-spacing: 0.1em;
}

.checkbox:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  display: block;
  height: 14px;
  width: 14px;
  margin-top: 1.5px;
  border: 1px solid #292929;
  transform: translateY(-50%);
}

.checkbox:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  display: block;
  height: 10px;
  width: 4px;
  margin-top: -1px;
  border-right: 1px solid #292929;
  border-bottom: 1px solid #292929;
  opacity: 0;
  transform: rotate(45deg) translateY(-50%);
}

input[type="checkbox"]:checked+.checkbox::after {
  opacity: 1;
}

/*----- 送信確認ボタン -----*/
#contact .contact-btn_position {
  position: relative;
  width: 300px;
  margin: 0 auto;
}

#contact .contact-btn_position::after {
  content: "";
  font-family: "Line Awesome Free";
  font-weight: 900;
  content: "\f30b";
  font-size: 20px;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  color: #ffffff;
  transition: all 0.3s;
}

@media screen and (min-width: 768px) {
  #contact .contact-btn_position:hover::after {
    right: 10px;
    transition: all 0.3s;
  }
}

button[type="submit"] {
  width: 100%;
  /*background-color: #999329;*/
  /*font-weight: bold;
  border: 1px solid #b2b2ae;*/
  display: block;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 30px;
  line-height: 1;
  cursor: pointer;
  color: #ffffff;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  button[type="submit"]:hover {
    filter: brightness(1.1);
  }
}

/*=============================
SP
=============================*/


@media screen and (max-width: 767.9px) {

  /*------------------------
#topページ共通
------------------------*/

  .text-underTtl {
    width: fit-content;
    margin: max(6.66vw, 25px) auto 0;
    max-width: 84%;
  }

  /*------------------------
#mv
------------------------*/

  #mv .catchCopy {
    font-size: clamp(20px, 5.333vw, 40px);
    left: 5.333%;
  }

}

@media screen and (max-width: 1279px) {

  /*------------------------
#planスライダー
------------------------*/
  .slider2 .swiper-button-next,
  .slider2 .swiper-button-prev {
    width: 80px;
    height: 80px;
  }

  .slider2 .swiper-button-next {
    right: 21.96%;
    left: unset;
    top: 30%;
  }

  .slider2 .swiper-button-prev {
    left: 21.96%;
    right: unset;
    top: 30%;
  }
}


/*------------------------
#info
------------------------*/


@media screen and (max-width: 767.9px) {


  #info {
    margin: max(5.333vw, 20px) 0 auto;
  }

  #info .info-table {
    display: block;
  }

  #info .info-table tr {
    display: block;
    width: 100%;
  }

  #info .info-table tbody {
    display: block;
    width: 100%;
  }

  #info .info-head {
    display: block;
    width: 100%;
    font-size: clamp(18px, 4vw, 30px);
    padding: max(3.4vw, 16px) max(2.93vw, 11px) max(2.4vw, 12px);
  }

  #info .info-head__size-s {
    font-size: clamp(17px, 3.066vw, 23px);
  }

  #info .info-article {
    display: block;
    width: 100%;
    padding: max(6vw, 22.5px);
  }

  #info .info-article-list .info-article__ttl a {
    font-size: clamp(14px, 3.7333vw, 28px);
  }



  /*------------------------
#concept
------------------------*/

  #concept {}

  #concept .main-overview__ttl {
    font-size: clamp(18px, 4.8vw, 36px);
    margin-bottom: max(6.666vw, 25px);

    [type="submit"]:hover {
      filter: brightness(1.1);
    }
  }

  /*=============================
SP
=============================*/


  @media screen and (max-width: 767.9px) {

    /*------------------------
#topページ共通
------------------------*/

    .text-underTtl {
      width: fit-content;
      margin: max(6.66vw, 25px) auto 0;
      max-width: 84%;
    }

    /*------------------------
#mv
------------------------*/

    #mv .catchCopy {
      font-size: clamp(20px, 5.333vw, 40px);
      left: 5.333%;
      z-index: 3;
    }

  }

  @media screen and (max-width: 1279px) {

    /*------------------------
#planスライダー
------------------------*/
    .slider2 .swiper-button-next,
    .slider2 .swiper-button-prev {
      width: 80px;
      height: 80px;
    }

    .slider2 .swiper-button-next {
      right: 21.96%;
      left: unset;
      top: 30%;
    }

    .slider2 .swiper-button-prev {
      left: 21.96%;
      right: unset;
      top: 30%;
    }
  }


  /*------------------------
#info
------------------------*/


  @media screen and (max-width: 767.9px) {


    #info {
      margin: max(5.333vw, 20px) 0 auto;
    }

    #info .info-table {
      display: block;
    }

    #info .info-table tr {
      display: block;
      width: 100%;
    }

    #info .info-table tbody {
      display: block;
      width: 100%;
    }

    #info .info-head {
      display: block;
      width: 100%;
      font-size: clamp(18px, 4vw, 30px);
      padding: max(3.4vw, 16px) max(2.93vw, 11px) max(2.4vw, 12px);
    }

    #info .info-head__size-s {
      font-size: clamp(17px, 3.066vw, 23px);
    }

    #info .info-article {
      display: block;
      width: 100%;
      padding: max(6vw, 22.5px);
    }

    #info .info-article-list .info-article__ttl a {
      font-size: clamp(14px, 3.7333vw, 28px);
    }



    /*------------------------
#concept
------------------------*/

    #concept {}

    #concept .main-overview__ttl {
      font-size: clamp(18px, 4.8vw, 36px);
      margin-bottom: max(6.666vw, 25px);
      text-align: center;
    }

    #concept .main-overview__txt {
      /*text-align: left;*/
    }

    /*------------------------
#variation-left
------------------------*/
    #variation-left {
      padding: max(13.333vw, 50px) 0;
    }


    /*------------------------
#variation-right
------------------------*/
    #variation-right {
      padding: max(9.333vw, 35px) 0 max(16vw, 60px);
    }


    /*---------------------------------
#variation-left #variation-right共通
---------------------------------*/
    .slider1 {
      width: 100%;
    }

    #variation-left .explan1st__flex-wrap,
    #variation-right .explan2nd__flex-wrap {
      display: block;
    }

    #variation-right .free-contents___explan2nd .slider1 .swiper-button-next,
    #variation-right .free-contents___explan2nd .slider1 .swiper-rtl .swiper-button-prev {
      right: 28px;
      left: auto;
    }

    #variation-right .free-contents___explan2nd .slider1 .swiper-button-prev,
    #variation-right .free-contents___explan2nd .slider1 .swiper-rtl .swiper-button-next {
      left: auto;
      right: 81px;
    }

    .free-contents__txt {
      width: 89.333%;
      margin: max(6.66vw, 25px) auto 0;
      text-align: left;
    }

    .free-contents__txt_size-s {
      padding: 0 0 30px 0;
    }


    /*------------------------
#access-map
------------------------*/

    #access-map .google-map {
      padding-top: 62.68%;
      margin-top: max(7.466vw, 28px);
    }

    #access-map .bl-btn__top-map {
      margin: max(4vw, 15px) auto 0;
    }

    #access-map .top-access-txt {
      text-align: left;
    }
  }

  /*------------------------
#access-guide
------------------------*/
  @media screen and (max-width: 1024px) {
    #access-guide {
      margin-top: max(8vw, 30px);
    }

    #access-guide .top-access-method {
      padding: max(6vw, 22.5px) max(7.333vw, 27.5px);
    }

    #access-guide .top-access-method .top-access-method__row {
      display: block;
    }

    #access-guide .top-access-method__head {
      padding-bottom: max(3.2vw, 13px);
      padding-top: max(4.66vw, 17px);
    }



    #access-guide .top-access-txt {
      margin-left: max(2.66vw, 10px);
    }

    #access-guide .top-access-method__data {
      padding-bottom: max(4vw, 15px);
      padding-top: 0;
      padding-left: max(8.26vw, 31px);

    }

    #access-guide .access-dot {
      display: none;
    }
  }


  @media screen and (max-width: 767.9px) {

    /*------------------------
#access-guide
------------------------*/
    #access-guide .top-access-icon {
      width: max(5.6vw, 21px);
    }

    #access-guide .top-access-txt {
      font-size: clamp(14px, 3.7333vw, 28px);
    }

    #access-guide .top-access-method__data {
      font-size: clamp(14px, 3.46vw, 26px);
    }

    /*------------------------
#plan
------------------------*/
    #plan {
      margin-top: max(20vw, 75px);
    }

    #plan .top-plan-ttl {
      margin-top: max(4.26vw, 18px);
      font-size: clamp(16px, 4.26vw, 32px);
    }

    #plan .top-plan-price {
      font-size: clamp(14px, 3.7333vw, 28px);
    }

    #plan .top-plan-txt {
      font-size: clamp(14px, 3.46vw, 26px);
    }

    .slider2 {
      /*margin-top: max(8vw, 30px);*/
    }

    /*
  .slider2 .swiper-slide {
    margin-right: 40px;
    min-width: 295px;
  }
  */
    .slider2 .swiper-button-next,
    .slider2 .swiper-button-prev {
      width: 10.6666vw;
      height: 10.666vw;
    }

    .slider2 .swiper-button-next {
      right: 5.3333%;
      left: unset;
      top: 30%;
    }

    .slider2 .swiper-button-prev {
      left: 5.3333%;
      right: unset;
      top: 30%;
    }


    /*------------------------
#lists
------------------------*/

    #lists {
      margin: max(13.333vw, 50px) 0 max(16vw, 60px);
      padding: max(13.333vw, 50px) 0;
    }

    #lists .free-contents__txt {
      margin-bottom: max(8vw, 30px);
    }

    #lists .top-lists-table {
      /* margin-top: max(8vw, 30px);*/
      border-bottom: unset;
    }

    /*
#lists .top-lists-table tbody .top-lists-table__row:last-child {
  display: none;
  border-bottom: 0px;
}*/
    /*
#lists .top-lists-table tbody .top-lists-table__row:nth-child(2) {
 border-bottom: none;
}
*/

    #lists .top-lists-table__row {
      display: block;
      /*border-bottom: none;*/
    }

    #lists .top-lists-table__head {
      padding: max(4vw, 15px);
      text-align: center;
      width: 100%;
      font-size: clamp(14px, 3.7333vw, 28px);
      border-right: unset;
      border-bottom: 2px solid #888888;
      display: block;
    }

    #lists .top-lists-table__data {
      font-size: clamp(14px, 3.46vw, 26px);
      padding: max(4vw, 15px) max(5.333vw, 20px);
    }

    /*------------------------
#links
------------------------*/

    #links .top-links__txt {
      text-align: left;
    }

    #links .top-links__list {
      width: 89.333%;
      margin: max(8vw, 30px) auto 0;
      flex-wrap: wrap;
      justify-content: left;
    }

    #links .top-links__list .top-links__list-item:nth-of-type(-n + 2) {
      margin-bottom: max(8vw, 30px);
    }

    #links .top-links__list .top-links__list-item:last-of-type {
      margin-right: 0;
    }

    #links .top-links__list .top-links__list-item {
      width: calc(50% - 15px);
      margin-right: 30px;
    }

    #links .top-links__list .top-links__list-item:nth-of-type(2n) {
      margin-right: 0;
    }

    #links .top-links__ttl {
      font-size: clamp(14px, 3.46vw, 26px);
    }



    /*------------------------
#gallery
------------------------*/

    #gallery {
      margin-top: max(19.3333vw, 72.5px);
    }

    .slider3.swiper-container {
      margin-top: max(7.33vw, 27px);
    }


  }

  /*------------------------
#topics
------------------------*/
  @media screen and (max-width: 1024px) {
    #topics {
      margin-top: max(18.666vw, 70px);
    }

    #topics .top-topics-list {
      margin: max(8vw, 30px) auto;
    }

    #topics .top-topics-list .top-topics-list__item a {
      padding: max(2.4vw, 9px) 0;
      flex-wrap: wrap;
    }

    #topics .top-topics-list .top-topics-list__item a::after {
      right: 20px;
    }

    #topics .topics-date {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin-left: max(2.66vw, 10px);
    }

    #topics .topics-cate-tag {
      padding: 6px 20px;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
    }

    #topics .topics-ttl {
      margin-left: max(2.66vw, 10px);
      padding-right: max(14.666vw, 55px);
      width: 100%;
    }


  }

  @media screen and (max-width: 767.9px) {

    /*------------------------
#topics
------------------------*/
    #topics .topics-cate-tag {
      font-size: clamp(12px, 3.2vw, 24px);
    }

    /*------------------------
#menu
------------------------*/
    #menu {
      padding: max(13.333vw, 50px) 0;
    }

    #menu .top-menu-list {
      width: 89.333%;
      margin: max(8vw, 30px) auto;
      display: block;
    }

    #menu .top-menu-list a {
      width: 100%;
      display: flex;
    }

    #menu .top-menu-list .top-menu-list__item {
      width: 100%;
      margin-right: 0;
      display: block;
      justify-content: space-between;
      padding: max(4vw, 15px) 0;
      border-bottom: 0.5px solid #888;
    }

    #menu .top-menu__txt {
      text-align: left;
    }

    #menu .sp-adjust {
      width: 100%;
    }

    #menu .top-menu-middle {
      margin: 0;
      display: block;
    }

    #menu a {
      display: flex;
      margin: 0 auto;
      align-items: center;
    }


    #menu .adjust-menu {
      width: calc(100% - 5px);
      height: calc(100% - 5px);
    }

    #menu .sp-adjust {
      width: 35%;
    }

    #menu .sp-menu-right {
      width: calc(65% - 20px);
      margin-left: 20px;
    }

    #menu .top-menu-class {
      font-size: clamp(12px, 3.2vw, 24px);
      padding: max(1.333vw, 5px) max(5.333vw, 10px);
    }

    #menu .top-menu-price {
      color: #dd0000;
      font-size: clamp(14px, 3.46vw, 26px);
      display: block;
      padding: max(2.66vw, 10px) 0;
      line-height: 1;
    }

    #menu .top-menu-detail {
      font-size: clamp(14px, 3.46vw, 26px);
    }


    /*------------------------
#faq-table
------------------------*/


    #faq-table {
      margin-top: max(6vw, 23px);
    }

    #faq-table .top-question-head {
      font-size: clamp(18px, 4vw, 30px);
      padding: max(2vw, 7px) max(3.33vw, 12px);
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
    }

    #faq-table .top-answer-head {
      font-size: clamp(18px, 4vw, 30px);
      padding: max(2vw, 7px) max(3.33vw, 12px);
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
    }

    #faq-table .top-question-txt {
      font-size: clamp(15px, 3.7333vw, 28px);
      padding: max(2vw, 7px) max(3.33vw, 12px);
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
    }

    #faq-table .top-answer-txt {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      padding: max(2vw, 7px) max(3.33vw, 12px);
      font-size: clamp(14px, 3.46vw, 26px);
    }


    /*------------------------
#contact
------------------------*/
    /*---------- お問い合わせ ---------*/


    /*----------------- フォーム ----------------*/
    /*-----------フォームリセットcss-----------*/

    #contact .contact-form {
      width: 89.333%;
      margin: max(10vw, 38px) auto 0;
      padding-bottom: max(16vw, 60px);
    }

    /*-----------フォームリセットcssここまで-----------*/

    #contact .contact__dt {
      width: 100%;
      padding: max(3.7333vw, 14px) max(5.333vw, 20px);
      border-right: unset;
      border-bottom: 1px solid #888;
    }

    #contact .text-underTtl {
      text-align: left;
    }

    #contact .contact__dl {
      display: block;
    }

    #contact .form-ttl {
      font-size: clamp(14px, 3.7333vw, 28px);
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
    }

    #contact .required {
      font-size: clamp(12px, 3.2vw, 24px);
    }

    #contact .contact__dd {
      width: 100%;
      padding: max(4vw, 15px) max(5.33vw, 20px);
    }

    select,
    input[type="text" i],
    input[type="email" i] {
      width: 100%;
      font-size: clamp(13px, 3.466vw, 26px);
      padding: max(2.4vw, 10px);
    }

    #contact .contact__dt_size-l {
      height: auto;
    }

    #contact .contact__dd_txt-area {
      height: max(42.4vw, 159px);
      width: 100%;
      padding: max(4vw, 15px) max(5.33vw, 20px);
    }


  }


  .slick-next {
    right: 0 !important;
  }

  .slick-prev {
    left: 0 !important;
  }

  .slick-arrow {
    z-index: 2 !important;
  }