@charset "UTF-8";

/*
Theme Name: OfiiceYui-wp
Author: 株式会社Compass
Version: 20260502
*/

/*レイヤー宣言*/
@layer reset, page-base;
@import url(css/reset.css) layer(reset);

@layer page-base {
    *:where(:not(#wpadminbar *)) {
        border-color: #cccccc;
        font-family: "Noto Sans JP", "Yu Gothic", sans-serif;
        font-size: clamp(12px, calc(8.8px + 0.8vw), 16px);
        font-weight: 500;
        font-variant-east-asian: proportional-width;
        letter-spacing: .05em;
        line-height: 1.5;
        text-wrap: wrap;
        max-inline-size: none;
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        position: relative;
        overflow: visible;
        container-type: inline-size;
    }

    main {
        position: relative;
    }

    section {
        container-name: page-section;
        container-type: inline-size;
        padding: 60px 0;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-weight: bold;
    }

    h1 {
        font-size: 36px;
    }

    h2 {
        font-size: clamp(22px, calc(18.8px + 0.8vw), 26px);
        text-align: center;

        &:has(img) {
            margin-top: 40px;
        }

        img {
            width: 75px;
        }
    }

    h3 {
        font-size: clamp(20px, calc(16.8px + 0.8vw), 24px);
        margin-bottom: .75em;
    }

    h4 {
        font-size: clamp(14px, calc(12.5px + 0.5vw), 18px);
        margin-bottom: .5em;
    }

    p {
        font-size: clamp(12px, calc(8.8px + 0.8vw), 16px);
        line-height: 1.5;
        margin-bottom: 1em;
    }

    strong {
        font-weight: bold;
    }

    sup {
        background-color: inherit;
        padding: 0;
        margin-left: 0;
        font-size: 0.75em;
        font-weight: inherit;
    }

    :where(ol, ul) {
        padding-inline-start: 1em;
    }

    ul {
        list-style-type: none;
    }

    a {
        text-decoration-line: none;
    }

    img {
        /*参考: https://coliss.com/articles/build-websites/operation/css/sensible-defaults-for-img-elements.html */
        max-width: 100%;
        height: auto;
        vertical-align: middle;
        font-style: italic;
        background-repeat: no-repeat;
        background-size: cover;
        shape-margin: 0.75rem;
        margin: auto;
    }

    table {
        width: 100%;
        margin: 40px auto;

        tr {
            border-top: 1px solid #F1959D;
            border-bottom: 1px solid #F1959D;

            th {
                text-align: center;

                &:first-of-type {
                    word-break: keep-all;
                    text-wrap: nowrap;
                    text-align: center;
                }
            }
        }

        th,
        td {
            padding: 20px 1em;
        }

        .button-flame {
            width: fit-content;
            margin-top: 10px;
        }
    }

    hr {
        border: 2.5px solid #F05F76;
    }


    .container {
        padding: 0 2em;
        margin: 0 auto;
        max-width: 960px;
        overflow: clip;
    }

    .sp-none {
        display: none;
    }

    .login-only {
        display: none;

        body:has(#wpadminbar) & {
            display: block;
        }
    }

    .center {
        text-align: center;
    }

    .text-fit {
        width: fit-content;
        margin: auto;
    }

    .warning {
        color: #E83A29;
        font-weight: bold;
    }

    .marker {
        font-weight: bolder;
        text-decoration: underline;
        text-decoration-thickness: 0.6em;
        text-decoration-color: #FFBAE1;
        text-underline-offset: -0.4em;
        text-decoration-skip-ink: none;
    }

    .cols {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-start;

        &>div {
            width: 100%;
            margin: 40px 0 0;
        }
    }

    .cols.reverse {
        flex-direction: row-reverse;
    }

    .button-flame {
        margin: 0 auto;

        a {
            display: block;
            width: 100%;
            padding: 10px 20px;
            color: #ffffff;
            background-color: #F1959D;
            text-align: center;
        }
    }

    .section-title {
        margin-bottom: 40px;

        hr {
            width: 30px;
            margin: 0 auto;
        }

        span {
            display: block;
        }

        .h2-en {
            font-weight: bold;
            font-size: inherit;
        }
    }

    .table-scroll {
        overflow-x: scroll;
    }

    .for-non-image {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip-path: circle(100%);
        white-space: nowrap;
        border-width: 0;
        left: -100vw;
    }

    /*header*/
    header {
        width: 100%;
        padding: 20px 30px;
        position: sticky;
        z-index: 1;
        top: 0;
        overflow-x: clip;
        background: #ffffff;
        border: 1px solid #cccccc;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

        .container {
            padding: 0;
            margin: 0 auto;
            max-width: 960px;
        }

        .header-main {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
        }

        .header-logo {
            width: 200px;
            padding: 10px 1em;

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

        .header-actions {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-top: 20px;

            img {
                width: 50px;
            }

            .action-item {
                position: relative;
                top: -15px;
            }
        }

        #menu-button {
            display: none;

            &:checked~.hamburger {
                span:nth-child(1) {
                    transform: translateY(17px) rotate(45deg);
                }

                span:nth-child(2) {
                    opacity: 0;
                }

                span:nth-child(3) {
                    transform: translateY(-10px) rotate(-45deg);
                }
            }

            &:checked~.header-nav {
                display: block;
                right: 0;
                opacity: 1;
            }
        }

        .hamburger {
            width: 40px;
            height: 30px;
            cursor: pointer;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            z-index: 100;
            position: relative;
            top: -15px;

            span {
                display: block;
                width: 100%;
                height: 3px;
                background-color: #000;
                transition: all 0.3s;
            }
        }

        .header-nav {
            /*display: none;*/
            position: absolute;
            top: -700px;
            right: 0;
            opacity: 0;
            transition: 1s ease all;
            width: 100%;
            z-index: 99;
            background-color: #ffffff;

            ul {
                list-style: none;
                padding: 0;
                margin: 0 auto;

                li {
                    border-bottom: 1px solid #eee;

                    a,
                    label {
                        display: block;
                        padding: 15px;
                        text-decoration: none;
                        color: var(--text-color);
                        font-size: clamp(13px, calc(11.875px + 0.375vw), 16px);
                        font-weight: 500;
                    }
                }
            }
        }

        &:has(#menu-button:checked) {
            .header-nav {
                display: block;
                top: 100%;
                opacity: 1;
            }
        }
    }

    footer {
        position: relative;
        background: #F05F76;

        * {
            color: #ffffff;
            font-size: clamp(13px, calc(11.875px + 0.375vw), 16px);
            line-height: 2;
        }

        a {
            transition-duration: .5s;
            text-decoration: underline transparent;

            &:hover {
                text-decoration: underline currentColor;
            }
        }

        .container {
            padding: 20px 2em;
        }

        .cols {
            justify-content: space-between;
        }

        .footer-logo {
            margin: 30px auto 0;

            a {
                display: block;
                margin: 0 auto;
                width: 200px;
            }

            img {
                width: 100%;
            }
        }

        .subcols {
            margin-bottom: 40px;
        }

        .footer-menu {
            margin-top: 0;

            .footer-menu-sub {
                padding-top: 0;
                list-style-type: square;
            }
        }

        .copyright p {
            text-align: center;
            margin-bottom: 0;
        }
    }

    main {
        .container {
            margin: 0 auto;
        }
    }

    #voice {
        h3 {
            color: #ffffff;
            background-color: #f05f76;
            padding: 10px 20px;
            margin-bottom: 0;
        }

        img {
            width: 250px;
            height: 188px;
            display: block;
        }

        .voice-box {
            border: 1px solid #F1959D;
            margin-top: 40px;
        }

        .left {
            margin-top: 20px;
        }

        .right {
            padding: 20px;
            margin-top: 0;

            p:last-of-type {
                margin-bottom: 0;
            }
        }
    }

    #flow {
        h3 {
            color: #f05f76;
        }

        .cols {
            border-top: 1px solid #F1959D;

            &:last-of-type {
                border-bottom: 1px solid #F1959D;
            }
        }

        .step-block {
            display: flex;
            align-items: center;
            justify-content: center;

            img {
                display: block;
                margin: 0;
            }
        }

        .step-circle {
            background-color: #F05F76;
            border-radius: 100px;
            padding: 10px 30px 6px;
            text-align: center;
            margin-right: 20px;
            color: rgba(255, 255, 255, 1.00);
            height: 92px;

            .-text {
                font-size: 12px;
            }

            .-num {
                font-size: 50px;
                line-height: 1;
            }
        }
    }

    #company-info {
        background-color: #FFF3F4;

        iframe {
            height: 300px;
        }

        table {
            margin: 0 auto;
        }

        tr {
            border: none;
        }

        th,
        td {
            padding: 10px;
        }

        th {
            vertical-align: top;
            text-align: left;
            width: 100px;
        }

        .cols {
            justify-content: space-between;
        }

        .left {
            table {
                width: fit-content;
            }
        }

        .right {
            background-color: #ffffff;
            padding: 20px 1em;
            align-self: start;

            p {
                text-align: center;
                margin-bottom: 20px;

                &:last-of-type {
                    margin-bottom: 0;
                }
            }

            .tel-title {
                font-size: clamp(16px, calc(12.8px + 0.8vw), 20px);
                color: #F05F76;
            }

            .tel-num {
                font-size: clamp(32px, calc(28.8px + 0.8vw), 36px);
                font-weight: bold;
                color: #00726D;
            }
        }
    }

    @container page-section (width >=1020px) {
        .container {
            padding: 40px 0;
        }
    }
}

