@charset "utf-8";
body {
    color: #2e2e2e;
}

.main {
    width: 95%;
    height: auto;
    max-width: 1200px;
    margin: 1em auto;
}

.tit {
    font-family: serif;
    font-size: 1.5rem;
    font-weight: bold;
    color: rgb(3, 3, 3);
    line-height: 21px;
    margin: 2em 0;
}

.tit p span {
    color: #d7b969;
    font-weight: bold;
    font-size: 1.2em;
}

.girls_main {
    display: flex;
    width: 100%;
    height: auto;
    max-width: 1200px;
    margin: 1em auto;
    flex-wrap: wrap;
    color: rgb(0, 0, 0);
}

.girls {
    width: 31%;
    height: auto;
    margin: 1%;
}

.girls a {
    color: #2e2e2e;
}

.girls img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 800px) {
    .girls {
        width: 48%;
        height: auto;
    }
}

.girls_main2 {
    display: flex;
    width: 100%;
    height: auto;
    margin: 1em auto;
    flex-wrap: wrap;
    color: rgb(12, 12, 12);
}

.girls2 {
    width: 23%;
    height: auto;
    margin: 1%;
}

.girls2 img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 800px) {
    .girls2 {
        width: 48%;
        height: auto;
    }
}

.bana {
    width: 100%;
    height: auto;
    max-width: 700px;
    margin: 1em auto;
}

.bana img {
    width: 100%;
    height: auto;
}

.news_main {
    display: flex;
    max-width: 1200px;
    width: 100%;
    height: auto;
    margin: 1em auto;
    align-items: flex-end;
}

.news {
    width: 32%;
    height: auto;
    margin: 1%;
}

.news img {
    width: 100%;
    height: auto;
}

.news_moji {
    color: rgb(7, 7, 7);
    width: 68%;
    margin-left: 2%;
    height: auto;
}

.news h2 {
    font-size: 11px;
    font-weight: normal;
    line-height: 1.3em;
    text-align: center;
}

.news a h2 {
    color: black;
}

.news_moji p {
    font-size: 14px;
    line-height: 1.3em;
}

.slider img,
.thumb img {
    width: 100%;
    height: auto;
}

.slider_main {
    margin: 1em auto;
    width: 89%;
    height: auto;
}

/* 女性ページＣＳＳ */

.girls_mains {
    margin: 1em auto;
    max-width: 500px;
    width: 90%;
}

.name {
    text-align: center;
    font-family: serif;
    font-size: 1.4rem;
    color: rgb(19, 19, 19);
    line-height: 1.1em;
}

.name p span {
    font-size: 13px;
}

.title_girl {
    color: rgb(7, 7, 7);
    font-size: 15px;
    line-height: 1.4em;
}

.diary_main {
    display: flex;
    margin: 1em auto;
    height: auto;
    width: 100%;
}

.diary {
    width: 31%;
    margin: 1%;
}

.diary h3 {
    font-size: 10px;
    text-align: end;
    color: rgb(20, 20, 20);
    font-family: "Courier New", Courier, monospace;
    margin: 0;
}

.diary img {
    width: 100%;
    height: auto;
}

.box_di {
    max-width: 500px;
    width: 90%;
    height: auto;
    padding: 0.1em;
    border-radius: 5px;
    margin: 1em auto;
    text-align: center;
    color: rgb(27, 27, 27);
    background-color: #989487;
    font-weight: 600;
}

.box_di a {
    color: rgb(255, 255, 255);
}

.box_di2 {
    max-width: 500px;
    width: 90%;
    height: auto;
    padding: 0.1em;
    border-radius: 5px;
    margin: 1em auto;
    text-align: center;
    color: rgb(0, 0, 0);
    background-color: #a5828b;
    font-weight: 600;
}

.box_di2 a {
    color: rgb(255, 255, 255);
}

.ques {
    text-align: justify;
    width: 100%;
    color: rgb(26, 26, 26);
    margin: 1em auto;
    border-bottom: 1px dashed rgb(39, 39, 39);
}

.ques h2 {
    font-size: 15px;
}

.ques h3 {
    font-size: 18px;
    line-height: 1.5em;
    padding: 0 1em;
}

.ques i.fa-solid.fa-question {
    margin-right: 5px;
    font-size: 1.5em;
}

.mese_gi {
    width: 95%;
    text-align: justify;
    line-height: 1.2em;
    margin: 2em auto;
    color: rgb(8, 8, 8);
}

