@charset "UTF-8";

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/noto-sans-jp/NotoSansJP-Regular.woff') format('woff'),
    url('../fonts/noto-sans-jp/NotoSansJP-Regular.ttf') format('truetype'); 
}

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/noto-sans-jp/NotoSansJP-SemiBold.woff') format('woff'),
    url('../fonts/noto-sans-jp/NotoSansJP-SemiBold.ttf') format('truetype'); 
}

@font-face {
    font-family: 'Kiwi Maru';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/Kiwi_Maru/KiwiMaru-Medium.woff') format('woff'),
    url('../fonts/Kiwi_Maru/KiwiMaru-Medium.ttf') format('truetype'); 
}


body{
    font-family: var(--main-font-family);
    color: var(--text-color);
    text-align: justify;
    word-break: break-all; 
    text-justify: inter-ideograph;
    text-justify: inter-character;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1;
    color: var(--text-color);
    overflow-y: scroll;
}

.u-br-sp,
.u-text-sp{
    display: none;
}
@media screen and (max-width: 767px) {
    .u-br-pc,
    .u-text-pc{
        display: none;
    }
    .u-br-sp,
    .u-text-sp{
        display: inline;
    }
}

.u-img-w100{
    width: 100%;
    height: auto;
}

a,
.u-link{
    transition: var(--link-transition);
    cursor: pointer;
}
a:hover,
.u-link:hover{
    opacity: var(--link-hover-opacity);
}

.js-hidden,
.js-hidden-child{
    opacity: 0;
    transform: translate3d(0, calc(30 * var(--px)), 0) rotate(0.001deg);
    transition: 1.5s cubic-bezier(0.23, 1, 0.32, 1);
}
.js-hidden-no-move{
    opacity: 0;
    transition: 1.5s cubic-bezier(0.23, 1, 0.32, 1);
}
.js-hidden.js-visible,
.js-hidden-parent.js-visible .js-hidden-child{
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(0.001deg);
}
.js-hidden-no-move.js-visible{
    opacity: 1;
}
.js-image{
    position: relative;
    clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
    transition: all 0.5s cubic-bezier(0.5, 0, 0, 1);
    overflow: hidden;
}
.js-image.js-visible,
.js-hidden.js-visible .js-image{
    clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
}
.js-image::before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--background-gradient-fv);
    width: 100%;
    height: 100%;
    transform: translateX(0%);
    z-index: 1;
    transition: all 0.5s cubic-bezier(0.5, 0, 0, 1);
    transition-delay: 0.5s;
}
.js-image.js-visible::before,
.js-hidden.js-visible .js-image::before{
    transform: translateX(101%);
}
@media screen and (max-width: 767px) {
    .js-hidden,
    .js-hidden-child{
        transform: translate3d(0, calc(15 * var(--px)), 0) rotate(0.001deg);
    }
    .js-hidden-child.js-visible{
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0.001deg);
    }
}

/*-------------------------
    layout
-------------------------*/
.l-wrapper{
    width: calc(1400 * var(--px));
    max-width: calc(100% - calc(40 * var(--px)));
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
    .l-wrapper{
        width: 100%;
        max-width: none;
    }
    .l-wrapper-sp{
        width: calc(100% - calc(var(--wrapper-sp-padding) * 2));
        margin: 0 auto;
    }
}

.l-contents{
    width: 100%;
}

