:root {
    --facility-color: #ff604a;
}

.pages .section:not(:last-child) {
    padding: 0 0px 55px 0;
}

.pages .section .section {
    padding-top: 30px;
}

.pages .section p:last-child {
    margin-bottom: 0;
}

/* ------------------------------------------------------
h3 h4 h5 h6
------------------------------------------------------ */
.pages h3 {
    font-size: 40px;
    font-weight: 500;
    letter-spacing: 0.12em;
    line-height: 1.65;
    text-align: center;
    margin-bottom: 45px;
}

.pages h3 .en {
    display: block;
    font-size: 14px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    margin-bottom: 51px;
    position: relative;
}

.pages h3 .en::before {
    position: absolute;
    content: '';
    background: url(../images/common/h3_ico.svg) no-repeat;
    background-size: 100% auto;
    width: 86px;
    height: 6px;
    bottom: -26px;
    left: 50%;
    transform: translateX(-50%);
}

/* ------------------------------------------------------
table
------------------------------------------------------ */
.pages table {
    border-collapse: separate;
    border-spacing: 3px;
    margin-bottom: 25px;
}

.pages table th,
.pages table td {
    padding: 15px 10px 14px;
    border-bottom: 2px dotted #87D255;
}

.pages table tr:last-child th,
.pages table tr:last-child td {
    border-bottom: 0;
}

.pages table th {
    width: 20%;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: left;
    color: #87D255;
    vertical-align: top;
    padding-left: 78px;
}

.pages table td {
    padding-left: 65px;
}

.pages table td p {
    line-height: 2;
    letter-spacing: 0.1em;
}

.pages table.td_top td {
    vertical-align: top;
}

.pages table.td_center td {
    text-align: center;
}

.pages table.tb_fix {
    table-layout: fixed;
}

.pages #content table:last-child {
    margin-bottom: 0;
}

/*-----txt_note-----*/
.pages .txt_note {
    display: none;
}

.pages .txt_bold {
    font-weight: bold;
}

/* ------------------------------------------------------
under list
------------------------------------------------------ */
.pages .list01 li {
    margin-bottom: 22px;
    padding-left: 35px;
    position: relative;
}

.pages .list01 li::before {
    position: absolute;
    content: "";
    width: 20px;
    height: 3px;
    background: #1e3c72;
    top: 9px;
    left: 0;
}

.pages .list_check li {
    margin-bottom: 22px;
    padding-left: 35px;
    position: relative;
}

.pages .list_check li::before {
    position: absolute;
    content: "";
    width: 7px;
    height: 12px;
    border: solid #1e3c72;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    display: inline-block;
    top: 8px;
    left: 0;
}

.pages .list01:last-child,
.pages .list01 li:last-child,
.pages .list_check:last-child,
.pages .list_check li:last-child {
    margin-bottom: 0px;
}

/* ------------------------------------------------------
under frame
------------------------------------------------------ */
.pages .frame01 {
    background: rgba(255, 211, 216, 0.3);
    padding: 25px 30px 25px;
    margin: 0 auto 30px;
    border-radius: 10px;
    box-sizing: border-box;
}

.pages .frame01:last-child {
    margin: 0 auto;
}

/* ------------------------------------------------------
under_step
------------------------------------------------------ */
.pages .under_step dl {
    margin-bottom: 60px;
}

.pages .under_step dl:last-child {
    margin-bottom: 0px;
}

.pages .under_step dl dt {
    font-size: 18px;
    color: #fff;
    background: #e06277;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border: 2px solid #e06277;
    padding: 10px 20px 5px;
    box-sizing: border-box;
}

.pages .under_step dl dt span {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    margin-right: 5px;
}

.pages .under_step dl dd {
    display: flex;
    align-items: center;
    border: 2px solid #e06277;
    padding: 20px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}

.pages .under_step dl:nth-child(odd) dd {
    flex-direction: row-reverse;
}

.pages .under_step dl dd .step_img {
    flex-shrink: 0;
    padding-left: 40px;
    margin-bottom: 0 !important;
    box-sizing: border-box;
}

.pages .under_step dl:nth-child(even) dd .step_img {
    padding: 0 40px 0 0;
}

/* ------------------------------------------------------
qa_dl
------------------------------------------------------ */
.pages .qa_dl dl {
    padding-left: 80px;
    padding-bottom: 60px;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
}

.pages .qa_dl dl:after {
    position: absolute;
    z-index: -1;
    left: 25px;
    top: 0;
    height: 100%;
    width: 1px;
    content: '';
    display: block;
    border-left: rgba(119, 119, 119, 0.30) 1px dotted;
}

.pages .qa_dl dl:last-child {
    padding-bottom: 0;
}

.pages .qa_dl dl dt,
.pages .qa_dl dl dd {
    position: inherit;
    z-index: 1;
}

.pages .qa_dl dl dt span,
.pages .qa_dl dl dd span {
    position: absolute;
    z-index: 1;
    left: -80px;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    color: #fff;
    font-size: 18px;
}

.pages .qa_dl dl dt {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    color: #00478A;
    min-height: 50px;
    display: flex;
    align-items: center;
    line-height: 1.4em;
}

.pages .qa_dl dl dd {
    padding: 30px;
    background: rgba(109, 178, 216, 0.15);
}

/* ------------------------------------------------------
under_bnr
------------------------------------------------------ */
.pages .under_bnr_full {
    background: url(../images/under_btn_bg.jpg) no-repeat center;
    background-size: cover;
    width: 700px;
    height: 150px;
    border-radius: 8px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.25);
    margin: 0 auto;
    transition: all 0.25s linear;
}

.pages .under_bnr_full a {
    font-size: 18px;
    line-height: 1.6;
    color: #fff;
    width: 100%;
    height: 100%;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 .5em;
}

/* ------------------------------------------------------
others
------------------------------------------------------ */
.pages .center {
    margin-bottom: 35px;
}

.pages .image_l {
    margin: 0 40px 15px 0;
}

.pages .image_r {
    margin: 0 0 15px 40px;
}

.pages .a_hover:hover {
    text-decoration: none;
}

.pages .mb10 {
    margin-bottom: 10px !important;
}

/* ------------------------------------------------------
content
------------------------------------------------------ */
.pages #header h1 {
    top: 25px;
    left: 25px;
}

.pages #header h1 .logo_pc {
    display: block;
}

.pages #header h1 .logo_sp {
    display: none;
}

.pages #toggle-menu {
    top: 31px;
}

.pages #content .inner {
    max-width: 1400px;
}

.pages #footer {
    margin-top: 195px;
}

/* ------------------------------------------------------
top_info
------------------------------------------------------ */
.pages #top_info {
    width: 100%;
    height: 457px;
    background: rgba(135, 210, 85, 0.25);
    margin: 120px 0 0;
    position: relative;
    transition: all 0.2s;
}

.pages #top_info::before {
    position: absolute;
    content: '';
    background: url(../images/common/mv_illust.png) no-repeat;
    background-size: 100% auto;
    width: 1151px;
    height: 153px;
    top: -113px;
    left: 50%;
    transform: translateX(-50%);
}

.pages #top_info h2 {
    font-family: fot-tsukuardgothic-std, sans-serif;
    font-size: 46px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0;
    line-height: 1.31;
    text-align: center;
    position: absolute;
    top: 40.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 96%;
    z-index: 1;
}

.top-info-image {
    height: 100%;
}

.top-info-image img {
    width: 100%;
    height: 100%;
    object-position: bottom;
    object-fit: cover;
    transition: all 200ms linear;
}

/* ------------------------------------------------------
under-box-h3
------------------------------------------------------ */
.pages .under-box {
    background: rgba(135, 210, 85, 0.25);
    padding: 30px 0 38px;
    position: relative;
}

.pages .under-box h3 {
    margin-bottom: 45px;
}

.pages .under-box h3 .en {
    margin-bottom: 66px;
}

.pages .under-box .under-box-txt {
    max-width: 930px;
    font-size: 17px;
    text-align: justify;
    margin: 0 auto;
}

.pages .under-box .curve {
    transform: rotate(180deg);
}

/* ------------------------------------------------------
recruit
------------------------------------------------------ */
.pages#recruit #top_info {
    background: rgba(245, 160, 0, 0.15);
}

.pages#recruit .under-box {
    background: rgba(245, 160, 0, 0.15);
}

.pages#recruit h3 .en::before {
    background: url(../images/recruit/h3_ico.svg) no-repeat;
}

.pages#recruit .curve path {
    fill: rgba(245, 160, 0, 0.15);
}

.pages#recruit .btn-primary a {
    background: #f5a000;
    border-color: #f5a000;
}

.pages#recruit table th {
    font-weight: 700;
    color: #f5a000;
}

.pages#recruit table th,
.pages#recruit table td {
    border-bottom-color: #f5a000;
}

#recruit .recruit-contents {
    padding: 161px 0 0;
    position: relative;
}

#recruit .recruit-contents::before {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(245, 160, 0, 0.12);
    border-radius: 50%;
    top: -30px;
    right: -337px;
    z-index: -1;
    pointer-events: none;
}

#recruit .recruit-contents .inner {
    max-width: 1230px;
    position: relative;
}

#recruit .recruit-contents .circle-bg {
    position: absolute;
    width: 1450px;
    height: 1450px;
    background: rgba(245, 160, 0, 0.12);
    border-radius: 50%;
    bottom: -44.5%;
    left: 18%;
    transform: translate(-50%, 0);
    transform-origin: center;
    pointer-events: none;
    z-index: -1;
}

#recruit .recruit-contents .recruit-block {
    position: relative;
    z-index: 3;
}

#recruit .recruit-contents .recruit-block:not(:last-child) {
    margin-bottom: 113px;
}

#recruit .recruit-contents .recruit-block .circle {
    top: -94px;
    left: -62px;
    z-index: -1;
    animation: circle 50s forwards linear infinite;
}

#recruit .recruit-contents .recruit-block:nth-child(4n+4) .circle {
    left: auto;
    right: -62px;
}

#recruit .recruit-contents h4 {
    font-family: fot-tsukuardgothic-std, sans-serif;
    font-size: 30px;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: #f5a000;
    width: 100%;
    height: 86px;
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 10px;
    padding: 0 10px 0 80px;
    margin-bottom: 28px;
}

#recruit .recruit-contents .recruit_ico01 {
    top: 0;
    left: 149px;
    z-index: -1;
}

