@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600;700&display=swap");
.animate {
  overflow: hidden;
  opacity: 1; }

.animate .animate-text {
  display: block; }

.animated {
  opacity: 1; }

.lazyload {
  opacity: 1; }

@keyframes arrowMove {
  0% {
    transform: translateX(0); }
  99% {
    transform: translateX(50%); }
  100% {
    transform: translateX(0); } }
html {
  font-size: calc(10vw / 3.75);
  -webkit-font-smoothing: antialiased; }

body {
  color: #ffffff;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.5rem;
  line-height: 2.2;
  background-color: #141414;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

body.lock,
body.loading {
  overflow: hidden;
  width: 100vw;
  height: 100vh; }

@media screen and (min-width: 769px) {
  html {
    font-size: 8px; } }
@media screen and (min-width: 1000px) {
  html {
    font-size: 10px; } }
* {
  -webkit-tap-highlight-color: transparent; }

body a {
  color: inherit;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
body p, body dt, body dd, body li {
  word-break: break-word;
  word-wrap: normal; }
body img {
  max-width: 100%;
  height: auto;
  vertical-align: top; }
body svg {
  max-width: 100%; }
body figure {
  margin: 0; }
body button {
  cursor: pointer; }
body .disabled {
  cursor: default;
  opacity: 0.5; }

.ib {
  display: inline-block;
  line-height: inherit;
  font-weight: inherit; }

.en {
  font-family: "urw-din", 'Noto Sans JP', sans-serif;
  font-weight: 600; }

.accordionTrigger {
  cursor: pointer;
  display: block; }

.accordionContent {
  display: none; }

@media screen and (min-width: 769px) {
  /* mover */
  .mover {
    transition: opacity 0.2s ease-out;
    backface-visibility: hidden;
    zoom: 1; }
    .mover:hover {
      opacity: 0.7; }

  .moverContent:before, .moverContent > * {
    transition: opacity 0.2s ease-out;
    backface-visibility: hidden;
    zoom: 1; }
  .moverContent:hover:before,
  .moverContent:hover > * {
    opacity: 0.7; }

  .moverAction, .moverButton, .moverMenu {
    transition: background-color 0.2s ease-out; }
    .moverAction:before, .moverButton:before, .moverMenu:before, .moverAction:after, .moverButton:after, .moverMenu:after {
      transition: all 0.2s ease-out; }
    .moverAction:hover:not(:disabled), .moverButton:hover:not(:disabled), .moverMenu:hover:not(:disabled) {
      background-color: #333333 !important; }
      .moverAction:hover:not(:disabled):before, .moverButton:hover:not(:disabled):before, .moverMenu:hover:not(:disabled):before {
        z-index: 1;
        transform: scale(0.2); }
      .moverAction:hover:not(:disabled):after, .moverButton:hover:not(:disabled):after, .moverMenu:hover:not(:disabled):after {
        transform: scale(1); }

  .moverActionWrap .opacity {
    transition: opacity 0.2s ease-out; }
  .moverActionWrap .action {
    transition: background-color 0.2s ease-out; }
    .moverActionWrap .action:before, .moverActionWrap .action:after {
      transition: all 0.2s ease-out; }
  .moverActionWrap:hover .opacity {
    opacity: 0.8; }
  .moverActionWrap:hover .action {
    background-color: #333333 !important; }
    .moverActionWrap:hover .action:before {
      z-index: 1;
      transform: scale(0.2); }
    .moverActionWrap:hover .action:after {
      transform: scale(1); }

  .moverCloseButton:before {
    transition: all 0.2s ease-out; }
  .moverCloseButton .icon:before, .moverCloseButton .icon:after {
    transition: all 0.2s ease-out; }
  .moverCloseButton:hover:before {
    background-color: #eeeeee; }
  .moverCloseButton:hover .icon:before, .moverCloseButton:hover .icon:after {
    border-top: 2px solid #212121 !important; }

  .moverIcon svg * {
    transition: all 0.2s ease-out; }
  .moverIcon.iconTwitter:hover .t-cls-1 {
    fill: #eeeeee; }
  .moverIcon.iconTwitter:hover .t-cls-2 {
    opacity: 1;
    fill: #333333; }
  .moverIcon.iconTwitter:hover .t-cls-3 {
    fill: #333333; }
  .moverIcon.iconFacebook:hover .f-cls-1 {
    opacity: 1;
    fill: #eeeeee; }
  .moverIcon.iconFacebook:hover .f-cls-2 {
    fill: #333333; }
  .moverIcon.iconInstagram:hover .i-cls-1 {
    opacity: 1;
    fill: #eeeeee; }
  .moverIcon.iconInstagram:hover .i-cls-2 {
    fill: #333333; }
  .moverIcon.iconYoutube:hover .y-cls-1 {
    opacity: 1;
    fill: #eeeeee; }
  .moverIcon.iconYoutube:hover .y-cls-2 {
    fill: #333333; } }
.mode_pc,
.mode_pc_ib {
  display: none; }
  .mode_pc.important,
  .mode_pc_ib.important {
    display: none !important; }

.mode_sp {
  display: block; }
  .mode_sp.important {
    display: block !important; }

@media screen and (min-width: 769px) {
  .mode_pc {
    display: block; }
    .mode_pc.important {
      display: block !important; }

  .mode_pc_ib {
    display: inline-block; }
    .mode_pc_ib.important {
      display: inline-block !important; }

  .mode_sp {
    display: none; }
    .mode_sp.important {
      display: none !important; } }
.animate {
  overflow: hidden;
  opacity: 1; }

.animate .animate-text {
  display: block; }

.animated {
  opacity: 1; }

.lazyload {
  opacity: 1; }

@keyframes arrowMove {
  0% {
    transform: translateX(0); }
  99% {
    transform: translateX(50%); }
  100% {
    transform: translateX(0); } }
.wrapper {
  overflow: hidden;
  position: relative;
  transition: opacity 0.3s; }
  .load_complete .wrapper {
    opacity: 1; }

.contentInner {
  width: calc(335 / 375 * 100%);
  margin: auto; }

#mainContents {
  padding: calc(120 / 375 * 100%) 0 0 0; }

.fadeContent {
  opacity: 0;
  transition: opacity 1s ease-out; }

.fadeContent.current {
  opacity: 1; }

@media screen and (min-width: 769px) {
  .contentInner {
    width: calc(1560 / 1920 * 100%); }

  #mainContents {
    padding: calc(159 / 1920 * 100%) 0 0 0; } }
.breadcrumb {
  display: block;
  position: relative;
  z-index: 1; }
  .breadcrumb .list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 10px 0 10px 0; }
    .breadcrumb .list .item > * {
      display: inline-block;
      font-size: 1.4rem;
      line-height: 1.43;
      box-sizing: border-box; }
    .breadcrumb .list .item:before {
      content: ">";
      font-size: 1.4rem;
      line-height: 1.43;
      padding: 0 5px; }
    .breadcrumb .list .item:first-child:before {
      content: none; }

@media screen and (min-width: 769px) {
  .breadcrumb .list {
    padding: calc(20 / 1560 * 100%) 0 0 0; } }
.pagingType01 .pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  line-height: 1; }
  .pagingType01 .pagination .pagerWrap .pager {
    margin: 0 3px; }
    .pagingType01 .pagination .pagerWrap .pager > * {
      display: flex;
      align-items: center;
      justify-content: center;
      width: calc(75 / 750 * 100vw);
      height: calc(75 / 750 * 100vw);
      color: #ffffff;
      background-color: #000000;
      border-radius: 50%;
      box-sizing: border-box; }
    .pagingType01 .pagination .pagerWrap .pager.current > * {
      background-color: transparent; }
  .pagingType01 .pagination .prev.off,
  .pagingType01 .pagination .next.off {
    opacity: 0.3; }
  .pagingType01 .pagination .prev > *,
  .pagingType01 .pagination .next > * {
    overflow: hidden;
    display: block;
    position: relative;
    width: calc(65 / 750 * 100vw);
    height: calc(55 / 750 * 100vw);
    text-indent: -9999em;
    margin: 0 3px;
    box-sizing: border-box; }
    .pagingType01 .pagination .prev > *:before,
    .pagingType01 .pagination .next > *:before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      width: 0.5em;
      height: 0.5em;
      margin: auto;
      border-top: 2px solid #eeeeee;
      border-right: 2px solid #eeeeee;
      transform: rotate(-135deg); }
  .pagingType01 .pagination .prev span,
  .pagingType01 .pagination .next span {
    visibility: hidden; }
  .pagingType01 .pagination .next > *:before {
    transform: rotate(45deg); }
.pagingType02 .pagination {
  display: flex;
  justify-content: space-between; }
  .pagingType02 .pagination .icon {
    display: block;
    position: relative;
    font-size: 1.4rem;
    line-height: 1.75; }
  .pagingType02 .pagination .headline {
    font-size: 1.4rem;
    line-height: 1.75; }
  .pagingType02 .pagination .prev {
    flex-basis: 50%;
    margin: 0 auto 0 0;
    padding: 0 1em 0 0; }
    .pagingType02 .pagination .prev .icon {
      padding: 0 0 0 1em; }
      .pagingType02 .pagination .prev .icon:before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 0.3em;
        height: 0.3em;
        margin: auto;
        border-top: 2px solid #ffffff;
        border-right: 2px solid #ffffff;
        transform: rotate(-135deg); }
  .pagingType02 .pagination .next {
    flex-basis: 50%;
    text-align: right;
    margin: 0 0 0 auto;
    padding: 0 0 0 1em; }
    .pagingType02 .pagination .next .icon {
      padding: 0 1em 0 0; }
      .pagingType02 .pagination .next .icon:after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        width: 0.3em;
        height: 0.3em;
        margin: auto;
        border-top: 2px solid #ffffff;
        border-right: 2px solid #ffffff;
        transform: rotate(45deg); }

@media screen and (min-width: 769px) {
  .pagingType01 .pagination .pagerWrap .pager {
    margin: 0 5px; }
    .pagingType01 .pagination .pagerWrap .pager > * {
      width: 41px;
      height: 41px; }
    .pagingType01 .pagination .pagerWrap .pager a {
      transition: all 0.2s ease-out;
      backface-visibility: hidden;
      zoom: 1; }
  .pagingType01 .pagination .prev > *,
  .pagingType01 .pagination .next > * {
    width: 41px;
    height: 41px;
    margin: 0 5px; } }
#page404 .wrap {
  margin: 0 0 calc(60 / 335 * 100%) 0; }
#page404 .title {
  font-size: 2rem;
  line-height: 1.75;
  font-weight: 700;
  margin: 0 0 1.5em 0; }
#page404 .text {
  font-size: 1.6rem;
  line-height: 1.75;
  text-indent: -1em;
  margin: 0 0 1em 0;
  padding: 0 0 0 1em; }
#page404 .buttonArea {
  padding: calc(20 / 335 * 100%) 0 calc(100 / 335 * 100%) 0; }

@media screen and (min-width: 769px) {
  #page404 .wrap {
    margin: 0 0 calc(60 / 1560 * 100%) 0; }
  #page404 .buttonArea {
    padding: calc(20 / 1560 * 100%) 0 calc(150 / 1560 * 100%) 0; } }
#header .content {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200; }
#header .logo {
  width: calc(67.5 / 375 * 100%);
  margin: 0 0 0 calc(20 / 375 * 100%); }
#header .navWrap {
  padding: calc(72 / 375 * 100%) 0 0 0; }
#header #globalNav .buttonWrap {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 900;
  width: calc(120 / 375 * 100%);
  background-color: #000000; }
  #header #globalNav .buttonWrap .openButton {
    cursor: pointer;
    display: flex;
    align-items: center;
    height: 100%; }
    #header #globalNav .buttonWrap .openButton .buttonArea {
      position: relative;
      flex-basis: 50%;
      height: 100%; }
      #header #globalNav .buttonWrap .openButton .buttonArea .wrap {
        display: block;
        position: relative;
        width: calc(12 / 375 * 100vw);
        margin: auto;
        padding: calc(13.8 / 375 * 100vw) 0 0 0; }
        #header #globalNav .buttonWrap .openButton .buttonArea .wrap span {
          position: absolute;
          left: 0;
          right: 0;
          height: 2px;
          background-color: #ffffff;
          margin: auto;
          transition: all 0.2s; }
          #header #globalNav .buttonWrap .openButton .buttonArea .wrap span:nth-of-type(1) {
            top: 0; }
          #header #globalNav .buttonWrap .openButton .buttonArea .wrap span:nth-of-type(2) {
            top: calc(50% - 1px); }
          #header #globalNav .buttonWrap .openButton .buttonArea .wrap span:nth-of-type(3) {
            bottom: 0; }
    #header #globalNav .buttonWrap .openButton .buttonText {
      flex-basis: 50%;
      font-size: 1.2rem;
      line-height: 1; }
