@charset "UTF-8";
* {
  margin: 0;
  padding: 0; }

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

a {
  color: inherit;
  transition: opacity 0.2s;
  text-decoration: none; }
  a:hover {
    opacity: 0.7;
    text-decoration: none; }

li {
  list-style: none; }

sup {
  vertical-align: 0.5em;
  font-size: 0.8em; }

.grid-bg {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%; }
  .grid-bg.show .h span {
    height: 100%; }
  .grid-bg.show .v span {
    width: 100%; }
  .grid-bg.translucent-gird {
    opacity: 0.06; }
  .grid-bg.white-grid {
    opacity: 0.5; }
    .grid-bg.white-grid .h span {
      background: white; }
  .grid-bg.bg-2-grid-v .h span {
    transition-property: height;
    transition-timing-function: linear;
    transition-duration: 0.2s; }
    .grid-bg.bg-2-grid-v .h span:nth-child(1) {
      transition-delay: 0.1s; }
    .grid-bg.bg-2-grid-v .h span:nth-child(2) {
      transition-delay: 0.2s; }
    .grid-bg.bg-2-grid-v .h span:nth-child(3) {
      transition-delay: 0.3s; }
    .grid-bg.bg-2-grid-v .h span:nth-child(4) {
      transition-delay: 0.4s; }
  .grid-bg.bg-2-grid-v .v span {
    transition-property: width;
    transition-timing-function: linear;
    transition-duration: 0.5s; }
    .grid-bg.bg-2-grid-v .v span:nth-child(0) {
      top: 0%; }
    .grid-bg.bg-2-grid-v .v span:nth-child(1) {
      top: 50%;
      transition-delay: 0.1s; }
  .grid-bg.bg-4-grid-v .h span {
    transition-property: height;
    transition-timing-function: linear;
    transition-duration: 0.4s; }
    .grid-bg.bg-4-grid-v .h span:nth-child(1) {
      transition-delay: 0.1s; }
    .grid-bg.bg-4-grid-v .h span:nth-child(2) {
      transition-delay: 0.2s; }
    .grid-bg.bg-4-grid-v .h span:nth-child(3) {
      transition-delay: 0.3s; }
    .grid-bg.bg-4-grid-v .h span:nth-child(4) {
      transition-delay: 0.4s; }
  .grid-bg.bg-4-grid-v .v span {
    transition-property: width;
    transition-timing-function: linear;
    transition-duration: 0.5s; }
    .grid-bg.bg-4-grid-v .v span:nth-child(1) {
      top: 0%;
      transition-delay: 0s; }
    .grid-bg.bg-4-grid-v .v span:nth-child(2) {
      top: 25%;
      transition-delay: 0.1s; }
    .grid-bg.bg-4-grid-v .v span:nth-child(3) {
      top: 50%;
      transition-delay: 0.2s; }
    .grid-bg.bg-4-grid-v .v span:nth-child(4) {
      top: 75%;
      transition-delay: 0.3s; }
  .grid-bg.bg-5-grid-v .h span {
    transition-property: height;
    transition-timing-function: linear;
    transition-duration: 0.5s; }
    .grid-bg.bg-5-grid-v .h span:nth-child(1) {
      transition-delay: 0.1s; }
    .grid-bg.bg-5-grid-v .h span:nth-child(2) {
      transition-delay: 0.2s; }
    .grid-bg.bg-5-grid-v .h span:nth-child(3) {
      transition-delay: 0.3s; }
    .grid-bg.bg-5-grid-v .h span:nth-child(4) {
      transition-delay: 0.4s; }
  .grid-bg.bg-5-grid-v .v span {
    transition-property: width;
    transition-timing-function: linear;
    transition-duration: 0.5s; }
    .grid-bg.bg-5-grid-v .v span:nth-child(1) {
      top: 20%;
      transition-delay: 0s; }
    .grid-bg.bg-5-grid-v .v span:nth-child(2) {
      top: 40%;
      transition-delay: 0.1s; }
    .grid-bg.bg-5-grid-v .v span:nth-child(3) {
      top: 60%;
      transition-delay: 0.2s; }
    .grid-bg.bg-5-grid-v .v span:nth-child(4) {
      top: 80%;
      transition-delay: 0.3s; }
  .grid-bg.bg-7-grid-v .h span {
    transition-property: height;
    transition-timing-function: linear;
    transition-duration: 0.7s; }
    .grid-bg.bg-7-grid-v .h span:nth-child(1) {
      transition-delay: 0.1s; }
    .grid-bg.bg-7-grid-v .h span:nth-child(2) {
      transition-delay: 0.2s; }
    .grid-bg.bg-7-grid-v .h span:nth-child(3) {
      transition-delay: 0.3s; }
    .grid-bg.bg-7-grid-v .h span:nth-child(4) {
      transition-delay: 0.4s; }
  .grid-bg.bg-7-grid-v .v span {
    transition-property: width;
    transition-timing-function: linear;
    transition-duration: 0.5s; }
    .grid-bg.bg-7-grid-v .v span:nth-child(1) {
      top: 14.28%;
      transition-delay: 0s; }
    .grid-bg.bg-7-grid-v .v span:nth-child(2) {
      top: 28.57%;
      transition-delay: 0.1s; }
    .grid-bg.bg-7-grid-v .v span:nth-child(3) {
      top: 42.85%;
      transition-delay: 0.2s; }
    .grid-bg.bg-7-grid-v .v span:nth-child(4) {
      top: 57.14%;
      transition-delay: 0.3s; }
    .grid-bg.bg-7-grid-v .v span:nth-child(5) {
      top: 71.42%;
      transition-delay: 0.4s; }
    .grid-bg.bg-7-grid-v .v span:nth-child(6) {
      top: 85.71%;
      transition-delay: 0.5s; }
  .grid-bg .h {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%; }
    .grid-bg .h span {
      display: block;
      position: absolute;
      background: #000000;
      width: 1px;
      height: 0%; }
      .grid-bg .h span:nth-child(1) {
        left: 20%; }
      .grid-bg .h span:nth-child(2) {
        left: 40%; }
      .grid-bg .h span:nth-child(3) {
        left: 60%; }
      .grid-bg .h span:nth-child(4) {
        left: 80%; }
  .grid-bg .v {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%; }
    .grid-bg .v span {
      display: block;
      position: absolute;
      background: #000000;
      width: 0%;
      height: 1px; }

.clearfix {
  zoom: 1; }
  .clearfix:after {
    clear: both;
    display: block;
    content: ""; }

