/* Shared social mosaic: people, experiences, film and careers. */
.bub-social{background:#f6f7f5;color:#2f2f2f;padding:88px 5%;font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;line-height:1.7;letter-spacing:0}
.bub-social *{box-sizing:border-box}.bub-social p,.bub-social h2,.bub-social h3{margin:0}
.bub-social__inner{max-width:1200px;margin:auto}
.bub-social__heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:28px}
.bub-social__eyebrow{font:700 12px/1.4 sans-serif;letter-spacing:.18em;margin-bottom:18px!important;color:#77766f}
.bub-social h2{font-size:clamp(28px,3vw,38px);font-weight:700;line-height:1.45;letter-spacing:.03em}
.bub-social__intro{font-size:14px;line-height:2.1}
.bub-social__list{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;padding:0;margin:0;list-style:none}
.bub-social__item{min-width:0;list-style:none;grid-column:span 6}
.bub-social__card{display:flex;height:100%;position:relative;text-align:left;text-decoration:none!important;color:#2f2f2f!important;background:#fff;border-radius:16px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.bub-social__visual{position:relative;display:block;overflow:hidden;background:#e7e8e3;flex-shrink:0}
.bub-social__visual img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.bub-social__body{display:flex;flex-direction:column;align-items:flex-start;padding:20px;min-width:0;flex:1;position:relative}
.bub-social__platform{display:flex;align-items:center;gap:8px;margin-bottom:10px;font:700 13px/1.4 sans-serif}
.bub-social__platform svg{width:24px;height:24px;flex-shrink:0}
.bub-social__item--instagram .bub-social__platform svg{color:#b63b78}
.bub-social__item--youtube .bub-social__platform svg{color:#d90000}
.bub-social__item--youtube .bub-social__platform svg path{fill:#fff}
.bub-social__item--wantedly .bub-social__platform svg{color:#087e94}
.bub-social h3{font-size:21px;font-weight:700;line-height:1.5;color:inherit;margin-bottom:8px}
.bub-social__description{font-size:13px;line-height:1.8;margin-bottom:10px!important}
.bub-social__handle{font-size:12px;overflow-wrap:anywhere;color:#6d7168;margin-top:auto;margin-bottom:10px}
.bub-social__action{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border-top:1px solid #30362d22;padding-top:10px;font-size:11px;font-weight:700}
.bub-social__action svg{width:20px;height:20px;flex-shrink:0}
/* Lead story: full-bleed portrait with a restrained caption overlay. */
.bub-social__item--feature{grid-row:span 2}
.bub-social__item--feature .bub-social__card{min-height:420px;align-items:flex-end;background:#26332d;color:#fff!important}
.bub-social__item--feature .bub-social__visual{position:absolute;inset:0;width:100%;height:100%}
.bub-social__item--feature .bub-social__visual img{object-position:48% center}
.bub-social__item--feature .bub-social__card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,#14251c66 48%,#14251cf5 100%)}
.bub-social__item--feature .bub-social__body{z-index:1;padding:26px}
.bub-social__item--feature .bub-social__platform{background:#ffffffed;color:#30362d;padding:8px 12px;border-radius:30px;margin-bottom:20px}
.bub-social__item--feature h3{font-size:28px}
.bub-social__item--feature .bub-social__handle{color:#fff}
.bub-social__item--feature .bub-social__action{border-color:#ffffff55}
/* Small destination cards alternate the image position. */
.bub-social__item--resort .bub-social__visual,.bub-social__item--bac .bub-social__visual{width:42%;min-height:202px}
.bub-social__item--resort .bub-social__card{background:#eeeee6}
.bub-social__item--bac .bub-social__card{flex-direction:row-reverse;background:#eee8de}
/* Film is wide and dark; careers is a light editorial panel. */
.bub-social__item--youtube{grid-column:span 6}
.bub-social__item--youtube .bub-social__card{flex-direction:row;background:#28352f;color:#fff!important}
.bub-social__item--youtube .bub-social__visual{width:44%;min-height:248px;position:relative}
.bub-social__item--youtube .bub-social__visual:after{content:"▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:66px;height:48px;border-radius:14px;background:#d90000;color:#fff;font-size:24px;padding-left:3px;box-shadow:0 3px 16px #0003}
.bub-social__item--youtube .bub-social__body{padding:22px}
.bub-social__item--youtube .bub-social__handle{color:#d8e0d9}
.bub-social__item--youtube .bub-social__action{border-color:#ffffff44}
.bub-social__item--wantedly{grid-column:span 6}
.bub-social__item--wantedly .bub-social__card{flex-direction:row;background:#28352f;color:#fff!important}
.bub-social__item--wantedly .bub-social__body{padding:22px}
.bub-social__item--wantedly .bub-social__platform{margin-bottom:10px}
.bub-social__item--wantedly h3{font-size:21px}
.bub-social__item--wantedly .bub-social__visual{width:44%;min-height:248px}
.bub-social__card:focus-visible{outline:3px solid #a28c50;outline-offset:5px}
.bub-social--recruit{background:#f3f4f2;border-top:1px solid #2f2f2f24}
@media(hover:hover){.bub-social__card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #18202912}.bub-social__card:hover img{transform:scale(1.035)}}
@media(min-width:768px) and (max-width:1050px){.bub-social__list{gap:16px}.bub-social__body{padding:20px}.bub-social h3{font-size:20px}.bub-social__item--feature .bub-social__body{padding:26px}.bub-social__item--resort .bub-social__visual,.bub-social__item--bac .bub-social__visual{width:35%}}
@media(max-width:767px){.bub-social{padding:44px 6%}.bub-social__heading{display:block;margin-bottom:28px}.bub-social__intro{margin-top:22px!important;font-size:13px}.bub-social__list{grid-template-columns:minmax(0,1fr);gap:20px}.bub-social__item{grid-column:auto;grid-row:auto}.bub-social__item--feature .bub-social__card{min-height:340px}.bub-social__item--feature .bub-social__body{padding:26px}.bub-social__item--feature h3{font-size:28px}.bub-social__body{padding:20px}.bub-social h3{font-size:21px}.bub-social__item--resort .bub-social__visual,.bub-social__item--bac .bub-social__visual{width:34%;min-height:210px}.bub-social__item--youtube .bub-social__body,.bub-social__item--wantedly .bub-social__body{padding:24px}.bub-social__item--wantedly h3{font-size:21px}.bub-social__item--wantedly .bub-social__visual{width:34%;min-height:220px}.bub-social__action{font-size:11px}}
@media(prefers-reduced-motion:reduce){.bub-social__card,.bub-social__visual img{transition:none}.bub-social__card:hover,.bub-social__card:hover img{transform:none}}

.bub-social__item--youtube .bub-social__handle{display:none}
@media(max-width:767px){.bub-social__item--youtube .bub-social__visual{width:34%;min-height:220px}.bub-social__item--youtube .bub-social__body,.bub-social__item--wantedly .bub-social__body{padding:18px}.bub-social__item--youtube .bub-social__visual:after{width:44px;height:34px;font-size:18px;border-radius:10px}.bub-social__intro{margin-top:14px!important}.bub-social__list{gap:14px}}

/* Instagram destinations share full-bleed photography within the existing mosaic. */
.bub-social__item--resort .bub-social__card,
.bub-social__item--bac .bub-social__card{color:#fff!important;background:#26332d}
.bub-social__item--resort .bub-social__visual,
.bub-social__item--bac .bub-social__visual{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.bub-social__item--resort .bub-social__card:after,
.bub-social__item--bac .bub-social__card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#14251ce8 0%,#14251c9e 48%,#14251c26 100%)}
.bub-social__item--resort .bub-social__body,
.bub-social__item--bac .bub-social__body{z-index:1;min-height:208px;padding-top:14px;padding-bottom:14px}
.bub-social__item--resort .bub-social__platform,
.bub-social__item--bac .bub-social__platform{background:#ffffffed;color:#30362d;padding:6px 10px;border-radius:30px}
.bub-social__item--resort .bub-social__handle,
.bub-social__item--bac .bub-social__handle{color:#fff}
.bub-social__item--resort .bub-social__action,
.bub-social__item--bac .bub-social__action{border-color:#ffffff55}

.bub-social__item--wantedly .bub-social__handle{display:none}
.bub-social__item--wantedly .bub-social__action{border-color:#ffffff44}
.bub-social__item--wantedly .bub-social__platform svg{color:#62c6d5}

/* Compact mobile mosaic: one lead, two destinations, two short channel rows. */
@media(max-width:767px){
  .bub-social{padding:64px 6%}
  .bub-social__heading{margin-bottom:20px}
  .bub-social h2{font-size:28px;line-height:1.35}
  .bub-social__eyebrow{margin-bottom:10px!important}
  .bub-social__intro{display:none}
  .bub-social__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .bub-social__item{grid-column:span 2}
  .bub-social__item--resort,.bub-social__item--bac{grid-column:span 1}
  .bub-social__description,.bub-social__handle{display:none}
  .bub-social__item--feature .bub-social__card{min-height:224px}
  .bub-social__item--feature .bub-social__body{padding:18px}
  .bub-social__item--feature .bub-social__visual img{object-position:center 32%}
  .bub-social__item--feature .bub-social__platform{padding:5px 9px;margin-bottom:10px}
  .bub-social__item--feature h3{font-size:23px;margin-bottom:6px}
  .bub-social__platform{font-size:11px;gap:6px;margin-bottom:8px}
  .bub-social__platform svg{width:20px;height:20px}
  .bub-social__item--resort .bub-social__body,
  .bub-social__item--bac .bub-social__body{min-height:172px;padding:12px;justify-content:flex-end}
  .bub-social__item--resort .bub-social__card:after,
  .bub-social__item--bac .bub-social__card:after{background:linear-gradient(180deg,#14251c15 0%,#14251c99 45%,#14251cf2 100%)}
  .bub-social__item--resort .bub-social__platform,
  .bub-social__item--bac .bub-social__platform{padding:4px 7px;margin-bottom:8px;font-size:10px}
  .bub-social__item--resort h3,.bub-social__item--bac h3{font-size:16px;white-space:nowrap;margin-bottom:6px}
  .bub-social__action{font-size:0;line-height:1.4;padding-top:9px;gap:5px}
  .bub-social__action:before{content:"アカウントを見る";font-size:10px}
  .bub-social__action svg{width:17px;height:17px}
  .bub-social__item--youtube .bub-social__visual,
  .bub-social__item--wantedly .bub-social__visual{width:32%;min-height:124px}
  .bub-social__item--youtube .bub-social__body,
  .bub-social__item--wantedly .bub-social__body{padding:14px}
  .bub-social__item--youtube h3,.bub-social__item--wantedly h3{font-size:17px;margin-bottom:8px}
  .bub-social__item--wantedly .bub-social__platform{margin-bottom:8px}
  .bub-social__item--youtube .bub-social__action:before{content:"チャンネルを見る"}
  .bub-social__item--wantedly .bub-social__action:before{content:"企業ページを見る"}
}

/* Fill the photo frame, with the play cue away from faces. */
.bub-social__item--youtube .bub-social__visual{background:#28352f}
.bub-social__item--youtube .bub-social__visual img{object-fit:cover;object-position:55% center}
.bub-social__item--youtube .bub-social__visual:after{top:auto;left:auto;right:10px;bottom:10px;transform:none;width:40px;height:30px;font-size:17px;border-radius:8px}
.bub-social__item--youtube .bub-social__card:hover img{transform:none}
@media(max-width:767px){.bub-social__item--youtube .bub-social__visual:after{right:6px;bottom:6px;width:28px;height:22px;font-size:12px;border-radius:6px}}

/* Focus the crop on the teammates at the left of the wide photo. */
.bub-social__item--wantedly .bub-social__visual img{object-position:left center}
