@charset "utf-8";

/* 全体の設定 */
.content{
    font-family: "Noto Sans JP", sans-serif;
    overflow: hidden;
    background-color: #F3F3F3;
}
.flex{
    display: flex;
    align-items: center;
}
.smf_br{
    display: none;
}
.inner{
    max-width: 1220px;
    width: 100%;
    margin: 0 auto;
    padding: 0 10px;
}
.sp{
    display: none;
}

@media only screen and (max-width: 1024px) {
    .smf_br{
        display: block;
    }
    .inner{
        max-width: none;
        padding: 0 6.666666667vw;
    }
}
@media only screen and (max-width: 768px) {
    .pc{
        display: none !important;
    }
    .sp{
        display: block !important;
    }
}

/* パンくず */
#bcn{
    display: flex;
    align-items: center;
    width: 100%;
    height: 70px;
    background-color: #111111;
}
#bcn .breadcrumbs{
    display: flex;
    align-items: center;
    gap: 15px;
}
#bcn .breadcrumbs .item{
    position: relative;
    display: block;
    padding-right: 25px;
}
#bcn .breadcrumbs .item:last-of-type{
    padding: 0;
}
#bcn .breadcrumbs .item::before{
    content: "";
    width: 10px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 55%;
    right: 0;
    transform: translateY(-50%);
}
#bcn .breadcrumbs .item:last-of-type::before{
    display: none;
}
#bcn .breadcrumbs .item a,
#bcn .breadcrumbs .item p{
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.06em;
}
#bcn .breadcrumbs .item a{
    color: #ED6C00;
    text-decoration: underline;
}
#bcn .breadcrumbs .item p{
    color: #fff;
}
@media only screen and (max-width: 768px) {
    #bcn{
        height: auto;
        padding: 2.4vw 0;
    }
    #bcn .breadcrumbs{
        gap: 1.3333333333335vw 3.2vw;
        flex-wrap: wrap;
    }
    #bcn .breadcrumbs .item{
        padding-right: 6.4vw;
    }
    #bcn .breadcrumbs .item::before{
        width: 2.1333333333333333vw;
        top: 55%;
    }
    #bcn .breadcrumbs .item a,
    #bcn .breadcrumbs .item p{
        font-size: 2.66666666666666667vw;
    }
}


/* フォント */
.line-seed{
    font-family: "LINE Seed JP", sans-serif;
}
.heebo{
    font-family: "Heebo", sans-serif;
}
.inter{
    font-family: "Inter", sans-serif;
}
.poppin{
    font-family: "Poppins", sans-serif;
}

/* header
------------------------------*/
#header{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 150;
    transition: all .5s;
    max-height: 100px;
    background: linear-gradient(
        to bottom,
        rgba(17, 17, 17, 0.6) 0%,
        rgba(17, 17, 17, 0) 100%
    );
}
#header.archive,
#header.tax-news-type,
#header.tax-blog-type,
#header.single-news,
#header.single-blog,
#header.page-privacy,
#header.page-contact,
#header.page-delivery-form,
#header.page-terms-of-sales{
    background: linear-gradient(to bottom, rgb(200 55 6 / 60%) 0%, rgba(17, 17, 17, 0) 100%);
}
#header.scrolled {
    max-height: 90px;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
#header .header_ctt{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#header .header_ctt .logo{
    margin: 0 0 0 50px;
}
#header .header_ctt .logo img{
    display: block;
    max-width: 240px;
    width: 100%;
    margin: 15px 0 0;
    transition: all .5s;
}
#header.scrolled .logo img {
    margin: 0;
    max-width: 180px;
    transition: all .5s;
}
#header .header_ctt .right-ctt{
    display: flex;
    align-items: center;
}
#header.scrolled .header_ctt .right-ctt{
    max-height: 90px;
}
#header .header_ctt .right-ctt .list{
    display: flex;
    align-items: center;
    gap: 40px;
    margin-right: 52px;
}
#header .header_ctt .right-ctt .list>li a{
    font-size: 17px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.47;
    color: #fff;
    transition: all .5s;
}
#header.scrolled .header_ctt .right-ctt>.list li a{
    color: #111111;
}
#header .header_ctt .right-ctt .list .parent{
    position: relative;
    transition: all .3s;
}
#header .header_ctt .right-ctt .list .parent .submenu{
    position: absolute;
    top: calc(100% + 20px);
    left: 50%;
    min-width: 140px;
    max-width: 250px;
    width: max-content;
    background-color: #fff;
    padding: 20px;
    border-radius: 5px;
    opacity: 0;
    -webkit-transform: translateX(-50%) translateY(5px);
    transform: translateX(-50%) translateY(5px);
    pointer-events: none;
    transition: all .3s;
}
#header.scrolled .header_ctt .right-ctt .list .parent .submenu{
    top: calc(100% + 40px);
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
#header .header_ctt .right-ctt .list .parent .submenu::before{
    content: "";
    width: 120px;
    height: 120px;
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    z-index: -1;
}
#header .header_ctt .right-ctt .list .parent:hover .submenu{
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: all;
    z-index: 30;
}
#header .header_ctt .right-ctt .list .parent .submenu li a{
    display: block;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.06em;
    margin: 0 0 10px;
    color: #111111;
}
#header .header_ctt .right-ctt .list .parent .submenu li:last-of-type a{
    margin: 0;
}
#header .header_ctt .right-ctt .audit_area{
    position: relative;
    display: flex;
    align-items: stretch;
    margin-right: 30px;
}
#header .header_ctt .right-ctt .audit_area a{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.4;
    width: 150px;
    height: 54px;
}
#header .header_ctt .right-ctt .audit_area .line{
    border-radius: 100vw 0 0 100vw;
    color: #fff;
    background-color: #3CB158;
}
#header .header_ctt .right-ctt .audit_area .line::before{
    content: "";
    width: 25px;
    height: 24px;
    background-image: url(../img/common/line_icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#header .header_ctt .right-ctt .audit_area .contact{
    border-radius: 0 100vw 100vw 0;
    color: #21211F;
    background-color: #FFCB0F;
}
#header .header_ctt .right-ctt .tell_area{
    margin-right: 30px;
    text-align: center;
    color: #fff;
    transition: all .5s;
}
#header.scrolled .header_ctt .right-ctt .tell_area{
    color: #111111;
}
#header .header_ctt .right-ctt .tell_area .tel{
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1.5;
    transition: none;
}
#header .header_ctt .right-ctt .tell_area .tel span{
    font-size: 20px;
    line-height: 1.47;
}
#header .header_ctt .right-ctt .tell_area .note{
    font-size: 13px;
    letter-spacing: 0;
    line-height: 1.46;
    margin: -7px 0 0;
}
#header .header_ctt .right-ctt .menu{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    cursor: pointer;
    transition: all .3s;
    z-index: 100;
    background-color: #ED6C00;
}
#header.scrolled .header_ctt .right-ctt .menu{
    width: 90px;
    height: 90px;
}
#header .header_ctt .right-ctt .menu.is-active{
    background-color: #111111;
    gap: 10px;
}
#header .header_ctt .right-ctt .menu .line{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 44px;
    max-height: 26px;
    height: 100%;
    width: 100%;
}
#header .header_ctt .right-ctt .menu.is-active .line{
    display: block;
}
#header .header_ctt .right-ctt .menu .line span{
    display: block;
    width: 8px;
    height: 8px;
    background-color: #fff;
    border-radius: 50%;
    transition: all .3s;
}
#header .header_ctt .right-ctt .menu.is-active .line span{
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #fff;
    transition: all .3s;
}
#header .header_ctt .right-ctt .menu.is-active .line span:first-of-type{
    top: 50%;
    right: 0;
    left: 0;
    transform: translateY(-50%) rotate(30deg);
}
#header .header_ctt .right-ctt .menu.is-active .line span:nth-of-type(2){
    opacity: 0;
}
#header .header_ctt .right-ctt .menu.is-active .line span:last-of-type{
    top: 50%;
    right: 0;
    left: 0;
    transform: translateY(-50%) rotate(-30deg);
}
#header .header_ctt .right-ctt .menu p{
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.06em;
    line-height: 1.27;
    color: #fff;
}
#header .navmn{
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, z-index 0s linear 0.3s;
    visibility: hidden;
    z-index: -1;
    pointer-events: none;
}
#header .navmn.is-open{
    visibility: visible;
    opacity: 1;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, z-index 0s;
    z-index: 99;
    pointer-events: auto;
}
#header .navmn .navmn_box{
    display: block;
    width: 100vw;
    height: 100vh;
    background-color: #111111;
}
#header .navmn .navmn_box .inner {
    overflow-x: auto;
    height: 100%;
	padding: 0 0 20px;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
#header .navmn .navmn_box .inner::-webkit-scrollbar{
  display: none;
}
#header .navmn .navmn_box .top_nav_ctt{
    padding: 8.5vh 0 0;
    margin: 0 0 65px;
    display: flex;
    justify-content: space-between;
    color: #fff;
}
#header .navmn .navmn_box .top_nav_ctt .left-ctt .logo img{
    display: block;
    max-width: 240px;
    width: 100%;
    margin: 0 0 67px;
}
#header .navmn .navmn_box .top_nav_ctt .left-ctt .name{
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.06em;
    line-height: 1.5;
    margin: 0 0 23px;
}
#header .navmn .navmn_box .top_nav_ctt .left-ctt .address{
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.57;
    margin: 0 0 43px;
}
#header .navmn .navmn_box .top_nav_ctt .left-ctt .note{
    font-size: 12px;
    letter-spacing: 0.06em;
    line-height: 1.83;
}
#header .navmn .navmn_box .top_nav_ctt .right-ctt{
    max-width: 776px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 60px 0;
}
#header .navmn .navmn_box .top_nav_ctt .right-ctt .item .ttl{
    position: relative;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.06em;
    padding: 0 0 20px;
    margin: 0 0 20px;
}
#header .navmn .navmn_box .top_nav_ctt .right-ctt .item .ttl::before{
    content: "";
    width: 20px;
    height: 1px;
    background-color: #FFC400;
    position: absolute;
    bottom: -1px;
    left: 0;
}
#header .navmn .navmn_box .top_nav_ctt .right-ctt .item .mobile-list{
    display: flex;
    gap: 40px;
}
#header .navmn .navmn_box .top_nav_ctt .right-ctt .item ul li,
#header .navmn .navmn_box .top_nav_ctt .right-ctt .item ul li a{
    display: block;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.87;
}
#header .navmn .navmn_box .top_nav_ctt .right-ctt .item ul li a{
    display: inline-block;
}
#header .navmn .navmn_box .top_nav_ctt .right-ctt .item ul li a:hover{
    opacity: 1;
    color: #ED6C00;
}
#header .navmn .navmn_box .top_nav_ctt .right-ctt .item:last-of-type ul li a{
    font-size: 14px;
}
#header .navmn .navmn_box .under_nav_ctt .shop-info{    
    padding: 30px 54px 35px 40px;
    border-radius: 10px;
    background-color: #FFC400;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
    gap: 20px;
    margin: 0 0 50px;
}
#header .navmn .navmn_box .under_nav_ctt .shop-info .ttl_area{
    display: block;
    max-width: 317px;
    width: 100%;
}
#header .navmn .navmn_box .under_nav_ctt .shop-info .ttl_area p{
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 0.01em;
    text-align: center;
    margin: 0 0 17px;
    color: #111111;
}
#header .navmn .navmn_box .under_nav_ctt .shop-info .ttl_area .btn a{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 56px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.06em;
    color: #fff;
    background-color: #111111;
    border-radius: 100vw;
    transition: all .3s;
}
#header .navmn .navmn_box .under_nav_ctt .shop-info .ttl_area .btn a::before{
    content: "";
    width: 22px;
    height: 22px;
    background-image: url(../img/top/searchbtn-arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    transition: all .3s;
}
#header .navmn .navmn_box .under_nav_ctt .shop-info .ttl_area .btn a:hover{
    opacity: 1;
    background-color: #ED6C00;
}
#header .navmn .navmn_box .under_nav_ctt .shop-info .ttl_area .btn a:hover::before{
    background-image: url(../img/top/searchbtn-arrow-hover.svg);
}
#header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt{
    position: relative;
    flex: 1;
    width: 100%;
    display: flex;
    gap: 40px;
}
#header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt .item{
    display: block;
    max-width: none;
    width: 100%;
    flex: 1;
}
#header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt .item .name{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 36px;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.06em;
    border-radius: 5px;
    color: #FBC300;
    background-color: #111111;
    margin: 0 0 23px;
}
#header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt .item ul li{
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 2;
    color: #111111;
}
#header .navmn .navmn_box .under_nav_ctt .list{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}
#header .navmn .navmn_box .under_nav_ctt .list li a{
    position: relative;
    display: block;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: 0 24px;
    color: #fff;
}
#header .navmn .navmn_box .under_nav_ctt .list li a:before{
    content: "";
    width: 1px;
    height: 15px;
    background-color: #fff;
    position: absolute;
    top: 4px;
    right: -1px;
}
#header .navmn .navmn_box .under_nav_ctt .list li:last-of-type a:before{
    display: none;
}
#header .navmn .navmn_box .under_nav_ctt small{
    display: block;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-align: center;
    color: #fff;
}
@media only screen and (max-width: 1750px) {
    #header .header_ctt .logo{
        margin: 0 0 0 30px;
    }
    #header .header_ctt .logo img{
        max-width: 220px;
        margin: 20px 0 0;
    }
    #header.scrolled .logo img {
        max-width: 180px;
        margin: 0;
    }
    #header .header_ctt .right-ctt .list{
        gap: 30px;
        margin-right: 30px;
    }
    #header .header_ctt .right-ctt .list>li a{
        font-size: 16px;
    }
}
@media only screen and (max-width: 1550px) {
    #header{
        max-height: 90px;
    }
    #header .header_ctt .right-ctt .list{
        gap: 20px;
        margin-right: 20px;
    }
    #header .header_ctt .right-ctt .list>li a{
        font-size: 15px;
    } 
    #header .header_ctt .right-ctt .tell_area .tel{
        font-size: 30px;
    }
    #header .header_ctt .right-ctt .tell_area .tel span{
        font-size: 18px;
    }
    #header .header_ctt .right-ctt .tell_area .note{
        font-size: 11px;
        margin: -7px 0 0;
    }
    #header .header_ctt .right-ctt .menu{
        width: 90px;
        height: 90px;
    }
    #header.scrolled .header_ctt .right-ctt .menu{
        width: 85px;
        height: 85px;
    }
}

