@charset "uft-8";

/*=================
変数宣言
=================*/
:root {
    --size_xs: 0.8rem;
    --size_ees: 1.0rem;
    --size_es: 1.2rem;
    --size_sm: 1.4rem;
    --size_md: 1.6rem;
    --size_lg: 1.8rem;
    --size_xl: 2.4rem;
    --size_xxl: 3.6rem;
    --main_color: #CCFFCC;
    --main_color_80: 2247, 114, 55, 0.8;
    --text_color: #333333;
    --text_color_a: #98CE97;
    --gutter_base: 4px;
    --section_gutter: calc(var(--gutter_base)*10);
    --section_gutter_pc: calc(var(--gutter_base)*20);
    --contents_gutter: calc(var(--gutter_base)*5);
    --contents_gutter_pc: calc(var(--gutter_base)*15);
    --contents_gutter_side: calc(var(--gutter_base)*2);
    --font_sans: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    --font_sans_a: 'Noto Sans JP', sans-serif;
}

/*================
共通設定
==================*/
html {
    font-size: 62.5%;
}

body {
    font-size: var(--size_lg);
    font-family: var(--font_sans);
}

a {
    text-decoration: none;
}

.btn_center {
    text-align: center;
    margin-top: var(--contents_gutter);
    color: #333333;
}

.small {
    font-size: var(--size_xs);
}

.sp_hidden {
    display: none;
}

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

    .small {
        font-size: var(--size_sm);
    }

    .sp_hidden {
        display: block;
    }
}


/*================
header
==================*/
header {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 20;
    background-color: #ffffff;
}

.price_all header,
.privacy_back header,
.profile_back header,
.inquiry_back header {
    background-color: var(--main_color);
}

.header_inner h1 {
    white-space: nowrap;
    font-family: var(--font_sans);
    font-size: var(--size_lg);
    margin-top: calc(var(--gutter_base)*3);
    margin-left: calc(var(--gutter_base)*3);
    z-index: 20;
}

.header_inner h1 a {
    color: var(--text_color);
}

.header_inner h1 a:hover {
    color: black;
}



header .header_inner {
    height: var(--section_gutter);
    display: flex;
    position: relative;
    justify-content: space-between;
    font-family: var(--font_sans_a);
}

.header_inner nav {
    padding-top: calc(var(--contents_gutter)*3);
    text-align: center;
    z-index: 10;
    visibility: hidden;
    opacity: 0;
}

.header_inner ul {
    padding-top: var(--section_gutter);
    padding-bottom: var(--section_gutter);
    line-height: 4rem;
    background-color: #ffffff;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 100%;
}

.header_inner ul li a {
    color: var(--text_color);
}

.header_inner ul li a:hover {
    color: black;
    font-weight: bolder;
}

.menu_btn {
    position: fixed;
    width: 30px;
    height: 30px;
    z-index: 90;
    position: absolute;
    top: calc(var(--gutter_base)*5);
    right: calc(var(--gutter_base)*2);
    cursor: pointer;
}


.menu_btn .menu_btn_line {
    content: '';
    height: 2px;
    width: 24px;
    display: block;
    background-color: #898989;
    z-index: 90;

}

.menu_btn .menu_btn_line::before,
.menu_btn .menu_btn_line::after {
    content: '';
    display: block;
    background-color: #898989;
    width: 100%;
    height: 100%;
}

.menu_btn .menu_btn_line::before {
    transform: translateY(-8px);
}

.menu_btn .menu_btn_line::after {
    transform: translateY(6px);
}

.on .header_inner nav {
    visibility: visible;
    opacity: 1;
}

.on .menu_btn .menu_btn_line::after {
    transform: translateY(-2px) rotate(45deg);
}

.on .menu_btn .menu_btn_line::before {
    transform: rotate(-45deg);
}

.on .menu_btn_line {
    background-color: transparent;
}

@media screen and (min-width:960px) {
    .header_inner h1 {
        margin: 0;
        padding-top: var(--contents_gutter);
        padding-left: var(--contents_gutter);
    }

    .header_inner h1,
    .top_text {
        font-size: 1.5vw;
    }

    .header_inner nav {
        visibility: visible;
        opacity: 1;
    }

    .menu_btn {
        display: none;
    }

    .header_inner nav ul {
        display: flex;
        top: 0;
        height: 60px;
        transform: translate(-50%, -30%);
        justify-content: flex-end;
    }

    .price_all .header_inner nav ul,
    .privacy_back .header_inner nav ul,
    .profile_back .header_inner nav ul,
    .inquiry_back .header_inner nav ul {
        background-color: var(--main_color);
    }

    .header_inner ul a {
        padding-right: 4.16vw;
        line-height: normal;
        font-size: 1.13vw;
    }

}

/*=================
top
===================*/
.top_text {
    margin-top: var(--contents_gutter);
    display: flex;
    align-items: center;
    height: 250px;
    background-image: url(../img/top.jpg);
    background-size: contain;
    background-position: center;
    background-repeat: repeat-x;
}

