@charset "UTF-8";
.js-a-delay-01 {
  -webkit-animation-delay: 1ms;
          animation-delay: 1ms;
}

.js-delay-01 {
  -webkit-transition-delay: 1ms;
          transition-delay: 1ms;
}

.js-delay-01::after {
  -webkit-transition-delay: 1ms;
          transition-delay: 1ms;
}

.js-a-delay-02 {
  -webkit-animation-delay: 2ms;
          animation-delay: 2ms;
}

.js-delay-02 {
  -webkit-transition-delay: 2ms;
          transition-delay: 2ms;
}

.js-delay-02::after {
  -webkit-transition-delay: 2ms;
          transition-delay: 2ms;
}

.js-a-delay-03 {
  -webkit-animation-delay: 3ms;
          animation-delay: 3ms;
}

.js-delay-03 {
  -webkit-transition-delay: 3ms;
          transition-delay: 3ms;
}

.js-delay-03::after {
  -webkit-transition-delay: 3ms;
          transition-delay: 3ms;
}

.js-a-delay-04 {
  -webkit-animation-delay: 4ms;
          animation-delay: 4ms;
}

.js-delay-04 {
  -webkit-transition-delay: 4ms;
          transition-delay: 4ms;
}

.js-delay-04::after {
  -webkit-transition-delay: 4ms;
          transition-delay: 4ms;
}

.js-a-delay-05 {
  -webkit-animation-delay: 5ms;
          animation-delay: 5ms;
}

.js-delay-05 {
  -webkit-transition-delay: 5ms;
          transition-delay: 5ms;
}

.js-delay-05::after {
  -webkit-transition-delay: 5ms;
          transition-delay: 5ms;
}

.js-a-delay-06 {
  -webkit-animation-delay: 6ms;
          animation-delay: 6ms;
}

.js-delay-06 {
  -webkit-transition-delay: 6ms;
          transition-delay: 6ms;
}

.js-delay-06::after {
  -webkit-transition-delay: 6ms;
          transition-delay: 6ms;
}

.js-a-delay-07 {
  -webkit-animation-delay: 7ms;
          animation-delay: 7ms;
}

.js-delay-07 {
  -webkit-transition-delay: 7ms;
          transition-delay: 7ms;
}

.js-delay-07::after {
  -webkit-transition-delay: 7ms;
          transition-delay: 7ms;
}

.js-a-delay-08 {
  -webkit-animation-delay: 8ms;
          animation-delay: 8ms;
}

.js-delay-08 {
  -webkit-transition-delay: 8ms;
          transition-delay: 8ms;
}

.js-delay-08::after {
  -webkit-transition-delay: 8ms;
          transition-delay: 8ms;
}

.js-a-delay-09 {
  -webkit-animation-delay: 9ms;
          animation-delay: 9ms;
}

.js-delay-09 {
  -webkit-transition-delay: 9ms;
          transition-delay: 9ms;
}

.js-delay-09::after {
  -webkit-transition-delay: 9ms;
          transition-delay: 9ms;
}

.js-a-delay-10 {
  -webkit-animation-delay: 10ms;
          animation-delay: 10ms;
}

.js-delay-10 {
  -webkit-transition-delay: 10ms;
          transition-delay: 10ms;
}

.js-delay-10::after {
  -webkit-transition-delay: 10ms;
          transition-delay: 10ms;
}

.js-a-delay-11 {
  -webkit-animation-delay: 11ms;
          animation-delay: 11ms;
}

.js-delay-11 {
  -webkit-transition-delay: 11ms;
          transition-delay: 11ms;
}

.js-delay-11::after {
  -webkit-transition-delay: 11ms;
          transition-delay: 11ms;
}

.js-a-delay-12 {
  -webkit-animation-delay: 12ms;
          animation-delay: 12ms;
}

.js-delay-12 {
  -webkit-transition-delay: 12ms;
          transition-delay: 12ms;
}

.js-delay-12::after {
  -webkit-transition-delay: 12ms;
          transition-delay: 12ms;
}

.js-a-delay-13 {
  -webkit-animation-delay: 13ms;
          animation-delay: 13ms;
}

