@charset "UTF-8";
/* ---------------------------------------------
*   l-wrapper
--------------------------------------------- */
/* ===== Header (static) ===== */
.siteHeader {
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 5;
    padding: 0;
    transition: 0.3s ease;
    background: #fff;
    height: var(--fixed-header-height);
}
@media (max-width: 991px) {
    .siteHeader {
        height: calc(var(--fixed-header-height) - 27px);
    }
}
.siteHeader .siteHeader__flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 0 40px;
    height: 100%;
}
@media (max-width: 1199px) {
    .siteHeader .siteHeader__flex {
        padding: 0 0 0 16px;
    }
}
@media (max-width: 991px) {
    .siteHeader .siteHeader__flex {
        padding: 0 8px;
    }
}
.siteHeader .siteHeader__flex a {
    display: flex;
}
.siteHeader .siteHeader__logo {
    width: 236px;
    height: 61px;
}
@media (max-width: 1199px) {
    .siteHeader .siteHeader__logo {
        width: 161px;
        height: 47px;
    }
}
@media (max-width: 991px) {
    .siteHeader .siteHeader__logo {
        width: 161px;
        height: 47px;
    }
}

/* ===== Nav (static) ===== */
.siteNav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}
.siteNav > ul {
    height: 100%;
}
.siteNav ul {
    display: flex;
    align-items: center;
}
@media (max-width: 991px) {
    .siteNav ul {
        align-items: normal;
        display: none;
    }
}
.siteNav ul > li {
    list-style: none;
    transition: 0.3s;
    margin-left: 40px;
    /* CTA items */
}
@media (max-width: 1366px) {
    .siteNav ul > li {
        margin-left: 12px;
    }
}
@media (max-width: 1199px) {
    .siteNav ul > li {
        margin-left: 8px;
    }
}
@media (max-width: 991px) {
    .siteNav ul > li {
        padding-right: 0;
        padding-bottom: 0;
        margin-left: 0;
        width: 100%;
    }
}
.siteNav ul > li a {
    display: block;
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
    transition: 0.3s;
    color: var(--color-text);
    padding: 16px 0;
}
@media (max-width: 991px) {
    .siteNav ul > li a {
        color: #fff;
        font-size: 18px;
        padding: 20px 0;
    }
}
.siteNav ul > li a:hover {
    color: var(--color-link-hover);
}
@media (max-width: 991px) {
    .siteNav ul > li a:hover {
        color: #fff;
    }
}
.siteNav ul > li.isCtaGreen {
    background: var(--color-green);
    border: 1px solid var(--color-green);
    cursor: pointer;
    margin-left: 0;
    height: 100%;
}
@media (max-width: 1199px) {
    .siteNav ul > li.isCtaGreen {
        min-width: 130px;
    }
}
@media (max-width: 991px) {
    .siteNav ul > li.isCtaGreen {
        order: -1;
        width: calc((100% - 1px) / 2);
        margin-bottom: 25px;
        min-width: auto;
        height: auto;
    }
}
.siteNav ul > li.isCtaGreen a {
    color: #fff;
    display: block;
    padding: 32px 43px;
}
@media (max-width: 1199px) {
    .siteNav ul > li.isCtaGreen a {
        padding: 30px 16px;
        white-space: nowrap;
        text-align: center;
    }
}
@media (max-width: 991px) {
    .siteNav ul > li.isCtaGreen a {
        text-align: center;
        font-size: 17px;
        padding: 30px 16px;
    }
}
.siteNav ul > li.isCtaGreen:hover {
    background: #fff;
}
.siteNav ul > li.isCtaGreen:hover a {
    color: var(--color-green);
}
.siteNav ul > li.isCtaOrange {
    background: var(--color-orange);
    border: 1px solid var(--color-orange);
    cursor: pointer;
    height: 100%;
}
@media (max-width: 1199px) {
    .siteNav ul > li.isCtaOrange {
        min-width: 130px;
    }
}
@media (max-width: 991px) {
    .siteNav ul > li.isCtaOrange {
        order: -2;
        width: calc((100% - 1px) / 2);
        margin-bottom: 25px;
        min-width: auto;
        height: auto;
    }
}
.siteNav ul > li.isCtaOrange a {
    color: #fff;
    display: block;
    padding: 32px 57px;
}
@media (max-width: 1199px) {
    .siteNav ul > li.isCtaOrange a {
        padding: 30px 16px;
        white-space: nowrap;
        text-align: center;
    }
}
@media (max-width: 991px) {
    .siteNav ul > li.isCtaOrange a {
        text-align: center;
        font-size: 17px;
        padding: 30px 16px;
    }
}
.siteNav ul > li.isCtaOrange:hover {
    background: #fff;
}
@media (max-width: 991px) {
    .siteNav ul > li.isCtaOrange:hover {
        background: var(--color-orange);
    }
}
.siteNav ul > li.isCtaOrange:hover a {
    color: var(--color-orange);
}
@media (max-width: 991px) {
    .siteNav ul > li.isCtaOrange:hover a {
        color: #fff;
    }
}

/* モバイルで開いた時の nav */
.siteNav__list.open {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    align-content: flex-start;
    position: absolute;
    top: calc(var(--fixed-header-height) - 27px);
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(27, 94, 209, 0.9);
    padding: 12px 20px 120px;
    overflow-x: scroll;
    gap: 1px;
}

/* Submenu */
.siteNav .hasSubmenu {
    position: relative;
}
.siteNav .hasSubmenu .parentLink {
    display: flex;
    gap: 14px;
    align-items: center;
}
@media (max-width: 1366px) {
    .siteNav .hasSubmenu .parentLink {
        gap: 6px;
    }
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .parentLink {
        width: 100%;
        justify-content: space-between;
    }
}
.siteNav .hasSubmenu .parentLink .submenuToggle {
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    color: inherit;
}
.siteNav .hasSubmenu .parentLink svg {
    transition: all 0.3s ease-in-out;
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .parentLink svg {
        color: #fff;
        position: relative !important;
        right: -2px;
    }
}
.siteNav .hasSubmenu .parentLink:hover a {
    color: var(--color-link-hover);
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .parentLink:hover a {
        color: #fff;
    }
}
.siteNav .hasSubmenu .parentLink:hover svg {
    transform: rotate(180deg);
    color: var(--color-link-hover);
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .parentLink:hover svg {
        color: #fff;
        transform: none;
    }
}
.siteNav .hasSubmenu .parentLink .submenuToggle[aria-expanded=true] svg {
    transform: rotate(180deg);
}
.siteNav .hasSubmenu .submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: -50px;
    min-width: 389px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 33px 9px 0 rgba(69, 69, 69, 0.01), 0 21px 9px 0 rgba(69, 69, 69, 0.06), 0 12px 7px 0 rgba(69, 69, 69, 0.2), 0 5px 5px 0 rgba(69, 69, 69, 0.34), 0 1px 3px 0 rgba(69, 69, 69, 0.39);
    padding: 33px 0 26px;
    z-index: 50;
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .submenu {
        background-color: transparent;
        box-shadow: none;
        border-radius: 0;
        position: unset;
        padding: 0;
        min-width: auto;
        margin-bottom: 22px;
    }
}
.siteNav .hasSubmenu .submenu.open {
    display: block;
}
.siteNav .hasSubmenu .submenu > .submenuItem:first-child > ul > li {
    width: 100%;
}
.siteNav .hasSubmenu .submenuItem {
    padding: 0px 36px;
    white-space: nowrap;
    margin: 0;
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .submenuItem {
        padding: 0 6px;
        margin-top: 0;
        margin-bottom: 0;
        white-space: unset;
    }
}
.siteNav .hasSubmenu .submenuItem ul {
    flex-wrap: wrap;
    -moz-column-count: 2;
         column-count: 2;
    gap: 0 24px;
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .submenuItem ul {
        display: flex;
        gap: 0;
    }
}
.siteNav .hasSubmenu .submenuItem ul li {
    width: calc((100% - 24px) / 2);
    font-size: 15px;
    line-height: 1.7;
    margin-left: 0;
    padding: 0;
    margin-bottom: 9px;
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .submenuItem ul li {
        width: 100%;
        margin-bottom: 0;
    }
}
.siteNav .hasSubmenu .submenuItem ul li a {
    position: relative;
    padding: 0;
    display: flex;
    gap: 3px;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
    font-weight: 700;
    font-size: inherit;
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .submenuItem ul li a {
        padding: 7px 12px;
        gap: 10px;
    }
}
.siteNav .hasSubmenu .submenuItem ul li a svg {
    flex-shrink: 0;
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .submenuItem ul li a svg {
        display: none;
    }
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .submenuItem ul li a:hover {
        color: #ffea00;
    }
}
.siteNav .hasSubmenu .submenuItem div {
    position: relative;
    padding-left: 16px;
    font-size: 16px;
    line-height: 1.7;
    font-weight: 700;
    margin-bottom: 12px;
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .submenuItem div {
        color: #fff;
        font-size: 17px;
        margin: 8px 0 11px;
        padding-left: 16px;
    }
}
.siteNav .hasSubmenu .submenuItem div::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    position: absolute;
    left: 4px;
    top: 10px;
    background-color: #333;
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .submenuItem div::before {
        background-color: #fff;
        left: 6px;
        width: 4px;
        height: 4px;
        top: 13px;
    }
}
.siteNav .hasSubmenu .submenuItem div ~ ul {
    padding-left: 16px;
    margin-bottom: 18px;
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .submenuItem div ~ ul {
        padding-left: 14px;
        margin-bottom: 27px;
    }
}
.siteNav .hasSubmenu .submenuItem div ~ ul li a {
    padding: 4.5px 0;
    gap: 1px;
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .submenuItem div ~ ul li a {
        padding: 6px 0 7px 24px;
        gap: 6px;
    }
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .submenuItem div ~ ul li a::after {
        content: "";
        height: 2px;
        width: 13px;
        background-color: #fff;
        position: absolute;
        left: 5px;
        top: 0;
        bottom: 0;
        margin: auto;
    }
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .submenuItem div ~ ul li a:hover {
        color: #ffea00;
    }
    .siteNav .hasSubmenu .submenuItem div ~ ul li a:hover::after {
        background-color: #ffea00;
    }
}
.siteNav .hasSubmenu .submenuItem:last-child ul {
    margin-bottom: 0;
}
.siteNav .hasSubmenu .submenuItem.hasTitle div ~ ul li {
    padding: 0;
    margin-bottom: 0;
}
@media (hover: hover) and (pointer: fine) {
    .siteNav .hasSubmenu:hover .submenu {
        display: block;
    }
}
.siteNav .hasSubmenu.open .submenu {
    display: block;
    position: static;
    box-shadow: none;
    background: transparent;
    padding: 0;
}
.siteNav .hasSubmenu.open .submenuItem {
    padding: 12px 0;
}
.siteNav .hasSubmenu .submenuItem.noTitle {
    padding-top: 0;
}
.siteNav .hasSubmenu .submenu {
    min-width: 426px;
    padding: 33px 0 22px;
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .submenu {
        padding: 0;
    }
}
.siteNav .hasSubmenu .submenu .submenuItem.hasTitle {
    padding: 4px 36px;
}
@media (max-width: 991px) {
    .siteNav .hasSubmenu .submenu .submenuItem.hasTitle {
        padding: 0;
    }
}
.siteNav .hasSubmenu .submenu .submenuItem.hasTitle ul li {
    width: 100%;
}

/* SP用 */
.siteNav__mobileButton {
    display: none;
}

@media (max-width: 991px) {
    .siteNav__mobileButton {
        display: block;
    }
    .siteNav__list {
        display: none;
    }
}
.siteNav__mobileArea {
    display: none;
    text-align: center;
    margin: 0 auto;
    width: 100%;
}

@media (max-width: 991px) {
    .siteNav__mobileArea {
        display: block;
        margin-top: 10px;
    }
    .siteNav__mobileArea > p {
        font-size: 18px;
        font-weight: 700;
        color: #fff;
        text-align: center;
        line-height: 1.6;
        padding-bottom: 48px;
        border-bottom: 1px solid #b4bbd3;
        margin-bottom: 25px;
    }
    .siteNav__mobileArea > img {
        padding: 0 30px;
        height: auto;
        width: auto;
    }
    .siteNav__mobileArea .snsFlex {
        display: flex;
        justify-content: center;
        gap: 22px;
        padding: 30px 0 40px;
    }
    .siteNav__mobileArea .txtFlex {
        display: flex;
        justify-content: center;
        gap: 22px;
    }
    .siteNav__mobileArea .txtFlex p {
        color: #fff;
        font-size: 11px;
        font-weight: 700;
    }
    .siteNav__mobileArea .copy {
        margin-top: 8px;
    }
    .siteNav__mobileArea .copy small {
        color: #b4bbd3;
        font-size: 9px;
    }
}
.hamburgerMenu {
    position: relative;
}

.hamburgerButton {
    position: relative;
    z-index: 1001;
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: none;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}
@media (max-width: 991px) {
    .hamburgerButton {
        position: absolute;
        top: 20px;
        right: 8px;
        padding: 0;
    }
}
.hamburgerButton .hamburgerLine {
    width: 24px;
    height: 1px;
    background-color: #01478d;
    transition: all 0.3s ease;
}
.hamburgerButton.open .hamburgerLine:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.hamburgerButton.open .hamburgerLine:nth-child(2) {
    opacity: 0;
}
.hamburgerButton.open .hamburgerLine:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.siteNav__mobileButtonWrap {
    display: none;
}

@media (max-width: 991px) {
    .siteNav__mobileButtonWrap {
        display: block;
    }
    .siteNav__list {
        display: none;
    }
}
#header_parts .page-header {
    position: relative;
    overflow: hidden;
    min-height: 180px;
}
@media (max-width: 768px) {
    #header_parts .page-header {
        min-height: 111px;
    }
}
#header_parts .page-header .backgroundImage {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    z-index: -1;
}
#header_parts .page-header .container {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 80px 20px;
    box-sizing: content-box;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: baseline;
    gap: 32px;
}
@media (max-width: 768px) {
    #header_parts .page-header .container {
        padding: 20px 20px;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        justify-content: center;
        min-height: 70px;
    }
}
#header_parts .page-header .container h1 {
    font-size: 28px;
    font-weight: 700;
    color: var(--color-text-inverse);
}
@media (max-width: 768px) {
    #header_parts .page-header .container h1 {
        font-size: 20px;
    }
}
#header_parts .page-header .container .description {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.7;
    color: var(--color-text-inverse);
}
@media (max-width: 768px) {
    #header_parts .page-header .container .description {
        font-size: 13px;
    }
}

.breadcrumb {
    margin: 0 auto 80px;
    color: var(--color-text);
    font-size: 13px;
    background: #f7f8fa;
    padding: 13px 20px;
}
@media (max-width: 768px) {
    .breadcrumb {
        font-size: 10px;
        margin: 0 auto 48px;
    }
}
.breadcrumb a {
    color: var(--color-text);
}
.breadcrumb a:hover {
    color: var(--color-link-hover);
}
.breadcrumb ol {
    max-width: var(--standard-width);
    box-sizing: content-box;
    margin: 0 auto;
    display: flex;
    padding: 0;
    list-style: none;
    flex-wrap: wrap;
}
.breadcrumb li {
    position: relative;
}
.breadcrumb li:after {
    content: "/";
    margin: 0 16px;
    position: relative;
    top: -1px;
}
.breadcrumb li:last-child:after {
    content: none;
}

/* ---------------------------------------------
*   l-contents
--------------------------------------------- */
.l-contents {
    padding-top: calc(var(--fixed-header-height) * 1px);
}

.siteFooter {
    background: #fff;
    color: var(--color-text);
    padding: 80px 20px 0;
    /* SNS（元の .sns-link-* を modifier 化） */
    /* ChevronRight の代替（静的では文字/擬似要素でOK） */
}
@media (max-width: 991px) {
    .siteFooter {
        padding: 64px 20px 0;
    }
}
.siteFooter__container {
    margin: 0 auto;
    max-width: var(--standard-width);
    box-sizing: content-box;
    display: flex;
    flex-direction: column;
}
.siteFooter__heading {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    padding: 0;
    margin-bottom: 40px;
}
@media (max-width: 991px) {
    .siteFooter__heading {
        padding: 0;
        justify-content: center;
        flex-direction: column;
        gap: 40px;
        align-items: center;
    }
}
.siteFooter__logoSection {
    display: flex;
    flex-direction: column;
    gap: 25px 0;
    align-items: center;
}
@media (max-width: 991px) {
    .siteFooter__logoSection {
        width: 100%;
        justify-content: center;
    }
}
.siteFooter__logo {
    /* 元 styles.logo 相当：必要ならここでサイズ指定 */
    /* width/height があるなら追加 */
}
.siteFooter__sns {
    display: flex;
    gap: 32px;
    justify-content: center;
    margin-left: auto;
}
@media (max-width: 991px) {
    .siteFooter__sns {
        margin: 0;
    }
}
.siteFooter__snsLink {
    background-size: 100% auto;
    background-repeat: no-repeat;
    display: inline-block;
}
.siteFooter__snsLink--youtube {
    background-image: url("/wp-content/themes/dreambase/assets/images/sns-icon/footer-youtube.svg");
    width: 32px;
    height: 23px;
}
.siteFooter__snsLink--youtube:hover {
    background-image: url("/wp-content/themes/dreambase/assets/images/sns-icon/footer-youtube-hover.svg");
}
.siteFooter__snsLink--x {
    background-image: url("/wp-content/themes/dreambase/assets/images/sns-icon/footer-x.svg");
    width: 23px;
    height: 23px;
}
.siteFooter__snsLink--x:hover {
    background-image: url("/wp-content/themes/dreambase/assets/images/sns-icon/footer-x-hover.svg");
}
.siteFooter__snsLink--facebook {
    background-image: url("/wp-content/themes/dreambase/assets/images/sns-icon/footer-facebook.svg");
    width: 23px;
    height: 23px;
}
.siteFooter__snsLink--facebook:hover {
    background-image: url("/wp-content/themes/dreambase/assets/images/sns-icon/footer-facebook-hover.svg");
}
.siteFooter__snsLink--instagram {
    background-image: url("/wp-content/themes/dreambase/assets/images/sns-icon/footer-instagram.svg");
    width: 23px;
    height: 23px;
}
.siteFooter__snsLink--instagram:hover {
    background-image: url("/wp-content/themes/dreambase/assets/images/sns-icon/footer-instagram-hover.svg");
}
.siteFooter__snsLink--line {
    background-image: url("/wp-content/themes/dreambase/assets/images/sns-icon/footer-line.svg");
    width: 23px;
    height: 23px;
}
.siteFooter__snsLink--line:hover {
    background-image: url("/wp-content/themes/dreambase/assets/images/sns-icon/footer-line-hover.svg");
}
.siteFooter__nav {
    display: flex;
    gap: 120px;
    border-bottom: 1px solid #cfcfcf;
    padding: 0 0 42px;
    margin-bottom: 40px;
}
.siteFooter__nav a {
    font-size: 14px;
    color: var(--color-text);
    line-height: 1.6;
    transition: 0.3s;
    position: relative;
    width: 100%;
    margin-bottom: 15px;
    text-decoration: none;
}
.siteFooter__nav a:hover {
    color: var(--color-link);
}
@media (max-width: 414px) {
    .siteFooter__nav a {
        width: calc((100% - 24px) / 2);
        margin-bottom: 16px;
    }
}
@media (max-width: 991px) {
    .siteFooter__nav {
        gap: 50px;
        justify-content: center;
    }
}
@media (max-width: 768px) {
    .siteFooter__nav {
        flex-wrap: wrap;
        justify-content: flex-start;
    }
}
@media (max-width: 414px) {
    .siteFooter__nav {
        gap: 38px;
        padding-bottom: 25px;
    }
}
.siteFooter__link {
    display: inline-block;
    position: relative;
    padding-left: 13px;
    line-height: 1.6;
}
.siteFooter svg {
    position: absolute;
    left: -3px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    pointer-events: none;
}
.siteFooter__navColumn {
    display: block;
}
@media (max-width: 991px) {
    .siteFooter__navColumn {
        max-width: calc((100% - 50px) / 2);
    }
}
@media (max-width: 414px) {
    .siteFooter__navColumn {
        max-width: 100%;
        width: 100%;
    }
}
@media (max-width: 414px) {
    .siteFooter__navColumn nav {
        gap: 0 24px;
        display: flex;
        flex-wrap: wrap;
    }
}
.siteFooter__navColumn:nth-of-type(1) {
    max-width: 34%;
    /* 元SCSSの .nav (入れ子) をここで再現 */
}
@media (max-width: 991px) {
    .siteFooter__navColumn:nth-of-type(1) {
        max-width: 50%;
    }
}
@media (max-width: 768px) {
    .siteFooter__navColumn:nth-of-type(1) {
        max-width: 100%;
    }
}
.siteFooter__navColumn:nth-of-type(1) nav {
    gap: 0 24px;
    display: flex;
    flex-wrap: wrap;
}
.siteFooter__navColumn:nth-of-type(1) a {
    width: calc((100% - 24px) / 2);
}
.siteFooter__navColumn:nth-of-type(2) {
    max-width: 14%;
    padding-left: 3px;
}
@media (max-width: 991px) {
    .siteFooter__navColumn:nth-of-type(2) {
        max-width: calc((100% - 50px) / 2);
        padding-left: 0;
    }
}
@media (max-width: 414px) {
    .siteFooter__navColumn:nth-of-type(2) {
        max-width: 100%;
    }
}
.siteFooter__navTitle {
    color: var(--color-text);
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 40px;
}
@media (max-width: 414px) {
    .siteFooter__navTitle {
        margin-bottom: 31px;
    }
}
.siteFooter__address {
    font-size: 12px;
    line-height: 1.7;
}
@media (max-width: 991px) {
    .siteFooter__address {
        text-align: center;
    }
}
.siteFooter__bottom {
    background: #a0b1c1;
    margin: 0 -20px;
    padding: 10px 20px;
}
.siteFooter__copyright {
    font-size: 11px;
    color: #fff;
    font-weight: 400;
    max-width: var(--standard-width);
    margin: 0 auto;
    text-align: right;
}
@media (max-width: 991px) {
    .siteFooter__copyright {
        text-align: center;
        font-size: 9px;
    }
}

.fixedBanner.customBanner {
    padding: 0;
}
.fixedBanner.customBanner .mainText {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.7;
}
.fixedBanner.customBanner .subText {
    font-weight: 400;
    line-height: 1.4;
    font-size: 12px;
}
.fixedBanner.customBanner .buttonItem {
    position: relative;
    align-items: center;
    gap: 0px 16px;
}
.fixedBanner.customBanner .buttonItem a {
    font-size: 16px;
    font-weight: 700;
    padding: 22px 40px 22px 32px;
    border-radius: 8px;
    line-height: 1;
}
.fixedBanner.customBanner .buttonItem a::before {
    content: "";
    width: 7px;
    height: 12px;
    --svg: url('data:image/svg+xml,          <svg xmlns="http://www.w3.org/2000/svg" width="7" height="12" viewBox="0 0 7 12" fill="none">          <path fill-rule="evenodd" clip-rule="evenodd" d="M6.72168 6.66656L1.34415 12L0 10.6669L4.70546 6L0 1.33312L1.34415 0L6.72168 5.33344C6.89989 5.51024 7 5.75 7 6C7 6.25 6.89989 6.48976 6.72168 6.66656Z" fill="white"/>        </svg>');
    background-image: var(--svg);
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: contain;
    display: inline-block;
    margin-right: 24px;
}

.pcBanner .fixedBanner.customBanner {
    padding: 0;
}
.pcBanner .fixedBanner.customBanner .closeButton {
    top: 0;
    left: 2%;
    color: #fff;
    width: 26px;
    height: 36px;
    font-size: 30px;
}
.pcBanner .fixedBanner.customBanner .mainBox {
    padding: 0;
}
.pcBanner .fixedBanner.customBanner .row {
    gap: 16px;
}
.pcBanner .fixedBanner.customBanner .texts {
    margin-right: 0px;
    padding: 8px 0 8px 40px;
    text-align: left;
}

.spBanner .fixedBanner {
    padding: 0;
    margin: 0;
}
.spBanner .fixedBanner.customBanner {
    padding: 0;
}
.spBanner .fixedBanner.customBanner .row {
    width: 100%;
    align-items: center;
    flex-direction: column;
}
.spBanner .fixedBanner.customBanner .texts {
    width: 100%;
    padding-top: 4px;
    padding-bottom: 0;
}
.spBanner .fixedBanner.customBanner .texts .textItem {
    font-size: 13px;
    line-height: 1;
}
.spBanner .fixedBanner.customBanner .mainBox {
    padding: 0;
    width: 100%;
}
.spBanner .fixedBanner.customBanner .buttonItem {
    gap: 0;
    padding: 0;
    border-radius: 0;
    width: 100%;
}
.spBanner .fixedBanner.customBanner .buttonItem a {
    font-size: 13px;
    line-height: 1;
    padding: 15px 16px;
    border-radius: 0;
    flex: 1;
    width: auto;
}
.spBanner .fixedBanner.customBanner .buttonItem a::before {
    margin-right: 8px;
    width: 5px;
    height: 8px;
}
.spBanner .fixedBanner.customBanner .mainText {
    color: #fff;
    font-size: 13px;
    padding-top: 6px;
    padding-bottom: 5px;
    line-height: 1.1;
}
.spBanner .fixedBanner.customBanner .subText {
    line-height: 1.1;
    font-size: 9px;
}
.spBanner .fixedBanner .closeButton {
    font-size: 28px;
    top: 0;
    left: 11px;
    color: #fff;
    width: 26px;
    height: 36px;
}

/* ---------------------------------------------
*   c-block
--------------------------------------------- */
/* ボタン本体は a.btn に当てる（div.buttonに当てない） */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 68px;
    padding: 20px 16px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
}

.btn--blue {
    background: #fff;
    border: 2px solid var(--color-link);
    color: var(--color-link);
}
.btn--blue:hover {
    background: var(--color-link);
    color: var(--color-text-inverse);
}