#header .menu {
  overflow: hidden;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  height: 0;
  margin: auto;
  box-sizing: border-box;
  transition: height 0.2s linear;
  -webkit-overflow-scrolling: touch; }
  #header .menu .menuBg {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.7); }
  #header .menu .menuInner {
    opacity: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    height: 100%;
    transition: opacity 0.2s linear; }
    #header .menu .menuInner .box {
      position: relative;
      z-index: 1;
      width: calc(335 / 375 * 100%);
      background-color: #000000;
      margin: auto;
      border: 2px solid #ffffff;
      border-radius: 5px; }
      #header .menu .menuInner .box .closeButtonWrap .closeButton {
        display: block;
        font-size: 1.8rem;
        line-height: 1;
        padding: 1.7em 1.2em; }
        #header .menu .menuInner .box .closeButtonWrap .closeButton:before, #header .menu .menuInner .box .closeButtonWrap .closeButton:after {
          margin-right: 1em; }
        #header .menu .menuInner .box .closeButtonWrap .closeButton .icon:before, #header .menu .menuInner .box .closeButtonWrap .closeButton .icon:after {
          margin-right: 0.65em; }
        #header .menu .menuInner .box .closeButtonWrap .closeButton .buttonText {
          font-size: 1.4rem;
          line-height: 1; }
      #header .menu .menuInner .box .list {
        border-top: 1px solid #212121; }
        #header .menu .menuInner .box .list .item {
          border-bottom: 1px solid #212121; }
          #header .menu .menuInner .box .list .item .link {
            display: block;
            font-size: 1.8rem;
            line-height: 1;
            letter-spacing: 0.05em;
            padding: 1.7em 1.2em; }
            #header .menu .menuInner .box .list .item .link:before, #header .menu .menuInner .box .list .item .link:after {
              margin-right: 1em; }
      #header .menu .menuInner .box .menuLogo {
        width: calc(67 / 335 * 100%);
        margin: auto;
        padding: calc(18 / 335 * 100%) 0; }
