@charset "UTF-8";

/* Box sizing rules */

*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
    margin: 0;
}


/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */

ul[role=list],
ol[role=list] {
    list-style: none;
}


/* Set core root defaults */

html:focus-within {
    scroll-behavior: smooth;
}


/* Set core body defaults */

body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
}


/* A elements that don't have a class get default styles */

a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}


/* Make images easier to work with */

img,
picture {
    max-width: 100%;
    display: block;
}


/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
    font: inherit;
}


/* Remove all animations and transitions for people that prefer not to see them */

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        -webkit-animation-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
        -webkit-transition-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}


/* base */

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
    scroll-padding-top: 10.3rem;
}

@media screen and (max-width: 1100px) {
    html {
        scroll-padding-top: 7rem;
    }
}

@media screen and (max-width: 374px) {
    html {
        font-size: 2.6666666667vw;
    }
}

body {
    font-family: 'Noto Serif JP', 'ヒラギノ明朝 ProN', 'Yu Mincho', 'Times New Roman', serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.34375;
    color: #111111;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
    body {
        font-size: 1.4rem;
        line-height: 1.7142857143;
    }
}

a {
    text-decoration: none;
}

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

ul,
ol {
    list-style: none;
    padding: 0;
    margin: 0;
}


/* l-body */

.l-body.noScroll {
    overflow: hidden;
}


/* l-header */

.l-header {
    width: 100%;
    border-bottom: 1px solid #AAA;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    transition: background-color 0.3s ease;
    /* 背景色がスムーズに変わる */
}

.l-header.scrolled {
    background-color: rgba(255, 255, 255, 0.8);
    /* 背景色を白で50%透過 */
    /* スクロール後の背景色 */
    /* オプションで影をつける */
}

@media screen and (max-width: 1100px) {
    .l-header {
        height: auto;
        padding: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: space-between;
    }
}

@media screen and (max-width: 768px) {
    .l-header {
        height: 7rem;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        overflow: hidden;
    }
}

.l-header__logo {
    width: 27rem;
    padding-left: 3rem;
    position: relative;
    z-index: 99;
}

@media screen and (max-width: 1100px) {
    .l-header__logo {
        max-width: 14rem;
        padding-left: 0.5rem;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .l-header__logo {
        max-width: 21rem;
        padding-left: 1rem;
    }
}


#policy .l-header__logo {
    width: 27rem;
    padding: 3rem;
    position: relative;
    z-index: 99;
    margin: 0 auto;
}

@media screen and (max-width: 1100px) {
    #policy .l-header__logo {
        max-width: 21rem;
        padding-left: 1rem;
        margin: 0 auto;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    #policy .l-header__logo {
        max-width: 21rem;
        padding-left: 1rem;
        margin: 0 auto;
    }
}




.l-header__inner {
    width: 100%;
    max-width: 100%;
    padding: 0 0 0 3rem;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    .l-header__inner {
        width: 100%;
        max-width: 100%;
        padding: 0 0 0 0.5rem;
        margin: 0;
    }
}

