@charset "UTF-8";
/* CSS Document */

/* =================================
  PC 1500px
================================= */
@media only screen and (max-width: 1500px) {
  header #main-img .privacy-mark {
    right: 20%;
  }
  .upper {
    right: 0;
  }
}

/* =================================
  PC 1300px
================================= */
@media only screen and (max-width: 1300px) {
  header #main-img .privacy-mark {
    right: 15%;
  }
  #gnav ul li {
    width: 16.6%;
    width: -webkit-calc(100%/6);
    width: calc(100%/6);
  }
  #sub-img {
    width: 95%;
  }
  #content {
    width: 95%;
  }
  #main {
    width: 70%;
  }
  #sidebar {
    width: 25%;
  }
  .box-form .box-left,
  .box-form .box-right {
    width: 100%;
  }
}


/* =================================
  タブレット横 1024px
================================= */
@media only screen and (max-width: 1024px) {
  header #main-img .privacy-mark {
    right: 10%;
  }
  header #main-img .car01 {
    top: 30%;
    left: 13%;
  }
  @keyframes move {
    100% {
       top: 45%;
       left: 27%;
    }
  }
  header #main-img .car02 {
    top: 45%;
    right: 10%;
  }
  @keyframes move2 {
    100% {
       top: 35%;
       right: 3%;
    }
  }
  #b-information .box-info .thumbnail {
    height: 160px;
  }
  #footer-img {
    min-height: 608px;
  }
  #b-movie iframe {
    width: 100%;
  }
}

/* =================================
  タブレット縦 768px
================================= */
@media only screen and (max-width: 768px) {
  header #main-img .privacy-mark {
    display: none;
  }
  header #main-img .car01 {
    top: 30%;
    left: 3%;
  }
  @keyframes move {
    100% {
       top: 45%;
       left: 20%;
    }
  }
  header #main-img .car02 {
    top: 38%;
    right: 20%;
  }
  @keyframes move2 {
    100% {
       top: 28%;
       right: 3%;
    }
  }
  #b-about p {
    max-width: 100%;
  }
  #b-information .box-info .thumbnail {
    height: 110px;
  }
  .upper img {
    width: auto;
    height: 150px;
  }
  header #sub-img .site-id {
    width: 35%;
  }
  #sub-img .header-tel {
    font-size: 26px;
  }
}

/* =================================
  スマホ横 736px
================================= */
@media only screen and (max-width: 736px) {
  header #main-img {
    min-height: 250px;
    background-size: cover;
  }
  header #main-img h1 {
    display: none;
  }
  header #main-img .site-id {
    width: 85px;
    height: 105px;
    margin-top: -52px;
    margin-left: -42px;
  }
  header #main-img .car01,
  header #main-img .car02 {
    background-size: 60%;
  }
  header #main-img .car01 {
    top: 30%;
    left: 18%;
  }
  @keyframes move {
    100% {
       top: 45%;
       left: 30%;
    }
  }
  header #main-img .car02 {
    top: 35%;
    right: 20%;
  }
  @keyframes move2 {
    100% {
       top: 25%;
       right: 10%;
    }
  }
  #gnav {
    display: none;
  }
  #gnav-sp,
  #gnav-toggle {
    display: block;
  }
  #gnav-toggle {
    cursor: pointer;
    position: fixed;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    background: transparent url(../images/gnav-toggle.png) no-repeat 0 0;
    background-size: cover;
    z-index: 500;
  }
  #gnav-toggle.peke {
    background: transparent url(../images/gnav-toggle_peke.png) no-repeat 0 0;
    background-size: cover;
  }
  #gnav-sp ul,
  #gnav-sp ul li {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  #gnav-sp {
    background-color: rgba(31,138,42,.9);
    width: 100%;
    height: 100%;
    z-index: 300;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    overflow: hidden;
    display: none;
  }
  #gnav-sp .site-id-sp {
    width: 280px;
    margin: 30px auto;
    display: block;
    text-align: center;
  }
  #gnav-sp ul li {
    border-bottom: dotted 1px #fff;
    width: 48%;
    display: inline-block;
    margin-right: 1%;
  }
  #gnav-sp ul li:last-child,
  #gnav-sp ul li:nth-child(n+9) {
    border: none;
  }
  #gnav-sp ul li a {
    display: block;
    padding: 10px 20px;
    color: #fff;
    font-size: 1.4rem;
  }
  #gnav-sp ul li a::before {
    content: '\25B6';
    margin-right: 10px;
    font-size: 1.0rem;
    color: #005bac;
  }
  #b-information .box-info h3 {
    width: 50%;
    top: -34px;
  }
  #b-information .box-info {
    padding: 15px;
  }
  .slider-inner {
    left: 0;
    width: 100%;
    margin-left: 0;
  }
  .list-office li {
    width: 95%;
    height: 238px;
  }
  .list-office li .thumbnail {
    margin-right: 15px;
    margin-bottom: 5px;
    width: 160px;
  }
  .list-office li .thumbnail img {
    height: auto;
  }
  .list-office li .list-inner {
    width: 100%;
    height: 230px;
    padding: 15px;
  }
  .list-office li .btn {
    width: 120px;
  }
  .list-office li address {
    font-size: 14px;
  }
  #footer-img {
    min-height: 408px;
  }
  .upper {
    top: -130px;
  }
  #fnav {
    display: none;
  }
  /* 下層 */
  #content {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #main {
    width: 95%;
    margin: 0 auto;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }
  #sidebar {
    margin-top: 40px;
    width: 100%;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }
  #sidebar::after {
    content: '';
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
  }
  #sidebar .magazine {
    max-width: 270px;
    float: left;
  }
  #sidebar .news,
  #sidebar .side-bnr {
    float: right;
    max-width: 270px;
  }
  .box-services {
    padding-bottom: 0;
  }
  .box-services h2 img {
    height: 144px;
  }
  .box-services .btn {
    position: static;
    margin: 0;
  }
  .box-form .alignleft {
    float: none;
    display: block;
  }
  #content #main iframe {
    max-width: 100%;
    height: 280px;
  }
  .cast #main .box-cast {
    display: block;
    width: 100%;
  }
  .cast #main .box-cast .alignleft {
    float: none;
  }
  .cast #main div.alignleft,
  .cast #main .img-border {
    width: 46%;
  }
  .cast #main .img-border {
    border-width: 3px;
  }
  .box-item {
    width: 100%;
  }
  .quality .alignleft {
    float: none;
    margin: 0 auto 20px auto;
  }
  .list-management li {
    width: 100%;
  }
  .alvark #main .ttl-lv1 .ja {
    font-size: 21px;
    line-height: 1.3;
  }
  .btn-footer-alvark {
    display: none;
  }
  .btn-balloon-alvark,
  .upper {
    width: 30%;
  }
  .upper img {
    height: auto;
  }
  #footer .footer-clear {
    width: 100%;
    margin: 0;
  }
  #footer .footer-info {
    float: none;
    margin: 0 auto;
  }
  #footer .privacy-mark {
    float: none;
    padding: 0;
    width: 110px;
    margin: 20px auto;
  }
}

