@charset "UTF-8";
/* CSS Document */


html {
    scroll-behavior: smooth;
}

.sp {
    display: none;
}

.pc {
    display: block;
}

img {
    width: 100%;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #1b1464;
    font-weight: 400;

}

input,
label,
button {
    -webkit-appearance: none;
}


/* ハンバーガーボタン */
.btn-burger {
    display: none;
}

/*チェックボックス非表示*/
.nav-toggle {
    display: none;
}

.nav-toggle:checked ~ .nav .nav-list {
    display: none;
}

#overview.anchor-box {
    padding-top: 10vw;
    margin-top: -10vw;
}


#voice.anchor-box {
    padding-top: 12vw;
    margin-top: -12vw;
}


#question.anchor-box {
    padding-top: 4vw;
    margin-top: -4vw;
}


/*header*/

.header-inner-pc {
    position: fixed;
    width: 100%;
    z-index: 50000;
    background-color: #fff;

}


.header-inner-wrapper-pc {
    height: 65px;
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 50px;
    background-color: #fff;
}

.header-inner-wrapper-pc .flexbox {
    display: flex;
    align-items: center;
    height: 65px;
    width: 100%;

}


.header-inner-pc {
    position: relative;
}

.header-inner-sp {
    display: none;
}


.top-logo {
    width: 70px;
}

.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 20000;
}

nav {
    width: 658px;
    margin: 0 auto;
}

nav ul {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

nav ul li {
    /*width: 16%;*/
    border-left: 3px dotted #e94c8a;
    text-align: center;
    /*padding-left: 10px;*/

}

nav ul li.nav05 {
    padding: 0 15px;
}

nav ul li.nav06 {
    padding-left: 10px;

}



nav ul li:first-of-type {
    border-left: none;
}

nav ul li a {
    /*  display: flex;
  justify-content: center;
  align-items: center;
	padding: 0 10px;*/
    display: block;
    width: 100%;
}

nav ul li a:hover {
    opacity: 0.7;
}


/*top*/
#top .top-wrapper {
    background: url("../imgs/top_bg.png") no-repeat;
    background-size: cover;
    background-position: center center;
    padding-bottom: 5.2vw;
}

/*#top .top-wrapper {
background: url("../imgs/top_bg_01.png"), url("../imgs/top_bg_02.png");
  background-position: top center, top center;
  background-size: contain;
  background-repeat: no-repeat, repeat-y;
  padding-bottom: 5.2vw;
}*/




#top .top-inner {
    width: 100%;
    max-width: 1082px;
    margin: 0 auto;
    background: url("../imgs/top_illust_img.png") no-repeat;
    background-size: 100%;
    background-position: center 38%;
}

#top h2 {
    width: 700px;
    margin: 0 auto;
    padding-top: 5.55vw;
}

#top .product-box {
    width: 392px;
    margin: 0 auto 18vw;
    position: relative;
    z-index: 100;
    top: 7vw;
}

#top .product-box::before {
    content: "";
    display: block;
    width: 60%;
    aspect-ratio: 1/1.2;
    position: absolute;
    background: url("../imgs/nerune_img.png") no-repeat;
    background-size: 100%;
    z-index: -10;
    top: -10px;
    left: -35%;
}

#top .text-box01 {
    width: 38.4%;
    margin: 0 auto;
}

#top .text-box01 .text-box_a {
    margin-bottom: 30px;
}

#top .text-box01 .text-box_b {
    margin-bottom: 10px;
}

#top .text-box01 .text-box_b::after {
    content: "";
    display: block;
    width: 100%;
    height: 10px;
    background: url("../imgs/white_dots_line.png") no-repeat;
    margin-top: 20px;
}

#top .text-box02 {
    margin: 0 auto 45px;
    text-align: center;
    line-height: 1.5;
    font-size: 20px;
}

#top .text-box02 span {
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 0.75em;
    text-decoration-color: rgba(254, 214, 0, 0.6);
    text-underline-offset: -0.375em;
    text-decoration-skip-ink: none;
}

#top .text-box02-ex {
    margin: -22.5px auto 45px;
    text-align: center;
    line-height: 1.5;
    font-size: 16px;
    color: #000000;
}

#top .icon-box {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

/*#top .icon-box li {
  width: 160px;
}
#top .icon-box p {
  width: 140px;
}*/
#top .icon-box .icon01 {
    width: 160px;
    margin-bottom: 1rem;
}

#top .icon-box .icon01 p {
    width: 140px;
}

#top .icon-box .icon02 {
    width: 160px;
    margin-bottom: 1rem;
    margin-left: 1rem;
}

#top .icon-box .icon02 p {
    width: 180px;
}

