@charset "UTF-8";

/***********************
    共通定義
***********************/

/* フォントInter */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

html {
    font-size: 62.5%;
}

body {
    font-size: 1.6rem;
    font-weight :500;
    /* font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif; */
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    line-height: 1.6;
    margin: 0 auto;
    letter-spacing: -0.1rem;
}

section {
    width: 100%;
}

a {
    display: inline-block;
}

a:hover{
    opacity: 0.8;
}

/* h3,h4 {
    text-shadow: 0px 3px 4px rgba(0, 0, 0,0.2);
} */

img {
    width: 100%;
    display: inline-block;
}
.sp {
    display: none;
}

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

/***********************
    ヘッダー
***********************/

header {
    width: 100%;
    /* height: 100vh; */
    height: 730px;
    /* background-image: url(../img/fv.png);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover; */
    position: relative;
    overflow: hidden;
}
.slide-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.2);
}
.slide-image {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    animation: slider-1 24s linear infinite;
}

.slide-image:nth-child(1) {
    background-image: url(../img/fv01.jpg);
    animation-delay: -2s;
}

.slide-image:nth-child(2) {
    background-image: url(../img/fv02.jpg);
    animation-delay: 6s;
}

.slide-image:nth-child(3) {
    background-image: url(../img/fv03.jpg);
    animation-delay: 14s;
}

@media screen and (max-width: 600px) {
    .slide-image:nth-child(1) {
        background-image: url(../img/fv01-sp.jpg);
        animation-delay: -2s;
    }
    
    .slide-image:nth-child(2) {
        background-image: url(../img/fv02-sp.jpg);
        animation-delay: 6s;
    }
    
    .slide-image:nth-child(3) {
        background-image: url(../img/fv03-sp.jpg);
        animation-delay: 14s;
    }
}



@keyframes slider-1 {
    0% {
        opacity: 0;
        transform: scale(1);
    }
    4.16% {
        opacity: 1;
    }
    33.33% {
        opacity: 1;
    }
    41.66% {
        opacity: 0;
        transform: scale(1.05);
    }
    100% {
        opacity: 0;
    }
}

.header-top {
    width: 100%;
    padding: 25px 29px 0 29px;
    position: absolute;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 10000;
}
.header-logo {
    width: 29.375%;
    min-width: 564px;
}
@media screen and (max-width: 1000px) {
    .header-logo {
        width: 50%;
        min-width: initial;
    }
    .header-logo img {
        padding-left: 20px;
        padding-top: 10px;
    }
}
.header-logo a {
    display: block;
    display: flex;
    justify-content: center;
    align-items: center;
}
.header-nav {
    display: flex;
    justify-content: end;
    align-items: center;
    color: #FFFFFF;
    font-size: 2.5rem;
}

.header-entry {
    width: 215px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000000;
    color: #FFFFFF;
    font-size: 16px;
    letter-spacing: 10px;
    margin-right: 30px;
}



.fv {
    width: 100%;
    height: 100%;
    position: relative;
}

.fv-title {
    width: 100%;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);

    /* 文字指定 */
    color: #FFFFFF;
    font-size: 5.6rem;
    font-weight: bold;
    line-height: 80px;
    letter-spacing: 5.6px;
    text-shadow: 0px 3px 6px #00000029;
}

.fv-subtitle, .subtitle01, .subtitle02 {
    position: absolute;
    bottom: 0;
    right: 0;

    /* 文字指定 */
    color: rgba(255, 255, 255, 0.6);
    font-size: 9.866667vw;
    font-weight: lighter;
    letter-spacing: 1.1527777777777777vw;
    line-height: 7.166667vw;
    font-family: 'Mukta Malar', sans-serif;
}

.fv-subtitle {
    bottom: 27px;
}

.header-fv {
    position: absolute;
    bottom: 4%;
    width: 100%;
    z-index: 51;
}
.fv-logo {
    width: 15%;
    margin: 0 auto;
}
.fv-h2_pc {
    color: #FFFFFF;
    text-shadow: 15px 20px 15px rgba(0, 0, 0, 0.6);
    font-weight: 600;
    margin-top: 5rem;
    padding-left:5%;
}
.fv-h2_pc h2 {
    font-size: 10rem;
    line-height: 12rem;
    margin-bottom: 2rem;
}
.fv-h2_pc p {
    font-size: 2.3rem;
    line-height: 3rem;
}
.fv-h2_sp {
    display: none;
}
.fv-butai {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 30rem;
    line-height: 26rem;
    color: #FFFFFF;
    letter-spacing: -2rem;
    z-index: 49;
}

.top-about_left_sp,.top-about_right_center_sp,.top-about_left_bottom_sp,.top-about_right_bottom_sp {
    display: none;
}

/* スクロールダウンのCSS制御 */

.scrolldown {
    position: absolute;
    bottom: 1%;
    left: 3.515625vw;
    animation: arrowmove 4s ease-in-out infinite;
}

@keyframes arrowmove{
    0%{bottom:1%;}
    50%{bottom:3%;}
    100%{bottom:1%;}
}

.scrolldown span{
    position: absolute;
    left: 10px;
    bottom: 50px;
    color: #eee;
    font-size: 2rem;
    letter-spacing: 1rem;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.scrolldown:before {
    content: "";
    position: absolute;
    bottom: 0;
    right: -6px;
    width: 1px;
    height: 20px;
    background: #eee;
    transform: skewX(-31deg);
}

.scrolldown:after{
    content:"";
    position: absolute;
    bottom:0;
    right:0;
    width:1px;
    height: 221px;
    background:#eee;
}

@media screen and (max-width: 750px) {
    header{ 
        height: 594px;
    }
    .fv-title {
        font-size: 8vw;
        line-height: 50px;
    }
    .fv-subtitle {
        font-size: 19.13vw;
        font-weight: lighter;
        letter-spacing: 14.94px;
        line-height: 24.066667vw;
    }
    .subtitle01, .subtitle02 {
        font-size: 18.13vw;
        font-weight: lighter;
        letter-spacing: 14.94px;
        line-height: 24.066667vw;
    }

    .subtitle01 {
        bottom: 18vw;
        right: 8vw;
    }
    .subtitle02 {
        bottom: -1.5vw;
        right: -4vw;
    }
    
    .header-nav {
        flex-direction: row-reverse;
    }
    .header-top {
        padding: 0;
    }
    .header-entry {
        margin-right: 0;
        width: 35vw;
        height: 45.5px;
        font-size: 12px;
        letter-spacing: 1.2px;
        margin-left: 12px;
    }
    .header-fv {
        top: 18%;
    }
    .fv-h2_pc {
        display: none;
    }
    .fv-h2_sp {
        display: block;
        margin-top: 6rem;
        color: #FFFFFF;
        font-size: 4rem;
        line-height: 48.41px;
        margin-left: 7%;
    }
    .fv-h2_sp h2 {
        display: inline-block;
        font-size: 4rem;
        line-height: 48.41px;
        text-align: start;
        font-weight: 600;
    }
    .fv-h2_sp p {
        font-size: 1.7rem;
        line-height: 20.57px;
        text-align: start;
        margin-top: 2rem;
    }
    .fv-butai {
        display: none;
    }
    .fv-logo {
        width: 18%;
    }
    .scrolldown {
        left: 5.515625vw;
    }
    .scrolldown span {
        letter-spacing: 0.2rem;
        font-size: 7px;
        left: 5px;
        bottom: 50px;
    }
    .scrolldown:after {
        height: 89px;
        bottom: 20px;
    }
    .scrolldown:before {
        right: -5px;
        width: 1px;
        height: 15px;
        bottom: 20px;
    }

    .entry {
        position: fixed;
        bottom: 30px;
        right: 30px;
        z-index: 1000;
    }
    .entry a {
        display: inline-block;
        width: 100px;
        height: 100px;
        border-radius: 50px;
        background-color: #FFFFFF;
        position: relative;
        font-weight: bold;
    }
    .entry a::before {
        position: absolute;
        content: "ご応募は\Aこちらから";
        width: 85px;
        text-align: center;
        white-apace: pre;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        font-size: 14px;
        letter-spacing: 2.4px;
        color: #C3B27E;
    } 
    .entry a img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}
@media screen and (max-width:400px) {
    .fv-h2_sp h2 {
        display: inline-block;
        font-size: 3rem;
        line-height: 36.41px;
        text-align: start;
    }
    .fv-logo {
        width: 27%;
    }
}
/***********************
    ヘッダー ハンバーガー
***********************/

    .hamburger-menu {
        width: 61px;
        height: 38px;
    }
    .menu-btn {
        display: inline-block;
        width: 100%;
        height: 100%;
        z-index: 10001;
    }
    .menu-btn span,
    .menu-btn span:before,
    .menu-btn span:after {
        content: '';
        display: block;
        height: 2px;
        width: 61px;
        background-color: #000000;
        position: absolute;
        top: 60%;
        z-index: 10000;
        /* box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.5); */
    }

    .recruit-hamburger,
    .recruit-hamburger::before,
    .recruit-hamburger::after {
        background-color: #FFFFFF;
    }

    .menu-btn span:before {
        top: -12px;
    }
    .menu-btn span::after {
        top: 12px;
    }
    #menu-btn-check:checked ~ .menu-btn span::after {
        background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
    }
    #menu-btn-check:checked ~ .menu-btn span {
        bottom: 0;
        transform: rotate(45deg);
        right: 25px;
    }
    #menu-btn-check:checked ~ .menu-btn span::before {
        top: 0;
        transform: rotate(-90deg);
    }
    #menu-btn-check:checked .kasou-top {
        z-index: 0;
    }
    #menu-btn-check {
        display: none;
    }
    .menu-content ul {
        padding: 90px 10px 0;
    }
    .menu-content ul li {
        list-style: none;
        text-align: center;
    }
    .menu-content ul li a {
        display: block;
        width: 100%;
        font-size: 2.5rem;
        box-sizing: border-box;
        color:#333333;
        text-decoration: none;
        /* padding: 0.5rem 0 0.5rem 5rem; */
        padding: 0.5rem 0 0.5rem 0;
        font-weight: 600;
    }
    .menu-content {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 100%;/*leftの値を変更してメニューを画面外へ*/
        z-index: 80;
        background-color: #FFFFFF;
        transition: all 0.5s;/*アニメーション設定*/
        margin-bottom: 5rem;
    }
    .recruit-menu-content {
        background-color: #333333;
    }
    .recruit-menu-content ul li a {
        color:#FFFFFF;
    }
    #menu-btn-check:checked ~ .menu-content {
        left: 0;/*メニューを画面内へ*/
    }
    .hamburger-logo {
        width: 50%;
        padding: 5rem 0;
        margin-left: 5rem;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .hamburger-logo > img{
        object-fit: contain;
        height: 100px;
        width: 30%;
    }
/* } */

@media screen and (max-width: 750px) {
    .hamburger-menu {
        width: 24.58px;
        height: 10.91px;
    }
    .menu-btn span,
    .menu-btn span:before,
    .menu-btn span:after {
        content: '';
        display: block;
        height: 2px;
        width: 24.58px;
        top: 50%;
    }
    .menu-btn span:before {
        top: -5.6px;
    }
    .menu-btn span::after {
        top: 5.6px;
    }
}

#recruit-hamburger-menu {
    position: absolute;
    right: 30px;
    top: 25px;
    z-index: 10000;
}
@media screen and (max-width: 1220px) {
    #recruit-hamburger-menu {
        top: 21px;
    }
}
@media screen and (max-width: 1000px) {
    #recruit-hamburger-menu {
        top: 3.5vw;
    }
}

#recruit-hamburger-menu .menu-btn span, 
#recruit-hamburger-menu .menu-btn span:before, 
#recruit-hamburger-menu .menu-btn span:after {
    background-color: #FFFFFF;
}

