@charset "utf-8";
/*****************************************************

全ての要素をリセット
各ブラウザの表示を統一するための設定です

*****************************************************/
html {overflow-y: scroll;scroll-behavior: smooth;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {margin: 0;padding: 0;outline:0;}
address,caption,cite,code,dfn,em,strong,th,var {font-style: normal;}
table {	border-collapse: collapse;border-spacing: 0;}
caption,p {text-align: left;}
h1,h2,h3,h4,h5,h6 {font-size: 100%;text-align:left;}
img,abbr,acronym,fieldset {border: 0;}
li {list-style-type: none;}
img{vertical-align:middle;}
.line {font-size:1px;line-height:1px;}

body {
    color: rgb(35, 24, 21);
    font-family: "Zen Maru Gothic", "Noto Sans JP","メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, Arial, Helvetica, sans-serif;
    line-height: 2em;
    letter-spacing: 0.05em;
    text-size-adjust: 100%;
}
table {border-collapse: collapse;}
.float_left {
    display: block;float: left;}
.float_right {
    display: block;float: right;}
.float_left_space {
    display: block;
    float: left;
    margin-right: 30px;
}
.float_right_space {
    display: block;
    float: right;
    margin-left: 30px;
}
.clear{clear:both;}
.w90{width:90%;}
.w80{width:80%;}
.w75{width:75%;}
.w70{width:70%;}
.w65{width:65%;}
.w60{width:60%;}
.w55{width:55%;}
.w50{width:50%;}
.w45{width:45%;}
.w40{width:40%;}
.w35{width:35%;}
.w30{width:30%;}
.w25{width:25%;}
.w20{width:20%;}
.min{font-family:"Zen Maru Gothic","游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}
.f-g{font-family:"Zen Maru Gothic","Noto Sans JP","メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, Arial, Helvetica, sans-serif;}

.jyunbi {
    width: 95%;
    max-width: 1200px;
    margin: 0px auto;
    text-align: center;
    font-size: 2.5em;
    line-height: 1.8;
    padding: 15rem 0px;
}

.grecaptcha-badge {
    box-shadow: gray 0px 0px 0px !important;
}

.grecaptcha-logo {
    display: none;
}
/*****************************************************

コンテンツ

*****************************************************/
#wrap {
    width: 100%;
    height: auto;
    margin: 0px auto;
}

a:link {
    color: rgb(255, 255, 255);
    text-decoration: none;
}

a:visited {
    color: rgb(255, 255, 255);
    text-decoration: none;
}

.page a:link, .page a:visited {
    color: rgb(0, 0, 0);
}

a:hover {
    text-decoration: none;
    color: rgb(0, 0, 0);
}

a:active {
    text-decoration: none;
    color: rgb(0, 0, 0);
}

.clear::after {
    visibility: hidden;
    display: block;
    font-size: 0px;
    content: " ";
    clear: both;
    height: 0px;
}

* html .clear {
    zoom: 1; }

:first-child + html .clear {
    zoom: 1; }

a, a img {
    transition: 0.3s ease-in-out;
}

a img:hover, .shopnav a:hover, .foot-nav a:hover {
    opacity: 0.6;
}

a[href^="tel:"] {
    pointer-events: none;
    color: rgb(0, 0, 0);
}

@media screen and (max-width: 768px) {
    a[href^="tel:"] {
        pointer-events: auto !important;
    }
}

.bt-a {
    text-align: center;
    margin: 20px auto;
}

.bt-a a {
    display: inline-block;
    text-align: center;
    border: 2px solid rgb(35, 24, 21);
    background: rgb(255, 255, 255);
    box-sizing: border-box;
    padding: 5px 4em;
    font-size: 90%;
    border-radius: 50px;
    box-shadow: rgb(35, 24, 21) 2px 2px 0px 0px;
    transition: 0.3s ease-in-out;
}

.bt-a a:hover {
    box-shadow: rgb(35, 24, 21) 5px 5px 0px 0px;
}

.nen {
    font-size: 0.8em;
}
/*****************************************************

メインヘッダー

*****************************************************/
header {
    width: 100%;
    margin: 0px auto;
    position: fixed;
    top: 0px;
    z-index: 5;
}

header.scrolled {
    box-shadow: rgba(0, 0, 0, 0.22) 0px 6px 8px -5px;
}

header::after {
    position: absolute;
    content: "";
    width: 110%;
    height: 170px;
    top: -15px;
    left: -5%;
    filter: blur(20px);
}

header .header-contents {
    width: 95%;
    max-width: 1200px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    position: relative;
    z-index: 1;
    margin: 0px auto;
    padding: 2rem 0rem;
    top: 0px;
    left: 0px;
    box-sizing: border-box;
}

header .head-logo {
    width: 20%;
    max-width: 80px;
}

header .head-logo a img {
    width: 100%;
    min-width: 80px;
    height: auto;
}

header .overlay-contents {
    width: 100%;
    position: relative;
}

.dr-menu, .dr-menu ul {
    list-style: none;
    margin: 0px;
    padding: 0px;
}

.dr-menu a {
    text-decoration: none;
}

@media (min-width: 901px) {
    .dr-menu li:last-child {
        display: none;
    }
.dr-menu .has-child ul li:last-child{
    display: block;
}
    .sns {
        display: none;
    }
}

@media (min-width: 901px) {
    .openbtn, .menu-overlay {
        display: none;
    }

    .menu-content {
        position: static;
        width: auto;
        max-width: none;
        background: transparent;
        padding: 0px;
    }

    .dr-menu .has-child {
        position: relative;
    }

    .dr-menu .has-child ul {
        position: absolute;
        top: calc(100% + 10px);
        left: 50%;
        margin-left: -100px;
        min-width: 200px;
        background: rgb(255, 255, 255);
        border: 1px solid rgba(0, 0, 0, 0.12);
        box-shadow: rgba(0, 0, 0, 0.14) 0px 10px 28px;
        border-radius: 5px;
        padding: 8px 0px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-6px);
        transition: opacity 0.18s, transform 0.18s, visibility 0.18s;
        z-index: 50;
    }

    .dr-menu .has-child:hover > ul {
        opacity: 1;
        visibility: visible;
        transform: translateY(0px);
    }

    .dr-menu .has-child > ul li a {
        padding: 10px 12px;
    }

    .dr-menu .has-child > ul li a:hover {
        background: rgba(0, 0, 0, 0.06);
    }
}

@media (max-width: 900px) {
    .openbtn {
        width: 44px;
        height: 44px;
        cursor: pointer;
        position: relative;
        z-index: 1002;
    }

    .openbtn span {
        position: absolute;
        left: 10px;
        right: 10px;
        height: 2px;
        background: rgb(17, 17, 17);
        border-radius: 2px;
        transition: transform 0.25s, top 0.25s, opacity 0.2s;
    }

    .openbtn span:nth-child(1) {
        top: 13px;
    }

    .openbtn span:nth-child(2) {
        top: 21px;
    }

    .openbtn span:nth-child(3) {
        top: 29px;
    }

    .overlay-contents.is-open .openbtn span:nth-child(1) {
        top: 21px;
        transform: rotate(45deg);
    }

    .overlay-contents.is-open .openbtn span:nth-child(2) {
        opacity: 0;
    }

    .overlay-contents.is-open .openbtn span:nth-child(3) {
        top: 21px;
        transform: rotate(-45deg);
    }

    .menu-overlay {
        position: fixed;
        inset: 0px;
        background: rgba(0, 0, 0, 0.5);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.25s;
        z-index: 1000;
    }

    .overlay-contents.is-open .menu-overlay {
        opacity: 1;
        pointer-events: auto;
    }

    .menu-content {
        width: min(86vw, 360px);
        background: rgb(255, 255, 255);
        z-index: 1001;
        overflow-y: auto;
    }

    header .sns {
        margin-top: 16px;
    }

    header .sns ul {
        display: flex;
        gap: 12px;
        padding: 0px;
        margin: 0px;
    }

    header .sns li a {
        display: inline-block;
        width: 20px;
        height: 20px;
        border-radius: 999px;
    }

    .dr-menu .has-child {
        cursor: pointer;
        position: relative;
    }

    .dr-menu .has-child > ul {
        max-height: 0px;
        overflow: hidden;
        transition: max-height 0.4s;
    }

    .dr-menu .has-child.is-open > ul {
        max-height: 500px;
    }

    .dr-menu .has-child > ul li a {
        display: block;
        padding: 8px 6px;
        font-size: 14px;
    }
}
/*****************************************************

ドロワーメニュー

*****************************************************/
.menu-content .sns {
    display: none;
}

.menu-content ul.dr-menu {
    width: 80%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-left: 20%;
    justify-content: flex-start;
}

.menu-content ul.dr-menu li {
    width: 13%;
    margin: 0px auto;
    line-height: 1.5em;
    text-align: center;
    color: rgb(255, 255, 255);
}

.page-h .menu-content ul.dr-menu li a {
    color: rgb(35, 24, 21);
}

.menu-content ul.dr-menu li::after {
    content: "";
}

.menu-content ul.dr-menu li:nth-child(2) {
    width: 23%;
}

.menu-content ul.dr-menu li:nth-child(4), .menu-content ul.dr-menu li:nth-child(6) {
    width: 18%;
}

.menu-content ul.dr-menu li.has-child ul li {
    width: 100%;
    color: rgb(35, 24, 21);
}

.menu-content ul.dr-menu li.has-child ul li a {
    color: rgb(35, 24, 21);
}

.menu-content ul.dr-menu li.has-child ul li a:hover {
    color: rgb(255, 255, 255);
}

.menu-content ul.dr-menu li.has-child ul li:last-child {
    width: 100%;
    border-bottom: 0px;
}

.menu-content ul.dr-menu li.buy a::after {
    content: "";
    padding: 8px;
    background: url("../image/common/cart-w.svg") center center / 100% no-repeat;
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -8px;
}

.menu-content ul.dr-menu li a {
    display: block;
    border: 0px;
    padding: 0.4rem 0.3rem;
    text-align: center;
    position: relative;
    border-radius: 5px;
    font-size: 0.85em;
}

.menu-content ul.dr-menu li a:hover {
    background: rgb(35, 24, 21);
    color: rgb(255, 255, 255);
}

.menu-content .logo-sp {
    display: none;
}

.page ul.dr-menu li:nth-child(4) a, .page ul.dr-menu li {
    color: rgb(35, 24, 21);
}

.page ul.dr-menu li:nth-child(4) a:hover, .page ul.dr-menu li:hover {
    color: rgb(255, 255, 255);
}

.page ul.dr-menu li:nth-child(3):hover {
    color: rgb(35, 24, 21);
}

.page ul.dr-menu li.buy a::after {
    background: url("../image/common/cart.svg") center center no-repeat;
    transition: 0.3s ease-in-out;
}

.page ul.dr-menu li.buy a:hover::after {
    background: url("../image/common/cart-w.svg") center center no-repeat;
}

.page ul.dr-menu li:nth-child(6) a {
    background: rgb(35, 24, 21);
    color: rgb(255, 255, 255);
    cursor: pointer;
}

@media screen and (max-width: 900px) {
    .menu-content {
        float: right;
        width: 100%;
        max-width: 100%;
        position: fixed;
        left: 0px;
        bottom: 100%;
        height: 100%;
        background: rgb(236, 232, 224);
        z-index: 10;
        backdrop-filter: blur(10px);
        overflow-y: auto;
        transition: bottom 0.5s ease-in-out;
    }

    .menu-content.show {
        bottom: 0px;
        left: 0px;
    }

    .menu-content .logo-sp {
        display: block;
        width: 100%;
        max-width: 120px;
        margin: 3rem auto 0px;
    }

    .menu-content ul.dr-menu {
        width: 100%;
        max-width: 900px;
        margin: 5rem 0px 0px;
        float: none;
    }

    .menu-content ul.dr-menu a {
        color: rgb(35, 24, 21);
    }

    .menu-content ul.dr-menu a:hover {
        color: rgb(255, 255, 255);
    }

    .menu-overlay {
        position: fixed;
        bottom: -99999px;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0);
        z-index: -1;
        transition: background 1s, z-index 1s;
    }

    .menu-overlay.show {
        left: 0px;
        background-color: rgba(0, 0, 0, 0.6);
        z-index: 10;
        transition: background-color 1s, z-index;
    }

    .menu-content ul.overlay-menu {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: stretch;
        width: 90%;
        margin: 5% auto 20%;
    }

    .overlay-menu li {
        width: 30%;
        margin: 1.666%;
    }

    .menu-content ul.dr-menu {
        display: block;
    }

    .menu-content .head-rogo {
        width: 220px;
        margin: 20px auto;
    }

    .menu-content .head-rogo a {
        display: block;
        width: 220px;
    }

    .menu-content ul {
        margin: 20px;
        font-size: 90%;
    }

    .menu-content ul.dr-menu li.buy a::after {
        content: "";
        padding: 8px;
        background: url("../image/common/cart.svg") center center / 100% no-repeat;
        position: absolute;
        top: 50%;
        right: unset;
        left: 110px;
        transition: 0.3s ease-in-out;
    }

    .menu-content ul.dr-menu li.buy a:hover::after {
        background: url("../image/common/cart-w.svg") center center no-repeat;
    }

    .menu-content ul.dr-menu li:nth-child(2), .menu-content ul.dr-menu li:nth-child(4), .menu-content ul.dr-menu li:nth-child(6), .menu-content ul.dr-menu li {
        width: 90%;
        line-height: 1.5em;
        text-align: left;
        margin: 0px auto;
        padding: 0px;
        border-bottom: 1px solid rgb(35, 24, 21);
        position: relative;
    }

    .menu-content ul li ul li:first-child {
        border-top: 1px solid rgb(35, 24, 21);
        margin-top: 0.5rem;
    }

    .menu-content ul.dr-menu li::after {
        content: "";
        position: absolute;
        top: 1.3rem;
        right: 1.3rem;
        background: url("../image/common/menu-kazari.svg") center center no-repeat;
        padding: 1rem;
    }

    .menu-content ul.dr-menu li:nth-child(3) {
        width: 90%;
        margin: 0px auto;
        padding: 1.5rem 0px 0px 1.5rem;
        box-sizing: border-box;
        color: rgb(35, 24, 21);
        font-weight: 600;
    }

    .menu-content ul.dr-menu li:nth-child(3) ul {
        margin: 0.8rem auto;
    }

    .menu-content ul.dr-menu li.has-child ul li:nth-child(3) {
        padding: 0px;
    }

    .menu-content ul.dr-menu li a {
        display: block;
        padding: 1.5rem 0px 1.5rem 1.5rem;
        text-align: left;
        font-size: 0.9em;
        font-weight: 600;
    }

    .menu-content ul.dr-menu li span {
        display: contents;
    }

    .menu-content ul li ul li a:hover {
        background: rgb(204, 204, 204);
        border-radius: 0px;
        color: rgb(255, 255, 255);
    }

    .menu-content ul.dr-menu li a:hover, .menu-content ul.dr-menu li:last-child a:hover {
        background: rgb(204, 204, 204);
        border-radius: 0px;
        border: 0px;
    }

    .menu-content .sns {
        display: block;
    }

    .menu-content .sns ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        width: 90%;
        margin: 2rem auto 0px;
    }

    .menu-content .sns ul li a {
        display: block;
        cursor: pointer;
    }

    .menu-content .sns ul li:first-child a {
        background: url("../image/common/ic-fb.svg") center center / 100% no-repeat;
        padding: 15px;
    }

    .menu-content .sns ul li:last-child a {
        background: url("../image/common/ic-insta.svg") center center / 100% no-repeat;
        padding: 15px;
    }

    .openbtn {
        position: fixed;
        top: 1.5rem;
        right: 1.5rem;
        cursor: pointer;
        width: 55px;
        height: 55px;
        background: rgb(255, 255, 255);
        border-radius: 50px;
        z-index: 11;
    }

    .openbtn span {
        display: inline-block;
        transition: 0.4s;
        position: absolute;
        left: 14px;
        height: 1.5px;
        background: rgb(35, 24, 21);
        width: 50%;
    }

    .openbtn.active span {
        background: rgb(35, 24, 21);
    }

    .openbtn span:nth-of-type(1) {
        top: 20px;
    }

    .openbtn span:nth-of-type(2) {
        top: 27px;
    }

    .openbtn span:nth-of-type(3) {
        top: 34px;
    }

    .openbtn.active span:nth-of-type(1) {
        width: 50%;
        top: 20px;
        left: 12px;
        transform: translateY(6px) rotate(-45deg);
    }

    .openbtn.active span:nth-of-type(2) {
        opacity: 0;
    }

    .openbtn.active span:nth-of-type(3) {
        width: 50%;
        top: 32px;
        left: 13px;
        transform: translateY(-6px) rotate(45deg);
    }

    .page ul.dr-menu li:nth-child(6) a {
        background: rgba(35, 24, 21, 0);
        color: rgb(35, 24, 21);
        cursor: pointer;
    }

    .page ul.dr-menu li:nth-child(6) a:hover {
        background: rgb(204, 204, 204);
        border-radius: 0px;
        color: rgb(255, 255, 255);
    }
}

