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

.firstview {
  position:relative;
}
.swiper-topics {
  display:flex;
  height:calc(100vh - 100px);
  height:calc(100lvh - 100px);
  min-height:700px;
}
.swiper-topics .swiper-slide {
  display:flex;
}
.swiper-topics .views {
  width:calc(100% - 375px);
  height:100%;
  padding:var(--space);
  position:relative;
}
.swiper-topics picture {
  height:100%;
}
.swiper-topics .text {
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:375px;
  height:100%;
  padding:0 0 175px;
  position:relative;
}
.swiper-topics h2 {
  margin:0 0 45px 0;
  font-size:22px;
  line-height:2.2;
  letter-spacing:-.02rem;
}
.swiper-topics h2 i {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:55px;
  aspect-ratio:1;
  border:2px solid;
  font-size:92%;
}
.swiper-topics h2 b {
  display:block;
  padding:45px 0 0 0;
}
.swiper-topics h3 {
  position:absolute;
  top:50px;
  right:var(--space);
}
.swiper-topics a {
  display:flex;
  align-items:center;
  font-size:95%;
}
.firstview .switch {
  width:200px;
  position:absolute;
  bottom:var(--space);
  right:calc(375px - 200px);
}
.firstview .switch button {
  width:calc(100% / 2);
}
.firstview .switch .swiper-button-prev {
  left:0;
}
.firstview .switch .swiper-button-next {
  right:0;
}
.firstview .swiper-button-next.swiper-button-disabled,
.firstview .swiper-button-prev.swiper-button-disabled {
  opacity:1;
}

.concept {
  padding:150px var(--space) 0;
}
.concept h2 {
  font-size:45px;
  text-align:right;
}
.concept .block {
  width:900px;
  margin:125px auto 0;
}
.concept ul {
  display:flex;
  justify-content:center;
  position:relative;
  margin:0 0 60px 0;
}
.concept ul li {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:calc(100% / 3);
  aspect-ratio:1;
  position:relative;
}
.concept ul > li + li {
  border-left:1px solid var(--gray);
}
.concept ul li i {
  width:100px;
  margin:10px 0 30px 0;
}
.concept ul li b {
  font-size:16px;
  line-height:1.8;
  text-align:center;
}
.concept ul li u {
  font-size:18px;
  position:absolute;
  top:0;
  left:35px;
}
.concept h3 {
  margin:0 0 60px 0;  
  font-size:18px;
  letter-spacing:.06rem;
}
.concept p {
  margin:0 0 60px 0;
}
.concept h4 {
  font-size:145px;
  color:var(--gray-pale);
  position:absolute;
  top:15px;
  left:var(--space);
  z-index:-1;
}

.plan {
  padding:175px var(--space) 0;
}
.plan .user {
  position:relative;
}

.ticket {
  display:flex;
  align-items:flex-start;
  margin:125px 0 0 0;
  position:relative;
}
.ticket + .ticket {
  margin:150px 0 0 0;
  padding:150px 0 0 0;
  border-top:2px solid;
}
.ticket .head {
  display:flex;
  flex-direction:column;
  width:425px;
  padding:15px 90px 0 0;
  position:sticky;
  top:25px;
}
.ticket .head h2 {
  display:flex;
  align-items:center;
  margin:0 0 60px 0;
  font-size:27px;
  font-weight:700;
  position:relative;
}
.ticket .head h2 i {
  width:45px;
  aspect-ratio:1;
}
.ticket .head h2 b {
  margin:3px 0 0 18px;
}
.ticket .head h3 {
  display:flex;
  justify-content:center;
  align-items:center;
  margin:35px 0;
  padding:12px 0;
  border-top:2px solid;
  border-bottom:2px solid;
}
.ticket .head h3 em {
  margin:0 0 0 9px;
  font-size:22px;
}
.ticket .head .viewmore {
  width:100%;
  min-width:initial;
  margin:60px 0 0 0;
}
.ticket .detail {}
.ticket .detail ul {
  margin:30px 0 0 0;
  line-height:2;
}
.ticket .detail li {
  padding:0 0 0 15px;
  position:relative;
}
.ticket .detail li + li {
  margin:3px 0 0 0;
}
.ticket .detail li:before {
  content:'：';
  position:absolute;
  top:-1px;
  left:0;
}
.ticket .text {
  width:calc(100% - 425px);
}
.ticket .set {
  display:flex;
  flex-wrap:wrap;
  border-top:2px solid;
  border-left:2px solid;
}
.set div {
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
  height:85px;
  padding:0 25px;
  line-height:1.4;
  border-bottom:2px solid;
  border-right:2px solid;
  position:relative;
}
.set div > * {
  display:flex;
  align-items:center;
  width:calc(100% / 3);
  position:relative;
  z-index:1;
  white-space:nowrap;
}
.set i {
  justify-content:flex-start;
}
.set b {
  justify-content:center;
}
.set u {
  justify-content:flex-end;
}
.set b em {
  padding:0 12px;
}
.set em {
  padding:0 6px;
  font-size:24px;
  letter-spacing:-.02rem;
}
.set small {
  font-size:90%;
  position:relative;
  top:1px;
}
.set div:before,
.set div:after {
  content:'';
  position:absolute;
  top:0;
}
.set div:before {
  height:100%;
  background-color:var(--red-pale);
  right:0;
}
.set div.bar0:before {
  width:0%;
}
.set div.bar12:before {
  width:12%;
}
.set div.bar25:before {
  width:25%;
}
.set div.bar37:before {
  width:37%;
}
.set div.bar50:before {
  width:50%;
}
.set div:after {
  height:100%;
  background-color:var(--white);
  left:0;
  animation:horizontalbar 6s ease-in infinite alternate;
}
@keyframes horizontalbar {
  0% {
      width:0%;
  }
  80% {
      width:100%;
  }
  100% {
      width:100%;
  }
}
.discount {
  margin:100px 0 45px 0;
}
.discount .head {
  width:100%;
  padding:0 0 75px 0;
  position:initial;
}
.discount .head h2 i {
  width:55px;
}
.discount .head h2 b {
  margin:3px 0 0 10px;
}
.discount .text {
  width:100%;
}
.graf {
  height:425px;
}
.graf ul {
  display:flex;
  height:100%;
  border-left:2px solid;
  border-bottom:2px solid;
}
.graf li {
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:calc(100% / 5);
  border-right:1px solid var(--gray);
  background-color:var(--white);
  line-height:1.6;
  position:relative;
}
.graf li:last-child {
  border-right:none;
}
.graf li:before,
.graf li:after {
  content:'';
  width:100%;
  position:absolute;
  left:0;
}
.graf li:before {
  background-color:var(--red-pale);
  bottom:0;
  animation:verticalbar 6s ease-in infinite alternate;
}
@keyframes verticalbar {
  0% {
      height:0%;
  }
  45% {
      height:100%;
  }
  100% {
      height:100%;
  }
}
.graf li:after {
  background-color:var(--white);
  top:0;
}
.graf li.bar100:after {
  height:0%;
}
.graf li.bar90:after {
  height:10%;
}
.graf li.bar80:after {
  height:20%;
}
.graf li.bar70:after {
  height:30%;
}
.graf li.bar60:after {
  height:40%;
}
.graf li.bar50:after {
  height:50%;
}
.graf li > * {
  z-index:1;
}
.graf li i {
  position:absolute;
  bottom:-35px;
  left:-20px;
}
.graf li b {
  text-align:center;
}
.graf li b em {
  font-size:32px;
  letter-spacing:-.1rem;
  line-height:1.2;
}
.graf li:last-child b {
  color:var(--red);
}
.graf li u {
  padding:15px;
  font-size:80%;
  position:absolute;
  top:0;
  left:0;
}
.group .head {
  padding:60px 90px 0 0;
}
.charge {
  border-top:2px solid;
  border-left:2px solid;
}
.charge dl {
  display:flex;
  border-bottom:2px solid;
  border-right:2px solid;
}
.charge dt {
  padding:20px 40px;
  border-right:2px solid;
  background-color:var(--red-pale);
}
.charge dd {
  padding:20px 40px;
}
.charge dd b:before {
  content:'・・・';
  margin:0 12px 0 0;
  letter-spacing:-.6rem;
}
.charge dd b em {
  margin:0 -3px 0 6px;
}
.business {
  align-items:center;
}
.business .head {
  padding:0 90px 0 0;
  position:initial;
}
.business .charge dl {
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:40px;
  position:relative;
}
.business .charge dl:before,
.business .charge dl:after {
  content:'';
  width:25vw;
  height:110px;
  background-color:var(--red-pale);
  position:absolute;
  z-index:-1;
}
.business .charge dl:before {
  clip-path: polygon(0 0, 0 100%, 100% 0);
  top:0;
  left:0;
}
.business .charge dl:after {
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
  bottom:0;
  right:0;
}
.business .charge dl > * {
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  padding:0;
}
.business .charge dt {
  border-right:none;
  background-color:initial;
}
.business .charge dl em {
  font-size:27px;
}
.business .charge dl small {
  position:relative;
  top:1px;
}
.business .charge dt em {
  margin:0 -3px 0 9px;
}
.business .charge dd em {
  margin:0 5px;
}