@font-face {
  font-family: SS Soil;
  src: url(https://ec-force.s3.amazonaws.com/sisitokyo/uploads/sp/css/fonts/SSSoil-Roman.otf); }

@font-face {
  font-family: fontplus-unused;
  src: local("Arial"); }

@media only screen and (min-width: 500px) {
  .is-sp {
    display: none !important; }
  .wrapper {
    max-width: 500px;
    min-height: 100%;
    margin: 0 auto;
    border-left: 1px solid;
    border-right: 1px solid;
    position: relative; }
  #menu .menu-inner {
    max-width: 500px;
    border-left: 1px solid rgba(255, 255, 255, 0.5);
    border-right: 1px solid rgba(255, 255, 255, 0.5); }
  .modal-img-legend .modal-inner {
    max-width: 500px;
    border-left: 1px solid rgba(255, 255, 255, 0.5);
    border-right: 1px solid rgba(255, 255, 255, 0.5); } }

@media only screen and (max-width: 499px) {
  .is-pc {
    display: none !important; } }

body {
  font-family: SS Soil,TazuganeGothicStdN-Regular,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;
  line-height: 1.75;
  overflow-x: hidden;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.08em;
  -webkit-font-smoothing: antialiased;
  background: #FFFFFF;
  color: #000000; }
  body.noscroll {
    overflow: hidden;
    position: fixed;
    width: 100%;
    height: 100%; }
  body.showMenu #menu {
    pointer-events: auto;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
  body.showMenu .btn_menu a {
    filter: invert(1);
    border: 1px solid #FFFFFF; }
    body.showMenu .btn_menu a:hover {
      filter: invert(0);
      border: 1px solid rgba(255, 255, 255, 0.5); }
    body.showMenu .btn_menu a .label.close {
      display: block; }
    body.showMenu .btn_menu a .label.menu {
      display: none; }
    body.showMenu .btn_menu a span:before {
      transform: translate(-50%, -50%) rotate(20deg); }
    body.showMenu .btn_menu a span:after {
      transform: translate(-50%, -50%) rotate(-20deg); }

a,
button {
  color: inherit;
  transition: opacity 0.2s;
  text-decoration: none;
  cursor: pointer; }
  a:hover,
  button:hover {
    opacity: 0.5;
    text-decoration: none; }

li {
  list-style: none; }

header {
  width: 100%;
  position: relative; }
  header:before {
    content: "";
    display: block;
    padding-top: calc((100% / 10 * 1.2) - 1px); }

.btn_menu {
  position: fixed;
  top: 0px;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  pointer-events: none;
  z-index: 10000; }
  .btn_menu.show .inner {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    display: block; }
  .btn_menu:before {
    content: "";
    display: block;
    padding-top: calc(100% / 10 * 1.2); }
  .btn_menu .inner {
    position: absolute;
    display: none;
    width: calc((100% / 5 * 2) + 1px);
    height: calc((100%) + 1px);
    top: 0px;
    right: -1px;
    overflow: hidden;
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
            clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    transition-property: -webkit-clip-path;
    transition-property: clip-path;
    transition-property: clip-path, -webkit-clip-path;
    transition-duration: 0.2s;
    transition-delay: 0.3s;
    transition-timing-function: linear; }
  .btn_menu a {
    pointer-events: auto;
    position: absolute;
    top: -1px;
    right: 0px;
    width: 100%;
    height: 100%;
    background: #000000;
    color: #FFFFFF;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #000000;
    box-sizing: border-box; }
    .btn_menu a:hover {
      opacity: 1.0;
      filter: invert(1);
      border: 1px solid #FFFFFF; }
    .btn_menu a .label {
      width: 75px;
      text-align: center;
      line-height: 1.0;
      vertical-align: bottom; }
      .btn_menu a .label.close {
        display: none; }
    .btn_menu a span {
      display: block;
      width: 35px;
      height: 45px;
      position: relative;
      margin-top: -4px; }
      .btn_menu a span:before {
        width: 35px;
        height: 1px;
        content: "";
        background: #FFFFFF;
        position: absolute;
        top: 50%;
        left: 50%;
        display: block;
        transition: 0.4s cubic-bezier(0.23, 1, 0.32, 1);
        transform: translate(-50%, calc(-50% - 2px)); }
      .btn_menu a span:after {
        width: 35px;
        height: 1px;
        content: "";
        background: #FFFFFF;
        position: absolute;
        top: 50%;
        left: 50%;
        display: block;
        transform: translate(-50%, calc(-50% + 2px));
        transition: 0.4s cubic-bezier(0.23, 1, 0.32, 1); }

.btn_top {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  position: fixed;
  pointer-events: none;
  z-index: 10000;
  bottom: -1px; }
  .btn_top a {
    margin-right: 0px;
    margin-left: auto;
    display: block;
    pointer-events: auto;
    position: relative;
    border-top: 1px solid #FFFFFF;
    border-left: 1px solid #FFFFFF;
    background: #000000;
    color: #FFFFFF;
    width: calc((100% / 5 * 1) - 1px); }
    .btn_top a:hover {
      opacity: 1.0;
      border-top: 1px solid #000000;
      border-left: 1px solid #000000;
      background: #FFFFFF; }
      .btn_top a:hover .inner {
        filter: invert(1); }
    .btn_top a:before {
      content: "";
      display: block;
      padding-top: 100%; }
    .btn_top a .inner {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .btn_top a span {
      display: block;
      width: 100%;
      line-height: 1.0;
      text-align: center; }
      .btn_top a span.icon {
        margin-bottom: 5px; }
      .btn_top a span.label {
        font-size: 11px; }

#menu {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 10010;
  background: #000000;
  color: #FFFFFF;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
          clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
  pointer-events: none;
  transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
  transition-duration: 0.3s;
  transition-timing-function: linear; }
  #menu .menu-inner {
    display: table;
    width: 100%;
    height: 100%;
    max-width: 500px;
    margin: 0 auto;
    background: url("/assets/img/icon_menu_blank.svg") top center repeat-y;
    background-size: 100%; }
    #menu .menu-inner .menu-content {
      display: table-cell;
      vertical-align: top; }
  #menu .nav {
    position: relative;
    background: black; }
    #menu .nav .btn_close {
      position: absolute;
      top: 0px;
      width: 100%;
      max-width: 500px;
      margin: 0 auto;
      pointer-events: none;
      z-index: 10000; }
      #menu .nav .btn_close.show .inner {
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
                clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        display: block; }
      #menu .nav .btn_close:before {
        content: "";
        display: block;
        padding-top: calc(100% / 10 * 1.2); }
      #menu .nav .btn_close .inner {
        position: absolute;
        display: none;
        width: calc((100% / 5 * 2) + 1px);
        height: calc((100%) + 1px);
        top: 0px;
        right: -1px;
        overflow: hidden;
        -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
                clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
        transition-property: -webkit-clip-path;
        transition-property: clip-path;
        transition-property: clip-path, -webkit-clip-path;
        transition-duration: 0.2s;
        transition-delay: 0.3s;
        transition-timing-function: linear; }
      #menu .nav .btn_close a {
        pointer-events: auto;
        position: absolute;
        top: -1px;
        right: 0px;
        width: 100%;
        height: 100%;
        background: #FFFFFF;
        color: #000000;
        display: flex;
        justify-content: center;
        align-items: center;
        border: 1px solid rgba(255, 255, 255, 0.5);
        box-sizing: border-box; }
        #menu .nav .btn_close a:hover {
          opacity: 1.0; }
        #menu .nav .btn_close a .label {
          width: 75px;
          text-align: center;
          line-height: 1.0;
          vertical-align: bottom; }
        #menu .nav .btn_close a span {
          display: block;
          width: 35px;
          height: 45px;
          position: relative;
          margin-top: -4px; }
          #menu .nav .btn_close a span:before {
            width: 35px;
            height: 1px;
            content: "";
            background: #000000;
            position: absolute;
            top: 50%;
            left: 50%;
            display: block;
            transition: 0.4s cubic-bezier(0.23, 1, 0.32, 1);
            transform: translate(-50%, -50%) rotate(20deg); }
          #menu .nav .btn_close a span:after {
            width: 35px;
            height: 1px;
            content: "";
            background: #000000;
            position: absolute;
            top: 50%;
            left: 50%;
            display: block;
            transform: translate(-50%, -50%) rotate(-20deg);
            transition: 0.4s cubic-bezier(0.23, 1, 0.32, 1); }
    #menu .nav .bg {
      position: relative; }
      #menu .nav .bg:before {
        content: "";
        display: block;
        padding-top: calc((100% / 10 * 1.2) - 1px); }
    #menu .nav .lead {
      position: relative;
      background: black; }
      #menu .nav .lead:before {
        content: "";
        display: block;
        padding-top: calc(100% / 10 * 2.8); }
      #menu .nav .lead.show .brdr {
        width: 100%; }
      #menu .nav .lead.show .inner span {
        opacity: 1.0;
        transform: translate(calc(-50%), -50%); }
      #menu .nav .lead .brdr {
        display: block;
        position: absolute;
        background: white;
        opacity: 0.5;
        width: 0%;
        height: 1px;
        transition-property: width;
        transition-timing-function: linear;
        transition-duration: 0.5s; }
        #menu .nav .lead .brdr.top {
          top: 0px;
          transition-delay: 0.1s; }
        #menu .nav .lead .brdr.bottom {
          bottom: 0px;
          transition-delay: 0.2s; }
      #menu .nav .lead .inner span {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(calc(-50% + 10px), -50%);
        opacity: 0.0;
        transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
    #menu .nav .items {
      border-bottom: 1px solid rgba(255, 255, 255, 0.5);
      -webkit-clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
              clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
      transition-property: -webkit-clip-path;
      transition-property: clip-path;
      transition-property: clip-path, -webkit-clip-path;
      transition-duration: 0.2s;
      transition-delay: 0.3s;
      transition-timing-function: linear; }
      #menu .nav .items.show {
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
                clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
      #menu .nav .items .item {
        position: relative;
        border-bottom: 1px solid rgba(255, 255, 255, 0.5); }
        #menu .nav .items .item:before {
          content: "";
          display: block;
          padding-top: calc(100% / 5 * 1); }
        #menu .nav .items .item a {
          position: absolute;
          top: 0px;
          left: 0px;
          width: 100%;
          height: 100%;
          background: #000000;
          display: flex; }
          #menu .nav .items .item a:hover {
            opacity: 1.0;
            filter: invert(1); }
            #menu .nav .items .item a:hover .head {
              width: calc(100% / 5 * 1);
              border-right: 1px solid #FFFFFF; }
          #menu .nav .items .item a em {
            font-style: normal;
            font-size: 22px; }
          #menu .nav .items .item a .head {
            width: calc(100% / 5 * 1);
            border-right: 1px solid rgba(255, 255, 255, 0.5);
            display: flex;
            justify-content: center;
            align-items: center; }
          #menu .nav .items .item a .body {
            width: calc((100% / 5 * 4) - 1px);
            display: flex;
            justify-content: flex-start;
            align-items: center;
            padding-left: 20px;
            box-sizing: border-box; }

