@charset "UTF-8";

/*all----------------------------*/
html {
  font-size: 62.5%;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

html::-webkit-scrollbar {
  display:none;
}

body {
  -webkit-tap-highlight-color: transparent;
}

#Wrap {
  width: auto;
}

#FooterWrap {
  position: relative;
  z-index: 1;
}

:root {
  --font_regular: "Zen Kaku Gothic New", sans-serif;
  --font_ttl: ab-kokoro-no3, sans-serif;
  --font_eng: "tt-modernoir", serif;
  --color_regular: #343535;
  --color_01: #C52433;
  --color_giftSelection: #FF6347;
  --color_bg_01: #FFF6F4;
  --color_bg_02: #F9E5E6;
  --color_bg_feiler: #FFF5F8;
  --color_bg_ball-and-chain: #FFFDFA;
  --color_bg_selected: #FFFBE6;
  --color_selected: #EAD464;
}

.LP_page * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .05em;
}

.LP_page {
  width: 100%;
  font-family: var(--font_regular);
  color: var(--color_regular);
  overflow-x: clip;
  opacity: 0;
  transition: opacity 1s;
}

.LP_page.active {
  opacity: 1;
}

.LP_page_inner {
  position: relative;
  z-index: 1;
  background: var(--color_bg_01);
  min-height: 100vh;
  padding-bottom: calc(70 * (60rem / 390));
}

.LP_page a {
  display: block;
}

.LP_page a:hover {
  opacity: 1 !important;
}

.LP_page img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.LP_page sup {
  font-size: calc(8 * (60rem / 390));
  letter-spacing: -.05em;
}

/*
.activePoint {
  opacity: 0;
  translate: 0 calc(20 * (60rem / 390));
  transition: opacity 1s, translate 1s;
}

.activePoint.active {
  opacity: 1;
  translate: unset;
}
  */

/*----------------------------all*/

/*heading------------------------*/
.heading_area {
  padding-bottom: calc(60 * (60rem / 390));
}

.main_ttl {
  margin-bottom: calc(40 * (60rem / 390));
}

.main_lead {
  margin-top: calc(40 * (60rem / 390));
  font-size: calc(15 * (60rem / 390));
  line-height: 2;
  text-align: center;
}

.movieThumbnail_wrap {
  width: calc(360 * (60rem / 390));
  margin: calc(50 * (60rem / 390)) auto 0;
  cursor: pointer;
}

.movieThumbnail_wrap p {
  margin-bottom: calc(12 * (60rem / 390));
  font-size: calc(13 * (60rem / 390));
  text-align: center;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-offset: calc(2 * (60rem / 390));
  color: var(--color_01);
}


body.no_scroll {
  height: 100vh;
  overflow: hidden;
}

#HeaderWrap.hidden {
  opacity: 0;
  pointer-events: none;
}

.modal_outside.hidden {
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
}

.modal_outside {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 50%;
  translate: -50% 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: opacity .5s;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.modal_outside::-webkit-scrollbar {
  display:none;
}

.modal_outside::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  background: rgba(100, 60, 45, .5);
  content: "";
}

.modal_outside input {
  display: none;
}

.modal_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modal_wrap {
  width: calc(360 * (60rem / 390));
  margin: 0 auto;
  max-height: 100%;
  padding: calc(40 * (60rem / 390)) 0;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.modal_wrap::-webkit-scrollbar {
  display:none;
}

.modal_inner {
  position: relative;
}

.movie_inner {
  position: relative;
  padding: calc(9% / 0.16) 0 0 0;
}

.movie_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.btn_modalClose {
  width: fit-content;
  margin: calc(15 * (60rem / 390)) auto 0;
  font-size: calc(13 * (60rem / 390));
  font-weight: 700;
  color: #fff;
  cursor: pointer;
}

.campaign_area {
  margin-top:  calc(50 * (60rem / 390));
  padding: calc(20 * (60rem / 390)) calc(15 * (60rem / 390)) 0;
}

.campaign_area a {
  position: relative;
  width: fit-content;
  margin: calc(15 * (60rem / 390)) auto 0;
  padding-right: calc(10 * (60rem / 390));
  font-size: calc(13 * (60rem / 390));
  text-align: center;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-offset: calc(2 * (60rem / 390));
  color: var(--color_01);
}

.campaign_area a::before {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: calc(6 * (60rem / 390));
  height: calc(6 * (60rem / 390));
  border-top: solid var(--color_01) calc(1.5 * (60rem / 390));
  border-right: solid var(--color_01) calc(1.5 * (60rem / 390));
  box-sizing: border-box;
  rotate: 45deg;
  content: "";
}
/*------------------------heading*/

/*collaboration------------------*/
.each_area {
  padding-top: calc(70 * (60rem / 390));
}

.collaboration_area {
  padding-bottom: calc(60 * (60rem / 390));
  background: #fff;
}

.area_ttl {
  font-size: calc(13 * (60rem / 390));
  text-align: center;
  color: var(--color_01);
}

.area_ttl .txt_eng {
  display: block;
  margin-bottom: calc(10 * (60rem / 390));
  font-family: var(--font_ttl);
  font-size: calc(38 * (60rem / 390));
  letter-spacing: -.1em;
}

.area_ttl .txt_sub {
  display: block;
  width: fit-content;
  margin: 0 auto calc(12 * (60rem / 390));
  padding: calc(6 * (60rem / 390)) calc(20 * (60rem / 390));
  background: var(--color_01);
  font-family: var(--font_ttl);
  font-size: calc(13 * (60rem / 390));
  color: var(--color_bg_01);
}

.area_lead {
  margin: calc(25 * (60rem / 390)) 0 calc(40 * (60rem / 390));
  font-size: calc(13 * (60rem / 390));
  line-height: 2;
  text-align: center;
}

.collaboration_area .each_product:nth-of-type(n+2) {
  margin-top: calc(60 * (60rem / 390));
}

.collaboration_area .product_img_wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: calc(25 * (60rem / 390));
}

