/* =============================================================
  はじめての方へ。 PC Style
  プレフィックス: welcome
  コンテンツ幅: 1120px (Figma実寸)
============================================================= */

/* Reset
------------------------------------------------------------- */
picture { display: block; }
picture img { display: block; width: 100%; height: auto; }

/* Base
------------------------------------------------------------- */
.contents-area {
  width: 100%;
  min-width: 1200px;
  background: #fff;
  color: #1a1a1a;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

.contents-area a:hover {
  opacity: 0.8;
}

/* Inner wrapper (1120px centered)
------------------------------------------------------------- */
.welcome__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 32px;
  padding-top: 88px;
  padding-bottom: 88px;
  border-bottom: 1px solid #e7e2d8;
}

/* Section common
------------------------------------------------------------- */


/* Eyebrow (英字ラベル + 赤線)
------------------------------------------------------------- */
.welcome__eyebrow-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.welcome__eyebrow-bar {
  display: block;
  width: 22px;
  height: 1px;
  background: #d62a4e;
  flex-shrink: 0;
}
.welcome__eyebrow-text {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #726c62;
  white-space: nowrap;
}

/* Heading
------------------------------------------------------------- */
.welcome__heading-main {
  font-weight: 400;
  font-size: 50px;
  line-height: 80px;
  letter-spacing: 0.496px;
  color: #1a1a1a;
  margin-top: 17.4px;
}
.welcome__heading {
  font-weight: 400;
  font-size: 32px;
  line-height: 56px;
  color: #1a1a1a;
  margin-top: 17.3px;
}

/* Body text
------------------------------------------------------------- */
.welcome__desc {
  margin-top: 17.4px;
}
.welcome__desc p {
  font-size: 16px;
  line-height: 29px;
  color: #726c62;
}
.welcome__desc--connect { margin-top: 18px; padding-bottom: 27px;}

/* Black button (common: lead / cta)
------------------------------------------------------------- */
.welcome__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 24.64px;
  width: 320px;
  padding: 16px 0;
  background: #1a1a1a;
  border: 1px solid #1a1a1a;
  border-radius: 2px;
  color: #fff!important;
  font-size: 14.1px;
  text-decoration: underline!important;
  text-decoration-color: #e7e2d8!important;
  text-underline-offset: 2px;
}

.welcome__btn:active {
  color: #fff!important;
  font-size: 14.1px;
  text-decoration: underline;
  text-decoration-color: #e7e2d8!important;

}

/* ============================================================
  01 LEAD
============================================================ */
.welcome__lead .welcome__inner {
  padding-top: 76px;
}
.welcome__lead-btnwrap { margin-top: 17.4px; padding-top: 16px; }

/* ============================================================
  02 SERVICES
============================================================ */
.welcome__services-list {
  display: flex;
  margin-top: 52px;
  align-items:stretch;
    
}
.welcome__service-card {
  width: 263px;
  flex-shrink: 0;
  margin: 0 8px 0 0;
  border: 1px solid #e7e2d8;
  border-bottom: 24px solid #e7e2d8;
  box-sizing: border-box;
}
.welcome__service-card-inner {
  height: 240px;
  background: #fff;
  padding: 27px 34px 27px;
  display: flex;
  flex-direction: column;
}
/* .welcome__service-card-foot {
  height: 24px;
  background: #e7e2d8;
} */
.welcome__service-icon {
  width: 28.486px;
  height: 28.486px;
}
.welcome__service-title {
  font-weight: 400;
  font-size: 16px;
  line-height: 27px;
  letter-spacing: 0.157px;
  color: #1a1a1a;
  margin-top: 20px;
}
.welcome__service-text {
  font-size: 14px;
  line-height: 26px;
  color: #726c62;
  width: 194px;
}

a.welcome__service-link{
    display: block;
    margin-top: auto;
    text-align: center;
    font-size: 14px;
    color: #726c62;
    text-decoration: underline;
}



