@charset "utf-8";

/* CSS Document */

:root {
    /* store */
    --color: #6a6a6a;
    --color00: #8e8d8d;
    --color01: #ff6094;
    --color02: #ffb8c9;
    --color03: #fef4f3;
    --color04: #a6cefb;
    /*--color05: #ffb8c9;
  --color06: #fef4f3;*/
    --concept6boxs_color01: #ff6094;
    --concept6boxs_color02: #ff7a60;
    --concept6boxs_color03: #ffd060;
    --concept6boxs_color04: #45e0ab;
    --concept6boxs_color05: #60b2ff;
    --concept6boxs_color06: #ff6060;
}


/* CSS Document */

html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

body {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 500;
    color: #6a6a6a;
    font-size: 18px;
    line-height: 1.8;
    width: 100%;
    overflow-x: hidden;
}

ul {
    padding-left: 0;
}

li {
    list-style: none;
}

a {
    text-decoration: none;
    color: #6a6a6a;
    transition: 1s;
    cursor: pointer;
}

a:hover {
    opacity: 0.5;
}

img {
    max-width: 100%;
    vertical-align: bottom;
    height: auto;
    display: block;
    /*margin: auto;*/
}

table {
    border-collapse: collapse;
}

.cr {
    color: #f00;
    font-weight: 600;
}

.cp {
    color: #fd6998;
    font-weight: 600;
}

.cy {
    color: #fbfeaf;
    font-weight: 600;
}

.pg {
    background-color: #fd6998;
    color: #fff;
    font-weight: 600;
    padding: 0 3px;
}

.pg02 {
    background-color: var(--color02);
    color: #fff;
    font-weight: 600;
    padding: 0 3px;
}

.gg {
    background-color: #6a6a6a;
    color: #fff;
    font-weight: 600;
    padding: 0 3px;
}

.blg {
    background-color: var(--color04);
    color: #fff;
    font-weight: 600;
    padding: 0 3px;
}

.ub {
    text-decoration: underline;
    text-underline-offset: 5px;
}

.bpt {
    display: inline-block;
    background-color: #fd5b90;
    color: #fff;
    padding: 0 10px;
    margin-top: 5px;
}

.f120 {
    font-size: 1.2em;
    font-weight: 600;
}

.f24 {
    font-size: 1.33em;
    font-weight: 600;
}

.f150 {
    font-size: 1.5em;
    font-weight: 600;
}

.line {
    text-decoration: underline;
}

main {
    padding-top: 150px;
    width: 100%;
    overflow-x: hidden;
}

#top main {
    padding-top: 0;
}


/*------ 追尾メニュー -------*/

#Tracking_menu {
    width: 100%;
    position: fixed;
    top: 0;
    background-color: #fff;
    opacity: 100;
    z-index: 100;
    .Tracking_menu {
        display: flex;
        width: 98%;
        padding: 15px 0;
        max-width: 1400px;
        margin: auto;
        justify-content: space-between;
        h1 {
            float: left;
            width: 30%;
            max-width: 210px;
        }
        .address_box {
            float: left;
            line-height: 1.3;
            height: 110px;
            align-content: center;
            text-align: center;
            margin: 0 1%;
            .mail {}
            .tel {
                display: flex;
                font-size: 1.5em;
                img {
                    height: fit-content;
                    margin: auto 0.5em auto 0;
                }
            }
            .button {
                font-size: 0.77em;
                display: flex;
                justify-content: space-around;
                text-align: center;
                a:first-child {
                    background: url("../images/h_mail_bg.png") no-repeat center center;
                    width: 120px;
                    height: 32px;
                    color: #fff;
                    align-content: center;
                }
                a:last-child {
                    background: url("../images/h_line_bg.png") no-repeat center center;
                    width: 120px;
                    height: 32px;
                    color: #fff;
                    align-content: center;
                }
            }
        }
        nav {
            float: right;
            height: 110px;
            align-content: center;
        }
        nav ul {
            display: flex;
            max-width: 800px;
            flex-wrap: wrap;
        }
        nav ul li {
            margin-right: 20px;
        }
    }
}

#top #Tracking_menu {
    opacity: 0;
    z-index: -1;
}


/*------ / 追尾メニュー / -------*/


/*------ トップヘッダー -------*/

#top_header {
    background: url(../images/top_header.jpg) no-repeat center top;
    min-height: 750px;
    align-content: center;
    .top_header_box {
        display: flow-root;
        max-width: 1200px;
        width: 100%;
        margin: auto;
        .top_header {
            width: 50%;
            max-width: 436px;
            float: right;
            padding: 2em 0;
            nav {
                background: url(../images/top_menu_bg.png) no-repeat center top;
                padding: 1.5em 2em;
                margin-top: 2em;
                min-width: 356px;
                min-height: 303px;
                ul li {
                    display: flex;
                    width: 100%;
                }
            }
        }
    }
    .top_header nav ul li a {
        width: calc(100% - 40px);
        text-align: right;
        line-height: 2;
    }
    .top_header nav ul li:after {
        content: "";
        flex-grow: 1;
        height: 1px;
        display: block;
        margin-top: 18px;
    }
    .top_header nav ul li:after {
        margin-left: 0.4em;
        background: #6a6a6a;
    }
}


/*------ / トップヘッダー / -------*/

.question_box .question {
    border: 2px solid #6a6a6a;
    border-radius: 10px;
    text-align: center;
    position: relative;
    font-size: 1.66em;
    color: #ff6094;
    font-weight: 600;
    margin: auto auto 2em 0;
    padding: 0.6em 1em;
    width: calc(90% - 4px - 2em);
    max-width: 570px;
    background-color: #fff;
    .i {
        color: #6a6a6a;
        font-weight: 600;
        font-family: "Arial";
    }
    div:nth-child(2) {
        position: absolute;
        bottom: 15px;
        left: 105px;
        width: 30px;
        height: 5px;
        background-color: #fff;
        font-size: 1.3em;
        color: #6a6a6a;
    }
    div:nth-child(1) {
        position: absolute;
        bottom: -2px;
        left: 100px;
        width: 30px;
        height: 5px;
        background-color: #fff;
    }
    div:nth-child(3) {
        position: absolute;
        top: -2px;
        left: 320px;
        width: 30px;
        height: 5px;
        background-color: #fff;
    }
    div:nth-child(4) {
        position: absolute;
        top: -2px;
        left: 10px;
        width: 30px;
        height: 5px;
        background-color: #fff;
    }
    div:nth-child(5) {
        position: absolute;
        bottom: -2px;
        left: 370px;
        width: 30px;
        height: 5px;
        background-color: #fff;
    }
}

#top_boxs01 {
    .img img {
        margin: 1.5em auto 3em;
        display: block;
    }
    .txt01 {
        text-align: center;
        font-weight: 500;
        width: 90%;
        margin: auto;
    }
    .top_question {
        background: url(../images/top_img01.png) no-repeat right top;
        max-width: 1000px;
        width: 100%;
        margin: auto;
        padding: 0;
        min-height: 400px;
        div {
            text-align: left;
            line-height: 1.3;
        }
        .i {
            font-family: "Arial";
        }
        .answer {
            display: flex;
            margin-bottom: 2.7em;
            .a {
                position: relative;
                .i {
                    background: url(../images/top_question_abg.png) no-repeat center center / 100% 100%;
                    font-size: 1.66em;
                    line-height: 50px;
                    width: 50px;
                    text-align: center;
                    border: 2px solid #6a6a6a;
                    border-radius: 5px;
                    display: block;
                    color: #ff6094;
                }
                div:last-child {
                    position: absolute;
                    top: 15px;
                    right: 0px;
                    width: 3px;
                    height: 20px;
                    background-color: #fff;
                }
            }
            .t {
                margin-left: 0.5em;
                align-content: center;
            }
        }
    }
    .top_question_txt {
        max-width: 1200px;
        width: 100%;
        margin: auto;
        text-align: center;
        font-weight: 600;
    }
    .top_question_img {
        margin: 2.5em auto auto;
        width: fit-content;
    }
    #top_question {
        width: 95%;
        margin: auto;
        .title_img {
            margin: 1.5em auto 3em;
            display: block;
            width: fit-content;
        }
    }
}


/*------ / #top_boxs01 / -------*/


/*------ #top_boxs02 -------*/

#top_boxs02 {
    .top_box01 {
        width: 90%;
        max-width: 1200px;
        margin: auto;
        .onebox {
            margin-top: 50px;
            .tit {
                padding-bottom: 20px;
                text-align: left;
                color: #ff6094;
                font-weight: 600;
                margin-bottom: 35px;
            }
            .tit.t01 {
                background: url(../images/top_boxs02_tit01.png) no-repeat center top;
                background-size: auto 100%;
            }
            .tit.t02 {
                background: url(../images/top_boxs02_tit02.png) no-repeat center top;
                background-size: auto 100%;
            }
            .tit .t1 {
                border-top: 2px solid #000;
                border-left: 2px solid #000;
                border-right: 2px solid #000;
                border-radius: 5px 5px 0 0;
                padding: 5px;
                display: inline-block;
                font-family: "Arial";
            }
            .tit .t2 {
                border: 2px solid #000;
                padding: 5px;
                border-radius: 0 2px 2px 2px;
            }
            .tit .t2 div {
                border: 1px solid #000;
                padding: 5px;
                text-align: center;
                font-size: 1.66em;
            }
            .txt_box {}
            .txt_box .box01 {
                display: flex;
                justify-content: center;
                align-items: center;
                width: 100%;
                margin: auto;
            }
            .txt_box .box01 .box {
                display: flex;
            }
            .txt_box .box01 .box .t {
                line-height: 71px;
                background: url(../images/top_boxs02_nobg.png) no-repeat center center;
                background-size: 100% 100%;
                width: 310px;
                margin: 0 20px 50px 10px;
                font-weight: 600;
                font-size: 1.27em;
                color: #ff6094;
                text-align: center;
            }
            .txt_box .box02 {
                text-align: center;
                line-height: 2;
            }
            .txt_box .box03 {
                background: url(../images/top_boxs02_bg01.png) no-repeat center top;
                background-size: auto 100%;
                height: 200px;
                margin: 50px auto;
            }
            .txt_box .box03 div {
                text-align: center;
                padding: 40px 0;
                color: #ff6696;
                font-size: 24px;
                font-weight: 600;
            }
        }
    }
    #options_box {
        .boxs {
            display: flex;
            justify-content: center;
            margin-bottom: 50px;
            .box {
                margin: 0 10px;
                border: 2px solid #ff6094;
                padding: 5px;
                border-radius: 5px;
                .b {
                    border: 1px solid #ff6094;
                    padding: 10px;
                    border-radius: 5px;
                    color: #ff6094;
                    line-height: 1.2;
                    img {
                        margin-bottom: 10px;
                    }
                    .t {
                        text-align: center;
                    }
                }
            }
        }
    }
    .box05 {
        margin: 50px auto 10px;
        .question_box .question {
            margin: auto auto 2em;
            max-width: 1000px;
        }
    }
    .imgboxs img {
        display: block;
        margin: 0 auto 3em;
    }
    .imgboxs picture:nth-of-type(1) img,
    .imgboxs picture:nth-of-type(5) img {
        width: 95%;
        max-width: fit-content;
    }
    .imgboxs picture:nth-of-type(4) img {
        width: 85%;
        max-width: fit-content;
        margin: auto;
    }
    .box06 {
        width: 98%;
        max-width: 760px;
        margin: auto;
        .box {
            display: flex;
            margin-bottom: 40px;
            flex-direction: row-reverse;
            .t {
                width: calc(100% - 210px);
                .t01 {
                    .question_box .question {
                        border: 2px solid #6a6a6a;
                        padding: 20px 0;
                        width: 95%;
                        text-align: center;
                        color: #6a6a6a;
                        margin: 50px 0 20px;
                        font-size: 1em;
                    }
                }
                .t02 {
                    margin: 15px 0;
                }
            }
        }
        .box:first-child .t .t02 {
            font-size: 1.66em;
            font-weight: 600;
        }
        .txt {
            text-align: center;
            margin-bottom: 50px;
        }
    }
    .box07 {
        border: 2px solid #ff6194;
        padding: 10px;
        width: calc(95% - 24px);
        max-width: 1200px;
        margin: 20px auto 80px;
        .b {
            display: flex;
            max-width: 1000px;
            width: 100%;
            margin: auto;
            justify-content: center;
            .t {
                text-align: center;
                align-content: center;
                .t01 {
                    text-align: center;
                    background-color: #ff6194;
                    color: #fff;
                    padding: 0;
                    margin: 20px auto;
                    max-width: 400px;
                    width: 100%;
                    font-weight: 600;
                }
                .t02 {
                    text-align: center;
                }
            }
            .i {
                margin-left: 20px;
            }
        }
    }
}


/*------ / #top_boxs02 / -------*/


/*------ #top_boxs03 -------*/

#top_boxs03 {
    position: relative;
}

#top_boxs03 .box01 {
    position: absolute;
    z-index: 100;
    width: 95%;
    max-width: 550px;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
}

#top_boxs03 .box01 .trigonometer {
    width: 100%;
    text-align: center;
    background-color: #282828a3;
    color: #fff;
    padding: 40px 0 20px;
    font-size: 1.66em;
    font-weight: 600;
}

#top_boxs03 .box01 .triangle {
    background: #282828a3;
    height: calc(tan(60deg) * 60px / 2);
    width: 100%;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

#top_boxs03 .box02 {
    background-color: #fefdeb;
    padding: 50px 0 90px;
}

#top_boxs03 .box02 .txt01 {
    color: #fcacbc;
    text-align: center;
    font-weight: 600;
    width: 90%;
    margin: auto;
}

#top_boxs03 .box02 .tabbox table {
    width: 95%;
    max-width: 800px;
    margin: 3em auto;
    line-height: 1;
}