.l-header__gnav {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

@media screen and (max-width: 1100px) {
    .l-header__gnav {
        display: none;
    }

    .l-header__gnav.menu_isOpen {
        display: block;
        height: 100%;
        width: 100%;
        overflow-y: scroll;
        padding: 7rem 6rem;
        background-color: #fff;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 9;
    }
}

.l-header__menuSP {
    display: none;
}

@media screen and (max-width: 1100px) {
    .l-header__menuSP {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 1.6rem;
    }
}

.l-header__menuSPLink {
    font-size: 1.1rem;
    color: #111111;
    padding: 1rem;
}

.l-header__btn {
    display: none;
}

@media screen and (max-width: 1100px) {
    .l-header__btn {
        display: block;
        position: absolute;
        top: 1rem;
        right: 1rem;
        z-index: 99;
    }
}


/* l-footer */

.l-footer {
    color: #fff;
    padding: 10.4rem 0;
    background-color: #555;
}

@media screen and (max-width: 768px) {
    .l-footer {
        padding: 6rem 0;
    }
}

.l-footer__inner {}

.l-footer__content {
    text-align: center;
}

@media screen and (max-width: 1000px) {
    .l-footer__content {
        display: block;
    }
}

.l-footer__logo img {
    margin: 0 auto;
    width: 300px;
}

@media screen and (max-width: 768px) {
    .l-footer__logo img {
        max-width: 24.2rem;
    }
}

.l-footer__name {
    margin-top: 2rem;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .l-footer__name {
        margin-top: 2.6rem;
    }
}

.l-footer__address {
    font-size: 1.4rem;
    line-height: 1.7142857143;
    margin-top: 1rem;
}

@media screen and (max-width: 768px) {
    .l-footer__address {
        margin-top: 2rem;
    }
}

.l-footer__tel {
    font-size: 1.4rem;
    line-height: 1.7142857143;
}

.l-footer__copy {
    font-family: "Fjalla One", sans-serif;
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: center;
    margin-top: 30px;
}

@media screen and (max-width: 1000px) {
    .l-footer__copy {
        margin-top: 6.4rem;
        text-align: center;
    }
}

.l-footer__navArea {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

@media screen and (max-width: 1000px) {
    .l-footer__navArea {
        margin-top: 3.4rem;
    }
}

.l-footer__navSP {
    display: none;
}

@media screen and (max-width: 768px) {
    .l-footer__navSP {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}

@media screen and (max-width: 768px) {
    .l-footer__navSP>div {
        width: 50%;
    }
}

.l-footer__navSP>div:nth-child(2) {
    padding-left: 5%;
}

.l-footer__navPC {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 0 10%;
}

@media screen and (max-width: 1000px) {
    .l-footer__navPC {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}

@media screen and (max-width: 768px) {
    .l-footer__navPC {
        display: none;
    }
}

.l-footer__spCol {
    display: contents;
}

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

.l-footer__navItem {
    font-size: 1.4rem;
    margin-top: 2rem;
}

@media screen and (max-width: 768px) {
    .l-footer__navItem {
        margin-top: 1.2rem;
    }
}

.l-footer__navItem--noMt {
    margin-top: 0;
}

@media screen and (max-width: 768px) {
    .l-footer__navItem--mtL {
        margin-top: 3rem;
    }
}

.l-footer__navLink {
    display: block;
    color: #fff;
    font-size: 1.4rem;
    letter-spacing: 0.01em;
}

.l-footer__navLink:hover {
    text-decoration: underline;
}

.l-footer__navChild {
    margin-left: 0.4rem;
}

@media screen and (max-width: 768px) {
    .l-footer__navChildItem {
        margin-top: 0.8rem;
    }
}

.l-footer__navChildLink {
    display: block;
    color: #fff;
    font-size: 1.2rem;
    letter-spacing: 0.01em;
}

.l-footer__navChildLink:hover {
    text-decoration: underline;
}


/* l-inner */

.l-inner {
    width: 106rem;
    max-width: 100%;
    padding: 0 3rem;
    margin: auto;
}

@media (max-width: 767px) {
    .l-inner {
        width: 100%;
        max-width: 100%;
        padding: 0 2rem;
        margin: auto;
    }
}


/* c-site */

.c-site {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh;
    position: relative;
    margin-top: 0rem;
}

@media screen and (max-width: 1100px) {
    .c-site {
        margin-top: 0rem;
    }
}

.c-site__main {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}


/* c-gnav*/

.c-gnav {
    margin-left: auto;
    padding-right: 2%;
}

@media screen and (max-width: 1170px) {
    .c-gnav {
        display: none;
    }
}

.c-gnav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

@media screen and (max-width: 1100px) {
    .c-gnav__list {
        display: block;
    }
}

@media screen and (max-width: 1100px) {
    .c-gnav__item {
        border-bottom: 1px solid rgba(0, 0, 0, 0.27);
    }
}

.c-gnav__item--contact {
    margin-left: 2%;
}

@media screen and (max-width: 1100px) {
    .c-gnav__item--contact {
        margin-left: 0;
    }
}

.c-gnav__link {
    display: block;
    text-align: center;
    color: #111111;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 2.7142857143;
    padding: 1rem 2rem;
    position: relative;
}

@media screen and (max-width: 1100px) {
    .c-gnav__link {
        font-weight: 400;
        padding-left: 1.4rem;
        padding-right: 1.4rem;
    }
}

@media screen and (max-width: 1100px) {
    .c-gnav__link {
        text-align: left;
        padding-left: 0;
        padding-right: 0;
    }
}

.c-gnav__link--contact {
    font-size: 1.3rem;
    font-weight: 600;
    color: #fff;
    background-color: #222;
    padding: 0.5rem 1.6rem;
    border-radius: 5px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

@media screen and (max-width: 1100px) {
    .c-gnav__link--contact {
        font-size: 1.4rem;
        font-weight: 400;
        color: #111111;
        background-color: transparent;
        padding: 1rem 0;
    }
}

.c-gnav__link--contact:hover {
    opacity: 0.8;
}

.c-gnav__link:not(.c-gnav__link--contact)::after {
    content: "";
    position: absolute;
    bottom: 0.8rem;
    left: 30%;
    width: 40%;
    height: 1px;
    background: #707070;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}

@media screen and (max-width: 1100px) {
    .c-gnav__link:not(.c-gnav__link--contact)::after {
        content: "";
        display: inline-block;
        width: 1rem;
        height: 0.8rem;
        position: absolute;
        top: calc(50% + 0.4rem);
        left: auto;
        right: 1.4rem;
        background: url(../images/i_arrow.png) center/contain no-repeat;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }
}

.c-gnav__link:hover::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
}

@media screen and (max-width: 1100px) {
    .c-gnav__link:hover::after {
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }
}

.c-gnav__link--current::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
}

@media screen and (max-width: 1100px) {
    .c-gnav__link--current::after {
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }
}

.c-gnav__menu {
    background-color: transparent;
    border: transparent;
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    color: #111111;
    padding: 1.4rem 2.6rem;
    cursor: pointer;
}

@media screen and (max-width: 1300px) {
    .c-gnav__menu {
        padding-left: 1.4rem;
        padding-right: 1.4rem;
    }
}

@media screen and (max-width: 1100px) {
    .c-gnav__menu {
        font-weight: 400;
        display: block;
        width: 100%;
        padding: 1.7rem 0;
    }
}

.c-gnav__menu span {
    font-weight: 700;
    display: inline-block;
    position: relative;
    padding-right: 2.6rem;
}

@media screen and (max-width: 1100px) {
    .c-gnav__menu span {
        font-weight: 400;
        padding-right: 0;
        display: block;
        width: 100%;
        text-align: left;
    }
}

.c-gnav__menu span::after {
    content: "";
    display: inline-block;
    width: 1.3rem;
    height: 0.8rem;
    position: absolute;
    top: 1.4rem;
    right: 0;
    background: url(../images/i_arrow.png) center/contain no-repeat;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

@media screen and (max-width: 1100px) {
    .c-gnav__menu span::after {
        width: 1rem;
        height: 1px;
        background-color: rgba(0, 0, 0, 0.27);
        right: 1.6rem;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }
}

@media screen and (max-width: 1100px) {
    .c-gnav__menu span::before {
        content: "";
        display: inline-block;
        position: absolute;
        top: 1.4rem;
        right: 1.6rem;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        width: 1rem;
        height: 1px;
        background-color: rgba(0, 0, 0, 0.27);
    }
}

.c-gnav__child {
    width: 100%;
    position: absolute;
    top: 10.3rem;
    left: 0;
    background-color: #EEEDE9;
    height: 0;
    overflow: hidden;
    -webkit-transition: height 0.3s ease;
    transition: height 0.3s ease;
}

@media screen and (max-width: 1100px) {
    .c-gnav__child {
        position: initial;
        background-color: transparent;
        padding: 0;
    }
}

.c-gnav__childInner {
    padding: 2.7rem 4.2rem;
}

@media screen and (max-width: 768px) {
    .c-gnav__childInner {
        padding: 0 0 0 4.2rem;
    }
}

@media screen and (max-width: 1100px) {
    .c-gnav__item.is_active .c-gnav__child {
        padding: 0;
    }
}

@media screen and (max-width: 1100px) {
    .c-gnav__item.is_active .c-gnav__menu {
        border-bottom: 1px solid rgba(0, 0, 0, 0.27);
    }
}

.c-gnav__item.is_active .c-gnav__menu span::after {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

@media screen and (max-width: 1100px) {
    .c-gnav__item.is_active .c-gnav__menu span::after {
        background-color: transparent;
    }
}


/* c-btnMenu*/

.c-btnMenu {
    width: 4rem;
    height: 4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0;
    background-color: transparent;
    border: none;
}

.c-btnMenu span {
    display: inline-block;
    width: 60%;
    height: 0.2rem;
    background-color: #222;
    position: relative;
}

.c-btnMenu span::before,
.c-btnMenu span::after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 0.2rem;
    background-color: #222;
    position: absolute;
    left: 0;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.c-btnMenu span::before {
    top: 0.8rem;
}

.c-btnMenu span::after {
    top: -0.8rem;
}


/* btnMenu_isOnがついた時のスタイル */

.c-btnMenu.btnMenu_isOn span {
    background-color: transparent;
}

.c-btnMenu.btnMenu_isOn span::before,
.c-btnMenu.btnMenu_isOn span::after {
    top: 0;
}

.c-btnMenu.btnMenu_isOn span::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.c-btnMenu.btnMenu_isOn span::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}


/* c-ttl*/

.c-ttl--center {
    text-align: center;
}

@media screen and (max-width: 768px) {
    .c-ttl--spCenter {
        text-align: center;
    }
}


/* c-btn */

.c-btn {
    display: block;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 2.7142857143;
    text-align: center;
    padding: 1rem;
    border-radius: 10px;
    background: #222 url(../../assets/images/i_arrow_btn.svg) center right 2rem/2.6rem auto no-repeat;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
    .c-btn {
        border-radius: 5px;
    }
}

.c-btn:hover {
    opacity: 0.8;
}


/* c-btnSecond */

.c-btnSecond {
    display: block;
    color: #111111;
    font-size: 1.4rem;
    border-bottom: 1px solid #707070;
    padding: 0.6rem 3rem 0.6rem 1rem;
    background: url(../../assets/images/i_arrow_btnSecond.svg) center right/3rem auto no-repeat;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.c-btnSecond:hover {
    opacity: 0.8;
}


/* c-plan */

.c-plan {
    padding: 10.0172711572% 4rem 10.0172711572% 6rem;
}

@media screen and (max-width: 1279px) {
    .c-plan {
        padding-left: 5%;
        padding-right: 5%;
    }
}

@media screen and (max-width: 768px) {
    .c-plan {
        padding: 3.7rem 1.5rem;
        background-color: #fff;
        border-radius: 10px;
    }
}

.c-plan__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.c-plan__imgArea {
    width: 10.45rem;
}

.c-plan__desc {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 2rem;
}

.c-plan__en {
    color: #AA8F7B;
    font-family: rift, sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
    text-transform: uppercase;
}

.c-plan__en span::after {
    content: "";
    display: inline-block;
    width: 6.3rem;
    height: 1px;
    background-color: #AA8F7B;
    position: relative;
    top: -0.4rem;
    margin-left: 1.2rem;
}

.c-plan__ttl {
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.7678571429;
}

@media screen and (max-width: 768px) {
    .c-plan__ttl {
        font-size: 2.1rem;
    }
}

@media screen and (max-width: 768px) {
    .c-plan__ttl--spSmall {
        font-size: 1.9rem;
    }
}

.c-plan__ttlNote {
    display: inline-block;
    font-size: 1.35rem;
}

@media screen and (max-width: 768px) {
    .c-plan__ttlNote {
        display: block;
        font-size: 1.1rem;
    }
}

.c-plan__price {
    font-family: "Fjalla One", sans-serif;
    line-height: 1.4;
}

.c-plan__priceNote {
    font-size: 1.25rem;
    margin-left: 0rem;
}

@media screen and (max-width: 768px) {
    .c-plan__priceNote {
        display: block;
        margin-left: 0;
        line-height: 1;
    }
}

.c-plan__num {
    font-size: 2.3rem;
}

@media screen and (max-width: 768px) {
    .c-plan__num {
        margin-top: 0.8rem;
    }
}

.c-plan__txtArea {
    margin-top: 2.4rem;
}

@media screen and (max-width: 768px) {
    .c-plan__txtArea {
        margin-top: 1.6rem;
    }
}

.c-plan__txt {
    line-height: 1.71875;
}

@media screen and (max-width: 768px) {
    .c-plan__txt {
        font-size: 1.4rem;
    }
}

.c-plan__btnArea {
    max-width: 30rem;
    margin-top: 3rem;
}

@media screen and (max-width: 768px) {
    .c-plan__btnArea {
        max-width: 30.4rem;
        margin: 2.4rem auto 0;
    }
}


/* c-cardWithTxt */

.c-cardWithTxt {
    height: 100%;
}

.c-cardWithTxt__txt {
    line-height: 1.6875;
    text-align: center;
    margin-top: 2rem;
}

@media screen and (max-width: 768px) {
    .c-cardWithTxt__txt {
        margin-top: 1.4rem;
    }
}

@media screen and (max-width: 768px) {
    .c-cardWithTxt__txt--spLeft {
        text-align: left;
    }
}


/* c-swiperInfinit */

.c-swiperInfinit__swiperWrapper {
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear;
}

.c-swiperInfinit__swiperSlide {
    width: 22.3rem;
}


/* c-childNav */

.c-childNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 2rem 4.5rem;
}

@media screen and (max-width: 1100px) {
    .c-childNav {
        display: block;
    }
}

@media screen and (max-width: 1100px) {
    .c-childNav__item:not(:first-child) {
        border-top: 1px solid rgba(0, 0, 0, 0.27);
    }
}

.c-childNav__link {
    display: block;
    color: #111111;
    position: relative;
}

@media screen and (max-width: 1100px) {
    .c-childNav__link {
        font-size: 1.4rem;
        padding: 1.3rem 0;
    }
}

@media screen and (max-width: 1100px) {
    .c-childNav__link::after {
        content: "";
        display: inline-block;
        width: 1rem;
        height: 0.8rem;
        position: absolute;
        top: calc(50% - 0.2rem);
        left: auto;
        right: 1.4rem;
        background: url(../images/i_arrow.png) center/contain no-repeat;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }
}

.c-childNav__linkTxtSP {
    display: none;
}

@media screen and (max-width: 1100px) {
    .c-childNav__linkTxtSP {
        display: block;
    }
}

.c-childNav__cardPC {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 10px;
    background-color: #fff;
    border: 1px solid #CCCCCC;
    overflow: hidden;
}

@media screen and (max-width: 1100px) {
    .c-childNav__cardPC {
        display: none;
    }
}

.c-childNav__imgArea {
    width: 11.2rem;
}

.c-childNav__txtArea {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1rem 3.2rem;
}

.c-childNav__txt {
    font-size: 1.4rem;
}


/* c-breadCrumb */

@media screen and (max-width: 768px) {
    .c-breadCrumb {
        padding: 1.6rem 0;
    }
}

.c-breadCrumb__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
    .c-breadCrumb__list {
        font-size: 1rem;
    }
}

.c-breadCrumb__item:not(:first-child) {
    margin-left: 1rem;
}

@media screen and (max-width: 768px) {
    .c-breadCrumb__item:not(:first-child) {
        margin-left: 0.6rem;
    }
}

.c-breadCrumb__item:not(:first-child)::before {
    content: "";
    display: inline-block;
    width: 0.6rem;
    height: 1.2rem;
    background: url(../../assets/images/i_arrow_bread.svg) center/contain no-repeat;
}

@media screen and (max-width: 768px) {
    .c-breadCrumb__item:not(:first-child)::before {
        width: 0.36rem;
        height: 0.718rem;
    }
}

.c-breadCrumb a {
    color: #111111;
}

.c-breadCrumb a:hover {
    text-decoration: underline;
}


/* c-feePlan */

.c-feePlan {
    border-radius: 15px;
    overflow: hidden;
}

.c-feePlan--colorLight .c-feePlan__ttl {
    background-color: #383838;
}

.c-feePlan--02 {
    border-radius: 15px 0 0 15px;
}

@media screen and (max-width: 768px) {
    .c-feePlan--02 {
        border-radius: 15px;
    }
}

.c-feePlan--03 {
    border-radius: 0 15px 15px 0;
}

@media screen and (max-width: 768px) {
    .c-feePlan--03 {
        border-radius: 15px;
    }
}

.c-feePlan__ttl {
    color: #fff;
    background-color: #222;
    text-align: center;
    padding: 2.6rem 1rem;
}

@media screen and (max-width: 768px) {
    .c-feePlan__ttl {
        padding-top: 1.4rem;
        padding-bottom: 1.4rem;
    }
}

.c-feePlan__ttlEn {
    font-size: 3.6rem;
    font-family: rift, sans-serif;
    font-weight: 700;
    line-height: 1.6;
}

@media screen and (max-width: 768px) {
    .c-feePlan__ttlEn {
        font-size: 2.7rem;
    }
}

.c-feePlan__ttlJa {
    font-size: 1.6rem;
    line-height: 1.71875;
}

@media screen and (max-width: 768px) {
    .c-feePlan__ttlJa {
        font-size: 1.2rem;
    }
}

.c-feePlan__body {
    background-color: #fff;
}

.c-feePlan__box {
    padding: 3.6rem 1rem 8rem;
}

@media screen and (max-width: 768px) {
    .c-feePlan__box {
        padding: 2.6rem 1rem;
    }
}

.c-feePlan__box:not(:first-child) {
    border-top: 1px solid #707070;
}

.c-feePlan__price {
    text-align: center;
}

.c-feePlan__num {
    font-family: "Fjalla One", sans-serif;
    font-size: 3.6rem;
    line-height: 1.8333333333;
}

.c-feePlan__list {
    max-width: 30.8rem;
    margin: 2rem auto 0;
}

@media screen and (max-width: 768px) {
    .c-feePlan__list {
        max-width: 25.8rem;
        margin-top: 1rem;
    }
}

.c-feePlan__item {
    padding-left: 2rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .c-feePlan__item {
        line-height: 2.3214285714;
    }
}

.c-feePlan__item:before {
    content: "";
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background-color: #AA8F7B;
    position: absolute;
    top: 1.2rem;
    left: 0;
}

.c-feePlan__optionTtl {
    max-width: 29.8rem;
    margin: auto;
}

@media screen and (max-width: 768px) {
    .c-feePlan__optionTtl {
        max-width: 25.8rem;
    }
}

.c-feePlan__note {
    font-size: 1.4rem;
    margin: 2rem 0 0;
    position: relative;
    left: calc(50% - 15rem);
    line-height: 1.9642857143;
}

@media screen and (max-width: 768px) {
    .c-feePlan__note {
        max-width: 25.8rem;
        position: initial;
        margin: 2rem auto 0;
    }
}

.c-feePlan__otherNote {
    font-size: 1.4rem;
    margin-top: 2rem;
    text-align: center;
}


/* p-mv */

.p-mv {
    background-color: #EEEDE9;
    position: relative;
}

.p-mv__top {
    background-color: #fff;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-mv__top .swiper-slide {
        border-radius: 15px;
        overflow: hidden;
    }
}

.p-mv__txtArea {
    position: absolute;
    bottom: 8.4rem;
    left: 13vw;
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .p-mv__txtArea {
        width: 100%;
        bottom: -3rem;
        left: 0;
    }
}

.p-mv__copy {
    font-size: 3.2rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 0.8870967742;
}

@media screen and (max-width: 768px) {
    .p-mv__copy {
        width: 100%;
        font-size: 2.15rem;
        font-size: 5.7333333333vw;
        text-align: center;
    }
}

.p-mv__copy span {
    display: inline-block;
    background-color: #fff;
    padding: 1rem;
}

@media screen and (max-width: 768px) {
    .p-mv__copy span {
        padding: 1rem;
    }
}

.p-mv__txt {
    font-size: 1.65rem;
    font-weight: 700;
    letter-spacing: 0.37em;
    line-height: 1.6666666667;
}

@media screen and (max-width: 768px) {
    .p-mv__txt {
        width: 100%;
        font-size: 1.3rem;
        font-size: 3.4666666667vw;
        letter-spacing: 0.17em;
        text-align: center;
    }
}

.p-mv__txt span {
    display: inline-block;
    background-color: #fff;
    padding: 0.7rem 1.3rem 0.7rem 1.3rem;
}

@media screen and (max-width: 768px) {
    .p-mv__txt span {
        padding: 0.6rem 1rem;
    }
}

.p-mv__plan {
    margin-top: -2rem;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .p-mv__plan {
        margin-top: 0;
        padding-top: 4.5rem;
    }
}

.p-mv__planInner {
    max-width: 118.4rem;
    padding: 0 1.2rem;
    margin: auto;
}

.p-mv__planList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .p-mv__planList {
        display: block;
        background-color: transparent;
        overflow: visible;
        border-radius: 0;
    }
}

.p-mv__planItem {
    width: 50%;
}

@media screen and (max-width: 768px) {
    .p-mv__planItem {
        width: 100%;
    }
}

.p-mv__planItem:not(:first-child) {
    border-left: 1px solid #707070;
}

@media screen and (max-width: 768px) {
    .p-mv__planItem:not(:first-child) {
        border: none;
        margin-top: 3.3rem;
    }
}


/* p-about */

.p-about {
    padding: 11rem 0 14rem;
    background-color: #F9F9F9;
}

@media screen and (max-width: 768px) {
    .p-about {
        padding: 8rem 0;
    }
}

.p-about_inner {
    display: flex;
    justify-content: space-between;
    margin: 7rem 0;
}

@media (max-width: 767px) {
    .p-about_inner {
        display: flex;
        justify-content: space-between;
        margin: 4rem 0 0;
        flex-wrap: wrap;
    }
}

.p-about_inner li {
    width: 30%;
    text-align: center;
}

@media (max-width: 767px) {
    .p-about_inner li {
        width: 80%;
        text-align: center;
        margin: 0 auto 30px;
    }
}

.p-about_inner li p {
    margin-top: 10px;
    font-size: 14px;
}

.p-about__lead {
    max-width: 83rem;
    margin: 4rem auto 0;
}

@media screen and (max-width: 768px) {
    .p-about__lead {
        margin-top: 2rem;
    }
}

.p-about__slideArea {
    margin-top: 8.4rem;
}

@media screen and (max-width: 768px) {
    .p-about__slideArea {
        margin-top: 3.8rem;
    }
}


/* p-feature */

.p-feature {
    padding-top: 11.6rem;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .p-feature {
        padding-top: 6rem;
    }
}

.p-feature__subttl {
    font-size: 2.8rem;
    letter-spacing: 0.01em;
}

@media screen and (max-width: 768px) {
    .p-feature__subttl {
        font-size: 1.8rem;
    }
}

.p-feature__point01 {
    padding: 20rem 0 16.8rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-feature__point01 {
        padding: 8rem 0 6rem;
    }
}

.p-feature__point01Bg {
    width: 100%;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    color: #B1B1B1;
    font-size: 15.7rem;
    letter-spacing: -0.04em;
    line-height: 1;
    position: absolute;
    top: 6rem;
    left: 0;
    opacity: 0.22;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .p-feature__point01Bg {
        top: 2rem;
        font-size: 6.5rem;
    }
}

.p-feature__point01Lead {
    margin-top: 2.4rem;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .p-feature__point01Lead {
        text-align: left;
        margin-top: 1.4rem;
    }
}

.p-feature__point01ImgList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7.2rem 3.6rem;
    margin-top: 6.8rem;
}

@media screen and (max-width: 768px) {
    .p-feature__point01ImgList {
        grid-template-columns: repeat(2, 1fr);
        margin-top: 2.8rem;
    }
}

@media screen and (max-width: 520px) {
    .p-feature__point01ImgList {
        grid-template-columns: repeat(1, 1fr);
        gap: 3.2rem 0;
    }
}

.p-feature__point01btnArea {
    max-width: 30rem;
    margin: 5.4rem auto 0;
}

@media screen and (max-width: 768px) {
    .p-feature__point01btnArea {
        max-width: 31.5rem;
        margin-top: 4.2rem;
    }
}

.p-feature__point02 {
    padding: 12rem 0 14rem;
    background-color: #F9F9F9;
}

@media screen and (max-width: 768px) {
    .p-feature__point02 {
        padding: 4.8rem 0 5.5rem;
    }
}

.p-feature__point02Inner {
    padding-top: 14rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-feature__point02Inner {
        padding-top: 6rem;
    }
}

@media screen and (max-width: 768px) {
    .p-feature__point02Ttl {
        text-align: center;
    }
}

.p-feature__point02Bg {
    width: 100%;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    color: #B1B1B1;
    font-size: 15.7rem;
    letter-spacing: -0.04em;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 1.8rem;
    opacity: 0.22;
}

@media screen and (max-width: 768px) {
    .p-feature__point02Bg {
        font-size: 6.5rem;
        text-align: center;
        left: 0;
    }
}

.p-feature__point02Lead {
    margin-top: 1rem;
    padding-left: 3.2rem;
}

@media screen and (max-width: 768px) {
    .p-feature__point02Lead {
        padding-left: 0;
        margin-top: 1.6rem;
    }
}

.p-feature__point02Body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 6rem;
}

