@charset "UTF-8";
:root {
  --color-black: #000;
  --color-white: #fff;
  --color-main: #e50080;
  --z-index-header: 99;
  --z-index-hamburger: 100;
}

/*!
共通
------------------------------
*/
body.is-fixed {
  overflow: hidden;
  height: 100%;
}

.lp {
  width: 100%;
  font-style: normal;
  font-size: 16px;
  line-height: 1;
  font-weight: normal;
  font-variant: normal;
  -webkit-text-size-adjust: none;
  color: #000;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", Meiryo, serif;
  font-weight: 400;
  overflow-x: hidden;
}
.lp img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.lp a {
  text-decoration: none;
}
.lp a, .lp button,
.lp a::after, .lp a::before, .lp button::after, .lp button::before {
  transition: 0.3s;
}
.lp a:hover {
  opacity: 0.6;
}
.lp .l-wrapper {
  width: 100%;
  overflow-x: hidden;
}
.lp .main {
  padding-top: clamp(0px, 6.06vw, 75px);
}

.mincho {
  font-family: "Shippori Mincho", serif;
}

.c-pink {
  color: #e3007f !important;
}

.indent-1 {
  padding-left: 1em;
  text-indent: -1em;
}

.nopc {
  display: none !important;
}

br.nopc {
  font-size: 0;
  line-height: 0;
}