/* =================================
  スマホ縦 414px
================================= */
@media only screen and (max-width: 414px) {
  #b-about {
    background: none;
  }
  #b-about .btn-top {
    background: none;
  }
  #b-about .btn-top,
  #b-about .btn-top img {
    width: 300px;
    height: 45px;
    margin: 20px auto;
  }
  #b-about .btn-top:hover img {
    opacity: 1;
  }
  #b-business .inner {
    width: 100%;
  }
  .list-business {
    width: 90%;
    margin: 0 auto;
  }
  .list-business li {
    width: 48%;
  }
  .list-business li .box-over {
    display: none;
  }
  .list-business li a:hover .box-over {
    opacity: 0;
  }
  #b-information .wrap-info {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #b-information .box-info {
    width: 100%;
    margin-bottom: 80px;
  }
  #b-information .box-info h3 {
    width: inherit;
    top: -56px;
  }
  #b-information .box-info .thumbnail {
    min-height: 237px;
  }
  #b-office .btn-top {
    background: none;
  }
  #b-office .btn-top,
  #b-office .btn-top img {
    width: 300px;
    height: 45px;
    margin: 20px auto;
  }
  #b-office .btn-top:hover img {
    opacity: 1;
  }
  .list-office li {
    height: 188px;
  }
  .list-office li .list-inner {
    height: 180px;
  }
  #b-office .btn-map {
  }
  #footer-img {
    min-height: 300px;
  }
  #footer .footer-info {
    width: 90%;
  }
  #fnav {
    width: 95%;
    margin: 10px auto;
  }
  /* 下層 */
  header #sub-img {
    padding: 10px 0;
  }
  header #sub-img .site-id {
    width: 50%;
  }
  #sub-img address {
    font-size: 14px;
    margin: 0;
  }
  #sub-img .header-tel {
    font-size: 18px;
    letter-spacing: 0;
  }
  .pagenav p {
    max-width: 40%;
  }
  #sidebar {
    margin: 40px auto;
    max-width: 95%;
  }
  #sidebar .magazine,
  #sidebar .news,
  #sidebar .side-bnr {
    float: none;
    max-width: none;
  }
  #main .box-office .thumbnail {
    float: none;
    margin: 0 0 20px 0;
  }
  #main .box-office .btn {
    width: 45%;
  }
  .box-services {
    width: 100%;
  }
  .table-style01 th,
  .table-style01 td {
    width: 100%;
    box-sizing: border-box;
    display: block;
    text-align: left;
  }
  .table-style02 th,
  .table-style02 td {
    width: 100%;
    box-sizing: border-box;
    display: block;
    text-align: left;
  }
  #main .box-form .tel-fd {
    padding: 10px 0;
  }
}