html {
    scroll-padding-top: 104px;
}
body {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    color: #262C37!important;
    background-color: #F3F5F6!important;
    overflow-x: hidden;
}
body>.en-container, .w-full .en-container {
    width: 77.5vw;
    margin: 0 auto;
}
body>.en-container.w-full {
    width: 100vw;
    margin: 0;
}
.navbar {
    padding: 0!important;
    width: 100%;
}
.navbar-brand {
    padding: 0!important;
}
.navbar-toggler {
    display: none;
}
.navbar>.en-container {
    width: 88.75vw;
    margin: 32px auto;
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between;
}
.navbar a.navbar-brand>img {
    height: 30px;
}
.navbar>.en-container>.navbar-nav {
    flex-direction: row;
    gap: 32px;
}
.navbar .navbar-nav .nav-link {
    font-size: 15px;
    line-height: 1.6;
    opacity: 1;
    transition: 0.2s ease-in-out;
}
.navbar .navbar-nav .nav-link:not(.btn):hover {
    opacity: 0.6;
}
.navbar.navbar-bg-transparent .navbar-nav .nav-link {
    color: #fff;
}
.navbar-alt {
    background-color: #fff;
    position: fixed;
    top: 0;
    width: 100vw;
    height: 104px;
    transition: top 0.3s;
    z-index: 9999;
}
:not(.container-index) .navbar-alt {
    background-color: #F3F5F6;
}
.navbar+.navbar-alt {
    top: -104px;
}
.btn {
    color: #fff !important;
    font-weight: 600;
    height: 56px;
    border-radius: 60px !important;
    padding-left: 30px;
    padding-right: 30px;
    display: inline-flex !important;
    flex-direction: row;
    align-items: center;
    gap: 6px;
}
.nav-item .btn {
    height: 40px;
    border-radius: 40px;
    padding-left: 20px;
    padding-right: 20px;
}
.btn>i {
    background-color: #ffffff;
}
.btn-bordered {
    box-sizing: border-box;
    border-width: 2px;
    border-style: solid;
}
.btn-default {
    background-color: #262C37 !important;
}
.btn-default:hover {
    box-sizing: border-box;
    color: #262C37 !important;
    background-color: #ffffff !important;
}
.btn-default:hover>i {
    background-color: #262C37 !important;
}
.btn-bordered.btn-default {
    border-color: #262C37!important;
		text-decoration: none;
}

.btn-contact {
    background-color: #0D9BB2;
}
.btn-contact:hover {
    color: #0D9BB2 !important;
    background-color: #ffffff;
}
.btn-contact:hover>i {
    background-color: #0D9BB2 !important;
}
.btn-bordered.btn-contact {
    border-color: #0D9BB2;
}
.btn-recruit-application {
    color: #0D9BB2 !important;
    background-color: #ffffff;
}
.btn-recruit-application>i {
    background-color: #28b0c7 !important;
}

.btn-recruit-application:hover {
    color: #ffffff !important;
    background-color: #29b1c8;
}
.btn-recruit-application:hover>i {
    background-color: #ffffff !important;
}
.btn-recruit-application.btn-bordered {
    border-color: #ffffff;
}
.icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    mask-position: center center !important;
    mask-repeat: no-repeat !important;
}
.icon-letter {
    mask: url('data:image/svg+xml;utf8,<svg width="16" height="12" viewBox="0 0 16 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 0V12H16V0H0ZM14.3453 1.33333L8 6.47533L1.65467 1.33333H14.3453ZM1.33333 10.6667V2.78867L8 8.19133L14.6667 2.78867V10.6667H1.33333Z" fill="currentColor"/></svg>');
}
.icon-chevron-right {
    width: 10px;
    height: 10px;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 7 10"><path d="M1,10c-.3,0-.6-.1-.8-.4-.3-.4-.3-1.1.2-1.4l4-3.2L.4,1.8C0,1.4-.1.8.2.4.6,0,1.2-.1,1.6.2l5,4c.2.2.4.5.4.8s-.1.6-.4.8L1.6,9.8c-.2.1-.4.2-.6.2Z" fill="currentColor"/></svg>');
}
.icon-chevron-left {
    width: 10px;
    height: 10px;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 7 10"><path d="M6,0c.3,0,.6.1.8.4.3.4.3,1.1-.2,1.4l-4,3.2,4,3.2c.4.4.5,1,.2,1.4-.4.4-1,.5-1.4.2L.4,5.8C.2,5.6,0,5.3,0,5s0-.6.4-.8L5.4.2c.2-.1.4-.2.6-.2Z" fill="currentColor"/></svg>');
}
.icon-download {
    mask: url('data:image/svg+xml;utf8,<svg width="12" height="14" viewBox="0 0 12 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 11.875L1.63636 7H4.90909V0.5H7.09091V7H10.3636L6 11.875ZM10.9091 11.3333V12.4167H1.09091V11.3333H0V13.5H12V11.3333H10.9091Z" fill="currentColor"/></svg>');
}
.navbar-nav .nav-item:has(.btn-contact) {
    margin-left: 20px;
}
.en-container .sticky-container {
    padding: 10vw 0;
}
.en-container .sticky-container::-webkit-scrollbar {
    display: none;
}
.en-container .sticky-container .sticky-title {
    position: sticky;
    top: 0;
}
.en-container.bg-filled {
    background-color: #F3F5F6 !important;
}
.loading {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background-color: #1e1e1e;
    z-index: 99999;
    animation: shutter 2.6s forwards;
}
.loading::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    background-color: #fff;
    width: 0;
    height: 1px;
    animation: shutterOpen 2.6s forwards;
}
body:has(.loading)>*:not(.loading) {
    animation: contentScale 2.6s forwards;
}
body:not(:has(.loading-overlay)) {
    animation: fadein 2.6s forwards;
}
@keyframes shutter {
    70% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        display: none;
        z-index: -1;
    }
}
@keyframes shutterOpen {
    0% {
        width: 0;
        height: 1px;
    }
    50% {
        width: 100%;
        height: 1px;
    }
    90% {
        width: 100vw;
        height: 100vh;
    }
    100% {
        width: 100vw;
        height: 100vh;
    }
}
@keyframes contentScale {
    70% {
        transform: perspective(800px) scale(0.9) rotateX(15deg);
    }
    100% {
        transform: perspective(800px) scale(1) rotateX(0);
    }
}
@keyframes fadein {
    0% {opacity: 0}
    100% {opacity: 1}
}
/* ビデオのフェードイン（通常） */
#hls_video.fade-in {
    transition: opacity 1s ease;
    opacity: 1;
}

/* ビデオのフェードイン（高速） */
#hls_video.quick-fade-in {
    transition: opacity 0.3s ease;
    opacity: 1;
}

/* ローディング画面 */
.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 10;
    pointer-events: none;
    transition: opacity 0.5s ease;
}

.loading-overlay.hidden {
    opacity: 0;
}

/* 上半分 */
.loading-half-top {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: #1a1a1a;
    transform-origin: top;
    transition: transform 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}

/* 下半分 */
.loading-half-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: #1a1a1a;
    transform-origin: bottom;
    transition: transform 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}

/* ワイプアウト時 */
.loading-overlay.wipe-out .loading-half-top {
    transform: translateY(-100%);
}

.loading-overlay.wipe-out .loading-half-bottom {
    transform: translateY(100%);
}

/* プログレス表示（キャッシュ時は非表示） */
.progress-container {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    transform: translateY(-50%);
    z-index: 11;
    transition: opacity 0.3s ease;
}

.progress-container.hidden {
    opacity: 0;
}

.progress-track {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.1);
}

.progress-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background: linear-gradient(90deg, #00a8ff, #0078ff);
    transition: width 0.5s ease-out;
    box-shadow: 0 0 10px rgba(0, 168, 255, 0.5);
}

/* ステータス表示 */
.status-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    z-index: 12;
    transition: opacity 0.3s ease;
}

.status-container.hidden {
    opacity: 0;
}

