@charset "UTF-8";
/**
 * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
 * http://cssreset.com
 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* -------------------------------------------------------------
基本設定
--------------------------------------------------------------*/
body {
  -webkit-text-size-adjust: 100%;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.6;
  background: #F9F9F6; }
  @media screen and (max-width: 768px) {
    body {
      height: auto; } }

a {
  color: #008E72; }

sup {
  font-size: 50%;
  vertical-align: super; }

sub {
  font-size: 50%;
  vertical-align: bottom; }

.center-ph {
  text-align: center; }

.is-pc {
  display: block; }
  @media screen and (max-width: 768px) {
    .is-pc {
      display: none; } }

.is-sp {
  display: none; }
  @media screen and (max-width: 768px) {
    .is-sp {
      display: block; } }

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

.main {
  margin-top: 65px;
  padding: 0 40px 100px;
  display: block; }
  @media screen and (max-width: 768px) {
    .main {
      margin-top: 100px;
      padding: 0 20px 80px; } }

.inview {
  transform: translateY(40px);
  opacity: 0;
  transition: transform 1s, opacity 2s; }

.inview.show {
  transform: translateY(0);
  opacity: 1; }

@media screen and (min-width: 769px) {
  .header {
    width: 100%;
    height: 65px;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000; }
    .header__inner {
      max-width: 1230px;
      margin: 0 auto;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -webkit-align-items: center;
      align-items: center; }
    .header__logo {
      padding-left: 20px; }
      .header__logo a {
        background: #008E72;
        display: block;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        -moz-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        height: 65px;
        padding: 0 20px; }
        .header__logo a:hover {
          -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
          filter: alpha(opacity=70);
          -moz-opacity: 0.7;
          -webkit-opacity: 0.7;
          opacity: 0.7; }
    .header__gnaviBtn {
      display: none; }
    .header__gnavi {
      display: block !important; }
      .header__gnavi .gnavi__contents ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin: 0 10px; }
        .header__gnavi .gnavi__contents ul li:first-of-type a {
          position: relative; }
          .header__gnavi .gnavi__contents ul li:first-of-type a:before {
            content: "";
            width: 1px;
            height: 20px;
            background-color: #707070;
            position: absolute;
            top: 50%;
            -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
            left: 0; }
        .header__gnavi .gnavi__contents ul li a {
          color: #707070;
          font-size: 14px;
          font-size: 0.875rem;
          text-decoration: none;
          display: block;
          padding: 10px 30px;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-justify-content: center;
          justify-content: center;
          -webkit-align-items: center;
          align-items: center;
          -moz-transition: all 0.5s ease;
          -webkit-transition: all 0.5s ease;
          transition: all 0.5s ease;
          position: relative;
          font-size: 14px; }
          .header__gnavi .gnavi__contents ul li a:after {
            content: "";
            width: 1px;
            height: 20px;
            background-color: #707070;
            position: absolute;
            top: 50%;
            -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
            right: 0; }
          .header__gnavi .gnavi__contents ul li a:hover {
            -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
            filter: alpha(opacity=70);
            -moz-opacity: 0.7;
            -webkit-opacity: 0.7;
            opacity: 0.7; }
        .header__gnavi .gnavi__contents ul li.is-active a {
          color: #008E72;
          pointer-events: none;
          font-weight: bold; }
    .header__gc {
      padding: 10px 20px; }
      .header__gc a {
        display: block;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        -moz-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
        .header__gc a:hover {
          -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
          filter: alpha(opacity=70);
          -moz-opacity: 0.7;
          -webkit-opacity: 0.7;
          opacity: 0.7; } }
@media screen and (max-width: 768px) {
  .header {
    width: 100%;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    height: 100px; }
    .header__inner {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -webkit-align-items: center;
      align-items: center;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; }
    .header__logo {
      padding-left: 10px;
      order: 2;
      width: calc(60% - 10px); }
      .header__logo a {
        background: #008E72;
        display: block;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        -moz-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        height: 60px;
        padding: 0 10px; }
        .header__logo a:hover {
          -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
          filter: alpha(opacity=70);
          -moz-opacity: 0.7;
          -webkit-opacity: 0.7;
          opacity: 0.7; }
    .header__gnavi {
      order: 3;
      width: 100%; }
      .header__gnavi .gnavi {
        background: #fff; }
        .header__gnavi .gnavi__contents ul {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-justify-content: space-between;
          justify-content: space-between;
          padding: 0 10px; }
          .header__gnavi .gnavi__contents ul li:first-of-type {
            width: 26%; }
            .header__gnavi .gnavi__contents ul li:first-of-type a {
              position: relative; }
              .header__gnavi .gnavi__contents ul li:first-of-type a:before {
                content: "";
                width: 1px;
                height: 20px;
                background-color: #707070;
                position: absolute;
                top: 50%;
                -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
                left: 0; }
          .header__gnavi .gnavi__contents ul li:nth-of-type(2) {
            width: 26%; }
          .header__gnavi .gnavi__contents ul li:nth-of-type(3) {
            width: 48%; }
          .header__gnavi .gnavi__contents ul li a {
            color: #707070;
            font-size: 13px;
            font-size: 0.8125rem;
            text-decoration: none;
            display: block;
            padding: 10px;
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-justify-content: center;
            justify-content: center;
            -webkit-align-items: center;
            align-items: center;
            -moz-transition: all 0.5s ease;
            -webkit-transition: all 0.5s ease;
            transition: all 0.5s ease;
            position: relative; }
            .header__gnavi .gnavi__contents ul li a:after {
              content: "";
              width: 1px;
              height: 20px;
              background-color: #707070;
              position: absolute;
              top: 50%;
              -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
              right: 0; }
            .header__gnavi .gnavi__contents ul li a:hover {
              -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
              filter: alpha(opacity=70);
              -moz-opacity: 0.7;
              -webkit-opacity: 0.7;
              opacity: 0.7; }
          .header__gnavi .gnavi__contents ul li.is-active a {
            color: #008E72;
            pointer-events: none;
            font-weight: bold; }
    .header__gc {
      order: 1;
      width: 40%; }
      .header__gc a {
        padding: 10px;
        display: block;
        box-sizing: border-box;
        height: 60px;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        -moz-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
        .header__gc a:hover {
          -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
          filter: alpha(opacity=70);
          -moz-opacity: 0.7;
          -webkit-opacity: 0.7;
          opacity: 0.7; } }

.footer {
  Background: #C6C6C6;
  padding: 50px; }
  .footer-logo {
    width: 195px;
    margin: 0 auto 20px; }
  .footer-copy {
    text-align: center;
    color: #fff;
    box-sizing: border-box; }
    .footer-copy small {
      font-size: 14px;
      font-size: 0.875rem; }
  @media screen and (max-width: 768px) {
    .footer {
      font-size: 12px;
      font-size: 0.75rem;
      text-align: center;
      padding: 20px;
      box-sizing: border-box; }
      .footer-logo {
        width: 50%;
        margin: 0 auto 15px; } }

.pageTopBtn {
  width: 86px;
  height: 86px;
  display: none;
  position: fixed;
  right: 2%;
  bottom: 20px; }
  @media screen and (max-width: 768px) {
    .pageTopBtn {
      width: 50px;
      height: 50px;
      right: 3%; } }

.teaser .main {
  padding: 0 40px; }
.teaser .header {
  background: #F9F9F6; }
.teaser-content {
  padding: 100px 15px 150px; }
.teaser-ttl {
  font-family: 'Shippori Mincho', serif;
  font-weight: 400;
  text-align: center;
  font-size: 50px; }
.teaser-img {
  width: 75%;
  margin-left: auto; }
.teaser-lead {
  font-size: 16px;
  line-height: 2;
  color: #707070;
  text-align: left; }
.teaser-logo {
  margin-top: 40px; }
  .teaser-logo figure {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .teaser-logo img {
    width: 116px; }
  .teaser-logo figcaption {
    font-size: 10px;
    color: #707070;
    margin-left: 20px;
    text-align: left; }
.teaser-date {
  text-align: center;
  margin: 100px 0 70px; }
  .teaser-date span {
    font-size: 42px;
    display: inline-block;
    font-family: 'Shippori Mincho', serif;
    font-weight: 400;
    padding: 10px 50px;
    border: 1px solid #000; }
.teaser-bottom {
  text-align: center; }
  .teaser-bottom > div {
    display: inline-block; }
@media screen and (min-width: 1200px) {
  .teaser-img {
    max-width: 925px; } }
@media screen and (max-width: 768px) {
  .teaser .main {
    padding: 0 20px;
    margin-top: 60px; }
  .teaser-inner {
    max-width: 100%; }
  .teaser-content {
    max-width: 100%;
    padding: 40px 0 70px; }
  .teaser-ttl {
    font-size: 5.3333333333vw;
    margin-bottom: 2.6666666667vw;
    line-height: 1.25; }
  .teaser-img {
    width: 100%;
    margin: 20px 0 0 auto; }
  .teaser-lead {
    font-size: 4.2666666667vw;
    line-height: 1.7;
    color: #707070; }
  .teaser-logo {
    margin-top: 4vw; }
    .teaser-logo img {
      width: 24vw; }
    .teaser-logo figcaption {
      font-size: 2.6666666667vw;
      margin: 0 0 0 1.3333333333vw; }
  .teaser-date {
    margin: 9.3333333333vw 0; }
    .teaser-date span {
      font-size: 3.7333333333vw;
      padding: 2vw 4vw; } }

.intro .main {
  padding: 0 40px; }
.intro-inner {
  max-width: 1200px;
  margin: 0 auto;
  height: calc(100vh - 88px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  flex-direction: column; }
.intro-content {
  position: relative;
  height: calc(100vh - 88px); }
.intro-wrap {
  height: 100%;
  width: 100%; }
.intro-ttl {
  text-align: center;
  font-family: 'Shippori Mincho', serif;
  font-weight: 400;
  font-size: 42px;
  font-size: 2.625rem;
  height: 30%;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center; }
.intro-img {
  height: 70%;
  width: 100%;
  margin: 0 auto;
  position: relative; }
  .intro-img-top {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }
  .intro-img-bottom {
    position: absolute;
    height: 100%;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }
  .intro-img-btn {
    text-align: center;
    font-family: 'Shippori Mincho', serif;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    color: #707070;
    position: relative; }
    .intro-img-btn:before {
      content: "";
      background: url(../img/intro/img_arrow_down.svg) 0 0 no-repeat;
      background-size: contain;
      width: 37px;
      height: 50px;
      position: absolute;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      bottom: -55px; }
  .intro-img-kv {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: flex-end;
    align-items: flex-end;
    display: block;
    height: 100%; }
    .intro-img-kv:hover {
      -moz-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      .intro-img-kv:hover:hover {
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$opacity)";
        filter: alpha(opacity=70);
        -moz-opacity: 0.7;
        -webkit-opacity: 0.7;
        opacity: 0.7; }
    .intro-img-kv img {
      width: auto;
      height: 100%;
      display: block; }
@media screen and (max-width: 950px) {
  .intro .main {
    padding: 0 10px; }
  .intro-ttl {
    height: 50%;
    margin-bottom: 30px; }
  .intro-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    flex-direction: column; }
  .intro-img {
    height: 50%;
    width: 100%; }
    .intro-img-bottom {
      height: auto;
      width: 100%; }
    .intro-img-kv {
      height: auto; }
      .intro-img-kv img {
        width: 100%;
        height: auto; } }
@media screen and (max-width: 768px) {
  .intro-inner {
    max-width: 100%; }
  .intro-ttl {
    font-size: 30px; } }

.intro2-content {
  padding: 30px 0 0;
  position: relative; }
.intro2-top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  max-width: 1400px;
  margin: 0 auto; }
.intro2 .cursor-area {
  position: relative;
  cursor: none; }
.intro2-cursor {
  z-index: 100; }
  .intro2-cursor img {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    width: 500px;
    z-index: 10000; }
.intro2-left {
  width: 530px;
  display: block; }
  .intro2-left-img {
    width: 456px; }
  .intro2-left-video {
    width: 530px;
    border: 10px solid #fff;
    box-sizing: border-box; }
  .intro2-left-txt {
    font-size: 14px; }
.intro2-music {
  position: relative; }
  .intro2-music img {
    position: absolute;
    transform-origin: center bottom; }
  .intro2-music .one {
    top: 30px;
    left: -50px;
    animation: musicOne 2s linear infinite;
    width: 35px;
    height: 45px; }
  .intro2-music .two {
    top: -15px;
    left: -70px;
    animation: musicTwo 3s linear infinite;
    width: 25px;
    height: 35px; }
.intro2-btnwrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end; }
.intro2-btn a {
  background: #008E72;
  color: #fff;
  font-size: 18px;
  text-align: center;
  text-decoration: none;
  line-height: 1.2;
  border-radius: 50%;
  display: block;
  width: 140px;
  height: 140px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center; }
  .intro2-btn a:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-opacity: 0.7;
    opacity: 0.7; }
.intro2-btn + .intro2-btn {
  margin-left: 15px; }
@keyframes musicOne {
  0% , 100% {
    transform: rotate(10deg); }
  50% {
    transform: rotate(-10deg); } }
@keyframes musicTwo {
  0% , 100% {
    transform: rotate(10deg); }
  50% {
    transform: rotate(-10deg); } }
.intro2-right {
  margin-left: 10%;
  displa: block; }
  .intro2-right-wrap {
    width: 256px;
    margin: 0 auto; }
  .intro2-right-img {
    width: 100%;
    height: auto;
    position: relative; }
    .intro2-right-img img {
      height: auto;
      width: 100%;
      display: block; }
  .intro2-right-txt {
    font-family: 'Shippori Mincho', serif;
    font-weight: 400;
    text-align: center;
    font-size: 26px;
    margin-bottom: 30px; }
  .intro2-right-txt2 {
    font-size: 26px;
    text-align: center;
    color: #008E72;
    font-weight: bold;
    position: relative;
    margin-bottom: 30px; }
    .intro2-right-txt2:before {
      content: "";
      background: url(../img/intro/img_border_left.svg) 0 0 no-repeat;
      background-size: contain;
      width: 45px;
      height: 71px;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      left: -30px; }
    .intro2-right-txt2:after {
      content: "";
      background: url(../img/intro/img_border_right.svg) 0 0 no-repeat;
      background-size: contain;
      width: 45px;
      height: 71px;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      right: -30px; }
.intro2 .cursor-area.on_mouse .intro2-cursor img {
  visibility: visible;
  opacity: 1; }
.intro2-bottom {
  max-width: 1400px;
  margin: 0 auto; }
.intro2-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-top: 70px; }
  .intro2-menu li {
    width: 32%; }
    .intro2-menu li a {
      background: #fff;
      border-radius: 13px;
      font-size: 26px;
      border: 2px solid #008E72;
      padding: 30px 20px;
      text-align: center;
      display: block;
      color: #008E72;
      text-decoration: none;
      -moz-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease;
      box-shadow: 0px 0px 15px -5px #707070;
      height: 100%;
      box-sizing: border-box; }
      .intro2-menu li a:hover {
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$opacity)";
        filter: alpha(opacity=70);
        -moz-opacity: 0.7;
        -webkit-opacity: 0.7;
        opacity: 0.7; }
      .intro2-menu li a .bold {
        font-weight: bold; }
      .intro2-menu li a .item {
        font-size: 16px;
        font-weight: bold;
        position: relative; }
        .intro2-menu li a .item:before {
          content: "";
          background: url(../img/intro/ico_arrow.svg) 0 0 no-repeat;
          background-size: contain;
          width: 16px;
          height: 16px;
          position: absolute;
          top: 50%;
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
          left: -20px; }
.intro2-sp {
  display: none; }
@media screen and (max-width: 1280px) {
  .intro2-content {
    padding: 30px 0 0; }
  .intro2-top {
    max-width: 1280px; }
  .intro2-menu li a {
    padding: 30px 10px;
    font-size: 19px; }
  .intro2-left {
    width: 400px; }
    .intro2-left-video {
      width: 400px; }
  .intro2-right {
    margin-left: 7%; }
    .intro2-right-txt {
      font-size: 22px; }
    .intro2-right-txt2 {
      font-size: 22px; }
  .intro2-btnwrap {
    margin-bottom: 10px; }
  .intro2-btn {
    top: 15px;
    right: -10px; }
    .intro2-btn a {
      font-size: 16px;
      width: 120px;
      height: 120px; } }
@media screen and (max-width: 768px) {
  .intro2-content {
    padding-top: 20px; }
  .intro2-top {
    flex-direction: column; }
  .intro2-left {
    display: none; }
  .intro2-music .one {
    top: 40px;
    left: -5px;
    width: 25px;
    height: 35px; }
  .intro2-music .two {
    top: 0;
    left: -10px;
    width: 15px;
    height: 25px; }
  .intro2-right {
    display: none; }
  .intro2-bottom {
    max-width: 100%; }
  .intro2-menu {
    margin-top: 50px;
    flex-direction: column; }
    .intro2-menu li {
      width: 100%; }
      .intro2-menu li a {
        width: 100%;
        box-sizing: border-box;
        padding: 20px 15px;
        font-size: 18px; }
        .intro2-menu li a .item {
          font-size: 14px; }
      .intro2-menu li + li {
        margin-top: 20px; }
  .intro2-sp {
    display: block; }
  .intro2-btnwrap {
    margin-bottom: 0; }
  .intro2-btn a {
    font-size: 13px;
    width: 100px;
    height: 100px; } }

.data .main {
  padding: 0; }
.data-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px; }
.data-top {
  background-image: url(../img/teaser/kv.png);
  background-position: 100% 60%;
  background-repeat: no-repeat;
  background-size: 75%;
  height: calc(80vh - 88px);
  position: relative;
  padding-top: 50px; }
  .data-top-content {
    max-width: 60%; }
  .data-top-ttl {
    font-family: 'Shippori Mincho', serif;
    font-weight: 400;
    font-size: 36px;
    margin-bottom: 40px; }
  .data-top-lead {
    font-size: 24px;
    line-height: 2;
    color: #707070; }
    .data-top-lead span {
      color: #008E72;
      font-weight: bold; }
.data-subttl {
  text-align: center;
  font-size: 36px;
  color: #707070;
  font-weight: bold; }
  .data-subttl span {
    color: #008E72; }
.data-block01 {
  padding-top: 110px; }
  .data-block01-ttl {
    font-family: 'Shippori Mincho', serif;
    font-weight: 400;
    font-size: 36px;
    text-align: center;
    margin-bottom: 65px; }
  .data-block01-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    .data-block01-box .box {
      width: 32%;
      background: #fff;
      padding: 50px 50px 50px 30px;
      box-sizing: border-box;
      position: relative; }
      .data-block01-box .box-ttl {
        margin-bottom: 60px;
        text-align: center; }
        .data-block01-box .box-ttl span {
          font-family: 'Shippori Mincho', serif;
          font-weight: 400;
          font-size: 28px;
          display: inline-block;
          position: relative;
          padding: 0 10px; }
          .data-block01-box .box-ttl span:before {
            content: "";
            width: 100%;
            background: rgba(167, 167, 115, 0.2);
            height: 11px;
            position: absolute;
            left: 50%;
            -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
            bottom: 3px; }
      .data-block01-box .box-list li {
        font-size: 18px;
        position: relative;
        padding-left: 28px; }
        .data-block01-box .box-list li:before {
          content: "";
          background: url(../img/data/ico_check.svg) 0 0 no-repeat;
          background-size: contain;
          width: 19px;
          height: 18px;
          position: absolute;
          left: 0;
          top: 5px; }
        .data-block01-box .box-list li + li {
          margin-top: 20px; }
    .data-block01-box .box01:after {
      content: "";
      background: url(../img/data/img_human01.png) 0 0 no-repeat;
      background-size: contain;
      width: 23%;
      height: 143px;
      position: absolute;
      right: 3%;
      top: -30px; }
    .data-block01-box .box02:after {
      content: "";
      background: url(../img/data/img_human02.png) 0 0 no-repeat;
      background-size: contain;
      width: 23%;
      height: 138px;
      position: absolute;
      right: 3%;
      top: -30px; }
    .data-block01-box .box03:after {
      content: "";
      background: url(../img/data/img_human03.png) 0 0 no-repeat;
      background-size: contain;
      width: 33%;
      height: 154px;
      position: absolute;
      right: 1%;
      top: -30px; }
.data-block02 {
  padding: 80px 0;
  background: #fff;
  position: relative; }
  .data-block02-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center; }
  .data-block02-ttl {
    text-align: center;
    font-size: 24px;
    color: #707070;
    font-weight: bold; }
    .data-block02-ttl span {
      color: #008E72; }
  .data-block02-left {
    width: 40%;
    margin-right: 3%; }
    .data-block02-left-img {
      width: 70%;
      margin: 0 auto 30px; }
  .data-block02-right {
    width: 57%; }
    .data-block02-right-img {
      width: 100%;
      margin: 0 auto; }
.data-block03 {
  padding: 110px 0 220px; }
  .data-block03 .data-subttl {
    color: #008E72;
    margin-bottom: 80px; }
  .data-block03-img {
    width: 45%;
    margin-right: 5%; }
  .data-block03-movie {
    width: 50%;
    border: 3px solid #008E72; }
  .data-block03-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center; }
  .data-block03-logo {
    margin-top: 100px; }
    .data-block03-logo a {
      background: #fff;
      padding: 30px 100px;
      display: block;
      border-radius: 15px;
      -moz-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease;
      box-sizing: border-box;
      width: 50%;
      margin: 0 auto;
      border: 2px solid #008E72;
      box-shadow: 0px 0px 15px -5px #707070; }
      .data-block03-logo a:hover {
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$opacity)";
        filter: alpha(opacity=70);
        -moz-opacity: 0.7;
        -webkit-opacity: 0.7;
        opacity: 0.7; }
@media screen and (min-width: 1200px) {
  .data-top {
    background-size: 990px; } }
@media screen and (max-width: 1280px) {
  .data-top-lead {
    font-size: 20px; } }
@media screen and (max-width: 768px) {
  .data .main {
    margin-top: 60px; }
  .data-block {
    background-image: url(../img/teaser/kv.png);
    background-position: right 73%;
    background-repeat: no-repeat;
    background-size: 100%;
    height: calc(100vh - 60px); }
  .data-inner {
    max-width: 100%;
    padding: 0 20px; }
  .data-top {
    background: none;
    height: auto;
    position: relative;
    margin-bottom: 60px; }
    .data-top-content {
      max-width: 100%; }
    .data-top-ttl {
      font-size: 30px;
      margin-bottom: 30px; }
    .data-top-lead {
      font-size: 18px; }
  .data-subttl {
    font-size: 22px; }
  .data-block01 {
    padding-top: 50px; }
    .data-block01-ttl {
      font-size: 24px;
      margin-bottom: 40px; }
    .data-block01-box {
      flex-direction: column;
      margin-bottom: 50px; }
      .data-block01-box .box {
        width: 100%;
        padding: 40px 30px 40px 20px; }
        .data-block01-box .box + .box {
          margin-top: 40px; }
        .data-block01-box .box-ttl {
          margin-bottom: 30px; }
          .data-block01-box .box-ttl span {
            font-size: 20px; }
            .data-block01-box .box-ttl span:before {
              bottom: 1px; }
        .data-block01-box .box-list li {
          font-size: 16px;
          padding-left: 20px; }
          .data-block01-box .box-list li:before {
            width: 15px;
            height: 14px;
            top: 4px; }
          .data-block01-box .box-list li + li {
            margin-top: 13px; }
      .data-block01-box .box01:after {
        width: 73px;
        height: 110px;
        right: 10px;
        top: -20px; }
      .data-block01-box .box02:after {
        width: 74px;
        height: 106px;
        right: 10px;
        top: -20px; }
      .data-block01-box .box03:after {
        width: 100px;
        height: 110px;
        right: 10px;
        top: -20px; }
    .data-block01-img {
      width: 80%;
      margin: 40px auto 60px; }
  .data-block02 {
    padding: 40px 0; }
    .data-block02-img {
      width: 100%;
      margin: 30px auto 0; }
    .data-block02-wrap {
      flex-direction: column; }
    .data-block02-left {
      width: 100%;
      margin-right: 0;
      margin-bottom: 30px; }
      .data-block02-left-img {
        width: 70%;
        margin: 0 auto 30px; }
    .data-block02-right {
      width: 100%; }
      .data-block02-right-img {
        width: 100%; }
    .data-block02-ttl {
      font-size: 20px; }
  .data-block03 {
    padding: 40px 0 80px; }
    .data-block03 .data-subttl {
      margin-bottom: 40px; }
    .data-block03-img {
      width: 100%;
      margin-bottom: 20px; }
    .data-block03-wrap {
      flex-direction: column; }
    .data-block03-movie {
      width: 100%; }
    .data-block03-logo {
      margin-top: 50px; }
      .data-block03-logo a {
        padding: 20px 30px;
        width: 90%; } }

.product .main {
  padding: 0 0 170px; }
.product-inner {
  padding-top: 70px; }
.product-top {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px; }
  .product-top-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .product-top-txt {
    width: calc(100% - 317px - 95px); }
  .product-top-img {
    width: 317px;
    margin-left: 95px; }
.product-ttl {
  color: #008E72;
  font-size: 38px;
  font-weight: bold;
  margin-bottom: 30px; }
.product-lead {
  font-size: 24px;
  line-height: 2;
  font-weight: bold;
  color: #707070; }
.product-logo {
  margin-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .product-logo img {
    width: 116px; }
  .product-logo figcaption {
    font-size: 16px;
    color: #707070;
    margin-left: 20px; }
.product-movie {
  max-width: 920px;
  margin: 120px auto;
  padding: 0 15px; }
  .product-movie-img {
    border: 3px solid #008E72; }
.product-detail-inner {
  padding: 180px 15px 120px;
  max-width: 1200px;
  margin: 0 auto; }
.product-detail .swiper {
  width: 70px; }
.product-detail .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: -25px; }
.product-detail .swiper-button-prev {
  color: #008E72;
  left: 0;
  top: calc(50% - 100px); }
  .product-detail .swiper-button-prev:after {
    font-weight: bold; }
.product-detail .swiper-button-next {
  color: #008E72;
  right: 0;
  top: calc(50% - 100px); }
  .product-detail .swiper-button-next:after {
    font-weight: bold; }
.product-detail-wrap {
  position: relative;
  height: 600px;
  margin-top: 100px; }
.product-detail-slide {
  position: relative;
  width: 200px;
  position: absolute;
  left: calc(50% - 300px); }
.product-detail-txt {
  width: 450px;
  position: absolute;
  left: calc(50% - 20px);
  top: -80px; }
  .product-detail-txt ul li {
    position: relative; }
    .product-detail-txt ul li:first-child:before {
      content: "";
      background: url(../img/product/border01.svg) 0 0 no-repeat;
      background-size: contain;
      width: 160px;
      height: 100px;
      position: absolute;
      top: 22px;
      left: -157px; }
    .product-detail-txt ul li:nth-child(2):before {
      content: "";
      width: 157px;
      background: #707070;
      height: 1px;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      left: -157px; }
    .product-detail-txt ul li:nth-child(3):before {
      content: "";
      width: 152px;
      background: #707070;
      height: 1px;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      left: -152px; }
    .product-detail-txt ul li:nth-child(4):before {
      content: "";
      background: url(../img/product/border01.svg) 0 0 no-repeat;
      background-size: contain;
      width: 160px;
      height: 100px;
      position: absolute;
      top: 22px;
      left: -157px; }
    .product-detail-txt ul li:nth-child(5):before {
      content: "";
      width: 152px;
      background: #707070;
      height: 1px;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      left: -152px; }
    .product-detail-txt ul li:nth-child(6):before {
      content: "";
      background: url(../img/product/border02.svg) 0 0 no-repeat;
      background-size: contain;
      width: 160px;
      height: 100px;
      position: absolute;
      bottom: -11px;
      left: -157px; }
  .product-detail-txt ul li + li {
    margin-top: 75px; }
  .product-detail-txt img {
    height: 100%;
    width: auto; }
  .product-detail-txt area {
    display: block; }
    .product-detail-txt area:hover {
      cursor: pointer; }
.product-detail-btn {
  background: #fff;
  border: 2px solid #008E72;
  padding: 5px 10px 5px 40px;
  border-radius: 4px;
  display: block;
  cursor: pointer;
  position: relative;
  font-size: 18px; }
  .product-detail-btn:before {
    content: "";
    background: url(../img/intro/ico_arrow.svg) 0 0 no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 5px; }
  .product-detail-btn:hover {
    background: #008E72;
    color: #fff; }
    .product-detail-btn:hover:before {
      background: url(../img/intro/ico_arrow_white.svg) 0 0 no-repeat;
      background-size: contain; }
.product-service {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 10px 50px; }
  .product-service-low {
    max-width: 1000px;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center; }
  .product-service-img {
    width: 290px;
    margin-right: 60px; }
  .product-service-ttl {
    font-size: 28px;
    margin-bottom: 20px; }
  .product-service-lead {
    background: #fff;
    border-radius: 21px;
    -webkit-border-radius: 21px;
    -moz-border-radius: 21px;
    padding: 25px 50px 25px 110px;
    max-width: 1100px;
    margin: 0 auto;
    font-size: 20px;
    position: relative;
    color: #707070;
    box-sizing: border-box;
    margin-bottom: 35px; }
    .product-service-lead:before {
      content: "";
      background: url(../img/product/ico_service.svg) 0 0 no-repeat;
      background-size: contain;
      width: 70px;
      height: 50px;
      position: absolute;
      left: 30px;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%); }
  .product-service-kv {
    width: 100%;
    margin: 0 auto; }
  .product-service-bottom {
    max-width: 1000px;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .product-service-bottom .left {
      width: 250px; }
    .product-service-bottom .contents-ttl {
      color: #707070;
      font-size: 20px;
      margin-bottom: 10px; }
    .product-service-bottom .contents-txt {
      font-size: 16px; }
      .product-service-bottom .contents-txt span {
        font-size: 14px; }
.product-support {
  padding: 150px 0;
  max-width: 1200px;
  margin: 0 auto; }
  .product-support-map {
    width: 100%;
    margin: 0 auto; }
    .product-support-map .support-map {
      background: url(../img/product/img_product02_circle.png);
      background-repeat: no-repeat;
      background-size: contain;
      width: 616px;
      height: 488px;
      margin: 0 auto;
      position: relative; }
      .product-support-map .support-map li button {
        font-family: 'Zen Kaku Gothic New', sans-serif;
        font-weight: 400;
        border: 2px solid #008E72;
        background: #fff;
        border-radius: 0 13px 13px 0;
        padding: 10px 20px 10px 40px;
        color: #008E72;
        font-size: 22px;
        font-weight: bold;
        text-align: center;
        position: absolute;
        display: block;
        box-shadow: 0px 0px 15px -5px #707070; }
        .product-support-map .support-map li button:hover {
          cursor: pointer;
          color: #fff;
          background: #008E72; }
        .product-support-map .support-map li button:before {
          content: "";
          border-radius: 50%;
          -webkit-border-radius: 50%;
          -moz-border-radius: 50%;
          border: 4px solid #008E72;
          width: 70px;
          height: 70px;
          position: absolute;
          left: -50px;
          top: 50%;
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }
      .product-support-map .support-map li #map01 {
        top: -8%;
        right: -17%; }
        .product-support-map .support-map li #map01:before {
          background: url(../img/product/ico_support_01.svg) 0 0 no-repeat;
          background-color: #fff;
          background-size: contain; }
      .product-support-map .support-map li #map02 {
        top: 31%;
        right: -30%; }
        .product-support-map .support-map li #map02:before {
          background: url(../img/product/ico_support_02.svg) 0 0 no-repeat;
          background-color: #fff;
          background-size: contain; }
      .product-support-map .support-map li #map03 {
        top: 68%;
        right: -45%; }
        .product-support-map .support-map li #map03:before {
          background: url(../img/product/ico_support_03.svg) 0 0 no-repeat;
          background-color: #fff;
          background-size: contain; }
      .product-support-map .support-map li #map04 {
        top: 92%;
        right: 27%; }
        .product-support-map .support-map li #map04:before {
          background: url(../img/product/ico_support_04.svg) 0 0 no-repeat;
          background-color: #fff;
          background-size: contain; }
      .product-support-map .support-map li #map05 {
        top: 47%;
        left: -20%; }
        .product-support-map .support-map li #map05:before {
          background: url(../img/product/ico_support_05.svg) 0 0 no-repeat;
          background-color: #fff;
          background-size: contain; }
      .product-support-map .support-map li #map06 {
        top: 0%;
        left: -4%; }
        .product-support-map .support-map li #map06:before {
          background: url(../img/product/ico_support_06.svg) 0 0 no-repeat;
          background-color: #fff;
          background-size: contain; }
      .product-support-map .support-map-btn {
        background: #fff;
        border: 2px solid #008E72;
        padding: 5px 10px;
        border-radius: 4px;
        display: block;
        cursor: pointer; }