/* ============================================================
  03 FIND & SAVE
============================================================ */
.welcome__findsave-list {
  display: flex;
  gap: 56px;
  margin-top: 52.01px;
}
.welcome__findsave-article {
  width: 500px;
  border-top: 2px solid #1a1a1a;
  padding-top: 22px;
}
.welcome__findsave-icon {
  width: 40px;
  height: 40px;
}
.welcome__findsave-article:nth-child(2) .welcome__findsave-icon{
  width: 33px;
}
.welcome__findsave-title {
  font-weight: 400;
  font-size: 18px;
  line-height: 32px;
  letter-spacing: 0.2px;
  color: #1a1a1a;
  margin-top: 16px;
}
.welcome__findsave-text {
  font-size: 14px;
  line-height: 23px;
  color: #726c62;
  margin-top: 16px;
}

/* ============================================================
  04 SHOPPING GUIDE
============================================================ */
.welcome__guide-head { max-width: 608px; }

.welcome__step-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 13px;
  padding-top: 39px;
}
.welcome__step-row--2 { padding-top: 66.99px; }
.welcome__step-badge {
  display: inline-flex;
  align-items: center;
  background: #1a1a1a;
  color: #fff;
  border-radius: 20px;
  padding: 5px 11px;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 2px;
  text-transform: uppercase;
  white-space: nowrap;
}
.welcome__step-label {
  font-size: 12px;
  line-height: 22px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #a7a196;
}
.welcome__guide-subttl {
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 0.184px;
  color: #1a1a1a;
  margin-top: 13px;
}
.welcome__guide-subttl--2 { padding-bottom: 19px; }

.welcome__guide-list {
  display: flex;
  gap: 24px;
  margin-top: 13px;
  padding: 19px 0;
}
.welcome__guide-item {
  width: 246px;
  border-top: 2px solid #1a1a1a;
  padding-top: 19px;
}
.welcome__guide-item-head {
  display: flex;
  align-items: center;
  gap: 8px;
}
.welcome__guide-icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}
.welcome__guide-item-title {
  font-weight: 400;
  font-size: 16px;
  line-height: 29px;
  color: #1a1a1a;
  width: 206px;
}
.welcome__guide-item-text {
  font-size: 14px;
  line-height: 26px;
  color: #726c62;
  margin-top: 16px;
}

.welcome__guide-box {
  margin-top: 13px;
  border: 1px solid #e7e2d8;
  padding: 37px;
  border-radius: 8px;
}
.welcome__guide-box-title {
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  color: #1a1a1a;
}
.welcome__guide-box-text {
  font-size: 14px;
  line-height: 23px;
  color: #726c62;
  margin-top: 6px;
}

/* ============================================================
  05 STAY CONNECTED
============================================================ */

section.welcome__connect .welcome__inner{
  margin-top: 13px;
}

.welcome__sns-list {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 25px;
}
.welcome__sns-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
}
.welcome__sns-link img {
  width: 46px;
  height: 46px;
}

/* ============================================================
  06 CTA
============================================================ */
.welcome__cta .welcome__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.welcome__cta-heading {
  font-weight: 400;
  font-size: 36px;
  line-height: 62px;
  letter-spacing: 0.352px;
  color: #1a1a1a;
  text-align: center;
}

.welcome__cta-btnwrap{
  display: flex;
  gap: 25px;
}
.welcome__btn--cta {
  text-decoration: underline;
}
.welcome__cta-btnwrap {
  display: flex;
  gap: 24px;
  margin-top: 26px;
}

/* ============================================================
  PC/SP 統合対応（共通1ソース化に伴う追記）
  - SP専用の区切りdiv(.welcome__divider)はPCでは非表示（inner の border-bottom で表現）
  - SP専用のラッパーdiv(.welcome__service-card-head / .welcome__findsave-head-row)は
    PCでは構造上不要なため display:contents で無効化し、PCの元レイアウトを維持
============================================================ */
.welcome__divider { display: none; }
.welcome__service-card-head,
.welcome__findsave-head-row {
  all: unset;
  display: contents;
}
