@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/



/* common======================= */

@media screen and (min-width: 960px) {
	.wide90{
	position: relative;
	top: 0;
	right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: 90%;
}
	.wide80{
	position: relative;
	top: 0;
	right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: 80%;
  min-width: 950px;
}
	.wide70{
	position: relative;
	top: 0;
	right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: 70%;
		min-width: 1000px;
}
}

@media screen and (max-width: 960px){
	.wide90{
	position: relative;
	top: 0;
	right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: 90%;
}
	.wide80{
	position: relative;
	top: 0;
	right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: 95%;
}
	.wide70{
	position: relative;
	top: 0;
	right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: 95%;
}
}

@media screen and (max-width: 768px) {
  .sp-wide90 {
	position: relative;
	top: 0;
	right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: 90%;
}
	.sp-wide85 {
	position: relative;
	top: 0;
	right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: 85%;
}
	.sp-wide80 {
	position: relative;
	top: 0;
	right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: 80%;
}
}


/* 改行=========================== */

.no-kaigyou {
	white-space: nowrap;
}

.br-sp {
    display: none;
}

@media (max-width: 600px) {
    .br-sp {
        display: block;
    }
}


/* マージン======================= */

.m-left {
	margin-left: auto;
}

.m-right {
	margin-right: auto;
}

.m-center {
	margin: 0 auto;
}

.mt-20 {
	margin-top: 20px;
}
.mt-30 {
	margin-top: 30px;
}
.mt-40 {
	margin-top: 40px;
}
.mt-50 {
	margin-top: 50px;
}

.ml-20 {
	margin-left: 20px;
}


/* テーブル========================= */

.c_table th,
.c_table td{
	padding: 21px;
}


/* テキスト======================== */

.text-level01{
	font-size: clamp(1rem, 1.3vw, 1.4rem);
	line-height: 1.9;
	font-weight: 600;
}
.text-levelBlue {
	font-size: clamp(1.2rem, 2.8vw, 2.8rem);
	font-weight: 700;
	color: var(--color_main)
}

.text-levelBlue2 {
	font-size: clamp(1.2rem, 3.5vw, 3.5rem);
	font-weight: 700;
	color: #fff
}

.text-levelBlue2-box {
	background: linear-gradient(90deg, #27acd9 ,#2c5db6);
	display: inline-block;
	padding-inline: 30px;
	margin-bottom: 30px;
}

.white-text {
	font-size: clamp(1.2rem, 2.8vw, 2.8rem);
	font-weight: 700;
	color: #fff!important;
}

@media (max-width: 786px) {
  .text-level01{
	font-size: clamp(1rem, 1.3vw, 1.4rem);
	line-height: 1.9;
	font-weight: 400;
}
}


/* 見出し=========================== */




/* ボタン========================= */

a.btn_common {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	overflow: hidden;
	text-decoration: none;
	white-space: nowrap;
	height: 3.2rem;
	max-width: 250px;
	padding: 0 4rem;
	border-radius: 100vw;
	background: var(--color_main);
	background-size: 400%;
	color: #fff;
}
a.btn_common:hover::before {
  transform: scaleX(1);
}
a.btn_common:hover {
	color: #fff;
	border: 1px solid #27acd9;
}
a.btn_common span {
  position: relative;
  z-index: 1;
}
a.btn_common::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: 0 50%;
  width: 100%;
  height: inherit;
  border-radius: inherit;
  background: #232323;
  transition: all 0.475s;
}


/* ヘッダーメニュー=============== */

.l-header__inner.l-container,
.l-fixHeader__inner.l-container {
	max-width: 2100px;
}

.c-gnav>.menu-item>a .ttl {
  font-size: 1.05rem;
  letter-spacing: .1rem;   /*文字の間隔*/
  font-weight: bold;
}

.l-header .menu-item-19,
.l-fixHeader .menu-item-19{
	background-color: var(--color_main);
	color: #fff;
}