#recruit .recruit-contents .recruit_ico02 {
    bottom: -350px;
    right: 60px;
    z-index: 2;
}

.pages#recruit #footer .footer-contents::before {
    display: none;
}

.pages#recruit #footer .footer-contents {
    background: #f5a000;
}

/* ------------------------------------------------------
company
------------------------------------------------------ */
.pages#company #top_info {
    background: rgba(81, 165, 220, 0.15);
}

.pages#company .under-box {
    background: rgba(81, 165, 220, 0.15);
}

.pages#company h3 .en::before {
    background: url(../images/company/h3_ico.svg) no-repeat;
}

.pages#company .curve path {
    fill: rgba(81, 165, 220, 0.15);
}

.pages#company .btn-primary a {
    background: #0000cd;
    border-color: #0000cd;
}

.pages#company table th {
    font-weight: 700;
    color: #0000cd;
}

.pages#company table th,
.pages#company table td {
    border-bottom-color: #0000cd;
}

.pages#company .company_ico01 {
    top: -65px;
    right: 580px;
    animation: clouds 8s ease-in-out infinite;
}

@keyframes clouds {
    0% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(20px);
    }

    100% {
        transform: translateX(0);
    }
}

.pages#company .company_ico02 {
    top: -85px;
    right: 335px;
    animation: circle 120s forwards linear infinite;
}

.pages#company .company_ico03 {
    top: -110px;
    left: 40vw;
}

.pages#company .company_ico04 {
    top: -115px;
    left: 218px;
}

.pages#company .company_ico05 {
    top: 360px;
    right: 292px;
}

#company #company-introduce {
    padding: 177px 0 0;
    position: relative;
}

#company #company-introduce::before {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(81, 165, 220, 0.12);
    border-radius: 50%;
    top: -30px;
    right: -337px;
    z-index: -1;
    pointer-events: none;
}

#company #company-introduce .company-container {
    width: 100%;
    max-width: 1900px;
    height: 800px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 0 auto 50px;
    position: relative;
}

#company #company-introduce .company-container .c-frame {
    width: 48%;
    padding: 0 130px 0 0;
    position: relative;
}

#company #company-introduce .company-container .c-frame::before {
    position: absolute;
    content: '';
    background-image: url(../images/company/company_img01.png);
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 800px;
    height: 800px;
    top: 50%;
    left: -870px;
    transform: translateY(-50%);
    z-index: 1;
}

#company #company-introduce .company-container .c-frame p {
    font-size: 18px;
    text-align: justify;
    margin-bottom: 40px;
}

#company #company-introduce .company-container .c-frame p:last-child {
    margin-bottom: 0;
}

#company #company-introduce .name_special {
    font-size: 15px !important;
    font-weight: 700;
    text-align: right !important;
}

#company #company-introduce .name_special span {
    display: inline-block;
    line-height: 0;
    margin-left: 25px;
    position: relative;
    top: 2px;
}

#company #company-introduce .company-container.reverse {
    flex-direction: row-reverse;
    margin-bottom: 0;
}

#company #company-introduce .company-container.reverse .c-frame {
    padding: 0 0 0 130px;
}

#company #company-introduce .company-container.reverse .c-frame::before {
    background-image: url(../images/company/company_img02.png);
    left: auto;
    right: -870px;
}

#company #company-introduce .company-container .ico02 {
    top: 0;
    right: 120px;
}

#company #company-info {
    background: rgba(81, 165, 220, 0.15);
    padding: 37px 0 169px;
    margin: 50px 0 0;
    position: relative;
}

#company #company-info .cur02 {
    background: rgba(81, 165, 220, 0.15);
    top: -150px;
    bottom: auto;
}

#company #company-info .curve {
    transform: rotate(180deg);
}

#company #company-info .curve path {
    fill: #fff;
}

#company #company-info .inner {
    max-width: 1230px;
}

#company #company-info h3 {
    margin-bottom: 97px;
}

#company #company-info table {
    position: relative;
    z-index: 1;
}

#company #company-info .ico11 {
    bottom: -390px;
    left: 110px;
}

.pages#company #footer {
    margin-top: 0;
}

.pages#company #footer .footer-contents {
    background: #0000cd;
}

.pages#company #footer .footer-contents::before {
    background: rgba(81, 165, 220, 0.12);
    bottom: -15px;
}

/*-------------------------------------------------------
service01
-------------------------------------------------------*/
#service01 .symbol {
    z-index: -1;
}

#service01 #footer {
    margin-top: 0;
}

#service01 #footer .footer-contents::before {
    display: none;
}

#service01 .is-hidden {
    display: none;
}

#service01 .group-tab {
    background: rgba(135, 210, 85, 0.25);
    padding: 12px 0 32px;
}

#service01 .group-tab .service-tab-btns {
    width: 100%;
    max-width: 930px;
    display: flex;
    justify-content: center;
    margin: 0 auto;
}

#service01 .group-tab .service-tab-btns li {
    font-weight: bold;
    color: #87D255;
    width: calc((100% - 30px) / 3);
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border-radius: 5px;
    position: relative;
    cursor: pointer;
    transition: all .35s ease;
}

#service01 .group-tab .service-tab-btns li::before {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #87D255;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    visibility: hidden;
    opacity: 0;
    transition: all .35s ease;
}

#service01 .group-tab .service-tab-btns li a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#service01 .group-tab .service-tab-btns li a span {
    font-family: 'Noto Sans JP', 'Noto Sans SC', sans-serif;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.2em;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 114px;
    height: 22px;
    border: 1px solid #e54678;
    border-radius: 11px;
    padding: 0 0 1px;
    margin: 4px 0 0;
}

#service01 .group-tab .service-tab-btns li:nth-child(2) {
    margin: 0 15px;
}

#service01 .group-tab .service-tab-btns li.is-active {
    background: #87D255;
}

#service01 .group-tab .service-tab-btns li.is-active a {
    color: #fff !important;
}

#service01 .group-tab .service-tab-btns li.is-active a span {
    border-color: #fff;
}

#service01 .group-tab .service-tab-btns li.is-active::before {
    visibility: visible;
    opacity: 1;
}

#service01 .under-box {
    padding: 30px 0 85px;
}

#service01 .daily-schedule {
    margin: 143px 0 -50px;
    position: relative;
}

#service01 .daily-schedule h3 {
    margin-bottom: 32px;
}

#service01 .daily-schedule::before {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(135, 210, 85, 0.20);
    border-radius: 50%;
    top: -178px;
    right: -337px;
    z-index: -1;
    pointer-events: none;
}

#service01 .daily-schedule .s-container {
    height: 100%;
    justify-content: flex-end;
    margin: 0 0;
}

#service01 .daily-schedule .s-container .s-frame {
    padding: 55px 45px 0 0;
}

#service01 .daily-schedule .s-container .s-frame::before {
    top: 0;
    right: auto;
    left: -870px;
    transform: translateY(0);
}

.service01b#service01 .daily-schedule .s-container .circle_photo::after {
    top: 20px;
    left: -850px;
    transform: translateY(0);
}

#service01 .daily-schedule .s-container .s-frame .tb-schedule {
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 60px;
    position: relative;
    z-index: 1;
}

#service01 .daily-schedule .s-container .s-frame .tb-schedule:last-child {
    margin-bottom: 0;
}

#service01 .daily-schedule .s-container .s-frame .tb-schedule th {
    width: 19%;
    font-weight: 700;
    color: #fff;
    text-align: center;
    background: #87D255;
    border-bottom: 2px solid #fff;
    padding: 18px 8px;
}

#service01 .daily-schedule .s-container .s-frame .tb-schedule td {
    line-height: 2;
    letter-spacing: 0.1em;
    background: #fff;
    border-bottom: 2px solid #87D255;
    padding: 18px 30px 18px 40px;
}

#service01 .daily-schedule .s-container .s-frame .tb-schedule tr:first-child th {
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 0;
    padding: 24px 8px;
}

#service01 .daily-schedule .s-container .s-frame .tb-schedule tr:first-child th span {
    font-family: fot-tsukuardgothic-std, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    margin-right: 30px;
    position: relative;
    top: 3px;
}

#service01 .daily-schedule .s-container .s-frame .tb-schedule tr:last-child th,
#service01 .daily-schedule .s-container .s-frame .tb-schedule tr:last-child td {
    border-bottom: 0;
}

.ser01-flow {
    background: rgba(135, 210, 85, 0.25);
    padding: 169px 0 88px;
    position: relative;
}

.ser01-flow::before {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(135, 210, 85, 0.20);
    border-radius: 50%;
    top: 50%;
    left: -340px;
    transform: translateY(-50%);
    z-index: -1;
    pointer-events: none;
}

.ser01-flow .cur02 {
    background: rgba(135, 210, 85, 0.25);
    top: -150px;
    bottom: auto;
    z-index: -2;
}

.ser01-flow .cur02 .curve path {
    fill: #fff;
}

.ser01-flow .curve {
    transform: rotate(180deg);
}

.ser01-flow .flow-list {
    max-width: 1225px;
    margin: 102px auto 0;
    position: relative;
    z-index: 2;
}

.ser01-flow .flow-list li {
    width: 100%;
    background: #fff;
    display: flex;
    border-radius: 10px;
    margin: 0 0 65px;
    position: relative;
}

.ser01-flow .flow-list li:last-child {
    margin: 0 auto;
}

.ser01-flow .flow-list .f-number {
    width: 100%;
    max-width: 277px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    padding: 50px 0 43px;
}

.ser01-flow .flow-list .f-number:after {
    content: "";
    width: 103px;
    height: 38px;
    background: url(../images/service01/ico-01.png)no-repeat center;
    background-size: contain;
    position: absolute;
    bottom: -38px;
    left: 50%;
    transform: translateX(-50%);
}

.ser01-flow .flow-list li:last-child .f-number::after {
    content: none;
}

.ser01-flow .flow-list .f-number .number {
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.25em;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: #87D255;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ser01-flow .flow-list .flow-cont {
    max-width: 945px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px 50px 21px 0;
}

.ser01-flow .flow-list .flow-ttl {
    font-size: 32px;
    letter-spacing: 0.1em;
    position: relative;
    z-index: 1;
    margin: 0 0 20px;
}

.ser01-flow .flow-list .flow-txt {
    font-size: 16px;
    line-height: 2.25;
}