#top_boxs03 .box02 .tabbox table th {
    color: #fff;
    padding: 5px;
}

#top_boxs03 .box02 .tabbox table th div {
    border: 2px solid #fff;
    line-height: 40px;
}

#top_boxs03 .box02 .tabbox table th:nth-child(2) {
    background-color: #ff6194;
}

#top_boxs03 .box02 .tabbox table th:nth-child(3) {
    background-color: #7e7e7e;
}

#top_boxs03 .box02 .tabbox table th:nth-child(4) {
    background-color: #000;
}

#top_boxs03 .box02 .tabbox table td {
    text-align: center;
    border-bottom: 2px dotted #fff;
	align-content: center;
	vertical-align:middle;
}

#top_boxs03 .box02 .tabbox table td div {
    display: grid;
    align-items: center;
    justify-content: center;
    text-decoration: none;
  
}

#top_boxs03 .box02 .tabbox table td:first-child {
    border: 2px #ff85ac solid;
    background-color: #fff;
    width: calc(16% - 2px);
}

#top_boxs03 .box02 .tabbox table td:nth-child(2) {
    background-color: #ffeef4;
    width: 27%;
	  height: 98px;
}

#top_boxs03 .box02 .tabbox table td:nth-child(3) {
    background-color: #eee;
    width: 27%;
	  height: 98px;
}

#top_boxs03 .box02 .tabbox table td:nth-child(4) {
    background-color: #e6e6e6;
    width: 27%;
	  height: 98px;
}

#top_boxs03 .box02 .txt02 {
    text-align: left;
    width: 90%;
    margin: auto;
    max-width: fit-content;
}

#top_boxs03 .box02 .txt03 {
    border-bottom: 1px solid;
    border-top: 1px solid;
    position: relative;
    margin: 80px auto 0;
    padding: 50px 0;
    width: 98%;
    max-width: 1200px;
    font-weight: 600;
    font-size: 1.66em;
}

#top_boxs03 .box02 .txt03 .i {
    background-color: #8e8c8d;
    color: #fff;
    top: -26px;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    display: inline-block;
    width: 150px;
}

#top_boxs03 .box02 .txt03 div {
    text-align: center;
}

#top_boxs03 .box02 .txt03 .b {
    background-color: #f5c678;
    color: #fff;
    margin-top: 30px;
}


/*------ / #top_boxs03 / -------*/


/*------ / #top_boxs04 / -------*/

#top_boxs04 {
    padding: 4.4em 0 1em;
    .img01 {
        margin: 0 auto 4em;
        width: fit-content;
        max-width: 95%;
    }
    .img02 {
        margin: auto auto 50px;
    }
    .img03 {
        margin: 40px auto 80px;
        width: fit-content;
        max-width: 90%;
    }
    .img04 {
        margin: 0 auto 50px;
    }
    div {
        text-align: center;
    }
    .txt {
        width: 95%;
        margin: auto;
    }
    .txt .ib {
        display: inline-block;
    }
    .boxs01 {}
    .boxs01 .t1 {
        font-size: 24px;
        font-weight: 600;
        padding: 25px 0 20px;
    }
    .boxs01 .b1 {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto 25px;
        width: 98%;
        max-width: 1200px;
    }
    .boxs01 .b1 .box {
        border: 2px solid #6a6a6a;
        border-radius: 3px;
        padding: 5px;
        width: calc(30% - 14px);
    }
    .boxs01 .b1 .box .b {
        border: 2px solid #6a6a6a;
        padding: 5px;
        border-radius: 3px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .boxs01 .b1 .box .b .i {
        width: 80px;
        display: block ruby;
    }
    .boxs01 .b1 .box .b .t {
        color: #ff6094;
        font-size: 1.33em;
        line-height: 1.2;
        font-weight: 600;
        padding: 10px 0;
    }
    .boxs01 .b1 .p {
        width: 5%;
    }
    .txt .tp {
        display: inline-block;
        background-color: #fd5b90;
        color: #fff;
    }
    .boxs02 {
        .txt {
            max-width: 90%;
            margin: auto;
        }
    }
    .boxs02 .boxs {
        width: 98%;
        max-width: 1800px;
        margin: 100px auto;
    }
    .boxs02 .boxs .tit {
        width: 90%;
        max-width: 500px;
        margin: 0 auto 20px;
    }
    .boxs02 .boxs .tit .top {
        position: relative;
        height: 10px;
        border-top: 2px solid #8e8c8d;
        border-right: 2px solid #8e8c8d;
        border-left: 2px solid #8e8c8d;
    }
    .boxs02 .boxs .tit .top .t {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        border-radius: 0 0 5px 5px;
        color: #fff;
        font-weight: 600;
        background-color: #8e8c8d;
        margin: auto;
        display: inline-block;
        width: 175px;
        text-align: center;
    }
    .boxs02 .boxs .tit .box {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 25px 0 0;
    }
    .boxs02 .boxs .tit .box .t {
        font-size: 1.66em;
        font-weight: 600;
        line-height: 1.2;
        margin-left: 10px;
    }
    .boxs02 .boxs.c01 .tit .box .t {
        border-bottom: 4px solid #a6efaa;
    }
    .boxs02 .boxs.c02 .tit .box .t {
        border-bottom: 4px solid #cda4fe;
    }
    .boxs02 .boxs.c03 .tit .box .t {
        border-bottom: 4px solid #fdb9c9;
    }
    .boxs02 .boxs .tit .botm {
        height: 10px;
        border-bottom: 2px solid #8e8c8d;
        border-right: 2px solid #8e8c8d;
        border-left: 2px solid #8e8c8d;
    }
    .boxs02 .boxs .tabbox {
        max-width: 800px;
        width: 98%;
        margin: auto;
    }
    .boxs02 .boxs .tabbox table {
        border-bottom: 1px solid #8e8c8d;
        border-right: 1px solid #8e8c8d;
        width: 100%;
        font-weight: 600;
    }
    .boxs02 .boxs.c01 .tabbox table th:nth-child(2) {
        background-color: #facaa4;
        border-left: 1px solid #8e8c8d;
        border-top: 1px solid #8e8c8d;
    }
    .boxs02 .boxs.c01 .tabbox table tr:nth-child(2) td:nth-child(2) {
        background-color: #f9f7a4;
    }
    .boxs02 .boxs.c01 .tabbox table tr:nth-child(2) td:nth-child(3) {
        background-color: #a4cffa;
    }
    .boxs02 .boxs.c01 .tabbox table tr:nth-child(2) td:nth-child(4) {
        background-color: #faa4a7;
    }
    .boxs02 .boxs.c01 .tabbox table tr:nth-child(2) td:nth-child(5) {
        background-color: #a5fab7;
    }
    .boxs02 .boxs.c01 .tabbox table tr:nth-child(n+3) td:nth-child(n+2) {
        color: #fd90b3;
    }
    .boxs02 .boxs .tabbox table td {
        border-left: 1px solid #8e8c8d;
        border-top: 1px solid #8e8c8d;
        font-size: 16px;
        padding: 5px 1%;
        align-content: center;
		vertical-align:middle;
    }
    .boxs02 .boxs.c02 .tabbox table tr th {
        background-color: #d2acff;
        border-left: 1px solid #8e8c8d;
        border-top: 1px solid #8e8c8d;
    }
    .boxs02 .boxs.c02 .tabbox table td:nth-child(2) {
        color: #fd90b3;
    }
    .boxs02 .boxs.c03 .tabbox table {
        margin-bottom: 50px;
    }
    .boxs02 .boxs.c03 .tabbox table tr th {
        background-color: #ffb8ca;
        border-left: 1px solid #8e8c8d;
        border-top: 1px solid #8e8c8d;
    }
    .boxs02 .boxs.c03 .tabbox table td:nth-child(4) {
        width: 33%;
    }
    .boxs02 .boxs.c03 .tabbox table td:nth-child(1),
    .boxs02 .boxs.c03 .tabbox table td:nth-child(4) {
        text-align: left;
    }
    .boxs02 .boxs.c03 .tabbox table td:nth-child(2),
    .boxs02 .boxs.c03 .tabbox table td:nth-child(3) {
        color: #fd90b3;
    }
    .boxs02 .boxs .txt {
        margin-bottom: 25px;
        .pg {
            width: fit-content;
            margin: auto;
        }
    }
    .boxs02 .boxs .txt .putsboxs {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .boxs02 .tboxs01 .onebox .pbtxt {
        color: #fff;
        background-color: #ff6094;
        display: inline-block;
        padding: 0 10px;
        margin: 25px auto 30px;
        width: fit-content;
        font-weight: 600;
    }
    .boxs02 .tboxs01 .onebox .txt01 {
        margin-bottom: 30px;
    }
    .boxs02 .tboxs01 .onebox .plus_boxs {
        max-width: 920px;
        width: 100%;
        margin: 0 auto 50px;
    }
    .boxs02 .tboxs01 .onebox .plus_boxs .pboxs {
        display: flex;
        justify-content: center;
    }
    .boxs02 .tboxs01 .onebox .plus_boxs .box1 {
        width: 18%;
    }
    .boxs02 .tboxs01 .onebox .plus_boxs .box2 {
        width: 36%;
    }
    .boxs02 .tboxs01 .onebox .plus_boxs table {
        width: 100%;
        border-top: 1px solid #6a6a6a;
        border-left: 1px solid #6a6a6a;
        font-weight: 600;
    }
    .boxs02 .tboxs01 .onebox .plus_boxs table tr.by {
        background-color: #faf7a4;
    }
    .boxs02 .tboxs01 .onebox .plus_boxs table tr.br {
        background-color: #d2acff;
    }
    .boxs02 .tboxs01 .onebox .plus_boxs table tr.bp {
        background-color: #ffb8c9;
    }
    .boxs02 .tboxs01 .onebox .plus_boxs table tr.bg {
        background-color: #a4fab6;
    }
    .boxs02 .tboxs01 .onebox .plus_boxs table tr th {}
    .boxs02 .tboxs01 .onebox .plus_boxs table tr th,
    .boxs02 .tboxs01 .onebox .plus_boxs table tr td {
        border-bottom: 1px solid #6a6a6a;
        border-right: 1px solid #6a6a6a;
        padding: 10px 0;
        line-height: 1;
    }
    .boxs02 .tboxs01 .onebox .plus_boxs .pboxs .plus {
        align-items: center;
        display: grid;
        width: 5%;
    }
    .boxs02 .tboxs01 .onebox .tb {
        width: calc(98% - 8px);
        margin: 0 auto 75px;
        border: 2px solid;
        max-width: 930px;
        padding: 2px;
        border-radius: 2px;
    }
    .boxs02 .tboxs01 .onebox .tb div {
        border: 2px solid;
        padding: 30px 1%;
    }
    .boxs02 .tboxs02 {}
    .boxs02 .tboxs02 .t01 {
        color: #ff6094;
        font-weight: 600;
        margin-bottom: 30px;
    }
    .boxs02 .tboxs02 .t01 .plus_boxs {
        display: flex;
        justify-content: center;
        align-items: center;
        max-width: 750px;
        width: 100%;
        margin: 30px auto;
    }
    .boxs02 .tboxs02 .t01 .plus_boxs .tb {
        color: #fff;
        background-color: #ff85a9;
        padding: 3px;
        width: 30%;
    }
    .boxs02 .tboxs02 .t01 .plus_boxs .tb div {
        padding: 5px 0;
        line-height: 1;
        border: 2px #fff solid;
    }
    .boxs02 .tboxs02 .t01 .plus_boxs .plus {
        color: #6a6a6a;
        width: 5%;
    }
    .boxs02 .tboxs02 .t02 {
        margin: auto auto 90px;
        width: 95%;
    }
    .boxs02 .tboxs02 .t03 {
        .img02 {
            img {
                width: 70%;
            }
        }
    }
    .boxs02 .tboxs02 .t03 img {
        margin: 10px auto 30px;
        display: block;
        width: 90%;
        max-width: fit-content;
    }
}

#top_boxs05_01 {
    position: relative;
}

#top_boxs05_01 .hukidasi {
    /*position: absolute;
    top: -120px;
    left: 0;
    right: 0;*/
    margin: auto;
    font-size: 1.66em;
    font-weight: 600;
    color: #fff;
}

#top_boxs05_01 .hukidasi.h01 {
    background: url(../images/top_img19_01.png) no-repeat center center / 100% 100%;
    max-width: 810px;
    width: 90%;
    padding: 0 0 40px;
}

#top_boxs05_01 .hukidasi.h01 div {
    padding: 1% 0 0;
    text-align: center;
}

#top_boxs05_02 {
    position: relative;
}

#top_boxs05_02 .hukidasi {
   /* position: absolute;
    top: 5%;
    left: 0;
    right: 0;*/
    margin: auto;
    font-size: 1.66em;
    font-weight: 600;
    color: #fff;
}

#top_boxs05_02 .hukidasi.h01 {
    background: url(../images/top_img19_02.png) no-repeat center center / 100% 100%;
    max-width: 810px;
    width: 90%;
    height: auto;
    padding: 0 0 40px;
}

#top_boxs05_02 .hukidasi.h01 div {
    padding: 2.5% 0 0;
    line-height: 1.2;
    text-align: center;
}

#top_boxs05_01 .top_box05_02 {
    padding: 80px 0 0;
    width: 90%;
    margin: auto;
    img {
        margin: auto;
        max-width: fit-content;
        width: 100%;
    }
}

#top_boxs05_01 .top_box05_02 .txt {
    padding: 60px 0 50px;
    text-align: center;
}

.top_box05_01 {
    background-color: #fef4f4;
}

.top_box05_01 .onebox {}

.top_box05_01 .onebox.ngbox {
    background: #ebe9e9;
    padding: 30px 0 0;
}

