@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;
  background: #fff;
  z-index: 4;
}

:root {
  --font_regular: "ryo-gothic-plusn", sans-serif;
  --font_mix: "futura-pt", "ryo-gothic-plusn", sans-serif;
  --color_01: #3A577D;
  --color_02: #F29D3F;
  --color_03: #FFEEC5;
  --color_04: #FFFAED;
  --color_01_shadow: #1E3B62;
  --color_02_shadow: #C3741D;
  --color_bg_LP: #FFF8E3;
  --color_bg_modal: rgb(255 238 196 / 90%);
}

.LP_page * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1;
  letter-spacing: .1em;
}

.LP_page {
  width: 100%;
  font-family: var(--font_regular);
  color: var(--color_01);
  overflow-x: clip;
  opacity: 0;
  transition: opacity 1s;
}

.LP_page.active {
  opacity: 1;
}

.LP_page picture {
  display: block;
  font-size: 0;
}

.LP_page a {
  display: block;
}

.LP_page a:hover {
  opacity: 1 !important;
}

.LP_page img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.LP_page_inner {
  background: var(--color_bg_LP);
}

.LP_page .activePoint,
.LP_page .activeDelay {
  opacity: 0;
  transition: opacity 1s;
}

.LP_page .activeDelay.delay1 {
  transition-delay: .2s;
}

.LP_page .activeDelay.delay2 {
  transition-delay: .4s;
}

.LP_page .activeDelay.delay3 {
  transition-delay: .6s;
}

.LP_page .activePoint.active,
.LP_page .activePoint.active > .activeDelay {
  opacity: 1;
}
/*----------------------------all*/

/*heading------------------------*/
.LP_page .mv {
  /* position: relative; */
  /* margin-bottom: calc(25 * (60rem / 390)); */
}

.LP_page .mv::before {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: calc(18 * (60rem / 390));
  background: url(../img/deco_001.svg) center center / cover no-repeat;
  content: "";
}

.LP_page .main_ttl.txt_eng {
  margin-left: calc(-3 * (60rem / 390));
  font-family: var(--font_mix);
  font-size: calc(40 * (60rem / 390));
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}

.LP_page .main_ttl.txt_eng,
.LP_page .main_ttl.txt_eng span {
  letter-spacing: .09em;
}

.LP_page .main_ttl .txt_slash {
  font-size: calc(25 * (60rem / 390));
  vertical-align: .3em;
}

.LP_page .main_ttl .color02 {
  color: var(--color_02);
}

.heading_area .main_lead_wrap {
  margin-top: calc(50 * (60rem / 390));
  padding: 0 calc(30 * (60rem / 390));
}

.heading_area .main_ttl.txt_jpn {
  margin-bottom: calc(20 * (60rem / 390));
  font-size: calc(25 * (60rem / 390));
  font-weight: 700;
  letter-spacing: .11em;
  white-space: nowrap;
}

.heading_area .main_ttl.txt_jpn .txt_slash {
  font-family: var(--font_mix);
  font-size: calc(18 * (60rem / 390));
  vertical-align: .3em;
}

.heading_area .main_ttl.txt_jpn .txt_sub {
  display: block;
  margin-bottom: calc(10 * (60rem / 390));
  font-size: calc(15 * (60rem / 390));
}

.heading_area .main_lead {
  font-size: calc(13 * (60rem / 390));
  font-weight: 500;
  line-height: 2;
  letter-spacing: .15em;
}
/*------------------------heading*/

/*navigation---------------------*/
.main_nav {
  margin: calc(70 * (60rem / 390)) 0 calc(70 * (60rem / 390));
}

.LP_page .nav_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: calc(20 * (60rem / 390));
}

.LP_page .nav_list li a {
  position: relative;
  width: calc(100 * (60rem / 390));
  padding-bottom: calc(110 * (60rem / 390));
  font-family: var(--font_mix);
  font-size: calc(16 * (60rem / 390));
  font-weight: 700;
  text-align: center;
}

.LP_page .nav_list li a .txt_S {
  display: block;
  margin-bottom: calc(5 * (60rem / 390));
  font-size: calc(10 * (60rem / 390));
  font-weight: 500;
}

.LP_page .nav_list li a::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  width: calc(100 * (60rem / 390));
  height: calc(100 * (60rem / 390));
  content: "";
}

