@charset "utf-8";

/* ===== style.css ===== */
/* -- font -- */
/* Oxygen */
@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');
/* Jenson Pro */
@import url("https://use.typekit.net/tnd4kuc.css");


/* -- body -- */
body {
    font-family: 'Oxygen', sans-serif;
    font-size: 11px;
    line-height: 1;
    color: #2F2F2F;
    background: #FFF;
}

/* -- inner -- */
@media screen and ( max-width: 997px ) {
    .inner {
        margin: 0 20px;
        width: auto;
    }
}


/*
    tag
*/
a {
    color: #2F2F2F;
    text-decoration: none;
    transition: opacity 0.6s;
}
@media screen and ( min-width: 901px ) {
    a:hover {
        opacity: 0.6;
    }
}

img {
    max-width: 100%;
    height: auto;
}


/*
    common
*/
/* -- hide -- */
@media screen and ( min-width: 901px ) {
    .pc_hide { display: none!important; }
}
@media screen and ( max-width: 900px ) {
    .sp_hide { display: none!important; }
}


/*
    footer
*/
#footer {
    position: fixed;
    right: 19px;
    bottom: 19px;
    z-index: 20;
}
.footer_inner {
    padding: 0;
}
.sns_link li:not(:last-child) {
    margin-bottom: 19px;
}
.copy {
    font-size: 10px;
    letter-spacing: 0.05em;
    overflow: hidden;
    margin: 19px 0 0 3px;
    height: 70px;
    width: 13px;
}
.copy span {
    white-space: nowrap;
    display: block;
    transform: rotate(90deg) translateY(-100%);
    transform-origin: 0 0;
}
@media screen and ( max-width: 900px ) {
    #footer {
        right: 12px;
        bottom: 13px;
    }
}

/*
    contents
*/
#contents {
    display: flex;
    align-items: center;
    min-height: 100vh;
    overflow-x: scroll;
    overflow-y: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
#contents::-webkit-scrollbar {
    display: none;
}
#contents .inner {
    display: flex;
    position: relative;
    transition: left 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media screen and ( max-width: 900px ) {
    #contents {
        display: block;
        overflow-x: hidden;
    }
    #contents .inner {
        display: block;
    }
}
/* - スクロールバー - */
.simplebar-track {
    height: 16px!important;
}
.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
    top: 4px;
    height: 8px;
}
.simplebar-scrollbar::before {
    background: rgba(0, 0, 0, 0.5);
    border-radius: 10em;
    height: 8px!important;
    margin: 0 3px
}
.simplebar-scrollbar.simplebar-visible::before {
    opacity: 1;
}

/* -- catchBox -- */
#catchBox {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 41.362vw;
}
#catchBox > * {
    position: relative;
    margin-bottom: 15px;
    padding: 79px 14px 30px 0;
}
#catchBox .line {
    position: relative;
    overflow: hidden;
    margin: 60px 0 0 0;
    width: 100px;
    height: 1px;
    background: #C3C3C3;
}
#catchBox .line::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    background: #2F2F2F;
    content: "";
    transform: translateX(-100%);
    animation: 2s infinite ease-out 2s LineAnm;
}
#catchBox .h1 {
    font-family: "adobe-jenson-pro", serif;
    font-size: 38px;
    letter-spacing: 0.14em;
    display: block;
    margin-bottom: 41px;
}
#catchBox .companyName {
    font-family: "adobe-jenson-pro", serif;
    font-size: 16px;
    letter-spacing: 0.14em;
    text-align: left;
    display: block;
    margin-bottom: 13px;
}
#catchBox .tit {
    font-family: "adobe-jenson-pro", serif;
    font-size: 16px;
    letter-spacing: 0.14em;
    display: block;
    text-align: left;
}
@keyframes LineAnm {
    0% {
        transform: translateX(-100%);
    }
    60% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(100%);
    }
}
@media screen and ( max-width: 900px ) {
    #catchBox {
        display: block;
        min-width: auto;
    }
    #catchBox > * {
        margin-top: 0;
        padding: 62px 0 47px;
    }
    #catchBox .line {
        display: none;
    }
    #catchBox .h1 {
        font-size: 28px;
        letter-spacing: 0.2em;
        margin-bottom: 22px;
    }
    #catchBox .companyName {
        font-size: 14px;
        text-align: center;
        margin-bottom: 8px;
    }
    #catchBox .tit {
        font-size: 14px;
        letter-spacing: 0.21em;
        text-align: center;
    }
}

/* -- margin -- */
@media screen and ( min-width: 901px ) {
    .mr0 { margin-right: 0!important; }
    .mr5 { margin-right: 5px!important; }
    .mr150 { margin-right: 150px!important; }
    .mr190 { margin-right: 190px!important; }
    .mr200 { margin-right: 200px!important; }
    .mr250 { margin-right: 250px!important; }
    .mr267 { margin-right: 267px!important; }
    .mh187 { height: 187px!important; }
}
@media screen and ( max-width: 900px ) {
    .sp_mb0 { margin-bottom: 0!important; }
    .sp_mb5 { margin-bottom: 5px!important; }
    .sp_mb80 { margin-bottom: 80px!important; }
}

