/* =========================================================
   inCruises専用ページ｜inCruises社の信頼性（スマートフォン専用）
   完成見本: 実装パック reference/01_approved_mobile_reference.png
   実装パック 04_incruises_trust.css を .ic-trust-v3 配下のまま移植。
   重要文字はすべてHTMLテキスト。画像は既存 assets/trust/ の正式資産のみ。
   PC版（769px以上）は既存の .ic-trust セクションをそのまま維持する。
   グローバルセレクタは一切使用しない。
========================================================= */

/* 769px以上では一切表示しない（PC版は既存構成のまま） */
.ic-trust-v3{ display: none; }

/* =========================================================
   inCruises社の信頼性 / v3
   スコープ：.ic-trust-v3 以下のみ
   重要：グローバルCSSは変更しない
========================================================= */

.ic-trust-v3 {
  --trust-bg: #fff;
  --trust-card: #fff;
  --trust-navy: #102f63;
  --trust-navy-2: #173e78;
  --trust-gold: #c98818;
  --trust-gold-2: #dda135;
  --trust-gold-soft: #e9d4ae;
  --trust-line: #eadbc1;
  --trust-text: #202020;
  --trust-muted: #66615c;

  background: var(--trust-bg);
  color: var(--trust-text);
  padding: 44px 0 52px;
}

.ic-trust-v3 *,
.ic-trust-v3 *::before,
.ic-trust-v3 *::after {
  box-sizing: border-box;
}

.ic-trust-v3__inner {
  width: min(1600px, calc(100% - 40px));
  margin: 0 auto;
}

/* Header */
.ic-trust-v3__header {
  text-align: center;
  margin: 0 auto 26px;
}

.ic-trust-v3__title-row {
  display: none;
}