.ser01-flow .ico02 {
    top: 520px;
    left: 190px;
}

.ser01-flow .ico03 {
    top: 205px;
    right: 167px;
    animation: aniupdown 1.2s infinite cubic-bezier(0.215, 0.61, 0.355, 1) alternate;
}

.ser01-flow .ico09 {
    bottom: -105px;
    right: -50px;
    animation: circle 50s forwards linear infinite;
}

#service01 .s-container {
    width: 100%;
    max-width: 1900px;
    height: 800px;
    display: flex;
    align-items: center;
    margin: -189px 0 0;
    position: relative;
}

#service01 .s-container .s-frame {
    width: 48%;
    padding: 0 0 0 130px;
    position: relative;
}

#service01 .s-container .s-frame::before {
    position: absolute;
    content: '';
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 800px;
    height: 800px;
    top: 68%;
    right: -863px;
    transform: translateY(-50%);
    z-index: 1;
}

#service01 .s-container .circle_photo::after {
    top: calc(68% + 20px);
    left: auto;
    right: -883px;
}

.ser01-fee {
    position: relative;
    margin: 150px 0 -97px;
}

.ser01-fee::before {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(135, 210, 85, 0.20);
    border-radius: 50%;
    top: -192px;
    right: -337px;
    z-index: -1;
    pointer-events: none;
}

#service01 .s-container .s-frame .usage-fee-cont li {
    line-height: 2.25;
    letter-spacing: 0.07em;
    border-bottom: 2px dotted #87D255;
    padding: 0 0 25px 53px;
    margin: 0 0 25px;
    position: relative;
}

#service01 .s-container .s-frame .usage-fee-cont li::before {
    position: absolute;
    content: '';
    background: url(../images/service02/ico_check.svg) no-repeat;
    background-size: 100% auto;
    width: 27px;
    height: 18px;
    top: 10px;
    left: 0;
}

#service01 .s-container .s-frame .usage-fee-cont li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}

.ser01-fee .ico01 {
    top: 350px;
    left: 335px;
}

.evaluation-lists {
    background: rgba(135, 210, 85, 0.25);
    position: relative;
    padding: 67px 0 157px;
}

.evaluation-lists h3 {
    margin-bottom: 21px;
}

.evaluation-lists h3 .en {
    margin-bottom: 67px;
}

.evaluation-lists .eva-txt {
    max-width: 930px;
    font-size: 16px;
    line-height: 2.25;
    font-weight: 400;
    margin: 0 auto 0;
}

.evaluation-lists .eva-cont {
    max-width: 1227px;
    height: 220px;
    background: #fff;
    display: flex;
    justify-content: center;
    position: relative;
    margin: 83px auto 0;
}

.evaluation-lists .eva-frame {
    width: 50%;
    max-width: 452px;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 10px 0 0 0;
}

.evaluation-lists .eva-frame:nth-child(2) {
    padding: 10px 0 0 120px;
}

.evaluation-lists .eva-frame .btn-primary {
    margin: 0;
}

.evaluation-lists .eva-frame:first-child:after {
    position: absolute;
    content: "";
    border-right: 2px dotted #87D255;
    height: 177px;
    right: -3px;
    top: 50%;
    transform: translateY(-50%);
}

.evaluation-lists .eva-ttl {
    font-size: 24px;
    letter-spacing: 0.2em;
    margin: 0 0 21px;
}

.evaluation-lists .cur03 {
    background: rgba(135, 210, 85, 0.25);
    top: -150px;
    bottom: auto;
    z-index: -2;
}

.evaluation-lists .curve {
    transform: rotate(180deg);
}

.evaluation-lists .cur03 .curve path {
    fill: #fff;
}

.evaluation-lists .ico11 {
    bottom: -390px;
    left: -55px;
}

/*----- fixed color -----*/
#service01 #top_info {
    background: rgba(229, 70, 120, 0.15);
}

#service01 .under-box {
    background: rgba(229, 70, 120, 0.15);
}

#service01 .curve path {
    fill: rgba(229, 70, 120, 0.15);
}

#service01 h3 .en::before {
    background: url(../images/service01b/h3_ico.svg) no-repeat;
}

#service01 .btn-primary a {
    background: #e54678;
    border-color: #e54678;
}

#service01 .group-tab {
    background: rgba(229, 70, 120, 0.15);
}

#service01 .group-tab .service-tab-btns li::before {
    border-top-color: #e54678;
}

#service01 .group-tab .service-tab-btns li a {
    color: #e54678;
}

#service01 .group-tab .service-tab-btns li.is-active {
    background: #e54678;
}

#service01 #footer .footer-contents {
    background: #e54678;
}

/*----- end -----*/

/*-------------------------------------------------------
service01a
-------------------------------------------------------*/
#service01-feature .ser-container .ico01_s01a {
    top: -30px;
    right: -50px;
}

#service01-feature .ser-container .ico02_s01a {
    top: -20px;
    right: -35px;
}

#service01-feature .ser-container .ico03_s01a {
    top: 50px;
    right: -110px;
}

#service01-feature .ser-container .ico04_s01a {
    bottom: -320px;
    right: 212px;
    z-index: 1;
    animation: aniupdown 1.2s infinite cubic-bezier(0.215, 0.61, 0.355, 1) alternate;
}

#service01 #service01a {
    position: relative;
}

#service01-feature {
    position: relative;
    margin: 142px 0 0;
}

#service01-feature .fea-ico {
    top: 0;
    left: 110px;
}

#service01-feature::before {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(135, 210, 85, 0.20);
    border-radius: 50%;
    top: -177px;
    right: -337px;
    z-index: -2;
    pointer-events: none;
}

#service01-feature::after {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(229, 70, 120, 0.20);
    border-radius: 50%;
    bottom: 210px;
    left: -340px;
    z-index: -2;
    pointer-events: none;
}

.service01a#service01 #service01-feature::before,
.service01a#service01 #service01-feature::after {
    background: rgba(229, 70, 120, 0.15);
}

#service01-feature .fea-ser-list {
    margin: -102px 0 0;
}

#service01-feature .ser-container {
    width: 100%;
    max-width: 1900px;
    height: 800px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: relative;
}

#service01-feature .ser-container.reverse {
    margin: -128px auto -173px;
}

#service01-feature .ser-container:last-child {
    margin: -146px auto 0;
}

#service01-feature .ser-container .ser-frame {
    width: 48%;
    padding: 0 130px 0 0;
    position: relative;
}

#service01-feature .ser-container .ser-frame::before {
    position: absolute;
    content: '';
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 800px;
    height: 800px;
    top: 50%;
    left: -870px;
    transform: translateY(-50%);
    z-index: 1;
}

#service01-feature .ser-container .ser-frame h4 {
    font-size: 38px;
    letter-spacing: 0.2em;
    font-weight: 500;
    margin-bottom: 42px;
}

#service01-feature .ser-container .ser-frame h4 .en {
    display: block;
    font-size: 14px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    margin-bottom: 11px;
}

#service01-feature .ser-container .ser-frame h4 .line {
    letter-spacing: 0.2em;
}

#service01-feature .ser-container.reverse {
    flex-direction: row-reverse;
}

#service01-feature .ser-container.reverse .ser-frame {
    padding: 0 0 0 130px;
}

#service01-feature .ser-container .ser-frame p {
    margin: 0;
}

#service01-feature .ser-container.reverse .ser-frame::before {
    left: auto;
    right: -863px;
    top: 53%;
}

#service01-feature .ser-container:nth-child(1) .ser-frame::before {
    background-image: url(../images/service01/point-img1.png);
}

#service01-feature .ser-container:nth-child(2).reverse .ser-frame::before {
    background-image: url(../images/service01/point-img2.png);
}

#service01-feature .ser-container:nth-child(3) .ser-frame::before {
    background-image: url(../images/service01/point-img3.png);
}

#service01-feature .ser-container:nth-child(3) .ser-frame .ico01 {
    top: 167px;
    right: 10%;
}

#service01-feature .ser-container:nth-child(4) .ser-frame::before {
    background-image: url(../images/service01/point-img4.png);
}

#service01-feature .ser-container:nth-child(5) .ser-frame::before {
    background-image: url(../images/service01/point-img5.png);
}

#service01-feature .ser-container:nth-child(1) .ico07 {
    top: 0;
    right: 150px;
}

#service01-feature .ser-container:nth-child(2).reverse .ico02 {
    top: 550px;
    left: 41vw;
}

#service01-feature .ser-container:nth-child(3) .ico06 {
    bottom: -53px;
    right: 144px;
}

#service-main {
    background: rgba(229, 70, 120, 0.15);
    position: relative;
    padding: 37px 0 195px;
    margin: -22px 0 0;
}

#service-main .cur02 {
    background: rgba(229, 70, 120, 0.15);
    top: -150px;
    bottom: auto;
    z-index: -2;
}

#service-main .curve {
    transform: rotate(180deg);
}

#service-main .cur02 .curve path {
    fill: #fff;
}

#service-main .main-block {
    display: flex;
    justify-content: space-between;
    max-width: 1400px;
    margin: 84px auto 0;
    position: relative;
}

#service-main .main-frame {
    width: calc(50% - 28px);
    background: #fff;
    padding: 51px 42px 66px;
}

#service-main .main-photo {
    width: 100%;
    height: 404px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#service-main .main-photo img {
    max-height: 100%;
    flex-shrink: 0;
}

#service-main .main-ttl {
    font-size: 32px;
    letter-spacing: 0.2em;
    margin: 30px 0 24px;
}

#service-main .btn-primary {
    margin: 36px 0 0;
}

#service-main .main-block .ico01 {
    bottom: -80%;
    left: 40%;
    z-index: -1;
}

#service-main .main-ico {
    top: -36%;
    left: 5%;
}

/*-------------------------------------------------------
service01b
-------------------------------------------------------*/
.service01b#service01 .daily-schedule .ico01_s01b {
    top: -125px;
    right: 367px;
}

.service01b#service01 .daily-schedule .ico02_s01b {
    left: 0;
    bottom: -30px;
}

.service01b#service01 .ser01-flow .ico02 {
    top: 580px;
}

.service01b#service01 .ser01-flow .ico03_s01b {
    top: 130px;
    right: 224px;
    z-index: 1;
    animation: aniupdown 1.2s infinite cubic-bezier(0.215, 0.61, 0.355, 1) alternate;
}