@media only screen and (max-width: 768px) {
    #header{
        max-height: none;
        background: #fff !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }
    #header.scrolled {
        max-height: none;
        background: #fff !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }
    #header .header_ctt{
        max-height: 17.066666666666666vw;
    }
    #header .header_ctt .logo{
        margin: 0 0 0 4vw;
    }
    #header .header_ctt .logo img{
        max-width: 30.666666666666664vw;
        margin: 0;
    }
    #header .header_ctt .right-ctt{
        position: relative;
    }
    #header .header_ctt .right-ctt::before{
        content: "";
        width: 31.466666666666665vw;
        height: 17.06666666666666666vw;
        background-image: url(../img/top/pickup_animal_icon.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        position: absolute;
        bottom: 0;
        left: -34vw;
    }
    #header .header_ctt .right-ctt .menu,
    #header.scrolled .header_ctt .right-ctt .menu{
        width: 17.066666666666666vw;
        height: 17.066666666666666vw;
        gap: 1.93333333333333333vw;
        padding-top: 1.3333333333333335vw;
    }
    #header .header_ctt .right-ctt .menu .line{
        gap: 1.866666666666667vw;
        max-width: none;
        max-height: none;
        height: auto;
        margin: 0;
    }
    #header .header_ctt .right-ctt .menu.is-active .line{
        height: 3vw;
    }
    #header .header_ctt .right-ctt .menu .line span{
        width: 1.33333333333333335vw;
        height: 1.33333333333333335vw;
    }
    #header .header_ctt .right-ctt .menu.is-active .line span{
        width: 8vw;
        height: 0.533333333333333333333333vw;
    }
    #header .header_ctt .right-ctt .menu.is-active .line span:first-of-type,
    #header .header_ctt .right-ctt .menu.is-active .line span:last-of-type{
        right: 4.5333333333333333333vw;
        left: auto;
    }
    #header .header_ctt .right-ctt .menu p{
        font-size: 2.93333333333333333vw;
    }
    #header .navmn .navmn_box{
        overflow: hidden;
        padding: 21.333333333333336vw 0 13.33333333333334vw;
    }
    #header .navmn .navmn_box .inner{
        overflow-x: auto;
        padding: 0 6.66666666666666667vw;
        height: 100%;
    }
    #header .navmn .navmn_box .top_nav_ctt{
        padding: 0;
        margin: 0 0 13.3333333333333333335vw;
        flex-direction: column-reverse;
        gap: 16.53333333333333vw;
    }
    #header .navmn .navmn_box .top_nav_ctt .right-ctt{
        max-width: none;
        display: block;
    }
    #header .navmn .navmn_box .top_nav_ctt .right-ctt .item{
        padding: 0 0 5.3333333333333334vw;
        margin: 0 0 5.33333333333333333334vw;
        border-bottom: 1px solid #4D4D4D;
    }
    #header .navmn .navmn_box .top_nav_ctt .right-ctt .item .ttl{
        position: relative;
        font-size: 4.5333333333333333vw;
        padding: 0;
        margin: 0;
    }
    #header .navmn .navmn_box .top_nav_ctt .right-ctt .item .ttl::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 3.4vw;
        height: 3.4vw;
        transform: translateY(-50%);
    }
    #header .navmn .navmn_box .top_nav_ctt .right-ctt .item .ttl::after {
        background: none;
    }
    #header .navmn .navmn_box .top_nav_ctt .right-ctt .item .ttl::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 3.2vw;
        height: 0.5333333333333333vw;
        background-color: #EB612A;
        transform: translateY(-50%);
        transition: all .3s;
    }
    #header .navmn .navmn_box .top_nav_ctt .right-ctt .item .ttl::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 1.333333333333333333335vw;
        left: auto;
        width: 0.5333333333333333333vw;
        height: 3.2vw;
        background-color: #EB612A;
        transform: translateY(-50%);
        transition: all .3s;
    }
    #header .navmn .navmn_box .top_nav_ctt .right-ctt .item .ttl.is-sp-open::before {
        transform: translateY(-50%) rotate(90deg);
    }
    #header .navmn .navmn_box .top_nav_ctt .right-ctt .item .mobile-list{
        display: none;
    }
    #header .navmn .navmn_box .top_nav_ctt .right-ctt .item .mobile-list.is-sp-open{
        display: block;
        padding: 4vw 0 0 6.666666666666667vw;
    }
    #header .navmn .navmn_box .top_nav_ctt .right-ctt .item ul li{
        margin: 0 0 2.66666666666667vw;
    }
    #header .navmn .navmn_box .top_nav_ctt .right-ctt .item ul li a{
        font-size: 4vw;
        line-height: 2;
        margin: 0;
    }
    #header .navmn .navmn_box .top_nav_ctt .right-ctt .item:last-of-type ul li a{
        font-size: 3.2vw;
        line-height: 1.5;
    }
    #header .navmn .navmn_box .top_nav_ctt .right-ctt .item:last-of-type ul li:last-child a{
        margin: 0;
    }
    #header .navmn .navmn_box .top_nav_ctt .left-ctt .logo img{
        max-width: 64vw;
        margin: 0 auto 12.4vw;
    }
    #header .navmn .navmn_box .top_nav_ctt .left-ctt .name{
        font-size: 4.8vw;
        text-align: center;
        margin: 0 0 6.4vw;
    }
    #header .navmn .navmn_box .top_nav_ctt .left-ctt .address{
        font-size: 3.73333333333333334vw;
        text-align: center;
        margin: 0 0 6.4vw;
    }
    #header .navmn .navmn_box .top_nav_ctt .left-ctt .note{
        font-size: 3.2vw;
        text-align: center;
    }
    #header .navmn .navmn_box .under_nav_ctt{
        padding: 5.333333333333334vw 0 6.666666666666666667vw;
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info{    
        padding: 0;
        display: block;
        margin: 0 0 10vw;
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .ttl_area{
        max-width: none;
        padding: 5.3333333333333333334vw 0 8.5333333333333333333vw;
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .ttl_area p{
        font-size: 6.666666666666666667vw;
        margin: 0;
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .ttl_area .btn a{
        width: 65.33333333333333333333vw;
        height: 11.554666666666666vw;
        font-size: 3.2vw;
        margin: 0 auto;
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .ttl_area .btn a::before{
        width: 4.53333333333333333333vw;
        height: 4.53333333333333333333vw;
        right: 2.6666666666666666666666667vw;
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt{
        position: relative;
        padding-left: 0;
        display: block;
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt::before{
        display: none;
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt .item{
        max-width: none;
        padding: 5.3333333333334vw;
        border-top: 1px solid #111111;
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt .item .name{
        position: relative;
        font-size: 4.533333333333333333vw;
        display: block;
        text-align: left;
        width: auto;
        height: auto;
        color: #111111;
        background-color: transparent;
        border-radius: 0;
        margin: 0;
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt .item .name::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 3.4vw;
        height: 3.4vw;
        transform: translateY(-50%);
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt .item .name::after {
        background: none;
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt .item .name::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 3.2vw;
        height: 0.5333333333333333vw;
        background-color: #111111;
        transform: translateY(-50%);
        transition: all .3s;
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt .item .name::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 1.333333333333333333335vw;
        left: auto;
        width: 0.5333333333333333333vw;
        height: 3.2vw;
        background-color: #111111;
        transform: translateY(-50%);
        transition: all .3s;
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt .item .name.is-sp-open::before {
        transform: translateY(-50%) rotate(90deg);
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt .item .sp-info{
        display: none;
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt .item .sp-info.is-sp-open{
        display: block;
        padding: 4vw 0 0 4vw;
    }
    #header .navmn .navmn_box .under_nav_ctt .shop-info .shop-ctt .item ul li{
        font-size: 3.733333333333334vw;
    }
    #header .navmn .navmn_box .under_nav_ctt .list{
        flex-wrap: wrap;
        gap: 1.6vw 10.66666666666666666668vw;
        margin: 0 auto 10.66666666666666666668vw;
    }
    #header .navmn .navmn_box .under_nav_ctt .list li a{
        font-size: 3.733333333333333333334vw;
        padding: 0;
    }
    #header .navmn .navmn_box .under_nav_ctt .list li a:before{
        content: "";
        width: 1px;
        height: 4vw;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: -5.33333333333333333334vw;
    }
    #header .navmn .navmn_box .under_nav_ctt small{
        font-size: 3.2vw;
    }
}


/* footer
------------------------------*/
#footer{
    padding: 80px 0 30px;
    color: #fff;
    background-color: #111111;
}
#footer .footer_ctt .top_nav_ctt{
    margin: 0 0 65px;
    display: flex;
    justify-content: space-between;
}
#footer .footer_ctt .top_nav_ctt .left-ctt .logo img{
    display: block;
    max-width: 240px;
    width: 100%;
    margin: 0 0 67px;
}
#footer .footer_ctt .top_nav_ctt .left-ctt .name{
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.06em;
    line-height: 1.5;
    margin: 0 0 23px;
}
#footer .footer_ctt .top_nav_ctt .left-ctt .address{
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.57;
    margin: 0 0 43px;
}
#footer .footer_ctt .top_nav_ctt .left-ctt .note{
    font-size: 12px;
    letter-spacing: 0.06em;
    line-height: 1.83;
}
#footer .footer_ctt .top_nav_ctt .right-ctt{
    max-width: 776px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 60px 0;
}
#footer .footer_ctt .top_nav_ctt .right-ctt .item .ttl{
    position: relative;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.06em;
    padding: 0 0 20px;
    margin: 0 0 20px;
}
#footer .footer_ctt .top_nav_ctt .right-ctt .item .ttl::before{
    content: "";
    width: 20px;
    height: 1px;
    background-color: #FFC400;
    position: absolute;
    bottom: -1px;
    left: 0;
}
#footer .footer_ctt .top_nav_ctt .right-ctt .item .mobile-list{
    display: flex;
    gap: 40px;
}
#footer .footer_ctt .top_nav_ctt .right-ctt .item ul li,
#footer .footer_ctt .top_nav_ctt .right-ctt .item ul li a{
    display: block;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.87;
    transition: all .3s;
}
#footer .footer_ctt .top_nav_ctt .right-ctt .item ul li a{
    display: inline-block;
}
#footer .footer_ctt .top_nav_ctt .right-ctt .item ul li a:hover{
    color: #ED6C00;
    opacity: 1;
}
#footer .footer_ctt .top_nav_ctt .right-ctt .item:last-of-type ul li a{
    font-size: 14px;
}
#footer .footer_ctt .under_nav_ctt .shop-info{    
    padding: 30px 54px 35px 40px;
    border-radius: 10px;
    background-color: #FFC400;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px 0;
    margin: 0 0 50px;
}
#footer .footer_ctt .under_nav_ctt .shop-info .ttl_area{
    display: block;
    max-width: 317px;
    width: 100%;
}
#footer .footer_ctt .under_nav_ctt .shop-info .ttl_area p{
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 0.01em;
    text-align: center;
    margin: 0 0 17px;
    color: #111111;
}
#footer .footer_ctt .under_nav_ctt .shop-info .ttl_area .btn a{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 56px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.06em;
    color: #fff;
    background-color: #111111;
    border-radius: 100vw;
}
#footer .footer_ctt .under_nav_ctt .shop-info .ttl_area .btn a::before{
    content: "";
    width: 22px;
    height: 22px;
    background-image: url(../img/top/searchbtn-arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    transition: all .3s;
}
#footer .footer_ctt .under_nav_ctt .shop-info .ttl_area .btn a:hover{
    opacity: 1;
    background-color: #ED6C00;
}
#footer .footer_ctt .under_nav_ctt .shop-info .ttl_area .btn a:hover::before{
    background-image: url(../img/top/searchbtn-arrow-hover.svg);
}
#footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt{
    position: relative;
    flex: 1;
    width: 100%;
    padding: 0;
    display: flex;
    justify-content: space-between;
    gap: 40px;
}
#footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt .item{
    display: block;
    max-width: none;
    flex: 1;
    width: 100%;
}
#footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt .item .name{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 36px;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.06em;
    border-radius: 5px;
    color: #FBC300;
    background-color: #111111;
    margin: 0 0 23px;
}
#footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt .item ul li{
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 2;
    color: #111111;
}
#footer .footer_ctt .under_nav_ctt .list{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}
#footer .footer_ctt .under_nav_ctt .list li a{
    position: relative;
    display: block;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: 0 24px;
    color: #fff;
}
#footer .footer_ctt .under_nav_ctt .list li a:before{
    content: "";
    width: 1px;
    height: 15px;
    background-color: #fff;
    position: absolute;
    top: 4px;
    right: -1px;
}
#footer .footer_ctt .under_nav_ctt .list li:last-of-type a:before{
    display: none;
}
#footer .footer_ctt .under_nav_ctt small{
    display: block;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-align: center;
    color: #fff;
}
@media only screen and (max-width: 768px) {
    #footer{
        padding: 10.6666666666666666666668vw 0 16vw;
    }
    #footer .footer_ctt .top_nav_ctt{
        padding: 0;
        margin: 0 0 13.3333333333333335vw;
        flex-direction: column-reverse;
        gap: 16.53333333333333vw;
    }
    #footer .footer_ctt .top_nav_ctt .right-ctt{
        max-width: none;
        display: block;
    }
    #footer .footer_ctt .top_nav_ctt .right-ctt .item{
        padding: 0 0 5.3333333333333334vw;
        margin: 0 0 5.33333333333333333334vw;
        border-bottom: 1px solid #4D4D4D;
    }
    #footer .footer_ctt .top_nav_ctt .right-ctt .item .ttl{
        position: relative;
        font-size: 4.5333333333333333vw;
        padding: 0;
        margin: 0;
    }
    #footer .footer_ctt .top_nav_ctt .right-ctt .item .ttl::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 3.4vw;
        height: 3.4vw;
        transform: translateY(-50%);
    }
    #footer .footer_ctt .top_nav_ctt .right-ctt .item .ttl::after {
        background: none;
    }
    #footer .footer_ctt .top_nav_ctt .right-ctt .item .ttl::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 3.2vw;
        height: 0.5333333333333333vw;
        background-color: #EB612A;
        transform: translateY(-50%);
        transition: all .3s;
    }
    #footer .footer_ctt .top_nav_ctt .right-ctt .item .ttl::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 1.333333333333333333335vw;
        left: auto;
        width: 0.5333333333333333333vw;
        height: 3.2vw;
        background-color: #EB612A;
        transform: translateY(-50%);
        transition: all .3s;
    }
    #footer .footer_ctt .top_nav_ctt .right-ctt .item .ttl.is-sp-open::before {
        transform: translateY(-50%) rotate(90deg);
    }
    #footer .footer_ctt .top_nav_ctt .right-ctt .item .mobile-list{
        display: none;
    }
    #footer .footer_ctt .top_nav_ctt .right-ctt .item .mobile-list.is-sp-open{
        display: block;
        padding: 4vw 0 0 6.666666666666667vw;
    }
    #footer .footer_ctt .top_nav_ctt .right-ctt .item ul li{
        margin: 0 0 2.666666666666667vw;
    }
    #footer .footer_ctt .top_nav_ctt .right-ctt .item ul li a{
        font-size: 4vw;
        line-height: 2;
        margin: 0;
    }
    #footer .footer_ctt .top_nav_ctt .right-ctt .item:last-of-type ul li a{
        font-size: 3.2vw;
        line-height: 1.5;
        margin: 0;
    }
    #footer .footer_ctt .top_nav_ctt .right-ctt .item:last-of-type ul li:last-child a{
        margin: 0;
    }
    #footer .footer_ctt .top_nav_ctt .left-ctt .logo img{
        max-width: 64vw;
        margin: 0 auto 12.4vw;
    }
    #footer .footer_ctt .top_nav_ctt .left-ctt .name{
        font-size: 4.8vw;
        text-align: center;
        margin: 0 0 6.4vw;
    }
    #footer .footer_ctt .top_nav_ctt .left-ctt .address{
        font-size: 3.73333333333333334vw;
        text-align: center;
        margin: 0 0 6.4vw;
    }
    #footer .footer_ctt .top_nav_ctt .left-ctt .note{
        font-size: 3.2vw;
        text-align: center;
    }
    #footer .footer_ctt .under_nav_ctt{
        padding: 5.333333333333334vw 0 6.666666666666666667vw;
    }
    #footer .footer_ctt .under_nav_ctt .shop-info{    
        padding: 0;
        display: block;
        margin: 0 0 10vw;
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .ttl_area{
        max-width: none;
        padding: 5.3333333333333333334vw 0 8.5333333333333333333vw;
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .ttl_area p{
        font-size: 6.666666666666666667vw;
        margin: 0;
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .ttl_area .btn a{
        width: 65.33333333333333333333vw;
        height: 11.554666666666666vw;
        font-size: 3.2vw;
        margin: 0 auto;
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .ttl_area .btn a::before{
        width: 4.53333333333333333333vw;
        height: 4.53333333333333333333vw;
        right: 2.6666666666666666666666667vw;
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt{
        position: relative;
        padding-left: 0;
        display: block;
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt::before{
        display: none;
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt .item{
        max-width: none;
        padding: 5.3333333333334vw;
        border-top: 1px solid #111111;
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt .item .name{
        position: relative;
        font-size: 4.533333333333333333vw;
        display: block;
        text-align: left;
        width: auto;
        height: auto;
        color: #111111;
        background-color: transparent;
        border-radius: 0;
        margin: 0;
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt .item .name::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 3.4vw;
        height: 3.4vw;
        transform: translateY(-50%);
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt .item .name::after {
        background: none;
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt .item .name::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 3.2vw;
        height: 0.5333333333333333vw;
        background-color: #111111;
        transform: translateY(-50%);
        transition: all .3s;
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt .item .name::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 1.333333333333333333335vw;
        left: auto;
        width: 0.5333333333333333333vw;
        height: 3.2vw;
        background-color: #111111;
        transform: translateY(-50%);
        transition: all .3s;
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt .item .name.is-sp-open::before {
        transform: translateY(-50%) rotate(90deg);
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt .item .sp-info{
        display: none;
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt .item .sp-info.is-sp-open{
        display: block;
        padding: 4vw 0 0 4vw;
    }
    #footer .footer_ctt .under_nav_ctt .shop-info .shop-ctt .item ul li{
        font-size: 3.733333333333334vw;
    }
    #footer .footer_ctt .under_nav_ctt .list{
        flex-wrap: wrap;
        gap: 1.6vw 10.66666666666666666668vw;
        margin: 0 auto 10.66666666666666666668vw;
    }
    #footer .footer_ctt .under_nav_ctt .list li a{
        font-size: 3.733333333333333333334vw;
        padding: 0;
    }
    #footer .footer_ctt .under_nav_ctt .list li a:before{
        content: "";
        width: 1px;
        height: 4vw;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: -5.33333333333333333334vw;
    }
    #footer .footer_ctt .under_nav_ctt small{
        font-size: 3.2vw;
    }
}

.floating{
    display: none;
}
@media only screen and (max-width: 768px) {
    .floating{
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        display: block;
        z-index: 95;
        opacity: 0;
        transition: all .5s;
    } 
    .floating.is-active{
        opacity: 1;
    }
    .floating .cta-list{
        display: flex;
        align-items: stretch;
        justify-content: space-between;
    }
    .floating .cta-list .item{
        position: relative;
        display: block;
        font-size: 14px;
        font-weight: bold;
        text-align: center;
        letter-spacing: 0.04em;
        padding: 6px 0 6px;
        width: calc( 100% / 3 );
        max-height: 16vw;
        height: 100%;
        border: 1px solid #111111;
    }
    .floating .cta-list .item .icon{
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
        width: 6.13333333333333333333vw;
        height: 6.1333333333333333333vw;
    }
    .floating .cta-list .item .icon img{
        margin: 0 auto;
    }
    .floating .cta-list .tell-c{
        color: #1A1A1A;
        background-color: #ED6C01;
        border-right: none;
    }
    .floating .cta-list .tell-c .icon img{
        width: 4.8vw;
        height: 4.8vw;
    }    
    .floating .cta-list .line-c{
        color: #fff;
        background-color: #4EB968;
        border-right: none;
    }
    .floating .cta-list .line-c .icon img{
        width: 5.333333333333333334vw;
        height: 5.333333333333333334vw;
    }
    .floating .cta-list .mail-c{
        color: #111111;
        background-color: #FBCF2E;
    }
    .floating .cta-list .mail-c .icon img{
        width: 5.8666666666666666666vw;
        height: 4vwvw;
    }
    .floating .cta-list .item p{
        font-size: 3.7333333333333334vw;
        font-weight: bold;
        text-align: center;
        letter-spacing: 0.04em;
    }
    .floating .top-icon{
        padding: 0 10px 10px 0;
    }
    .floating .top-icon a,
    .floating .top-icon a:hover{
        opacity: 1;
    }
    .floating .top-icon img{
        display: block;
        width: 9.6vw;
        height: 9.6vw;
        margin: 0 0 0 auto;
    }
}


/* cta */
#cta{
    padding: 80px 0 95px;
    background-image: url(../img/top/cta_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-bottom: 2px solid #111;
}
#cta .ttl_area{
    text-align: center;
    margin: 0 auto 30px;
    color: #111111;
}
#cta .ttl_area p{
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1.63;
}
#cta .ttl_area h2{
    font-size: 66px;
    font-weight: bold;
    letter-spacing: 0;
}
#cta .cta-ctt{
    display: flex;
    justify-content: space-between;
    padding: 55px 55px 50px 50px;
    margin: 0 0 60px;
    background-color: #fff;
    border: 1px solid #111111;
    border-radius: 10px;
}
#cta .cta-ctt .item .txt{
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.08em;
    margin: 0 0 20px;
    color: #111111;
}
#cta .cta-ctt .tel-info{
    padding-right: 38px;
}
#cta .cta-ctt .tel-info .txt{
    margin: 0;
}
#cta .cta-ctt .tel-info .ttl{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: 58px;
    font-weight: bold;
    letter-spacing: -0.01em;
    color: #222222;
}
#cta .cta-ctt .tel-info .ttl::before{
    content: "";
    width: 39px;
    height: 39px;
    background-image: url(../img/top/tell-icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: rotate(9deg);
}
#cta .cta-ctt .tel-info .small{
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.08em;
    color: #222222;
    margin: -12px 0 0;
}
#cta .cta-ctt .online-info{
    display: block;
    max-width: 400px;
    width: 100%;
    padding: 0 30px;
    border-right: 1px dashed #032A38;
    border-left: 1px dashed #032A38;
}
#cta .cta-ctt .online-info .online-btn a{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    max-width: 340px;
    width: 100%;
    height: 80px;
    border-radius: 10px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.06em;
    color: #fff;
    background-color: #ED6C01;
}
#cta .cta-ctt .online-info .online-btn a::before{
    content: "";
    width: 39px;
    height: 28px;
    background-image: url(../img/top/mail-icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#cta .cta-ctt .line-info{
    display: block;
    max-width: 240px;
    width: 100%;
    padding-left: 30px;
}
#cta .cta-ctt .line-info .line-btn a{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 210px;
    width: 100%;
    height: 80px;
    border-radius: 10px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.06em;
    color: #fff;
    background-color: #3CB157;
}
#cta .cta-ctt .line-info .line-btn a::before{
    content: "";
    width: 37px;
    height: 35px;
    background-image: url(../img/top/line-icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
@media only screen and (max-width: 1024px) {
#cta .ttl_area p {
    font-size: 24px;
}
#cta .ttl_area h2 {
    font-size: 42px;
}
#cta .cta-ctt {
    padding: 20px 10px;
    margin: 0 0 10px;
}
#cta .cta-ctt .tel-info {
    padding-right: 10px;
	width: 25%;
}
#cta .cta-ctt .online-info {
    padding: 0 10px;
	width: 37.5%;
}
#cta .cta-ctt .line-info {
    padding-left: 10px;
	width: 37.5%;
}
#cta .cta-ctt .item .txt {
    font-size: 16px;
    letter-spacing: 0;
    margin: 0 0 10px;
}
#cta .cta-ctt .tel-info .ttl {
    gap: 4px;
    font-size: 21px;
    letter-spacing: -0.01em;
}
#cta .cta-ctt .tel-info .ttl::before {
    width: 18px;
    height: 18px;
}
#cta .cta-ctt .tel-info .small {
    font-size: 10px;
    letter-spacing: 0;
    margin: -2px 0 0;
}
#cta .cta-ctt .online-info .online-btn a {
    gap: 10px;
    max-width: 340px;
    width: 100%;
    height: 60px;
    font-size: 16px;
    letter-spacing: 0;
}
#cta .cta-ctt .online-info .online-btn a::before {
    width: 19.5px;
    height: 14px;
}
#cta .cta-ctt .line-info .line-btn a {
    gap: 10px;
    max-width: 210px;
    width: 100%;
    height: 60px;
    font-size: 16px;
    letter-spacing: 0;
}
#cta .cta-ctt .line-info .line-btn a::before {
    width: 19.5px;
    height: 18.5px;
}
}
@media only screen and (max-width: 768px) {
    #cta{
        padding: 16vw 0 18.6668vw;
        background-image: url(../img/top/feature_sp-bg.jpg);
    }
    #cta .ttl_area{
        margin: 0 auto 5.3333334vw;
    }
    #cta .ttl_area p{
        font-size: 3.46666666666666663vw;
        text-align: center;
        margin: 0 -1.33333333333335vw 2.6666666666666666666667vw;
    }
    #cta .ttl_area h2{
        font-size: 8vw;
        line-height: 1.27;
        text-align: center;
    }
    #cta .cta-ctt{
        display: block;
        padding: 5.3333333333333334vw 5.333333333333334vw 6.666666666666667vw;
        margin: 0;
    }
    #cta .cta-ctt .item .txt{
        font-size: 3.73333333333333334vw;
        margin: 0 0 2.66666666666666667vw;
    }
    #cta .cta-ctt .tel-info{
        padding-right: 0;
        width: 100%;
        margin: 0 auto 4vw;
    }
    #cta .cta-ctt .tel-info .txt{
        margin: 0;
    }
    #cta .cta-ctt .tel-info .ttl{
        gap: 1.0666666666666667vw;
        font-size: 9.3333333333333333334vw;
        letter-spacing: 0;
    }
    #cta .cta-ctt .tel-info .ttl::before{
        width: 6.66666666667vw;
        height: 6.66666666667vw;
        transform: rotate(0deg);
    }
    #cta .cta-ctt .tel-info .small{
        font-size: 3.2vw;
        margin: -2.4vw 0 0;
    }
    #cta .cta-ctt .online-info{
        max-width: none;
        width: 100%;
        padding: 0;
        border: none;
    }
    #cta .cta-ctt .online-info .online-btn a{
        gap: 3.4666666666666666663vw;
        max-width: none;
        height: 16vw;
        border-radius: 5px;
        font-size: 4.8vw;
        border: 1px solid #222222;
        margin: 0 0 1.333333333333335vw;
    }
    #cta .cta-ctt .online-info .online-btn a::before{
        width: 8.266666666666666vw;
        height: 5.86666666666666666666vw;
    }
    #cta .cta-ctt .line-info{
        max-width: none;
        width: 100%;
        padding-left: 0;
    }
    #cta .cta-ctt .line-info .line-btn a{
        gap: 4vw;
        max-width: none;
        height: 16vw;
        border-radius: 5px;
        font-size: 4.8vw;
        border: 1px solid #222222;
    }
    #cta .cta-ctt .line-info .line-btn a::before{
        width: 9.066666666666666666vw;
        height: 8.5333333333333333333333vw;
    }
}