/* お知らせ========================== */

    .njhk-news-marquee {
        --news-marquee-height: 200px;
        --news-image-width: min(380px, 72vw);
        position: relative;
        width: 100%;
        height: var(--news-marquee-height);
        overflow: hidden;
    }

    .njhk-news-marquee__link {
        position: absolute;
        top: 50%;
        left: 0;
        display: block;
        width: var(--news-image-width);
        transform: translate(-100%, -50%);
        animation: njhk-news-marquee-slide 12s linear infinite;
    }

    .njhk-news-marquee__link:focus-visible {
        outline: 3px solid #1a73e8;
        outline-offset: 4px;
    }

    .njhk-news-marquee__image {
        display: block;
        width: 100%;
        height: auto;
    }

    @keyframes njhk-news-marquee-slide {
        from {
            transform: translate(-100%, -50%);
        }

        to {
            transform: translate(calc(100vw + 100%), -50%);
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .njhk-news-marquee__link {
            position: static;
            transform: none;
            animation: none;
        }

        .njhk-news-marquee {
            display: flex;
            align-items: center;
            height: auto;
        }
    }


/* お知らせ一覧 */

@media (min-width: 600px) {
	.archive.post-type-archive-news .l-content,
	.archive.post-type-archive-etc-news .l-content{
		 padding-top: 0;
	}
}

.page-content-head {
  border-radius: 0 80px 0 0;
	height: 300px;
}

.content-head {
  width: 100vw; 
  height: 300px;
  margin-bottom: 80px;
  overflow: hidden;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.content-head2 {
  width: 100vw; 
  height: 400px;
  margin-bottom: 80px;
  overflow: hidden;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.news-bg {
  background-image: url('http://njhk.co.jp/wp-content/uploads/2026/07/hero-news-1.jpg');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.page-title-wrapper {
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 1400px;
  padding: 0 5%;
  margin: 0 auto;
  color: #fff;
  text-align: left;
  box-sizing: border-box;
}

.page-title {
	font-size: 2rem;
}

@media screen and (max-width:786px){
	.page-content-head,
	.content-head{
  border-radius: 0 50px 0 0;
	height: 200px;
}
	.sec-container {
	padding: 0 30px
}
	.content-head {
  height: 200px;
}
	.content-head2 {
  height: 200px;
}
}

@media screen and (max-width:480px){
	.sec-container {
	padding: 0 10px;
}
}

/* リスト */
.newsList {
  display: flex;
  flex-flow: row wrap;
  list-style: none;
  border-top: 1px dotted #999;
  align-items: flex-start; 
}

ul.newsList {
  padding: 2rem 0;
	width: 100%;
	margin: 0 auto;
}

ul.newsList li {
  margin: 0 10px;
}

.news_date {
  min-width: 100px;
  font-weight: bold;
}

.news_text {
  flex: 1; 
}

.news_text p{
	font-size: 1rem;
	line-height: 1.5;
	letter-spacing: none;
}

.scroll {
  overflow: auto;
  height: 100%;
  max-height: 400px;
  width: 100%;
	background: #f7f7f7;
	padding: 1rem;

  /* Firefox */
  scrollbar-width: thin;
  scrollbar-color: #ccc #f1f1f1;
}

/* WebKit */
.scroll::-webkit-scrollbar {
  width: 10px;
}
.scroll::-webkit-scrollbar-track {
  background: #1e232b;
}
.scroll::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 5px;
}
.scroll::-webkit-scrollbar-thumb:hover {
  background: #555;
}

@media screen and (max-width: 768px) {
	.top-news-wrapper {
		width: 93%;
		margin: 0 auto;
	}
  .newsList {
    flex-direction: column;
  }
	.news_text p{
    margin-top: 0.8em;
  }
	.scroll {
  max-height: 450px;
		background-color: #f7f7f7;
}
}

/*news詳細ページ*/
.l-topTitleArea__body {
	display: none;
}

.news-box{
	max-width: 1200px;
	margin: 20px 0;
}

.news_title {
  margin: 0 0 16px;
  font-size: clamp(1.2rem, 1.7vw, 1.5rem);
  font-weight: 700;
  line-height: 1.4;
}

.news_date {
  margin: 0 0 40px;
  color: #666;
  font-size: 14px;
  line-height: 1;
}

.text_main p{
	margin-bottom: 1.5em;
}

.text_main{
	margin-top: 40px;
	margin-bottom: 30px;
}
@media screen and (max-width: 480px){
  .text_box{
    font-size: 17px;
  }
}

.flex_news_img {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: row; 
  flex-wrap: wrap; 
  justify-content: space-between;
  gap: 10px 4px; 
  margin-top: 60px;
}

.flex_news_img::after {
  content: "";
  display: block;
  width: 32%;
}

.news_img {
  width: 32.5%;
  position: relative;
  overflow: hidden; 
}

.news_img::before {
  content: "";
  display: block;
  padding-top: 66.66%; 
}

.news_img img {
  position: absolute; 
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); 
  width: 100%;
  height: 100%;
  object-fit: cover; 
}

@media screen and (max-width: 768px) { /* タブレット以下 */
  .news_img {
    width: 48%; /* 2カラム */
  }
}

@media screen and (max-width: 480px) { /* スマホ以下 */
  .flex_news_img {
    gap: 10px; /* スマホでの隙間調整 */
  }
}


/* メインビジュアル===================== */
.p-mainVisual__inner {
	position: relative;
	padding: 0 3% 0;
	z-index: 2;
}

/* .p-mainVisual::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 100vw;
	height: 27vw;
	min-height: 300px;
	background-image: url('http://test1805.ys-net.jp/wp-content/uploads/2026/06/bg_texture_noize.jpg');
	z-index: 1;
} */

.main-text-box {
	position: relative;
	top: 150px;
/* 	left: clamp(50px, 10vw, 700px); */
	left: 0;
}

.main-text-box2 {
	position: relative;
	top: -130px;
	/* 	left: clamp(50px, 10vw, 700px); */
	left: 0;
}

/* キャッチコビー */
.main-text {
	font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
	font-size: clamp(2rem, 3.5vw, 3.5rem);
	font-weight: 600;
	letter-spacing: .2rem;
	color: #fff!important;
}

.sub-text {
	font-size: clamp(2rem, 3.5vw, 3.5rem);
	font-weight: 600;
	color: #fff;
}

.main-text-en {
	font-size: clamp(2rem, 2.2vw, 2rem);
	font-weight: 600;
	color: #fff;
	padding-left: 20px;
}

.has-white-background-color {
	background-color: rgba(12, 70, 114, 0.8)!important;
	color: #fff;
}

.font01 {
	font-family: "Zen Old Mincho", serif;
}


@media screen and (max-width: 768px) { 
  .main-text-box {
	position: relative;
	top: 150px;
	left: clamp(50px, 10vw, 700px);
}
	.main-text-box2 {
	position: relative;
	top: -130px;
		left: 50px;
}
}

@media screen and (max-width: 480px) { 
	.main-text {
	font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: .2rem;
	color: #fff!important;
}
  .main-text-box {
	position: relative;
	top: 80px;
	left: 40px;
}
	.main-text-box2 {
	position: relative;
	top: -90px;
		left: 40px;
}
}

/* トップページ============== */

/* 画像アニメーション */
/* 共通：アニメーション用 */
.img-wrap {
  position: relative;
  overflow: hidden;
	width: 100%;
  height: auto;
}
.img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* 黒幕アニメーション */
.img-wrap::before {
  animation: img-wrap 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #f4f4f4;
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
  animation-play-state: paused;
}

.img-wrap.is-show::before {
  animation-play-state: running;
}

@keyframes img-wrap {
  100% { transform: translateX(100%); }
}

.top-about-outer {
	border-radius: 0 0 50px 50px;
}

/* ポップアップ */
.hover-image {
  position: relative;
  display: inline-block;
}

/* 元画像 */
.hover-image__main {
  display: block;
  width: 100%;
  height: auto;
  opacity: 1;
  transition: opacity 0.4s ease;
}

/* ポップアップ画像 */
.hover-image__popup {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  width: clamp(300px, 30vw, 600px);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translate(-50%, -50%) scale(0.9);
  transition:
    opacity 0.4s ease,
    transform 0.4s ease,
    visibility 0.4s ease;
}

.hover-image__popup img {
  display: block;
  width: 100%;
  height: auto;
}

/* ホバー時：元画像を薄く */
.hover-image:hover .hover-image__main {
  opacity: 0.3;
}

/* ホバー時：中央にふわっと表示 */
.hover-image:hover .hover-image__popup {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}


/* 採用情報========================= */

.recruit-sec1-item {
	height: 100%;
	position: relative;
	padding: 2.5rem 2rem;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.15);
}

.recruit-sec1-item h3{
	font-size: clamp(1rem, 1.5vw, 1.5rem);
}

.post_content .recruit-sec1-item h3 {
    margin: 0em 0 10px;
}


/* お問い合わせフォーム ====================== */

/* 基本設定 */
.section--contact .section__content,
.form--contact {
  width: 100%;
}

.form--contact,
.form--contact * {
  box-sizing: border-box;
}

/* 入力項目一覧 */
.form--contact .form__list {
  width: 100%;
  border-top: 1px solid #dedede;
}

/* 各入力行 */
.form--contact .form__row {
  display: grid;
  grid-template-columns: minmax(220px, 290px) minmax(0, 1fr);
  column-gap: 55px;
  align-items: center;

  width: 100%;
  margin: 0;
  padding: 15px 0;

  border-bottom: 1px solid #dedede;
}

/* テキストエリア行 */
.form--contact .form__row--textarea {
  align-items: start;
}

/* 左側 */
.form--contact .form__head {
  min-width: 0;
}

/* 項目名 */
.form--contact .form__label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;

  width: 100%;
  min-height: 64px;
  margin: 0;

  color: #222;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
}

