@charset "UTF-8";

@media screen and (max-width: 896px) {
    .pc {
        display: none !important;
    }

}

@media screen and (min-width: 1400px) {
    .sp {
        display: none !important;
    }
}

html {
    scroll-behavior: smooth;
}

body {
    position: relative;
    background: #FFFFFA;
    font-family: "source-han-sans-japanese", sans-serif;
    color: #1A1A1A;
    font-weight: 500;
    position: relative;
    overflow: hidden;
}

img {
    display: block;
    width: 100%;
    height: auto;
}


.wrap {
    width: 100%;
    margin: 0 auto;
    overflow-x: hidden;
}

.loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100000;
    background: #FFFFFA;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1;
    /* 初期状態: 表示 */
    transition: opacity 0.5s ease-in-out;
    /* フェードアウト */
}

.loading.hide {
    opacity: 0;
    /* フェードアウト */
    pointer-events: none;
    /* クリックを無効化 */
}

.loading_logo {
    max-width: 300px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}



/* ------
header
------ */

.header {
    position: fixed;
    right: 0;
    left: 0;
    top: 2%;
    /* 水平中央＆初期位置 */
    transition: transform 0.3s ease-in-out;
    /* アニメーションを適用 */
    display: flex;
    align-items: center;
    gap: 32px;
    justify-content: space-between;
    width: 95%;
    margin: 0 auto;
    z-index: 1000;
    color: #1A1A1A;
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.7);
    padding: 10px 16px 10px 20px;
    border-radius: 100px;
}


.logo {
    min-width: 100px;
    max-width: 150px;
}

.nav {
    display: flex;
}

.nav_2 {
    display: flex;
}

.nav_ul {
    display: flex;
    text-align: center;
}

.nav_ul li {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    border-left: 1px solid #A7A7A7;
    padding: 0 20px 0 20px;
    transition: .10s;
}


.nav_link {
    transition: color .3s;
}

.nav_link:hover {
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}


.nav_ul li:nth-child(1) {
    border-left: none;
}

.nav_ul li:nth-child(1) {
    border-left: none;
}

.nav_ul li:nth-child(6) {
    border-left: none !important;
}

.nav_ul li:nth-child(7) {
    border-left: none;
    margin-left: 8px;
}

.nav_ul li:nth-child(8) {
    border-left: none;
}

.nav_jp {
    font-size: 0.9rem;
}

.nav_en {
    font-size: 0.7rem;
    font-family: "fredoka-variable", sans-serif;
    font-variation-settings: "wght" 600;
    margin-top: 4px;
}

.line_button {
    display: block;
    border-radius: 100px;
    border: 1px solid #FF8307;
    background: #FFFFFA;
    padding: 10px 20px;
    color: #FF8307;
    min-width: 150px;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}

.line_button:hover {
    transform: translateY(-2px);
    box-shadow: 0px 5px 15px 0px rgba(161, 161, 161, 0.35);
}

.orange_button {
    display: block;
    border-radius: 100px;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%) !important;
    padding: 10px 20px;
    color: #FFFFFF;
    min-width: 150px;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}

.orange_button:hover {
    transform: translateY(-2px);
    box-shadow: 0px 5px 15px 0px rgba(161, 161, 161, 0.35);
}

.header_sp {
    display: none;
}

@media screen and (max-width: 1400px) {

    .header_pc {
        display: none;
    }

    .header_sp {
        display: block;
        background: rgba(255, 255, 255, 0.7);
        padding: 10px 16px 10px 20px;
        border-radius: 100px;

        position: fixed;
        top: 10px;
        right: 0;
        left: 0;
        margin: 0 auto;
        z-index: 9999;
        width: 95%;
    }

    .logo {
        max-width: 150px;
    }

    .logo img {
        height: 50px;
        transition: opacity 0.3s ease;
    }

    /* 白ロゴを表示するためにopacityを設定 */
    .white-logo .logo img {
        opacity: 1;
    }


    @keyframes fadeIn {
        0% {
            opacity: 0;
            /* 初期状態: 完全に透明 */
            visibility: visible;
        }

        100% {
            opacity: 1;
            /* 最終状態: 不透明 */
            visibility: visible;
        }
    }

    @keyframes fadeOut {
        0% {
            opacity: 1;
            /* 初期状態: 不透明 */
            visibility: visible;
        }

        100% {
            opacity: 0;
            /* 最終状態: 完全に透明 */
            visibility: hidden;
        }
    }


    nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(255, 255, 250, 0.9);
        /* 半透明の背景 */
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        z-index: 1001;
        opacity: 0;
        visibility: hidden;
        /* 初期状態で非表示 */
        transition: visibility 0s 0.7s, opacity 0.7s ease;
        /* アニメーション時間を調整 */
    }

    .open nav {
        display: block;
        /* 必要に応じて display を block に */
        animation: fadeIn 0.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
        /* メニュー表示時 */
    }

    .close nav {
        animation: fadeOut 0.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
        /* メニュー非表示時 */
    }

    nav .inner {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 80%;
        text-align: center;
    }

    nav .inner ul {
        list-style: none;
        margin: 0;
        padding: 0;
        max-width: 500px;
        margin: 0 auto;
    }

    nav .inner ul li {
        margin: 20px 0;
        background: #FFFFFA;
        border: 1px solid #FF8307;
        border-radius: 100px;
    }

    .header_sp_li1 {
        background: transparent !important;
        border: none !important;
        margin: 0 0 32px 0 !important;
    }

    nav .inner ul li a {
        background: transparent;
        color: #FF8307;
        border: 1px solid #FF8307;
        border-radius: 100px;
        position: relative;
        display: flex;
        justify-content: space-around;
        align-items: center;
        margin: 0 auto;
        padding: 16px 25px;
        transition: 0.3s ease-in-out;
        font-weight: 700;
        font-size: 1rem;
    }

    nav .inner ul li a:after {
        content: "";
        position: absolute;
        top: 50%;
        bottom: 0;
        right: 2rem;
        font-size: 90%;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: right 0.3s;
        width: 6px;
        height: 6px;
        border-top: solid 2px currentColor;
        border-right: solid 2px currentColor;
        transform: translateY(-50%) rotate(45deg);
    }



    nav .inner ul li a:hover:after {
        right: 1.4rem;
    }

    .header_sp_grid {
        display: flex;
        align-items: flex-start;
        justify-content: center;
        gap: 16px;
    }

    .header_sp_logo {
        max-width: 200px;
        margin: 0 auto;
    }

    .header_sp_grid li {
        border: none !important;
        background: transparent !important;
        width: 100%;
        margin: 20px auto 0 !important;
    }

    .header_sp_grid li a {
        background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%) !important;
        color: #FFFFFA !important;
    }


    .toggle_btn {
        display: flex;
        /* 子要素を整列 */
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: fixed;
        top: 20px;
        right: 4%;
        width: 50px;
        /* 幅を広げる */
        height: 50px;
        /* 高さを広げる */
        background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
        /* 背景色 */
        border-radius: 50%;
        /* 丸みを付ける */
        cursor: pointer;
        z-index: 1002;
        /* 影を付ける */
        transition: background 0.3s ease, transform 0.3s ease;
    }

    .toggle_btn:hover {
        background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
        /* ホバー時の背景色 */
        transform: scale(1.1);
        /* ホバー時の拡大 */
    }

    .toggle_btn span {
        display: block;
        width: 30px;
        height: 2px;
        background: #FFF;
        border-radius: 4px;
        transition: all 0.5s ease;
        margin: 3px 0;
        /* 各線の間隔を均等にする */
    }

    /* メニューオープン時の線の挙動 */
    .open .toggle_btn span {
        background: #fff;
    }

    .open .toggle_btn span:nth-child(1) {
        transform: translateY(9px) rotate(-315deg);
        /* 角度を調整してクロスをきれいに */
    }

    .open .toggle_btn span:nth-child(2) {
        opacity: 0;
        /* 中央の線を非表示に */
    }

    .open .toggle_btn span:nth-child(3) {
        transform: translateY(-7px) rotate(315deg);
        /* 角度を調整してクロスをきれいに */
    }

}

@media screen and (max-width: 500px) {
    .header_sp_grid {
        display: flex;
        align-items: flex-start;
        justify-content: center;
        flex-direction: column-reverse;
        gap: 0;
    }

    .header_sp{
        padding: 2px 16px 2px 20px;
    }
    .contact_days {
        display: flex;
        justify-content: center;
        gap: 16px;
    }

    .logo {
        max-width: 100px;
    }

    .toggle_btn {
        width: 40px;
        height: 40px;
        top: 17px;
        right: 5%;
    }

    .toggle_btn span {
        width: 20px;
        margin: 2px auto;
    }
}



/* kv */

.top_kv {
    height: 100vh;
    position: relative;
    min-height: 800px;
    background-color: #FFFFFA;
}

.splide {
    position: absolute;
    top: 48%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.sample-slider {
    width: 100%;
    height: 70%;
    margin: 0 auto;
}

.splide__slide {
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0px 2px 7px 0px #ccc;
    /* 影指定 */
}

.sample-slider img {
    width: 100%;
    height: auto;
    /* 高さは自動調整 */
    object-fit: contain;
    /* アスペクト比を維持 */
}

.top_kv_content1 {
    position: absolute;
    top: 0;
    right: 0;
    content: '';
    width: 30%;
    height: 40%;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
}

.top_kv_content2 {
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 60%;
    height: 40%;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
}

.splide__track {
    position: relative;
}

.top_title {
    position: absolute;
    z-index: 99;
    bottom: 5%;
    left: 10%;
    width: 70%;
    max-width: 1000px;
}

.top_main {
    position: relative;
}

.top_back {
    position: fixed;
    z-index: -1;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    /* iframeの余白を防ぐ */
}

.top_back iframe {
  position: absolute;
            top: 50%;
            left: 50%;
            width: 100%;
            height: 100%;
            transform: translate(-50%, -50%);
            pointer-events: none;
    /* ユーザー操作を無効化 */
}
@media (min-aspect-ratio: 16/9) {
  .top_back iframe {
    /* height = 100 * (9 / 16) = 56.25 */
    height: 56.25vw;
  }
}
@media (max-aspect-ratio: 16/9) {
  .top_back iframe {
    /* width = 100 / (9 / 16) = 177.777777 */
    width: 177.78vh;
  }
}

.top_title_pc {
    display: block;
}

.top_title_sp {
    display: none;
}

@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400&display=swap');

.scroll_down {
    position: absolute;
    bottom: 2%;
    right: 2.5%;
}

.scroll_down a {
    position: absolute;
    left: 10%;
    bottom: 87px;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    font-size: 0.8rem;
    font-family: 'Josefin Sans', sans-serif;
    letter-spacing: .2em;
    writing-mode: vertical-lr;
    text-decoration: none;
    text-transform: uppercase;
}

.scroll_down:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: -4px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    z-index: 1;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    animation:
        circlemove 1.6s ease-in-out infinite,
        cirlemovehide 1.6s ease-out infinite;
}

@keyframes circlemove {
    0% {
        bottom: 160px;
    }

    100% {
        bottom: 0px;
    }
}

@keyframes cirlemovehide {
    0% {
        opacity: 0
    }

    50% {
        opacity: 1;
    }

    80% {
        opacity: 0.9;
    }

    100% {
        opacity: 0;
    }
}

.scroll_down:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 2px;
    height: 160px;
    background: #000;
}

@media screen and (max-width: 1300px) {}

@media screen and (max-width: 1400px) {
    .top_title_pc {
        display: none;
    }

    .top_title_sp {
        display: block;
    }

    .top_title {
        bottom: 5%;
    }
}