#top .icon-box p:first-child {
    margin-left: auto;
}

#top .icon-box p:last-child {
    margin-right: auto;
}


#overview .overview-wrapper {
    background: url("../imgs/overview_bg_01.png"), url("../imgs/overview_bg_02.png");
    background-position: top center, top center;
    background-size: contain;
    background-repeat: no-repeat, repeat-y;
    margin-top: -5px;
}



#overview .overview-inner {
    width: 100%;
    max-width: 1082px;
    margin: 0 auto;
    padding-top: 7.3vw;
    padding-bottom: 7vw;
}

#overview h2 {
    width: 30%;
    margin: 0 auto 70px;
}

#overview .text-box {
    margin: 0 auto 45px;
    ;
}

#overview .text-box p {
    font-weight: 500;
    text-align: center;
    line-height: 1.8;
    margin-bottom: 45px;
    font-size: 20px;
}

#overview .text-box p span {
    color: #e94c8a;
}

#overview .text-box .small-font {
    font-size: 12px;
    color: #000000;
}



#overview .voice-box {
    margin: 0 auto;
    display: flex;
    justify-content: center;
}

#overview .voice-box .child-box,
#overview .voice-box .parent-box {
    width: 42%;
    aspect-ratio: 1/1;
}

#overview .voice-box div p {
    color: #ffffff;
    font-weight: 700;
    line-height: 1.8;
    font-size: 26px;
}

#overview .voice-box div p span {
    color: #ffff00;
}

#overview .voice-box .child-box {
    width: 22.8vw;
    min-width: 375px;
    background: url("../imgs/overview_child_bg.png") no-repeat;
    background-size: 100%;
    background-position: center center;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 2.3vw;
    margin-right: 2.3vw;
}

#overview .voice-box .child-box div {
    margin: -5vw auto 0;
}

#overview .voice-box .child-box div p:first-of-type {
    margin-bottom: 20px;
}

#overview .voice-box .parent-box {
    width: 22.8vw;
    min-width: 375px;
    background: url("../imgs/overview_parent_bg.png") no-repeat;
    background-size: 100%;
    background-position: center center;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 2.3vw;
    margin-right: 2.3vw;
}

#overview .voice-box .parent-box p {
    margin: -5vw auto 0;
}

#overview .info-box {
    width: 460px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    background: url("../imgs/overview_product_bg.png") no-repeat;
    background-size: 100%;
}

#overview .info-box .product-box {
    width: 33%;
    padding-top: 30px;
    padding-left: 14px;
}

#overview .info-box .text-box {
    width: 59%;
    line-height: 1.5;
    font-size: 16px;
    text-align: left;
    padding-top: 46px;
    margin-bottom: 0;
}

#overview .info-box .text-box p {
    text-align: left;
    font-size: 15px;
}

#overview .info-box .text-box img {
    margin-bottom: 20px;
}

/*feature*/
#feature .feature-wrapper {
    padding-bottom: 100px;
}

#feature .feature-inner {
    width: 100%;
    max-width: 1082px;
    margin: 0 auto;
    padding-top: 90px;
}

#feature h2 {
    width: 570px;
    margin: 0 auto 70px;
}

#feature .subtitle {
    width: 500px;
    margin: 0 auto 50px;
}

#feature .subtitle02 {
    margin-top: 100px;
    margin-bottom: 50px;
}

#feature .contents {
    display: flex;
    justify-content: space-around;
    align-items: center;
    font-size: 18px;
}

#feature .contents .img-box {
    width: 50%;
}

#feature .contents .text-box {
    width: 40%;
    font-size: 18px;
    line-height: 1.5;
}

#feature .contents02 {
    margin-bottom: 50px;
}

#feature .contents .text-box01 p:first-of-type {
    width: 200px;
}

#feature .contents .text-box02 p:first-of-type {
    width: 230px;
}

#feature .contents .text-box03 p:first-of-type {
    width: 250px;
}

#feature .contents .text-box04 p:first-of-type {
    width: 193px;
}

#feature .contents .text-box05 p:first-of-type {
    width: 230px;
}

#feature .contents .text-box06 p:first-of-type {
    width: 266px;
}

#feature .contents .text-box07 p:first-of-type {
    width: 242px;
}

#feature .contents .text-box08 p:first-of-type {
    width: 329px;
}

#feature .contents .text-box img {
    margin-bottom: 42px;
}

#feature .graph-box {
    background: url("../imgs/feature_graph_bg.png") no-repeat;
    background-size: cover;
    padding-top: 34px;
    padding-bottom: 23px;
    padding-right: 10px;
    border-radius: 30px;
}

#feature .line-pink {
    width: 100%;
    margin-top: 50px;
    margin-bottom: 50px;
}