.service01b#service01 .ser01-fee .ico04_s01b {
    top: 390px;
    left: 247px;
}

#service01b .under-box {
    padding: 30px 0 125px;
}

.service01b#service01 .daily-schedule::before,
.service01b#service01 .ser01-flow::before,
.service01b#service01 .ser01-fee::before {
    background: rgba(229, 70, 120, 0.12);
}

.service01b#service01 .daily-schedule .s-container .s-frame .tb-schedule th {
    background: #e54678;
}

.service01b#service01 .daily-schedule .s-container .s-frame .tb-schedule td {
    border-bottom-color: #e54678;
}

#service01 #service01b .daily-schedule .s-container .s-frame::before {
    background-image: url(../images/service01/point-img7.png);
}

.service01b#service01 .ser01-flow,
.service01b#service01 .ser01-flow .cur02,
.service01b#service01 .evaluation-lists,
.service01b#service01 .evaluation-lists .cur03 {
    background: rgba(229, 70, 120, 0.15);
}

.service01b#service01 .ser01-flow .cur02 .curve path,
.service01b#service01 .evaluation-lists .cur03 .curve path {
    fill: #fff;
}

.service01b#service01 .ser01-flow .flow-list .f-number .number {
    background: #e54678;
}

#service01 #service01b .ser01-fee .s-container .s-frame::before {
    background-image: url(../images/service01/point-img6.png);
}

.service01b#service01 .s-container .s-frame .usage-fee-cont li {
    border-bottom-color: #e54678;
}

.service01b#service01 .s-container .s-frame .usage-fee-cont li::before {
    background: url(../images/service01b/ico_check.svg) no-repeat;
}

.service01b#service01 .evaluation-lists .eva-frame:first-child:after {
    border-right-color: #e54678;
}

/*-------------------------------------------------------
service01c
-------------------------------------------------------*/
#service01 #service01c .daily-schedule .ico01_s01c {
    top: -50px;
    right: 230px;
}

#service01 #service01c .ser01-flow .ico02_s01c {
    top: -70px;
    right: 369px;
    z-index: 1;
}

#service01 #service01c .ser01-fee .ico03_s01c {
    top: -60px;
    left: -85px;
    z-index: 1;
}

#service01 #service01c .daily-schedule {
    margin: 143px 0 0;
}

#service01 #service01c .daily-schedule h3 {
    margin-bottom: 35px;
}

.service01c#service01 .daily-schedule::before,
.service01c#service01 .ser01-flow::before,
.service01c#service01 .ser01-fee::before {
    background: rgba(229, 70, 120, 0.15);
}

#service01 #service01c .daily-schedule .s-container .s-frame::before {
    background-image: url(../images/service01/point-img8.png);
    top: -77px;
}

.service01c#service01 .s-container .circle_photo::after {
    top: -57px;
    left: -853px;
    right: auto;
    transform: translateY(0);
}

.service01c#service01 .daily-schedule .s-container .s-frame .tb-schedule th {
    background: #e54678;
}

.service01c#service01 .daily-schedule .s-container .s-frame .tb-schedule td {
    border-bottom-color: #e54678;
}

#service01 #service01c .ser01-flow {
    background: rgba(229, 70, 120, 0.15);
    padding: 11px 2% 88px;
    margin: 158px 0 0;
}

#service01 #service01c .ser01-flow::before {
    top: 66.3%;
}

.service01c#service01 .ser01-flow .cur02,
.service01c#service01 .evaluation-lists .cur03 {
    background: rgba(229, 70, 120, 0.15);
}

.service01c#service01 .ser01-flow .cur02 .curve path,
.service01c#service01 .evaluation-lists .cur03 .curve path {
    fill: #fff;
}

.service01c#service01 .ser01-flow .flow-list .f-number .number {
    background: #e54678;
}

#service01 #service01c .ser01-flow .ico02 {
    top: 390px;
    left: 225px;
}

#service01 #service01c .ser01-flow .ico09 {
    bottom: -50px;
}

#service01 #service01c .ser01-fee::before {
    top: 220px;
}

#service01 #service01c .ser01-fee .s-container .s-frame::before {
    background-image: url(../images/service01/point-img9.png);
}

#service01 #service01c .ser01-fee .s-container .circle_photo::after {
    top: calc(68% + 20px);
    left: auto;
    right: -883px;
    transform: translateY(-50%);
}

.service01c#service01 .s-container .s-frame .usage-fee-cont li {
    border-bottom-color: #e54678;
}

.service01c#service01 .s-container .s-frame .usage-fee-cont li::before {
    background: url(../images/service01c/ico_check.svg) no-repeat;
}

.service01c#service01 .evaluation-lists {
    background: rgba(229, 70, 120, 0.15);
}

.service01c#service01 .evaluation-lists .eva-frame:first-child:after {
    border-right-color: #e54678;
}


/* ------------------------------------------------------
service02
------------------------------------------------------ */
#service02 .group-tab {
    padding: 12px 0 32px;
}

#service02 .group-tab .service-tab-btns {
    width: 100%;
    max-width: 930px;
    display: flex;
    justify-content: center;
    margin: 0 auto;
}

#service02 .group-tab .service-tab-btns li {
    font-weight: bold;
    color: #d71629;
    width: calc((100% - 30px) / 3);
    height: 80px;
    background: #fff;
    border-radius: 5px;
    position: relative;
    cursor: pointer;
    transition: all .35s ease;
}

#service02 .group-tab .service-tab-btns li::before {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #d71629;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    visibility: hidden;
    opacity: 0;
    transition: all .35s ease;
}

#service02 .group-tab .service-tab-btns li:nth-child(2) {
    margin: 0 15px;
}

#service02 .group-tab .service-tab-btns li a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#service02 .group-tab .service-tab-btns li a span {
    font-family: 'Noto Sans JP', 'Noto Sans SC', sans-serif;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.2em;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 114px;
    height: 22px;
    border: 1px solid #274a78;
    border-radius: 11px;
    padding: 0 0 1px;
    margin: 4px 0 0;
}

#service02 .group-tab .service-tab-btns li.is-active {
    background: #d71629;
}

#service02 .group-tab .service-tab-btns li.is-active a {
    color: #fff !important;
}

#service02 .group-tab .service-tab-btns li.is-active a span {
    border-color: #fff;
}

#service02 .group-tab .service-tab-btns li.is-active::before {
    visibility: visible;
    opacity: 1;
}

#service02 .ser-container {
    width: 100%;
    max-width: 1900px;
    height: 800px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 0 auto 50px;
    position: relative;
}

#service02 .ser-container .ser-frame {
    width: 48%;
    padding: 0 130px 0 0;
    position: relative;
}

#service02 .ser-container .ser-frame::before {
    position: absolute;
    content: '';
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 800px;
    height: 800px;
    top: 50%;
    left: -870px;
    transform: translateY(-50%);
    z-index: 1;
}

#service02 .ser-container .ser-frame h4 {
    font-size: 38px;
    letter-spacing: 0.08em;
    font-weight: 500;
    margin-bottom: 42px;
}

#service02 .ser-container .ser-frame h4 .en {
    display: block;
    font-size: 14px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    margin-bottom: 11px;
}

.pages#service02 .under-box {
    padding: 30px 0 77px;
}

.pages#service02 #footer {
    margin-top: 0;
}

.pages#service02 #footer .footer-contents::before {
    display: none;
}

/*----- fixed color -----*/
#service02 #top_info {
    background: rgba(39, 74, 120, 0.15);
}

#service02 .under-box {
    background: rgba(39, 74, 120, 0.15);
}

#service02 h3 .en::before {
    background: url(../images/service02b/h3_ico.svg) no-repeat;
}

#service02 .curve path {
    fill: rgba(39, 74, 120, 0.15);
}

#service02 .btn-primary a {
    background: #274a78;
    border-color: #274a78;
}

#service02 .group-tab {
    background: rgba(39, 74, 120, 0.15);
}

#service02 .group-tab .service-tab-btns li a {
    color: #274a78;
}

#service02 .group-tab .service-tab-btns li::before {
    border-top-color: #274a78;
}

#service02 .group-tab .service-tab-btns li.is-active {
    color: #fff;
    background: #274a78;
}

#service02 #footer .footer-contents {
    background: #274a78;
}

/*----- end -----*/

/* ------------------------------------------------------
service02a
------------------------------------------------------ */
#service02 #service-introduce #service-features .ico02_s02a {
    top: 10px;
    left: 122px;
}

#service02 #about-service .ser-container:nth-child(1) .ico04_s02a {
    top: -135px;
    right: 0;
}

#service02 #about-service .ser-container:nth-child(3) .ico03_s02a {
    bottom: -80px;
    right: 101px;
    z-index: 1;
}

/* ----- ----- */
#service02 #service-introduce {
    position: relative;
}

#service02 #service-introduce::before,
#service02 #service-introduce::after {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(39, 74, 120, 0.12);
    border-radius: 50%;
    z-index: -1;
    pointer-events: none;
}

#service02 #service-introduce::before {
    top: -80px;
    right: -337px;
}

#service02 #service-introduce::after {
    bottom: -695px;
    right: -337px;
}

#service02 #service-introduce #service-features {
    padding: 128px 0 127px;
    position: relative;
}

#service02 #service-introduce #service-features ul {
    width: 100%;
    max-width: 1500px;
    display: flex;
    margin: 0 auto;
    position: relative;
}

#service02 #service-introduce #service-features ul li {
    width: calc((100% - 40px) / 3);
    background: #fff;
    text-align: center;
    padding: 73px 50px 72px;
}

#service02 #service-introduce #service-features ul li:nth-child(2) {
    margin: 0 20px;
}

#service02 #service-introduce #service-features ul li h4 {
    font-family: fot-tsukuardgothic-std, sans-serif;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #274A78;
    margin-bottom: 29px;
}

#service02 #service-introduce #service-features ul li .ser-features-image {
    line-height: 0;
    margin-bottom: 50px;
}

#service02 #service-introduce #service-features ul li .service-txt {
    text-align: justify;
}

#service02 #about-service {
    position: relative;
}

#service02 #about-service::before {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(39, 74, 120, 0.12);
    border-radius: 50%;
    top: 57.5%;
    left: -340px;
    transform: translateY(-50%);
    z-index: -1;
    pointer-events: none;
}

#service02 #about-service .about-ser-list {
    margin: -58px 0 0;
}

