/*
Theme Name: Funabuse Theme
Author: Your Name
Description: A custom theme for （株）マインドケア　はねいろ配食サービス
Version: 1.0
*/

:root {
    --color-red: #F25F5C;
    --color-blue: #223E99;
    --color-teal: #2EC4B6;
    --color-yellow: #F6C343;
    --color-dark-gray: #333333;
    --color-light-gray: #6B6B6B;
    --bg-color: #F6F7F9;
    --text-color: #333333;
    --text-color-light: #666666;
    --accent-color-1: #2EC4B6;
    --accent-color-2: #F25F5C;
    --accent-color-3: #223E99;
    --accent-color-4: #F6C343;
    --font-primary: 'M PLUS Rounded 1c', 'Noto Sans JP', sans-serif;
    --color-red-shadow: rgba(242, 95, 92, 0.4);
    --color-blue-shadow: rgba(34, 62, 153, 0.4);
    --color-teal-shadow: rgba(46, 196, 182, 0.4);
    --color-yellow-shadow: rgba(246, 195, 67, 0.4);
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    color: var(--color-dark-gray);
    background-color: #f5f6f9;
    overflow-x: hidden;
     -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3 {
    font-weight: 700;
}
.font-poppins {
    font-family: 'Poppins', sans-serif;
}
.font-rounded {
    font-family: 'M PLUS Rounded 1c', sans-serif;
}

.main-visual-bg {
    background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' id='svg' viewBox='0 0 1440 590' xmlns='http://www.w3.org/2000/svg' class='transition duration-300 ease-in-out delay-150'%3e%3cdefs%3e%3clinearGradient id='gradient' x1='99%25' y1='39%25' x2='1%25' y2='61%25'%3e%3cstop offset='5%25' stop-color='%230693e3'%3e%3c/stop%3e%3cstop offset='95%25' stop-color='%238ed1fc'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cpath d='M 0,600 L 0,112 C 44.070426350636794,124.03455007480277 88.14085270127359,136.06910014960553 118,158 C 147.8591472987264,179.93089985039447 163.5070155455425,211.75814947638054 194,233 C 224.4929844544575,254.24185052361946 269.8310851165565,264.89830194487223 304,292 C 338.1689148834435,319.10169805512777 361.16864398823157,362.64864274413037 395,382 C 428.83135601176843,401.35135725586963 473.4943389305172,396.5071270786064 511,405 C 548.5056610694828,413.4928729213936 578.8540002896998,435.3228489414442 608,459 C 637.1459997103002,482.6771510585558 665.0896599106836,508.20147715561666 706,536 C 746.9103400893164,563.7985228443833 800.7873600675657,593.8712424360893 835,622 C 869.2126399324343,650.1287575639107 883.7608998190536,676.3135531000264 914,707 C 944.2391001809464,737.6864468999736 990.1690406562204,772.8745451638051 1029,808 C 1067.8309593437796,843.1254548361949 1099.5629375560648,878.1882662447532 1129,885 C 1158.4370624439352,891.8117337552468 1185.5792091195208,870.3723898571819 1222,898 C 1258.4207908804792,925.6276101428181 1304.1202259658512,1002.3221743265194 1342,1042 C 1379.8797740341488,1081.6778256734806 1409.9398870170744,1084.3389128367403 1440,1087 L 1440,600 L 0,600 Z' stroke='none' stroke-width='0' fill='url(%23gradient)' fill-opacity='0.4' class='transition-all duration-300 ease-in-out delay-150 path-0' transform='rotate(-180 720 300)'%3e%3c/path%3e%3cdefs%3e%3clinearGradient id='gradient' x1='99%25' y1='39%25' x2='1%25' y2='61%25'%3e%3cstop offset='5%25' stop-color='%230693e3'%3e%3c/stop%3e%3cstop offset='95%25' stop-color='%238ed1fc'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cpath d='M 0,600 L 0,262 C 40.52149440406528,263.8240009274209 81.04298880813056,265.6480018548419 111,273 C 140.95701119186944,280.3519981451581 160.34953917154303,293.2319935080535 192,332 C 223.65046082845697,370.7680064919465 267.5588545056973,435.42402411294427 303,466 C 338.4411454943027,496.57597588705573 365.4150428056678,493.0719100401696 400,493 C 434.5849571943322,492.9280899598304 476.78097427163186,496.2883357263772 510,519 C 543.2190257283681,541.7116642736228 567.4610601078049,583.7747470543212 603,605 C 638.5389398921951,626.2252529456788 685.3747852971487,626.6126760563382 729,658 C 772.6252147028513,689.3873239436618 813.0397987036004,751.7745487203266 841,802 C 868.9602012963996,852.2254512796734 884.4660198884505,890.2891290623553 917,910 C 949.5339801115495,929.7108709376447 999.0961217425977,931.0689350302529 1037,942 C 1074.9038782574023,952.9310649697471 1101.1494931411594,973.4351308166333 1133,1016 C 1164.8505068588406,1058.5648691833667 1202.3059056927648,1123.190541703214 1237,1133 C 1271.6940943072352,1142.809458296786 1303.6268840877815,1097.8027023705104 1337,1106 C 1370.3731159122185,1114.1972976294896 1405.1865579561093,1175.5986488147448 1440,1237 L 1440,600 L 0,600 Z' stroke='none' stroke-width='0' fill='url(%23gradient)' fill-opacity='0.53' class='transition-all duration-300 ease-in-out delay-150 path-1' transform='rotate(-180 720 300)'%3e%3c/path%3e%3cdefs%3e%3clinearGradient id='gradient' x1='99%25' y1='39%25' x2='1%25' y2='61%25'%3e%3cstop offset='5%25' stop-color='%230693e3'%3e%3c/stop%3e%3cstop offset='95%25' stop-color='%238ed1fc'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cpath d='M 0,600 L 0,412 C 32.6701621869256,387.04738612010874 65.3403243738512,362.09477224021754 96,360 C 126.6596756261488,357.90522775978246 155.3088646915208,378.6682971592385 189,432 C 222.6911353084792,485.3317028407615 261.4242168600656,571.2320391228284 298,590 C 334.5757831399344,608.7679608771716 368.99426786821687,560.4035463494484 409,583 C 449.00573213178313,605.5964536505516 494.59871166706705,699.1537754793775 529,751 C 563.401288332933,802.8462245206225 586.6108854635149,812.9813517330412 621,824 C 655.3891145364851,835.0186482669588 700.9577464788733,846.9208175884576 735,875 C 769.0422535211267,903.0791824115424 791.5581286209921,947.3353779131285 816,961 C 840.4418713790079,974.6646220868715 866.8097390371582,957.7376707590284 906,985 C 945.1902609628418,1012.2623292409716 997.2029152303749,1083.7139390507575 1038,1124 C 1078.7970847696251,1164.2860609492425 1108.378600041343,1173.4065730379414 1136,1196 C 1163.621399958657,1218.5934269620586 1189.282684604254,1254.6597687974772 1219,1278 C 1248.717315395746,1301.3402312025228 1282.4906615416417,1311.9543517721493 1320,1328 C 1357.5093384583583,1344.0456482278507 1398.7546692291792,1365.5228241139253 1440,1387 L 1440,600 L 0,600 Z' stroke='none' stroke-width='0' fill='url(%23gradient)' fill-opacity='1' class='transition-all duration-300 ease-in-out delay-150 path-2' transform='rotate(-180 720 300)'%3e%3c/path%3e%3c/svg%3e");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.section-one-bg {
    background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' id='svg' viewBox='0 0 1440 690' xmlns='http://www.w3.org/2000/svg' class='transition duration-300 ease-in-out delay-150'%3e%3cpath d='M 0,700 L 0,131 C 50.81361450240475,91.8304353187816 101.6272290048095,52.66087063756319 151,92 C 200.3727709951905,131.3391293624368 248.30469848316682,249.18695276852878 299,269 C 349.6953015168332,288.8130472314712 403.15397706252315,210.59131828832156 465,215 C 526.8460229374768,219.40868171167844 597.0793932667407,306.4477740781848 653,362 C 708.9206067332593,417.5522259218152 750.5284498705142,441.6175853989394 798,446 C 845.4715501294858,450.3824146010606 898.8068072512023,435.0818843260575 958,452 C 1017.1931927487977,468.9181156739425 1082.2443211246764,518.0548772968308 1138,547 C 1193.7556788753236,575.9451227031692 1240.2159082500923,584.6986064866197 1289,612 C 1337.7840917499077,639.3013935133803 1388.892045874954,685.1506967566902 1440,731 L 1440,700 L 0,700 Z' stroke='none' stroke-width='0' fill='%23fcb900' fill-opacity='0.4' class='transition-all duration-300 ease-in-out delay-150 path-0' transform='rotate(-180 720 350)'%3e%3c/path%3e%3cpath d='M 0,700 L 0,306 C 48.6044148477001,277.1589591811568 97.2088296954002,248.3179183623135 150,252 C 202.7911703045998,255.6820816376865 259.76909606609934,291.8872857319028 325,333 C 390.23090393390066,374.1127142680972 463.7147860402023,420.1329387100752 509,461 C 554.2852139597977,501.8670612899248 571.3717597730918,537.5809594277963 619,544 C 666.6282402269082,550.4190405722037 744.7981748674313,527.5432235787397 807,563 C 869.2018251325687,598.4567764212603 915.4355407571834,692.246146257245 959,711 C 1002.5644592428166,729.753853742755 1043.4596621038354,673.4721913922803 1095,693 C 1146.5403378961646,712.5278086077197 1208.7258108274757,807.8650881736341 1268,856 C 1327.2741891725243,904.1349118263659 1383.6370945862623,905.0674559131829 1440,906 L 1440,700 L 0,700 Z' stroke='none' stroke-width='0' fill='%23fcb900' fill-opacity='0.53' class='transition-all duration-300 ease-in-out delay-150 path-1' transform='rotate(-180 720 350)'%3e%3c/path%3e%3cpath d='M 0,700 L 0,481 C 41.259440128252564,471.07394253298804 82.51888025650513,461.1478850659761 140,460 C 197.48111974349487,458.8521149340239 271.1839191022321,466.48240226908376 334,514 C 396.8160808977679,561.5175977309162 448.7454433345665,648.922505857689 501,671 C 553.2545566654335,693.077494142311 605.8343075595018,649.8275743001603 656,663 C 706.1656924404982,676.1724256998397 753.9173264274264,745.7671969416698 804,776 C 854.0826735725736,806.2328030583302 906.4963867307929,797.1036379331606 963,817 C 1019.5036132692071,836.8963620668394 1080.097126649402,885.8182513256876 1127,919 C 1173.902873350598,952.1817486743124 1207.1151066715993,969.6233567640892 1257,994 C 1306.8848933284007,1018.3766432359108 1373.4424466642004,1049.6883216179554 1440,1081 L 1440,700 L 0,700 Z' stroke='none' stroke-width='0' fill='%23fcb900' fill-opacity='1' class='transition-all duration-300 ease-in-out delay-150 path-2' transform='rotate(-180 720 350)'%3e%3c/path%3e%3c/svg%3e");
    background-size: cover;
    background-position: center 70%;
    background-repeat: no-repeat;
}

.vertical-text {
    writing-mode: vertical-rl;
    text-orientation: mixed;
}

.scroll-text-path {
    font-size: 10px;
    font-family: sans-serif;
    letter-spacing: 1.5px;
    fill: #888;
}
.fade-in { animation: fadeIn 0.5s ease-out forwards; }
.fade-out { animation: fadeOut 0.3s ease-in-out forwards; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }

.news-item:hover {
    background-color: #e0f2f1;
}
.news-item:hover p {
     color: #004d40;
}

.scrollbar-container {
    overflow-x: auto;
    cursor: grab;
    user-select: none;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.scrollbar-container.grabbing {
    cursor: grabbing;
}
.scrollbar-container::-webkit-scrollbar {
    display: none;
}

.feature-card {
    background-color: #ffffff;
    border-radius: 1.5rem;
    padding: 2rem;
    transition: transform 0.3s, box-shadow 0.3s;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}
.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}
.aspect-2-5-1 {
    aspect-ratio: 2.5 / 1;
}

.flow-item {
    position: relative;
    padding-left: 72px;
    min-height: 56px;
}
.flow-item:not(:last-child) {
    padding-bottom: 4rem;
}
.flow-item::before {
    content: '';
    position: absolute;
    left: 27px;
    top: 56px;
    height: calc(100% - 28px);
    width: 2px;
    background-color: var(--color-red);
    opacity: 0.3;
}
 .flow-item:last-child::before {
    display: none;
}

.bento-category-btn.active { color: white; }
.bento-category-btn.active span { background-color: white; }
.bento-category-btn[data-filter="all"].active { background-color: #F6C343; color: #854d0e;}
.bento-category-btn[data-filter="breakfast"].active { background-color: var(--color-blue); }
.bento-category-btn[data-filter="lunch"].active { background-color: var(--color-teal); }
.bento-category-btn[data-filter="dinner"].active { background-color: #d95869; }

.meal-type-btn.active {
    background-color: var(--color-teal);
    color: white;
}
.meal-type-btn.active .arrow-icon {
    background-color: white;
    color: var(--color-teal);
}

#calendar-modal .calendar-table-wrapper {
    flex-grow: 1;
    overflow: hidden;
    border: 1px solid #ddd;
    position: relative;
}
#calendar-modal .calendar-table-scroll {
    overflow-x: auto;
    height: 100%;
}
#calendar-modal table {
    border-collapse: collapse;
    white-space: nowrap;
}
#calendar-modal th, #calendar-modal td {
    border: 1px solid #ddd;
    padding: 0.5rem;
    text-align: center;
    vertical-align: top;
}
#calendar-modal th {
    background-color: #f9fafb;
    position: sticky;
    top: 0;
    z-index: 20;
}
#calendar-modal td {
    min-width: 180px;
}
#calendar-modal .fixed-col {
    position: sticky;
    left: 0;
    z-index: 30;
    width: 80px;
    font-weight: bold;
}
#calendar-modal .fixed-col.breakfast { background-color: var(--color-blue); color: white;}
#calendar-modal .fixed-col.lunch { background-color: var(--color-teal); color: white;}
#calendar-modal .fixed-col.dinner { background-color: #d95869; color: white;}
#calendar-modal thead .fixed-col {
    z-index: 40;
    background-color: #f3f4f6;
}
#calendar-modal ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    text-align: left;
    font-size: 0.75rem;
    line-height: 1.4;
}

