/* ====================================================
   共通：特許分析・コンサルティング系ページ
   ==================================================== */

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: #fff;
  color: #333;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    Meiryo,
    sans-serif;
  line-height: 1.9;
}


/* ====================================================
   全体
   ==================================================== */

.main-wrap {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 50px 25px 80px;
}

.pat-section {
  width: 100%;
}


/* ====================================================
   ページヘッダー
   ==================================================== */

.page-header {
  margin-bottom: 45px;
}

.page-header h1 {
  position: relative;
  margin: 0 0 14px;
  padding-left: 22px;

  color: #1f4f7a;
  font-size: 34px;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.5;
}

.page-header h1::before {
  content: "";

  position: absolute;
  left: 0;
  top: 7px;

  width: 5px;
  height: 42px;

  border-radius: 2px;
  background: #3d82b8;
}

.page-header h2,
.page-header .subtitle {
  margin: 0;

  color: #666;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}


/* ====================================================
   共通セクション
   ==================================================== */

.section {
  margin-top: 60px;
}

.section > h2 {
  position: relative;

  margin: 0 0 28px;
  padding: 0 0 12px 17px;

  border-bottom: 1px solid #dfe3e6;

  color: #244f72;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.5;
}

.section > h2::before {
  content: "";

  position: absolute;
  left: 0;
  top: 4px;

  width: 4px;
  height: 28px;

  border-radius: 2px;
  background: #3d82b8;
}


/* ====================================================
   共通カード
   ==================================================== */

.info-card,
.intro-card,
.lead-card,
.consulting-card {
  background: #fff;
  border: 1px solid #e3e6e8;
  border-radius: 8px;
}


/* ====================================================
   サービス概要
   ==================================================== */

.intro-card {
  padding: 35px;
}

.intro-content {
  display: flex;
  align-items: center;
  gap: 40px;
}

.intro-image {
  flex: 0 0 42%;
}

.intro-image img {
  display: block;
  width: 100%;
  height: auto;

  border-radius: 6px;
}

.intro-text {
  flex: 1;
}

.intro-text p {
  margin: 0 0 18px;
}

.intro-text p:last-child {
  margin-bottom: 0;
}


/* ====================================================
   サポートメニュー
   ==================================================== */

.support-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.support-card {
  display: flex;
  overflow: hidden;

  min-height: 250px;

  background: #fff;
  border: 1px solid #e0e4e7;
  border-radius: 8px;

  transition:
    border-color .2s ease,
    transform .2s ease;
}

.support-card:hover {
  border-color: #cbd4da;
  transform: translateY(-2px);
}


/* -----------------------------------------
   A / B / C ラベル
   ----------------------------------------- */

.support-label {
  flex: 0 0 48px;

  display: flex;
  justify-content: center;
  align-items: flex-start;

  padding-top: 20px;

  background: #f7f8f9;
  border-right: 1px solid #e3e6e8;

  color: #23618d;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}


/* -----------------------------------------
   カード本文
   ----------------------------------------- */

.support-body {
  flex: 1;
  padding: 24px;
}

.support-body h3 {
  margin: 0 0 15px;

  color: #244f72;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}

.support-body p {
  margin: 0;

  color: #444;
  font-size: 15px;
  line-height: 1.9;
}


/* ====================================================
   特許分析コンサルティング
   ==================================================== */

.consulting-card {
  display: flex;
  align-items: center;
  gap: 30px;

  padding: 32px;
}

.consulting-icon {
  flex: 0 0 145px;

  padding: 28px 15px;

  background: #f7f8f9;
  border: 1px solid #e3e6e8;
  border-radius: 7px;

  color: #23618d;
  font-size: 17px;
  font-weight: 700;
  text-align: center;
  letter-spacing: .08em;
}

.consulting-text {
  flex: 1;
}

.consulting-text p {
  margin: 0 0 14px;

  color: #444;
}

.consulting-text p:last-child {
  margin-bottom: 0;
}


/* ====================================================
   相談ボックス
   ==================================================== */

.contact-box {
  padding: 32px;

  background: #fff;
  border: 1px solid #e0e4e7;
  border-radius: 8px;

  text-align: center;
}

.contact-box h2 {
  margin: 0 0 12px;

  color: #244f72;
  font-size: 23px;
  line-height: 1.5;
}

.contact-box h2::before {
  display: none;
}

.contact-box p {
  margin: 0;
}


/* ====================================================
   特許分析支援・アドバイザリー
   ==================================================== */

.advice {
  background: #fff;
}


/* -----------------------------------------
   ヘッダー
   ----------------------------------------- */

.advice .page-header {
  margin-bottom: 42px;
}

.advice .page-header h1 {
  margin-bottom: 10px;
}

.advice .page-header .subtitle {
  margin: 0;

  color: #666;
  font-size: 18px;
}


/* -----------------------------------------
   リードカード
   ----------------------------------------- */

.advice .lead-card {
  display: flex;
  align-items: center;
  gap: 40px;

  padding: 32px;
}

.advice .lead-image {
  flex: 0 0 42%;
}

.advice .lead-image img {
  display: block;
  width: 100%;
  height: auto;

  border-radius: 6px;
}

.advice .lead-content {
  flex: 1;
}

.advice .lead-content p {
  margin: 0 0 18px;

  color: #444;
}

.advice .lead-content p:last-child {
  margin-bottom: 0;
}


/* ====================================================
   アドバイザリー A / B / C
   ==================================================== */

.advice .support-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.advice .support-card {
  display: flex;
  overflow: hidden;

  background: #fff;
  border: 1px solid #e0e4e7;
  border-radius: 8px;
}

.advice .support-label {
  flex: 0 0 48px;

  display: flex;
  justify-content: center;
  align-items: flex-start;

  padding-top: 20px;

  background: #f7f8f9;
  border-right: 1px solid #e3e6e8;

  color: #23618d;
  font-size: 20px;
  font-weight: 700;
}

.advice .support-body {
  flex: 1;
  padding: 24px;
}

.advice .support-body h3 {
  margin: 0 0 15px;

  color: #244f72;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}

.advice .support-body p {
  margin: 0;

  color: #444;
  font-size: 15px;
  line-height: 1.9;
}

.advice .support-image {
  margin-top: 22px;
}

.advice .support-image img {
  display: block;
  width: 100%;
  height: auto;

  border: 1px solid #e3e6e8;
  border-radius: 5px;
}


/* ====================================================
   アドバイザリー：コンサルティング
   ==================================================== */

.advice .consulting-card {
  display: flex;
  align-items: center;
  gap: 30px;

  padding: 32px;
}

.advice .consulting-mark {
  flex: 0 0 145px;

  padding: 28px 15px;

  background: #f7f8f9;
  border: 1px solid #e3e6e8;
  border-radius: 7px;

  color: #23618d;
  text-align: center;
}

.advice .consulting-mark span {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .08em;
}

.advice .consulting-content {
  flex: 1;
}

.advice .consulting-content p {
  margin: 0 0 14px;

  color: #444;
}

.advice .consulting-content p:last-child {
  margin-bottom: 0;
}