.js-delay-13 {
  -webkit-transition-delay: 13ms;
          transition-delay: 13ms;
}

.js-delay-13::after {
  -webkit-transition-delay: 13ms;
          transition-delay: 13ms;
}

.js-a-delay-14 {
  -webkit-animation-delay: 14ms;
          animation-delay: 14ms;
}

.js-delay-14 {
  -webkit-transition-delay: 14ms;
          transition-delay: 14ms;
}

.js-delay-14::after {
  -webkit-transition-delay: 14ms;
          transition-delay: 14ms;
}

.js-a-delay-15 {
  -webkit-animation-delay: 15ms;
          animation-delay: 15ms;
}

.js-delay-15 {
  -webkit-transition-delay: 15ms;
          transition-delay: 15ms;
}

.js-delay-15::after {
  -webkit-transition-delay: 15ms;
          transition-delay: 15ms;
}

.js-a-delay-16 {
  -webkit-animation-delay: 16ms;
          animation-delay: 16ms;
}

.js-delay-16 {
  -webkit-transition-delay: 16ms;
          transition-delay: 16ms;
}

.js-delay-16::after {
  -webkit-transition-delay: 16ms;
          transition-delay: 16ms;
}

.js-a-delay-17 {
  -webkit-animation-delay: 17ms;
          animation-delay: 17ms;
}

.js-delay-17 {
  -webkit-transition-delay: 17ms;
          transition-delay: 17ms;
}

.js-delay-17::after {
  -webkit-transition-delay: 17ms;
          transition-delay: 17ms;
}

.js-a-delay-18 {
  -webkit-animation-delay: 18ms;
          animation-delay: 18ms;
}

.js-delay-18 {
  -webkit-transition-delay: 18ms;
          transition-delay: 18ms;
}

.js-delay-18::after {
  -webkit-transition-delay: 18ms;
          transition-delay: 18ms;
}

.js-a-delay-19 {
  -webkit-animation-delay: 19ms;
          animation-delay: 19ms;
}

.js-delay-19 {
  -webkit-transition-delay: 19ms;
          transition-delay: 19ms;
}

.js-delay-19::after {
  -webkit-transition-delay: 19ms;
          transition-delay: 19ms;
}

.js-a-delay-20 {
  -webkit-animation-delay: 20ms;
          animation-delay: 20ms;
}

.js-delay-20 {
  -webkit-transition-delay: 20ms;
          transition-delay: 20ms;
}

.js-delay-20::after {
  -webkit-transition-delay: 20ms;
          transition-delay: 20ms;
}

.js-a-delay-21 {
  -webkit-animation-delay: 21ms;
          animation-delay: 21ms;
}

.js-delay-21 {
  -webkit-transition-delay: 21ms;
          transition-delay: 21ms;
}

.js-delay-21::after {
  -webkit-transition-delay: 21ms;
          transition-delay: 21ms;
}

.js-a-delay-22 {
  -webkit-animation-delay: 22ms;
          animation-delay: 22ms;
}

.js-delay-22 {
  -webkit-transition-delay: 22ms;
          transition-delay: 22ms;
}

.js-delay-22::after {
  -webkit-transition-delay: 22ms;
          transition-delay: 22ms;
}

.js-a-delay-23 {
  -webkit-animation-delay: 23ms;
          animation-delay: 23ms;
}

.js-delay-23 {
  -webkit-transition-delay: 23ms;
          transition-delay: 23ms;
}

.js-delay-23::after {
  -webkit-transition-delay: 23ms;
          transition-delay: 23ms;
}

.js-a-delay-24 {
  -webkit-animation-delay: 24ms;
          animation-delay: 24ms;
}

.js-delay-24 {
  -webkit-transition-delay: 24ms;
          transition-delay: 24ms;
}

.js-delay-24::after {
  -webkit-transition-delay: 24ms;
          transition-delay: 24ms;
}

.js-a-delay-25 {
  -webkit-animation-delay: 25ms;
          animation-delay: 25ms;
}

.js-delay-25 {
  -webkit-transition-delay: 25ms;
          transition-delay: 25ms;
}

