/*
Theme Name:  tomihisa
Theme URI:   https://tomihisa-clinic.jp/endoscopy-guide/
Author:      ags
Description: 新宿トミヒサクロスクリニック内視鏡サイト
Version:     1.0.0
*/

.c-skip-link {
    position:fixed;
    top:var(--space-2);
    left:var(--space-2);
    z-index:var(--z-modal);
    padding:var(--space-3) var(--space-4);
    background:var(--color-bg-section);
    color:var(--color-brand-primary);
    font-weight:var(--font-weight-bold);
    transform:translateY(-150%)
}
.c-skip-link:focus {
    transform:translateY(0)
}
.c-container {
    width:min(100% - (var(--layout-container-padding) * 2),var(--layout-container-max));
    margin-inline:auto
}
.p-section-texture {
    background-color:var(--color-bg-page);
    background-image:url(assets/images/p-symptom-check-bg.webp);
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover;
}
.c-heading-block {
    display:grid;
    justify-items:center;
    gap:var(--space-3);
    margin-bottom:var(--space-10);
    text-align:center
}
.c-heading-block__label {
    position:relative;
    margin:0;
    padding-bottom:var(--space-2);
    color:var(--color-brand-accent);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-sm);
    letter-spacing:var(--letter-spacing-wider)
}
.c-heading-block__label::after {
    position:absolute;
    bottom:0;
    left:50%;
    width:var(--space-16);
    height:1px;
    background:var(--color-brand-accent);
    content:"";
    transform:translateX(-50%)
}
.c-heading-block h2 {
    margin:0;
    color:var(--color-brand-primary);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-xl);
    font-weight:var(--font-weight-bold);
    line-height:var(--line-height-normal);
    letter-spacing:var(--letter-spacing-wide)
}
.c-heading-block>p:last-child:not(.c-heading-block__label) {
    max-width:56rem;
    margin:0px 0 0 0;
    color:var(--color-text-primary);
    line-height:var(--line-height-relaxed);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-fluid-sm);
    letter-spacing:var(--letter-spacing-wide);
}
.p-reassurance .c-heading-block>p:last-child{
color:var(--color-text-on-primary);
}
.c-heading-block--inverse h2,.c-heading-block--inverse>p:last-child {
    color:var(--color-text-inverse)
}
.c-line-icon {
    position:absolute;
    width:60px;
    height:60px;
    top: -44px;

}
.c-button--soft {
    border-color:var(--color-border-default);
    background:var(--color-brand-primary-soft);
    color:var(--color-brand-primary)
}
.c-button--soft:hover {
    border-color:var(--color-brand-primary);
    background:var(--color-brand-secondary-soft);
    color:var(--color-brand-primary)
}
.c-button--outline-inverse {
    border-color:color-mix(in srgb,var(--color-text-inverse) 50%,transparent);
    background:transparent;
    color:var(--color-text-inverse)
}
.c-button--outline-inverse:hover {
    border-color:var(--color-text-inverse);
    background:color-mix(in srgb,var(--color-text-inverse) 10%,transparent);
    color:var(--color-text-inverse)
}
.p-reservation__buttons .c-button--icon2::before {
    content:"";
    width:14px;
    height:19px;
    flex-shrink:0;
    background-image:url("assets/icons/c-button-icon2.svg");
    background-repeat:no-repeat;
    background-size:contain
}
.p-reservation__buttons .c-button--icon3::before {
    content:"";
    width:18px;
    height:21px;
    flex-shrink:0;
    background-image:url("assets/icons/c-button-icon3.svg");
    background-repeat:no-repeat;
    background-size:contain
}
.c-button-row,.c-action-stack {
    display:grid;
    gap:var(--space-3);
    position:relative;
    z-index:var(--z-above)
}
.c-button-row .c-button,.c-action-stack .c-button {
    width:100%
}
.c-tag-list,.c-link-grid,.p-header__nav-list,.p-footer ul {
    margin:0;
    padding:0;
    list-style:none
}
.c-tag-list {
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-2)
}
.c-tag-list li {
    padding:var(--space-1) var(--space-2);
    border:1px solid var(--color-border-default);
    background:var(--color-surface-accent);
    color:var(--color-brand-primary);
    font-size:var(--font-size-sm)
}
.c-section-action {
    display:flex;
    justify-content:center;
    margin-top:var(--space-10);
}

.c-symptom-card__body .c-button--soft:before,
.c-exam-item__body .c-button--secondary:before,
.c-cost-card .c-button--secondary:before,
.p-faq .c-button--secondary:before,
.p-diseases .c-button--secondary:before,
.p-column .c-button--secondary:before{
    content: "";
    display: inline-block;
    background-image: url(assets/icons/c-button__icon-note.svg);
    width: 15px;
    height: 18px;
    background-size: contain;
    background-repeat: no-repeat;
}
.c-symptom-card__body .c-button--primary:before,
.p-symptom-check__notice .c-button--primary:before,
.c-exam-item__body .c-button--primary:before,
.c-exam-item__body .c-button--accent:before{
    content: "";
    display: inline-block;
    background-image: url(assets/icons/c-button__icon-care.svg);
    width: 16px;
    height: 15px;
    background-size: contain;
    background-repeat: no-repeat;
}
.p-symptom-check__notice .c-button--accent:before{
        content: "";
    display: inline-block;
    background-image: url(assets/icons/c-button__icon-note-w.svg);
    width: 15px;
    height: 18px;
    background-size: contain;
    background-repeat: no-repeat;
}

