@charset "UTF-8";
/* CSS Document - Optimized Version */

/* 最初に読み込む重要なスタイル（Critical CSS） */
*,*::before,*::after{box-sizing:border-box}
html{font-size:16px;font-weight:400;touch-action: manipulation;scroll-behavior: smooth !important;}
body{margin:0;padding:0;font-family:"Shippori Mincho B1",sans-serif;font-weight:400;color:#0A142F;background-color:#060B0F;letter-spacing:2px}
img{max-width:100%;height:auto;border:none}
html{scroll-behavior:auto!important}

/* Critical styles for above-the-fold content */
.header{width:100%}
.header-wrapper{position:fixed;left:0;right:0;top:0;z-index:10000;margin:0 auto;padding:30px 50px;width:100%;min-width:1100px;background-color:#fff;box-shadow: 0px 3px 10px #00000030,0 1px 3px rgba(0, 0, 0, 0.1);height: 80px;min-height: 80px}
.header-inner{display:flex;justify-content:center}
.header-logo{width:150px;margin-top:-4px;height: 40px}

/* メインビジュアル - 最優先 */
.kv{width:100%;margin-top:50px;margin-bottom:0;position:relative}
.kv-box{position:relative;width:100%;height:600px;margin:0 auto;overflow:hidden}
.pc-kv{position:relative;width:100%;height:100%;background:url('../img/kv-bg-pc.jpg') center/cover no-repeat;min-height:750px}

/* レスポンシブ分岐の最適化 */
@media screen and (max-width:767px){.is-sp{display:none}}
@media screen and (min-width:767px) and (max-width:1200px){.is-tab{display:none}}
@media screen and (min-width:1200px){.is-pc{display:none}}

/* 共通スタイル */
html{scroll-padding-top: 100px;}
html,body{min-width:1200px}
@media screen and (min-width:767px) and (max-width:1200px){
  .inner{padding-left:24px;padding-right:24px;max-width:100%}
}
@media screen and (max-width:767px){
  .inner{padding-left:16px;padding-right:16px;max-width:100%}
}

a{color:inherit;text-decoration:none}
ul,ol{list-style:none;padding:0;margin:0}
h1,h2,h3,h4{padding:0;margin:0}
p,small{line-height:30px;font-family:'Noto Sans JP',sans-serif !important}
.pc{display:block}
.sp{display:none}
small{font-size:12px;line-height:1.2}
.slick-track {display: flex !important;}

/* ヘッダー関連 */
.header-right{margin-left:auto;margin-top:30px}
.header-nav{margin-top:-3px;padding-bottom:5px}
.header-nav-list{display:flex}
.header-nav-item{margin-right:20px}
.header-nav-item:last-child{margin-right:0}
.header-nav-link{display:block;height:18px;line-height:18px;position:relative;font-size:14px;white-space:nowrap;font-weight:bold}
.header-nav-link::after{content:"";position:absolute;bottom:-8px;left:0;width:100%;height:1px;background:transparent;transition:all 0.3s ease 0s}
.header-nav-link:hover::after,.header-nav-link.is-active::after{background:#fff}
.header-contact{background-color:#00447E;padding:20px 60px;color:#fff;margin-top:-20px;border-radius:35px}

/* ローディング */
.loading{position:fixed;top:0;left:0;background:#060b0f;z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;width:100%;height:100%;transition:opacity .8s,visibility .8s}
.loading.hidden{opacity:0;visibility:hidden;pointer-events:none}
.loading-content{text-align:center;max-width:400px;width:90%}
.progress-bar-bg{width:100%;height:8px;background:rgba(255,255,255,.2);border-radius:20px;overflow:hidden;margin-bottom:15px;box-shadow:inset 0 2px 4px rgba(0,0,0,.3)}
.progress-bar-fill{height:100%;background:linear-gradient(90deg,#a59460 0,#d4c078 50%,#a59460 100%);border-radius:20px;width:0%;transition:width .4s cubic-bezier(.4, 0, .2, 1);position:relative}
.progress-bar-fill::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:1.5s infinite progressShine}
.progress-text{text-align:center;color:#a59460;font-size:14px;font-weight:600;letter-spacing:1px}
@keyframes progressShine{0%{left:-100%}100%,50%{left:100%}}

/* PC用KVレイアウト */
.kv-container{position:relative;max-width:1000px;height:100%;margin:0 auto;padding:0 20px}
.pc-kv .kv-fair-period{position:absolute;top:25px;left:0;z-index:10}
.pc-kv .kv-fair-period img{height:30px;width:auto}
.pc-kv .kv-citizen-logo{position:absolute;top:25px;right:0;z-index:10}
.pc-kv .kv-citizen-logo svg,.pc-kv .kv-citizen-logo img{width:120px;height:38px;display: block;}
.pc-kv .kv-title-area{position:absolute;top:80px;left:0;text-align:left;z-index:10}
.pc-kv .kv-main-title{font-size:32px;font-weight:bold;color:white}

.kv-no1-badge-left{position:absolute;top:160px;left:5%;transform:translateX(-50%);z-index:10;width:auto;height:auto}
.kv-no1-badge-left img{height:130px;width:auto;object-fit:contain;max-width:none;display:block}

.pc-kv .kv-watches-main{position:absolute;top: 120px;left:0;transform:translate(-50%,-50%);display:flex;width:100%;justify-content:center;align-items:center;gap:40px;z-index:5;height: 320px;min-height: 320px;}
.pc-kv .kv-watch-item{text-align:center;position:relative;height: 320px;}

.watch-link{display:flex;align-items:center;text-decoration:none;transition:transform 0.3s ease;gap:20px}
.watch-link:hover{transform:scale(1.05)}
.kv-watch-left .watch-link{flex-direction:row-reverse}
.kv-watch-right .watch-link{flex-direction:row-reverse}
.pc-kv .watch-image{width:auto;height:300px;filter:drop-shadow(0 15px 30px rgba(0,0,0,0.4));transition:transform 0.3s ease;min-height: 300px}

.watch-content{display:flex;flex-direction:column;align-items:center;gap:15px}
.watch-logo{height:30px;display:flex;align-items:center;justify-content:center}
.watch-logo img{height:18px;width:auto;object-fit:contain}
.pc-kv .detail-button img{height:35px;width:auto}

.kv-main-message-center h2{font-size:28px;font-weight:bold;color:white;letter-spacing:2px;text-shadow:2px 2px 4px rgba(0,0,0,0.5)}

.kv-left-bottom{position:absolute;bottom:170px;left:0;display:flex;align-items:flex-start;gap:30px;z-index:10}
.kv-feature-section{background:url('../img/tagline-bg.jpg') center/cover no-repeat;background-color:#8b1538;padding:25px 20px 20px 20px;border-radius:8px;box-shadow:0 8px 25px rgba(0,0,0,0.3);position:relative;flex-shrink:0}
.kv-feature-section::before{content:"全てがこの1本に";position:absolute;top:15px;left:0;right:0;color:white;font-size:16px;font-weight:bold;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,0.5)}

.pc-kv .kv-feature-badges{display:flex;gap:10px;margin-top:25px}
.pc-kv .feature-badge{width:60px;height:60px;background:rgba(70,70,70,0.9);border:1px solid rgba(140,140,140,0.6);color:white;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:12px;font-weight:600;backdrop-filter:blur(5px);transition:all 0.3s ease;text-align:center}
.pc-kv .feature-badge:hover{background:rgba(90,90,90,0.9);transform:translateY(-2px)}
.pc-kv .feature-badge h3{margin:0;font-size:12px;font-weight:600;line-height:1.2}

.pc-kv .kv-price-message{color:white;margin-left:20px}
.pc-kv .kv-price-message p{font-size:9px;line-height:1.2}
.pc-kv .price-main{font-size:30px;font-weight:bold;margin-bottom:5px;letter-spacing:1px;line-height:1.4}
.pc-kv .kv-footnote{position:absolute;left:0;bottom:150px;width:28%}
.pc-kv .kv-footnote p{font-size:8px;line-height:1.2;display:block;color:rgba(233,233,233,0.7)}

/* スマホ用レスポンシブ */
@media (max-width:1000px){
  .kv{margin-top:50px;margin-bottom:0}
  .kv-box{height:100vh;min-height:600px;max-height:800px}
  .pc-kv{display:none}
  .sp-kv{display:block}

  .kv-mobile{position:relative;width:100%;height:auto;min-height:600px;background:url('../img/kv-bg-sp.jpg') center top no-repeat;display:flex;flex-direction:column;justify-content:space-between;padding:20px 15px;background-size:cover;background-position:100% 0}

  .sp-kv .kv-header-area{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;width:100%}
  .sp-kv .kv-fair-period{text-align:left;margin-bottom:0;order:1}
  .sp-kv .kv-fair-period img{height:20px;width:auto}
  .sp-kv .kv-citizen-logo{text-align:right;margin-bottom:0;order:2}
  .sp-kv .kv-citizen-logo img{width:70px;display:block;margin-left:auto;margin-right:0;height: 45px;}

  .sp-kv .kv-title-area{margin-bottom:30px;text-align:left}
  .sp-kv .kv-main-title{font-size:18px;margin-bottom:15px;line-height:1.4;color:white;font-weight:600;text-align:left}
  .sp-kv .kv-no1-badge{text-align:left}
  .sp-kv .kv-no1-badge img{height:70px;width:auto;max-width:150px}

  .sp-kv .kv-watches-main{display:flex;justify-content:center;align-items:flex-start;margin-top:-132px;margin-left:45px}
  .sp-kv .kv-watch-item{text-align:center;flex:0 0 auto;width:auto;display:flex;justify-content:center}
  .sp-kv .watch-link{display:flex;flex-direction:column;align-items:center;padding:10px 2px;border-radius:8px;width:100%;gap:10px;min-height:auto;text-decoration:none}
  .sp-kv .watch-image{width:auto;height:185px;min-height: 185px;filter:drop-shadow(0 10px 20px rgba(0,0,0,0.4))}

  .sp-kv .watch-content{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}
  .sp-kv .watch-logo{order:1}
  .sp-kv .watch-logo img{height:13px;width:auto}
  .sp-kv .detail-button{order:2}
  .sp-kv .detail-button img{height:24px;width:auto}

  .sp-kv .watch-link:hover,.sp-kv .watch-link:active{transform:scale(1.02)}
  .sp-kv .kv-watch-item:first-child .watch-link,.sp-kv .kv-watch-item:last-child .watch-link{flex-direction:column}

  .sp-kv .kv-bottom-section{width:100%;text-align:center}
  .sp-kv .price-main h2{font-size:16px;color:white;line-height:1.4;font-weight:600;text-align:center;margin:10px}
  .sp-kv .kv-main-message{background:url('../img/tagline-bg-sp.jpg') center/cover no-repeat;background-color:#000;padding:10px 3px 5px}
  .sp-kv .kv-main-message h2{font-size:12px;margin-bottom:15px;color:white;font-weight:600}
  .sp-kv .kv-feature-badges{display:flex;gap:8px;margin-bottom:20px;justify-content:center;flex-wrap:wrap}
  .sp-kv .feature-badge{background:rgba(70,70,70,0.8);border:1px solid rgba(140,140,140,0.6);color:white;padding:8px;border-radius:4px;font-size:11px;font-weight:600;backdrop-filter:blur(5px)}
  .sp-kv .feature-badge h3{margin:0;font-size:11px;font-weight:600}
  .sp-kv .kv-footnote{margin-top:20px}
  .sp-kv .kv-footnote p{font-size:8px;line-height:1.2;color:rgba(255,255,255,0.7);text-align:left}
}

@media (max-width:350px){
  .sp-kv .kv-no1-badge img{transform:translateY(120px)}
}

/* タブレット用（768px - 1000px） */
@media (min-width:768px) and (max-width:1000px){
  .kv{margin-top:50px;margin-bottom:20px}
  .kv-box{height:80vh;min-height:600px;max-height:700px}
  .pc-kv{display:none}
  .sp-kv{display:block}

  .kv-mobile{position:relative;width:100%;height:auto;min-height:600px;background:url('../img/kv-bg-sp.jpg') center top no-repeat;display:flex;flex-direction:column;justify-content:space-between;padding:30px 40px;background-size:cover}

  .sp-kv .kv-header-area{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;width:100%}
  .sp-kv .kv-fair-period img{height:28px;width:auto}
  .sp-kv .kv-citizen-logo img{width:100px;display:block;margin-left:auto;margin-right:0}
  .sp-kv .kv-title-area{margin-bottom:40px;text-align:left}
  .sp-kv .kv-main-title{font-size:28px;margin-bottom:20px;line-height:1.4;color:white;font-weight:600;text-align:left}
  .sp-kv .kv-no1-badge img{height:90px;width:auto;max-width:200px}

  .sp-kv .kv-watches-main{display:flex;justify-content:center;align-items:flex-start;margin-left:0;gap:80px;margin-top:-150px}
  .sp-kv .kv-watch-item{text-align:center;flex:0 0 auto;width:auto;display:flex;justify-content:center}
  .sp-kv .watch-link{display:flex;flex-direction:column;align-items:center;padding:15px 10px;border-radius:8px;width:100%;gap:15px;min-height:auto;text-decoration:none}
  .sp-kv .watch-image{width:auto;height:220px;min-height: 220px;filter:drop-shadow(0 15px 30px rgba(0,0,0,0.4))}
  .sp-kv .watch-logo img{height:18px;width:auto}
  .sp-kv .detail-button img{height:32px;width:auto}

  .sp-kv .price-main h2{font-size:20px;color:white;line-height:1.4;font-weight:600;text-align:center;margin:10px}
  .sp-kv .kv-main-message{background:url('../img/tagline-bg-sp.jpg') center/cover no-repeat;background-color:#000;padding:15px 20px 8px;border-radius:8px;margin:0 auto 20px;max-width:max-content}
  .sp-kv .kv-main-message h2{font-size:16px;margin-bottom:15px;color:white;font-weight:600}
  .sp-kv .feature-badge{background:rgba(70,70,70,0.8);border:1px solid rgba(140,140,140,0.6);color:white;padding:10px 16px;border-radius:4px;font-size:13px;font-weight:600;backdrop-filter:blur(5px)}
  .sp-kv .feature-badge h3{margin:0;font-size:13px;font-weight:600}
  .sp-kv .kv-footnote p{font-size:10px;line-height:1.3;color:rgba(255,255,255,0.7);text-align:center}
}

@media (min-width:1001px){
  .sp-kv{display:none}
  .pc-kv{display:block;height: 650px; min-height: 650px;}
  .kv{margin-top:80px;height: 650px; min-height: 650px;}
  .kv-box{height: 650px; min-height: 650px;}
  .kv-container{height: 750px; min-height: 750px;}
}

/* アニメーション効果 */
@keyframes kvFadeInUp{
  from{opacity:0;transform:translateY(50px)}
  to{opacity:1;transform:translateY(0)}
}
.kv-watches-main{animation:kvFadeInUp 1s ease-out;opacity:0;animation-fill-mode:forwards;animation-delay:0.4s}

/* 共通クラス */
.upper-txt{text-transform:uppercase}
.p-4{max-width:900px !important}

/* ヘッディング */
.heading-box{margin-bottom:50px}
.heading-box h2{text-align:center;color:#A59460;font-size:45px;line-height:60px;margin-bottom:50px;font-family:"Cormorant"}
.heading-box h2 span{color:#fff;font-size:30px;font-family:"Shippori Mincho B1",sans-serif;font-weight:600}
.heading-box p{text-align:center;color:#fff}
.container{margin-bottom:100px}

/* About セクション */
.about-wrapper{padding:150px;background-image:url("../img/about-bg.jpg");background-size:80%;background-position:center;background-repeat:no-repeat;margin-bottom:100px}
.about-wrapper h2{font-size:30px;text-align:center;color:#fff;margin-bottom:70px}
.about-wrapper p{text-align:center;color:#fff}

/* Charm セクション */
.charm-wrapper{text-align:center;color:#fff}
.charm-wrapper h3{font-size:25px;margin-bottom:100px;margin-top:100px;font-weight:normal;line-height:2}

.slider-box{width:1000px;margin:0 auto;margin-bottom:100px;min-height: 520px;}
.slider-box article{width:320px;margin:0 10px;padding-bottom:20px;background-image:url("../img/charm-bg.jpg");background-size:cover;background-repeat:no-repeat;font-family:'Noto Sans JP',sans-serif !important;height:500px;min-height: 500px;}
.slider-box article img{width:100%;margin-bottom:20px;height: auto;aspect-ratio: 443 / 365;display: block;}
.slider-box article h4{text-align:left;width:96%;margin:0 auto;margin-bottom:10px;font-weight:normal;font-size:17px;display:flex;align-items:center}
.slider-box article h4 span{font-size:27px;margin-right:5px}
.slider-box article p{width:96%;margin:0 auto;font-size:14px;text-align:left;line-height:20px;min-height:185px}

.slick-dots li button:before{color:#fff !important}
.slick-dots li.slick-active button:before{color:#fff !important}
.slick-dots{bottom:-43px !important}

.more-btn{width:500px;margin:0 auto;margin-top:100px}
.more-btn img{width:100%;height: auto;aspect-ratio:10 / 1}

/* おすすめセクション */
.recommend-wrapper{background-color:#242424;padding:100px 0 10px}
.recommend-box{width:1100px;margin:0 auto;margin-bottom:150px}
.recommend-box .recommend-box img{display: block;width: 100%;height: auto;aspect-ratio: 2190 / 939;}
.recommend-wrapper .heading-box{margin-bottom:150px}
.recommend-box h3{color:#F2D98C;font-size:25px;text-align:center;line-height:2.2;margin-bottom:100px}
.recommend-box h3 span{font-size:30px;color:#fff}
.recommend-flex{width:90%;margin:0 auto;display:flex;align-items:center}
.recommend-left{width:25%;margin-right:10%}
.recommend-left img{width:100%}
.recommend-right{width:65%;color:#fff}
.recommend-title{text-align:center;margin-bottom:50px;font-size:20px}
.recommend-content{font-size:14px;margin-bottom:40px}

/* コレクションセクション */
.collection-wrapper{padding: 95px 0;min-height: 800px;}
.tabs-container{max-width:1100px;margin:0 auto;background-color:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,0.1);overflow:hidden}
.tabs-container small{padding:20px;display:block}

.tabs-header{display:flex;background-color:#f8f9fa;border-bottom:1px solid #e9ecef}
.tab-button{flex:1;padding:20px;background:none;border:none;font-size:18px;font-weight:bold;cursor:pointer;transition:all 0.3s ease;position:relative;font-family:"Shippori Mincho B1",sans-serif}
.tab-button.active{background-color:#fff;color:#A59460}
.tab-button:not(.active){background-color:#41413F;color:#fff}
.tab-button:hover:not(.active){background-color:#555}

.controls{padding:20px;background-color:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}
.sort-controls{display:flex;align-items:center;gap:15px}
.sort-select,.filter-select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background-color:white}
.filter-controls{display:flex;align-items:center;gap:10px}

.tab-content{display:none;padding:30px}
.tab-content.active{display:block}

.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:25px;margin-top:20px}
.product-item{background:#ffffff;border-radius:12px;padding:20px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,0.1);transition:all 0.3s ease;position:relative;border:2px solid transparent}
.product-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,0.15);border-color:#A59460}
.product-image{width:100%;height:180px;object-fit:contain;margin-bottom:15px;margin-top:10px}

.arrow-icon{position:absolute;bottom:15px;right:15px;width:30px;height:30px;background:#2d3436;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease}
.arrow-icon::after{content:'»';color:#fff;font-size:16px;font-weight:bold;line-height:1;transform:translateY(-3px)}
.product-item:hover .arrow-icon{background:#A59460;transform:scale(1.1)}

/* 特典セクション */
#attesa,#promaster,#test,#gift,#store,#information,#collection {scroll-margin-top: 100px;}
.special-wrapper{padding: 100px 0}
.special-box{max-width:1100px;width:100%;margin:0 auto;margin-bottom:100px;display:flex;justify-content: center;}
.special-box article{width:350px;margin:0 15px;padding-bottom:20px;background-image:url("../img/charm-bg.jpg");background-size:cover;background-repeat:no-repeat;font-family:'Noto Sans JP',sans-serif !important;color:#fff}
.special-box article p{min-height:150px}
.special-box article img{width:100%;margin-bottom:20px;display: block;height: auto;aspect-ratio: 665 / 548;}
.special-box article h4{text-align:left;width:96%;margin:0 auto;margin-bottom:10px;font-weight:normal;font-size:18px;display:flex;align-items:center;color:#fff;font-family:"Shippori Mincho B1",sans-serif;font-weight:600;line-height:1.5}
.special-box article h4 span{font-size:40px;margin-right:5px;color:#F2D98C;font-family:'Roboto',sans-serif;font-weight:normal}
.special-box article h4 span.zero{padding-bottom:10px}
.shippori{font-family:"Shippori Mincho B1",sans-serif !important;margin-right:0 !important}
.special-box article p{width:96%;margin:0 auto;font-size:14px;text-align:left;line-height:2}
.tokuten{font-size:13px !important;color:#F2D98C}
.more-btn2{width:80%;margin:0 auto;margin-top:30px;display: flex;justify-content: center;}
.more-btn2 img{width:100%}

/* フッター */
footer{padding:100px 0;background-color:#fff}
footer .heading-box h2 span{color:#060B0F}
.footer-flex{width:1000px;margin:0 auto;display:flex;align-items:end}
.footer-left{width:40%;margin-right:5%}
.footer-right{width:55%}
.footer-right iframe{width:100%;height:400px}
.footer-left h4{font-size:23px;font-weight:600;margin-bottom:20px}
.footer-left p{color:#060B0F;margin-bottom:40px;text-align:left;font-size:19px}

.footer-info,.online-store-info{max-width:1000px;margin:50px auto}
.footer-info h5,.online-store-info h5{color:#A59460;padding-bottom:10px;border-bottom:1px solid #A59460;font-size:20px}
.footer-ec-btn{display:inline-block;text-decoration:none;position:relative;overflow:hidden}
.footer-info p,.online-store-info .footer-note{color:#060B0F !important;display:block;line-height:1.5;padding:20px 0;text-align:left}

/* ボタンスタイル */
.btn-bg{display:flex;align-items:center;gap:8px;padding:10px 20px 10px 25px;background-color:#c40000;clip-path:polygon(10% 0,100% 0,90% 100%,0% 100%);width:100%;max-width:320px}
.staff-check-btn .btn-bg{background-color:#fff;max-width: 300px;width: 100%;margin: 0 auto;padding-right: 30px;}
.btn-text{color:#fff;font-family:'Noto Sans JP';font-size:12px;letter-spacing:0.15rem}
.staff-check-btn .btn-text{color:#060B0F}
.staff-check-btn.used{opacity:0.8;cursor:not-allowed;pointer-events:none}

.icon-circle{width:24px;height:24px;background-color:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;flex-shrink:0}
.staff-check-btn .icon-circle{background-color:#060B0F}
.staff-check-btn.used .icon-circle{background-color:#ecf0f1}
.icon-triangle{width:0;height:0;border-left:8px solid #c40000;border-top:5px solid transparent;border-bottom:5px solid transparent}
.staff-check-btn .icon-triangle{border-left:8px solid #fff}
.staff-check-btn.used .icon-triangle{border-color:transparent transparent transparent #95a5a6}
.used-indicator{display:none;background:#000;color:white;padding:3px 8px;border-radius:12px;font-size:12px;font-weight:bold}
.staff-check-btn.used .used-indicator{display:inline-block}

.more-btn3 a{position:relative;display:flex;align-items:center;justify-content:center;max-width:635px;aspect-ratio:635/89;height:auto;background-size:cover;background-position:center;background-repeat:no-repeat;text-decoration:none;text-align:center;color:white;font-size:13px;font-family:'Noto Sans JP',sans-serif !important}
.more-btn3 a span{font-size:15px}
.tel-btn{background-image:url('../img/tel-btn-back.png')}
.mail-btn{background-image:url('../img/mail-btn-back.png')}
.line-btn{background-image:url('../img/line-btn-back.png')}
.more-btn3{width:100%;margin-bottom:20px}
.more-btn3:nth-last-child(1){margin-bottom:0}
.more-btn3 img{width:100%}

.copy{padding:30px;text-align:center;color:#fff}
.copy p{padding:30px 0px 80px}
.py-2{margin-bottom:20px;font-size:0.8rem}
.question{font-family:'Noto Sans JP',sans-serif !important}
.question h2{text-align:center}
.slick-prev:before,.slick-next:before{color:#919191 !important}
.slick-dots li button:before{font-size:15px !important}

/* 1100px以下のメディアクエリ */
@media(max-width:1100px){
  html,body{min-width:initial;overflow-x:hidden}
  .kv-logo{right:9%}
  .kv-promaster{left:4%}
  .kv-attesa{left:35%}
  .slider-box{width:980px}
  .charm-wrapper .slider-box{width:100%;overflow:hidden}
  .charm-wrapper .slider-box .slick-slider{width:86%;margin:0 auto}
  .slider-box .slick-slide{display:flex;align-items:stretch;flex-direction:column;height:auto;flex:1}
  .slider-box article img{aspect-ratio:443/365;object-fit:contain}
  .slick-next{right:0 !important}
  .slick-prev{left:-14px !important;z-index:9999 !important}
  .special-box{width:990px;justify-content:space-between}
  .special-box article{width:325px}
  .footer-flex{width:900px}
}

/* 1000px以下のメディアクエリ */
@media(max-width:1000px){
  html,body{min-width:100%;letter-spacing:0}
  p{font-size:14px;letter-spacing:0}
  h3#attesa{line-height:2}
  .header-wrapper{min-width:100%;padding:15px 0;min-height: 50px;height: 50px}
  .header-logo{display:block;width:121px}
  .drawer-icon{display:block}
  .pc{display:none}
  .sp{display:block !important}
  .charm-wrapper .more-btn .sp{display:block !important}
  .bar{display:block}
  .kv{height:initial}
  .kv-box{width:100%;height:initial}
  .sp-kv{width:100%}
  .sp-kv img{width:100%}
  .kv-attesa{width:27%;bottom:36%;left:5%}
  .kv-promaster8{width:27%;left:5%;bottom:5%}
  .check-btn{width:90%}
  .heading-box h2{font-size:2.5rem;letter-spacing:0}
  .heading-box h2 span{font-size:1.2rem;line-height:2;display:inline-block}
  .text-3xl{font-size:1.4rem !important}
  .grid-cols-2{grid-template-columns:initial !important}
  .about-wrapper{padding:100px 0;width:93%;margin:0 auto;background-image:url("../img/sp-about-bg.jpg");background-position:50% 61%;background-size:contain}
  .about-wrapper h2{font-size:1.2rem;letter-spacing:0;line-height:2}
  .about-wrapper p{text-align:justify}
  .charm-wrapper h3{font-size:1.2rem;letter-spacing:0;margin-top:50px;margin-bottom:50px}
  .slider-box{width:95%;min-height: 570px;}
  .slider-box article{height:550px;box-sizing:border-box;min-height: 550px;}
  .slider-box article p{padding:0 5px;line-height:2;min-height:185px}
  .more-btn{width:95%}
  .more-btn img{aspect-ratio: 584 /118}
  .slick-prev{left:-4% !important;z-index:9999 !important}
  .slick-next{right:-4% !important;z-index:9999 !important}
  .recommend-wrapper .heading-box{margin-bottom:100px}
  .recommend-box{width:100%;margin-bottom:50px}
  .recommend-box img{display:block;margin-bottom:40px}
  .recommend-box h3{font-size:1.1rem;margin-bottom:30px;line-height:1.8}
  .recommend-box h3 span{font-size:16px;display:block;margin-top:0.5rem}
  .recommend-flex{width:100%;flex-direction:column}
  .recommend-left{width:40%;margin:0 auto;margin-bottom:20px}
  .recommend-right{width:95%}
  .recommend-title{font-size:1rem}
  .recommend-wrapper{padding:50px 0 20px}
  .tabs{width:95%}
  .tab_content{padding:40px 0 0}
  .tab-item{width:48%;margin:0 1%;margin-bottom:30px}
  #attesa,#promaster,#test,#gift,#store,#information,#collection {scroll-margin-top: 70px}
  .special-box{width:100%;flex-direction:column;margin-bottom:0}
  .special-wrapper {padding: 50px 0}
  .special-wrapper .special-box{width:95%}
  .special-box article{width:100%;margin:0;height:initial;padding-bottom:70px}
  .special-box article h4{justify-content:center;text-align:center;font-size:1.4rem;margin-bottom:20px}
  .special-box article h4 span{font-size:2.5rem}
  .special-wrapper .special-box article{margin-bottom:20px}
  .tokuten{font-size:1.1rem !important;margin-right:5px !important}
  .special-box article p{width:95%;text-align:justify}
  footer{padding-bottom:20px}
  .warranty-section{width:93%;margin:0 auto}
  .footer-flex{width:93%;flex-direction:column}
  .footer-left{width:100%;margin-right:0;margin-bottom:50px}
  .footer-left h4{margin-left:0;font-size:1.6rem}
  .footer-left p{font-size:1.1rem}
  .footer-right{width:100%;height:300px}
  .footer-right iframe{height:300px}
  .copy p{font-size:0.8rem;padding:30px 0px 60px}
  .footer-info,.online-store-info{width:93%}
  .footer-ec-btn{margin:0 auto 20px;display:block}
}

/* 質問セクション */
#quiz-container{background-color:white;box-shadow:0px 4px 10px rgba(0,0,0,0.1);border-radius:12px;padding:32px;max-width:1000px;margin:0 auto;text-align:center}
#quiz-container h2{font-size:24px;font-weight:bold;margin-bottom:20px;color:#060B0F}
.progress-container{margin-bottom:24px}
.progress-bar-bg{background-color:#e5e7eb;border-radius:9999px;height:10px;position:relative;overflow:hidden}
.progress-bar{background-color:#060B0F;height:100%;width:0%;border-radius:9999px;transition:width 0.3s ease-in-out}
.progress-text{display:flex;justify-content:space-between;font-size:14px;color:#6b7280;margin-top:8px}
.container{max-width:1000px;margin:0 auto}
#test.container {padding-top: 50px}
#questions{margin-bottom:24px;display:block}
#questions.hidden{display:none}
.mb-6{margin-bottom:30px}
#result.hidden{display:none}
#result{display:block;text-align:center}
#result-title{font-size:20px;font-weight:bold;margin-bottom:16px;line-height:1.5}
#result-description{margin-bottom:24px;line-height:2}

/* 診断固定ボタン */
.footer-btn{position:fixed!important;bottom:0!important;width:100%!important;background:#e6d16a!important;background:linear-gradient(180deg,#e6d16a 0%,#c9a961 20%,#a08c56 90%,#7d6a40 100%)!important;border:none!important;font-family:'Noto Sans JP',sans-serif!important;padding:8px!important;z-index:999!important;color:#fff!important;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:0 -2px 5px rgba(0,0,0,0.5)!important}
.footer-btn a{display:flex;justify-content:center;align-items:center;gap:10px;text-decoration:none;color:inherit;font-weight:500;font-size:16px;padding:15px}
.tag-label{background:#7d6a40;color:#fff;border-radius:20px;padding:0.25rem 0.75rem;font-size:0.8rem;display:inline-block;align-self:center}
.acction-txt{display:flex;align-items:center;justify-content:center}
.acction-txt span{font-size:14px}
.play-icon{width:20px;height:20px;min-width:20px;background-color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:10px}
.triangle{width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent #060B0F;margin-left:2px}

@media (max-width:767px){
  .footer-btn{font-size:12px;line-height:1.2;flex-direction:row;justify-content:center;align-items:center;gap:10px;padding:10px}
  .footer-btn a{flex-direction:column;padding:0}
  .play-icon{width:18px;height:18px;min-width:18px}
  .tag-label{font-size:11px}
  .triangle{border-width:4px 0 4px 7px}
  #quiz-container h2,.question h3{font-size:16px}
}

@media (min-width:1200px){
  .button-container{max-width:900px;left:50%;transform:translateX(-50%)}
}

.question h3{font-size:20px;font-weight:600;margin-bottom:3rem;line-height:2;font-family:"Shippori Mincho B1",sans-serif}
.quiz-btn{display:flex;align-items:center;background-color:#e5e7eb;border-radius:25px;border:none;cursor:pointer;transition:0.2s;height:130px;overflow: hidden;box-sizing: border-box;position: relative;}
.quiz-btn img{  display: block;width: 140px;height: 130px;object-fit: cover;margin-right: 10px;flex-shrink: 0;border-radius: 25px 0 0 25px;-webkit-transform: translateZ(0);transform: translateZ(0);backface-visibility: hidden;-webkit-backface-visibility: hidden;}
.product-card{position:relative}
.no-image{visibility:hidden}
.quiz-btn p{display:block;text-align:left}
button#restart-quiz{background-color:#fff}
.quiz-btn * {pointer-events: none;}
.quiz-btn:hover{background-color:#d1d5db;cursor:pointer;}
.quiz-btn.selected{background-color:#A59460;color:white;}
.education-content{background:#f0f8ff;padding:8px 12px;margin:15px 0;border-radius:6px;font-size:13px;line-height:1.3}
#result-title{font-size:16px}
a#promaster-button,a#attesa-button{margin:20px auto;cursor:pointer;display:block}
.grid{display:grid;gap:1rem}
.grid-cols-2{grid-template-columns:repeat(2,1fr)}
.grid-cols-1{grid-template-columns:repeat(1,1fr)}
.share-buttons{display:flex;justify-content:center;column-gap:20px;margin:20px auto}
.share-txt{margin-top:20px}
#x-share,#line-share,#facebook-share{background:none;border:none;padding:0;cursor:pointer;width:50px;height:50px}

/* 商品スライダー */
.product-slider{width:100%;margin:0 auto}
.product-slide{padding:10px;text-align:center;max-width:300px;margin:auto;pointer-events:none}
.product-slide h5{line-height:1.5;margin-bottom:10px}
.product-price{font-size:0.9rem}
.product-tax{font-size:0.8rem;padding-bottom:10px;}
.product-number,.product-price,.product-tax{margin:10px;line-height: 1;}
.product-slide img{display:block;max-height:225px;width:auto;height:100%;margin:0 auto 20px}
.product-slide .slick-slide{width:auto !important}
.product-slider .slick-dots li{margin:0 2px !important}
.product-slider .slick-dots li button{background-color:#CCCCCC;border-radius:50%;width:10px;height:10px;border:none;padding:0;font-size:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:none;margin-top:-10px}
.product-slider .slick-dots li button:before{display:none}
.product-slider .slick-dots li.slick-active button{background-color:#060B0F;width:10px;height:10px}
.product-name:empty::before,.product-slide h4:empty::before{content: "\00A0"; visibility: hidden;}

/* バッジ関連 */
.series-badge{display:inline-block;padding:4px 8px;margin-top:8px;border-radius:4px;font-size:12px;font-weight:bold}
.series-badge.promaster{background-color:#e3f2fd;color:#1976d2;text-transform:uppercase}
.series-badge.attesa{background-color:#fbe9e7;color:#d84315;text-transform:capitalize}
.status-badge{position:absolute;top:10px;right:10px;padding:4px 8px;border-radius:12px;font-size:10px;font-weight:bold;z-index:2;font-family:'Noto Sans JP'}
.product-card .status-badge{right:-30px}
.badge-available{background-color:#636e72;color:white}
.badge-limited{background-color:#2d3436;color:white}
.badge-new{background-color:#A59460;color:white}
.badge-preorder{background-color:#A59460;color:white}
.badge-coming{background-color:#636e72;color:white}
.badge-few{background-color:#636e72;color:white}
.badge-special{background-color:#2d3436;color:#fff}
.badge-popular{background-color:#41413F;color:white;font-weight:bold}

.price-highlight{position:relative}
.price-highlight.premium::after{content:"プレミアム";position:absolute;top:-20px;right:0;background:#A59460;color:white;padding:2px 6px;border-radius:4px;font-size:10px}
.product-title,.product-code,.product-price,.product-tax{margin:10px}
.product-title{font-size:0.8rem;letter-spacing:-0.01rem}
.product-price,.product-tax{color:#A6ACB1}

/* モーダル */
.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.8);animation:fadeIn 0.3s ease}
.modal.show{display:flex;align-items:center;justify-content:center;top: 0;left: 0;}
.modal-content{background-color:white;border-radius:16px;max-width:800px;width:90%;max-height:80vh;overflow-y:auto;position:relative;animation:slideIn 0.3s ease}
.modal-description,.feature-tag,.specifications-table{font-family:'Noto Sans JP'}

@keyframes slideIn{
  from{opacity:0;transform:translateY(-50px)}
  to{opacity:1;transform:translateY(0)}
}

.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #eee}
.modal-title{font-size:1rem;font-weight:bold;color:#333}
.close-btn{background:none;border:none;font-size:30px;cursor:pointer;color:#999;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all 0.3s ease}
.close-btn:hover{background-color:#f5f5f5;color:#333}
.modal-body{padding:30px}
.modal-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px}
.modal-image{width:auto;height:250px;height:auto}
.modal-info h3{font-size:20px;font-weight:bold;margin-bottom:10px;color:#333}
.price-container{display:flex;align-items:baseline;gap:10px;margin-bottom:15px}
.modal-price{font-size:1rem;font-weight:bold;color:#666;margin-bottom:0}
.modal-tax{font-size:0.8rem;color:#666;margin-bottom:0}
.features-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.feature-tag{background-color:#e3f2fd;color:#1976d2;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.modal-description{font-size:16px;line-height:1.6;color:#555;margin-bottom:30px}
.specifications-table{width:100%;border-collapse:collapse;margin-bottom:20px}
.specifications-table th,.specifications-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}
.specifications-table th{background-color:#f8f9fa;font-weight:bold;color:#333;width:30%}
.specifications-table td:first-child {white-space: nowrap;color: #666;}
.sales-info{background-color:#eee;padding:15px;border-radius:8px;margin-bottom:20px}
.sales-info h4{color:#333;margin-bottom:8px;font-size:16px}
.sales-info p{color:#333;font-size:14px;margin:0}

/* 保証情報 */
.warranty-section .heading-box{padding-bottom:150px;margin:0 auto}
.warranty{margin:2em auto;border-radius:8px;color:#fff;font-size:0.95rem;line-height:1.6;max-width:1100px;text-align:left}
.warranty h5{font-size:1.1rem;margin-bottom:0.5em;color:#fff;font-weight:600}
.warranty p{text-align:left}
.warranty .warranty-note{font-size:0.85rem;color:#ccc;margin-top:0.5em}

/* スマホ用モーダル対応 */
@media (max-width:1000px){
  html{scroll-padding-top: 70px;}
  .container,.tabs-container{width:95%}
  #test.container{padding-top: 30px;}
  .question h3{margin-bottom:1rem;font-size:14px}
  .quiz-btn{height:65px;border-radius:10px;padding-right:10px}
  .quiz-btn img{height:65px;min-width: 65px;width:auto;border-radius: 10px 0 0 10px;flex-shrink: 0;margin-left: -1px; margin-top: -1px;margin-bottom: -1px;will-change: transform;-webkit-transform: translate3d(0,0,0);transform: translate3d(0,0,0);}
  .quiz-btn p{font-size:12px;text-align:left;line-height:1.3}
  .education-content p{text-align:left;font-size:12px;line-height:1.3}
  .product-slide h5{font-size:0.9rem}
  .product-slide img{max-height: 145px}
  #x-share,#line-share,#facebook-share{width:35px;height:auto;margin-bottom:20px}
  .controls{flex-direction:column;align-items:stretch}
  .sort-controls,.filter-controls{justify-content:center}
  .product-slider{padding: 0 10px;}
  .product-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px}
  .product-card .status-badge{right: -45px;}
  .tab-button{padding:15px 10px;font-size:16px}
  .controls{flex-direction:column;align-items:stretch;gap:15px;padding:15px}
  .filter-controls{flex-direction:column;align-items:stretch;gap:10px}
  .filter-row{display:flex;align-items:center;gap:10px}
  .filter-controls label{font-size:14px;font-weight:bold;color:#333;min-width:60px;margin:0 !important}
  .filter-select{flex:1;padding:8px 10px;font-size:14px;border:1px solid #ddd;border-radius:6px;background-color:white}
  .modal-info{max-width:100%;overflow:hidden}
  .modal-content{width:95%;height:70%;margin:20px}
  .modal-product-grid{grid-template-columns:1fr;gap:20px}
  .modal-description{font-size:14px}
  .modal-header{padding:15px 20px}
  .modal-body{padding:20px}
  .modal-title{font-size:0.8rem}
  .modal-image{height:200px;margin:0 auto;display:block}
  .specifications-table th,.specifications-table td{padding:8px;font-size:14px}
  .features-list-container{position:relative;width:100%;max-width:100%;margin-bottom:20px;box-sizing:border-box}
  .features-list{display:flex;flex-wrap:nowrap;gap:6px;margin-bottom:0;height:45px;width:90%;max-width:100%;overflow-x:auto;overflow-y:hidden;background:rgba(128,128,128,0.1);border-radius:8px;padding:4px 8px;scrollbar-width:thin;scrollbar-color:#888888 transparent}
  .features-list-container::before{content:'›';position:absolute;top:50%;right:8px;transform:translateY(-50%);font-size:14px;font-weight:bold;color:#888888;z-index:11;pointer-events:none;opacity:0.8}
  .features-list::-webkit-scrollbar{height:4px}
  .features-list::-webkit-scrollbar-track{background:rgba(165,148,96,0.1);border-radius:2px}
  .features-list::-webkit-scrollbar-thumb{background:#888888;border-radius:2px}
  .features-list::-webkit-scrollbar-thumb:hover{background:#636e72}
  .features-list::after{content:'';min-width:10px;height:1px}
  .feature-tag{font-size:11px;padding:3px 10px;margin-right:4px;margin-bottom:5px}
  .btn-bg{padding-left:45px}
  .footer-info h5,.online-store-info h5{font-size:18px;line-height:1.5;font-weight:600}
  section.special-wrapper{padding-bottom:50px}
  footer{padding-top:50px}
}
/* アンカーリンクが2回タップが必要な対処法 */
@media (min-width: 1px) and (max-width: 1050px) {
  a:hover {
    opacity: 1;
  }
}