.loading-text {
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.progress-percentage {
    font-size: 14px;
    font-weight: 300;
    color: #aaa;
}

.cache-status {
    font-size: 12px;
    margin-top: 20px;
    opacity: 0.7;
    color: #00ff00;
}
.modal {
    --bs-modal-zindex: 10055;
    z-index: 10055;
}
.modal-backdrop {
    --bs-backdrop-zindex: 10050;
    z-index: 10050;
}

.en-container:has(+.container-footer-header),
.en-container.w-full:has(+.container-footer-header),
.en-container.w-full:has(+.container-footer) {
    position: relative;
}
.en-container:has(+.container-footer-header):after,
.en-container.w-full:not(.container-footer-header):has(+.container-footer):after {
    position: absolute;
    content: "";
    display: block;
    width: 100vw;
    height: 40px;
    left: -11.25vw;
    bottom: -40px;
    background-color: #F3F5F6;
    border-bottom-left-radius: 40px;
    border-bottom-right-radius: 40px;
}
.en-container.w-full:has(+.container-footer-header):after,
.en-container.w-full:has(+.container-footer):after {
    left: 0!important;
}

.container-footer-header {
    background: url(/images/footer/banner-bg.webp) no-repeat center center;
    background-size: cover;
    padding: 150px 0;
    color: #ffffff;
    position: sticky!important;
    bottom: 0;
    z-index: -3!important;
}
.container-footer-header .en-container h4 {
    position: relative;
    margin-top: 24px;
    font-weight: 800;
    font-size: 34px;
    line-height: 34px;
    margin-bottom: 40px;
}
.container-footer-header .en-container h4 span {
    position: absolute;
    left: 0;
    top: -24px;
    color: #0D9BB2;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0.02em;
}
.container-footer-header .en-container p {
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 50px;
}
.container-footer-header .btn-contact {
    font-size: 17px;
}
.container-footer {
    background: linear-gradient(180deg, #24262A 0%, #141618 100%);
    padding: 150px 0;
    color: #C5C5C5;
    position: sticky!important;
    bottom: 0;
    z-index: -4!important;
}
.container-footer h5 {
    margin-top: 50px;
    font-weight: 800;
    font-size: 17px;
    line-height: 100%;
}
.container-footer .footer-text {
    font-weight: 700;
    font-size: 12px;
    line-height: 20px;
}
.container-footer address {
    font-weight: 700;
    font-size: 14px;
    line-height: 2;
    position: relative;
    left: -0.6em;
}
.container-footer .footer-nav {
    margin-top: 120px;
    flex-direction: row;
    gap: 16px;
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    font-size: 18px;
    line-height: 100%;
}
.container-footer .footer-nav .nav-item {
    opacity: 1;
    transition: opacity 0.2s ease-in-out;
}
.container-footer .footer-nav .nav-item:hover {
    opacity: 0.8;
}
.container-footer .footer-nav .nav-item:not(:last-child) a:after {
    content: "/";
    margin-left: 16px;
}
.container-footer .footer-alt-nav {
    flex-direction: row;
    gap: 32px;
    font-weight: 700;
    font-size: 12px;
    line-height: 20px;
}
.container-footer .footer-bottom {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.container-footer .footer-bottom .copyright {
    color: #515762;
    font-weight: 500;
    font-size: 10px;
    line-height: 28px;
}
.container-footer .footer-bottom .social-links {
    list-style: none;
    display: flex;
    flex-direction: row;
    gap: 8px;
    margin-left: auto;
    transform: translateY(-50%);
}
.container-footer .footer-bottom .social-links a:hover{opacity: .8; transition: .8s}

/* index-page */
.w-full.container-index {
    /* height: 100vh; */
    overflow-x: hidden;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    position: relative;
}
.w-full.container-index>#background-movie {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -2;
    background-color: #262C37!important;
}
.w-full.container-index>#background-movie>video {
    position: absolute;
    width: 100%;
    height: 100vh;
}
.w-full.container-index::-webkit-scrollbar {
    display: none;
}
.w-full.container-index .navbar-bg-transparent {
    position: fixed;
    top:0;
    z-index: 8888;
}
.w-full.container-index .navbar-bg-transparent .en-container {
    position: relative;
    z-index: 9999;
}
.w-full.container-index .index-top-first {
    height: calc(100vh - 45px);
    padding-top: calc(100vh - 250px);
    padding-bottom: 104px;
    position: relative;
    z-index: 1;
}
.w-full.container-index .index-top-first h1 {
    font-size: 7vw;
    font-weight: 900;
    color: #fff;
    height: 104px;
}
.w-full.container-index .scroll-indicator {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: 4px;
    writing-mode: vertical-lr;
    position: fixed;
    transform: translateX(-50%);
    color: #bfbfbf;
    top: calc(50% - 16px);
    right: 37px;
    z-index: 0;
    transition: opacity .5s ease;
}
.w-full.container-index .scroll-indicator:before {
    display: block;
    content: "";
    position: absolute;
    left: 50%;
    top: 74px;
    width: 2px;
    height: 90px;
    background-color: #949494;
}
.w-full.container-index .scroll-indicator:after {
    display: block;
    content: "";
    position: absolute;
    left: 50%;
    top: 74px;
    width: 2px;
    height: 90px;
    background-color: #d4d4d4;
    animation: liner 2.5s cubic-bezier(1, 0, 0, 1) infinite;
}
.w-full.container-index .index-top-second {
    position: relative;
    z-index: 1;
    color: #fff;
    padding: 17vw 0 10vw;
    max-height: inherit!important;
    overflow-x: inherit !important;
    overflow-y: inherit !important;
}
.w-full.container-index .index-top-second .sticky-title {
    top: 104px;
    left: 0;
    font-weight: 900;
    font-size: 3vw;
    line-height: 145%;
}
.w-full.container-index .index-top-second .sticky-title:before {
    position: absolute;
    content: '“';
    font-weight: 800;
    font-size: 10vw;
    line-height: 100%;
    color: #FFFFFF29;
    left: -3vw;
    top: -4vh;
}
.w-full.container-index .index-top-second .sticky-title:after {
    position: absolute;
    content: '”';
    font-weight: 800;
    font-size: 10vw;
    line-height: 100%;
    color: #FFFFFF29;
    left: 19vw;
    top: 8vh;
}
.w-full.container-index .index-top-second .principal-text {
    margin-left: 45%;
    font-weight: 800;
    font-size: 1.3vw;
    line-height: 2.7vw;
}
#bg-layer {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: -1;
    background-color: rgba(0, 0, 0, 0);
    transition: background 0.3s ease-in;
}
#bg-layer.darken {
    background-color: rgba(0, 0, 0, 0.5);
}
@keyframes liner {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }
    30% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }
    70% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }
    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}
.en-container h3 {
    position: relative;
    margin-top: 18px;
    margin-bottom: 70px;
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-style: black;
    font-size: 5vw;
    line-height: 100%;
}
.en-container h3>span {
    position: absolute;
    font-weight: 800;
    font-size: 12px;
    line-height: 100%;
    left: 0;
    top: -18px;
}
.en-container .parallax-container {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.en-container.container-message {
    padding: 10vw 0;
    background: #F3F5F6!important;
}
.en-container.container-message .content {
    width: 59%;
    margin-right: 9%;
}
.en-container.container-message .content .message-text p {
    margin-bottom: 1.4rem;
}
.en-container.container-message .content .signature-container {
    margin: 2rem 0 1.5rem;
}
.en-container.container-message .content .signature-container .title {
    font-size: 14px;
    line-height: 2;
}
.en-container.container-message .content .signature-container .signature {
    font-size: 20px;
}
.en-container.container-message .content .brands {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
}
.en-container.container-message .parallax-image {
    width: 30%;
}
.en-container.container-message .parallax-image img {
    width: 100%;
}
.en-container.container-message .parallax-image .image-cropper {
    border-radius: 16px;
}
.container-history {
    color: #fff;
    background: url(/images/history-bg.webp) no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
}
.container-history .sticky-title {
    top: 208px !important;
}
.container-history .history {
    width: 55%;
    margin-left: auto;
}
.container-history .history .hstack {
    align-items: start;
    margin-bottom: 2rem;
}
.container-history .history dt {
    width: 18%;
}
.container-brands {
    padding: 12vw 0;
    background: #F3F5F6!important;
}
.container-brands #brand-carousel {
    margin-bottom: 50px;
}
.container-brands #brand-carousel .en-container {
    position: relative;
}
.container-brands #brand-carousel .en-container .splide__arrow--prev {
    top: 7px !important;
    left: inherit !important;
    right: 77px !important;
    transform: none !important;
    opacity: 1;
    width: 48px;
    height: 48px;
    padding: 18px;
}
.container-brands #brand-carousel .en-container .splide__arrow--prev i {
    width: 12px;
    height: 12px;
}
.container-brands #brand-carousel .en-container .splide__arrow--next {
    top: 7px; !important;
    right: 5px !important;
    transform: none !important;
    opacity: 1;
    width: 48px;
    height: 48px;
    padding: 18px;
}
.container-brands #brand-carousel .en-container .splide__arrow--next i {
    width: 12px;
    height: 12px;
}
.container-brands #brand-carousel .splide__track {
    margin-top: 78px;
}
.container-brands .card.brand {
    flex-direction: row-reverse;
    padding: 8px;
    background-color: #fff;
    border: none;
    border-radius: 16px;
    box-shadow: 0 0 120px 0 #242A3412;
    cursor: pointer;
}
.container-brands .card.brand .card-img-top {
    width: 56%;
    aspect-ratio: 1.4178;
    border-radius: 16px;
    overflow: hidden;
}
.container-brands .card.brand .card-img-top img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1.4178;
    object-fit: cover;
    transition: all 0.3s ease-in-out;
}
.container-brands .card.brand:hover .card-img-top img {
    transform: scale(1.1);
}
.container-brands .card.brand .card-body {
    padding: 32px;
    display: flex;
    flex-direction: column;
}
.container-brands .card.brand .card-body .card-title {
    display: block;
}
.container-brands .card.brand .card-body .brand-name {
    display: block;
    margin-top: auto;
    margin-bottom: 0.5em;
    font-size:1.3rem;
    font-weight: 800;
    color: #262C37;
    text-decoration: none;
}
.container-brands .card.brand .card-body p {
    font-size:max(1vw,15px);
}
.container-recruit {
    background: #F3F5F6!important;
}
.container-recruit .parallax-container {
    align-items: stretch;
    margin-bottom: 104px;
}
.container-recruit .content {
    width: 50%;
}
.container-recruit .content .recruit-text h4 {
    font-weight: 800;
    font-size:max(2vw,20px);
    line-height: 144%;
    margin-bottom: 1.44em;
}
.container-recruit .content .recruit-text p {
    font-weight: 800;
    font-size:max(1.2vw,17px);
    line-height: 2.3vw;
    margin-bottom: 1.8em;
}
.container-recruit .parallax-image {
    width: 42%;
    margin-left: auto;
    position: relative;
		height: 45vw;
}
.container-recruit .parallax-image>.staff-image {
    display: block;
    width: 88%;
    border-radius: 16px;
    position: relative;
    top: 35px;
}
.container-recruit .parallax-image>.meal-image {
    display: block;
    width: 88%;
    border-radius: 16px;
    position: relative;
    right: -13vw;
    bottom: 20vh;
}
.container-recruit .job-description {
    background-color: #ffffff;
    padding: 80px;
    border-radius: 16px;
    box-shadow: 0 0 120px 0 #242A3412;
    display: flex;
    flex-direction: row;
    position: relative;
    /*z-index: 10;*/
    width: 80vw;
    margin: 0 auto;
}
.container-recruit .job-description h4 {
    font-weight: 800;
    font-size: 24px;
    line-height: 100%;
}
.container-recruit .job-description dl {
    width: 75%;
    margin-left: auto;
		font-size:max(1.1vw,15px);
}
.container-recruit .job-description dl .hstack {
    align-items: start;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #eeeeee;
}
.container-recruit .job-description dl dt {
    width: 25%;
}
.container-recruit-application {
    margin-top: -80px !important;
    padding-top: 164px;
    padding-bottom: 10vw;
    background: linear-gradient(180deg, #0D9BB2 0%, #27BFD7 100%);
    color: #ffffff;
}
.container-recruit-application h3 {
    font-weight: 800;
    font-size: 5vw;
    line-height: 100%;
    margin-bottom: 2.5vw;
}
.container-recruit-application .text-center p {
    font-weight: 800;
    font-size: 2vw;
    line-height: 100%;
    margin-bottom: 3rem;
}
.container-recruit-application #recruiting-carousel {
    margin-top: 80px;
}
.container-recruit-application #recruiting-carousel .slider-track {
    overflow: visible;
    display: flex;
    align-items: center;
    gap: 56px;
    animation: infiniteScroll 60s linear infinite;
}
.container-recruit-application #recruiting-carousel .slider-track .slide>* {
    border-radius: 16px;
}
.container-recruit-application #recruiting-carousel .slider-track .slide.portrait img {
    width: 21.88vw;
    aspect-ratio: 0.8383;
}
.container-recruit-application #recruiting-carousel .slider-track .slide.landscape img {
    width: 29.84vw;
    aspect-ratio: 1.415;
}
.container-recruit-application #recruiting-carousel .slider-track .slide img {
    transition: all 0.3s ease-in-out;
}
@keyframes infiniteScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-155.16vw - 336px))}
}