/* Header */
.p-header {
    position:sticky;
    top:0;
    z-index:var(--z-header);
    padding:0;
    background:var(--color-bg-section);
    color:var(--color-text-primary);
    box-shadow:var(--shadow-sm)
}
.p-header__inner {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:min(100% - (var(--layout-container-padding) * 2),var(--layout-container-max));
    min-height:4rem;
    margin-inline:auto
}
.p-header__logo {
    display:block;
    width:min(13rem,67vw);
    color:inherit
}
.p-header__logo img {
    width:100%;
    height:auto
}
.p-header__menu-toggle {
    display:grid;
    place-items:center;
    width:2.75rem;
    height:2.75rem;
    padding:0;
    border:0;
    background:transparent;
    color:var(--color-brand-primary);
    cursor:pointer
}
.p-header__menu-lines,.p-header__menu-lines::before,.p-header__menu-lines::after {
    display:block;
    width:1.5rem;
    height:1px;
    background:currentColor;
    content:"";
    transition:transform var(--transition-normal)
}
.p-header__menu-lines {
    position:relative
}
.p-header__menu-lines::before {
    position:absolute;
    top:-.45rem
}
.p-header__menu-lines::after {
    position:absolute;
    top:.45rem
}
.p-header__menu-toggle[aria-expanded="true"] .p-header__menu-lines {
    background:transparent
}
.p-header__menu-toggle[aria-expanded="true"] .p-header__menu-lines::before {
    top:0;
    transform:rotate(45deg)
}
.p-header__menu-toggle[aria-expanded="true"] .p-header__menu-lines::after {
    top:0;
    transform:rotate(-45deg)
}
.p-header__nav {
    position:absolute;
    top:100%;
    right:calc(var(--layout-container-padding) * -1);
    left:calc(var(--layout-container-padding) * -1);
    display:none;
    padding:var(--space-5);
    background:var(--color-bg-section);
    box-shadow:var(--shadow-md)
}
.p-header__nav.is-open {
    display:grid;
    gap:var(--space-4)
}
.p-header__nav-list {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
    background:var(--color-border-default)
}
.p-header__nav-list a,.p-header__nav-list button {
    display:grid;
    place-items:center;
    min-height:3.5rem;
    padding:var(--space-2);
    background:var(--color-bg-section);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-sm);
    text-align:center;
    text-decoration:none
}

.p-header__cta {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:3.25rem;
    padding:var(--space-3) var(--space-5);
    background:linear-gradient(90deg,var(--color-brand-primary),var(--color-brand-secondary));
    color:var(--color-text-on-primary);
    font-family:var(--font-family-heading);
    text-decoration:none;
    font-size:var(--font-size-base);
}
.p-header__cta:hover {
    color:var(--color-text-on-primary)
}
/* Hero */
.p-hero {
    position:relative;
    display:grid;
    min-height:42rem;
    overflow:hidden;
    background:var(--color-bg-page);
    color:var(--color-text-primary);
}
.p-hero .n2_clear {
    position: absolute!important;
    top: 0;
    left: 0;
}

.p-hero__image {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center
}
.p-hero__inner {
    position:relative;
    z-index:var(--z-above);
display:grid;
    align-content: center;
    width:min(100% - (var(--layout-container-padding) * 2),var(--layout-container-max));
    margin-inline:auto;
    margin-top:140px;
    padding-block:var(--space-8)
}

@media (min-width:768px) {
    .p-hero__inner {
        margin-top:400px
    }
}
.p-hero__content {
    display:grid;
    gap:var(--space-5);
    padding:var(--space-6);
    border:1px solid color-mix(in srgb,var(--color-bg-section) 75%,transparent);
    border-radius:var(--radius-md);
    background:color-mix(in srgb,#E9EBE6 91%,transparent);
    backdrop-filter:blur(4px);
    width: 100%;
}
.p-hero__eyebrow,.p-hero__title,.p-hero__lead {
    margin:0
}
.p-hero__eyebrow {
    color:var(--color-brand-accent);
    font-family:var(--font-family-heading);

    letter-spacing:var(--letter-spacing-wider)
}
.p-hero__title {
    max-width:none;
    color:var(--color-brand-primary);
    font-family:var(--font-family-heading);
    font-size:clamp(24.00px, calc(2.04vw + 16.35px), 32.00px);;
    font-weight:var(--font-weight-bold);
    line-height:1.55;
    letter-spacing:var(--letter-spacing-wide)
}
    .p-hero__title span{
font-size:18px;
    }
.p-hero__lead {
    color:var(--color-text-primary);
    font-size:var(--font-size-sm);
    line-height:var(--line-height-relaxed)
}
.p-hero__points {
    display:grid;
    gap:var(--space-2);
    margin:0;
    padding:0;
    list-style:none
}
.p-hero__point {
    display:flex;
    align-items:center;
    gap:var(--space-3);
    padding:var(--space-3);
    background:var(--color-surface-card)
}
.p-hero__point>span:last-child {
    display:grid;
    gap:var(--space-1)
}

.p-hero__point__title{
        color:var(--color-brand-primary);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-sm);
    font-weight:var(--font-weight-bold);
}
.p-hero__point small {
    color:var(--color-text-secondary);
    font-size:var(--font-size-xs);
    display: block;
}
/* Symptoms */
.p-symptom-check,.p-exam-menu,.p-reasons,.p-costs,.p-faq,.p-diseases,.p-column {
    padding-block:var(--layout-section-padding-y-sm)
}
.p-symptom-check__grid {
    display:grid;
    gap:var(--space-5)
}
.c-symptom-card {
    position:relative;
    border:1px solid var(--color-border-strong);
    background:var(--color-surface-card);
    box-shadow:var(--shadow-card);
    background-image:url(assets/images/colbg1.jpg);
        background-repeat:no-repeat;
    background-position:top center;
    background-size:100% auto;
}
.c-symptom-card__badge {
    position:absolute;
    top:-12px;
    left:50%;
    z-index:var(--z-above);
    transform:translate(-50%,-100%);
    padding:var(--space-2) var(--space-3);
    border-radius:var(--radius-md);
    background:#fffcc4;
    box-shadow:var(--shadow-md);
    color:var(--color-text-secondary);
    font-size:var(--font-size-xs);
    line-height:1.4;
    text-align:center;
    white-space:nowrap;
}
.c-symptom-card__badge span{
    color:var(--color-brand-primary);
    font-size:var(--font-size-base);
    font-family:var(--font-family-heading);
    font-weight:var(--font-weight-bold);
}
.c-symptom-card__badge::after {
    content:"";
    position:absolute;
    top:100%;
    left:50%;
    transform:translateX(-50%);
    border:var(--space-2) solid transparent;
    border-top-color:#fffcc4;
    border-bottom-width:0;
}
.c-symptom-card__visual {
    position:relative;
    display:grid;
    place-items:center;
    min-height:9rem;
padding-top: 104px;

}