footer {
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000; }
  footer .inner {
    padding-top: 47px;
    padding-bottom: 45px;
    text-align: center; }
    footer .inner .head {
      font-size: 13px;
      font-weight: bold;
      margin-bottom: 1em; }
    footer .inner .desc {
      font-size: 11px; }

section.block-head {
  text-align: center;
  position: relative; }
  section.block-head:before {
    content: "";
    display: block;
    padding-top: calc(100% / 10 * 2.8); }
  section.block-head.show .brdr {
    width: 100%; }
  section.block-head.show .inner span {
    opacity: 1.0;
    transform: translate(calc(-50%), -50%); }
  section.block-head .brdr {
    display: block;
    position: absolute;
    background: #000000;
    width: 0%;
    height: 1px;
    transition-property: width;
    transition-timing-function: linear;
    transition-duration: 0.5s; }
    section.block-head .brdr.top {
      top: 0px;
      transition-delay: 0.1s; }
    section.block-head .brdr.bottom {
      bottom: 0px;
      transition-delay: 0.2s; }
  section.block-head .inner span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(calc(-50% + 10px), -50%);
    opacity: 0.0;
    transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
    section.block-head .inner span img {
      display: block; }
    section.block-head .inner span:nth-child(1) {
      transition-delay: calc(0.1s + 0.25s); }
    section.block-head .inner span:nth-child(2) {
      transition-delay: calc(0.2s + 0.25s); }
    section.block-head .inner span:nth-child(3) {
      transition-delay: calc(0.3s + 0.25s); }
    section.block-head .inner span:nth-child(4) {
      transition-delay: calc(0.4s + 0.25s); }
    section.block-head .inner span:nth-child(5) {
      transition-delay: calc(0.5s + 0.25s); }
    section.block-head .inner span:nth-child(6) {
      transition-delay: calc(0.6s + 0.25s); }
    section.block-head .inner span:nth-child(7) {
      transition-delay: calc(0.7s + 0.25s); }

section.block-bg {
  width: calc(100% / 5 * 5);
  position: relative; }
  section.block-bg.bg-lg:before {
    padding-top: calc(100% / 5 * 4); }
  section.block-bg:before {
    width: 100%;
    content: "";
    display: block;
    padding-top: calc(100% / 5 * 2); }