@media screen and (max-width: 768px) {
    .p-feature__point02Body {
        display: block;
        margin-top: 1.6rem;
    }
}

.p-feature__point02Figure {
    width: 23.2rem;
}

@media screen and (max-width: 768px) {
    .p-feature__point02Figure {
        width: 100%;
        max-width: 16.6rem;
        margin: auto;
    }
}

.p-feature__point02Desc {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 5.6rem;
    padding-top: 2.4rem;
}

@media screen and (max-width: 768px) {
    .p-feature__point02Desc {
        padding-left: 0;
        padding-top: 0;
        margin-top: 2.4rem;
    }
}

.p-feature__point02Role {
    line-height: 1.65625;
}

@media screen and (max-width: 768px) {
    .p-feature__point02Role {
        font-size: 1.4rem;
        text-align: center;
    }
}

.p-feature__point02Name {
    font-size: 3.4rem;
    letter-spacing: 0.01em;
    line-height: 1.4558823529;
    font-weight: 700;
    margin-top: 1rem;
}

@media screen and (max-width: 768px) {
    .p-feature__point02Name {
        font-size: 2.1rem;
        text-align: center;
    }
}

.p-feature__point02Txt {
    margin-top: 3.4rem;
}

@media screen and (max-width: 768px) {
    .p-feature__point02Txt {
        font-size: 1.4rem;
        margin-top: 2.4rem;
    }
}