/* テキストエリアの項目名 */
.form--contact .form__row--textarea .form__label {
  align-items: flex-start;
  padding-top: 16px;
}

/* 必須表示 */
.form--contact .form__label.is-required::after {
  content: "必須";

  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;

  min-width: 38px;
  padding: 3px 5px;

  color: #c62828;
  background-color: #fff;
  border: 1px solid #c62828;
  border-radius: 0;

  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

/* 右側 */
.form--contact .form__field {
  width: 100%;
  min-width: 0;
}

/* 入力欄の最大幅 */
.form--contact .form__field--wide {
  max-width: 730px;
}

.form--contact .form__field--name {
  max-width: 620px;
}

.form--contact .form__field--medium {
  max-width: 370px;
}

.form--contact .form__field--short {
  max-width: 250px;
}

.form--contact .form__field--message {
  max-width: 820px;
}

/* CF7が生成するラッパー */
.form--contact .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

/* 入力欄内の不要な改行のみ非表示 */
.form--contact .form__field > br,
.form--contact .item-box > br {
  display: none;
}

/* 入力欄 */
.form--contact .form__control {
  display: block;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 12px 18px;

  color: #333;
  background-color: #f7f7f7;
  border: 1px solid #dedede;
  border-radius: 0;

  font: inherit;
  font-size: 16px;
  line-height: 1.6;

  appearance: none;
  -webkit-appearance: none;

  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

/* プレースホルダー */
.form--contact .form__control::placeholder {
  color: #aaa;
  opacity: 1;
}

/* フォーカス時 */
.form--contact .form__control:focus {
  outline: none;
  background-color: #fff;
  border-color: #777;
  box-shadow: 0 0 0 1px #777;
}

.form--contact .form__control:focus-visible {
  outline: 2px solid #777;
  outline-offset: 2px;
}

/* お名前・ふりがな */
.form--contact .form__name-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
}

.form--contact .item-box {
  min-width: 0;
}

/* 姓・名・せい・めい */
.form--contact .item-box > label {
  display: block;
  margin: 0 0 7px;

  color: #333;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}

/* 姓・名の入力欄 */
.form--contact .form__name-grid .form__control {
  min-height: 44px;
}

/* テキストエリア */
.form--contact textarea.form__control {
  min-height: 220px;
  padding-top: 16px;
  resize: vertical;
}

/* 入力エラー */
.form--contact .form__control.wpcf7-not-valid {
  border-color: #b91c1c;
  background-color: #fffafa;
}

/* エラーメッセージ */
.form--contact .wpcf7-not-valid-tip,
.form--contact .email-error,
.form--contact .zip-error-tip {
  display: block;
  margin-top: 7px;

  color: #b91c1c;
  font-size: 13px;
  line-height: 1.5;
}

/* 個人情報保護方針 */

.form--contact .contact-scroll {
  width: 100%;
  height: 250px;
  margin: 35px 0 20px;
  padding: 20px;
  overflow: auto;
  color: #333;
  background-color: #fff;
  border: 1px solid #d8d8d8;
  border-radius: 0;

  font-size: 14px;
  line-height: 1.8;

  scrollbar-width: thin;
  scrollbar-color: #c0c0c0 #eee;
}

/* WebKit系スクロールバー */
.form--contact .contact-scroll::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.form--contact .contact-scroll::-webkit-scrollbar-track {
  background-color: #eee;
}

.form--contact .contact-scroll::-webkit-scrollbar-thumb {
  background-color: #c0c0c0;
}

.form--contact .contact-scroll::-webkit-scrollbar-thumb:hover {
  background-color: #999;
}

/* プライバシーポリシー見出し */
.form--contact .privacy-title {
  margin: 0 0 15px !important;
  color: #fff;
  border-bottom: 1px solid #d9d9d9;

  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}

.form--contact h3.privacy-title {
  font-size: 16px;
	color: #222;
}

/* 各項目 */
.form--contact .contact-privacy-item {
  margin-bottom: 35px;
}

.form--contact .contact-privacy-item:last-child {
  margin-bottom: 0;
}

/* 段落 */
.form--contact .contact-privacy p {
  margin: 0 0 1em;
}

/* リスト */
.form--contact .contact-privacy ul {
  margin: 0 0 1em;
  padding-left: 1.5em;
  list-style: disc;
}

.form--contact .contact-privacy ol {
  margin: 0 0 1em;
  padding-left: 1.5em;
  list-style: decimal;
}

.form--contact .contact-privacy li {
  margin-bottom: 5px;
}

/* 同意欄 */

.form--contact .form__agree {
  margin: 25px 0 0;
  text-align: center;
}

.form--contact .form__agree .wpcf7-form-control-wrap {
  display: inline-block;
  width: auto;
}

.form--contact .form__agree .wpcf7-list-item {
  margin: 0;
}

.form--contact .form__agree label {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  color: #333;
  font-size: 15px;
  line-height: 1.6;
  cursor: pointer;
}

.form--contact .form__agree input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0;

  accent-color: #232323;
  cursor: pointer;
}

/* 送信ボタン */

.form--contact .form__actions {
  position: relative;
  margin-top: 25px;
  text-align: center;
}

.form--contact .wpcf7-submit.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 220px;
  min-height: 58px;
  margin: 0;
  padding: 12px 30px;

  color: #fff;
  background-color: #232323;
  border: 1px solid #232323;
  border-radius: 50px;

  font: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;

  appearance: none;
  -webkit-appearance: none;

  cursor: pointer;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    opacity 0.3s ease,
    transform 0.2s ease;
}