#service02 #about-service .ser-container.reverse {
    flex-direction: row-reverse;
    margin: -208px 0 -161px;
}

#service02 #about-service .ser-container.reverse .ser-frame {
    padding: 0 0 0 130px;
}

#service02 #about-service .ser-container.reverse .ser-frame::before {
    left: auto;
    right: -870px;
}

#service02 #about-service .ser-container:nth-child(1) .ser-frame::before {
    background-image: url(../images/service02/service02_img01.png);
}

#service02 #about-service .ser-container:nth-child(2).reverse .ser-frame::before {
    background-image: url(../images/service02/service02_img02.png);
}

#service02 #about-service .ser-container:nth-child(3) .ser-frame::before {
    background-image: url(../images/service02/service02_img03.png);
}

#service02 #about-service .ser-container:nth-child(2).reverse .ico02 {
    top: 550px;
    left: 41vw;
}

#service02 #service-chooseus {
    background: rgba(39, 74, 120, 0.15);
    padding: 26px 0 168px;
    margin-top: -33px;
    position: relative;
}

#service02 #service-chooseus .cur02 {
    background: rgba(39, 74, 120, 0.15);
    top: -150px;
    bottom: auto;
    z-index: -2;
}

#service02 #service-chooseus .curve {
    transform: rotate(180deg);
}

#service02 #service-chooseus .curve path {
    fill: #fff;
}

#service02 #service-chooseus h3 {
    margin-bottom: 97px;
}

#service02 #service-chooseus ul {
    width: 100%;
    max-width: 1500px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    position: relative;
}

#service02 #service-chooseus ul li {
    width: calc((100% - 30px) / 3);
    height: 490px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border-radius: 50%;
    background: #fff;
    padding: 137px 0 0;
    margin: 0 0 27px;
    position: relative;
}

#service02 #service-chooseus ul li::before {
    position: absolute;
    content: '';
    width: calc(100% - 30px);
    height: calc(100% - 30px);
    border-radius: 50%;
    border: 2px dotted #274A78;
    top: 15px;
    left: 15px;
    pointer-events: none;
}

#service02 #service-chooseus ul li:nth-child(2),
#service02 #service-chooseus ul li:nth-child(5) {
    margin: 0 15px 27px;
}

#service02 #service-chooseus ul li h4 {
    font-size: 32px;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-bottom: 18px;
    position: relative;
    z-index: 1;
}

#service02 #service-chooseus ul li h4 .en {
    display: block;
    font-size: 20px;
    letter-spacing: 0.25em;
    color: #274A78;
    text-transform: uppercase;
    margin-bottom: 17px;
}

#service02 #service-chooseus ul li h4 .en span {
    font-weight: bold;
}

#service02 #service-chooseus ul li .service-txt {
    padding: 0 70px;
}

/* ------------------------------------------------------
service02b
------------------------------------------------------ */
.service02b#service02 #service-visiting .ser-container .ico01_s02b {
    top: -90px;
    right: 190px;
    z-index: -1;
}

.service02b#service02 #service-howtouse .ico02_s02b {
    top: 80px;
    right: 298px;
}

/* ----- ----- */
#service02 #service-target {
    padding: 128px 0 0;
    position: relative;
}

#service02 #service-target::before,
#service02 #service-target::after {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(39, 74, 120, 0.12);
    border-radius: 50%;
    z-index: -1;
    pointer-events: none;
}

#service02 #service-target::before {
    top: -55px;
    right: -337px;
}

#service02 #service-target::after {
    bottom: -1100px;
    right: -337px;
}

#service02 #service-symptoms {
    padding: 0 0 184px;
    position: relative;
}

#service02 #service-symptoms .inner {
    max-width: 1230px;
}

#service02 #service-symptoms h3 {
    margin-bottom: 95px;
}

#service02 #service-symptoms ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background: #fff;
    padding: 68px 65px;
    margin-bottom: 68px;
    position: relative;
}

#service02 #service-symptoms ul::before {
    position: absolute;
    content: '';
    height: 339px;
    border-right: 2px dotted #274a78;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#service02 #service-symptoms ul li {
    width: 48.5%;
    text-align: center;
    border-bottom: 2px dotted #274a78;
    padding: 32px 0;
}

#service02 #service-symptoms ul li:nth-child(3),
#service02 #service-symptoms ul li:last-child {
    border-bottom: 0;
}

#service02 #service-symptoms ul li h4 {
    font-family: fot-tsukuardgothic-std, sans-serif;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #274a78;
    margin-bottom: 14px;
}

#service02 #service-symptoms ul li h4 i {
    display: inline-block;
    background: url(../images/service02b/ico_check.svg) no-repeat;
    background-size: 100% auto;
    width: 27px;
    height: 18px;
    margin-right: 11px;
}

#service02 #service-symptoms dl {
    display: flex;
    justify-content: center;
    align-items: center;
}

#service02 #service-symptoms dl dt {
    font-size: 18px;
    line-height: 2.23;
    text-align: center;
}

#service02 #service-symptoms dl dd {
    font-size: 16px;
    line-height: 2.25;
    color: #274a78;
    text-align: justify;
    padding-left: 41px;
}

#service02 #service-symptoms .ico02 {
    top: 200px;
    left: 145px;
}

#service02 #service-visiting .ser-container {
    margin: -122px auto 0;
}

#service02 #service-visiting .ser-container .ser-frame {
    padding: 0 80px 0 0;
}

#service02 #service-visiting .ser-container .ser-frame h4 {
    margin-bottom: 38px;
}

#service02 #service-visiting .ser-container .ser-frame h4 .lines {
    letter-spacing: 0.13em;
}

#service02 #service-visiting .ser-container .ser-frame .service-txt {
    line-height: 2.1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 0;
}

#service02 #service-visiting .ser-container .ser-frame .service-txt span {
    font-family: fot-tsukuardgothic-std, sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #274a78;
}

#service02 #service-visiting .ser-container .ser-frame::before {
    background-image: url(../images/service02/service_visiting_img01.png);
}

#service02 #service-howtouse {
    background: rgba(39, 74, 120, 0.15);
    padding: 0 0 196px;
    position: relative;
}

#service02 #service-howtouse::before {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(39, 74, 120, 0.12);
    border-radius: 50%;
    top: -528px;
    left: -340px;
    z-index: -1;
    pointer-events: none;
}

#service02 #service-howtouse .cur02 {
    background: rgba(39, 74, 120, 0.15);
    top: -150px;
    bottom: auto;
    z-index: -2;
}

#service02 #service-howtouse .curve {
    transform: rotate(180deg);
}

#service02 #service-howtouse .curve path {
    fill: #fff;
}

#service02 #service-howtouse h3 {
    margin-bottom: 101px;
}

#service02 #service-howtouse .howtouse-list {
    width: 100%;
    max-width: 1230px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

#service02 #service-howtouse .howtouse-list dl {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 10px;
    padding: 49px 50px 44px 67px;
    margin-bottom: 63px;
    position: relative;
}

#service02 #service-howtouse .howtouse-list dl:not(:last-child)::before {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-top: 38px solid #fff;
    bottom: -38px;
    left: 91px;
}

#service02 #service-howtouse .howtouse-list dl:last-child {
    margin-bottom: 0;
}

#service02 #service-howtouse .howtouse-list dl dt > span {
    letter-spacing: 0.25em;
    color: #fff;
    width: 150px;
    height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #274a78;
}

#service02 #service-howtouse .howtouse-list dl dt > span span {
    font-weight: 700;
    margin-left: 8px;
}

#service02 #service-howtouse .howtouse-list dl dd {
    padding-left: 63px;
    flex: 1;
}

#service02 #service-howtouse .howtouse-list dl dd h4 {
    font-size: 32px;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-bottom: 17px;
    position: relative;
    z-index: 1;
}

#service02 #service-howtouse .howtouse-list dl dd p {
    text-align: justify;
}

/* ------------------------------------------------------
service02c
------------------------------------------------------ */
.service02c#service02 #service-qa .ico01_s02c {
    top: 30px;
    left: 136px;
}

.service02c#service02 #service-pricelist .ico02_s02c {
    top: -48px;
    right: 135px;
}

/* ----- service-qa ----- */
#service02 #service-qa {
    background: rgba(39, 74, 120, 0.15);
    padding: 29px 0 53px;
    position: relative;
}

#service02 #service-qa::before {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(39, 74, 120, 0.12);
    border-radius: 50%;
    top: 272px;
    right: -337px;
    z-index: -1;
    pointer-events: none;
}

#service02 #service-qa h3 {
    margin-bottom: 116px;
}

#service02 #service-qa h3 .en {
    margin-bottom: 65px;
}

#service02 #service-qa .qa-list {
    width: 100%;
    max-width: 1230px;
    margin: 0 auto;
    position: relative;
}

#service02 #service-qa .circle-bg {
    position: absolute;
    width: 1450px;
    height: 1450px;
    background: rgba(39, 74, 120, 0.12);
    border-radius: 50%;
    bottom: -27%;
    left: 18%;
    transform: translate(-50%, 0);
    transform-origin: center;
    pointer-events: none;
    z-index: -1;
}

#service02 #service-qa .qa-list dl {
    width: 100%;
    background: #fff;
    border-radius: 10px;
    padding: 40px 90px;
    margin-bottom: 50px;
    position: relative;
}

#service02 #service-qa .qa-list dl .tag {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0;
    color: #274A78;
    text-transform: uppercase;
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    border: 1px solid #274A78;
    margin-right: 60px;
    flex-shrink: 0;
}

#service02 #service-qa .qa-list dl dt {
    font-family: fot-tsukuardgothic-std, sans-serif;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #274A78;
    display: flex;
    align-items: center;
    margin-bottom: 17px;
}

#service02 #service-qa .qa-list dl dt .tag {
    color: #fff;
    background: #274A78;
}

#service02 #service-qa .qa-list dl dd {
    display: flex;
}

#service02 #service-qa .qa-list dl dd .qa-ans {
    width: 100%;
}

#service02 #service-qa .qa-list .circle {
    top: 25%;
    left: -52px;
    z-index: -1;
    animation: circle 50s forwards linear infinite;
}

#service02 #service-qa .qa-list dl:nth-child(6n+6) .circle {
    top: 30%;
    left: auto;
    right: -75px;
}

#service02 #service-qa .curve {
    transform: rotate(180deg);
}

