@charset "UTF-8";

/* CSS Document */
/* ======================================
common
====================================== */

body {
    background-image: url(/img/common/main_bg.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    color: #000;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.6;
}
p {
    color: #000;
    font-size: 1.6rem;
    font-weight: 400;
}
a * {
    transition: none;
}
/*---- タブレット／769px以上〜1400px以下 ----*/
@media only screen and (min-width: 769px) and (max-width: 1400px) {
    body,
    p {
        font-size: calc(16 / 1400 * 100vw);
    }
}
/*---- SP／768px以下 ----*/
@media only screen and (max-width: 768px) {
    body {
        background-image: url(/img/common/main_bg_sp.png);
    }
}




/* -----------------------------
    header
----------------------------- */
#l-header {
    margin-inline: auto;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 100;
}
.l-header__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-inline: 40px;
    padding-block: 8px;
    position: relative;
}
.l-header__inner:after {
    background-color: #000;
    content: "";
    height: 2px;
    position: absolute;
    bottom: 0;
    right: 0;
    transition: 0.3s all;
    width: 100%;
}
.l-header__logo {
    line-height: 1;
    transition: 0.3s all;
    width: 110px;
}
.l-header__links {
    margin-left: auto;
    margin-right: 28px;
    position: relative;
    z-index: 2;
}
.l-header__links > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
}
.l-header__links > ul > li:nth-of-type(n+2) {
    margin-left: 20px;
}
.l-header__links > ul > li a {
    display: block;
    font-size: 2.2rem;
    font-family: "neue-haas-grotesk-text", sans-serif;
    /*position: relative;
    padding-right: 18px;*/
}
/*
.l-header__links > ul > li a:before,
.l-header__links > ul > li a:after {
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 100% auto;
    content: "";
    height: 16px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.3s all;
    right: 0;
    width: 11px;
}
.l-header__links > ul > li a:before {
    background-image: url(/img/common/icon_arrow_right_black.svg);
}
.l-header__links > ul > li a:after {
    background-image: url(/img/common/icon_arrow_right_white.svg);
    opacity: 0;
}
*/
.l-header__menuTrigger {
    cursor: pointer;
    height: 20px;
    position: relative;
    width: 26px;
    z-index: 2;
}
.l-header__menuTrigger > span {
    background-color: #000;
    display: block;
    height: 2px;
    position: absolute;
    width: 26px;
}
.l-header__menuTrigger > .line1 {
    top: 0;
}
.l-header__menuTrigger > .line2 {
    top: 6px;
}
.l-header__menuTrigger > .line3 {
    top: 12px;
}
.l-header__menuTrigger > .line4 {
    top: 18px;
}
#l-header.is-open .l-header__menuTrigger > .line1 {
    transform: rotate(45deg);
    top: 50%;
}
#l-header.is-open .l-header__menuTrigger > .line2,
#l-header.is-open .l-header__menuTrigger > .line3 {
    opacity: 0;
}
#l-header.is-open .l-header__menuTrigger > .line4 {
    transform: rotate(-45deg);
    top: 50%;
}
#l-header.is-open .l-header__menuTrigger > span {
    background-color: #fff;
}
.l-header__menu {
    background-image: url(/img/common/nav_bg.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height: 100vh;
    overflow-y: auto;
    padding: 120px 100px 70px 80px;
    position: absolute;
    top: 0;
    transition: 0.3s all;
}
.l-header__menu a {
    color: #fff;
}
#l-header.is-open .l-header__menu {
    right: 0;
}
#global-nav > ul > li:nth-of-type(n+2) {
    margin-top: 60px;
}
#global-nav > ul > li a {
    color: #fff;
    cursor: pointer;
    display: block;
}
#global-nav > ul > li span {
    display: block;
}
#global-nav > ul > li .text-en {
    border-bottom: 4px solid #fff;
    font-family: "neue-haas-grotesk-text", sans-serif;
    font-size: 3.8rem;
    line-height: 1.1;
    padding-bottom: 5px;
    position: relative;
}
#global-nav > ul > li .text-en:after {
    background-image: url(/img/common/nav_icon_arrow.svg);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 100% auto;
    content: "";
    height: 27px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 18px;
}
#global-nav > ul > li .text-jp {
    font-size: 1.6rem;
    margin-top: 5px;
}
/*---- PC／769px以上 ----*/
@media only screen and (min-width: 769px) {
    #l-header.is-open .l-header__logo {
        opacity: 0;
        pointer-events: none;
    }
    #l-header.is-open .l-header__inner:after {
        opacity: 0;
    }
    #l-header.is-open .l-header__links > ul > li a,
    .l-header__links > ul > li a:hover {
        color: #fff;
    }
    /*
    #l-header.is-open .l-header__links > ul > li a:before,
    .l-header__links > ul > li a:hover:before {
        opacity: 0;
    }
    #l-header.is-open .l-header__links > ul > li a:after,
    .l-header__links > ul > li a:hover:after {
        opacity: 1;
    }
    */
    .l-header__menu {
        right: -540px;
        width: 500px;
        z-index: 1;
    }
    .l-header__menu:before {
        background-color: #fff;
        content: "";
        height: 2px;
        opacity: 0;
        position: absolute;
        top: 49px;
        left: 0;
        transition: 0.3s all;
        width: calc(100% - 40px);
    }
    #l-header.is-open .l-header__menu:before {
        opacity: 1;
        transition-delay: 0.4s;
    }
    #l-header.is-open .l-header__menuTrigger {
        height: 25px;
    }
    .l-header__menu_logo {
        display: none;
    }
}
/*---- SP／768px以下 ----*/
@media only screen and (max-width: 768px) {
    .l-header__inner {
        margin-inline: 15px;
        padding-block: 0;
        height: 40px;
    }
    .l-header__logo {
        width: 72px;
    }
    .l-header__menuTrigger {
        height: 14px;
        width: 15px;
    }
    .l-header__menuTrigger > span {
        width: 15px;
    }
    .l-header__menuTrigger > .line1 {
        top: 0;
    }
    .l-header__menuTrigger > .line2 {
        top: 4px;
    }
    .l-header__menuTrigger > .line3 {
        top: 8px;
    }
    .l-header__menuTrigger > .line4 {
        top: 12px;
    }
    #l-header.is-open .l-header__menuTrigger {
        height: 25px;
        width: 25px;
    }
    #l-header.is-open .l-header__menuTrigger > .line1,
    #l-header.is-open .l-header__menuTrigger > .line4 {
        width: 25px;
    }
    .l-header__links {
        display: none;
    }
    .l-header__menu {
        pointer-events: none;
        height: 100vh;
        height: 100dvh;
        left: 0;
        opacity: 0;
        padding: 120px 15px;
        width: 100vw;
        z-index: -1;
    }
    .l-header__menu:before {
        background-color: #fff;
        content: "";
        height: 2px;
        margin-inline: auto;
        position: absolute;
        top: 39px;
        left: 0;
        right: 0;
        width: calc(100% - 30px);
    }
    #l-header.is-open .l-header__menu {
        opacity: 1;
        pointer-events: initial;
        z-index: 1;
    }
    .l-header__menu_logo {
        line-height: 1;
        position: absolute;
        top: 12px;
        left: 15px;
        width: 72px;
        z-index: 1;
    }
    #global-nav {
        margin-inline: auto;
        min-width: 210px;
        width: calc(100% - 130px);
    }
    #global-nav > ul > li:nth-of-type(n+2) {
        margin-top: 50px;
    }
    #global-nav > ul > li .text-en {
        border-bottom-width: 3px;
        font-size: 2.8rem;
        padding-bottom: 4px;
    }
    #global-nav > ul > li .text-en:after {
        height: 19px;
        width: 13px;
    }
    #global-nav > ul > li .text-jp {
        font-size: 1.2rem;
        margin-top: 4px;
    }
    .l-header__menu .other-links {
        margin-inline: auto;
        margin-top: 40px;
        min-width: 210px;
        width: calc(100% - 130px);
    }
    .l-header__menu .other-links > ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        margin-inline: -20px;
    }
    .l-header__menu .other-links > ul > li {
        margin-inline: 10px;
    }
    .l-header__menu .other-links > ul > li a {
        display: block;
        font-size: 2rem;
        font-family: "neue-haas-grotesk-text", sans-serif;
        position: relative;
        padding-right: 16px;
    }
    .l-header__menu .other-links > ul > li a:after {
        background-image: url(/img/common/icon_arrow_right_white.svg);
        background-repeat: no-repeat;
        background-position: right top;
        background-size: 100% auto;
        content: "";
        height: 14px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        transition: 0.3s all;
        right: 0;
        width: 10px;
    }
    .l-header__menu .text-address {
        margin-top: 24px;
        text-align: center;
    }
    .l-header__menu .text-address p {
        color: #fff;
        font-size: 1rem;
    }
}