.main_text,
.vision_text {
    background-image: linear-gradient(90deg, rgb(204, 255, 204), rgb(231, 255, 204));
    height: 150px;
    width: 100vw;
    font-size: var(--size_es);
}

.main_text {
    display: flex;
    align-items: center;
    justify-content: center;
}

.top_vision,
.page_vision {
    background-image: url(../img/vision.jpg);
    background-size: cover;
    background-size: center;
    background-repeat: repeat-x;
}

.title_vision {
    padding-top: calc(var(--contents_gutter)*2);
    text-align: center;
}


.title_vision h2,
h1 {
    font-size: var(--size_xxl);
    color: var(--text_color_a);
}

.title_vision div {
    font-size: var(--size_lg);
    color: var(--text_color_a);
}

.vision_text {
    position: relative;
}

.vision_text div {
    text-align: center;
    position: absolute;
    top: 70%;
    left: 50%;
    transform: translateY(-70%) translateX(-50%);
}

.vision_text div a {
    color: var(--text_color);
}

.vision_text p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    white-space: nowrap;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
}


@media screen and (min-width:960px) {
    .top_text {
        margin-top: var(--contents_gutter_pc);
        height: 100vh;
        object-fit: contain;
        background-repeat: repeat-x;
    }

    .main_text {
        width: 60VW;
        height: 45vh;
        margin-top: var(--contents_gutter_pc);
        margin-left: var(--contents_gutter_pc);
        font-size: 1.5vw;
    }

    .top_vision,
    .page_vision {
        display: flex;
        object-fit: contain;
        background-repeat: repeat-x;
        justify-content: space-between;
    }

    .title_vision {
        margin-top: 35vh;
        margin-left: var(--contents_gutter_pc);
        padding-top: 0;
    }

    .title_vision h2,
    .title_vision h1 {
        font-size: calc(var(--size_es)*10);
        line-height: 85%;
        margin-right: var(--contents_gutter_pc);
    }

    .title_vision div {
        font-size: calc(var(--size_es)*4);
        text-align: left;
    }

    .vision_text {
        width: 60VW;
        height: 45vh;
        font-size: 1.5vw;
        margin-top: 35vh;
        margin-right: var(--contents_gutter_pc);
    }

    .vision_text div {
        margin-top: var(--contents_gutter);
    }

}

/*=================
トップ　サービス
===================*/
.top_service {
    margin-top: calc(var(--contents_gutter)*3);
}

.top_service h3 {
    background-image: linear-gradient(rgb(255, 255, 255), rgb(204, 255, 204));
    font-size: var(--size_xl);
    color: var(--text_color);
    text-align: center;
    padding-bottom: var(--contents_gutter);
}

.top_service_inner {
    background-color: var(--main_color);
}


