@charset "utf-8";
/*ベース_______________________________________*/
img {
    width: 100%;
    max-width: 100%;
    height: auto;
}
@media screen and (min-width:769px) {
    .sp_on {
        display: none !important;
    }
}
@media screen and (max-width:768px) {
    .sp_off {
        display: none !important;
    }
}
.fade01 {
    opacity: 0;
    transform: translateY(30px);
    transition: .7s;
}
.fade01.go_anime {
    opacity: 1;
    transform: translateY(0);
}
.ttl_anime .text_fade {
    display: inline-block;
    overflow: hidden;
}
.ttl_anime .text_fade span {
    display: inline-block;
    transform: translateY(100%);
    transition: .3s;
    /* line-height: 1.0;*/
}
.ttl_anime .text_fade.go span {
    transform: translateY(0);
}
.set_indent {
    padding-left: 1em;
    text-indent: -1em;
    display: block;
}
/*セクション_______________________________________*/
/*共通
.block_other*/
.block_other {
    background-color: #DEE2EA;
    padding: calc(100 / 1366 * 100vw) 0;
}
.block_other .block_inner {
    width: 79.65%;
    margin: 0 auto;
    display: flex;
}
.block_other h2 {
    width: 28.28%;
    font-weight: 500;
    font-size: calc(10 / 1366 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1.8;
    display: flex;
    flex-flow: column;
    justify-content: center;
}
.block_other h2 .en {
    display: block;
    font-family: "Albert Sans";
    font-weight: 800;
    font-size: 3.5em;
    line-height: .8;
    letter-spacing: 0;
    margin-bottom: .7143em;
}
.block_other h2 .jp {
    display: flex;
    align-items: center;
    gap: 1em;
}
.block_other h2 .jp::before {
    content: "";
    background-image: url("../img/message/ttl_dec01.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    width: calc(19.3 / 1366 * 100vw);
    aspect-ratio: 60 / 42;
}
.block_other .box_img {
    position: relative;
    z-index: 0;
    width: 33.98%;
}
.block_other .box_img img {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 740 / 742;
    border-radius: calc(20 / 1366 * 100vw);
    transition: .3s;
}
.block_other .box_img img.on {
    opacity: 1;
}
.block_other .box_link {
    width: 37.74%;
    padding-left: 5.42%;
    color: #000;
}
.block_other .box_link {
    font-weight: bold;
    font-size: calc(16 / 1366 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1.25;
    display: flex;
    flex-flow: column;
    justify-content: center;
}
.block_other .box_link .link00 {
    display: flex;
    align-items: center;
    padding: 2.03em 0;
}
.block_other .box_link .wrapper_img {
    display: none;
    width: 50.79%;
}
.block_other .box_link .wrapper_img img {
    border-radius: calc(15 / 375 * 100vw);
}
.block_other .box_link .wrapper_text {
    display: contents;
    width: 49.21%;
}
.block_other .box_link .link00:hover, .block_other .box_link .link00:active {
    color: #FF51A1;
    opacity: 1;
}
.block_other .box_link .link00:nth-of-type(n+2) {
    border-top: 1px solid #fff;
}
.block_other .box_link .en {
    width: 18.65%;
    font-family: "Albert Sans";
    font-weight: 300;
    font-size: .625em;
    line-height: 1;
}
.block_other .box_link .jp {
    width: 64.67%;
}
.block_other .box_link .en {
    width: 33.04%;
    font-family: "Albert Sans";
    font-weight: 300;
    font-size: .625em;
    line-height: 1;
}
.block_other .box_link .icon {
    width: .533em;
}
.block_other .box_link .link00.recruit .icon {
    width: 0.785em;
}
.block_other .box_link .link00 .icon .icon_img path, .block_other .box_link .link00 .icon .icon_img rect {
    transition: .3s;
}
.block_other .box_link .link00:hover .icon .icon_img path, .block_other .box_link .link00:hover .icon .icon_img rect {
    stroke: #FF51A1;
}
@media screen and (max-width:768px) {
    .block_other {
        padding: calc(80 / 375 * 100vw) 0 calc(90 / 375 * 100vw);
    }
    .block_other .block_inner {
        width: 84%;
        flex-flow: column;
        gap: calc(40 / 375 * 100vw);
    }
    .block_other h2 {
        width: 100%;
        font-size: calc(10 / 375 * 100vw);
    }
    .block_other h2 .jp::before {
        width: calc(19.3 / 375 * 100vw);
    }
    .block_other .box_link {
        width: 100%;
        padding-left: 0;
        font-size: calc(16 / 375 * 100vw);
    }
    .block_other .box_link .link00 {
        padding: 1.25em 0;
    }
    .block_other .box_link .wrapper_img {
        display: block;
    }
    .block_other .box_link .wrapper_text {
        display: flex;
        align-items: center;
        flex-flow: wrap;
        gap: .75em 0;
        padding-left: 1.219em;
    }
    .block_other .box_link .jp {
        order: 1;
        width: 88.56%;
    }
    .block_other .box_link .en {
        order: 3;
        width: 100%;
        letter-spacing: 0;
    }
    .block_other .box_link .icon {
        order: 2;
    }
}
/*
.block_mv02*/
.block_mv02 {
    position: relative;
    z-index: 0;
    aspect-ratio: 1366 / 560;
    display: flex;
    align-items: center;
    margin: calc(40 / 1366 * 100vw) 0 calc(88 / 1366 * 100vw);
}
.block_mv02 .mv_inner {
    width: 75.40%;
    margin-left: 9.96%;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    transition: .3s;
}
.block_mv02.on .mv_inner {
    opacity: 0;
}
.block_mv02 .mv_inner .box_l {
    width: 50%;
    display: flex;
    flex-flow: column;
}
.block_mv02 .mv_ttl {
    position: relative;
    z-index: 0;
    font-weight: 500;
    font-size: calc(14 / 1366 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1.642;
    color: #000;
    margin-top: 1.589em;
    margin-bottom: 8.96em;
    transform: translateY(30px);
    /* opacity: 0;
    transition: .7s;
    transition-delay: .3s;*/
}
/*.block_mv02.go .mv_ttl {
    transform: translateY(0);
    opacity: 1;
}*/
/*.block_mv02 .mv_ttl::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    background-image: url("../img/message/mv_dec01.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    top: calc(-96 / 1366 * 100vw);
    left: calc(-17 / 1366 * 100vw);
    width: calc(57 / 1366 * 100vw);
    aspect-ratio: 57 / 56;
}
*/ .block_mv02 .mv_ttl .square01 {
    inset: calc(-96 / 1366 * 100vw) calc(-17 / 1366 * 100vw);
    width: calc(30 / 1366 * 100vw);
}
.block_mv02 .mv_ttl .square02 {
    inset: calc(-54 / 1366 * 100vw) calc(26 / 1366 * 100vw);
    width: calc(14 / 1366 * 100vw);
}
.block_mv02 .mv_ttl::after {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    background-image: url("../img/message/mv_dec02.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    bottom: calc(25 / 1366 * 100vw);
    left: 28.53%;
    width: calc(96 / 1366 * 100vw);
    aspect-ratio: 96 / 68;
}
.block_mv02 .mv_ttl .en {
    display: block;
    font-family: "Albert Sans";
    font-weight: 800;
    font-size: 5em;
    line-height: 1.157;
    text-align: left;
    margin-bottom: .21em;
}
.block_mv02 .mv_ttl .ani_parts {
    display: block;
}
.block_mv02 .mv_ttl .ani_parts:nth-of-type(n+2) {
    margin-top: -.2em;
}
.block_mv02 .mv_ttl .text_ani00 {
    display: inline-block;
    overflow: hidden;
}
.block_mv02 .mv_ttl .text_ani00 span {
    display: inline-block;
    transform: translateY(100%);
    opacity: 0;
    transition: .3s;
}
.block_mv02 .mv_ttl .text_ani00.go span {
    opacity: 1;
    transform: translateY(0);
}
/*.block_mv02 .mv_ttl .text_ani00 {
    transition: opacity 0.05s ease;
}
.block_mv02 .mv_ttl .text_ani00.go {
    opacity: 1 !important;
}
.block_mv02 .mv_ttl .text_ani00.go {
    border-right: 2px solid rgba(0 0 0 / 0);
    animation: border00 .1s;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}
@keyframes border00 {
    0% {
        border-right: 2px solid rgba(0 0 0 / 1);
    }
    80% {
        border-right: 2px solid rgba(0 0 0 / 1);
    }
    100% {
        border-right: 2px solid rgba(0 88 0 /0);
    }
}
.block_mv02 .mv_ttl .text_ani00.go:last-of-type {
    border-right: 4px solid rgba(0 0 0 / 0);
    animation: border01 2s;
    animation-timing-function: linear;
    animation-iteration-count: 2;
    animation-fill-mode: forwards;
}
@keyframes border01 {
    0% {
        border-right: 2px solid rgba(0 0 0 / 1);
    }
    20% {
        border-right: 2px solid rgba(0 0 0 / 0);
    }
    40% {
        border-right: 2px solid rgba(0 0 0 / 1);
    }
    60% {
        border-right: 2px solid rgba(0 0 0 / 0);
    }
    80% {
        border-right: 2px solid rgba(0 0 0 / 1);
    }
    100% {
        border-right: 2px solid rgba(0 0 0 / 0);
    }
}
*/ .block_mv02 .breadcrumb {
    display: flex;
    align-items: center;
    font-weight: normal;
    font-size: calc(10 / 1366 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1.8;
    color: #000;
}
.block_mv02 .breadcrumb a {
    display: flex;
    align-items: center;
    text-decoration: underline;
}
.block_mv02 .breadcrumb a:nth-of-type(n+2)::before {
    content: "";
    display: block;
    background-color: #FF51A1;
    width: .4em;
    aspect-ratio: 1;
    margin: 0 1.5em;
}
.block_mv02 .breadcrumb a:last-of-type {
    text-decoration: none;
    pointer-events: none;
}
.block_mv02 .box_img {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    width: 75.77%;
    aspect-ratio: 2070 / 1120;
}
.block_mv02 .box_img img {
    position: absolute;
    border-radius: 999px 0 0 999px;
}
.block_mv02 .box_img::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    background-image: url("../img/message/mv_momopi.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    top: calc(-40 / 1366 * 100vw);
    left: calc(174 / 1366 * 100vw);
    width: calc(85 / 1366 * 100vw);
    aspect-ratio: 171 / 134;
}
@media screen and (max-width:768px) {
    .block_mv02 {
        flex-flow: column;
        width: 84%;
        margin: 0 auto;
        padding: calc(13 / 375 * 100vw) 0 calc(73 / 375 * 100vw);
    }
    .block_mv02 .mv_inner {
        display: contents;
    }
    .block_mv02 .mv_inner .box_l {
        display: contents;
    }
    .block_mv02 .mv_inner .mv_ttl {
        order: 1;
        font-size: calc(14 / 375 * 100vw);
        line-height: 1.642;
        margin-top: 0;
        margin-bottom: 5.786em;
        margin-left: -4.556em;
    }
    .block_mv02 .mv_ttl .en {
        font-size: 4em;
        line-height: 1.178;
        margin-bottom: calc(-2 / 375 * 100vw);
    }
    .block_mv02 .mv_ttl::before {
        display: none;
    }
    .block_mv02 .mv_ttl .square01, .block_mv02 .mv_ttl .square02 {
        display: none;
    }
    .block_mv02 .mv_ttl::after {
        bottom: calc(17 / 375 * 100vw);
        left: 123px;
        width: calc(72.66 / 375 * 100vw);
    }
    .block_mv02 .mv_inner .breadcrumb {
        order: 3;
        margin: calc(28 / 375 * 100vw) auto 0 0;
        font-size: calc(10 / 375 * 100vw);
    }
    .block_mv02 .box_img {
        order: 2;
        position: relative;
        z-index: 0;
        top: 0;
        left: 0;
        width: 94.93vw;
        margin: 0 calc(50% - 50vw) 0 calc(-11 / 375 * 100vw);
    }
    .block_mv02 .box_img::after {
        top: calc(-29 / 375 * 100vw);
        left: calc(50 / 375 * 100vw);
        width: calc(55.39 / 375 * 100vw);
    }
}
.wrapper_summary {
    position: relative;
    z-index: 0;
    width: calc(1366 / 1366 * 100vw);
    margin: 0 auto calc(140 / 1366 * 100vw);
    display: flex;
    justify-content: flex-end;
}
.box_content .content_inner {
    position: relative;
    z-index: 0;
    width: calc(1035 / 1366 * 100vw);
    background-color: #fff;
    padding: calc(142 / 1366 * 100vw) calc(138 / 1366 * 100vw) calc(130 / 1366 * 100vw) calc(176 / 1366 * 100vw);
    border-radius: calc(40 / 1366 * 100vw) 0 0 calc(40 / 1366 * 100vw);
}
.box_content .content_inner::after {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    background-color: #fff;
    top: 0;
    right: calc(50% - 50vw);
    width: calc(50vw - 50%);
    height: 100%;
}
.box_content .content_inner:nth-of-type(n+2) {
    margin-top: 50px
}
.ttl_dec01 {
    position: absolute;
    z-index: 0;
    font-family: "Albert Sans";
    font-weight: 800;
    font-size: calc(70 / 1366 * 100vw);
    line-height: 1.157;
    color: #eaecf0;
    writing-mode: vertical-rl;
    top: 70px;
    left: 56px;
}
.unit_b00 h3 {
    position: relative;
    z-index: 0;
    width: fit-content;
    font-weight: bold;
    font-size: calc(30 / 1366 * 100vw);
    ;
    letter-spacing: 0.05em;
    line-height: 1.8;
    text-align: left;
    color: #000;
    margin-bottom: 64.5px;
}
.unit_b00 h3 .en {
    display: block;
    font-family: "Albert Sans";
    font-size: .334em;
    letter-spacing: 0;
    font-weight: 500;
    line-height: 1;
}
.unit_b00 h3::after {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    background-image: url("../img/common/ttl_dec01.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    bottom: calc(4 / 1366 * 100vw);
    right: calc(-18 / 1366 * 100vw);
    width: calc(52.38 / 1366 * 100vw);
    aspect-ratio: 60 / 42;
    opacity: 0;
    transform: translateY(100%);
    transition: .3s;
}
.unit_b00 h3.go_anime::after {
    opacity: 1;
    transform: translateY(0);
    transition: .7s;
}
.unit_ttl {
    background-image: url("img/mv.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
    z-index: 0;
    border-radius: calc(37 / 1366 * 100vw) calc(37 / 1366 * 100vw) calc(37 / 1366 * 100vw) 0;
    overflow: hidden;
    height: calc(275 / 1366 * 100vw);
    margin-bottom: calc(40 / 1366 * 100vw);
}
.unit_ttl h4 {
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    background-color: #fff;
    border-radius: 0 37px 0 0;
    overflow: hidden;
    width: 334px;
    height: 97px;
    font-weight: bold;
    font-size: 25px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    text-align: left;
    color: #ff51a1;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    padding-bottom: 9px;
}
.unit_data {
    font-weight: normal;
    font-size: calc(14 / 1366 * 100vw);
    letter-spacing: 0;
    line-height: 2;
}
.box_data {
    display: flex;
    flex-flow: wrap;
    padding-bottom: calc(33 / 1366 * 100vw);
    border-bottom: 1px solid #EAECF0;
}
.box_data:nth-of-type(n+2) {
    margin-top: 20px;
}
.box_data dt {
    width: 25.36%;
    font-weight: bold;
}
.box_data dd {
    width: 74.62%
}
.box_data dd.map {
    width: 100%;
}
.box_data dd.map figure {
    height: calc(380 / 1366 * 100vw);
    margin: calc(30 / 1366 * 100vw) 0 calc(15 / 1366 * 100vw);
    border-radius: calc(40 / 1366 * 100vw);
    overflow: hidden;
}
.box_data dd.map a {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: .7429em;
}
.box_data dd.map a .icon {
    width: .8971em;
}
.box_data dd.map a .ul01 {
    border-bottom: 1px solid #000;
}
.box_data dd .dec01 {
    display: block
}
.box_data dd address {
    display: flex;
    flex-flow: column;
    gap: calc(28 / 1366 * 100vw);
}
.box_data dd .data_list02 li {
    position: relative;
    z-index: 0;
    display: flex;
    flex-flow: column;
    gap: 2em;
    padding-left: 1.2em;
}
.box_data dd .data_list02 li::after {
    content: "◇";
    display: block;
    position: absolute;
    z-index: 0;
    top: 0;
    left: -1.2em;
    width: 1em;
}
.box_data dd .data_list02 li.adjust01 {
    padding-left: 0;
    text-indent: -1.5em;
}
.box_data dd .data_list02 li.adjust01::after {
    display: none;
}
.box_data dd .data_list02 li + li {
    margin-top: 2em;
}
.block_summary .box_link {
    position: relative;
    z-index: 0;
    width: calc(176 / 1366 * 100vw);
    font-weight: bold;
    font-size: calc(14 / 1366 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1.71;
    text-align: left;
    color: #a5a8af;
    padding-top: calc(70 / 1366 * 100vw);
}
.block_summary .box_link .link_inner {
    position: sticky;
    top: calc(150 / 1366 * 100vw);
    left: 0;
    display: flex;
    flex-flow: column;
    gap: calc(39 / 1366 * 100vw);
}
.block_summary .box_link .link_inner a {
    position: relative;
    z-index: 0;
    padding-left: 2.5em;
}
.block_summary .box_link .link_inner a.on {
    color: #FF51A1;
}
.block_summary .box_link .link_inner a::before {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    background-image: url("../img/common/ttl_dec01.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    top: .4em;
    left: 0;
    width: 1.3785em;
    aspect-ratio: 60 / 42;
    opacity: 0;
}
.block_summary .box_link .link_inner a.on::before {
    opacity: 1;
}
@media screen and (max-width:768px) {
    .wrapper_summary {
        position: relative;
        z-index: 0;
        width: calc(1366 / 1366 * 100vw);
        margin: 0 auto 0;
        display: flex;
        flex-flow: column-reverse;
        justify-content: flex-end;
    }
    .box_content .content_inner {
        position: relative;
        z-index: 0;
        width: 84%;
        margin: 0 auto;
        background-color: #fff;
        padding: calc(60 / 375 * 100vw) 0 calc(60 / 375 * 100vw) calc(75 / 375 * 100vw);
        border-radius: calc(35 / 375 * 100vw) 0 0 calc(35 / 375 * 100vw);
    }
    .box_content .content_inner:nth-of-type(n+2) {
        margin-top: calc(40 / 375 * 100vw);
    }
    .ttl_dec01 {
        font-size: calc(50 / 375 * 100vw);
        top: calc(50 / 375 * 100vw);
        left: calc(11 / 375 * 100vw);
    }
    .unit_b00 h3 {
        font-size: calc(30 / 375 * 100vw);
        letter-spacing: 0.05em;
        margin-bottom: calc(23 / 375 * 100vw);
    }
    .unit_b00 h3::after {
        bottom: calc(4 / 375 * 100vw);
        right: calc(-18 / 375 * 100vw);
        width: calc(52.38 / 375 * 100vw);
    }
    .unit_data {
        font-weight: normal;
        font-size: calc(14 / 375 * 100vw);
        letter-spacing: 0;
        line-height: 2;
        padding-left: calc(5 / 375 * 100vw);
    }
    .box_data {
        flex-flow: column;
        padding-bottom: calc(25 / 375 * 100vw);
    }
    .box_data:nth-of-type(n+2) {
        margin-top: calc(25 / 375 * 100vw);
    }
    .box_data dt {
        width: 100%;
        margin-bottom: calc(13 / 375 * 100vw);
    }
    .box_data dd {
        width: 100%;
    }
    .box_data dd address {
        display: flex;
        flex-flow: column;
        gap: calc(28 / 375 * 100vw);
    }
    .box_data dd.map figure {
        width: 112.76%;
        height: auto;
        aspect-ratio: 265/240;
        margin: calc(30 / 375 * 100vw) 0 calc(15 / 375 * 100vw) 0;
        border-radius: calc(40 / 375 * 100vw) 0 0 calc(40 / 375 * 100vw);
    }
    .block_summary .box_link {
        position: sticky;
        bottom: 0;
        left: 0;
        z-index: 2;
        background-color: #DEE2EA;
        width: calc(335 / 375 * 100vw);
        margin: calc(40 / 375 * 100vw) auto;
        font-size: calc(12 / 375 * 100vw);
        padding: calc(22 / 375 * 100vw) calc(30 / 375 * 100vw);
        border-radius: calc(13 / 375 * 100vw);
    }
    .block_summary .box_link .link_inner {
        position: sticky;
        display: flex;
        flex-flow: row;
        gap: 0;
    }
    .block_summary .box_link .link_inner a {
        width: calc(100% / 3);
        color: #A4A8AF;
        position: relative;
        z-index: 0;
        padding-left: 0;
        text-align: center;
    }
    .block_summary .box_link .link_inner a.on {
        color: #000;
    }
    .block_summary .box_link .link_inner a:nth-of-type(2) {
        border: solid #A4A8AF;
        border-width: 0 1px;
    }
    .block_summary .box_link .link_inner a::before {
        top: calc(-5 / 375 * 100vw);
        left: calc(10 / 375 * 100vw);
        width: calc(21.64 / 375 * 100vw);
    }
    .box_data dd .data_list02 li {
        padding-left: .2em;
    }
    .box_data dd .data_list02 li.adjust01 {
        padding-left: 0;
        text-indent: -1.3em;
    }
}