@charset "UTF-8";
/* CSSファイルは直接編集せずにSCSSファイルを編集してください。 */
@keyframes scrollPhoto {
  0% {
    left: 0%;
  }
  100% {
    left: -99.99%;
  }
}
@keyframes scrollPhotoSp {
  0% {
    left: 0%;
  }
  100% {
    left: -149.99%;
  }
}
@keyframes floatCircle {
  0%, 100% {
    transform: translate(0, 0) scale(1);
    opacity: 0.6;
  }
  20% {
    transform: translate(3%, -40%) scale(1.02);
    opacity: 0.65;
  }
  40% {
    transform: translate(-19%, 1%) scale(0.98);
    opacity: 0.5;
  }
  60% {
    transform: translate(1%, 20%) scale(1.03);
    opacity: 0.7;
  }
  80% {
    transform: translate(-1%, -1%) scale(0.99);
    opacity: 0.55;
  }
}
@keyframes scroll-bob {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px);
  }
}
@keyframes scroll-x-bob {
  0%, 100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(8px);
  }
}
.sp-only-block {
  display: none !important;
}
@media screen and (max-width: 881px) {
  .sp-only-block {
    display: block !important;
  }
}

.pc-only-block {
  display: block !important;
}
@media screen and (max-width: 881px) {
  .pc-only-block {
    display: none !important;
  }
}

.sp-only-inline {
  display: none !important;
}
@media screen and (max-width: 881px) {
  .sp-only-inline {
    display: inline !important;
  }
}

.pc-only-inline {
  display: inline !important;
}
@media screen and (max-width: 881px) {
  .pc-only-inline {
    display: none !important;
  }
}

.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
}

.noto-serif-jp {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
}

img {
  width: 100%;
  display: block;
}
img.vfit {
  height: 100%;
  width: auto;
}

body {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-feature-settings: "palt";
  background-color: white;
  color: #666666;
  font-size: 16px;
}
@media screen and (max-width: 881px) {
  body {
    font-size: 3.6vw;
  }
}

.pageWrapper {
  max-width: 100%;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 881px) {
  .pageWrapper {
    max-width: 100vw;
  }
}