.top_service_inner01,
.top_service_inner02 {
    display: block;
    background-image: url(../img/service01.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 360px;
    height: 360px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.top_service_inner02 {
    background-image: url(../img/service02.jpg);
    margin-top: var(--contents_gutter);
}

.top_service_inner h4 {
    font-weight: normal;
    padding-top: var(--contents_gutter);
    margin-bottom: var(--contents_gutter);
    text-align: center;
    font-size: var(--size_lg);
}

.top_service_inner p,
.top_service_inner .more_btn {
    font-size: var(--size_es);
    width: fit-content;
    margin-left: calc(var(--gutter_base)*4);
    margin-right: calc(var(--gutter_base)*4);
}

.top_service_inner .more_btn {
    position: absolute;
    top: 93%;
    left: 50%;
    transform: translateY(-93%) translateX(-50%);
    background-color: #CCFFCC;
    border-radius: 30px;
    padding-left: 15px;
    padding-right: 15px;
}

@media screen and (min-width:960px) {
    .top_service {
        margin-top: calc(var(--section_gutter_pc)*3);
    }

    .top_service h3 {
        height: 150px;
        font-size: 2.25vw;
        padding-bottom: var(--contents_gutter_pc);
    }

    .top_service_inner {
        display: flex;
    }

    .top_service_inner01,
    .top_service_inner02 {
        display: block;
        background-size: contain;
        width: 45vw;
        max-width: 800px;
        height: 45vw;
        max-height: 800px;
    }

    .top_service_inner02 {
        margin-top: 0;
    }

    .top_service_inner h4 {
        padding-top: 4vh;
        font-size: 1.5vw;
        margin-bottom: 0;
    }

    .top_service_inner p {
        padding-top: var(--contents_gutter);
        padding-bottom: var(--contents_gutter);
        font-size: 1.2vw;
        margin-left: auto;
        margin-right: auto;
    }

    .top_service_inner .more_btn {
        padding-top: var(--gutter_base);
        padding-bottom: var(--gutter_base);
        font-size: 1.5vw;

    }
}

/*=================
トップ　理念
===================*/
.philosophy {
    background-color: #CCFFCC;
    padding-top: var(--section_gutter);
    padding-left: var(--contents_gutter_side);
    padding-right: var(--contents_gutter_side);
}

.philosophy_inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-left: var(--contents_gutter);
    margin-right: var(--contents_gutter);
    white-space: nowrap;
}

.philosophy_inner img {
    margin-right: calc(var(--contents_gutter)*2);
}

.philosophy h4 {
    font-size: var(--size_lg);
    text-align: center;
}

.philosophy .philosophy_main,
.philosophy .name {
    font-size: var(--size_md);
}

.philosophy p {
    font-size: var(--size_es);
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.philosophy .name {
    margin-top: var(--contents_gutter);
}

.philosophy_inner img {
    width: 100px;
    height: auto;
    margin-left: var(--contents_gutter);
}

.philosophy .philosophy_text {
    margin-top: var(--contents_gutter);
}

.philosophy .philosophy_text p {
    margin-top: var(--contents_gutter);
}

.philosophy .philosophy_text a {
    background-color: #ffffff;
    border-radius: 30px;
    padding-left: var(--contents_gutter);
    padding-right: var(--contents_gutter);
    padding-top: 5px;
    padding-bottom: 5px;
}

@media screen and (min-width:960px) {
    .philosophy {
        padding-top: var(--section_gutter_pc);
    }

    .philosophy h4,
    .philosophy .philosophy_main {
        font-size: 2.25vw;
        padding-top: var(--section_gutter);
    }

    .philosophy .philosophy_inner {
        display: inline-block;
    }

    .philosophy .philosophy_inner img {
        margin-top: var(--contents_gutter_pc);
        margin-bottom: var(--contents_gutter);
        margin-left: var(--contents_gutter_pc);
        width: 285px;
        height: auto;
    }

    .philosophy .philosophy_inner p {
        font-size: var(--size_lg);
    }

    .philosophy .philosophy_inner .name,
    .philosophy .philosophy_text a {
        font-size: 1.5vw;
    }

    .philosophy_inner_pc {
        display: flex;
    }

    .philosophy .philosophy_text p {
        padding-top: var(--contents_gutter);
        font-size: 1.12vw;
        width: 60vw;
    }

    .philosophy .philosophy_text .philosophy_text_inner {
        margin-top: var(--contents_gutter_pc);
        margin-bottom: var(--contents_gutter_pc);
    }
}

/*=================
vision
===================*/
.page_vision {
    position: relative;
    margin-top: var(--section_gutter);
    z-index: 0;
}

.page_vision .title_vision h2 {
    margin: 0;
}

.strengths_text {
    background-color: #E7FFCC;
    height: 150px;
    width: 90vw;
    font-size: var(--size_es);
    margin-top: var(--section_gutter);
    margin-left: auto;
    margin-right: auto;
}

.strengths h2 {
    color: #98CE97;
    padding-top: var(--contents_gutter);
    padding-bottom: var(--contents_gutter);
    text-align: center;
}

.strengths_text p {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (min-width:960px) {
    .strengths_text {
        width: 60VW;
        height: 45vh;
        font-size: var(--size_xl);
        margin-top: 35vh;
    }

    .strengths h2 {
        padding-top: var(--contents_gutter_pc);
        padding-bottom: var(--contents_gutter_pc);
        font-size: calc(var(--size_es)*4);
    }
}

.socialvalue {
    margin-top: calc(var(--contents_gutter)*3);
    font-size: var(--size_ees);
    background-image: linear-gradient(rgb(255, 255, 255), rgb(204, 255, 204));
}

.socialvalue section {
    margin-top: calc(var(--contents_gutter)*2);
    border: 2px solid #98CE97;
    border-radius: 20px;
    width: 90vw;
    margin-left: auto;
    margin-right: auto;
}

.socialvalue h3 {
    margin-top: var(--contents_gutter);
    margin-bottom: var(--contents_gutter_side);
    text-align: center;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    border-bottom: 2px solid #98CE97;
    line-height: 95%;
}

.socialvalue p {
    margin-bottom: var(--contents_gutter_side);
    text-align: center;
}

.socialvalue .socialvalue_ex {
    margin-bottom: 0;
}

.socialvalue_1 ol li {
    list-style-type: none;
    counter-increment: cnt;
}

.socialvalue_1 ol li::before {
    content: counter(cnt);
    margin-right: var(--gutter_base);
}

.socialvalue ol,
.socialvalue ul {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--contents_gutter);
}

.socialvalue ol li {
    text-indent: -1rem;
}

@media screen and (min-width:960px) {
    .socialvalue {
        margin-top: calc(var(--section_gutter_pc)*2);
        font-size: var(--size_lg);
    }

    .socialvalue section {
        margin-top: var(--contents_gutter_pc);
        width: 60vw;
        border: 4px solid #98CE97;
    }

    .socialvalue h3 {
        margin-top: var(--contents_gutter_pc);
        margin-bottom: calc(var(--gutter_base)*3);
        margin-left: auto;
        margin-right: auto;
        border-bottom: 4px solid #98CE97;
        line-height: 100%;
    }

    .socialvalue ol,
    .socialvalue ul {
        margin-bottom: var(--contents_gutter_pc);
        margin-top: var(--contents_gutter);
        font-weight: bolder;
    }

    .socialvalue .small {
        line-height: 30%;
    }
}

.about {
    padding-top: calc(var(--contents_gutter)*3);
    font-size: var(--size_ees);
    background-color: var(--main_color);
}

.about p {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--contents_gutter_side);
}

.about .about_border {
    font-weight: bolder;
}

.about .about_inner {
    margin-left: auto;
    margin-right: auto;
    background-color: #ffffff;
    align-items: center;
    width: fit-content;
    padding-left: var(--contents_gutter_side);
    padding-right: var(--contents_gutter_side);
    padding-bottom: calc(var(--contents_gutter_side)*2);
}

.about_inner h3 {
    text-align: center;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    padding-top: calc(var(--contents_gutter_side)*2);
    border-bottom: 2px solid #98CE97;
    line-height: 95%;
}

.about .about_inner div {
    font-size: var(--size_xs);
}

.about .about_inner .extra {
    font-size: 0.6rem;
}

.about_inner ol li {
    list-style-type: none;
    counter-increment: cnt;
    margin-top: calc(var(--contents_gutter_side)*2);
    margin-bottom: var(--contents_gutter_side);
    line-height: 90%;
    font-weight: bolder;
}

.about_inner ol li::before {
    content: counter(cnt)'.';
    margin-right: var(--gutter_base);
}

.about .about_inner .underline {
    border-bottom: 1px solid var(--text_color_a);
}

@media screen and (min-width:960px) {
    .about {
        padding-top: calc(var(--section_gutter_pc)*2);
        font-size: var(--size_xl);
    }

    .about .small {
        width: 840px;
    }

    .about .about_inner {
        margin-top: var(--contents_gutter_pc);
    }

    .about .about_inner h3 {
        padding-top: calc(var(--contents_gutter)*2);
        margin-bottom: calc(var(--contents_gutter)*2);
        font-size: var(--size_xl);
        border-bottom: 4px solid var(--text_color_a);
        line-height: 100%;
    }

    .about .about_inner ol li {
        font-size: var(--size_lg);
    }

    .about .about_inner div {
        font-size: var(--size_md);
        margin-bottom: calc(var(--contents_gutter)*2);
    }

    .about .about_inner .about_inner_div4 {
        margin-bottom: 0;
    }

    .about .about_inner .extra {
        font-size: var(--size_md);
    }

    .about .about_inner {
        padding-left: var(--section_gutter_pc);
        padding-right: var(--section_gutter_pc);
    }

    .about .about_inner .underline {
        border-bottom: 2px solid var(--text_color_a);
    }
}

/*=================
service
===================*/
.service_page {
    font-size: var(--size_es);
}

.service_page_inner h2 {
    font-size: var(--size_md);
    color: var(--text_color);
    margin-top: var(--contents_gutter_pc);
    margin-bottom: var(--contents_gutter_side);
    text-align: center;
}

.service_page_inner p {
    text-align: center;
}

.service_page_inner .service_page_olex {
    text-align: left;
    text-indent: -0.5rem;
    padding-bottom: var(--contents_gutter);
}

.service_page_inner img {
    width: 80vw;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--section_gutter);
}

