﻿@charset "UTF-8";
.sns-icons {
  display: flex;
  justify-content: center;
}

.sns-icon {
  width: 40px;
  height: 40px;
}
.sns-icon + .sns-icon {
  margin-left: 20px;
}

/*共通*/
html {
  background: #F4F1ED;
  scroll-behavior: smooth;
  font-size: 14px;
}

body {
  color: #0F2239;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Noto Serif JP", serif;
}

a {
  color: #0F2239;
  opacity: 1;
  transition: opacity 0.5s ease;
}
a:hover {
  opacity: 0.65;
  cursor: pointer;
}

img {
  width: 100%;
}

.lp_wrapper {
  position: relative;
}

.m-text {
  font-size: 14px;
}

.arrow {
  line-height: 0;
}
.arrow img {
  width: 14px;
}

.button_wrapper {
  display: flex;
  justify-content: center;
  gap: 12px 30px;
}

.text_light {
  color: #616C7B;
}

@media (max-width: 768px) {
  .button_wrapper {
    flex-wrap: wrap;
  }
}
/*セパレーター*/
.separator_star {
  margin-bottom: 30px;
  text-align: center;
  line-height: 0;
}
.separator_star img {
  width: 100%;
  max-width: 700px;
}

.separator_wave {
  text-align: center;
  line-height: 0;
}
.separator_wave img {
  width: 100%;
}

.separator_rhombus {
  margin: 30px 0;
  text-align: center;
  line-height: 0;
}
.separator_rhombus img {
  max-width: 400px;
}

/*ボタン*/
.link_button {
  display: block;
  width: 100%;
  padding: 8px;
  font-size: 14px;
  color: #FFFFFF;
  background: #CD4B3E;
  border-radius: 30px;
  text-align: center;
}
.link_button:hover {
  color: #FFFFFF;
}
.link_button.m-green {
  background: #8CAD8A;
}
.link_button.m-large {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  height: 40px;
  padding: 13px;
  border-radius: 40px;
  line-height: 1.2;
}
.link_button.m-large .special_button_text {
  display: block;
  margin: auto;
}
.link_button.m-large.m-green {
  background: #8CAD8A;
  border: solid 1px #7E9366;
}
.link_button.m-large.m-line {
  justify-content: center;
  max-width: 300px;
  margin: auto;
  text-align: center;
  background: #08C656;
}
.link_button.m-large.m-black {
  background: #0F2239;
}
.link_button.m-arrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.link_button.m-arrow .arrow_button_text {
  display: block;
  margin: auto;
}

/*リンク*/
.common_text_link {
  display: inline-block;
  position: relative;
  font-weight: bold;
  font-size: 14px;
  color: #0F2239;
}
.common_text_link::after {
  display: block;
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #0F2239;
  transition: 0.5s ease;
  content: "";
}
.common_text_link:hover::after {
  display: none;
}

/*バッジ*/
.circle_badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  padding: 10px;
  font-size: 14px;
  color: #FFFFFF;
  border-radius: 50px;
  background: #CD4B3E;
  line-height: 1;
}
.circle_badge.m-large {
  width: 60px;
  height: 60px;
  border-radius: 60px;
}

/*見出し*/
.normal_heading {
  margin-bottom: 16px;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
}
.normal_heading.m-large {
  font-size: 24px;
  margin-bottom: 24px;
}
.normal_heading.m-left {
  text-align: left;
}

.major_heading {
  margin-bottom: 50px;
  text-align: center;
}
.major_heading img {
  max-width: 335px;
}

.curve_heading {
  margin-bottom: 30px;
  text-align: center;
}
.curve_heading_text {
  display: block;
  margin-bottom: 8px;
  font-size: 20px;
  font-weight: bold;
}
.curve_heading img {
  max-width: 180px;
}

/*セクション*/
.content_area {
  width: 100%;
  max-width: 700px;
  padding: 0 20px;
  margin: auto;
}

.columns {
  display: flex;
}

.column_box {
  display: flex;
  align-items: center;
  gap: 16px 20px;
  margin-bottom: 20px;
}
.column_box .column_item {
  flex-basis: 50%;
}

@media (max-width: 768px) {
  .column_box {
    flex-direction: column;
  }
  .column_item {
    flex-basis: 100%;
  }
}
/*タブ*/
.tab_labels {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 30px;
  width: 100%;
  padding: 0 20px;
  overflow-x: auto;
}

@media (max-width: 768px) {
  .tab_labels {
    gap: 15px;
  }
}
.tab_label {
  flex: 1 1 auto;
  max-width: 335px;
  background: #E8E4DB;
  border: solid 2px #C4BEB0;
}
.tab_label img {
  max-width: 160px;
}