@media screen and (max-width: 750px) {
    #recruit-hamburger-menu {
        position: absolute;
        right: 4vw;
        top: 17px;
        z-index: 10000;
    }
    #menu-btn-check:checked ~ .recruit-hamburger {
        right: 0!important;
    }
}

.kasou-hamburger-menu {
    position: absolute;
    top: 20px;
    right: 20px;
}


/***********************


    メインコンテンツ 共通定義


***********************/

.btn {
    text-align: center;
    margin-top: 80px;
}

.btn a {
    width: 504px;
    font-size: 2.4rem;
    font-weight: bold;
    font-family: 'Mukta Malar', sans-serif;
    display: inline-block;
    padding: 2.3rem 0;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    border-radius: 0.5rem;
    margin: 0 auto;
}

/* ボタン */

.gold a {
    background-color: #C3B27E;
    color: #FFFFFF;
    letter-spacing: 2.4px;
}
.black a {
    background-color: #212529;
    color: #FFFFFF;
    letter-spacing: 2.4px;
}



@media screen and (max-width: 750px) {
    .btn {
        margin-top: 60px;
    }
    .btn a {
        width: 60%;
        font-size: 1.4rem;
        padding: 2.3rem 0;
        padding: 0.6rem 0;
    }
}

.arrow-up {
    position: fixed;
    bottom: 38px;
    right: 76px;
    width: 90px;
    height: 90px;
    border: 1px solid #FFFFFF;
    border-radius: 50%;
}

.arrow-up a {
    display: block;
    width: 100%;
    height: 100%;
}

.arrow-up span {
    display: inline-block;
    vertical-align: middle;
    color: #FFFFFF;
    line-height: 1;
    position: relative;
    width: 0.1em;
    height: 38.75px;
    background: currentColor;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);


}

.arrow-up span::before {
    content: '';
    width: 0.65em;
    height: 0.65em;
    border: 0.1em solid currentColor;
    border-left: 0;
    border-bottom: 0;
    transform: rotate(-45deg);
    transform-origin: top right;
    position: absolute;
    top: -0.05em;
    right: 50%;
    box-sizing: border-box;
}

@media screen and (max-width: 750px) {
    .arrow-up {
        display: none;
    }
}


/***********************


    CONCEPT


***********************/