.service_page_inner .frame {
    border: 2px solid var(--text_color_a);
    border-radius: 5px;
    background-color: #F2FFE3;
    padding-left: 12px;
    padding-top: 3px;
}

.service_page_inner .not_frame {
    margin-left: 2px;
    padding-left: 12px;
}

.service_page_inner h3 {
    font-size: var(--size_es);
    text-align: center;
}

.service_page_inner .small {
    text-align: center;
}

.service_page .service_page_inner ol .ol_back {
    background-color: #ffffff;
    width: 370px;
    padding-left: calc(var(--gutter_base)*3);
    padding-right: calc(var(--gutter_base)*3);
    padding-top: var(--contents_gutter);
    padding-bottom: var(--contents_gutter);
    margin-bottom: var(--contents_gutter);
}

.service_page_inner_ex {
    background-image: linear-gradient(rgb(255, 255, 255), rgb(204, 255, 204), 25%, rgb(204, 255, 204));
}

.service_page_inner_ex ol li {
    list-style-type: none;
    text-indent: -0.5rem;
}

.service_page_inner_ex ol li::before {
    margin-right: var(--gutter_base);
}

.service_page_inner_ex ol {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--contents_gutter);
    position: relative;
}

.service_page_inner_ex .service_page_inner_ul {
    margin-bottom: var(--contents_gutter);
}

.service_page_inner_ex .service_page_inner_ul li {
    text-indent: 0rem;
    margin-bottom: calc(var(--gutter_base)*2);
    font-size: var(--size_ees);
}

.service_page_inner_ex .service_page_inner_ul li {
    text-indent: -1.5rem;
}

.service_page_inner_ex .service_page_inner_ul li::before {
    content: '・';
}

.service_page_inner_ex .small {
    font-size: var(--size_xs);
}