.LP_page .nav_list li:nth-of-type(1) a::before {
  background: url(../img/character_001.png) center center / cover no-repeat;
}

.LP_page .nav_list li:nth-of-type(2) a::before {
  background: url(../img/character_002.png) center center / cover no-repeat;
}

.LP_page .nav_list li:nth-of-type(3) a::before {
  background: url(../img/character_003.png) center center / cover no-repeat;
}

.LP_page .nav_list li:nth-of-type(4) a::before {
  background: url(../img/character_002.png) center center / cover no-repeat;
}

.LP_page .nav_list li a:hover::before {
  rotate: 10deg;
  scale: 1.05;
}

.LP_page .nav_list li:nth-of-type(odd) a:hover::before {
  rotate: 15deg;
}

.LP_page .nav_list li:nth-of-type(even) a:hover::before {
  rotate: -15deg;
}
/*---------------------navigation*/

/*product------------------------*/
.product_area {
  padding-bottom: calc(80 * (60rem / 390));
}

.product_area .each_category {
  padding: calc(20 * (60rem / 390)) calc(30 * (60rem / 390)) 0;
}

.product_area .each_category:nth-of-type(n+2) {
  margin-top: calc(70 * (60rem / 390));
}

.product_area .each_category .category_ttl {
  margin-bottom: calc(20 * (60rem / 390));
  font-family: var(--font_mix);
  font-size: calc(36 * (60rem / 390));
  font-weight: 700;
  text-align: center;
  color: var(--color_uv);
}

.product_area .each_category .category_ttl .txt_S {
  display: block;
  margin-bottom: calc(8 * (60rem / 390));
  font-size: calc(12 * (60rem / 390));
}

.product_area .each_category .category_ttl .txt_eng {
  position: relative;
}

.product_area .each_category .category_ttl .txt_eng::before {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--color_02);
  scale: 0 1;
  content: "";
}

.product_area .each_category.active .category_ttl .txt_eng::before {
  animation: box-scal 1s .3s forwards;
}

@keyframes box-scal {
  0% {
    scale: 0 1;
    transform-origin: center left;
  }

  50% {
    scale: 1 1;
    transform-origin: center left;
  }

  60% {
    scale: 1 1;
    transform-origin: center right;
  }

  100% {
    scale: 0 1;
    transform-origin: center right;
  }
}

.product_area .each_category .category_ttl .txt_eng > span {
  opacity: 0;
}

.product_area .each_category.active .category_ttl .txt_eng > span {
  animation: txt-opacity 1s .3s forwards;
}

@keyframes txt-opacity {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 0;
  }

  60% {
    opacity: 1;
  }

  100% {
    opacity: 1;
  }
}


.category_totalCount {
  margin-bottom: calc(15 * (60rem / 390));
  font-family: var(--font_mix);
  font-size: calc(20 * (60rem / 390));
  font-weight: 700;
}

.category_totalCount .txt_S {
  font-size: calc(16 * (60rem / 390));
}

.product_area .product_list > li {
  position: relative;
  border: solid var(--color_02) calc(1 * (60rem / 390));
}

.product_area .product_list > li:nth-of-type(n+2) {
  margin-top: calc(15 * (60rem / 390));
}

.product_area .product_list > li:nth-of-type(1)::before {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100 * (60rem / 390));
  height: calc(100 * (60rem / 390));
  margin: calc(-72 * (60rem / 390)) calc(-30 * (60rem / 390)) 0 0;
  content: "";
  animation: swing 5s steps(1) infinite;
}

@keyframes swing {
  0% {
    rotate: 0deg;
  }
  10% {
    rotate: 12deg;
  }
  20% {
    rotate: 0deg;
  }
  30% {
    rotate: 12deg;
  }
  40% {
    rotate: 0deg;
  }
  100% {
    rotate: 0deg;
  }
}

.product_area .each_category:nth-of-type(1) .product_list > li:nth-of-type(1)::before {
  background: url(../img/character_001.png) center center / cover no-repeat;
}

.product_area .each_category:nth-of-type(2) .product_list > li:nth-of-type(1)::before {
  background: url(../img/character_002.png) center center / cover no-repeat;
}

