@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;600;700;800&family=Noto+Serif+JP:wght@500;600;700&family=Noto+Sans+JP:wght@400;500;700&display=swap');

/* ===== CAU 品牌设计系统（臙脂 3 色 + 年长友好）===== */
.cau-root {
    --cau-enji: #8A3D4C;
    --cau-enji-deep: #6E2E3B;
    --cau-gold: #A8782F;
    --cau-gold-deep: #8A6224;
    --cau-ink: #2A2520;
    --cau-ink2: #544D45;
    --cau-bg: #FCFBF9;
    --cau-white: #FFFFFF;
    --cau-line: #E6E1D8;
    --cau-soft: #F6F1E9;
    --cau-mincho: 'Shippori Mincho', 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
    --cau-gothic: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', sans-serif;
    font-family: var(--cau-gothic);
    color: var(--cau-ink);
    font-weight: 400;
    font-size: 17px;
    line-height: 1.95;
    -webkit-font-smoothing: antialiased;
}

.cau-root * {
    box-sizing: border-box;
}

.cau-root a {
    text-decoration: none;
    color: inherit;
}

.cau-root svg {
    display: block;
}

.cau-wrap {
    max-width: 1200px;
    margin: 0 auto;
}

/* hero */
.cau-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--cau-white);
    min-height: 520px;
}

.cau-hero__left {
    padding: 0 64px 0 max(64px, calc((100vw - 1180px) / 2));
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cau-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    font-family: var(--cau-mincho);
    font-size: 14px;
    letter-spacing: 1px;
    color: var(--cau-enji);
    border: 1.5px solid var(--cau-enji);
    padding: 8px 18px;
    margin-bottom: 28px;
    font-weight: 600;
}

.cau-hero h1 {
    font-family: var(--cau-mincho);
    font-weight: 700;
    font-size: 38px;
    line-height: 1.85;
    letter-spacing: 2px;
    color: var(--cau-ink);
    margin: 0;
}

.cau-hero h1 em {
    font-style: normal;
    color: var(--cau-enji);
}

.cau-hero__lead {
    font-size: 17px;
    line-height: 2.2;
    color: var(--cau-ink2);
    margin: 28px 0 36px;
    font-weight: 500;
}

.cau-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    align-self: flex-start;
    background: var(--cau-gold);
    color: #fff;
    padding: 18px 44px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 1px;
    border-radius: 6px;
    box-shadow: 0 4px 0 var(--cau-gold-deep);
    transition: .15s;
}

.cau-hero__cta:hover {
    background: var(--cau-gold-deep);
    transform: translateY(2px);
    box-shadow: 0 2px 0 var(--cau-gold-deep);
}

.cau-hero__img {
    background-position: center;
    background-size: cover;
    background-color: #cdbfa3;
}

/* 安心保証 */
.cau-assure {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background: var(--cau-soft);
    border-top: 1px solid var(--cau-line);
    border-bottom: 1px solid var(--cau-line);
}

.cau-assure__c {
    padding: 28px 18px;
    text-align: center;
    border-right: 1px solid var(--cau-line);
}

.cau-assure__c:last-child {
    border-right: none;
}

.cau-assure__ic {
    color: var(--cau-enji);
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
}

.cau-assure__t {
    font-family: var(--cau-mincho);
    font-size: 17px;
    font-weight: 700;
    color: var(--cau-ink);
}

.cau-assure__d {
    font-size: 13.5px;
    color: var(--cau-ink2);
    margin-top: 5px;
    font-weight: 500;
}

/* 品牌哲学 */
.cau-philo {
    padding: 104px 56px;
    text-align: center;
}

.cau-philo__mk {
    width: 30px;
    height: 3px;
    background: var(--cau-enji);
    margin: 0 auto 34px;
}

.cau-philo p {
    font-family: var(--cau-mincho);
    font-size: 27px;
    line-height: 2.4;
    letter-spacing: 3px;
    color: var(--cau-ink);
    font-weight: 700;
    margin: 0;
}

.cau-philo__sign {
    font-size: 14px;
    letter-spacing: 2px;
    color: var(--cau-ink2);
    margin-top: 32px;
    font-weight: 500;
}

/* 选品宣言 + 2 系列 */
.cau-std {
    background: var(--cau-white);
    padding: 100px 56px;
    border-top: 1px solid var(--cau-line);
}

.cau-std__head {
    text-align: center;
    margin-bottom: 56px;
}

.cau-std__jp {
    font-size: 15px;
    letter-spacing: 3px;
    color: var(--cau-gold-deep);
    display: block;
    margin-bottom: 16px;
    font-weight: 700;
}

.cau-std__head h2 {
    font-family: var(--cau-mincho);
    font-size: 36px;
    font-weight: 800;
    letter-spacing: 4px;
    color: var(--cau-enji);
    margin: 0;
}