/* ---------------------------------------------
*   c-card
--------------------------------------------- */
.c-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s, box-shadow 0.3s;
}
.c-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}
.c-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}
.c-card__thumbnail {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    overflow: hidden;
    background-color: #f0f0f0;
}
.c-card__thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: transform 0.5s;
}
.c-card:hover .c-card__thumbnail img {
    transform: scale(1.05);
}
.c-card__info {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.c-card__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    font-size: 13px;
}
.c-card__category {
    background: #f0f0f0;
    padding: 4px 10px;
    border-radius: 4px;
    color: #555;
    font-weight: 500;
}
.c-card__date {
    color: #999;
}
.c-card__title {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.c-card__tags {
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.c-card__tags span {
    font-size: 13px;
    color: #2BBC98;
}

/* ---------------------------------------------
*   c-cassette
--------------------------------------------- */
/* ---------------------------------------------
*   c-figure
--------------------------------------------- */
/* ---------------------------------------------
*   c-form
--------------------------------------------- */
/* ---------------------------------------------
*   c-img
--------------------------------------------- */
/* ---------------------------------------------
*   c-kv
--------------------------------------------- */
/* ---------------------------------------------
*   c-link
--------------------------------------------- */
/* ---------------------------------------------
*   c-list
--------------------------------------------- */
/* ---------------------------------------------
*   c-section
--------------------------------------------- */
/* ---------------------------------------------
*   c-slider
--------------------------------------------- */
/* ---------------------------------------------
*   c-table
--------------------------------------------- */
/* ---------------------------------------------
*   c-tile
--------------------------------------------- */
/* ---------------------------------------------
*   c-ttl
--------------------------------------------- */
/* ---------------------------------------------
*   c-txt
--------------------------------------------- */
/* =========================================================
   TOP PARTS 1 SCOPE
========================================================= */
#top_parts1 {
    /* ---------------------------------------------
    *   HighImpact
    --------------------------------------------- */
    /* ---------------------------------------------
    *   MediumImpact
    *   ※ HighImpactと同名クラスが多いので必ず親で囲う
    --------------------------------------------- */
    /* ---------------------------------------------
    *   LowImpact
    *   もともと .lowImpact が親なので、それを更に top_parts1 で囲って安全に
    --------------------------------------------- */
    /* ---------------------------------------------
    *   PostHero
    *   ※ ここも親クラスを足して囲うのが安全（例：.postHero）
    --------------------------------------------- */
}
#top_parts1 .highImpactHero {
    /* Next.jsのMediaラッパ（div）を許容 */
    /* 表示切替ユーティリティ */
    /* HighImpactのボタン（競合しやすいのでスコープ強め） */
    /* オレンジ（default） */
    /* グリーン（outline） */
}
#top_parts1 .highImpactHero .container {
    position: relative;
    overflow: hidden;
}
#top_parts1 .highImpactHero .bgWrap {
    position: absolute;
    inset: 0;
    z-index: -1;
}
#top_parts1 .highImpactHero .bgSP {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    z-index: -1;
    display: none;
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .bgSP {
        display: block;
    }
}
#top_parts1 .highImpactHero .bgPc {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    z-index: -1;
    display: block;
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .bgPc {
        display: none;
    }
}
#top_parts1 .highImpactHero .rightImage {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 0;
    height: 478px;
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .rightImage {
        display: none;
    }
}
#top_parts1 .highImpactHero .inner {
    margin: 0 auto;
    max-width: var(--standard-width);
    padding: 88px 20px 0;
    box-sizing: content-box;
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .inner {
        padding: 40px 20px 20px;
    }
}
#top_parts1 .highImpactHero .inner h1 {
    font-size: 40px;
    font-weight: 700;
    color: #01478d;
    position: relative;
    line-height: 1.7;
    margin-bottom: 24px;
    z-index: 1;
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .inner h1 {
        font-size: 25px;
    }
}
#top_parts1 .highImpactHero .inner p {
    line-height: 1.8;
    position: relative;
    z-index: 1;
    margin-bottom: 20px;
}
#top_parts1 .highImpactHero .inner .note {
    font-size: 15px;
}
#top_parts1 .highImpactHero .itemsPC {
    display: flex;
    gap: 16px;
    position: relative;
    z-index: 1;
}
#top_parts1 .highImpactHero .itemsPC img {
    box-shadow: 0 81px 23px 0 rgba(19, 60, 114, 0), 0 52px 21px 0 rgba(19, 60, 114, 0.01), 0 29px 17px 0 rgba(19, 60, 114, 0.04), 0 13px 13px 0 rgba(19, 60, 114, 0.07), 0 3px 7px 0 rgba(19, 60, 114, 0.08);
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .itemsPC {
        display: none;
    }
}
#top_parts1 .highImpactHero .itemsSP {
    display: none;
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .itemsSP {
        display: flex;
        gap: 4px;
    }
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .desktopOnly {
        display: none;
    }
}
#top_parts1 .highImpactHero .mobileOnly {
    display: none;
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .mobileOnly {
        display: block;
    }
}
#top_parts1 .highImpactHero .fvBtn {
    background: #1b5ed1;
    color: var(--color-text-inverse);
    display: flex;
    gap: 28px;
    justify-content: center;
    align-items: center;
    padding: 40px 20px;
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .fvBtn {
        flex-direction: column;
        gap: 24px;
    }
}
#top_parts1 .highImpactHero .fvBtn p {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.8;
    margin: 0;
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .fvBtn p {
        text-align: center;
        font-size: 14px;
        line-height: 1.6;
    }
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .fvBtn p br.pc {
        display: none;
    }
}
#top_parts1 .highImpactHero .fvBtn p br.sp {
    display: none;
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .fvBtn p br.sp {
        display: block;
    }
}
#top_parts1 .highImpactHero .fv-btn {
    text-align: center;
    display: flex;
    gap: 16px;
    padding: 0 20px;
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .fv-btn {
        width: 100%;
    }
}
@media (max-width: 768px) {
    #top_parts1 .highImpactHero .fv-btn {
        flex-direction: column;
        gap: 12px;
        padding: 0;
    }
}
#top_parts1 .highImpactHero .fv-btn > li {
    width: 300px;
    border-radius: 4px;
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .fv-btn > li {
        width: 100%;
    }
}
#top_parts1 .highImpactHero .fv-btn > li > a {
    font-size: 17px;
    font-weight: 700;
    padding: 24px 16px;
    border-radius: 4px;
    transition: 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row-reverse;
    gap: 24px;
    text-decoration: none;
}
@media (max-width: 991px) {
    #top_parts1 .highImpactHero .fv-btn > li > a {
        font-size: 15px;
        padding: 20px 12px 20px 60px;
        gap: 16px;
        justify-content: flex-end;
    }
}
#top_parts1 .highImpactHero .linkItem {
    background: var(--color-orange);
    border: 1px solid var(--color-orange);
}
#top_parts1 .highImpactHero .linkItem > a {
    color: #fff;
    border: 1px solid var(--color-orange);
}
#top_parts1 .highImpactHero .linkItem > a:hover {
    background: #fff;
    color: var(--color-orange);
}
#top_parts1 .highImpactHero .btn-outline {
    background: var(--color-green);
    border: 1px solid var(--color-green);
}
#top_parts1 .highImpactHero .btn-outline > a {
    color: #fff;
    border: 1px solid var(--color-green);
}
#top_parts1 .highImpactHero .btn-outline > a:hover {
    background: #fff;
    color: var(--color-green);
}
#top_parts1 .mediumImpactHero .container {
    background: rgba(51, 51, 51, 0.1);
    position: relative;
    overflow: hidden;
}
#top_parts1 .mediumImpactHero .bgSP {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    z-index: -1;
    display: none;
}
@media (max-width: 768px) {
    #top_parts1 .mediumImpactHero .bgSP {
        display: block;
    }
}
#top_parts1 .mediumImpactHero .bgPc {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    z-index: -1;
    display: block;
}
@media (max-width: 768px) {
    #top_parts1 .mediumImpactHero .bgPc {
        display: none;
    }
}
#top_parts1 .mediumImpactHero .inner {
    margin: 0 auto;
    max-width: var(--standard-width);
    padding: 80px 16px;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #top_parts1 .mediumImpactHero .inner {
        padding: 48px 16px;
    }
}
#top_parts1 .mediumImpactHero .inner h1 {
    font-size: 28px;
    font-weight: 600;
    font-feature-settings: "palt";
    position: relative;
    line-height: 1.3;
    letter-spacing: 4.8px;
    margin-bottom: 16px;
    z-index: 1;
}
@media (max-width: 768px) {
    #top_parts1 .mediumImpactHero .inner h1 {
        font-size: 20px;
        letter-spacing: 2.4px;
    }
}
#top_parts1 .mediumImpactHero .inner p {
    font-size: 12px;
    margin-bottom: 0;
}
#top_parts1 .mediumImpactHero .fv-btn {
    text-align: center;
}
#top_parts1 .mediumImpactHero .fv-btn > li {
    max-width: 320px;
    margin: 0 auto 16px;
    border-radius: 30px;
}
#top_parts1 .mediumImpactHero .fv-btn > li > a {
    display: block;
    padding: 16px;
    border-radius: 30px;
    border: 1px solid #000;
    transition: 0.3s;
    text-decoration: none;
}
#top_parts1 .mediumImpactHero .linkItem {
    background: #000;
}
#top_parts1 .mediumImpactHero .linkItem > a {
    color: #fff;
}
#top_parts1 .mediumImpactHero .linkItem > a:hover {
    background: #fff;
    color: #000;
}
#top_parts1 .mediumImpactHero .btn-outline {
    background: #fff;
}
#top_parts1 .mediumImpactHero .btn-outline > a {
    color: #000;
}
#top_parts1 .mediumImpactHero .btn-outline > a:hover {
    background: #000;
    color: #fff;
}
#top_parts1 .lowImpact {
    position: relative;
    overflow: hidden;
    min-height: 180px;
}
@media (max-width: 768px) {
    #top_parts1 .lowImpact {
        min-height: 111px;
        display: flex;
        align-items: center;
    }
}
#top_parts1 .lowImpact .backgroundImage {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    z-index: -1;
}
#top_parts1 .lowImpact .container {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 80px 20px;
    box-sizing: content-box;
    position: relative;
    z-index: 1;
}
@media (max-width: 768px) {
    #top_parts1 .lowImpact .container {
        padding: 0 20px;
        margin: 0;
    }
}
#top_parts1 .lowImpact .container h1 {
    font-size: 28px;
    font-weight: 700;
    color: var(--color-text-inverse);
}
@media (max-width: 768px) {
    #top_parts1 .lowImpact .container h1 {
        font-size: 20px;
    }
}
#top_parts1 .lowImpact .container h2,
#top_parts1 .lowImpact .container p {
    color: var(--color-text-inverse);
}
#top_parts1 .postHero .post-header {
    margin: 0 0 16px;
}
@media (max-width: 768px) {
    #top_parts1 .postHero .post-header {
        margin: 0 0 19px;
    }
}
#top_parts1 .postHero .post-header .heroflex {
    display: flex;
    align-items: flex-end;
    margin-bottom: 20px;
    gap: 16px;
}
@media (max-width: 768px) {
    #top_parts1 .postHero .post-header .heroflex {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 21px;
        gap: 12px;
    }
}
#top_parts1 .postHero .h1 {
    font-size: 33px;
    font-weight: 700;
    line-height: 1.6;
    color: #01478d;
    margin: -15px 0 9px;
}
@media (max-width: 768px) {
    #top_parts1 .postHero .h1 {
        font-size: 22px;
        line-height: 1.5;
        margin: 0 0 25px;
    }
}
#top_parts1 .postHero .thumbnail {
    border-radius: 8px;
    overflow: hidden;
}
@media (max-width: 991px) {
    #top_parts1 .postHero .thumbnail {
        margin: 0 -20px;
        border-radius: 8px;
    }
}
#top_parts1 .postHero .thumbnail img {
    position: relative !important;
}
@media (max-width: 991px) {
    #top_parts1 .postHero .thumbnail img {
        width: calc(100% + 40px) !important;
        max-width: calc(100% + 40px);
    }
}
#top_parts1 .postHero .entry-meta {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 4px;
    /* 静的CSSでは :global は使えないので、対象クラスをそのまま書く */
}
@media (max-width: 768px) {
    #top_parts1 .postHero .entry-meta .text-sm {
        display: none;
    }
}
#top_parts1 .postHero .date {
    margin-right: auto;
    font-size: 13px;
    color: var(--color-gray);
    white-space: nowrap;
}
#top_parts1 .postHero .date li {
    display: flex;
}
#top_parts1 .postHero .category {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}
#top_parts1 .postHero .category span {
    font-size: 13px;
    white-space: nowrap;
    padding-bottom: 0;
}
#top_parts1 .postHero .category span a {
    color: #fff;
    border-radius: 4px;
    padding: 4px 8px;
    background: var(--color-main);
    display: block;
}

#toc_parts {
    /* チェックされたら「表示」に変える */
}
#toc_parts .toc {
    border: 1px solid #cbcace;
    background-color: var(--color-bg-sub);
    margin-bottom: 80px;
}
@media (max-width: 768px) {
    #toc_parts .toc {
        margin-bottom: 40px;
    }
}
#toc_parts .toc-checkbox {
    display: none;
}
#toc_parts .toc-title {
    font-size: 20px;
}
#toc_parts .toc-toggle {
    padding: 0 0 0 2px;
    font-size: 16px;
}
#toc_parts .toc-toggle label {
    cursor: pointer;
    position: relative;
}
#toc_parts .toc-toggle .toc-label::after {
    content: "非表示";
}
#toc_parts .toc-checkbox:checked ~ .toc-title .toc-label::after {
    content: "表示";
}
#toc_parts .toc-content {
    height: auto;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}
#toc_parts .toc-checkbox:checked ~ .toc-content {
    max-height: 0;
    opacity: 0;
    visibility: hidden;
}

nav[class*=toc] {
    border: 1px solid #cfcfcf;
    background-color: var(--color-background);
    margin: 32px 40px 80px;
    border-radius: 8px;
    overflow: hidden;
}
@media (max-width: 991px) {
    nav[class*=toc] {
        margin: 32px 0 80px;
    }
}
nav[class*=toc] div[class*=toc-title] {
    background-color: #fffcf6;
    color: var(--color-text);
    padding: 19px 27px;
    font-weight: 700;
}
@media (max-width: 768px) {
    nav[class*=toc] div[class*=toc-title] {
        padding: 20px 24px;
    }
}
nav[class*=toc] span[class*=toc-toggle] {
    padding: 0 0 0 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--color-link);
}
nav[class*=toc] span[class*=toc-toggle] label:hover {
    cursor: pointer;
    text-decoration: underline;
}
nav[class*=toc] ul[class*=tocList] {
    padding: 24px 40px 32px 20px;
    list-style: none;
    margin: 0;
}
@media (max-width: 768px) {
    nav[class*=toc] ul[class*=tocList] {
        padding: 20px 20px 20px 0px;
    }
}
nav[class*=toc] ul[class*=tocList] li {
    margin: 0 0 11px;
    font-size: 16px;
}
@media (max-width: 768px) {
    nav[class*=toc] ul[class*=tocList] li {
        font-size: 15px;
    }
}
nav[class*=toc] ul[class*=tocList] li:hover a {
    color: var(--color-link-hover);
}
nav[class*=toc] a[class*=tocLink] {
    display: block;
    padding-left: 2rem;
    text-indent: -1.5rem;
    line-height: 1.6;
}

#site-footer-cta .site-footer-cta {
    background: var(--color-base);
    padding: 80px 20px;
    position: relative;
    overflow: hidden;
}
#site-footer-cta .site-footer-cta .header {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 40px;
}
#site-footer-cta .site-footer-cta .header h2 {
    font-size: inherit;
    font-weight: inherit;
    margin: 0;
}
@media (max-width: 991px) {
    #site-footer-cta .site-footer-cta .header {
        text-align: center;
    }
}
#site-footer-cta .site-footer-cta .header br {
    display: none;
}
@media (max-width: 768px) {
    #site-footer-cta .site-footer-cta .header br {
        display: block;
    }
}
#site-footer-cta .site-footer-cta .inner {
    max-width: var(--standard-width);
    box-sizing: content-box;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    color: #fff;
    display: flex;
    gap: 64px;
    justify-content: center;
    align-items: center;
}
@media (max-width: 991px) {
    #site-footer-cta .site-footer-cta .inner {
        flex-direction: column;
        gap: 40px;
    }
}
#site-footer-cta .site-footer-cta .inner.is-form {
    display: flex;
    gap: 80px;
    justify-content: center;
}
@media (max-width: 991px) {
    #site-footer-cta .site-footer-cta .inner.is-form {
        flex-direction: column;
        gap: 40px;
    }
}
#site-footer-cta .site-footer-cta .inner.is-form h2 {
    margin: 0 auto 24px;
    font-weight: 700;
}
#site-footer-cta .site-footer-cta .inner.is-form .left {
    color: var(--color-text-inverse);
}
#site-footer-cta .site-footer-cta .bg {
    position: absolute;
    inset: 0;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    z-index: 0;
    width: 100%;
    height: 100%;
}
#site-footer-cta .site-footer-cta .bg.pc {
    display: block;
}
@media (max-width: 991px) {
    #site-footer-cta .site-footer-cta .bg.pc {
        display: none;
    }
}
#site-footer-cta .site-footer-cta .bg.sp {
    display: none;
}
@media (max-width: 991px) {
    #site-footer-cta .site-footer-cta .bg.sp {
        display: block;
    }
}
#site-footer-cta .site-footer-cta-thumbnail {
    text-align: center;
    margin: 0 auto 40px;
}
#site-footer-cta .site-footer-cta-thumbnail img {
    max-width: 100%;
    height: auto;
}
#site-footer-cta .site-footer-cta-description {
    padding: 0;
    line-height: 1.7;
}
@media (max-width: 991px) {
    #site-footer-cta .site-footer-cta-description p {
        text-align: center;
    }
}
@media (max-width: 768px) {
    #site-footer-cta .site-footer-cta-description p {
        font-size: 14px;
    }
}
#site-footer-cta .site-footer-cta-btn {
    text-align: center;
    font-weight: 700;
}
#site-footer-cta .site-footer-cta-btn a {
    color: #fff;
    padding: 24px 40px;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 80px;
    flex-direction: row-reverse;
    border-radius: 4px;
}
@media (max-width: 768px) {
    #site-footer-cta .site-footer-cta-btn a {
        padding: 24px 16px;
        gap: 24px;
    }
}
#site-footer-cta .site-footer-cta-btn.default a {
    background: var(--color-orange);
    border: 1px solid var(--color-orange);
    transition: background 0.3s, color 0.3s;
}
#site-footer-cta .site-footer-cta-btn.default a:hover {
    background: #fff;
    color: var(--color-orange);
}
#site-footer-cta .site-footer-cta-btn.outline a {
    background: var(--color-green);
    border: 1px solid var(--color-green);
    transition: background 0.3s, color 0.3s;
}
#site-footer-cta .site-footer-cta-btn.outline a:hover {
    background: #fff;
    color: var(--color-green);
}
#site-footer-cta .phone-text {
    color: var(--color-text-inverse);
    border-radius: 20px;
    background: rgba(18, 45, 79, 0.75);
    padding: 48px 64px;
    text-align: center;
}
@media (max-width: 768px) {
    #site-footer-cta .phone-text {
        padding: 40px 24px;
    }
}
#site-footer-cta .phone-text h3 {
    margin: 0 auto 16px;
    font-weight: 600;
    font-size: 48px;
    font-family: "Roboto", sans-serif;
}
@media (max-width: 768px) {
    #site-footer-cta .phone-text h3 {
        font-size: 32px;
    }
}
#site-footer-cta .phone-text p:first-child {
    font-size: 18px;
    padding-bottom: 24px;
}
@media (max-width: 768px) {
    #site-footer-cta .phone-text p:first-child {
        font-size: 15px;
        padding-bottom: 16px;
    }
}
#site-footer-cta .phone-text p:last-child {
    font-size: 12px;
    padding-bottom: 0;
}
#site-footer-cta .site-footer-cta-form {
    background: #fff;
    border-radius: 20px;
    padding: 40px 48px;
    position: relative;
    z-index: auto;
    overflow: visible;
}
#site-footer-cta .site-footer-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: center;
    width: 400px;
    max-width: 100%;
}
@media (max-width: 991px) {
    #site-footer-cta .site-footer-cta-buttons {
        margin: 0 auto;
        width: 335px;
    }
}
@media screen and (max-width: 374px) {
    #site-footer-cta .site-footer-cta-buttons {
        width: 100%;
    }
}

.lineContact {
    align-items: center;
    text-align: center;
    border-radius: 8px;
    border: 1px solid #ededed;
    background: var(--common-orange-color02, #fffcf6);
    max-width: 800px;
    margin: 0 auto 48px;
    overflow: hidden;
    /* top/service-shadow */
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
}
@media (max-width: 768px) {
    .lineContact {
        margin: 0px auto 40px;
        max-width: 335px;
    }
}
.lineContact .header {
    background: #4caf73;
    color: #fff;
    text-align: center;
    padding: 21px 16px;
    height: 82px;
}
@media (max-width: 768px) {
    .lineContact .header {
        padding: 18px 10px;
        height: 67px;
    }
}
.lineContact .header h2 {
    margin: 0;
    color: var(--common-white-color, #fff);
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.7;
}
@media (max-width: 768px) {
    .lineContact .header h2 {
        font-size: 18px;
    }
}
.lineContact .body {
    padding: 27px 24px;
    text-align: center;
}
@media (max-width: 768px) {
    .lineContact .body {
        padding: 26px 14px 42px;
    }
}
.lineContact .description {
    color: var(--common-txt-color, #333);
    font-size: 16px;
    line-height: 1.6;
    margin: 0 auto 25px;
    max-width: 406px;
    font-style: normal;
    font-weight: 400;
    display: block;
}
@media (max-width: 768px) {
    .lineContact .description {
        display: none;
    }
}
.lineContact .descriptionSP {
    display: none;
}
@media (max-width: 768px) {
    .lineContact .descriptionSP {
        display: block;
        color: var(--common-txt-color, #333);
        font-size: 15px;
        margin-bottom: 0px;
        line-height: 1.6;
    }
}
.lineContact .banner {
    margin: 25px auto 10px;
    max-width: 420px;
}
@media (max-width: 768px) {
    .lineContact .banner {
        margin: 15px auto 14px;
    }
}
.lineContact .banner img {
    width: 100%;
    height: auto;
    display: block;
}
.lineContact .note {
    color: var(--common-txt-color, #333);
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 14px;
    font-weight: 400;
}
@media (max-width: 768px) {
    .lineContact .note {
        line-height: 1.5;
        margin-bottom: 0;
        font-size: 14px;
    }
}
.lineContact .icon {
    position: absolute;
    right: 32px;
    bottom: 24px;
}
.lineContact .icon img {
    border-radius: 50%;
    -o-object-fit: cover;
       object-fit: cover;
}

/* =========================
   top_parts1
========================= */
/* =========================
   top_parts2（caseだけ）
========================= */
#top_parts2 .case {
    background: var(--color-base);
    padding: 120px 0;
    /* ここは「ラッパーdiv」 */
}
@media (max-width: 768px) {
    #top_parts2 .case {
        padding: 80px 0;
    }
}
#top_parts2 .case .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    box-sizing: content-box;
    padding: 0 20px;
}
#top_parts2 .case .button {
    max-width: 360px;
    width: 100%;
    margin: 0 auto;
}
#top_parts2 .caseList {
    display: flex;
    gap: 24px;
    margin-bottom: 64px;
}
@media (max-width: 768px) {
    #top_parts2 .caseList {
        flex-direction: column;
        gap: 24px;
        margin-bottom: 40px;
    }
}
#top_parts2 .caseItem {
    flex: 1 1;
    max-width: calc((100% - 48px) / 3);
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 157px 44px 0 rgba(145, 161, 182, 0), 0 101px 40px 0 rgba(145, 161, 182, 0.01), 0 57px 34px 0 rgba(145, 161, 182, 0.02), 0 25px 25px 0 rgba(145, 161, 182, 0.04), 0 6px 14px 0 rgba(145, 161, 182, 0.05);
    transition: 0.3s;
}
@media (max-width: 768px) {
    #top_parts2 .caseItem {
        max-width: 100%;
    }
}
#top_parts2 .caseItem:hover {
    filter: brightness(1.1);
    cursor: pointer;
    transform: translateY(-2px);
}
#top_parts2 .caseItem:hover .caseBody > h3 {
    color: var(--color-link);
}
#top_parts2 .caseLink {
    display: block;
    text-decoration: none;
    color: inherit;
}
#top_parts2 .caseImage {
    overflow: hidden;
    border-radius: 8px 8px 0 0;
}
#top_parts2 .caseImg {
    width: 448px;
    height: 230px;
    -o-object-fit: cover;
       object-fit: cover;
    max-width: 100%;
    display: block;
}
@media (max-width: 768px) {
    #top_parts2 .caseImg {
        width: 100%;
        height: 172px;
    }
}
#top_parts2 .caseBody {
    padding: 24px 24px 72px;
}
@media (max-width: 768px) {
    #top_parts2 .caseBody {
        padding: 24px 20px 60px;
    }
}
#top_parts2 .caseBody h3 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.7;
    transition: color 200ms ease;
    margin: 0;
}
@media (max-width: 768px) {
    #top_parts2 .caseBody h3 {
        font-size: 16px;
        line-height: 1.5;
    }
}
#top_parts2 .label {
    display: inline-block;
    background: #1b5ed1;
    color: var(--color-text-inverse);
    font-size: 16px;
    font-weight: 700;
    padding: 11px 16px;
    position: relative;
    top: -32px;
}
@media (max-width: 768px) {
    #top_parts2 .label {
        font-size: 14px;
        top: -33px;
        padding: 9px 14px;
    }
}
#top_parts2 .subTitle {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-green);
    margin-bottom: 56px;
    position: relative;
    padding-left: 20px;
}
@media (max-width: 768px) {
    #top_parts2 .subTitle {
        font-size: 14px;
        margin-bottom: 32px;
        padding-left: 16px;
    }
}
#top_parts2 .subTitle:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 12px;
    height: 2px;
    background: var(--color-green);
}
#top_parts2 .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: content-box;
}
#top_parts2 .inner h2 {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--color-main);
    margin-bottom: 80px;
}
@media (max-width: 768px) {
    #top_parts2 .inner h2 {
        font-size: 26px;
        margin-bottom: 60px;
    }
}

/* ---------------------------------------------
*   case
--------------------------------------------- */
#top_parts4 {
    /* 右：サービスリンク */
}
#top_parts4 .service {
    background: var(--top-10service-gradation, linear-gradient(130deg, #3da3f7 23.22%, #1b5ed1 99.89%));
    padding: 80px 20px;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #top_parts4 .service {
        padding: 64px 0;
    }
}
#top_parts4 .service .header {
    max-width: var(--standard-width);
    margin: 0 auto;
    box-sizing: content-box;
    display: flex;
    gap: 120px;
    align-items: baseline;
}
@media (max-width: 768px) {
    #top_parts4 .service .header {
        flex-direction: column;
        gap: 32px;
        align-items: center;
        text-align: center;
    }
}
#top_parts4 .service .header h2 {
    font-size: 38px;
    font-weight: 700;
    line-height: 1.6;
    color: var(--color-text-inverse);
    margin-bottom: 40px;
}
@media (max-width: 768px) {
    #top_parts4 .service .header h2 {
        font-size: 28px;
        margin-bottom: 0;
    }
}
#top_parts4 .service .header h2 span {
    font-size: 32px;
}
@media (max-width: 768px) {
    #top_parts4 .service .header h2 span {
        font-size: 20px;
    }
}
#top_parts4 .service .header p {
    color: var(--color-text-inverse);
    line-height: 1.8;
}
@media (max-width: 768px) {
    #top_parts4 .service .header p {
        line-height: 1.7;
        padding: 0 20px 40px;
        text-align: left;
    }
}
@media (max-width: 768px) {
    #top_parts4 .service .header p br {
        display: none;
    }
}
#top_parts4 .service .inner {
    max-width: var(--standard-width);
    margin: 0 auto 48px;
    box-sizing: content-box;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
}
#top_parts4 .service .inner h3 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    position: relative;
    margin-bottom: 20px;
    min-height: 44px;
}
@media (max-width: 768px) {
    #top_parts4 .service .inner h3 {
        font-size: 14px;
        min-height: auto;
    }
}
#top_parts4 .service .card {
    background: #fff;
    border-radius: 8px;
    padding: 40px 20px 32px;
    flex: 1 1 calc((100% - 64px) / 5);
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
    display: flex;
    flex-direction: column;
    align-items: center;
}
@media (max-width: 768px) {
    #top_parts4 .service .card {
        flex: 1 1 calc((100% - 32px) / 2);
        padding: 32px 16px 24px;
    }
}
#top_parts4 .service .card img {
    margin-bottom: 24px;
}
#top_parts4 .service .card .number {
    color: #01478d;
    font-family: "Helvetica", "Arial", sans-serif;
    font-size: 18px;
    margin-bottom: 8px;
}
@media (max-width: 768px) {
    #top_parts4 .service .card .number {
        font-size: 13px;
    }
}
#top_parts4 .service .card .description {
    text-align: left;
    font-size: 13px;
    line-height: 1.6;
}
@media (max-width: 768px) {
    #top_parts4 .service .card .description {
        font-size: 12px;
    }
}
#top_parts4 .service .button {
    max-width: 460px;
    margin: auto;
    padding: 0 20px;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #top_parts4 .service .button a {
        font-size: 14px;
    }
}
#top_parts4 .subTitle {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-green);
    margin-bottom: 56px;
    position: relative;
    padding-left: 20px;
}
@media (max-width: 768px) {
    #top_parts4 .subTitle {
        font-size: 14px;
        margin-bottom: 32px;
        padding-left: 16px;
    }
}
#top_parts4 .subTitle:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 12px;
    height: 2px;
    background: var(--color-green);
}
#top_parts4 .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: content-box;
}
#top_parts4 .inner h2 {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--color-main);
    margin-bottom: 80px;
}
@media (max-width: 768px) {
    #top_parts4 .inner h2 {
        font-size: 26px;
        margin-bottom: 60px;
    }
}

/* ---------------------------------------------
*
--------------------------------------------- */
#top_parts-reason {
    /* ← reason を必ず閉じる */
}
#top_parts-reason .reason {
    background-color: var(--color-base);
    padding: 0 20px;
}
@media (max-width: 768px) {
    #top_parts-reason .reason {
        padding: 0;
    }
}
#top_parts-reason .reason .inner {
    background: url(/wp-content/themes/dreambase/assets/images/top/reason-pc.jpg) no-repeat right top #fff;
    background-size: contain;
    max-width: 1392px;
    margin: 0 auto;
    padding: 120px 96px 100px;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #top_parts-reason .reason .inner {
        background: url(/wp-content/themes/dreambase/assets/images/top/reason-sp.jpg) no-repeat center top #fff;
        background-size: contain;
        padding: 80px 20px;
    }
}
#top_parts-reason .reason h3 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 48px;
    text-align: center;
}
@media (max-width: 768px) {
    #top_parts-reason .reason h3 {
        font-size: 20px;
        margin-bottom: 28px;
    }
}
#top_parts-reason .reason .reasonItems {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}
@media (max-width: 768px) {
    #top_parts-reason .reason .reasonItems {
        gap: 16px;
        flex-direction: column;
    }
}
#top_parts-reason .reason .reasonBox {
    background: var(--color-orange2);
    border-radius: 8px;
    padding: 56px 20px;
    flex: 1;
    min-width: calc((100% - 40px) / 2);
}
@media (max-width: 768px) {
    #top_parts-reason .reason .reasonBox {
        min-width: 100%;
        padding: 48px 24px;
    }
}
#top_parts-reason .reason .reasonItems > .reasonBox:only-child {
    flex: 0 0 50%;
    min-width: 50%;
    margin-left: auto;
    margin-right: auto;
}
#top_parts-reason .reason .number {
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    color: var(--color-orange1);
    margin-bottom: 32px;
    font-family: "Helvetica", "Arial", sans-serif;
}
@media (max-width: 768px) {
    #top_parts-reason .reason .number {
        font-size: 13px;
        margin-bottom: 24px;
    }
}
#top_parts-reason .reason .number span {
    font-size: 32px;
    font-weight: 400;
    color: var(--color-orange1);
    margin-left: 12px;
}
@media (max-width: 768px) {
    #top_parts-reason .reason .number span {
        font-size: 24px;
    }
}
#top_parts-reason .reason .description {
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
}
@media (max-width: 768px) {
    #top_parts-reason .reason .description {
        font-size: 15px;
    }
}
#top_parts-reason .subTitle {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-green);
    margin-bottom: 56px;
    position: relative;
    padding-left: 20px;
}
@media (max-width: 768px) {
    #top_parts-reason .subTitle {
        font-size: 14px;
        margin-bottom: 32px;
        padding-left: 16px;
    }
}
#top_parts-reason .subTitle:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 12px;
    height: 2px;
    background: var(--color-green);
}
#top_parts-reason .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: content-box;
}
#top_parts-reason .inner h2 {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--color-main);
    margin-bottom: 80px;
}
@media (max-width: 768px) {
    #top_parts-reason .inner h2 {
        font-size: 26px;
        margin-bottom: 60px;
    }
}

#top_parts3 {
    /* --- グレーのヘッダー部 --- */
    /* 最後のカードだけ headerText 内の <br> を非表示にする（SPでは表示） */
    /* イラストのレスポンシブ調整: img 要素の見た目サイズを SP で縮小 */
    /* --- 中央の白カード（チェック） --- */
    /* --- 下部の青いプラン部 --- */
    /* 三角の吹き出しっぽい形 */
    /* 左：悩みブロック */
    /* 中央：チェックメッセージ */
    /* 右：サービスリンク */
    /* 丸アイコン */
}
#top_parts3 .planBefore {
    margin: 0 0 80px;
}
#top_parts3 .planBefore .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0;
    box-sizing: content-box;
}
#top_parts3 .cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
@media (max-width: 1024px) {
    #top_parts3 .cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 768px) {
    #top_parts3 .cards {
        grid-template-columns: 1fr;
    }
}
#top_parts3 .card {
    background: #fffcf6;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
#top_parts3 .cardHeader {
    position: relative;
    background: #a0b1c1;
    color: #fff;
    padding: 32px 28px 40px;
}
@media (max-width: 768px) {
    #top_parts3 .cardHeader {
        padding: 24px 20px 32px;
    }
}
#top_parts3 .headerText {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    max-width: 85%;
}
@media (max-width: 768px) {
    #top_parts3 .headerText {
        font-size: 20px;
    }
}
#top_parts3 .headerIllust {
    position: absolute;
    right: 8px;
    bottom: 0;
}
#top_parts3 .cards > .card:last-of-type .headerText br {
    display: none;
}
@media (max-width: 768px) {
    #top_parts3 .cards > .card:last-of-type .headerText br {
        display: block;
    }
}
#top_parts3 .headerIllust img {
    display: block;
    width: auto;
    height: auto;
    max-width: none;
}
@media (max-width: 768px) {
    #top_parts3 .headerIllust img {
        width: 53px;
    }
}
#top_parts3 .cardProblem {
    position: relative;
    padding: 0;
    margin: 24px;
    z-index: 1;
    border-radius: 8px;
    border: 1px solid #e3e3e3;
}
@media (max-width: 768px) {
    #top_parts3 .cardProblem {
        margin: 12px;
    }
}
#top_parts3 .checkCard {
    background: #fff;
    border-radius: 8px;
    padding: 28px 20px;
    font-size: 15px;
    font-weight: 700;
}
@media (max-width: 768px) {
    #top_parts3 .checkCard {
        padding: 24px 16px;
        font-size: 14px;
    }
}
#top_parts3 .checkList {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
#top_parts3 .checkItem {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 15px;
    line-height: 1.6;
}
@media (max-width: 768px) {
    #top_parts3 .checkItem {
        font-size: 14px;
    }
}
#top_parts3 .checkItem img {
    flex-shrink: 0;
    position: relative;
    top: 4px;
}
#top_parts3 .cardPlan {
    position: relative;
    margin-top: 32px;
    padding: 32px 20px 40px;
    background: var(--color-main);
    color: #fff;
    text-align: center;
    margin-top: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#top_parts3 .cardPlan::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 12px 16px 0 16px;
    border-color: #fffcf6 transparent transparent transparent;
}
#top_parts3 .planName {
    margin: 0 0 24px;
    font-size: 30px;
    font-weight: 700;
}
@media (max-width: 768px) {
    #top_parts3 .planName {
        font-size: 24px;
    }
}
#top_parts3 .planDescription {
    margin: 0;
    font-size: 15px;
    line-height: 1.8;
    min-height: 81px;
}
@media (max-width: 768px) {
    #top_parts3 .planDescription {
        font-size: 13px;
        min-height: auto;
    }
}
#top_parts3 a.planButton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 10px 36px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px;
    background: #fff;
    color: var(--color-link);
    border: 1px solid var(--color-link);
    max-width: 220px;
    margin: 32px auto 0;
    transition: background 0.2s ease, color 0.2s ease, transform 0.1s ease;
}
#top_parts3 a.planButton:hover {
    background: var(--color-link);
    color: #fff;
}
#top_parts3 .subTitle {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-green);
    margin-bottom: 56px;
    position: relative;
    padding-left: 20px;
}
@media (max-width: 768px) {
    #top_parts3 .subTitle {
        font-size: 14px;
        margin-bottom: 32px;
        padding-left: 16px;
    }
}
#top_parts3 .subTitle:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 12px;
    height: 2px;
    background: var(--color-green);
}
#top_parts3 .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: content-box;
}
#top_parts3 .inner h2 {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--color-main);
    margin-bottom: 80px;
}
@media (max-width: 768px) {
    #top_parts3 .inner h2 {
        font-size: 26px;
        margin-bottom: 60px;
    }
}
#top_parts3 .plan {
    padding: 120px 0 80px;
    background-color: var(--color-base);
}
@media (max-width: 768px) {
    #top_parts3 .plan {
        padding: 80px 0 64px;
    }
}
#top_parts3 .plan .planTitle {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 40px;
    padding-left: 24px;
    position: relative;
}
@media (max-width: 768px) {
    #top_parts3 .plan .planTitle {
        font-size: 17px;
        margin-bottom: 24px;
        padding-left: 20px;
    }
}
#top_parts3 .plan .planTitle:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
    background-color: #1b5ed1;
    width: 12px;
    height: 12px;
    border-radius: 50%;
}
@media (max-width: 768px) {
    #top_parts3 .plan .planTitle:before {
        width: 8px;
        height: 8px;
    }
}
#top_parts3 .list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
#top_parts3 .list h3 {
    font-size: 28px;
    font-weight: 700;
    margin: 72px 0 24px;
    padding-left: 24px;
    position: relative;
}
@media (max-width: 768px) {
    #top_parts3 .list h3 {
        font-size: 17px;
        margin: 48px 0 8px;
    }
}
#top_parts3 .list h3:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
    background-color: #1b5ed1;
    width: 12px;
    height: 12px;
    border-radius: 50%;
}
@media (max-width: 768px) {
    #top_parts3 .list h3:before {
        width: 8px;
        height: 8px;
    }
}
#top_parts3 .row {
    display: grid;
    grid-template-columns: 1fr 1fr 1.2fr;
    align-items: stretch;
    border-radius: 8px;
    overflow: hidden;
    background: #e5e5e5;
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
}
#top_parts3 .row a {
    color: #fff;
}
@media (max-width: 768px) {
    #top_parts3 .row {
        grid-template-columns: 1fr;
    }
}
#top_parts3 .problem {
    background: #a0b1c1;
    padding: 40px 40px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    display: flex;
    align-items: center;
}
@media (max-width: 768px) {
    #top_parts3 .problem {
        padding: 24px 20px;
        font-size: 15px;
    }
}
#top_parts3 .message {
    background: #fffcf6;
    padding: 16px 24px;
    gap: 12px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
}
@media (max-width: 768px) {
    #top_parts3 .message {
        padding: 12px 16px;
        font-size: 13px;
    }
}
#top_parts3 .message img {
    flex-shrink: 0;
    position: relative;
    top: 4px;
}
#top_parts3 .message p {
    margin: 0;
}
#top_parts3 .message .check {
    border-radius: 8px;
    border: 1px solid #e3e3e3;
    padding: 30px 24px;
    background: #fff;
    display: flex;
    gap: 8px;
}
@media (max-width: 768px) {
    #top_parts3 .message .check {
        padding: 20px 16px;
    }
}
#top_parts3 .service {
    text-decoration: none;
    background: #1b67b3;
    color: #fff;
    display: flex;
    align-items: stretch;
    transition: background 0.25s ease;
    position: relative;
}
#top_parts3 .service:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 0 16px 12px;
    border-color: transparent transparent transparent #fffcf6;
}
@media (max-width: 768px) {
    #top_parts3 .service:before {
        right: 0;
        bottom: initial;
        border-width: 12px 16px 0 16px;
        border-color: #fffcf6 transparent transparent transparent;
    }
}
#top_parts3 .service:hover {
    background: #fff;
    color: var(--color-link);
}
#top_parts3 .serviceInner {
    width: 100%;
    padding: 32px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    position: relative;
}
@media (max-width: 768px) {
    #top_parts3 .serviceInner {
        padding: 30px 67px 30px 20px;
    }
}
#top_parts3 .serviceInner h4 {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
}
@media (max-width: 768px) {
    #top_parts3 .serviceInner h4 {
        font-size: 17px;
    }
}
#top_parts3 .serviceInner p {
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}
@media (max-width: 768px) {
    #top_parts3 .serviceInner p br {
        display: none;
    }
}
#top_parts3 .arrow {
    position: absolute;
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    color: var(--color-link);
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}
@media (max-width: 768px) {
    #top_parts3 .arrow {
        right: 20px;
        width: 32px;
        height: 32px;
        font-size: 20px;
    }
}
#top_parts3 .service:hover .arrow {
    background: var(--color-link);
    color: #fff;
}