.c-symptom-card:has(.c-symptom-card__visual--bowel) {
    background-image:url(assets/images/colbg2.jpg);
}
.c-symptom-card:has(.c-symptom-card__visual--checkup) {
    background-image:url(assets/images/colbg3.jpg);
}
.c-symptom-card__visual>span {
    position:relative;
    z-index:var(--z-above);
    color:var(--color-text-inverse);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-3xl)
}
.c-symptom-card__body {
    display:grid;
    gap:var(--space-5);
    padding:var(--space-5)
}
.c-symptom-card__title {
    display:flex;
    position:relative;
    align-items:center;
    justify-content: center;
    text-align:center;
    gap:var(--space-3);
    margin-top:calc(var(--space-10) * -1);
    padding:var(--space-6) var(--space-3) var(--space-3) var(--space-3);
    background:color-mix(in srgb,var(--color-surface-card) 94%,transparent);
    box-shadow:var(--shadow-lg);
    width:calc(100% - var(--space-6))
}
.c-symptom-card__title p,.c-symptom-card__title h3,.c-symptom-card__body>p {
    margin:0
}
.c-symptom-card__title p {
    color:var(--color-brand-primary);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-lg);
    font-weight:var(--font-weight-bold);
    line-height: 1.3;
}
.c-symptom-card__title h3 {
    margin-top:var(--space-1);
    color:var(--color-text-secondary);
    font-size:var(--font-size-xs);
    font-weight:var(--font-weight-bold)
}
.c-symptom-card__body>p {
    color:var(--color-text-primary);
    line-height:var(--line-height-normal);
    font-size:var(--font-size-sm)
}
.p-symptom-check__notice {
    display:grid;
    align-items:center;
    position:relative;
    gap:var(--space-5);
    margin-top:var(--space-8);
    padding:var(--space-5);
    border:1px solid var(--color-brand-accent);
    background:color-mix(in srgb,var(--color-surface-accent) 80%,transparent)
}
.p-symptom-check__notice-icon {
    display:grid;
    place-items:center;
width: 80px;
        height: 80px;
        font-size: 48px;
        line-height: 0;
    border-radius:var(--radius-circle);
    background:var(--color-brand-accent);
    color:var(--color-text-on-primary);
    font-family:var(--font-family-heading);
    margin-inline: auto;
}
.p-symptom-check__notice h3,.p-symptom-check__notice p {
    margin:0
}
.p-symptom-check__notice h3 {
    color:var(--color-brand-primary);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-xl);
    text-align:center;
    letter-spacing:var(--letter-spacing-wide);
}
.p-symptom-check__notice p {
    margin-top:var(--space-2);
    color:var(--color-text-primary);
    font-size:var(--font-size-sm);
    line-height:var(--line-height-relaxed)
}
/* Exam and navigation */
.p-exam-menu {
    background:var(--color-bg-page)
}
.p-exam-menu__list {
    display:grid;
    gap:var(--space-12)
}
.c-exam-item {
    display:grid;
    gap:var(--space-5)
}
.c-exam-item__image {
    width:100%;
    aspect-ratio:3/2;
    border-radius:var(--radius-md);
    object-fit:cover;
    box-shadow:var(--shadow-card)
}
.c-exam-item__body {
    display:grid;
    align-content:center;
    gap:var(--space-5)
}
.c-exam-item__body h3,.c-exam-item__body p {
    margin:0
}
.c-exam-item__body h3 {
    color:var(--color-brand-primary);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-fluid-md);
    font-weight:var(--font-weight-bold);
    letter-spacing:var(--letter-spacing-wide);
}
.c-exam-item__body h3>span {
    margin-right:var(--space-4);
    color:var(--color-brand-accent);
    font-size:clamp(28.00px, calc(9.18vw + -6.44px), 64.00px);
    font-weight:var(--font-weight-bold);
}
.c-exam-item__body h3 small {
    font-size:var(--font-size-fluid-sm)
}
.c-exam-item__body p {
    color:var(--color-text-primary);
    line-height:var(--line-height-relaxed)
}
.c-link-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--space-2)
}
.c-link-grid > li {
    min-width:0
}
.c-link-grid a {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    min-height:2.5rem;
    padding:var(--space-2) var(--space-5) var(--space-2) var(--space-3);
    border:1px solid var(--color-border-strong);
    background:var(--color-surface-card);
    color:var(--color-brand-primary);
    font-size:var(--font-size-sm);
    text-decoration:none
}
.c-link-grid a > span {
    min-width:0;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis
}
.c-link-grid a::after {
    position:absolute;
    right:var(--space-2);
    color:var(--color-brand-secondary);
    font-size:2em;
    line-height:1;
    content:"›"
}
.c-link-grid a:hover {
    border-color:var(--color-brand-primary);
    background:var(--color-brand-primary-soft)
}
.p-medical-nav {
    margin-top:var(--space-12)
}
.p-medical-nav h3 {
    display:flex;
    align-items:center;
    gap:var(--space-5);
    justify-content:center;
    margin:0 0 var(--space-6);
    color:var(--color-brand-primary);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-xl)
}
.p-medical-nav h3::before,.p-medical-nav h3::after {
    width:var(--space-16);
    height:1px;
    background:var(--color-brand-accent);
    content:""
}
.p-feature-links {
    padding-block:var(--layout-section-padding-y-sm);
    background-image:url(assets/images/p-navigation_bg.webp);
    background-size:cover;
}
.p-feature-links__grid {
    display:grid;
    gap:var(--space-3)
}
.c-image-link {
    position:relative;
    display:grid;
    align-items:center;
    min-height:8.125rem;
    overflow:hidden;
    padding:var(--space-5);
   /* background:linear-gradient(90deg,color-mix(in srgb,var(--color-bg-strong) 92%,transparent),color-mix(in srgb,var(--color-bg-strong) 20%,transparent)),var(--link-image) center/cover;*/
    color:var(--color-text-inverse);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-lg);
    letter-spacing:var(--letter-spacing-wide);
    text-decoration:none;
    line-height:1.4;
}
.p-feature-links__grid a:nth-child(1) {
    background:linear-gradient(90deg,color-mix(in srgb,var(--color-bg-strong) 92%,transparent),color-mix(in srgb,var(--color-bg-strong) 20%,transparent)),var(--link-image) center/cover;
}
.p-feature-links__grid a:nth-child(2) {
    background:linear-gradient(90deg,color-mix(in srgb,var(--color-brand-secondary) 92%,transparent),color-mix(in srgb,var(--color-brand-secondary) 20%,transparent)),var(--link-image) center/cover;
}
.p-feature-links__grid a:nth-child(3) {
    background:linear-gradient(90deg,color-mix(in srgb,var(--color-brand-accent-hover) 92%,transparent),color-mix(in srgb,var(--color-brand-accent-hover) 20%,transparent)),var(--link-image) center/cover;
}
.p-feature-links__grid a:nth-child(4) {
    background:linear-gradient(90deg,color-mix(in srgb,#8BAEAF 92%,transparent),color-mix(in srgb,#8BAEAF 20%,transparent)),var(--link-image) center/cover;
}
.c-image-link::after {
    position:absolute;
    right:var(--space-5);
    content:"›"
}
.c-image-link span::after {
    display:block;
    width:var(--space-10);
    height:1px;
    margin-top:var(--space-3);
    background:var(--color-brand-accent);
    content:""
}
/* Reassurance and reasons */
.p-reassurance {
    position:relative;
    padding-block:var(--layout-section-padding-y-sm);
    overflow:hidden;
    background-image:url(assets/images/p-reassurance-bg.png);
    background-size:cover;
    color:var(--color-text-inverse)
}

.p-reassurance>.c-container {
    position:relative
}
.p-reassurance__grid {
    display:grid;
    gap:var(--space-4)
}
.c-reassurance-card {
    display:grid;
    align-content:start;
    gap:var(--space-5);
    padding:var(--space-5);
    background:var(--color-surface-card);
    color:var(--color-text-primary)
}
.c-reassurance-card img {
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover
}
.c-reassurance-card h3,.c-reassurance-card p {
    margin:0
}
.p-reassurance .c-heading-block__label{
    padding-bottom:0;
}
.p-reassurance .c-heading-block__label::after{
content:none;
}
.p-reassurance .c-heading-block h2,
.p-reasons .c-heading-block h2 {
    font-size:var(--font-size-fluid-reassurance);
}
.p-reassurance .c-heading-block {
    gap: 0;
}
.c-reassurance-card h3 {
    color:var(--color-brand-primary);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-lg);
    line-height:var(--line-height-normal);
    text-align:center
}
.c-reassurance-card p {
    color:var(--color-text-secondary);
    line-height:var(--line-height-relaxed)
}
.p-reasons {
    background:var(--color-bg-section-alt) url(assets/images/reason-bg-sp.webp);
    background-size:100% auto;
    background-position:top right;
    background-repeat:no-repeat;
}
.p-reasons__list {
    display:grid;
    gap:var(--space-10)
}
.c-reason {
    display:grid;
    gap:var(--space-5)
}
.c-reason__img-wrap picture {
    display:block;
    width:100%
}
.c-reason img {
    width:100%;
    min-height:13rem;
    object-fit:cover;
    display:block
}
.c-reason__img-wrap {
    position:relative
}
.c-reason__img-wrap::after {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(to top, var(--color-bg-section-alt) 0%, transparent 50%);
    pointer-events:none
}
.c-reason>div {
    display:grid;
    align-content:center;
    gap:var(--space-2);
    padding-inline:var(--layout-container-padding)
}
.c-reason__number,.c-reason h3,.c-reason>div>p:last-child {
    margin:0
}
.c-reason>div.c-reason__img-wrap{
    padding-inline:0;
}
.c-reason__number {
    color:var(--color-brand-accent);
    font-family:var(--font-family-heading);
    font-size: clamp(24.00px, calc(6.12vw + 1.04px), 48.00px);
    font-weight:600;
        line-height: 1;
        display: flex;
    align-items: center;
    gap: var(--space-4);
}
.c-reason__number span {
   font-size: clamp(14.00px, calc(1.02vw + 10.17px), 18.00px);
    letter-spacing:var(--letter-spacing-wider);
        border-left: 1px solid var(--color-brand-accent);
        padding-left: var(--space-4);
}
.c-reason h3 {
    color:var(--color-brand-primary);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-xl);
    line-height:var(--line-height-normal);
    margin-bottom:var(--space-1);
}
.c-reason>div>p:last-child {
    color:var(--color-text-secondary);
    line-height:var(--line-height-relaxed)
}
/* Costs, FAQ, disease tabs */
.p-costs {
    background-color:var(--color-bg-page)
}
.p-costs__grid {
    display:grid;
    gap:var(--space-5)
}
.c-cost-card {
    display:grid;
    align-content:start;
    position:relative;
    z-index:var(--z-above);
    gap:var(--space-6);
    padding:var(--space-5);
    background:var(--color-surface-card)
}
.c-cost-card h3 {
    margin:calc(var(--space-5) * -1) calc(var(--space-5) * -1) 0;
    padding:var(--space-4);
    background: linear-gradient(90deg, var(--color-brand-primary) 0%, var(--color-brand-secondary) 100.69%);
    color:var(--color-text-inverse);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-lg);
    font-weight:var(--font-weight-medium);
    text-align:center
}
.c-cost-card>.c-button {
    justify-self:center
}
.c-table-scroll {
    max-width:100%;
    overflow-x:auto
}
.c-table-scroll table {
    width:100%;
    min-width:32rem;
    border-collapse:collapse;
    text-align:center
}
.c-table-scroll th,.c-table-scroll td {
    padding:var(--space-3);
    border:1px solid var(--color-border-default)
}
.c-table-scroll th {
    background:var(--color-surface-soft)
}
.p-faq {
    background-image:url(assets/images/p-faq-bg.webp);
background-size:cover;
        }
