@charset "UTF-8";
/* ------------------------------
テキスト
------------------------------ */
.txt_indent {
  display: block;
  text-indent: -1em;
  margin-left: 1em; }

.txt_ls_0 {
  letter-spacing: 0; }

.txt_ls_005 {
  letter-spacing: 0.05em !important; }

.txt_ls_01 {
  letter-spacing: 0.1em !important; }

.txt_ls_015 {
  letter-spacing: 0.15em; }

.txt_ls_02 {
  letter-spacing: 0.2em; }

.txt_ls_005 {
  letter-spacing: 0.05em; }

.txt_black {
  font-weight: 900; }

.txt_bold {
  font-weight: 700; }

.txt_normal {
  font-weight: 300; }

.txt_en {
  font-family: 'Roboto', sans-serif;
  letter-spacing: 0.02em; }

.italic {
  font-style: italic; }

.txt_center {
  text-align: center !important; }

.txt_right {
  text-align: right !important; }

.ls_none {
  letter-spacing: -0.5em; }

.ml_none {
  margin-left: -0.5em; }

.black {
  color: #373332; }

.pink {
  color: #E55386; }

.green {
  color: #01ABB0; }

.pcbr {
  display: block !important; }

.spbr {
  display: none !important; }

.sp_only {
  display: none; }

.fs_10 {
  font-size: 1.0rem; }

.fs_12 {
  font-size: 1.2rem; }

.fs_13 {
  font-size: 1.3rem; }

.fs_14 {
  font-size: 1.4rem; }

.fs_15 {
  font-size: 1.5rem; }

.fs_16 {
  font-size: 1.6rem; }

.fs_17 {
  font-size: 1.7rem; }

.fs_18 {
  font-size: 1.8rem; }

.fs_20 {
  font-size: 2.0rem; }

.fs_22 {
  font-size: 2.2rem; }

.fs_24 {
  font-size: 2.4rem; }

.fs_26 {
  font-size: 2.6rem; }

.fs_28 {
  font-size: 2.8rem; }

.fs_30 {
  font-size: 3.0rem; }

.fs_32 {
  font-size: 3.2rem; }

.fs_34 {
  font-size: 3.4rem; }

.fs_35 {
  font-size: 3.5rem; }

.fs_36 {
  font-size: 3.6rem; }

.fs_37 {
  font-size: 3.7rem; }

.fs_38 {
  font-size: 3.8rem; }

.fs_40 {
  font-size: 4.0rem; }

.fs_45 {
  font-size: 4.5rem; }

.fs_46 {
  font-size: 4.6rem; }

.fs_50 {
  font-size: 5.0rem; }

.fs_53 {
  font-size: 5.3rem; }

.fs_54 {
  font-size: 5.4rem; }

.fs_55 {
  font-size: 5.5rem; }

.fs_59 {
  font-size: 5.9rem; }

.fs_60 {
  font-size: 6.0rem; }

.fs_64 {
  font-size: 6.4rem; }

.fs_65 {
  font-size: 6.5rem; }

.fs_70 {
  font-size: 7.0rem; }

.fs_78 {
  font-size: 7.8rem; }

.fs_80 {
  font-size: 8.0rem; }

.fs_85 {
  font-size: 8.5rem; }

.fs_89 {
  font-size: 8.9rem; }

.fs_90 {
  font-size: 9.0rem; }

.fs_100 {
  font-size: 10.0rem; }

.fs_112 {
  font-size: 11.2rem; }

.fs_115 {
  font-size: 11.5rem; }

.fs_119 {
  font-size: 11.9rem; }

.fs_140 {
  font-size: 14.0rem; }

.fs_150 {
  font-size: 15.0rem; }

.fw_100 {
  font-weight: 100; }

.fw_200 {
  font-weight: 200; }

.fw_300 {
  font-weight: 300; }

.fw_400 {
  font-weight: 400; }

.fw_500 {
  font-weight: 500; }

.fw_700 {
  font-weight: 700; }

.lh_10 {
  line-height: 1.0em !important; }

.lh_12 {
  line-height: 1.2em !important; }

.lh_14 {
  line-height: 1.4em !important; }

.lh_15 {
  line-height: 1.5em !important; }

.lh_16 {
  line-height: 1.6em !important; }

.lh_18 {
  line-height: 1.8em !important; }

.lh_20 {
  line-height: 2.0em !important; }

.lh_22 {
  line-height: 2.2em !important; }

.lh_25 {
  line-height: 2.5em !important; }

.lh_28 {
  line-height: 2.8em !important; }

.lh_30 {
  line-height: 3.0em !important; }

.lh_32 {
  line-height: 3.2em !important; }

.lh_35 {
  line-height: 3.5em !important; }

.lh_40 {
  line-height: 4.0em !important; }

.mrg__btm0 {
  margin-bottom: 0 !important; }

.mrg__btm02 {
  margin-bottom: .2em !important; }

.mrg__btm03 {
  margin-bottom: .3em !important; }

.mrg__btm05 {
  margin-bottom: .5em !important; }

.mrg__btm08 {
  margin-bottom: .8em !important; }

.mrg__btm1 {
  margin-bottom: 1em !important; }

.mrg__btm15 {
  margin-bottom: 1.5em !important; }

.mrg__btm2 {
  margin-bottom: 2em !important; }

.mrg__btm3 {
  margin-bottom: 3em !important; }

.mrg__btm4 {
  margin-bottom: 4em !important; }

.mrg__btm5 {
  margin-bottom: 5em !important; }

.mrg__btm57 {
  margin-bottom: 5.7em !important; }

.mrg__btm6 {
  margin-bottom: 6em !important; }

.mrg__btm7 {
  margin-bottom: 7em !important; }

.mrg__btm8 {
  margin-bottom: 8em !important; }

.mrg__btm9 {
  margin-bottom: 9em !important; }

.mrg__btm1-0 {
  margin-bottom: 10em !important; }

.mrg__btm1-3 {
  margin-bottom: 13em !important; }

.mrg__btm1-5 {
  margin-bottom: 15em !important; }

.mrg__btm2-0 {
  margin-bottom: 20em !important; }

.mrg__top-3 {
  margin-top: -3rem !important; }

.mrg__top-7 {
  margin-top: -7rem !important; }

.mrg__top0 {
  margin-top: 0 !important; }

.mrg__top05 {
  margin-top: .5em !important; }

.mrg__top1 {
  margin-top: 1em !important; }

.mrg__top2 {
  margin-top: 2em !important; }

.mrg__top3 {
  margin-top: 3em !important; }

.mrg__top4 {
  margin-top: 4em !important; }

.mrg__top5 {
  margin-top: 5em !important; }

.mrg__top6 {
  margin-top: 6em !important; }

.mrg__top7 {
  margin-top: 7em !important; }

.mrg__top8 {
  margin-top: 8em !important; }

.mrg__top9 {
  margin-top: 9em !important; }

.mrg__left0 {
  margin-left: 0 !important; }

.mrg__left1 {
  margin-left: 1em !important; }

.mrg__left2 {
  margin-left: 2em !important; }

.mrg__left3 {
  margin-left: 3em !important; }

.mrg__right0 {
  margin-right: 0 !important; }

.mrg__right1 {
  margin-right: 1em !important; }

.mrg__right2 {
  margin-right: 2em !important; }

.mrg__right3 {
  margin-right: 3em !important; }

@media screen and (max-width: 480px) {
  .txt__sp_ls_0 {
    letter-spacing: 0; }

  .txt__sp_ls_01 {
    letter-spacing: 0.1em; }

  .txt__sp_ls_02 {
    letter-spacing: 0.2em; }

  .txt__sp_s_005 {
    letter-spacing: 0.05em; }

  .pcbr {
    display: none !important; }

  .spbr {
    display: block !important; }

  .sp_only {
    display: block; }

  .txt__sp_center {
    display: block;
    text-align: center !important; }

  .txt__sp_right {
    display: block;
    text-align: right !important; }

  .txt__sp_left {
    display: block;
    text-align: left !important; }

  .fs__sp_10 {
    font-size: 1.0rem; }

  .fs__sp_12 {
    font-size: 1.2rem !important; }

  .fs__sp_13 {
    font-size: 1.3rem !important; }

  .fs__sp_14 {
    font-size: 1.4rem !important; }

  .fs__sp_15 {
    font-size: 1.5rem !important; }

  .fs__sp_16 {
    font-size: 1.6rem; }

  .fs__sp_18 {
    font-size: 1.8rem; }

  .fs__sp_19 {
    font-size: 1.9rem; }

  .fs__sp_20 {
    font-size: 2.0rem; }

  .fs__sp_22 {
    font-size: 2.2rem; }

  .fs__sp_24 {
    font-size: 2.4rem; }

  .fs__sp_25 {
    font-size: 2.5rem; }

  .fs__sp_26 {
    font-size: 2.6rem; }

  .fs__sp_28 {
    font-size: 2.8rem; }

  .fs__sp_30 {
    font-size: 3.0rem; }

  .fs__sp_32 {
    font-size: 3.2rem; }

  .fs__sp_35 {
    font-size: 3.5rem; }

  .fs__sp_38 {
    font-size: 3.8rem; }

  .fs__sp_40 {
    font-size: 4.0rem; }

  .fs__sp_42 {
    font-size: 4.2rem; }

  .fs__sp_45 {
    font-size: 4.5rem; }

  .fs__sp_48 {
    font-size: 4.8rem; }

  .fs__sp_50 {
    font-size: 5.0rem; }

  .fs__sp_60 {
    font-size: 6.0rem; }

  .fs__sp_70 {
    font-size: 7.0rem; }

  .fs__sp_80 {
    font-size: 8.0rem; }

  .fs__sp_84 {
    font-size: 8.4rem; }

  .lh__sp_08 {
    line-height: 0.8em !important; }

  .lh__sp_10 {
    line-height: 1.0em !important; }

  .lh__sp_12 {
    line-height: 1.2em !important; }

  .lh__sp_14 {
    line-height: 1.4em !important; }

  .lh__sp_15 {
    line-height: 1.5em !important; }

  .lh__sp_16 {
    line-height: 1.6em !important; }

  .lh___sp_18 {
    line-height: 1.8em !important; }

  .lh___sp_19 {
    line-height: 1.9em !important; }

  .lh__sp_20 {
    line-height: 2.0em !important; }

  .lh__sp_26 {
    line-height: 2.6em !important; }

  .lh__sp_30 {
    line-height: 3.0em !important; }

  .lh__sp_36 {
    line-height: 3.6em !important; }

  .lh__sp_40 {
    line-height: 4.0em !important; }

  .mrg__sp_btm0 {
    margin-bottom: 0 !important; }

  .mrg__sp_btm02 {
    margin-bottom: .2em !important; }

  .mrg__sp_btm05 {
    margin-bottom: .5em !important; }

  .mrg__sp_btm08 {
    margin-bottom: .8em !important; }

  .mrg__sp_btm1 {
    margin-bottom: 1em !important; }

  .mrg__sp_btm15 {
    margin-bottom: 1.5em !important; }

  .mrg__sp_btm2 {
    margin-bottom: 2em !important; }

  .mrg__sp_btm3 {
    margin-bottom: 3em !important; }

  .mrg__sp_btm4 {
    margin-bottom: 4em !important; }

  .mrg__sp_btm5 {
    margin-bottom: 5em !important; }

  .mrg__sp_btm6 {
    margin-bottom: 6em !important; }

  .mrg__sp_btm7 {
    margin-bottom: 7em !important; }

  .mrg__sp_btm8 {
    margin-bottom: 8em !important; }

  .mrg__sp_btm9 {
    margin-bottom: 9em !important; }

  .mrg__sp_btm10 {
    margin-bottom: 10.0em !important; }

  .mrg__sp_btm12 {
    margin-bottom: 12.0em !important; }

  .mrg__sp_btm13 {
    margin-bottom: 13.0em !important; }

  .mrg__sp_btm14 {
    margin-bottom: 14.0em !important; }

  .mrg__sp_top-02 {
    margin-top: -0.2em !important; }

  .mrg__sp_top-1 {
    margin-top: -1em !important; }

  .mrg__sp_top-2 {
    margin-top: -2em !important; }

  .mrg__sp_top-6 {
    margin-top: -6rem !important; }

  .mrg__sp_top0 {
    margin-top: 0 !important; }

  .mrg__sp_top05 {
    margin-top: .5em !important; }

  .mrg__sp_top1 {
    margin-top: 1em !important; }

  .mrg__sp_top2 {
    margin-top: 2em !important; }

  .mrg__sp_top3 {
    margin-top: 3em !important; }

  .mrg__sp_top4 {
    margin-top: 4em !important; }

  .mrg__sp_top5 {
    margin-top: 5em !important; }

  .mrg__sp_top6 {
    margin-top: 6em !important; }

  .mrg__sp_top7 {
    margin-top: 7em !important; }

  .mrg__sp_top8 {
    margin-top: 8em !important; }

  .mrg__sp_top9 {
    margin-top: 9em !important; } }
/*↓スマホ横css*/
/*↓ipad用縦css*/
/*↓ipad用横css*/
html {
  font: 62.5%/1.231 "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Meiryo,sans-serif;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  overflow-x: hidden; }

body {
  width: 100%;
  min-width: 1000px;
  height: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  color: #3E3A39;
  -webkit-text-size-adjust: 100%;
  position: relative;
  font-family: 'Noto Sans JP', sans-serif;
  background-color: #01ABB0; }

img {
  width: 100%;
  vertical-align: top;
  -ms-interpolation-mode: bicubic; }

a {
  color: #000; }

p {
  line-height: 2;
  color: #000;
  font-size: 16px; }
  @media screen and (max-width: 480px) {
    p {
      line-height: 1.8;
      font-size: 14px; } }

@media screen and (max-width: 480px) {
  body {
    /*初期化*/
    min-width: initial; } }
select, input, button, textarea, table {
  font: 1.0rem  "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Meiryo,sans-serif; }

pre, code, kbd, samp, tt {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Meiryo,sans-serif;
  line-height: 1; }

* {
  box-sizing: border-box; }

#container {
  overflow: hidden;
  transition: 0.5s cubic-bezier(0.69, 0, 0.29, 1.01);
  opacity: 0;
  animation: page_Anim 1.5s ease-in-out;
  animation-fill-mode: forwards; }

@keyframes page_Anim {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.inner {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px; }
  @media screen and (max-width: 480px) {
    .inner {
      width: 100%; } }

.h2 {
  color: #fff;
  display: inline;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone; }
  .h2 span {
    padding: 0 22px;
    position: relative;
    z-index: 0; }
    @media screen and (max-width: 480px) {
      .h2 span {
        padding: 0 10px; } }
    .h2 span:before {
      content: "";
      position: absolute;
      -webkit-clip-path: inset(0 100% 0 0);
      clip-path: inset(0 100% 0 0);
      transition: .5s;
      background-color: #01ABB0;
      width: 100%;
      height: 100%;
      z-index: -1;
      left: 0;
      top: 0; }
    .h2 span:first-child {
      padding-bottom: 5px; }
    .h2 span:last-child {
      padding-bottom: 15px; }
      @media screen and (max-width: 480px) {
        .h2 span:last-child {
          padding-bottom: 10px; } }

.h2.isAnimate span:before {
  webkit-clip-path: inset(0);
  clip-path: inset(0); }

.h2_bgwhite span {
  color: #01ABB0; }
  .h2_bgwhite span:before {
    background-color: #fff; }

.img_wrap {
  overflow: hidden; }
  .img_wrap img {
    -webkit-transform: scale3d(1.2, 1.2, 1);
    transform: scale3d(1.2, 1.2, 1);
    -webkit-transition: none;
    transition: none; }

.img_wrap.isAnimate {
  transition: opacity 1.2s ease; }
  .img_wrap.isAnimate img {
    transition: transform 2s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 2s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }

.arrow {
  overflow: hidden;
  float: right;
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translate(0, -50%); }
  @media screen and (max-width: 480px) {
    .arrow {
      right: 10px; } }
  .arrow span {
    position: relative;
    display: block;
    width: 10px;
    height: 10px; }
    .arrow span:after {
      content: "";
      position: absolute;
      display: block;
      width: 10px;
      height: 10px;
      top: 100%;
      left: -100%;
      background-size: cover;
      background-image: url(../img/arrow.svg); }

/*---------------------------------------------
	ヘッダー
  ---------------------------------------------*/
header {
  display: flex;
  position: relative;
  z-index: 1; }
  header h1 {
    position: absolute;
    left: 120px;
    top: 20px;
    left: 120px; }
    @media screen and (max-width: 480px) {
      header h1 {
        position: static;
        margin: 0 auto; } }
    header h1 a {
      display: block;
      width: 159px; }
      @media screen and (max-width: 480px) {
        header h1 a {
          padding-top: 15px; } }
  header .link {
    display: flex;
    position: fixed;
    right: 0;
    top: 0; }
    @media screen and (max-width: 480px) {
      header .link {
        width: 100%;
        bottom: 0;
        top: inherit; } }
    header .link a {
      display: block;
      padding: 10px 45px 10px 25px;
      background-color: #373332;
      color: #fff;
      position: relative;
      overflow: hidden; }
      @media screen and (max-width: 480px) {
        header .link a {
          width: 50%;
          padding: 10px; } }
      header .link a:last-child {
        background-color: #E55386; }
      header .link a:hover:after {
        display: block; }
      header .link a:hover .arrow span {
        transform: translate3d(100%, -100%, 0);
        transition: transform .5s; }
      header .link a:hover .p_box .origin {
        transform: translate3d(0, -110%, 0);
        transition: transform 0.65s cubic-bezier(0.67, 0.25, 0.1, 1); }
      header .link a:hover .p_box .clone {
        transform: translate3d(0, -110%, 0);
        transition: transform 0.65s cubic-bezier(0.67, 0.25, 0.1, 1); }
      header .link a .p_box {
        overflow: hidden;
        position: relative; }
        header .link a .p_box p {
          color: #fff; }
        header .link a .p_box .clone {
          left: 0px;
          position: absolute;
          top: 110%;
          transform: translateZ(0); }

.mv {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  width: 95%;
  height: 650px;
  float: right; }
  @media screen and (max-width: 480px) {
    .mv {
      height: auto;
      padding-left: 0;
      width: 100%;
      height: auto;
      display: block;
      float: inherit; } }
  .mv .slide {
    position: relative;
    overflow: hidden;
    height: 100%;
    width: 100%; }
    @media screen and (max-width: 480px) {
      .mv .slide {
        height: 380px; } }
    .mv .slide .slide_img {
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      animation: slideAnime 21s linear infinite; }
      .mv .slide .slide_img:first-child {
        background-image: url("../img/mv_slide01.jpg");
        animation-delay: 0s; }
        @media screen and (max-width: 480px) {
          .mv .slide .slide_img:first-child {
            background-position: right -120px center; } }
      .mv .slide .slide_img:nth-child(2) {
        background-image: url("../img/mv_slide02.jpg");
        animation-delay: 7s; }
        @media screen and (max-width: 480px) {
          .mv .slide .slide_img:nth-child(2) {
            background-position: left -250px center; } }
      .mv .slide .slide_img:last-child {
        background-image: url("../img/mv_slide03.jpg");
        animation-delay: 14s; }
        @media screen and (max-width: 480px) {
          .mv .slide .slide_img:last-child {
            background-position: left -140px center; } }
@keyframes slideAnime {
  0% {
    opacity: 0; }
  16% {
    opacity: 1; }
  33% {
    opacity: 1; }
  49% {
    opacity: 0; }
  100% {
    opacity: 0;
    transform: scale(1.2); } }
  .mv .detail_box {
    position: absolute;
    left: 45px;
    top: 355px;
    display: flex;
    z-index: 0; }
    @media screen and (max-width: 480px) {
      .mv .detail_box {
        display: block;
        padding: 0 20px;
        left: 0;
        bottom: 0;
        top: inherit;
        position: relative; } }
    .mv .detail_box .detail h2 {
      color: #fff; }
      .mv .detail_box .detail h2:first-child {
        border-bottom: 3px solid #fff; }
    .mv .detail_box .detail p {
      color: #fff; }
    .mv .detail_box .detail .item_sub {
      position: absolute;
      right: 240px;
      top: 45px;
      color: #fff;
      background-color: #01ABB0;
      padding: 5px 10px;
      display: flex; }
      @media screen and (max-width: 480px) {
        .mv .detail_box .detail .item_sub {
          right: 20px;
          top: 47px;
          color: #01ABB0;
          background-color: #fff; } }
    .mv .detail_box .item {
      display: flex;
      padding-left: 55px;
      animation: item .8s ease 1s;
      opacity: 0;
      animation-fill-mode: forwards;
      background-color: rgba(0, 0, 0, 0.4);
      padding: 10px 15px 5px 70px; }
      @media screen and (max-width: 480px) {
        .mv .detail_box .item {
          display: block;
          padding: 0px;
          background-color: transparent; } }
      .mv .detail_box .item .item_ttl {
        color: #fff;
        writing-mode: vertical-rl;
        border: 2px solid #fff;
        padding: 8px 0;
        letter-spacing: 0.2em;
        position: absolute;
        left: 15px;
        top: 20px; }
        @media screen and (max-width: 480px) {
          .mv .detail_box .item .item_ttl {
            writing-mode: horizontal-tb;
            position: static;
            display: inline-block;
            padding: 0 5px; } }
@keyframes item {
  0% {
    opacity: 0;
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0); }
  100% {
    opacity: 1;
    webkit-clip-path: inset(0);
    clip-path: inset(0); } }
    .mv .detail_box .btn {
      margin-left: 25px;
      width: 200px;
      height: 200px;
      border-radius: 50%;
      background-color: #E55386;
      position: relative;
      padding-top: 57px;
      display: block;
      box-shadow: 5px 5px 0 rgba(255, 255, 255, 0.7);
      transition: .3s; }
      @media screen and (max-width: 480px) {
        .mv .detail_box .btn {
          position: absolute;
          width: 120px;
          height: 120px;
          padding-top: 30px;
          top: -90px;
          right: 20px; } }
      .mv .detail_box .btn:hover {
        transform: translateX(5px);
        transform: translateY(5px);
        box-shadow: none; }
        .mv .detail_box .btn:hover .arrow span {
          transform: translate3d(100%, -100%, 0);
          transition: transform .5s; }
      .mv .detail_box .btn p {
        padding-bottom: 25px;
        color: #fff; }
        @media screen and (max-width: 480px) {
          .mv .detail_box .btn p {
            padding-bottom: 15px; } }
      .mv .detail_box .btn .arrow {
        right: inherit;
        left: 50%;
        top: 50%;
        transform: translate(-50%, 40px); }
        @media screen and (max-width: 480px) {
          .mv .detail_box .btn .arrow {
            right: 0px;
            transform: translate(-50%, 20px); } }
        .mv .detail_box .btn .arrow span {
          width: 16px;
          height: 16px; }
          @media screen and (max-width: 480px) {
            .mv .detail_box .btn .arrow span {
              width: 12px;
              height: 12px;
              margin: 0 auto; } }
          .mv .detail_box .btn .arrow span:after {
            width: 16px;
            height: 16px; }
            @media screen and (max-width: 480px) {
              .mv .detail_box .btn .arrow span:after {
                width: 12px;
                height: 12px; } }

.subject_section {
  padding-bottom: 50px; }
  .subject_section .inner {
    width: 95%; }
  .subject_section .ttl {
    color: #fff;
    position: relative;
    padding-left: 25px;
    display: inline-block;
    padding-right: 25px; }
    .subject_section .ttl:before {
      content: "";
      position: absolute;
      left: 0;
      top: 8px;
      width: 8px;
      height: 34px;
      background-image: url("../img/kakko.svg");
      background-size: contain;
      background-position: center center; }
      @media screen and (max-width: 480px) {
        .subject_section .ttl:before {
          width: 11px;
          height: 47px; } }
    .subject_section .ttl:after {
      content: "";
      position: absolute;
      right: 0;
      top: 8px;
      width: 8px;
      height: 34px;
      background-image: url("../img/kakko.svg");
      background-size: contain;
      background-position: center center;
      transform: rotate(180deg); }
      @media screen and (max-width: 480px) {
        .subject_section .ttl:after {
          width: 11px;
          height: 47px; } }
  .subject_section .subject_box {
    display: flex;
    padding-left: 5vw;
    padding-right: 8.2vw; }
    @media screen and (max-width: 480px) {
      .subject_section .subject_box {
        display: block;
        padding: 0 20px; } }
    .subject_section .subject_box h2 {
      background-color: #fff;
      width: 222px;
      display: flex;
      align-items: center;
      justify-content: center; }
      @media screen and (max-width: 480px) {
        .subject_section .subject_box h2 {
          width: 100%;
          padding: 5px 0; } }
    .subject_section .subject_box .dl_wrap {
      display: flex;
      background-color: rgba(255, 255, 255, 0.2);
      padding: 25px 0 25px 35px;
      flex: 1; }
      @media screen and (max-width: 480px) {
        .subject_section .subject_box .dl_wrap {
          display: block;
          padding: 20px; } }
      .subject_section .subject_box .dl_wrap dl {
        color: #fff; }
        .subject_section .subject_box .dl_wrap dl:first-child {
          padding-right: 75px;
          border-right: 2px solid rgba(255, 255, 255, 0.5); }
          @media screen and (max-width: 480px) {
            .subject_section .subject_box .dl_wrap dl:first-child {
              padding-right: 0;
              border-bottom: 2px solid rgba(255, 255, 255, 0.5);
              border-right: none;
              padding-bottom: 10px; } }
        .subject_section .subject_box .dl_wrap dl:last-child {
          padding-left: 35px; }
          @media screen and (max-width: 480px) {
            .subject_section .subject_box .dl_wrap dl:last-child {
              padding-left: 0; } }

.intro_section {
  background-color: #fff;
  padding-top: 75px; }
  @media screen and (max-width: 480px) {
    .intro_section {
      padding-top: 50px; } }
  .intro_section ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .intro_section ul li {
      width: 24%;
      background-color: #3E3A39;
      height: 60px;
      position: relative;
      transition: .5s; }
      @media screen and (max-width: 480px) {
        .intro_section ul li {
          width: 48%; } }
      .intro_section ul li:hover a:after {
        transform: translateY(-50%) scale(1.2); }
      .intro_section ul li a {
        color: #fff;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center; }
        .intro_section ul li a:before {
          content: "";
          position: absolute;
          width: 7px;
          height: 9px;
          top: 50%;
          right: 16px;
          transform: translateY(-50%);
          background-image: url("../img/btn_arrow.svg");
          background-size: contain;
          background-position: center center;
          background-repeat: no-repeat;
          z-index: 1; }
        .intro_section ul li a:after {
          content: "";
          position: absolute;
          width: 20px;
          height: 20px;
          background-color: #fff;
          border-radius: 50%;
          right: 10px;
          top: 50%;
          transform: translateY(-50%);
          transition: .5s; }

.about_section {
  background-color: #fff;
  padding-top: 120px; }
  @media screen and (max-width: 480px) {
    .about_section {
      padding-top: 80px; } }
  .about_section h3 {
    display: inline-block;
    position: relative;
    padding-left: 30px;
    padding-right: 20px; }
    @media screen and (max-width: 480px) {
      .about_section h3 {
        padding-left: 25px;
        padding-right: 15px; } }
    .about_section h3:before {
      content: "";
      position: absolute;
      top: 50%;
      left: 10px;
      transform: translate(0px, -50%) rotate(0deg);
      width: 2px;
      height: 30px;
      background-color: #000;
      transition: .5s; }
      @media screen and (max-width: 480px) {
        .about_section h3:before {
          height: 30px; } }
    .about_section h3:after {
      content: "";
      position: absolute;
      top: 50%;
      right: 5px;
      transform: translate(0px, -50%) rotate(0deg);
      width: 2px;
      height: 30px;
      background-color: #000;
      transition: .5s; }
      @media screen and (max-width: 480px) {
        .about_section h3:after {
          height: 25px; } }
  .about_section h3.isAnimate:before {
    transform: translate(0px, -50%) rotate(30deg); }
  .about_section h3.isAnimate:after {
    transform: translate(0px, -50%) rotate(30deg); }
  .about_section .keyword_ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .about_section .keyword_ul li {
      opacity: 0;
      transform: translateY(20px);
      transition: .5s; }
      @media screen and (max-width: 480px) {
        .about_section .keyword_ul li {
          width: 48%;
          height: 230px; } }
      .about_section .keyword_ul li:hover a {
        border: 8px solid #E55386; }
        .about_section .keyword_ul li:hover a p:last-child {
          background-color: #E55386; }
          .about_section .keyword_ul li:hover a p:last-child:before {
            transform: rotate(90deg); }
      .about_section .keyword_ul li a {
        display: block;
        border: 8px solid #01ABB0;
        width: 315px;
        height: 280px;
        position: relative;
        padding-top: 30px;
        transition: 0.5s; }
        @media screen and (max-width: 480px) {
          .about_section .keyword_ul li a {
            width: 100%;
            border: 5px solid #01ABB0;
            height: 100%;
            padding-top: 20px; } }
        .about_section .keyword_ul li a p:first-child {
          color: #fff;
          background-color: #3E3A39;
          width: 35px;
          height: 35px;
          border-radius: 50%;
          display: flex;
          align-items: center;
          justify-content: center;
          margin: 0 auto; }
          @media screen and (max-width: 480px) {
            .about_section .keyword_ul li a p:first-child {
              width: 30px;
              height: 30px; } }
        .about_section .keyword_ul li a p:last-child {
          position: absolute;
          right: 0;
          bottom: 0;
          color: #fff;
          background-color: #01ABB0;
          padding: 10px 17px 2px 30px;
          letter-spacing: 0.1em;
          transition: .5s; }
          @media screen and (max-width: 480px) {
            .about_section .keyword_ul li a p:last-child {
              padding: 10px 3px 2px 25px; } }
          .about_section .keyword_ul li a p:last-child:before {
            content: "+";
            font-size: 22px;
            color: #fff;
            position: absolute;
            top: 10px;
            left: 12px;
            transition: .3s; }
            @media screen and (max-width: 480px) {
              .about_section .keyword_ul li a p:last-child:before {
                font-size: 18px; } }
        .about_section .keyword_ul li a figure {
          width: 120px;
          margin: 0 auto; }
          @media screen and (max-width: 480px) {
            .about_section .keyword_ul li a figure {
              width: 90px; } }
  .about_section .keyword_ul li.isAnimate {
    opacity: 1;
    transform: translateY(0); }
  .about_section .architecture_area {
    position: relative;
    z-index: 0;
    padding-top: 100px;
    padding-bottom: 130px; }
    .about_section .architecture_area:after {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      background-color: rgba(242, 242, 242, 0.95);
      height: 100%;
      width: 65%;
      z-index: -1; }
    .about_section .architecture_area .slider_box {
      margin-right: calc(50% - 50vw); }
    .about_section .architecture_area .slide_ul {
      display: flex; }
      .about_section .architecture_area .slide_ul li {
        position: relative;
        margin-right: 40px; }
        .about_section .architecture_area .slide_ul li figure {
          width: 500px; }
    .about_section .architecture_area .architecture_btn {
      color: #3E3A39;
      float: right;
      display: flex;
      align-items: center;
      position: relative;
      overflow: hidden;
      padding-bottom: 10px; }
      @media screen and (max-width: 480px) {
        .about_section .architecture_area .architecture_btn {
          padding-bottom: 5px; } }
      .about_section .architecture_area .architecture_btn:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 2px;
        bottom: 0;
        background-color: #3E3A39;
        transition: all 0.5s ease; }
      .about_section .architecture_area .architecture_btn:after {
        content: "";
        position: absolute;
        width: 100%;
        height: 2px;
        bottom: 0;
        background-color: #3E3A39;
        transition: all 0.5s ease;
        left: -100%; }
      .about_section .architecture_area .architecture_btn:hover:before {
        animation: toRight 1s 1;
        animation-timing-function: ease; }
      .about_section .architecture_area .architecture_btn:hover:after {
        animation: toLeft 0.6s 1;
        animation-delay: 0.5s;
        animation-timing-function: ease; }
      .about_section .architecture_area .architecture_btn:hover span:after {
        transform: translateY(-50%) scale(1.2); }
@keyframes toRight {
  0% {
    left: 0%; }
  100% {
    left: 100%; } }
@keyframes toLeft {
  0% {
    left: -100%; }
  100% {
    left: 0; } }
      .about_section .architecture_area .architecture_btn span {
        display: block;
        position: relative;
        margin-left: 20px;
        width: 20px;
        height: 20px; }
        .about_section .architecture_area .architecture_btn span:before {
          content: "";
          position: absolute;
          width: 7px;
          height: 9px;
          top: 50%;
          right: 8px;
          transform: translateY(-50%) rotate(-90deg);
          background-image: url("../img/arrow_white.svg");
          background-size: contain;
          background-position: center center;
          background-repeat: no-repeat;
          z-index: 1; }
        .about_section .architecture_area .architecture_btn span:after {
          content: "";
          position: absolute;
          width: 20px;
          height: 20px;
          background-color: #3E3A39;
          border-radius: 50%;
          right: 2px;
          top: 50%;
          transform: translateY(-50%);
          transition: .5s; }

/*==================================================
slider
===================================*/
.slider .slick-slide {
  margin: 0 40px 0 0;
  position: relative; }
  @media screen and (max-width: 480px) {
    .slider .slick-slide {
      margin: 0 20px 0 0; } }
  .slider .slick-slide p {
    padding-left: 30px; }
    @media screen and (max-width: 480px) {
      .slider .slick-slide p {
        padding-left: 20px; } }
  .slider .slick-slide .number {
    color: rgba(62, 58, 57, 0.08);
    position: absolute;
    bottom: 10px;
    left: 0px;
    padding-left: 0; }

/*戻る、次へ矢印の位置*/
.slick-prev,
.slick-next {
  position: absolute;
  top: -75px;
  right: 10px;
  cursor: pointer;
  width: 42px;
  height: 42px;
  border: 1px solid #373332;
  border-radius: 50%; }
  @media screen and (max-width: 480px) {
    .slick-prev,
    .slick-next {
      width: 35px;
      height: 35px; } }
  .slick-prev:before,
  .slick-next:before {
    content: "";
    position: absolute;
    background-image: url("../img/arrow_black.svg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    width: 11px;
    height: 10px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }

.slick-prev {
  right: 50%;
  transform: rotate(-180deg) translate(-25vw, 0px); }
  @media screen and (max-width: 480px) {
    .slick-prev {
      transform: rotate(-180deg) translate(0px, 0px);
      right: 65px; } }

.slick-next {
  right: 50%;
  transform: translate(29vw, 0px); }
  @media screen and (max-width: 480px) {
    .slick-next {
      transform: translate(0px, 0px);
      right: 20px; } }

.modal {
  display: flex;
  width: 1000px;
  background-color: #fff;
  margin: 0 auto;
  padding: 40px;
  position: relative; }
  @media screen and (max-width: 480px) {
    .modal {
      width: 100%;
      display: block;
      padding: 30px 20px 40px; } }
  .modal:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 35px 33px;
    border-color: transparent transparent rgba(0, 0, 0, 0.8) transparent;
    right: 0;
    bottom: 0; }
  .modal .modal_wrap {
    flex: 1;
    padding-right: 20px;
    position: relative; }
    @media screen and (max-width: 480px) {
      .modal .modal_wrap {
        padding-right: 0; } }
    .modal .modal_wrap:after {
      content: "";
      position: absolute;
      right: 10px;
      bottom: 0;
      background-image: url("../img/icon01.svg");
      width: 120px;
      height: 90px;
      opacity: 0.15; }
      @media screen and (max-width: 480px) {
        .modal .modal_wrap:after {
          right: -10px; } }
    .modal .modal_wrap h3 {
      display: flex;
      align-items: center;
      border-bottom: 1px solid rgba(55, 51, 50, 0.15);
      padding-bottom: 5px; }
      .modal .modal_wrap h3 span {
        display: block;
        width: 28px;
        height: 28px;
        color: #fff;
        border-radius: 50%;
        background-color: #000;
        padding-top: 4px;
        margin-right: 5px; }
    .modal .modal_wrap p {
      color: #3E3A39; }
  .modal figure {
    width: 440px; }
    @media screen and (max-width: 480px) {
      .modal figure {
        width: 100%; } }

#keyword2 .modal_wrap:after {
  background-image: url("../img/icon02.svg"); }

#keyword3 .modal_wrap:after {
  background-image: url("../img/icon03.svg"); }

#keyword4 .modal_wrap:after {
  background-image: url("../img/icon04.svg"); }

#keyword5 .modal_wrap:after {
  background-image: url("../img/icon05.svg"); }

#keyword6 .modal_wrap:after {
  background-image: url("../img/icon06.svg"); }

.mfp-wrap .mfp-container .mfp-content .modal .mfp-close {
  color: #fff;
  opacity: 1;
  top: -50px;
  right: -10px;
  font-size: 38px;
  font-family: 'Noto Sans JP';
  font-weight: 200; }

.technology_section {
  padding: 100px 0; }
  @media screen and (max-width: 480px) {
    .technology_section {
      padding: 70px 0; } }
  .technology_section .step_box {
    background-color: #F8F8F8;
    padding: 30px;
    position: relative;
    opacity: 0;
    transform: translateY(20px);
    transition: .5s; }
    @media screen and (max-width: 480px) {
      .technology_section .step_box {
        padding: 20px 20px 30px; } }
    .technology_section .step_box:after {
      content: "";
      position: absolute;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 0 35px 33px;
      border-color: transparent transparent #01ABB0 transparent;
      right: 0;
      bottom: 0; }
    @media screen and (max-width: 480px) {
      .technology_section .step_box .scroll_box {
        overflow-x: auto;
        padding-bottom: 10px;
        -webkit-overflow-scrolling: touch; } }
    @media screen and (max-width: 480px) {
      .technology_section .step_box .scroll_box div img {
        max-width: 100%;
        min-width: 750px;
        vertical-align: top; } }
    .technology_section .step_box .scroll_p {
      text-align: right;
      padding-right: 12px;
      position: relative;
      font-size: 12px;
      margin-top: 5px; }
      .technology_section .step_box .scroll_p:after {
        display: block;
        content: "";
        position: absolute;
        width: 7px;
        height: 7px;
        right: 0;
        top: 50%;
        transform: translate(0, -50%) rotate(45deg);
        border-top: solid 2px #000;
        border-right: solid 2px #000; }
    .technology_section .step_box .txt {
      border-bottom: 1px solid rgba(1, 171, 176, 0.25);
      display: inline-block; }
      @media screen and (max-width: 480px) {
        .technology_section .step_box .txt {
          border-bottom: none; } }
  .technology_section .step_box.isAnimate {
    opacity: 1;
    transform: translateY(0); }
  .technology_section .flex_box {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 480px) {
      .technology_section .flex_box {
        display: block; } }
    .technology_section .flex_box p {
      color: #fff;
      flex: 1;
      padding-right: 30px; }
      @media screen and (max-width: 480px) {
        .technology_section .flex_box p {
          padding-right: 0; } }
    .technology_section .flex_box figure {
      width: 470px; }
      @media screen and (max-width: 480px) {
        .technology_section .flex_box figure {
          width: 100%; } }

.facility_section {
  position: relative;
  padding: 100px 0; }
  @media screen and (max-width: 480px) {
    .facility_section {
      padding: 70px 0; } }
  .facility_section:before {
    content: "";
    position: absolute;
    background-color: #fff;
    width: 95%;
    height: 100%;
    z-index: -1;
    top: 0;
    left: 0; }
    @media screen and (max-width: 480px) {
      .facility_section:before {
        width: 100%; } }
  .facility_section .flex_box {
    display: flex;
    background-color: #F8F8F8;
    padding: 30px 50px;
    position: relative;
    opacity: 0;
    transform: translateY(20px);
    transition: 0.5s; }
    @media screen and (max-width: 480px) {
      .facility_section .flex_box {
        display: block;
        padding: 20px 20px 30px; } }
    .facility_section .flex_box:after {
      content: "";
      position: absolute;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 0 35px 33px;
      border-color: transparent transparent #fff transparent;
      right: 0;
      bottom: 0; }
    .facility_section .flex_box figure {
      width: 246px; }
      @media screen and (max-width: 480px) {
        .facility_section .flex_box figure {
          width: 100%; } }
    .facility_section .flex_box p {
      flex: 1;
      padding-right: 40px; }
      @media screen and (max-width: 480px) {
        .facility_section .flex_box p {
          padding-right: 0; } }
  .facility_section .flex_box.isAnimate {
    opacity: 1;
    transform: translateY(0); }
  .facility_section .facility_box {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 480px) {
      .facility_section .facility_box {
        display: block; } }
    .facility_section .facility_box .item {
      width: 480px; }
      @media screen and (max-width: 480px) {
        .facility_section .facility_box .item {
          width: 100%; } }

.company_section {
  padding: 100px 0;
  position: relative;
  background-color: rgba(1, 171, 176, 0.95); }
  @media screen and (max-width: 480px) {
    .company_section {
      padding: 70px 0; } }
  .company_section:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-image: url("../img/bg.jpg");
    z-index: -1; }
  .company_section .company_list dl {
    color: #fff;
    display: flex;
    padding: 20px 0;
    position: relative;
    overflow: hidden; }
    @media screen and (max-width: 480px) {
      .company_section .company_list dl {
        display: block; } }
    .company_section .company_list dl:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: -100%;
      background-color: rgba(255, 255, 255, 0.4);
      height: 1px;
      width: 100%;
      transition: .8s; }
    .company_section .company_list dl:nth-child(5) dd ul li span {
      width: 135px; }
    .company_section .company_list dl:last-child:after {
      display: none; }
    .company_section .company_list dl:last-child dd a {
      display: block; }
      .company_section .company_list dl:last-child dd a figure {
        width: 355px;
        position: relative; }
        .company_section .company_list dl:last-child dd a figure:before {
          content: "";
          display: block;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          width: 68px;
          height: 47px;
          border-radius: 10px;
          background-color: #FF000A; }
        .company_section .company_list dl:last-child dd a figure:after {
          content: "";
          display: block;
          position: absolute;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 7.5px 0 7.5px 18px;
          border-color: transparent transparent transparent #fff;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%); }
    .company_section .company_list dl:last-child dd .movie {
      margin-bottom: 40px; }
      .company_section .company_list dl:last-child dd .movie figure {
        position: relative;
        padding-bottom: 56.25%;
        /*アスペクト比 16:9の場合の縦幅*/
        height: 0;
        overflow: hidden;
        width: 640px;
        margin-bottom: 10px; }
        @media screen and (max-width: 480px) {
          .company_section .company_list dl:last-child dd .movie figure {
            width: 100%; } }
        .company_section .company_list dl:last-child dd .movie figure iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; }
      .company_section .company_list dl:last-child dd .movie video {
        width: 100%;
        max-width: 640px; }
    .company_section .company_list dl dt {
      width: 190px;
      opacity: 0;
      transition: .8s;
      transition-delay: 1.1s;
      transform: translateY(20px); }
      @media screen and (max-width: 480px) {
        .company_section .company_list dl dt {
          font-weight: bold; } }
    .company_section .company_list dl dd {
      opacity: 0;
      transition: .8s;
      transition-delay: 1.1s;
      transform: translateY(20px); }
      .company_section .company_list dl dd p {
        color: #fff; }
      .company_section .company_list dl dd .txt_link {
        color: #fff;
        border-bottom: 1px solid #fff;
        padding-bottom: 3px;
        padding-right: 20px;
        position: relative; }
        .company_section .company_list dl dd .txt_link:hover:after {
          display: block; }
        .company_section .company_list dl dd .txt_link:hover .arrow span {
          transform: translate3d(100%, -100%, 0);
          transition: transform .5s; }
        .company_section .company_list dl dd .txt_link .arrow {
          right: 0px;
          top: 50%;
          transform: translate(0, -50%); }
      .company_section .company_list dl dd ul li {
        display: flex;
        padding-left: 20px;
        position: relative; }
        @media screen and (max-width: 480px) {
          .company_section .company_list dl dd ul li {
            display: block;
            padding-left: 15px; } }
        .company_section .company_list dl dd ul li:before {
          content: "";
          position: absolute;
          left: 0;
          top: 50%;
          transform: translate(0, -50%);
          width: 5px;
          height: 5px;
          border-radius: 50%;
          background-color: #fff; }
          @media screen and (max-width: 480px) {
            .company_section .company_list dl dd ul li:before {
              top: 10px;
              transform: translate(0, 0); } }
        .company_section .company_list dl dd ul li span {
          display: block;
          width: 90px; }
          @media screen and (max-width: 480px) {
            .company_section .company_list dl dd ul li span {
              font-weight: bold; } }
  .company_section .company_list.isAnimate dl:after {
    left: 0; }
  .company_section .company_list.isAnimate dl dt {
    opacity: 1;
    transform: translateY(0); }
  .company_section .company_list.isAnimate dl dd {
    opacity: 1;
    transform: translateY(0); }

.comingsoon {
  position: relative;
  pointer-events: none; }
  .comingsoon:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.45);
    z-index: 3; }
  .comingsoon:after {
    content: "Coming soon";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 16px;
    color: #fff;
    font-weight: 500;
    z-index: 4; }

footer {
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 30px; }
  @media screen and (max-width: 480px) {
    footer {
      padding: 20px 20px 60px;
      display: block; } }
  footer figure {
    width: 240px; }
    @media screen and (max-width: 480px) {
      footer figure {
        width: 180px;
        margin: 0 auto; } }

/*# sourceMappingURL=style.css.map */
