@charset "UTF-8";
/* !_common.scss */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
/* !_breakpoint.scss */
:root {
  --bp-pcCnt: 1010px;
  --bp-pcMax: 1600px;
  --bp-spMax: 750px;
}

:root {
  --min-width: 320;
  --cmp-width: 750;
  --max-width: 750;
}
@media (min-width: 751px) {
  :root {
    --min-width: 751;
    --cmp-width: calc(1010 + 0 * 2);
    --max-width: var(--cmp-width);
  }
}

:root {
  --1vw: 1vw;
  --50vw: 50vw;
  --100vw: 100vw;
}

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  padding-block-end: env(safe-area-inset-bottom);
  font-size: clamp(var(--min-width) / var(--cmp-width) * 16rem / 16, 16 / var(--cmp-width) * var(--100vw), 16rem / 16);
}

body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
}
@media (min-width: 751px) {
  body {
    margin-inline: auto;
  }
}

img, picture, video {
  display: block;
  width: 100%;
  max-width: fit-content;
  height: auto;
}

.dsp_ib {
  display: inline-block;
  font: inherit;
}

@media (min-width: 750px) and (max-width: 750px), not all and (min-width: 751px) {
  .dsp_pc {
    display: none !important;
  }
}

@media (min-width: 751px) {
  .dsp_sp {
    display: none !important;
  }
}

.video-wrap {
  width: calc(480rem / 16);
  margin-inline: auto;
  margin-block-start: calc(30rem / 16);
}
.video-wrap > iframe {
  display: block;
  aspect-ratio: 16/9;
}

