@charset "utf-8";
/*
Theme Name:astra_child
Template:astra
Version: 2.3.1
*/
		/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	text-decoration: none;
}
	a:visited{
		text-decoration: none;
	}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}
/* リセットCSSここまで */
*, *::before, *::after {
    box-sizing: border-box;
}

/* Webフォント読み込み */
@font-face {
  font-family: 'Bristol'; /* 自分で決める任意のフォント名 */
  src: url('/wp/wp-content/customset/fonts/Bristol.woff2') format('woff2'), /* サーバー上のパスと形式 */
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* フォント読み込み中の表示挙動 */
}

@font-face {
  font-family: 'Futura'; /* 自分で決める任意のフォント名 */
  src: url('/wp/wp-content/customset//fonts/Futura.woff2') format('woff2'), /* サーバー上のパスと形式 */
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* フォント読み込み中の表示挙動 */
}

@font-face {
  font-family: 'Geometria'; /* 自分で決める任意のフォント名 */
  src: url('/wp/wp-content/customset/fonts/Geometria.woff2') format('woff2'), /* サーバー上のパスと形式 */
  font-display: swap; /* フォント読み込み中の表示挙動 */
}

@font-face {
  font-family: 'Apris'; /* 自分で決める任意のフォント名 */
  src: url('/wp/wp-content/customset/fonts/Apris-Regular.woff2') format('woff2'), /* サーバー上のパスと形式 */
  font-display: swap; /* フォント読み込み中の表示挙動 */
}

.submenu {
    display: none !important;
}

.menu-row .submenu {
    display: flex !important; /* または display: flex; など、元のデザインに合わせてください */
}

/* 全般 */
/* テキストのサイズをrem指定する */
html{
    font-size: 10px;
}
body{
    font-size: 1.6rem;
}

/* h1で囲われたimgの下余白を削除する。 */
h1 img{vertical-align: bottom;}

/* Webフォント指定 */
.futura_f{
    font-family: 'Futura' !important; /* 自分で決める任意のフォント名 */
}

.bristol_f{
    font-family: 'Bristol' !important; /* 自分で決める任意のフォント名 */
}

.geometria_f{
    font-family: 'Geometria' !important; /* 自分で決める任意のフォント名 */
}

/* 全般 */

