@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* common */
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap');

:root {
    --main: #333;
    --yellow: #c5a20a;
    --yellow-2: #947a08;
    --yellow-3: #dcb92d;
    --yellow-4: #b4870f;
    --grey: #999;
    --grey-2: #808080;
    --grey-3: #ccc;
    --grey-4: #b3b3b3;
    --red: #dd3c28;
    --font-josefin-sans: "Josefin Sans", sans-serif;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--swl-font_family);
}

section {
    scroll-margin-top: 100px;
}

p {
    line-height: 1.7;
}

img {
    max-width: 100%;
    vertical-align: bottom;
}

a {
    color: var(--yellow);
}

a:hover {
    opacity: .85;
}

svg a[href*="/"] {
    cursor: pointer;
}

svg a:not([href*="/"]):hover {
    filter: none;
    opacity: 1;
}

svg a[href*="/"]:hover {
    filter: brightness(.9);
    opacity: 1;
}

/* @media (min-width: 600px) {
    .post_content h3 {
        font-size: 1.4em;
    }
} */

/* layout */
.l-topTitleArea.c-filterLayer::before,
.l-topTitleArea.c-filterLayer::after {
    display: none;
}

.l-container {
    padding-left: 5%;
    padding-right: 5%;
}

.tb-show,
.sp-show {
    display: none;
}



@media screen and (max-width: 768px) {
    .tb-show {
        display: block;
    }

    .tb-hide {
        display: none;
    }
}

@media screen and (max-width: 600px) {
    .sp-show {
        display: block;
    }

    .sp-hide {
        display: none;
    }
}

/* header */
.l-fixHeader__inner.l-container,
.l-header__inner.l-container {
    max-width: 100%;
    padding: 0;
}

.header-btn {
    padding: 0;
}



.c-gnav>.menu-item.header-btn a {
    color: #fff;
    display: flex;
    height: 100%;
    align-items: center;
    background: var(--red);
    color: #fff;
    font-weight: 700;
    padding: 1em 2em;
    clip-path: polygon(10% 0%, 100% 0%, 100% 100%, 0% 100%);
    transition: .2s;
}

.c-gnav>.menu-item.header-btn a:hover {
    background: #b63120;
    opacity: 1;
}

.c-gnav>.menu-item.header-btn a:hover .label {
    color: #b63120;
}

.c-gnav>.menu-item.header-btn:hover>a::after {
    transform: scaleX(0);
}

.header-btn .ttl {
    display: flex !important;
    align-items: center;
    flex-direction: column;
    gap: 8px;
}

.header-btn .label {
    display: inline-block;
    font-size: 12px;
    background: #fff;
    color: var(--red);
    padding: 5px 10px;
    border-radius: 50px;
}

.l-fixHeader__logo,
.l-header__logo {
    padding: 1em;
    margin-left: 30px !important;
    flex-shrink: 0;
}

@media screen and (max-width: 1370px) {
    .c-gnav>.menu-item>a .ttl {
        font-size: 10px;
    }

    .c-gnav>.menu-item>a {
        padding: .5em;
    }

    .c-gnav>.menu-item.header-btn a {
        padding: 1em;
    }

    .l-fixHeader__logo,
    .l-header__logo {
        max-width: 100px;
        padding: 0.5em;
        margin: 0 0.5em;
    }
}

@media screen and (min-width: 960px) {
    .-series .c-headLogo {
        margin-right: 0;
    }
}