.js-delay-25::after {
  -webkit-transition-delay: 25ms;
          transition-delay: 25ms;
}

.js-fadein {
  opacity: 0;
}

.js-fadein.is-inview {
  opacity: 1;
  -webkit-transition: all 1.2s ease 0.1s;
  transition: all 1.2s ease 0.1s;
}

.js-fadeup {
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  opacity: 0;
}

.js-fadeup.is-inview {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-transition: all 1.2s ease 0.1s;
  transition: all 1.2s ease 0.1s;
}

.js-faderight {
  -webkit-transform: translateX(40px);
          transform: translateX(40px);
  opacity: 0;
}

.js-faderight.is-inview {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
  -webkit-transition: all 1.2s ease 0.1s;
  transition: all 1.2s ease 0.1s;
}

.js-fadeleft {
  -webkit-transform: translateX(-40px);
          transform: translateX(-40px);
  opacity: 0;
}

.js-fadeleft.is-inview {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
  -webkit-transition: all 1.2s ease 0.1s;
  transition: all 1.2s ease 0.1s;
}

.js-scaledown {
  -webkit-transform: scale(2.2);
          transform: scale(2.2);
  opacity: 0;
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}

.js-scaledown.is-inview {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.js-popup {
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  -webkit-transition-duration: 1.4s;
          transition-duration: 1.4s;
}

.js-popup.is-inview {
  opacity: 1;
  -webkit-animation-name: popup;
          animation-name: popup;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
}

@-webkit-keyframes popup {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes popup {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.js-flash {
  opacity: 0;
}

.js-flash.is-inview {
  opacity: 1;
  -webkit-animation-name: flash;
          animation-name: flash;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
}

@-webkit-keyframes flash {
  0%,
  50%,
  to {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

@keyframes flash {
  0%,
  50%,
  to {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

.js-star {
  opacity: 0;
}

.js-star.is-inview {
  -webkit-animation-name: star;
          animation-name: star;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-duration: 0.4s;
          animation-duration: 0.4s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
}

@-webkit-keyframes star {
  0% {
    opacity: 1;
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  30% {
    opacity: 0.5;
    -webkit-transform: scale(0.3, 0.3);
            transform: scale(0.3, 0.3);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.5, 1.5);
            transform: scale(1.5, 1.5);
  }
}

@keyframes star {
  0% {
    opacity: 1;
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  30% {
    opacity: 0.5;
    -webkit-transform: scale(0.3, 0.3);
            transform: scale(0.3, 0.3);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.5, 1.5);
            transform: scale(1.5, 1.5);
  }
}

.js-scaleupY {
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
}

.js-scaleupY.is-inview {
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
  -webkit-transition: all 1.2s ease 0.1s;
  transition: all 1.2s ease 0.1s;
}

.js-countup {
  -webkit-transition: opacity 0.8s ease 0.4s;
  transition: opacity 0.8s ease 0.4s;
  opacity: 0;
}

.js-countup.is-inview {
  opacity: 1;
}

.js-scaleup-orgin-bottom {
  -webkit-transform-origin: 0 100%;
          transform-origin: 0 100%;
}

.is-inview.js-line:before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: top left;
          transform-origin: top left;
}

.is-inview.js-arr-v {
  opacity: 1;
  -webkit-animation-name: arr-v;
          animation-name: arr-v;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
}

.is-inview.js-float {
  opacity: 1;
  -webkit-animation-name: float;
          animation-name: float;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
}

.is-inview.js-float2 {
  opacity: 1;
  -webkit-animation-name: float;
          animation-name: float;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
}

/*光るアニメーション*/
@-webkit-keyframes reflection {
  0% {
    -webkit-transform: skewX(-20deg) translateX(-100%);
            transform: skewX(-20deg) translateX(-100%);
    opacity: 0;
  }
  15% {
    opacity: 0.8;
  }
  20% {
    -webkit-transform: skewX(-35deg) translateX(130%);
            transform: skewX(-35deg) translateX(130%);
    opacity: 0.1;
  }
  21% {
    -webkit-transform: skewX(-40deg) translateX(200%);
            transform: skewX(-40deg) translateX(200%);
    opacity: 0;
  }
  100% {
    -webkit-transform: skewX(-45deg) translateX(200%);
            transform: skewX(-45deg) translateX(200%);
    opacity: 0;
  }
}
@keyframes reflection {
  0% {
    -webkit-transform: skewX(-20deg) translateX(-100%);
            transform: skewX(-20deg) translateX(-100%);
    opacity: 0;
  }
  15% {
    opacity: 0.8;
  }
  20% {
    -webkit-transform: skewX(-35deg) translateX(130%);
            transform: skewX(-35deg) translateX(130%);
    opacity: 0.1;
  }
  21% {
    -webkit-transform: skewX(-40deg) translateX(200%);
            transform: skewX(-40deg) translateX(200%);
    opacity: 0;
  }
  100% {
    -webkit-transform: skewX(-45deg) translateX(200%);
            transform: skewX(-45deg) translateX(200%);
    opacity: 0;
  }
}

/*浮遊するアニメーション*/
@-webkit-keyframes float {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -5px);
            transform: translate(0, -5px);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes float {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -5px);
            transform: translate(0, -5px);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

/*浮遊するアニメーション*/
/*スケールアップするアニメーション*/
@-webkit-keyframes scaleup {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  30% {
    opacity: 0.5;
    -webkit-transform: scale(0.3, 0.3);
            transform: scale(0.3, 0.3);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.5, 1.5);
            transform: scale(1.5, 1.5);
  }
}
@keyframes scaleup {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  30% {
    opacity: 0.5;
    -webkit-transform: scale(0.3, 0.3);
            transform: scale(0.3, 0.3);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.5, 1.5);
            transform: scale(1.5, 1.5);
  }
}

/*浮遊するアニメーション*/
@keyframes float {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -10px);
            transform: translate(0, -10px);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

/*少し回転するアニメーション*/
@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
  50% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg);
  }
  100% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
}
@keyframes rotate {
  0% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
  50% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg);
  }
  100% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
}