#top_parts5 .staff {
    background: var(--color-base);
    padding: 40px 20px;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #top_parts5 .staff {
        padding: 0;
    }
}
#top_parts5 .staff .inner {
    max-width: 1392px;
    margin: 0 auto;
    box-sizing: content-box;
    padding: 120px 20px;
    background-color: #fff;
    background-image: url(/wp-content/themes/dreambase/assets/images/top/staff/bg-pc.jpg);
    background-repeat: no-repeat;
    background-position: center bottom;
}
@media (max-width: 768px) {
    #top_parts5 .staff .inner {
        padding: 80px 20px;
        background-image: url(/wp-content/themes/dreambase/assets/images/top/staff/bg-sp.png);
        background-size: contain;
    }
}
#top_parts5 .staff .header {
    max-width: var(--standard-width);
    margin: 0 auto;
    box-sizing: content-box;
}
#top_parts5 .subTitle {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-green);
    margin-bottom: 56px;
    position: relative;
    padding-left: 20px;
}
@media (max-width: 768px) {
    #top_parts5 .subTitle {
        font-size: 14px;
        margin-bottom: 32px;
        padding-left: 16px;
    }
}
#top_parts5 .subTitle:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 12px;
    height: 2px;
    background: var(--color-green);
}
#top_parts5 .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: content-box;
}
#top_parts5 .inner h2 {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--color-main);
    margin-bottom: 80px;
}
@media (max-width: 768px) {
    #top_parts5 .inner h2 {
        font-size: 26px;
        margin-bottom: 60px;
    }
}

#top_parts6 .staffSection {
    padding: 0 0 96px;
    position: relative;
    /* 真ん中の「×」ライン */
    /* 下のリードテキスト */
    /* serviceページ用*/
}
#top_parts6 .staffSection .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0;
    background: none;
}
#top_parts6 .staffSection .cards {
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 10px;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .cards {
        flex-direction: column;
        gap: 0;
    }
}
#top_parts6 .staffSection .card {
    position: relative;
    flex: 1 1;
    background: none;
    max-width: 595px;
    border-radius: 0;
    overflow: hidden;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .card {
        margin-inline: auto;
    }
}
#top_parts6 .staffSection .imageWrapper {
    position: relative;
}
#top_parts6 .staffSection .image {
    width: 100%;
    height: auto;
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
}
#top_parts6 .staffSection .image img {
    width: 595px;
    height: 380px;
    -o-object-fit: cover;
       object-fit: cover;
}
#top_parts6 .staffSection .imageCaption {
    position: absolute;
    left: 16px;
    bottom: 16px;
    display: inline-block;
    padding: 4px 8px;
    font-size: 11px;
    line-height: 1.4;
    color: #ffffff;
    background-color: rgba(0, 0, 0, 0.6);
    border-radius: 4px;
}
#top_parts6 .staffSection .body {
    padding: 40px 48px 48px;
    margin: -40px 32px 0;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 157px 44px 0 rgba(145, 161, 182, 0), 0 101px 40px 0 rgba(145, 161, 182, 0.01), 0 57px 34px 0 rgba(145, 161, 182, 0.02), 0 25px 25px 0 rgba(145, 161, 182, 0.04), 0 6px 14px 0 rgba(145, 161, 182, 0.05);
    position: relative;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .body {
        padding: 40px 20px;
        margin: -20px 12px 64px;
        border-radius: 0;
    }
}
#top_parts6 .staffSection .tagline {
    text-align: center;
    margin-bottom: 18px;
}
#top_parts6 .staffSection .tagline p {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--color-orange);
    margin-bottom: 32px;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .tagline p {
        font-size: 19px;
        margin-bottom: 28px;
    }
}
#top_parts6 .staffSection .nameBlock {
    padding-bottom: 20px;
    margin-bottom: 28px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px 14px;
    align-items: baseline;
    border-bottom: 1px solid #cfcfcf;
    min-height: 79px;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .nameBlock {
        min-height: auto;
        margin-bottom: 20px;
        padding-bottom: 20px;
        gap: 6px 14px;
    }
}
#top_parts6 .staffSection .company {
    font-size: 13px;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .company {
        font-size: 12px;
    }
}
#top_parts6 .staffSection .name {
    font-size: 26px;
    font-weight: 700;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .name {
        font-size: 18px;
    }
}
#top_parts6 .staffSection .kana {
    font-size: 14px;
    width: 100%;
    text-align: right;
    padding-right: 14px;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .kana {
        padding-right: 0;
    }
}
#top_parts6 .staffSection .description {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 32px;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .description {
        font-size: 14px;
        margin-bottom: 28px;
    }
}
#top_parts6 .staffSection .profileLink {
    font-size: 16px;
    font-weight: 700;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .profileLink {
        font-size: 14px;
    }
}
#top_parts6 .staffSection .profileLink a {
    text-decoration: none;
    color: var(--color-link);
    position: relative;
    padding-left: 14px;
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: flex-end;
}
#top_parts6 .staffSection .profileLink a:hover {
    text-decoration: underline;
    padding-left: 0;
}
#top_parts6 .staffSection .cross {
    position: absolute;
    inset: 0;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 43%;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .cross {
        top: -3.5%;
    }
}
#top_parts6 .staffSection .cross::before, #top_parts6 .staffSection .cross::after {
    content: "";
    position: absolute;
    width: 180px;
    border-top: 1px solid var(--color-green);
    z-index: 1;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .cross::before, #top_parts6 .staffSection .cross::after {
        width: 120px;
    }
}
#top_parts6 .staffSection .cross::before {
    transform: rotate(45deg);
}
#top_parts6 .staffSection .cross::after {
    transform: rotate(-45deg);
}
#top_parts6 .staffSection .lead {
    margin-top: 56px;
    text-align: center;
    font-weight: 700;
    line-height: 1.6;
    color: #00a187;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .lead {
        margin-top: 0;
    }
}
#top_parts6 .staffSection .lead .sp {
    display: none;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .lead .sp {
        display: inline;
        -o-object-fit: contain;
           object-fit: contain;
    }
}
#top_parts6 .staffSection .lead .pc {
    -o-object-fit: contain;
       object-fit: contain;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .lead .pc {
        display: none;
    }
}
#top_parts6 .staffSection .leadMain {
    display: block;
    font-size: 30px;
    letter-spacing: 0.12em;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .leadMain {
        font-size: 24px;
    }
}
#top_parts6 .staffSection .leadSub {
    display: block;
    margin-top: 8px;
    font-size: 22px;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .leadSub {
        font-size: 18px;
    }
}
#top_parts6 .staffSection .cardAgent .body {
    padding: 40px 24px 0;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    display: flex;
    flex-direction: column;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .cardAgent .body {
        padding: 24px 0 0;
    }
}
#top_parts6 .staffSection .cardAgent .tagline {
    margin-bottom: 0;
}
#top_parts6 .staffSection .cardAgent .tagline p {
    font-size: 23px;
    line-height: 1.5;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .cardAgent .tagline p {
        font-size: 20px;
        text-align: left;
        margin-bottom: 24px;
    }
}
#top_parts6 .staffSection .cardAgent .tagline br {
    display: none;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .cardAgent .tagline br {
        display: block;
    }
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .cardAgent .description {
        margin-bottom: 24px;
    }
}
#top_parts6 .staffSection .cardAgent .nameBlock {
    border-bottom: none;
    order: 3;
    padding: 0;
    margin: 0;
    gap: 4px 12px;
    min-height: auto;
}
@media (max-width: 768px) {
    #top_parts6 .staffSection .cardAgent .nameBlock {
        gap: 0 8px;
    }
}

#top_parts7 .youtube {
    background: var(--color-base);
    padding: 80px 20px;
}
@media (max-width: 768px) {
    #top_parts7 .youtube {
        padding: 80px 20px 0;
        overflow: hidden;
    }
}
#top_parts7 .youtube .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    box-sizing: content-box;
    background: #1b5ed1;
    border-radius: 8px;
    padding: 0;
    box-shadow: 0 157px 44px 0 rgba(145, 161, 182, 0), 0 101px 40px 0 rgba(145, 161, 182, 0.01), 0 57px 34px 0 rgba(145, 161, 182, 0.02), 0 25px 25px 0 rgba(145, 161, 182, 0.04), 0 6px 14px 0 rgba(145, 161, 182, 0.05);
    color: var(--color-text-inverse);
    display: flex;
    align-items: center;
}
@media (max-width: 768px) {
    #top_parts7 .youtube .inner {
        flex-direction: column;
        text-align: center;
    }
}
#top_parts7 .youtube h3 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 32px;
}
@media (max-width: 768px) {
    #top_parts7 .youtube h3 {
        font-size: 20px;
        margin-bottom: 24px;
    }
}
#top_parts7 .youtube p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 32px;
}
@media (max-width: 768px) {
    #top_parts7 .youtube p {
        font-size: 14px;
        margin: 24px 0 40px;
        text-align: left;
        padding: 0 40px;
    }
}
#top_parts7 .youtube a {
    color: #fff;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 4px;
}
@media (max-width: 768px) {
    #top_parts7 .youtube a {
        padding: 0 40px;
    }
}
#top_parts7 .youtube a:hover {
    color: #ffea00;
}
#top_parts7 .youtube .text {
    padding: 52px 80px 60px 64px;
}
@media (max-width: 768px) {
    #top_parts7 .youtube .text {
        padding: 56px 32px;
    }
}
#top_parts7 .youtube .image {
    flex-shrink: 0;
}
#top_parts7 .youtube .image img {
    border-radius: 0 8px 8px 0;
}
@media (max-width: 768px) {
    #top_parts7 .youtube .image img {
        border-radius: 0;
    }
}
@media (max-width: 768px) {
    #top_parts7 .youtube .pc {
        display: none;
    }
}
#top_parts7 .youtube .sp {
    display: none;
}
@media (max-width: 768px) {
    #top_parts7 .youtube .sp {
        display: block;
        margin: auto;
    }
}
@media screen and (max-width: 374px) {
    #top_parts7 .youtube .sp {
        width: 100%;
        height: auto;
    }
}

#top_parts8 .company {
    background: var(--color-base);
    padding: 80px 20px;
    box-sizing: content-box;
}
@media (max-width: 991px) {
    #top_parts8 .company {
        padding: 80px 0 0;
    }
}
#top_parts8 .company .inner {
    max-width: 1392px;
    margin: 0 auto;
    box-sizing: content-box;
    background: var(--color-orange2);
    display: flex;
    gap: 72px;
    justify-content: center;
}
@media (max-width: 991px) {
    #top_parts8 .company .inner {
        flex-direction: column;
        gap: 40px;
        padding: 64px 20px;
    }
}
@media (max-width: 991px) {
    #top_parts8 .company .inner h2 {
        margin-bottom: 0;
    }
}
#top_parts8 .company .inner h2 br.sp {
    display: none;
}
@media (max-width: 991px) {
    #top_parts8 .company .inner h2 br.sp {
        display: inline;
    }
}
@media (max-width: 991px) {
    #top_parts8 .company .inner img {
        margin: 0 auto 24px;
    }
}
#top_parts8 .company .text {
    padding: 120px 20px 0;
}
@media (max-width: 991px) {
    #top_parts8 .company .text {
        padding: 0;
    }
}
#top_parts8 .company p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 40px;
}
@media (max-width: 991px) {
    #top_parts8 .company p {
        font-size: 15px;
        margin-bottom: 40px;
    }
}
#top_parts8 .company .image {
    flex-shrink: 0;
    align-content: center;
}
#top_parts8 .company .button {
    max-width: 295px;
}
@media (max-width: 991px) {
    #top_parts8 .company .button {
        margin: 0 auto;
    }
}
@media (max-width: 991px) {
    #top_parts8 .company .pc {
        display: none;
    }
}
#top_parts8 .company .sp {
    display: none;
}
@media (max-width: 991px) {
    #top_parts8 .company .sp {
        display: block;
    }
}
#top_parts8 .subTitle {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-green);
    margin-bottom: 56px;
    position: relative;
    padding-left: 20px;
}
@media (max-width: 768px) {
    #top_parts8 .subTitle {
        font-size: 14px;
        margin-bottom: 32px;
        padding-left: 16px;
    }
}
#top_parts8 .subTitle:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 12px;
    height: 2px;
    background: var(--color-green);
}
#top_parts8 .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: content-box;
}
#top_parts8 .inner h2 {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--color-main);
    margin-bottom: 80px;
}
@media (max-width: 768px) {
    #top_parts8 .inner h2 {
        font-size: 26px;
        margin-bottom: 60px;
    }
}

#top_parts9 {
    /* ✅ ここ：.card が必要ならHTMLに付ける（もしくは .article に書く） */
}
#top_parts9 .archive {
    background-color: var(--color-base);
    padding: 120px 0;
}
@media (max-width: 768px) {
    #top_parts9 .archive {
        padding: 80px 0;
    }
}
#top_parts9 .archive .container {
    max-width: var(--standard-width);
    padding: var(--standard-padding);
    margin: 0 auto;
    box-sizing: content-box;
}
#top_parts9 .introContent h2 {
    color: var(--color-main);
    font-size: 42px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 40px;
}
@media (max-width: 768px) {
    #top_parts9 .introContent h2 {
        font-size: 26px;
    }
}
#top_parts9 .introContent ul {
    color: var(--color-green);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 60px;
    position: relative;
    padding-left: 20px;
}
@media (max-width: 768px) {
    #top_parts9 .introContent ul {
        font-size: 16px;
        margin-bottom: 40px;
    }
}
#top_parts9 .introContent ul:after {
    content: "";
    position: absolute;
    bottom: 0;
    top: 0;
    margin: auto;
    left: 0;
    width: 12px;
    height: 2px;
    background-color: var(--color-green);
}
#top_parts9 .ButtonLink {
    text-align: center;
}
#top_parts9 .ButtonLink a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row-reverse;
    gap: 12px;
    max-width: 360px;
    margin: 0 auto;
    padding: 24px 16px;
    font-size: 16px;
    font-weight: 700;
    color: var(--color-link);
    border: 1px solid var(--color-link);
    border-radius: 4px;
    background: #fff;
}
#top_parts9 .ButtonLink a:hover {
    background: var(--color-link);
    color: #fff;
}
#top_parts9 .collection-archive {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 45px 40px;
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0 0 77px;
    box-sizing: content-box;
    position: relative;
}
#top_parts9 .collection-archive.columns3 .collection-archive-item,
#top_parts9 .collection-archive.columns2 .collection-archive-item {
    box-sizing: border-box;
}
@media (max-width: 768px) {
    #top_parts9 .collection-archive.columns3 .collection-archive-item,
    #top_parts9 .collection-archive.columns2 .collection-archive-item {
        width: 100%;
    }
}
#top_parts9 .collection-archive.columns3 .collection-archive-item {
    width: calc((100% - 80px) / 3);
}
@media (max-width: 991px) {
    #top_parts9 .collection-archive.columns3 .collection-archive-item {
        width: calc((100% - 40px) / 2);
    }
}
@media (max-width: 768px) {
    #top_parts9 .collection-archive.columns3 .collection-archive-item {
        width: 100%;
    }
}
#top_parts9 .collection-archive.columns2 .collection-archive-item {
    width: calc((100% - 40px) / 2);
}
@media (max-width: 991px) {
    #top_parts9 .collection-archive.columns2 .collection-archive-item {
        width: 100%;
    }
}
#top_parts9 .article .post-meta {
    flex-direction: row;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
#top_parts9 .article .category {
    margin-bottom: 0;
    background: #1b5ed1;
    border-radius: 0;
}
#top_parts9 .article a {
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: 0.3s;
}
@media (max-width: 768px) {
    #top_parts9 .article a {
        min-height: auto;
    }
}
#top_parts9 .article a:hover {
    color: var(--color-text-hover);
    filter: brightness(1.2);
}
#top_parts9 .thumbnail {
    margin-bottom: 15px;
}
@media (max-width: 768px) {
    #top_parts9 .thumbnail {
        margin-bottom: 16px;
    }
}
#top_parts9 .thumbnail img {
    width: 100%;
    height: 214px;
    position: relative;
    -o-object-fit: cover;
       object-fit: cover;
}
@media (max-width: 768px) {
    #top_parts9 .thumbnail img {
        aspect-ratio: 335/188;
        height: auto;
    }
}
#top_parts9 .info {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: flex-start;
}
#top_parts9 .post-meta {
    display: flex;
    flex-direction: column;
    color: var(--color-text-gray);
    margin-bottom: 11px;
}
#top_parts9 .category {
    font-size: 13px;
    color: var(--color-text-inverse);
    background: var(--color-main);
    padding: 6px 8px;
    border-radius: 4px;
    margin-bottom: 9px;
    text-align: center;
}
@media (max-width: 768px) {
    #top_parts9 .category {
        border-radius: 0;
        padding-bottom: 5px;
    }
}
#top_parts9 .date {
    font-size: 13px;
    color: var(--color-gray);
}
#top_parts9 .h2-title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    padding-bottom: 15px;
}
@media (max-width: 768px) {
    #top_parts9 .h2-title {
        font-size: 16px;
        padding-bottom: 12px;
        padding-top: 1px;
    }
}
#top_parts9 .post-author {
    display: flex;
    gap: 8px;
    align-items: center;
    padding-right: 7px;
    padding-top: 1px;
}
@media (max-width: 768px) {
    #top_parts9 .post-author {
        padding-right: 0;
    }
}
#top_parts9 .post-author img {
    width: 40px;
    height: 40px;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50%;
    flex-shrink: 0;
}
#top_parts9 .post-author .author-info {
    font-size: 13px;
    font-weight: 700;
    text-align: right;
}
#top_parts9 .post-author .position {
    font-size: 10px;
    font-weight: normal;
    margin-bottom: 4px;
}
#top_parts9 .post-tags {
    font-size: 13px;
    color: var(--color-link);
}

#top_parts10 .site-footer-cta {
    background: var(--color-background-secondary);
    padding: 80px 20px;
    position: relative;
    overflow: hidden;
}
#top_parts10 .site-footer-cta .header {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 40px;
}
@media (max-width: 991px) {
    #top_parts10 .site-footer-cta .header {
        text-align: center;
    }
}
#top_parts10 .site-footer-cta .header br {
    display: none;
}
@media (max-width: 768px) {
    #top_parts10 .site-footer-cta .header br {
        display: block;
    }
}
#top_parts10 .site-footer-cta .inner {
    max-width: var(--standard-width);
    box-sizing: content-box;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    color: #fff;
    display: flex;
    gap: 64px;
    justify-content: center;
    align-items: center;
}
@media (max-width: 991px) {
    #top_parts10 .site-footer-cta .inner {
        flex-direction: column;
        gap: 40px;
    }
}
#top_parts10 .site-footer-cta .bg {
    position: absolute;
    inset: 0;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    z-index: 0;
}
#top_parts10 .site-footer-cta .bg.pc {
    display: block;
}
@media (max-width: 991px) {
    #top_parts10 .site-footer-cta .bg.pc {
        display: none;
    }
}
#top_parts10 .site-footer-cta .bg.sp {
    display: none;
}
@media (max-width: 991px) {
    #top_parts10 .site-footer-cta .bg.sp {
        display: block;
    }
}
#top_parts10 .site-footer-cta-thumbnail {
    text-align: center;
    margin: 0 auto 40px;
}
#top_parts10 .site-footer-cta-description {
    padding: 0;
    line-height: 1.7;
}
@media (max-width: 991px) {
    #top_parts10 .site-footer-cta-description p {
        text-align: center;
    }
}
@media (max-width: 768px) {
    #top_parts10 .site-footer-cta-description p {
        font-size: 14px;
    }
}
#top_parts10 .site-footer-cta-btn {
    text-align: center;
    font-weight: 700;
}
#top_parts10 .site-footer-cta-btn a {
    color: #fff;
    padding: 24px 40px;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 80px;
    flex-direction: row-reverse;
    border-radius: 4px;
}
@media (max-width: 768px) {
    #top_parts10 .site-footer-cta-btn a {
        padding: 24px 16px 24px 52px;
        gap: 24px;
    }
}
#top_parts10 .site-footer-cta-btn.default a {
    background: var(--color-orange);
    border: 1px solid var(--color-orange);
}
#top_parts10 .site-footer-cta-btn.default a:hover {
    background: #fff;
    color: var(--color-orange);
}
#top_parts10 .site-footer-cta-btn.outline a {
    background: var(--color-green);
    border: 1px solid var(--color-green);
}
#top_parts10 .site-footer-cta-btn.outline a:hover {
    background: #fff;
    color: var(--color-green);
}
#top_parts10 .is-form {
    display: flex;
    gap: 80px;
    justify-content: center;
}
@media (max-width: 991px) {
    #top_parts10 .is-form {
        flex-direction: column;
        gap: 40px;
    }
}
#top_parts10 .is-form h2 {
    margin: 0 auto 24px;
    font-weight: 700;
}
#top_parts10 .is-form .left {
    color: var(--color-text-inverse);
}
#top_parts10 .phone-text {
    color: var(--color-text-inverse);
    border-radius: 20px;
    background: rgba(18, 45, 79, 0.75);
    padding: 48px 64px;
    text-align: center;
}
@media (max-width: 768px) {
    #top_parts10 .phone-text {
        padding: 40px 24px;
    }
}
#top_parts10 .phone-text h3 {
    margin: 0 auto 16px;
    font-weight: 600;
    font-size: 48px;
    font-family: "Roboto", sans-serif;
}
@media (max-width: 768px) {
    #top_parts10 .phone-text h3 {
        font-size: 32px;
    }
}
#top_parts10 .phone-text p:first-child {
    font-size: 18px;
    padding-bottom: 24px;
}
@media (max-width: 768px) {
    #top_parts10 .phone-text p:first-child {
        font-size: 15px;
        padding-bottom: 16px;
    }
}
#top_parts10 .phone-text p:last-child {
    font-size: 12px;
    padding-bottom: 0;
}
#top_parts10 .site-footer-cta-form {
    background: #fff;
    border-radius: 20px;
    padding: 40px 48px;
    position: relative;
    z-index: auto;
    overflow: visible;
}
#top_parts10 .site-footer-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: center;
    width: 400px;
    max-width: 100%;
}
@media (max-width: 991px) {
    #top_parts10 .site-footer-cta-buttons {
        margin: 0 auto;
        width: 335px;
    }
}
@media screen and (max-width: 374px) {
    #top_parts10 .site-footer-cta-buttons {
        width: 100%;
    }
}

#top_parts11 .fixedBanner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
}
#top_parts11 .fixedBanner .closeButton {
    position: absolute;
    top: -28px;
    right: 8px;
    background: transparent;
    border: none;
    font-size: 24px;
    color: #000;
    cursor: pointer;
    z-index: 11;
}
#top_parts11 .fixedBanner.imageBanner {
    position: fixed;
    bottom: 0;
    z-index: 10;
    width: auto;
    max-width: 300px;
    padding: 0;
}
#top_parts11 .fixedBanner.imageBanner a {
    display: block;
    width: 100%;
    height: 100%;
}
@media (max-width: 768px) {
    #top_parts11 .fixedBanner.imageBanner {
        max-width: 100%;
        width: 100%;
    }
    #top_parts11 .fixedBanner.imageBanner img {
        width: 100%;
        height: 60px;
        -o-object-fit: cover;
           object-fit: cover;
    }
}
#top_parts11 .fixedBanner.imageBanner.right {
    right: 0;
    left: auto;
}
#top_parts11 .fixedBanner.imageBanner.left {
    left: 0;
    right: auto;
}
#top_parts11 .fixedBanner.imageBanner.left .closeButton {
    right: auto;
    left: 8px;
}
#top_parts11 .fixedBanner.customBanner {
    width: 100%;
    padding: 16px;
    box-sizing: border-box;
}
#top_parts11 .mainBox {
    display: flex;
    justify-content: center;
    gap: 16px;
    align-items: center;
    padding: 16px;
    max-width: 1000px;
    margin: 0 auto;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #top_parts11 .mainBox {
        flex-direction: column;
        padding: 8px;
        gap: 4px;
    }
}
#top_parts11 .subText {
    font-size: 12px;
}
#top_parts11 .right-box {
    white-space: nowrap;
}
#top_parts11 .right-box a {
    display: block;
    padding: 8px 16px;
    border-radius: 4px;
    color: #fff;
}
#top_parts11 .right-box a:hover {
    filter: brightness(1.2);
}
#top_parts11 .pcBanner {
    position: relative;
}
@media (max-width: 768px) {
    #top_parts11 .pcBanner {
        display: none;
    }
}
#top_parts11 .spBanner {
    position: relative;
    display: none;
}
@media (max-width: 768px) {
    #top_parts11 .spBanner {
        display: block;
    }
}
#top_parts11 .button2 .right-box {
    display: flex;
    gap: 8px;
}
#top_parts11 .customBanner {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
#top_parts11 .customBanner .mainBox {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px;
    max-width: 1000px;
    margin: 0 auto;
    box-sizing: border-box;
}
@media (max-width: 768px) {
    #top_parts11 .customBanner .mainBox {
        flex-direction: column;
        padding: 8px;
        gap: 4px;
    }
}
#top_parts11 .customBanner .row {
    display: flex;
    gap: 8px;
    align-items: center;
    text-align: center;
}
@media (max-width: 768px) {
    #top_parts11 .customBanner .row {
        gap: 6px;
    }
}
#top_parts11 .customBanner a {
    display: block;
    padding: 8px 16px;
    border-radius: 4px;
    color: #fff;
}
#top_parts11 .customBanner a:hover {
    filter: brightness(1.2);
}
#top_parts11 .customBanner a span {
    display: block;
    font-size: 10px;
}
#top_parts11 .customBanner .textItem {
    font-size: 14px;
    line-height: 1.4;
    white-space: pre-line;
}
#top_parts11 .customBanner .buttonItem {
    display: flex;
    padding: 8px 16px;
    border-radius: 4px;
    text-decoration: none;
    text-align: center;
    color: #fff;
    gap: 8px;
}
#top_parts11 .customBanner .buttonItem:hover {
    filter: brightness(1.1);
}
#top_parts11 .fixedBanner.customBanner {
    padding: 0;
}
#top_parts11 .fixedBanner.customBanner .mainText {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.7;
}
#top_parts11 .fixedBanner.customBanner .subText {
    font-weight: 400;
    line-height: 1.4;
    font-size: 12px;
}
#top_parts11 .fixedBanner.customBanner .buttonItem {
    position: relative;
    align-items: center;
    gap: 0px 16px;
}
#top_parts11 .fixedBanner.customBanner .buttonItem a {
    font-size: 16px;
    font-weight: 700;
    padding: 22px 40px 22px 32px;
    border-radius: 8px;
    line-height: 1;
}
#top_parts11 .fixedBanner.customBanner .buttonItem a::before {
    content: "";
    width: 7px;
    height: 12px;
    --svg: url('data:image/svg+xml,          <svg xmlns="http://www.w3.org/2000/svg" width="7" height="12" viewBox="0 0 7 12" fill="none">          <path fill-rule="evenodd" clip-rule="evenodd" d="M6.72168 6.66656L1.34415 12L0 10.6669L4.70546 6L0 1.33312L1.34415 0L6.72168 5.33344C6.89989 5.51024 7 5.75 7 6C7 6.25 6.89989 6.48976 6.72168 6.66656Z" fill="white"/>        </svg>');
    background-image: var(--svg);
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: contain;
    display: inline-block;
    margin-right: 24px;
}
#top_parts11 .pcBanner .fixedBanner.customBanner {
    padding: 0;
}
#top_parts11 .pcBanner .fixedBanner.customBanner .closeButton {
    top: 0;
    left: 2%;
    color: #fff;
    width: 26px;
    height: 36px;
    font-size: 30px;
}
#top_parts11 .pcBanner .fixedBanner.customBanner .mainBox {
    padding: 0;
}
#top_parts11 .pcBanner .fixedBanner.customBanner .row {
    gap: 16px;
}
#top_parts11 .pcBanner .fixedBanner.customBanner .texts {
    margin-right: 0px;
    padding: 8px 0 8px 40px;
    text-align: left;
}
#top_parts11 .spBanner .fixedBanner {
    padding: 0;
    margin: 0;
}
#top_parts11 .spBanner .fixedBanner.customBanner {
    padding: 0;
}
#top_parts11 .spBanner .fixedBanner.customBanner .row {
    width: 100%;
    align-items: center;
    flex-direction: column;
}
#top_parts11 .spBanner .fixedBanner.customBanner .texts {
    width: 100%;
    padding-top: 4px;
    padding-bottom: 0;
}
#top_parts11 .spBanner .fixedBanner.customBanner .texts .textItem {
    font-size: 13px;
    line-height: 1;
}
#top_parts11 .spBanner .fixedBanner.customBanner .mainBox {
    padding: 0;
    width: 100%;
}
#top_parts11 .spBanner .fixedBanner.customBanner .buttonItem {
    gap: 0;
    padding: 0;
    border-radius: 0;
    width: 100%;
}
#top_parts11 .spBanner .fixedBanner.customBanner .buttonItem a {
    font-size: 13px;
    line-height: 1;
    padding: 15px 16px;
    border-radius: 0;
    flex: 1;
    width: auto;
}
#top_parts11 .spBanner .fixedBanner.customBanner .buttonItem a::before {
    margin-right: 8px;
    width: 5px;
    height: 8px;
}
#top_parts11 .spBanner .fixedBanner.customBanner .mainText {
    color: #fff;
    font-size: 13px;
    padding-top: 6px;
    padding-bottom: 5px;
    line-height: 1.1;
}
#top_parts11 .spBanner .fixedBanner.customBanner .subText {
    line-height: 1.1;
    font-size: 9px;
}
#top_parts11 .spBanner .fixedBanner .closeButton {
    font-size: 28px;
    top: 0;
    left: 11px;
    color: #fff;
    width: 26px;
    height: 36px;
}