/* bottom-txt-slider */
#bottom-txt-slider{
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
    padding: 18px 0;
    background-color: #ED6C00;
}
#bottom-txt-slider .slide-ctt {
    display: inline-block;
    animation: txt-slide 30s linear infinite;
}
#bottom-txt-slider .slide-ctt p {
    display: inline-block;
    font-size: 25px;
    font-weight: bold;
    letter-spacing: 0;
    padding: 0 10px;
    color: #111111;
}
@keyframes txt-slide {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
@media only screen and (max-width: 768px) {
    #bottom-txt-slider{
        padding: 4vw 0;
    }
    #bottom-txt-slider .slide-ctt {
        display: inline-block;
        animation: txt-slide 30s linear infinite;
    }
    #bottom-txt-slider .slide-ctt p {
        font-size: 4.5333333333333333vw;
        padding: 0 2.66666666666666666667vw;
    }
}

/* service */
#service{
    padding: 90px 0 95px;
    background-image: url(../img/top/service_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#service .inner{
    max-width: 1260px;
}
#service .ttl_area{
    margin: 0 0 50px;
}
#service .ttl_area .label{
    font-size: 25px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.52;
    color: #EB612A;
    margin: 0 auto 23px;
}
#service .ttl_area .label span{
    font-weight: normal;
}
#service .ttl_area h2{
    font-size: 66px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.61;
    color: #fff;
    margin: 0 auto 15px;
}
#service .ttl_area .note{
    font-size: 20px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.5;
    color: #fff;
}
#service .service-ctt{
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 35px;
}
#service .service-ctt .item{
    position: relative;
    top: 0;
    display: block;
    max-width: 390px;
    width: 100%;
    padding: 42px 0 0;
    text-align: center;
    border-radius: 10px;
    color: #111111;
    background-color: #fff;
    box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.1);
    transition: all .5s;
}
#service .service-ctt .item.sp{
    display: none;
}
#service .service-ctt .item .name{
    font-size: 45px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.11em;
    line-height: 1.62;
}
#service .service-ctt .item span{
    font-size: 17px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.06em;
}
#service .service-ctt .item .img{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 130px;
    height: 130px;
    margin: 10px auto;
}
#service .service-ctt .item .img img{
    display: block;
    margin: 0 auto;
}
#service .service-ctt .item .note{
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.06em;
    line-height: 1.56;
    margin: 0 0 34px;
}
#service .service-ctt .item .btn{
    position: relative;
    display: block;
    width: 100%;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.06em;
    text-decoration: underline;
    color: #fff;
    background-color: #ED6C00;
    padding: 20px 0 25px;
    border-radius: 0 0 10px 10px;
}
#service .service-ctt .item .btn::before{
    content: "";
    width: 26px;
    height: 26px;
    background-image: url(../img/top/searchbtn-arrow-hover.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}
#service .service-ctt .item:hover{
    opacity: 1;
    top: -10px;
    background-color: #F4E8DF;
}
@media only screen and (max-width: 768px) {
    #service{
        padding: 16vw 0 26.6666666666666666668vw;
        background-image: url(../img/top/service_sp-bg.jpg);
    }
    #service .inner{
        max-width: none;
    }
    #service .ttl_area{
        margin: 0 0 10.666666666666666668vw;
    }
    #service .ttl_area .label{
        font-size: 4.266666666666666667vw;
        margin: 0 auto 2.666666666667vw;
    }
    #service .ttl_area h2{
        font-size: 8vw;
        margin: 0 auto 5.333333333333333334vw;
    }
    #service .ttl_area .note{
        font-size: 3.7333333333333333334vw;
    }
    #service .service-ctt{
        flex-direction: column;
        gap: 2.6666666666666666667vw;
    }
    #service .service-ctt .item.sp{
        position: relative;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        padding: 0;
        padding-left: 5.8666666666666666vw;
        max-width: none;
        width: 100%;
        height: 32vw;
        border-radius: 5px;
        box-shadow: none;
    }
    #service .service-ctt .item .img{
        width: 14.933333333333335vw;
        height: 14.933333333333335vw;
        margin: 0;
    }
    #service .service-ctt .item .img img{
        display: block;
        margin: 0 auto;
        width: 98%;
    }
    #service .service-ctt .item .txt{
        width: 44.800000000000004vw;
        text-align: left;
    }
    #service .service-ctt .item .name{
        font-size: 6.66666666666666667vw;
        text-align: left;
        letter-spacing: 0.1em;
        line-height: 1;
        margin: 0 0 2.4vw;
    }
    #service .service-ctt .item span{
        display: none;
    }
    #service .service-ctt .item .note{
        font-size: 3.2vw;
        line-height: 1.67;
        text-align: left;
        margin: 0;
    }
    #service .service-ctt .item .btn{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 10.666666666666666666668vw;
        height: 100%;
        border-radius: 0 5px 5px 0;
    }
    #service .service-ctt .item .btn img{
        display: block;
        width: 4.26666666666666667vw;
    }
    #service .service-ctt .item .btn::before{
        display: none;
    }
}