.product_area .each_category:nth-of-type(3) .product_list > li:nth-of-type(1)::before {
  background: url(../img/character_003.png) center center / cover no-repeat;
}

.product_area .each_category:nth-of-type(4) .product_list > li:nth-of-type(1)::before {
  background: url(../img/character_002.png) center center / cover no-repeat;
}

.product_area .product_list > li > div:nth-of-type(n+2) {
  border-top: solid var(--color_02) calc(1 * (60rem / 390));
}

.product_area .product_list > li .column_001 {
  position: relative;
  padding: calc(12 * (60rem / 390)) calc(12 * (60rem / 390)) calc(12 * (60rem / 390));
}

.product_area .product_list > li .product_type {
  width: fit-content;
  padding: calc(3 * (60rem / 390)) calc(6 * (60rem / 390));
  background: var(--color_02);
  font-family: var(--font_mix);
  font-size: calc(11 * (60rem / 390));
  font-weight: 600;
  letter-spacing: .07em;
  color: #fff;
}

.product_area .product_list > li .product_phrase {
  margin: calc(8 * (60rem / 390)) 0 calc(15 * (60rem / 390));
  font-size: calc(15 * (60rem / 390));
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
  color: var(--color_02);
}

.product_area .product_list > li .slider_wrap {
  width: calc(250 * (60rem / 390));
  margin: 0 auto;
}

.product_area .product_list > li .slider_wrap .slick-track {
  display: flex;
}

.product_area .product_list > li .each_slider {
  min-height: calc(180 * (60rem / 390));
  height: auto !important;
} 

.product_area .product_list > li .product_img_wrap {
  display: grid;
  place-items: center;
}

.product_area .product_list > li .product_img {
  width: calc(160 * (60rem / 390));
}

.product_area .product_list > li .product_caption_wrap {
  display: flex;
  align-items: center;
  background: #FDF4DA;
}

.product_area .product_list > li .product_caption {
  padding: calc(12 * (60rem / 390));
  font-size: calc(11 * (60rem / 390));
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: .07em;
  text-align: justify;
}

.product_area .product_list > li .product_caption .notes {
  display: block;
  margin-top: calc(8 * (60rem / 390));
  font-size: calc(9 * (60rem / 390));
  font-weight: 400;
  line-height: 1.75;
}

.product_area .product_list > li .slider_wrap .slick-dots {
  position: absolute;
  top: 100%;
  display: flex;
  justify-content: center;
  margin-top: calc(10 * (60rem / 390));
}

.product_area .product_list > li .slider_wrap .slick-dots li {
  width: fit-content;
  height: fit-content;
  margin: 0;
}

.product_area .product_list > li .slider_wrap .slick-dots li button {
  width: calc(15 * (60rem / 390));
  height: calc(15 * (60rem / 390));
  padding: 0;
}

.product_area .product_list > li .slider_wrap .slick-dots li button::before {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: calc(5 * (60rem / 390));
  height: calc(5 * (60rem / 390));
  border-radius: 50%;
  background: var(--color_02);
  opacity: .3;
  content: "";
  transition: opacity .5s;
}

.product_area .product_list > li .slider_wrap .slick-dots li.slick-active button::before {
  opacity: 1;
}

.product_area .product_list > li .slider_wrap .slick-arrow {
  position: absolute;
  z-index: 2;
  top: 50%;
  translate: 0 -50%;
  width: calc(12 * (60rem / 390));
  height: calc(12 * (60rem / 390));
  transform: unset;
}

.product_area .product_list > li .slider_wrap .slick-prev {
  left: 0;
  margin-left: calc(-21 * (60rem / 390));
  rotate: -45deg;
}

.product_area .product_list > li .slider_wrap .slick-next {
  right: 0;
  margin-right: calc(-21 * (60rem / 390));
  rotate: 135deg;
}

.product_area .product_list > li .slider_wrap .slick-arrow::before,
.product_area .product_list > li .slider_wrap .slick-arrow::after {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: calc(100 * (60rem / 390));
  opacity: 1;
  background: var(--color_02);
  content: "";
}

.product_area .product_list > li .slider_wrap .slick-arrow::before {
  width: 100%;
  height: calc(2 * (60rem / 390));
}

