@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Homenaje&display=swap");

#nav-toggle,
#sp-nav,
.sp_nav,
#sp_btn {
    display: none
}

@media screen and (max-width: 1024px) {
    body {
        font-size: 1.4rem
    }

    #sp_btn {
        display: block;
        position: fixed;
        bottom: 0;
        left: 50%;
        z-index: 20;
        width: 100%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }

    #sp_btn ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding-bottom: 10px;
        margin: 0 auto
    }

    #sp_btn ul li {
        width: 33.3%;
        padding: 0 5px
    }

    #sp_btn ul li a {
        display: block;
        padding: 7px 0;
        text-align: center;
        background: #E3E3E3;
        color: #111;
        font-family: "Font Awesome 5 Free";
        font-weight: 600;
        font-size: 1.4rem;
        line-height: 1.2
    }

    #sp_btn ul li a span {
        display: block;
        font-size: 13px;
        font-family: "YakuHanJP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
        font-weight: 400;
        text-transform: uppercase;
        color: #655046
    }

    .bnr li {
        width: 100%;
        float: none
    }

    #l-header .inner {
        max-width: 100%;
        margin: 0;
        display: block;
        min-width: inherit
    }

    #l-header .inner #logo {
        width: 190px;
        text-align: left;
        margin-left: 5px;
        padding: 4px 0
    }

    #l-header #tel {
        display: none
    }

    .fleft0,
    .fleft1,
    .fleft2,
    .fright0,
    .fright1,
    .fright2 {
        display: block;
        float: none;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 15px
    }

    #header_nav {
        display: none
    }

    #flash {
        width: 100%;
        height: auto
    }

    .footer_navi {
        display: none
    }

    .single,
    .single01,
    .single03 {
        max-width: initial;
        width: 95%;
        padding: 40px 0
    }

    .single02 {
        padding: 40px 0;
        width: calc(100% - 20px)
    }

    .concept-wrap {
        margin: 30px 0;
        padding: 30px 0
    }

    .concept-wrap .bg-back,
    .concept-wrap .figure {
        width: 100%
    }

    .concept-wrap .concept-inner {
        margin: 0 auto !important
    }

    .concept-wrap .concept-inner .in-wrap {
        float: none;
        width: 95%;
        margin: 0 auto
    }

    .concept-wrap .concept-inner .in-wrap .concept-box {
        width: 100%;
        padding: 5%;
        margin: auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

    .concept-wrap .concept-inner .in-wrap .concept-box .conts-ttl {
        font-size: 2rem
    }

    .bg_top_bnr .inner,
    .bg_contact .inner {
        padding: 30px 0
    }

    .page_title_box {
        padding: 90px 0 0
    }

    .breadcrumb_box .breadcrumb {
        width: 95%
    }

    #nav-toggle {
        display: block;
        position: fixed;
        top: 10px;
        right: 10px;
        height: 60px;
        cursor: pointer;
        background: rgba(240, 240, 240, 0.7);
        padding: 15px
    }

    #nav-toggle>div {
        position: relative;
        width: 35px
    }

    #nav-toggle>div>p {
        position: absolute;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        top: 25px;
        font-size: 11px;
        text-align: center;
        color: #222;
        font-weight: 600;
        text-transform: uppercase;
        font-family: "YakuHanJP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
        font-weight: 400;
        text-transform: uppercase
    }

    #nav-toggle span {
        width: 100%;
        height: 1px;
        left: 0;
        display: block;
        background: #111;
        position: absolute;
        -webkit-transition: top 0.5s ease, -webkit-transform 0.6s ease-in-out;
        transition: top 0.5s ease, -webkit-transform 0.6s ease-in-out;
        transition: transform 0.6s ease-in-out, top 0.5s ease;
        transition: transform 0.6s ease-in-out, top 0.5s ease, -webkit-transform 0.6s ease-in-out
    }

    #nav-toggle span:nth-child(1) {
        top: 0
    }

    #nav-toggle span:nth-child(2) {
        top: 10px
    }

    #nav-toggle span:nth-child(3) {
        top: 20px
    }

    #nav-toggle:hover span:nth-child(1) {
        top: 0px
    }

    #nav-toggle:hover span:nth-child(3) {
        top: 20px
    }

    .open #nav-toggle span:nth-child(1) {
        top: 15px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }

    .open #nav-toggle span:nth-child(2) {
        top: 15px;
        width: 0;
        left: 50%
    }

    .open #nav-toggle span:nth-child(3) {
        top: 15px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }

    #nav-toggle {
        z-index: 1000
    }

    #container {
        z-index: 900
    }

    #sp-nav {
        background: #f0f0f0;
        color: #222;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 990;
        text-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        visibility: hidden;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        opacity: 0;
        -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
        transition: opacity 0.4s ease, visibility 0.4s ease
    }

    #sp-nav a {
        display: block;
        color: #655046;
        text-decoration: none;
        padding: 10px 0;
        -webkit-transition: color 0.4s ease;
        transition: color 0.4s ease;
        font-weight: 700
    }

    #sp-nav a span {
        display: block;
        font-family: "YakuHanJP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
        font-weight: 400;
        text-transform: uppercase;
        color: #053d75
    }

    #sp-nav a:hover {
        color: #666
    }

    #sp-nav .dropdown {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 0 10px
    }

    #sp-nav .dropdown .dropdown-li {
        width: 48%;
        margin-bottom: 4px;
        -webkit-transition: none;
        transition: none
    }

    #sp-nav .dropdown .dropdown-li a {
        font-size: 12px;
        letter-spacing: 0;
        background: #053d75;
        color: #fff;
        display: blcok;
        height: 100%
    }

    #sp-nav ul {
        list-style: none
    }

    #sp-nav ul li {
        opacity: 0;
        -webkit-transform: translateX(200px);
        transform: translateX(200px);
        -webkit-transition: opacity 0.2s ease, -webkit-transform 0.3s ease;
        transition: opacity 0.2s ease, -webkit-transform 0.3s ease;
        transition: transform 0.3s ease, opacity 0.2s ease;
        transition: transform 0.3s ease, opacity 0.2s ease, -webkit-transform 0.3s ease
    }

    #sp-nav ul li:nth-child(2) {
        -webkit-transition-delay: 0.1s;
        transition-delay: 0.1s
    }

    #sp-nav ul li:nth-child(3) {
        -webkit-transition-delay: 0.2s;
        transition-delay: 0.2s
    }

    #sp-nav ul li:nth-child(4) {
        -webkit-transition-delay: 0.3s;
        transition-delay: 0.3s
    }

    #sp-nav ul li:nth-child(5) {
        -webkit-transition-delay: 0.4s;
        transition-delay: 0.4s
    }

    #sp-nav ul li:nth-child(6) {
        -webkit-transition-delay: 0.5s;
        transition-delay: 0.5s
    }

    #sp-nav ul li:nth-child(7) {
        -webkit-transition-delay: 0.6s;
        transition-delay: 0.6s
    }

    #sp-nav ul li:nth-child(8) {
        -webkit-transition-delay: 0.65s;
        transition-delay: 0.65s
    }

    #sp-nav ul li:nth-child(9) {
        -webkit-transition-delay: 0.7s;
        transition-delay: 0.7s
    }

    #sp-nav ul li:nth-child(10) {
        -webkit-transition-delay: 0.75s;
        transition-delay: 0.75s
    }

    .open {
        overflow: hidden
    }

    .open #sp-nav {
        visibility: visible;
        opacity: 1
    }

    .open #sp-nav li {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0);
        -webkit-transition: opacity 0.9s ease, -webkit-transform 1s ease;
        transition: opacity 0.9s ease, -webkit-transform 1s ease;
        transition: transform 1s ease, opacity 0.9s ease;
        transition: transform 1s ease, opacity 0.9s ease, -webkit-transform 1s ease
    }

    .blogBox {
        width: 48%;
        margin: 0 2.5% 15px 0
    }

    .blogBox:nth-child(2n) {
        margin-right: 0
    }

    .blogBox figure {
        height: 140px
    }

    .flex-child2 {
        width: 100%;
        margin: 0 auto 10px
    }

    .flex-child2.column1 {
        width: 100%
    }

    .rsingle,
    .lsingle {
        float: none;
        width: 100%
    }

    .note {
        font-size: 12px
    }

    .lsingle,
    .rsingle {
        float: none;
        width: 100%
    }
}