/*index*/
.front-page {
    img {
        background-color: #cccccc;
    }

    #kv {
        background-color: #F1959D;
        padding: 0;

        img {
            display: block;
        }

        h2 {
            color: #ffffff;
            word-break: keep-all;
        }

        .container {
            padding: 20px 0;
        }
    }

    #greeting {
        img {
            width: 100%;
            max-width: 400px;
            display: block;
        }
    }

    #business {
        background-color: #FFF3F4;

        .col-biz {
            h3 {
                position: absolute;
                bottom: 0;
                color: #ffffff;
                background-color: #F1959D;
                margin: 0;
                padding: 5px .5em;
                z-index: 0;
                font-size: clamp(14px, calc(12.5px + 0.5vw), 18px);

                &::after {
                    display: block;
                    width: 100%;
                    height: 150%;
                    content: "";
                    position: absolute;
                    left: 27%;
                    bottom: -188%;
                    background-color: inherit;
                    transform: rotate(-45deg);
                    z-index: -1;
                }

                &.kaigo::after {
                    left: 23%;
                    bottom: -240%;
                }
            }
        }

        .img-box {
            position: relative;
            overflow: hidden;
            max-width: 400px;
            margin: 0 auto 20px;

            img {
                display: block;
                width: 100%;
                z-index: 0;
                position: relative;
            }
        }

        .button-flame {
            max-width: 250px;
        }
    }

    #topics {
        th {
            color: #F05F76;
            font-weight: bold;
            width: clamp(100px, calc(45.652173913043484px + 13.586956521739129vw), 150px);
        }

        .button-flame {
            max-width: 250px;
        }
    }

    #to-column {
        background-color: #FFFFD0;

        h2 {
            color: #F05F76;
            margin-bottom: 40px;
        }

        .button-flame {
            width: fit-content;
            margin-top: 40px;
        }
    }

    #company-link {
        a {
            display: block;
            width: fit-content;
            margin: auto;
        }
    }
}