.product_area .product_list > li .slider_wrap .slick-arrow::after {
  width: calc(2 * (60rem / 390));
  height: 100%;
}

.product_area .product_list > li .bottom-left_content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: fit-content;
  margin: 0 0 calc(12 * (60rem / 390)) calc(12 * (60rem / 390));
  padding: calc(3 * (60rem / 390)) calc(6 * (60rem / 390)) calc(2 * (60rem / 390));
  background: var(--color_02);
  font-family: var(--font_mix);
  font-size: calc(11 * (60rem / 390));
  font-weight: 500;
  letter-spacing: .07em;
  color: #fff;
}

.product_area .product_list > li .product_detail {
  display: grid;
  place-items: center;
  width: calc(74 * (60rem / 390));
  height: calc(24 * (60rem / 390));
  margin: calc(10 * (60rem / 390)) 0 0 auto;
  border-radius: calc(100 * (60rem / 390));
  border: solid var(--color_01) calc(1 * (60rem / 390));
  font-family: var(--font_mix);
  font-size: calc(11 * (60rem / 390));
  font-weight: 600;
  cursor: pointer;
} 

.product_area .product_list > li .product_detail span {
  position: relative;
  padding-right: calc(10 * (60rem / 390));
}

.product_area .product_list > li .product_detail span::before,
.product_area .product_list > li .product_detail span::after {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: calc(6 * (60rem / 390));
  height: calc(1.5 * (60rem / 390));
  border-radius: calc(10 * (60rem / 390));
  background: var(--color_01);
  content: "";
}

.product_area .product_list > li .product_detail span::after {
  rotate: 90deg;
}

body.no_scroll {
  height: 100vh;
  overflow: hidden;
}

#HeaderWrap.hide {
  opacity: 0;
  pointer-events: none;
}

.modal_outside.hide {
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
}

.modal_outside {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 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%;
  background: var(--color_bg_modal);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  content: "";
}

.modal_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modal_wrap {
  width: calc(330 * (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;
  background: #FFF8E3;
}

.btn_modalClose {
  position: fixed;
  width: calc(34 * (60rem / 390));
  height: calc(34 * (60rem / 390));
  margin: calc(8 * (60rem / 390)) 0 0 calc(288 * (60rem / 390));
  border-radius: 50%;
  rotate: 45deg;
  border: none;
  background: var(--color_02);
  cursor: pointer;
}

.btn_modalClose::before,
.btn_modalClose::after {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: calc(2 * (60rem / 390));
  height: calc(18 * (60rem / 390));
  border-radius: calc(100 * (60rem / 390));
  background: #fff;
  content: "";
}

.btn_modalClose::before {
  rotate: 90deg;
}

.modal_content {
  padding: calc(40 * (60rem / 390)) calc(25 * (60rem / 390));
  border: solid var(--color_02) calc(1 * (60rem / 390));
}

.product_area .product_list > li .modal_content .product_img {
  width: calc(200 * (60rem / 390));
  margin: 0 auto calc(20 * (60rem / 390));
}

.product_area .product_list > li .modal_content .product_caption {
  padding: 0;
  font-size: calc(12 * (60rem / 390));
  line-height: 1.75;
  letter-spacing: .1em;
}

.product_area .product_list > li .column_002 {
  display: flex;
}

.product_area .product_list > li .product_rate_wrap {
  width: calc(200 * (60rem / 390));
  padding: calc(12 * (60rem / 390));
  border-right: solid var(--color_02) calc(1 * (60rem / 390));
}

.product_area .product_list > li .product_rate_inner {
  width: fit-content;
}

.product_area .product_list > li .product_rate_wrap .each_rate {
  display: flex;
  justify-content: space-between;
}

.product_area .product_list > li .product_rate_wrap .each_rate:nth-of-type(n+2) {
  margin-top: calc(8 * (60rem / 390));
}

.product_area .product_list > li .product_rate_wrap .each_rate dt {
  font-size: calc(11 * (60rem / 390));
  font-weight: 500;
  color: var(--color_02);
}

.product_area .product_list > li .product_rate_wrap .each_rate dd {
  position: relative;
  display: flex;
  min-width: calc(65 * (60rem / 390));
}

.product_area .product_list > li .product_rate_wrap .each_rate dd::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/shape_star.svg);
  mask-position: top left;
  mask-repeat: repeat-x;
  mask-size: calc(13 * (60rem / 390)) auto;
  -webkit-mask-image: url(../img/shape_star.svg);
  -webkit-mask-position: top left;
  -webkit-mask-repeat: repeat-x;
  -webkit-mask-size: calc(13 * (60rem / 390)) auto;
  background: var(--color_02);
  opacity: .3;
  content: "";
}