.training {
  padding:175px var(--space) 0;
}
.training .step {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  margin:100px 0 60px;
}
.training .step .block {
  display:flex;
  flex-direction:column;
  width:calc(100% / 2 - 25px);
  padding:25px 0 60px 0;
  position:relative;
}
.training .step .block:nth-child(odd) {
  margin:-180px 0 0 0;
}
.training .block h2 {
  display:flex;
  flex-direction:column;
  padding:30px 0;
  position:relative;
  white-space:nowrap;
}
.training .block h2 i {
  margin:0 0 40px 0;
  letter-spacing:.02rem;
}
.training .block h2 b {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:200px;
  margin:auto;
  position:relative;
}
.training .block h2 b.large {
  width:230px;
}
.training .block h2 b img {
  width:100%;
}
.training .block h2 u {
  margin:30px auto 0;
  font-size:18px;
}
.training .block p {
  background-color:var(--white);
}
.training .case {
  display:flex;
  flex-wrap:wrap;
  margin:80px -25px 40px;
}
.training .case .block {
  width:calc(100% / 3);
  padding:20px 25px 60px 25px;
  cursor:pointer;
  position:relative;
}
.training .case .block h2 b {
  width:190px;
}
.training .case .block .plus {
  width:32px;
  aspect-ratio:1;
  position:absolute;
  top:52px;
  right:30px;
}
.training .case .block .plus:before {
  content:'';
  width:100%;
  height:100%;
  background-color:var(--red);
  border-radius:50%;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-49%);
  z-index:-1;
  animation:circlepoint 3s ease-out infinite;
}
@keyframes circlepoint {
  0% {
    transform:translate(-50%,-49%) scale(1);
    opacity:.3;
  }
  100% {
    transform:translate(-50%,-49%) scale(2);
    opacity:0;
  }
}
.training .invite {
  padding:100px 0 0 0;
  border-top:1px solid var(--gray);
}
.training .invite h3 {
  margin:0 0 50px 0;
  font-size:18px;
  letter-spacing:.1rem;
}
.training .invite .viewmore {
  margin:60px 0 0 0;
}

.store {
  padding:175px 0 0;
}
.store h2 {
  padding:0;
  position:relative;
  z-index:2;
}
.store h2 > * {
  padding-left:var(--space);
  padding-right:var(--space);
  background-color:var(--white);
}
.store h2 i {
  padding-bottom:15px;
}
.store h2 b {
  padding-top:10px;
  padding-bottom:35px;
}
.store .cards {
  display:flex;
  justify-content:space-between;
  margin:-125px 0 0 0;
}
.store .block {
  width:calc(100% / 2 - 1px);
}
.store .block picture {
  height:650px;
}
.store .block .text {
  padding:50px var(--space) 0;
}
.store .block .viewmore {
  width:100%;
  margin:50px 0 0 0;
}
.storeinfo {
  padding:60px var(--space) 0;
}
.storeinfo dl {
  line-height:2.1;
}
.storeinfo dt {
  display:flex;
  flex-direction:column;
}
.storeinfo dt i {
  font-size:45px;
  line-height:1.2;
  letter-spacing:-.04rem;
}
.storeinfo dt b {
  margin:35px 0 0 0;
  font-size:18px;
}
.storeinfo dd {
  display:flex;
  flex-direction:column;
  margin:var(--space) 0 25px;
}
.storeinfo dd p {
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
}
.storeinfo dd > p + p {
  margin:6px 0 0 0;
}
.storeinfo dd p i {
  display:inline-flex;
  align-items:center;
}
.storeinfo dd p b {
  padding:0 0 0 25px;
  position:relative;
}
.storeinfo dd p b:before {
  content:'';
  display:block;
  width:15px;
  height:1px;
  background-color:var(--black);
  position:absolute;
  top:15px;
  left:2px;
}
.storeinfo dd p a em {
  display:inline-flex;
  margin:0 0 0 18px;
  padding:0 15px;
  color:var(--white);
  background-color:var(--black);
  font-size:85%;
  line-height:1.8;
}
.storeinfo ul {
  display:flex;
  flex-wrap:wrap;
}
.storeinfo ul li {
  width:50px;
}
.storeinfo ul > li + li {
  margin:0 0 0 10px;
}

.introduction {
  padding:175px var(--space) 60px;
}
.introduction picture {
  width:100%;
  height:calc(100vh - 250px);
  position:absolute;
  top:0;
  left:0;
  z-index:-1;
}
.introduction .title-liner {
  margin:0 0 125px 0;
}
.introduction + .screen {
  padding:115px var(--space) 0;
}