@media screen and (max-width: 600px) {
    .overlay-menu li {
        width: 44%;
        margin: 2% 3%;
        font-size: 85%;
        line-height: 1.5em;
    }

    .menu-content ul.overlay-privacy li {
        width: 100%;
    }

    .menu-content ul.overlay-privacy li:first-child {
        padding: 0px 0px 10px;
        border-right: 0px solid;
        margin-right: 0%;
    }

    .openbtn {
        transform: scale(0.9);
        top: 1rem;
        right: 0.75rem;
    }
}
/*****************************************************

フッター

*****************************************************/
footer {
    background: rgb(236, 232, 224);
    padding: 5rem 0px;
    border-top: 1.5px solid rgb(255, 255, 255);
}

footer .ft-logo {
    width: 80px;
    margin: 0px auto 30px;
}

.foot-menu ul li a {
    color: rgb(35, 24, 21);
    display: block;
}

.foot-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 90%;
    max-width: 1200px;
    margin: 0px auto 2rem;
    line-height: 1.8;
}

.foot-inner .ft-info {
    width: 20%;
    font-size: 0.9em;
}

.foot-inner .ft-info span {
    font-weight: 500;
    font-size: 1.2em;
    line-height: 2.5;
}

.foot-inner .rbox {
    width: 60%;
}

.ft-info p a {
    color: rgb(35, 24, 21);
}

.foot-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    width: 100%;
    justify-content: center;
}

.foot-menu ul {
    width: 33.33%;
}

.foot-menu ul li {
    font-size: 0.9em;
    text-indent: -1em;
    padding-left: 1em;
}

.foot-menu ul li.m-work::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0px 0.5rem 0px 0px;
    border-radius: 50%;
    background: rgb(35, 24, 21);
}

.foot-menu ul li a::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0px 0.5rem 0px 0px;
    border-radius: 50%;
    background: rgb(35, 24, 21);
}

.foot-menu ul li ul {
    width: 100%;
}

.foot-menu ul li ul li {
    font-size: 1em;
    text-indent: -1em;
    padding-left: 1em;
}

.foot-menu ul li ul li a::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 25vh;
    font-size: 1em;
    position: relative;
    top: -3px;
}

.foot-menu ul li ul li a:hover, .foot-menu ul li a:hover {
    color: rgb(255, 255, 255);
}

.ft-sns ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    width: 90%;
    margin: 2rem auto 0px;
}

.ft-sns ul li {
    margin: 0px 0px 0px 0.5rem;
}

.ft-sns ul li a {
    display: block;
    cursor: pointer;
}

.ft-sns ul li a:hover {
    opacity: 0.6;
}

.ft-sns ul li:first-child a {
    background: url("../image/common/ic-fb.svg") center center / 100% no-repeat;
    padding: 28px;
}

.ft-sns ul li:last-child a {
    background: url("../image/common/ic-insta.svg") center center / 100% no-repeat;
    padding: 28px;
}

.copyright {
    width: 90%;
    max-width: 1200px;
    margin: 0px auto;
    font-size: 0.8em;
}

@media screen and (max-width: 900px) {
    .ft-info p a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
        color: rgb(35, 24, 21);
    }

    .foot-inner .ft-info {
        width: 100%;
        max-width: 250px;
        margin: 0px auto 3rem;
        font-size: 0.9em;
    }

    .foot-inner .rbox {
        width: 100%;
        margin: 0px auto;
    }

    .foot-menu ul li {
        font-size: 0.9em;
        text-indent: -1em;
        padding-left: 1em;
    }

    .foot-menu ul li ul li {
        font-size: 0.9em;
        text-indent: -1em;
        padding-left: 1em;
    }

    .ft-sns ul {
        width: 100%;
        justify-content: flex-start;
    }

    .copyright {
        text-align: center;
    }
}

@media screen and (max-width: 600px) {
    .foot-menu {
        display: flex;
        flex-flow: column wrap;
        justify-content: flex-start;
        align-items: flex-start;
        width: 100%;
        margin-left: 0px;
    }

    .foot-menu ul {
        width: 100%;
    }

    .foot-menu ul li.m-work {
        padding-top: 0.8rem;
    }

    .foot-menu ul li a {
        padding: 0.8rem 0px;
        cursor: pointer;
    }

    .foot-menu ul li {
        border-bottom: 1px solid rgb(35, 24, 21);
    }

    .foot-menu ul li ul li:last-child {
        border-bottom: 0px solid rgb(35, 24, 21);
    }

    .ft-sns ul {
        width: 100%;
        margin: 2rem auto 0px;
    }
}

.bg-box {
    width: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: -5;
}

.bg-box.bg-on {
    position: absolute;
}
.moviebox {
  width: 100%;
  max-height: 500px; /* 動画の高さを固定 */
  overflow: hidden;
}

.moviebox video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover; 
}

.bg-box video {
    width: 100%;
    height: 100vh;
    object-fit: cover;
}

.white {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100vw;
    height: 100vh;
    background: rgba(255, 255, 255, 0.85);
    opacity: 0;
    transition: opacity 0.4s;
    pointer-events: none;
    z-index: 2 !important;
}
/*****************************************************

メインコンテンツ

*****************************************************/
.content {
    width: 100%;
    position: relative !important;
}

.main-logo {
    height: 100vh;
}

.main-logo .box {
    position: sticky;
    top: 45vh;
    width: 100%;
    max-width: 350px;
    margin: 0px auto;
    display: flex;
    justify-content: center;
}

.main-logo .box .yoko {
    text-orientation: upright;
    color: rgb(255, 255, 255);
    font-size: clamp(1.5rem, 4vw, 2rem);
    line-height: 1.8;
    position: sticky;
    top: 45vh;
    text-align: center;
}

.main-logo .box span.small {
    text-orientation: mixed;
    font-size: clamp(0.95rem, 3vw, 1.5rem);
    margin-left: clamp(0.9rem, 3vw, 1rem);
}

.main-logo .box .yoko span {
    display: block;
    text-orientation: mixed;
}

.main-logo .box {
    width: 80%;
    max-width: 500px;
    animation: 1.5s ease-out 1s 1 normal forwards running fadeInBlur;
    opacity: 0;
}

@keyframes fadeInBlur {
    0% {
        opacity: 0;
        filter: blur(10px);
    }

    100% {
        opacity: 1;
        filter: blur(0px);
    }
}

.area_about {
    width: 100%;
    background: rgb(255, 255, 255);
    padding: 20rem 0px 25rem;
    margin: 30rem 0px 0px;
    overflow: hidden;
    transition: 0.3s ease-in-out;
}

.area_about .box {
    width: 95%;
    max-width: 1200px;
    margin: 0px auto;
    position: relative;
}

.area_about .box h2 {
    font-size: 1.8em;
    text-align: center;
}

.area_about .box h2 span {
    font-size: 1.5em;
    position: relative;
}

.area_about .box h2 span::before {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    position: absolute;
    top: -80px;
    left: 50%;
    transform: translate(-50%, -70px);
    opacity: 0;
}

.area_about .box.is-inview h2 span::before {
    opacity: 1;
    animation: 1.1s cubic-bezier(0.2, 0.8, 0.3, 1) 0s 1 normal both running bounceClean;
}

.area_about .box.is-inview h2 span.ten-b::before {
    animation-delay: 0.25s;
}

@keyframes bounceClean {
    0% {
        transform: translate(-50%, -70px);
        opacity: 0;
    }

    35% {
        transform: translate(-50%, 0px);
        opacity: 1;
    }

    55% {
        transform: translate(-50%, -32px);
    }

    70% {
        transform: translate(-50%, 0px);
    }

    85% {
        transform: translate(-50%, -12px);
    }

    100% {
        transform: translate(-50%, 0px);
    }
}

span.ten-a::before {
    background: rgb(221, 170, 156);
}

span.ten-b::before {
    background: rgb(212, 215, 162);
}

.area_about .box .text {
    max-width: 500px;
    margin: 0px auto;
    position: relative;
    z-index: 1;
}

.area_about .box .text p {
    text-align: center;
    padding: 3rem 0px;
}

.area_about .box .bt a {
    width: 100%;
    max-width: 200px;
    display: block;
    padding: 1rem 20px;
    margin: 0px auto;
    border-radius: 25vh;
    background: linear-gradient(45deg, rgb(179, 219, 240) 0%, rgb(242, 167, 200) 150%);
    text-align: center;
    transition: 0.5s ease-in-out;
    color: rgb(35, 24, 21);
}

.area_about .box .bt a:hover {
    opacity: 0.6;
    transition: 0.5s;
}

.kz-a {
    width: 400px;
    height: 400px;
    border-radius: 50vh;
    background: url("../image/front/home_garden.jpg") center center / cover no-repeat;
    position: absolute;
    top: -200px;
    left: -8%;
}

.kz-b {
    width: 200px;
    height: 200px;
    border-radius: 50vh;
    background: url("../image/front/friend.jpg") center center / cover no-repeat;
    position: absolute;
    top: -250px;
    right: -8%;
}

.kz-c {
    width: 300px;
    height: 300px;
    border-radius: 50vh;
    background: url("../image/front/brothers.jpg") center center / cover no-repeat;
    position: absolute;
    bottom: -50px;
    right: 3%;
}

.kz-a, .kz-b, .kz-c {
    position: absolute;
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 1.5s, transform 5s;
}

.kz-a.is-active, .kz-b.is-active, .kz-c.is-active {
    opacity: 1;
    transform: scale(1.1);
}

.kz-a.is-active {
    transition-delay: 0s;
}

.kz-b.is-active {
    transition-delay: 0.3s;
}

.kz-c.is-active {
    transition-delay: 0.6s;
}

@media screen and (max-width: 1100px) {
    .kz-a {
        width: 30vw;
        height: 30vw;
        top: -50px;
        left: -8%;
        transition: 0.3s ease-in-out;
    }

    .kz-b {
        width: 20vw;
        height: 20vw;
        top: -50px;
        right: -8%;
        transition: 0.3s ease-in-out;
    }

    .kz-c {
        width: 25vw;
        height: 25vw;
        bottom: -120px;
        right: 3%;
        transition: 0.3s ease-in-out;
        z-index: 1;
    }
}

@media screen and (max-width: 480px) {
    .area_about .box h2 span::before {
        content: "";
        display: inline-block;
        width: 20px;
        height: 20px;
        top: -30px;
        left: 50%;
        margin-left: 0px;
    }

    .area_about {
        padding: 8rem 0px 30rem;
        margin: 15rem 0px 0px;
        transition: 0.3s ease-in-out;
    }

    .area_about .box {
        width: 95%;
        letter-spacing: -0.05em;
    }

    .area_about .box h2 {
        font-size: 1.3em;
    }

    .kz-a {
        width: 150px;
        height: 150px;
        top: 440px;
        left: -12%;
        transition: 0.3s ease-in-out;
    }

    .kz-b {
        width: 120px;
        height: 120px;
        top: -50px;
        right: -20%;
        transition: 0.3s ease-in-out;
    }

    .kz-c {
        width: 200px;
        height: 200px;
        bottom: -300px;
        right: -8%;
        transition: 0.3s ease-in-out;
    }
}

@media screen and (max-width: 400px) {
    .area_about .box .text p {
        font-size: 0.8em;
    }
}

.area_work {
    width: 100%;
    position: relative;
    z-index: 0;
    background: rgb(242, 241, 234);
    padding: 5rem 0px;
}

.area_work::after {
    content: "";
    width: 100%;
    height: 100%;
    background: url("../image/front/kazari-hanen.png") center top / 200% no-repeat;
    position: absolute;
    top: -200px;
    left: 0px;
    z-index: -1;
}

.area_work .box {
    width: 95%;
    max-width: 1200px;
    margin: 0px auto;
}

.area_work .box h2 {
    font-size: 1.8em;
    text-align: center;
}

.area_work .box ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    margin: 5rem auto 0px;
}

.area_work .box ul li {
    width: 20%;
    line-height: 1.5;
    text-align: center;
    font-weight: 600;
}

.area_work .box ul li a {
    display: block;
    cursor: pointer;
    color: rgb(0, 0, 0);
    font-weight: 500;
}

.area_work .box ul li a span {
    display: block;
    font-size: 0.8em;
    font-weight: 400;
    padding: 0.6rem 0px 0px;
    color: rgb(114, 113, 113);
}

.area_work .box ul li a .ph {
    width: 100%;
    max-width: 180px;
    height: 180px;
    border-radius: 50vh;
    background: url("../image/front/bread.jpg") center center / 100% no-repeat;
    margin: 0px auto 1.5rem;
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.9s, transform 1.2s;
    will-change: opacity, transform;
}

.area_work .box ul li a .ph.is-active {
    opacity: 1;
    transform: scale(1.08);
}

@media (prefers-reduced-motion: reduce) {
    .area_work .box ul li a .ph {
        transition: none;
        transform: none;
        opacity: 1;
    }
}

