@charset "utf-8";

/*********************
Last update:
**********************/
body {}

.coverbody {}

a {
    color: #ff9374;
    text-decoration: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    /*親要素rowの引継ぎをきるために*/
    width: auto !important;
    max-width: none !important;
    display: inline-block !important;
    vertical-align: top;
    /* 下部の空間を解消 */
}

a:hover,
a:focus,
a:active {
    color: #ff9374;
    text-decoration: none;
    outline: none;
    transition: 0.4s;
}

a img {
    overflow: hidden;
    outline: none;
    border-style: none;
}

img {
    vertical-align: bottom;
    font-size: 0;
    line-height: 0;
    border: 0;
}

.clear {
    clear: both;
    height: 0;
    visibility: hidden;
}

.hedline {
    background-color: #db67a6;
    height: 30px;
    background-image: url(../images/hedline_bg.png);
    background-size: 4px 4px;
    background-repeat: repeat;
}

.hedline h1 {
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 30px;
}

.hedtel {
    background-image: url(../images/h-tel.png);
    background-position: right;
    background-size: 215px 30px;
    background-repeat: no-repeat;
}

.hedlineblck,
.logo,
.contctbox {
    height: 60px;
}

.hedlineblck {
    position: relative;
}

.logo {
    float: left;
}

.contctbox {
    float: right;
}

.h-logo {
    width: 165px;
    height: 60px;
}

.h-mail {
    vertical-align: top;
    width: 126px;
    height: 60px;
    display: block;
}

.h-line {
    width: 126px;
    height: 78px;
    position: relative;
    z-index: 3;
}


.prpos {
    position: relative;
}

.prpos img {
    box-shadow: 0px 5px 15px 0px rgba(55, 61, 74, 0.3);
    animation: introarea_pic 0.6s linear forwards;
}

@keyframes introarea_pic {
    0% {
        transform: scale(1.02);
        filter: blur(12px);
    }

    100% {
        transform: scale(1);
        filter: blur(0);
    }
}

.prpos::after {
    width: 130px;
    height: 130px;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    margin-left: -15px;
    margin-bottom: 40px;
    background-image: url(../images/love.png);
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    -webkit-animation: yurayura 3s infinite linear alternate;
    animation: yurayura01 3s infinite linear alternate;
}


@-webkit-keyframes yurayura01 {
    0% {
        -webkit-transform: translate(0, 0) rotate(-5deg);
    }

    50% {
        -webkit-transform: translate(-6px, -15px) rotate(0deg);
    }

    100% {
        -webkit-transform: translate(0, 0)rotate(5deg);
    }
}

.toppr_01,
.toppr_02,
.toppr_03,
.toppr_04,
.toppr_05,
.toppr_06 {
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
}

.toppr_01 {
    background-image: url(../images/toppr_01_bg.jpg);
    background-size: cover;
}

.toppr_02 {
    background-image: url(../images/toppr_02_bg.jpg);
    background-size: cover;
}


.toppr_03 {
    background-image: url(../images/toppr_03_bg.jpg);
    background-size: cover;
}

.toppr_04 {
    background-image: url(../images/toppr_04_bg.jpg);
    background-size: cover;
}

.toppr_05 {
    background-image: url(../images/toppr_05_bg.jpg);
    background-size: cover;
}

.toppr_06 {
    background-image: url(../images/toppr_06_bg.jpg);
    background-size: cover;
}

#benefitsdesc {
    text-align: left;
    padding-bottom: 70px;
    font-size: 0.8rem;
}

.line_bt_s {
    border-radius: 4px;
    background-color: #00B900;
    width: auto !important;
    /* 幅を自動に設定 */
    max-width: none !important;
    /* 最大幅の制限を解除 */
    display: inline-block;
    /* インラインブロックに設定 */
    color: #fff;
    font-size: 0.8rem;
    margin-bottom: 10px;
    margin-right: 10px;
    padding: 5px 12px;
}

.line_bt_s a {
    color: #fff;
    font-size: 0.8rem;
}

