/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v7.0.29,
* Autoprefixer: v9.7.6
* Browsers: last 4 version
*/

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-decoration: none;
}
li {
    list-style: none;
}
a {
    text-decoration: none;
    color: #000;
    line-height: 1;
}
img {
    width: 100%;
}
h1 {
    font-size: 16px;
    margin: 0 0 20px;
}
z
li,
h2 {
}
dl,
dt,
dd,
ul,
li {
    margin: 0;
    padding: 0;
}
tbody {
    display: block;
}

body {
    color: #000;
    font-family: a-otf-ryumin-pr6n, serif;
    font-weight: 300;
    font-style: normal;
    font-size: 13px;
    line-height: 2;
    letter-spacing: 0.15em;
    background: #fff;
/*    transition: 300ms;*/
/*    opacity: 0;*/
/*    visibility: hidden;*/
    padding: 0;
    margin: 0;
    overflow-x: hidden;
}

/*-----------------------
common
-----------------------*/
.pc {
    display: block;
}
.smp {
    display: none;
}
.all_wrap {
    position: relative;
}
section {
    padding: 120px 0;
}
.en {
    font-family: canto, serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.25em;
    line-height: normal;
}
/*body.fade {
    opacity: 1;
    visibility: visible;
}*/
/*-----------------------
common pd mg
-----------------------*/
.pb-0 {
    padding-bottom: 0 !important;
}
.pt-0 {
    padding-top: 0 !important;
}
.pt-200 {
    padding-top: 200px !important;
}
.bg-gray {
    background: #FAFAFA;
}
.border-1px {
    border: 1px solid #ddd;
    padding: 30px !important;
    margin: 20px 0 0;
}
.font-minamoto-min-900 {
    font-family: source-han-serif-japanese, serif;
    font-weight: 900;
    font-style: normal;
}
.font-minamoto-gothic-900 {
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 900;
    font-style: normal;
}
.font-ryo-gothic-300 {
    font-family: ryo-gothic-plusn, sans-serif;
    font-weight: 300;
    font-style: normal;
}
.wp-block-image {
    margin-bottom: 0 !important;
}
.pc-50-auto img {
    width: 50%;
    margin: auto;
    display: block;
}
.pc-pb-0 {
    padding-bottom: 0 !important;
}
.mg-t-20 {
    margin: -20px 0 0 !important;
}

@media screen and (max-width: 767px) {
    .pc {
        display: none;
    }
    .smp {
        display: block;
    }
    section {
        padding: 80px 0;
    }
    .pc-50-auto img {
        width: 100%;
        margin: auto;
    }
    .smp-tablet {
        display: block;
    }
    .pc-tablet {
        display: none;
    }
    .tablet {
        display: none;
    }
    .smp_mb_20 {
        margin: 0 0 20px !important;
    }
    .smp_mb_60 {
        margin: 0 0 60px !important;
    }
    .brand_page_smp_new_owner {
        padding: 100px 0 0;
    }

    p.product_name {
        margin: auto;
    }
    .pt-200 {
        padding-top: 120px !important;
    }
}

/*-----------------------
下層タイトル
-----------------------*/
.page_header {
    position: relative;
    margin: 75px 0 100px;
    color: #fff;
}
.page_header h3 {
    font-size: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    text-align: center;
}
.page_header .category {
    font-size: 13px;
    letter-spacing: 0.25em;
}
@media screen and (max-width: 767px) {
    .page_header {
        position: relative;
        margin: 60px 0;
    }
    .page_header h3 {
        text-align: center;
        width: 100%;
    }
    .page_header img {
        height: 140px;
        object-fit: cover;
    }
}

