@charset "UTF-8";
/*------------------------------------------
special 各ページ main
------------------------------------------*/
.special-detail .cmn__breadcrumb {
  margin: 26px auto 50px;
  padding: 0 10px;
}
@media (min-width: 1025px) {
  .special-detail .cmn__breadcrumb {
    margin: 50px auto 64px;
  }
}

/*------------------------------------------
mv__container
------------------------------------------*/
.mv__container {
  width: 100%;
}

/*------------------------------------------
lead__container
------------------------------------------*/
.lead__container {
  padding: 116px 0;
}
@media (min-width: 1025px) {
  .lead__container {
    padding: 90px 0 116px;
  }
}
.lead__container .lead__ttl {
  text-align: center;
  line-height: 2;
  font-size: 20px;
  margin-bottom: 40px;
}
@media (min-width: 1025px) {
  .lead__container .lead__ttl {
    font-size: 26px;
    margin-bottom: 64px;
  }
}
.lead__container .lead__ttl ul,
.lead__container .lead__ttl ol {
  text-align: left;
}
.lead__container .lead__txt {
  text-align: center;
  line-height: 2;
  font-size: 14px;
  padding: 0 6px;
}
@media (min-width: 1025px) {
  .lead__container .lead__txt {
    font-size: 16px;
    padding: 0;
  }
}

/*------------------------------------------
info__container
------------------------------------------*/
.info__container {
  padding: 0 0 192px;
}
.info__container .info__block {
  width: 100%;
  margin-bottom: 116px;
  padding: 24px;
  border: 1px solid var(--info-border-color);
  background-color: var(--info-bg-color);
}
@media (min-width: 1025px) {
  .info__container .info__block {
    padding: 64px 80px;
  }
}
.info__container .info__block:last-child {
  margin-bottom: 0;
}
.info__container .info__block .info__ttl {
  letter-spacing: 0;
  font-weight: 700;
  font-size: 22px;
  text-align: center;
  color: var(--info-ttl-color);
  margin-bottom: 24px;
}
@media (min-width: 1025px) {
  .info__container .info__block .info__ttl {
    font-size: 30px;
    margin-bottom: 40px;
  }
}
.info__container .info__block .info__detail .info__img {
  width: 100%;
  margin-bottom: 24px;
}
@media (min-width: 1025px) {
  .info__container .info__block .info__detail .info__img {
    margin-bottom: 40px;
  }
}
.info__container .info__block .info__detail .info__txt {
  font-weight: 400;
  font-size: 16px;
  margin-bottom: 24px;
}
@media (min-width: 1025px) {
  .info__container .info__block .info__detail .info__txt {
    margin-bottom: 40px;
  }
}
.info__container .info__block .info__detail .info__btns {
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 1025px) {
  .info__container .info__block .info__detail .info__btns {
    width: 424px;
  }
}
.info__container .info__block .info__detail .info__btns > a {
  width: 100%;
  display: inline-block;
  text-align: center;
  position: relative;
  color: var(--info-btn-color);
  background: var(--info-btn-bg);
  font-size: 16px;
  border-radius: 64px;
  padding: 12px 40px 14px 34px;
}
@media (min-width: 1025px) {
  .info__container .info__block .info__detail .info__btns > a {
    padding: 16px 56px 16px 48px;
    font-size: 18px;
  }
}
.info__container .info__block .info__detail .info__btns > a::before {
  content: "";
  background: url(../images/common/icon_arrow.png) no-repeat center/100%;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 20px;
  height: 20px;
  right: 16px;
}
@media (min-width: 1025px) {
  .info__container .info__block .info__detail .info__btns > a::before {
    width: 24px;
    height: 24px;
    right: 20px;
  }
}
.info__container .info__block .info__detail .info__map {
  width: 100%;
  height: 334px;
  position: relative;
  margin-bottom: 24px;
  border-radius: 10px;
  overflow: hidden;
}
@media (min-width: 1025px) {
  .info__container .info__block .info__detail .info__map {
    height: 490px;
    margin-bottom: 40px;
  }
}
.info__container .info__block .info__detail .info__map > iframe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.info__container .info__block.type--2 .info__detail .info__btns > li > a {
  background: var(--info-btn-bg-2);
}
.info__container .info__block.type--2 .info__detail .info__btns > li > a::after {
  border-left: 6px solid var(--info-btn-bg-2);
}
@media (min-width: 1025px) {
  .info__container .info__block.type--2 .info__detail .info__btns > li > a::after {
    border-left: 7px solid var(--info-btn-bg-2);
  }
}