.mail_bt_s {
    border-radius: 4px;
    background-color: #8f88b0;
    width: auto !important;
    /* 幅を自動に設定 */
    max-width: none !important;
    /* 最大幅の制限を解除 */
    display: inline-block;
    /* インラインブロックに設定 */
    color: #fff;
    font-size: 0.8rem;
    margin-bottom: 10px;
    margin-right: 10px;
    padding: 5px 12px;
}

.mail_bt_s a {
    color: #fff;
    font-size: 0.8rem;
}

.tel_bt_s {
    font-size: 1.3rem;
}

.teletc {
    font-size: 0.8rem;
    padding-left: 6px;
    vertical-align: 3px;
}

.tel_bt_s2 {
    text-align: left;
    display: block;
    margin: 10px 0;
    font-size: 1.3rem;
    color: #1b1b1b;
}

.tel_bt_s2:hover {
    color: #1b1b1b;
}

/* ====================================================================
スマホ専用フッターボタン・スマホメニュー
======================================================================*/
ul#footer-contactbox,
nav.globalMenuSp,
nav.globalMenuSp ul {
    display: none !important;
}

/*****/
#side {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    background: blue;

}


ul.benefitsarea {
    margin: 0 0 0 0;
    padding: 16px 10px 10px 16px;
    list-style: none;
    border-radius: 6px;
    background-color: #feffe7;
}

ul.benefitsarea li {
    list-style: none;
    margin: 0 6px 6px 0;
    float: left;
    color: #75a49d;
    padding: 2px 5px;
    font-size: 1rem;
    border: 2px solid #bee4de;
    background-color: #d1f3ed;
    border-radius: 4px;
    letter-spacing: 0.04em;
    cursor: pointer;
}

ul.benefitsarea li a {
    color: #75a49d;
    padding: 2px 5px;
    font-size: 0.7rem;
    border: 2px solid #bee4de;
    background-color: #d1f3ed;
    border-radius: 4px;
    letter-spacing: 0.04em;
}


ul.benefitsarea_side {
    margin: 0;
    padding: 4px 0 0 4px;
    list-style: none;
    line-height: 1.1;
    color: #ff9374;
}

ul.benefitsarea_side li {
    margin: 0;
    padding: 0;
    list-style: none;
    margin: 0 6px 5px 0;
    float: left;
    line-height: 1.1;
    font-size: 0.7rem;
    letter-spacing: 0.04em;
    cursor: pointer;
}

.tab-area {
    display: flex;
    /* flexで横並び */
    border-bottom: 2px solid #ffa188;
    cursor: pointer;
    /* カーソルポインターに */
    list-style: none;
    margin: 0 0 0 0;
    padding: 0;
}

.tab {
    width: calc(100%/3);
    /* calc関数を使用し、均等に3分割する */
    padding: 10px 5px;
    text-align: center;
    /* 文字を中央に。 */
    font-size: 1rem;
    color: #4c4841;
    background-color: #f0f0f0;
    font-weight: 700;
    border-radius: 4px 4px 0 0;
}

.tab:nth-child(n+2) {
    margin-left: 2px;
}

.tab.act {
    background-color: #ff9374 !important;
    color: #fff !important;
    background-image: url(../images/hedline_bg.png);
    background-size: 4px 4px;
    background-repeat: repeat;

}

.panel {
    display: none;
}

.panel.act {
    display: block;
    border-left: 2px solid #ff9374;
    border-right: 2px solid #ff9374;
    border-bottom: 2px solid #ff9374;
    border-radius: 0 0 4px 4px;
}

.act > .pink_txt {
    color: #fff;
}


.panel01::after {
    width: 250px;
    height: 223px;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    margin-left: 40px;
    margin-bottom: -30px;
    background-image: url(../images/tab_img01_s.png);
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    -webkit-animation: yurayura 3s infinite linear alternate;
    animation: yurayura02 2s infinite linear alternate;
}

.panel02::after {
    width: 250px;
    height: 223px;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    margin-left: 40px;
    margin-bottom: -30px;
    background-image: url(../images/tab_img02_s.png);
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    -webkit-animation: yurayura 3s infinite linear alternate;
    animation: yurayura02 2s infinite linear alternate;
}

