html {
  font-size: calc(10 * (100vw/420));
}

@media (min-width: 769px) {
  html {
    font-size: calc(10 * (100vw/1400));
  }
}

@media (min-width: 1400px) {
  html {
    /* font-size: 62.5% */
  }
}

@media screen and (max-width: 768px) {
  #header {
    overflow-x: hidden;
  }
}
/* ========================================================
                      * 共通設定  *
========================================================= */

:root {
  --font_regular: "Noto Sans JP", sans-serif;
  --font_eng: europa, sans-serif;
  --font_eng_serif: "goudy-old-style";
  --font_mix: europa, "Noto Sans JP", sans-serif;
  --color_black: #000;
  --color_bg: #FAFAFA;
  --color_white: #FFFFFF;
  --color_gray01: #727171;
  --rate-sp: 42rem / 750;
  --rate-pc: 100vw * 0.3 / 750;

}

/* ======================================
                  * SP  *
====================================== */
#Wrap {
  width: 100%;
}

.lp_contents * {
  box-sizing: border-box;
  font-feature-settings: "palt";
}

.lp_contents {
  width: 100%;
  /* max-width: 42rem; */
  height: 100%;
  letter-spacing: 0.07em;
  text-align: center;
  font-family: var(--font_mix);
  font-optical-sizing: auto;
  font-weight: 500;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  background-color: #FAFAFA;
  color: #000000;
}

.lp_contents a,
.lp_contents a:before,
.lp_contents a:after,
.lp_contents a img {
  transition: opacity .3s ease-in-out,
  color .3s ease-in-out,
  background-color .3s ease-in-out,
  background-image .3s ease-in-out,
  border-color .3s ease-in-out,
  text-shadow .3s ease-in-out,
  text-weight .3s ease-in-out;
}

.lp_contents a:hover {
  opacity: 0.6;
}

@media (min-width: 769px) {
  .lp_contents {
    position: relative;
    width: 100%;
    max-width: 100vw;
    height: 100%;
    z-index: 0;
    line-height: 1.65;
  }
}

.lp_contents .pcOnly {
  display: none;
}

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

.lp_contents .lp_inner {
  color: var(--color-black);
  overflow-x: hidden;
  position: relative;
  background-color: #ffffff;
  padding-bottom: calc(140 * (100vw * 0.31 / 750));
}

.lp_contents .lp_inner {
  width: 100%;
  background-color: #ffffff;
}


#FooterWrap {
  position: relative;
  background-color: #ffffff;
  z-index: 0;
}