/*-----------------------
wrap
-----------------------*/
.wrap_70 {
    width: 70%;
    margin: auto;
}
.wrap_70 .title {
    width: 90%;
    margin: auto;
    font-size: 28px;
    text-align: center;
    margin: 0 auto 40px;
}
@media screen and (max-width: 767px) {
.wrap_70 .title {
    font-size: 26px;
}   
}
.wrap_70 .title span {
    line-height: 1;
    display: block;
}
.wrap {
    width: 80%;
    max-width: 790px;
    margin: auto;
}
.wrap_100 {
    width: 100%;
    max-width: 100%;
}
.wrap_100 .title {
    width: 90%;
    margin: auto;
    font-size: 1.5rem;
    text-align: center;
    margin: 0 auto 40px;
}
@media screen and (max-width: 767px) {
    .wrap {
        width: 90%;
        max-width: unset;
        margin: auto;
    }
    .wrap_70 {
        width: 80%;
        margin: auto;
    }
    .wrap_100 .title {
        width: 90%;
        margin: auto;
    }
    .wrap_100 p {
        width: 90%;
        margin: 20px auto;
    }
}

/*-----------------------
TOP
-メインバナー
-----------------------*/
.main_banner {
    position: relative;
    height: 80vh !important;
    margin: 75px 0 0;
}
.main_banner img {
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
}
.banner_inner {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
}
.banner_txt {
    text-align: center;
    margin: 0 0 20px;
    font-size: 24px;
}
.banner_txt_eng {
    font-size: 14px;
    display: block;
    margin: 0 0 30px;
    text-align: center;
}
/*-----------------------
バナー内ボタン
-----------------------*/
.banner_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.banner_btn p {
    padding: 5px 30px;
    margin: 0 20px;
    border: 1px solid #fff;
}
.banner_btn a {
    padding: 20px 40px;
    border: 1px solid #fff;
    margin: 0 20px;
    background: rgba(113 107 84 / 90%);
}
.banner_btn a:hover {
    background: #65593d;
    -webkit-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
}