.product-overview {
  padding: 100px 15px 0; }
  .product-overview-inner {
    max-width: 1200px;
    margin: 0 auto; }
  .product-overview-top {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
  .product-overview-img {
    width: 45%;
    margin: 30px 5% 0 0; }
  .product-overview-detail {
    width: 50%; }
  .product-overview-subttl {
    color: #0092E5;
    font-size: 16px;
    margin-bottom: 15px; }
  .product-overview-ttl {
    width: 430px;
    margin-bottom: 20px; }
  .product-overview-txt {
    color: #707070;
    font-size: 16px; }
    .product-overview-txt .bold {
      font-weight: bold; }
  .product-overview-ttl02 {
    width: 230px;
    margin: 30px 0 20px; }
  .product-overview-bottom {
    margin-top: 70px; }
    .product-overview-bottom-ttl {
      color: #707070;
      border-bottom: 1px solid #989898;
      padding-bottom: 10px;
      font-size: 20px;
      font-weight: bold;
      margin-bottom: 10px; }
.product .modal {
  display: none;
  position: fixed;
  z-index: 8887;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.4);
  transition: all 1s ease-in-out; }
  .product .modal-container {
    background: #fff;
    border-radius: 14px;
    overflow-y: auto;
    padding: 40px;
    width: 90%;
    max-width: 1000px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-height: 80vh;
    animation: show 0.6s linear 0s;
    filter: drop-shadow(0px 2px 6px #777); }
  .product .modal-top {
    display: inline-block;
    position: absolute;
    right: 5px;
    top: 5px; }
  .product .modal-close {
    display: block;
    width: 70px;
    height: 70px; }
    .product .modal-close:hover, .product .modal-close .modal-close:focus {
      text-decoration: none;
      cursor: pointer; }
  .product .modal-support-ttl {
    color: #008E72;
    text-align: center;
    font-size: 30px;
    margin-bottom: 20px; }
  .product .modal-support-img {
    margin-bottom: 20px; }
  .product .modal-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    padding: 0 50px; }
    .product .modal-box-img {
      width: 25%;
      margin-right: 5%; }
    .product .modal-box-img2 {
      width: 25%;
      margin-right: 5%; }
      .product .modal-box-img2 img {
        width: 25%;
        display: block;
        margin: 0 auto; }
    .product .modal-box-txt {
      width: 70%; }
    .product .modal-box-ttl {
      font-size: 32px;
      color: #707070;
      margin-bottom: 20px; }
      .product .modal-box-ttl a svg:hover path {
        fill: #008E72; }
      .product .modal-box-ttl .ttl01 {
        height: 26px;
        width: auto; }
        .product .modal-box-ttl .ttl01 img {
          height: 100%;
          width: auto; }
      .product .modal-box-ttl .ttl02 {
        height: 68px;
        width: auto; }
        .product .modal-box-ttl .ttl02 img {
          height: 100%;
          width: auto; }
    .product .modal-box-lead {
      font-size: 16px;
      color: #707070;
      font-weight: bold; }
    .product .modal-box + .modal-box {
      margin-top: 40px;
      border-top: 1px solid #D9D9D9;
      padding-top: 40px; }
    .product .modal-box-detail {
      font-size: 16px;
      color: #707070; }
  .product .modal-detail-ttl {
    text-align: center;
    font-family: 'Shippori Mincho', serif;
    font-weight: 400;
    font-size: 36px;
    margin-bottom: 40px; }
  .product .modal-detail-row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-end;
    align-items: flex-end; }
    .product .modal-detail-row-center {
      -webkit-align-items: center;
      align-items: center;
      -webkit-justify-content: center;
      justify-content: center; }
  .product .modal-detail-col2 {
    width: 50%;
    padding: 0 15px; }
  .product .modal-detail-img figcaption {
    font-size: 14px;
    color: #707070;
    margin-top: 20px;
    text-align: center; }
  .product .modal-detail-txt {
    color: #707070;
    font-size: 16px;
    margin-bottom: 15px; }
  .product .modal-detail-list {
    margin-left: 110px; }
    .product .modal-detail-list figure {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      align-items: center; }
      .product .modal-detail-list figure + figure {
        margin-top: 20px; }
      .product .modal-detail-list figure img {
        width: 65px; }
      .product .modal-detail-list figure figcaption {
        color: #707070;
        font-size: 16px;
        margin-left: 25px; }
  .product .modal-btn {
    text-align: center;
    margin-top: 30px; }
    .product .modal-btn a {
      display: inline-block;
      text-align: center;
      padding: 15px 25px;
      text-decoration: none;
      border: 2px solid #008E72;
      border-radius: 13px;
      background: #fff;
      font-size: 20px;
      font-weight: 600;
      transition: 0.2s;
      box-shadow: 0px 0px 15px -5px #707070; }
      .product .modal-btn a:hover {
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
        filter: alpha(opacity=70);
        -moz-opacity: 0.7;
        -webkit-opacity: 0.7;
        opacity: 0.7; }
  .product .modal-second {
    margin-top: 67px;
    border-top: 1px solid #008E72;
    padding-top: 40px;
    position: relative; }
    .product .modal-second:before {
      content: "";
      height: 1px;
      width: 40px;
      position: absolute;
      top: -1px;
      left: -40px;
      background: #008E72; }
    .product .modal-second:after {
      content: "";
      height: 1px;
      width: 40px;
      position: absolute;
      top: -1px;
      right: -40px;
      background: #008E72; }
  .product .modal-arrow {
    width: 32px;
    height: 55px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 10000; }
    .product .modal-arrow-prev {
      left: calc(50% - 600px); }
    .product .modal-arrow-next {
      right: calc(50% - 600px); }
  .product .modal-switch {
    cursor: pointer; }
.product #modalDetailFour .modal-container {
  padding: 40px 40px 0 40px; }
.product #modalDetailSix .modal-container {
  padding: 40px 0 40px 40px; }
.product #modalDetailSix .modal-detail-txt {
  text-align: center; }
.product #modalDetailSix .modal-detail-col2 {
  padding: 0 0 0 15px; }
@keyframes show {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
.product .lity {
  background: rgba(0, 0, 0, 0.4); }
  .product .lity-close {
    width: 90px;
    height: 90px;
    right: 0;
    top: -10px;
    font-size: 90px;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 100;
    line-height: 90px; }
.product-v2 {
  margin-top: 130px; }
  .product-v2-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px; }
  .product-v2-lead {
    color: #008E72;
    font-size: 22px;
    font-weight: bold;
    margin: 32px 0 16px; }
  .product-v2-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 56px;
    margin-bottom: 40px; }
    .product-v2-box-item {
      width: 700px; }
    .product-v2-box-txt {
      margin-bottom: 16px; }
  .product-v2-box2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 40px; }
    .product-v2-box2-item {
      width: 40%; }
  .product-v2-top {
    margin-top: 40px; }