.top_box05_01 .onebox .tit {
    font-size: 1.66em;
    font-weight: 600;
    display: block;
    width: 300px;
    padding: 5px 0;
    height: 73px;
    margin: auto;
    text-align: center;
}

.top_box05_01 .onebox .tit.t01 {
    background: url(../images/top_img20_01.png) no-repeat center center;
    color: #6a6a6a;
}

.top_box05_01 .onebox .tit.t01>div {
    border: 2px solid #6a6a6a;
    padding: 1px;
}

.top_box05_01 .onebox .tit.t01 div div {
    border: 2px solid #6a6a6a;
}

.top_box05_01 .onebox .tit.t02 {
    background: url(../images/top_img20_02.png) no-repeat center center;
    color: #3266a6;
}

.top_box05_01 .onebox .tit.t02>div {
    border: 2px solid #3266a6;
    padding: 1px;
}

.top_box05_01 .onebox .tit.t02 div div {
    border: 2px solid #3266a6;
}

.top_box05_01 .onebox .comparison_boxs {
    width: 100%;
    margin: auto;
    padding: 30px 0;
    max-width: 1070px;
    display: flex;
    justify-content: center;
    position: relative;
}

.top_box05_01 .onebox .comparison_boxs .box {
    width: 22%;
}

.top_box05_01 .onebox .comparison_boxs .box .b {
    background-color: #fff;
}

.top_box05_01 .onebox .comparison_boxs .box .b .t01 {
    font-size: 16px;
    text-align: center;
}

.top_box05_01 .onebox .comparison_boxs .box .b .t02 {
    font-size: 14px;
    padding: 10px 5px;
    line-height: 1.5;
    text-align: center;
}

.top_box05_01 .onebox .comparison_boxs .box .b .t02 div {
    font-size: 1.66em;
    font-weight: 600;
    color: #ff6094;
}

.top_box05_01 .onebox .comparison_boxs .box:nth-child(1) .b .t01 {
    background-color: #a7f0ac;
}

.top_box05_01 .onebox .comparison_boxs .box:nth-child(3) .b .t01 {
    background-color: #ffb8c9;
}

.top_box05_01 .onebox .comparison_boxs .box:nth-child(5) .b .t01 {
    background-color: #d2acff;
}

.top_box05_01 .onebox .comparison_boxs .box:nth-child(7) .b {
    margin-bottom: 35px;
}

.top_box05_01 .onebox .comparison_boxs .box:nth-child(7) .b .t01 {
    background-color: #ff6094;
    color: #fff;
}

.top_box05_01 .onebox .comparison_boxs .box:nth-child(7) .b .t02 {
    color: #ff6094;
    font-size: 40px;
    font-weight: 600;
    line-height: 1.2;
}

.top_box05_01 .onebox .comparison_boxs .box:nth-child(7) .b .t02 div {
    font-size: 18px;
    text-align: right;
}

.top_box05_01 .onebox .comparison_boxs .box:nth-child(7) .b:nth-child(2) .t02 {
    color: #ff0000;
}

.top_box05_01 .onebox .comparison_boxs .box:nth-child(7) .b:nth-child(2) .t01 {
    color: #fff;
    background-color: #3266a6;
}

.top_box05_01 .onebox .plus {
    width: 3%;
    padding-top: 40px;
    text-align: center;
}

#top_boxs05_01 .top_box05_01 .onebox .comparison_boxs .t {
    bottom: 50px;
}

.top_box05_01 .onebox .t {
    color: #ff0000;
    font-size: 16px;
    line-height: 1.2;
    text-align: left;
    position: absolute;
    bottom: 20px;
    left: 1%;
}


/*------ / #top_boxs04 / -------*/


/*------ / #recruit_requirements / -------*/

#recruit_requirements {
    padding: 120px 0 0;
    width: 95%;
    margin: auto;
    .recruit_requirements {
        .recruit_requirements_box {
            width: calc(98% - 2px);
            max-width: 900px;
            border: 1px solid #fba6bf;
            padding: 2px;
            border-radius: 35px;
            margin: auto;
            .box_line {
                border: 1px solid #fba6bf;
                border-radius: 32px;
                .boxs {
                    width: 95%;
                    margin: 30px auto;
                    max-width: 700px;
                    dl {
                        display: flex;
                        flex-wrap: wrap;
                        border-bottom: 1px dashed;
                        text-align: left;
                        padding: 10px;
                        dt {
                            width: 25%;
                            color: #fba6bf;
                            font-weight: 600;
                        }
                        dd {
                            width: 75%;
                        }
                    }
                }
            }
        }
    }
}

#recruit_requirements .recruit_requirements .tit,
#recruit_foam .recruit_foam .tit {
    line-height: 1.5;
    margin-bottom: 50px;
    text-align: center;
}

#recruit_requirements .recruit_requirements .tit .t1,
#recruit_foam .recruit_foam .tit .t1 {
    color: #fba6bf;
    font-size: 2em;
    font-weight: 600;
}

#recruit_requirements .recruit_requirements .tit .t2,
#recruit_foam .recruit_foam .tit .t2 {
    background-color: #fba6bf;
    color: #fff;
    padding: 2px;
    display: inline-block;
}

#recruit_requirements .recruit_requirements .tit .t2 div,
#recruit_foam .recruit_foam .tit .t2 div {
    border: 2px solid #fff;
    padding: 2px 10px;
}

#recruit_foam .recruit_foam {
    padding: 8em 0 7em;
    width: 95%;
    margin: auto;
}

#recruit_foam .recruit_foam .recruit_foam_box {
    width: calc(98% - 2px);
    max-width: 700px;
    padding: 2px;
    margin: auto;
}

#recruit_foam .recruit_foam .recruit_foam_box form {}

#recruit_foam .recruit_foam .recruit_foam_box form .onebox {
    text-align: left;
    margin-bottom: 30px;
}

#recruit_foam .recruit_foam .recruit_foam_box form .onebox .t01 {
    font-weight: 600;
}

#recruit_foam .recruit_foam .recruit_foam_box form .onebox .t02 {
    .error {
        color: var(--color01);
        font-size: 0.8em;
        padding: 5px 0 0;
    }
    .answer {
        margin: auto auto 3em;
    }
}

#recruit_foam .recruit_foam .recruit_foam_box form .onebox .t02 input {
    border: 2px solid #fba6bf;
    width: calc(96% - 4px);
    border-radius: 5px;
    color: #6a6a6a;
    padding: 5px 2%;
    display: block;
}

#recruit_foam .recruit_foam .recruit_foam_box form .onebox .t02 select {
    border: 2px solid #fba6bf;
    width: 100%;
    border-radius: 5px;
    color: #6a6a6a;
    padding: 5px 2%!important;
    display: block;
    line-height: 1.5;
        min-height: 40px!important;
        /*appearance: none;
  -webkit-appearance: none;  iOS必須 */
}

#recruit_foam .recruit_foam .recruit_foam_box form .onebox .t02 textarea {
    border: 2px solid #fba6bf;
    width: calc(96% - 4px);
    height: 500px;
    border-radius: 5px;
    color: #6a6a6a;
    padding: 5px 2%;
    display: block;
}

#recruit_foam .recruit_foam .recruit_foam_box form .foambtn {}

#recruit_foam .recruit_foam .recruit_foam_box form .foambtn .btn {
    position: relative;
}

#recruit_foam .recruit_foam .recruit_foam_box form .foambtn .btn::after {
    position: absolute;
    content: "▶";
    color: #fff;
    right: 30px;
    top: 0;
    bottom: 0;
    align-items: center;
    display: flex;
}

#recruit_foam .recruit_foam .recruit_foam_box form .foambtn .btn .submit {
    background-color: #fba6bf;
    border-radius: 50px;
    width: 100%;
    text-align: center;
    color: #fff;
    line-height: 60px;
    font-weight: 600;
    border: none;
    transition: 1s;
    cursor: pointer;
}

#recruit_foam .recruit_foam .recruit_foam_box form .foambtn .btn .submit:hover {
    opacity: 0.5;
}

#recruit_foam .recruit_foam .recruit_foam_box form .foambtn .returnbtn {
    position: relative;
    margin: 2em auto auto;
}

#recruit_foam .recruit_foam .recruit_foam_box form .foambtn .returnbtn::before {
    position: absolute;
    content: "◀";
    color: #fba6bf;
    left: 30px;
    top: 0;
    bottom: 0;
    align-items: center;
    display: flex;
}

#recruit_foam .recruit_foam .recruit_foam_box form .foambtn .returnbtn .return {
    border: 2px solid #fba6bf;
    background: #fff;
    border-radius: 50px;
    width: 100%;
    text-align: center;
    color: #fba6bf;
    line-height: 60px;
    font-weight: 600;
    transition: 1s;
    cursor: pointer;
}

#recruit_foam .recruit_foam .recruit_foam_box form .foambtn .returnbtn .return:hover {
    opacity: 0.5;
}

#contact_check,
#contact_fin {
    #recruit_foam .recruit_foam {
        padding: 3em 0 7em;
    }
}

#contact_fin {
    .contact_fin_box {
        width: calc(98% - 2px);
        max-width: 700px;
        padding: 2px;
        margin: auto;
        .txt {
            font-size: 1.66em;
            text-align: center;
            margin: auto auto 3em;
            color: #fba6bf;
        }
        .btn {
            position: relative;
            margin: 2em auto auto;
            div {
                background-color: #fba6bf;
                border-radius: 50px;
                width: 100%;
                text-align: center;
                color: #fff;
                line-height: 60px;
                font-weight: 600;
                border: none;
                transition: 1s;
                cursor: pointer;
            }
            div:hover {
                opacity: 0.5;
            }
        }
        .btn::after {
            position: absolute;
            content: "▶";
            color: #fff;
            right: 30px;
            top: 0;
            bottom: 0;
            align-items: center;
            display: flex;
        }
    }
}


/*concept_boxs01*/

#concept_boxs01 {
    .concept_boxs {
        .img {
            text-align: center;
            img {
                width: fit-content;
                margin: auto;
                display: block;
            }
        }
        .img.img02 {
            margin: 25px auto -50px;
        }
        .box01 {
            border: 2px solid #fba6bf;
            padding: 2px;
            width: calc(90% - 4px);
            max-width: 1200px;
            margin: 80px auto 50px;
            line-height: 1.8;
            font-size: 1.66em;
            text-align: center;
            .b {
                border: 2px solid #fba6bf;
                padding: 30px 0;
                font-weight: 600;
                .txt {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    img {
                        margin: 0;
                    }
                    .t {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        line-height: 30px;
                        font-size: 0.6em;
                        div {
                            display: flex;
                            align-items: center;
                            justify-content: center;
                        }
                    }
                    .tb {
                        border-bottom: 1px solid;
                    }
                    .tbcp {
                        border-bottom: 1px solid;
                        font-size: 1.33em;
                        color: #ff6094;
                    }
                }
            }
        }
        .box02 {
            text-align: center;
        }
    }
}

#concept_boxs02 {
    .imgbox01 {
        background: url(../images/concept_bg02.jpg) no-repeat center center;
        img {
            margin: auto;
        }
    }
    .img01 {
        margin: 0 auto 50px;
        width: 95%;
        max-width: fit-content;
    }
    .img02 {
        margin: 0 auto 100px;
        width: 95%;
        max-width: fit-content;
    }
    .box02 {
        text-align: center;
        margin: 80px auto 50px;
        width: 95%;
    }
    .box04 {
        padding: 100px 0;
        margin: 0 0 100px;
        .boxs {
            border-top: 5px double #6a6868;
            border-right: 5px double #6a6868;
            border-left: 5px double #6a6868;
            width: calc(95% - 10px);
            max-width: 1200px;
            margin: 0 auto 0;
            background: url(../images/concept_bg03.jpg) repeat;
            .box {
                border-bottom: 5px double #6a6868;
                position: relative;
                padding: 80px 0 100px;
                text-align: center;
                font-weight: 600;
                display: flex;
                flex-wrap: wrap;
                justify-content: center;
                .i {
                    position: absolute;
                    top: -40px;
                    left: 0;
                    right: 0;
                    margin: auto;
                    width: 70%;
                    max-width: fit-content;
                }
                .b {
                    text-align: center;
                    width: calc(100% / 3 - 10px - 1%);
                    max-width: 300px;
                    margin: 0.5%;
                    border: 5px double #fff;
                    div {
                        background-color: #fff;
                        color: #ff6094;
                        text-align: center;
                        height: 100%;
                        padding: 0 0;
                        font-size: 1.33em;
                        width: 100%;
                        font-style: italic;
                        align-content: center;
                    }
                }
                .db {
                    border: 5px double #ff6094;
                    position: absolute;
                    bottom: -40px;
                    left: 0;
                    right: 0;
                    display: block;
                    width: 90%;
                    max-width: fit-content;
                    margin: auto;
                    div {
                        background-color: #ff6094;
                        font-size: 1.66em;
                        padding: 0 5px;
                        color: #fff;
                    }
                }
            }
        }
    }
}

