/* ==========================================================
   会社概要ページ（/company/）専用スタイル
   モバイルファースト：ベース＝SP、@media (min-width:821px) でPC拡張
   ブレークポイント対応：元の @media (max-width:820px) → min-width:821px
   ========================================================== */
:root{
  --om-blue:#1a73c7;
  --om-blue-dark:#0f4f92;
  --om-yellow:#ffc107;
  --om-text:#2b2b2b;
  --om-gray:#6b7280;
  --om-bg-light:#f4f8fc;
  --om-radius:16px;
}
main{color:var(--om-text);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.7;}
main *{box-sizing:border-box;}
main img{max-width:100%;display:block;}
.contents_inner{max-width:1080px;margin:0 auto;padding:0 20px;}

/* ---- 見出し共通 ---- */
.main_ttl_area{text-align:center;margin-bottom:32px;}
.contents_ttl_badge{display:inline-block;padding:6px 18px;border-radius:999px;font-size:13px;font-weight:bold;margin-bottom:10px;}
.badge_blue{background:var(--om-blue);color:#fff;}
.badge_yellow{background:var(--om-yellow);color:#513c00;}
.contents_ttl_small{font-size:15px;color:var(--om-blue);font-weight:bold;margin:0 0 4px;}
.contents_ttl_main{font-size:clamp(22px,4vw,32px);font-weight:bold;margin:0 0 6px;display:flex;align-items:center;justify-content:center;gap:8px;}
.contents_ttl_main img{width:28px;height:28px;}
.contents_ttl_sub{font-size:12px;letter-spacing:.2em;color:var(--om-gray);text-transform:uppercase;margin:0;}
.area_ttl_sub{margin-top:4px;}

/* ---- 対応拠点 ---- */
#offices_block{padding:56px 0 8px;background:#fff;}
.offices_lead{text-align:center;color:var(--om-gray);font-size:15px;margin:-14px 0 32px;}
.offices_grid{display:grid;grid-template-columns:1fr;gap:24px;}
.office_card{border:1px solid #e3e9f0;border-radius:var(--om-radius);padding:24px;background:#fff;box-shadow:0 4px 14px rgba(20,40,70,.06);display:flex;flex-direction:column;gap:10px;}
.office_card_badge{display:inline-block;align-self:flex-start;background:var(--om-bg-light);color:var(--om-blue);font-size:12px;font-weight:bold;padding:4px 12px;border-radius:999px;}
.office_card_name{font-size:19px;font-weight:bold;margin:0;}
.office_card_txt{font-size:14px;color:var(--om-gray);margin:0;flex-grow:1;}
.office_card_link{display:inline-flex;align-items:center;gap:6px;color:var(--om-blue);font-weight:bold;font-size:14px;text-decoration:none;}
.office_card_link:hover{text-decoration:underline;}

/* ---- 営業所 詳細 ---- */
#sendai_block,#osaki_block{padding:32px 0 56px;background:#fff;}
#osaki_block{padding-top:0;}
.sendai_wrap{display:grid;grid-template-columns:1fr;gap:28px;border:1px solid #e3e9f0;border-radius:var(--om-radius);overflow:hidden;box-shadow:0 4px 14px rgba(20,40,70,.06);}
.sendai_wrap .left_box{padding:28px;display:flex;flex-direction:column;gap:16px;}
.left_box_top{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:bold;}
.left_box_top img{width:28px;height:28px;object-fit:contain;background:var(--om-bg-light);border-radius:8px;padding:4px;}
.left_box_middle p{margin:0;font-size:14px;color:var(--om-gray);}
.left_box_under{display:flex;flex-direction:column;gap:14px;border-top:1px dashed #e3e9f0;padding-top:14px;}
.address,.tel{display:flex;gap:14px;align-items:flex-start;}
.address_ttl,.tel_ttl{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:bold;color:var(--om-blue);white-space:nowrap;margin:0;min-width:90px;}
.address_ttl img,.tel_ttl img{width:16px;height:16px;object-fit:contain;}
.detail{margin:0;font-size:14px;}
.tel .detail{font-size:20px;font-weight:bold;color:var(--om-blue-dark);}

.map{width:100%;height:100%;min-height:280px;}
.map iframe{width:100%;height:100%;min-height:280px;}

/* ---- 許可種別カード ---- */
.trouble{background:var(--om-bg-light);padding:56px 0;}
.reliable_txt{text-align:center;font-size:14px;color:var(--om-gray);margin-bottom:20px;}
.scroll_guide{display:block;text-align:right;font-size:12px;color:var(--om-gray);margin-bottom:10px;}
.plan_cards{display:grid;grid-template-columns:1fr;gap:22px;}
.plan_card_wrap{position:relative;padding-top:14px;}
.plan_card_wrap .contents_ttl_badge{position:absolute;top:0;left:16px;z-index:2;}
.plan_card{background:#fff;border-radius:var(--om-radius);padding:28px 20px 22px;text-align:center;height:100%;box-shadow:0 4px 14px rgba(20,40,70,.06);display:flex;flex-direction:column;gap:12px;}
.plan_card_ttl{font-size:16px;font-weight:bold;margin:6px 0 0;}
.plan_card_divider{width:36px;height:3px;background:var(--om-yellow);margin:0 auto;border-radius:2px;}
.plan_card_icon_wrap{width:56px;height:56px;margin:4px auto;background:var(--om-bg-light);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.plan_card_icon{width:30px;height:30px;object-fit:contain;}
.plan_card_txt{font-size:13px;color:var(--om-gray);margin:0;}

/* ---- サービス一覧 ---- */
.service{padding:56px 0;background:#fff;}
.service_grid{display:grid;grid-template-columns:1fr;gap:24px;}
.service_card{border:1px solid #e3e9f0;border-radius:var(--om-radius);overflow:hidden;box-shadow:0 4px 14px rgba(20,40,70,.06);display:flex;flex-direction:column;}
.service_card_img{aspect-ratio:552/366;background:var(--om-bg-light);overflow:hidden;}
.service_card_img img{width:100%;height:100%;object-fit:cover;}
.service_card_body{padding:22px;display:flex;flex-direction:column;gap:10px;flex-grow:1;}
.service_card_heading{font-size:18px;font-weight:bold;margin:0;}
.service_card_desc{font-size:14px;color:var(--om-gray);margin:0;}
.plan_card_list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.plan_card_item{display:flex;align-items:center;gap:8px;font-size:13px;}
.plan_check_icon{width:16px;height:16px;object-fit:contain;flex-shrink:0;}
.service_card_btn{margin-top:auto;padding-top:10px;}
.btn_more{display:inline-flex;align-items:center;gap:8px;color:var(--om-blue);font-weight:bold;font-size:14px;text-decoration:none;}
.btn_more:hover{text-decoration:underline;}
.btn_more_arrow{display:inline-block;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);}

/* ---- 対応エリア ---- */
.area{padding:56px 0;background:var(--om-bg-light);}
.area_txt{text-align:center;font-size:14px;color:var(--om-gray);margin-bottom:24px;}
.area_wrap ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.area_wrap li{background:#fff;border-radius:12px;padding:18px 8px;text-align:center;box-shadow:0 2px 8px rgba(20,40,70,.05);}
.area_wrap img{width:22px;height:22px;margin:0 auto 6px;}
.area_wrap p{margin:0;font-size:14px;font-weight:bold;}

/* ---- お客様の声 ---- */
.testimonials{padding:56px 0;background:#fff;}
.testimonials_wrap{display:grid;grid-template-columns:1fr;gap:24px;}
.testimonials_box{display:flex;align-items:flex-start;gap:16px;border:1px solid #e3e9f0;border-radius:var(--om-radius);padding:18px;box-shadow:0 4px 14px rgba(20,40,70,.06);}
.testimonials_box .left_box{width:88px;height:88px;flex-shrink:0;border-radius:50%;overflow:hidden;background:var(--om-bg-light);}
.testimonials_box .left_box img{width:100%;height:100%;object-fit:cover;object-position:top;}
.testimonials_box .right_box_top p{font-weight:bold;font-size:15px;margin:0 0 6px;}
.testimonials_box .right_box_middle p{font-size:13px;color:var(--om-gray);margin:0 0 8px;}
.testimonials_box .right_box_under p{font-size:12px;color:var(--om-gray);margin:0;text-align:right;}

/* ---- FAQ ---- */
.faq{padding:56px 0;background:var(--om-bg-light);}
.faq_items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.faq_item{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(20,40,70,.05);overflow:hidden;}
.faq_question{display:flex;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;list-style:none;}
.faq_question::-webkit-details-marker{display:none;}
.faq_question::marker{display:none;content:"";}
.faq_q_label,.faq_a_label{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:13px;}
.faq_q_label{background:var(--om-blue);color:#fff;}
.faq_a_label{background:var(--om-yellow);color:#513c00;}
.faq_q_text{margin:0;font-size:14px;font-weight:bold;flex-grow:1;}
.faq_arrow{flex-shrink:0;width:9px;height:9px;border-right:2px solid var(--om-gray);border-bottom:2px solid var(--om-gray);transform:rotate(45deg);transition:transform .2s;}
details[open] .faq_arrow{transform:rotate(-135deg);}
.faq_answer{display:flex;gap:12px;padding:0 18px 18px 18px;}
.faq_a_text{margin:0;font-size:13px;color:var(--om-gray);}

/* ---- PC拡張（元の @media (max-width:820px) を反転） ---- */
@media (min-width:821px){
  .offices_grid,.service_grid,.testimonials_wrap{grid-template-columns:repeat(2,1fr);}
  .plan_cards{grid-template-columns:repeat(3,1fr);}
  .sendai_wrap{grid-template-columns:1fr 1fr;}
  .area_wrap ul{grid-template-columns:repeat(5,1fr);}
  .scroll_guide{display:none;}
}
