.speci__block {
  background: url(../img/frn/speci-tile-sp@1x.jpg) 50% 0%/contain repeat-y;
  border-top: 3px solid #5f3813;
  padding: 3.4285714286rem 0;
}
@media screen and (min-width: 768px) {
  .speci__block {
    border-top-width: 6px;
  }
}

.speci__grid {
  display: grid;
  gap: 1.7142857143rem 1.5714285714rem;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  margin: 0 auto;
  width: 88.75vw;
}
@media screen and (min-width: 768px) {
  .speci__grid {
    width: 736px;
  }
}
@media screen and (min-width: 992px) {
  .speci__grid {
    width: 900px;
  }
}
@media screen and (min-width: 1200px) {
  .speci__grid {
    width: 1060px;
  }
}

.konpe__sect {
  background-color: #fff;
  background-image: url(../img/frn/konp-orn-lt@1x.png), url(../img/frn/konp-orn-rt@1x.png);
  background-position: left 4vw top 2.9vw, right 3.3vw top 2.3vw;
  background-repeat: no-repeat;
  background-size: 6.5vw auto, 7.9vw auto;
  border: 2px solid #754c24;
  color: #5f3813;
  grid-column: 1/3;
  grid-row: 1;
  padding: 1.1428571429rem 1.6785714286rem 1.1071428571rem;
}
@media screen and (min-width: 768px) {
  .konpe__sect {
    background-image: url(../img/frn/konp-orn-lt@2x.png), url(../img/frn/konp-orn-rt@2x.png);
    background-position: left 1.9642857143rem top 1.3928571429rem, right 1.6071428571rem top 1.1071428571rem;
    border-width: 3px;
    padding: 1.1428571429rem 1.6785714286rem 1.1071428571rem;
  }
}
.konpe__sect h2 {
  font-size: 2.8571428571rem;
  font-weight: 500;
  line-height: 1.025;
  text-align: center;
  margin-bottom: 0.5875em;
}
@media screen and (min-width: 768px) {
  .konpe__sect h2 {
    margin-bottom: 0.475em;
  }
}

