@charset "UTF-8";
/* common
=================================================================== */
/* color
=================================================================== */
/* layout
=================================================================== */
/* animation delay
=================================================================== */
/* 3d
=================================================================== */
/* font
=================================================================== */
/* form
=================================================================== */
/* max-width: 1200px
=================================================================== */
@media only screen and (max-width: 1200px) {
  /*contents__modal
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  .contents__modal {
    max-width: inherit; } }
/* max-width: 1200px
=================================================================== */
@media only screen and (max-width: 1320px) {
  /* contents
  =================================================================== */
  header p {
    left: 35px; }

  header nav {
    width: 790px;
    right: 30px; }
    header nav ul.nav__main {
      flex-basis: calc(100% - 165px); }
    header nav ul.nav__lang, header nav ul.nav__ins {
      flex-basis: 50px; }
    header nav ul.nav__lang {
      font-size: 11px; }
    header nav ul.nav__ins li {
      background-size: 18px auto; }
    header nav ul.nav__beyond {
      flex-basis: 60px; }
      header nav ul.nav__beyond li {
        background-size: 30px auto; }

  header h1, header .copy {
    left: 35px; } }
/* max-width: 1130px
=================================================================== */
@media only screen and (max-width: 1130px) {
  header p {
    font-size: 18px;
    left: 30px; }

  header h1 a span, header p a span {
    font-size: 14px; }

  header nav {
    width: 700px; }
    header nav .nav__main {
      padding: 0 0 0 20px; }

  header nav > ul.nav__main > li {
    font-size: 12px; }
    header nav > ul.nav__main > li.link::after {
      width: calc(9100% - 4px);
      left: 2px; }

  header nav > ul.nav__glass {
    flex-basis: 137px; }
    header nav > ul.nav__glass > li {
      background: url("../img/common/new/nav--glass.png") no-repeat center center;
      background-size: 90px auto; }

  header .copy {
    left: 30px;
    font-size: 8px; }

  .nav--num {
    right: -14px; } }
/* max-width: 1023px
=================================================================== */
@media only screen and (max-width: 1023px) {
  /*navAnime1
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  @-webkit-keyframes navAnime1 {
    0% {
      transform: translate3d(12px, 0, 0); }
    10% {
      transform: translate3d(12px, 0, 0); }
    70% {
      transform: translate3d(-12px, 0, 0); }
    100% {
      transform: translate3d(-12px, 0, 0); } }
  @keyframes navAnime1 {
    0% {
      transform: translate3d(12px, 0, 0); }
    10% {
      transform: translate3d(12px, 0, 0); }
    70% {
      transform: translate3d(-12px, 0, 0); }
    100% {
      transform: translate3d(-12px, 0, 0); } }
  /*navAnime2
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  @-webkit-keyframes navAnime2 {
    0% {
      transform: translate3d(31px, 0, 0); }
    10% {
      transform: translate3d(31px, 0, 0); }
    70% {
      transform: translate3d(-31px, 0, 0); }
    100% {
      transform: translate3d(-31px, 0, 0); } }
  @keyframes navAnime2 {
    0% {
      transform: translate3d(31px, 0, 0); }
    10% {
      transform: translate3d(31px, 0, 0); }
    70% {
      transform: translate3d(-31px, 0, 0); }
    100% {
      transform: translate3d(-31px, 0, 0); } }
  /*text
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  .text--s {
    font-size: 9px; }

  .br--sp {
    display: block; }

  /*article
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  article {
    margin: 0 15px 20px; }

  .section.contents {
    padding: 20px 15px 30px; }

  /*content--h1 
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  .content--h1 {
    font-size: 14px;
    letter-spacing: -3px;
    margin-bottom: 25px; }

  .content--h2 {
    font-size: 11px;
    margin-bottom: 10px; }

  /*link
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  .link a {
    padding: 0 7px; }

  .link--tel {
    pointer-events: visible; }
    .link--tel:after {
      opacity: 1; }

  .link--text:after {
    bottom: 0; }

  /*information--list
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  .information > li {
    margin-bottom: 5px;
    flex-wrap: wrap; }
    .information > li span {
      flex-basis: 100%; }
    .information > li p {
      width: 100%; }

  /*info__list about stuff
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  .info__list li {
    margin-bottom: 25px; }
    .info__list li dl dt {
      width: 75px; }
    .info__list li dl dd {
      margin-left: 75px; }

  .info__list--detail dd {
    padding-left: 0;
    margin-bottom: 20px; }
    .info__list--detail dd strong {
      position: relative;
      display: block;
      height: auto;
      width: auto;
      margin-bottom: 4px;
      padding-bottom: 4px;
      border-bottom: 1px dotted rgba(0, 0, 0, 0.3); }

  /*btn
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  .btn {
    font-size: 14px; }
    .btn:before {
      top: 9px;
      background-size: 100% auto; }
    .btn a {
      padding-bottom: 10px; }
    .btn.btn--download {
      width: 100%;
      margin-top: 30px; }

  .btn__close {
    width: 35px;
    height: 35px;
    top: 20px;
    right: 10px; }
    .btn__close span {
      width: 30px;
      height: 1px;
      top: 14px;
      left: 2px; }
      .btn__close span:after {
        background-color: #000;
        width: 100%; }
    .btn__close:hover span:after, .btn__close:active span:after {
      width: 100%; }

  /*news__detail--content
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  .news__detail--content .contents__modal--title {
    font-size: 14px;
    padding-right: 50px;
    margin-bottom: 20px; }
    .news__detail--content .contents__modal--title span {
      margin-top: 6px; }
  .news__detail--content p {
    margin-bottom: 15px;
    font-size: 12px;
    flex-wrap: wrap; }
    .news__detail--content p img.alignhalf {
      width: 100%;
      margin-bottom: 10px; }
    .news__detail--content p img.alignnone {
      width: 100%; }
    .news__detail--content p aside {
      font-size: 12px; }

  /*time
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  .time {
    width: 70px;
    height: 17px;
    bottom: 16px;
    font-size: 10px; }

  /*news__list
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  .news__list li {
    margin-bottom: 18px;
    padding-bottom: 18px;
    padding-left: 75px; }
    .news__list li .time {
      top: 2px; }

  /*contents__modal
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  .contents__modal {
    width: calc(100% - 10px); }

  /*nav__btn
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  .nav__btn {
    display: block;
    position: fixed;
    width: 38px;
    height: 15px;
    top: 20px;
    right: 15px;
    cursor: pointer;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    z-index: 11; }
    .nav__btn span {
      display: block;
      position: absolute;
      height: 1px;
      overflow: hidden;
      background-color: rgba(0, 0, 0, 0.2); }
      .nav__btn span:nth-child(1) {
        top: 0;
        left: 13px;
        width: 12px; }
        .nav__btn span:nth-child(1):after {
          -webkit-animation: navAnime1 1s ease-in-out infinite;
          animation: navAnime1 1s ease-in-out infinite; }
      .nav__btn span:nth-child(2), .nav__btn span:nth-child(3) {
        width: 31px; }
      .nav__btn span:nth-child(2) {
        top: 7px;
        left: 0; }
        .nav__btn span:nth-child(2):after {
          -webkit-animation: navAnime2 1s ease-in-out infinite;
          animation: navAnime2 1s ease-in-out infinite;
          animation-direction: alternate; }
      .nav__btn span:nth-child(3) {
        bottom: 0;
        right: 0; }
        .nav__btn span:nth-child(3):after {
          -webkit-animation: navAnime2 1s ease-in-out infinite;
          animation: navAnime2 1s ease-in-out infinite; }
      .nav__btn span:after {
        content: " ";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #000; }

  /*nav__sp menu--open
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  .menu--open {
    background-color: rgba(0, 0, 0, 0.1); }

  .nav__sp {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    z-index: 20; }
    .menu--open .nav__sp {
      display: block; }
    .nav__sp .nav__sp--inner {
      position: relative;
      width: 100%;
      height: 100%;
      min-height: 560px; }
      .nav__sp .nav__sp--inner .nav__sp--content {
        position: absolute;
        width: 272px;
        height: 565px;
        top: 30px;
        left: 20px;
        background-color: #ffa695;
        padding: 20px 15px;
        z-index: 21; }
        .nav__sp .nav__sp--inner .nav__sp--content p {
          font-size: 13px;
          line-height: 1.4;
          padding-bottom: 10px;
          margin-bottom: 16px;
          border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
          .nav__sp .nav__sp--inner .nav__sp--content p a span {
            display: block;
            font-size: 10px; }
        .nav__sp .nav__sp--inner .nav__sp--content nav > ul {
          white-space: nowrap; }
          .nav__sp .nav__sp--inner .nav__sp--content nav > ul > li a {
            /*nav--num
                    ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/ }
            .nav__sp .nav__sp--inner .nav__sp--content nav > ul > li a .nav--num {
              font-size: 11px;
              width: 20px;
              height: 20px;
              right: -26px;
              top: 6px;
              line-height: 21px; }
          .nav__sp .nav__sp--inner .nav__sp--content nav > ul.nav__main {
            font-size: 16px;
            padding-bottom: 7px;
            margin-bottom: 12px;
            border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
            .nav__sp .nav__sp--inner .nav__sp--content nav > ul.nav__main > li {
              margin: 8px 0; }
          .nav__sp .nav__sp--inner .nav__sp--content nav > ul.nav__glass {
            padding-bottom: 7px;
            margin-bottom: 12px;
            border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
            .nav__sp .nav__sp--inner .nav__sp--content nav > ul.nav__glass > li {
              height: 34px;
              background-image: url("../img/common/new/nav--glass--sp.png");
              background-repeat: no-repeat;
              background-position: 7px center;
              background-size: auto 100%; }
              .nav__sp .nav__sp--inner .nav__sp--content nav > ul.nav__glass > li a {
                text-indent: -9999px; }
          .nav__sp .nav__sp--inner .nav__sp--content nav > ul.nav__aside {
            font-size: 12px;
            display: flex;
            height: 35px;
            line-height: 35px; }
            .nav__sp .nav__sp--inner .nav__sp--content nav > ul.nav__aside li {
              margin-right: 14px; }
              .nav__sp .nav__sp--inner .nav__sp--content nav > ul.nav__aside li:first-child {
                margin-right: 8px; }
              .nav__sp .nav__sp--inner .nav__sp--content nav > ul.nav__aside li.nav__aside {
                position: relative;
                text-indent: -9999px;
                width: 45px;
                border-left: 1px solid rgba(0, 0, 0, 0.2); }
                .nav__sp .nav__sp--inner .nav__sp--content nav > ul.nav__aside li.nav__aside a {
                  position: absolute;
                  top: 0;
                  left: 0;
                  width: 100%;
                  height: 100%; }
                  .nav__sp .nav__sp--inner .nav__sp--content nav > ul.nav__aside li.nav__aside a:after {
                    width: calc(100% - 10px);
                    left: 5px; }
              .nav__sp .nav__sp--inner .nav__sp--content nav > ul.nav__aside li.nav__aside--ins {
                margin-left: auto;
                margin-right: 0;
                background: url(../img/common/nav--ins.svg) no-repeat center center;
                background-size: 14px auto; }
              .nav__sp .nav__sp--inner .nav__sp--content nav > ul.nav__aside li.nav__aside--beyond {
                margin-right: 0;
                border-right: 1px solid rgba(0, 0, 0, 0.2);
                background: url(../img/common/nav--beyound.svg) no-repeat center center;
                background-size: 20px auto; }
      .nav__sp .nav__sp--inner .nav__bg {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.3);
        opacity: 0; }
    .nav__sp.nav__sp--en .nav__sp--inner .nav__sp--content {
      width: 292px;
      height: 590px; }
    .nav__sp.nav__sp--en .nav__sp--inner .nav__sp--content nav > ul.nav__main {
      font-size: 18px; }
    .nav__sp.nav__sp--en .nav__sp--inner .nav__sp--content nav > ul.nav__main > li {
      margin: 16px 0; }

  .wrapper {
    transition-duration: 0.4s;
    transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
    -ms-transition-duration: 0.4s;
    -ms-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
    -webkit-transition-duration: 0.4s;
    -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
    -moz-transition-duration: 0.4s;
    -moz-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
    transform-origin: 50% 220px;
    -webkit-transform-origin: 50% 220px;
    background-color: #fff; }
    .menu--open .wrapper {
      transform: scale(0.93);
      -webkit-transform: scale(0.93); }

  /*detail--height
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
  .detail--height {
    min-height: 460px; }

  /* contents
  =================================================================== */
  header {
    position: relative;
    height: 83px; }
    header h1, header p {
      width: 160px;
      height: 36px;
      font-size: 14px;
      top: 20px;
      left: 15px; }
      header h1 a span, header p a span {
        font-size: 11px; }
    header nav {
      display: none; }
    header .nav__btn {
      display: block;
      position: fixed;
      width: 38px;
      height: 15px;
      top: 20px;
      right: 15px;
      cursor: pointer;
      transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
      z-index: 11; }
      header .nav__btn span {
        display: block;
        position: absolute;
        height: 1px;
        overflow: hidden;
        background-color: rgba(0, 0, 0, 0.2); }
        header .nav__btn span:nth-child(1) {
          top: 0;
          left: 13px;
          width: 12px; }
          header .nav__btn span:nth-child(1):after {
            -webkit-animation: navAnime1 1s ease-in-out infinite;
            animation: navAnime1 1s ease-in-out infinite; }
        header .nav__btn span:nth-child(2), header .nav__btn span:nth-child(3) {
          width: 31px; }
        header .nav__btn span:nth-child(2) {
          top: 7px;
          left: 0; }
          header .nav__btn span:nth-child(2):after {
            -webkit-animation: navAnime2 1s ease-in-out infinite;
            animation: navAnime2 1s ease-in-out infinite;
            animation-direction: alternate; }
        header .nav__btn span:nth-child(3) {
          bottom: 0;
          right: 0; }
          header .nav__btn span:nth-child(3):after {
            -webkit-animation: navAnime2 1s ease-in-out infinite;
            animation: navAnime2 1s ease-in-out infinite; }
        header .nav__btn span:after {
          content: " ";
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-color: #000; }
      .menu--open header .nav__btn {
        display: none; }
    header .copy {
      width: 225px;
      height: 12px;
      left: 15px;
      bottom: 15px;
      font-size: 7px; }

  article .section.top {
    width: 345px !important;
    height: 520px; }
    article .section.top .top__bg--en {
      font-size: 1.04em;
      line-height: 1.36;
      word-spacing: -0.05em; }
      article .section.top .top__bg--en ul li.sp {
        display: none; }
    article .section.top .top__bg.top__bg--title {
      width: 273px;
      height: 121px;
      top: 22px;
      left: 10px; }
      article .section.top .top__bg.top__bg--title .top__bg--title--inner {
        padding: 7px 13px 7px 10px; }
        article .section.top .top__bg.top__bg--title .top__bg--title--inner h2 {
          line-height: 1;
          margin-bottom: 3px; }
          article .section.top .top__bg.top__bg--title .top__bg--title--inner h2 > strong {
            margin-bottom: 4px;
            text-indent: 0;
            letter-spacing: 0.5px; }
            article .section.top .top__bg.top__bg--title .top__bg--title--inner h2 > strong > span {
              font-size: 30px; }
              article .section.top .top__bg.top__bg--title .top__bg--title--inner h2 > strong > span.text {
                font-size: 32px; }
          article .section.top .top__bg.top__bg--title .top__bg--title--inner h2 > span {
            font-size: 25px; }
        article .section.top .top__bg.top__bg--title .top__bg--title--inner .title__time.title__time--1 {
          margin-bottom: 4px; }
          article .section.top .top__bg.top__bg--title .top__bg--title--inner .title__time.title__time--1 > span {
            font-size: 18px; }
        article .section.top .top__bg.top__bg--title .top__bg--title--inner .title__time.title__time--2 > span {
          font-size: 17px; }
    article .section.top .top__bg.top__bg--theme {
      width: 26px;
      height: 161px;
      top: 60px;
      right: 8px; }
      article .section.top .top__bg.top__bg--theme span {
        width: 11px;
        height: 137px;
        top: 12px; }
    article .section.top .top__bg.top__bg--img {
      width: 180px;
      height: 180px;
      top: 131px;
      right: 3px; }
      article .section.top .top__bg.top__bg--img span {
        width: 180px;
        height: 180px; }
    article .section.top .top__bg.top__bg--logo {
      width: 159px;
      height: 159px;
      top: 285px;
      left: 21px; }
      article .section.top .top__bg.top__bg--logo .top__bg--logo--inner {
        width: 159px;
        height: 159px;
        padding: 38px 30px; }
        article .section.top .top__bg.top__bg--logo .top__bg--logo--inner .logo .logo--o, article .section.top .top__bg.top__bg--logo .top__bg--logo--inner .logo .logo--k {
          transform: scale(0.35);
          -webkit-transform: scale(0.35); }
        article .section.top .top__bg.top__bg--logo .top__bg--logo--inner .logo .logo--o {
          left: -63px;
          top: -59px; }
        article .section.top .top__bg.top__bg--logo .top__bg--logo--inner .logo .logo--k {
          top: -34px;
          right: -69px; }
          article .section.top .top__bg.top__bg--logo .top__bg--logo--inner .logo .logo--k span {
            z-index: -1; } }