#concept_boxs03 {
    .box06 {
        .txt {
            font-size: 1.33em;
            font-weight: 600;
            margin: 0 auto 50px;
            strong {
                font-size: 1.3em;
            }
        }
        .boxs {
            display: flex;
            align-content: center;
            justify-content: center;
            margin: 0 auto 50px;
            .box {
                width: calc(100% / 3 - 104px);
                position: relative;
                font-size: 1.33em;
                padding: 2px;
                border: 2px solid #8e8d8d;
                font-weight: 600;
                line-height: 1.3;
                .b {
                    border: 2px solid #8e8d8d;
                    padding: 15px 0;
                    height: calc(100% - 34px);
                    align-content: center;
                    .i {
                        position: absolute;
                        width: 40px;
                        height: 40px;
                        text-align: center;
                        align-content: center;
                        background-color: #ff6e9c;
                        color: #fff;
                        top: -10px;
                        left: -10px;
                        div {
                            border: 2px solid #8e8d8d;
                            width: 38px;
                            height: 38px;
                            position: absolute;
                            top: 2px;
                            left: 2px;
                            z-index: -1;
                        }
                    }
                }
            }
            .p {
                align-content: center;
                width: 50px;
            }
        }
    }
    .box02 {
        margin: 70px auto 50px;
        text-align: center;
        width: 95%;
    }
    .box02.box02_2 {
        img {
            margin: 35px auto 80px;
            width: 100%;
            max-width: fit-content;
        }
    }
    .box05.bg2 {
        background: url(../images/concept_bg04.jpg) no-repeat center center;
        height: 300px;
        align-content: center;
        text-align: center;
    }
    .ctitbox {
        .t01 {
            width: 90%;
            max-width: 1000px;
        }
    }
    .box03 {
        margin: 50px auto 0;
        font-size: 1.66em;
        font-weight: 600;
        color: #fba6bf;
        border: 2px solid #fba6bf;
        padding: 2px;
        position: relative;
        width: calc(95% - 8px);
        max-width: 800px;
        text-align: center;
        div {
            border: 2px solid #9e9d9d;
            padding: 30px 0;
        }
        img {
            position: absolute;
            top: -20px;
            left: -2px;
        }
    }
    .box04 {
        border: 5px double #a6a4a4;
        width: calc(98% - 10px);
        margin: 0 auto 75px;
        max-width: 1200px;
        .boxs {
            width: 95%;
            margin: auto;
            padding-top: 30px;
            max-width: 1000px;
            .box {
                display: flex;
                margin-bottom: 40px;
                .img {
                    margin: 0 15px 0 0;
                    flex-shrink: 0;
                }
                div {
                    text-align: left;
                }
                .t01 {
                    font-size: 1.33em;
                    font-weight: 600;
                    margin-top: 15px;
                }
                .t02 {}
            }
        }
    }
    .box05 {}
    .box05.bg1 {
        background: url(../images/concept_bg03.png) no-repeat center center;
        height: 300px;
        align-content: center;
        color: #fff;
        text-align: center;
        .lcard {
            background-color: #fff;
            color: #6a6a6a;
            font-size: 1.33em;
            padding: 0 5px;
        }
    }
    .box06 {
        text-align: center;
    }
}

#concept_boxs04 {
    .concept_boxs {
        text-align: center;
        .box01 {
            margin: 80px auto 10px;
        }
        .box02 {}
        .box05.bg1 {
            background: url(../images/concept_bg05.jpg) no-repeat center center;
            height: 300px;
            align-content: center;
            color: #fff;
            margin: 0 auto 50px;
            img {
                width: 95%;
                margin: auto;
                max-width: fit-content;
            }
        }
        .box04 {
            background-color: #fff;
            margin: 20px auto 100px;
        }
        .salary_increase {
            .boxs {
                border: 5px double #000;
                width: 90%;
                max-width: 1200px;
                margin: 30px auto auto;
                padding: 80px 2% 30px;
                .box {
                    width: 95%;
                    margin: 0 auto 70px;
                    max-width: 800px;
                    .t1 {
                        display: flex;
                        margin: 0 0 20px;
                        .t {
                            align-content: center;
                            font-size: 1.66em;
                            margin: 0 0 0 10px;
                            font-weight: 600;
                        }
                    }
                    .t2 {
                        text-align: left;
                        margin: 0 0 5px;
                        text-decoration: underline;
                        color: var(--color01);
                        font-size: 1.33em;
                        font-weight: 600;
                    }
                    .t3 {
                        text-align: left;
                        background-color: #fff;
                        padding: 5px;
                        font-weight: 600;
                    }
                }
                .tabbox {
                    max-width: 800px;
                    width: 98%;
                    margin: auto;
                    overflow-x: auto;
                }
                table {
                    border-bottom: 1px solid #8e8c8d;
                    border-right: 1px solid #8e8c8d;
                    width: 800px;
                    font-weight: 600;
                    background-color: #fff;
                    th,
                    td {
                        border-top: 1px solid #8e8c8d;
                        border-left: 1px solid #8e8c8d;
                        align-content: center;
                        padding: 5px 1%;
                        font-size: 0.88em;
                    }
                    th {
                        background: var(--color02);
                    }
                    td:nth-child(2),
                    td:nth-child(3) {
                        color: var(--color01);
                    }
                    td:last-child {
                        color: #6a6a6a;
                        span {
                            color: var(--color01);
                        }
                    }
                }
            }
        }
    }
    #options_box {
        .boxs {
            display: flex;
            justify-content: center;
            .box {
                width: 160px;
                margin: 0 25px;
                border: 3px solid #ff6094;
                padding: 2px;
                border-radius: 5px;
                background-color: #fff;
                .b {
                    border: 2px solid #ff6094;
                    border-radius: 5px;
                    padding: 2px;
                    color: #ff6094;
                    line-height: 1.3;
                    span {
                        font-size: 0.9em;
                    }
                    img {
                        width: fit-content;
                        margin: auto;
                    }
                }
            }
        }
    }
}

#concept_boxs05 {
    .box05.bg1 {
        background: url(../images/concept_bg06.jpg) no-repeat center center;
        height: 300px;
        align-content: center;
        color: #fff;
        margin: 0 auto 100px;
        img {
            width: 95%;
            margin: auto;
            max-width: fit-content;
        }
    }
    .text_pg_box {
        border: solid 2px var(--color);
        outline: solid 2px var(--color02);
        outline-offset: 2px;
        margin: 60px auto 40px;
        width: 90%;
        max-width: 800px;
        position: relative;
        padding: 35px 0;
        text-align: center;
        .img {
            background-color: #fff;
            position: absolute;
            top: -30px;
            left: -10px;
        }
        .t1 {
            background-color: #fff;
            position: absolute;
            top: -15px;
            left: 0;
            right: 0;
            width: fit-content;
            margin: auto;
        }
        .t {
            font-size: 1.33em;
            font-weight: 600;
            color: var(--color01);
        }
    }
    .box02 {
        text-align: center;
        margin: auto;
        img {
            margin: 55px auto 0;
            width: 90%;
            max-width: fit-content;
        }
    }
}

#concept_boxs06 {
    .concept_boxs {
        .box {
            text-align: center;
            padding: 0 0 25px;
        }
    }
}

.concept6boxs {
    background: url(../images/concept6boxs_bg.png) no-repeat center bottom;
    margin: 0 auto 100px;
    overflow-x: auto;
    padding: 0 0 0 3%;
        overflow-y: hidden;
    .boxs {
        display: flex;
        margin: auto;
        width: 1200px;
        .box {
            width: 200px;
            margin: auto;
            position: relative;
            .t {
                height: calc(100% - 20px);
                min-height: 451px;
                padding: 120px 0 0;
                font-size: 1.33em;
                color: #fff;
                text-align: center;
                line-height: 1.3;
                box-sizing: border-box;
                strong {
                    background-color: #fff;
                    padding: 0 3px;
                }
            }
        }
        .box.b1 {
            background: url(../images/concept6bg01.png) no-repeat center top;
            .t strong {
                color: var(--concept6boxs_color01);
            }
        }
        .box.b2 {
            background: url(../images/concept6bg02.png) no-repeat center top;
            .t strong {
                color: var(--concept6boxs_color02);
            }
        }
        .box.b3 {
            background: url(../images/concept6bg03.png) no-repeat center top;
            .t strong {
                color: var(--concept6boxs_color03);
            }
        }
        .box.b4 {
            background: url(../images/concept6bg04.png) no-repeat center top;
            .t strong {
                color: var(--concept6boxs_color04);
            }
        }
        .box.b5 {
            background: url(../images/concept6bg05.png) no-repeat center top;
            .t strong {
                color: var(--concept6boxs_color05);
            }
        }
        .box.b6 {
            background: url(../images/concept6bg06.png) no-repeat center top;
            .t strong {
                color: var(--concept6boxs_color06);
            }
        }
    }
}

#beginners_boxs01 {
    width: 95%;
    margin: auto;
    .txtbox {
        font-size: 2em;
        text-align: center;
        width: fit-content;
        margin: auto;
        border-bottom: 2px solid var(--color01);
        padding: 60px 0 0;
    }
}

#beginners_boxs02 {
    padding: 75px 0 20px;
    .title_hard_soft {
        text-align: center;
        img {
            margin: 0 auto 20px;
            width: 95%;
            max-width: fit-content;
        }
    }
    .hard_soft_box {
        background: url(../images/hard_soft_bg.jpg) no-repeat center center / cover;
        max-width: 1738px;
        width: 90%;
        margin: auto;
        padding: 40px 0;
        .hs_box {
            display: flex;
            justify-content: space-evenly;
            width: 90%;
            margin: auto;
            .img {
                margin: 0 2em 0 0;
                flex-shrink: 0;
                align-content: center;
                max-width: fit-content;
                width: auto;
            }
            .bottom {
                align-content: center;
                max-width: 600px;
                .btn {
                    margin: 0 0 40px;
                    position: relative;
                    width: fit-content;
                    a {
                        border: 2px solid #fff;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        border-radius: 4px;
                        width: fit-content;
                        padding: 15px 20px;
                        font-size: 1.6em;
                        font-weight: 600;
                        color: #fff;
                        margin: 2px;
                        line-height: 1.3;
                    }
                    a:hover {
                        /*animation: btn_animation02 3s infinite;*/
                        transform: scale(1.1)
                    }
                }
                .btn.btn01 {
                    a {
                        box-shadow: 0 0 0 2px var(--color01);
                        background-color: var(--color01);
                        /*background: linear-gradient(90deg, var(--color01), #ff0053, var(--color01));
                        animation: btn_animation 1s ease-in-out alternate infinite;
                        background-size: 500% 500%;*/
                    }
                }
                .btn.btn02 {
                    a {
                        box-shadow: 0 0 0 2px var(--color01);
                        background-color: var(--color01);
                        /*background: linear-gradient(90deg, var(--color01), #fba6bf);
                        animation: btn_animation 4s ease-in-out alternate infinite;
                        background-size: 500% 500%;*/
                    }
                }
                .btn.btn03 {
                    p {
                        color: var(--color02);
                        font-size: 1.6em;
                        font-weight: 600;
                    }
                    a {
                        box-shadow: 0 0 0 2px var(--color02);
                        background-color: var(--color02);
                        /*background: linear-gradient(90deg, var(--color02), #ffe1e8);
                        animation: btn_animation 4s ease-in-out alternate infinite;
                        background-size: 500% 500%;*/
                    }
                }
                .btn.btn04 {
                    a {
                        box-shadow: 0 0 0 2px var(--color04);
                        background-color: var(--color04);
                        /*background: linear-gradient(90deg, var(--color04), #d3e8ff);
                        animation: btn_animation 4s ease-in-out alternate infinite;
                        background-size: 500% 500%;*/
                    }
                }
                .btn.btn05 {
                    p {
                        color: #8e8d8d;
                        padding: 5px 0 0;
                        font-weight: 600;
                    }
                    a {
                        border: 6px double #8e8d8d;
                        padding: 11px 16px;
                        color: #8e8d8d;
                    }
                }
            }
        }
    }
}


/*@keyframes btn_animation {
    0% {
        background-position: 0% 50%
    }
    100% {
        background-position: 100% 50%
    }
}*/

@keyframes btn_animation02 {
    0% {
        transform: scale(1.1)
    }
    50% {
        transform: scale(1)
    }
    100% {
        -webkit-transform: scale(1.1)
    }
}


/* ctitbox */

.bg_pink {
    background-color: #fef4f3;
}

.ctitbox {
    font-weight: 600;
    .t01 {
        font-size: 3em;
        width: 100%;
        max-width: 1200px;
        margin: 0 auto 20px;
        /*font-style: italic;*/
        text-align: center;
    }
    .t02 {
        display: flex;
        font-size: 1.66em;
        text-align: center;
        width: 100%;
        max-width: 800px;
        margin: auto;
        /*font-style: italic;*/
    }
    .t02::before {
        margin-right: 0.4em;
        background: #6a6a6a;
    }
    .t02::before {
        content: "";
        flex-grow: 1;
        height: 1px;
        display: block;
        margin-top: 0.8em;
    }
    .t02::after {
        margin-left: 0.4em;
        background: #6a6a6a;
    }
    .t02::after {
        content: "";
        flex-grow: 1;
        height: 1px;
        display: block;
        margin-top: 0.8em;
    }
}

.ctitbox01 {
    width: 90%;
    margin: auto;
    div {
        text-align: center;
    }
    .t01 {
        color: #ff6e9c;
        background-color: #fff;
    }
}

.ctitbox02 {
    width: 80%;
    margin: auto;
    .t01 {
        color: #fff;
        background-color: #8e8d8d;
    }
}

.ctitbox03 {
    .t01 {
        color: var(--color01);
    }
    .t02 {
        color: var(--color01);
    }
    .t02::before {
        background: var(--color01);
    }
    .t02::after {
        background: var(--color01);
    }
}


/*footer*/

footer {
    background-color: #fba6bf;
    color: #fff;
    padding: 100px 0 70px;
    #f_talking {
        position: fixed;
        bottom: 50px;
        right: 25px;
        #page-top {
            transition: right 0.3s ease;
            display: none;
            width: fit-content;
            margin: 5px 0 auto auto;
            a {
                display: flex;
                transition: all 1s;
            }
        }
        #page-top.LeftMove {
            display: block;
        }
    }
    a {
        color: #fff;
    }
    .pc_f_nav {
        width: 90%;
        margin: auto;
        max-width: 1000px;
        ul {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            li {
                padding: 0 20px;
                border-right: 1px solid #fff;
                margin: auto 0 10px;
                line-height: 1;
            }
        }
    }
    .f_logo {
        margin: 35px auto;
        max-width: fit-content;
        width: 90%;
    }
    .copy_right {
        font-size: 0.8em;
        margin: auto;
        max-width: fit-content;
        width: 90%;
    }
}