@media screen and (max-width: 480px) {
    html {
        font-size: 3.125vw
    }

    body {
        font-size: 1.2rem
    }

    .tbl_scroll {
        padding-bottom: 10px;
        overflow: auto;
        white-space: nowrap
    }

    .tbl_scroll::-webkit-scrollbar {
        height: 5px
    }

    .tbl_scroll::-webkit-scrollbar-track {
        background: #f1f1f1
    }

    .tbl_scroll::-webkit-scrollbar-thumb {
        background: #bcbcbc
    }

    .tbl_scroll::-webkit-scrollbar-piece {
        background: #eee
    }

    .tbl_scroll::-webkit-scrollbar-piece:start {
        background: #eee
    }

    .spbr {
        display: block
    }

    .pcbr {
        display: none
    }

    .visual .inner .ballon_parent {
        width: 100%
    }

    .visual .inner .ballon_parent li img {
        width: 45%
    }

    #l-footer {
        text-align: center
    }

    #l-footer .inner .copyright {
        text-align: center;
        font-size: 0.8rem;
        font-weight: normal
    }

    .lsingle {
        margin-bottom: 20px
    }

    .snip_parent {
        padding: 40px 0
    }

    .snip_parent .snip figcaption>div.two h3 {
        font-size: 1.6rem
    }

    .snip_parent .snip figcaption>div.two h3 span {
        font-size: 1.2rem
    }

    .pickup .detail_box {
        padding: 10px
    }

    .pickup .detail_box .bnr_tel {
        width: 95%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

    .page_title_box .page_title {
        font-size: 2.4rem;
        letter-spacing: 0.1rem
    }

    .form {
        width: 100%;
        text-align: left
    }

    .form dl {
        margin: 10px 0
    }

    .form dl dt {
        float: none;
        width: 100%;
        padding-top: 15px
    }

    .form dl dd {
        width: 100%;
        padding-left: 0;
        padding-bottom: 15px;
        padding-top: 10px;
        line-height: 20px
    }

    .form dl dd:last-child {
        border-bottom: 0px;
        margin-bottom: 0px
    }

    .form .textarea,
    .form textarea {
        width: 100%
    }

    .form .textarea.textarea03 {
        width: 35%
    }

    .form .textarea02 {
        width: 43.5%
    }

    .form button {
        width: 95%
    }

    .btn__box {
        width: 100%;
        -webkit-perspective: 200px;
        perspective: 200px
    }

    .btn__box a {
        width: 100%
    }

    .btn__box:after {
        width: 100%;
        width: 100%
    }

    #wrapper {
        overflow-y: hidden
    }

    .form label {
        display: block;
    }
}