#service02 #service-pricelist {
    padding: 128px 0 178px;
    position: relative;
}

#service02 #service-pricelist::before {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(39, 74, 120, 0.12);
    border-radius: 50%;
    bottom: -1064px;
    right: -337px;
    z-index: -1;
    pointer-events: none;
}

#service02 #service-pricelist .inner {
    max-width: 1230px;
}

#service02 #service-pricelist h3 {
    margin-bottom: 96px;
}

#service02 #service-pricelist .price-contents {
    display: flex;
    align-items: center;
    margin-bottom: 47px;
}

#service02 #service-pricelist .price-contents .tb-price {
    max-width: 883px;
    border-collapse: collapse;
    border-spacing: 0;
    background: #fff;
    margin: 0 40px 0 0;
    flex: 1;
}

#service02 #service-pricelist .price-contents .tb-price th,
#service02 #service-pricelist .price-contents .tb-price td {
    letter-spacing: 0.1em;
    text-align: center;
    padding: 30px 10px;
}

#service02 #service-pricelist .price-contents .tb-price th {
    color: #fff;
    background: #274A78;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
}

#service02 #service-pricelist .price-contents .tb-price th:first-child {
    width: 9.4%;
    border-right: 0;
}

#service02 #service-pricelist .price-contents .tb-price td {
    border-bottom: 2px solid #274A78;
    border-right: 2px solid #274A78;
}

#service02 #service-pricelist .price-contents .tb-price th:last-child,
#service02 #service-pricelist .price-contents .tb-price td:last-child {
    border-right: 0;
}

#service02 #service-pricelist .price-contents .tb-price tr:first-child th:not(:first-child) {
    border-bottom: 2px solid #274A78;
}

#service02 #service-pricelist .price-contents .tb-price tr:first-child th:first-child {
    border-right: 2px solid #fff;
}

#service02 #service-pricelist .price-contents .tb-price tr:last-child th,
#service02 #service-pricelist .price-contents .tb-price tr:last-child td {
    border-bottom: 0;
}

#service02 #service-pricelist .price-contents dl {
    max-width: 281px;
}

#service02 #service-pricelist .price-contents dl dd {
    display: flex;
    align-items: center;
}

#service02 #service-pricelist .price-contents dl dd:not(:last-child) {
    margin-bottom: 18px;
}

#service02 #service-pricelist .price-contents dl dd span {
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #fff;
    width: 100px;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #274A78;
    margin-right: 17px;
    flex-shrink: 0;
}

#service02 #service-pricelist .price-contents dl dd p {
    margin-bottom: 0;
}

#service02 #service-pricelist .notes {
    font-size: 13px;
    font-weight: bold;
    text-align: center;
}

/* ------------------------------------------------------
news
------------------------------------------------------ */
.pages#news #top_info {
    background: rgba(240, 128, 128, 0.15);
}

.pages#news h3 .en::before {
    background: url(../images/news/h3_ico.svg) no-repeat;
}

.pages#news .curve path {
    fill: rgba(240, 128, 128, 0.15);
}

.pages#news .btn-primary a {
    background: #F08080;
    border-color: #F08080;
}

.pages#news #footer .footer-contents {
    background: #F08080;
}

.pages#news .news_ico01 {
    top: 150px;
    left: 60px;
    z-index: -1;
}

.pages#news .news_ico02 {
    top: 150px;
    right: 60px;
    z-index: -1;
}

#news-info {
    background: rgba(240, 128, 128, 0.15);
    padding: 30px 0 101px;
    position: relative;
}

#news-info::before {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(240, 128, 128, 0.12);
    border-radius: 50%;
    top: 390px;
    right: -337px;
    z-index: -1;
    pointer-events: none;
}

#content #news-info .inner {
    max-width: 1228px;
}

#news-info h3 {
    margin-bottom: 53px;
}

#news-info #news-filter {
    margin-bottom: 94px;
}

#news-info #news-filter .filter-list {
    width: 100%;
    max-width: 940px;
    display: flex;
    margin: 0 auto;
}

#news-info #news-filter .filter-list li {
    width: calc((100% - 20px) / 2);
}

#news-info #news-filter .filter-list li:first-child {
    margin-right: 20px;
}

#news-info #news-filter .filter-list li .archive_select {
    width: 100%;
    height: 40px;
    display: flex;
    overflow: hidden;
    position: relative;
}

#news-info #news-filter .filter-list li .archive_select::before,
#news-info #news-filter .filter-list li .archive_select::after {
    position: absolute;
    content: "";
}

#news-info #news-filter .filter-list li .archive_select::before {
    width: 40px;
    height: 40px;
    background: #F08080;
    top: 0;
    right: 0;
    pointer-events: none;
}

#news-info #news-filter .filter-list li .archive_select::after {
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    top: 48%;
    right: 12px;
    transform: translate(-50%, -50%) rotate(45deg);
    pointer-events: none;
}

#news-info #news-filter .filter-list li .archive_select select {
    width: 100%;
    display: block;
    font-size: 13px;
    line-height: 1.8;
    font-weight: 400;
    color: #B3B3B3;
    white-space: normal;
    border: 1px solid #999;
    background: #fff;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    padding: 0 42px 0 15px;
}

#news .news-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 84px;
}

#news .news-list dl {
    width: calc((100% - 52px) / 2);
    background: #fff;
    padding: 41px 44px 63px;
    margin: 0 0 54px;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
}

#news .news-list dl:nth-child(8n+8)::before,
#news .news-list dl:last-child::before {
    position: absolute;
    content: '';
    background: url(../images/news/ico_circle.svg) no-repeat;
    background-size: 100% auto;
    width: 154px;
    height: 154px;
    bottom: -75px;
    right: -65px;
    z-index: -1;
    animation: circle 50s forwards linear infinite;
}

#news .news-list dl dt {
    width: 100%;
    margin-bottom: 21px;
    position: relative;
}

#news .news-list dl dt a {
    width: 100%;
    height: 218px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

#news .news-list dl dt a img {
    width: 100%;
    max-height: 100%;
    flex-shrink: 0;
    object-fit: cover;
}

#news .news-list dl dt .n-cate {
    position: absolute;
    top: -52px;
    left: -33px;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #fff;
    width: 110px;
    height: 110px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #F08080;
    padding: 0 5px;
}

#news .news-list dl dd .n-date {
    font-size: 14px;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
}

#news .news-list dl dd h4 {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.155em;
    margin-bottom: 13px;
}

#news .news-list dl dd .n-contents p {
    line-height: 2.4;
}

#news-info .circle-bg {
    position: absolute;
    width: 1450px;
    height: 1450px;
    background: rgba(240, 128, 128, 0.12);
    border-radius: 50%;
    bottom: -15.5%;
    left: 25%;
    transform: translate(-50%, 0);
    transform-origin: center;
    pointer-events: none;
    z-index: -1;
}

#news .wp-pagenavi {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
}

#news .wp-pagenavi span,
#news .wp-pagenavi a {
    font-size: 17px;
    font-weight: bold;
    border: 0;
    margin: 0 10px 10px;
    position: relative;
    transition: 0.35s ease;
    pointer-events: none;
}

#news .wp-pagenavi .current {
    color: #fff;
    width: 41px;
    height: 41px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #F08080;
    position: relative;
}

#news .wp-pagenavi a.previouspostslink,
#news .wp-pagenavi a.nextpostslink {
    color: transparent;
    width: 104px;
    height: 50px;
    background: #F08080;
    border: 2px solid #F08080;
    padding: 0 0;
    pointer-events: auto;
}

#news .wp-pagenavi a.previouspostslink {
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
    margin-right: 53px;
}

#news .wp-pagenavi a.nextpostslink {
    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px;
    margin-left: 53px;
}

#news .wp-pagenavi a.nextpostslink::before,
#news .wp-pagenavi a.previouspostslink::before {
    position: absolute;
    content: '';
    width: 14px;
    height: 14px;
    top: 50%;
    left: 50%;
    transition: 0.35s ease;
    border-top: 3px solid #fff;
}

#news .wp-pagenavi a.previouspostslink::before {
    border-left: 3px solid #fff;
    transform: translate(-50%, -50%) rotate(-45deg);
}

#news .wp-pagenavi a.nextpostslink::before {
    border-right: 3px solid #fff;
    transform: translate(-50%, -50%) rotate(45deg);
}

#news .wp-pagenavi .pages,
#news .wp-pagenavi .first,
#news .wp-pagenavi .last {
    display: none;
}

/*
#news-info .ico01 {
    top: 110px;
    left: 162px;
    z-index: -1;
}
*/

#news-info .ico02 {
    top: 52%;
    left: 40.5vw;
    z-index: -1;
}

/*----- news-detail -----*/
.news-detail #news-info {
    padding: 30px 0 0;
}

.news-detail #news-info h3 {
    margin-bottom: 108px;
}

.news-detail #content .news-contents .inner {
    background: #fff;
    padding: 114px 80px 105px;
    margin-bottom: 90px;
}

.news-contents .news-title {
    margin-bottom: 44px;
    position: relative;
    z-index: 1;
}

.news-contents .news-title dt {
    font-size: 14px;
    letter-spacing: 0.1em;
    margin-bottom: 30px;
    position: relative;
}

.news-contents .news-title dt .n-cate {
    position: absolute;
    top: -60px;
    right: -48px;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #fff;
    width: 110px;
    height: 110px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #F08080;
    padding: 0 5px;
}

.news-contents .news-title dd {
    font-size: 38px;
    letter-spacing: 0.2em;
}

