@charset "UTF-8";
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  font-family: "Hiragino Sans W8", "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-size: 13px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  color: #000000;
  -webkit-print-color-adjust: exact;
  font-weight: 900;
}

a:link, a:visited, a:active {
  outline: 0 none #000;
  text-decoration: none;
}

@media screen and (min-width: 1000px) {
  a.tel-link {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  a.tel-link {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit;
  }
}

@media screen and (max-width: 767px) {
  html, body {
    min-width: 100%;
  }
  a.tel-link {
    pointer-events: auto;
  }
  .anchor-destination {
    margin-top: -48px;
    padding-top: 48px;
  }
}

.f-serif {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.f-sans {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}

.f-ubunts {
  font-family: 'Ubuntu', sans-serif;
  font-weight: bold;
}

.f-garamond {
  font-family: 'EB Garamond', serif;
  letter-spacing: 0.04em;
}

.u-pc {
  display: block;
}

.u-sp {
  display: none;
}

.u-between {
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
}

.u-around {
  -ms-flex-pack: distribute !important;
      justify-content: space-around !important;
}

.u-row-reverse {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: reverse !important;
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important;
}

.u-image {
  display: block;
}

.u-image img {
  vertical-align: bottom;
  width: 100%;
  height: auto;
}

.u-screen-reader-text {
  display: block;
  width: 0px;
  height: 0px;
  overflow: hidden;
}

.hidden-text {
  text-indent: -9999px;
  overflow: hidden;
  -webkit-background-size: 100% 100%;
          background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center center;
}

@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
  .u-sp {
    display: block;
  }
}

.swiper-lazy-preloader,
.swiper-lazy-preloader:after {
  -webkit-border-radius: 50%;
          border-radius: 50%;
  width: 3em;
  height: 3em;
}

.swiper-lazy-preloader {
  font-size: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -2em;
  margin-left: -2em;
  text-indent: -9999em;
  border-top: 0.5em solid rgba(255, 255, 255, 0.2);
  border-right: 0.5em solid rgba(255, 255, 255, 0.2);
  border-bottom: 0.5em solid rgba(255, 255, 255, 0.2);
  border-left: 0.5em solid #ffffff;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*==========================
_header.scss
==========================*/
.global-header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  background-color: #fff;
  z-index: 99999;
  -webkit-transition: 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.global-header_inner {
  position: relative;
  height: 100%;
  z-index: 1;
}

.global-header_brand {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100px;
  height: auto;
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
  z-index: 3;
}

.global-header_navigation {
  position: fixed;
  background-color: #E20D7F;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 100%;
  height: 0;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 2;
  -webkit-transition: 0.6s;
  transition: 0.6s;
}

.global-header_navigationinner {
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.global-header_navigationinner > * {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.global-header_navigation.js-show {
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.9);
}

.global-header_navigation.js-show + .global-header_overlay {
  visibility: visible;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.global-header_overlay {
  z-index: 0;
  display: block;
  position: fixed;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden;
}

.global-header:after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  z-index: 0;
  background-color: #fff;
  top: 0;
  left: 0;
  -webkit-transition: 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transform: translate(0, -100%);
          transform: translate(0, -100%);
}

.main-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100vh;
}

.main-navigation_link {
  font-size: 26px;
  line-height: 1em;
  color: #000;
  letter-spacing: 0.2em;
  padding-left: 0.2em;
  margin-bottom: 40px;
  text-align: center;
}

.main-navigation_site {
  width: 115px;
}

.menu-btn {
  display: block;
  position: absolute;
  background-color: #000;
  top: 35px;
  left: 35px;
  width: 60px;
  height: 60px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  z-index: 5;
  -webkit-border-radius: 60px;
          border-radius: 60px;
}

.menu-btn > span {
  width: 30px;
  height: 3px;
  display: block;
  background-color: #FFF000;
  position: absolute;
  top: 50%;
  left: calc(50%);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transform-origin: 4px 0;
          transform-origin: 4px 0;
  -webkit-transition: 0.8s cubic-bezier(0.83, 0, 0.17, 1);
  transition: 0.8s cubic-bezier(0.83, 0, 0.17, 1);
}

.menu-btn > span:before, .menu-btn > span:after {
  content: '';
  width: 30px;
  height: 3px;
  display: block;
  position: absolute;
  -webkit-transition: 0.8s cubic-bezier(0.83, 0, 0.17, 1);
  transition: 0.8s cubic-bezier(0.83, 0, 0.17, 1);
}

.menu-btn > span:before {
  top: -6px;
  left: 0;
  background-color: #E20D7F;
}

.menu-btn > span:after {
  bottom: -6px;
  left: 0;
  background-color: #00A0E9;
}

.menu-btn.js-show > span {
  width: 0;
}

.menu-btn.js-show > span:before {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  top: 0;
  left: -15px;
}

.menu-btn.js-show > span:after {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  bottom: 0;
  left: -15px;
}

@media screen and (min-width: 1000px) {
  .global-header_brand {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .global-header_brand:link:hover {
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  }
  .main-navigation_link {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .main-navigation_link:hover, .main-navigation_link:focus {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  .main-navigation_site {
    position: relative;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .main-navigation_site:after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    left: 50%;
    bottom: 0;
    -webkit-transform: translate(-50%, 10px);
            transform: translate(-50%, 10px);
    -webkit-transition: 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    transition: 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  }
  .main-navigation_site:hover:after {
    width: 100%;
    background-color: #000000;
  }
  .menu-btn:hover, .menu-btn:focus {
    -webkit-transition: 0.6s;
    transition: 0.6s;
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    -webkit-border-radius: 100px;
            border-radius: 100px;
    cursor: pointer;
    outline: 0;
  }
}

/**
  small pc
 */
@media screen and (max-width: 1100px) {
  .menu-btn {
    top: 15px;
    left: 15px;
  }
}

@media screen and (max-width: 767px) {
  .global-header {
    width: 100%;
    height: auto;
  }
  .global-header_navigation {
    -webkit-overflow-scrolling: touch;
    width: 100%;
  }
  .global-header_navigationinner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .global-header_navigationinner > * {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .global-header_navigation > * {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .global-header_navigation .lesson-calendar {
    display: block;
    width: auto;
    margin: 0 5px 0;
  }
  .global-header_navigation .lesson-calendar_head {
    padding: 0;
  }
  .global-header_navigation .lesson-calendar_head .main-navigation_link {
    padding: 20px 0;
  }
  .global-header_brand {
    display: none;
  }
  .main-navigation_link {
    font-size: 7vw;
  }
  .menu-btn {
    top: 15px;
    left: auto;
    right: 15px;
    width: 45px;
    height: 45px;
  }
  .menu-btn:focus {
    outline: 0;
  }
}

/*==========================
_footer.scss
==========================*/
.global-footer {
  margin-top: 190px;
}

.global-footer_top {
  text-align: center;
  font-family: "Hiragino Sans W4", "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-weight: normal;
}

.global-footer_credit {
  font-size: 15px;
}

.global-footer_copyright {
  margin-top: 10px;
  font-size: 10px;
}

.global-footer_btn {
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  background-color: #000;
  color: #fff;
  font-size: 26px;
  line-height: 1em;
  font-weight: 900;
  text-align: center;
  height: 95px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}

@media screen and (min-width: 1000px) {
  .global-footer_btn:hover {
    color: #000;
    background-color: #FFF000;
  }
}

@media screen and (max-width: 767px) {
  .global-footer {
    margin-top: 60px;
  }
  .global-footer_credit {
    font-size: 13px;
  }
  .global-footer_btn {
    font-size: 24px;
    height: 65px;
  }
}

/*==========================
_layout.scss
==========================*/
.contents-inner {
  width: 1000px;
  margin: 0 auto;
}

.opening-screen {
  position: fixed;
  display: block;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #fff;
  z-index: 110000;
  -webkit-transition: 0.8s cubic-bezier(0.65, 0, 0.35, 1);
  transition: 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}

.opening-screen_element {
  position: absolute;
  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;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 110001;
  font-size: 3vw;
  -webkit-transition: 0.8s cubic-bezier(0.65, 0, 0.35, 1);
  transition: 0.8s cubic-bezier(0.65, 0, 0.35, 1);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  letter-spacing: 0.2em;
  padding-left: 1em;
}

.opening-screen_skip {
  position: absolute;
  bottom: 30px;
  right: 30px;
  text-decoration: underline;
  z-index: 110002;
}

.opening-screen.js-initial .opening-screen_element.s-first, .opening-screen.js-initial .opening-screen_element.s-second {
  -webkit-animation-name: slide;
          animation-name: slide;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-duration: 2000ms;
          animation-duration: 2000ms;
  -webkit-animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
          animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.opening-screen.js-initial .opening-screen_element.s-second {
  -webkit-animation-delay: 2000ms;
          animation-delay: 2000ms;
}

.opening-screen.js-fixed {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden;
}

@-webkit-keyframes slide {
  0% {
    -webkit-transform: translate(-2%, 0);
            transform: translate(-2%, 0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  40% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  60% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  100% {
    -webkit-transform: translate(2%, 0);
            transform: translate(2%, 0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
}

@keyframes slide {
  0% {
    -webkit-transform: translate(-2%, 0);
            transform: translate(-2%, 0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  40% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  60% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  100% {
    -webkit-transform: translate(2%, 0);
            transform: translate(2%, 0);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
}

.key-visual {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 545px;
}

.key-visual_inner {
  width: 970px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.key-visual_arw {
  position: absolute;
  bottom: 55px;
  left: 55px;
  width: 20px;
  -webkit-transition: 0.8s cubic-bezier(0.65, 0, 0.35, 1);
  transition: 0.8s cubic-bezier(0.65, 0, 0.35, 1);
  -webkit-transform: translate(0, 100%);
          transform: translate(0, 100%);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.key-visual_arw:after {
  margin-top: 15px;
  margin-left: 7px;
  width: 18px;
  height: 40px;
  display: block;
  content: "";
  background-image: url("../images/common/scroll-effect.svg");
  -webkit-background-size: 100% 100%;
          background-size: 100% 100%;
  background-position: 0 0;
  background-repeat: no-repeat;
  -webkit-animation-name: arw-scroll;
          animation-name: arw-scroll;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
          animation-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

.key-visual.js-initial .key-visual_arw {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.logo-type {
  position: absolute;
  width: 345px;
  height: auto;
  top: 50%;
  left: 50%;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-transform: translate(-48%, 230px);
          transform: translate(-48%, 230px);
}

.logo-type img {
  -webkit-transition: 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.logo-type.js-initial {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  -webkit-transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transform: translate(-48%, 180px);
          transform: translate(-48%, 180px);
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

.logo-type.js-fixed {
  -webkit-transform: translate(-48%, 230px);
          transform: translate(-48%, 230px);
  -webkit-transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
}

.logo-type.js-fixed img {
  -webkit-transform: scale(2.75);
          transform: scale(2.75);
  -webkit-transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
}

.main-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -60%);
          transform: translate(-50%, -60%);
  width: 345px;
  height: 345px;
  -webkit-transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.main-logo_element {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  mix-blend-mode: multiply;
  -webkit-background-size: 100% 100%;
          background-size: 100% 100%;
  background-repeat: no-repeat;
}

.main-logo_element img {
  -webkit-transition: 0.8s cubic-bezier(0.83, 0, 0.17, 1);
  transition: 0.8s cubic-bezier(0.83, 0, 0.17, 1);
}

.main-logo_element.s-el0 {
  mix-blend-mode: normal;
  z-index: 100;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

.main-logo_element.s-el1 {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

.main-logo_element.s-el1 img {
  -webkit-transform-origin: 0 100%;
          transform-origin: 0 100%;
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}

.main-logo_element.s-el2 {
  -webkit-transform: rotate(60deg);
          transform: rotate(60deg);
}

.main-logo_element.s-el2 img {
  -webkit-transform-origin: 0 100%;
          transform-origin: 0 100%;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}

.main-logo_element.s-el3 {
  -webkit-transform: rotate(120deg);
          transform: rotate(120deg);
}

.main-logo_element.s-el3 img {
  -webkit-transform-origin: 0 100%;
          transform-origin: 0 100%;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}

.main-logo.js-fixed {
  -webkit-transform: translate(-112%, -60%);
          transform: translate(-112%, -60%);
}

.main-logo.js-completed .main-logo_element.s-el1, .main-logo.js-completed .main-logo_element.s-el2, .main-logo.js-completed .main-logo_element.s-el3 {
  display: none;
}

.main-logo.js-initial .main-logo_element.s-el0 {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.main-logo.js-initial .main-logo_element.s-el1 img {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.main-logo.js-initial .main-logo_element.s-el2 img {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.main-logo.js-initial .main-logo_element.s-el3 img {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.main-catch {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 150px;
  display: block;
  font-size: 15px;
  line-height: 23px;
  letter-spacing: 0.2em;
  -webkit-transform: translate(-312%, -400%);
          transform: translate(-312%, -400%);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-transition: 0.8s cubic-bezier(0.65, 0, 0.35, 1);
  transition: 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}

.main-catch.js-initial {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  -webkit-transform: translate(-312%, -590%);
          transform: translate(-312%, -590%);
}

.main-statement {
  width: 500px;
}

.main-statement_inner {
  padding-left: 120px;
  -webkit-transition: 1s cubic-bezier(0.65, 0, 0.35, 1);
  transition: 1s cubic-bezier(0.65, 0, 0.35, 1);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-transform: translate(30%, -16%);
          transform: translate(30%, -16%);
}

.main-statement_text {
  width: 330px;
}

.main-statement.js-initial .main-statement_inner {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  -webkit-transform: translate(10%, -16%);
          transform: translate(10%, -16%);
}

.main-charctors {
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(80%, -270px);
          transform: translate(80%, -270px);
  width: 71px;
  height: 400px;
}

.main-charctors_element {
  position: absolute;
  -webkit-transition: 1s cubic-bezier(0.65, 0, 0.35, 1);
  transition: 1s cubic-bezier(0.65, 0, 0.35, 1);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-transform: translate(100%, 0);
          transform: translate(100%, 0);
  left: 0;
}

.main-charctors_element.s-el1 {
  top: 0;
  z-index: 10;
}

.main-charctors_element.s-el1 .main-charctors_text {
  background-image: url(../images/common/leaf-bubble_01.svg);
}

.main-charctors_element.s-el2 {
  margin-left: -5px;
  top: 147px;
}

.main-charctors_element.s-el2 .main-charctors_text {
  background-image: url(../images/common/leaf-bubble_02.svg);
}

.main-charctors_element.s-el3 {
  top: 294px;
}

.main-charctors_element.s-el3 .main-charctors_text {
  background-image: url(../images/common/leaf-bubble_03.svg);
}

.main-charctors_image {
  height: 116px;
  width: 71px;
  -webkit-transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
  transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
}

.main-charctors_text {
  position: absolute;
  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;
  padding-bottom: 10px;
  top: 50%;
  left: 50%;
  font-size: 18px;
  line-height: 23px;
  text-align: center;
  -webkit-transform: translate(-50%, -200%);
          transform: translate(-50%, -200%);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-transition: 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  transition: 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  width: 210px;
  height: 210px;
  -webkit-background-size: 100% 100%;
          background-size: 100% 100%;
  background-repeat: no-repeat;
}

.main-charctors.js-initial .main-charctors_element {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.main-charctors.js-fixed {
  position: absolute;
  top: auto;
  bottom: 0;
  -webkit-transform: translate(80%, 132px);
          transform: translate(80%, 132px);
}

.main-charctors.js-fixed .main-charctors_element.s-el1 {
  -webkit-transform: translate(-100px, 850px);
          transform: translate(-100px, 850px);
}

.main-charctors.js-fixed .main-charctors_element.s-el1 .main-charctors_image {
  -webkit-transform: scale(4.5);
          transform: scale(4.5);
}

.main-charctors.js-fixed .main-charctors_element.s-el1 .main-charctors_text {
  -webkit-transform: translate(-50%, -493px);
          transform: translate(-50%, -493px);
}

.main-charctors.js-fixed .main-charctors_element.s-el2 {
  -webkit-transform: translate(-320px, 690px);
          transform: translate(-320px, 690px);
}

.main-charctors.js-fixed .main-charctors_element.s-el2 .main-charctors_image {
  -webkit-transform: scale(4.5);
          transform: scale(4.5);
}

.main-charctors.js-fixed .main-charctors_element.s-el2 .main-charctors_text {
  -webkit-transform: translate(-50%, -480px);
          transform: translate(-50%, -480px);
}

.main-charctors.js-fixed .main-charctors_element.s-el3 {
  -webkit-transform: translate(120px, 540px);
          transform: translate(120px, 540px);
}

.main-charctors.js-fixed .main-charctors_element.s-el3 .main-charctors_image {
  -webkit-transform: scale(4.5);
          transform: scale(4.5);
}

.main-charctors.js-fixed .main-charctors_element.s-el3 .main-charctors_text {
  -webkit-transform: translate(-50%, -477px);
          transform: translate(-50%, -477px);
}

.main-charctors.js-fixed .main-charctors_text {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.lead-container {
  height: 1150px;
  width: 100%;
}

.dev-error {
  margin: 30px;
  padding: 30px;
  border: 1px solid #f00;
  color: #f00;
  line-height: 2em;
}

#Content,
#Map {
  padding-top: 100px;
}

@-webkit-keyframes arw-scroll {
  0% {
    background-position: 0 -40px;
  }
  33% {
    background-position: 0 40px;
  }
  100% {
    background-position: 0 40px;
  }
}

@keyframes arw-scroll {
  0% {
    background-position: 0 -40px;
  }
  33% {
    background-position: 0 40px;
  }
  100% {
    background-position: 0 40px;
  }
}

/**
  pc
 */
@media screen and (min-width: 1000px) {
  .opening-screen_skip:hover, .opening-screen_skip:focus {
    cursor: pointer;
    background-color: #FFF000;
  }
}

/**
  sp
 */
@media screen and (max-width: 767px) {
  .opening-screen_element {
    font-size: 6vw;
    letter-spacing: 0.2em;
    padding-left: 1.2em;
  }
  .contents-inner {
    width: auto;
    margin: 0 auto;
  }
  .key-visual {
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 0;
  }
  .key-visual_inner {
    width: auto;
    display: block;
  }
  .key-visual_arw {
    position: relative;
    bottom: auto;
    left: auto;
    margin: 0 auto;
    width: 16px;
    -webkit-transition: 0.8s cubic-bezier(0.65, 0, 0.35, 1);
    transition: 0.8s cubic-bezier(0.65, 0, 0.35, 1);
    -webkit-transform: translate(0, 100%);
            transform: translate(0, 100%);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  .key-visual_arw:after {
    width: 13px;
    height: 35px;
  }
  .key-visual.js-initial .key-visual_arw {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transition: 1.8s cubic-bezier(0.22, 1, 0.36, 1);
    transition: 1.8s cubic-bezier(0.22, 1, 0.36, 1);
    -webkit-transition-delay: 0.5s;
            transition-delay: 0.5s;
  }
  .logo-type {
    position: relative;
    width: 60vw;
    margin: 0 auto;
    top: 0;
    left: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .logo-type.js-initial {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .logo-type.js-fixed {
    -webkit-transition: 2.5s cubic-bezier(0.22, 1, 0.36, 1);
    transition: 2.5s cubic-bezier(0.22, 1, 0.36, 1);
    -webkit-transition-delay: 1.2s;
            transition-delay: 1.2s;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .logo-type.js-fixed img {
    -webkit-transition: 1.8s cubic-bezier(0.22, 1, 0.36, 1);
    transition: 1.8s cubic-bezier(0.22, 1, 0.36, 1);
    -webkit-transition-delay: 0.5s;
            transition-delay: 0.5s;
    -webkit-transform: translate(0, -230%);
            transform: translate(0, -230%);
  }
  .main-logo {
    position: relative;
    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;
    top: 0;
    left: 0;
    -webkit-transform: translate(0, 10%);
            transform: translate(0, 10%);
    width: 25vw;
    height: 25vw;
    margin: 45vw auto 30vw;
    -webkit-transition: 2.5s cubic-bezier(0.22, 1, 0.36, 1);
    transition: 2.5s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .main-logo_element {
    position: absolute;
    top: 0;
    left: 0;
    width: 25vw;
    height: 25vw;
    display: block;
    mix-blend-mode: multiply;
    -webkit-background-size: 100% 100%;
            background-size: 100% 100%;
    background-repeat: no-repeat;
  }
  .main-logo_element img {
    -webkit-transition: 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    transition: 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .main-logo_element.s-el0 {
    mix-blend-mode: normal;
    z-index: 100;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
    transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
    -webkit-transition-delay: 1.2s;
            transition-delay: 1.2s;
  }
  .main-logo_element.s-el1 img {
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
    -webkit-transition-delay: 0.4s;
            transition-delay: 0.4s;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
  }
  .main-logo_element.s-el2 {
    -webkit-transform: rotate(60deg);
            transform: rotate(60deg);
  }
  .main-logo_element.s-el2 img {
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
  }
  .main-logo_element.s-el3 {
    -webkit-transform: rotate(120deg);
            transform: rotate(120deg);
  }
  .main-logo_element.s-el3 img {
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
    -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
  }
  .main-logo.js-fixed {
    -webkit-transform: translate(0, 0) scale(2);
            transform: translate(0, 0) scale(2);
  }
  .main-catch {
    position: absolute;
    top: 17px;
    left: 15px;
    width: 150px;
    display: block;
    font-size: 14px;
    line-height: 1.5em;
    letter-spacing: 0.2em;
    -webkit-transform: translate(0, 100%);
            transform: translate(0, 100%);
  }
  .main-catch.js-initial {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .main-statement {
    position: relative;
    width: 100%;
    margin-top: 20vw;
  }
  .main-statement_inner {
    padding-left: 25vw;
    padding-top: 2vw;
    padding-right: 4vw;
    -webkit-transition: 1s cubic-bezier(0.65, 0, 0.35, 1);
    transition: 1s cubic-bezier(0.65, 0, 0.35, 1);
    -webkit-transform: translate(0, 10%);
            transform: translate(0, 10%);
  }
  .main-statement_text {
    width: auto;
  }
  .main-statement.js-initial .main-statement_inner {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .main-charctors {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    width: auto;
    height: auto;
  }
  .main-charctors_element {
    position: absolute;
    -webkit-transition: 1s cubic-bezier(0.65, 0, 0.35, 1);
    transition: 1s cubic-bezier(0.65, 0, 0.35, 1);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: translate(100%, 0);
            transform: translate(100%, 0);
    left: 3vw;
  }
  .main-charctors_element.s-el1 {
    top: 0;
    z-index: 10;
  }
  .main-charctors_element.s-el1 .main-charctors_text {
    background-image: url(../images/common/leaf-bubble_01.svg);
  }
  .main-charctors_element.s-el2 {
    top: 33vw;
  }
  .main-charctors_element.s-el2 .main-charctors_text {
    background-image: url(../images/common/leaf-bubble_02.svg);
  }
  .main-charctors_element.s-el3 {
    top: 66vw;
  }
  .main-charctors_element.s-el3 .main-charctors_text {
    background-image: url(../images/common/leaf-bubble_03.svg);
  }
  .main-charctors_image {
    height: auto;
    width: 15vw;
    -webkit-transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
  }
  .main-charctors_text {
    font-size: 3.2vw;
    line-height: 1.25em;
    text-align: center;
    width: 35vw;
    height: 35vw;
  }
  .main-charctors.js-initial .main-charctors_element {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .main-charctors.js-fixed {
    position: absolute;
    top: 0;
    bottom: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el1 {
    -webkit-transform: translate(40vw, 160vw);
            transform: translate(40vw, 160vw);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el1 .main-charctors_image {
    -webkit-transform: scale(2.5);
            transform: scale(2.5);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el1 .main-charctors_text {
    -webkit-transform: translate(-50%, -180%);
            transform: translate(-50%, -180%);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el2 {
    -webkit-transform: translate(15vw, 127vw);
            transform: translate(15vw, 127vw);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el2 .main-charctors_image {
    -webkit-transform: scale(2.5);
            transform: scale(2.5);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el2 .main-charctors_text {
    -webkit-transform: translate(-65%, -180%);
            transform: translate(-65%, -180%);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el3 {
    -webkit-transform: translate(64vw, 94vw);
            transform: translate(64vw, 94vw);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el3 .main-charctors_image {
    -webkit-transform: scale(2.5);
            transform: scale(2.5);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el3 .main-charctors_text {
    -webkit-transform: translate(-35%, -180%);
            transform: translate(-35%, -180%);
  }
  .lead-container {
    height: 115vw;
  }
}

/**
  min-height 545
 */
@media screen and (max-height: 545px) {
  .main-charctors {
    top: 0;
    -webkit-transform: translate(80%, 0);
            transform: translate(80%, 0);
  }
}

/**
  small pc
 */
@media screen and (min-width: 1000px) and (max-width: 1100px) {
  .key-visual_arw {
    bottom: 10px;
    left: 0;
    width: 20px;
  }
}

/**
  tablet
 */
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .key-visual_inner {
    width: 775px;
  }
  .key-visual_arw {
    bottom: 35px;
    left: 35px;
    width: 20px;
  }
  .logo-type.js-fixed {
    -webkit-transform: translate(-49%, 230px);
            transform: translate(-49%, 230px);
  }
  .logo-type.js-fixed img {
    -webkit-transform: scale(2);
            transform: scale(2);
  }
  .main-logo {
    width: 240px;
    height: 240px;
  }
  .main-logo.js-fixed {
    -webkit-transform: translate(-145%, -55%);
            transform: translate(-145%, -55%);
  }
  .main-catch {
    -webkit-transform: translate(-232%, -400%);
            transform: translate(-232%, -400%);
  }
  .main-catch.js-initial {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform: translate(-232%, -550%);
            transform: translate(-232%, -550%);
  }
  .main-statement {
    width: 500px;
  }
  .main-statement.js-initial .main-statement_inner {
    -webkit-transform: translate(3%, -11%);
            transform: translate(3%, -11%);
  }
  .main-charctors {
    -webkit-transform: translate(-100%, -250px);
            transform: translate(-100%, -250px);
  }
  .main-charctors.js-fixed {
    position: absolute;
    top: auto;
    bottom: 0;
    -webkit-transform: translate(-100%, 132px);
            transform: translate(-100%, 132px);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el1 {
    -webkit-transform: translate(40px, 750px);
            transform: translate(40px, 750px);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el1 .main-charctors_image {
    -webkit-transform: scale(3);
            transform: scale(3);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el1 .main-charctors_text {
    -webkit-transform: translate(-50%, -403px);
            transform: translate(-50%, -403px);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el2 {
    -webkit-transform: translate(-115px, 600px);
            transform: translate(-115px, 600px);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el2 .main-charctors_image {
    -webkit-transform: scale(3);
            transform: scale(3);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el2 .main-charctors_text {
    -webkit-transform: translate(-55%, -390px);
            transform: translate(-55%, -390px);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el3 {
    -webkit-transform: translate(165px, 450px);
            transform: translate(165px, 450px);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el3 .main-charctors_image {
    -webkit-transform: scale(3);
            transform: scale(3);
  }
  .main-charctors.js-fixed .main-charctors_element.s-el3 .main-charctors_text {
    -webkit-transform: translate(-30%, -387px);
            transform: translate(-30%, -387px);
  }
  .lead-container {
    height: 850px;
    width: 100%;
  }
}

/**
  print
 */
@media print {
  .key-visual_inner {
    width: 775px;
  }
  .key-visual_arw {
    bottom: 35px;
    left: 35px;
    width: 20px;
  }
  .logo-type.js-fixed {
    -webkit-transform: translate(-49%, 230px);
            transform: translate(-49%, 230px);
  }
  .logo-type.js-fixed img {
    -webkit-transform: scale(2);
            transform: scale(2);
  }
  .main-logo {
    width: 240px;
    height: 240px;
  }
  .main-logo.js-fixed {
    -webkit-transform: translate(-145%, -55%);
            transform: translate(-145%, -55%);
  }
  .main-catch {
    -webkit-transform: translate(-232%, -400%);
            transform: translate(-232%, -400%);
  }
  .main-catch.js-initial {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform: translate(-232%, -550%);
            transform: translate(-232%, -550%);
  }
  .main-statement {
    width: 500px;
  }
  .main-statement.js-initial .main-statement_inner {
    -webkit-transform: translate(3%, -11%);
            transform: translate(3%, -11%);
  }
  .main-charctors {
    position: absolute;
    top: auto;
    bottom: 0;
    -webkit-transform: translate(80%, 132px);
            transform: translate(80%, 132px);
  }
  .main-charctors .main-charctors_element.s-el1 {
    -webkit-transform: translate(-100px, 850px);
            transform: translate(-100px, 850px);
  }
  .main-charctors .main-charctors_element.s-el1 .main-charctors_image {
    -webkit-transform: scale(3);
            transform: scale(3);
  }
  .main-charctors .main-charctors_element.s-el1 .main-charctors_text {
    -webkit-transform: translate(-35%, -493px);
            transform: translate(-35%, -493px);
  }
  .main-charctors .main-charctors_element.s-el2 {
    -webkit-transform: translate(-320px, 690px);
            transform: translate(-320px, 690px);
  }
  .main-charctors .main-charctors_element.s-el2 .main-charctors_image {
    -webkit-transform: scale(3);
            transform: scale(3);
  }
  .main-charctors .main-charctors_element.s-el2 .main-charctors_text {
    -webkit-transform: translate(-35%, -480px);
            transform: translate(-35%, -480px);
  }
  .main-charctors .main-charctors_element.s-el3 {
    -webkit-transform: translate(120px, 240px);
            transform: translate(120px, 240px);
  }
  .main-charctors .main-charctors_element.s-el3 .main-charctors_image {
    -webkit-transform: scale(3);
            transform: scale(3);
  }
  .main-charctors .main-charctors_element.s-el3 .main-charctors_text {
    -webkit-transform: translate(-35%, -177px);
            transform: translate(-35%, -177px);
  }
  .main-charctors .main-charctors_text {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transition-delay: 0.5s;
            transition-delay: 0.5s;
  }
}

/*==========================
_contents-wrapper.scss
==========================*/
.contents-wrapper_inner {
  max-width: 1000px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .contents-wrapper {
    padding-right: 0;
    min-width: 0;
  }
}

/*==========================
_cases-container.scss
==========================*/
.cases-container_list {
  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;
  padding: 100px 0 120px;
}

@media screen and (max-width: 767px) {
  .cases-container_list {
    padding: 0 10px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
  .cases-container_list {
    width: 740px;
    margin: 0 auto;
  }
}

@media print {
  .cases-container_list {
    display: block;
  }
}

/*==========================
_cases-element.scss
==========================*/
.cases-element {
  width: 230px;
  margin-top: 55px;
}

.cases-element_label {
  text-align: center;
  font-size: 25px;
  line-height: 1em;
  height: 50px;
}

.cases-element_label span span {
  display: inline-block;
  padding: 0 0.25em;
}

.cases-element_label.s-2line {
  font-size: 17px;
  line-height: 1.3em;
}

.cases-element_wrap {
  position: relative;
}

.cases-element_trigger {
  position: relative;
  width: auto;
  height: 230px;
  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;
  -webkit-border-radius: 1000px;
          border-radius: 1000px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  z-index: 99991;
  outline: 0 solid #f3f3f3;
}

.cases-element_triggertext {
  font-size: 18px;
  line-height: 26px;
  padding-left: 0.25em;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-transition: 0.6s cubic-bezier(0.65, 0, 0.35, 1);
  transition: 0.6s cubic-bezier(0.65, 0, 0.35, 1);
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_bg {
  width: 1000px;
  height: 1000px;
  visibility: visible;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  z-index: 99995;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_inner {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible;
  -webkit-transition-delay: 400ms;
          transition-delay: 400ms;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_overlay {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust {
  margin-left: 40%;
  margin-top: -30%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust img {
  -webkit-transform: scale(2.25, 2.25);
          transform: scale(2.25, 2.25);
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-1 {
  margin-left: 30%;
  margin-top: -25%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-1 img {
  -webkit-transform: scale(2.5, 2.5);
          transform: scale(2.5, 2.5);
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-2 {
  margin-left: 45%;
  margin-top: -25%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-2 img {
  -webkit-transform: scale(2.5, 2.5);
          transform: scale(2.5, 2.5);
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-3 {
  margin-left: 35%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-4 {
  margin-top: -25%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-4 img {
  -webkit-transform: scale(2.5, 2.5);
          transform: scale(2.5, 2.5);
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-5 {
  margin-left: 45%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-6 {
  margin-left: 40%;
  margin-top: -40%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-8 img {
  -webkit-transform: scale(2.5, 2.5);
          transform: scale(2.5, 2.5);
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-9 {
  margin-top: -35%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-10 {
  margin-top: -35%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-11 {
  margin-top: -25%;
  margin-left: 45%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-12 {
  margin-top: -20%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-13 {
  margin-top: -33%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-14 {
  margin-left: 45%;
  margin-top: -33%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-15 img {
  -webkit-transform: scale(2.5, 2.5);
          transform: scale(2.5, 2.5);
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-16 {
  margin-left: 35%;
  margin-top: -30%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-17 {
  margin-top: -15%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-18 {
  margin-left: 45%;
  margin-top: -25%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-19 {
  margin-left: 35%;
  margin-top: -25%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-21 {
  margin-top: -35%;
}

.cases-element_trigger.js-show + .cases-element_modal .cases-element_close {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible;
}

.cases-element_illust {
  height: 145px;
  width: auto;
  -webkit-transition: 1s cubic-bezier(0.65, 0, 0.35, 1);
  transition: 1s cubic-bezier(0.65, 0, 0.35, 1);
}

.cases-element_illust.ie-fixed {
  left: 55%;
}

.cases-element_illust img {
  height: 100%;
  width: auto;
  -webkit-transition: 1s cubic-bezier(0.65, 0, 0.35, 1);
  transition: 1s cubic-bezier(0.65, 0, 0.35, 1);
  -webkit-transform: translate(0, 0) rotate(0deg);
          transform: translate(0, 0) rotate(0deg);
}

.cases-element_bg {
  position: absolute;
  width: 230px;
  height: 230px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-border-radius: 2000px;
          border-radius: 2000px;
  -webkit-transition: 1s;
  transition: 1s;
  background-color: #dedede;
  z-index: 99990;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  will-change: top,left,width,height;
}

.cases-element_inner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  padding-bottom: 30px;
  width: 700px;
}

.cases-element_name {
  font-size: 110px;
}

.cases-element_name.s-large {
  font-size: 110px;
}

.cases-element_name.s-mid-large {
  font-size: 80px;
}

.cases-element_name.s-mid {
  font-size: 65px;
}

.cases-element_name.s-small {
  font-size: 50px;
}

.cases-element_name.s-2line {
  width: 50%;
}

.cases-element_name.s-2line span {
  display: inline-block;
  padding: 0 0.5em 0 0;
}

.cases-element_catch {
  line-height: 1.4em;
  margin-top: 0.5em;
  font-size: 40px;
  -webkit-transform: translate(-2px, 0);
          transform: translate(-2px, 0);
}

.cases-element_text {
  margin-top: 1em;
  font-size: 18px;
  line-height: 2em;
}

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

.cases-element_linklogo {
  margin-right: 2em;
}

.cases-element_linklogo img {
  height: 60px;
  width: auto;
}

.cases-element_linkurl {
  font-size: 18px;
  word-break: break-all;
  color: #00f;
  font-family: "Hiragino Sans W5", "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-weight: normal;
}

.cases-element_linkwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 45px auto 0;
}

.cases-element_overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.5);
  z-index: 99992;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-transition: 500ms;
  transition: 500ms;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  visibility: hidden;
}

.cases-element_overlay:focus {
  outline: 0;
}

.cases-element_close {
  position: fixed;
  display: block;
  top: 35px;
  left: 35px;
  background-color: #000;
  width: 60px;
  height: 60px;
  -webkit-border-radius: 30px;
          border-radius: 30px;
  z-index: 100001;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden;
}

.cases-element_close:after, .cases-element_close:before {
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 3px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  background-color: #fff;
}

.cases-element_close:after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

.cases-element:nth-child(3n-2) .cases-element_bg {
  background-color: #00A0E9;
}

.cases-element:nth-child(3n-1) .cases-element_bg {
  background-color: #FFF000;
}

.cases-element:nth-child(3n) .cases-element_bg {
  background-color: #E20D7F;
}

.cases-element.js-fade-image .cases-element_label {
  -webkit-transition: 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 1s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.cases-element.js-fade-image .cases-element_bg {
  -webkit-transition: 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 1s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
  -webkit-transform: translate(-50%, -30%);
          transform: translate(-50%, -30%);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.cases-element.js-fade-image.js-fixed .cases-element_label {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.cases-element.js-fade-image.js-fixed .cases-element_label.s-2line {
  -webkit-transform: translate(0, -20%);
          transform: translate(0, -20%);
}

.cases-element.js-fade-image.js-fixed .cases-element_bg {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

/**
 animation
 */
.s-shake {
  -webkit-animation-name: shake;
          animation-name: shake;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 5000ms;
          animation-duration: 5000ms;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.s-spin {
  -webkit-animation-name: spin;
          animation-name: spin;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 5000ms;
          animation-duration: 5000ms;
  -webkit-animation-delay: 3000ms;
          animation-delay: 3000ms;
  -webkit-transform: rotateY(0);
          transform: rotateY(0);
}

.s-ratting {
  -webkit-animation-name: ratting;
          animation-name: ratting;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 5000ms;
          animation-duration: 5000ms;
  -webkit-animation-delay: 1000ms;
          animation-delay: 1000ms;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.s-ratting-v {
  -webkit-animation-name: ratting-v;
          animation-name: ratting-v;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 5000ms;
          animation-duration: 5000ms;
  -webkit-animation-delay: 2500ms;
          animation-delay: 2500ms;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.s-shrink {
  -webkit-animation-name: shrink;
          animation-name: shrink;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 5000ms;
          animation-duration: 5000ms;
  -webkit-animation-delay: 1000ms;
          animation-delay: 1000ms;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.s-skew {
  -webkit-animation-name: skew;
          animation-name: skew;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 5000ms;
          animation-duration: 5000ms;
  -webkit-animation-delay: 1000ms;
          animation-delay: 1000ms;
  -webkit-transform: skew(0deg, 0deg);
          transform: skew(0deg, 0deg);
}

@-webkit-keyframes shake {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  10% {
    -webkit-transform: rotate(8deg);
            transform: rotate(8deg);
  }
  20% {
    -webkit-transform: rotate(-8deg);
            transform: rotate(-8deg);
  }
  30% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}

@keyframes shake {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  10% {
    -webkit-transform: rotate(8deg);
            transform: rotate(8deg);
  }
  20% {
    -webkit-transform: rotate(-8deg);
            transform: rotate(-8deg);
  }
  30% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  10% {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
  }
  20% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  100% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  10% {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
  }
  20% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  100% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
}

@-webkit-keyframes ratting {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  5% {
    -webkit-transform: translate(2%, 0%);
            transform: translate(2%, 0%);
  }
  10% {
    -webkit-transform: translate(-2%, 0%);
            transform: translate(-2%, 0%);
  }
  15% {
    -webkit-transform: translate(3%, 0%);
            transform: translate(3%, 0%);
  }
  20% {
    -webkit-transform: translate(-3%, 0%);
            transform: translate(-3%, 0%);
  }
  35% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  100% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}

@keyframes ratting {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  5% {
    -webkit-transform: translate(2%, 0%);
            transform: translate(2%, 0%);
  }
  10% {
    -webkit-transform: translate(-2%, 0%);
            transform: translate(-2%, 0%);
  }
  15% {
    -webkit-transform: translate(3%, 0%);
            transform: translate(3%, 0%);
  }
  20% {
    -webkit-transform: translate(-3%, 0%);
            transform: translate(-3%, 0%);
  }
  35% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  100% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}

@-webkit-keyframes ratting-v {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  5% {
    -webkit-transform: translate(0%, 2%);
            transform: translate(0%, 2%);
  }
  10% {
    -webkit-transform: translate(0%, -2%);
            transform: translate(0%, -2%);
  }
  15% {
    -webkit-transform: translate(0%, 3%);
            transform: translate(0%, 3%);
  }
  20% {
    -webkit-transform: translate(0%, -3%);
            transform: translate(0%, -3%);
  }
  35% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  100% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}

@keyframes ratting-v {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  5% {
    -webkit-transform: translate(0%, 2%);
            transform: translate(0%, 2%);
  }
  10% {
    -webkit-transform: translate(0%, -2%);
            transform: translate(0%, -2%);
  }
  15% {
    -webkit-transform: translate(0%, 3%);
            transform: translate(0%, 3%);
  }
  20% {
    -webkit-transform: translate(0%, -3%);
            transform: translate(0%, -3%);
  }
  35% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  100% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}

@-webkit-keyframes shrink {
  0% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  10% {
    -webkit-transform: scale(1.2, 0.8);
            transform: scale(1.2, 0.8);
  }
  20% {
    -webkit-transform: scale(0.8, 1.2);
            transform: scale(0.8, 1.2);
  }
  30% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  100% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

@keyframes shrink {
  0% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  10% {
    -webkit-transform: scale(1.2, 0.8);
            transform: scale(1.2, 0.8);
  }
  20% {
    -webkit-transform: scale(0.8, 1.2);
            transform: scale(0.8, 1.2);
  }
  30% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  100% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

@-webkit-keyframes skew {
  0% {
    -webkit-transform: skew(0deg, 0deg);
            transform: skew(0deg, 0deg);
  }
  10% {
    -webkit-transform: skew(5deg, 5deg);
            transform: skew(5deg, 5deg);
  }
  20% {
    -webkit-transform: skew(-5deg, -5deg);
            transform: skew(-5deg, -5deg);
  }
  30% {
    -webkit-transform: skew(0deg, 0deg);
            transform: skew(0deg, 0deg);
  }
  100% {
    -webkit-transform: skew(0deg, 0deg);
            transform: skew(0deg, 0deg);
  }
}

@keyframes skew {
  0% {
    -webkit-transform: skew(0deg, 0deg);
            transform: skew(0deg, 0deg);
  }
  10% {
    -webkit-transform: skew(5deg, 5deg);
            transform: skew(5deg, 5deg);
  }
  20% {
    -webkit-transform: skew(-5deg, -5deg);
            transform: skew(-5deg, -5deg);
  }
  30% {
    -webkit-transform: skew(0deg, 0deg);
            transform: skew(0deg, 0deg);
  }
  100% {
    -webkit-transform: skew(0deg, 0deg);
            transform: skew(0deg, 0deg);
  }
}

@media screen and (min-width: 1000px) {
  .cases-element_trigger:focus .cases-element_triggertext {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .cases-element_trigger:focus + .cases-element_modal .cases-element_illust {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transition: 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    transition: 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .cases-element_trigger:hover {
    cursor: pointer;
  }
  .cases-element_trigger.js-hover {
    cursor: pointer;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .cases-element_trigger.js-hover .cases-element_triggertext {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .cases-element_trigger.js-hover + .cases-element_modal .cases-element_illust {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transition: 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    transition: 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .cases-element_close {
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }
  .cases-element_close:hover, .cases-element_close:focus {
    cursor: pointer;
  }
  .cases-element_link {
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }
  .cases-element_link:hover, .cases-element_link:focus {
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  }
}

@media screen and (max-width: 767px) {
  .cases-element {
    width: calc(50vw - 20px);
    margin-top: 50px;
  }
  .cases-element_label {
    font-size: 5vw;
    height: 40px;
  }
  .cases-element_label.s-2line {
    font-size: 3.3vw;
    line-height: 1.3em;
  }
  .cases-element_wrap {
    position: relative;
  }
  .cases-element_trigger {
    width: calc(50vw - 20px);
    height: calc(50vw - 20px);
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_bg {
    width: 170vw;
    height: 170vw;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_inner {
    width: calc(90vw);
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_overlay {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    visibility: visible;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-1, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-2, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-3, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-4, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-5, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-6, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-7, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-8, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-9, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-10, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-11, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-12, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-13, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-14, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-15, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-16, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-17, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-18, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-19, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-20, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-21 {
    margin-left: 0;
    margin-bottom: 35%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-1 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-2 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-3 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-4 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-5 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-6 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-7 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-8 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-9 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-10 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-11 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-12 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-13 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-14 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-15 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-16 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-17 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-18 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-19 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-20 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-21 img {
    -webkit-transform: scale(2);
            transform: scale(2);
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-1 {
    margin-bottom: 23%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-2 {
    margin-bottom: 40%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-2 img {
    -webkit-transform: scale(1.75);
            transform: scale(1.75);
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-3, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-7, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-15 {
    margin-bottom: 25%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-3 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-7 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-15 img {
    -webkit-transform: scale(1.75);
            transform: scale(1.75);
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-4 {
    margin-bottom: 32%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-6 {
    margin-bottom: 21%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-6 img {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-8, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-16 {
    margin-bottom: 23%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-9 {
    margin-bottom: 30%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-9 img {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-10 {
    margin-bottom: 21%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-10 img {
    -webkit-transform: scale(1.75);
            transform: scale(1.75);
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-11 {
    margin-bottom: 40%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-13 {
    margin-bottom: 19%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-14 {
    margin-bottom: 32%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-14 img {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-12 img, .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-18 img {
    -webkit-transform: scale(1.75);
            transform: scale(1.75);
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-19 {
    margin-bottom: 25%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-19 img {
    -webkit-transform: scale(1.75);
            transform: scale(1.75);
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-17 {
    margin-bottom: 40%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-17 img {
    -webkit-transform: scale(2.2);
            transform: scale(2.2);
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-20 {
    margin-bottom: 15%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_illust.mod-21 {
    margin-bottom: 16%;
  }
  .cases-element_trigger.js-show + .cases-element_modal .cases-element_close {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    visibility: visible;
  }
  .cases-element_illust {
    height: 30vw;
  }
  .cases-element_bg {
    width: calc(50vw - 20px);
    height: calc(50vw - 20px);
  }
  .cases-element_inner {
    width: calc(100vw - 60px);
    position: absolute;
    top: auto;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, -60px);
            transform: translate(-50%, -60px);
    padding-bottom: 0;
  }
  .cases-element_name {
    font-size: 8vw;
  }
  .cases-element_name.s-large, .cases-element_name.s-mid-large, .cases-element_name.s-mid {
    font-size: 9vw;
  }
  .cases-element_name.s-small {
    font-size: 7vw;
    line-height: 1.25em;
  }
  .cases-element_name.s-2line {
    width: 50%;
  }
  .cases-element_catch {
    font-size: 6.5vw;
  }
  .cases-element_text {
    margin-top: 0.9em;
    font-size: 3.9vw;
  }
  .cases-element_linklogo {
    margin-right: 1em;
  }
  .cases-element_linklogo img {
    height: 45px;
  }
  .cases-element_linkurl {
    font-size: 14px;
  }
  .cases-element_linkwrap {
    margin-top: 5vw;
  }
  .cases-element_close {
    top: 15px;
    left: auto;
    right: 15px;
    width: 45px;
    height: 45px;
  }
}

@media print {
  .cases-element {
    width: 500px !important;
    height: 500px !important;
    margin: 0 auto;
  }
  .cases-element_label {
    display: none;
  }
  .cases-element_illust {
    margin-left: 35% !important;
    margin-top: -40% !important;
  }
  .cases-element_illust img {
    -webkit-transform: scale(1) !important;
            transform: scale(1) !important;
  }
  .cases-element_bg {
    width: 500px !important;
    height: 500px !important;
    top: 50% !important;
    left: 50% !important;
  }
  .cases-element_inner {
    opacity: 1 !important;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    visibility: visible !important;
    width: 350px !important;
  }
  .cases-element_overlay {
    display: none;
  }
  .cases-element_name {
    font-size: 30px !important;
  }
  .cases-element_catch {
    font-size: 20px;
  }
  .cases-element_text {
    font-size: 10px;
  }
  .cases-element_linklogo img {
    height: 30px;
  }
  .cases-element_linkurl {
    font-size: 10px;
  }
  .cases-element_linkwrap {
    margin: 20px auto 0;
  }
  .cases-element.js-fade-image .cases-element_label {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .cases-element.js-fade-image .cases-element_bg {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
}

/*==========================
_cases-modal.scss
==========================*/
.cases-modal {
  position: fixed;
  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;
  z-index: 10000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background-color: rgba(0, 0, 0, 0.5);
  will-change: transform, opacity;
}

.cases-modal.js-show {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible;
}

.cases-modal_inner {
  width: 900px;
  height: 500px;
}

.cases-modal_button {
  position: fixed;
  top: 50%;
  padding: 20px;
  background-color: #fff;
  -webkit-border-radius: 5px;
          border-radius: 5px;
}

.cases-modal_button.s-prev {
  left: 0;
  -webkit-transform: translate(20px, -50%);
          transform: translate(20px, -50%);
}

.cases-modal_button.s-next {
  right: 0;
  -webkit-transform: translate(-20px, -50%);
          transform: translate(-20px, -50%);
}

.cases-modal_close {
  position: fixed;
  top: 20px;
  right: 20px;
  padding: 20px;
  background-color: #fff;
  -webkit-border-radius: 5px;
          border-radius: 5px;
}

.cases-modal_button, .cases-modal_close {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.cases-modal_button:focus, .cases-modal_close:focus {
  background-color: #000;
  color: #fff;
}

@media screen and (min-width: 1000px) {
  .cases-modal_button:hover, .cases-modal_close:hover {
    background-color: #000;
    color: #fff;
    cursor: pointer;
  }
}

/*==========================
_cases-swiper.scss
==========================*/
.cases-swiper_element {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 500px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-border-radius: 5px;
          border-radius: 5px;
  background-color: #fff;
}

/*==========================
_map-container.scss
==========================*/
.map-container_inner {
  position: relative;
  margin-top: 50px;
}

.map-container_base {
  position: relative;
  width: 600px;
  margin: 0 auto;
}

.map-container_map.js-fade-image {
  -webkit-transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.map-container_map.js-fade-image + .map-container_list .map-element_trigger:after {
  -webkit-transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.map-container_map.js-fade-image.js-fixed {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.map-container_map.js-fade-image.js-fixed + .map-container_list .map-element_trigger:after {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

@media screen and (max-width: 767px) {
  .map-container_base {
    margin-top: 30vw;
    position: relative;
    width: calc(100% - 0px);
  }
}

@media print {
  .map-container_base {
    position: relative;
    width: 400px;
    margin: 0 auto;
  }
  .map-container_map.js-fade-image {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .map-container_map.js-fade-image + .map-container_list .map-element_trigger:after {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
}

/*==========================
_map-charctors.scss
==========================*/
.map-charctors {
  position: absolute;
  width: 600px;
  height: 632px;
  top: 50px;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 10;
}

.map-charctors_element {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
}

.map-charctors_element.s-el1 {
  -webkit-transform: translate(370px, -190px);
          transform: translate(370px, -190px);
}

.map-charctors_element.s-el1 .map-charctors_text {
  -webkit-transform: translate(-130px, -150px);
          transform: translate(-130px, -150px);
  background-image: url(../images/common/leaf-bubble_01b.svg);
}

.map-charctors_element.s-el2 {
  -webkit-transform: translate(420px, 150px);
          transform: translate(420px, 150px);
}

.map-charctors_element.s-el2 .map-charctors_text {
  -webkit-transform: translate(-130px, -100px);
          transform: translate(-130px, -100px);
  background-image: url(../images/common/leaf-bubble_02b.svg);
}

.map-charctors_element.s-el3 {
  -webkit-transform: translate(-500px, -50px);
          transform: translate(-500px, -50px);
}

.map-charctors_element.s-el3 .map-charctors_text {
  -webkit-transform: translate(60px, -130px);
          transform: translate(60px, -130px);
  background-image: url(../images/common/leaf-bubble_03b.svg);
}

.map-charctors_image {
  width: 80px;
  height: auto;
}

.map-charctors_text {
  position: absolute;
  top: 0;
  left: 0;
  width: 152px;
  height: 152px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  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;
  -webkit-background-size: cover;
          background-size: cover;
  font-size: 15px;
  line-height: 19px;
  text-align: center;
}

.map-charctors.js-fade-image {
  -webkit-transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.map-charctors.js-fade-image.js-fixed {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

@media screen and (max-width: 767px) {
  .map-charctors {
    position: absolute;
    width: calc(100% - 20px);
    height: 100vw;
    top: auto;
    left: 10px;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .map-charctors_element {
    z-index: 10;
  }
  .map-charctors_element.s-el1 {
    top: 5%;
    left: 90%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .map-charctors_element.s-el1 .map-charctors_text {
    -webkit-transform: translate(-90%, -80%);
            transform: translate(-90%, -80%);
  }
  .map-charctors_element.s-el2 {
    top: 145%;
    left: 40%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .map-charctors_element.s-el2 .map-charctors_text {
    -webkit-transform: translate(-85%, -60%);
            transform: translate(-85%, -60%);
  }
  .map-charctors_element.s-el3 {
    top: 165%;
    left: 60%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .map-charctors_element.s-el3 .map-charctors_text {
    -webkit-transform: translate(30%, -80%);
            transform: translate(30%, -80%);
  }
  .map-charctors_image {
    width: 15vw;
    height: auto;
  }
  .map-charctors_text {
    position: absolute;
    top: 0;
    left: 0;
    width: 35vw;
    height: 35vw;
    font-size: 4vw;
    line-height: 1.5em;
    text-align: center;
  }
  .map-charctors.js-fade-image {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .map-charctors.js-fade-image.js-fixed {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
  .map-charctors_element.s-el1 {
    -webkit-transform: translate(280px, -190px);
            transform: translate(280px, -190px);
  }
  .map-charctors_element.s-el2 {
    -webkit-transform: translate(300px, 120px);
            transform: translate(300px, 120px);
  }
  .map-charctors_element.s-el3 {
    -webkit-transform: translate(-370px, -50px);
            transform: translate(-370px, -50px);
  }
}

@media print {
  .map-charctors {
    margin: 100px auto 0;
    position: static;
    -webkit-transform: translate(0, 0) !important;
            transform: translate(0, 0) !important;
  }
  .map-charctors.js-fade-image {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .map-charctors_element {
    position: static;
    -webkit-transform: translate(0, 0) !important;
            transform: translate(0, 0) !important;
    width: 80px;
    margin: 0 auto;
  }
}

/*==========================
_map-element.scss
==========================*/
.map-element_trigger {
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 22px;
  height: 22px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  z-index: 99991;
  outline: 0 solid #f3f3f3;
}

.map-element_trigger:after {
  content: "";
  width: 22px;
  height: 22px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #050074;
  -webkit-border-radius: 40px;
          border-radius: 40px;
}

.map-element_trigger.js-show + .map-element_overlay {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  z-index: 99995;
}

.map-element_trigger.js-show + .map-element_overlay + .map-element_modal {
  z-index: 99996;
}

.map-element_trigger.js-show + .map-element_overlay + .map-element_modal .map-element_bg {
  width: 600px;
  height: 600px;
  visibility: visible;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  background-color: #050074;
  -webkit-transition: 1s, background-color 0s;
  transition: 1s, background-color 0s;
}

.map-element_trigger.js-show + .map-element_overlay + .map-element_modal .map-element_inner {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.map-element_trigger.js-show + .map-element_overlay + .map-element_modal .map-element_illust {
  -webkit-transform: translate(150px, -50%);
          transform: translate(150px, -50%);
}

.map-element_trigger.js-show + .map-element_overlay + .map-element_modal .map-element_illust img {
  -webkit-transform: scale(3.5) translate(0, 0);
          transform: scale(3.5) translate(0, 0);
}

.map-element_trigger.js-show + .map-element_overlay + .map-element_modal + .map-element_close {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible;
}

.map-element_modal {
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 22px;
  height: 22px;
  z-index: 99990;
}

.map-element_bg {
  position: absolute;
  width: 22px;
  height: 22px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-border-radius: 2000px;
          border-radius: 2000px;
  -webkit-transition: 1s, background-color 0s 1s;
  transition: 1s, background-color 0s 1s;
  z-index: 99992;
  overflow: hidden;
}

.map-element_inner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 99999;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden;
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-delay: 400ms;
          transition-delay: 400ms;
  width: 450px;
  color: #fff;
}

.map-element_overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.5);
  z-index: 99989;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-transition: 500ms;
  transition: 500ms;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  visibility: hidden;
}

.map-element_overlay:focus {
  outline: 0;
}

.map-element_place {
  font-size: 20px;
  text-indent: 0.5em;
}

.map-element_list {
  padding-top: 10px;
}

.map-element_data {
  position: relative;
  margin-top: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  -webkit-border-radius: 5px;
          border-radius: 5px;
  padding-left: 10px;
}

.map-element_dataterm {
  position: absolute;
  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;
  -webkit-border-radius: 100px;
          border-radius: 100px;
  overflow: hidden;
  width: 50px;
  height: 50px;
  top: 50%;
  left: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #fff;
}

.map-element_dataterm img {
  width: 100%;
}

.map-element_dataterm.s-cyan {
  background-color: #00A0E9;
}

.map-element_dataterm.s-magenta {
  background-color: #E20D7F;
}

.map-element_dataterm.s-yellow {
  background-color: #FFF000;
}

.map-element_datadesc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0 0 20px;
  width: auto;
  font-size: 13px;
  line-height: 1.5em;
  color: #050074;
}

.map-element_text {
  display: block;
  padding: 10px;
  width: calc(100% - 110px);
}

.map-element_text > * {
  display: block;
}

.map-element_cap {
  display: block;
}

.map-element_desc {
  margin-top: 3px;
  font-size: 12px;
  font-family: "Hiragino Sans W5", "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-weight: normal;
}

.map-element_logo {
  display: block;
  width: 90px;
}

.map-element_logo.s-small {
  width: 50px;
  margin: 0 20px;
}

.map-element_close {
  position: fixed;
  display: block;
  top: 35px;
  left: 35px;
  background-color: #000;
  width: 60px;
  height: 60px;
  -webkit-border-radius: 30px;
          border-radius: 30px;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden;
  z-index: 100001;
}

.map-element_close:after, .map-element_close:before {
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 3px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  background-color: #fff;
}

.map-element_close:after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

.map-element:nth-child(1) .map-element_trigger, .map-element:nth-child(1) .map-element_modal {
  top: 9%;
  left: 68%;
}

.map-element:nth-child(2) .map-element_trigger, .map-element:nth-child(2) .map-element_modal {
  top: 28%;
  left: 14%;
}

.map-element:nth-child(3) .map-element_trigger, .map-element:nth-child(3) .map-element_modal {
  top: 65%;
  left: 62%;
}

.map-element:nth-child(4) .map-element_trigger, .map-element:nth-child(4) .map-element_modal {
  top: 75%;
  left: 29%;
}

.map-element:nth-child(5) .map-element_trigger, .map-element:nth-child(5) .map-element_modal {
  top: 77.15%;
  left: 20.5%;
}

.map-element:nth-child(6) .map-element_trigger, .map-element:nth-child(6) .map-element_modal {
  top: 88%;
  left: 79%;
}

.map-element:nth-child(7) .map-element_trigger, .map-element:nth-child(7) .map-element_modal {
  top: 94%;
  left: 86%;
}

@media screen and (min-width: 1000px) {
  .map-element_trigger.js-hover, .map-element_trigger:focus {
    cursor: pointer;
  }
  .map-element_trigger.js-hover:after, .map-element_trigger:focus:after {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transition: 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
    transition: 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
    -webkit-transform: translate(-50%, -50%) scale(3);
            transform: translate(-50%, -50%) scale(3);
  }
  .map-element_close {
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }
  .map-element_close:hover, .map-element_close:focus {
    cursor: pointer;
  }
}

@media screen and (max-width: 767px) {
  .map-element_trigger.js-show + .map-element_overlay + .map-element_modal .map-element_bg {
    width: 140vw;
    height: 140vw;
  }
  .map-element_inner {
    width: calc(100vw - 20px);
  }
  .map-element_place {
    font-size: 5vw;
    text-align: center;
    text-indent: 0;
  }
  .map-element_dataterm {
    width: 40px;
    height: 40px;
    top: 10px;
    left: 10px;
  }
  .map-element_datadesc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: auto;
    font-size: 12px;
    line-height: 1.3em;
  }
  .map-element_data + .map-element_data {
    margin-top: 2px;
  }
  .map-element_close {
    top: 15px;
    left: auto;
    right: 15px;
    width: 45px;
    height: 45px;
  }
  .map-element_cap {
    font-size: 3.4vw;
  }
  .map-element_desc {
    font-size: 3vw;
  }
  .map-element_logo {
    display: block;
  }
}

@media print {
  .map-element {
    width: 500px !important;
    height: 500px !important;
    margin: 0 auto;
  }
  .map-element_label, .map-element_trigger, .map-element_overlay {
    display: none;
  }
  .map-element_modal {
    position: static !important;
    top: 0 !important;
    left: 0 !important;
  }
  .map-element_bg {
    width: 500px !important;
    height: 500px !important;
    top: 50% !important;
    left: 50% !important;
    -webkit-transform: translate(0, 0) !important;
            transform: translate(0, 0) !important;
    background-color: #050074;
  }

  .map-element_inner {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    visibility: visible;
    width: 350px;
  }
  .map-element.js-fade-image .cases-element_label {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .map-element.js-fade-image .cases-element_bg {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
}

/*==========================
_contact-container.scss
==========================*/
.contact-container {
  margin-top: 175px;
}

.contact-container_heading > * {
  margin: 0 auto;
}

.contact-container_headingtext {
  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;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 186px;
  height: 186px;
  background-image: url(../images/common/leaf-bubble_04.svg);
  -webkit-background-size: cover;
          background-size: cover;
  color: #fff;
  font-size: 18px;
  line-height: 21px;
  text-align: center;
  -webkit-transform: translate(80%, 0);
          transform: translate(80%, 0);
}

.contact-container_headingimage {
  display: block;
  width: 254px;
}

.special {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}

.special2 {
  max-width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap:wrap;
}

.contact-container_btn {
  width: 450px;
  min-width: 0;
  height: 140px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #FFF000;
  font-size: 26px;
  -webkit-border-radius: 19px;
          border-radius: 19px;
  margin: 30px auto 0;
  overflow: hidden;
  -webkit-transition: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.contact-container_btn2 {
  width: 450px;
  min-width: 0;
  height: 140px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #00A0E9;
  font-size: 26px;
  -webkit-border-radius: 19px;
          border-radius: 19px;
  margin: 30px auto 0;
  overflow: hidden;
  -webkit-transition: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.contact-container_btn3 {
  width: 450px;
  min-width: 0;
  height: 140px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #E20D7F;
  text-align: center;
  font-size: 26px;
  -webkit-border-radius: 19px;
          border-radius: 19px;
  margin: 50px auto 0;
  overflow: hidden;
  -webkit-transition: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* .special2::after { 
  display: block;
  content: "";
  width: 450px;
  min-width: 0;
  height: 140px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-border-radius: 19px;
          border-radius: 19px;
  margin: 30px auto 0;
  overflow: hidden;
  -webkit-transition: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}  */

.contact-container_btn:link, .contact-container_btn:visited, .contact-container_btn2:link, .contact-container_btn2:visited, .contact-container_btn3:link, .contact-container_btn3:visited {
  color: #000;
}

.contact-container_btn:after, .contact-container_btn2:after, .contact-container_btn3:after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: 25px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 0;
  height: 0;
  border-top: 17px solid transparent;
  border-bottom: 17px solid transparent;
  border-left: 22px solid #000;
  border-right: 0px solid transparent;
  -webkit-transition: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.contact-container.js-fade-image .contact-container_heading, .contact-container.js-fade-image .contact-container_btn .contact-container_btn2 .contact-container_btn3 {
  -webkit-transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.contact-container.js-fade-image.js-fixed .contact-container_heading, .contact-container.js-fade-image.js-fixed .contact-container_btn .contact-container_btn2 .contact-container_btn3 {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.contact-container.js-fade-image.js-fixed .contact-container_btn .contact-container_btn2 .contact-container_btn3 {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.contact-container_btn:link, .contact-container_btn:visited .contact-container_btn2:link, .contact-container_btn2:visited .contact-container_btn3:link, .contact-container_btn3:visited {
  color: #000;
}

.contact-container_btn:after, .contact-container_btn2:after, .contact-container_btn3:after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: 25px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 0;
  height: 0;
  border-top: 17px solid transparent;
  border-bottom: 17px solid transparent;
  border-left: 22px solid #000;
  border-right: 0px solid transparent;
  -webkit-transition: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.contact-container.js-fade-image .contact-container_heading, .contact-container.js-fade-image .contact-container_btn .contact-container_btn2 .contact-container_btn3 {
  -webkit-transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 2s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.contact-container.js-fade-image.js-fixed .contact-container_heading, .contact-container.js-fade-image.js-fixed .contact-container_btn .contact-container_btn2 .contact-container_btn3 {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.contact-container.js-fade-image.js-fixed .contact-container_btn .contact-container_btn2 .contact-container_btn3 {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

@media screen and (min-width: 1000px) {
  .contact-container_btn:hover, .contact-container_btn2:hover, .contact-container_btn3:hover {
    background-color: #000;
    color: #fff;
  }
  .contact-container_btn:hover:after, .contact-container_btn2:hover:after, .contact-container_btn3:hover:after {
    right: -22px;
  }
}

@media screen and (max-width: 767px) {
  .contact-container {
    padding-top: 120px;
  }
  .contact-container_heading {
    position: relative;
  }
  .contact-container_heading > * {
    margin: 0 auto;
  }
  .contact-container_headingtext {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40vw;
    height: 40vw;
    font-size: 4vw;
    line-height: 1.5em;
    text-align: center;
    -webkit-transform: translate(15%, -90%);
            transform: translate(15%, -90%);
  }
  .contact-container_headingimage {
    display: block;
    width: 50%;
  }
  .contact-container_headingimage img {
    -webkit-transform: translate(-25%, 0);
            transform: translate(-25%, 0);
  }
  .contact-container_btn {
    width: 180px;
    height: 80px;
    background-color: #FFF000;
    text-align: left;
    font-size: 13px;
    font-weight: bold;
    -webkit-border-radius: 10px;
            border-radius: 10px;
    margin: 25px 0px 0px;
  }

  .contact-container_btn2 {
    width: 180px;
    height: 80px;
    background-color: #00A0E9;
    font-size: 13px;
    font-weight: bold;
    -webkit-border-radius: 10px;
            border-radius: 10px;
    margin: 25px 0px 0px;
  }

  .contact-container_btn3 {
    width: 180px;
    height: 80px;
    background-color: #E20D7F;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    -webkit-border-radius: 10px;
            border-radius: 10px;
    margin: 15px auto 0px;
  }

  .contact-container_btn:after, .contact-container_btn2:after, .contact-container_btn3:after {
    right: 5px;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 10px solid #000;
  }
}

@media print {
  .contact-container.js-fade-image .contact-container_heading, .contact-container.js-fade-image .contact-container_btn, .contact-container_btn2 {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .contact-container.js-fade-image .contact-container_btn, .contact-container_btn2:after {
    -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
  }
}

/*==========================
_common-heading.scss
==========================*/
.common-heading_icon {
  display: block;
  width: 125px;
  margin: 0 auto;
}

.common-heading_text {
  display: block;
  width: 432px;
  margin: 55px auto 0;
  font-size: 46px;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-bottom: 25px;
}

.common-heading_text:after {
  display: block;
  content: "";
  width: 100%;
  height: 14px;
  margin-top: 25px;
  background-color: #FFF000;
}

.common-heading.js-fade-image .common-heading_icon {
  -webkit-transition: 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 1s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.common-heading.js-fade-image .common-heading_text {
  -webkit-transition: 1s 0.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 1s 0.2s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.common-heading.js-fade-image .common-heading_text:after {
  -webkit-transition: 1s 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 1s 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}

.common-heading.js-fade-image.js-fixed .common-heading_icon {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.common-heading.js-fade-image.js-fixed .common-heading_text {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.common-heading.js-fade-image.js-fixed .common-heading_text:after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

@media screen and (max-width: 767px) {
  .common-heading_icon {
    display: block;
    width: 80px;
    margin: 0 auto;
  }
  .common-heading_text {
    width: 90%;
    margin: 35px auto 0;
    font-size: 30px;
  }
  .common-heading_text:after {
    height: 10px;
    margin-top: 15px;
  }
}

@media print {
  .common-heading.js-fade-image .common-heading_icon {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .common-heading.js-fade-image .common-heading_text {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .common-heading.js-fade-image .common-heading_text:after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

/*==========================
_overlay-mask.scss
==========================*/
.overlay-mask {
  position: fixed;
  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;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 120001;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.overlay-mask.js-show {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible;
}

.overlay-mask.js-loading {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible;
}

.overlay-mask.js-loading .overlay-mask_loader, .overlay-mask.js-loading .overlay-mask_loader:after {
  display: block;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  width: 80px;
  height: 80px;
}

.overlay-mask.js-loading .overlay-mask_loader {
  position: relative;
  border-top: 5px solid #FFF000;
  border-right: 5px solid #00A0E9;
  border-bottom: 5px solid #E20D7F;
  border-left: 5px solid #fff;
  -webkit-animation: loading 1.1s infinite linear;
          animation: loading 1.1s infinite linear;
}

@-webkit-keyframes loading {
  0% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
  }
  50% {
    -webkit-transform: rotate3d(0, 0, 1, 180deg);
            transform: rotate3d(0, 0, 1, 180deg);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 360deg);
            transform: rotate3d(0, 0, 1, 360deg);
  }
}

@keyframes loading {
  0% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
  }
  50% {
    -webkit-transform: rotate3d(0, 0, 1, 180deg);
            transform: rotate3d(0, 0, 1, 180deg);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 360deg);
            transform: rotate3d(0, 0, 1, 360deg);
  }
}

@media screen and (max-width: 767px) {
  .overlay-mask {
    min-width: 0;
  }
}

/*==========================
_modal-overlay.scss
==========================*/
.modal-overlay {
  position: fixed;
  z-index: 99991;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.5);
  -webkit-transition: 0.4s;
  transition: 0.4s;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden;
}

.modal-overlay:focus {
  outline: 0;
  background-color: rgba(255, 255, 255, 0.8);
}

.modal-overlay.js-show {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible;
}