.p-faq__grid {
    display:grid;
    align-items:start;
    gap:var(--space-5)
}
.c-faq {
    background:var(--color-surface-card);
    box-shadow:var(--shadow-sm)
}
.c-faq summary {
    position:relative;
    display:flex;
    align-items:center;
    gap:var(--space-3);
    min-height:3.75rem;
    padding:var(--space-1) var(--space-12) var(--space-1) var(--space-4);
    color:var(--color-text-primary);
    cursor:pointer;
    list-style:none
}
.c-faq summary::-webkit-details-marker {
    display:none
}
.c-faq summary::after {
    position:absolute;
    right:var(--space-4);
    color:var(--color-brand-accent);
    content:"+";
    font-size:var(--font-size-xl)
}
.c-faq[open] summary::after {
    content:"−"
}
.c-faq summary span {
    color:var(--color-brand-accent);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-2xl);
    position: relative;
    top: -4px;
}
.c-faq>p {
    margin:0;
    padding:0 var(--space-5) var(--space-5) calc(var(--space-5) + var(--space-8));
    color:var(--color-text-secondary);
    line-height:var(--line-height-relaxed);
    font-size:var(--font-size-sm);
}
.c-tabs__list {
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-2);
    justify-content: center;
    margin-bottom:var(--space-3);
}
.c-tabs__list button {
    padding:var(--space-2) var(--space-4);
    border:1px solid var(--color-border-default);
    background:var(--color-surface-accent);
    color:var(--color-text-primary);
    cursor:pointer;
    font-family:var(--font-family-heading);
    border-radius:var(--radius-md);
}
.c-tabs__list button[aria-selected="true"] {
    border-color:var(--color-brand-primary);
    background:var(--color-brand-primary);
    color:var(--color-text-inverse)
}
.c-tabs__panel {
    display:grid;
    gap:var(--space-5);
    padding:var(--space-5);
    border:1px solid var(--color-border-default);
    background:var(--color-surface-card);
    box-shadow:var(--shadow-card)
}
.c-tabs__panel[hidden] {
    display:none
}
.c-tabs__panel>img,.c-tabs__placeholder {
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover
}
.c-tabs__placeholder {
    display:grid;
    place-items:center;
    background:var(--color-brand-primary-soft);
    color:var(--color-brand-primary);
    font-family:var(--font-family-heading);
    font-size:4rem
}
/* Column, reservation and footer */
.p-column {
    background:var(--color-bg-page)
}
.p-column__grid {
    display:grid;
    grid-auto-columns:minmax(16rem,80%);
    grid-auto-flow:column;
    gap:var(--space-4);
    overflow-x:auto;
    padding-bottom:var(--space-3);
    scroll-snap-type:x mandatory
}
.c-column-card {
    overflow:hidden;
    background:var(--color-surface-card);
    box-shadow:var(--shadow-card);
    scroll-snap-align:start
}
.c-column-card a {
    display:grid;
    color:inherit;
    text-decoration:none
}
.c-column-card img {
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover
}
.c-column-card__meta {
    display:flex;
    justify-content:space-between;
    gap:var(--space-3);
    padding:var(--space-4) var(--space-4) 0;
    color:var(--color-text-muted);
    font-size:var(--font-size-xs)
}
.c-column-card__meta span {
    padding:2px var(--space-3);
    background:var(--color-brand-primary-soft);
    color:var(--color-brand-primary);
    font-size:var(--font-size-xs);
}
.c-column-card h3 {
    margin:0;
    padding:var(--space-4);
    color:var(--color-text-primary);
    font-size:var(--font-size-base);
    line-height:var(--line-height-normal);
    font-family:var(--font-family-heading);
}
.c-column-card a>p {
    margin:0;
    padding:0 var(--space-4) var(--space-4);
    color:var(--color-brand-primary);
    font-size:var(--font-size-xs);
    text-align:right
}
.c-column-card a>p::after {
    margin-left:var(--space-2);
    content:"›"
}
.p-reservation {
    padding-block:var(--layout-section-padding-y-sm);
    background:url(assets/images/p-cta-bg.webp) var(--color-bg-cta) ;
    background-size:cover;
    background-position:center;
    color:var(--color-text-inverse);
    mix-blend-mode: multiply;
    margin-top: var(--space-16);
}
.p-reservation h2 {
    margin:0 0 var(--space-10);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-fluid-lg);
    font-weight:var(--font-weight-medium);
    text-align:center;
    width: 100%;
}
.p-reservation__info {
    display:grid;
    gap:var(--space-5);
}
.p-reservation__details {
    display:grid;
    align-items:center
}
.p-reservation__details dl {
    display:grid;
    gap:0;
    margin:0;
    font-size:var(--font-size-sm);
}
.p-reservation__details dl>div {
    display:grid;
    grid-template-columns:6rem 1fr;
    gap:0;
    align-items: start;
}
.p-reservation__details dt {
    font-weight:var(--font-weight-bold);
    width:100%;
    padding:var(--space-2);
    border-bottom:none;
}
.p-reservation__details dd {
    margin:0;
    width: 100%;
    padding:var(--space-2);
    border-bottom:none;
}
.p-reservation__details small {
    display:block;
    margin-top:var(--space-1);
    color:color-mix(in srgb,var(--color-text-inverse) 75%,transparent)
}
.p-reservation__map {
    width:100%;
    aspect-ratio:13/5;
    object-fit:cover
}
.p-reservation__tel {
    display:grid;
    justify-items:center;
    gap:var(--space-1);
    margin-top:var(--space-6);
    padding:var(--space-5);
    background:color-mix(in srgb,var(--color-brand-secondary) 90%,transparent);
    color:var(--color-text-inverse);
    text-decoration:none
}
.p-reservation__tel span {
font-weight:var(--font-weight-bold);
}
.p-reservation__tel strong {
    font-family:var(--font-family-heading);
    font-size:var(--font-size-fluid-reassurance);
    font-weight:var(--font-weight-medium);
    letter-spacing:var(--letter-spacing-wide);
    line-height:1.2;
}
.p-reservation__tel small{
font-size:var(--font-size-base);
margin-top:var(--space-1);
}
.p-reservation__buttons a {
    font-size:var(--font-size-fluid-sm);
}
.p-reservation__buttons {
    display:grid;
    gap:var(--space-3);
    margin-top:var(--space-5)
}
.p-footer {
    padding-top:var(--layout-section-padding-y-sm);
    background:var(--color-brand-primary-hover);
    color:var(--color-text-inverse)
}
.p-footer__grid {
    display:grid;
    gap:var(--space-8);
    width:min(100% - (var(--layout-container-padding) * 2),var(--layout-container-max));
    margin-inline:auto
}
.p-footer__heading {
    margin:0 0 var(--space-4);
    color:var(--color-text-inverse);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-md)
}
.p-footer ul {
 /*   display:grid;
    grid-template-columns:repeat(1,minmax(0,1fr));
    gap:var(--space-2) var(--space-4)
    */
column-count: 2;
}