/* 左右上下中央寄せ */
.p_cc{
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* ホバーでポインターを表示させる */
.cursor_p,.matomete_h{
    cursor: pointer;
}

/* クリックできないようにする */
.pointer_no{
    pointer-events: none;
}


/* TOP */
/* テキスト自動縮小 */
.top_midashi h2{
    font-size: clamp(1.4rem, calc(1.3vw + 0.1rem), 2.5rem) !important;
}

.top_submidashi h2{
    font-size: clamp(1.2rem, calc(1vw + 0.1rem), 2rem) !important;
}

.top_subtitle p{
    font-size: clamp(1.2rem, calc(0.8vw + 0.1rem), 1.5rem) !important;
}

.top_hobun p{
    font-size: clamp(1.2rem, calc(0.74vw + 0.1rem), 1.4rem) !important;
}

.top_button span{
    font-size: clamp(1.2rem, calc(1.3vw + 0.1rem), 1.7rem) !important;
}

.top_kimonomidashi span{
	font-size: clamp(5.5rem, calc(6.8vw + 0.1rem), 13rem) !important;
}

.top_kimonomidashi{
	position: absolute !important;
    top:50% !important;
    transform: translateY(-50%) !important;
}

/* 共通見出し*/
.mv_common h2,.mv_common p{
    font-size: clamp(2.3rem, calc(3.1vw + 0.1rem), 6rem) !important;
}

/* WEDDING DRESS */
.p_cc_wedding{
    position: absolute !important;
    top:47% !important;
    transform: translateY(-50%) !important;
}

/* TUXEDO */
.p_cc_groom{
    position: absolute !important;
    top:52% !important;
    transform: translateY(-50%) !important;
}

/* TREND */
.trend_m .elementor-wrapper {
    aspect-ratio: 960 / 1070 !important;
}

/* KIMONO */
.matomete_h{
    transition: 0.5s !important;
}

.matomete_h:hover{
    opacity: 0;

}

/* TOP最下部の動画 */
.last_m .elementor-wrapper {
    aspect-ratio: 1920/833;
}
@media screen and (max-width:767px){
    .last_m .elementor-wrapper {
    aspect-ratio: 414/344;
}
}

@media screen and (min-width:1024px) and ( max-width:1200px) {
    /* ABOUT TREAT */
    .about_honbunbox{
        min-width: 1000px !important;
    }
}

    /* WEDDING DRESS */
@media screen and (max-width:767px){
    .p_cc_wedding{
    top:51% !important;
}
    /* TUXEDO */
.p_cc_groom{
    top:51% !important;
}

}

/* LITTLE BOOK OF TREAT  */
@media screen and (max-width:767px){
    .lbot_box{
    width: 95% !important;
    max-width: 360px !important;
}

}

/* タキシードページ */
.tuxedo_h2 h2{
    font-size: clamp(4rem, calc(3.6vw + 0.1rem), 6.9rem) !important;
}

.tuxedo_h3 h3{
    font-size: clamp(3rem, calc(3.1vw + 0.1rem), 6rem) !important;
}

.tuxedo_p p{
    font-size: clamp(1.2rem, calc(0.8vw + 0.1rem), 1.4rem) !important;

}
.p_cx{
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translateX(-50%);
}

.about_linkset .elementor-widget-container{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px
}

.about_linkset h3{
    margin:0;
    font-family: "Geometria", Sans-serif;
    font-weight:bold;
    color:#707070;
    line-height:1;
    font-size: clamp(1.4rem, calc(1.3vw + 0.1rem), 2.5rem) !important;
}

.about_linkset a{
    font-size: clamp(1.2rem, calc(1.3vw + 0.1rem), 1.4rem) !important;
    color:#707070;
    border-bottom: 1px solid #4F4F4F75;
    transition: 0.5s;
    line-height: 1;
    padding-bottom: 2px;
    font-family: "Shippori Mincho", Sans-serif;
}

.link_p_cc{
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

.link_p_ctl{
        position: absolute !important;
    top: 50% !important;
    left: 0% !important;
    transform: translate(-50%, -50%) !important;
}

.link_p_ctr{
        position: absolute !important;
    top: 50% !important;
    left: 100% !important;
    transform: translate(-50%, -50%) !important;
}

.tuxedo_button span{
    font-size: clamp(1.2rem, calc(1.3vw + 0.1rem), 1.4rem) !important;
}

@media screen and (max-width:1024px){
.spo_p_cc{
        position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}
    .link_p_cc{
    position: static !important;
    transform: none !important;
}
}
@media screen and (max-width:767px){
    .about_linkset{
    position: static !important;
}

}
.mv_tuxedo_order h2{
    font-size: clamp(1.6rem, calc(0.9vw + 0.1rem), 1.8rem) !important;
    font-family: "Shippori Mincho", Sans-serif !important;
}

/* タキシードの基本 */
.tuxedo_basic_eizih2 h2{
   font-size: clamp(3.2rem, calc(3.6vw + 0.1rem), 6.9rem) ;
}

.tuxedo_basic h2{
    font-size: clamp(1.6rem, calc(0.9vw + 0.1rem), 1.8rem) ;
}

.tuxedo_basic h3{
    font-size: clamp(2.4rem, calc(2.6vw + 0.1rem), 5rem) ;

}

.tuxedo_basic p{
    font-size: clamp(1.2rem, calc(0.8vw + 0.1rem), 1.6rem) ;

}

/* オーダータキシードの魅力 */
.mv_tuxedo_orderpage{
    color:#ffffff;
    text-align: center;
}

.japaneseh2{
    font-size: clamp(1.6rem, calc(0.9vw + 0.1rem), 1.8rem) ;
    font-family: "Shippori Mincho", Sans-serif;
    margin-bottom: 2.5em;
}

.eizih2{
    font-size: clamp(3.2rem, calc(3.6vw + 0.1rem), 6.9rem) ;
    font-family: "times-new-roman", Sans-serif;
    display: inline-block;
    margin-bottom: 0.2em;
    letter-spacing: 0.05em;
}

.top_gaiyo{
    font-size: clamp(1.2rem, calc(0.8vw + 0.1rem), 1.6rem) ;
    font-family: "Shippori Mincho", Sans-serif;
    line-height: 1.8em;

}

.p_c_order{
    position: absolute;
    top: 50%;
    right: 7%;
    transform: translateY(-50%);
}

.tuxedo_order p{
    font-size: clamp(1.2rem, calc(0.8vw + 0.1rem), 1.6rem) ;

}

@media screen and (max-width:767px){
    .p_c_order{
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

}

/*メンズブランド*/

.p_c_mensbrands{
    position: absolute;
    top: 50%;
    left: 7%;
    transform: translateY(-50%);
}

.p_c_mensbrands .japaneseh2{
    font-size: clamp(1.6rem, calc(0.9vw + 0.1rem), 1.8rem) ;
    font-family: "Shippori Mincho", Sans-serif;
}

.p_c_mensbrands .eizih2{
    font-size: clamp(3.2rem, calc(3.6vw + 0.1rem), 6.9rem) ;
    font-family: "times-new-roman", Sans-serif;
    display: inline-block;
    margin-bottom: 0.2em;
    letter-spacing: 0.05em;
}

@media screen and (max-width:767px){
    .p_c_mensbrands{
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

}


/*フッター*/
.ccp_ct{
    position: absolute !important;
    top: 50% !important;
    left: 0% !important;
    transform: translateY(-50%) !important;
}

.link_ico .elementor-button-text{
    display: block;
    margin-top: 0.3em !important;}


.f_menu span,.f_menu h3{
    font-size: clamp(1.2rem, calc(0.8vw + 0.1rem), 1.4rem) !important;
}

@media screen and (min-width:1024px) and ( max-width:1200px) {
    .long_menu span{
        text-align: justify;
    }
    .long_menu_br{
        display: none;
    }
}

@media screen and (max-width:767px){
    .ccp_ct{
    position: static !important;
}
}

/*店舗詳細*/
/*店舗写真ギャラリー*/
/* ギャラリー */
    .si_gallery_contents {
        width: 100%;
        position: relative;
    }

    .si_gallery_contents .swiper{
    width: 80%;
    }

    .si_gallery_contents .swiper-slide{
        aspect-ratio: 684 / 463; /* 元画像の縦横比を維持 */
        overflow: hidden;
    }

    .si_gallery_contents .swiper-slide img {
        aspect-ratio: 684 / 463;
        object-fit: cover;
        width: 100%;
        height: auto;
        display: block; /* インライン要素の隙間を防ぐ */
        transition:1s all;/* 大きくなる時間を指定する */
    }

    .si_gallery_contents .swiper-slide a:hover .swiper-slide img{
    transform:scale(1.1,1.1);/* ズーム率を指定する */
    transition:1s all;/* 大きくなる時間を指定する */
    }

    .si_gallery_contents .swiper-pagination {
        position: static !important;
        padding-top:30px;
    }

    .si_gallery_contents .swiper-pagination-bullet{
        background-color: #cccccc !important;
        width: 10px !important;
        height: 10px !important;
    }
    .si_gallery_contents .swiper-pagination-bullet-active{
        background-color: #666666 !important;
    }

    .si_gallery_contents .swiper-button-prev.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
        content: '' !important;
    }

    .si_gallery_contents .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
        content: '' !important;
    }
    .si_gallery_contents .sarrow img{
    max-width: 30px;
    }

    .si_gallery_contents .swiper-navigation-icon{
        display: none;
    }

    .si_gallery_contents .swiper-button-prev{
    left:0px !important;
    top:45% !important;
    }

    .si_gallery_contents .swiper-button-next{
    right:0px !important;
    top:45% !important;
    }

@media screen and (max-width:1024px){

    .si_gallery_contents .navi_set{
        margin-top: 20px;
    }

    .si_gallery_contents .sarrow img{
    max-width: 20px;

    }
}
@media screen and (max-width:767px){
.si_gallery_contents .swiper {
    width: 100%;
}

.si_gallery_contents .swiper-pagination {
    position: static !important;
    padding-top: 0px;
}
}

/* 店舗一覧リスト */
.silist_container{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.silist_container a{
    text-decoration: none !important;
    font-family: "futura-pt", Sans-serif;
    font-size:1.4rem;
    font-weight:400;
    color:#B2B2B2;
    transition: 0.5s;
    letter-spacing: 0.1em;
}

.silist_container a.current{
    color:#4F4F4F;
}

.silist_container a:hover{
    opacity: 0.8;
}

/* パートナーロゴギャラリー */
.partner_logo_gallery_container{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 50px 60px;
}

.partner_logo_gallery_container a img{
    max-height:60px;
    max-width:300px;
}

@media screen and (max-width:767px){
    .partner_logo_gallery_container{
        flex-direction: column;
        gap:40px;
    }

    .partner_logo_gallery_container a img{

    max-width:100%;
}

}

/* その他 */
.si_title_first{

}


.si_title_first .sponly{
    display: block !important;
}

.st_detail_txt .elementor-widget-container{
    display: flex;
    flex-direction: column;
    gap:30px;
}

.si_listtag ul{
    padding-left: 1em;
    list-style: none;
}

.si_listtag li {
    position: relative; /* 基準点にする */
}

.si_listtag li::before {
    content: "・";
    display: block;
    position: absolute;
    left: -1em;
}


/*BRANDS一覧*/
.brandslist_flex_set{
    display: grid;
  /* 1fr を3回繰り返す（＝等幅の3カラム） */
  grid-template-columns: repeat(3, max-content);
    gap: 2em 0em;
    justify-content: space-between;
}

.brandslist_flex_set .flex_item{
    width: 100%;
    justify-content: space-between;
    position: relative;

}

.blandsset .flex_set{
    display: flex;
    flex-direction: column;
    gap: 2em;

}

.blandsset a{
    width: 100%;
        position: relative;
    font-size: clamp(1.6rem, calc(1.8vw + 0.1rem), 3.5rem);
        font-family: "Apris", Sans-serif;
        color:#4F4F4F;
        line-height: 1em;
        transition: 0.5s;
        font-weight: 300;
        letter-spacing: 0.05em;
        position: relative;
    z-index:1;
}

.blandsset a:hover{
    color:#ffffff;
}

.brandslist_mv h2{
    font-size: clamp(2.3rem, calc(3.1vw + 0.1rem), 6rem) !important;
}

.blandsset img{
    max-width: 300px;
    width: 100%;
    aspect-ratio: 364 / 467;
    object-fit: cover;
    position: absolute;
    top: -9em !important;
    left: 25%;
    opacity: 0;
    transition: 0.5s;
}

.blandsset h3:hover ~ img{
    top: -10em !important;
    opacity: 1;

}

@media screen and (max-width:1024px){
    .blandsset img{
    display: none;
}
    .blandsset h3:hover ~ img{
    opacity: 0;

}
}

@media screen and (max-width:767px){
.brandslist_flex_set{
    grid-template-columns: 1fr;
}

.blandsset .flex_set{
    gap: 1.5em;

}

.blandsset h3{
    text-align: center;
}
}

/*BRANDS詳細*/
/*詳細画像比率調整*/
.b_detail_img{
    width:100%;
    aspect-ratio: 505/795;
    overflow: hidden;
}

.b_detail_img .elementor-widget-container img{
    width:100%;
    aspect-ratio: 505/795;
    object-fit: cover;
    object-position: center;
}

/*テキストサイズ自動調整*/
.brands_dpage h2{
    font-size: clamp(2.4rem, calc(2.5vw + 0.1rem), 4.8rem) !important;
}

.brands_dpage h3{
    font-size: clamp(1.2rem, calc(0.8vw + 0.1rem), 1.5rem) !important;
}

.brands_dpage h4{
    font-size: clamp(2rem, calc(1.6vw + 0.1rem), 3rem) !important;
}

.brands_dpage p{
    font-size: clamp(1.2rem, calc(0.8vw + 0.1rem), 1.5rem) !important;
}

.brands_cctxt p{
    font-size: clamp(1.2rem, calc(0.9vw + 0.1rem), 1.7rem) !important;
}

.brands_dpage a span{
    font-size: clamp(1.4rem, calc(1vw + 0.1rem), 2rem) !important;
}
/*ショップブログ*/
/* 一覧 */
.shop_blog_container{
    max-width: 1350px;
    margin: 0 auto;
    width: 90%;

}

.list_main_container{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    max-width: 1350px;
    width: 100%;
}

.sbl_side{
    width:18%;
    width: 18%;
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.sb_main_container{
    width: 78%;
}

.posts-list-wrapper{
    width:100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 100px 50px;
}

@media screen and (max-width:1024px){
    .sbl_side{
        width:28%;
    }

    .sb_main_container{
        width: 68%;
    }

    .posts-list-wrapper{
    grid-template-columns: repeat(2, 1fr);
    gap: 70px 30px;
}
}


@media screen and (max-width:767px){

    .shop_blog_container{
    width: 80%;
}

.list_main_container{
    flex-direction: column;
    gap:50px;
}

    .sbl_side{
        width:100%;
        gap: 30px;
        flex-direction: column-reverse;
    }

    .sb_main_container{
        width: 100%;
    }

    .posts-list-wrapper{
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 30px;
}
}

/* タイトル */

.title_section{
    margin: 150px 0px 80px 0px;
    display: flex;
    flex-direction: column;
    gap: 70px;
}

.title_section h2{
    margin:0;
    font-family: "Apris", Sans-serif !important;
    color:#4F4F4F;
    text-align: center;

}

.gaiyo{
    display: flex;
    flex-direction: column;
    gap:20px;
}

.gaiyo p{
    font-size:1.4rem !important;
    text-align: center;
    line-height: 1.5;
    font-weight:400;
}

@media screen and (max-width:767px){
    .title_section{
    margin: 100px 0px 60px 0px;
    gap: 40px;
}

.gaiyo{
    gap:15px;
}

.gaiyo p{
    font-size:1.2rem;
    font-weight:normal;
}
}

/* ショップリスト一覧 */
.shop_name_set{
    max-width:1300px;
    width:100%;
    margin: 0 auto 100px auto;
}

/* 親要素 (.shop_name_list) の設定 */
.shop_name_list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);

    /* ★★★ ここからが重要 ★★★ */
    gap: 1px; /* アイテム間に1pxの隙間を作る */
    background-color: #ccc; /* 隙間から見える色 = ボーダーの色 */
    outline: 1px solid #ccc;
}

.othertype {
    border-top:1px solid #cccccc;
    border-bottom:1px solid #cccccc;
    border-left:1px solid #cccccc;
    outline: 0px solid #ccc;
}

/* 子要素 (aタグ) の設定 */
.shop_name_list a {
    background-color: #fff;
    padding: 15px;
    text-align: center;
    text-decoration: none;
    color: #4F4F4F;
    font-size: 1.4rem;
    transition: 0.5s;
    display: flex;             /* aタグをFlexコンテナにする */
    justify-content: center;   /* 中身を水平方向（横）の中央に配置 */
    align-items: center;       /* 中身を垂直方向（縦）の中央に配置 */
    font-family: "Noto Sans JP", Sans-serif;
}

.shop_name_list .current-item{
    pointer-events: none;
    background-color: #E3D6D0;
}

.shop_name_list a:hover{
    background-color: #FBF7F5;
}

@media screen and (max-width:1024px){
.shop_name_list a {
    padding: 15px;
    font-size: 1.2rem;
}
}

@media screen and (max-width:767px){
    .shop_name_set{
    margin: 0 auto 60px auto;
}
    .shop_name_list {
    grid-template-columns: repeat(2, 1fr);
}
.shop_name_list a {
    padding: 10px 3px;
    font-size: 1.1rem;
}
}
/* カード */
.shopblog_card{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap:20px;
    color: #4f4f4f;
}
.zyodan{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sbc_img {
    aspect-ratio: 353 / 361; /* スラッシュの前後にスペースを入れるのが推奨 */
    overflow: hidden;
    /* (任意) imgがはみ出た場合に備えて */
    position: relative;
}

.sbc_img img {
    /* ★★★ ここからが重要 ★★★ */
    width: 100%;             /* 親要素の幅いっぱいに広がる */
    height: 100%;            /* 親要素の高さピッタリに広がる */
    object-fit: cover;       /* 縦横比を維持したまま、親要素を完全に覆うように拡大・縮小 */
    /* ★★★ ここまでが重要 ★★★ */

    /* aspect-ratioは親に指定してあるので、子には不要です */
    transition: 1s all;
}

.shopblog_card .sbc_shopname{
    font-size: 4rem;
    text-transform: capitalize;
    transition: 1s all;
    font-family: "Apris", Sans-serif;
    border-bottom: 1px solid #cccccc;
    padding-bottom: 5px;
}

.shopblog_card .sbc_title{
    font-family: "Noto Sans JP", Sans-serif;
    transition: 1s all;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    line-height: 2;
    margin: 0;
}

.shopblog_card .sbc_date{
    font-family: "Geometria", Sans-serif;
    color: #9B9B9B;
    font-size: 1.4rem;
}

.shopblog_card:hover .sbc_img img{
    transform:scale(1.1,1.1);/* ズーム率を指定する */
    transition:1s all;/* 大きくなる時間を指定する */
}

.shopblog_card:hover .sbc_shopname{
    opacity: 0.8;
}

.shopblog_card:hover .sbc_title{
    opacity: 0.8;
}

@media screen and (max-width:1024px){
    .shopblog_card .sbc_shopname{
    font-size: 2.2rem;
    padding-bottom: 5px;
}

.shopblog_card .sbc_title{
    font-size: 1.2rem;
}

.shopblog_card .sbc_date{
    font-size: 1.2rem;
}

}

/* 検索ボックス */
.shop-blog-search{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.shop-blog-search p,.category-filter p,.category-filter-select p{
    font-size:1.4rem;
    font-family: "Noto Sans JP", Sans-serif;
    color:#4F4F4F;
    padding-bottom:10px;
    border-bottom:1px solid #cccccc;

}

.shop-blog-search label{
    width:100%;
}

.shop-blog-search input{
    padding: 10px !important;
    border-radius: 0px !important;
    border: 1px solid #cccccc !important;
    color: #4f4f4f;
    font-size: 1.2rem;

}

/* カテゴリー */
.category-filter{
    display: flex;
    flex-direction: column;
    gap:20px;
}
.category-filter-list{
    display: flex;
    flex-direction: column;
    gap:20px;
    margin-top: 20px;
}

.teikei_cat .category-filter-list{
    margin-top:0px;
    gap:15px;
}

.category-filter-list li{
    display: flex;
    flex-direction: column;
    gap:10px;
}



.category-filter-list .children{
    padding-left:4em;
    display: flex;
    flex-direction: column;
    gap:10px;
}

.category-filter a{
    color:#4f4f4f;
    font-size:1.5rem;
    transition: 0.5s;
    letter-spacing: 0.1em;
}

.category-filter-list .children a{
    font-size:1.3rem;
}

@media screen and (max-width:767px){
    .category-filter a{
    font-size:1.3rem;
}

.category-filter-list .children a{
    font-size:1.2rem;
}
}

/* ==============================================
   カスタム矢印付きセレクトボックスのCSS
   ============================================== */

/* 1. ラッパーに基準点(relative)を設定 */
.select-box-wrapper {
    position: relative;
    width: 100%;
    margin-top:20px;
}

/* 2. select本体のデフォルト矢印を消し、スペースを確保 */
.select-box-wrapper select {
    /* デフォルトの見た目をリセット */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    /* 基本的なスタイル */
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 100px; /* 角丸 */
    background-color: #fff;
    font-size: 1.2rem;
    cursor: pointer;
    color:#4f4f4f;

    /* ★★★ ここが重要 ★★★ */
    /* 右側にカスタム矢印を置くためのスペースを確保 */
    padding: 12px 40px 12px 15px;
}

/* 3. ::after擬似要素でカスタム矢印（SVG画像）を配置 */
.select-box-wrapper::after {
    content: ''; /* 擬似要素に必須 */
    position: absolute;
    top: 50%;
    right: 15px; /* 右からの位置 */
    transform: translateY(-50%); /* 上下中央揃え */

    /* ★★★ ここからが画像の設定 ★★★ */
    width: 12px;  /* 画像の表示サイズ（横幅） */
    height: 12px; /* 画像の表示サイズ（高さ） */

    /* 背景としてSVG画像を読み込む */
    background-image: url('/wp/wp-content/uploads/2025/12/arrow_bb.svg');

    /* 背景画像の表示方法を設定 */
    background-repeat: no-repeat; /* 画像を繰り返さない */
    background-position: center;  /* 中央に配置 */
    background-size: contain;     /* 12x12のボックス内に収まるように調整 */

    /* 矢印自体はクリックできないようにする */
    pointer-events: none;

}

/*NEWS*/
/* タイトル */
.news_title h2{
    font-size: clamp(4rem, calc(4.2vw + 0.1rem), 8rem) !important;
}

/* カテゴリー一覧 */
.category-list-nav{
    width: 100%;
    display: flex;
    justify-content: center;
    font-family: "Apris", Sans-serif;
    font-size: clamp(1.6rem, calc(1.5vw + 0.1rem), 3rem) !important;
    font-weight: normal;
    color: #4F4F4F;
    margin-bottom: 200px;
    flex-wrap: wrap;
    gap:5px;
}

.category-list-nav a{
    color: #4F4F4F;
    transition: 0.5s;
}

.category-list-nav a:hover{
    opacity: 0.8;
}

@media screen and (max-width:767px){
    .category-list-nav{
    margin-bottom: 50px;
}
}

/* ページネーション */
.pagination-container{
    margin-top: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
    font-size:1.4rem;
    font-family: "Noto Sans JP", Sans-serif;
}

.pagination-container a{
    color:#4F4F4F;
}

.pagination-container span.prev,.pagination-container span.next{
    color:#cccccc;
}


.pagination-container span.current{
    background-color: #F2F3F5;
    position: relative;
}

.pagination-container span.current:before{
    content: "";
    background-color: #F2F3F5;
    width: 50px;
    height: 50px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

@media screen and (max-width:767px){
    .pagination-container{
        margin-top: 100px;
        gap: 20px;
        font-size:1.2rem;
    }

    .pagination-container span.current:before{
        width: 30px;
        height: 30px;
    }

}

/*共通*/
#newslist_container{
    position: relative; /* ★★★ これを追加 ★★★ */
}

#newslist_container .section_set{
    display: flex;
    position: relative;
    pointer-events: none;
}

#newslist_container .article_box a{
    display: flex;
    flex-direction: column;
    gap:1.5em;
    pointer-events: auto;
}

#newslist_container .article_box a:hover .img_box img{
    transform:scale(1.1,1.1);/* ズーム率を指定する */
}

#newslist_container .article_box a:hover .detail_box h3{
    opacity: 0.8;
}