@media screen and (max-width: 1300px) {
    .top_title {
        min-width: 900px;
    }
}

@media screen and (max-width: 1200px) {
    .top_title {
        left: 4%;
        bottom: 5%;
        min-width: 900px;
    }
}

@media screen and (max-width: 1000px) {
    .top_title {
        left: 4%;
        bottom: 10%;
        min-width: 700px;
    }
}

@media screen and (max-width: 800px) {
    .top_kv {
        height: 100svh;
    }

    .top_title {
        min-width: 550px;
    }
}

@media screen and (max-width: 600px) {
    .top_title {
        left: 4%;
        bottom: 10%;
        min-width: 400px;
    }

    .sample-slider {
        width: 120%;
        height: 70%;
    }
}

@media screen and (max-width: 500px) {
    .top_title_sp {
        left: 4%;
        bottom: 7%;
        min-width: 380px;
    }

    .sample-slider {
        width: 180%;
        height: 80%;
    }

    .top_kv_content2 {
        width: 100%;
    }
}

@media screen and (max-width: 400px) {
    .top_title_sp {
        left: 4%;
        bottom: 17%;
        min-width: 340px;
        width: 90%;
    }

    .sample-slider {
        width: 160%;
        height: 80%;
    }
}

/* ------
h2
------ */

.title {
    text-align: center;
    margin: 0 auto;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    font-weight: 900;
    margin-bottom: 6px;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    /* 標準プロパティ */
    -webkit-background-clip: text;
    /* WebKit用 */
    -webkit-text-fill-color: transparent;
    /* WebKit用 */
    color: transparent;
    /* 保険として標準プロパティも */
}

.subtitle {
    text-align: center;
    margin: 0 auto;
    font-size: 1.2rem;
    font-weight: 900;
    font-family: "fredoka-variable", sans-serif;
    font-variation-settings: "wght" 600;
    color: #373737;
    letter-spacing: 0.15em;
}

@media screen and (max-width: 896px) {
    .title {
        font-size: 1.6rem;
    }

    .subtitle {
        font-size: 1rem;
    }
}

@media screen and (max-width: 500px) {
    .title {
        font-size: 1.6rem;
    }

    .subtitle {
        font-size: 1rem;
    }
}





/* ------
news 
------ */

.news {
    margin-bottom: 72px;
}

.news_content {
    margin: 40px auto;
}

.news_item {
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
    border-top: 1px solid #D9D9D9;
    border-bottom: 1px solid #D9D9D9;
    padding: 20px;
}

.news_item:not(:nth-child(1)) {
    border-top: none;
}

.news_header {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 0.9rem;
    margin-bottom: 8px;
}

.news_date {
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    /* 標準プロパティ */
    -webkit-background-clip: text;
    /* WebKit用 */
    -webkit-text-fill-color: transparent;
    /* WebKit用 */
    color: transparent;
}

.news_category {
    display: inline-block;
    padding: 4px 10px;
    color: #FFFFFA;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    border-radius: 4px;

}

.news_text {
    font-size: 1rem;
    line-height: 0.05em;
    color: #FFFFFA;
    font-weight: 500;
    text-decoration: underline;
    transition: 0.3s;
}

.news_text:hover {
    color: #9d9d9d;
    transform: translateY(-2px);
}

.button {
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    color: #FFFFFA;
    border-radius: 100px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 250px;
    padding: 16px 25px;
    transition: 0.3s ease-in-out;
    font-weight: 700;
    font-size: 1rem;
}

.button:after {
    content: "";
    position: absolute;
    top: 50%;
    bottom: 0;
    right: 2rem;
    font-size: 90%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: right 0.3s;
    width: 6px;
    height: 6px;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transform: translateY(-50%) rotate(45deg);
}

.button:hover {
    color: #FFF;
}

.button:hover:after {
    right: 1.4rem;
}

@media screen and (max-width: 900px) {
    .news {
        padding: 120px 0 160px;
    }

    .button {
        font-size: 0.8rem;
    }

    .news_text {
        font-size: 0.9rem;
        line-height: 1.4em;
        color: #1A1A1A;
    }
}

@media screen and (max-width: 500px) {
    .news {
        padding: 100px 0 150px;
    }
}



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

.about {
    color: #FFFFFA;
    background-color: rgba(0, 0, 0, 0.7);
    padding: 80px 40px;
}

.top_titleContent {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
}

.top_h2 {
    font-size: 4rem;
    font-weight: 900;
    margin-bottom: 6px;
}

.top_subtitle {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-weight: 800;
}

.top_subtitle span {
    content: '';
    width: 15px;
    height: 15px;
    background: #FFFFFA;
    border-radius: 100px;
}

.grade {
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
}

.grade_span {
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%) !important;
}

.about_border {
    padding: 56px 40px 120px;
    border: 2px solid transparent;
    border-image: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    border-image-slice: 1;
}

.top_aboutContent {
    max-width: 800px;
    margin: 80px auto 0;
}

.top_h3 {
    font-size: 1.4rem;
    padding: 10px 16px;
    border-radius: 4px;
    font-weight: 600;
    letter-spacing: 0.08em;
    margin-bottom: 24px;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-size: 200% 200%;
    animation: Grad 5s ease infinite;
}

@keyframes Grad {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0% 50%
    }
}

.top_h3_2 {
    margin-top: 80px;
}

.top_aboutText {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 160%;
    padding: 0 8px;
    letter-spacing: 0.02em;
}

.top_aboutText span {
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.mission {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 40px auto 0;
    max-width: 800px;
}

.mission li {
    margin-top: 14px;
    border-bottom: 1px solid #636363;
    padding: 0 0 4px 10px;
}

.mission_num {
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    font-size: 3rem;
    margin-right: 8px;
}

.zenkaku {
    margin-left: -12px;
}

.button_grade {
    display: block;
    width: 100%;
    max-width: 250px;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    position: relative;
    padding: 16px 10px;
    border-radius: 100px;
    transition: all 0.2s ease;
    text-align: center;
    font-size: 1rem;
    font-weight: 800;
    margin: 56px auto 0;

    &::before {
        content: "";
        position: absolute;
        inset: 0;
        padding: 1px;
        /* ボーダーの太さ */
        border-radius: 100px;
        background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
        -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask-composite: destination-out;
        mask-composite: exclude;
        pointer-events: none;
    }
}

.button_grade:hover {
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    -webkit-text-fill-color: unset;
    color: #FFFFFA;
}

.button_grade_layer {
    margin: 14px 0 0;
}

.br_pc {
    display: block;
}

.br_sp {
    display: none;
}

@media screen and (max-width: 900px) {
    .top_aboutText {
        font-size: 4vw;
    }

    .top_titleContent {
        margin: 0;
    }
}

@media screen and (max-width: 800px) {
    .about {
        padding: 20px 20px;
    }

    .about_border {
        padding: 56px 40px 56px;
    }

    .top_h3_2 {
        margin-top: 56px;
    }

    .top_h2 {
        font-size: 2.8rem;
    }

    .top_subtitle {
        font-size: 0.8rem;
    }

    .top_subtitle span {
        width: 10px;
        height: 10px;
        gap: 2px;
    }

    .button_grade {
        font-size: 0.8rem;
    }

    .mission li {
        font-size: 1.2rem;
    }

    .mission_num {
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 600px) {
    .top_aboutText {
        font-size: 1.4rem;
    }

    .top_h3 {
        font-size: 0.8rem;
    }

    .mission {
        grid-template-columns: 1fr;
        row-gap: 16px;
        font-size: 1.2rem;
    }

    .mission li {
        font-size: 1rem;
        display: flex;
        align-items: center;
    }

    .mission_num {
        font-size: 1.4rem;
    }

    .zenkaku {
        margin-left: 0;
    }

}

@media screen and (max-width: 500px) {
    .about_border {
        padding: 32px 20px 56px;
    }

    .top_aboutContent {
        margin: 40px auto 0;
    }

    .top_h3 {
        margin-top: 40px;
        margin-bottom: 16px;
    }

    .top_h3_2 {
        margin-top: 40px;
    }

    .button_grade {
        margin: 48px auto 0;
    }

    .br_pc {
        display: none;
    }

    .br_sp {
        display: block;
    }



    .top_contact {
        padding: 40px 0 80px !important;
    }
}

/* ------
business
------ */

.business {
    padding: 120px 0 40px;
    background: #F1F1F1;
}

.top_titleContent2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
}

.slider {
    margin: 40px auto;
}


.slider div p {
    transition-duration: 0.5s;
    display: block;
    overflow: hidden;
    position: relative;
    cursor: pointer;

}

.slider div p span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10%;
    opacity: 0;
    transition-duration: 0.2s;
    transition-timing-function: ease-in;
    transition-delay: 0.5s;
}


.slider div p iframe,
.slider div p a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
}

.slider div.slick-active p,
.slider div.is-active-next p {
    opacity: 1;
    transform: scale(1);
    filter: brightness(1);
}

.slider div p iframe {
    display: none;
}

.slider div.slick-active a,
.slider div.is-active-next a {
    display: block;
}


.h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: 600;
    color: #FFFFFA;
    padding: 16px 0;
    max-width: 300px;
    border-radius: 0 0 16px;
}

.col_1 {
    background: #DAB72A;
}

.col_2 {
    background: #BEA166;
}

.col_3 {
    background: #518D3D;
}

.col_4 {
    background: #5D18D3;
}

.col_5 {
    background: #777262;
}

.col_6 {
    background: #C5733C;
}

.col_7 {
    background: #4C7EA4;
}

.col_8 {
    background: #B7507F;
}

.col_orange {
    background: #FF8307;
}

.business_content {
    height: 100%;
}

.business_content_div {
    padding: 32px;
}

.business_content_div p {
    font-size: 0.9rem;
    line-height: 1.6em;
    letter-spacing: 0.05em;
    margin: 0 auto 40px;
    color: #1A1A1A;
    max-width: 400px;
}

.business_content_img {
    padding: 0 24px;
}

.business_content_img img {
    object-fit: cover;
    max-width: 500px;
    height: 30vh;
    width: 100%;
    margin: 40px auto 0;
    border-radius: 8px;
}

.business_content_button {
    color: #FFFFFA;
    border-radius: 100px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 12px 25px;
    transition: 0.3s ease-in-out;
    font-weight: 700;
    font-size: 0.8rem;
    margin: 0 auto;
    max-width: 200px;
    text-align: center;
}

.business_content_button:hover {
    transform: scale(1.1);
}


.business_more {
    background: #FFFFFA;
    color: #4E4E4E;
    border-radius: 100px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 250px;
    padding: 16px 25px;
    transition: 0.3s ease-in-out;
    font-weight: 700;
    font-size: 1rem;
}

.business_more:after {
    content: "";
    position: absolute;
    top: 50%;
    bottom: 0;
    right: 2rem;
    font-size: 90%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: right 0.3s;
    width: 6px;
    height: 6px;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transform: translateY(-50%) rotate(45deg);
}

.business_more:hover:after {
    right: 1.4rem;
}

@media screen and (max-width: 800px) {
    .business {
        padding: 80px 0 80px;
        background: #F1F1F1;
    }

    .button_grade_layer {
        margin: 0 auto;
    }
}

@media screen and (max-width: 600px) {
    .top_titleContent2 {
        flex-direction: column;
    }
}


/* ------
NOTICE
------ */

.subtract {
    position: absolute;
    top: -4px;
    width: 100vw;
}

.notice {
    position: relative;
    min-height: 800px;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    padding: 300px 0 150px;
}

.maru {
    position: absolute;
    bottom: -1px;
    width: 100vw;
    /* margin-top: -64px; */
}