.area_work .box ul li:nth-child(2) a .ph {
    background: url("../image/service/en-rencon-d.jpg") center center / cover no-repeat;
}

.area_work .box ul li:nth-child(3) a .ph {
    background: url("../image/front/puzzle.jpg") center center / cover no-repeat;
}

.area_work .box ul li:nth-child(4) a .ph {
    background: url("../image/front/heart.jpg") center center / cover no-repeat;
}

.area_work .box ul li:last-child a .ph {
    background: url("../image/front/cake.jpg") center center / cover no-repeat;
}

.scroll-a {
    overflow: hidden;
    width: 100%;
}

.area_work .box ul li:nth-child(1) .ph {
    transition-delay: 0s;
}

.area_work .box ul li:nth-child(2) .ph {
    transition-delay: 0.12s;
}

.area_work .box ul li:nth-child(3) .ph {
    transition-delay: 0.24s;
}

.area_work .box ul li:nth-child(4) .ph {
    transition-delay: 0.36s;
}

.area_work .box ul li:nth-child(5) .ph {
    transition-delay: 0.48s;
}

.scroll-list {
    display: flex;
    width: max-content;
    animation: 30s linear 0s infinite normal none running scroll-left;
    margin: 5rem 0px 4rem;
}

.scroll-list li {
    list-style: none;
    white-space: nowrap;
    padding: 0px 1rem;
    color: rgb(255, 255, 255);
    font-size: 2.5em;
    font-weight: 600;
}

@keyframes scroll-left {
    0% {
        transform: translateX(0px);
    }

    100% {
        transform: translateX(-50%);
    }
}

@media screen and (max-width: 1200px) {
    .area_work .box ul li {
        width: 18%;
        margin: 1%;
    }

    .area_work .box ul li a .ph {
        width: 15vw;
        height: 15vw;
        max-width: unset;
    }
}

@media screen and (max-width: 1000px) {
    .area_work::after {
        background-size: 150%;
        top: -170px;
    }
}

@media screen and (max-width: 800px) {
    .area_work .box {
        max-width: 500px;
    }

    .area_work .box ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }

    .area_work .box ul li {
        width: 50%;
        margin: 2rem 0px;
    }

    .area_work .box ul li a .ph {
        width: 160px;
        height: 160px;
        max-width: unset;
    }
}

@media screen and (max-width: 600px) {
    .area_work::after {
        background-size: 150%;
        top: -60px;
    }

    .area_work .box {
        max-width: 350px;
    }

    .area_work .box ul li a .ph {
        width: 120px;
        height: 120px;
    }
}

.area_shop {
    width: 100%;
    background: url("../image/front/bg-field.jpg") center center / cover no-repeat;
    padding: 8rem 0px;
    position: relative;
}

.area_shop .box h2 {
    font-size: 1.8em;
    text-align: center;
}

.slide-area {
    padding: 5rem 0px 0px;
    overflow: hidden;
}

.slide-area .slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    background: rgb(255, 255, 255);
    padding: 1.5vw 2vw;
    transition: 0.3s ease-in-out;
    margin-right: 1vw !important;
    margin-left: 1vw !important;
}

.slide-area .slick-active, .slide-area .slick-current {
    opacity: 1;
}

.slide-area .slick-list {
    overflow: visible;
}

.slide-area .slide-items {
    width: 90%;
    max-width: 900px;
    margin: 0px auto 5rem;
}

.slide-area .slide-items .slick-arrow {
    z-index: 2 !important;
}

.hako-w {
    flex-wrap: wrap;
    align-items: stretch;
    background: rgb(255, 255, 255);
    margin: 0px 1rem;
    padding: 1rem 0px;
    display: flex !important;
}

.hako-w .lbox {
    width: 50%;
}

.hako-w .lbox .photo {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.hako-w .lbox .photo img {
    width: 100%;
}

.hako-w .rbox {
    width: 45%;
    margin: 0px 0px 0px 5%;
    position: relative;
}

.hako-w .rbox .name {
    text-align: right;
    font-size: 0.85em;
    margin: 0px 0px 1rem;
}

.hako-w .rbox .text {
    font-size: 0.9em;
    line-height: 1.5;
    margin: 0px 0px 1rem;
}

.hako-w .rbox .ryokin {
    line-height: 1.5;
    position: absolute;
    bottom: 0px;
}

.hako-w .rbox .ryokin span {
    display: block;
    color: rgb(148, 148, 149);
}

.hako-w .rbox .en-bt a {
    background: url("../image/common/ic-cart.svg") center center / 100% no-repeat;
    padding: 20px;
    position: absolute;
    bottom: 0px;
    right: 0px;
    display: block;
}

.area_shop .bt a {
    width: 100%;
    max-width: 200px;
    display: block;
    padding: 1rem 20px;
    margin: 0px auto;
    border-radius: 25vh;
    background: linear-gradient(45deg, rgb(255, 255, 255) 0%, rgb(242, 167, 200) 150%);
    text-align: center;
    font-weight: 500;
    transition: 0.5s ease-in-out;
    color: rgb(35, 24, 21);
    position: relative;
}

.area_shop .bt a::before {
    content: "";
    padding: 10px;
    background: url("../image/common/cart.svg") center center / 100% no-repeat;
    position: absolute;
    top: 50%;
    right: 30px;
    margin-top: -10px;
}

.area_shop .bt a:hover {
    opacity: 0.6;
    transition: 0.5s;
}

@media screen and (max-width: 700px) {
    .hako-w .lbox {
        width: 100%;
        margin: 0px 0px 1rem;
    }

    .hako-w .rbox {
        width: 100%;
        margin: 0px;
        position: relative;
    }

    .hako-w .lbox .photo {
        width: 100%;
        height: auto;
        overflow: hidden;
    }

    .hako-w .rbox .name {
        text-align: right;
        position: absolute;
        right: 0px;
    }

    .hako-w .rbox .text {
        width: 100%;
        margin: 0px 0px 1rem;
    }

    .hako-w .rbox .ryokin {
        position: relative;
        bottom: 0px;
    }
}

@media screen and (max-width: 480px) {
    .hako-w .rbox .name {
        text-align: right;
        position: absolute;
        right: 0px;
        top: -20px;
    }

    .hako-w .rbox .text {
        width: 100%;
        margin: 1rem 0px;
        font-size: 0.8em;
    }
}

.area_job {
    width: 100%;
    background: rgb(255, 255, 255);
    padding: 0px 0px 5rem;
}

.job {
    width: 100%;
    background: rgb(255, 255, 255);
    padding-top: calc(80px + 10rem);
    padding-bottom: 10rem;
}

.job .box .tate {
    display: flex;
    justify-content: center;
}

.job .box .tate h2 {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: clamp(1.5rem, 4vw, 2rem);
    line-height: 1.8;
}

.job .box .tate h2 span {
    display: block;
}

.area_job .box .tate span.ten-bs::before, .area_job .box .tate span.ten-as::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    position: absolute;
    top: -80px;
    left: 50%;
    margin-left: -30px;
    transform: translate(-50%, -70px);
    opacity: 0;
}

.area_job .box .tate span.ten-bs::before {
    margin-left: 30px;
}

.area_job .box.is-inview .tate span::before {
    opacity: 1;
    transform: translateY(0px);
    animation: 1.1s cubic-bezier(0.2, 0.8, 0.3, 1) 0s 1 normal both running bounceCleans;
}

.area_job .box.is-inview .tate .ten-bs::before {
    animation-delay: 0.25s;
}

@keyframes bounceCleans {
    0% {
        transform: translate(-50%, -70px);
        opacity: 0;
    }

    35% {
        transform: translate(-50%, 0px);
        opacity: 1;
    }

    55% {
        transform: translate(-50%, -32px);
    }

    70% {
        transform: translate(-50%, 0px);
    }

    85% {
        transform: translate(-50%, -12px);
    }

    100% {
        transform: translate(-50%, 0px);
    }
}

span.ten-as::before {
    background: rgb(237, 229, 149);
}

span.ten-bs::before {
    background: rgb(183, 194, 224);
}

.area_job .hako-b, .area_job .hako-a {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
    max-width: 1200px;
    margin: 0px auto 8rem;
}

.area_job .hako-b .lbox, .area_job .hako-a .lbox {
    width: 50%;
    height: 45vh;
    background: url("../image/front/bread-a.jpg") center center / cover no-repeat;
}

.area_job .hako-b .lbox {
    background: url("../image/front/bento-a.jpg") center center / cover no-repeat;
}

.area_job .hako-b .lbox {
    order: 2;
}

.area_job .lbox img {
    width: 100%;
}

.area_job .rbox {
    width: 50%;
    position: relative;
}

.area_job .rbox {
    order: 1;
}

.area_job .rbox .text {
    width: 80%;
    max-width: 600px;
    margin: 0px 10% 2rem;
    line-height: 1.8;
}

.area_job .rbox .text h3 {
    font-size: 1.3em;
    font-weight: 500;
    padding: 0px 0px 1rem;
}

.area_job .rbox .text h3 span {
    display: block;
}

.area_job .rbox .bt {
    width: 80%;
    max-width: 200px;
    margin: 0px 10%;
}

.area_job .rbox .bt a {
    display: block;
    padding: 0.5rem 2rem;
    color: rgb(35, 21, 24);
    position: relative;
    border-radius: 25vh;
    border: 1px solid rgb(0, 0, 0);
    background: rgb(255, 255, 255);
}

.area_job .rbox .bt a:hover {
    background: rgb(245, 241, 233);
    color: rgb(35, 21, 24);
}

.area_job .rbox .bt a span::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    position: absolute;
}

.ten-al::before {
    background: rgb(237, 229, 149);
    top: 50%;
    right: 50px;
    margin: -5px 0px 0px;
}

.ten-br::before {
    background: rgb(183, 194, 224);
    top: 50%;
    right: 25px;
    margin: -5px 0px 0px;
}

.area_job .hako-b .rbox ul, .area_job .hako-a .rbox ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    width: 80%;
    height: 10vh;
    position: absolute;
    bottom: 0px;
    margin-left: 20%;
}

.area_job .hako-b .rbox ul {
    justify-content: flex-start;
    margin-left: 0%;
}

.area_job .hako-b .rbox ul li, .area_job .hako-a .rbox ul li {
    width: 33.33%;
}

.area_job .hako-b .rbox ul li img, .area_job .hako-a .rbox ul li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.area_job .hako-a .rbox ul li {
    width: 33.33%;
    background: url("../image/front/bread-b.jpg") center center / cover no-repeat;
}

.area_job .hako-a .rbox ul li:nth-child(2) {
    width: 33.33%;
    background: url("../image/front/bread-c.jpg") center center / cover no-repeat;
}

.area_job .hako-a .rbox ul li:last-child {
    width: 33.33%;
    background: url("../image/front/bread-d.jpg") center center / cover no-repeat;
}

.area_job .hako-b .rbox ul li {
    width: 33.33%;
    background: url("../image/front/bento-b.jpg") center center / cover no-repeat;
}

.area_job .hako-b .rbox ul li:nth-child(2) {
    width: 33.33%;
    background: url("../image/front/bento-c.jpg") center center / cover no-repeat;
}

.area_job .hako-b .rbox ul li:last-child {
    width: 33.33%;
    background: url("../image/front/bento-d.jpg") center center / cover no-repeat;
}

@media screen and (max-width: 700px) {
    .area_job .box {
        width: 100%;
        height: auto;
    }

    .area_job .hako-b .lbox, .area_job .hako-a .lbox {
        width: 90%;
        height: 30vh;
        margin: 0px auto 2rem;
        background: url("../image/front/bread-a.jpg") center center / cover no-repeat;
    }

    .area_job .hako-b .lbox {
        background: url("../image/front/bento-a.jpg") center center / cover no-repeat;
    }

    .area_job .hako-b .lbox {
        order: 1;
    }

    .area_job .rbox {
        width: 100%;
        position: relative;
    }

    .area_job .rbox .text {
        width: 90%;
        margin: 0px auto 4rem;
    }

    .area_job .rbox .bt {
        margin: 0px 0px 0px 5%;
    }

    .area_job .hako-a .rbox ul {
        width: 90%;
        height: 10vh;
        position: relative;
        margin: 5rem auto 0px;
    }

    .area_job .hako-b .rbox ul {
        justify-content: flex-start;
        width: 90%;
        position: relative;
        margin: 5rem auto 0px;
    }
}

.contact_bg {
    width: 100%;
    background: rgb(242, 242, 240);
    overflow: hidden;
}

.area_contact {
    width: 100%;
}

.area_contact a {
    width: 100%;
    display: block;
    color: rgb(0, 0, 0);
}

.area_contact a:hover {
    transition: 0.5s;
}

.area_contact .box {
    max-width: 1200px;
    height: 100%;
    margin: 0px auto;
    padding: 8rem 0px;
    position: relative;
    z-index: 0;
}

.area_contact .box h2 {
    text-align: center;
    font-size: 1.5em;
    color: rgb(35, 21, 24);
}

.area_contact .box h2 span {
    font-weight: 600;
    font-size: 1.5em;
}

.area_contact .bt {
    width: 100%;
    max-width: 200px;
    display: block;
    padding: 1rem 20px;
    margin: 3rem auto 0px;
    border-radius: 25vh;
    background: rgb(255, 255, 255);
    text-align: center;
    font-weight: 500;
    transition: 0.5s ease-in-out;
    color: rgb(35, 21, 24);
}

.en-a, .en-b, .en-c, .en-d, .en-e {
    transition: 0.5s ease-in-out;
}

.en-a::after, .en-b::after, .en-c::after, .en-d::after, .en-e::after {
    content: "";
    position: absolute;
    inset: 0px;
    border-radius: inherit;
    border: 2px solid rgba(170, 143, 123, 0.45);
    transform: scale(1);
    opacity: 0;
    pointer-events: none;
}

.area_contact a:hover .en-a::after, .area_contact a:hover .en-b::after, .area_contact a:hover .en-c::after, .area_contact a:hover .en-d::after, .area_contact a:hover .en-e::after {
    animation: 1.6s ease-out 0s infinite normal none running rippleRing;
    opacity: 1;
}

.en-a {
    width: 790px;
    height: 790px;
    border-radius: 50vh;
    background: rgb(240, 239, 226);
    position: absolute;
    top: -650px;
    left: -25%;
    z-index: -4;
}

.en-b {
    width: 145px;
    height: 145px;
    border-radius: 50vh;
    background: rgb(231, 238, 220);
    position: absolute;
    top: 20px;
    left: 15%;
    z-index: -1;
}

.en-c {
    width: 500px;
    height: 500px;
    border-radius: 50vh;
    background: 0% 0% / cover rgb(231, 236, 236);
    position: absolute;
    top: -250px;
    right: -15%;
    z-index: -1;
}

.en-d {
    width: 740px;
    height: 740px;
    border-radius: 50vh;
    background: 0% 0% / cover rgb(239, 232, 227);
    position: absolute;
    top: 200px;
    left: -30%;
    z-index: -3;
}