#newslist_container .article_box .img_box{
    width: 100%;
    overflow: hidden;
}

#newslist_container .article_box .img_box img{
    width: 100%;
    transition: 0.8s;
    object-fit: cover;
}

#newslist_container .article_box .detail_box{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1em;
}

#newslist_container .article_box .detail_box p{
    color:#ACA8A8;
    font-size: clamp(1.2rem, calc(1vw + 0.1rem), 2rem) !important;
    font-family: "futura-pt", Sans-serif;
    font-weight:200;
}

#newslist_container .article_box .detail_box h3{
    color:#4F4F4F;
    font-size: clamp(1.4rem, calc(1vw + 0.1rem), 2rem) !important;
    transition: 0.5s;
    font-family: "Noto Sans JP", Sans-serif;
    font-weight:normal;
    margin:0;
}

#newslist_container .article_box .date_box p{
    color:#ACA8A8;
    font-size: clamp(1.2rem, calc(0.8vw + 0.1rem), 1.5rem) !important;
    font-family: "futura-pt", Sans-serif;
    font-weight:200;
}

/* 列01:記事01,02,03 */
.section_1st{
    justify-content: flex-end;
}
/*記事01*/
#article1{
    width:35%;
}
#article1 .img_box,#article1 .img_box img{
    aspect-ratio: 468/549;
}
/*記事02*/
#article2{
    width: 21%;
    margin-top: 7.5%;
    position: absolute;
    top: 0;
    left: 40.5%;

}
#article2 .img_box,#article2 .img_box img{
    aspect-ratio: 274/438;
}
/*記事03*/
#article3{
    width:34%;
    margin-top: 29%;
    margin-left:4%;
    margin-right: auto;
}
#article3 .img_box,#article3 .img_box img{
    aspect-ratio: 453/701;
}