.tab {
  display: flex;
  flex-wrap: wrap;
  margin: auto;
  justify-content: center;
}
.tab .tab_name {
  display: block;
  padding: 6px 1em;
  text-align: center;
  cursor: pointer;
  transition: 0.3s all;
}
.tab .tab_name:hover {
  opacity: 0.5;
}

.tab_switch {
  display: none;
}

.tab_content {
  display: none;
  width: 100%;
  padding: 40px 0 0;
}
.tab_content_items:not(:first-child) {
  margin-top: 40px;
}
.tab_content_items .scroll_list_img {
  position: relative;
}
.tab_content_items .scroll_item {
  width: calc(50% - 15px);
}
.tab_content_items .number_one {
  width: 80%;
  max-width: none;
  margin: auto;
}

.tab_name {
  position: relative;
}
.tab_name::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0F2239;
  opacity: 0.1;
  content: "";
}
.tab_name:has(:checked)::before {
  background: transparent;
}
.tab_name:has(:checked) + .tab_content {
  display: block;
}

.tab:has(input#tab1:checked) .m-1 {
  display: block;
}

.tab:has(input#tab2:checked) .m-2 {
  display: block;
}

/*商品一覧*/
.scroll_list {
  display: flex;
  overflow-x: auto;
  padding: 0 20px 0 20px;
}
.scroll_list_img {
  margin-bottom: 12px;
  border: solid 1px #F0EFEC;
}
.scroll_list_text {
  margin-bottom: 8px;
}
.scroll_list_right {
  text-align: right;
}
.scroll_list .chronology_wrapper:not(:last-child) {
  margin-bottom: 30px;
}

.scroll_item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: left;
}
.scroll_item_wrapper {
  margin-bottom: 20px;
}
.scroll_item.m-not_scroll {
  width: calc(25% - 11.25px);
}

@media (max-width: 768px) {
  .scroll_item.m-not_scroll {
    width: calc(50% - 7.5px);
  }
}
.item_box {
  margin-top: 50px;
}
.item_box_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 15px;
}

.product_box_button {
  margin-top: 60px;
  padding: 0 20px;
}
.product_box_image {
  margin-top: 90px;
}

/*ファーストビュー*/
.first_view {
  background: url("../../../images/Pages/Special/xmas2025/bg_snow.png");
  background-size: cover;
  background-repeat: repeat-x;
}
.first_view_image {
  margin-bottom: 16px;
  text-align: center;
}
.first_view .main_title {
  margin-bottom: 30px;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
}
.first_view .button_wrapper {
  padding-bottom: 40px;
}
.first_view .separator_star {
  margin-bottom: 40px;
}

.hero_section {
  display: grid;
  grid-template-rows: auto 2fr;
  grid-template-columns: 2fr 1fr;
}
.hero_section_title {
  grid-row: 1/2;
  grid-column: 1/3;
}
.hero_section_text {
  grid-row: 2/3;
  grid-column: 1/2;
}
.hero_section_image {
  grid-row: 1/3;
  grid-column: 2/3;
}

@media (max-width: 768px) {
  .hero_section {
    padding-bottom: 40px;
  }
  .hero_section_image {
    align-self: flex-end;
  }
}
/*ブランド*/
.brand_area {
  padding: 60px 0;
  background: #E8E4DB;
}
.brand_area .slick-prev,
.brand_area .slick-next {
  top: 50%;
  height: 24px;
  color: #0F2239;
  z-index: 2;
}
.brand_area .slick-prev {
  left: calc(38.3333333333% - 7.5px);
}
.brand_area .slick-prev::before {
  display: block;
  height: 24px;
  background: url("../../../images/Pages/Special/xmas2025/arrow-left_navy.png");
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}
.brand_area .slick-next {
  right: calc(38.3333333333% - 7.5px);
}
.brand_area .slick-next::before {
  display: block;
  height: 24px;
  background: url("../../../images/Pages/Special/xmas2025/arrow-right_navy.png");
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}
.brand_area .slick-disabled {
  display: none !important;
}
.brand_area .brand_list .slick-track {
  display: flex;
}
.brand_area .brand_list .brand_item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  height: auto;
  padding: 0 15px;
}
.brand_area .brand_list .brand_item .brand_image {
  margin-bottom: 26px;
}
.brand_area .brand_list .brand_item .brand_logo {
  max-width: 130px;
  height: 50px;
  margin: auto;
  margin-bottom: 26px;
  text-align: center;
}
.brand_area .brand_list .brand_item .brand_logo img {
  display: inline;
  width: auto;
  max-height: 50px;
  margin: auto;
}
.brand_area .brand_list .brand_item .brand_text {
  margin-bottom: 16px;
}
.brand_area .brand_list .brand_item .brand_button {
  width: 100%;
}
.brand_area .brand_list .slick-dots {
  bottom: -50px;
}
.brand_area .brand_list .slick-dots button::before {
  width: 10px;
  height: 10px;
  border: solid 1px #0F2239;
  border-radius: 10px;
  background: #FFFFFF;
  opacity: 1;
  content: "";
}
.brand_area .brand_list .slick-dots .slick-active button::before {
  background: #0F2239;
}
.brand_introduction {
  margin-bottom: 50px;
}
.brand_nordic_area {
  margin-bottom: 80px;
}