.notice_flex {
    display: flex;
    justify-content: flex-end;
    gap: 72px;
    max-width: 1800px;
    margin-left: auto;
}

.news-report {
    position: relative;
    display: flex;
    background: #F4F4F4;
    box-shadow: 0px 5px 15px 0px rgba(156, 156, 156, 0.35);
    border-top-left-radius: 24px;
    border-bottom-left-radius: 24px;
    padding: 0 0 0 56px;
    max-height: 500px;
}

.news-repot-left {
    color: #FFFFFA;
    display: flex;
    flex-direction: column;
    margin: 0 0 0 80px;
}

.news-repot-left-box {
    display: flex;
    flex-direction: column;
    height: 100%;
}


.swiper-nav {
    display: flex;
    justify-content: center;
    margin-top: 32px;
    max-width: 200px;
}

.swiper-nav p {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80px;
    height: 80px;
    background: transparent;
    border-radius: 100px;
    margin: 0 10px;
    font-weight: 900;
    font-size: 25px;
    color: #FFFFFA;
    cursor: pointer;
    transition-duration: 0.2s;
    border: 1px solid #FFFFFA;
}

.buton_white {
    display: block;
    width: 100%;
    max-width: 250px;
    border: 2px solid #FFFFFA;
    color: #FFFFFA;
    padding: 16px 10px;
    border-radius: 100px;
    transition: all 0.2s ease;
    text-align: center;
    font-size: 1rem;
    font-weight: 800;
    margin: auto 0 0 0;
    transition: all 0.3s ease;
    min-width: 240px;
}

.buton_white:hover {
    background: #FFFFFA;
    color: #FF8307;
}

.swiper-nav p:hover {
    transform: scale(1.1);
}

.swiper-button-disabled {
    opacity: 0.2;
    pointer-events: none;
}

.news-report h2 span {
    display: block;
}


.swiper-container {
    width: calc(100% - 0px);
    padding: 56px 50px 56px 0;
    overflow: hidden;
}

.swiper-wrapper {
    display: flex;
    align-items: flex-start;
}

.swiper-slide {
    width: 100%;
    max-height: 400px;
    max-width: 500px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0px 5px 15px 0px rgba(156, 156, 156, 0.35);
}

.slide-content {
    width: 100%;
    height: 100%;
}

.slide-content a {
    display: block;
    position: relative;
    height: 100%;
    width: 100%;
}

.slide-content a img {
    object-fit: cover;
    transition: 0.5s all;
    filter: brightness(1);
    transition-duration: 0.5s;
    filter: brightness(0.9);
}

.slide-content a img:hover {
    transform: scale(1.17);
    filter: brightness(0.5);
    transition: 1s all;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    position: absolute;
}

.swiper-text {
    position: absolute;
    bottom: 8%;
    left: 4%;
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: #FFFFFF;
    letter-spacing: 0.03em;
    width: 90%;
}

.swiper-text h3 {
    font-size: 1rem;
    color: #FFFFFA;
}

.swiper-category {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 0.8rem;
}

.swiper-categoryName {
    background: #514B93;
    padding: 4px 8px;
    border-radius: 100px;
}

.swiper-col1 {
    background: #C5733C;
}

.button_mrg {
    margin: 40px auto 100px;
}

.swiper-nav-sp {
    display: none;
}


.top_pc {
    display: block;
}

.top_sp {
    display: none;
}

@media screen and (max-width: 1500px) {
    .notice {
        padding: 200px 0 150px;
    }
}

@media screen and (max-width: 800px) {

    .notice {
        padding: 150px 0 96px;
    }

    .notice_flex {
        flex-direction: column;
        gap: 0;
        width: 95%;
        margin-left: auto;
    }

    .news-repot-left {
        margin: 0;
    }

    .news-report {
        position: relative;
        padding: 0 0 0 0;
        width: 100%;
        border-radius: 8px 0 0 8px;
        margin: 40px 0 40px;
    }

    .top_pc {
        display: none;
    }

    .top_sp {
        display: block;
    }

    .swiper-container {
        padding: 32px 50px 32px 40px;
    }

    .buton_white {
        font-size: 0.8rem;
        border: 1px solid #FFFFFA;
    }
}


@media screen and (max-width: 600px) {
    .swiper-nav {
        justify-content: flex-start;
        gap: 16px;
    }

    .swiper-nav p {
        width: 60px;
        height: 60px;
        margin: 0;
        font-size: 0.9rem;
    }

    .swiper-text h3 {
        font-size: 0.8rem;
    }
}

@media screen and (max-width: 400px) {
    .swiper-container {
        padding: 28px 50px 28px 24px;
    }
}


/* ------
TOP NEWS
------ */

.top_news_content {
    display: flex;
    gap: 40px;
    color: #FFFFFA;
    justify-content: space-between;
    max-width: 1800px;
    /* margin: 120px 0 0 auto; noticeの復活で */
    margin: 0 0 0 auto;
}

.news_h2 {
    display: flex;
    flex-direction: column;
    margin: 0 0 0 80px;
}

.news_right {
    width: calc(80% - 70px);
}

.top_news_ul {
    font-weight: 400;
    max-width: 1000px;
    padding: 0 40px 0 0;
}

.top_news_box {
    border-top: 1px solid rgba(255, 255, 250, 0.6);
    border-bottom: 1px solid rgba(255, 255, 250, 0.6);
}

.top_news_box:not(:nth-child(1)) {
    border-top: none;
}

.news_a {
    display: block;
    padding: 24px 10px;
    transition: all 0.3s ease;
}

.news_a:hover {
    transform: translatex(-10px);
}


.top_news_title {
    display: flex;
    gap: 18px;
    align-items: center;
    margin-bottom: 16px;
    font-size: 1rem;
}

.top_news_category {
    border: 1px solid #FFFFFA;
    padding: 4px 10px;
    font-size: 0.8rem;
}

.top_news_text {
    text-decoration: underline;
}

@media screen and (max-width: 800px) {

    .news_h2 {
        display: block;
        width: 95%;
        margin-left: auto;
    }

    .top_news_ul {
        max-width: 700px;
        width: 95%;
        padding: 0;
        margin: 40px auto 40px 0;
    }

    .news_right {
        width: 100%;
    }

    .top_news_content {
        display: block;
    }

    .news_a {
        font-size: 0.9rem;
        padding: 16px 8px;
    }

}

/* ------
BRAND
------ */

.top_bland {
    color: #FFFFFA;
    background-color: rgba(0, 0, 0, 0.7);
    padding: 80px 0 120px;
}

.brand_title {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}

.brand_content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    color: #FFFFFA;
    max-width: 1000px;
    width: 90%;
    margin: 56px auto 0;
    gap: 20px;
}

.brand_a {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #FFFFFA;
    text-align: center;
    font-size: 1rem;
    padding: 24px 10px;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
    border-radius: 8px;
}

.brand_a:hover {
    transform: translateY(-8px);
    box-shadow: 0px 5px 15px 0px rgba(85, 43, 0, 0.35);
}

.brand_img {
    max-width: 120px;
    margin: 16px auto 0;
}

.brand_5 {
    max-width: 160px;
}

.brand_6 {
    max-width: 100px;
}

@media screen and (max-width: 896px) {
    .brand_content {
        display: grid;
        grid-template-columns: 1fr 1fr;
        color: #FFFFFA;
        width: 90%;
        margin: 56px auto 0;
        gap: 20px;
    }

    .brand_img {
        max-width: 100px;
        margin: 16px auto 0;
    }

    .brand_5 {
        max-width: 140px;
    }

    .brand_6 {
        max-width: 80px;
    }
}

@media screen and (max-width: 800px) {
    .top_bland {
        color: #FFFFFA;
        padding: 80px 0 100px;
    }
}

@media screen and (max-width: 500px) {
    .brand {
        padding: 24px 0 50px;
    }

    .brand_img {
        max-width: 70px;
        margin: 16px auto 0;
    }

    .brand_5 {
        max-width: 90px;
    }

    .brand_6 {
        max-width: 50px;
    }

}


/* ------
banner
------ */

.banner {
    background: #FFFFFA;
    padding: 80px 0 0;
}

.swiper-wrapper{
    transition-timing-function: linear;
}

.swiper-wrapper-banner{
    margin: 40px 0 0;
}

.swiper-slide-banner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    box-shadow: none;
    border-radius: 0;
    overflow: auto;
    max-width: 500px;
}

.swiper-slide-banner a{
    height: 100%;
    width: 100%;
    display: inline-block; /* transform を適用するために必要 */
	transition: all .3s ease;
    aspect-ratio: 16/9;
    background: #F6F6F6;
}

.swiper-slide-banner a img{
    width: 100%;
    object-fit: contain;
    border-radius: 4px;
}

.swiper-slide-banner a:hover {
    filter: brightness(0.6);
}

@media screen and (max-width: 500px){
    .swiper-slide-banner{
        transform: scale(0.9) !important;
    }
}





/* ------
contact
------ */

.top_contact {
    background: #FFFFFA;
    padding: 80px 0 80px;
}

.top_contact_h2 {
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
}

.top_contact_ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin: 56px auto 0;
    max-width: 1200px;
    width: 90%;
}

.top_contact_ul a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-size: 200% 100%;
    padding: 0 20px;
    color: #FFFFFA;
    height: 100px;
    font-size: 1.2rem;
    font-weight: 800;
    border-radius: 4px;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}

.top_contact_ul a:hover {
    background-position: 100% 0;
    transform: translateY(-4px);
}

.top_contact_ul a img {
    max-width: 40px;
}

@media screen and (max-width: 600px) {
    .top_contact_ul {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .top_contact_ul a {
        font-size: 1rem;
    }
}

/* ------
footer
------ */

footer {
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    color: #FFFFFA;
    font-size: 0.9rem;
    font-weight: 300;
    padding: 56px 0;
}

.footer_content {
    display: flex;
    justify-content: center;
    gap: 80px;
    width: 90%;
    margin: 0 auto;
}

.footer_left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.footer_logo {
    max-width: 300px;
}

.p_mark {
    max-width: 150px;
    background: #FFFFFA;
    padding: 4px 10px;
    border-radius: 4px;
    margin-bottom: 10px;
}

.footer_right_up {
    display: flex;
    gap: 32px;
}

.footer_right_up li {
    margin-top: 16px;
}

.footer_content li {
    line-height: 130%;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}

.footer_content li:hover {
    transform: translateY(-3px);
}

.footer_title {
    font-weight: 700;
    font-size: 1rem;
    padding: 0 0 4px 2px;
    border-bottom: 1px solid rgba(255, 255, 250, 0.4);
}

.footer_business {
    display: flex;
    gap: 24px;
}

.footer_rightlow {
    display: flex;
    gap: 24px;
    border-top: 1px solid rgba(255, 255, 250, 0.4);
    padding: 16px 0 0 2px;
    margin-top: 32px;
}

.copy {
    font-size: 0.8rem;
}

.footer_sp {
    display: none;
}

.footer_pc {
    display: block;
}

@media screen and (max-width: 900px) {

    footer {
        padding: 40px 0 8px;
    }

    .footer_sp {
        display: block;
    }

    .footer_pc {
        display: none;
    }

    .footer_logo {
        max-width: 200px;
    }

    .footer_content {
        flex-direction: column;
        align-items: center;
        gap: 0;
    }

    .footer_right {
        margin: 56px auto 56px;
    }

    .p_mark {
        margin: 0 auto 10px;
    }

    .footer_rightlow {
        justify-content: center;
    }

    .footer_right_up li {
        margin-top: 10px;
    }
}

@media screen and (max-width: 650px) {
    .footer_business {
        flex-direction: column;
        gap: 0;
    }
}

@media screen and (max-width: 400px) {
    .footer_right {
        width: 90%;
    }

    .footer_right_up {
        flex-direction: column;
    }

    .footer_rightlow {
        justify-content: center;
        flex-direction: column;
        gap: 10px;
    }

    .footer_right_up li {
        margin-top: 10px;
        width: 90%;
    }

}



/* fade */

.block {
    opacity: 0;
    /* 最初は非表示にしておく */
    transition: all 1s;
    /* 動きを滑らかに */
}

/* フェードイン用のクラス */
.fadeIn {
    opacity: 1;
}



.back {
    position: fixed;
    width: 100%;
    height: 100vh;
    z-index: -99;
}






/* footerパララックス */

.relative {
    position: relative;
}

.black_content {
    content: '';
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(207, 199, 183, 0.4);
    z-index: 99;
}

.flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    /* display: flex; */
}