/* top
------------------------------*/
/* mv */
.top .mv{
    position: relative;
    background-image: url(../img/top/mv.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    padding: 16.40625vw 0 4.166666666666666vw;
}
.top .mv::before{
    content: "";
    width: 24.166666666666668vw;
    height: 24.166666666666668vw;
    background-image: url(../img/top/top_animal_icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    bottom: 0.78125vw;
    right: 3.4895833333333335vw;
    z-index: 2;
}
.top .mv .ttl_area{
    padding: 0 6.25vw;
    margin: 0 0 6.510416666666667vw;
}
.top .mv .ttl_area .label{
    display: inline-block;
    font-size: 3.0208333333333335vw;
    /* font-size: 58px; */
    font-weight: 800;
    letter-spacing: 0;
    color: #21211F;
    background-color: #FFC400;
    border-radius: 5px;
    padding: 0 1.3020833333333335vw;
}
.top .mv .ttl_area h1{
    font-size: 6.666666666666667vw;
    /* font-size: 128px; */
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1;
    margin: 1.0416666666666665vw 0 1.5625vw;
    color: #fff;
}
.top .mv .ttl_area h1 span{
    /* font-size: 107px; */
    font-size: 5.572916666666667vw;
}
.top .mv .ttl_area .note{
    font-size: 1.8229166666666667vw;
    font-weight: bold;
    letter-spacing: 0;
    color: #fff;
}
.top .mv .inner{
    max-width: none;
    padding: 0 18.75vw;
}
.top .mv .link-area{
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    height: 5.729166666666666dvw;
    border-radius: 10px;
    background-color: #fff;
    z-index: 3;
}
.top .mv .link-area .item{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.625vw;
    width: calc( 100% / 4 );
}
.top .mv .link-area .item::before{
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: "";
    width: 0.10416666666666667vw;
    height: 3.125vw;
    background-image: repeating-linear-gradient(
        to bottom, 
        #111111 0px,
        #111111 2px,
        transparent 2px,
        transparent 7px
    );
}
.top .mv .link-area .item:nth-of-type(3)::before,
.top .mv .link-area .item:last-of-type::before{
    display: none;
}
.top .mv .link-area .item p{
    font-size: 1.3541666666666667vw;
    font-weight: bold;
    letter-spacing: 0.06em;
    line-height: 1.62;
    color: #000000;
}
.top .mv .link-area .line-item{
    background-color: #3CB158;
    border-radius: 0 10px 10px 0;
}
.top .mv .link-area .line-item p{
    color: #fff;
}
.top .mv .link-area .item:first-of-type .icon img{
    max-width: 2.455208333333333vw;
    width: 100%;
}
.top .mv .link-area .item:nth-of-type(2) .icon img{
    max-width: 3.3828125vw;
    width: 100%;
}
.top .mv .link-area .item:nth-of-type(3) .icon img{
    max-width: 2.490625vw;
    width: 100%;
}
.top .mv .link-area .item:last-of-type .icon img{
    max-width: 2.01458333333333vw;
    width: 100%;
}
.top .mv .link-area .item .arrow img{
    display: block;
    max-width: 1.3541666666666667vw;
    width: 100%;
}
@media only screen and (max-width: 768px) {
    .top .mv{
        background-image: url(../img/top/mv_sp.jpg);
        padding: 27.200000000000003vw 0 8vw;
    }
    .top .mv::before{
        display: none;
    }
    .top .mv .ttl_area{
        padding: 0;
        margin: 0 0 1.8666666666666666667vw;
        text-align: center;
    }
    .top .mv .ttl_area .label{
        font-size: 4.8vw;
        text-align: center;
        border-radius: 2px;
        padding: 1.333333333335vw 1.86666666666666667vw;
    }
    .top .mv .ttl_area h1{
        font-size: 11.20000000000000000000001vw;
        text-align: center;
        margin: 2.666666666666666667vw 0 3.2vw;
    }
    .top .mv .ttl_area h1 span{
        font-size: 6.6666666666666666667vw;
    }
    .top .mv .ttl_area .note{
        font-size: 3.2vw;
        text-align: center;
    }
    .top .mv .sp .icon img{
        display: block;
        max-width: 61.3333333333333333333vw;
        width: 100%;
        margin: 0 auto;
    }
    .top .mv .inner{
        padding: 0 6.666666666666667vw;
    }
    .top .mv .link-area{
        margin: -8vw 0 0;
        height: auto;
        background-color: transparent;
    }
    .top .mv .link-area .item{
        position: relative;
        display: block;
        width: 26.666666666666668vw;
        height: 26.666666666666668vw;
        padding: 3.2vw 2.666666666666667vw 2.666666666666667vw;
        background-color: #fff;
        border-radius: 10px;
    }
    .top .mv .link-area .item::before{
        display: none;
    }
    .top .mv .link-area .item:nth-of-type(3)::before,
    .top .mv .link-area .item:last-of-type::before{
        display: none;
    }
    .top .mv .link-area .item p{
        display: flex;
        align-items: center;
        gap: 1.3333333333333335vw;
        font-size: 4vw;
        margin: 0 -2px;
    }
    .top .mv .link-area .item p::after{
        content: "";
        width: 3.733333333333334vw;
        height: 3.7333333333333334vw;
        background-image: url(../img/top/icon-arrow.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .top .mv .link-area .item .icon{
        display: flex;
        align-items: center;
        justify-content: center;
        height: 12.8vw;
        margin: 0 auto;
    }
    .top .mv .link-area .item:first-of-type .icon img{
        max-width: 10.133333333333333vw;
        margin: 0 auto;
    }
    .top .mv .link-area .item:nth-of-type(2) .icon img{
        max-width: 14.133333333333335vw;
        margin: 0 auto;
    }
    .top .mv .link-area .item:nth-of-type(3) .icon img{
        max-width: 10.133333333333333vw;
        margin: 0 auto;
    }
    .top .mv .link-area .item .arrow{
        display: none;
    }
}


/* slide-news */
.top .slide-news{
    padding: 20px 0;
    background-color: #000000;
}
.top .slide-news .txt-item{
    width: auto;
}
.top .slide-news .txt-item a{
    display: flex;
    align-items: center;
    width: auto;
    gap: 30px;
    padding-right: 60px;
    margin-right: 60px;
    color: #fff;
    border-right: 1px solid #fff;
}
.top .slide-news .txt-item a .date{
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.06em;
}
.top .slide-news .txt-item a .ttl{
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.06em;
}
@media only screen and (max-width: 768px) {
    .top .slide-news{
        padding: 4vw 0;
    }
    .top .slide-news .txt-item a{
        gap: 6.666666666666667vw;
        padding-right: 8vw;
        margin-right: 8vw;
    }
    .top .slide-news .txt-item a .date{
        font-size: 2.9333333333333333vw;
    }
    .top .slide-news .txt-item a .ttl{
        font-size: 3.4666666666666666663vw;
    }
}


/* feature */
.top .feature{
    position: relative;
    padding: 120px 0 167px;
    background-image: url(../img/top/feature_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-bottom: 3px solid #000000;
    overflow: hidden;
}
.top .feature .inner{
    position: relative;
    z-index: 2;
}
.top .feature .ttl_area{
    text-align: center;
    margin: 0 auto 30px;
    color: #111111;
}
.top .feature .ttl_area p{
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1.63;
}
.top .feature .ttl_area h2{
    font-size: 66px;
    font-weight: bold;
    letter-spacing: 0;
}
.top .feature .cta-ctt{
    display: flex;
    justify-content: space-between;
    padding: 55px 55px 50px 50px;
    margin: 0 0 60px;
    background-color: #fff;
    border: 1px solid #111111;
    border-radius: 10px;
}
.top .feature .cta-ctt .item .txt{
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.08em;
    margin: 0 0 20px;
    color: #111111;
}
.top .feature .cta-ctt .tel-info{
    padding-right: 38px;
}
.top .feature .cta-ctt .tel-info .txt{
    margin: 0;
}
.top .feature .cta-ctt .tel-info .ttl{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: 58px;
    font-weight: bold;
    letter-spacing: -0.01em;
    color: #222222;
}
.top .feature .cta-ctt .tel-info .ttl::before{
    content: "";
    width: 39px;
    height: 39px;
    background-image: url(../img/top/tell-icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: rotate(9deg);
}
.top .feature .cta-ctt .tel-info .small{
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.08em;
    color: #222222;
    margin: -12px 0 0;
}
.top .feature .cta-ctt .online-info{
    display: block;
    max-width: 400px;
    width: 100%;
    padding: 0 30px;
    border-right: 1px dashed #032A38;
    border-left: 1px dashed #032A38;
}
.top .feature .cta-ctt .online-info .online-btn a{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    max-width: 340px;
    width: 100%;
    height: 80px;
    border-radius: 10px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.06em;
    color: #fff;
    background-color: #ED6C01;
}
.top .feature .cta-ctt .online-info .online-btn a::before{
    content: "";
    width: 39px;
    height: 28px;
    background-image: url(../img/top/mail-icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.top .feature .cta-ctt .line-info{
    display: block;
    max-width: 240px;
    width: 100%;
    padding-left: 30px;
}
.top .feature .cta-ctt .line-info .line-btn a{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 210px;
    width: 100%;
    height: 80px;
    border-radius: 10px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.06em;
    color: #fff;
    background-color: #3CB157;
}
.top .feature .cta-ctt .line-info .line-btn a::before{
    content: "";
    width: 37px;
    height: 35px;
    background-image: url(../img/top/line-icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.top .feature .campaign-banner{
    padding: 0;
    margin: 0;
}
.top .feature .campaign-banner .banner-slide{
    display: block;
    max-width: 590px;
    width: 100%;
    padding: 0 10px;
}
.top .feature .campaign-banner .slick-dots{
    bottom: -40px;
}
.top .feature .campaign-banner .slick-dots li{
    margin: 0;
}
.top .feature .campaign-banner .slick-dots li button:before{
    font-size: 10px;
    opacity: 1;
    color: #fff;
}
.top .feature .campaign-banner .slick-dots li.slick-active button:before{
    opacity: 1;
    color: #111111;
}
.top .feature .text-slider {
    position: absolute;
    bottom: 60px;
    left: 0;
    right: 0;
    overflow: hidden;
    z-index: 1;
    white-space: nowrap;
    width: 100%;
}
.top .feature .text-slider .slide-track {
    display: inline-block;
    animation: slide 20s linear infinite;
}
.top .feature .text-slider .slide-track span {
    display: inline-block;
    padding: 0 30px;
}
@keyframes slide {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
@media only screen and (max-width: 768px) {
    .top .feature{
        padding: 10.6666666666668vw 0 28.000000004vw;
        background-image: url(../img/top/feature_sp-bg.jpg);
    }
    .top .feature .ttl_area{
        margin: 0 auto 5.3333333333333334vw;
    }
    .top .feature .ttl_area p{
        font-size: 3.466666666666663vw;
        line-height: 1.63;
        margin: 0 -1.333333333335vw 3.2vw;
    }
    .top .feature .ttl_area h2{
        font-size: 8vw;
        line-height: 1.27;
    }
    .top .feature .cta-ctt{
        display: block;
        padding: 5.3333333333333334vw 5.333333333333334vw 6.666666666666667vw;
        margin: 0 0 6.66666666666666666667vw;
    }
    .top .feature .cta-ctt .item .txt{
        font-size: 3.73333333333333334vw;
        margin: 0 0 2.66666666666666667vw;
    }
    .top .feature .cta-ctt .tel-info{
        padding-right: 0;
        margin: 0 auto 4vw;
    }
    .top .feature .cta-ctt .tel-info .txt{
        margin: 0;
    }
    .top .feature .cta-ctt .tel-info .ttl{
        gap: 1.0666666666666667vw;
        font-size: 9.3333333333333333334vw;
        letter-spacing: 0;
    }
    .top .feature .cta-ctt .tel-info .ttl::before{
        width: 6.66666666667vw;
        height: 6.66666666667vw;
        transform: rotate(0deg);
    }
    .top .feature .cta-ctt .tel-info .small{
        font-size: 3.2vw;
        margin: -2.4vw 0 0;
    }
    .top .feature .cta-ctt .online-info{
        max-width: none;
        width: 100%;
        padding: 0;
        border: none;
    }
    .top .feature .cta-ctt .online-info .online-btn a{
        gap: 3.4666666666666666663vw;
        max-width: none;
        height: 16vw;
        border-radius: 5px;
        font-size: 4.8vw;
        border: 1px solid #222222;
        margin: 0 0 1.333333333333335vw;
    }
    .top .feature .cta-ctt .online-info .online-btn a::before{
        width: 8.266666666666666vw;
        height: 5.86666666666666666666vw;
    }
    .top .feature .cta-ctt .line-info{
        max-width: none;
        padding-left: 0;
    }
    .top .feature .cta-ctt .line-info .line-btn a{
        gap: 4vw;
        max-width: none;
        height: 16vw;
        border-radius: 5px;
        font-size: 4.8vw;
        border: 1px solid #222222;
    }
    .top .feature .cta-ctt .line-info .line-btn a::before{
        width: 9.066666666666666666vw;
        height: 8.5333333333333333333333vw;
    }
    .top .feature .text-slider {
        bottom: 6.66666666666667vw;
        width: 150%;
    }
}


/* pickup */
#pickup{
    position: relative;
    padding: 140px 0 120px;
    border-bottom: 10px solid #111111;
}
#pickup::before{
    content: "";
    width: 405px;
    height: 252px;
    background-image: url(../img/top/pickup_animal_icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    bottom: 0;
    left: 262px;
    z-index: 2;
}
#pickup .inner{
    max-width: 1330px;
    width: 100%;
    padding: 0 10px;
    margin: 0 auto;
}
#pickup .ttl_area{
    margin: 0 auto 66px;
    color: #111111;
}
#pickup .ttl_area .label{
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0;
    margin: 0 auto 16px;
}
#pickup .ttl_area h2{
    font-size: 60px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.5;
    margin: 0 0 20px;
}
#pickup .ttl_area h2 span{
    color: #FF6300;
}
#pickup .ttl_area .note{
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.06em;
}
#pickup .pickup-ctt{
    display: flex;
    justify-content: space-between;
    margin: 0 0 75px;
}
#pickup .pickup-ctt .pickup-item{
    display: block;
    max-width: 640px;
    width: 100%;
}
#pickup .pickup-ctt .pickup-item .ttl{
    position: relative;
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0;
    padding: 16px 0 18px;
    margin: 0 0 44px;
    color: #fff;
    background-color: #111111;
    border-radius: 10px;
}
#pickup .pickup-ctt .pickup-item .ttl::before{
    content: "";
    width: 26px;
    height: 12px;
    background-image: url(../img/top/pickup-ttl-arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
}
#pickup .pickup-ctt .pickup-item .product-item{
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 20px 30px 20px 20px;
    margin: 0 0 20px;
    background-color: #fff;
    box-shadow: 0 5px 0 rgba(165, 165, 165, 0.2);
    border-radius: 10px;
}
#pickup .pickup-ctt .pickup-item .product-item:last-of-type{
    margin: 0;
}
#pickup .pickup-ctt .pickup-item .product-item img{
    display: block;
    max-width: 160px;
    width: 100%;
    border-radius: 10px;
}
#pickup .pickup-ctt .pickup-item .product-item .txt{
    flex: 1;
}
#pickup .pickup-ctt .pickup-item .product-item .txt .name{
    min-height: 64px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.03em;
    line-height: 1.45;
    margin: 0 0 6px;
}
#pickup .pickup-ctt .pickup-item .product-item .txt .price_area{
    display: block;
    margin: 0 0 0 auto;
    text-align: right;
}
#pickup .pickup-ctt .pickup-item .product-item .txt .price_area .unused-price,
#pickup .pickup-ctt .pickup-item .product-item .txt .price_area .limit-price{
    display: flex;
    align-items: center;
    justify-content: right;
    gap: 15px;
}
#pickup .pickup-ctt .pickup-item .product-item .txt .price_area .label{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 27px;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.03em;
    color: #fff;
    background-color: #111111;
}
#pickup .pickup-ctt .pickup-item .product-item .txt .price_area .price{
    max-width: 175px;
    width: 100%;
    text-align: right;
    font-weight: bold;
    letter-spacing: 0;
}
#pickup .pickup-ctt .pickup-item .product-item .txt .price_area .unused-price .label{
    background-color: #EB612A;
}
#pickup .pickup-ctt .pickup-item .product-item .txt .price_area .unused-price .price{
    font-size: 40px;
    color: #EB612A;
}
#pickup .pickup-ctt .pickup-item .product-item .txt .price_area .unused-price .price span{
    font-size: 22px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    letter-spacing: 0.03em;
    line-height: 1.45;
    padding-left: 4px;
}
#pickup .pickup-ctt .pickup-item .product-item .txt .price_area .unused-price .no-price{
    font-size: 35px;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #EB612A;
    line-height: 1.66;
    max-width: 175px;
    width: 100%;
    text-align: right;
}
#pickup .pickup-ctt .pickup-item .product-item .txt .price_area .limit-price{
    margin: -13px 0 0;
}
#pickup .pickup-ctt .pickup-item .product-item .txt .price_area .limit-price .price{
    font-size: 32px;
    color: #111111;
}
#pickup .pickup-ctt .pickup-item .product-item .txt .price_area .limit-price .price span{
    font-size: 17px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    letter-spacing: 0.03em;
    line-height: 1.88;
    padding-left: 4px;
}
#pickup .pickup-ctt .pickup-item .product-item .txt .price_area .limit-price .no-price{
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 2.25;
    color: #111;
    max-width: 175px;
    width: 100%;
    text-align: right;
}
#pickup .searchbox_area{
    position: relative;
    padding: 67px 0 72px;
    border: 3px solid #111111;
    border-radius: 30px;
    background-color: #FFC400;
    box-shadow: 0 0 40px rgb(0, 0, 0, 0.16);
}
#pickup .searchbox_area .bg-txt{
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 280px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.4;
    color: #fff;
    opacity: 0.2;
    z-index: 1;
}
#pickup .searchbox_area .searchttl_area{
    position: relative;
    text-align: center;
    margin: 0 0 35px;
    z-index: 2;
}
#pickup .searchbox_area .searchttl_area .label{
    display: inline-block;
    font-size: 27px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.06em;
    padding: 4px 28px 6px 22px;
    margin: 0 0 20px;
    color: #FFC400;
    background-color: #111111;
    border-radius: 5px;
}
#pickup .searchbox_area .searchttl_area h3{
    font-size: 56px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.63;
    color: #000000;
}
#pickup .searchbox_area .searchbox{
    position: relative;
    z-index: 2;
}
#pickup .searchbox_area .searchbox .search_list{
    justify-content: center;
    gap: 16px;
    margin: 0 auto 57px;
}
#pickup .searchbox_area .searchbox .search_list .item{
    position: relative;
    display: block;
    max-width: 290px;
    width: 100%;
    cursor: pointer;
}
#pickup .searchbox_area .searchbox .search_list .item::before{
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    content: "";
    width: 13px;
    height: 8px;
    background-image: url(../img/top/pickup-input-arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1;
}
#pickup .searchbox_area .searchbox .search_list .long{
    max-width: 380px;
}
#pickup .searchbox_area .searchbox .search_list .long::before{
    display: none;
}
#pickup .searchbox_area .searchbox .search_list .item .fw_md{
    position: relative;
    display: block;
    width: 100%;
    height: 66px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.06em;
    padding: 0 24px 0 20px;
    border: 2px solid #111;
    border-radius: 5px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}