section.block-outline {
  width: calc(100% / 5 * 5);
  position: relative; }
  section.block-outline:before {
    width: 100%;
    content: "";
    display: block;
    padding-top: calc(100% / 5 * 7); }
  section.block-outline .inner {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%; }
    section.block-outline .inner .title {
      position: relative; }
      section.block-outline .inner .title.show .title-inner .sub {
        opacity: 1.0;
        transform: translate(0, 0px); }
      section.block-outline .inner .title.show .title-inner .head {
        opacity: 1.0;
        transform: translate(0, 0px); }
      section.block-outline .inner .title:before {
        width: 100%;
        content: "";
        display: block;
        padding-top: calc(100% / 5 * 2); }
      section.block-outline .inner .title .title-inner {
        position: absolute;
        width: 100%;
        text-align: center;
        bottom: 0px; }
        section.block-outline .inner .title .title-inner:after {
          width: 100%;
          content: "";
          display: block;
          padding-top: calc(100% / 5 * 0.5); }
        section.block-outline .inner .title .title-inner .sub {
          font-size: 13px;
          margin-bottom: 1em;
          transition: 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
          opacity: 0.0;
          transform: translate(0, 10px); }
          section.block-outline .inner .title .title-inner .sub.show {
            opacity: 1.0;
            transform: translate(0, 0px); }
        section.block-outline .inner .title .title-inner .head {
          font-size: 18px;
          transition: 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
          transition-delay: 0.2s;
          opacity: 0.0;
          transform: translate(0, 10px); }
          section.block-outline .inner .title .title-inner .head.show {
            opacity: 1.0;
            transform: translate(0, 0px); }
    section.block-outline .inner .score {
      position: relative;
      width: calc(100% / 5 * 4);
      margin: 0 auto; }
      section.block-outline .inner .score:before {
        width: 100%;
        content: "";
        display: block;
        padding-top: 100%; }
      section.block-outline .inner .score .attent {
        position: absolute;
        top: 100%;
        left: 50%;
        width: 25%;
        height: 25%;
        transform: translate(-50%, 0px);
        overflow: hidden;
        transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        section.block-outline .inner .score .attent span {
          position: absolute;
          bottom: 0px;
          left: 50%;
          width: 1px;
          height: 100%;
          content: "";
          display: block;
          background: #000000;
          transform: translate(-50%, -100%); }

@-webkit-keyframes attent-anime {
  0% {
    transform: translate(-50%, -100%); }
  100% {
    transform: translate(-50%, 100%); } }

@keyframes attent-anime {
  0% {
    transform: translate(-50%, -100%); }
  100% {
    transform: translate(-50%, 100%); } }
        section.block-outline .inner .score .attent.show span {
          -webkit-animation: 1.75s attent-anime infinite forwards;
                  animation: 1.75s attent-anime infinite forwards;
          -webkit-animation-delay: 0.2s;
                  animation-delay: 0.2s; }
      section.block-outline .inner .score .score-pie {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
        section.block-outline .inner .score .score-pie.show svg circle {
          -webkit-animation: 1.75s pie-anime linear;
                  animation: 1.75s pie-anime linear;
          -webkit-animation-delay: 0.2s;
                  animation-delay: 0.2s;
          -webkit-animation-fill-mode: forwards;
                  animation-fill-mode: forwards; }
      section.block-outline .inner .score .score-bg {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
      section.block-outline .inner .score .score-inner {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 50%;
        left: 50%;
        text-align: center;
        transform: translate(-50%, -50%);
        line-height: 1.0; }
        section.block-outline .inner .score .score-inner.show .score-lead {
          opacity: 1.0;
          transform: translate(0px, 0px); }
        section.block-outline .inner .score .score-inner.show .score-point-l {
          opacity: 1.0;
          transform: translate(0px, calc(-44%)); }
        section.block-outline .inner .score .score-inner.show2 .score-point-l {
          display: none; }
        section.block-outline .inner .score .score-inner.show2 .score-title {
          opacity: 1.0;
          transform: translate(0px, -44%) scale(1, 1); }
        section.block-outline .inner .score .score-inner.show2 .score-point {
          opacity: 1.0;
          transform: translate(0px, 0px); }
        section.block-outline .inner .score .score-inner .score-lead {
          font-size: 18px;
          position: absolute;
          width: 100%;
          top: 15%;
          opacity: 0.0;
          transform: translate(0px, -20px);
          transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition-delay: 0.1s; }
        section.block-outline .inner .score .score-inner .score-point-l {
          font-size: 60px;
          font-weight: 300;
          position: absolute;
          width: 100%;
          top: 50%;
          transform: translate(0px, calc(-44% + 20px));
          opacity: 0.0;
          transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition-delay: 0.1s; }
        section.block-outline .inner .score .score-inner .score-title {
          font-size: 72px;
          font-weight: 300;
          position: absolute;
          width: 100%;
          top: 50%;
          transform: translate(0px, -44%) scale(1.2, 1.2);
          opacity: 0.0;
          transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        section.block-outline .inner .score .score-inner .score-point {
          font-size: 18px;
          position: absolute;
          width: 100%;
          bottom: 15%;
          opacity: 0.0;
          transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transform: translate(0px, -20px); }

section.block-chart {
  width: calc(100% / 5 * 5);
  position: relative; }
  section.block-chart:before {
    width: 100%;
    content: "";
    display: block;
    padding-top: calc(100% / 5 * 7); }
  section.block-chart .inner {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%; }
    section.block-chart .inner.scroll-elm .chart .chart-inner .chart-svg svg path {
      transform: scale(0);
      transform-origin: center;
      transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      section.block-chart .inner.scroll-elm .chart .chart-inner .chart-svg svg path:first-child {
        transition-delay: 1.0s; }
      section.block-chart .inner.scroll-elm .chart .chart-inner .chart-svg svg path:last-child {
        transition-delay: 1.4s; }
    section.block-chart .inner.scroll-elm .chart .chart-inner .chart-bg,
    section.block-chart .inner.scroll-elm .chart .chart-inner .chart-over {
      transform: translate(-50%, -50%) scale(0.8);
      opacity: 0.0;
      transition: 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition-delay: 0.3s; }
    section.block-chart .inner.scroll-elm .chart .chart-inner .chart-items {
      opacity: 0.0;
      transition: 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition-delay: 0.3s; }
    section.block-chart .inner.scroll-elm .legend .items .item {
      opacity: 0.0;
      transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      section.block-chart .inner.scroll-elm .legend .items .item:first-child {
        transition-delay: 1.0s; }
      section.block-chart .inner.scroll-elm .legend .items .item:last-child {
        transition-delay: 1.4s; }
    section.block-chart .inner.show .chart .chart-inner .chart-svg svg path {
      transform: scale(1); }
    section.block-chart .inner.show .chart .chart-inner .chart-bg,
    section.block-chart .inner.show .chart .chart-inner .chart-over {
      transform: translate(-50%, -50%) scale(1);
      opacity: 1.0; }
    section.block-chart .inner.show .chart .chart-inner .chart-items {
      opacity: 1.0; }
    section.block-chart .inner.show .legend .items .item {
      opacity: 1.0; }
    section.block-chart .inner .chart {
      position: relative; }
      section.block-chart .inner .chart:before {
        width: 100%;
        content: "";
        display: block;
        padding-top: calc(100% / 5 * 1); }
      section.block-chart .inner .chart .chart-inner {
        width: calc((100% / 5 * 4));
        position: relative;
        margin: 0 auto; }
        section.block-chart .inner .chart .chart-inner:before {
          content: "";
          display: block;
          padding-top: 100%; }
        section.block-chart .inner .chart .chart-inner .chart-bg,
        section.block-chart .inner .chart .chart-inner .chart-svg,
        section.block-chart .inner .chart .chart-inner .chart-over {
          position: absolute;
          top: 50%;
          left: 50%;
          width: calc(100% - 55px);
          height: calc(100% - 55px);
          transform: translate(-50%, -50%); }
          section.block-chart .inner .chart .chart-inner .chart-bg svg,
          section.block-chart .inner .chart .chart-inner .chart-svg svg,
          section.block-chart .inner .chart .chart-inner .chart-over svg {
            width: 100%;
            height: 100%; }
        section.block-chart .inner .chart .chart-inner .chart-items {
          position: absolute;
          top: 50%;
          left: 50%;
          width: 100%;
          height: 100%;
          font-size: 11px;
          transform: translate(-50%, -50%); }
          section.block-chart .inner .chart .chart-inner .chart-items .item {
            position: absolute;
            width: 200px; }
            section.block-chart .inner .chart .chart-inner .chart-items .item:nth-child(1) {
              top: 0px;
              left: 50%;
              transform: translate(-50%, 0%);
              text-align: center; }
            section.block-chart .inner .chart .chart-inner .chart-items .item:nth-child(2) {
              top: 20%;
              left: 80%;
              width: 30%;
              transform: translate(0%, -100%); }
            section.block-chart .inner .chart .chart-inner .chart-items .item:nth-child(3) {
              top: 50%;
              left: 93%;
              width: 18%;
              transform: translate(0%, -50%); }
            section.block-chart .inner .chart .chart-inner .chart-items .item:nth-child(4) {
              bottom: 20%;
              left: 80%;
              width: 30%;
              transform: translate(0%, 100%); }
            section.block-chart .inner .chart .chart-inner .chart-items .item:nth-child(5) {
              bottom: 0px;
              left: 50%;
              transform: translate(-50%, 0%);
              text-align: center; }
            section.block-chart .inner .chart .chart-inner .chart-items .item:nth-child(6) {
              bottom: 20%;
              right: 80%;
              transform: translate(0%, 100%);
              text-align: right; }
            section.block-chart .inner .chart .chart-inner .chart-items .item:nth-child(7) {
              top: 50%;
              right: 93%;
              transform: translate(0%, -50%);
              text-align: right; }
            section.block-chart .inner .chart .chart-inner .chart-items .item:nth-child(8) {
              top: 20%;
              right: 80%;
              transform: translate(0%, -100%);
              text-align: right; }
    section.block-chart .inner .legend {
      position: relative; }
      section.block-chart .inner .legend:before {
        width: 100%;
        content: "";
        display: block;
        padding-top: calc(100% / 5 * 2); }
      section.block-chart .inner .legend .items {
        width: calc(100% / 5 * 3);
        position: absolute;
        top: 50%;
        right: 0%;
        transform: translate(0px, -50%); }
        section.block-chart .inner .legend .items .item {
          font-size: 11px;
          display: flex;
          justify-content: center;
          line-height: 1.0;
          margin-bottom: 10px; }
          section.block-chart .inner .legend .items .item:first-child .color {
            background: #00E2AD; }
          section.block-chart .inner .legend .items .item:last-child {
            margin-bottom: 0px; }
            section.block-chart .inner .legend .items .item:last-child .color {
              background: #FF00B8; }
          section.block-chart .inner .legend .items .item .color {
            display: block;
            width: 45px;
            background: #E1FF00;
            margin-right: 10px; }
          section.block-chart .inner .legend .items .item .label {
            width: 120px; }

section.block-figure {
  width: calc(100% / 5 * 5);
  position: relative; }
  section.block-figure:before {
    width: 100%;
    content: "";
    display: block;
    padding-top: calc(100% / 5 * 7); }
  section.block-figure.scroll-elm .inner .lead {
    opacity: 0.0;
    transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  section.block-figure.scroll-elm .inner figure {
    opacity: 0.0;
    transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: 0.1s; }
  section.block-figure.show .inner .lead {
    opacity: 1.0; }
  section.block-figure.show .inner figure {
    opacity: 1.0; }
  section.block-figure .inner {
    position: absolute;
    top: 50%;
    left: 0px;
    width: 100%;
    transform: translate(0px, -50%); }
    section.block-figure .inner .lead {
      margin-bottom: 14px;
      font-weight: bold;
      font-size: 16px;
      text-align: center; }
    section.block-figure .inner figure {
      padding-left: 20px;
      padding-right: 20px; }
      section.block-figure .inner figure img {
        width: 100%; }

section.block-title,
section.block-gauge {
  border-top: 1px solid #000000;
  position: relative;
  background: #000000;
  color: #FFFFFF; }
  section.block-title:before,
  section.block-gauge:before {
    width: 100%;
    content: "";
    display: block;
    padding-top: calc(100% / 5 * 4); }
  section.block-title.scroll-elm .inner .gauge .gauge-icon,
  section.block-gauge.scroll-elm .inner .gauge .gauge-icon {
    width: 7px;
    height: 7px;
    transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: 0.1s; }
    section.block-title.scroll-elm .inner .gauge .gauge-icon img,
    section.block-gauge.scroll-elm .inner .gauge .gauge-icon img {
      transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition-delay: 0.1s;
      opacity: 0.0; }
  section.block-title.show .inner .gauge .gauge-icon,
  section.block-gauge.show .inner .gauge .gauge-icon {
    width: 65px;
    height: 65px; }
    section.block-title.show .inner .gauge .gauge-icon img,
    section.block-gauge.show .inner .gauge .gauge-icon img {
      opacity: 1.0; }
  section.block-title .inner,
  section.block-gauge .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center; }
    section.block-title .inner .icon,
    section.block-gauge .inner .icon {
      margin-bottom: 10px; }
    section.block-title .inner .label,
    section.block-gauge .inner .label {
      font-size: 28px;
      line-height: 1.42;
      width: 100%; }
    section.block-title .inner .gauge,
    section.block-gauge .inner .gauge {
      margin-top: 30px;
      margin-left: calc((100% / 5 * 1) - 2px);
      margin-right: calc((100% / 5 * 1) - 2px);
      height: 65px;
      position: relative; }
      section.block-title .inner .gauge .gauge-bg,
      section.block-gauge .inner .gauge .gauge-bg {
        width: 100%;
        height: 11px;
        background: rgba(255, 255, 255, 0.2);
        border-radius: 11px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
        section.block-title .inner .gauge .gauge-bg span,
        section.block-gauge .inner .gauge .gauge-bg span {
          display: block;
          width: 7px;
          height: 7px;
          background: #FFFFFF;
          border-radius: 7px;
          position: absolute;
          top: 2px; }
          section.block-title .inner .gauge .gauge-bg span:first-child,
          section.block-gauge .inner .gauge .gauge-bg span:first-child {
            left: 2px; }
          section.block-title .inner .gauge .gauge-bg span:nth-child(2),
          section.block-gauge .inner .gauge .gauge-bg span:nth-child(2) {
            left: 25%;
            transform: translate(-50%, 0px); }
          section.block-title .inner .gauge .gauge-bg span:nth-child(3),
          section.block-gauge .inner .gauge .gauge-bg span:nth-child(3) {
            left: 50%;
            transform: translate(-50%, 0px); }
          section.block-title .inner .gauge .gauge-bg span:nth-child(4),
          section.block-gauge .inner .gauge .gauge-bg span:nth-child(4) {
            left: 75%;
            transform: translate(-50%, 0px); }
          section.block-title .inner .gauge .gauge-bg span:last-child,
          section.block-gauge .inner .gauge .gauge-bg span:last-child {
            right: 2px; }
      section.block-title .inner .gauge .gauge-icon,
      section.block-gauge .inner .gauge .gauge-icon {
        width: 65px;
        height: 65px;
        background: #E1FF00;
        position: absolute;
        top: 50%;
        border-radius: 65px;
        transform: translate(-50%, -50%); }
        section.block-title .inner .gauge .gauge-icon.gauge-lv-01,
        section.block-gauge .inner .gauge .gauge-icon.gauge-lv-01 {
          left: 0%; }
        section.block-title .inner .gauge .gauge-icon.gauge-lv-02,
        section.block-gauge .inner .gauge .gauge-icon.gauge-lv-02 {
          left: 25%; }
        section.block-title .inner .gauge .gauge-icon.gauge-lv-03,
        section.block-gauge .inner .gauge .gauge-icon.gauge-lv-03 {
          left: 50%; }
        section.block-title .inner .gauge .gauge-icon.gauge-lv-04,
        section.block-gauge .inner .gauge .gauge-icon.gauge-lv-04 {
          left: 75%; }
        section.block-title .inner .gauge .gauge-icon.gauge-lv-05,
        section.block-gauge .inner .gauge .gauge-icon.gauge-lv-05 {
          left: 100%; }
        section.block-title .inner .gauge .gauge-icon img,
        section.block-gauge .inner .gauge .gauge-icon img {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%); }
      section.block-title .inner .gauge .gauge-sub div,
      section.block-gauge .inner .gauge .gauge-sub div {
        position: absolute;
        bottom: -30px;
        font-size: 11px; }
        section.block-title .inner .gauge .gauge-sub div:first-child,
        section.block-gauge .inner .gauge .gauge-sub div:first-child {
          left: 0px;
          transform: translate(-50%, 0px); }
        section.block-title .inner .gauge .gauge-sub div:last-child,
        section.block-gauge .inner .gauge .gauge-sub div:last-child {
          right: 0px;
          transform: translate(50%, 0px); }

section.block-txt {
  border-top: 1px solid #000000;
  position: relative; }
  section.block-txt:before, section.block-txt:after {
    width: 100%;
    content: "";
    display: block;
    padding-top: calc(100% / 5 * 1); }
  section.block-txt.txt-center .inner {
    padding-left: 0px;
    padding-right: 0px; }
  section.block-txt.txt-center .body {
    text-align: center; }
  section.block-txt .inner {
    padding-left: calc(100% / 5 * 1);
    padding-right: calc(100% / 5 * 1); }
  section.block-txt .head {
    font-size: 44px;
    margin-bottom: 86px;
    font-weight: 300;
    text-align: center;
    white-space: nowrap; }
    section.block-txt .head.scroll-elm {
      transition: 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
      transition-delay: 0.0s;
      opacity: 0.0;
      transform: translate(0, 10px); }
      section.block-txt .head.scroll-elm.show {
        opacity: 1.0;
        transform: translate(0, 0px); }
  section.block-txt .body {
    line-height: 2.3; }
    section.block-txt .body:after {
      width: 100%;
      content: "";
      display: block;
      padding-top: calc(100% / 3 * 1); }
    section.block-txt .body:last-child:after {
      display: none; }
    section.block-txt .body .body-head {
      background: #000000;
      color: #FFFFFF;
      text-align: center;
      font-weight: bold;
      letter-spacing: 0.25em;
      padding-top: 4px;
      padding-bottom: 0px;
      border-radius: 40px;
      margin: 0 auto;
      margin-bottom: 30px;
      white-space: nowrap; }
      section.block-txt .body .body-head.scroll-elm {
        width: 0px;
        transition: 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition-delay: 0.3s; }
        section.block-txt .body .body-head.scroll-elm.show {
          width: 100%; }
    section.block-txt .body .hilight,
    section.block-txt .body mark {
      position: relative;
      background: transparent;
      transition: 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
      transition-delay: 0.8s; }
    section.block-txt .body p.scroll-elm {
      transition: 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
      transition-delay: 0.5s;
      opacity: 0.0;
      transform: translate(0, 10px); }
      section.block-txt .body p.scroll-elm.show {
        opacity: 1.0;
        transform: translate(0, 0px); }
        section.block-txt .body p.scroll-elm.show .hilight,
        section.block-txt .body p.scroll-elm.show mark {
          background: rgba(51, 182, 255, 0.4);
          opacity: 1.0;
          font-style: normal;
          font-weight: normal; }

section.block-img {
  border-top: 1px solid #000000;
  width: calc(100% / 5 * 5);
  position: relative; }
  section.block-img:before {
    width: 100%;
    content: "";
    display: block;
    padding-top: calc(100% / 5 * 5); }
  section.block-img.scroll-elm .inner figure img {
    transition: 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition-delay: 0.6s; }
  section.block-img.scroll-elm .inner .lead span {
    transition: 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition-delay: 0.4s;
    opacity: 0.0; }
  section.block-img.scroll-elm .btn {
    transition: 1s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition-delay: 0.4s;
    height: 0px;
    overflow: hidden; }
  section.block-img.show .inner figure img {
    opacity: 1.0;
    -webkit-clip-path: polygon(0 0, 200% 0, 200% 0%, 0 200%);
            clip-path: polygon(0 0, 200% 0, 200% 0%, 0 200%); }
  section.block-img.show .inner .lead span {
    opacity: 1.0; }
  section.block-img.show .btn {
    height: 100%; }
  section.block-img .inner {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    box-sizing: border-box; }
    section.block-img .inner:before {
      width: 100%;
      content: "";
      display: block;
      padding-top: calc(100% / 5 * 1); }
    section.block-img .inner figure {
      margin-left: calc( (100% / 5 * 1));
      margin-right: calc( (100% / 5 * 1) - 1px);
      overflow: hidden;
      position: relative;
      box-sizing: border-box;
      background: white;
      border: 1px solid; }
      section.block-img .inner figure:before {
        width: 100%;
        content: "";
        display: block;
        padding-top: 100%; }
      section.block-img .inner figure img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0px;
        left: 0px;
        -o-object-fit: cover;
           object-fit: cover;
        -webkit-clip-path: polygon(0 0, 0% 0, 0% 0%, 0 0%);
                clip-path: polygon(0 0, 0% 0, 0% 0%, 0 0%); }
    section.block-img .inner .lead {
      position: relative;
      margin-left: calc( (100% / 5 * 1) + 1px);
      margin-right: calc( (100% / 5 * 1) - 0px); }
      section.block-img .inner .lead:before {
        width: 100%;
        content: "";
        display: block;
        padding-top: calc(100% / 3 * 1);
        background: white; }
      section.block-img .inner .lead span {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        transform: translate(-50%, -50%);
        text-align: center;
        font-size: 11px; }
  section.block-img .btn {
    position: absolute;
    top: calc( (100% / 5 * 4) + 1px);
    left: 0px;
    width: 100%;
    pointer-events: none; }
    section.block-img .btn a {
      display: block;
      width: calc(100% / 5 * 1);
      background: #000000;
      position: relative;
      pointer-events: auto; }
      section.block-img .btn a:hover {
        opacity: 1.0;
        filter: invert(1); }
      section.block-img .btn a:before {
        width: 100%;
        content: "";
        display: block;
        padding-top: calc((100%)); }
      section.block-img .btn a .icon {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
        section.block-img .btn a .icon img {
          display: block; }

.modal-img-legend {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 10110;
  background: #000000;
  color: #FFFFFF;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
          clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
  pointer-events: none;
  transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
  transition-duration: 0.3s;
  transition-timing-function: linear; }
  .modal-img-legend.show {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    pointer-events: auto; }
    .modal-img-legend.show .modal .legend-block figure {
      -webkit-clip-path: polygon(0 0, 200% 0, 200% 0%, 0 200%);
              clip-path: polygon(0 0, 200% 0, 200% 0%, 0 200%); }
      .modal-img-legend.show .modal .legend-block figure .gauge-icon img {
        opacity: 1.0;
        transform: translate(-50%, -50%) scale(1); }
    .modal-img-legend.show .modal .legend-block .lead {
      opacity: 1.0; }
  .modal-img-legend .modal-inner {
    display: table;
    width: 100%;
    height: 100%;
    max-width: 500px;
    margin: 0 auto; }
    .modal-img-legend .modal-inner .modal-content {
      display: table-cell;
      vertical-align: top;
      position: relative; }
  .modal-img-legend .btn_close {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%; }
    .modal-img-legend .btn_close a {
      display: block;
      width: calc(100% / 5 * 1);
      position: absolute;
      top: 0px;
      right: 0px;
      background: #FFFFFF; }
      .modal-img-legend .btn_close a:hover {
        opacity: 1.0;
        border-left: 1px solid rgba(255, 255, 255, 0.5);
        border-bottom: 1px solid rgba(255, 255, 255, 0.5);
        background: #000000; }
        .modal-img-legend .btn_close a:hover .inner {
          filter: invert(1); }
      .modal-img-legend .btn_close a:before {
        width: 100%;
        content: "";
        display: block;
        padding-top: calc((100%) - 1px); }
    .modal-img-legend .btn_close .inner {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      text-align: center; }
      .modal-img-legend .btn_close .inner .label {
        color: #000000;
        font-size: 11px;
        text-align: center;
        margin-top: 10px; }
      .modal-img-legend .btn_close .inner span {
        display: inline-block;
        width: 35px;
        height: 10px;
        position: relative; }
        .modal-img-legend .btn_close .inner span:before {
          width: 35px;
          height: 1px;
          content: "";
          background: #000000;
          position: absolute;
          top: 50%;
          left: 50%;
          display: block;
          transform: translate(-50%, calc(-50% - 0px)) rotate(20deg); }
        .modal-img-legend .btn_close .inner span:after {
          width: 35px;
          height: 1px;
          content: "";
          background: #000000;
          position: absolute;
          top: 50%;
          left: 50%;
          display: block;
          transform: translate(-50%, calc(-50% + 0px)) rotate(-20deg); }
  .modal-img-legend .modal {
    margin-left: calc(100% / 5 * 1);
    margin-right: calc(100% / 5 * 1); }
    .modal-img-legend .modal:before {
      width: 100%;
      content: "";
      display: block;
      padding-top: calc(100% / 3 * 1); }
    .modal-img-legend .modal .legend-block:first-child figure {
      transition-delay: 0.1s; }
      .modal-img-legend .modal .legend-block:first-child figure .gauge-icon img {
        transition-delay: 0.3s; }
    .modal-img-legend .modal .legend-block:first-child .lead {
      transition-delay: 0.2s; }
    .modal-img-legend .modal .legend-block:last-child figure {
      transition-delay: 0.3s; }
      .modal-img-legend .modal .legend-block:last-child figure .gauge-icon img {
        transition-delay: 0.5s; }
    .modal-img-legend .modal .legend-block:last-child .lead {
      transition-delay: 0.4s; }
    .modal-img-legend .modal .legend-block figure {
      position: relative;
      width: 100%;
      -webkit-clip-path: polygon(0 0, 0% 0, 0% 0%, 0 0%);
              clip-path: polygon(0 0, 0% 0, 0% 0%, 0 0%);
      transition: 0.5s cubic-bezier(0.39, 0.575, 0.565, 1); }
      .modal-img-legend .modal .legend-block figure:before {
        width: 100%;
        content: "";
        display: block;
        padding-top: 100%; }
      .modal-img-legend .modal .legend-block figure .gauge-icon {
        position: absolute;
        width: 55px;
        height: 55px;
        background: #E1FF00;
        top: 0px;
        left: 0px; }
        .modal-img-legend .modal .legend-block figure .gauge-icon img {
          position: absolute;
          top: 50%;
          left: 50%;
          opacity: 0.0;
          transform: translate(-50%, -50%) scale(1);
          transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .modal-img-legend .modal .legend-block figure > img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0px;
        left: 0px; }
    .modal-img-legend .modal .legend-block .lead {
      position: relative;
      opacity: 0.0;
      transition: 0.5s cubic-bezier(0.39, 0.575, 0.565, 1); }
      .modal-img-legend .modal .legend-block .lead:before {
        width: 100%;
        content: "";
        display: block;
        padding-top: calc(100% / 3 * 1); }
      .modal-img-legend .modal .legend-block .lead .inner {
        position: absolute;
        top: 0px;
        left: 0px;
        display: flex;
        justify-content: flex-start;
        width: 100%;
        font-size: 13px; }
        .modal-img-legend .modal .legend-block .lead .inner .head {
          width: 55px;
          box-sizing: border-box;
          padding-top: 15px; }
        .modal-img-legend .modal .legend-block .lead .inner .body {
          width: calc(100% - 55px);
          box-sizing: border-box;
          border-left: 1px solid #FFFFFF;
          padding-top: 15px;
          padding-left: 15px; }

section.block-login {
  text-align: center;
  padding-top: calc(100% / 5 * 1); }
  section.block-login .inner {
    padding-left: calc(100% / 5 * 1);
    padding-right: calc(100% / 5 * 1);
    height: calc((100%) + 1px); }
    section.block-login .inner .title {
      font-size: 20px;
      margin-bottom: 20px; }
    section.block-login .inner label,
    section.block-login .inner p {
      display: inline-block;
      width: 100%;
      text-align: center;
      line-height: 1.5;
      vertical-align: bottom;
      padding-top: 15px; }
    section.block-login .inner a {
      margin-top: 50px;
      display: block;
      font-size: 18px; }
    section.block-login .inner .forgot-password {
      margin-top: 20px;
      font-size: 12px;
      display: block; }
    section.block-login .inner input {
      border: 1px solid #000000;
      border-radius: 0;
      width: 100%;
      height: 40px;
      padding-left: 3%;
      margin-top: 6px; }
    section.block-login .inner button,
    section.block-login .inner .button {
      width: 100%;
      height: 45px;
      background: #000000;
      color: #FFFFFF;
      margin-top: 40px;
      font-size: 16px;
      border: none; }

.block-form {
  width: calc(100% / 5 * 5);
  position: relative; }
  .block-form .inner {
    width: calc((100%) - 30px * 2);
    margin-left: 30px;
    margin-right: 30px;
    min-height: calc((100%) + 1px); }
    .block-form .inner a {
      text-decoration: underline; }
    .block-form .inner .title {
      display: block;
      text-align: center;
      font-size: 20px;
      margin: 80px 0 50px; }
    .block-form .inner .errorlist li {
      display: block;
      font-size: 11px;
      line-height: 13px;
      color: #FF0000; }
    .block-form .inner .errors p {
      margin-bottom: 20px;
      color: #FF0000; }
    .block-form .inner .errors span {
      font-size: 13px;
      line-height: 18px;
      color: #FF0000; }
      .block-form .inner .errors span:before {
        content: '・'; }
    .block-form .inner .errors ul {
      margin: 6px 0 18px; }
      .block-form .inner .errors ul li {
        margin-top: 3px;
        margin-left: 12px; }
    .block-form .inner .fieldset {
      margin-top: 50px;
      margin-bottom: 50px; }
      .block-form .inner .fieldset:first-child {
        border: none; }
      .block-form .inner .fieldset .hidden {
        display: none; }
      .block-form .inner .fieldset .show {
        display: block; }
      .block-form .inner .fieldset .field {
        margin-top: 64px;
        margin-bottom: 75px; }
        .block-form .inner .fieldset .field .errorlist li {
          margin-top: 10px; }
        .block-form .inner .fieldset .field label {
          display: flex; }
        .block-form .inner .fieldset .field > label {
          margin: 15px 0; }
          .block-form .inner .fieldset .field > label .required {
            padding: 5px;
            font-size: 10px;
            background: #000000;
            color: #FFFFFF;
            height: 16px;
            margin-right: 10px;
            width: 23px; }
            .block-form .inner .fieldset .field > label .required ~ .text {
              width: calc(100% - 73px); }
          .block-form .inner .fieldset .field > label .number,
          .block-form .inner .fieldset .field > label .text {
            display: inline-block;
            vertical-align: bottom;
            font-size: 14px;
            line-height: 22px;
            padding-top: 5px; }
            .block-form .inner .fieldset .field > label .number .error,
            .block-form .inner .fieldset .field > label .text .error {
              color: #FF0000; }
          .block-form .inner .fieldset .field > label .number {
            width: 35px; }
          .block-form .inner .fieldset .field > label .text {
            width: calc(100% - 30px); }
        .block-form .inner .fieldset .field .options li {
          margin-top: 15px; }
          .block-form .inner .fieldset .field .options li .text {
            display: inline-block;
            vertical-align: bottom;
            font-size: 14px;
            line-height: 160%;
            padding-top: 4px; }
          .block-form .inner .fieldset .field .options li .number {
            width: 30px; }
          .block-form .inner .fieldset .field .options li .text {
            width: calc(100% - 30px); }
        .block-form .inner .fieldset .field input[type="text"],
        .block-form .inner .fieldset .field input[type="number"],
        .block-form .inner .fieldset .field input[type="email"],
        .block-form .inner .fieldset .field input[type="password"],
        .block-form .inner .fieldset .field textarea {
          border: 1px solid #000000;
          border-radius: 0;
          width: 100%;
          height: 40px;
          padding-left: 2%; }
        .block-form .inner .fieldset .field textarea {
          height: 80px;
          padding: 2%; }
        .block-form .inner .fieldset .field input[type="checkbox"],
        .block-form .inner .fieldset .field input[type="radio"] {
          display: none; }
          .block-form .inner .fieldset .field input[type="checkbox"] + .icon,
          .block-form .inner .fieldset .field input[type="radio"] + .icon {
            display: none;
            cursor: pointer;
            display: inline-block;
            position: relative;
            padding-left: 15px;
            padding-right: 15px;
            margin-top: 3px; }
            .block-form .inner .fieldset .field input[type="checkbox"] + .icon:before,
            .block-form .inner .fieldset .field input[type="radio"] + .icon:before {
              content: "";
              position: absolute;
              display: block;
              box-sizing: border-box;
              width: 20px;
              height: 20px;
              left: 0;
              top: 0;
              border: 1px solid #000000;
              background-color: #FFFFFF; }
          .block-form .inner .fieldset .field input[type="checkbox"]:checked + .icon:after,
          .block-form .inner .fieldset .field input[type="radio"]:checked + .icon:after {
            content: "";
            position: absolute;
            display: block;
            box-sizing: border-box;
            width: 10px;
            height: 10px;
            margin: 5px;
            left: 0;
            top: 0;
            border: 1px solid #000000;
            background-color: #000000; }
        .block-form .inner .fieldset .field > span {
          display: block;
          font-size: 10px;
          line-height: 13px;
          margin-top: 10px; }
        .block-form .inner .fieldset .field.error input,
        .block-form .inner .fieldset .field.error textarea {
          border-color: #FF0000;
          background-color: rgba(255, 0, 0, 0.1); }
        .block-form .inner .fieldset .field.error .icon:before {
          border-color: #FF0000 !important;
          background-color: rgba(255, 0, 0, 0.1) !important; }
        .block-form .inner .fieldset .field.error .icon:after {
          border-color: #FF0000 !important;
          background-color: #FF0000 !important; }
    .block-form .inner .btn-wrapper {
      margin-left: -30px;
      margin-right: -30px;
      padding: 50px 30px 100px;
      border-top: 1px solid #000000; }
      .block-form .inner .btn-wrapper button {
        padding-top: 29px;
        padding-bottom: 30px;
        background: #000000;
        color: #FFFFFF;
        border: none;
        width: 100%;
        font-size: 18px;
        line-height: 18px; }

section.block-term {
  margin: 120px 30px; }
  section.block-term .title {
    font-size: 18px;
    -webkit-text-decoration-line: underline;
            text-decoration-line: underline;
    text-underline-position: under;
    margin-bottom: 15px; }
  section.block-term ul {
    margin-left: 10px; }
    section.block-term ul li {
      list-style: disc;
      margin-bottom: 10px; }
      section.block-term ul li:first-child {
        margin-top: 5px; }
      section.block-term ul li ul {
        margin-left: 20px; }
        section.block-term ul li ul > li {
          list-style: lower-alpha;
          margin-bottom: 5px; }
          section.block-term ul li ul > li:first-child {
            margin-top: 5px; }

section.block-howto {
  padding: 120px 0px; }
  section.block-howto .inner {
    width: 100%; }
    section.block-howto .inner span {
      display: block; }
    section.block-howto .inner .title {
      padding: 0px 30px;
      text-align: center;
      font-size: 20px;
      margin-bottom: 20px; }

section.block-movie {
  padding: 40px 30px; }
  section.block-movie .inner {
    width: 100%; }
    section.block-movie .inner span {
      display: block; }
    section.block-movie .inner .title {
      text-align: center;
      font-size: 18px;
      margin-bottom: 50px; }
    section.block-movie .inner .player {
      margin: 0px -30px; }
      section.block-movie .inner .player iframe {
        width: 100%; }

section.block-slide {
  padding: 40px 30px; }
  section.block-slide .inner {
    width: 100%; }
    section.block-slide .inner span {
      display: block; }
    section.block-slide .inner .title {
      text-align: center;
      font-size: 18px;
      margin-bottom: 50px; }
    section.block-slide .inner .desc {
      margin-bottom: 40px; }
    section.block-slide .inner .item {
      margin-bottom: 30px; }
    section.block-slide .inner img {
      width: 100%; }

section.block-form-complete {
  padding: 120px 30px; }
  section.block-form-complete .title span, section.block-form-complete .title img {
    display: block;
    margin: auto; }
  section.block-form-complete .title span {
    font-size: 24px;
    width: 140px; }
  section.block-form-complete .title img {
    width: 100px;
    margin: 15px auto; }
  section.block-form-complete .body {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 50px 0;
    text-align: center; }
    section.block-form-complete .body p {
      margin-bottom: 30px; }

section.block-line {
  margin-top: 40px; }
  section.block-line .title {
    font-size: 18px;
    -webkit-text-decoration-line: underline;
            text-decoration-line: underline;
    text-underline-position: under;
    margin-bottom: 20px;
    text-align: center; }
  section.block-line .inner {
    margin: auto;
    padding-left: 0px;
    padding-right: 0px; }
    section.block-line .inner .button {
      position: relative;
      display: block;
      margin-top: 40px;
      color: #fff;
      width: 100%;
      text-align: center;
      border-radius: 4px;
      line-height: 50px;
      padding-left: 30px;
      height: 50px;
      box-sizing: border-box;
      border: none;
      overflow: hidden;
      text-decoration: none;
      background-color: #00c300;
      font-size: 18px; }
      section.block-line .inner .button::before {
        position: absolute;
        content: "";
        background-image: url(https://ec-force.s3.amazonaws.com/testsisitokyo/uploads/sp/images/icon-line.png);
        background-size: contain;
        height: 50px;
        width: 50px;
        left: 0; }

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