@media screen and (max-width: 767px) {
    .main_banner {
        height: 65vh !important;
        margin: 60px 0 0;
    }
    .banner_btn {
        text-align: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .banner_btn a {
        padding: 20px 0px;
        border: 1px solid #fff;
        margin: 0 auto 20px auto;
        width: 70%;
        color: #fff;
        background: rgb(113 107 84 / 90%);
    }
    .banner_inner {
        width: 90%;
    }
    .banner_txt {
        line-height: 1.5;
        font-size: 20px;
        /*margin: 0px 0 15px;*/
    }
    .banner_btn p {
        padding: 10px 26px;
        margin: 0 6px;
        border: 1px solid #fff;
    }
}


/*-----------------------
MENU
-----------------------*/
.new--menu ul {
    display: flex;
    margin-top: 74px;
    justify-content: space-between;
    align-items: stretch; /* 子要素の高さを揃える */
    flex-wrap: wrap; /* 改行を許可 */
    border-bottom: 1px solid #999383;
    border-top: 1px solid #999383;
}

.new--menu li {
    width: 25%;
    border-left: 1px solid #999383;
    display: flex; /* 高さ揃えのため追加 */
    align-items: center; /* 縦方向の中央揃え */
    justify-content: center; /* 横方向の中央揃え */
}

.new--menu li:first-child{
    border-left:none;
}

.new--menu li a {
    font-size: 1rem;
    padding: 40px 0;
    color: #000;
    text-align: center;
    width: 100%; /* リンクをブロック要素全体に広げる */
}

@media screen and (max-width: 767px) {
    .new--menu ul {
        flex-wrap: wrap;
    }
    .new--menu li {
        width: 50%;
        border-left: none;
        border-right: 1px solid #999383;
        border-bottom: none;
    }
    .new--menu li a {
        font-size: 13px;
        padding: 20px 20px 15px;
        line-height: 1.5;
    }
    .new--menu li:nth-child(1),
    .new--menu li:nth-child(2) {
        border-bottom: 1px solid #999383;
    }
    .new--menu li:nth-child(2n) {
        border-right: none;
    }
}


/*-----------------------
TOP
recommend,sold
-----------------------*/
.top--recommend-list {
    display: flex;
    justify-content: space-between;
    margin: 0 0 60px;
}
.top--recommend-list li {
    width: 30%;
}
.top--recommend-list li a {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.top--recommend-list li a img {
    margin: 0 0 20px;
}
@media screen and (max-width: 767px) {
    .top--recommend-list {
        flex-direction: column;
    }
    .top--recommend-list li {
        width: 100%;
        margin: 0 0 40px;
    }
    .top--recommend-list li:last-child {
        margin: 0;
    }
}



/*-----------------------
TOP-News
-----------------------*/
.news_list_wrap{
    border-top: 1px solid #ddd;   
}
.h_moser_news_inner_wrap{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row;
            flex-flow: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.news_list_wrap .h_moser_news_thumb img{
    display: block;
    width: 130px;
    margin: 0 15px 0 0px;
    -o-object-fit: cover;
       object-fit: cover;
    height: 130px;
}

.news_list_wrap a{
    display: block;
    padding: 10px;
    border-bottom: 1px solid #ddd;
}
.h_moser_news_title_wrap{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
}
.h_moser_news_title_wrap .en{
    margin: 0 0 10px;
}
.h_moser_news_title_wrap .en + div{
    line-height: normal;
}
.news_list_shop {
    padding: 2px 20px 4px 20px;
    background: #222;
    font-size: 10px;
    margin: 0 15px;
    line-height: 0;
}
.news_list_wrap + .square_btn{
    margin: 50px 0 0;
}

/*-----------------------
NEWS詳細
-----------------------*/
.single_title {
    margin: 0 0 30px;
}
.news_single_day {
    line-height: 2.2;
    margin: -16px 0 0;
    font-size: 14px;
}
.news_single_shop {
    background-color: #222;
    font-size: 10px;
    height: 24px;
    line-height: 22px;
    width: 70px;
    text-align: center;
    margin: 10px 0 0;
}
.news_single_wrap a{
    color: #008dff;
    word-break: break-all;
    text-decoration: underline;
}
.news_single_wrap p{
    padding: 20px 0 0;
}
@media screen and (max-width: 767px) {

.news_list_wrap .h_moser_news_thumb img{
    width: 100px;
    height: 100px;
}
.h_moser_news_title_wrap .en{
    margin: 0 0 5px;
}

/*-----------------------
SMPNEWS
-----------------------*/
    .news_list_wrap dd {
        width: 100%;
        margin: 10px 0 0;
        display: inline-block;
    }
    .news_list_wrap dt {
        width: 100%;
    }
    .news_list_wrap dl a {
        padding: 18px 10px 12px 10px;
    }
}

/*-----------------------
TOP-2カラム
-----------------------*/
.colum2-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.colum2-wrap-inner {
    width: 45%;
    display: flex;
    flex-direction: column;
}
.colum2-wrap-inner-column {
}

.colum2-wrap-inner-column h1 {
    margin: 10px 0 30px;
    font-size: 28px;
    line-height: 1;
}
.colum2-wrap-inner-column h1.jp {
    margin: 10px 0 30px;
    font-size: 22px;
    line-height: 1;
}
.colum2-wrap-inner-column p {
    padding: 0;
    margin: 0 0 30px;
}
.colum2-wrap-inner-column .square_btn a {
    margin: 0 auto 0 0;
}
.colum2-wrap-inner-img {
    position: relative;
    width: 100%; /* 親要素の幅に基づく */
}

.colum2-wrap-inner-img::before {
    content: "";
    display: block;
    padding-top: 100%; /* 幅の100%に相当する高さを設定 */
}
.colum2-wrap-inner-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* 画像を正方形内に収める */
    display: block;
}
@media screen and (max-width: 767px) {
    .colum2-wrap-inner-column h1 {
        font-size: 26px;
    }
    .colum2-wrap-inner-column h1.jp {
        margin: 10px 0 30px;
        font-size: 20px;
        line-height: 1;
    }
}



.pre-ownd-logo{
    width: 290px;
}


@media screen and (max-width: 767px) {
    .colum2-wrap {
        flex-direction: column;
    }
    .colum2-wrap-inner {
        width: 100%;
    }
    .colum2-wrap-inner:first-child {
        margin: 0 0 40px;
    }
    .colum2-wrap-inner-column .square_btn a {
        margin: 0 auto;
    }
    .pre-ownd-logo{
        width: 100%;
    }
    .pre-ownd-logo + span{
        text-align: center;
        display: block;
    }
}

/*-----------------------
TOP-contact
-----------------------*/

.contact-info{
    text-align: center;
    margin: 0 0 80px;
}
.contact-info .tel{
    font-size: 28px;
}

@media screen and (max-width: 767px) {
.contact-img{
    margin: 0 0 30px;
}
.contact-info{
    text-align: center;
    margin: 0 0 80px;
}
}

.contact-btn a{
    display: flex;
    justify-content: center;
    align-items: center;
    background: #999383;
    padding: 40px;
    color: #fff;
    font-size: 20px;
}
.contact-btn a:hover{
    background: #817c6f;
    transition: all 0.25s ease;
}
.contact-btn img{
    margin: 0 0 0 20px;
    width: 20px;
}


#newowner-contact .contact-wrap {
    display: flex;
    justify-content: space-between;
    background: #999383;
    flex-direction: row;
}
#newowner-contact .contact-wrap-inner{
    width: 50%;
    display: flex;
}
#newowner-contact .contact-wrap-inner a{
    display: flex;
    padding: 40px;
    width: 100%;
    color: #fff;
    font-size: 20px;
    justify-content: center;
    align-items: center;
}
#newowner-contact  .contact-wrap-inner:last-child{
    background: #827552;
}
#newowner-contact .contact-wrap-inner a img{
    margin: 0 0 0 20px;
    width: 20px;
}