.p-feature__point03 {
    padding: 14.4rem 0 18rem;
}

@media screen and (max-width: 768px) {
    .p-feature__point03 {
        padding: 6.4rem 0 12.5rem;
    }
}

.p-feature__point03Inner {
    padding-top: 14rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-feature__point03Inner {
        padding-top: 6rem;
    }
}

.p-feature__point03Bg {
    width: 100%;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    color: #B1B1B1;
    font-size: 15.7rem;
    letter-spacing: -0.04em;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.22;
}

@media screen and (max-width: 768px) {
    .p-feature__point03Bg {
        font-size: 6.5rem;
        text-align: center;
    }
}

@media screen and (max-width: 768px) {
    .p-feature__point03Ttl {
        text-align: center;
    }
}

.p-feature__point03Lead {
    margin-top: 2.4rem;
}

.p-feature__point03ImgList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.6rem 3.6rem;
    margin-top: 6.6rem;
}

@media screen and (max-width: 768px) {
    .p-feature__point03ImgList {
        grid-template-columns: repeat(1, 1fr);
        gap: 4.6rem 3.6rem;
        margin-top: 3.4rem;
    }
}

.p-feature__point03Drawing {
    margin-top: 11rem;
}

@media screen and (max-width: 768px) {
    .p-feature__point03Drawing {
        margin-top: 7rem;
    }
}


/* p-access */

.p-access {
    padding: 10.3rem 0 10rem;
    background-color: #f9f9f9;
}

@media screen and (max-width: 768px) {
    .p-access {
        padding: 6.2rem 0;
    }
}

.p-access__body {
    margin-top: 5.6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 768px) {
    .p-access__body {
        display: block;
        margin-top: 3.6rem;
    }
}

.p-access__mapArea {
    width: 48.3rem;
    max-width: 100%;
}

@media screen and (max-width: 768px) {
    .p-access__mapArea {
        width: 100%;
        height: 32.7rem;
    }
}

.p-access__mapArea iframe {
    width: 100%;
    height: 100%;
}

.p-access__desc {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-top: 3.4rem;
    padding-left: 3%;
}

@media screen and (max-width: 768px) {
    .p-access__desc {
        padding-left: 0;
        padding-top: 2.8rem;
    }
}

.p-access__desc p {
    line-height: 2.34375;
}

@media screen and (max-width: 768px) {
    .p-access__desc p {
        line-height: 1.7142857143;
    }
}

.p-access__name {
    line-height: 1.2;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .p-access__name span {
        display: block;
    }
}

.p-access__address {
    margin-top: 1.2rem;
}

.p-access__train {
    margin-top: 3.6rem;
}

.p-access__btnArea {
    max-width: 22.8rem;
    margin-top: 1.6rem;
}

.p-access__car {
    margin-top: 5.6rem;
}

@media screen and (max-width: 768px) {
    .p-access__car {
        margin-top: 4.4rem;
    }
}

.p-campaign {
    margin-top: 11rem;
    padding-bottom: 8rem;
}

@media screen and (max-width: 768px) {
    .p-campaign {
        margin-top: 7rem;
    }
}

.p-campaign__img {
    margin-bottom: 8rem;
}

@media (max-width: 767px) {
    .p-campaign__img {
        margin-bottom: 5rem;
    }
}


/* p-contact */

.p-contact {
    padding: 8.4rem 0 12rem;
}

@media screen and (max-width: 768px) {
    .p-contact {
        padding: 7.4rem 0 6rem;
    }
}

.p-contact__inner {
    padding: 0 1.5rem;
}

.p-contact__body {
    margin-top: 9rem;
}

@media screen and (max-width: 768px) {
    .p-contact__body {
        margin-top: 3.4rem;
    }
}

.p-contact__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #EEEDE9;
    border-radius: 20px;
}

@media screen and (max-width: 768px) {
    .p-contact__list {
        display: block;
        border-radius: 10px;
    }
}

.p-contact__item {
    width: 50%;
    padding: 5rem 1rem;
}

@media screen and (max-width: 768px) {
    .p-contact__item {
        width: 100%;
        padding-bottom: 5.6rem;
    }
}

.p-contact__item:not(:first-child) {
    position: relative;
}

.p-contact__item:not(:first-child)::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: calc(100% - 10rem);
    background-color: #222;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
    .p-contact__item:not(:first-child)::before {
        width: calc(100% - 3rem);
        height: 1px;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}

.p-contact__subttl {
    font-size: 2.8rem;
    letter-spacing: 0.01em;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0 0.8rem;
}