#feature .graph-box .graph-title {
    width: 160px;
    margin: 0 auto 27px;
}

#feature .graph-box .text-box01 {
    font-size: 18px;
    width: 92%;
    margin: 0 auto 28px;
    border-top: 3px dotted #e94c8a;
    padding-top: 30px;
    line-height: 1.5;
}

#feature .graph-box .text-box01 p:first-of-type {
    margin-bottom: 20px;
    font-size: 18px;
}

#feature .graph-box .text-box01 .small-font {
    font-size: 14px;
}

#feature .graph-box .graph-area {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 25px;
}

#feature .graph-box .graph-area p {
    width: 45%;
    margin: 5px;
}

#feature .graph-box .notes-box {
    width: 80%;
    margin: 0 auto 36px;
    display: flex;
    color: #231815;
    font-size: 14px;
}

#feature .graph-box .notes-box .notes01 {
    background: url("../imgs/feature_graph_icon01.png") no-repeat;
    background-size: 35%;
    padding-left: 5%;
    background-position: left center;
    margin-right: 8%;
}

#feature .graph-box .notes-box .notes02 {
    background: url("../imgs/feature_graph_icon02.png") no-repeat;
    background-size: 13%;
    padding-left: 5%;
    background-position: left center;
    margin-right: 8%;
}

#feature .graph-box .notes-box .notes03 {
    background: url("../imgs/feature_graph_icon03.png") no-repeat;
    background-size: 17%;
    padding-left: 7%;
    background-position: left center;
}

#feature .graph-box .text-box02 {
    font-size: 12px;
    text-align: right;
    color: #231815;
    margin-bottom: 23px;
}

#feature .contents03 {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
}

#feature .contents03 .text-box03 {
    padding-top: 60px;
}

/*voice*/
#voice .voice-wrapper {
    background: url("../imgs/voice_bg_01.png"), url("../imgs/voice_bg_02.png");
    background-position: top center, top center;
    background-size: contain;
    background-repeat: no-repeat, repeat-y;
}


#voice .voice-inner {
    width: 100%;
    max-width: 1082px;
    margin: 0 auto;
    padding-top: 47px;
    padding-bottom: 100px;
}

#voice h2 {
    width: 570px;
    margin: 0 auto;
}

#voice .ballon-area {
    margin-top: 70px;
}

#voice .voice-box {
    max-width: 1083px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
    flex-flow: wrap;
    gap: 20px;
}


#voice .ballon-area .ballon-box {
    width: 24vw;
    min-width: 375px;
    aspect-ratio: 115/73;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 500px;

}

#voice .ballon-area .voice-box li:nth-child(even) {
    transform: translateY(100px);

}

#voice .voice-box.voice-box03 {
    margin-top: -130px;
    padding-top: 130px;
}

#voice .voice-box-slideDown {
    display: none;
    transition: 5s ease-out;
}

#voice .ballon-area .ballon-box p {
    width: 60%;
    font-size: clamp(18px, 1vw, 20px);
    line-height: 1.5;
}

#voice .ballon-area .ballon-box p span {
    color: #e94c8a;
    font-weight: 800;
}

#voice .ballon-area .ballon-box-pink {
    background: url("../imgs/voice_balloon_pink.png") no-repeat;
    background-size: contain;
    background-position: center center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 1em;
}

#voice .ballon-area .ballon-box-blue {
    background: url("../imgs/voice_balloon_blue.png") no-repeat;
    background-size: contain;
    background-position: center center;
    display: flex;
    justify-content: center;
    align-items: center;
}

#voice .ballon-area .ballon-box-green {
    background: url("../imgs/voice_balloon_green.png") no-repeat;
    background-size: contain;
    background-position: center center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 1em;
}

#voice .ballon-area .ballon-box-orange {
    background: url("../imgs/voice_balloon_orange.png") no-repeat;
    background-size: contain;
    background-position: center center;
    display: flex;
    justify-content: center;
    align-items: center;
}

#voice .voice-inner .btn-more {
    display: block;
    width: 260px;
    height: 60px;
    margin: 0 auto 20px;
    background-color: #fff;
    border-radius: 30px;
}

#voice .voice-more-btn-outer {
    margin-top: 150px;
}

#voice .voice-inner .btn-more:hover img {
    opacity: 0.7;
}

#voice .voice-inner .text-box {
    text-align: center;
    font-size: 12px;
}

/*howToUse*/
#howToUse .hide-contents {
    display: none;
}

#howToUse .howToUse-inner {
    width: 100%;
    max-width: 1082px;
    margin: 0 auto;
    padding-top: 100px;
}

#howToUse h2 {
    width: 175px;
    margin: 0 auto 50px;
}