.service_page_inner .small_ex {
    font-size: 0.6rem;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.service_page_inner .small_ex p {
    text-align: left;
}

.service_page_inner .small_ex ol {
    counter-reset: item;
    margin-left: 0;
    margin-bottom: 0;
}

.service_page_inner .small_ex ol li {
    text-indent: 0.5rem;
}

.service_page_inner .small_ex ol li:before {
    counter-increment: item;
    content: counter(item)'.';
}

.small_ex .underline {
    border-bottom: 2px solid var(--text_color_a);
}

.small_ex .centerline {
    text-decoration: line-through;
}

.small_ex p {
    padding-top: var(--contents_gutter_side);
}

@media screen and (min-width:960px) {
    .service_page {
        font-size: var(--size_md);
    }

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

    .service_page_inner h2 {
        font-size: var(--size_xxl);
        margin-top: calc(var(--contents_gutter_pc)*2);
    }

    .service_page_inner h3 {
        font-size: var(--size_xl);
        margin-top: var(--contents_gutter_pc);
        margin-bottom: var(--contents_gutter);
    }

    .service_page_inner img {
        width: 35vw;
        height: auto;
    }

    .service_page_inner .frame {
        border: 3px solid var(--text_color_a);
        border-radius: 15px;
        padding-top: 6px;
    }

    .service_page_pc .td_bolder {
        font-weight: bolder;
        font-size: 1.12vw;
    }

    .service_page_pc .service_page_maintext {
        height: fit-content;
        text-align: start;
        margin-left: 8vw;
        margin-top: auto;
        margin-bottom: auto;
        font-size: var(--size_xl);
    }

    .service_page .service_page_inner .ol_back .ol_back_title {
        font-size: var(--size_xl);
        font-weight: bolder;
    }

    .service_page .service_page_inner li {
        font-size: var(--size_md);
    }

    .service_page .service_page_inner ol .ol_back {
        width: 75vw;
        padding-left: calc(var(--contents_gutter_pc)*2);
        padding-right: calc(var(--contents_gutter_pc)*2);
        padding-top: var(--contents_gutter_pc);
        padding-bottom: var(--contents_gutter_pc);
        margin-top: var(--contents_gutter_pc);
    }

    .service_page_inner .service_page_olex {
        font-size: var(--size_lg);
    }

    .service_page_inner .small_ex {
        font-size: var(--size_md);
    }

    .service_page_inner .small_ex p {
        padding-top: var(--section_gutter);
    }

    .service_page_inner .frame,
    .service_page_inner .not_frame {
        padding-left: 20px;
        padding-right: 10px;
    }

    .service_page_inner_ex .tx_big {
        font-size: var(--size_xl);
    }

    .service_page_inner_ex .service_page_inner_ul li {
        text-indent: -2rem;
    }

    .service_page_inner_ex .service_page_inner_ul li::before {
        content: '・';
    }

    .service_page_inner_ex .small {
        font-size: var(--size_sm);
        padding-top: var(--size_sm);
    }
}

/*=================
service2
===================*/
.service_page_inner2 {
    background-color: var(--main_color);
    padding-top: var(--section_gutter);
}

.service_page_inner2 h2 {
    font-size: var(--size_md);
    color: var(--text_color);
    margin-top: var(--contents_gutter);
    margin-bottom: var(--contents_gutter_side);
    text-align: center;
}


.service_page_pc table {
    width: fit-content;
    height: auto;
    text-align: left;
    border-spacing: 1rem;
}

.service_page_pc table th {
    font-size: var(--size_ees);
    padding: 0;
    line-height: 2rem;
    height: 40px;
    vertical-align: top;
    white-space: nowrap;
}

.service_page_pc table td {
    font-size: var(--size_ees);
    line-height: 1.5rem;
    width: fit-content;
    vertical-align: top;
    white-space: nowrap;
}

.service_page_inner2 .service_page_pc h3 {
    text-align: center;
    padding-top: var(--contents_gutter);
}

.service_page_pc div {
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 360px;
    height: 360px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    margin-bottom: var(--contents_gutter);
}

.service_page_pc table {
    position: absolute;
    top: 52%;
    left: 50px;
}

.service_page_pc p {
    margin-top: var(--contents_gutter);
}

.page_service_img1 {
    background-image: url(../img/servicepage1.jpg);
}

.page_service_img2 {
    background-image: url(../img/servicepage2.jpg);
}

.page_service_img3 {
    background-image: url(../img/servicepage3.jpg);
}


@media screen and (min-width:960px) {
    .service_page_pc div {
        width: 31vw;
        height: 31vw;
    }

    .service_page_pc table th {
        font-size: 1vw;
        width: fit-content;
    }

    .service_page_pc table td {
        font-size: 0.9vw;
        line-height: 2rem;
    }

    .service_page .service_page_inner2 h2 {
        font-size: var(--size_xxl);
        margin-top: var(--section_gutter_pc);
        margin-bottom: var(--contents_gutter_pc);
    }

}

/*=================
service2詳細
===================*/
.service2_nitp h4,
.service2_nitp h5 {
    font-size: var(--size_lg);
    font-family: var(--font_sans_a);
    padding-top: calc(var(--contents_gutter)*2);
    margin-bottom: var(--contents_gutter);
    text-align: center;
}

.service2_nitp_inner .subtitle {
    margin-top: var(--contents_gutter_side);
    font-family: var(--font_sans_a);
    text-align: center;
}

.service2_nitp_inner p {
    width: 80vw;
}

.service2_nitp section {
    width: 95vw;
    height: 115vw;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    border-radius: 70px;
    margin-bottom: var(--contents_gutter);
}

.service2_nitp .service2_nitp_inner {
    background-image: linear-gradient(rgb(152, 206, 151), rgb(255, 255, 255));
}

.service2_nitp .service2_nitp_inner2 section {
    background-image: linear-gradient(rgb(231, 255, 204), rgb(255, 255, 255));
}

.service2_nitp .service2_nitp_inner3 section {
    background-image: linear-gradient(rgb(237, 253, 161), rgb(255, 255, 255));
}


.service2_nitp .service2_nitp_inner .sub1 {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translateX(-50%);
}

.service2_nitp .service2_nitp_inner .sub2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
}

