
.contact-page{background:#F8F6F1;padding:48px 40px 64px;font-family:'Segoe UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Meiryo',sans-serif;position:relative;}
.contact-page::before{content:"";position:absolute;top:0;left:50%;width:100vw;height:100%;transform:translateX(-50%);background:#F8F6F1;z-index:0;}
.contact-page > *{position:relative;z-index:1;}
.contact-page .page-header{text-align:center;margin-bottom:44px;}
.contact-page .page-header h2{font-size:32px;color:#1A3A5C;margin:0;font-weight:bold;letter-spacing:3px;}
.contact-page .page-header .deco{width:50px;height:2px;background:#C9A961;margin:16px auto 0;}
.contact-page .page-header .sub-text{font-size:14px;color:#888;margin-top:12px;line-height:1.7;}

/* Section title */
.contact-page .section-title{max-width:1100px;margin:0 auto 24px;display:flex;align-items:center;gap:10px;}
.contact-page .section-title .st-icon{width:32px;height:32px;background:linear-gradient(135deg,#1A3A5C,#2A5A8C);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#C9A961;flex-shrink:0;font-weight:bold;}
.contact-page .section-title h3{font-size:20px;color:#1A3A5C;margin:0;font-weight:bold;letter-spacing:1px;}

/* FAQ list */
.contact-page .faq-list{max-width:1100px;margin:0 auto 52px;}

/* Each FAQ item — fully open, no toggle */
.contact-page .faq-item{background:#fff;border:1px solid #DDE5EF;border-radius:10px;margin-bottom:16px;overflow:hidden;transition:box-shadow 0.2s,border-color 0.2s;}
.contact-page .faq-item:hover{box-shadow:0 4px 16px rgba(26,58,92,0.08);border-color:#C9A961;}
/* Question bar */
.contact-page .faq-q{padding:16px 24px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #E8EDF3;background:linear-gradient(to right,#F8FAFC,#fff);font-size:15px;color:#1A3A5C;font-weight:bold;}
.contact-page .faq-q .q-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:linear-gradient(135deg,#1A3A5C,#2A5A8C);color:#C9A961;border-radius:50%;font-size:13px;flex-shrink:0;font-weight:bold;}
.contact-page .faq-q .q-text{flex:1;line-height:1.5;}
/* Answer area — always visible */
.contact-page .faq-a{padding:20px 24px;color:#555;font-size:14px;line-height:1.9;}
.contact-page .faq-a p{margin:0 0 12px;}
.contact-page .faq-a p:last-child{margin-bottom:0;}
.contact-page .faq-a ul{margin:8px 0 12px 20px;padding:0;}
.contact-page .faq-a li{margin-bottom:6px;line-height:1.8;}
.contact-page .faq-a a{color:#1A3A5C;text-decoration:underline;}
.contact-page .faq-a a:hover{color:#C9A961;}
.contact-page .faq-a strong{color:#1A3A5C;}
.contact-page .faq-a .note{background:#FFF8E8;border-left:3px solid #C9A961;padding:12px 16px;margin:12px 0;border-radius:0 4px 4px 0;font-size:13px;color:#8a7a3a;line-height:1.8;}
.contact-page .faq-a .ship-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px;}
.contact-page .faq-a .ship-table th{background:#1A3A5C;color:#fff;padding:10px 14px;text-align:left;font-weight:bold;font-size:12px;letter-spacing:1px;}
.contact-page .faq-a .ship-table td{border:1px solid #DDE5EF;padding:12px 14px;vertical-align:top;line-height:1.7;}
.contact-page .faq-a .ship-table tr:nth-child(even) td{background:#F8F6F1;}
.contact-page .faq-a .disc-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px;}
.contact-page .faq-a .disc-table th{background:#1A3A5C;color:#fff;padding:10px 14px;text-align:left;font-weight:bold;font-size:12px;letter-spacing:1px;}
.contact-page .faq-a .disc-table td{border:1px solid #DDE5EF;padding:10px 14px;line-height:1.7;}
.contact-page .faq-a .disc-table tr:nth-child(even) td{background:#F8F6F1;}
.contact-page .faq-a .disc-rate{color:#C0392B;font-weight:bold;}
.contact-page .faq-a .region-box{background:#F0F4F8;border-radius:6px;padding:14px 18px;margin:10px 0;line-height:1.8;}
.contact-page .faq-a .region-box .region-title{color:#1A3A5C;font-weight:bold;font-size:13px;margin-bottom:4px;}

/* Contact card */
.contact-page .contact-card{max-width:1100px;margin:0 auto;background:#fff;border:1px solid #DDE5EF;border-radius:10px;overflow:hidden;}
.contact-page .contact-card .cc-header{background:linear-gradient(135deg,#1A3A5C,#2A5A8C);color:#fff;padding:20px 28px;font-size:18px;font-weight:bold;letter-spacing:1px;display:flex;align-items:center;gap:12px;}
.contact-page .contact-card .cc-header::before{content:"";display:inline-block;width:6px;height:24px;background:#C9A961;border-radius:3px;}
.contact-page .contact-card .cc-body{padding:24px 28px;}
.contact-page .contact-intro{font-size:14px;color:#666;line-height:1.8;margin-bottom:16px;text-align:justify;}
.contact-page .contact-note{margin-bottom:18px;padding:12px 16px;background:#FFF8E8;border-left:3px solid #C9A961;border-radius:0 4px 4px 0;font-size:13px;color:#8a7a3a;line-height:1.8;}
.contact-page .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;}
.contact-page .contact-item{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:#555;line-height:1.7;}
.contact-page .contact-item .ci-label{flex-shrink:0;color:#888;font-weight:bold;min-width:90px;font-size:13px;}
.contact-page .contact-item .ci-value{flex:1;}
.contact-page .contact-item .ci-value a{color:#1A3A5C;text-decoration:underline;}
.contact-page .contact-item .ci-value a:hover{color:#C9A961;}
.contact-page .contact-item .ci-value .tel{color:#C0392B;font-weight:bold;font-size:15px;}
.contact-page .contact-item .ci-value .social{display:inline-flex;align-items:center;gap:6px;}
.contact-page .chat-note{margin-top:18px;padding:14px 16px;background:#F0F4F8;border-radius:6px;font-size:13px;color:#555;line-height:1.8;}
.contact-page .chat-note strong{color:#1A3A5C;}

@media (max-width:600px){
  .contact-page{padding:32px 16px 44px;}
  .contact-page .page-header h2{font-size:24px;}
  .contact-page .faq-q{font-size:14px;padding:14px 16px;gap:10px;}
  .contact-page .faq-q .q-num{width:26px;height:26px;font-size:11px;}
  .contact-page .faq-a{padding:16px;font-size:13px;}
  .contact-page .contact-card .cc-header{padding:16px;font-size:15px;}
  .contact-page .contact-card .cc-body{padding:16px;}
  .contact-page .contact-grid{grid-template-columns:1fr;gap:10px;}
  .contact-page .contact-item .ci-label{min-width:70px;font-size:12px;}
  .contact-page .contact-item{font-size:13px;}
  .contact-page .section-title h3{font-size:17px;}
  .contact-page .faq-a .ship-table,.contact-page .faq-a .disc-table{font-size:11px;}
  .contact-page .faq-a .ship-table th,.contact-page .faq-a .ship-table td,.contact-page .faq-a .disc-table th,.contact-page .faq-a .disc-table td{padding:8px 6px;}
}