.fw {
    flex-wrap: wrap;
}

.section {
    position: relative;
    z-index: 20;
    padding: 6em 0;
}

.section.flex {
    justify-content: center;
    align-items: center;
}

.section>p {
    text-align: center;
}

#indexWork {
    padding: 0;
}

.workWrap {
    width: 100%;
    height: 50vh;
    overflow: hidden;
}

.workWrap .workBox {
    transform: rotate(20deg);
    transform-origin: left;
    width: 400%;
    transition: all 1.5s ease-out;
}

.workWrap .workBox#work01 {
    margin: -80vh 0 0 0;
}

.workWrap .workBox#work01,
.workWrap .workBox#work02,
.workWrap .workBox#work03 {
    position: relative;
}

.workWrap .workBox .workBoxIn {
    position: relative;
}

.workWrap .workBox .workBoxIn article {
    width: 20%;
    padding: 3vw 2vw;
}

.workWrap .workBox .workBoxIn article picture {
    display: block;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 4 / 3;
}

.workWrap .workBox .workBoxIn article picture img {
    width: 100%;
    transition: all 1.5s ease-in-out;
    left: 0;
}

@media (max-width: 1200px) {
    .workWrap .workBox {
        transform: rotate(20deg);
        transform-origin: left;
        width: 550%;
        transition: all 1.5s ease-out;
    }

    .workWrap .workBox#work01 {
        margin: -80vh 0 0 0;
    }

    .workWrap .workBox .workBoxIn article picture {
        aspect-ratio: 4 / 3;
        /* Taller aspect ratio for small screens */
    }
}

/* Extra small screens (up to 480px) */
@media (max-width: 850px) {

    .workWrap {
        width: 100%;
        height: 30vh;
        overflow: hidden;
    }

    .workWrap .workBox {
        transform: rotate(20deg);
        transform-origin: left;
        width: 500%;
        transition: all 1.5s ease-out;
    }

    .workWrap .workBox#work01 {
        margin: -55vh 0 0 0;
    }

    .workWrap .workBox .workBoxIn article picture {
        aspect-ratio: 4 / 3;
        /* Taller aspect ratio for small screens */
    }
}

@media (max-width: 750px) {

    .workWrap .workBox {
        transform: rotate(20deg);
        transform-origin: left;
        width: 700%;
        transition: all 1.5s ease-out;
    }

    .workWrap .workBox#work01 {
        margin: -50vh 0 0 0;
    }
}

@media (max-width: 600px) {

    .workWrap .workBox {
        transform: rotate(20deg);
        transform-origin: left;
        width: 700%;
        transition: all 1.5s ease-out;
    }

    .workWrap .workBox#work01 {
        margin: -45vh 0 0 0;
    }
}

@media (max-width: 500px) {

    .workWrap .workBox {
        transform: rotate(20deg);
        transform-origin: left;
        width: 850%;
        transition: all 1.5s ease-out;
    }

    .workWrap .workBox#work01 {
        margin: -40vh 0 0 0;
    }
}

@media (max-width: 400px) {

    .workWrap .workBox {
        transform: rotate(20deg);
        transform-origin: left;
        width: 900%;
        transition: all 1.5s ease-out;
    }

    .workWrap .workBox#work01 {
        margin: -40vh 0 0 0;
    }
}




/* -------
News Page 
-------*/

.newspage {
    backdrop-filter: blur(80px);
    padding: 180px 0 80px;
    min-height: 800px;
}

.newspage_item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    border-top: 1px solid #D9D9D9;
    border-bottom: 1px solid #D9D9D9;
    padding: 20px;
}

.newspage_item:not(:nth-child(1)) {
    border-top: none;
}

.newspage_text {
    font-size: 1rem;
    line-height: 1.4rem;
    color: #1A1A1A;
    font-weight: 500;
    text-decoration: underline;
    transition: 0.3s;
    margin-top: -10px;
}

.newspage_no{
    text-decoration: none;
    pointer-events: none;
}

@media (max-width: 800px) {
    .newspage {
        padding: 150px 0 80px;
        min-height: 700px;
    }

    .newspage_item {
        gap: 8px;
    }

    .newspage_text {
        margin-top: 0;
    }
}


.newspage_content {
    max-width: 1000px;
    margin: 0 auto;
    width: 90%;
    padding: 40px;
    border-radius: 24px;
    background: #FFFFFF;
    box-shadow: 0px 0px 12px 0px rgba(192, 192, 192, 0.35);
}
.newspage_content img {
    max-width: 600px;
    margin: 24px auto;
}

.newspage_header {
    display: flex;
    flex-direction: column-reverse;
    border-bottom: 1px solid #D9D9D9;
    margin-bottom: 2em;
    padding: 0 16px 4px;
}

.newspage_h3 {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.3em;
}

.newspage_mainText {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4rem;
    padding: 32px 16px 0;
}

.button_newspage {
    margin: 40px auto 0;
}

@media (max-width: 800px) {
    .newspage_content {
        padding: 32px 24px;
    }

    .newspage_h3 {
        font-size: 1.2rem;
    }

    .newspage_mainText {
        font-size: 0.9rem;
        line-height: 1.2rem;
    }
}



/* -------
About Campaany
-------*/


.campany {
    position: absolute;
    bottom: 5%;
    left: 10%;
}

.campany h1 {
    font-size: 2.5rem;
    font-weight: 900;
    margin-bottom: 8px;
    letter-spacing: 0.1em;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    /* 標準プロパティ */
    -webkit-background-clip: text;
    /* WebKit用 */
    -webkit-text-fill-color: transparent;
    /* WebKit用 */
    color: transparent;
}

.campany_subtitle {
    margin: 0 auto;
    font-size: 1.2rem;
    color: #FFFFFA;
    letter-spacing: 0.15em;
    font-weight: 900;
}


.campany_donyu {
    padding: 40px 0;
    width: 90%;
    max-width: 600px;
    margin: 0 auto;
}

.campany_firstTitle {
    font-size: 1.4rem;
    font-weight: 800;
    text-align: center;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    margin-bottom: 20px;
}

.campany_firstText {
    font-size: 1rem;
    line-height: 150%;
}

.about_camBox {
    text-align: center;
    color: #222222;
    padding: 24px 0 32px;
}

.campany_policyBox {
    margin: 40px auto;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 160%;
}

.about_camoany_h2 {
    font-size: 2rem;
    font-weight: 600;
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
    padding: 10px 0;
    border-radius: 4px;
    color: #FFFFFA;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
}

.campany_policyText_center {
    margin: 24px auto;
}

.campany_policyText_last {
    font-size: 1.4rem;
    font-weight: 800;
    margin-top: 32px;
}

.about_camPromise {
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    text-align: center;
    color: #FFFFFA;
    padding: 56px 0;
}

.about_camPromise_h2 {
    font-size: 2rem;
    font-weight: 600;
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
}

.about_camPromise_subText {
    font-size: 1.2rem;
    margin-top: 8px;
}

.about_camPromise_ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 800px;
    margin: 40px auto;
    gap: 16px;
    width: 90%;
}

.about_camPromise_ul li {
    padding: 24px;
    background: #FFFFFA;
    color: #222222;
    border-radius: 4px;
    box-shadow: 0px 0px 7px 0px rgba(122, 122, 122, 0.35);
}

.about_camPromise_title {
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 140%;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    margin-bottom: 16px;
}

.about_camPromise_text {
    font-size: 0.9rem;
    line-height: 150%;
    font-weight: 400;
}


.campany_secondText {
    position: relative;
    z-index: 99;
    display: block;
    max-width: 1000px;
    width: 90%;
    margin: -40px auto 0;
    background: #FFFFFF;
    padding: 32px 10px;
    border-radius: 4px;
    box-shadow: 0px 1px 15px 0px rgba(190, 190, 190, 0.35);
}

.campany_secondText p {
    display: block;
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
    background: #FFFFFF;
    font-size: 1.4rem;
    font-weight: 800;
    text-align: center;
    line-height: 150%;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.domain {
    max-width: 800px;
    width: 90%;
    margin: 64px auto;
}

.fujigroup {
    max-width: 600px;
    margin: 0 auto;
}

.campany_foot {
    background: #3D3D3D;
    padding: 2px;
}

.layer_business_kanren {
    margin: 0 auto !important;
}

.campany_button {
    margin: 40px auto 80px;
}

.triangle {
    display: none;
}

@media (max-width: 1000px) {
    .about_camText {
        font-size: 1.6rem;
    }
}

@media (max-width: 800px) {
    .about_camText {
        font-size: 2rem;
    }

    .about_camBox {
        text-align: center;
        color: #222222;
        padding: 24px 0 104px;
    }

    .campany_policyBox {
        font-size: 1rem;
    }

    .about_camoany_h2 {
        font-size: 1.4rem;
    }

    .campany_policyText_center {
        margin: 24px auto;
    }

    .campany_policyText_last {
        font-size: 1.2rem;
    }

    .about_camPromise_ul {
        max-width: 500px;
        grid-template-columns: 1fr;
    }

    .about_camPromise_h2 {
        font-size: 1.4rem;
    }

    .about_camPromise_subText {
        font-size: 0.9rem;
    }

    .about_camPromise_title {
        font-size: 1rem;
    }
}

@media (max-width: 650px) {
    .fujigroup {
        margin: 0 auto 40px;
        max-width: 350px;
    }
}

@media (max-width: 600px) {

    .campany h1 {
        font-size: 1.6rem;
    }

    .campany_subtitle {
        font-size: 0.9rem;
    }

    .triangle {
        display: block;
    }

    .campany_firstText {
        font-size: 0.9rem;
        max-width: 350px;
        margin: 0 auto;
    }

    .campany_flex {
        grid-template-columns: 1fr;
    }

    .campany_left {
        position: relative;
        padding: 24px 0 56px;
    }

    .triangle {
        position: absolute;
        bottom: -1px;
    }

    .campany_group {
        max-width: 300px;
        margin: 0 auto;
    }

    .campany_right {
        display: block;
        margin: 40px auto 80px;
        max-width: 350px;
    }

    .campany_right div {
        max-width: 800px;
        min-width: 250px;
    }

    .about_camText {
        padding: 40px 0 80px;
        font-size: 1.4rem;
        line-height: 160%;
    }
}

/* -------
Business
-------*/

.business_kv {
    position: relative;
    height: 80vh;
    min-height: 700px;
}

.business_kv_img img {
    object-fit: cover;
    width: 100%;
    height: 80vh;
    min-height: 700px;
}


.layer_title {
    position: absolute;
    bottom: 5%;
    left: 10%;
}

.layer_title h1 {
    font-size: 2.5rem;
    font-weight: 900;
    margin-bottom: 8px;
    letter-spacing: 0.1em;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    /* 標準プロパティ */
    -webkit-background-clip: text;
    /* WebKit用 */
    -webkit-text-fill-color: transparent;
    /* WebKit用 */
    color: transparent;
}

.layer_subtitle {
    margin: 0 auto;
    font-size: 1.2rem;
    color: #FFFFFA;
    letter-spacing: 0.15em;
    font-weight: 800;
}

.layer_content {
    max-width: 1000px;
    margin: 0 auto 80px;
    width: 90%;
}

.layer_content_business {
    margin: 72px auto 140px;
}

.layer_title_box {
    margin: 40px 0;
}

.layer_h2 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.6rem;
    font-weight: 600;
    color: #1A1A1A;
}