/* ---------------------------------------------
*   p-lower-page-xx
--------------------------------------------- */
#service_parts .servicesPlan {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0 20px 100px;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #service_parts .servicesPlan {
        padding: 0 20px 80px;
    }
}
#service_parts .servicesPlan h2 {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 64px;
    padding: 0;
    background: none;
    color: #1b5ed1;
    position: relative;
    padding-left: 24px;
}
@media (max-width: 768px) {
    #service_parts .servicesPlan h2 {
        font-size: 20px;
        line-height: 1.5;
        padding-left: 20px;
        margin-bottom: 24px;
    }
}
#service_parts .servicesPlan h2:before {
    content: "";
    position: absolute;
    top: 12px;
    left: 0;
    background-color: #1b5ed1;
    width: 12px;
    height: 12px;
    border-radius: 50%;
}
@media (max-width: 768px) {
    #service_parts .servicesPlan h2:before {
        width: 8px;
        height: 8px;
    }
}
#service_parts .servicesPlan p {
    font-size: 15px;
    line-height: 1.7;
}
#service_parts .servicesPlan p:last-of-type {
    margin-bottom: 48px;
}
@media (max-width: 768px) {
    #service_parts .servicesPlan p {
        font-size: 14px;
    }
    #service_parts .servicesPlan p:last-of-type {
        margin-bottom: 40px;
    }
}
#service_parts .list {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}
#service_parts .header {
    background: var(--color-main);
    padding: 32px 20px;
    border-radius: 8px 8px 0 0;
    color: #fff;
    text-align: center;
}
@media (max-width: 768px) {
    #service_parts .header {
        padding: 24px 16px;
    }
}
#service_parts .header p {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}
#service_parts .header p:last-of-type {
    margin-bottom: 0;
}
@media (max-width: 768px) {
    #service_parts .header p {
        font-size: 15px;
    }
}
#service_parts .header h3 {
    font-size: 24px;
    font-weight: 700;
}
@media (max-width: 768px) {
    #service_parts .header h3 {
        font-size: 20px;
    }
}
#service_parts .item {
    width: calc((100% - 48px) / 3);
    border: 1px solid #e9e9e9;
    border-radius: 8px;
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
    box-sizing: border-box;
    overflow: hidden;
    transition: 0.3s;
}
@media (max-width: 991px) {
    #service_parts .item {
        width: calc((100% - 24px) / 2);
    }
}
@media (max-width: 768px) {
    #service_parts .item {
        width: 100%;
    }
}
#service_parts .item :global(img) {
    display: block;
    max-width: 100%;
    height: auto;
    width: 100%;
}
#service_parts .item :global(span) {
    max-width: 100%;
    display: block;
}
#service_parts .description {
    padding: 28px 22px 48px;
    font-size: 15px;
    line-height: 1.7;
}
@media (max-width: 768px) {
    #service_parts .description {
        padding: 24px 22px 40px;
        font-size: 14px;
    }
}
#service_parts .description p.button {
    padding: 12px 0;
    margin: 24px auto 0;
    max-width: 292px;
    border-radius: 4px;
    border: 2px solid var(--color-link);
    background: #fff;
    color: var(--color-link);
    font-weight: 700;
    text-align: center;
    transition: 0.3s;
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
}
@media (max-width: 768px) {
    #service_parts .description p.button {
        font-size: 14px;
        max-width: 100%;
    }
}
#service_parts .item:hover {
    transform: translateY(-2px);
}
#service_parts .item:hover .description p.button {
    background: var(--color-link);
    color: #fff;
}

#service_parts2 .serviceList {
    padding: 0 20px;
    margin-bottom: 160px;
    color: #fff;
}
@media (max-width: 768px) {
    #service_parts2 .serviceList {
        margin-bottom: 120px;
    }
}
#service_parts2 .serviceList .inner {
    background: linear-gradient(130deg, #3da3f7 23.22%, #1b5ed1 99.89%);
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 64px 48px;
    display: flex;
    gap: 48px;
    position: relative;
    box-sizing: content-box;
    align-items: center;
}
@media (max-width: 768px) {
    #service_parts2 .serviceList .inner {
        flex-direction: column;
        padding: 48px 24px;
    }
}
#service_parts2 .serviceList .left {
    flex: 1;
}
#service_parts2 .serviceList .left .planTag {
    background: #fff;
    color: #01478d;
    display: inline-block;
    padding: 10px 20px;
    font-weight: 700;
    font-size: 22px;
    margin-bottom: 16px;
}
@media (max-width: 768px) {
    #service_parts2 .serviceList .left .planTag {
        font-size: 14px;
    }
}
#service_parts2 .serviceList .left .title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 40px;
}
@media (max-width: 768px) {
    #service_parts2 .serviceList .left .title {
        font-size: 24px;
    }
}
#service_parts2 .serviceList .left .title span {
    font-size: 22px;
}
@media (max-width: 768px) {
    #service_parts2 .serviceList .left .title span {
        font-size: 17px;
    }
}
#service_parts2 .serviceList .left .description {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 40px;
}
@media (max-width: 768px) {
    #service_parts2 .serviceList .left .description {
        font-size: 14px;
        margin-bottom: 32px;
    }
}
#service_parts2 .serviceList .left .button {
    padding: 20px 32px;
    border-radius: 4px;
    border: 2px solid var(--color-link);
    background: #fff;
    color: var(--color-link);
    font-weight: 700;
    transition: 0.3s;
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    max-width: 292px;
}
#service_parts2 .serviceList .left .button:hover {
    background: rgba(255, 255, 255, 0.85);
}
@media (max-width: 768px) {
    #service_parts2 .serviceList .left .button {
        font-size: 14px;
        padding: 16px 24px;
        max-width: 100%;
    }
}
#service_parts2 .serviceList .icons {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}
@media (max-width: 991px) {
    #service_parts2 .serviceList .icons {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 768px) {
    #service_parts2 .serviceList .icons {
        display: none;
    }
}
#service_parts2 .serviceList .item {
    text-align: center;
}
#service_parts2 .serviceList .item .iconCircle {
    width: 120px;
    height: 120px;
    background: #fff;
    border-radius: 50%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
}
#service_parts2 .serviceList .item .label {
    color: var(--color-text);
    font-weight: 700;
    font-size: 11px;
    line-height: 1.4;
    white-space: pre-line;
}
#service_parts2 .bgSP {
    display: none;
}
@media (max-width: 768px) {
    #service_parts2 .bgSP {
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        width: auto;
        height: 100%;
    }
}

/* ---------------------------------------------
*   サービス詳細用
--------------------------------------------- */
#service_detaile {
    /* 左側のベージュ背景 */
}
@media (max-width: 768px) {
    #service_detaile .serviceHeader {
        min-height: 100px !important;
    }
}
#service_detaile .service h2 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.7;
    color: var(--color-main);
    text-align: center;
    margin-bottom: 40px;
}
@media (max-width: 768px) {
    #service_detaile .service h2 {
        font-size: 23px;
        line-height: 1.5;
    }
}
#service_detaile .issue {
    max-width: var(--standard-width);
    padding: 0 20px 64px;
    margin: 0 auto;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #service_detaile .issue {
        padding: 0 20px 48px;
    }
}
#service_detaile .issue ul {
    display: flex;
    gap: 20px;
    justify-content: flex-start;
    flex-wrap: wrap;
}
@media (max-width: 768px) {
    #service_detaile .issue ul {
        flex-direction: column;
        gap: 8px;
    }
}
#service_detaile .issue li {
    background: var(--color-orange2);
    font-size: 19px;
    font-weight: 700;
    width: calc((100% - 40px) / 2);
    padding: 32px 16px 32px 56px;
    border-radius: 8px;
    position: relative;
}
@media (max-width: 768px) {
    #service_detaile .issue li {
        width: 100%;
        font-size: 15px;
        padding: 24px 16px 24px 40px;
    }
}
#service_detaile .issue li:before {
    content: "";
    position: absolute;
    left: 28px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background: url("/wp-content/themes/dreambase/assets/images/icon/check.svg") no-repeat center;
    border-radius: 50%;
    background-size: cover;
}
@media (max-width: 768px) {
    #service_detaile .issue li:before {
        left: 16px;
        width: 12px;
        height: 12px;
    }
}
#service_detaile .cando {
    background: var(--color-base);
}
#service_detaile .cando .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 100px 20px 64px;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #service_detaile .cando .inner {
        padding: 64px 20px 48px;
    }
}
#service_detaile .cando h2 br {
    display: none;
}
@media (max-width: 768px) {
    #service_detaile .cando h2 br {
        display: block;
    }
}
#service_detaile .cando h3 br {
    display: none;
}
@media (max-width: 768px) {
    #service_detaile .cando h3 br {
        display: block;
    }
}
#service_detaile .cando .candoList {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}
@media (max-width: 768px) {
    #service_detaile .cando .candoList {
        flex-direction: column;
        gap: 20px;
    }
}
#service_detaile .cando .candoItem {
    width: calc((100% - 80px) / 2);
    border-radius: 8px;
    padding: 0;
    background: #fff;
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
}
@media (max-width: 768px) {
    #service_detaile .cando .candoItem {
        width: 100%;
    }
}
#service_detaile .cando .candoName {
    font-size: 22px;
    font-weight: 700;
    border-radius: 8px 8px 0 0;
    background: #01478d;
    color: #fff;
    padding: 24px 16px;
    text-align: center;
}
@media (max-width: 768px) {
    #service_detaile .cando .candoName {
        font-size: 19px;
    }
}
#service_detaile .cando .contents {
    padding: 28px 40px 40px;
    font-size: 16px;
    line-height: 1.7;
    text-align: center;
}
@media (max-width: 768px) {
    #service_detaile .cando .contents {
        padding: 24px 16px 32px;
        font-size: 14px;
    }
}
#service_detaile .support {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 100px 20px 32px;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #service_detaile .support {
        padding: 64px 20px 16px;
    }
}
#service_detaile .support p {
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 32px;
}
@media (max-width: 768px) {
    #service_detaile .support p {
        font-size: 15px;
    }
}
#service_detaile .support img {
    display: block;
    max-width: 880px !important;
    width: 100%;
    height: auto;
    margin: 0 auto 40px;
}
@media (max-width: 768px) {
    #service_detaile .support img {
        margin-bottom: 32px;
    }
}
#service_detaile .support .content.pc {
    display: block;
}
@media (max-width: 768px) {
    #service_detaile .support .content.pc {
        display: none;
    }
}
#service_detaile .support .content.sp {
    display: none;
}
@media (max-width: 768px) {
    #service_detaile .support .content.sp {
        display: block;
    }
}
#service_detaile .case {
    background: var(--color-base);
}
#service_detaile .case .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 100px 20px 64px;
    box-sizing: content-box;
}
#service_detaile .condition {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 100px 20px 64px;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #service_detaile .condition {
        padding: 64px 20px 48px;
    }
}
#service_detaile .condition h2 br {
    display: none;
}
@media (max-width: 768px) {
    #service_detaile .condition h2 br {
        display: block;
    }
}
#service_detaile .condition dl {
    display: grid;
    grid-template-columns: 200px 1fr;
    max-width: 760px;
    margin: 0 auto;
    line-height: 1.7;
}
@media (max-width: 768px) {
    #service_detaile .condition dl {
        grid-template-columns: 120px 1fr;
        align-items: stretch;
    }
}
#service_detaile .condition dt {
    padding: 32px;
    font-weight: 700;
    border-bottom: 1px solid var(--color-main);
}
@media (max-width: 768px) {
    #service_detaile .condition dt {
        font-size: 15px;
        padding: 24px 0;
        align-self: stretch;
        display: flex;
        align-items: center;
    }
}
#service_detaile .condition dd {
    padding: 32px;
    border-bottom: 1px solid #cfcfcf;
}
@media (max-width: 768px) {
    #service_detaile .condition dd {
        font-size: 15px;
        padding: 24px 0;
        align-self: stretch;
    }
}
#service_detaile .recommend {
    background: var(--color-base);
    padding: 48px 20px;
}
@media (max-width: 768px) {
    #service_detaile .recommend {
        padding: 40px 20px;
    }
}
#service_detaile .recommend .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    box-sizing: content-box;
    display: flex;
    gap: 40px;
}
@media (max-width: 768px) {
    #service_detaile .recommend .inner {
        flex-direction: column;
        gap: 24px;
    }
}
#service_detaile .recommend .card {
    flex: 1;
    background: #fff;
    padding: 0;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
}
#service_detaile .recommend .title {
    font-size: 22px;
    font-weight: 700;
    background: #02488d;
    border-radius: 8px 8px 0 0;
    text-align: center;
    color: #fff;
    padding: 24px 16px;
    line-height: 1.5;
}
@media (max-width: 768px) {
    #service_detaile .recommend .title {
        font-size: 19px;
    }
}
#service_detaile .recommend .title span {
    font-size: 20px;
}
@media (max-width: 768px) {
    #service_detaile .recommend .title span {
        font-size: 19px;
        display: block;
    }
}
#service_detaile .recommend ul {
    list-style: disc;
    padding: 32px 40px 40px;
    line-height: 1.7;
    margin-left: 1em;
    height: 100%;
    align-items: center;
}
@media (max-width: 768px) {
    #service_detaile .recommend ul {
        padding: 24px 16px 40px;
        font-size: 14px;
        line-height: 1.8;
    }
}
#service_detaile .recommend li {
    margin-bottom: 8px;
}
#service_detaile .moreLink {
    display: block;
    font-size: 14px;
}
@media (max-width: 768px) {
    #service_detaile .moreLink {
        font-size: 12px;
    }
}
#service_detaile .moreLink a {
    color: var(--color-link);
}
#service_detaile .moreLink a:hover {
    text-decoration: underline;
}
#service_detaile .flow {
    padding: 100px 20px 20px;
    max-width: var(--standard-width);
    margin: 0 auto;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #service_detaile .flow {
        padding: 64px 20px 16px;
    }
}
#service_detaile .flowItem {
    display: grid;
    grid-template-columns: 312px 1fr;
    border: 1px solid #f0f0f0;
    padding: 0;
    margin-bottom: 44px;
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
    position: relative;
}
@media (max-width: 768px) {
    #service_detaile .flowItem {
        grid-template-columns: 1fr;
        margin-bottom: 32px;
    }
}
#service_detaile .flowItem::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 12px 0 12px;
    border-color: #01478d transparent transparent transparent;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -30px;
}
#service_detaile .flowItem:last-child::after {
    display: none;
}
#service_detaile .flowItem dt {
    background: var(--color-orange2);
    padding: 48px 40px;
}
@media (max-width: 768px) {
    #service_detaile .flowItem dt {
        padding: 28px 22px;
    }
}
#service_detaile .flowTitle {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}
@media (max-width: 768px) {
    #service_detaile .flowTitle {
        font-size: 20px;
    }
    #service_detaile .flowTitle br {
        display: none;
    }
}
#service_detaile .stepLabel {
    color: var(--color-orange);
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
}
@media (max-width: 768px) {
    #service_detaile .stepLabel {
        margin-bottom: 10px;
        font-size: 14px;
    }
}
#service_detaile .stepNumber {
    margin-left: 4px;
    color: var(--color-orange1);
    font-weight: 700;
    font-size: 24px;
}
@media (max-width: 768px) {
    #service_detaile .stepNumber {
        font-size: 20px;
        margin-left: 2px;
    }
}
#service_detaile .flowDescription {
    padding: 56px 24px;
    font-size: 16px;
    line-height: 1.7;
}
@media (max-width: 768px) {
    #service_detaile .flowDescription {
        padding: 28px 22px;
        font-size: 15px;
    }
}
#service_detaile .flowDescription ul {
    list-style: disc;
    margin-left: 1em;
}
#service_detaile .flowDescription a {
    color: var(--color-link);
}
#service_detaile .flowDescription a:hover {
    text-decoration: underline;
}
#service_detaile .additional {
    text-align: center;
    line-height: 1.7;
    margin-bottom: 44px;
}
@media (max-width: 768px) {
    #service_detaile .additional {
        text-align: left;
        margin-bottom: 32px;
    }
}
#service_detaile .agent {
    background: var(--color-base);
}
#service_detaile .agent .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 100px 20px 64px;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #service_detaile .agent .inner {
        padding: 64px 20px 48px;
    }
}
#service_detaile .agent .box {
    display: flex;
    gap: 40px;
}
@media (max-width: 768px) {
    #service_detaile .agent .box {
        flex-direction: column;
        gap: 48px;
    }
}
#service_detaile .faq {
    max-width: 880px;
    margin: 0 auto;
    padding: 100px 0 64px;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #service_detaile .faq {
        padding: 64px 0 48px;
    }
}

/* ---------------------------------------------
*   Diagnosis
--------------------------------------------- */
#service_detaile2 {
    /* ===== 上：できること ===== */
    /* ===== 下：診断フォーム ===== */
}
#service_detaile2 .diagnosis {
    padding: 0 0 64px;
}
#service_detaile2 .quickBar {
    background: #01478d;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    padding: 32px 16px;
    border-radius: 8px 8px 0 0;
}
@media (max-width: 768px) {
    #service_detaile2 .quickBar {
        font-size: 19px;
        padding: 28px 16px;
    }
}
#service_detaile2 .body {
    background: #fff;
    border-radius: 8px;
    padding: 32px 64px;
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
}
@media (max-width: 768px) {
    #service_detaile2 .body {
        padding: 28px 16px 40px;
    }
}
#service_detaile2 .quickLead {
    text-align: center;
    font-size: 18px;
    padding: 0 0 32px;
    line-height: 1.6;
}
@media (max-width: 768px) {
    #service_detaile2 .quickLead {
        font-size: 14px;
        padding: 0 0 16px;
    }
}
#service_detaile2 .quickLead br {
    display: none;
}
@media (max-width: 768px) {
    #service_detaile2 .quickLead br {
        display: block;
    }
}
#service_detaile2 .quickTable {
    border-radius: 6px;
    overflow: hidden;
}
#service_detaile2 .quickHeadRow {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
}
#service_detaile2 .quickHeadLeft {
    background: #fff4c5;
    padding: 28px 32px;
    font-size: 20px;
    font-weight: 700;
    border-right: 1px solid #fff;
}
@media (max-width: 768px) {
    #service_detaile2 .quickHeadLeft {
        font-size: 15px;
        padding: 20px 16px;
    }
}
#service_detaile2 .quickHeadRight {
    background: #feebdf;
    padding: 28px 32px;
    font-size: 20px;
    font-weight: 700;
    border-bottom: 1px solid #fff;
}
@media (max-width: 768px) {
    #service_detaile2 .quickHeadRight {
        font-size: 15px;
        padding: 20px 16px;
    }
}
#service_detaile2 .quickRow {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    background: #fff;
}
#service_detaile2 .quickRow:nth-of-type(4) {
    border-bottom: 1px solid #fff;
}
#service_detaile2 .quickLeft {
    background: #fffaf0;
    padding: 18px 22px;
    display: flex;
    gap: 16px;
    align-items: center;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}
@media (max-width: 768px) {
    #service_detaile2 .quickLeft {
        padding: 14px 16px;
        gap: 6px;
    }
}
#service_detaile2 .quickRight {
    background: #fbf1ea;
    padding: 18px 22px;
    display: flex;
    align-items: center;
}
@media (max-width: 768px) {
    #service_detaile2 .quickRight {
        padding: 14px 16px;
        font-size: 14px;
    }
}
#service_detaile2 .no {
    min-width: 42px;
    font-family: "Helvetica", "Arial", sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: var(--color-orange1);
}
@media (max-width: 768px) {
    #service_detaile2 .no {
        font-size: 20px;
        min-width: 24px;
    }
}
#service_detaile2 .qText {
    font-size: 18px;
}
@media (max-width: 768px) {
    #service_detaile2 .qText {
        font-size: 14px;
    }
}
#service_detaile2 .quickFoot {
    font-size: 18px;
    text-align: center;
    margin: 64px 0 24px;
}
@media (max-width: 768px) {
    #service_detaile2 .quickFoot {
        font-size: 14px;
        margin: 40px 0 16px;
    }
}
#service_detaile2 .quickChips {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    justify-content: center;
    padding-bottom: 10px;
}
@media (max-width: 768px) {
    #service_detaile2 .quickChips {
        gap: 8px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
#service_detaile2 .chip {
    background: var(--color-orange2);
    border: 1px solid #ece5db;
    border-radius: 8px;
    padding: 32px 16px;
    text-align: center;
    font-size: 19px;
    font-weight: 700;
}
@media (max-width: 768px) {
    #service_detaile2 .chip {
        font-size: 14px;
        padding: 20px 12px;
    }
}
#service_detaile2 .formResult {
    background: #fff;
    padding: 100px 0;
    margin: 0 calc(50% - 50vw);
}
@media (max-width: 768px) {
    #service_detaile2 .formResult {
        padding: 64px 0 40px;
        margin: 0;
    }
}
#service_detaile2 .formHeading {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    color: var(--color-main);
    margin-bottom: 40px;
}
#service_detaile2 .formHeading br {
    display: none;
}
@media (max-width: 768px) {
    #service_detaile2 .formHeading br {
        display: block;
    }
}
#service_detaile2 .formBar {
    background: #01478d;
    color: #fff;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    padding: 24px 16px;
    border-radius: 8px 8px 0 0;
    max-width: 880px;
    margin: 0 auto;
}
#service_detaile2 .items {
    max-width: 880px;
    margin: 0 auto;
    background: #fff;
    border-radius: 12px;
    padding: 32px 64px 56px;
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
}
#service_detaile2 .item {
    padding: 0;
}
#service_detaile2 .item:first-child {
    border-top: none;
}
#service_detaile2 .itemTitleRow {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px;
    background: #fffbf0;
}
#service_detaile2 .noPill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    font-family: "Helvetica", Arial, sans-serif;
    color: var(--color-orange1);
    padding-right: 24px;
    border-right: 1px solid #ecd79c;
}
#service_detaile2 .itemTitle {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
}
#service_detaile2 .options {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 22px;
    padding: 16px 0 16px 72px;
}
#service_detaile2 .opt {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
#service_detaile2 .checkbox {
    width: 24px;
    height: 24px;
    /* Ensure native radio/checkbox UI is shown and looks circular for radios */
    appearance: auto;
    -webkit-appearance: radio;
    -moz-appearance: radio;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid #cfcfcf;
    background: transparent;
    accent-color: #13a56b;
}
#service_detaile2 .optHint {
    margin-left: 10px;
    font-size: 12px;
    color: #666;
}
#service_detaile2 .meta {
    margin: 10px 6px 0;
    border-top: 1px dashed rgba(0, 0, 0, 0.1);
    padding-top: 10px;
}
#service_detaile2 .metaRow {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 12px;
    padding: 6px 0;
}
#service_detaile2 .metaLabel {
    color: #666;
    font-size: 13px;
}
#service_detaile2 .metaValue {
    color: #222;
    font-weight: 600;
    font-size: 13px;
}
#service_detaile2 .downArrow {
    width: 0;
    height: 0;
    margin: 22px auto;
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-top: 16px solid #01478d;
}
#service_detaile2 .resultSection {
    background: var(--color-orange2);
    max-width: 880px;
    margin: 0 auto;
    padding: 32px 0 0;
    border-radius: 8px;
    box-sizing: content-box;
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
}
#service_detaile2 .result {
    max-width: 784px;
    margin: 0 auto 10px;
    background: #fff;
    border-radius: 8px;
    display: grid;
    grid-template-columns: 180px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 0;
}
#service_detaile2 .resultBadge {
    background: #009a74;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    border-radius: 8px 0 0 8px;
    text-align: center;
    padding: 40px 10px;
}
#service_detaile2 .resultTitle {
    font-size: 30px;
    font-weight: 700;
    color: var(--color-orange1);
    padding-left: 24px;
}
#service_detaile2 .resultDesc {
    margin: 0;
    font-size: 16px;
    text-align: center;
    margin-bottom: 40px;
}
#service_detaile2 .resultScore {
    color: #666;
    font-size: 12px;
    white-space: nowrap;
    padding-right: 24px;
}
#service_detaile2 .alert {
    margin: 0 auto;
    background: #e0695a;
    color: #fff;
    border-radius: 0 0 8px 8px;
    padding: 40px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    display: flex;
    align-items: center;
    gap: 24px;
}
#service_detaile2 .alert img {
    flex-shrink: 0;
}
#service_detaile2 .next {
    max-width: 880px;
    margin: 0 auto;
    background: var(--color-orange2);
    border-radius: 8px;
    padding: 64px 48px 40px;
    display: grid;
    grid-template-columns: 1fr 175px;
    gap: 0;
    align-items: center;
}
#service_detaile2 .nextSub {
    margin: 0 0 32px;
    line-height: 1.7;
}
#service_detaile2 .nextLinks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
#service_detaile2 .nextLink {
    border: 1px solid #ecd79c;
    border-radius: 4px;
    padding: 16px 6px 16px 14px;
    font-weight: 700;
    font-size: 15px;
    background: #fff;
    display: flex;
    gap: 4px;
    align-items: center;
}
#service_detaile2 .nextLinkNumber {
    color: var(--color-orange1);
    font-weight: 700;
    font-size: 15px;
    font-family: "Helvetica", Arial, sans-serif;
}
#service_detaile2 .nextLinkText {
    flex: 1 1 auto;
}
#service_detaile2 .nextIllust {
    display: grid;
    place-items: center;
    position: relative;
}
#service_detaile2 .nextIllust img {
    position: absolute;
    bottom: -49px;
    left: -15px;
    z-index: 1;
}
#service_detaile2 .person {
    width: 175px;
    height: 175px;
    border-radius: 50%;
    background: #e5f0f4;
    transform: translateY(-14px);
    z-index: 0;
}
@media (max-width: 768px) {
    #service_detaile2 .form {
        display: none;
    }
}
#service_detaile2 .formSP {
    display: none;
}
@media (max-width: 768px) {
    #service_detaile2 .formSP {
        display: block;
        margin: 0 auto;
    }
}

/* ---------------------------------------------
*   replacement
--------------------------------------------- */
#service_detaile3 .replacement {
    padding: 100px 20px 64px;
    background: var(--color-base);
}
@media (max-width: 768px) {
    #service_detaile3 .replacement {
        padding: 64px 20px 48px;
    }
}
#service_detaile3 .replacement h2 br {
    display: none;
}
@media (max-width: 768px) {
    #service_detaile3 .replacement h2 br {
        display: block;
    }
}
#service_detaile3 .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    box-sizing: content-box;
}
#service_detaile3 .tableWrap {
    max-width: 880px;
    margin: 0 auto 32px;
    border-radius: 8px;
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
}
@media (max-width: 991px) {
    #service_detaile3 .tableWrap {
        display: none;
    }
}
#service_detaile3 .table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}
#service_detaile3 .table th {
    background: #01478d;
    color: #fff;
    padding: 24px;
    font-size: 20px;
    font-weight: 700;
    border-right: 1px solid #fff;
}
#service_detaile3 .table th:last-child {
    border-right: none;
}
#service_detaile3 .table td {
    padding: 16px 20px;
    font-size: 16px;
    white-space: nowrap;
    border-right: 1px solid #fff;
}
#service_detaile3 .table td:last-child {
    border-right: none;
}
#service_detaile3 .table tbody tr:nth-child(even) td {
    background: #f7f8fa;
}
#service_detaile3 .table tbody tr:last-child td {
    border-bottom: none;
}
#service_detaile3 .tableSP {
    display: none;
}
@media (max-width: 991px) {
    #service_detaile3 .tableSP {
        display: block;
        max-width: 100%;
        margin: 0 auto;
    }
}
#service_detaile3 .tableSP .tableItem,
#service_detaile3 .tableSP .tableItem2 {
    display: grid;
    grid-template-columns: 104px 1fr;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    margin-bottom: 12px;
}
#service_detaile3 .tableSP .tableItem dt,
#service_detaile3 .tableSP .tableItem dd,
#service_detaile3 .tableSP .tableItem2 dt,
#service_detaile3 .tableSP .tableItem2 dd {
    padding: 16px 10px;
    font-size: 14px;
    line-height: 1.6;
}
#service_detaile3 .tableSP .tableItem dt,
#service_detaile3 .tableSP .tableItem2 dt {
    background: #01478d;
    color: #fff;
    font-weight: 700;
    border-top: 1px solid #fff;
}
#service_detaile3 .tableSP .tableItem dd,
#service_detaile3 .tableSP .tableItem2 dd {
    background: #fff;
    border-top: 1px solid #e6eaf0;
    border-right: 1px solid #e6eaf0;
}
#service_detaile3 .tableSP .tableItem dd:first-of-type,
#service_detaile3 .tableSP .tableItem2 dd:first-of-type {
    border-radius: 0 8px 0 0;
}
#service_detaile3 .tableSP .tableItem dd:last-of-type,
#service_detaile3 .tableSP .tableItem2 dd:last-of-type {
    border-radius: 0 0 8px 0;
    border-bottom: 1px solid #e6eaf0;
}
#service_detaile3 .tableSP .tableItem2 dd {
    background: #f7f8fa;
}
#service_detaile3 .note {
    text-align: center;
    font-size: 16px;
    line-height: 1.7;
}
@media (max-width: 768px) {
    #service_detaile3 .note {
        margin-top: 24px;
    }
}
#service_detaile3 .cards {
    max-width: var(--standard-width);
    margin: 100px auto;
    padding: 0 20px;
    box-sizing: content-box;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}
@media (max-width: 768px) {
    #service_detaile3 .cards {
        grid-template-columns: 1fr;
        margin: 64px auto 48px;
    }
}
#service_detaile3 .card {
    display: block;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
    text-decoration: none;
}
#service_detaile3 .card:hover {
    transform: translateY(-5px);
    transition: 0.3s;
    filter: brightness(1.2);
}
#service_detaile3 .cardHead {
    background: #01478d;
    color: #fff;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    padding: 32px 16px;
    line-height: 1.5;
}
@media (max-width: 768px) {
    #service_detaile3 .cardHead {
        font-size: 19px;
        padding: 24px 16px;
    }
}
#service_detaile3 .cardHead br {
    display: none;
}
@media (max-width: 768px) {
    #service_detaile3 .cardHead br {
        display: block;
    }
}
#service_detaile3 .cardImage {
    position: relative;
    aspect-ratio: 546/335;
    background: #fff;
    margin: 32px 0 0 32px;
}
@media (max-width: 768px) {
    #service_detaile3 .cardImage {
        margin: 14px 0 0 18px;
        aspect-ratio: 317/183;
    }
}
#service_detaile3 .img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