.cau-std__sub {
    font-size: 16px;
    color: var(--cau-ink2);
    margin-top: 20px;
    line-height: 1.9;
    font-weight: 500;
}

.cau-std__two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    max-width: 980px;
    margin: 0 auto;
}

.cau-std__col {
    border: 1px solid var(--cau-line);
    border-radius: 10px;
    padding: 44px 40px;
}

.cau-std__b {
    display: inline-block;
    font-family: var(--cau-mincho);
    font-size: 15px;
    letter-spacing: 2px;
    padding: 7px 20px;
    border-radius: 4px;
    margin-bottom: 24px;
    font-weight: 700;
    color: #fff;
}

.cau-std__col--organic .cau-std__b {
    background: var(--cau-enji);
}

.cau-std__col--additive .cau-std__b {
    background: var(--cau-ink);
}

.cau-std__col h3 {
    font-family: var(--cau-mincho);
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 16px;
    color: var(--cau-ink);
}

.cau-std__col p {
    font-size: 15.5px;
    line-height: 2.1;
    color: var(--cau-ink2);
    margin: 0 0 24px;
}

.cau-std__items {
    font-size: 14.5px;
    color: var(--cau-enji);
    font-weight: 500;
    border-top: 1px solid var(--cau-line);
    padding-top: 20px;
    line-height: 1.9;
}

.cau-std__col--additive .cau-std__items {
    color: var(--cau-ink);
}

/* 产地诚实引导 */
.cau-origin {
    background: var(--cau-soft);
    padding: 104px 56px;
    border-top: 1px solid var(--cau-line);
}

.cau-origin__inner {
    max-width: 740px;
    margin: 0 auto;
    text-align: center;
}

.cau-origin__jp {
    font-size: 15px;
    letter-spacing: 3px;
    color: var(--cau-gold-deep);
    margin-bottom: 18px;
    font-weight: 700;
}

.cau-origin h2 {
    font-family: var(--cau-mincho);
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 3px;
    color: var(--cau-ink);
    margin: 0 0 40px;
    line-height: 1.6;
}

.cau-origin p {
    font-size: 16.5px;
    line-height: 2.3;
    color: var(--cau-ink2);
    margin: 0 0 22px;
    text-align: left;
}

.cau-origin__pledge {
    font-family: var(--cau-mincho);
    font-size: 20px;
    font-weight: 700;
    color: var(--cau-enji);
    line-height: 2;
    margin-top: 40px;
    padding-top: 36px;
    border-top: 1px solid var(--cau-line);
}

/* こだわり */
.cau-craft {
    background: var(--cau-white);
    padding: 96px 56px;
    border-top: 1px solid var(--cau-line);
}

.cau-craft__head {
    text-align: center;
    margin-bottom: 56px;
}

.cau-craft__jp {
    font-size: 15px;
    letter-spacing: 2px;
    color: var(--cau-gold-deep);
    display: block;
    margin-bottom: 14px;
    font-weight: 700;
}

.cau-craft__head h2 {
    font-family: var(--cau-mincho);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 3px;
    margin: 0;
}

.cau-craft__g {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px 56px;
    max-width: 980px;
    margin: 0 auto;
}

.cau-craft__item {
    display: flex;
    gap: 24px;
}

.cau-craft__num {
    font-family: var(--cau-mincho);
    font-size: 26px;
    color: var(--cau-enji);
    width: 40px;
    flex-shrink: 0;
    font-weight: 700;
}

.cau-craft__item h3 {
    font-family: var(--cau-mincho);
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 11px;
    color: var(--cau-ink);
}

.cau-craft__item p {
    font-size: 16px;
    line-height: 2.05;
    color: var(--cau-ink2);
    margin: 0;
}

/* 创始人故事 */
.cau-story {
    padding: 100px 56px;
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 64px;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
}

.cau-story__img {
    height: 400px;
    background-position: center;
    background-size: cover;
    background-color: #cdbfa3;
    border-radius: 8px;
    background-image: url("https://img.myshopline.com/image/store/1728663446623/CAU-CEO_592x.jpg?w=592&h=675");
}

.cau-story__jp {
    font-size: 15px;
    letter-spacing: 2px;
    color: var(--cau-gold-deep);
    font-weight: 700;
}

.cau-story h2 {
    font-family: var(--cau-mincho);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 2px;
    margin: 18px 0 26px;
    color: var(--cau-ink);
}

.cau-story p {
    font-size: 16px;
    line-height: 2.3;
    color: var(--cau-ink2);
    margin: 0;
}

.cau-story__sign {
    margin-top: 26px;
    font-family: var(--cau-mincho);
    font-size: 16px;
    color: var(--cau-enji);
    font-weight: 700;
}

/* 客服区 */
.cau-help {
    background: var(--cau-enji);
    color: #FBF1ED;
    padding: 76px 56px;
    text-align: center;
}

.cau-help__lbl {
    font-family: var(--cau-mincho);
    font-size: 16px;
    letter-spacing: 2px;
    color: #E8C4B8;
    margin-bottom: 10px;
}