#header.open .menu {
  overflow: auto;
  height: 100vh;
  transition: height 0.2s linear 0.1s; }
  #header.open .menu .menuInner {
    opacity: 1;
    transition: opacity 0.2s linear 0.1s; }

@media screen and (min-width: 769px) {
  #header .content {
    display: block;
    bottom: 0;
    left: auto;
    width: calc(100 / 1920 * 100%);
    background-color: #000000; }
  #header .logo {
    position: fixed;
    top: 0;
    left: 0;
    width: calc(84 / 1920 * 100vw);
    margin: calc(39 / 1920 * 100vw) 0 0 calc(34 / 1920 * 100vw); }
  #header .navWrap {
    padding: 0; }
  #header #globalNav .buttonWrap {
    position: static;
    width: 100%;
    background-color: transparent; }
    #header #globalNav .buttonWrap .openButton {
      cursor: pointer;
      display: block;
      height: auto;
      padding: calc(10 / 100 * 100%) 0 0 0; }
      #header #globalNav .buttonWrap .openButton .buttonArea {
        width: 100%;
        height: auto;
        padding: 100% 0 0 0; }
        #header #globalNav .buttonWrap .openButton .buttonArea .wrap {
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          width: 16px;
          height: 0;
          margin: auto;
          padding: 16px 0 0 0; }
          #header #globalNav .buttonWrap .openButton .buttonArea .wrap span {
            position: absolute;
            left: 0;
            right: 0;
            height: 2px;
            background-color: #ffffff;
            margin: auto;
            transition: all 0.2s; }
            #header #globalNav .buttonWrap .openButton .buttonArea .wrap span:nth-of-type(1) {
              top: 0; }
            #header #globalNav .buttonWrap .openButton .buttonArea .wrap span:nth-of-type(2) {
              top: calc(50% - 1px); }
            #header #globalNav .buttonWrap .openButton .buttonArea .wrap span:nth-of-type(3) {
              bottom: 0; }
      #header #globalNav .buttonWrap .openButton .buttonText {
        display: flex;
        align-items: center;
        width: 100%;
        writing-mode: vertical-lr; }
  #header .menu .menuInner .box {
    position: relative;
    width: 80%;
    max-width: 960px; }
    #header .menu .menuInner .box .closeButtonWrap {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      width: calc(99 / 960 * 100%); }
      #header .menu .menuInner .box .closeButtonWrap .closeButton {
        cursor: pointer;
        font-size: 1.4rem;
        line-height: 1;
        margin: 2.3em 1.2em 0 1.2em;
        padding: 1.7em 0; }
        #header .menu .menuInner .box .closeButtonWrap .closeButton:before, #header .menu .menuInner .box .closeButtonWrap .closeButton:after {
          left: 0;
          right: 0;
          margin: 0 auto; }
        #header .menu .menuInner .box .closeButtonWrap .closeButton .icon:before, #header .menu .menuInner .box .closeButtonWrap .closeButton .icon:after {
          left: 0;
          right: 0;
          width: 0.9em;
          margin: 1.15em auto 0 auto; }
        #header .menu .menuInner .box .closeButtonWrap .closeButton .buttonText {
          display: flex;
          align-items: center;
          width: 100%;
          font-size: 1.4rem;
          line-height: 1;
          margin: 3em 0 0 0;
          writing-mode: vertical-lr; }
    #header .menu .menuInner .box .list {
      display: flex;
      flex-wrap: wrap;
      width: calc(783 / 960 * 100%);
      margin: 0 0 0 calc(77 / 960 * 100%);
      border-top: 0;
      border-left: 1px solid #212121; }
      #header .menu .menuInner .box .list .item {
        flex-basis: calc(100% / 3);
        border-right: 1px solid #212121;
        box-sizing: border-box; }
        #header .menu .menuInner .box .list .item:nth-child(1), #header .menu .menuInner .box .list .item:nth-child(2), #header .menu .menuInner .box .list .item:nth-child(3) {
          border-bottom: 1px solid #212121; }
        #header .menu .menuInner .box .list .item .link {
          font-size: 2rem;
          line-height: 1;
          padding: calc(120 / 260 * 100%) 0 calc(120 / 260 * 100%) 1.2em; }
          #header .menu .menuInner .box .list .item .link:before, #header .menu .menuInner .box .list .item .link:after {
            width: 2em;
            height: 2em;
            margin-right: 0.7em; }
    #header .menu .menuInner .box .menuLogo {
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: calc(77 / 960 * 100%);
      margin: 0;
      padding: 0; }
      #header .menu .menuInner .box .menuLogo a {
        display: block;
        width: calc(67 / 77 * 100%); }
  #header.open .menu {
    overflow: auto;
    height: 100vh;
    transition: height 0.2s linear 0.1s; }
    #header.open .menu .menuInner {
      opacity: 1;
      transition: opacity 0.2s linear 0.1s; } }