/* ---------------------------------------------
*   simulator
--------------------------------------------- */
#service_detaile4 {
    /* ===（Simulator1用）=== */
    /* ===== 上段：入力＋結果 ===== */
    /* 入力 */
    /* 結果 */
    /* ===== 下段：注意書き＋計算式 ===== */
    /* 右側の計算式（バッジ） */
    /* notesの下の「※業者買取…」(amountBody直下の最後のpを狙う) */
    /* ===（Simulator2用）=== */
    /* ===（Simulator3用）=== */
    /* --- 左：物件価格（カード化） --- */
    /* 注記はカードの外にあるように見せる */
    /* --- 右側：結果2枚 --- */
    /* 金額表示（右の有料のみ基本使う） */
    /* disabled 表示 */
    /* お得額 */
    /* === 無料の場合（中央）=== */
    /* === 無料にできない場合（右）=== */
}
#service_detaile4 .simulator {
    padding: 80px 20px 64px;
    background: linear-gradient(130deg, #3da3f7 23.22%, #1b5ed1 99.89%);
}
@media (max-width: 768px) {
    #service_detaile4 .simulator {
        padding: 80px 20px;
    }
}
#service_detaile4 .inner {
    max-width: 780px;
    margin: 0 auto;
}
#service_detaile4 h2.heading {
    text-align: center;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 40px;
}
#service_detaile4 .card {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 40px;
    background: #fff;
    border-radius: 8px;
    padding: 48px;
}
@media (max-width: 768px) {
    #service_detaile4 .card {
        grid-template-columns: 1fr;
        padding: 24px 20px;
        row-gap: 16px;
        /* モバイルでは 1列表示。デフォルトは DOM 順 (1,2,3) だが、注記を1の下にしたいので
         2番目カラムを最後に、3番目（note）を2番目に配置する */
    }
    #service_detaile4 .card > .column:nth-child(2) {
        grid-row: 3;
    }
    #service_detaile4 .card > .column:nth-child(3) {
        grid-row: 2;
    }
}
#service_detaile4 .column {
    display: flex;
    flex-direction: column;
}
#service_detaile4 .columnHeader {
    background: #a0b1c1;
    border-radius: 8px 8px 0 0;
    padding: 18px 16px;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    color: #fff;
}
#service_detaile4 .valueBox {
    border: 1px solid #e3e5ea;
    border-top: none;
    border-radius: 0 0 8px 8px;
    background: #fff;
    padding: 16px 20px 24px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    min-height: 109px;
}
#service_detaile4 .valueBoxError {
    background: #fff4f4;
    border-color: #f0b4b4;
}
#service_detaile4 .amountInput {
    border: none;
    background: var(--color-base);
    border-radius: 6px;
    padding: 16px 20px;
    font-size: 32px;
    font-weight: 700;
    width: 100%;
    max-width: 180px;
    text-align: center;
    box-shadow: inset 0 0 0 1px #eef0f4;
    /* number input の矢印を消す（Chrome） */
    /* Firefox */
}
#service_detaile4 .amountInput:focus {
    outline: none;
    box-shadow: inset 0 0 0 2px #4fa9ff;
}
#service_detaile4 .amountInput::-webkit-inner-spin-button, #service_detaile4 .amountInput::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
#service_detaile4 .amountInput[type=number] {
    -moz-appearance: textfield;
}
#service_detaile4 .unit {
    margin-left: 8px;
    font-size: 20px;
    font-weight: 700;
}
#service_detaile4 .taxLabel {
    font-size: 12px;
    margin-left: 2px;
}
#service_detaile4 .resultNumber {
    font-size: 44px;
    font-weight: 700;
    color: #009a74;
    min-width: 80px;
    text-align: right;
    padding-top: 10px;
}
#service_detaile4 .errorText {
    font-size: 14px;
    line-height: 1.6;
    text-align: center;
    color: #c0392b;
}
#service_detaile4 .freeRow {
    padding: 16px 20px;
    border-radius: 8px;
    background: #fefaf0;
    color: var(--color-orange1);
    font-size: 20px;
    font-weight: 700;
    text-align: center;
}
#service_detaile4 .note {
    font-size: 14px;
    text-align: left;
    line-height: 1.7;
    text-indent: -1em;
    padding-left: 1em;
}
@media (max-width: 768px) {
    #service_detaile4 .note {
        font-size: 12px;
    }
}
#service_detaile4 .link {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-top: 48px;
}
@media (max-width: 768px) {
    #service_detaile4 .link {
        margin-top: 32px;
    }
}
#service_detaile4 .link a {
    display: flex;
    border-radius: 8px;
    border: 2px solid var(--color-link);
    background: #fff;
    padding: 24px;
    color: var(--color-link);
    width: 370px;
    max-width: 100%;
    flex-direction: row-reverse;
    justify-content: center;
    gap: 14px;
    align-items: center;
    font-weight: 700;
}
#service_detaile4 .link a:hover {
    background: var(--color-link);
    color: #fff;
}
#service_detaile4 .amount {
    padding: 0;
}
#service_detaile4 .amountBody {
    max-width: 780px;
    margin: 0 auto;
    box-sizing: content-box;
    background: #fff;
    border-radius: 8px;
    padding: 48px;
}
@media (max-width: 768px) {
    #service_detaile4 .amountBody {
        padding: 20px 14px 24px;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-areas: "input" "noteLeft" "result" "badge" "bottom";
        row-gap: 12px;
    }
}
#service_detaile4 .calcFlex {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 44px;
    align-items: start;
}
@media (max-width: 768px) {
    #service_detaile4 .calcFlex {
        display: contents;
    }
}
#service_detaile4 .inputArea,
#service_detaile4 .resultArea {
    border: 1px solid #cfcfcf;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}
@media (max-width: 768px) {
    #service_detaile4 .inputArea {
        grid-area: input;
    }
}
@media (max-width: 768px) {
    #service_detaile4 .resultArea {
        grid-area: result;
    }
}
#service_detaile4 .areaLabel {
    margin: 0;
    background: #a0b1c1;
    color: #fff;
    font-weight: 700;
    text-align: center;
    padding: 20px 16px 14px;
    font-size: 20px;
}
#service_detaile4 .amountField {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 36px 28px 42px;
}
#service_detaile4 .amountField input {
    width: 100%;
    height: 55px;
    background: var(--color-base);
    border-radius: 6px;
    border: none;
    outline: none;
    text-align: center;
    font-weight: 700;
    font-size: 32px;
    -moz-appearance: textfield;
}
#service_detaile4 .amountField input::-webkit-outer-spin-button, #service_detaile4 .amountField input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
#service_detaile4 .amountField input::-moz-placeholder {
    color: #b9c3cf;
    font-weight: 700;
}
#service_detaile4 .amountField input::placeholder {
    color: #b9c3cf;
    font-weight: 700;
}
#service_detaile4 .amountField p {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    white-space: nowrap;
}
#service_detaile4 .resultPrice {
    margin: 0;
    padding: 44px 28px 48px;
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 14px;
    text-align: center;
}
#service_detaile4 .resultPrice span:first-child {
    font-size: 44px;
    font-weight: 700;
    color: #009a74;
    line-height: 1;
}
#service_detaile4 .resultPrice span:last-child {
    font-size: 20px;
    font-weight: 700;
    white-space: nowrap;
}
#service_detaile4 .resultPrice span:last-child span {
    font-size: 16px;
    margin-left: 2px;
    color: var(--color-text);
}
#service_detaile4 .disabled span:first-child {
    color: #b8c1cc;
}
#service_detaile4 .error {
    padding: 38px 28px;
    color: #d14b4b;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.6;
    text-align: center;
}
#service_detaile4 .notes {
    margin: 16px 0 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 44px;
    align-items: start;
}
@media (max-width: 768px) {
    #service_detaile4 .notes {
        display: contents;
        margin: 0;
    }
}
#service_detaile4 .noteLeft {
    font-size: 14px;
    line-height: 1.7;
}
@media (max-width: 768px) {
    #service_detaile4 .noteLeft {
        grid-area: noteLeft;
        font-size: 12px;
        line-height: 1.7;
        padding: 0 2px;
    }
}
#service_detaile4 .noteLeft p {
    margin: 0;
}
#service_detaile4 .noteRight {
    display: flex;
    justify-content: flex-end;
}
@media (max-width: 768px) {
    #service_detaile4 .noteRight {
        grid-area: badge;
        justify-content: center;
    }
}
#service_detaile4 .formulaBadge {
    width: 100%;
    background: var(--color-orange2);
    color: var(--color-orange1);
    border-radius: 8px;
    text-align: center;
    font-weight: 700;
    padding: 18px 14px;
    font-size: 20px;
    white-space: nowrap;
}
#service_detaile4 .amountBody > p:last-child {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
}
@media (max-width: 768px) {
    #service_detaile4 .amountBody > p:last-child {
        grid-area: bottom;
        font-size: 13px;
        margin-top: 6px;
    }
}
#service_detaile4 .card.straight .memo,
#service_detaile4 .card.straight .example {
    grid-column: 1/-1;
    width: 100%;
}
@media (max-width: 767px) {
    #service_detaile4 .card.straight .memo,
    #service_detaile4 .card.straight .example {
        grid-column: 1/-1;
        width: 100%;
    }
}
#service_detaile4 .card.straight .formulaBadge {
    display: flex;
    justify-content: center;
}
#service_detaile4 .capRow {
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--color-orange2);
}
#service_detaile4 .capText {
    color: var(--color-orange1);
    border-radius: 8px;
    text-align: center;
    font-weight: 700;
    padding: 18px 4px;
    font-size: 15px;
    white-space: nowrap;
}
#service_detaile4 .subNote {
    margin-top: 32px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.7;
    text-align: left;
    padding-left: 1em;
    text-indent: -1em;
}
#service_detaile4 .example {
    background: #f6faff;
    border-radius: 8px;
    padding: 28px 40px 20px;
}
@media (max-width: 768px) {
    #service_detaile4 .example {
        padding: 32px 16px;
    }
}
#service_detaile4 .exampleTitle {
    margin: 0 0 24px;
    font-size: 15px;
    font-weight: 700;
}
@media (max-width: 768px) {
    #service_detaile4 .exampleTitle {
        text-align: center;
    }
}
#service_detaile4 .exampleTitle span {
    font-size: 16px;
}
@media (max-width: 768px) {
    #service_detaile4 .exampleTitle span {
        display: block;
    }
}
#service_detaile4 .exampleGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media (max-width: 767px) {
    #service_detaile4 .exampleGrid {
        grid-template-columns: 1fr;
    }
}
#service_detaile4 .exampleCard {
    background: #fff;
    border: 1px solid #cfcfcf;
    border-radius: 4px;
    padding: 20px 8px 24px;
    text-align: center;
}
#service_detaile4 .exampleHead {
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 700;
}
#service_detaile4 .exampleValue {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #009a74;
}
#service_detaile4 .sim3 {
    max-width: var(--standard-width);
    margin: 0 -210px;
    background: #fff;
    border-radius: 8px;
    padding: 48px;
    display: grid;
    grid-template-columns: 340px 1fr 1fr;
    gap: 20px;
    align-items: start;
}
@media (max-width: 1240px) {
    #service_detaile4 .sim3 {
        margin: 0 -160px;
    }
}
@media (max-width: 1110px) {
    #service_detaile4 .sim3 {
        margin: 0 -100px;
        grid-template-columns: 300px 1fr 1fr;
    }
}
@media (max-width: 1000px) {
    #service_detaile4 .sim3 {
        margin: 0 -50px;
        grid-template-columns: 300px 1fr 1fr;
    }
}
@media (max-width: 991px) {
    #service_detaile4 .sim3 {
        grid-template-columns: 1fr;
        gap: 16px;
        margin: 0 auto;
        padding: 24px 16px;
    }
}
#service_detaile4 .sim3Amount {
    background: transparent;
    border-radius: 0;
    padding: 0 20px 0 0;
    margin: 0;
}
@media (max-width: 991px) {
    #service_detaile4 .sim3Amount {
        padding: 0;
    }
}
#service_detaile4 .sim3AmountHeading {
    margin: 0;
    background: #a0b1c1;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    padding: 18px 16px;
    border-radius: 8px 8px 0 0;
    /* 画像の「ヘッダー高」に寄せる */
}
@media (max-width: 991px) {
    #service_detaile4 .sim3AmountHeading {
        font-size: 18px;
        padding: 16px 14px;
    }
}
#service_detaile4 .sim3AmountBody {
    border: 1px solid #cfcfcf;
    border-top: none;
    border-radius: 0 0 8px 8px;
    background: #fff;
    /* 中央寄せ＋高さ感 */
    padding: 22px 20px 26px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 130px;
}
@media (max-width: 991px) {
    #service_detaile4 .sim3AmountBody {
        min-height: auto;
        padding: 18px 16px 20px;
    }
}
#service_detaile4 .sim3AmountField {
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 10px;
}
#service_detaile4 .sim3AmountField input {
    width: 100%;
    max-width: 220px;
    height: 64px;
    border-radius: 6px;
    border: none;
    background: var(--color-base);
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    box-shadow: inset 0 0 0 1px #eef0f4;
    -moz-appearance: textfield;
}
#service_detaile4 .sim3AmountField input:focus {
    outline: none;
    box-shadow: inset 0 0 0 2px #4fa9ff;
}
#service_detaile4 .sim3AmountField input::-webkit-outer-spin-button, #service_detaile4 .sim3AmountField input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
@media (max-width: 991px) {
    #service_detaile4 .sim3AmountField input {
        max-width: 180px;
        height: 56px;
        font-size: 36px;
    }
}
#service_detaile4 .sim3AmountField p {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    white-space: nowrap;
}
#service_detaile4 .sim3AmountNote {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.7;
}
#service_detaile4 .sim3AmountNote p {
    margin: 0;
}
@media (max-width: 991px) {
    #service_detaile4 .sim3AmountNote {
        font-size: 12px;
        margin-top: 10px;
    }
}
#service_detaile4 .sim3Result {
    /* 2枚を右側に並べる（親 .sim3 の2～3列を使用） */
    grid-column: 2/4;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 20px;
}
@media (max-width: 991px) {
    #service_detaile4 .sim3Result {
        grid-column: auto;
        grid-template-columns: 1fr;
        gap: 16px;
    }
}
#service_detaile4 .sim3Col {
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    border: 1px solid #cfcfcf;
}
#service_detaile4 .sim3Heading {
    margin: 0;
    background: #a0b1c1;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    padding: 18px 16px;
}
@media (max-width: 991px) {
    #service_detaile4 .sim3Heading {
        font-size: 18px;
        padding: 16px 14px;
    }
}
#service_detaile4 .sim3Body {
    padding: 28px 20px 22px;
    text-align: center;
    min-height: 130px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media (max-width: 991px) {
    #service_detaile4 .sim3Body {
        min-height: auto;
    }
}
#service_detaile4 .sim3Price {
    margin: 0 0 10px;
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 6px;
}
#service_detaile4 .sim3Price span:first-child {
    font-size: 44px;
    font-weight: 700;
    color: #009a74;
    line-height: 1;
}
@media (max-width: 991px) {
    #service_detaile4 .sim3Price span:first-child {
        font-size: 52px;
    }
}
#service_detaile4 .sim3Man {
    font-size: 20px;
    font-weight: 700;
}
#service_detaile4 .sim3Tax {
    font-size: 16px !important;
    margin-left: 4px;
    font-weight: 700 !important;
    color: #333;
}
#service_detaile4 .disabled span:first-child {
    color: #b8c1cc;
}
#service_detaile4 .sim3Diff {
    margin-top: 10px;
    font-size: 18px;
    font-weight: 800;
    color: var(--color-orange1);
}
#service_detaile4 .sim3Diff span {
    color: var(--color-orange1);
    font-size: 32px;
    /* 添付の強調に寄せる */
    margin: 0 6px;
}
@media (max-width: 991px) {
    #service_detaile4 .sim3Diff {
        font-size: 16px;
    }
    #service_detaile4 .sim3Diff span {
        font-size: 28px;
    }
}
#service_detaile4 .sim3ColFree {
    /* 0円表示は見せず「無料」を主役にする */
    /* 「無料」大表示（バッジではなく素テキスト） */
}
#service_detaile4 .sim3ColFree .sim3Heading {
    background: #a0b1c1;
    /* 添付はどれも同系色なので統一 */
}
#service_detaile4 .sim3ColFree .sim3Price {
    display: none;
}
#service_detaile4 .sim3ColFree .sim3Formula {
    margin: 0 0 6px;
    padding: 0;
    background: transparent;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--color-text);
}
#service_detaile4 .sim3Formula {
    margin: 0 auto;
    display: inline-block;
    padding: 10px 18px;
    border-radius: 8px;
    background: var(--color-orange2);
    color: var(--color-orange1);
    font-size: 20px;
    font-weight: 700;
    white-space: nowrap;
    grid-column: 2;
    /* 右列に配置 */
    justify-self: stretch;
    width: 100%;
    text-align: center;
}
@media (max-width: 991px) {
    #service_detaile4 .sim3Formula {
        grid-column: auto;
        padding: 16px 14px;
    }
}

/* ---------------------------------------------
*   casestady
--------------------------------------------- */
#service_detaile5 .case {
    background: var(--color-base);
}
#service_detaile5 .case .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 80px 20px 64px;
}
@media (max-width: 768px) {
    #service_detaile5 .case .inner {
        padding: 60px 20px;
    }
}
#service_detaile5 .case .inner h2 br {
    display: none;
}
@media (max-width: 768px) {
    #service_detaile5 .case .inner h2 br {
        display: block;
    }
}
#service_detaile5 .caseList {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: center;
}
@media (max-width: 768px) {
    #service_detaile5 .caseList {
        gap: 24px;
        flex-direction: column;
    }
}
#service_detaile5 .caseItem {
    width: calc((100% - 40px) / 2);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
}
@media (max-width: 768px) {
    #service_detaile5 .caseItem {
        width: 100%;
        padding: 40px 22px;
    }
}
#service_detaile5 .caseItem .casePeriod {
    display: flex;
    font-size: 14px;
    width: 100%;
    line-height: 1.7;
    margin-bottom: 32px;
}
@media (max-width: 768px) {
    #service_detaile5 .caseItem .casePeriod {
        font-size: 13px;
    }
}
#service_detaile5 .caseItem .casePeriod dt {
    font-weight: normal;
    white-space: nowrap;
    width: 110px;
    flex-shrink: 0;
}
#service_detaile5 .profile img {
    border-radius: 50%;
    -o-object-fit: cover;
       object-fit: cover;
    margin-bottom: 16px;
    width: 140px;
    height: 140px;
}
@media (max-width: 768px) {
    #service_detaile5 .profile img {
        width: 120px;
        height: 120px;
    }
}
#service_detaile5 .profile p {
    font-size: 18px;
    text-align: center;
    margin-bottom: 40px;
}
#service_detaile5 .caseTitle {
    color: var(--color-orange1);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 32px;
}
#service_detaile5 .caseTitle p {
    margin: 0;
}
@media (max-width: 768px) {
    #service_detaile5 .caseTitle {
        font-size: 18px;
        text-align: left;
    }
    #service_detaile5 .caseTitle br {
        display: none;
    }
}
#service_detaile5 .caseLabel {
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
    margin-bottom: 4px;
    width: 100%;
}
@media (max-width: 768px) {
    #service_detaile5 .caseLabel {
        font-size: 13px;
    }
}
#service_detaile5 .voiceHeading {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 16px;
}
#service_detaile5 .voiceText {
    font-size: 16px;
    line-height: 1.7;
    text-align: left;
}
#service_detaile5 .diagnosis {
    width: 100%;
}
#service_detaile5 .diagnosisHeading {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 16px;
    text-align: left;
}
#service_detaile5 .diagnosisList {
    margin: 0 0 64px;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr auto 1fr auto;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 8px;
}
@media (max-width: 768px) {
    #service_detaile5 .diagnosisList {
        grid-template-columns: 1fr auto;
        margin: 0 0 40px;
    }
}
#service_detaile5 .label {
    margin: 0;
    font-weight: 400;
    white-space: nowrap;
    position: relative;
    padding-left: 1em;
}
#service_detaile5 .label:before {
    content: "・";
    position: absolute;
    left: 0;
}
#service_detaile5 .stars {
    margin: 0;
    color: var(--color-orange1);
    letter-spacing: 0.12em;
    white-space: nowrap;
    text-align: left;
    font-weight: 400;
    margin-right: 2em;
}
#service_detaile5 .caseLink {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-top: 48px;
}
@media (max-width: 768px) {
    #service_detaile5 .caseLink {
        margin-top: 32px;
    }
}
#service_detaile5 .caseLink a {
    display: flex;
    border-radius: 8px;
    border: 2px solid var(--color-link);
    background: #fff;
    padding: 24px;
    color: var(--color-link);
    width: 370px;
    max-width: 100%;
    flex-direction: row-reverse;
    justify-content: center;
    gap: 14px;
    align-items: center;
    font-weight: 700;
}
#service_detaile5 .caseLink a:hover {
    background: var(--color-link);
    color: #fff;
}

/* ---------------------------------------------
*   staff
--------------------------------------------- */
#service_detaile6 {
    /* 真ん中の「×」ライン */
    /* 下のリードテキスト */
    /* serviceページ用*/
}
#service_detaile6 .staffSection {
    padding: 0 0 96px;
    position: relative;
}
#service_detaile6 .inner {
    max-width: var(--standard-width);
    margin: 0 auto;
}
#service_detaile6 .cards {
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 10px;
}
@media (max-width: 768px) {
    #service_detaile6 .cards {
        flex-direction: column;
        gap: 0;
    }
}
#service_detaile6 .card {
    position: relative;
    flex: 1 1 0;
    max-width: 595px;
    border-radius: 0;
    overflow: hidden;
}
@media (max-width: 768px) {
    #service_detaile6 .card {
        flex: 1;
        margin-inline: auto;
    }
}
#service_detaile6 .imageWrapper {
    position: relative;
}
#service_detaile6 .image {
    width: 100%;
    height: auto;
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
}
#service_detaile6 .image img {
    width: 595px;
    height: 380px;
    -o-object-fit: cover;
       object-fit: cover;
}
#service_detaile6 .imageCaption {
    position: absolute;
    left: 16px;
    bottom: 16px;
    display: inline-block;
    padding: 4px 8px;
    font-size: 11px;
    line-height: 1.4;
    color: #ffffff;
    background-color: rgba(0, 0, 0, 0.6);
    border-radius: 4px;
}
#service_detaile6 .body {
    padding: 40px 48px 48px;
    margin: -40px 32px 0;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 157px 44px 0 rgba(145, 161, 182, 0), 0 101px 40px 0 rgba(145, 161, 182, 0.01), 0 57px 34px 0 rgba(145, 161, 182, 0.02), 0 25px 25px 0 rgba(145, 161, 182, 0.04), 0 6px 14px 0 rgba(145, 161, 182, 0.05);
    position: relative;
}
@media (max-width: 768px) {
    #service_detaile6 .body {
        padding: 40px 20px;
        margin: -20px 12px 64px;
        border-radius: 0;
    }
}
#service_detaile6 .tagline {
    text-align: center;
    margin-bottom: 18px;
}
#service_detaile6 .tagline p {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--color-orange);
    margin-bottom: 32px;
}
@media (max-width: 768px) {
    #service_detaile6 .tagline p {
        font-size: 19px;
        margin-bottom: 28px;
    }
}
#service_detaile6 .nameBlock {
    padding-bottom: 20px;
    margin-bottom: 28px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px 14px;
    align-items: baseline;
    border-bottom: 1px solid #cfcfcf;
    min-height: 79px;
}
@media (max-width: 768px) {
    #service_detaile6 .nameBlock {
        min-height: auto;
        margin-bottom: 20px;
        padding-bottom: 20px;
        gap: 6px 14px;
    }
}
#service_detaile6 .company {
    font-size: 13px;
}
@media (max-width: 768px) {
    #service_detaile6 .company {
        font-size: 12px;
    }
}
#service_detaile6 .name {
    font-size: 26px;
    font-weight: 700;
}
@media (max-width: 768px) {
    #service_detaile6 .name {
        font-size: 18px;
    }
}
#service_detaile6 .kana {
    font-size: 14px;
    width: 100%;
    text-align: right;
    padding-right: 14px;
}
@media (max-width: 768px) {
    #service_detaile6 .kana {
        padding-right: 0;
    }
}
#service_detaile6 .description {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 32px;
}
@media (max-width: 768px) {
    #service_detaile6 .description {
        font-size: 14px;
        margin-bottom: 28px;
    }
}
#service_detaile6 .profileLink {
    font-size: 16px;
    font-weight: 700;
}
@media (max-width: 768px) {
    #service_detaile6 .profileLink {
        font-size: 14px;
    }
}
#service_detaile6 .profileLink a {
    text-decoration: none;
    color: var(--color-link);
    position: relative;
    padding-left: 14px;
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: flex-end;
}
#service_detaile6 .profileLink a:hover {
    text-decoration: underline;
    padding-left: 0;
}
#service_detaile6 .cross {
    position: absolute;
    inset: 0;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 43%;
}
@media (max-width: 768px) {
    #service_detaile6 .cross {
        top: -3.5%;
    }
}
#service_detaile6 .cross::before, #service_detaile6 .cross::after {
    content: "";
    position: absolute;
    width: 180px;
    border-top: 1px solid var(--color-green);
    z-index: 1;
}
@media (max-width: 768px) {
    #service_detaile6 .cross::before, #service_detaile6 .cross::after {
        width: 120px;
    }
}
#service_detaile6 .cross::before {
    transform: rotate(45deg);
}
#service_detaile6 .cross::after {
    transform: rotate(-45deg);
}
#service_detaile6 .lead {
    margin-top: 56px;
    text-align: center;
    font-weight: 700;
    line-height: 1.6;
    color: #00a187;
}
@media (max-width: 768px) {
    #service_detaile6 .lead {
        margin-top: 0;
    }
}
#service_detaile6 .lead .sp {
    display: none;
}
@media (max-width: 768px) {
    #service_detaile6 .lead .sp {
        display: inline;
        -o-object-fit: contain;
           object-fit: contain;
    }
}
#service_detaile6 .lead .pc {
    -o-object-fit: contain;
       object-fit: contain;
}
@media (max-width: 768px) {
    #service_detaile6 .lead .pc {
        display: none;
    }
}
#service_detaile6 .leadMain {
    display: block;
    font-size: 30px;
    letter-spacing: 0.12em;
}
@media (max-width: 768px) {
    #service_detaile6 .leadMain {
        font-size: 24px;
    }
}
#service_detaile6 .leadSub {
    display: block;
    margin-top: 8px;
    font-size: 22px;
}
@media (max-width: 768px) {
    #service_detaile6 .leadSub {
        font-size: 18px;
    }
}
#service_detaile6 .cardAgent .body {
    padding: 40px 24px 20px;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    display: flex;
    flex-direction: column;
}
@media (max-width: 768px) {
    #service_detaile6 .cardAgent .body {
        padding: 24px 0 0;
    }
}
#service_detaile6 .cardAgent .tagline {
    margin-bottom: 0;
}
#service_detaile6 .cardAgent .tagline p {
    font-size: 23px;
    line-height: 1.5;
}
@media (max-width: 768px) {
    #service_detaile6 .cardAgent .tagline p {
        font-size: 20px;
        text-align: left;
        margin-bottom: 24px;
    }
}
#service_detaile6 .cardAgent .tagline br {
    display: none;
}
@media (max-width: 768px) {
    #service_detaile6 .cardAgent .tagline br {
        display: block;
    }
}
@media (max-width: 768px) {
    #service_detaile6 .cardAgent .description {
        margin-bottom: 24px;
    }
}
#service_detaile6 .cardAgent .nameBlock {
    border-bottom: none;
    order: 3;
    padding: 0;
    margin: 0;
    gap: 4px 12px;
    min-height: auto;
}
@media (max-width: 768px) {
    #service_detaile6 .cardAgent .nameBlock {
        gap: 0 8px;
    }
}

/* ---------------------------------------------
*   FAQ
--------------------------------------------- */
#service_detaile7 .faq {
    box-sizing: content-box;
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0 20px;
}
#service_detaile7 .faq-title {
    margin-bottom: 24px;
    font-size: 20px;
    font-weight: 700;
    text-align: left;
}
@media (max-width: 768px) {
    #service_detaile7 .faq-title {
        font-size: 18px;
        margin-bottom: 16px;
    }
}
#service_detaile7 .faq-title-description {
    font-size: 16px;
    margin-bottom: 32px;
}
@media (max-width: 768px) {
    #service_detaile7 .faq-title-description {
        font-size: 15px;
        margin-bottom: 24px;
    }
}
#service_detaile7 .faq-item {
    margin-bottom: 24px;
    background: var(--color-orange2);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
}
#service_detaile7 .faq-item[open] .faq-answer {
    opacity: 1;
    transform: none;
}
#service_detaile7 .faq-item[open] .faq-question::after {
    transform: rotate(90deg);
}
#service_detaile7 .faq-question {
    display: flex;
    align-items: center;
    gap: 1em;
    position: relative;
    width: 100%;
    padding: 32px 2.5em 32px 5em;
    cursor: pointer;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #eaeaea;
    font-size: 20px;
    font-weight: 700;
    list-style: none;
    -webkit-tap-highlight-color: transparent;
    position: relative;
    /* ＋／− アイコン（右端） */
    /* 横棒（固定） */
}
@media (max-width: 768px) {
    #service_detaile7 .faq-question {
        font-size: 16px;
        padding: 0.9em 2.5em 0.9em 3em;
    }
}
#service_detaile7 .faq-question::-webkit-details-marker {
    display: none;
}
#service_detaile7 .faq-question::before, #service_detaile7 .faq-question::after {
    content: "";
    position: absolute;
    right: 48px;
    width: 1.5px;
    height: 0.9em;
    background: var(--color-orange1);
}
@media (max-width: 768px) {
    #service_detaile7 .faq-question::before, #service_detaile7 .faq-question::after {
        right: 18px;
    }
}
#service_detaile7 .faq-question::before {
    transform: rotate(90deg);
}
#service_detaile7 .faq-question::after {
    transition: transform 0.25s ease;
}
#service_detaile7 .faq-question:focus-visible {
    outline: 2px solid var(--color-orange1);
    outline-offset: 2px;
    border-radius: 6px;
}
#service_detaile7 .faq-question-text {
    line-height: 1.5;
}
#service_detaile7 .faq-question-text:before {
    position: absolute;
    content: "Q";
    top: 28px;
    display: flex;
    align-items: center;
    left: 48px;
    z-index: 1;
    background: var(--color-orange1);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-family: "Helvetica", "Arial", sans-serif;
    font-size: 17px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 768px) {
    #service_detaile7 .faq-question-text:before {
        width: 24px;
        height: 24px;
        font-size: 14px;
        left: 16px;
        top: 14px;
    }
}
#service_detaile7 .faq-answer {
    padding: 40px 48px;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    position: relative;
}
@media (max-width: 768px) {
    #service_detaile7 .faq-answer {
        padding: 24px;
        font-size: 14px;
    }
}
#service_detaile7 .faq-answer :where(p, ul, ol, table, blockquote) {
    line-height: 1.7;
}
#service_detaile7 .faq-answer a {
    color: var(--color-link);
    text-decoration: underline;
}
#service_detaile7 .faq-answer a:hover {
    text-decoration: none;
}

/* Yoast SEO FAQブロック専用スタイル */
.schema-faq {
    box-sizing: content-box;
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0 20px;
}
.schema-faq .schema-faq-section {
    margin-bottom: 24px;
    background: var(--color-orange2);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 3px 7px 0 rgba(118, 162, 219, 0.05);
}
.schema-faq .schema-faq-section.is-open .schema-faq-question::after {
    transform: rotate(90deg);
}
.schema-faq .schema-faq-section.is-open .schema-faq-answer {
    display: block;
}
.schema-faq .schema-faq-question {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    padding: 32px 2.5em 32px 5em;
    cursor: pointer;
    background: #fff;
    border: 1px solid #eaeaea;
    border-radius: 8px;
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    line-height: 1.5;
}
@media (max-width: 768px) {
    .schema-faq .schema-faq-question {
        font-size: 16px;
        padding: 1.2em 3em 1.2em 3.5em;
    }
}
.schema-faq .schema-faq-question::before {
    content: "Q";
    position: absolute;
    left: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-orange1);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: #fff;
    font-size: 17px;
}
@media (max-width: 768px) {
    .schema-faq .schema-faq-question::before {
        width: 24px;
        height: 24px;
        left: 16px;
        font-size: 14px;
    }
}
.schema-faq .schema-faq-question:after {
    content: "";
    position: absolute;
    right: 48px;
    width: 1.5px;
    height: 0.9em;
    background: var(--color-orange1);
    transition: transform 0.25s ease;
}
@media (max-width: 768px) {
    .schema-faq .schema-faq-question:after {
        right: 18px;
    }
}
.schema-faq .schema-faq-answer {
    display: none;
    padding: 40px 48px !important;
    background: var(--color-orange2);
    margin: 0;
    font-size: 16px;
}
.schema-faq .schema-faq-answer:nth-of-type(n+2) {
    padding: 0 40px 32px;
}
@media (max-width: 768px) {
    .schema-faq .schema-faq-answer {
        padding: 24px;
    }
}