/*------ / #recruit_requirements / -------*/


/*------ 8角形 -------*/

.txt_boxs_p {
    width: clac(100% - 50px);
    border: 5px solid #fba5be;
    margin: auto;
    max-width: 1000px;
    padding: 5px;
}

.txt_boxs_p .octagon {
    width: clac(100% - 80px);
    padding: 20px;
    position: relative;
    background: #fba5be;
    /* 8角形の色or画像 */
    text-align: center;
}

.txt_boxs_p .octagon::before {
    content: "";
    width: 10px;
    height: 10px;
    background-color: #fff;
    border-bottom-color: #fff;
    border-radius: 0 0 50% 0;
    position: absolute;
    top: 0;
    left: 0;
}

.txt_boxs_p .octagon::after {
    content: "";
    width: 10px;
    height: 10px;
    background-color: #fff;
    border-bottom-color: #fff;
    border-radius: 0 0 0 50%;
    position: absolute;
    top: 0;
    right: 0;
}

.txt_boxs_p .octagon_frame::before {
    content: "";
    width: 10px;
    height: 10px;
    background-color: #fff;
    border-bottom-color: #fff;
    border-radius: 0 50% 0 0;
    position: absolute;
    bottom: 0;
    left: 0;
}

.txt_boxs_p .octagon_frame::after {
    content: "";
    width: 10px;
    height: 10px;
    background-color: #fff;
    border-bottom-color: #fff;
    border-radius: 50% 0 0 0;
    position: absolute;
    bottom: 0;
    right: 0;
}


/*------ / 8角形 / -------*/


/*------ 波背景 -------*/


/*========= レイアウトのためのCSS ===============*/

.wrapper {
    width: 100%;
    min-height: 167px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
}


/*========= waveを描画するエリア設定 ===============*/

.wrapper canvas {
    position: absolute;
    bottom: 0;
    bottom: 0;
    width: 100%;
    z-index: -1;
}


/*------ / 波背景 / -------*/


/****/

.Text-Span {
    position: relative;
    z-index: 1;
}

.Text-Span:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0%;
    height: 4px;
    background: #fafdab;
    z-index: -1;
    transition: all 0.8s;
}

.Text-Span.isActive:after {
    width: 100%;
}


/*ふわっと*/


/* その場で */