@media screen and (max-width: 767px) {
    .contact-btn a{
        font-size: 18px;   
    }
    #newowner-contact .contact-wrap {
        flex-direction: column-reverse;
        border-top: none;
    }
    #newowner-contact .contact-wrap-inner{
        width: 100%;
    }
    #newowner-contact .contact-wrap-inner a{
        padding: 40px;
        font-size: 18px;

    }
    #newowner-contact .contact-wrap-inner:last-child {

    }
    
}





/*-----------------------
TOP-shop-list
-----------------------*/
.shop-list-wrap-2column {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #999383;
}
.shop-list-wrap-2column div {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    text-align: center;
}
.shop-list-wrap-2column h3 {
    font-size: 20px;
    margin: 0 0 20px;
}
.shop-list-wrap-2column p {
    padding: 0;
}
@media screen and (max-width: 767px) {
    .shop-list-wrap-2column {
        flex-direction: column;
    }
    .shop-list-wrap-2column div {
        width: 100%;
        padding: 0;
    }
    .shop-list-wrap-2column div:last-child {
        padding: 50px 0;
    }
}
.shop-list-wrap-3column {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #999383;
}
.shop-list-wrap-3column div {
    width: 33.3%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    border-left: 1px solid #999383;
    text-align: center;
    padding: 80px 0;
}
.shop-list-wrap-3column div:first-child {
    border-left: none;
}
.shop-list-wrap-3column div:first-child h3 {
    margin: 0;
}
.shop-list-wrap-3column div:first-child h3 + p {
    margin: 0 0 30px;
}
.shop-list-wrap-3column h3 {
    font-size: 20px;
    margin: 0 0 20px;
}
.shop-list-wrap-3column p {
    padding: 0;
}
.shop-list-wrap-3column a {
    display: block;
    margin: 30px 0;
    color: #38cbd1;
}

@media screen and (max-width: 767px) {
    .shop-list-wrap-3column{
        flex-direction: column;
        border-bottom: none;
    }
    .shop-list-wrap-3column div {
        width: 100%;
        border-left: none;
        border-bottom: 1px solid #999383;
        padding: 50px 0;
    }
    .shop-list-wrap-3column div:last-child {
        border-bottom:none;
    }
    .shop-list-wrap-3column a{
        margin: 20px 0 0;
    }
}