/* ---------------------------------------------
*   post_archive
--------------------------------------------- */
#post_archive .main {
    display: flex;
    gap: 80px;
    max-width: var(--standard-width);
    padding: var(--standard-padding);
    margin: 0 auto;
    align-items: flex-start;
    justify-content: space-between;
    box-sizing: content-box;
}
@media (max-width: 991px) {
    #post_archive .main {
        flex-direction: column;
        gap: 24px;
    }
}

/* ---------------------------------------------
*   archive-hero
--------------------------------------------- */
#archive-hero .archive-hero {
    margin: 0 auto 40px;
}
@media (max-width: 768px) {
    #archive-hero .archive-hero {
        margin: 0 auto 32px;
    }
}
#archive-hero .archive-hero p {
    line-height: 1.7;
}
@media (max-width: 768px) {
    #archive-hero .archive-hero p {
        line-height: 1.8;
    }
}
#archive-hero .title {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 17px;
}
@media (max-width: 768px) {
    #archive-hero .title {
        font-size: 22px;
        margin-bottom: 28px;
    }
}

/* ---------------------------------------------
*   collection-archive
--------------------------------------------- */
#collection-archive {
    /* 3-column layout */
    /* 2-column layout (used for `relationTo === 'posts'`) */
}
#collection-archive .collection-archive {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 45px 40px;
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0 0 77px;
    box-sizing: content-box;
    position: relative;
}
#collection-archive .collection-archive.columns3 .collection-archive-item,
#collection-archive .collection-archive.columns2 .collection-archive-item {
    box-sizing: border-box;
}
@media (max-width: 768px) {
    #collection-archive .collection-archive.columns3 .collection-archive-item,
    #collection-archive .collection-archive.columns2 .collection-archive-item {
        width: 100%;
    }
}
#collection-archive .collection-archive.columns3 .collection-archive-item {
    width: calc((100% - 80px) / 3);
}
@media (max-width: 991px) {
    #collection-archive .collection-archive.columns3 .collection-archive-item {
        width: calc((100% - 40px) / 2);
    }
}
@media (max-width: 768px) {
    #collection-archive .collection-archive.columns3 .collection-archive-item {
        width: 100%;
    }
}
#collection-archive .collection-archive.columns2 .collection-archive-item {
    width: calc((100% - 40px) / 2);
}
@media (max-width: 991px) {
    #collection-archive .collection-archive.columns2 .collection-archive-item {
        width: 100%;
    }
}
#collection-archive .article a {
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: 0.3s;
}
@media (max-width: 768px) {
    #collection-archive .article a {
        min-height: auto;
    }
}
#collection-archive .article a:hover {
    color: var(--color-text-hover);
    filter: brightness(1.2);
}
#collection-archive .thumbnail {
    margin-bottom: 15px;
}
@media (max-width: 768px) {
    #collection-archive .thumbnail {
        margin-bottom: 16px;
    }
}
#collection-archive .thumbnail img {
    width: 100%;
    height: 214px;
    position: relative;
    -o-object-fit: cover;
       object-fit: cover;
}
@media (max-width: 768px) {
    #collection-archive .thumbnail img {
        aspect-ratio: 335/188;
        height: auto;
    }
}
#collection-archive .info {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: flex-start;
}
#collection-archive .post-meta {
    display: flex;
    flex-direction: column;
    color: var(--color-text-gray);
    margin-bottom: 11px;
}
#collection-archive .category {
    font-size: 13px;
    color: var(--color-text-inverse);
    background: var(--color-main);
    padding: 6px 8px;
    border-radius: 4px;
    margin-bottom: 9px;
    text-align: center;
}
@media (max-width: 768px) {
    #collection-archive .category {
        border-radius: 0;
        padding-bottom: 5px;
    }
}
#collection-archive .date {
    font-size: 13px;
    color: var(--color-gray);
}
#collection-archive .h2-title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    padding-bottom: 15px;
}
@media (max-width: 768px) {
    #collection-archive .h2-title {
        font-size: 16px;
        padding-bottom: 12px;
        padding-top: 1px;
    }
}
#collection-archive .post-author {
    display: flex;
    gap: 8px;
    align-items: center;
    padding-right: 7px;
    padding-top: 1px;
}
@media (max-width: 768px) {
    #collection-archive .post-author {
        padding-right: 0;
    }
}
#collection-archive .post-author img {
    width: 40px;
    height: 40px;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50%;
    flex-shrink: 0;
}
#collection-archive .post-author .author-info {
    font-size: 13px;
    font-weight: 700;
    text-align: right;
}
#collection-archive .post-author .position {
    font-size: 10px;
    font-weight: normal;
    margin-bottom: 4px;
}
#collection-archive .post-tags {
    font-size: 13px;
    color: var(--color-link);
}

/* ---------------------------------------------
*   detail
--------------------------------------------- */
#post_detail_parts .content {
    color: var(--color-text);
    padding: 0;
}
#post_detail_parts .main {
    max-width: var(--standard-width);
    padding: 0;
    box-sizing: content-box;
    margin: 0 auto;
}
@media (max-width: 1240px) {
    #post_detail_parts .main {
        padding: 0 20px;
    }
}
#post_detail_parts .main nav ol {
    padding: 0;
    max-width: 100%;
}
#post_detail_parts .main .articlebox {
    display: grid;
    grid-template-columns: minmax(auto, 800px) 320px;
    gap: 80px;
    max-width: var(--standard-width);
    padding: 0;
    box-sizing: content-box;
    margin: 0 auto 144px;
}
@media (max-width: 991px) {
    #post_detail_parts .main .articlebox {
        grid-template-columns: 1fr;
        padding: 0;
        width: 100%;
        margin: 0 auto 40px;
    }
}
#post_detail_parts .main .articlebox :global(.prose) > p {
    padding-bottom: 0;
    margin-bottom: 24px;
}
@media (max-width: 991px) {
    #post_detail_parts .main .articlebox :global(.prose) > p {
        padding-bottom: 0;
        margin-bottom: 25px;
    }
}
#post_detail_parts .main .articlebox :global(.prose) > p:last-child {
    margin-bottom: 0;
}

/* ---------------------------------------------
*   post-header
--------------------------------------------- */
#post_detail_parts2 .post-header {
    margin: 0 0 16px;
}
@media (max-width: 768px) {
    #post_detail_parts2 .post-header {
        margin: 0 0 19px;
    }
}
#post_detail_parts2 .post-header .heroflex {
    display: flex;
    align-items: flex-end;
    margin-bottom: 20px;
    gap: 16px;
}
@media (max-width: 768px) {
    #post_detail_parts2 .post-header .heroflex {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 21px;
        gap: 12px;
    }
}
#post_detail_parts2 .h1 {
    font-size: 33px;
    font-weight: 700;
    line-height: 1.6;
    color: #01478d;
    margin: -15px 0 9px;
}
@media (max-width: 768px) {
    #post_detail_parts2 .h1 {
        font-size: 22px;
        line-height: 1.5;
        margin: 0 0 25px;
    }
}
#post_detail_parts2 .thumbnail {
    border-radius: 8px;
    overflow: hidden;
}
@media (max-width: 991px) {
    #post_detail_parts2 .thumbnail {
        margin: 0 -20px;
        border-radius: 8px;
    }
}
#post_detail_parts2 .thumbnail img {
    position: relative !important;
    border-radius: 8px;
    width: 100%;
    height: auto;
}
@media (max-width: 991px) {
    #post_detail_parts2 .thumbnail img {
        width: calc(100% + 40px) !important;
        max-width: calc(100% + 40px);
    }
}
#post_detail_parts2 .entry-meta {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 4px;
}
@media (max-width: 768px) {
    #post_detail_parts2 .entry-meta :global(.text-sm) {
        display: none;
    }
}
#post_detail_parts2 .date {
    margin-right: auto;
    font-size: 13px;
    color: var(--color-gray);
    white-space: nowrap;
}
#post_detail_parts2 .date li {
    display: flex;
}
#post_detail_parts2 .category {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}
#post_detail_parts2 .category span {
    font-size: 13px;
    white-space: nowrap;
    padding-bottom: 0;
}
@media (max-width: 768px) {
    #post_detail_parts2 .category span {
        padding-bottom: 0;
    }
}
#post_detail_parts2 .category span a {
    color: #fff;
    border-radius: 4px;
    padding: 4px 8px;
    background: var(--color-main);
    display: block;
}

/* ---------------------------------------------
*   post-supervisor
--------------------------------------------- */
#post_detail_parts3 .post-supervisor {
    padding: 40px 48px;
    border: 1px solid #ddd;
    margin: 0;
}
@media (max-width: 768px) {
    #post_detail_parts3 .post-supervisor {
        padding: 20px 16px;
        align-self: flex-end;
    }
}
#post_detail_parts3 .post-supervisor .position {
    font-size: 10px;
}
@media (max-width: 768px) {
    #post_detail_parts3 .post-supervisor .position {
        font-size: 9px;
    }
}
#post_detail_parts3 .top {
    padding: 0;
    border: none;
}
#post_detail_parts3 .top .post-supervisor-item {
    gap: 12px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#post_detail_parts3 .top .post-supervisor-img {
    width: 48px;
    height: 48px;
}
#post_detail_parts3 .top .post-supervisor-img img {
    width: 48px;
    height: 48px;
}
#post_detail_parts3 .top p.supervisor {
    font-size: 18px;
    font-weight: 700;
    display: block;
}
@media (max-width: 768px) {
    #post_detail_parts3 .top p.supervisor {
        font-size: 14px;
        margin: 0 0 6px;
    }
}
#post_detail_parts3 .top p.supervisor .prefix {
    font-weight: 400;
    color: var(--color-text);
    background-color: transparent;
    font-size: 12px;
    padding: 0 0 9px;
    display: block;
    width: 100%;
}
@media (max-width: 768px) {
    #post_detail_parts3 .top p.supervisor .prefix {
        font-size: 11px;
        padding: 0 0 6px;
    }
}
#post_detail_parts3 .post-supervisor-item {
    display: grid;
    gap: 32px;
    grid-template-columns: auto 1fr;
    grid-template-areas: "image name" "description description";
}
@media (max-width: 768px) {
    #post_detail_parts3 .post-supervisor-item {
        gap: 16px 20px;
    }
}
#post_detail_parts3 .post-supervisor-img {
    grid-area: image;
}
#post_detail_parts3 .post-supervisor-img img {
    border-radius: 50%;
    -o-object-fit: cover;
       object-fit: cover;
}
#post_detail_parts3 .post-supervisor-meta {
    grid-area: name;
}
#post_detail_parts3 p.supervisor {
    font-size: 24px;
    font-weight: bold;
    padding: 0 0 4px;
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
@media (max-width: 991px) {
    #post_detail_parts3 p.supervisor {
        gap: 4px 8px;
    }
}
@media (max-width: 768px) {
    #post_detail_parts3 p.supervisor {
        font-size: 20px;
        padding: 0;
    }
}
#post_detail_parts3 p.supervisor span {
    font-size: 14px;
    font-weight: 400;
}
@media (max-width: 768px) {
    #post_detail_parts3 p.supervisor span {
        font-size: 13px;
        display: block;
    }
}
#post_detail_parts3 p.supervisor .prefix {
    font-weight: 400;
    color: var(--color-text-inverse);
    background-color: var(--color-link);
    font-size: 12px;
    padding: 3px 5px;
    max-width: 50px;
}
#post_detail_parts3 p.supervisor a {
    color: var(--color-text-painted2);
}
#post_detail_parts3 .supervisor-description-container {
    grid-area: description;
}
#post_detail_parts3 .supervisor-description {
    font-size: 19px;
    line-height: 1.66;
}
@media (max-width: 768px) {
    #post_detail_parts3 .supervisor-description {
        font-size: 14px;
    }
}

/* ---------------------------------------------
*   share-btn
--------------------------------------------- */
#post_detail_parts4 .share-btn ul {
    display: flex;
    gap: 12px;
    justify-content: center;
    padding: 0;
    margin: 0 0 40px;
}
@media (max-width: 768px) {
    #post_detail_parts4 .share-btn ul {
        gap: 8px;
        margin: 0 0 32px;
    }
}
#post_detail_parts4 .share-btn li {
    list-style: none;
}

/* ---------------------------------------------
*   post-header
--------------------------------------------- */
/* ---------------------------------------------
*   post-header
--------------------------------------------- */
#post_detail_parts6 .media {
    text-align: center;
}
#post_detail_parts6 .media img {
    max-width: 100%;
    height: auto;
}

/* ---------------------------------------------
*   post-header
--------------------------------------------- */
#post_detail_parts7 .attention {
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    margin: 0 40px 40px;
    padding: 0;
    background-color: var(--color-background);
}
@media (max-width: 991px) {
    #post_detail_parts7 .attention {
        margin: 0 0px 40px;
        border: 1px solid #CFCFCF;
    }
}
#post_detail_parts7 .attention01 p {
    padding: 0;
}
#post_detail_parts7 .attention02 {
    background-color: #fffcf6;
}
#post_detail_parts7 .attention02 .attention-title {
    background-color: var(--color-main);
    color: var(--color-text-inverse);
}
#post_detail_parts7 .attention02 .attention-text {
    padding: 40px 40px;
}
@media (max-width: 768px) {
    #post_detail_parts7 .attention02 .attention-text {
        padding: 32px 24px;
    }
}
#post_detail_parts7 .attention-title {
    background-color: #A1A3A6;
    color: var(--color-text-inverse);
    font-size: 20px;
    font-weight: 700;
    padding: 24px 32px 23px;
    border-radius: 8px 8px 0 0;
}
#post_detail_parts7 .attention-text {
    padding: 40px 40px 24px;
}
@media (max-width: 768px) {
    #post_detail_parts7 .attention-text {
        padding: 32px 24px;
    }
}
#post_detail_parts7 .attention-text :global(.prose) > p {
    padding: 0 !important;
    margin: 0 0 16px !important;
}
#post_detail_parts7 .attention-text :global(.prose) > p:last-child {
    margin: 0 !important;
}
#post_detail_parts7 .attention-text ul,
#post_detail_parts7 .attention-text ol {
    margin: 0 !important;
}

/* ---------------------------------------------
*   post-header
--------------------------------------------- */
#post_detail_parts8 .cta-button {
    font-size: 17px;
    font-weight: 700;
    text-align: center;
    margin: 0 auto 16px;
    border-radius: 8px;
    max-width: 284px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
#post_detail_parts8 .cta-button a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row-reverse;
    gap: 12px;
    width: 400px;
    max-width: 100%;
    padding: 20px 16px;
    transition: 0.3s;
    color: var(--color-text-inverse);
    min-height: 62px;
}
#post_detail_parts8 .cta-button a:hover {
    opacity: 0.7;
}
#post_detail_parts8 .buttonA {
    background-color: #009A74;
    color: var(--color-text-inverse);
    border: 1px solid var(--color-green);
    margin-top: 40px;
}
#post_detail_parts8 .buttonB {
    background-color: var(--color-orange);
    color: var(--color-text-inverse);
    border: 1px solid var(--color-orange);
}
#post_detail_parts8 .buttonB .iconArrow {
    border-top: 1px solid var(--color-orange);
    border-right: 1px solid var(--color-orange);
}
#post_detail_parts8 .icon {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
#post_detail_parts8 .iconArrow {
    width: 6px;
    height: 6px;
    border-top: 1px solid var(--color-green);
    border-right: 1px solid var(--color-green);
    transform: rotate(45deg);
    position: relative;
    right: 1px;
}

/* ---------------------------------------------
*#post_detail_parts9
--------------------------------------------- */
#post_detail_parts9 .embed-container {
    width: 100%;
    max-width: 800px;
    margin: 0 auto 24px;
}
#post_detail_parts9 .youtube {
    aspect-ratio: 16/9;
    position: relative;
    width: 100%;
}
#post_detail_parts9 .youtube iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    border: none;
}
#post_detail_parts9 .instagram {
    position: relative;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 4px;
}
#post_detail_parts9 .instagram :global(.prose) {
    text-align: center;
}
#post_detail_parts9 .instagram :global(.prose) p {
    font-size: 15px;
}
#post_detail_parts9 .instagram :global(.instagram-media) {
    margin: 0 auto !important;
}
#post_detail_parts9 .twitter {
    padding: 4px 0;
}
#post_detail_parts9 .embed-caption {
    margin-top: 4px;
    line-height: 1.6;
    text-align: center;
}
#post_detail_parts9 .embed-caption :global(.prose) p {
    font-size: 15px;
}

/* ---------------------------------------------
*   faq
--------------------------------------------- */
#post_detail_parts11 .faq {
    box-sizing: content-box;
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0 20px;
}
#post_detail_parts11 .faq-title {
    margin-bottom: 24px;
    font-size: 20px;
    font-weight: 700;
    text-align: left;
}
@media (max-width: 768px) {
    #post_detail_parts11 .faq-title {
        font-size: 18px;
        margin-bottom: 16px;
    }
}
#post_detail_parts11 .faq-title-description {
    font-size: 16px;
    margin-bottom: 32px;
}
@media (max-width: 768px) {
    #post_detail_parts11 .faq-title-description {
        font-size: 15px;
        margin-bottom: 24px;
    }
}
#post_detail_parts11 .faq-item {
    margin-bottom: 24px;
    background: var(--color-orange2);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
}
#post_detail_parts11 .faq-item[open] .faq-answer {
    opacity: 1;
    transform: none;
}
#post_detail_parts11 .faq-item[open] .faq-question::after {
    transform: rotate(90deg);
}
#post_detail_parts11 .faq-question {
    display: flex;
    align-items: center;
    gap: 1em;
    position: relative;
    width: 100%;
    padding: 32px 2.5em 32px 5em;
    cursor: pointer;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #eaeaea;
    font-size: 20px;
    font-weight: 700;
    list-style: none;
    -webkit-tap-highlight-color: transparent;
    position: relative;
    /* ＋／− アイコン（右端） */
    /* 横棒（固定） */
}
@media (max-width: 768px) {
    #post_detail_parts11 .faq-question {
        font-size: 16px;
        padding: 0.9em 2.5em 0.9em 3em;
    }
}
#post_detail_parts11 .faq-question::-webkit-details-marker {
    display: none;
}
#post_detail_parts11 .faq-question::before, #post_detail_parts11 .faq-question::after {
    content: "";
    position: absolute;
    right: 48px;
    width: 1.5px;
    height: 0.9em;
    background: var(--color-orange1);
}
@media (max-width: 768px) {
    #post_detail_parts11 .faq-question::before, #post_detail_parts11 .faq-question::after {
        right: 18px;
    }
}
#post_detail_parts11 .faq-question::before {
    transform: rotate(90deg);
}
#post_detail_parts11 .faq-question::after {
    transition: transform 0.25s ease;
}
#post_detail_parts11 .faq-question:focus-visible {
    outline: 2px solid var(--color-orange1);
    outline-offset: 2px;
    border-radius: 6px;
}
#post_detail_parts11 .faq-question-text {
    line-height: 1.5;
}
#post_detail_parts11 .faq-question-text:before {
    position: absolute;
    content: "Q";
    top: 28px;
    display: flex;
    align-items: center;
    left: 48px;
    z-index: 1;
    background: var(--color-orange1);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-family: "Helvetica", "Arial", sans-serif;
    font-size: 17px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 768px) {
    #post_detail_parts11 .faq-question-text:before {
        width: 24px;
        height: 24px;
        font-size: 14px;
        left: 16px;
        top: 14px;
    }
}
#post_detail_parts11 .faq-answer {
    padding: 40px 48px;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    position: relative;
}
@media (max-width: 768px) {
    #post_detail_parts11 .faq-answer {
        padding: 24px;
        font-size: 14px;
    }
}
#post_detail_parts11 .faq-answer :where(p, ul, ol, table, blockquote) {
    line-height: 1.7;
}
#post_detail_parts11 .faq-answer a {
    color: var(--color-link);
    text-decoration: underline;
}
#post_detail_parts11 .faq-answer a:hover {
    text-decoration: none;
}

/* ---------------------------------------------
*
--------------------------------------------- */
#post_detail_parts12 .post-cta {
    border-radius: 8px;
    background: var(--top-10service-gradation, linear-gradient(130deg, #3da3f7 23.22%, #1b5ed1 99.89%));
    padding: 53px 16px 41px;
    margin: 73px 0 40px;
}
@media (max-width: 991px) {
    #post_detail_parts12 .post-cta {
        margin: 72px -20px 40px;
    }
}
@media (max-width: 768px) {
    #post_detail_parts12 .post-cta {
        padding: 55px 8px 65px;
    }
}
#post_detail_parts12 .post-cta .header {
    color: var(--color-text-inverse);
    padding: 0 0 60px;
}
@media (max-width: 768px) {
    #post_detail_parts12 .post-cta .header {
        padding: 0 5px 39px;
    }
}
#post_detail_parts12 .post-cta .header p {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    padding-bottom: 0;
    text-align: center;
}
@media (max-width: 768px) {
    #post_detail_parts12 .post-cta .header p {
        font-size: 23px;
    }
}
#post_detail_parts12 .post-cta .inner {
    background: #fff;
    padding: 0 24px 33px;
    border-radius: 4px;
    margin-bottom: 24px;
}
@media (max-width: 768px) {
    #post_detail_parts12 .post-cta .inner {
        padding: 0 12px 31px;
        margin-bottom: 40px;
    }
}
#post_detail_parts12 .post-cta .btn {
    font-size: 17px;
    font-weight: 700;
    text-align: center;
    margin: 0 auto;
    transition: 0.3s;
    max-width: 415px;
    background-color: var(--color-orange1);
    border-radius: 64px;
    color: var(--color-text-inverse);
    padding: 0;
    box-shadow: 0 29px 8px 0 rgba(21, 108, 162, 0.01), 0 18px 7px 0 rgba(21, 108, 162, 0.04), 0 10px 6px 0 rgba(21, 108, 162, 0.15), 0 5px 5px 0 rgba(21, 108, 162, 0.26), 0 1px 3px 0 rgba(21, 108, 162, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
@media (max-width: 768px) {
    #post_detail_parts12 .post-cta .btn {
        max-width: 335px;
    }
}
#post_detail_parts12 .post-cta .btn:hover {
    filter: brightness(1.2);
}
#post_detail_parts12 .post-cta .btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row-reverse;
    gap: 12px;
    padding: 24px 8px;
    color: var(--color-text-inverse);
    width: 415px;
    max-width: 100%;
}
#post_detail_parts12 .cta-thumbnail {
    text-align: center;
    margin-bottom: 16px;
}
@media (max-width: 768px) {
    #post_detail_parts12 .cta-thumbnail {
        margin-bottom: 23px;
    }
}
#post_detail_parts12 .cta-thumbnail img {
    max-width: 100%;
    height: auto;
    position: relative;
    margin-top: -30px;
    box-shadow: 0px 10px 14px -4px rgba(122, 122, 122, 0.3);
}
@media (max-width: 768px) {
    #post_detail_parts12 .cta-thumbnail img {
        margin-top: -22px;
    }
}
#post_detail_parts12 .cta-description {
    color: var(--color-text);
    font-size: 16px;
    line-height: 1.7;
    text-align: center;
}
@media (max-width: 768px) {
    #post_detail_parts12 .cta-description {
        line-height: 1.8;
    }
}
#post_detail_parts12 .cta-description p {
    margin: 0 0 16px;
}
#post_detail_parts12 .cta-description p:last-child {
    margin: 0;
}

/* ---------------------------------------------
*
--------------------------------------------- */
#post_detail_parts13 .post-author {
    padding: 32px 40px 37px;
    border-radius: 6px;
    border: 1px solid #c1c1c1;
    margin: 40px 40px 18px;
}
@media (max-width: 991px) {
    #post_detail_parts13 .post-author {
        padding: 32px 24px 36px;
        margin: 40px 0 18px;
    }
}
#post_detail_parts13 .post-author-item {
    display: grid;
    gap: 14px 24px;
    grid-template-columns: auto 1fr;
    grid-template-areas: "image name" "image description";
}
@media (max-width: 768px) {
    #post_detail_parts13 .post-author-item {
        gap: 26px 18px;
        grid-template-areas: "image name" "description description";
    }
}
#post_detail_parts13 .post-author-img {
    grid-area: image;
}
#post_detail_parts13 .post-author-img img {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    -o-object-fit: cover;
       object-fit: cover;
}
#post_detail_parts13 .post-author-meta {
    grid-area: name;
}
#post_detail_parts13 p.author {
    font-size: 18px;
    font-weight: bold;
    padding: 0;
}
@media (max-width: 768px) {
    #post_detail_parts13 p.author {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
}
#post_detail_parts13 p.author .author-label {
    font-size: 12px;
    font-weight: 700;
    background: var(--color-main);
    color: var(--color-text-inverse);
    padding: 2px 6px;
    border-radius: 2px;
    margin-right: 12px;
}
@media (max-width: 768px) {
    #post_detail_parts13 p.author .author-label {
        margin: 0 0 10px;
        padding: 3px 8px 4px;
    }
}
#post_detail_parts13 p.author .position {
    margin-left: 4px;
    font-size: 12px;
}
@media (max-width: 768px) {
    #post_detail_parts13 p.author .position {
        margin: 0;
    }
}
#post_detail_parts13 p.author span {
    font-size: 14px;
    font-weight: 400;
}
@media (max-width: 768px) {
    #post_detail_parts13 p.author span {
        font-size: 13px;
        display: block;
    }
}
#post_detail_parts13 p.author a {
    color: var(--color-link);
}
#post_detail_parts13 .author-description-container {
    grid-area: description;
}
#post_detail_parts13 .author-description {
    font-size: 13px;
    line-height: 1.6;
}
#post_detail_parts13 .authorLink {
    color: var(--color-link) !important;
    font-size: 13px;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 20px 0 0;
    text-align: right;
}
@media (max-width: 768px) {
    #post_detail_parts13 .authorLink {
        margin: 17px 0 0;
    }
}
#post_detail_parts13 .authorLink svg {
    margin-right: 12px;
    display: inline-block;
    vertical-align: middle;
    stroke: var(--color-link);
}

/* ---------------------------------------------
*   post_detail_parts14
--------------------------------------------- */
#post_detail_parts14 .post-meta {
    margin: 0px 40px 62px;
}
@media (max-width: 991px) {
    #post_detail_parts14 .post-meta {
        margin: 0px 0px 61px;
    }
}
#post_detail_parts14 .post-meta li {
    list-style: none;
    font-size: 13px;
    margin-bottom: 11px;
}
#post_detail_parts14 .post-meta .category {
    position: relative;
    padding: 0;
}
#post_detail_parts14 .post-meta .category span a {
    color: var(--color-link);
}
#post_detail_parts14 .post-meta .category span a:hover {
    text-decoration: underline;
}
#post_detail_parts14 .post-meta .tag {
    position: relative;
    padding: 0 0 0 12px;
}
#post_detail_parts14 .post-meta .tag:before {
    content: "";
    position: absolute;
    background: url(/wp-content/themes/dreambase/assets/images/icon/tag.svg) no-repeat;
    width: 9px;
    height: 9px;
    top: 4px;
    left: 0;
}
#post_detail_parts14 .post-meta .tag span {
    color: var(--color-link);
}
#post_detail_parts14 .post-meta .tag span a {
    color: var(--color-link);
}
#post_detail_parts14 .post-meta .tag span a:hover {
    text-decoration: underline;
}

/* ---------------------------------------------
*   post_detail_parts15
--------------------------------------------- */
#post_detail_parts15 .related-post {
    padding: 0 40px;
}
@media (max-width: 991px) {
    #post_detail_parts15 .related-post {
        padding: 0;
    }
}
#post_detail_parts15 .related-post .related-post-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--color-text);
    padding: 19px 24px;
    margin: 62px auto 24px;
    border-radius: 6px;
    border: 1px solid #c1c1c1;
    background: #fffcf6;
}
@media (max-width: 768px) {
    #post_detail_parts15 .related-post .related-post-title {
        font-size: 18px;
        padding: 15px 23px;
        margin: 61px auto 25px;
    }
}
#post_detail_parts15 .related-post article {
    width: calc((100% - 48px) / 3);
}
@media (max-width: 768px) {
    #post_detail_parts15 .related-post article {
        width: 100%;
    }
}
#post_detail_parts15 .related-post article img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
}
@media (max-width: 768px) {
    #post_detail_parts15 .related-post article img {
        width: 160px;
    }
}
@media (max-width: 768px) {
    #post_detail_parts15 .related-post article a {
        flex-direction: row;
        gap: 8px;
    }
}
#post_detail_parts15 .related-post-inner {
    display: flex;
    gap: 24px;
    padding: 0;
}
@media (max-width: 768px) {
    #post_detail_parts15 .related-post-inner {
        flex-direction: column;
    }
}
#post_detail_parts15 .related-post-inner h2 {
    font-size: 13px;
    font-weight: normal;
    margin: 0;
    line-height: 1.6;
    flex: 1;
}
@media (max-width: 768px) {
    #post_detail_parts15 .related-post-inner h2 {
        margin: -5px 0 0;
    }
}
#post_detail_parts15 .related-post-inner div[class*=thumbnail] {
    margin-bottom: 10px;
}
@media (max-width: 768px) {
    #post_detail_parts15 .related-post-inner div[class*=thumbnail] {
        margin-bottom: 0;
    }
}
#post_detail_parts15 .article a {
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: 0.3s;
}
@media (max-width: 768px) {
    #post_detail_parts15 .article a {
        min-height: auto;
    }
}
#post_detail_parts15 .article a:hover {
    color: var(--color-text-hover);
    filter: brightness(1.2);
}
#post_detail_parts15 .thumbnail {
    margin-bottom: 15px;
}
@media (max-width: 768px) {
    #post_detail_parts15 .thumbnail {
        margin-bottom: 16px;
    }
}
#post_detail_parts15 .thumbnail img {
    width: 100%;
    height: 214px;
    position: relative;
    -o-object-fit: cover;
       object-fit: cover;
}
@media (max-width: 768px) {
    #post_detail_parts15 .thumbnail img {
        aspect-ratio: 335/188;
        height: auto;
    }
}
#post_detail_parts15 .info {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: flex-start;
}
#post_detail_parts15 .post-meta {
    display: flex;
    flex-direction: column;
    color: var(--color-text-gray);
    margin-bottom: 11px;
}
#post_detail_parts15 .category {
    font-size: 13px;
    color: var(--color-text-inverse);
    background: var(--color-main);
    padding: 6px 8px;
    border-radius: 4px;
    margin-bottom: 9px;
    text-align: center;
}
@media (max-width: 768px) {
    #post_detail_parts15 .category {
        border-radius: 0;
        padding-bottom: 5px;
    }
}
#post_detail_parts15 .date {
    font-size: 13px;
    color: var(--color-gray);
}
#post_detail_parts15 .h2-title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    padding-bottom: 15px;
}
@media (max-width: 768px) {
    #post_detail_parts15 .h2-title {
        font-size: 16px;
        padding-bottom: 12px;
        padding-top: 1px;
    }
}
#post_detail_parts15 .post-author {
    display: flex;
    gap: 8px;
    align-items: center;
    padding-right: 7px;
    padding-top: 1px;
}
@media (max-width: 768px) {
    #post_detail_parts15 .post-author {
        padding-right: 0;
    }
}
#post_detail_parts15 .post-author img {
    width: 40px;
    height: 40px;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50%;
    flex-shrink: 0;
}
#post_detail_parts15 .post-author .author-info {
    font-size: 13px;
    font-weight: 700;
    text-align: right;
}
#post_detail_parts15 .post-author .position {
    font-size: 10px;
    font-weight: normal;
    margin-bottom: 4px;
}
#post_detail_parts15 .post-tags {
    font-size: 13px;
    color: var(--color-link);
}