.panel03::after {
    width: 250px;
    height: 223px;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    margin-left: 40px;
    margin-bottom: -30px;
    background-image: url(../images/tab_img03_s.png);
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    -webkit-animation: yurayura 3s infinite linear alternate;
    animation: yurayura02 2s infinite linear alternate;
}

@-webkit-keyframes yurayura02 {
    0% {
        -webkit-transform: translate(0, 0) rotate(-5deg);
    }

    50% {
        -webkit-transform: translate(0, -15px) rotate(0deg);
    }

    100% {
        -webkit-transform: translate(0, 0)rotate(5deg);
    }
}


.girlsinterview {
    background-color: #ffede8;
    border-radius: 5px;
    padding: 10px;
    margin-top: 30px;
    margin-bottom: 20px;
    /*background-image: url(../images/hedline_bg.png);
    background-size: 4px 4px;
    background-repeat: repeat;*/
    position: relative;
}

.girlsinterview::after {
    position: absolute;
    content: "VOICE";
    font-size: 1.6rem;
    font-weight: 700;
    top: 0;
    left: 0;
    right: 0;
    margin-top: -20px;
    text-align: center;
}

.changetab-area {
    cursor: pointer;
    list-style: none;
    margin: 10px;
    padding: 0;
    display: flex;
}

.change {
    float: left;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    font-size: 0.8rem;
    color: #fff;
    background-color: #ccc;
    font-weight: 700;
    border-radius: 40px;
    margin-bottom: 10px;
}

.change:nth-child(n+2) {
    margin-left: 10px;
}

.change.act {
    background-color: #db67a6 !important;
    color: #fff !important;
    background-size: 4px 4px;
    background-repeat: repeat;

}

.changepanel {
    display: none;
}

.changepanel.act {
    display: block;
    /*border-left: 2px solid #ff9374;
    border-right: 2px solid #ff9374;
    border-bottom: 2px solid #ff9374;
    border-radius: 0 0 4px 4px;*/
}

.girlsimg {
    padding: 10px;
    width: 100%;
    position: relative;
}

.girlsimg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 70px;
    height: 70px;
    background-image: url(../images/girlsimglabel.png);
    background-size: cover;
    display: block;
    margin-left: 7px;
    margin-top: 7px;
}

.coments {
    padding: 10px;
    width: 100%;
}

.coments_name {
    font-size: 1.3rem;
    border-bottom: 1px dashed #ffc7b8;
    padding-bottom: 6px;
    margin-bottom: 8px;
}

.namebr {
    display: inline;
}

.coments_titel {
    background-color: #fff;
    border: 1px solid #5dcfc6;
    font-size: 0.7rem;
    padding: 0 4px;
    float: left;
    margin-top: 5px;
    margin-right: 5px;
    border-radius: 2px;
}

.coments_ans {
    font-size: 1rem;
    float: left;
    margin-top: 2px;
    font-weight: 700;
    border-radius: 2px;
    vertical-align: middle;
}

.mese {
    border-top: 1px dashed #ffc7b8;
    margin-top: 12px;
    padding-top: 8px;
    font-size: 0.8rem;
}

.tubuyaki {
    position: relative;
    padding-left: 45px;
    margin-top: 10px;
    margin-bottom: 15px;
    font-size: 0.7rem;
    color: #fff;
    font-weight: 700;
}

.tubuyaki::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 35px;
    height: 35px;
    display: block;
    background-image: url(../images/woman01.png);
    background-size: cover;
}

.balloon1-left {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 7px 10px;
    max-width: 100%;
    color: #fff;
    background: #97c9bf;
    border-radius: 3px;
}

.balloon1-left:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -12px;
    margin-top: -6px;
    border: 6px solid transparent;
    border-right: 6px solid #97c9bf;
}

ul.infiniteslulcont {
    margin: 0;
    padding: 0;
    list-style: none;
    position: relative;
}

ul.infiniteslulcont li {
    margin: 0;
    padding: 0;
}


.y_30 {
    width: 220px;
    height: 220px;
    display: block;
    background-image: url(../images/30y_bg.png);
    background-size: cover;
    position: absolute;
    top: 0;
    right: 0;
    margin-right: -20px;
    margin-top: 30px;
}

