/* PC unified section design
   Mobile rules remain in mobile-kv.css. */

@media (min-width: 768px){

    /* Common section headings -------------------------------- */
    #about .aboutSectionHead,
    #factory .factorySectionHead,
    #voice .sectionHead.center,
    #buy .sectionHead.center,
    #catalog .sectionHead.center{
        margin-right:auto;
        margin-left:auto;
        max-width:920px;
        text-align:center;
    }

    #about .aboutSectionHead h2,
    #factory .factorySectionHead h2,
    #voice .sectionHead.center h2,
    #buy .sectionHead.center h2,
    #catalog .sectionHead.center h2{
        margin:22px auto 0px;
        color:#171717;
        font-size:38px;
        font-weight:700;
        line-height:1.45;
        letter-spacing:-0.02em;
        text-align:center;
    }

    #about .aboutSectionHead > p,
    #factory .factorySectionHead > p,
    #voice .sectionHead.center > p,
    #buy .sectionHead.center > p,
    #catalog .sectionHead.center > p{
        margin:16px auto 0px;
        max-width:760px;
        color:#666666;
        font-size:16px;
        line-height:1.85;
        text-align:center;
    }

    /* Bowlsとは header --------------------------------------- */
    #about .aboutHeadLabel{
        margin:0px auto;
        border:solid 1px #3c8752;
        background-color:#ffffff;
    }

    #about .aboutHeadLabel .redBadge{
        margin:0px;
        padding:9px 16px;
        border-radius:0px;
        color:#ffffff;
        background-color:#b92d3d;
        font-size:14px;
        line-height:1;
    }

    #about .aboutHeadLabelText{
        padding:8px 16px;
        color:#4f875d;
        font-size:20px;
        font-weight:500;
        line-height:1;
    }

    #about .aboutMainPic{
        margin-top:28px;
    }

    /* 3-1〜3-4 common ---------------------------------------- */
    #about .aboutBlock{
        margin:0px auto 54px;
        padding:54px 48px 0px;
        max-width:1000px;
        border:none;
        border-radius:0px;
        background-color:#ffffff;
        text-align:center;
    }

    #about .aboutBlock + .aboutBlock{
        margin-top:0px;
    }

    #about .aboutBlock h3{
        margin:22px auto 0px;
        max-width:900px;
        color:#171717;
        font-size:34px;
        font-weight:700;
        line-height:1.45;
        letter-spacing:-0.02em;
        text-align:center;
    }

    #about .aboutBlock > p{
        margin:16px auto 0px;
        max-width:800px;
        color:#666666;
        font-size:16px;
        line-height:1.9;
        text-align:center;
    }

    #about .aboutBlockDiff .aboutIndex{
        margin:0px auto;
        display:flex;
        justify-content:center;
    }

    #about .aboutBlockDiff .aboutIndex span{
        display:none;
    }

    #about .aboutBlockDiff .aboutIndex small{
        padding:10px 36px;
        min-width:260px;
        border:solid 1px #3c8752;
        color:#4f875d;
        background-color:#ffffff;
        font-size:17px;
        font-weight:500;
        letter-spacing:0px;
        line-height:1.2;
        text-transform:none;
    }

    #about .aboutNutritionLabel,
    #about .aboutHowtoLabel,
    #about .aboutRotationLabel{
        margin:0px auto;
        border:solid 1px #3c8752;
        background-color:#ffffff;
    }

    #about .aboutNutritionLabel .redBadge,
    #about .aboutHowtoLabel .redBadge,
    #about .aboutRotationLabel .redBadge{
        margin:0px;
        padding:9px 16px;
        border-radius:0px;
        color:#ffffff;
        background-color:#b92d3d;
        font-size:14px;
        line-height:1;
    }

    #about .aboutNutritionLabelText,
    #about .aboutHowtoLabelText,
    #about .aboutRotationLabelText{
        padding:8px 16px;
        color:#4f875d;
        font-size:20px;
        font-weight:500;
        line-height:1;
    }

    #about .aboutBlockDiff .fadeGallery,
    #about .aboutBlockNutrition .oneImage,
    #about .aboutBlockHowto .wideImage,
    #about .aboutBlockRotation .wideVideo{
        margin-top:34px;
    }

    /* Factory ----------------------------------------------- */
    #factory .factoryHeadLabel{
        margin:0px auto;
        border:solid 1px #3c8752;
        background-color:#ffffff;
    }

    #factory .factoryHeadLabel .redBadge{
        margin:0px;
        padding:9px 16px;
        border-radius:0px;
        color:#ffffff;
        background-color:#b92d3d;
        font-size:14px;
        line-height:1;
    }

    #factory .factoryHeadLabelText{
        padding:8px 16px;
        color:#4f875d;
        font-size:20px;
        font-weight:500;
        line-height:1;
    }

    /* Store ------------------------------------------------- */
    #store .storeGrid > div:first-child{
        text-align:center;
    }

    #store .storeHeadLabel{
        margin:0px auto 20px;
        border:solid 1px #3c8752;
        background-color:#ffffff;
    }

    #store .storeHeadLabel .redBadge{
        margin:0px;
        padding:9px 16px;
        border-radius:0px;
        color:#ffffff;
        background-color:#b92d3d;
        font-size:13px;
        line-height:1;
        white-space:nowrap;
    }

    #store .storeHeadLabelText{
        padding:8px 16px;
        color:#4f875d;
        font-size:20px;
        font-weight:500;
        line-height:1;
        white-space:nowrap;
    }

    #store .storeGrid h2{
        margin:0px auto;
        color:#171717;
        font-size:36px;
        font-weight:700;
        line-height:1.45;
        letter-spacing:-0.02em;
        text-align:center;
    }

    #store .storeGrid > div:first-child > p{
        margin:16px auto 0px;
        max-width:620px;
        color:#666666;
        font-size:16px;
        line-height:1.85;
        text-align:center;
    }

    /* Cost simulator vertical layout ------------------------- */
    #consult .costGrid{
        margin: 0px auto;
        max-width: 800px;
        grid-template-columns: 1fr;
        gap: 36px;
    }

    #consult .costGrid > div:first-child{
        margin: 0px auto;
        width: 100%;
    }

    #consult .costCalc{
        margin: 0px auto;
        width: 100%;
        max-width: 600px;
    }

    /* Cost simulator intro ---------------------------------- */
    #consult .costGrid > div:first-child{
        text-align:center;
    }

    #consult .costGrid > div:first-child .sectionLabel.green{
        margin:0px auto 18px;
        padding:10px 28px;
        width:fit-content;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        border:solid 1px #3c8752;
        border-radius:0px;
        color:#4f875d;
        background-color:#ffffff;
        font-size:15px;
        font-weight:600;
        line-height:1;
    }

    #consult .costGrid > div:first-child h2{
        margin:0px auto;
        max-width:620px;
        color:#171717;
        font-size:36px;
        font-weight:700;
        line-height:1.45;
        letter-spacing:-0.02em;
        text-align:center;
    }

    #consult .costGrid > div:first-child p{
        margin:16px auto 0px;
        max-width:620px;
        color:#666666;
        font-size:16px;
        line-height:1.85;
        text-align:center;
    }

    /* Voice / lineup / catalog labels ----------------------- */
    #voice .sectionHead.center .sectionLabel.orange,
    #buy .sectionHead.center .sectionLabel.green,
    #catalog .sectionHead.center .sectionLabel.orange{
        margin:0px auto;
        padding:10px 28px;
        width:fit-content;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        border:solid 1px #3c8752;
        border-radius:0px;
        color:#4f875d;
        background-color:#ffffff;
        font-size:15px;
        font-weight:600;
        line-height:1;
    }
}


/* Bowlsとは heading size tune */
@media (min-width: 768px){
    #about .aboutHeadLabel{
        padding:5px;
        gap:5px;
        border-width:2px;
    }

    #about .aboutHeadLabel .redBadge{
        padding:12px 20px;
        font-size:18px;
        font-weight:800;
    }

    #about .aboutHeadLabel .redBadge i{
        margin-right:6px;
        color:#ffd500;
        font-size:19px;
    }

    #about .aboutHeadLabelText{
        padding:11px 20px;
        color:#176d38;
        font-size:27px;
        font-weight:700;
    }
}


/* unified inner spacing for combined section labels */
@media (min-width: 768px){
    #about .aboutNutritionLabel,
    #about .aboutHowtoLabel,
    #about .aboutRotationLabel,
    #factory .factoryHeadLabel,
    #store .storeHeadLabel{
        padding:5px;
        gap:5px;
    }
}

/* PC content width */
@media (min-width: 768px){
    .wrap,
    .wrap.wide{
        max-width: 800px;
    }
}