@media screen and (max-width: 768px) {
  .product .main {
    padding: 0 0 70px; }
  .product-inner {
    padding-top: 30px; }
  .product-top {
    max-width: 100%;
    padding: 0 15px; }
    .product-top-wrap {
      flex-direction: column; }
    .product-top-txt {
      width: 100%;
      margin-bottom: 20px; }
    .product-top-img {
      width: 80%;
      margin: 0 auto; }
  .product-ttl {
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 20px; }
  .product-lead {
    font-size: 16px;
    line-height: 1.7; }
  .product-logo {
    margin-top: 4vw;
    flex-direction: column; }
    .product-logo img {
      width: 24vw; }
    .product-logo figcaption {
      font-size: 12px;
      margin: 1.3333333333vw 0 0 0; }
  .product-movie {
    max-width: 100%;
    margin: 60px auto;
    padding: 0 15px; }
  .product-detail-inner {
    padding: 80px 15px 80px; }
  .product-detail-txt {
    margin-top: 0;
    margin-left: 0; }
  .product-detail .swiper {
    width: 50px; }
  .product-detail .swiper-button-prev {
    left: -30px;
    top: calc(50% - 50px); }
    .product-detail .swiper-button-prev:after {
      font-size: 20px; }
  .product-detail .swiper-button-next {
    right: -30px;
    top: calc(50% - 50px); }
    .product-detail .swiper-button-next:after {
      font-size: 20px; }
  .product-detail-wrap {
    height: 500px;
    margin-top: 70px; }
  .product-detail-slide {
    width: 50px;
    left: calc(50% - 155px); }
  .product-detail-txt {
    width: auto;
    position: absolute;
    left: calc(50% - 20px);
    top: -80px; }
    .product-detail-txt ul li:first-child:before {
      width: 130px;
      height: 60px;
      top: 22px;
      left: -97px; }
    .product-detail-txt ul li:nth-child(2):before {
      width: 100px;
      left: -100px; }
    .product-detail-txt ul li:nth-child(3):before {
      width: 100px;
      left: -100px; }
    .product-detail-txt ul li:nth-child(4):before {
      width: 130px;
      height: 60px;
      top: 22px;
      left: -97px; }
    .product-detail-txt ul li:nth-child(5):before {
      width: 100px;
      left: -100px; }
    .product-detail-txt ul li:nth-child(6):before {
      width: 130px;
      height: 60px;
      bottom: 12px;
      left: -97px; }
    .product-detail-txt ul li + li {
      margin-top: 45px; }
  .product-detail-btn {
    padding: 5px 10px 5px 25px;
    font-size: 14px; }
    .product-detail-btn:before {
      width: 15px;
      height: 15px;
      left: 5px; }
  .product-service {
    max-width: 100%;
    padding: 40px 15px 50px;
    position: relative; }
    .product-service-low {
      max-width: 100%;
      flex-direction: column; }
    .product-service-img {
      width: 90%;
      margin: 0 auto 20px; }
    .product-service-kv {
      width: 90%; }
    .product-service-txt {
      width: 100%;
      padding: 20px 15px;
      box-sizing: border-box;
      border-radius: 10px;
      -webkit-border-radius: 10px;
      -moz-border-radius: 10px; }
      .product-service-txt-01 {
        width: 86%;
        margin-bottom: 5%; }
      .product-service-txt-02 {
        width: 90%;
        margin-left: auto; }
    .product-service-ttl {
      font-size: 20px; }
    .product-service-lead {
      border-radius: 14px;
      -webkit-border-radius: 14px;
      -moz-border-radius: 14px;
      padding: 15px 15px 15px 75px;
      max-width: 100%;
      font-size: 14px;
      margin-bottom: 20px; }
      .product-service-lead:before {
        width: 50px;
        height: 35px;
        left: 15px;
        top: 30px; }
    .product-service-bottom {
      max-width: 100%; }
      .product-service-bottom .left {
        width: 25%; }
      .product-service-bottom .contents {
        width: 75%; }
        .product-service-bottom .contents-ttl {
          font-size: 16px; }
        .product-service-bottom .contents-txt {
          font-size: 13px; }
          .product-service-bottom .contents-txt span {
            font-size: 12px; }
  .product-support {
    padding: 0 15px 90px; }
    .product-support-map {
      width: 100%;
      margin-top: 50px; }
      .product-support-map .support-map {
        width: 220px;
        height: 175px;
        background-position: -10px center; }
        .product-support-map .support-map li button {
          padding: 5px 10px 5px 20px;
          border-radius: 6px;
          -webkit-border-radius: 6px;
          -moz-border-radius: 6px;
          font-size: 12px;
          line-height: 1.2; }
          .product-support-map .support-map li button:before {
            border: 3px solid #008E72;
            width: 40px;
            height: 40px;
            left: -30px; }
        .product-support-map .support-map li #map01 {
          top: -12%;
          right: -24%; }
        .product-support-map .support-map li #map02 {
          top: 30%;
          right: -33%; }
        .product-support-map .support-map li #map03 {
          top: 69%;
          right: -28%; }
        .product-support-map .support-map li #map04 {
          top: 94%;
          right: 40%; }
        .product-support-map .support-map li #map05 {
          top: 45%;
          left: -20%; }
        .product-support-map .support-map li #map06 {
          top: 0%;
          left: -15%; }
  .product-overview {
    padding: 40px 0 0; }
    .product-overview-inner {
      max-width: 100%;
      padding: 0 15px; }
    .product-overview-top {
      flex-direction: column; }
    .product-overview-img {
      width: 100%;
      margin: 30px 0 15px; }
    .product-overview-detail {
      width: 100%; }
    .product-overview-subttl {
      font-size: 16px; }
    .product-overview-ttl {
      width: 80%; }
    .product-overview-txt {
      font-size: 12px; }
    .product-overview-ttl02 {
      width: 60%; }
    .product-overview-bottom {
      margin-top: 50px; }
      .product-overview-bottom-ttl {
        font-size: 16px; }
  .product .modal {
    display: none; }
    .product .modal-container {
      background: #fff;
      border-radius: 10px;
      padding: 20px 15px;
      width: 90%;
      max-width: 90%;
      max-height: 70vh; }
    .product .modal-top {
      right: 5px;
      top: 5px; }
    .product .modal-close {
      width: 30px;
      height: 30px; }
    .product .modal-support-ttl {
      font-size: 18px;
      margin-bottom: 15px; }
    .product .modal-support-img {
      margin-bottom: 30px; }
    .product .modal-box {
      flex-direction: column;
      padding: 0; }
      .product .modal-box-img {
        width: 50%;
        margin-right: 0;
        margin-bottom: 20px; }
      .product .modal-box-img2 {
        width: 15%;
        margin-right: 0;
        margin-bottom: 20px; }
        .product .modal-box-img2 img {
          width: 100%;
          display: block;
          margin: 0 auto; }
      .product .modal-box-txt {
        width: 100%; }
      .product .modal-box-ttl {
        font-size: 18px;
        margin-bottom: 15px; }
        .product .modal-box-ttl .ttl01 {
          height: 16px;
          width: auto; }
          .product .modal-box-ttl .ttl01 img {
            height: 100%;
            width: auto; }
        .product .modal-box-ttl .ttl02 {
          height: 42px;
          width: auto; }
          .product .modal-box-ttl .ttl02 img {
            height: 100%;
            width: auto; }
      .product .modal-box-lead {
        font-size: 14px; }
      .product .modal-box + .modal-box {
        margin-top: 30px;
        padding-top: 30px; }
    .product .modal-detail-ttl {
      font-size: 20px;
      margin-bottom: 20px; }
    .product .modal-detail-row {
      flex-direction: column; }
      .product .modal-detail-row-center {
        flex-direction: column; }
    .product .modal-detail-col2 {
      width: 100%;
      box-sizing: border-box; }
      .product .modal-detail-col2 + .modal-detail-col2 {
        margin-top: 20px; }
    .product .modal-detail-img {
      width: 100%;
      margin: 0 auto; }
      .product .modal-detail-img img {
        width: 70%;
        margin: 0 auto;
        display: block; }
      .product .modal-detail-img figcaption {
        font-size: 14px;
        margin-top: 20px; }
    .product .modal-detail-txt {
      color: #707070;
      font-size: 16px;
      margin-bottom: 15px; }
    .product .modal-detail-list {
      margin-left: 110px; }
      .product .modal-detail-list figure {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
        .product .modal-detail-list figure + figure {
          margin-top: 20px; }
        .product .modal-detail-list figure img {
          width: 65px; }
        .product .modal-detail-list figure figcaption {
          color: #707070;
          font-size: 16px;
          margin-left: 25px; }
    .product .modal-second {
      margin-top: 40px;
      padding-top: 30px; }
      .product .modal-second:before {
        width: 15px;
        left: -15px; }
      .product .modal-second:after {
        width: 15px;
        right: -15px; }
    .product .modal-btn a {
      font-size: 14px; }
    .product .modal-arrow {
      width: 15px;
      height: 26px;
      top: 20px; }
      .product .modal-arrow-prev {
        left: 10px; }
      .product .modal-arrow-next {
        right: auto;
        left: 40px; }
  .product #modalDetailFour .modal-container {
    padding: 20px 15px; }
  .product #modalDetailFour .modal-detail-row, .product #modalDetailFour .modal-detail-row-center {
    flex-direction: row; }
  .product #modalDetailFour .modal-detail-list {
    margin-left: 20px; }
    .product #modalDetailFour .modal-detail-list figure img {
      width: 45px;
      height: 45px; }
  .product #modalDetailSix .modal-container {
    padding: 20px 15px; }
  .product #modalSupportOne .modal-box-ttl {
    width: 100%;
    height: auto; }
  .product .lity-close {
    width: 50px;
    height: 50px;
    right: 0;
    top: 0;
    font-size: 50px;
    line-height: 50px; }
  .product-v2 {
    margin-top: 80px; }
    .product-v2-inner {
      max-width: 100%; }
    .product-v2-lead {
      font-size: 20px;
      margin-bottom: 8px; }
    .product-v2-box {
      gap: 32px;
      margin-bottom: 32px; }
      .product-v2-box-item {
        width: 100%; }
      .product-v2-box-txt {
        margin-bottom: 16px; }
    .product-v2-box2 {
      flex-direction: column;
      gap: 16px; }
      .product-v2-box2-item {
        width: 100%; } }