#pickup .searchbox_area .searchbox .searchbtn{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 440px;
    height: 80px;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.06em;
    color: #fff;
    background-color: #21211F;
    border-radius: 100vw;
    padding: 0;
    margin: 0 auto;
    transition: all .3s;
    cursor: pointer;
    box-shadow: none;
    border: 0;
}
#pickup .searchbox_area .searchbox .searchbtn::before{
    content: "";
    width: 26px;
    height: 26px;
    background-image: url(../img/top/searchbtn-arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}
#pickup .searchbox_area .searchbox .searchbtn:hover{
    background-color: #ED6C00;
    box-shadow: 0 0 0 10px rgba(237, 108, 0, 0.5);
}
#pickup .searchbox_area .searchbox .searchbtn:hover::before{
    background-image: url(../img/top/searchbtn-arrow-hover.svg);
}
#pickup .no-reinforce{
    display: block;
    width: 100%;
    margin: 50px auto 0;
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.06em;
}
#pickup .no-pickup-text{
    display: block;
    width: 100%;
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.06em;
}
@media only screen and (max-width: 768px) {
    #pickup{
        padding: 13.33333333333335vw 0 26.666666666666666668vw;
    }
    #pickup::before{
        width: 56.8vw;
        height: 35.199999999999996vw;
        left: 50%;
        transform: translateX(-50%);
    }
    #pickup .inner{
        max-width: none;
        padding: 0 6.66666666667vw;
    }
    #pickup .ttl_area{
        margin: 0 auto 6.66666666666666666667vw;
    }
    #pickup .ttl_area .label{
        font-size: 4.26666666666666666667vw;
        margin: 0 auto 1.333333333333335vw;
    }
    #pickup .ttl_area h2{
        font-size: 8vw;
        margin: 0 -2vw 2.133333333333333333vw;
    }
    #pickup .ttl_area .note{
        font-size: 3.73333333333333334vw;
    }
    #pickup .pickup-ctt{
        flex-direction: column;
        gap: 8vw;
        margin: 0 0 13.33333333333333335vw;
    }
    #pickup .pickup-ctt .pickup-item{
        max-width: none;
    }
    #pickup .pickup-ctt .pickup-item .ttl{
        font-size: 4.26666666666666667vw;
        padding: 2.9333333333333333333vw 0;
        margin: 0 0 4.8vw;
        border-radius: 5px;
    }
    #pickup .pickup-ctt .pickup-item .ttl::before{
        width: 4.8vw;
        height: 2.1333333333333333333vw;
        bottom: -1.8vw;
    }
    #pickup .pickup-ctt .pickup-item .product-item{
        gap: 6.4vw;
        padding: 4vw;
        margin: 0 0 2.66666666666666666667vw;
        border-radius: 5px;
    }
    #pickup .pickup-ctt .pickup-item .product-item img{
        max-width: 24vw;
        border-radius: 5px;
    }
    #pickup .pickup-ctt .pickup-item .product-item .txt{
        flex: 1;
    }
    #pickup .pickup-ctt .pickup-item .product-item .txt .name{
        min-height: auto;
        font-size: 3.2vw;
        margin: 0 0 1.3333333333333333335vw;
    }
    #pickup .pickup-ctt .pickup-item .product-item .txt .price_area .unused-price,
    #pickup .pickup-ctt .pickup-item .product-item .txt .price_area .limit-price{
        justify-content: space-between;
        gap: 0;
    }
    #pickup .pickup-ctt .pickup-item .product-item .txt .price_area .label{
        width: 16vw;
        height: 4.546666666666667vw;
        font-size: 2.13333333333333333333vw;
    }
    #pickup .pickup-ctt .pickup-item .product-item .txt .price_area .price{
        max-width: none;
    }
    #pickup .pickup-ctt .pickup-item .product-item .txt .price_area .unused-price .price{
        font-size: 4.8vw;
    }
    #pickup .pickup-ctt .pickup-item .product-item .txt .price_area .unused-price .price span{
        font-size: 2.666666666666667vw;
        padding-left: 1.3333333333333333335vw;
    }
    #pickup .pickup-ctt .pickup-item .product-item .txt .price_area .unused-price .no-price{
        font-size: 5.3333333333333333333333334vw;
        max-width: none;
    }
    #pickup .pickup-ctt .pickup-item .product-item .txt .price_area .limit-price{
        margin: -1.866666666666666666667vw 0 0;
    }
    #pickup .pickup-ctt .pickup-item .product-item .txt .price_area .limit-price .price{
        font-size: 4.8vw;
    }
    #pickup .pickup-ctt .pickup-item .product-item .txt .price_area .limit-price .price span{
        font-size: 2.666666666666667vw;
        padding-left: 1.3333333333333333335vw;
    }
    #pickup .pickup-ctt .pickup-item .product-item .txt .price_area .limit-price .no-price{
        font-size: 3.2vw;
        max-width: none;
    }
    #pickup .searchbox_area{
        padding: 12vw 0 13.333333333333333335vw;
        border: 2px solid #111111;
        border-radius: 20px;
    }
    #pickup .searchbox_area .bg-txt{
        top: 9.33333333333333334vw;
        left: 50%;
        transform: translateX(-50%);
        font-size: 22.666666666666664vw;
    }
    #pickup .searchbox_area .searchttl_area{
        margin: 0 0 4.8vw;
    }
    #pickup .searchbox_area .searchttl_area .label{
        font-size: 3.2vw;
        padding: 1.06666666666666666667vw 3.7333333333333334vw;
        margin: 0 0 2.66666666666666666667vw;
        border-radius: 3px;
    }
    #pickup .searchbox_area .searchttl_area h3{
        font-size: 5.8666666666666666666666vw;
    }
    #pickup .searchbox_area .searchbox .search_list{
        flex-direction: column;
        gap: 2.66666666666667vw;
        margin: 0 auto 8vw;
    }
    #pickup .searchbox_area .searchbox .search_list .item{
        max-width: 73.86666666666667vw;
    }
    #pickup .searchbox_area .searchbox .search_list .item::before{
        right: 3vw;
        width: 3.2vw;
        height: 1.6vw;
    }
    #pickup .searchbox_area .searchbox .search_list .long{
        max-width: 73.86666666666667vw;
    }
    #pickup .searchbox_area .searchbox .search_list .item .fw_md{
        height: 13.333333333333333335vw;
        font-size: 3.466666666666666663vw;
        padding: 0 4.266666666666666667vw;
        border: 1px solid #111;
        border-radius: 4px;
    }
    #pickup .searchbox_area .searchbox .searchbtn{
        width: 68vw;
        height: 14.66666666666666666vw;
        font-size: 4vw;
    }
    #pickup .searchbox_area .searchbox .searchbtn::before{
        width: 4.8vw;
        height: 4.8vw;
        right: 3.73333333333333334vw;
    }
    #pickup .no-reinforce{
        margin: 8vw auto 0;
        font-size: 4vw;
    }
    #pickup .no-pickup-text{
        font-size: 4vw;
    }
}


/* item_list */
.top .item_list{
    position: relative;
    padding: 108px 0 126px;
    background-image: url(../img/top/item_list_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.top .item_list .inner{
    position: relative;
    max-width: 1320px;
}
.top .item_list .ttl_area{
    position: relative;
    margin: 0 auto 50px;
    text-align: center;
    color: #fff;
    z-index: 2;
}
.top .item_list .ttl_area p{
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0;
    margin: 0 auto 17px;
}
.top .item_list .ttl_area h2{
    font-size: 66px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0;
}
.top .item_list .item_area{
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 auto 60px;
    z-index: 2;
}
.top .item_list .item_area .item{
    display: block;
    max-width: 315px;
    width: 100%;
}
.top .item_list .item_area .item a{
    position: relative;
    display: flex;
    align-items: center;
    gap: 25px;
    max-width: 315px;
    width: 100%;
    padding: 10px;
    background-color: #fff;
    border-radius: 5px;
}
.top .item_list .item_area .item a::before{
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    content: "";
    width: 14px;
    height: 12px;
    background-image: url(../img/top/item_list-arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.top .item_list .item_area .item a .img{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
}
.top .item_list .item_area .item a p{
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: #111111;
}
.top .item_list .inner .bg-left{
    position: absolute;
    top: 50%;
    left: -9.895833333333332vw;
    transform: translateY(-50%);
    z-index: 1;
}
.top .item_list .inner .bg-left img{
    display: block;
    max-width: 285px;
    width: 14.583333333333334vw;
    max-height: 285px;
    height: 14.583333333333334vw;
}
.top .item_list .inner .bg-right{
    position: absolute;
    top: 50%;
    right: -5.208333333333334vw;
    transform: translateY(-50%);
    z-index: 1;
}
.top .item_list .inner .bg-right img{
    display: block;
    max-width: 287px;
    width: 14.947916666666666vw;
    max-height: 360px;
    height: 18.75vw;
    transform: rotate(21deg);
}
.top .item_list .item_list-ctt{
    margin: 0 0 70px;
    position: relative;
    z-index: 2;
}
.top .item_list .item_list-ctt .slider-top{
    margin: 0 0 20px;
}
.top .item_list .item_list-ctt .flex-ctt{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}
.top .item_list .item_list-ctt .item{
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;
    max-width: 530px;
    width: 100%;
    padding: 20px;
    background-color: #fff;
    border-radius: 5px;
}
.top .item_list .item_list-ctt .item .shop_name{
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px 0 5px 0;
    padding: 7px 15px 9px;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 0.06em;
    color: #fff;
    background-color: #ED6C00;
}
.top .item_list .item_list-ctt .item .img{
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 190px;
    width: 100%;
    height: 190px;
    border-radius: 10px;
    flex-shrink: 0;
}
.top .item_list .item_list-ctt .item .img img{
    display: block;
    width: auto;
    height: auto;
    max-height: 100%;
    border-radius: 10px;
    margin: 0 auto;
}
.top .item_list .item_list-ctt .item .txt{
    flex: 1;
}
.top .item_list .item_list-ctt .item .txt .date{
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    margin: 0 0 10px;
    color: #222222;
}
.top .item_list .item_list-ctt .item .txt .ttl{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.63;
    margin: 0 0 5px;
    color: #222222;
}
.top .item_list .item_list-ctt .item .txt .price_area{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin: 0 0 12px;
    color: #EB612A;
}
.top .item_list .item_list-ctt .item .txt .price_area .label{
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.03em;
    margin-bottom: 5px;
}
.top .item_list .item_list-ctt .item .txt .price_area .price{
    font-size: 38px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1;
}
.top .item_list .item_list-ctt .item .txt .price_area .price span{
    font-size: 20px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    letter-spacing: 0.03em;
    padding-left: 5px;
}
.top .item_list .item_list-ctt .item .txt .cat-list{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 10px;
}
.top .item_list .item_list-ctt .item .txt .cat-list li{
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 0.06em;
    padding: 5px 14px;
    color: #111111;
    background-color: #FFC400;
    border-radius: 100vw;
}
.top .item_list .btn a{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 440px;
    height: 80px;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.06em;
    color: #fff;
    background-color: #ED6C00;
    border-radius: 100vw;
    padding: 0;
    margin: 0 auto;
    transition: all .3s;
    cursor: pointer;
    box-shadow: none;
    border: 0;
    z-index: 2;
}
.top .item_list .btn a::before{
    content: "";
    width: 26px;
    height: 26px;
    background-image: url(../img/top/searchbtn-arrow-hover.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}
.top .item_list .btn a:hover{
    opacity: 1;
    box-shadow: 0 0 0 10px rgba(237, 108, 0, 0.5);
}
.top .item_list .text-slider {
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    overflow: hidden;
    z-index: 1;
    white-space: nowrap;
    width: 100%;
}
.top .item_list .text-slider .slide-track {
    display: inline-block;
    animation: slide 30s linear infinite;
}
.top .item_list .text-slider .slide-track span {
    display: inline-block;
    padding: 0 45px;
}
@media only screen and (max-width: 768px) {
    .top .item_list{
        padding: 13.33333333333333335vw 0 21.333333333333333336vw;
    }
    .top .item_list .inner{
        max-width: none;
    }
    .top .item_list .inner .bg-left{
        top: 13.333333333333333335vw;
        left: -8vw;
    }
    .top .item_list .inner .bg-left img{
        width: 29.333333333333332vw;
        height: 29.333333333333332vw;
    }
    .top .item_list .inner .bg-right{
        top: 13.333333333333335vw;
        right: -4vw;
    }
    .top .item_list .inner .bg-right img{
        max-width: 287px;
        width: 25.333333333333336vw;
        max-height: 360px;
        height: 32vw;
    }
    .top .item_list .ttl_area{
        margin: 0 auto 4.8vw;
    }
    .top .item_list .ttl_area p{
        font-size: 4.266666666666666667vw;
        margin: 0 auto 2.666666666666666667vw;
    }
    .top .item_list .ttl_area h2{
        font-size: 8vw;
    }
    .top .item_list .item_area{
        gap: 1.3333333335vw;
        margin: 0 auto 13.333333333333333335vw;
    }
    .top .item_list .item_area .item{
        max-width: 42.66666666666667vw;
    }
    .top .item_list .item_area .item a{
        gap: 2.66666666666666666667vw;
        max-width: 42.66666666666667vw;
        padding: 2.6666666666666666667vw;
    }
    .top .item_list .item_area .item a::before{
        display: none;
    }
    .top .item_list .item_area .item a .img{
        width: 8vw;
        height: 8vw;
    }
    .top .item_list .item_area .item a p{
        font-size: 3.46666666666666663vw;
    }
    .top .item_list .item_list-ctt{
        margin: 0 0 12vw;
    }
    .top .item_list .item_list-ctt .swiper-slide{
        width: auto;
    }
    .top .item_list .item_list-ctt .slider-top{
        margin: 0 0 2.66666666666666667vw;
    }
    .top .item_list .item_list-ctt .item{
        align-items: self-start;
        gap: 3.2vw;
        max-width: 80vw;
        padding: 2.6666666666666666667vw 2.6666666666666666667vw 4vw;
    }
    .top .item_list .item_list-ctt .item .shop_name{
        padding: 1.0666666666666666667vw 2.666666666666667vw 1.6vw;
        font-size: 2.6666666666666666667vw;
    }
    .top .item_list .item_list-ctt .item .img{
        max-width: 26.666666666666666668vw;
        height: 26.666666666666666668vw;
        border-radius: 5px;
    }
    .top .item_list .item_list-ctt .item .img img{
        border-radius: 5px;
    }
    .top .item_list .item_list-ctt .item .txt .date{
        font-size: 2.66666666666666667vw;
        margin: 0 0 2.666666666666667vw;
    }
    .top .item_list .item_list-ctt .item .txt .ttl{
        font-size: 3.46666666666666663vw;
        line-height: 1.46;
        min-height: 10.133333333333333vw;
        margin: 0 0 1.866666666666666666667vw;
    }
    .top .item_list .item_list-ctt .item .txt .price_area{
        margin: 0 0 2.666666666666666667vw;
    }
    .top .item_list .item_list-ctt .item .txt .price_area .label{
        font-size: 3.2vw;
        margin-bottom: 5px;
    }
    .top .item_list .item_list-ctt .item .txt .price_area .price{
        font-size: 6.133333333333333333vw;
    }
    .top .item_list .item_list-ctt .item .txt .price_area .price span{
        font-size: 3.2vw;
        padding-left: 1.3333333333335vw;
    }
    .top .item_list .item_list-ctt .item .txt .cat-list{
        gap: 2.66666666666666666667vw;
    }
    .top .item_list .item_list-ctt .item .txt .cat-list li{
        font-size: 2.666666666666667vw;
        padding: 0.8vw 2.4vw;
    }
    .top .item_list .btn a{
        width: 68vw;
        height: 14.66666666666666666vw;
        font-size: 4vw;
    }
    .top .item_list .btn a::before{
        width: 4.8vw;
        height: 4.8vw;
        right: 3.73333333333333334vw;
    }
    .top .item_list .text-slider {
        bottom: 10.6666666666668vw;
        width: 260%;
    }
}


/* cat */
#cat{
    position: relative;
    background-color: #F7F6F5;
    padding: 130px 0 105px;
}
#cat .ttl_area{
    margin: 0 0 60px;
}
#cat .ttl_area .label{
    font-size: 25px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.52;
    color: #EB612A;
    margin: 0 auto 23px;
}
#cat .ttl_area .label span{
    font-weight: normal;
}
#cat .ttl_area h2{
    font-size: 66px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0;
    color: #111111;
    margin: 0 auto 42px;
}
#cat .ttl_area h2 span{
    color: #EB612A;
}
#cat .ttl_area .note{
    font-size: 20px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.75;
    color: #111111;
}
#cat .cat-list{
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0 auto 80px;
}
#cat .cat-list .item{
    display: block;
    max-width: 285px;
    width: 100%;
    padding: 20px;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0 5px 0 rgba(165, 165, 165, 0.2);
    transition: all .3s;
}
#cat .cat-list .item .img img{
    display: block;
    max-width: 170px;
    width: 100%;
    margin: 0 auto 18px;
}
#cat .cat-list .item .name{
    position: relative;
    font-size: 22px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
    color: #111111;
    transition: all .3s;
}
#cat .cat-list .item .name::before{
    content: "";
    width: 26px;
    height: 26px;
    background-image: url(../img/top/icon-arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
#cat .cat-list .item:hover{
    background-color: #ED6C00;
    box-shadow: none;
    transform: translate(0px, 5px);
    opacity: 1;
}
#cat .cat-list .item:hover .name{
    color: #Fff;
}