.l-header{
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 calc(20 * var(--px));
    background: rgba(255,255,255,0.9);
    box-shadow: var(--shadow-base);
}
.l-header__logo-link{
    display: flex;
    align-items: center;
    justify-content: center;
}
.l-header__logo-link:hover{
    opacity: 1;
}
.l-header__logo-image,
.l-header__logo-text{
    transition: var(--link-transition);
}
.l-header__logo-link:hover .l-header__logo-image,
.l-header__logo-link:hover .l-header__logo-text{
    opacity: var(--link-hover-opacity);
}
.l-header__logo-image{
    width: calc(220 * var(--px));
    height: calc(74 * var(--px));
}
.l-header__logo-image img{
    width: 100%;
    height: auto;
}
.l-header__logo-text{
    font-weight: bold;
    margin-left: calc(20 * var(--px));
    font-size: var(--fs-logo-text);
    white-space: nowrap;
}
.l-header__navi{
    display: flex;
    align-items: center;
}
.l-header__navi-list{
    display: flex;
}
.l-header__navi-item{
    display: flex;
    align-items: center;
}
.l-header__navi-link{
    font-weight: bold;
    height: calc(90 * var(--px));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--fs-header-text);
    position: relative;
    white-space: nowrap;
}
.l-header__navi-link:hover,
.l-header__navi-link--active{
    opacity: 1;
    color: var(--main-color);
}
.l-header__navi-link::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 0%;
    height: calc(4 * var(--px));
    background-color: var(--main-color);
    box-shadow: var(--shadow-header-border);
    transition: width 0.3s ease;
}
.l-header__navi-link:hover::after,
.l-header__navi-link--active::after{
  width: 100%;
}
.l-header__navi-entry{
    width: calc(120 * var(--px));
    height: calc(50 * var(--px));
    background: var(--background-gradient-cta);
    color: #fff;
    font-weight: bold;
    border-radius: var(--radius-base);
    box-shadow: var(--shadow-base);
    font-size: var(--fs-header-text);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
    z-index: 1;
}
.l-header__navi,
.l-header__navi-entry{
    margin-left: calc(50 * var(--px));
}
.l-header__navi-item:nth-child(n+2){
    margin-left: calc(40 * var(--px));
}
.l-header__navi-menu{
    display: none;
}
@media screen and (max-width: 1300px) {
    .l-header__navi,
    .l-header__navi-entry{
        margin-left: calc(38 * var(--px) * 0.85);
    }
    .l-header__navi-item:nth-child(n+2){
        margin-left: calc(28 * var(--px) * 0.85);
    }
}
@media screen and (max-width: 767px) {
    .l-header{
        padding: calc(10 * var(--px)) var(--wrapper-sp-padding);
    }
    .l-header__navi-list{
        display: none;
    }
    .l-header__logo-image{
        width: calc(140 * var(--px));
        height: calc(44 * var(--px));
    }
    .l-header__logo-text{
        margin-left: calc(8 * var(--px));
    }
    .l-header__navi-entry{
        width: calc(70 * var(--px));
        height: calc(45 * var(--px));
    }
    .l-header__navi,
    .l-header__navi-entry{
        margin-left: 0;
    }
    .l-header__navi-menu{
        width: calc(45 * var(--px));
        height: calc(45 * var(--px));
        background: var(--background-button);
        color: #fff;
        font-weight: bold;
        border-radius: var(--radius-base);
        box-shadow: var(--shadow-base);
        font-size: var(--fs-header-text);
        display: flex;
        align-items: center;
        justify-content: center;
        margin-left: calc(10 * var(--px));
        position: relative;
        flex-direction: column;
    }
    .l-header__navi-menu-close,
    .l-header__navi-menu.l-header__navi-menu--open .l-header__navi-menu-menu{
        display: none;
    }
    .l-header__navi-menu--open .l-header__navi-menu-close{
        display: inline;
    }
    .l-header__navi-menu-icon{
        width: calc(25 * var(--px));
        height: calc(10 * var(--px));
        margin-bottom: calc(6 * var(--px));
        position: relative;
    }
    .l-header__navi-menu-icon::before,
    .l-header__navi-menu-icon::after{
        content: "";
        width: 100%;
        height: 100%;
        height: 2px;
        background: #fff;
        position: absolute;
        left: 0;
        transition: var(--link-transition);
    }
    .l-header__navi-menu-icon::before{
        top: 0;
    }
    .l-header__navi-menu-icon::after{
        bottom: 0;
    }
    .l-header__navi-menu.l-header__navi-menu--open .l-header__navi-menu-icon::before{
        transform: translateY(3px) rotate(30deg);
    }
    .l-header__navi-menu.l-header__navi-menu--open .l-header__navi-menu-icon::after{
        transform: translateY(-5px) rotate(-30deg);
    }
}