.service2_nitp .service2_nitp_inner .sub3 {
    position: absolute;
    top: 72%;
    left: 50%;
    transform: translateX(-50%);
}

.service_page_inner2 .small_ex p {
    font-size: 0.6rem;
    width: 90vw;
    margin-left: auto;
    margin-right: auto;
    padding-top: 0;
}

@media screen and (min-width:960px) {
    .pc_service2_nitp_inner {
        display: flex;
    }

    .service2_nitp h5 {
        font-size: 1.3vw;
    }

    .service2_nitp_inner p {
        width: 21vw;
        font-size: 0.75vw;
    }

    .service2_nitp_inner .subtitle {
        font-size: 0.9vw;
    }

    .service2_nitp section {
        width: 24vw;
        height: 32vw;
        margin-left: 1vw;
        margin-right: 1vw;
    }

    .nitp_last {
        display: flex;
        justify-content: flex-start;
    }

    .service_page_inner2 .small_ex p {
        font-size: 1vw;
        width: 90vw;
    }
}


/*=================
profile
===================*/
.profile {
    font-size: var(--size_es);
    width: 98vw;
    background-color: #ffffff;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: var(--contents_gutter);
}

.profile_back {
    background-color: var(--main_color);

}

.profile h2 {
    font-size: var(--size_lg);
    color: #333333;
    margin-top: var(--section_gutter);
    margin-bottom: var(--contents_gutter_side);
    padding-top: var(--contents_gutter);
    text-align: center;
}

.profile .profile_top img {
    width: 100px;
    height: auto;
}

.profile .profile_top {
    display: flex;
    justify-content: space-around;
}

.profile .profile_top section {
    margin-left: 0;
}

.profile .profile_top .number {
    font-size: var(--size_es);
}

.profile .profile_top .name {
    font-size: var(--size_md);
    margin-right: 12px;
    font-weight: bolder;
}

.profile .profile_top {
    display: flex;
}

.profile section {
    margin-top: var(--contents_gutter);
    margin-left: var(--contents_gutter_side);
    margin-right: var(--contents_gutter_side);
}

.profile section h3 {
    font-weight: bolder;
    margin-bottom: var(--gutter_base);
}

.profile section .profile_inner_bottom {
    margin-bottom: var(--contents_gutter_side);
}

.profile_inner_career div {
    margin-bottom: var(--contents_gutter_side);
}

.profile_inner_career .parent {
    counter-reset: item2;
}

.profile_inner_career .parent li:before {
    counter-increment: item2;
    content: counter(item2)' ';
}

.profile_inner_career .parent ul {
    counter-reset: item3;
    list-style-type: none;
    text-indent: -0.5rem;
    margin-left: 1rem;
}

.profile_inner_career .parent ul li:before {
    counter-increment: item3;
    content: '・';
}


.profile .network ul li {
    list-style-type: none;
    text-indent: -2rem;
    margin-left: 2rem;
    margin-right: 1rem;
}

.profile .network ul li:before {
    content: '・';
}

.letter_img {
    width: 98vw;
    margin-top: var(--section_gutter);
    margin-left: auto;
    margin-right: auto;
}

.letter_img.pc {
    display: none;
}

@media screen and (min-width:960px) {
    .profile {
        font-size: var(--size_lg);
        width: 70vw;
        padding-bottom: var(--contents_gutter_pc);
    }

    .profile h2 {
        font-size: var(--size_xxl);
        margin-top: calc(var(--contents_gutter_pc)*2);
        padding-top: var(--contents_gutter_pc);
        padding-bottom: var(--contents_gutter_pc);
    }

    .profile .profile_top img {
        margin-left: 10vw;
        width: 285px;
        height: auto;
    }

    .profile_top_inner {
        display: flex;
    }

    .profile .profile_top .profile_top_inner .number {
        font-size: var(--size_md);
    }

    .profile .profile_top .profile_top_inner {
        margin-right: 10vw;
    }

    .profile .profile_top .name {
        font-size: var(--size_xl);
        margin-right: var(--contents_gutter_pc);
    }

    .profile .profile_top {
        justify-content: space-between;
    }

    .profile .profile_top div {
        margin-bottom: calc(var(--contents_gutter)*5);
    }

    .profile section {
        margin-top: var(--contents_gutter_pc);
        margin-left: 10vw;
        margin-right: var(--contents_gutter);
    }

    .profile_inner_career .parent .small {
        font-size: var(--size_lg);
        margin-top: calc(var(--contents_gutter)*2);
    }

    .profile_inner_career div {
        margin-bottom: var(--contents_gutter);
        display: flex;
    }

    .profile_inner_career div p {
        margin-right: var(--contents_gutter);
    }

    .profile_inner_career .parent ul {
        list-style-type: none;
    }

    .profile section h3 {
        margin-bottom: var(--contents_gutter);
    }

    .letter_img.sp {
        display: none;
    }

    .letter_img.pc {
        display: block;
        width: 70vw;
    }
}

