@charset "UTF-8";
/* hover
=================================================================== */
/* ================================================ vw */
/* ================================================ vh */
/* common
=================================================================== */
/* layout
=================================================================== */
/* video / iframe
=================================================================== */
/* imgCover
=================================================================== */
/* mask
=================================================================== */
/* background
=================================================================== */
/* flex
=================================================================== */
/* animation delay
=================================================================== */
/* 3d
=================================================================== */
/* font
=================================================================== */
/* textTate
=================================================================== */
/* form
=================================================================== */
/*============================================================================================ 1000px */
@media only screen and (max-width: 1000px) {
  /* --------------------------------------- header */
  .header {
    display: none;
  }
  /* --------------------------------------- fixedBtn__contact */
  .fixedBtn__contact {
    right: 112px;
  }
  /* ================================================================== menuBtn */
  .menuBtn {
    display: block;
    position: fixed;
    width: 77px;
    height: 45px;
    top: 30px;
    right: 15px;
    z-index: 15;
    cursor: pointer;
  }
  /* --------------------------------------- menuBtn__inner */
  .menuBtn__inner {
    position: absolute;
    width: 45px;
    height: 2px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -ms-transition-duration: 0.5s;
    -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -moz-transition-duration: 0.5s;
    -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  }
  .menuBtn__line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(var(--color-black), 1);
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -ms-transition-duration: 0.5s;
    -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -moz-transition-duration: 0.5s;
    -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  }
  .menuBtn__line:nth-child(1) {
    height: 1px;
    transform: translate(0, -4px);
  }
  .menuBtn__line:nth-child(2) {
    transform: translate(0, 4px);
  }
  /* ============================================================================================ body class */
  /* --------------------------------------- is--entrance */
  .fixedBtn__contact, .menuBtn, .fixed__globalLogo {
    transform: translate(0, -200px);
  }
  .is--entrance .fixed__globalLogo, .is--entrance .fixedBtn__contact, .is--entrance .menuBtn {
    transform: translate(0, 0);
  }
  /* ============================================================================================ menu */
  .menu {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
    overflow-y: scroll;
    background-color: #fff;
    background-image: url(../img/common/texture.jpg);
    background-repeat: repeat;
    background-size: 750px auto;
    background-position: center center;
    transition-duration: 0.8s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -ms-transition-duration: 0.8s;
    -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-duration: 0.8s;
    -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -moz-transition-duration: 0.8s;
    -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .menuInner {
    position: relative;
    padding-top: 130px;
  }
  .menu .footerContents {
    display: block;
  }
  .menu .footerContents {
    width: 33%;
  }
  /* --------------------------------------- menu--open */
  .menu--open .menuBtn__inner {
    width: 30px;
  }
  .menu--open .menuBtn__line:nth-child(1) {
    height: 100%;
    transform: translate(0, 0) rotate(25deg);
  }
  .menu--open .menuBtn__line:nth-child(2) {
    transform: translate(0, 0) rotate(-25deg);
  }
  .menu--open .menu {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
}
/*============================================================================================ 767px */
@media only screen and (max-width: 767px) {
  /* ================================================ vw */
  /* ================================================ vh */
  /* ============================================================================================ default */
  /* ================================================ body */
  body {
    font-size: 12px;
    line-height: 1.8;
    background-size: 375px auto;
  }
  /* ============================================================================================ common */
  /* --------------------------------------- videoWrapper */
  .videoWrapper {
    border-radius: 6px;
  }
  /* --------------------------------------- textGray */
  .textureBg {
    background-size: 375px auto;
  }
  /* --------------------------------------- wrapper */
  .wrapper {
    margin-bottom: 45px;
  }
  /* --------------------------------------- grid */
  .grid {
    padding-left: 20px;
    padding-right: 20px;
  }
  /* --------------------------------------- hoverText*/
  .hoverText__base > span, .hoverText__position > span {
    font-size: 10px;
  }
  /* ================================================================== btn */
  .btn--bgBlack, .arrowIcon__box {
    border-radius: 4px;
  }
  .btn {
    height: 33px;
  }
  .btnBox {
    width: 95px;
  }
  .btnBox .hoverText__base > span, .btnBox .hoverText__position > span {
    font-size: 10px;
  }
  /* --------------------------------------- footerBtn */
  .footerBtn {
    height: 36px;
    border-radius: 9999px;
    margin-top: 20px;
  }
  .footerBtn .hoverText__base > span, .footerBtn .hoverText__position > span {
    font-size: 14px;
  }
  /* --------------------------------------- btnLink */
  .btnLink, a.btnLink {
    padding-left: 17px;
    padding-right: 17px;
  }
  /* --------------------------------------- btnBack */
  .btnBack .arrowNext {
    left: 12px;
  }
  /* ================================================================== playBtn__icon */
  .playBtn__icon {
    width: 12px;
    height: 12px;
    right: 15px;
  }
  .playBtn__iconArrow {
    transform: translate(-35%, -50%) scale(0.8);
  }
  /* ================================================================== arrowIcon */
  .arrowIcon {
    width: 12px;
    height: 12px;
  }
  .arrowIcon__box {
    width: 33px;
    height: 33px;
  }
  /* --------------------------------------- arrowNext */
  .arrowNext {
    right: 12px;
  }
  /* ============================================================================================ fixedParts */
  /* ================================================================== globalLogo */
  .fixed__globalLogo {
    width: 115px;
    left: 15px;
    top: 19px;
  }
  .globalLogo__mark {
    mask-image: url(../img/common/globalLogo--jp.png);
    -webkit-mask-image: url(../img/common/globalLogo--jp.png);
  }
  /* ============================================================================================ header */
  .header {
    padding-left: 0;
    height: auto;
  }
  /* --------------------------------------- nav */
  .nav {
    display: block;
  }
  /* --------------------------------------- navList */
  .navList {
    height: auto;
    display: block;
  }
  /* --------------------------------------- navLink */
  .navLink, a.navLink {
    padding-left: 10px;
    padding-right: 10px;
  }
  /* --------------------------------------- navTarget */
  .navTarget .hoverText__base > span, .navTarget .hoverText__position > span {
    font-size: 33px;
  }
  /* navTarget selected */
  .navTarget .navLink__flexInner::after {
    bottom: -4px;
  }
  .navNum {
    font-size: 19px;
    margin-left: 0.5em;
  }
  /* ================================================================== fixedBtn__contact */
  .fixedBtn__contact {
    width: 92px;
    height: 25px;
    top: 22px;
    right: 82px;
  }
  .fixedBtn__contact .hoverText__base > span, .fixedBtn__contact .hoverText__position > span {
    font-size: 11px;
  }
  .fixedBtn__contact .btnLink, .fixedBtn__contact a.btnLink {
    padding-left: 18px;
  }
  /* ============================================================================================ menu */
  .menu {
    background-size: 375px auto;
  }
  .menu .footerContents {
    width: 100%;
  }
  .menuInner {
    padding-top: 85px;
  }
  /* ================================================================== menuBtn */
  .menuBtn {
    width: 82px;
    height: 70px;
    top: 0;
    right: 0;
  }
  /* ============================================================================================ footer */
  .footer {
    padding-bottom: 70px;
  }
  .footerSection {
    margin-bottom: 55px;
  }
  /* --------------------------------------- footerSection__block--title */
  .footerSection__block {
    height: auto;
    display: block;
  }
  .footerSection__block--title {
    font-size: 10px;
    transform: scale(0.9);
    transform-origin: left center;
    margin-bottom: 15px;
  }
  /* --------------------------------------- footerMain */
  .footerMain {
    display: block;
    margin-bottom: 0;
  }
  /* ================================================================== footerContents */
  .footerContents {
    width: 100%;
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  /* --------------------------------------- footerMovie */
  .footerMovie {
    width: 115px;
    padding-top: 0;
  }
  /* --------------------------------------- footerCopy */
  .footerCopy {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 23px;
    font-size: 11px;
    margin-bottom: 0;
    padding-left: 20px;
  }
  /* --------------------------------------- footerNav */
  .footerNav__list .navTarget {
    margin-bottom: 5px;
  }
  .footerNav__list .hoverText__base > span, .footerNav__list .hoverText__position > span {
    font-size: 33px;
  }
  .footerNav__list .navNum {
    font-size: 19px;
    padding-top: 5px;
  }
  .footerNav__list .navSubList {
    display: none;
  }
  /* --------------------------------------- footerNav */
  .footerNav__listSub {
    display: flex;
    margin-top: 15px;
  }
  .footerNav__listSub .navTarget {
    margin-bottom: 0;
  }
  .footerNav__listSub .navTarget:first-child {
    margin-right: 20px;
  }
  .footerNav__listSub .hoverText__base > span, .footerNav__listSub .hoverText__position > span {
    font-size: 16px;
  }
  /* ================================================================== footerDocument */
  .footerDocument {
    width: 100%;
  }
  .footerDocument .footerSection__block--title {
    margin-bottom: 0;
  }
  /* --------------------------------------- footerDocument__list */
  .footerDocument__target:first-child a.footerDocument__link {
    padding-top: 20px;
  }
  .footerDocument__target:first-child .arrowNext {
    top: 29%;
  }
  .footerDocument__target .arrowNext {
    top: 29%;
  }
  a.footerDocument__link {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-right: 35px;
  }
  .footerDocument--p {
    font-size: 13px;
  }
  .date {
    font-size: 10px;
    margin-top: 10px;
  }
  /* ================================================================== footerContact */
  .footerContact {
    width: 100%;
    margin-bottom: 35px;
  }
  .footerContact__inner--leader {
    font-size: 13px;
    margin-bottom: 22px;
  }
  .footerContact__box {
    margin-bottom: 15px;
    display: flex;
  }
  .footerContact__box--title {
    width: 62px;
    font-size: 11px;
    line-height: 1;
  }
  .footerContact__box--detail {
    width: calc(100% - 62px);
    font-size: 10px;
    line-height: 1.4;
  }
  /* ================================================================== footerBottom */
  .footerBottom {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .footerBottom__section {
    width: 128px;
  }
  .footer__globalLogo {
    width: 100%;
  }
  /* ================================================================== footerNext */
  .footerNext {
    margin-left: auto;
  }
  .footerNext__title {
    font-size: min(3.4666666667vw, 13px);
    margin-bottom: min(1.3333333333vw, 5px);
  }
  .footerNext__btn .hoverText__base > span, .footerNext__btn .hoverText__position > span {
    font-size: min(8vw, 30px);
  }
  .footerNext__btn .btnLink, .footerNext__btn a.btnLink {
    padding-right: 45px;
  }
  .footerNext__btn .arrowIcon__box {
    bottom: 10%;
  }
  /* ================================================================== pageTop */
  .pageTop {
    width: 73px;
    height: 75px;
  }
  /* ============================================================================================ page common */
  /* --------------------------------------- page wrapper */
  .page .wrapper {
    padding-top: 70px;
  }
  /* --------------------------------------- pageContents */
  .pageContents {
    padding-bottom: 50px;
  }
  /* --------------------------------------- articleTitle */
  .articleTitle {
    font-size: 22px;
    margin-bottom: 40px;
  }
  /* ================================================================== pageHeader */
  .pageHeader {
    padding-top: 40px;
  }
  /* --------------------------------------- pageTitle */
  .pageTitle--p {
    height: min(16vw, 60px);
  }
  .pageTitle--p > span {
    font-size: min(14.6666666667vw, 55px);
    line-height: min(11.2vw, 42px);
  }
  .pageTitle--num {
    align-self: flex-start;
    position: relative;
    top: min(2.6666666667vw, 10px);
    font-size: min(4.8vw, 18px);
    line-height: 1;
    white-space: nowrap;
    margin-left: min(4vw, 15px);
  }
  /* ============================================================================================ newsBlock */
  .newsBlock {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .newsBlock .arrowIcon__box {
    bottom: 20px;
  }
  .newsBlock .cateBtn {
    margin-bottom: 12px;
  }
  /* --------------------------------------- newsBlock__text */
  .newsBlock__text {
    font-size: 13px;
    margin-bottom: 12px;
  }
  /* --------------------------------------- cateBtn__link */
  a.cateBtn__link, .cateBtn__link {
    padding: 3px 15px;
    border-radius: 4px;
    font-size: 11px;
  }
  /* ============================================================================================ worksBlock */
  .worksBlock {
    width: calc(50% - 2.6666666667vw);
    margin-right: 5.3333333333vw;
    margin-bottom: 8vw;
  }
  .worksBlock:nth-child(2n) {
    margin-right: 0;
  }
  /* --------------------------------------- worksBlock__thum */
  .worksBlock__thum img {
    border-radius: 0.8vw;
  }
  /* --------------------------------------- worksBlock__info */
  .worksBlock__info {
    margin-top: 4vw;
  }
  .worksBlock__title {
    margin-bottom: 2.6666666667vw;
    font-size: 3.2vw;
  }
  .worksBlock__titleSub {
    min-height: 6.6666666667vw;
    margin-bottom: 1.3333333333vw;
    font-size: 2.6666666667vw;
  }
  .worksBlock__co {
    font-size: 2.6666666667vw;
  }
  /**Footer RA追加分用***/
  div.link-bnr-list-wrap {
    width: 96%;
    margin: 0 auto;
    margin-bottom: 80px;
  }
  div.link-bnr-list-wrap ul.link-bnr-list {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 0;
  }
  div.link-bnr-list-wrap ul.link-bnr-list li {
    padding: 0 8% 0 6%;
    border-right: solid 1px #333;
  }
  div.link-bnr-list-wrap ul.link-bnr-list li:first-child {
    padding: 0 8% 0 0;
  }
  div.link-bnr-list-wrap ul.link-bnr-list li a {
    display: inline-block;
    font-size: clamp(1vw, 2.4vw, 10px);
  }
  div.link-bnr-list-wrap ul.link-bnr-list li a span {
    display: inline-block;
    position: relative;
  }
  div.link-bnr-list-wrap ul.link-bnr-list li a span::after {
    content: " ";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 1.1em;
    height: 1.1em;
    background-color: rgba(var(--color-black), 1);
    mask-image: url("../img/common/icon--arrow.svg");
    -webkit-mask-image: url("../img/common/icon--arrow.svg");
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    transform-origin: center center;
    transform: translate(2em, -50%) rotate(-45deg);
  }
  div.link-bnr-list-wrap ul.link-bnr-list li:last-child {
    border-right: none;
  }
}/*# sourceMappingURL=base-sp.css.map */