/* 列02:記事04,05 */
.section_2nd{
    justify-content: flex-end;
    margin-top: -31%;/* 20字：-37% */
}
/*記事04*/
#article4{
    width: 38%;
    margin-right: 21.5%;
}
#article4 .img_box,#article4 .img_box img{
    aspect-ratio: 510/811;
}
/*記事05*/
#article5{
    width: 21%;
    margin-left: 17%;
    margin-top: 39%;
    margin-right: auto;
}
#article5 .img_box,#article5 .img_box img{
    aspect-ratio: 274/438;
}

/* 列03:記事06,07,08 */
.section_3rd{
    justify-content: flex-end;
    margin-top: -13%;/* 20字：-19% */
}
/*記事06*/
#article6{
    width: 21%;
}
#article6 .img_box,#article6 .img_box img{
    aspect-ratio: 274/438;
}
/*記事07*/
#article7{
    width: 34%;
    margin-top: 9%;
    position: absolute;
    top:0;
    left:41%;
}
#article7 .img_box,#article7 .img_box img{
    aspect-ratio: 453/701;
}
/*記事08*/
#article8{
    width:38%;
    margin-top: 29.5%;
    margin-right: auto;
}
#article8 .img_box,#article8 .img_box img{
    aspect-ratio: 510/811;
}