.fadeIn {
    animation-name: fadeInAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeInAnime {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}


/* 下から */

.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(100px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* 上から */

.fadeDown {
    animation-name: fadeDownAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeDownAnime {
    from {
        opacity: 0;
        transform: translateY(-100px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* 左から */

.fadeLeft {
    animation-name: fadeLeftAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeLeftAnime {
    from {
        opacity: 0;
        transform: translateX(-100px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}


/* 右から */

.fadeRight {
    animation-name: fadeRightAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeRightAnime {
    from {
        opacity: 0;
        transform: translateX(100px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger {
    opacity: 0;
}


/* アニメーションスタートの遅延時間を決めるCSS*/

.delay-time025 {
    animation-delay: 0.25s;
}

.delay-time05 {
    animation-delay: 0.5s;
}

.delay-time075 {
    animation-delay: 0.75s;
}

.delay-time1 {
    animation-delay: 1s;
}

.delay-time125 {
    animation-delay: 1.25s;
}

.delay-time15 {
    animation-delay: 1.5s;
}

.delay-time175 {
    animation-delay: 1.75s;
}

.delay-time2 {
    animation-delay: 2s;
}

.delay-time225 {
    animation-delay: 2.25s;
}

.delay-time25 {
    animation-delay: 2.5s;
}

.delay-time275 {
    animation-delay: 2.75s;
}

.delay-time3 {
    animation-delay: 3s;
}

.delay-time325 {
    animation-delay: 3.25s;
}

.delay-time35 {
    animation-delay: 3.5s;
}

.delay-time375 {
    animation-delay: 3.75s;
}

.delay-time4 {
    animation-delay: 4s;
}

.delay-time45 {
    animation-delay: 4.5s;
}


/* アニメーション自体が変化する時間を決めるCSS*/

.change-time05 {
    animation-duration: 0.5s;
}

.change-time1 {
    animation-duration: 1s;
}

.change-time15 {
    animation-duration: 1.5s;
}

.change-time2 {
    animation-duration: 2s;
}

.change-time25 {
    animation-duration: 2.5s;
}

#age-modal.hidden {
    display: none;
}

#age-modal {
    /* オーバーレイ */
    .modal-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #ffffffe0;
        z-index: 1000;
    }
    /* モーダル本体 */
    .modal-content {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
        z-index: 1001;
        width: 90%;
        img {
            width: 100%;
            max-width: fit-content;
            margin: 0 auto 2.75em;
        }
        button {
            width: fit-content;
            margin: 0 auto 1.3em;
        }
        .modal_btn {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 98%;
            max-width: 510px;
            margin: 40px auto 50px;
            a,
            button {
                width: 45%;
                max-width: 225px;
                margin: auto;
                border: 2px solid #fba6bf;
                background-color: #fff;
                padding: 2px;
                border-radius: 5px;
                display: block;
                line-height: 1.2;
                cursor: pointer;
            }
            a>div,
            button>div {
                border: 2px solid #fba6bf;
                border-radius: 3px;
                .t1 {
                    font-size: 1.66em;
                    padding: 8px 0 0;
                }
                .t2 {
                    font-size: 16px;
                    padding: 0 0 8px;
                }
            }
            .btn1 {
                color: #fff;
            }
            .btn1>div {
                background-color: #fba6bf;
            }
            .btn2 {
                color: #fba6bf;
            }
            .btn2>div {
                background-color: #fff;
            }
        }
        copy {
            font-size: 0.8em;
        }
    }
}


/* beginners_soap */

#beginners_soap {
    .beginners_introduction {
        background-color: #fef4f3;
        .tit {
            max-width: 1200px;
            margin: 0 auto 70px;
            width: 98%;
            padding: 0 0 15px;
            border-bottom: 1px solid #000;
            div {
                margin: auto;
                box-shadow: 0 0 0 2px var(--color01);
                background-color: var(--color01);
                border: 2px solid #fff;
                color: #fff;
                font-size: 3em;
                font-weight: 600;
                padding: 0;
                text-align: center;
                margin: 2px 2px 70px;
            }
            img {
                display: block;
                width: fit-content;
                margin: auto;
            }
        }
        .txt01 {
            text-align: center;
            border: #8e8d8d double 6px;
            padding: 15px 0;
            width: 90%;
            max-width: 825px;
            margin: 0 auto 25px;
        }
        .bg_area {
            background: url(../images/beginners_deliheal_bg.jpg) no-repeat center center / cover;
            width: 100%;
            max-width: 2000px;
            min-height: 300px;
            height: auto;
            align-content: center;
            padding: 20px 0;
            margin: auto auto 40px;
            p {
                width: 95%;
                margin: auto;
                max-width: fit-content;
            }
        }
        .features {
            .titl {
                margin: auto;
                box-shadow: 0 0 0 2px var(--color01);
                background-color: var(--color01);
                border: 2px solid #fff;
                color: #fff;
                font-size: 2em;
                font-weight: 600;
                padding: 0;
                text-align: center;
                margin: 2px auto 30px;
                max-width: 645px;
                width: 80%;
            }
            .box_area {
                border: 6px double var(--color01);
                color: var(--color01);
                padding: 30px 0 15px;
                width: 90%;
                max-width: 800px;
                margin: auto auto 40px;
                ul {
                    max-width: fit-content;
                    margin: auto;
                    font-size: 1.66em;
                    width: 90%;
                    li {
                        background: var(--color01);
                        margin: 0 0 15px;
                        color: #fff;
                        font-weight: 600;
                    }
                }
            }
        }
    }
}

#beginners_deliheal {
    .beginners_introduction {
        background-color: #fff;
        padding: 0 0 0;
        .tit {
            max-width: 1200px;
            margin: 0 auto 30px;
            width: 90%;
            padding: 0 0 15px;
            border-bottom: 1px solid #000;
            div {
                margin: auto;
                box-shadow: 0 0 0 2px var(--color01);
                background-color: var(--color01);
                border: 2px solid #fff;
                color: #fff;
                font-size: 3em;
                font-weight: 600;
                padding: 0;
                text-align: center;
                margin: 2px 2px 70px;
            }
            img {
                display: block;
                width: fit-content;
                margin: auto;
            }
        }
        .bd_txt {
            text-align: center;
            margin: auto auto 15px;
        }
        .txt01 {
            border: #8e8d8d double 6px;
            padding: 15px 0;
            width: 70%;
            max-width: 825px;
            margin: 0 auto 25px;
            p {
                width: fit-content;
                margin: auto;
            }
        }
        .bg_area {
            background: url(../images/beginners_beautysalon_bg.jpg) no-repeat center center / cover;
            color: #fff;
            font-weight: 600;
            text-align: center;
            align-content: center;
            width: 100%;
            max-width: 2000px;
            min-height: 300px;
            align-content: center;
            margin: auto auto 40px;
            padding: 20px 0;
        }
        .txt02 {
            .pointplay {
                .titl {
                    color: var(--color02);
                    font-size: 1.66em;
                    text-align: center;
                    div {
                        margin: auto;
                        display: flex;
                        max-width: 650px;
                        width: 90%;
                    }
                    div::before {
                        content: "";
                        flex-grow: 1;
                        height: 1px;
                        display: block;
                        background: var(--color02);
                        margin: auto 20px auto 0;
                    }
                    div::after {
                        content: "";
                        flex-grow: 1;
                        height: 1px;
                        display: block;
                        background: var(--color02);
                        margin: auto 0 auto 20px;
                    }
                    span {
                        font-style: italic;
                        font-weight: 600;
                    }
                }
                .titl::after {
                    content: "";
                    width: 650px;
                    background: var(--color02);
                    height: 1px;
                    display: block;
                    margin: 20px auto 0;
                }
                p {
                    padding: 35px 0;
                    margin: auto;
                    text-align: center;
                    width: 90%;
                    max-width: 1200px;
                    span {
                        text-decoration: underline;
                    }
                }
            }
        }
    }
    .features {
        .titl {
            margin: auto;
            box-shadow: 0 0 0 2px var(--color01);
            background-color: var(--color01);
            border: 2px solid #fff;
            color: #fff;
            font-size: 2em;
            font-weight: 600;
            padding: 0;
            text-align: center;
            margin: 0 auto 30px;
            max-width: 645px;
            width: 70%;
        }
        .box_area {
            border: 6px double var(--color01);
            color: var(--color01);
            padding: 30px 0 15px;
            width: 90%;
            max-width: 800px;
            margin: auto auto 15px;
            ul {
                max-width: fit-content;
                margin: auto;
                font-size: 1.66em;
                width: 90%;
                margin: auto;
                li {
                    background: var(--color01);
                    margin: 0 0 15px;
                    color: #fff;
                    font-weight: 600;
                }
            }
        }
        p {
            font-size: 1.66em;
            text-align: center;
            font-weight: 600;
            color: var(--color01);
        }
    }
}

#beginners_beautysalon {
    .beginners_introduction {
        background: url(../images/beginners_beautysalon.jpg) no-repeat center center / cover;
        padding: 0 0 100px;
        margin: auto auto 40px;
        .tit {
            max-width: 1200px;
            margin: 0 auto 30px;
            width: 90%;
            padding: 0 0 15px;
            border-bottom: 1px solid #000;
            p {
                font-size: 2.66em;
                text-align: center;
                font-weight: 600;
                color: var(--color02);
                margin: 0 auto 30px;
            }
            div {
                margin: auto;
                box-shadow: 0 0 0 2px var(--color02);
                background-color: var(--color02);
                border: 2px solid #fff;
                color: #fff;
                font-size: 3em;
                font-weight: 600;
                padding: 0;
                text-align: center;
                margin: 2px 2px 15px;
            }
            img {
                display: block;
                width: fit-content;
                margin: auto;
            }
        }
        p.t01 {
            text-align: center;
            padding: 0 0 5px;
        }
        .bd_txt {
            text-align: center;
            margin: auto auto 15px;
        }
        .txt01 {
            border: #8e8d8d double 6px;
            padding: 15px 0;
            width: 70%;
            max-width: 825px;
            margin: 0 auto 25px;
            p {
                width: fit-content;
                margin: auto;
                font-weight: 600;
            }
        }
        .bg_area {
            background: url(../images/beginners_merit_demerit_bg.jpg) no-repeat center center / cover;
            color: #8e8d8d;
            font-weight: 600;
            text-align: center;
            align-content: center;
            width: 100%;
            max-width: 2000px;
            min-height: 300px;
            align-content: center;
            padding: 20px 0;
            margin: auto auto 40px;
        }
    }
    .merit_demerit {
        .onecard {
            background: #fff;
            width: 90%;
            margin: auto auto 55px;
            max-width: 1400px;
            padding: 25px 0 35px;
            text-align: center;
            .titl {
                border: 2px solid #fff;
                color: #fff;
                font-size: 2em;
                font-weight: 600;
                padding: 0;
                text-align: center;
                margin: 0 auto 15px;
                width: 90%;
                max-width: 650px;
            }
            img {
                display: block;
                margin: 45px auto;
                max-width: fit-content;
                width: 70%;
            }
            .meritboxs {
                width: 90%;
                max-width: 1200px;
                margin: auto;
                border-radius: 5px;
                padding: 40px 0;
                .card {
                    .pointcard {
                        .point {}
                        .point {
                            margin: auto;
                            display: flex;
                            max-width: 650px;
                            width: 90%;
                            font-size: 1.66em;
                            font-weight: 600;
                        }
                        .point::before {
                            content: "";
                            flex-grow: 1;
                            height: 1px;
                            display: block;
                            margin: auto 20px auto 0;
                        }
                        .point::after {
                            content: "";
                            flex-grow: 1;
                            height: 1px;
                            display: block;
                            margin: auto 0 auto 20px;
                        }
                        .txt {
                            font-size: 1.66em;
                            font-weight: 600;
                        }
                        .txt::after {
                            content: "";
                            max-width: 650px;
                            width: 90%;
                            background: var(--color02);
                            height: 1px;
                            display: block;
                            margin: 20px auto 0;
                        }
                        p {
                            font-size: 1.33em;
                            padding: 25px 0 35px;
                        }
                    }
                }
            }
        }
        .onecard.merit {
            .titl {
                box-shadow: 0 0 0 2px var(--color02);
                background-color: var(--color02);
            }
            .meritboxs {
                border: 6px double var(--color02);
                .card {
                    width: 100%;
                    margin: auto;
                    max-width: 800px;
                    .pointcard {
                        .point {
                            color: var(--color02);
                        }
                        .point::before {
                            background: var(--color02);
                        }
                        .point::after {
                            background: var(--color02);
                        }
                        .txt::after {
                            background: var(--color02);
                        }
                        .txt {
                            color: var(--color02);
                        }
                        p {
                            text-decoration: underline;
                            text-decoration-color: var(--color02);
                            text-decoration-thickness: 2px;
                            text-underline-offset: 5px;
                            strong {
                                color: var(--color02);
                            }
                        }
                    }
                }
            }
        }
        .onecard.demerit {
            .titl {
                box-shadow: 0 0 0 2px var(--color);
                background-color: var(--color);
                margin: 2px auto;
            }
            .meritboxs {
                border: 6px double var(--color);
                .card {
                    .pointcard {
                        .point {}
                        .point::before {
                            background: var(--color);
                        }
                        .point::after {
                            background: var(--color);
                        }
                        .txt::after {
                            background: var(--color);
                        }
                        .txt {
                            color: var(--color);
                        }
                        p {}
                    }
                }
            }
        }
    }
    .imerit_demerit_img {
        width: fit-content;
        display: block;
        margin: auto;
        max-width: fit-content;
    }
    .imerit_demerit_bg {
        background: url(../images/imerit_demerit_bg.jpg) no-repeat center center / cover;
        color: #8e8d8d;
        font-weight: 600;
        text-align: center;
        align-content: center;
        width: 100%;
        max-width: 2000px;
        min-height: 515px;
        height: auto;
        margin: auto auto 40px;
        padding: 3em 0;
        p {
            font-size: 1.33em;
            width: 95%;
            margin: auto;
        }
    }
    .opera_good {
        .tit {
            font-size: 1.66em;
            text-align: center;
            font-weight: 600;
            color: var(--color02);
            padding: 90px 0 60px;
            width: 95%;
            margin: auto;
        }
        .img {
            display: flex;
            justify-content: center;
            margin: auto auto 85px;
            div {
                margin: 0 5px;
            }
        }
        .text {
            text-align: center;
            width: 90%;
            max-width: 1200px;
            margin: auto auto 20px;
            div {
                font-size: 1.66em;
                font-weight: 600;
                background: var(--color02);
                color: #fff;
                width: 90%;
                max-width: 500px;
                margin: 0 auto 10px;
            }
            p {
                font-size: 1.33em;
                font-weight: 500;
                margin: 0 auto 40px;
            }
        }
        .imgs {
            margin: auto;
            width: fit-content;
            padding: 0 0 0;
            img {
                display: block;
                margin: auto auto 30px;
            }
        }
    }
}

#beginners_masturbation {
    .beginners_introduction {
        background-color: #f3fbfe;
        .tit {
            max-width: 1200px;
            margin: 0 auto 30px;
            width: 90%;
            padding: 0 0 15px;
            border-bottom: 1px solid #000;
            div {
                margin: auto;
                box-shadow: 0 0 0 2px var(--color04);
                background-color: var(--color04);
                border: 2px solid #fff;
                color: #fff;
                font-size: 3em;
                font-weight: 600;
                padding: 0;
                text-align: center;
                margin: 2px 2px 15px;
            }
            img {
                display: block;
                width: fit-content;
                margin: auto;
            }
        }
        p.t01 {
            text-align: center;
            padding: 0 0 5px;
        }
        .txt01 {
            border: #8e8d8d double 6px;
            padding: 15px 0;
            width: 70%;
            max-width: 825px;
            margin: 0 auto 25px;
            p {
                width: 90%;
                margin: auto;
            }
        }
        .bg_area {
            background: url(../images/beginners_masturbation_bg.jpg) no-repeat center center / cover;
            text-align: center;
            align-content: center;
            width: 100%;
            max-width: 2000px;
            min-height: 300px;
            height: auto;
            padding: 10px 0;
            margin: auto auto 40px;
        }
        .features {
            .titl {
                margin: auto;
                box-shadow: 0 0 0 2px var(--color04);
                background-color: var(--color04);
                border: 2px solid #fff;
                color: #fff;
                font-size: 2em;
                font-weight: 600;
                padding: 0;
                text-align: center;
                margin: 2px auto 30px;
                max-width: 645px;
                width: 70%;
            }
            .box_area {
                border: 6px double var(--color01);
                color: var(--color01);
                padding: 30px 0 15px;
                width: 90%;
                max-width: 800px;
                margin: auto auto 40px;
                ul {
                    width: fit-content;
                    margin: auto;
                    font-size: 1.66em;
                    li {
                        background: var(--color01);
                        margin: 0 0 15px;
                        color: #fff;
                        font-weight: 600;
                    }
                }
            }
        }
    }
    .merit_demerit {
        .onecard {
            background: #fff;
            width: 90%;
            margin: auto auto;
            max-width: 1400px;
            padding: 25px 0 35px;
            text-align: center;
            .titl {
                border: 2px solid #fff;
                color: #fff;
                font-size: 2em;
                font-weight: 600;
                padding: 0;
                text-align: center;
                margin: 0 auto 15px;
                width: 90%;
                max-width: 650px;
            }
            img {
                display: block;
                margin: 45px auto;
                max-width: fit-content;
                width: 70%;
            }
            .meritboxs {
                width: 90%;
                max-width: 1200px;
                margin: auto;
                border-radius: 5px;
                padding: 40px 0;
                .card {
                    .pointcard {
                        .point {
                            margin: auto;
                            display: flex;
                            max-width: 650px;
                            width: 90%;
                            font-size: 1.66em;
                            font-weight: 600;
                        }
                        .point::before {
                            content: "";
                            flex-grow: 1;
                            height: 1px;
                            display: block;
                            margin: auto 20px auto 0;
                        }
                        .point::after {
                            content: "";
                            flex-grow: 1;
                            height: 1px;
                            display: block;
                            margin: auto 0 auto 20px;
                        }
                        .txt {
                            font-size: 1.66em;
                            font-weight: 600;
                        }
                        .txt::after {
                            content: "";
                            max-width: 650px;
                            width: 90%;
                            background: var(--color02);
                            height: 1px;
                            display: block;
                            margin: 20px auto 0;
                        }
                        p {
                            font-size: 1.33em;
                            padding: 25px 0 35px;
                        }
                    }
                }
            }
        }
        .onecard.merit {
            .titl {
                box-shadow: 0 0 0 2px var(--color02);
                background-color: var(--color02);
                margin: 2px auto;
            }
            .meritboxs {
                border: 6px double var(--color02);
                .card {
                    width: 100%;
                    margin: auto;
                    max-width: 800px;
                    .pointcard {
                        .point {
                            color: var(--color02);
                        }
                        .point::before {
                            background: var(--color02);
                        }
                        .point::after {
                            background: var(--color02);
                        }
                        .txt::after {
                            background: var(--color02);
                        }
                        .txt {
                            color: var(--color02);
                        }
                        p {
                            text-decoration: underline;
                            text-decoration-color: var(--color02);
                            text-decoration-thickness: 2px;
                            text-underline-offset: 5px;
                            strong {
                                color: var(--color02);
                            }
                        }
                    }
                }
            }
        }
        .onecard.demerit {
            .titl {
                box-shadow: 0 0 0 2px var(--color);
                background-color: var(--color);
                margin: 2px auto;
            }
            .meritboxs {
                border: 6px double var(--color);
                .card {
                    .pointcard {
                        .point {}
                        .point::before {
                            background: var(--color);
                        }
                        .point::after {
                            background: var(--color);
                        }
                        .txt::after {
                            background: var(--color);
                        }
                        .txt {
                            color: var(--color);
                        }
                        p {}
                    }
                }
            }
        }
    }
}

#massage {
    .tit {
        text-align: center;
        margin: auto auto 70px;
        color: var(--color01);
        font-weight: 600;
        width: 90%;
        h2 {
            font-size: 3em;
            font-style: italic;
            font-weight: 600;
        }
        div {
            font-size: 2em;
            display: flex;
            text-align: center;
            width: 100%;
            max-width: 800px;
            margin: auto;
            color: var(--color);
        }
        div::before {
            content: "";
            flex-grow: 1;
            height: 1px;
            display: block;
            margin-top: 0.8em;
            margin-left: 0.4em;
            background: var(--color);
        }
        div::after {
            content: "";
            flex-grow: 1;
            height: 1px;
            display: block;
            margin-top: 0.8em;
            margin-left: 0.4em;
            background: var(--color);
        }
    }
    #massage_boxs01 {
        .tit {
            div {
                font-style: italic;
                color: var(--color01);
            }
            div::before {
                background: var(--color01);
            }
            div::after {
                background: var(--color01);
            }
        }
        .genre_txt {
            text-align: center;
            font-size: 1.66em;
            margin: auto auto 80px;
            div {
                position: relative;
                font-size: 1.6em;
            }
            div.t01 {
                width: fit-content;
                margin: auto;
                img {
                    position: absolute;
                    top: 0px;
                    left: -30px;
                }
            }
            div.t02 {
                background-color: var(--color01);
                color: #fff;
                width: fit-content;
                margin: auto;
                font-weight: 600;
                line-height: 1.3;
                img {
                    position: absolute;
                    bottom: 0px;
                    left: -40px;
                }
            }
        }
        .cards {
            .card {
                width: 100%;
                max-width: 1200px;
                margin: auto auto 50px;
                height: 300px;
                align-content: center;
                div {
                    width: 90%;
                    max-width: 450px;
                    font-size: 1.33em;
                    color: #6a6a6a;
                    text-align: center;
                    margin: auto auto 10px;
                    background: #fff;
                }
                p {
                    text-align: center;
                    color: #fff;
                }
            }
            .card.card01 {
                background: url(../images/massage_genre_bg01.jpg) no-repeat center center / cover;
            }
            .card.card02 {
                background: url(../images/massage_genre_bg02.jpg) no-repeat center center / cover;
            }
            .card.card03 {
                background: url(../images/massage_genre_bg03.jpg) no-repeat center center / cover;
            }
        }
        .massage_genre_txt {
            .card {
                border: #6a6a6a double 6px;
                width: 90%;
                max-width: 1200px;
                margin: auto auto 40px;
                padding: 20px 0;
                border-radius: 5px;
                p {
                    width: fit-content;
                    margin: auto;
                    text-align: center;
                    font-size: 1.33em;
                    span {
                        color: var(--color01);
                        font-weight: 600;
                    }
                }
            }
            .txt {
                text-align: center;
                padding: 0 0 120px;
                width: 95%;
                margin: auto;
            }
        }
    }
    #massage_boxs02 {
        .oil_bg {
            background: url(../images/oil_bg.jpg) no-repeat center center / cover;
            margin: auto auto 50px;
            align-content: center;
            height: 300px;
            p {
                text-align: center;
            }
        }
    }
    #oil_introduction_card {
        .oil_introduction_card {
            display: flex;
            width: 90%;
            max-width: 1200px;
            margin: auto auto 95px;
            .titcard {
                padding: 25px 0 0;
                width: calc(100% / 3 - 10px);
                margin: 0 10px 0 0;
                max-width: 365px;
                min-height: 400px;
                div {
                    border: #6a6a6a double 6px;
                    border-radius: 5px;
                    text-align: center;
                }
            }
            .txtcard {
                border: #6a6a6a double 6px;
                border-radius: 5px;
                margin: 25px 0 0;
                padding: 0 10px;
                align-content: center;
                p {
                    padding: 0 0 25px;
                }
            }
        }
        .oil_introduction_card.card01 {
            .titcard {
                background: url(../images/oil_introduction01.png) no-repeat top center / 100%;
            }
        }
        .oil_introduction_card.card02 {
            .titcard {
                background: url(../images/oil_introduction02.png) no-repeat top center / 100%;
            }
        }
        .oil_introduction_card.card03 {
            .titcard {
                background: url(../images/oil_introduction03.png) no-repeat top center / 100%;
            }
        }
    }
    .oil_massage {
        .oil_massage_txt {
            text-align: center;
            div {
                border: #6a6a6a double 6px;
                border-radius: 5px;
                width: 90%;
                margin: auto auto 50px;
                max-width: 1200px;
                padding: 20px 0;
                font-size: 1.33em;
                font-weight: 600;
            }
            p {
                width: 95%;
                margin: auto;
            }
        }
        table {
            width: 98%;
            margin: 50px auto;
            max-width: 1200px;
            thead {
                tr {
                    color: #fff;
                    th:first-child {
                        background: var(--color02);
                    }
                    th:nth-child(2) {
                        background: var(--color01);
                    }
                    th:last-child {
                        background: var(--color);
                    }
                }
            }
            tbody {
                tr {
                    th {
                        background: #fff;
                        border: 2px solid #ffeff4;
                        align-content: center;
                    }
                    td {
                        background: #ffeff4;
                        line-height: 70px;
                    }
                    td:last-child {
                        background: #eeeeee;
                    }
                    td::after {
                        border-bottom: 2px dashed #fff;
                        width: 80%;
                        margin: 0 auto;
                        content: "";
                        display: block;
                    }
                }
                tr:last-child {
                    td::after {
                        border-bottom: none;
                    }
                }
            }
        }
    }
    #massage_boxs03 {
        #massage_kinds {
            background: #fef4f3;
            padding: 0 0 75px;
            .massage_kinds_txt {
                font-size: 1.33em;
                text-align: center;
                font-weight: 600;
                margin: 0 auto 20px;
                span {
                    color: var(--color01);
                }
            }
            .massage_kinds {
                background: #fff;
                width: 90%;
                max-width: 1200px;
                margin: auto;
                padding: 75px 0 0;
                .img {
                    width: 90%;
                    max-width: fit-content;
                    margin: auto auto 80px;
                    display: block;
                }
                .massage_kinds__txt {
                    width: 90%;
                    margin: auto;
                    max-width: 800px;
                    .card {
                        padding: 40px 0;
                        border-bottom: 1px dotted var(--color);
                        div {
                            background: var(--color02);
                            text-align: center;
                            color: #fff;
                            font-weight: 600;
                            margin: 0 auto 30px;
                        }
                        p {}
                    }
                    .card:last-child {
                        border: none;
                    }
                }
            }
        }
    }
    #massage_boxs04 {
        #oil_massage_basic {
            width: 90%;
            margin: auto;
            max-width: 800px;
            .oil_massage_basic_cards {
                .card {
                    display: flex;
                    width: 100%;
                    max-width: 800px;
                    margin: auto;
                    justify-content: space-between;
                    padding: 30px 0;
                    border-bottom: 1px dotted var(--color);
                    .txt {
                        width: 45%;
                        .t {
                            background: var(--color);
                            color: #fff;
                            text-align: center;
                            margin: 0 0 5px;
                            font-size: 1.33em;
                        }
                    }
                    img {
                        width: 50%;
                    }
                }
                .card:nth-of-type(2n) {
                    flex-direction: row-reverse;
                }
            }
            .oil_massage_basic_txt {
                p {
                    text-align: center;
                    margin: 50px auto 40px;
                }
                .omb_tit {
                    font-size: 1.33em;
                    margin: auto auto 30px;
                    text-align: center;
                }
                .omb_tit_card {
                    font-size: 1.33em;
                    border: var(--color) 6px double;
                    border-radius: 5px;
                    padding: 20px 0;
                    text-align: center;
                }
            }
        }
    }
    #massage_boxs05 {
        #oil_massage_effect {
            background: #fefceb;
            padding: 0 0 70px;
            .oil_massage_effect {
                width: 90%;
                margin: auto;
                max-width: 800px;
                text-align: center;
                .box_card {
                    font-size: 1.33em;
                    border: var(--color) 6px double;
                    border-radius: 5px;
                    padding: 20px 0;
                    text-align: center;
                }
                .box_card.card01 {
                    margin: auto auto 50px;
                }
                .box_card.card02 {
                    margin: 20px auto;
                    background: #fff;
                }
            }
        }
    }
}