.office {
    #about {
        table {
            margin-bottom: 0;
        }

        th {
            text-align: left;
            vertical-align: top;
            color: #F05F76;
            font-weight: bold;
        }
    }

    #profile {
        padding-top: 0;

        img {
            display: block;
            margin: auto;
            max-width: 200px;
        }

        p:last-of-type {
            margin-bottom: 0;
        }

        .container {
            padding-top: 0;
        }
    }
}

.company {
    section:not(#company-info, #after-support) {
        padding-bottom: 0;

        .container {
            padding-bottom: 0;
        }
    }

    #price {
        thead {
            background-color: #f05f76;
            color: #ffffff;
        }

        table {
            width: 100%;
            min-width: 830px;
            margin-bottom: 0;
        }

        tr,
        th,
        td {
            border: 1px solid #F1959D;
        }

        th,
        td {
            height: 60px;
            padding: 0;
            text-align: center;
            vertical-align: middle;
        }

        tbody {
            th {
                background-color: #f4bdc7;
                width: fit-content;
            }
        }

        .table-scroll {
            margin-bottom: 20px;
        }

        .yakusyo {
            color: #00726d;
        }
    }

    #after-support {
        h3 {
            text-align: center;
            color: #ffffff;
            background-color: #f05f76;
            padding: 10px 20px;
            margin-bottom: 0;
        }

        ul {
            display: flex;
            justify-content: space-evenly;
            list-style-type: "■";
            flex-wrap: wrap;
            padding: 20px;

            ::marker {
                color: #f05f76;
            }
        }

        .support-box {
            border: 1px solid #F1959D;
            margin-top: 40px;
            container-type: inline-size;

            @container (width < 700px) {
                ul {
                    display: block;
                    margin: auto;
                    width: fit-content;
                }

                li {
                    margin-bottom: 10px;
                }
            }
        }
    }
}