.business_title_marker {
    content: '';
    display: block;
    width: 8px;
    height: 40px;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    border-radius: 100px;
}

.business_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: 72px;
    column-gap: 24px;
}

.business_grid a {
    transition: all 0.3s;
}

.business_grid a:hover {
    filter: brightness(0.5);
}

.business_grid a img {
    border-radius: 8px;
    overflow: hidden;
    object-fit: cover;
    max-height: 296px;
    min-height: 300px;
}

.business_h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-size: 1.2rem;
    font-weight: 800;
    color: #1A1A1A;
    padding-bottom: 8px;
    margin: 10px auto 0;
}

.business_h3_col1 {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
    border-radius: 100px;
}

@media (max-width: 1250px) {
    .layer_title {
        bottom: 5%;
        left: 6%;
    }
}

@media (max-width: 800px) {
    .business_h3 {
        font-size: 1rem;
    }

}

@media (max-width: 600px) {

    .layer_title {
        bottom: 5%;
        left: 5%;
    }

    .layer_subtitle {
        font-size: 0.8rem;
    }

    .layer_h2 {
        font-size: 1.3rem;
    }

    .business_h3 {
        font-size: 1rem;
    }

    .layer_title h1 {
        font-size: 1.8rem;
    }

    .business_grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
        row-gap: 32px;
    }

    .layer_content {
        margin: 0 auto 80px;
        width: 90%;
    }

    .business_grid_new {
        row-gap: 0;
    }

    .business_grid a img {
        min-height: 250px;
        max-height: 250px;
    }
}

/* -------
ABOUT
-------*/

.about_kv {
    position: relative;

}

.about_kv_img {
    display: block;
}

.about_kv_img img {
    display: block;
    object-fit: cover;
    min-height: 800px;
    max-height: 800px;
}

.black_box {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    min-height: 800px;
    max-height: 800px;

}

.layer_title_about {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 200px auto 0;
    z-index: 1;
    text-align: center;
    width: 90%;
}

.about_mainTitle {
    margin: 48px auto 24px;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.3em;
    color: #FFFFFA;
}

.about_kvText {
    font-size: 1rem;
    max-width: 500px;
    margin: 0 auto;
    line-height: 1.6em;
    text-align: justify;
    color: #FFFFFA;
}

.about_ul {
    max-width: 800px;
    margin: 64px auto;
    width: 90%;
}

.about_li {
    display: flex;
    gap: 8px;
    padding: 24px 0 24px 14px;
    width: 100%;
    border-top: 1px solid rgba(199, 199, 199, 0.5);
    border-bottom: 1px solid rgba(199, 199, 199, 0.5);
}

.about_li:not(:nth-child(1)) {
    border-top: none;
}

.about_li_title {
    width: 25%;
    font-weight: 700;
}

.about_li_text {
    width: 75%;
    font-weight: 400;
    line-height: 1.5em;
}

.about_li_text a {
    text-decoration: underline;
}

.about_li_access {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.googlemap {
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    padding: 6px 24px;
    color: #FFFFFA;
    text-decoration: none !important;
    border-radius: 4px;
    font-weight: 500;
    max-width: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
}


.about_acordion {
    padding: 64px 0;
    background: #F8F8F5;
    box-shadow: 0px 0px 15px 0px rgba(171, 171, 171, 0.35);
}

.qa__block {
    display: flex;
    flex-direction: column;
    min-width: 200px;
    max-width: 800px;
    margin: 0 auto;
    width: 90%;
}

.qa__item {
    display: inline-block;
}

.qa__head {
    position: relative;
    text-align: left;
    padding: 32px 30px 32px 40px;
    border-radius: 100px;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    color: #FFFFFA;
    cursor: pointer;
    width: 100%;
    z-index: 1;
}

.qa__head::before,
.qa__head::after {
    content: "";
    position: absolute;
    right: 32px;
    top: 50%;
    width: 14px;
    height: 2px;
    background: #FFFFFA;
    transition: transform 0.4s ease;
}

.qa__head::before {
    transform: translateY(-50%) rotate(0deg);
}

.qa__head::after {
    transform: translateY(-50%) rotate(90deg);
}

.qa__head.is-open::after {
    transform: translateY(-50%) rotate(0deg);
}

.qa__body {
    display: none;
    position: relative;
    border-radius: 0 0 8px 8px;
    color: black;
    border: transparent;
    padding: 0 20px;
    line-height: 0;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.4s ease;
}

.qa__body.is-open {
    padding: 40px 20px 20px 20px;
    line-height: 1.5;
    opacity: 1;
    display: block;
}

.qa__item:not(:first-child) {
    margin-top: 16px;
}

.acordion_title {
    font-size: 1.1rem;
    margin-bottom: 4px;
}

.acordion_subTitle {
    font-size: 0.8rem;
}

.acordion_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    max-width: 700px;
    margin: 0 auto;
}

.acordion_li {
    padding: 20px 8px;
    background: #FFFFFA;
    border-radius: 8px;
    box-shadow: 0px 0px 15px 0px rgba(171, 171, 171, 0.35);
}

.acordion_business_title {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 1rem;
    text-align: center;
    max-width: 300px;
    margin: 0 auto;
    padding: 0 0 2px 10px;
    border-bottom: 1px solid rgba(199, 199, 199, 0.5);
}

.acordion_business_title span {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 100px;
}

.acordion_business_ul {
    font-size: 0.8rem;
    font-weight: 400;
    margin: 20px auto 0;
    padding: 0 0 0 10px;
    max-width: 300px;
}

.history_ul {
    max-width: 800px;
    margin: 0 auto;
    width: 90%;
}

.history_li {
    display: flex;
    gap: 8px;
    padding: 24px 0 24px 14px;
    width: 100%;
    border-top: 1px solid rgba(199, 199, 199, 0.5);
    border-bottom: 1px solid rgba(199, 199, 199, 0.5);
}

.history_li:not(:nth-child(1)) {
    border-top: none;
}

.history_title {
    width: 25%;
}

.map {
    display: flex;
    justify-content: center;
    align-items: center;
}

.map iframe {
    width: 90%;
    min-height: 300px;
    max-width: 500px;
}

.about_footButton {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    max-width: 1000px;
    width: 90%;
    margin: 56px auto;
}

.about_footButton_box {
    display: flex;
    align-items: center;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    color: #FFFFFA;
    padding: 32px 0 32px 20px;
    border-radius: 16px;
    transition: all 0.3s ease;
}

.about_footButton_box div {
    width: 87%;
}

.about_footButton_box span {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    background: #FFFFFA;
    border-radius: 100px;
}

.about_footButton_box:hover {
    transform: translateY(-5px);
    box-shadow: 0px 0px 15px 0px rgba(171, 171, 171, 0.35);
}

.ninshousho_about {
    max-width: 300px;
    margin: 32px auto 0;
}

.ninshousho_about img {
    margin: 0 auto 10px;
}

.ninshousho_about p {
    font-size: 0.9rem;
}

@media (max-width: 800px) {

    .layer_title_about {
        margin: 130px auto 0;
    }

    .about_mainTitle {
        font-size: 1.6rem;
        line-height: 1.4em;
    }

    .about_kvText {
        font-size: 0.9rem;
        max-width: 450px;
        margin: 0 auto;
        line-height: 1.6em;
    }

    .about_footButton {
        grid-template-columns: 1fr;
    }

    .about_acordion {
        background: #f2f2f2;
    }

    .about_li {
        font-size: 0.9rem;
    }

    .acordion_title {
        font-size: 1rem;
    }

    .qa__item {
        font-size: 0.9rem;
    }
}

@media (max-width: 600px) {
    .acordion_grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 500px) {
    .about_mainTitle {
        font-size: 1.2rem;
        line-height: 1.4em;
        margin: 48px auto 32px;
    }

    .about_kvText {
        font-size: 0.9rem;
        max-width: 350px;
        margin: 0 auto;
        line-height: 1.6em;
    }


}


/* -------
CSR
-------*/

.layer_h2_2 {
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1.6em;
    margin: 32px 0 24px;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    /* 標準プロパティ */
    -webkit-background-clip: text;
    /* WebKit用 */
    -webkit-text-fill-color: transparent;
    /* WebKit用 */
    color: transparent;
}

.csr_text {
    font-size: 0.9rem;
    max-width: 550px;
    line-height: 1.5em;
    text-align: justify;
}

.qa__block2 {
    max-width: 1000px;
    margin-bottom: 104px;
    margin-top: 56px;
}

.csr_text_1 {
    max-width: 800px;
    margin: 0 auto 24px;
}

.csr_content2 {
    display: flex;
    align-items: center;
    gap: 24px;
    max-width: 800px;
    margin: 0 auto;
}

.csr_content2_img {
    max-width: 1000px;
}

.csr_content2_img img {
    object-fit: cover;

}

.csr_text_2 {
    font-size: 13px;
    margin-top: 4px;
    text-align: center;
}

.csr_content3 {
    max-width: 800px;
    margin: 0 auto;
}

.csr_content3_div {
    background: #F3F3F3;
    padding: 40px 64px;
    margin: 40px auto 0;
}

.csr_content3_h3 {
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 16px;
    color: #E37200;
}

.csr_content3_ul li {
    margin-bottom: 12px;
}

.csr_content3_ul li:nth-child(1)::marker {
    content: '1. ';
    font-size: 1rem;
    margin-right: 4px;
}

.csr_content3_ul li:nth-child(2)::marker {
    content: '2. ';
    font-size: 1rem;
    margin-right: 4px;
}

.csr_content3_ul li:nth-child(3)::marker {
    content: '3. ';
    font-size: 1rem;
    margin-right: 4px;
}

.csr_content3_ul li:nth-child(4)::marker {
    content: '4. ';
    font-size: 1rem;
    margin-right: 4px;
}

.csr_content3_ul li:nth-child(5)::marker {
    content: '5. ';
    font-size: 1rem;
    margin-right: 4px;
}

.csr_content3_ul li:nth-child(6)::marker {
    content: '6. ';
    font-size: 1rem;
    margin-right: 4px;
}

.csr_content3_ul li:nth-child(7)::marker {
    content: '7. ';
    font-size: 1rem;
    margin-right: 4px;
}

@media (max-width: 650px) {
    .layer_h2_2 {
        font-size: 1.3rem;
        font-weight: 800;
        line-height: 1.6em;
        margin: 32px 0 24px;
        background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
        background-clip: text;
        /* 標準プロパティ */
        -webkit-background-clip: text;
        /* WebKit用 */
        -webkit-text-fill-color: transparent;
        /* WebKit用 */
        color: transparent;
    }

    .csr_content2 {
        flex-direction: column;
    }

    .csr_content2_img {
        max-width: 200px;
    }
}

@media (max-width: 500px) {
    .csr_content3_div {
        padding: 20px 10px 20px 30px;
    }
}

/* -------
ATTMPT
-------*/


.attmpt_h3 {
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    text-align: center;
    padding: 24px 0;
    font-size: 1.2rem;
    color: #FFFFFA;
    border-radius: 100px;
    margin: 64px auto 0;
}