.en-e {
    width: 715px;
    height: 715px;
    border-radius: 50vh;
    background: 0% 0% / cover rgb(245, 241, 231);
    position: absolute;
    top: 100px;
    right: -20%;
    z-index: -2;
}

.contact_link {
    display: block;
}

@keyframes rippleRing {
    0% {
        transform: scale(1);
        opacity: 0.9;
    }

    70% {
        opacity: 0.25;
    }

    100% {
        transform: scale(1.35);
        opacity: 0;
    }
}

@media screen and (max-width: 1000px) {
    .en-a {
        top: -700px;
        left: -40%;
    }

    .en-b {
        top: 20px;
        left: 5%;
    }

    .en-c {
        top: -250px;
        right: -30%;
    }

    .en-d {
        top: 200px;
        left: -50%;
    }

    .en-e {
        top: 100px;
        right: -50%;
    }
}

@media screen and (max-width: 800px) {
    .en-a {
        width: 395px;
        height: 395px;
        top: -300px;
        left: -250px;
    }

    .en-b {
        width: 100px;
        height: 100px;
        top: 20px;
        left: 0px;
    }

    .en-c {
        width: 250px;
        height: 250px;
        top: -100px;
        right: -150px;
    }

    .en-d {
        width: 370px;
        height: 370px;
        top: 200px;
        left: -250px;
    }

    .en-e {
        width: 500px;
        height: 500px;
        top: 100px;
        right: -300px;
    }

    .area_contact .bt {
        max-width: 180px;
        margin: 2rem auto 0px;
    }
}

.toparea {
    margin: 170px auto 0px;
}

.page .content {
    margin: 0px auto;
}

.page .phbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    height: 60vh;
    overflow: hidden;
}
.page .phbox .l-ph,
.page .phbox .r-ph {
    flex: 0 0 100%; 
    width: 100%;
    max-width: 100%;
    height: 100%;
}

.page .phbox .l-ph #bg-video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

.page .phbox .l-ph #bg-video-bg {
    width: 100%;
    height: 60vh;
    z-index: -2;
    background: url("../image/common/headbg-recruit") center center / cover no-repeat;
}

@media screen and (max-width: 800px) {
    .page .phbox {
        height: 30vh;
    }

    .moviebox #bg-videos, .page .phbox .l-ph #bg-video {
        height: 30vh;
    }

    .page .phbox .l-ph #bg-video-bg {
        height: 30vh;
    }
}

.page .phbox .l-ph {
    width: 0%;
    background: rgb(255, 255, 255);
    height: -webkit-fill-available;
}

.page.about .phbox .r-ph{
    width: 100%;
    background: url("../image/common/headbg-about.jpg") center center / cover no-repeat;
    padding: 0px;
}

.page.panchan .phbox .r-ph {
    width: 100%;
    padding: 0px;
}

.page.yume .phbox .r-ph {
    width: 100%;
    padding: 0px;
}

.page.comugi .phbox .r-ph {
    width: 100%;
    padding: 0px;
    background: url("../image/common/headbg-comugi.jpg") center center / cover no-repeat;
}

.page.kanchan .phbox .r-ph {
    width: 100%;
    padding: 0px;
    background: url("../image/common/headbg-kanchan.jpg") center center / cover no-repeat;
}

.page.recruit .phbox .r-ph {
    width: 100%;
    padding: 0px;
    background: url("../image/common/headbg-recruit.jpg") center center / cover no-repeat;
}

.page.thanks .phbox .r-ph, .page.contact .phbox .r-ph {
    width: 100%;
    padding: 0px;
    background: url("../image/common/headbg-contact.jpg") center center / cover no-repeat;
}

.page.policy .phbox .r-ph {
    width: 100%;
    padding: 0px;
    background: url("../image/common/headbg-policy.jpg") center center / cover no-repeat;
}

.page .pk-list {
    display: flex;
    justify-content: flex-end;
    width: 95%;
    max-width: 1200px;
    margin: 1rem auto 8rem;
}

.pk-list ul {
    display: flex;
    justify-content: flex-start;
    font-size: 0.65rem;
    line-height: 1rem;
}

.pk-list ul li a {
    color: rgb(35, 24, 21);
}

.pk-list ul li a::after {
    content: ">";
    margin: 0px 0.5em;
}

.pk-list ul li:last-child a::after {
    display: none;
}

.page .page-titles {
    width: 100%;
}

.page .page-titles .box {
    width: 95%;
    max-width: 1200px;
    margin: 0px auto;
}

.page .page-titles .box h1 {
    font-size: 3.5em;
    padding: 0px;
}

.page .page-titles .box p {
    font-size: 0.8em;
}

.page .page-titles .lines {
    border-top: 0.5px solid rgb(0, 0, 0);
    padding: 0.8rem 0px 0px;
    margin: 2rem 0px 0px;
}

.page .box h2 {
    font-size: 1.5em;
    text-align: center;
}

@media screen and (max-width: 640px) {
    .page .pk-list {
        margin: 0px auto 0.8rem;
        padding-top: 1.5rem;
    }

    .pk-list ul {
        display: block;
        text-align: right;
    }

    .pk-list ul li a::after {
        content: "|";
        margin: 0px 0.5em;
    }
}

@media screen and (max-width: 480px) {
    .page .box h2 {
        font-size: 1.2em;
    }
}

.page.about .logo-ic {
    max-width: 1200px;
    margin: 5rem auto;
    background: url("../image/common/logo-b.svg") center center / cover no-repeat;
    width: 100px;
    height: 119px;
}

.page.about .main {
    width: 100%;
    overflow: hidden;
}

.page.about .main .a-box, .page.about .main .b-box, .page.about .main .c-box, .page.about .main .d-box {
    padding: 6rem 0px;
    margin: 0px auto;
    width: 95%;
    position: relative;
    max-width: 900px;
}

.page.about .main .a-box .hako, .page.about .main .b-box .hako, .page.about .main .c-box .hako, .page.about .main .d-box .hako {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
}

.page.about .main .d-box .hako .enbox {
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgb(239, 232, 227);
    width: clamp(250px, 32vw, 400px);
    height: clamp(250px, 32vw, 400px);
    border-radius: 50%;
    position: relative;
    z-index: 1;
}

.page.about .main .d-box .hako .enbox p {
    width: 80%;
    text-align: center;
}

.page.about .main .d-box .hako .enbox p span {
    position: relative;
}

.page.about .main .d-box .hako .enbox p span::before {
    content: "";
    background: rgb(255, 255, 255);
    width: 10px;
    height: 10px;
    border-radius: 25vh;
    position: absolute;
    top: -30px;
    left: 50%;
    margin-left: -5px;
}

.page.about .main .a-box .kazari-a {
    background: rgb(231, 238, 220);
    width: clamp(200px, 30vw, 280px);
    height: clamp(200px, 30vw, 280px);
    border-radius: 50%;
    position: absolute;
    top: clamp(-151px, -15vw, -80px);
    left: clamp(-28%, -10vw, -20%);
    z-index: -1;
}

.page.about .main .a-box .kazari-b {
    background: url("../image/about/en-about-a.jpg") center center / cover no-repeat;
    width: clamp(220px, 32vw, 400px);
    height: clamp(220px, 32vw, 400px);
    border-radius: clamp(120px, 15vw, 240px);
    position: absolute;
    top: clamp(0px, 2vw, 20px);
    left: clamp(-18%, -10vw, -6%);
    z-index: -2;
}

.page.about .main .b-box .kazari-c {
    background: url("../image/about/en-about-b.jpg") center center / cover no-repeat;
    width: clamp(220px, 32vw, 400px);
    height: clamp(220px, 32vw, 400px);
    border-radius: clamp(120px, 15vw, 240px);
    position: absolute;
    top: clamp(-50px, -4vw, -20px);
    right: clamp(-25%, -12vw, -8%);
    z-index: -1;
}

.page.about .main .b-box .kazari-d {
    background: rgb(231, 236, 236);
    width: clamp(180px, 24vw, 280px);
    height: clamp(180px, 24vw, 280px);
    border-radius: clamp(90px, 12vw, 180px);
    position: absolute;
    top: clamp(150px, 14vw, 200px);
    right: clamp(-38%, -14vw, -20%);
    z-index: -2;
}

.page.about .main .d-box .kazari-e {
    background: url("../image/about/en-about-c.jpg") center center / cover no-repeat;
    width: clamp(180px, 24vw, 300px);
    height: clamp(180px, 24vw, 300px);
    border-radius: 50%;
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translate(-90%, -70%);
    z-index: 2;
}

.page.about .main .a-box .lbox, .page.about .main .b-box .rbox, .page.about .main .c-box .lbox {
    width: 40%;
}

.page.about .main .a-box .rbox, .page.about .main .c-box .rbox, .page.about .main .b-box .lbox, .page.about .main .d-box {
    width: 60%;
    position: relative;
}

.page.about .main .d-box {
    width: 100%;
    position: relative;
}

.page.about .main .b-box .lbox::after {
    content: "";
    background: url("../image/common/sen-disck-a.svg") center center / cover no-repeat;
    display: block;
    width: 100px;
    height: 130px;
    position: absolute;
    top: -180px;
    left: 50%;
}

.page.about .main .c-box .rbox::before {
    content: "";
    background: url("../image/common/sen-disck-b.svg") center center / cover no-repeat;
    display: block;
    width: 100px;
    height: 130px;
    position: absolute;
    top: -180px;
    right: 50%;
    margin-left: -50px;
}

.page.about .main .d-box::before {
    content: "";
    background: url("../image/common/sen-disck-c.svg") center center / cover no-repeat;
    display: block;
    width: 100px;
    height: 130px;
    position: absolute;
    top: 20px;
    left: 55%;
    z-index: 2;
}

.page.about .tate {
    writing-mode: vertical-rl;
    margin: 0px auto 2rem;
}

.page.about .tate span {
    display: block;
}

.page.about .yoko {
    line-height: 1.5em;
}

.page.about .yoko span {
    display: block;
    text-align: center;
    font-size: 0.9em;
}

.kz-moji {
    color: rgb(242, 241, 234);
    font-size: 6rem;
    font-weight: 600;
    position: relative;
    top: -25px;
    text-align: right;
    margin-right: 5%;
}

.kz-moji span {
    position: relative;
}

.kz-moji span::before {
    content: "";
    background: rgb(242, 241, 234);
    width: 25px;
    height: 25px;
    border-radius: 25vh;
    position: absolute;
    top: 5px;
    left: 50%;
    margin-left: -12.5px;
}

.rinen {
    width: 100%;
    background: rgb(242, 241, 234);
    padding: 5rem 0px 6rem;
}

.rinen .box {
    width: 95%;
    max-width: 900px;
    margin: 0px auto;
}

.rinen .box ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: stretch;
    margin: 3rem auto 0px;
}

.rinen .box ul li {
    width: 47%;
    background: rgb(247, 246, 242);
    border-radius: 10px;
    padding: 1rem 2rem 2rem;
    box-sizing: border-box;
    box-shadow: rgba(128, 128, 128, 0.38) 0px 0px 8px;
}

.rinen .box ul li .text {
    line-height: 1.8em;
    text-align: center;
}

.rinen .box ul li .text span {
    display: block;
}

.rinen .box ul li .ph {
    background: url("../image/about/en-rinen-a.jpg") center center / cover no-repeat;
    width: 150px;
    height: 150px;
    border-radius: 25vh;
    margin: 1rem auto;
}

.rinen .box ul li:last-child .ph {
    background: url("../image/about/en-rinen-b.jpg") center center / cover no-repeat;
}

.hoshin h2 {
    color: rgb(255, 255, 255);
}

.hoshin {
    width: 100%;
    padding: 5rem 0px 8rem;
    background: url("../image/about/unei-bg.jpg") center center / cover no-repeat;
}

.hoshin .box {
    width: 100%;
}

.hoshin .box ul {
    max-width: 600px;
    margin: 3rem auto 0px;
}

.hoshin .box ul li {
    text-align: center;
    background: rgba(255, 255, 255, 0.61);
    padding: 0.5rem 0px;
    line-height: 1.5;
}

.hoshin .box ul li:nth-child(2) {
    margin: 1rem 0px;
}

.gaiyo {
    width: 100%;
    padding: 8rem 0px 6rem;
}

.gaiyo .box {
    width: 95%;
    max-width: 900px;
    margin: 0px auto;
}

.gaiyo .title {
    writing-mode: vertical-rl;
    margin: 0px auto 5rem;
    font-size: 1.5rem;
    font-weight: 500;
    position: relative;
}

.gaiyo .title span {
    writing-mode: horizontal-tb;
    margin-top: 1rem;
    font-size: 0.8rem;
}

.gaiyo .title::before {
    content: "";
    background: rgb(237, 229, 149);
    width: 10px;
    height: 10px;
    border-radius: 25vh;
    position: absolute;
    bottom: -30px;
    left: 50%;
    margin-left: -15px;
}

.gaiyo .title::after {
    content: "";
    background: rgb(183, 194, 224);
    width: 10px;
    height: 10px;
    border-radius: 25vh;
    position: absolute;
    bottom: -30px;
    right: 50%;
    margin-right: -15px;
}

.gaiyo .box .hako {
    background: rgb(242, 241, 234);
    border-radius: 10px;
    padding: 2rem;
}

.gaiyo .box .hako dl {
    background: rgb(255, 255, 255);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0px 0px 1rem;
    width: 100%;
    padding: 0.5rem 1rem;
    line-height: 1.8em;
    box-sizing: border-box;
    border-radius: 5px;
}

.gaiyo .box .hako dl:last-child {
    margin: 0px;
}

.gaiyo .box .hako dl dt {
    width: 20%;
    border-right: 0.5px solid rgb(181, 181, 182);
    padding-right: 1%;
}

.gaiyo .box .hako dl dd {
    width: 70%;
    padding-left: 8.9%;
}

.gaiyo .box .hako dl dd a {
    display: block;
    cursor: pointer;
    color: rgb(0, 127, 168);
}

.gaiyo .box .hako dl dd a::before {
    content: "";
    background: url("../image/common/ic-link.svg") center center / 100% no-repeat;
    padding: 3px 6px;
    margin-right: 0.5em;
}

.gaiyo .box ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    max-width: 600px;
    margin: 3rem auto;
}

.gaiyo .box ul li {
    font-size: 0.9em;
    flex: 0 1 auto;
    line-height: 1.5;
}

.gaiyo .box ul li a {
    display: block;
    background: rgb(239, 232, 227);
    box-sizing: border-box;
    border-radius: 25vh;
    padding: 1rem 3rem;
    cursor: pointer;
}

.gaiyo .box ul li a:hover {
    opacity: 0.6;
}

.gaiyo .box ul li:nth-child(2) a {
    background: rgb(231, 238, 220);
}

.gaiyo .box ul li:last-child a {
    background: rgb(231, 236, 236);
}