@media (max-width: 767.9px) {
  .brand_area .slick-prev {
    left: calc(10% - 15px + 3.75px);
  }
  .brand_area .slick-next {
    right: calc(10% - 15px + 3.75px);
  }
}
@media (min-width: 769px) {
  .brand_other_area .brand_list {
    display: flex;
    justify-content: center;
  }
  .brand_other_area .brand_item {
    width: calc(28.3333333333% - 60px);
  }
}
@media (max-width: 1166.9px) and (min-width: 769px) {
  .brand_area .slick-prev {
    left: calc(12% - 15px);
  }
  .brand_area .slick-next {
    right: calc(12% - 15px);
  }
  .brand_other_area .brand_item {
    width: calc(44% - 60px);
  }
}
@media (max-width: 768px) {
  .brand_area .slick-prev {
    left: calc(10% - 15px + 3.75px);
  }
  .brand_area .slick-next {
    right: calc(10% - 15px + 3.75px);
  }
  .brand_area brand_other_area .brand_item {
    width: calc(10% - 60px);
  }
}
/*Products*/
.products_area {
  margin-top: -60px;
  padding-top: 60px;
}

.products {
  margin-bottom: 60px;
}
.products_tab_content .parallax {
  position: relative;
  width: 100vw;
  height: 450px;
  margin-bottom: 30px;
  clip-path: inset(0);
  overflow: hidden;
}
.products_tab_content .parallax::before {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  content: "";
}
.products_tab_content .parallax.m-interior::before {
  background-image: url("../../../images/Pages/Special/xmas2025/img_interior_decorate.jpg");
}
.products_tab_content .parallax.m-gift::before {
  background-image: url("../../../images/Pages/Special/xmas2025/img_gift_decorate.jpg");
}
.products .tab_link_wrapper {
  margin-top: 24px;
  text-align: center;
}
.products .tab_link_wrapper .tab_link {
  text-decoration: underline;
}
.products .tab_link_wrapper .tab_link:hover {
  text-decoration: none;
  opacity: 1;
}
.products .tab_content_introduction {
  margin-bottom: 30px;
}
.products .tab_content_header {
  text-align: center;
}
.products .tab_content_header img {
  max-width: 160px;
}
.products .tab_content_button_list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.products .tab_content_button_item {
  width: calc(33.3333333333% - 10px);
}
.products .product_area {
  padding-top: 50px;
}