.attmpt_box {
    max-width: 800px;
    width: 90%;
    margin: 32px auto;
    line-height: 1.7em;
}

.attmpt_box_num {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    background: #FAFAFA;
    padding: 32px 40px;
    border-radius: 12px;
    margin: 40px auto 80px;
}

.attmpt_box_num_r {
    display: flex;
    flex-direction: column;
    gap: 20px;
}


.attmpt_box_num_title {
    font-size: 1.1rem;
    font-weight: 600;
    border-bottom: 2px solid transparent;
    /* 透明なボーダー */
    border-image: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    /* グラデーションボーダー */
    border-image-slice: 1;
}

.attmpt_number {
    font-size: 1.6rem;
    margin-right: 4px;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    /* 標準プロパティ */
    -webkit-background-clip: text;
    /* WebKit用 */
    -webkit-text-fill-color: transparent;
    /* WebKit用 */
    color: transparent;
}

.attmpt_box_num_p {
    font-size: 0.9rem;
    line-height: 1.6em;
    font-weight: 400;
}

.layer_h4 {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.2em;
    color: #1A1A1A;
}

.attmpt_title_marker {
    content: '';
    display: block;
    width: 8px;
    height: 48px;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    border-radius: 100px;
}

.attmpt_food_flex {
    display: flex;
    gap: 24px;
    max-width: 900px;
    margin: 0 auto 72px;
    width: 90%;
}

.layer_title_box_attmpt {
    width: 80%;
}

.attmpt_food_img img {
    object-fit: cover;
    border-radius: 10px;
}

.attmpt_box_num_p_2 {
    margin-top: 24px;
}

.col_red {
    color: #FF0101;
    font-weight: 600;

}

.haccp_info {
    font-size: 0.9rem;
    line-height: 1.6em;
    font-weight: 400;
    margin: 24px auto 24px;
    max-width: 600px;
    background: #f3f3f3;
    padding: 20px 20px;
    border-radius: 4px;
}

.haccp_info p:nth-child(1) {
    font-weight: 500;
}

.attmpt_haccp {
    max-width: 900px;
    margin: 0 auto 56px;
    width: 90%;
}

.attmpt_haccp_img {
    margin: 0 auto;
    max-width: 600px;
}

.attmpt_haccp_img img {
    object-fit: cover;
    max-height: 400px;
}

.attmpt_info{
    font-size: 0.8rem;
    line-height: 150%;
    margin-top: 16px;
    font-weight: 400;
}



.back_orange {
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    padding: 40px 0;
    color: #FFFFFA;
    line-height: 1.7em;
}

.attmpt_h3_w {
    background: #FFFFFA;
    color: #FF8307;
}

.layer_h4_w {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.2em;
    color: #FFFFFA;
}

.attmpt_title_marker_w {
    content: '';
    display: block;
    width: 8px;
    height: 48px;
    background: #FFFFFA;
    border-radius: 100px;
}

.attmpt_crisis_text {
    width: fit-content;
    margin: 32px auto 0;
    line-height: 1.5em;
    width: 90%;
}

.attmpt_list_box {
    padding: 32px 56px;
    border-radius: 8px;
    background: #FFFFFA;
    margin: 16px auto 0;
    color: #1A1A1A;
}

.attmpt_list {
    display: flex;
    justify-content: center;
    gap: 24px;
    font-size: 0.9rem;
}

.attmpt_list li {
    margin-bottom: 4px;
}

.attmpt_list_title {
    color: #FF8307;
    padding: 0 10px 16px;
    margin-bottom: 24px;
    font-size: 1.1rem;
    text-align: center;
    border-bottom: 1px dashed #D9D9D9;
}

.attmpt_food_flex_2 {
    display: flex;
    gap: 24px;
    max-width: 900px;
    margin: 0 auto 24px;
    width: 90%;
}

.attmpt_teach_flex {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 32px;
    max-width: 700px;
    margin: 0 auto 40px;
}

.attmpt_teach_curcle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 200px;
    min-width: 200px;
    min-height: 200px;
    border: 2px solid #FF8307;
    border-radius: 100px;
    color: #FF8307;
    text-align: center;
    line-height: 1.3em;
}

.attmpt_teach_title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-weight: 700;
    color: #1A1A1A;
    padding: 0 0 8px 10px;
    border-bottom: 2px solid transparent;
    /* 透明なボーダー */
    border-image: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    /* グラデーションボーダー */
    border-image-slice: 1;
}

.attmpt_teach_title_span {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
    border-radius: 100px;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    ;
}

.attmpt_box_teach_p {
    padding: 10px;
}

@media (max-width: 800px) {

    .attmpt_h2{
        text-align: center;
    }

    .layer_title_box_attmpt {
        width: 100%;
    }

    .attmpt_food_img {
        max-width: 400px;
        margin: 40px auto 0;
    }

    .attmpt_haccp {
        margin: 0 auto 32px;
    }

    .attmpt_haccp_img {
        max-width: 400px;
        margin: 40px auto 0;
    }

    .attmpt_box_num {
        margin: 40px auto 0;
    }

    .attmpt_food_flex {
        margin: 0 auto 40px;
    }

    .attmpt_crisis_img {
        max-width: 200px;
        margin: 40px auto 0;
    }

    .layer_content_attmpt {
        margin: 0 auto 56px;
    }
}

@media (max-width: 650px) {
    .layer_h4_w {
        display: flex;
        align-items: center;
        gap: 12px;
        font-size: 1.15rem;
    }

    .attmpt_title_marker_w {
        width: 6px;
        height: 40px;
    }
}

@media (max-width: 600px) {
    .attmpt_h3 {
        padding: 14px 0;
        font-size: 1rem;
        margin: 64px auto 0;
    }

    .attmpt_hinsitu_text {
        font-size: 0.9rem;
        line-height: 150%;
    }

    .attmpt_box_num {
        grid-template-columns: 1fr;
    }

    .attmpt_box_num_title {
        font-size: 1rem;
        margin-bottom: 8px;
    }

    .back_orange {
        padding: 1px 0;
    }

    .layer_h4 {
        font-size: 1.2rem;
    }

    .layer_title_box_attmpt {
        margin: 40px 0 24px;
    }

    .attmpt_list {
        flex-direction: column;
        gap: 0;
    }

    .attmpt_teach_flex {
        flex-direction: column;
    }

    .attmpt_crisis_text {
        font-size: 0.9rem;
    }


}



/* -------
PRIVACY
-------*/

.layer_content_2 {
    max-width: 800px;
    font-size: 0.9rem;
    line-height: 1.6em;
    font-weight: 400;
}

.privacy_fText {
    width: fit-content;
    margin: 48px auto 64px;
    line-height: 1.5em;
}

.layer_h2_privacy {
    font-size: 1.3rem;
}

.privacy_menu {
    background: #F3F3F3;
    padding: 32px;
    border-radius: 4px;
    margin-bottom: 72px;
}

.privacy_menu h2 {
    text-align: center;
    font-size: 1.3rem;
    font-weight: 800;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    border-bottom: 1px solid #cecece;
    padding-bottom: 10px;
    max-width: 600px;
    margin: 0 auto;
}

.privacy_menu ul {
    max-width: 380px;
    margin: 24px auto 0;
}

.privacy_menu li {
    margin-bottom: 8px;
    text-decoration: underline;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}

.privacy_menu li:hover {
    transform: translateY(-3px);
}

.privacy_title {
    font-size: 1.1rem;
    font-weight: 600;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    background-clip: text;
    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;
    color: transparent;
    border-bottom: 1px solid #d9d9d9;
    margin: 0 0 16px 0;
    padding: 0 0 8px 0;
}

.privacy_content {
    margin-bottom: 48px;
}

.attmpt_box_num_p2 {
    margin-bottom: 8px;
}

.privacy_h4 {
    font-size: 1rem;
    margin: 16px 0 4px -8px;
    color: #FF8307;
}

.privacy_name {
    text-align: right;
}

.privacy_name li:nth-child(2) {
    margin-bottom: 10px;
}


.layer_title_box2 {
    margin: 40px auto 24px;
}

.privacy_box {
    margin: 24px auto;
}

.privacy_box_text {
    font-weight: 700;
}

.privacy_box_ul {
    margin-top: 8px;
    padding: 0 14px;
}

.privacy_box_ul li {
    margin-bottom: 8px;
}

.privacy_contact_ul {
    margin-top: 8px;
}

@media (max-width: 600px) {

    .privacy_content {
        margin: 0 auto 24px;
    }

    .layer_h2_privacy {
        font-size: 1rem;
    }

    .privacy_title {
        font-size: 1rem;
    }

    .attmpt_box_num_p {
        font-size: 0.8rem;
    }
}


/* -------
CONTACT
-------*/


.form-content {
    background: #FFFFFF;
    max-width: 800px;
    width: 90%;
    margin: 56px auto 0;
    padding: 40px 20px;
    border-radius: 8px;
    box-shadow: 0px 0px 15px 0px rgba(205, 205, 205, 0.35);
}

.form_mainText {
    text-align: center;
    font-size: 1rem;
    line-height: 140%;
    margin: 0 auto 24px;
}

.form_mainText span {
    color: #FF0101;
}

.cheack_title {
    font-size: 0.9rem;
}

.cheack_title2 {
    margin: 16px 0 0;
}

.Form-Item:nth-child(1) {
    display: flex;
    gap: 32px;
}
.Form-Item:nth-child(1) div:nth-child(1){
    flex-shrink: 0;
}
.check_content {
    display: flex;
    margin: 8px 0 0 4px;
}


input[type=checkbox] {
    display: none;
}
.check_content .wpcf7-checkbox{
    display: flex;
    flex-wrap: wrap;
}

.wpcf7-list-item{
    margin: 0 !important;
    padding: 5px 0px;
     font-size: 0.8rem;
}
.check_content .wpcf7-list-item{
    width: 220px;
     
}
.wpcf7-list-item label span {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
     padding-left: 30px;
    position: relative;
   
}
.check_content .wpcf7-list-item:nth-child(9){
    margin-top: 16px !important;
}

.check_content .wpcf7-list-item:nth-child(n+9){
    width: 100%;
     font-size: 0.9em;
}


.wpcf7-list-item{
    position: relative;
    display: block;
}
.wpcf7-list-item::before {
    background: #fff;
    border: 1px solid #C1C1C1;
    border-radius: 2px;
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
}

.wpcf7-list-item::after {
    border-right: 3px solid #FF8307;
    border-bottom: 3px solid #FF8307;
    content: '';
    display: block;
    height: 9px;
    left: 10px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 54%;
    transform: rotate(45deg);
    width: 5px;
}

.wpcf7-list-item:has(input[type=checkbox]:checked)::after {
    opacity: 1;
}

.Form {
    margin-left: auto;
    margin-right: auto;
    max-width: 720px;
}

.Form-Item {
    border-top: 1px solid #ddd;
    padding: 24px 8px;
    width: 100%;
}

.Form-Item-Label {
    width: 100%;
    max-width: 248px;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 1rem;
}

.Form-Item-Label.isMsg {
    margin-top: 8px;
    margin-bottom: auto;
}

.Form-Item-Label-Required {
    color: #FF0101;
}

.Form-Item-Input {
    border-radius: 6px;
    margin-top: 10px;
    padding-left: 1em;
    padding-right: 1em;
    height: 48px;
    flex: 1;
    width: 100%;
    background: #F3F3F3;
    font-size: 1rem;
}