.l-footer{
    position: relative;
    z-index: 10;
    padding: calc(60 * var(--px)) 0;
    background: var(--background-footer);
}
.l-footer__wrapper{
    display: flex;
    justify-content: space-between;
}
.l-footer__logo{
    display: flex;
    align-items: center;
    justify-content: center;
}
.l-footer__logo-image{
    width: calc(220 * var(--px));
    height: calc(74 * var(--px));
}
.l-footer__logo-image img{
    width: 100%;
    height: auto;
}
.l-footer__logo-text{
    font-weight: bold;
    margin-left: calc(20 * var(--px));
    font-size: var(--fs-footer-logo-text);
    color: #fff;
}
.l-footer__button-list{
    display: flex;
    align-items: center;
}
.l-footer__button-item{
    background: #fff;
    border-radius: calc(25 * var(--px));
}
.l-footer__button{
    width: calc(300 * var(--px));
    background: var(--background-button);
    border-radius: calc(25 * var(--px));
    color: #fff;
    box-shadow: var(--shadow-base);
    height: calc(50 * var(--px));
    display: flex;
    align-items: center;
    padding: 0 calc(60 * var(--px)) 0 calc(30 * var(--px));
    font-size: var(--fs-footer-text);
    position: relative;
}
.l-footer__button::after,
.l-footer__button-text{
    transition: var(--link-transition);
}
.l-footer__button-item:nth-child(n+2){
    margin-left: calc(25 * var(--px));
}
.l-footer__button::after{
    content: '\f08e';
    color: var(--main-color);
    font-family: var(--icon-font-family);
    font-size: var(--fs-footer-text);
    font-weight: bold;
    position: absolute;
    right: calc(15 * var(--px));
    top: calc(50% - (7 * var(--px)));
    color: #fff;
}
.l-footer__button-logo{
    width: auto;
    height: var(--fs-footer-text);
    margin: 0 calc(5 * var(--px)) 0 0;
}
.l-footer__menu{
    display: flex;
    justify-content: center;
    background: var(--background-footer-menu);
    padding: calc(30 * var(--px));
    border-radius: var(--radius-base);
    font-weight: bold;
    margin-top: calc(30 * var(--px));
}
.l-footer__menu-item:nth-child(n+2){
    margin-left: calc(50 * var(--px));
}
.l-footer__menu-link{
    font-size: var(--fs-base);
    color: #fff;
    position: relative;
}
.l-footer__menu-link:hover{
    opacity: 1;
}
.l-footer__menu-link::before{
    color: var(--gray-color-darker);
    content: '\f054';
    font-family: var(--icon-font-family);
    font-weight: bold;
    margin-right: calc(10 * var(--px));
}
.l-footer__menu-text{
    position: relative;
    padding: calc(5 * var(--px)) 0;
    display: inline-block;
}
.l-footer__menu-text::before{
    background: #fff;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
    width: 100%;
}
.l-footer__menu-link:hover .l-footer__menu-text::before,
.l-footer__nav-link:hover .l-footer__menu-text::before{
    transform: scale(1, 1);
}
.l-footer__lower{
    margin-top: calc(40 * var(--px));
}
.l-footer__nav-list{
    display: flex;
}
.l-footer__nav-item:nth-child(n+2){
    margin-left: calc(50 * var(--px));
}
.l-footer__nav-link{
    font-size: var(--fs-footer-text);
    color: #fff;
}
.l-footer__nav-link:hover{
    opacity: 1;
}
.l-footer__nav-link::before{
    content: '\f054';
    color: var(--gray-color-darker);
    font-family: var(--icon-font-family);
    font-size: var(--fs-footer-text);
    font-weight: bold;
    margin-right: calc(10 * var(--px));
}
.l-footer__nav-link::after{
    content: '\f08e';
    color: var(--gray-color-darker);
    font-family: var(--icon-font-family);
    font-size: var(--fs-footer-text);
    font-weight: bold;
    margin-left: calc(10 * var(--px));
}
.l-footer__copy{
    font-size: var(--fs-copy);
    color: var(--gray-color-darker);
}
.l-footer__pagetop{
    display: none;
}
.l-footer__pagetop-link{
    width: calc(86 * var(--px));
    height: calc(86 * var(--px));
    padding: calc(38 * var(--px)) 0 0 calc(28 * var(--px));
    clip-path: polygon(0 100%, 100% 0, 100% 100%);
    background: var(--background-button);
    border-radius: var(--radius-base) 0 0 0;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 10000;
    color: #fff;
    font-size: var(--fs-base-small);
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-family: var(--english-font-family);
}
.l-footer__pagetop-link::before{
    content: '\f054';
    color: #fff;
    font-family: var(--icon-font-family);
    transform: rotate(-90deg);
    margin-bottom: calc(2 * var(--px));
}
.l-footer__pagetop-link:hover{
    opacity: 1;
    filter: brightness(1.1);
}
@media screen and (max-width: 767px) {
    .l-footer{
        padding: calc(30 * var(--px)) var(--wrapper-sp-padding);
    }
    .l-footer__logo-image{
        width: calc(203 * var(--px));
        height: calc(69 * var(--px));
    }
    .l-footer__wrapper{
        padding: 0;
    }
    .l-footer__wrapper,
    .l-footer__button-list{
        display: block;
    }
    .l-footer__button-list{
        margin-top: calc(15 * var(--px));
    }
    .l-footer__button{
        width: 100%;
        font-size: var(--fs-base);
        padding: calc(20 * var(--px));
    }
    .l-footer__button::after{
        font-size: var(--fs-base);
    }
    .l-footer__button-item:nth-child(n+2){
        margin: calc(15 * var(--px)) 0 0;
    }
    .l-footer__button::after{
        right: calc(20 * var(--px));
    }
    .l-footer__button-logo{
        height: calc(var(--fs-footer-text) * 1.25);
        margin-bottom: calc(1 * var(--px));
    }
    .l-footer__menu{
        flex-wrap: wrap;
        padding: calc(20 * var(--px));
    }
    .l-footer__menu-item,
    .l-footer__menu-item:nth-child(n+2){
        width: 55%;
        margin: 0;
    }
    .l-footer__menu-item:nth-child(2n){
        width: 45%;
    }
    .l-footer__menu-item:nth-child(n+3),
    .l-footer__menu-item.l-footer__menu-item--contact:nth-child(n+2){
        margin-top: calc(10 * var(--px));
    }
    .l-footer__menu-link{
        font-size: var(--fs-base-small);
    }
    .l-footer__lower{
        margin-top: calc(30 * var(--px));
    }
    .l-footer__nav-list{
        display: flex;
        justify-content: space-between;
    }
    .l-footer__nav-item:nth-child(n+2){
        margin-left: calc(25 * var(--px));
    }
    .l-footer__nav-link{
        font-size: var(--fs-base-tiny);
    }
    .l-footer__nav-link::before{
        font-size: var(--fs-base-tiny);
        margin-right: calc(8 * var(--px));
    }
    .l-footer__nav-link::after{
        font-size: var(--fs-base-tiny);
        margin-left: calc(8 * var(--px));
    }
    .l-footer__copy{
        text-align: center;
        margin-top: calc(20 * var(--px));
    }
    .l-footer__pagetop{
        display: none;
    }
}