.coram_main {
    display: flex;
    flex-wrap: wrap;
    margin: 800px;
    width: 100%;
    margin: 2em auto;
    color: rgb(0, 0, 0);
}

.coram {
    text-align: justify;
    width: 31%;
    margin: 1%;
    height: auto;
}

.coram a {
    color: rgb(0, 0, 0);
}

.coram a :hover {
    color: rgb(10, 10, 10);
}

.coram img {
    width: 100%;
    height: 350px;
    object-fit: cover;
}

.menu p a {
    color: rgb(255, 255, 255);
}

.coram h2 {
    margin: 10px auto;
    font-weight: normal;
    font-size: 13px;
}

.coram p {
    text-align: end;
    font-size: 10px;
}

@media screen and (max-width: 800px) {
    .coram {
        width: 48%;
    }
    .coram img {
        height: 250px;
    }
}

@media screen and (max-width: 500px) {
    .coram img {
        height: 150px;
    }
}

.coram_main2 {
    max-width: 600px;
    width: 95%;
    margin: 1em auto;
}

.tit_coram {
    color: rgb(0, 0, 0);
    margin-block-start: 0em;
    font-size: 1.2rem;
    border-bottom: 1px dashed rgb(255, 255, 255);
}

.tit_coram p {
    margin: 0 0 9px 0;
}

.coram_img {
    width: 100%;
    height: auto;
    margin: 2em auto;
}

.coram_img img {
    width: 90%;
    height: auto;
    margin: 0 5%;
}

.coram_coram {
    color: rgb(0, 0, 0);
    line-height: 1em;
    width: 95%;
    height: auto;
    margin: 0 auto;
}

.coram_coram img {
    width: 100%;
    height: auto;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: "";
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #2e2e2e;
    position: absolute;
}

.menu-btn span:before {
    bottom: 8px;
}

.menu-btn span:after {
    top: 8px;
}

span.chibi {
    font-size: 14px !important;
    color: rgb(5, 5, 5) !important;
    margin: 0 1em;
}

ul.regular.slider2.slick-initialized.slick-slider.slick-dotted {
    margin: 1em auto;
    max-width: 500px;
    width: 95%;
    text-align: center;
}

ul.regular.slider2.slick-initialized.slick-slider.slick-dotted img {
    width: 100%;
    height: auto;
}

.menu-sp,
.menu {
    display: none;
}

.menu-pc {
    display: block;
}

@media screen and (max-width: 1024px) {
    .menu-pc {
        display: none;
    }
    .menu-sp,
    .menu {
        display: block;
    }
    element.style {
        border: none;
        overflow: hidden;
        width: 90%;
        height: 300px;
    }
}

@media screen and (max-width: 900px) {
    .cxe {
        width: 98%;
        height: auto;
        margin-left: 1%;
        margin-right: 1%;
    }
}

@media screen and (max-width: 768px) {
    .spp {
        display: block;
    }
    .menu-sp {
        display: block;
    }
    iframe {
        overflow: hidden;
    }
    .PCC {
        display: none;
    }
}

.cp_table *,
.cp_table *:before,
.cp_table *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.cp_table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 !important;
}

.cp_table th,
.cp_table td {
    padding: 10px;
    border: 1px solid #dddddd;
}

.cp_table th {
    width: 30%;
    text-align: left;
    background: #ded9d9;
    color: rgb(0, 0, 0);
}

.cp_table td {
    color: rgb(0, 0, 0) !important;
}

@media only screen and (max-width: 600px) {
    .cp_table {
        margin: 0 !important;
    }
    .cp_table th,
    .cp_table td {
        width: 100%;
        display: block;
        border-top: none;
    }
    .cp_table tr:first-child th {
        border-top: 1px solid #dddddd;
    }
}

.diary_main {
    display: flex;
}

.diary {
    flex-basis: 100%;
}

.image-wrap {
    position: relative;
    overflow: hidden;
    padding-top: 100%;
    margin: 10px 1px;
    object-fit: cover;
}

.image-wrap img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}

ul.pagination {
    display: flex;
    flex-wrap: wrap;
    color: rgb(0, 0, 0);
    list-style: none;
    justify-content: center;
    align-items: flex-start;
}

li.page-item {
    padding: 0.2em;
}

.tit_di {
    color: rgb(19, 19, 19);
    font-size: 1.2rem;
    margin: 1em 0;
    text-align: center;
}