@media (max-width: 800px) {
    .rinen .box ul li .text {
        font-size: 0.9em;
    }

    .hoshin .box ul {
        width: 95%;
    }

    .hoshin .box ul li {
        padding: 0.5rem 1rem;
    }

    .gaiyo .box .hako dl dt {
        width: 100%;
        border-right: 0px solid rgb(181, 181, 182);
        border-bottom: 0.5px solid rgb(181, 181, 182);
        padding: 0px 0px 0.5rem;
    }

    .gaiyo .box .hako dl dd {
        width: 100%;
        padding: 0.5rem 0px 0px;
    }

    .gaiyo .box ul {
        justify-content: space-between;
        gap: 1rem;
    }

    .gaiyo .box ul li {
        flex: 0 0 calc(50% - 0.5rem);
    }

    .gaiyo .box ul li a {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 600px) {
    .rinen .box ul li {
        width: 100%;
        padding: 1rem 2rem 2rem;
    }

    .rinen .box ul li:first-child {
        margin: 0px 0px 2rem;
    }
}

@media (max-width: 480px) {
    .gaiyo .box ul li {
        flex: 0 0 calc(100% - 0.5rem);
        margin: 0px auto;
    }
}

.policy .page-contents {
    width: 100%;
    overflow: hidden;
}

.policy .hajime {
    width: 95%;
    max-width: 1000px;
    margin: 8rem auto 0px;
}

.policy .main {
    position: relative;
    background: rgb(242, 241, 234);
    margin-top: 15rem;
    padding: 3rem 0px 5rem;
}

.policy .main::before {
    content: "";
    position: absolute;
    width: 160vw;
    height: 40vw;
    left: 50%;
    transform: translateX(-50%);
    top: -15vw;
    background: rgb(242, 241, 234);
    border-radius: 50%;
    z-index: -1;
}

@media (min-width: 1200px) {
    .policy .main::before {
        width: 4000px;
        height: 560px;
        top: -150px;
    }

    .policy .main {
        position: relative;
        background: rgb(242, 241, 234);
        margin: 15rem 0px 0px;
        padding: 3rem 0px 5rem;
    }
}

.policy .main .policybox {
    width: 95%;
    max-width: 1000px;
    margin: 0px auto 3rem;
}

.policy .main .policybox.last {
    margin: 0px auto 0rem;
}

.policy .policybox .aki {
    padding: 1rem 0px;
}

.policy .main .policybox h2 {
    font-size: 1.5em;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.policybox h2 span.yellow, .policybox h2 span.green {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    flex-shrink: 0;
    border-radius: 50%;
    background: rgb(213, 233, 216);
    font-size: 0.9em;
}

.policybox h2 span.yellow {
    background: rgb(221, 217, 192);
}

.policybox .text {
    margin-top: 1rem;
}
.policybox .text p{
    margin-top: 1rem;
}
.policybox .text ul {
    list-style: none;
    margin: 0px;
    padding: 0px;
}

.policybox .text ul li {
    position: relative;
    padding: 1em 0px 1em 2em;
    border-bottom: 1px dashed rgb(76, 73, 72);
}

.policybox .text ul li::before {
    content: "";
    position: absolute;
    left: 0.5em;
    top: 1.8em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgb(35, 24, 21);
}

.policybox .text ul li a {
    display: inline-flex;
    align-items: center;
    color: rgb(0, 127, 168);
}

.policybox .text ul li a::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    flex-shrink: 0;
    background: url("../image/common/ic-link.svg") center center / contain no-repeat;
    margin-right: 0.5em;
}

.policybox .text ul li span {
    display: block;
    text-indent: -1em;
    margin-left: 2.5em;
}

.policybox.w-waku .text ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 2rem auto;
}

.policybox.w-waku .text ul li {
    width: 46%;
    text-indent: 0px;
    padding: 3% 4%;
    margin: 0px 0px 1.5rem;
    border-bottom: 0px;
    background: rgb(255, 255, 255);
    box-sizing: border-box;
    line-height: 1.8;
}

.policybox.w-waku .text ul li::before {
    content: "";
    display: block;
    width: 0px;
    height: 0px;
    margin: 0px;
    border-radius: 0px;
    background: rgba(35, 24, 21, 0);
}

.policybox .text .infobox {
    max-width: 400px;
    border: 0.75px solid rgb(130, 130, 130);
    padding: 1rem 2rem;
    margin-top: 2rem;
    box-sizing: border-box;
}

.policybox .text .infobox span {
    display: block;
}

.recruit {
    width: 100%;
    overflow: hidden;
}

.recruit .main h2 {
    font-size: 1.5em;
    text-align: center;
    margin: 0px 0px 3rem;
}

.recruit .main {
    position: relative;
    background: rgb(242, 241, 234);
    margin-top: 15rem;
    padding: 3rem 0px 5rem;
}

.recruit .main::before {
    content: "";
    position: absolute;
    width: 160vw;
    height: 40vw;
    left: 50%;
    transform: translateX(-50%);
    top: -15vw;
    background: rgb(242, 241, 234);
    border-radius: 50%;
    z-index: -1;
}

@media (min-width: 1200px) {
    .recruit .main::before {
        width: 4000px;
        height: 560px;
        top: -150px;
    }

    .recruit .main {
        position: relative;
        background: rgb(242, 241, 234);
        margin: 18rem 0px 0px;
        padding: 3rem 0px 5rem;
    }
}

.kotoba {
    width: 95%;
    max-width: 1200px;
    margin: 8rem auto;
    position: relative;
}

.enkz-a, .enkz-b, .enkz-c, .enkz-d {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
}

.enkz-a {
    background: rgb(240, 239, 226);
    width: clamp(220px, 30vw, 300px);
    height: clamp(220px, 30vw, 300px);
    top: clamp(-80px, -15vw, -60px);
    left: clamp(-28%, -10vw, -20%);
}

.enkz-b {
    background: rgb(231, 238, 220);
    width: clamp(100px, 30vw, 180px);
    height: clamp(100px, 30vw, 180px);
    top: clamp(200px, 15vw, 150px);
    left: clamp(8%, -10vw, -20%);
}

.enkz-c {
    background: rgb(239, 232, 227);
    width: clamp(180px, 24vw, 280px);
    height: clamp(180px, 24vw, 280px);
    top: clamp(200px, 15vw, 200px);
    right: clamp(0%, 10vw, 0%);
}

.enkz-d {
    background: rgb(231, 236, 236);
    width: clamp(180px, 24vw, 280px);
    height: clamp(180px, 24vw, 280px);
    top: clamp(-300px, 14vw, -120px);
    right: clamp(-38%, -14vw, -20%);
}

.kotoba .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
}

.kotoba .box .lbox {
    width: 30%;
    writing-mode: vertical-rl;
    text-orientation: upright;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 1.3em;
}

.kotoba .box .rbox {
    width: 70%;
}

.kotoba .box .rbox span {
    display: block;
}

.en-kazari, .naiyo {
    width: 95%;
    max-width: 1200px;
    margin: 0px auto;
}

.en-kazari ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
    padding: 0px;
    list-style: none;
    margin: 0px 0px 5rem;
}

.en-kazari ul li {
    background: url("../image/recruit/en-recruit-a.jpg") center center / 100% no-repeat;
    width: clamp(120px, 24vw, 180px);
    height: clamp(120px, 24vw, 180px);
    border-radius: 50%;
    flex-shrink: 0;
}

.en-kazari ul li:nth-child(2) {
    background: url("../image/recruit/en-recruit-b.jpg") center center / 100% no-repeat;
}

.en-kazari ul li:last-child {
    background: url("../image/recruit/en-recruit-c.jpg") center center / 100% no-repeat;
}

.recruit .naiyo dl {
    background: rgb(255, 255, 255);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0px auto 1rem;
    width: 100%;
    max-width: 1000px;
    padding: 1rem;
    line-height: 1.8em;
    box-sizing: border-box;
    border-radius: 5px;
}

.recruit .naiyo dl:last-child {
    margin: 0px auto;
}

.recruit .naiyo dl dt {
    width: 20%;
    margin: 0px auto;
}

.recruit .naiyo dl dd {
    width: 70%;
    padding-left: 9%;
    border-left: 0.5px solid rgb(181, 181, 182);
}

.recruit .naiyo dl dd span {
    display: block;
}

.saiyo {
    background: rgb(242, 241, 234);
    padding: 3rem 1rem 5rem;
}

.kengaku .box, .saiyo .box {
    background: rgb(247, 246, 242);
    width: 100%;
    max-width: 1100px;
    margin: 0px auto;
    border-radius: 16px;
    padding: 3rem 2rem;
    box-sizing: border-box;
}

.kengaku {
    margin: 0px auto 5rem;
}

.kengaku .box {
    background: rgb(247, 246, 242);
    width: 95%;
    max-width: 1200px;
}

.saiyo h2 {
    margin: 0px;
    text-align: center;
    font-size: clamp(1.6rem, 2vw, 2.2rem);
    font-weight: 700;
    line-height: 1.4;
    color: rgb(17, 17, 17);
}

.toibox {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    margin-top: 2.5rem;
}

.toibox .lbox, .toibox .rbox {
    width: 50%;
    padding: 1rem 2rem;
    box-sizing: border-box;
    text-align: center;
}

.toibox .lbox {
    border-right: 1px solid rgb(215, 215, 215);
}

.toibox .title {
    margin: 0px 0px 1.5rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    color: rgb(17, 17, 17);
    text-align: center;
}

.toibox .call {
    position: relative;
    max-width: 300px;
    min-height: 72px;
    margin: 0px auto;
    padding-left: 65px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
}

.toibox .call::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: url("../image/common/ic-sp.svg") center center / 100% no-repeat;
}

.toibox .call a {
    display: inline-block;
    color: rgb(17, 17, 17);
    text-decoration: none;
    font-size: clamp(2rem, 3vw, 2.5rem);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 0.04em;
}

.toibox .call span {
    display: block;
    margin-top: 0.5rem;
    font-size: 1rem;
    line-height: 1.5;
    color: rgb(17, 17, 17);
}

.toibox .mail {
    position: relative;
    max-width: 300px;
    min-height: 72px;
    margin: 0px auto;
    padding-left: 65px;
    display: flex;
    align-items: center;
}

.toibox .mail::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: url("../image/common/ic-paper-airplane.svg") center center / 100% no-repeat;
}

.toibox .mail a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 64px;
    padding: 0.8rem 1.5rem;
    box-sizing: border-box;
    border-radius: 999px;
    background: linear-gradient(90deg, rgb(179, 219, 240) 0%, rgb(211, 198, 236) 100%);
    color: rgb(17, 17, 17);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.4;
    transition: opacity 0.3s, transform 0.3s;
}

.toibox .mail a:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

@media (max-width: 900px) {
    .saiyo .box {
        padding: 2.5rem 1.5rem;
    }

    .toibox .lbox, .toibox .rbox {
        padding: 1rem 1.25rem;
    }
}

@media (max-width: 800px) {
    .saiyo {
        padding: 2rem 0.75rem 3rem;
    }

    .saiyo .box {
        border-radius: 14px;
        padding: 2rem;
    }

    .toibox {
        flex-direction: column;
        margin-top: 2rem;
    }
.kengaku .box, .saiyo .box {
    padding: 3rem 5rem;
}
    .toibox .lbox, .toibox .rbox {
        width: 100%;
        padding: 1.25rem 0px;
    }

    .toibox .lbox {
        border-right-width: medium;
        border-right-style: none;
        border-right-color: currentcolor;
        border-bottom: 1px solid rgb(215, 215, 215);
        padding-bottom: 1.75rem;
        margin-bottom: 0.5rem;
    }

    .toibox .rbox {
        padding-top: 1.25rem;
    }

    .toibox .title {
        margin-bottom: 1rem;
        font-size: 1.1rem;
    }

    .toibox .call, .toibox .mail {
        max-width: 100%;
        min-height: 64px;
        padding-left: 72px;
    }

    .toibox .call::before, .toibox .mail::before {
        width: 54px;
        height: 54px;
    }

    .toibox .call a {
        font-size: clamp(1.8rem, 8vw, 2.4rem);
    }

    .toibox .call span {
        font-size: 0.92rem;
    }

    .toibox .mail a {
        min-height: 58px;
        font-size: 1rem;
        padding: 0.8rem 1rem;
    }
}