.collaboration_area .product_img {
  position: relative;
}

.collaboration_area .product_img .variation_name {
  position: absolute;
  top: 0;
  left: 0;
  font-size: calc(13 * (60rem / 390));
}

.collaboration_area .product_img .product_link {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(60 * (60rem / 390));
  height: calc(60 * (60rem / 390));
} 

.collaboration_area .product_img .product_link::before {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: calc(15 * (60rem / 390));
  height: calc(15 * (60rem / 390));
  border-radius: 50%;
  background: #fff;
  opacity: .8;
  scale: 0;
  content: "";
  animation: dot 2s infinite;
}

@keyframes dot {
  0% {
    scale: 0;
    opacity: .8;
  }

  70% {
    opacity: .8;
    scale: 1;
  }

  100% {
    opacity: 0;
    scale: 1;
  }
}

.product_handkerchief .img_left .variation_name:nth-of-type(1) {
  margin: calc(43 * (60rem / 390)) 0 0 calc(33 * (60rem / 390));
}

.product_handkerchief .img_left .variation_name:nth-of-type(2) {
  margin: calc(290 * (60rem / 390)) 0 0 calc(71 * (60rem / 390));
}

.product_handkerchief .img_right .variation_name:nth-of-type(1) {
  margin: calc(40 * (60rem / 390)) 0 0 calc(23 * (60rem / 390));
}

.product_handkerchief .img_right .variation_name:nth-of-type(2) {
  margin: calc(290 * (60rem / 390)) 0 0 calc(53 * (60rem / 390));
}

.product_handkerchief .img_left .product_link:nth-of-type(1) {
  margin: calc(98 * (60rem / 390)) 0 0 calc(93 * (60rem / 390));
}

.product_handkerchief .img_left .product_link:nth-of-type(2) {
  margin: calc(186 * (60rem / 390)) 0 0 calc(35 * (60rem / 390));
}

.product_handkerchief .img_right .product_link:nth-of-type(1) {
  margin: calc(90 * (60rem / 390)) 0 0 calc(78 * (60rem / 390));
}

.product_handkerchief .img_right .product_link:nth-of-type(2) {
  margin: calc(197 * (60rem / 390)) 0 0 calc(78 * (60rem / 390));
}

.collaboration_area .product_bag .product_img .variation_name {
  top: auto;
  left: 50%;
  translate: -50% 0;
  bottom: 0;
  margin-bottom: calc(56 * (60rem / 390))
}

.product_img_wrap.active .img_right {
  transition-delay: .25s;
}

.collaboration_area .product_bag .product_img .product_link {
  left: 50%;
  translate: -50% 0;
  margin-top: calc(145 * (60rem / 390))
}

.collaboration_area .txt_wrap .product_catch {
  margin-bottom: calc(16 * (60rem / 390));
  font-size: calc(13 * (60rem / 390));
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
}

.collaboration_area .txt_wrap .product_name {
  margin-bottom: calc(16 * (60rem / 390));
  font-size: calc(20 * (60rem / 390));
  text-align: center;
}

.collaboration_area .txt_wrap .product_price_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(15 * (60rem / 390));
}

.collaboration_area .txt_wrap .product_price {
  font-size: calc(14 * (60rem / 390));
}

.collaboration_area .txt_wrap .product_price .txt_S {
  font-size: calc(10 * (60rem / 390));
}

.collaboration_area .txt_wrap .product_link {
  display: grid;
  place-items: center;
  width: calc(65 * (60rem / 390));
  height: calc(25 * (60rem / 390));
  border-radius: calc(100 * (60rem / 390));
  border: solid var(--color_01) calc(1 * (60rem / 390));
  background: var(--color_01);
  font-family: var(--font_ttl);
  font-size: calc(15 * (60rem / 390));
  letter-spacing: 0;
  color: var(--color_bg_01);
  transition: background-color .3s, color .3s;
}

.collaboration_area .txt_wrap .product_link:hover {
  background: var(--color_bg_01);
  color: var(--color_01);
}

