.sp390, .sp320 {
  display: none
}
@media screen and (min-width: 1921px) {
  #gnavi {
    max-width: 1920px;
    left: 50%;
    transform: translateX(-50%)
  }
  header {
    margin: 0 auto;
    max-width: 1920px
  }
  .to-top {
    right: calc(50% - 930px)
  }
}
@media screen and (min-width: 751px) {
  #lightboxOverlay, #lightbox {
    min-width: var(--content-width) !important;
    width: 100% !important
  }
  .sp {
    display: none !important
  }
  a:hover {
    text-decoration: none
  }
  .to-top a:hover, .list_post01 p a:hover, .list_post02 p a:hover {
    opacity: .7
  }
  .list_post02 p a:hover, .f_menu ul li a:hover {
    color: var(--color-clr01) !important
  }
  .list-nav .has-nav:hover .sub-nav-wrap {
    opacity: 1;
    visibility: visible
  }
  .list-nav .sub-nav a:hover, .s01_post p a:hover, .f_menu dl dd a:hover, .list-nav .nav-item.active .nav-link, .list-nav .has-nav:hover .nav-link {
    color: var(--color-primary)
  }
  .list-nav .sub-nav a:hover:before, .f_menu dl dd a:hover:before {
    background-color: var(--color-primary)
  }
  .list-nav .has-nav:hover .en:after, .list-nav .nav-link:hover .jp:after, .list-nav .nav-item.active .jp:after {
    opacity: 1
  }
  .list-nav .nav-link:hover .jp:after, .list-nav .nav-item.active .jp:after {
    width: 20px;
  }
  .list-nav .nav-link:hover .jp {
    color: var(--color-clr01);
  }
  .btn01 a:hover {
    background-color: var(--color-primary);
    color: #fff !important
  }
  .s03_dl .slick-slide:hover img {
    opacity: 1;
  }
  .f_bnr p a:hover {
    background: rgba(255, 255, 255, .3)
  }
  .footer02 .f_menu ul li a:hover {
    color: var(--color-primary);
    text-decoration: none
  }
  .list_post02 p:first-child {
    float: left;
    margin-bottom: 0;
  }
  .list_post02 p:first-child a {
    flex-direction: column;
    min-height: 624px;
  }
  .list_post02 p:first-child .img {
    height: 378px;
    width: 100%;
    margin: 0 0 20px;
  }
  .ic_tel:after {
    position: absolute;
    top: 0;
    right: 50%;
    height: 100%;
    width: 150px;
    border-radius: 99px 0 0 99px;
    content: '0942.909.959';
    display: flex;
    align-items: center;
    background: var(--color-clr01);
    color: #ffffff;
    font-size: 28px;
    font-weight: bold;
    padding-left: 20px;
    transition: 0.5s all;
    opacity: 0;
    visibility: hidden;
  }
  .ic_tel:hover:after {
    opacity: 1;
    width: 250px;
    visibility: visible;
  }
}
@media screen and (min-width: 751px)and (max-width: 1800px) {
  #home #top_info {
    background-size: cover;
    height: 99vh
  }
  #home #top_info h2 {
    right: 40px
  }
  .s03_box {
    padding-left: 20px;
    padding-right: 20px
  }
  .s02_dl .sec02_wrap {
    padding: 80px 50px 50px;
    min-height: 500px
  }
  .s02_dl .sec02_wrap h4 {
    font-size: 32px
  }
  .s02_dl .sec02_wrap h4 .cus_dis {
    display: block
  }
  .s02_dl dl:nth-child(odd) .sec02_wrap:after {
    left: -40px;
    right: auto
  }
  .s02_dl dd {
    margin-left: -45px
  }
  .s02_dl dl:nth-child(odd) dd {
    margin-left: auto;
    margin-right: -45px
  }
  .s02_dl .sec02_wrap .s02_txt01 {
    font-size: 16px
  }
  .s03_dl dl dd .s03_en {
    font-size: min(1vw, 15px)
  }
  .s03_dl dl dd .s03_jp {
    font-size: 26px;
    min-height: 70px
  }
}
@media screen and (min-width: 751px)and (max-width: 1560px) {
  header .btn_tel {
    width: 300px
  }
  header .btn_tel a {
    height: 70px;
    font-size: 14px
  }
  header .btn_tel a .num {
    font-size: 32px
  }
  #head_top h1 {
    width: 350px
  }
  #home #top_info h2 {
    font-size: 34px
  }
  #home #top_info h2 span {
    width: auto !important;
    height: auto !important;
    padding: 5px 20px
  }
  .list-nav .nav-item {
    padding: 0 30px
  }
  .box_tit h3 {
    font-size: 90px
  }
  #sec01 .inner {
    max-width: 1240px;
    padding: 0 20px
  }
  .s01_post {
    width: calc((100% - 40px)/2);
    padding: 50px 30px
  }
  .s02_dl .sec02_wrap h4 {
    font-size: 28px
  }
}
@media screen and (min-width: 751px)and (max-width: 1460px) {
  #gnavi, #gnavi .inner {
    height: 100px
  }
  .list-nav .sub-nav-wrap {
    padding-top: 24px
  }
  .s02_dl dt {
    width: calc(45% + 107.5px)
  }
  .s02_dl dd {
    width: calc(55% - 142.5px)
  }
}
@media screen and (min-width: 751px)and (max-width: 1300px) {
  header .btn_tel {
    width: 330px
  }
  .list-nav .nav-item {
    padding: 0 25px
  }
  .s02_dl .sec02_wrap h4 {
    font-size: 25px;
    margin-bottom: 20px
  }
  .s03_dl dl dd {
    min-height: inherit
  }
  .s03_dl dl dd .s03_en {
    font-size: 12px
  }
}
.sp430 {
  display: none
}
@media screen and (min-width: 1px)and (max-width: 750px) {
  .list_post02 p:first-child .txt {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    width: 100%;
  }
  p, blockquote, th, td, pre, address, li, dt, dd {
    font-size: 160%
  }
  #wrapper {
    min-width: unset !important
  }
  .pc {
    display: none !important
  }
  * {
    column-gap: 0px !important;
    row-gap: 0px !important
  }
  .inner {
    width: 100%;
    padding-left: 3%;
    padding-right: 3%
  }
  #menu-toggle {
    display: block
  }
  #gnavi {
    --offset: 70px;
    position: fixed;
    z-index: 50;
    top: var(--offset) !important;
    left: 0;
    width: 100%;
    height: calc(100% - var(--offset));
    padding-bottom: 100px;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: all .3s;
    background: rgba(255, 255, 255, .95)
  }
  #gnavi .inner {
    width: 100%;
    height: auto;
    padding: 0 3%;
    flex-direction: column;
    align-items: center
  }
  body.open-nav #gnavi {
    opacity: 1;
    visibility: visible
  }
  .list-nav {
    display: block;
    width: 100% !important;
    padding: 10px 0 !important;
  }
  .list-nav .nav-item {
    padding: 0 !important;
    border-bottom: solid 1px #fff
  }
  .list-nav .nav-item:before, .list-nav .nav-item:after {
    display: none
  }
  .list-nav .nav-item .nav-link {
    padding: 10px 15px !important;
    position: relative;
    display: block;
    text-align: left;
    border-bottom: #ccc 1px solid;
    width: 100%;
    word-break: keep-all;
  }
  .list-nav .has-nav .nav-link:after {
    content: "";
    width: 0;
    height: 0;
    border-top: 6px solid rgba(0, 0, 0, 0);
    border-bottom: 6px solid rgba(0, 0, 0, 0);
    border-left: 10px solid #315b4a;
    position: absolute;
    z-index: 1;
    right: 15px;
    top: calc(50% - 5px);
    transform: rotate(90deg);
    display: block
  }
  .list-nav .has-nav .nav-link.open:after {
    transform: rotate(270deg)
  }
  .list-nav .sub-nav-wrap {
    display: none
  }
  .list-nav .sub-nav-wrap {
    padding: 0 !important;
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    transform: none;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transition: none
  }
  .list-nav .sub-nav {
    padding: 20px;
    box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    background: #fff9eb
  }
  .list-nav .sub-nav a {
    font-size: 14px
  }
  .list-nav .sub-nav a:before {
    top: 5px
  }
  .list-nav .nav-link .jp {
    margin-bottom: 0;
  }
  header {
    padding: 0;
    z-index: 10
  }
  body.open-nav #head_top {
    background: rgba(255, 255, 255, .9);
    border-bottom: var(--color-primary) 1px solid
  }
  #head_top {
    position: fixed;
    height: 70px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: .2s all
  }
  #head_top.bg {
    background: rgba(255, 255, 255, .9);
    border-bottom: var(--color-primary) 1px solid
  }
  #head_top h1 {
    width: 60px
  }
  #head_top .list_btn {
    position: fixed;
    bottom: -100px;
    left: 0;
    z-index: 5;
    width: 100%;
    transition: .3s all;
    display: none;
  }
  #head_top .list_btn p:not(:last-child) {
    margin: 0
  }
  #head_top .list_btn .btn_tel {
    width: 50%
  }
  #head_top .list_btn .btn_tel a {
    font-size: 10px;
    height: 50px
  }
  #head_top .list_btn .btn_tel a:before {
    background-size: 16px auto
  }
  #head_top .list_btn .btn_tel a .num {
    font-size: 16px
  }
  #head_top.bg .list_btn {
    bottom: 0
  }
  #home #top_info {
    background: none;
    height: 116vw;
    max-height: inherit
  }
  #home #top_info h2 {
    font-size: 22px;
    letter-spacing: 0;
    width: 100%;
    text-align: center;
  }
  #home #top_info h2 span {
    font-size: 24px;
    padding: 5px 20px;
  }
  #home #top_info .main_cat {
    left: 5vw;
    top: 60%;
  }
  #home #top_info ul li {
    font-size: 14px;
    padding: 6px 10px 7px 35px;
    max-width: 200px;
    background-size: 20px auto;
  }
  .slide_main {
    height: 116vw
  }
  .slide_main .slider01 {
    background: url("../images/idx_main01_sp.jpg") center bottom no-repeat;
    background-size: cover
  }
  .slide_main .slider02 {
    background: url("../images/idx_main02_sp.jpg") center center no-repeat;
    background-size: cover
  }
  .slide_main .slider03 {
    background: url("../images/idx_main03_sp.jpg") center center no-repeat;
    background-size: cover
  }
  .box_tit {
    margin-bottom: 30px
  }
  .box_tit .sub_tit3 {
    font-size: 24px;
    margin-bottom: 0;
    padding-bottom: 10px;
    letter-spacing: 0
  }
  .box_tit .sub_tit3:before {
    width: 100%;
    max-width: 300px
  }
  .box_tit h3 {
    font-size: 40px
  }
  .btn01 a {
    font-size: 14px
  }
  .btn_tel a {
    height: 80px
  }
  .btn_tel a .num {
    font-size: 30px
  }
  h3.idx_txt01 {
    font-size: min(8vw, 24px);
  }
  #sec01 {
    padding: 40px 0;
  }
  .s01_post {
    width: 100%;
    padding: 20px 10px 20px 20px;
    margin-bottom: 30px
  }
  .list_post01, .list_post02 {
    height: auto;
  }
  .list_post01 p, .list_post02 p {
    font-size: 14px;
    margin-bottom: 20px;
    padding-bottom: 10px
  }
  .list_post01 p .date, .list_post02 p .date {
    width: 110px;
    height: 25px;
    font-size: 14px
  }
  .list_post02 p .img {
    width: 80px;
    height: 80px;
  }
  .list_post02 p {
    width: 100%;
    float: none !important;
    margin-bottom: 10px;
    padding-bottom: 0;
  }
  .list_post02 p a {
    padding: 10px;
  }
  .list_post02 p .cont {
    width: calc(100% - 100px) !important;
  }
  .list_post02 p .txt, .list_post02 p .title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    width: 100%;
  }
  #sec01 .mCSB_scrollTools .mCSB_dragger {
    height: 100px !important
  }
  #sec02 {
    padding: 40px 0;
    margin-bottom: 50px;
  }
  .s02_dl dl, .s02_dl dl:nth-child(odd) {
    flex-direction: column;
    align-items: center
  }
  .s02_dl dl:before {
    width: 97.5%;
    height: 100%;
    right: 0;
    bottom: -90px
  }
  .s02_dl dl:not(:last-child) {
    margin-bottom: 130px
  }
  .s02_dl dt {
    width: 100%
  }
  .s02_dl dd {
    width: 90%;
    margin: -50px auto !important
  }
  .s02_dl .sec02_wrap {
    padding: 80px 25px 30px;
    min-height: auto;
    background-size: 100px auto !important
  }
  .s02_dl .sec02_wrap h4 {
    font-size: 24px;
    margin-bottom: 25px
  }
  .s02_dl .sec02_wrap .s02_tit01 {
    top: -38px;
    left: -10px;
    margin: 0
  }
  .s02_dl .sec02_wrap .s02_tit01 .en {
    font-size: 16px;
    width: 140px;
    height: 30px;
    padding-left: 0;
    padding-bottom: 1px
  }
  .s02_dl .sec02_wrap .s02_tit01 .num {
    font-size: 90px
  }
  .s02_dl .sec02_wrap .s02_txt01 {
    font-size: 16px
  }
  .s02_dl dl:nth-child(odd) .sec02_wrap:after {
    left: -10px;
    right: auto
  }
  #sec03, #sec04 {
    padding: 50px 0;
  }
  .s03_box {
    padding: 40px 10px
  }
  .s03_dl {}
  .s03_dl .slick-slide {
    width: 400px;
  }
  .s03_dl dl {
    position: relative;
    z-index: 1;
  }
  .s03_dl dl dd {
    min-height: inherit
  }
  .s03_dl .slick-dots li {
    margin: 0 5px;
  }
  .s03_dl .slick-dots li button {
    width: 10px;
    height: 10px;
  }
  .s03_dl dl dd {
    padding: 20px;
  }
  .s03_dl dl dd h4 {
    font-size: 20px;
  }
  .s03_dl dl .s03_detail {
    opacity: 1;
    max-height: inherit;
  }
  .s03_dl dl dd p {
    font-size: 12px;
  }
  .s03_info span {
    width: 70px;
    margin-right: 10px;
  }
  footer {
    padding-bottom: 50px
  }
  address {
    font-size: 12px;
    padding: 20px 70px
  }
  .footer01 {
    padding: 40px 0
  }
  .footer01 .flex-space {
    flex-direction: column;
    gap: 30px !important;
  }
  .info_fixed {
    bottom: 10px;
    right: 10px
  }
    .ic_zalo a {
        display: block;
    }
  .ic_tel a,.ic_zalo a,.to-top > a {
    width: 50px;
    height: 50px;
  }
  .ic_tel a img {
    max-width: 50%;
  }
}