.p-footer li::before {
    margin-right:var(--space-2);
    color:var(--color-brand-accent);
    content:"•"
}
.p-footer a {
    color:var(--color-text-inverse);
    font-size:var(--font-size-xs);
    text-decoration:none
}
.p-footer__copyright {
    margin:var(--space-10) 0 0;
    text-align:center
}
.p-reservation-bar {
    position:fixed;
    right:0;
    bottom:0;
    left:0;
    z-index:var(--z-header);
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    box-shadow:var(--shadow-button)
}
.p-reservation-bar a {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:var(--space-2);
    min-height:4rem;
    padding:var(--space-2);
    background: linear-gradient(90deg, var(--color-brand-accent-soft) 1.81%, var(--color-brand-secondary-soft) 99%);
    color:var(--color-brand-primary);
    font-family:var(--font-family-heading);
    font-size:var(--font-size-sm);
    font-weight:var(--font-weight-bold);
    text-align:center;
    text-decoration:none;
    transition:var(--transition-color);
    opacity:1
}
.p-reservation-bar a:hover {
    opacity:1;
     background: linear-gradient(90deg, var(--color-surface-soft) 1.81%, var(--color-bg-section-alt) 99%);
    color:var(--color-brand-primary);
}
.p-reservation-bar a:last-child {
    background: linear-gradient(90deg, var(--color-brand-accent) 1.81%, var(--color-brand-secondary) 99%);
    color:var(--color-text-on-primary)
}
.p-reservation-bar a:last-child:hover {
    background: linear-gradient(90deg, var(--color-brand-accent-hover) 1.81%, var(--color-brand-secondary-hover) 99%);
    color:var(--color-text-on-primary)
}
.p-menuDialog__actions{
margin-top:var(--space-6);
}
.p-symptom-check__grid .c-symptom-card:has(.c-symptom-card__visual--bowel) {
    margin-bottom: 64px;
}
.deco-plarnt-right,.deco-plarnt-left{
    display:none;
}
.c-exam-item#checkup .c-exam-item__image {
    width: 100%;
    aspect-ratio: 16/7.12;
    object-fit: cover;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-card);
}
.p-reservation__details a:hover{
    color:var(--color-brand-secondary-soft);
}
@media (min-width:1024px) {
    .c-button-row{
        grid-template-columns: 1fr 1fr;
    }
    .c-heading-block {
        margin-bottom:var(--space-16)
    }
    .c-heading-block h2 {
        font-size:var(--font-size-fluid-lg);
    }
    .p-symptom-check__notice h3 {
        text-align:left;
    }
.p-reassurance .c-heading-block h2{
        font-size:var(--font-size-fluid-reassurance);
    }
.c-line-icon {
    position:absolute;
    width:72px;
    height:72px;
    top: -54px;
}
.deco-plarnt-right{
    position:absolute;
    width: 152px;
    height: 140px;
    right: -32px;
    bottom: 0;
    display:block;
    z-index: var(--z-base);
}
.deco-plarnt-left{
    position:absolute;
    width: 152px;
    height: 140px;
    left: -32px;
    bottom: 0;
    display:block;
    z-index: var(--z-base);
}
.p-symptom-check__grid .c-symptom-card:has(.c-symptom-card__visual--bowel) {
    margin-bottom: 0px;
}
#symptoms .c-heading-block {
    margin-bottom:100px;

}
    .p-header__logo {
        width:17.25rem
    }
    .p-header__menu-toggle {
        display:none
    }
    .p-header__nav {
        position:static;
        display:flex;
        align-items:center;
        gap:var(--space-6);
        padding:0;
        background:transparent;
        box-shadow:none
    }
    .p-header__nav-list {
        display:flex;
        align-items:center;
        gap:0;
        background:transparent
    }
    .p-header__nav-list a {
        display:inline;
        background:transparent;
        font-size:var(--font-size-sm);
        white-space:nowrap
    }
    .p-header__nav-list button {
        display:inline;
        padding:var(--space-8) var(--space-2);
        background:transparent;
        font-size:var(--font-size-sm);
        white-space:nowrap
    }
    .p-header__cta {
        width:12.5rem;
        min-height:2.9375rem
    }
    .p-hero {
        min-height:37.5rem;
        margin-top:0px;
    }
    .p-hero__inner {
        align-items:center;
        margin-top:0;
        padding-block:0
    }
    .p-hero__content {
        width:46.3125rem;
        gap:var(--space-6);
        padding:var(--space-12)
    }
    .p-hero__title {
        font-size:40px;
    }
    .p-hero__title span{
font-size:32px;
    }
    .p-hero__points {
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:var(--space-2)
    }
    .p-hero__point {
        min-height:5rem
    }
