@charset "utf-8";
/* CSS Document */
/* スクロール後のロゴサイズを拡大（32px → 48px） */ :root {
  --logo_size_pcfix: 48px;
}
:root {
  --primary: #01afb8;
  --primary-dark: #245f82;
  --primary-light: #d6ebf7;
  --primary-mid: #5ea0c5;
  --accent: #029d7b;
  --accent-light: #fdf3df;
  --green: #4FA40B;
  --green-light: #e8f4ea;
  --text: #333;
  --text-mid: #3d5566;
  --text-muted: #6b8394;
  --bg: #f5f9fc;
  --white: #ffffff;
  --border: #01afb8;
  --section-pad: 80px 0;
}
/* スクロール後のロゴサイズを拡大（32px → 48px） */ :root {
  --logo_size_pcfix: 48px;
}

#body_wrap:not(.home) .l-mainContent__inner > .post_content {
    margin-top: 30px !important;
}

@media (max-width: 959px) {
  #breadcrumb {
    display: none;
  }
}

html {
  scroll-padding-top: 100px; /* ヘッダーの高さに合わせて数値を変更してください */
}

/* キャッチコピー */
/*.-parallel .l-header__logo .c-catchphrase{
	font-size: 16px;
	margin-left:90px;
	margin-top: -20px;
}*/
/* キャッチコピーをロゴの上・テキスト開始位置に揃える */
.-parallel .l-header__logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.-parallel .l-header__logo .c-headLogo {
  order: 2;
}
.-parallel .l-header__logo .c-catchphrase {
  order: 1;
  font-size: 13px;
  margin: 5px 0 0px 77px;
  padding: 0;
  line-height: 1.4;
}
@media (min-width: 861px) {
  /* ヘッダー内コンテナを1200pxに制限 */
  .l-header__inner.l-container {
    max-width: 1200px;
    padding-left: 20px;
    padding-right: 20px;
  }
  /* ロゴを左寄せ */
  .-parallel .l-header__logo {
    text-align: left;
  }
  /* ロゴテキスト(h1)を左寄せ */
  .-parallel .l-header__logo .c-headLogo {
    justify-content: flex-start;
  }
  /* グローバルナビを左寄せ */
  .-parallel .l-header__gnav .c-gnav {
    justify-content: flex-start;
  }
  .-parallel-bottom .l-header__logo {
    padding: 0;
  }
  .-parallel-bottom .l-header__inner {
    padding-top: 0px;
  }
  .-frame-on .l-mainContent {
    padding-top: 0;
  }
  #gnav {
    border-top: 1px solid #ccc;
  }
}
@media (max-width: 959px) {
  .c-headLogo__img {
    height: 150% !Important;
  }
}
.c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
  border-bottom: 3px solid var(--color_main);
}
.post_content h2 {
  padding-bottom: 8px;
  margin-bottom: 1.5rem;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 2px;
	font-size:1.6em;
}
.post_content h2::before {
  content: '';
  position: absolute;
  bottom: 0;
  width: 100%;
  left: 0;
  height: 1px;
  background-color: #00b5b5;
}
@media (min-width: 861px) {
  .post_content h2::before {
    width: 50%;
  }
}
.post_content h2::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 180px;
  height: 5px;
  background-color: #00b5b5;
}
.post_content h3 {
  margin: 0;
}
.post_content h4 {
  margin: 0;
  color: var(--primary);
  font-weight: 500 !Important;
  font-size: 16px;
}
.post_content h4.info {
  color: var(--primary-dark);
  border-bottom: 2px solid #d5ebf6;
  padding: 0 0 5px 5px;
}
@media (min-width: 861px) {
  .-frame-on .p-breadcrumb {
    padding-left: 70px;
  }
}
/* ナビゲーション文字色 */
.c-gnav > li > a {
  color: #266181 !Important;
}
.c-gnav > li > a:hover {
  color: var(--primary);
  opacity: 0.7;
}
/* ナビ上部の区切り線の色 */
@media (min-width: 861px) {
  .c-gnavWrap {
    border-top-color: var(--primary) !Important;
  }
}
/* フッター上部レイアウト */
#before_footer_widget .l-container {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  align-items: center;
  padding: 0;
  gap: 0;
}
/* 「特定技能制度及び育成就労制度 総合情報」テキスト → 左上 */
#before_footer_widget .widget_text {
  grid-column: 1;
  grid-row: 1;
  font-size: 13px;
  color: #555;
}
/* ロゴ画像の縦位置調整 */
#before_footer_widget .widget_media_image {
  flex-shrink: 0;
  margin-top: 10px !important; /* テーマのデフォルト32pxを上書き */
}
/* ヘッダの上　ナビメニュー → 右側・上下中央 */
#before_footer_widget .widget_nav_menu {
  grid-column: 2;
  grid-row: 1 / 3;
  margin-top: 0;
  align-self: center;
}
/* メニュー項目を横並びに */
#before_footer_widget .menu-footer-menu-container {
  display: flex;
  align-items: center;
}
#before_footer_widget ul.menu {
  display: flex;
  flex-direction: row;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}
