@charset "UTF-8";
/* CSS Document */

html {
    color: #464646;
}

@media screen and (max-width: 768px) {
    html {
        font-size: calc(10vw / 3.75);
        /* 1rem = 10px */
    }
}

@media screen and (min-width: 769px) {
    html {
        font-size: 62.5%;
    }
}

body {
    margin: 0;
    padding: 0;
    font-size: 1.6rem;
    line-height: 1.8;
}

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

ul {
    list-style-type: none;
}

a {
    display: block;
    text-decoration: none;
    transition: .3s;
}

p {
    text-align: justify;
}

@media screen and (min-width: 769px) {
    body {
        font-size: 1.6rem;
    }
}

@media screen and (min-width: 769px) {
    .onlySP {
        display: none;
    }
}

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

    ul {
        list-style-type: none;
    }
}

/* -------------------------------------------------------------
ここからPC
------------------------------------------------------------- */

/* Header ここから */

.header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
}

.header_inner {
    padding: 4.8rem 4.8rem 2.4rem 4.8rem;
    background-color: #fff;
}

.header_container {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header_containerFlexBox {
    width: 90%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.header_logo {
    max-width: 18rem;
    min-width: 248px;
}

.gnav {
    width: 100%;
    /* min-width: 72rem; */
    /* margin-right: 5rem; */
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 2%;
}

.gnav_nav {
    width: 70%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.gnav_link {
    padding: 1rem 1rem;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    color: #191919;
    transition: .6s;
}

.gnav_link:hover {
    color: #0096A7;
}

.gnav_other {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.gnav_otherContactLink {
    padding: .5rem 2rem;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
    background: #0096A7;
    color: #fff;
    border: 1px solid #0096A7;
    position: relative;
    border-radius: 50px;
    transition: .6s;
}

.gnav_otherContactLink:hover {
    background: #fff;
    color: #0096A7;
    border: 1px solid #0096A7;
}


.gnav_menuContainer {
    min-width: 22px;
    cursor: pointer;
}


.gnav_menuContentsArea {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    padding: 5rem 10.8rem 3rem;
    background-color: #004EA2;
    display: none;
    overflow-y: scroll;
}

.gnav_menuContentsArea.show {
    display: block;
}

.gnav_menuCloseBtn {
    width: 2.2rem;
    position: absolute;
    top: 3rem;
    right: 3rem;
    transform: translate(-50%, -50%);
    cursor: pointer;
}

.gnav_menuTopList {
    margin-right: 10%;
    margin-bottom: 5%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.gnav_menuTopListItemLink {
    padding: 0.5rem 1.5rem;
    font-size: 1.5rem;
    letter-spacing: 0.16em;
    color: #fff;
    font-weight: 700;
}

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

.gnav_menuMainAreaLinkBox {
    width: 90%;
}

.gnav_menuMainAreaLinkList {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

.gnav_menuMainAreaLinkList:first-of-type {
    margin-bottom: 6vh;
}


.gnav_menuMainAreaLinkListItem.leftItem {
    min-width: 29rem;
}

.gnav_menuMainAreaLinkListItemChildListItemLink {
    display: inline-block;
    padding: 0.5rem 1rem 0.5rem 1.5rem;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    color: #fff;
    position: relative;
}

.gnav_menuMainAreaLinkListItemChildListItemLink::before {
    content: '-';
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.gnav_menuMainAreaLinkListItemBoxInner:first-of-type {
    margin-bottom: 7vh;
}

.gnav_menuMainAreaSnsList {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
}

.gnav_menuMainAreaSnsListItem {
    width: 2rem;
}


.gnav_menuMainAreaLinkListItemTitle {
    margin-bottom: 1rem;
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #fff;
}

/* Header ここまで */

/* 
.main {
    margin-top: 12.8rem;
} */


/* KV ここから */

.kv {
    padding-top: 12.4rem;
    margin-bottom: 20rem;
}

.kv_container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.swiper_kv {
    width: 46.8%;
}

.kv_titleBox {
    width: 32%;
    margin: 0 auto;
}

.kv_title {
    position: relative;
}

.kv_title::after {
    position: absolute;
    top: -35%;
    right: -20%;
    z-index: 5;
    background: url(../img/radius.svg) top left / contain no-repeat;
    width: 40%;
    height: 0;
    padding-top: 40%;
    content: '';
    animation: 6s linear infinite rotation;
    transform-origin: 50% 50%;
}

@keyframes rotation {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}

@media screen and (min-width: 1610px) {
    .kv_titleBox {
        width: 25%;
        margin: 0 auto;
    }

    .swiper_kv {
        width: 40%;
    }
}

/* KV ここまで */


/* intro ここから */

.intro {
    padding-top: 96px;
    margin-top: -96px;
}

.intro_bg {
    position: relative;
    background: url(../img/introduction.jpg) center center / cover;
    width: 100%;
    height: 76rem;
    margin-bottom: 16rem;
    object-fit: cover;
    display: flex;
    justify-content: left;
    align-items: center;
    padding-left: 11%;
}

@media screen and (min-width: 1400px) {
    .intro_bg {
        height: 100rem;
    }
}

.intro_bgInner {
    width: 40%;
    max-width: 51rem;
}


.intro_title {
    margin-bottom: 4rem;
    width: 100%;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 3.2rem;
    color: #fff;
    letter-spacing: .1rem;
    line-height: 1.6;
}

.intro_text {
    width: 93%;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    color: #fff;
    letter-spacing: .1rem;
    line-height: 2;
}

/* intro ここまで */

/* about ここから */

.about {
    position: relative;
    margin-bottom: 16rem;
    padding-top: 96px;
    margin-top: -96px;
}

.about::after {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 5;
    background: url(../img/about.png) center right / contain no-repeat;
    width: 10%;
    height: 0;
    padding-top: 32%;
    content: '';
}

.about_Inner {
    width: 90%;
}

.about_container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.about_pic {
    width: 37%;
}

.about_box {
    width: 56%;
}

.about_title {
    margin-bottom: 4rem;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 3.6rem;
    line-height: 1.4;
    letter-spacing: .1rem;
    color: #0096a7;
}

.about_text {
    max-width: 72rem;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .1rem;
}

/* about ここまで */

/* features ここから */

.features {
    margin-bottom: 16rem;
    padding-top: 96px;
    margin-top: -96px;
}

.features_bg {
    position: relative;
    padding: 16rem 0;
    border-radius: 80px 80px 0 0;
    background: #F4F4F4;
}

.features_bg::after {
    position: absolute;
    top: 8%;
    left: 0;
    z-index: 2;
    content: '';
    background: url(../img/features.png) center left / contain no-repeat;
    width: 10%;
    height: 0;
    padding-top: 40%;
    mix-blend-mode: multiply;
}

.features_inner {
    width: 90%;
    max-width: 100rem;
    margin: 0 auto;
}

.features_title {
    margin-bottom: 10.4rem;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 3.6rem;
    line-height: 1.4;
    letter-spacing: .1rem;
    color: #0096a7;
    text-align: center;
}

.features_strong {
    margin-bottom: 16rem;
}

.features_strongBox {
    position: relative;
    margin-bottom: 8rem;
}

.features_strongBox:first-of-type::after {
    position: absolute;
    top: -4.4rem;
    left: 0;
    width: 100%;
    height: 1px;
    background: #0096A7;
    content: '';
}

.features_strongBox::before {
    position: absolute;
    bottom: -4.4rem;
    left: 0;
    width: 100%;
    height: 1px;
    background: #0096A7;
    content: '';
}

.features_strongItem {
    position: relative;
    width: 85%;
    margin: 0 0 0 auto;
}

.features_strongItem01::before {
    position: absolute;
    top: 50%;
    left: -15rem;
    transform: translateY(-50%);
    content: '';
    background: url(../img/number_01.png) center left / contain no-repeat;
    width: 25%;
    height: 0;
    padding-top: 11%;
}

.features_strongItem02::before {
    position: absolute;
    top: 50%;
    left: -15rem;
    transform: translateY(-50%);
    content: '';
    background: url(../img/number_02.png) center left / contain no-repeat;
    width: 25%;
    height: 0;
    padding-top: 11%;
}

.features_strongItem03::before {
    position: absolute;
    top: 50%;
    left: -15rem;
    transform: translateY(-50%);
    content: '';
    background: url(../img/number_03.png) center left / contain no-repeat;
    width: 25%;
    height: 0;
    padding-top: 11%;
}

.features_strongBoxTitle {
    margin-bottom: 2rem;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 2.6rem;
    line-height: 1.4;
    letter-spacing: .2rem;
    color: #0096a7;
}

.features_strongBoxText {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.8;
}

.features_flow {
    margin-bottom: 8.8rem;
}

/* features ここまで */

/* company ここから */

.company {
    position: relative;
    margin-bottom: 16rem;
    padding-top: 160px;
    margin-top: -160px;
}

.company::after {
    position: absolute;
    top: .5%;
    left: 0;
    z-index: -1;
    content: '';
    background: url(../img/compamy.png) top left / contain no-repeat;
    width: 40%;
    height: 0;
    padding-top: 20%;
}

.company_outline {
    margin-bottom: 16rem;
}

.company_outlineInner {
    width: 90%;
    max-width: 100rem;
    margin: 0 auto;
}

.company_outlineTitleInner {
    display: flex;
    gap: 30px;
}

.company_outlineBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.company_outlineTitle {
    margin-bottom: 6.4rem;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 3.6rem;
    line-height: 1.4;
    letter-spacing: .1rem;
    color: #0096a7;
}

.company_outlineContainer {
    width: 52.6%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.company_outlineContainerBox {
    width: 100%;
}

.company_outlineContents {
    display: flex;
    width: 100%;
    gap: 4rem;
    padding-bottom: 4rem;
}

.company_outlineContentsDt {
    width: 30%;
    position: relative;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .8rem;
}

.company_outlineContentsDt::after {
    content: '';
    position: absolute;
    bottom: -2rem;
    left: 0;
    width: 100%;
    height: 1px;
    background: #0096a7;
}

.company_outlineContentsDd {
    width: 70%;
    position: relative;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .1rem;
}

.company_outlineContentsDd::after {
    content: '';
    position: absolute;
    bottom: -2rem;
    left: 0;
    width: 100%;
    height: 1px;
    background: #D9D9D9;
}

.company_pic {
    width: 36rem;
}


.company_profileBg {
    position: relative;
    width: 90%;
    max-width: 180rem;
    margin: 0 0 0 auto;
    background: #F4F4F4;
    border-radius: 48px 0 0 0;
    padding: 16rem 0 12rem 16rem;
}

.company_profileBg::after {
    content: '';
    position: absolute;
    top: -8%;
    left: 32%;
    z-index: 2;
    background: url(../img/profile.png) top right / contain no-repeat;
    width: 30%;
    height: 0;
    padding-top: 15%;
    mix-blend-mode: multiply;
}

.company_profileInner {
    width: 90%;
    max-width: 92rem;
}

.company_profileTitle {
    position: absolute;
    top: -7%;
    left: 12rem;
    z-index: 2;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 3.6rem;
    line-height: 2;
    color: #0096a7;
}

.company_profileBox {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

/*.company_profileBox:first-of-type::after {
    position: absolute;
    bottom: -4.4rem;
    left: 0;
    width: 100%;
    height: 1.5px;
    background: #D9D9D9;
    content: '';
}*/

/*.company_profileBox:first-of-type {
    margin-bottom: 8.8rem;
}*/

.company_profileBoxItem {
    width: 22.7%;
}

.company_profileBoxItemTitleBox {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-bottom: 1.6rem;
}

.company_profileBoxItemTitlePosition {
    width: 11.4rem;
}

.company_profileBoxTextItem {
    max-width: 64rem;
    width: 90%;
}

.company_profileBoxItemPic {
    width: 100%;
}

.company_profileBoxItemTitle {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 2rem;
    line-height: 1.8;
    letter-spacing: .1rem;
}

.company_profileBoxItemText {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: .08rem;
}

.company_russianLink {
    box-sizing: border-box;
    width: 145px;
    height: 50px;
    padding: 10px;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-style: normal;
    text-align: center;
    letter-spacing: 0.1em;
    background: #0096A7;
    color: #fff;
    border: 1px solid #0096A7;
    position: relative;
    border-radius: 50px;
    transition: .6s;
}

.company_russianLink:hover {
    background: #fff;
    color: #0096A7;
    border: 1px solid #0096A7;
}
/* company ここまで */


/* shops ここから */

.shops {
    margin-bottom: 16rem;
    padding-top: 96px;
    margin-top: -96px;
}

.shops_bg {
    padding: 12rem 16rem 12rem 0;
    background: #F4F4F4;
}

.shops_innerBg {
    position: relative;
    width: 95%;
    max-width: 170rem;
    padding: 12rem 0;
    background: #fff;
    border-radius: 0 80px 0 0;
}

.shops_innerBg::after {
    content: '';
    position: absolute;
    top: -6%;
    right: 10%;
    z-index: 2;
    background: url(../img/shops.png) top right / contain no-repeat;
    width: 27%;
    height: 0;
    padding-top: 30%;
    mix-blend-mode: multiply;
}

.shops_container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.shops_title {
    position: absolute;
    top: -64%;
    left: 0;
    z-index: 2;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 3.6rem;
    line-height: 2;
    color: #0096a7;
    letter-spacing: .4rem;
}

.shops_containerBox {
    max-width: 84rem;
    width: 90%;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.shops_containerBox:first-of-type {
    margin-bottom: 10rem;
}

.shops_containerBoxItemPic {
    width: 42.8%;
}

.shops_containerBoxItemPicAfter {
    position: relative;
}

.shops_containerBoxItemPicAfter::after {
    position: absolute;
    bottom: 0;
    right: -25%;
    z-index: 2;
    content: '';
    background: url(../img/shop_tv.png) bottom right / contain no-repeat;
    width: 50%;
    height: 0;
    padding-top: 50%;
}

.shops_containerBox:first-of-type:after {
    position: absolute;
    bottom: -5rem;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 1.5px;
    background: #D9D9D9;
    content: '';
}

.shops_containerBoxItemTitle {
    position: relative;
    margin-bottom: 4.8rem;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    color: #464646;
}

.shops_containerBoxItemTitle::after {
    position: absolute;
    bottom: -2rem;
    left: 0;
    width: 100%;
    height: 1px;
    background: #0096a7;
    content: '';
}

.shops_containerBoxItemText {
    margin-bottom: 2.4rem;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: .1rem;
}

.shops_containerBoxItemLocationTitle {
    display: inline-block;
    margin-bottom: 4px;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: .1rem;
    background: #F4F4F4;
    padding: 2px 12px;
    border-radius: 16px;
}

.shops_containerBoxItemLocationText {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: .1rem;
}

/* shops ここまで */


/* contact ここから */

.contact {
    margin-bottom: 16rem;
    padding-top: 192px;
    margin-top: -192px;
}

.contact_bg {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80%;
    max-width: 120rem;
    height: 360px;
    margin: 0 auto;
    background: #0096A7;
    border-radius: 24px;
    transition: .6s
}

.contact_inner {
    width: 80%;
    /* max-width: 80rem; */
    margin: 0 auto;
}

.contact_bg:hover {
    background: #14C9D3;
}

.contact_link {
    text-decoration: none;
}

.contact_container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.contact_title {
    margin-bottom: 2rem;
    font-size: 4rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #fff;
}

.contact_text {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .1rem;
    color: #fff;
}

.contact_arrow {
    padding-right: 8rem;
    /* width: 9.6rem; */
}

/* contact ここまで */


/* footer ここから */

.footer {
    position: relative;
}

.footer_bg {
    background: #F4F4F4;
    padding: 12rem 0 8rem 0;
}

.footer_inner {
    width: 80%;
    max-width: 120rem;
    margin: 0 auto;
}

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

.footer_logo {
    width: 21rem;
}

.footer_contents {
    width: 90%;
    max-width: 44rem;
}

.footer_contentsBox {
    margin-bottom: 4rem;
}

.footer_contentsBoxTitle {
    position: relative;
    margin-bottom: 3.2rem;
    font-size: 1.8rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #0096A7;
}

.footer_contentsBoxTitle::after {
    position: absolute;
    bottom: -.8rem;
    left: 0;
    width: 100%;
    height: 1.5px;
    content: '';
    background: #0096A7;
}

.footer_companyName {
    margin-bottom: 1.6rem;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: .1rem;
    color: #464646;
}

.footer_companyLocation {
    margin-bottom: 1rem;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: .1rem;
    color: #464646;
}

/* .footer_companyTel {
    margin-bottom: .5rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #464646;
    text-decoration: none;
}

.footer_companyE-mail {
    margin-bottom: .5rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #464646;
} */

.footer_companyTel a, .footer_companyEmail a {
    margin-bottom: .5rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #464646;
    text-decoration: none;
}

.footer_link {
    margin-bottom: 1.2rem;
    display: block;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #464646;
    transition: .4s;
}

.footer_link:hover {
    color: #0096A7;
}

.privacy_policyLink {
    margin-bottom: 3.2rem;
    display: inline-block;
    position: relative;
    text-decoration: none;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .1rem;
    color: #464646;
}

.privacy_policyLink:hover {
    color: #0096A7;
}

.privacy_policyLink::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    content: '';
    background: #464646;
}

.privacy_policyLink:hover::after {
    background: #0096A7;
}

.footer_copy {
    font-size: 1.3rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #464646;
}

.footer_pageTOP {
    width: 18px;
    position: fixed;
    bottom: 10%;
    right: 3%;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: .3s;
}

@media screen and (min-width: 1600px) {
    .footer_pageTOP {
        width: 24px;
        position: fixed;
        bottom: 6%;
        right: 3%;
        cursor: pointer;
        opacity: 0;
        pointer-events: none;
        transition: .3s;
    }
}

.footer_pageTOP.active {
    opacity: 1;
    pointer-events: all;
}

/* footer ここまで */



/* -------------------------------------------------------------
ここからSP
------------------------------------------------------------- */

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

    /* Header ここから */
    .header_sp_inner {
        padding: .6rem 1.2rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: #fff;
    }

    .header_sp_logo {
        width: 55%;
    }

    .header_sp_menuOpenBtn {
        display: block;
        cursor: pointer;
    }

    .header_sp_menuOpenBtn.hide {
        display: none;
    }

    .header_sp_menuCloseBtn {
        display: block;
        width: 22px;
        cursor: pointer;
    }

    .header_sp_menuCloseBtn.hide {
        display: none;
    }

    .header_sp_menu {
        height: 48rem;
        padding: 6rem 0 0;
        overflow-y: scroll;
        background-color: #0096A7;
        display: none;
    }

    .header_sp_menu.show {
        display: block;
    }

    .header_sp_menuList {
        width: 40%;
        margin: 0 auto 5rem;
    }

    .header_sp_menuListItem {
        margin: 1.5rem 0;
    }

    .header_sp_menuListItemLink {
        font-size: 1.8rem;
        letter-spacing: 0.16em;
        font-weight: 700;
        color: #fff;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
    }

    .header_sp_menuSnsList {
        width: 40%;
        margin: 0 8% 2rem auto;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .header_sp_menuSnsListItem {
        width: 20%;
    }

    .header_sp_menuUnderList {
        width: 55%;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .header_sp_menuUnderListItemLink {
        font-size: 1.5rem;
        letter-spacing: 0.16em;
        font-weight: 500;
        color: #0096A7;
        background: #fff;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        padding: .8rem 2rem;
        border-radius: 32px;
    }

    /* ハンバーガーメニュー */
    /*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
    .openbtn {
        /*ボタン内側の基点となるためrelativeを指定。
追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
        position: relative;
        width: 50px;
        height: 50px;
        cursor: pointer;
    }

    /*ボタン内側*/

    .openbtn span {
        display: inline-block;
        transition: all .4s;
        /*アニメーションの設定*/
        position: absolute;
        left: 13px;
        height: 2px;
        background-color: #0096A7;
    }


    .openbtn span:nth-of-type(1) {
        top: 22px;
        width: 70%;
    }

    .openbtn span:nth-of-type(2) {
        top: 29px;
        width: 50%;
    }

    /*activeクラスが付与されると線が回転して×に*/

    .openbtn.active span:nth-of-type(1) {
        top: 20px;
        left: 16px;
        transform: translateY(6px) rotate(-45deg);
        width: 50%;
    }

    .openbtn.active span:nth-of-type(2) {
        top: 32px;
        left: 16px;
        transform: translateY(-6px) rotate(45deg);
        width: 50%;
    }

    /* Header ここまで */

    /* メインビジュアル ここから */



    /* メインビジュアル ここまで */

    .kv {
        padding-top: 14rem;
        margin-bottom: 9.6rem;
    }

    .kv_container {
        display: block;
        width: 35.8rem;
        margin: 0 0 0 auto;
    }

    .swiper_kv {
        width: 100%;
        margin: 0 0 0 auto;
    }

    .kv_titleBox {
        width: 27.8rem;
        margin: 0;
        margin-bottom: 3.2rem;
    }

    .kv_title::after {
        top: -32%;
        right: -16%;
        width: 36%;
        padding-top: 36%;
    }

    /* intro ここから */
    .intro_bg {
        height: 67rem;
        margin-bottom: 9.6rem;
        padding-left: 0;
    }

    .intro_bgInner {
        width: 84.1%;
        max-width: 100%;
        margin: 0 auto;
    }

    .intro_title {
        margin-bottom: 3.2rem;
        width: 100%;
        font-family: 'Zen Kaku Gothic New', sans-serif;
        font-weight: 700;
        font-size: 2.8rem;
        color: #fff;
        letter-spacing: .1rem;
        line-height: 1.6;
    }

    .intro_text {
        width: 100%;
        letter-spacing: .05rem;
    }

    /* intro ここまで */



    /* about ここから */

    .about {
        margin-bottom: 9.6rem;
    }

    .about::after {
        content: none;
    }

    .about_container {
        display: block;
    }

    .about_Inner {
        width: 100%;
    }

    .about_pic {
        width: 89.7%;
        margin-bottom: 4.8rem;
    }

    .about_box {
        width: 84.1%;
        margin: 0 auto;
    }

    .about_title {
        margin-bottom: 3.2rem;
        font-size: 2.8rem;
    }

    .about_text {
        min-width: 100%;
    }

    /* about ここまで */


    /* features ここから */

    .features {
        margin-bottom: 9.6rem;
    }

    .features_bg {
        padding: 8rem 0;
    }

    .features_bg::after {
        content: none;
    }

    .features_inner {
        width: 84.1%;
    }

    .features_title {
        margin-bottom: 8.8rem;
        font-size: 2.8rem;
    }

    .features_strong {
        margin-bottom: 9.6rem;
    }


    .features_strongItem {
        width: 100%;
    }


    .features_strongBoxTitle {
        padding-left: 7rem;
        margin-bottom: 2rem;
        font-size: 2.2rem;
        line-height: 1.5;
    }

    .features_strongBoxText {
        font-size: 1.5rem;
    }


    .features_strongItem01::before {
        top: 3.5rem;
        left: 0;
        width: 18%;
        padding-top: 20%;
    }

    .features_strongItem02::before {
        top: 3.5rem;
        left: 0;
        width: 18%;
        padding-top: 20%;
    }

    .features_strongItem03::before {
        top: 3.5rem;
        left: 0;
        width: 18%;
        padding-top: 20%;
    }

    .features_flow {
        margin-bottom: 6.4rem;
    }


    /* features ここまで */


    /* company ここから */

    .company {
        margin-bottom: 9.6rem;
    }

    .company::after {
        content: none;
    }

    .company_outlineInner {
        width: 81.4%;
    }

    .company_outlineBox {
        display: block;
    }
    
    .company_outlineTitle {
        margin-bottom: 4rem;
        font-size: 2.8rem;
        letter-spacing: .6rem;
    }

    .company_outlineContents {
        gap: 2.4rem;
    }

    .company_outlineContainer {
        width: 100%;
    }

    .company_outlineContentsDt {
        font-size: 1.5rem;
        width: 35%;
    }

    .company_outlineContentsDd {
        width: 65%;
        font-size: 1.5rem;
        line-height: 1.5;
    }

    .company_outline {
        margin-bottom: 6.4rem;
    }

    .company_profileBg::after {
        content: none;
    }

    .company_profileBg {
        width: 91.7%;
        padding: 0;
    }

    .company_profileInner {
        margin: 0 auto;
        width: 100%;
    }

    .company_profileContainer {
        width: 81.4%;
        margin: 0 auto;
        padding: 5.6rem 0 6.4rem 0;
    }

    .company_profileBox {
        display: block;
        width: 100%;
        margin: 0 auto;
    }

    .company_profileBox:first-of-type::after {
        bottom: -4rem;
    }

    .company_profileBoxItem {
        width: 100%;
    }

    .company_profileBoxItemPic {
        margin-bottom: 3.2rem;
    }

    .company_profileBoxTextItem {
        width: 100%;
    }

    .company_profileTitle {
        position: absolute;
        top: -3%;
        left: 2rem;
        z-index: 2;
        font-family: 'Zen Kaku Gothic New', sans-serif;
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 2;
        color: #0096a7;
    }

    /* company ここまで */


    /* shops ここから */

    .shops {
        margin-bottom: 9.6rem;
    }

    .shops_bg {
        padding: 6.4rem 0;
        background: #F4F4F4;
    }

    .shops_title {
        top: -20%;
        font-size: 2.4rem;
    }

    .shops_innerBg {
        width: 91.7%;
        padding: 8rem 0;
        border-radius: 0 64px 0 0;
    }

    .shops_innerBg::after {
        content: none;
    }

    .shops_container {
        display: block;
    }

    .shops_containerBox {
        display: block;
        width: 81.4%;
        margin: 0 auto;
    }

    .shops_containerBoxItem {
        margin-bottom: 3.2rem;
    }

    .shops_containerBoxItemPicAfter::after {
        right: -15%;
        width: 50%;
        padding-top: 50%;
    }

    .shops_containerBoxItemTitle {
        font-size: 2rem;
    }

    .shops_containerBoxItemPic {
        width: 100%;
    }

    /* shops ここまで */


    /* contact ここから */

    .contact {
        margin-bottom: 9.6rem;
    }

    .contact_bg {
        width: 35.8rem;
        height: 386px;
        margin: 0 0 0 auto;
        border-radius: 24px 0 0 24px;
    }

    .contact_inner {
        width: 77%;
        margin: 0 auto;
    }

    .contact_container {
        display: block;
    }

    .contact_title {
        position: relative;
        font-size: 3.2rem;
        text-align: center;
        margin-bottom: 6.4rem;
    }

    .contact_title::after {
        position: absolute;
        bottom: -5rem;
        left: 50%;
        transform: translateX(-50%);
        content: '';
        background: url(../img/arrow_off.svg) center bottom / contain no-repeat;
        width: 18%;
        height: 0;
        padding-top: 18%;
    }

    /* contact ここまで */



    /* footer ここから */

    .footer_container {
        display: block;
    }

    .footer_logo {
        width: 24rem;
        margin: 0 auto 6.4rem;
    }

    .footer_contents {
        width: 81.4%;
        margin: 0 auto;
    }

    .footer_companyName {
        margin-bottom: 2.4rem;
    }

    /* footer ここまで */


}