/* !_style.scss */
header {
  display: flex;
  height: calc(56rem / 16);
  justify-content: space-between;
  align-items: center;
  padding-inline: calc(20rem / 16);
}
header .header_logo {
  width: calc(248rem / 16);
  margin-inline-end: auto;
}
header .twitterShare {
  width: calc(88rem / 16);
  height: calc(20rem / 16);
  margin-inline-end: calc(15rem / 16);
}
header .lineShare {
  display: flex;
  column-gap: calc(4rem / 16);
  align-items: center;
  position: relative;
  padding: calc(2rem / 16) calc(4rem / 16);
  border-radius: calc(5rem / 16);
  background-color: #03c755;
  color: #fff;
  font-size: clamp(10px, 12 / var(--cmp-width) * var(--100vw), 12rem / 16);
}
header .lineShare::before {
  content: "";
  display: inline-block;
  width: calc(13rem / 16);
  height: calc(13rem / 16);
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/proCommon/line-share.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.f_txt {
  margin: 0 auto;
  margin-top: calc(30rem / 16);
  font-size: clamp(10px, 14 / var(--cmp-width) * var(--100vw), 14rem / 16);
  line-height: 1.8;
  text-align: center;
}

.f_bnr {
  width: min(100%, 750rem / 16);
  margin-inline: auto;
  margin-block-start: calc(100rem / 16);
  margin-block-end: calc(50rem / 16);
}

footer .footer_note {
  margin-block: calc(50rem / 16) calc(80rem / 16);
  font-size: clamp(10px, 9 / var(--cmp-width) * var(--100vw), 9rem / 16);
  line-height: 1.6666666667;
}
footer .info {
  margin-top: calc(40rem / 16);
  padding: calc(20rem / 16);
  font-size: clamp(10px, 12 / var(--cmp-width) * var(--100vw), 12rem / 16);
}
footer .copy {
  padding: calc(20rem / 16) 0 calc(40rem / 16);
  font-size: clamp(10px, 12 / var(--cmp-width) * var(--100vw), 12rem / 16);
}

/**** メニューエリアの背景 ****/
.grandmenu {
  padding-inline: calc(16rem / 16);
  padding-block: calc(48rem / 16) calc(128rem / 16);
  background: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/menu_bg.webp) no-repeat top center;
  background-size: cover;
}
.grandmenu .grandmenu_heading {
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  font-weight: bold;
  font-size: clamp(10px, 26 / var(--cmp-width) * var(--100vw), 26rem / 16);
}
.grandmenu .cont_subtitle {
  margin-block-start: 0;
  color: #fff;
  font-size: clamp(10px, 26 / var(--cmp-width) * var(--100vw), 26rem / 16);
}
.grandmenu ul.cir {
  display: grid;
  width: min(100%, 792rem / 16);
  grid-template-columns: repeat(2, 1fr);
  gap: calc(12rem / 16);
  margin-block-start: calc(44rem / 16);
}
.grandmenu ul.cir li {
  width: min(100%, 390rem / 16);
  height: calc(78rem / 16);
  margin: 0;
  border-width: calc(2rem / 16);
  border-color: transparent;
  background: #f2ecdf;
  transition: 0.3s;
}
.grandmenu ul.cir li u {
  margin-inline-end: 0;
  margin-top: calc(2rem / 16);
}
.grandmenu ul.cir li u::before {
  background-size: cover;
  background-repeat: no-repeat;
}
.grandmenu ul.cir li i {
  color: #333;
  font-size: clamp(10px, 14 / var(--cmp-width) * var(--100vw), 14rem / 16);
}
.grandmenu ul.cir li b {
  color: #870a08;
  font-size: clamp(10px, 18 / var(--cmp-width) * var(--100vw), 18rem / 16);
  line-height: 1.6666666667;
  letter-spacing: 0.08em;
}
.grandmenu ul.cir li:hover {
  transition: 0.3s;
}
.grandmenu ul.cir li.on, .grandmenu ul.cir li.select {
  background: #b2792b;
}
.grandmenu ul.cir li.on i, .grandmenu ul.cir li.select i {
  color: #fff;
}
.grandmenu ul.cir li.on b, .grandmenu ul.cir li.select b {
  color: #fff;
}
.grandmenu ul.cir li u, .grandmenu ul.cir li u::before, .grandmenu ul.cir li u::before {
  width: calc(33rem / 16);
  height: calc(33rem / 16);
  margin-top: 0;
}
.grandmenu ul.cir li.on u::before, .grandmenu ul.cir li.select u::before {
  content: "";
  width: calc(33rem / 16);
  height: calc(33rem / 16);
  margin-top: 0;
  margin-bottom: 0;
}
.grandmenu ul.cir li.on u, .grandmenu ul.cir li.select u {
  margin-inline-start: -16px;
  margin-inline-end: 0;
}
.grandmenu ul.cir li:nth-child(1) u::before {
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/common/icon01.webp);
}
.grandmenu ul.cir li:nth-child(2) u::before {
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/common/icon02.webp);
}
.grandmenu ul.cir li:nth-child(3) u::before {
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/common/icon03.webp);
}
.grandmenu ul.cir li:nth-child(4) u::before {
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/common/icon04.webp);
}
.grandmenu ul.cir li:nth-child(5) u::before {
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/common/icon05.webp);
}
.grandmenu ul.cir li:nth-child(6) u::before {
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/common/icon06.webp);
}
.grandmenu ul.cir li:nth-child(7) u::before {
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/common/icon07.webp);
}
.grandmenu ul.cir li:nth-child(8) u::before {
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/common/icon08.webp);
}

/************ 共通設定 **************/
.cont div .dbtn::after,
.grandmenu .grandmenu_heading {
  color: #000;
  font-family: "ヒラギノ明朝 Pr6N";
}

main {
  background-color: #f2ecdf;
}

#lead {
  width: calc(800rem / 16);
  margin: 0 auto;
  padding-inline: calc(16rem / 16);
  padding-block: calc(65rem / 16) calc(60rem / 16);
}
#lead .lead_heading {
  margin: 0;
  font-weight: bold;
  font-size: clamp(10px, 22 / var(--cmp-width) * var(--100vw), 22rem / 16);
  line-height: 1.3636363636;
  letter-spacing: 0.04em;
}
#lead p.lead_kaiki {
  margin-block: calc(30rem / 16) 0;
  font-size: clamp(10px, 16 / var(--cmp-width) * var(--100vw), 16rem / 16);
  line-height: 1.5625;
}
#lead p.lead_title {
  margin-block: calc(50rem / 16) 0;
  font-weight: bold;
  font-size: clamp(10px, 16 / var(--cmp-width) * var(--100vw), 16rem / 16);
}
#lead p.lead_text {
  margin-block: calc(18rem / 16) 0;
  font-weight: bold;
  font-size: clamp(10px, 16 / var(--cmp-width) * var(--100vw), 16rem / 16);
  line-height: 1.6875;
}
#lead p.lead_note {
  margin-block: calc(40rem / 16) 0;
  font-size: clamp(10px, 10 / var(--cmp-width) * var(--100vw), 10rem / 16);
  line-height: 1.5;
}