@media screen and (max-width: 768px) {
    .p-contact__subttl {
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 768px) {
    .p-contact__subttlIconMail {
        width: 2.2rem;
    }
}

.p-contact__subttlIconTel {
    width: 1.4rem;
}

.p-contact__lead {
    text-align: center;
    margin-top: 1.2rem;
}

@media screen and (max-width: 768px) {
    .p-contact__lead {
        max-width: 85%;
        margin-top: 2.2rem;
        margin-left: auto;
        margin-right: auto;
    }
}

@media screen and (max-width: 520px) {
    .p-contact__lead--mail {
        text-align: left;
    }
}

.p-contact__btnArea {
    max-width: 30rem;
    margin: 3.6rem auto 0;
}

@media screen and (max-width: 768px) {
    .p-contact__btnArea {
        margin-top: 1.6rem;
    }
}

.p-mvUnder__imgArea .l-inner {
    position: relative;
}

.p-contact__num {
    font-size: 5.015rem;
    font-family: "Fjalla One", sans-serif;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .p-contact__num {
        font-size: 4rem;
        margin-top: 1rem;
    }
}


/* p-mvUnder */

.p-mvUnder {
    padding-top: 0rem;
}

@media screen and (max-width: 768px) {
    .p-mvUnder {
        padding-top: 1rem;
    }
}

.p-mvUnder__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 5.4rem;
}

@media screen and (max-width: 768px) {
    .p-mvUnder__content {
        display: block;
        padding-bottom: 2.2rem;
    }
}

.p-mvUnder__ttlArea {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.p-mvUnder__txt {
    max-width: 46.8rem;
    line-height: 1.75;
    padding-top: 2.4rem;
}

@media screen and (max-width: 768px) {
    .p-mvUnder__txt {
        font-size: 1.5rem;
        max-width: 100%;
        margin-top: 0.6rem;
    }
}

.p-mvUnder__imgArea {
    padding-top: 0%;
    overflow: hidden;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-mvUnder__imgArea {
        padding-top: 56.6666666667%;
    }
}

.p-mvUnder__img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}


/* p-lead */

.p-lead {
    padding: 6rem 0 6rem;
}

@media screen and (max-width: 768px) {
    .p-lead {
        padding: 3rem 0 3rem;
    }
}

.p-lead__ttl {
    font-size: 2.8rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.7678571429;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .p-lead__ttl {
        font-size: 2.1rem;
        line-height: 1.4285714286;
    }
}

.p-lead__lead {
    line-height: 1.71875;
    text-align: center;
    margin-top: 2.6rem;
}

@media screen and (max-width: 768px) {
    .p-lead__lead {
        margin-top: 2.6rem;
        text-align: left;
        line-height: 1.7857142857;
    }
}

.p-lead__slideArea {
    margin-top: 6rem;
}

@media screen and (max-width: 768px) {
    .p-lead__slideArea {
        margin-top: 2.8rem;
    }
}


/* p-service */

.p-service {
    padding: 10rem 0 11.6rem;
    background-color: #f9f9f9;
}

@media screen and (max-width: 768px) {
    .p-service {
        padding: 5.4rem 0 3.4rem;
    }
}

.p-service__body {
    margin-top: 7rem;
}

@media screen and (max-width: 768px) {
    .p-service__body {
        margin-top: 6rem;
    }
}

.p-service_inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.p-service_inner article {
    display: flex;
    justify-content: space-between;
    width: 47%;
    align-items: center;
    margin-bottom: 40px;
}

@media (max-width: 767px) {
    .p-service_inner article {
        display: flex;
        justify-content: space-between;
        width: 100%;
        margin-bottom: 40px;
        align-items: flex-start;
    }
}

.p-service_inner article figure {
    width: 30%;
}

.p-service_inner article figure img {
    width: 100%;
}

.p-service_inner article dl {
    width: 64%;
}

.p-service_inner article dt {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}

@media (max-width: 767px) {
    .p-service_inner article dt {
        font-size: 16px;
        font-weight: bold;
        margin-bottom: 10px;
    }
}

.p-service_inner article dd {
    font-size: 14px;
    line-height: 1.8;
}

@media (max-width: 767px) {
    .p-service_inner article dd {
        font-size: 13px;
        line-height: 1.8;
    }
}

.p-service__basic {
    border-radius: 15px;
    overflow: hidden;
}

.p-service__other {
    margin-top: 0rem;
}

@media screen and (max-width: 768px) {
    .p-service__other {
        margin-top: 0rem;
    }
}

.p-service__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

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

.p-service__item {
    width: 50%;
}

@media screen and (max-width: 768px) {
    .p-service__item {
        width: 100%;
    }
}

.p-service__item:not(:first-child) {
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-service__item:not(:first-child) {
        margin-top: 3rem;
    }
}

.p-service__item:not(:first-child)::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 100%;
    background-color: #707070;
    position: absolute;
    top: 0;
    left: 0;
}

@media screen and (max-width: 768px) {
    .p-service__item:not(:first-child)::before {
        display: none;
    }
}


/* p-faq */

.p-faq {
    padding: 7rem 0;
}

@media screen and (max-width: 768px) {
    .p-faq {
        padding: 7rem 0 0;
    }
}

.p-faq .c-ttl {
    margin-bottom: 8rem;
}

@media (max-width: 767px) {
    .p-faq .c-ttl {
        margin-bottom: 4rem;
    }
}

.p-faq .p-faq_inner {
    width: 880px;
    margin: 0 auto;
}

.p-faq .p-faq_inner article {
    border-top: 1px solid #707070;
    padding: 40px 1rem;
}

.sec_q {
    position: relative;
    padding-left: 40px;
    /* 「Q」の幅に合わせた左パディング */
    font-size: 1.6rem;
    /* テキストのサイズ調整 */
    line-height: 1.5;
    margin-bottom: 50px;
}

.sec_q::before {
    content: "Q";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 50px;
    /* 「Q」のサイズを調整 */
    font-family: 'Rift', sans-serif;
    /* フォントをRiftに指定 */
    color: #ccc;
    /* 「Q」の色を調整 */
    font-weight: bold;
}

.sec_a {
    position: relative;
    padding-left: 40px;
    /* 「Q」の幅に合わせた左パディング */
    font-size: 1.6rem;
    /* テキストのサイズ調整 */
    line-height: 1.5;
}

.sec_a::before {
    content: "A";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 50px;
    /* 「Q」のサイズを調整 */
    font-family: 'Rift', sans-serif;
    /* フォントをRiftに指定 */
    color: #000;
    /* 「Q」の色を調整 */
    font-weight: bold;
}


/* p-make */

.p-make {
    padding: 11rem 0;
}

@media screen and (max-width: 768px) {
    .p-make {
        padding: 7rem 0;
    }
}

.p-make__imgArea {
    margin-top: 7.6rem;
}

@media screen and (max-width: 768px) {
    .p-make__imgArea {
        margin-top: 3rem;
    }
}

.p-make__logo {
    margin-top: 5.6rem;
}

@media screen and (max-width: 768px) {
    .p-make__logo {
        margin-top: 2.8rem;
    }
}

.p-make__logo img {
    margin: auto;
}

@media screen and (max-width: 768px) {
    .p-make__logo img {
        max-width: 20.4rem;
    }
}

.p-make__txt {
    text-align: center;
    margin-top: 3.8rem;
}

@media screen and (max-width: 768px) {
    .p-make__txt {
        text-align: left;
        margin-top: 2.8rem;
        line-height: 1.7857142857;
    }
}

.p-make__btnArea {
    max-width: 30rem;
    margin: 4rem auto 0;
}


/* p-concept */

.p-concept {
    padding-top: 2.6rem 0;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .p-concept {
        padding-top: 4.6rem;
    }
}

.p-concept__subttl {
    font-size: 2.8rem;
    letter-spacing: 0.01em;
}

@media screen and (max-width: 768px) {
    .p-concept__subttl {
        font-size: 1.8rem;
    }
}

.p-concept__point01 {
    padding: 10rem 0 14rem;
}

@media screen and (max-width: 768px) {
    .p-concept__point01 {
        padding: 8.8rem 0 5.5rem;
    }
}

.p-concept__point01Inner {
    padding-top: 14rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-concept__point01Inner {
        padding-top: 6rem;
    }
}

@media screen and (max-width: 768px) {
    .p-concept__point01Ttl {
        text-align: center;
    }
}

.p-concept__point01Bg {
    width: 100%;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    color: #B1B1B1;
    font-size: 15.7rem;
    letter-spacing: -0.04em;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 1.8rem;
    opacity: 0.22;
}

@media screen and (max-width: 768px) {
    .p-concept__point01Bg {
        font-size: 6.5rem;
        text-align: center;
        left: 0;
    }
}

.p-concept__point01Lead {
    margin-top: 1rem;
    padding-left: 3.2rem;
}

@media screen and (max-width: 768px) {
    .p-concept__point01Lead {
        padding-left: 0;
        margin-top: 1.6rem;
    }
}

.p-concept__point01Body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 6rem;
}

@media screen and (max-width: 768px) {
    .p-concept__point01Body {
        display: block;
        margin-top: 1.6rem;
    }
}

.p-concept__point01Figure {
    width: 23.2rem;
}

@media screen and (max-width: 768px) {
    .p-concept__point01Figure {
        width: 100%;
        max-width: 16.6rem;
        margin: auto;
    }
}

.p-concept__point01Desc {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 5.6rem;
    padding-top: 2.4rem;
}