#type {
    .tit {
        text-align: center;
        margin: auto auto 40px;
        font-weight: 600;
        h2,
        h3 {
            font-size: 3em;
			max-width: 1200px;
        }
        div {
            font-size: 2em;
			max-width: 1200px;
        }
    }
    .type_explanation_text {
        text-align: center;
        font-weight: 600;
        margin: auto auto 1em;
        .text {
            font-size: 1.33em;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            margin: 0 auto 2.5em;
            div {
                background-color: var(--color01);
                color: #fff;
                align-content: center;
                span {
                    font-size: 1.25em;
                }
            }
        }
        p {
            font-size: 1.33em;
        }
    }
    .type_explanation_bg {
        background: url(../images/type_explanation_bg.jpg) no-repeat center center;
        height: 300px;
        align-content: center;
        margin: auto auto 30px;
        p {
            background: #000;
            color: #fff;
            width: fit-content;
            margin: auto;
            text-align: center;
            span {
                text-decoration: underline;
            }
        }
    }
    .type_explanation_txt {
        text-align: center;
        font-size: 2em;
        font-weight: 600;
        margin: auto auto;
    }
}

#type_boxs01 {
    .tit {
        color: var(--color01);
        font-style: italic;
        width: 90%;
        h2,
        h3 {
            font-style: italic;
			margin: auto;
        }
        div {
            display: flex;
            text-align: center;
            margin: auto;
            font-style: italic;
        }
        div::before {
            content: "";
            flex-grow: 1;
            height: 1px;
            display: block;
            margin-top: 0.8em;
            margin-right: 0.4em;
            background: var(--color01);
        }
        div::after {
            content: "";
            flex-grow: 1;
            height: 1px;
            display: block;
            margin-top: 0.8em;
            margin-left: 0.4em;
            background: var(--color01);
        }
    }
}

#type_boxs02 {
    .tit {
        font-style: italic;
        width: 100%;
        h2,
        h3 {
            background: var(--color04);
            color: #fff;
            margin: auto auto 0.5em;
        }
        div {
            display: flex;
            text-align: center;
            margin: auto;
            width: 90%;
        }
        div::before {
            content: "";
            flex-grow: 1;
            height: 1px;
            display: block;
            margin-top: 0.8em;
            margin-right: 0.4em;
            background: var(--color);
        }
        div::after {
            content: "";
            flex-grow: 1;
            height: 1px;
            display: block;
            margin-top: 0.8em;
            margin-left: 0.4em;
            background: var(--color);
        }
    }
    #menesthetic {
        background: #f3fbfe;
        .menesthetic {
            width: 90%;
            margin: auto;
            max-width: 1200px;
            .tit {}
            h4 {
                font-weight: 100;
                text-align: center;
                font-size: 1.33em;
                padding: 0;
                border-bottom: 1px solid;
                margin: 0 auto 70px;
                img {
                    display: block;
                    margin: 5px auto;
                }
            }
            .cards {
                .onecard {
                    padding: 0 0 70px;
                    .card {
                        width: 90%;
                        margin: auto;
                        display: flex;
                        max-width: 1000px;
                        justify-content: space-between;
                        .mt_txt {
                            width: 50%;
                            max-width: 500px;
                            background: #fff;
                            h5 {
                                box-shadow: 0 0 0 2px var(--color04);
                                background-color: var(--color04);
                                color: #fff;
                                border: 2px solid #fff;
                                font-size: 1.7em;
                                text-align: center;
                                margin: 2px;
                            }
                            p {
                                padding: 20px 30px;
                            }
                        }
                        .img {
                            margin: 0 0 0 2%;
                            width: 48%;
                        }
                    }
                    .cautionary {
                        font-size: 1.33em;
                        text-align: center;
                        font-weight: 600;
                        p {
                            padding: 30px 0 10px;
                        }
                        div {
                            border: 6px double var(--color);
                            border-radius: 5px;
                            padding: 15px 10px;
                        }
                    }
                }
            }
            .menesthetic_ng {
                h6 {
                    font-size: 2em;
                    background: var(--color);
                    text-align: center;
                    font-weight: 600;
                    color: #fff;
                    margin: auto auto 10px;
                }
                .ng_card {
                    display: flex;
                    align-content: center;
                    border: 6px double var(--color);
                    background: #fff;
                    border-radius: 5px;
                    padding: 20px 0;
                    .img {
                        margin: auto 50px auto 0;
                    }
                    .txt {
                        align-content: center;
                        font-size: 1.66em;
                        font-weight: 600;
                    }
                }
                .ng_txt {
                    text-align: center;
                    font-size: 1.66em;
                    background: var(--color);
                    color: #fff;
                    margin: 10px auto 80px;
                    padding: 0 10px;
                    width: fit-content;
                }
            }
            .business_type {
                .business_type_txt {
                    text-align: center;
                    font-size: 1.66em;
                }
                .business_type_cards {
                    background: #fff;
                    padding: 30px 0;
                    .business_type_card {
                        display: flex;
                        justify-content: center;
                        .one_card {
                            width: 45%;
                            padding: 0 2.5%;
                            max-width: 420px;
                            .txt_01 {
                                display: flex;
                                color: #fff;
                                .txt01 {
                                    writing-mode: vertical-rl;
                                    text-orientation: mixed;
                                    font-size: 1.44em;
                                    text-align: center;
                                    border: 2px solid #fff;
                                    align-items: center;
                                    justify-content: center;
                                    border-radius: 4px;
                                    width: fit-content;
                                    margin: 0 20px 0 0;
                                }
                                .txt02 {
                                    font-size: 1.66em;
                                    aspect-ratio: 1 / 1;
                                    object-fit: cover;
                                    text-align: center;
                                    align-content: center;
                                    width: 310px;
                                }
                            }
                            .txt_02 {
                                font-size: 1.44em;
                                .txt01 {
                                    text-align: center;
                                    padding: 0;
                                    margin: 10px auto 5px;
                                    line-height: 1.2;
                                    color: #fff;
                                    padding: 5px 0 0;
                                }
                                .txt02 {
                                    border-bottom: 1px solid var(--color);
                                    border-top: 1px solid var(--color);
                                    height: 90px;
                                    align-content: center;
                                }
                            }
                        }
                        .one_card.card01 {
                            .txt_01 {
                                .txt01 {
                                    box-shadow: 0 0 0 2px var(--color01);
                                    background-color: var(--color01);
                                    margin: 2px;
                                }
                                .txt02 {
                                    background: url(../images/btcard_bg01.png) no-repeat center center / 100%;
                                    aspect-ratio: 1 / 1;
                                    object-fit: cover;
                                    object-position: center center;
                                }
                            }
                            .txt_02 {
                                .txt01 {
                                    background-color: var(--color01);
                                }
                                .txt02 {}
                            }
                        }
                        .one_card.card02 {
                            .txt_01 {
                                .txt01 {
                                    box-shadow: 0 0 0 2px var(--color04);
                                    background-color: var(--color04);
                                    margin: 2px;
                                }
                                .txt02 {
                                    background: url(../images/btcard_bg02.png) no-repeat center center / 100%;
                                    aspect-ratio: 1 / 1;
                                    object-fit: cover;
                                    object-position: center center;
                                }
                            }
                            .txt_02 {
                                .txt01 {
                                    background-color: var(--color04);
                                }
                                .txt02 {
                                    text-align: center;
                                }
                            }
                        }
                    }
                }
                .business_type_note {
                    text-align: center;
                    .txt01 {
                        padding: 10px 0 25px;
                        font-size: 1.33em;
                        font-weight: 600;
                    }
                    .notebox {
                        padding: 10px;
                        border: 2px solid #fff;
                        align-items: center;
                        justify-content: center;
                        color: #fff;
                        background: #000;
                        box-shadow: 0 0 0 2px #000;
                        font-size: 1.66em;
                    }
                    .txt02 {
                        padding: 45px 0 50px;
                        font-size: 1.33em;
                    }
                }
            }
        }
        .business_type_ngnote {
            .bg {
                background: url(../images/business_type_note_bg.jpg) no-repeat center center;
                height: 300px;
                align-content: center;
                text-align: center;
                p {
                    color: #fff;
                    font-size: 1.33em;
                }
            }
            .txt03 {
                background: var(--color04);
                color: #fff;
                text-align: center;
                margin: 50px auto 0;
                font-size: 1.66em;
                font-weight: 600;
                padding: 5px 5%;
            }
        }
    }
    .business_type_suggestion {
        padding: 120px 0 0;
        .txt01 {
            text-align: center;
            font-size: 2.22em;
            padding: 0 0 65px;
            strong {
                font-size: 1.5em;
                color: var(--color01);
                padding: 0 0 60px;
            }
        }
        .bg {
            background: url(../images/business_type_suggestion_bg.jpg) no-repeat center center;
            height: 300px;
            align-content: center;
            margin: auto auto 60px;
        }
        .txt02 {
            text-align: center;
            font-size: 2em;
            width: 90%;
            margin: auto;
        }
    }
}