/* 列04:記事09,10 */
.section_4th{
    justify-content: flex-end;
    gap: 3%;
    margin-top: -21%;/* 20字：-27% */
}
/*記事09*/
#article9{
    width: 34%;
}
#article9 .img_box,#article9 .img_box img{
    aspect-ratio: 453/701;
}
/*記事10*/
#article10{
    width: 21%;
    margin-top: 13%;
}
#article10 .img_box,#article10 .img_box img{
    aspect-ratio: 274/438;
}

/* 列03:記事11,12,13 */
.section_5th{
    justify-content: space-between;
    margin-top:-11%;/* 20字：-17% */
}
/*記事11*/
#article11{
    width: 21%;
}
#article11 .img_box,#article11 .img_box img{
    aspect-ratio: 274/438;
}
/*記事12*/
#article12{
    width: 38%;
    margin-top:24%;
    position: absolute;
    top:0;
    left:24%;
}
#article12 .img_box,#article12 .img_box img{
    aspect-ratio: 510/811;

}
/*記事13*/
#article13{
    width: 21%;
    margin-right:12.5%;
    margin-top: 20%;
}
#article13 .img_box,#article13 .img_box img{
    aspect-ratio: 274/438;
}

/*SP版：共通に戻す*/
@media screen and (max-width:767px){
    #newslist_container {
        display: flex;
        flex-direction: column;
        gap:50px;
    }
    #newslist_container .section_set{
        flex-direction: column-reverse;
        margin:0;
        gap:50px;
    }

        #newslist_container .section_5th{
        flex-direction: column;
        margin:0;
        gap:50px;
    }
    #newslist_container .article_box{
        width:100%;
        position: static;
        margin:0;
    }
    #newslist_container .article_box .img_box,#newslist_container .article_box .img_box img{
        aspect-ratio: 468/549;
    }

}

/* NEWS＆BLOGcontents追加CSS */

/* 3. 横長・正方形の画像を持つ親要素のスタイル */
.elementor-widget-theme-post-content .is-landscape img,
.elementor-widget-theme-post-content .is-square img {
    width: 100%;
}

/* 4. 縦長の画像を持つ親要素のスタイル */
.elementor-widget-theme-post-content .is-portrait img{
    /* 隙間(gap)を考慮して、calc()で計算するとより正確 */
    width: calc(50% - 5px);
}


.post_title_txt{
    font-size: clamp(2rem, calc(1.7vw + 0.1rem), 3.2rem) !important;
}

.elementor-widget-theme-post-content h2,.elementor-widget-theme-post-content h1{
    font-size: clamp(1.8rem, calc(1.2vw + 0.1rem), 2.3rem) !important;
}

.elementor-widget-theme-post-content a:not(:has(img)){
    text-decoration: none;
    border-bottom:1px solid #cccccc;
    color:#4f4f4f;
    transition: 0.5s;
}

.elementor-widget-theme-post-content a:not(:has(img)):hover {
    opacity: 0.8;
}

/* ショップブログ詳細専用 */
.sb_title p{
    font-size: clamp(2.1rem, calc(1.5vw + 0.1rem), 2.9rem) !important;
}

.pt_title p{
    font-size: clamp(4rem, calc(3.1vw + 0.1rem), 6rem) !important;
}

/* NEWS詳細専用 */
/* --- カード --- */
.lftc_img .elementor-widget-container{
    aspect-ratio: 1/1; /* 元画像の縦横比を維持 */
    overflow: hidden;
}

.lftc_img img {
    aspect-ratio: 1/1; /* 元画像の縦横比を維持 */
    object-fit: cover;
    transition:1s all;/* 大きくなる時間を指定する */
}

.lft_card h3{
    transition:1s all;/* 大きくなる時間を指定する */
}

.lft_card:hover .lftc_img img{
    transform:scale(1.1,1.1);/* ズーム率を指定する */
    transition:1s all;/* 大きくなる時間を指定する */
}

.lft_card:hover h3{
    opacity: 0.8;
}

/* 提携会場一覧 */
/* --- カード --- */
.tadc_img img{
    aspect-ratio: 411/269; /* 元画像の縦横比を維持 */
    object-fit: cover;
}

/* --- テキストサイズ --- */
.teikei_mv_title h2{
    font-size: clamp(2.3rem, calc(3.1vw + 0.1rem), 6rem) !important;
}



.cat_title p{
    font-size: clamp(2rem, calc(1.6vw + 0.1rem), 3rem) !important;
}

.side_cat_title p{
    font-size: clamp(1.8rem, calc(1.5vw + 0.1rem), 3rem) !important;
}



/* ギャラリー */
.gallery_contents {
    width: 100%;
    position: relative;
}

.gallery_contents .swiper{
  width: 80%;
}

.gallery_contents .swiper-slide{
    aspect-ratio: 525 / 725; /* 元画像の縦横比を維持 */
    overflow: hidden;
}

.gallery_contents .swiper-slide img {
    aspect-ratio: 525 / 725;
    object-fit: cover;
    width: 100%;
    height: auto;
    display: block; /* インライン要素の隙間を防ぐ */
    transition:1s all;/* 大きくなる時間を指定する */
}

.gallery_contents .swiper-slide a:hover .swiper-slide img{
  transform:scale(1.1,1.1);/* ズーム率を指定する */
  transition:1s all;/* 大きくなる時間を指定する */
}

.gallery_contents .swiper-pagination {
    position: static !important;
}

.gallery_contents .swiper-pagination-bullet{
    background-color: #cccccc !important;
    width: 10px !important;
    height: 10px !important;
}
.gallery_contents .swiper-pagination-bullet-active{
    background-color: #666666 !important;
}

.gallery_contents .swiper-button-prev.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
    content: '' !important;
}

.gallery_contents .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
    content: '' !important;
}
.gallery_contents .sarrow img{
  max-width: 30px;
}

.gallery_contents .swiper-navigation-icon{
    display: none;
}

.gallery_contents .swiper-button-prev{
  left:0px !important;
}

.gallery_contents .swiper-button-next{
  right:0px !important;
}

@media screen and (max-width:1024px){

.gallery_contents .navi_set{
    margin-top: 20px;
}

}

@media screen and (max-width:1024px){
    .gallery_contents .sarrow img{
  max-width: 20px;
}
}

/* --- Dress一覧 --- */
/* --- カード --- */
.dressc_img .elementor-widget-container{
    aspect-ratio: 351/456; /* 元画像の縦横比を維持 */
    overflow: hidden;
}

.dressc_img img {
    aspect-ratio: 351/456; /* 元画像の縦横比を維持 */
    object-fit: cover;
    transition:1s all;/* 大きくなる時間を指定する */
}

.dress_card h3{
    transition:1s all;/* 大きくなる時間を指定する */
}

.dress_card:hover .dressc_img img{
    transform:scale(1.1,1.1);/* ズーム率を指定する */
    transition:1s all;/* 大きくなる時間を指定する */
}

.dress_card:hover h3{
    opacity: 0.8;
}

/* ページネーション */
.jsf_pagination .prev-next.is-disabled{
    color:#cccccc;
    pointer-events: none;
}

.jsf_pagination .jet-filters-pagination__current{
    background-color: #F2F3F5;
    position: relative;
    pointer-events: none;
}