/* -----------------------------
    l-footer
----------------------------- */
#l-footer {
    padding: 16px;    
}
.l-footer__logo {
    margin-inline: auto;
    width: 143px;
}
.l-footer__copyright {
    color: #fff;
    font-size: 1.5rem;
    margin-top: 16px;
    text-align: right;
}
/*---- タブレット／769px以上〜1400px以下 ----*/
@media only screen and (min-width: 769px) and (max-width: 1400px) {
    .l-footer__logo {
        min-width: 100px;
        width: calc(143 / 1400 * 100vw);
    }
}
/*---- SP／768px以下 ----*/
@media only screen and (max-width: 768px) {
    #l-footer {
        padding: 16px;    
    }
    .l-footer__logo {
        width: 100px;
    }
    .l-footer__copyright {
        font-size: 1.2rem;
        margin-top: 16px;
        text-align: center;
    }
}




/* -----------------------------
    l-keyvisual
----------------------------- */
.l-keyvisual {
    overflow: hidden;
    height: 100vh;
    position: relative;
}
.l-keyvisual h1 {
    margin-top: -20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 827px;
    z-index: 1;
}
.l-keyvisual h1 .text-jp {
    color: #fff;
    font-size: 3.3rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.1em;
    position: absolute;
    right: -20px;
    bottom: -20px;
    z-index: 2;
}
.l-keyvisual .p-component-decorationText:nth-of-type(1) > p {
    font-size: 3.9rem;
}
.l-keyvisual .p-component-decorationText:nth-of-type(2) > p {
    font-size: 9.4rem;
    line-height: 1;
}
/*---- PC／769px以上 ----*/
@media only screen and (min-width: 769px) {
    .l-keyvisual .p-component-decorationText:nth-of-type(1) {
        top: calc(50% - 235px);
        left: calc(50% - 610px);
    }
    .l-keyvisual .p-component-decorationText:nth-of-type(2) {
        top: calc(50% + 42px);
        left: calc(50% - 620px);
    }
    .l-keyvisual .p-component-addressText {
        top: calc(50% - 240px);
        left: calc(50% + 420px);
    }
}
/*---- タブレット／769px以上〜1400px以下 ----*/
    @media only screen and (min-width: 769px) and (max-width: 1400px) {
    .l-keyvisual h1 {
        margin-top: calc(-20 / 1400 * 100vw);
        width: calc(827 / 1400 * 100vw);
    }
    .l-keyvisual h1 .text-jp {
        font-size: calc(33 / 1400 * 100vw);
        right: calc(-20 / 1400 * 100vw);
        bottom: calc(-20 / 1400 * 100vw);
    }
    .l-keyvisual .p-component-decorationText:nth-of-type(1) > p {
        font-size: calc(39 / 1400 * 100vw);
    }
    .l-keyvisual .p-component-decorationText:nth-of-type(2) > p {
        font-size: calc(94 / 1400 * 100vw);
    }
    .l-keyvisual .p-component-decorationText:nth-of-type(1) {
        top: calc(50% - calc(235 / 1400 * 100vw));
        left: calc(50% - calc(610 / 1400 * 100vw));
    }
    .l-keyvisual .p-component-decorationText:nth-of-type(2) {
        top: calc(50% + calc(42 / 1400 * 100vw));
        left: calc(50% - calc(620 / 1400 * 100vw));
    }
    .l-keyvisual .p-component-addressText {
        top: calc(50% - calc(240 / 1400 * 100vw));
        left: calc(50% + calc(420 / 1400 * 100vw));
    }
}
/*---- SP／768px以下 ----*/
@media only screen and (max-width: 768px) {
    .l-keyvisual h1 {
        margin-top: -8px;
        max-width: calc(100% - 40px);
        width: 330px;
    }
    .l-keyvisual h1 .text-jp {
        font-size: 1.5rem;
        right: -8px;
        bottom: -8px;
    }
    .l-keyvisual .p-component-decorationText:nth-of-type(1) > p {
        font-size: 1.8rem;
    }
    .l-keyvisual .p-component-decorationText:nth-of-type(2) > p {
        font-size: 4.1rem;
    }
    .l-keyvisual .p-component-decorationText:nth-of-type(1) {
        top: calc(50% - 150px);
        left: 40px;
    }
    .l-keyvisual .p-component-decorationText:nth-of-type(2) {
        top: calc(50% + 100px);
        left: 30px;
    }
    .l-keyvisual .p-component-addressText {
        top: 70px;
        right: 20px;
    }
    .l-keyvisual .p-component-addressText p {
        font-size: 1.4rem;
    }
}