/*------------------------------------------
detail__container
------------------------------------------*/
.detail__container {
  padding: 0 0 116px;
}
.detail__container .detail__ttl {
  color: var(--detail-ttl-color);
  font-weight: 700;
  font-size: 22px;
  text-align: center;
  margin-bottom: 24px;
}
@media (min-width: 1025px) {
  .detail__container .detail__ttl {
    font-size: 30px;
  }
}
.detail__container .detail__img {
  width: 100%;
  margin: 0 auto 24px;
}
@media (min-width: 1025px) {
  .detail__container .detail__img {
    margin: 0 auto 40px;
  }
}
.detail__container .detail__block {
  background: var(--detail-block-bg);
  border: 1px solid #E3E3E3;
  padding: 32px 24px;
  color: #595757;
}
@media (min-width: 1025px) {
  .detail__container .detail__block {
    padding: 64px;
  }
}
.detail__container .detail__info--txt {
  font-size: 16px;
  margin-bottom: 24px;
}
@media (min-width: 1025px) {
  .detail__container .detail__info--txt {
    margin-bottom: 48px;
  }
}
.detail__container .detail__info--img {
  width: 100%;
  margin: 0 auto 24px;
}
@media (min-width: 1025px) {
  .detail__container .detail__info--img {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.detail__container .detail__info--wysiwyg {
  width: 100%;
  margin-bottom: 40px;
}
@media (min-width: 1025px) {
  .detail__container .detail__info--wysiwyg {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 48px;
  }
}
.detail__container .detail__sns {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 24px auto 0;
}
@media (min-width: 1025px) {
  .detail__container .detail__sns {
    margin: 24px 0 0 auto;
  }
}
.detail__container .detail__sns .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 24px;
}
@media (min-width: 1025px) {
  .detail__container .detail__sns .inner {
    gap: 32px;
  }
}
.detail__container .detail__sns .inner .share__txt {
  color: var(--page-txt-color);
  font-weight: 700;
  font-size: 16px;
}
@media (min-width: 1025px) {
  .detail__container .detail__sns .inner .share__txt {
    font-size: 20px;
  }
}
.detail__container .detail__sns .inner .sns__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
.detail__container .detail__sns .inner .sns__list > li {
  width: 38px;
  height: 38px;
  border: 1px solid #eaeaea;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  background: #fff;
}
.detail__container .detail__back--btn {
  width: 294px;
  margin: 48px auto 0;
  padding: 0 24px;
}
@media (min-width: 1025px) {
  .detail__container .detail__back--btn {
    width: 424px;
    margin: 64px auto 0;
    padding: 0;
  }
}
.detail__container .detail__back--btn > a {
  width: 100%;
  display: inline-block;
  text-align: center;
  position: relative;
  color: #fff;
  background: var(--detail-back-btn);
  font-size: 16px;
  border-radius: 36px;
  padding: 12px 34px 14px 44px;
}
@media (min-width: 1025px) {
  .detail__container .detail__back--btn > a {
    padding: 16px 48px 16px 56px;
    font-size: 18px;
  }
}
.detail__container .detail__back--btn > a::before {
  content: "";
  background: url(../images/common/icon_arrow.png) no-repeat center/100%;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 20px;
  height: 20px;
  left: 16px;
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
@media (min-width: 1025px) {
  .detail__container .detail__back--btn > a::before {
    width: 24px;
    height: 24px;
    left: 24px;
  }
}