.form--contact .wpcf7-submit.btn:hover {
  color: #232323;
  background-color: #fff;
}

.form--contact .wpcf7-submit.btn:active {
  transform: translateY(1px);
}

/* 送信中 */
.form--contact .wpcf7-submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* CF7のローディングアイコン */
.form--contact .wpcf7-spinner {
  margin: 10px 0 0 10px;
  vertical-align: middle;
}

/* CF7送信結果メッセージ */

.wpcf7 form .wpcf7-response-output {
  margin: 25px 0 0;
  padding: 12px 16px;

  border-radius: 0;

  font-size: 14px;
  line-height: 1.6;
}

.wpcf7 form.sent .wpcf7-response-output {
  color: #14532d;
  background-color: #ecfdf5;
  border: 1px solid #22c55e;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
  color: #7f1d1d;
  background-color: #fef2f2;
  border: 1px solid #ef4444;
}

/* タブレット・スマートフォン */

@media (max-width: 859px) {

  .form--contact .form__row {
    grid-template-columns: 1fr;
    row-gap: 10px;

    padding: 20px 0;
  }

  .form--contact .form__label,
  .form--contact .form__row--textarea .form__label {
    justify-content: flex-start;
    min-height: auto;
    padding-top: 0;

    font-size: 16px;
  }

  .form--contact .form__label.is-required::after {
    margin-left: 10px;
  }

  .form--contact .form__field--wide,
  .form--contact .form__field--name,
  .form--contact .form__field--medium,
  .form--contact .form__field--short,
  .form--contact .form__field--message {
    max-width: none;
  }

  .form--contact .form__control {
    min-height: 54px;
    font-size: 16px;
  }

  .form--contact textarea.form__control {
    min-height: 230px;
  }

  .form--contact .form__pc-br {
    display: none;
  }
}