.collaboration_area .txt_wrap .anchorLink {
  position: relative;
  display: grid;
  place-items: center;
  width: calc(300 * (60rem / 390));
  height: calc(45 * (60rem / 390));
  margin: calc(25 * (60rem / 390)) auto 0;
  border-radius: calc(3 * (60rem / 390));
  border: solid var(--color_01) calc(1 * (60rem / 390));
  font-size: calc(12 * (60rem / 390));
  line-height: 1.3;
  text-align: center;
  color: var(--color_01);
}

.collaboration_area .txt_wrap .anchorLink::before {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: calc(6 * (60rem / 390));
  height: calc(6 * (60rem / 390));
  margin-right: calc(10 * (60rem / 390));
  border-right: solid var(--color_01) calc(1.5 * (60rem / 390));
  border-bottom: solid var(--color_01) calc(1.5 * (60rem / 390));
  box-sizing: border-box;
  rotate: 45deg;
  content: "";
}

.product_handkerchief .txt_wrap .anchorLink {
  background: var(--color_bg_feiler);
}

.product_pouch .txt_wrap .anchorLink {
  background: var(--color_bg_ball-and-chain);
}

.product_bag .txt_wrap .anchorLink {
  background: var(--color_bg_ball-and-chain);
}

.btn_allitem {
  width: fit-content;
  margin: calc(50 * (60rem / 390)) auto 0;
}

.collaboration_area .btn_allitem {
  margin-top: calc(60 * (60rem / 390));
}

.btn_allitem a {
  position: relative;
  display: grid;
  place-items: center;
  width: calc(310 * (60rem / 390));
  height: calc(60 * (60rem / 390));
  border-radius: calc(100 * (60rem / 390));
  border: solid var(--color_01) calc(1 * (60rem / 390));
  background: var(--color_01);
  font-size: calc(17 * (60rem / 390));
  font-weight: 700;
  text-align: center;
  color: var(--color_bg_01);
  transition: background-color .3s, color .3s;
}

.collaboration_area .btn_allitem a {
  font-size: calc(16 * (60rem / 390));
}

.btn_allitem a:hover {
  background: var(--color_bg_01);
  color: var(--color_01);
}

.btn_allitem a::before {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: calc(6 * (60rem / 390));
  height: calc(6 * (60rem / 390));
  margin-right: calc(10 * (60rem / 390));
  border-top: solid var(--color_bg_01) calc(1.5 * (60rem / 390));
  border-right: solid var(--color_bg_01) calc(1.5 * (60rem / 390));
  box-sizing: border-box;
  rotate: 45deg;
  content: "";
  transition: border-color .3s;
}

.btn_allitem a:hover::before {
  border-color: var(--color_01);
}

.btn_allitem a p {
  letter-spacing: 0;
}

.btn_allitem a p .txt_S {
  display: block;
  margin-top: calc(6 * (60rem / 390));
  font-family: var(--font_ttl);
  font-size: calc(11 * (60rem / 390));
  letter-spacing: .05em;
}
/*------------------collaboration*/


/*価格別--------------------------*/
.price_area .area_ttl .txt_eng {
  font-size: calc(28 * (60rem / 390));
}

.price_area .anchorLink_list {
  display: flex;
  justify-content: center;
  gap: calc(8 * (60rem / 390));
  margin-top: calc(35 * (60rem / 390));
}

.price_area .anchorLink_list li {
  width: calc(115 * (60rem / 390));
}

.price_area .anchorLink_list li a {
  position: relative;
  display: grid;
  place-items: center;
  height: calc(88 * (60rem / 390));
}

.price_area .anchorLink_list li:nth-of-type(1) a {
  background: url(../img/2026/frame_5000.svg) center center / 100% auto no-repeat;
}

.price_area .anchorLink_list li:nth-of-type(2) a {
  background: url(../img/2026/frame_7000.svg) center center / 100% auto no-repeat;
}

.price_area .anchorLink_list li:nth-of-type(3) a {
  background: url(../img/2026/frame_10000.svg) center center / 100% auto no-repeat;
}

.price_area .anchorLink_list li a::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  width: calc(6 * (60rem / 390));
  height: calc(6 * (60rem / 390));
  margin-bottom: calc(10 * (60rem / 390));
  border-right: solid var(--color_01) calc(1.5 * (60rem / 390));
  border-bottom: solid var(--color_01) calc(1.5 * (60rem / 390));
  box-sizing: border-box;
  rotate: 45deg;
  content: "";
}

.price_area .cat_ttl {
  position: relative;
  width: fit-content;
  font-family: var(--font_eng);
  font-size: calc(40 * (60rem / 390));
  font-weight: 400;
  letter-spacing: .02em;
  color: var(--color_01);
  text-align: center;
}

.price_area .anchorLink_list li .cat_ttl {
  padding-top: calc(3 * (60rem / 390));
}

.price_area .cat_ttl .txt_S {
  position: relative;
  display: block;
  width: fit-content;
  margin: 0 auto calc(-2 * (60rem / 390));
  padding: calc(3 * (60rem / 390)) calc(6 * (60rem / 390));
  background: var(--color_01);
  font-family: var(--font_ttl);
  font-size: calc(10 * (60rem / 390));
  color: #fff;
  letter-spacing: -.1em;
}

