@charset "UTF-8";
/* CSS Document */
/* リセット
---------------------------------------------------- */
*:focus {
  outline: none;
}

* {
  box-sizing: border-box;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
u,
b,
mark,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td,
hr,
figure,
button {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

fieldset,
img {
  border: 0;
  vertical-align: top;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: inherit;
}

li {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6,
small {
  font-size: 100%;
  font-weight: inherit;
}

q:before,
q:after {
  content: "";
}

abbr,
acronym {
  border: 0;
  font-variant: normal;
}

br {
  letter-spacing: normal;
}

/* to preserve line-height and selector appearance */
sup {
  vertical-align: text-top;
}

main {
  display: block;
}

u {
  text-decoration: none;
}

b {
  font-weight: inherit;
}

mark {
  background: none;
  color: inherit;
}

time {
  display: block;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

/*to enable resizing for IE*/
input,
textarea,
select {
  *font-size: 100%;
}

button {
  font-family: inherit;
  color: inherit;
  cursor: pointer;
}

/* ページ共通
---------------------------------------------------- */
html {
  color: #000;
  font-size: 10px;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.6666666667vw;
  }
}

body {
  margin: 0;
  padding: 0;
  font: 10px/1.4 "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-size: 1.6rem;
  font-weight: 300;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
    -webkit-text-size-adjust: 100%;
  }
}

p {
  letter-spacing: 0.05em;
  line-height: 2.5;
}
@media screen and (max-width: 767px) {
  p {
    line-height: 2.1428571429;
  }
}

*:first-child + html body {
  font-size: 87%;
}

hr {
  border: none;
}

a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

a:hover {
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  img {
    width: 100%;
  }
}

.clearfix:after {
  content: "."; /* 新しい要素を作る */
  display: block; /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*/ /*/
height: auto;
overflow: hidden;
/**/
}

.clear {
  clear: both;
}

.none {
  margin: 0;
  padding: 0;
  border: none;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
/* Icons */
@font-face {
  font-family: "slick";
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  margin-top: -10px\9 ; /*lte IE 8*/
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  opacity: 0.75;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir=rtl] .slick-prev {
  right: -25px;
  left: auto;
}

.slick-prev:before {
  content: "";
}

[dir=rtl] .slick-prev:before {
  content: "";
}

.slick-next {
  right: -25px;
}

[dir=rtl] .slick-next {
  right: auto;
  left: -25px;
}

.slick-next:before {
  content: "";
}

[dir=rtl] .slick-next:before {
  content: "";
}

/* Dots */
.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  display: block;
  position: absolute;
  bottom: -45px;
  width: 100%;
  padding: 0;
  list-style: none;
  font-size: 0;
  text-align: center;
}

.slick-dots li {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: none;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: "•";
  text-align: center;
  opacity: 0.25;
  color: black;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  opacity: 0.75;
  color: black;
}

/*--------------------------------------
 レイアウト
---------------------------------------*/
body.load {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: scroll;
}

body.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: scroll;
  background-color: #37373c;
}
body.fixed .l-wrapper {
  opacity: 0;
}

.l-wrapper {
  background-color: #37373c;
}

.l-modal {
  background-color: #37373c;
  width: 90%;
  margin: 0 auto;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .l-modal {
    width: 100%;
  }
}
.l-modal iframe {
  max-width: 100%;
  width: 1100px;
  height: 618px;
}
@media screen and (max-width: 1024px) {
  .l-modal iframe.Full {
    height: 400px;
  }
}
.l-header {
  position: relative;
  left: 0;
  top: 0;
  z-index: 20;
  font-size: 1.3rem;
}
.l-header .logo {
  left: 40px;
  top: 35px;
  display: inline-block;
  width: 68px;
  height: 68px;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .l-header .logo {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    left: 4.2666666667vw;
    top: 5.3333333333vw;
  }
}
.l-header .logo img {
  width: 100%;
  height: auto;
}
.l-header .companyName {
  position: fixed;
  right: 185px;
  color: #fff;
  top: 30px;
  display: flex;
  align-items: center;
  line-height: 1;
}
@media screen and (max-width: 1130px) {
  .l-header .companyName {
    top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .l-header .companyName {
    position: absolute;
    top: 4.2666666667vw;
  }
}
.l-header .companyName a:hover {
  opacity: 0.8;
}
.l-header .companyName p {
  letter-spacing: normal;
  line-height: normal;
}
.l-header .companyName .glb {
  display: flex;
  align-items: center;
  color: #fff;
  margin-left: 23px;
}
.l-header .companyName .glb::after {
  content: "";
  background: url(/common/img/glb-icons.svg);
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  display: inline-block;
  margin-left: 7px;
}
@media screen and (max-width: 767px) {
  .l-header .companyName {
    right: 5.3333333333vw;
    top: 5.3333333333vw;
  }
}
.l-header .companyName span {
  display: inline-block;
  border-left: 1px solid #fff;
  padding-left: 10px;
  margin-left: 10px;
}

.l-cont {
  position: relative;
}

.l-headBg {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 19;
  height: 150px;
  opacity: 0.7;
  width: 100%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.84) 100%, rgba(0, 0, 0, 0) 100%, rgba(128, 128, 128, 0) 100%);
}
@media screen and (max-width: 767px) {
  .l-headBg {
    height: 25.6vw;
  }
}

.pcNav {
  position: fixed;
  display: flex;
  top: 75px;
  right: 37px;
  align-items: center;
  column-gap: 50px;
  row-gap: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
  padding-left: 138px;
}
.pcNav a:hover path {
  fill: #ffe139;
}
@media screen and (max-width: 1130px) {
  .pcNav {
    right: 20px;
    top: 40px;
    row-gap: 5px;
  }
}
@media screen and (max-width: 767px) {
  .pcNav {
    display: none;
  }
}
.pcNav li {
  margin-right: 0;
}
.pcNav .nav-link {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 2rem;
  color: #fff;
  white-space: nowrap;
}
.pcNav .nav-link:focus-visible {
  color: #ffe139;
}
@media (hover: hover) and (pointer: fine) {
  .pcNav .nav-link:hover {
    color: #ffe139;
  }
}

