@charset "UTF-8";
/* reset
   =================================================================== */
html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, p, blockquote, th, td, article, section, aside, header, nav {
  margin: 0;
  padding: 0;
}

address, caption, cite, code, dfn, var {
  font-style: normal;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

object, embed {
  vertical-align: top;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

h1 {
  line-height: 1.5em;
}

img, abbr, acronym, fieldset, hr {
  border: 0;
}

li {
  list-style-type: none;
}

p {
  margin: 0;
  padding: 0;
}

/* form */
button, fieldset, form, input, label, legend, select, textarea {
  font-size: 100%;
}

input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
  outline: none;
}

input:focus, button:focus, textarea:focus, select:focus {
  outline: none;
}

input:-webkit-autofill {
  background-color: #fff;
}

img {
  width: 100%;
  height: auto;
  display: block;
}

figure {
  margin: 0;
}

* {
  outline: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/* html,body
   =================================================================== */
html, body {
  margin: 0;
  padding: 0;
}

body {
  text-align: justify;
  -moz-osx-font-smoothing: grayscale;
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-justify: inter-ideograph;
  border: none;
}

/* リンク設定
   =================================================================== */
a, a:link, a:visited, a:hover {
  display: block;
  height: 100%;
  color: #000;
  text-decoration: none;
}

a, button {
  outline: none !important;
}

/* br
=================================================================== */
br.brPc, .partsPc {
  display: block;
}

br.brSp, .partsSp {
  display: none;
}

@media only screen and (max-width: 767px) {
  br.brPc, .partsPc {
    display: none;
  }
  br.brSp, .partsSp {
    display: block;
  }
}
/* clear
   =================================================================== */
/* float */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clearfix {
  display: inline-block;
}

/* Hides from IE-mac \*/
* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/* End hide from IE-mac */
.keen-slider:not([data-keen-slider-disabled]) {
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  align-content: flex-start;
  display: flex;
  overflow: hidden;
  position: relative;
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -khtml-user-select: none;
  width: 100%;
}

.keen-slider:not([data-keen-slider-disabled]) .keen-slider__slide {
  min-height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-reverse] {
  flex-direction: row-reverse;
}

.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-v] {
  flex-wrap: wrap;
}

/* pc */
/* hover
=================================================================== */
/* ================================================ vw */
/* ================================================ vh */
/* common
=================================================================== */
/* layout
=================================================================== */
/* video / iframe
=================================================================== */
/* imgCover
=================================================================== */
/* mask
=================================================================== */
/* background
=================================================================== */
/* flex
=================================================================== */
/* animation delay
=================================================================== */
/* 3d
=================================================================== */
/* font
=================================================================== */
/* textTate
=================================================================== */
/* form
=================================================================== */
/* ============================================================================================  areaArticle */
.areaArticle {
  position: relative;
  height: 770px;
  overflow: hidden;
}

.areaArticle__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/contents/top/mapBg.jpg);
  z-index: 1;
}

.areaArticle__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}

/* ======================================================= areaConcept */
.areaConcept {
  position: relative;
  width: 40.7523510972%;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  color: #fff;
  z-index: 3;
}

.areaConcept__logo {
  width: min(14.3484626647vw, 196px);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: min(1.8301610542vw, 25px);
}

.areaConcept--p {
  font-size: min(0.9516837482vw, 13px);
  text-align: center;
  line-height: 1;
  color: #fff;
  margin-top: min(0.878477306vw, 12px);
  margin-bottom: min(0.878477306vw, 12px);
  letter-spacing: 0.05em;
}

/* ------------------------------ areaConcept btn */
.areaConcept .btn {
  margin: min(1.8301610542vw, 25px) auto 0;
}
.areaConcept .btn a.btnLink, .areaConcept .btn .btnLink {
  padding-left: min(1.0980966325vw, 15px);
}
.areaConcept .btn.btnShaped.btnBgColor {
  border-color: #fff;
  background-color: transparent;
}

/* ======================================================= areaMapDetail */
.areaMapDetail {
  position: relative;
  width: 59.2476489028%;
  padding-bottom: min(5.4904831625vw, 75px);
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-end;
}

/* ------------------------------ areaMapDetail__bg */
.areaMapDetail__bg {
  position: absolute;
  width: 245.3846153846%;
  height: 100%;
  right: 0;
  top: 0;
  background-repeat: no-repeat;
  background-position: right top;
  background-size: auto 100%;
  background-image: url(../img/contents/top/mapBg--detail.png);
  z-index: 1;
}

/* ------------------------------ areaMapDetail__list */
.areaMapDetail__list {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  z-index: 10;
}

/* ------------------------------ areaMap__linkBtn */
.areaMap__linkBtn {
  position: relative;
  min-width: min(8.0527086384vw, 110px);
  height: min(1.6837481698vw, 30px);
  margin-right: min(1.1713030747vw, 13px);
  margin-bottom: min(1.4641288433vw, 20px);
}

.areaMap__linkBtn--p {
  font-size: min(0.9516837482vw, 13px);
  text-align: center;
  padding-left: min(1.317715959vw, 18px);
  padding-right: min(1.317715959vw, 18px);
}
.areaMap__linkBtn--p > span {
  font-size: min(0.7320644217vw, 10px);
}

/* ------------------------------ areaMap__linkBtn--inner */
.areaMap__linkBtn--inner {
  position: relative;
  height: 100%;
  color: #fff;
  background-color: rgba(255, 255, 255, 0.45);
  border-radius: 9999px;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

a.areaMap__linkBtn--inner {
  background-color: rgba(255, 255, 255, 0.85);
}

/* ============================================================================================  hover pc */
@media (hover: hover) and (pointer: fine) {
  a.areaMap__linkBtn--inner:hover, a.areaMap__linkBtn--inner:active {
    background-color: white;
    color: #000;
  }
}
/* ============================================================================================  edit 20251015 banner */
.top .articleBanner .borderBox {
  padding: 25px min(2.5622254758vw, 35px) 30px;
}
.top .articleBanner .title {
  margin-bottom: 25px;
}
.top .articleBanner .blockSubText {
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: -0.5em;
}

.presentSlider .blockBox__info {
  padding-right: min(2.5622254758vw, 35px);
}
.presentSlider .btnShaped[data-shaped=auto-38] {
  width: 100%;
}
.presentSlider .btnShaped[data-shaped=auto-38] .btnTtext {
  font-size: min(0.878477306vw, 12px);
  white-space: nowrap;
}
.presentSlider .btnShaped[data-shaped=auto-38] .btnArrow {
  left: auto;
  right: 5%;
  transform: translate(0, -50%);
}
.presentSlider .btnShaped[data-shaped=auto-38] a.btnLink, .presentSlider .btnShaped[data-shaped=auto-38] .btnLink {
  padding-right: min(2.9282576867vw, 40px);
}
.presentSlider .btnAll {
  position: absolute;
  right: -10px;
  top: -20px;
  transform: translate(0, -100%) scale(0.8);
  transform-origin: right center;
}
.presentSlider .btnAll.btnShaped[data-shaped="120-28"] {
  height: 33px;
}
.presentSlider .btnAll .btnShaped.btnBgColor .btnArrow {
  right: 10px;
}
.presentSlider .btnAll .btnTtext {
  font-size: 12px;
}
.presentSlider .blockBox .blockBox__info .btn {
  opacity: 0.3;
}
.presentSlider .blockBox .blockBox__link ~ .blockBox__info .btn {
  opacity: 1;
}

@media only screen and (max-width: 1100px) {
  .presentSlider .btnShaped[data-shaped=auto-38] .btnTtext {
    font-size: 11px;
  }
}
.top .kv .kvInfo {
  pointer-events: none;
}

.areaMap__linkBtn--inner, a.areaMap__linkBtn--inner {
  height: auto;
}

.areaConcept .btn.btnShaped.btnBgColor .btnTtext {
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

@media (hover: hover) and (pointer: fine) {
  .areaConcept .btn.btnShaped.btnBgColor:hover, .areaConcept .btn.btnShaped.btnBgColor:active {
    background-color: #fff;
  }
  .areaConcept .btn.btnShaped.btnBgColor:hover .btnTtext, .areaConcept .btn.btnShaped.btnBgColor:active .btnTtext {
    color: rgba(var(--color-text), 1);
  }
  .areaConcept .btn.btnShaped.btnBgColor:hover .btnArrow::before, .areaConcept .btn.btnShaped.btnBgColor:active .btnArrow::before {
    background-color: rgba(var(--color-text), 1);
  }
  .areaConcept .btn.btnShaped.btnBgColor:hover .btnArrow:after, .areaConcept .btn.btnShaped.btnBgColor:active .btnArrow:after {
    border-color: rgba(var(--color-text), 1);
  }
}
/* ============================================================================================ favBtn */
.favBtn, a.favBtn {
  position: absolute;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background-color: rgba(var(--color-body), 1);
  cursor: pointer;
}
.favBtn.active .favIcon, a.favBtn.active .favIcon {
  stroke: var(--color-key);
  fill: var(--color-key);
}

.js--favBtn.active .favIcon {
  stroke: var(--color-key);
  fill: var(--color-key);
}

/* blockBox__thum favBtn */
.blockBox__thum {
  position: relative;
}
.blockBox__thum .favBtn, .blockBox__thum a.favBtn {
  width: 25px;
  height: 25px;
  top: 10px;
  right: 10px;
  z-index: 2;
}
.blockBox__thum .favBtn .favIcon, .blockBox__thum a.favBtn .favIcon {
  width: 13px;
}

/* --------------------------------------- favIcon */
.favIcon {
  position: absolute;
  width: 16px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  fill: none;
  stroke: rgba(var(--color-textGray), 1);
  stroke-miterlimit: 10;
}

/* =========================================================================================================================================== hover pc */
@media (hover: hover) and (pointer: fine) {
  @keyframes hover-anime {
    0% {
      transform: translate(-50%, -50%) scale(1);
    }
    25% {
      transform: translate(-50%, -50%) scale(1.2);
    }
    50% {
      transform: translate(-50%, -50%) scale(1);
    }
    75% {
      transform: translate(-50%, -50%) scale(1.2);
    }
    100% {
      transform: translate(-50%, -50%) scale(1);
    }
  }
  .favBtn:hover .favIcon, .favBtn:active .favIcon, a.favBtn:hover .favIcon, a.favBtn:active .favIcon {
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.76, 0, 0, 1.42);
  }
  .js--favBtn:hover .favBtn .favIcon, .js--favBtn:hover a.favBtn .favIcon, .js--favBtn:active .favBtn .favIcon, .js--favBtn:active a.favBtn .favIcon {
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.76, 0, 0, 1.42);
  }
}
/*============================================================================================ 767px */
@media only screen and (max-width: 767px) {
  .favBtn, a.favBtn {
    width: 28px;
    height: 28px;
  }
  /* blockBox__thum favBtn */
  .blockBox__thum .favBtn, .blockBox__thum a.favBtn {
    width: 25px;
    height: 25px;
    top: 7px;
    right: 7px;
  }
  /* --------------------------------------- favIcon */
  .favIcon {
    width: 14px;
  }
}
/* ======================================================================================================================= blockBox */
/* ======================================================================= blockBox */
.blockBox {
  position: relative;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* ======================================================================= blockBox--flex */
.blockBox--flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  border-radius: 10px;
}
.blockBox--flex .blockBox__thum {
  width: 195px;
}
.blockBox--flex .blockBox__info {
  width: calc(100% - 195px);
}
.blockBox--flex .blockBox__infoAside {
  width: 100%;
}
.blockBox--flex .thumImg__wrapper {
  height: 100%;
  padding-top: 0;
}

.blockBox--flex--half .blockBox__thum, .blockBox--flex--half .blockBox__info {
  width: 50%;
}

/* ======================================================================= blockBox--cate hash */
.cateSection__list, .hashSection__list, .latestSection__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 85px;
}

.blockBox--cate, .blockBox--hash, .blockBox--latest, .galleryBlock, .writerBlock {
  width: calc((100% - 120px) / 5);
  margin-right: 30px;
  border-radius: 10px;
}
.blockBox--cate:nth-child(5n), .blockBox--hash:nth-child(5n), .blockBox--latest:nth-child(5n), .galleryBlock:nth-child(5n), .writerBlock:nth-child(5n) {
  margin-right: 0;
}
.blockBox--cate .date, .blockBox--hash .date, .blockBox--latest .date, .galleryBlock .date, .writerBlock .date {
  position: relative;
  display: inline-block;
  bottom: 0;
  right: auto;
  margin-top: 15px;
}

/* latest */
.latestSection__list {
  margin-bottom: 40px;
}

.latestSection__list .blockBox--latest {
  margin-bottom: 30px;
}

/* --------------------------------------- iconPin */
.blockBox__pinIcon {
  position: absolute;
  width: 30px;
  height: 24px;
  top: 0;
  left: 0;
  border-bottom-right-radius: 6px;
  z-index: 2;
  pointer-events: none;
  display: none;
}

.icon.iconPin {
  width: 25px;
}
.icon.iconPin .iconInner {
  padding-top: 100%;
  mask-image: url(../img/common/icon--pin.svg);
}

.blockBox__pinIcon--special {
  width: 100px;
  height: 30px;
  border-bottom-right-radius: 10px;
}

.icon.iconPin.iconPinSpecial {
  width: 80px;
}
.icon.iconPin.iconPinSpecial .iconInner {
  padding-top: 25%;
  mask-image: url(../img/common/icon--special.svg);
}

.is--pinned .blockBox__pinIcon {
  display: block;
}

.is--special .blockBox__pinIcon {
  display: block;
}

/* ======================================================================= blockBox--ranking */
.blockBox--ranking {
  border-radius: 10px;
}
.blockBox--ranking .date {
  position: relative;
  display: inline-block;
  bottom: 0;
  right: auto;
  margin-top: 15px;
}

/* --------------------------------------- rankingDate */
.rankingDate {
  display: inline-block;
  height: 25px;
  font-size: 13px;
  line-height: 22px;
  padding: 0 14px;
  margin-left: 25px;
  white-space: nowrap;
  vertical-align: top;
  color: rgba(var(--color-textGray), 1);
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-textGray), 1);
  border-radius: 9999px;
}

/* ======================================================================= blockBox--tieup */
.blockBox--tieup {
  border-radius: 10px;
  padding: 25px;
}
.blockBox--tieup .blockBox__info {
  padding: 0;
  padding-top: 15px;
}
.blockBox--tieup .date {
  position: relative;
  display: inline-block;
  bottom: 0;
  right: auto;
  margin-top: 15px;
}

/* ======================================================================= blockBox--area */
.blockBox--area::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  left: -1px;
  border-right: 1px dashed rgba(var(--color-body), 1);
  pointer-events: none;
}
.blockBox--area .blockBox__thum {
  position: absolute;
  width: 120px;
  top: 15px;
  left: 22px;
}
.blockBox--area .blockTitle {
  padding-left: 135px;
  min-height: 75px;
  margin-bottom: 12px;
}

.rsContents .keen-slider__slide:last-child .blockBox--area::after {
  display: none;
}

/* --------------------------------------- date */
.date {
  position: absolute;
  right: 20px;
  bottom: 19px;
  background-color: #e8e6e0;
  border-radius: 9999px;
}

.date--p {
  position: relative;
  width: 84px;
  height: 21px;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 19px;
  padding-left: 25px;
  padding-right: 10px;
}
.date--p::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 20px;
  height: 100%;
  left: 5px;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-box-repeat: no-repeat;
  mask-position: center center;
  -webkit-mask-position: center center;
  -webkit-mask-box-position: center center;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  -webkit-mask-box-size: 100% auto;
  mask-image: url(../img/common/icon--date.svg);
  -webkit-mask-image: url(../img/common/icon--date.svg);
  background-color: rgba(var(--color-textGray), 1);
}

/* --------------------------------------- date reset */
.date.date--reset {
  background-color: transparent;
  margin-left: 8px;
}
.date.date--reset .date--p::after {
  mask-image: url(../img/common/icon--date--reset.svg);
  -webkit-mask-image: url(../img/common/icon--date--reset.svg);
}

/* --------------------------------------- blockBox__link */
.blockBox__link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

/* --------------------------------------- blockBox__thum */
.blockBox__thum::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "NEW";
  width: 30px;
  height: 30px;
  font-size: 10px;
  line-height: 30px;
  white-space: nowrap;
  text-align: center;
  background-color: #efe458;
  border-radius: 50%;
  z-index: 3;
  pointer-events: none;
  transform: translate(-30%, -30%);
  display: none;
}

.is--new .blockBox__thum::after {
  display: block;
}

/* --------------------------------------- thumImg */
.thumImg__wrapper {
  position: relative;
  padding-top: 61.4138438881%;
  overflow: hidden;
  border-radius: 7px;
  z-index: 1;
  background-color: rgba(var(--color-text), 0.07);
}

.thumImg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-fit: contain;
}

/* --------------------------------------- blockBox__info */
.blockBox__info {
  position: relative;
  border-radius: 10px;
  padding: 15px 22px;
  z-index: 3;
  pointer-events: none;
}
.blockBox__info a {
  pointer-events: all;
}

/* --------------------------------------- blockSubText */
.blockSubText {
  font-size: 13px;
  margin-bottom: 15px;
}

/* --------------------------------------- blockTitle */
.blockTitle {
  line-height: 1.4;
  text-align: left;
  margin-bottom: 12px;
}
.blockTitle.fs--21 {
  font-size: 21px;
}
.blockTitle.fs--17 {
  font-size: 17px;
}
.blockTitle.fs--15 {
  font-size: 15px;
}
.blockTitle.fs--32 {
  font-size: 32px;
}

/* ======================================================================= blockBox__infoSub */
.blockBox__infoSub--list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}

/* --------------------------------------- icon */
.icon {
  align-self: center;
  width: 20px;
}

.iconInner {
  padding-top: 100%;
  background-color: rgba(var(--color-footer), 1);
}

.iconTime .iconInner {
  mask-image: url(../img/common/icon--time.svg);
}

.iconMap .iconInner {
  mask-image: url(../img/common/icon--map.svg);
}

/* --------------------------------------- iconPostPerson */
.iconPostPerson {
  align-self: center;
  position: relative;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  overflow: hidden;
}

/* --------------------------------------- blockBox__infoSub target */
.blockBox__infoSub--target, a.blockBox__infoSub--target {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  margin-right: 15px;
}

/* --------------------------------------- blockBox__infoSub text */
.blockBox__infoSub--text {
  font-size: 12px;
}

.blockBox__infoSub--text {
  white-space: nowrap;
  line-height: 1;
  padding-top: 4px;
  padding-bottom: 4px;
  margin-left: 6px;
}

/* ======================================================================= hashList */
.hashList {
  font-size: 0;
  text-align: left;
  padding: 5px 0;
}

.hashTarget {
  display: inline-block;
  margin-right: 20px;
}

.hashLink {
  position: relative;
  padding-left: 12px;
  font-size: 12px;
}
.hashLink::after {
  position: absolute;
  content: "#";
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  font-size: 10px;
  line-height: 1;
  color: var(--color-key);
}

/* =================================================================== data boxBgColor */
.cornerCover__wrapper[data-boxBgColor=body] .cornerCover__inner {
  background-color: rgba(var(--color-body), 1);
}

.cornerCover__wrapper[data-boxBgColor=bodySub] .cornerCover__inner {
  background-color: rgba(var(--color-bodySub), 1);
}

.cornerCover__wrapper[data-boxBgColor=white] .cornerCover__inner {
  background-color: white;
}

[data-boxBgColor=footer] {
  background-color: rgba(var(--color-footer), 1);
}

[data-boxBgColor=body] {
  background-color: rgba(var(--color-body), 1);
}

[data-boxBgColor=bodySub] {
  background-color: rgba(var(--color-bodySub), 1);
}
[data-boxBgColor=bodySub] .cornerCover__wrapper[data-boxBgColor=body] {
  background-color: rgba(var(--color-bodySub), 1);
}
[data-boxBgColor=bodySub] .cornerCover__wrapper[data-boxBgColor=body] .cornerCover__inner {
  background-color: rgba(var(--color-bodySub), 1);
}

[data-boxBgColor=white] {
  background-color: white;
}

.bgColor--white {
  background-color: #fff;
}

/* --------------------------------------- cornerCover */
.cornerCover {
  position: absolute;
  width: 14px;
  pointer-events: none;
}

.cornerCover__inner {
  position: relative;
  padding-top: 100%;
  mask-image: url(../img/common/corner--cover.svg);
}

.cornerCover--lb {
  left: 4px;
  bottom: -4px;
  transform: translate(-100%, 0%);
}

.cornerCover--lb.cornerCover--outside {
  transform: translate(0%, 100%) rotate(180deg);
  left: -4px;
  bottom: 4px;
}

.cornerCover--rt {
  right: -4px;
  top: 4px;
  transform: translate(0%, -100%);
}

.cornerCover--rt.cornerCover--outside {
  right: 4px;
  top: -4px;
  transform: translate(100%, 0%) rotate(180deg);
}

/* =========================================================================================================================================== hover pc */
@media (hover: hover) and (pointer: fine) {
  .blockBox[data-boxBgColor=body]:hover, .blockBox[data-boxBgColor=body]:active {
    background-color: #fff;
  }
}
/*============================================================================================ 1150px */
@media only screen and (max-width: 1150px) {
  .blockBox--cate, .blockBox--hash, .blockBox--latest, .galleryBlock, .writerBlock {
    width: calc((100% - 90px) / 4);
    margin-bottom: 30px;
  }
  .blockBox--cate:nth-child(5n), .blockBox--hash:nth-child(5n), .blockBox--latest:nth-child(5n), .galleryBlock:nth-child(5n), .writerBlock:nth-child(5n) {
    margin-right: 30px;
  }
  .blockBox--cate:nth-child(4n), .blockBox--hash:nth-child(4n), .blockBox--latest:nth-child(4n), .galleryBlock:nth-child(4n), .writerBlock:nth-child(4n) {
    margin-right: 0;
  }
}
/*============================================================================================ 1000px */
@media only screen and (max-width: 1000px) {
  .blockBox--cate, .blockBox--hash, .blockBox--latest, .galleryBlock, .writerBlock {
    width: calc((100% - 60px) / 3);
  }
  .blockBox--cate:nth-child(5n), .blockBox--hash:nth-child(5n), .blockBox--latest:nth-child(5n), .galleryBlock:nth-child(5n), .writerBlock:nth-child(5n) {
    margin-right: 30px;
  }
  .blockBox--cate:nth-child(4n), .blockBox--hash:nth-child(4n), .blockBox--latest:nth-child(4n), .galleryBlock:nth-child(4n), .writerBlock:nth-child(4n) {
    margin-right: 30px;
  }
  .blockBox--cate:nth-child(3n), .blockBox--hash:nth-child(3n), .blockBox--latest:nth-child(3n), .galleryBlock:nth-child(3n), .writerBlock:nth-child(3n) {
    margin-right: 0;
  }
}
/*============================================================================================ 1023px */
@media only screen and (max-width: 1023px) {
  .blockTitle.fs--21 {
    font-size: 19px;
  }
  .blockTitle.fs--17 {
    font-size: 15px;
  }
  .blockTitle.fs--15 {
    font-size: 13px;
  }
  .blockTitle.fs--32 {
    font-size: 28px;
  }
  .blockBox__infoSub--text {
    font-size: 10px;
  }
  .hashList {
    padding: 5px 0;
  }
  .hashLink {
    font-size: 10px;
    padding-left: 8px;
    margin-bottom: 3px;
  }
  .hashLink::after {
    transform: translate(0, -50%);
  }
  .date--p {
    width: 77px;
    height: 20px;
    font-size: 10px;
    line-height: 19px;
    padding-left: 26px;
    padding-right: 10px;
  }
  .date--p::after {
    width: 18px;
  }
  .rankingDate {
    font-size: 11px;
  }
  .blockBox--cate, .blockBox--hash {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-right: 0 !important;
  }
  .blockBox--cate .blockBox__thum, .blockBox--hash .blockBox__thum {
    width: 195px;
  }
  .blockBox--cate .blockBox__info, .blockBox--hash .blockBox__info {
    width: calc(100% - 195px);
  }
  .blockBox--cate .blockBox__infoAside, .blockBox--hash .blockBox__infoAside {
    width: 100%;
  }
  .blockBox--cate .thumImg__wrapper, .blockBox--hash .thumImg__wrapper {
    height: 100%;
    padding-top: 0;
  }
}
/*============================================================================================ 767px */
@media only screen and (max-width: 767px) {
  .blockTitle {
    margin-bottom: 8px;
  }
  .blockTitle.fs--21 {
    font-size: 14px;
  }
  .blockTitle.fs--17 {
    font-size: 13px;
  }
  .blockTitle.fs--15 {
    font-size: 13px;
  }
  .blockTitle.fs--32 {
    font-size: 18px;
  }
  .blockSubText {
    font-size: 11px;
    line-height: 1.5;
  }
  /* ======================================================================= blockBox__infoSub */
  /* --------------------------------------- icon */
  .icon {
    width: 17px;
  }
  /* --------------------------------------- iconPostPerson */
  .iconPostPerson {
    width: 13px;
    height: 13px;
  }
  /* --------------------------------------- blockBox__infoSub target */
  .blockBox__infoSub--target, a.blockBox__infoSub--target {
    margin-right: 13px;
  }
  /* --------------------------------------- blockBox__infoSub text */
  .blockBox__infoSub--text {
    font-size: 10px;
  }
  .blockBox__infoSub--text {
    padding-top: 4px;
    padding-bottom: 4px;
    margin-left: 5px;
  }
  /* ======================================================================= hashList */
  .hashTarget {
    margin-right: 12px;
  }
  .hashLink {
    padding-left: 10px;
    font-size: 10px;
  }
  .hashLink::after {
    transform: translate(0, -50%) scale(0.9);
    transform-origin: left center;
    font-size: 10px;
  }
  .blockBox__pinIcon--special {
    width: 80px;
    height: 28px;
    left: -1px;
    border-bottom-right-radius: 8px;
  }
  .icon.iconPin.iconPinSpecial {
    position: relative;
    top: 2px;
    width: 66px;
  }
  /* --------------------------------------- blockBox__info */
  .blockBox__info {
    border-radius: 8px;
    padding: 12px 20px;
  }
  /* --------------------------------------- new icon */
  .blockBox__thum::after {
    width: 30px;
    height: 30px;
    font-size: 10px;
    line-height: 30px;
    transform: translate(-20%, -20%) scale(0.9);
  }
  /* ======================================================================= blockBox--flex */
  .blockBox--flex {
    border-radius: 5px;
  }
  .blockBox--flex .blockBox__thum {
    width: 125px;
    padding: 12px 8px 12px 12px;
  }
  .blockBox--flex .blockBox__thum .favBtn, .blockBox--flex .blockBox__thum a.favBtn {
    top: 17px;
    right: 17px;
  }
  .blockBox--flex .blockBox__info {
    width: calc(100% - 125px);
    padding: 12px 15px 12px 5px;
  }
  .blockBox--flex .blockBox__infoAside {
    width: 100%;
  }
  .blockBox--flex .thumImg__wrapper {
    height: 100%;
    padding-top: 0;
  }
  /* --------------------------------------- date */
  .date {
    right: 10px;
    bottom: 13px;
    background-color: #e8e6e0;
    border-radius: 9999px;
    transform: scale(0.9);
  }
  .date--p {
    position: relative;
    width: 70px;
    height: 18px;
    font-size: 10px;
    line-height: 17px;
    padding-left: 22px;
    padding-right: 10px;
  }
  .date--p::after {
    width: 16px;
    left: 6px;
  }
  /* --------------------------------------- date reset */
  .date.date--reset {
    margin-left: 2px;
  }
  /* ======================================================================= blockBox--tieup */
  .blockBox--tieup {
    border-radius: 10px;
    padding: 25px 25px 14px;
  }
  .blockBox--tieup .blockBox__info {
    padding: 0;
    padding-top: 15px;
  }
  .blockBox--tieup .date {
    position: absolute;
    bottom: 4px;
    right: 0;
    margin-top: 0;
  }
  /* ======================================================================= blockBox--ranking */
  .blockBox--ranking {
    border-radius: 5px;
  }
  .blockBox--ranking .date {
    margin-top: 0;
  }
  /* --------------------------------------- rankingDate */
  .rankingDate {
    position: relative;
    top: -6px;
    height: 25px;
    font-size: 12px;
    line-height: 22px;
    padding: 0 14px;
    margin-left: 9px;
  }
  /* ======================================================================= blockBox--cate hash */
  .cateSection__list, .hashSection__list, .latestSection__list {
    margin-bottom: 10px;
  }
  .blockBox--cate, .blockBox--hash, .blockBox--latest, .galleryBlock {
    border-radius: 5px;
    margin-bottom: 15px;
  }
  .blockBox--cate [data-boxBgColor=bodySub], .blockBox--cate .cornerCover__wrapper[data-boxBgColor=body], .blockBox--hash [data-boxBgColor=bodySub], .blockBox--hash .cornerCover__wrapper[data-boxBgColor=body], .blockBox--latest [data-boxBgColor=bodySub], .blockBox--latest .cornerCover__wrapper[data-boxBgColor=body], .galleryBlock [data-boxBgColor=bodySub], .galleryBlock .cornerCover__wrapper[data-boxBgColor=body] {
    top: 12px;
    left: 12px;
    background-color: #fff;
  }
  .blockBox--cate [data-boxBgColor=bodySub] .cornerCover__inner, .blockBox--cate .cornerCover__wrapper[data-boxBgColor=body] .cornerCover__inner, .blockBox--hash [data-boxBgColor=bodySub] .cornerCover__inner, .blockBox--hash .cornerCover__wrapper[data-boxBgColor=body] .cornerCover__inner, .blockBox--latest [data-boxBgColor=bodySub] .cornerCover__inner, .blockBox--latest .cornerCover__wrapper[data-boxBgColor=body] .cornerCover__inner, .galleryBlock [data-boxBgColor=bodySub] .cornerCover__inner, .galleryBlock .cornerCover__wrapper[data-boxBgColor=body] .cornerCover__inner {
    background-color: #fff;
  }
  .blockBox--cate .blockBox__thum, .blockBox--hash .blockBox__thum, .blockBox--latest .blockBox__thum, .galleryBlock .blockBox__thum {
    width: 120px;
    padding: 12px;
  }
  .blockBox--cate .blockBox__thum .favBtn, .blockBox--cate .blockBox__thum a.favBtn, .blockBox--hash .blockBox__thum .favBtn, .blockBox--hash .blockBox__thum a.favBtn, .blockBox--latest .blockBox__thum .favBtn, .blockBox--latest .blockBox__thum a.favBtn, .galleryBlock .blockBox__thum .favBtn, .galleryBlock .blockBox__thum a.favBtn {
    top: 17px;
    right: 17px;
  }
  .blockBox--cate .blockBox__info, .blockBox--hash .blockBox__info, .blockBox--latest .blockBox__info, .galleryBlock .blockBox__info {
    width: calc(100% - 120px);
    padding: 12px 15px 12px 5px;
  }
  .blockBox--cate .blockBox__infoAside, .blockBox--hash .blockBox__infoAside, .blockBox--latest .blockBox__infoAside, .galleryBlock .blockBox__infoAside {
    width: 100%;
  }
  .blockBox--cate .thumImg__wrapper, .blockBox--hash .thumImg__wrapper, .blockBox--latest .thumImg__wrapper, .galleryBlock .thumImg__wrapper {
    height: 100%;
    padding-top: 0;
  }
  .blockBox--cate .date, .blockBox--hash .date, .blockBox--latest .date, .galleryBlock .date {
    position: absolute;
    right: 10px;
    bottom: 19px;
    margin-top: 0;
  }
  /* --------------------------------------- iconPin */
  .blockBox__pinIcon {
    width: 27px;
    height: 22px;
    border-bottom-right-radius: 6px;
  }
  .icon.iconPin {
    width: 22px;
  }
  .blockBox__pinIcon--special {
    width: 80px;
    height: 25px;
    border-bottom-right-radius: 6px;
  }
  .blockBox--cate, .blockBox--hash, .blockBox--latest, .galleryBlock, .writerBlock {
    width: 100%;
    margin-right: 0;
  }
  .blockBox--cate:nth-child(5n), .blockBox--hash:nth-child(5n), .blockBox--latest:nth-child(5n), .galleryBlock:nth-child(5n), .writerBlock:nth-child(5n) {
    margin-right: 0;
  }
  .blockBox--cate:nth-child(4n), .blockBox--hash:nth-child(4n), .blockBox--latest:nth-child(4n), .galleryBlock:nth-child(4n), .writerBlock:nth-child(4n) {
    margin-right: 0;
  }
  .blockBox--cate:nth-child(3n), .blockBox--hash:nth-child(3n), .blockBox--latest:nth-child(3n), .galleryBlock:nth-child(3n), .writerBlock:nth-child(3n) {
    margin-right: 0;
  }
  /* ======================================================================= latestSection__list */
  /* latest */
  .latestSection__list {
    margin-bottom: 20px;
  }
  .latestSection__list .blockBox {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-bottom: 15px;
  }
}
/* ============================================================================================ default */
/* ================================================ color */
:root {
  --color-body: 242, 240, 231;
  --color-bodySub: 238, 234, 222;
  --color-footer: 118, 125, 130;
  --color-btnBg: 79, 79, 79;
  --color-text: 58, 58, 58;
  --color-textGray: 118, 118, 118;
  --color-border: 204, 204, 204;
  --color-pageDetail-box: 231, 227, 211;
}