@media screen and (min-width: 1000px) {
  #globalNav .buttonWrap .openButton .buttonArea .wrap {
    width: calc(20 / 100 * 100%);
    padding: calc(23 / 100 * 100%) 0 0 0;
    width: 20px;
    padding: 23px 0 0 0; }
    #globalNav .buttonWrap .openButton .buttonArea .wrap span {
      height: 3px; } }
#footer .content {
  background-color: #000000; }
#footer .footerLogo {
  width: calc(159 / 375 * 100%);
  margin: 0 auto calc(34 / 375 * 100%) auto;
  padding: calc(103 / 375 * 100%) 0 0 0; }
#footer .list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 0 calc(34 / 375 * 100%) 0; }
  #footer .list .item {
    font-size: 1.4rem;
    line-height: 2.29;
    text-align: center; }
    #footer .list .item a {
      display: block;
      padding: 0.05em 1.1em; }
#footer .copyright {
  font-size: 1.2rem;
  line-height: 1;
  text-align: center;
  padding: 0 0 calc(150 / 375 * 100%) 0; }
  #footer .copyright small {
    letter-spacing: 0.1em; }

@media screen and (min-width: 769px) {
  #footer .footerLogo {
    width: calc(170 / 1920 * 100%);
    margin: 0 auto calc(34 / 1920 * 100%) auto;
    padding: calc(102 / 1920 * 100%) 0 0 0; }
  #footer .list {
    margin: 0 0 calc(30 / 1920 * 100%) 0; }
    #footer .list .item {
      font-size: 1.4rem;
      line-height: 1.75; }
  #footer .copyright {
    padding: 0 0 calc(117 / 1920 * 100%) 0; } }