.price_area .cat_ttl .txt_S::before {
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50% 0;
  margin-top: calc(-1 * (60rem / 390));
  border-top: solid calc(7 * (60rem / 390)) var(--color_01);
  border-left: solid calc(4 * (60rem / 390)) transparent;
  border-right: solid calc(4 * (60rem / 390)) transparent;
  content: "";
}

.price_area .cat_ttl .mark_yen {
  position: absolute;
  bottom: 0;
  left: 0;
  width: calc(15 * (60rem / 390));
  margin: 0 0 calc(5 * (60rem / 390)) calc(-5 * (60rem / 390));
}

.price_area .cat_ttl .txt_comma {
  vertical-align: .09em;
  letter-spacing: 0;
  margin-left: -.05em;
}

.each_category {
  position: relative;
  z-index: 1;
  margin-top: calc(50 * (60rem / 390));
}

.each_category .sec_inner {
  padding: calc(40 * (60rem / 390)) 0 calc(50 * (60rem / 390));
}

.each_category::before,
.each_category::after,
.each_category .sec_inner::before {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 100%;
  content: "";
}

.each_category::before {
  top: 0;
  height: calc(120 * (60rem / 390));
}

.each_category::after {
  bottom: 0;
  height: calc(120 * (60rem / 390));
}

.each_category .sec_inner::before {
  top: 0;
  margin-top: calc(118 * (60rem / 390));
  height: calc(100% - calc(230 * (60rem / 390)));
}

#Under5000::before {
  background: url(../img/2026/bg_5000_top.svg) top center / 100% auto no-repeat;
}

#Under5000::after {
  background: url(../img/2026/bg_5000_bottom.svg) bottom center / 100% auto no-repeat;
}

#Under5000 .sec_inner::before {
  background: url(../img/2026/bg_5000_middle.svg) top center / 100% auto repeat-y;
}

#Under7000::before {
  background: url(../img/2026/bg_7000_top.svg) top center / 100% auto no-repeat;
}

#Under7000::after {
  background: url(../img/2026/bg_7000_bottom.svg) bottom center / 100% auto no-repeat;
}

#Under7000 .sec_inner::before {
  background: url(../img/2026/bg_7000_middle.svg) top center / 100% auto repeat-y;
}

#Over10000::before {
  background: url(../img/2026/bg_10000_top.svg) top center / 100% auto no-repeat;
}

#Over10000::after {
  background: url(../img/2026/bg_10000_bottom.svg) bottom center / 100% auto no-repeat;
}

#Over10000 .sec_inner::before {
  background: url(../img/2026/bg_10000_middle.svg) top center / 100% auto repeat-y;
}

.each_category .cat_ttl {
  margin: 0 auto calc(25 * (60rem / 390));
  font-size: calc(70 * (60rem / 390));
}

.each_category .cat_ttl .txt_S {
  font-size: calc(16 * (60rem / 390));
}

.each_category .cat_ttl .mark_yen {
  width: calc(22 * (60rem / 390));
  margin: 0 0 calc(10 * (60rem / 390)) calc(-8 * (60rem / 390));
}

.each_set:nth-of-type(n+2) {
  margin-top: calc(70 * (60rem / 390));
}

.set_ttl_wrap {
  position: relative;
  z-index: 1;
  display: grid;
  place-content: center;
  width: calc(316 * (60rem / 390));
  height: calc(54 * (60rem / 390));
  margin: 0 auto calc(30 * (60rem / 390));
}

.set_ttl_wrap::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(67 * (60rem / 390));
  background: url(../img/2026/shape_ribbon.svg) top center / 100% auto no-repeat;
  content: "";
}

.set_ttl {
  font-size: calc(17 * (60rem / 390));
  font-weight: 700;
  text-align: center;
  color: var(--color_01);
}

.set_ttl .txt_S {
  display: block;
  margin-bottom: calc(6 * (60rem / 390));
  font-size: calc(11 * (60rem / 390));
  font-weight: 700;
}

.set_img_wrap {
  display: flex;
  justify-content: center;
  margin-bottom: calc(25 * (60rem / 390));
}

.set_img {
  width: calc(130 * (60rem / 390));
  filter: drop-shadow(0 calc(3 * (60rem / 390)) calc(6 * (60rem / 390)) rgba(0, 0, 0, .1));
}

.set_img_wrap.active .set_img:nth-of-type(2) {
  transition-delay: .2s;
}

.set_img_wrap.active .set_img:nth-of-type(3) {
  transition-delay: .4s;
}

#Set01 .set_img:nth-of-type(2) {
  width: calc(96 * (60rem / 390));
}

#Set01 .set_img:nth-of-type(3) {
  width: calc(54 * (60rem / 390));
}

#Set05 .set_img {
  width: calc(100 * (60rem / 390));
}