@media (max-width: 600px) {
.kengaku .box, .saiyo .box {
    padding: 3rem 2rem;
}
    .kotoba {
        margin: 3rem auto 0px;
    }

    .kotoba .box .lbox {
        width: 100%;
        font-size: 1.3em;
        writing-mode: horizontal-tb;
        text-orientation: mixed;
        padding: 0px 0px 1rem;
    }

    .kotoba .box .rbox {
        width: 100%;
    }

    .recruit .main {
        margin-top: 10rem;
    }

    .enkz-a {
        background: rgb(240, 239, 226);
        top: 0%;
    }

    .enkz-b {
        top: auto;
        bottom: 15%;
    }

    .enkz-c {
        top: auto;
        bottom: -20%;
    }

    .enkz-d {
        top: 20%;
    }

    .en-kazari ul {
        justify-content: center;
    }

    .en-kazari ul li {
        width: clamp(120px, 40vw, 160px);
        height: clamp(120px, 40vw, 160px);
    }

    .en-kazari ul li:nth-child(3) {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 480px) {
    .saiyo h2 {
        font-size: 1.4rem;
    }

    .toibox .call, .toibox .mail {
        padding-left: 0px;
        padding-top: 70px;
        text-align: center;
    }

    .toibox .call::before, .toibox .mail::before {
        left: 50%;
        top: 0px;
        transform: translateX(-50%);
    }

    .toibox .call {
        text-align: center;
    }

    .toibox .mail {
        display: block;
    }
}

.aisatsu .service-name {
    width: 100%;
    max-width: 1200px;
    margin: 4rem auto 8rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    position: relative;
    z-index: 2;
}

.aisatsu .service-name .lbox {
    width: 50%;
    background: rgb(239, 232, 227);
    min-height: 300px;
    padding: 4rem 2rem;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.aisatsu .service-name .rbox {
    width: 70%;
}

.aisatsu .service-name .lbox p {
    text-align: center;
    font-size: clamp(1.3rem, 1.5vw, 1.8rem);
    line-height: 1.5;
    font-weight: 500;
    margin: 0px;
    color: rgb(34, 34, 34);
}

.aisatsu .service-name .lbox p::before {
    content: "";
    width: 28px;
    height: 28px;
    padding: 10px;
    display: block;
    margin: 0px auto;
    background: url("../image/common/ic-panchan.svg") center center / contain no-repeat;
}
.nonchan .aisatsu .service-name .lbox p::before {
    background: url("../image/common/ic-nonchan.svg") center center / contain no-repeat;
}
.yume .aisatsu .service-name .lbox p::before {
    background: url("../image/common/ic-yumechan.svg") center center / contain no-repeat;
}

.comugi .aisatsu .service-name .lbox p::before {
    background: url("../image/common/ic-comugi.svg") center center / contain no-repeat;
}

.kanchan .aisatsu .service-name .lbox p::before {
    background: url("../image/common/ic-kanchan.svg") center center / contain no-repeat;
}

.aisatsu .service-name .lbox p span {
    display: block;
    margin-top: 0.6rem;
    font-size: 0.55em;
    letter-spacing: 0.03em;
}

.aisatsu .service-name .rbox {
    width: 58%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.aisatsu .service-name .lbox div {
    width: 100%;
    max-width: 200px;
    background: rgb(255, 255, 255);
    text-align: center;
    margin: 1rem auto 0px;
    border-radius: 5px;
    font-size: 0.8em;
    padding: 0.2em;
}

@media (max-width: 480px) {
    .aisatsu .service-name .lbox p::before {
        content: "";
        width: 18px;
        height: 18px;
    }
}

.service .page-contents {
    overflow: hidden;
}

.aisatsu {
    position: relative;
    padding: 2rem 0px 6rem;
}

.aisatsu .kzp-a,
.aisatsu .kzp-b,
.aisatsu .kzp-c,
.aisatsu .kzp-d,
.aisatsu .kzp-e {
    position: absolute;
    border-radius: 50%;
}

.aisatsu .kzp-a {
    background: url("../image/service/en-panchan-a.jpg") center center / cover no-repeat;
    width: clamp(240px, 28vw, 340px);
    height: clamp(240px, 28vw, 340px);
    top: clamp(-80px, 2vw, 150px);
    right: clamp(-100px, 6vw, 25%);
}

.aisatsu .kzp-b {
    background: url("../image/service/en-panchan-b.jpg") center center / cover no-repeat;
    width: clamp(200px, 20vw, 250px);
    height: clamp(200px, 20vw, 250px);
    top: clamp(280px, 34vw, 450px);
    left: clamp(-100px, 3vw, 6%);
}

.aisatsu .kzp-c {
    background: url("../image/service/en-panchan-c.jpg") center center / cover no-repeat;
    width: clamp(250px, 24vw, 300px);
    height: clamp(250px, 24vw, 300px);
    top: clamp(400px, 42vw, 500px);
    right: clamp(-120px, 3vw, 10%);
}

.aisatsu .kzp-d {
    background: rgb(231, 238, 220);
    width: clamp(140px, 16vw, 200px);
    height: clamp(140px, 16vw, 200px);
    top: clamp(620px, 56vw, 700px);
    left: clamp(-50px, -1vw, -40px);
}

.aisatsu .kzp-e {
    background: rgb(231, 236, 236);
    width: clamp(200px, 20vw, 250px);
    height: clamp(200px, 20vw, 250px);
    top: clamp(600px, 60vw, 700px);
    right: clamp(-150px, -2vw, 0px);
}

.aisatsu {
    position: relative;
    overflow: hidden;
}

.aisatsu-non .kzp-a,,.aisatsu-non .kzp-b,.aisatsu-non .kzp-c,.aisatsu .kzp-a, .aisatsu .kzp-b, .aisatsu .kzp-c, .aisatsu .kzp-d, .aisatsu .kzp-e {
    position: absolute;
    border-radius: 50%;
    transition: 0.35s;
}
.aisatsu-non .kzp-a,
.aisatsu .kzp-a {
    background: url("../image/service/en-panchan-a.jpg") center center / cover no-repeat;
    width: 340px;
    height: 340px;
    top: -80px;
    right: 25%;
}

.aisatsu-non .kzp-b,
.aisatsu .kzp-b {
    background: url("../image/service/en-panchan-b.jpg") center center / cover no-repeat;
    width: 250px;
    height: 250px;
    top: 450px;
    left: 6%;
}

.aisatsu-non .kzp-c,
.aisatsu .kzp-c {
    background: url("../image/service/en-panchan-c.jpg") center center / cover no-repeat;
    width: 300px;
    height: 300px;
    top: 400px;
    right: 10%;
}
.aisatsu-non .kzp-a {
    background: url("../image/service/en-nonchan-a.jpg") center center / cover no-repeat;
}
.aisatsu-non .kzp-b{
    background: url("../image/service/en-nonchan-b.jpg") center center / cover no-repeat;
}
.aisatsu-non .kzp-c{
    background: url("../image/service/en-nonchan-c.jpg") center / cover no-repeat;
}
.aisatsu .kzp-d {
    background: rgb(231, 238, 220);
    width: 200px;
    height: 200px;
    top: 700px;
    left: -40px;
}

.aisatsu .kzp-e {
    background: rgb(231, 236, 236);
    width: 250px;
    height: 250px;
    top: 600px;
    right: 0px;
}

@media (max-width: 900px) {
    .aisatsu .kzp-a {
        width: 240px;
        height: 240px;
        top: 50px;
        right: -10%;
    }

    .aisatsu .kzp-b {
        width: 200px;
        height: 200px;
        top: 280px;
        left: 0%;
    }

    .aisatsu .kzp-c {
        width: 250px;
        height: 250px;
        top: 400px;
        right: 0px;
    }

    .aisatsu .kzp-e {
        width: 200px;
        height: 200px;
        top: 600px;
        right: -120px;
    }
}

@media (max-width: 800px) {
    .aisatsu .kzp-a, .aisatsu .kzp-b, .aisatsu .kzp-c {
        opacity: 0.5;
        z-index: -1;
    }

    .aisatsu .kzp-a {
        top: 150px;
        right: -100px;
    }

    .aisatsu .kzp-b {
        top: 280px;
        left: -100px;
    }

    .aisatsu .kzp-c {
        top: 500px;
        right: -120px;
    }

    .aisatsu .kzp-e {
        top: 700px;
        right: -150px;
    }
}

.aisatsu .box {
    max-width: 1200px;
    margin: 0px auto;
    position: relative;
    z-index: 2;
    padding-bottom: 2rem;
}

.aisatsu .box .title-tate {
    display: flex;
    justify-content: center;
    margin: 0px auto 4rem;
}

.aisatsu .box .title-tate p {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: clamp(1.3rem, 2vw, 1.5rem);
    line-height: 2.2;
    letter-spacing: 0.08em;
    margin: 0px;
    color: rgb(17, 17, 17);
    font-weight: 400;
}

.aisatsu .box .title-tate p span {
    display: block;
}

.aisatsu .box .text {
    width: 100%;
    max-width: 600px;
    margin: 0px auto 4rem;
}

.aisatsu .box .text p {
    margin: 0px;
    font-size: 1rem;
    line-height: 2.4;
    font-weight: 500;
    color: rgb(17, 17, 17);
}

.aisatsu .box .text span {
    display: block;
}

.aisatsu .box .ph {
    width: 95%;
    max-width: 600px;
    margin: 0px auto 3rem;
    aspect-ratio: 16 / 9;
    border-radius: 1rem;
}
.aisatsu .box .ph img{
    width:100%;
    border-radius:25px;
}
.aisatsu .box .ph.nonph img{
   width:100%;
    border-radius:25px;
}
.aisatsu .box .menu-link {
    list-style: none;
    margin: 0px auto;
    padding: 0px;
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    width: 95%;
    max-width: 600px;
}

.aisatsu .box .menu-link li {
    width: 48%;
}

.aisatsu .box .menu-link li a {
    padding: 1rem 2rem;
    border-radius: 999px;
    display: block;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500;
    color: rgb(17, 17, 17);
    text-align: center;
    transition: opacity 0.3s, transform 0.3s;
}

.aisatsu .box .menu-link li:first-child a {
    background: rgb(217, 223, 205);
}

.aisatsu .box .menu-link li:last-child a {
    background: rgb(220, 225, 227);
}

.aisatsu .box .menu-link li a:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}

.bread {
    width: 100%;
    background: rgb(242, 241, 234);
    padding: 8rem 0px 5rem;
}

.bread .menu {
    width: 95%;
    max-width: 900px;
    margin: 0px auto;
}

.bread .menu .title {
    font-size: 1.3rem;
    border-bottom: 1px solid rgb(0, 0, 0);
    padding: 0px 0px 1rem;
    margin: 0px 0px 1rem;
}

.bread .menu p {
    text-align: right;
    padding: 0px 0px 1rem;
}

.bread .sliderArea {
    max-width: 100%;
    margin: 0px auto;
    padding: 0px 25px;
}

.bread .menu .sliderArea.w300 {
    max-width: 300px;
}

.bread .menu .slick-slide {
    margin: 0px;
}

.bread .menu .slick-slide img {
    width: 100%;
    height: auto;
    border: 6px solid rgb(255, 255, 255);
    box-sizing: border-box;
    margin: 0px 0px 1rem;
}

.bread .menu .thumbnail .slick-slide {
    margin: 0px 5px;
}

.bread .menu .thumbnail-img img {
    border: 0px solid rgb(255, 255, 255);
}

.bread .menu .slick-prev, .bread .menu .slick-next {
    z-index: 1;
}

.bread .menu .slick-prev {
    background: url("../image/common/arrows-l.svg") center center / 100% no-repeat;
}

.bread .menu .slick-next {
    background: url("../image/common/arrows-r.svg") center center / 100% no-repeat;
}

.bread .menu .slick-prev::before, .bread .menu .slick-next::before {
    display: none;
}

.bread .menu .slick-slide {
    transition: 0.3s ease-in-out;
    opacity: 0.2;
}

.bread .menu .slick-active {
    opacity: 1;
}

.bread .menu .slick-current {
    opacity: 1;
}

.bread .menu .thumbnail {
    margin: 20px 0px 0px;
}

.bread .menu .thumbnail .slick-slide {
    cursor: pointer;
}

.bread .menu .thumbnail .slick-slide:hover {
    opacity: 0.7;
}

.bread .hako {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 95%;
    max-width: 900px;
    margin: 3rem auto 0px;
    padding: 2rem 0px;
    border-top: 1px solid rgb(0, 0, 0);
    border-bottom: 1px solid rgb(0, 0, 0);
    gap: 2rem;
}

.bread .hako .text {
    width: 60%;
}

.bread .hako .bt {
    width: 36%;
}

.bread .hako .bt a {
    width: 100%;
    display: block;
    background: rgb(255, 255, 255);
    text-align: center;
    border-radius: 25vh;
    padding: 1rem;
    box-sizing: border-box;
    cursor: pointer;
}

.bread .hako .bt a:hover {
    width: 100%;
    background: rgb(0, 0, 0);
    color: rgb(255, 255, 255);
}

.lunchbox {
    width: 100%;
    background: rgb(231, 238, 220);
    padding: 8rem 0px 5rem;
}

.lunchbox .menu {
    width: 95%;
    max-width: 900px;
    margin: 0px auto;
}

.lunchbox .menu .title {
    font-size: 1.3rem;
    border-bottom: 1px solid rgb(0, 0, 0);
    padding: 0px 0px 1rem;
    margin: 0px 0px 1rem;
    text-align: left;
}

.lunchbox .menu p {
    text-align: right;
    padding: 0px 0px 1rem;
}

.lunchbox .block-b, .lunchbox .block-a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    margin: 0px auto;
    padding: 2rem 0px;
    gap: 2rem;
}

.lunchbox .block-b {
    border-top: 1px solid rgb(0, 0, 0);
    border-bottom: 1px solid rgb(0, 0, 0);
    margin-top: 3rem;
}

.lunchbox .block-b .text, .lunchbox .block-a .text {
    width: 60%;
}

.lunchbox .block-b .text {
    font-size: 1.1em;
    font-weight: 500;
}

.lunchbox .block-b .text span {
    display: block;
    font-size: 0.9em;
}

.lunchbox .block-b .bt, .lunchbox .block-a .bt {
    width: 36%;
}

.lunchbox .block-b .bt a, .lunchbox .block-a .bt a {
    width: 100%;
    display: block;
    background: rgb(255, 255, 255);
    text-align: center;
    border-radius: 25vh;
    padding: 1rem;
    box-sizing: border-box;
    cursor: pointer;
}

.lunchbox .block-b .bt a:hover, .lunchbox .block-a .bt a:hover {
    width: 100%;
    background: rgb(0, 0, 0);
    color: rgb(255, 255, 255);
}

.lunchbox .ph {
    width: 100%;
    max-width: 900px;
}

.lunchbox .ph ul {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    margin: 2rem auto;
}

.lunchbox .ph ul li:first-child {
    width: 49%;
    height: auto;
    background: url("../image/service/bento-a.jpg") center center / cover no-repeat;
    aspect-ratio: 3 / 4;
    border: 5px solid rgb(255, 255, 255);
    box-sizing: border-box;
}

.lunchbox .ph ul li:last-child {
    width: 49%;
}

.lunchbox .ph ul li:last-child .box-a {
    background: url("../image/service/bento-b.jpg") center center / cover no-repeat;
    aspect-ratio: 4 / 3;
    border: 5px solid rgb(255, 255, 255);
    box-sizing: border-box;
    margin: 0px 0px 1rem;
}

.lunchbox .ph ul li:last-child .box-b {
    background: url("../image/service/bento-c.jpg") center center / cover no-repeat;
    aspect-ratio: 4 / 3;
    border: 5px solid rgb(255, 255, 255);
    box-sizing: border-box;
}

.lunchbox .ph img {
    width: 100%;
}

.yoyaku {
    background: rgb(255, 255, 255);
    padding: 2rem;
    width: 100%;
    max-width: 900px;
    box-sizing: border-box;
}

.yoyaku ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    max-width: 700px;
    margin: 0px auto;
}

.yoyaku ul li {
    width: 60%;
}

.yoyaku ul li:first-child {
    width: 39%;
    border-right: 1px solid rgb(0, 0, 0);
    position: relative;
}

.yoyaku ul li:first-child p {
    display: inline;
    background: linear-gradient(transparent 60%, rgb(255, 245, 110) 60%);
    padding: 0px 0.2em;
    font-weight: 500;
}

.yoyaku ul li:first-child span {
    display: inline-block;
    font-size: 1.6em;
}

.yoyaku ul li:last-child {
    padding-left: 3rem;
    box-sizing: border-box;
}

.yoyaku ul li:last-child a {
    display: block;
    font-size: 1.5em;
    position: relative;
    padding-left: 35px;
    align-items: center;
}

.yoyaku ul li:last-child a::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: url("../image/common/ic-sp.svg") center center / 100% no-repeat;
}

.yoyaku ul li:last-child span {
    display: block;
    font-size: 0.85em;
}

.access {
    width: 100%;
    max-width: 900px;
    margin: 0px auto;
    padding: 10rem 0px 5rem;
}

.access .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    width: 95%;
    max-width: 1200px;
    margin: 0px auto;
}

.access .lbox {
    width: 52%;
    border-right: 1px solid rgb(0, 0, 0);
    padding: 2rem 6% 2rem 0px;
    box-sizing: border-box;
    position: relative;
}
.access .cbox {
    width: 100%;
    padding: 2rem 0 2rem 0px;
    box-sizing: border-box;
    position: relative;
}
.access .rbox {
    width: 48%;
    padding: 2rem 0px 2rem 6%;
    box-sizing: border-box;
}
.access .cbox .ph img ,
.access .lbox .ph img {
    width: 100%;
}

.access .rbox .ggmap {
    position: relative;
    padding-bottom: 75%;
    padding-top: 30px;
    height: auto;
    overflow: hidden;
    border: 0px solid rgb(255, 255, 255);
}