#cat .btn a{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 440px;
    height: 80px;
    margin: 0 auto;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.06em;
    color: #fff;
    background-color: #111;
    border-radius: 100vw;
    transition: all .3s;
    z-index: 2;
}
#cat .btn a::before{
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    content: "";
    width: 26px;
    height: 26px;
    background-image: url(../img/top/searchbtn-arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: all .3s;
}
#cat .btn a:hover{
    opacity: 1;
    background-color: #ED6C00;
    box-shadow: 0 0 0 10px rgba(237, 108, 0, 0.5);
}
#cat .btn a:hover::before{
    background-image: url(../img/top/searchbtn-arrow-hover.svg);
}
@media only screen and (max-width: 768px) {
    #cat{
        padding: 18.666666666666668vw 0 17.333333333333336vw;
    }
    #cat .ttl_area{
        margin: 0 0 8vw;
    }
    #cat .ttl_area .label{
        font-size: 4.26666666666666667vw;
        margin: 0 auto 5.33333333333334vw;
    }
    #cat .ttl_area h2{
        font-size: 8vw;
        margin: 0 auto 5.3333333334svw;
    }
    #cat .ttl_area .note{
        font-size: 3.7333333333333334vw;
        line-height: 1.57;
    }
    #cat .cat-list{
        justify-content: center;
        gap: 2.666666666666666667vw;
        margin: 0 0 10.6666666666668vw;
    }
    #cat .cat-list .item{
        max-width: 41.333333333333336vw;
        padding: 4vw 4vw 2.66666666666666667vw;
        border-radius: 5px;
    }
    #cat .cat-list .item .img img{
        max-width: 24vw;
        margin: 0 auto 1.6vw;
    }
    #cat .cat-list .item .name{
        font-size: 3.466666666666666663vw;
    }
    #cat .cat-list .item .name::before{
        width: 4vw;
        height: 4vw;
    }
    #cat .btn a{
        width: 68vw;
        height: 14.6666666666666666666vw;
        font-size: 4vw;
    }
    #cat .btn a::before{
        right: 3.73333333333333334vw;
        width: 4.8vw;
        height: 4.8vw;
    } 
}

/* maker */
#maker{
    position: relative;
    padding: 115px 0 125px;
    background-color: #EAE9E8;
    border-radius: 30px;
}
#maker .ttl_area{
    position: relative;
    margin: 0 auto 70px;
    text-align: center;
}
#maker .ttl_area .label{
    display: inline-block;
    position: relative;
    z-index: 2;
    font-size: 29px;
    font-weight: bold;
    letter-spacing: 0.06em;
    padding: 4px 30px 9px 40px;
    margin: 0 0 28px;
    color: #fff;
    background-color: #111111;
    border-radius: 5px;
}
#maker .ttl_area h2{
    position: relative;
    z-index: 2;
    font-size: 60px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.05em;
    color: #000000;
}
#maker .ttl_area h2 span{
    color: #FF6300;
}
#maker .ttl_area .bg-txt{
    position: absolute;
    top: -90px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 260px;
    font-weight: bold;
    letter-spacing: 0;
    color: #F3F3F3;
    z-index: 1;
}
#maker .maker-list{
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 34px 17px;
    margin: 0 0 60px;
}
#maker .maker-list .item{
    display: block;
    max-width: 226px;
    width: 100%;
}
#maker .maker-list .item .img img{
    display: block;
    margin: 0 0 11px;
}
#maker .maker-list .item p{
    font-size: 17px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
    text-decoration: underline;
}
#maker .note{
    font-size: 23px;
    font-weight: 600;
    letter-spacing: 0;
    text-align: center;
}
@media only screen and (max-width: 768px) {
    #maker{
        padding: 13.333333333333335vw 0 17.33333333333333333336vw;
        border-radius: 30px 30px 0 0;
    }
    #maker .ttl_area{
        margin: 0 auto 6.666666666666666667vw;
    }
    #maker .ttl_area .label{
        font-size: 4.2666666666666667vw;
        padding: 1.3333333333333333335vw 4.8vw;
        margin: 0 0 4.8vw;
    }
    #maker .ttl_area h2{
        font-size: 8vw;
    }
    #maker .ttl_area .bg-txt{
        top: -3.2vw;
        font-size: 22.400000000000002vw;
    }
    #maker .maker-list{
        gap: 5.3333333333333333334vw 3.2vw;
        margin: 0 0 10.666666666666666666668vw;
    }
    #maker .maker-list .item{
        max-width: 41.333333333333336vw;
    }
    #maker .maker-list .item .img img{
        margin: 0 0 2.13333333333333333vw;
    }
    #maker .maker-list .item p{
        font-size: 2.933333333333333vw;
    }
    #maker .note{
        font-size: 3.733333333333333334vw;
        line-height: 1.57;
    }
}


/* reazon */
#reazon{
    position: relative;
    padding: 125px 0 155px;
    background-image: url(../img/top/feature_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-top: 5px solid #111111;
}
#reazon .ttl_area{
    margin: 0 auto 80px;
    color: #111111;
}
#reazon .ttl_area .label{
    font-size: 25px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
    margin: 0 0 18px;
}
#reazon .ttl_area h2{
    font-size: 66px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0;
    margin: 0 0 18px;
}
#reazon .ttl_area .note{
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
}
#reazon .slide-area{
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    z-index: 2;
}
#reazon .feature-slider .item{
    display: flex;
    align-items: center;
    gap: 50px;
    padding: 60px;
    background-color: #fff;
    border: 1px solid #2A2F4E;
    border-radius: 20px;
}
#reazon .feature-slider .item .img img{
    display: block;
    max-width: 480px;
    width: 100%;
    border-radius: 10px;
    flex-shrink: 0;
}
#reazon .feature-slider .item .txt{
    flex: 1;
}
#reazon .feature-slider .item .txt .label{
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 6px;
    color: #ED6C00;
}
#reazon .feature-slider .item .txt .label span{
    display: block;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.46;
}
#reazon .feature-slider .item .txt .label .number{
    font-size: 50px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.52;
}
#reazon .feature-slider .item .txt .ttl{
    font-size: 42px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1.4;
    margin: 0 0 33px;
}
#reazon .feature-slider .item .txt .ttl span{
    color: #ED6C00;
}
#reazon .feature-slider .item .txt .note{
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.75;
}
#reazon .slide-area .arrow-area{
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 -110px;
}
#reazon .slide-area .swiper-button-prev,
#reazon .slide-area .swiper-button-next{
    display: block;
    width: 70px;
    height: 70px;
    position: relative;
    margin: 0;
}
#reazon .slide-area .swiper-button-prev img{
    transform: scaleX(-1);
}
#reazon .slide-area .swiper-button-prev::after,
#reazon .slide-area .swiper-button-next::after{
    display: none;
}
#reazon .text-slider {
    position: absolute;
    bottom: 40px;
    left: 0;
    right: 0;
    overflow: hidden;
    z-index: 1;
    white-space: nowrap;
    width: 100%;
}
#reazon .text-slider .slide-track {
    display: inline-block;
    width: 70%;
    animation: slide 30s linear infinite;
}
#reazon .text-slider .slide-track span {
    display: inline-block;
    padding: 0 45px;
}
@media only screen and (max-width: 768px) {
    #reazon{
        padding: 13.333333333333335vw 0 21.333333333333336vw;
        background-image: url(../img/top/feature_sp-bg.jpg);
        border-top: none;
    }
    #reazon .ttl_area{
        margin: 0 auto 10.6666666666666666668vw;
    }
    #reazon .ttl_area .label{
        font-size: 4.2666666666666667vw;
        margin: 0 0 2.66666666666667vw;
    }
    #reazon .ttl_area h2{
        font-size: 8vw;
        margin: 0 -1vw 5.33333333333333334vw;
    }
    #reazon .ttl_area .note{
        font-size: 3.7333333333333333334vw;
        line-height: 1.57;
    }
    #reazon .slide-area{
        max-width: 86.66666666666667vw;
    }
    #reazon .feature-slider{
        overflow: unset;
    }
    #reazon .feature-slider .item{
        flex-direction: column;
        gap: 4.26666666666666667vw;
        padding: 4vw 4vw 8vw;
        max-width: 80vw;
        border-radius: 10px;
    }
    #reazon .feature-slider .item .img img{
        max-width: none;
    }
    #reazon .feature-slider .item .txt .label{
        gap: 1.6vw;
        margin: 0 0 1.6vw;
    }
    #reazon .feature-slider .item .txt .label span{
        font-size: 3.2vw;
    }
    #reazon .feature-slider .item .txt .label .number{
        font-size: 5.3333333333333334vw;
    }
    #reazon .feature-slider .item .txt .ttl{
        font-size: 5.3333333333333333334vw;
        margin: 0 0 4.2666666666666666667vw;
    }
    #reazon .feature-slider .item .txt .note{
        font-size: 3.2vw;
        line-height: 1.83;
    }
    #reazon .slide-area .arrow-area,
    #reazon .slide-area .swiper-pagination{
        display: none;
    }
    #reazon .text-slider {
        bottom: 10.66666666666666668vw;
        width: 150%;
    }
    #reazon .text-slider .slide-track {
        width: 100%;
    }
    #reazon .text-slider .slide-track span {
        padding: 0 8vw;
    }
}


/* gallery */
#gallery{
    padding: 50px 0;
    background-color: #111111;
}
/* #gallery .img-slider{
    direction: ltr !important;
} */
@media only screen and (max-width: 768px) {
    #gallery{
        padding: 8vw 0;
    }
}