#before_footer_widget ul.menu li {
  border: none;
  padding: 0;
  margin: 0;
}
#before_footer_widget ul.menu li a {
  font-size: 14px;
  color: #333;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: none;
}
#before_footer_widget ul.menu li a:hover {
  color: #266181;
}
#before_footer_widget .widget_text p {
  margin: 0;
}
/*　角丸 */
.rounded-img img {
  border-radius: 8px !important;
}
/* フッタ配分変更 */
.w-footer.-col2 .w-footer__box:nth-child(1) {
  flex: 0 0 70% !important;
  max-width: 70% !important;
}
.w-footer.-col2 .w-footer__box:nth-child(2) {
  flex: 0 0 30% !important;
  max-width: 30% !important;
}
.w-footer.-col2 .w-footer__box:nth-child(3) {
  display: none;
}
.l-content {
  margin: 0 auto 0 !Important;
}
.w-beforeFooter {
  margin-top: 20px !important;
}
@media (min-width: 861px) {
  #before_footer_widget .l-container {
    width: 1200px;
  }
}
/* お問い合わせ*/
.smf-form--business .smf-item__col--label {
  background-color: #F5F9FC;
}
/* フッター上ロゴ SP対応 */
@media (max-width: 860px) {
  .w-beforeFooter .c-widget {
    width: 100% !important;
    max-width: 100% !important;
  }
  .w-beforeFooter img {
    max-width: 90% !important;
    height: auto !important;
    display: block;
  }
  #before_footer_widget .l-container {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    padding: 10px;
  }
  #menu-footer-menu {
    flex-wrap: wrap;
    justify-content: center;
  }
  #before_footer_widget ul.menu {
    display: flex;
    /*flex-direction: column;*/
    gap: 1px;
  }
	#before_footer_widget ul.menu li{
		padding-left: 20px;
	}
	.c-gnav .sub-menu a:before, .c-listMenu a:before{
		left: -12px;
	}
  #before_footer_widget .c-listMenu a {
    padding: 2px !Important;
  }
}

/* 環境省ロゴをサイトロゴの右に配置 */
.l-header__logo {
  display: grid !important;
  grid-template-columns: minmax(0, max-content) 183px !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 20px !important;
  width: auto !important;
}

/* キャッチフレーズ：左列・1行目 */
.l-header__logo .c-catchphrase.u-thin {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

/* サイトロゴ(h1)：左列・2行目 */
.l-header__logo .c-headLogo.-img {
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: auto !important;
}

#text-7 .textwidget p{
	margin-left:14%;
}

.w-beforeFooter img  {
	margin-top:-12px;
}

/*--------------------------------------------------
  環境省ロゴをサイトロゴの右に配置（最新版）
--------------------------------------------------*/
/* 通常ヘッダーのグリッド配置 */
.l-header__logo {
  display: grid !important;
  grid-template-columns: minmax(0, max-content) 183px !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 20px !important;
  width: auto !important;
}

/* キャッチフレーズ：左列・1行目 */
.l-header__logo .c-catchphrase.u-thin {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

/* サイトロゴ(h1)：左列・2行目 */
.l-header__logo .c-headLogo.-img {
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: auto !important;
}


/* --------------------------------------------------
   レスポンシブ対応
   -------------------------------------------------- */
@media (max-width: 959px) {
  .l-header__logo {
    grid-template-columns: minmax(0, max-content) 19vw !important;
    column-gap: 12px !important;
  }
  
}

@media (max-width: 599px) {
  .l-header__logo {
    grid-template-columns: minmax(0, max-content) 16vw !important;
    column-gap: 8px !important;
  }
  
}

/* フッタのロゴと文の位置調整 */
#text-7 .textwidget p {
  margin-left: 9.2%;
}

.w-beforeFooter img {
  margin-top: -12px;
}

@media (max-width: 959px) {
	#text-7 .textwidget p {
	  margin-left: 15%;
	}
}


/* リンクとしての挙動とカーソルを無効化 */
.no-link, 
a.shortcode-menu-card[href=""] {
    pointer-events: none; /* クリックやホバーを一切反応させない */
    cursor: default;
}

/* お問い合わせフォーム */
/* 姓・名、セイ・メイを横並びに */
@media (min-width: 861px) {
.smf-item__controls:has([data-name="sei"]),
.smf-item__controls:has([data-name="furi-sei"]) {
  display: flex;
  gap: 10px;
}

.smf-item__controls:has([data-name="sei"]) .smf-placeholder,
.smf-item__controls:has([data-name="furi-sei"]) .smf-placeholder {
  flex: 1;
}
}

/* 必須マークの装飾（ラベルを右寄せにして赤文字にする場合） */
.smf-item__label__text {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; /* 縦方向の揃えを上端にする */
}

.smf-item__label__text::after {
  content: '必須';
  background-color: #ff4b4b;
  color: #fff;
  font-size: 0.75em;
  padding: 2px 6px;
  border-radius: 3px;
  margin-left: 10px;
  height: 28px;          /* 高さを28pxに固定 */
  line-height: 24px;     /* テキストを縦中央に揃える（28px - 上下padding 2px×2 = 24px） */
  flex-shrink: 0;        /* flexコンテナ内で縮まないようにする */
  box-sizing: border-box; /* paddingを高さに含める */
}

/* 確認画面のみに適用 */
.snow-monkey-form[data-screen="confirm"] .smf-item__label__text::after {
  display: none;
}

.snow-monkey-form[data-screen="confirm"] .smf-item__description {
  display: none;
}

.snow-monkey-form[data-screen="confirm"] .wp-block-paragraph{
	display: none;
}

input::placeholder,
textarea::placeholder {
  color: #ccc;
}

.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number{
	background-color: #13A6AE;
}