html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

*:focus {
  outline: 0; }

ins {
  text-decoration: none; }

del {
  text-decoration: line-through; }

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

body {
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%; }

a, h1, h2, h3, h4, h5, h6, p, small, section {
  max-height: 100%; }

img {
  border: 0;
  vertical-align: bottom;
  align-self: flex-start; }

a span {
  cursor: pointer; }

.overlay {
  cursor: pointer; }

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  src: url("/font/Roboto-Bold-0ce37ced.ttf") format("truetype"); }

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  src: url("/font/Roboto-Medium-5f16f4d6.ttf") format("truetype"); }

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url("/font/Roboto-Regular-dd1b1db1.ttf") format("truetype"); }

@-webkit-keyframes scrollBorder {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0; }
  15% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0; }
  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0; }
  70% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0; }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0; } }

@keyframes scrollBorder {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0; }
  15% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0; }
  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0; }
  70% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0; }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0; } }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

body {
  font-family: 'Roboto';
  font-weight: 900;
  color: #111;
  font-size: 13px;
  line-height: 1em;
  position: relative;
  font-feature-settings: 'palt'; }

footer {
  text-align: center;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0.05em;
  padding: 100px 25px;
  color: #333333; }

.pc {
  display: inline-block !important; }

.sp {
  display: none !important; }

nav {
  position: absolute;
  top: 28px;
  right: 29px;
  font-size: 14px;
  letter-spacing: 0.014em;
  z-index: 100; }
  nav label {
    margin-right: 9px; }
  nav a {
    margin-left: 14px;
    text-decoration: none;
    color: black; }

body.en nav a.en,
body.ja nav a.ja,
body.cn nav a.cn {
  padding-bottom: 4px;
  border-bottom: solid 1px; }

.main_visual {
  position: relative;
  height: 100vh;
  max-height: 640px; }

h1 {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center; }
  h1 img {
    width: 514px;
    height: 404px;
    align-self: initial; }

.scroll {
  position: absolute;
  bottom: 46px;
  left: -17px;
  height: 20px;
  width: 112px;
  display: flex;
  align-items: center;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: translate(0, 0) rotate(90deg);
  transform: translate(0, 0) rotate(90deg);
  transition-duration: 0.8s; }
  .scroll.hidden {
    opacity: 0;
    transition-duration: 0.8s; }
  .scroll span {
    display: block;
    float: left;
    width: 48px;
    font-size: 12px;
    line-height: 20px;
    font-weight: 400;
    letter-spacing: 0.1em; }
  .scroll .border {
    float: left;
    width: 64px;
    height: 1px;
    background: #000;
    -webkit-animation: scrollBorder 3s infinite ease-out;
    animation: scrollBorder 3s infinite ease-out; }

@media (min-height: 840px) {
  .scroll {
    display: none; } }

.container {
  margin: 25px 25px 0; }

.description {
  background-color: #faf8f8; }

#map {
  margin-top: 30px;
  background-image: url("/img/map-bg-2b57cf1f.png");
  background-size: auto 100%;
  background-position: center;
  background-repeat: no-repeat;
  height: 690px; }
  #map .balloon-frame {
    margin: 0 auto;
    position: relative;
    width: 940px;
    height: 100%; }
    #map .balloon-frame h2,
    #map .balloon-frame span,
    #map .balloon-frame .logo,
    #map .balloon-frame .arrow {
      position: absolute;
      display: block;
      border: 3px solid #000;
      background: #fff;
      color: #1a1a1a;
      padding: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 13px;
      line-height: 28px;
      letter-spacing: 0.07em; }
    #map .balloon-frame .logo > img {
      align-self: initial; }
    #map .balloon-frame .arrow {
      background-color: #d5d3d7;
      width: 54px;
      height: 54px;
      transition-duration: 0.2s;
      background-image: url("/img/arrow-d99ffbd5.png");
      background-size: 15px 20px;
      background-position: center;
      background-repeat: no-repeat; }
      @media all and (-webkit-min-device-pixel-ratio: 1.5), all and (-o-min-device-pixel-ratio: 3/2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5) {
        #map .balloon-frame .arrow {
          background-image: url("/img/arrow@2x-fe98fd8d.png"); } }
    #map .balloon-frame a:hover .arrow {
      background-color: #262626;
      transition-duration: 0.2s;
      background-image: url("/img/arrow-hover-481e6998.png");
      background-size: 15px 20px;
      background-position: center;
      background-repeat: no-repeat; }
      @media all and (-webkit-min-device-pixel-ratio: 1.5), all and (-o-min-device-pixel-ratio: 3/2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5) {
        #map .balloon-frame a:hover .arrow {
          background-image: url("/img/arrow-hover@2x-71893a83.png"); } }
    #map .balloon-frame h2, #map .balloon-frame span {
      height: 54px; }
    #map .balloon-frame section {
      position: absolute;
      opacity: 0; }
      #map .balloon-frame section.japan {
        position: absolute;
        top: 328px;
        right: 0;
        width: 356px;
        height: 288px;
        background-image: url("/img/japan-balloon-bc5aac80.png");
        background-size: 356px 278px;
        background-position: left top;
        background-repeat: no-repeat; }
        @media all and (-webkit-min-device-pixel-ratio: 1.5), all and (-o-min-device-pixel-ratio: 3/2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5) {
          #map .balloon-frame section.japan {
            background-image: url("/img/japan-balloon@2x-c02c397a.png"); } }
        #map .balloon-frame section.japan h2 {
          width: 188px;
          bottom: 0;
          right: 57px; }
        #map .balloon-frame section.japan span {
          width: 102px;
          bottom: 0;
          left: 0; }
        #map .balloon-frame section.japan .logo {
          width: 245px;
          height: 129px;
          bottom: 57px;
          right: 0; }
          #map .balloon-frame section.japan .logo > img {
            width: 79px;
            height: auto; }
        #map .balloon-frame section.japan .arrow {
          bottom: 0;
          right: 0; }
      #map .balloon-frame section.china {
        position: absolute;
        width: 390px;
        height: 311px;
        top: 55px;
        left: 0;
        background-image: url("/img/china-balloon-10c7379f.png");
        background-size: 387px 301px;
        background-position: right bottom;
        background-repeat: no-repeat; }
        @media all and (-webkit-min-device-pixel-ratio: 1.5), all and (-o-min-device-pixel-ratio: 3/2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5) {
          #map .balloon-frame section.china {
            background-image: url("/img/china-balloon@2x-ac500887.png"); } }
        #map .balloon-frame section.china h2 {
          width: 188px;
          top: 132px;
          left: 104px; }
        #map .balloon-frame section.china span {
          width: 101px;
          top: 0;
          left: 0; }
        #map .balloon-frame section.china .logo {
          width: 244px;
          height: 129px;
          top: 0;
          left: 104px; }
          #map .balloon-frame section.china .logo > img {
            width: 204px;
            height: auto; }
        #map .balloon-frame section.china .arrow {
          top: 132px;
          left: 294px; }
      #map .balloon-frame section.asean {
        position: absolute;
        width: 356px;
        height: 256px;
        top: 370px;
        left: 0;
        background-image: url("/img/asean-balloon-789bd610.png");
        background-size: 355px 254px;
        background-position: right bottom;
        background-repeat: no-repeat; }
        @media all and (-webkit-min-device-pixel-ratio: 1.5), all and (-o-min-device-pixel-ratio: 3/2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5) {
          #map .balloon-frame section.asean {
            background-image: url("/img/asean-balloon@2x-4a549e64.png"); } }
        #map .balloon-frame section.asean h2 {
          width: 188px;
          top: 121px;
          left: 0; }
        #map .balloon-frame section.asean span {
          width: 101px;
          top: 121px;
          left: 248px; }
        #map .balloon-frame section.asean .logo {
          width: 245px;
          height: 118px;
          top: 0;
          left: 0; }
          #map .balloon-frame section.asean .logo > img {
            width: 200px;
            height: auto; }
        #map .balloon-frame section.asean .arrow {
          top: 121px;
          left: 191px; }
      #map .balloon-frame section.animation {
        -webkit-animation: fadeIn 0.8s 1 ease-out;
        animation: fadeIn 0.8s 1 ease-out;
        animation-fill-mode: forwards; }
        #map .balloon-frame section.animation.japan {
          animation-delay: 0.5s; }
        #map .balloon-frame section.animation.china {
          animation-delay: 0; }
        #map .balloon-frame section.animation.asean {
          animation-delay: 1s; }