.product_area .product_list > li .product_rate_wrap .each_rate dd span {
  position: relative;
  width: calc(13 * (60rem / 390));
  background: var(--color_bg_LP);
}

.product_area .product_list > li .product_rate_wrap .each_rate dd span::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/shape_star.svg);
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: cover;
  -webkit-mask-image: url(../img/shape_star.svg);
  -webkit-mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% auto;
  background: var(--color_02);
  content: "";
}

.product_area .product_list > li .product_rate_wrap .each_rate dd span img {
  display: block;
  opacity: 0;
}

.product_area .product_list > li .product_price_wrap {
  flex: 1;
  display: flex;
  align-items: center;
  padding-left: calc(15 * (60rem / 390));
  font-family: var(--font_mix);
  font-size: calc(16 * (60rem / 390));
  font-weight: 600;
  color: var(--color_02);
}

.product_area .product_list > li .product_price,
.product_area .product_list > li .product_price .txt_S {
  letter-spacing: .07em;
}

.product_area .product_list > li .product_price .txt_S {
  font-size: calc(11 * (60rem / 390));
}

.product_area .product_list > li .column_003 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: calc(12 * (60rem / 390));
  padding: calc(12 * (60rem / 390));
}

.product_area .product_list > li .product_name {
  flex: 1;
  font-family: var(--font_mix);
  font-size: calc(13 * (60rem / 390));
  font-weight: 700;
  line-height: 1.4;
  color: var(--color_02);
}

.product_area .product_list > li .product_name .product_brand {
  display: block;
  margin-bottom: calc(3 * (60rem / 390));
  line-height: 1.3;
  font-weight: 600;
  color: var(--color_01);
}

.product_area .product_list > li .product_link.cv_btn::before {
  margin-top: calc(3 * (60rem / 390));
  background: var(--color_02_shadow);
}

.product_area .product_list > li .product_link .btn_inner {
  width: calc(82 * (60rem / 390));
  height: calc(28 * (60rem / 390));
  background: var(--color_02);
  font-size: calc(11 * (60rem / 390));
  font-weight: 700;
}

.product_area .product_list > li .product_link .btn_inner:hover {
  translate: 0 calc(3 * (60rem / 390));
}

.product_area .product_list > li .product_link .btn_inner::before {
  display: none;
}

.LP_page .cv_btn {
  position: relative;
  z-index:  1;
  width: fit-content;
}

.LP_page .cv_btn::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin-top: calc(5 * (60rem / 390));
  border-radius: calc(100 * (60rem / 390));
  background: var(--color_01_shadow);
  content: "";
}

.LP_page .cv_btn .btn_inner {
  position: relative;
  display: grid;
  place-items: center;
  border-radius: calc(100 * (60rem / 390));
  font-family: var(--font_mix);
  font-weight: 700;
  text-align: center;
  color: #fff;
  transition: translate .3s;
}

.LP_page .cv_btn .btn_inner:hover {
  translate: 0 calc(5 * (60rem / 390));
}

.LP_page .cv_btn .btn_inner::before {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  margin-right: calc(25 * (60rem / 390));
  border-left: solid #fff calc(6 * (60rem / 390));
  border-top: solid transparent calc(6 * (60rem / 390));
  border-bottom: solid transparent calc(6 * (60rem / 390));
  content: "";
}

.product_area .each_category .category_all {
  margin: calc(30 * (60rem / 390)) auto 0;
}

.product_area .each_category .category_all .btn_inner {
  width: calc(330 * (60rem / 390));
  height: calc(56 * (60rem / 390));
  background: var(--color_01);
  font-size: calc(18 * (60rem / 390));
}

.product_area .each_category .category_all .btn_inner .txt_S {
  display: block;
  margin-top: calc(8 * (60rem / 390));
  font-size: calc(12 * (60rem / 390));
}

/*------------------------product*/