.access .rbox .ggmap iframe, .access .rbox .ggmap object, .access .rbox .ggmap embed {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}
.access .cbox .title,
.access .lbox .title,
.access .rbox .title {
    font-weight: 500;
    margin: 0px 0px 1rem;
    position: relative;
    padding-left: 45px;
    display: flex;
    align-items: center;
}
.access .cbox .title::before,
.access .lbox .title::before,
.access .rbox .title::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: url("../image/common/kz-tenten.svg") center center / 100% no-repeat;
}
.access .cbox p,
.access .lbox p,
.access .rbox p {
    font-size: 0.9em;
    margin-top: 1rem;
}

.access .waku {
    width: 95%;
    max-width: 1200px;
    background: rgb(239, 232, 227);
    margin: 4rem auto 0px;
    padding: 2rem;
    box-sizing: border-box;
    border-radius: 25px;
}

.access .waku ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.access .waku ul li:nth-child(2) {
    position: relative;
    padding-right: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.access .waku ul li:nth-child(2)::after {
    content: "";
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: url("../image/common/arrows-r.svg") center center / 100% no-repeat;
}

.access .waku ul li.fb a {
    display: block;
    background: url("../image/common/ic-fb.svg") center center / 100% no-repeat;
    padding: 28px;
}

.access .waku ul li.insta a {
    display: block;
    background: url("../image/common/ic-insta.svg") center center / 100% no-repeat;
    padding: 28px;
}

@media (max-width: 1000px) {
    .aisatsu {
        padding: 2rem 0px 5rem;
    }
    .aisatsu .service-name {
        gap: 2rem;
        margin: 3rem auto 4rem;
    }
    .aisatsu .service-name .lbox {
        min-height: 260px;
        padding: 3rem 1.5rem;
    }
    .bread .menu .slick-prev {
        left: -10px;
    }
    .bread .menu .slick-next {
        right: -10px;
    }
}

@media (max-width: 800px) {
    .aisatsu .box .text {
        width: 95%;
    }

    .aisatsu .service-name {
        flex-direction: column;
        gap: 1.5rem;
        margin: 2rem auto 3rem;
    }

    .aisatsu .service-name .lbox, .aisatsu .service-name .rbox {
        width: 100%;
    }

    .aisatsu .service-name .lbox {
        min-height: auto;
        padding: 2.5rem 1.5rem;
    }

    .aisatsu .box .menu-link {
        gap: 1rem;
    }

    .aisatsu .box .menu-link li {
        width: 48%;
    }

    .bread .hako .text {
        width: 100%;
    }

    .bread .hako .bt {
        width: 100%;
        max-width: 300px;
        margin: 0px auto;
    }

    .lunchbox .block-b .text, .lunchbox .block-a .text {
        width: 100%;
    }

    .lunchbox .block-b .bt, .lunchbox .block-a .bt {
        width: 100%;
        max-width: 300px;
        margin: 0px auto;
    }

    .yoyaku ul li {
        width: 100%;
    }

    .yoyaku ul li:last-child {
        padding-left: 0rem;
        box-sizing: border-box;
    }

    .yoyaku ul li:first-child {
        width: 100%;
        border-right: 0px solid rgb(0, 0, 0);
        border-bottom: 1px solid rgb(0, 0, 0);
        padding: 0px 0px 1rem;
        margin: 0px 0px 1rem;
    }

    .access {
        width: 100%;
        padding: 5rem 0px;
    }

    .access .lbox {
        width: 100%;
        border-right: 0px solid rgb(0, 0, 0);
        border-bottom: 1px solid rgb(0, 0, 0);
        padding: 2rem 0px;
    }

    .access .rbox {
        width: 100%;
        padding: 2rem 0px;
    }

    .access .waku ul li:first-child {
        width: 100%;
        text-align: center;
    }
}
@media (max-width: 600px) {
.bread .menu .slick-prev,
.bread .menu .slick-next{display: none!important;}   
}
@media (max-width: 480px) {
    .aisatsu .box .menu-link {
        width: 100%;
        margin: 0px auto;
    }

    .aisatsu .box .menu-link li {
        width: 100%;
    }

    .access .waku ul li:nth-child(2) {
        width: 100%;
    }

    .access .waku ul li:nth-child(2)::after {
        content: "";
        position: absolute;
        right: 50%;
        top: 50%;
        margin-right: -55px;
    }
}

.yume .aisatsu .tatemoji {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
    max-width: 1200px;
    margin: 3rem auto;
}

.yume .aisatsu .tatemoji .lbox, .yume .aisatsu .tatemoji .rbox {
    width: 50%;
}

.yume .aisatsu .tatemoji .lbox {
    display: flex;
    justify-content: flex-start;
    position: relative;
}

.yume .aisatsu .tatemoji p {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: clamp(1.3rem, 2vw, 1.5rem);
    line-height: 2.2;
    letter-spacing: 0.08em;
    margin: 0px auto;
    color: rgb(17, 17, 17);
    font-weight: 400;
}

.yume .aisatsu .tatemoji p span {
    display: block;
}

.yume .aisatsu .tatemoji .lbox {
    position: relative;
}

.yume .aisatsu .tatemoji .lbox .kz-map {
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 2;
    width: 400px;
    height: auto;
    padding: 260px 50px;
    background: url("../image/service/saga-map.svg") center center / 100% no-repeat;
    transform: translate(450px, -300px);
    transition: transform 0.8s, width 0.8s, padding 0.8s, opacity 0.8s;
    opacity: 1;
}

.yume .aisatsu .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    width: 95%;
    margin: 0px auto;
}

.yume .aisatsu .box .lbox, .yume .aisatsu .box .rbox {
    width: 48%;
}

.yume .aisatsu .box .lbox p span {
    display: block;
}

.yume .sliderArea {
    max-width: 100%;
    margin: 0px auto;
    padding: 0px 25px;
}

.yume .sliderArea.w300 {
    max-width: 300px;
}

.yume .slick-slide {
    margin: 0px;
}

.yume .slick-slide img {
    width: 100%;
    height: auto;
    border: 6px solid rgb(255, 255, 255);
    box-sizing: border-box;
    margin: 0px;
}

.yume .thumbnail .slick-slide {
    margin: 0px 5px;
}

.yume .thumbnail-img img {
    border: 0px solid rgb(255, 255, 255);
}

.yume .slick-prev, .yume .slick-next {
    z-index: 1;
}

.yume .slick-prev {
    background: url("../image/common/arrows-l.svg") center center / 100% no-repeat;
}

.yume .slick-next {
    background: url("../image/common/arrows-r.svg") center center / 100% no-repeat;
}

.yume .slick-prev::before, .yume .slick-next::before {
    display: none;
}

.yume .slick-slide {
    transition: 0.3s ease-in-out;
    opacity: 0.2;
}

.yume .slick-active {
    opacity: 1;
}

.yume .slick-current {
    opacity: 1;
}

.yume .thumbnail {
    margin: 20px 0px 0px;
}

.yume .thumbnail .slick-slide {
    cursor: pointer;
}

.yume .thumbnail .slick-slide:hover {
    opacity: 0.7;
}

.online {
    width: 100%;
    position: relative;
    padding: 5rem 0px;
}

.online .box-a {
    width: 100%;
    position: relative;
    padding: 5rem 0px;
}

.online .box-a .title {
    text-align: center;
    padding: 0px 0px 1rem;
    font-size: 1.2em;
    font-weight: 500;
}

.online .box-a p {
    text-align: center;
}

.online .box-a p span {
    display: block;
}

.online .box-b {
    width: 100%;
    max-width: 1200px;
    position: relative;
    padding: 10rem 0px;
    margin: 0px auto;
}

.online .box-b .en-a {
    width: 200px;
    height: 200px;
    border-radius: 50vh;
    background: rgb(239, 232, 227);
    position: absolute;
    top: -400px;
    left: 15%;
    z-index: -1;
}

.online .box-b .en-b {
    width: 200px;
    height: 200px;
    border-radius: 50vh;
    background: rgb(231, 238, 220);
    position: absolute;
    top: 200px;
    left: 0%;
    z-index: -1;
}

.online .box-b .en-c {
    width: 200px;
    height: 200px;
    border-radius: 50vh;
    background: 0% 0% / cover rgb(231, 236, 236);
    position: absolute;
    top: -200px;
    right: 0%;
}

.online .box-b ul li {
    width: clamp(100px, 28vw, 300px);
    height: clamp(100px, 28vw, 300px);
    border-radius: 50vh;
    background: url("../image/service/en-rencon-a.jpg") center center / contain no-repeat;
    position: absolute;
    top: -180px;
    left: 0%;
    z-index: -1;
}

.online .box-b ul li:nth-child(2) {
    background: url("../image/service/en-rencon-b.jpg") center center / contain no-repeat;
    top: 50px;
    left: 25%;
    z-index: -1;
}

.online .box-b ul li:nth-child(3) {
    background: url("../image/service/en-rencon-c.jpg") center center / contain no-repeat;
    top: -100px;
    left: 55%;
    z-index: -1;
}

.online .box-b ul li:last-child {
    background: url("../image/service/en-rencon-d.jpg") center center / contain no-repeat;
    top: 100px;
    left: 80%;
    z-index: -1;
}

.online .box-c {
    width: 100%;
    position: relative;
    padding: 5rem 0px;
    text-align: center;
}

.online .box-c .hukidashi {
    position: relative;
    max-width: 300px;
    margin: 0px auto;
}

.online .box-c .hukidashi::before {
    content: "";
    padding: 20px;
    background: url("../image/common/sen-left.svg") center center / contain no-repeat;
    position: absolute;
    top: 20px;
    left: 0px;
}

.online .box-c .hukidashi::after {
    content: "";
    padding: 20px;
    background: url("../image/common/sen-right.svg") center center / contain no-repeat;
    position: absolute;
    top: 20px;
    right: 0px;
}

.online .box-c .bt {
    position: relative;
    width: 95%;
    max-width: 350px;
    min-height: 72px;
    margin: 1rem auto 0px;
}

.online .box-c a {
    display: block;
    padding: 1.2rem 0px;
    box-sizing: border-box;
    border-radius: 999px;
    background: rgb(231, 238, 220);
    font-size: 0.9em;
    font-weight: 500;
    line-height: 1.5;
    cursor: pointer;
    transition: opacity 0.3s, transform 0.3s;
}

.online .box-c a::before {
    content: "";
    width: 50px;
    height: 50px;
    padding: 15px;
    margin: 0px 10px 0px 0px;
    background: url("../image/common/ic-cart-w.svg") center center / 100% no-repeat;
}

.online .box-c a:hover {
    opacity: 0.6;
    transform: translateY(-1px);
}

@media (max-width: 900px) {
   .yume .aisatsu {
        padding: 2rem 0px 0;
    }
    .yume .aisatsu .tatemoji .lbox .kz-map {
        width: 200px;
        padding: 150px 50px;
        z-index: -1;
        transform: translate(0px, -50px);
        opacity: 0.85;
    }

    .yume .aisatsu .tatemoji .lbox, .yume .aisatsu .tatemoji .rbox {
        width: 100%;
    }

    .online {
        padding: 0px 0px 4rem;
    }

    .online .box-b {
        padding: 8vw 0px;
    }

    .online .box-b .en-a, .online .box-b .en-b, .online .box-b .en-c {
        width: clamp(100px, 25vw, 180px);
        height: clamp(100px, 25vw, 180px);
    }

    .online .box-b .en-a {
        top: -50vw;
        left: 15%;
    }

    .online .box-b .en-b {
        top: 12vw;
        left: 0%;
    }

    .online .box-b .en-c {
        top: -25vw;
        right: 0%;
    }

    .online .box-b ul li {
        /* opacity: 0.6; */
        top: -25vw;
        left: 0%;
    }

    .online .box-b ul li:nth-child(2) {
        top: 0px;
        left: 25%;
    }

    .online .box-b ul li:nth-child(3) {
        top: -20vw;
        left: 55%;
    }

    .online .box-b ul li:last-child {
        top: 5vw;
        left: 80%;
    }
}

@media (max-width: 800px) {
.yume .aisatsu .box .lbox, .yume .aisatsu .box .rbox {
    width: 100%;
    margin: 0px 0px 3rem;
}
.yume .slick-prev {left: -10px;}
.yume .slick-next {right: -10px;}

.online .box-a {
    padding: 2rem 0px 10rem;
}
}

.comugi .aisatsu .yokomoji {
    width: 95%;
    max-width: 1200px;
    margin: 0px auto;
    position: relative;
    z-index: 2;
    padding-bottom: 2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
}

.comugi .aisatsu .yokomoji .lbox, .comugi .aisatsu .yokomoji .rbox {
    width: 50%;
    padding: 1rem;
    box-sizing: border-box;
}

.comugi .aisatsu .yokomoji .lbox {
    display: flex;
    justify-content: center;
}

.comugi .aisatsu .yokomoji .lbox p span, .comugi .aisatsu .yokomoji .rbox p span {
    display: block;
}

.comugi .aisatsu .yokomoji .lbox p {
    text-align: left;
    display: inline-block;
    font-weight: 500;
    font-size: 1.2em;
}

.comugi .aisatsu .ens-a, .comugi .aisatsu .ens-b, .comugi .aisatsu .ens-c {
    position: absolute;
    border-radius: 50%;
    z-index: -1;
    transition: 0.4s;
}

.comugi .aisatsu .ens-a {
    width: clamp(100px, 16vw, 200px);
    height: clamp(100px, 16vw, 200px);
    background: rgb(239, 232, 227);
    top: clamp(0px, 3vw, 40px);
    left: 65%;
}

.comugi .aisatsu .ens-b {
    width: clamp(100px, 16vw, 200px);
    height: clamp(100px, 16vw, 200px);
    background: rgb(231, 238, 220);
    top: clamp(620px, 58vw, 760px);
    left: 0%;
}

.comugi .aisatsu .ens-c {
    width: clamp(100px, 16vw, 200px);
    height: clamp(100px, 16vw, 200px);
    background: rgb(231, 236, 236);
    top: clamp(260px, 28vw, 360px);
    right: 0%;
}

.house {
    display: block;
    width: 100%;
    background: rgb(242, 241, 234);
    padding: 8rem 0px 5rem;
}

.comugi .house .hsbox {
    width: 95%;
    max-width: 900px;
    margin: 0px auto 5rem;
}

.house .hsbox .title {
    padding: 0px 0px 1rem;
    margin: 0px 0px 2rem;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap;
    border-bottom: 0.5px solid rgb(0, 0, 0);
}

.house .hsbox .title .name {
    width: 70%;
    font-weight: 500;
    font-size: 1.2em;
}

.house .hsbox .title .tag {
    width: 30%;
    background: rgb(255, 255, 255);
    border-radius: 25vh;
    padding: 0.5rem 2rem;
    font-size: 0.9em;
    text-align: center;
    box-sizing: border-box;
    line-height: 1.5;
}
.house .rasuku img,
.house .choco img{
    width:100%;
}
.house .sliderArea {
    max-width: 100%;
    margin: 0px auto;
    padding: 0px 25px;
}