/*-----------------------

-----------------------*/
ul.product_slide_list {
    overflow-x: scroll;
    white-space: nowrap;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
/* Chrome, Safari 対応 */
ul.product_slide_list::-webkit-scrollbar {
    display: none;
}
ul.product_slide_list li {
    margin: 0 30px 0 0;
    word-break: break-word;
    white-space: normal;
}
ul.product_slide_list li a {
    display: block;
    width: 215px;
    position: relative;
}
ul.product_slide_list li a img {
    margin: 0 0 20px;
}

p.product_name {
    margin: 0;
    display: block;
    padding: 0 !important;
    line-height: normal;
    text-align: center;
}
/*-----------------------
商品詳細
-----------------------*/
.product_detail_wrap {
    width: 60%;
    position: relative;
    margin: auto;
    max-width: 800px;
}

#lineup,#certified{
    border-bottom: 1px solid #999383;
}

@media screen and (max-width: 767px) {
    #recommend ul.product_slide_list {
        margin: 0 0 0 5%;
    }
    #lineup ul.product_slide_list {
        margin: 0 0 0 5%;
    }
    .product_detail_wrap {
        width: 90%;
        margin: auto;
    }
    .product_detail_wrap p.detail_desc {
        margin: 20px 0;
    }
}

/*-----------------------
about
-----------------------*/
#about .detail_cap {
    width: 100%;
    border-bottom: 0;
    /*border-collapse: collapse;*/
    margin: 30px 0 0;
    text-align: left;
}
#about th {
    border-top: 0;
    /*padding: 15px;*/
    padding: 8px 20px 8px 0px;
    width: 20%;
    text-align: left;
}
#about td {
    border-top: 0;
    /*padding: 15px;*/
    padding: 8px;
}

.detail_cap {
    width: 100%;
    border-bottom: 1px solid #ddd;
    border-collapse: collapse;
    margin: 30px 0 0;
    text-align: left;
}
.detail_cap th {
    border-top: 1px solid #ddd;
    padding: 15px;
    padding-right: 20px;
    width: 200px;
    text-align: left;
}
.detail_cap td {
    border-top: 1px solid #ddd;
    padding: 15px;
    padding: 8px;
    width: 700px;
}

@media screen and (max-width: 767px) {
/*-----------------------
SMP商品詳細
-----------------------*/
    .detail_cap,
    .detail_cap tr,
    .detail_cap td,
    .detail_cap th {
        display: block;
    }
    .detail_cap th {
        border-top: 1px solid #ddd;
        padding: 15px 15px 0;
        width: auto;
    }
    .detail_cap td {
        border-top: 0;
        padding: 0 15px 15px;
        width: auto;
    }

    #about .detail_cap {
        border-bottom: 1px solid #ddd;
    }

    #about .detail_cap,
    #about .detail_cap tr,
    #about .detail_cap td,
    #about .detail_cap th {
        display: block;
    }
    #about .detail_cap th {
        border-top: 1px solid #ddd;
        padding: 15px 15px 0;
        width: auto;
    }
    #about .detail_cap td {
        border-top: 0;
        padding: 0 15px 15px;
    }
}