.p-footer .p-footer__grid nav:nth-child(2) ul,
.p-footer .p-footer__grid nav:nth-child(1) ul {
column-count: 1;
}
.p-footer__grid{
gap: var(--space-20);
}
    .p-symptom-check,.p-exam-menu,.p-reasons,.p-costs,.p-faq,.p-diseases,.p-column,.p-reassurance,.p-feature-links,.p-reservation {
        padding-block:120px;
    }
    .p-symptom-check__grid {
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:var(--space-5)
    }
    .p-symptom-check__notice {
        grid-template-columns:auto minmax(0,1fr) 23rem;
        padding:var(--space-6) var(--space-20);
    }
    .c-symptom-card__visual {
padding-top: 116px;
}
    .p-exam-menu__list {
        gap:var(--space-16)
    }
    .c-exam-item {
        grid-template-columns:minmax(20rem,.78fr) minmax(0,1fr);
        align-items:start;
        gap:var(--space-10)
    }
    .c-link-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .c-link-grid--medical {
        grid-template-columns:repeat(6,minmax(0,1fr))
    }
    .c-link-grid--medical a{
        color:var(--color-text-primary);
    }
    .p-feature-links__grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        max-width:56rem
    }
    .p-reassurance__grid {
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:var(--space-5)
    }
    .p-reasons__list {
        gap:var(--space-10);
    }
    .c-reason {
        align-items:center;
        gap:var(--space-16);
        width:min(100% - (var(--layout-container-padding) * 2), var(--layout-container-max));
        margin-inline:auto
    }
    .c-reason:nth-child(odd) {
        grid-template-columns:1fr 624px
    }
    .c-reason:nth-child(even) {
        grid-template-columns:624px 1fr
    }
    .c-reason:nth-child(odd) img {
        object-position:right;
    }
    .c-reason:nth-child(even) .c-reason__img-wrap {
        order:2;
    }
    .c-reason:nth-child(even) img {
        object-position:left;
    }
    .c-reason:nth-child(odd) .c-reason__img-wrap {
        --bleed:max(var(--layout-container-padding), calc((100vw - var(--layout-container-max)) / 2));
        margin-left:calc(-1 * var(--bleed));
        width:calc(100% + var(--bleed))
    }
    .c-reason:nth-child(even) .c-reason__img-wrap {
        --bleed:max(var(--layout-container-padding), calc((100vw - var(--layout-container-max)) / 2));
        margin-right:calc(-1 * var(--bleed));
        width:calc(100% + var(--bleed))
    }
    .c-reason:nth-child(odd) .c-reason__img-wrap::after {
        background:linear-gradient(to left, var(--color-bg-section-alt) 0%, transparent 40%);
    }
    .c-reason:nth-child(even) .c-reason__img-wrap::after {
        background:linear-gradient(to right, var(--color-bg-section-alt) 0%, transparent 40%);
    }
    .c-reason>div {
        padding-inline:0
    }
    .p-costs__grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:var(--space-5)
    }
    .p-faq__grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .c-tabs__list {
        padding-inline:6rem;
        margin-bottom:-1px;
        gap:var(--space-3);
    }
    .c-tabs__list button{
border-radius:var(--radius-md) var(--radius-md) 0 0;
padding: var(--space-3) var(--space-8);
    }
    .c-tabs__panel {
        grid-template-columns:14rem minmax(0,1fr);
        align-items:start;
        gap:var(--space-10);
        padding:var(--space-8)
    }
    .c-tabs__panel .c-link-grid {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .p-column__grid {
        grid-auto-flow:initial;
        grid-auto-columns:initial;
        grid-template-columns:repeat(4,minmax(0,1fr));
        overflow:visible
    }
    .p-reservation__info {
        grid-template-columns:.9fr 1.1fr;
  margin-top:var(--space-16);
    }
    .p-reservation__buttons {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .p-footer__grid {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .p-reservation-bar {
        right:0;
        left:auto;
        width:43.75rem
    }
    .p-reservation-bar a {
        min-height:5.5rem;
        font-size:var(--font-size-md)
    }
    .p-hero__eyebrow {
        font-size:var(--font-size-md);
    }
    .c-heading-block__label{
        font-size:var(--font-size-md);
    }
.p-reasons {
    background:var(--color-bg-section-alt) url(assets/images/p-reasons-bg.webp);
    background-size:cover;
    background-position:top right;
    background-repeat:no-repeat;
}
.c-reason h3 {
    margin-bottom:var(--space-2);
}
.p-column .c-button--secondary{
    padding: var(--space-4) var(--space-16);
}
.p-reservation__details dl {
    font-size:var(--font-size-base);
}
}
@media (prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    .c-button,.p-header__menu-lines,.p-header__menu-lines::before,.p-header__menu-lines::after {
        transition:none
    }
}
.p-hero__content {
    margin-inline:0
}

@media (min-width: 768px) and (max-width: 1199px) {
  #n2-ss-2,
  #n2-ss-2 .n2-ss-slider,
  #n2-ss-2 .n2-ss-slide,
  #n2-ss-2 .n2-ss-slide-background {
    min-height: 600px !important;
  }

  #n2-ss-2 .n2-ss-slide-background img {
    width: 100% !important;
    height: 600px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}
@media (max-width: 1023px) {
h3#early-check-heading{
    margin-bottom: 24px;
}
}