.each_set .notes {
  margin: calc(-10 * (60rem / 390)) 0 calc(20 * (60rem / 390));
  font-size: calc(10 * (60rem / 390));
  text-align: center;
}

.set_detail {
  width: calc(330 * (60rem / 390));
  border-radius: calc(5 * (60rem / 390));
  margin: 0 auto;
  padding-bottom: calc(25 * (60rem / 390));
  background: rgba(255, 255, 255, .7);
  overflow: clip;
}

.set_detail > h6 {
  margin-bottom: calc(15 * (60rem / 390));
  padding: calc(5 * (60rem / 390)) 0;
  background: var(--color_01);
  font-size: calc(11 * (60rem / 390));
  font-weight: 700;
  text-align: center;
  color: #fff;
}

.set_detail ul {
  margin-bottom: calc(15 * (60rem / 390));
  padding: 0 calc(15 * (60rem / 390));
}

.set_detail li {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.set_detail li:nth-of-type(n+2) {
  margin-top: calc(8 * (60rem / 390));
  padding-top: calc(10 * (60rem / 390));
  border-top: dotted var(--color_01) calc(1.5 * (60rem / 390));
}

.set_detail .product_name {
  flex: 1;
  font-size: calc(13 * (60rem / 390));
  line-height: 1.4;
  letter-spacing: .02em;
}

.set_detail .product_brand {
  font-size: calc(12 * (60rem / 390));
  font-weight: 800;
  line-height: 1.4;
}

.set_detail .product_price {
  font-size: calc(13 * (60rem / 390));
  line-height: 1.4;
  letter-spacing: .03em;
}

.set_detail .product_price .txt_S {
  font-size: calc(10 * (60rem / 390));
  letter-spacing: 0;
}

.btn_addCart {
  width: fit-content;
  margin: 0 auto;
}

.btn_addCart a {
  display: grid;
  place-items: center;
  width: calc(250 * (60rem / 390));
  height: calc(48 * (60rem / 390));
  border-radius: calc(100 * (60rem / 390));
  border: solid var(--color_01) calc(1 * (60rem / 390));
  background: var(--color_01);
  font-size: calc(16 * (60rem / 390));
  color: #fff;
  transition: background-color .3s, color .3s;
}

.btn_addCart a:hover {
  background: #fff;
  color: var(--color_01);
}

.btn_addCart a span {
  position: relative;
  padding-right: calc(25 * (60rem / 390));
}

.btn_addCart a span::before {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: calc(24 * (60rem / 390));
  height: calc(24 * (60rem / 390));
  mask-image: url(../img/2026/icon_cart.svg);
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-image: url(../img/2026/icon_cart.svg);
  -webkit-mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% auto;
  background: #fff;
  content: "";
  transition: background-color .3s;
}

.btn_addCart a:hover span::before {
  background: var(--color_01);
}
/*--------------------------価格別*/


/*CUSTOM GIFT SET----------------*/
.custumSet_area {
  background: var(--color_bg_feiler);
}

.custumSet_area .area_ttl {
  margin-bottom: calc(40 * (60rem / 390));
}

.each_customSet {
  padding: calc(40 * (60rem / 390)) 0 calc(60 * (60rem / 390));
}

#Custum_FEILER {
  background: var(--color_bg_feiler);
}

#Custum_BALLandCHAIN {
  background: var(--color_bg_ball-and-chain);
}

.customSet_ttl {
  width: calc(360 * (60rem / 390));
  margin: 0 auto calc(20 * (60rem / 390));
  padding-bottom: calc(14 * (60rem / 390));
  border-bottom: solid var(--color_01) calc(1.5 * (60rem / 390));
  font-size: calc(24 * (60rem / 390));
  font-weight: 700;
  text-align: center;
  color: var(--color_01);
}

.each_list .list_num {
  margin-bottom: calc(15 * (60rem / 390));
  font-family: var(--font_ttl);
  font-size: calc(15 * (60rem / 390));
  letter-spacing: -.05em;
  text-align: center;
  color: var(--color_01);
}

.list01_wrap {
  margin-bottom: calc(25 * (60rem / 390));
}

.list01_wrap .product_detail {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(10 * (60rem / 390));
  margin-top: calc(8 * (60rem / 390));
}

.list01_wrap .product_name {
  font-size: calc(15 * (60rem / 390));
}

.list01_wrap .product_name .product_brand {
  font-size: calc(12 * (60rem / 390));
}

.list01_wrap .product_price {
  font-size: calc(12 * (60rem / 390));
}

.list01_wrap .product_price .txt_S {
  font-size: calc(10 * (60rem / 390));
}

.list01_wrap .product_anchorLink {
  position: relative;
  padding-right: calc(12 * (60rem / 390));
  font-family: var(--font_ttl);
  font-size: calc(12 * (60rem / 390));
  letter-spacing: -.05em;
  color: var(--color_01);
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-offset: calc(2 * (60rem / 390));
}