/* ---------------------------------------------
*   post_detail_parts16
--------------------------------------------- */
@media (max-width: 991px) {
    #post_detail_parts16 {
        width: 100%;
    }
}
#post_detail_parts16 .sidebar {
    width: 320px;
    flex: 0 0 320px;
    background-color: #fff;
}
@media (max-width: 991px) {
    #post_detail_parts16 .sidebar {
        width: 100%;
        flex: 0 0 100%;
    }
}
#post_detail_parts16 .sidebar .title {
    color: var(--color-main);
    font-size: 24px;
    font-weight: 600;
    position: relative;
    margin: 0 0 24px;
}
#post_detail_parts16 .sidebar .title:before {
    content: "";
    position: absolute;
    top: -5px;
    left: 0;
    background-color: var(--color-text-gray);
    width: 20px;
    height: 1px;
}
#post_detail_parts16 .sidebar li {
    list-style: none;
}
#post_detail_parts16 .popular-posts {
    margin: 0 0 64px;
    position: relative;
}
#post_detail_parts16 .recent-posts {
    position: relative;
}
#post_detail_parts16 .recent-posts:after {
    content: "NEW POSTS";
    color: var(--color-text-gray);
    font-size: 14px;
    position: absolute;
    top: -16px;
    left: 32px;
}

/* ---------------------------------------------
*   widget_search
--------------------------------------------- */
#widget_search .widget_search {
    margin: 0 0 60px;
}
#widget_search .widget_search form {
    display: flex;
    border: 1px solid #e9e9e9;
    border-radius: 6px;
    background: #f7fdfe;
}
#widget_search .widget_search form label {
    width: 100%;
}
#widget_search .widget_search form input {
    padding: 0 16px;
    border: none;
    width: 100%;
    font-size: 16px;
    font-weight: 400;
    height: 60px;
    line-height: 60px;
}
#widget_search .widget_search form input:focus-visible {
    outline: none;
}
#widget_search .widget_search form input::-moz-placeholder {
    color: #888;
    opacity: 1;
}
#widget_search .widget_search form input::placeholder {
    color: #888;
    opacity: 1;
}
#widget_search .widget_search form input::-webkit-input-placeholder {
    color: #888;
}
#widget_search .widget_search form input:-ms-input-placeholder {
    color: #888;
}
#widget_search .widget_search form input[type=submit] {
    background: #f7fdfe;
    border: none;
    position: relative;
    background-image: url(/wp-content/themes/dreambase/assets/images/icon/search.svg);
    background-repeat: no-repeat;
    font-size: 0;
    background-position: 50%;
    width: 40px;
    padding: 0;
    border-radius: 4px;
}

/* ---------------------------------------------
*   inline-banner
--------------------------------------------- */
#inline-banner .banner {
    margin-bottom: 24px;
}
#inline-banner .banner img {
    height: auto;
}
@media (max-width: 768px) {
    #inline-banner .pcImage,
    #inline-banner .pcAdsense {
        display: none;
        content-visibility: hidden;
    }
}
#inline-banner .spImage,
#inline-banner .spAdsense {
    display: none;
    content-visibility: hidden;
}
@media (max-width: 768px) {
    #inline-banner .spImage,
    #inline-banner .spAdsense {
        display: block;
        content-visibility: initial;
    }
}

/* ---------------------------------------------
*   categories
--------------------------------------------- */
#categories {
    /* Parent row (clickable) */
    /* Parent text */
    /* Make click area large */
    /* Hit area around chevron */
    /* Chevron stays same size */
    /* Divider — ONLY for parent */
    /* CHILDREN LIST */
    /* Child row */
    /* Child link text */
}
#categories .categories {
    margin: 0 0 78px;
}
#categories .headline {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--color-main);
    margin: 0 0 22px;
    border-bottom: 2px dotted var(--color-main);
    padding-bottom: 20px;
}
#categories .categoryList {
    text-indent: 0;
    list-style: none;
    padding: 0;
    margin: 0;
}
#categories .categoryItem {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    padding: 0px;
}
#categories .categoryItem a {
    display: block;
}
#categories .categoryItem a:hover {
    color: var(--color-link-hover);
}
#categories .parentRow {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}
#categories .parentTitle {
    font-weight: 700;
    font-size: 15px;
    color: #111;
    flex: 1;
    text-decoration: none;
    padding: 20px 8px;
    display: block;
}
#categories .chevronButton {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
}
#categories .chevronHitArea {
    display: flex;
    align-items: center;
    justify-content: center;
    /* Make click area much bigger */
    width: 40px;
    /* touches friendly */
    height: 24px;
    margin-right: -8px;
    /* adjusts alignment nicely */
}
#categories .chevron {
    width: 18px;
    height: 18px;
    color: #999;
    transition: transform 0.2s ease;
}
#categories .open {
    transform: rotate(90deg);
}
#categories .divider {
    border-bottom: 1px solid #E8E8E8;
    margin: 4px 0 0 0;
}
#categories .childrenList {
    list-style: none;
    margin: -5px 0 20px 0px;
    padding-left: 24px;
}
#categories .childItem {
    margin: 6px 0px 12px 0px;
    padding-top: 6px;
}
#categories .childLink {
    font-size: 13px;
    font-weight: 700;
    color: #333;
    text-decoration: none;
}
#categories .childLink:hover {
    text-decoration: underline;
}

/* ---------------------------------------------
*   recentPost
--------------------------------------------- */
#recentPost .recentPost {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--color-main);
    margin: 0 0 24px;
    border-bottom: 2px dotted var(--color-main);
    padding-bottom: 20px;
}

/* ---------------------------------------------
*   sidebarPostList
--------------------------------------------- */
#sidebarPostList .sidebarPostList,
#recommendedPostList .sidebarPostList {
    margin: 0 0 78px;
}
#sidebarPostList .sidebarPostList .postItem,
#recommendedPostList .sidebarPostList .postItem {
    margin-bottom: 14px;
}
#sidebarPostList .sidebarPostList .postItem a,
#recommendedPostList .sidebarPostList .postItem a {
    display: flex;
    gap: 12px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
}
#sidebarPostList .sidebarPostList .postItem a:hover,
#recommendedPostList .sidebarPostList .postItem a:hover {
    filter: brightness(1.1);
    color: var(--color-link-hover);
}
#sidebarPostList .sidebarPostList .postItem:last-child,
#recommendedPostList .sidebarPostList .postItem:last-child {
    margin-bottom: 0;
}
#sidebarPostList .sidebarPostList .postThumbnail,
#recommendedPostList .sidebarPostList .postThumbnail {
    width: 116px;
    height: 65px;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
}
#sidebarPostList .sidebarPostList .postThumbnail img,
#recommendedPostList .sidebarPostList .postThumbnail img {
    width: 116px;
    height: 65px;
    -o-object-fit: cover;
       object-fit: cover;
}
#sidebarPostList .sidebarPostList .post-title,
#recommendedPostList .sidebarPostList .post-title {
    flex: 1;
}
#sidebarPostList .sidebarPostList .date,
#recommendedPostList .sidebarPostList .date {
    margin-top: 5px;
    font-size: 10px;
    font-weight: normal;
    color: var(--color-gray);
}
@media (max-width: 768px) {
    #sidebarPostList .sidebarPostList .date,
    #recommendedPostList .sidebarPostList .date {
        margin-top: 6px;
    }
}
#sidebarPostList .sidebarPostList .dateMissing,
#recommendedPostList .sidebarPostList .dateMissing {
    color: #999;
    font-style: italic;
}

/* ---------------------------------------------
*   recommendedPost
--------------------------------------------- */
#recommendedPost .recommendedPost {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 16px;
}

/* ---------------------------------------------
*   snsWidget
--------------------------------------------- */
#snsWidget .sns-title {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    margin-bottom: 32px;
}
#snsWidget .sns-list {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-bottom: 40px;
}

/* ---------------------------------------------
*   PopularPosts
--------------------------------------------- */
#PopularPosts .PopularPosts {
    color: var(--color-text-sub);
}
#PopularPosts .PopularPosts .title {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 16px;
    color: #333;
}
#PopularPosts .PopularPosts .post-title {
    font-size: 13px;
    flex: 1 1;
}
#PopularPosts .PopularPosts ul {
    counter-reset: list-counter;
}
#PopularPosts .PopularPosts li a {
    display: flex;
    gap: 14px;
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 32px;
    position: relative;
    counter-increment: list-counter;
    transition: 0.3s;
}
#PopularPosts .PopularPosts li a:hover {
    color: var(--color-link-hover);
    filter: brightness(1.1);
}
#PopularPosts .PopularPosts li a:before {
    content: "";
    position: absolute;
    background: linear-gradient(90deg, #4900e3 0.01%, #b07748 107.93%);
    top: 0;
    left: 0;
    width: 25px;
    height: 25px;
}
#PopularPosts .PopularPosts li a:after {
    content: counter(list-counter);
    position: absolute;
    color: var(--color-text-inverse);
    top: 2px;
    left: 8px;
    width: 25px;
    height: 25px;
}
#PopularPosts .PopularPosts li img {
    width: 116px;
    height: 65px;
    position: static;
    -o-object-fit: cover;
       object-fit: cover;
}

/* ---------------------------------------------
*   tags
--------------------------------------------- */
#tags .tags {
    margin: 0 0 40px;
}
#tags .headline {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--color-main);
    margin: 0 0 24px;
    border-bottom: 2px dotted var(--color-main);
    padding-bottom: 20px;
}
#tags .tagList {
    text-indent: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
}
@media (max-width: 768px) {
    #tags .tagList {
        gap: 8px;
    }
}
#tags .tagItem {
    font-size: 14px;
    padding: 10px 0;
}
@media (max-width: 768px) {
    #tags .tagItem {
        padding: 9px 0;
    }
}
#tags .tagItem a {
    color: var(--color-link);
    padding: 6px 15px;
    border-radius: 4px;
    border: 1px solid #c2dcef;
    background: #f7fdfe;
    font-weight: 400;
}
#tags .tagItem a:hover {
    color: var(--color-link-hover);
}

/* ---------------------------------------------
*   successstories
--------------------------------------------- */
#post_successstories {
    /* 3-column layout */
    /* 2-column layout (used for `relationTo === 'posts'`) */
}
#post_successstories .main {
    max-width: var(--standard-width);
    padding: var(--standard-padding);
    margin: 0 auto;
    box-sizing: content-box;
}
#post_successstories .list .title {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 64px;
    padding-left: 24px;
    position: relative;
    color: #1b5ed1;
}
@media (max-width: 768px) {
    #post_successstories .list .title {
        font-size: 20px;
        margin-bottom: 24px;
        padding-left: 20px;
    }
}
#post_successstories .list .title:before {
    content: "";
    position: absolute;
    top: 12px;
    left: 0;
    background-color: #1b5ed1;
    width: 12px;
    height: 12px;
    border-radius: 50%;
}
@media (max-width: 768px) {
    #post_successstories .list .title:before {
        width: 8px;
        height: 8px;
        top: 8px;
    }
}
#post_successstories .collection-archive {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 45px 40px;
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0 0 77px;
    box-sizing: content-box;
    position: relative;
}
#post_successstories .collection-archive.columns3 .collection-archive-item,
#post_successstories .collection-archive.columns2 .collection-archive-item {
    box-sizing: border-box;
}
@media (max-width: 768px) {
    #post_successstories .collection-archive.columns3 .collection-archive-item,
    #post_successstories .collection-archive.columns2 .collection-archive-item {
        width: 100%;
    }
}
#post_successstories .collection-archive.columns3 .collection-archive-item {
    width: calc((100% - 80px) / 3);
}
@media (max-width: 991px) {
    #post_successstories .collection-archive.columns3 .collection-archive-item {
        width: calc((100% - 40px) / 2);
    }
}
@media (max-width: 768px) {
    #post_successstories .collection-archive.columns3 .collection-archive-item {
        width: 100%;
    }
}
#post_successstories .collection-archive.columns2 .collection-archive-item {
    width: calc((100% - 40px) / 2);
}
@media (max-width: 991px) {
    #post_successstories .collection-archive.columns2 .collection-archive-item {
        width: 100%;
    }
}
#post_successstories .article a {
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: 0.3s;
}
@media (max-width: 768px) {
    #post_successstories .article a {
        min-height: auto;
    }
}
#post_successstories .article a:hover {
    color: var(--color-text-hover);
    filter: brightness(1.2);
}
#post_successstories .thumbnail {
    margin-bottom: 15px;
}
@media (max-width: 768px) {
    #post_successstories .thumbnail {
        margin-bottom: 16px;
    }
}
#post_successstories .thumbnail img {
    width: 100%;
    height: 214px;
    position: relative;
    -o-object-fit: cover;
       object-fit: cover;
}
@media (max-width: 768px) {
    #post_successstories .thumbnail img {
        aspect-ratio: 335/188;
        height: auto;
    }
}
#post_successstories .info {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: flex-start;
}
#post_successstories .post-meta {
    display: flex;
    flex-direction: column;
    color: var(--color-text-gray);
    margin-bottom: 11px;
}
#post_successstories .category {
    font-size: 13px;
    color: var(--color-text-inverse);
    background: var(--color-main);
    padding: 6px 8px;
    border-radius: 4px;
    margin-bottom: 9px;
    text-align: center;
}
@media (max-width: 768px) {
    #post_successstories .category {
        border-radius: 0;
        padding-bottom: 5px;
    }
}
#post_successstories .date {
    font-size: 13px;
    color: var(--color-gray);
}
#post_successstories .h2-title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    padding-bottom: 15px;
}
@media (max-width: 768px) {
    #post_successstories .h2-title {
        font-size: 16px;
        padding-bottom: 12px;
        padding-top: 1px;
    }
}
#post_successstories .post-author {
    display: flex;
    gap: 8px;
    align-items: center;
    padding-right: 7px;
    padding-top: 1px;
}
@media (max-width: 768px) {
    #post_successstories .post-author {
        padding-right: 0;
    }
}
#post_successstories .post-author img {
    width: 40px;
    height: 40px;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50%;
    flex-shrink: 0;
}
#post_successstories .post-author .author-info {
    font-size: 13px;
    font-weight: 700;
    text-align: right;
}
#post_successstories .post-author .position {
    font-size: 10px;
    font-weight: normal;
    margin-bottom: 4px;
}
#post_successstories .post-tags {
    font-size: 13px;
    color: var(--color-link);
}
#post_successstories .serviceArchive {
    border-radius: 8px;
    overflow: hidden;
}
@media (max-width: 768px) {
    #post_successstories .serviceArchive {
        gap: 24px !important;
    }
}
#post_successstories .serviceArchive .card {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 157px 44px 0 rgba(145, 161, 182, 0), 0 101px 40px 0 rgba(145, 161, 182, 0.01), 0 57px 34px 0 rgba(145, 161, 182, 0.02), 0 25px 25px 0 rgba(145, 161, 182, 0.04), 0 6px 14px 0 rgba(145, 161, 182, 0.05);
}
#post_successstories .serviceArchive h2 {
    font-size: 18px;
    font-weight: 700;
    padding: 16px 24px 64px;
    min-height: 134px;
}
@media (max-width: 768px) {
    #post_successstories .serviceArchive h2 {
        padding: 8px 22px 48px;
        min-height: auto;
    }
}
#post_successstories .button {
    text-align: center;
    margin: 0 auto 120px;
}
@media (max-width: 768px) {
    #post_successstories .button {
        margin: 0 auto 80px;
    }
}
#post_successstories .button a {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row-reverse;
    gap: 14px;
    padding: 24px 16px;
    width: 455px;
    max-width: 100%;
    border: 1px solid var(--color-link);
    border-radius: 8px;
    color: var(--color-link);
    font-weight: 700;
    transition: background-color 0.3s;
}
#post_successstories .button a:hover {
    background-color: var(--color-link-hover);
    color: #fff;
}
@media (max-width: 768px) {
    #post_successstories .button a {
        gap: 8px;
        width: 100%;
        padding: 20px 8px;
        font-size: 14px;
    }
}

/* ============================================
   #staff_index
   (Author List Page)
============================================ */
#staff_index {
    /* UserBox Component Scope */
}
#staff_index .authorMain {
    max-width: var(--standard-width);
    padding: 0 20px 80px;
    margin: 0 auto;
}
@media (max-width: 991px) {
    #staff_index .authorMain {
        padding: 0 20px 60px;
    }
}
#staff_index .authorList {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}
#staff_index .userBox {
    background-color: #fff;
    border-radius: 20px;
    border: 1px solid #efefef;
    width: calc(33.3333333333% - 16px);
    text-align: center;
    transition: border-color 0.2s, box-shadow 0.2s;
}
@media (max-width: 991px) {
    #staff_index .userBox {
        width: calc(50% - 12px);
        text-align: left;
    }
}
@media (max-width: 768px) {
    #staff_index .userBox {
        width: 100%;
    }
}
#staff_index .userBox:hover {
    border-color: var(--color-main);
    background: var(--color-background);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
#staff_index .userBox .userLink {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 34px 20px;
    text-decoration: none;
    color: inherit;
}
@media (max-width: 991px) {
    #staff_index .userBox .userLink {
        flex-direction: row;
        gap: 16px;
        padding: 20px;
    }
}
#staff_index .userBox .authorImage {
    margin-bottom: 24px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    overflow: hidden;
}
@media (max-width: 991px) {
    #staff_index .userBox .authorImage {
        margin-bottom: 0;
        width: 100px;
        height: 100px;
    }
}
#staff_index .userBox .authorImage img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
@media (max-width: 991px) {
    #staff_index .userBox .text {
        flex: 1;
    }
}
#staff_index .userBox .authorName {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 20px;
    color: var(--color-text);
}
@media (max-width: 991px) {
    #staff_index .userBox .authorName {
        font-size: 20px;
        margin-bottom: 12px;
    }
}
#staff_index .userBox .companyName {
    font-size: 14px;
    color: var(--color-text);
    margin-bottom: 4px;
}
#staff_index .userBox .authorPosition {
    font-size: 14px;
    color: var(--color-text);
    line-height: 1.4;
    margin-bottom: 24px;
}
@media (max-width: 991px) {
    #staff_index .userBox .authorPosition {
        margin-bottom: 16px;
    }
}
#staff_index .userBox .profile {
    font-size: 14px;
    color: var(--color-main);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}
@media (max-width: 991px) {
    #staff_index .userBox .profile {
        justify-content: flex-start;
    }
}
#staff_index .userBox .icon {
    display: inline-grid;
    place-items: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--color-main);
    color: #fff;
    flex-shrink: 0;
    transition: background 0.2s, color 0.2s;
}
#staff_index .paginationWrapper {
    margin-top: 3rem;
    display: flex;
    justify-content: center;
}

/* ============================================
   #staff_detail
   (Author Detail Page)
============================================ */
#staff_detail {
    /* 
      Scoped CollectionArchive & Card Styles 
      (Specifically for #staff_detail)
    */
}
#staff_detail .authorProfile {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px 80px;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #staff_detail .authorProfile {
        padding: 0 20px 40px;
    }
}
#staff_detail .authorProfile .title {
    font-size: 27px;
    font-weight: 700;
    margin: 0 -20px 24px;
    color: var(--color-text-inverse);
    background-color: var(--color-main);
    padding: 24px 40px;
    border-radius: 8px;
}
@media (max-width: 768px) {
    #staff_detail .authorProfile .title {
        font-size: 18px;
        margin-bottom: 20px;
        padding: 16px 20px;
    }
}
#staff_detail .authorProfile h1 {
    text-align: center;
    font-size: 40px;
}
@media (max-width: 768px) {
    #staff_detail .authorProfile h1 {
        font-size: 28px;
    }
}
@media (max-width: 768px) {
    #staff_detail .authorProfile h2 {
        font-size: 24px;
    }
}
#staff_detail .authorProfile .companyName {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 8px;
    text-align: center;
}
@media (max-width: 768px) {
    #staff_detail .authorProfile .companyName {
        font-size: 14px;
        margin-bottom: 4px;
    }
}
#staff_detail .authorProfile .position {
    font-size: 14px;
    margin-bottom: 60px;
    text-align: center;
}
@media (max-width: 768px) {
    #staff_detail .authorProfile .position {
        margin-bottom: 30px;
    }
}
#staff_detail .authorHeader {
    display: flex;
    justify-content: center;
    margin-bottom: 32px;
}
#staff_detail .authorHeader .userAvatar {
    width: 282px;
    height: 282px;
    overflow: hidden;
    /* shape="square" なので border-radius なし */
}
@media (max-width: 768px) {
    #staff_detail .authorHeader .userAvatar {
        width: 200px;
        height: 200px;
    }
}
#staff_detail .authorHeader .userAvatar img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
#staff_detail .archiveHero {
    text-align: center;
    margin-bottom: 24px;
}
#staff_detail .archiveHero h1 {
    font-size: 32px;
    font-weight: 700;
}
@media (max-width: 768px) {
    #staff_detail .archiveHero h1 {
        font-size: 24px;
    }
}
#staff_detail .authorPosts {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    /* CollectionArchive Item (Card Wrapper) */
    /* Scoped Card Component */
}
#staff_detail .authorPosts .collection-archive-item {
    width: calc((100% - 48px) / 3);
}
@media (max-width: 991px) {
    #staff_detail .authorPosts .collection-archive-item {
        width: calc((100% - 24px) / 2);
    }
}
@media (max-width: 768px) {
    #staff_detail .authorPosts .collection-archive-item {
        width: 100%;
    }
}
#staff_detail .authorPosts .article {
    /* 
      Note: Author page posts usually hide author info in card 
      according to Next.js implementation (imageTitleOnly=true)
    */
}
#staff_detail .authorPosts .article a {
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: 0.3s;
    text-decoration: none;
    /* reset */
    color: inherit;
    /* reset */
}
@media (max-width: 768px) {
    #staff_detail .authorPosts .article a {
        min-height: auto;
    }
}
#staff_detail .authorPosts .article a:hover {
    color: var(--color-text-hover);
    filter: brightness(1.2);
}
#staff_detail .authorPosts .article .thumbnail {
    margin-bottom: 15px;
}
@media (max-width: 768px) {
    #staff_detail .authorPosts .article .thumbnail {
        margin-bottom: 16px;
    }
}
#staff_detail .authorPosts .article .thumbnail img {
    width: 100%;
    height: 126px;
    /* author profile specific height */
    -o-object-fit: cover;
       object-fit: cover;
}
@media (max-width: 768px) {
    #staff_detail .authorPosts .article .thumbnail img {
        aspect-ratio: 335/188;
        height: auto;
    }
}
#staff_detail .authorPosts .article .info {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: flex-start;
}
#staff_detail .authorPosts .article .post-meta {
    display: flex;
    flex-direction: column;
    color: var(--color-text-gray);
    margin-bottom: 11px;
    width: 100%;
    /* info takes full if no author icon */
}
#staff_detail .authorPosts .article .category {
    font-size: 13px;
    color: var(--color-text-inverse);
    background: var(--color-main);
    padding: 6px 8px;
    border-radius: 4px;
    margin-bottom: 9px;
    text-align: center;
    align-self: flex-start;
    /* 左寄せ */
    display: inline-block;
}
@media (max-width: 768px) {
    #staff_detail .authorPosts .article .category {
        border-radius: 0;
        padding-bottom: 5px;
    }
}
#staff_detail .authorPosts .article .date {
    font-size: 13px;
    color: var(--color-gray);
}
#staff_detail .authorPosts .article .h2-title {
    font-size: 13px;
    /* author profile specific font size */
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
    padding-bottom: 15px;
}
@media (max-width: 768px) {
    #staff_detail .authorPosts .article .h2-title {
        font-size: 14px;
        padding-bottom: 12px;
        padding-top: 1px;
    }
}
#staff_detail .noPosts {
    padding: 48px 24px;
    text-align: center;
    color: var(--color-text);
    background: #f6f7f9;
    border-radius: 8px;
    margin: 24px 0;
    font-weight: 600;
}
#staff_detail .biographySection {
    margin-bottom: 80px;
}
@media (max-width: 991px) {
    #staff_detail .biographySection {
        margin-bottom: 64px;
    }
}
#staff_detail .biographyList {
    padding: 24px;
    margin: 0;
    background: #fff;
}
@media (max-width: 991px) {
    #staff_detail .biographyList {
        padding: 0;
    }
}
#staff_detail .biographyItem {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 16px 0;
    border-bottom: 1px solid #e5e5e5;
}
#staff_detail .biographyYear {
    flex-shrink: 0;
    font-weight: 600;
    color: var(--color-text);
    min-width: 120px;
    font-size: 16px;
    margin: 0;
    line-height: 1.8;
}
@media (max-width: 991px) {
    #staff_detail .biographyYear {
        min-width: 90px;
        font-size: 14px;
    }
}
#staff_detail .biographyContent {
    flex: 1;
    line-height: 1.8;
    font-size: 16px;
    margin: 0;
    color: var(--color-text);
}
@media (max-width: 991px) {
    #staff_detail .biographyContent {
        font-size: 14px;
    }
}
#staff_detail .userContent {
    font-size: 16px;
    margin-bottom: 60px;
    line-height: 1.8;
}
@media (max-width: 991px) {
    #staff_detail .userContent {
        margin-bottom: 40px;
    }
}
#staff_detail .userContent p {
    margin-bottom: 1.5em;
}

#search_page {
    /* ---------------------------------------------
    *   PageHeader
    --------------------------------------------- */
    /* ---------------------------------------------
    *   Main Layout
    --------------------------------------------- */
    /* ---------------------------------------------
    *   Search Result Header
    --------------------------------------------- */
    /* ---------------------------------------------
    *   Collection Archive (Card Grid)
    --------------------------------------------- */
    /* Card Styles (.article) */
    /* ---------------------------------------------
    *   Pagination
    --------------------------------------------- */
    /* ---------------------------------------------
    *   Sidebar Layout (Integration with _post.scss)
    --------------------------------------------- */
    /* ---------------------------------------------
    *   No Results / Not Found
    --------------------------------------------- */
}
#search_page .page-header {
    position: relative;
    overflow: hidden;
    min-height: 180px;
}
@media (max-width: 768px) {
    #search_page .page-header {
        min-height: 111px;
    }
}
#search_page .page-header .backgroundImage {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    z-index: -1;
}
#search_page .page-header .container {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 80px 20px;
    box-sizing: content-box;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: baseline;
    gap: 32px;
}
@media (max-width: 768px) {
    #search_page .page-header .container {
        padding: 20px 20px;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        justify-content: center;
        min-height: 70px;
    }
}
#search_page .page-header .container h1 {
    font-size: 28px;
    font-weight: 700;
    color: var(--color-text-inverse, #fff);
}
@media (max-width: 768px) {
    #search_page .page-header .container h1 {
        font-size: 20px;
    }
}
#search_page .page-header .container .description {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.7;
    color: var(--color-text-inverse, #fff);
}
@media (max-width: 768px) {
    #search_page .page-header .container .description {
        font-size: 13px;
    }
}
#search_page .search-main {
    display: flex;
    gap: 80px;
    max-width: var(--standard-width);
    padding: var(--standard-padding);
    margin: 80px auto 0;
    align-items: flex-start;
    justify-content: space-between;
    box-sizing: content-box;
}
@media (max-width: 991px) {
    #search_page .search-main {
        flex-direction: column;
        gap: 24px;
        margin-top: 44px;
    }
}
#search_page .list {
    flex: 1 1 auto;
    width: 100%;
}
#search_page .search-result {
    width: 100%;
    position: relative;
}
#search_page .search-result h1 {
    font-size: 32px;
    font-weight: 700;
    margin: 0 auto 16px;
}
@media (max-width: 768px) {
    #search_page .search-result h1 {
        font-size: 22px;
        margin-bottom: 28px;
    }
}
#search_page .collection-archive {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 45px 40px;
    width: 100%;
    padding: 0 0 77px;
    box-sizing: border-box;
    position: relative;
}
#search_page .collection-archive.columns3 .collection-archive-item {
    width: calc((100% - 80px) / 3);
    box-sizing: border-box;
}
@media (max-width: 991px) {
    #search_page .collection-archive.columns3 .collection-archive-item {
        width: calc((100% - 40px) / 2);
    }
}
@media (max-width: 768px) {
    #search_page .collection-archive.columns3 .collection-archive-item {
        width: 100%;
    }
}
#search_page .collection-archive.columns2 .collection-archive-item {
    width: calc((100% - 40px) / 2);
    box-sizing: border-box;
}
@media (max-width: 991px) {
    #search_page .collection-archive.columns2 .collection-archive-item {
        width: 100%;
    }
}
#search_page .article a {
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: 0.3s;
    text-decoration: none;
    color: inherit;
}
@media (max-width: 768px) {
    #search_page .article a {
        min-height: auto;
    }
}
#search_page .article a:hover {
    color: var(--color-text-hover, #0056b3);
    filter: brightness(1.2);
}
#search_page .thumbnail {
    margin: 0 0 15px;
}
@media (max-width: 768px) {
    #search_page .thumbnail {
        margin-bottom: 16px;
    }
}
#search_page .thumbnail img {
    width: 100%;
    height: 214px;
    position: relative;
    -o-object-fit: cover;
       object-fit: cover;
    vertical-align: bottom;
}
@media (max-width: 768px) {
    #search_page .thumbnail img {
        aspect-ratio: 335/188;
        height: auto;
    }
}
#search_page .info {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: flex-start;
}
#search_page .post-meta {
    display: flex;
    flex-direction: column;
    color: var(--color-text-gray, #999);
    margin-bottom: 11px;
}
#search_page .category {
    font-size: 13px;
    color: var(--color-text-inverse, #fff);
    background: var(--color-main, #333);
    padding: 6px 8px;
    border-radius: 4px;
    margin-bottom: 9px;
    text-align: center;
    display: inline-block;
}
@media (max-width: 768px) {
    #search_page .category {
        border-radius: 0;
        padding-bottom: 5px;
    }
}
#search_page .date {
    font-size: 13px;
    color: var(--color-gray, #888);
}
#search_page .h2-title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    padding-bottom: 15px;
    margin: 0;
}
@media (max-width: 768px) {
    #search_page .h2-title {
        font-size: 16px;
        padding-bottom: 12px;
        padding-top: 1px;
    }
}
#search_page .post-author {
    display: flex;
    gap: 8px;
    align-items: center;
    padding-right: 7px;
    padding-top: 1px;
}
@media (max-width: 768px) {
    #search_page .post-author {
        padding-right: 0;
    }
}
#search_page .post-author img {
    width: 40px;
    height: 40px;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50%;
    flex-shrink: 0;
}
#search_page .post-author .author-info {
    font-size: 13px;
    font-weight: 700;
    text-align: right;
}
#search_page .post-author .author-info .position {
    font-size: 10px;
    font-weight: normal;
    margin: 0 0 4px;
}
#search_page .post-author .author-info .name {
    margin: 0;
}
#search_page .post-tags {
    font-size: 13px;
    color: var(--color-link, #0056b3);
    margin-top: 10px;
}
#search_page .pagination {
    text-align: center;
    margin: 0 auto 160px;
}
@media (max-width: 768px) {
    #search_page .pagination {
        margin-bottom: 56px;
    }
}
#search_page .pagination ul {
    display: flex;
    justify-content: center;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}
@media (max-width: 768px) {
    #search_page .pagination ul {
        gap: 12px;
    }
}
#search_page .pagination ul li {
    list-style: none;
}
#search_page .pagination ul li button {
    background: none;
    border-radius: 4px;
    border: 1px solid #c1c1c1;
    color: var(--color-text, #333);
    font-size: 14px;
    font-weight: bold;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    transition: all 0.3s;
    cursor: pointer;
}
#search_page .pagination ul li button:hover, #search_page .pagination ul li button.is-active {
    color: var(--color-text-inverse, #fff);
    background: var(--color-link, #2BBC98);
    border-color: var(--color-link, #2BBC98);
}
@media (max-width: 768px) {
    #search_page .pagination ul li button {
        width: 40px;
        height: 40px;
    }
}
#search_page #post_detail_parts16 {
    width: 320px;
    flex: 0 0 320px;
}
@media (max-width: 991px) {
    #search_page #post_detail_parts16 {
        width: 100%;
        flex: 0 0 100%;
    }
}
#search_page #post_detail_parts16 .sidebar {
    width: 100% !important;
}
#search_page .search-result-container {
    padding: 40px 0;
}
#search_page .not-found {
    /* Search Form Widget */
    /* Category List */
}
#search_page .not-found h1 {
    padding: 0 0 40px;
    line-height: 1.5;
    font-weight: 700;
    font-size: 3.5rem;
    /* ~56px */
}
@media (max-width: 991px) {
    #search_page .not-found h1 {
        font-size: 2.5rem;
    }
}
@media (max-width: 768px) {
    #search_page .not-found h1 {
        font-size: 2em;
    }
}
#search_page .not-found h2 {
    font-size: 1.5em;
    /* ~24px */
    font-weight: 700;
    margin: 40px 0 16px;
}
@media (max-width: 768px) {
    #search_page .not-found h2 {
        font-size: 1.25rem;
    }
}
#search_page .not-found p {
    margin-bottom: 24px;
    font-size: 16px;
    line-height: 1.8;
}
#search_page .not-found a {
    color: var(--color-link, #0056b3);
    text-decoration: none;
}
#search_page .not-found a:hover {
    text-decoration: underline;
    color: var(--color-text-hover);
}
#search_page .not-found .search-widget {
    margin-bottom: 32px;
    max-width: 400px;
}
#search_page .not-found .search-form {
    display: flex;
    gap: 10px;
}
#search_page .not-found .search-form .search-input {
    flex: 1;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #f9f9f9;
    font-size: 16px;
}
#search_page .not-found .category-list {
    list-style-type: disc;
    padding: 0 0 40px 3em;
    margin: 0;
}
#search_page .not-found .category-list li {
    margin-bottom: 8px;
    list-style: disc;
    /* Ensure disc is shown */
}
#search_page .not-found .category-list li a {
    color: var(--color-text, #333);
}