.ic-trust-v3__title {
  margin: 0;
  color: var(--trust-navy);
  font-family: var(--cruise-mincho, "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif);
  font-size: clamp(38px, 3.25vw, 56px);
  line-height: 1.14;
  font-weight: 700;
  letter-spacing: .015em;
}

.ic-trust-v3__title > span {
  color: #be6d24;
}

.ic-trust-v3__subtitle {
  margin: 10px 0 0;
  color: #34302c;
  font-size: 20px;
  line-height: 1.55;
}

.ic-trust-v3__swipe-hint {
  display: none;
}

/* =========================================================
   PC >= 769px
   既存PC版の基本構成を維持
========================================================= */


/* =========================================================
   Smartphone <= 768px
   正式UI：
   ①〜③横スライド
   理由4項目固定
   ロゴは横幅いっぱい
========================================================= */
@media (max-width: 768px) {
  /* スマホでは既存の信頼性ブロックを隠し、こちらへ差し替える */
  #incruises-company-trust .ic-trust__inner{ display: none; }
  #incruises-company-trust.ic-trust{ height: auto!important; overflow: visible; }

  .ic-trust-v3 {
    display: block;
    padding: 24px 0 30px;
    background: #fff;
  }

  .ic-trust-v3__inner {
    width: 100%;
  }

  .ic-trust-v3__header {
    padding: 0 18px;
    margin-bottom: 15px;
  }

  .ic-trust-v3__title {
    position: relative;
    display: inline-block;
    font-size: 31px;
    line-height: 1.17;
  }

  .ic-trust-v3__title::before,
  .ic-trust-v3__title::after {
    content: "";
    position: absolute;
    top: 53%;
    width: 46px;
    height: 1px;
    background: var(--trust-gold);
  }

  .ic-trust-v3__title::before {
    right: calc(100% + 11px);
  }

  .ic-trust-v3__title::after {
    left: calc(100% + 11px);
  }

  .ic-trust-v3__subtitle {
    margin-top: 8px;
    font-size: 15px;
    line-height: 1.55;
  }

  .ic-trust-v3__swipe-hint {
    display: block;
    margin: 9px 0 0;
    color: #b17418;
    font-size: 13px;
    line-height: 1.4;
  }

  .ic-trust-v3__cards-viewport {
    overflow: hidden;
  }

  .ic-trust-v3__cards {
    display: flex;
    gap: 11px;
    overflow-x: auto;
    padding: 2px 18px 8px;
    scroll-padding-left: 18px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .ic-trust-v3__cards::-webkit-scrollbar {
    display: none;
  }

  .ic-trust-v3-card {
    position: relative;
    flex: 0 0 88%;
    min-width: 0;
    max-width: 350px;
    min-height: 264px;
    display: grid;
    grid-template-columns: 92px minmax(0,1fr);
    scroll-snap-align: start;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--trust-gold-soft);
    border-radius: 12px;
    box-shadow: 0 7px 18px rgba(70, 52, 29, .07);
  }

  .ic-trust-v3-card__icon-panel {
    min-height: 100%;
    background: var(--trust-navy);
    overflow: hidden;
  }

  .ic-trust-v3-card__icon-panel img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 264px;
    object-fit: cover;
  }

  .ic-trust-v3-card__number {
    position: absolute;
    /* 見出しに重ならないよう、濃紺パネル寄りへ配置 */
    left: 56px;
    top: 13px;
    z-index: 2;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #dfa22f, #be7003);
    color: #fff;
    border: 2px solid #fff6e7;
    font-family: var(--cruise-mincho, "Noto Serif JP", serif);
    font-size: 23px;
    box-shadow: 0 3px 7px rgba(66, 48, 18, .16);
  }

  .ic-trust-v3-card__content {
    min-width: 0;
    padding: 18px 16px 14px 23px;
  }

  .ic-trust-v3-card__content h3 {
    margin: 0 0 11px;
    padding-right: 2px;
    color: var(--trust-navy);
    font-family: var(--cruise-mincho, "Noto Serif JP", serif);
    font-size: 22px;
    line-height: 1.25;
    font-weight: 700;
  }

  .ic-trust-v3-card__content ul {
    margin: 0;
    padding-left: 1.1em;
    font-size: 15px;
    line-height: 1.52;
  }

  .ic-trust-v3-card__content li + li {
    margin-top: 5px;
  }

  .ic-trust-v3__accent {
    color: #cd7610;
    font-weight: 800;
  }

  .ic-trust-v3-card__content strong {
    color: var(--trust-navy);
  }

  .ic-trust-v3-card__registration {
    display: inline-flex;
    max-width: 100%;
    margin: 10px 0 0;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--trust-navy);
    border: 1.5px solid var(--trust-gold);
    color: #fff;
    font-size: 13px;
    line-height: 1.25;
    font-weight: 750;
  }

  .ic-trust-v3__desktop-break {
    display: none;
  }

  .ic-trust-v3__dots {
    display: flex;
    justify-content: center;
    gap: 9px;
    margin-top: 5px;
  }

  .ic-trust-v3__dots button {
    appearance: none;
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #e6d9c6;
    cursor: pointer;
  }

  .ic-trust-v3__dots button.is-active {
    background: var(--trust-gold);
    transform: scale(1.2);
  }

  /* 4 reasons */
  .ic-trust-v3__reasons {
    margin: 17px 18px 0;
    padding: 13px 13px 11px;
    border: 1px solid var(--trust-gold-soft);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(70,52,29,.05);
  }

  .ic-trust-v3__reasons h3,
  .ic-trust-v3__brands h3 {
    position: relative;
    margin: 0;
    color: var(--trust-navy);
    text-align: center;
    font-family: var(--cruise-mincho, "Noto Serif JP", serif);
    font-weight: 700;
  }

  .ic-trust-v3__reasons h3 {
    padding: 0 6px 9px;
    /* 390pxで1行に収める */
    font-size: clamp(15px, 4.35vw, 19px);
    line-height: 1.3;
    white-space: nowrap;
  }

  .ic-trust-v3__reason-list {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .ic-trust-v3__reason-list li {
    min-height: 42px;
    display: grid;
    grid-template-columns: 29px 32px 1fr;
    align-items: center;
    gap: 5px;
    border-top: 1px dashed #e1cda8;
    font-size: 14px;
    line-height: 1.38;
  }

  .ic-trust-v3__reason-check {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--trust-navy);
    color: var(--trust-gold-2);
    font-weight: 900;
    font-size: 13px;
  }

  .ic-trust-v3__reason-number {
    color: #c7790d;
    font-family: var(--cruise-mincho, "Noto Serif JP", serif);
    font-size: 18px;
    font-weight: 800;
  }

  /* Brands: screen-wide */
  .ic-trust-v3__brands {
    margin: 15px 12px 0;
    padding: 12px 7px 9px;
    border: 1px solid var(--trust-gold-soft);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(70,52,29,.05);
  }

  .ic-trust-v3__brands h3 {
    padding-bottom: 9px;
    font-size: 18px;
    line-height: 1.25;
  }

  .ic-trust-v3__brand-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    align-items: stretch;
  }

  .ic-trust-v3__brand-grid figure {
    min-width: 0;
    height: 59px;
    margin: 0;
    padding: 7px 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #eee4d4;
    border-top: 1px solid #eee4d4;
  }

  .ic-trust-v3__brand-grid figure:nth-child(3n) {
    border-right: 0;
  }

  .ic-trust-v3__brand-grid img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 115px;
    object-fit: contain;
  }

  .ic-trust-v3__brand-clia {
    grid-column: 2 / 3;
  }
}