#contents {
  margin-inline: auto;
  padding-inline: calc(16rem / 16);
  text-align: left;
}
#contents .cont {
  padding-block: calc(200rem / 16) calc(240rem / 16);
}
#contents .cont p {
  margin: 0;
  font-size: clamp(10px, 18 / var(--cmp-width) * var(--100vw), 18rem / 16);
  line-height: 1.6;
}
#contents .cont .cont_heading {
  position: relative;
  margin-top: calc(120rem / 16);
  color: #000;
  font-size: clamp(10px, 32 / var(--cmp-width) * var(--100vw), 32rem / 16);
  line-height: 1;
  text-align: center;
}
#contents .cont .cont_heading::before {
  content: "";
  width: calc(66rem / 16);
  height: calc(66rem / 16);
  top: calc(-120rem / 16);
  transform: translateX(-50%);
  margin-left: 0;
  background-size: contain;
  background-repeat: no-repeat;
}
#contents .cont:nth-child(1) .cont_heading::before {
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/common/icon01.webp);
}
#contents .cont:nth-child(2) .cont_heading::before {
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/common/icon02.webp);
}
#contents .cont:nth-child(3) .cont_heading::before {
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/common/icon03.webp);
}
#contents .cont:nth-child(4) .cont_heading::before {
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/common/icon04.webp);
}
#contents .cont:nth-child(5) .cont_heading::before {
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/common/icon05.webp);
}
#contents .cont:nth-child(6) .cont_heading::before {
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/common/icon06.webp);
}
#contents .cont:nth-child(7) .cont_heading::before {
  background-image: url(/nagoya/promo/5/season/main/happyholidays/2512/assets/images/common/icon07.webp);
}
#contents .cont .cont_lede {
  margin-block-start: calc(40rem / 16);
  font-size: clamp(10px, 18 / var(--cmp-width) * var(--100vw), 18rem / 16);
  line-height: 1.9230769231;
  text-align: center;
}
#contents .cont .cont_category {
  margin-block-start: calc(200rem / 16);
}
#contents .cont .cont_category + .cont_category {
  margin-block-start: calc(150rem / 16);
}
#contents .cont .cont_title {
  width: min(100%, 872rem / 16);
  margin-inline: auto;
}
#contents .cont.list1 .cont_list {
  display: grid;
  width: min(100%, var(--bp-pcCnt));
  grid-auto-flow: row;
  row-gap: calc(60rem / 16);
  margin-inline: auto;
  margin-block-start: calc(90rem / 16);
}
#contents .cont.list1 .cont_list .cont_list-item {
  display: grid;
  width: 100%;
  row-gap: calc(20rem / 16);
  margin: 0;
  padding: 0;
  text-align: left;
}
#contents .cont.list2 .cont_list {
  display: grid;
  width: min(100%, var(--bp-pcCnt));
  grid-template-columns: repeat(2, 1fr);
  column-gap: calc(50rem / 16);
  row-gap: calc(80rem / 16);
  margin-inline: auto;
  margin-block-start: calc(80rem / 16);
}
#contents .cont.list2 .cont_list .cont_list-item {
  display: grid;
  width: 100%;
  row-gap: calc(10rem / 16);
  align-content: start;
  margin: 0;
  padding: 0;
  text-align: left;
}
#contents .cont .cont_image:has(.cont_image-link) {
  position: relative;
}
#contents .cont .cont_image .cont_image-link {
  width: 90%;
  position: absolute;
  top: calc(1620rem / 16);
  left: 50%;
  transform: translateX(-50%);
}
#contents .cont .cont_detail {
  display: grid;
}
#contents .cont .cont_detail * {
  font-size: clamp(10px, 14 / var(--cmp-width) * var(--100vw), 14rem / 16);
}
#contents .cont .cont_detail sup {
  font-size: 70%;
}
#contents .cont .cont_text {
  font-weight: normal;
  line-height: 1.6;
}
#contents .cont .cont_text + .cont_desc {
  margin-block-start: calc(16rem / 16);
}
#contents .cont .cont_link {
  display: flex;
  gap: calc(20rem / 16);
}
#contents .cont .cont_link-text {
  color: #000;
  text-decoration: underline;
}
#contents .cont .cont_link-text:hover {
  color: #000;
}
#contents .cont .cont_link-btn {
  display: inline-block;
  width: 100%;
  position: relative;
  margin-top: calc(50rem / 16);
  padding: calc(6rem / 16) 0;
  border: 2px solid #171717;
  background-color: #fff;
  color: #171717;
  font-size: clamp(10px, 14 / var(--cmp-width) * var(--100vw), 14rem / 16);
  line-height: 1.6;
  letter-spacing: initial;
  text-align: center;
  transition: 0.3s ease-out;
}
#contents .cont .cont_link-btn::before, #contents .cont .cont_link-btn::after {
  content: "";
  position: absolute;
  top: 50%;
}
#contents .cont .cont_link-btn::before {
  width: calc(20rem / 16);
  height: calc(20rem / 16);
  right: calc(12rem / 16);
  transform: translateY(-50%);
  border-radius: 50%;
  background: #171717;
}
#contents .cont .cont_link-btn::after {
  right: calc(18rem / 16);
  transform: translateY(-50%) rotate(-90deg);
  border-top: calc(5rem / 16) solid #fff;
  border-right: calc(3rem / 16) solid transparent;
  border-left: calc(3rem / 16) solid transparent;
}
#contents .cont .cont_link-btn:hover {
  background: #171717;
  color: #fff;
}
#contents .cont .cont_link-btn:hover::before {
  background: #fff;
}
#contents .cont .cont_link-btn:hover::after {
  border-top: 5px solid #171717;
}