.concept {
    width: 100%;
    height: 100%;
    background-image: url(../img/concept-back.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}
.inner {
    max-width: 1208px;
    padding: 100px 0 100px 0;
    width: 90%;
    margin: 0 auto;
}

.h2-title h2 {
    color: #C3B27E;
    font-size: 9.6rem;
    line-height: 9.6rem;
    letter-spacing: 19.2px;
    font-weight: bold;
    display: inline-block;
    position: relative;
    font-family: 'Mukta Malar', sans-serif;
}

.h2-title h2::before  {
    position: absolute;
    display: inline-block;
    bottom: -30px;
    left: 0;
    font-size: 1.6rem;
    letter-spacing: 2.4px;
    font-weight: bold;
    line-height: 0;
    color: #212529;
}

.concept .h2-title h2::before {
    content: "私たちの想い";
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.concept .h2-title {
    position: relative;
}

/* CONCEPTの泡 */

.concept .h2-title::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    width: 88px;
    height: 88px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.concept .h2-title::after {
    position: absolute;
    content: "";
    top: 88px;
    right: 124px;
    width: 50px;
    height: 50px;
    background-image: url(../img/foam-small.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.concept .inner {
    position: relative;
}

.concept .inner::before {
    position: absolute;
    content: "";
    bottom: -50px;
    left: 188px;
    width: 88px;
    height: 88px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.concept .inner::after {
    position: absolute;
    content: "";
    bottom: 40px;
    left: 88px;
    width: 50px;
    height: 50px;
    background-image: url(../img/foam-small.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}


.concept .contents h3 {
    font-size: 20px;
    letter-spacing: 2px;
    color: #212529;
    font-weight: bold;
    margin-top: 80px;
}

.concept .h2-title, .concept .contents {
    padding-left: 88px;
}

.concept .contents p {
    font-size: 14px;
    margin-top: 60px;
    letter-spacing: 1.4px;
    line-height: 36px;
}

.contents {
    width: 100%;
    margin-top: 55px;
    display: flex;
    justify-content: space-between;
}

.concept .contents-left {
    width: 42%;
}

.concept .contents-right {
    width: calc(100% - 42% - 4%);
}



@media screen and (max-width: 750px) {
    .inner {
        padding: 80px 0 20px 0;
        width: 90%;
        margin: 0 auto;
    }
    .concept .h2-title, .concept .contents {
        padding-left: 0;
    }
    .h2-title h2 {
        font-size: 4.5rem;
        letter-spacing: 9px;
        line-height: 75px;
    }
    .h2-title h2::before {
        font-size: 1.2rem;
        font-weight: 500;
        bottom: -10px;
    }
    .contents {
        flex-direction: column;
    }
    .concept .contents-left, .concept .contents-right {
        width: 100%;
    }
    .concept .contents-right {
        width: 90%;
        margin: 50px auto;
    }
    .concept .contents h3 {
        font-size: 1.8rem;
        letter-spacing: 1.8px;
        margin-top: 0;
    }
    .concept .contents p {
        font-size: 1.2rem;
        letter-spacing: 1.2px;
        line-height: 26px;
        margin-top: 20px;
    }
    .concept .h2-title::before {
        width: 35px;
        height: 35px;
        top: -30px;
        right: 20px;
    }
    .concept .h2-title::after {
        width: 21px;
        height: 21px;
        top: -50px;
        right: -5px;
    }
    .concept .inner::before {
        width: 35px;
        height: 35px;
        bottom: -17px;
        left: 20px;
    }
    .concept .inner::after {
        width: 21px;
        height: 21px;
        bottom: 20px;
        left: -5px;
    }
}





/***********************


    PEACE-GROUP


***********************/



.peace-group {
    background-color: #212529;
}

.peace-group .h2-title {
    text-align: end;
}

.peace-group .h2-title h2::before {
    content: "店舗情報";
    color: #FFFFFF;
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.peace-group .contents-left {
    width: 57.5%;
}

.peace-group .contents h3 {
    font-size: 24px;
    letter-spacing: 2.4px;
    color: #FFFFFF;
    font-weight: bold;
    margin-top: 80px;
}

.peace-group .h2-title, .peace-group .contents {
    padding-left: 88px;
}

.peace-group .contents p {
    color: #FFFFFF;
    font-size: 14px;
    margin-top: 60px;
    letter-spacing: 1.4px;
    line-height: 36px;
}



.shop-box {
    width: 100vw;
    display: flex;
    justify-content: center;
    overflow: hidden;
    margin: 50px 0 0 0;
    margin-left: calc((-100vw + 100%) / 2);
    margin-right: calc((-100vw + 100%) / 2);
}

.shop-img {
    width: 34%;
    min-width: 489px;
}

.shop-img img {
    border-top-left-radius: 80px;
    border-bottom-right-radius: 80px;
}

.shop-img:nth-child(2) {
    margin: 0 80px;
}

/* PEACE-GROUPの泡 */

.peace-group .inner {
    position: relative;
}

.peace-group .inner::before {
    position: absolute;
    content: "";
    bottom: -50px;
    right: 0;
    width: 88px;
    height: 88px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}



@media screen and (max-width: 750px) {
    .peace-group .inner {
        padding: 80px 0 60px 0;
        width: 95%;
    }
    .peace-group .h2-title h2::before {
        left: 15px;
    }
    
    .peace-group .h2-title, .peace-group .contents {
        padding-left: 0;
    }
    .peace-group .h2-title {
        text-align: center;
    }
    .peace-group h2 {
        font-size: 3.6rem;
        letter-spacing: 6px;
    }
    .peace-group .contents-left {
        width: 90%;
        margin: 0 auto;
    }
    .shop-box {
        width: 90%;
        margin: 0 auto;
        flex-direction: column;
    }
    .shop-img:nth-child(2) {
        margin: 50px 0 0 0;
    }
    .shop-img {
        width: 100%;
        min-width: initial;
        margin-top: 50px;
    }
    .peace-group .inner::before {
        width: 35px;
        height: 35px;
        bottom: -17px;
        right: 20px;
    }
}



/***********************


    SERVICES


***********************/



.service {
    width: 100%;
    height: 100%;
    background-image: url(../img/service-back.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

.service .h2-title h2::before {
    content: "事業内容";
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;

}

.service .contents h3 {
    font-size: 20px;
    letter-spacing: 2px;
    color: #212529;
    font-weight: bold;
    margin-top: 80px;
}

.service .h2-title, .service .contents {
    padding-left: 88px;
}

.service .contents p {
    font-size: 14px;
    margin-top: 60px;
    letter-spacing: 1.4px;
    line-height: 36px;
}

.contents {
    width: 100%;
    margin-top: 55px;
    display: flex;
    justify-content: space-between;
}

.service .contents-left {
    width: 39%;
}

.service .contents-right {
    width: calc(100% - 39% - 15%);
    display: flex;
    align-items: center;
    justify-content: end;
}

/* SERVICESの泡 */

.service .inner {
    position: relative;
}

.service .inner::before {
    position: absolute;
    content: "";
    bottom: -50px;
    left: 0;
    width: 88px;
    height: 88px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}



@media screen and (max-width: 750px) {
    .service .inner {
        padding: 80px 0 60px 0;
        width: 95%;
    }
    .service .h2-title, .service .contents {
        padding-left: 0;
        width: 90%;
        margin: 0 auto;
        margin-top: 55px;
    }
    .service .contents h3 {
        margin-top: 0;
        font-size: 18px;
        letter-spacing: 1.8px;
    }
    .service .contents-left, .service .contents-right {
        width: 100%;
    }
    .service .contents-right {
        margin-top: 50px;
    }
    .service .inner::before {
        width: 0;
        height: 0;
    }
}



/***********************


    CAST


***********************/



.cast {
    width: 100%;
    height: 100%;
    background-image: url(../img/service-back.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

.cast .h2-title {
    text-align: end;
    padding-right: 92px;
}

.cast .h2-title h2::before {
    content: "キャスト一覧";
    color: #212529;
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;

}

.cast .contents-left {
    width: 50.5%;
}

.cast .contents h3 {
    font-size: 24px;
    letter-spacing: 2.4px;
    color: #212529;
    font-weight: bold;
    margin-top: 20px;
}

.cast .h2-title, .cast .contents {
    padding-left: 88px;
}

.cast .contents p {
    color: #212529;
    font-size: 14px;
    margin-top: 60px;
    letter-spacing: 1.4px;
    line-height: 36px;
}

/* CASTの泡 */

.cast .inner {
    position: relative;
}

.cast .inner::before {
    position: absolute;
    content: "";
    bottom: -50px;
    right: 192px;
    width: 88px;
    height: 88px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.cast .inner::after {
    position: absolute;
    content: "";
    bottom: 40px;
    right: 88px;
    width: 50px;
    height: 50px;
    background-image: url(../img/foam-small.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}



/* スライダー */
.slider {
    width: 100vw;
    overflow: hidden;
    margin: 50px 0 0 0;
    margin-left: calc((-100vw + 100%) / 2);
    margin-right: calc((-100vw + 100%) / 2);
    padding-bottom: 50px;
}

.slick-prev, .slick-next {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 306px;
    height: 0.8px;
    background: #212529!important;
    z-index: 100;
}
.slick-prev:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 15px;
    width: 2px;
    height: 30px;
    background: #212529!important;
    transform: skewX(-45deg);
}

.slick-next:before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 15px;
    width: 2px;
    height: 30px;
    background: #212529!important;
    transform: skewX(45deg);
}
.slick-prev:hover, .slick-next:hover {
    background: #212529!important;
}

.slick-prev {
    left: 50px;
    top: initial;
    bottom: 0;
}

.slick-next {
    right: 50px;
    top: initial;
    bottom: 0;
}

.slider-img {
    width: 285px;
}
.slider-img img {
    height: auto;
    width: 100%;
}

.slider-img-text {
    width: 100%;
    height: 100%;
    position: relative;
}

.cast-number {
    position: absolute;
    content: "";
    bottom: 4%;
    left: 8%;
    color: #FFFFFF;
    font-size: 8vw;
    line-height: 8vw;
    font-weight: 100;
    font-family: 'Mukta Malar', sans-serif;
}

.cast-subname {
    position: absolute;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    content: "";
    top: 7vw;
    right: -30px;
    color: #212529;
    font-size: 2.4rem;
    letter-spacing: 9.6px;
    line-height: 4rem;
    font-weight: 500;
    font-family: 'Mukta Malar', sans-serif;
}

.cast-subname span {
    display: inline-block;
    margin-top: 25px;
}

.slick-slide {
    padding: 0 2.3vw
}

.cast-detail {
    font-size: 1.8rem;
    line-height: 30px;
    letter-spacing: 1.8px;
    font-weight: 400;
    margin-top: 15px;
}

.cast-name {
    display: inline-block;
    font-size: 2.2rem;
    line-height: 36px;
    letter-spacing: 2.2px;
    font-weight: 400;
    margin-top: 15px;
}



@media screen and (max-width: 750px) {
    .cast .inner {
        padding: 80px 0 100px 0;
        width: 95%;
    }
    .cast .h2-title, .cast .contents {
        padding-left: 0;
        width: 90%;
        margin: 0 auto;
        margin-top: 55px;
    }
    .cast .h2-title {
        padding-right: 0;
    }
    .cast .h2-title h2::before {
        left: initial;
        right: 0;
    }
    .cast .contents-left, .cast .contents-right {
        width: 100%;
    }
    .cast .contents h3 {
        font-size: 18px;
        letter-spacing: 1.8px;
    }
    .cast-subname {
        font-size: 1.6rem;
        line-height: 27px;
        top: 20vw;
        right: -17px;
    }
    .cast-detail {
        font-size: 1.2rem;
        line-height: 26px;
        letter-spacing: 1.2px;
    }
    .slider-img {
        text-align: center;
    }
    .slick-prev, .slick-next {
        width: 123px;
        bottom: 20vw;
    }
    .slick-prev {
        left: 20px;
    }
    .slick-next {
        right: 20px;
    }
    .slick-next:before {
        right: 7px;
        width: 1px;
        height: 15px;
    }
    .slick-prev:before {
        left: 7px;
        width: 1px;
        height: 15px;
    }
    .slider {
        padding-bottom: 0;
    }
    .cast .inner::before {
        width: 35px;
        height: 35px;
        bottom: -17px;
        right: 20px;
    }
    .cast .inner::after {
        width: 21px;
        height: 21px;
        bottom: -30px;
        right: 70px;
    }

}



/***********************


    MESSAGE


***********************/



.message {
    width: 100%;
    height: 100%;
    background-image: linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.6)),url(../img/message-back.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

.message .h2-title h2::before {
    color: #FFFFFF;
    content: "代表より";
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;

}

.message .contents h3 {
    font-size: 20px;
    letter-spacing: 2px;
    color: #FFFFFF;
    font-weight: bold;
    margin-top: 60px;
}

.message .h2-title, .message .contents {
    padding-left: 88px;
}

.message .contents p {
    color: #FFFFFF;
    font-size: 14px;
    margin-top: 60px;
    letter-spacing: 1.4px;
    line-height: 36px;
}

.contents {
    width: 100%;
    margin-top: 55px;
    display: flex;
    justify-content: space-between;
}

.message .contents-left {
    width: 46.4%;
}

.message .contents-right {
    width: calc(100% - 46.4% - 10%);
    display: flex;
    justify-content: center;
    align-items: baseline;
}

.message .contents-right img {
    width: 75%;
}

.message .contents-left-img {
    width: 100%;
    margin-top: 50px;
}



@media screen and (max-width: 750px) {
    .message .inner {
        padding: 80px 0 60px 0;
        width: 90%;
    }
    .message .h2-title, .message .contents {
        padding-left: 0;
        width: 95%;
        margin: 0 auto;
        margin-top: 55px;
    }
    .message .contents h3 {
        margin-top: 0;
    }
    .message .contents-left, .message .contents-right {
        width: 100%;
    }
    .message .contents-right {
        flex-direction: column;
        align-items: center;
    }
    .message .contents-right img:last-child {
        width: 100%;
        margin-top: 20px;
    }
}



/***********************


    INFO


***********************/



.info-box {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 76px;
}

.info-box a {
    width: 50%;
    height: 100%;
    display: block;
    height: 247px;
}

.info-item:first-child {
    background-image: url(../img/shop01.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

.info-item:last-child {
    background-image: url(../img/recruit-info.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

.info-item {
    position: relative;
}
.info-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.2);
}

.info-item div {
    position: absolute;
    left: 34px;
    top: 17px;
    display: block;
    color: #FFFFFF;
}

.info-item > div > span:first-child {
    font-family: 'Mukta Malar', sans-serif;
    display: block;
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    line-height: 40px;
}

.info-item > div > span:last-child {
    font-size: 2rem;
    letter-spacing: 2px;
    line-height: 34px;
    font-weight: bold;
}

.info-item > span {
    position: absolute;
    color: #FFFFFF;
    bottom: 0;
    right: 17px;
    font-size: 2rem;
    letter-spacing: 2px;
    line-height: 34px;
    font-weight: bold;
}

.info .btn {
    margin-top: 150px;
}



@media screen and (max-width: 750px) {
    .info .inner {
        padding: 80px 0 60px 0;
    }
    .info-box {
        flex-direction: column;
    }
    .info-box a {
        width: 100%;
        height: 139px;
    }
    .info-item div {
        left: 20px;
        top: 10px;
    }
    .info-item > div > span:first-child {
        font-size: 1.8rem;
        letter-spacing: 1.8px;
        line-height: 30px;
    }
    .info-item > div > span:last-child {
        font-size: 1.4rem;
        letter-spacing: 1.4px;
        line-height: 24px;
    }
    .info-item > span {
        font-size: 1.4rem;
    }
    .info .btn {
        margin-top: 60px;
    }
}


/***********************


    FOOTER


***********************/



footer {
    background-color: #212529;
    padding: 86px 0 110px 0;
}

.footer-logo {
    width: 440px;
    margin: 0 auto;
    margin-bottom: 65px;
}

.footer-nav {
    width: 70%;
    max-width: 265px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.footer-nav li {
    width: 45%;
    font-size: 1.4rem;
    letter-spacing: 5.6px;
    line-height: 24px;
    color: #FFFFFF;
    margin-bottom: 15px;
}

@media screen and (max-width: 750px) {
    footer {
        padding: 30px 0 50px 0;
    }
    .footer-logo {
        width: 70%;
        margin-bottom: 0;
    }
    .footer-nav {
        padding: 5rem 0 0 0;
    }
    .footer-nav li {
        font-size: 1.2rem;
        letter-spacing: 4.8px;
    }
}






/* * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * 


下層ページのCSS 


* * * * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * */




/***********************


    採用情報


***********************/

.recruit-wrap {
    width: 100%;
    height: 100%;
    background-image: url(../img/recruit-back-new.png);
    background-repeat: no-repeat;
    /* background-position: center; */
    background-size: cover;
    position: relative;
}

.recruit-wrap::before {
    position: absolute;
    content: "";
    top: -160px;
    right: 110px;
    width: 88px;
    height: 88px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.recruit-wrap::after {
    position: absolute;
    content: "";
    top: -70px;
    right: 250px;
    width: 50px;
    height: 50px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.kasou-recruit {
    width: 100%;
    height: 514px;
    background-color: #212529;
    background-image: none;
    position: relative;
    z-index: 1;
    background-image: none;
}

.kasou-recruit .header-logo {
    min-width: initial;
}

.kasou-recruit .header-entry {
    background-color: #FFFFFF;
    color: #212529;
    margin-right: 90px;
}

.kasou-recruit .menu-btn span, .kasou-recruit .menu-btn span:before, .kasou-recruit .menu-btn span:after {
    background-color: #FFFFFF;
}

.kasou-fv {
    width: 100%;
    height: 100%;
    position: relative;
}

.kasou-title {
    position: absolute;
    top: 167px;
    left: 201px;
}

.kasou-title h2 {
    color: #C3B27E;
    font-size: 7rem;
    letter-spacing: 7px;
    line-height: 116px;
    font-weight: bold;
    position: relative;
    font-family: 'Mukta Malar', sans-serif;
}

.kasou-title h2::before {
    position: absolute;
    display: inline-block;
    bottom: -5px;
    left: 0;
    font-size: 1.6rem;
    letter-spacing: 2.4px;
    font-weight: bold;
    line-height: 0;
    color: #FFFFFF;
}

.kasou-recruit .kasou-title h2::before {
    content: "採用情報";
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.kasou-recruit .menu-content {
    background-color: #333333;
}

.kasou-recruit .menu-content ul li a {
    color: #FFFFFF;
}

@media screen and (max-width: 750px) {
    .recruit-wrap {
        background-image: url(../img/recruit-back-new-sp.png);
        background-repeat: no-repeat;
        /* background-position: center; */
        background-size: cover;
        position: relative;
    }
    .kasou-recruit {
        height: 184px;
        height: 50vw;
    }
    .kasou-title h2 {
        font-size: 3.2rem;
        letter-spacing: 3.2px;
        line-height: 70px;
    }
    .recruit-wrap::before {
        top: -60px;
        right: 25px;
        width: 23px;
        height: 23px;
    }
    .recruit-wrap::after {
        top: -30px;
        right: 60px;
        width: 13px;
        height: 13px;
    }
    .kasou-title h2::before {
        font-size: 1.2rem;
    }
    .kasou-recruit .header-entry {
        margin-right: 0px;

    }
}



/***********************


    CONTENTS-TOP


***********************/

.kasou-top {
    position: relative;
    z-index: 2;
    margin-top: -165px;
}

.kasou-inner {
    max-width: 1040px;
    width: 90%;
    margin: 0 auto;
}

.kasou-top-img {
    width: 100%;
}

@media screen and (max-width: 750px) {
    .kasou-top {
        /* margin-top: -75px; */
        margin-top: -45px;
    }
}


/***********************


    RECRUIT-NAV


***********************/

.recruit-nav {
    margin-bottom: 100px;
    padding-top: 110px;
    position: relative;
}

.recruit-header-nav {
    top: 3.5vw;
    right: 30px;
}
@media screen and (max-width: 750px) {
    .recruit-header-nav {
        right: 4vw;
        top: 17px;
    }
}

.recruit-nav-box {
    margin-bottom: 161px;
    width: 100%;
    height: 146px;
    background-image: linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.6)),url(../img/fv.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.recruit-nav::before {
    position: absolute;
    content: "";
    top: -130px;
    right: 160px;
    width: 88px;
    height: 88px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.recruit-nav::after {
    position: absolute;
    content: "";
    top: -30px;
    right: 280px;
    width: 50px;
    height: 50px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.recruit-nav-item {
    width: calc(100% / 3);
    padding-left: 3.125vw;
}

.recruit-nav-item a {
    display: block;
    width: 100%;
    height: 100%;
}

.recruit-nav-item span:first-child {
    font-size: 2.2rem;
    line-height: 40px;
    letter-spacing: 2.2px;
    font-family: 'Mukta Malar', sans-serif;
    color: #FFFFFF;
    position: relative;
    display: block;
    width: 100%;
    font-weight: bold;
}

.recruit-nav-item span:first-child::before {
    position: absolute;
    display: inline-block;
    bottom: -20px;
    left: 20px;
    font-size: 1.6rem;
    letter-spacing: 2.4px;
    font-weight: bold;
    line-height: 0;
    color: #FFFFFF;
}

.recruit-nav-item:first-child span:first-child::before {
    content: "店舗情報";
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;

}

.recruit-nav-item:nth-child(2) span:first-child::before {
    content: "トップページ";
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;

}

.recruit-nav-item:last-child span:first-child::before {
    content: "エントリー";
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;

}

.recruit-nav-item span:last-child {
    position: relative;
    display: inline-block;
    margin-top: 70px;
    width: 133px;
}

.recruit-nav-item span:last-child::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 9px;
    width: 1.5px;
    height: 20px;
    background: #eee;
    transform: skewX(45deg);
}

.recruit-nav-item span:last-child::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 133px;
    height: 1px;
    background: #eee;
}

.nav-bottom {
    margin-top: 80px;
    margin-bottom: 200px;
}

.nav-bottom .btn a {
    width: 772px;
}

@media screen and (max-width: 750px) {
    .recruit-nav {
        margin-bottom: 80px;
        padding-top: 53px;
    }
    .kasou-title {
        position: absolute;
        /* top: 167px;
        left: 201px; */
        top: 11vw;
        left: 7vw;
    }
    .nav-bottom .btn a {
        width: 60%;
    }
    .recruit-nav-item span:last-child {
        display: none;
    }
    .recruit-nav-item span:last-child::before {
        display: none;
    }
    
    .recruit-nav-item span:last-child::after {
        display: none;
    }
    .recruit-nav-item span:first-child {
        font-size: 1.2rem;
        letter-spacing: 1.2px;
        line-height: 24px;
    }
    .recruit-nav-item {
        padding-left: 3.125vw;
    }
    .recruit-nav-item:first-child {
        padding-left: 1.125vw;
    }
    
    .recruit-nav-item span:first-child::before {
        font-size: 1rem;
        letter-spacing: 2.4px;
    }
    .recruit-nav-box {
        height: 95px;
        align-items: baseline;
        margin-bottom: 60px;
    }
    .recruit-nav-item span:last-child {
        margin-top: 25px;
    }
    .recruit-nav::before, .recruit-nav::after {
        display: none;
    }
    .recruit-nav-item:nth-child(1) span ,.recruit-nav-item:nth-child(2) span, .recruit-nav-item:nth-child(3) span {
        padding-bottom: 24px;
        padding-left: 20px;
    }
    .recruit-nav-item:nth-child(1) span {
        padding-bottom: 0;
    }
    .recruit-nav .kasou-inner {
        padding: 0 18px;
    }
    .recruit-nav-item a {
        height: 90px;
    }
}

@media screen and (max-width: 400px) {
    .recruit-nav-item span:first-child {
        font-size: 1rem;
        letter-spacing: 1px;
        line-height: 24px;
    }
}


/***********************


    採用情報


***********************/


.recruit-info .kasou-inner {
    padding: 228px 0 228px 0;
}

.recruit-info {
    position: relative;
}

.recruit-info::before {
    position: absolute;
    content: "";
    bottom: 130px;
    right: 115px;
    width: 88px;
    height: 88px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.recruit-info::after {
    position: absolute;
    content: "";
    bottom: 85px;
    right: 230px;
    width: 50px;
    height: 50px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.kasou-inner h2 {
    font-size: 3.2rem;
    letter-spacing: 3.2px;
    position: relative;
    font-weight: bold;
}

.kasou-inner h2::before {
    position: absolute;
    content: "";
    width: 80%;
    top: 25px;
    right: 0;
    height: 1px;
    background: #212529;
}

.kasou-inner h2::after {
    position: absolute;
    content: "";
    bottom: 0;
    top: 0;
    left: -60px;
    margin: auto;
    width: 50px;
    height: 50px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.kasou-inner {
    max-width: 1040px;
    width: 90%;
    margin: 0 auto;
}

.kasou-top-img {
    width: 100%;
}

.recruit-info-box {
    width: 100%;
    margin: 70px auto 0 auto;
    display: flex;
    justify-content: flex-start;
    gap: 76px;
}

.recruit-info-left {
    width: 49%;
    font-size: 1.4rem;
    letter-spacing: 1.4px;
    line-height: 36px;
    font-weight: 500;

}

.recruit-info-right {
    width: calc(51% - 76px);
    position: relative;
}


.recruit-info-right li {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    color: #212529;
    font-weight: bold;
    margin-bottom: 80px;
}

.recruit-info-right li:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 750px) {
    .recruit-info .kasou-inner {
        padding: 70px 30px 160px 30px;
    }
    .kasou-inner {
        width: 100%;
        padding: 0 30px;
    }
    .recruit-flow .kasou-inner {
        padding: 78.5px 30px;
    }
    .kasou-inner h2::before {
        width: 70%;
        top: 12px;
    }
    .kasou-inner h2::after {
        display: none;
    }
    .kasou-inner h2 {
        font-size: 1.6rem;
        letter-spacing: 1.6px;
    }
    .recruit-flow-box {
        width: 100%;
        margin: 20px auto 0 auto;
        justify-content: space-between;
    }
    .recruit-flow-left {
        width: 35px;
    }
    .recruit-flow-right {
        padding: 15px 0 0 47px;
        width: calc(100% - 35px);
    }
    .recruit-flow-right li {
        font-size: 1.3rem;
        margin-bottom: 45px;
    }
    .recruit-flow-right::before {
        top: 300px;
        right: 0;
        width: 50px;
        height: 50px;
    }
    .recruit-flow-right::after {
        top: 360px;
        right: 70px;
        width: 28px;
        height: 28px;
    }
    .recruit-info-box {
        flex-direction: column;
        margin-top: 50px;
        gap: 28px;
    }
    .recruit-info-left, .recruit-info-right {
        width: 100%;
    }
    .recruit-info-left {
        font-size: 1.2rem;
        letter-spacing: 1.2px;
        line-height: 26px;
    
    }
    .recruit-info-right {
        text-align: center;
    }
    .recruit-info::before {
        bottom: 60px;
        right: 30px;
        width: 39.62px;
        height: 39.62px;
    }
    .recruit-info::after {
        bottom: 30px;
        right: 90px;
        width: 26.74px;
        height: 26.74px;
    }
}



/***********************


    募集要項


***********************/

.recruit-detail .kasou-inner {
    padding: 0;
}

.recruit-detail-box {
    width: 92%;
    display: flex;
    margin-top: 60px;
    justify-content: space-between;
}

.recruit-detail h2 {
    margin-bottom: 40px;
}

.recruit-detail-item {
    width: 45%;
    border-bottom: 1px dashed #C3B27E;
}

.recruit-detail-item h3 {
    font-size: 2rem;
    letter-spacing: 2px;
    color: #C3B27E;
    margin-bottom: 20px;
}

.recruit-detail-item p {
    font-size: 1.4rem;
    letter-spacing: 1.4px;
    margin-bottom: 20px;
}

@media screen and (max-width: 750px) {
    .recruit-detail .kasou-inner {
        padding: 0 30px 30px 30px;
    }
    .recruit-detail-box {
        width: 100%;
        flex-direction: column;
        margin-top: 21px;
    }
    .recruit-detail-item:last-child {
        margin-top: 21px;

    }
    .recruit-detail-item h3 {
        font-size: 1.6rem;
        margin-bottom: 5px;
    }
    .recruit-detail-item p {
        font-size: 1.2rem;
        letter-spacing: 1.2px;
        margin-bottom: 5px;
    }
    .recruit-detail-item p:last-child {
        margin-bottom: 13px;
    }
}


/***********************


    採用イベント


***********************/

.recruit-event .kasou-inner {
    padding: 0 0 110px 0;
}

.recruit-event-box {
    width: 100%;
    display: flex;
    margin-top: 60px;
    justify-content: space-between;
}

.area {
    width: 100%;
    margin: auto;
    flex-wrap: wrap;
    display: flex;
    gap: 20px;
}

.tab_class {
    width: calc((100% - 40px) / 3);
    height: 70px;
    background-color: #FFFFFF;
    line-height: 70px;
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    text-align: left;
    padding-left: 52px;
    display: block;
    float: left;
    order: -1;
    border: 1px solid #C3B27E;
    color: #C3B27E;
    font-weight: bold;
}

input[name="tab_name"] {
    display: none;
}

input:checked + .tab_class {
    background-color: #C3B27E;
    color: #FFFFFF;
}

.content_event {
    display: none;
    width: 100%;
    margin-top: 58px;
}

.content_event > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.content_event-left {
    width: 58%;
}

.content_event-left h3 {
    font-size: 2.4rem;
    line-height: 41px;
    letter-spacing: 2.4px;
    color: #C3B27E;
    font-weight: bold;
}

.content_event-left p {
    margin-top: 56px;
    font-size: 1.4rem;
    line-height: 36px;
    letter-spacing: 1.4px;
}

.content_event-right {
    width: calc(100% - 58% - 5%);
}

input:checked + .tab_class + .content_event {
    display: block;
}


.internship {
    width: 100%;
    margin-top: 62.5px;
    padding-top: 81.5px;
    border-top: 1px solid #212529;
}

.internship h3 {
    font-size: 2.4rem;
    line-height: 41px;
    letter-spacing: 2.4px;
    color: #C3B27E;
    font-weight: bold;
}

.internship-box {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: relative;
}

.internship-box::before {
    position: absolute;
    content: "";
    top: 640px;
    right: -50px;
    width: 88px;
    height: 88px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.internship-box::after {
    position: absolute;
    content: "";
    top: 730px;
    right: 50px;
    width: 50px;
    height: 50px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

@media screen and (max-width: 1000px) {
    .internship-box::before {
        width: 0px;
        height: 0px;
    }
    
    .internship-box::after {
        width: 0px;
        height: 0px;
    }
}

.internship-left {
    width: 64%;
    margin-top: 50px;
}

.internship-item {
    margin-bottom: 48px;
}

.internship-item:first-child {
    padding-right: 73px;
}

.internship-item h4 {
    font-size: 2rem;
    line-height: 34px;
    letter-spacing: 2px;
    color: #C3B27E;
    font-weight: bold;
}

.internship-item p {
    margin-top: 26px;
    font-size: 1.4rem;
    line-height: 36px;
    letter-spacing: 1.4px;
}

.internship-right {
    width: 36%;
}

.recruit-detail h2 {
    margin-bottom: 10px;
}

@media screen and (max-width: 750px) {
    .recruit-event .kasou-inner {
        padding: 0 30px 110px 30px;
    }
    .recruit-detail-item {
        width: 72%;
    }
    .recruit-detail h2 {
        margin-bottom: 0;
    }
    .recruit-event-box {
        margin-top: 20px;
    }
    .tab_class {
        padding: 0;
        font-size: 1.2rem;
        text-align: center;
        height: 31px;
        line-height: 31px;
    }
    .recruit-event h2::before {
        width: 65%;
    }
    .content_event {
        margin-top: 10px;
    }
    .content_event-left {
        width: 100%;
    }
    .content_event-left-img {
        width: 70%;
        margin: 30px auto;
    }
    .content_event-left h3 {
        font-size: 1.2rem;
        letter-spacing: 1.2px;
    }
    .content_event-left p {
        margin-top: 40px;
        line-height: 24px;
    }
    .content_event > div {
        flex-direction: column;
    }
    .internship-box {
        flex-direction: column-reverse;
    }
    .internship h3 {
        font-size: 1.8rem;
        letter-spacing: 1.8px;
    }
    .internship-item {
        margin-bottom: 80px;
    }
    .internship-item h4 {
        font-size: 1.8rem;
        letter-spacing: 1.8px;
    }
    .internship-left, .internship-right {
        width: 100%;
    }
    .internship-left {
        margin-top: 0;
    }
    .internship-right {
        text-align: center;
        padding: 30px 0;
    }
    .internship-right img {
        width: 70%;
    }
    .internship-item:first-child {
        padding: 0;
    }
    .internship-item p {
        line-height: 24px;
    }
}






/***********************


    エントリーページ


***********************/



.kasou-contact .header-logo {
    min-width: initial;
    width: 24.375%;
}

.contact-wrap {
    width: 100%;
    height: 100%;
    margin-bottom: 140px;
    background-image: url(../img/contact-back.png);
    background-repeat: no-repeat;
    background-size: cover;
}

.kasou-contact .kasou-title h2::before {
    content: "エントリー";
    color: #212529;
}

.kasou-contact {
    width: 100%;
    height: 514px;
    background-color: #FFFFFF;
    background-image: none;
    position: relative;
    z-index: 1;
    background-image: none;
}

.contact-form p {
    letter-spacing: 1.6px;
}

.contact-form > div > p {
    margin-top: 64px;
}



/* フォーム内容 */
form {
    width: 100%;
    margin-top: 83px;
    padding-bottom: 140px;
    position: relative;
}

.form-name {
    display: block;
    color: #212529;
    font-size: 2rem;
    line-height: 34px;
    letter-spacing: 2px;
    font-weight: bold;
    padding-left: 23px;
    margin-bottom: 20px;
    position: relative;
}

.radio {
    margin-bottom: 30px;
}

.form-name::before {
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 8px;
    height: 39px;
    background: #C3B27E;
}

.form-name span {
    display: inline-block;
    position: relative;
}

.form-name span::before {
    position: absolute;
    content: "*";
    top: -5px;
    right: -5px;
    width: 0px;
    margin: auto;
    background: #333333;
}

input,
select,
textarea {
    width: 100%;
    padding: 8px;
    margin-bottom: 36px;
    box-sizing: border-box;
    border: 1px solid #C3B27E!important;
    border-radius: 5px!important;
}

::placeholder {
    font-size: 1.6rem;
    letter-spacing: 1.6px;
    color: #A2A2A2;
    padding-left: 8px;
}

/* お名前、区分の幅設定 */

#name, #category {
    width: 420px!important;
}

/* 卒業予定年度、メールアドレスの幅設定 */

#email, #confirm-email, #tel, #date {
    width: 662px!important;
}

#birth-year, #birth-month {
    width: 329px!important;
}

input[type="radio"] {
    margin-right: 5px;
    display: inline;
    width: 20px;
    height: 20px;
    margin-bottom: 20px;
}

.form-radio {
    width: 684px;
    display: flex;
    flex-wrap: wrap;
}

.form-radio > div {
    width: 50%;
}

.ver-top {
    vertical-align: top;
    line-height: 20px;
    letter-spacing: 1.6px;
    font-weight: bold;
}

.form-radio-text {
    font-size: 16px;
    letter-spacing: 1.6px;
    margin-bottom: 26px;
    margin-top: 6px;
}

.form-btn {
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 74px;
}

.form-btn button {
    width: 304px;
    text-align: center;
    padding: 12px 0;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1.6rem;
    letter-spacing: 1.6px;
    border: 1px solid #C3B27E;
}

.form-btn button:first-child {
    background-color: #C3B27E;
    color: #fff;
}

.form-btn button:last-child {
    background-color: #FFFFFF;
    color: #212529;
}

button:hover {
    background-color: #45a049;
}

#comments {
    height: 312px;
}

@media screen and (max-width: 750px) {
    .kasou-contact {
        /* height: 60vw; */
        height: 230px;
    }
    .contact-wrap {
        margin-bottom: 0;
    }
    .kasou-contact .header-top {
        padding-top: 10px;
    }
    .kasou-contact .header-logo {
        width: 50%;
    }
    form {
        margin-top: 30px;
    }
    .form-name {
        margin-bottom: 5px;
    }
    .contact-form > div > p {
        margin-top: 30px;
    }
    #name, #category {
        width: 47.5%!important;
    }
    #birth-year, #birth-month {
        width: 37.2%!important;
    }
    #email, #confirm-email, #tel, #date {
        width: 75.2%!important;
    }

    #date {
        height: 28px;
    }
    .form-radio {
        width: 100%;
    }
    .form-name {
        font-size: 1.2rem;
        letter-spacing: 1.2px;
        padding-left: 10px;
    }
    .form-name::before {
        width: 2px;
        height: 11px;
    }
    ::placeholder {
        font-size: 1.2rem;
        letter-spacing: 1.2px;
    }
    input, select {
        padding: 0 0 0 8px;
        border-radius: 7px!important;
    }
    select {
        font-size: 1.2rem!important;
        letter-spacing: 1.2px;
        padding: 3px 0 3px 8px;
    }
    .ver-top, .contact-form p {
        font-size: 1.2rem;
        letter-spacing: 1.2px;
    }
    #comments {
        height: 100px;
    }
    .form-btn {
        flex-direction: column;
    }
    .form-btn {
        width: 52.2%;
        margin: 0 auto;
        gap: 20px;
        bottom: 30px;
    }
    .form-btn button {
        width: 100%;
        padding: 7px 0;
        font-size: 1.5rem;
        letter-spacing: 1.5px;
    }
}





/***********************


    店舗情報


***********************/



.kasou-shop {
    background-image: none;
    height: 386px;
}
.kasou-shop .kasou-inner {
    padding: 0 0 110px 0;
}

.shop-wrap .kasou-inner {
    width: 100%;
    max-width: 1199px;
    max-width: none;
    margin: 0 auto;
}

.shop-wrap {
    width: 100%;
    height: 100%;
    background-image: url(../img/shop-back.png);
    background-repeat: no-repeat;
    background-size: cover;
}


.shop-gallary .slider-shop {
    width: 100vw;
    overflow: hidden;
    margin: 50px 0 0 0;
    margin-left: calc((-100vw + 100%) / 2);
    margin-right: calc((-100vw + 100%) / 2);
}
.slider-shop .slider-img {
    margin: 0 auto;
    height: 400px;
}
.slider-shop .slider-img img {
    height: auto;
    width: 100%;
    border-radius: 30px;
    height: 400px;
    object-fit: cover;
}

@media screen and (max-width: 750px) {
    .slider-shop .slider-img {
        margin: 0 auto;
        height: 250px;
    }
    .slider-shop .slider-img img {
        height: auto;
        width: 100%;
        border-radius: 30px;
        height: 250px;
        object-fit: cover;
    }
}

.slider-shop .slick-prev, .slider-shop .slick-next {
    bottom: initial;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    z-index: 100;
    top: 50%;
    /* background: none!impor; */
    /* position: initial!important; */
}

.slider-shop .slick-prev {
    left: 13.3vw;
    background: none!important;
    background-image: url(../img/shop-slider-left.svg)!important;
    background-repeat: no-repeat;
    background-size: contain;
}

.slider-shop .slick-next {
    right: 13.3vw;
    background: none!important;
    background-image: url(../img/shop-slider-right.svg)!important;
    background-repeat: no-repeat;
    background-size: contain;
}

.slider-shop .slick-prev:before {
    content: '';
    position: initial!important;
}

.slider-shop .slick-next:before {
    content: '';
    position: initial!important;
}

.slider-shop .slick-prev:before, .slider-shop .slick-next:before {
    font-size: 50px;
    color: #212529;
    opacity: 1;
}

.shop-cast {
    position: relative;
}

.shop-cast .kasou-inner {
    width: 100%;
    max-width: 1199px;
    padding: 100px 0 240px 0;
    /* max-width: none; */
    margin: 0 auto;
}

.shop-cast .h2-title h2 {
    font-size: 3.2rem;
    letter-spacing: 3.2px;
    color: #212529;
    line-height: 54px;
    position: relative;
}

.shop-cast::before {
    position: absolute;
    content: "";
    top: 60px;
    right: 70px;
    width: 88px;
    height: 88px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}
.shop-cast .kasou-inner h2::before {
    height: 0px;
}
.shop-cast .kasou-inner h2::after {
    height: 0px;
}

.cast-gallary > div > div {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 60px;
}


.cast-item {
    width: 23%;
    margin-bottom: 40px;
}

.cast-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cast-item span {
    display: inline-block;
    font-size: 1.8rem;
    letter-spacing: 1.8px;
    font-weight: bold;
    margin-top: 10px;
}

.shop-cast .kasou-inner {
    position: relative;
}

.shop-cast .kasou-inner::before {
    position: absolute;
    content: "";
    bottom: 70px;
    left: 0;
    width: 88px;
    height: 88px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.shop-cast .kasou-inner::after {
    position: absolute;
    content: "";
    bottom: 180px;
    left: 150px;
    width: 50px;
    height: 50px;
    background-image: url(../img/foam-small.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

button.more {
    display: none;
}
.cast-more {
    display: block!important;
}

.txt-hide{
    display: none;
}
    
button.more {
    display: block;
    width: 347px;
    margin: 20px auto;
    display: block;
    text-align: center;
    background-color: #FFFFFF;
    color: #262626;
    border: 1px solid #262626;
    padding:10px 15px;
    border-radius: 43px;
    padding: 25px 0;
    outline: 0;
    position: relative;
    transition: .5s;
    -erbkit-transition: .5s;
}
button.more::after {
    content: "もっと見る";
    font-size: 1.8rem;
    transition: .2s;
    -erbkit-transition: .2s;
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;

}
button.more::before {
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    margin: auto;
    right: 2vw;
    width: 18px;
    height: 18px;
    background-image: url("../img/more-plus.svg");
    background-repeat: no-repeat;
    background-size: contain;
}
button.more.on-click::before {
    display: none;
}
    
button.more.on-click::after{
    content: "閉じる";
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;

}

@media screen and (max-width: 750px) {
    .shop-gallary .slider-shop {
        margin-top: 0;
    }
    .shop-wrap .kasou-inner {
        width: 100%;
        padding: 0 30px 80px 30px;
    }
    .kasou-shop {
        height: 179px;
    }
    .kasou-shop .header-top {
        padding: 10px 0;
    }
    .kasou-shop .kasou-title {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }
    .shop-cast .h2-title h2 {
        font-size: 2rem;
        letter-spacing: 2px;
        line-height: 20px;
    }
    .cast-gallary > div {
        margin-top: 20px;
    }
    .shop-cast .h2-title::before {
        display: none;
    }
    .cast-item {
        width: 47%;
        margin-bottom: 20px;
    }
    .cast-item span {
        display: inline-block;
        font-size: 0.9rem;
        letter-spacing: 0.9px;
    }
    .cast-gallary > div > div:last-child {
        margin-top: 0;
    }

    .shop-cast::before {
        width: 50px;
        height: 50px;
        top: -30px;
        right: 50px;
    }




    .txt-hide{
        display: none;
    }
        
    button.more {
        display: block;
        width: 100%;
        margin: 20px auto;
        display: block;
        text-align: center;
        background-color: #FFFFFF;
        color: #262626;
        border: 1px solid #262626;
        padding:10px 15px;
        border-radius: 43px;
        padding: 25px 0;
        outline: 0;
        position: relative;
        transition: .5s;
        -erbkit-transition: .5s;
    }
    button.more::after {
        content: "もっと見る";
        font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;

        font-size: 1.8rem;
        transition: .2s;
        -erbkit-transition: .2s;
    }
    button.more::before {
        position: absolute;
        content: "";
        top: 0;
        bottom: 0;
        margin: auto;
        right: 8vw;
        width: 18px;
        height: 18px;
        background-image: url("../img/more-plus.svg");
        background-repeat: no-repeat;
        background-size: contain;
    }
    button.more.on-click::before {
        display: none;
    }
        
    button.more.on-click::after{
        content: "閉じる";
        font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;

    }
    .shop-cast .kasou-inner::before {
        display: none;
    }
    .shop-cast .kasou-inner::after  {
        display: none;
    }

    .slider-shop .slick-prev {
        left: 5.3vw;
    }
    
    .slider-shop .slick-next {
        right: 5.3vw;
    }
}





/* <!-- 店舗情報 --> */

.shop-info {
    padding-bottom: 155px;
}

.shop-info-box {
    padding: 0 80px;
}


.shop-info-box {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.shop-info-left h2 {
    font-size: 3.2rem;
    letter-spacing: 3.2px;
    font-weight: bold;
}

.shop-info .kasou-inner h2::before {
    height: 0;
}

.shop-info-right {
    width: 70%;
}

.shop-info-right table {
    width: 100%;
}

.shop-info-right table td {
    font-size: 1.6rem;
    letter-spacing: 1.6px;
    line-height: 27px;
}

.shop-info-right table tbody tr td {
    border-bottom: 1px solid #C3B27E;
    padding: 17px 0;
}

.shop-info-right table tbody tr:first-child td {
    padding-top: 0;
}

.shop-info-right table tbody tr td:first-child {
    width: 34%;
}

.shop-info-right table tbody tr td:last-child {
    width: 66%;
}

.shop-info .kasou-inner h2::after {
    height: 0px;
}


@media screen and (max-width: 750px) {
    .shop-info {
        padding-bottom: 0;
    }
    .shop-info-box {
        flex-direction: column;
        padding: 0;
    }
    .shop-info-left h2 {
        font-size: 2rem;
        letter-spacing: 2px;
    }
    .shop-info-right {
        width: 100%;
        margin-top: 40px;
    }
    .shop-info-right table tbody tr td {
        display: block;
        width: 100%;
        border-bottom: 1px;
    }
    .shop-info-right table tbody tr {
        border-bottom: 1px solid #C3B27E;
    }
    .shop-info-right table tbody tr td:first-child, .shop-info-right table tbody tr td:last-child {
        width: 100%;
    }
    .shop-info-right table tbody tr td:first-child {
        padding-bottom: 0;
    }
    .shop-info-right table tbody tr td:last-child {
        padding-top: 0;
    }
}



/* <!-- 店舗画像 --> */

/* .shop-img .kasou-inner {

} */



/* <!-- 他の店舗を見る --> */

.shop-other {
    padding-bottom: 200px;
}

.shop-other .kasou-inner h2::before {
    height: 0;
}

.shop-other-box {
    width: 100%;
    padding: 0 80px;
    display: flex;
    justify-content: space-between;
    gap: 83px;
    margin-top: 40px;
}

.shop-other-item {
    width: 50%;
}

.shop-other-item img:last-child {
    width: 60%;
    margin-top: 40px;
}
/* 
.shop-other-item:first-child img:last-child {
    width: 43%;
} */

.shop-other-item:last-child img:last-child {
    width: 43%;
}

.shop-other-item p {
    margin-top: 15px;
    font-size: 20px;
    text-align: center;
}

.shop-other .kasou-inner h2::after {
    height: 0;
}

.shop-other {
    position: relative;
}

.shop-other::before {
    position: absolute;
    content: "";
    bottom: 70px;
    right: 200px;
    width: 88px;
    height: 88px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.shop-other::after {
    position: absolute;
    content: "";
    bottom: 160px;
    right: 100px;
    width: 50px;
    height: 50px;
    background-image: url(../img/foam-small.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

@media screen and (max-width: 750px) {
    .shop-other {
        padding-bottom: 0;
    }
    .shop-other-box {
        padding: 0;
        flex-direction: column;
    }
    .shop-other-item {
        width: 100%;
        text-align: center;
    }
    .shop-other-box::after, .shop-other-box::before {
        display: none;
    }
    .shop-other::before {
        bottom: 30px;
        right: 70px;
        width: 50px;
        height: 50px;
    }
    
    .shop-other::after {
        bottom: 100px;
        right: 50px;
        width: 25px;
        height: 25px;
    }

    .shop-other-item img:last-child {
        width: 50%;
    }
    .shop-other-item p {
        margin-top: 15px;
        font-size: 16px;
        text-align: center;
    }
    .recruit-wrap .shop-other {
        padding: 60px 0;
    }
}




/***********************


    店舗一覧


***********************/



.kasou-all-shop {
    width: 100%;
    height: 388px;
    background-image: linear-gradient(rgba(0,0,0,0.1),rgba(0,0,0,0.1)),url(../img/all-shop.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

.kasou-all-shop::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.2);
}

.kasou-all-shop .fv-title {
    font-size: 4.8rem;
    letter-spacing: 4.8px;
}

.all-shop {
    width: 100%;
    height: 100%;
    background-image: url(../img/all-shop-back.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.all-shop-box {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.all-shop-item {
    width: 31%;
    border: 1px solid #C3B27E;
    border-radius: 24px;
    padding: 55px 60px 30px 60px;
    text-align: center;
}

.all-shop-item:nth-child(2) {
    padding-top: 18px;
}

.all-shop-item:nth-child(3) {
    padding-top: 38px;
}

.all-shop-item:nth-child(3) > img {
    width: 52%;
}

.all-shop-item p {
    font-size: 1.4rem;
    letter-spacing: 1.4px;
    line-height: 24px;
    width: 90%;
    margin: 30px auto;
    text-align: left;
}

.all-shop-info {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    gap: 13px;
}

.all-shop-btn {
    margin-top: 10px;
}

.all-shop-btn a {
    display: block;
    width: 100%;
    background-color: #C3B27E;
    border: 1px solid #C3B27E;
    color: #FFFFFF;
    border-radius: 43px;
    padding: 20px 0;
    text-align: center;
}

.all-shop-btn a:hover {
    background-color: #FFFFFF;
    color: #C3B27E
}

.all-shop .inner {
    position: relative;
}

.all-shop .inner::before {
    position: absolute;
    content: "";
    top: 20px;
    right: -60px;
    width: 63px;
    height: 63px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.all-shop .inner::after {
    position: absolute;
    content: "";
    bottom: 20px;
    left: -60px;
    width: 63px;
    height: 63px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

@media screen and (max-width: 1255px) {
    .all-shop .inner::before {
        right: 0px;
    }
    .all-shop .inner::after {
        left: 0px;
    }
}

@media screen and (max-width: 1000px) {
    .all-shop .inner {
        padding: 100px 0;
    }
    .all-shop-box {
        flex-direction: column;
        gap: 40px;
    }
    .all-shop-item {
        width: 70%;
        padding: 30px;
    }
}

@media screen and (max-width: 750px) {
    .kasou-all-shop .header-top {
        padding-top: 20px;
    }
    .all-shop-item {
        width: 100%;
        padding: 30px;
    }
    .all-shop-btn a {
        padding: 15px 0;
        margin-top: 20px;
    }
}



/***********************


    キャスト一覧


***********************/

.all-cast {
    width: 100%;
    height: 100%;
    background-image: url(../img/all-shop-back.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding-bottom: 80px;
}

.all-cast .kasou-inner  {
    width: 1199px;
    max-width: initial;
    padding-top: 90px;
}

.kasou-all-cast {
    width: 100%;
    height: 388px;
    position: relative;
    background-image: url(../img/cast-header.jpg);
    background-repeat: no-repeat;
    background-position: 0px -320px;
    background-size: cover;
}

.kasou-all-cast::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.2);
}

.kasou-all-shop .fv-title {
    font-size: 4.8rem;
    letter-spacing: 4.8px;
}
@media screen and (max-width: 750px) {
    .kasou-all-shop .fv-title {
        font-size: 3rem;
        letter-spacing: 3px;
    }
}

.all-cast-btn {
    margin-top: 80px;
}

.all-cast-btn a {
    display: block;
    width: 35%;
    margin: 0 auto;
    border: 1px solid #212529;
    border-radius: 43px;
    padding: 20px 0;
    text-align: center;
    position: relative;
}

.cast-category {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cast-category span {
    display: inline-block;
    font-size: 1.6rem;
    letter-spacing: 1.6px;
    padding: 16px 37px 16px 29px;
    border: 1px solid #212529;
    border-radius: 34px;
}


@media screen and (max-width: 750px) {
    .kasou-all-cast {
        height: 179px;
        background-position: 0px -100px;
    }
    .all-cast .kasou-inner  {
        width: 100%;
    }
    .cast-category span {
        font-size: 1.2rem;
        letter-spacing: 1.2px;
        padding: 5px 10px 5px 10px;
    }
}


/***********************


    会社概要


***********************/

.top-message {
    width: 100%;
    height: 100%;
    background-image: url(../img/top-message-back.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

.top-message::before {
    position: absolute;
    content: "";
    top: -50px;
    right: 180px;
    width: 88px;
    height: 88px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.top-message::after {
    position: absolute;
    content: "";
    top: 50px;
    right: 80px;
    width: 50px;
    height: 50px;
    background-image: url(../img/foam-small.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}


.kasou-company {
    width: 100%;
    height: 388px;
    background-image: linear-gradient(rgba(0,0,0,0.1),rgba(0,0,0,0.1)),url(../img/company-header.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.company-inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 120px 80px;
}

.company-inner h2 {
    font-size: 4rem;
    letter-spacing: 4px;
    font-weight: bold;
    position: relative;
}

.company-inner h2::before {
    position: absolute;
    display: inline-block;
    top: -30px;
    left: 0;
    font-size: 1.8rem;
    letter-spacing: 1.8px;
    font-weight: bold;
    line-height: 0;
    color: #C3B27E;
    content: "TOP MESSAGE";
}


.top-message-text {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 40px 0 100px 0;
    border-bottom: 1px solid #C3B27E;
}

.top-message-text p {
    font-size: 1.4rem;
    letter-spacing: 1.4px;
    line-height: 36px;
}

.top-message-left {
    width: 46.6%;
}

.top-message-right {
    width: 43.5%;
}

.top-message-left p:first-child, .top-message-right p:first-child {
    margin-bottom: 60px;
}

.top-message-right p:last-child {
    font-size: 1.6rem;
    letter-spacing: 1.6px;
    text-align: right;
    margin-top: 100px;
}

.top-message-right p:last-child span {
    font-size: 2rem;
    letter-spacing: 2px;
    margin-left: 10px;
}

.top-message-person {
    width: 100%;
    display: flex;
    padding-top: 40px;
    gap: 50px;
}

.top-message-img {
    width: 171px;
}

.top-message-person-text {
    width: 50%;
}

.top-message-person-text p {
    font-size: 1.4rem;
    letter-spacing: 1.4px;
    line-height: 26px;
}

.top-message-person-text p:nth-child(2) span {
    font-size: 2rem;
    letter-spacing: 2px;
    margin-left: 10px;
    padding: 10px 0;
    display: inline-block;
}

@media screen and (max-width: 750px) {
    .kasou-company {
        height: 40.5vw;
    }
    .company-inner {
        padding: 150px 36px;
    }
    .kasou-company h2 {
        font-size: 1.6rem;
        letter-spacing: 1.6px;
    }
    .company-inner h2 {
        font-size: 2.4rem;
        letter-spacing: 2.4px;
    }
    .top-message-text {
        flex-direction: column;
    }
    .top-message-left, .top-message-right {
        width: 100%;
    }
    .top-message-text p {
        font-size: 1.2rem;
        letter-spacing: 1.2px;
    }
    .top-message-person {
        flex-direction: column;
    }
    .top-message-img, .top-message-person-text {
        width: 100%;
    }
    .top-message-img {
        text-align: center;
    }
    .top-message-img img {
        width: 65%;
    }
    .top-message-person-text p:last-child {
        margin-top: 20px;
    }
    
    .top-message-person-text p:nth-child(2) {
        font-size: 1.6rem;
        letter-spacing: 1.6px;
        font-weight: bold;
    }
    .top-message::before {
        display: none;
    }
    
    .top-message::after {
        display: none;
    }
}

.philosopy {
    width: 100%;
    height: 100%;
    background-image: linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.6)),url(../img/message-back.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

.philosopy::before {
    position: absolute;
    content: "";
    top: -20px;
    right: 240px;
    width: 88px;
    height: 88px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.philosopy::after {
    position: absolute;
    content: "";
    top: -100px;
    right: 150px;
    width: 50px;
    height: 50px;
    background-image: url(../img/foam-small.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.philosopy .inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 120px 0 120px 80px;
}

.philosopy .h2-title h2 {
    position: relative;
    font-size: 7rem;
    letter-spacing: 7px;
}

.philosopy .h2-title h2::before {
    position: absolute;
    display: inline-block;
    bottom: -30px;
    left: 0;
    font-size: 1.6rem;
    letter-spacing: 2.4px;
    font-weight: bold;
    line-height: 0;
    content: "企業理念";
    color: #FFFFFF;
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;

}

.philosopy-content {
    width: 100%;
    color: #FFFFFF;
    padding-top: 100px;
    display: flex;
    justify-content: space-between;
}

.philosopy-content-left {
    width: 71%;
    font-size: 1.4rem;
    letter-spacing: 1.4px;
    line-height: 36px;
}

.philosopy-content-right {
    width: 26%;
}

.philosopy-content-right h3 {
    font-size: 2rem;
    letter-spacing: 2px;
    color: #C3B27E;
    font-family: 'Mukta Malar', sans-serif;
}

.philosopy-content-right p {
    font-size: 1.6rem;
    letter-spacing: 1.6px;
    line-height: 36px;
}

.philosopy-content-item {
    margin-bottom: 10px;
}

.philosopy-content-item:last-child{
    margin-bottom: 0px;
}



@media screen and (max-width: 750px) {
    .philosopy .inner {
        padding: 50px 30px 100px 30px;
    }
    .philosopy .h2-title h2 {
        font-size: 3.2rem;
        letter-spacing: 3.2px;
    }
    .philosopy-content {
        flex-direction: column;
        padding-top: 50px;
    }
    .philosopy-content-left, .philosopy-content-right {
        width: 100%;
    }
    .philosopy-content-right {
        margin-top: 100px;
    }
    .philosopy-content-item {
        margin-bottom: 55px;
    }
    .philosopy-content-item:last-child {
        margin-bottom: 0px;
    }
    .philosopy-content-right h3 {
        font-weight: bold;
    }
    .philosopy::before {
        display: none;
    }
    .philosopy::after {
        display: none;
    }
    .philosopy .h2-title h2::before {
        bottom: -5px;
        left: 0;
        font-size: 1.2rem;
        letter-spacing: 1.2px;
    }
}



.company {
    width: 100%;
    height: 100%;
    background-image: url(../img/company-back.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

.company::before {
    position: absolute;
    content: "";
    top: -70px;
    left: 80px;
    width: 88px;
    height: 88px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.company::after {
    position: absolute;
    content: "";
    top: 30px;
    left: 210px;
    width: 50px;
    height: 50px;
    background-image: url(../img/foam-small.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.company .inner {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

.company .h2-title h2 {
    position: relative;
    font-size: 7rem;
    letter-spacing: 7px;
}

.company .h2-title h2::before {
    position: absolute;
    display: inline-block;
    bottom: -30px;
    left: 0;
    font-size: 1.6rem;
    letter-spacing: 2.4px;
    font-weight: bold;
    line-height: 0;
    content: "会社概要";
    color: #212529;
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;

}

.company-table {
    width: 100%;
    padding: 100px 0 0 0;
}

.company-table table {
    width: 100%;
}

.company-table table th, .company-table table td {
    font-size: 1.6rem;
    letter-spacing: 1.6px;
    padding: 30px 0 20px 0;
}
.company-table table tr {
    border-bottom: 1px solid #C3B27E;
}

.company-table table th {
    width: 35%;
    font-weight: 400;
    padding-left: 15px;
}

.company-table table td {
    width: 65%;
}

@media screen and (max-width: 750px) {
    .company .inner {
        padding: 50px 30px 100px 30px;
    }
    .company .h2-title h2 {
        font-size: 3.2rem;
        letter-spacing: 3.2px;
    }
    .company .h2-title h2::before {
        bottom: -5px;
        left: 0;
        font-size: 1.2rem;
        letter-spacing: 1.2px;
    }
    .company::before {
        display: none;
    }
    
    .company-table {
        width: 100%;
        padding: 50px 0 0 0;
    }
    .company::after {
        display: none;
    }
    .company-table table th, .company-table table td {
        font-size: 1.4rem;
        letter-spacing: 1.4px;
    }
}







/***********************
    header
***********************/

.header-kasou {
    width: 100%;
    height: 388px;
    z-index: 100;
    background-color: rgba(0,0,0,0.34);
}

.kasou {
    width: 100%;
    height: 568px;
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: contain;
    position: relative;
}

header.aboutus {
    background-image: url(../img/about-header.png);
}

.header-kasou_blackmask {
    position: absolute;
    width: 100%;
    height: 568px;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.6) 100%);
    z-index: 1;
}

.kasou-name {
    position: absolute;
    top: 330px;
    left: 5%;
    z-index: 2;
}
.kasou-name h2 {
    font-size: 4.5rem;
    color: #FFFFFF;
    text-shadow: 0px 15px 10px rgba(0, 0, 0, 0.7);
}
.kasou-name h2 > span {
    font-size: 5.5rem;
}
.kasou-name > span {
    font-size: 3.5rem;
    color: #FFFFFF;
    text-shadow: 0px 15px 10px rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center; /* 垂直中心 */
    justify-content: center; /* 水平中心 */
}
.kasou-name > span::after {
    border-top: 4px solid;
    content: "";
    margin-left: 10rem;
    width: 7rem;
    color: #d9d9d9;
}


@media screen and (max-width: 700px) {
    header.aboutus {
        background-image: url(../img/about-header_sp.png);
    }
    .header-kasou {
        display: none;
    }
    .kasou {
        background-position: left;
        background-size: contain;
    }
    .kasou-name h2,.kasou-name > span {
        font-weight: 600;
        font-size: 2.5rem;
    }
    .kasou-name h2 > span {
        font-size: 4.5rem;
        font-weight: 600;
    }
    .kasou-name > span::after {
        border-top: 1px solid;
        content: "";
        margin-left: 4rem;
        width: 15rem;
        color: #d9d9d9;
    }
}



/***********************
    about-us
***********************/

.about-us {
    width: 100%;
    background-color: #FFFFFF;
    margin: 10rem auto 5rem;
    position: relative;
    z-index: 1;
}
.wrap-kasou {
    width: 75%;
    margin: 0 auto;
    box-shadow: 5px 10px 10px 0px rgba(0, 0, 0, 0.25);border-bottom-left-radius: 1.5rem;
    border-bottom-right-radius: 1.5rem;
}
.wrap-kasou:first-child {
    margin-bottom: 10rem;
}
.kasou-contents-img {
    width: 100%;
    text-align: center;
}
.kasou-contents-img {
    width: 100%;
}
.kasou-contents-img img {
    height: 370px;
    object-fit: cover;
    object-position: center;
    border-top-left-radius: 1.5rem;
    border-top-right-radius: 1.5rem;
}
.kasou-contents-text {
    background-color: #FFFFFF;
    padding: 6rem 8rem;
    border-bottom-left-radius: 1.5rem;
    border-bottom-right-radius: 1.5rem;
}
.kasou-contents-text h3 {
    position: relative;
    font-size: 4.5rem;
    font-weight: 600;
    line-height: 66.56px;
    margin-bottom: 5rem;
    padding-bottom: 5rem;
    text-shadow: 10px 10px 10px rgba(0, 0, 0, 0.25);
    
}
.kasou-contents-text h3:before {
    content: '';
    position: absolute;
    bottom: 0;
    display: inline-block;
    width: 30%;
    height: 3px;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    background-color: #000000;
}
.kasou-contents-text p {
    font-size: 2.5rem;
    line-height: 36.31px;
    font-weight: 400;
}
.kasou-contents-text span {
    font-weight: 700;
}

/* 背景画像の位置設定 */
.about-us > img {
    position: absolute;
    z-index: -1;
}
.kasou-top_left {
    width: 12%;
    top: -3%;
    left: 0%;
}
.kasou-top_right {
    width: 5%;
    top: 12%;
    right: 0%;
}
.kasou-middle_bottom {
    width: 8%;
    top: 45%;
    right: 4%;
}
.kasou-bottom_left {
    width: 12%;
    bottom: -7%;
    left: 0%;
}
.kasou-top_right_sp,.kasou-bootom_left_sp,.kasou-top_left_sp,.kasou-bottom_right_sp {
    display: none;
}

@media screen and (max-width: 700px) {
    .about-us {
    margin: 5rem auto 10rem;
    z-index: 1;
    }
    .kasou-contents-img img {
        height: 160px;
        object-position: center!important;
    }
    .kasou-contents-text {
        padding: 4rem 2rem 4rem;
        text-align: center;
    }
    .kasou-contents-text h3 {
        font-size: 3.3rem;
        Line-height: 39.94px;
        text-align: start;
        margin-bottom: 3rem;
        padding-bottom: 3rem;
    }
    .kasou-contents-text h3:before {
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        width: 50%;
        height: 1px;
    }
    .kasou-contents-text p {
        font-size: 2rem;
        Line-height: 27.15px;
        text-align: start;
    }
    .wrap-kasou:first-child {
    margin-bottom: 5rem;
    }
    .center {
        text-align: center!important;
    }
    .kasou-top_left,.kasou-top_right,.kasou-middle_bottom,.kasou-bottom_left {
        display: none;
    }
    .kasou-top_right_sp,.kasou-bootom_left_sp,.kasou-top_left_sp,.kasou-bottom_right_sp {
        display: block;
        position: absolute;
    }
    .kasou-top_right_sp {
        width: 17%;
        top: -2%;
        right: 0%;
    }
    .kasou-bootom_left_sp {
        width: 12%;
        bottom: -7%;
        left: 0%;
    }
    .kasou-top_left_sp {
        width: 11%;
        top: 8%;
        left: 0%;
    }
    .kasou-bottom_right_sp {
        width: 12%;
        bottom: -2%;
        right: 0%;
    }
}
@media screen and (max-width: 450px) {
.kasou-contents-text h3 {
    font-size: 2.6rem;
}
}



/***********************
    footer
***********************/

.kasou-footer {
    background-color: #000000;
}
.kasou-btn {
    width: 80%;
    margin: 0 auto;
    padding: 8rem 0;
    display: flex;
    justify-content: space-between;
}
.kasou-btn_detail {
    width: 45%;
}
.kasou-btn_detail a {
    display: block;
}
.kasou-btn_text {
    background-color: #FFFFFF;
    padding: 5rem;
    border-radius: 1.5rem;
    position: relative;
}
.kasou-btn_text::before {
    content: url(../img/kasou-arrow.png);
    position: absolute;
    top: 50%;
    right: 8%;
}
.kasou-btn_text span {
    display: block;
}
.kasou-btn_text span:first-child {
    font-size: 5rem;
    font-weight: 600;
    color: #FF3333;
    text-shadow: 0px 3px 4px rgba(0, 0, 0,0.2);
}
.kasou-btn_text span:last-child {
    font-size: 3rem;
    font-weight: 500;
}
.footer-nav {
    width: 90%;
    margin: 0 auto;
}
.footer-nav ul {
    display: flex;
    justify-content: end;
}
.footer-nav ul li {
    font-size: 2.5rem;
    font-weight: 600;
    margin-left: 8rem;
    color: #FFFFFF;
}
.footer-bottom {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
}
.footer-bottom p {
    width: 50%;
    font-size: 2rem;
    line-height: 24px;
}
.footer-bottom > div {
    width: 20%;
}
.footer-bottom > ul {
    width: 30%;
    display: flex;
    justify-content: end;
}
.footer-bottom > ul li {
    margin-right: 3rem;
    font-size: 3rem;
    color: #FFFFFF;
    line-height: 48px;
}
.kasou-footer_sp {
    display: none;
}
@media screen and (max-width: 1245px) {
    .kasou-btn_text span:first-child {
        font-size: 3rem;
    }
    .kasou-btn_text span:last-child {
        font-size: 2rem;
    }
}
@media screen and (max-width: 950px) {
    .kasou-btn_text::before {
        top: 80%;
        right: 12%;
    }
}


@media screen and (max-width: 700px) {
    .kasou-btn {
        flex-direction: column;
        width: 85%;
    }
    .kasou-btn_detail {
        width: 100%;
    }
    .kasou-btn_detail:first-child {
        margin-bottom: 5rem;
    }
    .kasou-btn_text {
        padding: 3rem 3rem 6rem 3rem;
    }
    .kasou-btn_text span:first-child {
        font-size: 3rem;
    }
    .kasou-btn_text span:last-child {
        font-size: 2rem;
    }
    .kasou-btn_text::before {
        top: 80%;
        right: 12%;
    }
    .footer-bottom p {
        font-size: 1rem;
        width: 50%;
        line-height: 18.15px;
    }
    .footer-bottom > ul {
        width: 50%;
        flex-direction: column;
    }
    .footer-bottom > ul li {
        font-size: 1.5rem;
        line-height: 18.15px;
        margin-bottom: 1rem;
        text-align: end;
        margin-right: 0;
    }
    .footer-nav {
        width: 80%;
    }
    .footer-nav ul {
        flex-direction: column;
    }
    .kasou-footer_pc {
        display: none;
    }
    .kasou-footer_sp {
        display: block;
    }
    .footer-nav {
        display: flex;
    }
    .footer-nav ul {
        width: 50%;
    }
    .footer-nav ul:first-child {
        width: 50%;
        justify-content: flex-start;
    }
    .footer-nav ul:first-child li {
        font-size: 2rem;
        font-weight: 400;
    }
    .footer-nav ul li {
        margin-left: 0;
    }
    .footer-nav ul:last-child li {
        text-align: end;
    }
    .footer-bottom > div {
        width: 50%;
    }
}




/* * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * 


アニメーション


* * * * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * */

/* その場で */
.fadeIn{
    animation-name:fadeInAnime;
    animation-duration:3s;
    animation-fill-mode:forwards;
    opacity:0;
    }
    
    @keyframes fadeInAnime{
        from {
        opacity: 0;
    }
        to {
        opacity: 1;
    }
}
    
    /* 下から */
    
.fadeUp{
    animation-name:fadeUpAnime;
    animation-duration:3s;
    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:3s;
    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:3s;
    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:3s;
    animation-fill-mode:forwards;
    opacity:0;
}
    
    @keyframes fadeRightAnime{
        from {
        opacity: 0;
        transform: translateX(100px);
    }
        to {
        opacity: 1;
    transform: translateX(0);
    }
}

.thanks {
    width: 30%;
    margin: 0 auto;
}
.thanks > div {
    width: 50%;
    margin: 5rem auto;
}
.thanks-main {
    text-align: center;
    width: 80%;
    margin: 0 auto;
}
.thanks-main h2 {
    color: #FF3333;
    font-size: 3rem;
}
.thanks-main p {
    margin: 3rem 0;
    font-size: 2rem;
}
.thanks-main a {
    color: blue;
}

.thanks {
    width: 30%;
    margin: 0 auto;
}
.thanks > div {
    width: 50%;
    margin: 5rem auto;
}
@media screen and (max-width: 700px) {
    .thanks {
        width: 50%;
        margin: 0 auto;
    }
    .thanks > div {
        width: 100%;
        margin: 5rem auto;
    }
    .thanks-main h2 {
        font-size: 2rem;
    }
    .thanks-main p {
        margin: 3rem 0;
        font-size: 1.6rem;
    }
    }


/* * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * 


アニメーション


* * * * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * */

/* その場で */
.fadeIn{
    animation-name:fadeInAnime;
    animation-duration:3s;
    animation-fill-mode:forwards;
    opacity:0;
    }
    
    @keyframes fadeInAnime{
        from {
        opacity: 0;
    }
        to {
        opacity: 1;
    }
}
    
    /* 下から */
    
.fadeUp{
    animation-name:fadeUpAnime;
    animation-duration:3s;
    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:3s;
    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:3s;
    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:3s;
    animation-fill-mode:forwards;
    opacity:0;
}
    
    @keyframes fadeRightAnime{
        from {
        opacity: 0;
        transform: translateX(100px);
    }
        to {
        opacity: 1;
    transform: translateX(0);
    }
}


/* CEO MESSAGE */

.ceo-message {
    position: relative;
}

.ceo-inner::before {
    position: absolute;
    content: "";
    top: 50px;
    right: 0;
    width: 94px;
    height: 94px;
    background-image: url(../img/foam-big.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.ceo-message::after {
    position: absolute;
    content: "";
    top: 150px;
    right: 130px;
    width: 50px;
    height: 50px;
    background-image: url(../img/foam-small.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.kasou-ceo .kasou-title h2::before {
    content: "代表より";
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;

}

.ceo-wrap {
    margin-bottom: 0;
}

.ceo-inner {
    max-width: 1040px;
    width: 90%;
    margin: 0 auto;
    padding: 124px 0 185px 0;
    position: relative;
}

.ceo-message h2 {
    font-size: 2rem;
    letter-spacing: 2px;
    font-weight: 600;
}

.ceo-message h3 {
    font-size: 1.6rem;
    letter-spacing: 1.6px;
    font-weight: 600;
}

.ceo-item {
    margin-top: 90px;
}

.ceo-item p {
    margin-top: 40px;
    line-height: 36px;
    font-size: 1.4rem;
    letter-spacing: 1.4px;
}

.ceo-name {
    margin-top: 100px;
    text-align: right;
    font-size: 1.6rem;
    letter-spacing: 1.6px;
    font-weight: 600;
}

.ceo-name span {
    font-size: 2rem;
    letter-spacing: 2px;
    margin-left: 10px;
}

.ceo-sns {
    display: flex;
    justify-content: end;
    align-items: center;
    margin-top: 20px;
}

.ceo-sns a {
    display: inline-block;
    width: 63.54px;
    height: auto;
    font-size: 10px;
    text-align: center;
    margin-left: 10px;
}

.ceo-sns a img {
    width: 100%;
}

@media screen and (max-width: 750px) {
    .ceo-inner {
        width: 100%;
        padding: 40px 30px;
    }
    .ceo-inner::before {
        display: none;
    }
    
    .ceo-message::after {
        display: none;
    }

    .ceo-message h2 {
        line-height: 40px;
    }

    .ceo-item {
        margin-top: 52px;
    }

    .ceo-item:first-child {
        margin-top: 25px;
    }

    .ceo-item p {
        margin-top: 24px;
        font-size: 1.2rem;
        letter-spacing: 1.2px;
        line-height: 26px;
    }

    .ceo-name {
        font-size: 0.8rem;
        letter-spacing: 0.8px;
        margin-top: 40px;
    }
    
    .ceo-name span {
        font-size: 1.4rem;
        letter-spacing: 1.4px;
        margin-left: 33px;
    }

    .ceo-sns a {
        display: inline-block;
        width: 47.71px;
        height: auto;
    }

    .ceo-btn {
        margin: 55px 0;
    }
}

.shop-peace-img {
    width: 40%;
}

.shop-op3-img {
    width: 70%;
}

@media screen and (max-width: 750px) {
    .shop-peace-img {
        width: 80%;
    }
    .shop-op3-img {
        width: 70%;
    }
}

.contact-top-img {
    width: 100%;
    height: 550px;
    object-fit: cover;
    border-radius: 20px;
}

@media screen and (max-width: 750px) {
    .contact-top-img {
        width: 100%;
        height: 177px;
        object-fit: cover;
        border-radius: 20px;
    }
    .contact-title {
        top: 75px;
    }
}

.contact-fv {
    max-width: 1040px;
    margin: 0 auto;
}

.contact-fv .kasou-title {
    left: 0px;
}

@media screen and (max-width: 1150px) {
    .contact-fv .kasou-title {
        left: 5%;
    }
}

@media screen and (max-width: 750px) {
    .contact-fv .kasou-title {
        left: 5%;
    }
}

/* 12/22 */

.recruit-info-left h3 {
    font-size: 24px;
    letter-spacing: 2.4px;
    line-height: 1.5;
    color: #212529;
    font-weight: bold;
    margin-bottom: 40px;
}

.recruit-info-h3 {
    margin-top: 70px;
}

.recruit-info-left p {
    margin-bottom: 25px;
}

.recruit-info-left p span {
    display: inline-block;
    font-weight: bold;
    color: #C3B27E;
}

/* 1/11 */
.footer-sns {
    width: 90%;
    max-width: 600px;
    margin: 0 auto;
    margin-top: 40px;
    font-size: 1.4rem;
    color: #FFFFFF;
    letter-spacing: 5.6px;
    display: flex;
    flex-direction: column;
}

.footer-insta ,.footer-tiktok {
    display: flex;
    justify-content: space-between;
}

.footer-tiktok {
    margin-top: 20px;
}

.footer-insta li, .footer-tiktok li {
    position: relative;
    padding-left: 30px;
}

.footer-insta li::before {
    position: absolute;
    content: "";
    bottom: 0;
    top: 0;
    margin: auto;
    left: 0;
    width: 20px;
    height: 20px;
    background-image: url(../img/instagram_logo.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.footer-tiktok li::before {
    position: absolute;
    content: "";
    bottom: 0;
    top: 0;
    margin: auto;
    left: 0;
    width: 20px;
    height: 20px;
    background-image: url(../img/tiktok.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 100;
}

.footer-spbr {
    display: none;
}

@media screen and (max-width: 750px) {
    .footer-sns {
        font-size: 1.2rem;
        letter-spacing: 4.8px;
        display: flex;
        flex-direction: initial;
        justify-content: space-between;
        max-width: 375px;
    }
    .footer-insta ,.footer-tiktok {
        flex-direction: column;
        gap: 15px;
    }
    .footer-tiktok {
        margin-top: 0;
    }
}
@media screen and (max-width: 500px) {
    .footer-spbr {
        display: block;
    }
    .footer-sns {
        width: 80%;
        font-size: 1rem;
    }
}

.recruit-link {
    font-size: 1.4rem;
    letter-spacing: 1.6px;
    margin-top: 30px;
    display: inline-block;
    border-bottom: 1px solid #333333;
}

.apeace-logo {
    position: relative;
}

.apeace-logo::before {
    position: absolute;
    content: "";
    right: 0;
    width: 1px;
    height: 100%;
    background-color: #FFFFFF;
}

#shop-hamburger-menu {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 80px;
    height: 50px;
    z-index: 10000;
}

@media screen and (max-width: 750px) {
    #shop-hamburger-menu {
        width: 30px;
        height: 30px;
    }
}

/* ------------------------------
    thanksページ
------------------------------ */
.thank {
    width: 70%;
    margin: 50px auto;
    text-align: center;
}
.thank h2 {
    font-size: 30px;
    color: #C3B27E;
    text-align: center;
}
.thank p {
    margin: 15px 0;
    text-align: center;
}
.thank a {
    color: blue;
    border-bottom: solid 1px blue;
    text-align: center;
}