.Form-Item-Textarea {
    resize: none;
    border-radius: 6px;
    margin-top: 10px;
    padding: 8px;
    height: 216px;
    flex: 1;
    width: 100%;
    background: #F3F3F3;
    font-size: 1rem;
}

.button_contactBox {
    max-width: 200px;
    margin: 24px auto 72px;
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
    border-radius: 100px;
    font-weight: 700;
    font-size: 0.9rem;
}

.button_contact {
    width: 100%;
    padding: 16px 0;
    color: #FFFFFA;
    text-align: center;
}

::placeholder {
    color: #B5B5B5;
    font-size: 0.9rem;
}

.Form-Item-Label2 {
    margin-top: 16px;
}

.form-attention {
    font-size: 0.8rem;
    margin-top: 10px;
}

.concent {
    text-align: center;
    margin: 24px auto 8px;
    line-height: 140%;
    font-size: 1rem;
    width: 90%;
}

.concent a {
    text-decoration: underline;
}

.cheack_title_concent {
    font-size: 1rem;
    margin: 0 auto;
    text-align: center;
}
.cheack_title_concent .wpcf7-list-item{
    font-size: 1em;
}

.wpcf7-not-valid-tip{
    font-size: 0.8em !important;
    margin-top: 8px;
}

.wpcf7-response-output{
    display: none !important;
}

input.wpcf7-not-valid,textarea.wpcf7-not-valid{
    background: #ffe5e9;
}
.contact_thanks{
    padding: 100px 0;
    text-align: center;
}
.contact_thanks p{
    margin-bottom: 40px;
}
.contact_thanks strong{
    display: block;
    font-size: 160%;
}
@media screen and (max-width: 600px) {

    .form_mainText {
        font-size: 0.9rem;
    }

    .Form-Item:nth-child(1) {
        flex-direction: column;
        gap: 16px;
    }

    .Form-Item-Label {
        font-size: 0.9rem;
    }

    .concent {
        font-size: 0.9rem;
    }
  
.contact_thanks p{
   font-size: 0.9rem;
}
}





/* -------
SAPA事業部
-------*/

.business_title {
    font-size: 3rem;
    text-align: center;
    margin: 120px auto 40px;
    font-weight: 900;
    color: #DAB72A;
}

.lower_top_title {
    font-size: 2.5rem;
    font-weight: 800;
    color: #FFFFFA;
    display: inline;
    padding: 0.2em 0.4em 0.2em 0.6em;
    line-height: 1.85em;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.lower_top_title_sapa{
    background: rgba(218, 183, 42, 0.8);
}


.lower_top_text {
    max-width: 550px;
    line-height: 1.6em;
    color: #FFFFFA;
    margin: 24px 0 0;
    letter-spacing: 0.05em;
    text-align: justify;
    font-weight: 400;
}

.lower_top_titleBox {
    position: absolute;
    left: 5%;
    bottom: 10%;
    width: 90%;
}

.sapa_top {
    position: relative;
    height: 80vh;
    min-height: 400px;
}

.sapa_top img {
    object-fit: cover;
    filter: brightness(0.6);
}


.business_about {
    max-width: 1200px;
    width: 90%;
    margin: 64px auto 72px;
    padding: 40px 0 56px;
    border-radius: 20px;
    box-shadow: 0px 0px 8px 0px rgba(93, 93, 93, 0.35);
}

.business_about_m {
    margin: 64px auto 0;
    padding: 40px 0 120px;
}

.business_about_content {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
}

.layer_title_box_business {
    margin: 0;
}

.business_about_ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
    margin: 32px auto 0;
}

.business_about_ul li {
    background: #FFFFFA;
    padding: 24px 24px 40px;
    border-radius: 8px;
    box-shadow: 0px 0px 4px 0px rgba(165, 165, 165, 0.35);
}

.business_about_ul li h4 {
    font-size: 1rem;
    text-align: center;
    font-weight: 700;
    padding: 0 0 4px 0;
}

.business_about_ul li p {
    font-size: 0.9rem;
    line-height: 1.4em;
    font-weight: 400;
    padding: 24px 8px 0;
    text-align: justify;
    letter-spacing: 0.03em;
}



.sapa_color {
    color: #DAB72A;
    border-bottom: 1px solid #DAB72A;
}

.resort_color {
    color: #518D3D;
    border-bottom: 1px solid #518D3D;
}

.center_img {
    max-width: 700px;
    width: 90%;
    margin: -80px 0 56px auto;
    border-radius: 8px 0 0 8px;
    overflow: hidden;
    box-shadow: 0px 0px 8px 0px rgba(93, 93, 93, 0.35);
}

.layer_h4_y {
    color: #DAB72A;
}

.attmpt_title_marker_y {
    background: #DAB72A;
}

.business_lower {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 40px auto 3em;
    padding-bottom: 3em;
    border-bottom: 1px solid rgba(199, 199, 199, 0.5);
}



.business_lower3 {
    margin: 0 auto;
}

.business_lower_img{
    display: block;
    width: 100%;
    aspect-ratio: 16/9;
}

.business_lower_img img {
    border-radius: 8px;
    box-shadow: 0px 0px 4px 0px rgba(93, 93, 93, 0.35);
}


.business_lower_title {
    display: flex;
    gap: 8px;
    font-size: 1.2rem;
    font-weight: 800;
    color: #1A1A1A;
    padding: 0 0 8px 0;
}

.attmpt_teach_title_span {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
    border-radius: 100px;
    margin-top: 2px;
}

.business_lower_ul {
    font-size: 0.9rem;
    line-height: 1.4em;
    font-weight: 400;
    margin: 16px auto 56px;
}

.externallink_button {
    display: flex;
    justify-content: center;
    gap: 14px;
    color: #FFFFFA;
    max-width: 300px;
    padding: 12px 20px;
    border-radius: 100px;
    font-weight: 600;
    font-size: 0.9rem;
    margin-top: 12px;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}

.externallink_button:hover {
    transform: translateY(-8px);
    box-shadow: 4px 5px 1px 0px rgba(0, 0, 0, 0.69);
}

.ebina_box {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
    margin: 32px auto 52px;
}

.ebina_box li {
    border-radius: 8px;
    overflow: hidden;
}

.business_lower_border {
    padding: 56px 0 56px;
    border-top: 1px solid rgba(199, 199, 199, 0.5);
    border-bottom: 1px solid rgba(199, 199, 199, 0.5);
}

.business_lower_border2 {
    padding: 52px 0 56px;
    border-bottom: 1px solid rgba(199, 199, 199, 0.5);
}

.business_lower_box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.business_lower_box2 {
    justify-content: flex-start;
}

.business_lower_ul_title {
    font-size: 1rem;
    letter-spacing: 0.05em;
    font-weight: 700;
    margin: 16px 0 4px;
}

.business_lower_ul2 {
    margin: 16px auto 0;
    font-size: 0.9rem;
    line-height: 1.4em;
    font-weight: 400;
    margin-bottom: 8px;
    text-align: justify;
}

.layer_content2 {
    margin: 0 auto;
}

.lower_flow {
    padding: 40px 0 80px;
}

.lower_flow_ul {
    max-width: 800px;
    width: 90%;
    margin: 64px auto 0;
}

.lower_flow_box {
    position: relative;
    background: #FFFFFA;
    padding: 40px 0;
}

.lower_flow_box2 {
    position: relative;
    background: #FFFFFA;
    padding: 0 0 40px;
}

.lower_flow_flex {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    gap: 40px;
    max-width: 800px;
    width: 80%;
}

.lower_flow_left {
    width: 90%;
}

.lower_flow_title {
    font-size: 1.2rem;
    font-weight: 800;
    border-bottom: 1px solid rgba(199, 199, 199, 0.5);
    padding: 0 0 4px 16px;
}

.lower_flow_ul p {
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5em;
    padding: 12px 0 0 16px;
}

.lower_flow_number {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -32px;
    margin: auto 0;
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: #DAB72A;
    padding: 0 !important;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 64px;
    height: 64px;
    border: 1px solid #CFCFCF;
    border-radius: 100px;
    background: #FFFFFA;
}

.triangle_bottom {
    margin: -2px auto 0;
}

.triangle_top {
    margin: 12px auto 28px;
}

.lower_contact {
    position: relative;
    height: 50vh;
    min-height: 350px;
}

.lower_contact_back {
    filter: brightness(0.3);
    min-height: 350px;
}
.lower_contact_back_art {
    filter: brightness(0.9);
    min-height: 350px;
}

.lower_contact_back img {
    height: 50vh;
    object-fit: cover;
    min-height: 350px;
}

.lower_contact_triangle {
    position: absolute;
    top: -1px;
    width: 100vw;
    z-index: 1;
}

.lower_contact_text {
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100vw;
    z-index: 2;
    color: #FFFFFA;
    font-weight: 900;
    text-align: center;
}

.lower_contact_text p {
    font-size: 2rem;
    line-height: 1.3em;
    margin: 0 0 40px 0;
}


.lower_flow_icon {
    width: 15%;
}

.lower_flow_icon4 {
    height: 70px;
}

.sapa_top_pc {
    display: block;
}

.sapa_top_sp {
    display: none;
}

.tani {
    width: 100vw;
    margin-bottom: -4px;
}


