
.faq-section{background:#F8F6F1;padding:48px 40px 56px;font-family:'Segoe UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Meiryo',sans-serif;position:relative;}
.faq-section::before{content:"";position:absolute;top:0;left:50%;width:100vw;height:100%;transform:translateX(-50%);background:#F8F6F1;z-index:0;}
.faq-section > *{position:relative;z-index:1;}
.faq-section .section-header{text-align:center;margin-bottom:36px;position:relative;}
.faq-section .section-header h2{font-size:28px;color:#1A3A5C;margin:0;font-weight:bold;letter-spacing:2px;}
.faq-section .section-header h2 em{color:#C9A961;font-style:normal;}
.faq-section .section-header .deco{width:40px;height:2px;background:#C9A961;margin:14px auto 0;}
.faq-section .faq-viewall{position:absolute;top:0;right:0;background:#C0392B;color:#fff;font-size:11px;padding:6px 14px;border-radius:16px;text-decoration:none;font-weight:bold;display:inline-flex;align-items:center;gap:6px;letter-spacing:0.5px;}
.faq-section .faq-viewall::before{content:"Q";display:inline-block;width:18px;height:18px;line-height:18px;text-align:center;background:rgba(255,255,255,0.25);border-radius:50%;font-size:11px;font-weight:bold;}
.faq-section .faq-viewall:hover{background:#A5281B;}
.faq-section .faq-list{max-width:1100px;margin:0 auto;}
.faq-section .faq-item{border:1px solid #DDE5EF;border-radius:6px;background:#fff;margin-bottom:14px;overflow:hidden;transition:box-shadow 0.2s;}
.faq-section .faq-item:hover{box-shadow:0 4px 12px rgba(26,58,92,0.08);}
.faq-section .faq-q{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:14px;color:#1A3A5C;font-weight:bold;user-select:none;}
.faq-section .faq-q .toggle{color:#C9A961;font-size:22px;font-weight:normal;line-height:1;flex-shrink:0;margin-left:12px;transition:transform 0.3s;}
.faq-section .faq-item.open .faq-q .toggle{transform:rotate(45deg);}
.faq-section .faq-a{padding:0 20px;max-height:0;overflow:hidden;color:#555;font-size:13px;line-height:1.85;transition:max-height 0.4s,padding 0.3s;}
.faq-section .faq-item.open .faq-a{padding:0 20px 18px;max-height:1200px;}
.faq-section .faq-a p{margin:0 0 8px;}
.faq-section .faq-a p:last-child{margin-bottom:0;}
.faq-section .faq-a ul{margin:6px 0 8px 18px;padding:0;}
.faq-section .faq-a li{margin-bottom:4px;}
.faq-section .faq-a a{color:#1A3A5C;text-decoration:underline;}
.faq-section .faq-a a:hover{color:#C9A961;}
.faq-section .faq-a .note{background:#FFF8E8;border-left:3px solid #C9A961;padding:8px 12px;margin:8px 0;border-radius:0 4px 4px 0;font-size:12px;color:#8a7a3a;}
.faq-section .faq-a .ship-table{width:100%;border-collapse:collapse;margin:8px 0;font-size:12px;}
.faq-section .faq-a .ship-table th{background:#1A3A5C;color:#fff;padding:8px 10px;text-align:left;font-weight:bold;font-size:11px;}
.faq-section .faq-a .ship-table td{border:1px solid #DDE5EF;padding:8px 10px;vertical-align:top;}
.faq-section .faq-a .ship-table tr:nth-child(even) td{background:#F8F6F1;}
.faq-section .faq-a .disc-table{width:100%;border-collapse:collapse;margin:8px 0;font-size:12px;}
.faq-section .faq-a .disc-table th{background:#1A3A5C;color:#fff;padding:6px 10px;text-align:left;font-weight:bold;font-size:11px;}
.faq-section .faq-a .disc-table td{border:1px solid #DDE5EF;padding:6px 10px;}
.faq-section .faq-a .disc-table tr:nth-child(even) td{background:#F8F6F1;}
.faq-section .faq-a .disc-rate{color:#C0392B;font-weight:bold;}
.faq-section .faq-a .region-box{background:#F0F4F8;border-radius:4px;padding:10px 14px;margin:6px 0;}
.faq-section .faq-a .region-box .region-title{color:#1A3A5C;font-weight:bold;font-size:12px;margin-bottom:4px;}
.faq-section .faq-a .contact-box{background:#F0F4F8;border-radius:6px;padding:14px 16px;margin-top:10px;}
.faq-section .faq-a .contact-box .contact-title{color:#1A3A5C;font-weight:bold;font-size:13px;margin-bottom:8px;}
.faq-section .faq-a .contact-box table{width:100%;border-collapse:collapse;font-size:12px;}
.faq-section .faq-a .contact-box table td{padding:4px 8px;vertical-align:top;}
.faq-section .faq-a .contact-box table td:first-child{color:#888;white-space:nowrap;width:90px;}
.faq-section .faq-a .intro-box{background:#FAFAFA;border-radius:6px;padding:12px 16px;margin-bottom:10px;font-size:12px;color:#666;line-height:1.7;}
@media (max-width:600px){
  .faq-section{padding:32px 16px 40px;}
  .faq-section .section-header h2{font-size:22px;}
  .faq-section .faq-viewall{position:static;margin-bottom:16px;display:inline-block;}
  .faq-section .section-header{text-align:center;margin-bottom:16px;display:flex;flex-direction:column;align-items:center;gap:8px;}
  .faq-section .faq-q{font-size:13px;padding:14px 16px;}
  .faq-section .faq-a{padding:0 16px;font-size:12px;}
  .faq-section .faq-item.open .faq-a{padding:0 16px 14px;max-height:2000px;}
  .faq-section .faq-a .ship-table,.faq-section .faq-a .disc-table{font-size:11px;}
  .faq-section .faq-a .ship-table th,.faq-section .faq-a .ship-table td,.faq-section .faq-a .disc-table th,.faq-section .faq-a .disc-table td{padding:6px 6px;}
}