@media screen and (max-width: 768px) {
    .p-concept__point01Desc {
        padding-left: 0;
        padding-top: 0;
        margin-top: 2.4rem;
    }
}

.p-concept__point01Role {
    line-height: 1.65625;
}

@media screen and (max-width: 768px) {
    .p-concept__point01Role {
        font-size: 1.4rem;
        text-align: center;
    }
}

.p-concept__point01Name {
    font-size: 3.4rem;
    letter-spacing: 0.01em;
    line-height: 1.4558823529;
    font-weight: 700;
    margin-top: 1rem;
}

@media screen and (max-width: 768px) {
    .p-concept__point01Name {
        font-size: 2.1rem;
        text-align: center;
    }
}

.p-concept__point01Txt {
    margin-top: 3.4rem;
}

@media screen and (max-width: 768px) {
    .p-concept__point01Txt {
        font-size: 1.4rem;
        margin-top: 2.4rem;
    }
}

.p-concept__point02 {
    padding: 10.4rem 0 15rem;
    background-color: #f9f9f9;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .p-concept__point02 {
        padding-top: 5.4rem;
        padding-bottom: 8.6rem;
    }
}

.p-concept__point02Inner {
    position: relative;
    padding-top: 14.4rem;
}

@media screen and (max-width: 768px) {
    .p-concept__point02Inner {
        padding-top: 5.6rem;
    }
}

.p-concept__point02Bg {
    width: 100%;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    color: #B1B1B1;
    font-size: 15.7rem;
    letter-spacing: -0.04em;
    line-height: 1;
    text-align: center;
    position: absolute;
    top: 0;
    left: 1.8rem;
    opacity: 0.22;
}

@media screen and (max-width: 768px) {
    .p-concept__point02Bg {
        font-size: 6.5rem;
        text-align: center;
        left: 0;
    }
}

.p-concept__point02Ttl {
    text-align: center;
}

.p-concept__point02Lead {
    text-align: center;
    margin-top: 2rem;
}

.p-concept__point02List {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5rem 3.7rem;
    margin-top: 10rem;
}

.p-concept__point02List p {
    text-align: center;
    font-size: 14px;
    margin-top: 10px;
}

@media screen and (max-width: 768px) {
    .p-concept__point02List {
        grid-template-columns: repeat(2, 1fr);
        margin-top: 2.6rem;
        gap: 2rem 2rem;
    }
}

@media screen and (max-width: 520px) {
    .p-concept__point02List {
        grid-template-columns: repeat(1, 1fr);
    }
}


/* p-make */

.p-make {
    padding: 11rem 0;
}

@media screen and (max-width: 768px) {
    .p-make {
        padding: 7rem 0;
    }
}

.p-make__imgArea {
    margin-top: 7.6rem;
}

@media screen and (max-width: 768px) {
    .p-make__imgArea {
        margin-top: 3rem;
    }
}

.p-make__logo {
    margin-top: 5.6rem;
}

@media screen and (max-width: 768px) {
    .p-make__logo {
        margin-top: 2.8rem;
    }
}

.p-make__logo img {
    margin: auto;
}

@media screen and (max-width: 768px) {
    .p-make__logo img {
        max-width: 20.4rem;
    }
}

.p-make__txt {
    text-align: center;
    margin-top: 3.8rem;
}

@media screen and (max-width: 768px) {
    .p-make__txt {
        text-align: left;
        margin-top: 2.8rem;
        line-height: 1.7857142857;
    }
}


/* p-scean */

.p-scean {
    padding: 0rem 0 11rem;
}

@media screen and (max-width: 768px) {
    .p-scean {
        padding: 7rem 0;
    }
}

.p-scean__body {
    margin: 3rem 0 5rem;
}

.p-scean__txt {
    text-align: center;
    margin-top: 3.8rem 0;
}

@media screen and (max-width: 768px) {
    .p-scean__txt {
        text-align: left;
        margin-top: 2.8rem;
        line-height: 1.7857142857;
    }
}

.p-scean__list {}

.p-scean__list .p-scean__list_inner {}

.p-scean__list .p-scean__list_inner ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.p-scean__list .p-scean__list_inner ul::after {
    content: "";
    display: block;
    width: 22%;
}

.p-scean__list .p-scean__list_inner li {
    padding-left: 2rem;
    position: relative;
    width: 22%;
    border-bottom: 1px solid #707070;
    display: block;
    margin-bottom: 25px;
}

@media screen and (max-width: 768px) {
    .p-scean__list .p-scean__list_inner li {
        padding-left: 2rem;
        position: relative;
        width: 46%;
        border-bottom: 1px solid #707070;
        display: block;
        margin-bottom: 25px;
        padding-bottom: 12px;
    }
}

.p-scean__list .p-scean__list_inner li::before {
    content: "";
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background-color: #AA8F7B;
    position: absolute;
    top: 1.2rem;
    left: 0;
}

.p-flow_inner {
    width: 700px;
    margin: 5rem auto 0;
}

@media (max-width: 767px) {
    .p-flow_inner {
        width: 100pc;
        margin: 5rem auto 0;
    }
}

.p-flow_img {
    width: 70%;
    margin: 6rem auto 0;
    text-align: center;
}

@media (max-width: 767px) {
    .p-flow_img {
        width: 100%;
        margin: 6rem auto 0;
        text-align: center;
    }
}

.p-flow_img img {
    width: 100%;
}


/* p-company*/

.p-company {
    padding: 44px 0 175px;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-company {
        padding: 45px 0;
    }
}

.p-company__table {
    width: 100%;
    border-top: 1px solid #C1C1C1;
}

@media screen and (max-width: 768px) {
    .p-company__table {
        font-size: 1.4rem;
        line-height: 1.6;
        margin-bottom: 50px;
    }
}

.p-company__table th {
    text-align: left;
    font-weight: 300;
    background-color: #EEEDE9;
    padding: 25px 25px;
    border-bottom: 1px solid #C1C1C1;
    vertical-align: top;
    white-space: nowrap;
}

@media screen and (max-width: 768px) {
    .p-company__table th {
        padding: 30px 12px;
    }
}

.p-company__table td {
    padding: 25px 25px;
    border-bottom: 1px solid #C1C1C1;
}

@media screen and (max-width: 768px) {
    .p-company__table td {
        padding: 30px 12px;
    }
}

.p-company__img {
    position: absolute;
    bottom: -158px;
    right: 0;
    z-index: 1;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.27);
}

@media screen and (max-width: 768px) {
    .p-company__img {
        position: initial;
        margin-top: 52px;
    }
}


/*.p-eq_list*/

.p-eq_list {
    margin-bottom: 50px;
    margin-bottom: 40px;
    display: block;
}