.topic dl {
  display:flex;
  justify-content:space-between;
  height:275px;
}
.topic > dl + dl {
  margin:150px 0 0 0;
}
.topic dl:nth-child(odd) {
  flex-direction:row-reverse;
}
.topic dl > * {
  width:calc(50% - 40px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.topic dl dt {
  align-items:center;
  padding:50px 0 60px;
  line-height:1.8;
  position:relative;
}
.topic dl dt:before,
.topic dl dt:after {
  content:'';
  width:45px;
  height:100%;
  background-image:url(/images/icon/bracket.svg);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  position:absolute;
  top:0;
}
.topic dl dt:before {
  left:0;
  transform:scaleX(1);
}
.topic dl dt:after {
  right:0;
  transform:scaleX(-1);
}
.topic dl dt i {
  font-size:75px;
  letter-spacing:-.08rem;
}
.topic dl dt b {
  font-size:18px;
}
.topic dl dd i {
  margin:0 0 40px 0;
  font-size:20px;
  letter-spacing:.02rem;
}

.text-plan {
  margin:150px auto 0;
  padding:150px 0 0;
  border-top:2px solid;
}

.feature {
  padding:175px var(--space) 60px;
}
.feature .title-liner {
  padding:0 0 115px 0;
}
.feature .inner {
  display:flex;
  justify-content:space-between;
}
.feature .inner > * {
  width:calc(50% - 35px);
  padding:var(--space) 0;
}
.feature .block > div + div {
  margin:100px 0 0 0;
}
.feature .block h2 i {
  top:-15px;
  left:0;
}
.feature .block h2 hr {
  top:45px;
  left:45px;
}
.feature .views {
  height:100vh;
  position:sticky;
  top:0;
}
.feature .views picture {
  height:100%;
}

.facility {
  padding:175px var(--space) 0;
}
.facility .block {
  display:flex;
  flex-wrap:wrap;
  margin:75px -30px 0;
}
.facility .block div {
  width:calc(100% / 3);
  padding:90px 30px 0;
}
.facility .block h2 {
  padding:75px 0 0 0;
}
.facility .block h2 i {
  top:0;
  left:0;
}

.start {
  padding:175px var(--space) 0;
}
.start .block {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  margin:75px -30px 90px;
}
.start .block div {
  width:calc(100% / 3);
  padding:30px 30px 0;
}
.start .block div h2 {
  aspect-ratio:1;
}
.start .block div h2:before,
.start .block div h2:after {
  content:'';
  position:absolute;
  top:50%;
}
.start .block div h2:before {
  width:22px;
  aspect-ratio:1 / 1.1;
  clip-path:polygon(0% 0%, 0% 100%, 100% 50%);
  background-color:var(--black);
  left:-22px;
  transform:translate(-50%,-50%);
  z-index:-2;
  animation:arrowview .6s infinite alternate;
}
@keyframes arrowview {
  0% { transform:translate(-75%,-50%); }
  100% { transform:translate(-25%,-50%); }
}
.start .block div:first-child h2:before {
  opacity:0;
}
.start .block div h2:after {
  width:80%;
  aspect-ratio:1;
  border:2px solid;
  border-radius:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:-1;
}

.start .block div h2 {
  padding:0;
}
.start .block div h2 hr {
  top:55px;
  left:80px;
}
.start .block div h2 i {
  top:0;
  left:35px;
}
.start .block div h2 u {
  margin:0 0 12px 0;
}
.start .block div p {
  margin:-60px 0 0 0;
  padding:5px 10px 0;
  background-color:var(--white);
  font-size:85%;
  text-align:center;
  line-height:1.8;
}
.start h3 {
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 0 125px 0;
  font-size:20px;
}

.basic {
  padding:175px var(--space) 0;
}
.method {
  display:flex;
  flex-direction:column;
  position:relative;
}
.method .block {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  width:100%;
  position:relative;
}
.method > .block + .block {
  padding:160px 0 0 0;
}
.method h2 {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:325px;
  padding:40px 0;
  background-color:var(--white);
  position:sticky;
  top:75px;
  white-space:nowrap;
}
.method h2 i .tips {
  padding:6px 30px;
}
.method h2 b {
  width:190px;
  aspect-ratio:1;
  margin:50px 0 25px;
  position:relative;
}
.method h2 b.large {
  width:215px;
}
.method h2 u {
  display:flex;
  flex-direction:column;
  align-items:center;
  font-size:20px;
}
.method h2 u small {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  font-size:13px;
  letter-spacing:-.02rem;
}
.method h2 u small:before {
  content:'（';
  margin:0 3px 0 0;
}
.method h2 u small:after {
  content:'）';
  margin:1px 0 0 3px;
}
.method .text {
  display:flex;
  flex-direction:column;
  width:calc(100% - 325px);
  padding:40px 0 40px 75px;
}
.method ul {
  display:flex;
  margin:50px 0 0 0;
}
.method ul li {
  display:inline-flex;
  flex-direction:column;
  width:60px;
}
.method ul > li + li {
  margin:0 0 0 15px;
}
.method .views {
  display:flex;
  margin:60px 0 0 0;
}

.examples {
  padding:175px var(--space) 0;
}
.type-step {
  margin:150px 0 100px 0;
}
.type-step:before,
.type-step:after {
  content:'';
  background-color:var(--gray-pale);
  position:absolute;
  top:-160px;
  left:160px;
}
.type-step:before {
  width:3px;
  height:calc(100% + 120px);
}
.type-step:after {
  width:15px;
  aspect-ratio:1;
  border-radius:50%;
  transform:translate(-6px,-50%);
}
.type-step > .block + .block:before {
  content:'';
  width:35px;
  aspect-ratio:1 / .95;
  clip-path:polygon(0% 0%, 100% 0%, 50% 100%);
  background-color:var(--gray-pale);
  position:absolute;
  top:60px;
  left:145px;
}
.type-step h3 {
  margin:3px 0 50px 0;
  font-size:20px;
  line-height:2;
  letter-spacing:.02rem;
}

.type-case {
  margin:50px 0 100px 0;
}
.type-case .block {
  flex-direction:row-reverse;
  padding:100px 0 0 0;
}
.type-case h2 {
  padding:0;
}
.type-case .text {
  padding:0 60px 0 0;
}
.type-case h3 {
  display:flex;
  justify-content:flex-end;
  border:2px solid;
  background-color:var(--gray-pale);
}
.type-case h3:first-child {
  border-bottom:none;
}
.type-case h3:last-child {
  border-top:none;
}
.type-case h3 i {
  padding:35px;
  background-color:var(--white);
  border-left:2px solid;
  position:relative;
}
.type-case h3 small {
  font-size:75%;
  letter-spacing:.04rem;
  position:absolute;
  top:3px;
  left:9px;
}
.type-case .text dl {
  display:flex;
  font-size:95%;
  border:2px solid;
}
.type-case .text > dl + dl {
  border-top:none;
}
.type-case dl em {
  font-family:"ta-kobe", sans-serif;
  font-size:16px;
  line-height:1.9;
  letter-spacing:-.06rem;
}
.type-case dt {
  display:flex;
  justify-content:center;
  align-items:center;
  width:85px;
  padding:35px 0;
  letter-spacing:.04rem;
  border-right:2px solid;
  position:relative;
  text-orientation:upright;
  -ms-writing-mode:tb-rl;
  writing-mode:vertical-rl;
}
.type-case dd {
  display:flex;
  flex-wrap:wrap;
  width:calc(100% - 85px);
}
.type-case dd > * + * {
  border-top:1px solid;
}
.type-case dd div {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  width:100%;
}
.type-case dd p {
  width:100%;
  padding:50px 35px;
}
.type-case dd i {
  display:flex;
  align-items:center;
  width:100%;
  padding:40px 35px 15px;
}
.type-case dd b {
  display:flex;
  justify-content:center;
  align-items:center;
  padding:0 35px 50px;
  line-height:1.9;
}
.type-case dd u {
  display:flex;
  flex-wrap:wrap;
  width:100%;
  padding:35px 35px 50px;
}
.type-case dd i + u {
  padding:0 35px 50px;
}
.type-case dd span {
  display:flex;
  flex-direction:column;
  width:50%;
}
.type-case dd span + span {
  border-left:1px solid;
}
.type-case dd picture {
  width:calc(100% / 2 - 75px);
  min-width:250px;
  padding:35px;
}
.type-case dd mark {
  display:inline-flex;
  align-items:center;
  max-width:calc(100% / 2);
  margin:0 20px 0 0;
}
.type-case dd mark hr {
  width:20px;
  height:20px;
  margin:0 9px 0 0;
  background-image:url(/images/icon/check.svg);
  background-size:cover;
  background-position:center -2px;
  background-repeat:no-repeat;
}
.type-case dd small {
  font-size:90%;
}

.stores {
  display:flex;
  flex-direction:row-reverse;
  justify-content:space-between;
  align-items:flex-start;
  padding:125px var(--space) 0;
}
.anchor {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:200px;
  margin:0 -60px 0 0;
  position:sticky;
  top:var(--space);
}
.anchor li {
  width:100%;
  padding:9px 0 9px 42px;
  border-bottom:1px solid var(--gray);
  background-color:var(--white-filter);
  font-size:95%;
}
.anchor hr.arrow.bottom {
  width:6px;
  height:6px;
  top:-2px;
  transform:rotate(225deg);
}

.information {
  display:flex;
  flex-direction:column;
  width:calc(100% - 200px);
}
.stores .block {
  display:flex;
  flex-direction:column;
}
.information > .block + .block {
  margin:150px 0 0 0;
}
.information .storeinfo {
  padding:0;
}
.information .storeinfo dt {
  display:inline-flex;
  position:relative;
  z-index:2;
}
.information .storeinfo dt > * {
  width:fit-content;
  background-color:var(--white);
  white-space:nowrap;
}
.information .storeinfo dt i {
  font-size:100px;
  padding:0 var(--space) 30px 0;
}
.information .storeinfo dt b {
  margin:0;
  padding:0 var(--space) 40px 0;
}
.information .storeinfo dd {
  margin-top:-170px;
}
.information .storeinfo dd picture {
  display:flex;
  flex-direction:column;
  margin:0 0 60px 0;
  position:relative;
}
.information .storeinfo dd picture img {
  height:675px;
}
.information .storeinfo dd picture small {
  padding:12px 20px 9px 25px;
  background-color:var(--white);
  position:absolute;
  bottom:0;
  right:0;
}
.information .storeinfo dd span {
  margin:0 0 60px 0;
}

.staffs {
  padding:175px var(--space) 0;
}
.staffs .block {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  margin:75px 0 0 0;
}
.staffs .block .prof {
  display:flex;
  align-items:flex-start;
}
.staffs .block > .prof + .prof {
  margin:25px 0 0 0;
}
.staffs .prof > * {
  width:calc(100% / 2);
}
.staffs .prof picture {
  height:100vh;
  height:100lvh;
  min-height:700px;
  padding:var(--space) 0;
  position:sticky;
  top:0;
}
.staffs .prof div {
  padding:var(--space) 0 60px var(--space);
}
.staffs .prof h2 {
  display:flex;
  flex-direction:column;
}
.staffs .prof h2 > * {
  display:inline-flex;
  width:fit-content;
  background-color:var(--white);
  line-height:1.2;
}
.staffs .prof h2 i {
  font-size:62px;
  letter-spacing:-.04rem;
  white-space:nowrap;
}
.staffs .prof h2 b {
  margin:30px 0 0 0;
  font-size:16px;
  letter-spacing:.1rem;
}
.staffs .prof p {
  padding:var(--space) 0 0 0;
}
.staffs .prof ul {
  padding:var(--space) 0 0 0;
  line-height:2.2;
}
.staffs .prof ul li {
  display:flex;
  flex-direction:column;
  border:1px solid;
}
.staffs .prof ul > li + li {
  border-top:none;
}
.staffs .prof ul li i {
  padding:18px 25px;
  background-color:var(--gray-pale);
}
.staffs .prof ul li b {
  padding:35px 25px;
}

.staffs .block .prof:nth-child(even) {
  flex-direction:row-reverse;
}
.staffs .prof:nth-child(even) div {
  padding:60px var(--space) 60px 0;
}

.qr {
  padding:125px var(--space) 0;
}
.qr .list-qr {
  margin:125px 0 0 0;
}
.qr .list-qr dl {
  padding:100px 0 0 0;
  border-top:1px solid var(--gray);
}
.qr .list-qr > dl + dl {
  margin:100px 0 0 0;
}
.qr .list-qr em {
  display:inline-flex;
  justify-content:center;
  width:80px;
  font-size:70px;
  line-height:1.2;
}
.qr .list-qr i {
  width:calc(100% - 80px);
  padding:30px 0 0 15px;
  line-height:2.1;
}
.qr .list-qr dl > * {
  display:flex;
  align-items:flex-start;
  position:relative;
}
.qr .list-qr dd {
  margin:40px 0 0 0;
}
.qr .list-qr dd hr {
  top:-30px;
  left:75px;
}
.qr .list-qr dd em {
  margin:0 0 0 75px;
}

.guide {
  display:flex;
  flex-direction:row-reverse;
  justify-content:space-between;
  align-items:flex-start;
  padding:0 var(--space);
}
.guide .anchor {
  width:220px;
  margin:150px -60px 0 0;
}
.guide .anchor li {
  padding:9px 0 9px 12px;
  cursor:pointer;
}
.list-guide {
  width:calc(100% - 220px);
}
.list-guide .block {
  margin:125px 0 75px 0;
}
.list-guide .block h2 {
  margin:0 0 90px 0;
  font-size:35px;
}
.list-guide .block dl {
  display:flex;
  align-items:flex-start;
  line-height:2;
  position:relative;
}
.list-guide .block dl:before {
  content:'';
  width:200px;
  height:100%;
  background-color:var(--gray-pale);
  position:absolute;
  top:0;
  left:0;
  z-index:-1;
}
.list-guide .block dt {
  width:200px;
  height:100%;
  padding:30px;
}
.list-guide .block dd {
  width:calc(100% - 200px);
  height:100%;
  padding:30px;
  border-top:2px solid var(--gray-pale);
  border-right:2px solid var(--gray-pale);
}
.list-guide .block * + dl dt {
  border-top:2px solid var(--gray-pale);
}
.list-guide .block dl + dl dt {
  border-top:2px solid var(--white);
}
.list-guide .block dl:last-child dd {
  border-bottom:2px solid var(--gray-pale);
}
.list-guide .block > div {
  padding:30px;
  border:2px solid var(--gray-pale);
  line-height:2;
}
.list-guide .block > div + div {
  border-top:none;
}
.list-guide .block > div ul {
  margin:15px 0 0 0;
}
.list-guide .block > div li {
  display:flex;
  align-items:flex-start;
  line-height:1.8;
}
.list-guide .block > div li + li {
  margin:5px 0 0 0;
}
.list-guide .block > div li hr {
  width:9px;
  height:9px;
  margin:9px 9px 0 2px;
  border:1.5px solid;
}
.list-guide .block > div li i {
  width:calc(100% - 20px);
}

.contact {
  padding:125px var(--space) 0;
}
.contact .title i {
  font-size:145px;
  white-space:nowrap;
}
.contact .qrcode {
  width:475px;
  aspect-ratio:1;
  padding:40px;
  margin:-65px auto 0;
  background-color:var(--white);
  border:5px solid;
  position:relative;
}
.contact .block {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.contact .ways {
  justify-content:center;
  padding:var(--space) 0 0 0;
}
.contact .text {
  display:flex;
  flex-direction:column;
  align-items:center;
  width:900px;
  margin:auto;
}
.contact .block > .text + .text {
  padding:50px 0 0 0;
  margin:125px 0 0 0;
  border-top:1px solid var(--gray);
}
.contact .text .box {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.contact .text dl {
  display:flex;
  justify-content:center;
  align-items:center;
}
.contact .text dt {
  display:inline-flex;
  align-items:center;
  margin:0 15px 0 0;
  font-size:16px;
}
.contact .text ul {
  margin:0 0 50px 0;
  padding:30px 200px;
  background-color:var(--gray-pale);
}
.contact .text ul li {
  font-size:16px;
  line-height:2.1;
}
.contact .text p {
  text-align:center;
}

@media screen and (min-width:1320px) {

  .store {
    padding:175px 35px 0;
  }
  .anchor {}
  .anchor li {
    border-right:1px solid var(--gray);
  }

}


@media screen and (max-width:1240px) {

  .concept .block {
    width:100%;
  }

  .swiper-topics .views {
    width:calc(100% - 300px);
  }
  .swiper-topics .text {
    width:300px;
    padding:0 0 75px 0;
  }
  .swiper-topics h3 {
    left:0;
    right:initial;
  }
  .firstview .switch {
    right:calc(300px - 200px);
  }

  .store .cards {
    flex-direction:column;
    justify-content:flex-start;
    padding:0 var(--space);
  }
  .store .block {
    width:100%;
  }
  .storeinfo {
    padding:60px 0 90px;
  }
  .storeinfo dt i {
    font-size:85px;
  }
  .information .storeinfo dt i {
    font-size:80px;
  }
  .store .block .viewmore {
    width:375px;
  }

  .method h2 {
    width:250px;
  }
  .method .text {
    width:calc(100% - 250px);
  }
  .type-step:before,
  .type-step:after {
    left:125px;
  }
  .type-step > .block + .block:before {
    left:110px;
  }

  .anchor {
    width:175px;
  }
  .anchor li {
    padding:9px 0;
  }
  .information {
    width:calc(100% - 175px);
  }

  .start .block div h2:after {
    width:90%;
  }
  .start .block div h2 i {
    top:-25px;
    left:-5px;
  }
  .start .block div h2 hr {
    top:25px;
    left:45px;
  }
  .start .block div p {
    margin:-40px 0 0 0;
  }

  .staffs .prof h2 i {
    font-size:52px;
    letter-spacing:-.08rem;
  }

  .guide .anchor {
    width:200px;
  }
  .list-guide {
    width:calc(100% - 200px);
  }

  .contact .text {
    width:100%;
  }

}


@media screen and (max-width:1080px) {

  .firstview .switch {
    width:250px;
  }
  .swiper-topics {
    height:auto;
  }
  .swiper-topics .swiper-slide {
    flex-direction:column;
  }
  .swiper-topics h2 {
    color:var(--white);
    font-size:24px;
    font-weight:600;
  }
  .swiper-topics h2 i {
    width:65px;
    font-size:110%;
  }
  .swiper-topics h3 {
    top:75px;
    left:initial;
    right:75px;
  }
  .swiper-topics .views,
  .swiper-topics .text {
    width:100%;
  }
  .swiper-topics .views {
    height:100vh;
    height:100svh;
  }
  .swiper-topics .text {
    justify-content:flex-end;
    padding:100px;
    position:absolute;
    bottom:0;
    left:0;
  }
  .swiper-topics a {
    color:var(--white);
  }
  .firstview .switch {
    bottom:75px;
    right:75px;
  }
  .swiper-topics h2 b {
    padding:40px 0 0 0;
  }

  .concept {
    border-top:1px solid var(--gray);
  }
  .concept ul li b {}
  .concept h2 {
    font-size:20px;
    text-align:left;
  }
  .concept h3 {
    font-size:20px;
  }
  .concept h4 {
    font-size:100px;
    color:var(--black);
    position:initial;
    top:initial;
    left:initial;
    opacity:1;
    z-index:initial;
  }

  .ticket {
    flex-direction:column;
  }
  .ticket .head {
    width:100%;
    padding:0 0 75px 0;
    position:initial;
    top:initial;
  }
  .ticket .head h2 {
    margin:0 auto 60px;
  }
  .ticket .head .viewmore {
    max-width:375px;
    margin:60px auto 0;
  }
  .ticket .text {
    width:100%;
  }

  .training .step {
    margin:100px 0;
  }
  .training .step .block:nth-child(odd) {
    margin:0;
  }
  .training .block h2 u {
    font-size:18px;
  }
  .training .case .block {
    width:calc(100% / 2);
  }
  .training .invite h3 {
    letter-spacing:0;
  }

  .storeinfo dt b {
    font-size:18px;
  }

  .start .block {
    max-width:750px;
    margin:75px auto 90px;
  }
  .start .block div {
    width:calc(100% / 2);
    padding:30px 15px 0;
  }
  .start .block div h2:before {
    left:-15px;
  }
  .start h3 {
    font-size:20px;
    font-weight:600;
  }
  .start .block div p {
    margin:-50px 0 0 0;
    font-size:100%;
  }

  .method .block {
    flex-direction:column;
  }
  .method h2 {
    padding:0 0 40px;
    margin:auto;
    position:initial;
    top:initial;
  }
  .method h2 b {
    margin:40px 0 35px;
  }
  .method h2 u {
    font-size:20px;
    font-weight:600;
  }
  .method .text {
    width:100%;
    padding:40px 0;
  }
  .method ul {
    justify-content:center;
  }
  .method ul li {
    width:65px;
  }
  .type-step:before,
  .type-step:after {
    left:2.5em;
  }
  .type-step > .block + .block:before {
    left:1.5em;
  }
  .type-step h3 {
    font-size:18px;
    text-align:center;
  }
  .type-step p {
    background-color:var(--white);
  }

  .introduction .title-liner {
    margin:0 0 175px 0;
  }

  .stores {
    flex-direction:column;
    padding:110px var(--space) 0;
  }
  .anchor {
    flex-direction:row;
    justify-content:flex-start;
    width:auto;
    margin:0 0 90px 0;
    border-left:2px solid;
    border-top:2px solid;
    position:initial;
    top:initial;
  }
  .anchor li {
    display:inline-flex;
    align-items:center;
    height:50px;
    border-right:2px solid;
    border-bottom:2px solid;
    padding:0 30px;
    font-weight:600;
    white-space:nowrap;
  }
  .anchor li + li {
    border-left:none;
  }
  .anchor hr.arrow.bottom {
    top:-3px;
    transform:rotate(135deg);
  }
  .information {
    width:100%;
  }
  .information .storeinfo dt i {
    font-size:85px;
  }
  .storeinfo dt i {
    font-size:62px;
  }
  .staffs .block .prof,
  .staffs .block .prof:nth-child(even) {
    flex-direction:column;
    width:100%;
  }
  .staffs .prof picture {
    width:100%;
    height:auto;
    position:initial;
    top:initial;
  }
  .staffs .prof div,
  .staffs .prof:nth-child(even) div {
    width:100%;
    padding:30px 0 60px 0;
  }
  .staffs .prof h2 i {
    font-size:62px;
  }
  .staffs .prof h2 b {
    font-size:18px;
    font-weight:600;
  }
  .topic dl {
    height:initial;
  }
  .topic dl,
  .topic dl:nth-child(odd) {
    flex-direction:column;
  }
  .topic dl > * {
    width:100%;
  }
  .topic dl dt i {
    font-size:85px;
  }
  .topic dl dt b {
    font-weight:600;
  }
  .topic dl dd i {
    margin:40px 0;
    text-align:center;
    font-size:20px;
    font-weight:600;
  }

  .feature .inner {
    flex-direction:column;
  }
  .feature .inner > * {
    width:100%;
  }
  .feature .views {
    height:auto;
    position:initial;
    top:initial;
  }

  .facility .block div {
    width:calc(100% / 2);
  }

  .guide {
    flex-direction:column;
    padding:110px var(--space) 0;
  }
  .guide .anchor {
    width:auto;
    margin:0;
  }
  .guide .anchor li {
    justify-content:center;
    padding:0 30px;
  }
  .list-guide {
    width:100%;
  }
  .list-guide .block {
    margin:100px 0;
  }

}


@media screen and (max-width:840px) {

  .swiper-topics .text {
    padding:75px;
  }

  .concept ul {
    width:calc(100% + 70px);
    margin:0 -35px 60px -35px;
  }

  .start .block {
    max-width:initial;
    padding:0 10px;
  }
  .start .block div {
    padding:30px 0 0;
  }
  .start .block div h2:before {
    left:0;
  }
  .start .block div h2:after {
    width:95%;
  }
  .start .block div p {
    margin:-30px 0 0 0;
  }

  .type-case dd mark {
    justify-content:flex-start;
    align-items:flex-start;
    width:100%;
    max-width:initial;
    margin:0;
    line-height:1.6;
  }
  .type-case dd mark + mark {
    margin:6px 0 0 0;
  }  
  .type-case dd mark hr {
    margin:3px 6px 0 0;
  }
  .type-case dd picture + picture {
    padding:0 35px 35px 35px;
  }

  .graf .switch {
    width:100%;
  }
  .graf .switch button {
    width:calc(100% / 3);
    text-align:center;
  }

  .anchor {
    flex-wrap:wrap;
  }
  .anchor li {
    width:calc(100% / 2);
  }

  .contact .qrcode {
    margin:-55px 0 0 0;
  }
  .contact .title i {
    font-size:120px;
  }
  .contact .text dl {
    flex-direction:column;
    align-items:flex-start;
  }
  .contact .text dt {
    flex-direction:row-reverse;
  }
  .contact .text dt hr.arrow {
    margin:-3px 9px 0 0;
    transform:rotate(135deg);
  }
  .contact .text ul {
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%;
    padding:30px 0;
  }
  .contact .text ul li {
    width:220px;
  }
  .contact .text p {
    text-align:left;
  }
  .contact .text p br {
    display:none;
  }

}


@media screen and (max-width:680px) {

  .swiper-topics {
    min-height:initial;
  }
  .swiper-topics h3 {
    top:40px;
    right:30px;
  }
  .swiper-topics .text {
    padding:40px 45px 50px 45px;
  }
  .swiper-topics h2 {
    margin:0 0 25px 0;
    font-size:24px;
  }
  .swiper-topics h2 i {
    width:52px;
  }
  .swiper-topics a {
    font-size:95%;
  }
  .firstview .switch {
    justify-content:space-between;
    width:calc(100% - var(--space) * 2);
    bottom:-55px;
    left:var(--space);
    right:initial;
  }
  .firstview .switch:before {
    content:'';
    width:45%;
    height:2px;
    background-color:var(--black);
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
  }
  .firstview .switch button {
    width:auto;
    border:none;
    font-size:95%;
    white-space:nowrap;
  }
  .swiper-button-prev {
    padding:0 0 0 22px;
  }
  .swiper-button-next {
    padding:0 22px 0 0;
  }
  .swiper-button-prev:before,
  .swiper-button-next:before {
    content:'';
    width:6px;
    aspect-ratio:1;
    border-top:2px solid var(--black);
    border-right:2px solid var(--black);
    position:absolute;
    top:calc(50% - 3px);
  }
  .swiper-button-prev:before {
    left:3px;
    transform:rotate(-135deg);
  }
  .swiper-button-next:before {
    right:3px;
    transform:rotate(45deg);
  }

  .concept {
    border-top:none;
  }
  .concept h4 {
    margin:0 0 40px 0;
    font-size:68px;
    line-height:2;
    letter-spacing:-.12rem;
    text-align:center;
    white-space:nowrap;
  }
  .concept h2 {
    text-align:center;
    line-height:2;
  }
  .concept ul {
    flex-direction:column;
    width:100%;
    margin:75px 0;
  }
  .concept ul li {
    flex-direction:row;
    justify-content:center;
    width:100%;
    aspect-ratio:initial;
    padding:20px 0 20px 22px;
  }
  .concept ul > li + li {
    border-left:none;
  }
  .concept ul li i {
    width:95px;
  }
  .concept ul li b {
    width:190px;
    padding:0 0 0 27px;
    font-weight:600;
    text-align:left;
    white-space:nowrap;
  }
  .concept .block {
    margin:0 auto;
  }
  .concept h3 {
    font-weight:600;
    line-height:2;
    letter-spacing:0;
    text-align:center;
  }

  .ticket {
    margin:150px 0 0 0;
  }
  .ticket + .ticket {
    margin:100px 0 0 0;
    padding:100px 0 0 0;
  }
  .ticket .head h2 {
    font-size:20px;
  }
  .ticket .detail li + li {
    margin:9px 0 0 0;
  }
  .ticket .detail ul {
    font-size:85%;
    line-height:1.8;
  }
  .set div {
    flex-direction:column;
    justify-content:center;
    height:150px;
  }
  .set div > * {
    justify-content:center;
    width:100%;
  }
  .set small {
    top:0;
  }
  .set b {
    margin:9px 0;
  }
  .set b em {
    padding:0 6px;
  }
  .graf {
    width:87.5%;
    height:initial;
    margin:0 0 0 12.5%;
  }
  .graf ul {
    flex-direction:column;
    border-bottom:none;
  }
  .graf li {
    width:100%;
    height:110px;
    border-right:none;
    border-bottom:1px solid var(--gray);
  }
  .graf li:first-child {
    border-top:1px solid var(--gray);
  }
  .graf li i {
    display:flex;
    justify-content:flex-end;
    width:42px;
    font-size:95%;
    top:-12px;
    bottom:initial;
    left:-17.5%;
  }
  .graf li b br {
    display:none;
  }
  .graf li u {
    padding:6px 0 0 0;
    position:initial;
  }
  .graf li:after {
    left:initial;
    right:0;
  }
  @keyframes verticalbar {
    0% {
      width:0;
      height:100%;
    }
    45% {
      width:100%;
      height:100%;
    }
    100% {
      width:100%;
      height:100%;
    }
  }
  .graf li:after {
    background-color:var(--white);
    top:0;
  }
  .graf li.bar100:after {
    width:0;
    height:100%;
  }
  .graf li.bar90:after {
    width:10%;
    height:100%;
  }
  .graf li.bar80:after {
    width:20%;
    height:100%;
  }
  .graf li.bar70:after {
    width:30%;
    height:100%;
  }
  .graf li.bar60:after {
    width:40%;
    height:100%;
  }
  .graf li.bar50:after {
    width:50%;
    height:100%;
  }
  .discount {
    margin:100px 0 0 0;
  }
  .charge dl {
    flex-direction:column;
  }
  .charge dt {
    padding:20px 30px;
    border-right:none;
    font-weight:600;
  }
  .charge dd {
    padding:30px 30px;
  }
  .business .charge dl {
    padding:25px;
    line-height:1.6;
  }
  .business .charge dl:before,
  .business .charge dl:after {
    width:50vw;
  }

  .training .invite h3 {
    font-weight:600;
  }
  .training .step {
    flex-direction:column;
    margin:60px 0;
  }
  .training .step .block {
    width:100%;
    padding:0 0 60px 0;
  }
  .training .block h2 u {
    font-weight:600;
    letter-spacing:-.02rem;
  }
  .training .step .block h2 i {
    margin:0 0 25px 0;
  }
  .training .case {
    flex-direction:column;
    margin:60px 0;
  }
  .training .case .block {
    width:100%;
    padding:0 0 30px;
  }
  .training .case .block h2 i {
    margin:0 0 30px 0;
  }
  .training .case .block .plus {
    top:30px;
    right:6px;
  }

  .store .block .viewmore {
    width:100%;
  }
  .store .cards {
    margin:50px 0 0 0;
  }
  .cards .block:last-child .storeinfo {
    padding:60px 0 0 0;
  }
  .storeinfo dt i {
    font-size:62px;
    letter-spacing:-.12rem;
  }
  .storeinfo dt b {
    margin:10px 0;
    font-weight:600;
  }
  .storeinfo dd {
    line-height:1.8;
  }
  .storeinfo dd > p + p {
    margin:20px 0 0 0;
  }
  .storeinfo dd p a {
    display:flex;
    flex-direction:column;
  }
  .storeinfo dd p a em {
    display:inline-flex;
    justify-content:center;
    width:60px;
    margin:6px 0 0 0;
    padding:0;
    white-space:nowrap;
  }
  .storeinfo dd p b {
    padding:0 0 0 20px;
  }
  .storeinfo dd p b:before {
    width:1px;
    height:100%;
    top:50%;
    left:3px;
    transform:translate(0,-50%);
  }
  .storeinfo dd p > b + b {
    margin:5px 0 0 0;
  }

  .introduction {
    padding:30px var(--space);
    overflow:hidden;
  }
  .introduction .title-liner[data-scroll="on"] {
    margin:125px 0 150px;
  }

  .text-plan {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    margin:100px auto 0;
    padding:100px 0 0 0;
  }
  .text-plan .title-liner {
    margin:0 0 60px 0;
  }

  .start {
    display:flex;
    flex-direction:column;
  }
  .start .block {
    margin:50px auto 60px auto;
    padding:0;
  }
  .start .block div {
    width:75%;
  }
  .start .block > div + div {
    margin:50px 0 0 0;
  }
  .start .block div h2:before {
    aspect-ratio:1.1 / 1;
    background-color:var(--black);
    clip-path:polygon(0% 0%, 100% 0%, 50% 100%);
    top:-40px;
    left:50%;
  }
  .start .block div h2:after {
    width:100%;
    border:2px solid;
  }
  @keyframes arrowview {
    0% { transform:translate(-50%,-30%); }
    100% { transform:translate(-50%,-60%); }
  }
  .start .block div h2 i {
    font-size:36px;
    letter-spacing:-.1rem;
    top:-80px;
    left:initial;
    right:-10px;
  }
  .start .block div h2 hr {
    top:-30px;
    left:initial;
    right:45px;
    transform:rotate(40deg);
  }
  .start .block div h2 u {
    font-size:18px;
    font-weight:600;
    letter-spacing:0;
  }
  .start .block div p {
    margin:-20px 0 0 0;
  }
  .start h3 {
    margin:0 auto 60px auto;
    text-align:center;
  }

  .basic {
    padding:75px var(--space) 0;
  }
  .method h2 {
    padding:0;
  }
  .method h2 b {
    width:170px;
    margin:40px 0 25px;
  }
  .method h2 b.large {
    width:180px;
  }
  .method > .block + .block {
    padding:100px 0 0 0;
  }
  .method .text {
    padding:40px 0 0;
  }
  .type-step {
    margin:90px 0;
  }
  .type-step:before,
  .type-step:after {
    top:-50px;
  }
  .type-step:before {
    width:2px;
    height:calc(100% - 0px);
    left:calc(50% - 1px);
  }
  .type-step:after {
    width:12px;
    left:50%;
  }

  .type-step .text {
    background-color:var(--white);
  }
  .type-step h3 {
    margin:10px 0 50px 0;
  }
  .type-step > .block + .block:before {
    width:22px;
    aspect-ratio:1 / .9;
    top:45px;
    left:calc(50% - 11px);
  }
  .type-case {
    margin:0 0 100px 0;
  }

  .type-case h3 {
    justify-content:space-between;
  }
  .type-case h3 i {
    width:25%;
    padding:20px 0;
    text-align:center;
  }
  .type-case h3 i:first-child {
    width:calc(100% - 25% * 2);
    border-left:none;
  }
  .type-case dl {
    flex-direction:column;
  }
  .type-case dt {
    width:100%;
    padding:20px 0;
    border-right:none;
    background-color:var(--gray-pale);
    text-orientation:initial;
    -ms-writing-mode:initial;
    writing-mode:initial;
  }
  .type-case dd {
    width:100%;
    padding:0 20px 10px;
  }
  .type-case dd > * + * {
    border-width:2px;
  }
  .type-case dd i {
    padding:40px 0 20px;
  }
  .type-case dd b,
  .type-case dd i + u   {
    padding:0 0 40px;
    line-height:2;
  }
  .type-case dd p {
    padding:40px 0;
    line-height:2;
  }
  .type-case dd span {
    width:100%;
  }
  .type-case dd span + span {
    border-top:2px solid;
    border-left:none;
  }
  .type-case dd span i {
    padding:40px 0 15px;
  }
  .type-case dd picture,
  .type-case dd picture + picture {
    width:calc(100% / 2 - 20px);
    min-width:initial;
    padding:30px 0 20px 0;
  }

  .type-case .text dl {
    font-size:100%;
  }
  .type-case h3:last-child i {
    width:auto;
    padding:20px;
    border-right:2px solid;
  }

  .stores {
    padding:30px var(--space) 0;
  }

  .anchor li {
    height:50px;
  }

  .information .storeinfo dt i {
    padding:0 0 10px 0;
    font-size:62px;
    letter-spacing:-.12rem;
    white-space:nowrap;
  }
  .information .storeinfo dt b {
    padding:0 30px 15px 0;
  }
  .information .storeinfo dd {
    margin-top:-35px;
  }
  .information .storeinfo dd span br {
    display:none;
  }
  .staffs .prof h2 i {
    font-size:40px;
    letter-spacing:-.12rem;
  }
  .staffs .prof h2 b {
    margin:20px 0 0 0;
  }
  .staffs .prof p {
    padding:40px 0 0 0;
  }
  .staffs .prof ul {
    padding:40px 0 0 0;
    line-height:2;
  }
  .staffs .prof ul li b {
    padding:35px 20px;
  }

  .introduction .title-liner.verStatic {
    margin:125px auto 150px;
  }

  .topic dl dt {
    padding:20px 0 50px;
  }
  .topic dl dt:before,
  .topic dl dt:after {
    width:24px;
    height:160px;
  }
  .topic dl dt:before {
    left:0;
  }
  .topic dl dt:after {
    right:0;
  }
  .topic dl dt i {
    font-size:50px;
    line-height:1.6;
  }
  .topic dl dd i {
    font-size:18px;
  }

  .feature {
    padding:25px var(--space) 60px;
  }
  .feature .title-liner {
    margin:150px auto 100px;
    padding:0;
  }
  .feature .title-liner.verStatic .circle {
    margin:-22px 0 -22px -9px;
  }

  .facility .title-liner {
    margin:150px auto 100px;
    padding:0;
  }
  .facility .title-liner.verStatic .circle {
    margin:-22px 0 -22px -9px;
  }
  .facility .block {
    flex-direction:column;
    margin:75px 0 0 0;
  }
  .facility .block div {
    width:100%;
    padding:100px 0 0 0;
  }

  .feature .block h2 i,
  .facility .block h2 i {
    top:-40px;
  }
  .feature .block h2 hr,
  .facility .block h2 hr {
    top:10px;
    left:55px;
  }
  .facility .block h2 u {
    margin:40px 0 0 0;
  }

  .qr {
    padding:5px var(--space) 0;
  }
  .qr .list-qr {
    margin:90px 0 0 0;
  }
  .qr .list-qr dl {
    padding:75px 0 0 0;
  }
  .qr .list-qr dd hr {
    top:-60px;
    left:30px;
    transform:rotate(0deg);
  }
  .qr .list-qr em {
    width:60px;
    font-size:60px;
  }
  .qr .list-qr dd em {
    margin:0;
    padding:0 0 0 3px;
  }
  .qr .list-qr i {
    width:calc(100% - 60px);
  }


  .guide {
    padding:20px var(--space) 0;
  }
  .guide .anchor li {
    padding:0 15px;
    font-size:95%;
    letter-spacing:-.04rem;
  }
  .list-guide .block h2 {
    font-size:30px;
    margin:0 0 75px 0;
  }
  .list-guide .block dl {
    flex-direction:column;
    border:1px solid var(--gray);
  }
  .list-guide .block dl + dl {
    border-top:none;
  }
  .list-guide .block dl:before {
    display:none;
  }
  .list-guide .block dt {
    width:100%;
    padding:22px 0;
    text-align:center;
    background-color:var(--gray-pale);
  }
  .list-guide .block dd {
    width:100%;
    height:auto;
    padding:30px 25px;
  }
  .list-guide .block * + dl dt {
    border-top:none;
  }
  .list-guide .block dl + dl dt {
    border-top:none;
  }
  .list-guide .block > div {
    padding:30px 25px;
    border:1px solid var(--gray);
    line-height:2;
  }

  .contact {
    padding:20px var(--space) 0;
  }
  .contact .title i {
    font-size:70px;
    letter-spacing:-.18rem;
  }
  .contact .qrcode {
    width:60%;
    margin:-32px 0 0 0;
    padding:25px;
    transition:.3s ease-out;
  }
  .contact .qrcode[data-scroll="on"] {
    width:98%;
    margin:60px 0 0 0;
  }
  .contact .ways {
    padding:75px 0 0 0;
    margin:0 0 60px 0;
  }
  .contact .block > .text + .text {
    margin:0;
    border-top:none;
  }
  .contact .text dl {
    border:2px solid;
  }
  .contact .text dl + dl {
    border-top:none;
  }
  .contact .text dl > * {
    flex-direction:row;
    width:100%;
  }
  .contact .text dt {
    justify-content:space-between;
    padding:10px 20px;
    background-color:var(--gray-pale);
  }
  .contact .text dd {
    padding:20px 20px 25px 20px;
    font-size:95%;
  }
  .contact .text ul {
    padding:0;
  }
  .contact .text ul li {
    width:100%;
    padding:15px;
    border:2px solid;
    text-align:center;
  }
  .contact .text ul li + li {
    border-top:none;
  }
}