/* -----------------------------
    l-section
----------------------------- */
.l-section {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    position: relative;
    z-index: 2;
}
.l-section__inner {
    padding-block: 80px;
    padding-inline: 200px;
    width: 100%;
}
.l-section__title span {
    display: block;
}
.l-section__title .text-en {
    color: #fff;
    font-family: "neue-haas-grotesk-text", sans-serif;
    font-size: 12.5rem;
    line-height: 1;
}
.l-section__title .text-jp {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.3;
    margin-top: 10px;
}
.l-section__contents_item:nth-of-type(n+2) {
    margin-top: 80px;
}
/*---- PC／769px以上 ----*/
@media only screen and (min-width: 769px) {
    .l-section__title {
        position: absolute;
        top: 50%;
        left: 40px;
        transition: 0.4s all;
    }
    .l-section__title.is-fixed {
        position: fixed !important;
        top: 50%;
        transform: translateY(-50%);
    }
    .l-section__title .text-en {
        text-orientation: mixed;
        writing-mode: vertical-rl;
    }
}
/*---- タブレット／769px以上〜1400px以下 ----*/
@media only screen and (min-width: 769px) and (max-width: 1400px) {
    .l-section__inner {
        padding-block: calc(80 / 1400 * 100vw);
        padding-inline: calc(200 / 1400 * 100vw);
    }
    .l-section__title .text-en {
        font-size: calc(125 / 1400 * 100vw);
    }
    .l-section__title .text-jp {
        font-size: calc(18 / 1400 * 100vw);
        margin-top: calc(10 / 1400 * 100vw);
    }
}
/*---- SP／768px以下 ----*/
@media only screen and (max-width: 768px) {
    .l-section__inner {
        padding-block: 60px;
        padding-inline: 20px;
    }
    .l-section__title {
        display: table;
        margin-inline: auto;
        position: static !important;
        top: initial !important;
        left: initial !important;
    }
    .l-section__title .text-en {
        font-size: 7.5rem;
        margin-inline: -10px;
    }
    .l-section__title .text-jp {
        font-size: 1.2rem;
        margin-top: 0;
        margin-inline: -10px;
    }
    .l-section__contents {
        margin-top: 32px;
    }
    .l-section__contents_item:nth-of-type(n+2) {
        margin-top: 40px;
    }
}