.l-sp-nav{
    display: none;
}
@media screen and (max-width: 767px) {
    .l-sp-nav{
        backdrop-filter: blur(5px);
        width: 100%;
        z-index: 9998;
        position: relative;
        padding: calc(100 * var(--px)) calc(20 * var(--px)) calc(50 * var(--px));
        min-height: 100vh;
        min-height: 100svh;
    }
    .l-sp-nav::before{
        content: "";
        width: 100%;
        height: 100%;
        background: var(--background-light);
        opacity: 0.9;
        position: absolute;
        top: 0;
        left: 0;
    }
    .l-sp-nav__item:nth-child(n+2) {
        margin: calc(10 * var(--px)) 0 0;
    }
    .l-sp-nav__link{
        display: flex;
        align-items: center;
        background: #fff;
        border-radius: var(--radius-base);
        box-shadow: var(--shadow-base);
        height: calc(50 * var(--px));
        padding: calc(20 * var(--px));
        font-size: var(--fs-base);
        position: relative;
        z-index: 1;
        font-weight: bold;
    }
    .l-sp-nav__link-text{
        width: 100%;
        display: block;
    }
    .l-sp-nav__close{
        position: relative;
        z-index: 1;
    }
}

.l-modal{
    width: 100%;
    height: 100%;
    z-index: 10001;
    position: relative;
    backdrop-filter: blur(5px);
    padding: calc(100 * var(--px)) 0;
    display: none;
    min-height: 100vh;
    min-height: 100svh;
}
.l-modal__overlay{
    background: var(--text-color);
    opacity: 0.9;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.l-modal__wrapper{
    position: relative;
    z-index: 1;
    max-width: calc(100% - calc(100 * var(--px)));
    margin: 0 auto;
}
.l-modal__container{
    border-radius: var(--radius-base);
    box-shadow: var(--shadow-base);
    overflow: hidden;
}
.l-modal__contents{
    display: none;
    background: #fff;
}
.l-modal__close{
    width: calc(60 * var(--px));
    height: calc(60 * var(--px));
    position: absolute;
    top: calc(-30 * var(--px));
    right: calc(-30 * var(--px));
    border-radius: calc(30 * var(--px));
    box-shadow: var(--shadow-base);
    background: var(--gray-color-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.l-modal__close:hover{
    opacity: 1;
    background: color-mix(in srgb, var(--gray-color-dark) 70%, #fff);
}
.l-modal__close-icon{
    width: calc(25 * var(--px));
    height: calc(10 * var(--px));
    margin-bottom: calc(7 * var(--px));
    position: relative;
}
.l-modal__close-icon::before,
.l-modal__close-icon::after{
    content: "";
    width: 100%;
    height: 100%;
    height: 2px;
    background: #fff;
    position: absolute;
    left: 0;
    transition: var(--link-transition);
}
.l-modal__close-icon::before{
    top: 0;
    transform: translateY(calc(3 * var(--px))) rotate(30deg);
}
.l-modal__close-icon::after{
    bottom: 0;
    transform: translateY(calc(-5 * var(--px))) rotate(-30deg);
}
.l-modal__close-text{
    font-size: var(--fs-close-text);
    color: #fff;
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .l-modal{
        padding: calc(50 * var(--px)) 0;
    }
    .l-modal__wrapper{
        max-width: calc(100% - calc(40 * var(--px)));
    }
    .l-modal__close{
        width: calc(50 * var(--px));
        height: calc(50 * var(--px));
        top: calc(-25 * var(--px));
        right: calc(-15 * var(--px));
        border-radius: calc(25 * var(--px));
    }
    .l-modal__close:hover{
        background: var(--gray-color-dark);
    }
}

.l-entry{
    background: var(--background-cta);
    padding: var(--modal-padding);
}

/*-------------------------
    component
-------------------------*/
.c-title{
    display: flex;
    align-items: center;
    margin-bottom: calc(40 * var(--px));
    position: relative;
    padding: calc(15 * var(--px)) 0 calc(15 * var(--px)) calc(25 * var(--px));
    border-left: calc(5 * var(--px)) solid var(--main-color);
}
.c-title__ja{
    font-size: var(--fs-title);
    font-weight: bold;
}
.c-title__en{
    font-size: var(--fs-base-large);
    margin: var(--english-margin-top) 0 0 calc(20 * var(--px));
    color: var(--gray-color-dark);
    font-family: var(--english-font-family);
}
@media screen and (max-width: 767px) {
    .c-title{
        margin-bottom: calc(25 * var(--px));
        padding: 0 0 calc(20 * var(--px));
        border: none;
        flex-direction: column;
        position: relative;
    }
    .c-title::after{
        content: "";
        width: calc(30 * var(--px));
        height: calc(3 * var(--px));
        background: var(--main-color);
        position: absolute;
        bottom: 0;
        left: calc(50% - (15 * var(--px)));
    }
    .c-title__en{
        font-size: var(--fs-base);
        margin: calc(10 * var(--px)) 0 0;
    }
}

.c-button{
    background: var(--background-light);
    margin: calc(30 * var(--px)) auto 0;
}
.c-button,
.c-button__link {
    width: calc(300 * var(--px));
    border-radius: calc(30 * var(--px));
}
.c-button__link {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    height: calc(60 * var(--px));
    text-align: center;
    text-decoration: none;
    color: #fff;
    background: var(--background-button);
    position: relative;
    transition: var(--link-transition);
    font-size: var(--fs-base);
    line-height: var(--lh-tight);
    box-shadow: var(--shadow-base);
}
.c-button__link--cv{
    background: var(--background-gradient-cta);
}
.c-button__link::after{
    content: '\f054';
    color: var(--main-color);
    background: #fff;
    font-family: var(--icon-font-family);
    font-size: calc(13 * var(--px));
    font-weight: bold;
    width: calc(22 * var(--px));
    height: calc(22 * var(--px));
    position: absolute;
    right: calc(15 * var(--px));
    top: calc(50% - (11 * var(--px)));
    transition: var(--link-transition);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: calc(11 * var(--px));
    line-height: 1;
}
.c-button__link--cv::after{
    color: var(--cta-color);
}
.c-button__link[target="_blank"]{
    padding: 0 calc((30 * var(--px)) + var(--fs-base) + (30 * var(--px)));
}
.c-button__link[target="_blank"]::before{
    content: '\f08e';
    color: #fff;
    font-family: var(--icon-font-family);
    font-size: var(--fs-base);
    font-weight: bold;
    position: absolute;
    right: calc(30 * var(--px));
    top: calc(50% - (7.5 * var(--px)));
    line-height: 1;
}
.c-button__link[target="_blank"]::after{
    display: none;
}
.c-button__link--pdf[target="_blank"]::before{
    content: "";
    width: calc(var(--fs-base) * 1.1);
    height: calc(var(--fs-base) * 1.1);
    background: url(../img/common/pdf_icon.svg) center top / cover no-repeat;
}
.c-button__link--bottom::after{
    transform: rotate(90deg);
}
.c-button__link--back{
    background: var(--gray-color-dark);
}
.c-button__link--back::after{
    color: var(--gray-color-dark);
    right: auto;
    left: calc(20 * var(--px));
    transform: rotate(180deg);
}
@media screen and (max-width: 767px) {
    .c-button{
        margin-top: calc(20 * var(--px));
        width: calc(100% - calc(40 * var(--px)));
    }
    .c-button,
    .c-button__link {
        border-radius: calc(27 * var(--px));
    }
    .c-button__link {
        width: 100%;
        height: calc(54 * var(--px));
    }
    .c-button__link[target="_blank"]{
        padding: 0 calc((20 * var(--px)) + var(--fs-base) + (20 * var(--px)));
    }
    .c-button__link[target="_blank"]::before{
        right: calc(15 * var(--px));
    }
    .c-button__link--col-2{
        flex-direction: column;
        height: calc(70 * var(--px));
        border-radius: calc(35 * var(--px));
        background: var(--background-button);
    }
    .c-button__link--col-2::after{
        position: static;
        margin-top: calc(10 * var(--px));
    }
}

.c-entry{
    background: var(--background-cta);
    padding: var(--section-padding);
}

.c-link{
    display: flex;
    justify-content: space-between;
}
.c-link__item{
    background: #fff;
    width: var(--col-width-3);
    border-radius: var(--radius-base);
}
.c-link__link{
    display: flex;
    align-items: center;
    padding: var(--box-padding-button);
    background: #fff;
    border-radius: var(--radius-base);
    box-shadow: var(--shadow-base);
}
.c-link__image{
    width: calc(50 * var(--px));
    height: calc(50 * var(--px));
    position: relative;
    margin-right: calc(15 * var(--px));
}
.c-link__image img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: absolute;
    top: 0;
    left: 0;
}
.c-link__text{
    font-size: var(--fs-base-large);
    font-weight: bold;
    position: relative;
    flex-grow: 1;
    text-align: left;
}
.c-link--entry .c-link__link{
    background: var(--background-gradient-cta);
    color: #fff;
}
.c-link--entry .c-link__text{
    font-size: var(--fs-entry-button);
}
.c-link--entry .c-link__text{
    margin: 0;
}
@media screen and (max-width: 767px) {
    .c-link{
        display: block;
    }
    .c-link__item:nth-child(n+2){
        margin-top: var(--col-margin);
    }
    .c-link__image{
        width: calc(40 * var(--px));
        height: calc(40 * var(--px));
        margin: 0;
    }
    .c-link__text{
        font-size: var(--fs-base);
        margin: 0 0 0 calc(20 * var(--px));
    }
    .c-link--entry .c-link__link{
        background: var(--background-gradient-cta);
    }
}

.c-arrow-circle{
    position: relative;
}
.c-arrow-circle::after{
    content: '\f054';
    color: #fff;
    background: var(--main-color);
    font-family: var(--icon-font-family);
    width: calc(32 * var(--px));
    height: calc(32 * var(--px));
    font-size: var(--fs-base);
    border-radius: calc(16 * var(--px));
    font-weight: bold;
    text-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-base);
}
.c-arrow-circle--entry::after{
    background: #fff;
    color: var(--cta-color);
}
.c-arrow-circle--right{
    padding-right: calc(42 * var(--px));
}
.c-arrow-circle--right::after{
    position: absolute;
    right: 0;
    top: calc(50% - calc(16 * var(--px)));
}
.c-arrow-circle--bottom{
    text-align: center;
}
.c-arrow-circle--bottom::after{
     margin: calc(20 * var(--px)) auto 0;
}
@media screen and (max-width: 767px) {
    .c-arrow-circle{
         padding-right: calc(32 * var(--px));
    }
    .c-arrow-circle::after{
        width: calc(22 * var(--px));
        height: calc(22 * var(--px));
        font-size: var(--fs-base-tiny);
        border-radius: calc(11 * var(--px));
    }
    .c-arrow-circle--bottom{
        text-align: left;
    }
    .c-arrow-circle--right::after,
    .c-arrow-circle--bottom::after{
        top: calc(50% - (11 * var(--px)));
    }
    .c-arrow-circle--bottom::after{
        margin: 0;
        position: absolute;
        right: 0;
    }
}

.c-close{
    width: calc(250 * var(--px));
    height: calc(50 * var(--px));
    border-radius: calc(25 * var(--px));
    margin: calc(40 * var(--px)) auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background: var(--gray-color-dark);
    font-size: var(--fs-base);
    box-shadow: var(--shadow-base);
}
@media screen and (max-width: 767px) {
    .c-close{
        width: calc(200 * var(--px));
        height: calc(40 * var(--px));
        border-radius: calc(20 * var(--px));
        margin: calc(30 * var(--px)) auto 0;
    }
}

.c-page-title{
    background: var(--background-page-title);
}
.c-page-title__wrapper{
    padding: calc(105 * var(--px)) 0 0;
    height: calc((105 + 150) * var(--px));
    display: flex;
    align-items: center;
    justify-content: center;
}
.c-page-title__ja{
    font-size: var(--fs-title-large);
    font-weight: bold;
    letter-spacing: 1px;
}
.c-page-title__en{
    font-size: var(--fs-base-large);
    margin: var(--english-margin-top) 0 0 calc(20 * var(--px));
    color: var(--gray-color-dark);
    font-family: var(--english-font-family);
}
@media screen and (max-width: 767px) {
    .c-page-title__wrapper{
        padding: calc(75 * var(--px)) var(--wrapper-sp-padding) 0;
        height: calc((75 + 90) * var(--px));
        flex-direction: column;
    }
    .c-page-title__ja{
        letter-spacing: 0.5px;
    }
    .c-page-title__en{
        margin: calc(10 * var(--px)) 0 0;
    }
}

.c-breadcrumb{
    border-bottom: 1px solid var(--gray-color-light);
    font-size: var(--fs-base-tiny);
    padding: calc(10 * var(--px)) 0;
    line-height: var(--lh-tight);
    background: #fff;
    position: relative;
    z-index: 1;
}
.c-breadcrumb__list{
    display: flex;
    flex-wrap: wrap;
}
.c-breadcrumb__item{
    flex-shrink: 0;
    max-width: 100%;
}
.c-breadcrumb__item:not(:last-child)::after{
     content: ">";
     margin: 0 calc(10 * var(--px));
}
.c-breadcrumb__link{
    color: var(--main-color);
    text-decoration: underline;
    text-underline-offset: calc(3 * var(--px));
}
@media screen and (max-width: 767px) {
    .c-breadcrumb{
        padding: calc(7 * var(--px)) var(--wrapper-sp-padding);
        line-height: var(--lh-base);
    }
    .c-breadcrumb__item{
        max-width: none;
    }
    .c-breadcrumb__item:not(:last-child)::after{
        margin: 0 calc(5 * var(--px));
    }
    .c-breadcrumb__link{
        text-underline-offset: calc(1 * var(--px));
    }
}

.c-tab{
    padding: var(--section-padding-small);
}
.c-tab.padding-0{
    padding: 0;
}
.c-tab__list{
    display: flex;
    justify-content: center;
}
.c-tab__item{
    width: var(--col-width-3);
}
.c-tab__item:nth-child(n+2){
    margin: 0 0 0 calc(50 * var(--px));
}
.c-tab__link{
    width: 100%;
}
@media screen and (max-width: 767px) {
    .c-tab.padding-0{
        padding: 0 var(--wrapper-sp-padding);
    }
    .c-tab__list:not(.c-tab__list--col-2){
        display: block;
    }
    .c-tab__list:not(.c-tab__list--col-2) .c-tab__item:nth-child(n+2){
        margin: calc(15 * var(--px)) 0 0;
    }
    .c-tab__list.c-tab__list--col-2{
        justify-content: space-between;
    }
    .c-tab__list.c-tab__list--col-2 .c-tab__item{
        width: calc(50% - (10 * var(--px)));
    }
    .c-tab__list.c-tab__list--col-2 .c-tab__item:nth-child(n+2){
        margin: 0;
    }
}

.c-people{
    padding: var(--section-padding);
    overflow: hidden;
    position: relative;
}
.c-people::before{
    content: "";
    width: 60%;
    height: 70%;
    background: var(--background-gradient-people);
    opacity: 0.25;
    position: absolute;
    right: 0;
    top: 15%;
    clip-path: polygon(0 calc(75 * var(--px)), 100% 0, 100% calc(100% - (75 * var(--px))), 0 100%);
}
.c-people.is-people-index::before{
    clip-path: none;
}
.c-people__wrapper{
    position: relative;
}
.c-people__list{
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-top: calc(75 * var(--px));
}
.c-people__list:not(.is-people-index){
    margin-top: 0;
}
.c-people__item{
    width: calc((309 / 1400) * 100%);
    margin: calc((54.667 / 1400) * 100%) calc((54.667 / 1400) * 100%) 0 0;
    border-radius: var(--radius-large);
    overflow: hidden;
    position: relative;
    box-shadow: var(--shadow-base);
}
.c-people__item:nth-child(4n){
    margin-right: 0;
}
.c-people__item:nth-child(-n+4){
    margin-top: 0;
}
.c-people__link{
    position: relative;
}
.c-people__info{
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(calc(5 * var(--px)));
    padding: calc(20 * var(--px));
    color: #fff;
    text-shadow: var(--shadow-base);
}
.c-people__link:hover{
    opacity: 1;
}
.c-people__title-pc{
    opacity: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    color: #fff;
    backdrop-filter: blur(calc(5 * var(--px)));
    font-size: var(--fs-base-large);
    line-height: var(--lh-base);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: var(--hand-font-family);
    font-weight: 500;
    position: absolute;
    top: 0;
    left: 0;
    transition: var(--link-transition);
}
.c-people__link:hover .c-people__title-pc{
    opacity: 1;
}
.c-people__title-pc::before{
    content: "";
    background: var(--main-color);
    opacity: 0.75;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
.c-people__title-sp{
    display: none;
}
.c-people__position{
    font-size: var(--fs-base-small);
    line-height: var(--lh-base);
}
.c-people__name{
    font-size: var(--fs-title-small);
    line-height: var(--lh-base);
    font-weight: bold;
}
.c-people__button{
    position: absolute;
    bottom: 0;
    right: 0;
}
@media screen and (min-width: 768px) {
    .c-people:not(.is-people-index) .c-people__item:nth-child(2){
        margin-top: calc(-50 * var(--px));
    }
    .c-people:not(.is-people-index) .c-people__item:nth-child(3){
        margin-top: calc(-100 * var(--px));
    }
    .c-people:not(.is-people-index) .c-people__item:nth-child(4){
        margin-top: calc(-150 * var(--px));
}
}
@media screen and (max-width: 767px) {
    .c-people::before{
        top: 15%;
        clip-path: none;
    }
    .c-people__list{
        display: block;
        margin-top: calc(30 * var(--px));
    }
    .c-people__item,
    .c-people__item:nth-child(4n),
    .c-people__item:nth-child(-n+4){
        width: 100%;
        margin: 0;
    }
    .c-people__item:nth-child(n+2){
        margin-top: calc(20 * var(--px));
    }
    .c-people__link{
        display: flex;
        flex-wrap: wrap;
    }
    .c-people__image{
        width: calc((120 / 335) * 100%);
    }
    .c-people__title-pc{
        display: none;
    }
    .c-people__info{
        position: static;
        width: calc((215 / 335) * 100%);
        background: var(--background-light);
        display: flex;
        justify-content: center;
        flex-direction: column;
        color: var(--text-color);
        text-shadow: none;
        padding: calc(15 * var(--px));
    }
    .c-people__title-sp{
        display: block;
        color: var(--main-color);
        line-height: var(--lh-tight);
        font-size: var(--fs-base-small);
        font-weight: bold;
        margin-bottom: calc(10 * var(--px));
        border-radius: var(--radius-base);
        font-family: var(--hand-font-family);
    }
    .c-people__button{
        position: static;
        margin-top: calc(30 * var(--px));
    }
}

.c-bg-gradient{
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
}
.c-bg-gradient::before,
.c-bg-gradient::after{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transition: var(--bg-transition);
}
.c-bg-gradient::before{
    opacity: 1;
}
.c-bg-gradient::after{
    background: var(--background-accent);
    mix-blend-mode: normal;
    opacity: 0.9;
}

.c-business-other{
    font-size: var(--fs-base);
    line-height: var(--lh-base);
    margin-top: calc(40 * var(--px));
    display: flex;
    justify-content: center;
}
.c-business-other__title{
    font-weight: bold;
    margin-right: calc(20 * var(--px));
}
@media screen and (max-width: 767px) {
    .c-business-other{
        display: block;
        margin-top: calc(25 * var(--px));
        display: block;
    }
    .c-business-other__title{
        margin: 0 0 calc(5 * var(--px));
    }
}

.c-modal-business{
    padding: var(--modal-padding);
    background: var(--background-light);
}
.c-modal-business__text{
    font-size: var(--fs-base-small);
    line-height: var(--lh-base);
    margin-top: calc(((var(--fs-base-small) * var(--lh-base)) - var(--fs-base-small)) / -2);
}
.c-modal-business__list{
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(40 * var(--px));
    border-radius: var(--radius-base);
}
.c-modal-business__item{
    width: calc(25% - calc(15 * var(--px)));
    margin: calc(20 * var(--px)) calc(20 * var(--px)) 0 0;
}
.c-modal-business__item:nth-child(4n){
    margin-right: 0;
}
.c-modal-business__item:nth-child(-n+4){
    margin-top: 0;
}
.c-modal-business__link{
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-base);
    width: 100%;
    height: calc(60 * var(--px));
    padding: calc(10 * var(--px)) calc(40 * var(--px)) calc(10 * var(--px)) calc(10 * var(--px));
    border-radius: var(--radius-base);
    background: #fff;
    position: relative;
    overflow: hidden;
}
.c-modal-business__link--agency{
    padding-top: 0;
}
.c-modal-business__link::after {
    content: '\f08e';
    font-family: var(--icon-font-family);
    background: var(--gray-color-light);
    font-size: calc(12 * var(--px));
    font-weight: bold;
    width: calc(30 * var(--px));
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    bottom: 0;
}
.c-modal-business__logo{
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}
@media screen and (max-width: 767px) {
    .c-modal-business__list{
        margin-top: calc(20 * var(--px));
    }
    .c-modal-business__item,
    .c-modal-business__item:nth-child(4n),
    .c-modal-business__item:nth-child(-n+4){
        width: calc(50% - calc(6 * var(--px)));
        margin: calc(12 * var(--px)) calc(12 * var(--px)) 0 0;
    }
    .c-modal-business__item:nth-child(2n){
        margin-right: 0;
    }
    .c-modal-business__item:nth-child(-n+2){
        margin-top: 0;
    }
    .c-modal-business__link{
        padding: 0;
        height: calc(52 * var(--px));
        padding: calc(5 * var(--px)) 0 calc(23 * var(--px));
    }
    .c-modal-business__link--agency{
        padding-top: 0;
    }
    .c-modal-business__link::after{
        width: 100%;
        height: calc(18 * var(--px));
        font-size: calc(10 * var(--px));
    }
}