/* shop-list */
#shop-list{
    position: relative;
    padding: 130px 0 145px;
}
#shop-list .icon{
    position: absolute;
    top: -15px;
    left: 100px;
}
#shop-list .ttl_area{
    margin: 0 0 65px;
    color: #111111;
}
#shop-list .ttl_area .label{
    font-size: 25px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.52;
    color: #EB612A;
    margin: 0 auto 23px;
}
#shop-list .ttl_area .label span{
    font-weight: normal;
}
#shop-list .ttl_area h2{
    font-size: 66px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.61;
    margin: 0 auto 15px;
}
#shop-list .ttl_area h2 span{
    color: #EB612A;
}
#shop-list .ttl_area .note{
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.05em;
}
#shop-list .shop-ctt .item{
    position: relative;
    display: flex;
    align-items: center;
    gap: 50px;
    margin: 0 0 30px;
    padding: 40px;
    background-color: #fff;
    border: 1px solid #111111;
    border-radius: 10px;
}
#shop-list .shop-ctt .item:last-of-type{
    margin: 0;
}
#shop-list .shop-ctt .item .label{
    position: absolute;
    top: -1px;
    left: -1px;
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.06em;
    padding: 9px 18px 11px;
    border-radius: 5px 0 5px 0;
    color: #fff;
    background-color: #ED6C00;
}
#shop-list .shop-ctt .item .img img{
    display: block;
    max-width: 420px;
    width: 100%;
    border-radius: 10px;
}
#shop-list .shop-ctt .item .txt{
    flex: 1;
}
#shop-list .shop-ctt .item .txt .ttl{
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 36px;
    font-weight: bold;
    letter-spacing: 0.02em;
    margin: 0 0 30px;
}
#shop-list .shop-ctt .item .txt .ttl::before{
    content: "";
    width: 24px;
    height: 34px;
    background-image: url(../img/top/map-icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#shop-list .shop-ctt .item .txt .map-info{
    display: flex;
    gap: 15px;
    margin: 0 0 38px;
}
#shop-list .shop-ctt .item .txt .map-info p{
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.78;
}
#shop-list .shop-ctt .item .txt .map-info a{
    position: relative;
    display: inline-block;
    height: max-content;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.06em;
    padding: 6px 16px;
    border: 1px solid #111;
    border-radius: 5px;
    transition: all .3s;
}
#shop-list .shop-ctt .item .txt .map-info a:hover{
    opacity: 1;
    color: #fff;
    background-color: #111;
}
#shop-list .shop-ctt .item .txt .bottom-info{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#shop-list .shop-ctt .item .txt .bottom-info::before{
    position: absolute;
    top: 0;
    left: 49%;
    transform: translateX(-50%);
    background-image: repeating-linear-gradient(
        to bottom,
        #032A38 0px,

        #032A38 2px,
        transparent 2px,
        transparent 5px
    );
    background-repeat: repeat-y;
    background-size: 1px 100%;
    content: "";
    width: 1px;
    height: 70px;
}
#shop-list .shop-ctt .item .txt .bottom-info .tell{
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 36px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.47;
}
#shop-list .shop-ctt .item .txt .bottom-info .tell::before{
    content: "";
    width: 21px;
    height: 21px;
    background-image: url(../img/top/tell-icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: rotate(12deg);
}
#shop-list .shop-ctt .item .txt .bottom-info .note{
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1.46;
    text-align: center;
    margin: -5px 0 0;
}
#shop-list .shop-ctt .item .txt .bottom-info .btn a{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 280px;
    height: 70px;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.06em;
    color: #fff;
    background-color: #111111;
    border-radius: 10px;
    transition: all .3s;
}
#shop-list .shop-ctt .item .txt .bottom-info .btn a::before{
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    content: "";
    width: 26px;
    height: 26px;
    background-image: url(../img/top/searchbtn-arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: all .3s;
}
#shop-list .shop-ctt .item .txt .bottom-info .btn a:hover{
    opacity: 1;
    background-color: #ED6C00;
}
#shop-list .shop-ctt .item .txt .bottom-info .btn a:hover::before{
    background-image: url(../img/top/searchbtn-arrow-hover.svg);
}
@media only screen and (max-width: 768px) {
    #shop-list{
        padding: 13.333333333333335vw 0 18.66666666666668vw;
    }
    #shop-list .icon{
        max-width: 27.73333333333333333vw;
        left: 2.666666666666667vw;
        top: -10.6666666668vw;
        z-index: 2;
    }
    #shop-list .ttl_area{
        margin: 0 0 10.6666666666666668vw;
    }
    #shop-list .ttl_area .label{
        font-size: 4.2666666666666667vw;
        margin: 0 auto 5.333333333333334vw;
    }
    #shop-list .ttl_area h2{
        font-size: 8vw;
        line-height: 1.33;
        margin: 0 auto 5.33333333333334vw;
    }
    #shop-list .ttl_area .note{
        font-size: 3.7333333333333333334vw;
    }
    #shop-list .shop-ctt .item{
        display: block;
        margin: 0 0 5.3333333333333334vw;
        padding: 5.33333333333334vw 5.3333333333334vw 8vw;
        border-radius: 10px;
    }
    #shop-list .shop-ctt .item .label{
        font-size: 2.93333333333333333vw;
        padding: 1.33333333333335vw 2.666666666666666667vw;
    }
    #shop-list .shop-ctt .item .img img{
        max-width: none;
        margin: 0 0 5.333333333333333334vw;
    }
    #shop-list .shop-ctt .item .txt .ttl{
        gap: 1.6vw;
        font-size: 5.60000000000000005vw;
        margin: 0 0 2.9333333333333333333vw;
    }
    #shop-list .shop-ctt .item .txt .ttl::before{
        width: 3.88vw;
        height: 5.434666666666666vw;
    }
    #shop-list .shop-ctt .item .txt .map-info{
        display: block;
        margin: 0 0 2.66666667vw;
    }
    #shop-list .shop-ctt .item .txt .map-info p{
        font-size: 3.4666666666666663vw;
        line-height: 1.69;
        margin: 0 0 2.6666666666666667vw;
    }
    #shop-list .shop-ctt .item .txt .map-info a{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 23.200000000000003vw;
        height: 6.93333333333333333vw;
        font-size: 2.6666666666666666667vw;
        padding: 0;
        margin: 0 auto;
    }
    #shop-list .shop-ctt .item .txt .bottom-info{
        position: relative;
        display: block;
    }
    #shop-list .shop-ctt .item .txt .bottom-info::before{
        display: none;
    }
    #shop-list .shop-ctt .item .txt .bottom-info .tell{
        justify-content: center;
        gap: 1.33333333333335vw;
        font-size: 8vw;
    }
    #shop-list .shop-ctt .item .txt .bottom-info .tell::before{
        width: 5.12vw;
        height: 5.12vw;
        transform: rotate(12deg);
    }
    #shop-list .shop-ctt .item .txt .bottom-info .note{
        font-size: 2.666666666666666667vw;
        margin: 0;
    }
    #shop-list .shop-ctt .item .txt .bottom-info .btn a{
        width: 100%;
        height: 10.66666666666666668vw;
        font-size: 3.2vw;
        margin: 5.3333333333334vw auto 0;
    }
    #shop-list .shop-ctt .item .txt .bottom-info .btn a::before{
        right: 3.73333333333333333334vw;
        width: 3.73333333333333333334vw;
        height: 3.73333333333333333334vw;
    }
}


/* news */
.top .news{
    position: relative;
    padding: 140px 0 120px;
    background-color: #EAE9E8;
    border-radius: 30px;
    overflow: hidden;
}
.top .news .inner{
    position: relative;
    z-index: 2;
}
.top .news .bg-txt{
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    font-size: 220px;
    font-weight: bold;
    writing-mode: vertical-rl;
    user-select: none;
    pointer-events: none;
    color: #F3F3F3;
}
.top .news .flex-ctt{
    display: flex;
    justify-content: space-between;
}
.top .news .flex-ctt .ttl_area .label{
    font-size: 25px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.52;
    margin: 0 0 18px;
    color: #EB612A;
}
.top .news .flex-ctt .ttl_area h2{
    font-size: 66px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1.45;
    margin: 0 0 80px;
    color: #111111;
}
.top .news .flex-ctt .ttl_area .note{
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.55;
    margin: 0 0 97px;
}
.top .news .flex-ctt .ttl_area .btn a{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 265px;
    height: 65px;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.06em;
    color: #fff;
    background-color: #111;
    border-radius: 100vw;
    transition: all .3s;
}
.top .news .flex-ctt .ttl_area .btn a::before{
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    content: "";
    width: 21px;
    height: 21px;
    background-image: url(../img/top/searchbtn-arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: all .3s;
}
.top .news .flex-ctt .ttl_area .btn a:hover{
    opacity: 1;
    background-color: #ED6C00;
}
.top .news .flex-ctt .ttl_area .btn a:hover::before{
    background-image: url(../img/top/searchbtn-arrow-hover.svg);
}
.top .news .flex-ctt .news-ctt{
    display: block;
    max-width: 800px;
    width: 100%;
}
.top .news .flex-ctt .news-ctt .item{
    position: relative;
    display: flex;
    align-items: center;
    gap: 38px;
    padding: 0 0 30px;
    margin: 0 0 30px;
    transition: all .3s;
}
.top .news .flex-ctt .news-ctt .item:last-of-type{
    margin: 0;
}
.top .news .flex-ctt .news-ctt .item::before{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(
        to right,
        #111111 0px,
        #111111 1px,
        transparent 1px,
        transparent 5px
    );
}
.top .news .flex-ctt .news-ctt .item::after{
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: "";
    width: 29px;
    height: 29px;
    background-image: url(../img/top/news-arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    transition: all .3s;
}
.top .news .flex-ctt .news-ctt .item .img{
    position: relative;
    display: block;
    max-width: 220px;
    width: 100%;
    height: 140px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 5px;
}
.top .news .flex-ctt .news-ctt .item .img img{
    display: block;
    width: 100%;
    height: auto;
    min-height: 140px;
    position: absolute;
    top: 0;
    left: 0;
    transition: all .3s;
}
.top .news .flex-ctt .news-ctt .item .txt{
    flex: 1;
}
.top .news .flex-ctt .news-ctt .item .txt .label{
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 0 0 18px;
}
.top .news .flex-ctt .news-ctt .item .txt .label .date{
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #1A2C44;
}
.top .news .flex-ctt .news-ctt .item .txt .label .cat-txt{
    display: inline-block;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0;
    padding: 5px 15px 6px;
    color: #fff;
    background-color: #ED6C00;
    border-radius: 100vw;
}
.top .news .flex-ctt .news-ctt .item .txt .ttl{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.5;
    text-decoration: underline;
    padding-right: 45px;
    transition: all .3s;
}
.top .news .flex-ctt .news-ctt .item:hover{
    opacity: 1;
}
.top .news .flex-ctt .news-ctt .item:hover::after{
    background-image: url(../img/top/news-arrow_hover.svg);
}
.top .news .flex-ctt .news-ctt .item:hover .txt .ttl{
    color: #ED6C00;
}
.top .news .flex-ctt .news-ctt .item:hover .img img{
    transform: scale(1.1);
}
@media only screen and (max-width: 768px) {
    .top .news{
        padding: 16vw 0;
        border-radius: 30px 30px 0 0;
    }
    .top .news .bg-txt{
        top: 75vw;
        right: -20vw;
        font-size: 37.333333333333336vw;
    }
    .top .news .flex-ctt{
        display: block;
    }
    .top .news .flex-ctt .ttl_area{
        margin: 0 0 13.33333333333335vw;
        text-align: center;
    }
    .top .news .flex-ctt .ttl_area .label{
        font-size: 4.2666666666667vw;
        margin: 0 0 5.333333334vw;
    }
    .top .news .flex-ctt .ttl_area h2{
        font-size: 8vw;
        margin: 0 0 5.3333334vw;
    }
    .top .news .flex-ctt .ttl_area .note{
        font-size: 3.7333333333333334vw;
        margin: 0;
    }
    .top .news .flex-ctt .ttl_area .btn a{
        display: none;
    }
    .top .news .flex-ctt .news-ctt{
        max-width: none;
        margin: 0 0 11.200000000000001vw;
    }
    .top .news .flex-ctt .news-ctt .item{
        align-items: flex-start;
        gap: 3.2vw;
        padding: 0 0 5.3333333333333334vw;
        margin: 0 0 5.3333333333333334vw;
    }
    .top .news .flex-ctt .news-ctt .item::after{
        width: 5.33333333333334vw;
        height: 5.333333333333333334vw;
    }
    .top .news .flex-ctt .news-ctt .item .img{
        max-width: 24vw;
        height: 15.2vw;
        border-radius: 5px;
    }
    .top .news .flex-ctt .news-ctt .item .img img{
        display: block;
        min-height: 15.2vw;
    }
    .top .news .flex-ctt .news-ctt .item .txt{
        max-width: 49.333333333333336vw;
        width: 100%;
    }
    .top .news .flex-ctt .news-ctt .item .txt .label{
        gap: 3.2vw;
        margin: 0 0 2.66666666666666667vw;
    }
    .top .news .flex-ctt .news-ctt .item .txt .label .date{
        font-size: 2.9333333333333333333vw;
    }
    .top .news .flex-ctt .news-ctt .item .txt .label .cat-txt{
        font-size: 2.6666666666666666667vw;
        padding: 0.8vw 3.2vw 1.0666666666666667vw;
    }
    .top .news .flex-ctt .news-ctt .item .txt .ttl{
        font-size: 3.2vw;
        line-height: 1.42;
        padding-right: 0;
    }
    .top .news .flex-ctt .btn.sp a{
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
        width: 68vw;
        height: 14.6666666666666666666vw;
        font-size: 4vw;
        font-weight: bold;
        text-align: center;
        letter-spacing: 0.06em;
        color: #fff;
        background-color: #111;
        border-radius: 100vw;
        transition: all .3s;
    }
    .top .news .flex-ctt .btn.sp a::before{
        position: absolute;
        top: 50%;
        right: 3.73333333333333334vw;
        transform: translateY(-50%);
        content: "";
        width: 4.8vw;
        height: 4.8vw;
        background-image: url(../img/top/searchbtn-arrow.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        transition: all .3s;
    }
    .top .news .flex-ctt .btn.sp a:hover{
        opacity: 1;
        background-color: #ED6C00;
    }
    .top .news .flex-ctt .btn.sp a:hover::before{
        background-image: url(../img/top/searchbtn-arrow-hover.svg);
    }
}


/* blog */
#blog{
    position: relative;
    padding: 130px 0 95px;
    background-image: url(../img/top/blog_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#blog .ttl_area{
    position: relative;
    margin: 0 0 100px;
    color: #fff;
}
#blog .ttl_area::before{
    position: absolute;
    top: 25px;
    right: -7.5vw;
    content: "";
    width: 384px;
    height: 384px;
    background-image: url(../img/top/top_animal_icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#blog .ttl_area .label{
    font-size: 25px;
    font-weight: 600;
    letter-spacing: 0;
    text-align: center;
    margin: 0 0 18px;
    color: #ED6C00;
}
#blog .ttl_area h2{
    font-size: 66px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.45;
    margin: 0 0 40px;
}
#blog .ttl_area .note{
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
}
#blog .blog-ctt{
    position: relative;
    margin: 0 0 30px;
    z-index: 2;
}
#blog .blog-ctt .blog-flex-wrapper{
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 20px;
}
#blog .blog-ctt .item{
    display: block;
    max-width: 400px;
    width: 100%;
    padding: 20px 20px 25px;
    background-color: #fff;
    border-radius: 10px;
    transition: all .3s;
}
#blog .blog-ctt .item .img img{
    display: block;
    border-radius: 10px;
	width: auto;
	max-height: 205px;
    margin: 0 auto 25px;
}
#blog .blog-ctt .item .date{
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0 0 20px;
}
#blog .blog-ctt .item .ttl{
    position: relative;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.67;
    min-height: 65px;
    padding: 0 0 0;
    margin: 0 0 40px;
}
#blog .blog-ctt .item .cat-area{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
#blog .blog-ctt .item .cat-area::before{
    content: "";
    position: absolute;
    left: 0;
    top: -25px;
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(
        to right,
        #111111 0px,
        #111111 1px,
        transparent 1px,
        transparent 5px
    );
}
#blog .blog-ctt .item .cat-area .cat-t{
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    padding: 6px 12px 7px;
    color: #fff;
    background-color: #FFC400;
    border-radius: 5px;
}
#blog .blog-ctt .arrow-area{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    z-index: 1;
}
#blog .blog-ctt .arrow-area .swiper-button-prev{
    transform: scaleX(-1);
}
#blog .blog-ctt .arrow-area .swiper-button-prev,
#blog .blog-ctt .arrow-area .swiper-button-next{
    position: relative;
    width: 70px;
    height: 70px;
}
#blog .blog-ctt .arrow-area .swiper-button-prev::after,
#blog .blog-ctt .arrow-area .swiper-button-next::after{
    display: none;
}
#blog .btn a{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 440px;
    height: 80px;
    margin: 0 auto;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.06em;
    color: #fff;
    background-color: #ED6C00;
    border-radius: 100vw;
    transition: all .3s;
    z-index: 2;
}
#blog .btn a::before{
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    content: "";
    width: 26px;
    height: 26px;
    background-image: url(../img/top/searchbtn-arrow-hover.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#blog .btn a:hover{
    opacity: 1;
    box-shadow: 0 0 0 10px rgba(237, 108, 0, 0.5);
}
#blog .text-slider {
    position: absolute;
    bottom: 60px;
    left: 0;
    right: 0;
    overflow: hidden;
    z-index: 1;
    white-space: nowrap;
    width: 100%;
}
#blog .text-slider .slide-track {
    display: inline-block;
    animation: slide 30s linear infinite;
}
#blog .text-slider .slide-track span {
    display: inline-block;
    padding: 0 45px;
}
#blog .no-blog{
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.06em;
    color: #fff;
    margin: 0 auto 60px;
}
#blog .no-txt{
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.06em;
    color: #fff;
    margin: 0 auto 60px;
}
@media only screen and (max-width: 768px) {
    #blog{
        padding: 16vw 0 20vw;
        background-image: url(../img/top/blog_sp-bg.jpg);
    }
    #blog .ttl_area{
        margin: 0 0 30.666666666666664vw;
    }
    #blog .ttl_area::before{
        position: absolute;
        top: auto;
        bottom: -53.333333333333336vw;
        right: 50%;
        transform: translateX(50%);
        width: 52vw;
        height: 52vw;
    }
    #blog .ttl_area .label{
        font-size: 4.266666666666667vw;
        margin: 0 0 5.333333333333333334vw;
    }
    #blog .ttl_area h2{
        font-size: 8vw;
        margin: 0 0 4.26666666666666667vw;
    }
    #blog .ttl_area .note{
        font-size: 3.7333333333333333334vw;
        line-height: 1.57;
    }
    #blog .blog-ctt{
        margin: 0 0 13.333333333333333335vw;
    }
    #blog .blog-ctt .blog-flex-wrapper{
        flex-wrap: wrap;
        gap: 4vw;
    }
    #blog .blog-ctt .item{
        max-width: 70.66666666666667vw;
        padding: 4vw 3.46666666666666663vw 6.6666666666666666667vw;
    }
    #blog .blog-ctt .blog-flex-wrapper .item{
        max-width: 44vw;
    }
    #blog .blog-ctt .item .img img{
        max-width: 63.46666666666667vw;
        width: auto;
		max-height: 24vw;
        margin: 0 auto 3.7333333333333333334vw;
    }
    #blog .blog-ctt .item .date{
        font-size: 3.2vw;
        margin: 0 0 2.933333333333333333333vw;
    }
    #blog .blog-ctt .item .ttl{
        font-size: 3.2vw;
        line-height: 1.67;
        min-height: 12vw;
        max-height: 12vw;
        padding: 0 0 4vw;
        margin: 0 0 5.333333333333334vw;
    }
    #blog .blog-ctt .item .cat-area{
        gap: 2.13333333vw;
    }
    #blog .blog-ctt .item .cat-area .cat-t{
        font-size: 2.9333333333333333333vw;
        padding: 1.0666666666666666667vw 2.666666666666667vw 1.333333333333335vw;
    }
    #blog .blog-ctt .blog-slider .swiper-slide{
        width: auto;
    }
    #blog .blog-ctt .arrow-area{
        display: none;
    }
    #blog .btn a{
        width: 68vw;
        height: 14.6666666666666666666vw;
        font-size: 4vw;
    }
    #blog .btn a::before{
        right: 3.73333333333333334vw;
        width: 4.8vw;
        height: 4.8vw;
    }
}