/* ================================================ body */
body {
  font-family: YakuHanJP, "Zen Kaku Gothic New", "General Sans", sans-serif;
  font-weight: 500;
  font-size: 13px;
  font-style: normal;
  line-height: 1.8;
  color: rgba(var(--color-text), 1);
  background-color: rgba(var(--color-body), 1);
}

a, a:link, a:visited, a:hover {
  color: rgba(var(--color-text), 1);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
}

::selection {
  color: #fff;
  background-color: rgba(var(--color-text), 0.7);
}

/* ================================================ webfont */
/* --------------------------------------- webfont en */
.fontEn {
  font-family: "General Sans", sans-serif;
  font-weight: 500;
}

.fontEn-sb {
  font-weight: 600;
}

/* --------------------------------------- jp weight */
.fontW--l {
  font-weight: 300;
}

.fontW--r {
  font-weight: 400;
}

.fontW--m {
  font-weight: 500;
}

.fontW--b {
  font-weight: 700;
}

.fontW--black {
  font-weight: 900;
}

/* ============================================================================================ color */
/* ================================================
3) ページ本体の基調色
body[data-area] に応じて --color-key を決定
================================================ */
body[data-area] {
  --color-key: var(--area-color);
}

/* ================================================
4) ナビゲーションの配色（共通ルールのみでOK）
================================================ */
.areaNav__target[data-area] .areaNav__link::after,
.areaNav__target[data-area] a.areaNav__link::after,
.areaNav__target[data-area] .areaNav__link--p::after {
  background-color: var(--area-color);
}

/* ============================================================================================ common */
/* --------------------------------------- main */
.main {
  display: block;
}

/* --------------------------------------- mask */
.mask {
  text-indent: -9999px;
  height: 0;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-box-repeat: no-repeat;
  mask-position: center center;
  -webkit-mask-position: center center;
  -webkit-mask-box-position: center center;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  -webkit-mask-box-size: 100% auto;
}

span.mask {
  display: block;
}

.mask__bgColor--text {
  background-color: rgba(var(--color-text), 1);
}

.mask__bgColor--btnBg {
  background-color: rgba(var(--color-btnBg), 1);
}

/* --------------------------------------- wrapper */
.wrapper {
  position: relative;
  padding-top: 148px;
}

/* --------------------------------------- grid */
.grid {
  padding-left: 20px;
  padding-right: 20px;
}

.gridWide {
  padding-left: 45px;
  padding-right: 45px;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}

/* =================================================================== textColor */
.textColor--footer, a.textColor--footer {
  color: rgba(var(--color-footer), 1);
}

.textColor--textGray, a.textColor--textGray {
  color: rgba(var(--color-textGray), 1);
}

/* =================================================================== flex */
/* --------------------------------------- cloumn center */
.flex--cc, a.flex--cc {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
}

/* --------------------------------------- row center */
.flex--rc, a.flex--rc {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
}

/* =================================================================== btnHoverWrapper */
.btnHoverWrapper {
  cursor: pointer;
}

/* =================================================================== textHover__target */
.textHoverWrapper {
  cursor: pointer;
}

.textHover__target {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(var(--color-text), 0);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* =================================================================== btnCircle */
.btnShaped {
  position: relative;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-body), 1);
  background-color: rgba(var(--color-body), 1);
  border-radius: 9999px;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.btnShaped__border {
  border-color: rgba(var(--color-text), 1);
}

.btnShaped[data-shaped=auto-38] {
  display: inline-block;
  width: auto;
  height: 38px;
}
.btnShaped[data-shaped=auto-38] .btnTtext {
  padding-left: 0;
  padding-right: 25px;
}

.btnShaped[data-shaped="145-38"] {
  width: 145px;
  height: 38px;
}

.btnShaped[data-shaped="120-28"] {
  width: 120px;
  height: 28px;
}

.btnShaped[data-shaped="95-50"] {
  width: 95px;
  height: 50px;
}

.btnShaped[data-shaped="75-38"] {
  width: 75px;
  height: 38px;
}

.btnShaped[data-shaped="30-30"] {
  width: 30px;
  height: 30px;
}

.btnShaped[data-shaped="38-38"] {
  width: 38px;
  height: 38px;
}

.btnShaped[data-shaped="75-30"] {
  width: 75px;
  height: 30px;
}

.btnShaped[data-shaped="320-45"] {
  width: 320px;
  height: 45px;
}
.btnShaped[data-shaped="320-45"] .btnTtext {
  padding-left: 10px;
}

/* --------------------------------------- btn */
.btn {
  cursor: pointer;
}

.btnLink {
  height: 100%;
}

a.btnLink, .btnLink {
  padding-right: 20px;
  padding-left: 15px;
}

/* --------------------------------------- btnBgColor */
.btnShaped.btnBgColor {
  border-color: rgba(var(--color-btnBg), 1);
  background-color: rgba(var(--color-btnBg), 1);
}
.btnShaped.btnBgColor .btnTtext {
  color: #fff;
}
.btnShaped.btnBgColor .btnArrow {
  left: auto;
  right: 15px;
}
.btnShaped.btnBgColor .btnArrow::before {
  background-color: #fff;
}
.btnShaped.btnBgColor .btnArrow:after {
  border-color: #fff;
}

.btnText {
  font-size: 12px;
  padding-left: 20px;
  padding-right: 0;
  line-height: 1;
}

/* =================================================================== btnCircle */
.btnCircle {
  position: relative;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-text), 1);
  border-radius: 50%;
  background-color: rgba(var(--color-btnBg), 0);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.btnCircle[data-circle=w-15] {
  width: 15px;
  height: 15px;
}

.btnCircle[data-circle=w-36] {
  width: 36px;
  height: 36px;
}

/* =================================================================== btnArrow */
.btnArrow {
  position: absolute;
  height: 1px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
}
.btnArrow::before, .btnArrow::after {
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.btnArrow::before {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(var(--color-text), 1);
}
.btnArrow:after {
  position: absolute;
  content: "";
  right: 0;
  top: 50%;
  transform: translate(0%, -50%) rotate(45deg);
  width: 3px;
  height: 3px;
  border-width: 1px 1px 0 0;
  border-style: solid;
  border-color: rgba(var(--color-text), 1);
}

.btnArrow--down {
  transform: translate(-50%, -50%) rotate(90deg);
}

.btnArrow--prev {
  transform: translate(-50%, -50%) rotate(180deg);
}

.btnArrow--top {
  transform: translate(-50%, -50%) rotate(-90deg);
}

/* --------------------------------------- data-arrow */
.btnArrow[data-arrow=w-6] {
  width: 6px;
}

.btnArrow[data-arrow=w-8] {
  width: 8px;
}

.btnArrow[data-arrow=w-15] {
  width: 15px;
}

.btnArrow[data-arrow=w-12] {
  width: 12px;
}

/* =================================================================== title */
.title {
  line-height: 1;
  letter-spacing: 0.03em;
  margin-bottom: 35px;
}
.title.fs--19 {
  font-size: 19px;
}
.title.fs--22 {
  font-size: 22px;
}
.title.fs--23 {
  font-size: 23px;
}

/* =================================================================== borderBox */
.borderBox {
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-border), 1);
  border-radius: 20px;
  padding: 20px 25px;
  overflow: hidden;
}

/* =================================================================== articleMB */
.articlePT {
  padding-top: 50px;
}

.articlePB {
  padding-bottom: 85px;
}

.articlePT.articlePB {
  position: relative;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  margin-top: -20px;
  z-index: 2;
}

/* =================================================================== flexColumn */
.flexColumn {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.flexColumn--2 .flexColumnBox {
  width: calc(50% - 20px);
  margin-right: 40px;
  margin-bottom: 30px;
}
.flexColumn--2 .flexColumnBox:nth-child(2n) {
  margin-right: 0;
}

/* ============================================================================================ globalLogo */
/* --------------------------------------- globalLogo__mark */
.globalLogo__mark {
  width: 210px;
}

.globalLogo__markInner {
  padding-top: 19.0476190476%;
  mask-image: url(../img/common/globalLogo.svg);
  -webkit-mask-image: url(../img/common/globalLogo.svg);
}

/* ======================================================= header__globalLogo */
.header__globalLogo {
  position: fixed;
  height: 70px;
  left: 50%;
  transform: translate(-50%, 0);
  top: 0;
  z-index: 60;
}

/* ======================================================================================================================= headerSub */
.menuBtn {
  display: none;
}

.headerSub {
  position: fixed;
  width: 100%;
  height: 70px;
  top: 0;
  left: 0;
  background-color: rgba(var(--color-body), 1);
  z-index: 50;
}
.headerSub::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 1px;
  top: auto;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.1);
}

/* ============================================================================================ snsIcon */
.snsIcon--ins .snsIcon__inner {
  padding-top: 100%;
  mask-image: url(../img/common/snsIcon--ins.svg);
}

.globalNav__target--sns .globalNav__target--inner, .globalNav__target--sns a.globalNav__target--inner {
  width: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ============================================================================================ searchForm */
.searchForm {
  position: fixed;
  width: 105px;
  height: 35px;
  left: 20px;
  top: 18px;
  transform: translate(0, 0);
  cursor: pointer;
  z-index: 52;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.searchForm .searchBtn {
  background-color: transparent !important;
}

.searchForm__inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition-duration: 0.6s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.6s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.6s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.6s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  z-index: 55;
}
.searchForm__inner .searchInput {
  pointer-events: none;
}

/* ======================================================= searchInput */
.searchInput {
  width: 100%;
  height: 35px;
  font-size: 14px;
  color: rgba(var(--color-text), 1);
  white-space: nowrap;
  font-weight: 500;
  padding-left: 20px;
  padding-right: 35px;
  border-width: 1px;
  border-style: solid;
  background-color: white;
  border-color: white;
  border-radius: 9999px;
  overflow: hidden;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* --------------------------------------- input default */
input[type=search] {
  appearance: textfield;
  -webkit-appearance: textfield;
}

input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

/* --------------------------------------- input placeholder */
.searchInput::placeholder {
  font-weight: 400;
  color: rgba(var(--color-textGray), 0.8);
}

/* --------------------------------------- input focus */
.searchInput:focus::placeholder {
  color: rgba(var(--color-textGray), 0);
}

.searchInput:focus {
  border-color: rgba(var(--color-text), 1);
}

/* ======================================================= searchBtn */
button[type=submit] {
  z-index: 2;
  cursor: pointer;
}

.searchBtn {
  position: absolute;
  width: 35px;
  height: 35px;
  top: 0;
  right: 0;
  border-radius: 50%;
  background-color: rgba(var(--color-btnBg), 1);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.searchIcon {
  position: absolute;
  width: 16px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  fill: none;
  stroke: #fff;
  stroke-miterlimit: 10;
}

/* ============================================================================================ adBanner */
.adBanner {
  position: absolute;
  width: 310px;
  height: 35px;
  right: 72px;
  top: 50%;
  transform: translate(0, -50%);
  background-color: #fff;
  border-radius: 9999px;
  overflow: hidden;
  padding-left: 113px;
}

/* ======================================================= admanager */
a.admanager {
  position: absolute;
  width: 110px;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(var(--color-btnBg), 1);
  border-radius: 9999px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* --------------------------------------- adBanner__icon */
.adBanner__icon {
  position: relative;
  width: 38px;
  height: 100%;
}

.adBanner__iconInner {
  position: absolute;
  width: 22px;
  height: 22px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  padding-top: 100%;
  mask-image: url(../img/common/adIcon.svg);
  -webkit-mask-image: url(../img/common/adIcon.svg);
  background-color: #fff;
}

/* --------------------------------------- adBanner__title */
.adBanner__title {
  font-size: 13px;
  line-height: 33px;
  letter-spacing: 0.05em;
  color: #fff;
}

/* ======================================================= adBanner__inner */
.adBanner__inner {
  position: relative;
  height: 100%;
  font-size: 0;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
}

@keyframes adText-anime {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-100%, 0, 0);
  }
}
.adText {
  display: inline-block;
  font-size: 13px;
  line-height: 33px;
  letter-spacing: 0.05em;
  padding-left: 1em;
  padding-right: 1em;
  -webkit-animation: adText-anime 5s linear 0s infinite;
  animation: adText-anime 5s linear 0s infinite;
}

/* ======================================================= header__favBtn */
a.header__favBtn {
  right: 20px;
  top: 50%;
  transform: translate(0, -50%);
  background-color: white;
}

/* --------------------------------------- favBtn__num */
.favBtn__num {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(30%, -30%);
  height: 15px;
  font-size: 10px;
  line-height: 13px;
  padding-left: 5px;
  padding-right: 5px;
  white-space: nowrap;
  color: #fff;
  background-color: rgba(var(--color-btnBg), 1);
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-btnBg), 1);
  border-radius: 9999px;
  z-index: 2;
  pointer-events: none;
}

/* ======================================================================================================================= headerMain */
.headerMain {
  position: fixed;
  width: 100%;
  height: 78px;
  top: 70px;
  left: 0;
  background-color: rgba(var(--color-body), 1);
  z-index: 49;
}
.headerMain::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 1px;
  top: auto;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.1);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  width: 0;
  left: auto;
  right: 0;
}

/* --------------------------------------- globalNav__target inner */
.globalNav__target--inner, a.globalNav__target--inner {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  z-index: 3;
}

/* --------------------------------------- globalNav__arrow */
.globalNav__arrow {
  align-self: center;
  position: relative;
  width: 15px;
  height: 15px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-textGray), 1);
  background-color: rgba(var(--color-textGray), 1);
  border-radius: 50%;
  margin-left: 5px;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.globalNav__arrow::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 3px;
  height: 3px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -70%) rotate(135deg);
  border-width: 1px 1px 0 0;
  border-style: solid;
  border-color: #fff;
}

/* ======================================================= globalNav__target */
.globalNav__target {
  position: relative;
  margin-left: 15px;
  margin-right: 15px;
  cursor: pointer;
}

.globalNav__target--title {
  font-size: 16px;
  line-height: 1;
  white-space: nowrap;
  padding-top: 10px;
  padding-bottom: 10px;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(var(--color-text), 0);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* ======================================================================================================================= kv */
.kv {
  position: relative;
  height: 205px;
}

.kvInner {
  position: relative;
  height: 100%;
  overflow: hidden;
}

/* ======================================================= topKv__title */
.kvTitle {
  position: absolute;
  width: 100%;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  text-align: center;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
  z-index: 2;
}

/* --------------------------------------- topKv__title */
.topKv__title {
  font-size: 46px;
}

/* ======================================================= kvBg */
.kvBg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  overflow: hidden;
  z-index: 1;
}
.kvBg::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(var(--color-text), 0.38);
}

/* --------------------------------------- kvBg__img */
.kvBg__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ======================================================= kvLink */
.kvLink {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}

/* ======================================================= kvInfo */
.kvInfo {
  position: absolute;
  height: 35px;
  right: 0;
  bottom: 0;
  padding-top: 6px;
  padding-left: 20px;
  padding-right: 5px;
  border-top-left-radius: 10px;
  white-space: nowrap;
  z-index: 4;
}

/* --------------------------------------- topKvInfo__btn */
.topKvInfo__btn {
  display: flex;
}
.topKvInfo__btn .btnCircle {
  align-self: center;
  margin-right: 6px;
}

.topKvInfo__btn--p {
  align-self: center;
  font-size: 12px;
  line-height: 1;
}

/* ======================================================================================================================= keenSlider */
.keenSlider__wrapper {
  position: relative;
  overflow: hidden;
}
.keenSlider__wrapper .keen-slider:not([data-keen-slider-disabled]) {
  overflow: inherit;
}
.keenSlider__wrapper .keen-slider:not([data-keen-slider-disabled]) .keen-slider__slide {
  overflow: inherit;
}

/* ======================================================================= keenSlider__parts--lefttop */
.keenSlider__parts--lefttop {
  position: relative;
  padding-top: 75px;
  margin-top: -60px;
}
.keenSlider__parts--lefttop .keen-dots {
  top: 8px;
  right: 80px;
}
.keenSlider__parts--lefttop button[aria-label=prev], .keenSlider__parts--lefttop button[aria-label=next] {
  top: 0;
}
.keenSlider__parts--lefttop button[aria-label=prev] {
  right: 140px;
}
.keenSlider__parts--lefttop button[aria-label=next] {
  right: 45px;
}

/* ======================================================================================================================= areaNav */
.areaNav {
  padding-top: 25px;
  padding-bottom: 25px;
}
.areaNav .keen-slider:not([data-keen-slider-disabled]) .keen-slider__slide {
  height: 46px;
}

/* ======================================================= areaNav__link */
.areaNav__target {
  height: 100%;
}

.areaNav__link, a.areaNav__link {
  position: relative;
  text-align: center;
  border-width: 2px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0);
  background-color: rgba(var(--color-bodySub), 1);
  border-radius: 16px;
  overflow: hidden;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  padding: 0 27px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.areaNav__link::after, a.areaNav__link::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* ======================================================= areaNav__link p */
.areaNav__link--p {
  position: relative;
  white-space: nowrap;
  font-size: 13px;
  padding-left: 18px;
  z-index: 2;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.areaNav__link--p::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 5px;
  height: 5px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* ======================================================= areaNav selected */
.areaNav__target[aria-selected=true] .areaNav__link::after, .areaNav__target[aria-selected=true] a.areaNav__link::after {
  opacity: 1;
}
.areaNav__target[aria-selected=true] .areaNav__link--p {
  color: #fff;
}
.areaNav__target[aria-selected=true] .areaNav__link--p::after {
  background-color: #fff !important;
}

/* ======================================================================================================================= mastheadArticle */
.mastheadArticle {
  margin-bottom: 40px;
}
.mastheadArticle .thumImg__wrapper {
  padding-top: 61.4138438881%;
}

/* --------------------------------------- mastheadBlock */
.mastheadBlock {
  padding-left: calc(45 * 100 / 1366 * 1vw);
  padding-right: calc(45 * 100 / 1366 * 1vw);
  padding-bottom: 50px;
}
.mastheadBlock .thumImg__wrapper {
  border-radius: 10px;
}
.mastheadBlock .blockBox__thum .favBtn, .mastheadBlock .blockBox__thum a.favBtn {
  width: 35px;
  height: 35px;
}
.mastheadBlock .blockBox__thum .favBtn .favIcon, .mastheadBlock .blockBox__thum a.favBtn .favIcon {
  width: 16px;
}
.mastheadBlock .blockBox__pinIcon {
  direction: ltr;
}
.mastheadBlock .blockBox__info {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 20px 30px;
  direction: ltr;
}
.mastheadBlock .blockTitle {
  line-height: 1.6;
  margin-bottom: 12px;
}
.mastheadBlock .blockBox__infoSub--list {
  margin-bottom: 10px;
}
.mastheadBlock .blockBox__infoSub--text {
  font-size: 13px;
}
.mastheadBlock .hashLink {
  font-size: 14px;
}
.mastheadBlock .hashLink::after {
  font-size: 12px;
}
.mastheadBlock .btnShaped {
  position: absolute;
  right: calc(30 * 100 / 1366 * 1vw);
  bottom: 0;
}

/* ======================================================================= slider button */
button[aria-label=prev], button[aria-label=next] {
  position: absolute;
  padding: 0;
  width: auto;
  background-color: transparent;
  cursor: pointer;
}

button[aria-label=prev]:disabled, button[aria-label=next]:disabled {
  opacity: 0.3;
  pointer-events: none;
}

/* --------------------------------------- masthead__slider button */
.masthead__slider {
  position: relative;
}
.masthead__slider button[aria-label=prev], .masthead__slider button[aria-label=next] {
  top: calc(50% - 50px);
  background-color: transparent;
}
.masthead__slider button[aria-label=prev] .btnShaped[data-shaped="95-50"], .masthead__slider button[aria-label=next] .btnShaped[data-shaped="95-50"] {
  width: calc(60 * 100 / 1366 * 1vw);
  height: calc(60 * 100 / 1366 * 1vw);
  border-color: white;
  background-color: white;
}
.masthead__slider button[aria-label=prev] {
  left: calc(200 * 100 / 1366 * 1vw);
}
.masthead__slider button[aria-label=next] {
  right: calc(200 * 100 / 1366 * 1vw);
}

/* ======================================================================= top parts */
.mastheadBlock .blockBox__info, .mastheadBlock .btnShaped {
  opacity: 0;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.3s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.3s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.mastheadBlock .btnShaped {
  transform: translate(-15px, 0);
}
.mastheadBlock.active .blockBox__info, .mastheadBlock.active .btnShaped {
  opacity: 1;
  transform: translate(0, 0);
}

/* ======================================================================================================================= articleBanner */
/* ======================================================================================= presentSlider */
.presentSlider {
  position: relative;
}
.presentSlider .blockBox--flex .blockBox__thum {
  width: 42.1052631579%;
}
.presentSlider .blockBox--flex .blockBox__info {
  width: 57.8947368421%;
}
.presentSlider .blockBox__info {
  padding-top: 0;
  padding-bottom: 0;
}
.presentSlider button[aria-label=prev], .presentSlider button[aria-label=next] {
  top: -20px;
  transform: translate(0, -100%);
}
.presentSlider button[aria-label=prev] {
  right: 190px;
}
.presentSlider button[aria-label=next] {
  right: 100px;
}
.presentSlider .keen-dots {
  right: 135px;
}

.couponSection .btn.btnShaped.btnShaped__border {
  margin-top: auto;
}
.couponSection .btnShaped[data-shaped=auto-38] .btnArrow {
  left: auto;
  right: 5%;
}
.couponSection .blockBox__info {
  display: flex;
  flex-direction: column;
}

/* ======================================================================= slider keen-dots */
.keen-dots {
  position: absolute;
  top: -41px;
  right: 35px;
  font-size: 0;
  pointer-events: none;
}

.keen-dot {
  position: absolute;
  display: inline-block;
  width: 28px;
  height: 15px;
  left: 0;
  top: 0;
  font-size: 13px;
  line-height: 13px;
  text-align: center;
  opacity: 0;
}
.keen-dot:first-child, .keen-dot:last-child {
  position: relative;
}
.keen-dot:last-child {
  opacity: 1;
}
.keen-dot:last-child::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 1px;
  background-color: rgba(var(--color-text), 0.2);
}
.keen-dot.dot--active {
  opacity: 1;
}

.keen-dot:has(+ .keen-dot:last-child.dot--active) {
  opacity: 1;
}

/* ======================================================================================= couponSection */
.couponSection {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
}

.blockBox__coupon {
  height: 100%;
}
.blockBox__coupon .blockBox__info {
  padding-top: 0;
  padding-bottom: 0;
}

/* ======================================================================================= newArticle tieupArticle */
.newArticle .keenSlider__parts--lefttop .keen-dots, .tieupArticle .keenSlider__parts--lefttop .keen-dots {
  top: 12px;
  right: 250px;
}
.newArticle .keenSlider__parts--lefttop button[aria-label=prev], .tieupArticle .keenSlider__parts--lefttop button[aria-label=prev] {
  right: 307px;
}
.newArticle .keenSlider__parts--lefttop button[aria-label=next], .tieupArticle .keenSlider__parts--lefttop button[aria-label=next] {
  right: 208px;
}
.newArticle .btnAll, .tieupArticle .btnAll {
  position: absolute;
  top: 0;
  right: 45px;
}

.newArticle .blockTitle {
  margin-bottom: 5px;
}
.newArticle .hashLink {
  margin-top: -2px;
  margin-bottom: -5px;
}

/* ======================================================================================================================= recommend */
.recommendSection {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 35px;
}

.recommendSection, .rsHeader {
  border-radius: 10px;
}

.rsHeader {
  width: 250px;
  padding: 20px 20px;
  background-color: #f6f4ee;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.rsContents {
  width: calc(100% - 250px);
}

/* ======================================================================================================================= ranking */
.rankingSection {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.blockBox--ranking {
  width: calc((100% - 120px) / 5);
  margin-right: 30px;
}
.blockBox--ranking:nth-child(5n) {
  margin-right: 0;
}

/* ======================================================= rankingIcon */
.rankingIcon {
  position: absolute;
  width: 50px;
  height: 50px;
  top: 0;
  left: 0;
  border-bottom-right-radius: 10px;
  z-index: 2;
  pointer-events: none;
}

/* --------------------------------------- rankingIcon__num */
.rankingIcon__num {
  position: absolute;
  width: 35px;
  height: 35px;
  top: 0;
  left: 0;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-text), 1);
  border-radius: 50%;
  font-size: 15px;
  text-align: center;
  line-height: 32px;
}