.jsf_pagination .jet-filters-pagination__current:before{
    content: "";
    background-color: #F2F3F5;
    width: 50px;
    height: 50px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

@media screen and (max-width:767px){

    .jsf_pagination .jet-filters-pagination__current:before{
        width: 30px;
        height: 30px;
    }

}

.dress_main_contents{
    opacity: 0;
    transition: 2s;
}
.dress_main_contents.dress_active{
    opacity: 1;
}

/* --- Wedding/kimonoのギャラリー --- */
/* --- 全体を囲むコンテナ --- */
.image-gallery {
    display: flex;
    gap: 15px;
    width: 100%;
    margin: 0px auto;
    justify-content: space-between;
}

  /* --- 左側のサムネイルコンテナ --- */
  .thumbnail-container {
    display: flex;
    flex-direction: column; /* サムネイルを縦に並べる */
    gap:10px;
    width:16%;
  }

  .thumbnail-container img {
    width: 100%; /* サムネイルの幅 */
    aspect-ratio: 100/137;
    object-fit: cover;
    cursor: pointer; /* カーソルを手の形にして、クリック可能であることを示す */
  }

  /* --- 右側のメイン画像コンテナ --- */
  .main-image-container {
    aspect-ratio: 525/725;
    width:82%
  }

  .main-image-container img {
    width: 100%;
    object-fit: cover;
    transition: opacity 0.3s ease-in-out;
    aspect-ratio: 525/725;
    height: auto;
    display: block;
  }

  .thumbnail-container:has(> img:nth-child(5)):not(:has(> img:nth-child(6))) {
  justify-content: space-between;
  gap: 0;
}

  /* --- サムネイルがない場合のレイアウト --- */

/* 全体を囲むコンテナ（お好みで幅などを設定） */
.image-gallery-single {
}

/* メイン画像コンテナ */
.main-image-container-single{
    width: 82%;
    margin-left: auto;
}
.main-image-container-single img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 525/725;
    display: block;
}

/* --- YARPP --- */
/* --- 見出し --- */
.yarpp_section h2{
    font-size: clamp(3.2rem, calc(2.6vw + 0.1rem), 5rem) !important;
}


/* --- カード --- */
.yarpp_img .elementor-widget-container{
    aspect-ratio: 1/1; /* 元画像の縦横比を維持 */
    overflow: hidden;
}

.yarpp_img img {
    aspect-ratio: 1/1; /* 元画像の縦横比を維持 */
    object-fit: cover;
    transition:1s all;/* 大きくなる時間を指定する */
}

.yarpp_card h3{
    transition:1s all;/* 大きくなる時間を指定する */
}

.yarpp_card:hover .yarpp_img img{
    transform:scale(1.1,1.1);/* ズーム率を指定する */
    transition:1s all;/* 大きくなる時間を指定する */
}

.yarpp_card:hover h3{
    opacity: 0.8;
}


/* --- ヘッダー --- */
.th_menu .jet-mobile-menu__controls{
    justify-content: flex-start;
    margin-top: -3px;
}

.th_menu .elementor-element-e940123{
    position: absolute;
    left: 90px;
}

.th_menu .jet-mobile-menu__before-template{
    height:100%;
}

.th_menu .jet-mobile-menu__before-template-content{
    height:100%;
}

.th_menu .elementor-104140{
    height:100%;
}

.th_menu .elementor-element-acfd978{
    height:100%;
}

.th_menu .elementor-element-be4ae43{
    height:100%;
}

/* --- PCメニュー --- */
    .pcmenu_container{
        display: flex; /* 左のメニューと右の画像を横並びにする */
        width: 100%;
        background-color: #fff;
        height:100%;
    }

    /* --- 左側：メニューエリア --- */
    .pcmenu_container .menu-area {
        width: 65%; /* メニュー全体の幅 */
        color: #4F4F4F;
        display: flex;
        flex-direction: column;
        position: relative;
        z-index: 10; /* 画像より手前に表示 */
        gap: 20px;
        height: 100%;
    }
    .margin_plus{
        margin-bottom:20px;
    }

    /* 各メニュー行（2カラム構成のFlex） */
    .pcmenu_container .menu-row {
        display: flex;
        width: 100%;
        cursor: pointer;
        position: relative;
    }
    /* カラム1：グローバルメニュー名 */
    .pcmenu_container .menu-label {
        flex: 0 0 40%;
        display: flex;
        position: relative;
        z-index: 2;
    }

    .menu-label span{
        font-size:1.2rem;
        position: relative;
    }

    .menu-label a{
        font-size:1.2rem;
        text-decoration: none;
        color: #4F4F4F;
        position: relative;
    }

    .menu-label .arw:after{
    content: "";
    display: inline-block;
    width: 15px;
    aspect-ratio: 8 / 15;
    background-image: url(/wp/wp-content/uploads/2025/11/arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0.2em;
    right: -20px;
    transition: 0.5s;
    }

    .menu-label .blink:after{
    content: "";
    display: inline-block;
    width: 15px;
    aspect-ratio: 1 / 1;
    background-image: url(/wp/wp-content/uploads/2025/11/link.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    right: -25px;
    }

    .pcmenuonly .menu-label:hover .arw:after{
    right: -25px;
    }


    /* カラム2：サブメニュー（初期状態は非表示） */
/* カラム2：サブメニュー */
    .pcmenu_container .submenu {
        /* レイアウト調整 */
        display: flex;
        flex-direction: column;
        gap:15px;
    }

    .pcmenu_container .pctbhover {
        /* 非表示の設定 */
        opacity: 0;
        transform: translateX(-10px);
        transition: all 0.3s ease;

        /* 浮かせるための設定 */
        position: absolute;
        top: 0;
        left: 40%;    /* 重要：menu-labelの幅(40%)と同じ値を指定して横にずらす */
        width: 60%;   /* 重要：残りの幅を指定する */
        z-index: 100; /* 他の行よりも上に表示させる */

        /* もし中身が長くて切れる場合は下記を追加 */
        /* background: #fff; 背景色がないと下の文字と重なって見えにくいです */
        display: flex;
        flex-direction: column;
        height: auto;
        overflow-y: auto;    /* はみ出た場合のみサブメニュー内でスクロールを出す */
    }

    .pcmenu_container .submenu a {
        color: #4f4f4f;
        text-decoration: none;
        font-size: 1.2rem;
        transition: 0.5s;
    }

    .pcmenu_container .submenu a:hover {
        opacity: 0.8;
    }

    /* --- ホバー時の動作（CSSのみでサブメニュー表示） --- */
.pcmenu_container .menu-row:hover .pctbhover {
    opacity: 1;
    transform: translateX(0);
    z-index: 1000; /* 他の行よりも上に表示させる */
}

    /* --- 右側：画像表示エリア --- */
    .pcmenu_container .image-area {
        width: 35%; /* 画像エリアの幅 */
        position: relative;
        overflow: hidden;
        background-color: #ffffff;
    }

    /* 画像の共通スタイル */
    .pcmenu_container .bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    pointer-events: none;
    max-width:191px;
    }

    .pcmenu_container .yoko{
        max-width:none;
    }

    /* アクティブな画像だけ表示 */
    .pcmenu_container .bg-image.active {
        opacity: 1;
    }

@media (max-width: 1024px) {
.th_menu .jet-mobile-menu__before-template{
    height:auto;
}

.th_menu .jet-mobile-menu__before-template-content{
    height:auto;
}

.th_menu .elementor-104140{
    height:auto;
}

.th_menu .elementor-element-acfd978{
    height:auto;
}

.th_menu .elementor-element-be4ae43{
    height:auto;
}
}

    @media (max-width: 1024px) {
    .pcmenu_container{
        display: flex; /* 左のメニューと右の画像を横並びにする */
        flex-direction: column;
        height:auto;
    }
    /* --- 左側：メニューエリア --- */
    .pcmenu_container .menu-area {
        width: 100%; /* メニュー全体の幅 */
    }
    .margin_plus{
        margin-bottom:20px;
    }


    .image-area{
        display: none;
    }

        .menu-label span{
        font-weight:bold;
    }

    .menu-label a{
        font-weight:bold;
    }

    }
@media (max-width: 767px) {
    .th_menu .elementor-element-e940123 {
    position: static;
        left: 0;
        top: 0;
        margin-left: 50px;
        margin-bottom: -50px;
        margin-top: 5px;
}
    .pcmenu_container .menu-row {
        flex-direction: column;
        gap: 15px;
    }

    .pcmenu_container .menu-area {
        gap:30px;
    }

    .pcmenu_container .menu-label {
        flex: 0 0 100%;
    }

        .pcmenu_container .submenu {
        width:100%;
        padding-left: 20px;
    }

    .menu-label .arw:after {
    width: 10px;
    aspect-ratio: 15 / 8;
    background-image: url(/wp/wp-content/uploads/2025/12/arrow_bb.svg);
    top: 0.7em;
    right: -20px;
    content:none;
}

}



/**********************************************
 * Aboutページ PC版 最終解決コード Ver.Ω (Omega)
 **********************************************/

 body.conceptpage {
    overflow: hidden !important;
}

#main {
    padding-top: 20px !important;
}