.tit_di p span {
    font-size: 80%;
    color: #d7b969;
}

.img_sy {
    width: 100%;
    margin: 1em auto;
    max-width: 600px;
}

.img_sy img {
    width: 100%;
    height: auto;
}

.index_top {
    width: 85%;
    margin: 1em auto;
    max-width: 1200px;
}

.regulara img {
    width: 100%;
    height: auto;
}

/* CSS 追加 */

.index_diary_main {
    width: 100%;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    margin: 1em auto;
}

.index_daiary {
    width: 31%;
    margin: 1%;
    height: auto;
}

.index_diary_photo {
    width: 100%;
    height: auto;
}

p.index_name {
    color: rgb(3, 3, 3);
    margin: 0.5em 0.1em;
    text-align: left;
    font-size: 12px;
}

p.index_create {
    color: rgb(0, 0, 0);
    text-align: end;
    margin: 0;
    font-size: 11px;
}

.index_diary_photo img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

@media screen and (max-width: 1000px) {
    .index_diary_photo img {
        height: 200px;
    }
}

@media screen and (max-width: 600px) {
    .index_diary_photo img {
        height: 100px;
    }
}

.insta_aikon_main {
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: auto;
    border: solid 0.5px;
    padding: 0.5em;
    border-radius: 5px;
    margin: 1em auto;
}

.insta_aikon {
    width: 30px;
    height: auto;
    margin-right: 10px;
    margin-top: 5px;
}

.insta_aikon img {
    width: 100%;
    height: auto;
}

.insta_text {
    color: rgb(10, 10, 10);
}

.insta_text p {
    margin: 0;
}

figcaption.attachment__caption {
    display: none;
}

/* 画面外にいる状態 */

.fadein {
    opacity: 0.1;
    transform: translate(0, 50px);
    transition: all 500ms;
}

/* 画面内に入った状態 */

.fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}

.diary:nth-child(4),
.diary:nth-child(5),
.diary:nth-child(6),
.diary:nth-child(7),
.diary:nth-child(8),
.diary:nth-child(9),
.diary:nth-child(10),
.diary:nth-child(11),
.diary:nth-child(12),
.diary:nth-child(13),
.diary:nth-child(14),
.diary:nth-child(15) {
    display: none;
}

.shop_main {
    max-width: 500px;
    height: auto;
    margin: 1em auto;
}

.img_shop {
    margin: 5em auto 1em auto;
}

.img_shop img {
    width: 100%;
    height: auto;
}

.shop_info p span {
    font-size: 18px;
    margin: 0.5em 0;
}

.shop_info {
    color: rgb(0, 0, 0);
    line-height: 1.8em;
    font-size: 14px;
}

.shop_info a {
    color: rgb(0, 0, 0);
}

hr.shop_sen {
    border: solid 0.5px rgb(0, 0, 0);
}

.boxxx {
    background-color: #8e8c8c;
    width: 100%;
    height: auto;
    color: white;
    padding: 0.1em 1em;
    margin: 1em auto;
    box-sizing: border-box;
}

.under {
    width: 100%;
    height: auto;
    display: flex;
    flex-wrap: wrap;
}

.under div {
    width: 48%;
    margin: 1%;
}

.under img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 600px) {
    .under div {
        width: 98%;
    }
}

.sce_main {
    display: flex;
    flex-wrap: wrap;
    margin: 1em auto;
    max-width: 800px;
    width: 100%;
}

.sce_main div {
    width: 10%;
    height: auto;
    margin: 0.8%;
    padding: 1em;
    border: solid 0.5px #bfbfbf;
    background: white;
    opacity: 0.9;
    color: black;
    text-align: center;
}

.sce_main div a {
    color: black;
}

@media screen and (max-width: 750px) {
    .sce_main div {
        width: 22%;
    }
}

/* STORY　CSS */

.story_main {
    max-width: 500px;
    width: 100%;
    height: auto;
    margin: 2em auto;
    display: flex;
}

.story_main div {
    margin: 1%;
    width: 23%;
    text-align: center;
}

.story_main div p {
    font-size: 10px;
}

.story_main img {
    border-radius: 50%;
    width: 80px;
    height: 80px;
    object-fit: cover;
}

.videoo {
    margin: 1em auto;
    text-align: center;
    width: 100%;
}

.videoo video {
    width: 95%;
    height: auto;
}