/* faq */
#faq{
    padding: 130px 0 120px;
    background-color: #fff;
    border-bottom: 5px solid #111111;
}
#faq .inner{
    max-width: 1290px;
}
#faq .ttl_area{
    margin: 0 0 145px;
}
#faq .ttl_area .label{
    font-size: 25px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.52;
    margin: 0 0 18px;
    color: #EB612A;
}
#faq .ttl_area h2{
    font-size: 66px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.45;
    margin: 0 0 36px;
}
#faq .ttl_area .note{
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
}
#faq .faq_ctt{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px 30px;
    margin: 0 0 75px;
}
#faq .faq_ctt dl{
    position: relative;
    display: block;
    max-width: 620px;
    width: 100%;
    padding: 0 0 20px;
}
#faq .faq_ctt dl::before{
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(
        to right,
        #111111 0px,
        #111111 1px,
        transparent 1px,
        transparent 5px
    );
}
#faq .faq_ctt dl dt{
    position: relative;
    display: flex;
    align-items: center;
    gap: 30px;
}
#faq .faq_ctt dt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 12px;
  height: 12px;
  transform: translateY(-50%);
}
#faq .faq_ctt dt::after {
  background: none;
}
#faq .faq_ctt dt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 14px;
  height: 2px;
  background-color: #EB612A;
  transform: translateY(-50%);
  transition: all .3s;
}
#faq .faq_ctt dt::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 6px;
  width: 2px;
  height: 14px;
  background-color: #EB612A;
  transform: translateY(-50%);
  transition: all .3s;
}
#faq .faq_ctt dt.open::before {
  transform: translateY(-50%) rotate(90deg);
}
#faq .faq_ctt dl dt span{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    font-size: 21px;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.43;
    padding-top: 2px;
    color: #fff;
    background-color: #ED6C00;
    border-radius: 50%;
	flex-shrink: 0;
}
#faq .faq_ctt dl dt p{
	padding-right: 20px;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.06em;
}
#faq .faq_ctt dl dd{
    display: none;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.88;
    padding: 20px 0 0 78px;
}
#faq .btn a{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 440px;
    height: 80px;
    margin: 0 auto;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.06em;
    color: #fff;
    background-color: #111;
    border-radius: 100vw;
    transition: all .3s;
    z-index: 2;
}
#faq .btn a::before{
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    content: "";
    width: 26px;
    height: 26px;
    background-image: url(../img/top/searchbtn-arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: all .3s;
}
#faq .btn a:hover{
    opacity: 1;
    background-color: #ED6C00;
    box-shadow: 0 0 0 10px rgba(237, 108, 0, 0.5);
}
#faq .btn a:hover::before{
    background-image: url(../img/top/searchbtn-arrow-hover.svg);
}
@media only screen and (max-width: 768px) {
    #faq{
        padding: 17.333333333333336vw 0 16vw;
    }
    #faq .inner{
        max-width: none;
    }
    #faq .ttl_area{
        margin: 0 0 16vw;
    }
    #faq .ttl_area .label{
        font-size: 4.2666666666666666667vw;
        margin: 0 0 5.3333333333333334vw;
    }
    #faq .ttl_area h2{
        font-size: 8vw;
        margin: 0 0 5.3333333333334vw;
    }
    #faq .ttl_area .note{
        font-size: 3.733333333333334vw;
        line-height: 1.78;
    }
    #faq .faq_ctt{
        gap: 5.33333333333334vw;
        margin: 0 0 13.333333333333335vw;
    }
    #faq .faq_ctt dl{
        max-width: none;
        padding: 0 0 5.3333333333333333334vw;
    }
    #faq .faq_ctt dl dt{
        gap: 5.333333333334vw;
        padding-right: 6.6666666666667vw;
    }
    #faq .faq_ctt dt::after {
        width: 3.2vw;
        height: 3.2vw;
    }
    #faq .faq_ctt dt::after {
        width: 3.2vw;
        height: 0.533333333333333333vw;
    }
    #faq .faq_ctt dt::before {
        right: 1.33333333333333333335vw;
        width: 0.533333333333333333vw;
        height: 3.2vw;
    }
    #faq .faq_ctt dl dt span{
        width: 9.6vw;
        height: 9.6vw;
        font-size: 4vw;
        padding-top: 0;
        flex-shrink: 0;
    }
    #faq .faq_ctt dl dt p{
        font-size: 3.46666666666666663vw;
        line-height: 1.54;
		padding: 0;
    }
    #faq .faq_ctt dl dd{
        font-size: 3.2vw;
        padding: 4vw 0 0 16vw;
    } 
    #faq .btn a{
        width: 68vw;
        height: 14.6666666666666666666vw;
        font-size: 4vw;
    }
    #faq .btn a::before{
        right: 3.73333333333333334vw;
        width: 4.8vw;
        height: 4.8vw;
    } 
}


/* pagenavi */
.wp-pagenavi{
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin: 55px auto 0;
}
.wp-pagenavi .pages,
.wp-pagenavi .first,
.wp-pagenavi .last{
    display: none;
}
.wp-pagenavi a,
.wp-pagenavi .extend,
.wp-pagenavi .current{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-align: center;
    line-height: 2;
    color: #1A2C44;
    background-color: #fff;
    border: 1px solid #1A2C44 !important;
    border-radius: 2px;
    transition: all .3s;
    padding: 0 !important;
    margin: 0 !important;
}
.wp-pagenavi .current,
.wp-pagenavi a:hover{
    background-color: #ED6C00;
    color: #fff;
    border: 1px solid #ED6C00 !important;
    opacity: 1;
}


/* sidebar
------------------------------*/
.sidebar{
    max-width: 340px;
    width: 100%;
}
.sidebar .search_area{
    display: block;
    margin: 0 0 40px;
}
.sidebar .search_area #searchform{
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: space-between;
    width: 100%;
    padding: 0 20px;
    height: 55px;
    border: 1px solid #1A2C44;
    border-radius: 100vw;
    background-color: #fff;
}
.sidebar .search_area #searchform input{
    display: block;
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
    border: none;
}
.sidebar .search_area #searchform input:focus-visible{
    text-decoration: none;
    outline: none;
}
.sidebar .search_area #searchform input::placeholder{
    color: #A9A9A9;
}
.sidebar .search_area #searchform .search_icon{
    flex-shrink: 0;
    border: none;
    background-color: #fff;
    cursor: pointer;
    transition: all .3s;
}
.sidebar .search_area #searchform .search_icon:hover{
    opacity: 0.7;
}
.sidebar .search_area #searchform .search_icon img{
    display: block;
    width: 20px;
}
@media only screen and (max-width: 768px) {
    .sidebar{
        max-width: none;
    }
    .sidebar .search_area{
        display: block;
        margin: 0 0 13.333333333333333334vw;
    }
    .sidebar .search_area #searchform{
        gap: 1.33333333333333335vw;
        padding: 0 5.3333333333333334vw;
        height: 13.333333333333333333334vw;
    }
    .sidebar .search_area #searchform .search_icon img{
        width: 4.8vw;
    }
}

.sidebar .bnr img{
    display: block;
    max-width: 335px;
    width: 100%;
    margin: 0 auto 40px;
}

.sidebar .popular_area{
    display: block;
    width: 100%;
    margin: 0 0 70px;
}
.sidebar .popular_area .ttl_area{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 35px;
}
.sidebar .popular_area .ttl_area p{
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0.06em;
}
.sidebar .popular_area .ttl_area span{
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #ED6C00;
}
.sidebar .popular_area .post_ctt{
    padding: 30px 20px;
    border-radius: 5px;
    background-color: #FFFFFF;
    border: 1px solid #111111;
}
.sidebar .popular_area .post_ctt .item{
    position: relative;
    display: flex;
    gap: 14px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    transition: all .3s;
}
.sidebar .popular_area .post_ctt .item::before{
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(
        to right,
        #1A2C44 0px,
        #1A2C44 1px,
        transparent 1px,
        transparent 3px
    );
}
.sidebar .popular_area .post_ctt .item:last-of-type{
    padding-bottom: 0;
    margin-bottom: 0;
}
.sidebar .popular_area .post_ctt .item:last-of-type::before{
    display: none;
}
.sidebar .popular_area .post_ctt .item .img{
    flex-shrink: 0;
    overflow: hidden;
    border: 1px solid rgba(204, 204, 204, 0.4);
    border-radius: 5px;
}
.sidebar .popular_area .post_ctt .item .img img{
    display: block;
    width: 100%;
    max-width: 112px;
    height: auto;
    transition: all .3s;
    border-radius: 5px;
}
.sidebar .popular_area .post_ctt .item .txt{
    flex: 1;
}
.sidebar .popular_area .post_ctt .item .txt .date{
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.04em;
    margin: 0 0 10px;
}
.sidebar .popular_area .post_ctt .item .txt .ttl{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.54;
}
.sidebar .popular_area .post_ctt .item:hover{
    opacity: 1;
}
.sidebar .popular_area .post_ctt .item:hover .img img{
    transform: scale(1.1);
}
@media only screen and (max-width: 768px) {
    .sidebar .popular_area{
        margin: 0 0 16vw;
    }
    .sidebar .popular_area .ttl_area{
        margin: 0 0 8vw;
    }
    .sidebar .popular_area .ttl_area p{
        font-size: 6.4vw;
    }
    .sidebar .popular_area .ttl_area span{
        font-size: 3.733333333333334vw;
    }
    .sidebar .popular_area .post_ctt{
        padding: 8vw 5.333333333333334vw;
    }
    .sidebar .popular_area .post_ctt .item{
        gap: 4vw;
        padding-bottom: 5.33333333333333334vw;
        margin-bottom: 5.33333333333333334vw;
    }
    .sidebar .popular_area .post_ctt .item .img img{
        max-width: 26.666666666666668vw;
    }
    .sidebar .popular_area .post_ctt .item .txt .date{
        font-size: 2.66666666666666666667vw;
        margin: 0 0 2.66666666666666666666667vw;
    }
    .sidebar .popular_area .post_ctt .item .txt .ttl{
        font-size: 3.466666666666666666663vw;
    }
}

.sidebar .cat_area{
    display: block;
    width: 100%;
    margin: 0;
}
.sidebar .cat_area .ttl_area{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 35px;
}
.sidebar .cat_area .ttl_area p{
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0.06em;
}
.sidebar .cat_area .ttl_area span{
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #ED6C00;
}
.sidebar .cat_area .cat_ctt{
    padding: 30px 20px;
    border-radius: 5px;
    background-color: #fff;
    border: 1px solid #111111;
}
.sidebar .cat_area .cat_ctt .item{
    display: block;
    width: 100%;
    position: relative;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.06em;
    padding-left: 20px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    transition: all .3s;
}
.sidebar .cat_area .cat_ctt .item:last-of-type{
    margin: 0;
}
.sidebar .cat_area .cat_ctt .parrent{
    padding-left: 0;
}
.sidebar .cat_area .cat_ctt .item::before{
    content: "";
    width: 13px;
    height: 10px;
    background-image: url(../img/common/sidebar-arrow.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 15%;
    right: 0;
}
.sidebar .cat_area .cat_ctt .item::after{
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(
        to right,
        #DED6C5 0px,
        #DED6C5 1px,
        transparent 1px,
        transparent 2px
    );
}
.sidebar .cat_area .cat_ctt .item:hover{
    opacity: 1;
    color: #ED6C00;
}
.sidebar .shop-area{
    margin: 70px 0 0;
}
@media only screen and (max-width: 768px) {
    .sidebar .cat_area .ttl_area{
        margin: 0 0 8vw;
    }
    .sidebar .cat_area .ttl_area p{
        font-size: 6.4vw;
    }
    .sidebar .cat_area .ttl_area span{
        font-size: 3.733333333333333334vw;
    }
    .sidebar .cat_area .cat_ctt{
        padding: 8vw 5.3333333333333333334vw;
    }
    .sidebar .cat_area .cat_ctt .item{
        font-size: 4.266666666666666667vw;
        padding-left: 5.333333333333333334vw;
        padding-bottom: 5.333333333333333334vw;
        margin-bottom: 5.333333333333333334vw;
    }
    .sidebar .cat_area .cat_ctt .item::before{
        width: 3.4666666666666666663vw;
        height: 2.66666666666666666667vw;
    }
    .sidebar .shop-area{
        margin: 16vw 0 0;
    }

}