.y_30::after {
    content: "";
    width: 220px;
    height: 220px;
    display: block;
    position: relative;
    animation: 50s linear infinite rotation1;
    background-image: url(../images/30y_text.png);
    background-size: cover;
}

@keyframes y_30_act {
    0% {
        transform: translatex(20px);
        opacity: 0;
    }

    100% {
        transform: translatey(0);
        opacity: 1;
    }
}

.pointmark {
    width: 45px;
    height: 45px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    margin-left: -20px;
    margin-top: -20px;
    z-index: 2;
}

.pointmark::before {
    content: "";
    width: 45px;
    height: 45px;
    display: block;
    background-image: url(../images/pointbg.png);
    background-size: cover;
    animation: 10s linear infinite rotation1;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

@keyframes rotation1 {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(-360deg);
    }
}

.point01 {
    padding: 10px 80px 0 80px;
    color: #ffffff !important;
}

.point02,
.point03,
.point05 {
    padding: 10px 80px 60px 80px;
    color: #ffffff !important;
}

.point01 {
    background-color: #ffa78f;
}

.girl_saifu {
    padding-bottom: 50px;
    display: block;
}

.entrybox h2 {
    font-weight: 700;
    background-color: #97beb9;
    color: #fff;
    padding: 5px 10px;
    display: inline-block;
    border-radius: 4px 4px 0 0;
}

.entrybox::after {
    content: "";
    position: absolute;
    width: 120px;
    height: 101px;
    background-image: url(../images/check.png);
    background-size: cover;
    display: block;
    top: 30px;
    right: 80px;
}

.entryboxline {
    border-left: 3px solid #97beb9;
    border-top: 3px solid #97beb9;
    border-right: 3px solid #97beb9;
    padding: 2px;
    background-color: #fff;
}

.entryboxline_in {
    border-left: 3px solid #97beb9;
    border-top: 1px solid #97beb9;
    border-right: 3px solid #97beb9;
    padding: 2px;
    background-color: #fff;
}

.entryboxline_last {
    border-left: 3px solid #97beb9;
    border-top: 1px solid #97beb9;
    border-right: 3px solid #97beb9;
    border-bottom: 3px solid #97beb9;
    padding: 2px;
    padding: 2px;
    background-color: #fff;
}

.entryboxbg {
    background-color: #ebf9f8;
}

.entryboxsp {
    padding: 4px 8px;
}