/*lastly-------------------------*/
.lastly_area .product_all {
  margin: calc(25 * (60rem / 390)) auto 0;
}

.lastly_area .product_all::before {
  background: var(--color_02_shadow);
}

.lastly_area .product_all .btn_inner {
  width: calc(330 * (60rem / 390));
  height: calc(56 * (60rem / 390));
  background: var(--color_uv);
  font-size: calc(16 * (60rem / 390));
}

.lastly_area .product_all .btn_inner .txt_S {
  display: block;
  margin-top: calc(8 * (60rem / 390));
  font-size: calc(12 * (60rem / 390));
}
/*-------------------------lastly*/

/*fixed nav----------------------*/
.fixed_nav {
  position: fixed;
  z-index: 5;
  bottom: 0;
  width: 100%;
  border-radius: calc(20 * (60rem / 390)) calc(20 * (60rem / 390)) 0 0;
  background: var(--color_bg_LP);
  translate: 0 100%;
  transition: translate .3s;
}

.fixed_nav.active {
  translate: 0 0;
  box-shadow: 0 0 6px rgba(0, 0, 0, .16);
}

.fixed_nav .nav_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}

.fixed_nav .nav_list li {
  position: relative;
}

.fixed_nav .nav_list li:nth-of-type(n+2)::before {
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: calc(2 * (60rem / 390));
  height: calc(100% - calc(20 * (60rem / 390)));
  margin-left: calc(-1 * (60rem / 390)) ;
  background: radial-gradient(circle, var(--color_02) calc(1 * (60rem / 390)), transparent calc(1 * (60rem / 390)));
  background-position: left top;
  background-repeat: repeat-y;
  background-size: 100% calc(6 * (60rem / 390));
  content: "";
}

.fixed_nav .nav_list li a {
  display: grid;
  place-items: center;
  width: auto;
  height: calc(60 * (60rem / 390));
  padding: 0;
}

.fixed_nav .nav_list li a::before {
  display: none;
}

.fixed_nav .nav_list li a p {
  position: relative;
  padding-left: calc(45 * (60rem / 390));
  font-size: calc(13 * (60rem / 390));
  letter-spacing: .07em;
  text-align: left;
}

.fixed_nav .nav_list li a p::before {
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: calc(40 * (60rem / 390));
  height: calc(40 * (60rem / 390));
  content: "";
}

.fixed_nav .nav_list li:nth-of-type(1) a p::before {
  background: url(../img/character_001.png) center center / cover no-repeat;
}

.fixed_nav .nav_list li:nth-of-type(2) a p::before {
  background: url(../img/character_002.png) center center / cover no-repeat;
}

.fixed_nav .nav_list li:nth-of-type(3) a p::before {
  background: url(../img/character_001.png) center center / cover no-repeat;
}

.fixed_nav .nav_list li:nth-of-type(4) a p::before {
  background: url(../img/character_002.png) center center / cover no-repeat;
}

/*----------------------fixed nav*/

/*footer-------------------------*/

.footer_area .contetn_ttl {
  color: var(--color_uv);
}

.footer_area .topics_list {
  background: var(--color_04);
}

/*shareボタン、shareテキスト---------------------------*/
@media screen and  (max-width:768px) {
#share {
  z-index: 10 !important;
  transition: translate .3s;
}

#share.move {
  translate: 0 calc(-60 * (60rem / 390));
}

.share-txt {
  display: none;
}

.only_pc {
  display: none;
}

}
/*---------------------------shareボタン、shareテキスト*/