.contact-section {
    position: relative;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 6rem 2rem 4rem;
    box-sizing: border-box;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.arc-text-container {
    position: absolute;
    top: clamp(1.5rem, 4vw, 3rem);
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 50vw;
    max-width: 900px;
    max-height: 450px;
    pointer-events: none;
}
.arc-text-container span {
    position: absolute;
    font-size: clamp(2.5rem, 8vw, 5rem);
    font-weight: 900;
    transform-origin: center center;
}
.contact-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
    padding-top: clamp(4rem, 10vw, 6rem);
    z-index: 1;
}
.contact-content .icon {
    margin-bottom: 1.5rem;
    color: var(--color-teal);
}
.contact-content h2 {
    font-size: clamp(2rem, 4.5vw, 2.5rem);
    margin: 0;
    font-weight: 500;
    color: var(--text-color);
    font-family: 'M PLUS Rounded 1c', sans-serif;
}
.contact-content .subtitle {
    font-size: clamp(0.85rem, 2vw, 1rem);
    color: var(--text-color-light);
    margin: 0.25rem 0 4rem;
}
.contact-details {
    display: flex;
    justify-content: center;
    gap: 2rem 3rem;
    width: 100%;
    max-width: 760px;
    text-align: left;
    margin-bottom: 4rem;
}
.contact-column {
    flex: 1;
}
.contact-column .catchphrase {
    font-size: clamp(0.85rem, 2vw, 1rem);
    font-weight: 500;
    line-height: 1.8;
    margin: 0 0 0.5rem;
}
.contact-column .catchphrase-sub {
    color: var(--text-color-light);
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: clamp(0.75rem, 1.6vw, 0.85rem);
}
.contact-column .info {
    font-size: clamp(0.75rem, 1.7vw, 0.9rem);
    line-height: 2;
    color: var(--text-color-light);
}
.contact-column .info a {
    color: var(--text-color);
    text-decoration: none;
}
.contact-column .info a:hover {
    text-decoration: underline;
}
.contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.2rem 5rem;
    border: 1px solid var(--accent-color-1);
    border-radius: 50px;
    background-color: #ffffff;
    color: var(--accent-color-1);
    font-size: 1.05rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
    white-space: nowrap;
}
.contact-button .arrow {
    margin-right: 0.75rem;
    transition: transform 0.3s ease;
}
.contact-button:hover,
.contact-button:focus-visible {
    background-color: var(--accent-color-1);
    color: white;
}
.contact-button:hover .arrow {
    transform: translateX(4px);
}
.contact-button:focus-visible {
    outline: 2px solid var(--accent-color-3);
    outline-offset: 2px;
}
@media (max-width: 1024px) {
    .arc-text-container {
        width: 110%;
        height: 55vw;
        max-width: 100%;
    }
}
@media (max-width: 767px) {
    .contact-section {
        padding: 4rem 1.5rem 3rem;
    }
    .arc-text-container {
        width: 100%;
        height: 50vw;
    }
    .contact-content {
        padding-top: 18vw;
    }
    .contact-details {
        flex-direction: column;
        text-align: center;
        gap: 2.5rem;
    }
    .contact-column {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}
.submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

/* === 「お悩み」セクションのスタイル START === */
.onayami-headline span {
    position: relative;
    display: inline-block;
}
.onayami-headline span::before {
    content: '';
    position: absolute;
    left: -10%;
    top: 50%;
    width: 120%;
    height: 120%;
    background-image: url("data:image/svg+xml,%3Csvg width='100' height='30' viewBox='0 0 100 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 15 C 20 -5, 80 -5, 98 15 C 80 35, 20 35, 2 15 Z' fill='%23E5E7EB' opacity='0.7'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    transform: translateY(-50%) rotate(-2deg);
    z-index: -1;
}

.balloon {
  position: relative;
  padding: 20px;
  border-radius: 12px;
  color: white;
  font-weight: bold;
  animation: float 5s ease-in-out infinite;
  text-align: center;
}

.balloon:before, .balloon:after {
    content: "";
    position: absolute;
    background: inherit;
    border-radius: 50%;
}

.balloon-no-tail:before, .balloon-no-tail:after {
    display: none;
}
.balloon-no-tail {
    margin-left: 0 !important;
}

@media (min-width: 768px) {
    .balloon {
        margin-left: 40px;
    }
    .balloon:before {
      left: -38px;
      width: 13px;
      height: 12px;
      bottom: 0;
    }
    .balloon:after {
      left: -24px;
      width: 20px;
      height: 18px;
      bottom: 3px;
    }
}

@media (max-width: 767px) {
    .balloon {
        padding: 12px;
        /* これが重要：吹き出し自体を少し右にずらし、しっぽのスペースを確保します */
        margin-left: 20px;
    }

    /* しっぽのスタイル (最終修正版) */
    .balloon:not(.balloon-no-tail):after {
        /* 大きい円: 吹き出しの角に近い位置へ */
        content: "";
        position: absolute;
        left: -12px;
        bottom: -5px;
        width: 20px;
        height: 18px;
        background: inherit;
        border-radius: 50%;
    }
    .balloon:not(.balloon-no-tail):before {
        /* 小さい円: さらに外側、かつ大きい円の左下へ */
        content: "";
        position: absolute;
        left: -28px; /* さらに左に移動 */
        bottom: -10px; /* さらに下に移動 */
        width: 13px;
        height: 12px;
        background: inherit;
        border-radius: 50%;
    }
}


.balloon-blue {
    background-color: var(--color-blue);
    box-shadow: 15px 15px var(--color-blue-shadow);
}
.balloon-teal {
    background-color: var(--color-teal);
    box-shadow: 15px 15px var(--color-teal-shadow);
}
.balloon-red {
    background-color: var(--color-red);
    box-shadow: 15px 15px var(--color-red-shadow);
}
.balloon-yellow {
    background-color: var(--color-yellow);
    color: var(--color-dark-gray);
    box-shadow: 15px 15px var(--color-yellow-shadow);
}

@keyframes float {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0px);
  }
}