/* ======================================================================================================================= cmSection */
.cmSection {
  padding-top: 80px;
  padding-bottom: 20px;
}

.cmList {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.cmTarget {
  width: calc((100% - 9px) / 4);
  margin-right: 3px;
  margin-bottom: 3px;
}
.cmTarget:nth-child(4n) {
  margin-right: 0;
}

.cmLink {
  position: relative;
  padding-top: 83.1746031746%;
}

/* ======================================================================================================================= cateSection */
.cateSection, .hashSection {
  position: relative;
}
.cateSection .btn.btnAll, .hashSection .btn.btnAll {
  position: absolute;
  top: -10px;
  right: 45px;
}

/* ======================================================= bannerList */
.bannerList {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.bannerTarget {
  width: calc((100% - 3px) / 2);
  margin-right: 3px;
  margin-bottom: 3px;
}
.bannerTarget:nth-child(2n) {
  margin-right: 0;
}

.bannerLink {
  position: relative;
  padding-top: 43.3753943218%;
  border-radius: 10px;
  overflow: hidden;
}

/* ======================================================================================================================= footer */
.footer {
  position: relative;
  color: #fff;
}
.footer.articlePB {
  padding-bottom: 10px;
}
.footer a, .footer a:link, .footer a:visited, .footer a:hover {
  color: #fff;
}

/* =============================================================================== footer common */
/* --------------------------------------- footerArticle */
.footerArticle {
  position: relative;
  margin-bottom: 90px;
}
.footerArticle .btnAll {
  position: absolute;
  top: -10px;
  right: 45px;
}
.footerArticle .btnTtext {
  font-size: 10px;
}

/* --------------------------------------- footerTitle */
.footerTitle {
  font-size: 18px;
}

/* =============================================================================== cateBanner */
a.cateBanner {
  height: auto;
}

/* --------------------------------------- cateBanner__icon */
.cateBanner__icon {
  position: relative;
  padding-top: 100%;
  border-width: 1px;
  border-style: solid;
  border-color: #fff;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.cateBanner__iconSvg {
  position: absolute;
  width: 50px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* --------------------------------------- cateBanner__title */
.cateBanner__title {
  font-size: 12px;
  line-height: 1;
  text-align: center;
  margin-top: 15px;
}

/* =============================================================================== footerTags */
.footerTags__sliderWrapper {
  margin-bottom: 20px;
}

/* --------------------------------------- footerTags__section */
.footerTags__section {
  position: relative;
  overflow: hidden;
  text-align: left;
  white-space: nowrap;
  font-size: 0;
}

/* --------------------------------------- tagsList */
.tagsList {
  display: inline-block;
}

.tagsTarget {
  display: inline-block;
  padding-right: 20px;
}

/* --------------------------------------- tagsLink */
a.tagsLink {
  min-width: 145px;
  height: 35px;
  background-color: #cacdcf;
  border-radius: 9999px;
  padding: 0 25px;
  overflow: hidden;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* --------------------------------------- tagsLink p */
.tagsTarget--p {
  position: relative;
  top: -1px;
  font-size: 13px;
  line-height: 1;
  text-align: center;
  color: rgba(var(--color-text), 1);
}

/* =============================================================================== footerNav__leader */
.footerNav__leader {
  display: flex;
  margin-bottom: 35px;
}

/* --------------------------------------- footer__globalLogo */
.footer__globalLogo {
  position: relative;
}
.footer__globalLogo .globalLogo__markInner {
  background-color: #fff;
}

/* =============================================================================== footerNav__inner */
.footerNav__inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.footerNav__main {
  width: 64.7335423197%;
}

.footerCM {
  width: 32.131661442%;
}

/* =============================================================================== footerNav__main */
.footerNav__main {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.navToggle__wrapper--area {
  width: 39%;
}

.navToggle__wrapper--cate, .footerNav__list {
  width: 26%;
}

/* --------------------------------------- navToggle__innerList */
.navToggle__innerList {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding-top: 15px;
}

.navToggle__target {
  width: 50%;
}

.navToggle__link, a.navToggle__link {
  position: relative;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
  text-align: left;
  padding-top: 5px;
  padding-bottom: 5px;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(255, 255, 255, 0);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.navToggle__link > span, a.navToggle__link > span {
  display: inline-block;
  font-size: 11px;
}

/* --------------------------------------- footerNav__main nav */
.footerNav__main .globalNav__target {
  position: relative;
  margin-left: 0;
  margin-right: 0;
}
.footerNav__main .globalNav__target--inner, .footerNav__main a.globalNav__target--inner {
  position: relative;
  display: block;
  padding-top: 10px;
  padding-bottom: 10px;
}
.footerNav__main .globalNav__target--inner:before, .footerNav__main .globalNav__target--inner::after, .footerNav__main a.globalNav__target--inner:before, .footerNav__main a.globalNav__target--inner::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 1px;
  top: auto;
  bottom: 0;
}
.footerNav__main .globalNav__target--inner::before, .footerNav__main a.globalNav__target--inner::before {
  background-color: #fff;
}
.footerNav__main .globalNav__target--inner::after, .footerNav__main a.globalNav__target--inner::after {
  background-color: rgba(var(--color-text), 1);
  width: 0;
  left: auto;
  right: 0;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.footerNav__main .globalNav__target--title {
  font-size: 15px;
}

/* =============================================================================== footerSnsBtn */
.footerSnsBtn {
  position: relative;
  width: 38px;
}
.footerSnsBtn .snsIcon {
  position: absolute;
  width: 20px;
  left: 15px;
  top: 50%;
  transform: translate(0, -50%);
}
.footerSnsBtn .snsIcon__inner {
  background-color: #fff;
}
.footerSnsBtn .btnTtext {
  text-align: center;
}
.footerSnsBtn .favIcon {
  left: 15px;
  transform: translate(0, -50%);
  fill: #fff;
  stroke: white;
}
.footerSnsBtn .favBtn__num {
  right: 10px;
  background-color: #fff;
  color: rgba(var(--color-text), 1);
}

.footerSnsBtn .btnTtext {
  font-size: 15px;
}

.footerSnsBtn--x, .footerSnsBtn--ins, .footerSnsBtn--fb {
  margin-left: 15px;
}
.footerSnsBtn--x .snsIcon, .footerSnsBtn--ins .snsIcon, .footerSnsBtn--fb .snsIcon {
  right: auto;
  left: 50%;
  transform: translate(-50%, -50%);
}

.footerSnsBtn--x {
  margin-left: 30px;
}

.footerSnsBtn--fav {
  margin-left: 20px;
}
.footerSnsBtn--fav .btnTtext {
  position: relative;
  top: -1px;
  font-size: 13px;
  padding-left: 30px;
}

/* =============================================================================== footerCM__link */
.footerCM__link {
  position: relative;
  padding-top: 53.9215686275%;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  overflow: hidden;
}
.footerCM__link img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.footerCM__link p {
  position: absolute;
  color: #fff;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  text-align: center;
}

a.footerCM__link {
  height: 0;
}

/* =============================================================================== footerBottom */
.footerBottom {
  position: relative;
  padding-top: 50px;
  padding-bottom: 30px;
  padding-right: 250px;
}

/* --------------------------------------- footerBottom__list */
.footerBottom__list {
  font-size: 0;
  text-align: left;
  margin-bottom: 10px;
}

.footerBottom__target {
  display: inline-block;
  margin-right: 15px;
}

a.footerBottom__target--link, .footerBottom__target--link {
  position: relative;
  padding-top: 5px;
  padding-bottom: 5px;
}

.footerBottom__target--p {
  font-size: 13px;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(var(--color-text), 0);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.arrowBlank {
  position: absolute;
  width: 8px;
  height: 8px;
  top: 9px;
  right: 0;
  overflow: hidden;
}
.arrowBlank:before, .arrowBlank:after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-box-repeat: no-repeat;
  mask-position: center center;
  -webkit-mask-position: center center;
  -webkit-mask-box-position: center center;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  -webkit-mask-box-size: 100% auto;
  background-color: #fff;
  mask-image: url("../img/common/arrowBlank.svg");
  -webkit-mask-image: url("../img/common/arrowBlank.svg");
}
.arrowBlank:after {
  transform: translate(-100%, 100%);
  transition-delay: 0s;
  -webkit-transition-delay: 0s;
}

.arrowIcon__hoverWrapper a.footerBottom__target--link, .arrowIcon__hoverWrapper .footerBottom__target--link {
  padding-right: 12px;
}

/* --------------------------------------- footerCopy */
.footerCopy {
  font-size: 11px;
  white-space: nowrap;
  line-height: 1;
}

/* =============================================================================== pageTop */
.pageTop {
  position: absolute;
  width: 175px;
  height: 38px;
  bottom: 30px;
  right: 45px;
  cursor: pointer;
}
.pageTop.btnShaped.btnBgColor {
  background-color: rgba(var(--color-footer), 1);
  border-color: #fff;
}
.pageTop .btnLink {
  height: 100%;
}
.pageTop .btnArrow {
  left: auto;
  right: 10px;
}

/* =========================================================================================================================================== body class */
/* ======================================================= page key color */
/* =========================================================================================================================================== hover pc */
.maskBgColor__hoverWrapper .mask__bgColor--text {
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

@media (hover: hover) and (pointer: fine) {
  .maskBgColor__hoverWrapper:hover .mask__bgColor--text, .maskBgColor__hoverWrapper:active .mask__bgColor--text {
    background-color: #000000;
  }
  .searchBtn:hover, .searchBtn:active {
    background-color: black;
  }
  .searchBtn:hover .searchIcon, .searchBtn:active .searchIcon {
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.76, 0, 0, 1.42);
  }
  .searchForm:hover .searchForm__closeText--p, .searchForm:hover .searchBtn, .searchForm:active .searchForm__closeText--p, .searchForm:active .searchBtn {
    background-color: black;
  }
  .admanager:hover, .admanager:active {
    background-color: #000000;
  }
  .globalNav__target:hover .globalNav__arrow, .globalNav__target:active .globalNav__arrow {
    background-color: #000000;
  }
  .textHoverWrapper:hover .textHover__target, .textHoverWrapper:active .textHover__target {
    text-decoration-color: rgba(var(--color-text), 1);
  }
  .blockBox__link:hover ~ .blockBox__info .blockTitle, .blockBox__link:active ~ .blockBox__info .blockTitle {
    text-decoration-color: rgba(var(--color-text), 1);
  }
  .blockBox__link:hover ~ .blockBox__info .btnShaped, .blockBox__link:active ~ .blockBox__info .btnShaped {
    background-color: #fff;
  }
  .blockBox__link:hover ~ .btnShaped, .blockBox__link:active ~ .btnShaped {
    background-color: #fff;
  }
  .btnHoverWrapper:hover .btnCircle, .btnHoverWrapper:active .btnCircle {
    background-color: rgba(var(--color-btnBg), 1);
  }
  .btnHoverWrapper:hover .btnArrow::before, .btnHoverWrapper:active .btnArrow::before {
    background-color: white;
  }
  .btnHoverWrapper:hover .btnArrow:after, .btnHoverWrapper:active .btnArrow:after {
    border-color: white;
  }
  .areaNav__target:hover .areaNav__link, .areaNav__target:hover a.areaNav__link, .areaNav__target:active .areaNav__link, .areaNav__target:active a.areaNav__link {
    border-color: white;
  }
  .areaNav__target:hover .areaNav__link--p::after, .areaNav__target:active .areaNav__link--p::after {
    transform: translate(0, -50%) scale(1.4);
  }
  .areaNav__target[aria-selected=false]:hover .areaNav__link, .areaNav__target[aria-selected=false]:hover a.areaNav__link, .areaNav__target[aria-selected=false]:active .areaNav__link, .areaNav__target[aria-selected=false]:active a.areaNav__link {
    background-color: #fff;
    border-color: white;
  }
  .btnShaped:hover, .btnShaped:active {
    background-color: #fff;
  }
  .btnShaped.btnBgColor:hover, .btnShaped.btnBgColor:active {
    background-color: #000;
  }
  a.cateBanner:hover .cateBanner__icon, a.cateBanner:active .cateBanner__icon {
    background-color: white;
  }
  a.cateBanner:hover .cateBanner__iconSvg, a.cateBanner:active .cateBanner__iconSvg {
    stroke: rgba(var(--color-footer), 1);
  }
  .tagsTarget:hover a.tagsLink, .tagsTarget:active a.tagsLink {
    background-color: #fff;
  }
  .navToggle__link:hover, .navToggle__link:active, a.navToggle__link:hover, a.navToggle__link:active {
    text-decoration-color: white;
  }
  .footerNav__main .globalNav__target--inner:hover::after, .footerNav__main .globalNav__target--inner:active::after, .footerNav__main a.globalNav__target--inner:hover::after, .footerNav__main a.globalNav__target--inner:active::after {
    width: 100%;
    right: auto;
    left: 0;
  }
  .arrowIcon__hoverWrapper:hover .arrowBlank:before, .arrowIcon__hoverWrapper:active .arrowBlank:before {
    transition-duration: 0.3s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -ms-transition-duration: 0.3s;
    -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-duration: 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -moz-transition-duration: 0.3s;
    -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    transform: translate(100%, -100%);
  }
  .arrowIcon__hoverWrapper:hover .arrowBlank:after, .arrowIcon__hoverWrapper:active .arrowBlank:after {
    transition-duration: 0.6s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -ms-transition-duration: 0.6s;
    -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-duration: 0.6s;
    -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -moz-transition-duration: 0.6s;
    -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    transition-delay: 0.15s;
    -webkit-transition-delay: 0.15s;
    transform: translate(0, 0);
  }
  .footerBottom__target:hover .footerBottom__target--p, .footerBottom__target:active .footerBottom__target--p {
    text-decoration-color: #fff;
  }
  .navSns__target:hover .snsIcon__inner, .navSns__target:active .snsIcon__inner {
    background-color: #000;
  }
}
/* =========================================================================================================================================== header__scrollSub */
.globalNav {
  position: relative;
  z-index: 3;
}

/* --------------------------------------- header__scrollSub */
.header__scrollSub {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
  pointer-events: none;
  transform: translate(0, -110%);
}

/* --------------------------------------- header__scrollSub searchForm */
.header__scrollSub--searchForm {
  pointer-events: all;
}
.header__scrollSub--searchForm .searchInput {
  padding: 0;
  width: 35px;
}

/* --------------------------------------- header__scrollSub logo */
.header__scrollSub--logo {
  position: absolute;
  height: 100%;
  left: 75px;
  pointer-events: all;
  transition-duration: 0.6s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.6s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.6s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.6s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.header__scrollSub--logo .globalLogo__mark {
  width: 150px;
}

/* =========================================================================================================================================== globalNav__targetModal */
.globalNav__targetModal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: auto;
  padding-top: 148px;
  cursor: auto;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.globalNav__targetModal::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 148px;
  background-color: rgba(var(--color-body), 1);
  border-width: 1px;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0.1);
}

/* --------------------------------------- globalNav__targetModal list */
.globalNav__targetModal--list {
  overflow-y: scroll;
  padding: 27px 30px 15px;
  font-size: 0;
  text-align: left;
}
.globalNav__targetModal--list .areaNav__target {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  font-size: 0;
  text-align: left;
  margin-right: 12px;
  margin-bottom: 18px;
}
.globalNav__targetModal--list .areaNav__link, .globalNav__targetModal--list a.areaNav__link {
  padding: 8px 25px;
  border-radius: 9999px;
  min-width: 140px;
}
.globalNav__targetModal--list .areaNav__link--p {
  position: relative;
  top: 0;
  left: 0;
  transform: translate(0, 0);
}

.globalNav__target--cate .globalNav__targetModal--list .areaNav__link, .globalNav__target--cate .globalNav__targetModal--list a.areaNav__link {
  min-width: 215px;
}
.globalNav__target--cate .globalNav__targetModal--list .areaNav__link--p {
  padding-left: 0;
}

/* =============================================================================== searchModal */
.searchModal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 100vw;
  height: auto;
  left: 0;
  top: 0;
  padding-top: 70px;
  z-index: 51;
  max-height: 100vh;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.searchModal__inner {
  position: relative;
  max-height: calc(100vh - 70px);
  overflow-y: scroll;
}

/* --------------------------------------- searchIcon closeIcon */
.searchIcon, .closeIcon {
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.closeIcon {
  position: absolute;
  width: 11px;
  height: 1px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  opacity: 0;
}
.closeIcon::before, .closeIcon::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.closeIcon::before {
  transform: rotate(45deg);
}
.closeIcon::after {
  transform: rotate(-45deg);
}

/* --------------------------------------- searchForm__closeText */
.searchForm__closeText {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #fff;
  overflow: hidden;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.searchForm__closeText--p {
  height: 100%;
  font-size: 13px;
  white-space: nowrap;
  line-height: 33px;
  padding-left: 15px;
  background-color: rgba(var(--color-btnBg), 1);
  border-radius: 9999px;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.searchForm__closeText--p:last-child {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

/* =============================================================================== searchModal__formBlock */
.searchModal__formBlock {
  padding: 25px 30px;
}

.searchModal__formTitle {
  font-size: 16px;
  line-height: 1;
  margin-bottom: 20px;
}

/* --------------------------------------- searchModal__form freeWord */
.searchModal__form--freeWord {
  padding-right: 35px;
}
.searchModal__form--freeWord .searchInput {
  height: 50px;
  padding: 0px 30px;
  font-size: 18px;
  border-color: rgba(var(--color-text), 0.2);
}

.searchModal__form--freeWord .searchInput {
  width: 100%;
}

.searchModal__form--freeWord .searchInput:focus {
  border-color: rgba(var(--color-text), 1);
}

/* --------------------------------------- searchModal__formBlock flex */
.searchModal__formBlock--flex {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.searchModal__formBlock--flex > div {
  width: 50%;
}

/* --------------------------------------- checkbox__list */
.checkbox__list {
  text-align: left;
  font-size: 0;
}

/* --------------------------------------- checkbox */
.checkbox__target input {
  display: none;
}
.checkbox__target input[type=checkbox]:checked + label {
  background-color: white;
  border-color: white;
}
.checkbox__target label {
  position: relative;
  display: inline-block;
  min-width: 115px;
  font-size: 13px;
  padding-left: 25px;
  padding-right: 25px;
  padding-top: 4px;
  padding-bottom: 4px;
  text-align: center;
  background-color: rgba(255, 255, 255, 0);
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-textGray), 1);
  border-radius: 9999px;
  cursor: pointer;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.checkbox__target {
  display: inline-block;
  margin-right: 12px;
  margin-bottom: 18px;
}

/* =============================================================================== searchBtn */
.searchModal__searchBtn {
  display: block;
  position: relative;
  width: 320px;
  height: 52px;
  background-color: rgba(var(--color-btnBg), 1);
  border-radius: 9999px;
  margin-left: auto;
  margin-right: auto;
}

.searchModal__searchBtn--icon {
  position: absolute;
  width: 35px;
  height: 35px;
  background-color: #fff;
  border-radius: 50%;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.searchModal__searchBtn--icon .searchIcon {
  stroke: rgba(var(--color-btnBg), 1);
  opacity: 1 !important;
}

.searchModal__searchBtn--p {
  font-size: 19px;
  text-align: center;
  color: #fff;
}

/* =============================================================================== is--hoverCover--show */
.hoverCover {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(var(--color-textGray), 0.2);
  backdrop-filter: blur(10px);
  z-index: 40;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.is--hoverCover--show .hoverCover {
  opacity: 1;
  visibility: visible;
}

/* =============================================================================== is--scroll */
.js--headerScroll {
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 1s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 1s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.header__globalLogo, .header__globalLogo .globalLogo__mark {
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 1s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 1s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.header__scrollSub {
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 1s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 1s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

@media only screen and (min-width: 1024px) {
  .is--scroll .js--headerScroll {
    transform: translate(0, -70px);
  }
  .is--scroll .header__globalLogo.js--headerScroll {
    transform: translate(-50%, -70px);
  }
  .is--scroll .headerMain::after {
    width: 100%;
    right: auto;
    left: 0;
    transition-delay: 0.5s;
    -webkit-transition-delay: 0.5s;
  }
  .is--scroll .header__scrollSub {
    transform: translate(0, 0);
    transition-delay: 0.3s;
    -webkit-transition-delay: 0.3s;
  }
  .is--scroll .searchForm {
    width: 35px;
  }
  .is--scroll .searchForm .searchForm__inner {
    width: 35px;
  }
  .is--scroll .searchForm .searchForm__inner .searchInput {
    padding: 0;
  }
}
/* --------------------------------------- hover pc */
@media (hover: hover) and (pointer: fine) {
  .globalNav__target:hover .globalNav__targetModal, .globalNav__target:active .globalNav__targetModal {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
  .globalNav__target:hover .globalNav__arrow, .globalNav__target:active .globalNav__arrow {
    border-color: rgba(var(--color-text), 1);
    background-color: rgba(var(--color-text), 0);
    transform: rotate(180deg);
  }
  .globalNav__target:hover .globalNav__arrow::after, .globalNav__target:active .globalNav__arrow::after {
    border-color: rgba(var(--color-text), 1);
  }
  .searchForm .searchModal .searchBtn.searchModal__searchBtn[type=submit]:hover, .searchForm .searchModal .searchBtn.searchModal__searchBtn[type=submit]:active {
    background-color: #000;
  }
  .is--scroll .searchForm:hover .searchBtn, .is--scroll .searchForm:active .searchBtn {
    background-color: #000 !important;
  }
  .searchForm__inner:hover .searchInput, .searchForm__inner:active .searchInput {
    border-color: #000;
  }
  .searchForm__inner:hover .searchBtn, .searchForm__inner:active .searchBtn {
    background-color: #000;
  }
  .checkbox__target:hover label, .checkbox__target:active label {
    background-color: #fff;
  }
}
/* =============================================================================== searchForm modal show */
/* --------------------------------------- is--hoverCover--show.is--searchForm--show */
.is--hoverCover--show.is--searchForm--show .hoverCover {
  pointer-events: all;
}

.is--searchForm--show button[type=submit] {
  background-color: rgba(var(--color-btnBg), 1);
}
.is--searchForm--show .searchIcon {
  opacity: 0;
}
.is--searchForm--show .closeIcon {
  opacity: 1;
}
.is--searchForm--show .searchForm__closeText {
  width: 100%;
}
.is--searchForm--show .searchModal {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.is--searchForm--show .searchForm__closeText--p:first-child {
  opacity: 0;
}
.is--searchForm--show .searchForm__closeText--p:last-child {
  opacity: 1;
}

.globalNav__targetModal--list .btnArrow {
  left: auto;
  right: 20px;
  transform: translate(0, -50%);
}

/* =============================================================================== navSns */
.navSns {
  position: absolute;
  height: 100%;
  top: 0;
  right: 0;
  z-index: 4;
  display: flex;
  transition-duration: 1.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 1.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 1.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 1.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.navSns__list {
  display: flex;
}

.navSns__target {
  position: relative;
  width: 43px;
}
.navSns__target .snsIcon {
  width: 20px;
}
.navSns__target .snsIcon__inner {
  background-color: rgba(var(--color-text), 1);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.navSns__btn {
  position: relative;
  width: 50px;
  cursor: pointer;
}
.navSns__btn .globalNav__arrow {
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.navSns__modal {
  pointer-events: none;
}
.navSns__modal::after {
  background-color: transparent;
}

/* =============================================================================== areaSns */
.globalNav__targetModal--list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}

/* ------------------------------------------------- navSns__modalBox */
.navSns__modalBox {
  width: calc((100% - 30px) / 6);
  height: 45px;
  padding-left: 20px;
  padding-right: 10px;
  background-color: rgba(var(--color-bodySub), 1);
  margin-right: 5px;
  margin-bottom: 15px;
  border-radius: 9999px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.navSns__modalBox::nth-child(6n) {
  margin-right: 0;
}

.navSns__modalBox--title {
  position: relative;
  height: 100%;
  font-size: 13px;
  white-space: nowrap;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
}

/* ------------------------------------------------- globalNav__targetModal */
.areaSns__list {
  display: flex;
}

.areaSns__target {
  position: relative;
  width: 40px;
  height: 100%;
}
.areaSns__target .snsLink {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}
.areaSns__target .snsIcon__inner {
  transform: scale(0.9);
  opacity: 0.2;
}
.areaSns__target a.snsLink ~ .snsIcon .snsIcon__inner {
  opacity: 1;
}

/* =============================================================================== is--scroll */
.is--scroll .navSns {
  transform: translate(0, -110%);
}
.is--scroll .header__scrollSub .favBtn.header__favBtn {
  pointer-events: all;
}
.is--scroll .searchForm .searchBtn {
  background-color: rgba(var(--color-btnBg), 1) !important;
}
.is--scroll .searchForm__closeText {
  opacity: 0;
}

/* =============================================================================== hover pc */
@media (hover: hover) and (pointer: fine) {
  .navSns__btn:hover .globalNav__targetModal, .navSns__btn:active .globalNav__targetModal {
    opacity: 1;
    visibility: visible;
  }
  .navSns__btn:hover .globalNav__targetModal .globalNav__targetModal--list, .navSns__btn:active .globalNav__targetModal .globalNav__targetModal--list {
    pointer-events: all;
  }
  .navSns__btn:hover .globalNav__arrow, .navSns__btn:active .globalNav__arrow {
    border-color: rgba(var(--color-text), 1);
    background-color: rgba(var(--color-text), 0);
    transform: translateY(-50%) rotate(180deg);
  }
  .navSns__btn:hover .globalNav__arrow::after, .navSns__btn:active .globalNav__arrow::after {
    border-color: rgba(var(--color-text), 1);
  }
  .is--scroll.is--hoverCover--show.is--searchForm--show .searchForm:hover ~ .headerMain .header__scrollSub--logo, .is--scroll.is--hoverCover--show.is--searchForm--show .searchForm:active ~ .headerMain .header__scrollSub--logo {
    transform: translate(0%, 0%);
  }
  .menu .globalNav__target--inner:hover, .menu .globalNav__target--inner:active, .menu a.globalNav__target--inner:hover, .menu a.globalNav__target--inner:active {
    width: 100%;
  }
}
/* =============================================================================== menu */
.menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(var(--color-body), 1);
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  padding-top: 70px;
  padding-left: 20px;
  padding-right: 20px;
  z-index: 49;
  transition-duration: 0.8s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.8s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.8s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.8s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  opacity: 0;
  visibility: hidden;
  pointer-events: all;
}

.menuInner {
  position: relative;
  padding-bottom: 10px;
}

/* ------------------------------------------------- menu inner */
.menu .globalNav__target {
  margin-left: 0;
  margin-right: 0;
}
.menu .globalNav__target--title {
  font-size: 13px;
  padding-top: 19px;
  padding-bottom: 19px;
}
.menu .globalNav__target--inner::before, .menu a.globalNav__target--inner::before {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 1px;
  top: auto;
  bottom: 0;
  border-bottom: 1px dashed rgba(var(--color-text), 0.2);
  width: 0;
  left: auto;
  right: 0;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.3s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.3s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.menu .navToggle__wrapper, .menu .footerNav__list .globalNav__target {
  position: relative;
}
.menu .navToggle__wrapper::after, .menu .footerNav__list .globalNav__target::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 1px;
  top: auto;
  bottom: 0;
  background-color: rgba(var(--color-text), 1);
}
.menu .navToggle__wrapper.active .globalNav__target--inner::before, .menu .navToggle__wrapper.active a.globalNav__target--inner::before {
  width: 100%;
  right: auto;
  left: 0;
}
.menu .navToggle__wrapper.active .globalNav__target--snsLink::before {
  width: 100%;
  right: auto;
  left: 0;
}
.menu .navToggle__innerList {
  padding-bottom: 20px;
}
.menu .navToggle__iconInner {
  border-color: rgba(var(--color-text), 1);
}
.menu .navToggle__iconInner::before, .menu .navToggle__iconInner::after {
  background-color: rgba(var(--color-text), 1);
}

/* --------------------------------------- navToggle__icon */
.navToggle__icon {
  position: absolute;
  width: 55px;
  height: 53px;
  top: 0;
  right: 0;
  z-index: 3;
  cursor: pointer;
}

.navToggle__iconInner {
  position: absolute;
  width: 25px;
  height: 25px;
  border-width: 1px;
  border-style: solid;
  border-color: white;
  border-radius: 50%;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.navToggle__iconInner::before, .navToggle__iconInner::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 6px;
  height: 1px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  background-color: #fff;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.navToggle__iconInner::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.navToggle__wrapper.active .navToggle__iconInner::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

/* ------------------------------------------------- menu sns */
.globalNav__target--snsLink, .globalNav__target--snsLink .navSns__list {
  height: 100%;
}

.navToggle__target.navSns__modalBox {
  width: calc(50% - 4px);
  height: 32px;
  margin-bottom: 10px;
  margin-right: 8px;
}
.navToggle__target.navSns__modalBox:nth-child(2n) {
  margin-right: 0;
}
.navToggle__target.navSns__modalBox .navSns__modalBox--title {
  font-size: 10px;
}
.navToggle__target.navSns__modalBox .areaSns__target {
  width: 30px;
}
.navToggle__target.navSns__modalBox .areaSns__target .snsIcon {
  width: 15px;
}

.globalNav__target--snsLink {
  position: relative;
  height: 52px;
}
.globalNav__target--snsLink::before {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 1px;
  top: auto;
  bottom: 0;
  border-bottom: 1px dashed rgba(var(--color-text), 0.2);
  width: 0;
  left: auto;
  right: 0;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.3s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.3s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* --------------------------------------- menu reset */
.menu .navToggle__wrapper, .menu .footerNav__list .globalNav__target {
  width: 100%;
}

.menu .navToggle__wrapper--cate, .menu .footerNav__list {
  width: 100%;
}
.menu .navToggle__icon {
  display: block;
}
.menu .navToggle__inner {
  position: relative;
  overflow: hidden;
  height: 0;
  transition: height 0.28s ease-in-out;
}

/* --------------------------------------- menu cm */
.menuCm {
  margin-top: 50px;
  margin-bottom: 25px;
}
.menuCm img {
  border-radius: 6px;
  overflow: hidden;
}

.menu .menuBottom__list .arrowBlank:before, .menu .menuBottom__list .arrowBlank:after {
  background-color: rgba(var(--color-text), 1);
}

/* =============================================================================== menu open */
.menu--open .menu {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

/* =============================================================================== flexColumn 3 */
.flexColumn--3 .blockBox {
  width: calc((100% - 60px) / 3);
  margin-right: 30px;
  margin-bottom: 35px;
}
.flexColumn--3 .blockBox:nth-child(2n) {
  margin-right: 30px;
}
.flexColumn--3 .blockBox:nth-child(3n) {
  margin-right: 0;
}

/* =============================================================================== is--pr */
.is--pr .blockTitle {
  position: relative;
}
.is--pr .blockTitle::before {
  position: relative;
  display: inline-block;
  content: "PR";
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-text), 1);
  border-radius: 9999px;
  text-align: center;
  vertical-align: baseline;
  margin-right: 0.5em;
  transform-origin: left center;
  width: 46px;
  height: 15px;
  font-size: 12px;
  line-height: 14px;
}

.mastheadBlock.is--pr .blockTitle::before {
  width: 55px;
  height: 20px;
  top: -0.15em;
  font-size: 14px;
  line-height: 19px;
}

.pdContents__leader.is--pr .blockTitle::before {
  width: 55px;
  height: 25px;
  font-size: 14px;
  line-height: 23px;
  top: -0.4em;
  margin-right: 0.8em;
}

.pdSideBar__inner .blockBox--ranking.is--pr .blockTitle::before {
  transform: scale(0.8);
  margin-right: 0;
}

/* =============================================================================== おすすめエリア */
.rsHeader .title.fs--23 {
  font-size: 21px;
  white-space: nowrap;
}
.rsHeader .btn.btnAll {
  height: 28px;
}
.rsHeader .btn.btnAll a.btnLink, .rsHeader .btn.btnAll .btnLink {
  padding-left: 12px;
}
.rsHeader .btn.btnAll .btnTtext {
  font-size: 11px;
  white-space: nowrap;
}
.rsHeader .btn.btnAll .btnArrow {
  right: 5px;
}

/* =============================================================================== header caution */
:root {
  --caution-height: 45px;
}

.caution {
  position: absolute;
  width: 100%;
  height: var(--caution-height);
  top: 0;
  left: 0;
  z-index: 49;
  background-color: #eeeade;
  transform: translate(0, -150%);
  white-space: nowrap;
  line-height: 1;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 1s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 1s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.caution__mark {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  left: 12px;
}

.caution__mark--p {
  position: relative;
  font-size: 12px;
  padding: 7px 15px 7px 35px;
  background-color: #fff;
  border-radius: 9999px;
}
.caution__mark--p::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 20px;
  height: 20px;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  background-image: url(../img/common/caution--icon.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.caution--p {
  position: absolute;
  font-size: 13px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  letter-spacing: 0.08em;
}

/* --------------------------------------- is--caution */
.is--caution .caution {
  transform: translate(0, 0%);
}
.is--caution .headerSub {
  top: var(--caution-height);
}
.is--caution .searchForm {
  top: calc(18px + var(--caution-height));
}
.is--caution .headerMain {
  top: calc(70px + var(--caution-height));
}
.is--caution .wrapper {
  padding-top: calc(148px + var(--caution-height));
}
.is--caution .header__globalLogo {
  top: var(--caution-height);
}
.is--caution .globalNav__targetModal::after {
  height: calc(148px + var(--caution-height));
}
.is--caution .globalNav__targetModal {
  padding-top: calc(148px + var(--caution-height));
}

@media only screen and (min-width: 1024px) {
  /* --------------------------------------- is--caution is--scroll */
  .is--scroll .globalNav__targetModal::after {
    height: 78px;
  }
  .is--scroll .globalNav__targetModal {
    padding-top: 78px;
  }
  .is--caution .searchModal {
    padding-top: calc(70px + var(--caution-height));
  }
  .is--scroll.is--caution .caution {
    transform: translateY(-150%);
  }
  .is--scroll.is--caution .js--headerScroll {
    transform: translate(0, calc(-70px - var(--caution-height)));
  }
  .is--scroll.is--caution .header__globalLogo.js--headerScroll {
    transform: translate(-50%, calc(-70px - var(--caution-height)));
  }
  .is--scroll.is--caution .searchForm {
    top: 18px;
  }
  .is--scroll.is--caution .searchModal {
    padding-top: 70px;
  }
}
/* =============================================================================== notFound__article */
.notFound__article {
  text-align: center;
  white-space: nowrap;
  padding-top: 20vh;
  padding-bottom: 30vh;
}
.notFound__article .btn {
  margin-left: auto;
  margin-right: auto;
  margin-top: 35px;
  text-align: left;
}

.notFound__title--en {
  font-size: 56px;
  line-height: 1;
  margin-bottom: 20px;
}

.notFound__title--jp {
  font-size: 15px;
  margin-bottom: 10px;
  line-height: 1.6;
}

.notFound__title--p {
  font-size: 15px;
}

/* ============================================================================================ breadcrumbs */
.breadcrumbs__list {
  display: flex;
}

/* --------------------------------------- breadcrumbs__target */
.breadcrumbs__target {
  position: relative;
}
.breadcrumbs__target span {
  display: block;
  font-size: 12px;
  white-space: nowrap;
  line-height: 1;
}
.breadcrumbs__target > span {
  color: rgba(var(--color-textGray), 1);
  max-width: 210px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.breadcrumbs__target {
  /* --------------------------------------- breadcrumbs__link */
}
.breadcrumbs__target .breadcrumbs__link {
  position: relative;
  padding-right: 18px;
  margin-right: 13px;
}
.breadcrumbs__target .breadcrumbs__link::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
  border-left: 5px solid rgba(var(--color-textGray), 1);
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
}
.breadcrumbs__target .breadcrumbs__link > span {
  color: rgba(var(--color-text), 1);
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(var(--color-text), 0);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* ============================================================================================ weather */
.weather {
  position: absolute;
  height: 45px;
  top: 0;
  left: 0;
  padding-bottom: 9px;
  padding-left: 5px;
  padding-right: 19px;
  border-bottom-right-radius: 10px;
  white-space: nowrap;
  z-index: 4;
}

/* --------------------------------------- weather__inner */
.weather__inner {
  min-width: 150px;
  display: flex;
  line-height: 1;
  white-space: nowrap;
  opacity: 0;
}

/* --------------------------------------- weatherInfo__title */
.weatherInfo__title {
  align-self: center;
  font-size: 11px;
}

/* --------------------------------------- weatherInfo__num */
.weatherInfo__num {
  align-self: center;
  font-size: 18px;
}

/* ========================================================== weatherInfo */
.weatherInfo {
  position: relative;
  align-self: center;
  display: flex;
  padding-right: 15px;
  margin-right: 15px;
}
.weatherInfo::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 15px;
  top: 50%;
  transform: translateY(-50%);
  border-right: 1px dashed rgba(var(--color-text), 1);
  pointer-events: none;
}

/* --------------------------------------- weatherIcon */
.weatherIcon {
  align-self: center;
  position: relative;
  width: 30px;
  margin-right: 5px;
}

.weatherIcon__inner {
  padding-top: 100%;
}

.weather--cloud .weatherIcon__inner {
  mask-image: url(../img/common/weather__icon--cloud.svg);
  -webkit-mask-image: url(../img/common/weather__icon--cloud.svg);
}

.weather--rain .weatherIcon__inner {
  mask-image: url(../img/common/weather__icon--rain.svg);
  -webkit-mask-image: url(../img/common/weather__icon--rain.svg);
}

.weather--snow .weatherIcon__inner {
  mask-image: url(../img/common/weather__icon--snow.svg);
  -webkit-mask-image: url(../img/common/weather__icon--snow.svg);
}

.weather--Clear .weatherIcon__inner {
  mask-image: url(../img/common/weather__icon--sun.svg);
  -webkit-mask-image: url(../img/common/weather__icon--sun.svg);
}

.weather--suncloud .weatherIcon__inner {
  mask-image: url(../img/common/weather__icon--suncloud.svg);
  -webkit-mask-image: url(../img/common/weather__icon--suncloud.svg);
}

/* ============================================================================================ page kv */
/* --------------------------------------- topKv__title */
.topKv__title--en {
  font-size: 15px;
}

.topKv__title--jp {
  font-size: 38px;
  margin-top: 8px;
}

/* --------------------------------------- kvBg after cover */
.page .kvBg::after {
  background-color: rgba(var(--color-text), 0.2);
}

/* ============================================================================================ paging */
.paging {
  margin-bottom: 70px;
}

.paging, .pagingList {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
}

.pagingBtn, .pagingTarget.btnCircle {
  margin-left: 6px;
  margin-right: 6px;
}

/* --------------------------------------- pagingBtn */
.pagingBtn {
  border-color: transparent;
}

.pagingBtn.disabled {
  pointer-events: none;
  opacity: 0.3;
}

/* --------------------------------------- pagingTarget.btnCircle */
.pagingTarget.btnCircle {
  background-color: rgba(var(--color-btnBg), 1);
  border-color: rgba(var(--color-btnBg), 1);
}

/* --------------------------------------- pagingNum */
.pagingTarget > .pagingNum {
  color: rgba(var(--color-text), 1);
  margin-left: 10px;
  margin-right: 10px;
}

/* --------------------------------------- pagingNum */
.pagingNum {
  font-size: 13px;
  line-height: 32px;
  text-align: center;
  white-space: nowrap;
  color: #fff;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.pagingTarget.btnCircle[aria-selected=true] {
  background-color: #fff;
  border-color: #fff;
}
.pagingTarget.btnCircle[aria-selected=true] .pagingNum {
  color: rgba(var(--color-text), 1);
}

/* ============================================================================================ moreSection */
.moreSection {
  position: relative;
  padding: 25px 25px 35px;
  border-radius: 10px;
}
.moreSection .tagsTarget {
  padding-right: 16px;
  margin-bottom: 16px;
}
.moreSection a.tagsLink {
  min-width: inherit;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-text), 1);
  background-color: rgba(255, 255, 255, 0);
}
.moreSection .btnAll {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
}

.moreSection__toggle {
  position: relative;
  font-size: 0;
  text-align: left;
  height: 100px;
  overflow: hidden;
}

.moreSection.is--show .btnArrow.btnArrow--up {
  transform: translate(-50%, -50%) rotate(-90deg);
}

/* =========================================================================================================================================== subPage */
/* ============================================================================================ subPage common */
/* --------------------------------------- subPage kv  */
.subPage .kv {
  height: inherit;
  margin-bottom: 20px;
}
.subPage .kvInfo__inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
}

/* --------------------------------------- h1.hashLink  */
h1.hashLink {
  padding-left: 22px;
}
h1.hashLink::after {
  font-size: 22px;
}

/* ============================================================================================ subPage search */
/* --------------------------------------- searchResult  */
.searchResult {
  margin-bottom: 40px;
  text-align: left;
}

/* --------------------------------------- searchResult title text */
.searchResult__target--title, .searchResult__target--text {
  display: inline-block;
  line-height: 1;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-bottom: 15px;
}

.searchResult__target--title {
  width: 120px;
  font-size: 13px;
  white-space: nowrap;
  text-align: center;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-textGray), 1);
  border-radius: 9999px;
  margin-right: 20px;
}

.searchResult__target--text {
  font-size: 14px;
  margin-right: 20px;
}

/* =========================================================================================================================================== hover pc */
@media (hover: hover) and (pointer: fine) {
  .breadcrumbs__link:hover > span, .breadcrumbs__link:active > span {
    color: #000;
    text-decoration-color: rgba(var(--color-text), 1);
  }
  .pagingBtn:hover, .pagingBtn:active {
    background-color: rgba(255, 255, 255, 0.5);
  }
  .pagingTarget.btnCircle:hover, .pagingTarget.btnCircle:active {
    background-color: black;
  }
  .pagingTarget.btnCircle[aria-selected=true]:hover, .pagingTarget.btnCircle[aria-selected=true]:active {
    background-color: #fff;
    border-color: rgba(var(--color-btnBg), 1);
  }
}
/* =========================================================================================================================================== present coupon */
.presentSection {
  margin-bottom: 40px;
}
.presentSection ~ .paging {
  margin-bottom: 20px;
}

/* ======================================================= presentBlock */
.presentBlock__info {
  position: absolute;
  height: 30px;
  right: 0;
  bottom: 0;
  padding-top: 4px;
  padding-left: 18px;
  padding-right: 15px;
  border-top-left-radius: 6px;
  white-space: nowrap;
  z-index: 4;
}

.presentBlock__info--p {
  align-self: center;
  font-size: 13px;
  line-height: 1;
}

/* --------------------------------------- spotInfo__block */
.blockBoxInfo__detail {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin-bottom: 4px;
}

.blockBoxInfo__detail--title {
  width: 65px;
  font-size: 12px;
  text-align: left;
  padding-top: 0.15em;
}

.blockBoxInfo__detail--text {
  width: calc(100% - 65px);
  font-size: 14px;
}

/* ======================================================= couponBlock */
.couponBlock .blockBoxInfo__detail--title {
  width: 90px;
}
.couponBlock .blockBoxInfo__detail--text {
  width: calc(100% - 90px);
}
.couponBlock .blockBox__infoSub--list {
  margin-bottom: 10px;
}

/* ======================================================= btn 終了しました */
.presentBlock .btn, .couponBlock .btn {
  width: 100%;
  margin-top: 15px;
  margin-bottom: 10px;
  pointer-events: none;
}
.presentBlock .btn .btnTtext, .couponBlock .btn .btnTtext {
  position: relative;
  color: rgba(255, 255, 255, 0);
}
.presentBlock .btn .btnTtext::after, .couponBlock .btn .btnTtext::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "終了しました";
  padding-left: 10px;
  color: black;
}
.presentBlock .btnShaped.btnBgColor, .couponBlock .btnShaped.btnBgColor {
  background-color: white;
}
.presentBlock .blockBox__thum .thumImg__wrapper, .couponBlock .blockBox__thum .thumImg__wrapper {
  filter: grayscale(100%);
}

.presentBlock .blockBox__link ~ .blockBox__thum .thumImg__wrapper, .couponBlock .blockBox__link ~ .blockBox__thum .thumImg__wrapper {
  filter: grayscale(0%);
}
.presentBlock .blockBox__link ~ .blockBox__thum ~ .blockBox__info .btn, .couponBlock .blockBox__link ~ .blockBox__thum ~ .blockBox__info .btn {
  pointer-events: none;
}
.presentBlock .blockBox__link ~ .blockBox__thum ~ .blockBox__info .btn .btnTtext, .couponBlock .blockBox__link ~ .blockBox__thum ~ .blockBox__info .btn .btnTtext {
  color: white;
}
.presentBlock .blockBox__link ~ .blockBox__thum ~ .blockBox__info .btn .btnTtext::after, .couponBlock .blockBox__link ~ .blockBox__thum ~ .blockBox__info .btn .btnTtext::after {
  opacity: 0;
}
.presentBlock .blockBox__link ~ .blockBox__thum ~ .blockBox__info .btnShaped.btnBgColor, .couponBlock .blockBox__link ~ .blockBox__thum ~ .blockBox__info .btnShaped.btnBgColor {
  background-color: rgba(var(--color-text), 1);
}
.presentBlock .thumImg, .couponBlock .thumImg {
  object-fit: cover;
}

/* =========================================================================================================================================== hover pc */
@media (hover: hover) and (pointer: fine) {
  .presentBlock .blockBox__link:hover ~ .blockBox__info .btnShaped,
  .presentBlock .blockBox__link:active ~ .blockBox__info .btnShaped, .couponBlock .blockBox__link:hover ~ .blockBox__info .btnShaped,
  .couponBlock .blockBox__link:active ~ .blockBox__info .btnShaped {
    background-color: #000;
  }
  .presentBlock .blockBox__link ~ .blockBox__thum ~ .blockBox__info .btn:hover, .presentBlock .blockBox__link ~ .blockBox__thum ~ .blockBox__info .btn:active, .couponBlock .blockBox__link ~ .blockBox__thum ~ .blockBox__info .btn:hover, .couponBlock .blockBox__link ~ .blockBox__thum ~ .blockBox__info .btn:active {
    background-color: #000;
  }
  .presentBlock .blockBox__link:hover ~ .blockBox__thum ~ .blockBox__info .btnShaped.btnBgColor, .presentBlock .blockBox__link:active ~ .blockBox__thum ~ .blockBox__info .btnShaped.btnBgColor, .couponBlock .blockBox__link:hover ~ .blockBox__thum ~ .blockBox__info .btnShaped.btnBgColor, .couponBlock .blockBox__link:active ~ .blockBox__thum ~ .blockBox__info .btnShaped.btnBgColor {
    background-color: #000;
  }
}
/* =============================================================================== cate page */
.moreSection__cate .moreSection__toggle {
  font-size: 0;
  text-align: left;
}
.moreSection__cate .moreSection__toggle a.tagsLink {
  position: relative;
  min-width: inherit;
  background-color: #fff;
  border-width: 1px;
  border-style: solid;
  border-color: white;
  padding-right: 27px;
}
.moreSection__cate .moreSection__toggle .tagsTarget--p {
  padding-right: 16px;
}
.moreSection__cate .moreSection__toggle .btnArrow {
  left: auto;
  right: 16px;
  transform: translate(0, -50%);
}

/* =============================================================================== search none */
.noResult__text {
  font-size: 17px;
  padding-top: 55px;
  padding-bottom: 150px;
  text-align: center;
}

/* ============================================================================================ pdDetail common */
/* --------------------------------------- pdSection__grid */
.stickyTarget {
  position: sticky;
  height: auto;
  top: 78px;
}

/* --------------------------------------- pdSection__grid */
.pdSection__grid {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}

/* ============================================================================================ pdArticle */
.pdArticle {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px;
}

/* --------------------------------------- pdSection pdSideBar */
.pdSection {
  width: calc(100% - 400px - 25px);
}

.pdSideBar {
  width: 400px;
}

.pdSection, .pdSideBar {
  padding-left: min(45 * 100 / 1366 * 1vw, 45px);
  padding-right: min(45 * 100 / 1366 * 1vw, 45px);
  border-radius: 20px;
}

/* ============================================================================================ pdSection */
/* ========================================================== pdContents__leader */
.pdContents__leader {
  margin-bottom: 45px;
}

/* --------------------------------------- leader parts */
.pdSection {
  padding-top: 45px;
  padding-bottom: 65px;
}
.pdSection .blockTitle {
  margin-bottom: 20px;
}
.pdSection .blockBox__infoSub--list {
  margin-bottom: 10px;
}
.pdSection .blockBox__infoSub--text {
  font-size: 13px;
}
.pdSection .date {
  position: relative;
  display: inline-block;
  right: 0;
  bottom: 0;
  background-color: rgba(var(--color-pageDetail-box), 1);
  margin-top: 15px;
  margin-bottom: 30px;
}
.pdSection .date--reset {
  background-color: transparent;
}

/* ========================================================== postPerson */
.blockBox__infoSub--personTitle {
  font-size: 10px;
}

.postPerson {
  position: relative;
  padding: 25px 30px;
  background-color: rgba(var(--color-pageDetail-box), 1);
  border-radius: 10px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.postPerson .iconPostPerson {
  align-self: flex-start;
  position: relative;
  width: 46px;
  height: auto;
  overflow: inherit;
}
.postPerson .iconPostPerson__thum {
  position: relative;
  padding-top: 100%;
  border-radius: 50%;
  overflow: hidden;
}
.postPerson .postPerson__detail {
  width: calc(100% - 65px);
}
.postPerson .postPerson__detail .blockBox__infoSub--text {
  margin-left: 0;
  margin-bottom: 5px;
}
.postPerson .postPerson__detail .btn {
  margin-top: 20px;
}
.postPerson .blockBox__infoSub--profile {
  font-size: 11px;
}

/* --------------------------------------- postPerson__full */
.postPerson__fullWrapper {
  position: relative;
  margin-bottom: 50px;
  border-radius: 10px;
  overflow: hidden;
}
.postPerson__fullWrapper .postPerson {
  margin-bottom: 20px;
}

.postPerson__full .iconPostPerson {
  width: 90px;
  height: 90px;
}
.postPerson__full .iconPostPerson .blockBox__infoSub--personTitle {
  position: absolute;
  white-space: nowrap;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
}
.postPerson__full .postPerson__detail {
  width: calc(100% - 120px);
}
.postPerson__full .postPerson__detail .blockBox__infoSub--text {
  margin-left: 0;
  font-size: 17px;
}
.postPerson__full .blockBox__infoSub--profile {
  font-size: 13px;
  line-height: 1.8;
}
.postPerson__full .blockBox__infoSub--personTitle {
  font-size: 13px;
}

/* ========================================================== pdSpecial */
.pdSpecial {
  position: relative;
  margin-bottom: 80px;
}

/* --------------------------------------- pdSpecial__thum */
.pdSpecial__thum {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  z-index: 1;
}

/* --------------------------------------- favBtn */
.pdSpecial .favBtn, .pdSpecial a.favBtn {
  top: 13px;
  right: 13px;
  z-index: 2;
}
.pdSpecial .blockBox__pinIcon {
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
}

/* ========================================================== table */
.table {
  background-color: rgba(var(--color-pageDetail-box), 1);
  padding: 12px 35px 25px;
  border-radius: 10px;
  margin-bottom: 40px;
}

/* --------------------------------------- tableTitle */
.tableTitle {
  position: relative;
  font-size: 14px;
  padding-top: 13px;
  padding-bottom: 13px;
  line-height: 1;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #cacdcf;
}

.tableBtn {
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: rgba(var(--color-text), 1);
}
.tableBtn::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 4px;
  height: 4px;
  top: 44%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  border-width: 0 1px 1px 0;
  border-style: solid;
  border-color: #fff;
}

/* --------------------------------------- tableTarget p */
.tableTarget {
  position: relative;
}
.tableTarget .btnArrow {
  left: auto;
  right: 2px;
}
.tableTarget a.tableLink {
  position: relative;
}
.tableTarget a.tableLink::before, .tableTarget a.tableLink::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-bottom-width: 1px;
  border-bottom-color: #cacdcf;
  pointer-events: none;
}
.tableTarget a.tableLink::before {
  border-bottom-style: dashed;
}
.tableTarget a.tableLink::after {
  border-bottom-style: solid;
  width: 0;
  left: auto;
  right: 0;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.tableTarget > ul {
  padding-left: 2.5em;
}
.tableTarget > ul .tableTarget--p {
  font-size: 14px;
}

/* --------------------------------------- tableTarget p */
.tableTarget--p {
  position: relative;
  font-size: 15px;
  text-align: left;
  line-height: 1.4;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-right: 30px;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* ============================================================================================ wordpress */
.wordpress__block {
  font-size: 17px;
  text-align: left;
  line-height: 2;
  font-weight: 400;
}
.wordpress__block a {
  display: inline-block;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(var(--color-text), 1);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.wordpress__block h1, .wordpress__block h2, .wordpress__block h3, .wordpress__block h4, .wordpress__block h5, .wordpress__block h6 {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 25px;
}
.wordpress__block h3 {
  font-size: 23px;
}
.wordpress__block h4 {
  font-size: 22px;
}
.wordpress__block h5 {
  font-size: 21px;
}
.wordpress__block h6 {
  font-size: 19px;
}
.wordpress__block p {
  margin-bottom: 25px;
}
.wordpress__block img {
  border-radius: 10px;
  overflow: hidden;
}
.wordpress__block img.imgTate {
  max-width: 50%;
  margin-left: auto;
  margin-right: auto;
}

.pdSection [id^=i-] {
  padding-top: 130px;
  margin-top: -50px;
}

/* ============================================================================================ spotInfo */
.spotInfo {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: space-between;
  border-radius: 10px;
  background-color: rgba(var(--color-pageDetail-box), 1);
  overflow: hidden;
  margin-top: 50px;
  margin-bottom: 50px;
}
.spotInfo [id^=i-] {
  padding-top: 0;
  margin-top: 0;
}

/* ========================================================== spotInfo__detail */
.spotInfo__detail {
  width: 100%;
  padding: 25px 35px 35px;
  line-height: 1.4;
  text-align: left;
}
.spotInfo__detail .btn__googleMap {
  margin-top: 20px;
}

.spotInfo__map ~ .spotInfo__detail {
  width: 50%;
}

/* --------------------------------------- spotInfo__title */
.spotInfo__title {
  font-size: 17px;
  text-align: left;
  margin-bottom: 30px;
}

/* --------------------------------------- spotInfo__block */
.spotInfo__block {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin-bottom: 6px;
}

.spotInfo__block--title {
  width: 80px;
  font-size: 12px;
}

.spotInfo__block--text {
  width: calc(100% - 80px);
  font-size: 12px;
}
.spotInfo__block--text p {
  margin-bottom: 7px;
}

/* ========================================================== spotInfo__map */
.spotInfo__map {
  position: relative;
  width: calc(50% - 25px);
  border-radius: 10px;
  overflow: hidden;
}
.spotInfo__map iframe {
  position: absolute;
  width: 100% !important;
  height: 100% !important;
  top: 0;
  left: 0;
}

/* ============================================================================================ couponInfo */
.couponInfo {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  border-radius: 10px;
  background-color: #fff;
  overflow: hidden;
  padding: 25px 35px;
  margin-bottom: 50px;
}

/* --------------------------------------- couponInfo__thum */
.couponInfo__thum {
  width: 35.7142857143%;
}
.couponInfo__thum img {
  border-radius: 10px;
  overflow: hidden;
}

/* --------------------------------------- couponInfo__detail */
.couponInfo__detail {
  width: 60.7142857143%;
}

.couponInfo__detail--leader {
  position: relative;
  font-size: 13px;
  padding-left: 30px;
  margin-bottom: 12px;
}
.couponInfo__detail--leader::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 20px;
  height: 20px;
  top: 50%;
  transform: translateY(-50%);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-box-repeat: no-repeat;
  mask-position: center center;
  -webkit-mask-position: center center;
  -webkit-mask-box-position: center center;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  -webkit-mask-box-size: 100% auto;
  mask-image: url(../img/common/icon--coupon.svg);
  -webkit-mask-image: url(../img/common/icon--coupon.svg);
  background-color: rgba(var(--color-text), 1);
}

.couponInfo__detail--title {
  font-size: 17px;
  line-height: 1.4;
  text-align: left;
  margin-bottom: 12px;
}

.couponInfo__detail--text {
  font-size: 13px;
  margin-bottom: 25px;
}

/* ============================================================================================ pdFooter */
.pdFooter {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}

/* --------------------------------------- pdFooter__box */
.pdFooter__box {
  position: relative;
  height: 50px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-btnBg), 1);
  border-radius: 9999px;
  margin-right: min(25 * 100 / 1366 * 1vw, 25px);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* --------------------------------------- pdFooter__title */
.pdFooter__title {
  font-size: min(15 * 100 / 1366 * 1vw, 15px);
  white-space: nowrap;
  line-height: 46px;
  padding: 0 min(25 * 100 / 1366 * 1vw, 25px);
}

/* --------------------------------------- pdFooter__favBtn */
.pdFooter__favBtn {
  cursor: pointer;
  padding-right: min(25 * 100 / 1366 * 1vw, 25px);
}
.pdFooter__favBtn.active {
  border-color: rgba(var(--color-key), 1);
}
.pdFooter__favBtn .favBtn {
  right: min(15 * 100 / 1366 * 1vw, 15px);
  top: 50%;
  transform: translateY(-50%);
  background-color: transparent;
}

/* --------------------------------------- pdFooter__linkBtn */
.pdFooter__linkBtn--link {
  position: relative;
  padding-right: min(20 * 100 / 1366 * 1vw, 20px);
}
.pdFooter__linkBtn--link .btnArrow {
  left: auto;
  right: min(23 * 100 / 1366 * 1vw, 23px);
  transform: translate(0, -50%);
}

/* ========================================================== shareList */
.shareBlock {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
}

.shareList {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  margin-left: min(-15 * 100 / 1366 * 1vw, -15px);
  margin-right: min(10 * 100 / 1366 * 1vw, 10px);
}

.shareTarget {
  position: relative;
  width: min(50 * 100 / 1366 * 1vw, 50px);
}
.shareTarget::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: min(40 * 100 / 1366 * 1vw, 40px);
  height: min(40 * 100 / 1366 * 1vw, 40px);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  background-color: white;
  border-radius: 50%;
  z-index: 1;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  opacity: 0;
}

.shareLink {
  position: relative;
  z-index: 2;
}

/* --------------------------------------- snsIcon */
.snsIcon {
  position: absolute;
  width: min(25 * 100 / 1366 * 1vw, 25px);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}

.snsIcon__inner {
  padding-top: 100%;
}

.snsIcon--x .snsIcon__inner {
  mask-image: url(../img/common/snsIcon--x.svg);
  -webkit-mask-image: url(../img/common/snsIcon--x.svg);
}

.snsIcon--line .snsIcon__inner {
  mask-image: url(../img/common/snsIcon--line.svg);
  -webkit-mask-image: url(../img/common/snsIcon--line.svg);
}

.snsIcon--fb .snsIcon__inner {
  mask-image: url(../img/common/snsIcon--fb.svg);
  -webkit-mask-image: url(../img/common/snsIcon--fb.svg);
}

/* ============================================================================================ pdSideBar */
.pdSideBar__inner {
  padding-top: 25px;
  padding-bottom: 45px;
  /* --------------------------------------- pdSideBar blockBox */
}
.pdSideBar__inner .blockBox--flex {
  width: 100%;
  margin-right: 0;
  margin-bottom: 20px;
}
.pdSideBar__inner .blockBox--flex .blockBox__thum {
  width: 70px;
}
.pdSideBar__inner .blockBox--flex .blockBox__info {
  width: calc(100% - 70px);
  padding: 0 0 0 15px;
}
.pdSideBar__inner .blockBox--flex .blockTitle {
  font-size: 12px;
  margin-bottom: 3px;
}
.pdSideBar__inner .blockBox--flex .date {
  margin-top: 0;
  background-color: transparent;
}
.pdSideBar__inner .blockBox--flex .date--p::after {
  left: 0;
}
.pdSideBar__inner .blockBox--flex .rankingIcon {
  width: 33px;
  height: 33px;
}
.pdSideBar__inner .blockBox--flex .rankingIcon__num {
  width: 25px;
  height: 25px;
  font-size: 10px;
  line-height: 22px;
}

/* --------------------------------------- pdSideBar__ranking */
.pdSideBar__ranking > .blockTitle {
  margin-bottom: 26px;
  white-space: nowrap;
}
.pdSideBar__ranking .rankingDate {
  height: 22px;
  font-size: 10px;
  line-height: 20px;
  padding: 0 11px;
  margin-left: 13px;
  vertical-align: bottom;
}

/* --------------------------------------- pdSideBar__otherCate */
.pdSideBar__connCate {
  font-size: 0;
  text-align: left;
  margin-top: 40px;
  margin-bottom: 30px;
}
.pdSideBar__connCate .tagsTarget {
  min-width: 50%;
  padding-right: 12px;
  margin-bottom: 12px;
}
.pdSideBar__connCate a.tagsLink {
  position: relative;
  min-width: inherit;
  background-color: #fff;
  padding-right: 20px;
  border-width: 1px;
  border-style: solid;
  border-color: white;
}
.pdSideBar__connCate .tagsTarget--p {
  padding-right: 16px;
}
.pdSideBar__connCate .btnArrow {
  left: auto;
  right: 16px;
  transform: translate(0, -50%);
}

/* ============================================================================================ present */
.presentInfo .couponInfo__detail--leader::after {
  mask-image: url(../img/common/icon--present.svg);
  -webkit-mask-image: url(../img/common/icon--present.svg);
}
.presentInfo .spotInfo__block .spotInfo__block--title, .presentInfo .spotInfo__block .spotInfo__block--text {
  font-size: 14px;
}

.presentInfo__aside {
  font-size: 16px;
  margin-bottom: 20px;
}

.spotInfo.presentInfo__sub {
  margin-bottom: 20px;
}
.spotInfo.presentInfo__sub .spotInfo__block--title {
  font-size: 12px;
}

.textLink, a.textLink {
  display: inline-block;
  text-decoration: underline;
}

.spotInfo__asideText {
  font-size: 11px;
  line-height: 1.5;
}

.present__pdArticle .postPerson__fullWrapper {
  margin-top: 50px;
}

/* =========================================================================================================================================== hover pc */
@media (hover: hover) and (pointer: fine) {
  a.tableLink:hover::after, a.tableLink:active::after {
    width: 100%;
    right: auto;
    left: 0;
  }
  a.tableLink:hover .tableTarget--p, a.tableLink:active .tableTarget--p {
    background-color: rgba(255, 255, 255, 0.4);
  }
  .wordpress__block a:hover, .wordpress__block a:active {
    text-decoration-color: rgba(var(--color-text), 0);
  }
  .pdFooter__linkBtn:hover, .pdFooter__linkBtn:active, .pdFooter__favBtn:hover, .pdFooter__favBtn:active {
    background-color: #fff;
  }
  .shareTarget:hover::after, .shareTarget:active::after {
    opacity: 1;
  }
  .pdSideBar__connCate .tagsTarget:hover a.tagsLink, .pdSideBar__connCate .tagsTarget:active a.tagsLink {
    border-color: var(--color-key);
  }
  .textLink:hover, .textLink:active, a.textLink:hover, a.textLink:active {
    text-decoration: none;
  }
}
.table .tableList {
  overflow: hidden;
  height: 0;
}

.table .tableTitle {
  cursor: pointer;
  user-select: none;
}

.tableBtn {
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.table.table--open .tableBtn {
  transform: translateY(-50%) rotate(180deg);
}

/* ============================================================================================ edit ad sticky */
.pdSideBar__inner {
  height: 100%;
}

.wordpress__block a {
  position: relative;
  color: #034991 !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  text-decoration-line: underline;
  text-decoration-color: #034991;
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.2s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.2s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.wordpress__block a.wp-block-button__link {
  color: #ffffff !important;
  text-decoration: none;
}
.wordpress__block a:has(img) {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wordpress__block a:has(img)::after {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .wordpress__block a:hover, .wordpress__block a:active {
    text-decoration-color: rgba(3, 73, 145, 0);
  }
}
.wp-block-button a.wp-block-button__link.wp-element-button {
  color: #ffffff !important;
  text-decoration: none;
}
.wp-block-button a:has(img) {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wp-block-button a:has(img)::after {
  display: none;
}

.pdSpecial, .wordpress__block img {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.pdSideBar__inner .blockBox--ranking .thumImg__wrapper {
  height: 0;
  padding-top: 100%;
}

.wordpress__block .btn p {
  margin-bottom: 0;
}
.wordpress__block .btn a {
  display: flex;
  text-decoration: none;
  font-size: 13px;
}
.wordpress__block {
  /* ============================================================================================ spotInfo */
}
.wordpress__block .spotInfo {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: space-between;
  border-radius: 10px;
  background-color: rgba(var(--color-pageDetail-box), 1);
  overflow: hidden;
  margin-top: 50px;
  margin-bottom: 50px;
}
.wordpress__block {
  /* ========================================================== spotInfo__detail */
}
.wordpress__block .spotInfo__detail {
  width: 100%;
  padding: 25px 35px 35px;
  line-height: 1.4;
  text-align: left;
}
.wordpress__block .spotInfo__detail .btn__googleMap {
  margin-top: 20px;
}
.wordpress__block .spotInfo__map ~ .spotInfo__detail {
  width: 50%;
}
.wordpress__block {
  /* --------------------------------------- spotInfo__title */
}
.wordpress__block .spotInfo__title {
  font-size: 17px;
  text-align: left;
  margin-bottom: 30px;
}
.wordpress__block {
  /* --------------------------------------- spotInfo__block */
}
.wordpress__block .spotInfo__block {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin-bottom: 6px;
}
.wordpress__block .spotInfo__block--title {
  width: 80px;
  font-size: 12px;
}
.wordpress__block .spotInfo__block--text {
  width: calc(100% - 80px);
  font-size: 12px;
}
.wordpress__block .spotInfo__block--text p {
  margin-bottom: 7px;
}
.wordpress__block {
  /* ========================================================== spotInfo__map */
}
.wordpress__block .spotInfo__map {
  position: relative;
  width: calc(50% - 25px);
  border-radius: 10px;
  overflow: hidden;
}
.wordpress__block .spotInfo__map iframe {
  position: absolute;
  width: 100% !important;
  height: 100% !important;
  top: 0;
  left: 0;
}
.wordpress__block {
  /* ============================================================================================ cms imag layout */
}
.wordpress__block .wp-block-image {
  margin-bottom: 25px;
}
.wordpress__block {
  /* ============================================================================================ cms table layout */
}
.wordpress__block figure.is-style-stripes {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: space-between;
  border-radius: 10px;
  background-color: rgba(var(--color-pageDetail-box), 1);
  overflow: hidden;
  margin-top: 50px;
  margin-bottom: 50px;
  width: 100%;
  padding: 25px 35px 35px;
  font-size: 12px;
  line-height: 1.4;
  text-align: left;
}
.wordpress__block table.has-fixed-layout {
  width: 100%;
  padding: 25px 35px 35px;
  line-height: 1.4;
  text-align: left;
  color: rgba(var(--color-textGray), 1);
  font-weight: 400;
}
.wordpress__block table.has-fixed-layout a {
  display: inline-block;
  color: rgba(var(--color-textGray), 1) !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  text-decoration-line: underline;
  text-decoration-color: rgba(var(--color-textGray), 1);
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.2s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.2s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.wordpress__block table.has-fixed-layout td {
  padding: 5px 0;
  line-height: 1.7;
  vertical-align: text-top;
}

@media (hover: hover) and (pointer: fine) {
  .wordpress__block table.has-fixed-layout a:hover, .wordpress__block table.has-fixed-layout a:active {
    text-decoration-color: rgba(var(--color-textGray), 0);
  }
}
/* ============================================================================================  gallery */
/* ======================================================= galleryBlock */
.galleryBlock {
  margin-bottom: 35px;
}
.galleryBlock .thumImg__wrapper {
  padding-top: 100%;
}
.galleryBlock .blockTitle {
  margin-bottom: 0;
}
.galleryBlock .blockBox__thum {
  cursor: pointer;
}

/* ============================================================================================  galleryModal */
.galleryModal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(var(--color-body), 1);
  z-index: 60;
  overflow: hidden;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.galleryModal__inner {
  width: calc(625 * 100 / 800 * 1vh);
  height: 100%;
  margin: 0 auto;
}

/* ======================================================= galleryModal slider */
.galleryModal .keenSlider__wrapper {
  position: initial;
}
.galleryModal .keenSlider__wrapper, .galleryModal .sliderWrap, .galleryModal .keen-slider, .galleryModal .keen-slider__slide {
  height: 100%;
}
.galleryModal button[aria-label=prev], .galleryModal button[aria-label=next] {
  top: 50%;
  transform: translateY(-50%);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.galleryModal button[aria-label=prev] .btnArrow, .galleryModal button[aria-label=next] .btnArrow {
  top: 50%;
  left: 50%;
}
.galleryModal button[aria-label=prev] .btnCircle, .galleryModal button[aria-label=next] .btnCircle {
  border-radius: 9999px;
}
.galleryModal button[aria-label=prev] {
  left: 20px;
}
.galleryModal button[aria-label=prev] .btnArrow {
  transform: translate(-50%, -50%) rotate(180deg);
}
.galleryModal button[aria-label=next] {
  right: 20px;
}
.galleryModal button[aria-label=next] .btnArrow {
  transform: translate(-50%, -50%);
}
.galleryModal .keen-slider__slide {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
}

/* ======================================================= galleryModal block */
.galleryModal__block .thumImg__wrapper {
  padding-top: 100%;
  border-radius: 0;
  background-color: #fff;
  margin-bottom: calc(10 * 100 / 800 * 1vh);
}
.galleryModal__block .thumImg__wrapper .thumImg {
  object-fit: contain;
}

/* ======================================================= galleryModal__closeBtn */
.galleryModal__closeBtn {
  position: fixed;
  width: 140px;
  height: 70px;
  top: 0;
  right: 0;
  cursor: pointer;
  z-index: 10;
}

.galleryModal__closeBtn--inner {
  position: absolute;
  width: 105px;
  height: 35px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  border-radius: 9999px;
  background-color: rgba(var(--color-btnBg), 1);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.galleryModal__closeBtn--p {
  font-size: 14px;
  color: #fff;
  padding-left: 20px;
  line-height: 32px;
}

/* --------------------------------------- closeIcon */
.galleryModal__closeBtn .closeIcon {
  left: auto;
  right: 8px;
  opacity: 1;
}

/* ============================================================================================  hover pc */
@media (hover: hover) and (pointer: fine) {
  .galleryModal__closeBtn:hover .galleryModal__closeBtn--inner, .galleryModal__closeBtn:active .galleryModal__closeBtn--inner {
    background-color: #000;
  }
}
.galleryModal--show .galleryModal {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

/* ================================================ vw */
/* ================================================ vh */
/* ============================================================================================  otherSection */
.otherSection {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  padding-top: 45px;
  padding-bottom: 65px;
}

/* ------------------------------ otherSection__left */
.otherSection__left {
  width: 270px;
}

.otherSection__leftTitle {
  font-size: 18px;
  letter-spacing: 0.05em;
}

.otherSection__leftTitle.stickyTarget {
  align-self: flex-start;
  top: 88px;
}

/* ------------------------------ otherSection__right */
.otherSection__right {
  width: calc(100% - 270px);
}

/* ------------------------------ otherSection__leader */
.otherSection__leader {
  font-size: 19px;
  margin-bottom: 20px;
}

/* ------------------------------ otherSection__p */
.otherSection__p {
  font-size: 17px;
  margin-bottom: 35px;
}
.otherSection__p:last-child {
  margin-bottom: 0;
}

.otherSection__p--mb15 {
  margin-bottom: 15px;
}

/* ------------------------------ otherSection__list */
.otherSection__list {
  margin-bottom: 40px;
}
.otherSection__list:last-child {
  margin-bottom: 0;
}

.listTarget {
  position: relative;
  font-size: 17px;
  padding-left: 28px;
  margin-bottom: 15px;
  line-height: 1.5;
}
.listTarget:last-child {
  margin-bottom: 0;
}
.listTarget span {
  position: absolute;
  display: block;
  width: 20px;
  top: 0;
  left: 0;
  text-align: center;
}

.otherSection__list--num .listTarget span {
  text-align: right;
}

.otherSection__list--point .listTarget {
  padding-left: 20px;
}

.otherSection__list--privacy {
  margin-bottom: 60px;
}

/* ------------------------------ otherSection__thum */
.otherSection__thum {
  width: 125px;
  margin-right: 30px;
}

/* ------------------------------ otherSectionBlock */
.otherSectionBlock {
  margin-bottom: 85px;
}
.otherSectionBlock:last-child {
  margin-bottom: 0;
}

.otherSectionBlock--flex {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.otherSectionBlock--flex .otherSection__p {
  width: calc(100% - 125px - 30px);
}

/* ------------------------------ cookieBlock */
.cookieBlock {
  margin-bottom: 50px;
}
.cookieBlock:last-child {
  margin-bottom: 0;
}
.cookieBlock:first-of-type {
  padding-top: 15px;
}

.otherSection__leader--h3, .otherSection__p--small {
  font-size: 14px;
  margin-bottom: 10px;
  line-height: 1.5;
}

.otherSection__p--small {
  margin-bottom: 30px;
}

/* ------------------------------ cookieBlock table */
.cookieBlock table {
  border-collapse: inherit;
  margin: auto;
  border: 1px solid rgba(var(--color-border), 1);
  border-radius: 5px;
  border-spacing: initial;
  width: 100%;
  overflow: hidden;
  font-size: 14px;
}
.cookieBlock table .ot-scrn-rdr {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.cookieBlock table thead {
  background-color: rgba(var(--color-pageDetail-box), 1);
}
.cookieBlock table .ot-table-header, .cookieBlock table .ot-host-td, .cookieBlock table .ot-cookies-td, .cookieBlock table .ot-cookies-type {
  border-bottom: 1px solid rgba(var(--color-border), 1);
  border-right: 1px solid rgba(var(--color-border), 1);
  padding: 12px 15px;
  text-align: left;
}
.cookieBlock table .ot-table-header:last-child, .cookieBlock table .ot-host-td:last-child, .cookieBlock table .ot-cookies-td:last-child, .cookieBlock table .ot-cookies-type:last-child {
  border-right: none;
}
.cookieBlock table tbody tr:last-child .ot-host-td, .cookieBlock table tbody tr:last-child .ot-cookies-td, .cookieBlock table tbody tr:last-child .ot-cookies-type {
  border-bottom: none;
}
.cookieBlock table tbody tr:nth-child(even) {
  background-color: rgba(var(--color-bodySub), 1);
}
.cookieBlock table thead .ot-table-header {
  font-weight: 500;
}
.cookieBlock table .ot-host-td, .cookieBlock table .ot-cookies-td, .cookieBlock table .ot-cookies-type {
  font-weight: 400;
}
.cookieBlock table .ot-host-td span, .cookieBlock table .ot-cookies-td span, .cookieBlock table .ot-cookies-type span {
  display: block;
  width: 100%;
  word-wrap: break-word;
}
.cookieBlock table .textLink {
  word-break: break-word;
  line-height: 1.5;
}

.cookieBlock table {
  table-layout: fixed;
}
.cookieBlock table .ot-host-td, .cookieBlock table .ot-cookies-td, .cookieBlock table .ot-cookies-type {
  width: 33.3333333333%;
}

/* ============================================================================================  add phase 3 */
/* ============================================================================  otherSection__infoBox */
.otherSection__infoBox {
  background-color: #e7e3d3;
  border-radius: 10px;
  padding: 25px 35px;
}

.otherSection__infoBox--block {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.pageAd__infoBox .otherSection__infoBox--blockTitle {
  width: 245px;
  font-size: 15px;
}
.pageAd__infoBox .otherSection__infoBox--blockDetail {
  width: calc(100% - 245px);
  margin-bottom: 20px;
}
.pageAd__infoBox .pageAd__infoBox--company {
  display: inline-block;
  font-size: 12px;
  white-space: nowrap;
  background-color: rgba(var(--color-body), 1);
  border-radius: 9999px;
  padding: 6px 20px;
  margin-right: 15px;
  margin-bottom: 5px;
}
.pageAd__infoBox .otherSection__infoBox--block:last-child .pageAd__infoBox--company {
  margin-bottom: 0;
}

.otherSection__infoBtn {
  margin-top: 40px;
}
.otherSection__infoBtn .btn {
  margin-right: 25px;
  margin-bottom: 15px;
}

/* ============================================================================  about */
.aboutSection .otherSection__left {
  width: 36.8338557994%;
}
.aboutSection .otherSection__right {
  width: 59.6394984326%;
  margin-left: auto;
}

/* ------------------------------ aboutSection__img */
.aboutSection__img img {
  border-radius: 8px;
}

.aboutSection__img--p {
  font-size: min(22 * 100 / 1366 * 1vw, 22px);
  color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.18em;
}
.aboutSection__img--p > span {
  margin-top: -0.5em;
  margin-bottom: 0.2em;
  position: relative;
  right: -0.3em;
}

/* ------------------------------ aboutSection__block */
.aboutSection__block {
  margin-bottom: 95px;
}
.aboutSection__block:last-child {
  margin-bottom: 0;
}

.aboutSection__title {
  font-size: 19px;
  line-height: 1.5;
  margin-bottom: 25px;
}

.aboutSection__desc {
  font-size: 16px;
  margin-bottom: 30px;
}

/* ------------------------------ pageAbout__infoBox title text */
.pageAbout__infoBox--title {
  font-size: 15px;
  margin-bottom: 15px;
}

.pageAbout__infoBox--text {
  font-size: 14px;
  margin-bottom: 10px;
}
.pageAbout__infoBox--text.pageAbout__infoBox--strong {
  font-size: 14px;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-decoration-style: dashed;
  text-underline-offset: 9px;
}

/* =================================================================  pageAbout__infoArea */
.pageAbout__infoArea--list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 35px;
}

/* ------------------------------ pageAbout__infoArea */
.pageAbout__infoArea {
  position: relative;
  width: calc((100% - 30px) / 3);
  margin-right: 10px;
  min-width: 228px;
  margin-bottom: 12px;
}

.pageAbout__infoArea--sub {
  align-self: center;
  padding-left: 10px;
}

/* ------------------------------ infoArea inner */
.pageAbout__infoArea--inner, a.pageAbout__infoArea--inner {
  position: relative;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 38px;
  border-radius: 9999px;
  background-color: rgba(var(--color-body), 1);
}

a.pageAbout__infoArea--inner {
  background-color: rgba(var(--color-textGray), 1);
  color: #fff;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
a.pageAbout__infoArea--inner .pageAbout__infoArea--num {
  color: rgba(var(--color-textGray), 1);
}

/* ------------------------------ infoArea title */
.pageAbout__infoArea--title {
  font-size: 12px;
}

/* ------------------------------ infoArea num */
.pageAbout__infoArea--num {
  position: absolute;
  width: 20px;
  height: 20px;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  font-size: 11px;
  text-align: center;
  line-height: 20px;
  white-space: nowrap;
  background-color: #fff;
}

a.textLink {
  display: inline;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-decoration-style: solid;
  text-decoration-color: rgba(var(--color-textGray), 1);
}

/* ------------------------------ info detail */
.pageAbout__infoBox--detail .spotInfo__block {
  margin-bottom: 2px;
}
.pageAbout__infoBox--detail .spotInfo__block--title {
  width: 105px;
}
.pageAbout__infoBox--detail .spotInfo__block--text {
  width: calc(100% - 105px);
}

/* ------------------------------ aboutPolicy */
.aboutPolicy__block {
  margin-bottom: 45px;
}
.aboutPolicy__block:last-child {
  margin-bottom: 0;
}

.aboutPolicy__block--title {
  font-size: 16px;
  line-height: 1.2;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px dashed #cacdcf;
}

/* ------------------------------ textIndent__list */
.textIndent__list {
  font-size: 14px;
  margin-top: 20px;
}

.textIndent {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.45;
  margin-bottom: 4px;
}

/* ============================================================================  contact */
.pageContact__infoBox {
  margin-bottom: 35px;
}
.pageContact__infoBox .contactSection__desc {
  font-size: 14px;
}
.pageContact__infoBox .contactSection__block--aside {
  font-size: 12px;
  line-height: 1.55;
  margin-top: 20px;
}

.pageContact__infoBtn .btn {
  width: calc((100% - 60px) / 3);
  margin-right: 20px;
  min-width: 330px;
}
.pageContact__infoBtn .btn .btnTtext {
  white-space: nowrap;
}

/* ============================================================================================ edit */
.editSection {
  position: relative;
  padding-top: 110px;
  margin-top: -30px;
}

.writerBlock {
  position: relative;
  margin-bottom: 50px;
}

/* ------------------------------ writerBlock__link */
.editSection__title {
  font-size: 18px;
  line-height: 1;
  margin-bottom: 45px;
}

/* ============================================================================ writerBlock */
/* ------------------------------ writerBlock__link */
.writerBlock__link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}

/* ------------------------------ writerBlock__thum */
.writerBlock__thum {
  position: relative;
  width: 71.7391304348%;
  margin-left: auto;
  margin-right: auto;
}
.writerBlock__thum .btnCircle {
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(-50%, 0);
  background-color: rgba(var(--color-body), 1);
}

.writerBlock__thumInner {
  position: relative;
  padding-top: 100%;
  border-radius: 50%;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.writerBlock__thumInner img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* ------------------------------ writerBlock__info */
.writerBlock__info {
  margin-top: 20px;
}

.writerBlock__info--title, .writerBlock__info--name {
  text-align: center;
  line-height: 1;
}

.writerBlock__info--title {
  font-size: 13px;
  margin-bottom: 10px;
}

.writerBlock__info--name {
  font-size: 16px;
}

.writerBlock__info--desc {
  font-size: 13px;
  line-height: 1.5;
  margin-top: 15px;
}

/* ============================================================================================ pageInner__nav */
.latestSection {
  position: relative;
}

.pageInner__nav {
  position: relative;
  margin-bottom: 70px;
}

/* ------------------------------ pageInner__navList */
.pageInner__navList {
  display: flex;
}

/* ------------------------------ pageInner__navTarget */
.pageInner__navTarget {
  position: relative;
  width: 260px;
  background-color: rgba(var(--color-bodySub), 1);
  border-radius: 10px;
  margin-left: 8px;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.pageInner__navTarget .btnArrow {
  left: auto;
  right: 15px;
}

.pageInner__navTarget--p {
  font-size: 15px;
  padding: 15px 25px;
}

/* ============================================================================================ writerDetail */
.writerDetail {
  position: relative;
  background-color: rgba(var(--color-bodySub), 1);
  margin-top: 50px;
  margin-bottom: 60px;
}
.writerDetail .blockBox__pinIcon {
  display: block;
  width: auto;
}

.writerDetail__pin {
  width: auto;
}
.writerDetail__pin .iconInner.writerDetail__pin--p {
  font-size: 13px;
  padding: 0;
  white-space: nowrap;
  line-height: 1;
  background-color: transparent;
  padding-right: 18px;
}

/* ============================================================================================ writerDetail */
.postPerson.writerDetail__inner {
  position: relative;
  padding: 40px 35px 35px;
  background-color: rgba(var(--color-pageDetail-box), 1);
  border-radius: 10px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.writerDetail__innerLeader {
  align-self: flex-start;
  width: 415px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.writerDetail__innerLeader .iconPostPerson {
  width: 165px;
}
.writerDetail__innerLeader .iconPostPerson__thum {
  position: relative;
}

/* ------------------------------ writerDetail__innerInfo */
.writerDetail__innerInfo {
  width: calc(100% - 195px);
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
}
.writerDetail__innerInfo .blockBox__infoSub--personTitle {
  font-size: 13px;
}
.writerDetail__innerInfo .blockBox__infoSub--text {
  font-size: 16px;
  margin-left: 0;
}
.writerDetail__innerInfo .navSns__list {
  margin-top: 7px;
}
.writerDetail__innerInfo a.snsLink {
  padding-top: 100%;
}
.writerDetail__innerInfo a.snsLink .snsIcon {
  left: 0;
  transform: translate(0, -50%);
}
.writerDetail__innerInfo a.snsLink .snsIcon__inner {
  background-color: rgba(var(--color-text), 0.8);
}

/* ------------------------------ writerDetail__innerDetail */
.writerDetail__innerDetail {
  width: calc(100% - 415px);
}
.writerDetail__innerDetail .blockBox__infoSub--profile {
  font-size: 13px;
  line-height: 1.7;
  margin-bottom: 15px;
}
.writerDetail__innerDetail .blockBox__infoSub--profile:last-child {
  margin-bottom: 0;
}

/* ============================================================================================ hover pc */
@media (hover: hover) and (pointer: fine) {
  a.pageAbout__infoArea--inner:hover, a.pageAbout__infoArea--inner:active {
    background-color: #000;
  }
  a.textLink:hover, a.textLink:active {
    text-decoration-color: rgba(var(--color-textGray), 0);
  }
  .writerBlock:hover .writerBlock__thumInner, .writerBlock:active .writerBlock__thumInner {
    border-color: black;
  }
  .writerBlock:hover .writerBlock__thumInner img, .writerBlock:active .writerBlock__thumInner img {
    transform: scale(1.1);
  }
  .writerBlock:hover .writerBlock__thum .btnCircle, .writerBlock:active .writerBlock__thum .btnCircle {
    background-color: rgba(var(--color-text), 1);
  }
  .writerBlock:hover .writerBlock__thum .btnCircle .btnArrow::before, .writerBlock:active .writerBlock__thum .btnCircle .btnArrow::before {
    background-color: #fff;
  }
  .writerBlock:hover .writerBlock__thum .btnCircle .btnArrow:after, .writerBlock:active .writerBlock__thum .btnCircle .btnArrow:after {
    border-color: #fff;
  }
  .pageInner__navTarget:hover, .pageInner__navTarget:active {
    background-color: #fff;
  }
  .writerDetail__innerInfo a.snsLink:hover .snsIcon__inner, .writerDetail__innerInfo a.snsLink:active .snsIcon__inner {
    background-color: #000;
  }
}
.peBtnList {
  max-width: 710px;
}

/* ============================================================================================ edit 20251119 nav */
.subPageWriter .pageInner__navList {
  width: calc(100% + 10px);
  display: block;
  font-size: 0;
  text-align: left;
}
.subPageWriter .pageInner__navList .pageInner__navTarget {
  display: inline-block;
  min-width: calc((100% - 40px) / 4);
  width: auto;
  padding-right: 15px;
  margin-bottom: 10px;
  margin-left: 0;
  margin-right: 10px;
}
.subPageWriter .pageInner__navList .pageInner__navTarget--p {
  white-space: nowrap;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: transparent !important;
}

.wp-block-table .has-fixed-layout {
  table-layout: auto !important;
}

.wp-block-table .has-fixed-layout td:first-child {
  width: 20%;
  padding-right: 2%;
}

/* sp */
/*============================================================================================ 1023px */
@media only screen and (max-width: 1023px) {
  /* ============================================================================================  areaArticle */
  .areaArticle {
    padding-top: 234.6666666667% !important;
  }
  .gridWide.areaArticle__inner {
    padding-left: 0;
    padding-right: 0;
  }
  .areaArticle__bg {
    background-image: url(../img/contents/top/mapBg--sp.jpg);
  }
  /* ======================================================= areaConcept */
  .areaConcept {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .areaConcept__logo {
    width: 40%;
    padding-top: calc(35 * 100 / 375 * 1vw);
    margin-bottom: calc(15 * 100 / 375 * 1vw);
  }
  .areaConcept--p {
    font-size: calc(10 * 100 / 375 * 1vw);
    margin-top: calc(8 * 100 / 375 * 1vw);
    margin-bottom: calc(8 * 100 / 375 * 1vw);
    letter-spacing: -0.001em;
  }
  /* ------------------------------ areaConcept btn */
  .areaConcept .btn {
    margin-top: calc(25 * 100 / 375 * 1vw);
  }
  .areaConcept .btn .btnTtext {
    padding-left: 0;
  }
  .areaConcept .btn a.btnLink, .areaConcept .btn .btnLink {
    padding-left: calc(15 * 100 / 375 * 1vw);
  }
  /* ======================================================= areaMapDetail */
  .areaMapDetail {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    width: 100%;
    padding-bottom: calc(30 * 100 / 375 * 1vw);
  }
  /* ------------------------------ areaMapDetail__bg */
  .areaMapDetail__bg {
    width: 100%;
    background-size: 100% auto;
    background-image: url(../img/contents/top/mapBg--detail--sp.png);
    z-index: 1;
  }
  .areaMapDetail__bg::after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    top: auto;
    bottom: 0;
    height: 50%;
    background: linear-gradient(rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0.5) 48%);
  }
  /* ------------------------------ areaMapDetail__list */
  .areaMapDetail__list {
    padding-left: calc(12 * 100 / 375 * 1vw);
    padding-right: calc(12 * 100 / 375 * 1vw);
    padding-top: 80px;
  }
  /* ------------------------------ areaMap__linkBtn */
  .areaMap__linkBtn {
    min-width: calc(65 * 100 / 375 * 1vw);
    height: calc(20 * 100 / 375 * 1vw);
    margin-right: calc(12 * 100 / 375 * 1vw);
    margin-bottom: calc(12 * 100 / 375 * 1vw);
  }
  .areaMap__linkBtn--p {
    font-size: calc(12 * 100 / 375 * 1vw);
    line-height: calc(18 * 100 / 375 * 1vw);
    padding-left: calc(15 * 100 / 375 * 1vw);
    padding-right: calc(15 * 100 / 375 * 1vw);
  }
  .areaMap__linkBtn--p > span {
    font-size: calc(10 * 100 / 375 * 1vw);
  }
  .areaConcept .btnAll {
    display: block;
  }
}
/* ============================================================================================  edit 20251015 banner */
@media only screen and (max-width: 767px) {
  .top .articleBanner .borderBox {
    padding: 20px 20px 20px;
  }
  .top .articleBanner .title {
    font-size: 13px;
    margin-bottom: 20px;
  }
  .couponSection .title {
    margin-bottom: 10px;
  }
  .couponSection .blockTitle.fs--17 {
    line-height: 1.55;
    white-space: nowrap;
  }
  .couponSection .blockSubText {
    display: none;
  }
  .couponSection .btnShaped[data-shaped="75-38"] {
    width: 65px;
    height: 30px;
  }
  .couponSection .blockBox__coupon {
    justify-content: space-between;
  }
  .couponSection .blockBox__coupon .blockBox__info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .couponSection .blockBox__thum {
    width: 50%;
  }
  .couponSection .blockBox__thum .thumImg__wrapper {
    padding-top: 53.0158730159%;
    height: 0;
  }
  .couponSection .blockBox__info {
    width: 46.7741935484%;
  }
  .couponSection .blockBox__info {
    position: initial;
    padding-right: 0;
    padding-bottom: 35px;
  }
  .couponSection .btnShaped[data-shaped=auto-38] {
    position: absolute;
    width: 100%;
    height: 30px;
    left: 0;
    bottom: 0;
  }
  .couponSection .btnShaped[data-shaped=auto-38] .btnTtext {
    padding-left: 3px;
  }
  .couponSection .btnShaped[data-shaped=auto-38] .btnArrow {
    right: 5%;
  }
  .couponSection .btnShaped[data-shaped=auto-38] a.btnLink, .couponSection .btnShaped[data-shaped=auto-38] .btnLink {
    padding-right: 0;
  }
  .presentSlider .blockBox.blockBox--flex {
    padding-bottom: 35px;
  }
  .presentSlider .blockBox__info {
    position: initial;
    padding-right: 0;
  }
  .presentSlider .btnShaped[data-shaped=auto-38] {
    position: absolute;
    height: 30px;
    left: 0;
    bottom: 0;
  }
  .presentSlider .btnShaped[data-shaped=auto-38] .btnTtext {
    padding-left: 3px;
  }
  .presentSlider .btnShaped[data-shaped=auto-38] .btnArrow {
    right: 5%;
  }
  .presentSlider .btnShaped[data-shaped=auto-38] a.btnLink, .presentSlider .btnShaped[data-shaped=auto-38] .btnLink {
    padding-right: 0;
  }
  .presentSlider .btnAll {
    right: -10px;
    top: -15px;
  }
  .presentSlider .btnAll.btnShaped[data-shaped="120-28"] {
    width: 100px;
    height: 25px;
  }
  .presentSlider .btnAll a.btnLink, .presentSlider .btnAll .btnLink {
    padding-left: 10px;
  }
  .presentSlider .btnAll .btnTtext {
    font-size: 10px;
    padding-left: 0;
  }
  .presentSlider .btnAll.btnShaped.btnBgColor .btnArrow {
    right: 5px;
  }
  .areaConcept .btnAll {
    margin-top: calc(13 * 100 / 375 * 1vw);
  }
}
/*============================================================================================ 1100px */
@media only screen and (max-width: 1100px) {
  /* ================================================ top presentSection couponSection */
  .flexColumn--2 .presentSection.flexColumnBox, .flexColumn--2 .couponSection.flexColumnBox {
    width: 100%;
  }
  .blockBox__coupon {
    flex-direction: row-reverse;
  }
  .blockBox__coupon .blockBox__info {
    padding-left: 0;
  }
  /* ================================================ recommendSection */
  .rsHeader, .rsContents {
    width: 100%;
  }
  .rsHeader {
    flex-direction: row;
  }
  .rsHeader .title {
    margin-bottom: 0;
  }
  /* ================================================ footer */
  .footerNav__main .globalNav__target--title {
    font-size: 13px;
  }
  .navToggle__link, a.navToggle__link {
    font-size: 11px;
  }
  .navToggle__link > span, a.navToggle__link > span {
    display: inline-block;
    font-size: 10px;
    transform: scale(0.9);
    transform-origin: left center;
  }
  .header__scrollSub--logo .globalLogo__mark {
    width: 120px;
  }
  .globalNav__target--title {
    font-size: 12px;
  }
}
/*============================================================================================ 1023px */
@media only screen and (max-width: 1023px) {
  /* ================================================ title */
  .title.fs--19 {
    font-size: 16px;
  }
  .title.fs--22 {
    font-size: 19px;
  }
  .title.fs--23 {
    font-size: 20px;
  }
  /* ================================================ header */
  .adBanner {
    display: none;
  }
  .searchForm {
    left: auto;
    width: 35px;
    right: 72px;
  }
  .searchForm__inner {
    width: 35px;
  }
  .searchInput {
    border-width: 0;
    width: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .globalNav__target {
    margin-left: 10px;
    margin-right: 10px;
  }
  .globalNav__target--title {
    font-size: 14px;
  }
  /* ================================================ menuBtn */
  .menuBtn {
    position: fixed;
    width: 85px;
    height: 70px;
    left: 20px;
    top: 0;
    z-index: 55;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    cursor: pointer;
  }
  .menuBtn__inner {
    position: relative;
    height: 35px;
    border-width: 1px;
    border-style: solid;
    border-color: rgba(var(--color-text), 1);
    border-radius: 9999px;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -ms-transition-duration: 0.5s;
    -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -moz-transition-duration: 0.5s;
    -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  }
  .menuBtn__icon {
    position: absolute;
    width: 21px;
    height: 1px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    background-color: rgba(var(--color-text), 1);
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -ms-transition-duration: 0.5s;
    -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -moz-transition-duration: 0.5s;
    -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  }
  .menuBtn__icon:before, .menuBtn__icon::after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(var(--color-text), 1);
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -ms-transition-duration: 0.5s;
    -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -moz-transition-duration: 0.5s;
    -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  }
  .menuBtn__icon:before {
    top: -5px;
  }
  .menuBtn__icon:after {
    top: 5px;
  }
  .menu--open .menuBtn__inner {
    background-color: rgba(var(--color-text), 1);
  }
  .menu--open .menuBtn__icon {
    background-color: rgba(255, 255, 255, 0);
  }
  .menu--open .menuBtn__icon:before, .menu--open .menuBtn__icon::after {
    background-color: #fff;
    top: 0;
  }
  .menu--open .menuBtn__icon::before {
    transform: rotate(30deg);
  }
  .menu--open .menuBtn__icon::after {
    transform: rotate(-30deg);
  }
  /* ================================================ mastheadBlock */
  .mastheadArticle button[aria-label=prev], .mastheadArticle button[aria-label=next] {
    display: none;
  }
  .mastheadArticle .btnShaped {
    display: none;
  }
  .mastheadBlock {
    padding-bottom: 0;
  }
  .mastheadBlock .blockBox__info {
    position: relative;
    width: 100%;
    margin-top: 15px;
  }
  /* =================================================================== flexColumn */
  .flexColumn--2 .flexColumnBox {
    width: 100%;
    margin-right: 0;
  }
  /* =================================================================== cmTarget */
  .cmTarget {
    width: calc(50% - 3px);
  }
  /* =================================================================== ranking */
  .blockBox--ranking {
    width: 100%;
    margin-right: 0;
    margin-bottom: 12px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    border-radius: 10px;
  }
  .blockBox--ranking:nth-child(5n) {
    margin-right: 0;
  }
  .blockBox--ranking .blockBox__thum {
    width: 195px;
  }
  .blockBox--ranking .blockBox__info {
    width: calc(100% - 195px);
  }
  .blockBox--ranking .blockBox__infoAside {
    width: 100%;
  }
  .blockBox--ranking .thumImg__wrapper {
    height: 100%;
    padding-top: 0;
  }
  /* ================================================ footer */
  .footerNav__main, .footerCM {
    width: 100%;
  }
  .footerNav__main {
    margin-bottom: 30px;
  }
  .footerBottom {
    padding-right: 45px;
  }
  .footerBottom__list {
    margin-bottom: 30px;
  }
  /* ======================================================================================================================= headerMain */
  .headerMain {
    top: auto;
    bottom: 0;
    height: 75px;
  }
  /* =========================================================================================================================================== header__scrollSub */
  /* --------------------------------------- header__scrollSub */
  .header__scrollSub, .globalNav__target.globalNav__target--sns {
    display: none !important;
  }
  .globalNav .globalNav__target {
    position: relative;
    width: 25%;
    margin: 0;
  }
  .globalNav .globalNav__target::after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    width: calc(100% - 6px);
    height: calc(100% - 10px);
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    border-radius: 5px;
    background-color: rgba(var(--color-bodySub), 1);
    z-index: 1;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -ms-transition-duration: 0.5s;
    -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -moz-transition-duration: 0.5s;
    -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  }
  .globalNav .globalNav__target .globalNav__arrow {
    position: absolute;
    top: 0;
    right: 10px;
    transform: scale(0.8);
  }
  .globalNav .globalNav__target--inner, .globalNav a.globalNav__target--inner {
    position: relative;
    justify-content: center;
    z-index: 2;
  }
  .globalNav .globalNav__target {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
  }
  .globalNav a.globalNav__target--inner, .globalNav .globalNav__target--inner {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
  }
  .globalNav .globalNav__target--title {
    text-align: center;
    font-size: 12px;
    padding-top: 4px;
  }
  .globalNav, .globalNav .globalNav__list, .globalNav .globalNav__target {
    height: 100%;
  }
  /* ============================================================================================ globalNav__targetIcon */
  .globalNav__targetIcon {
    display: block;
    width: 28px;
    height: 28px;
    background-color: rgba(var(--color-textGray), 1);
    margin-left: auto;
    margin-right: auto;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -ms-transition-duration: 0.5s;
    -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -moz-transition-duration: 0.5s;
    -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  }
  .globalNav__target--area .globalNav__targetIcon {
    mask-image: url(../img/common/menuIcon--area.svg);
    -webkit-mask-image: url(../img/common/menuIcon--area.svg);
  }
  .globalNav__target--cate .globalNav__targetIcon {
    mask-image: url(../img/common/menuIcon--cate.svg);
    -webkit-mask-image: url(../img/common/menuIcon--cate.svg);
  }
  .globalNav__target--coupon .globalNav__targetIcon {
    mask-image: url(../img/common/menuIcon--coupon.svg);
    -webkit-mask-image: url(../img/common/menuIcon--coupon.svg);
  }
  .globalNav__target--present .globalNav__targetIcon {
    mask-image: url(../img/common/menuIcon--present.svg);
    -webkit-mask-image: url(../img/common/menuIcon--present.svg);
  }
  /* =========================================================================================================================================== globalNav__targetModal */
  .globalNav__targetModal {
    top: auto;
    bottom: 0;
    padding-top: 0;
    padding-bottom: 75px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  .globalNav__targetModal::after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    top: auto;
    bottom: 0;
    height: 75px;
    background-color: rgba(var(--color-body), 1);
    border-width: 1px 0 0 0;
    border-style: solid;
    border-color: rgba(0, 0, 0, 0.1);
  }
  /* --------------------------------------- globalNav__targetModal list */
  .globalNav__targetModal--list {
    max-height: calc(100vh - 200px);
    border-radius: 6px 6px 0 0;
    padding: 27px 15px 20px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .globalNav__targetModal--list .areaNav__target {
    margin-right: 0;
    margin-bottom: 10px;
  }
  .globalNav__targetModal--list .areaNav__link, .globalNav__targetModal--list a.areaNav__link {
    padding: 6px 5px;
    min-width: inherit;
  }
  .globalNav__target--area .globalNav__targetModal--list .areaNav__link--p::after {
    left: 8px;
  }
  .globalNav__target--area .globalNav__targetModal--list .areaNav__target {
    width: calc(33.3333333333% - 5px);
  }
  .globalNav__target--cate .globalNav__targetModal--list .areaNav__target {
    width: calc(50% - 5px);
  }
  .globalNav__target--cate .globalNav__targetModal--list .areaNav__link, .globalNav__target--cate .globalNav__targetModal--list a.areaNav__link {
    min-width: inherit;
  }
  /* --------------------------------------- hover sp */
  .globalNav__target.active::after {
    background-color: rgba(var(--color-textGray), 1);
  }
  .globalNav__target.active .globalNav__targetModal {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
  .globalNav__target.active .globalNav__arrow {
    border-color: #fff;
    background-color: rgba(var(--color-text), 0);
    transform: rotate(180deg) scale(0.8);
  }
  .globalNav__target.active .globalNav__arrow::after {
    border-color: #fff;
  }
  .globalNav__target.active .globalNav__target--title {
    color: #fff;
  }
  .globalNav__target.active .globalNav__targetIcon {
    background-color: #fff;
  }
  .headerSub, .menuBtn, .searchForm {
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -ms-transition-duration: 1s;
    -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-duration: 1s;
    -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -moz-transition-duration: 1s;
    -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  }
  .is--hoverCover--show .headerSub, .is--hoverCover--show .menuBtn, .is--hoverCover--show .searchForm {
    transform: translate(0, -150px);
  }
  .is--hoverCover--show .header__globalLogo {
    transform: translate(-50%, -150px);
  }
  .is--hoverCover--show.is--searchForm--show .headerMain {
    transform: translate(0, 110%);
  }
  .is--hoverCover--show.is--searchForm--show .headerSub, .is--hoverCover--show.is--searchForm--show .searchForm {
    transform: translate(0, 0);
  }
  .is--hoverCover--show.is--searchForm--show .header__globalLogo {
    transform: translate(-50%, 0);
  }
  .is--headerMain--hidden .headerMain {
    transform: translate(0, 110%);
  }
  /* =============================================================================== searchModal */
  .is--searchForm--show .searchForm__inner {
    width: 35px;
  }
  .is--searchForm--show button[type=submit] {
    background-color: rgba(var(--color-btnBg), 1);
  }
  .is--searchForm--show .searchIcon {
    opacity: 0;
  }
  .is--searchForm--show .closeIcon {
    opacity: 1;
  }
  .is--searchForm--show .searchForm__closeText {
    width: 0;
  }
  .is--hoverCover--show .hoverCover {
    pointer-events: all;
  }
  /* =============================================================================== flexColumn 3 */
  .flexColumn--3 .blockBox {
    width: calc(50% - 30px);
    margin-right: 30px;
  }
  .flexColumn--3 .blockBox:nth-child(3n) {
    margin-right: 30px;
  }
  .flexColumn--3 .blockBox:nth-child(2n) {
    margin-right: 0;
  }
  .navSns {
    display: none;
  }
}
/*============================================================================================ 767px */
@media only screen and (max-width: 767px) {
  /* ================================================ vw */
  /* ================================================ vh */
  /* ============================================================================================ common */
  body {
    font-size: 11px;
  }
  /* --------------------------------------- wrapper */
  .wrapper {
    padding-top: 50px;
  }
  /* --------------------------------------- grid */
  .grid {
    padding-left: 12px;
    padding-right: 12px;
  }
  .gridWide {
    padding-left: 12px;
    padding-right: 12px;
  }
  /* =================================================================== btnCircle */
  .btnShaped[data-shaped=auto-38] {
    height: 38px;
  }
  .btnShaped[data-shaped=auto-38] .btnTtext {
    padding-right: 25px;
  }
  .btnShaped[data-shaped="145-38"] {
    width: 145px;
    height: 35px;
  }
  .btnShaped[data-shaped="120-28"] {
    width: 120px;
    height: 28px;
  }
  .btnShaped[data-shaped="95-50"] {
    width: 95px;
    height: 40px;
  }
  .btnShaped[data-shaped="75-38"] {
    width: 75px;
    height: 38px;
  }
  .btnShaped[data-shaped="30-30"] {
    width: 30px;
    height: 25px;
  }
  .btnShaped[data-shaped="38-38"] {
    width: 38px;
    height: 38px;
  }
  .btnShaped[data-shaped="75-30"] {
    width: 62px;
    height: 25px;
  }
  .btnShaped[data-shaped="320-45"] {
    width: auto;
    height: 40px;
  }
  /* --------------------------------------- btn */
  a.btnLink, .btnLink {
    padding-right: 18px;
  }
  /* --------------------------------------- btnBgColor */
  .btnShaped.btnBgColor .btnArrow {
    right: 10px;
  }
  .btnTtext {
    font-size: 12px;
    padding-left: 15px;
  }
  /* =================================================================== btnCircle */
  .btnCircle[data-circle=w-15] {
    width: 15px;
    height: 15px;
  }
  .btnCircle[data-circle=w-36] {
    width: 30px;
    height: 30px;
  }
  /* =================================================================== btnArrow */
  /* --------------------------------------- data-arrow */
  .btnArrow[data-arrow=w-6] {
    width: 6px;
  }
  .btnArrow[data-arrow=w-8] {
    width: 8px;
  }
  .btnArrow[data-arrow=w-15] {
    width: 15px;
  }
  .btnArrow[data-arrow=w-12] {
    width: 12px;
  }
  /* =================================================================== title */
  .title {
    margin-bottom: 25px;
  }
  .title.fs--19 {
    font-size: 11px;
  }
  .title.fs--22 {
    font-size: 13px;
  }
  .title.fs--23 {
    font-size: 16px;
  }
  h1.title.fs--22, .latestSection .title.fs--22 {
    font-size: 16px;
  }
  /* =================================================================== borderBox */
  .borderBox {
    border-radius: 10px;
    padding: 18px 20px;
  }
  /* =================================================================== articleMB */
  .articlePT {
    padding-top: 30px;
  }
  .articlePB {
    padding-bottom: 45px;
  }
  .articlePT.articlePB {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    margin-top: -5px;
  }
  /* =================================================================== flexColumn */
  .flexColumn--2 .flexColumnBox {
    margin-right: 0;
    margin-bottom: 20px;
  }
  /* ============================================================================================ globalLogo */
  /* --------------------------------------- globalLogo__mark */
  .globalLogo__mark {
    width: 135px;
  }
  /* ======================================================= header__globalLogo */
  .header__globalLogo {
    height: 50px;
  }
  /* ======================================================================================================================= headerSub */
  .headerSub {
    height: 50px;
  }
  /* ============================================================================================ snsIcon */
  .globalNav__target--sns .globalNav__target--inner, .globalNav__target--sns a.globalNav__target--inner {
    width: 20px;
  }
  /* ================================================ menuBtn */
  .menuBtn {
    width: 55px;
    height: 50px;
    left: 12px;
  }
  .menuBtn__inner {
    height: 28px;
  }
  .menuBtn__icon {
    width: 15px;
  }
  .menuBtn__icon:before {
    top: -4px;
  }
  .menuBtn__icon:after {
    top: 4px;
  }
  /* ============================================================================================ searchForm */
  .searchForm {
    width: 28px;
    right: 50px;
    top: 11px;
  }
  .searchForm__inner {
    width: 28px;
  }
  .searchInput {
    height: 28px;
  }
  /* ======================================================= searchBtn */
  .searchBtn {
    width: 28px;
    height: 28px;
  }
  .searchIcon {
    width: 14px;
  }
  /* ======================================================= header__favBtn */
  a.header__favBtn {
    right: 12px;
  }
  /* --------------------------------------- favBtn__num */
  .favBtn__num {
    height: 15px;
    top: -1px;
    font-size: 10px;
    line-height: 13px;
    padding-left: 4px;
    padding-right: 4px;
    transform: translate(30%, -30%) scale(0.85);
  }
  /* ======================================================================================================================= kv */
  .kv {
    height: 145px;
    padding-top: 12px;
  }
  /* ======================================================= topKv__title */
  /* --------------------------------------- topKv__title */
  .topKv__title {
    font-size: 22px;
  }
  /* ======================================================= kvBg */
  .kvBg {
    border-radius: 6px;
  }
  /* ======================================================= kvInfo */
  .kvInfo {
    height: 30px;
    padding-top: 3px;
    padding-left: 15px;
    padding-right: 5px;
    border-top-left-radius: 8px;
  }
  /* --------------------------------------- topKvInfo__btn */
  .topKvInfo__btn .btnCircle {
    margin-right: 6px;
  }
  .topKvInfo__btn--p {
    font-size: 10px;
  }
  /* ======================================================================================================================= keenSlider */
  /* ======================================================================= keenSlider__parts--lefttop */
  .keenSlider__parts--lefttop {
    padding-top: 75px;
    margin-top: -60px;
  }
  .keenSlider__parts--lefttop .keen-dots {
    top: 8px;
    right: 80px;
  }
  button[aria-label=prev], button[aria-label=next] {
    display: none;
  }
  /* ======================================================================================================================= areaNav */
  .areaNav {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .areaNav .keen-slider:not([data-keen-slider-disabled]) .keen-slider__slide {
    height: 30px;
  }
  /* ======================================================= areaNav__link */
  .areaNav__link, a.areaNav__link {
    border-width: 1px;
    border-radius: 10px;
    padding: 0 23px;
  }
  /* ======================================================= areaNav__link p */
  .areaNav__link--p {
    font-size: 11px;
    padding-left: 12px;
  }
  .areaNav__link--p::after {
    width: 4px;
    height: 4px;
  }
  /* ======================================================================================================================= mastheadArticle */
  .mastheadArticle {
    margin-bottom: 15px;
  }
  /* --------------------------------------- mastheadBlock */
  .mastheadBlock {
    padding-left: 0;
    padding-right: 0;
  }
  .mastheadBlock .thumImg__wrapper {
    border-radius: 5px;
  }
  .mastheadBlock .blockBox__thum .favBtn, .mastheadBlock .blockBox__thum a.favBtn {
    width: 28px;
    height: 28px;
  }
  .mastheadBlock .blockBox__thum .favBtn .favIcon, .mastheadBlock .blockBox__thum a.favBtn .favIcon {
    width: 12px;
  }
  .mastheadBlock .blockBox__thum {
    position: relative;
    width: 100%;
    left: 0;
  }
  .mastheadBlock .blockBox__info {
    width: 100%;
    left: 0;
    padding: 12px 17px 8px 17px;
  }
  .mastheadBlock .blockTitle {
    margin-bottom: 10px;
  }
  .mastheadBlock .blockTitle br {
    display: none;
  }
  .mastheadBlock .blockBox__infoSub--list {
    margin-bottom: 5px;
  }
  .mastheadBlock .blockBox__infoSub--text {
    font-size: 10px;
  }
  .mastheadBlock .hashLink {
    font-size: 10px;
  }
  .mastheadBlock .hashLink::after {
    font-size: 10px;
  }
  /* ======================================================================================================================= articleBanner */
  .presentSection .blockBox--flex .blockBox__thum, .couponSection .blockBox--flex .blockBox__thum {
    padding: 0;
  }
  /* ======================================================================================= presentSlider */
  .presentSlider .blockBox--flex {
    justify-content: space-between;
  }
  .presentSlider .blockBox--flex .blockBox__thum {
    width: 43.5483870968%;
  }
  .presentSlider .blockBox--flex .blockBox__thum .thumImg__wrapper {
    padding-top: 67.4509803922%;
    height: 0;
  }
  .presentSlider .blockBox--flex .blockBox__info {
    width: 53.2258064516%;
  }
  .presentSlider .blockBox__info {
    padding-right: 0;
    padding-top: 0;
    padding-bottom: 0;
  }
  .presentSlider button[aria-label=prev], .presentSlider button[aria-label=next] {
    top: -15px;
    transform: translate(0, -100%);
  }
  .presentSlider button[aria-label=prev] {
    right: 0px;
  }
  .presentSlider button[aria-label=next] {
    right: 0;
  }
  .presentSlider .keen-dots {
    top: -35px;
    right: 80px;
  }
  /* ======================================================================= slider keen-dots */
  .keen-dots {
    top: -41px;
    right: -14px;
  }
  .keen-dot {
    width: 28px;
    height: 15px;
    font-size: 10px;
    line-height: 15px;
  }
  /* ======================================================================================= couponSection */
  .couponSection .title {
    margin-bottom: 12px;
  }
  .couponSection .thumImg__wrapper {
    padding-top: 67.4509803922%;
    height: 0;
  }
  /* ======================================================================================= newArticle */
  .newArticle .keenSlider__parts--lefttop .keen-dots {
    top: 20px;
    right: 12px;
  }
  .newArticle .btnAll {
    position: relative;
    top: 0;
    right: auto;
    margin: 0 auto;
  }
  /* ======================================================================================= tieupArticle */
  .tieupArticle .keenSlider__parts--lefttop {
    padding-top: 65px;
  }
  .tieupArticle .keenSlider__parts--lefttop .keen-dots {
    display: none;
  }
  .tieupArticle .btnAll.btnShaped[data-shaped="145-38"] {
    width: 120px;
    height: 28px;
    right: 20px;
    top: 14px;
  }
  /* ======================================================================================================================= recommend */
  .recommendSection {
    width: calc(100% + 12px);
    margin-top: 20px;
  }
  .recommendSection, .rsHeader {
    border-radius: 5px;
  }
  .rsHeader {
    padding: 15px 20px;
  }
  .rsHeader .title {
    align-self: center;
  }
  /* ======================================================================================================================= ranking */
  /* ======================================================= rankingIcon */
  .rankingIcon {
    width: 35px;
    height: 35px;
    border-bottom-right-radius: 6px;
  }
  /* --------------------------------------- rankingIcon__num */
  .rankingIcon__num {
    width: 24px;
    height: 24px;
    font-size: 10px;
    line-height: 21px;
  }
  /* ======================================================================= blockBox--ranking */
  .blockBox--ranking {
    border-radius: 5px;
  }
  .blockBox--ranking .blockBox__thum {
    width: 85px;
  }
  .blockBox--ranking .blockBox__info {
    width: calc(100% - 85px);
    padding: 12px 15px;
  }
  .blockBox--ranking .blockBox__infoAside {
    width: 100%;
  }
  .blockBox--ranking .thumImg__wrapper {
    height: 100%;
    padding-top: 0;
  }
  /* ======================================================================================================================= cmSection */
  .cmSection {
    padding-top: 50px;
    padding-bottom: 20px;
  }
  .cmTarget {
    width: 100%;
    margin-right: 0;
    margin-bottom: 3px;
  }
  /* ======================================================================================================================= cateSection */
  .cateSection, .hashSection {
    position: relative;
    margin-bottom: 40px;
  }
  .cateSection .btn.btnAll, .hashSection .btn.btnAll {
    position: relative;
    top: 0;
    right: auto;
    margin-left: auto;
    margin-right: auto;
  }
  /* ======================================================= bannerList */
  .bannerList {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .bannerTarget {
    width: 100%;
    margin-right: 0;
    margin-bottom: 3px;
  }
  .bannerLink {
    border-radius: 5px;
  }
  /* ======================================================================================================================= footer */
  .footer.articlePB {
    padding-bottom: 80px;
  }
  .footer a, .footer a:link, .footer a:visited, .footer a:hover {
    color: #fff;
  }
  /* =============================================================================== footer common */
  /* --------------------------------------- footerArticle */
  .footerArticle {
    margin-bottom: 50px;
  }
  .footerArticle .btnAll {
    top: -10px;
    right: 12px;
  }
  .footerArticle .btnTtext {
    font-size: 10px;
  }
  /* --------------------------------------- footerTitle */
  .footerTitle {
    font-size: 15px;
  }
  /* =============================================================================== cateBanner */
  /* --------------------------------------- cateBanner__icon */
  .cateBanner__icon {
    border-radius: 6px;
  }
  .cateBanner__iconSvg {
    width: 37px;
  }
  /* --------------------------------------- cateBanner__title */
  .cateBanner__title {
    font-size: 10px;
    margin-top: 12px;
  }
  /* =============================================================================== footerTags */
  .footerTags__sliderWrapper {
    margin-bottom: 13px;
  }
  /* --------------------------------------- tagsList */
  .tagsTarget {
    padding-right: 15px;
  }
  /* --------------------------------------- tagsLink */
  a.tagsLink {
    min-width: 120px;
    height: 30px;
    padding: 0 20px;
  }
  /* --------------------------------------- tagsLink p */
  .tagsTarget--p {
    font-size: 10px;
  }
  /* =============================================================================== footerNav__leader */
  .footerNav__leader {
    margin-bottom: 30px;
    flex-wrap: wrap;
  }
  .footer__globalLogo {
    width: 100%;
    margin-bottom: 15px;
  }
  /* =============================================================================== footerNav__inner */
  .footerNav__main {
    width: 100%;
  }
  .footerCM {
    width: 100%;
  }
  /* =============================================================================== footerNav__main */
  .navToggle__wrapper {
    width: 100%;
  }
  .footerNav__list {
    width: 100%;
  }
  /* --------------------------------------- navToggle__innerList */
  .navToggle__inner {
    position: relative;
    overflow: hidden;
    height: 0;
    transition: height 0.28s ease-in-out;
  }
  .navToggle__link, a.navToggle__link {
    font-size: 11px;
    padding-top: 5px;
    padding-bottom: 5px;
  }
  /* --------------------------------------- footerNav__main nav */
  .footerNav__main .globalNav__target--inner, .footerNav__main a.globalNav__target--inner {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  /* =============================================================================== footerSnsBtn */
  .footerSnsBtn .snsIcon {
    width: 17px;
    left: 15px;
  }
  .footerSnsBtn .favIcon {
    left: 15px;
  }
  .footerSnsBtn .favBtn__num {
    right: 10px;
  }
  .footerSnsBtn.btnShaped[data-shaped="145-38"] {
    width: 130px;
    height: 32px;
  }
  .footerSnsBtn.btnShaped[data-shaped="38-38"] {
    width: 32px;
    height: 32px;
  }
  .footerSnsBtn {
    margin-left: 0;
    margin-right: 12px;
  }
  .footerSnsBtn .btnTtext {
    font-size: 11px;
    padding-left: 30px;
  }
  .footerSnsBtn--x, .footerSnsBtn--ins, .footerSnsBtn--fb {
    margin-left: 0;
    margin-right: 12px;
  }
  .footerSnsBtn--x .snsIcon, .footerSnsBtn--ins .snsIcon, .footerSnsBtn--fb .snsIcon {
    right: auto;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .footerSnsBtn--x {
    margin-left: 0;
  }
  .footerSnsBtn--fav {
    margin-left: 0;
  }
  .footerSnsBtn--fav .btnTtext {
    top: -1px;
    font-size: 10px;
    padding-left: 30px;
  }
  /* =============================================================================== footerCM__link */
  .footerCM__link {
    border-radius: 6px;
  }
  /* =============================================================================== footerBottom */
  .footerBottom {
    padding-top: 30px;
    padding-bottom: 30px;
    padding-right: 12px;
  }
  /* --------------------------------------- footerBottom__list */
  .footerBottom__list {
    margin-bottom: 30px;
  }
  .footerBottom__target {
    margin-right: 15px;
  }
  a.footerBottom__target--link, .footerBottom__target--link {
    padding-top: 3px;
    padding-bottom: 3px;
  }
  .footerBottom__target--p {
    font-size: 10px;
  }
  .arrowBlank {
    width: 8px;
    height: 8px;
    top: 9px;
  }
  .arrowIcon__hoverWrapper a.footerBottom__target--link, .arrowIcon__hoverWrapper .footerBottom__target--link {
    padding-right: 10px;
  }
  /* --------------------------------------- footerCopy */
  .footerCopy {
    font-size: 10px;
    transform: scale(0.85);
    transform-origin: left center;
  }
  /* =============================================================================== pageTop */
  .pageTop {
    width: 125px;
    height: 35px;
    bottom: 30px;
    right: 12px;
  }
  .pageTop .btnTtext {
    font-size: 10px;
    padding-left: 20px;
  }
  .pageTop .btnArrow {
    right: 10px;
  }
  .pageTop .btnArrow[data-arrow=w-12] {
    width: 10px;
  }
  /* =========================================================================================================================================== header__scrollSub */
  .globalNav .globalNav__target--title {
    font-size: 10px;
    transform: scale(0.85);
  }
  .globalNav .globalNav__target .globalNav__arrow {
    top: -3px;
    right: 9px;
  }
  /* ============================================================================================ globalNav__targetIcon */
  .globalNav__targetIcon {
    width: 25px;
    height: 25px;
  }
  /* ============================================================================================ searchForm */
  .is--searchForm--show .searchForm__inner {
    width: 28px;
  }
  /* =============================================================================== searchModal */
  .searchModal {
    height: 100%;
    padding-top: 50px;
    background-color: rgba(var(--color-body), 1);
  }
  .searchModal__inner {
    height: 100%;
    max-height: inherit;
  }
  /* =============================================================================== searchModal__formBlock */
  .searchModal__formBlock {
    padding: 20px 12px 10px;
  }
  .searchModal__formTitle {
    font-size: 14px;
    margin-bottom: 15px;
  }
  /* --------------------------------------- searchModal__formBlock flex */
  .searchModal__formBlock--flex {
    padding: 0;
    flex-wrap: wrap;
  }
  .searchModal__formBlock--flex > div {
    width: 100%;
    padding: 20px 12px 10px;
  }
  /* --------------------------------------- searchModal__form freeWord */
  .searchModal__form--freeWord {
    padding: 20px 12px 20px !important;
  }
  .searchModal__form--freeWord .searchInput {
    height: 45px;
    padding: 0px 25px;
    font-size: 16px;
  }
  .searchModal__form--freeWord {
    background-color: rgba(var(--color-bodySub), 1);
  }
  .searchModal__form--freeWord .searchInput {
    width: 100%;
  }
  /* --------------------------------------- checkbox */
  .checkbox__target input {
    display: none;
  }
  .checkbox__target input[type=checkbox]:checked + label {
    background-color: white;
    border-color: white;
  }
  .checkbox__target label {
    position: relative;
    display: inline-block;
    min-width: 115px;
    font-size: 13px;
    padding-left: 25px;
    padding-right: 25px;
    padding-top: 4px;
    padding-bottom: 4px;
    text-align: center;
    background-color: rgba(255, 255, 255, 0);
    border-width: 1px;
    border-style: solid;
    border-color: rgba(var(--color-textGray), 1);
    border-radius: 9999px;
    cursor: pointer;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  }
  .checkbox__target {
    margin-right: 10px;
    margin-bottom: 15px;
  }
  .searchModal__form {
    padding-bottom: 60px;
  }
  /* =============================================================================== searchBtn */
  .searchModal__searchBtn--wrapper {
    padding-top: 10px !important;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 2;
    border-top: 1px solid rgba(var(--color-text), 0.2);
  }
  .searchModal__searchBtn {
    width: 350px;
    height: 46px;
    top: 0;
    background-color: rgba(var(--color-btnBg), 1);
    border-radius: 9999px;
    margin-left: auto;
    margin-right: auto;
  }
  .searchModal__searchBtn--icon {
    width: 30px;
    height: 30px;
    right: 10px;
  }
  .searchModal__searchBtn--p {
    font-size: 15px;
  }
  /* --------------------------------------- is--hoverCover--show.is--searchForm--show */
  .is--hoverCover--show.is--searchForm--show .searchForm {
    right: 12px;
  }
  /* =============================================================================== navSns */
  .navSns {
    display: none;
  }
  /* =============================================================================== menu */
  .menu {
    padding-top: 50px;
  }
  .menuInner {
    padding-bottom: 0;
  }
  /* --------------------------------------- menu cm */
  .menuCm {
    margin-top: 30px;
    margin-bottom: 15px;
  }
  .menuCm img {
    border-radius: 6px;
  }
  .menu .menuBottom__list {
    margin-bottom: 20px;
  }
  .menu .menuBottom__list .footerBottom__target {
    margin-right: 13px;
  }
  .menu .menuBottom__list .footerBottom__target--p {
    font-size: 11px;
  }
  .navSns__modalBox {
    padding-left: 15px;
  }
  /* =============================================================================== flexColumn 3 */
  .flexColumn--3 .blockBox {
    width: 100%;
    margin-right: 0;
  }
  .flexColumn--3 .blockBox:nth-child(3n) {
    margin-right: 0;
  }
  .flexColumn--3 .blockBox:nth-child(2n) {
    margin-right: 0;
  }
  /* =============================================================================== searchBtn */
  .searchForm .searchBtn {
    background-color: rgba(var(--color-btnBg), 1) !important;
  }
  .searchForm__closeText {
    display: none;
  }
  /* =============================================================================== edit blockBox ranking */
  .blockBox--ranking {
    background-color: transparent;
  }
  .blockBox--ranking .thumImg__wrapper {
    height: 0;
    padding-top: 100%;
  }
  .blockBox--ranking .blockBox__info {
    padding-top: 0;
  }
  .blockBox--ranking .blockBox__info .blockBox__infoSub--list {
    display: none;
  }
  .blockBox--ranking .blockBox__info .hashLink {
    padding-top: 2px;
    padding-bottom: 2px;
  }
  /* =============================================================================== is--pr */
  .is--pr .blockTitle::before {
    margin-right: 0.5em;
    width: 39px;
    height: 15px;
    font-size: 11px;
    line-height: 13px;
  }
  .mastheadBlock.is--pr .blockTitle::before {
    width: 50px;
    height: 17px;
    top: 0;
    font-size: 12px;
    line-height: 16px;
  }
  .pdContents__leader.is--pr .blockTitle::before {
    width: 50px;
    height: 18px;
    font-size: 13px;
    line-height: 17px;
    top: -0.1em;
    margin-right: 0.8em;
  }
  .pdSideBar__inner .blockBox--ranking.is--pr .blockTitle::before {
    transform: scale(0.8);
    margin-right: 0;
  }
}
/* =============================================================================== おすすめエリア */
@media only screen and (max-width: 1100px) {
  .rsHeader .btn.btnAll a.btnLink, .rsHeader .btn.btnAll .btnLink {
    padding-right: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .rsHeader {
    padding: 13px 10px 13px 15px;
  }
  .rsHeader .btn.btnAll .btnArrow {
    width: 9px;
  }
  .rsHeader .btn.btnAll a.btnLink, .rsHeader .btn.btnAll .btnLink {
    padding-right: 25px;
  }
  .rsHeader .btn.btnAll .btnTtext {
    font-size: 10px;
    padding: 0;
  }
  .rsHeader .title.fs--23 {
    font-size: 16px;
  }
  .rsHeader .btn.btnAll {
    height: 26px;
  }
}
/* =============================================================================== header caution */
@media only screen and (max-width: 1023px) {
  :root {
    --caution-height: 80px;
  }
  .caution {
    height: var(--caution-height);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .cautionInner {
    padding: 0 12px;
  }
  .caution__mark {
    position: relative;
    top: 0;
    left: 0;
    transform: translate(0, 0);
  }
  .caution__mark--p {
    text-align: center;
    font-size: 10px;
    padding: 7px 0;
    text-align: center;
  }
  .caution__mark--p::after {
    width: 16px;
    height: 16px;
    left: 5px;
  }
  .caution--p {
    position: relative;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    font-size: 11px;
    line-height: 1.4;
    text-align: center;
    margin-top: 10px;
  }
  /* --------------------------------------- searchForm__closeText */
  .searchForm .searchBtn {
    background-color: rgba(var(--color-btnBg), 1) !important;
  }
  .searchForm__closeText {
    opacity: 0;
  }
  /* --------------------------------------- is--caution */
  .is--caution .menuBtn {
    top: var(--caution-height);
  }
  .is--caution .headerMain {
    top: auto;
  }
  .is--caution .menu {
    padding-top: calc(70px + var(--caution-height));
  }
  /* --------------------------------------- is--caution is--scroll */
  .is--caution.is--scroll .header__globalLogo, .is--caution.is--scroll .menuBtn, .is--caution.is--scroll .headerSub {
    top: 0;
  }
  .is--caution.is--scroll .searchForm {
    top: 18px;
  }
  .is--caution.is--scroll .menu {
    padding-top: 70px;
  }
  .is--caution.is--searchForm--show .header__globalLogo, .is--caution.is--searchForm--show .headerSub {
    top: 0;
  }
  .is--caution.is--searchForm--show .searchForm {
    top: 18px;
  }
  /* --------------------------------------- is--caution is--hoverCover-- */
  .is--caution.is--hoverCover--show .caution {
    transform: translateY(-150%);
  }
  /* --------------------------------------- is--caution menu--open */
  .is--caution.menu--open .menu {
    padding-top: 70px;
  }
  .is--caution.menu--open .header__globalLogo, .is--caution.menu--open .headerSub {
    top: 0;
  }
  .is--caution.menu--open .searchForm {
    top: 18px;
  }
  .is--caution.menu--open .menuBtn {
    top: 0;
  }
}
/* =============================================================================== header caution */
@media only screen and (max-width: 767px) {
  :root {
    --caution-height: 80px;
  }
  .is--caution .searchForm {
    top: calc(11px + var(--caution-height));
  }
  .is--caution .wrapper {
    padding-top: calc(50px + var(--caution-height));
  }
  .is--caution.is--scroll .header__globalLogo, .is--caution.is--scroll .menuBtn, .is--caution.is--scroll .headerSub {
    top: 0;
  }
  .is--caution.is--scroll .searchForm {
    top: 11px;
  }
  .is--caution.is--searchForm--show .searchForm {
    top: 11px;
  }
  .is--caution.menu--open .menu {
    padding-top: 50px;
  }
  /* =============================================================================== notFound__article */
  .notFound__article {
    padding-top: 15vh;
    padding-bottom: 24vh;
  }
  .notFound__article .btn {
    margin-top: 35px;
  }
  .notFound__title--en {
    font-size: 38px;
    margin-bottom: 20px;
  }
  .notFound__title--jp {
    font-size: 12px;
    margin-bottom: 10px;
  }
}
/*============================================================================================ 1023px */
@media only screen and (max-width: 1023px) {
  .pdSideBar__inner {
    display: flex;
    flex-direction: column;
  }
  .pdSideBar__ad {
    order: -1;
    margin-bottom: 60px;
    display: flex;
  }
}
/*============================================================================================ 767px */
@media only screen and (max-width: 767px) {
  /* ================================================ vw */
  /* ================================================ vh */
  /* ============================================================================================ breadcrumbs */
  .breadcrumbs__list {
    display: flex;
  }
  /* --------------------------------------- breadcrumbs__target */
  .breadcrumbs__target span {
    font-size: 10px;
  }
  .breadcrumbs__target > span {
    max-width: 90px;
  }
  .breadcrumbs__target {
    /* --------------------------------------- breadcrumbs__link */
  }
  .breadcrumbs__target .breadcrumbs__link {
    padding-right: 15px;
    margin-right: 10px;
  }
  .breadcrumbs__target .breadcrumbs__link::after {
    border-left: 4px solid rgba(var(--color-textGray), 1);
    border-top: 2px solid transparent;
    border-bottom: 2px solid transparent;
  }
  /* ============================================================================================ weather */
  .weather {
    height: 30px;
    padding-bottom: 7px;
    padding-left: 3px;
    padding-right: 12px;
    border-bottom-right-radius: 6px;
  }
  .weather__inner {
    min-width: 110px;
  }
  /* --------------------------------------- weatherInfo__title */
  .weatherInfo__title {
    position: relative;
    top: 1px;
    font-size: 10px;
    transform: scale(0.85);
  }
  /* --------------------------------------- weatherInfo__num */
  .weatherInfo__num {
    font-size: 12px;
  }
  /* ========================================================== weatherInfo */
  .weatherInfo {
    padding-right: 10px;
    margin-right: 12px;
  }
  .weatherInfo::after {
    height: 10px;
  }
  /* --------------------------------------- weatherIcon */
  .weatherIcon {
    width: 20px;
    margin-right: 2px;
  }
  /* ============================================================================================ page kv */
  /* --------------------------------------- topKv__title */
  .topKv__title--en {
    font-size: 10px;
    transform: scale(0.85);
  }
  .topKv__title--jp {
    font-size: 19px;
    margin-top: 3px;
  }
  /* ============================================================================================ paging */
  .paging {
    margin-bottom: 35px;
  }
  .pagingBtn, .pagingTarget.btnCircle {
    margin-left: 6px;
    margin-right: 6px;
  }
  /* --------------------------------------- pagingNum */
  .pagingTarget > .pagingNum {
    margin-left: 5px;
    margin-right: 5px;
  }
  /* --------------------------------------- pagingNum */
  .pagingNum {
    font-size: 11px;
    line-height: 25px;
  }
  /* ============================================================================================ moreSection */
  .moreSection {
    padding: 15px 20px 35px;
    border-radius: 6px;
  }
  .moreSection .tagsTarget {
    padding-right: 10px;
    margin-bottom: 12px;
  }
  .moreSection__toggle {
    height: 200px;
  }
  /* ============================================================================================ pdFooter */
  .pdFooter {
    justify-content: space-between;
  }
  /* --------------------------------------- pdFooter__box */
  .pdFooter__box {
    height: 42px;
    margin-right: 0;
  }
  /* --------------------------------------- pdFooter__title */
  .pdFooter__title {
    font-size: min(3.2vw, 12px);
    line-height: 40px;
    padding: 0 min(5.8666666667vw, 22px);
  }
  /* --------------------------------------- pdFooter__favBtn */
  .pdFooter__favBtn {
    padding-right: min(8vw, 30px);
  }
  .pdFooter__favBtn .favBtn {
    right: min(3.2vw, 12px);
  }
  /* --------------------------------------- pdFooter__linkBtn */
  .pdFooter__linkBtn {
    width: 100%;
    margin-top: 15px;
  }
  .pdFooter__linkBtn--link {
    padding-right: min(5.3333333333vw, 20px);
  }
  .pdFooter__linkBtn--link .btnArrow {
    right: min(6.1333333333vw, 23px);
    transform: translate(0, -50%);
  }
  /* ========================================================== shareList */
  .shareList {
    margin-left: min(-2.6666666667vw, -10px);
    margin-right: min(2.6666666667vw, 10px);
  }
  .shareTarget {
    width: min(10.6666666667vw, 40px);
  }
  .shareTarget::after {
    width: min(8vw, 30px);
    height: min(8vw, 30px);
  }
  /* --------------------------------------- snsIcon */
  .snsIcon {
    width: min(5.8666666667vw, 22px);
  }
  /* ============================================================================================ pdSideBar */
  .pdSideBar__inner {
    padding-top: 0;
    padding-bottom: 35px;
    /* --------------------------------------- pdSideBar blockBox */
  }
  .pdSideBar__inner .blockBox--flex {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
  .pdSideBar__inner .blockBox--flex .blockBox__thum {
    width: 90px;
    padding: 0;
  }
  .pdSideBar__inner .blockBox--flex .blockBox__info {
    width: calc(100% - 90px);
    padding: 0 0 0 18px;
  }
  .pdSideBar__inner .blockBox--flex .blockTitle {
    font-size: 12px;
    margin-bottom: 3px;
  }
  .pdSideBar__inner .blockBox--flex .date {
    margin-top: 0;
    background-color: transparent;
  }
  .pdSideBar__inner .blockBox--flex .date--p::after {
    left: 0;
  }
  .pdSideBar__inner .blockBox--flex .rankingIcon {
    width: 33px;
    height: 33px;
  }
  .pdSideBar__inner .blockBox--flex .rankingIcon__num {
    width: 25px;
    height: 25px;
    font-size: 10px;
    line-height: 22px;
  }
  /* --------------------------------------- pdSideBar__ranking */
  .pdSideBar__ranking > .blockTitle {
    margin-bottom: 26px;
  }
  .pdSideBar__ranking .rankingDate {
    top: 1px;
    height: 22px;
    font-size: 11px;
    line-height: 19px;
    padding: 0 11px;
    margin-left: 13px;
  }
  /* --------------------------------------- pdSideBar__otherCate */
  .pdSideBar__connCate {
    margin-top: 40px;
    margin-bottom: 0px;
  }
  .pdSideBar__connCate .tagsTarget {
    padding-right: 12px;
    margin-bottom: 12px;
  }
  .pdSideBar__connCate a.tagsLink {
    height: 42px;
    padding-right: 20px;
  }
  .pdSideBar__connCate .tagsTarget--p {
    font-size: 12px;
    text-align: left;
    padding-right: 16px;
  }
  .pdSideBar__connCate .btnArrow {
    right: 16px;
  }
  /* --------------------------------------- pdSideBar__inner */
  .pdSideBar__ad {
    margin-bottom: 30px;
    display: block;
  }
  /* =========================================================================================================================================== subPage */
  /* ============================================================================================ subPage common */
  /* --------------------------------------- subPage kv  */
  .subPage .kv {
    margin-top: 8px;
    margin-bottom: 10px;
  }
  /* --------------------------------------- h1.hashLink  */
  h1.hashLink {
    padding-left: 17px;
  }
  h1.hashLink.title.fs--22 {
    font-size: 16px;
  }
  h1.hashLink::after {
    font-size: 16px;
  }
  /* =========================================================================================================================================== present coupon */
  /* ======================================================= presentBlock */
  .presentBlock__info {
    height: 30px;
    padding-top: 4px;
    padding-left: 18px;
    padding-right: 15px;
    border-top-left-radius: 6px;
  }
  .presentBlock__info--p {
    font-size: 13px;
  }
  /* --------------------------------------- spotInfo__block */
  .blockBoxInfo__detail {
    margin-bottom: 4px;
  }
  .blockBoxInfo__detail--title {
    width: 65px;
    font-size: 12px;
    padding-top: 0.15em;
  }
  .blockBoxInfo__detail--text {
    width: calc(100% - 65px);
    font-size: 13px;
  }
  /* ======================================================= couponBlock */
  .couponBlock .blockBoxInfo__detail--title {
    width: 90px;
  }
  .couponBlock .blockBoxInfo__detail--text {
    width: calc(100% - 90px);
  }
  .couponBlock .btn {
    margin-top: 15px;
    margin-bottom: 10px;
  }
  .couponBlock .blockBox__infoSub--list {
    margin-bottom: 5px;
  }
  /* ============================================================================================ subPage search */
  /* --------------------------------------- searchResult  */
  .searchResult {
    margin-bottom: 30px;
  }
  /* --------------------------------------- searchResult title text */
  .searchResult__target--title, .searchResult__target--text {
    padding-top: 6px;
    padding-bottom: 6px;
    margin-bottom: 10px;
  }
  .searchResult__target--title {
    width: 100px;
    font-size: 11px;
    margin-right: 8px;
  }
  .searchResult__target--text {
    font-size: 13px;
    margin-right: 13px;
  }
  /* =============================================================================== cate page */
  .moreSection__cate .moreSection__toggle a.tagsLink {
    height: 40px;
    padding-right: 20px;
  }
  .moreSection__cate .moreSection__toggle .tagsTarget--p {
    font-size: 12px;
    text-align: left;
    padding-right: 16px;
  }
  .moreSection__cate .moreSection__toggle .btnArrow {
    right: 16px;
  }
  .noResult__text {
    font-size: 13px;
    padding-top: 30px;
    padding-bottom: 80px;
  }
}
/*============================================================================================ 1366px */
@media only screen and (max-width: 1366px) {
  .pdSection {
    width: 68.8872620791%;
  }
  .pdSideBar {
    width: 29.2825768668%;
  }
}
/*============================================================================================ 1200 */
@media only screen and (max-width: 1200px) {
  .wordpress__block .spotInfo__detail, .wordpress__block .spotInfo__map {
    width: 100%;
  }
  .wordpress__block .spotInfo__map ~ .spotInfo__detail {
    width: 100%;
  }
  .wordpress__block .spotInfo__map {
    height: 295px;
  }
}
/*============================================================================================ 1023px */
@media only screen and (max-width: 1023px) {
  /* --------------------------------------- pdSection pdSideBar */
  .pdSection {
    width: 100%;
  }
  .pdSideBar {
    width: 100%;
  }
  .pdSideBar__inner .blockBox--flex .blockBox__thum {
    width: 100px;
    min-height: 55px;
  }
  .pdSideBar__inner .blockBox--flex .blockBox__info {
    width: calc(100% - 100px);
  }
}
/*============================================================================================ 767px */
@media only screen and (max-width: 767px) {
  /* ================================================ vw */
  /* ================================================ vh */
  /* ============================================================================================ pdArticle */
  .pdArticle {
    margin-bottom: 10px;
  }
  /* --------------------------------------- pdSection pdSideBar */
  .pdSection, .pdSideBar {
    padding-left: 12px;
    padding-right: 12px;
    border-radius: 10px;
  }
  /* ============================================================================================ pdSection */
  /* ========================================================== pdContents__leader */
  .pdContents__leader {
    margin-bottom: 35px;
  }
  /* --------------------------------------- leader parts */
  .pdSection {
    padding-top: 35px;
    padding-bottom: 50px;
  }
  .pdSection .blockTitle {
    margin-bottom: 15px;
  }
  .pdSection .blockBox__infoSub--list {
    margin-bottom: 5px;
  }
  .pdSection .blockBox__infoSub--text {
    font-size: 10px;
  }
  .pdSection .date {
    margin-top: 0;
    margin-bottom: 20px;
  }
  /* ========================================================== postPerson */
  .postPerson {
    padding: 10px 15px;
    border-radius: 6px;
  }
  .postPerson .iconPostPerson {
    width: 35px;
    height: 35px;
  }
  .postPerson .postPerson__detail {
    width: calc(100% - 48px);
  }
  .postPerson .postPerson__detail .blockBox__infoSub--text {
    font-size: 11px;
    margin-bottom: 7px;
    padding-top: 0;
    padding-bottom: 0;
  }
  .postPerson .postPerson__detail .btnShaped[data-shaped=auto-38] {
    height: 28px;
    margin-top: 13px;
  }
  .postPerson .blockBox__infoSub--profile {
    width: 110%;
    font-size: 10px;
    line-height: 1.3;
    transform: scale(0.9);
    transform-origin: left center;
  }
  .blockBox__infoSub--personTitle {
    font-size: 10px;
    transform: scale(0.9);
    transform-origin: left center;
    margin-bottom: 3px;
  }
  /* --------------------------------------- postPerson__full */
  .postPerson__fullWrapper {
    margin-bottom: 20px;
    border-radius: 10px;
  }
  .postPerson__fullWrapper .postPerson {
    margin-bottom: 15px;
  }
  .postPerson__full {
    padding: 15px;
  }
  .postPerson__full .iconPostPerson {
    width: 67px;
    height: 67px;
  }
  .postPerson__full .postPerson__detail {
    width: calc(100% - 90px);
  }
  .postPerson__full .postPerson__detail .blockBox__infoSub--text {
    margin-left: 0;
    font-size: 12px;
    margin-bottom: 10px;
  }
  .postPerson__full .blockBox__infoSub--profile {
    width: 100%;
    font-size: 10px;
    transform: scale(1);
    line-height: 1.65;
  }
  .postPerson__full .blockBox__infoSub--personTitle {
    font-size: 10px;
  }
  /* ========================================================== pdSpecial */
  .pdSpecial {
    margin-bottom: 60px;
  }
  /* --------------------------------------- pdSpecial__thum */
  .pdSpecial__thum {
    border-radius: 6px;
  }
  /* --------------------------------------- favBtn */
  .pdSpecial .favBtn, .pdSpecial a.favBtn {
    top: 10px;
    right: 10px;
  }
  /* ========================================================== table */
  .table {
    padding: 6px 12px 15px;
    border-radius: 6px;
    margin-bottom: 30px;
  }
  /* --------------------------------------- tableTitle */
  .tableTitle {
    font-size: 10px;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .tableBtn {
    width: 16px;
    height: 16px;
  }
  .tableBtn::after {
    width: 4px;
    height: 4px;
    top: 44%;
  }
  /* --------------------------------------- tableTarget p */
  .tableTarget .btnArrow {
    right: 2px;
  }
  .tableTarget > ul {
    padding-left: 2em;
  }
  .tableTarget > ul .tableTarget--p {
    font-size: 11px;
  }
  /* --------------------------------------- tableTarget p */
  .tableTarget--p {
    font-size: 12px;
    padding-top: 13px;
    padding-bottom: 13px;
    padding-right: 24px;
  }
  /* ============================================================================================ wordpress */
  .wordpress__block {
    font-size: 13px;
  }
  .wordpress__block h1, .wordpress__block h2, .wordpress__block h3, .wordpress__block h4, .wordpress__block h5, .wordpress__block h6 {
    font-size: 16px;
    margin-bottom: 20px;
  }
  .wordpress__block h2 {
    font-size: 18px;
  }
  .wordpress__block h3 {
    font-size: 17px;
  }
  .wordpress__block h4 {
    font-size: 16px;
  }
  .wordpress__block h5 {
    font-size: 15px;
  }
  .wordpress__block h6 {
    font-size: 14px;
  }
  .wordpress__block p {
    margin-bottom: 20px;
  }
  .wordpress__block img {
    border-radius: 6px;
  }
  .pdSection [id^=i-] {
    padding-top: 110px;
    margin-top: -50px;
  }
  /* ============================================================================================ spotInfo */
  .spotInfo {
    border-radius: 6px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .spotInfo [id^=i-] {
    padding-top: 0;
    margin-top: 0;
  }
  /* ========================================================== spotInfo__detail */
  .spotInfo__detail {
    padding: 15px 20px 30px;
  }
  .spotInfo__detail .btn__googleMap {
    margin-top: 20px;
  }
  /* --------------------------------------- spotInfo__title */
  .spotInfo__title {
    font-size: 13px;
    margin-bottom: 20px;
  }
  /* --------------------------------------- spotInfo__block */
  .spotInfo__block {
    margin-bottom: 6px;
  }
  .spotInfo__block--title {
    font-size: 11px;
    width: 65px;
  }
  .spotInfo__block--text {
    width: calc(100% - 65px);
    font-size: 11px;
  }
  .spotInfo__block--text p {
    margin-bottom: 5px;
  }
  /* ========================================================== spotInfo__map */
  .spotInfo__map {
    border-radius: 6px;
  }
  /* ============================================================================================ couponInfo */
  .couponInfo {
    position: relative;
    flex-wrap: wrap;
    border-radius: 6px;
    padding: 40px 20px 20px;
    margin-bottom: 20px;
  }
  /* --------------------------------------- couponInfo__thum */
  .couponInfo__thum {
    width: 100%;
  }
  .couponInfo__thum img {
    border-radius: 6px;
  }
  /* --------------------------------------- couponInfo__detail */
  .couponInfo__detail {
    width: 100%;
  }
  .couponInfo__detail--leader {
    position: absolute;
    top: 12px;
    left: 20px;
    font-size: 10px;
    padding-left: 25px;
    margin-bottom: 0;
  }
  .couponInfo__detail--leader::after {
    width: 18px;
    height: 18px;
  }
  .couponInfo__detail--title {
    font-size: 14px;
    margin-bottom: 12px;
    margin-top: 20px;
  }
  .couponInfo__detail--text {
    font-size: 12px;
    margin-bottom: 20px;
  }
  /* ============================================================================================ present */
  .presentInfo .spotInfo__block .spotInfo__block--title, .presentInfo .spotInfo__block .spotInfo__block--text {
    font-size: 12px;
  }
  .presentInfo__aside {
    font-size: 13px;
    margin-bottom: 20px;
  }
  .spotInfo.presentInfo__sub {
    margin-bottom: 20px;
  }
  .spotInfo.presentInfo__sub .spotInfo__block--title {
    font-size: 11px;
  }
  .textLink, a.textLink {
    display: inline-block;
    text-decoration: underline;
  }
  .spotInfo__asideText {
    font-size: 11px;
  }
  .present__pdArticle .postPerson__fullWrapper {
    margin-top: 30px;
  }
  /* ============================================================================================ edit ad sticky */
  .pdSideBar__inner {
    height: auto;
  }
  .pdSideBar__inner .blockBox--flex .blockTitle {
    margin-bottom: 6px;
  }
  .pdSideBar__inner .blockBox--ranking .date {
    display: block;
    transform-origin: left center;
  }
  .pdSideBar__ad.stickyTarget {
    position: relative;
    top: 0;
  }
  /* ============================================================================================ cms imag layout */
  .wp-block-image {
    margin-bottom: 20px;
  }
  /* ============================================================================================ cms table layout */
  .wordpress__block .btn.btnShaped.btnBgColor .btnTtext {
    padding-left: 0;
  }
  .wordpress__block .spotInfo {
    border-radius: 6px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .wordpress__block {
    /* ========================================================== spotInfo__detail */
  }
  .wordpress__block .spotInfo__detail {
    padding: 15px 20px 30px;
  }
  .wordpress__block .spotInfo__detail .btn__googleMap {
    margin-top: 20px;
  }
  .wordpress__block {
    /* --------------------------------------- spotInfo__title */
  }
  .wordpress__block .spotInfo__title {
    font-size: 13px;
    margin-bottom: 20px;
  }
  .wordpress__block {
    /* --------------------------------------- spotInfo__block */
  }
  .wordpress__block .spotInfo__block {
    margin-bottom: 6px;
  }
  .wordpress__block .spotInfo__block--title {
    font-size: 11px;
    width: 65px;
  }
  .wordpress__block .spotInfo__block--text {
    width: calc(100% - 65px);
    font-size: 11px;
  }
  .wordpress__block .spotInfo__block--text p {
    margin-bottom: 5px;
  }
  .wordpress__block {
    /* ========================================================== spotInfo__map */
  }
  .wordpress__block .spotInfo__map {
    border-radius: 6px;
  }
  .wordpress__block figure.is-style-stripes {
    border-radius: 6px;
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 15px 20px 30px;
  }
  .wordpress__block table.has-fixed-layout td {
    padding: 6px 0;
    vertical-align: text-top;
  }
  .wordpress__block table.has-fixed-layout td:first-child {
    width: 90px;
  }
}
/*============================================================================================ 1023px */
@media only screen and (max-width: 1023px) {
  .galleryModal .keenSlider__wrapper {
    overflow: inherit;
  }
  .galleryModal button[aria-label=prev], .galleryModal button[aria-label=next] {
    display: none;
  }
}
/*============================================================================================ 767px */
@media only screen and (max-width: 767px) {
  /* ======================================================= galleryBlock */
  .latestSection__list .blockBox.galleryBlock {
    display: block;
  }
  .latestSection__list .blockBox.galleryBlock .blockBox__thum, .latestSection__list .blockBox.galleryBlock .blockBox__info {
    width: 100%;
  }
  .latestSection__list .blockBox.galleryBlock .blockBox__thum {
    padding: 0;
  }
  .latestSection__list .blockBox.galleryBlock .blockBox__info {
    padding: 12px 20px;
  }
  /* ============================================================================================  galleryModal */
  .galleryModal__inner {
    width: calc(310 * 100 / 375 * 1vw);
  }
  .galleryModal__closeBtn {
    height: 60px;
  }
  .galleryModal__closeBtn--inner {
    width: 35px;
    left: auto;
    right: 10px;
    transform: translate(0, -50%);
  }
  .galleryModal__closeBtn--inner .galleryModal__closeBtn--p {
    display: none;
  }
  .galleryModal__closeBtn--inner .closeIcon {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
  }
}
/*============================================================================================ 1023px */
@media only screen and (max-width: 1023px) {
  .otherSection__infoBox--block {
    flex-wrap: wrap;
  }
  .pageAd__infoBox .otherSection__infoBox--blockTitle,
  .pageAd__infoBox .otherSection__infoBox--blockDetail {
    width: 100%;
  }
  .pageAd__infoBox .otherSection__infoBox--blockTitle {
    margin-bottom: 10px;
  }
  /* ------------------------------ pageInner__navTarget */
  .pageInner__navTarget {
    width: 200px;
  }
}
/*============================================================================================ 767px */
@media only screen and (max-width: 767px) {
  /* ============================================================================================  otherSection */
  .otherSection {
    display: block;
    padding-top: 8px;
    padding-bottom: 20px;
  }
  /* ------------------------------ otherSection__left */
  .otherSection__left {
    width: auto;
  }
  .otherSection__leftTitle {
    font-size: 15px;
    margin-bottom: 10px;
  }
  /* ------------------------------ otherSection__right */
  .otherSection__right {
    width: auto;
  }
  /* ------------------------------ otherSection__leader */
  .otherSection__leader {
    font-size: 15px;
    margin-bottom: 10px;
    line-height: 1.4;
  }
  /* ------------------------------ otherSection__p */
  .otherSection__p {
    font-size: 13px;
    margin-bottom: 15px;
    line-height: 1.5;
  }
  .otherSection__p--mb15 {
    margin-bottom: 10px;
  }
  /* ------------------------------ otherSection__list */
  .otherSection__list {
    margin-bottom: 25px;
  }
  .listTarget {
    font-size: 13px;
    padding-left: 20px;
    margin-bottom: 15px;
  }
  .listTarget span {
    width: 15px;
  }
  .otherSection__list--point .listTarget {
    padding-left: 15px;
  }
  .otherSection__list--privacy {
    margin-bottom: 50px;
  }
  /* ------------------------------ otherSection__thum */
  .otherSection__thum {
    width: 87px;
    margin-bottom: 15px;
  }
  /* ------------------------------ otherSectionBlock */
  .otherSectionBlock {
    margin-bottom: 40px;
  }
  .otherSectionBlock--flex .otherSection__p {
    width: calc(100% - 87px - 15px);
  }
  /* ------------------------------ cookieBlock */
  .cookieBlock {
    margin-bottom: 20px;
    padding-top: 20px;
  }
  .otherSection__leader--h3, .otherSection__p--small {
    font-size: 12px;
    margin-bottom: 10px;
  }
  .otherSection__p--small {
    margin-bottom: 25px;
  }
  /* ------------------------------ cookieBlock table */
  .cookieBlock table {
    display: block;
    font-size: 12px;
  }
  .cookieBlock table thead, .cookieBlock table tbody, .cookieBlock table th, .cookieBlock table td, .cookieBlock table tr {
    display: block;
  }
  .cookieBlock table thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
    z-index: -9999;
  }
  .cookieBlock table tbody {
    position: relative;
  }
  .cookieBlock table tr::before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    width: 175px;
    border-right: 1px dashed rgba(var(--color-border), 0.5);
  }
  .cookieBlock table tr td {
    position: relative;
  }
  .cookieBlock table tr td::before {
    content: attr(data-label);
    padding-right: 10px;
    font-weight: 500;
    position: absolute;
    left: 15px;
  }
  .cookieBlock table tr td:last-child {
    border-bottom: 2px solid rgba(var(--color-border), 1);
  }
  .cookieBlock table .ot-mobile-border {
    display: none;
  }
  .cookieBlock table .ot-table-header, .cookieBlock table .ot-host-td, .cookieBlock table .ot-cookies-td, .cookieBlock table .ot-cookies-type {
    border-bottom: 1px solid rgba(var(--color-border), 1);
    border-right: none;
    padding-left: 200px;
  }
  .cookieBlock table tbody tr:last-child .ot-host-td, .cookieBlock table tbody tr:last-child .ot-cookies-td {
    border-bottom: 1px solid rgba(var(--color-border), 1);
  }
  .cookieBlock table .ot-host-td, .cookieBlock table .ot-cookies-td, .cookieBlock table .ot-cookies-type {
    width: 100%;
  }
  /* ============================================================================================  add phase 3 */
  /* ============================================================================  otherSection__infoBox */
  .otherSection__infoBox {
    border-radius: 8px;
    padding: 15px 20px;
  }
  .otherSection__infoBox.pageAd__infoBox {
    margin-top: 30px;
  }
  .pageAd__infoBox .otherSection__infoBox--blockTitle {
    font-size: 13px;
  }
  .pageAd__infoBox .otherSection__infoBox--blockDetail {
    margin-bottom: 20px;
  }
  .pageAd__infoBox .pageAd__infoBox--company {
    font-size: 12px;
    padding: 4px 18px;
    margin-right: 12px;
    margin-bottom: 5px;
  }
  .otherSection__infoBtn {
    margin-top: 25px;
  }
  .otherSection__infoBtn .btn {
    width: 100%;
    margin-right: 0;
    margin-bottom: 13px;
  }
  /* ============================================================================  about */
  .aboutSection .otherSection__left {
    width: 100%;
    margin-bottom: 30px;
  }
  .aboutSection .otherSection__right {
    width: 100%;
  }
  /* ------------------------------ aboutSection__img */
  .aboutSection__img img {
    border-radius: 5px;
  }
  .aboutSection__img--p {
    font-size: 16px;
  }
  .aboutSection__img--p > span {
    margin-top: -0.5em;
    margin-bottom: 0.2em;
  }
  /* ------------------------------ aboutSection__block */
  .aboutSection__block {
    margin-bottom: 60px;
  }
  .aboutSection__title {
    font-size: 15px;
    margin-bottom: 20px;
  }
  .aboutSection__desc {
    font-size: 13px;
    margin-bottom: 20px;
  }
  /* ------------------------------ pageAbout__infoBox title text */
  .pageAbout__infoBox--title {
    font-size: 13px;
    margin-bottom: 15px;
  }
  .pageAbout__infoBox--text {
    font-size: 13px;
    margin-bottom: 10px;
  }
  .pageAbout__infoBox--text.pageAbout__infoBox--strong {
    font-size: 13px;
    line-height: 2.4;
    text-underline-offset: 9px;
  }
  /* =================================================================  pageAbout__infoArea */
  .pageAbout__infoArea--list {
    margin-top: 30px;
  }
  /* ------------------------------ pageAbout__infoArea */
  .pageAbout__infoArea {
    width: 100%;
    margin-right: 0;
    min-width: inherit;
    margin-bottom: 10px;
  }
  .pageAbout__infoArea--sub {
    padding-left: 6px;
  }
  /* ------------------------------ infoArea inner */
  .pageAbout__infoArea--inner, a.pageAbout__infoArea--inner {
    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 38px;
  }
  /* ------------------------------ infoArea title */
  .pageAbout__infoArea--title {
    font-size: 11px;
  }
  /* ------------------------------ infoArea num */
  .pageAbout__infoArea--num {
    width: 19px;
    height: 19px;
    left: 5px;
    font-size: 10px;
    line-height: 19px;
  }
  /* ------------------------------ info detail */
  .pageAbout__infoBox--detail .spotInfo__block--title {
    width: 90px;
  }
  .pageAbout__infoBox--detail .spotInfo__block--text {
    width: calc(100% - 90px);
  }
  /* ------------------------------ aboutPolicy */
  .aboutPolicy__block {
    margin-bottom: 40px;
  }
  .aboutPolicy__block--title {
    font-size: 13px;
    padding-bottom: 15px;
    margin-bottom: 12px;
  }
  /* ------------------------------ textIndent__list */
  .textIndent__list {
    font-size: 13px;
    margin-top: 20px;
  }
  .textIndent {
    margin-bottom: 4px;
  }
  /* ============================================================================  contact */
  .pageContact__infoBox {
    margin-top: 30px;
    margin-bottom: 15px;
  }
  .pageContact__infoBox .contactSection__desc {
    font-size: 13px;
  }
  .pageContact__infoBox .otherSection__infoBox--blockTitle {
    margin-bottom: 10px;
  }
  .pageContact__infoBox .contactSection__block--aside {
    font-size: 11px;
    line-height: 1.55;
    margin-top: 10px;
    margin-bottom: 15px;
  }
  .pageContact__infoBtn .btn {
    margin-right: 0;
  }
  /* ============================================================================================ edit */
  .editSection {
    padding-top: 90px;
    margin-top: -40px;
  }
  .latestSection__list .blockBox.writerBlock {
    margin-bottom: 30px;
  }
  /* ------------------------------ writerBlock__link */
  .editSection__title {
    font-size: 13px;
    margin-bottom: 30px;
  }
  /* ============================================================================ writerBlock */
  .writerBlock__inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  /* ------------------------------ writerBlock__thum */
  .writerBlock__thum {
    width: 24.2165242165%;
    margin-left: 0;
  }
  .writerBlock__thum .btnCircle {
    width: 30px;
    height: 30px;
    bottom: 15%;
    transform: translate(-10%, 0);
  }
  /* ------------------------------ writerBlock__info */
  .writerBlock__info {
    width: 65.811965812%;
    margin-top: 0;
  }
  .writerBlock__info--title, .writerBlock__info--name {
    text-align: left;
  }
  .writerBlock__info--title {
    font-size: 11px;
    margin-bottom: 8px;
  }
  .writerBlock__info--name {
    font-size: 13px;
  }
  .writerBlock__info--desc {
    font-size: 12px;
    margin-top: 10px;
  }
  /* ============================================================================================ pageInner__nav */
  .pageInner__nav {
    position: relative;
    padding-left: 0;
    padding-right: 0;
    margin-top: 30px;
    border-radius: 6px;
    overflow: hidden;
  }
  /* ------------------------------ pageInner__navList */
  .pageInner__navList {
    display: block;
  }
  /* ------------------------------ pageInner__navTarget */
  .pageInner__navTarget {
    width: 100%;
    border-radius: 0;
    margin-left: 0;
  }
  .pageInner__navTarget:nth-child(1)::after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    width: calc(100% - 50px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    height: 1px;
    top: auto;
    bottom: 0;
    border-bottom: 1px dashed rgba(202, 205, 207, 0.7);
  }
  .pageInner__navTarget .btnArrow {
    right: 15px;
  }
  .pageInner__navTarget--p {
    font-size: 11px;
    padding: 15px 25px;
  }
  /* ============================================================================================ writerDetail */
  .writerDetail {
    margin-top: 40px;
    margin-bottom: 30px;
  }
  .writerDetail__pin .iconInner.writerDetail__pin--p {
    font-size: 10px;
    padding-right: 15px;
  }
  /* ============================================================================================ writerDetail */
  .postPerson.writerDetail__inner {
    padding: 40px 20px 30px;
    border-radius: 6px;
    display: block;
  }
  .writerDetail__innerLeader {
    width: 100%;
  }
  .writerDetail__innerLeader .iconPostPerson {
    width: 85px;
  }
  /* ------------------------------ writerDetail__innerInfo */
  .writerDetail__innerInfo {
    width: calc(100% - 105px);
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
  }
  .writerDetail__innerInfo .blockBox__infoSub--personTitle {
    font-size: 11px;
    margin-bottom: 0;
  }
  .writerDetail__innerInfo .blockBox__infoSub--text {
    font-size: 13px;
    margin-left: 0;
  }
  .writerDetail__innerInfo .navSns__list {
    margin-top: 0;
  }
  /* ------------------------------ writerDetail__innerDetail */
  .writerDetail__innerDetail {
    width: 100%;
    margin-top: 15px;
  }
  .writerDetail__innerDetail .blockBox__infoSub--profile {
    width: 100%;
    font-size: 10px;
    line-height: 1.9;
    transform: scale(1);
    margin-bottom: 10px;
  }
  /* ============================================================================================ edit 20251119 nav */
  .subPageWriter .pageInner__navList .pageInner__navTarget {
    min-width: calc(50% - 10px);
    width: auto;
    padding-right: 20px;
  }
  .subPageWriter .pageInner__navList .pageInner__navTarget .btnArrow {
    right: 7px;
  }
  .subPageWriter .pageInner__navList .pageInner__navTarget--p {
    padding: 10px;
  }
  .subPage .couponSection .title {
    margin-bottom: 10px;
  }
  .subPage .couponSection .blockTitle.fs--17 {
    line-height: 1.55;
    white-space: nowrap;
  }
  .subPage .couponSection .blockSubText {
    display: none;
  }
  .subPage .couponSection .btnShaped[data-shaped="75-38"] {
    width: 65px;
    height: 30px;
  }
  .subPage .couponSection .blockBox__coupon {
    justify-content: space-between;
  }
  .subPage .couponSection .blockBox__coupon .blockBox__info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .subPage .couponSection .blockBox__thum {
    width: 100%;
  }
  .subPage .couponSection .blockBox__thum .thumImg__wrapper {
    padding-top: 53.0158730159%;
    height: 0;
  }
  .subPage .couponSection .blockBox__info {
    width: 100%;
  }
  .subPage .couponSection .blockBox__info {
    position: initial;
    padding-right: 20px;
    padding-bottom: 12px;
  }
  .subPage .couponSection .btnShaped[data-shaped=auto-38] {
    position: relative;
    width: 100%;
    height: 30px;
  }
  .subPage .couponSection .btnShaped[data-shaped=auto-38] .btnTtext {
    padding-left: 3px;
  }
  .subPage .couponSection .btnShaped[data-shaped=auto-38] .btnArrow {
    right: 5%;
  }
  .subPage .couponSection .btnShaped[data-shaped=auto-38] a.btnLink, .subPage .couponSection .btnShaped[data-shaped=auto-38] .btnLink {
    padding-right: 0;
  }
}