/* -----------------------------
    about
----------------------------- */
.l-section[id^="about"] .l-section__contents_item {
    position: relative;
}
.l-section[id^="about"] .p-about-summaryText {
    margin-inline: auto;
    max-width: 670px;
}
.l-section[id^="about"] .p-about-summaryText p {
    font-size: 1.7rem;
    line-height: 1.5;
}
.l-section[id^="about"] .p-about-informationBlock {
    margin-inline: auto;
    max-width: 650px;
}
.l-section[id^="about"] .p-about-informationBlock dl:nth-of-type(n+2) {
    margin-top: 10px;
}
/*---- PC／769px以上 ----*/
@media only screen and (min-width: 769px) {
    #about .l-section__title.is-fixed {
        opacity: 1 !important;
        pointer-events: none !important;
    }
    #about .l-section__title.is-fixed--2 {
        opacity: 0 !important;
        pointer-events: initial !important;
    }
    #about .p-component-decorationText {
        top: calc(50% - 225px);
        left: calc(50% - 370px);
    }
    #about2 .l-section__title {
        display: none !important;
    }
    #about2 .p-component-decorationText {
        top: calc(50% - 180px);
        left: calc(50% - 325px);
    }
    #about2 .p-component-addressText {
        top: calc(50% + 180px);
        left: calc(50% - 325px);
    }
    .l-section[id^="about"] .p-about-informationBlock dl {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .l-section[id^="about"] .p-about-informationBlock dl dt {
        min-width: 120px;
    }
}
/*---- タブレット／769px以上〜1400px以下 ----*/
@media only screen and (min-width: 769px) and (max-width: 1400px) {
    .l-section[id^="about"] .p-about-summaryText p {
        font-size: calc(17 / 1400 * 100vw);
    }
    #about .p-component-decorationText {
        top: calc(50% - calc(225 / 1400 * 100vw));
        left: calc(50% - calc(370 / 1400 * 100vw));
    }
    #about2 .p-component-decorationText {
        top: calc(50% - calc(180 / 1400 * 100vw));
        left: calc(50% - calc(325 / 1400 * 100vw));
    }
    #about2 .p-component-addressText {
        top: calc(50% + calc(180 / 1400 * 100vw));
        left: calc(50% - calc(325 / 1400 * 100vw));
    }
}
/*---- SP／768px以下 ----*/
@media only screen and (max-width: 768px) {
    .l-section[id^="about"] .l-section__contents_item:nth-of-type(1) {
        padding-bottom: 180px;
    }
    .l-section[id^="about"] .l-section__contents_item:nth-of-type(2) {
        margin-top: 100px;
        padding-bottom: 110px;
    }
    .l-section[id^="about"] .p-about-summaryText {
        padding-inline: 30px;
    }
    .l-section[id^="about"] .p-about-summaryText p {
        font-size: 1.3rem;
    }
    #about .p-component-decorationText {
        bottom: 0;
        left: 0;
    }
    #about2 .p-component-decorationText {
        bottom: 0;
        left: 0;
    }
    #about2 .p-component-addressText {
        top: 60px;
        right: 0;
        text-align: right;
    }
    .l-section[id^="about"] .p-about-informationBlock {
        padding-inline: 30px;
    }
    .l-section[id^="about"] .p-about-informationBlock dl {
        font-size: 1.5rem;
    }
    .l-section[id^="about"] .p-about-informationBlock dl:nth-of-type(n+2) {
        margin-top: 15px;
    }
    .l-section[id^="about"] .p-about-informationBlock dl dt {
        border-bottom: 1px solid #000;
        display: table;
    }
    .l-section[id^="about"] .p-about-informationBlock dl dd {
        width: 100%;
    }
}



/* -----------------------------
    vision
----------------------------- */
#vision .p-vision-summaryBlock {
    margin-inline: auto;
    max-width: 830px;
}
#vision .p-vision-summaryBlock__heading {
    position: relative;
    text-align: center;
    z-index: 2;
}
#vision .p-vision-summaryBlock__heading span {
    display: block;
    margin-inline: auto;
}
#vision .p-vision-summaryBlock__heading .text-jp {
    color: #fff;
    font-size: 2.3rem;
    letter-spacing: -0.1em;
}
#vision .p-vision-summaryBlock__heading .logo {
    width: 388px;
}
#vision .p-vision-summaryBlock__lists {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-top: -45px;
    position: relative;
    z-index: 1;
}
#vision .p-vision-summaryBlock__lists_item {
    border: 1.5px solid #fff;
    border-radius: 50%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 330px;
    width: 330px;
}
#vision .p-vision-summaryBlock__lists_item > dl dt {
    border-bottom: 3px solid #000;
    display: table;
    font-size: 2.3rem;
    font-weight: 400;
    line-height: 1.2;
    margin-inline: auto;
    padding-bottom: 5px;
    text-align: center;
}
#vision .p-vision-summaryBlock__lists_item > dl dd {
    margin-top: 10px;
}
#vision .p-vision-summaryBlock__lists_item .p-component-englishText p {
    font-size: 2.9rem;
}
#vision .p-vision-leadText {
    margin-top: 32px;
    text-align: center;
}
#vision .p-vision-leadText .text-jp {
    font-size: 2.1rem;
}
#vision .p-vision-leadText .p-component-englishText p {
    font-size: 4rem;
}
/*---- PC／769px以上 ----*/
@media only screen and (min-width: 769px) {
    #vision .p-vision-summaryBlock__lists_item:nth-of-type(1) {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
    }
}
/*---- タブレット／769px以上〜1400px以下 ----*/
@media only screen and (min-width: 769px) and (max-width: 1400px) {
    #vision .p-vision-summaryBlock {
        max-width: calc(830 / 1400 * 100vw);
    }
    #vision .p-vision-summaryBlock__heading .text-jp {
        font-size: calc(23 / 1400 * 100vw);
    }
    #vision .p-vision-summaryBlock__heading .logo {
        width: calc(388 / 1400 * 100vw);
    }
    #vision .p-vision-summaryBlock__lists {
        margin-top: calc(-45 / 1400 * 100vw);
    }
    #vision .p-vision-summaryBlock__lists_item {
        height: calc(330 / 1400 * 100vw);
        width: calc(330 / 1400 * 100vw);
    }
    #vision .p-vision-summaryBlock__lists_item > dl dt {
        border-bottom-width: calc(3 / 1400 * 100vw);
        font-size: calc(23 / 1400 * 100vw);
        padding-bottom: calc(5 / 1400 * 100vw);
    }
    #vision .p-vision-summaryBlock__lists_item > dl dd {
        margin-top: calc(10 / 1400 * 100vw);
    }
    #vision .p-vision-summaryBlock__lists_item .p-component-englishText p {
        font-size: calc(29 / 1400 * 100vw);
    }
    #vision .p-vision-leadText {
        margin-top: calc(32 / 1400 * 100vw);
    }
    #vision .p-vision-leadText .text-jp {
        font-size: calc(21 / 1400 * 100vw);
    }
    #vision .p-vision-leadText .p-component-englishText p {
        font-size: calc(40 / 1400 * 100vw);
    }
}
/*---- SP／768px以下 ----*/
@media only screen and (max-width: 768px) {
    #vision .p-vision-summaryBlock__heading .text-jp {
        font-size: 1.5rem;
    }
    #vision .p-vision-summaryBlock__heading .logo {
        max-width: 100%;
        width: 308px;
    }
    #vision .p-vision-summaryBlock__lists {
        justify-content: center;
        margin-top: -15px;
        padding-top: 124px;
    }
    #vision .p-vision-summaryBlock__lists_item {
        height: 172px;
        width: 172px;
    }
    #vision .p-vision-summaryBlock__lists_item:nth-of-type(1) {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    #vision .p-vision-summaryBlock__lists_item > dl dt {
        border-bottom-width: 2px;
        font-size: 1.3rem;
    }
    #vision .p-vision-summaryBlock__lists_item > dl dd {
        margin-top: 5px;
    }
    #vision .p-vision-summaryBlock__lists_item .p-component-englishText p {
        font-size: 1.5rem;
    }
    #vision .p-vision-summaryBlock__lists_item:nth-of-type(1) {
        margin-inline: auto;
    }
    #vision .p-vision-summaryBlock__lists_item:nth-of-type(2) {
        margin-right: -22px;
    }
    #vision .p-vision-summaryBlock__lists_item:nth-of-type(3) {
        margin-left: -22px;
    }
    #vision .p-vision-leadText {
        margin-top: 16px;
    }
    #vision .p-vision-leadText .text-jp {
        font-size: 1.6rem;
    }
    #vision .p-vision-leadText .p-component-englishText p {
        font-size: 1.9rem;
    }
}