@media (max-width: 768px) {
  .products_area {
    margin-top: 0;
  }
  .products_tab_content .parallax {
    height: 240px;
  }
  .products_tab_content .parallax::before {
    background-size: 200%;
  }
  .products_tab_content .parallax.m-interior::before {
    background-position-x: 70%;
  }
  .products_tab_content .parallax.m-gift::before {
    background-position-x: 62%;
  }
  .products .tab_content_button_item {
    width: calc(50% - 10px);
  }
}
@media (max-width: 1110px) and (min-width: 768px) {
  .products_tab_content::before {
    background-size: 200%;
  }
  .products_tab_content.m-interior::before {
    background-position-x: 70%;
  }
}
/*special offers*/
@media (max-width: 768px) {
  .special_offers_area {
    margin-bottom: 60px;
  }
}
.special_offers {
  padding: 0 30px;
  border: solid 3px #E8E4DB;
  border-radius: 8px;
}
.special_offers .campaign_period {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 20px;
}
.special_offers .campaign_period img {
  max-width: 220px;
}
.special_offers_box {
  padding: 40px 0;
}
.special_offers_box:not(:last-child) {
  border-bottom: solid 3px #E8E4DB;
}
.special_offers_heading {
  margin-bottom: 16px;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
}
.special_offers .content_column_box {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  margin-top: 30px;
}
.special_offers .button_wrapper {
  text-align: center;
  margin-top: 20px;
}
.special_offers .merit_button {
  margin-top: 40px;
}
.special_offers_content.m-column {
  display: flex;
  column-gap: 25px;
  flex-wrap: wrap;
}
.special_offers_content.m-column .content_column_box {
  flex-direction: column;
  align-items: flex-start;
  width: calc(50% - 12.5px);
  margin-top: calc(20px + 0.75em);
}
.special_offers_content.m-column .content_column_box:first-child, .special_offers_content.m-column .content_column_box:nth-child(2) {
  margin-top: 0;
}
.special_offers_content .content_text:not(:last-child) {
  margin-bottom: 16px;
}
.special_offers_content .annotation_text {
  margin-top: 24px;
}
.special_offers_content .content_img {
  margin-bottom: 20px;
  text-align: center;
}
.special_offers_content .column {
  position: relative;
  padding: 0;
}
.special_offers_content .badge_normal {
  position: absolute;
  top: -0.75em;
  left: -0.25em;
}
.special_offers_content .product_img,
.special_offers_content .merit_img {
  margin-bottom: 0;
  border: solid 1px #E8E4DB;
}
.special_offers_content .product_prise {
  font-weight: bold;
}
.special_offers_content .merit_heading {
  text-align: center;
  font-weight: bold;
  margin-bottom: 10px;
}
.special_offers_content .merit_heading.m-red {
  color: #CD4B3E;
}
.special_offers_content .subheading {
  margin-bottom: 12px;
}
.special_offers .content_detail {
  margin-top: 40px;
}
.special_offers .content_detail .content_column_box {
  align-items: center;
}
.special_offers .content_detail .button_wrapper {
  margin-top: 30px;
}
.special_offers .detail_heading {
  display: inline-block;
  padding: 10px 16px;
  text-align: center;
  color: #CD4B3E;
  border: solid 2px #CD4B3E;
  border-radius: 8px;
  background: #FFFFFF;
}
.special_offers .detail_content {
  margin-top: 20px;
}
.special_offers .detail_img {
  text-align: center;
}
.special_offers .detail_text {
  margin-top: 20px;
}
.special_offers .example_margin {
  margin-top: 40px;
}
.special_offers .content_column_box {
  margin-top: 12px;
}
.special_offers .text_space {
  margin-bottom: 8px;
}

@media (max-width: 768px) {
  .special_offers {
    padding: 0 16px;
  }
}
@media (max-width: 767.9px) {
  .special_offers .campaign_period img {
    max-width: calc(100% - 58px);
  }
}
/*te-nori*/
.te-nori_area {
  padding: 60px 0;
  background: #E8E4DB;
}
.te-nori_area .site_logo {
  text-align: center;
  margin-bottom: 30px;
}
.te-nori_area .site_logo img {
  max-width: 162px;
}
.te-nori_area .guide_list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-bottom: 40px;
}
.te-nori_area .guide_item {
  display: flex;
  align-items: center;
  gap: 12px;
  width: calc(50% - 15px);
}
.te-nori_area .guide_icon {
  width: 100%;
  max-width: 50px;
}
.te-nori_area .guide_heading {
  margin-bottom: 8px;
  font-weight: bold;
}
.te-nori_area .guide_button_area {
  max-width: 200px;
  margin: auto;
}
.te-nori_area .guide_button_area .link_button {
  justify-content: center;
}
.te-nori_area .guide_button_area .link_button .arrow {
  position: absolute;
  top: 50%;
  right: 13px;
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .te-nori_area .guide_list {
    flex-direction: column;
  }
  .te-nori_area .guide_item {
    width: 100%;
  }
}
/*フッター*/
.footer {
  padding: 40px 20px;
  text-align: center;
  background: #C4BEB0;
  font-size: 18px;
}
.footer .text_area {
  margin-bottom: 35px;
}
.footer .logo_link {
  display: block;
  margin: 0 auto 25px;
}
.footer .logo_link img {
  width: 140px;
}

.contact_button {
  max-width: 335px;
  color: #FFFFFF;
  background: #CD4B3E;
  border-radius: 24px;
  font-size: 20px;
  display: flex;
  height: 50px;
  margin: 0 auto 20px;
  justify-content: center;
  align-items: center;
}
.contact_button:hover {
  color: #FFFFFF;
}

.text {
  margin-bottom: 30px;
}

.terms_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 24px;
  margin-bottom: 30px;
  font-size: 14px;
}

.text_accent {
  font-weight: bold;
}

.brand_list {
  margin-bottom: 30px;
}

.sns-icons {
  margin-top: 35px;
}

.sns-icons {
  margin-top: 35px;
}

.pgup_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.5s ease-in-out; /* ふわっと表示させるためのトランジション */
  width: 50px;
  height: 50px;
  position: absolute;
  bottom: 0px;
  right: 0;
  line-height: 0;
  background: #0F2239;
  border-top-left-radius: 8px;
}