.taikenbox {
    padding: 2em;
    /*内側余白*/
    background-image: repeating-linear-gradient(-45deg, #f2f3f7 0, #f2f3f7 3px, transparent 3px, transparent 6px);
    /*ストライプ*/
    margin: 0;
}

.stripebg {
    padding: 2em;
    /*内側余白*/
    position: relative;
    border: 8px solid #eee;
    /* 線の太さ・種類・色 */
    z-index: 0;
}

.stripebg:before {
    background-color: #dc68a7;
    /* ワインポイントの色 */
    content: '';
    display: block;
    position: absolute;
    top: -8px;
    left: -8px;
    width: 8px;
    height: 8px;
    z-index: 1;
}

.flowarea {
    margin-top: 40px;
    text-align: center;
    background-image: url(../images/flow-line.png);
    background-size: 70px 43px;
    background-repeat: no-repeat;
    background-position: center center;
}

.flowbox {
    width: 180px;
    height: 180px;
    border-radius: 180px;
    background-color: #fff;
    position: relative;
    display: inline-block;
    box-shadow: 0px 5px 15px 0px rgba(73, 59, 93, 0.5);
}

.flowbox1::after,
.flowbox2::after {
    position: absolute;
    width: 40px;
    height: 40px;
    line-height: 40px;
    background-color: #362d45;
    color: #fff;
    font-weight: 700;
    top: 0;
    left: 10px;
    border-radius: 40px;
}


.flowbox1 {
    margin-right: 50px;
}

.flowbox2 {
    margin-left: 50px;
}

.flowbox1::after {
    content: "1";
}

.flowbox2::after {
    content: "2";
}
























.mov {
    padding: 10px;
    border: 2px dashed #fff;

}

.mov video {
    width: 100%;
    height: auto;
    line-height: 0;
    vertical-align: bottom;
}

.point02 {
    background-color: #e286b9;
}

.point03 {
    background-color: #98a3de;
}

.point05 {
    background-color: #9cd9e4;
}

.star01 {
    width: 100px;
    height: 100px;
    position: absolute;
    bottom: 0;
    right: 0;
    margin-right: -50px;
}

.star01 img {
    width: 100px;
    height: auto;
    display: block;
}

.star02 {
    width: 100px;
    height: 100px;
    position: absolute;
    bottom: 0;
    left: 0;
    margin-left: -50px;
}

.star02 img {
    width: 100px;
    height: auto;
    display: block;
}

.money01 {
    width: 600px;
    height: 600px;
    position: absolute;
    bottom: 0;
    left: 0;
    margin-left: -400px;
}

.money01 img {
    width: 600px;
    height: auto;
    display: block;
}

.money02 {
    width: 300px;
    height: 300px;
    position: absolute;
    bottom: 0;
    left: 0;
    margin-left: -150px;
    margin-bottom: 120px;
}

.money02 img {
    width: 300px;
    height: auto;
    display: block;
}

.money03 {
    width: 150px;
    height: 150px;
    position: absolute;
    bottom: 0;
    right: 0;
    margin-right: -40px;
    margin-bottom: 50px;
}

.money03 img {
    width: 150px;
    height: auto;
    display: block;
}

.money04 {
    width: 300px;
    height: 300px;
    position: absolute;
    bottom: 0;
    right: 0;
    margin-right: -100px;
}

.money04 img {
    width: 300px;
    height: auto;
    display: block;
}

.toy01 {
    width: 180px;
    height: 180px;
    position: absolute;
    top: 0;
    left: 0;
    margin-left: -110px;
    margin-top: 450px;
}

.toy01 img {
    width: 180px;
    height: auto;
    display: block;
}

.glidarea {
    padding: 5px;
}

.glid {
    padding: 5px;
}

.glid img {
    border-radius: 5px;
}

.databoxbg {
    padding-bottom: 40px;
    background-color: #dc8ab8;
    background-image: url(../images/hedline_bg.png);
    background-size: 4px 4px;
    background-repeat: repeat;
}

.databox {
    padding: 20px;
    /*border: 2px solid #677979;*/
    border-radius: 5px;
    position: relative;
    font-weight: 700;
    background-color: #fff;
}

.leftbox {
    margin: 20px 10px 0 20px;
}

.rightbox {
    margin: 20px 20px 0 10px;
}

.databoxtext {
    font-size: 0.9rem;
}


#footer_area {}

.footer {}

#copi {
    font-size: 0.8rem;
    background-color: rgba(198, 92, 149, 1);
    height: 40px;
    line-height: 40px;
}

#copi a {
    color: #fff;
}

.goup {
    cursor: pointer;
    position: fixed;
    bottom: 113px;
    right: 0;
    height: 55px;
    line-height: 55px;
    width: 60px;
    color: #fff;
    z-index: 3;
    border-radius: 6px 0 0 6px;
    text-align: center;
    background: rgb(72, 52, 85);
    background: linear-gradient(90deg, rgba(72, 52, 85, 1) 0%, rgba(51, 39, 59, 1) 100%);
}


@media only screen and (max-width: 1199px) {

    .panel01::after,
    .panel02::after,
    .panel03::after {
        width: 200px;
        height: 178px;
        margin-left: 40px;
        margin-bottom: -30px;
    }

    .entrybox::after {
        width: 110px;
        height: 92px;
        top: 40px;
        right: 80px;
    }

    .girlsimg::after {
        width: 60px;
        height: 60px;
        margin-left: 7px;
        margin-top: 7px;
    }

    .flowbox {
        width: 110px;
        height: 110px;
        border-radius: 140px;
    }

    .flowbox1::after,
    .flowbox2::after {
        width: 30px;
        height: 30px;
        line-height: 30px;
        top: 0;
        left: 10px;
        border-radius: 30px;
    }
}

