﻿@charset "UTF-8";

/* ==================================================
   リセット・ベーススタイル
================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: none; -moz-text-size-adjust: none; text-size-adjust: none; }
body, h1, h2, h3, h4, p, figure, blockquote, dl, dd, table, hr { margin: 0; }
ul[role="list"], ol[role="list"] { list-style: none; }
body {
  min-height: 100vh;
  line-height: 1;
  background-color: rgba(0, 0, 0, 0);
  line-break: strict;
  overflow-wrap: anywhere;
  word-break: normal;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
}
h1, h2, h3, h4, h5, h6, button, input, label { line-height: 1; }
h1, h2, h3, h4, h5, h6 { font-weight: 700; }
a:not([class]) { -webkit-text-decoration-skip: ink; text-decoration-skip-ink: auto; color: currentColor; }
a { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); color: currentColor; }
a:hover { text-decoration: none; }
input, button, textarea, select { font: inherit; }
textarea:not([rows]) { min-height: 10em; }
:target { scroll-margin-block: 5ex; }
button { background-color: rgba(0, 0, 0, 0); border: inherit; border-radius: inherit; cursor: pointer; padding: 0; }
picture { display: block; }
img { height: auto; max-width: 100%; width: 100%; }
small { font-size: 100%; }
ul, ol, li { list-style: none; margin: 0; padding: 0; }
[data-whatinput="mouse"] *:focus, [data-whatinput="touch"] *:focus { outline: none; }
table { border-collapse: collapse; width: 100%; }

@media screen and (max-width: 768px) { .pc { display: none !important; } }
@media screen and (min-width: 769px) { .sp { display: none !important; } }

/* ==================================================
   お申し込みページ (.p-apply) - イベントデザイン調整版
================================================== */
.p-apply {
  background-color: #f9f9f9; /* フォームを際立たせるためのベース背景色 */
  padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .p-apply { padding-bottom: 60px; }
}

/* ヒーロー（タイトル）部分 */
.p-apply__ttl {
  text-align: center;
  padding: 8vw 0;
  margin-bottom: 60px;
  /* 背景画像共通設定 */
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* スマホ用の背景画像と余白設定 */
@media screen and (max-width: 768px) {
  .p-apply__ttl {
    background-image: url("https://www.softcreate.co.jp/cms/sc/img/event/j-updateday-2026-t/kv_sp.webp");
    padding: 60px 20px;
    margin-bottom: 40px;
  }
}

/* PC用の背景画像設定 */
@media screen and (min-width: 769px) {
  .p-apply__ttl {
    background-image: url("https://www.softcreate.co.jp/cms/sc/img/event/j-updateday-2026-t/kv_bg_pc.webp");
  }
}

/* 「APPLY」テキストにイベントテーマのグラデーションを適用 */
.p-apply__ttl--en {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 64px;
  letter-spacing: 0.05em;
  background: linear-gradient(90deg, #ffd01c, #199fd7 50%, #8a50d8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 8px;
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  .p-apply__ttl--en { font-size: 40px; }
}

.p-apply__ttl--ja {
  font-weight: 600;
  font-family: "Noto Sans JP", sans-serif;
  color: #1e1e1e;
  font-size: 24px;
  letter-spacing: 0.2em;
  padding-top: 15px;
}

/* コンテンツ幅 */
.p-apply__inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
}

/* イベント名のスタイリング */
.event-title-name {
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  color: #1e1e1e;
  line-height: 1.5;
  margin-bottom: 24px;
}
.event-title-name .sub-title-name {
  display: block;
  font-size: 18px;
  font-weight: 600;
  color: #199fd7; /* サブタイトルにテーマカラーのブルーを配置 */
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .event-title-name { font-size: 22px; }
  .event-title-name .sub-title-name { font-size: 14px; margin-top: 8px; }
}

/* リード文 */
.form-txt {
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  color: #1e1e1e;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .form-txt {
    font-size: 14px;
    line-height: 1.5;
  }
}

/* フォームエリア（影をつけて浮き上がらせるカード風デザイン） */
.p-apply__form {
  /* HTMLのインラインスタイルを上書きしつつ整形 */
max-width: 900px !important;
    margin: 0 auto 50px !important;
    padding: 50px 30px 50px 80px !important;
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); /* クリーンな背景を維持する柔らかい影 */
  border: 1px solid #eaeaea;
}
@media screen and (max-width: 768px) {
  .p-apply__form { padding: 30px 20px !important; }
}

/* 注意書き */
.caution-txt {
  max-width: 680px;
  margin: 0 auto;
  padding: 0 20px;
  font-size: 13px;
  color: #7d7d7d;
  line-height: 1.6;
}

/* ==================================================
   フッター (.l-footer) - イベントデザイン調整版
================================================== */
.l-footer {
  background-color: #f9f9f9; /* コンテンツエリアとの区別をつけるため極薄いグレーに */
  color: #1e1e1e;
  position: relative;
}

/* 特設サイトのテーマカラーグラデーションを上部のボーダーとして追加 */
.l-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #ffd01c, #199fd7 50%, #8a50d8);
}

@media screen and (max-width: 768px) {
  .l-footer { padding: 60px 20px 40px; }
}
@media screen and (min-width: 769px) {
  .l-footer { padding: 80px 40px 30px; }
}