/* 小さいスマートフォン */
@media (max-width: 560px) {

  .form--contact .form__name-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .form--contact .form__row {
    padding: 18px 0;
  }

  .form--contact .contact-scroll {
    height: 230px;
    padding: 15px;
  }

  .form--contact .form__agree {
    text-align: left;
  }

  .form--contact .form__agree label {
    align-items: flex-start;
    font-size: 14px;
  }

  .form--contact .form__agree input[type="checkbox"] {
    margin-top: 2px;
  }

  .form--contact .wpcf7-submit.btn {
    width: 100%;
    max-width: 280px;
  }
}

/* お問い合わせCTA========================== */

.contact-banner {
  position: relative;
  width: 100%;
  padding-top: 120px; 
}

/* 背景画像 */
.contact-banner__bg {
  height: clamp(220px, 26vw, 360px);
  background-image: url("http://njhk.co.jp/wp-content/uploads/2026/08/hero-contact.jpg");
  background-size: cover;
  background-position: center 85%;
}

/* カードを背景上に重ねる */
.contact-banner__inner {
  position: absolute;
  left: 50%;
  top: 30px;                 /* ← 重なり量 */
  transform: translateX(-50%);
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 0 32px;
  z-index: 2;
}

/* Card */
.contact-banner__card {
  width: min(1100px, calc(100% - 10px));
  background: #fff; 
  border-radius: 6px;
  padding: 50px 20px;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
  text-align: center;
}