@media (max-width: 1000px) {
  .pc {
    display: none !important; }
  .sp {
    display: inherit !important; }
  nav {
    font-weight: 400;
    font-size: 11px;
    top: 15px;
    right: 16px; }
    nav label {
      margin-right: 0; }
    nav a {
      margin-left: 13px; }
  .main_visual {
    height: 355px;
    max-height: inherit; }
    .main_visual .scroll {
      display: none; }
    .main_visual h1 img {
      width: auto;
      height: 160px; }
  .container {
    margin: 0 0; }
  footer {
    padding: 50px 25px;
    font-size: 8px; }
  #map {
    margin-top: 0px;
    background-image: url("/img/map-bg-sp-9929de4c.png");
    height: 270px; }
    #map .balloon-frame {
      width: 275px; }
      #map .balloon-frame h2,
      #map .balloon-frame .logo,
      #map .balloon-frame .arrow {
        display: none !important; }
      #map .balloon-frame section span {
        height: 19px;
        border-width: 2px;
        font-size: 9.5px;
        letter-spacing: 0.09em; }
      #map .balloon-frame section.japan {
        width: 70px;
        height: 47px;
        top: 69px;
        right: 27px;
        background-image: url("/img/japan-balloon-sp-cf0ae1f2.png");
        background-size: 100% 100%;
        background-position: right bottom ;
        background-repeat: no-repeat; } }
      @media all and (max-width: 1000px) and (-webkit-min-device-pixel-ratio: 1.5), all and (max-width: 1000px) and (-o-min-device-pixel-ratio: 3/2), all and (max-width: 1000px) and (min--moz-device-pixel-ratio: 1.5), all and (max-width: 1000px) and (min-device-pixel-ratio: 1.5) {
        #map .balloon-frame section.japan {
          background-image: url("/img/japan-balloon-sp@2x-feb528de.png"); } }