#type_boxs03 {
    .tit {
        font-style: italic;
        width: 90%;
        h2,
        h3 {
            background: var(--color02);
            color: #fff;
            margin: auto auto 0.5em;
        }
        div {
            display: flex;
            text-align: center;
            margin: auto;
            width: 90%;
        }
        div::before {
            content: "";
            flex-grow: 1;
            height: 1px;
            display: block;
            margin-top: 0.8em;
            margin-right: 0.4em;
            background: var(--color);
        }
        div::after {
            content: "";
            flex-grow: 1;
            height: 1px;
            display: block;
            margin-top: 0.8em;
            margin-left: 0.4em;
            background: var(--color);
        }
    }
    #eroticesthetic {
        background: #fef4f3;
        .eroticesthetic01 {}
        h4 {
            font-weight: 100;
            text-align: center;
            font-size: 1.33em;
            padding: 0;
            border-bottom: 1px solid;
            margin: 0 auto 70px;
            width: 90%;
            max-width: 1200px;
            img {
                display: block;
                margin: 5px auto;
            }
        }
        .bg {
            background: url(../images/eroticesthetic_bg.jpg) no-repeat center center;
            height: 300px;
            align-content: center;
            text-align: center;
            .txt {
                font-size: 1.33em;
                font-weight: 600;
                color: #fff;
                div {
                    background: #fff;
                    width: fit-content;
                    margin: 5px auto;
                    color: var(--color);
                    padding: 0 5px;
                }
            }
        }
        .eroticesthetic01_txt {
            text-align: center;
            padding: 45px 0 100px;
            font-weight: 600;
            font-size: 1.33em;
        }
        h5 {
            font-size: 1.66em;
            text-align: center;
            background: linear-gradient(90deg, #ff6899, #fc9cb9);
            color: #fff;
            margin: 0 auto 50px;
            width: 98%;
        }
        .eroticesthetic_table {
            width: 98%;
            margin: 0 0 0 2%;
            overflow-x: auto;
            table {
                width: 800px;
                margin: auto;
                thead {
                    th {
                        color: #fff;
                        background: #fef4f3;
                        padding: 2px;
                        div {
                            border: 2px solid #fff;
                            padding: 3px 0;
                        }
                    }
                    th:first-child {
                        border: none;
                    }
                    th:nth-child(2) {
                        background: var(--color01);
                    }
                    th:nth-child(3) {
                        background: var(--color04);
                    }
                    th:nth-child(4) {
                        background: var(--color02);
                    }
                }
                tbody {
                    th {
                        border: 1px solid #ffeff4;
                        background: #fff;
                        text-align: center;
                        align-content: center;
                    }
                    td {
                        text-align: center;
                        align-content: center;
                        line-height: 93px;
                    }
                    td:nth-of-type(1) {
                        background: #fdd6e2;
                    }
                    td:nth-of-type(2) {
                        background: #eff1ff;
                    }
                    td:nth-of-type(3) {
                        background: #ffeff4;
                    }
                    td::after {
                        width: 90%;
                        margin: auto;
                        border-bottom: 2px dashed #fff;
                        content: "";
                        display: block;
                    }
                }
                tbody:last-of-type td::after {
                    border-bottom: none;
                }
            }
        }
    }
    .eroticesthetic02 {
        border-top: 2px solid var(--color01);
        .deli_beauty {
            .explanation {
                width: 90%;
                margin: auto;
                max-width: 900px;
                padding: auto;
                text-align: center;
                padding: 50px 0 40px;
                div.explanation_pink,
                div.explanation_blue {
                    margin: auto auto 30px;
                    color: #fff;
                }
                .explanation_blue {
                    background: #a6ccfb;
                    font-weight: 600;
                }
                .explanation_pink {
                    background: #fba6bf;
                    font-weight: 600;
                }
            }
            .deli_beauty_bg {
                font-size: 1.66em;
                text-align: center;
                background: linear-gradient(90deg, #ff6899, #fc9cb9);
                color: #fff;
                margin: 0 auto 6em;
                padding: 5px 0;
                font-weight: 600;
                p {
                    width: 90%;
                    margin: auto;
                }
            }
            .erotic_beauty_salon_cards {
                background: url(../images/deli_beauty_bg.jpg) no-repeat center center;
                height: 364px;
                width: 100%;
                max-width: 1199px;
                margin: 0 auto 7.5em;
                align-content: center;
                .text {
                    width: 95%;
                    margin: auto;
                    .titl {
                        font-size: 2em;
                        margin: 0 0 30px;
                        background-color: #fd6998;
                        color: #fff;
                        font-weight: 600;
                        width: fit-content;
                        padding: 0 0 0 10px;
                    }
                    .txt {
                        .txtb {
                            display: flex;
                            margin: 0 0 20px;
                            font-weight: 600;
                            .t01 {
                                width: 100px;
                                margin: 0 5px 0 0;
                                background-color: #fd6998;
                                color: #fff;
                                font-weight: 600;
                                height: fit-content;
                                text-align: center;
                            }
                            .t02 {}
                        }
                    }
                }
            }
            .erotic_charm {
                padding: 0 0 4.5em;
                .img {
                    background: url(../images/business_type_suggestion_bg.jpg) no-repeat center center;
                    height: 300px;
                    width: 100%;
                    max-width: 2000px;
                    align-content: center;
                    margin: auto auto 2em;
                    img {
                        width: fit-content;
                        margin: auto;
                    }
                }
            }
            .erotic_charm_cards {
                width: 90%;
                max-width: 1200px;
                margin: auto;
                background: #fff;
                padding: 15px 0;
                .erotic_charm_card {
                    width: 90%;
                    max-width: 800px;
                    margin: auto;
                    .onecard {
                        padding: 30px 0;
                        border-bottom: 1px dotted var(--color);
                        .titl {
                            background: #fba6bf;
                            font-weight: 600;
                            font-size: 1.66em;
                            color: #fff;
                            text-align: center;
                            line-height: 1.3;
                            margin: 0 auto 20px;
                        }
                        p {
                            span {
                                background: #fba6bf;
                                color: #fff;
                                font-weight: 600;
                                padding: 0 3px;
                            }
                        }
                    }
                    .onecard:last-of-type {
                        border-bottom: none;
                    }
                }
            }
        }
    }
}

#type_boxs04 {
    padding: 7.5em 0 0;
    .charm_graph_txt {
        text-align: center;
        font-size: 1.66em;
        font-weight: 600;
        margin: auto auto 50px;
        div {
            color: #fff;
            text-align: center;
            background: linear-gradient(90deg, #ff6899, #fc9cb9);
        }
    }
    .charm_graph_img {
        img {
            width: fit-content;
            margin: auto;
        }
    }
}

#training {
    .tit {
        text-align: center;
        margin: auto auto 40px;
        h2,
        h3 {
            font-size: 3em;
        }
        div {
            font-size: 2em;
            display: flex;
            font-size: 1.66em;
            text-align: center;
            width: 100%;
            max-width: 800px;
            margin: auto;
        }
        div::before {
            content: "";
            flex-grow: 1;
            height: 1px;
            display: block;
            margin-top: 0.8em;
            margin-right: 0.4em;
            background: #6a6a6a;
        }
        div::after {
            content: "";
            flex-grow: 1;
            height: 1px;
            display: block;
            margin-top: 0.8em;
            margin-left: 0.4em;
            background: #6a6a6a;
        }
    }
    #training_boxs01 {
        .tit {
            color: var(--color01);
            h2,
            h3 {
                font-style: italic;
            }
            div {}
            div::before {
                background: var(--color01);
            }
            div::after {
                background: var(--color01);
            }
        }
        .bg {
            background: url(../images/training_boxs01_bg.jpg) no-repeat center center;
            height: 300px;
            align-content: center;
            text-align: center;
            margin: auto auto 100px;
            p {
                font-size: 2em;
                color: #fff;
                font-weight: 600;
                span {
                    background: #000;
                }
            }
        }
        .cards {
            width: 90%;
            max-width: 1200px;
            display: flex;
            flex-wrap: wrap;
            margin: auto;
            .onecard {
                width: 50%;
                padding: 0 0 70px;
                .card {
                    width: 95%;
                    margin: auto;
                    .txt {
                        font-size: 2.5em;
                        line-height: 0.6;
                        font-weight: 600;
                        position: relative;
                    }
                    .box {
                        font-size: 1.33em;
                        padding: 20px 5px;
                        color: #fff;
                    }
                }
                .card.image {
                    .txt {
                        color: var(--color);
                    }
                    .box {
                        margin: auto auto 30px;
                        background: var(--color);
                    }
                }
                .card.real {
                    .txt {
                        color: var(--color02);
                    }
                    .box {
                        margin: auto auto 20px;
                        background: var(--color02);
                    }
                    .txt::after {
                        content: "↓";
                        display: block;
                        position: absolute;
                        bottom: 15px;
                        left: 0;
                        right: 0;
                        margin: auto;
                        color: #f00;
                        font-size: 0.6em;
                        text-align: center;
                    }
                }
            }
        }
        .p_txt {
            text-align: center;
            width: 90%;
            margin: 30px auto 150px;
            font-size: 1.33em;
            font-weight: 600;
        }
    }
    #training_boxs02 {
        .tit {
            h2,
            h3 {
                background: var(--color02);
                color: #fff;
                width: 95%;
                margin: auto auto 10px;
                max-width: 1200px;
                line-height: 1.3;
            }
            div {}
        }
        .bg {
            background: url(../images/training_boxs02_bg.jpg) no-repeat center center;
            height: 430px;
            font-size: 1.66em;
            align-content: center;
            font-weight: 600;
            div {
                background: #fff;
                margin: auto auto 30px;
                width: 90%;
                max-width: 1200px;
                text-align: center;
            }
            p {
                margin: auto;
                width: 90%;
                max-width: 1200px;
                text-align: center;
                color: #fff;
            }
        }
        .training_txt {
            background: var(--color02);
            margin: 20px auto 80px;
            p {
                font-size: 1.66em;
                align-content: center;
                font-weight: 600;
                width: 90%;
                margin: auto;
                text-align: center;
                color: #fff;
            }
        }
        .training_graph {
            text-align: center;
            p {
                font-size: 1.33em;
                font-weight: 600;
                margin: 0 auto 40px;
            }
            img {
                width: fit-content;
                margin: auto;
            }
        }
        .main_items {
            background: #fef4f3;
            padding: 80px 0 30px;
            .main_item {
                width: 90%;
                margin: auto;
                text-align: center;
                max-width: 1400px;
                p {
                    margin: 0 auto 70px;
                }
                .section_box {
                    font-weight: 600;
                    .section_title {
                        background: #b79967;
                        margin: 2px;
                        font-size: 1.66em;
                        color: #fff;
                        border: 2px solid #fff;
                        box-shadow: 0 0 0 2px #b79967;
                    }
                    p.section_desc {
                        background: #fff;
                        padding: 40px 5px;
                        font-size: 1.33em;
                        margin: 0 auto 50px;
                    }
                }
                .stars {
                    color: #b79967;
                    font-size: 1.66em;
                }
            }
        }
    }
}

#training_boxs03 {
    .training_training {
        .question {
            background: #fff;
            text-align: center;
            font-size: 1.33em;
            padding: 100px 2.5% 90px;
        }
        .training_over_bg {
            background: url(../images/training_over_bg.jpg) no-repeat center center;
            height: 301px;
            align-content: center;
            img {
                width: 95%;
                max-width: fit-content;
                margin: auto;
            }
        }
        .skillup {
            .marquee {
                background: #fba6bf;
                color: #fff;
                line-height: 1.2;
            }
            .skillup_question_box {
                background: #fef4f3;
                padding: 0 0 100px;
                .skillup_question {
                    padding: 90px 2.5% 50px;
                    text-align: center;
                }
                .Training_contents {
                    width: 90%;
                    border: 2px solid var(--color);
                    max-width: 1200px;
                    margin: auto;
                    .Training_content {
                        padding: 50px;
                        display: flex;
                        flex-wrap: wrap;
                        .content {
                            width: calc(100% / 3 - 24px);
                            background: #fff;
                            border: 2px solid #fef4f3;
                            box-shadow: 0 0 0 2px #fff;
                            margin: 10px;
                            font-size: 1.33em;
                            text-align: center;
                            color: var(--color01);
                            padding: 10px 0;
                            font-weight: 600;
                        }
                    }
                }
            }
            .training_important {
                width: 90%;
                margin: auto;
                padding: 3em 0 6em;
                text-align: center;
                font-size: 1.66em;
            }
        }
    }
}

#training_videos {
    padding: 0 0 6em;
    .tit {
        h2,
        h3 {
            color: var(--color01);
        }
        div {
            font-style: italic;
        }
    }
    .video {
        width: 95%;
        margin: auto;
        max-width: fit-content;
        video {
            width: 100%;
            height: auto;
        }
    }
}

#training_scene {
    padding: 0 0 3.5em;
    .tit {
        h2,
        h3 {
            color: var(--color01);
        }
        div {
            font-style: italic;
        }
    }
    .photogallery_card {
        .onebox {
            margin: auto;
            width: 100%;
            max-width: fit-content;
            img {
                width: 98%;
                height: auto;
                margin: auto;
            }
        }
    }
}

.marquee {
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: -1;
    .marquee-inner {
        display: flex;
        width: max-content;
        animation: marquee var(--marquee-duration) linear infinite;
        transform-origin: left center;
    }
    .marquee-content {
        display: flex;
    }
    .marquee-content span {
        white-space: nowrap;
        font-size: 1.66em;
        color: var(--color01_02);
        margin: 0 5px;
    }
}

@keyframes marquee {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-50%);
    }
}

.wrap {
    position: relative;
    width: 100%;
    /*height: clamp(120px, 20vw, 200px);*/
    height: 200px;
    canvas.waveCanvas {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        display: block;
    }
    /* ▼ 各canvasに別々の色（単色）を指定。カンマ末尾OK */
}

#top {
    #waveCanvas1 {
        --waves: #fefdeb;
    }
    #waveCanvas2 {
        --waves: #fef4f4;
    }
    #waveCanvas3 {
        --waves: #fef4f4;
    }
}

#beginners {
    #waveCanvas1 {
        --waves: #fef4f4;
    }
    #waveCanvas2 {
        --waves: #fff;
    }
    #waveCanvas3 {
        --waves: #fff;
        --from-top: 1;
    }
    #waveCanvas4 {
        --waves: #f3fbfe;
    }
    #waveCanvas5 {
        --waves: #f3fbfe;
        --from-top: 1;
    }
}

#type {
    #waveCanvas1 {
        --waves: #f3fbfe;
    }
    #waveCanvas2 {
        --waves: #fef4f3;
    }
}

#massage {
    #waveCanvas1 {
        --waves: #fef4f3;
    }
    #waveCanvas2 {
        --waves: #fef4f3;
        --from-top: 1;
    }
    #waveCanvas3 {
        --waves: #fefceb;
    }
}

#concept {
    #waveCanvas1 {
        --waves: #fef4f3;
    }
    #waveCanvas2 {
        --waves: #fef4f3;
    }
    #waveCanvas3 {
        --waves: #fef4f3;
        --from-top: 1;
    }
    #waveCanvas4 {
        --waves: #fef4f3;
    }
}

.marker {
    position: relative;
    background: linear-gradient(to right, #fbfeaf 0%, #fbfeaf 100%);
    background-size: 0% 50%;
    /* 初期は幅0% */
    background-repeat: no-repeat;
    background-position: 0 100%;
    transition: background-size 1s ease;
}

.marker.is-active {
    background-size: 100% 50%;
    /* 横に広がってマーカーが引かれる */
}