@media screen and (max-width: 767px)and (orientation: landscape) {
  #home #top_info h2 {}
}
@media screen and (max-width: 590px) {
  .s04_list {
    padding: 0
  }
}
@media screen and (max-width: 490px) {
  .s03_dl .slick-slide {
    width: 300px;
  }
  .s03_dl {
    flex-direction: column;
    align-items: center
  }
  .s03_dl dl {
    width: 100%;
    margin: 0 0 20px;
    max-width: 350px
  }
  .s03_dl dl:last-child {
    margin-bottom: 0
  }
  .s03_dl dl dd .s03_jp {
    min-height: auto
  }
  .s04_box {
    padding: 30px 5vw 20px
  }
  .s04_list li {
    width: 40vw;
    height: 40vw;
    margin: 1vw;
    padding-top: 8vw
  }
  .s04_list li .icon img {
    height: 12vw
  }
  .s04_list li .tit {
    font-size: 5vw
  }
  .s04_list li:before {
    width: calc(100% - 3vw);
    height: calc(100% - 3vw)
  }
  .footer01 .footer_dl {
    flex-direction: column
  }
  .footer01 .footer_dl dl {
    width: 100%;
    margin-bottom: 10px
  }
  .footer01 .footer_dl dl:last-child {
    margin-bottom: 0
  }
  .footer01 .footer_dl dl .sp {
    display: none
  }
  .footer01 .footer_dl dl dd.f_ic p {
    letter-spacing: -0.02em
  }
}
@media screen and (max-width: 440px) {
  .sp430 {
    display: block
  }
}
@media screen and (max-width: 420px) {
  .s02_dl .sec02_wrap h4 {
    font-size: min(5.2vw, 28px)
  }
  .s02_dl .sec02_wrap h4 .cus_dis {
    display: block
  }
}
@media screen and (max-width: 390px) {
  .sp390 {
    display: block
  }
  .list-nav .sub-nav li {
    width: 100%;
    margin: 0 0 10px !important
  }
  .list-nav .sub-nav li:last-child {
    margin: 0 !important
  }
}
@media screen and (max-width: 360px) {
  .sp320 {
    display: block
  }
  .btn_tel a {
    font-size: 14px
  }
  .btn_tel a .num {
    font-size: 26px
  }
  .footer01 .footer_dl dl .sp {
    display: block
  }
} /*# sourceMappingURL=responsive.css.map */