@media screen and (max-width: 768px) {
  .lp {
    font-size: 14px;
    font-size: 3.733vw;
  }

  .lp .main {
    padding-top: 10.67vw;
  }

  .nosp {
    display: none !important;
  }

  br.nosp {
    font-size: 0;
    line-height: 0;
  }

  .nopc {
    display: block !important;
  }
}
/*!
menu
------------------------------
*/
.lp .menu {
  width: 100%;
  height: clamp(0px, 6.06vw, 75px);
  background-color: var(--color-main);
  color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--z-index-header);
}
.lp .menu-inner {
  width: 100%;
  height: 100%;
  padding: 0 clamp(0px, 3.63vw, 45px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
}
.lp .menu-logo {
  width: clamp(0px, 19.71vw, 244px);
  max-width: 100%;
}
.lp .menu-logo img {
  width: 100%;
}
.lp .menu-sns {
  width: clamp(0px, 2.26vw, 28px);
}
.lp .menu-sns a {
  display: block;
}
.lp .menu-nav {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(0px, 2.83vw, 35px);
}
.lp .menu-nav-list {
  display: flex;
  gap: clamp(0px, 3.23vw, 40px);
}
.lp .menu-nav-list > li > a:hover {
  opacity: 1;
}
.lp .menu-nav-list > li > a {
  display: block;
  position: relative;
}
.lp .menu-nav-list > li > a[target=_blank] {
  padding-right: clamp(0px, 2.42vw, 30px);
  position: relative;
}
.lp .menu-nav-list > li > a[target=_blank]::before {
  content: "";
  width: clamp(0px, 1.78vw, 22px);
  height: clamp(0px, 1.78vw, 22px);
  background: url("../img/icon_blank.svg") no-repeat center center/contain;
  position: absolute;
  bottom: clamp(-2px, -0.16vw, 0px);
  right: 0;
}
.lp .menu-nav-list > li picture img {
  display: inline-block;
  height: clamp(0px, 1.21vw, 15px);
}
.lp img.menu-hover {
  max-width: none;
  height: clamp(0px, 0.81vw, 10px);
  display: inline-block;
  position: absolute;
  top: calc(100% + clamp(0px, 0.4vw, 5px));
  left: 50%;
  transform: translateX(-50%);
}
.lp .menu-nav-list > li > a[target=_blank] img.menu-hover {
  transform: translateX(calc(-50% - clamp(0px, 1.21vw, 15px)));
}
.lp .menu-hover {
  opacity: 0;
  transition: opacity 0.2s;
}
.lp .menu-nav-list li.is-current .menu-hover {
  opacity: 1;
}
.lp .menu-nav-list a:hover .menu-hover {
  opacity: 1;
}
.lp .hamburger {
  display: none;
}

@media screen and (max-width: 768px) {
  .lp .menu {
    height: 10.67vw;
  }
  .lp .menu-inner {
    padding: 0 2.67vw;
  }
  .lp .bg-sp-menu {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
  }
  .lp .menu-logo {
    width: 51.2vw;
  }
  .lp .sp-menu-logo {
    width: 69.33vw;
    margin: 0 auto 6.67vw;
  }
  .lp .menu-sns {
    width: 30.67vw;
    margin: 1.07vw auto 0;
    text-align: center;
  }
  .lp .menu-nav {
    position: fixed;
    top: 10.67vw;
    left: 0;
    width: 100%;
    height: calc(100dvh - 10.67vw);
    background: #ff069d url("../img/bg_menu_sp.jpg") no-repeat center center/cover;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: block;
    padding-top: 3.2vw;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease;
  }
  .lp .menu-nav-list {
    flex-direction: column;
    gap: 6.67vw;
  }
  .lp .menu-nav-list > li {
    opacity: 0;
    transform: translate(-100px, 5px);
  }
  .lp .menu-nav.is-active .menu-nav-list > li {
    -webkit-animation: fadeInLeft2 0.8s ease-out forwards;
            animation: fadeInLeft2 0.8s ease-out forwards;
  }
  .lp .menu-nav-list > li > a:hover {
    opacity: 1;
  }
  .lp .menu-nav-list > li > a {
    text-align: center;
  }
  .lp .menu-nav-list > li > a[target=_blank] {
    padding-right: 0;
  }
  .lp .menu-nav-list > li > a[target=_blank]::before {
    display: none;
  }
  .lp .menu-nav-list > li > a img:not(.menu-hover) {
    display: inline-block;
    width: auto;
    height: 13.33vw;
  }
  .lp .menu-nav.is-active {
    opacity: 1;
    visibility: visible;
  }
  .lp img.menu-hover {
    display: none;
  }
  .lp .hamburger {
    width: 18.67vw;
    height: 18.67vw;
    display: block;
    transition: transform 0.3s ease;
    z-index: var(--z-index-hamburger);
    background: url("../img/icon_hamburger_menu.png") no-repeat center center/contain;
    position: fixed;
    top: 0;
    right: 0;
    cursor: pointer;
  }
  .lp .hamburger.is-open {
    background: url("../img/icon_hamburger_close.png") no-repeat center center/contain;
  }
}
/*!
footer
------------------------------
*/
.lp .footer {
  position: relative;
}
.lp .footer-inner {
  padding: 0 clamp(0px, 3.63vw, 45px);
}
.lp .footer-head {
  color: #fff;
  background-color: #ff099e;
  background-image: url("../img/bg_footer.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding: clamp(0px, 4.04vw, 50px) 0;
}
.lp .footer-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0px, 7.27vw, 90px);
}
.lp .footer-list > li {
  font-size: clamp(0px, 1.29vw, 16px);
  font-weight: bold;
  letter-spacing: 0.07em;
}
.lp .footer-list > li a {
  display: block;
}
.lp .footer-list > li a > span {
  display: inline-block;
  padding-right: clamp(0px, 1.62vw, 20px);
  position: relative;
}
.lp .footer-list > li a > span::before {
  content: "";
  width: clamp(0px, 0.81vw, 10px);
  height: clamp(0px, 1.21vw, 15px);
  background: url("../img/arrow_r.svg") no-repeat center center/contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.lp .footer-btm {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: clamp(0px, 1.21vw, 15px) 0;
}
.lp .footer-btm .seed a {
  display: inline-block;
}
.lp .footer-btm .seed a img {
  width: clamp(0px, 6.46vw, 80px);
}
.lp .footer-btm .seed img:nth-child(1) {
  margin-right: clamp(0px, 1.62vw, 20px);
}
.lp .copyright {
  font-size: clamp(0px, 0.81vw, 10px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.07em;
}
.lp .page-top {
  width: clamp(0px, 6.46vw, 80px);
  position: absolute;
  top: clamp(-40px, -3.23vw, 0px);
  left: 50%;
  transform: translateX(-50%);
  cursor: pointer;
}
.lp .page-top:hover {
  opacity: 0.8;
}

@media screen and (max-width: 768px) {
  .lp .footer-head {
    padding: 13.33vw 0;
  }
  .lp .footer-list {
    flex-direction: column;
    gap: 6.67vw;
  }
  .lp .footer-list > li {
    font-size: 4.8vw;
  }
  .lp .footer-list > li a > span {
    padding-right: 5.33vw;
  }
  .lp .footer-list > li a > span::before {
    width: 2.67vw;
    height: 4vw;
  }
  .lp .footer-btm {
    padding: 6.67vw 5.33vw;
    flex-direction: column;
    gap: 4vw;
  }
  .lp .footer-btm .seed img:nth-child(1) {
    width: 21.33vw;
    margin-right: 5.33vw;
  }
  .lp .footer-btm .seed > img {
    width: 40vw;
  }
  .lp .copyright {
    font-size: 2.67vw;
  }
  .lp .page-top {
    width: 18.67vw;
    top: -8.8vw;
  }
}
/*!
star
------------------------------
*/
.star-01 {
  width: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.bg-star svg {
  width: 100%;
  height: auto;
}

.star {
  position: relative;
}

/* ランダム用クラス */
.star-glow {
  transform-box: fill-box;
  transform-origin: center center;
  -webkit-animation-delay: var(--delay);
          animation-delay: var(--delay);
  -webkit-animation-duration: var(--duration);
          animation-duration: var(--duration);
  -webkit-animation: glowPulse 3s ease-in-out infinite;
          animation: glowPulse 3s ease-in-out infinite;
}

@-webkit-keyframes glowPulse {
  0%, 100% {
    transform: scale(0);
    opacity: 0.4;
  }
  50% {
    transform: scale(1.6);
    opacity: 0.9;
  }
}

@keyframes glowPulse {
  0%, 100% {
    transform: scale(0);
    opacity: 0.4;
  }
  50% {
    transform: scale(1.6);
    opacity: 0.9;
  }
}
/*!
mv
------------------------------
*/
.mv {
  background-image: url("../img/bg_mv.jpg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding-bottom: clamp(0px, 6.46vw, 80px);
}

.mv-inner {
  width: clamp(0px, 139.58vw, 1728px);
  max-width: 90%;
  position: relative;
  margin: 0 auto;
}

.mv-cont {
  position: relative;
  z-index: 2;
}

.mv-img {
  margin-bottom: clamp(0px, 2.42vw, 30px);
  text-align: center;
}

.mv-ttl-wrap {
  width: clamp(0px, 25.83vw, 496px);
  max-width: 100%;
  height: auto;
  position: absolute;
  top: clamp(0px, 8.54vw, 164px);
  left: clamp(0px, 2.29vw, 44px);
}

@media screen and (max-width: 768px) {
  .mv {
    background-image: url("../img/bg_mv_sp.jpg");
    padding-bottom: 21.33vw;
    background-size: cover;
    background-color: #ffbade;
  }

  .mv-inner {
    width: 100%;
  }

  .mv-img {
    margin-bottom: 4vw;
  }

  .mv-img img {
    transform: translateY(-5.33vw);
    margin-bottom: -5.33vw;
  }

  .mv-ttl-wrap {
    width: 34.67vw;
    top: 2.67vw;
    left: 0;
  }
}
/*!
news
------------------------------
*/
.news {
  color: var(--color-main);
  margin-bottom: clamp(0px, 5.4vw, 80px);
}

.news-ttl {
  max-width: 100%;
  width: clamp(0px, 9.2vw, 135px);
  margin: 0 auto clamp(0px, 1vw, 15px);
}

.news-ttl img {
  width: 100%;
}

.news-txt {
  max-width: 70%;
  margin: 0 auto;
  font-size: clamp(0px, 1.78vw, 22px);
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-align: center;
  font-size: clamp(0px, 1.44vw, 22px);
}

.news-list {
  display: inline-flex;
  flex-direction: column;
}

.news-item, .news-item a {
  display: inline-flex;
  gap: clamp(0px, 1.6vw, 25px);
}

.news-item + .news-item {
  margin-top: clamp(0px, 1.21vw, 15px);
}

.news-item .date, .news-item .txt {
  text-align: left;
}

.news-item .txt > span {
  display: inline-block;
}

@media screen and (min-width: 769px) and (max-width: 1280px) {
  .news-item .txt_adj {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .news {
    margin-bottom: 17.33vw;
  }

  .news-ttl {
    width: 19.2vw;
    margin-bottom: 4vw;
  }

  .news-item + .news-item {
    margin-top: 8vw;
  }

  .news-item, .news-item a {
    flex-direction: column;
    align-items: center;
    gap: 1.33vw;
  }

  .news-item .txt {
    text-align: center;
  }

  .news-txt {
    font-size: 4.27vw;
  }
}
.acc-wrap {
  width: clamp(0px, 54.93vw, 680px);
  margin: 0 auto;
}

.acc + .acc {
  margin-top: clamp(0px, 1.3vw, 20px);
}

.acc-button {
  font-size: clamp(0px, 2.02vw, 25px);
  font-weight: bold;
  width: 100%;
  color: #fff;
  border: none;
  text-align: center;
  cursor: pointer;
  position: relative;
  z-index: 2;
  min-height: clamp(0px, 3.55vw, 44px);
}

.acc-button::before {
  content: "";
  width: 100%;
  height: clamp(0px, 1.21vw, 15px);
  background: url("../img/bg_acc_md.png") no-repeat center center/100% 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s;
}

.acc-button.is-open::before {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s;
}

.acc-button .sm {
  font-size: 0.8em;
}

.acc-button > span {
  aspect-ratio: 960/80;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: url("../img/bg_acc_btn.png") no-repeat center center/100% 100%;
  position: relative;
  z-index: 2;
}

.acc-button > span {
  padding: 0 clamp(0px, 3.23vw, 40px);
  transform: translateY(-0.1em);
}

.acc-button > span::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 2%;
  width: clamp(0px, 1.62vw, 20px);
  height: clamp(0px, 0.24vw, 3px);
  border-radius: 100vh;
  transform: translateY(-50%) rotate(90deg);
  background: #fff;
  transition: all 0.3s ease-in-out;
}

.acc-button > span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2%;
  width: clamp(0px, 1.62vw, 20px);
  height: clamp(0px, 0.24vw, 3px);
  border-radius: 100vh;
  transform: translateY(-50%);
  background: #fff;
  transition: all 0.2s ease-in-out;
}

.acc-button.is-open > span::before {
  transform: translateY(-50%) rotate(180deg);
}

.acc-button.is-open > span::after {
  opacity: 0;
}

.acc-button > span > span {
  transform: translateY(-0.1em);
}

.acc-content {
  display: none;
  background: #fff;
  position: relative;
  background: url("../img/bg_acc_md.png") repeat-y top left/100% auto;
  padding: clamp(0px, 3.23vw, 40px) clamp(0px, 1.62vw, 20px);
  margin-bottom: clamp(0px, 2.83vw, 35px);
}

.acc-content::after {
  content: "";
  width: 100%;
  height: clamp(0px, 1.21vw, 15px);
  background: url("../img/bg_acc_btm.png") no-repeat bottom left/100% 100%;
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
}

.acc-txt {
  font-size: clamp(0px, 1.37vw, 17px);
  font-weight: bold;
  color: #431800;
  line-height: 2;
  text-align: center;
}

.brand-link {
  width: clamp(0px, 46.85vw, 580px);
  max-width: 100%;
  text-align: center;
  margin: clamp(0px, 7.27vw, 90px) auto 0;
  position: relative;
}

.brand-link a {
  display: block;
}

.brand-link a:hover {
  opacity: 1;
}

.brand-link a:hover .shine {
  filter: brightness(1.05);
}

.btn-brand-img {
  position: absolute;
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 768px) {
  .acc-wrap {
    width: 94%;
  }

  .acc + .acc {
    margin-top: 2.67vw;
  }

  .acc-button > span {
    aspect-ratio: 352/63;
    background: url("../img/bg_acc_btn_sp.png") no-repeat center center/100% 100%;
  }

  .acc-button {
    font-size: 6.4vw;
  }

  .acc-content {
    background: url("../img/bg_acc_md_sp.png") repeat-y top left/100% auto;
    padding: 8vw 2.67vw 4vw;
    margin-bottom: 10.67vw;
  }

  .acc-button::before {
    background: url("../img/bg_acc_md_sp.png") no-repeat center center/100% 100%;
    height: 8vw;
  }

  .acc-button > span {
    padding: 0 10.67vw;
  }

  .acc-button > span::after, .acc-button > span::before {
    width: 4.8vw;
    height: 0.8vw;
    right: 5%;
  }

  .acc-content::after {
    background: url("../img/bg_acc_btm_sp.png") no-repeat bottom left/100% 100%;
    height: 8vw;
  }

  .acc-txt {
    font-size: 4vw;
    line-height: 1.8;
  }

  .brand-link {
    width: 100%;
    max-width: 92%;
    margin-top: 13.33vw;
  }
}
/*!
product
------------------------------
*/
.top .product {
  position: relative;
}
.top .product .bg-star {
  width: 1480px;
  max-width: 110%;
  z-index: 2;
  pointer-events: none;
}
.top .product-col {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 2;
}
.top .product-col .left, .top .product-col .right {
  width: 32.5%;
  flex: 1;
}
.top .product-col .center {
  width: clamp(0px, 32.61vw, 450px);
  max-width: 35%;
}
.top .product-col .left, .top .product-col .right, .top .product-col .center {
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding: clamp(0px, 7.97vw, 110px) 0 clamp(0px, 13.04vw, 180px);
}
.top .product-col .left {
  background-image: url("../img/bg_product_01.png");
  background-position: center center;
  background-size: cover;
  text-align: right;
  padding-right: clamp(0px, 4.35vw, 60px);
}
.top .product-col .center {
  background-image: url("../img/bg_product_02.png");
  text-align: center;
}
.top .product-col .right {
  background-image: url("../img/bg_product_03.png");
  background-position: center center;
  background-size: cover;
  padding-left: clamp(0px, 4.35vw, 60px);
}
.top .product-img {
  width: clamp(0px, 24.28vw, 335px);
  max-width: 100%;
  display: inline-block;
  position: relative;
}
.top .product-img a {
  display: inline-block;
}
.top .product-btn {
  width: clamp(0px, 12.75vw, 176px);
  max-width: 100%;
  height: auto;
  aspect-ratio: 176/33;
  border-radius: 100vh;
  box-shadow: 0 0 clamp(0px, 0.72vw, 10px) #fff;
  position: absolute;
  left: clamp(0px, 2.03vw, 28px);
  bottom: clamp(0px, 12.68vw, 175px);
  transition: all 0.2s;
}
.top .product-btn svg {
  width: 100%;
  height: auto;
  transform: translateY(1px);
}
.top .product-btn.color-1 {
  background-color: #ee2881;
}
.top .product-btn.color-2 {
  background-color: #ce867b;
}
.top .product-btn.color-3 {
  background-color: #f05ba2;
}
.top .product-img a:hover {
  opacity: 1;
}
.top .product-btn:hover {
  background-color: #fff;
}
.top .product-btn.color-1:hover {
  box-shadow: 0 0 clamp(0px, 0.72vw, 10px) #ee2881;
}
.top .product-btn.color-2:hover {
  box-shadow: 0 0 clamp(0px, 0.72vw, 10px) #ce867b;
}
.top .product-btn.color-3:hover {
  box-shadow: 0 0 clamp(0px, 0.72vw, 10px) #f05ba2;
}
.top .product-btn .desvg path {
  transition: all 0.2s;
}
.top .product-btn.color-1:hover .desvg path {
  fill: #ee2881;
}
.top .product-btn.color-2:hover .desvg path {
  fill: #ce867b;
}
.top .product-btn.color-3:hover .desvg path {
  fill: #f05ba2;
}
.top .product-floor {
  width: 100%;
  height: clamp(0px, 5.41vw, 67px);
  background-color: #ffa0d5;
  position: relative;
  z-index: 2;
}
.top .product-floor-inner {
  max-width: 1238px;
  height: 100%;
  margin: 0 auto;
  position: relative;
}
.top .product-ill-01 {
  width: clamp(0px, 14.94vw, 185px);
  max-width: 100%;
  position: absolute;
  bottom: clamp(-26px, -2.1vw, 0px);
  left: clamp(0px, 4.36vw, 54px);
  z-index: 2;
}
.top .product-ill-02 {
  width: clamp(0px, 24.07vw, 298px);
  max-width: 100%;
  position: absolute;
  bottom: 0;
  right: clamp(0px, 3.23vw, 40px);
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .top .product-col {
    flex-direction: column;
  }
  .top .product-col .left, .top .product-col .center, .top .product-col .right {
    width: 100%;
    max-width: 100%;
    text-align: center;
    padding: 0;
  }
  .top .product-col .left {
    background-image: url("../img/bg_product_01_sp.png");
    background-size: cover;
    padding-right: 0;
  }
  .top .product-col .center {
    background-image: url("../img/bg_product_02_sp.png");
    text-align: center;
  }
  .top .product-col .right {
    background-image: url("../img/bg_product_03_sp.png");
    background-size: cover;
    padding-left: 0;
  }
  .top .product-img {
    width: 100%;
  }
  .top .product-btn {
    width: 57.33vw;
    aspect-ratio: 215/36;
    left: 4vw;
    bottom: auto;
    top: 130.67vw;
  }
  .top .product-floor {
    height: 12.53vw;
  }
  .top .product-ill-01 {
    width: 36.53vw;
    left: 2.67vw;
    bottom: -3.2vw;
  }
  .top .product-ill-02 {
    width: 50.67vw;
    right: 0;
    bottom: 0;
  }
  .top .product .bg-star {
    width: 100%;
    max-width: 100%;
  }
}
/*!
link-area
------------------------------
*/
.link-area {
  padding: clamp(0px, 5.25vw, 65px) clamp(0px, 1.62vw, 20px) clamp(0px, 9.69vw, 120px);
}

.link-area-inner {
  max-width: 980px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.link-area a {
  display: inline-block;
}

.link-item {
  text-align: center;
}

.link-item + .link-item {
  margin-top: clamp(0px, 7.27vw, 90px);
}

.link-btn {
  margin-bottom: clamp(0px, 2.02vw, 25px);
}

.link-btn[target=_blank] > span.blank {
  padding-right: clamp(0px, 2.42vw, 30px);
  position: relative;
}

.link-btn[target=_blank] > span.blank img {
  height: clamp(0px, 1.29vw, 16px);
}

.link-btn[target=_blank] > span.blank::before {
  content: "";
  width: clamp(0px, 1.62vw, 20px);
  height: clamp(0px, 1.62vw, 20px);
  background: url("../img/icon_blank_brn.svg") no-repeat center center/contain;
  position: absolute;
  bottom: clamp(0px, 0.24vw, 3px);
  right: 0;
}

.link-area-txt {
  font-size: clamp(0px, 1.29vw, 16px);
  font-weight: bold;
  color: #431800;
  line-height: 1.4;
  letter-spacing: 0.07em;
}

.icon-insta {
  width: clamp(0px, 2.91vw, 36px);
  margin: 0 auto clamp(0px, 1.21vw, 15px);
}

.icon-insta img {
  width: 100%;
}

.ill-flower {
  width: clamp(0px, 3.23vw, 40px);
  display: block;
  margin: 0 auto clamp(0px, 0.81vw, 10px);
}

@media screen and (max-width: 768px) {
  .link-area {
    padding: 17.33vw 5.33vw 21.33vw;
  }

  .link-area-txt {
    font-size: 4.27vw;
  }

  .link-item + .link-item {
    margin-top: 16vw;
  }

  .link-btn {
    margin-bottom: 4vw;
  }

  .link-btn .blank img {
    width: auto;
    height: 4.53vw;
  }

  .link-btn[target=_blank] > span.blank {
    padding-right: 9.33vw;
  }

  .link-btn[target=_blank] > span.blank img {
    height: 4.8vw;
  }

  .link-btn[target=_blank] > span.blank::before {
    width: 6.4vw;
    height: 6.4vw;
    bottom: 0.53vw;
  }

  .icon-insta {
    width: 11.2vw;
    margin-bottom: 2.13vw;
  }

  .ill-flower {
    width: 12.27vw;
    margin: 0 auto 2.67vw;
  }
}
/*!
low-product
------------------------------
*/
.low-product {
  position: relative;
}

.low-bg-product {
  background-image: url("../img/lower/bg_product_01.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  margin-bottom: -1px;
}

.low-product-inner {
  max-width: 1400px;
  margin: 0 auto;
  position: relative;
  padding-top: clamp(0px, 4.85vw, 60px);
}

.low-product-ttl {
  width: clamp(0px, 28.27vw, 350px);
  margin: 0 auto clamp(-30px, -2.42vw, 0px);
}

.low-product-ttl img {
  width: 100%;
}

.low-product-img {
  width: clamp(0px, 32.31vw, 400px);
  max-width: 100%;
  margin: 0 auto;
}

.low-product-item {
  position: relative;
  padding: clamp(0px, 10.5vw, 130px) 0 clamp(0px, 3.23vw, 40px);
}

.low-product-item.item-02 {
  background-image: url("../img/lower/bg_product_02.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}

.low-product-item.item-03 {
  background-image: url("../img/lower/bg_product_03.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}

.low-product-item.item-02 .bg-star, .low-product-item.item-03 .bg-star {
  max-width: 1400px;
}

.low-product-item.item-01 {
  padding-top: clamp(0px, 6.79vw, 84px);
}

.low-product-item-img {
  width: clamp(0px, 88.85vw, 1100px);
  max-width: 100%;
  margin: 0 auto;
  position: relative;
}

.low-product-item-img picture {
  display: inline-block;
}

.low-product-item-img .img-wrap {
  position: relative;
}

.low-product-item-img .img-wrap .img-txt {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.low-product-txt-pc {
  width: clamp(0px, 26.66vw, 330px);
  font-size: clamp(0px, 1.29vw, 16px);
  font-weight: bold;
  color: #431800;
  line-height: 1.75;
  letter-spacing: 0.07em;
  position: absolute;
  top: clamp(0px, 1.62vw, 20px);
  left: clamp(0px, 58.97vw, 730px);
}

.low-product-item.item-02 .low-product-txt-pc {
  left: auto;
  right: clamp(0px, 57.35vw, 710px);
}

@media screen and (max-width: 768px) {
  .low-bg-product {
    background-image: url("../img/lower/bg_product_01_sp.png");
  }

  .low-product-item, .low-product-item.item-01 {
    padding: 13.33vw 0 16vw;
  }

  .low-product-item.item-02 {
    background-image: url("../img/lower/bg_product_02_sp.png");
  }

  .low-product-item.item-03 {
    background-image: url("../img/lower/bg_product_03_sp.png");
  }

  .low-product-inner {
    padding-top: 0;
  }

  .low-product-ttl {
    width: 75.73vw;
    text-align: center;
    margin: 0 auto -8vw;
  }

  .low-product-img {
    width: 58.67vw;
    text-align: center;
  }

  .low-product-txt-pc, .low-product-item.item-02 .low-product-txt-pc {
    width: 100%;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
  }

  .low-product-txt-pc {
    font-size: 4.27vw;
    letter-spacing: 0.02em;
  }

  .low-product-txt-pc p {
    width: 83%;
    margin: 0 auto;
  }

  .low-product-item-img .sp-img-01 {
    width: 82.7%;
    margin: 0 auto;
    display: block;
  }

  .low-product-txt, .sp-inner {
    width: 82%;
    margin: 0 auto;
  }

  .low-product-txt {
    font-size: 4vw;
    line-height: 1.7;
  }

  .low-product-item-img {
    width: 100%;
  }
}
/*!
feature
------------------------------
*/
.feature {
  background-color: #eadcd7;
  background-image: url("../img/lower/bg_flower.png");
  background-repeat: repeat;
  background-position: center center;
  background-size: clamp(0px, 20.6vw, 255px) auto;
  padding: clamp(0px, 9.69vw, 120px) 0;
}

.feature-inner {
  width: clamp(0px, 87.24vw, 1080px);
  max-width: 100%;
  margin: 0 auto;
}

.feature-ttl {
  width: clamp(0px, 35.54vw, 440px);
  max-width: 100%;
  margin: 0 auto clamp(0px, 5.25vw, 65px);
}

.feature-box {
  margin: clamp(0px, 4.04vw, 50px) 0;
}

.feature-box-inner {
  color: #3d1f00;
  position: relative;
  margin: clamp(0px, 4.04vw, 50px) 0;
  background: url("../img/lower/box_md.png") repeat-y top center/100% auto;
  padding: 0 clamp(0px, 5.65vw, 70px) clamp(0px, 2.42vw, 30px);
}

.feature-box-inner::before {
  content: "";
  width: 100%;
  height: clamp(0px, 4.04vw, 50px);
  background: url("../img/lower/box_top.png") no-repeat top center/100% 100%;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
}

.feature-box-inner::after {
  content: "";
  width: 100%;
  height: clamp(0px, 4.04vw, 50px);
  background: url("../img/lower/box_btm.png") no-repeat top center/100% 100%;
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
}

.feature-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(0px, 1.62vw, 20px);
}

.feature-list-ttl {
  font-size: clamp(0px, 2.02vw, 25px);
  font-weight: bold;
  color: #e3007f;
  margin-bottom: 0.5em;
}

.icon .feature-list-ttl {
  padding-left: 3em;
  position: relative;
}

.icon .feature-list-ttl::before {
  content: "";
  width: clamp(0px, 4.85vw, 60px);
  height: auto;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  position: absolute;
  bottom: -0.2em;
  left: 0;
}

.icon.icon-1day .feature-list-ttl::before {
  background-image: url("../img/lower/icon_1day.svg");
}

.icon.icon-uruoi .feature-list-ttl::before {
  background-image: url("../img/lower/icon_uruoi.svg");
}

.icon.icon-uv .feature-list-ttl::before {
  background-image: url("../img/lower/icon_uv.svg");
}

.feature-list-ttl > span {
  font-size: 1.1em;
  display: inline-block;
  line-height: 1;
}

.feature-list-ttl > span > span {
  font-size: 1.1em;
}

.feature-list-txt {
  font-size: clamp(0px, 1.21vw, 15px);
  font-weight: 500;
  line-height: 1.3;
}

.feature-list-note {
  margin-top: clamp(0px, 0.4vw, 5px);
}

.feature-list-note > li {
  font-size: clamp(0px, 0.89vw, 11px);
  line-height: 1.3;
}

.feature-box-note {
  font-size: clamp(0px, 1.05vw, 13px);
  font-weight: 500;
  color: #431900;
  text-align: right;
  margin-top: clamp(0px, 4.85vw, 60px);
}

@media screen and (max-width: 768px) {
  .feature {
    padding: 16vw 0;
    background-size: 44vw auto;
  }

  .feature-inner {
    width: 90.67vw;
    margin: 0 auto;
  }

  .feature-box {
    margin: 8.27vw 0;
  }

  .feature-box-inner {
    background: url("../img/lower/box_md_sp.png") repeat-y top center/100% auto;
    padding: 0 2.67vw;
    margin: 8.27vw 0;
  }

  .feature-box-inner::before {
    background: url("../img/lower/box_top_sp.png") no-repeat top center/100% 100%;
    height: 8.27vw;
  }

  .feature-box-inner::after {
    background: url("../img/lower/box_btm_sp.png") no-repeat top center/100% 100%;
    height: 8.27vw;
  }

  .feature-ttl {
    width: 77.33vw;
    margin: 0 auto 5.33vw;
  }

  .feature-list {
    grid-template-columns: 1fr;
    gap: 5.33vw;
    padding-left: 4vw;
  }

  .feature-list-ttl {
    font-size: 6.13vw;
    margin-bottom: 0.3em;
  }

  .icon .feature-list-ttl {
    padding-left: 0;
  }

  .feature-list > li.icon {
    padding-left: 17.33vw;
    position: relative;
  }

  .icon .feature-list-ttl {
    position: static;
  }

  .icon .feature-list-ttl::before {
    width: 14.67vw;
    left: 0;
    bottom: auto;
    top: 0;
  }

  .feature-list-txt {
    font-size: 3.73vw;
    line-height: 1.36;
  }

  .feature-list-note > li {
    font-size: 2.93vw;
  }

  .feature-box-note {
    margin-top: 10.67vw;
    text-align: left;
    font-size: 2.67vw;
    padding-left: 2.5em;
  }
}
/*!
outline
------------------------------
*/
.outline {
  padding-top: clamp(0px, 8.08vw, 100px);
}

.outline-inner {
  width: clamp(0px, 79.16vw, 980px);
  max-width: 100%;
  margin: 0 auto;
}

.outline-ttl {
  width: clamp(0px, 21vw, 260px);
  max-width: 100%;
  margin: 0 auto clamp(0px, 0.81vw, 10px);
}

.outline-table {
  color: #431900;
}

.outline-table th, .outline-table td {
  font-size: clamp(0px, 1.37vw, 17px);
  font-weight: 500;
  line-height: 1.45;
  padding: 1.6em 2em;
}

.outline-table td .sm {
  font-size: 0.95em;
}

.outline-table .col-1 {
  width: 22%;
  padding-right: clamp(0px, 1.62vw, 20px);
}

.outline-table .col-2 {
  width: 78%;
}

.outline-table .items {
  display: flex;
  gap: clamp(0px, 3.23vw, 40px);
}

.outline-table .items .item {
  text-align: center;
}

.outline-table .items .item-img {
  width: clamp(0px, 9.29vw, 115px);
  margin: 0 auto clamp(0px, 0.4vw, 5px);
}

.outline-table tr:not(:last-child) {
  border-bottom: 1px solid #b3b3b3;
}

.caution {
  font-size: clamp(0px, 1.05vw, 13px);
  font-weight: 500;
  line-height: 1.55;
  margin-top: clamp(0px, 0.81vw, 10px);
}

.caution-ttl {
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .outline {
    padding-top: 16vw;
  }

  .outline-inner {
    width: 92vw;
  }

  .outline-ttl {
    width: 53.33vw;
    margin: 0 auto 2.67vw;
  }

  .outline-ttl img {
    width: 100%;
  }

  .outline-table {
    table-layout: fixed;
  }

  .outline-table .col-1, .outline-table .col-2 {
    width: 100%;
    display: block;
  }

  .outline-table th, .outline-table td {
    display: block;
    width: 100%;
    padding: 5.33vw 0vw;
  }

  .outline-table th {
    font-size: 3.47vw;
  }

  .outline-table td {
    font-size: 3.73vw;
  }

  .outline-table tr:not(:first-child) {
    display: flex;
  }

  .outline-table tr:first-child th {
    padding-bottom: 2.67vw;
  }

  .outline-table tr:first-child td {
    padding-top: 0;
  }

  .outline-table tr:not(:first-child) th {
    width: 30%;
    align-self: center;
  }

  .outline-table tr:not(:first-child) td {
    width: 70%;
  }

  .outline-table {
    table-layout: fixed;
  }

  .outline-table .items {
    width: 100%;
    gap: 4vw;
    justify-content: center;
  }

  .outline-table .items .item-img {
    width: 24vw;
    margin: 0 auto 1.33vw;
  }

  .caution {
    font-size: 2.93vw;
  }
}
/*!
animation
------------------------------
*/
.js-trigger.fadein {
  opacity: 0;
  transition: opacity 1.5s;
}

.js-trigger.fadein.is-visible {
  opacity: 1;
}

.js-trigger.fadeup {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity 1.5s, transform 1.5s;
}

.js-trigger.fadeup.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js-trigger.fadeleft {
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 1.5s, transform 1.5s;
}

.js-trigger.fadeleft.x-lg {
  transform: translateX(-300px);
}

.js-trigger.fadeleft.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.js-trigger.faderight {
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 1.5s, transform 1.5s;
}

.js-trigger.faderight.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.js-trigger.shine.is-visible {
  -webkit-animation: glow 1s ease-out;
          animation: glow 1s ease-out;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

@-webkit-keyframes glow {
  0% {
    filter: brightness(1);
  }
  90% {
    filter: brightness(1.45);
  }
  100% {
    filter: brightness(1);
  }
}

@keyframes glow {
  0% {
    filter: brightness(1);
  }
  90% {
    filter: brightness(1.45);
  }
  100% {
    filter: brightness(1);
  }
}
@-webkit-keyframes fadeInLeft2 {
  0% {
    opacity: 0;
    transform: translate(-100px, -5px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes fadeInLeft2 {
  0% {
    opacity: 0;
    transform: translate(-100px, -5px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.delay-02 {
  transition-delay: 0.2s;
}

.delay-04 {
  transition-delay: 0.4s;
}

.delay-06 {
  transition-delay: 0.6s;
}

.delay-08 {
  transition-delay: 0.8s;
}

.delay-1 {
  transition-delay: 1s;
}

.delay-2 {
  transition-delay: 2s;
}

/*!
print
------------------------------
*/
@page {
  size: A4 portrait;
  margin: 0;
}
@media print {
  * {
    text-shadow: none !important;
    box-shadow: none !important;
  }

  html, body {
    width: 1200px;
    height: auto;
    -webkit-print-color-adjust: exact;
    transform: scale(0.95);
    transform-origin: center top;
  }

  header {
    position: relative !important;
  }

  main {
    padding-top: 0 !important;
  }
}