.header {
  width: 100%;
  height: 11vw;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  background-color: white;
}
@media screen and (max-width: 881px) {
  .header {
    height: 16vw;
  }
}
.header .header-wrap {
  width: 92%;
  margin: 0 auto;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 881px) {
  .header .header-wrap {
    width: 87%;
    justify-content: flex-end;
  }
}
.header .header-wrap .logo-section {
  width: 7.5vw;
}
@media screen and (max-width: 881px) {
  .header .header-wrap .logo-section {
    display: none;
  }
}
.header .header-wrap .menu-nav {
  width: 33vw;
}
.header .header-wrap .menu-nav .menu-list-wrap .sp-menu {
  display: none;
}
@media screen and (max-width: 881px) {
  .header .header-wrap .menu-nav .menu-list-wrap .sp-menu {
    display: block;
    width: 6vw;
    margin-left: auto;
    margin-right: 0;
  }
}
.header .header-wrap .menu-nav .menu-list-wrap .sp-menu .menubtn-sp {
  background-image: url("../images/menu-sp.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 6vw;
  height: 6vw;
}
.header .header-wrap .menu-nav .menu-list-wrap .sp-menu .menubtn-sp.open {
  background-image: url("../images/menu-sp-close.png");
}
.header .header-wrap .menu-nav .menu-list-wrap .sp-menu .menubtn-sp a {
  display: block;
  width: 100%;
  height: 100%;
}
.header .header-wrap .menu-nav .menu-list-wrap .menu-list {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 881px) {
  .header .header-wrap .menu-nav .menu-list-wrap .menu-list {
    display: block;
    position: fixed;
    background-color: white;
    top: 16vw;
    right: 0;
    width: 65%;
    height: calc(100vh - 16vw);
    z-index: 1;
    padding: 12vw 7vw;
    /* 初期は画面外・非表示 */
    transform: translateX(50%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    /* アニメーション */
    transition: all 0.3s ease;
    will-change: transform, opacity;
  }
}
@media screen and (max-width: 881px) {
  .header .header-wrap .menu-nav .menu-list-wrap .menu-list.open {
    display: block;
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
.header .header-wrap .menu-nav .menu-list-wrap .menu-list a {
  display: block;
}
.header .header-wrap .menu-nav .menu-list-wrap .menu-list li {
  position: relative;
  font-size: 1.1vw;
  line-height: 1;
  letter-spacing: 0.1vw;
}
@media screen and (max-width: 881px) {
  .header .header-wrap .menu-nav .menu-list-wrap .menu-list li {
    font-size: 3.6vw;
    margin-bottom: 6.3vw;
    width: 7em;
  }
  .header .header-wrap .menu-nav .menu-list-wrap .menu-list li:after {
    content: "";
    display: block;
    width: 1.5vw;
    height: 1.5vw;
    border-right: 1px solid #666666;
    border-bottom: 1px solid #666666;
    position: absolute;
    top: 55%;
    right: 0;
    transform: translateY(-50%) rotate(-45deg);
  }
}

.footer {
  width: 100%;
}
.footer .footer-wrap {
  margin: 0 auto;
  padding: 3vw 0 5vw 0;
}
@media screen and (max-width: 881px) {
  .footer .footer-wrap {
    padding: 6vw 0 10vw 0;
  }
}
.footer .footer-wrap ul {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3.4vw;
  list-style: none;
}
.footer .footer-wrap ul li {
  font-size: 1.1vw;
  line-height: 1;
  letter-spacing: 0.1vw;
}
@media screen and (max-width: 881px) {
  .footer .footer-wrap ul li {
    font-size: 3.2vw;
  }
}

.main {
  width: 100%;
  position: relative;
  min-height: calc(100vh - 11vw);
  padding-top: 11vw;
}
@media screen and (max-width: 881px) {
  .main {
    min-height: calc(100vh - 16vw);
    padding-top: 16vw;
  }
}
.main .main-wrap {
  position: relative;
}

.top-scroll-wrap {
  position: relative;
}
.top-scroll-wrap .section-top {
  width: 100%;
  min-height: calc(100vh - 11vw);
}
@media screen and (max-width: 881px) {
  .top-scroll-wrap .section-top {
    min-height: calc(100vh - 16vw);
  }
}
.top-scroll-wrap .section-top .top-wrap .top-image-wrap {
  position: relative;
  overflow: hidden;
  margin-bottom: 9vw;
}
@media screen and (max-width: 881px) {
  .top-scroll-wrap .section-top .top-wrap .top-image-wrap {
    margin-bottom: 14vw;
  }
}
.top-scroll-wrap .section-top .top-wrap .top-image-wrap .photo {
  position: absolute;
  width: 200%;
  top: 20%;
  left: 0%;
  animation: scrollPhoto 60s linear infinite;
}
@media screen and (max-width: 881px) {
  .top-scroll-wrap .section-top .top-wrap .top-image-wrap .photo {
    width: 300%;
    top: 26%;
    animation: scrollPhotoSp 60s linear infinite;
  }
}
.top-scroll-wrap .section-top .top-wrap .top-image-wrap .photo .photo-items {
  display: flex;
}
.top-scroll-wrap .section-top .top-wrap .top-image-wrap .photo .photo-items .photo-item {
  width: 16.66%;
}
.top-scroll-wrap .section-top .top-wrap .top-image-wrap .overlay-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.top-scroll-wrap .section-top .top-wrap .top-image-wrap .overlay-circle {
  position: absolute;
  top: 0%;
  left: 45.75%;
  width: 54.25%;
  height: 100%;
  background-color: transparent;
  overflow: hidden;
}
.top-scroll-wrap .section-top .top-wrap .top-image-wrap .overlay-circle .circle-item {
  position: absolute;
  top: 48%;
  left: 24%;
  width: 85%;
  height: 85%;
  background-color: rgba(255, 255, 255, 0.4509803922);
  border-radius: 50%;
  mix-blend-mode: soft-light;
  animation: floatCircle 22s ease-in-out infinite;
}
.top-scroll-wrap .section-top .top-wrap .top-image-wrap .title {
  position: absolute;
  top: 38.5%;
  left: 14.6%;
  width: 17%;
  padding: 0;
  margin: 0;
  font-size: 1px;
  line-height: 1;
}
@media screen and (max-width: 881px) {
  .top-scroll-wrap .section-top .top-wrap .top-image-wrap .title {
    top: 42.5%;
    left: 7.6%;
    width: 26%;
  }
}
.top-scroll-wrap .section-top .top-wrap .top-company-wrap {
  display: flex;
  width: 57%;
  height: 6vw;
  margin: auto;
  justify-content: space-between;
}
@media screen and (max-width: 881px) {
  .top-scroll-wrap .section-top .top-wrap .top-company-wrap {
    width: 57%;
    flex-wrap: wrap;
  }
}
.top-scroll-wrap .section-top .top-wrap .top-company-wrap .company-item {
  height: 6vw;
}
@media screen and (max-width: 881px) {
  .top-scroll-wrap .section-top .top-wrap .top-company-wrap .company-item {
    width: 50%;
    height: 8.203125vw;
    margin-bottom: 11vw;
  }
  .top-scroll-wrap .section-top .top-wrap .top-company-wrap .company-item img {
    margin: auto;
  }
}
.top-scroll-wrap .section-top .top-wrap .top-company-wrap .company-item img {
  width: auto;
  height: 100%;
}
.top-scroll-wrap .section-catchbox .catchbox-sticky {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
.top-scroll-wrap .section-catchbox .catchbox-sticky .catchbox-head {
  position: absolute;
  width: 27%;
  top: 50%;
  left: 9%;
  transform: translateY(-50%);
}
@media screen and (max-width: 881px) {
  .top-scroll-wrap .section-catchbox .catchbox-sticky .catchbox-head {
    width: 47%;
    top: 40%;
    left: 50%;
    transform: translateX(-50%);
  }
}
.top-scroll-wrap .section-catchbox .catchbox-sticky .catchbox-scroll {
  position: absolute;
  width: 3%;
  bottom: 6%;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 881px) {
  .top-scroll-wrap .section-catchbox .catchbox-sticky .catchbox-scroll {
    width: 7%;
    bottom: 6%;
    left: 50%;
    transform: translateX(-50%);
  }
}
.top-scroll-wrap .section-catchbox .catchbox-sticky .catchbox-scroll .catchbox-image {
  display: inline-block; /* 変形の基準を自前に */
  animation: scroll-bob 1.8s ease-in-out infinite;
  will-change: transform, opacity; /* パフォーマンスヒント */
}
.top-scroll-wrap .section-catchbox .catchbox-sticky .catchbox-scroll .catchbox-image img {
  display: block; /* 画像の余白ずれ防止 */
}
.top-scroll-wrap .section-catchbox .catchbox-copy {
  opacity: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.top-scroll-wrap .section-catchbox .catchbox-copy.s1 {
  opacity: 1;
}
.top-scroll-wrap .section-catchbox .catchbox-copy.s1 .image {
  width: 87.8%;
}
@media screen and (max-width: 881px) {
  .top-scroll-wrap .section-catchbox .catchbox-copy.s1 .image {
    width: 60%;
  }
}
.top-scroll-wrap .section-catchbox .catchbox-copy.s2 .image {
  width: 66.8%;
}
@media screen and (max-width: 881px) {
  .top-scroll-wrap .section-catchbox .catchbox-copy.s2 .image {
    width: 71%;
  }
}
.top-scroll-wrap .section-catchbox .catchbox-copy.s3 .image {
  width: 87.8%;
}
@media screen and (max-width: 881px) {
  .top-scroll-wrap .section-catchbox .catchbox-copy.s3 .image {
    width: 100%;
  }
}
.top-scroll-wrap .section-catchbox .catchbox-copy .copy-wrap {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 42%;
  width: 53.5%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 881px) {
  .top-scroll-wrap .section-catchbox .catchbox-copy .copy-wrap {
    top: 64%;
    transform: translateX(-50%);
    left: 50%;
    width: 70%;
  }
}
.top-scroll-wrap .section-catchbox .catchbox-copy .copy-wrap .marker-items {
  width: 0.4%;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25vw;
}
.top-scroll-wrap .section-catchbox .catchbox-copy .copy-wrap .marker-items .item {
  width: 100%;
}
.top-scroll-wrap .section-catchbox .catchbox-viewMore {
  position: absolute;
  width: 13%;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 881px) {
  .top-scroll-wrap .section-catchbox .catchbox-viewMore {
    width: 30%;
  }
}
.top-scroll-wrap .section-catchbox .catchbox-viewMore .catchbox-viewMore-wrap {
  display: inline-block; /* 変形の基準を自前に */
  animation: scroll-x-bob 2s ease-in-out infinite;
  will-change: transform, opacity; /* パフォーマンスヒント */
}
.top-scroll-wrap .section-catchbox .catchbox-viewMore .catchbox-viewMore-wrap img {
  display: block; /* 画像の余白ずれ防止 */
}
.top-scroll-wrap .section-catchbox .catchbox-viewMore a {
  display: block;
}

.section-about {
  width: 100%;
  min-height: calc(100vh - 11vw);
  display: none;
}
@media screen and (max-width: 881px) {
  .section-about {
    min-height: calc(100vh - 16vw);
    display: none;
  }
}
.section-about.show {
  display: block;
}
.section-about .about-wrap {
  width: 61%;
  margin: 0 auto;
  position: relative;
  padding-bottom: 17vw;
}
@media screen and (max-width: 881px) {
  .section-about .about-wrap {
    width: 80%;
    padding-bottom: 17vw;
  }
}
.section-about .about-wrap .about-box {
  position: relative;
}
.section-about .about-wrap .about-box .head-items {
  padding-left: 2.5vw;
  margin-bottom: 8.6vw;
}
@media screen and (max-width: 881px) {
  .section-about .about-wrap .about-box .head-items {
    margin-bottom: 20.6vw;
  }
}
.section-about .about-wrap .about-box .head-items .about-head-item {
  height: 1.36vw;
  margin-bottom: 1.8vw;
}
@media screen and (max-width: 881px) {
  .section-about .about-wrap .about-box .head-items .about-head-item {
    height: 3.125vw;
    margin-bottom: 3.8vw;
  }
}
.section-about .about-wrap .about-box .head-items .about-head-item img {
  height: 100%;
  width: auto;
}
.section-about .about-wrap .about-box .about-text {
  padding-left: 3vw;
  font-size: 1.5vw;
  letter-spacing: 0.15em;
  line-height: 1.76;
  margin-bottom: 10vw;
  min-height: 50vh;
}
@media screen and (max-width: 881px) {
  .section-about .about-wrap .about-box .about-text {
    font-size: 3.125vw;
    margin-bottom: 23vw;
  }
}
.section-about .about-wrap .about-box .about-text p {
  margin-bottom: 1.9em;
}
.section-about .about-wrap .about-box .about-text p:last-child {
  margin-bottom: 0;
}
.section-about .about-wrap .about-box .about-catch {
  width: 54%;
  margin: 0 auto 7.6vw auto;
}
@media screen and (max-width: 881px) {
  .section-about .about-wrap .about-box .about-catch {
    width: 69%;
    margin: 0 auto 14.6vw auto;
  }
}
.section-about .about-wrap .about-box .about-company-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.section-about .about-wrap .about-box .about-company-wrap .company-item.cloud {
  width: 12vw;
}
@media screen and (max-width: 881px) {
  .section-about .about-wrap .about-box .about-company-wrap .company-item.cloud {
    width: 16vw;
  }
}
.section-about .about-wrap .about-box .about-company-wrap .company-item.dyard {
  width: 5vw;
}
@media screen and (max-width: 881px) {
  .section-about .about-wrap .about-box .about-company-wrap .company-item.dyard {
    width: 6vw;
  }
}
.section-about .about-wrap .about-box .about-company-wrap .company-item.think {
  width: 7vw;
}
@media screen and (max-width: 881px) {
  .section-about .about-wrap .about-box .about-company-wrap .company-item.think {
    width: 9vw;
  }
}
.section-about .about-wrap .about-box .about-company-wrap .company-item.zill {
  width: 8vw;
}
@media screen and (max-width: 881px) {
  .section-about .about-wrap .about-box .about-company-wrap .company-item.zill {
    width: 10vw;
  }
}

.section-works {
  width: 100%;
  min-height: calc(100vh - 11vw);
  background-color: #e8e7e5;
}
@media screen and (max-width: 881px) {
  .section-works {
    min-height: calc(100vh - 16vw);
  }
}
.section-works .works-wrap {
  width: 71.5%;
  margin: 0 auto;
  position: relative;
  padding-bottom: 6vw;
}
@media screen and (max-width: 881px) {
  .section-works .works-wrap {
    width: 61.5%;
    padding-bottom: 26vw;
  }
}
.section-works .works-wrap .works-title {
  padding: 8vw 0 6vw 0;
  width: 5vw;
}
@media screen and (max-width: 881px) {
  .section-works .works-wrap .works-title {
    padding: 19vw 0 9vw 0;
    width: 17vw;
    margin: auto;
  }
}
.section-works .works-wrap .works-text {
  font-size: 1.546875vw;
  line-height: 2;
  text-align: center;
  letter-spacing: 0.3125vw;
  margin-bottom: 8.28125vw;
}
@media screen and (max-width: 881px) {
  .section-works .works-wrap .works-text {
    font-size: 3.0598958333vw;
    margin-bottom: 12.28125vw;
  }
}
.section-works .works-wrap .works-items {
  width: 50vw;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 881px) {
  .section-works .works-wrap .works-items {
    width: 100%;
  }
}
.section-works .works-wrap .works-items .works-item {
  width: 33.3333%;
  margin-bottom: 9vw;
}
@media screen and (max-width: 881px) {
  .section-works .works-wrap .works-items .works-item {
    width: 50%;
    margin-bottom: 9vw;
  }
}
.section-works .works-wrap .works-items .works-item .works-item-wrap {
  margin: auto;
}
.section-works .works-wrap .works-items .works-item .works-item-wrap.flyer {
  width: 7.421875vw;
  margin-left: 0;
}
@media screen and (max-width: 881px) {
  .section-works .works-wrap .works-items .works-item .works-item-wrap.flyer {
    width: 14.9739583333vw;
    margin-left: auto;
  }
}
.section-works .works-wrap .works-items .works-item .works-item-wrap.catalogue {
  width: 9.609375vw;
  padding-top: 1.40625vw;
}
@media screen and (max-width: 881px) {
  .section-works .works-wrap .works-items .works-item .works-item-wrap.catalogue {
    width: 19.6614583333vw;
    padding-top: 3vw;
  }
}
.section-works .works-wrap .works-items .works-item .works-item-wrap.package {
  width: 6.328125vw;
  margin-right: 0;
}
@media screen and (max-width: 881px) {
  .section-works .works-wrap .works-items .works-item .works-item-wrap.package {
    width: 13.28125vw;
    margin-right: auto;
  }
}
.section-works .works-wrap .works-items .works-item .works-item-wrap.dm {
  width: 7.578125vw;
  margin-left: 0;
}
@media screen and (max-width: 881px) {
  .section-works .works-wrap .works-items .works-item .works-item-wrap.dm {
    width: 14.9739583333vw;
    margin-left: auto;
  }
}
.section-works .works-wrap .works-items .works-item .works-item-wrap.hp {
  width: 8.828125vw;
  padding-top: 1.40625vw;
}
@media screen and (max-width: 881px) {
  .section-works .works-wrap .works-items .works-item .works-item-wrap.hp {
    width: 17.4479166667vw;
    padding-top: 1.40625vw;
  }
}
.section-works .works-wrap .works-items .works-item .works-item-wrap.lp {
  width: 8.75vw;
  padding-top: 1.484375vw;
  margin-right: 0;
}
@media screen and (max-width: 881px) {
  .section-works .works-wrap .works-items .works-item .works-item-wrap.lp {
    width: 17.4479166667vw;
    margin-right: auto;
  }
}
.section-works .works-wrap .works-items .works-item .works-item-wrap .item-text-link {
  position: relative;
  display: block;
}
.section-works .works-wrap .works-items .works-item .works-item-wrap .item-text-link .works-item-img {
  margin-bottom: 0.9375vw;
}
.section-works .works-wrap .works-items .works-item .works-item-wrap .item-text-link .works-item-text {
  text-align: center;
  position: relative;
}
.section-works .works-wrap .works-items .works-item .works-item-wrap .item-text-link .works-item-text .item-text-head {
  font-size: 1.03125vw;
  line-height: 1;
  letter-spacing: 0.15625vw;
  position: relative;
}
@media screen and (max-width: 881px) {
  .section-works .works-wrap .works-items .works-item .works-item-wrap .item-text-link .works-item-text .item-text-head {
    font-size: 2.0833333333vw;
  }
}
.section-works .works-wrap .works-items .works-item .works-item-wrap .item-text-link .works-item-text .item-text-head::after {
  content: "";
  display: block;
  width: 0.46875vw;
  height: 0.46875vw;
  border-right: 1px solid #666666;
  border-bottom: 1px solid #666666;
  position: absolute;
  top: 55%;
  right: -0.9375vw;
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 881px) {
  .section-works .works-wrap .works-items .works-item .works-item-wrap .item-text-link .works-item-text .item-text-head::after {
    width: 0.78125vw;
    height: 0.78125vw;
    right: -1.5625vw;
  }
}

.section-history {
  width: 100%;
  min-height: calc(100vh - 11vw);
}
@media screen and (max-width: 881px) {
  .section-history {
    min-height: calc(100vh - 16vw);
  }
}
.section-history .history-wrap {
  width: 92%;
  margin: 0 auto;
  position: relative;
  padding-bottom: 6.71875vw;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap {
    width: 92%;
    padding-bottom: 6.71875vw;
  }
}
.section-history .history-wrap .history-title {
  padding: 8vw 0 9.375vw 0;
  width: 6.953125vw;
  margin-left: 10.46875vw;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-title {
    width: 22.65625vw;
    margin-left: auto;
    margin-right: auto;
    padding: 19vw 0 13vw 0;
  }
}
.section-history .history-wrap .history-box {
  max-width: 91.5625vw;
  display: flex;
  flex-wrap: wrap;
  margin: auto;
  margin-bottom: 15.46875vw;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box {
    max-width: 100%;
    margin-bottom: 23vw;
  }
}
.section-history .history-wrap .history-box .left {
  width: 57.96875vw;
  display: flex;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .left {
    width: 100%;
  }
}
.section-history .history-wrap .history-box .left .line {
  width: 11.171875vw;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .left .line {
    width: 16vw;
  }
}
.section-history .history-wrap .history-box .left .line .line-wrap {
  width: 0.75vw;
  position: relative;
  margin-left: auto;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .left .line .line-wrap {
    width: 1.57vw;
    margin-left: auto;
    margin-right: auto;
  }
}
.section-history .history-wrap .history-box .left .history-items {
  flex: 1;
  position: relative;
}
.section-history .history-wrap .history-box .left .history-items .history-item {
  position: absolute;
}
.section-history .history-wrap .history-box .left .history-items .history-item.y2020 {
  top: 3.125vw;
  left: 3.125vw;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .left .history-items .history-item.y2020 {
    top: 6.125vw;
    left: 0;
  }
}
.section-history .history-wrap .history-box .left .history-items .history-item.y2020 .history-item-content {
  top: 0.390625vw;
  left: 8.359375vw;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .left .history-items .history-item.y2020 .history-item-content {
    top: 1vw;
    left: 14.125vw;
  }
}
.section-history .history-wrap .history-box .left .history-items .history-item.y2021 {
  top: 15.703125vw;
  left: 3.125vw;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .left .history-items .history-item.y2021 {
    top: 32.125vw;
    left: 0;
  }
}
.section-history .history-wrap .history-box .left .history-items .history-item.y2021 .history-item-content {
  top: 0.390625vw;
  left: 8.359375vw;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .left .history-items .history-item.y2021 .history-item-content {
    top: 1vw;
    left: 14.125vw;
  }
}
.section-history .history-wrap .history-box .left .history-items .history-item.y2022 {
  top: 28.203125vw;
  left: 3.125vw;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .left .history-items .history-item.y2022 {
    top: 59.125vw;
    left: 0;
  }
}
.section-history .history-wrap .history-box .left .history-items .history-item.y2022 .history-item-content {
  top: 1.484375vw;
  left: 8.359375vw;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .left .history-items .history-item.y2022 .history-item-content {
    top: 3vw;
    left: 14.125vw;
  }
}
.section-history .history-wrap .history-box .left .history-items .history-item.y2025 {
  top: 42.8125vw;
  left: 3.125vw;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .left .history-items .history-item.y2025 {
    top: 90.125vw;
    left: 0;
  }
}
.section-history .history-wrap .history-box .left .history-items .history-item.y2025 .history-item-content {
  top: 0.390625vw;
  left: 8.359375vw;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .left .history-items .history-item.y2025 .history-item-content {
    top: 1vw;
    left: 14.125vw;
  }
}
.section-history .history-wrap .history-box .left .history-items .history-item.mirai {
  top: 56.484375vw;
  left: 3.125vw;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .left .history-items .history-item.mirai {
    top: 117.5vw;
    left: 0;
  }
}
.section-history .history-wrap .history-box .left .history-items .history-item.mirai .history-item-year {
  font-size: 1.546875vw;
  line-height: 1;
  letter-spacing: 0.234375vw;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .left .history-items .history-item.mirai .history-item-year {
    font-size: 3.2552083333vw;
  }
}
.section-history .history-wrap .history-box .left .history-items .history-item .history-item-year {
  font-size: 1.3921875vw;
  line-height: 1.65;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .left .history-items .history-item .history-item-year {
    font-size: 2.9947916667vw;
  }
}
.section-history .history-wrap .history-box .left .history-items .history-item .history-item-content {
  position: absolute;
  width: 27.03125vw;
  font-size: 1.546875vw;
  line-height: 1;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .left .history-items .history-item .history-item-content {
    font-size: 3.2552083333vw;
    width: 16em;
  }
}
.section-history .history-wrap .history-box .left .history-items .history-item .history-item-content p {
  margin-bottom: 2em;
}
.section-history .history-wrap .history-box .left .history-items .history-item .history-item-content p:last-child {
  margin-bottom: 0;
}
.section-history .history-wrap .history-box .right {
  flex: 1;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-box .right {
    display: none;
  }
}
.section-history .history-wrap .history-box .right .photo {
  padding-top: 2.734375vw;
}
.section-history .history-wrap .sp-image-box {
  display: none;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .sp-image-box {
    display: block;
    width: 100%;
    margin-bottom: 12vw;
  }
}
.section-history .history-wrap .history-photos {
  width: 82%;
  margin: auto;
  position: relative;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-photos {
    width: 100%;
    padding-top: 29vw;
    padding-left: 9vw;
  }
}
.section-history .history-wrap .history-photos .photo {
  position: absolute;
}
.section-history .history-wrap .history-photos .photo.p1 {
  width: 32%;
  top: 0;
  left: 47%;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-photos .photo.p1 {
    width: 36%;
    top: 68%;
    left: 62%;
  }
}
.section-history .history-wrap .history-photos .photo.p2 {
  width: 50%;
  top: 7%;
  left: 2%;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-photos .photo.p2 {
    width: 55%;
    top: 14%;
    left: 10%;
  }
}
.section-history .history-wrap .history-photos .photo.p3 {
  width: 37%;
  top: 49%;
  left: 62%;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-photos .photo.p3 {
    width: 41%;
    top: 51%;
    left: 44%;
  }
}
.section-history .history-wrap .history-photos .photo.p4 {
  width: 50%;
  top: 72%;
  left: 7%;
}
@media screen and (max-width: 881px) {
  .section-history .history-wrap .history-photos .photo.p4 {
    width: 55%;
    top: 78%;
    left: 14%;
  }
}

.section-access {
  width: 100%;
  min-height: calc(100vh - 11vw);
  background-color: #e8e7e5;
}
@media screen and (max-width: 881px) {
  .section-access {
    min-height: calc(100vh - 16vw);
  }
}
.section-access .access-wrap {
  width: 71.5%;
  margin: 0 auto;
  position: relative;
  padding-bottom: 5.46875vw;
}
@media screen and (max-width: 881px) {
  .section-access .access-wrap {
    width: 100%;
    padding-bottom: 6vw;
  }
}
.section-access .access-wrap .access-title {
  padding: 8.984375vw 0 8.203125vw 0;
  width: 6.796875vw;
}
@media screen and (max-width: 881px) {
  .section-access .access-wrap .access-title {
    width: 21.875vw;
    margin-left: auto;
    margin-right: auto;
    padding: 15vw 0 19vw 0;
  }
}
.section-access .access-wrap .access-gramp-wrap {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  margin-bottom: 5.703125vw;
}
@media screen and (max-width: 881px) {
  .section-access .access-wrap .access-gramp-wrap {
    width: 100%;
    padding-bottom: 120%;
    margin-bottom: 13vw;
  }
}
.section-access .access-wrap .access-gramp-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.section-access .access-wrap .access-text {
  font-size: 1.2890625vw;
  line-height: 1.64;
  letter-spacing: 0.234375vw;
}
@media screen and (max-width: 881px) {
  .section-access .access-wrap .access-text {
    width: 88%;
    margin: auto;
    font-size: 2.34375vw;
  }
}
.section-access .access-wrap .access-text p {
  margin-bottom: 2em;
}
.section-access .access-wrap .access-text p:last-child {
  margin-bottom: 0;
}

.popContainer {
  display: none;
  position: fixed;
  background-color: rgba(255, 255, 255, 0.8);
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 200;
}
.popContainer.show {
  display: block;
}
.popContainer .modal {
  position: fixed;
  top: 50%;
  left: 50%;
  background-color: white;
  max-width: 81vw;
  width: 90%;
  max-height: 80vh;
  overflow: hidden; /* 変更: auto -> hidden */
  padding: 0; /* 変更: 内側に移動 */
  will-change: transform; /* パフォーマンスヒント */
}
@media screen and (max-width: 881px) {
  .popContainer .modal {
    max-width: 63vw;
    width: 63vw;
  }
}
.popContainer .modal.work {
  width: 58%;
}
.popContainer .modal-body {
  max-height: 80vh;
  overflow-y: auto;
}
.popContainer .popSection {
  display: none;
}
.popContainer .popSection.show {
  display: block;
}
.popContainer .popCloseBtn {
  position: absolute;
  top: 2vw;
  right: 3vw;
  width: 3vw;
  cursor: pointer;
}
@media screen and (max-width: 881px) {
  .popContainer .popCloseBtn {
    right: 3vw;
    width: 4.5vw;
  }
}
.popContainer .works-pop .inner .works-pop-wrap {
  padding: 5vw 5vw;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 881px) {
  .popContainer .works-pop .inner .works-pop-wrap {
    flex-wrap: wrap;
  }
}
.popContainer .works-pop .inner .works-pop-wrap .sp-title {
  display: none;
}
@media screen and (max-width: 881px) {
  .popContainer .works-pop .inner .works-pop-wrap .sp-title {
    display: block;
    font-size: 4.3vw;
    text-align: center;
    line-height: 1;
    letter-spacing: 0.6vw;
    margin-bottom: 3vw;
    width: 100%;
  }
}
.popContainer .works-pop .inner .works-pop-wrap .image {
  width: 30%;
  margin-right: 6vw;
}
@media screen and (max-width: 881px) {
  .popContainer .works-pop .inner .works-pop-wrap .image {
    width: 100%;
    margin-right: auto;
    margin-bottom: 6vw;
  }
  .popContainer .works-pop .inner .works-pop-wrap .image img {
    width: 35%;
    margin: auto;
  }
}
.popContainer .works-pop .inner .works-pop-wrap .text {
  flex: 1;
}
@media screen and (max-width: 881px) {
  .popContainer .works-pop .inner .works-pop-wrap .text {
    flex: unset;
    width: 100%;
  }
}
.popContainer .works-pop .inner .works-pop-wrap .text .works-pop-title {
  font-size: 3vw;
  line-height: 1;
  margin-bottom: 3vw;
  letter-spacing: 0.4vw;
}
@media screen and (max-width: 881px) {
  .popContainer .works-pop .inner .works-pop-wrap .text .works-pop-title {
    display: none;
  }
}
.popContainer .works-pop .inner .works-pop-wrap .text .works-pop-desc {
  font-size: 1.5vw;
  line-height: 2;
  letter-spacing: 0.3vw;
}
@media screen and (max-width: 881px) {
  .popContainer .works-pop .inner .works-pop-wrap .text .works-pop-desc {
    font-size: 2.8vw;
    padding-left: 1em;
    padding-right: 1em;
  }
}
.popContainer .works-pop .inner .about-pop-wrap {
  position: relative;
}

.loading {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9000;
  background-color: white;
}
.loading .loadingText {
  transition: all 0.5s ease;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 38%;
}
.loading .topLoadimg.hidden {
  visibility: hidden;
}
/*# sourceMappingURL=maps/style.css.map */