.container-company {
    color: #fff;
    background: url(/images/company-bg.webp) no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
}
.container-company .sticky-title {
    top: 208px !important;
}
.container-company .company-info {
    width: 55%;
    margin-left: auto;
    padding-bottom: 160px;
    margin-bottom: 80px;
}
.container-company .company-info dl .hstack {
    align-items: start;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.2);
}
.container-company .company-info dl dt {
    width: 22%;
}
.container-company .about-hitomi {
    margin-top: 80px !important;
}
.container-company .about-hitomi h5 {
    font-weight: 800;
    font-size: 17px;
    line-height: 100%;
    margin-bottom: 24px;
}
.container-news {
    padding: 10vw 0 5vw;
    position: relative;
    background: #F3F5F6!important;
}
.container-news .news-grid {
    display: grid;
    grid-template-columns: 38% 62%;
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
}

.container-news .news-grid h3 {
    grid-area: 1 / 1 / 2 / 2;
}
.container-news .news-grid .news-list {
    grid-area: 1 / 2 / 3 / 3;
    margin-bottom: 0;
}
.container-news .news-grid .btn-grid {
    grid-area: 2 / 1 / 3 / 2;
    display: flex;
    align-items: end;
}
.container-news .news-list .hstack {
    align-items: center;
    border-bottom: 1px solid #dadada;
}
.container-news .news-list dt {
    width: 20%;
    color: #8D939E;
}
.container-news .news-list dd {
    margin-bottom: 0;
    flex-grow: 2;
}
.container-news .news-list dd .news-link {
    color: #000000;
    text-decoration: none;
    display: flex;
    width: 100%;
    height: 80px;
    line-height: 80px;
    position: relative;
}
.container-news .news-list dd .news-link:after {
    display: block;
    content: "";
    background: url(/images/chevron-right.svg) no-repeat center center;
    background-size: contain;
    width: 22.15px;
    height: 22.15px;
    position: absolute;
    right: 0;
    top: 29px;
    transition: right 0.3s;
}
.container-news .news-list dd .news-link:hover:after {
    right: -10px;
}

/* our brands */
.en-container.container-our-brands {
    margin-top: 224px;
    padding-bottom: 104px;
}
.en-container.container-our-brands .brand-container {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
.en-container.container-our-brands .brand-container .card {
    max-width: calc(38.75vw - 20px);
    border: none;
    border-radius: 16px;
    cursor: pointer;
}
.en-container.container-our-brands .brand-container .card .card-img-top {
    overflow: hidden;
    position: relative;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
}
.en-container.container-our-brands .brand-container .card .card-img-top.franchise-available:after {
    content: 'フランチャイズ加盟募集中';
    position: absolute;
    left: 16px;
    top: 16px;
    color: #fff;
    background-color: #0D9BB2;
    border-radius: 32px;
    padding:.3rem .8rem;
    font-size:max(.75vw,11px);
    line-height: 1vw;
}
.en-container.container-our-brands .brand-container .card .card-img-top img {
    width: 100%;
    transition: transform 0.3s ease-in-out;
}
.en-container.container-our-brands .brand-container .card:hover .card-img-top img {
    transform: scale(1.05);
}
.en-container.container-our-brands .brand-container .card .card-title {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 95px;
    margin-bottom: 20px;
}
.en-container.container-our-brands .brand-container .card .card-title img {
    width: calc(45% + 36px);
}
.en-container.container-our-brands .brand-container .card .logo_row img {
    width: calc(35% + 36px);
		margin-left: .8rem;
}
.en-container.container-our-brands .brand-container .card .card-title .muted{
    position: relative;
    font-size: 11px;
    color: #8D939E;
    top: 2em;
    left: 1em;
}
.en-container.container-our-brands .brand-container .card .card-title.logo-wide img {
    width: calc(65% + 36px);
}
.en-container.container-our-brands .brand-container .card .card-body {
    padding: 32px 48px;
    text-align: center;
}
.en-container.container-our-brands .brand-container .card .card-body p {
    font-weight: 700;
    font-size:max(1vw,14px);
    line-height: normal;
    text-align: left;
    margin: 1.3rem 0;
}
.en-container.container-our-brands .brand-container .card .card-body a.btn {
    font-size: 15px;
    font-weight: 600;
    gap: 16px;
    height: 46px;
}
.en-container.container-our-brands .brand-container .card:hover .card-body a.btn {
    box-sizing: border-box;
    color: #262C37 !important;
    background-color: #ffffff !important;
}
.en-container.container-our-brands .brand-container .card:hover .card-body a.btn>i {
    background-color: #262C37 !important;
}

.en-container.container-our-brands .text-muted {
    color: #8D939E!important;
    margin: 1.5vw 0 0;
		font-size:max(.7vw,11px);
}

/* shop-list */
.en-container.container-shop-list {
    margin-top: 224px;
    padding-bottom: 104px;
}
.en-container.container-shop-list .brand-title {
    font-weight: 800;
    font-size:max(1.4vw,17px);
    line-height: 100%;
    padding-left:40px;
    position: relative;
    margin-bottom: 24px;
}
.en-container.container-shop-list .brand-title:before {
    content: '';
    display: inline-block;
    width: 1vw;
    height: 1vw;
    border-radius: 50%;
    background: #0D9BB2;
    margin-right: .7vw;
}
.en-container.container-shop-list .brand-title .muted {
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    color: #8D939E;
    padding-left: 1em;
}
.en-container.container-shop-list .shop-list {
    list-style: none;
    background-color: #fff;
    border-radius: 16px;
    padding: 40px;
    margin-bottom: 80px;
}
.en-container.container-shop-list .shop-list .shop-list-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 40px;
}
.en-container.container-shop-list .shop-list .shop-list-item:not(:last-child) {
    padding-bottom: 40px;
    border-bottom: 1px solid #EFEFEF;
    margin-bottom: 40px;
}
.en-container.container-shop-list .shop-list .shop-list-item .shop-img {
    width: 30%;
    border-radius: 16px;
}
.en-container.container-shop-list .shop-list .shop-list-item .shop-name {
    font-weight: 700;
    font-size:max(1.4vw,17px);
    line-height: 24px;
    margin-bottom: 24px;
}
.en-container.container-shop-list .shop-list .shop-list-item dl .hstack {
    margin-bottom: 12px;
    position: relative;
	font-size:max(1vw,15px);
}
.en-container.container-shop-list .shop-list .shop-list-item dl dt {
    position: relative;
    left: -0.5em;
    width: 120px;
}
.en-container.container-shop-list .shop-list .shop-list-item dl dd {
    margin: 0;
		width: 100%;
}
.en-container.container-shop-list .shop-list .shop-list-item .links {
    display: flex;
    gap: 24px;
    margin-top: 24px;
}
.en-container.container-shop-list .shop-list .shop-list-item .links a {
    color: #262C37;
}
.en-container.container-shop-list .shop-list .shop-list-item .links a:hover {
    opacity: .8; transition: .8ss;
}
.en-container.container-shop-list .shop-list .shop-list-item .links a img {
    width: 32px;
}