@media (max-width: 1000px) {
        #map .balloon-frame section.japan span {
          width: 59px;
          top: 0;
          right: 0; }
      #map .balloon-frame section.china {
        width: 71px;
        height: 47px;
        top: 96px;
        left: 52px;
        background-image: url("/img/china-balloon-sp-cf0ae1f2.png");
        background-size: 100% 100%;
        background-position: right bottom;
        background-repeat: no-repeat; } }
      @media all and (max-width: 1000px) and (-webkit-min-device-pixel-ratio: 1.5), all and (max-width: 1000px) and (-o-min-device-pixel-ratio: 3/2), all and (max-width: 1000px) and (min--moz-device-pixel-ratio: 1.5), all and (max-width: 1000px) and (min-device-pixel-ratio: 1.5) {
        #map .balloon-frame section.china {
          background-image: url("/img/china-balloon-sp@2x-feb528de.png"); } }
@media (max-width: 1000px) {
        #map .balloon-frame section.china span {
          width: 59px; }
      #map .balloon-frame section.asean {
        width: 86px;
        height: 41px;
        top: 203px;
        left: 10px;
        background-image: url("/img/asean-balloon-sp-7d9c5c0d.png");
        background-size: 100% 100%;
        background-position: left bottom;
        background-repeat: no-repeat; } }
      @media all and (max-width: 1000px) and (-webkit-min-device-pixel-ratio: 1.5), all and (max-width: 1000px) and (-o-min-device-pixel-ratio: 3/2), all and (max-width: 1000px) and (min--moz-device-pixel-ratio: 1.5), all and (max-width: 1000px) and (min-device-pixel-ratio: 1.5) {
        #map .balloon-frame section.asean {
          background-image: url("/img/asean-balloon-sp@2x-3187cd1e.png"); } }
@media (max-width: 1000px) {
        #map .balloon-frame section.asean span {
          width: 73px;
          left: inherit;
          top: 0;
          right: 0; } }

.boxes {
  background-color: #faf8f8; }
  .boxes > .wrap {
    padding-top: 23px;
    padding-bottom: 23px;
    width: calc(100% - 44px);
    max-width: 330px;
    margin: 0 auto; }
  .boxes a {
    text-decoration: none;
    background: #fff;
    color: #1a1a1a;
    display: block; }
    .boxes a:not(:last-child) {
      margin-bottom: 18px; }
    .boxes a .logo {
      border: 2px solid #000;
      height: 107px;
      display: flex;
      justify-content: center;
      align-items: center; }
      .boxes a .logo > img {
        height: auto;
        align-self: initial; }
    .boxes a .footer {
      border: 2px solid #000;
      border-top: 0;
      height: 37px; }
      .boxes a .footer .wrap {
        float: left;
        width: calc(100% - 49px);
        height: 100%;
        display: flex;
        align-items: center; }
        .boxes a .footer .wrap h2 {
          font-size: 10px;
          letter-spacing: 0.09em;
          margin-left: 10px;
          margin-right: auto; }
        .boxes a .footer .wrap span {
          font-size: 8px;
          letter-spacing: 0.09em; }
      .boxes a .footer .arrow {
        float: left;
        margin-left: 10px;
        border-left: 2px solid #000;
        width: 37px;
        height: 100%;
        background-image: url("/img/arrow-d99ffbd5.png");
        background-size: 6px auto;
        background-position: center;
        background-repeat: no-repeat;
        background-color: #d5d3d7;
        transition-duration: 0.2s; }
        @media all and (-webkit-min-device-pixel-ratio: 1.5), all and (-o-min-device-pixel-ratio: 3/2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5) {
          .boxes a .footer .arrow {
            background-image: url("/img/arrow@2x-fe98fd8d.png"); } }
    .boxes a:hover .arrow {
      background-color: #262626;
      transition-duration: 0.2s;
      background-image: url("/img/arrow-hover-481e6998.png");
      background-size: 6px auto;
      background-position: center;
      background-repeat: no-repeat; }
      @media all and (-webkit-min-device-pixel-ratio: 1.5), all and (-o-min-device-pixel-ratio: 3/2), all and (min--moz-device-pixel-ratio: 1.5), all and (min-device-pixel-ratio: 1.5) {
        .boxes a:hover .arrow {
          background-image: url("/img/arrow-hover@2x-71893a83.png"); } }
  .boxes .japan .logo > img {
    width: 64px; }
  .boxes .china .logo > img {
    width: 185px;
    margin-top: 6px; }
  .boxes .asean .logo > img {
    width: 162px; }