/* sp menu */
.p-spMenu__body {
    background: linear-gradient(to right, #c8c8c8 0%, #f0f0f0 50%, #c8c8c8 100%);
    padding: 10vw 4vw;
}

.c-widget__title.-spmenu {
    display: none;
}

.c-spnav .sp-menu-btn {
    margin-top: 3em !important;
}

.sp-menu-btn a::before {
    display: none;
}

.c-listMenu .sp-menu-btn a:hover {
    transform: translateX(0);
    background: linear-gradient(to right, #b4870f 0%, #dcb92d 50%, #b4870f 100%);
    padding-left: 0px;
    padding-right: 0;

}

/* card */

.p-postList__link:hover .c-postThumb::before {
    display: none;
}

/* component */
.c-pageTitle {
    display: flex;
    flex-direction: column;
    line-height: 1;
    font-size: 1.2rem;
    font-weight: 500;
}

.c-pageTitle::before {
    font-family: var(--font-josefin-sans);
    font-size: 3.2rem;
}


.c-pageTitle__subTitle {
    display: none;
}

.category-news .c-pageTitle::before {
    content: "NEWS";
}

.category-information .c-pageTitle::before {
    content: "INFORMATION";
}

.category-blog .c-pageTitle::before {
    content: "BLOG";
}

.page-id-365 .c-pageTitle::before {
    content: "COMPANY";
}



/* animation */
.fade-in {
    opacity: 0;
    transition: all 0.6s ease-in-out;
    transform: translateY(12px);
}

.fade-in.show {
    opacity: 1;
    transform: translateY(0px);
}

/* button */
.swell-block-button {
    margin-top: 3rem;
}

.sp-menu-btn a,
.btn-gradient,
a.swell-block-button__link {
    display: block;
    width: 100%;
    max-width: 325px;
    text-align: center;
    margin: 0 auto;
    padding: .8em;
    color: #fff;
    background: linear-gradient(to right, #b4870f 0%, #dcb92d 50%, #b4870f 100%);
    clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
    transition: .2s;
    cursor: pointer;
}

.sp-menu-btn a:hover,
.btn-gradient:hover,
a.swell-block-button__link:hover {
    filter: brightness(.9);
}

/* news */
.p-postList.-type-simple .p-postList__body {
    display: flex;
    align-items: center;
    column-gap: 1.5rem;
    row-gap: 10px;
}

.p-postList.-type-simple .p-postList__meta {
    flex-wrap: nowrap;
    gap: 1.5rem;
    margin: 0;
    font-size: 14px;
}

.c-postTimes {
    padding: 0;
    width: 115px;
    flex-shrink: 0;
    display: inline-block;
    margin: 0;
}

.c-postTimes__posted::before {
    content: "";
}

.p-postList__cat {
    background: #fff;
    border-radius: 2em;
    padding: 3px 10px;
    border: 1px solid var(--grey);
    min-width: 90px;
    text-align: center;
}

.p-postList__cat.highlight {
    color: var(--yellow);
    border: 1px solid var(--yellow);
}

.p-postList__cat::before {
    content: "";
}

#post_list_tab_1 .p-postList__body {
    flex-wrap: wrap;

}

#post_list_tab_1 .p-postList__title {
    width: 100%;
}

@media screen and (max-width: 768px) {
    .p-postList.-type-simple .p-postList__body {
        flex-wrap: wrap;
    }

    .p-postList.-type-simple .p-postList__title {
        font-size: 1rem;
        width: 100%;
    }
}

/* pager */
.c-pagination {
    justify-content: right;
}

.page-numbers {
    font-size: 18px;
    font-weight: 700;
    font-family: var(--font-josefin-sans);
    color: #333;
    background: #fff;
}

[class*=page-numbers] {
    min-width: 24px;
    height: 24px;
}

[class*=page-numbers].current,
[class*=page-numbers]:hover {
    background: #fff;
    color: #c5a20a;
}

/* sidebar */
#sidebar .wp-block-heading {
    font-family: var(--font-josefin-sans);
    font-size: 1.25rem;
}

.wp-block-archives-list,
.wp-block-categories-list {
    color: var(--grey-3);
}

.c-listMenu a {
    border: none;
    transition: .25s;
}

.widget_categories>ul>.cat-item>a::before,
.wp-block-categories-list>li>a::before {
    content: "\e921";
}

.c-listMenu a:hover {
    transform: translateX(.4em);
}

/* 記事 */
.l-mainContent__inner {}