/* archive  conditions symptoms */
div h3.search-index {
    margin-top: 0;
    font-size: var(--font-size-fluid-md);
    line-height: var(--line-height-wide);
}
.search-links p {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}
.search-links a {
    background-color: var(--color-brand-accent);
    color: var(--color-text-on-primary);
    display: block;
box-shadow: var(--shadow-md);
    padding: 2px var(--space-3);
    font-size: var(--font-size-sm);
}

.symptoms-link a{
text-decoration: underline;
}

.search-index-block{
    gap: var(--space-5);
    padding: var(--space-5);
    flex-wrap: nowrap;
}
@media (max-width: 1023px) {
.search-index-block{
    gap: var(--space-5);
    padding: var(--space-5);
    flex-direction: column;
}
}

.post-type-archive-conditions .c-term-card,
.post-type-archive-symptoms .c-term-card {
    position: relative;
    border-left: 4px solid var(--color-brand-primary);
}
.post-type-archive-conditions .c-term-card::after,
.post-type-archive-symptoms .c-term-card::after {
    content: "";
    position: absolute;
    right: var(--space-3);
    bottom: var(--space-3);
    width: 0.4rem;
    height: 0.4rem;
    border-top: 1px solid var(--color-brand-primary);
    border-right: 1px solid var(--color-brand-primary);
    transform: rotate(45deg);
}
.siteki{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.siteki li + li {
    margin-top: 0;
}
.si-kensa {
    gap: 20px;
}

.wp-container-core-group-is-layout-0fed8f92 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.wp-container-core-group-is-layout-0fed8f92 .wp-block-button__width-100{
    width: 100%;
}
.wp-container-core-group-is-layout-0fed8f92 .wp-block-button__link{
    width: 100%;
    display: block;
    text-align: center;
}