/* -----------------------------
    member
----------------------------- */
#member .p-member-personBlock {
    margin-inline: auto;
    max-width: 800px;
}
#member .p-member-personBlock__lists_item a {
    display: block;
}
#member .p-member-personBlock__lists_item .text-name {
    margin-top: 10px;
}
#member .p-member-personBlock__lists_item .text-name-english,
#member .p-member-personBlock__lists_item .text-position {
    font-size: 1.3rem;
}
#member .p-member-personBlock__link {
    display: table;
    margin-top: 60px;
    margin-inline: auto;
    text-align: center;
}
#member .p-member-personBlock__link a {
    border-bottom: 3px solid #000;
    display: block;
    font-family: "neue-haas-grotesk-text", sans-serif;
    font-size: 2.3rem;
    line-height: 1.1;
    padding-bottom: 8px;
}
#member .p-member-personBlock__link a span {
    display: inline-block;
    padding-right: 32px;
    position: relative;
}
#member .p-member-personBlock__link a span:before,
#member .p-member-personBlock__link a span:after {
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 100% auto;
    content: "";
    height: 16px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.3s all;
    right: 0;
    width: 11px;
}
#member .p-member-personBlock__link a span:before {
    background-image: url(/img/common/icon_arrow_right_black.svg);
    opacity: 1;
}
#member .p-member-personBlock__link a span:after {
    background-image: url(/img/common/icon_arrow_right_white.svg);
    opacity: 0;
}
/*---- PC／769px以上 ----*/
@media only screen and (min-width: 769px) {
    #member .p-member-personBlock__lists {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: flex-start;
    }
    #member .p-member-personBlock__lists_item {
        margin-left: 2.8125%;
        width: 17.75%;
    }
    #member .p-member-personBlock__lists_item:nth-of-type(5n+1) {
        margin-left: 0;
    }
    #member .p-member-personBlock .swiper-controls {
        display: none !important;
    }
    #member .p-member-personBlock__link a:hover {
        border-bottom-color: #fff;
        color: #fff;
    }
    #member .p-member-personBlock__link a:hover span:before {
        opacity: 0;
    }
    #member .p-member-personBlock__link a:hover span:after {
        opacity: 1;
    }
}
/*---- タブレット／769px以上〜1400px以下 ----*/
@media only screen and (min-width: 769px) and (max-width: 1400px) {
    #member .p-member-personBlock__lists_item .text-name {
        margin-top: calc(10 / 1400 * 100vw);
    }
    #member .p-member-personBlock__lists_item .text-name-english,
    #member .p-member-personBlock__lists_item .text-position {
        font-size: calc(13 / 1400 * 100vw);
    }
    #member .p-member-personBlock__link {
        margin-top: calc(60 / 1400 * 100vw);
    }
    #member .p-member-personBlock__link a {
        border-bottom-width: calc(3 / 1400 * 100vw);
        font-size:  calc(23 / 1400 * 100vw);
        padding-bottom: calc(8 / 1400 * 100vw);
    }
    #member .p-member-personBlock__link a span {
        padding-right: calc(32 / 1400 * 100vw);
    }
    #member .p-member-personBlock__link a span:before,
    #member .p-member-personBlock__link a span:after {
        height: calc(16 / 1400 * 100vw);
        width: calc(11 / 1400 * 100vw);
    }
}
/*---- SP／768px以下 ----*/
@media only screen and (max-width: 768px) {
    #member .p-member-personBlock {
        margin-top: 100px;
        margin-inline: -20px;
    }
    #member .p-member-personBlock__lists {
        padding-inline: 40px;
    }
    #member .p-member-personBlock__lists_item .text-name {
        font-size: 1.4rem;
    }
    #member .p-member-personBlock__lists_item .text-name-english,
    #member .p-member-personBlock__lists_item .text-position {
        font-size: 1.1rem;
    }
    #member .p-member-personBlock__link {
        margin-top: 50px;
    }
    #member .p-member-personBlock__link a {
        font-size: 1.8rem;
    }
    #member .p-member-personBlock__link a span {
        padding-right: 24px;
    }
    #member .p-member-personBlock__link a span:before,
    #member .p-member-personBlock__link a span:after {
        height: 13px;
        width: 9px;
    }
    #member .swiper-button-prev,
    #member .swiper-button-next {
        background-repeat: no-repeat;
        background-position: right top;
        background-size: 100% auto;
        color: transparent;
        font-size: 0;
        height: 21px;
        margin-top: 0;
        top: calc(70 / 375 * 100vw);
        width: 15px;
    }
    #member .swiper-button-prev {
        background-image: url(/img/top/member_slide_btn_prev.svg);
    }
    #member .swiper-button-next {
        background-image: url(/img/top/member_slide_btn_next.svg);
    }
    #member .swiper-button-prev:after,
    #member .swiper-button-next:after {
        content: "";
    }
}




