@charset "UTF-8";
/*================================================================
 *FILE          :top.css
 *DESCRIPTION   :resetはressを使用。環境変数とmixinは_mixin.scss内に記述。
                 それぞれfoundationよりインポート。
 *AUTHOR        :
 *--------------------------------------------------------------
 *(C)
=================================================================*/
/* フォント定設
-----------------------------------------------------------------*/
@font-face {
  font-family: "MyYuGothicM";
  font-weight: normal;
  src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular");
  /* 游ゴシックMediumが存在しないWindows8.1用 */
}
@font-face {
  font-family: "MyYuGothicM";
  font-weight: bold;
  src: local("YuGothic-Bold"), local("Yu Gothic Bold");
  /* PostScript Nameを認識できないChrome用にFull Nameを指定 */
}
/*--------------------------------
 MV
--------------------------------*/
.mvSection {
  position: relative;
  z-index: 10;
  overflow: clip;
  height: 300svh;
}

.mv_inner {
  position: sticky;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
}

.mv_bg {
  position: relative;
  z-index: 10;
  background-color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .mv_bg {
    width: calc(100% - 250px);
    height: calc(100svh - 80px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .mv_bg {
    width: 100%;
    height: calc(100svh - 267px);
  }
}

.mv_bgImgArea {
  position: absolute;
  overflow: hidden;
  width: 100vw;
  height: 100svh;
  margin: auto;
  inset: 0;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .mv_bgImgArea {
    width: calc(519 / 1280 * 100vw);
    height: calc(325 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .mv_bgImgArea {
    width: calc(300 / 375 * 100vw);
    height: calc(187 / 375 * 100vw);
  }
}

.mv_bgImg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.mv_catch {
  position: absolute;
  opacity: 1;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .mv_catch {
    top: 50.9722222222%;
    right: 10.3883495146%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .mv_catch {
    bottom: 14.9732620321%;
    width: 100%;
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);
    transform: translateY(50%);
  }
}

.mv_catchText {
  margin: 0;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  letter-spacing: 0em;
  color: #414141;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .mv_catchText {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: calc(13 / 1280 * 100vw);
    font-size: min(calc(28 / 1280 * 100vw), 392px);
    line-height: 1;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .mv_catchText {
    font-size: min(calc(13 / 375 * 100vw), 182px);
    line-height: 2;
    text-align: center;
  }
}

.mv_catchLine {
  display: block;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .mv_catchLine {
    white-space: nowrap;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    -webkit-writing-mode: vertical-rl;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .mv_catchLine {
    white-space: nowrap;
  }
}

/* ▼ MV NAV ▼ */
.mv_nav {
  position: absolute;
  z-index: 10;
  top: 117px;
  left: 30px;
  opacity: 1;
}

.mv_navList {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mv_navItem {
  margin-bottom: 20px;
}
.mv_navItem:last-child {
  margin-bottom: 0;
}

.mv_navLink {
  display: block;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 10px;
  font-weight: 300;
  text-decoration: none;
  color: #414141;
}

/*--------------------------------
 INTRO
--------------------------------*/
.intro {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}

.intro_newsColumn {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.intro_newsColumn::before, .intro_newsColumn::after {
  position: absolute;
  z-index: 2;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  pointer-events: none;
  content: "";
}
.intro_newsColumn::before {
  background-color: #ffffff;
  inset: 0;
}
.intro_newsColumn::after {
  top: 50%;
  left: 50%;
  height: 95px;
  background: url("/assets/images/loading/loading.svg") center/contain no-repeat;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .intro_newsColumn::after {
    width: 120px;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro_newsColumn::after {
    width: 80px;
  }
}
.intro_newsColumn.is-loading::before, .intro_newsColumn.is-loading::after {
  opacity: 1;
  -webkit-transition: none;
  transition: none;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .intro_newsColumn {
    position: absolute;
    top: 0;
    right: 0;
    width: 250px;
    height: 100%;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro_newsColumn {
    width: 100%;
  }
  .intro_newsColumn.is-loading {
    height: 169px;
  }
}

.intro_newsScroll {
  opacity: 1;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  scrollbar-width: none;
}
.intro_newsColumn.is-loading .intro_newsScroll {
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .intro_newsScroll {
    overflow-y: auto;
    height: 100%;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro_newsScroll {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow-x: auto;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    width: 100%;
  }
}
.intro_newsScroll::-webkit-scrollbar {
  display: none;
}

.intro_newsItem {
  position: relative;
  overflow: hidden;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .intro_newsItem {
    width: 250px;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro_newsItem {
    width: 169px;
    height: 169px;
  }
}

.intro_newsItemContent {
  display: block;
  height: 100%;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro_newsItemContent img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
  }
}

.intro_newsItemPhoto {
  display: block;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .intro_newsItemPhoto {
    width: 100%;
    height: auto;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro_newsItemPhoto {
    width: auto;
    height: 100%;
  }
}

.intro_newsItemOverlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .intro_newsItemOverlay {
    padding: 0 12px 16px;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro_newsItemOverlay {
    padding: 0 10px 15px;
  }
}
.intro_newsItemOverlay::before {
  position: absolute;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.2)));
  background: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.2));
  background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.2));
  inset: 0;
  content: "";
}

.intro_newsItemDate {
  position: relative;
  z-index: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 100;
  letter-spacing: 0.15em;
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .intro_newsItemDate {
    font-size: 10px;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro_newsItemDate {
    font-size: 9px;
  }
}

.intro_newsItemTitle {
  position: relative;
  z-index: 1;
  margin-top: 8px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.67;
  letter-spacing: 0.1em;
  white-space: pre-line;
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .intro_newsItemTitle {
    font-size: 12px;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro_newsItemTitle {
    font-size: 10px;
  }
}

/*--------------------------------
 INTRO BANNER ORDER
--------------------------------*/
.intro_banner {
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .intro_banner {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 80px;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro_banner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.intro_bannerOrder,
.intro_bannerSchedule {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-decoration: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .intro_bannerOrder,
  .intro_bannerSchedule {
    width: calc(200 / 1280 * 100vw);
    height: 80px;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro_bannerOrder,
  .intro_bannerSchedule {
    width: 50%;
    height: 50px;
  }
}

.intro_bannerOrder {
  background-color: #db502c;
}

.intro_bannerOrderText,
.intro_bannerScheduleText {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.05em;
  text-align: center;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .intro_bannerOrderText,
  .intro_bannerScheduleText {
    font-size: 11px;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro_bannerOrderText,
  .intro_bannerScheduleText {
    font-size: 10px;
  }
}

.intro_bannerOrderText {
  color: #ffffff;
}

.intro_bannerSchedule {
  background-color: #dddddd;
}

.intro_bannerScheduleText {
  color: #414141;
}

/* ▼ INTRO BANNER NEWS ▼ */
.intro_bannerNews {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  min-width: 0;
  background-color: #414141;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .intro_bannerNews {
    padding: 0 45px;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro_bannerNews {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    height: 48px;
    padding: 0 10px;
  }
}

.intro_bannerNewsContent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 0;
  height: 100%;
}
.intro_bannerNewsDate {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-right: 1px solid #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  letter-spacing: 0.1em;
  white-space: nowrap;
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .intro_bannerNewsDate {
    margin-right: 20px;
    padding-right: 20px;
    font-size: 14px;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro_bannerNewsDate {
    margin-right: 11px;
    padding-right: 11px;
    font-size: 10px;
  }
}

.intro_bannerNewsTitle {
  overflow: hidden;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .intro_bannerNewsTitle {
    font-size: 14px;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .intro_bannerNewsTitle {
    font-size: 11px;
  }
}

/*--------------------------------
 ABOUT
--------------------------------*/
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topAboutSection {
    padding-top: calc(120 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topAboutSection {
    padding-top: calc(64 / 375 * 100vw);
  }
}

.topAboutSection_heading {
  margin: 0;
  font-family: "Shippori Mincho B1", serif;
  font-weight: "regular";
  letter-spacing: 0;
  color: #414141;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topAboutSection_heading {
    font-size: min(calc(50 / 1280 * 100vw), 70px);
    line-height: 1.6;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topAboutSection_heading {
    font-size: min(calc(30 / 375 * 100vw), 42px);
    line-height: 1.6;
  }
}

.topAboutSection_headingChar {
  display: inline-block;
}
.topAboutSection_heading.is-animationReady .topAboutSection_headingChar {
  display: inline-block;
  will-change: opacity, transform;
}
@media (prefers-reduced-motion: reduce) {
  .topAboutSection_heading.is-animationReady .topAboutSection_headingChar {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.topAboutSection_description {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  letter-spacing: 0.1em;
  color: #414141;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topAboutSection_description {
    margin-top: calc(80 / 1280 * 100vw);
    font-size: min(calc(14 / 1280 * 100vw), 19.6px);
    line-height: 2;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topAboutSection_description {
    margin-top: calc(20 / 375 * 100vw);
    font-size: min(calc(12 / 375 * 100vw), 16.8px);
    line-height: 2.08;
  }
}

/*--------------------------------
 OUR SERVICES
--------------------------------*/
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .ourServices {
    margin-top: calc(200 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .ourServices {
    margin-top: calc(120 / 375 * 100vw);
  }
}

.ourServices_heading {
  letter-spacing: 0.3em;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .ourServices_heading {
    margin-top: calc(64 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .ourServices_heading {
    margin-top: calc(24 / 375 * 100vw);
    font-size: min(calc(16 / 375 * 100vw), 22.4px);
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .ourServices_grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: calc(64 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .ourServices_grid {
    display: -ms-grid;
    display: grid;
    gap: 4px;
    margin-top: calc(40 / 375 * 100vw);
  }
}

.ourServices_item {
  position: relative;
  overflow: hidden;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .ourServices_item {
    aspect-ratio: 375/300;
  }
}

.ourServices_itemLink {
  display: block;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.ourServices_itemPhoto {
  position: relative;
}
.ourServices_itemPhoto::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .ourServices_itemPhoto::before {
    background: rgba(0, 0, 0, 0.3);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .ourServices_itemPhoto::before {
    background: rgba(0, 0, 0, 0.5);
  }
}
.ourServices_itemPhoto img {
  width: 100%;
}

.ourServices_itemContent {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  padding: 50px 10px 40px;
  text-align: center;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: background-color 0.4s ease, color 0.4s ease;
  transition: background-color 0.4s ease, color 0.4s ease;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .ourServices_itemContent {
    width: calc(233 / 1280 * 100vw);
  }
}
@media (hover: hover) {
  .ourServices_itemLink:hover .ourServices_itemContent {
    background-color: #ffffff;
  }
}

.ourServices_itemNum {
  display: block;
  font-family: "Nunito Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .ourServices_itemNum {
    font-size: min(calc(20 / 1280 * 100vw), 28px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .ourServices_itemNum {
    font-size: min(calc(20 / 375 * 100vw), 28px);
  }
}
@media (hover: hover) {
  .ourServices_itemLink:hover .ourServices_itemNum {
    color: #414141;
  }
}

.ourServices_itemTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.3em;
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .ourServices_itemTitle {
    margin-top: calc(70 / 1280 * 100vw);
    font-size: min(calc(16 / 1280 * 100vw), 22.4px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .ourServices_itemTitle {
    margin-top: calc(40 / 375 * 100vw);
    font-size: min(calc(16 / 375 * 100vw), 22.4px);
  }
}
@media (hover: hover) {
  .ourServices_itemLink:hover .ourServices_itemTitle {
    color: #414141;
  }
}

.ourServices_itemSub {
  font-family: "Nunito Sans", sans-serif;
  font-weight: 300;
  letter-spacing: 0.2em;
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .ourServices_itemSub {
    margin-top: calc(10 / 1280 * 100vw);
    font-size: min(calc(12 / 1280 * 100vw), 16.8px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .ourServices_itemSub {
    margin-top: calc(8 / 375 * 100vw);
    font-size: min(calc(12 / 375 * 100vw), 16.8px);
  }
}
@media (hover: hover) {
  .ourServices_itemLink:hover .ourServices_itemSub {
    color: #414141;
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .ourServices_itemView {
    margin-top: calc(40 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .ourServices_itemView {
    margin-top: calc(20 / 375 * 100vw);
  }
}
@media (hover: hover) {
  .ourServices_itemLink:hover .ourServices_itemView {
    color: #414141;
  }
}
@media (hover: hover) {
  .ourServices_itemLink:hover .ourServices_itemView.c-button::before, .ourServices_itemLink:hover .ourServices_itemView.c-button::after {
    background-color: #414141;
  }
}

/*--------------------------------
 GETTING STARTED
--------------------------------*/
.gettingStarted {
  position: relative;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .gettingStarted {
    padding: calc(160 / 1280 * 100vw) 0 0;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted {
    margin-bottom: calc(-1 * (100svh - (calc(183 / 375 * 100vw) + 57px) - calc(282 / 375 * 100vw)) + calc(87 / 375 * 100vw) + calc(104 / 375 * 100vw) - 57px);
    padding: calc(22 / 375 * 100vw) 0 57px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1023px) and (orientation: portrait) {
  .gettingStarted {
    margin-bottom: 0;
    padding-bottom: 0;
  }
}

.gettingStarted_inner {
  position: relative;
}

.gettingStarted_heading {
  width: 93.75vw;
  margin-left: auto;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .gettingStarted_heading {
    padding-bottom: 50px;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted_heading {
    position: sticky;
    top: 0;
    height: 100svh;
    padding-top: 57px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1023px) and (orientation: portrait) {
  .gettingStarted_heading {
    position: relative;
    height: auto;
    padding-bottom: calc(46 / 375 * 100vw);
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .gettingStarted_description {
    margin-top: calc(40 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted_description {
    margin-top: calc(40 / 375 * 100vw);
    padding-right: calc(20 / 375 * 100vw);
    font-size: min(calc(12 / 375 * 100vw), 16.8px);
  }
}

.gettingStarted_panels {
  margin-left: auto;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .gettingStarted_panels {
    width: 93.75vw;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted_panels {
    width: 94.667vw;
    margin-top: calc(-1 * (100svh - (calc(183 / 375 * 100vw) + 57px)));
    padding-bottom: calc(100svh - (calc(183 / 375 * 100vw) + 57px) - calc(282 / 375 * 100vw));
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1023px) and (orientation: portrait) {
  .gettingStarted_panels {
    margin-top: 0;
    padding-bottom: 0;
  }
}

.gettingStarted_panel {
  position: sticky;
  overflow: hidden;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .gettingStarted_panel {
    top: 100px;
    height: 100svh;
    padding-bottom: 25svh;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted_panel {
    top: calc(calc(183 / 375 * 100vw) + 57px);
    height: calc(282 / 375 * 100vw);
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1023px) and (orientation: portrait) {
  .gettingStarted_panel {
    position: static;
    height: auto;
    margin-top: 0 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }
}

.gettingStarted_panel-support {
  z-index: 1;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .gettingStarted_panel-support {
    -webkit-transform: translateY(calc(80 / 1280 * 100vw));
    -ms-transform: translateY(calc(80 / 1280 * 100vw));
    transform: translateY(calc(80 / 1280 * 100vw));
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted_panel-support {
    margin-top: calc(-1 * calc(87 / 375 * 100vw));
    -webkit-transform: translateY(calc(87 / 375 * 100vw));
    -ms-transform: translateY(calc(87 / 375 * 100vw));
    transform: translateY(calc(87 / 375 * 100vw));
  }
}

.gettingStarted_panel-faq {
  z-index: 2;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .gettingStarted_panel-faq {
    -webkit-transform: translateY(calc(calc(80 / 1280 * 100vw) * 2));
    -ms-transform: translateY(calc(calc(80 / 1280 * 100vw) * 2));
    transform: translateY(calc(calc(80 / 1280 * 100vw) * 2));
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted_panel-faq {
    margin-top: calc(-1 * (calc(104 / 375 * 100vw)));
    -webkit-transform: translateY(calc(calc(87 / 375 * 100vw) + calc(104 / 375 * 100vw)));
    -ms-transform: translateY(calc(calc(87 / 375 * 100vw) + calc(104 / 375 * 100vw)));
    transform: translateY(calc(calc(87 / 375 * 100vw) + calc(104 / 375 * 100vw)));
  }
}

.gettingStarted_panelInner {
  height: 100%;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .gettingStarted_panelInner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-height: calc(100svh - (100px + calc(80 / 1280 * 100vw)));
  }
}
.gettingStarted_panel-about .gettingStarted_panelInner {
  background-color: #db502c;
}
.gettingStarted_panel-support .gettingStarted_panelInner {
  background-color: #414141;
}
.gettingStarted_panel-faq .gettingStarted_panelInner {
  background-color: #dddddd;
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .gettingStarted_panelWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 0;
  }
}

.gettingStarted_panelPhoto {
  height: 100%;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .gettingStarted_panelPhoto {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted_panelPhoto {
    padding-left: calc(20 / 375 * 100vw);
  }
}
.gettingStarted_panelPhoto img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .gettingStarted_panelContent {
    width: calc(400 / 1280 * 100vw);
    text-align: center;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted_panelContent {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    height: calc(87 / 375 * 100vw);
    padding: 0 calc(15 / 375 * 100vw) calc(20 / 375 * 100vw) calc(20 / 375 * 100vw);
  }
  .gettingStarted_panel-support .gettingStarted_panelContent {
    height: calc(104 / 375 * 100vw);
  }
}

.gettingStarted_panelTag {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: calc(80 / 1280 * 100vw);
  padding: calc(47 / 1280 * 100vw) calc(38 / 1280 * 100vw) 0;
  font-family: "Nunito Sans", sans-serif;
  font-size: min(calc(12 / 1280 * 100vw), 16.8px);
  font-weight: 400;
  text-align: right;
}
.gettingStarted_panel-about .gettingStarted_panelTag {
  letter-spacing: 0.15em;
  color: #ffffff;
}
.gettingStarted_panel-support .gettingStarted_panelTag {
  letter-spacing: 0.2em;
  color: rgba(255, 255, 255, 0.6);
}
.gettingStarted_panel-faq .gettingStarted_panelTag {
  letter-spacing: 0.2em;
  color: rgba(0, 0, 0, 0.6);
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted_panelTextare {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: calc(14 / 375 * 100vw);
  }
}

.gettingStarted_panelTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .gettingStarted_panelTitle {
    font-size: min(calc(20 / 1280 * 100vw), 28px);
    line-height: 2;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted_panelTitle {
    font-size: min(calc(14 / 375 * 100vw), 19.6px);
    line-height: 1.5;
  }
}
.gettingStarted_panel-faq .gettingStarted_panelTitle {
  color: #414141;
}

.gettingStarted_panelSub {
  font-family: "Nunito Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  color: rgba(255, 255, 255, 0.6);
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .gettingStarted_panelSub {
    margin: 24px 0 0;
    font-size: min(calc(12 / 1280 * 100vw), 16.8px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted_panelSub {
    font-size: min(calc(10 / 375 * 100vw), 14px);
  }
}
.gettingStarted_panel-support .gettingStarted_panelSub {
  margin-top: 13px;
}
.gettingStarted_panel-faq .gettingStarted_panelSub {
  color: #414141;
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .gettingStarted_panelLink {
    margin-top: calc(40 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted_panelLink {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    padding-top: 0;
    font-size: min(calc(10 / 375 * 100vw), 14px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted_panelLink::before {
    position: static;
    height: 10px;
    background: #ffffff;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted_panelLink::after {
    content: none;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .gettingStarted_panel-support .gettingStarted_panelLink {
    position: absolute;
    right: calc(15 / 375 * 100vw);
    bottom: calc(34 / 375 * 100vw);
  }
}
.gettingStarted_panel-faq .gettingStarted_panelLink {
  color: #414141;
}
.gettingStarted_panel-faq .gettingStarted_panelLink::before, .gettingStarted_panel-faq .gettingStarted_panelLink::after {
  background-color: #414141;
}

/*--------------------------------
 WORKS
--------------------------------*/
.topWorksSection {
  position: relative;
  z-index: 3;
  background-color: #2c2c2c;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection {
    margin-top: calc(240 / 1280 * 100vw);
    padding: calc(160 / 1280 * 100vw) 0;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection {
    margin-top: calc(80 / 375 * 100vw);
    padding: calc(80 / 375 * 100vw) 0;
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection_header {
    text-align: center;
  }
}

.topWorksSection_heading {
  margin: 0;
  color: #ffffff;
}

.topWorksSection_description {
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection_description {
    margin-top: calc(24 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_description {
    font-size: min(calc(12 / 375 * 100vw), 16.8px);
  }
}

.topWorksSection_sliderWrap {
  overflow: hidden;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection_sliderWrap {
    margin-top: calc(120 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_sliderWrap {
    margin-top: calc(40 / 375 * 100vw);
  }
}

.topWorksSection_sliderTrack {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_sliderTrack {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1023px) {
  .topWorksSection_sliderTrack {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}

.topWorksSection_sliderItem {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: auto;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_sliderItem {
    width: 100%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1023px) {
  .topWorksSection_sliderItem {
    width: auto;
    max-width: 100%;
  }
}

.topWorksSection_sliderItemPhoto {
  display: block;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection_sliderItemPhoto {
    height: auto;
    max-height: calc(350 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_sliderItemPhoto {
    width: 100%;
    max-height: calc(300 / 375 * 100vw);
    margin: 0 auto;
    -o-object-fit: contain;
    object-fit: contain;
  }
}

.topWorksSection_sliderItemCaption {
  text-align: center;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection_sliderItemCaption {
    margin-top: calc(20 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_sliderItemCaption {
    margin-top: calc(20 / 375 * 100vw);
  }
}
.topWorksSection_sliderItem.swiper-slide-active .topWorksSection_sliderItemCaption {
  opacity: 1;
}

.topWorksSection_sliderItemName {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.3em;
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection_sliderItemName {
    font-size: min(calc(12 / 1280 * 100vw), 16.8px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_sliderItemName {
    font-size: min(calc(12 / 375 * 100vw), 16.8px);
  }
}

.topWorksSection_sliderItemCopyright {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection_sliderItemCopyright {
    margin: calc(10 / 1280 * 100vw) 0 0;
    font-size: min(calc(11 / 1280 * 100vw), 15.4px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_sliderItemCopyright {
    margin: calc(10 / 375 * 100vw) 0 0;
    font-size: min(calc(11 / 375 * 100vw), 15.4px);
  }
}

.topWorksSection_pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection_pagination {
    gap: calc(13 / 1280 * 100vw);
    margin-top: calc(74 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_pagination {
    gap: calc(20 / 375 * 100vw);
    margin-top: calc(40 / 375 * 100vw);
  }
}

.topWorksSection_paginationPrev,
.topWorksSection_paginationNext {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: none;
  background-color: transparent;
  cursor: pointer;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection_paginationPrev,
  .topWorksSection_paginationNext {
    width: calc(44 / 1280 * 100vw);
    height: calc(44 / 1280 * 100vw);
    margin: 0 calc(-7 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_paginationPrev,
  .topWorksSection_paginationNext {
    width: calc(30 / 375 * 100vw);
    height: calc(30 / 375 * 100vw);
  }
}
.topWorksSection_paginationPrev.swiper-button-disabled, .topWorksSection_paginationPrev:disabled,
.topWorksSection_paginationNext.swiper-button-disabled,
.topWorksSection_paginationNext:disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}
.topWorksSection_paginationPrev::before,
.topWorksSection_paginationNext::before {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  background-color: #414141;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  content: "";
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection_paginationPrev::before,
  .topWorksSection_paginationNext::before {
    width: calc(30 / 1280 * 100vw);
    height: calc(30 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_paginationPrev::before,
  .topWorksSection_paginationNext::before {
    width: calc(30 / 375 * 100vw);
    height: calc(30 / 375 * 100vw);
  }
}
.topWorksSection_paginationPrev::after,
.topWorksSection_paginationNext::after {
  position: relative;
  z-index: 1;
  display: block;
  width: 5px;
  height: 5px;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  content: "";
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection_paginationPrev::after {
    -webkit-transform: rotate(225deg) translate(-1px, -1px);
    -ms-transform: rotate(225deg) translate(-1px, -1px);
    transform: rotate(225deg) translate(-1px, -1px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_paginationPrev::after {
    -webkit-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    transform: rotate(225deg);
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection_paginationNext::after {
    -webkit-transform: rotate(45deg) translate(-1px, -1px);
    -ms-transform: rotate(45deg) translate(-1px, -1px);
    transform: rotate(45deg) translate(-1px, -1px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_paginationNext::after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}

.topWorksSection_paginationCount {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.topWorksSection_paginationCurrent {
  border-right: 1px solid #dddddd;
  font-family: "Nunito Sans", sans-serif;
  font-weight: 300;
  letter-spacing: 0.05em;
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection_paginationCurrent {
    padding-right: calc(10 / 1280 * 100vw);
    font-size: min(calc(12 / 1280 * 100vw), 16.8px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_paginationCurrent {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: calc(20 / 375 * 100vw);
    padding-right: calc(10 / 375 * 100vw);
    font-size: min(calc(12 / 375 * 100vw), 16.8px);
  }
}

.topWorksSection_paginationTotal {
  font-family: "Nunito Sans", sans-serif;
  font-weight: 300;
  letter-spacing: 0.05em;
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection_paginationTotal {
    padding-left: calc(10 / 1280 * 100vw);
    font-size: min(calc(12 / 1280 * 100vw), 16.8px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_paginationTotal {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: calc(20 / 375 * 100vw);
    padding-left: calc(10 / 375 * 100vw);
    font-size: min(calc(12 / 375 * 100vw), 16.8px);
  }
}

.topWorksSection_viewMore {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topWorksSection_viewMore {
    margin-top: calc(80 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topWorksSection_viewMore {
    margin-top: calc(40 / 375 * 100vw);
  }
}

/*--------------------------------
 ORDER PROCESS
--------------------------------*/
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .orderProcess {
    margin-top: calc(160 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .orderProcess {
    margin-top: calc(80 / 375 * 100vw);
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .orderProcess_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: calc(90.62vw - calc(80 / 1280 * 100vw));
    margin-left: auto;
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .orderProcess_left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .orderProcess_right {
    display: -ms-grid;
    display: grid;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .orderProcess_right {
    margin-top: calc(40 / 375 * 100vw);
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .orderProcess_description {
    text-align: center;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .orderProcess_description {
    font-size: min(calc(12 / 375 * 100vw), 16.8px);
  }
}

.orderProcess_items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .orderProcess_items {
    gap: calc(70 / 1280 * 100vw);
    margin-top: calc(27 / 1280 * 100vw);
    padding-right: calc(5 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .orderProcess_items {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: calc(39 / 375 * 100vw) calc(15 / 375 * 100vw);
    margin-top: calc(55 / 375 * 100vw);
  }
}

.orderProcess_item {
  text-align: center;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .orderProcess_item {
    width: calc((100% - calc(15 / 375 * 100vw)) / 2);
  }
}

.orderProcess_itemLink {
  display: block;
}

.orderProcess_itemCircle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-right: auto;
  margin-left: auto;
  border-radius: 50%;
  background: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .orderProcess_itemCircle {
    width: calc(130 / 1280 * 100vw);
    height: calc(130 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .orderProcess_itemCircle {
    width: calc(130 / 375 * 100vw);
    height: calc(130 / 375 * 100vw);
  }
}

.orderProcess_itemIcon {
  position: relative;
  z-index: 1;
  display: block;
  width: auto;
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .orderProcess_itemTextarea {
    margin-top: calc(27 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .orderProcess_itemTextarea {
    margin-top: calc(27 / 375 * 100vw);
  }
}

.orderProcess_itemTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.3em;
  color: #414141;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .orderProcess_itemTitle {
    font-size: min(calc(14 / 1280 * 100vw), 19.6px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .orderProcess_itemTitle {
    font-size: min(calc(14 / 375 * 100vw), 19.6px);
  }
}

.orderProcess_itemSub {
  font-family: "Nunito Sans", sans-serif;
  font-weight: 300;
  letter-spacing: 0.2em;
  color: #414141;
}
.orderProcess_itemSub::after {
  display: block;
  width: 15px;
  height: 1px;
  background-color: #414141;
  content: "";
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .orderProcess_itemSub::after {
    margin: calc(20 / 1280 * 100vw) auto 0;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .orderProcess_itemSub::after {
    margin: calc(20 / 375 * 100vw) auto 0;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .orderProcess_itemSub {
    margin: calc(12 / 1280 * 100vw) 0 0;
    font-size: min(calc(11 / 1280 * 100vw), 15.4px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .orderProcess_itemSub {
    margin: calc(12 / 375 * 100vw) 0 0;
    font-size: min(calc(11 / 375 * 100vw), 15.4px);
  }
}

/*--------------------------------
 ACCESS
--------------------------------*/
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topAccessSection {
    margin: calc(120 / 1280 * 100vw) 0 0;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topAccessSection {
    margin: calc(80 / 375 * 100vw) 0 0;
  }
}

.topAccessSection_inner {
  width: 90.62vw;
  margin-left: auto;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topAccessSection_inner {
    width: 94.67vw;
  }
}

/*--------------------------------
 CONTACT
--------------------------------*/
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection {
    margin-top: calc(160 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topContactSection {
    margin-top: calc(80 / 375 * 100vw);
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_inner {
    padding-inline: calc(160 / 1280 * 100vw);
  }
}

.topContactSection_header {
  text-align: center;
}
.topContactSection_headerSub {
  margin: 0;
  font-family: "Nunito Sans", sans-serif;
  font-weight: 300;
  letter-spacing: 0.05em;
  color: #414141;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_headerSub {
    font-size: min(calc(15 / 1280 * 100vw), 21px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topContactSection_headerSub {
    font-size: min(calc(12 / 375 * 100vw), 16.8px);
  }
}

.topContactSection_heading {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.2em;
  color: #414141;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_heading {
    margin: calc(20 / 1280 * 100vw) 0 0;
    font-size: min(calc(25 / 1280 * 100vw), 35px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topContactSection_heading {
    margin: calc(20 / 1280 * 100vw) 0 0;
    font-size: min(calc(20 / 375 * 100vw), 28px);
    line-height: 2;
  }
}

.topContactSection_description {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-align: center;
  color: #414141;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_description {
    margin: calc(40 / 1280 * 100vw) 0 0;
    font-size: min(calc(14 / 1280 * 100vw), 19.6px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topContactSection_description {
    margin: calc(40 / 375 * 100vw) 0 0;
    font-size: min(calc(14 / 375 * 100vw), 19.6px);
    line-height: 2;
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_cta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: calc(80 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topContactSection_cta {
    margin-top: calc(40 / 375 * 100vw);
  }
}

.topContactSection_phone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #db502c;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_phone {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 calc(720 / 1280 * 100vw);
    flex: 0 0 calc(720 / 1280 * 100vw);
    padding: calc(42 / 1280 * 100vw) 0 calc(46 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topContactSection_phone {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: calc(42 / 375 * 100vw) calc(26 / 375 * 100vw) calc(46 / 375 * 100vw);
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_phoneWrap {
    display: -ms-grid;
    display: grid;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.topContactSection_phoneLabelTextarea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12px;
}

.topContactSection_phoneIcon {
  display: block;
  width: 14px;
  height: auto;
  stroke: #ffffff;
}

.topContactSection_phoneLabelText {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_phoneLabelText {
    font-size: min(calc(11 / 1280 * 100vw), 15.4px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topContactSection_phoneLabelText {
    font-size: min(calc(11 / 375 * 100vw), 15.4px);
  }
}

.topContactSection_phoneNumber {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_phoneNumber {
    margin: calc(8 / 1280 * 100vw) 0 0;
    font-size: min(calc(35 / 1280 * 100vw), 49px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topContactSection_phoneNumber {
    margin: calc(8 / 375 * 100vw) 0 0;
    font-size: min(calc(35 / 375 * 100vw), 49px);
  }
}
.topContactSection_phoneNumber::after {
  display: block;
  width: 30px;
  height: 2px;
  background-color: #ffffff;
  content: "";
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_phoneNumber::after {
    margin: calc(12 / 1280 * 100vw) auto 0;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topContactSection_phoneNumber::after {
    margin: calc(12 / 375 * 100vw) auto 0;
  }
}

.topContactSection_phoneHours {
  text-align: center;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_phoneHours {
    margin-top: calc(24 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topContactSection_phoneHours {
    margin-top: calc(24 / 375 * 100vw);
  }
}

.topContactSection_phoneHoursLine {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #ffffff;
}
.topContactSection_phoneHoursLine:first-child {
  white-space: nowrap;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_phoneHoursLine {
    font-size: min(calc(11 / 1280 * 100vw), 15.4px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topContactSection_phoneHoursLine {
    font-size: min(calc(11 / 375 * 100vw), 15.4px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_phoneHoursLine + .topContactSection_phoneHoursLine {
    margin-top: calc(7 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topContactSection_phoneHoursLine + .topContactSection_phoneHoursLine {
    margin-top: calc(7 / 375 * 100vw);
  }
}

.topContactSection_mail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #2c2c2c;
  text-decoration: none;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_mail {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 calc(240 / 1280 * 100vw);
    flex: 0 0 calc(240 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topContactSection_mail {
    padding: calc(24 / 375 * 100vw);
  }
}

.topContactSection_mailIcon {
  display: block;
  width: 15px;
  height: auto;
  stroke: #ffffff;
}

.topContactSection_mailText {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #ffffff;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_mailText {
    margin: calc(15 / 1280 * 100vw) 0 0;
    font-size: min(calc(14 / 1280 * 100vw), 19.6px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topContactSection_mailText {
    margin: calc(15 / 375 * 100vw) 0 0;
    font-size: min(calc(14 / 375 * 100vw), 19.6px);
  }
}
.topContactSection_mailText::after {
  display: block;
  width: 30px;
  height: 2px;
  background-color: #ffffff;
  content: "";
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topContactSection_mailText::after {
    margin: calc(20 / 1280 * 100vw) auto 0;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topContactSection_mailText::after {
    margin: calc(20 / 375 * 100vw) auto 0;
  }
}

/*--------------------------------
 NEWS
--------------------------------*/
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topNewsSection {
    margin-top: calc(120 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topNewsSection {
    margin-top: calc(80 / 375 * 100vw);
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topNewsSection_inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: calc(200 / 1280 * 100vw) 1fr;
    grid-template-columns: calc(200 / 1280 * 100vw) 1fr;
    -webkit-column-gap: calc(120 / 1280 * 100vw);
    -moz-column-gap: calc(120 / 1280 * 100vw);
    column-gap: calc(120 / 1280 * 100vw);
  }
}

.topNewsSection_heading {
  margin: 0;
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topNewsSection_body {
    max-width: 100%;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topNewsSection_body {
    margin-top: calc(20 / 375 * 100vw);
  }
}

.topNewsSection_list {
  margin: 0;
  padding: 0;
  border-top: 1px solid #dddddd;
  list-style: none;
}

.topNewsSection_item {
  border-bottom: 1px solid #dddddd;
}

.topNewsSection_itemLink {
  display: -ms-grid;
  display: grid;
  text-decoration: none;
  color: #414141;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topNewsSection_itemLink {
    -ms-grid-columns: calc(100 / 1280 * 100vw) 1fr;
    grid-template-columns: calc(100 / 1280 * 100vw) 1fr;
    padding: calc(34 / 1280 * 100vw) 0 calc(27 / 1280 * 100vw);
    -webkit-column-gap: calc(80 / 1280 * 100vw);
    -moz-column-gap: calc(80 / 1280 * 100vw);
    column-gap: calc(80 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topNewsSection_itemLink {
    padding: calc(24 / 375 * 100vw) 0;
    row-gap: calc(16 / 375 * 100vw);
  }
}

.topNewsSection_date {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #414141;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topNewsSection_date {
    font-size: min(calc(12 / 1280 * 100vw), 16.8px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topNewsSection_date {
    font-size: min(calc(12 / 375 * 100vw), 16.8px);
  }
}

.topNewsSection_title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #414141;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topNewsSection_title {
    font-size: min(calc(18 / 1280 * 100vw), 25.2px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topNewsSection_title {
    font-size: min(calc(14 / 375 * 100vw), 19.6px);
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topNewsSection_viewMore {
    margin-top: calc(32 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topNewsSection_viewMore {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: calc(40 / 375 * 100vw);
  }
}

.topNewsSection_viewMoreLink {
  position: relative;
  display: inline-block;
  font-family: "Nunito Sans", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-decoration: none;
  color: #414141;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topNewsSection_viewMoreLink {
    padding-left: calc(20 / 1280 * 100vw);
    font-size: min(calc(12 / 1280 * 100vw), 16.8px);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topNewsSection_viewMoreLink {
    padding-top: calc(55 / 375 * 100vw);
    font-size: min(calc(12 / 375 * 100vw), 16.8px);
    text-align: center;
  }
}
.topNewsSection_viewMoreLink::before {
  position: absolute;
  background-color: #414141;
  content: "";
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topNewsSection_viewMoreLink::before {
    top: 50%;
    left: 0;
    width: calc(10 / 1280 * 100vw);
    height: 1px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topNewsSection_viewMoreLink::before {
    top: 0;
    left: 50%;
    width: 1px;
    height: calc(15 / 375 * 100vw);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
.topNewsSection_viewMoreLink::after {
  display: block;
  width: calc(15 / 1280 * 100vw);
  height: 1px;
  margin: calc(12 / 1280 * 100vw) auto 0;
  background-color: #414141;
  content: "";
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .topNewsSection_viewMoreLink::after {
    display: none;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .topNewsSection_viewMoreLink::after {
    width: calc(15 / 375 * 100vw);
    margin-top: calc(12 / 375 * 100vw);
  }
}

/*--------------------------------
 BANNER LIST
--------------------------------*/
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .bannerList {
    margin: calc(120 / 1280 * 100vw) auto 0;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .bannerList {
    margin: calc(80 / 375 * 100vw) auto 0;
  }
}

.bannerList_images {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.bannerList_images::before, .bannerList_images::after {
  position: absolute;
  z-index: 2;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  pointer-events: none;
  content: "";
}
.bannerList_images::before {
  background-color: #f8f8f8;
  inset: 0;
}
.bannerList_images::after {
  top: 50%;
  left: 50%;
  height: 95px;
  background: url("/assets/images/loading/loading.svg") center/contain no-repeat;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .bannerList_images::after {
    width: 120px;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .bannerList_images::after {
    width: 80px;
  }
}
.bannerList_images.is-loading::before, .bannerList_images.is-loading::after {
  opacity: 1;
  -webkit-transition: none;
  transition: none;
}
.bannerList_images.is-loading .bannerList_link {
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .bannerList_images {
    gap: calc(120 / 1280 * 100vw);
  }
  .bannerList_images.is-loading {
    min-height: calc(267 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .bannerList_images {
    gap: calc(40 / 375 * 100vw) calc(15 / 375 * 100vw);
  }
  .bannerList_images.is-loading {
    min-height: calc(360 / 375 * 100vw);
  }
}

.bannerList_link {
  display: block;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  -o-object-fit: cover;
  object-fit: cover;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) {
  .bannerList_link {
    width: calc(200 / 1280 * 100vw);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1023px) and (orientation: portrait) {
  .bannerList_link {
    width: calc((100% - calc(15 / 375 * 100vw)) / 2);
    padding: calc(13 / 375 * 100vw) calc(30 / 375 * 100vw);
  }
}
.bannerList_link.is-noLink {
  cursor: default;
  pointer-events: none;
}

.bannerList_image img {
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}
/*# sourceMappingURL=maps/top.css.map */