/* titleType01 */
.titleType01 {
  font-family: "urw-din", 'Noto Sans JP', sans-serif;
  font-size: 3rem;
  line-height: 1;
  font-weight: 600; }
  .titleType01:after {
    content: "";
    display: block;
    width: 1.3em;
    padding: 1.7em 0 0 0;
    border-bottom: 2px solid #ffffff; }
  .titleType01.large {
    font-size: 4rem;
    line-height: 1; }
    .titleType01.large:after {
      width: 1em;
      padding: 1em 0 0 0; }

/* titleType02 */
.titleType02 {
  font-family: "urw-din", 'Noto Sans JP', sans-serif;
  font-size: 3.2rem;
  line-height: 1; }
  .titleType02 .en {
    display: block;
    font-weight: 600; }
  .titleType02 .ja {
    display: block;
    font-size: 1.4rem;
    line-height: 1;
    padding: 0.7em 0 0 0; }

@media screen and (min-width: 769px) {
  .titleType02 {
    font-size: 4.8rem;
    line-height: 1; }
    .titleType02 .ja {
      font-size: 1.6rem;
      line-height: 1; } }
/* buttonType01 */
.buttonType01, .buttonType02, .buttonType03 {
  display: block;
  position: relative;
  width: calc(206 / 335 * 100%);
  color: #212121;
  font-family: "urw-din", 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 600;
  text-align: left;
  background-color: #eeeeee;
  margin: auto;
  padding: 1.5em 0 1.5em 2em;
  border-radius: 4em;
  box-sizing: border-box; }
  .buttonType01:before, .buttonType02:before, .buttonType03:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0.75em;
    width: 2.5em;
    height: 2.5em;
    background-color: #212121;
    margin: auto;
    border-radius: 50%; }
  .buttonType01:after, .buttonType02:after, .buttonType03:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.87em;
    width: 0.3em;
    height: 0.3em;
    margin: auto;
    border-top: 2px solid #eeeeee;
    border-right: 2px solid #eeeeee;
    transform: rotate(45deg); }