/* ロゴの調整 */
.l-footer__logo {
  margin: 0 auto;
  text-align: center;
}
.l-footer__logo img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .l-footer__logo { max-width: 200px; margin-bottom: 40px; }
}
@media screen and (min-width: 769px) {
  .l-footer__logo { max-width: 220px; margin-bottom: 60px; }
}

/* お問い合わせエリア（スッキリと中央に配置） */
#contact {
  text-align: center;
  margin: 0 auto 50px;
}

.l-footer__contact-ttl {
  font-weight: 700;
  margin-bottom: 16px;
  font-size: 13px;
  color: #7d7d7d; /* 見出しは目立ちすぎないようにトーンダウン */
  letter-spacing: 0.1em;
}

.l-footer__contact-office {
  font-weight: 600;
  margin-bottom: 12px;
}
@media screen and (max-width: 768px) {
  .l-footer__contact-office { font-size: 15px; }
}
@media screen and (min-width: 769px) {
  .l-footer__contact-office { font-size: 16px; }
}

.l-footer__contact-info {
  display: flex;
  justify-content: center;
  font-size: 15px;
}
.l-footer__contact-info a {
  color: #199fd7; /* メールアドレスにテーマカラーのブルーを適用 */
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
}
.l-footer__contact-info a:hover {
  text-decoration: underline;
  opacity: 0.7;
}

/* コピーライト */
.l-footer__copyright {
  text-align: center;
  color: #a0a0a0;
}
.l-footer__copyright small {
  font-size: 11px;
  font-family: "Roboto", sans-serif;
  letter-spacing: 0.05em;
}

/* ==================================================
   complete ページ
================================================== */
.p-apply__thanks__para {
  font-size: 30px;
  text-align: center;
  line-height: 1.75;
  margin: 80px 0 0 0;
}
@media screen and (max-width: 768px) {
  .p-apply__thanks__para { font-size: 4.5vw; }
}

/* ==================================================
   Marketo フォーム調整
================================================== */
.mktoOffset { display: none; }

@media screen and (max-width: 768px) {
  .body { width: 100%; }
  .mktoForm .mktoRequiredField label.mktoLabel { margin-bottom: 10px !important; }
}

@media screen and (max-width: 480px) {
  .mktoForm .mktoFormCol .mktoLabel { margin-bottom: 10px !important; }
}

.mktoButton {
  border: none !important;
  box-shadow: none !important;
  color: inherit !important;
  font-size: inherit !important;
  background: #f5b200 !important;
  padding: 1em 12.5em !important;
  border-radius: 30px;
  margin-top: 20px !important;
  width: auto !important;
  text-shadow: none !important;
}
button:hover { opacity: 0.5; }
#LblFirstName { margin-left: 10px; }
.mktoForm button.mktoButton { color: #000 !important; }
.mktoForm .mktoFormCol { margin-bottom: 1.5em !important; }

@media only screen and (max-width: 480px),
       only screen and (max-device-width: 480px),
       only screen and (max-device-height: 480px) {
  .mktoMobileShow .mktoForm, .mktoForm * { padding: 0px !important; }
}

.mktoForm input[type=text],
.mktoForm input[type=url],
.mktoForm input[type=email],
.mktoForm input[type=tel],
.mktoForm input[type=number],
.mktoForm input[type=date],
.mktoForm textarea.mktoField,
.mktoForm select.mktoField {
  padding: 5px 3px !important;
}
.mktoForm .mktoLabel { padding-bottom: 0.3em; }

@media only screen and (max-width: 480px) {
  .mktoForm input[type=url],
  .mktoForm input[type=text],
  .mktoForm input[type=date],
  .mktoForm input[type=tel],
  .mktoForm input[type=email],
  .mktoForm input[type=number],
  .mktoForm textarea.mktoField,
  .mktoForm select.mktoField {
    height: auto !important;
    font-size: 16px !important; /* 3vwから16pxに変更、余分なセミコロンを削除 */
  }
.mktoForm div, .mktoForm span, .mktoForm .mktoLabel, .mktoForm p {
    margin-left: 0px !important;
    width: 100% !important;
  }
  .mktoForm .mktoButton {
    width: 100% !important;
    padding: 16px 0 !important; /* 「.mktoForm * {padding:0}」で潰れないよう上書き */
    text-align: center !important;
    font-weight: 600;
  }
  .mktoForm .mktoFormRow .mktoField { margin-right: 5px; }
  .mktoForm .mktoRadioList > label,
  .mktoForm .mktoCheckboxList > label {
    margin-bottom: 1em !important;
  }
}

/* ==================================================
   Marketo 必須エラーメッセージのスマホレイアウト被り調整（最終版）
================================================== */
@media screen and (max-width: 768px) {
  .mktoForm .mktoError {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin-top: 5px !important;
    /* display: block !important; は削除（エラーが消えない原因でした） */
    clear: both !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease !important; /* フェードアウトアニメーション */
  }
  .mktoForm .mktoError .mktoErrorArrowWrap {
    display: none !important;
  }
  .mktoForm .mktoError .mktoErrorMsg {
    margin-top: 0 !important;
    display: inline-block !important;
  }
  /* JSから付与されるフェードアウト用のクラス */
  .mktoForm .mktoError.is-fadeout {
    opacity: 0 !important;
  }
}

.seminar-detail-txt{
    line-height: 1.75;
    margin-top: 30px !important;
}

.mktoForm .mktoRadioList > label, .mktoForm .mktoCheckboxList > label {
margin-bottom: 1em!important;
}