.text_ran {
    color: black;
}

.ima_ran {
    width: 55%;
    height: auto;
}

.ima_ran img {
    width: 100%;
    height: auto;
}

.text_ran {
    width: 45%;
    height: auto;
    text-align: left;
    padding: 0 1em;
}

.text_ran img {
    width: 140px;
    height: auto;
}

.text_ran p {
    text-align: left;
    font-size: 15px;
}

p.ranki_p {
    text-align: center;
    margin: 1em auto 3em auto;
}

.box_syame {
    border: solid 1px #bababa;
    text-align: center;
    width: 90%;
}

.box_syame p {
    padding: 0;
    text-align: center;
    position: relative;
    font-size: 13px;
}

.box_syame i {
    position: absolute;
    top: 5px;
    right: 10px;
}

.girls_main_for {
    display: flex;
    height: auto;
    width: 100%;
    margin: 3em auto;
}

.girls_for {
    width: 31%;
    height: auto;
    margin: 1%;
    position: relative;
}

img.lave_for {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: auto;
}

.girls_for p {
    font-size: 13px;
    text-align: center;
}

img.for_im {
    width: 100%;
    height: auto;
}

.text_ran a {
    color: black;
}

@media screen and (max-width: 750px) {
    .text_ran img {
        width: 90px;
    }
    img.lave_for {
        width: 40px;
    }
}

.video_fre {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.news_text {
    text-align: justify;
    width: 95%;
    height: auto;
    line-height: 2em;
    margin: 1em auto;
    max-width: 600px;
}

.hasi {
    border-bottom: solid 2px burlywood;
    width: max-content;
    /* テキストの幅に合わせる */
    margin: 0px 8px 0 auto;
}

.hasi p {
    margin-block-end: 4px;
    font-weight: bold;
}

img.no_obi {
    position: absolute;
    top: -2px;
    left: -2px;
    width: 80px;
    height: auto;
}

.girls_main_sc {
    width: 100%;
    height: auto;
    max-width: 1200px;
    margin: 1em auto;
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
}

.girls_sc {
    width: 31%;
    margin: 1%;
}

.girls_sc img {
    width: 100%;
    height: auto;
}

.girls_sc p {
    margin-bottom: 1em;
    margin-top: 0.5em;
}

.girls_sc a {
    color: #2e2e2e;
}

.girls_main_rank {
    margin: 3em auto;
    width: 100%;
    height: auto;
    padding: 30px auto;
}

.girls_rank {
    margin: 3em auto 3em auto;
    height: auto;
    width: 95%;
    display: flex;
    max-width: 700px;
}

@media screen and (max-width: 750px) {
    .video_fre div {
        margin: 1%;
        min-width: 85%;
    }
    .girls_rank {
        min-width: 55%;
    }
    img.no_obi {
        width: 60px;
    }
    .girls_main_sc {
        overflow: scroll;
        flex-wrap: nowrap;
    }
    .girls_sc {
        min-width: 55%;
        margin: 1%;
    }
}

.photoWrap {
    position: relative;
    display: block;
    overflow: hidden;
    /* バッジ・画像はみ出し防止 */
    border-radius: 14px;
    /* カード感 */
}

/* 本日出勤バッジ */

.todayBadge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #111;
    background: linear-gradient(135deg, #f7d98a, #d4af37);
    /* ゴールド系 */
    border-radius: 999px;
    box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
    z-index: 2;
    backdrop-filter: blur(2px);
}

/* 画像に少しだけ演出 */

.photoWrap img {
    transition:
        transform 0.4s ease,
        filter 0.4s ease;
}

.photoWrap:hover img {
    transform: scale(1.04);
    filter: brightness(1.05);
}

.photoWrap {
    position: relative;
    display: block;
    overflow: hidden;
    /* バッジ・画像はみ出し防止 */
    border-radius: 14px;
    /* カード感 */
}

/* 本日出勤バッジ */

.todayBadge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #111;
    background: linear-gradient(135deg, #f7d98a, #d4af37);
    /* ゴールド系 */
    border-radius: 999px;
    box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
    z-index: 2;
    backdrop-filter: blur(2px);
}

/* 画像に少しだけ演出 */

.photoWrap img {
    transition:
        transform 0.4s ease,
        filter 0.4s ease;
}

.photoWrap:hover img {
    transform: scale(1.04);
    filter: brightness(1.05);
}