/* PC表示の時だけ適用 */
@media (min-width: 769px) {

    /*
     * ★★★ これが最重要 ★★★
     * JSのイベントの「受け皿」である body タグに、画面いっぱいの高さを与え、
     * スクロールジャックの前提条件を完璧にする。
     */
    body.conceptpage {
        height: 100vh;
        overflow: hidden !important; /* スクロールバーは絶対に表示させない */
    }

    /*
     * 1. スクロールジャックの舞台(#ViewWrap)を、画面全体を覆う固定レイヤーとして定義する。
     */
    body.conceptpage #ViewWrap {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    /*
     * 2. ページ内ナビゲーションが最前面に来るようにする。
     */
    body.conceptpage #LocalNav {
        position: fixed;
        z-index: 100;
    }
}

/**********************************************
 * imgのmax-width:100%を無効化する最終コード
 **********************************************/

/* PC表示の時だけ適用 */
@media (min-width: 769px) {

    /*
     * パラパラ漫画のimgタグに適用されている、テーマ共通の
     * max-width: 100% を上書きし、本来の幅で表示されるようにする。
     */
    body.conceptpage .flipAnime img {
        max-width: none !important;
    }
}

/*----------------------------------------------------------------
 *202412_フッター追加CSS
----------------------------------------------------------------*/
/* PC用 */
.footer2 {
  width: 99vw;
  background-color: #fff;
  text-align: center;
}
.footer-contact-area {
    display: flex;
}
a.footer-contact-btn {
    background-color: #c5b48e;
    color: #ffffff;
    width: 100%;
    padding: 20px 0;
}
a.footer-contact-btn.f-line {
    border-right: 1px solid #ffffff;
}
.footer__copyright2 {
  display: block;
font-size: 10px;
line-height: 1;
letter-spacing: 0.1em;
  padding: 30px 0px 50px 0px;
  border-top: 1px solid #d6d6d6;
}
.sponly{
  display: none;
}

@media screen and (max-width: 767px) {
  .footer2 {
    padding-top: 0;
    width: 100vw;
  }
  .pctbonly{
      display: none;
  }
  .sponly{
    display: block;
  }
.footer__copyright2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 35px;
  border-top: none;
    padding: 40px 0px 20px 0px;
}
}


.fmenu_container{
  text-align: justify;
  margin: 0 auto;
  max-width: 1133px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding: 35px 0px;
  overflow: hidden;
}

.fmenu_item{
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.big_group{
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.small_group{
  display: flex;
  flex-direction: column;
  gap: 25px;
  padding-left: 14px;
}

.fmenu_container a {
  font-size: 14px;
  text-decoration: none;
  color: #4c4c4c;
  font-weight: 600;
  line-height: 1.2;
  transition: 0.5s;
}

.fmenu_container a:hover{
  opacity: 0.7;
  transition: 0.5s;
}

.small_group a{
  font-weight: normal;
}

@media screen and (max-width: 1132px){
  .fmenu_container{
      padding: 35px 50px;
      flex-wrap: wrap;
      gap: 50px;
  }
  .fmenu_item {
      width: 45%;
  }

}

/* 切り替え用 */
.fsp_container {
padding: 20px 10px;
}
.details{
border-bottom: 1px solid #d6d6d6;
}
.details-summary {
position: relative;
display: block;
padding: 20px 10px 20px 20px;
background-color: #ffffff;
text-align: justify;
}
.details-summary:hover {
  cursor: pointer;
  opacity: 0.8;
}
.details-summary .btn {
position: absolute;
top: 37%;
right: 10px;
width: 18px;
height: 18px;
transform-origin: center center;
transition-duration: 0.2s;
}

.details-summary.is-active .btn {
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
}
.details-summary.is-active .btn:before {
  content: none;
}
.details-summary::-webkit-details-marker {
  display: none;
}
.details-content {
padding: 0px 0px 20px 50px;

}

.details-summary a{
font-size: 14px;
text-decoration: none;
color: #4c4c4c;
font-weight: 600;
line-height: 1.2;
text-align: justify;
}

.details-content a {
font-size: 14px;
text-decoration: none;
color: #4c4c4c;
font-weight: normal;
line-height: 1.2;
text-align: justify;
}
.details-content p:last-of-type {
  margin: 0 0 0;
}

.sp_flex{
display: flex;
flex-direction: column;
gap: 25px;
align-items: flex-start;
}

.sp_nomal{
display: block;
font-size: 14px;
text-decoration: none;
color: #4c4c4c;
font-weight: 600;
line-height: 1.2;
text-align: justify;
padding: 20px 10px 20px 20px;
background-color: #ffffff;
border-bottom: 1px solid #d6d6d6;
text-align: justify;
}

.bnone{
border-bottom: none;
}

/*----------------------------------------------------------------
 *250523_ポップアップ追加CSS
----------------------------------------------------------------*/
/* ポップアップオーバーレイ */
.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* 半透明の黒 */
    z-index: 999; /* ポップアップより手前、コンテンツより奥 */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-out, visibility 0s 0.3s; /* 表示時は即時、非表示時は遅延 */
}

.popup-overlay.is-visible {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease-out;
}

/* ポップアップコンテナ */
.popup-container {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.95); /* 初期状態は少し小さく */
    /* background-color: #fff; */
    padding: 0;
    border-radius: 0px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    z-index: 1000; /* 最前面 */
    width: 90%;
    max-width: 800px; /* 最大幅 */
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-out, transform 0.3s ease-out, visibility 0s 0.3s;
}

.popup-container.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1); /* 表示時に通常サイズへ */
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}

/* ポップアップ内容 */
.bgiset{
    width: 100%;
    vertical-align: bottom;
}

.sppop{
    display: none;
}

@media (max-width: 600px) {
    .sppop{
    display: block;
}

    .pcpop{
    display: none;
}

}

/* 閉じるボタン */
.close-button {
    position: absolute;
    top: 10px;
    right: 10px;
    /* background-color: #ffffff; */
    border: none;
    /* font-size: 28px; */
    color: #4f4f4f;
    cursor: pointer;
    padding:0;
    /* line-height: 1; */
    z-index: 99999;
    /* border-radius: 1000px; */
    width: 30px;
    height: 30px;
}
.close-button:hover {
    color: #333;
}

