@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap");
/* リセットCSS */
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap");
html, body {
  width: 100%;
  height: 100%;
}

body, h1, h2, h3, h4, h5, h6, p, ol, ul, li, blockquote, pre, a, div {
  margin: 0;
  padding: 0;
  font-size: 100%;
  line-height: inherit;
  box-sizing: border-box;
}

body {
  -webkit-text-size-adjust: 100%;
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th, td {
  vertical-align: top;
  text-align: left;
  font-weight: normal;
}

img {
  border: 0;
  vertical-align: bottom;
}

a {
  text-decoration: none;
}

/* ---------- setting ---------- ---------- */
.u-en {
  font-family: "din-2014", sans-serif;
}

.u-min {
  font-family: "Shippori Mincho";
}

.u-fw-normal {
  font-weight: normal !important;
}

.u-fw-bold {
  font-weight: bold !important;
}

.u-td-u {
  text-decoration: underline !important;
}

.u-td-n {
  text-decoration: none !important;
}

.u-ta-l {
  text-align: left !important;
}

.u-ta-c {
  text-align: center !important;
}

.u-ta-r {
  text-align: right !important;
}

.block-index-lead_area{
	display: flex;
	align-items: center;
	margin: auto;
}

.block-index-lead_area img{
	width: 60px;
	height: 60px;
	margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .block-index-lead_area{
	display: block;
	margin: auto;
}

.block-index-lead_area img{
	margin-right: 0;
	margin: auto;
	display: block;
	text-align: center;
}
	
}

@media print, screen and (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}
@media print, screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }
  .u-gap-10 {
    display: flex;
    gap: 10px;
    flex-direction: column;
  }
  .u-gap-20 {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .u-gap-30 {
    display: flex;
    gap: 30px;
    flex-direction: column;
  }
  .u-gap-40 {
    display: flex;
    gap: 40px;
    flex-direction: column;
  }
  .u-gap-50 {
    display: flex;
    gap: 50px;
    flex-direction: column;
  }
  .u-gap-60 {
    display: flex;
    gap: 60px;
    flex-direction: column;
  }
  .u-gap-70 {
    display: flex;
    gap: 70px;
    flex-direction: column;
  }
  .u-gap-80 {
    display: flex;
    gap: 80px;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
  .u-gap-10 {
    display: flex;
    gap: 5px;
    flex-direction: column;
  }
  .u-gap-20 {
    display: flex;
    gap: 10px;
    flex-direction: column;
  }
  .u-gap-30 {
    display: flex;
    gap: 15px;
    flex-direction: column;
  }
  .u-gap-40 {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .u-gap-50 {
    display: flex;
    gap: 25px;
    flex-direction: column;
  }
  .u-gap-60 {
    display: flex;
    gap: 30px;
    flex-direction: column;
  }
  .u-gap-70 {
    display: flex;
    gap: 35px;
    flex-direction: column;
  }
  .u-gap-80 {
    display: flex;
    gap: 40px;
    flex-direction: column;
  }
}
@media print, screen and (min-width: 768px) {
  body {
    background-color: #FFEFEF;
    color: #555;
    font-family: "Zen Maru Gothic", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-feature-settings: "palt";
  }
  .area-wrapper {
    min-width: 1100px;
  }
  .area-footer {
    padding: 50px 0;
  }
  .area-footer ._logo {
    text-align: center;
  }
  .block-inner {
    margin: 0 auto;
    width: 1030px;
  }
  .area-footer {
    background-color: #fff;
    padding: 80px 50px;
    display: flex;
    gap: 30px;
    flex-direction: column;
    text-align: center;
  }
  .area-footer ._navi {
    margin-top: 10px;
    padding-bottom: 10px;
  }
  .area-footer ._copy {
    border-top: 1px solid #E4E4E4;
    text-align: center;
    padding: 32px 0 0 0;
  }
  .area-footer ._copy small {
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* 12px */
  }
  .mod-footer-gnavi {
    display: flex;
    justify-content: center;
    gap: 32px;
  }
  .mod-footer-gnavi a {
    color: #555;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 25.6px */
  }
  .mod-anim {
    transition-delay: 0.2s;
    transition-duration: 0.7s;
  }
  .mod-anim.is-fade {
    opacity: 0;
    transition-duration: 2s;
  }
  .mod-anim.is-fade.js-active {
    opacity: 1;
  }
  .mod-anim.is-blur {
    transition-delay: 0.8s;
    transition-duration: 1.5s;
    filter: blur(30px);
  }
  .mod-anim.is-blur.js-active {
    opacity: 1;
    filter: blur(0px);
  }
  .mod-anim.is-top {
    opacity: 0;
    transform: translate(0, -3vw);
  }
  .mod-anim.is-top.js-active {
    opacity: 1;
    transform: translate(0, 0);
  }
  .mod-anim.is-bottom {
    opacity: 0;
    transform: translate(0, 5vw);
  }
  .mod-anim.is-bottom.js-active {
    opacity: 1;
    transform: translate(0, 0);
  }
  .mod-anim.is-right {
    opacity: 0;
    transform: translate(10vw, 0);
  }
  .mod-anim.is-right.js-active {
    opacity: 1;
    transform: translate(0, 0);
  }
  .mod-anim.is-left {
    opacity: 0;
    transform: translate(-10vw, 0);
  }
  .mod-anim.is-left.js-active {
    opacity: 1;
    transform: translate(0, 0);
  }
  .mod-anim.is-pon {
    transition-duration: 0.4s;
    transform: scale(0);
    transform-origin: center center;
    opacity: 0;
  }
  .mod-anim.is-pon.js-active {
    transform: scale(1);
    opacity: 1;
  }
  .mod-anim.is-delay-0 {
    transition-delay: 0s;
  }
  .mod-anim.is-delay-1 {
    transition-delay: 0.1s;
  }
  .mod-anim.is-delay-2 {
    transition-delay: 0.2s;
  }
  .mod-anim.is-delay-3 {
    transition-delay: 0.3s;
  }
  .mod-anim.is-delay-4 {
    transition-delay: 0.4s;
  }
  .mod-anim.is-delay-5 {
    transition-delay: 0.5s;
  }
  .mod-anim.is-delay-6 {
    transition-delay: 0.6s;
  }
  .mod-anim.is-delay-7 {
    transition-delay: 0.7s;
  }
  .mod-anim.is-delay-8 {
    transition-delay: 0.8s;
  }
  .mod-anim.is-delay-9 {
    transition-delay: 0.9s;
  }
  .mod-anim.is-delay-10 {
    transition-delay: 1s;
  }
  .mod-anim.is-delay-11 {
    transition-delay: 1.1s;
  }
  .mod-anim.is-delay-12 {
    transition-delay: 1.2s;
  }
  .mod-anim.is-delay-13 {
    transition-delay: 1.3s;
  }
  .mod-anim.is-delay-14 {
    transition-delay: 1.4s;
  }
  .mod-anim.is-delay-15 {
    transition-delay: 1.5s;
  }
  .mod-anim.is-delay-16 {
    transition-delay: 1.6s;
  }
  .mod-anim.is-delay-17 {
    transition-delay: 1.7s;
  }
  .mod-anim.is-delay-18 {
    transition-delay: 1.8s;
  }
  .mod-anim.is-delay-19 {
    transition-delay: 1.9s;
  }
  .mod-anim.is-delay-20 {
    transition-delay: 2s;
  }
  .mod-doc {
    display: flex;
    gap: 24px;
    flex-direction: column;
  }
  .mod-doc p {
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
  }
  .mod-doc p._note {
    font-size: 12px;
  }
  .mod-hover {
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-hover:hover {
    opacity: 0.8;
  }
  .modal-loading {
    position: fixed;
    inset: 0px;
    z-index: 50;
    background-color: #FFEFEF;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 30px;
    transition-duration: 0.4s;
  }
  .modal-loading img {
    width: 100%;
  }
  .modal-loading ._logo {
    width: 33vw;
    opacity: 0;
    transition-duration: 0.8s;
    filter: blur(30px);
  }
  body.js-loading-1 .modal-loading ._logo {
    opacity: 1;
    filter: blur(0);
  }
  body.js-loading-pre-last .modal-loading {
    opacity: 0;
  }
  body.js-loading-last .modal-loading {
    display: none;
  }
  .block-index-mv {
    position: relative;
    overflow: hidden;
  }
  .block-index-mv img {
    width: 100%;
  }
  .block-index-mv:after {
    display: block;
    content: "";
    padding-top: 62.5%;
  }
  .block-index-mv ._mv {
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
  }
  .block-index-mv ._deco1 {
    position: absolute;
    top: 69%;
    left: 0%;
    width: 100%;
    height: 31%;
  }
  .block-index-mv ._product {
    position: absolute;
    top: 63.11%;
    left: 3.54%;
    width: 33.1%;
    height: 30.22%;
  }
  .block-index-mv ._copy {
    position: absolute;
    top: 62.78%;
    left: 60.69%;
    width: 37.15%;
    height: 12.78%;
  }
  .block-index-mv ._icon-x {
    position: absolute;
    top: 3.5%;
    left: 93.56%;
    width: 2.78%;
    height: 4.44%;
  }
  .block-index-mv ._icon-insta {
    position: absolute;
    top: 3.5%;
    left: 90.56%;
    width: 2.78%;
    height: 4.44%;
  }
  .block-index-mv ._lead {
    position: absolute;
    top: 79.6%;
    left: 31.88%;
  }
  .block-index-mv ._mv {
    transition-duration: 0.8s;
    transform: scale(1.05);
  }
  body.js-loading-pre-last .block-index-mv ._mv {
    transform: scale(1);
  }
  .float-btn-cta {
    z-index: 10;
    position: fixed;
    top: 46.5277777778vw;
    right: 3.8194444444vw;
    width: 13.8888888889vw;
    height: 13.8888888889vw;
    transition-duration: 1s;
  }
  body.js-fixed-menu .float-btn-cta {
    top: calc(100vh - 16vw);
  }
  .mod-index-mv-lead {
    display: flex;
    gap: 0.3472222222vw;
    flex-direction: column;
    align-items: flex-start;
  }
  .mod-index-mv-lead div {
    background-color: #fff;
  }
  .mod-index-mv-lead div span {
    display: block;
    padding: 0.625vw 2.0833333333vw 0.625vw 1.7361111111vw;
    color: #E66877;
    font-size: 2.7777777778vw;
    font-weight: 500;
    line-height: 1;
    transform: skew(-10deg);
  }
  .block-index-lead {
    margin-top: -1px;
    padding: 25px 0 65px 0;
    display: flex;
    gap: 10px;
    flex-direction: column;
  }
  .block-index-lead ._lead {
    color: #E66877;
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 180%;
  }
  .block-index-lead ._lead b {
    font-size: 56px;
  }
  .block-index-lead ._note {
    color: #555;
    text-align: center;
    font-family: "Zen Maru Gothic";
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%; /* 21.6px */
  }
  .block-index-intro {
    margin-top: -1px;
    background-color: #fff;
    padding: 65px 0 122px 0;
    position: relative;
  }
  .block-index-intro img {
    width: 100%;
  }
  .block-index-intro .block-inner {
    display: flex;
    gap: 35px;
    flex-direction: column;
  }
  .block-index-intro ._box {
    border: 6px solid #EA989B;
    padding: 40px 14px 40px 64px;
    background: #FFEFEF;
  }
  .block-index-intro ._cols {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  .block-index-intro ._cols ._col-image {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }
  .block-index-intro ._cols ._col-image img {
    width: 300px;
  }
  .block-index-intro ._cols ._col-texts {
    width: 567px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .block-index-intro ._title {
    display: flex;
    align-items: center;
    gap: 16px;
  }
  .block-index-intro ._title h3 {
    display: flex;
    width: 80px;
    height: 80px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    background-color: #FFF;
    border: 2px solid #E85567;
    color: #E85567;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
  }
  .block-index-intro ._title p {
    color: #E85567;
    font-size: 21px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
  }
  .block-index-intro ._doc {
    margin-right: -20px;
  }
  .block-index-intro ._date {
    width: 100%;
    padding: 8px 32px;
    border-radius: 100px;
    background: #fff;
    color: #E66877;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 16px */
    letter-spacing: 2.56px;
  }
  .block-index-intro ._note {
    padding-right: 10px;
    text-align: right;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* 12px */
  }
  .block-index-concept {
    z-index: 1;
    background-color: #EE869A;
    display: flex;
    padding: 90px 0 80px 0;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    position: relative;
    color: #fff;
  }
  .block-index-concept:before {
    content: "";
    display: block;
    position: absolute;
    top: -20px;
    left: calc(50% - 280px);
    background: url(../images/concept/en.png?) left top no-repeat;
    background-size: contain;
    width: 600px;
    height: 300px;
  }
  .block-index-concept ._lead {
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
  }
  .block-index-concept ._copy {
    text-align: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 180%;
  }
  .block-index-feature {
    position: relative;
    overflow: hidden;
  }
  .block-index-feature img {
    width: 100%;
  }
  .block-index-feature ._texts-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
  .block-index-feature ._texts-title ._titles {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
  }
  .block-index-feature ._texts-title ._btns a {
    width: 300px;
  }
  .block-index-feature ._copy {
    content: "";
    display: block;
    position: absolute;
    top: -20px;
    right: 10px;
    width: 160px;
  }
  .block-index-feature ._texts {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .mod-index-feature1 {
    position: relative;
  }
  .mod-index-feature1:after {
    display: block;
    content: "";
    padding-top: 116.5048543689%;
  }
  .mod-index-feature1 ._c1 {
    position: absolute;
    top: -10.25%;
    left: 44.95%;
    width: 31.07%;
    height: 26.67%;
  }
  .mod-index-feature1 ._voice1 {
    position: absolute;
    top: 6.25%;
    left: 45.53%;
    width: 21.94%;
    height: 14.67%;
  }
  .mod-index-feature1 ._p1 {
    position: absolute;
    top: 10.13%;
    left: 53.3%;
    width: 46.6%;
    height: 40%;
  }
  .mod-index-feature1 ._texts-title {
    position: absolute;
    top: 17.25%;
    left: 3.55%;
    width: 46.6%;
    height: 33.33%;
  }
  .mod-index-feature1 ._c2 {
    position: absolute;
    top: 47.75%;
    left: 97.96%;
    width: 22.91%;
    height: 19.67%;
  }
  .mod-index-feature1 ._voice2 {
    position: absolute;
    top: 52.92%;
    left: 29.51%;
    width: 22.52%;
    height: 14.08%;
  }
  .mod-index-feature1 ._p2 {
    position: absolute;
    top: 56.75%;
    left: 0.1%;
    width: 46.6%;
    height: 40%;
  }
  .mod-index-feature1 ._texts1 {
    position: absolute;
    top: 66%;
    left: 52.8%;
    width: 48.54%;
    height: 22.08%;
  }
  .mod-index-feature1 ._mark {
    position: absolute;
    top: 86.92%;
    left: 37.38%;
    width: 11.65%;
    height: 10%;
  }
  .mod-index-feature1 ._texts1 {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .mod-index-feature2 {
    position: relative;
  }
  .mod-index-feature2:after {
    display: block;
    content: "";
    padding-top: 162.1359223301%;
  }
  .mod-index-feature2 ._c3 {
    position: absolute;
    top: -9.04%;
    left: -25.15%;
    width: 46.6%;
    height: 28.74%;
  }
  .mod-index-feature2 ._voice3 {
    position: absolute;
    top: -0.3%;
    left: 28.64%;
    width: 23.11%;
    height: 9.34%;
  }
  .mod-index-feature2 ._p3 {
    position: absolute;
    top: 2.63%;
    left: -0.48%;
    width: 46.6%;
    height: 28.77%;
  }
  .mod-index-feature2 ._texts2 {
    position: absolute;
    top: 11.8%;
    left: 52.8%;
    width: 48.54%;
    height: 15.87%;
  }
  .mod-index-feature2 ._c4 {
    position: absolute;
    top: 30.84%;
    left: 84.08%;
    width: 31.07%;
    height: 18.86%;
  }
  .mod-index-feature2 ._voice4 {
    position: absolute;
    top: 33.29%;
    left: 41.84%;
    width: 27.14%;
    height: 10.18%;
  }
  .mod-index-feature2 ._p4 {
    position: absolute;
    top: 36.14%;
    left: 53.4%;
    width: 46.6%;
    height: 28.74%;
  }
  .mod-index-feature2 ._texts3 {
    position: absolute;
    top: 45.2%;
    left: -1.2%;
    width: 48.54%;
    height: 11.08%;
  }
  .mod-index-feature2 ._c5 {
    position: absolute;
    top: 55.33%;
    left: -16.02%;
    width: 31.07%;
    height: 18.86%;
  }
  .mod-index-feature2 ._voice5 {
    position: absolute;
    top: 66.77%;
    left: 28.54%;
    width: 23.59%;
    height: 10.84%;
  }
  .mod-index-feature2 ._p5 {
    position: absolute;
    top: 69.61%;
    left: 0%;
    width: 46.6%;
    height: 28.74%;
  }
  .mod-index-feature2 ._c6 {
    position: absolute;
    top: 87.9%;
    left: 86.21%;
    width: 11.75%;
    height: 7.43%;
  }
  .mod-index-feature2 ._texts4 {
    position: absolute;
    top: 78.8%;
    left: 52.8%;
    width: 48.54%;
    height: 11.08%;
  }
  .mod-index-feature2 ._product {
    position: absolute;
    top: 88.14%;
    left: 36.02%;
    width: 19.42%;
    height: 11.98%;
  }
  .mod-index-feature3 {
    position: relative;
  }
  .mod-index-feature3:after {
    display: block;
    content: "";
    padding-top: 108.7378640777%;
  }
  .mod-index-feature3 ._voice6 {
    position: absolute;
    top: 0.45%;
    left: 43.3%;
    width: 27.57%;
    height: 14.37%;
  }
  .mod-index-feature3 ._p6 {
    position: absolute;
    top: 4.78%;
    left: 53.3%;
    width: 46.6%;
    height: 42.86%;
  }
  .mod-index-feature3 ._texts5 {
    position: absolute;
    top: 21.1%;
    left: -1.2%;
    width: 48.54%;
    height: 16.52%;
  }
  .mod-index-feature3 ._c7 {
    position: absolute;
    top: 38.84%;
    left: 100.87%;
    width: 38.83%;
    height: 35.71%;
  }
  .mod-index-feature3 ._p7 {
    position: absolute;
    top: 54.82%;
    left: 0.1%;
    width: 46.6%;
    height: 42.86%;
  }
  .mod-index-feature3 ._texts6 {
    position: absolute;
    top: 68.64%;
    left: 52.8%;
    width: 48.54%;
    height: 16.52%;
  }
  .mod-index-feature3 ._voice7 {
    position: absolute;
    top: 46.88%;
    left: 23.69%;
    width: 30.68%;
    height: 17.59%;
  }
  .mod-index-feature4 {
    position: relative;
  }
  .mod-index-feature4:after {
    display: block;
    content: "";
    padding-top: 121.9417475728%;
  }
  .mod-index-feature4 ._voice8 {
    position: absolute;
    top: 0.4%;
    left: 42.82%;
    width: 28.06%;
    height: 12.86%;
  }
  .mod-index-feature4 ._p8 {
    position: absolute;
    top: 4.06%;
    left: 53.4%;
    width: 46.6%;
    height: 38.22%;
  }
  .mod-index-feature4 ._c8 {
    position: absolute;
    top: 9.95%;
    left: -6.12%;
    width: 11.65%;
    height: 9.55%;
  }
  .mod-index-feature4 ._texts7 {
    position: absolute;
    top: 18.79%;
    left: -1.2%;
    width: 48.54%;
    height: 14.73%;
  }
  .mod-index-feature4 ._c9 {
    position: absolute;
    top: 36.23%;
    left: -36.7%;
    width: 54.37%;
    height: 44.59%;
  }
  .mod-index-feature4 ._voice9 {
    position: absolute;
    top: 41.8%;
    left: 22.52%;
    width: 31.84%;
    height: 16.32%;
  }
  .mod-index-feature4 ._p9 {
    position: absolute;
    top: 48.69%;
    left: 0%;
    width: 46.6%;
    height: 38.22%;
  }
  .mod-index-feature4 ._texts8 {
    position: absolute;
    top: 61.1%;
    left: 52.8%;
    width: 48.54%;
    height: 14.73%;
  }
  .mod-index-feature4 ._c10 {
    position: absolute;
    top: 82.17%;
    left: 92.14%;
    width: 46.6%;
    height: 38.22%;
  }
  .mod-index-feature-items {
    display: flex;
    gap: 10px;
  }
  .mod-index-feature-item {
    width: 136px;
    height: 136px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: url(../images/feature/bg-points.svg) left top no-repeat;
    background-size: contain;
  }
  .mod-index-feature-item ._sub {
    color: #EA989B;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; /* 19.2px */
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .mod-index-feature-item ._sub small {
    font-size: 12px;
  }
  .mod-index-feature-item ._sub2 {
    color: #EA989B;
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; /* 19.2px */
  }
  .mod-index-feature-item ._num {
    color: #E66877;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
  }
  .mod-index-feature-item ._num b {
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 33.6px */
  }
  .mod-index-feature-lead {
    display: flex;
    gap: 8px;
    flex-direction: column;
    align-items: flex-start;
  }
  .mod-index-feature-lead.is-right-pc {
    align-items: flex-end;
  }
  .mod-index-feature-lead div {
    background-color: #fff;
  }
  .mod-index-feature-lead div span {
    display: block;
    padding: 8px 10px 8px 10px;
    color: #E66877;
    font-size: 36px;
    font-style: normal;
    font-weight: 700;
    transform: skew(-10deg);
  }
  .mod-index-feature-lead div span sup {
    font-size: 20px;
  }
  .mod-index-feature-lead div span small {
    font-size: 20px;
  }
  .block-index-points {
    position: relative;
    padding: 120px 0 165px 0;
  }
  .block-index-points img {
    width: 100%;
  }
  .block-index-points .block-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 80px;
  }
  .block-index-points ._title {
    position: relative;
    padding: 30px 0 30px 30px;
  }
  .block-index-points ._title h3 {
    position: relative;
    color: #EE869A;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 200%;
    text-align: center;
  }
  .block-index-points ._title h3 b {
    font-size: 64px;
  }
  .block-index-points ._title:before {
    content: "";
    display: block;
    position: absolute;
    top: -20px;
    left: calc(50% - 280px);
    background: url(../images/points/en.png?3) left top no-repeat;
    background-size: contain;
    width: 600px;
    height: 210px;
  }
  .block-index-points ._boxs {
    position: relative;
    padding: 0 0 0 16px;
    width: 100%;
    display: flex;
    gap: 80px;
    flex-direction: column;
  }
  .mod-points-box1 {
    position: relative;
  }
  .mod-points-box1 ._num {
    position: absolute;
    top: -30px;
    right: -35px;
    width: 110px;
    height: 110px;
  }
  .mod-points-box1 ._num.is-anim {
    animation: rotate 16s infinite linear;
  }
  .mod-points-box1 ._label {
    position: absolute;
    bottom: 25px;
    left: -15px;
    display: flex;
    padding: 2px 16px;
    color: #FFF;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    background: linear-gradient(315deg, #E85567 0%, #EE869A 100%);
  }
  .mod-points-box1 ._cols {
    background-color: #fff;
    box-shadow: 2.857px 2.857px 28.571px 0 rgba(0, 0, 0, 0.16);
    display: flex;
    border-radius: 40px;
    align-items: center;
    overflow: hidden;
  }
  .mod-points-box1 ._cols ._col-image {
    width: 480px;
  }
  .mod-points-box1 ._cols ._col-texts {
    flex: 1;
    padding: 0 32px 20px 32px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
  .mod-points-box1 ._cols ._copy {
    color: #EE869A;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 38.4px */
  }
  .mod-points-box1 ._cols ._copy sup {
    font-size: 14px;
  }
  .mod-points-box2 {
    margin-top: -20px;
    width: 100%;
    display: flex;
    padding: 24px 20px 24px 70px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.64);
  }
  .mod-points-box2 p {
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 200%; /* 28px */
  }
  .mod-index-list {
    display: flex;
    gap: 8px;
    flex-direction: column;
  }
  .mod-index-list li {
    position: relative;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%; /* 19.6px */
    padding-left: 25px;
  }
  .mod-index-list li sup {
    font-size: 10px;
  }
  .mod-index-list li::before {
    content: "";
    position: absolute;
    left: 3px;
    top: 5px;
    width: 10px;
    height: 10px;
    background: linear-gradient(135deg, #FFEFEF 0%, #EE869A 100%);
    border-radius: 50%;
  }
  @keyframes rotate {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }
  .block-bg-points {
    z-index: -1;
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    height: 100vh;
  }
  .block-bg-points ._bg1 {
    display: block;
    position: absolute;
    inset: 0;
    background-color: #fff;
    opacity: 0;
  }
  .block-bg-points ._bg2 {
    display: block;
    position: absolute;
    inset: 0;
    background-image: url(../images/points/bg.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    opacity: 0;
  }
  .js-state,
  .js-state2 {
    display: none;
    position: sticky;
    top: 20px;
    left: 20px;
    font-size: 20px;
    z-index: 10;
  }
  .mod-index-feature-cir span {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: url(../images/bg/bg-cir1.png) left top no-repeat;
    background-size: contain;
  }
  .mod-index-feature-cir.is-1 span {
    background-image: url(../images/bg/bg-cir1.png);
  }
  .mod-index-feature-cir.is-2 span {
    background-image: url(../images/bg/bg-cir2.png);
  }
  .mod-index-feature-cir.is-3 span {
    background-image: url(../images/bg/bg-cir3.png);
  }
  .mod-index-feature-cir.is-4 span {
    background-image: url(../images/bg/bg-cir4.png);
  }
  @keyframes keyf_cir1 {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-20px);
    }
    100% {
      transform: translateY(0);
    }
  }
  @keyframes keyf_cir2 {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(20px);
    }
    100% {
      transform: translateY(0);
    }
  }
  @keyframes keyf_cir3 {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-25px);
    }
    100% {
      transform: translateY(0);
    }
  }
  @keyframes keyf_cir4 {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-25px);
    }
    100% {
      transform: translateY(0);
    }
  }
  .block-index-feature2 {
    background-color: #fff;
    padding: 120px 0 120px 0;
  }
  .block-index-feature2 .block-inner {
    display: flex;
    gap: 80px;
    flex-direction: column;
  }
  .mod-index-features2-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 60px;
  }
  .mod-index-features2-items > li {
    width: 300px;
  }
  .mod-indexfeatures2-item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .mod-indexfeatures2-item ._item-image {
    padding: 15px 0 0 0;
  }
  .mod-indexfeatures2-item ._item-image img {
    width: 100%;
  }
  .mod-indexfeatures2-item ._item-image ._image {
    margin: 0 auto;
    width: 180px;
  }
  .mod-indexfeatures2-item ._item-image ._no {
    position: absolute;
    top: -5px;
    left: calc(50% - 25px);
    width: 60px;
  }
  .mod-indexfeatures2-item ._item-texts {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .mod-indexfeatures2-item ._item-texts h3 {
    color: #EE869A;
    text-align: center;
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 35.2px */
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .mod-indexfeatures2-item ._item-texts ._doc {
    color: #555;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%; /* 28.8px */
  }
  .mod-indexfeatures2-item ._item-texts ._note {
    color: #555;
    text-align: center;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
  }
  .block-index-faq {
    height: 405px;
    position: relative;
    background: #EE869A;
  }
  .block-index-faq img {
    width: 100%;
  }
  .block-index-faq ._cols {
    width: 100%;
    display: flex;
    flex-direction: row-reverse;
  }
  .block-index-faq ._cols ._col-image {
    flex: 1;
  }
  .block-index-faq ._cols ._col-image img {
    height: 405px;
    object-fit: cover;
  }
  .block-index-faq ._cols ._col-texts {
    padding: 50px 0 0 0;
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 100px;
    flex-direction: column;
    position: relative;
  }
  .block-index-faq ._cols ._col-texts:before {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: calc(50% - 305px);
    background: url(../images/faq/en.png?) left top no-repeat;
    background-size: contain;
    width: 600px;
    height: 300px;
  }
  .block-index-faq h2 {
    color: #FFF;
    text-align: center;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
  }
  .block-index-faq ._btns {
    width: 300px;
  }
  .block-index-movie {
    position: relative;
    padding: 120px 0 160px 0;
    background-color: #fff;
    overflow: hidden;
  }
  .block-index-movie ._c2 {
    position: absolute;
    top: 5.15%;
    left: -31.55%;
    width: 23.3%;
    height: 40.48%;
  }
  .block-index-movie ._c1 {
    position: absolute;
    top: -64.84%;
    left: 61.17%;
    width: 31.07%;
    height: 54.03%;
  }
  .block-index-movie ._c3 {
    position: absolute;
    top: 57.46%;
    left: 86.99%;
    width: 45.83%;
    height: 82.33%;
  }
  .block-index-movie img {
    width: 100%;
  }
  .block-index-movie .block-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 110px;
  }
  .block-index-movie ._title {
    position: relative;
    padding: 60px 0 30px 0px;
  }
  .block-index-movie ._title h2 {
    position: relative;
    color: #EE869A;
    text-align: center;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
  }
  .block-index-movie ._title:before {
    content: "";
    display: block;
    position: absolute;
    top: -20px;
    left: calc(50% - 300px);
    background: url(../images/movie/en.png?2) left top no-repeat;
    background-size: contain;
    width: 600px;
    height: 210px;
  }
  .block-index-movie ._items {
    position: relative;
  }
  .mod-index-movie-items {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 70px;
    flex-wrap: wrap;
  }
  .mod-index-movie-items > li {
    width: 480px;
  }
  .mod-index-movie-item {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .mod-index-movie-item ._item-image img {
    width: 100%;
  }
  .mod-index-movie-item ._item-texts p {
    color: #555;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
  }
  .mod-index-movie-item ._item-texts p._coming {
    text-align: center;
    color: #EE869A;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 200%; /* 96px */
  }
  .block-index-sns {
    background-color: #FFEFEF;
    position: relative;
    padding: 70px 0 0px 0;
  }
  .block-index-sns img {
    width: 100%;
  }
  .block-index-sns .block-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .mod-index-sns-cols {
    width: 1027px;
    margin: 0 auto;
    display: flex;
    gap: 46px;
  }
  .mod-index-sns-cols ._col-image {
    width: 501px;
    transform: translate(20px, 0);
  }
  .mod-index-sns-cols ._col-title {
    width: 480px;
    padding: 20px 0 0 0;
    display: flex;
    gap: 30px;
    flex-direction: column;
	margin: auto;
	padding-bottom: 100px;
  }
  .mod-index-sns-cols ._btns {
    width: 400px;
    margin: 0 auto;
  }
  .block-index-last {
    position: relative;
    padding: 200px 0 45px 0;
  }
  .block-index-last ._bg {
    position: absolute;
    inset: 0;
    background: url(../images/last/members.jpg?) center center no-repeat;
    background-size: 100% auto;
  }
  .block-index-last ._inner {
    position: relative;
    display: flex;
    gap: 20px;
    flex-direction: column;
    align-items: center;
  }
  .block-index-last p {
    color: #FFF;
    text-shadow: 0 0 16px #EE87B4;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 76.8px */
  }
  .block-index-last ._btns {
    width: 300px;
  }
  .mod-index-title1 {
    text-align: center;
  }
  .mod-index-title1 span {
    border-radius: 100px;
    background: #FCC;
    padding: 8px 35px;
    color: #E66877;
    display: inline-block;
    text-align: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
  }
  .mod-index-title2 {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 10px;
  }
  .mod-index-title2:before, .mod-index-title2:after {
    content: "";
    display: inline-block;
    background: url(../images/common/line.png) left top no-repeat;
    background-size: contain;
    width: 13px;
    height: 22px;
  }
  .mod-index-title2:after {
    transform: scale(-1, 1);
  }
  .mod-index-title2 * {
    color: #EA989B;
    position: relative;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
  }
  .mod-index-title3 {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 10px;
  }
  .mod-index-title3:before, .mod-index-title3:after {
    content: "";
    display: inline-block;
    background: url(../images/common/line.png) left top no-repeat;
    background-size: contain;
    width: 13px;
    height: 22px;
  }
  .mod-index-title3:after {
    transform: scale(-1, 1);
  }
  .mod-index-title3 * {
    position: relative;
    color: #EE869A;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
  }
  .mod-index-title4 {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 10px;
  }
  .mod-index-title4:before, .mod-index-title4:after {
    content: "";
    display: inline-block;
    background: url(../images/common/line.png) left top no-repeat;
    background-size: contain;
    width: 13px;
    height: 22px;
  }
  .mod-index-title4:after {
    transform: scale(-1, 1);
  }
  .mod-index-title4 * {
    position: relative;
    color: #E85567;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
  }
  .mod-index-title5 {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 30px;
  }
  .mod-index-title5:before, .mod-index-title5:after {
    content: "";
    display: inline-block;
    background: url(../images/common/line.png) left top no-repeat;
    background-size: contain;
    width: 19.5px;
    height: 33px;
  }
  .mod-index-title5:after {
    transform: scale(-1, 1);
  }
  .mod-index-title5 * {
    position: relative;
    color: #EE869A;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
  }
  .mod-index-btn-buy {
    position: relative;
    display: flex;
    padding: 20px 32px;
    justify-content: center;
    align-items: center;
    gap: 5px;
    align-self: stretch;
    border-radius: 16px 0;
    background: linear-gradient(315deg, #EE869A 0%, #E85567 50%, #EE869A 100%);
    background-size: 200% 100%;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-index-btn-buy:hover {
    background-position: 100% 0;
  }
  .mod-index-btn-buy:hover:after {
    animation: key_btn_hover 0.6s ease-in-out 0s;
  }
  .mod-index-btn-buy.is-wh {
    background: #FFF;
    background: linear-gradient(315deg, #EE869A 0%, #EE869A 36%, #FFF 66%, #Fff 100%);
    background-size: 300% 100%;
  }
  .mod-index-btn-buy.is-wh:hover {
    background-position: 100% 0;
  }
  .mod-index-btn-buy.is-wh:hover span {
    color: #fff;
  }
  .mod-index-btn-buy.is-wh:hover:after {
    background-image: url(../images/common/icon-arrow-a-wh.svg?);
  }
  .mod-index-btn-buy.is-wh span {
    color: #EE869A;
  }
  .mod-index-btn-buy.is-wh:after {
    background-image: url(../images/common/icon-arrow-a.svg?);
  }
  .mod-index-btn-buy img {
    width: 18px;
  }
  .mod-index-btn-buy span {
    color: #FFF;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 19.2px */
  }
  .mod-index-btn-buy:after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 12px);
    right: 20px;
    background: url(../images/common/icon-arrow-a-wh.svg) left top no-repeat;
    background-size: contain;
    width: 12px;
    height: 24px;
  }
  @keyframes key_btn_hover {
    0% {
      transform: translate3d(0, 0, 0);
      opacity: 1;
    }
    50% {
      transform: translate3d(10px, 0, 0);
      opacity: 0;
    }
    51% {
      transform: translate3d(-1px, 0, 0);
      opacity: 0;
    }
    100% {
      transform: translate3d(0, 0, 0);
      opacity: 1;
    }
  }
  .mod-index-btn-cta {
    width: 13.8888888889vw;
    height: 13.8888888889vw;
    background: linear-gradient(315deg, #E85567 0%, #EE869A 50%, #E85567 100%);
    background-size: 200% 100%;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    box-sizing: border-box;
    padding-bottom: 0.6944444444vw;
    gap: 1.0416666667vw;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-index-btn-cta img {
    width: 100%;
  }
  .mod-index-btn-cta:hover {
    background-position: 100% 0;
  }
  .mod-index-btn-cta:after {
    content: "";
    display: block;
    position: absolute;
    top: -0.1388888889vw;
    left: -0.1388888889vw;
    background: url(../images/cta/chara.svg) left top no-repeat;
    background-size: contain;
    width: 4.1666666667vw;
    height: 3.5416666667vw;
    animation: yurayura 1s ease-in-out 0s infinite;
  }
  .mod-index-btn-cta ._icon {
    width: 2.6388888889vw;
    margin-right: 0.2777777778vw;
  }
  .mod-index-btn-cta span {
    color: #FFF;
    text-align: center;
    font-size: 1.3888888889vw;
    font-style: normal;
    font-weight: 700;
    line-height: 132%;
  }
  @keyframes yurayura {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-0.5vw);
    }
    100% {
      transform: translateY(0);
    }
  }
}
@media screen and (max-width: 767px) {
  body {
    background-color: #FFEFEF;
    color: #555;
    font-family: "Zen Maru Gothic", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-feature-settings: "palt";
  }
  .area-wrapper {
    overflow: hidden;
  }
  .area-footer {
    background-color: #fff;
    padding: 16vw 5.3333333333vw 16vw 5.3333333333vw;
    display: flex;
    gap: 8.5333333333vw;
    flex-direction: column;
    text-align: center;
  }
  .area-footer img {
    width: 100%;
  }
  .area-footer ._logo {
    text-align: center;
  }
  .area-footer ._logo img {
    width: 53.3333333333vw;
  }
  .area-footer ._x {
    text-align: center;
  }
  .area-footer ._x img {
    width: 10.6666666667vw;
  }
  .area-footer ._navi {
    margin-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
  .area-footer ._copy {
    border-top: 1px solid #E4E4E4;
    text-align: center;
    padding: 6.9333333333vw 0 0 0;
  }
  .area-footer ._copy small {
    font-size: 2.6666666667vw;
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* $w12 */
  }
  .mod-footer-gnavi {
    display: flex;
    gap: 6.4vw;
    flex-direction: column;
  }
  .mod-footer-gnavi a {
    color: #555;
    font-size: 4.2666666667vw;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 25.$w6 */
  }
  .mod-anim {
    transition-delay: 0.2s;
    transition-duration: 0.7s;
  }
  .mod-anim.is-fade {
    opacity: 0;
    transition-duration: 2s;
  }
  .mod-anim.is-fade.js-active {
    opacity: 1;
  }
  .mod-anim.is-blur {
    transition-delay: 0.8s;
    transition-duration: 1.5s;
    filter: blur(30px);
  }
  .mod-anim.is-blur.js-active {
    opacity: 1;
    filter: blur(0px);
  }
  .mod-anim.is-top {
    opacity: 0;
    transform: translate(0, -3vw);
  }
  .mod-anim.is-top.js-active {
    opacity: 1;
    transform: translate(0, 0);
  }
  .mod-anim.is-bottom {
    opacity: 0;
    transform: translate(0, 5vw);
  }
  .mod-anim.is-bottom.js-active {
    opacity: 1;
    transform: translate(0, 0);
  }
  .mod-anim.is-right {
    opacity: 0;
    transform: translate(10vw, 0);
  }
  .mod-anim.is-right.js-active {
    opacity: 1;
    transform: translate(0, 0);
  }
  .mod-anim.is-left {
    opacity: 0;
    transform: translate(-10vw, 0);
  }
  .mod-anim.is-left.js-active {
    opacity: 1;
    transform: translate(0, 0);
  }
  .mod-anim.is-pon {
    transition-duration: 0.4s;
    transform: scale(0);
    transform-origin: center center;
    opacity: 0;
  }
  .mod-anim.is-pon.js-active {
    transform: scale(1);
    opacity: 1;
  }
  .mod-anim.is-delay-0 {
    transition-delay: 0s;
  }
  .mod-anim.is-delay-1 {
    transition-delay: 0.1s;
  }
  .mod-anim.is-delay-2 {
    transition-delay: 0.2s;
  }
  .mod-anim.is-delay-3 {
    transition-delay: 0.3s;
  }
  .mod-anim.is-delay-4 {
    transition-delay: 0.4s;
  }
  .mod-anim.is-delay-5 {
    transition-delay: 0.5s;
  }
  .mod-anim.is-delay-6 {
    transition-delay: 0.6s;
  }
  .mod-anim.is-delay-7 {
    transition-delay: 0.7s;
  }
  .mod-anim.is-delay-8 {
    transition-delay: 0.8s;
  }
  .mod-anim.is-delay-9 {
    transition-delay: 0.9s;
  }
  .mod-anim.is-delay-10 {
    transition-delay: 1s;
  }
  .mod-anim.is-delay-11 {
    transition-delay: 1.1s;
  }
  .mod-anim.is-delay-12 {
    transition-delay: 1.2s;
  }
  .mod-anim.is-delay-13 {
    transition-delay: 1.3s;
  }
  .mod-anim.is-delay-14 {
    transition-delay: 1.4s;
  }
  .mod-anim.is-delay-15 {
    transition-delay: 1.5s;
  }
  .mod-anim.is-delay-16 {
    transition-delay: 1.6s;
  }
  .mod-anim.is-delay-17 {
    transition-delay: 1.7s;
  }
  .mod-anim.is-delay-18 {
    transition-delay: 1.8s;
  }
  .mod-anim.is-delay-19 {
    transition-delay: 1.9s;
  }
  .mod-anim.is-delay-20 {
    transition-delay: 2s;
  }
  .mod-doc {
    display: flex;
    gap: 6.4vw;
    flex-direction: column;
  }
  .mod-doc p {
    color: #555;
    font-size: 4.2666666667vw;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
  }
  .mod-doc p._note {
    font-size: 3.2vw;
  }
  .mod-hover {
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-hover:hover {
    opacity: 0.8;
  }
  .modal-loading {
    position: fixed;
    inset: 0;
    z-index: 50;
    background-color: #FFEFEF;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    transition-duration: 0.4s;
  }
  .modal-loading img {
    width: 100%;
  }
  .modal-loading ._logo {
    width: 53.3333333333vw;
    opacity: 0;
    transition-duration: 0.8s;
    filter: blur(8vw);
  }
  body.js-loading-1 .modal-loading ._logo {
    opacity: 1;
    filter: blur(0);
  }
  body.js-loading-pre-last .modal-loading {
    opacity: 0;
  }
  body.js-loading-last .modal-loading {
    display: none;
  }
  .block-index-mv {
    position: relative;
    overflow: hidden;
    height: 149vw;
  }
  .block-index-mv img {
    width: 100%;
  }
  .block-index-mv ._mv {
    position: absolute;
    top: 0vw;
    left: 0vw;
    width: 100vw;
    height: 149vw;
  }
  .block-index-mv ._icon-insta {
    position: absolute;
    top: 2.67vw;
    left: 80.53vw;
    width: 8.27vw;
    height: 8.27vw;
  }
  .block-index-mv ._icon-x {
    position: absolute;
    top: 2.67vw;
    left: 88.8vw;
    width: 8.27vw;
    height: 8.27vw;
  }
  .block-index-mv ._deco1 {
    position: absolute;
    top: 110.17vw;
    left: 0vw;
    width: 100vw;
    height: 39.2vw;
  }
  .block-index-mv ._product {
    position: absolute;
    top: 109.23vw;
    left: 1.6vw;
    width: 31.73vw;
    height: 37.6vw;
  }
  .block-index-mv ._copy {
    position: absolute;
    top: 109.03vw;
    left: 46.4vw;
    width: 53.6vw;
    height: 14.27vw;
  }
  .block-index-mv ._lead {
    position: absolute;
    top: 125.5vw;
    left: 15vw;
  }
  .block-index-mv ._mv {
    transition-duration: 0.8s;
    transform: scale(1.05);
  }
  body.js-loading-pre-last .block-index-mv ._mv {
    transform: scale(1);
  }
  .float-btn-cta {
    z-index: 10;
    position: fixed;
    top: 136vw;
    right: 2.6666666667vw;
    width: 21.8666666667vw;
    height: 21.8666666667vw;
    transition-duration: 1s;
  }
  body.js-fixed-menu .float-btn-cta {
    top: calc(100vh - 26vw);
  }
  .mod-index-mv-lead {
    display: flex;
    gap: 1.0666666667vw;
    flex-direction: column;
    align-items: flex-start;
  }
  .mod-index-mv-lead div {
    background-color: #fff;
  }
  .mod-index-mv-lead div span {
    display: block;
    padding: 1.3333333333vw 2.6666666667vw 1.3333333333vw 11.2vw;
    color: #E66877;
    font-size: 4.1666666667vw;
    font-weight: 500;
    line-height: 1;
    transform: skew(-10deg);
  }
  .block-index-lead {
    padding: 9.3333333333vw 5.3333333333vw 18.6666666667vw 5.3333333333vw;
    display: flex;
    gap: 5.3333333333vw;
    flex-direction: column;
  }
  .block-index-lead ._lead {
    color: #E66877;
    text-align: center;
    font-size: 6.4vw;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
  }
  .block-index-lead ._lead b {
    font-size: 10.6666666667vw;
  }
  .block-index-lead ._note {
    color: #555;
    text-align: left;
    font-size: 3.2vw;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
  }
  .block-index-intro {
    margin-top: -1px;
    background-color: #fff;
    padding: 16vw 5.3333333333vw 16vw 5.3333333333vw;
    position: relative;
  }
  .block-index-intro img {
    width: 100%;
  }
  .block-index-intro .block-inner {
    display: flex;
    gap: 8.8vw;
    flex-direction: column;
  }
  .block-index-intro ._box {
    border: 1.6vw solid #EA989B;
    padding: 5.3333333333vw 5.3333333333vw 5.3333333333vw 5.3333333333vw;
    background: #FFEFEF;
  }
  .block-index-intro ._cols {
    display: flex;
    flex-direction: column-reverse;
    gap: 5.3333333333vw;
  }
  .block-index-intro ._cols ._col-image {
    display: flex;
    flex-direction: column;
    gap: 3.2vw;
  }
  .block-index-intro ._cols ._col-texts {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4.2666666667vw;
  }
  .block-index-intro ._title {
    width: 100%;
    text-align: center;
    display: flex;
    gap: 4vw;
    flex-direction: column;
  }
  .block-index-intro ._title h3 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2.6666666667vw;
    background-color: #FFF;
    border: 0.5333333333vw solid #E85567;
    color: #E85567;
    font-size: 4.2666666667vw;
    padding: 1.3333333333vw;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
  }
  .block-index-intro ._title h3 br {
    display: none;
  }
  .block-index-intro ._title p {
    color: #E85567;
    font-size: 4.2666666667vw;
    font-style: normal;
    font-weight: 700;
    line-height: 132%;
  }
  .block-index-intro ._doc p {
    font-size: 3.7333333333vw;
  }
  .block-index-intro ._date {
    width: 100%;
    padding: 2.1333333333vw 8.5333333333vw;
    border-radius: 26.6666666667vw;
    background: #fff;
    color: #E66877;
    text-align: center;
    font-size: 3.7333333333vw;
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* $w16 */
  }
  .block-index-intro ._note {
    padding-right: 2.6666666667vw;
    text-align: right;
    font-size: 3.2vw;
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* $w12 */
  }
  .block-index-concept {
    z-index: 1;
    background-color: #EE869A;
    display: flex;
    padding: 17.3333333333vw 0 18.6666666667vw 0;
    flex-direction: column;
    align-items: center;
    gap: 8.5333333333vw;
    position: relative;
    color: #fff;
  }
  .block-index-concept:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 5.3333333333vw;
    width: 80vw;
    height: 42.6666666667vw;
    left: calc(50% - 34.6666666667vw);
    background: url(../images/concept/en.png?) left top no-repeat;
    background-size: contain;
  }
  .block-index-concept ._leads {
    display: flex;
    gap: 2.6666666667vw;
    flex-direction: column;
  }
  .block-index-concept ._lead {
    text-align: center;
    font-size: 4.2666666667vw;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
  }
  .block-index-concept ._copy {
    text-align: center;
    font-size: 6.4vw;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
  }
  .mod-index-lineup-items ._item {
    width: 300px;
  }
  .mod-index-lineup-item {
    display: inline-block;
    padding: 30px;
    line-height: 2;
    background-color: #fff;
  }
  .mod-mv-sp-slider {
    position: relative;
  }
  .mod-mv-sp-slider img {
    width: 100%;
  }
  .mod-mv-sp-slider .swiper {
    overflow: visible;
  }
  .mod-mv-sp-slider .swiper-button-prev {
    z-index: 10;
    display: block;
    position: absolute;
    top: calc(50% - 4vw);
    left: 1.3333333333vw;
    background: #000;
    width: 8vw;
    height: 8vw;
    border-radius: 50%;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-mv-sp-slider .swiper-button-prev:hover {
    opacity: 0.8;
  }
  .mod-mv-sp-slider .swiper-button-prev:after {
    content: "";
  }
  .mod-mv-sp-slider .swiper-button-next {
    z-index: 10;
    display: block;
    position: absolute;
    top: calc(50% - 4vw);
    right: 1.3333333333vw;
    background: #000;
    width: 8vw;
    height: 8vw;
    border-radius: 50%;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-mv-sp-slider .swiper-button-next:hover {
    opacity: 0.8;
  }
  .mod-mv-sp-slider .swiper-button-next:after {
    content: "";
  }
  .mod-mv-sp-slider .swiper-slide {
    transition-duration: 1s;
  }
  .block-index-feature {
    position: relative;
    overflow: hidden;
  }
  .block-index-feature img {
    width: 100%;
  }
  .block-index-feature ._texts-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6.4vw;
  }
  .block-index-feature ._texts-title ._titles {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8.5333333333vw;
  }
  .block-index-feature ._texts-title ._btns a {
    width: 89.3333333333vw;
  }
  .block-index-feature ._copy {
    content: "";
    display: block;
    position: absolute;
    top: -2.6666666667vw;
    right: 0;
    width: 26.6666666667vw;
  }
  .block-index-feature ._texts {
    display: flex;
    gap: 5.3333333333vw;
    flex-direction: column;
  }
  .mod-index-feature1 {
    position: relative;
    height: 374.93vw;
  }
  .mod-index-feature1 ._voice1 {
    position: absolute;
    top: 15.2vw;
    left: 3.47vw;
    width: 36.8vw;
    height: 28.53vw;
  }
  .mod-index-feature1 ._p1 {
    position: absolute;
    top: 22.87vw;
    left: 10.86vw;
    width: 78.28vw;
    height: 78.28vw;
  }
  .mod-index-feature1 ._texts-title {
    position: absolute;
    top: 106.87vw;
    left: 0vw;
    width: 100vw;
    height: 76.53vw;
  }
  .mod-index-feature1 ._voice2 {
    position: absolute;
    top: 191.8vw;
    left: 58.13vw;
    width: 37.6vw;
    height: 27.47vw;
  }
  .mod-index-feature1 ._c1 {
    position: absolute;
    top: -12.6vw;
    left: -3.47vw;
    width: 41.6vw;
    height: 41.6vw;
  }
  .mod-index-feature1 ._c2 {
    position: absolute;
    top: 191.73vw;
    left: 77.33vw;
    width: 28vw;
    height: 27.73vw;
  }
  .mod-index-feature1 ._p2 {
    position: absolute;
    top: 203.78vw;
    left: 11.39vw;
    width: 78.28vw;
    height: 78.28vw;
  }
  .mod-index-feature1 ._mark {
    position: absolute;
    top: 264vw;
    left: 10.67vw;
    width: 19.2vw;
    height: 19.2vw;
  }
  .mod-index-feature1 ._texts1 {
    position: absolute;
    top: 292.53vw;
    left: 5.33vw;
    width: 89.33vw;
    height: 77.33vw;
  }
  .mod-index-feature1 ._texts1 {
    display: flex;
    gap: 5.3333333333vw;
    flex-direction: column;
  }
  .mod-index-feature2 {
    position: relative;
    height: 413.33vw;
  }
  .mod-index-feature2 ._c3 {
    position: absolute;
    top: -160.33vw;
    left: -14.67vw;
    width: 56.53vw;
    height: 56.27vw;
    z-index: -1;
  }
  .mod-index-feature2 ._voice3 {
    position: absolute;
    top: 4.8vw;
    left: 55.47vw;
    width: 38.93vw;
    height: 25.6vw;
  }
  .mod-index-feature2 ._p3 {
    position: absolute;
    top: 14.73vw;
    left: 10.83vw;
    width: 78.28vw;
    height: 78.36vw;
  }
  .mod-index-feature2 ._texts2 {
    position: absolute;
    top: 98.4vw;
    left: 5.33vw;
    width: 89.33vw;
    height: 43.2vw;
  }
  .mod-index-feature2 ._voice4 {
    position: absolute;
    top: 143.56vw;
    left: 3.91vw;
    width: 45.58vw;
    height: 27.72vw;
  }
  .mod-index-feature2 ._c4 {
    position: absolute;
    top: 148vw;
    left: 69.6vw;
    width: 30.4vw;
    height: 29.87vw;
  }
  .mod-index-feature2 ._p4 {
    position: absolute;
    top: 154.24vw;
    left: 10.52vw;
    width: 78.28vw;
    height: 78.28vw;
  }
  .mod-index-feature2 ._texts3 {
    position: absolute;
    top: 237.6vw;
    left: 5.6vw;
    width: 89.33vw;
    height: 30.13vw;
  }
  .mod-index-feature2 ._c5 {
    position: absolute;
    top: 276.27vw;
    left: -5.87vw;
    width: 40vw;
    height: 39.47vw;
  }
  .mod-index-feature2 ._voice5 {
    position: absolute;
    top: 283.2vw;
    left: 54.18vw;
    width: 39.47vw;
    height: 29.33vw;
  }
  .mod-index-feature2 ._p5 {
    position: absolute;
    top: 293.93vw;
    left: 11.13vw;
    width: 78.28vw;
    height: 78.28vw;
  }
  .mod-index-feature2 ._product {
    position: absolute;
    top: 340.8vw;
    left: 4.53vw;
    width: 33.07vw;
    height: 32.8vw;
  }
  .mod-index-feature2 ._texts4 {
    position: absolute;
    top: 376.8vw;
    left: 5.6vw;
    width: 89.33vw;
    height: 30.13vw;
  }
  .mod-index-feature3 {
    position: relative;
    height: 282.67vw;
  }
  .mod-index-feature3 ._c6 {
    position: absolute;
    top: 5.07vw;
    left: 80vw;
    width: 20vw;
    height: 20vw;
  }
  .mod-index-feature3 ._voice6 {
    position: absolute;
    top: 8.95vw;
    left: -1.07vw;
    width: 46.4vw;
    height: 26.13vw;
  }
  .mod-index-feature3 ._p6 {
    position: absolute;
    top: 20.24vw;
    left: 10.92vw;
    width: 78.28vw;
    height: 78.28vw;
  }
  .mod-index-feature3 ._texts5 {
    position: absolute;
    top: 108.27vw;
    left: 5.6vw;
    width: 89.33vw;
    height: 30.13vw;
  }
  .mod-index-feature3 ._voice7 {
    position: absolute;
    top: 141.87vw;
    left: 46.27vw;
    width: 51.2vw;
    height: 32vw;
  }
  .mod-index-feature3 ._p7 {
    position: absolute;
    top: 152.73vw;
    left: 10.86vw;
    width: 78.28vw;
    height: 78.28vw;
  }
  .mod-index-feature3 ._c7 {
    position: absolute;
    top: 204.27vw;
    left: 57.6vw;
    width: 56vw;
    height: 56vw;
  }
  .mod-index-feature3 ._texts6 {
    position: absolute;
    top: 238.53vw;
    left: 5.6vw;
    width: 89.33vw;
    height: 30.13vw;
  }
  .mod-index-feature4 {
    position: relative;
    height: 292vw;
  }
  .mod-index-feature4 ._voice8 {
    position: absolute;
    top: 3.36vw;
    left: 3.38vw;
    width: 47.13vw;
    height: 26.34vw;
  }
  .mod-index-feature4 ._c8 {
    position: absolute;
    top: 14.67vw;
    left: -25.33vw;
    width: 20vw;
    height: 18.93vw;
  }
  .mod-index-feature4 ._p8 {
    position: absolute;
    top: 13.6vw;
    left: 10.53vw;
    width: 78.4vw;
    height: 78.13vw;
  }
  .mod-index-feature4 ._texts7 {
    position: absolute;
    top: 101.6vw;
    left: 5.6vw;
    width: 89.33vw;
    height: 30.13vw;
  }
  .mod-index-feature4 ._voice9 {
    position: absolute;
    top: 130.93vw;
    left: 42.84vw;
    width: 53.6vw;
    height: 33.6vw;
  }
  .mod-index-feature4 ._p9 {
    position: absolute;
    top: 146.27vw;
    left: 10.76vw;
    width: 78.28vw;
    height: 78.28vw;
  }
  .mod-index-feature4 ._c9 {
    position: absolute;
    top: 233.87vw;
    left: -13.6vw;
    width: 31.47vw;
    height: 31.47vw;
  }
  .mod-index-feature4 ._texts8 {
    position: absolute;
    top: 233.87vw;
    left: 5.6vw;
    width: 89.33vw;
    height: 30.13vw;
  }
  .mod-index-feature4 ._c10 {
    position: absolute;
    top: 256vw;
    left: 62.4vw;
    width: 64vw;
    height: 64vw;
  }
  .mod-index-feature-items {
    display: flex;
    gap: 1.6vw;
  }
  .mod-index-feature-item {
    width: 28.8vw;
    height: 28.8vw;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: url(../images/feature/bg-points.svg) left top no-repeat;
    background-size: contain;
  }
  .mod-index-feature-item ._sub {
    color: #EA989B;
    text-align: center;
    font-size: 3.2vw;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; /* 19.$w2 */
    height: 10.6666666667vw;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .mod-index-feature-item ._sub small {
    font-size: 3.2vw;
  }
  .mod-index-feature-item ._sub2 {
    color: #EA989B;
    text-align: center;
    font-size: 3.7333333333vw;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; /* 19.$w2 */
  }
  .mod-index-feature-item ._num {
    color: #E66877;
    text-align: center;
    font-size: 2.9333333333vw;
    font-style: normal;
    font-weight: 700;
  }
  .mod-index-feature-item ._num b {
    font-size: 5.8666666667vw;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 33.$w6 */
  }
  .mod-index-feature-lead {
    display: flex;
    gap: 1.0666666667vw;
    flex-direction: column;
    align-items: flex-start;
  }
  .mod-index-feature-lead.is-right-sp {
    align-items: flex-end;
  }
  .mod-index-feature-lead div {
    background-color: #fff;
  }
  .mod-index-feature-lead div span {
    display: block;
    padding: 2.1333333333vw 2.6666666667vw 2.1333333333vw 2.6666666667vw;
    color: #E66877;
    font-size: 6.4vw;
    font-style: normal;
    font-weight: 700;
    transform: skew(-10deg);
  }
  .mod-index-feature-lead div span sup {
    font-size: 3.2vw;
  }
  .mod-index-feature-lead div span small {
    font-size: 5.3333333333vw;
  }
  .block-index-points {
    position: relative;
    padding: 16vw 5.3333333333vw 21.3333333333vw 5.3333333333vw;
  }
  .block-index-points img {
    width: 100%;
  }
  .block-index-points .block-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 13.3333333333vw;
  }
  .block-index-points ._title {
    position: relative;
    padding: 6.6666666667vw 0 8vw 8vw;
  }
  .block-index-points ._title h3 {
    position: relative;
    color: #EE869A;
    font-size: 6.4vw;
    font-style: normal;
    font-weight: 700;
    line-height: 200%;
    text-align: center;
  }
  .block-index-points ._title h3 b {
    font-size: 6.4vw;
    font-style: normal;
  }
  .block-index-points ._title:before {
    content: "";
    display: block;
    position: absolute;
    top: -1vw;
    left: -13vw;
    background: url(../images/points/en.png?3) left top no-repeat;
    background-size: contain;
    width: 80vw;
    height: 28vw;
  }
  .mod-points-box1 {
    position: relative;
  }
  .mod-points-box1.is-1 ._num {
    right: -2.6666666667vw;
  }
  .mod-points-box1.is-1 ._label {
    left: -2.6666666667vw;
  }
  .mod-points-box1.is-2 ._num {
    left: -2.6666666667vw;
  }
  .mod-points-box1.is-2 ._label {
    right: -2.6666666667vw;
  }
  .mod-points-box1.is-3 ._num {
    right: -2.6666666667vw;
  }
  .mod-points-box1.is-3 ._label {
    left: -2.6666666667vw;
  }
  .mod-points-box1 ._num {
    position: absolute;
    top: -9.3333333333vw;
    width: 20.2666666667vw;
    height: 20.2666666667vw;
  }
  .mod-points-box1 ._num.is-anim {
    animation: rotate 16s infinite linear;
  }
  .mod-points-box1 ._label {
    position: absolute;
    top: 45.3333333333vw;
    display: flex;
    padding: 0.5333333333vw 4.2666666667vw;
    color: #FFF;
    font-size: 5.3333333333vw;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    background: linear-gradient(315deg, #E85567 0%, #EE869A 100%);
  }
  .mod-points-box1 ._cols {
    background-color: #fff;
    box-shadow: 0.8vw 0.8vw 8vw 0 rgba(0, 0, 0, 0.16);
    border-radius: 5.3333333333vw;
    overflow: hidden;
  }
  .mod-points-box1 ._cols ._col-texts {
    padding: 5.3333333333vw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3.7333333333vw;
  }
  .mod-points-box1 ._cols ._copy {
    color: #EE869A;
    font-size: 4.2666666667vw;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; /* 38.$w4 */
  }
  .mod-points-box2 {
    margin-top: 4vw;
    width: 100%;
    display: flex;
    padding: 5.3333333333vw;
    border-radius: 4.2666666667vw;
    background: rgba(255, 255, 255, 0.64);
  }
  .mod-points-box2 p {
    font-size: 3.2vw;
    font-style: normal;
    font-weight: 500;
    line-height: 200%; /* $w28 */
  }
  ._boxs {
    position: relative;
    display: flex;
    gap: 18.1333333333vw;
    flex-direction: column;
  }
  .mod-index-list {
    display: flex;
    gap: 2.1333333333vw;
    flex-direction: column;
  }
  .mod-index-list li {
    position: relative;
    font-size: 3.7333333333vw;
    font-style: normal;
    font-weight: 500;
    line-height: 140%; /* 19.$w6 */
    padding-left: 6.6666666667vw;
  }
  .mod-index-list li sup {
    font-size: 2.6666666667vw;
  }
  .mod-index-list li::before {
    content: "";
    position: absolute;
    left: 0.8vw;
    top: 1.6vw;
    width: 2.6666666667vw;
    height: 2.6666666667vw;
    background: linear-gradient(135deg, #FFEFEF 0%, #EE869A 100%);
    border-radius: 50%;
  }
  @keyframes rotate {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }
  .block-bg-points {
    z-index: -1;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .block-bg-points ._bg1 {
    display: block;
    position: absolute;
    inset: 0;
    background-color: #fff;
    opacity: 0;
  }
  .block-bg-points ._bg2 {
    display: block;
    position: absolute;
    inset: 0;
    background-image: url(../images/points/bg.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    opacity: 0;
  }
  .js-state,
  .js-state2 {
    display: none;
    position: sticky;
    top: 5.3333333333vw;
    left: 5.3333333333vw;
    font-size: 5.3333333333vw;
    z-index: 10;
  }
  .mod-index-feature-cir span {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: url(../images/bg/bg-cir1.png) left top no-repeat;
    background-size: contain;
  }
  .mod-index-feature-cir.is-1 span {
    background-image: url(../images/bg/bg-cir1.png);
  }
  .mod-index-feature-cir.is-2 span {
    background-image: url(../images/bg/bg-cir2.png);
  }
  .mod-index-feature-cir.is-3 span {
    background-image: url(../images/bg/bg-cir3.png);
  }
  .mod-index-feature-cir.is-4 span {
    background-image: url(../images/bg/bg-cir4.png);
  }
  @keyframes keyf_cir1 {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-5.3333333333vw);
    }
    100% {
      transform: translateY(0);
    }
  }
  @keyframes keyf_cir2 {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(5.3333333333vw);
    }
    100% {
      transform: translateY(0);
    }
  }
  @keyframes keyf_cir3 {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-6.6666666667vw);
    }
    100% {
      transform: translateY(0);
    }
  }
  @keyframes keyf_cir4 {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-6.6666666667vw);
    }
    100% {
      transform: translateY(0);
    }
  }
  .block-index-feature2 {
    background-color: #fff;
    padding: 21.3333333333vw 4.8vw;
  }
  .block-index-feature2 .block-inner {
    display: flex;
    gap: 17.8666666667vw;
    flex-direction: column;
  }
  .mod-index-features2-items {
    display: flex;
    gap: 9.3333333333vw;
    flex-direction: column;
  }
  .mod-indexfeatures2-item {
    position: relative;
    display: flex;
    gap: 2.6666666667vw;
    align-items: center;
  }
  .mod-indexfeatures2-item.is-2, .mod-indexfeatures2-item.is-4 {
    flex-direction: row-reverse;
  }
  .mod-indexfeatures2-item.is-2 ._item-image ._no, .mod-indexfeatures2-item.is-4 ._item-image ._no {
    left: 24vw;
  }
  .mod-indexfeatures2-item ._item-image {
    position: relative;
    width: 33.6vw;
  }
  .mod-indexfeatures2-item ._item-image img {
    width: 100%;
  }
  .mod-indexfeatures2-item ._item-image ._image {
    width: 33.6vw;
  }
  .mod-indexfeatures2-item ._item-image ._no {
    position: absolute;
    top: -1.3333333333vw;
    left: -1.3333333333vw;
    width: 10.6666666667vw;
  }
  .mod-indexfeatures2-item ._item-texts {
    display: flex;
    flex-direction: column;
    gap: 2.6666666667vw;
  }
  .mod-indexfeatures2-item ._item-texts h3 {
    color: #EE869A;
    font-size: 4.8vw;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
  }
  .mod-indexfeatures2-item ._item-texts ._doc {
    color: #555;
    font-size: 3.2vw;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
  }
  .mod-indexfeatures2-item ._item-texts ._note {
    color: #555;
    font-size: 2.1333333333vw;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
  }
  .block-index-faq {
    position: relative;
    background: #EE869A;
  }
  .block-index-faq img {
    width: 100%;
  }
  .block-index-faq ._cols {
    width: 100%;
  }
  .block-index-faq ._cols ._col-texts {
    padding: 24vw 0 17.3333333333vw 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14.6666666667vw;
    flex-direction: column;
    position: relative;
  }
  .block-index-faq ._cols ._col-texts:before {
    content: "";
    display: block;
    position: absolute;
    top: 5.3333333333vw;
    left: 13.3333333333vw;
    background: url(../images/faq/en.png?) left top no-repeat;
    background-size: contain;
    width: 80vw;
    height: 40vw;
  }
  .block-index-faq h2 {
    color: #FFF;
    text-align: center;
    font-size: 6.4vw;
    font-style: normal;
    font-weight: 700;
  }
  .block-index-faq ._btns {
    width: 89.3333333333vw;
  }
  .block-index-movie {
    position: relative;
    padding: 21.3333333333vw 0 21.3333333333vw 0;
    background-color: #fff;
    overflow: hidden;
  }
  .block-index-movie ._c1 {
    position: absolute;
    top: -24.67vw;
    left: 71.73vw;
    width: 43.73vw;
    height: 43.73vw;
  }
  .block-index-movie ._c2 {
    position: absolute;
    top: 32.53vw;
    left: -6.93vw;
    width: 28.8vw;
    height: 28.8vw;
  }
  .block-index-movie ._c3 {
    position: absolute;
    top: 235.93vw;
    left: 58.6vw;
    width: 67.2vw;
    height: 67.2vw;
  }
  .block-index-movie img {
    width: 100%;
  }
  .block-index-movie .block-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 21.3333333333vw;
  }
  .block-index-movie ._title {
    position: relative;
    padding: 8vw 0 4vw 0;
    width: 100vw;
  }
  .block-index-movie ._title h2 {
    position: relative;
    color: #EE869A;
    text-align: center;
    font-size: 6.4vw;
    font-style: normal;
    font-weight: 700;
  }
  .block-index-movie ._title:before {
    content: "";
    display: block;
    position: absolute;
    top: -4vw;
    left: 10.6666666667vw;
    background: url(../images/movie/en.png?2) left top no-repeat;
    background-size: contain;
    width: 80vw;
    height: 28vw;
  }
  .block-index-movie ._items {
    position: relative;
    padding: 0 5.3333333333vw;
  }
  .mod-index-movie-items {
    display: flex;
    gap: 17.6vw;
    flex-direction: column;
  }
  .mod-index-movie-item {
    display: flex;
    gap: 3.7333333333vw;
    flex-direction: column;
  }
  .mod-index-movie-item ._item-image img {
    width: 100%;
  }
  .mod-index-movie-item ._item-texts p {
    color: #555;
    font-size: 4.2666666667vw;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
  }
  .mod-index-movie-item ._item-texts p br {
    display: none;
  }
  .mod-index-movie-item ._item-texts p._coming {
    text-align: center;
    color: #EE869A;
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 200%; /* 96px */
  }
  .block-index-sns {
    background-color: #FFEFEF;
    position: relative;
    padding: 13.3333333333vw 0 0 0;
  }
  .block-index-sns img {
    width: 100%;
  }
  .mod-index-sns-cols ._col-title {
    padding: 2.6666666667vw 0 0 0;
    display: flex;
    gap: 4vw;
    flex-direction: column;
	padding: 4%;
	padding-bottom: 50px;
  }
  .mod-index-sns-cols ._image-sp {
    margin-right: -2.6666666667vw;
  }
  .mod-index-sns-cols ._btns {
    width: 89.3333333333vw;
    margin: 0 auto;
    margin-top: 1.3333333333vw;
  }
  .mod-index-sns-cols ._btns .mod-index-btn-buy {
    padding-top: 2.1333333333vw;
    padding-bottom: 2.1333333333vw;
  }
  .block-index-last {
    position: relative;
    height: 67vw;
  }
  .block-index-last ._bg {
    position: absolute;
    inset: 0;
    background: url(../images/last/sp/members.jpg?) top center no-repeat;
    background-size: 100% auto;
  }
  .block-index-last ._inner {
    position: relative;
    padding-top: 20vw;
    display: flex;
    gap: 4vw;
    flex-direction: column;
    align-items: center;
  }
  .block-index-last p {
    color: #FFF;
    text-align: center;
    text-shadow: 0 0 2.1333333333vw #EE87B4;
    font-size: 6.4vw;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; /* 76.$w4 */
  }
  .block-index-last ._btns {
    width: 89.3333333333vw;
  }
  .mod-index-title1 {
    text-align: center;
  }
  .mod-index-title1 span {
    border-radius: 26.6666666667vw;
    background: #FCC;
    padding: 2.1333333333vw 9.3333333333vw;
    color: #E66877;
    display: inline-block;
    text-align: center;
    font-size: 5.3333333333vw;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
  }
  .mod-index-title2 {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 2.6666666667vw;
  }
  .mod-index-title2:before, .mod-index-title2:after {
    content: "";
    display: inline-block;
    background: url(../images/common/line.png) left top no-repeat;
    background-size: contain;
    width: 3.4666666667vw;
    height: 5.8666666667vw;
  }
  .mod-index-title2:after {
    transform: scale(-1, 1);
  }
  .mod-index-title2 * {
    color: #EA989B;
    position: relative;
    font-size: 4.2666666667vw;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
  }
  .mod-index-title3 {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 4vw;
  }
  .mod-index-title3:before, .mod-index-title3:after {
    content: "";
    display: inline-block;
    background: url(../images/common/line.png) left top no-repeat;
    background-size: contain;
    width: 3.4666666667vw;
    height: 5.8666666667vw;
  }
  .mod-index-title3:after {
    transform: scale(-1, 1);
  }
  .mod-index-title3 * {
    position: relative;
    color: #EE869A;
    font-size: 4.2666666667vw;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
  }
  .mod-index-title4 {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 2.6666666667vw;
  }
  .mod-index-title4:before, .mod-index-title4:after {
    content: "";
    display: inline-block;
    background: url(../images/common/line.png) left top no-repeat;
    background-size: contain;
    width: 3.4666666667vw;
    height: 5.8666666667vw;
  }
  .mod-index-title4:after {
    transform: scale(-1, 1);
  }
  .mod-index-title4 * {
    position: relative;
    color: #E85567;
    font-size: 6.4vw;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
  }
  .mod-index-title5 {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 2.6666666667vw;
  }
  .mod-index-title5:before, .mod-index-title5:after {
    content: "";
    display: inline-block;
    background: url(../images/common/line.png) left top no-repeat;
    background-size: contain;
    width: 5.2vw;
    height: 8.8vw;
  }
  .mod-index-title5:after {
    transform: scale(-1, 1);
  }
  .mod-index-title5 * {
    position: relative;
    color: #EE869A;
    font-size: 5.3333333333vw;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
  }
  .mod-index-btn-buy {
    position: relative;
    display: flex;
    padding: 5.3333333333vw 8.5333333333vw;
    justify-content: center;
    align-items: center;
    gap: 1.3333333333vw;
    align-self: stretch;
    border-radius: 4.2666666667vw 0;
    background: linear-gradient(315deg, #EE869A 0%, #E85567 50%, #EE869A 100%);
    background-size: 200% 100%;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-index-btn-buy:hover {
    background-position: 100% 0;
  }
  .mod-index-btn-buy:hover:after {
    animation: key_btn_hover 0.6s ease-in-out 0s;
  }
  .mod-index-btn-buy.is-wh {
    background: #FFF;
    background: linear-gradient(315deg, #EE869A 0%, #EE869A 36%, #FFF 66%, #Fff 100%);
    background-size: 300% 100%;
  }
  .mod-index-btn-buy.is-wh:hover {
    background-position: 100% 0;
  }
  .mod-index-btn-buy.is-wh:hover span {
    color: #fff;
  }
  .mod-index-btn-buy.is-wh:hover:after {
    background-image: url(../images/common/icon-arrow-a-wh.svg?);
  }
  .mod-index-btn-buy.is-wh span {
    color: #EE869A;
  }
  .mod-index-btn-buy.is-wh:after {
    background-image: url(../images/common/icon-arrow-a.svg?);
  }
  .mod-index-btn-buy img {
    width: 4.8vw;
  }
  .mod-index-btn-buy span {
    color: #FFF;
    text-align: center;
    font-size: 4.2666666667vw;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 19.$w2 */
  }
  .mod-index-btn-buy:after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.2vw);
    right: 5.3333333333vw;
    background: url(../images/common/icon-arrow-a-wh.svg) left top no-repeat;
    background-size: contain;
    width: 3.2vw;
    height: 6.4vw;
  }
  @keyframes key_btn_hover {
    0% {
      transform: translate3d(0, 0, 0);
      opacity: 1;
    }
    50% {
      transform: translate3d(2.6666666667vw, 0, 0);
      opacity: 0;
    }
    51% {
      transform: translate3d(-1px, 0, 0);
      opacity: 0;
    }
    100% {
      transform: translate3d(0, 0, 0);
      opacity: 1;
    }
  }
  .mod-index-btn-cta {
    width: 21.8666666667vw;
    height: 21.8666666667vw;
    background: linear-gradient(315deg, #E85567 0%, #EE869A 50%, #E85567 100%);
    background-size: 200% 100%;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    box-sizing: border-box;
    padding-top: 2.6666666667vw;
    gap: 2.6666666667vw;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-index-btn-cta img {
    width: 100%;
  }
  .mod-index-btn-cta:hover {
    background-position: 100% 0;
  }
  .mod-index-btn-cta:after {
    content: "";
    display: block;
    position: absolute;
    top: -0.5333333333vw;
    left: -0.5333333333vw;
    background: url(../images/cta/chara.svg) left top no-repeat;
    background-size: contain;
    width: 8vw;
    height: 6.8vw;
    animation: yurayura 1s ease-in-out 0s infinite;
  }
  .mod-index-btn-cta ._icon {
    width: 4.8vw;
    margin-right: 1.0666666667vw;
  }
  .mod-index-btn-cta span {
    color: #FFF;
    text-align: center;
    font-size: 2.1333333333vw;
    font-style: normal;
    font-weight: 700;
    line-height: 132%;
  }
  @keyframes yurayura {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-2vw);
    }
    100% {
      transform: translateY(0);
    }
  }
}