.p-articleHead {
    border-bottom: 1px solid var(--grey-3);
    padding-bottom: 2em;
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 10px;
}

.c-postTitle__date {
    display: flex;
    align-items: center;
    gap: 1em;
    font-size: 14px;
    padding: 0;
    margin: 0;
    border: none;
}

.c-postTitle__date .__y {
    margin: 0;
}

.p-articleMetas {}

.c-categoryList::before {
    content: "";
}

.c-categoryList__link {
    display: inline-block;
    background: #fff;
    font-size: 12px;
    border-radius: 2em;
    padding: 5px 10px;
    border: 1px solid var(--yellow);
    min-width: 90px;
    text-align: center;
    color: var(--yellow);
}

.c-categoryList__link:hover {
    box-shadow: none;
    background: var(--yellow);
    color: #fff;
}

@media screen and (min-width:600px) {
    .c-postTitle__date .__md {
        font-size: 14px;
    }
}

/* footer */

.l-container.w-footer {
    max-width: 100%;
}

.l-footer__inner {
    padding: 50px 0 8dvh;
}

.custom-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.custom-footer__logo {
    max-width: 240px;
}

.custom-footer__nav {
    display: flex;
    gap: 60px;
}

.custom-footer__nav a {
    text-decoration: none;
}

.custom-footer__nav a:hover {
    text-decoration: underline;
}

.custom-footer__list {}

.custom-footer__item:not(:first-child) {
    margin-top: 1em;
}

.custom-footer__item::before {
    content: "";
    display: inline-block;
    border-left: 8px solid #fff;
    border-bottom: 6px solid transparent;
    border-top: 6px solid transparent;
    margin-right: 5px;
}

.custom-footer__child {
    text-indent: 2em;
}

.custom-footer__child li {
    margin-top: .5em;
    font-size: 0.9em;
}

.custom-footer__links {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 220px;
}

.custom-footer__tel a {
    font-size: 14px;
    font-weight: 700;
    background: #fff;
    color: var(--main);
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.custom-footer__tel a::before {
    content: "";
    display: inline-block;
    width: 40px;
    aspect-ratio: 1/1;
    background: url("https://humbol-personalgym.com/wp-content/uploads/2024/08/icon-tel.png") no-repeat center/contain;
    flex-shrink: 0;
}

.custom-footer__tel a:hover {
    text-decoration: none;
}

.custom-footer__tel {
    font-size: 12px;
    line-height: 1;
}

.custom-footer__tel .tel-num {
    color: #1d71bc;
    font-size: 21px;
    font-weight: bold;
    margin-bottom: 5px;

}

/* 固定footer */
.p-fixBtnWrap {
    bottom: 70px;
}

#pagetop.hov-bg-main:hover {
    transition: .2s;
    border-color: #fff;
}

.w-beforeFooter {
    margin: 0;
}

.footer-fixed {
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 100;
    transition: .2s;
    transition: bottom 0.3s ease-in-out;
    line-height: 0;
}

.footer-fixed a {
    display: block;
    transition: .2s;
}

.footer-fixed.show {
    bottom: -1px;
}

.footer-fixed,
.footer-fixed.hide {
    bottom: -8dvh;
}

@media screen and (max-width: 768px) {
    #pagetop.hov-bg-main:hover {
width: 45px;
height: 45px;
    }
    .custom-footer {
        flex-direction: column;
        gap: 30px;
    }

    .custom-footer__nav {
        width: 100%;
        gap: 0;
        flex-wrap: wrap;
    }

    .custom-footer__list {
        width: 50%;
    }

    .custom-footer__links {
        width: 100%;
        margin-top: 20px;
    }

    .custom-footer__links li {
        min-width: 48%;
    }

}

@media screen and (max-width: 600px) {
    .p-fixBtnWrap {
        bottom: 5dvh;
    }

    .l-footer__inner {
        padding-bottom: 13dvh;
    }

    .footer-fixed,
    .footer-fixed.hide {
        bottom: -13dvh;
    }
}