/*=================
プライス
===================*/
.price_all h2 {
    text-align: center;
    font-size: var(--size_lg);
    color: #333333;
    margin-bottom: var(--contents_gutter_side);
    margin-top: var(--contents_gutter_pc);
}

.price_all {
    background-color: var(--main_color);
}

.price_oya {
    text-align: center;
}

.price {
    display: inline-block;
    text-align: left;
    font-size: var(--size_ees);
    width: 98vw;
}

.price p {
    margin-bottom: calc(var(--gutter_base)*2);
    margin-left: var(--gutter_base);
    margin-right: var(--gutter_base);
}


.price .price_unit {
    text-align: end;
    margin-bottom: 0;
}

.price table {
    border-collapse: collapse;
    border: 1px solid #333333;
    margin-left: auto;
    margin-right: auto;
}

.price table th,
.price table td {
    font-family: var(--font_sans_a);
    font-size: var(--size_es);
    padding-left: var(--gutter_base);
    padding-right: var(--gutter_base);
    line-height: calc(var(--size_es)*2);
    background-color: #ffffff;
}

.price table td .komon_ex {
    padding-top: var(--gutter_base);
    padding-bottom: var(--gutter_base);
    font-size: var(--size_ees);
    line-height: var(--size_es);
}

.price table td .komon_ex li {
    margin-bottom: var(--gutter_base);
}


.price table .price_th {
    background-color: #F2FFE3;
}

@media screen and (min-width:960px) {
    .price_all h2 {
        font-size: var(--size_xxl);
        margin-bottom: var(--section_gutter);
        margin-top: calc(var(--contents_gutter_pc)*2);
    }

    .price {
        font-size: var(--size_xl);
    }

    .price table {
        margin-bottom: var(--section_gutter_pc);
    }

    .price div {
        width: fit-content;
        margin-left: auto;
        margin-right: auto;

    }

    .price p {
        max-width: 1300px;
        margin-left: auto;
        margin-right: auto;
    }

    .price_small {
        font-size: var(--size_md);
    }

    .price_unit {
        text-align: right;
        font-size: var(--size_md);
    }

    .price table th,
    .price table td {
        font-size: 1.5vw;
        padding-left: 20px;
        padding-right: 20px;
        line-height: calc(var(--size_md)*4);
    }

    .price table td .komon_ex {
        font-size: var(--size_lg);
        line-height: calc(var(--size_lg)*2);
    }

    .price_th {
        background-color: #F2FFE3;
    }
}

/*=================
プライバシーポリシー
===================*/
.privacy_back {
    background-color: var(--main_color);
}

.privacy_page {
    font-size: var(--size_ees);
    width: 96vw;
    margin-left: auto;
    margin-right: auto;
}

.privacy_page h2 {
    margin-top: var(--section_gutter);
    margin-bottom: var(--contents_gutter_side);
    text-align: center;
}

.privacy_page ol {
    margin-top: var(--size_ees);
    counter-reset: item4;
}

.privacy_page ol li:before {
    counter-increment: item4;
    content: counter(item4)'.';
}

.privacy_page ol li {
    margin-top: 1rem;
}

.privacy_page ol p {
    margin-left: 1rem;
}

.privacy_page .privacy_olinner {
    counter-reset: item5;
    margin-left: 1rem;
}

.privacy_page .privacy_olinner li:before {
    counter-increment: item5;
    content: counter(item5, cjk-ideographic)'.';
}

.privacy_page .privacy_olinner li:first-child {
    margin-top: 0;
}

.privacy_page .privacy_olinner p {
    padding-left: 1rem;
}

.privacy_olinner p:last-of-type {
    margin-top: var(--gutter_base);
}

.privacy_page .cookie_ex {
    margin-top: 1rem;
}

