﻿@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/ai-ready-day-2026/kv_bg_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/ai-ready-day-2026/kv_bg.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: 680px !important; 
  margin: 0 auto 50px !important; 
  padding: 50px 40px !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;
    }
}