@media (max-width: 430px) {
  .ic-trust-v3__title {
    font-size: 29px;
  }

  .ic-trust-v3-card {
    flex-basis: 88%;
  }

  .ic-trust-v3-card__content h3 {
    font-size: 21px;
  }

  .ic-trust-v3-card__content ul {
    font-size: 15px;
  }
}

@media (max-width: 390px) {
  .ic-trust-v3__title {
    font-size: 28px;
  }

  .ic-trust-v3__title::before,
  .ic-trust-v3__title::after {
    width: 34px;
  }

  .ic-trust-v3__subtitle {
    font-size: 14.5px;
  }

  .ic-trust-v3-card {
    flex-basis: 88.5%;
    grid-template-columns: 88px minmax(0,1fr);
  }

  .ic-trust-v3-card__number {
    left: 52px;
  }

  .ic-trust-v3-card__content {
    padding-left: 21px;
    padding-right: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ic-trust-v3__cards {
    scroll-behavior: auto;
  }
}

/* =========================================================
   【是正】スマホの横スライドを撤回し、①→②→③の縦連続表示へ戻す
   実装パック 03_mobile_vertical_restore_patch.css を末尾へ追記。
   HTMLは変更していない。769px以上（PC版）には一切適用されない。
========================================================= */
/* inCruises社の信頼性：スマホ横スライド撤回→縦連続表示 */
@media (max-width:768px){
.ic-trust-v3{padding:18px 0 24px!important;background:#fff!important;}
.ic-trust-v3__inner{width:100%!important;}
.ic-trust-v3__header{padding:0 14px!important;margin-bottom:9px!important;}
.ic-trust-v3__title{font-size:27px!important;line-height:1.12!important;}
.ic-trust-v3__title::before,.ic-trust-v3__title::after{width:38px!important;}
.ic-trust-v3__subtitle{margin-top:5px!important;font-size:12.5px!important;line-height:1.42!important;}
.ic-trust-v3__swipe-hint,.ic-trust-v3__dots{display:none!important;}
.ic-trust-v3__cards-viewport{overflow:visible!important;}
.ic-trust-v3__cards{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;overflow:visible!important;padding:0 14px!important;scroll-snap-type:none!important;scroll-padding-left:0!important;}
.ic-trust-v3-card{position:relative!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:0!important;height:auto!important;display:grid!important;grid-template-columns:80px minmax(0,1fr)!important;align-items:stretch!important;flex:none!important;scroll-snap-align:none!important;overflow:hidden!important;background:#fff!important;border:1px solid var(--trust-gold-soft)!important;border-radius:8px!important;box-shadow:0 2px 7px rgba(70,52,29,.045)!important;}
.ic-trust-v3-card__icon-panel{width:80px!important;min-width:80px!important;min-height:100%!important;height:auto!important;background:var(--trust-navy)!important;overflow:hidden!important;}
.ic-trust-v3-card__icon-panel img{display:block!important;width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important;}
.ic-trust-v3-card__number{position:absolute!important;z-index:2!important;left:67px!important;top:8px!important;width:30px!important;height:30px!important;border-radius:50%!important;border:1.5px solid #fff7e8!important;font-size:17px!important;line-height:1!important;}
.ic-trust-v3-card__content{min-width:0!important;padding:9px 11px 8px 18px!important;}
.ic-trust-v3-card__content h3{margin:0 0 4px!important;padding:0!important;font-size:16px!important;line-height:1.22!important;font-weight:700!important;}
.ic-trust-v3-card__content ul{margin:0!important;padding-left:1.05em!important;font-size:11.5px!important;line-height:1.38!important;}
.ic-trust-v3-card__content li+li{margin-top:1px!important;}
.ic-trust-v3-card__registration{display:inline-flex!important;margin:4px 0 0!important;padding:3px 8px!important;font-size:10.5px!important;line-height:1.2!important;}
.ic-trust-v3__desktop-break{display:none!important;}
.ic-trust-v3__reasons{margin:7px 14px 0!important;padding:8px 10px 7px!important;border-radius:8px!important;box-shadow:0 2px 7px rgba(70,52,29,.04)!important;}
.ic-trust-v3__reasons h3{padding:0 4px 5px!important;font-size:14px!important;line-height:1.24!important;}
.ic-trust-v3__reason-list li{min-height:30px!important;grid-template-columns:23px 26px 1fr!important;gap:3px!important;font-size:11.5px!important;line-height:1.28!important;}
.ic-trust-v3__reason-check{width:20px!important;height:20px!important;font-size:10px!important;}
.ic-trust-v3__reason-number{font-size:14px!important;}
.ic-trust-v3__brands{margin:7px 14px 0!important;padding:7px 6px 6px!important;border-radius:8px!important;box-shadow:0 2px 7px rgba(70,52,29,.04)!important;}
.ic-trust-v3__brands h3{padding-bottom:5px!important;font-size:14px!important;line-height:1.2!important;}
.ic-trust-v3__brand-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.ic-trust-v3__brand-grid figure{height:44px!important;padding:4px 6px!important;}
.ic-trust-v3__brand-grid img{width:100%!important;height:100%!important;max-width:100px!important;object-fit:contain!important;}
.ic-trust-v3__brand-clia{grid-column:2/3!important;}
}
@media (max-width:390px){
.ic-trust-v3__header{padding-left:12px!important;padding-right:12px!important;}
.ic-trust-v3__title{font-size:26px!important;}
.ic-trust-v3__subtitle{font-size:12px!important;}
.ic-trust-v3__cards{padding-left:12px!important;padding-right:12px!important;}
.ic-trust-v3-card{grid-template-columns:76px minmax(0,1fr)!important;}
.ic-trust-v3-card__icon-panel{width:76px!important;min-width:76px!important;}
.ic-trust-v3-card__number{left:63px!important;width:29px!important;height:29px!important;font-size:16px!important;}
.ic-trust-v3-card__content{padding-left:17px!important;}
.ic-trust-v3-card__content h3{font-size:15.5px!important;}
.ic-trust-v3-card__content ul{font-size:11px!important;}
.ic-trust-v3__reasons,.ic-trust-v3__brands{margin-left:12px!important;margin-right:12px!important;}
}

/* =========================================================
   提携ブランドのロゴ：切り出し時の下地・枠線を除いた透過版へ差し替えたため、
   マスの余白をとり直して各ロゴの見え方を揃える（スマートフォンのみ）
========================================================= */
@media (max-width:768px){
  .ic-trust-v3__brand-grid figure{ height:50px !important; padding:7px 9px !important; }
  .ic-trust-v3__brand-grid img{ max-width:96px !important; }
  /* Azamara・Holland America Line を加えて14ブランド＋CLIAの15マスになり、
     3列×5行でちょうど埋まるため、CLIAも通常のマスへ戻す */
  .ic-trust-v3__brand-clia{ grid-column:auto !important; border-right:0 !important; }
}

/* =========================================================
   ①〜③のアイコン：切り出し時の角・金線・下地を除いた透過版へ差し替えたため、
   紺のパネルはCSS側で描き、エンブレムは切れないよう中央に収める（スマートフォンのみ）
========================================================= */
@media (max-width:768px){
  .ic-trust-v3-card__icon-panel img{
    width: 100% !important;
    height: 100% !important;
    padding: 14px 12px !important;
    object-fit: contain !important;
  }
}

/* =========================================================
   提携ブランド一覧：マスの縦横の罫線を消す
========================================================= */
@media (max-width:768px){
  .ic-trust-v3__brand-grid figure{ border-right:0 !important; border-top:0 !important; }
}

/* =========================================================
   ①②③の丸数字はスマートフォンでは非表示（マークアップは残す）。
   数字のために空けていた左の余白も詰めて、文章の幅を広げる
========================================================= */
@media (max-width:768px){
  .ic-trust-v3-card__number{ display:none !important; }
  .ic-trust-v3-card__content{ padding-left:11px !important; }
}