.privacy_page .privacy_page_mainex {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

@media screen and (min-width:960px) {
    .privacy_page {
        font-size: var(--size_md);
        width: 60vw;
    }

    .privacy_page h2 {
        margin-top: calc(var(--contents_gutter_pc)*2);
        margin-bottom: var(--contents_gutter_pc);
    }

}

/*=================
問い合わせ
===================*/
.inquiry_back {
    background-color: var(--main_color);
}

.inquiry {
    width: 98vw;
    background-color: var(--main_color);
    margin-left: auto;
    margin-right: auto;
}

.inquiry h2 {
    text-align: center;
    margin-top: var(--contents_gutter_pc);
    margin-bottom: var(--contents_gutter_side);
    font-size: var(--size_lg);
}

.inquiry p {
    font-size: var(--size_ees);
    margin-left: var(--gutter_base);
    margin-right: var(--gutter_base);
    margin-bottom: 1rem;
}

.inquiry_form {
    background-color: #ffffff;
    font-size: var(--size_md);
    padding-bottom: var(--contents_gutter);
}

.inquiry_form h3 {
    font-weight: bolder;
    padding-top: var(--contents_gutter);
    border-bottom: 2px solid var(--text_color_a);
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    line-height: 90%;
}

.inquiry_form ol {
    counter-reset: item6;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--contents_gutter);
}

.inquiry_form ol li {
    margin-top: var(--contents_gutter);
    margin-bottom: var(--gutter_base);
    font-weight: bolder;
}

.inquiry_form ol li:before {
    counter-increment: item6;
    content: counter(item6)'.' ' ';
}

.inquiry_form label {
    margin-right: calc(var(--gutter_base)*4);
}

.inquiry_form textarea {
    border-radius: 15px;
}

.inquiry_form .inquiry_form_info {
    margin-left: auto;
    margin-right: auto;
    border-spacing: 0 10px;
}

.inquiry_form .inquiry_form_info input {
    border-radius: 5px;
    border: 1px solid var(--text_color);
}

.inquiry_form button {
    display: block;
    text-align: center;
    margin-top: var(--contents_gutter);
}

.inquiry_form .btn {
    margin-left: auto;
    margin-right: auto;
    width: 120px;
    height: 40px;
    background-color: var(--text_color_a);
    border-radius: 20px;
    color: black;
    border: none;
    font-family: var(--font_sans_a);
    box-shadow: 2px 2px 4px -2px gray;
}

.map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 75%;
    margin-bottom: var(--contents_gutter);
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.access .address {
    font-size: var(--size_sm);
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.access .address div {
    margin-bottom: var(--contents_gutter_side);
}

.access .address .address_name {
    font-size: var(--size_es);
}

@media screen and (min-width:960px) {
    .inquiry {
        padding-left: 10vw;
        padding-right: 10vw;
    }

    .inquiry h2 {
        font-size: var(--size_xxl);
        margin-top: calc(var(--contents_gutter_pc)*2);
        margin-bottom: var(--contents_gutter);
    }

    .inquiry p {
        font-size: var(--size_lg);
        margin-bottom: var(--contents_gutter);
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
    }

    .inquiry_form {
        font-size: var(--size_lg);
        padding-bottom: var(--contents_gutter_pc);
        font-weight: bolder;
    }

    .inquiry_form h3 {
        padding-top: var(--section_gutter_pc);
        border-bottom: 3px solid var(--text_color_a);
        font-weight: normal;
        font-size: var(--size_xxl);
    }

    .inquiry_form ol li {
        margin-top: var(--contents_gutter_pc);
    }

    .inquiry_form ol input {
        transform: scale(1.7);
    }


    .inquiry_form label {
        margin-right: calc(var(--gutter_base)*8);
        font-weight: bolder;
    }

    .inquiry_form .inquiry_form_info {
        width: 45vw;
        border-spacing: 0 var(--section_gutter);
    }

    .inquiry_form .inquiry_form_info input {
        padding: var(--gutter_base);
        width: 300px;
        height: 50px;
    }

    .inquiry_form textarea {
        width: 100%;
        height: 30vh;
    }

    .inquiry_form .btn {
        width: 200px;
        height: 50px;
        border-radius: 30px;
    }

    .map_size {
        margin-top: var(--contents_gutter);
        width: 40vw;
    }

    .access {
        display: flex;
    }

    .access .address {
        font-size: var(--size_lg);
        margin-top: auto;
        margin-bottom: auto;

    }

    .access .address .address_name {
        font-size: var(--size_lg);
    }

    .access .address div {
        margin-bottom: var(--contents_gutter);
    }

}

/*=================
フッター
===================*/
footer {
    background-color: var(--main_color);
}

.footer_inner li a {
    color: var(--text_color);
}

.footer_inner li a:hover {
    color: black;
    font-weight: bolder;
}

.footer_inner {
    padding-top: var(--section_gutter);
    line-height: 3em;
    padding-bottom: var(--section_gutter);
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
    font-family: var(--font_sans_a);
    font-size: var(--size_md);
}

.footer_inner .sns_icon {
    display: flex;
}

.footer_inner .sns_icon img {
    width: 30px;
    height: auto;
    margin-right: 30px;
    margin-top: calc(var(--gutter_base)*2);
}

@media screen and (min-width:960px) {
    .footer_inner {
        display: flex;
        padding-top: var(--section_gutter_pc);
    }

    .footer_inner ul {
        display: flex;
        align-items: flex-end;
    }

    .footer_inner ul li {
        margin-right: var(--section_gutter);
    }

    .footer_inner .sns_icon img {
        width: 40px;
        height: auto;
        margin-right: 0;
    }

}