.care {
    section:not(#company-info, #voice, #service-price, #care-option) {
        padding-bottom: 0;

        .container {
            padding-bottom: 0;
        }
    }

    #service-price {
        background-color: #ffffd0;

        h3 {
            color: #f05f76;
            text-align: center;
        }

        img {
            display: block;
            margin: 0 auto;
        }
    }

    #care-option {
        ul {
            list-style-type: "■";

            ::marker {
                color: #f05f76;
            }
        }

        .option-box {
            border: 1px solid #F1959D;
            margin-top: 40px;
            container-type: inline-size;
            padding: 20px;
        }
    }
}

.loan {
    section:not(#company-info, #flow, #loan-fail, #loan-target, #loan-price) {
        padding-bottom: 0;

        .container {
            padding-bottom: 0;
        }
    }

    #loan-fail,
    #loan-price {
        background-color: #ffffd0;

        h3 {
            color: #f05f76;
            text-align: center;
        }

        img {
            display: block;
            margin: 0 auto;
        }
    }

    #loan-target {
        ul {
            display: flex;
            justify-content: space-evenly;
            list-style-type: "■";
            flex-wrap: wrap;
            padding-left: 0;

            ::marker {
                color: #f05f76;
            }
        }

        .target-box {
            border: 1px solid #F1959D;
            margin-top: 40px;
            padding: 20px;
            container-type: inline-size;

            @container (width < 700px) {
                ul {
                    display: block;
                    margin: auto;
                    width: fit-content;
                }

                li {
                    margin-bottom: 10px;
                }
            }
        }
    }
}

/*コラム*/
.column {
    section:not(#company-info, #column-company) {
        padding-bottom: 0;

        .container {
            padding-bottom: 0;
        }
    }

    h3 {
        color: #f05f76;
        text-align: center;
        word-break: keep-all;
    }

    a:hover {
        color: #f05f76;
    }

    .column-box {
        img {
            display: block;
            width: 100%;
            max-width: 400px;
            margin-bottom: 20px;
            border: 1px solid #cccccc;
        }

        p {
            margin-bottom: 0;
        }

        /*a {
            color: #f05f76;
        }*/
    }

    #column-text {
        padding-top: 0;

        h3 {
            font-size: clamp(16px, calc(12.8px + 0.8vw), 20px);
            margin: 40px 0 20px;
        }

        img {
            display: block;
            max-width: 400px;
            width: 100%;
            border: 1px solid #cccccc;
        }

        .cols {
            justify-content: space-between;

            .left {
                margin-top: 0;
            }
        }
    }

    #column-company {
        table {
            margin-bottom: 0;
        }

        th {
            text-align: left;
            vertical-align: top;
            color: #F05F76;
            font-weight: bold;
        }
    }
}