.list01_wrap .product_anchorLink::before {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: calc(6 * (60rem / 390));
  height: calc(6 * (60rem / 390));
  margin-top: calc(1 * (60rem / 390));
  border-left: solid var(--color_01) calc(1.8 * (60rem / 390));
  border-top: solid var(--color_01) calc(1.8 * (60rem / 390));
  box-sizing: border-box;
  rotate: 45deg;
  content: "";
  transition: border-color .3s;
}

.list01_wrap .product_list_wrap {
  margin-top: calc(15 * (60rem / 390));
  padding: 0 calc(15 * (60rem / 390)) calc(10 * (60rem / 390));
  overflow-x: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.list01_wrap .product_list_wrap::-webkit-scrollbar {
  display: none;
}

.list01_wrap .product_list {
  display: flex;
  width: fit-content;
  border-radius: calc(5 * (60rem / 390));
  background: #fff;
  box-shadow: 0 calc(3 * (60rem / 390)) calc(6 * (60rem / 390)) rgba(0, 0, 0, .1);
  overflow: clip;
}

.product_list li {
  display: flex;
  flex-direction: column;
}

.product_list li input {
  display: none;
}

.list01_wrap li {
  width: fit-content;
}

.list01_wrap li:nth-of-type(n+2),
.list02_wrap li:nth-of-type(even) {
  border-left: dashed #EAEAEA calc(1 * (60rem / 390));
}

.list02_wrap li:nth-of-type(n+3) {
  border-top: dashed #EAEAEA calc(1 * (60rem / 390));
}

.product_list label {
  position: relative;
  display: block;
  height: 100%;
  background: #fff;
  cursor: pointer;
  transition: background-color .3s;
}

.list01_wrap label {
  width: calc(150 * (60rem / 390));
  padding: calc(12 * (60rem / 390)) 0;
}

.product_list label::before,
.product_list label::after {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(20 * (60rem / 390));
  height: calc(20 * (60rem / 390));
  content: "";
}

.product_list label::before {
  border-radius: 0 0 calc(2 * (60rem / 390)) 0;
  background: #EAEAEA;
  transition: background-color .3s;
}

.product_list label::after {
  background: url(../img/2026/icon_check.svg) center center / 100% auto no-repeat;
}

.product_list input:checked + label {
  background: var(--color_bg_selected);
}

.product_list input:checked + label::before {
  background: var(--color_selected);
}

.list01_wrap li .product_img {
  width: calc(110 * (60rem / 390));
  margin: 0 auto;
}

.list01_wrap li .variation_name {
  font-size: calc(12 * (60rem / 390));
  text-align: center;
}

.list01_wrap li .variation_name .product_name {
  display: none;
}

.list02_wrap .product_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: calc(360 * (60rem / 390));
  margin: 0 auto;
  border-radius: calc(5 * (60rem / 390));
  background: #fff;
  box-shadow: 0 calc(3 * (60rem / 390)) calc(6 * (60rem / 390)) rgba(0, 0, 0, .1);
  overflow: clip;
}

.list02_wrap label {
  padding: calc(10 * (60rem / 390)) calc(15 * (60rem / 390)) calc(45 * (60rem / 390));
}

.list02_wrap .product_img {
  height: calc(140 * (60rem / 390));
  margin-bottom: calc(6 * (60rem / 390));
  border-radius: calc(5 * (60rem / 390));
  background: #fff;
  overflow: clip;
  text-align: center;
}

.list02_wrap .product_img img {
  width: auto;
  height: 100%;
}

.list02_wrap .product_name {
  font-size: calc(13 * (60rem / 390));
  line-height: 1.4;
  letter-spacing: .02em;
}

.list02_wrap .product_brand {
  font-size: calc(12 * (60rem / 390));
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .02em;
}

.list02_wrap .product_price_wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0 calc(15 * (60rem / 390)) calc(20 * (60rem / 390));
}

.list02_wrap .product_price {
  font-size: calc(13 * (60rem / 390));
}

.list02_wrap .product_price .txt_S {
  font-size: calc(10 * (60rem / 390));
}

.list02_wrap .product_link {
  position: relative;
  padding-right: calc(9 * (60rem / 390));
  font-family: var(--font_ttl);
  font-size: calc(12 * (60rem / 390));
  letter-spacing: -.05em;
  color: var(--color_01);
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-offset: calc(2 * (60rem / 390));
}

.list02_wrap .product_link::before {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: calc(6 * (60rem / 390));
  height: calc(6 * (60rem / 390));
  margin-top: calc(1 * (60rem / 390));
  border-top: solid var(--color_01) calc(1.8 * (60rem / 390));
  border-right: solid var(--color_01) calc(1.8 * (60rem / 390));
  box-sizing: border-box;
  rotate: 45deg;
  content: "";
  transition: border-color .3s;
}

.selectedList_area {
  position: fixed;
  z-index: 2;
  bottom: 0;
  width: calc(390 * (60rem / 390));
  overflow: hidden;
  translate: 0 100%;
  transition: height .3s, translate .3s;
}

.selectedList_area.active {
  translate: unset;
}

.selectedList_area .accordion_wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .3s;
}

.selectedList_area.visible .accordion_wrap {
  grid-template-rows: 1fr;
}