.txt-hover:hover {
  cursor: pointer; }
  .txt-hover:hover .txt-green {
    fill: #008E72; }

.movie .main {
  padding: 0; }
.movie-inner {
  padding: 70px 0 200px; }
.movie-content + .movie-content {
  margin-top: 150px; }
.movie-ttl {
  background: #fff;
  padding: 5px;
  color: #008E72;
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 80px; }
.movie-row {
  max-width: 1200px;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
.movie-box {
  width: 46%; }
  .movie-box:nth-child(n + 3) {
    margin-top: 100px; }
  .movie-box-ttl {
    text-align: center;
    color: #707070;
    font-size: 26px;
    margin-bottom: 10px; }
  .movie-box-img {
    border: 3px solid #008E72; }
.movie .lity {
  background: rgba(0, 0, 0, 0.4); }
  .movie .lity-close {
    width: 90px;
    height: 90px;
    right: 0;
    top: -10px;
    font-size: 90px;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 100;
    line-height: 90px; }
.movie-btn {
  text-align: center; }
  .movie-btn a {
    background: #fff;
    border: 2px solid #008E72;
    text-align: center;
    font-size: 32px;
    padding: 30px 120px;
    border-radius: 13px;
    text-decoration: none;
    display: inline-block;
    box-shadow: 0px 0px 15px -5px #707070;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    .movie-btn a:hover {
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$opacity)";
      filter: alpha(opacity=70);
      -moz-opacity: 0.7;
      -webkit-opacity: 0.7;
      opacity: 0.7; }
.movie-wrap {
  max-width: 1200px;
  margin: 0 auto; }
.movie-txt {
  font-size: 22px;
  color: #707070;
  margin-bottom: 50px; }
@media screen and (max-width: 768px) {
  .movie .main {
    margin-top: 100px; }
  .movie-inner {
    padding: 40px 0 80px; }
  .movie-content + .movie-content {
    margin-top: 60px; }
  .movie-ttl {
    padding: 10px;
    font-size: 22px;
    margin-bottom: 30px; }
  .movie-row {
    max-width: 100%;
    flex-direction: column;
    padding: 0 20px; }
  .movie-box {
    width: 100%; }
    .movie-box:nth-child(n + 2) {
      margin-top: 30px; }
    .movie-box-ttl {
      font-size: 18px;
      margin-bottom: 10px; }
  .movie .lity-close {
    width: 50px;
    height: 50px;
    right: 0;
    top: 0;
    font-size: 50px;
    line-height: 50px; }
  .movie-btn {
    text-align: center;
    padding: 0 15px; }
    .movie-btn a {
      font-size: 20px;
      padding: 20px 30px; }
  .movie-wrap {
    max-width: 100%;
    padding: 0 15px; }
  .movie-txt {
    font-size: 16px;
    margin-bottom: 30px; } }