/* === 「お悩み」セクションのスタイル END === */

/* === お客様の声セクションのスタイル START === */
.hide-scrollbar::-webkit-scrollbar {
    display: none;
}
.hide-scrollbar {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}
.arrow-button:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}
/* === お客様の声セクションのスタイル END === */

/* === Mobile Layout Fixes (Final) START === */
@media (max-width: 767px) {
    /* ---
    Fix 1: Universal Title Centering & Stacking
    (Applies to: Cost Reduction, Our Menu, Voice, Recruit, etc.)
    --- */
    .text-center > .inline-flex.items-baseline,
    div.items-baseline,
    div.text-center > div.inline-flex,
    .w-full.md\:w-1\/4 > .mb-8,
    .max-w-3xl.mx-auto > div > .flex.justify-between.items-center {
        flex-direction: column;
        align-items: center;
    }

    h2[class*="font-rounded"],
    div.items-baseline > h2,
    .w-full.md\:w-1\/4 .flex.items-baseline h2,
    .max-w-3xl.mx-auto > div > .flex.justify-between.items-center .flex.items-baseline h2 {
        margin-right: 0 !important;
        margin-bottom: 0.25rem;
        white-space: nowrap;
    }

    .text-center > .inline-flex.items-baseline > span.font-rounded,
    .w-full.md\:w-1\/4 .flex.items-baseline span,
    .max-w-3xl.mx-auto > div > .flex.justify-between.items-center .flex.items-baseline span {
        margin-left: 0 !important;
    }

    /* ---
    Fix 2: Three Merit Title (Mobile View)
    --- */
    .md\:hidden div.mt-6 {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .md\:hidden div.mt-6 .flex.items-baseline {
        flex-direction: column;
        align-items: center;
    }
    .md\:hidden div.mt-6 h2 {
         margin-right: 0;
         margin-bottom: 0.25rem;
    }
    .md\:hidden div.mt-6 span {
        margin-left: 0;
    }

    /* ---
    Fix 3: Bento, Blog, News Titles - Centering
    --- */
    .w-full.md\:w-1\/4 > .mb-8 > div,
    .max-w-3xl.mx-auto > div > .flex.justify-between.items-center > div {
       text-align: center;
       display: flex;
       flex-direction: column;
       align-items: center;
    }

    /* ---
    Fix 4: Cost Reduction Section Note Fix
    --- */
    section footer + div.text-center p.whitespace-nowrap {
        white-space: normal !important;
        max-width: 250px;
        margin: 0 auto;
        text-align: center;
    }
    
    /*
     * 5. Recruit Title Fix
     */
    .bg-white\/70 .grid .flex.items-baseline {
         flex-direction: column;
        align-items: center;
    }
    .bg-white\/70 .grid .flex.items-baseline h2 {
        margin-right: 0;
        margin-bottom: 0.25rem;
    }
    .bg-white\/70 .grid .flex.items-baseline span {
        margin-left: 0;
    }
    
    /*
     * 6. Voice Subtitle Fix
     */
    .max-w-4xl.mx-auto > .text-center.mb-16 > p.mt-3 {
        white-space: nowrap;
    }

    /*
     * 7. Our menu Section h3 Fix
     */
    section > .container > .max-w-4xl > div > h3.text-2xl.font-bold.mb-8 {
        text-align: center;
    }

    /*
     * 8. メインビジュアルのキャッチコピー
     */
     .main-visual-bg h1 {
        white-space: nowrap;
     }

     /* HANEIROロゴの改行を強制的に防ぐ */
     section h2.font-poppins {
        white-space: nowrap !important;
     }

}
/* === Mobile Layout Fixes END === */