/* ============================
        * Animation  *
============================ */
.lp_contents .anim {
  opacity: 0;
}
.lp_contents .anim_enable {
  -webkit-animation: fade 2s ease forwards;
          animation: fade 2s ease forwards;
}
@-webkit-keyframes fade {
  20% {
    opacity: 0;
    transform: translateY(5%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fade {
  20% {
    opacity: 0;
    transform: translateY(5%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ======================================
                  * PC  *
====================================== */
 @media (min-width: 769px) {

  .lp_contents .grid_area {
    display: grid;
    grid-template-columns: 1fr calc(100vw * 0.31) 1fr;
    width: 100%;
    height: 100%;
    margin: 0 auto;
  }

  .lp_contents .grid_area .fixed_left,
  .lp_contents .grid_area .fixed_right {
    position: -webkit-sticky;
    position: sticky;
    display: grid;
    place-items: center;
    pointer-events: all;
    height: 100vh;
  }

  .lp_contents .grid_area .fixed_left {
    top: 0;
    grid-column: 1;
    -webkit-clip-path: border-box;
    clip-path: border-box;
    /* align-items: center;
    justify-content: flex-end; */
  }

  .lp_contents .grid_area .fixed_right {
    top: 0;
    grid-column: 3;
    -webkit-clip-path: border-box;
    clip-path: border-box;
  }

  .lp_contents .page_title {
    display: flex;
    justify-content: center;
  }

  .lp_contents .page_title {
    font-family: var(--font_eng_serif);
    font-size: 5rem;
    letter-spacing: 0.04em;
  }

  .lp_contents .page_subtitle {
    font-size: 1.6rem;
  }

  .lp_contents .fixed_right .nav_pc_group nav ul {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
  }

  .lp_contents .fixed_right .nav_pc_group nav ul a {
    position: relative;
    display: flex;
    align-items: center;
    width: 19.2rem;
    font-size: 1.5rem;
    line-height: 1;
    text-align: left;
    letter-spacing: 0.07em;
  }

  .lp_contents .fixed_right .nav_pc_group nav ul a:before {
    position: absolute;
    right: 0;
    top: 50%;
    width: 2rem;
    height: 0.7rem;
    transform: translateY(-50%);
    background-image: url(../img_251201/nav_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
  }

}

/* ============================
        * SEC Common  *
============================ */
.lp_contents .section {
  padding: calc(140 * (var(--rate-sp))) 0; 
}

.lp_contents .section_title {
  font-size: calc(40 * (var(--rate-sp)));
  margin-bottom: calc(70 * (var(--rate-sp)));
  font-weight: 400;
}

.lp_contents .price_small {
  font-size: calc(24 * (var(--rate-sp)));
}

/* ============================
            * MV  *
============================ */
.lp_contents .mv_img {
  margin-bottom: calc(140 * (var(--rate-sp)));
}

.lp_contents .anchorlink {
  border-top: solid var(--color_black)  calc(2 * (var(--rate-sp)));
  border-bottom: solid var(--color_black) calc(2 * (var(--rate-sp)));
  background-color: var(--color_white);
}

.lp_contents .anchorlink_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.anchorlink_list li {
  padding: calc(40 * (var(--rate-sp))) 0 calc(39 * (var(--rate-sp)));
}

.anchorlink_list li:first-child {
  width: 100%;
  border-bottom: solid var(--color_black) calc(2 * (var(--rate-sp)));
}

.anchorlink_list li:nth-of-type(2),
.anchorlink_list li:nth-of-type(3) {
  border-bottom: solid var(--color_black) calc(2 * (var(--rate-sp)));
}

.anchorlink_list li:nth-of-type(even) {
  border-right: solid var(--color_black) calc(2 * (var(--rate-sp)));
}

.anchorlink_list li:not(:first-child) {
  width: 50%;
}

.lp_contents .anchorlink_item {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 0;
}

.lp_contents li .anchorlink_item span {
  display: block;
  font-size: calc(30 * (var(--rate-sp)));
  line-height: 1.2;
  letter-spacing: 0.07em;
  text-align: center;
}

.lp_contents li:not(:first-child) .anchorlink_item span {
  margin-left: calc(-30 * (var(--rate-sp)));
}

.lp_contents .anchorlink_item::after {
  content: "";
  position: absolute;
  right: calc(40 * (var(--rate-sp)));
  top: 50%;
  transform: translateY(-50%);
  width: calc(26 * (var(--rate-sp)));
  height: calc(14 * (var(--rate-sp)));
  -webkit-mask-image: url(../img_251201/nav_arrow.svg);
          mask-image: url(../img_251201/nav_arrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  z-index: 0;
  background-color: var(--color_black);
}

.lp_contents .swiper-container {
  width: calc(580 * (var(--rate-sp)));
}

.lp_contents .swiper-wrapper {
  transition-timing-function: linear;
  display: flex;
}

.lp_contents .slide {
  width: calc(580 * (var(--rate-sp))) !important;
  margin: 0 calc(5 * (var(--rate-sp)));
}

.lp_contents .slide_inner {
  position: relative;
  width: calc(580 * (var(--rate-sp)));
  margin: 0 auto;
  padding: calc(30 * (var(--rate-sp))) calc(50 * (var(--rate-sp)))  calc(60 * (var(--rate-sp))) calc(50 * (var(--rate-sp)));
  border: solid var(--color_black) calc(2 * (var(--rate-sp)));
}

.lp_contents .slide_rank {
  position: absolute;
  top: calc(30 * (var(--rate-sp)));
  left: calc(50 * (var(--rate-sp)));
  width: calc(120 * (var(--rate-sp)));
  height: calc(130 * (var(--rate-sp)));
  z-index: 100;
}

.lp_contents .slide_rank_inner {
  position: relative;
}

.lp_contents .slide_no {
  position: absolute;
  top: calc(52 * (var(--rate-sp)));
  left: calc(-20 * (var(--rate-sp)));
  display: block;
  font-family: var(--font_eng_serif);
  font-size: calc(28 * (var(--rate-sp)));
  line-height: 1.6;
}

.lp_contents .slide_num {
  position: absolute;
  top: calc(17 * (var(--rate-sp)));
  left: calc(30 * (var(--rate-sp)));
  display: block;
  font-family: var(--font_eng_serif);
  font-size: calc(60 * (var(--rate-sp)));
  line-height: 1.6;
}

.lp_contents .slide_rank_inner:before {
  position: absolute;
  left: calc(-22 * (var(--rate-sp)));
  top: calc(-2 * (var(--rate-sp)));
  width: calc(48 * (var(--rate-sp)));
  height: calc(26.7 * (var(--rate-sp)));
  background-image: url(../img_251201/crown.png);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}

.lp_contents .slide_rank_inner:after {
  position: absolute;
  right: calc(25 * (var(--rate-sp)));
  top: calc(42 * (var(--rate-sp)));
  width: calc(50 * (var(--rate-sp)));
  height: calc(86.6 * (var(--rate-sp)));
  background-image: url(../img_251201/slash.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}

.lp_contents .slide_img {
  width: calc(480 * (var(--rate-sp)));
  margin: 0 auto;
}

.lp_contents .slide_name {
  margin-top: calc(25 * (var(--rate-sp)));
  font-size: calc(28 * (var(--rate-sp)));
  line-height: 1.6;
}

.lp_contents .slide_price {
  margin-top: calc(10 * (var(--rate-sp)));
  font-size: calc(28 * (var(--rate-sp)));
  line-height: 1.6;
}


.lp_contents .btn_buy {
  width: calc(150 * (var(--rate-sp))) !important;
  min-width: unset;
  margin: calc(55 * (var(--rate-sp))) auto 0;
  border: 0 !important;
  padding: 0 !important;
  white-space: nowrap;
  background-color: transparent;
}

.lp_contents .btn_buy a {
  position: relative;
  display: flex;
  margin: 0 auto;
}

.lp_contents .btn_buy a span {
  display: block;
  font-size:calc(30 * (var(--rate-sp)));
}

@media (min-width: 769px) {
.lp_contents .popular .btn_buy a span {
margin-left: 0;
}
}

.lp_contents .btn_buy a:before {
  position: absolute;
  right: calc(-44 * (var(--rate-sp)));
  top: 50%;
  width: calc(24 * (var(--rate-sp)));
  height: calc(12 * (var(--rate-sp)));
  transform: translateY(-50%) rotate(270deg);
  background-image: url(../img_251201/nav_arrow.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  content: "";
}

.lp_contents .item_list li .btn_buy a:before {
  right: calc(-5 * (var(--rate-sp)));
}

_::-webkit-full-page-media, _:future, :root .lp_contents .btn_buy a:before {
  margin-top: calc(-1 * (var(--rate-sp)));
}

.lp_contents .popular .btn_buy a span {
  display: block;
  font-size:calc(30 * (var(--rate-sp)));
}

.lp_contents .popular .btn_buy a:before {
  position: absolute;
  top: 50%;
  right: calc(-5 * (var(--rate-sp)));
  margin-top: calc(0 * (var(--rate-sp)));
  width: calc(24 * (var(--rate-sp)));
  height: calc(12 * (var(--rate-sp)));
  transform: translateY(-50%) rotate(270deg);
  background-image: url(../img_251201/nav_arrow.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  content: "";
}

.lp_contents .btn_detail {
  position: relative;
  width: fit-content;
  margin: calc(25 * (var(--rate-sp))) auto 0;
  font-size: calc(30 * (var(--rate-sp)));
}

.lp_contents .btn_detail:before {
  position: absolute;
  right: -50%;
  transform: translateX(-50%);
  bottom: calc(-4 * (var(--rate-sp)));
  width: 100%;
  height: calc(2 * (var(--rate-sp)));
  background-color: var(--color_black);
  content: "";
}



.lp_contents .slick-list {
  padding-bottom: calc(10 * (var(--rate-sp))) !important;
}


/* ============================
        * Category  *
============================ */
.lp_contents .category {
  background-color: var(--color_bg);
  padding: calc(90 * (var(--rate-sp))) 0;
}

.lp_contents .category .section_title {
  margin-bottom: calc(60 * (var(--rate-sp)));
}


.lp_contents .tab{
  cursor: pointer;
}

.lp_contents .tab_area {
  display: flex;
  justify-content: center;
  gap: calc(15 * (var(--rate-sp)));
}

.lp_contents .tab_area li {
  width: calc(231 * (var(--rate-sp)));
  padding-bottom: calc(15 * (var(--rate-sp)));
}

.lp_contents .tab.active {
  border-bottom: solid calc(6 * (var(--rate-sp))) var(--color_black);
}

.lp_contents .tab_area img {
  width: calc(120 * (var(--rate-sp)));
  margin: 0 auto;
}

.lp_contents .tab .tab_name {
  margin: calc(25 * (var(--rate-sp))) auto 0;
  font-size: calc(30 * (var(--rate-sp)));
  color: var(--color_gray01);
}

.lp_contents .tab.active .tab_name {
  color: var(--color_black);
}

.lp_contents .panel_area {
  display: flex;
  width: calc(722 * (var(--rate-sp)));
  margin: calc(30 * (var(--rate-sp))) auto 0;
}


.lp_contents .panel {
  display: none;
}

.lp_contents .panel.active {
  display: block;
  animation: appear .8s ease-in;
}
@keyframes appear {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.lp_contents .item_list {
  display: flex;
  justify-content: center;
  gap: calc(15 * (var(--rate-sp)));
}

.lp_contents .item_list li {
  background-color: var(--color_white);
  padding-bottom: calc(70 * (var(--rate-sp)));
}

.lp_contents .item_img img {
  width: calc(354 * (var(--rate-sp)));
  margin: 0 auto;
}

.lp_contents .item_name {
  margin-top: calc(25 * (var(--rate-sp)));
  font-size: calc(28 * (var(--rate-sp)));
}

.lp_contents .item_price {
  margin-top: calc(10 * (var(--rate-sp)));
  font-size: calc(28 * (var(--rate-sp)));
}

.lp_contents .item_list li .btn.btn_buy {
  margin: calc(60 * (var(--rate-sp))) auto 0;
}

.lp_contents .item_list li .btn.btn_buy:before {
right: calc(-43 * (var(--rate-sp)));
}

.lp_contents .budget {
  padding: calc(130 * (var(--rate-sp))) 0;
}


.lp_contents .budget .section_title {
  margin-bottom: calc(30 * (var(--rate-sp)));
}

.lp_contents .budget .item_list li {
  background-color: var(--color_bg);
}


/* ============================
        * Wrapping  *
============================ */
.lp_contents .wrapping {
  background-color: var(--color_bg);
  padding: calc(100 * (var(--rate-sp))) 0;
}

.lp_contents .wrapping .section_title {
  margin-bottom: calc(50 * (var(--rate-sp)));

}
.lp_contents .wrapping_contents {
  width: calc(722 * (var(--rate-sp)));
  padding: calc(70 * (var(--rate-sp))) 0 calc(14 * (var(--rate-sp))) ;
  margin: 0 auto;
  background-color: var(--color_white);
}

.lp_contents .wrapping_name {
  font-size: calc(30 * (var(--rate-sp)));
  font-weight: 400;
}

.lp_contents .wrapping_price {
  margin-top: calc(20 * (var(--rate-sp)));
  font-size: calc(28 * (var(--rate-sp)));
}

.lp_contents .wrapping_image_wrap {
  display: flex;
  gap: calc(20 * (var(--rate-sp)));
}

.lp_contents .wrapping_image {
  margin: calc(20 * (var(--rate-sp))) auto 0;
  width: calc(354 * (var(--rate-sp)));
}

.lp_contents .wrapping_var {
  margin: calc(25 * (var(--rate-sp))) auto 0;
  font-size: calc(20 * (var(--rate-sp)));
  text-align: center;
}

.lp_contents .wrapping .note {
  margin-top: calc(25 * (var(--rate-sp)));
  font-size: calc(20 * (var(--rate-sp)));
  color: var(--color_gray01);
}

.lp_contents .wrapping_inner {
  margin: calc(60 * (var(--rate-sp))) auto 0;
  padding: calc(30 * (var(--rate-sp))) 0 calc(30 * (var(--rate-sp)));
  width: calc(694 * (var(--rate-sp)));
  border: rgb(0,0,0,0.3) solid calc(2 * (var(--rate-sp)));
}

.lp_contents .wrapping_inner_title {
  font-size: calc(24 * (var(--rate-sp)));
  color: var(--color_black);
}

.lp_contents .wrapping_blk {
  display: flex;
  justify-content: center;
  margin-top: calc(10 * (var(--rate-sp)));
}

.lp_contents .wrapping_blk figure {
  width: calc(694 * (var(--rate-sp)));
  margin: 0 auto;
}

.lp_contents .wrapping_inner_text {
  margin-top: calc(40 * (var(--rate-sp)));
  font-size: calc(20 * (var(--rate-sp)));
  line-height: 1.6;
}

.lp_contents .wrapping_contents02 {
  margin-top: calc(65 * (var(--rate-sp)));
}

.lp_contents .wrapping_contents02 .wrapping_inner {
  margin: calc(68 * (var(--rate-sp))) auto 0;
  padding: calc(34 * (var(--rate-sp))) 0 calc(30 * (var(--rate-sp)));
}

.lp_contents .wrapping_contents02 .wrapping_inner_text{
  margin-top: calc(33 * (var(--rate-sp)));
}

.lp_contents .wrapping_contents03 {
  margin-top: calc(65 * (var(--rate-sp)));
}

.lp_contents .wrapping_contents03 .wrapping_inner {
  margin: calc(70 * (var(--rate-sp))) auto 0;
  padding: calc(30 * (var(--rate-sp))) 0 calc(30 * (var(--rate-sp)));
}

.lp_contents .wrapping_contents03 .wrapping_inner_text{ 
  margin-top: calc(35 * (var(--rate-sp)));
}


.lp_contents .bag_contents {
  padding: calc(96 * (var(--rate-sp))) 0 0 0;
}

.lp_contents .bag_name {
  font-size: calc(30 * (var(--rate-sp)));
  font-weight: 400;
}

.lp_contents .bag_text {
  margin-top: calc(35 * (var(--rate-sp)));
  font-size: calc(24 * (var(--rate-sp)));
  line-height: 1.6;
}

.lp_contents .bag_contents .item_list {
  margin-top: calc(63 * (var(--rate-sp)));
}

.lp_contents .bag_contents .item_list li {
  padding-bottom: calc(50 * (var(--rate-sp)));
}

.lp_contents .bag_contents .item_name {
  margin-top: calc(40 * (var(--rate-sp)));
}

.lp_contents .bag_contents .item_price {
  margin-top: calc(15 * (var(--rate-sp)));
}

.lp_contents .bag_contents .item_size {
  margin-top: calc(20 * (var(--rate-sp)));
  font-size: calc(24 * (var(--rate-sp)));
}


/* ============================
        * Engrave  *
============================ */
.lp_contents .engraving {
  padding: calc(120 * (var(--rate-sp))) 0 0 0;
}

.lp_contents .engraving .section_title{
  margin-bottom: calc(60 * (var(--rate-sp)));
}

.lp_contents .engraving_box {
  height: calc(500 * (var(--rate-sp)));
  padding-top: calc(40 * (var(--rate-sp)));
  padding-left: calc(50 * (var(--rate-sp)));
  background-image: url(../img_251201/budget_gift01_sp.png);
  background-size: cover;
  background-repeat: no-repeat;
}

.lp_contents .engraving .section_title_eng {
  margin-bottom: calc(32 * (var(--rate-sp)));
  font-family: var(--font_eng_serif);
  font-size: calc(52 * (var(--rate-sp)));
  letter-spacing: 0.04em;
  text-align: left;
  font-weight: 400;
}

.lp_contents .engraving_text {
  font-size: calc(24 * (var(--rate-sp)));
  letter-spacing: 0.025em;
  line-height: 1.75;
  text-align: left;
}

.lp_contents .engraving .btn_detail {
  margin-top: calc(55 * (var(--rate-sp)));
  margin-left: calc(0 * (var(--rate-sp)));
  width: calc(183 * (var(--rate-sp)));
  text-align: left;
}

.lp_contents .engraving .btn_detail:before {
  width: 0;
}

.lp_contents .engraving .btn_detail a {
  position: relative;
  font-size: calc(30 * (var(--rate-sp)));
}

.lp_contents .engraving .btn_detail a:before {
  position: absolute;
  right: calc(-36 * (var(--rate-sp)));
  top: 50%;
  margin-top: calc(-1 * (var(--rate-sp)));
  width: calc(24 * (var(--rate-sp)));
  height: calc(12 * (var(--rate-sp)));
  transform: translateY(-50%) rotate(270deg);
  background-image: url(../img_251201/nav_arrow.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  content: "";
}

/* ============================
        * Caution  *
============================ */
.lp_contents .caution {
  padding: calc(137 * (var(--rate-sp))) 0;
}

.lp_contents .caution_title {
  font-size: calc(30 * (var(--rate-sp)));
  font-weight: 400;
}

.lp_contents .caution_text {
  margin: calc(36 * (var(--rate-sp))) auto 0;
  width: calc(670 * (var(--rate-sp)));
  font-size: calc(24 * (var(--rate-sp)));
  line-height: 1.6;
  text-align: justify;
}


/* ============================
        * Fixed Btn SP  *
============================ */
.lp_contents .fixed_btn {
  position: fixed;
  bottom: 0;
  display: block;
  width: 100%;
  transform: translateY(100%);
  transition: all 0.6s 0.3s;
  z-index: 100;
}

.lp_contents .fixed_btn.active {
  transition: all 0.6s 0.3s;
  visibility: visible;
  transform: translateY(0);
  z-index: 100;
}

.lp_contents .anchorlink.fixed_btn {
  border-bottom: none;
}