.news-contents .news-title dd .lines {
    width: 100%;
    background-image: linear-gradient(to right, transparent 50%, #F08080 50%);
    background-size: 200% 42%;
    background-position: -100% 90%;
    background-repeat: repeat-x;
    transition: background-position 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    position: relative;
    z-index: 1;
}

.news-contents .contents-detail p {
    margin-bottom: 50px;
}

.news-contents .contents-detail p:last-child {
    margin-bottom: 0;
}

.news-contents .section {
    padding-bottom: 30px;
}

.news-contents .news-back {
    width: 100%;
    max-width: 1228px;
    display: flex;
    margin: 0 auto;
}

.news-contents .news-back li.btn-primary {
    max-width: 100%;
    margin: 0 0;
}

.news-contents .news-back li.btn-primary a {
    width: 324px;
}

.news-contents .news-back li.news-btn {
    flex-shrink: 0;
}

.news-contents .news-back li.news-btn a {
    display: block;
    width: 104px;
    height: 50px;
    background: #87D255;
    border: 2px solid #87D255;
    position: relative;
}

.news-contents .news-back li.news-btn a::before {
    position: absolute;
    content: '';
    width: 14px;
    height: 14px;
    top: 50%;
    left: 50%;
    transition: 0.35s ease;
    border-top: 3px solid #fff;
}

.news-contents .news-back li.prev a {
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
}

.news-contents .news-back li.prev a::before {
    border-left: 3px solid #fff;
    transform: translate(-50%, -50%) rotate(-45deg);
}

.news-contents .news-back li.next {
    margin-left: 44px;
}

.news-contents .news-back li.next a {
    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px;
}

.news-contents .news-back li.next a::before {
    border-right: 3px solid #fff;
    transform: translate(-50%, -50%) rotate(45deg);
}

#news-info .curve {
    transform: rotate(180deg);
}

#content #news-related .inner {
    max-width: 1228px;
}

#news-related {
    padding: 160px 0 103px;
}

#news-related h4 {
    font-size: 30px;
    letter-spacing: 0.1em;
    color: #F08080;
    margin-bottom: 55px;
}

#news #news-related .news-list {
    margin-bottom: 0;
}

#news #news-related .news-list dl {
    padding: 41px 44px 25px;
}

#news #news-related .news-list dl:last-child::before {
    display: none;
}

#news #news-related .news-list dl dd h4 {
    color: #504646;
}

.news-detail #footer .footer-contents::before {
    display: block !important;
    background: rgba(240, 128, 128, 0.12);
    bottom: -170px;
}

#news #footer {
    margin-top: 0;
}

#news #footer .footer-contents::before {
    display: none;
}

/*------------------------
staff
------------------------*/
.pages#staff h3 .en::before {
    background: url(../images/staff/h3_ico.svg) no-repeat;
}

.pages#staff .curve path {
    fill: rgba(153, 50, 204, 0.15);
}

.pages#staff .btn-primary a {
    background: #9932cc;
    border-color: #9932cc;
}

.pages#staff #footer .footer-contents {
    background: #9932cc;
}

.pages#staff #top_info {
    background: none;
}

#staff .list-staff {
    width: 100%;
    max-width: 1280px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

#staff .list-staff li {
    width: calc((100% - 80px) / 3);
    margin: 0 40px 80px 0;
    text-align: center;
}

#staff .list-staff li a {
    display: block;
    width: 100%;
    cursor: pointer;
    transition: all 0.3s ease;
}

#staff .list-staff .st-photo {
    width: 100%;
    height: 400px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
    overflow: hidden;
}

#staff .list-staff .st-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    flex-shrink: 0;
}

#staff .list-staff .ro-name {
    color: #9932cc;
    font-size: 17px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin: 0 0 1px;
}

#staff .list-staff .jp-name {
    font-size: 32px;
    font-weight: 500;
    letter-spacing: 0.1em;
}

/*
#staff .list-staff .jp-name .lines {
    background-position: -100% 100%;
    background-size: 200% 50%;
}
*/

#staff .list-staff .st-txt {
    line-height: 2.27;
    font-weight: 400;
    margin: 22px 0 0;
}

#staff .list-staff .st-info {
    display: none;
}

.vbox-open {
    overflow: auto !important;
}

#staff .vbox-overlay {
    background: rgba(255, 255, 255, 0.6) !important;
}

#staff .vbox-figlio {
    box-shadow: none;
}

#staff .vbox-inline {
    max-width: 950px;
    width: 80%;
    height: auto;
    border-radius: 10px;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
    position: relative;
    padding: 120px 30px 100px !important;
}

#staff .vbox-close.close {
    background: url(../images/staff/close-ico.png) no-repeat center !important;
    background-size: 100% auto !important;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    position: absolute;
    top: 39px;
    right: 45px;
}

#staff .vbox-next,
#staff .vbox-prev {
    position: absolute;
    top: calc(50% + 275px);
    left: calc(50% + 416px);
    transform: translate(-50%, -50%);
    width: 15px;
    height: 20px;
}

#staff .vbox-prev {
    left: calc(50% + 369px);
}

#staff .vbox-next span,
#staff .vbox-prev span {
    display: none;
}

#staff .vbox-next::before,
#staff .vbox-prev::before {
    content: "";
    width: 15px;
    height: 20px;
    position: absolute;
    top: 0;
    left: 0;
}

#staff .vbox-next::before {
    background: url(../images/staff/n-ico.png)no-repeat center;
    background-size: contain;
}

#staff .vbox-prev::before {
    background: url(../images/staff/p-ico.png)no-repeat center;
    background-size: contain;
}

.staff-details {
    max-width: 950px;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.staff-details .st-photo1 {
    width: 400px;
    height: 400px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #fff;
    overflow: hidden;
}

.staff-details .st-photo1 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    flex-shrink: 0;
}

.staff-details .st-cont {
    max-width: 300px;
    margin-left: 100px;
}

.staff-details .st-cont p:last-child {
    margin-bottom: 0;
}

.staff-details .st-txt {
    color: #fff;
    font-weight: 400;
    margin-bottom: 3px;
}

.staff-details .st-ttl {
    font-size: 32px;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.staff-details .ro-name {
    color: #fff;
    font-size: 17px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin: 0 0 15px;
}

.staff-details .st-interests .interest {
    color: #fff;
    line-height: 1.75;
    font-weight: 400;
    margin: 0 0 8px;
}

.staff-details .st-interests .int-ttl {
    font-weight: 700;
}

#staff-child {
    background: rgba(153, 50, 204, 0.15);
    position: relative;
    padding: 25px 0 9px;
}

#staff-child .ico01 {
    top: 91px;
    right: 117px;
}

#staff .list-staff {
    margin: 84px auto 0;
}

#staff-child .curve {
    transform: rotate(180deg);
}

#staff-child .circle-bg,
#staff-body .circle-bg {
    position: absolute;
    width: 1450px;
    height: 1450px;
    background: rgba(153, 50, 204, 0.12);
    border-radius: 50%;
    transform-origin: center;
    pointer-events: none;
    z-index: -1;
}

#staff-child .circle-bg {
    bottom: -260px;
    right: -337px;
}

#staff-body .circle-bg {
    top: 110px;
    left: -340px;
}

#staff-body {
    position: relative;
    /*    margin: 181px 0 217px;*/
    margin: 25px 0 217px;
}

#staff-body .ico02 {
    bottom: -800px;
    right: 117px;
}

.pages#staff #footer {
    margin-top: 0;
}

.pages#staff #footer .footer-contents::before {
    background: rgba(153, 50, 204, 0.12);
    bottom: auto;
    left: auto;
    top: -780px;
    right: -337px;
}

/*------------------------------------
contact
------------------------------------*/
.pages#contact #top_info {
    background: rgba(0, 175, 204, 0.15);
}

.pages#contact .under-box {
    background: rgba(0, 175, 204, 0.15);
    padding: 38px 0 62px;
}

.pages#contact h3 .en::before {
    background: url(../images/contact/h3_ico.svg) no-repeat;
}

.pages#contact .curve path {
    fill: rgba(0, 175, 204, 0.15);
}

.pages#contact .btn-primary a {
    background: #00afcc;
    border-color: #00afcc;
}

.pages#contact .contact_ico01 {
    top: 235px;
    right: 250px;
}

.pages#contact .contact_ico02 {
    top: -25px;
    left: 168px;
}

.pages#contact .contact_ico03 {
    bottom: -30px;
    left: 125px;
}

#contact .under-box-txt {
    text-align: center;
    font-size: 18px;
}

#box-contact {
    position: relative;
    margin: 0 auto;
    padding: 180px 0 0;
}

#box-contact::before {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(0, 175, 204, 0.12);
    border-radius: 50%;
    top: -50px;
    right: -140px;
    z-index: -1;
    pointer-events: none;
}

#box-contact .contact-form {
    max-width: 1228px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

#box-contact .contact-form th,
#box-contact .contact-form td {
    border-bottom-color: #00afcc;
}

#box-contact .contact-form th {
    color: #504646;
    font-weight: 300;
    width: 26.3%;
    vertical-align: middle;
    padding-left: 118px;
}

#box-contact .contact-form td {
    padding: 26px 115px 27px 0;
}

#box-contact .contact-form .required {
    color: #F93D3D;
}

#box-contact .contact-form input {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 16px;
    width: 100%;
    height: 65px;
    color: #504646;
    border: none;
    background: #fff;
    padding: 0 15px;
}

#box-contact .contact-form .radio-gr {
    display: flex;
    flex-wrap: wrap;
    padding: 41px 115px 17px 0;
}

#box-contact .contact-form .radio-gr .f-radio {
    margin: 0 44px 20px 0;
}

#box-contact .contact-form .radio-gr span {
    display: inline-block;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.9;
    position: relative;
    top: -6px;
    margin: 0 24px 5px 5px;
    cursor: pointer;
}

#box-contact .contact-form input[type="radio"] {
    width: 29px;
    height: 29px;
    opacity: 0;
    cursor: pointer;
}

#box-contact .contact-form input[type="radio"] + span::before {
    content: "";
    width: 29px;
    height: 29px;
    background: #fff;
    border: 1px solid #fff;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: -49px;
    pointer-events: none;
}

#box-contact .contact-form input[type="radio"]:checked + span::before {
    border: 1px solid #00afcc;
}

#box-contact .contact-form input[type="radio"]:checked + span::after {
    content: "";
    width: 15px;
    height: 15px;
    background: #00afcc;
    border-radius: 50%;
    position: absolute;
    top: 7px;
    left: -42px;
    pointer-events: none;
}

#box-contact .contact-form .f-textarea th {
    vertical-align: top;
    border: none;
    padding: 44px 0 0 118px;
}

#box-contact .contact-form .f-textarea td {
    border: none;
}

#box-contact .contact-form textarea {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 16px;
    width: 100%;
    height: 184px;
    border: none;
    resize: none;
    color: #504646;
    padding: 15px;
}

#box-contact .contact-form tr:last-child td {
    max-width: 782px;
    display: flex;
    padding: 20px 0;
    justify-content: space-between;
}

#box-contact .contact-form tr:last-child th {
    padding: 0;
}