@media (max-width: 968px) {
    .business_about_ul {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 800px) {

    .sapa_top_pc {
        display: none;
    }

    .sapa_top_sp {
        display: block;
    }

    .business_lower {
        grid-template-columns: 1fr;
        max-width: 500px;
        margin: 32px auto 0;
    }

    .business_lower3 {
        margin: 0 auto;
    }

    .externallink_button {
        margin: 32px auto 0;
        min-width: 300px;
    }

}

@media (max-width: 650px) {
    .business_about_ul {
        grid-template-columns: 1fr;
        max-width: 400px;
    }

    .business_title {
        font-size: 1.8rem;
        margin: 100px auto 10px;
    }

    .lower_top_title {
        font-size: 6vw;
        font-weight: 800;
        background: rgba(218, 183, 42, 0.8);
        color: #FFFFFA;
        display: inline;
        padding: 0.28em;
        line-height: 2;
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone;
    }

    .lower_top_text {
        max-width: 400px;
        width: 90%;
        line-height: 1.6em;
        color: #FFFFFA;
        margin: 24px 0 0;
        letter-spacing: 0.05em;
        text-align: justify;
        font-weight: 400;
        font-size: 0.8rem;
    }

    .business_about {
        max-width: 1200px;
        width: 90%;
        margin: 64px auto 56px;
        padding: 40px 0 72px;
    }


    .business_about_ul li p {
        font-size: 0.8rem;
        line-height: 1.4em;
        padding: 16px 8px 0;
    }

    .center_img {
        width: 90%;
        max-width: 350px;
    }

    .business_lower_title {
        font-size: 1rem;
    }

    .business_lower_ul {
        font-size: 0.8rem;
        margin: 16px auto 0;
    }

    .externallink_button {
        margin: 40px auto 0;
        max-width: 500px;
        width: 100%;
    }

    .ebina_box {
        grid-template-columns: 1fr 1fr;
        margin: 40px auto 32px;
    }

    .business_lower_ul_title {
        font-size: 0.9rem;
        padding: 4px 16px;
    }

    .business_lower_border {
        padding: 32px 0;
    }

    .business_lower_border2 {
        padding: 32px 0 32px;
    }

    .lower_flow_flex {
        flex-direction: column-reverse;
        gap: 32px;
        margin: 40px auto 0;
    }

    .lower_flow_flex_1 {
        margin: 0 auto 0;
    }

    .lower_flow_icon {
        width: auto;
        max-width: 80px;
    }

    .lower_flow_title {
        font-size: 1rem;
        text-align: center;
        padding: 0 0 8px;
    }

    .lower_flow_ul p {
        font-size: 0.8rem;
    }

    .lower_flow_number {
        position: absolute;
        top: 20px;
        bottom: auto;
        left: 10px;
        font-size: 1.5rem !important;
        font-weight: 800 !important;
        color: #FFFFFA;
        padding: 0 !important;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 56px;
        height: 56px;
        border: none;
        border-radius: 100px;
        background: #DAB72A;
    }


    .lower_contact {
        height: 35vh;
        min-height: 300px;
    }

    .lower_contact_back img {
        height: 30vh;
        min-height: 360px;
    }

    .lower_contact_text p {
        font-size: 1.3rem;
    }

    .lower_flow_ul {
        margin: 32px auto 0;
    }

    .lower_contact_text {
        top: 55%;
    }
}

/* -------
リゾート事業部
-------*/



.lower_top_text_resort {
    max-width: 700px;
    width: 90%;
}



.lower_top_title_resort  {
    background: rgba(81, 141, 61, 0.8);
}

.business_about_tag {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin: 32px 0 56px;
}

.business_about_tag li {
    font-size: 0.9rem;
    font-weight: 600;
    background: #FFFFFA;
    padding: 8px 20px;
    border-radius: 100px;
}

.business_about_resort {
    color: #518D3D;
}

.business_lower_border_none {
    border-top: none;
}

.business_lower_ul2 a {
    text-decoration: underline;
    margin: 0 4px 0 8px;
}



@media (max-width: 650px) {
    .resort_color_num {
        background: #518D3D;
        ;
        color: #FFFFFA;
    }

    .lower_top_title_resort p {
        font-size: 6vw;
    }

}


/* -------
イベント事業部
-------*/

.event_color {
    color: #514B93;
    border-bottom: 1px solid #514B93;
}

.business_about_event {
    color: #514B93;
}

.business_lower_ul_mini {
    font-size: 0.9rem;
    font-weight: 400;
}

.business_lower_ul h5,
.business_lower_ul2 h5 {
    font-size: 1rem;
    font-weight: 600;
    margin: 16px 0 4px;
}

.mini_menu {
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 140%;
}

.mini_menu li {
    margin-bottom: 2px;
}


.mini_div2 {
    margin: 10px 0 24px 0;
}

.lower_top_title_event  {
    background: rgba(81, 75, 147, 0.8);
}





/* -------
美術コントラクト事業部
-------*/

.lower_top_text_art {
    max-width: 650px;
}

.art_color {
    color: #BEA166;
    border-bottom: 1px solid #BEA166;
}

.business_about_art {
    color: #BEA166;
}

.lower_top_title_art  {
    background: rgba(190, 161, 102, 0.8);
}

.business_about_art_ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
}


.lower_contact_text2 {
    top: 50%;
}


.box_pc {
    display: block;
}

.box_sp {
    display: none;
}


@media (max-width: 800px) {
    .box_pc {
        display: none;
    }

    .box_sp {
        display: block;
    }

    .business_about_art_ul {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .lower_top_title_art p {
        font-size: 6vw;
    }

    .business_lower_ul2_art {
        margin-bottom: 0;
    }
}

/* -------
不動産事業部
-------*/

.lower_top_text_estate {
    max-width: 500px;
}

.future_a {
    transition: all 0.8s ease;
}

.future_a:hover {
    filter: brightness(0.5);
}

.lower_top_title_estate  {
    background: rgba(119, 114, 98, 0.8);
}

.estate_color {
    color: #777262;
    border-bottom: 1px solid #777262;
}

.business_about_estate {
    color: #777262;
}
.business_about_estate2 {
    margin: 150px auto 0;
}

.estate_color {
    color: #777262;
    border-bottom: 1px solid #777262;
}


.business_lower_contact {
    background: #F3F3F3;
    padding: 20px;
    border-radius: 4px;
    margin-top: 24px;
    margin-bottom: 40px;
}
.business_lower_contact .snsarea {
    display: flex;
    flex-wrap: wrap;
}
.business_lower_contact .snsarea a {
    display: block;
    width: 3em;
    margin-right: .6em;
}
.business_lower_contact .snsarea a img {
    width: 100%;
    height: auto;
}

.business_lower_contac_ul {
    font-size: 0.9rem;
    line-height: 130%;
    font-weight: 400;
}

.business_lower_contac_ul h5 {
    font-size: 1rem;
    font-weight: 700;
    border-bottom: 1px solid #CFCFCF;
    padding-bottom: 6px;
    margin-bottom: 10px;
}

.business_lower_contac_ul h5:not(:nth-child(1)) {
    margin-top: 20px;
}

.business_lower_contac_ul h6 {
    font-weight: 800;
    margin: 10px 0 4px;
}

.sns_box {
    display: flex;
    gap: 10px;
    max-width: 250px;
}

.sns_box a {
    transition: all 0.3s ease;
}

.sns_box a:hover {
    filter: brightness(0.8);
}

.bold {
    font-weight: 600;
}

.mini_text {
    font-weight: 400;
    font-size: 0.9rem;
    line-height: 150%;
}

.layer_content_estate {
    margin: 56px auto 80px;
}
.layer_content_estate {
    margin: 0 auto 80px;
}

.estate_lower h4{
    font-size: 1.1rem;
    font-weight: 600;
}
.estate_lower p{
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 140%;
    margin: 24px auto 0;
}

@media (max-width: 800px) {
    .business_lower_contact {
        margin-bottom: 0;
    }
}

@media (max-width: 650px) {
    .business_lower_contact {
        margin: 24px auto 0;
    }

    .business_about_estate2 {
        margin: 100px auto 0;
    }
}



/* -------
フードサービス事業部
-------*/

.lower_top_text_food {
    max-width: 700px;
    width: 90%;
}

.lower_top_title_food {
    background: rgba(197, 115, 60, 0.8);
}

.business_about_food {
    color: #C5733C;
}

.business_about_tag_food {
    margin: 24px auto 0;
    color: #C5733C;
}

.business_about_food {
    color: #C5733C;
}

.estate_color {
    color: #777262;
    border-bottom: 1px solid #777262;
}

.business_about_f {
    padding: 40px 0 56px;
    margin: 64px auto 80px;
}

.button_estate2 {
    margin: 16px 0 0;
}

.business_lower_img_2{
    aspect-ratio: 16/9;
}

.business_lower_img_2 img {
    object-fit: cover;
    box-shadow: none;
}

.business_lower_box_food{
    width: 60%;
}


.business_lower2 {
    display: flex;
    align-items: start;
    gap: 16px;
    margin: 40px auto 56px;
    width: 100%;
    padding: 0 0 56px;
}

.business_lower2_m {
    margin: 56px auto 56px;
}

.business_lower_img {
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0px 0px 4px 0px rgba(93, 93, 93, 0.35);
    max-width: 500px;
    min-width: 350px;
}

.business_lower_img2 img {
    box-shadow: initial;
}

.business_lower_estate{
    display: block;
    width: 100%;
    aspect-ratio: auto;
    box-shadow: none;
}

.business_lower_estate img {
    border-radius: 8px;
    box-shadow: initial;
}


.food_button {
    margin-top: 40px;
}


@media (max-width: 800px) {
    .button_estate2 {
        margin: 16px auto 0;
    }
}

@media (max-width: 750px) {
    .lower_top_title_food p {
        font-size: 5vw;
    }

    .business_lower2 {
        flex-direction: column;
    }

    .business_lower_box_food{
        width: 100%;
    }


    .business_lower2_m {
        margin: 32px auto 32px;
        max-width: 500px;
        padding: 0 0 32px;
    }

    .food_color_num {
        background: #C5733C;
        color: #FFFFFA;
    }

    .business_lower_img {
        min-width: 200px;
    }
}

/* -------
こどもMIRAI事業部
-------*/

.lower_top_text_children {
    max-width: 800px;
}

.lower_top_title_children {
    background: rgba(76, 126, 164, 0.8);
}



.business_about_children {
    color: #4C7EA4;
}

.business_about_tag_children {
    margin: 24px auto 0;
    color: #4C7EA4;
}

.business_about_children {
    color: #4C7EA4;
}

.children_color {
    color: #4C7EA4;
    border-bottom: 1px solid #4C7EA4;
}

.children_grid_text {
    color: #FFFFFA;
    line-height: 140%;
    font-size: 0.9rem;
    font-weight: 400;
    padding: 0 0 0 24px;
    max-width: 900px;
    margin-top: 24px;
}

.children_grid_img {
    margin: 20px auto 0;
}

.business_about_ul_children {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
    margin: 48px auto 0;
}

.business_about_ul_children li {
    background: #FFFFFA;
    padding: 24px 24px 40px;
    border-radius: 8px;
    box-shadow: 0px 0px 4px 0px rgba(165, 165, 165, 0.35);
    width: 300px;
}

.business_about_ul_children li h4 {
    font-size: 1rem;
    text-align: center;
    font-weight: 700;
    padding: 0 0 4px 0;
}

.business_about_ul_children li p {
    font-size: 0.9rem;
    line-height: 1.4em;
    font-weight: 400;
    padding: 24px 8px 0;
    text-align: justify;
    letter-spacing: 0.03em;
}

.layer_content_children {
    margin: 0 auto 40px;
}

.layer_business_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    row-gap: 40px;
    column-gap: 16px;
    margin: 64px auto 0;
}

.layer_business_grid div {
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0px 0px 4px 0px rgba(165, 165, 165, 0.35);
}

.layer_business_grid_title {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-weight: 800;
    color: #1A1A1A;
    padding-bottom: 8px;
    margin: 14px auto 10px;
}

.layer_business_grid_title_col1 {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    min-width: 12px;
    min-height: 12px;
    border-radius: 100px;
}

.layer_business_grid img {
    aspect-ratio: 16/9;
    object-fit: cover;
}


@media (max-width: 650px) {
    .business_about_ul_children li {
        width: 100%;
    }

    .children_color_num {
        background: #4C7EA4;
        color: #FFFFFA;
    }

    .children_grid_img {
        max-width: 300px;
        margin: 24px auto 0;
    }
}

/* -------
未来開発室
-------*/

.layer_business_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    row-gap: 40px;
    column-gap: 16px;
    margin: 64px auto 0;
}

.layer_business_grid div {
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0px 0px 4px 0px rgba(165, 165, 165, 0.35);
}

.layer_business_grid_title {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-weight: 800;
    color: #1A1A1A;
    padding-bottom: 8px;
    margin: 14px auto 10px;
}

.layer_business_grid_title_col1 {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    min-width: 12px;
    min-height: 12px;
    border-radius: 100px;
}

.lower_top_title_future {
    background: rgba(183, 80, 127, 0.8);
}

.business_about_future {
    color: #B7507F;
}

.layer_content_future {
    padding: 72px 0 0;
}

@media (max-width: 800px) {
    .layer_business_grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 650px) {

    .lower_top_title_future p {
        font-size: 6vw;
    }

    .layer_business_grid {
        grid-template-columns: 1fr;
        margin: 32px auto 0;
        max-width: 350px;
    }

    .future_color_num {
        background: #B7507F;
        color: #FFFFFA;
    }
}




.col_1 {
    background: #DAB72A;
}

.col_2 {
    background: #BEA166;
}

.col_3 {
    background: #518D3D;
}

.col_4 {
    background: #514B93;
}

.col_5 {
    background: #777262;
}

.col_6 {
    background: #C5733C;
}

.col_7 {
    background: #4C7EA4;
}

.col_8 {
    background: #B7507F;
}

.col_9{
    background: linear-gradient(142deg, rgba(255, 133, 88, 1) 0%, rgba(240, 152, 25, 1) 100%);
}