@media screen and (min-width: 769px) {
  .buttonType01, .buttonType02, .buttonType03 {
    max-width: 206px;
    color: #eeeeee;
    background-color: #000000; }
    .buttonType01:before, .buttonType02:before, .buttonType03:before {
      background-color: #333333; }
    .buttonType01:after, .buttonType02:after, .buttonType03:after {
      right: 0.75em;
      width: 2.5em;
      height: 2.5em;
      background-color: #eeeeee;
      margin: auto;
      border: 0;
      border-radius: 50%;
      transform: scale(0.2); }
    .buttonType01.athlete, .athlete.buttonType02, .athlete.buttonType03 {
      background-color: #141414; } }
/* buttonType02 */
.buttonType02 {
  width: 100%;
  max-width: 100%;
  background-color: #ffffff;
  padding: 0;
  border-radius: 0;
  box-sizing: border-box; }
  .buttonType02:before {
    right: 1em; }
  .buttonType02:after {
    right: 2.12em; }
  .buttonType02 .text {
    display: block;
    font-size: 2rem;
    line-height: 1;
    padding: 1em 0 1em 1.5em; }
  .buttonType02 .icon {
    display: inline-block;
    width: 2em;
    vertical-align: middle;
    margin: 0 0.6em 0 0; }

@media screen and (min-width: 769px) {
  .buttonType02 {
    max-width: 100%;
    color: #212121;
    background-color: #ffffff; }
    .buttonType02:before {
      right: 5em;
      background-color: #333333; }
    .buttonType02:after {
      right: 5em; }
    .buttonType02 .text {
      font-size: 3rem;
      line-height: 1;
      padding: 1.8em 0 1.7em 2.6em; }
    .buttonType02:hover {
      color: #ffffff; }
      .buttonType02:hover .icon .contact_2 {
        fill: #ffffff; } }
/* buttonType03 */
.buttonType03 {
  display: inline-block;
  width: auto;
  max-width: auto;
  max-width: initial;
  color: #ffffff;
  text-align: left;
  background-color: transparent;
  margin: 0;
  padding: 1.5em 4.3em 1.5em 0;
  border-radius: 0;
  box-sizing: border-box; }
  .buttonType03:after {
    bottom: 0.1em;
    right: 1.8em;
    transform: rotate(135deg); }

@media screen and (min-width: 769px) {
  .buttonType03:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.87em;
    width: 0.3em;
    height: 0.3em;
    background-color: transparent;
    margin: auto;
    border-top: 2px solid #eeeeee;
    border-right: 2px solid #eeeeee;
    border-radius: 0;
    transform: scale(1);
    transform: rotate(135deg); } }
/* arrowType01 */
.arrowType01 {
  position: relative;
  font-size: 1.6rem;
  line-height: 1; }
  .arrowType01:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 2.5em;
    height: 2.5em;
    background-color: #212121;
    margin: auto;
    border-radius: 50%; }
  .arrowType01:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.15em;
    width: 0.3em;
    height: 0.3em;
    margin: auto;
    border-top: 2px solid #eeeeee;
    border-right: 2px solid #eeeeee;
    transform: rotate(45deg); }
  .arrowType01.close:after {
    display: none; }
  .arrowType01.close .icon:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.15em;
    width: 0.8em;
    height: 0;
    margin: auto;
    border-top: 2px solid #eeeeee;
    transform: rotate(-45deg); }
  .arrowType01.close .icon:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.15em;
    width: 0.8em;
    height: 0;
    margin: auto;
    border-top: 2px solid #eeeeee;
    transform: rotate(45deg); }

@media screen and (min-width: 769px) {
  .arrowType01:before {
    background-color: #333333; }
  .arrowType01:after {
    right: 0;
    width: 2.5em;
    height: 2.5em;
    background-color: #eeeeee;
    margin: auto;
    border: 0;
    border-radius: 50%;
    transform: scale(0.2); } }
.curtain {
  position: relative; }
  .curtain:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #141414;
    transition: left 1s ease 0.1s; }
  .curtain.current:before {
    left: 100%; }

#toTop {
  display: none; }

@media screen and (min-width: 769px) {
  #toTop .toTopArea {
    display: none;
    position: fixed;
    bottom: 2em;
    right: 0;
    z-index: 500;
    width: calc(100 / 1920 * 100%); }
  #toTop .link {
    display: flex;
    align-items: center;
    width: 100%;
    height: auto;
    color: #ffffff;
    font-size: 1.2rem;
    line-height: 1;
    text-indent: 0;
    margin: 0;
    writing-mode: vertical-lr; }
    #toTop .link:before {
      display: block;
      content: "";
      width: 1px;
      height: 5em;
      background-color: #ffffff;
      margin: 0 auto 0.95em auto; }
  .load_complete #toTop {
    display: block; } }