.house .sliderArea.w300 {
    max-width: 300px;
}

.house .slick-slide {
    margin: 0px;
}

.house .slick-slide img {
    width: 100%;
    height: auto;
    border: 6px solid rgb(255, 255, 255);
    box-sizing: border-box;
    margin: 0px 0px 1rem;
}

.house .thumbnail .slick-slide {
    margin: 0px 5px;
}

.house .thumbnail-img img {
    border: 0px solid rgb(255, 255, 255);
}

.house .slick-prev, .house .slick-next {
    z-index: 1;
}

.house .slick-prev {
    background: url("../image/common/arrows-l.svg") center center / 100% no-repeat;
}

.house .slick-next {
    background: url("../image/common/arrows-r.svg") center center / 100% no-repeat;
}

.house .slick-prev::before, .house .slick-next::before {
    display: none;
}

.house .slick-slide {
    transition: 0.3s ease-in-out;
    opacity: 0.2;
}

.house .slick-active {
    opacity: 1;
}

.house .slick-current {
    opacity: 1;
}

.house .thumbnail .slick-slide {
    cursor: pointer;
}

.house .thumbnail .slick-slide:hover {
    opacity: 0.7;
}

@media (max-width: 1000px) {
    .house .slick-prev {
        left: -10px;
    }

    .house .slick-next {
        right: -10px;
    }
}

@media (max-width: 800px) {
    .comugi .aisatsu .yokomoji {
        padding-bottom: 0rem;
    }

    .comugi .aisatsu .yokomoji .lbox, .comugi .aisatsu .yokomoji .rbox {
        width: 100%;
        box-sizing: border-box;
        padding: 0px;
    }

    .comugi .aisatsu .service-name .lbox, .comugi .aisatsu .service-name .rbox {
        width: 100%;
    }

    .comugi .aisatsu .yokomoji .lbox {
        padding: 0px 0px 1rem;
    }

    .comugi .aisatsu .ens-a, .comugi .aisatsu .ens-b, .comugi .aisatsu .ens-c {
        width: clamp(100px, 25vw, 180px);
        height: clamp(100px, 25vw, 180px);
    }

    .comugi .aisatsu .ens-a {
        top: clamp(400px, 45vw, 450px);
        left: 5%;
    }

    .comugi .aisatsu .ens-b {
        top: clamp(760px, 95vw, 820px);
        left: -5%;
    }

    .comugi .aisatsu .ens-c {
        top: clamp(540px, 70vw, 600px);
        right: -5%;
    }
}

@media (max-width: 600px) {
    .house {
        padding: 4rem 0px 0px;
    }

    .comugi .house .hsbox {
        width: 95%;
        max-width: 1200px;
        margin: 0px auto 3rem;
    }

    .house .hsbox .title .name {
        width: 100%;
        padding: 0px 0px 0.5rem;
        font-size: 1em;
    }

    .house .hsbox .title .tag {
        width: 100%;
    }
}

.comugi .riyoryo {
    width: 100%;
    background: rgb(231, 238, 220);
    padding: 5rem 0px;
}

.comugi .riyoryo .ichiean {
    width: 95%;
    max-width: 900px;
    margin: 0px auto 5rem;
}

.comugi .riyoryo .seikyu h2, .comugi .riyoryo .ichiean h2 {
    text-align: center;
    font-size: 1.5em;
}

.comugi .riyoryo .seikyu h2 span {
    display: block;
    font-size: 0.6em;
    padding: 0.5rem;
}

.comugi .riyoryo .ichiean .dlbox {
    margin: 2rem 0px 0px;
}

.comugi .riyoryo .ichiean dl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background: rgb(255, 255, 255);
    margin: 1rem 0px;
    padding: 1rem 2rem;
    border-radius: 5px;
    text-align: center;
    box-sizing: border-box;
}

.comugi .riyoryo .ichiean dl dt, .comugi .riyoryo .ichiean dl dd {
    font-weight: 500;
}

.comugi .riyoryo .shokuhi {
    margin-top: 1rem;
    display: flex;
    justify-content: flex-end;
}

.comugi .riyoryo .shokuhi .hiyou {
    padding: 0px 1rem;
    display: inline-block;
    border-bottom: 1px solid rgb(0, 0, 0);
}

.comugi .riyoryo .shokuhi p {
    font-size: 1em;
    padding: 0.5rem 0px;
}

.comugi .riyoryo .shokuhi p span {
    margin-left: 1rem;
    font-size: 1.5em;
}

.comugi .riyoryo .seikyu {
    width: 100%;
}

.comugi .riyoryo .seikyu .box {
    display: flex;
    gap: 20px;
    width: 95%;
    max-width: 900px;
    margin: 3rem auto;
}

.comugi .riyoryo .seikyu .box div {
    flex: 1 1 0%;
    background: rgb(255, 255, 255);
    padding: 2rem 1rem;
    box-sizing: border-box;
}

.comugi .riyoryo .seikyu .box div {
    width: calc(33.3333%);
    margin: 0px;
    background: rgb(255, 255, 255);
    padding: 2.5rem 1rem;
    border-radius: 5px;
}

.comugi .riyoryo .seikyu .box div p {
    width: 100%;
    text-align: center;
}

.comugi .riyoryo .seikyu .box div p span {
    display: block;
}

.comugi .riyoryo .biko {
    width: 100%;
}

.comugi .riyoryo .biko ul {
    width: 95%;
    max-width: 900px;
    margin: 3rem auto;
    border-top: 1px solid rgb(0, 0, 0);
    border-bottom: 1px solid rgb(0, 0, 0);
    padding: 2rem;
    box-sizing: border-box;
}

.comugi .riyoryo .biko ul li {
    width: 95%;
    text-indent: -1em;
    padding-left: 2em;
}

.comugi .access .box {
    display: block;
    width: 95%;
    max-width: 900px;
    margin: 0px auto;
}

.comugi .access .title {
    font-weight: 500;
    margin: 0px 0px 1rem;
    position: relative;
    padding-left: 45px;
    display: flex;
    align-items: center;
}

.comugi .access .title::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: url("../image/common/kz-tenten.svg") center center / 100% no-repeat;
}

@media (max-width: 800px) {
    .comugi .aisatsu {
        padding: 0px;
    }

    .comugi .riyoryo .biko ul {
        width: 95%;
        padding: 2rem 1rem;
        box-sizing: border-box;
    }
}

.kanchan .aisatsu .tatemoji {
    width: 95%;
    max-width: 1200px;
    margin: 0px auto;
    position: relative;
    z-index: 2;
    padding: 5rem 0px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
}

.kanchan .aisatsu .tatemoji .lbox, .kanchan .aisatsu .tatemoji .rbox {
    width: 50%;
    padding: 1rem;
    box-sizing: border-box;
}

.kanchan .aisatsu .tatemoji .lbox {
    display: flex;
    justify-content: flex-start;
    position: relative;
}

.kanchan .aisatsu .tatemoji .lbox p {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    line-height: 2.2;
    letter-spacing: 0.08em;
    margin: 0px auto;
    color: rgb(17, 17, 17);
    font-weight: 400;
}

.kanchan .aisatsu .tatemoji .lbox p span, .kanchan .aisatsu .tatemoji .rbox p span {
    display: block;
}

.kanchan .aisatsu .ens-a, .kanchan .aisatsu .ens-b, .kanchan .aisatsu .ens-c {
    position: absolute;
    border-radius: 50%;
    z-index: -1;
    transition: 0.4s;
}

.kanchan .aisatsu .ens-a {
    width: clamp(100px, 16vw, 200px);
    height: clamp(100px, 16vw, 200px);
    background: rgb(239, 232, 227);
    top: clamp(-50px, 3vw, -88px);
    left: 92%;
}

.kanchan .aisatsu .ens-b {
    width: clamp(100px, 16vw, 200px);
    height: clamp(100px, 16vw, 200px);
    background: rgb(231, 238, 220);
    top: clamp(620px, 58vw, 760px);
    left: 0%;
}

.kanchan .aisatsu .ens-c {
    width: clamp(100px, 16vw, 200px);
    height: clamp(100px, 16vw, 200px);
    background: rgb(231, 236, 236);
    top: clamp(250px, 28vw, 60px);
    right: 0%;
}

.kanchan .ens-ph {
}

.kanchan .aisatsu .ens-ph {
    position: absolute;
    border-radius: 50%;
    transition: 0.35s;
}

.kanchan .aisatsu .ens-ph {
    background: url("../image/service/en-kanchan-a.jpg") center center / cover no-repeat;
    width: 340px;
    height: 340px;
    top: 30px;
    left: 60%;
}

.homonkango .box {
    width: 95%;
    max-width: 1200px;
    margin: 0px auto 5rem;
}

.homonkango .title {
    font-weight: 500;
    margin: 0px 0px 1rem;
    position: relative;
    padding-left: 45px;
    display: flex;
    align-items: center;
}

.homonkango .title::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: url("../image/common/kz-tenten.svg") center center / 100% no-repeat;
}

.homonkango .kango-a .waku, .homonkango .kango-c .waku {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    background: rgb(242, 241, 234);
    border-radius: 5px;
    padding: 2rem;
    box-sizing: border-box;
    margin: 0px 0px 3rem;
}

.homonkango .kango-c .waku {
    background: rgb(231, 236, 236);
}

.homonkango .kango-a .waku .ph, .homonkango .kango-c .waku .ph {
    width: 30%;
    border: 5px solid rgb(255, 255, 255);
    box-sizing: border-box;
}

.homonkango .kango-a .waku .ph img, .homonkango .kango-c .waku .ph img {
    width: 100%;
}

.homonkango .kango-a .waku .text, .homonkango .kango-c .waku .text {
    width: 70%;
    box-sizing: border-box;
    padding: 0px 0px 0px 2rem;
}

.homonkango .kango-b ul, .homonkango .kango-d ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1.5rem 2%;
    width: 100%;
    max-width: 1200px;
    margin: 0px auto 3rem;
    padding: 0px;
}

.homonkango .kango-d ul {
    margin: 0px auto;
}

.homonkango .kango-b ul li, .homonkango .kango-d ul li {
    box-sizing: border-box;
    width: calc(23.5%);
    background: rgb(231, 238, 220);
    padding: 4rem 2rem;
    text-align: center;
    border-radius: 5px;
    list-style: none;
    margin: 0px;
}

.homonkango .kango-d ul li {
    width: calc(32%);
    background: rgb(239, 232, 227);
    padding: 6rem 3rem;
}

.homonkango .kango-b ul li img, .homonkango .kango-d ul li img {
    width: 60px;
    margin: 0px 0px 1rem;
}

.homonkango .kango-b ul li p {
    text-align: center;
}

.homonkango .kango-d ul li p {
    text-align: left;
}

.homonkango .kango-b ul li p span, .homonkango .kango-d ul li p span {
    display: block;
}

.homonkango .kango-d ul li .midashi {
    font-size: 1.2rem;
    padding: 0px 0px 1rem;
    font-weight:500;
}
.homonkango .kango-d ul li .midashi span{
    display:block;
}
.price {
    background: rgb(242, 241, 234);
    width: 100%;
    margin: 0px auto;
}

.price .box {
    width: 95%;
    max-width: 1200px;
    margin: 0px auto 5rem;
    padding: 5rem 0px;
}

.price .box .title {
    text-align: center;
    font-size: 1.5rem;
}

.price .box .title span {
    display: block;
    font-size: 1rem;
}

.price .case {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1.5rem 3%;
    width: 100%;
    max-width: 1200px;
    margin: 3rem auto;
    padding: 0px;
}

.price .case .rbox, .price .case .lbox {
    box-sizing: border-box;
    width: calc(48.5%);
    background: rgb(247, 246, 242);
    padding: 4rem 3rem;
    text-align: center;
    border-radius: 10px;
    list-style: none;
    margin: 0px;
    box-shadow: rgba(128, 128, 128, 0.36) 0px 0px 8px;
}

.price .case .case-a {
    font-size: 1.1em;
     font-weight:500;
}

.price .case .waku {
    background: rgb(255, 255, 255);
    margin: 2rem 0px 1rem;
    padding: 1rem;
    border-radius: 5px;
    font-weight:500;
}

.price .case .waku span {
    display: inline-block;
    background: linear-gradient(transparent 50%, rgb(255, 245, 110) 50%);
}

.price .case p {
    text-indent: -1em;
    padding-left: 1em;
}

.price .box a {
    display: block;
    cursor: pointer;
    color: rgb(0, 127, 168);
}

.price .box a::before {
    content: "";
    background: url("../image/common/ic-link.svg") center center / 100% no-repeat;
    padding: 3px 6px;
    margin-right: 0.5em;
}

@media screen and (max-width: 1024px) {
    .homonkango .kango-b ul {
        row-gap: 1rem;
    }

    .homonkango .kango-b ul li {
        width: calc(32%);
    }
}

@media screen and (max-width: 800px) {
    .kanchan .aisatsu .ens-ph {
        width: 200px;
        height: 200px;
        top: 790px;
        opacity: 0.6;
    }

    .kanchan .aisatsu .tatemoji .lbox p {
        writing-mode: horizontal-tb;
        text-orientation: mixed;
    }

    .kanchan .aisatsu .tatemoji .lbox, .kanchan .aisatsu .tatemoji .rbox {
        width: 100%;
    }

    .homonkango .kango-b ul {
        row-gap: 0.6rem;
    }

    .homonkango .kango-b ul li {
        width: calc(49%);
        padding: 2rem 1rem;
    }

    .homonkango .kango-b ul li p span {
        display: contents;
    }

    .homonkango .kango-d ul {
        gap: 1rem 0%;
    }

    .homonkango .kango-d ul li {
        width: calc(100%);
        padding: 4rem 2rem;
    }

    .price .case .rbox, .price .case .lbox {
        width: calc(100%);
        padding: 4rem 1rem;
    }
}

@media screen and (max-width: 600px) {
    .kanchan .aisatsu .ens-ph {
        width: 200px;
        height: 200px;
        top: 920px;
        opacity: 0.6;
    }

    .homonkango .kango-a .waku .ph, .homonkango .kango-c .waku .ph {
        width: 100%;
    }

    .homonkango .kango-a .waku .text, .homonkango .kango-c .waku .text {
        width: 100%;
        box-sizing: border-box;
        padding: 1rem 0px 0px;
    }
}

.thankbox {
    width: 100%;
    margin: 0px auto;
}

.thankbox .text {
    width: 95%;
    max-width: 1200px;
    margin: 5rem auto;
}

.futaarea {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
.futa-logo {
    width: 100%;
    max-width: 600px;
    margin: 0; 
}
.futa-logo .logo-ph {
    width: 95%;
    max-width: 250px;
    margin: 0 auto 3rem;
}

.futa-logo .logo-ph img {
    width: 100%;
}

.futa-logo .text {
    text-align: center;
    font-size:2rem;
    line-height:1.5;
}
@media screen and (max-width: 700px) {
.futa-logo .text {
    text-align: center;
    font-size:1.2rem;
    line-height:1.5;
}
    }