@charset "utf-8";
/* -------------------パンくずリスト------------------- */
/* パンくず全体 */
.breadcrumb {
  font-size: 14px;
  margin: 20px 0;
  color: #555;
  padding-left: 40px;
}

/* ol（リスト）を横並びにする */
.breadcrumb ol {
  display: flex;
  flex-wrap: wrap; /* 折り返しもOK */
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 各 li */
.breadcrumb li {
  display: flex;
  align-items: center;
  color: #555;
}

/* 区切り記号（›） */
.breadcrumb li:not(:last-child)::after {
  content: "›"; /* ▶ や / に変更可 */
  margin: 0 8px;
  color: #aaa;
  font-weight: bold;
}

/* リンク部分のスタイル */
.breadcrumb a {
  color: #007acc;
  text-decoration: none;
  transition: color 0.3s;
}

.breadcrumb a:hover {
  text-decoration: underline;
  color: #005b99;
}

/* 最後の要素（現在ページ） */
.breadcrumb li:last-child {
  color: #333;
  font-weight: bold;
  pointer-events: none; /* 現在地はクリック不可に */
}

.h_webcom_web {
    margin: auto;
}
/* =======================
   ヘッダー
======================= */
header { background-color: #E1F6FF; }

/* =======================
   グローバルナビ
======================= */
.nav-under {
  width: 100%;
  background: #fff;
  padding: 10px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: static;
  transition: all 0.3s ease-in-out;
  margin-top: 100px;
  z-index: 10;
}
.nav-under.fixed {
  position: fixed; top: 0; left: 0; width: 100%;
  background: #fff; transition: all 0.3s ease-in-out; z-index: 15;
}
.nav-underlist {
  display: flex; justify-content: space-around; width: 100%; max-width: 1200px;
  list-style: none; padding: 0; margin-top: 30px;
}
.nav-underitem {
  position: relative; font-size: 16px; display: flex;
  justify-content: center; align-items: center; color: #666; font-weight: bold;
}
.nav-underitem a {
  text-decoration: none; color: #666; font-size: 16px; font-weight: bold;
  padding: 15px 20px; display: block; position: relative; transition: color .3s;
}
.nav-underitem a::after {
  content: ""; position: absolute; left: 50%; bottom: 5px;
  width: 0; height: 2px; background: #4A90E2;
  transition: all .3s ease-out; transform: translateX(-50%);
}
.nav-underitem a:hover { color: #4A90E2; }
.nav-underitem a:hover::after { width: 100%; }
.has-dropdown .dropdown {
  position: absolute; top: 100%; left: 50%; background: #fff;
  box-shadow: 0 4px 8px rgba(0,0,0,.1); border-radius: 8px; list-style: none;
  padding: 10px 0; margin: 0; min-width: 200px;
  opacity: 0; visibility: hidden; transform: translate(-50%, 10px);
  transition: opacity .4s ease, transform .4s ease;
}
.dropdown li { padding: 12px 20px; }
.dropdown li a {
  text-decoration: none; color: #666; display: block; font-size: 14px;
  transition: background .3s ease, padding-left .3s ease;
}
.dropdown li a:hover { background: #f4f4f4; padding-left: 25px; }
.has-dropdown:hover .dropdown { opacity: 1; visibility: visible; transform: translate(-50%, 0); z-index: 5; }
.menu-toggle {
  display: none; font-size: 24px; background: none; border: none; cursor: pointer;
}
.nav-underitem a.active {
  color: #333; background: rgba(74,144,226,.1);
  border-radius: 50%; padding: 10px; display: inline-flex;
  justify-content: center; align-items: center; min-width: 30px; height: 30px;
  transition: background-color .3s; text-align: center; white-space: nowrap;
}
.nav-underitem a.active:hover { background-color: rgba(74,144,226,.2); }

/* タブレット */
@media screen and (min-width:768px) and (max-width:1024px){
  .nav-underitem a { font-size: 10px; }
}

/* スマホ */
@media screen and (max-width:768px){
  .nav-under { padding: 0; background: #E1F6FF; margin-top: 0; }
  .nav-underlist {
    display: none; flex-direction: column; position: fixed; top: 0; left: 0;
    width: 100%; height: 100vh; overflow-y: auto; background: rgba(255,255,255,.95);
    box-shadow: 0 4px 6px rgba(0,0,0,.1); z-index: 9998; justify-content: center; margin-top: 0px;
  }
  .nav-underlist.active { display: flex; }
  .nav-underitem { text-align: center;display:block; }
  .nav-underitem a { display: block; padding: 15px; width: 100%; }
  .has-dropdown .dropdown { display: none; background: #fff; padding: 0; margin: 0; }
  .has-dropdown.open .dropdown {
    display: block; opacity: 1; visibility: visible; transform: none; position: static;
    box-shadow: none; border-radius: 0; background: #e5f2f5;
  }
  .menu-toggle {
    display: block; position: fixed; top: 10px; right: 15px; z-index: 9999;
    background: #fff; padding: 8px 12px; border-radius: 4px;
  }
  .has-dropdown:hover .dropdown { opacity: 1 !important; visibility: visible !important; transform: none !important; }
  .dropdown li { padding: 0 20px; }
}

/* =======================
   メイン画像（FV）
======================= */
.inquirydiv {
	width:80%;
	margin:75px auto;
}
.lowerlayer-fv { background: #E1F6FF; padding: 39px 2.9% 83px; position: relative; }
.lowerlayer-fvsp { display: none; }
.lowerlayer-fvpc { margin: 0 auto; position: relative; }
.titleunit { position: absolute; top: 50%; left: 50%; transform: translate(-50%, 45%); }
.lowerlayer-title { color: #4A90E2; text-align: center; font-size: 48px; line-height: normal; font-family: 'Kiwi Maru', serif; }
.title-icon { margin: 0 auto; width: 48px; }
.titlesp { display: none; }
.title-back {
  position: absolute; bottom: 2%; left: 50%; transform: translate(-50%, -10%);
  width: 300px; height: 150px; background: #E1F6FF;
  border-top-left-radius: 150px; border-top-right-radius: 150px; z-index: 2;
  display: flex; justify-content: center; align-items: center;
}
.lowerlayer-titleunit {
  position: absolute; bottom: 15%; left: 50%;
  transform: translate(-50%, 55%); text-align: center; z-index: 3;
}
.title-iconpc, .title-iconsp { width: 30px; display: block; margin: 0 auto 8px; }
.title-iconsp { display: none; }

/* スマホ */
@media screen and (max-width:768px){
  .lowerlayer-fv { background: #E1F6FF; padding: 39px 2.9% 50px; position: relative; border-radius: 0 0 40px 40px; }
  .lowerlayer-fvsp { display: block; margin: 25px auto 0; position: relative; width: 100%; }
  .lowerlayer-fvpc { display: none; }
  .lowerlayer-titleunit { position: absolute; top: 50%; left: 50%; transform: translate(-50%, 45%); }
  .title-back {
    position: absolute; bottom: 0; left: 50%; transform: translate(-50%, -30%);
    width: 220px; height: 100px; background: #E1F6FF;
    border-top-left-radius: 150px; border-top-right-radius: 150px; z-index: 2;
    display: flex; justify-content: center; align-items: center;
  }
  .lowerlayer-titleunit { bottom: 15%; left: 50%; transform: translate(-50%, 80%); text-align: center; z-index: 3; }
  .title-icon { width: 19px; margin: 0 auto; }
  .lowerlayer-title { font-size: 24px; }
}

/* 426-768 */
@media screen and (min-width:426px) and (max-width:768px){
  .lowerlayer-titleunit { transform: translate(-50%, 100%); }
}

/* =======================
   問い合わせフォーム（外枠や見出し）
======================= */
.contact-form { padding: 100px 16.1%; }
.fx-title {
  font-weight: bold; border: 3px solid #4A90E2; background: #fff;
  padding: .5em 1em; position: relative; margin: 0 auto;
}
.fx-title::after {
  content: ''; background: #4A90E2; width: 100%; height: 100%;
  position: absolute; top: 0; left: 0; z-index: -1; transform: rotate(-1deg);
}
.fx-title h2 {
  margin: 10px; color: #000; font-family: "Kiwi Maru"; font-size: 48px; font-weight: 500;
  line-height: normal; text-align: center; white-space: nowrap;
}
.contact-form-text {
  color: #000; text-align: center; font-family: "Noto Sans JP";
  font-size: 20px; font-weight: 400; line-height: normal; margin: 100px 0;
}

/* 任意で使える共通フォームUI（CF7以外で使う場合） */
.Form { margin: 0 auto; width: 100%; }
.Form-Item { padding: 24px 0; width: 100%; }
.Form-Item-Label { width: 100%; max-width: 248px; letter-spacing: .05em; font-weight: bold; font-size: 20px; }
.Form-Item-Label.isMsg { margin-top: 8px; margin-bottom: auto; }
.Form-Item-Label-Required {
  border-radius: 10px; margin-right: 10px; padding: 8px; max-width: 60px; display: inline-block;
  text-align: center; background: #4A90E2; color: #fff; font-size: 20px;
}
.Form-Item-Input,
.Form-Item-Textarea {
  border: 1px solid #666; border-radius: 10px; background: #fff; font-size: 18px; margin-top: 21px; width: 100%;
  padding-left: 1em; padding-right: 1em;
}
.Form-Item-Input { height: 48px; }
.Form-Item-Textarea { height: 216px; padding-top: 1em; }
.Form-Btn {
  border-radius: 30px; margin: 97px auto 0; padding: 15px; width: 100%; max-width: 330px; display: block;
  letter-spacing: .05em; background: #E1F6FF; color: #4A90E2; font-weight: bold; font-size: 24px;
  box-shadow: 0 4px 4px rgba(0,0,0,.25); border: 2px solid #E1F6FF; cursor: pointer;
}
.privacy-policy {
  color: #666; font-size: 14px; border: 1px solid #666; border-radius: 4px;
  width: 100%; height: 200px; overflow-y: scroll; padding: 6px 12px; margin-top: 60px;
}
.privacy-comment {
  color: #000; font-family: "Noto Sans JP"; font-size: 16px; font-weight: 400; margin: 30px 0;
}
.check-disabled { color: #000; font-family: "Noto Sans JP"; font-size: 20px; font-weight: 400; }

/* タブレット */
@media screen and (min-width:768px) and (max-width:1024px){
  .fx-title h2 { font-size: 32px; }
  .contact-form { padding: 100px 8.8%; }
  .contact-form-text { text-align: start; font-size: 16px; margin: 36px 0 0; padding: 0 14%; }
  .Form-Item { padding: 30px 0; }
  .Form-Item-Label { font-size: 14px; }
  .Form-Item-Label-Required { border-radius: 7px; padding: 5px 8px; font-size: 14px; }
  .Form-Item-Input { border-radius: 7px; font-size: 14px; margin-top: 15px; }
  .Form-Item-Textarea { border-radius: 7px; height: 176px; font-size: 14px; margin-top: 15px; }
  .Form-Btn { border-radius: 15px; margin-top: 42px; padding: 7px; max-width: 165px; font-size: 16px; }
  .privacy-policy { font-size: 10px; height: 240px; margin: 0 auto; }
  .privacy-comment { font-size: 10px; margin: 22px 0; }
  .check-disabled { font-size: 16px; }
}

/* スマホ */
@media screen and (max-width:768px){
  .fx-title h2 { font-size: 24px; }
  .fx-title::after { transform: rotate(-2deg); }
  .contact-form { padding: 40px 5.9%; }
  .contact-form-text { text-align: start; font-size: 16px; margin: 36px 0 0; padding: 0 14%; }
  .Form-Item { padding: 30px 0; }
  .Form-Item-Label { font-size: 14px; }
  .Form-Item-Label-Required { border-radius: 7px; padding: 5px 8px; font-size: 14px; }
  .Form-Item-Input { border-radius: 7px; font-size: 14px; margin-top: 15px; }
  .Form-Item-Textarea { border-radius: 7px; height: 176px; font-size: 14px; margin-top: 15px; }
  .Form-Btn { border-radius: 15px; margin-top: 42px; padding: 7px; max-width: 165px; font-size: 16px; }
  .privacy-policy { font-size: 10px; max-width: 270px; height: 240px; margin: 0 auto; }
  .privacy-comment { font-size: 10px; margin: 22px 0; }
  .check-disabled { font-size: 16px; }
}

/* =======================
   その他のお問い合わせ方法
======================= */
.other-contact-methods { padding: 100px 16.1%; background: #F7FDFF; position: relative; z-index: 1; }
.inquiry-contact { display: flex; align-items: center; justify-content: center; margin: 70px auto 0; gap: 108px; }
.inquiry-icon { cursor: pointer !important; }
.icon-inquiry p {
  color: #000; text-align: center; font-family: "Noto Sans JP";
  font-size: 20px; font-weight: 500; line-height: 30px; margin-top: 26px;
}
/* タブレット */
@media screen and (min-width:768px) and (max-width:1024px){
  .other-contact-methods { padding: 100px 8.8%; }
  .inquiry-icon { width: 100%; max-width: 200px; }
  .icon-inquiry p { font-size: 16px; }
}
/* スマホ */
@media screen and (max-width:768px){
  .other-contact-methods { padding: 40px 5.3%; }
  .inquiry-contact { margin: 40px auto 0; gap: 45px; }
  .inquiry-icon { width: 100%; max-width: 80px; }
  .icon-inquiry p { font-size: 10px; line-height: 12px; margin-top: 10px; }
}

/* =======================
   CF7ブリッジ（HTML無改変）
======================= */
.wpcf7 .wpcf7-form { margin: 0 auto; width: 100%; }
.wpcf7 .wpcf7-form p { margin: 0; padding: 24px 0; }

/* tableタグが混ざっても縦並び化 */
.wpcf7 .wpcf7-form tr,
.wpcf7 .wpcf7-form td { display: block; width: 100%; padding: 0; border: 0; }

/* ラベル疑似（.b / .sankou があれば活用） */
.wpcf7 .wpcf7-form .b {
  display: inline-block; font-weight: bold; font-size: 20px; letter-spacing: .05em;
}
.wpcf7 .wpcf7-form .sankou {
  display: inline-block; margin-left: 10px; padding: 8px 8px 7px; min-width: 60px;
  text-align: center; border-radius: 10px; background: #4A90E2; color: #fff; font-size: 14px; line-height: 1;
}

/* 入力共通 */
.wpcf7 .wpcf7-form .wpcf7-form-control.wpcf7-text,
.wpcf7 .wpcf7-form .wpcf7-form-control.wpcf7-email,
.wpcf7 .wpcf7-form .wpcf7-form-control.wpcf7-tel {
  border: 1px solid #666; border-radius: 10px; padding: 0 1em; height: 48px; width: 100%;
  background: #fff; font-size: 18px; margin-top: 21px; box-sizing: border-box;
}
.wpcf7 .wpcf7-form .wpcf7-form-control.wpcf7-textarea {
  border: 1px solid #666; border-radius: 10px; padding: 1em; height: 216px; width: 100%;
  background: #fff; font-size: 18px; margin-top: 21px; box-sizing: border-box; resize: vertical;
}

/* 必須の視覚ヒント */
.wpcf7 .wpcf7-form .wpcf7-form-control[aria-required="true"] {
  box-shadow: 0 0 0 2px rgba(74,144,226,.15);
}

/* チェックボックス */
.wpcf7 .wpcf7-form .wpcf7-checkbox,
.wpcf7 .wpcf7-form .wpcf7-acceptance { display: block; margin-top: 14px; }
.wpcf7 .wpcf7-form .wpcf7-list-item { display: block; margin: 10px 0 0; }
.wpcf7 .wpcf7-form input[type="checkbox"] { transform: scale(1.2); margin-right: 8px; }

/* 送信ボタン（あなたのForm-Btn相当） */
.wpcf7 .wpcf7-form .wpcf7-submit {
  border-radius: 30px; margin: 42px auto 0; padding: 15px; width: 100%; max-width: 330px; display: block;
  letter-spacing: .05em; background: #E1F6FF; color: #4A90E2; font-weight: bold; font-size: 24px;
  box-shadow: 0 4px 4px rgba(0,0,0,.25); border: 2px solid #E1F6FF; cursor: pointer;
}

/* バリデーション/応答 */
.wpcf7 .wpcf7-not-valid-tip { color: #d93025; font-size: 14px; margin-top: 6px; }
.wpcf7 .wpcf7-response-output { margin-top: 20px; padding: 0; border: none; color: #333; }

/* レスポンシブ（CF7） */
@media (min-width:768px) and (max-width:1024px){
  .wpcf7 .wpcf7-form p { padding: 30px 0; }
  .wpcf7 .wpcf7-form .b { font-size: 14px; }
  .wpcf7 .wpcf7-form .sankou { font-size: 12px; padding: 5px 8px; border-radius: 7px; }
  .wpcf7 .wpcf7-form .wpcf7-text,
  .wpcf7 .wpcf7-form .wpcf7-email,
  .wpcf7 .wpcf7-form .wpcf7-tel { border-radius: 7px; font-size: 14px; margin-top: 15px; height: 44px; }
  .wpcf7 .wpcf7-form .wpcf7-textarea { border-radius: 7px; height: 176px; font-size: 14px; margin-top: 15px; }
  .wpcf7 .wpcf7-form .wpcf7-submit { border-radius: 15px; max-width: 165px; font-size: 16px; padding: 7px; margin-top: 42px; }
}
@media (max-width:768px){
  .wpcf7 .wpcf7-form p { padding: 30px 0; }
  .wpcf7 .wpcf7-form .b { font-size: 14px; }
  .wpcf7 .wpcf7-form .sankou { font-size: 12px; padding: 5px 8px; border-radius: 7px; }
  .wpcf7 .wpcf7-form .wpcf7-text,
  .wpcf7 .wpcf7-form .wpcf7-email,
  .wpcf7 .wpcf7-form .wpcf7-tel { border-radius: 7px; font-size: 14px; margin-top: 15px; height: 44px; }
  .wpcf7 .wpcf7-form .wpcf7-textarea { border-radius: 7px; height: 176px; font-size: 14px; margin-top: 15px; }
  .wpcf7 .wpcf7-form .wpcf7-submit { border-radius: 15px; max-width: 165px; font-size: 16px; padding: 7px; margin-top: 42px; }
}
/* サンクスページ */

#news-list {
	padding:100px 10.5%
}
.thanks__block {
	margin:20px auto;
	border: 2px solid var(--darkblue, #2D5A8E);
	max-width:700px
}
.thanks__title {
	text-align:center;
	font-size:24px;
	color:#4A90E2;
}

.thanks__txt {
	text-align:center;
	font-size:16px;
	color:#333;
}
@media (max-width:768px){
	#news-list {
	padding: 40px 3.2%;
	}
	.thanks__title {
	font-size:16px;
}
}