/* 独立バナー */
#contents:has(+ .bnr) .cont {
  padding-block-end: calc(120rem / 16);
}

.bnr {
  width: fit-content;
  margin-inline: auto;
  margin-block-end: calc(120rem / 16);
  padding-inline: calc(16rem / 16);
}

/* リンク非活性 */
.btn-inactive {
  pointer-events: none;
  filter: brightness(70%) grayscale(90%);
}

/* SPスタイル */
@media screen and (max-width: 750px) {
  .f_txt {
    width: 90%;
    font-size: clamp(10px, 24 / var(--cmp-width) * var(--100vw), 24rem / 16);
  }
  footer .footer_note {
    margin-block: calc(50rem / 16) calc(80rem / 16);
    font-size: clamp(10px, 16 / var(--cmp-width) * var(--100vw), 16rem / 16);
    line-height: 1.25;
  }
  footer .info {
    display: flex;
    flex-direction: column;
    row-gap: calc(15rem / 16);
    padding: calc(20rem / 16);
    font-size: clamp(10px, 20 / var(--cmp-width) * var(--100vw), 20rem / 16);
  }
  footer .info > * {
    margin: 0;
  }
  footer .copy {
    padding-block: calc(20rem / 16) calc(40rem / 16);
    font-size: clamp(10px, 20 / var(--cmp-width) * var(--100vw), 20rem / 16);
  }
  .grandmenu {
    padding-inline: calc(16rem / 16);
    padding-block: calc(45rem / 16) calc(60rem / 16);
  }
  .grandmenu .grandmenu_heading {
    font-size: clamp(10px, 26 / var(--cmp-width) * var(--100vw), 26rem / 16);
  }
  .grandmenu ul.cir {
    margin-block-start: calc(44rem / 16);
  }
  .grandmenu ul.cir li {
    display: flex;
    height: calc(120rem / 16);
    flex-direction: column;
    justify-content: space-evenly;
    padding-inline: 0;
    padding-block: 0;
    border-radius: calc(100rem / 16);
  }
  .grandmenu ul.cir li u {
    position: absolute;
    top: calc(-24rem / 16);
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    margin-inline-start: 0;
  }
  .grandmenu ul.cir li u::before {
    width: calc(44rem / 16);
    height: calc(44rem / 16);
  }
  .grandmenu ul.cir li:nth-child(1) u {
    left: 16%;
  }
  .grandmenu ul.cir li:nth-child(2) u {
    left: 26%;
  }
  .grandmenu ul.cir li:nth-child(3) u {
    left: 16%;
  }
  .grandmenu ul.cir li:nth-child(4) u {
    left: 24%;
  }
  .grandmenu ul.cir li:nth-child(5) u {
    left: 14%;
  }
  .grandmenu ul.cir li:nth-child(6) u {
    left: 18%;
  }
  .grandmenu ul.cir li:nth-child(7) u {
    left: 10%;
  }
  .grandmenu ul.cir li:nth-child(8) u {
    left: 16%;
  }
  .grandmenu ul.cir li i {
    padding: 0;
    font-size: clamp(10px, 16 / var(--cmp-width) * var(--100vw), 16rem / 16);
  }
  .grandmenu ul.cir li b {
    margin: 0;
    padding-inline: calc(10rem / 16);
    font-size: clamp(10px, 26 / var(--cmp-width) * var(--100vw), 26rem / 16);
    line-height: 1.3846153846;
  }
  .grandmenu ul.cir li.on u, .grandmenu ul.cir li.select u {
    margin: 0;
  }
  .grandmenu ul.cir li u, .grandmenu ul.cir li.on u::before, .grandmenu ul.cir li.select u::before {
    width: calc(44rem / 16);
    height: calc(44rem / 16);
    top: calc(-12rem / 16);
  }
  #lead {
    width: 100%;
    margin: 0 auto;
    padding-inline: 0;
    padding-block: calc(50rem / 16) calc(60rem / 16);
  }
  #lead .lead_heading {
    font-size: clamp(10px, 36 / var(--cmp-width) * var(--100vw), 36rem / 16);
    line-height: 1.4444444444;
  }
  #lead p.lead_kaiki {
    font-size: clamp(10px, 20 / var(--cmp-width) * var(--100vw), 20rem / 16);
    line-height: 1.9;
  }
  #lead p.lead_title {
    margin-block: calc(60rem / 16) 0;
    font-size: clamp(10px, 28 / var(--cmp-width) * var(--100vw), 28rem / 16);
  }
  #lead p.lead_text {
    margin-block: calc(30rem / 16) 0;
    font-size: clamp(10px, 28 / var(--cmp-width) * var(--100vw), 28rem / 16);
    line-height: 1.7142857143;
  }
  #lead p.lead_note {
    margin-block: calc(30rem / 16) 0;
    font-size: clamp(10px, 14 / var(--cmp-width) * var(--100vw), 14rem / 16);
    line-height: 1.5714285714;
  }
  #contents .cont {
    padding-block: calc(50rem / 16) calc(80rem / 16);
  }
  #contents .cont p {
    padding: 0;
    font-size: clamp(10px, 22 / var(--cmp-width) * var(--100vw), 22rem / 16);
  }
  #contents .cont .cont_heading {
    margin-top: calc(150rem / 16);
    font-size: clamp(10px, 49 / var(--cmp-width) * var(--100vw), 49rem / 16);
    line-height: 1.5;
  }
  #contents .cont .cont_lede {
    font-size: clamp(10px, 26 / var(--cmp-width) * var(--100vw), 26rem / 16);
  }
  #contents .cont .cont_category {
    margin-block-start: calc(100rem / 16);
  }
  #contents .cont.list1 .cont_list {
    padding: 0;
  }
  #contents .cont.list1 .cont_list .cont_list-item {
    row-gap: calc(40rem / 16);
  }
  #contents .cont.list2 .cont_list {
    grid-template-columns: auto;
    padding: 0;
  }
  #contents .cont .cont_image .cont_image-link {
    top: calc(1110rem / 16);
  }
  #contents .cont .cont_link {
    flex-direction: column;
  }
  #contents:has(+ .bnr) .cont {
    padding-block-end: calc(80rem / 16);
  }
  .bnr {
    margin-block-end: calc(80rem / 16);
    padding-inline: calc(60rem / 16);
  }
  #totop::before {
    width: calc(110rem / 16);
    height: calc(110rem / 16);
  }
}
/* 例外設定 */
div[name=cont7] .cont_lede,
div[name=cont8] .cont_lede {
  display: none;
}

.cont_banner {
  width: min(100%, 1080px);
  margin-inline: auto;
  margin-block-start: 100px;
}

.cont_link-banner {
  display: block;
  width: min(100%, 600px);
  margin-inline: auto;
  margin-block-start: 100px;
  transition: filter 0.3s ease;
}
.cont_link-banner:hover {
  filter: brightness(1.1);
}

#contents .cont p.cont_subtext {
  margin-block-start: calc(24rem / 16);
  font-size: clamp(10px, 16 / var(--cmp-width) * var(--100vw), 16rem / 16);
  line-height: 1.6875;
  text-align: center;
}/*# sourceMappingURL=style.css.map */