#howToUse .subtitle {
    width: 382px;
    margin: 0 auto 70px;
}

#howToUse button {
    display: block;
    width: 260px;
    margin: 0 auto 50px;
}

#howToUse button:hover {
    opacity: 0.7;
}

#howToUse .content-area {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

#howToUse .content .title01 {
    width: 173px;
    margin: 0 auto 45px;
}

#howToUse .content .title02 {
    width: 151px;
    margin: 0 auto 45px;
}

#howToUse .content .title03 {
    width: 297px;
    margin: 0 auto 45px;
}

#howToUse .content .title04 {
    width: 305px;
    margin: 0 auto 45px;
}

#howToUse .content .title07 {
    width: 317px;
    margin: 0 auto 45px;
}

#howToUse .content .title09 {
    width: 126px;
    margin: 0 auto 45px;
}

.flex {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
}

hr.tab-r-line {
    position: relative;
    top: calc(50% - 1px);
    margin: 0 10px;
    border: none;
    border-top: dotted 3px #1b1464;
}

.tab-reader-box2 {
    flex: auto;
}

#howToUse .content-area .img-box {
    width: 50%;
    margin-right: 5%;
}

#howToUse .content-area .text-box {
    width: 43%;
    font-size: 18px;
    line-height: 1.5;
}

#howToUse .content .text-box span,
#howToUse .content-area .text-box span {
    color: #e94c8a;
}

#howToUse .content .text-box01 span {
    color: #1b1464;
}

#howToUse .content-area .text-box01 li {
    margin-bottom: 20px;
}

#howToUse .subtitle02 {
    width: 284px;
    margin: 0 auto 50px;
}

#howToUse .line-pink {
    margin-top: 50px;
    margin-bottom: 50px;
}

#howToUse .content-area10 {
    margin-bottom: 100px;
}

#howToUse .movie-area {
    width: 720px;
    margin: 0 auto 90px;
    aspect-ratio: 40/31;
    background: url("../imgs/howToUse_movie_bg.png") no-repeat;
    background-size: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 15%;
}

#howToUse .movie-area p {
    width: 82%;
    aspect-ratio: 16/9;
    margin: 0 auto 55px;

}

#howToUse .movie-area p iframe {
    width: 100%;
    height: 100%;
    border-radius: 30px;
}





#howToUse a:hover {
    opacity: 0.7;
}

#howToUse .attntion-box {
    width: 63%;
    margin: 0 auto 100px;
}

#howToUse .attntion-box,
#howToUse .attntion-box p {
    border: 1px solid #c5c5c5;
    color: #000000;
}

#howToUse .attntion-box .box-header {
    background-color: #c5c5c5;
    text-align: center;
    font-size: 20px;
    padding: 10px 0;
}

#howToUse .attntion-box p {
    font-size: 15px;
    padding: 25px 0 25px 25px;
    line-height: 1.5;
}

/*question*/
#question .question-wrapper {
    background: url("../imgs/voice_bg_02.png") repeat-y;
    background-size: contain;
    padding-top: 100px;
    padding-bottom: 10px;
}

#question .question-inner {
    width: 100%;
    max-width: 1082px;
    margin: 0 auto;
}

#question h2 {
    width: 570px;
    margin: 0 auto 40px;
}

#question .qa-hide {
    display: none;
}

#question .accordion {
    padding: 1rem;
    margin-bottom: 45px;
}

#question .accordion-item {
    margin-bottom: 0.5rem;
}

#question .accordion-item .bg-w {
    display: block;
    background-color: #fff;
}

#question .accordion-check {
    display: none;
}

#question .accordion-label {
    position: relative;
    display: block;
    cursor: pointer;
    padding: 35px 0 35px 90px;
    background-color: #ffb3c4;
    color: #000000;
    font-size: 18px;
    line-height: 1.5;
    border-radius: 10px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
    z-index: 1;
}

#question .accordion-label:hover {
    opacity: 0.7;
}

#question .accordion-label::before {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background: url("../imgs/question_q_icon.png") no-repeat;
    background-size: 100%;
    position: absolute;
    top: 50%;
    left: 38px;
    transform: translateY(-50%);
}

#question .accordion-label::after {
    position: absolute;
    top: calc(50% + 20px);
    right: 0px;
    height: 100%;
    width: 75px;
    transform: translateY(-50%);
    color: #ffffff;
    text-align: center;
    font-size: 35px;
    content: '+';
}

#question .accordion-box {
    border-radius: 0px 0px 10px 10px;
    height: 0;
    overflow: hidden;
    opacity: 0;
    background-color: #ffe6ed;
    transition: all .5s;
    font-size: 16px;
    color: #000000;
    position: relative;
    padding: 0 35px 35px 90px;
}

