@charset "UTF-8";
/* CSS Document */

/* =========================================================
Reset
========================================================= */
/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight: normal;list-style-type:none;}
body {line-height:1}
pre,textarea{overflow:auto}
[hidden],audio:not([controls]),template{display:none}
details,main,summary{display:block}
input[type=number]{width:auto}
input[type=search]{-webkit-appearance:textfield}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
progress{display:inline-block}
small{font-size:75%}
textarea{resize:vertical}
[unselectable]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
*,::after,::before{box-sizing:inherit;border-style:solid;border-width:0}
*{font-size:inherit;line-height:inherit;margin:0;padding:0}
::after,::before{text-decoration:inherit;vertical-align:inherit}
a{text-decoration:none}
audio,canvas,iframe,img,svg,video{vertical-align:middle}
button,input,textarea{background-color:transparent;color:inherit;font-family:inherit;font-style:inherit;font-weight:inherit;min-height:1.5em}
code,kbd,pre,samp{font-family:monospace,monospace}
nav ol,nav ul{list-style:none}
table{border-collapse:collapse;border-spacing:0}
::-moz-selection{background-color:#B3D4FC;text-shadow:none}
::selection{background-color:#B3D4FC;text-shadow:none}
@media screen{[hidden~=screen]{display:inherit}
  [hidden~=screen]:not(:active):not(:focus):not(:target){clip:rect(0 0 0 0)!important;position:absolute!important}
}

/* =========================================================
Common
========================================================= */
html {
  font-size: 62.5%;
  height: 100%;
}
body {
  color: #09201f;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.4rem;
  max-height: 999999px;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  height: 100%;
}
* {
  box-sizing: border-box;
}
a {
  color: #000;
  text-decoration: none;
  transition: all .25s ease-in;
}
a:hover {
  opacity: 0.6;
}
a:focus {
  outline: none;
}
a[href^="tel:"] {
  cursor: default;
  color: #3e3a39;
  pointer-events: none;
}
a[href^="tel:"]:hover {
  text-decoration: none;
}
img {
  width: 100%;
  height: auto;
}
input,button,select,textarea {
  border: none;
  border-radius: 0;
}
.spOnly {
  display: none;
}
b,strong,.bold {
  font-weight: bold;
}
.text-right {
  text-align: right;
}
.text-small {
  font-size: 85% !important;
  color: #999;
}
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
.effect.isActive {
  animation-name: fadeInDown;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
}
.effect {
  opacity: 0;
  transform: translateY(50px);
}
.mv {
  position: relative;
  overflow: hidden;
  width: 100%;
}
#canvas-container {
  position: absolute;
  width: 100%;
  z-index: 2;
  bottom: 0;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;			
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}
@media only screen and (max-width:750px) {
  .pcOnly {
    display: none;
  }
  .spOnly {
    display: block;
  }
}
.home .grecaptcha-badge,
.business .grecaptcha-badge { visibility: hidden; }
/* =========================================================
Header
========================================================= */
.header {
  position: fixed;
  width: 100%;
  height: 86px;
  padding: 0 3.5% 0 0;
  top: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(255, 255, 255, 0.85);
  border-bottom: 6px solid #000;
  z-index: 5;
}
.home .header {
  border-bottom: none;
  height: 80px;
}
.header .mainLogo {
  max-width: 300px;
  width: 100%;
  background-image: -moz-linear-gradient( 0deg, rgb(60,180,150) 0%, rgb(0,110,180) 100%);
  background-image: -webkit-linear-gradient( 0deg, rgb(60,180,150) 0%, rgb(0,110,180) 100%);
  background-image: -ms-linear-gradient( 0deg, rgb(60,180,150) 0%, rgb(0,110,180) 100%);
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.header .mainLogo img {
  max-width: 192px;
}
.header .contact {
  max-width: 220px;
  width: 100%;
}
.header .contact a {
  display: block;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1;
  border: 2px solid #000;
  border-radius: 100px;
  padding: 9px 0;
}
.header .contact a:hover {
  opacity: 1;
  background: #000;
  color: #fff;
}
.mv img {
  width: 100%;
}
@media only screen and (max-width:750px) {
  .header {
    height: 51px;
  }
  .home .header {
    height: 45px;
  }
  .header .mainLogo {
    max-width: 150px;
    height: 45px;
  }
  .header .mainLogo img {
    max-width: 104px;
  }
  .header .contact {
    max-width: 160px;
  }
  .header .contact a {
    font-size: 1.4rem;
    border: 1px solid #000;
    padding: 7px 0;
  }
  .mv {
    padding-top: 45px;
  }
}
/* =========================================================
Main Contents
========================================================= */
.mainContents {
  display: block;
  font-family: "Sawarabi Mincho", serif;
  padding-top: 112px;
}
.mainContents h2 {
  font-family: "Noto Sans JP", serif;
  font-weight: 900;
  text-align: center;
  line-height: 1.4;
  font-size: 6.4rem;
  font-size: clamp(4.4rem,3.33vw,6.4rem);
  background: url(../image/title_bg01.jpg) no-repeat center bottom;
  background-size: contain;
  padding-bottom: 50px;
  margin-bottom: 30px;
  letter-spacing: -1.5px
}
.mainContents h2 span {
  font-size: 8rem;
  font-weight: 900;
}
.mainContents h3 {
  font-family: "Noto Sans JP", serif;
  font-weight: 900;
  text-align: center;
  line-height: 1.5;
  font-size: 6.4rem;
  font-size: clamp(3.6rem,2.5vw,4.8rem);
  letter-spacing: -1.5px;
  color: #5f6da2;
  margin-bottom: 60px;
}
.mainContents .note {
  font-size: 2rem;
  line-height: 2.4;
  letter-spacing: 0.5px;
}
.mainContents figcaption {
  font-family: "Noto Sans JP", serif;
  text-align: right;
  font-size: 1.4rem;
  color: #444;
  padding-top: 15px;
}
.contentWrap {
  padding: 0 3%;
}
.contentW {
  max-width: 1280px;
  margin: 0 auto;
}
.mainContents .newsWrap .contentW {
  padding: 0 40px 80px;
}
.mainContents .newsWrap h2 {
  background: none;
  font-size: 3rem;
  text-align: left;
  margin-bottom: 16px;
  padding-bottom: 0;
}
.mainContents .newsWrap ul {
  border: 2px solid #dadada;
  font-family: "Noto Sans JP", serif;
  padding: 24px;
  max-height: 120px;
  overflow: auto;
}
.mainContents .newsWrap li {
  font-size: 2rem;
  display: flex;
  margin-bottom: 8px;
}
.mainContents .newsWrap li:last-child {
  margin-bottom: 0;
}
.mainContents .newsWrap li span {
  white-space: nowrap;
  margin-right: 20px;
}
.mainContents .newsWrap li a:hover {
  text-decoration: underline;
}
.mainContents .contents01 .contentW {
  padding: 0 40px 125px;
}
.mainContents .difference {
  margin-bottom: 78px;
  padding: 0 40px 94px;
  border-bottom: 2px solid #000;
}
.mainContents .difference .note {
  margin-bottom: 56px;
}
.mainContents .difference ul {
  display: flex;
  justify-content: space-between;
}
.mainContents .difference li {
  width: 46.5%;
}
.mainContents .difference .caution {
  font-family: "Noto Sans JP", serif;
  text-align: right;
  font-size: 1.4rem;
  color: #444;
  padding-top: 15px;
}
.mainContents .theaterExperience {
  padding: 0 40px 72px;
  margin-bottom: 78px;
  border-bottom: 2px solid #000;
}
.mainContents .theaterExperience .note {
  margin-bottom: 55px;
}
.mainContents .theaterExperience .logo {
  max-width: 1104px;
  margin: 28px auto 54px;
}
.mainContents .theaterExperience .caution {
  font-size: 1.6rem;
  letter-spacing: 0.5px;
  text-align: center;
}
.mainContents .stereophonic {
  margin-bottom: 76px;
  padding: 0 40px 72px;
  border-bottom: 2px solid #000;
}
.mainContents .stereophonic .note {
  margin-bottom: 55px;
}
.mainContents .stereophonic ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 64px;
}
.mainContents .stereophonic li {
  width: 46.5%;
}
.mainContents .stereophonic .logo {
  max-width: 1086px;
  margin: 28px auto 72px;
}
.mainContents .stereophonic .caution {
  font-size: 1.6rem;
  letter-spacing: 0.5px;
  text-align: center;
}
.mainContents .experience {
  margin-bottom: 126px;
  padding: 0 40px 100px;
  border-bottom: 2px solid #000;
}
.mainContents .experience p {
  text-align: center;
  margin-bottom: 52px;
}
.mainContents .experience p span {
  font-size: 1.6rem;
}
.mainContents .experience p a {
  text-decoration: underline;
}
.mainContents .experience .movie {
  aspect-ratio: 16/9;
}
.mainContents .experience .movie iframe {
  width: 100%;
  height: 100%;
}
.mainContents .content03 h2 {
  padding-bottom: 58px;
  margin-bottom: 90px;
}
.mainContents .mode {
  margin-bottom: 78px;
  padding: 0 40px 102px;
  border-bottom: 2px solid #000;
}
.mainContents .mode .note {
  margin-bottom: 52px;
}
.mainContents .mode .block .swiper-wrapper {
  display: flex;
  justify-content: space-between;
}
.mainContents .mode .block .swiper-controller {
  display: none;
}
.mainContents .mode dl {
  width: 30%;
  max-width: 300px;
  text-align: center;
}
.mainContents .mode dt {
  font-family: "Noto Sans JP", serif;
  font-size: 3.6rem;
  border-bottom: 2px solid #000;
  padding-bottom: 5px;
  margin-bottom: 16px;
}
.mainContents .mode dd p {
  font-size: 1.8rem;
  font-size: clamp(1.4rem,0.93vw,1.8rem);
  letter-spacing: 0.5px;
  line-height: 1.556;
  margin-bottom: 26px;
}
.mainContents .switching {
  padding: 0 40px 90px;
  border-bottom: 2px solid #000;
}
.mainContents .switching .note {
  margin-bottom: 55px;
}
.mainContents .switching figure {
  max-width: 953px;
  margin: 0 auto;
}
.mainContents .terminal {
  margin: -80px 0 78px;
  padding: 154px 40px 70px;
  border-bottom: 2px solid #000;
}
.mainContents .terminal .box {
  text-align: center;
  margin-bottom: 30px;
  background: #f0f0f0;
  border-radius: 20px;
  font-family: "Noto Sans JP", serif;
  padding: 30px 3% 40px;
}
.mainContents .terminal .box h4 {
  font-size: 3.2rem;
  margin-bottom: 15px;
}
.mainContents .terminal .box .days {
  font-size: 1.8rem;
  margin-bottom: 28px;
}
/*.mainContents .terminal .box .imgBox {
  max-width: 277px;
}
.mainContents .terminal .box .txtBox {
  min-width: 33%;
  padding-top: 109px;
  margin-left: 5.5%;
}
.mainContents .terminal .box .txtBox figure {
  max-width: 312px;
  margin: -25% 0 0;
}
.mainContents .terminal .box .txtBox p {
  font-family: "Noto Sans JP", serif;
  font-size: 2.8rem;
  letter-spacing: 0.5px;
}*/
.mainContents .terminal .btn {
  display: flex;
  justify-content: center;
}
.mainContents .terminal .btn li {
  max-width: 256px;
  width: 100%;
  margin: 0 18px;
}
.mainContents .terminal .btn a {
  display: block;
  font-family: "Noto Sans JP", serif;
  font-size: 2rem;
  line-height: 1;
  text-align: center;
  color: #fff;
  background: #4c4c4c;
  border: 2px solid #4c4c4c;
  padding: 11px 0;
  border-radius: 100px;
}
.mainContents .terminal .btn a:hover {
  opacity: 1;
  background: #fff;
  color: #4c4c4c;
}
.mainContents .technology {
  padding: 0 40px 155px;
}
.mainContents .technology figure {
  margin: 70px auto 80px;
}
.mainContents .technology .btn {
  max-width: 320px;
  margin: 0 auto;
}
.mainContents .technology .btn a {
  display: block;
  font-family: "Noto Sans JP", serif;
  font-size: 2rem;
  line-height: 1;
  text-align: center;
  color: #fff;
  background: #4c4c4c;
  border: 2px solid #4c4c4c;
  padding: 11px 0;
  border-radius: 100px;
}
.mainContents .technology .btn a:hover {
  opacity: 1;
  background: #fff;
  color: #4c4c4c;
}
.btmBusiness {
  padding: 52px 3% 60px;
  text-align: center;
  background: url(../image/business_bg.jpg) no-repeat center 0;
  background-size: cover;
}
.btmBusiness p {
  text-align: center;
  font-size: clamp(4rem,2.5vw,4.8rem);
  color: #fff;
  font-weight: 900;
  margin-bottom: 14px;
}
.btmBusiness a {
  display: block;
  max-width: 400px;
  margin: 0 auto;
  font-size: 2.2rem;
  line-height: 1;
  text-align: center;
  color: #fff;
  background: #361664;
  border: 1px solid #361664;
  padding: 18px 0;
  border-radius: 100px;
}
.btmBusiness a:hover {
  opacity: 1;
  color: #361664;
  background: #fff;
}
.btmContact {
  padding: 40px 0;
  background: #191919;
}
.btmContact a {
  display: block;
  max-width: 400px;
  margin: 0 auto;
  font-size: 2.8rem;
  line-height: 1;
  text-align: center;
  background: #fff;
  padding: 16px 0;
  border-radius: 100px;
}
.pageTop {
  position: sticky;
  bottom: 0;
  z-index: 9;
}
.pageTop .btn {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 80px;
  height: 80px;
  background: #361664;
}
.pageTop .btn::before {
  content: "";
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2015%209%22%20style%3D%22enable-background%3Anew%200%200%2015%209%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23FFFFFF%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M7.3165607%2C0.3348696L0.0768418%2C7.5745883C-0.0215354%2C7.6729655-0.0215353%2C7.8339462%2C0.076842%2C7.9323235%20l0.7328091%2C0.7328072c0.0983773%2C0.0983772%2C0.2593583%2C0.0983772%2C0.3577354%2C0l7.2397151-7.2397156%20c0.0983772-0.098377%2C0.0983772-0.2593576%2C0.000001-0.3577348l-0.7328062-0.73281%20C7.5759192%2C0.2364924%2C7.414938%2C0.2364922%2C7.3165607%2C0.3348696z%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M7.6834397%2C0.3348706l7.2397189%2C7.2397184c0.0983772%2C0.0983768%2C0.0983763%2C0.2593575-0.000001%2C0.3577347%20l-0.73281%2C0.7328067c-0.0983772%2C0.0983763-0.2593584%2C0.0983763-0.3577356-0.000001L6.5928965%2C1.4254138%20c-0.0983772-0.0983771-0.0983772-0.2593579%2C0-0.3577352l0.7328081-0.7328081%20C7.4240818%2C0.2364934%2C7.5850625%2C0.2364934%2C7.6834397%2C0.3348706z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
  width: 15px;
  height: 9px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
@media only screen and (max-width:750px) {
  .mainContents {
    padding-top: 8.5%;
  }
  .mainContents h2 {
    line-height: 1.6;
    font-size: 7vw;
    padding-bottom: 6%;
    margin-bottom: 2.5%;
    background: url(../image/title_bg01_sp.jpg) no-repeat center bottom;
    background-size: 100%;
    letter-spacing: -1px;
  }
  .mainContents h2 span {
    font-size: 10.66vw;
  }
  .mainContents h3 {
    font-size: 6.4vw;
    margin-bottom: 11%;
  }
  .mainContents .note {
    font-size: 4.26vw;
    line-height: 1.875;
  }
  .mainContents figcaption {
    font-size: 2.93vw;
    padding-top: 3%;
  }
  .contentWrap {
    padding: 0;
  }
  .mainContents .newsWrap .contentW {
    padding: 0;
    margin: 0 4.7% 12%;
  }
  .mainContents .newsWrap h2 {
    font-size: 6.4vw;
    margin-bottom: 2%;
  }
  .mainContents .newsWrap ul {
    padding: 3% 4.7%;
    max-height: 25vw;
  }
  .mainContents .newsWrap li {
    font-size: 4.26vw;
    margin-bottom: 2.5%;
  }
  .mainContents .newsWrap li span {
    margin-right: 2vw;
  }
  .mainContents .contents01 .contentW {
    padding: 0 0 0;
    margin: 0 4.7% 12%;
  }
  .mainContents .content01 h2 span {
    font-size: 10.66vw;
  }
  .mainContents .contents01 .lead {
    text-align: left;
  }
  .mainContents .difference {
    padding: 0 0 14%;
    margin: 0 4.7% 11%;
    border-bottom: 1px solid #000;
  }
  .mainContents .difference .note {
    margin-bottom: 11%;
  }
  .mainContents .difference ul {
    display: block;
    margin: 0 5.5%;
  }
  .mainContents .difference li {
    width: 100%;
    margin: 0 0 5%;
  }
  .mainContents .difference li:last-child {
    margin-bottom: 0;
  }
  .mainContents .difference .caution {
    font-size: 2.93vw;
    padding: 3% 5.5% 0;
  }
  .mainContents .theaterExperience {
    padding: 0 0 12.4%;
    margin: 0 4.7% 10.8%;
    border-bottom: 1px solid #000;
  }
  .mainContents .theaterExperience .note {
    margin-bottom: 7%;
  }
  .mainContents .theaterExperience figure {
    padding: 0 5.5%;
  }
  .mainContents .theaterExperience .logo {
    max-width: none;
    left: 0;
    width: 100%;
    margin: 7.8% 0 7.5%;
  }
  .mainContents .theaterExperience .caution {
    font-size: 2.93vw;
    text-align: left;
  }
  .mainContents .stereophonic {
    padding: 0 0 12.4%;
    margin: 0 4.7% 10.8%;
    border-bottom: 1px solid #000;
  }
  .mainContents .stereophonic .note {
    margin-bottom: 6%;
  }
  .mainContents .stereophonic ul {
    display: block;
    padding: 0 5.5%;
    margin-bottom: 13%;
  }
  .mainContents .stereophonic li {
    width: 100%;
    margin: 0 0 5%;
  }
  .mainContents .stereophonic .logo {
    max-width: none;
    left: 0;
    width: 100%;
    margin: 0 0 8%;
    padding: 0 5.5%;
  }
  .mainContents .stereophonic .caution {
    font-size: 2.93vw;
    text-align: left;
  }
  .mainContents .experience {
    padding: 0 0 12%;
    margin: 0 4.7% 10.5%;
    border-bottom: 1px solid #000;
  }
  .mainContents .experience p {
    text-align: left;
    margin-bottom: 7.6%;
  }
  .mainContents .experience p span {
    font-size: 3.73vw;
    display: inline-block;
    margin-top: 3.5%;
  }
  .mainContents .experience .movie {
    padding: 0 5.5%;
  }
  .mainContents .content03 h2 {
    padding-bottom: 8%;
    margin-bottom: 10%;
    line-height: 1.35;
  }
  .mainContents .mode {
    padding: 0;
    margin: 0 0 13.5%;
    border-bottom: none;
    width: 100%;
    overflow: hidden;
  }
  .mainContents .mode .note {
    margin: 0 4.7% 7.6%;
  }
  .mainContents .mode .block .swiper-wrapper {
    justify-content: initial;
  }
  .mainContents .mode dl {
    max-width: none;
    padding: 0 3.5%;
  }
  .mainContents .mode dt {
    font-size: 6.4vw;
    border-bottom: 1px solid #000;
    padding-bottom: 2.5%;
    margin-bottom: 7%;
  }
  .mainContents .mode dd p {
    font-size: 3.73vw;
    line-height: 1.857;
    margin-bottom: 9%;
  }
  .mainContents .mode dd figure {
    margin: 0 12%;
  }
  .mainContents .mode .block .swiper-controller {
    display: block;
  }
  .mainContents .mode .block .swiper-button-prev,
  .mainContents .mode .block .swiper-button-next {
    width: 10.66vw;
    height: 10.66vw;
    background: rgba(124, 124, 124, 0.5);
    position: absolute;
    display: flex;
    top: 27.5%;
    bottom: 0;
    margin: auto;
    z-index: 2;
  }
  .mainContents .mode .block .swiper-button-prev {
    left: 14.5%;
  }
  .mainContents .mode .block .swiper-button-next {
    right: 14.5%;
  }
  .mainContents .mode .block .swiper-button-prev:after,
  .mainContents .mode .block .swiper-button-next:after {
    content: "";
    background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2080%2080%22%20style%3D%22enable-background%3Anew%200%200%2080%2080%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23FFFFFF%3B%7D%3C%2Fstyle%3E%3Cg%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%3E%3C%2Fg%3E%3Cg%20id%3D%22Layer_1%22%3E%20%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M48.4580612%2C40.1879539l-14.74786%2C14.7478638c-0.0983772%2C0.0983734-0.2593613%2C0.0983734-0.3577347-0.0000038%20l-1.8105259-1.8105392c-0.0983772-0.0983772-0.0983772-0.2593575%2C0-0.3577309l14.7478466-14.7478485%20c0.0983772-0.0983772%2C0.2593575-0.0983772%2C0.3577347%2C0l1.8105392%2C1.810524%20C48.5564384%2C39.9285965%2C48.5564384%2C40.0895767%2C48.4580612%2C40.1879539z%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M48.4580574%2C39.8120422l-14.7478561-14.747858c-0.0983772-0.0983772-0.2593575-0.0983772-0.3577347%2C0%20l-1.8105278%2C1.8105354c-0.0983753%2C0.0983772-0.0983753%2C0.2593594%2C0.0000019%2C0.3577366l14.7478504%2C14.7478523%20c0.0983772%2C0.0983772%2C0.2593575%2C0.0983772%2C0.3577347%2C0l1.8105316-1.8105316%20C48.5564346%2C40.0713997%2C48.5564346%2C39.9104195%2C48.4580574%2C39.8120422z%22%2F%3E%20%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat;
    background-size: contain;
    width: 10.66vw;
    height: 10.66vw;
  }
  .mainContents .mode .block .swiper-button-prev:after {
    transform: scale(-1, 1);
  }
  .mainContents .switching {
    padding: 10.8% 0 12%;
    margin: 0 4.7%;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
  }
  .mainContents .switching .note {
    margin-bottom: 6%;
  }
  .mainContents .switching figure {
    max-width: none;
    margin: 0 8.5%;
  }
  .mainContents .terminal {
    margin: -45px 0 7.2%;
    padding: calc(45px + 9.8%) 4.7% 5.4%;
    border-bottom: 1px solid #000;
  }
  .mainContents .terminal .box {
    margin-bottom: 9%;
    border-radius: 10px;
    padding: 7% 5% 10%;
  }
  .mainContents .terminal .box h4 {
    font-size: 6.4vw;
    margin-bottom: 4.5%;
  }
  .mainContents .terminal .box .days {
    font-size: 3.73vw;
    margin-bottom: 7%;
  }
  /*.mainContents .terminal .box {
    margin: 0 5.5% 12%;
  }
  .mainContents .terminal .box .imgBox {
    max-width: 72%;
  }
  .mainContents .terminal .box .txtBox {
    min-width: 28%;
    padding-top: 9%;
    margin-left: 9%;
  }
  .mainContents .terminal .box .txtBox figure {
    max-width: 100%;
    margin: 0 0 2%;
  }
  .mainContents .terminal .box .txtBox p {
    font-size: 4.5vw;
  }*/
  .mainContents .terminal .btn {
    display: block;
  }
  .mainContents .terminal .btn li {
    max-width: 75%;
    margin: 0 auto 5.5%;
  }
  .mainContents .terminal .btn li:last-child {
    margin-bottom: 0;
  }
  .mainContents .terminal .btn a {
    font-size: 4.8vw;
    border: 1px solid #4c4c4c;
    padding: 4% 0;
  }
  .mainContents .technology {
    padding: 0 0 26%;
    margin: 0 4.7%;
  }
  .mainContents .technology figure {
    margin: 8% 5.5% 13%;
  }
  .mainContents .technology .btn {
    max-width: 94.4%;
  }
  .mainContents .technology .btn a {
    font-size: 5.33vw;
    border: 1px solid #4c4c4c;
    padding: 4% 0;
  }
  .btmBusiness {
    padding: 7.5% 0 6%;
    background: url(../image/business_bg_sp.jpg) no-repeat center 0;
    background-size: cover;
  }
  .btmBusiness p {
    font-size: 6.4vw;
    margin-bottom: 3%;
  }
  .btmBusiness a {
    max-width: 80%;
    font-size: 4.8vw;
    padding: 4% 0;
  }
  .btmContact {
    padding: 2.5% 0;
  }
  .btmContact a {
    max-width: 68%;
    font-size: 5.33vw;
    padding: 4% 0;
  }
  .pageTop .btn {
    width: 10.66vw;
    height: 10.66vw;
  }
  .pageTop .btn::before {
    width: 3.86vw;
    height: 2.26vw;
  }
}
/* ----------- Contact ----------- */
.pageContents {
  padding-top: 80px;
  border-bottom: 40px solid #191919;
}
.pageContents .mainContents {
  padding: 90px 3% 86px;
}
.pageContents .contentW {
  border-bottom: none;
}
.pageContents .note {
  margin-bottom: 62px
}
.pageContents .businessBtn {
  margin-bottom: 92px;
}
.pageContents .businessBtn a {
  font-family: "Noto Sans JP", serif;
  display: block;
  max-width: 400px;
  margin: 0 auto;
  font-size: 2.2rem;
  line-height: 1;
  text-align: center;
  color: #fff;
  background: #361664;
  border: 1px solid #361664;
  padding: 18px 0;
  border-radius: 100px;
}
.pageContents .businessBtn a:hover {
  opacity: 1;
  color: #361664;
  background: #fff;
}
.pageContents form {
  background: #f0f0f0;
  border-radius: 16px;
  font-size: 2.4rem;
  font-family: "Noto Sans JP", serif;
  padding: 68px 4.2% 50px;
  margin-bottom: 124px;
}
.pageContents form .box {
  border-bottom: 2px dashed #000;
  padding: 0 0.9% 32px;
  margin-bottom: 30px;
}
.pageContents form .box .label {
  margin-bottom: 15px;
}
.pageContents form .box .label span {
  display: inline-block;
  font-size: 2rem;
  color: #fff;
  background: #f00;
  margin-left: 16px;
  border-radius: 4px;
  padding: 4px 20px;
}
.pageContents form input,
.pageContents form textarea {
  width: 100%;
  border: 2px solid #dadada;
  background: #fff;
  border-radius: 4px;
  padding: 5px 16px;
}
.pageContents form textarea {
  height: 300px;
}
.pageContents form ::placeholder {
  color: #999;
}
.pageContents form .wpcf7-not-valid-tip {
  color: #f00;
  font-size: 2rem;
  padding-top: 10px;
}
.pageContents form .btnArea {
  display: flex;
  justify-content: center;
  margin-top: 36px;
}
.pageContents form .btnArea li {
  max-width: 320px;
  margin: 0 45px;
  font-size: 2rem;
  width: 100%;
}
.pageContents form .btnArea input {
  color: #fff;
  background: #000;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  padding: 8px 0;
}
.pageContents form .btnArea input:disabled {
  background: #8c8c8c;
}
.pageContents form .btnArea input:disabled:hover {
  opacity: 1;
}
.pageContents form .btnArea .previous input {
  background: #999;
}
.pageContents form .btnArea input:hover {
  opacity: 0.6;
}
.pageContents form .termsTxt {
  font-size: 1.8rem;
}
.pageContents form .terms {
  margin: 20px 0 40px;
  padding: 20px;
  height: 200px;
  overflow-y: scroll;
  border: 1px solid #ccc;
  font-size: 1.8rem;
  background: #fff;
}
.pageContents form .terms dt p {
  font-weight: bold;
  margin-top: 1em;
}
.pageContents form .terms ul {
  list-style: disc;
  padding: 0 0 0 20px;
}
.pageContents form .terms li {
  list-style-type:disc;
}
.pageContents form .terms *+p {
  margin: 1em 0 0;
}
.pageContents .agreeArea li {
  text-align: center;
  font-size: 2rem;
}
.pageContents .agreeArea li input {
  width: 20px;
  vertical-align: middle;
  margin-right: 8px;
  position: relative;
  top: -1px;
}
.businessPage {
  border-bottom: none;
}
.businessPage .mainContents {
  padding: 0;
}
.businessWrap {
  padding: 90px 3% 86px;
}
.businessBlock {
  border-top: 2px solid #000;
  padding: 80px 0 42px;
}
.businessBlock .box {
  display: flex;
  justify-content: space-between;
  position: relative;
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2050%2050%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23229583%3B%20fill-rule%3A%20evenodd%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M48%2C49.5v-24H0v-2h48V.5h2v49.1h-2Z%22%2F%3E%3C%2Fsvg%3E') no-repeat right bottom;
  background-size: 50px;
  padding-bottom: 82px;
  margin-bottom: 32px;
}
.businessBlock .box .imgBox {
  width: 43.8%;
}
.businessBlock .box .txtBox {
  width: 52.2%;
}
.businessBlock .box .txtBox h3 {
  font-size: 3.6rem;
  border-left: 8px solid #229583;
  font-weight: normal;
  color: #000;
  text-align: left;
  padding: 0 0 6px 26px;
  margin-bottom: 24px;
}
.businessBlock .box .txtBox .note {
  font-size: 2rem;
  line-height: 2.4;
  margin-bottom: 0;
}
@media only screen and (max-width:750px) {
  .pageContents {
    padding-top: 51px;
    border-bottom: 30px solid #191919;
  }
  .pageContents .mainContents {
    padding: 9.5% 4.7% 24%;
  }
  .pageContents .mainContents h2 {
    margin-bottom: 8%;
  }
  .pageContents .note {
    margin-bottom: 13%;
  }
  .pageContents .businessBtn {
    margin-bottom: 14%;
  }
  .pageContents .businessBtn a {
    max-width: 88%;
    font-size: 4.8vw;
    padding: 4% 0;
  }
  .pageContents form {
    border-radius: 8px;
    font-size: 4.8vw;
    padding: 9.8% 8% 2%;
    margin-bottom: 0;
  }
  .pageContents form .box {
    border-bottom: 1px dashed #000;
    padding: 0 0.9% 7.5%;
    margin-bottom: 8%;
  }
  .pageContents form .box .label {
    margin-bottom: 2%;
  }
  .pageContents form .box .label span {
    font-size: 3.73vw;
    margin-left: 4vw;
    padding: 0 3vw;
  }
  .pageContents form input,
  .pageContents form textarea {
    width: 100%;
    border: 1px solid #dadada;
    padding: 1% 3vw;
    font-size: 4.26vw;
  }
  .pageContents form textarea {
    height: 27vh;
  }
  .pageContents form .wpcf7-not-valid-tip {
    font-size: 3.73vw;
    padding-top: 1.4%;
  }
  .pageContents form .btnArea {
    display: block;
    margin-top: 13.5%;
  }
  .pageContents form .btnArea li {
    max-width: 86%;
    margin: 0 auto 8.5%;
    font-size: 5.33vw;
  }
  .pageContents form .btnArea input {
    padding: 4.6% 0;
  }
  .pageContents form .termsTxt {
    font-size: 3.73vw;
  }
  .pageContents form .terms {
    margin: 7.5% 0 12.5%;
    padding: 6%;
    font-size: 3.73vw;
  }
  .pageContents form .terms dt p {
    margin-top: 8%;
  }
  .pageContents form .terms ul {
    list-style: disc;
    padding: 0 0 0 8%;
  }
  .pageContents form .terms li {
    list-style-type:disc;
  }
  .pageContents form .terms *+p {
    margin: 8% 0 0;
  }
  .pageContents .agreeArea li {
    font-size: 4.4vw;
  }
  .pageContents .agreeArea li input {
    width: 5vw;
    margin-right: 2vw;
  }
  .businessPage .mainContents {
    padding: 0;
  }
  .businessWrap {
    padding: 9.5% 4.7% 24%;
  }
  .businessBlock {
    border-top: 1px solid #000;
    padding: 19% 0 42px;
  }
  .businessBlock .box {
    display: block;
    background-size: 6.66vw;
    padding-bottom: 14.4%;
    margin-bottom: 8%;
  }
  .businessBlock .box .imgBox {
    width: 85%;
    margin: 0 auto 9%;
  }
  .businessBlock .box .txtBox {
    width: 100%;
  }
  .businessBlock .box .txtBox h3 {
    font-size: 4.8vw;
    border-left: 4px solid #229583;
    padding: 0 0 1% 3vw;
    margin-bottom: 7.5%;
  }
  .businessBlock .box .txtBox .note {
    font-size: 3.46vw;
    line-height: 2.308;
  }
}
/* ----------- Sample ----------- */
.pageContents.samplePage {
  padding-top: 0;
  border-bottom: none;
}
.samplePage ul {
  margin: 0 auto;
  font-size: 2rem;
  font-family: "Noto Sans JP", serif;
  max-width: 500px;
  margin: 0 auto;
}
.samplePage li {
  border-bottom: 2px dashed #ddd;
  display: flex;
  padding-bottom: 26px;
  margin-bottom: 26px;
}
.samplePage .title {
  max-width: 220px;
  width: 100%;
}
.samplePage .audio {
  max-width: 100px;
  width: 100%;
}
.samplePage .audio a {
  color: #5f6da2;
  text-decoration: underline;
}
@media only screen and (max-width:750px) {
  .pageContents.samplePage {
    padding-top: 0;
    border-bottom: none;
  }
  .samplePage ul {
    font-size: 4.8vw;
    max-width: none;
  }
  .samplePage li {
    padding-bottom: 6%;
    margin-bottom: 6%;
  }
  .samplePage .title {
    max-width: none;
    width: 50%;
  }
  .samplePage .audio {
    max-width: 25%;
  }
}
/* =========================================================
Footer
========================================================= */
.footer {
  padding: 30px 5.2% 40px 3.5%;
  display: flex;
  justify-content: space-between;
}
.footer .mainLogo {
  max-width: 300px;
  display: flex;
  align-items: center;
}
.footer .mainLogo a:first-of-type figure {
  max-width: 122px;
}
.footer .mainLogo a:last-of-type figure {
  margin-left: 18px;
}
.footer ul {
  display: flex;
  max-width: 1752px;
  margin: 0 auto 30px;
  justify-content: flex-end;
}
.footer li {
  font-size: 1.4rem;
}
.footer li::before {
  content: "｜";
  display: inline-block;
  margin: 0 14px;
}
.footer li:first-child::before {
  display: none;
}
.footer .metaArea .logoArea {
  max-width: 334px;
  margin-bottom: 56px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.footer .metaArea .logoArea a figure {
  margin-right: 15px;
}
.footer .copyright {
  text-align: right;
  font-size: 1.3rem;
}
@media only screen and (max-width:750px) {
  .footer {
    padding: 6% 0 8.5%;
    display: block;
  }
  .footer .mainLogo {
    max-width: 50%;
    margin: 0 auto 6%;
  }
  .footer .mainLogo a {
    width: 45.4%;
  }
  .footer .mainLogo a:first-of-type figure {
    margin-right: 10%;
    max-width: none;
  }
  .footer .mainLogo a:last-of-type figure {
    margin-left: 10%;
  }
  .footer ul {
    max-width: none;
    margin: 0 auto 5%;
    justify-content: center;
  }
  .footer li {
    font-size: 3.73vw;
  }
  .footer li::before {
    margin: 0 4vw;
  }
  .footer .metaArea .logoArea {
    max-width: 86%;
    margin: 0 auto 10%;
  }
  .footer .metaArea .logoArea figure {
    margin-right: 11%;
  }
  .footer .metaArea .logoArea a figure {
    margin: 0 0 0 1%;
  }
  .footer .copyright {
    text-align: center;
    font-size: 2.66vw;
  }
}