@charset "UTF-8";


@media screen and (max-width: 768px) {
  html {
    font-size: min(3vw, 12px);
  }
}


@media screen and (max-width:980px) {

  .pc {
    display: none;
  }

    .pc-1 {
    display: none!important;
  }

  .sp {
    display: block;
  }
}


@media (min-width: 480px) {

  .small-sp {
    display: none;
  }
}

/* --------------------------------------------
 MV
 --------------------------------------------*/
@media only screen and (max-width: 1300px) {

  .sor-banner .sor-banner-holder .text01 {
    top: 21vw;
  }

  .sor-banner .sor-banner-holder .text02 {
    top: 21vw;
  }
}

@media only screen and (max-width: 768px) {

  .sor-banner .sor-banner-holder {
    display: none;
  }

  .sor-banner .sor-banner-holder-mobile {
    display: block;
    position: relative;
  }

  .sor-banner .sor-banner-holder-mobile img {
    width: 100%;
  }
}


/* --------------------------------------------
   Breadcrumb 
  --------------------------------------------*/
@media only screen and (max-width: 991px) {

  .sor-breadcrumb {
    width: 100%;
    padding-left: 1.5rem;
  }
}

@media only screen and (max-width: 768px) {

  .sor-breadcrumb {
    width: 100%;
  }

  .sor-breadcrumb .sor-breadcumb-item {
    display: none;
  }
}


/*=====================================*/
/*HEADER===============================*/
/*=====================================*/
@media screen and (max-width:980px) {

  header .hamburger-menu {
    display: block;
  }

  header .menu-btn {
    position: fixed;
    top: 1vw;
    right: 1vw;
    display: flex;
    height: 10vw;
    width: 10vw;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: rgba(49, 13, 13, 1)
  }

  header .menu-btn span,
  .menu-btn span:before,
  .menu-btn span:after {
    content: '';
    display: block;
    height: 0.4vw;
    width: 5vw;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
  }

  header .menu-btn span:before {
    bottom: 1.5vw;
  }

  header .menu-btn span:after {
    top: 1.5vw;
  }

  #menu-btn-check:checked~.menu-btn span {
    background-color: rgba(255, 255, 255, 0);
    /*メニューオープン時は真ん中の線を透明にする*/
  }

  #menu-btn-check:checked~.menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
  }

  #menu-btn-check:checked~.menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
  }

  #menu-btn-check {
    display: none;
  }

  /* menu-conetent */
  header .menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;
    /*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background: rgba(49, 1, 3, 0.9);
    transition: all 0.5s;
    /*アニメーション設定*/
  }

  header .menu-content ul {
    padding: 70px 10px 0;
  }

  header .menu-content ul li {
    border-bottom: solid 1px #ffffff;
    padding: 3% 0;
    margin: 0 15%;
  }

  header .menu-content ul li:last-child {
    border-bottom: none;
  }

  header .menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 5vw;
    box-sizing: border-box;
    color: #ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
    text-align: center;
  }

  #menu-btn-check:checked~.menu-content {
    left: 0;
  }

  header .text {
    padding: 4vw 0;
    margin-bottom: 0;
  }

  header .text h4 {
    font-size: 2.4vw;
    padding: 3vw 4.2vw;
    border-radius: 5vw;
    -webkit-border-radius: 5vw;
    -moz-border-radius: 5vw;
    margin-right: 22.5vw;
  }

  header .text div img {
    width: 10vw;
    height: 10vw;
    margin-right: 2.1vw;
  }

  header .text div h3 {
    font-size: 6vw;
  }

  header .menu-pc {
    display: none;
  }

  header .menu-sp {
    display: block;
  }
}



/*=====================================*/
/*CONTACT==============================*/
/*=====================================*/
@media screen and (max-width:980px) {

  main #contact .content {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-top: 9.6vw;
    padding-bottom: 9.8vw;
  }

  main #contact .content .form {
    width: 70%;
    padding: 0 0 10vw 0;
    margin-bottom: 5.5vw;
    border-right: none;
    border-bottom: 1px solid #CCCCCC;
  }

  main #contact .content .form h5 {
    font-size: 4.5vw;
    padding-bottom: 5.9vw;
  }

  main #contact .content .form a {
    padding: 4.5vw 2.5vw;
    -webkit-border-radius: 8vw;
    -moz-border-radius: 8vw;
    border-radius: 8vw;
  }

  main #contact .content .form a p {
    font-size: 3.6vw;
    padding: 0 12vw;
  }

  main #contact .content .call {
    width: 70%;
    padding: 0;
  }

  main #contact .content .call h5 {
    font-size: 4.5vw;
  }

  main #contact .content .call p {
    font-size: 3.3vw;
  }

  main #contact .content .call div {
    padding: 5vw 0;
  }

  main #contact .content .call div img {
    width: 9vw;
    height: 9vw;
  }

  main #contact .content .call div h4 {
    font-size: 9vw;
  }
}


/*=====================================*/
/*FOOTER===============================*/
/*=====================================*/
@media screen and (max-width:980px) {
  footer {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-top: 8.3vw;
    padding-bottom: 22vw;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  footer div {
    margin-left: 0;
    margin-bottom: 4vw;
  }

  footer div img {
    width: 11vw;
    height: 11vw;
    margin-right: 3vw;
  }

  footer div h3 {
    font-size: 6vw;
  }

  footer ul li {
    margin: 3vw 3vw;
    font-size: 3vw;
    letter-spacing: 0.5vw;
  }

  footer address {
    margin-top: 12.5vw;
    margin-left: 0;
    font-size: 2.5vw;
  }

  #footer-menu a {
    font-size: 1.8vw;
  }


  /* ======================
  LINE icon
  ====================== */
  .line_pc {
    width: 98.6%;
    padding-top: 0vw;
  }

  .line_box {
    padding: 1vw;
    margin: 0 1vw;
  }

  .line_box_text img {
    width: 10vw;
    height: 10vw;
  }

  .text_a {
    font-size: 5vw;
  }

  .text_b {
    font-size: 3vw;
    padding: 1vw 0 2vw;
  }

  .line_pc a {
    text-decoration: none;
  }


  /*======================
   LINE footer 
  ======================*/

  main #contact .content .line_banner {
    width: 70%;
    padding: 4vw 0 10vw 0;
    margin-bottom: 5.5vw;
    border-right: none;
    border-bottom: 1px solid #CCCCCC;
  }

  main #contact .content .line_banner .line_pc {
    width: initial;
    padding: 0;
  }

  main #contact .content .line_banner .line_box {
    padding: 1.2vw;
    border-radius: 8vw;
  }

  main #contact .content .line_banner .line_box_text img {
    width: 10vw;
    height: 10vw;
    padding-left: 3vw;
  }

  main #contact .content .line_banner h5 {
    font-size: 4.5vw;
    padding-bottom: 5.9vw;
  }

  main #contact .content .line_banner .text_a {
    font-size: 3.6vw;
    padding: 0 1vw 0 0;
  }


  /* scroll-to-top-btn */

  #scroll-to-top-btn {
    position: fixed;
    right: 1vw;
    bottom: 18vw;
  }

  #scroll-to-top-btn img {
    width: 10vw;
  }

}