/* franchise */
.en-container.container-franchise-available {
    background: url(/images/franchise/header-bg.webp) no-repeat center center;
    background-size: cover;
    color: #fff;
    padding-bottom: 164px;
}
.en-container.container-franchise-available .en-container> h5 {
    display: inline-block;
    background-color: #0D9BB2B2;
    border-radius: 6px;
    font-weight: 800;
    font-size: 1.3vw;
    line-height: 100%;
    padding: 9px 18px;
    margin: 84px 0 24px;
}
.en-container.container-franchise-available h1 {
    font-weight: 800;
    font-size: 4.5vw;
    line-height: 5.vw;
    margin-bottom: 36px;
}
.en-container.container-franchise-available p {
    font-weight: 700;
    font-size: 1.5vw;
    line-height: 1.6;
}
.en-container.container-messages {
    padding: 104px 0 128px;
}
.en-container.container-messages.round-top {
    position: relative;
}
.en-container.container-messages.round-top:before {
    content: '';
    position: absolute;
    left: 0;
    top: -40px;
    width: 100vw;
    height: 40px;
    background: #F3F5F6;
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
}
.en-container.container-messages .message-header {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: visible;
    gap: 40px;
    margin-right: -11.25vw;
    margin-bottom: 7vw;
}
.en-container.container-messages .message-header h2 {
    margin-top: 24px;
    min-width: calc(50% - 11.25vw);
    font-weight: 800;
    font-size: 3vw;
    line-height: 1.5;
    position: relative;
    z-index: 1;
}
.en-container.container-messages .message-header h2:before {
    position: absolute;
    content: '“';
    font-weight: 800;
    font-size: 13vw;
    line-height: 100%;
    color: #CEE5E9;
    left: -3vw;
    top: -3vw;
    z-index: -1;
}
.en-container.container-messages .message-header h2:after {
    position: absolute;
    content: '”';
    font-weight: 800;
    font-size: 13vw;
    line-height: 100%;
    color: #CEE5E9;
    left: 24vw;
    top: 7vw;
    z-index: -1;
}
.en-container.container-messages .message-header .hstack {
    gap: 40px;
}
.en-container.container-messages .message-header img {
    width: 50%;
    position: relative;
    right: -40px;
}
.en-container.container-messages .message-body {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    overflow-x: visible;
    margin-left: calc(-11.25vw - 40px);
    gap: 40px;
    margin-bottom: 128px;
}
.en-container.container-messages .message-body p {
    width: 60%;
    font-weight: 800;
    font-size: 1.6vw;
    line-height:  3vw;
		margin-top: 2vw;
}
.en-container.container-messages .message-body img {
    width: 50vw;
    position: relative;
    left: -40px;
}
.en-container.container-messages .appear-points {
    display: flex;
    flex-direction: row;
    gap: 40px;
}
.en-container.container-messages .appear-points .card {
    width: calc(38.75vw - 20px);
    padding: 32px;
    border: none;
    border-radius: 16px;
}
.en-container.container-messages .appear-points .card .card-title {
    display: flex;
    align-items: center;
    padding-left: 12px;
    font-weight: 800;
    font-size: 17px;
    line-height: 100%;
    margin-bottom: 16px;
}
.en-container.container-messages .appear-points .card .card-title .point {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #DAF5FA;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 8px;
    line-height: 1.5;
    text-transform: uppercase;
    margin-right: 18px;
}
.en-container.container-messages .appear-points .card .card-title .point strong {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -1px;
}
.en-container.container-messages .appear-points .card ul {
    margin: 0;
}
.en-container.container-messages .appear-points .card ul li{
    font-weight: 700;
    font-size: 15px;
    line-height: 30px;
}
.en-container.container-steps {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-bottom: 122px;
}
.en-container.container-steps h3.pointed-title {
    font-weight: 800;
    font-size: 24px;
    line-height: 100%;
    margin: 0;
}
.en-container.container-steps h3.pointed-title:before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #0D9BB2;
    margin-right: 20px;
}
.en-container.container-steps .steps-content {
    width: 65%;
}
.en-container.container-steps .steps-content .step {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    position: relative;
}
.en-container.container-steps .steps-content .step:not(:last-child) {
    margin-bottom: 78px;
}
.en-container.container-steps .steps-content .step:not(:last-child):after {
    content: '';
    display: block;
    width: 25px;
    height: 12px;
    background: url(/images/franchise/next-step.svg) no-repeat;
    position: absolute;
    left: 50.5px;
    bottom: -48px;
}
.en-container.container-steps .steps-content .step .step-header {
    display: inline-flex;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    color: #fff;
    justify-content: center;
    align-items: center;
    padding-top:40px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 13px;
    line-height: 35px;
}
.en-container.container-steps .steps-content .step:nth-child(1) .step-header {
    background: #11A0B7 url(/images/franchise/step-1.svg) no-repeat center 40%;
}
.en-container.container-steps .steps-content .step:nth-child(2) .step-header {
    background: #11A0B7 url(/images/franchise/step-2.svg) no-repeat center 40%;
}
.en-container.container-steps .steps-content .step:nth-child(3) .step-header {
    background: #11A0B7 url(/images/franchise/step-3.svg) no-repeat center 40%;
}
.en-container.container-steps .steps-content .step:nth-child(4) .step-header {
    background: #11A0B7 url(/images/franchise/step-4.svg) no-repeat center 40%;
}
.en-container.container-steps .steps-content .step:nth-child(5) .step-header {
    background: #11A0B7 url(/images/franchise/step-5.svg) no-repeat center 40%;
}
.en-container.container-steps .steps-content .step .step-content {
    width: calc(50vw - 165px);
}
.en-container.container-steps .steps-content .step .step-content .step-title {
    font-weight: 800;
    font-size: 17px;
    line-height: 100%;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}
.en-container.container-steps .steps-content .step .step-content .step-text {
    font-weight: 700;
    font-size: 15px;
    line-height: 1.5;
}
.en-container.container-steps .steps-content .step .step-content .step-text a,
.container-recruit a,.container-news a{
    text-decoration: underline;
    color: #0D9BB2;
}
.en-container.container-application-information {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-bottom: 138px;
}
.en-container.container-application-information h3.pointed-title {
    font-weight: 800;
    font-size: 24px;
    line-height: 100%;
    margin: 0;
}
.en-container.container-application-information h3.pointed-title:before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #0D9BB2;
    margin-right: 20px;
}
.en-container.container-application-information dl {
    width: 65%;
    margin-top: -24px;
}
.en-container.container-application-information dl .hstack {
    border-bottom: 1px solid rgba(0,0,0,0.1);
    padding: 24px 0;
    margin: 0;
}
.en-container.container-application-information dl .hstack dt {
    width:180px;
}
.en-container.container-application-information dl .hstack dd {
    margin: 0;
}
.en-container.container-available-brands {

}
.en-container.container-available-brands h3.pointed-title {
    font-weight: 800;
    font-size: 24px;
    line-height: 100%;
    margin: 0 0 24px;
}
.en-container.container-available-brands h3.pointed-title:before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #0D9BB2;
    margin-right: 20px;
}
.en-container.container-available-brands>.hstack {
    align-items: stretch;
    gap: 40px;
}
.en-container.container-available-brands>.hstack .card {
    width: calc(100% - 20px);
    border: none;
    border-radius: 16px;
    position: relative;
    z-index: 1;
}
.en-container.container-available-brands>.hstack .card:nth-child(1):after {
    position: absolute;
    content: '商標登録出願中 2025-90927';
    bottom: -20px;
    right: 0;
    font-weight: 700;
    font-size: 11px;
    line-height: 100%;
    color: #6F737B;
}
.en-container.container-available-brands>.hstack .card:nth-child(2):after {
    position: absolute;
    content: '商標登録出願中 2025-90928';
    bottom: -20px;
    right: 0;
    font-weight: 700;
    font-size: 11px;
    line-height: 100%;
    color: #6F737B;
}
.en-container.container-available-brands>.hstack .card .card-title {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 95px;
    margin-bottom: 20px;
}
.en-container.container-available-brands>.hstack .card .card-title img {
    width: calc(45% + 36px);
}
.en-container.container-available-brands>.hstack .card .card-title .muted{
    position: relative;
    font-size: 11px;
    color: #8D939E;
    top: 2em;
    left: 1em;
}
.en-container.container-available-brands>.hstack .card .card-title.logo-wide img {
    width: calc(65% + 36px);
}
.en-container.container-available-brands>.hstack .card .card-body {
    padding:32px 48px 40px;
    text-align: center;
}
.en-container.container-available-brands>.hstack .card .card-body p {
    font-weight: 700;
    font-size:max(1vw,14px);
    line-height: normal;
    text-align: left;
    margin: 20px 0;
}
.en-container.container-available-brands>.hstack .card .card-body a.btn {
    font-size: 15px;
    font-weight: 600;
    gap: 16px;
    height: 56px;
}
.en-container.container-available-brands+#download-modal .modal-dialog {
    max-width: 77.5vw;
}
.en-container.container-available-brands+#download-modal .modal-content {
    padding: 40px;
}
.en-container.container-available-brands+#download-modal .modal-content>.btn-close {
    margin-left: auto;
    background: transparent url(/images/franchise/btn-close.svg) no-repeat;
}
.en-container.container-available-brands+#download-modal .modal-content .modal-body {
    padding: 0 150px 50px 120px;
}
.en-container.container-available-brands+#download-modal .modal-content .modal-body form {
    font-size: 17px;
}
.en-container.container-available-brands+#download-modal .modal-content .modal-body form p {
    line-height: 200%;
}
.en-container.container-available-brands+#download-modal .modal-content .modal-body form p span {
    font-size: 14px;
}
.en-container.container-available-brands+#download-modal .modal-content .modal-body form .row {
    margin-bottom: 32px;
}
.en-container.container-available-brands+#download-modal .modal-content .modal-body form label.col-sm-3 {
    margin-top: 18px;
    font-weight: 800;
}
.en-container.container-available-brands+#download-modal .modal-content .modal-body form .required label:not(.form-check-label):after {
    content: '*';
    color: #E32020;
    font-size: 17px;
    font-weight: 800;
}
.en-container.container-available-brands+#download-modal .modal-content .modal-body form .form-control,
.en-container.container-available-brands+#download-modal .modal-content .modal-body form .form-select {
    font-size: 17px;
    padding: 18px 24px;
    border-radius: 8px;
    border-color: #9FA9BF;
}
.en-container.container-available-brands+#download-modal .modal-content .modal-body form .form-control.is-invalid,
.en-container.container-available-brands+#download-modal .modal-content .modal-body form .form-select.is-invalid {
    border-color: #E32020!important;
    background-color: #FDECEC!important;
}
.en-container.container-available-brands+#download-modal .modal-content .modal-body form .invalid-feedback {
    color: #E32020;
    font-weight: 800;
}
.en-container.container-available-brands+#download-modal .modal-content .modal-body form .policy {
    border: 1px solid #9FA9BF;
    border-radius: 8px;
    padding: 18px 24px;
    height: 210px;
    overflow-y: scroll;
}
.en-container.container-available-brands+#download-modal .modal-content .modal-body form .policy ol {
    margin: 0;
}
.en-container.container-available-brands+#download-modal .modal-content .modal-body form .form-check-input {
    width: 1.5em;
    height: 1.5em;
    margin-top: 0;
    margin-right: 0.5em;
    border-color: #9FA9BF;
}
.en-container.container-available-brands+#download-modal .modal-content .modal-body form .form-check-input.is-invalid {
    border-color: #E32020!important;
    background-color: #FDECEC!important;
}
.en-container.container-available-brands+#download-modal .modal-content .modal-body form .form-check-input+label {
    font-weight: 800;
}


.en-container.w-full.container-footer-contact {
    margin-top: -40px;
    padding-top: 160px;
    color: #fff;
    text-align: center;
    background: linear-gradient(180deg, #0D9BB2 0%, #27BFD7 100%);
    position: relative;
}
.en-container.w-full.container-footer-contact:after {
    left: 0!important;
    background: #27BFD7!important;
    z-index: 0
}
.en-container.w-full.container-footer-contact .en-container {
    position: relative;
    z-index: 0;
    padding-bottom: 112px;
}
.en-container.w-full.container-footer-contact .en-container:after {
    content: attr(data-title);
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 176px;
    line-height: 100%;
    color: #23B9D2;
    position: absolute;
    top: 72px;
    left: -50vw;
    z-index: -1;
    width: max-content;
    animation: text-scroll 60s linear infinite;
    height: 176px;
    text-align: center;
}
@keyframes text-scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%); /* 半分移動でループ */
    }
}
.en-container.w-full.container-footer-contact .en-container h2.footer-contact-message {
    font-weight: 800;
    font-size: 50px;
    line-height: 83px;
}
.en-container.w-full.container-footer-contact .en-container p {
    font-weight: 800;
    font-size: 17px;
    line-height: 1.6;
    margin: 36px 0;
}
.en-container.w-full.container-footer-contact .en-container .btn-contact.btn-bordered {
    color: #0F9EB5 !important;
    background: #fff;
    font-weight: 600;
    font-size: 16px;
    line-height: 100%;
    border: 2px solid #fff;
    gap: 16px;
}
.en-container.w-full.container-footer-contact .en-container .btn-contact.btn-bordered .icon {
    background-color: #0F9EB5 !important;
    width: 12px;
    height: 12px;
}
.en-container.w-full.container-footer-contact .en-container .btn-contact.btn-bordered:hover {
    background: #27BFD7; !important;
    color: #fff !important;
}
.en-container.w-full.container-footer-contact .en-container .btn-contact.btn-bordered:hover .icon {
    background-color: #fff !important;
}