#company_page {
    /* Page Wrapper */
    /* Message Section */
    /* Information Section */
    /* Company Image Section */
    /* Access Section */
}
#company_page .page {
    margin: 0 auto;
    box-sizing: content-box;
}
#company_page .message {
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
}
#company_page .message .inner {
    background: #fffcf6;
    padding: 68px 48px;
    margin: 0 auto 51px;
    position: relative;
}
@media (max-width: 768px) {
    #company_page .message .inner {
        margin: 40px 20px 34px;
        padding: 48px 20px 47px;
    }
}
#company_page .message h2 {
    color: #ff9811;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 0;
    z-index: 1;
    position: relative;
    /* Utility classes for display switching */
}
@media (max-width: 768px) {
    #company_page .message h2 {
        font-size: 19px;
        font-weight: 700;
        line-height: 1.6;
    }
}
@media (max-width: 768px) {
    #company_page .message h2 .desktopOnly {
        display: none;
    }
}
#company_page .message h2 .mobileOnly {
    display: none;
}
@media (max-width: 768px) {
    #company_page .message h2 .mobileOnly {
        display: block;
    }
}
#company_page .message .messageImage {
    position: absolute;
    bottom: 0;
    right: 32px;
}
@media (max-width: 768px) {
    #company_page .message .messageImage {
        display: none;
    }
}
#company_page .message .messageImageSP {
    display: none;
    position: absolute;
    bottom: 0;
    margin: 40px auto 0;
    right: 0;
}
@media (max-width: 768px) {
    #company_page .message .messageImageSP {
        display: block;
    }
}
#company_page .message h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.8;
    color: #01478d;
    margin-bottom: 19px;
    margin-left: 40px;
}
@media (max-width: 768px) {
    #company_page .message h3 {
        font-size: 18px;
        line-height: 1.6;
        margin: 10px 20px;
    }
}
#company_page .message p {
    line-height: 1.7;
    margin: 0px 40px 25px 41px;
    color: #333;
}
@media (max-width: 768px) {
    #company_page .message p {
        margin: 22px 21px 25px 21px;
        line-height: 1.8;
        font-size: 16px;
    }
}
#company_page .information {
    max-width: 800px;
    margin: 0px auto 9px;
}
#company_page .information .inner {
    margin: 0 auto;
}
#company_page .information dl {
    display: grid;
    grid-template-columns: 0fr 2fr;
    /* Note: 0fr might behave differently in some browsers, but keeping reference */
    grid-template-columns: 180px 1fr;
    /* Adjusted for better cross-browser likelyhood of 'width: 180px' dt */
    row-gap: 2px;
    -moz-column-gap: 0;
         column-gap: 0;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 79px;
    padding-top: 12px;
}
@media (max-width: 768px) {
    #company_page .information dl {
        grid-template-columns: 1fr;
        margin: 0px 20px 64px;
        padding-top: 33px;
    }
}
#company_page .information dl dt,
#company_page .information dl dd {
    display: flex;
    align-items: center;
    min-height: 78px;
    /* Changed height to min-height for content flexibility */
    height: auto;
}
@media (max-width: 768px) {
    #company_page .information dl dt,
    #company_page .information dl dd {
        height: auto;
    }
}
#company_page .information dl dt {
    background: var(--color-main, #333);
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    /* width: 180px;  Handled by grid-template-columns */
    padding: 26px 24px;
}
@media (max-width: 768px) {
    #company_page .information dl dt {
        width: 100%;
        padding: 9px 18px;
    }
}
#company_page .information dl dd {
    margin: 0;
    color: var(--color-text, #333);
    padding: 5px 24px;
    background: #f7f8fa;
}
@media (max-width: 768px) {
    #company_page .information dl dd {
        padding: 14px 18px;
    }
}
#company_page .companyImage {
    max-width: var(--standard-width);
    margin: 0 auto 80px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}
@media (max-width: 768px) {
    #company_page .companyImage {
        margin-top: 64px;
        gap: 15px;
        margin-bottom: 55px;
    }
}
@media (max-width: 768px) {
    #company_page .companyImage > img {
        width: 180px;
        -o-object-fit: cover;
           object-fit: cover;
        height: 120px;
    }
}
#company_page .access {
    max-width: 800px;
    margin: 0 auto 160px;
}
#company_page .access .map {
    margin-bottom: 17px;
    width: 800px;
    height: 464px;
}
@media (max-width: 768px) {
    #company_page .access .map {
        width: 100%;
        height: 360px;
        padding: 9px 18px;
    }
}
#company_page .access .map iframe {
    width: 100%;
    height: 100%;
}
#company_page .access dl {
    display: grid;
    grid-template-columns: 120px 1fr;
    /* Adjusted from 0.7fr 2fr matching dt width */
    line-height: 1.7;
}
@media (max-width: 768px) {
    #company_page .access dl {
        grid-template-columns: 1fr;
        padding: 4px 20px;
    }
}
#company_page .access dt {
    font-weight: 700;
    /* width: 120px; Handled by grid */
}
#company_page .access dd {
    font-weight: 400;
}
@media (max-width: 768px) {
    #company_page .access dd {
        margin-top: 19px;
    }
}
#company_page .access dd li {
    list-style: disc;
    margin-left: 1em;
}
@media (max-width: 768px) {
    #company_page .access dd li {
        padding-bottom: 10px;
    }
}

#contact_page .contact {
    max-width: var(--standard-width);
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #contact_page .contact {
        margin: 28px 0 0;
    }
}
#contact_page .contact .item {
    max-width: var(--standard-width);
    margin: 0 auto 48px;
    padding: 0 0 48px;
    border-radius: 8px;
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
}
@media (max-width: 768px) {
    #contact_page .contact .item {
        margin: 0 auto 24px;
        padding: 0 0 24px;
    }
}
#contact_page .contact h2 {
    font-size: 36px;
    font-weight: 700;
    margin: 0 auto 46px;
    /* Adjusted margin since it's inside .page */
    line-height: 1.7;
    padding: 40px 0 0;
    /* Added padding to separate from header */
    background: none;
    color: #01478d;
    text-align: center;
}
@media (max-width: 768px) {
    #contact_page .contact h2 {
        font-size: 17px;
        line-height: 1.5;
        margin: 0 0 15px;
        padding: 20px 0 0;
    }
}
#contact_page .contact h3 {
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    padding: 32px 16px;
    color: var(--color-text-inverse, #fff);
    background: var(--color-main, #333);
    border-radius: 8px 8px 0 0;
    margin-top: 0;
}
@media (max-width: 768px) {
    #contact_page .contact h3 {
        font-size: 18px;
        line-height: 1.7;
        height: auto;
        min-height: 62px;
        text-align: center;
        padding: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}
#contact_page .contact .listBox {
    background: var(--color-background-secondary, #f7f8fa);
    padding: 40px 40px 32px;
    /* border-radius: 20px; The reference had radius but it was inside .item which already has radius? checking.. no listBox is inside .item. 20px radius might look good. */
    border-radius: 0;
    /* Reference SCSS says border-radius: 20px, but usually this is just a box. Let's keep 0 or match generic design. Reference says 20px so sticking to it. */
    border-radius: 0 0 0 0;
    /* actually h3 has top radius. .item has 8px. listBox is inside. Reference SCSS says 20px. */
    border-radius: 0;
    /* Let's follow reference strictly */
    border-radius: 20px;
    margin: 20px 20px 0;
    /* Added margin to give spacing from edges of item */
}
@media (max-width: 768px) {
    #contact_page .contact .listBox {
        font-size: 16px;
        line-height: 1.5;
        padding: 21px 16px;
        margin: 10px 10px 0;
        border-radius: 10px;
    }
}
#contact_page .contact .listBox p {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 18px;
    text-align: center;
}
@media (max-width: 768px) {
    #contact_page .contact .listBox p {
        font-size: 16px;
        line-height: 1.5;
        padding: 0 10px;
    }
}
#contact_page .contact .listText {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    list-style: none;
    padding: 0;
}
@media (max-width: 768px) {
    #contact_page .contact .listText {
        flex-direction: column;
        gap: 4px;
        margin-top: 10px;
    }
}
#contact_page .contact .listText li {
    width: calc((100% - 32px) / 3);
    height: 87px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    border-radius: 4px;
    border: 1px solid #e5ecf5;
    background: #fffcf6;
    padding: 10px 10px 10px 40px;
    /* Reduced vertical padding from reference 20px to fit content if wrapped */
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    /* reference center? check.. align-items center */
    box-sizing: border-box;
}
@media (max-width: 768px) {
    #contact_page .contact .listText li {
        width: 100%;
        gap: 12px;
        padding: 10px 10px 10px 30px;
        height: auto;
        min-height: 60px;
        font-size: 13px;
        line-height: 1.6;
    }
}
#contact_page .contact .listText li:before {
    content: "";
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background: url("/wp-content/themes/dreambase/assets/images/icon/check.svg") no-repeat center;
    background-size: contain;
}
#contact_page .contact .buttonWrapper {
    max-width: 415px;
    margin: 30px auto 0;
    text-align: center;
}
@media (max-width: 768px) {
    #contact_page .contact .buttonWrapper {
        max-width: 303px;
        margin: 20px auto 0;
    }
}
#contact_page .contact .buttonWrapper a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 2px solid var(--color-main, #01478d);
    color: var(--color-main, #01478d);
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    padding: 1em;
    min-height: 68px;
    border-radius: 8px;
    transition: all 0.3s;
    position: relative;
}
#contact_page .contact .buttonWrapper a:hover {
    background: var(--color-main, #01478d);
    color: #fff;
}
#contact_page .contact .buttonWrapper a .icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#privacy_page .page {
    margin: 0 auto;
    padding: 50px 20px 100px;
    box-sizing: content-box;
}
@media (max-width: 768px) {
    #privacy_page .page {
        padding: 30px 20px 60px;
    }
}
#privacy_page .container {
    max-width: 800px;
    margin: 0 auto;
}
#privacy_page .content {
    /* Derived from prose.scss */
    font-size: 16px;
    line-height: 1.8;
    color: var(--color-text, #333);
}
#privacy_page .content h1 {
    font-size: 33px;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 24px;
}
#privacy_page .content h2 {
    font-size: 27px;
    font-weight: 700;
    margin: 80px 0 24px;
    line-height: 1.4;
    padding: 24px 40px 23px;
    background: var(--color-main, #01478d);
    border-radius: 8px;
    /* Hardcoded fallback for var(--border-radius) */
    color: var(--color-text-inverse, #fff);
}
@media (max-width: 991px) {
    #privacy_page .content h2 {
        margin: 80px -20px 24px;
        padding: 19px 20px;
        font-size: 24px;
        line-height: 1.5;
    }
}
#privacy_page .content h3 {
    font-size: 22px;
    font-weight: 700;
    margin: 73px 40px 24px;
    padding-bottom: 16px;
    line-height: 1.5;
    border-bottom: 3px solid #efeade;
    position: relative;
}
@media (max-width: 991px) {
    #privacy_page .content h3 {
        font-size: 19px;
        margin: 60px 0px 24px;
        padding-bottom: 20px;
    }
}
#privacy_page .content h3:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px var(--color-main, #01478d);
    bottom: -3px;
    width: 80px;
}
@media (max-width: 991px) {
    #privacy_page .content h3:after {
        width: 37px;
    }
}
#privacy_page .content h4 {
    font-size: 20px;
    font-weight: 700;
    color: #009a74;
    margin: 63px 40px 16px;
    line-height: 1.6;
}
@media (max-width: 991px) {
    #privacy_page .content h4 {
        font-size: 18px;
        margin: 48px 0 16px;
    }
}
#privacy_page .content p {
    font-size: 16px;
    padding: 0 40px 32px;
    line-height: 1.7;
    word-break: break-word;
}
@media (max-width: 991px) {
    #privacy_page .content p {
        padding: 0 0px 32px;
        line-height: 1.8;
    }
}
#privacy_page .content p:last-child {
    padding-bottom: 0;
}
#privacy_page .content p a {
    text-decoration: underline;
}
#privacy_page .content p a:hover {
    opacity: 0.8;
}
#privacy_page .content ul {
    font-size: 16px;
    padding-left: 1em;
    list-style-type: disc;
    margin: 0 40px 24px;
    line-height: 1.7;
}
@media (max-width: 991px) {
    #privacy_page .content ul {
        margin: 0 0px 24px;
    }
}
@media (max-width: 768px) {
    #privacy_page .content ul {
        line-height: 1.8;
    }
}
#privacy_page .content ul > li > ul {
    margin: 0 0px 24px 0px;
}
#privacy_page .content ol {
    font-size: 16px;
    list-style: decimal;
    padding-left: 1em;
    margin: 0 40px 24px;
    line-height: 1.7;
}
@media (max-width: 991px) {
    #privacy_page .content ol {
        margin: 0 0px 24px;
    }
}
@media (max-width: 768px) {
    #privacy_page .content ol {
        line-height: 1.8;
    }
}

#form_page .required {
    color: var(--color-error, #ff3d11);
    font-weight: bold;
}
#form_page .form-block {
    max-width: 800px;
    margin: 0 auto 40px;
    box-sizing: content-box;
    border-radius: 8px;
    background: #fff;
    font-size: 16px;
    color: var(--color-text, #333);
    box-shadow: 0 77px 22px 0 rgba(118, 162, 219, 0), 0 49px 20px 0 rgba(118, 162, 219, 0.01), 0 28px 17px 0 rgba(118, 162, 219, 0.03), 0 12px 12px 0 rgba(118, 162, 219, 0.04), 0 3px 7px 0 rgba(118, 162, 219, 0.05);
    overflow: hidden;
}
@media (max-width: 768px) {
    #form_page .form-block {
        margin: 0 20px;
    }
}
#form_page .form-block .formHeader {
    display: flex;
    width: 800px;
    height: 86px;
    padding: 0 268px;
    justify-content: center;
    align-items: center;
    background: var(--color-main, #01478d);
    color: #fff;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 33px;
}
@media (max-width: 768px) {
    #form_page .form-block .formHeader {
        width: 100%;
        font-size: 18px;
        height: 69px;
        padding: 0;
        margin-bottom: 16px;
    }
}
#form_page .form-block .desktopOnly {
    display: block;
}
@media (max-width: 768px) {
    #form_page .form-block .desktopOnly {
        display: none;
    }
}
#form_page .form-block .mobileOnly {
    display: none;
}
@media (max-width: 768px) {
    #form_page .form-block .mobileOnly {
        display: block;
    }
}
#form_page .form-block a {
    color: var(--color-link, #01478d);
    text-decoration-line: underline;
    text-decoration-style: solid;
    -webkit-text-decoration-skip: ink;
            text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}
#form_page .form-block p {
    padding: 0 40px 14px;
}
@media (max-width: 768px) {
    #form_page .form-block p {
        margin: 0 auto;
        font-size: 15px;
        line-height: 1.5;
        padding: 10px 16px 1px;
        color: var(--color-text, #333);
        text-align: center;
        font-weight: 400;
    }
}
#form_page .form-inner {
    width: 100%;
    padding: 22px 64px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
@media (max-width: 768px) {
    #form_page .form-inner {
        padding: 56px 16px 10px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
}
#form_page .form-inner .formContact {
    display: block;
    width: 100%;
    text-align: center;
}
#form_page .form-inner button[type=submit] {
    height: 60px;
    padding: 0 87px 0 88px;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    border: 2px solid var(--color-link, #01478d);
    background: #fff;
    color: var(--color-link, #01478d);
    font-weight: 700;
    line-height: 1.7;
    font-size: 16px;
    margin: 40px auto;
    cursor: pointer;
}
#form_page .form-inner button[type=submit]:hover {
    background-color: var(--color-link-hover, #0056b3);
    color: #fff;
}
@media (max-width: 768px) {
    #form_page .form-inner button[type=submit] {
        margin: 40px auto 65px;
        width: 100%;
    }
}
#form_page .form-item {
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
}
#form_page .form-item > label {
    width: 288px;
    align-items: center;
    text-align: left;
    line-height: 1.7;
    font-size: 16px;
    font-weight: 700;
    color: var(--color-text, #333);
    margin-top: 20px;
}
#form_page .form-item > input, #form_page .form-item > textarea, #form_page .form-item > select, #form_page .form-item > .input-wrapper > input, #form_page .form-item > .input-wrapper > textarea, #form_page .form-item > .input-wrapper > select {
    text-align: left;
    width: 376px;
    height: 60px;
    padding: 4px 26px;
    border-radius: 8px;
    border: 1px solid #e4ddd5;
    background: #fafafa;
    line-height: 1.7;
    box-sizing: border-box;
}
@media (max-width: 768px) {
    #form_page .form-item > input, #form_page .form-item > textarea, #form_page .form-item > select, #form_page .form-item > .input-wrapper > input, #form_page .form-item > .input-wrapper > textarea, #form_page .form-item > .input-wrapper > select {
        width: 100%;
    }
}
#form_page .form-item > textarea, #form_page .form-item > .input-wrapper > textarea {
    display: inline-flex;
    height: 160px;
    padding: 16px 24px;
    align-items: center;
    color: #888;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    margin-top: 22px;
    margin-bottom: 22px;
    resize: vertical;
}
#form_page .form-item .input-wrapper {
    /* Wrapper to handle input width if needed, but flex layout is controlled by parent */
    width: 376px;
}
@media (max-width: 768px) {
    #form_page .form-item .input-wrapper {
        width: 100%;
    }
}
#form_page .form-item:last-of-type {
    margin-bottom: 40px;
}
@media (max-width: 768px) {
    #form_page .form-item:last-of-type {
        margin-bottom: 20px;
    }
}
@media (max-width: 768px) {
    #form_page .form-item {
        flex-direction: column;
        width: 100%;
    }
    #form_page .form-item > label {
        width: 100%;
        margin-top: 0;
        font-size: 15px;
    }
    #form_page .form-item > input, #form_page .form-item > textarea, #form_page .form-item > select, #form_page .form-item > .input-wrapper > input, #form_page .form-item > .input-wrapper > textarea, #form_page .form-item > .input-wrapper > select {
        width: 100%;
        margin-bottom: 0px;
        margin-top: 0px;
        padding: 16px;
    }
}
#form_page .no-spin::-webkit-inner-spin-button,
#form_page .no-spin::-webkit-outer-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}
#form_page .required {
    float: right;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    background: #ff3d11;
    color: white;
    margin-right: 14px;
    height: 26px;
    padding: 8px;
    font-size: 13px;
}
@media (max-width: 768px) {
    #form_page .required {
        float: none;
        padding: 6px;
        margin-left: 16px;
        line-height: 1.6;
        font-size: 13px;
        height: 24px;
    }
}

/* ---------------------------------------------
*   background-color
--------------------------------------------- */
.bg-white {
    background-color: var(--color-white-1) !important;
}

/* ---------------------------------------------
*   font-wight
--------------------------------------------- */
.fw-normal {
    font-weight: 500 !important;
}

.fw-bold {
    font-weight: 700 !important;
}

/* ---------------------------------------------
*   text-align
--------------------------------------------- */
.txt-al-center {
    text-align: center !important;
}

.txt-al-right {
    text-align: right !important;
}

.txt-al-left {
    text-align: left !important;
}

@media print and (min-width: 751px), screen and (min-width: 751px) {
    .pc-hide {
        display: none !important;
    }
}
@media print and (max-width: 750px), screen and (max-width: 750px) {
    .sp-hide {
        display: none !important;
    }
}
/* ---------------------------------------------
*   margin-top
--------------------------------------------- */
.mgt-pc--0 {
    margin-top: 0 !important;
}

.mgt-pc--5 {
    margin-top: 5px !important;
}

.mgt-pc--10 {
    margin-top: 10px !important;
}

.mgt-pc--15 {
    margin-top: 15px !important;
}

.mgt-pc--20 {
    margin-top: 20px !important;
}

.mgt-pc--25 {
    margin-top: 25px !important;
}

.mgt-pc--30 {
    margin-top: 30px !important;
}

.mgt-pc--35 {
    margin-top: 35px !important;
}

.mgt-pc--40 {
    margin-top: 40px !important;
}

.mgt-pc--45 {
    margin-top: 45px !important;
}

.mgt-pc--50 {
    margin-top: 50px !important;
}

.mgt-pc--55 {
    margin-top: 55px !important;
}

.mgt-pc--60 {
    margin-top: 60px !important;
}

.mgt-pc--65 {
    margin-top: 65px !important;
}

.mgt-pc--70 {
    margin-top: 70px !important;
}

.mgt-pc--75 {
    margin-top: 75px !important;
}

.mgt-pc--80 {
    margin-top: 80px !important;
}

.mgt-pc--85 {
    margin-top: 85px !important;
}

.mgt-pc--90 {
    margin-top: 90px !important;
}

.mgt-pc--95 {
    margin-top: 95px !important;
}

.mgt-pc--100 {
    margin-top: 100px !important;
}

.mgt-pc--105 {
    margin-top: 105px !important;
}

.mgt-pc--110 {
    margin-top: 110px !important;
}

.mgt-pc--115 {
    margin-top: 115px !important;
}

.mgt-pc--120 {
    margin-top: 120px !important;
}

.mgt-pc--125 {
    margin-top: 125px !important;
}

.mgt-pc--130 {
    margin-top: 130px !important;
}

.mgt-pc--135 {
    margin-top: 135px !important;
}

.mgt-pc--140 {
    margin-top: 140px !important;
}

.mgt-pc--145 {
    margin-top: 145px !important;
}

.mgt-pc--150 {
    margin-top: 150px !important;
}

.mgt-pc--155 {
    margin-top: 155px !important;
}

.mgt-pc--160 {
    margin-top: 160px !important;
}

.mgt-pc--165 {
    margin-top: 165px !important;
}

.mgt-pc--170 {
    margin-top: 170px !important;
}

.mgt-pc--175 {
    margin-top: 175px !important;
}

.mgt-pc--180 {
    margin-top: 180px !important;
}

.mgt-pc--185 {
    margin-top: 185px !important;
}

.mgt-pc--190 {
    margin-top: 190px !important;
}

.mgt-pc--195 {
    margin-top: 195px !important;
}

.mgt-pc--200 {
    margin-top: 200px !important;
}

.mgt-pc--205 {
    margin-top: 205px !important;
}

.mgt-pc--210 {
    margin-top: 210px !important;
}

.mgt-pc--215 {
    margin-top: 215px !important;
}

.mgt-pc--220 {
    margin-top: 220px !important;
}

.mgt-pc--225 {
    margin-top: 225px !important;
}

.mgt-pc--230 {
    margin-top: 230px !important;
}

.mgt-pc--235 {
    margin-top: 235px !important;
}

.mgt-pc--240 {
    margin-top: 240px !important;
}

.mgt-pc--245 {
    margin-top: 245px !important;
}

.mgt-pc--250 {
    margin-top: 250px !important;
}

@media screen and (max-width: 750px) {
    .mgt-sp--0 {
        margin-top: 0 !important;
    }
    .mgt-sp--5 {
        margin-top: calc(5 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--10 {
        margin-top: calc(10 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--15 {
        margin-top: calc(15 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--20 {
        margin-top: calc(20 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--25 {
        margin-top: calc(25 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--30 {
        margin-top: calc(30 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--35 {
        margin-top: calc(35 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--40 {
        margin-top: calc(40 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--45 {
        margin-top: calc(45 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--50 {
        margin-top: calc(50 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--55 {
        margin-top: calc(55 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--60 {
        margin-top: calc(60 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--65 {
        margin-top: calc(65 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--70 {
        margin-top: calc(70 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--75 {
        margin-top: calc(75 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--80 {
        margin-top: calc(80 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--85 {
        margin-top: calc(85 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--90 {
        margin-top: calc(90 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--95 {
        margin-top: calc(95 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--100 {
        margin-top: calc(100 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--105 {
        margin-top: calc(105 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--110 {
        margin-top: calc(110 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--115 {
        margin-top: calc(115 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--120 {
        margin-top: calc(120 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--125 {
        margin-top: calc(125 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--130 {
        margin-top: calc(130 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--135 {
        margin-top: calc(135 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--140 {
        margin-top: calc(140 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--145 {
        margin-top: calc(145 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--150 {
        margin-top: calc(150 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--155 {
        margin-top: calc(155 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--160 {
        margin-top: calc(160 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--165 {
        margin-top: calc(165 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--170 {
        margin-top: calc(170 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--175 {
        margin-top: calc(175 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--180 {
        margin-top: calc(180 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--185 {
        margin-top: calc(185 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--190 {
        margin-top: calc(190 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--195 {
        margin-top: calc(195 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--200 {
        margin-top: calc(200 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--205 {
        margin-top: calc(205 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--210 {
        margin-top: calc(210 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--215 {
        margin-top: calc(215 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--220 {
        margin-top: calc(220 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--225 {
        margin-top: calc(225 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--230 {
        margin-top: calc(230 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--235 {
        margin-top: calc(235 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--240 {
        margin-top: calc(240 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--245 {
        margin-top: calc(245 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--250 {
        margin-top: calc(250 / var(--design-width) * 100vw) !important;
    }
}
/* ---------------------------------------------
*   margin-bottom
--------------------------------------------- */
.mgb-pc--0 {
    margin-bottom: 0 !important;
}

.mgb-pc--5 {
    margin-bottom: 5px !important;
}

.mgb-pc--10 {
    margin-bottom: 10px !important;
}

.mgb-pc--15 {
    margin-bottom: 15px !important;
}

.mgb-pc--20 {
    margin-bottom: 20px !important;
}

.mgb-pc--25 {
    margin-bottom: 25px !important;
}

.mgb-pc--30 {
    margin-bottom: 30px !important;
}

.mgb-pc--35 {
    margin-bottom: 35px !important;
}

.mgb-pc--40 {
    margin-bottom: 40px !important;
}

.mgb-pc--45 {
    margin-bottom: 45px !important;
}

.mgb-pc--50 {
    margin-bottom: 50px !important;
}

.mgb-pc--55 {
    margin-bottom: 55px !important;
}

.mgb-pc--60 {
    margin-bottom: 60px !important;
}

.mgb-pc--65 {
    margin-bottom: 65px !important;
}

.mgb-pc--70 {
    margin-bottom: 70px !important;
}

.mgb-pc--75 {
    margin-bottom: 75px !important;
}

.mgb-pc--80 {
    margin-bottom: 80px !important;
}

.mgb-pc--85 {
    margin-bottom: 85px !important;
}

.mgb-pc--90 {
    margin-bottom: 90px !important;
}

.mgb-pc--95 {
    margin-bottom: 95px !important;
}

.mgb-pc--100 {
    margin-bottom: 100px !important;
}

.mgb-pc--105 {
    margin-bottom: 105px !important;
}

.mgb-pc--110 {
    margin-bottom: 110px !important;
}

.mgb-pc--115 {
    margin-bottom: 115px !important;
}

.mgb-pc--120 {
    margin-bottom: 120px !important;
}

.mgb-pc--125 {
    margin-bottom: 125px !important;
}

.mgb-pc--130 {
    margin-bottom: 130px !important;
}

.mgb-pc--135 {
    margin-bottom: 135px !important;
}

.mgb-pc--140 {
    margin-bottom: 140px !important;
}

.mgb-pc--145 {
    margin-bottom: 145px !important;
}

.mgb-pc--150 {
    margin-bottom: 150px !important;
}

.mgb-pc--155 {
    margin-bottom: 155px !important;
}

.mgb-pc--160 {
    margin-bottom: 160px !important;
}

.mgb-pc--165 {
    margin-bottom: 165px !important;
}

.mgb-pc--170 {
    margin-bottom: 170px !important;
}

.mgb-pc--175 {
    margin-bottom: 175px !important;
}

.mgb-pc--180 {
    margin-bottom: 180px !important;
}

.mgb-pc--185 {
    margin-bottom: 185px !important;
}

.mgb-pc--190 {
    margin-bottom: 190px !important;
}

.mgb-pc--195 {
    margin-bottom: 195px !important;
}

.mgb-pc--200 {
    margin-bottom: 200px !important;
}

.mgb-pc--205 {
    margin-bottom: 205px !important;
}

.mgb-pc--210 {
    margin-bottom: 210px !important;
}

.mgb-pc--215 {
    margin-bottom: 215px !important;
}

.mgb-pc--220 {
    margin-bottom: 220px !important;
}

.mgb-pc--225 {
    margin-bottom: 225px !important;
}

.mgb-pc--230 {
    margin-bottom: 230px !important;
}

.mgb-pc--235 {
    margin-bottom: 235px !important;
}

.mgb-pc--240 {
    margin-bottom: 240px !important;
}

.mgb-pc--245 {
    margin-bottom: 245px !important;
}

.mgb-pc--250 {
    margin-bottom: 250px !important;
}

@media screen and (max-width: 750px) {
    .mgb-sp--0 {
        margin-bottom: 0 !important;
    }
    .mgb-sp--5 {
        margin-bottom: calc(5 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--10 {
        margin-bottom: calc(10 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--15 {
        margin-bottom: calc(15 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--20 {
        margin-bottom: calc(20 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--25 {
        margin-bottom: calc(25 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--30 {
        margin-bottom: calc(30 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--35 {
        margin-bottom: calc(35 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--40 {
        margin-bottom: calc(40 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--45 {
        margin-bottom: calc(45 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--50 {
        margin-bottom: calc(50 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--55 {
        margin-bottom: calc(55 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--60 {
        margin-bottom: calc(60 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--65 {
        margin-bottom: calc(65 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--70 {
        margin-bottom: calc(70 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--75 {
        margin-bottom: calc(75 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--80 {
        margin-bottom: calc(80 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--85 {
        margin-bottom: calc(85 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--90 {
        margin-bottom: calc(90 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--95 {
        margin-bottom: calc(95 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--100 {
        margin-bottom: calc(100 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--105 {
        margin-bottom: calc(105 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--110 {
        margin-bottom: calc(110 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--115 {
        margin-bottom: calc(115 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--120 {
        margin-bottom: calc(120 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--125 {
        margin-bottom: calc(125 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--130 {
        margin-bottom: calc(130 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--135 {
        margin-bottom: calc(135 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--140 {
        margin-bottom: calc(140 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--145 {
        margin-bottom: calc(145 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--150 {
        margin-bottom: calc(150 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--155 {
        margin-bottom: calc(155 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--160 {
        margin-bottom: calc(160 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--165 {
        margin-bottom: calc(165 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--170 {
        margin-bottom: calc(170 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--175 {
        margin-bottom: calc(175 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--180 {
        margin-bottom: calc(180 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--185 {
        margin-bottom: calc(185 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--190 {
        margin-bottom: calc(190 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--195 {
        margin-bottom: calc(195 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--200 {
        margin-bottom: calc(200 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--205 {
        margin-bottom: calc(205 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--210 {
        margin-bottom: calc(210 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--215 {
        margin-bottom: calc(215 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--220 {
        margin-bottom: calc(220 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--225 {
        margin-bottom: calc(225 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--230 {
        margin-bottom: calc(230 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--235 {
        margin-bottom: calc(235 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--240 {
        margin-bottom: calc(240 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--245 {
        margin-bottom: calc(245 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--250 {
        margin-bottom: calc(250 / var(--design-width) * 100vw) !important;
    }
}