@charset "UTF-8";
.freeSect {
  background: url("../imgs/bg-texture-01_2x.jpg") repeat-y center center;
  background-size: 100% auto;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .freeSect {
    padding-bottom: 40px;
    width: 1000px;
  }
}

.freeSect__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .freeSect__head {
    height: 200px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.freeSect__bg {
  position: absolute;
  z-index: 0;
}

@media print, screen and (min-width: 768px) {
  .freeSect__bg {
    height: 100%;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: auto;
  }
}

@media screen and (max-width: 768px) {
  .freeSect__bg {
    left: 50%;
    position: absolute;
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .freeSect__bg .photo__capIn {
    bottom: unset;
    top: calc(74 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .freeSect__heading {
    padding: 40px 0 0 40px;
    width: 250px;
  }
}

@media screen and (max-width: 768px) {
  .freeSect__heading {
    padding-left: calc(18 / 390 * 100vw);
    padding-top: calc(106 / 390 * 100vw);
    width: calc(160 / 390 * 100vw);
  }
}

.freeSect__copy {
  background: -webkit-gradient(linear, left top, right top, from(#581926), to(rgba(88, 25, 38, 0)));
  background: linear-gradient(to right, #581926 0%, rgba(88, 25, 38, 0) 100%);
  color: #ffffff;
  letter-spacing: .2em;
  margin-top: auto;
  position: relative;
  width: 100%;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .freeSect__copy {
    font-size: 30px;
    padding: 24px 0 24px 40px;
  }
}

@media screen and (max-width: 768px) {
  .freeSect__copy {
    line-height: 1.58333;
    margin-top: calc(12 / 390 *100vw);
    padding: calc(24 / 390 * 100vw) calc(20 / 390 * 100vw);
  }
  .freeSect__copy:before {
    content: '';
    margin-top: calc((1 - 1.58333) * .5em);
  }
  .freeSect__copy:after {
    margin-bottom: calc((1 - 1.58333) * .5em);
  }
  .freeSect__copy:before, .freeSect__copy:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .freeSect__cont {
    padding: 40px 40px 0;
  }
}

@media screen and (max-width: 768px) {
  .freeSect__cont {
    padding: calc(24 / 390 * 100vw) calc(24 / 390 * 100vw) 0;
  }
}

@media print, screen and (min-width: 768px) {
  .freeSect__cont .headingCombi .heading {
    font-size: 22px;
  }
}

@media screen and (max-width: 768px) {
  .freeSect__cont .headingCombi .heading {
    font-size: calc(18 / 390 * 100vw);
    line-height: 1.55556;
  }
  .freeSect__cont .headingCombi .heading:before {
    content: '';
    margin-top: calc((1 - 1.55556) * .5em);
  }
  .freeSect__cont .headingCombi .heading:after {
    margin-bottom: calc((1 - 1.55556) * .5em);
  }
  .freeSect__cont .headingCombi .heading:before, .freeSect__cont .headingCombi .heading:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .freeSect__cont .headingCombi .heading + .txt {
    font-size: 14px;
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .freeSect__cont .headingCombi .heading + .txt {
    font-size: calc(14 / 390 * 100vw);
    margin-top: calc(32 / 390 * 100vw);
  }
}

.freeSect__txt {
  position: relative;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .freeSect__txt {
    font-size: 22px;
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .freeSect__txt {
    line-height: 1.55556;
    margin-top: calc(40 / 390 * 100vw);
  }
  .freeSect__txt:before {
    content: '';
    margin-top: calc((1 - 1.55556) * .5em);
  }
  .freeSect__txt:after {
    margin-bottom: calc((1 - 1.55556) * .5em);
  }
  .freeSect__txt:before, .freeSect__txt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

.freeSect__txt:after {
  background-color: rgba(51, 51, 51, 0.5);
  content: '';
  height: 1px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media print, screen and (min-width: 768px) {
  .freeSect__txt:after {
    right: 0;
    width: 535px;
  }
}

.freeSect__bottom {
  counter-reset: number 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media print, screen and (min-width: 768px) {
  .freeSect__bottom {
    gap: 40px;
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .freeSect__bottom {
    border-top: 1px solid rgba(51, 51, 51, 0.5);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(32 / 390 * 100vw);
    margin: calc(16 / 390 * 100vw) calc(24 / 390 * 100vw) 0;
    padding: calc(32 / 390 * 100vw) 0 calc(40 / 390 * 100vw);
  }
}

.freeSect__bottom .freeCard {
  background-color: #ffffff;
  counter-increment: number 1;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .freeSect__bottom .freeCard {
    padding: 20px 15px;
  }
}

@media screen and (max-width: 768px) {
  .freeSect__bottom .freeCard {
    padding: calc(20 / 390 * 100vw) calc(15 / 390 * 100vw);
  }
}

.freeSect__bottom .freeCard:after {
  color: #581926;
  content: "Case0" counter(number);
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media print, screen and (min-width: 768px) {
  .freeSect__bottom .freeCard:after {
    font-size: 22px;
    top: -14px;
  }
}

@media screen and (max-width: 768px) {
  .freeSect__bottom .freeCard:after {
    font-size: calc(22 / 390 * 100vw);
    top: calc(-14 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .freeSect__bottom .freeCard__head .photo__image {
    max-width: unset;
    width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  .freeSect__bottom .freeCard__head + .freeCard__cont {
    margin-top: 24px;
  }
}

@media screen and (max-width: 768px) {
  .freeSect__bottom .freeCard__head + .freeCard__cont {
    margin-top: calc(16 / 390 * 100vw);
  }
}

.freeSect__bottom .freeCard__cont {
  line-height: 2;
}

@media print, screen and (min-width: 768px) {
  .freeSect__bottom .freeCard__cont {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .freeSect__bottom .freeCard__cont {
    font-size: calc(14 / 390 * 100vw);
  }
}

.hanreiBox {
  font-size: 10px;
  letter-spacing: .05em;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .hanreiBox {
    margin-top: 80px;
    width: 836px;
  }
}

@media screen and (max-width: 768px) {
  .hanreiBox {
    margin-top: calc(40 / 390 * 100vw);
  }
}

.hanreiBox__variation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media print, screen and (min-width: 768px) {
  .hanreiBox__variation {
    gap: 14px;
  }
}

@media screen and (max-width: 768px) {
  .hanreiBox__variation {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: calc(6 / 390 * 100vw) calc(14 / 390 * 100vw);
  }
}

.hanreiBox__facility {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 10px;
}

@media print, screen and (min-width: 768px) {
  .hanreiBox__facility {
    gap: 14px;
  }
}

@media screen and (max-width: 768px) {
  .hanreiBox__facility {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: calc(10 / 390 * 100vw) calc(14 / 390 * 100vw);
  }
}

.hanreiBox__facility + .caption {
  color: #999999;
  margin-top: 10px;
}

.hanreiBox__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
}

.hanreiBox__item .svgIcon {
  aspect-ratio: 34 / 13;
  width: 34px;
}

.labelSect {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .labelSect {
    gap: 80px;
  }
}

@media screen and (max-width: 768px) {
  .labelSect {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(20 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .labelSect__item {
    width: 280px;
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail {
    width: 560px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail + .madoriDetail {
    margin-top: 32px;
  }
}

.madoriDetail__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.madoriDetail__type {
  background: url("../imgs/bg-ttl.jpg") repeat center center/cover;
  color: #ffffff;
  letter-spacing: .1em;
  line-height: 1;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__type {
    font-size: 18px;
    padding: 16px 0;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__type {
    font-size: calc(18 / 390 * 100vw);
    padding: calc(14 / 390 * 100vw) 0;
    width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__type .strong {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__type .strong {
    font-size: calc(24 / 390 * 100vw);
  }
}

.madoriDetail__spec {
  letter-spacing: .1em;
  line-height: .8;
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__spec {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 24px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: 28px;
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__spec {
    font-size: calc(24 / 390 * 100vw);
    margin-top: calc(32 / 390 * 100vw);
    text-align: center;
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__variation {
    padding-right: 24px;
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__variation .strong {
    font-size: 40px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__variation .strong {
    font-size: calc(40 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__length {
    font-size: 16px;
    padding-left: 24px;
    position: relative;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__length {
    font-size: calc(16 / 390 * 100vw);
    margin-top: calc(20 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__length:before {
    background-color: #333333;
    content: '';
    height: 100%;
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1px;
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__length .num {
    font-size: 32px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__length .num {
    font-size: calc(32 / 390 * 100vw);
  }
}

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

@media print, screen and (min-width: 768px) {
  .madoriDetail__length .mator {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__length .mator {
    font-size: calc(18 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__body {
    margin: 28px 50px 0;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__body {
    margin: calc(32 / 390 * 100vw) calc(2 / 390 * 100vw) 0;
  }
}

.madoriDetail__body .meritNote__item {
  position: relative;
  line-height: 1.375;
}

.madoriDetail__body .meritNote__item:before {
  content: '';
  margin-top: calc((1 - 1.375) * .5em);
}

.madoriDetail__body .meritNote__item:after {
  margin-bottom: calc((1 - 1.375) * .5em);
}

.madoriDetail__body .meritNote__item:before, .madoriDetail__body .meritNote__item:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__body .meritNote__item {
    font-size: 14px;
    letter-spacing: .05em;
    padding-left: 20px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__body .meritNote__item {
    font-size: calc(14 / 390 * 100vw);
    letter-spacing: .02em;
    padding-left: calc(16 / 390 * 100vw);
  }
}

.madoriDetail__body .meritNote__item:before {
  color: #581926;
  content: '◎';
  left: 0;
  position: absolute;
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__body .meritNote__item:before {
    top: 4px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__body .meritNote__item:before {
    top: calc(4 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__body .meritNote__item + .meritNote__item {
    margin-top: 16px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__body .meritNote__item + .meritNote__item {
    margin-top: calc(20 / 390 * 100vw);
  }
}

.madoriDetail__fig {
  overflow: hidden;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__fig {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__fig {
    margin-top: calc(40 / 390 * 100vw);
  }
}

.madoriDetail__btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1/1;
  background: #581926;
  -webkit-clip-path: polygon(50% 0%, 96% 22%, 96% 78%, 50% 100%, 4% 78%, 4% 22%);
          clip-path: polygon(50% 0%, 96% 22%, 96% 78%, 50% 100%, 4% 78%, 4% 22%);
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: .03em;
  line-height: .8;
  opacity: 1;
  position: absolute;
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn {
    font-size: 12px;
    right: 38px;
    top: 10px;
    width: 56px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn {
    font-size: calc(11 / 390 * 100vw);
    right: calc(18 / 390 * 100vw);
    top: calc(10 / 390 * 100vw);
    width: calc(46 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn:hover {
    cursor: pointer;
    opacity: .8;
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='A'][data-index='1'] {
    right: 52px;
    top: 66px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='A'][data-index='1'] {
    right: calc(32 / 390 * 100vw);
    top: calc(48 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='B'][data-index='1'] {
    right: 86px;
    top: 162px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='B'][data-index='1'] {
    right: calc(56 / 390 * 100vw);
    top: calc(115 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='B'][data-index='2'] {
    right: 86px;
    top: 300px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='B'][data-index='2'] {
    right: calc(56 / 390 * 100vw);
    top: calc(210 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='C'][data-index='1'] {
    left: 52px;
    top: 75px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='C'][data-index='1'] {
    left: calc(32 / 390 * 100vw);
    top: calc(52 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='D'][data-index='1'] {
    left: 50px;
    top: 160px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='D'][data-index='1'] {
    left: calc(32 / 390 * 100vw);
    top: calc(115 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='E'][data-index='1'] {
    left: 120px;
    top: 110px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='E'][data-index='1'] {
    left: calc(72 / 390 * 100vw);
    top: calc(75 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='E'][data-index='2'] {
    left: 70px;
    top: 235px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='E'][data-index='2'] {
    left: calc(44 / 390 * 100vw);
    top: calc(160 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='E'][data-index='3'] {
    right: 90px;
    top: 310px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='E'][data-index='3'] {
    right: calc(57 / 390 * 100vw);
    top: calc(218 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='F'][data-index='1'] {
    right: 80px;
    top: 25px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='F'][data-index='1'] {
    right: calc(50 / 390 * 100vw);
    top: calc(16 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='F'][data-index='2'] {
    right: 80px;
    top: 210px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='F'][data-index='2'] {
    right: calc(50 / 390 * 100vw);
    top: calc(145 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='F'][data-index='3'] {
    left: 100px;
    top: 264px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='F'][data-index='3'] {
    left: calc(65 / 390 * 100vw);
    top: calc(184 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='G'][data-index='1'] {
    left: 114px;
    top: 210px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='G'][data-index='1'] {
    left: calc(76 / 390 * 100vw);
    top: calc(150 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='G'][data-index='2'] {
    right: 76px;
    top: 367px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='G'][data-index='2'] {
    right: calc(48 / 390 * 100vw);
    top: calc(265 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='I'][data-index='1'] {
    right: 77px;
    top: 90px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='I'][data-index='1'] {
    right: calc(50 / 390 * 100vw);
    top: calc(60 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='I'][data-index='2'] {
    left: 84px;
    top: 186px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='I'][data-index='2'] {
    left: calc(54 / 390 * 100vw);
    top: calc(133 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='H'][data-index='1'] {
    left: 92px;
    top: 90px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='H'][data-index='1'] {
    left: calc(58 / 390 * 100vw);
    top: calc(60 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='H'][data-index='2'] {
    right: 113px;
    top: 216px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='H'][data-index='2'] {
    right: calc(72 / 390 * 100vw);
    top: calc(150 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='H'][data-index='3'] {
    left: 92px;
    top: 330px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='H'][data-index='3'] {
    left: calc(58 / 390 * 100vw);
    top: calc(230 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='J'][data-index='1'] {
    left: 35px;
    top: 230px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='J'][data-index='1'] {
    left: calc(20 / 390 * 100vw);
    top: calc(160 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='J'][data-index='2'] {
    right: 20px;
    top: 225px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='J'][data-index='2'] {
    right: calc(10 / 390 * 100vw);
    top: calc(164 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='J'][data-index='3'] {
    left: 35px;
    top: 330px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='J'][data-index='3'] {
    left: calc(20 / 390 * 100vw);
    top: calc(240 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .madoriDetail__btn[data-type='K'][data-index='1'] {
    left: 30px;
    top: 110px;
  }
}

@media screen and (max-width: 768px) {
  .madoriDetail__btn[data-type='K'][data-index='1'] {
    left: calc(15 / 390 * 100vw);
    top: calc(75 / 390 * 100vw);
  }
}

.madoriDetail__caption {
  font-size: 10px;
  letter-spacing: 0;
  margin: 0 auto;
  padding-left: 8px;
  position: relative;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.madoriDetail__caption:before {
  border: 1px solid #d25151;
  content: '';
  height: 10px;
  left: -30px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 30px;
}

.plansList__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .plansList__head {
    gap: 10px;
    width: 1000px;
  }
}

@media screen and (max-width: 768px) {
  .plansList__head {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: calc(8 / 390 * 100vw);
  }
}

.plansList__sort {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  color: #7a7769;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: "Noto Serif JP", serif;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: background-color .3s ease, color .3s ease;
  transition: background-color .3s ease, color .3s ease;
}

@media print, screen and (min-width: 768px) {
  .plansList__sort {
    font-size: 18px;
    gap: 10px;
    height: 77px;
    width: 240px;
  }
}

@media screen and (max-width: 768px) {
  .plansList__sort {
    font-size: calc(18 / 390 * 100vw);
    gap: calc(10 / 390 * 100vw);
    height: calc(77 / 390 * 100vw);
    width: calc(170 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .plansList__sort .num {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  .plansList__sort .num {
    font-size: calc(30 / 390 * 100vw);
  }
}

.plansList__sort.is-active {
  background-color: #7a7769;
  color: #ffffff;
  pointer-events: none;
}

.plansList__sort.is-active .svgIcon path {
  stroke: #ffffff;
}

.plansList__sort:hover {
  background-color: #7a7769;
  color: #ffffff;
  cursor: pointer;
}

.plansList__sort:hover .svgIcon path {
  stroke: #ffffff;
}

@media print, screen and (min-width: 768px) {
  .plansList__sort .svgIcon {
    height: 12px;
    width: 16px;
  }
}

@media screen and (max-width: 768px) {
  .plansList__sort .svgIcon {
    height: calc(12 / 390 * 100vw);
    width: calc(16 / 390 * 100vw);
  }
}

.plansList__sort .svgIcon path {
  -webkit-transition: stroke .3s ease;
  transition: stroke .3s ease;
}

@media print, screen and (min-width: 768px) {
  .plansList__cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 40px;
    margin-top: 56px;
  }
}

@media screen and (max-width: 768px) {
  .plansList__cont {
    margin-top: calc(56 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .plansList__item + .plansList__item {
    margin-top: calc(60 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .plansList + .plansList {
    margin-top: 100px;
  }
}

@media screen and (max-width: 768px) {
  .plansList + .plansList {
    margin-top: calc(56 / 390 * 100vw);
  }
}

.pointModal {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  counter-increment: number 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100svh;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  z-index: 1000;
}

@media print, screen and (min-width: 768px) {
  .pointModal {
    -webkit-backdrop-filter: blur(7px);
            backdrop-filter: blur(7px);
    right: -50%;
    top: 0;
    -webkit-transition: right .6s ease-in-out;
    transition: right .6s ease-in-out;
    width: 50vw;
  }
}

@media screen and (max-width: 768px) {
  .pointModal {
    background-color: rgba(0, 0, 0, 0.6);
    left: 50%;
    opacity: 0;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transition: opacity .6s ease-in-out, visibility .6s ease-in-out;
    transition: opacity .6s ease-in-out, visibility .6s ease-in-out;
    visibility: hidden;
    width: 100vw;
  }
}

.pointModal__bg {
  background: url("../imgs/bg-plan-modal.png") repeat center center;
  background-size: auto;
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  z-index: 1001;
}

@media screen and (max-width: 768px) {
  .pointModal__bg {
    height: 70vh;
    width: calc(350 / 390 * 100vw);
  }
}

.pointModal__inner {
  position: relative;
  z-index: 1002;
}

@media print, screen and (min-width: 768px) {
  .pointModal__inner {
    width: 412px;
  }
}

@media screen and (max-width: 768px) {
  .pointModal__inner {
    margin: calc(45 / 390 * 100vw);
    padding-top: calc(20 / 390 * 100vw);
  }
}

.pointModal__head {
  color: #581926;
  line-height: 1;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .pointModal__head {
    font-size: 22px;
    padding-left: 54px;
  }
}

@media screen and (max-width: 768px) {
  .pointModal__head {
    font-size: calc(16 / 390 * 100vw);
    padding-left: calc(38 / 390 * 100vw);
  }
}

.pointModal__head:before {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1/1;
  background-color: #581926;
  border-radius: 50%;
  color: #ffffff;
  content: counter(number);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Cinzel", serif;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  letter-spacing: 0;
  line-height: .8;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media print, screen and (min-width: 768px) {
  .pointModal__head:before {
    padding-top: 3px;
    width: 38px;
  }
}

@media screen and (max-width: 768px) {
  .pointModal__head:before {
    padding-top: calc(3 / 390 * 100vw);
    width: calc(26 / 390 * 100vw);
  }
}

.pointModal__cont {
  border-top: 1px solid #581926;
}

@media print, screen and (min-width: 768px) {
  .pointModal__cont {
    margin-top: 16px;
    padding-top: 34px;
  }
}

@media screen and (max-width: 768px) {
  .pointModal__cont {
    margin-top: calc(16 / 390 * 100vw);
    padding-top: calc(20 / 390 * 100vw);
  }
}

.pointModal__cont .photo--disaster .photo__capIn, .pointModal__cont .photo--hobby .photo__capIn, .pointModal__cont .photo--outdoor .photo__capIn, .pointModal__cont .photo--plant .photo__capIn {
  display: none;
}

.pointModal__txt {
  line-height: 2;
}

@media print, screen and (min-width: 768px) {
  .pointModal__txt {
    font-size: 16px;
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .pointModal__txt {
    font-size: calc(12 / 390 * 100vw);
    margin-top: calc(16 / 390 * 100vw);
  }
}

.pointModal__bottom {
  background-color: rgba(255, 255, 255, 0.6);
}

@media print, screen and (min-width: 768px) {
  .pointModal__bottom {
    font-size: 14px;
    margin-top: 20px;
    padding: 12px 14px;
  }
}

@media screen and (max-width: 768px) {
  .pointModal__bottom {
    font-size: calc(12 / 390 * 100vw);
    margin-top: calc(16 / 390 * 100vw);
    padding: calc(12 / 390 * 100vw) calc(14 / 390 * 100vw);
  }
}

.pointModal__close {
  color: #581926;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 10px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  letter-spacing: .08em;
  position: absolute;
  z-index: 1002;
}

@media print, screen and (min-width: 768px) {
  .pointModal__close {
    height: 50px;
    right: 35px;
    top: 30px;
  }
}

@media screen and (max-width: 768px) {
  .pointModal__close {
    height: calc(50 / 390 * 100vw);
    right: calc(30 / 390 * 100vw);
    top: 16vh;
  }
}

.pointModal__close:before, .pointModal__close:after {
  background: #581926;
  content: '';
  height: 1px;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform-origin: center;
          transform-origin: center;
}

@media print, screen and (min-width: 768px) {
  .pointModal__close:before, .pointModal__close:after {
    width: 36px;
  }
}

@media screen and (max-width: 768px) {
  .pointModal__close:before, .pointModal__close:after {
    width: calc(36 / 390 * 100vw);
  }
}

.pointModal__close:before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.pointModal__close:after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

@media print, screen and (min-width: 768px) {
  .pointModal__close:hover {
    cursor: pointer;
  }
}

@media print, screen and (min-width: 768px) {
  .pointModal.is-active {
    right: 0;
  }
}

@media screen and (max-width: 768px) {
  .pointModal.is-active {
    opacity: 1;
    visibility: visible;
  }
}

.pointModalGroup__item {
  counter-reset: number 0;
}

@media print, screen and (min-width: 768px) {
  .pointModalGroup__item:nth-child(even) .pointModal {
    left: -50%;
    right: unset;
    -webkit-transition: left .6s ease-in-out;
    transition: left .6s ease-in-out;
  }
}

@media print, screen and (min-width: 768px) {
  .pointModalGroup__item:nth-child(even) .pointModal.is-active {
    left: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .roomGuideSect__head {
    text-align: center;
  }
}

@media print, screen and (min-width: 768px) {
  .roomGuideSect__head .headingCombi .heading {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  .roomGuideSect__head .headingCombi .heading {
    font-size: calc(26 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .roomGuideSect__head + .roomGuideSect__cont {
    margin-top: 56px;
  }
}

@media screen and (max-width: 768px) {
  .roomGuideSect__head + .roomGuideSect__cont {
    margin-top: calc(56 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .roomGuideSect__cont {
    margin: 0 -100px;
  }
}

.usageNote {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-top: 10px;
}

.usageNote__item {
  display: inline-block;
}

@media print, screen and (min-width: 768px) {
  .usageNote__item {
    margin-right: 10px;
  }
}

@media screen and (max-width: 768px) {
  .usageNote__item {
    width: 100%;
  }
  .usageNote__item:has(.icon) {
    width: 90px;
  }
}

.usageNote__item:last-child {
  margin-right: 0;
}

.usageNote__item .icon {
  aspect-ratio: 32 / 13;
  display: inline-block;
  vertical-align: sub;
}

@media print, screen and (min-width: 768px) {
  .usageNote__item .icon {
    height: 13px;
  }
}

@media screen and (max-width: 768px) {
  .usageNote__item .icon {
    height: 13px;
    margin-right: 2px;
  }
}

.usageNote__item .icon--storage {
  aspect-ratio: 24 / 13;
}

.usageNote__item .icon--storage .svgIcon {
  fill: #ebd6c1;
}

.usageNote__item .icon--wind, .usageNote__item .icon--light {
  aspect-ratio: 26 / 6;
  vertical-align: middle;
}

@media print, screen and (min-width: 768px) {
  .usageNote__item .icon--wind, .usageNote__item .icon--light {
    height: 6px;
  }
}

@media screen and (max-width: 768px) {
  .usageNote__item .icon--wind, .usageNote__item .icon--light {
    height: 7px;
  }
}

.usageNote__item .icon--gus {
  aspect-ratio: 24 / 13;
}

@media print, screen and (min-width: 768px) {
  .zehMerit {
    margin-top: 100px;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .zehMerit {
    margin-top: calc(20 / 390 * 100vw);
  }
}

.zehMerit__head {
  line-height: 1.36364;
}

.zehMerit__head:before {
  content: '';
  margin-top: calc((1 - 1.36364) * .5em);
}

.zehMerit__head:after {
  margin-bottom: calc((1 - 1.36364) * .5em);
}

.zehMerit__head:before, .zehMerit__head:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .zehMerit__head {
    font-size: 22px;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .zehMerit__head {
    font-size: calc(18 / 390 * 100vw);
    letter-spacing: .05em;
  }
}

.zehMerit__cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media print, screen and (min-width: 768px) {
  .zehMerit__cont {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 56px;
  }
}

@media screen and (max-width: 768px) {
  .zehMerit__cont {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: calc(30 / 390 * 100vw);
  }
}

.zehMerit__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media print, screen and (min-width: 768px) {
  .zehMerit__item {
    width: 322px;
  }
}

@media print, screen and (min-width: 768px) {
  .zehMerit__item:first-child {
    width: 660px;
  }
}

@media screen and (max-width: 768px) {
  .zehMerit__item + .zehMerit__item {
    margin-top: calc(40 / 390 * 100vw);
  }
}

.zehMerit__ttl {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #7a7769;
  border-top: 1px solid #7a7769;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .zehMerit__ttl {
    font-size: 16px;
    height: 32px;
    margin-bottom: 32px;
  }
}

@media screen and (max-width: 768px) {
  .zehMerit__ttl {
    height: calc(40 / 390 * 100vw);
    margin-bottom: calc(30 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .zehMerit .meritCard {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 405px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 321px;
  }
}

.zehMerit .meritCard .headingCombi .heading {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #7a7769;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media print, screen and (min-width: 768px) {
  .zehMerit .meritCard .headingCombi .heading {
    font-size: 16px;
    height: 36px;
  }
}

@media screen and (max-width: 768px) {
  .zehMerit .meritCard .headingCombi .heading {
    font-size: calc(14 / 390 * 100vw);
    height: calc(30 / 390 * 100vw);
  }
}

.zehMerit .meritCard .headingCombi .heading + .txt {
  line-height: 2;
}

.zehMerit .meritCard .headingCombi .heading + .txt:before {
  content: '';
  margin-top: calc((1 - 2) * .5em);
}

.zehMerit .meritCard .headingCombi .heading + .txt:after {
  margin-bottom: calc((1 - 2) * .5em);
}

.zehMerit .meritCard .headingCombi .heading + .txt:before, .zehMerit .meritCard .headingCombi .heading + .txt:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .zehMerit .meritCard .headingCombi .heading + .txt {
    font-size: 14px;
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .zehMerit .meritCard .headingCombi .heading + .txt {
    margin-top: calc(20 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .zehMerit .meritCard .headingCombi + .photo {
    margin-top: 24px;
  }
}

@media screen and (max-width: 768px) {
  .zehMerit .meritCard .headingCombi + .photo {
    margin-top: calc(20 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .zehMerit .meritCard + .meritCard {
    margin-top: calc(40 / 390 * 100vw);
  }
}

.zehSect {
  background-color: #ffffff;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .zehSect {
    margin: 0 -120px;
    padding: 80px 120px;
  }
}

@media screen and (max-width: 768px) {
  .zehSect {
    margin: 0 calc(-5 / 390 * 100vw);
    padding: calc(40 / 390 * 100vw) calc(15 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .zehSect__head {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 22px;
    gap: 45px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    letter-spacing: .05em;
    line-height: 1;
  }
}

@media screen and (max-width: 768px) {
  .zehSect__head {
    font-size: calc(16 / 390 * 100vw);
    letter-spacing: .05em;
  }
}

.zehSect__head .en {
  color: #7a7769;
  letter-spacing: .2em;
}

@media print, screen and (min-width: 768px) {
  .zehSect__head .en {
    font-size: 40px;
  }
}

@media screen and (max-width: 768px) {
  .zehSect__head .en {
    font-size: calc(24 / 390 * 100vw);
    padding-bottom: calc(10/ 390 * 100vw);
  }
}

.zehSect__cont, .zehSect__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
  .zehSect__cont, .zehSect__bottom {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 100px;
  }
}

@media screen and (max-width: 768px) {
  .zehSect__cont, .zehSect__bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(25 / 390 * 100vw);
    margin-top: calc(25 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .zehSect__bottom {
    margin-top: calc(60 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .zehSect__item {
    width: 490px;
  }
}

@media print, screen and (min-width: 768px) {
  .zehSect__item .headingCombi {
    width: 480px;
  }
}

@media print, screen and (min-width: 768px) {
  .zehSect__item .headingCombi .heading {
    font-size: 22px;
  }
}

@media screen and (max-width: 768px) {
  .zehSect__item .headingCombi .heading {
    font-size: calc(18 / 390 * 100vw);
  }
}

.zehSect__item .headingCombi .heading + .txt {
  border-top: 1px solid #d9d9d9;
}

@media print, screen and (min-width: 768px) {
  .zehSect__item .headingCombi .heading + .txt {
    font-size: 14px;
    margin-top: 24px;
    padding-top: 24px;
  }
}

@media screen and (max-width: 768px) {
  .zehSect__item .headingCombi .heading + .txt {
    margin-top: calc(20 / 390 * 100vw);
    padding-top: calc(20 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .zehSect__item .headingCombi + .photo {
    margin-top: 24px;
  }
}

@media screen and (max-width: 768px) {
  .zehSect__item .headingCombi + .photo {
    margin-top: calc(20 / 390 * 100vw);
  }
}

.zehSect__item .photo--border {
  border: 1px solid #999999;
}

@media print, screen and (min-width: 768px) {
  .plan-free,
  .plan-variation,
  .plan-label {
    padding-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .plan-free,
  .plan-variation,
  .plan-label {
    padding-top: calc(56 / 390 * 100vw);
  }
}