.selectedList_area .accordion_inner {
  overflow: hidden;
}

.selectedList_area .tab_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: flex-end;
  gap: calc(2 * (60rem / 390));
  padding: 0 calc(5 * (60rem / 390));
}

.selectedList_area .tab_list li input {
  display: none;
}

.selectedList_area .tab_list li a {
  display: grid;
  place-items: center;
  height: calc(35 * (60rem / 390));
  border-radius: calc(8 * (60rem / 390)) calc(8 * (60rem / 390)) 0 0;
  border: solid var(--color_01) calc(1 * (60rem / 390));
  border-bottom: none;
  font-size: calc(14 * (60rem / 390));
  color: var(--color_01);
  transform-origin: bottom center;
  transition: height .3s;
}

.selectedList_area .tab_list li input:checked + a {
  height: calc(45 * (60rem / 390));
  font-size: calc(16 * (60rem / 390));
  font-weight: 700;
}

.selectedList_area .tab_list li:nth-of-type(1) a {
  background: var(--color_bg_feiler);
}

.selectedList_area .tab_list li:nth-of-type(2) a {
  background: var(--color_bg_ball-and-chain);
}

.selectedList_inner {
  position: relative;
  padding-top: calc(15 * (60rem / 390));
  border-top: solid var(--color_01) calc(2 * (60rem / 390));
  background: #fff;
  transition: padding .3s;
}

.selectedList_area.visible .selectedList_inner {
  padding-bottom: calc(15 * (60rem / 390));
}

.selectedList_area h6 {
  padding: 0 0 calc(15 * (60rem / 390)) calc(15 * (60rem / 390));
  font-size: calc(15 * (60rem / 390));
  color: var(--color_01);
}

.selectedList_area .btn_listSwitch {
  position: absolute;
  top: 0;
  right: 0;
  margin: calc(7 * (60rem / 390)) calc(5 * (60rem / 390)) 0 0;
}

.selectedList_area .btn_listSwitch span {
  display: block;
  padding: calc(10 * (60rem / 390));
  cursor: pointer;
}

.selectedList_area .btn_listSwitch .opened,
.selectedList_area.visible .btn_listSwitch .closed {
  display: block;
}

.selectedList_area .btn_listSwitch .closed,
.selectedList_area.visible .btn_listSwitch .opened {
  display: none;
}

.each_selectedList {
  opacity: 0;
  height: 0;
  overflow: hidden;
  transition: opacity .3s;
}

.each_selectedList.selected {
  opacity: 1;
  height: auto;
  overflow: visible;
}

.selected_list_wrap .default_txt {
  display: flex;
  align-items: center;
  width: calc(370 * (60rem / 390));
  height: calc(60 * (60rem / 390));
  margin: 0 auto;
  padding-left: calc(15 * (60rem / 390));
  font-size: calc(14 * (60rem / 390));
  background: var(--color_bg_selected);
}

.selected_list_wrap .default_txt.hidden {
  display: none;
}