.info {
    section:not(#company-info, #info-about, #info-text, #info-menu, #info-list) {
        padding-bottom: 0;

        .container {
            padding-bottom: 0;
        }
    }

    h3 {
        color: #f05f76;
        text-align: center;
        word-break: keep-all;
    }

    time {
        color: #666666;
    }

    a:hover {
        color: #f05f76;
    }

    .topic-box {
        img {
            display: block;
            width: 100%;
            max-width: 400px;
            margin-bottom: 20px;
            border: 1px solid #cccccc;
            ;
        }

        p {
            margin-bottom: 0;
        }

        /*a {
            color: #f05f76;
        }*/
    }

    .wp-pagenavi {
        display: flex;
        width: fit-content;
        margin: 60px auto 0;
    }


    .calendar {
        padding-bottom: 60px;

        caption {
            font-size: clamp(14px, calc(12.5px + 0.5vw), 18px);
            margin-bottom: 20px;
            text-align: center;
        }

        thead {
            background-color: #f05f76;
            color: #ffffff;

            th {
                border: 1px solid #ffffff;
            }
        }

        tbody {
            background-color: #ffffff;

            td {
                border: 1px solid #f05f76;
            }
        }

        th,
        td {
            text-align: center;
        }

        a {
            color: #f05f76;
            font-weight: bold;
        }

        #today {
            font-weight: bold;
        }
    }

    #info-about {
        padding-bottom: 0;

        h3 {
            margin-bottom: 10px;
        }

        p {
            margin-bottom: 0;
            text-align: center;
        }

        .container {
            padding-bottom: 0;
        }
    }

    #info-list {
        padding-top: 0;

        .container {
            padding-top: 0;
        }
    }

    #info-text {
        padding-top: 0;

        h3 {
            font-size: clamp(16px, calc(12.8px + 0.8vw), 20px);
            margin: 40px 0 20px;
        }

        img {
            display: block;
            max-width: 400px;
            width: 100%;
            border: 1px solid #cccccc;
        }

        .cols {
            justify-content: space-between;

            .left {
                margin-top: 0;
            }
        }

        .post-nav {
            width: fit-content;
            padding: 0;
            margin: auto;
            margin-top: 40px;

            li {
                margin-top: 20px;

                &:first-of-type {
                    margin-top: 0;
                }
            }

            .to-infotop {
                text-align: center;
            }
        }
    }

    #info-menu {
        background-color: #ffffd0;
    }
}

/*プライバシーポリシー*/
.privacy {
    h3 {
        color: #f05f76;
        text-align: left;
        margin-top: 40px;
    }

    ol {
        list-style-type: decimal;
        padding-inline-start: 1.5em;
        margin-bottom: 20px;
    }

    ul {
        margin-bottom: 20px;
        padding-inline-start: 1.5em;
        list-style-type: disc;
    }

    a {
        color: #f05f76;
    }
}

/*Not Found*/
.not-found {
    a {
        color: #f05f76;
    }
}

.default-temp {
    .h2-en {
        text-transform: uppercase;
    }
}

@media (min-width: 600px) {
    .tb-none {
        display: none;
    }
}