/* news */
.paginated-list li.hidden {
    display: none !important;
}
.paginated-list+.pagination-controls {
    margin-top: 42px;
}
.paginated-list+.pagination-controls .prev-btn {
    border: none;
    margin-right: 40px;
    background: none;
}
.paginated-list+.pagination-controls .prev-btn .icon {
    background: #262C37;
    margin-right: 12px;
}
.paginated-list+.pagination-controls .prev-btn:disabled {
    color: #B6B6B6;
}
.paginated-list+.pagination-controls .prev-btn:disabled .icon {
    background: #B6B6B6;
}
.paginated-list+.pagination-controls .next-btn {
    border: none;
    background: none;
}
.paginated-list+.pagination-controls .next-btn:disabled {
    color: #B6B6B6;
}
.paginated-list+.pagination-controls .next-btn .icon {
    background: #262C37;
    margin-left: 12px;
}
.paginated-list+.pagination-controls .next-btn:disabled .icon {
    background: #B6B6B6;
}
.en-container.container-news-list {
    padding-top: 184px;
    padding-bottom: 84px;
}
.en-container.container-news-list .news-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.en-container.container-news-list .news-list-item {
    padding: 32px 0;
    border-bottom: 1px solid #dadada;
    display: flex;
}
.en-container.container-news-list .news-list-item .publish-date {
    display: inline-block;
    color: #8D939E;
    width: 120px;
    font-weight: 700;
    font-size: 15px;
    line-height: 100%;
}
.en-container.container-news-list .news-list-item .news-link {
    color: #000000;
    display: flex;
    flex-grow: 2;
    font-weight: 800;
    font-size: 17px;
    line-height: 100%;
    text-decoration: none;
    position: relative;
}
.en-container.container-news-list .news-list-item .news-link:after {
    display: block;
    content: "";
    background: url(/images/chevron-right.svg) no-repeat center center;
    background-size: contain;
    width: 22.15px;
    height: 22.15px;
    position: absolute;
    right: 0;
    top: 0px;
    transition: right 0.3s;
}
.en-container.container-news-list .news-list-item:hover .news-link:after {
    right: -10px;
}
/* news-content */
.en-container.container-news-content {
    padding-top: 184px;
    padding-bottom: 64px;
}
.container-news-content>.container-news {
    padding: 0 0 5vw;
}
.en-container.container-news>* {
    margin-bottom: 40px;
}
.en-container.container-news .publish-date {
    display: block;
    color: #8D939E;
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 24px;
}
.en-container.container-news h4 {
    font-weight: 800;
    font-size: 24px;
    line-height: 100%;
}
.en-container.container-news h5 {
    font-weight: 800;
    font-size: 17px;
    line-height: 100%;
}
.en-container.container-news p {
    font-weight: 700;
    font-size: 15px;
    line-height: 1.6;
}
.en-container.container-news hr {
    color: #DADADA;
    opacity: 1;
}