@media only screen and (max-width: 991px) {
    .y_30 {
        width: 140px;
        height: 140px;
        margin-right: -20px;
        margin-top: 30px;
    }

    .y_30::after {
        content: "";
        width: 140px;
        height: 140px;
    }

    .prpos::after {
        width: 80px;
        height: 80px;
        margin-left: -10px;
        margin-bottom: 40px;
    }

    .panel01::after,
    .panel02::after,
    .panel03::after {
        width: 155px;
        height: 138px;
        margin-left: 30px;
        margin-bottom: -30px;
    }

    .entrybox::after {
        width: 100px;
        height: 84px;
        top: 40px;
        right: 40px;
    }

    .girlsimg::after {
        width: 40px;
        height: 40px;
        margin-left: 7px;
        margin-top: 7px;
    }

    .coments_name {
        font-size: 1rem;
    }

    .namebr {
        display: block;
    }

    .flowbox {
        width: 120px;
        height: 120px;
        border-radius: 120px;
    }

    .flowbox1::after,
    .flowbox2::after {
        width: 30px;
        height: 30px;
        line-height: 30px;
        top: 0;
        left: 0px;
        border-radius: 30px;
    }
    
    .flowbox1 {
    margin-right: 30px;
}

.flowbox2 {
    margin-left: 30px;
}
}