.selected_list {
  position: relative;
  z-index: 1;
  display: flex;
  overflow-x: scroll;
  padding: 0 calc(10 * (60rem / 390));
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.selected_list::-webkit-scrollbar {
  display: none;
}

.selected_list:before {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(370 * (60rem / 390));
  height: 100%;
  margin-left: calc(10 * (60rem / 390));
  background: var(--color_bg_selected);
  content: "";
}

.selected_list li {
  position: relative;
  display: flex;
  height: calc(80 * (60rem / 390));
  padding: calc(10 * (60rem / 390)) calc(8 * (60rem / 390));
  background: var(--color_bg_selected);
}

.selected_list li:nth-of-type(n+2)::before {
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: calc(1 * (60rem / 390));
  height: calc(100% - calc(20 * (60rem / 390)));
  border-left: dashed #EAEAEA calc(1 * (60rem / 390));
  content: "";
}

.selected_list li input {
  display: none;
}

.selected_list li label {
  display: flex;
  align-items: center;
  gap: calc(6 * (60rem / 390));
}

.selected_list li .product_img {
  width: calc(60 * (60rem / 390));
  height: calc(60 * (60rem / 390));
  pointer-events: none;
}

.selected_list li .product_img img {
  height: 100%;
  object-fit: cover;
}

.selected_list li .variation_name {
  font-size: calc(10 * (60rem / 390));
  line-height: 1.4;
}

.selected_list li .product_name {
  display: block;
  width: calc(100 * (60rem / 390));
  font-size: calc(10 * (60rem / 390));
  line-height: 1.4;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.selected_list li .product_name .product_brand {
  font-weight: 700;
  line-height: 1.4;
}

.selected_list li label br,
.selected_list li label .product_price_wrap {
  display: none;
}

.price_total {
  display: block;
  margin: calc(10 * (60rem / 390)) 0 calc(15 * (60rem / 390));
  text-align: center;
  color: var(--color_01);
}

.selectedList_area .price_total.hidden,
.selectedList_area .btn_addCart.hidden,
.selectedList_area .notes.hidden {
  display: none;
}

.price_total .txt_total {
  display: inline-block;
  margin-right: calc(5 * (60rem / 390));
  padding: calc(3 * (60rem / 390)) calc(6 * (60rem / 390));
  border: solid var(--color_01) calc(1 * (60rem / 390));
  border-radius: calc(2 * (60rem / 390));
  font-family: var(--font_ttl);
  font-size: calc(12 * (60rem / 390));
  letter-spacing: -.05em;
  vertical-align: .2em;
}

.price_total .price {
  font-size: calc(24 * (60rem / 390));
  font-weight: 700;
}

.price_total .txt_S {
  margin-left: calc(3 * (60rem / 390));
  font-size: calc(12 * (60rem / 390));
  vertical-align: .15em;
}

.selectedList_area .notes {
  margin: calc(8 * (60rem / 390)) 0 calc(20 * (60rem / 390));
  font-size: calc(10 * (60rem / 390));
  text-align: center;
  color: var(--color_01);
}
/*----------------CUSTOM GIFT SET*/


/*final--------------------------*/
.giftSelection_wrap {
  width: fit-content;
  margin: calc(60 * (60rem / 390)) auto 0;
}

.giftSelection_wrap a {
  display: flex;
  width: calc(360 * (60rem / 390));
  padding: calc(15 * (60rem / 390));
  border-radius: calc(5 * (60rem / 390));
  border: solid calc(1 * (60rem / 390)) var(--color_giftSelection);
  background: #FEF5EB;
  color: var(--color_giftSelection);
}

.giftSelection_wrap .txt_wrap {
  position: relative;
  z-index: 1;
  margin-right: calc(-25 * (60rem / 390));
  padding: calc(3 * (60rem / 390)) 0 0 calc(5 * (60rem / 390));
}

.giftSelection_wrap h3 {
  margin-bottom: calc(8 * (60rem / 390));
  font-family: "the-seasons", sans-serif;
  font-size: calc(28 * (60rem / 390));
  line-height: 1.05;
  mix-blend-mode: multiply;
}

.giftSelection_wrap .lead {
  font-size: calc(12 * (60rem / 390));
  line-height: 1.5;
}

.giftSelection_wrap .txt_viewmore {
  position: relative;
  width: fit-content;
  margin-top: calc(8 * (60rem / 390));
  padding-right: calc(10 * (60rem / 390));
  font-size: calc(13 * (60rem / 390));
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-offset: calc(2 * (60rem / 390));
}

.giftSelection_wrap .txt_viewmore::before {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: calc(6 * (60rem / 390));
  height: calc(6 * (60rem / 390));
  margin-top: calc(3 * (60rem / 390));;
  border-top: solid var(--color_giftSelection) calc(1.5 * (60rem / 390));
  border-right: solid var(--color_giftSelection) calc(1.5 * (60rem / 390));
  box-sizing: border-box;
  rotate: 45deg;
  content: "";
  transition: border-color .3s;
}

.giftSelection_wrap figure {
  width: calc(190 * (60rem / 390));
  border-radius: calc(5 * (60rem / 390));
  overflow: clip;
}

.giftSelection_wrap figure img {
  transition: scale 1s;
}

.giftSelection_wrap a:hover figure img {
  scale: 1.1;
}
/*--------------------------final*/

/*shareボタン、shareテキスト---------------------------*/
@media screen and  (max-width:768px) {
#share {
  z-index: 10 !important;
  display: none;
}

.share-txt {
  display: none;
}

.only_pc {
  display: none;
}

}
/*---------------------------shareボタン、shareテキスト*/


/*PC------------------------------------------------------*/
@media screen and  (min-width:769px) {
  .only_sp {
    display: none !important;
  }

  .LP_page_inner {
    position: relative;
    z-index: 1;
    width: 60rem;
    min-height: 100vh;
    margin: -100vh auto 0;
    overflow: clip;
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
  }


  .modal_wrap {
    width: 100rem;
  }

  .fixed_area {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 100vh;
    margin: 0 auto;
    background: var(--color_bg_01);
  }
  
  .fixed_left,
  .fixed_right {
    display: grid;
    place-items: center;
    width: calc((100% - 60rem) / 2);
    height: 100%;
  }

  .ttl_pc {
    width: 32rem;
  }

  .nav_pc {
    color: var(--color_01);
  }

  .nav_pc li:nth-of-type(n+2) {
    margin-top: 4rem;
  }

  .nav_pc li a {
    width: fit-content;
    font-size: 1.4rem;
  }

  .nav_pc .txt_eng {
    display: block;
    margin-bottom: .8rem;
    font-family: var(--font_ttl);
    font-size: 2.6rem;
    letter-spacing: -.1em;
  }

}
/*------------------------------------------------------PC*/


/*レスポンシブ対応-------------------------------*/
@media screen and (max-width: 1600px) and (min-width: 769px) {
  html {
    font-size: calc(10 * (100vw / 1600));
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: calc(10 * (100vw / 600));
  }
}
/*-------------------------------レスポンシブ＆タブレット対応*/