#question .accordion-check:checked ~ .accordion-box {
    height: auto;
    opacity: 1;
    padding: 35px 35px 35px 90px;
}

#question .accordion-check:checked ~ .accordion-box::before {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background: url("../imgs/question_a_icon.png") no-repeat;
    background-size: 100%;
    position: absolute;
    top: calc(35px + 0.8em);
    left: 38px;
    transform: translateY(-50%);
}


#question .accordion-check:checked + .accordion-label:after {
    content: 'ー';
    top: calc(50% + 30px);
    font-size: 20px;
}

#question .accordion-box p {
    line-height: 1.5;
}

#question .accordion-box p span {
    color: #e94c8a;

}

#question button {
    display: block;
    width: 260px;
    height: 60px;
    margin: 0 auto 100px;
    background-color: #fff;
    border-radius: 30px;
}

#question button:hover img {
    opacity: 0.7;
}

/*inquiry*/
#inquiry .inquiry-wrapper {
    padding-top: 100px;
    padding-bottom: 100px;
}

#inquiry .inquiry-inner {
    width: 100%;
    max-width: 1082px;
    margin: 0 auto;
}

#inquiry .subtitle,
#inquiry .subtitle02 {
    width: 480px;
    margin: 0 auto 45px;
}

#inquiry .subtitle:hover,
#inquiry .subtitle02:hover {
    opacity: 0.7;
}

#inquiry .text-box {
    color: #e94c8a;
    text-align: center;
    margin-bottom: 12px;
}

#inquiry .img-box {
    width: 200px;
    margin: 0 auto 14px;
    ;
}

#inquiry .sns-area {
    display: flex;
    justify-content: center;
    align-items: center;
}

#inquiry .sns-area li {
    width: 86px;
    height: 86px;
    margin-left: 18px;
    margin-right: 18px;
}

#inquiry .sns-area li:first-of-type {
    margin-left: 0;
}

#inquiry .sns-area li:last-of-type {
    margin-right: 0;
}

#inquiry .sns-area a:hover {
    opacity: 0.7;
}