.l-nav {
  font-size: 1.3rem;
  position: relative;
  z-index: 31;
}
.l-nav .lang {
  position: fixed;
  right: 37px;
  top: 30px;
  display: flex;
  z-index: 31;
}
@media screen and (max-width: 1130px) {
  .l-nav .lang {
    top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .l-nav .lang {
    top: 12.5333333333vw;
    right: 20.8vw;
    transition: 0.3s;
  }
  .l-nav .lang.scroll {
    top: 6vw;
  }
}
.l-nav .lang a,
.l-nav .lang span {
  display: inline-block;
  color: rgba(255, 255, 255, 0.5);
}
.l-nav .lang a:hover,
.l-nav .lang span:hover {
  color: white;
}
.l-nav .lang a.on,
.l-nav .lang span.on {
  color: white;
}
.l-nav .lang a + a,
.l-nav .lang span + a {
  border-left: 1px solid rgba(255, 255, 255, 0.5);
  margin-left: 10px;
  padding-left: 10px;
}
.l-nav .lang a + span,
.l-nav .lang span + span {
  border-left: 1px solid rgba(255, 255, 255, 0.5);
  margin-left: 10px;
  padding-left: 10px;
}
.l-nav .lang .snsIcon {
  margin-right: 18px;
}
.l-nav .lang .snsIcon a {
  border: 0;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .l-nav .lang .snsIcon a img {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
.l-nav .lang .snsIcon a:hover {
  opacity: 0.7;
}
.l-nav .lang .snsIcon a + a {
  margin-left: 9px;
}
.l-nav .menu {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 30;
  display: none;
}
@media screen and (max-width: 767px) {
  .l-nav .menu {
    display: block;
  }
}
.l-nav .menu .btn {
  position: fixed;
  top: 43px;
  display: block;
  right: 40px;
  width: 44px;
  height: 14px;
  cursor: pointer;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .l-nav .menu .btn {
    top: 13.3333333333vw;
    right: 5.3333333333vw;
  }
  .l-nav .menu .btn.scroll {
    top: 7vw;
  }
}
.l-nav .menu .btn.show .line1 {
  transform: rotate(30deg);
  top: 6.5px;
}
.l-nav .menu .btn.show .line2 {
  bottom: 6.5px;
  transform: rotate(-30deg);
}
@media screen and (min-width: 768px) {
  .l-nav .menu .btn:hover .lines:after {
    left: 0;
  }
}
.l-nav .menu .btn .lines {
  left: 0;
  display: block;
  height: 1px;
  width: 100%;
  position: absolute;
  background-color: #fff;
  overflow: hidden;
  transition: 0.3s;
}
.l-nav .menu .btn .lines:after {
  content: "";
  width: 50px;
  position: absolute;
  height: 1px;
  display: block;
  background-color: #f7da31;
  left: -50px;
  top: 0;
  transition: 0.3s;
}
.l-nav .menu .btn .line1 {
  top: 0;
}
.l-nav .menu .btn .line2 {
  bottom: 0;
}
.l-nav .menu .btn .line2:after {
  transition-delay: 0.1s;
}
@keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.l-nav .menu .menuIn {
  display: flex;
  left: 0;
  top: 0;
  background-color: #37373c;
  position: fixed;
  align-items: center;
  visibility: hidden;
  width: 100%;
  height: 100%;
}
.l-nav .menu .menuIn.show {
  visibility: visible;
  animation: appear 0.5s ease;
}
.l-nav .menu .menuIn ul {
  width: 60%;
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .l-nav .menu .menuIn ul {
    width: 80%;
  }
}
.l-nav .menu .menuIn ul li .ttl {
  display: inline-flex;
  align-items: center;
}
.l-nav .menu .menuIn ul li .ttl img {
  width: auto;
}
@media screen and (max-width: 767px) {
  .l-nav .menu .menuIn ul li .ttl img {
    height: 7vw;
  }
}
.l-nav .menu .menuIn ul li + li {
  margin-top: 116px;
}
@media screen and (max-width: 767px) {
  .l-nav .menu .menuIn ul li + li {
    margin-top: 15vw;
  }
}
.l-nav .menu .menuIn .nav-link {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #fff;
  font-size: 2rem;
}

.contact-btn {
  display: grid;
  place-items: center;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #fff;
  border-color: #fff;
  border-style: solid;
  border-radius: 9999px;
  border-width: 1px;
  font-size: 2rem;
  width: 160px;
  height: 36px;
}
.contact-btn:focus-visible {
  color: #ffe139;
  border-color: #ffe139;
}
@media (hover: hover) and (pointer: fine) {
  .contact-btn:hover {
    color: #ffe139;
    border-color: #ffe139;
  }
}
@media screen and (max-width: 767px) {
  .contact-btn {
    width: 42.6666666667vw;
    height: 9.6vw;
  }
}

.l-fixed-btn {
  position: fixed;
  right: 0;
  bottom: 50px;
  z-index: 20;
}
@media screen and (max-width: 767px) {
  .l-fixed-btn {
    bottom: 5.3333333333vw;
  }
}
.l-fixed-btn .fixed-contact-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #1e2023;
  border-color: #707070;
  border-style: solid;
  border-width: 1px;
  color: #fff;
  writing-mode: vertical-rl;
  font-weight: 500;
  width: 70px;
  height: 230px;
  font-size: 1.5rem;
  transition: background-color 0.3s ease-out;
}
.l-fixed-btn .fixed-contact-btn:focus-visible {
  background-color: rgb(41.7692307692, 44.5538461538, 48.7307692308);
}
@media (hover: hover) and (pointer: fine) {
  .l-fixed-btn .fixed-contact-btn:hover {
    background-color: rgb(41.7692307692, 44.5538461538, 48.7307692308);
  }
}
@media screen and (max-width: 767px) {
  .l-fixed-btn .fixed-contact-btn {
    width: 13.3333333333vw;
    height: 40vw;
    font-size: 1.4rem;
  }
}
.l-fixed-btn .fixed-contact-btn::after {
  content: "";
  display: block;
  width: 10px;
  height: 20px;
  background-image: url(/common/img/arrow_normal.svg);
  background-repeat: no-repeat;
  background-size: contain;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .l-fixed-btn .fixed-contact-btn::after {
    width: 2vw;
    height: 4vw;
    margin-top: 2.1333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .l-fixed-btn .fixed-contact-btn span {
    display: none;
  }
}

.l-back-to-top {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #e4e4e4;
  height: 180px;
}
@media screen and (max-width: 767px) {
  .l-back-to-top {
    height: 26.6666666667vw;
  }
}
.l-back-to-top .totop {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 10px;
}
@media screen and (max-width: 767px) {
  .l-back-to-top .totop {
    row-gap: 2.6666666667vw;
  }
}
.l-back-to-top .totop::before {
  content: "";
  display: inline-flex;
  width: 50px;
  height: 25px;
  background-image: url("../img/totop_arrow.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  transition: transform 0.3s ease-out;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-back-to-top .totop::before {
    width: 8vw;
    height: 4vw;
  }
}
.l-back-to-top .totop .ttl {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  font-size: 2.5rem;
}
@media screen and (max-width: 767px) {
  .l-back-to-top .totop .ttl {
    font-size: 2rem;
  }
}
.l-back-to-top .totop:focus-visible::before {
  transform: translateY(-5px);
}
@media (hover: hover) and (pointer: fine) {
  .l-back-to-top .totop:hover::before {
    transform: translateY(-5px);
  }
}

.l-coverContent {
  position: relative;
}

.l-totop {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 60px;
  background-color: #e4e4e4;
}
@media screen and (max-width: 767px) {
  .l-totop {
    height: 32vw;
    padding: 0 14.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .l-totop .news {
    padding: 13.3333333333vw 0;
  }
}
.l-totop .news .ttl {
  display: flex;
  align-items: center;
}
.l-totop .c-maskLink {
  position: relative;
}
.l-totop .c-maskLink .ttl {
  display: inline-flex;
  align-items: center;
}
.l-totop .c-maskLink .ttl .mask {
  width: 25px;
  height: 50px;
}
@media screen and (max-width: 767px) {
  .l-totop .c-maskLink .ttl .mask {
    width: 6.6666666667vw;
    height: 13.3333333333vw;
  }
}
.l-totop .totopSP {
  background-color: #37373c;
  border-bottom: 1px solid #e4e4e4;
  padding: 5.3333333333vw 5.3333333333vw 2.6666666667vw 5.3333333333vw;
  display: block;
  text-align: center;
}
.l-totop .totopSP img {
  height: 2.9333333333vw;
}
.l-totop a.totop {
  display: inline-flex;
  align-items: center;
}
.l-totop a.totop:after {
  content: "";
  display: inline-flex;
  width: 50px;
  height: 25px;
  background-image: url("../img/totop_arrow.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  margin-left: 18px;
  transition: 0.3s;
  position: relative;
  top: -5px;
}
@media screen and (max-width: 767px) {
  .l-totop a.totop img {
    height: 4.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .l-totop a.totop:hover:after {
    top: -15px;
  }
}
@media screen and (max-width: 767px) {
  .l-totop {
    padding: 12.5333333333vw 6.6666666667vw;
  }
}

.l-copy {
  animation: copyZoom 4s both;
  position: absolute;
  height: 38px;
  top: 50%;
  margin-top: -19px;
  width: 465px;
  left: 50%;
  margin-left: -232px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 30;
  transition: 1s 0.2s;
}
@media screen and (max-width: 767px) {
  .l-copy {
    width: 70vw;
    margin-left: -35vw;
  }
}
.l-copy.hide {
  opacity: 0;
}
.l-copy .l-copytxt {
  filter: blur(20px);
  opacity: 0;
  animation: copyText 1s both;
}
@media screen and (max-width: 767px) {
  .l-copy .l-copytxt {
    width: 70vw;
  }
}

@keyframes copyZoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
@keyframes copyText {
  0% {
    opacity: 0;
    filter: blur(20px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}
.l-loading {
  position: absolute;
  background-color: #37373c;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
}

.l-footer {
  display: flex;
  background-color: #37373c;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 10px;
  padding: 25px 30px;
  color: #fff;
  font-size: 1.2rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-footer {
    display: block;
    padding: 12vw 5.3333333333vw;
    position: relative;
  }
  .l-footer .footlogo {
    padding-bottom: 1.3333333333vw;
  }
  .l-footer .footlogo img {
    width: 40.2666666667vw;
  }
  .l-footer .copyright {
    position: absolute;
    right: 5.3333333333vw;
    bottom: 12vw;
  }
}
.l-footer .colL {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-footer .colL {
    display: block;
  }
}
.l-footer .colL ul {
  display: flex;
  margin-left: 45px;
}
@media screen and (max-width: 767px) {
  .l-footer .colL ul {
    display: block;
    margin-left: 0;
  }
}
.l-footer .colL ul li {
  margin-right: 28px;
}
@media screen and (max-width: 767px) {
  .l-footer .colL ul li {
    margin-top: 5.3333333333vw;
  }
}
.l-footer .colL a:hover {
  opacity: 0.7;
}
.l-footer .colL .arrow {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}
.l-footer .colL .arrow:before {
  position: relative;
  top: 1px;
  margin-right: 5px;
  content: url("../img/arrow.svg");
}
.l-footer .colL .glb::after {
  content: "";
  background: url(/common/img/glb-icons.svg);
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 6px;
}
@media screen and (max-width: 767px) {
  .l-footer .colL .glb::after {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
    margin-left: 1.5vw;
  }
}
@media screen and (min-width: 768px) {
  .l-footer .copyright {
    flex-grow: 1;
    text-align: right;
  }
}

/*--------------------------------------
 要素
---------------------------------------*/
img {
  max-width: 100%;
  height: auto;
}

svg {
  vertical-align: top;
}

input[type=text],
input[type=submit],
input[type=reset],
input[type=button],
button,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
}

.u-icon-blank:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url("../img/icon_blank.svg");
  background-repeat: no-repeat;
}

.iconBlank:after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  margin-left: 2px;
  background-image: url("../img/icon_blank.svg");
  background-size: 100%;
  position: relative;
  top: 2px;
}
.iconBlank.isType2:after {
  background-image: url("../img/icon_blank_b.svg");
}

input[type=text]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: #ccc;
  opacity: 1;
}
input[type=text]::-moz-input-placeholder,
input[type=password]::-moz-input-placeholder {
  /* Fox */
  color: #ccc;
  opacity: 1;
}
input[type=text]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #ccc;
  opacity: 1;
}
input[type=text]::placeholder,
input[type=password]::placeholder {
  /* Others */
  color: #ccc;
  opacity: 1;
}

input[type=text]::-ms-clear {
  visibility: hidden;
}

input[type=number] {
  -moz-appearance: textfield;
}
input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

select {
  box-sizing: border-box;
}
select::-ms-expand {
  display: none;
}

button {
  font-family: inherit;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  a {
    transition: 0.3s;
  }
}
.scroll.isTop {
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: 10;
  text-align: center;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.scroll.isTop span {
  width: 1px;
  height: 42px;
  position: relative;
  overflow: hidden;
}
.scroll.isTop span:after {
  content: "";
  width: 1px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #fff;
  animation: scrline 2.5s infinite both;
}
@keyframes scrline {
  0% {
    top: -100%;
  }
  40% {
    top: 0%;
  }
  60% {
    top: 0%;
  }
  100% {
    top: 100%;
  }
}

/*スクロールバー全体*/
.setAnimation {
  overflow: hidden;
  position: relative;
}
.setAnimation:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  z-index: 3;
  transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}
.setAnimation.showAnimation:after {
  transform: translate(100%, 0%);
}

.c-ttl2 {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .c-ttl2 {
    margin-bottom: 6.6666666667vw;
    padding-left: 5.3333333333vw;
  }
  .c-ttl2 img {
    height: 6.6666666667vw;
    width: auto;
  }
}

.c-inner {
  max-width: 1140px;
  margin: 0 auto;
  width: 90%;
}
@media screen and (max-width: 767px) {
  .c-inner {
    width: 100%;
  }
}

.c-sup {
  font-size: 50%;
  display: inline-block;
  position: relative;
}

.c-maskLink {
  display: block;
  position: relative;
}
.c-maskLink .coming {
  position: absolute;
  left: 30px;
  top: 2px;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-maskLink .coming {
    left: 21vw;
    top: 0;
  }
  .c-maskLink .coming img {
    width: 31.4666666667vw;
  }
}
.c-maskLink .ttl {
  /*
  @include pc {
    -webkit-mask-image: url($pathImg + "service/ttl.svg");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    &.en{
      -webkit-mask-image: url($pathImg + "en/service/ttl.svg");
    }
  }*/
  display: inline-block;
  position: relative;
}
.c-maskLink .ttl img {
  max-width: 100%;
}
.c-maskLink .ttl .mask {
  content: "";
  position: relative;
  left: 20px;
  width: 30px;
  height: 60px;
  background-image: url("../img/arrow_normal.svg");
  display: inline-block;
  background-size: contain;
  transition: 0.3s;
  background-repeat: no-repeat;
  vertical-align: middle;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .c-maskLink .ttl .mask {
    width: 5.3333333333vw;
    height: 10.6666666667vw;
  }
}
.c-maskLink .ttl .mask.black {
  background-image: url("../img/arrow_black.svg");
}
.c-maskLink:hover .mask {
  left: 40px;
}

.c-btn1 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 330px;
  height: 60px;
  border: 1px solid #37373c;
  border-radius: 100px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .c-btn1 {
    width: 61.3333333333vw;
    height: 10.6666666667vw;
  }
}
.c-btn1::before {
  background: #37373c;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: 0.2s ease-out;
}
.c-btn1 svg {
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-btn1 svg {
    height: 4.648vw;
  }
}
.c-btn1 path {
  transition: 0.2s;
}
@media screen and (min-width: 768px) {
  .c-btn1:hover::before {
    transform: scale(1, 1);
  }
  .c-btn1:hover path {
    fill: #fff;
  }
}
@media screen and (min-width: 768px) {
  .c-btn1.sz2 {
    width: 85px;
    height: 24px;
  }
}
@media screen and (max-width: 767px) {
  .c-btn1.sz2 {
    width: 22.6666666667vw;
    height: 6.4vw;
  }
}
.c-btn1.sz2 svg {
  width: auto;
}
@media screen and (min-width: 768px) {
  .c-btn1.sz2 svg {
    height: 10.68px;
  }
}
@media screen and (max-width: 767px) {
  .c-btn1.sz2 svg {
    height: 2.8453333333vw;
  }
}
.c-btn1.clr2 {
  border-color: #fff;
}
.c-btn1.clr2::before {
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .c-btn1.clr2:hover path {
    fill: #37373c;
  }
}

/*--------------------------------------
 プラグイン
---------------------------------------*/
/* Slick */
.slick-slider {
  margin-bottom: 0;
}

.slick-arrow {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100% 100% !important;
  width: 38px;
  height: 59px;
  margin: auto;
  top: 0;
  bottom: 0;
  z-index: 1;
  transform: translate(0);
  transition: opacity 0.3s;
}
.slick-arrow:not([disabled]):hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .slick-arrow {
    width: 4.9386666667vw;
    height: 8vw;
  }
}
.slick-arrow:before {
  content: normal;
}
.slick-arrow.slick-prev {
  background-image: url("../img/arrow_l.svg");
  width: 36px;
  height: 67px;
  left: 30px;
}
@media screen and (max-width: 767px) {
  .slick-arrow.slick-prev {
    width: 5.3333333333vw;
    height: 10.6666666667vw;
    left: 2.6666666667vw;
  }
}
.slick-arrow.slick-next {
  background-image: url("../img/arrow_r.svg");
  width: 36px;
  height: 67px;
  right: 30px;
}
@media screen and (max-width: 767px) {
  .slick-arrow.slick-next {
    width: 5.3333333333vw;
    height: 10.6666666667vw;
    right: 2.6666666667vw;
  }
}

.slick-dots li {
  background-color: #fff;
  width: 15px;
  height: 15px;
  margin: 0 11px;
  border-radius: 50%;
  box-sizing: border-box;
}
.slick-dots li.slick-active {
  background-color: #3b3561;
  border: 2px solid #fff;
}
@media screen and (max-width: 767px) {
  .slick-dots li {
    width: 4vw;
    height: 4vw;
    margin: 0 2.9333333333vw;
  }
  .slick-dots li.slick-active {
    border-width: 0.5333333333vw;
  }
}

.modalBox {
  display: none;
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
}
.modalBox .modalInner {
  width: 600px;
  position: absolute;
  left: 50%;
  margin-left: -300px;
  top: 20%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .modalBox .modalInner {
    width: 90%;
  }
}
.modalBox .modalInner p {
  text-align: left;
  padding: 20px 0;
}
.modalBox .btnClose {
  display: inline-block;
  font-size: 1.5rem;
  background: #333;
  padding: 5px;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .l-modal .aboutus {
    letter-spacing: 0.05em;
  }
}

.englishPage .l-modal .aboutus {
  letter-spacing: 0;
}
/* CSS Document */
.modalWrap {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  background-color: #37373c;
  display: none;
  color: #fff;
}
.modalWrap.show {
  display: block;
}
.modalWrap ::-webkit-scrollbar {
  display: none;
}
.modalWrap .imgBox {
  max-width: 1100px;
  margin: 0 auto;
  padding: 150px 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .imgBox {
    padding-top: 100px;
  }
  .modalWrap .imgBox iframe {
    height: 55vw;
  }
}
.modalWrap .imgBox li + li {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .modalWrap .imgBox li + li {
    margin-top: 80px;
  }
}
.modalWrap .imgBox a {
  display: block;
  position: relative;
}
.modalWrap .imgBox a img {
  pointer-events: none;
}
.modalWrap .imgBox a:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0);
}
.modalWrap .imgBox span {
  font-size: 2rem;
  margin-bottom: 20px;
  display: block;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .modalWrap .imgBox span {
    padding: 0 20px;
    font-size: 16px;
    margin-bottom: 12px;
  }
}
.modalWrap .modals {
  opacity: 0;
}
.modalWrap .modals.show {
  opacity: 1;
}
.modalWrap .modals.show .in {
  display: block;
}
.modalWrap .modals .in {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: auto;
  display: none;
}
.modalWrap .modalClose {
  position: fixed;
  right: 50px;
  top: 48px;
  cursor: pointer;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .modalWrap .modalClose {
    width: 7.4666666667vw;
    height: 7.4666666667vw;
    right: 7.4666666667vw;
    top: 7.4666666667vw;
  }
}