/*-----------------------
メンテナンス
-----------------------*/
.mainte {
    padding: 15px;
    border: 1px solid #fff;
    margin: 0 0 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
}
.mainte img {
    width: 25px;
    height: 25px;
    margin: 0 15px 0 0;
}
@media screen and (max-width: 767px) {
    /*-----------------------
SMP商品一覧
-----------------------*/
    .mainte {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .narrow_list {
        -webkit-box-pack: unset;
        -ms-flex-pack: unset;
        justify-content: unset;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
    }
}


/*-----------------------
商品一覧
-----------------------*/
.product_wrap {
    text-align: center;
}
.product_wrap ul {
    width: calc(100% + 20px);
    margin: 0 -10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.product_wrap li {
    padding: 0 10px 60px;
    width: calc(33.3333%);
    position: relative;
}
.product_wrap li a {
    display: block;
}
.product_wrap li a img {
    margin: 0 0 10px;
}

@media screen and (max-width: 767px) {
    .product_wrap li {
        padding: 0 10px 40px;
        width: calc(50%);
        position: relative;
    }
}


.narrow_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

/*-----------------------
委託
-----------------------*/
.howto li {
    margin: 0 0 60px;
}
.howto_desc h2 span {
    font-size: 80px;
    color: #eee;
    position: absolute;
    left: 0;
    top: -15px;
    z-index: -1;
    line-height: 1;
    font-weight: 100;
    letter-spacing: 0;
}
.howto_desc h2 {
    font-size: 16px;
    position: relative;
}
.howto_desc p {
    padding: 0;
}
.howto_inner_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.howto_img {
    width: 45%;
    flex-shrink: 0;
    margin: 0 40px 0 0;
}
.howto_desc {
    margin: 0 0 60px;
}
.howto_desc:last-child{
    margin: 0;
}
.howto_desc_wrap {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.howto_inner_wrap-column{
    display: flex;
    justify-content: space-between;
} 
.howto_inner_wrap-column .inner{
    width: 48%;
    display: flex;
    flex-direction: column;
}
.howto_inner_wrap-column .howto_img{
    width: 100%;
} 
.howto_inner_wrap-column .howto_desc{
    width: 100%;
} 
@media screen and (max-width: 767px) {
    .howto_inner_wrap-column{
        flex-direction: column;
    }
    .howto_inner_wrap-column .inner{
        width: 100%;
    }
}


#certified .title p{
    margin: 0 0 30px;
}


@media screen and (max-width: 767px) {
    .howto_inner_wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        /* justify-content: space-between; */
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
        width: 100%;
        margin: auto;
    }
    .howto_desc {
        width: 100%;
        margin: 0 0 60px;
    }
    .howto_img {
        width: 100%;
        margin: 0 0 40px;
    }
}

/*-----------------------
特集
-----------------------*/
.special_all_wrap ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: wrap;
    flex-flow: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.special_all_wrap li {
    width: 45%;
    margin: 0 0 60px;
}
.special_all_wrap li:first-child {
    width: 100%;
}
.special_all_wrap li:first-child img {
    height: auto;
}
.special_all_wrap li img {
    height: 20vh;
    object-fit: cover;
}
.special_all_date {
    line-height: normal;
    margin: 10px 0;
}
.special_all_desc {
    line-height: 2em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
/*-----------------------
SMP特集
-----------------------*/
    .special_all_wrap li {
        width: 100%;
        margin: 0 0 50px;
    }
    .special_all_wrap li img {
        height: auto;
        object-fit: cover;
    }
}

/*-----------------------
TELセクション
-----------------------*/
.tel_wrap {
    padding: 20px 0;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    margin: 30px 0 0;
}
.wrap .tel_wrap {
    /*padding: 20px 100px;*/
}
.tel_wrap ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
}
.tel_wrap li {
    width: 50%;
}
.tel_wrap p {
    padding: 0;
}
.tel_shop_name {
    font-size: 16px;
}
.tel_num {
    font-size: 34px;
    line-height: normal;
    letter-spacing: 0.15em;
}

.tel_wrap_map ul {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    padding: 30px 0;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
}
.tel_wrap_map ul li {
    width: 100%;
    text-align: center;
}
.tel_wrap_map ul li:nth-child(2) {
    border-bottom: 1px solid #333;
    padding: 5px 0 20px;
}
.tel_wrap_map ul li:nth-child(3) {
    padding: 30px 0 0;
}
.tel_wrap_map ul li:nth-child(4) {
    padding: 10px 0 30px;
}
li.tel_shop_map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 75%;
}
li.tel_shop_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 767px) {
    .wrap .tel_wrap {
        padding: 0;
    }
    .tel_wrap {
        padding: 0;
        border-top: 1px solid #333;
        border-bottom: 1px solid #333;
        margin: 30px 0 0;
    }
    .tel_wrap li:first-child {
        padding: 20px 0;
        border-bottom: 1px solid #333;
    }
    .tel_wrap li {
        padding: 20px 0;
        width: 100%;
    }
    .tel_wrap ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: unset;
        -ms-flex-pack: unset;
        justify-content: unset;
        -webkit-box-align: unset;
        -ms-flex-align: unset;
        align-items: unset;
        text-align: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
    }
}

/*-----------------------
Youtube
-----------------------*/
.wp-block-embed__wrapper {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
}

.wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

#recruit p {
    margin: 0 0 40px;
    text-align: center;
}
@media screen and (max-width: 767px) {
    #recruit p {
        text-align: left;
    }
}

/*-----------------------
フッター
-----------------------*/
footer {
    color: #fff;
    border-top: 1px solid #eaeaea;
}

.footer_wrap {
    width: 100%;
    margin: auto;
    padding: 80px 0;
}
.footer_inner {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
.footer_inner .logo {
    width: 10%;
    margin: 0 0 20px;
}

.footer_inner ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    margin: 0 0 20px;
}
.footer_inner ul:last-child{
    margin: 0 0 60px;
}
.footer_inner li {
    margin: 0 20px;
}

.footer_sns {
}
.footer_sns ul {
    display: flex;
    justify-content: center;
    padding: 0;
}
.footer_sns ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}
.footer_sns ul li a img {
    height: 30px;
    width: 30px;
}
.footer_copy {
    width: 100%;
    background: #000;
    color: #fff;
    text-align: center;
    padding: 20px 0;
    font-size: 10px;
}
@media screen and (max-width: 767px) {
    .footer_sns ul li a img {
        height: 25px;
        width: 25px;
    }
}



@media screen and (max-width: 767px) {
    .footer_wrap {
        padding: 50px 0;
    }
    .footer_inner {
        flex-flow: column;
        width: 100%;
    }
    .footer_inner ul {
        flex-flow: column;
        width: 100%;
        margin: 0;
    }
    .footer_inner ul:nth-child(3) {
        border-top: none;
    }
    .footer_inner ul:last-child{
        border-top: none;
    }
    .footer_inner li{
        width: 100%;
    }
    .footer_inner a{
        padding: 20px;
        display: block;
    }
    .footer_inner .logo{
        width: 30%;
        margin: 0 0 40px;
    }
    .footer_inner .logo a{
        border-bottom: none;
        padding: 0;
    }

    .footer_inner .detail_cap {
        width: 80%;
        margin: 0 auto 20px auto;
        border-bottom: 0;
        border-right: 0;
    }
    .footer_inner .detail_cap tr {
        padding: 0;
    }
    .footer_inner .detail_cap td {
        width: 100%;
        border-bottom: 1px solid #666;
        padding: 0 0 10px;
    }
    .footer_inner .detail_cap th {
        border-bottom: 0;
    }
}




.sitemap-wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.sitemap-wrap-inner{
    width: 30%;
    margin: 0 0 30px;
    display: flex;
    flex-direction: column;
}
.sitemap-wrap-inner .main{
    margin: 0 0 20px;
    font-size: 18px;
}
.sitemap-wrap-inner .sub{
    display: flex;
    flex-direction: column;
}
.sitemap-wrap-inner .sub a{
    display: block;
    margin: 0 0 20px;
}
.sitemap-wrap-inner:last-child{
    margin: 0;
}
@media screen and (max-width: 767px) {
    .sitemap-wrap{
        flex-direction: column;
    }
    .sitemap-wrap-inner{
        width: 100%;
    }
}



.search_result_text{
    margin: 0 0 30px;   
}





.tablet {
    display: none;
}
.pc-tablet {
    display: block;
}
.smp-tablet {
    display: none;
}
.wp-block-image img {
    max-width: 100%;
    object-fit: contain;
    height: auto;
}
h3.search_result_text {
    margin: 0 0 30px;
}
/*map*/
li.tel_shop_map iframe,
li.tel_shop_map object,
li.tel_shop_map embed {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
    -webkit-transition: all 0.7s ease;
    -moz-transition: all 0.7s ease;
    -o-transition: all 0.7s ease;
    transition: all 0.7s ease;
}

li.tel_shop_map iframe:hover,
li.tel_shop_map object:hover,
li.tel_shop_map embed:hover {
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    -ms-filter: grayscale(0%);
    -o-filter: grayscale(0%);
    filter: grayscale(0%);
}
.privacy .title {
    margin: 30px 0 10px;
    display: block;
}
.privacy .title h1 {
    margin: 0;
}
.privacy th {
    vertical-align: top;
    padding: 0 3px 0 0;
}
.privacy_child {
    margin: 0 0 0 50px;
}
.privacy_grand_child {
    margin: 0 0 0 100px;
}
.privacy_wrap p {
    padding: 0;
}