/* -----------------------------
    recruit
----------------------------- */
#recruit .l-section__contents_item {
    position: relative;
}
#recruit .p-recruit-overviewLists > ul li {
    margin-top: 28px;
}
#recruit .p-recruit-overviewLists > ul li > a {
    border: 1px solid #fff;
    display: block;
    font-size: 1.8rem;
    line-height: 1.2;
    letter-spacing: -0.1em;
    padding: 12px;
    position: relative;
}
#recruit .p-recruit-overviewLists > ul li > a:before,
#recruit .p-recruit-overviewLists > ul li > a:after {
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 100% auto;
    content: "";
    height: 16px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.3s all;
    right: 12px;
    width: 11px;
}
#recruit .p-recruit-overviewLists > ul li > a:before {
    background-image: url(/img/common/icon_arrow_right_black.svg);
}
#recruit .p-recruit-overviewLists > ul li > a:after {
    background-image: url(/img/common/icon_arrow_right_white.svg);
    opacity: 0;
}
#recruit .p-recruit-flowLists__item {
    position: relative;
}
#recruit .p-recruit-flowLists__item:after {
    background-image: url(/img/common/icon_arrow_right_white.svg);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 100% auto;
    content: "";
    height: 16px;
    position: absolute;
    top: 9px;
    transition: 0.3s all;
    right: -13px;
    width: 11px;
}
#recruit .p-recruit-flowLists__item:last-child:after {
    display: none;
}
#recruit .p-recruit-flowLists__item .text-number {
    color: #fff;
    font-family: "neue-haas-grotesk-text", sans-serif;
    font-size: 2.9rem;
    line-height: 1.2;
}
#recruit .p-recruit-flowLists__item .text-lead {
    border: 1px solid #fff;
    font-size: 1.8rem;
    line-height: 1.2;
    letter-spacing: -0.1em;
    padding: 12px;
}
#recruit .p-recruit-officeBlock {
    margin-inline: auto;
    max-width: 900px;
}
#recruit .p-recruit-officeBlock__map {
    overflow: hidden;
    padding-top: calc(210 / 900 * 100%);
    position: relative;
}
#recruit .p-recruit-officeBlock__map iframe {
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
}
#recruit .p-recruit-officeBlock__access .text-address {
    margin-bottom: 32px;
}
#recruit .p-recruit-officeBlock__access > ul li {
    font-size: 1.6rem;
}
#recruit .p-recruit-worksBlock {
    margin-top: 24px;
    text-align: center;
}
/*---- PC／769px以上 ----*/
@media only screen and (min-width: 769px) {
    #recruit .l-section__title.is-fixed {
        opacity: 1 !important;
        pointer-events: none !important;
    }
    #recruit .p-recruit-overviewLists,
    #recruit .p-recruit-flowLists {
        margin-inline: auto;
        max-width: 812px;
    }
    #recruit .p-recruit-overviewLists > ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    #recruit .p-recruit-overviewLists > ul li {
        margin-left: 3.8177%;
        width: 30.7882%;
    }
    #recruit .p-recruit-overviewLists > ul li:nth-of-type(3n+1) {
        margin-left: 0;
    }
    #recruit .p-recruit-overviewLists > ul li:nth-of-type(-n+3) {
        margin-top: 0;
    }
    #recruit .p-recruit-overviewLists > ul li > a:hover {
        background-color: #000;
        border-color: #000;
        color: #fff;
    }
    #recruit .p-recruit-overviewLists > ul li > a:hover:before {
        opacity: 0;
    }
    #recruit .p-recruit-overviewLists > ul li > a:hover:after {
        opacity: 1;
    }
    #recruit .p-recruit-flowLists {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    #recruit .p-recruit-flowLists__item {
        margin-left: 2.7915%;
        margin-top: 24px;
        text-align: center;
        width: 22.9064%;
    }
    #recruit .p-recruit-flowLists__item:nth-of-type(4n+1) {
        margin-left: 0;
    }
    #recruit .p-recruit-flowLists__item:nth-of-type(-n+4) {
        margin-top: 0;
    }
    #recruit .p-recruit-flowLists__item .text-lead {
        margin-top: 8px;
    }
    #recruit .p-recruit-officeBlock {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
    }
    #recruit .p-recruit-officeBlock__map {
        width: calc(290 / 900 * 100%);
    }
    #recruit .p-recruit-officeBlock__access {
        width: calc(100% - calc(310 / 900 * 100%));
    }
    #recruit .p-component-addressText {
        top: -10px;
        left: calc(50% + 300px);
    }
}
/*---- タブレット／769px以上〜1400px以下 ----*/
@media only screen and (min-width: 769px) and (max-width: 1400px) {
    #recruit .p-recruit-overviewLists > ul li {
        margin-top: calc(28 / 1400 * 100vw);
    }
    #recruit .p-recruit-overviewLists > ul li > a {
        font-size: calc(18 / 1400 * 100vw);
        padding: calc(12 / 1400 * 100vw);
    }
    #recruit .p-recruit-overviewLists > ul li > a:before,
    #recruit .p-recruit-overviewLists > ul li > a:after {
        right: calc(12 / 1400 * 100vw);
        height: calc(16 / 1400 * 100vw);
        width: calc(11 / 1400 * 100vw);
    }
    #recruit .p-recruit-flowLists__item:after {
        height: calc(16 / 1400 * 100vw);
        top: calc(9 / 1400 * 100vw);
        right: calc(-13 / 1400 * 100vw);
        width: calc(11 / 1400 * 100vw);
    }
    #recruit .p-recruit-flowLists__item .text-number {
        font-size: calc(29 / 1400 * 100vw);
    }
    #recruit .p-recruit-flowLists__item .text-lead {
        font-size: calc(18 / 1400 * 100vw);
        padding: calc(12 / 1400 * 100vw);
    }
    #recruit .p-recruit-officeBlock__access .text-address {
        margin-bottom: calc(32 / 1400 * 100vw);
    }
    #recruit .p-recruit-officeBlock__access > ul li {
        font-size: calc(16 / 1400 * 100vw);
    }
    #recruit .p-component-addressText {
        top: -10px;
        left: calc(50% + calc(300 / 1400 * 100vw));
    }
}
/*---- SP／768px以下 ----*/
@media only screen and (max-width: 768px) {
    #recruit .l-section__title .text-en {
        font-size: 6.7rem;
    }
    #recruit .p-recruit-overviewLists,
    #recruit .p-recruit-flowLists {
        margin-inline: auto;
        width: calc(220 / 375 * 100vw);
    }
    #recruit .p-recruit-overviewLists > ul li {
        margin-top: 14px;
    }
    #recruit .p-recruit-overviewLists > ul li > a {
        font-size: 1.6rem;
        padding: 10px 30px 10px 10px;
    }
    #recruit .p-recruit-overviewLists > ul li > a:before,
    #recruit .p-recruit-overviewLists > ul li > a:after {
        right: 10px;
    }
    #recruit .p-recruit-flowLists__item {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        text-align: center;
    }
    #recruit .p-recruit-flowLists__item:nth-of-type(n+2) {
        margin-top: 35px;
    }
    #recruit .p-recruit-flowLists__item:after {
        top: initial;
        bottom: -25px;
        left: 38px;
        right: initial;
        transform: rotate(90deg);
    }
    #recruit .p-recruit-flowLists__item .text-number {
        font-size: 2.1rem;
        width: 85px;
    }
    #recruit .p-recruit-flowLists__item .text-lead {
        font-size: 1.3rem;
        padding: 8px;
        width: calc(100% - 85px);
    }
    #recruit .p-recruit-officeBlock__map {
        margin-top: 10px;
        margin-inline: auto;
        padding-top: calc(147 / 375 * 100vw);
        width: calc(205 / 375 * 100vw);
    }
    #recruit .p-recruit-officeBlock__access {
        display: table;
        margin-inline: auto;
        margin-top: 15px;
    }
    #recruit .p-recruit-officeBlock__access .text-address {
        font-size: 1.1rem;
        margin-bottom: 16px;
    }
    #recruit .p-recruit-officeBlock__access > ul li {
        font-size: 1.1rem;
    }
    #recruit .p-recruit-worksBlock {
        margin-top: 20px;
    }
    #recruit .p-recruit-worksBlock p {
        font-size: 1.1rem;
    }
    #recruit .p-component-textLink {
        margin-top: 24px;
    }
}