@media screen and (min-width: 768px) {
  .konpe__body {
    display: grid;
    gap: 0 1.1428571429rem;
    grid-template-columns: 1fr 19.7857142857rem;
  }
}
.konpe__body img {
  display: block;
  height: auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .konpe__body img {
    grid-column: 1;
    grid-row: 1/4;
    margin-top: 0.3214285714rem;
  }
}
.konpe__body p.desc {
  font-size: 1.3226142857rem;
  line-height: 1.2592592593;
  margin-top: 0.8148148148em;
}
@media screen and (min-width: 576px) {
  .konpe__body p.desc {
    font-size: 0.9642857143rem;
  }
}
@media screen and (min-width: 768px) {
  .konpe__body p.desc {
    margin-top: 0;
  }
}
.konpe__body ul {
  font-size: 1.3716rem;
  list-style: none;
  margin: 0.7857142857em 0 0;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (min-width: 576px) {
  .konpe__body ul {
    font-size: 1rem;
  }
}
.konpe__body dl {
  display: grid;
  font-size: 1.2857142857rem;
  grid-template-columns: 3em 1fr;
  line-height: 1.6;
  list-style: none;
  margin: 0.7333333333em 0 0.3em;
}
@media screen and (min-width: 576px) {
  .konpe__body dl {
    font-size: 1.0714285714rem;
  }
}
@media screen and (min-width: 768px) {
  .konpe__body dl {
    font-size: 1.0357142857rem;
    letter-spacing: -0.02em;
  }
}
.konpe__body dl dd {
  margin-left: 0;
}
.konpe__body p.note {
  font-size: 1.1266714286rem;
  margin-top: 0.1428571429em;
}
@media screen and (min-width: 576px) {
  .konpe__body p.note {
    font-size: 0.8214285714rem;
  }
}

.speci__detail-link {
  display: flex;
  justify-content: center;
  margin-top: 1.25rem;
}
.speci__detail-link a {
  display: block;
  margin: 0 auto;
  border: 2px solid #754c24;
  font-size: 1.3226142857rem;
  line-height: 1.8518518519;
  padding: 0 0.8148148148em;
  color: #5f3813;
}
@media screen and (min-width: 768px) {
  .speci__detail-link a {
    border-width: 3px;
    font-size: 0.9642857143rem;
    transition: background-color 0.15s linear;
  }
  .speci__detail-link a:hover {
    background-color: rgba(255, 255, 255, 0.4);
  }
}

.coupo__sect {
  background: url(../img/frn/speci-tile-khaki@1x.png) 50% 50%/2.8571428571rem auto repeat;
  border: 2px solid #754c24;
  grid-column: 1/3;
  grid-row: 2;
  padding-bottom: 2.1428571429rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .coupo__sect {
    border-width: 3px;
  }
}
.coupo__sect h2 {
  background-color: #754c24;
  color: #fff;
  font-weight: 500;
  font-size: 1.4285714286rem;
  line-height: 2em;
}
.coupo__sect p.desc {
  color: #5f3813;
  font-size: 1.3226142857rem;
  line-height: 1.4074074074;
  margin-top: 1.6296296296em;
  padding: 0 1em;
}
@media screen and (min-width: 576px) {
  .coupo__sect p.desc {
    font-size: 0.9642857143rem;
  }
}

.sprin__sect {
  background-image: url(../img/frn/spri-orn-lt@1x.png), url(../img/frn/spri-orn-rt@1x.png), url(../img/frn/speci-tile-red@1x.png);
  background-position: left 2.8vw top 4.9vw, right 5.5vw top 5.1vw, center;
  background-repeat: no-repeat, no-repeat, repeat;
  background-size: 13.8vw auto, 10.7vw auto, 2.8571428571rem auto;
  border: 2px solid #910000;
  grid-column: 1/3;
  grid-row: 3;
  padding: 2rem 0 2.7142857143rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sprin__sect {
    background-position: left 1rem top 2.3571428571rem, right 2.3214285714rem top 2.5rem, center;
    background-size: 6.3214285714rem auto, 4.8571428571rem auto, 2.8571428571rem auto;
    border-width: 3px;
  }
}
@media screen and (min-width: 992px) {
  .sprin__sect {
    background-position: left 1.3571428571rem top 2.3571428571rem, right 2.6785714286rem top 2.5rem, center;
    background-size: 6.6785714286rem auto, 5.2142857143rem auto, 2.8571428571rem auto;
  }
}
.sprin__sect h2 {
  color: #fff;
  font-size: 2.8571428571rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  margin-left: 0.16em;
}
.sprin__sect .speci__detail-link {
  margin-top: 2.1071428571rem;
}
.sprin__sect .speci__detail-link a {
  border-color: #fff;
  color: #fff;
}

.speci__banner {
  border: 2px solid #754c24;
  background: url(../img/frn/speci-tile-khaki@1x.png) center/2.8571428571rem auto repeat;
}
@media screen and (min-width: 768px) {
  .speci__banner {
    border-width: 3px;
  }
}
.speci__banner a {
  align-items: center;
  color: #5f3813;
  display: flex;
  font-size: 1.7857142857rem;
  height: 100%;
  justify-content: center;
  letter-spacing: -0.02em;
  line-height: 1.1;
  min-height: 5em;
  padding: 0.2em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .speci__banner a {
    letter-spacing: normal;
    transition: background-color 0.15s linear;
  }
  .speci__banner a:hover {
    background-color: rgba(255, 255, 255, 0.3333333333);
  }
}
.speci__banner.taxfr {
  grid-column: 1;
  grid-row: 4;
}
.speci__banner.shipp {
  grid-column: 2;
  grid-row: 4;
}

html, body {
  font-family: "Noto Sans TC", sans-serif;
}

.konpe__body p.desc {
  line-height: 1.4074074074;
}