.close-button img{
    border-radius: 1000px;
}

/* LINE登録ボタン */
.line-button {
    display: block;
    text-decoration: none;
    transition: 0.5s;
}
.line-button:hover {
    opacity: 0.8;
}

/*----------------------------------------------------------------
 *250617_サブメニュー追加CSS
----------------------------------------------------------------*/

/* Font Awesomeの最新バージョンを読み込む */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

.circular-menu-wrapper {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 200px;
  height: 400px;
  pointer-events: none;
  overflow: hidden;
  z-index: 100;
}

.menu-toggler {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.open-label,
.close-label {
  position: absolute;
  bottom: 32%;/* LINE追加後32％に変更 */
  right: 30px;
  width: 50px;
  height: 50px;
  z-index: 101;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
  pointer-events: auto;
}

.menu-toggler:checked ~ .open-label {
  opacity: 0;
  pointer-events: none;
}
.close-label {
  opacity: 0;
  pointer-events: none;
}
.menu-toggler:checked ~ .close-label {
  opacity: 1;
  pointer-events: auto;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease;
  z-index: 99;
  cursor: pointer; /* クリックできることを示すカーソル */
}
.menu-toggler:checked ~ .overlay {
  opacity: 1;
  pointer-events: auto;
}

.menu {
  position: absolute;
  bottom: 31%;/* LINE追加後31％に変更 */
  right: 30px;
  width: 50px;
  height: 50px;
  z-index: 100;
  pointer-events: none;
}
.menu-toggler:checked ~ .menu {
  pointer-events: auto;
}

.menu ul {
  list-style: none;
  padding: 0; margin: 0;
  position: relative;
  width: 100%; height: 100%;
}
.menu-item {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  opacity: 0;
  transition: transform 0.5s, opacity 0.5s;
  text-align: center;
}
.menu-toggler:checked ~ .menu .menu-item {
  opacity: 1;
}
.menu-toggler:checked ~ .menu .menu-item:nth-child(1) {
  transform: translate(-50%, -35%) rotate(90deg) translateX(-90px) rotate(-90deg);
}
.menu-toggler:checked ~ .menu .menu-item:nth-child(2) {
  transform: translate(-50%, -50%) rotate(28deg) translateX(-90px) rotate(-28deg);
}
.menu-toggler:checked ~ .menu .menu-item:nth-child(3) {
  transform: translate(-50%, -50%) rotate(-28deg) translateX(-90px) rotate(28deg);
}
/* LINE公開後にコメントアウトを外す */
.menu-toggler:checked ~ .menu .menu-item:nth-child(4) {
  transform: translate(-50%, -70%) rotate(-90deg) translateX(-90px) rotate(90deg);
}
.menu-item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: inherit;
}
.menu-item span {
    display: inline-block;
    font-size: 16px;
    color: #ffffff;
    width: 50px;
    height: 50px;
    line-height: 50px;
    border-radius: 50%;
    background: #C5B48E;
    transition: all 0.3s ease;
    text-align: center;
    position: relative;
}

.line_ico_o span {
    background: #1CAE00;
}

.menu-item p {
  margin: 8px 0 0;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
  text-align: center;
  opacity: 0.8;
}
.menu-item:hover span {
  opacity: 0.8;
}

.open-label img{
  box-shadow: 0px 0px 10px #cccccc;
  border-radius: 100px;
}

/* --- ポップアップ用のCSS（アニメーション修正版） ここから --- */

/* ポップアップの背景（コンテナ） */
#popup-container_submenu {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  justify-content: center;
  align-items: center;
  z-index: 1000;
  cursor: pointer;

  /* ▼▼▼ アニメーションのための設定 ▼▼▼ */
  opacity: 0;
  visibility: hidden;
  pointer-events: none; /* クリックイベントを無効化 */

  /* ★★★ この行を修正 ★★★ */
  /* opacityとvisibilityの両方をアニメーションの対象にする */
  transition: opacity 0.3s ease-out, visibility 0s linear 0.3s;
}

/* ポップアップを表示するためのクラス */
#popup-container_submenu.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto; /* クリックイベントを有効化 */

  /* 表示時は遅延なくvisibilityを切り替える */
  transition-delay: 0s;
}

/* ポップアップの中身 */
.popup-content_submenu {
  position: relative;
  background-color: #fff;
  border-radius: 8px;
  max-width: 90%;
  width: 400px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: auto;

  /* ▼▼▼ アニメーションのための設定 ▼▼▼ */
  transform: scale(0.9);
  opacity: 0; /* 最初は透明 */
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}

/* ポップアップ表示時に、中身を元のサイズ・不透明に戻す */
#popup-container_submenu.is-visible .popup-content_submenu {
  transform: scale(1);
  opacity: 1; /* 不透明にする */
}

/* ポップアップ内の画像 */
.popup-content_submenu img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* 閉じるボタン */
.close-button_submenu {
  position: absolute;
  top: -15px;
  right: -15px;
  background-color: #333;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  font-size: 20px;
  cursor: pointer;
  z-index: 1001;
  box-shadow: 0 2px 5px rgba(0,0,0,0.3);

  /* ↓ ここから変更 */
  display: flex;
  justify-content: center; /* 水平方向の中央揃え */
  align-items: center;    /* 垂直方向の中央揃え */
}

.close-button_submenu:hover {
  background-color: #555;
}

/* LINEメニュー項目のカーソルをポインターに */
.line_ico_o > a {
    cursor: pointer;
}
/* --- ポップアップ用のCSS ここまで --- */

/*便利なCSS*/
/* ブラウザ幅により、表示非表示を切り替えるCSS：クラス名一覧
◆パソコンのみ表示する
pconly
◆タブレットのみ表示する
tbonly
◆スマホのみ表示する
sponly
◆パソコン～タブレットのみ表示する
pctbonly
◆タブレット～スマホのみ表示する
tbsponly
◆パソコン・スマホのみ表示する
pcsponly
 */
/* パソコン幅 */
    /* パソコンのみ表示する */
    .npconly{
        display: none !important;
    }
    .pconly{
        display: block !important;
    }
    /* タブレットのみ表示する */
    .tbonly{
        display: none !important;
    }
    /* スマホのみ表示する */
    .sponly{
        display: none !important;
    }
    /* パソコン～タブレットのみ表示する */
    .pctbonly{
        display: block !important;
    }
    /* タブレット～スマホのみ表示する */
    .tbsponly{
        display: none !important;
    }
    /* パソコン・スマホのみ表示する */
    .pcsponly{
        display: block !important;
    }
    @media screen and (max-width:1024px){
        .npconly{
            display: block !important;
        }
    }
/* タブレット幅 */

@media screen and (max-width:1024px){
    /* パソコンのみ表示する */
    .pconly{
        display: none !important;
    }
    /* タブレットのみ表示する */
    .tbonly{
        display: block !important;
    }
    /* タブレット～スマホのみ表示する */
    .tbsponly{
        display: block !important;
    }
    /* パソコン・スマホのみ表示する */
    .pcsponly{
        display: none !important;
    }
}
/* スマホ幅 */
@media screen and (max-width:767px){
    /* タブレットのみ表示する */
    .tbonly{
        display: none !important;
    }
    /* スマホのみ表示する */
    .sponly{
        display: block !important;
    }
    /* パソコン～タブレットのみ表示する */
    .pctbonly{
        display: none !important;
    }
    /* パソコン・スマホのみ表示する */
    .pcsponly{
        display: block !important;
    }
}