.p-eq_list h3 {
    font-weight: bold;
    font-size: 18px;
    border-bottom: 1px solid #CCC;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

.p-eq_list ul {}

.p-eq_list li {}


/* u-align */

.u-align--center {
    text-align: center !important;
}

.u-align--right {
    text-align: right !important;
}


/* u-txt */

.u-txt--center {
    text-align: center;
}

.u-txt--bold {
    font-weight: 700;
}


/* u-display */

.u-display--pcNone {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .u-display--pcNone {
        display: block !important;
    }
}

@media screen and (max-width: 768px) {
    .u-display--spNone {
        display: none !important;
    }
}

.u-display--inlineBlock {
    display: inline-block;
}

.pt0 {
    padding-top: 0 !important;
}

.pt80 {
    padding-top: 80px !important;
}

.pb0 {
    padding-bottom: 0 !important;
}

.mt0 {
    margin-top: 0 !important;
}

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

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

.mb0 {
    margin-bottom: 0 !important;
}

.align_left {
    text-align: left !important;
}


/*------------------------------------------
.kv
------------------------------------------*/

.kv {
    position: relative;
    background-image: url(../images/bg_kv.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    padding-top: 20rem;
    padding-bottom: 25rem;
}

@media (max-width: 767px) {
    .kv {
        padding-top: 12rem;
        padding-bottom: 18rem;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .kv {
        padding-top: 15rem;
        padding-bottom: 20rem;
    }
}

.kv_inner {}

.kv_inner picture {
    width: 543px;
    margin: 0 auto 50px;
}

@media (max-width: 767px) {
    .kv_inner picture {
        width: 60%;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .kv_inner picture {
        width: 50%;
    }
}

.kv_inner h1 {
    font-size: 32px;
    font-weight: 500;
    margin-bottom: 90px;
}

@media (max-width: 767px) {
    .kv_inner h1 {
        font-size: 24px;
        font-weight: 500;
        margin-bottom: 90px;
        font-weight: 400;
    }
}

.kv_inner h1 span {
    display: block;
    font-size: 20px;
}

@media (max-width: 767px) {
    .kv_inner h1 span {
        display: block;
        font-size: 14px;
        margin-top: 20px;
        font-weight: 400;
        line-height: 2;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .kv_inner h1 span {
        display: block;
        font-size: 18px;
        margin-top: 20px;
    }
}

.kv .copyright {
    position: absolute;
    top: 25%;
    left: 4%;
    width: 11px;
}

@media (max-width: 767px) {
    .kv .copyright {
        display: none;
    }
}


/*------------------------------------------
.ttl
------------------------------------------*/

.c-ttl {}

.c-ttl__en {
    font-size: 6.7rem;
    letter-spacing: 0.05em;
    color: #111;
    font-family: rift, sans-serif;
    font-weight: 500;
    text-transform: none;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .c-ttl__en {
        font-size: 4.0rem;
    }
}

.c-ttl__ja {
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.4558823529;
}

@media (max-width: 767px) {
    .c-ttl__ja {
        font-size: 1.4rem;
    }
}

.c-ttl__en_read {
    line-height: 0.8;
    letter-spacing: 0.1em;
}

@media (max-width: 767px) {
    .c-ttl__en_read {
        font-size: 1.2rem;
    }
}

.u-txt--Playfair {
    font-family: 'Playfair Display', sans-serif !important;
}


/*------------------------------------------
.about
------------------------------------------*/

.about {
    position: relative;
    margin-top: -75px;
    z-index: 1;
    padding-bottom: 140px;
}

@media (max-width: 767px) {
    .about {
        position: relative;
        margin-top: -45px;
        padding-bottom: 70px;
    }
}

.about .c-ttl {
    margin-bottom: 50px;
}

@media (max-width: 767px) {
    .about .c-ttl {
        margin-bottom: -30px;
    }
}

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

@media (max-width: 767px) {
    .about__flex {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
}

.about h3 {
    font-size: 28px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
}

@media (max-width: 767px) {
    .about h3 {
        font-size: 21px;
        text-align: center;
        margin-bottom: 25px;
    }
}

.about__desc {
    width: 45%;
}

@media (max-width: 767px) {
    .about__desc {
        width: 100%;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .about__desc {
        width: 58%;
    }
}

.about__desc .p-lead__lead {
    text-align: left;
    line-height: 2.1;
}

@media (max-width: 767px) {
    .about__desc .p-lead__lead {
        text-align: left;
        line-height: 2.1;
        font-size: 16px;
        padding: 0;
    }
}

/* ボタンのスタイル */
.about__desc .download-btn {
    display: inline-flex;
    align-items: center;
    padding: 20px 20px;
    font-size: 16px;
    color: #000;
    background-color: #D8CEB6;
    border: none;
    border-radius: 5px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.3s;
    margin-top: 30px;
}

.about__desc .download-btn:hover {
    background-color: #c7b68f;

}

/* アイコンのスタイル */
.about__desc .download-btn .icon {
    margin-left: 8px;
    width: 20px;
    height: 20px;
}

.about__img {
    width: 50%;
}

@media (max-width: 767px) {
    .about__img {
        width: 100%;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .about__img {
        position: absolute;
        width: 50%;
        top: -50px;
        right: 0;
    }
}


/*------------------------------------------
.activity
------------------------------------------*/

.acticity {
    padding: 140px 0;
    background: linear-gradient(to right, #f5f5f5 50%, #e0e0e0 50%);
}

@media (max-width: 767px) {
    .acticity {
        padding: 80px 0 60px;
    }
}

.acticity .c-ttl {
    margin-bottom: 70px;
}

.activity__flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}

@media (max-width: 767px) {
    .activity__flex {
        display: flex;
        justify-content: space-between;
        margin-bottom: 40px;
        flex-wrap: wrap;
    }
}

.acticity .activity__flex:first-child {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
}

@media (max-width: 767px) {
    .acticity .activity__flex:first-child {
        display: flex;
        justify-content: space-between;
        flex-direction: row;
        flex-wrap: wrap;
    }
}

.acticity .activity__flex:last-child {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}

@media (max-width: 767px) {}

.activity__img {
    width: 52%;
}

@media (max-width: 767px) {
    .activity__img {
        width: 90%;
        margin: 0 auto;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .activity__img {
        width: 40%;
        margin: 0 auto;
    }
}

.activity__img img {
    width: 100%;
    box-shadow: 10px 13px 20px #00000039;
}

@media (max-width: 767px) {}

.activity__desc {
    position: relative;
    width: 44%;
    text-align: left;
    margin-top: 50px;
}

@media (max-width: 767px) {
    .activity__desc {
        position: relative;
        width: 100%;
        text-align: left;
        margin-top: 40px;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .activity__desc {
        position: relative;
        width: 54%;
        text-align: left;
        margin-top: 10px;
    }
}

@media (max-width: 767px) {}

.activity__desc .p-lead__lead {
    text-align: left;
    line-height: 2;
}

@media (max-width: 767px) {}


/**/

.activity__desc h3 {
    font-size: 21px;
    font-weight: 400;
    margin: 0 0 30px;
    color: #333;
    padding-left: 53px;
    line-height: 1;
    letter-spacing: 1;
}

@media (max-width: 767px) {
    .activity__desc h3 {
        font-size: 21px;
        font-weight: 400;
        margin: 0 0 20px;
        color: #333;
        padding-left: 0px;
        line-height: 1;
        letter-spacing: 1;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .activity__desc h3 {
        text-align: left;
    }
}

.acticity .activity__flex:nth-child(2) h3::before {
    content: '';
    position: absolute;
    top: -5px;
    left: 0;
    width: 40px;
    /* SVGの大きさ */
    height: 100%;
    background-image: url('../images/activity_num_01.svg');
    background-size: contain;
    background-repeat: no-repeat;
}

@media (max-width: 767px) {
    .acticity .activity__flex:nth-child(2) h3::before {
        content: '';
        position: absolute;
        top: -15px;
        left: 0;
        right: 0;
        margin: auto;
        width: 40px;
        /* SVGの大きさ */
        height: 100%;
        background-image: url('../images/activity_num_01.svg');
        background-size: contain;
        background-repeat: no-repeat;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .acticity .activity__flex:nth-child(2) h3::before {
        content: '';
        position: absolute;
        top: 15px;
        left: 0;
        margin: auto;
        width: 40px;
        /* SVGの大きさ */
        height: 100%;
        background-image: url('../images/activity_num_01.svg');
        background-size: contain;
        background-repeat: no-repeat;
    }
}

.acticity .activity__flex:nth-child(3) h3::before {
    content: '';
    position: absolute;
    top: -5px;
    left: 0;
    width: 40px;
    /* SVGの大きさ */
    height: 100%;
    background-image: url('../images/activity_num_02.svg');
    background-size: contain;
    background-repeat: no-repeat;
}

@media (max-width: 767px) {
    .acticity .activity__flex:nth-child(3) h3::before {
        content: '';
        position: absolute;
        top: -15px;
        left: 0;
        right: 0;
        margin: auto;
        width: 40px;
        /* SVGの大きさ */
        height: 100%;
        background-image: url('../images/activity_num_02.svg');
        background-size: contain;
        background-repeat: no-repeat;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .acticity .activity__flex:nth-child(3) h3::before {
        top: 25px;
    }
}

.p-lead__lead {
    font-size: 16px;
    line-height: 1.5;
    color: #666;
    margin-top: 10px;
}


/* スマホ用のスタイル */

@media (max-width: 768px) {
    .activity__desc {
        padding-left: 0;
        text-align: center;
        padding-top: 20px;
        /* 上部に余白を追加 */
    }

    .activity__desc::before {
        position: static;
        margin-bottom: 10px;
        display: block;
        width: 50px;
        /* SVGのサイズを縮小 */
        height: auto;
        margin-left: auto;
        margin-right: auto;
    }

    .activity__desc h3 {
        font-size: 18px;
        /* スマホ用に少し小さく調整 */
        margin-top: 10px;
        /* タイトルの上部に少し余白を追加 */
    }

    .p-lead__lead {
        font-size: 14px;
        /* スマホ用に小さく調整 */
        margin-top: 10px;
        /* タイトルとの余白を調整 */
        padding: 0 20px;
        /* 文章の左右に余白を追加して読みやすくする */
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .p-lead__lead {
        padding: 0;
    }
}


/*------------------------------------------
.founder
------------------------------------------*/

.founder {
    padding: 140px 0;
}

@media (max-width: 767px) {
    .founder {
        padding: 70px 0 30px;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .founder {
        padding: 140px 0 50px;
    }
}

.founder .l-inner {
    position: relative;
}

.founder .l-inner .logo {
    position: absolute;
    top: 200px;
    left: 3%;
}

@media screen and (max-width: 768px) {
    .founder .l-inner .logo {
        position: absolute;
        top: 30px;
        width: 38%;
        right: 3%;
        left: unset;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .founder .l-inner .logo {
        position: absolute;
        top: -50px;
        width: 25%;
        right: 7%;
        left: unset;
    }
}

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

@media (max-width: 767px) {
    .founder__flex {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .founder__flex {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
}

.founder__flex__desc {
    width: 35%;
}

@media (max-width: 767px) {
    .founder__flex__desc {
        width: 100%;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .founder__flex__desc {
        width: 100%;
        margin-bottom: 50px;
    }
}

.founder__flex__img {
    width: 65%;
    display: flex;
    justify-content: space-between;
}

@media (max-width: 767px) {
    .founder__flex__img {
        width: 100%;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 50px;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .founder__flex__img {
        width: 90%;
        display: flex;
        justify-content: space-between;
        margin: 0 auto;
    }
}

.founder__flex__img article {
    width: 46%;
}

@media screen and (max-width: 768px) {
    .founder__flex__img article {
        width: 80%;
        margin: 0 auto 50px;
    }
}

.founder__flex__img article figure {
    margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
    .founder__flex__img article figure {
        width: 80%;
        margin: 0 auto 30px;
    }
}

.founder__flex__img article h3 {
    font-size: 42px;
    line-height: 1;
    font-weight: 400;
    margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
    .founder__flex__img article h3 {
        font-size: 34px;
        line-height: 1;
        font-weight: 400;
        margin-bottom: 34px;
        text-align: center;
    }
}

.founder__flex__img article h3 span.en {
    font-size: 14px;
    display: block;
    margin-top: 15px;
}

@media screen and (max-width: 768px) {}

.founder__flex__img article p {
    line-height: 1.8;
}

@media screen and (max-width: 768px) {}


/*------------------------------------------
.contact
------------------------------------------*/

.contact {
    position: relative;
    background-color: #ededed;
    text-align: center;
    padding: 150px 0 220px;
}

@media screen and (max-width: 768px) {
    .contact {
        padding: 50px 0 70px;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .contact {
        padding: 80px 0 120px;
    }
}

.contact__inner {
    position: relative;
    z-index: 0;
    width: 1000px;
    margin: 0 auto;
    padding: 180px 0 180px;
    background-image: url(../images/bg_contact.jpg);
    background-size: cover;
}

@media screen and (max-width: 768px) {
    .contact__inner {
        position: relative;
        z-index: 0;
        width: 90%;
        margin: 0 auto;
        padding: 60px 0 120px;
        background-image: url(../images/bg_contact_sp.jpg);
        background-size: cover;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .contact__inner {
        width: 95%;
    }
}

.contact__inner h3 {
    color: #FFF;
    font-size: 38px;
    margin-bottom: 25px;
    line-height: 1;
    font-weight: 400;
}

@media screen and (max-width: 768px) {
    .contact__inner h3 {
        color: #FFF;
        font-size: 30px;
        margin-bottom: 25px;
        line-height: 1;
        font-weight: 400;
    }
}

.contact__read {
    color: #FFF;
}

a.contact__button:link,
a.contact__button:visited {
    position: absolute;
    display: block;
    background-color: #fff;
    width: 900px;
    margin: auto;
    padding: 60px 0;
    color: #111;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 110px;
}

@media (max-width: 767px) {

    a.contact__button:link,
    a.contact__button:visited {
        position: absolute;
        display: block;
        background-color: #fff;
        width: 80%;
        margin: auto;
        padding: 30px 0;
        color: #111;
        z-index: 2;
        left: 0;
        right: 0;
        bottom: 40px;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {

    a.contact__button:link,
    a.contact__button:visited {
        position: absolute;
        display: block;
        background-color: #fff;
        width: 90%;
        margin: auto;
        padding: 30px 0;
        color: #111;
        z-index: 2;
        left: 0;
        right: 0;
        bottom: 75px;
    }
}

@media screen and (max-width: 768px) {}

a.contact__button:hover {
    background-color: #222;
    color: #FFF;
    transition: all 0.8s;
}

@media screen and (max-width: 768px) {}

.contact__button h4 {
    font-size: 42px;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1;
    margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
    .contact__button h4 {
        font-size: 25px;
        font-weight: 400;
        letter-spacing: 0.1em;
        line-height: 1;
        margin-bottom: 10px;
    }
}

.contact__button .contact__button__read {
    font-size: 16px;
}

@media screen and (max-width: 768px) {
    .contact__button .contact__button__read {
        font-size: 12px;
    }
}

.overview {
    padding: 140px 0 100px;
}

@media screen and (max-width: 768px) {
    .overview {
        padding: 70px 0 50px;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .overview {
        padding: 100px 0 80px;
    }
}

.overview .c-ttl {
    margin-bottom: 70px;
}

@media screen and (max-width: 768px) {
    .overview .c-ttl {
        margin-bottom: 40px;
    }
}

.overview_profile {}

@media screen and (max-width: 768px) {}

.overview_profile dl {
    border-bottom: 1px solid #555;
    padding: 20px 0;
    display: flex;
    justify-content: flex-start;
}

@media screen and (max-width: 768px) {
    .overview_profile dl {
        border-bottom: 1px solid #555;
        padding: 30px 0;
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

.overview_profile dl:last-child {
    border: none;
    padding-bottom: 0;
}

@media screen and (max-width: 768px) {}

.overview_profile dt {
    font-weight: 600;
    font-size: 16px;
    line-height: 1.6;
    width: 15%;
}

@media screen and (max-width: 768px) {
    .overview_profile dt {
        font-weight: 600;
        font-size: 14px;
        line-height: 1.6;
        width: 100%;
        margin-bottom: 15px;
    }
}

.overview_profile dd {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.6;
    width: 85%;
}

@media screen and (max-width: 768px) {
    .overview_profile dd {
        font-weight: 400;
        font-size: 14px;
        line-height: 1.6;
        width: 100%;
    }
}

footer {
    background-color: #222;
    text-align: center;
    padding: 80px 0 50px;
}

@media screen and (max-width: 768px) {}

footer .logo {
    width: 200px;
    margin: 0 auto 50px;
}

@media screen and (max-width: 768px) {
    footer .logo {
        width: 40%;
        margin: 0 auto 50px;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    footer .logo {
        width: 20%;
        margin: 0 auto 50px;
    }

    footer .logo img {
        width: 100%;
        margin: 0 auto 50px;
    }
}

footer .copyright {
    font-size: 11px;
    color: #fff;
}

@media screen and (max-width: 768px) {}

.l-header_button_area {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 768px) {}

.button_contact a {
    position: relative;
    display: block;
    padding: 35px 20px 35px 50px;
    background-color: #fff;
    font-size: 15px;
    color: #000;
    border-left: 1px solid #AAA;
}

@media (max-width: 767px) {
    .button_contact a {
        position: relative;
        display: block;
        padding: 35px 11px 35px 31px;
        background-color: #fff;
        font-size: 12px;
        color: #000;
        border-left: 1px solid #AAA;
        letter-spacing: 0;
    }
}

.button_contact a::before {
    content: '';
    position: absolute;
    top: 46px;
    left: 20px;
    width: 20px;
    height: 100%;
    background-image: url(../images/ic_header_mail.svg);
    background-size: contain;
    background-repeat: no-repeat;
}

@media (max-width: 767px) {
    .button_contact a::before {
        content: '';
        position: absolute;
        top: 40px;
        left: 11px;
        width: 16px;
        height: 100%;
        background-image: url(../images/ic_header_mail.svg);
        background-size: contain;
        background-repeat: no-repeat;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {
    .button_contact a::before {
        content: '';
        position: absolute;
        top: 41px;
        left: 28px;
        width: 16px;
        height: 100%;
        background-image: url(../images/ic_header_mail.svg);
        background-size: contain;
        background-repeat: no-repeat;
    }
}

.button_kifu a:link,
.button_kifu a:visited {
    font-size: 15px;
    display: block;
    padding: 35px 50px;
    background-color: #D8CEB6;
    color: #000;
}

.button_kifu a:hover {
    display: block;
    background-color: #222;
    color: #FFF;
    transition: all 0.8s;
}

@media screen and (max-width: 768px) {

    .button_kifu a:link,
    .button_kifu a:visited {
        font-size: 12px;
        display: block;
        padding: 35px 10px 30px;
        background-color: #D8CEB6;
        color: #000;
        box-sizing: border-box;
    }
}

@media screen and (min-width: 767px) and (max-width: 1020px) {

    .button_kifu a:link,
    .button_kifu a:visited {
        font-size: 15px;
        display: block;
        padding: 35px 40px 35px;
        background-color: #D8CEB6;
        color: #000;
        box-sizing: border-box;
    }
}

/*------------------------------------------
policy
------------------------------------------*/

#policy {
    padding-top: 70px;
}

@media (max-width: 767px) {
    #policy {
        padding-top: 50px;
    }
}

#policy h2 {
    font-size: 24px;
    text-align: center;
    margin-bottom: 40px;
}

@media (max-width: 767px) {
    #policy h2 {
        font-size: 24px;
        text-align: center;
        margin-bottom: 20px;
    }
}

#policy article h4 {
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 25px;
}

#policy article p {
    line-height: 2;
    margin-bottom: 70px;
}

#policy article a:link,
#policy article a:visited {
    text-decoration: underline;
    color: #014897;
}

#policy article a:hover {
    text-decoration: none;
}

@media only screen and (max-width: 767px) {
    #policy article h4 {
        font-weight: bold;
        font-size: 16px;
        margin-bottom: 25px;
    }

    #policy article p {
        line-height: 2;
        margin-bottom: 50px;
        font-size: 14px;
    }
}