/* -----------------------------
    component
----------------------------- */

.p-component-decorationText {
    position: absolute;
    z-index: -1;
}
.p-component-decorationText p {
    color: #fff;
    font-family: "neue-haas-grotesk-text", sans-serif;
    font-size: 4rem;
    line-height: 1.12;
}
.p-component-addressText {
    color: #fff;
    position: absolute;
    z-index: -1;
}
.p-component-addressText p {
    color: #fff;
    font-family: "neue-haas-grotesk-text", sans-serif;
    font-size: 2.4rem;
    line-height: 1.1;
}
.p-component-addressText[data-align="right"] {
    text-align: right;
}

.p-component-englishText p {
    color: #fff;
    font-family: "neue-haas-grotesk-text", sans-serif;
    line-height: 1.12;
}
.p-component-heading-tert {
    font-size: 2.3rem;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
}
.p-component-heading-tert span {
    border-bottom: 3px solid #000;
    display: inline-block;
    padding-bottom: 5px;
}
.p-component-heading-tert + * {
    margin-top: 40px;
}
.p-component-textLink {
    font-family: "neue-haas-grotesk-text", sans-serif;
    font-size: 2.9rem;
}
.p-component-textLink a {
    border-bottom: 3px solid #000;
    color: #000;
    display: block;
    line-height: 1;
    padding-bottom: 5px;
}
.p-component-textLink.color-white a {
    border-bottom-color: #fff;
    color: #fff;
}
/*---- PC／769px以上 ----*/
@media only screen and (min-width: 769px) {
    .p-component-textLink {
        position: absolute;
        bottom: 60px;
        right: 60px;
    }
    .p-component-textLink a:hover {
        border-bottom-color: #fff;
        color: #fff;
    }
    .p-component-textLink.color-white a:hover {
        border-bottom-color: #000;
        color: #000;
    }
}
/*---- タブレット／769px以上〜1400px以下 ----*/
@media only screen and (min-width: 769px) and (max-width: 1400px) {
    .p-component-decorationText p {
        font-size: calc(40 / 1400 * 100vw);
    }
    .p-component-addressText p {
        font-size: calc(24 / 1400 * 100vw);
    }
    .p-component-heading-tert {
        font-size: calc(23 / 1400 * 100vw);
    }
    .p-component-heading-tert span {
        border-bottom-width: calc(3 / 1400 * 100vw);
        padding-bottom: calc(5 / 1400 * 100vw);
    }
    .p-component-heading-tert + * {
        margin-top: calc(40 / 1400 * 100vw);
    }
    .p-component-textLink {
        font-size: calc(29 / 1400 * 100vw);
        bottom: calc(60 / 1400 * 100vw);
        right: calc(60 / 1400 * 100vw);
    }
    .p-component-textLink a {
        border-bottom-width: calc(3 / 1400 * 100vw);
        padding-bottom: calc(5 / 1400 * 100vw);
    }
}
/*---- SP／768px以下 ----*/
@media only screen and (max-width: 768px) {
    .p-component-heading-tert {
        font-size: 2rem;
    }
    .p-component-heading-tert span {
    }
    .p-component-heading-tert + * {
        margin-top: 24px;
    }
    .p-component-textLink {
        display: table;
        margin-left: auto;
    }
    .p-component-textLink a {
        font-size: 2rem;
        padding-bottom: 4px;
    }
}