@media only screen and (max-width: 767px) {

    body {
        font-size: 0.9rem;
    }

    .main_noscroll,
    .sub_noscroll {
        overflow-y: hidden;
    }

    .hedtel {
        background: none;
    }

    .hedlineblck,
    .logo,
    .contctbox {
        height: 60px;
    }

    .h-logo {
        width: 165px;
        height: 60px;
    }

    .h-mail {
        display: none;
    }

    .h-line {
        width: 126px;
        height: 78px;
        position: relative;
        z-index: 3;
    }

    .y_30 {
        width: 170px;
        height: 170px;
        margin-right: -20px;
        margin-top: 20px;
    }

    .y_30::after {
        content: "";
        width: 170px;
        height: 170px;
    }

    .prpos::after {
        width: 60px;
        height: 60px;
        margin-left: -10px;
        margin-bottom: 40px;
    }

    .tab {
        font-size: 0.7rem;
    }

    .girlsinterview {
        padding: 30px 10px 10px 10px;
        margin-top: 30px;
    }

    .girlsinterview::after {
        font-size: 3rem;
        margin-top: -40px;
    }

    .girlsimg {
        float: left;
        padding: 10px 5px 10px 10px;
        width: 50%;
    }

    .girlsimg::after {
        width: 70px;
        height: 70px;
        margin-left: 7px;
        margin-top: 7px;
    }

    .coments {
        float: left;
        padding: 10px 10px 10px 5px;
        width: 50%;
    }

    .coments_name {
        font-size: 1.3rem;
    }

    .namebr {
        display: inline;
    }

    .coments_titel {
        font-size: 1rem;
    }

    .coments_ans {
        font-size: 1.3rem;
    }

    .mese {
        font-size: 1rem;
    }

    .entrybox::after {
        width: 100px;
        height: 84px;
        top: 20px;
        right: 40px;
    }

    .entryboxsp {
        padding: 8px 8px;
    }

    .taikenbox {
        padding: 20px;
    }

    #benefitsdesc {
        padding-bottom: 65px;
        font-size: 0.9rem;
    }

    .line_bt_s {
        color: #fff;
        font-size: 1rem !important;
        margin-right: 0;
        text-align: center;
        padding: 0;
        width: 100%;
        max-width: 100%;
        display: block;
    }

    .mail_bt_s {
        color: #fff;
        font-size: 1rem !important;
        margin-right: 0;
        text-align: center;
        padding: 0;
        background-color: #3c355e;
        width: 100%;
        max-width: 100%;
        display: block;
    }

    .tel_bt_s a {
        color: #1b1b1b;
        font-size: 1.3rem;
        font-weight: 700;
        letter-spacing: 0;
    }

    .teletc {
        font-size: 0.6rem;
        vertical-align: 3px;
        letter-spacing: 0;
    }

    .line_bt_s a,
    .mail_bt_s a {
        display: block;
        width: 100% !important;
        padding: 8px 0;
        color: #fff;
    }

    .tel_bt_s2 {
        padding: 10px 0;
        text-align: center;
        background-color: #d16187;
        color: #fff;
        display: block;
        width: 100% !important;
        border-radius: 4px;
        margin: 10px 0;
        font-size: 1.3rem;
    }

    .tel_bt_s2:hover {
        color: #fff;
    }

    /* ====================================================================
スマホ専用メニュー
======================================================================*/
    .mainmenu {
        display: block;
        position: absolute;
        width: 30px;
        height: 30px;
        top: 50%;
        left: 50%;
        transform: translate(-50%, 25%);
        color: #fff;
        cursor: pointer;
    }

    .mainmenu::before {
        content: "メニュー";
        position: absolute;
        top: 34px;
        left: 50%;
        display: block;
        margin-left: -27px;
        font-size: 0.65rem;
        width: 50px;
    }

    .mainmenu span {
        display: block;
        position: absolute;
        width: 23px;
        height: 2px;
        left: 0;
        background: #fff;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
    }

    .mainmenu span:nth-child(1) {
        top: 10px;
    }

    .mainmenu span:nth-child(2) {
        top: 18px;
    }

    .mainmenu span:nth-child(3) {
        top: 26px;
    }

    /* スマホメニューを開いてる時のボタン */
    .mainmenu.active span:nth-child(1) {
        top: 16px;
        left: 0;
        background: #fff;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .mainmenu.active span:nth-child(2),
    .mainmenu.active span:nth-child(3) {
        top: 16px;
        background: #fff;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    /* メニュー背景　*/
    nav.globalMenuSp {
        position: fixed;
        z-index: 3;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: rgba(255, 255, 255, 0.95);
        text-align: center;
        transform: translateY(1000%);
        transition: all 0.6s;
        display: block !important;
    }

    #spmenu {
        height: 100vh;
        padding-bottom: 76px;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
    }

    .box {
        height: calc((100vh - 76px) / 3);
        overflow: auto;
    }

    nav.globalMenuSp.active {
        opacity: 100;
        display: block;
        transform: translateY(0%);
    }

    .star01 {
        width: 50px;
        height: 50px;
        position: absolute;
        bottom: 0;
        right: 0;
        margin-right: 20px;
    }

    .star01 img {
        width: 50px;
        height: auto;
        display: block;
    }

    .star02 {
        width: 50px;
        height: 50px;
        position: absolute;
        bottom: 0;
        left: 0;
        margin-left: 20px;
    }

    .star02 img {
        width: 50px;
        height: auto;
        display: block;
    }

    .money02 {
        width: 170px;
        height: 170px;
        position: absolute;
        bottom: 0;
        left: 0;
        margin-left: -110px;
        margin-bottom: 80px;
    }

    .money02 img {
        width: 170px;
        height: auto;
    }

    .money03 {
        width: 120px;
        height: 120px;
        position: absolute;
        bottom: 0;
        right: 0;
        margin-right: -60px;
        margin-bottom: 40px;
    }

    .money03 img {
        width: 120px;
        height: auto;
    }

    .money04 {
        width: 200px;
        height: 200px;
        position: absolute;
        bottom: 0;
        right: 0;
        margin-right: -100px;
    }

    .money04 img {
        width: 200px;
        height: auto;
        display: block;
    }

    .toy01 {
        width: 110px;
        height: 110px;
        position: absolute;
        top: 0;
        left: 0;
        margin-left: -30px;
        margin-top: 350px;
    }

    .toy01 img {
        width: 110px;
        height: auto;
        display: block;
    }

    .leftbox,
    .rightbox {
        margin: 20px 20px 0 20px;
    }

    .flowbox {
        width: 100px;
        height: 100px;
        border-radius: 100px;
    }
    .flowbox1 {
        margin-right: 20px;
    }.flowbox2 {
        margin-left: 20px;
    }
    /* ====================================================================
スマホ専用フッターボタン
======================================================================*/
    ul#footer-contactbox {
        display: block !important;
        width: 100%;
        margin: 0;
        padding: 0;
        position: fixed;
        bottom: 40px;
        left: :0;
        right: 0;
        background-color: rgba(219, 103, 166, 1);
        list-style: none;
        z-index: 4;
        border-top: 5px solid rgba(151, 201, 191, 1);
    }

    ul#footer-contactbox li {
        width: 25%;
        /*スマホメニュー必要時20％に変更*/
        float: left;
        text-align: center;
        position: relative;
    }

    ul#footer-contactbox li a {
        display: block;
        padding: 15px 0;
        width: 100% !important;
    }

    ul#footer-contactbox li a,
    ul#footer-contactbox li a:hover,
    .linktext {
        color: #fff;
    }

    #f_tel {
        color: #fff;
        padding-top: 15px;
        cursor: pointer;
    }

    .linktext {
        font-size: 0.65rem;
        line-height: 1;
        margin-top: 6px;
    }


    ul.benefitsarea {}

    ul.benefitsarea li {
        font-size: 0.7rem;
    }

    ul.benefitsarea_side {}

    ul.benefitsarea_side li {
        margin: 0 10px 8px 0;
        font-size: 0.8rem;
    }

    #copi {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;

        font-size: 0.7rem;
        color: #fff;
        z-index: 4;
    }

    #copi::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 3px;
        margin-top: -2px;
    }

    .goup {
        bottom: 113px;
        right: 0;
        height: 35px;
        line-height: 35px;
        width: 80px;
        border-radius: 4px 0 0 0;
    }

    .point {
        padding: 0 40px 20px 40px;
        font-size: 0.9rem;
    }

    .footer {
        height: 150px;
        display: block;
    }

}