@media (min-width: 900px) {
    @layer page-base {
        .container {
            padding: 40px 2em;
        }

        .cols {
            justify-content: space-around;
            align-items: stretch;

            .left,
            .right {
                width: 45%;
            }
        }

        .cols.reverse {
            flex-direction: row-reverse;
        }

        header {
            padding: 0;

            .container {
                overflow: visible;
                padding: 0 30px;
            }

            .header-main {
                align-items: end;
            }

            .header-actions {
                /*display: contents;*/

                .action-item {
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    margin-left: 20px;
                    top: 0;

                    img {
                        width: 160px;
                    }

                    p {
                        font-size: 16px;
                        margin: 0 auto;
                        padding: 10px 1em;
                        text-align: center;
                        color: #fff;
                        background-color: #F1959D;
                    }

                    span {
                        font-size: 26px;
                    }
                }
            }

            .header-logo {
                margin-right: auto;
                width: 350px;
                padding: 0;
            }

            .nav-wrapper {
                background-color: #F05F76;
            }

            .header-nav {
                display: block;
                position: static;
                width: 100%;
                padding: 20px 0;
                margin-top: 20px;
                opacity: 1;
                background-color: inherit;

                ul {
                    display: flex;
                    justify-content: center;

                    li {
                        /*flex: 1;*/
                        border-left: 1px solid #ffffff;
                        border-bottom: none;
                        text-align: center;
                        position: relative;

                        &:last-child {
                            border-right: 1px solid #ffffff;
                        }

                        a {
                            display: block;
                            padding: 0;
                            text-align: center;
                            text-decoration: none;
                            width: fit-content;
                            margin: 0 1em;
                            color: #ffffff;
                        }
                    }
                }
            }

            /* デスクトップではハンバーガーを隠す */
            .hamburger,
            #menu-button {
                display: none;
            }

            /* PC：ホバーで表示する設定 */
            .header-sub {
                &:hover .sub-menu {
                    display: block;
                }

                .sub-label::after {
                    display: none;
                    /* PCでは矢印不要なら隠す */
                }
            }

            #pagetop.is-hide & {
                padding: 20px 30px;
                top: -140px;
            }

            @container (width >=1020px) {
                .container {
                    padding: 0;
                }
            }
        }

        .sp-none {
            display: block;
        }

        .pc-none {
            display: none;
        }

        footer {

            .footer-logo,
            .subcols,
            .footer-menu {
                width: fit-content;
            }

            .footer-logo {
                margin-left: 0;
            }
        }

        #voice {
            .cols {
                margin: 20px;
                justify-content: start;
            }

            .left {
                width: fit-content;
                margin-right: 20px;
                margin-top: 0;

            }

            .right {
                width: calc(100% - 270px);
                padding: 0;
            }
        }

        #flow {
            .cols {
                justify-content: start;
            }

            .step-block {
                width: fit-content;
                margin: 20px;
            }

            .step-caption {
                width: calc(100% - 400px);
                margin: 20px;
            }
        }

        #company-info {
            table {
                margin: 0;
            }

            .left,
            .right {
                width: 49%;
            }
        }
    }

    .front-page {
        #greeting {
            .right {
                width: 35%;
            }

            .left {
                width: 60%;
            }
        }

        #topics {
            table {
                width: 80%;
            }
        }

        #business {
            p {
                min-height: 170px;
            }

            .col-biz {
                width: 30%;
            }
        }
    }

    .office {
        #profile {

            .right,
            .left {
                width: fit-content;
            }
        }
    }

    /*.company {}*/

    .column {
        .column-box {
            width: 45%;
        }

        #column-text {
            padding-top: 0;

            .cols {
                justify-content: space-between;

                .left {
                    width: 65%;
                }

                .right {
                    width: 30%;
                    margin-top: 0;
                }
            }
        }
    }

    .info {
        aside {
            display: flex;
            justify-content: space-between;
        }

        .topic-box {
            width: 45%;
        }

        .post-list,
        .calendar {
            width: 45%;
        }

        .calendar {
            padding-bottom: 0;
        }

        #info-about .cols {
            justify-content: space-around;
        }

        #info-text {
            padding-top: 0;

            .cols {
                justify-content: space-between;

                .left {
                    width: 65%;
                }

                .right {
                    width: 30%;
                    margin-top: 0;
                }
            }

            .post-nav {
                display: flex;
                gap: 20px;

                li {
                    margin-top: 0;
                }

                .to-infotop {
                    min-width: 120px;
                }
            }
        }
    }
}