/*左右に動くアニメーション*/
@-webkit-keyframes arrr {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(20px, -20px);
            transform: translate(20px, -20px);
  }
  20% {
    -webkit-transform: translate(40px, 0px);
            transform: translate(40px, 0px);
  }
  30% {
    -webkit-transform: translate(20px, -20px);
            transform: translate(20px, -20px);
  }
  40% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(20px, -10px);
            transform: translate(20px, -10px);
  }
  60% {
    -webkit-transform: translate(40px, 0);
            transform: translate(40px, 0);
  }
  70% {
    -webkit-transform: translate(20px, -10px);
            transform: translate(20px, -10px);
  }
  80% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  90% {
    -webkit-transform: translate(0, 20px);
            transform: translate(0, 20px);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes arrr {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  10% {
    -webkit-transform: translate(20px, -20px);
            transform: translate(20px, -20px);
  }
  20% {
    -webkit-transform: translate(40px, 0px);
            transform: translate(40px, 0px);
  }
  30% {
    -webkit-transform: translate(20px, -20px);
            transform: translate(20px, -20px);
  }
  40% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(20px, -10px);
            transform: translate(20px, -10px);
  }
  60% {
    -webkit-transform: translate(40px, 0);
            transform: translate(40px, 0);
  }
  70% {
    -webkit-transform: translate(20px, -10px);
            transform: translate(20px, -10px);
  }
  80% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  90% {
    -webkit-transform: translate(0, 20px);
            transform: translate(0, 20px);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

/*左右に動くアニメーション*/
@-webkit-keyframes arr {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    opacity: 1;
    -webkit-transform: translate(50%, 0);
            transform: translate(50%, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes arr {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    opacity: 1;
    -webkit-transform: translate(50%, 0);
            transform: translate(50%, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

/*上下に動くアニメーション*/
@-webkit-keyframes arr-v {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  80% {
    opacity: 1;
    -webkit-transform: translate(0, 50%);
            transform: translate(0, 50%);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes arr-v {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  80% {
    opacity: 1;
    -webkit-transform: translate(0, 50%);
            transform: translate(0, 50%);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

/*バネアニメーション*/
@-webkit-keyframes popup2 {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes popup2 {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

/*スケールアップするアニメーション*/
@-webkit-keyframes zoom1 {
  0% {
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes zoom1 {
  0% {
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

/* ブレークポイントはmin-width: 750px */
.t-ff-rmin {
  font-family: "a-otf-ryumin-pr6n", serif;
  font-weight: 300;
  font-style: normal;
}

.page-about {
  overflow: hidden;
  padding-top: 12vw;
  letter-spacing: .045em;
}

.page-about .cmn-ttl {
  margin-bottom: 10.6vw;
  /* 80 */
}

.page-about .cmn-ttl-wrap {
  width: 100%;
}

.page-about .ttl-01 {
  font-size: 6.4vw;
  letter-spacing: 0.045em;
  line-height: 1;
  font-weight: 400;
  margin-bottom: 8.6vw;
  /* 65 */
  text-align: center;
}

.page-about .ttl-02 {
  padding-bottom: 1.3vw;
  margin-bottom: 6.6vw;
  /* 50 */
  border-bottom: 1px solid #D9D9D9;
}

.page-about .ttl-02 .ttl-text {
  font-size: 5.33333vw;
  letter-spacing: 0.045em;
  line-height: 1.5;
  font-weight: 400;
}

.page-about .ttl-02.is-noborder {
  border: none;
}

.page-about-sec .boxs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.page-about-sec .box {
  width: 100%;
}

.page-about-sec .box01 {
  padding-right: 0vw;
}

.page-about-sec .box02 {
  padding-left: 0vw;
}

.page-about-sec .note {
  margin-top: 4vw;
  /* 30 */
  font-size: 2.66666vw;
  letter-spacing: 0.045em;
  line-height: 1.8;
  font-weight: 400;
  color: #fff;
}

.page-about-sec01 {
  margin-top: 5.3vw;
  /* 40 */
  padding-top: 41.3vw;
  padding-bottom: 44vw;
  background: url(https://d2w53g1q050m78.cloudfront.net/virchejp/uploads/images/about/about-img07_sp.png) no-repeat center center;
  background-size: cover;
}

.page-about-sec01 .box01 {
  width: 100%;
}

.page-about-sec01 .box02 {
  width: 100%;
}

.page-about-sec02 {
  padding-top: 43.3vw;
  padding-bottom: 43.3vw;
  background: url(https://d2w53g1q050m78.cloudfront.net/virchejp/uploads/images/about/about-img08_sp.png) no-repeat center center;
  background-size: cover;
}

.page-about-sec02 .box01 {
  width: 100%;
}

.page-about-sec02 .box02 {
  width: 100%;
}

.page-about-sec03 {
  padding-top: 42.6vw;
  padding-bottom: 42.6vw;
  background: url(https://d2w53g1q050m78.cloudfront.net/virchejp/uploads/images/about/about-img09_sp.png) no-repeat center center;
  background-size: cover;
}

.page-about-sec04 {
  padding-top: 18.6vw;
  padding-bottom: 21.3vw;
}

.page-about-sec04-boxs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.page-about-sec04-boxs.is-01 {
  margin-bottom: 14.6vw;
  /* 110 */
}

.page-about-sec04-boxs.is-02 {
  margin-bottom: 0vw;
  /* 0 */
}

.page-about-sec04-boxs.is-02 .box01 {
  margin-top: 1.3vw;
  /* 10 */
}

.page-about-sec04-boxs.is-03 .box01 {
  margin-top: 1.3vw;
  /* 10 */
  padding-right: 0;
}

.page-about-sec04-boxs.is-03 .box02 {
  text-align: right;
  margin-top: 1.3vw;
  /* 10 */
}

.page-about-sec04 .is-sec04-img01 {
  max-width: 440px;
  margin-left: auto;
  margin-right: 0;
  margin-top: 10px;
}

.page-about-sec04 .is-sec04-img02 {
  max-width: 440px;
  margin-right: auto;
  margin-left: 0;
}

.p-page_content__inner .page-about__ttl01 {
  /*
          @include tt(60,80,330,500,40,56,"d",500);
          color:#fff;
          @extend .t-ff-rmin;
          */
  /* 120 */
  font-size: 30px;
  color: #fff;
  font-family:"Hiragino Mincho ProN",YuMincho,serif !important;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

  .page-about__ttl {
    margin-bottom: 30px;
  }

.page-about__ttl01.is-01 {
  /* width: 90%; */
}

.page-about__ttl01.is-02 {
  /* width: 48%; */
}

.page-about__ttl01.is-03 {
  /* width: 88%; */
  margin-bottom: 17.3vw;
  /* 130 */
}

.page-about__stl {
    font-size: 14px;
    color: #fff;
}

.page-about__ttl02 {
  text-align: center;
  font-size: 5.33333vw;
  letter-spacing: 0.045em;
  line-height: 1.6;
  font-weight: 400;
  margin-bottom: 16vw;
  /* 120 */
}

.page-about__ttl03 {
  font-size: 4.93333vw;
  letter-spacing: 0.045em;
  line-height: 1.5;
  font-weight: 300;
  margin-bottom: 5.3vw;
  /* 40 */
  text-align: center;
}

.page-about__en {
  color: #fff;
  font-size: 3.33333vw;
  line-height: 1.7;
  font-weight: 300;
  margin-bottom: 16.5vw;
  /* 124 */
  display: block;
}

.page-about__en.is-01 {
  margin-bottom: 16.5vw;
  /* 124 */
}

.page-about__en.is-02 {
  margin-bottom: 16.5vw;
  /* 124 */
}

.page-about__en.is-03 {
  margin-bottom: 16.5vw;
  /* 124 */
}

.page-about__text {
  font-size: 3.6vw;
  line-height: 1.6;
  font-weight: 400;
}

.page-about__text + .page-about__text {
  margin-top: 4.6vw;
  /* 35 */
}

.page-about__text.is-wh {
  color: #fff;
}

.page-about__vmbox {
  margin-top: 4.6vw;
  /* 35 */
}

.page-about__vmbox .ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding-top: 3.7vw;
  padding-bottom: 3.7vw;
  margin-bottom: 4.6vw;
  /* 35 */
  cursor: pointer;
  position: relative;
  font-size: 3.46666vw;
  letter-spacing: 0.045em;
  line-height: 1;
  font-weight: 400;
}

.page-about__vmbox .ttl:after {
  content: "";
  display: inline-block;
  width: 4vw;
  /* 30 */
  height: 4vw;
  /* 30 */
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 8%;
  background: url(https://d2w53g1q050m78.cloudfront.net/virchejp/uploads/images/about/about-img16.svg) no-repeat center center;
  background-size: 100% auto;
}

.page-about__vmbox .ttl.is-active:after {
  content: "";
  display: inline-block;
  background: url(https://d2w53g1q050m78.cloudfront.net/virchejp/uploads/images/about/about-img10.svg) no-repeat center center;
  background-size: 100% auto;
}

.page-about__vmbox .js-tgl-body {
  display: none;
}

.page-about__vmbox .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.page-about__vmbox .item + .item {
  margin-top: 1.8vw;
  /* 14 */
}

.page-about__vmbox .item .item-img {
  width: 40vw;
  /* 300 */
  margin-right: 4vw;
  /* 30 */
}

.page-about__vmbox .item .item-text {
  position: relative;
  width: 60%;
  padding-left: 1em;
  font-size: 3.6vw;
  letter-spacing: 0.045em;
  line-height: 1.5;
  font-weight: 400;
}

.page-about__vmbox .item .item-text:before {
  content: "・";
  position: absolute;
  top: .2em;
  left: 0;
}

@media screen and (min-width: 768px), print {
  .page-about .v-cmn-in-in {
    width: auto;
  }
  .page-about-sec .boxs {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .page-about-sec .box {
    width: 50%;
  }
  .page-about-sec02 .box01 {
    width: 68%;
    padding-right: 0;
  }
  .page-about-sec02 .box02 {
    width: 32%;
  }
  .page-about-sec04-boxs {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .page-about-sec04-boxs.is-01 .box01 {
    width: 63%;
  }
  .page-about-sec04-boxs.is-01 .box02 {
    width: 48%;
  }
  .page-about-sec04-boxs.is-02 .box01 {
    width: 40%;
    padding-right: 1%;
  }
  .page-about-sec04-boxs.is-02 .box02 {
    width: 53%;
  }
  .page-about-sec04-boxs.is-03 .box01 {
    width: 55%;
    padding-right: 4%;
  }
  .page-about-sec04-boxs.is-03 .box02 {
    width: 45%;
  }
  .page-about__ttl03 {
    text-align: left;
  }
  .page-about__vmbox .item .item-text {
    width: 64%;
  }
}

@media screen and (min-width: 750px), print {
    .p-page_content__inner .page-about__ttl01 {
  font-size: 40px;
  color: #fff;
  font-family:"Hiragino Mincho ProN",YuMincho,serif !important;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

  .page-about .cmn-ttl {
    margin-bottom: 32px;
  }
  .page-about {
    padding-top: 120px;
  }
  .page-about .ttl-01 {
    font-size: 40px;
    letter-spacing: 0.045em;
    line-height: 1;
    font-weight: 400;
  }
  .page-about .ttl-01 {
    margin-bottom: 35px;
  }
  .page-about .ttl-02 {
    padding-bottom: 12px;
  }
  .page-about .ttl-02 {
    margin-bottom: 25px;
  }
  .page-about .ttl-02 .ttl-text {
    font-size: 25px;
    letter-spacing: 0.09em;
    line-height: 2;
    font-weight: 400;
  }
  .page-about-sec .box01 {
    padding-right: 40px;
  }
  .page-about-sec .box02 {
    padding-left: 0px;
  }
  .page-about-sec .note {
    margin-top: 30px;
  }
  .page-about-sec .note {
    font-size: 10px;
    letter-spacing: 0.045em;
    line-height: 2.3;
    font-weight: 400;
  }
  .page-about-sec01 {
    margin-top: 74px;
  }
  .page-about-sec01 {
    padding-top: 160px;
  }
  .page-about-sec01 {
    padding-bottom: 126px;
  }
  .page-about-sec01 {
    background: url(https://d2w53g1q050m78.cloudfront.net/virchejp/uploads/images/about/about-img07.png) no-repeat center center;
    background-size: cover;
  }
  .page-about-sec02 {
    padding-top: 160px;
  }
  .page-about-sec02 {
    padding-bottom: 150px;
  }
  .page-about-sec02 {
    background: url(https://d2w53g1q050m78.cloudfront.net/virchejp/uploads/images/about/about-img08.png) no-repeat center center;
    background-size: cover;
  }
  .page-about-sec03 {
    padding-top: 165px;
  }
  .page-about-sec03 {
    padding-bottom: 162px;
  }
  .page-about-sec03 {
    background: url(https://d2w53g1q050m78.cloudfront.net/virchejp/uploads/images/about/about-img09.png) no-repeat center center;
    background-size: cover;
  }
  .page-about-sec03 .box02 {
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
  }
  .page-about-sec04 {
    padding-top: 155px;
  }
  .page-about-sec04 {
    padding-bottom: 160px;
  }
  .page-about-sec04-boxs.is-01 {
    margin-bottom: 78px;
  }
  .page-about-sec04-boxs.is-02 {
    margin-bottom: 0px;
  }
  .page-about-sec04-boxs.is-02 .box01 {
    margin-top: 10px;
  }
  .page-about-sec04-boxs.is-03 .box01 {
    margin-top: 0px;
  }
  .page-about-sec04-boxs.is-03 .box02 {
    margin-top: 15px;
  }
  .is-02.page-about__ttl {
    margin-bottom: 62px;
  }
  /* .is-03 .page-about__ttl01 {
    margin-bottom: 52px;
  } */
  .is-03.page-about__ttl {
    margin-bottom: 55px;
  }
  .page-about__ttl {
    margin-bottom: 47px;
  }
  .page-about__ttl02 {
    font-size: 25px;
    letter-spacing: 0.045em;
    line-height: 2;
    font-weight: 400;
  }
  .page-about__ttl02 {
    margin-bottom: 100px;
  }
  .page-about__ttl03 {
    font-size: 22px;
    letter-spacing: 0.045em;
    line-height: 2;
    font-weight: 300;
  }
  .page-about__ttl03 {
    margin-bottom: 20px;
  }
  .page-about__en {
    font-size: 15px;
    line-height: 1.6;
    font-weight: 300;
  }
  .page-about__en {
    margin-bottom: auto;
  }
  .page-about__en.is-01 {
    margin-bottom: auto;
  }
  .page-about__en.is-02 {
    margin-bottom: 40px;
  }
  .page-about__en.is-03 {
    margin-bottom: 40px;
  }
  .page-about__text {
    font-size: 15px;
    line-height: 1.6;
    font-weight: 400;
  }
  .page-about__text + .page-about__text {
    margin-top: 35px;
  }
  .page-about__vmbox {
    margin-top: 35px;
  }
  .page-about__vmbox .ttl {
    padding-top: 18px;
  }
  .page-about__vmbox .ttl {
    padding-bottom: 18px;
  }
  .page-about__vmbox .ttl {
    margin-bottom: 40px;
  }
  .page-about__vmbox .ttl {
    font-size: 15px;
    letter-spacing: 0.045em;
    line-height: 1;
    font-weight: 400;
  }
  .page-about__vmbox .ttl:after {
    width: 16px;
  }
  .page-about__vmbox .ttl:after {
    height: 16px;
  }
  .page-about__vmbox .item + .item {
    margin-top: 18px;
  }
  .page-about__vmbox .item .item-img {
    width: 185px;
  }
  .page-about__vmbox .item .item-img {
    margin-right: 20px;
  }
  .page-about__vmbox .item .item-text {
    font-size: 15px;
    letter-spacing: 0.045em;
    line-height: 1.6;
    font-weight: 400;
  }
}

@media screen and (min-width: 768px) and (max-width: 839px) {
  .page-about-sec01 .box01 {
    width: 74%;
  }
  .page-about-sec01 .box02 {
    width: 26%;
  }
}

@media screen and (min-width: 840px) and (max-width: 889px) {
  .page-about-sec01 .box01 {
    width: 60%;
  }
  .page-about-sec01 .box02 {
    width: 40%;
  }
}

@media screen and (min-width: 890px) and (max-width: 1099px) {
  .page-about-sec01 .box01 {
    width: 55%;
  }
  .page-about-sec01 .box02 {
    width: 52%;
  }
}

@media screen and (min-width: 1100px), print {
  .page-about-sec01 .box01 {
    width: 48%;
  }
  .page-about-sec01 .box02 {
    width: 52%;
  }
  .page-about__ttl01.is-01 {
    /* width: 80%; */
  }
  .page-about__ttl01.is-02 {
    /* width: 38%;
    max-width: 216px; */
  }
  .page-about__ttl01.is-03 {
    /* width: 100%;
    max-width: 397px; */
  }
}

@media screen and (min-width: 768px) and (max-width: 1099px) {
  .page-about-sec01 .box02 {
    width: 45%;
  }
  .page-about__ttl01.is-01 {
    /* -webkit-transition: width .3s ease;
    transition: width .3s ease;
    width: 90%;
    max-width: 390px; */
  }
  .page-about__ttl01.is-02 {
    /* -webkit-transition: width .3s ease;
    transition: width .3s ease;
    width: 58%;
    max-width: 216px; */
  }
  .page-about__ttl01.is-03 {
    /* width: 100%;
    max-width: 397px; */
  }
}

@media screen and (max-width: 767px) {
  .page-about-sec04 .is-sec04-img01 {
    margin-bottom: 5.3vw;
    width: 66.6vw;
    margin-left: auto;
    margin-right: auto;
  }
  .page-about-sec04 .is-sec04-img02 {
    margin-bottom: 5.3vw;
    width: 66.6vw;
    margin-left: auto;
    margin-right: auto;
  }
  .page-about-sec04 .is-sec04-img03 {
    margin-bottom: 5.3vw;
    margin-left: auto;
    margin-right: auto;
  }
}