@media (max-width: 1024px) and (min-width: 767px) {
    .pc {
        display: none;
    }
    .smp {
        display: none;
    }
    .tablet {
        display: block;
    }
    .pc-tablet {
        display: block;
    }
    .smp-tablet {
        display: block;
    }
    .pb-0 {
        padding-bottom: 0 !important;
    }
    .pt-0 {
        padding-top: 0 !important;
    }
    .product_detail_wrap {
        width: 80%;
    }
    .shop-list-wrap-3column div {
        padding: 80px 40px;
    }
    .shop-list-wrap-2column div {
        position: relative;
        padding: 40px 20px;
    }
    .shop-list-wrap-2column div img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    .footer_inner li {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
    }
    .footer_inner li a {
        margin: 20px;
    }
}

@media screen and (max-width: 767px) {
    /* 初期状態: 非表示 */
    .smp_popup_link {
        background: #fff;
        position: fixed;
        z-index: 99;
        bottom: 0;
        width: 100%;
        visibility: hidden; /* 非表示 */
        opacity: 0; /* 透明 */
        transition: opacity 0.3s ease, visibility 0.3s ease; /* フェード効果 */
    }

    /* スクロール位置が一定以上で表示 */
    .smp_popup_link.show {
        visibility: visible; /* 表示状態 */
        opacity: 1; /* 完全に不透明 */
    }

    .smp_popup_link a {
        color: #000;
        padding: 13px 0;
        display: block;
        text-align: center;
        width: 100%;
        line-height: 1;
    }

    .smp_popup_link img {
        height: 22px;
        display: block;
        margin: 0 0 10px;
    }

    .smp_popup_link ul {
        display: flex;
        justify-content: space-between;
        border-top: 1px solid #999383;
    }

    .smp_popup_link li:nth-child(2) img {
        width: 28px;
        margin: 0px auto 10px;
    }

    .smp_popup_link li:last-child {
        -ms-flex-preferred-size: 60%;
        flex-basis: 60%;
        border-right: 0;
    }

    .smp_popup_link li:last-child img {
        width: 30px;
        margin: 0px 5px 5px;
    }

    .smp_popup_link li:last-child a {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .smp_popup_link li {
        border-right: 1px solid #999383;
        flex-basis: 20%;
        display: flex;
        justify-content: center;
    }
}


#policy .title{
    margin: 30px 0 0;
}



.company th{
text-align: left;
padding: 10px 0 10px;
}
.company td{
padding: 0 0 0 10px;
}
@media screen and (max-width: 767px) {
.company th{
text-align: left;
padding: 0px 0 20px;
vertical-align: top;
}
.company td{
padding: 0 0 0 10px;
    vertical-align: top;
}
.company tr:nth-child(3) td{
padding: 0px 0 20px 10px;
}
.company tr:nth-child(4) td{
padding: 0px 0 20px 10px;
}
}



.all_contact_wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
}
@media screen and (max-width: 767px) {
    .all_contact_wrap{
        flex-direction: column;
    }
}
.to_ginza{
    border-right:1px solid #c3bdab;
}
@media screen and (max-width: 767px) { 
    .to_ginza{
        border-right:none;
        border-bottom:1px solid #c3bdab;
        padding: 60px 40px 0;
    }
    .to_apprisal{
        padding: 40px;
    }
}
.to_ginza,.to_apprisal{
width: 50%;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
@media screen and (max-width: 767px) { 
    .to_ginza,.to_apprisal{
        width: 100%;
        height: 45vh;
    }
}
.to_ginza .ttl,
.to_apprisal .ttl{
    margin: 0 0 20px;
}

.all_contact_wrap .square_btn a{
    background-color: #999383;
    color: #fff;
}
.all_contact_wrap .square_btn a:hover{
    background-color: #817c6f;
    color: #fff;
}