/* iPhone買取ページ専用。共通デザインの配色・文字を継承する。 */
.ip-opening { background:var(--mint) }
.ip-breadcrumb { padding-top:20px; font-size:12px; color:#566175 }
.ip-breadcrumb ol { display:flex; flex-wrap:wrap; gap:12px; margin:0; padding:0; list-style:none }
.ip-breadcrumb li+li:before { content:"／"; margin-right:12px; color:#7c879c }
.ip-breadcrumb a:hover { text-decoration:underline }
.ip-hero { display:grid; grid-template-columns:1fr 1.1fr; gap:42px; align-items:center; padding-block:48px 58px }
.ip-hero-location { font-size:13px; font-weight:600; margin-bottom:23px }
.ip-hero h1 { font-size:clamp(35px,3.45vw,49px); line-height:1.5; letter-spacing:.015em; margin-bottom:23px }
.ip-hero-lead { font-size:21px; font-weight:700; line-height:1.8; margin-bottom:18px }
.ip-hero-description { font-size:14px; line-height:2; color:#535f75 }
.ip-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-block:27px 10px }
.ip-hero-actions .button { padding-inline:22px; gap:20px }
.ip-hero-photo { position:relative; align-self:center; margin-block:3px }
.ip-hero-photo>img { width:100%; height:auto; aspect-ratio:1.12; object-fit:cover; object-position:center; border-radius:10px 10px 70px 10px }
.ip-hero-photo figcaption { position:absolute; display:flex; justify-content:center; left:20px; right:20px; bottom:28px; padding:15px 8px; background:#fff; border-radius:5px; font-size:11px; font-weight:700 }
.ip-hero-photo figcaption span { padding-inline:12px }
.ip-hero-photo figcaption span+span { border-left:1px solid var(--line) }
.ip-small { font-size:12px; line-height:1.9; color:#636d7f }
.ip-jump { background:var(--forest); color:white }
.ip-jump>.wrap { display:grid; grid-template-columns:repeat(5,1fr); padding-block:21px }
.ip-jump a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:3px 25px; font-size:13px; font-weight:700 }
.ip-jump a+a { border-left:1px solid #ffffff40 }
.ip-jump a:hover { color:#e8d293 }
.ip-reason-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:38px }
.ip-reason-grid article { border-top:1px solid var(--line); padding-top:25px }
.ip-reason-mark { display:flex; align-items:center; justify-content:center; width:34px; height:34px; background:var(--mint); border-radius:50%; margin-bottom:18px; font-weight:700 }
.ip-reason-grid h3 { font-size:18px; margin-bottom:13px; letter-spacing:0 }
.ip-reason-grid p { color:var(--muted); font-size:14px; line-height:2 }
.ip-price-section { background:var(--paper) }
.ip-price-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:start }
.ip-price-intro h2 { margin-bottom:24px }
.ip-price-intro>p:not(.section-label) { font-size:14px; color:var(--muted); line-height:2 }
.ip-price-intro>.text-link { margin-top:23px }
.ip-price-intro .ip-price-source { margin-top:30px; font-size:11px!important }
.ip-price-photo { margin-top:28px; overflow:hidden; border-radius:8px }
.ip-price-photo img { width:100%; aspect-ratio:2; object-fit:cover }
.ip-price-panel { min-width:0; border:1px solid var(--line); padding:27px 30px; border-radius:12px; background:white }
.ip-price-condition { color:var(--forest); font-size:12px; font-weight:700; padding-bottom:18px }
.ip-price-table { border-collapse:collapse; width:100%; letter-spacing:0 }
.ip-price-table th,.ip-price-table td { text-align:left; border-bottom:1px solid var(--line); padding:19px 0; font-size:14px }
.ip-price-table thead th { font-size:11px; color:var(--muted); font-weight:400; padding:9px 0; border-top:1px solid var(--line) }
.ip-price-table th:first-child { padding-right:10px }
.ip-price-table td,.ip-price-table thead th:last-child { text-align:right; white-space:nowrap }
.ip-price-table td { font-size:24px; font-weight:700; font-variant-numeric:tabular-nums; color:var(--forest) }
.ip-more-prices { margin-block:10px 15px }
.ip-more-prices summary { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:13px; font-weight:700; cursor:pointer; padding-block:13px; list-style:none }
.ip-more-prices summary::-webkit-details-marker,.ip-model summary::-webkit-details-marker { display:none }
.ip-expand { font-size:22px; font-weight:400; flex-shrink:0; transition:transform .2s }
details[open]>summary>.ip-expand { transform:rotate(45deg) }
.ip-model-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:17px; align-items:start }
.ip-model { border:1px solid var(--line); border-radius:8px; overflow:hidden }
.ip-model summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:25px 20px; cursor:pointer; list-style:none; min-height:115px; background:var(--paper) }
.ip-model summary:hover,.ip-model[open] summary { background:var(--mint) }
.ip-model summary strong { display:block; font-size:22px; letter-spacing:0 }
.ip-model summary small { display:block; margin-top:5px; font-size:10px; color:#5d677b; letter-spacing:0 }
.ip-model>div { padding:18px 20px }
.ip-model>div p { font-size:12px; line-height:1.95 }
.ip-model>div a { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:11px; font-weight:700; margin-top:17px; padding-top:14px; border-top:1px solid var(--line) }
.ip-model-wide { grid-column:1/-1 }
.ip-model-wide summary { min-height:0 }
.ip-model-note { margin-top:22px }
.ip-condition-section { background:var(--mint) }
.ip-condition-layout { display:grid; grid-template-columns:.95fr 1.05fr; gap:95px }
.ip-condition-intro>p:not(.section-label) { font-size:14px; margin-top:22px; color:#556176; line-height:2 }
.ip-condition-intro>img { width:100%; max-width:440px; aspect-ratio:1.8; object-fit:cover; border-radius:8px; margin-top:26px }
.ip-condition-intro>.text-link { margin-top:16px; font-size:12px }
.ip-status-list details { border-color:#bbc6d6 }
.ip-status-list summary { font-size:17px; padding-block:21px }
.ip-status-list details>div { font-size:14px }
.ip-condition-help { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; padding-top:25px }
.ip-condition-help p { font-size:13px; font-weight:700 }
.ip-scene-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:35px 65px }
.ip-scene-grid article { border-top:1px solid var(--line); padding-top:25px }
.ip-scene-grid h3 { font-size:21px; margin-bottom:13px }
.ip-scene-grid p { font-size:14px; color:var(--muted); max-width:36em }
.ip-scene-grid .text-link { margin-top:14px; font-size:12px }
.ip-area-section { background:var(--paper); padding-block:65px }
.ip-area-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:75px; align-items:center }
.ip-area-layout h2 { font-size:29px }
.ip-area-layout p:not(.section-label) { font-size:13px; color:var(--muted); margin-top:20px }
.ip-area-layout .text-link { font-size:13px; margin-top:17px }
.ip-area-layout h3 { font-size:14px; margin-bottom:16px }
.ip-area-links { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line) }
.ip-area-links a { display:flex; align-items:center; justify-content:space-between; gap:15px; border-bottom:1px solid var(--line); padding:15px 13px 15px 0 }
.ip-area-links a:nth-child(even) { padding-left:22px }
.ip-area-links strong { display:block; font-size:15px }
.ip-area-links small { display:block; font-size:10px; color:var(--muted) }
.ip-area-links a:hover { background:var(--mint) }
.ip-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin:0; padding:0; list-style:none }
.ip-flow>li { position:relative; padding-top:0 }
.ip-flow-art { position:relative; overflow:hidden; aspect-ratio:1.5; margin-bottom:23px; border-radius:10px; background:var(--paper) }
.ip-flow-art img { width:100%; height:100%; object-fit:cover }
.ip-photo-note { margin-top:18px; text-align:right }
.ip-step { display:flex; align-items:center; justify-content:center; background:var(--forest); color:#fff; font-size:18px; font-weight:700; width:40px; height:40px; border-radius:50%; margin-bottom:20px }
.ip-flow h3 { font-size:19px; letter-spacing:0; margin-bottom:15px }
.ip-flow p { color:var(--muted); font-size:14px; line-height:2 }
.ip-flow .text-link { font-size:12px; margin-top:17px }
.ip-items { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; background:var(--paper); border:1px solid var(--line); padding:25px 30px; border-radius:7px; margin-top:38px }
.ip-items h3 { font-size:16px }
.ip-items p { font-size:13px }
.ip-items p span { color:var(--muted); font-size:11px }
.ip-items .text-link { font-size:12px }
.ip-prepare-section { background:var(--forest); color:white }
.ip-prepare-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:90px }
.ip-prepare-section .section-label { color:#c3d0e3 }
.ip-prepare-layout h2 { margin-bottom:25px }
.ip-prepare-layout>div>p:not(.section-label) { font-size:14px; color:#d5deeb; line-height:2; max-width:30em }
.ip-prepare-layout>div>.ip-small { margin-top:17px; font-size:12px!important }
.ip-prepare-visual { margin-top:28px; max-width:420px; overflow:hidden; border-radius:9px }
.ip-prepare-visual img { width:100%; height:auto }
.ip-checklist ol { list-style:none; padding:0; margin:0; counter-reset:preparation }
.ip-checklist li { counter-increment:preparation; position:relative; padding:0 0 23px 46px }
.ip-checklist li:before { content:counter(preparation); position:absolute; left:0; top:0; border:1px solid #ffffff50; width:28px; height:28px; text-align:center; line-height:27px; border-radius:50%; font-size:12px }
.ip-checklist h3 { font-size:18px; margin-bottom:7px }
.ip-checklist li p { font-size:13px; color:#d5deeb }
.ip-checklist .ip-data-note { border-top:1px solid #ffffff40; padding-top:20px; font-size:12px!important; max-width:none!important }
.ip-checklist .text-link { font-size:13px; margin-top:14px }
.ip-prepare-links { display:flex; flex-direction:column; align-items:flex-start; gap:16px; margin-top:20px }
.ip-prepare-links .text-link { margin-top:0; max-width:100% }
.ip-price-links { display:flex; flex-direction:column; align-items:flex-start; gap:14px; margin-top:20px }
.ip-price-links .text-link { margin-top:0; max-width:100% }
.ip-compare-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:23px; align-items:stretch }
.ip-compare-grid article { border:1px solid var(--line); border-radius:9px; padding:28px }
.ip-compare-grid article.ip-compare-rebro { background:var(--mint); border-color:var(--mint) }
.ip-compare-grid article>p:first-child { font-size:13px; font-weight:700; margin-bottom:16px }
.ip-compare-grid h3 { font-size:20px; letter-spacing:0; margin-bottom:21px; line-height:1.8 }
.ip-compare-grid h3 span { display:inline-block }
.ip-compare-grid ul { padding-left:1.2em; margin:0; font-size:12px; line-height:2.3; color:#566175 }
.ip-compare-grid .ip-compare-note { font-size:11px; color:var(--muted); margin-bottom:6px }
.ip-compare-grid .text-link { font-size:12px; margin-top:19px; gap:15px }
.ip-faq-intro { color:var(--muted); font-size:14px; margin:23px 0 }
.ip-company { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center }
.ip-company h2 { font-size:29px; margin-bottom:20px }
.ip-company p:not(.section-label) { font-size:14px; color:var(--muted) }
.ip-company .text-link { margin-top:24px }
.ip-company dl,.ip-office-info dl { margin:0; border-top:1px solid var(--line) }
.ip-company dl>div,.ip-office-info dl>div { display:grid; grid-template-columns:110px 1fr; gap:20px; padding-block:20px; border-bottom:1px solid var(--line); font-size:14px }
.ip-company dt,.ip-office-info dt { font-weight:700 }
.ip-company dd,.ip-office-info dd { margin:0 }
.ip-company small,.ip-office-info small { display:block; font-size:11px; color:#5a667e; margin-top:7px }
.ip-company dd a { font-size:22px; font-weight:700 }
.ip-office-section { background:var(--mint) }
.ip-office-layout { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:start }
.ip-office-layout img { border-radius:8px; width:100% }
.ip-office-layout figcaption { font-size:11px; color:#5a667e; margin-top:10px }
.ip-office-info h3 { font-size:22px; margin-bottom:14px }
.ip-office-info>p { font-size:14px; margin-bottom:24px }
.ip-office-info dl>div { padding-block:14px; font-size:13px; grid-template-columns:85px 1fr }
.ip-office-info .text-link { margin-top:24px }
.ip-map { overflow:hidden; border-radius:8px; margin-top:38px; background:var(--paper) }
.ip-map iframe { display:block; width:100%; height:340px; border:0 }
@media(max-width:1080px) {
  .ip-hero { gap:28px; grid-template-columns:1.2fr 1fr; padding-block:35px 45px }
  .ip-hero h1 { font-size:36px }
  .ip-hero-lead { font-size:18px }
  .ip-hero-description { font-size:12px }
  .ip-hero-photo>img { aspect-ratio:1 }
  .ip-hero-photo figcaption { flex-direction:column; left:15px; right:25px; gap:5px; text-align:center }
  .ip-hero-photo figcaption span+span { border:0 }
  .ip-hero-actions { gap:15px }
  .ip-hero-actions .button { font-size:13px; min-height:52px; padding:12px 18px }
  .ip-hero-actions .text-link { font-size:12px }
  .ip-jump a { padding-inline:14px; font-size:12px }
  .ip-reason-grid { gap:24px }
  .ip-reason-grid h3 { font-size:16px }
  .ip-price-layout,.ip-condition-layout,.ip-area-layout,.ip-prepare-layout,.ip-company,.ip-office-layout { gap:40px }
  .ip-price-panel { padding:23px }
  .ip-price-table td { font-size:21px }
  .ip-price-table th { font-size:12px }
  .ip-model-grid { grid-template-columns:repeat(2,1fr) }
  .ip-model summary { min-height:100px }
  .ip-scene-grid { gap:28px }
  .ip-scene-grid h3 { font-size:19px }
  .ip-flow { gap:26px }
  .ip-flow h3 { font-size:17px }
  .ip-compare-grid { gap:15px }
  .ip-compare-grid article { padding:20px }
  .ip-compare-grid h3 { font-size:17px }
  .ip-company h2,.ip-area-layout h2 { font-size:26px }
  .ip-company dl>div { grid-template-columns:90px 1fr; gap:12px; font-size:13px }
}
@media(max-width:760px) {
  .ip-breadcrumb { padding-top:16px; font-size:10px }
  .ip-hero { grid-template-columns:1fr; padding-block:28px 30px; gap:24px }
  .ip-hero-location { font-size:11px; margin-bottom:16px }
  .ip-hero h1 { font-size:clamp(30px,7.4vw,48px); margin-bottom:17px; line-height:1.45 }
  .ip-hero-lead { font-size:18px; margin-bottom:14px }
  .ip-hero-description { font-size:12px }
  .ip-hero-actions { margin-block:21px 9px; gap:18px }
  .ip-hero-actions .button { font-size:12px; gap:14px; padding-inline:16px }
  .ip-hero-actions .text-link { font-size:11px; gap:10px }
  .ip-hero-copy>.ip-small { font-size:10px }
  .ip-hero-photo { min-height:0; height:auto; margin:0 }
  .ip-hero-photo>img { aspect-ratio:1.5; border-radius:8px 8px 45px 8px; object-position:center }
  .ip-hero-photo figcaption { flex-direction:row; left:13px; right:20px; bottom:18px; gap:0; padding:10px 3px; font-size:10px }
  .ip-hero-photo figcaption span { padding-inline:9px }
  .ip-hero-photo figcaption span+span { border-left:1px solid var(--line) }
  .ip-jump>.wrap { grid-template-columns:repeat(3,1fr); padding-block:6px }
  .ip-jump a { padding:12px 9px; font-size:10px; gap:5px }
  .ip-jump a:nth-child(4) { border-left:0 }
  .ip-jump a:nth-child(n+4) { border-top:1px solid #ffffff30 }
  .ip-reason-grid { grid-template-columns:1fr; gap:23px }
  .ip-reason-grid article { position:relative; padding:23px 0 0 46px }
  .ip-reason-mark { position:absolute; left:0; top:22px; width:29px; height:29px }
  .ip-reason-grid h3 { font-size:17px }
  .ip-reason-grid p { font-size:13px }
  .ip-price-layout,.ip-condition-layout,.ip-area-layout,.ip-prepare-layout,.ip-company,.ip-office-layout { grid-template-columns:1fr; gap:30px }
  .ip-price-intro h2 br { display:none }
  .ip-price-intro h2 { font-size:27px; margin-bottom:17px }
  .ip-price-intro>p:not(.section-label) { font-size:13px }
  .ip-price-intro .ip-price-source { margin-top:15px }
  .ip-price-photo { margin-top:22px; max-width:440px }
  .ip-price-panel { padding:20px 17px; border-radius:8px }
  .ip-price-condition { font-size:10px; line-height:1.8 }
  .ip-price-table th { font-size:11px }
  .ip-price-table td { font-size:21px }
  .ip-price-table th,.ip-price-table td { padding-block:16px }
  .ip-price-table thead th { font-size:10px }
  .ip-more-prices summary { font-size:11px }
  .ip-small { font-size:11px }
  .ip-model-grid { gap:12px }
  .ip-model summary { padding:18px 12px; min-height:93px }
  .ip-model summary strong { font-size:19px }
  .ip-model summary small { font-size:9px; line-height:1.7 }
  .ip-model .ip-expand { font-size:17px }
  .ip-model>div { padding:14px 12px }
  .ip-model>div p { font-size:11px }
  .ip-model>div a { font-size:10px; gap:6px; align-items:flex-start }
  .ip-model>div a .arrow { display:none }
  .ip-condition-intro h2 br { display:none }
  .ip-condition-intro>p:not(.section-label) { font-size:13px; margin-top:15px }
  .ip-condition-intro>img { max-width:none; max-height:220px; margin-top:20px }
  .ip-condition-intro>.text-link { font-size:11px }
  .ip-status-list summary { font-size:16px; padding-block:20px }
  .ip-condition-help { gap:15px }
  .ip-condition-help p { font-size:12px }
  .ip-condition-help .button { font-size:12px; gap:14px }
  .ip-scene-grid { grid-template-columns:1fr; gap:25px }
  .ip-scene-grid h3 { font-size:19px }
  .ip-scene-grid p { font-size:13px }
  .ip-area-section { padding-block:45px }
  .ip-area-layout h2 { font-size:26px }
  .ip-area-layout p:not(.section-label) { margin-top:15px }
  .ip-area-links a:nth-child(even) { padding-left:13px }
  .ip-area-links a { padding-right:8px }
  .ip-area-links strong { font-size:14px }
  .ip-area-links small { font-size:9px }
  .ip-area-links .arrow { width:18px }
  .ip-area-links .arrow:before { width:17px }
  .ip-flow { grid-template-columns:1fr; gap:30px }
  .ip-flow>li { padding:0 0 0 49px }
  .ip-flow-art { margin-left:-49px; aspect-ratio:1.5; margin-bottom:21px }
  .ip-step { position:static; float:left; margin-left:-49px; margin-bottom:0; width:34px; height:34px; font-size:16px }
  .ip-flow h3 { font-size:18px; margin-bottom:12px }
  .ip-flow p { font-size:13px }
  .ip-items { padding:23px; gap:15px; margin-top:30px }
  .ip-items p { font-size:12px }
  .ip-prepare-layout h2 { font-size:28px; margin-bottom:18px }
  .ip-prepare-layout>div>p:not(.section-label) { font-size:13px }
  .ip-prepare-visual { max-width:420px; margin-top:23px }
  .ip-checklist li { padding-left:40px }
  .ip-checklist h3 { font-size:16px }
  .ip-checklist li p { font-size:12px }
  .ip-checklist .text-link { font-size:12px; gap:14px }
  .ip-compare-grid { grid-template-columns:1fr; gap:16px }
  .ip-compare-grid article { padding:25px }
  .ip-compare-grid h3 { font-size:20px; margin-bottom:16px }
  .ip-compare-grid h3 br { display:none }
  .ip-compare-grid ul { font-size:13px }
  .ip-company h2 { font-size:25px }
  .ip-company p:not(.section-label) { font-size:13px }
  .ip-company dl>div { grid-template-columns:85px 1fr; font-size:12px }
  .ip-company small { font-size:10px }
  .ip-office-info h3 { font-size:22px }
  .ip-office-info>p { font-size:13px }
  .ip-office-info dl>div { font-size:12px }
  .ip-map { margin-top:28px }
  .ip-map iframe { height:290px }
  .ip-desktop-break { display:none }
}
@media(max-width:360px) {
  .ip-hero-actions { gap:11px }
  .ip-hero-actions .button { padding-inline:13px; gap:10px }
  .ip-hero-description br { display:none }
  .ip-model summary strong { font-size:17px }
  .ip-price-panel { padding-inline:13px }
  .ip-price-table td { font-size:19px }
  .ip-price-table th { font-size:10px }
  .ip-hero-photo figcaption { font-size:9px }
}
