@charset "utf-8";
:root {
    --color-key: #1e40ca;
    --color-key-bright: #e4e8f9;
    --color-black: #333;
    --color-white: #fff;
    --color-bluegray50: #eceff1;
    --color-bluegray100: #cfd8dc;
    --color-bluegray600: #90a4ae;
    --color-bluegray800: #37474f;
    --color-grey: #d9d9d9;
    --color-grey50: #fafafa;
    --color-grey300: #e0e0e0;
    --color-grey400: #bdbdbd;
    --color-grey500: #9e9e9e;
    --color-grey600: #757575;
    --color-yellow700: #ffd600;
    --color-lightblue: #e1ecf9;
    --color-text: var(--color-black);
    --color-text-sub: var(--color-grey600);
    --color-text-link: var(--color-key);
    --color-text-key: var(--color-key);
    --color-text-bright: var(--color-white);
    --color-text-bluegray100: var(--color-bluegray100);
    --color-text-grey300: var(--color-grey300);
    --color-text-grey400: var(--color-grey400);
    --color-text-grey500: var(--color-grey500);
    --color-background: var(--color-bluegray100);
    --color-background-key: var(--color-key);
    --color-background-black: var(--color-black);
    --color-background-bright: var(--color-white);
    --color-background-key-bright: var(--color-key-bright);
    --color-background-bluegray50: var(--color-bluegray50);
    --color-background-bluegray100: var(--color-bluegray100);
    --color-background-bluegray800: var(--color-bluegray800);
    --color-background-gray: var(--color-grey);
    --color-background-gray50: var(--color-grey50);
    --color-background-gray400: var(--color-grey400);
    --color-background-gray500: var(--color-grey500);
    --color-background-yellow700: var(--color-yellow700);
    --color-background-lightblue: var(--color-lightblue);
    --color-border-key: var(--color-key);
    --color-border-black: var(--color-black);
    --color-border-bright: var(--color-white);
    --color-border-bluegray600: var(--color-bluegray600);
    --color-border-grey300: var(--color-grey300);
    --font-letter-spacing: 0.15em;
    --height-header: 64px;
    --height-header-pc: 60px;
    --hover-button-opacity: 0.75;
    --hover-button-transition: opacity 0.24s var(--transition-md) 0s;
    --transition-md: cubic-bezier(0.55, 0, 0.1, 1);
    --width-max: 1360px;
    --width-max-content: 992px;
    --zindex-header: 100;
    --zindex-header-logo: 200;
    --zindex-modal: 300;
    --zindex-menu: 50;
}
.l-page .header{
    box-sizing: border-box;
    padding: 0;
    position: sticky;
    top: 0;
    background: #FFF;
    z-index: 9;
}
.header .p-logo {
    width: 380px;
    max-width: 60vw;
    background: #FFF;
    padding: 2% 2%;
    display: block;
    border-bottom-right-radius: 15px;
}
.header .p-logo a {
    outline: none;
    display: block;
}
.p-top-scene .header .p-logo {
    max-width: 380px;
    background: #FFF;
    padding: 2% 2%;
    display: block;
    border-bottom-right-radius: 15px;
}
.header .p-header-inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    background: #FFF;
    padding: 0;
    z-index: 99;
}
.p-top-scene .header .p-header-inner {
    background: transparent;
    padding: 0;
    transition: all 0.5s ease;
}
body.-is-menu-content-show .header .p-header-inner{
    background: #FFF;
}
.header .p-menu {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    align-items: center;
    margin-right: 10px;
}
.header .p-menu .p-menu-btn:nth-child(1) {
    --btn-bgColor: #d26e5f;
    --btn-txtColor: #fff;
}
.header .p-menu .p-menu-btn:nth-child(2) {
    --btn-bgColor: #a9c25d;
    --btn-txtColor: #fff;
}
.header .p-menu .p-menu-btn:nth-child(3) {
    --btn-bgColor: #469099;
    --btn-txtColor: #fff;
}
.header .p-menu .p-menu-btn {
    --v-iconColor: var(--btn-txtColor);
    display: flex;
    font-size: var(--fsize-medium);
    background: var(--btn-bgColor);
    border: 2px solid var(--btn-bgColor);
    color: var(--btn-txtColor);
    padding: 0.5rem 1rem 0.5rem 1.5rem;
    gap: 1rem;
    justify-content: space-between;
    align-items: center;
    min-width: 13rem;
    border-radius: 2rem;
}
.header .p-menu .p-menu-btn:hover {
    background: var(--btn-txtColor);
    color: var(--btn-bgColor);
    --v-iconColor: var(--btn-bgColor);
}
.header .p-menu .p-menu-hamburger {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--subColor);
    border: 2px solid var(--subColor);
    text-decoration: none;
    position: relative;
    cursor: pointer;
}
.header .p-menu .p-menu-hamburger .p-menu-hamburger-line {
    display: block;
    width: 31%;
    height: 2px;
    background: #FFF;
    transition: all 0.2s ease, width 0.2s ease;
}
.header .p-menu .p-menu-hamburger:hover {
    background: #FFF;
}
.header .p-menu .p-menu-hamburger:hover .p-menu-hamburger-line {
    background: var(--subColor);
}
@media only screen and (max-width: 1200px) {
    .header .p-menu .p-menu-btn {
        display: none;
    }
}
.p-menu-content {
    position: absolute;
    visibility: hidden;
    top: auto;
    left: 0;
    width: 100vw;
    height: calc(100vh - 5rem);
    z-index: 999;
    background: rgba(0, 0, 0, 0.3);
    overflow: hidden;
}
body.-is-menu-content-show .p-menu-content {
    visibility: visible;
}
.p-menu-inner {
    position: absolute;
    top: auto;
    right: -50vw;
    max-width: 350px;
    width: 100%;
    padding-bottom: 10rem;
    opacity: 0;
    transition: all 0.3s ease;
    background: #f3f5f2;
}
body.-is-menu-content-show .p-menu-inner {
    opacity: 1;
    right: 0;
    min-height: calc(100vh - 4rem);
    max-height: 100vh;
    overflow-y: auto;
}
.p-menu-inner > ul {
    display: flex;
    flex-direction: column;
    font-size: 1rem;
    font-weight: 500;
}
.p-menu-inner > ul > li {
    border-bottom: 1px solid #FFF;
}
.p-menu-inner > ul > li > .p-menu-btn {
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 500;
    background: #2d2d2d;
    color: #FFF;
    --v-iconColor: #FFF;
}
.p-menu-inner > ul > li > .p-menu-btn:hover {
    background: #FFF;
    color: #2d2d2d;
    --v-iconColor: #2d2d2d;
}
.p-menu-inner > ul > li > input[type="checkbox"] {
    display: none;
}
.p-menu-inner > ul > li > input[type="checkbox"] + ul  {
    visibility: hidden;
    height: 0;
    overflow: hidden;
}
.p-menu-inner > ul > li > input[type="checkbox"]:checked + ul {
    visibility: visible;
    height: auto;
}
.p-menu-inner > ul > li > ul > li > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #FFF;
    padding: 0.5rem 1rem;
    color: #2d2d2d;
    --v-iconColor: #2d2d2d;
}
.p-menu-inner > ul > li > ul > li:nth-last-child(1) > a {
    background: #616161;
    color: #FFF;
    --v-iconColor: #FFF;
}
.p-menu-inner > ul > li > ul > li > a:hover {
    text-decoration: underline;
    color: var(--mainColor);
}
.p-menu-inner > ul > li > ul > li + li {
    border-top: 1px solid #ececec;
}
.p-menu-footer {
    margin-top: 4rem;
}
.p-menu-footer .p-menu-logo {
    max-width: 90%;
    width: 150px;
    margin: auto;
}
.p-menu-footer .p-menu-tel {
    --v-iconColor: #2d2d2d;
    font-size: 1.8rem;
    font-weight: 500;
    margin: 1rem auto;
    text-align: center;
}
.p-menu-footer .p-menu-tel > p {
    font-size: var(--fsize-medium);
    line-height: 1;
    margin-bottom: 0;
}
.p-menu-footer .p-menu-tel a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.p-menu-footer .p-menu-cta {
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0 1rem;
}
.p-menu-footer .p-menu-btn {
    --v-iconColor: var(--txt-lightColor);
    display: flex;
    font-size: var(--fsize-medium);
    background: var(--subColor);
    border: 2px solid var(--subColor);
    color: var(--txt-lightColor);
    padding: 0.5rem 1rem 0.5rem 1.5rem;
    gap: 1rem;
    justify-content: space-between;
    align-items: center;
    min-width: 13rem;
    border-radius: 2rem;
}
.p-menu-footer .p-menu-btn:hover {
    background: var(--txt-lightColor);
    color: var(--subColor);
    --v-iconColor: var(--subColor);
}