.p-recruitButton {
    position: fixed;
    bottom: 60px;
    right: 60px;
    z-index: 10;
}
.p-recruitButton .p-component-textLink {
    position: static;
}
/*---- タブレット／769px以上〜1400px以下 ----*/
@media only screen and (min-width: 769px) and (max-width: 1400px) {
    .p-recruitButton {
        bottom: calc(60 / 1400 * 100vw);
        right: calc(60 / 1400 * 100vw);
    }
}
/*---- SP／768px以下 ----*/
@media only screen and (max-width: 768px) {
    .p-recruitButton {
        bottom: 20px;
        right: 20px;
    }
}





/* -----------------------------
    popup
----------------------------- */

.p-popup-contents {
    display: none;
}
.modaal-container {
	background: transparent !important;
	box-shadow: none !important;
}
.modaal-content-container {
    padding: 0 !important;
}
.modaal-close {
    background-image: url(/img/top/popup_btn_close.svg) !important;
    background-repeat: no-repeat !important;
    background-position: left top !important;
    background-size: 100% auto !important;
    border-radius: 0 !important;
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    height: 25px !important;
    width: 25px !important;
}
.modaal-close:before,
.modaal-close:after {
    display: none;
}
.modaal-close:hover {
    background-color: transparent !important;
}
.modaal-overlay {
    background: rgba(255,255,255,0.7) !important;
}
.p-popup-contents__inner {
    margin-inline: auto;
}
.p-popup-contents--member,
.p-popup-contents--recruit {
    background-image: url(/img/top/popup_bg.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.p-popup-contents--member {
    padding: 45px;
}
.p-popup-contents--member .p-popup-contents__inner {
    max-width: 210px;
}
.p-popup-contents--member .text-name,
.p-popup-contents--member .text-comment {
    margin-top: 15px;
}
.p-popup-contents--member .text-name-english,
.p-popup-contents--member .text-position,
.p-popup-contents--member .text-comment p {
    font-size: 1.3rem;
}
.p-popup-contents--recruit {
    padding: 100px 90px;
}
.p-popup-contents--recruit dl {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 1.2rem;
    line-height: 1.3;
}
.p-popup-contents--recruit dl:nth-of-type(n+2) {
    margin-top: 24px;
}
.p-popup-contents--recruit dl dt {
    min-width: 110px;
}
/*---- SP／768px以下 ----*/
@media only screen and (max-width: 768px) {
    .modaal-close {
        top: 10px !important;
        right: 10px !important;
        height: 20px !important;
        width: 20px !important;
    }
    .p-popup-contents--member,
    .p-popup-contents--recruit {
        background-image: url(/img/top/popup_bg_sp.png);
    }
    .p-popup-contents--member {
        padding: 100px 20px;
    }
    .p-popup-contents--member .text-name,
    .p-popup-contents--member .text-comment {
        font-size: 1.4rem;
    }
    .p-popup-contents--member .text-name-english,
    .p-popup-contents--member .text-position,
    .p-popup-contents--member .text-comment p {
        font-size: 1.2rem;
    }
    .p-popup-contents--recruit {
        padding: 20px 50px;
    }
    .p-popup-contents--recruit dl {
        align-items: center;
        font-size: 1.1rem;
        padding: 14px 10px;
    }
    .p-popup-contents--recruit dl:nth-of-type(n+2) {
        border-top: 1px solid #fff;
        margin-top: 0;
    }
    .p-popup-contents--recruit dl dt {
        min-width: 70px;
    }
}