/*基本スマホ対応は767px。ただしピンポイントでiPhone13~は575px、さらに、それ以下の小さいスクリーンを対象とする場合320pxへ*/
@media only screen and (max-width: 575px) {
    .y_30 {
        width: 100px;
        height: 100px;
        margin-right: 5px;
        margin-top: 20px;
    }

    .y_30::after {
        content: "";
        width: 100px;
        height: 100px;
    }

    .panel01::after,
    .panel02::after,
    .panel03::after {
        width: 115px;
        height: 102px;
        margin-left: 10px;
        margin-bottom: -30px;
    }

    .girlsinterview {
        padding: 10px 10px 10px 10px;
        margin-top: 30px;
    }

    .girlsimg {
        float: none;
        padding: 40px 40px 20px 40px;
        width: 100%;
    }

    .girlsimg::after {
        width: 90px;
        height: 90px;
        margin-left: 37px;
        margin-top: 37px;
    }

    .coments_name {
        font-size: 1.5rem;
    }

    .coments {
        float: none;
        padding: 10px 10px 10px 10px;
        width: 100%;
    }

    .entrybox::after {
        width: 80px;
        height: 67px;
        top: 30px;
        right: 30px;
    }

    .point01 {
        padding: 20px 40px 0px 40px;

    }

    .point02,
    .point03,
    .point05 {
        padding: 20px 40px 40px 40px;

    }

    .flowbox {
        width: 100px;
        height: 100px;
        border-radius: 100px;
    }

    .flowbox1 {
        margin-right: 10px;
    }
    .flowbox2 {
        margin-left: 10px;
    }
}

@media only screen and (max-width: 320px) {
    .y_30 {
        width: 80px;
        height: 80px;
        margin-right: -5px;
        margin-top: 10px;
    }

    .y_30::after {
        content: "";
        width: 80px;
        height: 80px;
    }

    .entrybox::after {
        width: 60px;
        height: 50px;
        top: 40px;
        right: 30px;
    }

    .flowbox {
        width: 70px;
        height: 70px;
        border-radius: 70px;
    }

    .flowbox1::after,
    .flowbox2::after {
        width: 20px;
        height: 20px;
        line-height: 20px;
        top: 0;
        left: 0px;
        border-radius: 20px;
    }

}