@charset "UTF-8";
/*--mainColor:#002063;*/
/*border*/
/*border*/
h1 {
  margin: 12rem 0 6rem; }
  @media only screen and (max-width: 640px) {
    h1 {
      margin: 6rem 0 3rem; } }

.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #002063;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000; }

.loading-spinner {
  border: 8px solid #ff1db4;
  border-top: 8px solid #00cfff;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite; }

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
.topmotion.pc {
  position: relative;
  width: 100%;
  height: max(80vh , 575px);
  max-height: 800px;
  text-align: center;
  overflow: hidden; }
  .topmotion.pc .basetop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .topmotion.pc .parts {
    position: absolute; }
  .topmotion.pc .countup {
    z-index: 4; }
    .topmotion.pc .countup .logo {
      /* width: max(30vw, 320px); */
      width: 450px;
      max-width: 100%;
      height: auto;
      top: 20%;
      left: calc(50% - 225px);
      /* left: min(calc(50% - 15vw),calc(50% - 160px)); */ }
      @media only screen and (max-width: 640px) {
        .topmotion.pc .countup .logo {
          width: 320px;
          left: calc(50% - 160px); } }
    .topmotion.pc .countup .count {
      font-family: Fredoka;
      font-weight: bold;
      font-size: 6rem;
      width: 100%;
      text-align: center;
      top: 35%; }
      .topmotion.pc .countup .count span.p {
        color: #ff1db4;
        font-size: 10rem; }
      .topmotion.pc .countup .count span.y {
        color: #ffe600; }
      .topmotion.pc .countup .count span.b {
        color: #00cfff; }
    .topmotion.pc .countup .Left, .topmotion.pc .countup .Right {
      bottom: 10%;
      width: 200px;
      height: 100%; }
      .topmotion.pc .countup .Left img, .topmotion.pc .countup .Right img {
        position: absolute;
        bottom: 0;
        left: 0; }
    .topmotion.pc .countup .Left {
      left: calc(35% - 100px); }
    .topmotion.pc .countup .Right {
      right: calc(35% - 100px); }
    @media only screen and (max-width: 640px) {
      .topmotion.pc .countup .Left {
        left: 2%; }
      .topmotion.pc .countup .Right {
        right: 2%; } }
    .topmotion.pc .countup .cf2 {
      opacity: 0; }
  .topmotion.pc .arrows {
    z-index: 3;
    width: 100%;
    height: 100%;
    top: 0; }
    .topmotion.pc .arrows.arrowbg {
      background: url("../imgs/top/motion_arrow.gif") center center no-repeat;
      background-size: auto 100%; }
  .topmotion.pc .dots {
    position: absolute;
    z-index: 4;
    width: 100%;
    height: 100%;
    top: 0; }
    .topmotion.pc .dots.dotsbg {
      background: url("../imgs/top/motion_dots.gif") center center no-repeat;
      background-size: auto 100%; }
      @media only screen and (max-width: 640px) and (min-height: 780px) {
        .topmotion.pc .dots.dotsbg {
          background: url("../imgs/top/motion_dotssp.gif") center center no-repeat;
          background-size: auto 100%; } }
    .topmotion.pc .dots .word {
      display: flex;
      justify-content: center;
      width: 550px;
      margin: 10vh auto 0; }
      .topmotion.pc .dots .word img {
        display: block;
        width: calc(100% / 6);
        height: auto;
        /*jq css*/
        opacity: 0; }
      @media only screen and (max-width: 640px) {
        .topmotion.pc .dots .word {
          margin: 15vh auto 0;
          width: min(100%,500px); } }
    .topmotion.pc .dots .read img {
      display: block;
      margin: 1% auto 0;
      height: 2rem;
      width: auto; }
    @media only screen and (max-width: 640px) and (min-height: 780px) {
      .topmotion.pc .dots .read {
        margin: 5% auto 0; } }
    .topmotion.pc .dots .chara .Left, .topmotion.pc .dots .chara .Right {
      bottom: 10%;
      width: 300px;
      height: 100%; }
      .topmotion.pc .dots .chara .Left img, .topmotion.pc .dots .chara .Right img {
        position: absolute;
        bottom: 0;
        left: 0; }
    .topmotion.pc .dots .chara .Left {
      left: calc(33% - 150px); }
    .topmotion.pc .dots .chara .Right {
      right: calc(33% - 150px); }
    @media only screen and (max-width: 640px) {
      .topmotion.pc .dots .chara .Left, .topmotion.pc .dots .chara .Right {
        width: 49%;
        height: auto; }
      .topmotion.pc .dots .chara .Left {
        left: 1%; }
      .topmotion.pc .dots .chara .Right {
        right: 1%; } }

.about {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  background-image: url(../imgs/bg_komon_t.png), url(../imgs/bg_komon_b.png), url(../imgs/bg_komon.svg);
  background-position: center top, center bottom, center center;
  background-repeat: repeat-x, repeat-x,  repeat;
  background-size: auto 150px, auto 150px, 300px auto; }
  .about .infoblock {
    width: 45%; }
    .about .infoblock .text {
      border: 5px solid #002063;
      padding: 2rem 2.5rem;
      font-size: 2rem;
      font-weight: bold;
      background: #FFF;
      margin-bottom: 4rem;
      line-height: 3.5rem; }
      .about .infoblock .text h1 {
        font-size: 2rem;
        line-height: 3.5rem;
        margin: 0; }
  .about .photo {
    height: auto; }
    .about .photo img {
      max-height: 500px; }
  @media only screen and (max-width: 640px) {
    .about {
      padding-top: 5rem;
      display: block; }
      .about .infoblock {
        font-size: 1.8rem;
        width: 100%; }
        .about .infoblock .text {
          margin: 0 auto 2rem; }
      .about .photo {
        width: min(95% , 380px);
        margin: 3rem auto 0; } }

.newsmoving {
  margin: 6rem 0;
  padding: 2rem 0;
  background-image: url(../imgs/line_maru_repeat.svg), url(../imgs/line_maru_repeat.svg);
  background-position: center top, center bottom;
  background-repeat: repeat-x,repeat-x;
  background-size: auto 20px; }
  .newsmoving a {
    margin: 2rem auto;
    display: flex;
    justify-content: center;
    align-items: center; }
  .newsmoving .main {
    text-align: center;
    font-size: 2rem; }
    .newsmoving .main .logo {
      width: 16em;
      height: auto;
      margin: 2rem auto 0; }
    .newsmoving .main .newsttl {
      color: #002063;
      font-weight: bold;
      display: block; }
    @media only screen and (max-width: 640px) {
      .newsmoving .main {
        text-align: center; }
        .newsmoving .main .logo {
          width: 52vw;
          height: auto;
          margin: 1rem auto 0; }
        .newsmoving .main .newsttl {
          font-size: 1.6rem; } }
  .newsmoving .chara_L, .newsmoving .chara_R {
    width: auto;
    height: 140px; }
    .newsmoving .chara_L img, .newsmoving .chara_R img {
      height: 100%;
      width: auto; }
    @media only screen and (max-width: 640px) {
      .newsmoving .chara_L, .newsmoving .chara_R {
        width: 23%;
        height: auto; }
        .newsmoving .chara_L img, .newsmoving .chara_R img {
          width: 100%;
          height: auto; } }

.topicsbanner {
  margin: 3rem 0; }
  .topicsbanner ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
    .topicsbanner ul li {
      width: 23%;
      margin: 0 1%; }
  @media only screen and (max-width: 640px) {
    .topicsbanner {
      margin: 0; }
      .topicsbanner ul li {
        width: 48%;
        margin: 0 auto 1rem; } }

.product .productpick {
  background: url("../imgs/top/bg_products.png") center center no-repeat;
  background-size: auto 100%; }
  .product .productpick .pickblock {
    display: flex;
    width: 50%; }
    .product .productpick .pickblock:nth-of-type(2n) {
      margin: 0 0 0 auto; }
    .product .productpick .pickblock .photo {
      width: min(47%, 20em);
      padding-right: 25px; }
      .product .productpick .pickblock .photo img {
        object-fit: contain;
        width: 100%;
        height: 100%; }
    .product .productpick .pickblock .infoblock {
      flex: 1; }
      .product .productpick .pickblock .infoblock .name {
        color: #FFF;
        font-size: 2rem;
        text-align: center; }
      .product .productpick .pickblock .infoblock .read {
        font-weight: bold;
        border: 8px solid #002063;
        border-radius: 20px;
        padding: 1rem;
        margin: 1.5rem 0 0;
        background: #FFF;
        position: relative; }
        .product .productpick .pickblock .infoblock .read:before {
          content: "";
          display: block;
          position: absolute;
          left: -33px;
          width: 33px;
          height: 100%;
          background: url(../imgs/top/products_fukidashi.png) left 0 top 0 no-repeat;
          background-size: contain; }
    @media only screen and (max-width: 640px) {
      .product .productpick .pickblock {
        width: 100%;
        align-items: flex-start;
        margin: 0 auto 6rem; }
        .product .productpick .pickblock:nth-of-type(2n) {
          margin: 0 auto 6rem; } }
.product .doublelinettl {
  margin: 5px;
  /*shadow相殺*/
  padding: 2px 10px;
  /*shadow相殺*/
  display: block;
  border: 5px solid #FFF;
  border-radius: 15px;
  background-color: #002063;
  font-weight: bold;
  box-shadow: 0px 0px 0px 5px #002063; }

.catalogimage {
  background-color: #ff1db4;
  background-image: url(../imgs/top/bg_catalogbase.png), url(../imgs/top/bg_catalogbase.png), url(../imgs/top/bg_catalog.png), url(../imgs/top/bg_catalog.png);
  background-position: center top, center bottom -1px, left top, right top;
  background-repeat: no-repeat, no-repeat, no-repeat, repeat-y;
  background-size: 100% 23%, 100% 23%, auto auto, auto auto; }
  .catalogimage .sample {
    margin: 0 auto;
    text-align: center;
    max-width: 840px; }
    .catalogimage .sample img {
      width: 100%;
      height: auto; }
      @media only screen and (min-width: 640px) {
        .catalogimage .sample img.pc {
          display: block; } }
      @media only screen and (max-width: 640px) {
        .catalogimage .sample img.pc {
          display: none; } }
      @media only screen and (min-width: 640px) {
        .catalogimage .sample img.sp {
          display: none; } }
      @media only screen and (max-width: 640px) {
        .catalogimage .sample img.sp {
          display: block;
          width: min(100% , 420px);
          margin: 0 auto; } }
  @media only screen and (max-width: 640px) {
    .catalogimage {
      background-color: #ff1db4;
      background-image: url(../imgs/top/bg_catalogbase.png), url(../imgs/top/bg_catalogbase.png), url(../imgs/top/bg_catalog.png), url(../imgs/top/bg_catalog.png);
      background-position: center top, center bottom -1px, left top, right top;
      background-repeat: no-repeat, no-repeat, repeat-y, repeat-y;
      background-size: 100% 10%, 100% 10%, 5vw 15vh, 5vw 15vh;
      margin-bottom: 3rem; } }

.rental .rentalblock {
  display: flex;
  align-content: center;
  background: url(../imgs/bg_kikkoY.svg);
  background-size: 150px auto; }
  .rental .rentalblock .parts {
    width: 33%;
    margin: 6rem 0; }
    .rental .rentalblock .parts:nth-of-type(1) {
      margin-top: 8rem; }
    .rental .rentalblock .parts:nth-of-type(2) {
      margin-top: 18rem; }
  @media only screen and (max-width: 640px) {
    .rental .rentalblock {
      display: block; }
      .rental .rentalblock .parts {
        width: min(95% , 320px); }
        .rental .rentalblock .parts:nth-of-type(1), .rental .rentalblock .parts:nth-of-type(3) {
          margin: 0 auto 0 5%; }
        .rental .rentalblock .parts:nth-of-type(2) {
          margin: 0 5% 0 auto; } }

/*# sourceMappingURL=top.css.map */