#box-contact .contact-form input[type="checkbox"] {
    width: 23px;
    height: 23px;
    border: 1px solid #87D255;
}

#box-contact .mw_wp_form .error {
    padding: 8px 0 0;
}

#box-contact .contact-form .btn-submit {
    width: 100%;
    max-width: 324px;
    height: 50px;
    background: #00afcc;
    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px;
    border: 2px solid #00afcc;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1;
    transition: 0.35s ease;
    top: -8px;
    cursor: pointer;
    padding: 0 0 0 25px;
}

#box-contact .contact-form .btn-submit .ib-btn {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    cursor: pointer;
}

#box-contact .contact-form .btn-submit input[type="submit"] {
    font-family: 'Noto Sans JP', 'Noto Sans SC', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: #fff;
    width: auto;
    height: auto;
    background: none;
    padding: 0 0 0 22px;
    transition: 0.35s ease;
    cursor: pointer;
}

#box-contact .contact-form .btn-submit i {
    display: inline-block;
    width: 84px;
    height: 6px;
    position: relative;
    overflow: hidden;
    transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

#box-contact .contact-form .btn-submit i::before {
    position: absolute;
    content: '';
    background-image: url(../images/common/ico_wave_btn.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 128px;
    height: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.accept_box {
    position: relative;
}

.accept_box .mwform-checkbox-field label {
    font-size: 13px;
    font-weight: 300;
    letter-spacing: 0.05em;
    cursor: pointer;
    position: relative;
    top: 4px;
}

.accept_box .required {
    font-size: 13px;
    position: relative;
    top: 4px;
    left: -4px;
}

.accept_box label::before {
    position: absolute;
    content: '';
    width: 218px;
    height: 1px;
    background: #4D4D4D;
    bottom: -5px;
    right: -11px;
}

.accept_box [type="checkbox"] {
    position: absolute;
    opacity: 0;
}

.accept_box [type="checkbox"] + span {
    position: relative;
    cursor: pointer;
    padding: 0;
}

.accept_box [type="checkbox"] + span::before {
    display: inline-block;
    content: '';
    vertical-align: text-top;
    width: 23px;
    height: 23px;
    background: #fff;
    border: 1px solid #00afcc;
    margin-right: 15px;
    position: relative;
    top: 1px;
}

.accept_box [type="checkbox"]:checked + span::before {
    background: #00afcc;
}

.accept_box [type="checkbox"]:checked + span::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 12px;
    background: #fff;
    width: 2px;
    height: 2px;
    box-shadow: 2px 0 0 #fff, 4px 0 0 #fff, 4px -2px 0 #fff, 4px -4px 0 #fff, 4px -6px 0 #fff, 4px -8px 0 #fff;
    transform: rotate(45deg);
}

#box-contact .mw_wp_form_confirm .radio-gr {
    padding: 20px 115px 17px 0;
}

#box-contact .mw_wp_form_confirm .f-textarea th {
    padding: 23px 0 0 118px;
}

#box-contact .mw_wp_form_confirm .contact-form tr:last-child td {
    justify-content: center;
}

#box-contact .mw_wp_form_confirm .accept_box {
    display: none;
}

#box-contact .cont_thank_msg h4 {
    font-size: 38px;
    letter-spacing: 0.08em;
    font-weight: 500;
    text-align: center;
    margin-bottom: 35px;
}

#box-contact .cont_thank_msg .thank-txt {
    max-width: 980px;
    text-align: center;
    margin: 0 auto 50px;
}

#box-contact .cont_thank_msg .btn-primary {
    font-size: 15px;
    font-weight: 500;
}

#box-contact #light_box {
    display: none;
}

#box-contact #light_box.vbox-inline {
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 9999;
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(255, 255, 255, 0.6);
    overflow: hidden;
}

#box-contact .modal {
    display: block;
    width: 100%;
    max-width: 575px;
    height: auto;
    background: #00afcc;
    border-radius: 10px;
    position: relative;
    padding: 106px 70px 71px;
}

#box-contact .vbox-inline h4 {
    font-size: 32px;
    letter-spacing: 0.1em;
    font-weight: 500;
    color: #fff;
    text-align: center;
    margin-bottom: 40px;
}

#box-contact .vbox-inline .l-txt {
    max-width: 380px;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 2.25;
    color: #fff;
    text-align: center;
    margin: 0 auto 47px;
}

#box-contact .vbox-inline .close {
    line-height: 0;
    width: 20px;
    height: 20px;
    margin: 0 auto;
    cursor: pointer;
}

#box-contact .f-ico1 {
    top: 165px;
    right: 157px;
}

.pages#contact #footer .footer-contents {
    background: #00afcc;
}

.pages#contact #footer .footer-contents::before {
    display: none;
}

/* ------------------------------------------------------
facility
------------------------------------------------------ */
.pages#facility #top_info,
.pages#facility .under-box {
    background: rgba(255, 96, 74, 0.15);
}

.pages#facility .under-box {
    padding-bottom: 72px;
}

.pages#facility h3 .en::before {
    background: url(../images/facility/h3_ico.svg) no-repeat;
}

.pages#facility .btn-primary a {
    background: var(--facility-color);
    border-color: var(--facility-color);
}

.pages#facility #footer .footer-contents {
    background: var(--facility-color);
}

.pages#facility #footer .footer-contents::before {
    background: rgba(255, 96, 74, 0.12);
    left: auto;
    right: -340px;
}

.pages .facility_group_tab {
    margin: 95px 0 0;
}

.pages .facility_tab_btns {
    width: 100%;
    max-width: 948px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}

.pages .facility_tab_btns li {
    width: 100%;
    max-width: 300px;
    height: 54px;
    margin: 0 8px 16px;
}

.pages .facility_tab_btns li a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border-radius: 5px;
    font-size: 15px;
    font-weight: 700;
    color: var(--facility-color);
    padding: 0 5px;
    position: relative;
}

.pages .facility_tab_btns li.is-active a {
    color: #fff;
    background: var(--facility-color);
}

.pages .facility_tab_btns li.is-active a::after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: var(--facility-color) transparent transparent transparent;
    left: 50%;
    bottom: -10px;
    transform: translateX(-50%);
    transition: all .2s ease;
}

.pages .facility_tab {
    display: none;
    padding: 195px 0 0;
}

.pages#facility .curve path {
    fill: rgba(255, 96, 74, 0.15);
}

.pages .facility_wrap {
    position: relative;
}

.pages .facility_tab.is-tab-open {
    display: block;
}

.pages #content .facility_wrap .inner {
    max-width: calc(1000px + 6%);
    padding: 0 3%;
    position: relative;
}

.pages #content .facility_wrap .inner::before {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(255, 96, 74, 0.12);
    border-radius: 50%;
    top: -239px;
    right: -544px;
    z-index: -1;
    pointer-events: none;
}

.pages .facility_ttl {
    font-size: 40px;
    color: var(--facility-color);
    text-align: center;
    margin-bottom: 41px;
}

.pages .facility_mainvisual {
    line-height: 0;
    margin: 0 0 42px;
}

.pages .facility_mainvisual span {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0 auto;
}

.pages .facility_mainvisual .horizontal {
    max-width: 1000px;
}

.pages .facility_mainvisual .vertical {
    max-width: 550px;
}

.pages .facility_description {
    padding: 0 35px;
    margin-bottom: 47px;
}

.pages .facility_description p {
    font-size: 18px;
    line-height: 2.23;
}

.pages .facility_about {
    display: flex;
    justify-content: space-between;
    margin-bottom: 118px;
}

.pages .facility_infor {
    width: 100%;
    max-width: 413px;
    margin-right: 30px;
}

.pages .facility_infor .tb_facility {
    border-spacing: 0;
}

.pages .facility_infor .tb_facility th,
.pages .facility_infor .tb_facility td {
    line-height: 1.875;
    padding: 20px 5px 18px;
}

.pages .facility_infor .tb_facility tr:first-child th,
.pages .facility_infor .tb_facility tr:first-child td {
    border-top: 2px dotted var(--facility-color);
}

.pages .facility_infor .tb_facility tr:last-child th,
.pages .facility_infor .tb_facility tr:last-child td {
    border-bottom: 2px dotted var(--facility-color);
}

.pages .facility_infor .tb_facility th {
    width: 24%;
    font-weight: 700;
    letter-spacing: 0;
    color: var(--facility-color);
    border-bottom-color: var(--facility-color);
}

.pages .facility_infor .tb_facility td {
    letter-spacing: 0.1em;
    border-bottom-color: var(--facility-color);
}

.pages .facility_map {
    width: 100%;
    max-width: 550px;
    height: 380px;
}

.pages .facility_map iframe {
    width: 100%;
    height: 100%;
}

.pages .facility_photo figure {
    margin: 0 0 40px;
    position: relative;
}

.pages .facility_photo figure:nth-child(4n+1)::before,
.pages .facility_photo figure:nth-child(4n+3)::before {
    position: absolute;
    content: '';
    width: 1450px;
    height: 1450px;
    background: rgba(255, 96, 74, 0.12);
    border-radius: 50%;
    top: -298px;
    z-index: -1;
    pointer-events: none;
}

.pages .facility_photo figure:nth-child(4n+1)::before {
    left: -544px;
}

.pages .facility_photo figure:nth-child(4n+3)::before {
    right: -544px;
}

.pages .facility_photo figure:last-child {
    margin-bottom: 0;
}

.pages .facility_photo figure:last-child::before {
    display: none;
}

.pages .facility_photo figure span {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0 auto;
}

.pages .facility_photo figure .horizontal {
    max-width: 1000px;
}

.pages .facility_photo figure .vertical {
    max-width: 550px;
}

.pages .facility_photo figure figcaption {
    font-size: 15px;
    line-height: 2.25;
    letter-spacing: 0.02em;
    font-weight: 500;
}

.pages .facility_ico01 {
    top: -31px;
    left: 111px;
}

.pages .facility_ico02 {
    bottom: -163px;
    right: 63px;
}

/* ------------------------------------------------------
facility - children_house
------------------------------------------------------ */


/* MOZZILLA CSS */
@-moz-document url-prefix() {}

/* IE CSS */
@media screen\0 {

    #staff .list-staff .st-photo img,
    .staff-details .st-photo1 img {
        width: auto;
        max-width: inherit;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }
}

/* EDGE 12+ CSS */
@supports (-ms-ime-align:auto) {}