.modalWrap .modal-open {
  margin-top: 40px;
  display: inline-block;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .modalWrap .modal-open {
    margin-top: 4.8vw;
  }
}
.modalWrap .modal-open:hover {
  opacity: 0.7;
}
.modalWrap .scrolldown {
  font-size: 1.3rem;
  text-align: center;
  margin: 72px 0 0 0;
  position: relative;
  transition: 0.3s;
  position: absolute;
  bottom: 30px;
  left: 50%;
}
.modalWrap .scrolldown span {
  opacity: 0;
}
.modalWrap .scrolldown.hide {
  opacity: 0;
}
.modalWrap .scrolldown::after {
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 30px;
  background: #fff;
  animation: smove 1s ease-in-out infinite;
  opacity: 0;
  display: block;
  left: 50%;
}
@keyframes smove {
  0% {
    height: 0;
    top: 20px;
    opacity: 0;
  }
  20% {
    height: 20px;
    opacity: 1;
  }
  40% {
    height: 15px;
    opacity: 1;
  }
  60% {
    height: 10px;
    opacity: 1;
  }
  80% {
    height: 5px;
    opacity: 0.5;
  }
  100% {
    height: 0;
    top: 60px;
    opacity: 0;
  }
}
.modalWrap .modalInner {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}
.modalWrap .modalInner .row {
  display: flex;
  padding: 10px 0;
}
.modalWrap .l-modal .aboutus .inner {
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner {
    padding: 20vw 5.2vw;
  }
}
.modalWrap .l-modal .aboutus .inner .top-bl {
  display: flex;
  flex-direction: column;
  padding: 150px 0;
  justify-content: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .top-bl {
    display: block;
    padding: 6.6666666667vw 0 0 0;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .top-bl h2.ttl {
    width: 52vw;
  }
}
.modalWrap .l-modal .aboutus .inner .top-bl .next-ttl {
  font-size: 2.8rem;
  margin: 97px 0 71px 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .top-bl .next-ttl {
    font-size: 2.2rem;
    margin: 18.6666666667vw 0 8vw 0;
  }
}
.modalWrap .l-modal .aboutus .inner .top-bl .ct {
  font-size: 2rem;
  line-height: 2.5;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .top-bl .ct {
    font-size: 1.4rem;
    line-height: 2.1428571429;
  }
}
.modalWrap .l-modal .aboutus .inner .mid-bl {
  margin-top: 73px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .mid-bl {
    margin-top: 28vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .mid-bl h2.ttl img {
    height: 5.3333333333vw;
    width: auto;
  }
}
.modalWrap .l-modal .aboutus .inner .bot-bl {
  margin-top: 120px;
  padding-bottom: 140px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .bot-bl {
    padding-bottom: 0;
    margin-top: 30.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .bot-bl .ttl img {
    height: 5.3333333333vw;
    width: auto;
  }
}
.modalWrap .l-modal .aboutus .inner .bot-bl ul li dt {
  font-size: 1.6rem;
}
.modalWrap .l-modal .aboutus .inner .bot-bl ul li dt.ac {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .bot-bl ul li dt {
    font-size: 1.4rem;
  }
}
.modalWrap .l-modal .aboutus .inner .bot-bl ul li dd {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .bot-bl ul li dd {
    font-size: 1.4rem;
  }
}
.modalWrap .l-modal .aboutus .inner .bot-bl ul li dd .small {
  font-size: 1.5rem;
  margin-top: 25px;
  text-indent: -1em;
  margin-left: 1em;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .bot-bl ul li dd .small {
    font-size: 1.2rem;
    margin-top: 3.4666666667vw;
  }
}
.modalWrap .l-modal .aboutus .inner .bot-bl ul li dd.mail {
  font-size: 2.3rem;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .bot-bl ul li dd.mail {
    font-size: 1.4rem;
  }
}
.modalWrap .l-modal .aboutus .inner .bot-bl ul li dd .in-line {
  border-top: 1px solid #7B7B7B;
  margin-top: 30px;
  padding-top: 25px;
  margin-bottom: -5px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .bot-bl ul li dd .in-line {
    border-top: none;
    padding-top: 0;
    margin-bottom: 0;
    margin-top: 5.3333333333vw;
  }
}
.modalWrap .l-modal .aboutus .inner .listline {
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .listline {
    margin-top: 8vw;
  }
}
.modalWrap .l-modal .aboutus .inner .listline li {
  display: flex;
  justify-content: space-between;
  padding: 30px 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .listline li {
    padding: 6.6666666667vw 0;
    display: block;
  }
}
.modalWrap .l-modal .aboutus .inner .listline li:nth-child(odd) {
  border-top: 1px solid #7B7B7B;
  border-bottom: 1px solid #7B7B7B;
}
.modalWrap .l-modal .aboutus .inner .listline li:nth-last-child(1) {
  border-bottom: 1px solid #7B7B7B;
}
.modalWrap .l-modal .aboutus .inner .listline li dt {
  width: 36%;
  font-size: 2.3rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .listline li dt {
    width: 100%;
    font-size: 2.1rem;
  }
}
.modalWrap .l-modal .aboutus .inner .listline li dd {
  width: 60%;
  font-size: 2rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .listline li dd {
    width: 100%;
    font-size: 1.4rem;
    margin-top: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .aboutus .inner .listline li dd .img {
    width: 41.6vw;
  }
}
.modalWrap .l-modal .fl-contact {
  display: flex;
  height: 100vh;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-contact {
    flex-direction: column;
    align-items: flex-start;
    padding: 0 0 0 5.3333333333vw;
  }
  .modalWrap .l-modal .fl-contact.caseMovieBox {
    padding: 0;
  }
}
.modalWrap .l-modal .fl-contact .left {
  padding-right: 80px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-contact .left {
    padding: 0 0 13.3333333333vw 0;
  }
}
.modalWrap .l-modal .fl-contact .right {
  padding: 80px 0 80px 80px;
  border-left: 1px solid #848484;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-contact .right {
    padding: 0;
    border: 0;
  }
}
.modalWrap .l-modal .fl-contact dl .en {
  display: inline-block;
  font-size: 2.2rem;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-contact dl .en img {
    margin-left: -1.5vw;
  }
}
.modalWrap .l-modal .fl-contact dl dt {
  font-size: 1.8rem;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-contact dl dt {
    font-size: 1.6rem;
  }
}
.modalWrap .l-modal .fl-contact dl dd {
  font-size: 2.2rem;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-contact dl dd {
    font-size: 1.8rem;
  }
}
.modalWrap .l-modal .fl-contact dl dd img {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-contact dl dd img {
    width: 58.9333333333vw;
    margin-left: 1vw;
  }
}
.modalWrap .l-modal .fl-contact dl + dl {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-contact dl + dl {
    margin-top: 13.3333333333vw;
  }
}
.modalWrap .l-modal .fl-service {
  max-width: 1045px;
  margin: 0 auto;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-service {
    padding: 19.2vw 0;
    justify-content: center;
    flex-direction: column-reverse;
  }
}
.modalWrap .l-modal .fl-service .left {
  width: 50%;
  flex-shrink: 0;
}
@media screen and (max-width: 1024px) {
  .modalWrap .l-modal .fl-service .left {
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-service .left {
    box-sizing: border-box;
    width: 100%;
    padding: 0 5.3vw;
  }
}
.modalWrap .l-modal .fl-service .left p {
  font-size: 1.6rem;
  padding: 45px 0 30px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-service .left p {
    font-size: 1.4rem;
  }
}
.modalWrap .l-modal .fl-service .last .plane {
  display: flex;
}
.modalWrap .l-modal .fl-service .last .plane li {
  font-size: 1.5rem;
  border: 1px solid #fff;
  padding: 3px 20px;
  border-radius: 6px;
  position: relative;
  flex-shrink: 0;
}
.modalWrap .l-modal .fl-service .last .plane li.en {
  font-size: 1.4rem;
  padding: 3px 15px;
}
@media screen and (max-width: 1024px) {
  .modalWrap .l-modal .fl-service .last .plane li.en {
    padding: 3px 8px;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-service .last .plane li.en {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-service .last .plane li {
    padding: 0.8vw 4vw;
  }
  .modalWrap .l-modal .fl-service .last .plane li.en {
    padding: 0.8vw 2.6666666667vw;
  }
}
.modalWrap .l-modal .fl-service .last .plane li:nth-child(n+2) {
  margin-left: 35px;
}
@media screen and (max-width: 1024px) {
  .modalWrap .l-modal .fl-service .last .plane li:nth-child(n+2).en {
    margin-left: 25px;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-service .last .plane li:nth-child(n+2).en {
    margin-left: 8vw;
  }
}
.modalWrap .l-modal .fl-service .last .plane li:nth-child(n+2)::before {
  content: "";
  background: url(../img/modal/arrow-right.svg);
  width: 15px;
  height: 8px;
  background-repeat: no-repeat;
  position: absolute;
  display: block;
  left: -25px;
  top: 35%;
}
.modalWrap .l-modal .fl-service .right-txt {
  width: 50%;
  padding-left: 5%;
  box-sizing: border-box;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .modalWrap .l-modal .fl-service .right-txt {
    width: auto;
  }
}
.modalWrap .l-modal .fl-service .right-txt::after {
  content: "";
  background-color: #808080;
  width: 1px;
  height: 100%;
  position: absolute;
  display: block;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-service .right-txt::after {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-service .right-txt {
    width: 100%;
    padding: 0 5.3333333333vw;
  }
}
.modalWrap .l-modal .fl-service .right-txt .t01 {
  font-size: 1.6rem;
}
.modalWrap .l-modal .fl-service .right-txt .cap {
  font-size: 2.9rem;
  margin: 10px 0 52px 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-service .right-txt .cap {
    font-size: 2.8rem;
    margin: 4.5333333333vw 0 10.6666666667vw 0;
  }
}
.modalWrap .l-modal .fl-service .right-txt .list .ttl {
  font-size: 2rem;
  margin-bottom: 22px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-service .right-txt .list .ttl {
    margin-bottom: 6.4vw;
  }
}
.modalWrap .l-modal .fl-service .right-txt .list ul li {
  list-style: disc;
  margin-left: 1.3em;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-service .right-txt .list ul li {
    font-size: 1.8rem;
  }
}
.modalWrap .l-modal .fl-service .right-txt .list ul li:nth-child(n+2) {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .fl-service .right-txt .list ul li:nth-child(n+2) {
    margin-top: 10.6666666667vw;
  }
}
.modalWrap .l-modal .fl-service .right-txt .list ul li.but a {
  display: inline-flex;
  margin-left: 10px;
}
.modalWrap .l-modal .volmetricvideo .inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 150px 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .inner {
    height: auto;
    padding: 32vw 5.3333333333vw 0 5.3333333333vw;
  }
}
.modalWrap .l-modal .volmetricvideo .inner .nb1-ttl {
  font-size: 2.5rem;
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .inner .nb1-ttl {
    padding-bottom: 6.9333333333vw;
    font-size: 2.2rem;
    text-align: center;
    line-height: 1.7;
  }
}
.modalWrap .l-modal .volmetricvideo .inner h2.ttl {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .inner h2.ttl {
    width: 80vw;
    margin: 0 auto;
  }
}
.modalWrap .l-modal .volmetricvideo .inner .next-ttl {
  text-align: left;
  padding-top: 40px;
}
.modalWrap .l-modal .volmetricvideo .inner .next-ttl p {
  font-size: 1.5rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .inner .next-ttl p {
    line-height: 2;
    font-size: 1.4rem;
  }
}
.modalWrap .l-modal .volmetricvideo .inner .navscr {
  display: flex;
  justify-content: space-between;
  margin-top: 117px;
  width: 100%;
  flex-wrap: wrap;
}
.modalWrap .l-modal .volmetricvideo .inner .navscr.bottom {
  margin-top: 0px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .inner .navscr {
    margin-top: 16vw;
    justify-content: space-between;
    width: 100%;
    position: relative;
    margin-right: -4vw;
  }
}
.modalWrap .l-modal .volmetricvideo .inner .navscr li {
  width: 33%;
}
@media screen and (max-width: 1200px) {
  .modalWrap .l-modal .volmetricvideo .inner .navscr li {
    width: 50%;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .inner .navscr li {
    width: 43vw;
    margin: 3vw 0;
  }
}
.modalWrap .l-modal .volmetricvideo .inner .navscr li .en {
  font-size: 3rem;
  margin-right: 10px;
}
.modalWrap .l-modal .volmetricvideo .inner .navscr li:hover {
  opacity: 0.5;
  transition: 0.8s;
}
.modalWrap .l-modal .volmetricvideo .inner .navscr li a {
  display: flex;
  justify-content: center;
  text-align: center;
  width: 100%;
  align-items: center;
  font-size: 1.8rem;
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .inner .navscr li a {
    display: flex;
    flex-wrap: nowrap;
  }
}
.modalWrap .l-modal .volmetricvideo .inner .navscr li a span {
  font-size: 1.9rem;
  display: flex;
  margin-right: 5px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .inner .navscr li a span {
    font-size: 0.9rem;
    width: auto;
    display: inline-block;
    flex-shrink: 0;
  }
}
.modalWrap .l-modal .volmetricvideo .inner .navscr li a em {
  display: inline-flex;
  margin-right: 20px;
}
.modalWrap .l-modal .volmetricvideo .inner .navscr li a em:after {
  content: "";
  width: 27px;
  height: 14px;
  display: inline-flex;
  background-image: url("../img/arrow_down.svg");
  background-size: cover;
  flex-shrink: 0;
  margin-left: 15px;
  margin-top: 2px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .inner .navscr li a em:after {
    background-size: contain;
    background-repeat: no-repeat;
    width: 4vw;
    height: 2.4vw;
    margin-top: 0;
    margin-left: 1vw;
  }
}
.modalWrap .l-modal .volmetricvideo .inner .navscr li a em img {
  height: 15px;
  width: auto;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .inner .navscr li a em img {
    height: 2vw;
  }
}
.modalWrap .l-modal .volmetricvideo .inner .navscr li em {
  display: inline-flex;
  padding-top: 3px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .inner .navscr li em {
    padding-top: 1px;
    flex-shrink: 0;
  }
}
.modalWrap .l-modal .volmetricvideo .inner .navscr li em img {
  height: 16px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .inner .navscr li em img {
    height: 2vw;
  }
}
.modalWrap .l-modal .volmetricvideo .inner .navscr li em.en img {
  height: 18px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .inner .navscr li em.en img {
    height: 2vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .inner .navscr li img {
    height: 5.3333333333vw;
    width: auto;
  }
}
.modalWrap .l-modal .volmetricvideo .inner .navscr li.cen {
  margin: 40px auto 0 auto;
}
@media screen and (max-width: 1200px) {
  .modalWrap .l-modal .volmetricvideo .inner .navscr li.cen {
    margin-top: 4px;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .inner .navscr li.cen {
    margin: 3vw 0 0 0;
  }
}
.modalWrap .l-modal .volmetricvideo .forwho {
  text-align: center;
  padding-bottom: 230px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .forwho {
    padding-bottom: 38.1333333333vw;
  }
}
.modalWrap .l-modal .volmetricvideo .forwho li {
  margin-top: 122px;
  padding-top: 20px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .forwho li {
    padding-top: 5.3333333333vw;
    margin-top: 16.5333333333vw;
  }
}
.modalWrap .l-modal .volmetricvideo .forwho li .directed {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .forwho li .directed {
    margin: 0 auto 3vw auto;
    width: 30.6666666667vw;
  }
}
.modalWrap .l-modal .volmetricvideo .forwho li .btnV {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .forwho li .btnV {
    margin-top: 4.8vw;
  }
  .modalWrap .l-modal .volmetricvideo .forwho li .btnV img {
    width: 61.3333333333vw;
  }
}
.modalWrap .l-modal .volmetricvideo .forwho li .btnV a {
  margin: auto;
}
.modalWrap .l-modal .volmetricvideo .forwho li .name {
  margin-bottom: 30px;
  font-size: 3.8rem;
  font-weight: 300;
  display: inline-flex;
  align-items: center;
  line-height: 1;
}
.modalWrap .l-modal .volmetricvideo .forwho li .name .jp {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .forwho li .name .jp {
    font-size: 1.9rem;
  }
}
.modalWrap .l-modal .volmetricvideo .forwho li .name .jp::after {
  content: "";
  display: inline-block;
  margin: 0 10px;
  width: 22px;
  height: 36px;
  position: relative;
  top: 2px;
  background-image: url("../img/modal/slash.svg");
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .forwho li .name .jp::after {
    width: 3.6vw;
    margin: 0 1vw;
    height: 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .forwho li .name {
    margin: 0 auto 4vw auto;
  }
  .modalWrap .l-modal .volmetricvideo .forwho li .name img {
    height: 4vw;
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .volmetricvideo .forwho li:nth-of-type(4) img, .modalWrap .l-modal .volmetricvideo .forwho li:nth-of-type(5) img {
    height: 5.0666666667vw;
  }
}
.modalWrap .l-modal .works {
  max-width: 1100px;
  margin: 0 auto;
}
.modalWrap .l-modal .works .btnV {
  text-align: center;
  padding-bottom: 120px;
}
.modalWrap .l-modal .works .btnV.returnBtn {
  display: none;
}
.modalWrap .l-modal .works .btnV.returnBtn.show {
  display: block;
}
.modalWrap .l-modal .works .btnV.returnBtn.show a {
  margin: auto;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .works .btnV {
    padding-bottom: 21.3333333333vw;
  }
  .modalWrap .l-modal .works .btnV img {
    width: 61.3333333333vw;
  }
}
.modalWrap .l-modal .works ul {
  padding: 116px 0 90px 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .works ul {
    padding: 15.4666666667vw 0 17.8666666667vw 0;
  }
}
.modalWrap .l-modal .works ul li .name {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .works ul li .name {
    margin-bottom: 4.8vw;
    padding-left: 5.8666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .works ul li .txt {
    padding: 0 5.3333333333vw;
  }
}
.modalWrap .l-modal .works ul li .txt .cap {
  font-size: 2.5rem;
  margin-top: 24px;
  text-indent: -0.5em;
}
.modalWrap .l-modal .works ul li .txt .cap.en {
  text-indent: 0;
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .works ul li .txt .cap.en {
    font-size: 2rem;
  }
}
@media screen and (max-width: 1024px) {
  .modalWrap .l-modal .works ul li .txt .cap {
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .works ul li .txt .cap {
    font-size: 2rem;
    margin-left: 0;
    margin-top: 5.3333333333vw;
  }
}
.modalWrap .l-modal .works ul li .txt .all-name {
  font-size: 2rem;
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .works ul li .txt .all-name {
    font-size: 1.8rem;
    margin-top: 3.2vw;
  }
}
.modalWrap .l-modal .works ul li .txt .profile {
  font-size: 1.4rem;
  line-height: 2.1;
  margin-top: 12px;
}
.modalWrap .l-modal .works ul li:nth-child(n+2) {
  margin-top: 83px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .works ul li:nth-child(n+2) {
    margin-top: 11.4666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .works ul li:nth-child(1) .name {
    width: 28vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .works ul li:nth-child(2) .name {
    width: 76.8vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice1 ul li:nth-child(1) .name {
    width: 76.5333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice1 ul li:nth-child(2) .name {
    width: 49.3333333333vw;
  }
}
.modalWrap .l-modal .ba {
  max-width: 1100px;
  margin: 0 auto;
  padding: 160px 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .ba {
    padding: 20.5333333333vw 0 11.4666666667vw 8.8vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .ba .scr-r {
    margin-left: -14vw;
    overflow-x: scroll;
    width: 114vw;
  }
}
.modalWrap .l-modal .ba .scr-r ul {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .ba .scr-r ul {
    width: 272vw;
    padding-left: 14vw;
    padding-right: 20vw;
    box-sizing: border-box;
  }
}
.modalWrap .l-modal .ba .scr-r ul li {
  line-height: 0;
}
.modalWrap .l-modal .ba .before .ttl {
  margin-bottom: 17px;
  font-size: 2.6rem;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .ba .before .ttl {
    margin-bottom: 5.3333333333vw;
  }
}
.modalWrap .l-modal .ba .after {
  margin-top: 95px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .ba .after {
    margin-top: 23.7333333333vw;
  }
}
.modalWrap .l-modal .ba .after .ttl {
  margin-bottom: 19px;
  font-size: 2.6rem;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .ba .after .ttl {
    margin-bottom: 5.3333333333vw;
  }
}
.modalWrap .l-modal .ba .after .nex-ttl01 {
  margin: 25px 0 15px 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .ba .after .nex-ttl01 {
    width: 40.2666666667vw;
    margin: 5.8666666667vw 0 4vw 0;
  }
}
.modalWrap .l-modal .ba .after .nex-ttl02 {
  margin: 40px 0 15px 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .ba .after .nex-ttl02 {
    width: 42.4vw;
    margin: 9.8666666667vw 0 4vw 0;
  }
}
.modalWrap .l-modal .vid {
  display: table;
  max-width: 1000px;
  position: relative;
  cursor: pointer;
  margin: 0 auto;
}
.modalWrap .l-modal .vid .video {
  width: 100%;
  max-width: 1000px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .vid .video {
    width: 100%;
  }
}
.modalWrap .l-modal .voice2 {
  max-width: 1100px;
  margin: 0 auto;
  padding-bottom: 150px;
}
.modalWrap .l-modal .voice2.isType2 {
  display: flex;
  height: 100vh;
  align-items: center;
  padding-bottom: 0px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 {
    padding: 27.4666666667vw 5.3333333333vw 29.3333333333vw;
  }
}
.modalWrap .l-modal .voice2 .tech2tit {
  padding-top: 150px;
}
.modalWrap .l-modal .voice2 .tech2tit.isType2 {
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .tech2tit {
    padding-top: 0vw;
    width: 82.6666666667vw;
  }
}
.modalWrap .l-modal .voice2 .next-txt .cap {
  font-size: 2.5rem;
  margin: 57px 0 15px 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .next-txt .cap {
    font-size: 2rem;
    margin: 13.8666666667vw 0 5.0666666667vw 0;
  }
}
.modalWrap .l-modal .voice2 .next-txt .cap.short-c {
  margin: 30px 0 0px 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .next-txt .cap.short-c {
    margin: 13.8666666667vw 0 0 0;
  }
}
.modalWrap .l-modal .voice2 .next-txt p {
  margin-bottom: 2em;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .next-txt p {
    margin-bottom: 1.5em;
  }
}
.modalWrap .l-modal .voice2 .next-txt p.tech3 {
  margin-top: 17px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .logo {
    width: 88.5333333333vw;
  }
}
.modalWrap .l-modal .voice2 .top-sc {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 150px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .top-sc {
    height: auto;
    padding-top: 0;
    padding-bottom: 0;
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .top-sc .title {
    width: 64vw;
  }
}
.modalWrap .l-modal .voice2 .bot-sc {
  max-width: 1100px;
  margin: 0 auto;
}
.modalWrap .l-modal .voice2 .set {
  margin-top: 60px;
  margin-bottom: 122px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .set {
    margin-top: 16vw;
    margin-bottom: 32.5333333333vw;
  }
}
.modalWrap .l-modal .voice2 .set ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .set ul {
    display: block;
  }
}
.modalWrap .l-modal .voice2 .set ul li:nth-child(n+2) {
  margin-left: 5px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .set ul li:nth-child(n+2) {
    margin-left: 0;
    margin-top: 6.9333333333vw;
  }
}
.modalWrap .l-modal .voice2 .set p {
  font-size: 1.4rem;
  line-height: 2.1;
  margin-top: 10px;
}
.modalWrap .l-modal .voice2 .set .fac {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .set .fac img {
    height: 5.8666666667vw;
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .set .fac {
    margin-bottom: 10px;
  }
}
.modalWrap .l-modal .voice2 .ttl {
  font-size: 2.5rem;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .ttl {
    text-align: left;
  }
  .modalWrap .l-modal .voice2 .ttl img {
    height: 5.76vw;
    width: auto;
  }
}
.modalWrap .l-modal .voice2 ul {
  display: flex;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 ul {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 ul li .vid .video {
    width: 89.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 ul li:nth-child(n+2) {
    margin-top: 5.3333333333vw;
  }
}
.modalWrap .l-modal .voice2 .introduce {
  margin-top: 59px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .introduce {
    margin-top: 21.3333333333vw;
  }
}
.modalWrap .l-modal .voice2 .make {
  margin-top: 118px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .make {
    margin-top: 24.5333333333vw;
  }
}
.modalWrap .l-modal .voice2 .volme ul {
  display: block;
}
.modalWrap .l-modal .voice2 .volme ul li:nth-child(n+2) {
  margin-top: 95px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .volme ul li:nth-child(n+2) {
    margin-top: 5vw;
  }
}
.modalWrap .l-modal .voice2 .volme ul li:nth-child(1) {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .volme ul li:nth-child(1) {
    margin-top: 2vw;
  }
}
.modalWrap .l-modal .voice2 .volme ul li .by {
  text-align: right;
  margin-top: 17px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .volme ul li .by {
    margin-top: 1.5vw;
    margin-left: auto;
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .volme ul li .by img {
    height: 2.9333333333vw;
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .volme .ttl img {
    height: 5.8666666667vw;
    width: auto;
  }
}
.modalWrap .l-modal .voice2 .last-but {
  font-size: 2rem;
  display: flex;
  width: 400px;
  border: 1px solid #fff;
  border-radius: 52px;
  padding: 20px 0;
  justify-content: center;
  margin: 107px auto 0 auto;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .last-but {
    width: 80vw;
    font-size: 1.5rem;
    padding: 4vw 0;
    margin: 26.6666666667vw auto 0 auto;
  }
}
.modalWrap .l-modal .voice2 .last-but::after {
  content: "";
  background: url(../img/modal/lastbut-icons.svg);
  width: 30px;
  height: 29px;
  background-repeat: no-repeat;
  display: inline-block;
  margin-left: 15px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .last-but::after {
    background: url(../img/modal/arrow-lastbut-sp.svg);
    width: 23px;
    height: 22px;
    margin-left: 3vw;
  }
}
@media screen and (min-width: 768px) {
  .modalWrap .l-modal .voice2 .stgTxts h3 {
    margin-top: 70px;
    margin-bottom: 15.5px;
    font-size: 1.5rem;
    line-height: 1.6666666667;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .stgTxts h3 {
    margin-top: 13.3333333333vw;
    margin-bottom: 5.6vw;
    font-size: 1.4rem;
    line-height: 1.7857142857;
  }
}
@media screen and (min-width: 768px) {
  .modalWrap .l-modal .voice2 .stgTxts .tbls {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
.modalWrap .l-modal .voice2 .stgTxts .tbls table {
  border-top: 1px solid #848484;
}
@media screen and (min-width: 768px) {
  .modalWrap .l-modal .voice2 .stgTxts .tbls table {
    width: 46.3636363636%;
    font-size: 1.3rem;
    line-height: 1.5384615385;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .stgTxts .tbls table {
    font-size: 1.4rem;
    line-height: 1.7857142857;
  }
}
.modalWrap .l-modal .voice2 .stgTxts .tbls table tr {
  border-bottom: 1px solid #848484;
}
@media screen and (min-width: 768px) {
  .modalWrap .l-modal .voice2 .stgTxts .tbls table tr {
    height: 50px;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .stgTxts .tbls table tr {
    height: 20.2666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .stgTxts .tbls table th,
  .modalWrap .l-modal .voice2 .stgTxts .tbls table td {
    padding-top: 3.4666666667vw;
    padding-bottom: 3.4666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .stgTxts .tbls table th {
    width: 34.6666666667vw;
    padding-right: 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .stgTxts .tbls table + table {
    border-top: none;
  }
}
@media screen and (min-width: 768px) {
  .modalWrap .l-modal .voice2 .stgTxts .tbls table.tbl1 th {
    width: 102px;
  }
}
@media screen and (min-width: 768px) {
  .modalWrap .l-modal .voice2 .stgTxts .tbls table.tbl2 th {
    width: 183px;
  }
}
.modalWrap .l-modal .voice2 .stgTxts.is_en h3 {
  line-height: 1.7142857143;
}
@media screen and (min-width: 768px) {
  .modalWrap .l-modal .voice2 .stgTxts.is_en h3 {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .voice2 .stgTxts.is_en .tbls table th {
    width: 39.2vw;
  }
}
@media screen and (min-width: 768px) {
  .modalWrap .l-modal .voice2 .stgTxts.is_en .tbls table.tbl1 th {
    width: 100px;
  }
}
@media screen and (min-width: 768px) {
  .modalWrap .l-modal .voice2 .stgTxts.is_en .tbls table.tbl2 th {
    width: 204px;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .ytMovie {
    width: 89.3333333333vw;
    height: 53.3333333333vw;
  }
}
.modalWrap .l-modal .ytMovie.col3 {
  height: 20vw;
  max-height: 215px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .ytMovie.col3 {
    width: 89.3333333333vw;
    height: 53.3333333333vw;
  }
}
@media screen and (max-width: 1024px) {
  .modalWrap .l-modal .ytMovie.full-f {
    height: 55vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .ytMovie.full-f {
    width: 100%;
  }
}
.modalWrap .l-modal .floormap {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
  padding: 107px 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .floormap {
    display: block;
    padding: 20vw 5.3333333333vw;
  }
}
.modalWrap .l-modal .floormap .ttlthis {
  text-align: left;
  margin-bottom: 30px;
}
@media screen and (max-width: 1280px) {
  .modalWrap .l-modal .floormap .ttlthis {
    position: static;
    text-align: left;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .floormap .ttlthis {
    width: 65.3333333333vw;
  }
}
.modalWrap .l-modal .floormap .map {
  max-width: 1100px;
  position: relative;
  margin: 0 auto;
}
.modalWrap .l-modal .floormap .map .mapPhotos {
  margin-top: 100px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .floormap .map .mapPhotos {
    margin-top: 10vw;
    display: block;
  }
}
.modalWrap .l-modal .floormap .map .mapPhotos li {
  width: calc(50% - 12px);
  margin: 6px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .floormap .map .mapPhotos li {
    width: 100%;
    margin: 4px 0;
  }
}
.modalWrap .l-modal .floormap .map .mapPhotos li img {
  width: 100%;
  max-width: none;
}
.modalWrap .l-modal .floormap .map img {
  max-width: 450px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .floormap .map img {
    margin-top: 5vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .floormap .map {
    width: 76.5333333333vw;
    margin: 10.1333333333vw auto 0 auto;
  }
}
.modalWrap .l-modal .access {
  max-width: 1200px;
  margin: 0 auto;
  padding: 148px 0;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .access {
    padding: 27.4666666667vw 0;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .access h2.ttl {
    margin-left: 5.3333333333vw;
    width: 42.9333333333vw;
  }
}
.modalWrap .l-modal .access .box {
  margin-top: 105px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .access .box {
    margin-top: 15vw;
  }
}
.modalWrap .l-modal .access .box .ttl {
  font-size: 2rem;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .access .box .ttl {
    padding: 0 5.3333333333vw;
  }
}
.modalWrap .l-modal .access .box .note {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .access .box .note {
    margin-top: 8vw;
    padding: 0 5.3333333333vw;
  }
}
.modalWrap .l-modal .access .box .note li .adr {
  font-size: 1.8rem;
}
.modalWrap .l-modal .access .box .note li .adr.en {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .access .box .note li .adr.en {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .access .box .note li .adr span {
    margin-left: 3em;
  }
}
.modalWrap .l-modal .access .box .note li .tlp {
  font-size: 1.8rem;
  margin-top: 20px;
}
.modalWrap .l-modal .access .box .note li .tlp.en {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal .access .box .note li .tlp.en {
    font-size: 1.8rem;
  }
}
.modalWrap .l-modal .access .box .note li dt {
  display: flex;
  align-items: center;
}
.modalWrap .l-modal .access .box .note li dt p {
  font-size: 2rem;
}
.modalWrap .l-modal .access .box .note li dt .img {
  height: 11px;
  margin-left: 5px;
}
.modalWrap .l-modal .access .box .note li dd {
  margin-top: 6px;
  line-height: 2.5;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}
.modalWrap .l-modal .access .box .note li:nth-child(n+2) {
  margin-top: 30px;
}
.modalWrap .l-modal.modal-outlander h3 {
  font-size: 28px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal.modal-outlander h3 {
    padding: 0 5.3333333333vw;
    font-size: 6.4vw;
  }
}
.modalWrap .l-modal.modal-outlander .imgBox {
  padding: 30px 0 80px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal.modal-outlander .imgBox {
    padding: 5.3333333333vw 0 10.6666666667vw;
  }
}
.modalWrap .l-modal.modal-outlander .imgBox li + li {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal.modal-outlander .imgBox li + li {
    margin-top: 6.4vw;
  }
}
.modalWrap .l-modal.modal-outlander .imgBox p {
  margin-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal.modal-outlander .imgBox p {
    padding: 0 5.3333333333vw;
  }
}
.modalWrap .l-modal.modal-outlander .imgBox iframe {
  height: auto;
  aspect-ratio: 1100/618;
}
.modalWrap .l-modal.modal-jsb3 h3 {
  margin-bottom: 50px;
  font-size: 28px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal.modal-jsb3 h3 {
    margin-bottom: 8vw;
    padding: 0 5.3333333333vw;
    font-size: 6.4vw;
  }
}
.modalWrap .l-modal.modal-jsb3 figure {
  margin: 50px 0 70px;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal.modal-jsb3 figure {
    margin: 8vw 0 10.6666666667vw;
  }
}
.modalWrap .l-modal.modal-jsb3 figcaption {
  margin-top: -20px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .modalWrap .l-modal.modal-jsb3 figcaption {
    padding: 0 5.3333333333vw;
  }
}
.modalWrap .caseMovieBox {
  max-width: 1100px;
  margin: 0 auto;
  padding-top: 100px;
}
@media screen and (max-width: 767px) {
  .modalWrap .caseMovieBox p.isType2 {
    padding: 0 5.5vw;
  }
}
.modalWrap .caseMovieBox video {
  max-width: 100%;
  width: 100%;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .modalWrap .caseMovieBox video {
    margin-bottom: 6.6666666667vw;
  }
}
.modalWrap .caseMovieBox iframe {
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .modalWrap .caseMovieBox iframe {
    margin-bottom: 6.6666666667vw;
  }
}
.modalWrap .caseMovieBox h3 {
  margin-bottom: 20px;
}
.modalWrap .caseMovieBox .caseInfo {
  display: none;
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .modalWrap .caseMovieBox .caseInfo {
    padding: 0vw 5.3333333333vw 5.3333333333vw 5.3333333333vw;
  }
}
.modalWrap .caseMovieBox .caseInfo.show {
  display: block;
}
@media screen and (max-width: 767px) {
  .modalWrap .caseMovieBox .caseInfo.case6-nmg {
    padding: 5.3333333333vw 0;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .caseMovieBox .caseInfo.case6-nmg .in_c6 {
    padding: 0 5.3333333333vw;
  }
}
.modalWrap .caseMovieBox .cast {
  font-size: 2rem;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .modalWrap .caseMovieBox .cast {
    font-size: 1.8rem;
  }
}
.modalWrap .caseMovieBox .credits .txt {
  font-weight: 200;
}
.modalWrap .caseMovieBox .btn {
  text-align: center;
  margin-top: 58px;
  padding-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .modalWrap .caseMovieBox .btn {
    margin-top: 26.6666666667vw;
  }
}
.modalWrap .caseMovieBox .btn p {
  font-size: 1.4rem;
  margin-bottom: 1.2em;
  line-height: 1.7857142857;
}
@media screen and (max-width: 767px) {
  .modalWrap .caseMovieBox .btn p {
    font-size: 1.2rem;
  }
}
.modalWrap .caseMovieBox .btn a {
  display: inline-flex;
  border: 1px solid #fff;
  border-radius: 50px;
  align-items: center;
  padding: 1.4em 5em;
  width: 340px;
  justify-content: center;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .modalWrap .caseMovieBox .btn a {
    padding: 1em 2em;
    width: 66.6666666667vw;
  }
}
.modalWrap .caseMovieBox .btn a img {
  height: 12px;
}
@media screen and (max-width: 767px) {
  .modalWrap .caseMovieBox .btn a img {
    height: auto;
    width: 26.6666666667vw;
  }
}
.modalWrap .caseMovieBox .mt_125 {
  margin-top: 125px;
}
@media screen and (max-width: 767px) {
  .modalWrap .caseMovieBox .mt_125 {
    margin-top: 26.6666666667vw;
  }
}
.modalWrap .caseMovieBox .mt_50 {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .modalWrap .caseMovieBox .mt_50 {
    margin-top: 13.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .caseMovieBox .t_hei-20 img {
    height: 5.3333333333vw;
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .modalWrap .caseMovieBox .more-yt iframe {
    height: 215px;
  }
}

.tiktokBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1100px;
  margin: 0 auto;
  padding-top: 8%;
}
@media screen and (max-width: 767px) {
  .tiktokBox {
    padding-top: 20vw;
  }
}
.tiktokBox li {
  width: 100%;
  margin-bottom: 5%;
  max-width: 480px;
}
@media screen and (max-width: 767px) {
  .tiktokBox li {
    max-width: 100%;
    width: 84vw;
    margin: 0 auto 10vw auto;
  }
}
.tiktokBox li a:hover {
  opacity: 0.7;
}
.tiktokBox li span {
  display: block;
  margin-top: 10px;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .tiktokBox li span {
    font-size: 1.4rem;
  }
}
.tiktokBox li span:after {
  margin-left: 8px;
}

.newsPage .newsCont {
  background-color: #e4e4e4;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100vh;
}
.newsPage .newsCont .contHeader {
  height: 300px;
  background-color: #37373c;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .newsPage .newsCont .contHeader {
    height: 53.3333333333vw;
  }
}
.newsPage .newsCont .contHeader h1 {
  max-width: 1100px;
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .newsPage .newsCont .contHeader h1 {
    padding-top: 4vw;
  }
  .newsPage .newsCont .contHeader h1 img {
    width: auto;
    height: 4.8vw;
  }
}
.newsPage .contBody {
  max-width: 938px;
  width: 90%;
  margin: 0 auto;
}
.newsPage .contBody .list {
  margin: 130px 0;
  border-top: 1px solid #37373c;
}
@media screen and (max-width: 767px) {
  .newsPage .contBody .list {
    margin: 16.5333333333vw 0 20vw;
  }
}
.newsPage .contBody .list li {
  padding: 40px 0;
  border-bottom: 1px solid #37373c;
  color: #37373c;
}
.newsPage .contBody .list .date {
  font-size: 1.2rem;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .newsPage .contBody .list .date {
    margin-bottom: 0.8vw;
  }
}
.newsPage .contBody .list .txt {
  line-height: 1.875;
  letter-spacing: 0.05em;
}
.newsPage .contBody .list .txt .jsLink {
  text-decoration: underline;
  color: #003283;
}
.newsPage .contBody .list .txt .jsLink:hover {
  text-decoration: none;
}
.newsPage .contBody .list a[href$=".pdf"] .txt {
  font-size: 1.8rem;
  display: inline-flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .newsPage .contBody .list a[href$=".pdf"] .txt {
    font-size: 1.5rem;
  }
}
.newsPage .contBody .list a[href$=".pdf"] .txt::after {
  content: "";
  width: 27px;
  height: 28px;
  display: inline-block;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("../img/news/icon_pdf.svg");
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .newsPage .contBody .list a[href$=".pdf"] .txt::after {
    display: none;
  }
}
.newsPage .contBody .list a[href$=".pdf"]:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .newsPage .contBody .list a[href$=".pdf"] {
    position: relative;
    padding-right: 8vw;
    display: block;
  }
  .newsPage .contBody .list a[href$=".pdf"]::after {
    content: "";
    position: absolute;
    right: 0px;
    top: 50%;
    margin-top: -3.7333333333vw;
    width: 7.2vw;
    height: 7.4666666667vw;
    display: inline-block;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("../img/news/icon_pdf.svg");
  }
}
.newsPage .contBody .btn {
  display: flex;
  justify-content: center;
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .newsPage .contBody .btn {
    margin-bottom: 21.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .newsPage .contBody .btn img {
    width: 61.3333333333vw;
  }
}
.newsPage .l-totop {
  display: none;
}

/*--------------------------------------
 メインコンテンツ
---------------------------------------*/
.catch {
  color: #fff;
  position: absolute;
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  top: 0;
  left: 0;
  justify-content: center;
  z-index: 2;
  opacity: 0;
  transition: 1.5s 0.8s;
}
@media screen and (max-width: 767px) {
  .catch {
    height: 38px;
    top: 50%;
    margin-top: -19px;
  }
  .catch img {
    width: 82.1333333333vw;
  }
}
.catch.show {
  opacity: 1;
}

.mainZone {
  background-color: #37373c;
  position: sticky;
  left: 0;
  top: 0;
  width: 100%;
  overflow: hidden;
  height: 100vh;
}
@media all and (device-width: 768px) and (device-height: 1024px) and (orientation: portrait) {
  .mainZone {
    height: 99vh;
  }
}
@media all and (device-width: 768px) and (device-height: 1024px) and (orientation: landscape) {
  .mainZone {
    height: 99vh;
  }
}
@media screen and (max-width: 767px) {
  .mainZone {
    height: 91vh;
  }
}
.mainZone video {
  height: 100vh;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.mainZone .mainvisualVideo {
  overflow: hidden;
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  transition: 0.6s;
}
.mainZone .mainvisualVideo.hide {
  opacity: 0;
}

/*--------------------------------------
 cont1
---------------------------------------*/
.newsZone {
  background-color: #e4e4e4;
  padding: 100px 0;
  border-bottom-style: solid;
  border-bottom-color: #37373c;
  border-bottom-width: 1px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .newsZone {
    padding: 13.3333333333vw 0;
    border-bottom-width: 0.2666666667vw;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .newsZone .c-inner {
    padding: 0 6.6666666667vw;
  }
}
.newsZone .infoBox dt {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #37373c;
  font-size: 2.9rem;
  margin-right: 50px;
}
@media screen and (max-width: 767px) {
  .newsZone .infoBox dt {
    margin: 0 0 5px 0;
    width: 40vw;
    font-size: 2rem;
  }
}
.newsZone .infoBox dd {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .newsZone .infoBox dd {
    margin-top: 6.6666666667vw;
  }
}
.newsZone .infoBox dd a {
  display: flex;
}
@media screen and (max-width: 767px) {
  .newsZone .infoBox dd a {
    flex-direction: column;
  }
}
.newsZone .infoBox dd a .day {
  min-width: 5em;
}
@media screen and (max-width: 767px) {
  .newsZone .infoBox dd a .day {
    min-width: 0;
  }
}
.newsZone li {
  display: flex;
}
.newsZone li + li {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .newsZone li + li {
    margin-top: 5.3333333333vw;
  }
}
.newsZone li a .jsLink {
  text-decoration: underline;
  color: #003283;
}
.newsZone li a .jsLink:hover {
  text-decoration: none;
}
.newsZone li a:hover {
  opacity: 0.8;
}
.newsZone li span {
  color: #373737;
  font-size: 1.5rem;
  line-height: 1.6666666667;
}
@media screen and (max-width: 767px) {
  .newsZone li span {
    font-size: 1.4rem;
    line-height: 1.8;
  }
}
.newsZone li span.day {
  flex-shrink: 0;
}
.newsZone li span + span {
  margin-left: 1em;
}
@media screen and (max-width: 767px) {
  .newsZone li span + span {
    margin-left: 0;
  }
}
.newsZone .infoButton {
  margin-top: 30px;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .newsZone .infoButton {
    margin-top: 5.3333333333vw;
  }
}
.newsZone .view-more {
  display: flex;
  align-items: center;
}
.newsZone .view-more .text {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  font-size: 1.7rem;
}
@media screen and (max-width: 767px) {
  .newsZone .view-more .text {
    font-size: 1.5rem;
  }
}
.newsZone .view-more .mask {
  content: "";
  position: relative;
  margin-left: 20px;
  width: 15px;
  height: 30px;
  background-image: url("../img/arrow_normal.svg");
  display: inline-block;
  background-size: contain;
  transition: transform 0.3s ease-out;
  background-repeat: no-repeat;
  vertical-align: middle;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .newsZone .view-more .mask {
    margin-left: 2.6666666667vw;
    width: 2.6666666667vw;
    height: 5.3333333333vw;
  }
}
.newsZone .view-more.black .text {
  color: #37373c;
}
.newsZone .view-more.black .mask {
  background-image: url("../img/arrow_black.svg");
}
.newsZone .view-more:focus-visible .mask {
  transform: translateX(10px);
}
@media (hover: hover) and (pointer: fine) {
  .newsZone .view-more:hover .mask {
    transform: translateX(10px);
  }
}

/*--------------------------------------
 cont1
---------------------------------------*/
.serviceZone {
  background-color: #37373c;
}
.serviceZone .contHead {
  position: relative;
}
.serviceZone .contHead .ttl {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .serviceZone .contHead .ttl {
    margin-top: 2.6666666667vw;
  }
  .serviceZone .contHead .ttl img {
    width: 77vw;
  }
}
.serviceZone .contHead .ttl-en {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #fff;
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  .serviceZone .contHead .ttl-en {
    font-size: 1.8rem;
  }
}
.serviceZone .contHead:after {
  z-index: 4;
  transition-duration: 2s;
  transition-delay: 0.3s;
}
@media screen and (max-width: 767px) {
  .serviceZone .contHead:after {
    transition-duration: 2s;
  }
}
.serviceZone .contHead a {
  display: flex;
  height: 280px;
  justify-content: center;
  align-items: center;
  background-color: #37373c;
}
.serviceZone .contHead a .c-inner {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .serviceZone .contHead a {
    height: 45.3333333333vw;
    padding: 0 5vw 0 3vw;
  }
}
.serviceZone .contBody:hover .img img {
  transform: scale(1.1);
}
.serviceZone .contBody .img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0px;
  overflow: hidden;
}
.serviceZone .contBody .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s;
}
.serviceZone .contBody .c-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 33.854166666vw;
  min-height: 540px;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .serviceZone .contBody .c-inner {
    height: auto;
    min-height: 0;
    padding: 13.3333333333vw 0;
  }
}
.serviceZone .contBody .ttl {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  .serviceZone .contBody .ttl {
    font-size: 1.8rem;
  }
}
.serviceZone .contBody .contents-list {
  display: flex;
  flex-direction: column;
  margin-top: 40px;
  margin-bottom: 40px;
  row-gap: 40px;
}
@media screen and (max-width: 767px) {
  .serviceZone .contBody .contents-list {
    margin-top: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
    row-gap: 5.3333333333vw;
  }
}
.serviceZone .contBody .contents-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.serviceZone .contBody .contents-item .title-en {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 4.5rem;
  line-height: 1.1;
}
@media screen and (max-width: 767px) {
  .serviceZone .contBody .contents-item .title-en {
    font-size: 2.5rem;
  }
}
.serviceZone .contBody .contents-item .title-jp {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .serviceZone .contBody .contents-item .title-jp {
    font-size: 1.2rem;
  }
}
.serviceZone .contBody .link {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .serviceZone .contBody .link img {
    height: 2.9333333333vw;
  }
}

/*--------------------------------------
 cont1
---------------------------------------*/
.technologyZone {
  background-color: #e4e4e4;
}
.technologyZone .contHead {
  height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  background-color: #37373c;
}
@media screen and (max-width: 767px) {
  .technologyZone .contHead {
    height: 45.3333333333vw;
  }
}
.technologyZone .contHead p {
  font-size: 2rem;
  color: #373737;
}
.technologyZone .contHead .c-ttl2 {
  width: 372px;
  margin-inline: auto;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .technologyZone .contHead .c-ttl2 {
    width: 62.4vw;
    margin-bottom: 2.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .technologyZone .contHead .c-ttl2 img {
    height: 8vw;
  }
}
.technologyZone .contHead p {
  color: #fff;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .technologyZone .contHead p {
    padding: 0 5.3333333333vw;
    font-size: 1.4rem;
  }
}
.technologyZone .contBody {
  position: relative;
  background-color: #000;
}
.technologyZone .contBody #tech2 {
  background-color: #707070;
}
.technologyZone .contBody .c-maskLink {
  position: relative;
}
.technologyZone .contBody .c-maskLink .ttl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  /*
  @include pc{
    &.ttl1{
      -webkit-mask-image: url($pathImg + "technology/link1.svg");
    }
    &.ttl2{
      -webkit-mask-image: url($pathImg + "technology/link2.svg");
    }
    &.ttl3{
      -webkit-mask-image: url($pathImg + "technology/link3.svg");
    }
  }*/
}
.technologyZone .contBody .c-maskLink .ttl p {
  color: #fff;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .technologyZone .contBody .c-maskLink .ttl p {
    padding-right: 4vw;
    font-size: 1.4rem;
  }
}
.technologyZone .contBody .c-maskLink .ttl p.ttl__ttl {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 4.5rem;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .technologyZone .contBody .c-maskLink .ttl p.ttl__ttl {
    font-size: 2.5rem;
  }
}
.technologyZone .contBody .c-maskLink .ttl p.ttl__txt {
  margin-top: 30px;
  max-width: 560px;
}
@media screen and (max-width: 767px) {
  .technologyZone .contBody .c-maskLink .ttl p.ttl__txt {
    margin-top: 4.2666666667vw;
    font-size: 1.2rem;
  }
}
.technologyZone .contBody .c-maskLink .ttl .link {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .technologyZone .contBody .c-maskLink .ttl .link {
    margin-top: 4.2666666667vw;
  }
  .technologyZone .contBody .c-maskLink .ttl .link img {
    height: 2.9333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .technologyZone .contBody .c-maskLink .ttl .t1 {
    width: 82.6666666667vw;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .technologyZone .contBody .c-maskLink .ttl.ttl2 img.t2 {
    height: auto;
    width: 56vw;
  }
}
.technologyZone .contBody .c-maskLink .ttl .mask {
  width: 25px;
  height: 50px;
}
@media screen and (max-width: 767px) {
  .technologyZone .contBody .c-maskLink .ttl .mask {
    width: 4vw;
    height: 8vw;
  }
}
@media screen and (max-width: 767px) {
  .technologyZone .contBody .c-maskLink .ttl img {
    height: 5vw;
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .technologyZone .contBody .c-maskLink .ttl picture img {
    height: 15.4666666667vw;
    width: auto;
  }
}
.technologyZone .contBody .c-maskLink:hover .img img {
  transform: scale(1.1);
}
.technologyZone .contBody .c-maskLink:hover .img.nohover img {
  transform: scale(1);
}
.technologyZone .contBody .c-inner {
  display: flex;
  height: 650px;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .technologyZone .contBody .c-inner {
    height: 85.3333333333vw;
    padding-left: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .technologyZone .contBody .list {
    display: flex;
  }
}
@media screen and (min-width: 768px) {
  .technologyZone .contBody .list li {
    width: 50%;
  }
}
.technologyZone .contBody .img {
  width: 100%;
  height: 650px;
  position: absolute;
  top: 0;
  left: 0px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .technologyZone .contBody .img {
    height: 85.3333333333vw;
  }
}
.technologyZone .contBody .img img {
  width: 100%;
  height: 650px;
  object-fit: cover;
  transition: 0.5s;
}
@media screen and (max-width: 767px) {
  .technologyZone .contBody .img img {
    height: 85.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .technologyZone .contGarelly {
    display: flex;
    border-top: 1px solid #fff;
  }
}
@media screen and (max-width: 767px) {
  .technologyZone .contGarelly li {
    border-top: 1px solid #fff;
  }
}
@media screen and (min-width: 768px) {
  .technologyZone .contGarelly li + li {
    border-left: 1px solid #fff;
  }
}

.caseSlides {
  background-color: #000;
}
.caseSlides .case-slide {
  width: 480px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .caseSlides .case-slide {
    width: 77.3333333333vw;
  }
}
.caseSlides .case-slide:after {
  content: "";
  display: block;
  background-color: #000;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transition: 1s cubic-bezier(0.16, 1, 0.3, 1);
}
.caseSlides .case-slide img {
  transition: 0.3s;
}
.caseSlides .case-slide:hover img {
  transform: scale(1.1);
}
.caseSlides .case-slide:hover.no-zoom img {
  transform: scale(1);
}
.caseSlides.on .case-slide:after {
  left: 100%;
}
.caseSlides .slick-arrow {
  width: 100px;
  height: 100%;
  background-repeat: no-repeat;
  background-size: 25px 50px !important;
  background-position: center;
  background-color: rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 767px) {
  .caseSlides .slick-arrow {
    width: 8.6666666667vw;
    background-size: 4vw 8vw !important;
  }
}
.caseSlides .slick-arrow.slick-prev {
  left: 0;
}
.caseSlides .slick-arrow.slick-next {
  right: 0;
}

.newsDetail .newsCont .contHeader .contHeader-text {
  color: #fff;
  font-size: 3.5rem;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .newsDetail .newsCont .contHeader .contHeader-text {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .newsDetail .newsCont .contHeader .contHeader-text {
    padding-top: 15px;
    font-size: 2rem;
  }
}
.newsDetail .contBody {
  position: relative;
  max-width: 1100px;
}
.newsDetail .contBody .newsImportantText {
  margin-top: 85px;
  color: #bf0000;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .newsDetail .contBody .newsImportantText {
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  .newsDetail .contBody .newsImportantText {
    margin-top: 32px;
    font-size: 15px;
  }
}
.newsDetail .contBody .newsBody {
  display: grid;
  grid-template: "text img" auto/1fr 335px;
  gap: 0 50px;
  margin-bottom: 140px;
  padding: 100px 0;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 1024px) {
  .newsDetail .contBody .newsBody {
    grid-template: "text" auto "img" auto/1fr;
    gap: 50px 0;
    margin-bottom: 78px;
    padding: 50px 0;
  }
}
.newsDetail .contBody .newsBody-textBlock {
  grid-area: text;
  display: grid;
  grid-template-rows: 1fr auto;
}
.newsDetail .contBody .newsBody-imgBlock {
  grid-area: img;
  display: flex;
  flex-direction: column;
  gap: 2px 0;
}
@media screen and (max-width: 1024px) {
  .newsDetail .contBody .newsBody-imgBlock {
    flex-direction: row;
    justify-content: center;
    gap: 0 10px;
  }
}
@media screen and (max-width: 767px) {
  .newsDetail .contBody .newsBody-imgBlock {
    flex-direction: column;
    gap: 2px 0;
  }
}
.newsDetail .contBody .newsText p {
  color: #1e2023;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .newsDetail .contBody .newsText p {
    font-size: 1.4rem;
  }
}
.newsDetail .contBody .newsText p + p {
  margin-top: 2em;
}
.newsDetail .contBody .newsContact {
  margin-top: 30px;
  padding: 24px 40px 30px;
  border: 1px solid #707070;
}
@media screen and (max-width: 1024px) {
  .newsDetail .contBody .newsContact {
    margin-top: 48px;
    padding: 16px 20px 20px;
  }
}
.newsDetail .contBody .newsContact-title {
  margin-bottom: 8px;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.777778;
}
@media screen and (max-width: 767px) {
  .newsDetail .contBody .newsContact-title {
    font-size: 1.6rem;
  }
}
.newsDetail .contBody .newsContact-info {
  display: grid;
  grid-template-columns: auto 1fr;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .newsDetail .contBody .newsContact-info {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.newsDetail .contBody .newsContact-info.-small {
  font-size: 1.6rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .newsDetail .contBody .newsContact-info.-small {
    font-size: 1.4rem;
  }
}
.newsDetail .contBody .newsContact-info + .newsContact-info {
  margin-top: 0.4em;
}
.newsDetail .contBody .newsContact-info dd {
  position: relative;
  padding-left: 1em;
}
.newsDetail .contBody .newsContact-info dd::before {
  content: "：";
  position: absolute;
  top: 0;
  left: 0;
}
.newsDetail .contBody .newsContact-info dd a:hover {
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
/*-- Width --*/
.WAuto {
  width: auto !important;
}

/*-- Margin --*/
.M0 {
  margin: 0 !important;
}
.MA {
  margin: auto !important;
}
.MTA {
  margin-top: auto !important;
}
.MRA {
  margin-right: auto !important;
}
.MBA {
  margin-bottom: auto !important;
}
.MLA {
  margin-left: auto !important;
}

/*-- Padding --*/
.P0 {
  padding: 0 !important;
}
.PA {
  padding: auto !important;
}
.PTA {
  padding-top: auto !important;
}
.PRA {
  padding-right: auto !important;
}
.PBA {
  padding-bottom: auto !important;
}
.PLA {
  padding-left: auto !important;
}

/*-- Font --*/
.ffNS {
  font-family: "Noto Sans Japanese";
}

.fz6 {
  font-size: 6px;
}

.fz6R {
  font-size: 0.6rem;
}

.fz7 {
  font-size: 7px;
}

.fz7R {
  font-size: 0.7rem;
}

.fz8 {
  font-size: 8px;
}

.fz8R {
  font-size: 0.8rem;
}

.fz9 {
  font-size: 9px;
}

.fz9R {
  font-size: 0.9rem;
}

.fz10 {
  font-size: 10px;
}

.fz10R {
  font-size: 1rem;
}

.fz11 {
  font-size: 11px;
}

.fz11R {
  font-size: 1.1rem;
}

.fz12 {
  font-size: 12px;
}

.fz12R {
  font-size: 1.2rem;
}

.fz13 {
  font-size: 13px;
}

.fz13R {
  font-size: 1.3rem;
}

.fz14 {
  font-size: 14px;
}

.fz14R {
  font-size: 1.4rem;
}

.fz15 {
  font-size: 15px;
}

.fz15R {
  font-size: 1.5rem;
}

.fz16 {
  font-size: 16px;
}

.fz16R {
  font-size: 1.6rem;
}

.fz17 {
  font-size: 17px;
}

.fz17R {
  font-size: 1.7rem;
}

.fz18 {
  font-size: 18px;
}

.fz18R {
  font-size: 1.8rem;
}

.fz19 {
  font-size: 19px;
}

.fz19R {
  font-size: 1.9rem;
}

.fz20 {
  font-size: 20px;
}

.fz20R {
  font-size: 2rem;
}

.fz21 {
  font-size: 21px;
}

.fz21R {
  font-size: 2.1rem;
}

.fz22 {
  font-size: 22px;
}

.fz22R {
  font-size: 2.2rem;
}

.fz23 {
  font-size: 23px;
}

.fz23R {
  font-size: 2.3rem;
}

.fz24 {
  font-size: 24px;
}

.fz24R {
  font-size: 2.4rem;
}

.fz25 {
  font-size: 25px;
}

.fz25R {
  font-size: 2.5rem;
}

.fz26 {
  font-size: 26px;
}

.fz26R {
  font-size: 2.6rem;
}

.fz27 {
  font-size: 27px;
}

.fz27R {
  font-size: 2.7rem;
}

.fz28 {
  font-size: 28px;
}

.fz28R {
  font-size: 2.8rem;
}

.fz29 {
  font-size: 29px;
}

.fz29R {
  font-size: 2.9rem;
}

.fz30 {
  font-size: 30px;
}

.fz30R {
  font-size: 3rem;
}

.fz31 {
  font-size: 31px;
}

.fz31R {
  font-size: 3.1rem;
}

.fz32 {
  font-size: 32px;
}

.fz32R {
  font-size: 3.2rem;
}

.fz33 {
  font-size: 33px;
}

.fz33R {
  font-size: 3.3rem;
}

.fz34 {
  font-size: 34px;
}

.fz34R {
  font-size: 3.4rem;
}

.fz35 {
  font-size: 35px;
}

.fz35R {
  font-size: 3.5rem;
}

.fz36 {
  font-size: 36px;
}

.fz36R {
  font-size: 3.6rem;
}

.fz37 {
  font-size: 37px;
}

.fz37R {
  font-size: 3.7rem;
}

.fz38 {
  font-size: 38px;
}

.fz38R {
  font-size: 3.8rem;
}

.fz39 {
  font-size: 39px;
}

.fz39R {
  font-size: 3.9rem;
}

.fz40 {
  font-size: 40px;
}

.fz40R {
  font-size: 4rem;
}

.fz41 {
  font-size: 41px;
}

.fz41R {
  font-size: 4.1rem;
}

.fz42 {
  font-size: 42px;
}

.fz42R {
  font-size: 4.2rem;
}

.fz43 {
  font-size: 43px;
}

.fz43R {
  font-size: 4.3rem;
}

.fz44 {
  font-size: 44px;
}

.fz44R {
  font-size: 4.4rem;
}

.fz45 {
  font-size: 45px;
}

.fz45R {
  font-size: 4.5rem;
}

.fz46 {
  font-size: 46px;
}

.fz46R {
  font-size: 4.6rem;
}

.fz47 {
  font-size: 47px;
}

.fz47R {
  font-size: 4.7rem;
}

.fz48 {
  font-size: 48px;
}

.fz48R {
  font-size: 4.8rem;
}

.fz49 {
  font-size: 49px;
}

.fz49R {
  font-size: 4.9rem;
}

.fz50 {
  font-size: 50px;
}

.fz50R {
  font-size: 5rem;
}

.fwB {
  font-weight: bold !important;
}
.fwN {
  font-weight: normal !important;
}

.lh8 {
  line-height: 0.8 !important;
}

.lh9 {
  line-height: 0.9 !important;
}

.lh10 {
  line-height: 1 !important;
}

.lh11 {
  line-height: 1.1 !important;
}

.lh12 {
  line-height: 1.2 !important;
}

.lh13 {
  line-height: 1.3 !important;
}

.lh14 {
  line-height: 1.4 !important;
}

.lh15 {
  line-height: 1.5 !important;
}

.lh16 {
  line-height: 1.6 !important;
}

.lh17 {
  line-height: 1.7 !important;
}

.lh18 {
  line-height: 1.8 !important;
}

.lh19 {
  line-height: 1.9 !important;
}

.lh20 {
  line-height: 2 !important;
}

.lh21 {
  line-height: 2.1 !important;
}

.lh22 {
  line-height: 2.2 !important;
}

.lh23 {
  line-height: 2.3 !important;
}

.lh24 {
  line-height: 2.4 !important;
}

.lh25 {
  line-height: 2.5 !important;
}

.lh26 {
  line-height: 2.6 !important;
}

.lh27 {
  line-height: 2.7 !important;
}

.lh28 {
  line-height: 2.8 !important;
}

.lh29 {
  line-height: 2.9 !important;
}

.lh30 {
  line-height: 3 !important;
}

/*-- Etc --*/
.disI {
  display: inline !important;
}
.disB {
  display: block !important;
}
.disIB {
  display: inline-block !important;
}
.disT {
  display: table !important;
}
.disTC {
  display: table-cell !important;
}
.disN {
  display: none !important;
}
.disF {
  display: flex !important;
}

.jcFS {
  justify-content: flex-start !important;
}
.jcFE {
  justify-content: flex-end !important;
}
.jcC {
  justify-content: center !important;
}
.jcSB {
  justify-content: space-between !important;
}
.jcSA {
  justify-content: space-around !important;
}

.aiFS {
  align-items: flex-start !important;
}
.aiFE {
  align-items: flex-end !important;
}
.aiC {
  align-items: center !important;
}
.aiS {
  align-items: stretch !important;
}
.aiB {
  align-items: baseline !important;
}

.taL {
  text-align: left !important;
}
.taR {
  text-align: right !important;
}
.taC {
  text-align: center !important;
}

.vaT {
  vertical-align: top !important;
}
.vaM {
  vertical-align: middle !important;
}
.vaB {
  vertical-align: bottom !important;
}
.vaTB {
  vertical-align: text-bottom !important;
}

.fltL {
  float: left !important;
}
.fltR {
  float: right !important;
}
.fltN {
  float: none !important;
}

.posS {
  position: static !important;
}
.posR {
  position: relative !important;
}
.posA {
  position: absolute !important;
}
.posF {
  position: fixed !important;
}

.brWord {
  word-wrap: break-word;
}

.waNw {
  white-space: nowrap;
}

.printDown {
  display: none;
}

.printBreak {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  /*-- Width --*/
  .spWAuto {
    width: auto !important;
  }
  /*-- Margin --*/
  .spM0 {
    margin: 0 !important;
  }
  .spMA {
    margin: auto !important;
  }
  .spMTA {
    margin-top: auto !important;
  }
  .spMRA {
    margin-right: auto !important;
  }
  .spMBA {
    margin-bottom: auto !important;
  }
  .spMLA {
    margin-left: auto !important;
  }
  /*-- Padding --*/
  .spP0 {
    padding: 0 !important;
  }
  .spPA {
    padding: auto !important;
  }
  .spPTA {
    padding-top: auto !important;
  }
  .spPRA {
    padding-right: auto !important;
  }
  .spPBA {
    padding-bottom: auto !important;
  }
  .spPLA {
    padding-left: auto !important;
  }
  /*-- Font --*/
  .spFz6 {
    font-size: 6px;
  }
  .spFz6R {
    font-size: 0.6rem;
  }
  .spFz7 {
    font-size: 7px;
  }
  .spFz7R {
    font-size: 0.7rem;
  }
  .spFz8 {
    font-size: 8px;
  }
  .spFz8R {
    font-size: 0.8rem;
  }
  .spFz9 {
    font-size: 9px;
  }
  .spFz9R {
    font-size: 0.9rem;
  }
  .spFz10 {
    font-size: 10px;
  }
  .spFz10R {
    font-size: 1rem;
  }
  .spFz11 {
    font-size: 11px;
  }
  .spFz11R {
    font-size: 1.1rem;
  }
  .spFz12 {
    font-size: 12px;
  }
  .spFz12R {
    font-size: 1.2rem;
  }
  .spFz13 {
    font-size: 13px;
  }
  .spFz13R {
    font-size: 1.3rem;
  }
  .spFz14 {
    font-size: 14px;
  }
  .spFz14R {
    font-size: 1.4rem;
  }
  .spFz15 {
    font-size: 15px;
  }
  .spFz15R {
    font-size: 1.5rem;
  }
  .spFz16 {
    font-size: 16px;
  }
  .spFz16R {
    font-size: 1.6rem;
  }
  .spFz17 {
    font-size: 17px;
  }
  .spFz17R {
    font-size: 1.7rem;
  }
  .spFz18 {
    font-size: 18px;
  }
  .spFz18R {
    font-size: 1.8rem;
  }
  .spFz19 {
    font-size: 19px;
  }
  .spFz19R {
    font-size: 1.9rem;
  }
  .spFz20 {
    font-size: 20px;
  }
  .spFz20R {
    font-size: 2rem;
  }
  .spFz21 {
    font-size: 21px;
  }
  .spFz21R {
    font-size: 2.1rem;
  }
  .spFz22 {
    font-size: 22px;
  }
  .spFz22R {
    font-size: 2.2rem;
  }
  .spFz23 {
    font-size: 23px;
  }
  .spFz23R {
    font-size: 2.3rem;
  }
  .spFz24 {
    font-size: 24px;
  }
  .spFz24R {
    font-size: 2.4rem;
  }
  .spFz25 {
    font-size: 25px;
  }
  .spFz25R {
    font-size: 2.5rem;
  }
  .spFz26 {
    font-size: 26px;
  }
  .spFz26R {
    font-size: 2.6rem;
  }
  .spFz27 {
    font-size: 27px;
  }
  .spFz27R {
    font-size: 2.7rem;
  }
  .spFz28 {
    font-size: 28px;
  }
  .spFz28R {
    font-size: 2.8rem;
  }
  .spFz29 {
    font-size: 29px;
  }
  .spFz29R {
    font-size: 2.9rem;
  }
  .spFz30 {
    font-size: 30px;
  }
  .spFz30R {
    font-size: 3rem;
  }
  .spFz31 {
    font-size: 31px;
  }
  .spFz31R {
    font-size: 3.1rem;
  }
  .spFz32 {
    font-size: 32px;
  }
  .spFz32R {
    font-size: 3.2rem;
  }
  .spFz33 {
    font-size: 33px;
  }
  .spFz33R {
    font-size: 3.3rem;
  }
  .spFz34 {
    font-size: 34px;
  }
  .spFz34R {
    font-size: 3.4rem;
  }
  .spFz35 {
    font-size: 35px;
  }
  .spFz35R {
    font-size: 3.5rem;
  }
  .spFz36 {
    font-size: 36px;
  }
  .spFz36R {
    font-size: 3.6rem;
  }
  .spFz37 {
    font-size: 37px;
  }
  .spFz37R {
    font-size: 3.7rem;
  }
  .spFz38 {
    font-size: 38px;
  }
  .spFz38R {
    font-size: 3.8rem;
  }
  .spFz39 {
    font-size: 39px;
  }
  .spFz39R {
    font-size: 3.9rem;
  }
  .spFz40 {
    font-size: 40px;
  }
  .spFz40R {
    font-size: 4rem;
  }
  .spFz41 {
    font-size: 41px;
  }
  .spFz41R {
    font-size: 4.1rem;
  }
  .spFz42 {
    font-size: 42px;
  }
  .spFz42R {
    font-size: 4.2rem;
  }
  .spFz43 {
    font-size: 43px;
  }
  .spFz43R {
    font-size: 4.3rem;
  }
  .spFz44 {
    font-size: 44px;
  }
  .spFz44R {
    font-size: 4.4rem;
  }
  .spFz45 {
    font-size: 45px;
  }
  .spFz45R {
    font-size: 4.5rem;
  }
  .spFz46 {
    font-size: 46px;
  }
  .spFz46R {
    font-size: 4.6rem;
  }
  .spFz47 {
    font-size: 47px;
  }
  .spFz47R {
    font-size: 4.7rem;
  }
  .spFz48 {
    font-size: 48px;
  }
  .spFz48R {
    font-size: 4.8rem;
  }
  .spFz49 {
    font-size: 49px;
  }
  .spFz49R {
    font-size: 4.9rem;
  }
  .spFz50 {
    font-size: 50px;
  }
  .spFz50R {
    font-size: 5rem;
  }
  .spFwB {
    font-weight: bold !important;
  }
  .spFwN {
    font-weight: normal !important;
  }
  .spLh8 {
    line-height: 0.8 !important;
  }
  .spLh9 {
    line-height: 0.9 !important;
  }
  .spLh10 {
    line-height: 1 !important;
  }
  .spLh11 {
    line-height: 1.1 !important;
  }
  .spLh12 {
    line-height: 1.2 !important;
  }
  .spLh13 {
    line-height: 1.3 !important;
  }
  .spLh14 {
    line-height: 1.4 !important;
  }
  .spLh15 {
    line-height: 1.5 !important;
  }
  .spLh16 {
    line-height: 1.6 !important;
  }
  .spLh17 {
    line-height: 1.7 !important;
  }
  .spLh18 {
    line-height: 1.8 !important;
  }
  .spLh19 {
    line-height: 1.9 !important;
  }
  .spLh20 {
    line-height: 2 !important;
  }
  .spLh21 {
    line-height: 2.1 !important;
  }
  .spLh22 {
    line-height: 2.2 !important;
  }
  .spLh23 {
    line-height: 2.3 !important;
  }
  .spLh24 {
    line-height: 2.4 !important;
  }
  .spLh25 {
    line-height: 2.5 !important;
  }
  .spLh26 {
    line-height: 2.6 !important;
  }
  .spLh27 {
    line-height: 2.7 !important;
  }
  .spLh28 {
    line-height: 2.8 !important;
  }
  .spLh29 {
    line-height: 2.9 !important;
  }
  .spLh30 {
    line-height: 3 !important;
  }
  /*-- Etc --*/
  .spDisI {
    display: inline !important;
  }
  .spDisB {
    display: block !important;
  }
  .spDisIB {
    display: inline-block !important;
  }
  .spDisT {
    display: table !important;
  }
  .spDisTC {
    display: table-cell !important;
  }
  .spDisN {
    display: none !important;
  }
  .spDisF {
    display: flex !important;
  }
  .spJcFS {
    justify-content: flex-start !important;
  }
  .spJcFE {
    justify-content: flex-end !important;
  }
  .spJcC {
    justify-content: center !important;
  }
  .spJcSB {
    justify-content: space-between !important;
  }
  .spJcSA {
    justify-content: space-around !important;
  }
  .spAiFS {
    align-items: flex-start;
  }
  .spAiFE {
    align-items: flex-end !important;
  }
  .spAiC {
    align-items: center !important;
  }
  .spAiS {
    align-items: stretch !important;
  }
  .spAiB {
    align-items: baseline !important;
  }
  .spTaL {
    text-align: left !important;
  }
  .spTaR {
    text-align: right !important;
  }
  .spTaC {
    text-align: center !important;
  }
  .spVaT {
    vertical-align: top !important;
  }
  .spVaM {
    vertical-align: middle !important;
  }
  .spVaB {
    vertical-align: bottom !important;
  }
  .spVaTB {
    vertical-align: text-bottom !important;
  }
  .spFltL {
    float: left !important;
  }
  .spFltR {
    float: right !important;
  }
  .spFltN {
    float: none !important;
  }
  .spPosS {
    position: static !important;
  }
  .spPosR {
    position: relative !important;
  }
  .spPosA {
    position: absolute !important;
  }
  .spPosF {
    position: fixed !important;
  }
}
/*--------------------------------------
 下層ページ
---------------------------------------*/
.subpage-content {
  color: #fff;
}
@media screen and (min-width: 768px) {
  .subpage-content {
    padding: 250px 0 150px;
  }
}
@media screen and (max-width: 767px) {
  .subpage-content {
    padding: 42.6666666667vw 0 26.6666666667vw;
  }
}

@media screen and (min-width: 768px) {
  .subpage-content__inner {
    max-width: 1180px;
    padding: 0 40px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .subpage-content__inner {
    padding: 0 5.3333333333vw;
  }
}

.subpage-content__title {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}
@media screen and (min-width: 768px) {
  .subpage-content__title {
    margin-bottom: 30px;
    font-size: 40px;
  }
}
@media screen and (max-width: 767px) {
  .subpage-content__title {
    margin-bottom: 10.6666666667vw;
    font-size: 8.5333333333vw;
  }
}
.subpage-content__title.v-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}
@media screen and (min-width: 768px) {
  .subpage-content__title + .subpage-section {
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  .subpage-content__title + .subpage-section {
    margin-top: 13.3333333333vw;
  }
}

@media screen and (min-width: 768px) {
  .subpage-section {
    margin-top: 140px;
  }
}
@media screen and (max-width: 767px) {
  .subpage-section {
    margin-top: 26.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .subpage-section.level-2 {
    margin-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .subpage-section.level-2 {
    margin-top: 21.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .subpage-section.level-3 {
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .subpage-section.level-3 {
    margin-top: 10.6666666667vw;
  }
}
.subpage-section.mar-t0 {
  margin-top: 0 !important;
}
.subpage-section.mar-t30 {
  margin-top: 30px !important;
}

.subpage-section__title {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}
@media screen and (min-width: 768px) {
  .subpage-section__title {
    margin-bottom: 20px;
    font-size: 25px;
    letter-spacing: 0.06em;
  }
}
@media screen and (max-width: 767px) {
  .subpage-section__title {
    margin-bottom: 5.3333333333vw;
    font-size: 5.3333333333vw;
    letter-spacing: 0.04em;
  }
}
.subpage-section__title.lang-en {
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .subpage-section__title.lang-en {
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  .subpage-section__title.lang-en {
    font-size: 6.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .subpage-section__title.level-2 {
    font-size: 23px;
  }
}
@media screen and (max-width: 767px) {
  .subpage-section__title.level-2 {
    font-size: 5.0666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .subpage-section__title.level-2.lang-en {
    font-size: 26px;
  }
}
@media screen and (max-width: 767px) {
  .subpage-section__title.level-2.lang-en {
    font-size: 5.8666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .subpage-section__title.level-3 {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .subpage-section__title.level-3 {
    font-size: 4.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .subpage-section__title.level-3.lang-en {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .subpage-section__title.level-3.lang-en {
    font-size: 5.0666666667vw;
  }
}

.subpage-lineBlock {
  border-top: 1px solid #7b7b7b;
  border-bottom: 1px solid #7b7b7b;
}
@media screen and (min-width: 768px) {
  .subpage-lineBlock {
    padding: 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .subpage-lineBlock {
    padding: 8vw 0;
  }
}
.subpage-lineBlock.only-top {
  padding-bottom: 0;
  border-bottom: 0;
}

.subpage-text {
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .subpage-text {
    font-size: 16px;
    letter-spacing: 0.06em;
  }
}
@media screen and (max-width: 767px) {
  .subpage-text {
    font-size: 3.7333333333vw;
    letter-spacing: 0.04em;
  }
}
.subpage-text.a-center {
  text-align: center;
}

.subpage-list {
  line-height: 1.75;
}
@media screen and (min-width: 768px) {
  .subpage-list {
    font-size: 16px;
    letter-spacing: 0.06em;
  }
}
@media screen and (max-width: 767px) {
  .subpage-list {
    font-size: 3.7333333333vw;
    letter-spacing: 0.04em;
  }
}
.subpage-list + .subpage-list {
  margin-top: 2em;
}
.subpage-list li:not(:first-child) {
  margin-top: 0.25em;
}

.subpage-infoList {
  border-bottom: 1px solid #7b7b7b;
}

.subpage-infoList__row {
  display: grid;
  align-items: start;
  border-top: 1px solid #7b7b7b;
}
@media screen and (min-width: 768px) {
  .subpage-infoList__row {
    grid-template-columns: min(34vw, 360px) 1fr;
    font-size: 18px;
    letter-spacing: 0.06em;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .subpage-infoList__row {
    grid-template-columns: 1fr;
    font-size: 3.7333333333vw;
    letter-spacing: 0.04em;
    line-height: 1.75;
  }
}
@media screen and (min-width: 768px) {
  .subpage-infoList__row dt {
    padding: 30px 30px 30px 0;
  }
}
@media screen and (max-width: 767px) {
  .subpage-infoList__row dt {
    padding: 5.3333333333vw 0 0;
    font-size: 4vw;
  }
}
@media screen and (min-width: 768px) {
  .subpage-infoList__row dd {
    grid-column: 2/3;
    padding: 30px 0;
  }
}
@media screen and (max-width: 767px) {
  .subpage-infoList__row dd {
    grid-column: 1/2;
    padding: 2.6666666667vw 0 5.3333333333vw;
    border-top: 0;
  }
}
.subpage-infoList__row dd + dd {
  border-top: 1px solid #7b7b7b;
}
@media screen and (max-width: 767px) {
  .subpage-infoList__row dd + dd {
    margin-top: -4.2666666667vw;
    border-top: 0;
  }
}
.v-center .subpage-infoList__row {
  align-items: center;
}
.v-center .subpage-infoList__row:has(dd:nth-of-type(2)) dt {
  grid-row: span 2;
}
.v-center .subpage-infoList__row:has(dd:nth-of-type(3)) dt {
  grid-row: span 3;
}

.subpage-img.a-center {
  text-align: center;
}
.subpage-img.link-3d {
  position: relative;
  display: block;
  overflow: hidden;
}
.subpage-img.link-3d::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.subpage-img.link-3d::before {
  background: url(/common/img/icon_3dgs.svg) no-repeat center/70px;
}
@media screen and (max-width: 767px) {
  .subpage-img.link-3d::before {
    background-size: 15.4666666667vw;
  }
}
.subpage-img.link-3d img {
  position: relative;
  z-index: 0;
  transition: scale 0.5s;
}
.subpage-img.link-3d:hover img {
  scale: 1.1;
}

@media screen and (max-width: 767px) {
  .subpage-img__floormap {
    width: 69.3333333333vw;
  }
}

.subpage-images {
  display: flex;
}
@media screen and (min-width: 768px) {
  .subpage-images {
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    gap: 35px 30px;
  }
  .subpage-images > * {
    flex-basis: calc(50% - 15px);
  }
}
@media screen and (max-width: 767px) {
  .subpage-images {
    flex-direction: column;
    gap: 5.3333333333vw;
  }
}

.subpage-movie__video {
  width: 100%;
}

.subpage-movie__youtube {
  aspect-ratio: 560/315;
}
.subpage-movie__youtube iframe {
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .subpage-movie__caption {
    font-size: 15px;
    letter-spacing: 0.06em;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .subpage-movie__caption {
    font-size: 3.7333333333vw;
    letter-spacing: 0.04em;
    line-height: 1.75;
  }
}
@media screen and (min-width: 768px) {
  .subpage-movie__caption:first-child {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  .subpage-movie__caption:first-child {
    margin-bottom: 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  * > .subpage-movie__caption {
    margin-top: 15px;
  }
}
@media screen and (max-width: 767px) {
  * > .subpage-movie__caption {
    margin-top: 2.6666666667vw;
  }
}

.subpage-contact {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .subpage-contact {
    margin-top: 150px;
  }
}
@media screen and (max-width: 767px) {
  .subpage-contact {
    margin-top: 26.6666666667vw;
  }
}

@media screen and (min-width: 768px) {
  .subpage-contact__text {
    font-size: 19px;
    letter-spacing: 0.06em;
  }
}
@media screen and (max-width: 767px) {
  .subpage-contact__text {
    font-size: 3.7333333333vw;
    letter-spacing: 0.04em;
  }
}

.subpage-contact__btn {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .subpage-contact__btn {
    width: 400px;
    height: 80px;
    margin-top: 30px;
    font-size: 25px;
    border-radius: 40px;
    transition: color 0.3s;
  }
}
@media screen and (max-width: 767px) {
  .subpage-contact__btn {
    width: 74.1333333333vw;
    height: 14.6666666667vw;
    margin-top: 5.3333333333vw;
    font-size: 6.6666666667vw;
    border-radius: 7.4666666667vw;
  }
}
.subpage-contact__btn::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #fff;
  z-index: 0;
  scale: 0 1;
  transform-origin: 0 0;
  transition: scale 0.3s;
}
.subpage-contact__btn span {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .subpage-contact__btn:hover {
    color: #37373c;
  }
  .subpage-contact__btn:hover::before {
    scale: 1 1;
  }
}

/*--------------------------------------
 ABOUT US
---------------------------------------*/
@media screen and (min-width: 768px) {
  .aboutus .subpage-content__title {
    font-size: 50px;
  }
}

@media screen and (min-width: 768px) {
  .aboutus-lead {
    margin-top: 80px !important;
  }
}
@media screen and (min-width: 768px) {
  .aboutus-lead .subpage-section__title {
    font-size: 30px;
  }
}
@media screen and (min-width: 768px) {
  .aboutus-lead .subpage-text {
    margin-top: 60px;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 2.4;
  }
}
@media screen and (max-width: 767px) {
  .aboutus-lead .subpage-text {
    margin-top: 8vw;
  }
}

@media screen and (min-width: 768px) {
  .aboutus-vision .subpage-infoList__row dt {
    padding: 26px 30px 26px 0;
    font-size: 23px;
    letter-spacing: 0.06em;
  }
}
@media screen and (max-width: 767px) {
  .aboutus-vision .subpage-infoList__row dt {
    font-size: 5.3333333333vw;
    letter-spacing: 0.04em;
    line-height: 2;
  }
}
@media screen and (min-width: 768px) {
  .aboutus-vision .subpage-infoList__row dd {
    font-size: 20px;
    letter-spacing: 0.06em;
  }
}
@media screen and (max-width: 767px) {
  .aboutus-vision .subpage-infoList__row dd {
    line-height: 2;
  }
}

.aboutus-info__mail img {
  vertical-align: baseline;
}
@media screen and (max-width: 767px) {
  .aboutus-info__mail img {
    width: 42.6666666667vw;
  }
}

/*--------------------------------------
 ACCESS / FLOOR MAP
---------------------------------------*/
@media screen and (max-width: 767px) {
  .access .subpage-lineBlock {
    padding-bottom: 0;
    border-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .access-info {
    max-width: 800px;
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 767px) {
  .access-info {
    margin-top: 5.3333333333vw;
  }
}

.access-info__address {
  display: grid;
  grid-template-columns: auto 1fr;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
  .access-info__address {
    font-size: 20px;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .access-info__address {
    margin-bottom: 10.6666666667vw;
    font-size: 4.8vw;
    line-height: 1.8;
  }
}
.access-info__address dt::after {
  content: "：";
}
@media screen and (max-width: 767px) {
  .access-info__address dt:not(:first-of-type) {
    margin-top: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .access-info__address dd:not(:first-of-type) {
    margin-top: 4vw;
  }
}

@media screen and (min-width: 768px) {
  .access-directions {
    margin-top: 25px;
  }
}
@media screen and (max-width: 767px) {
  .access-directions {
    margin-top: 5.3333333333vw;
  }
}

.access-directions__title {
  letter-spacing: 0.04em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .access-directions__title {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .access-directions__title {
    font-size: 4.8vw;
  }
}
.access-directions__title img {
  vertical-align: baseline;
}
@media screen and (min-width: 768px) {
  .access-directions__title img {
    margin-left: 0.2em;
  }
}
@media screen and (max-width: 767px) {
  .access-directions__title img {
    width: 6.4vw;
    margin-left: 0.4em;
  }
}

.access-directions__text {
  letter-spacing: 0.04em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .access-directions__text {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .access-directions__text {
    font-size: 3.7333333333vw;
  }
}

@media screen and (min-width: 768px) {
  .floormap-3dgs-images {
    padding-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .floormap-3dgs-images {
    padding-top: 13.3333333333vw;
  }
}
.floormap-3dgs-images .subpage-img.link-3d::after {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  content: attr(aria-label);
  position: absolute;
  right: 0;
  left: 0;
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .floormap-3dgs-images .subpage-img.link-3d::after {
    bottom: 20px;
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .floormap-3dgs-images .subpage-img.link-3d::after {
    bottom: 2.6666666667vw;
    font-size: 4vw;
  }
}

@media screen and (min-width: 768px) {
  .floormap-3dgs-note {
    margin-top: 26px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .floormap-3dgs-note {
    margin-top: 5.3333333333vw;
  }
}

/*--------------------------------------
 CONTENTS SERVICE
---------------------------------------*/
@media screen and (min-width: 768px) {
  .service .subpage-content__title {
    margin-bottom: 140px;
  }
}
@media screen and (max-width: 767px) {
  .service .subpage-content__title {
    font-size: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .service .subpage-section__title.lang-en {
    margin-bottom: 50px;
    font-size: min(5.2vw, 50px);
  }
}
@media screen and (max-width: 767px) {
  .service .subpage-section__title.lang-en {
    margin-bottom: 4vw;
    font-size: 8vw;
  }
  .service .subpage-section__title.lang-en:last-child {
    margin-bottom: -2.6666666667vw;
  }
}

@media screen and (min-width: 768px) {
  .service-section {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (min-width: 768px) {
  .service-section__col:first-child {
    padding-right: min(6.62vw, 78px);
    border-right: 1px solid #848484;
  }
}
@media screen and (max-width: 767px) {
  .service-section__col:first-child {
    padding-bottom: 8vw;
  }
}
@media screen and (min-width: 768px) {
  .service-section__col:not(:first-child) {
    padding-left: min(6.62vw, 78px);
  }
}
@media screen and (max-width: 767px) {
  .service-section__col:not(:first-child) {
    padding-top: 8vw;
    border-top: 1px solid #848484;
  }
}

.service-flow {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .service-flow {
    gap: 10px 0;
  }
}
@media screen and (max-width: 767px) {
  .service-flow {
    gap: 2.6666666667vw 0;
  }
}
@media screen and (min-width: 768px) {
  .service-flow:not(:first-child) {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .service-flow:not(:first-child) {
    margin-top: 4vw;
  }
}
.service-flow li {
  border: 1px solid currentColor;
}
@media screen and (min-width: 768px) {
  .service-flow li {
    padding: 5px 22px;
    font-size: 12px;
    border-radius: 6px;
  }
}
@media screen and (max-width: 767px) {
  .service-flow li {
    padding: 1.0666666667vw 4.8vw;
    font-size: 3.2vw;
    border-radius: 1.6vw;
  }
}
.service-flow li:not(:first-child) {
  position: relative;
}
@media screen and (min-width: 768px) {
  .service-flow li:not(:first-child) {
    margin-left: 35px;
  }
}
@media screen and (max-width: 767px) {
  .service-flow li:not(:first-child) {
    margin-left: 9.3333333333vw;
  }
}
.service-flow li:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 50%;
  background: url(../img/modal/arrow-right.svg) no-repeat center/contain;
  translate: 0 -50%;
}
@media screen and (min-width: 768px) {
  .service-flow li:not(:first-child)::before {
    left: -25px;
    width: 15px;
    height: 8px;
  }
}
@media screen and (max-width: 767px) {
  .service-flow li:not(:first-child)::before {
    left: -6.6666666667vw;
    width: 4vw;
    height: 2.1333333333vw;
  }
}

@media screen and (min-width: 768px) {
  .service-name {
    margin-top: 8px;
    font-size: 30px;
    letter-spacing: 0.04em;
    line-height: 1.75;
  }
}
@media screen and (max-width: 767px) {
  .service-name {
    margin-top: 2.6666666667vw;
    font-size: 6.6666666667vw;
    line-height: 1.6;
  }
}

@media screen and (min-width: 768px) {
  .service-provided {
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  .service-provided {
    margin-top: 8vw;
  }
}

.service-provided__title {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .service-provided__title {
    margin-bottom: 15px;
    font-size: 16px;
    letter-spacing: 0.06em;
    line-height: 1.75;
  }
}
@media screen and (max-width: 767px) {
  .service-provided__title {
    margin-bottom: 3.2vw;
    font-size: 3.7333333333vw;
    letter-spacing: 0.04em;
    line-height: 1.6;
  }
}

.service-provided__list {
  padding-left: 1.5em;
}
@media screen and (min-width: 768px) {
  .service-provided__list {
    font-size: 18px;
    letter-spacing: 0.06em;
    line-height: 1.75;
  }
}
@media screen and (max-width: 767px) {
  .service-provided__list {
    display: flex;
    flex-wrap: wrap;
    gap: 3.2vw 16vw;
    font-size: 4.2666666667vw;
    letter-spacing: 0.04em;
    line-height: 1.6;
  }
}
.service-provided__list li {
  list-style-type: disc;
}
@media screen and (min-width: 768px) {
  .service-provided__list li:not(:first-child) {
    margin-top: 15px;
  }
}
.service-provided__list li.new::before {
  content: "NEW";
  color: red;
}
@media screen and (min-width: 768px) {
  .service-provided__list li.new::before {
    padding-right: 10px;
  }
}
@media screen and (max-width: 767px) {
  .service-provided__list li.new::before {
    padding-right: 2.1333333333vw;
  }
}

.service-provided__link {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  position: relative;
  display: inline-block;
  margin-left: 0.2em;
  line-height: 1;
  border: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  .service-provided__link {
    padding: 3px 20px 3px 10px;
    font-size: 13px;
    letter-spacing: 0.04em;
    vertical-align: -3px;
    border-radius: 12px;
    overflow: hidden;
    transition: color 0.3s;
  }
}
@media screen and (max-width: 767px) {
  .service-provided__link {
    padding: 0.5333333333vw 5.3333333333vw 0.5333333333vw 2.6666666667vw;
    font-size: 3.4666666667vw;
    vertical-align: -0.8vw;
    border-radius: 3.2vw;
  }
}
.service-provided__link::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #fff;
  z-index: 0;
  scale: 0 1;
  transform-origin: 0 0;
  transition: scale 0.3s;
}
.service-provided__link::after {
  content: "";
  position: absolute;
  top: 6px;
  right: 10px;
  width: 6px;
  height: 6px;
  border: 0 solid currentColor;
  border-width: 1px 1px 0 0;
  rotate: 45deg;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .service-provided__link::after {
    top: 1.6vw;
    right: 2.6666666667vw;
    width: 1.6vw;
    height: 1.6vw;
  }
}
.service-provided__link span {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .service-provided__link:hover {
    color: #37373c;
  }
  .service-provided__link:hover::before {
    scale: 1 1;
  }
}

/*--------------------------------------
 VIRTUAL PRODUCTION
---------------------------------------*/
@media screen and (min-width: 768px) {
  .vp-stage__title {
    margin-bottom: 12px;
    font-size: 16px;
    letter-spacing: 0.06em;
    line-height: 1.65;
  }
}
@media screen and (max-width: 767px) {
  .vp-stage__title {
    margin-bottom: 4.2666666667vw;
    font-size: 4vw;
    letter-spacing: 0.05em;
    line-height: 1.75;
  }
}

.vp-stage__data {
  display: grid;
}
@media screen and (min-width: 768px) {
  .vp-stage__data {
    grid-template-columns: repeat(2, 1fr);
    align-items: start;
    column-gap: min(6vw, 80px);
  }
}
@media screen and (max-width: 767px) {
  .vp-stage__data {
    grid-template-columns: 1fr;
  }
}
@media screen and (min-width: 768px) {
  .vp-stage__data .subpage-infoList__row {
    font-size: 13px;
    letter-spacing: 0.05em;
    line-height: 1.5;
  }
}
.vp-stage__data .subpage-infoList__row dt {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .vp-stage__data .subpage-infoList__row dt {
    min-height: 50px;
    padding: 5px 0;
  }
}
@media screen and (max-width: 767px) {
  .vp-stage__data .subpage-infoList__row dt {
    padding: 3.2vw 4.2666666667vw 3.2vw 0;
  }
}
.vp-stage__data .subpage-infoList__row dd {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .vp-stage__data .subpage-infoList__row dd {
    min-height: 50px;
    padding: 5px 0;
  }
}
@media screen and (max-width: 767px) {
  .vp-stage__data .subpage-infoList__row dd {
    grid-column: 2/3;
    padding: 3.2vw 0;
  }
  .vp-stage__data .subpage-infoList__row dd + dd {
    margin-top: 0;
    border-top: 1px solid #7b7b7b;
  }
}
@media screen and (max-width: 767px) {
  .vp-stage__data .subpage-infoList__row dd small {
    font-size: 3.2vw;
    line-height: 1.65;
  }
}
@media screen and (max-width: 767px) {
  .vp-stage__data .vp-stage__infoList01 {
    border-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  .vp-stage__data .vp-stage__infoList01 .subpage-infoList__row {
    grid-template-columns: 100px 1fr;
  }
}
@media screen and (max-width: 767px) {
  .vp-stage__data .vp-stage__infoList01 .subpage-infoList__row {
    grid-template-columns: 37.8666666667vw 1fr;
  }
}
@media screen and (min-width: 768px) {
  .vp-stage__data .vp-stage__infoList02 .subpage-infoList__row {
    grid-template-columns: 182px 1fr;
  }
}
@media screen and (max-width: 767px) {
  .vp-stage__data .vp-stage__infoList02 .subpage-infoList__row {
    grid-template-columns: 37.8666666667vw 1fr;
  }
}

@media screen and (min-width: 768px) {
  .vp-images {
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  .vp-images {
    margin-top: 8vw;
  }
}

/*--------------------------------------
 VOLUMETRIC VIDEO
---------------------------------------*/
@media screen and (min-width: 768px) {
  .vv-about__img {
    margin-top: 90px;
  }
}
@media screen and (max-width: 767px) {
  .vv-about__img {
    margin-top: 10.6666666667vw;
  }
}

/*--------------------------------------
 Works 配下
---------------------------------------*/
.works .subpage-section__title + .subpage-movie {
  margin-top: 0 !important;
}
@media screen and (min-width: 768px) {
  .works .subpage-movie:not(:first-child) {
    margin-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .works .subpage-movie:not(:first-child) {
    margin-top: 16vw;
  }
}

/*--------------------------------------
 CONTACT（支給されたcssに対する上書き用）
---------------------------------------*/
html:has(.contact) {
  line-height: initial;
}

.contact {
  line-height: 1.4;
}
.contact img {
  vertical-align: top;
}
@media screen and (min-width: 768px) {
  .contact .main-inner {
    max-width: 1180px;
    padding: 0 40px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .contact .main-inner {
    padding: 0 5.3333333333vw;
  }
}
.contact .c-heading-a.subpage-content__title {
  margin-top: 0;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .contact .c-heading-a.subpage-content__title {
    font-size: 40px;
  }
}
@media screen and (max-width: 767px) {
  .contact .c-heading-a.subpage-content__title {
    font-size: 8.5333333333vw;
  }
}
.contact .c-heading-a.subpage-content__title::before, .contact .c-heading-a.subpage-content__title::after {
  content: none;
}

.englishPage .technologyZone .contHead p,
.englishPage .innovationZone .contHead p {
  letter-spacing: 0.05em;
}
/*# sourceMappingURL=style_v2.css.map */