/* contact */
.en-container.container-main:has(form),
.en-container.container-main:has(.posted-form){
    padding-top: 184px;
    padding-bottom: 84px;
}
.en-container.container-main h3:has(+h5) {
    margin-bottom: 124px;
}
.en-container.container-main h3 sub {
    bottom: 0;
    font-weight: 800;
    font-size: 26px;
    line-height: 100%;
    margin-left: .5em;
}
.en-container.container-main h3+h5 {
    font-weight: 800;
    font-size: 17px;
    line-height: 100%;
    margin-bottom: 64px;
}
.en-container.container-main h3+h5 span {
    font-weight: 800;
    font-size: 14px;
    line-height: 100%;
}
.en-container.container-main h3+h5.thanks-message {
    font-weight: 800;
    font-size: 26px;
    line-height: 48px;
}
.en-container.container-main form {
    width: 66.7%;
    font-size: 17px;
}
.en-container.container-main .posted-form {
    font-size: 17px;
}
.en-container.container-main form .row {
    margin-bottom: 32px;
}
.en-container.container-main .posted-form .row {
    padding: 40px 0;
    border-bottom: 1px solid #dadada;
    margin: 0;
    font-weight: 800;
}
.en-container.container-main .thanks-message~.posted-form p {
    font-weight: 700;
    font-size: 15px;
    line-height: 1.5;
}
.en-container.container-main form label.col-sm-3 {
    margin-top: 18px;
    font-weight: 800;
}
.en-container.container-main .posted-form label.col-sm-3 {
    font-weight: 800;
}
.en-container.container-main form .required label:not(.form-check-label):after,
.en-container.container-main .posted-form .required label:after {
    content: '*';
    color: #E32020;
    font-size: 17px;
    font-weight: 800;
}
.en-container.container-main form .form-control,
.en-container.container-main form .form-select {
    font-size: 17px;
    padding: 18px 24px;
    border-radius: 8px;
    border-color: #9FA9BF;
    background-color: #F3F5F6;
}
.en-container.container-main form .form-select:invalid,
.en-container.container-main form textarea::placeholder {
    color: #B2B2B2!important;
}
.en-container.container-main form textarea {
    height: 210px;
    border-color: #9FA9BF;
}
.en-container.container-main form .form-control.is-invalid,
.en-container.container-main form .form-select.is-invalid {
    border-color: #E32020!important;
    background-color: #FDECEC!important;
}
.en-container.container-main form .invalid-feedback {
    color: #E32020;
    font-weight: 800;
}
.en-container.container-main form .policy {
    border: 1px solid #9FA9BF;
    border-radius: 8px;
    padding: 18px 24px;
    height: 210px;
    overflow-y: scroll;
}
.en-container.container-main form .policy ol {
    margin: 0;
}
.en-container.container-main form .form-check-input {
    width: 1.5em;
    height: 1.5em;
    margin-top: 0;
    margin-right: 0.5em;
    border-color: #9FA9BF;
}
.en-container.container-main form .form-check-input:not(:checked) {
    background-color: #F3F5F6;
}
.en-container.container-main form .form-check-input.is-invalid {
    border-color: #E32020!important;
    background-color: #FDECEC!important;
}
.en-container.container-main form .form-check-input+label {
    font-weight: 800;
}
.en-container.container-main form button,
.en-container.container-main .posted-form .buttons a.btn {
    gap: 10px;
    padding-left: 32px!important;
    padding-right: 32px!important;
}
.en-container.container-main .posted-form .buttons {
    gap: 46px;
    margin-top: 74px;
}
.sp-only {
    display: none;
}
.invisible {
    opacity: 0;
}
/* for smartphone */
@media (max-width: 600px) {
    html {

    }
    body {
        font-size: 11px !important;
        overscroll-behavior: none;
    }

    body > .en-container.w-full {
        /* padding-top: 24px; */
    }
	h5.card-title img{width: 55%; margin-top:1rem;}
	.en-container.container-our-brands .brand-container .card .card-img-top.franchise-available:after{
		line-height: 1rem;
	}
    .en-container.w-full .en-container {
        width: calc(100vw - 48px);
        margin: 0 auto;

    }
    .sp-only {
        display: inherit;
    }
    .sp-none {
        display: none;
    }

    .navbar {
        position: fixed;
        top: 0;
        width: 100%;
        height: 72px;
        transition: top 0.3s;
        z-index: 99999;
    }

    .w-full.container-index .navbar-bg-transparent {
        z-index: 2;
    }

    .navbar > .en-container {
        width: calc(100vw - 48px);
        margin: 24px auto;
        display: flex;
        flex-wrap: inherit;
        align-items: center;
        justify-content: space-between;
    }

    nav.navbar .navbar-toggler {
        display: inline-block;
        width: 50px;
        height: 11px;
        border: none;
        padding: 0;
        z-index: 99998;
    }

    nav.navbar .navbar-toggler:focus {
        box-shadow: none;
    }

    nav.navbar:not(.navbar-alt) .navbar-toggler:not(.toggled) .bar {
        background-color: #ffffff;
    }
    nav.navbar .navbar-toggler .bar {
        display: block;
        width: 50px;
        height: 1px;
        background-color: #aaa;
        transition: all 0.3s ease-in-out;
    }

    nav.navbar .navbar-toggler .bar-upper {
        transform: translateY(-550%)
    }

    nav.navbar .navbar-toggler .bar-lower {
        transform: translateY(550%)
    }

    nav.navbar .navbar-toggler.toggled .bar-upper {
        transform: rotate(25deg);
    }

    nav.navbar .navbar-toggler.toggled .bar-lower {
        transform: rotate(-25deg);
    }

    nav.navbar .navbar-nav {
        display: block;
        position: fixed;
        width: 100vw;
        height: 100vh;
        z-index: 99997;
        top: 0;
        left: -100vw;
        background-color: rgba(255, 255, 255, .85);
        backdrop-filter: blur(40px);
        transition: all .2s ease-out;
        padding: 75px 48px;
    }

    nav.navbar .navbar-nav.toggled {
        left: 0;
    }

    nav.navbar .navbar-nav .nav-item {
        margin-bottom: 12px;
    }

    .navbar-nav .nav-item:has(.btn-contact) {
        margin: 33px 0;
    }

    nav.navbar .navbar-nav .nav-item .nav-link:not(.btn-contact) {
        font-size: 17px;
        font-weight: 800;
        line-height: 22px;
        display: flex;
        flex-direction: column;
        color: #262C37 !important;
    }

    nav.navbar .navbar-nav .nav-item .nav-link:not(.btn-contact):before {
        content: attr(title);
        color: #0D9BB2;
        font-family: "Montserrat", sans-serif;
        font-size: 9px;
        font-weight: 700;
        line-height: 1;
    }

    nav.navbar .navbar-nav .nav-item .nav-link.btn-contact {
        height: 48px;
        padding-left: 28px;
        padding-right: 28px;
        gap: 10px;
    }

    nav.navbar .navbar-nav .nav-item .nav-link.btn-contact .icon {
        width: 19px;
        height: 15px;
    }

    nav.navbar .navbar-nav .menu-footer-item {
        color: #262C37 !important;
    }

    nav.navbar .navbar-nav .menu-footer-item hr {
        color: #EDEDED;
        opacity: 1;
        margin: 35px 0;
    }

    nav.navbar .navbar-nav .menu-footer-item h5 {
        font-weight: 700;
        font-size: 15px;
        line-height: 100%;
        margin: 16px 0 6px;
    }

    nav.navbar .navbar-nav .menu-footer-item address {
        position: relative;
        left: -0.6em;
    }

    nav.navbar .navbar-nav .menu-footer-item .text-muted {
        font-size: 10px;
        color: #B6B6B6 !important;
    }

    .en-container h3 {
        font-size: 36px;
        margin-bottom: 32px;
    }

    .container-footer .footer-logo img {
        width: 72.55px;
    }

    .container-footer h5 {
        margin-top: 30px;
        margin-bottom: 18px;
        font-weight: 700;
        font-size: 15px;
        line-height: 100%;
    }

    .container-footer {
        padding: 64px 0 54px;
    }
    .container-footer .footer-text,
    .container-footer address {
        font-weight: 700;
        font-size: 11px;
        line-height: 1.4;
        left: 0;
    }

    .container-footer .footer-nav {
        margin-top: 48px;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0 12px;
        font-family: "Montserrat", sans-serif;
        font-weight: 800;
        font-size: 14px;
        line-height: 100%;
    }

    .container-footer .footer-nav .nav-item .nav-link {
        padding: 6px 0;
    }

    .container-footer .footer-nav .nav-item:not(:last-child) a:after {
        content: "/";
        margin-left: 12px;
    }

    .container-footer .footer-bottom {
        display: flex;
        flex-direction: column-reverse;
        justify-content: space-between;
    }

    .container-footer .footer-bottom .social-links {
        list-style: none;
        margin: 20px 0 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        gap: 8px;
        transform: none;
    }
    .container-footer .footer-bottom .copyright {
        color: #515762;
        font-weight: 500;
        font-size: 10px;
        line-height: 28px;
        margin-bottom: 0!important;
    }

    .w-full.container-index .index-top-first h1 {
        font-size: 14vw;
        line-height: 1.4;
    }
    .w-full.container-index .index-top-second.sticky-container {
        flex-direction: column;
    }
    .w-full.container-index .index-top-second .sticky-title {
        font-size: 30px;
        position: inherit !important;
        top: 0;
    }

    .w-full.container-index .index-top-second .sticky-title:before {
        font-size: 100px;
        left: -15px;
        top: -24px;
    }
    .w-full.container-index .index-top-second .sticky-title:after {
        font-size: 100px;
        left: 183px;
        top: 38px;
    }
    .w-full.container-index .index-top-second .principal-text {
        margin: 32px 0;
        font-weight: 700;
        font-size: 15px;
        line-height: 1.4;
    }
    .w-full.container-index .scroll-indicator {
        right: 15px;
    }

    .en-container.parallax-container {
        flex-direction: column;
    }
    .en-container .sticky-container {
        padding: 64px 0;
    }
    .en-container .sticky-container .sticky-title {
        position: relative;
        top: 0;
    }
    .en-container.container-message {
        position: relative;
        padding: 64px 0;
    }
    .en-container.container-message .content {
        width: 100%;
        margin: 0;
    }
    .en-container.container-message .content .message-text {
        font-size: 15px;
    }
    .en-container.container-message .content .signature-container,
    .en-container.container-message .content .brands {
        width: calc(100% - 140px);
    }
    .en-container.container-message .parallax-image {
        position: absolute;
        right: 24px;
        bottom: 26px;
    }
    .en-container.container-history {
        position: relative;
        background: none;
        overflow: hidden;
    }
    .en-container.container-history>.inner-clip {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        clip-path: inset(0);
        z-index: -1;
    }
    .en-container.container-history>.inner-clip:before {
        content:'';
        position: fixed;
        width: 100vw;
        height: 100vh;
        top: 0;
        left: 0;
        background-color: #000;
        z-index: -2;
    }
    .en-container.container-history>.inner-clip:after {
        content:'';
        position: fixed;
        width: 100vw;
        height: 100vh;
        top: 0;
        left: 0;
        background: #000 url(/images/history-bg.webp) no-repeat center center;
        background-size: cover;
        z-index: -1;
    }

    .container-history .history {
        width: 100%;
        margin-left: 0;
        padding-bottom: 0;
    }
    .container-history .sticky-title {
        top: 0 !important;
    }
    .container-history .history .hstack {
        flex-direction: column;
        align-items: start;
        margin-bottom: 1rem;
        font-size: 14px;
    }
    .container-brands {
        padding: 64px 0;
        background: #F3F5F6!important;
    }
    .container-brands #brand-carousel {
        margin-bottom: 32px;
    }
    .container-brands #brand-carousel .en-container .splide__arrow--prev {
        top: -5px !important;
        left: inherit !important;
        right: 56px !important;
        width: 40px;
        height: 40px;
        padding: 14px;
    }
    .container-brands #brand-carousel .en-container .splide__arrow--next {
        top: -5px; !important;
        right: 0 !important;
        width: 40px;
        height: 40px;
        padding: 14px;
    }
    .container-brands #brand-carousel .splide__track {
        margin-top: 32px;
    }
    .container-brands .card.brand {
        flex-direction: column;
        padding: 8px;
        background-color: #fff;
        border: none;
        border-radius: 16px;
        box-shadow: 0 0 120px 0 #242A3412;
        cursor: pointer;
    }
    .container-brands .card.brand .card-img-top {
        width: 100%;
        aspect-ratio: 1.4178;
        border-radius: 0;
        border-top-left-radius: 16px;
        border-top-right-radius: 16px;
        overflow: hidden;
    }
    .container-brands .card.brand .card-img-top img {
        width: 100%;
        height: 100%;
        aspect-ratio: 1.4178;
        object-fit: cover;
        transition: all 0.3s ease-in-out;
    }
    .container-brands .card.brand .card-body {
        padding: 8px!important;
        display: flex;
        flex-direction: column;
    }
    .container-brands .card.brand .card-body p {
        margin-bottom: 0;
    }
    .container-brands section+.en-container {
        text-align: center;
    }
    .container-recruit .content {
        width: 100%;
    }
    .container-recruit .parallax-container {
        padding-bottom: 124px;
    }
    .container-recruit .content .recruit-text h4 {
        font-size: 22px;
    }
    .container-recruit .content .recruit-text p {
        font-weight: 800;
        font-size: 15px;
        line-height: 1.6;
        margin-bottom: 1.4em;
    }
    .container-recruit .parallax-image {
        width: 100%;
        margin-left: 0;
        position: relative;
				top:-20vw;
    }
    .container-recruit .parallax-image>.staff-image {
        display: block;
        width: 60%;
        border-radius: 16px;
        position: relative;
    }
    .container-recruit .parallax-image>.meal-image {
        display: block;
        width: 68%;
        border-radius: 16px;
        position: absolute;
        right: -20px;
        bottom: -220px;
    }
    .container-recruit .job-description {
        width: calc(100% - 32px);
        margin: 0 auto;
        background-color: #ffffff;
        padding: 24px;
        border-radius: 16px;
        box-shadow: 0 0 120px 0 #242A3412;
        display: flex;
        flex-direction: column;
        position: relative;
        /*z-index: 10;*/
    }
    .container-recruit .job-description h4 {
        font-weight: 800;
        font-size: 19px;
        line-height: 100%;
        margin-bottom: 20px;
    }
    .container-recruit .job-description dl {
        width: 100%;
        margin: 0;
        font-size: 15px;
    }
    .container-recruit .job-description dl .hstack {
        flex-direction: column;
        align-items: start;
        padding-bottom: 16px;
        margin-bottom: 16px;
        border-bottom: 1px solid #eeeeee;
    }
    .container-recruit .job-description dl .hstack:last-child {
        margin-bottom: 0;
    }
    .container-recruit .job-description dl dt,.container-recruit .job-description dl {
        width: 100%;
				font-size: 14px;
    }
    .container-recruit-application {
        margin-top: -80px !important;
        padding-top: 112px;
        padding-bottom: 64px;
        background: linear-gradient(180deg, #0D9BB2 0%, #27BFD7 100%);
        color: #ffffff;
    }
    .container-recruit-application h3 {
        font-weight: 800;
        font-size: 48px;
        line-height: normal;
        margin-bottom: 28px;
    }
    .container-recruit-application .text-center p {
        font-weight: 800;
        font-size: 15px;
        line-height: 100%;
        margin-bottom: 31px;
    }
    .container-recruit-application #recruiting-carousel {
        margin-top: 32px;
        width: 100%;
        overflow: hidden;
    }
    .container-recruit-application #recruiting-carousel .slider-track {
        overflow: visible;
        display: flex;
        align-items: center;
        gap: 24px;
        animation: infiniteScroll 60s linear infinite;

    }
    .container-recruit-application #recruiting-carousel .slider-track .slide>* {
        border-radius: 16px;
    }
    .container-recruit-application #recruiting-carousel .slider-track .slide.portrait img {
        width: 42.96vw;
        aspect-ratio: 0.8383;
    }
    .container-recruit-application #recruiting-carousel .slider-track .slide.landscape img {
        width: 58.61vw;
        aspect-ratio: 1.415;
    }
    .container-recruit-application #recruiting-carousel .slider-track .slide img {
        transition: all 0.3s ease-in-out;
    }
    .container-recruit-application #recruiting-carousel .slider-track .slide img:hover {
        transform: scale(1.05);
    }
    @keyframes infiniteScroll {
        0% { transform: translateX(0); }
        100% { transform: translateX(calc(-304.71vw - 144px))}
    }
    .en-container.container-company {
        position: relative;
        background: none;
    }
    .en-container.container-company .inner-clip {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        clip-path: inset(0);
        z-index: -1;
    }
    .en-container.container-company .inner-clip:before {
        content:'';
        position: fixed;
        width: 100vw;
        height: 100vh;
        top: 0;
        left: 0;
        background-color: #000;
        z-index: -2;
    }
    .en-container.container-company .inner-clip:after {
        content: '';
        position: fixed;
        width: 100vw;
        height: 100vh;
        top: 0;
        left: 0;
        background: #000 url(/images/company-bg.webp) no-repeat center center;
        background-size: cover;
        z-index: -1;
    }
    .container-company .sticky-title {
        top: 0 !important;
    }
    .container-company .company-info {
        width: 100%;
        margin-left: 0;
        padding-bottom: 0;
        margin-bottom: 0;
        font-size: 14px;
    }
    .container-company .company-info dl .hstack {
        flex-direction: column;
        align-items: start;
        padding-bottom: 16px;
        margin-bottom: 16px;
        border-bottom: 1px solid rgba(255,255,255,0.2);
				font-size: 14px;
    }
    .container-company .company-info dl .hstack:last-child {
        margin-bottom: 0;
    }
    .container-news {
        padding: 64px 0 24px;
        position: relative;
        background: #F3F5F6!important;
    }
    .container-news .news-grid {
        display: flex;
        flex-direction: column;
    }
    .container-news .news-grid .news-list {
        font-size: 15px;
        margin-bottom: 0;
    }
    .container-news .news-list .hstack {
        flex-direction: column;
        align-items: center;
        border-bottom: 1px solid #dadada;
        position: relative;
        margin-bottom: 16px;
    }
    .container-news .news-list dt {
        width: 100%;
        color: #8D939E;
        text-align: left;
    }
    .container-news .news-list dd {
        width: 100%;
        padding-bottom: 16px;
    }
    .container-news .news-list dd .news-link {
        color: #000000;
        text-decoration: none;
        display: flex;
        width: calc(100% - 30px);
        height: auto;
        line-height: 1.2;
        position: inherit;
				font-size: 14px;
    }
    .container-news .news-list dd .news-link:after {
        display: block;
        content: "";
        background: url(/images/sp-chevron-right.svg) no-repeat center center;
        background-size: contain;
        width: 22.15px;
        height: 22.15px;
        position: absolute;
        right: 0;
        top: 22px;
        transition: right 0.3s;
    }
    .container-news .btn-grid {
        margin-top: 32px;
        justify-content: center;
    }
    .container-footer-header {
        background: url(/images/footer/sp-banner-bg.webp) no-repeat 50% center;
        background-size: cover;
        padding: 64px 0 40px;
        color: #ffffff;
        position: sticky!important;
        bottom: 0;
        z-index: -3!important;
    }
    .container-footer-header .en-container h4 {
        position: relative;
        margin-top: 24px;
        font-weight: 800;
        font-size: 18px;
        line-height: 1;
        margin-bottom: 12px;
    }
    .container-footer-header .en-container h4 span {
        display: none;
    }
    .container-footer-header .en-container p {
        font-weight: 600;
        font-size: 13px;
        line-height: 24px;
        margin-bottom: 16px;
    }
    .container-footer-header .btn-contact {
        font-size: 12px;
        height: 32px;
        padding-left: 15px;
        padding-right: 15px;
    }
    /* our brands */
    .en-container.container-our-brands {
        padding-top: 104px;
        padding-bottom: 24px;
        width: calc(100vw - 32px)!important;
    }
    .en-container.container-our-brands h3 {
        margin-left: 8px;
    }
    .en-container.container-our-brands .brand-container {
        flex-direction: column;
        gap: 24px;
    }
    .en-container.container-our-brands .brand-container .card {
        max-width: 100%;
        border: none;
        border-radius: 16px;
        cursor: pointer;
    }
    .en-container.container-our-brands .brand-container .card .card-body {
        padding: 16px 24px 32px;
        text-align: center;
    }
    .en-container.container-our-brands .brand-container .card .card-title {
        display: flex;
        justify-content: center;
        align-items: center;
				width: 95%;
        height: auto;
        margin-bottom: 16px;
    }
    .en-container.container-our-brands .brand-container .card .card-title img {
        width: calc(60% + 36px);
    }
	.en-container.container-our-brands .brand-container .card .logo_row img {
        width: calc(35% + 30px);
    }
    .en-container.container-our-brands .brand-container .card .card-title.logo-wide img {
        width: calc(80% + 36px);
    }
    .en-container.container-our-brands .brand-container .card .card-body a.btn {
        font-size: 15px;
        font-weight: 600;
        gap: 16px;
    }

    /* shop-list */
    .en-container.container-shop-list {
        padding-top: 104px;
        padding-bottom: 24px;
        width: calc(100vw - 32px)!important;
    }
    .en-container.container-shop-list h3 {
        margin-left: 8px;
    }
    .en-container.container-shop-list .brand-title {
        font-size: 19px;
        padding-left: 0;
				margin: 40px 0 16px;
    }
    .en-container.container-shop-list .brand-title:before {
        width: 12px;
        height: 12px;
        margin-right: 6px;
    }
    .en-container.container-shop-list .brand-title .muted {
        font-size: 11px;
        line-height: 19px;
        color: #8D939E;
        padding-left: 0.5em;
    }
    .en-container.container-shop-list .shop-list {
        padding: 16px;
        margin-bottom: 0;
    }
    .en-container.container-shop-list .shop-list .shop-list-item:not(:last-child) {
        padding-bottom: 24px;
        border-bottom: 1px solid #EFEFEF;
        margin-bottom: 24px;
    }
    .en-container.container-shop-list .shop-list .shop-list-item {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }
    .en-container.container-shop-list .shop-list .shop-list-item .shop-img {
        width: 100%;
    }
    .en-container.container-shop-list .shop-list .shop-list-item .shop-name {
        font-size: 16.5px;
        line-height: normal;
        margin-bottom: 16px;
    }
    .en-container.container-shop-list .shop-list .shop-list-item dl {
        margin-bottom: 0;
    }
    .en-container.container-shop-list .shop-list .shop-list-item dl .hstack {
        margin-bottom: 8px;
        position: relative;
        font-size: 14px;
        gap: 0;
        align-items: start;
    }
    .en-container.container-shop-list .shop-list .shop-list-item dl .hstack:last-child {
        margin-bottom: 0!important;
    }
    .en-container.container-shop-list .shop-list .shop-list-item dl dt {
        position: relative;
        left: -0.5em;
        max-width: 23vw;
    }
    .en-container.container-shop-list .shop-list .shop-list-item dl dt {
        width: calc(100% - 94px);
    }
    .en-container.container-shop-list .shop-list .shop-list-item .links {
        align-items: center;
    }
    .en-container.container-shop-list .shop-list .shop-list-item .links a {
        color: #262C37;
        font-size: 14px;
    }

    /* franchise */
    .en-container.container-franchise-available {
        background: url(/images/franchise/header-bg.webp) no-repeat 70% center;
        background-size: cover;
        color: #fff;
        padding-bottom: 48px;
    }
    .en-container.container-franchise-available .en-container>h5 {
        border-radius: 6px;
        font-size: 11px;
        padding: 4px 8px;
        margin: 108px 0 8px;
    }
    .en-container.container-franchise-available h1 {
        font-size: 27px;
        line-height: normal;
        margin-bottom: 16px;
    }
    .en-container.container-franchise-available p {
        font-size: 14px;
    }
    .en-container.container-messages {
        padding: 24px 0 64px;
        overflow: hidden;
    }
    .en-container.container-messages .message-header {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        overflow-x: visible;
        gap: 24px;
        margin-right: -11.25vw;
        margin-bottom: 14px;
    }
    .en-container.container-messages .message-header h2 {
        margin-top: 0;
        min-width: 100%;
        font-size: 21px;
        line-height: 1.5;
    }
    .en-container.container-messages .message-header h2:before {
        font-size: 100px;
        left: -15px;
        top: -23px;
    }
    .en-container.container-messages .message-header h2:after {
        font-size: 100px;
        left: 266px;
        top: 20px;
    }
    .en-container.container-messages .message-header .hstack {
        gap: 24px;
    }
    .en-container.container-messages .message-header img {
        width: 50%;
        position: relative;
        right: -16px;
    }
    .en-container.container-messages .message-body {
        flex-direction: column-reverse;
        overflow-x: visible;
        margin-left: 0;
        gap: 24px;
        margin-bottom: 44px;
    }
    .en-container.container-messages .message-body img {
        width: 100%;
        position: relative;
        left: -48px;
    }
    .en-container.container-messages .message-body p {
        width: 100%;
        font-weight: 800;
        font-size: 15px;
        line-height: 1.4;
        margin-bottom: 0;
    }
    .en-container.container-messages .appear-points {
        flex-direction: column;
        gap: 16px;
        width: calc(100vw - 32px);
        margin-left: -8px;
    }
    .en-container.container-messages .appear-points .card {
        width: 100%;
        padding: 24px;
        border: none;
        border-radius: 16px;
    }
    .en-container.container-messages .appear-points .card .card-title {
        display: flex;
        align-items: center;
        padding-left: 0;
        font-weight: 800;
        font-size: 17px;
        line-height: 100%;
        margin-bottom: 16px;
    }
    .en-container.container-messages .appear-points .card ul {
        margin: 0;
        padding-left: 2em;
    }
    .en-container.container-messages .appear-points .card ul li {
        font-size: 14px;
        line-height: 20px;
    }
    .en-container.container-steps {
        flex-direction: column;
        justify-content: space-between;
        padding-bottom: 64px;
    }
    .en-container.container-steps h3.pointed-title {
        font-size: 19px;
        margin-bottom:16px;
    }
    .en-container.container-steps h3.pointed-title:before {
        width: 12px;
        height: 12px;
        margin-right: 8px;
    }

    .en-container.container-steps .steps-content {
        width: 100%;
				margin-top:32px;
    }
    .en-container.container-steps .steps-content .step {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        position: relative;
        gap: 17.5px;
    }
    .en-container.container-steps .steps-content .step:not(:last-child) {
        margin-bottom: 32px;
    }
    .en-container.container-steps .steps-content .step:not(:last-child):after {
        display: none;
    }
    .en-container.container-steps .steps-content .step .step-header {
        display: inline-flex;
        width: 64px;
        height: 64px;
        border-radius: 50%;
        color: #fff;
        justify-content: center;
        align-items: center;
        padding-top:20px;
        font-family: "Montserrat", sans-serif;
        font-weight: 600;
        font-size: 9px;
        line-height: 25px;
    }
    .en-container.container-steps .steps-content .step:nth-child(1) .step-header {
        background: #11A0B7 url(/images/franchise/step-1.svg) no-repeat center 35%;
        background-size: 18px 18px;
    }
    .en-container.container-steps .steps-content .step:nth-child(2) .step-header {
        background: #11A0B7 url(/images/franchise/step-2.svg) no-repeat center 35%;
        background-size: 18px 18px;
    }
    .en-container.container-steps .steps-content .step:nth-child(3) .step-header {
        background: #11A0B7 url(/images/franchise/step-3.svg) no-repeat center 35%;
        background-size: 18px 18px;
    }
    .en-container.container-steps .steps-content .step:nth-child(4) .step-header {
        background: #11A0B7 url(/images/franchise/step-4.svg) no-repeat center 35%;
        background-size: 18px 18px;
    }
    .en-container.container-steps .steps-content .step:nth-child(5) .step-header {
        background: #11A0B7 url(/images/franchise/step-5.svg) no-repeat center 35%;
        background-size: 18px 18px;
    }
    .en-container.container-steps .steps-content .step .step-content {
        width: calc(100% - 82px);
    }
    .en-container.container-steps .steps-content .step .step-content .step-title {
        font-size: 16px;
        margin-bottom: 8px;
        padding-bottom: 8px;
    }
    .en-container.container-steps .steps-content .step .step-content .step-text {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 0;
    }
    .en-container.container-steps .steps-content .step .step-content .step-text a,
    .container-recruit a{
        text-decoration: underline;
        color: #0D9BB2;
    }
    .en-container.container-application-information {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding-bottom: 64px;
    }
    .en-container.container-application-information h3.pointed-title {
        font-size: 19px;
        margin-bottom:16px;
    }
    .en-container.container-application-information h3.pointed-title:before {
        width: 12px;
        height: 12px;
        margin-right: 8px;
    }
    .en-container.container-application-information dl {
        width: 100%;
        margin-top: 0;
        font-size: 15px;
    }
    .en-container.container-application-information dl .hstack {
        flex-direction: column;
        align-items: flex-start;
        border-bottom: 1px solid rgba(0,0,0,0.1);
        padding: 16px 0;
        margin: 0;
				font-size: 14px;
    }
    .en-container.container-available-brands h3.pointed-title {
        font-size: 19px;
        margin-bottom:16px;
    }
    .en-container.container-available-brands h3.pointed-title:before {
        width: 12px;
        height: 12px;
        margin-right: 8px;
    }
    .en-container.container-available-brands>.hstack {
        width: calc(100vw - 32px);
        margin-left: -8px;
        flex-direction: column;
        gap: 64px;
    }
    .en-container.container-available-brands>.hstack .card {
        width: 100%;
    }
    .en-container.container-available-brands>.hstack .card .card-body {
        padding: 8px 24px 24px;
        text-align: center;
    }
    .en-container.container-available-brands>.hstack .card .card-title {
        display: flex;
        justify-content: center;
        height:auto;
        align-items: center;
        margin-bottom: 12px;
    }
    .en-container.container-available-brands>.hstack .card .card-title img {
        width: calc(60% + 36px);
    }
    .en-container.container-available-brands>.hstack .card .card-title.logo-wide img {
        width: calc(80% + 36px);
    }
    .en-container.container-available-brands>.hstack .card:nth-child(1):after {
        bottom: -24px;
    }
    .en-container.container-available-brands>.hstack .card:nth-child(2):after {
        bottom: -24px;
    }
    /* ダイアログでダウンロード */
    .modal {
        --bs-modal-zindex: 100055;
        z-index: 100055;
    }
    .modal-backdrop {
        --bs-backdrop-zindex: 100050;
        z-index: 100050;
    }

    .en-container.container-available-brands+#download-modal .modal-dialog {
        max-width: calc(100vw - 32px);
    }
    .en-container.container-available-brands+#download-modal .modal-content {
        padding: 24px;
    }
    .en-container.container-available-brands+#download-modal .modal-content>.btn-close {
        width: 16px;
        height: 16px;
    }
    .en-container.container-available-brands+#download-modal .modal-content .modal-body {
        padding: 32px 0 40px;
    }
    .en-container.container-available-brands+#download-modal .modal-content .modal-body form {
        font-size: 17px;
    }
    .en-container.container-available-brands+#download-modal .modal-content .modal-body form p {
        line-height: 140%;
    }
    .en-container.container-available-brands+#download-modal .modal-content .modal-body form p span {
        font-size: 14px;
    }
    .en-container.container-available-brands+#download-modal .modal-content .modal-body form .row {
        margin-bottom: 24px;
    }
    .en-container.container-available-brands+#download-modal .modal-content .modal-body form label.col-sm-3 {
        margin-top: 0;
    }
    .en-container.container-available-brands+#download-modal .modal-content .modal-body form .form-control,
    .en-container.container-available-brands+#download-modal .modal-content .modal-body form .form-select {
        padding: 16px 18px;
    }
    .en-container.container-available-brands+#download-modal .modal-content .modal-body form .policy {
        padding: 16px 18px;
        font-size: 15px;
    }
    .en-container.container-available-brands+#download-modal .modal-content .modal-body form .form-check-input+label {
        font-size: 15px;
    }
    .en-container.container-available-brands+#download-modal .modal-content .modal-body form #btn-download {
        margin: 40px auto;
        margin-left: calc(50% - 58px);
        margin-right: calc(50% - 58px);
    }



    .en-container.w-full.container-footer-contact {
        margin-top: -54px;
        padding-top: 134px;
        color: #fff;
        text-align: center;
        background: linear-gradient(180deg, #0D9BB2 0%, #27BFD7 100%);
        position: relative;
    }
    .en-container.w-full.container-footer-contact .en-container {
        position: relative;
        z-index: 0;
        padding-bottom: 24px;
        overflow: hidden;
    }
    .en-container.w-full.container-footer-contact .en-container h2.footer-contact-message {
        font-weight: 800;
        font-size: 32px;
        line-height: normal;
    }
    .en-container.w-full.container-footer-contact .en-container p {
        font-size: 15px;
        margin: 24px 0;
    }
    .en-container.w-full.container-footer-contact .en-container:after {
        content: attr(data-title);
        font-size: 70px;
        line-height: 100%;
        position: absolute;
        color: #23B9D2;
        top: 89px;
        left: -100vw;
        z-index: -1;
        width: 300vw;
        height: auto;
        text-align: center;
    }

    /* news */
    .en-container.container-news-list {
        padding-top: 104px;
        padding-bottom: 24px;
    }
    .en-container.container-news-list .news-list-item {
        padding: 16px 0;
        flex-direction: column;
        position: relative;
    }
    .en-container.container-news-list .news-list-item .publish-date {
        display: inline-block;
        color: #8D939E;
        width: 120px;
        font-weight: 600;
        font-size: 15px;
        line-height: 1.4;
    }
    .en-container.container-news-list .news-list-item .news-link {
        width: calc(100% - 28px);
        color: #000000;
        display: block;
        font-weight: 800;
        font-size: 15px;
        line-height: 1.4;
        text-decoration: none;
        position: static;
    }
    .en-container.container-news-list .news-list-item .news-link:after {
        display: block;
        content: "";
        background: url(/images/sp-chevron-right.svg) no-repeat center center;
        background-size: contain;
        width: 24.12px;
        height: 24.12px;
        position: absolute;
        right: 0;
        top: 36px;
        transition: right 0.3s;
    }
    .en-container.container-news>* {
        margin-bottom: 32px;
    }
    .en-container.container-news .publish-date {
        margin-bottom: 12px;
    }
    .en-container.container-news h4 {
        font-size: 19px;
        line-height: 1.4;
    }
    .en-container.container-news img {
        max-width: 100%;
    }
    .en-container.container-news-content {
        padding-bottom: 24px;
    }
    .en-container.container-news-link {
        text-align: center;
    }

    .en-container.container-main:has(form), .en-container.container-main:has(.posted-form) {
        padding-top: 104px;
        padding-bottom: 24px;
    }
    .en-container.container-main h3:has(+h5) {
        margin-bottom: 56px;
    }
    .en-container.container-main h3+h5 {
        margin-bottom: 40px;
    }
    .en-container.container-main form {
        width: 100%;
        font-size: 17px;
    }
    .en-container.container-main form .form-control,
    .en-container.container-main form .form-select {
        font-size: 15px;
    }
    .en-container.container-main form .row {
        margin-bottom: 16px;
    }
    .en-container.container-main form .row label.col-sm-3 {
        width: 100%;
        margin-top: 0;
				margin-bottom: 8px;
				font-size: 15px;
    }
    .en-container.container-main form .row .col-sm-9 {
        width: 100%;
    }
    .en-container.container-main form .policy {
        border: 1px solid #9FA9BF;
        border-radius: 8px;
        padding: 12px 18px;
        height: 210px;
        overflow-y: scroll;
        font-size: 15px;
        line-height: 1.4;
    }
    .en-container.container-main form .row .col-sm-9 .custom-control input[type="checkbox"] {
        width: 24px;
        height: 24px;
    }
    .en-container.container-main form .row .col-sm-9 .custom-control label {
        font-size: 15px;
        position: relative;
        top: -6px;
        left: 3px;
    }
    .en-container.container-main form .buttons {
        margin-top: 40px;
        text-align: center;
    }
    .en-container.container-main .posted-form {
        margin-top: -24px;
    }
    .en-container.container-main .posted-form .row {
        padding: 24px 0;
        border-bottom: 1px solid #dadada;
        margin: 0;
        font-weight: 800;
    }
    .en-container.container-main .posted-form .row>* {
        padding-left: 0;
        padding-right: 0;
        font-size: 15px;
    }
    .en-container.container-main .posted-form .buttons.hstack {
        gap: 46px;
        margin-top: 40px;
        justify-content: center;
    }
    .en-container.container-main h3+h5.thanks-message {
        font-size: 17px;
        line-height: 1.4;
        margin-bottom: 40px;
    }
}