/* CONTACT */
.contact-banner__eyebrow {
  margin: 0 0 20px;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  font-weight: 800;
  color: #232323;
}

/* キャッチ */
.contact-banner__lead {
  margin: 0 0 22px;
  font-size: clamp(14px, 1.6vw, 20px);
  font-weight: 800;
  color: #2b3a44;
}

/* 外側：中央寄せ */
.contact-banner__actions {
  display: flex;
  justify-content: center; 
  align-items: center;
}

.contact-banner__actions-inner {
  display: flex;
  align-items: center;
  gap: 44px;
  width: fit-content;
  margin: 0 auto;
}

.contact-banner__divider {
  width: 1px;
  height: 54px;
  background: rgba(43, 58, 68, 0.22);
}

/* 電話（左） */
.contact-banner__tel {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  color: #232323;
  font-weight: 900;
  white-space: nowrap; 
}

.contact-banner__tel i {
  font-size: 22px;
  transform: translateY(1px);
}

.contact-banner__tel-number {
  font-size: clamp(1.2rem, 2.2vw, 2rem);
  letter-spacing: 0.04em;
  line-height: 1;
  white-space: nowrap;
}

/* ボタン（右） */
.contact-banner__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-width: clamp(260px, 26vw, 320px);
  min-height: 86px; 
  padding: 0 36px;
  background: var(--color_main);
  color: #fff;
  text-decoration: none;
  font-weight: 900;
  font-size: 22px;
  border-radius: 8px;
  box-shadow: 0 14px 24px rgba(75, 121, 189, 0.22);
  transition: transform 0.3s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.contact-banner__btn i {
  font-size: 22px;
}

.contact-banner__btn:hover {
  background: #232323;
  transform: translateY(-1px);
  box-shadow: 0 18px 30px rgba(75, 121, 189, 0.28);
}

@media (max-width: 786px) {
	
	.contact-banner__card {
    padding: 22px 22px 20px;
  }

  .contact-banner__actions-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    width: 100%;
  }

  .contact-banner__divider {
    display: none;
  }

  .contact-banner__tel {
    justify-content: center;
  }
	
	.contact-banner__tel i {
  font-size: 20px;
}

  .contact-banner__btn {
    width: 100%;
    min-width: 0;
    min-height: 62px;
		margin-top: 20px;
    font-size: 15px;
  }

  .contact-banner__tel-number {
    font-size: 18px;
  }
}

/* フッター======================= */



.l-footer__widgetArea {
	padding: 50px 0 50px 0;
}

@media (min-width: 960px) {
	.w-footer__box {
		align-self: flex-end;
	}
}

@media not all and (min-width: 960px) {
    .w-footer__box + .w-footer__box {
        margin-top: 0;
    }
}
	@media not all and (min-width: 960px) {
    .w-footer__box {
        padding: 0 0px;
    }
}
	
@media screen and (max-width:768px){
	#nav_menu-4 {
	display: none;
}
	#nav_menu-3 {
	display: none;
}
	#custom_html-5 {
		margin-top: 30px;
	}
}


/*ぱんクズリスト非表示*/
#breadcrumb {
 display: none;
}

/*reCAPTCHA全面表示*/
.grecaptcha-badge {
	z-index: 1; 
}

/* 「トップへ戻るボタン」の位置調整 */ 
.p-fixBtnWrap { 
	bottom: 85px;
	right: 10px
}