.cau-help h2 {
    font-family: var(--cau-mincho);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 2px;
    margin: 0 0 36px;
}

.cau-help__ways {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 720px;
    margin: 0 auto;
}

.cau-help__way {
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 8px;
    padding: 30px 18px;
}

.cau-help__ic {
    margin-bottom: 12px;
    display: flex;
    justify-content: center;
    color: #F0D5C8;
}

.cau-help__k {
    font-size: 14px;
    color: #E8C4B8;
    font-weight: 500;
    margin-bottom: 8px;
}

.cau-help__v {
    font-family: var(--cau-mincho);
    font-size: 20px;
    font-weight: 700;
    color: #fff;
}

.cau-help__sub {
    font-size: 13px;
    color: #E0BCB0;
    margin-top: 6px;
}

/* ===== 收窄版式：banner(hero)保持全宽，其余 section 居中收窄 ===== */
.cau-root>section:not(.cau-hero) {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

@media(max-width:820px) {

    .cau-hero,
    .cau-story {
        grid-template-columns: 1fr;
    }

    .cau-hero__img,
    .cau-story__img {
        min-height: 320px;
    }

    .cau-assure,
    .cau-std__two,
    .cau-craft__g,
    .cau-help__ways {
        grid-template-columns: 1fr;
    }

    .cau-assure__c {
        border-right: none;
        border-bottom: 1px solid var(--cau-line);
    }

    .cau-hero__left {
        padding: 48px 28px;
    }

    .cau-std,
    .cau-origin,
    .cau-craft,
    .cau-philo,
    .cau-help {
        padding-left: 28px;
        padding-right: 28px;
    }

    .cau-story {
        padding: 60px 28px;
    }
}


/* CAU article font fix */
.article-template__title,
.title1,
.title2,
.title3,
.title4,
.title5,
.title6 {
    font-family: 'Shippori Mincho', 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', serif !important;
}

.article-template__content,
.article-template__content.rte,
.cau-article {
    font-family: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', sans-serif !important;
}

/* cau.jp a11y contrast */
.price .price-item--regular {
    color: #2A2520 !important;
}

.price .price__badge-sale,
.badge.price__badge-sale {
    background-color: #C44A2F !important;
    color: #FFFFFF !important;
}


/* ===== CAU PDP conversion (trust + ATC) ===== */
.cau-pdp-trust {
    margin: 0 0 14px;
    padding: 12px 14px;
    background: #FBF7EF;
    border: 1px solid #EADFCE;
    border-radius: 10px;
}

.cau-pdp-trust__rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    color: #6B461D;
    text-decoration: none;
    margin-bottom: 10px;
}

.cau-pdp-trust__stars {
    color: #C48A2A;
    letter-spacing: 1px;
    font-size: 15px;
    line-height: 1;
}

.cau-pdp-trust__score {
    font-size: 14px;
    color: #3D342C;
}

.cau-pdp-trust__score strong {
    font-size: 18px;
    color: #8A3D4C;
}

.cau-pdp-trust__link {
    font-size: 13px;
    color: #A8782F;
    text-decoration: underline;
    margin-left: auto;
}

.cau-pdp-trust__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.cau-pdp-trust__badges li {
    font-size: 12px;
    font-weight: 600;
    color: #6E2E3B;
    background: #fff;
    border: 1px solid #E6D5B8;
    border-radius: 999px;
    padding: 5px 10px;
}

.cau-pdp-trust__note {
    margin: 8px 0 0;
    font-size: 11px;
    line-height: 1.5;
    color: #80766C;
}

/* stronger ATC on product pages */
.product-form__submit.button,
product-form .product-form__submit {
    background: #8A3D4C !important;
    color: #fff !important;
    border-color: #8A3D4C !important;
    font-weight: 700 !important;
    letter-spacing: .04em;
    min-height: 48px;
}

.product-form__submit.button:hover,
product-form .product-form__submit:hover {
    background: #6E2E3B !important;
    border-color: #6E2E3B !important;
}

/* anchor for review section inside description */
#cau-reviews {
    scroll-margin-top: 88px;
}

/* ===== CAU home trust / CAU3000 ===== */
.cau-home-offer {
    background: #8A3D4C;
    color: #fff;
    text-align: center;
    padding: 12px 16px;
}

.cau-home-offer__text {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1.5;
}

.cau-home-offer__text code {
    font-family: inherit;
    font-weight: 700;
    background: rgba(255, 255, 255, .18);
    padding: 1px 6px;
    border-radius: 4px;
}

.cau-assure--4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width:900px) {
    .cau-assure--4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .cau-assure--4 .cau-assure__c:nth-child(2n) {
        border-right: none;
    }
}

@media (max-width:560px) {
    .cau-home-offer__text {
        font-size: 12.5px;
    }

    .cau-assure--4 {
        grid-template-columns: 1fr;
    }
}