/*PC------------------------------------------------------*/
@media screen and  (min-width:769px) {
  .only_sp {
    display: none;
  }

  .LP_page_inner {
    position: relative;
    z-index: 1;
    width: 60rem ;
    min-height: 100vh;
    margin: -100vh auto 0;
    overflow: clip;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  }

  .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_03);
  }
  
  .fixed_left,
  .fixed_right {
    display: grid;
    place-items: center;
    width: calc((100% - 60rem) / 2);
    height: 100%;
  }

  .main_ttl_pc_wrap {
    position: relative;
    width: 30rem;
  }

  .main_ttl_pc_wrap img {
    opacity: 0;
  }

  .main_ttl_pc {
    position: relative;
    z-index: 2;
  }

  .main_ttl_pc::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    mask-image: url(../img/ttl_pc.svg);
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: cover;
    -webkit-mask-image: url(../img/ttl_pc.svg);
    -webkit-mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: cover;
    background: var(--color_01);
    content: "";
  }

  .main_ttl_pc_wrap .campaign_01 {
    display: none;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 6rem;
    margin-top: -3.5rem;
    rotate: -20deg;
    height: 6rem;
  }

  .main_ttl_pc_wrap .campaign_02 {
    display: none;
    position: absolute;
    z-index: 1;
    top: 100%;
    right: 0;
    width: 14.6rem;
    margin: 1rem -5rem 0 0;
    rotate: -10deg;
  }

  .main_ttl_pc_wrap .campaign_01::before,
  .main_ttl_pc_wrap .campaign_01::after,
  .main_ttl_pc_wrap .campaign_02::before,
  .main_ttl_pc_wrap .campaign_02::after  {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: cover;
    -webkit-mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: cover;
    content: "";
  }

  .main_ttl_pc_wrap .campaign_01::before {
    mask-image: url(../img/shape_001.svg);
    -webkit-mask-image: url(../img/shape_001.svg);
    background: var(--color_02);
  }

  .main_ttl_pc_wrap .campaign_01::after {
    mask-image: url(../img/txt_001.svg);
    -webkit-mask-image: url(../img/txt_001.svg);
    background: #fff;
  }

  .main_ttl_pc_wrap .campaign_02::before {
    mask-image: url(../img/shape_002.svg);
    -webkit-mask-image: url(../img/shape_002.svg);
    background: var(--color_02);
  }

  .main_ttl_pc_wrap .campaign_02::after {
    mask-image: url(../img/txt_002.svg);
    -webkit-mask-image: url(../img/txt_002.svg);
    background: #fff;
  }

  .main_nav {
    margin: calc(70 * (60rem / 390)) 0 calc(60 * (60rem / 390));
  }
  
  .LP_page .nav_list.nav_list_pc {
    display: block;
  }

  .LP_page .nav_list.nav_list_pc li:nth-of-type(n+2) {
    margin-top: calc(30 * (60rem / 390));
  }
  
  .LP_page .nav_list.nav_list_pc li a {
    width: fit-content;
    padding: 0 0 0 8rem;
    font-size: 2.5rem;
    text-align: left;
  }
  
  .LP_page .nav_list.nav_list_pc li a .txt_S {
    margin-bottom: .5rem;
    font-size: 1.2rem;
  }
  
  .LP_page .nav_list.nav_list_pc li a::before {
    bottom: auto;
    top: 50%;
    left: 0;
    translate: 0 -50%;
    width: 7rem;
    height: 7rem;
  }

}
/*------------------------------------------------------PC*/


/*レスポンシブ対応-------------------------------*/
@media screen and (max-width: 1400px) and (min-width: 769px) {
  html {
    font-size: calc(10 * (100vw / 1400));
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: calc(10 * (100vw / 600));
  }
}
/*-------------------------------レスポンシブ＆タブレット対応*/




.LP_page .main_ttl {
    font-size: calc(32 * (60rem / 390));
    color: var(--color_uv);
    text-align: center;
}

.LP_page .main_ttl .txt_eng {
    font-family: var(--font_mix);
    display: block;
    font-size: calc(48 * (60rem / 390));
    color: var(--color_bg_LP);
    margin: calc(-96 * (60rem / 390)) auto calc(-12 * (60rem / 390));
    font-weight: 700;
}

.heading_area .main_lead span {
    font-size: calc(18 * (60rem / 390));
    display: block;
    padding-bottom: calc(25 * (60rem / 390));
}

.LP_page .main_nav .nav_list li:nth-child(2) {
    margin-top: calc(20 * (60rem / 390));
}

.LP_page .main_nav .nav_list li:nth-child(2) a {
    padding-bottom: calc(95 * (60rem / 390));
}

.LP_page .main_nav .nav_list li:nth-child(3) a {
    padding-bottom: calc(100 * (60rem / 390));
}

.LP_page .main_nav .nav_list li:nth-child(3) {
    margin-top: calc(10 * (60rem / 390));
}

.footer_area {
    margin-top: calc(60 * (60rem / 390));
}