@media screen and (max-width: 768px) {
    .sp {
        display: block;
    }

    .pc {
        display: none;
    }

    .header-inner-pc {
        display: none;
    }

    .header-inner {
        position: fixed;
        width: 100%;
        z-index: 10000;
    }

    main {
        position: relative;
    }

    .header-inner-wrapper-pc {
        display: none;
    }


    .drawer {
        margin: 0 auto;
    }




    nav {
        width: 100%;
        min-width: initial;
        max-width: initial;
    }

    .top-logo {
        width: clamp(70px, 18vw, 136px);
        top: 10px;
        left: 18px;
        position: absolute;
        z-index: 20000;
    }

    /*  .header-inner {
    min-width: inherit;
    background-color: transparent;
  }*/
    /*ハンバーガーアイコン*/
    .btn-burger {
        cursor: pointer;
        display: block;
        width: clamp(46px, 8vw, 60px);
        height: clamp(46px, 8vw, 60px);
        position: absolute;
        top: 2.6vw;
        right: 2.6vw;
        background-color: #fff;
        border-radius: 50%;
    }

    /*ハンバーガーアイコンを作る三本線*/
    .hamburger-icon,
    .hamburger-icon-before,
    .hamburger-icon-after {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        height: 3px;
        /*線の太さ*/
        width: clamp(36px, 5.3vw, 40px);
        /*線の長さ*/
        background-color: #e94c8a;
        border-radius: 2px;
        display: block;
        content: '';
        cursor: pointer;
        margin: auto;
    }

    /*三本線の間隔*/
    .hamburger-icon-before {
        top: 20px;
    }

    .hamburger-icon-after {
        top: -20px;
    }

    /*アイコンをクリックしたら*/
    .nav-toggle:checked ~ .btn-burger .hamburger-icon {
        background: transparent;
    }

    .nav-toggle:checked ~ .btn-burger .hamburger-icon-before {
        transform: rotate(-45deg);
        top: 0;
    }

    .nav-toggle:checked ~ .btn-burger .hamburger-icon-after {
        transform: rotate(45deg);
        top: 0;
    }

    .hamburger-icon,
    .hamburger-icon-before,
    .hamburger-icon-after {
        transition: all .8s;
    }

    /*中身*/
    .drawer {
        width: 100%;
        background-color: #ffffff;
        z-index: 1000;
        border-radius: 0 0 30px 30px /0 0 30px 30px;
    }

    .nav-list a {
        display: block;
        text-decoration: none;
        color: #fff;
    }

    .nav-list {
        list-style: none;
        display: none;
        /*padding-top: 120vw;*/
    }

    .nav-list li,
    nav ul li.nav05,
    nav ul li.nav06 {
        padding-top: clamp(23px, 6.1vw, 46px);
        padding-bottom: clamp(23px, 6.1vw, 46px);
        margin: 0 auto;
    }

    .nav-list li:last-of-type {
        /*margin-bottom: 12vw;*/
    }

    .nav-toggle:checked ~ .nav .nav-list {
        display: block;
        padding-top: clamp(90px, 24vw, 180px);
        padding-bottom: clamp(65px, 17.3vw, 130px);
    }

    nav ul {
        width: 60.5vw;
        margin: 0 auto;
    }

    nav ul li {
        width: 100%;
        border-left: none;
        text-align: center;
        padding-left: 0;
        border-bottom: 2px dotted #e94c8a;
    }

    nav .nav-list li img {
        width: 120px;
        margin: 0 auto;
    }

    nav ul li::after {
        content: "";
        display: block;
        background: url("../imgs/pink_dots_line.png") no-repeat;
        width: 180%;
    }

    /*メインイメージ*/
    .top {
        height: 200px;
        margin-bottom: 50px;
        background-color: #f0f8ff;
    }

    #top .top-wrapper {
        background: url("../imgs/top_bg_sp.png") no-repeat;
        background-size: 100%;
        background-position: center top;
        padding-bottom: 60px;
    }

    #top .bg_inner {
        background-color: #ffb3c4;
    }

    #top .top-inner {
        width: 100%;
        margin: 0 auto;
        background: url("../imgs/top_illust_img_sp.png") no-repeat;
        background-size: 100%;
        background-position: center 61.6vw;
    }

    #top h2 {
        width: clamp(350px, 93.3vw, 550px);
        padding-top: 22vw;
    }

    #top .product-box {
        width: 55vw;
        margin: 0 auto 19.3vw;
        position: relative;
        z-index: 100;
    }

    #top .text-box01 {
        width: 84vw;
        margin: 0 auto;
    }

    #top .text-box01 .text-box_b::after {
        content: "";
        display: block;
        width: 100%;
        height: 10px;
        background: url("../imgs/white_dots_line_sp.png") no-repeat;
        margin-top: 20px;
        background-size: contain;
    }

    #top .text-box01 .text-box_b {
        /*margin-bottom: 10px;*/
    }

    #top .text-box02 {
        margin: 0 auto 45px;
        text-align: center;
        line-height: 1.75;
        font-size: 4vw;
    }

    #top .text-box02-ex {
        margin: -22.5px auto 45px;
        text-align: center;
        line-height: 1.75;
        font-size: 3.2vw;
    }

    #top .icon-box .icon02 {
        width: 100%;
        margin: 0;
    }

    #overview .overview-wrapper {
        background: url(../imgs/overview_bg_sp.png) no-repeat;
        background-size: cover;
        background-position: center top;
        margin-top: -5px;
        padding-top: clamp(80px, 10.6vw, 120px);
    }

    #overview .overview-inner {
        padding-top: clamp(5px, 2.6vw, 20px);
    }

    #overview h2 {
        width: 64.8vw;
        margin: 0 auto 50px;
    }

    #overview .text-box .small-font {
        font-size: 10px;
    }

    #overview .text-box {
        width: 96vw;
        margin: 0 auto;
    }

    #overview .text-box p {
        font-size: 16px;
        font-weight: 700;
        text-align: center;
        line-height: 1.8;
        margin-bottom: 30px;
    }

    #overview .voice-box {
        max-width: inherit;
        min-width: inherit;
        display: block;
    }

    #overview .voice-box div p {
        font-size: 19px;
    }

    #overview .voice-box .child-box,
    #overview .voice-box .parent-box {
        margin: 0 auto 80px;
        font-size: 19px;
        min-width: inherit;
        width: 90%;
        max-width: 540px;
    }

    #overview .voice-box .child-box div {
        margin-top: -50px;
    }

    #overview .voice-box .parent-box p {
        margin-top: -35px;
    }

    #overview .voice-box .parent-box {
        margin-top: -16vw;
        margin-bottom: 50px;
    }

    #overview .info-box {
        width: 83.2vw;
        background-size: 100%;
    }

    #overview .info-box .text-box {
        width: 51.7vw;
        line-height: 1.2;
        font-size: 12px;
        text-align: left;
        padding-top: 3vw;
    }

    #overview .info-box .text-box img {
        width: 86%;
        margin-bottom: 3.2vw;
    }

    #overview .info-box .text-box p {
        font-size: clamp(12px, 2vw, 15px);
        line-height: 1.7;
    }

    #feature .feature-wrapper {
        padding-bottom: 30px;
    }

    #feature .feature-inner {
        padding-top: 0;
        width: 100%;
        max-width: 540px;
        margin: 0 auto;
    }

    #feature h2 {
        width: 95%;
        margin: 0 auto;
    }

    #feature .subtitle {
        width: 90%;
        margin: 0 auto 11vw;
    }

    #feature .contents {
        flex-direction: column-reverse;
    }

    #feature .contents .text-box {
        width: 90%;
        margin: 0 auto;
        font-size: 15px;
    }

    #feature .contents .text-box img {
        margin: 0 auto 30px;
    }

    #feature .contents .img-box {
        width: 100%;
    }

    #feature .line-pink {
        width: 83.2vw;
        margin: 0 auto;
        margin-bottom: 10.1vw;
    }

    #feature .graph-box .graph-area {
        display: block;
        margin-bottom: 25px;
    }

    #feature .graph-box .graph-area p {
        width: 90%;
        margin: 0 auto 22px;
    }

    #feature .graph-box {
        width: 90%;
        background: url(../imgs/feature_graph_bg_sp.png) no-repeat;
        background-size: cover;
        margin: 0 auto;
        padding-top: 0;
        padding-bottom: 23px;
        padding-right: 0;
    }

    #feature .graph-box .graph-title {
        width: clamp(160px, 32.6vw, 220px);
        margin: 0 auto 27px;
        padding-top: 50px;
    }

    #feature .graph-box .text-box01 p:first-of-type {
        font-size: 15px;
    }

    #feature .graph-box .text-box01 .small-font {
        font-size: 11px;
    }

    #feature .graph-box .notes-box {
        display: block;
        width: 80%;
        margin: 0 auto 36px;
        color: #231815;
        font-size: 12px;
    }

    #feature .graph-box .notes-box .notes01 {
        background-size: 9%;
        padding: 3px 0 3px 15%;
        font-size: 12px;
        margin-bottom: 10px;
    }

    #feature .graph-box .notes-box .notes02 {
        background-size: 9%;
        padding: 3px 0 3px 15%;
        font-size: 12px;
        margin-bottom: 10px;
    }

    #feature .graph-box .notes-box .notes03 {
        background-size: 9%;
        padding: 3px 0 3px 15%;
        font-size: 12px;
    }

    #feature .graph-box .text-box02 {
        letter-spacing: -1px;
    }

    #feature .contents03 .text-box03 {
        padding-top: 0;
    }

    #feature .contents .text-box03 p {
        font-size: 15px;
        margin: 0 auto 20px;
        line-height: 1.5;
    }

    #feature .contents .text-box04 p {
        font-size: 15px;
        margin: 0 auto 20px;
        line-height: 1.5;
    }

    #feature .contents .text-box05 p {
        font-size: 15px;
        margin: 0 auto 20px;
        line-height: 1.5;
    }

    #feature .contents .text-box06 p {
        font-size: 15px;
        margin: 0 auto 20px;
        line-height: 1.5;
    }

    #feature .contents .text-box07 p {
        font-size: 15px;
        margin: 0 auto 20px;
        line-height: 1.5;
    }

    #feature .contents .text-box08 p {
        font-size: 15px;
        margin: 0 auto 20px;
        line-height: 1.5;
    }

    #feature .contents .text-box03 img {
        margin-bottom: 8.8vw;
    }

    #feature .contents .text-box01 p:first-of-type,
    #feature .contents .text-box02 p:first-of-type,
    #feature .contents .text-box03 p:first-of-type,
    #feature .contents .text-box04 p:first-of-type,
    #feature .contents .text-box05 p:first-of-type,
    #feature .contents .text-box06 p:first-of-type {
        margin: 0 auto;
    }

    #feature .contents .text-box07 p:first-of-type {
        width: 242px;
    }

    #feature .contents .text-box08 p:first-of-type {
        width: 329px;
    }

    #voice .voice-wrapper {
        background: url(../imgs/voice_bg_sp.png) no-repeat;
        background-size: cover;
        height: auto;
        padding-bottom: 20px;
    }

    #voice .voice-inner {
        height: auto;
        width: 100%;
        max-width: 540px;
        margin: 0 auto;
        padding-bottom: 0;
    }

    #voice h2 {
        width: 95%;
        margin: 0 auto;
    }

    #voice .voice-box01,
    #voice .voice-box02 {
        /*    display: block;*/
    }

    #voice .ballon-area .ballon-box {
        min-width: inherit;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #voice .ballon-area .ballon-box p {
        font-size: 16px;
    }

    .btn-more {}

    #voice .text-box {}

    #voice .ballon-area {
        margin-top: 50px;
    }

    #voice .ballon-area .ballon-box {
        margin-left: 0;
        margin-right: 0;
    }

    #voice .ballon-area .ballon-box01,
    #voice .ballon-area .ballon-box03,
    #voice .ballon-area .ballon-box05 {
        margin-top: 0;
    }

    #voice .ballon-area .ballon-box07 {
        margin-top: 0;
    }

    #voice .voice-box {
        width: 90%;
        max-width: 500px;
        margin-bottom: 20px;
    }

    #voice .voice-box li {
        /*    margin-bottom: 30px;*/
    }

    #voice .voice-inner .text-box {
        font-size: 11px;
    }

    #voice .voice-inner .ballon-box-none {
        display: none;
    }

    #voice .ballon-area .voice-box li:nth-child(even) {
        transform: translateY(0);
    }

    #voice .voice-more-btn-outer {
        margin-top: 0;
    }

    #howToUse .howToUse-inner {
        width: 100%;
        max-width: 540px;
        padding-top: 50px;
    }

    #howToUse .content-area {
        display: block;
    }

    #howToUse .content-area .img-box,
    #howToUse .content-area .text-box {
        width: 90%;
        margin: 0 auto;
        font-size: 15px;
        /*font-weight: 700;*/
        line-height: 1.5;
        /*font-size: clamp(15px, 4vw, 30px);
    font-weight: 700;*/
    }

    #howToUse .content-area .img-box {
        margin-bottom: 4.5vw;
    }

    #howToUse .howToUse-inner {
        margin-top: 8vw;
        margin-bottom: 50px;
    }

    #howToUse h2 {
        width: 34.1vw;
    }

    #howToUse .subtitle {
        width: 69vw;
    }

    #howToUse .subtitle02 {
        width: 227px;
    }

    #howToUse .content-area .text-box01 li {
        margin-bottom: 10px;
    }

    #howToUse .movie-area {
        width: 90%;
        margin: 0 auto;
    }

    /*#howToUse .movie-area p {
    padding-top: 23%;
  }*/

    #howToUse .movie-area {
        padding-top: 21%;
    }



    #howToUse .attntion-box {
        width: 90%;
        margin: 0 auto;
    }

    #howToUse .attntion-box .box-header {
        font-size: 3.7vw;
    }

    #howToUse .attntion-box p {
        font-size: 13px;
        padding: 2.6vw;
    }

    #question .question-wrapper {
        background: url("../imgs/question_bg_sp.png");
        background-size: cover;
        padding-top: 0;
        padding-bottom: 10px;
    }

    #question .question-inner {
        width: 100%;
        max-width: 540px;
        margin: 0 auto;
    }

    #question h2 {
        width: 95%;
        margin: 0 auto;
    }

    #question .accordion-label {
        padding: 20px 35px 20px 45px;
        font-size: 14px;
    }

    #question .accordion-box p {
        font-size: 14px;
    }

    #question .accordion-box {
        padding: 0 35px 20px 45px;
    }

    #question .accordion-label::before {
        width: 25px;
        height: 25px;
        top: 50%;
        left: 10px;
    }

    #question .accordion-label::after {
        position: absolute;
        top: 45%;
        right: 0px;
        height: 50px;
        width: 50px;
        transform: translateY(-50%);
        color: #ffffff;
        text-align: center;
        font-size: 35px;
        content: '+';
    }

    #question .accordion-check:checked + .accordion-label:after {
        top: calc(50% + 10px);
    }



    #question .accordion-check:checked ~ .accordion-box {
        padding: 20px 35px 20px 45px;
    }

    #question .accordion-check:checked ~ .accordion-box::before {
        width: 25px;
        height: 25px;
        top: calc(20px + 0.8em);
        left: 10px;
    }

    #inquiry .inquiry-wrapper {
        padding-top: 50px;
    }

    #inquiry .inquiry-inner {
        width: 100%;
        max-width: 540px;
        margin: 0 auto;
    }

    #inquiry .subtitle,
    #inquiry .subtitle02 {
        width: 90%;
    }

    #inquiry .text-box {
        text-align: center;
        font-weight: 700;
    }

    #inquiry .img-box {
        width: 160px;
    }

    #inquiry .sns-area li {
        width: 14.3vw;
        height: 14.3vw;
        margin-right: 2%;
        margin-left: 2%;
    }

    #inquiry .sns-area li:first-of-type {
        margin-left: 0;
    }

    #inquiry .sns-area li:last-of-type {
        margin-right: 0;
    }

    .floating-banner {
        width: clamp(140px, 38vw, 285px);
        position: fixed;
        bottom: 0;
        right: 0;
        z-index: 1500;
    }
}