/* -- imgBox -- */
.imgBox01,
.imgBox02,
.imgBox03 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-right: 200px;
}
.imgBox01 img,
.imgBox02 img,
.imgBox03 img {
    max-width: none;
    width: auto;
}
/* - imgBox01 imgBox03 - */
.imgBox01 img,.imgBox03 img {
    height: 100vh;
}
/* - imgBox02 - */
.imgBox02 img {
    height: calc(100vh - 100px);
}
@media screen and ( max-width: 900px ) {
    .imgBox01,
    .imgBox02,
    .imgBox03 {
        display: block;
        margin: 0 0 90px;
    }
    .imgBox02 {
        margin: 0 -20px 90px;
    }
    .imgBox01 img,
    .imgBox02 img {
        width: 100%;
        height: auto;
    }
    .imgBox03 img{
        width: 100vw;
        position: relative;
        height: auto;
        left: 50%;
        transform: translateX(-50%);
    }
}

/* -- itemBox -- */
.itemBox {
    white-space: nowrap;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-right: 200px;
    padding: 54px 0 54px 40px;
}
.itemBox > * > * {
    width: 100%;
}
.itemBox > * > *:not(:last-child) {
    margin-bottom: 36px;
}
.itemBox .subTit {
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 28px;
}
.itemBox .tit {
    letter-spacing: 0.05em;
    margin-bottom: 18px;
}
.itemBox ul {
    font-weight: 300;
    letter-spacing: 0.05em;
}
.itemBox ul > li:not(:last-child) {
    margin-bottom: 16px;
}
.itemBox ul > li a {
    display: inline-block;
    position: relative;
}
.itemBox ul > li a::before {
    position: absolute;
    bottom: -4px;
    right: 0;
    left: 0;
    margin: 0 auto;
    border-bottom: 1px solid #C3C3C3;
    content: "";
}
@media screen and ( max-width: 900px ) {
    .itemBox {
        white-space: nowrap;
        overflow-x: scroll;
        margin: 0;
        padding: 32px 10px 95px;
        min-width: auto!important;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    .itemBox::-webkit-scrollbar {
      display: none;
    }
    .itemBox > * {
        display: flex;
    }
    .itemBox > * > * {
        width: auto;
    }
    .itemBox > * > *:not(:last-child) {
        margin: 0 29px 0 0;
    }
    .itemBox .subTit {
        display: none;
    }
}

/* -- nameBox -- */
.nameBox {
    white-space: nowrap;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 50px 0;
    padding: 0 107px 16px 100px;
    border-left: 1px solid #C3C3C3;
}
.nameBox > * {
    width: 392px;
}
.nameBox > *:nth-child(2) {
    width: 170px;
}
.nameBox .tit {
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
}
.nameBox .name {
    font-size: 14px;
    letter-spacing: 0.05em;
    margin-bottom: 7px;
}
.nameBox .txt {
    font-size: 10px;
    font-weight: 300;
    letter-spacing: 0.05em;
    margin-top: 7px;
}
.nameBox_title{
    margin-bottom: 36px;
}
.nameBox_inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-top: 33px;
}
.nameBox_inner > * {
    width: 47.4%;
}
.nameBox_inner > * > *:not(:last-child) {
    margin-bottom: 33px;
}
.specialThanks_inner > * {
    margin-bottom: 28px;
}
.specialThanks_inner_02 > *:not(:last-child) {
    margin-bottom: 28px;
}
.specialThanks_tit{
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.05em;
    margin-bottom: 3px;
}
.specialThanks_name{
    font-size: 9px;
    font-weight: 300;
    letter-spacing: 0.05em;
}
@media screen and ( max-width: 900px ) {
    .nameBox {
        display: block;
        min-width: auto;
        margin: 0;
        padding: 92px 0 98px;
        border-top: 1px solid #C3C3C3;
        border-left: none;
    }
    .nameBox > * {
        width: 100%;
    }
    .nameBox > *:nth-child(2) {
        width: 100%;
    }
    .nameBox_inner > :nth-child(1) {
        width: 187px;
    }
    .nameBox_inner > :nth-child(2) {
        width: calc(100% - 187px);
    }
    .specialThanks{
        margin-top: 76px;
    }
    .specialThanks_inner > *:not(:last-child){
        margin-bottom: 28px;
    }
    .specialThanks_Box{
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
    }
    .specialThanks_Box > :nth-child(1) {
        width: 187px;
    }
    .specialThanks_Box > :nth-child(2) {
        width: calc(100% - 187px);
    }
}


/*
    js
*/
/* -- 'inview' フェードプラグイン -- */
/* - フェードアップ - */
/* 子要素 */
.fadeUpCld > * {   
    opacity: 0;
    transition: opacity 0.6s;
}
.fadeUpCld > *.on {
    opacity: 1;
}