@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template: cocoon-master
Version: 1.1.3
*/

/* ==========================================================================
   基本設定
   ========================================================================== */

body {
    background-color: #fff;
font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif !important;
	
}

.site-name-text {
    display: none;
}

/* ==========================================================================
   レイアウト・コンテナ
   ========================================================================== */

.wrap {
    width: 100%;
    margin: 0 auto;
}

.home .container {
    background: transparent url(images/bg-main.jpg) center top no-repeat !important;
}

#content {
    margin-top: -5px;
    margin-bottom: 0;
}

#content-in {
    margin: 0 auto;
}

#content::after {
    display: none;
}

/* 固定ﾍﾟｰｼﾞ */
.page:not(.home) #main{
	width:1100px;
	margin:0 auto;
	padding: 10px 29px 0 29px
}


#main {
    padding: 0;
    margin-bottom: 0;
    border: none;
}

.entry-content {
    margin-top: -27px;
    margin-bottom: 0;
}

/* ページ設定 */
.page .sns-follow,
.page .author-info {
    display: none;
}

/* ==========================================================================
   ヘッダー
   ========================================================================== */
#header {
    background-color: #ffffff;
    margin: 0 auto;
    width: 100%;        /* 固定幅から100%に変更 */
    max-width: 1200px;  /* 最大幅を制限（オプション） */
    margin: 0 auto;
    height: 120px;
}

.header-container {
    padding-bottom: 15px;
    margin: 0 auto;
    background-color: transparent !important;
    position: relative;
	height:150px;
}
.header-container-in {
    background-color: #ffffff !important;
width: 100%; /* 全幅を確保 */
}

.logo {
    position: absolute;
    top: 20px;
    left: 0;	
}

.breadcrumb{margin:0.5em 0.4em 1.2em 0.4em;}

@media screen and (max-width: 640px) {
.breadcrumb{margin:1.2em 0.4em;padding-top:30px;}
}

/* 固定ヘッダー */
.fixed-header {
    height: 85px;
    background-color: #ffffff !important;
    width: 100% !important;
}

.fixed-header #menu-h-menu li {
    width: 120px;
}

.header-container-in.hlt-top-menur {
    position: relative;
}

.fixed-header #nav {
    background-color: #ffffff;
    padding-bottom: 0 !important;
}

.fixed-header #navi .navi-in {
    position: absolute;
    right: 0;
    top: 75px;
}

.fixed-header .logo {
    position: absolute;
    top: 0px;
    left: 0;


}
.fixed-header .header-container-in.hlt-top-menu.hlt-tm-small .logo-header img{max-height:70px;}


.fixed-header .cl-slim .logo-header img {
    max-height: 60px;
}

.fixed-header #menu-h-menu .navi-in a {
    color: #012351;
    background-color: transparent;
}

.fixed-header #menu-h-menu {
}

.fixed-header #menu-h-menu li a:hover {
    opacity: 0.6;
}


.fixed-header .h-submenu {
    display: none;
}

.fixed-header .h-submenu img.pc-img {
    max-width: 95%;
}

.header-container-in.hlt-top-menu .h-submenu li {
    padding-top: 10px;
}

.header-container-in.hlt-top-menu .navi-in .item-label {
    font-size: 11px;
    color: #141414;
}

/* ==========================================================================
   ナビゲーション・メニュー
   ========================================================================== */
.header-container-in .navi-in {
    position: absolute;
    right: 0px;
    top: 75px;
	width:100%!important;
	border-top:1px solid #e7e7e7;
}

.header-container-in.hlt-top-menu .navi-in .item-label {
    font-size: 1em !important;
    text-align: center;
}


#menu-h-menu {

}

#menu-h-menu li {
       width: 120px;
    text-align: center;
    line-height: 1.5 !important;
    padding: 10px 15px; /* パディングを調整 */
    height: auto; /* 高さを自動に */
}

#menu-h-menu li a {
    color: #333333 !important; /* 文字色を濃いグレーに */
    background-color: transparent;
    font-weight: 500;
    text-decoration: none;
    border-bottom: 2px solid transparent; /* 透明なボーダーを設定 */
    transition: border-bottom-color 0.3s ease; /* アニメーション効果 */
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif !important; /* 明朝体フォントを追加 */
}

#menu-h-menu li a:hover {
    color: #333333 !important; /* 文字色は変更せず */
    border-bottom-color: #21345c !important; /* ホバー時に青色アンダーライン */
}

.sub-caption {
    color: #00a051;
}

/* 特定メニューアイテム */
#menu-h-menu li#menu-item-9 {
    width: 190px !important;
}
#menu-h-menu li#menu-item-7 {
    width: 130px !important;
}

.m-tel a:hover {
    opacity: 0.6;
}

/* サブメニュー */
.top-menu-bar {
    position: absolute;
    top: 10px;
    right: 15px;
    z-index: 99;
}

.fixed-header .top-menu-bar {
    position: absolute;
    top: 10px;
    right: 15px;
}

.top-menu-bar li {
    display: inline-block;
	margin-left:10px;
}


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

#footer {
    padding-top: 0 !important;
    margin-top: 0;
}

/* ==========================================================================
   メインコンテンツ
   ========================================================================== */

.wp-block-cover {
    min-height: 560px;
    margin-bottom: 0 !important;
}

/* ==========================================================================
   タイトル・見出し
   ========================================================================== */

.article section h2 {
    background-color: transparent;
    text-align: center;
    font-size: 1.8em;
}

/* 固定ページのみ適用（投稿に影響させない） */
body.page .entry-title{
  /* タイポ */
  font-family: "Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;
  color:#3d4e71;                /* 会社概要の色 */
  font-weight: 700;
  letter-spacing:.04em;
  line-height:1.35;
  font-size: clamp(22px, 4vw, 36px); /* レスポンシブ */
  text-align:center;
margin:30px auto 80px; /* 下に余白 */
  position: relative;
  display: block;
  padding-bottom: 18px;          /* 下線のスペース */
}

/* 下の短いライン（画像のゴールド） */
body.page .entry-title::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width: clamp(36px, 8vw, 56px); /* 画面幅でほどよく伸縮 */
  height: 3px;
  background:#cfaf4d;           /* ライン色 */
  border-radius: 2px;
}

/* 英字サブ（company） */
body.page .entry-title > span{
  display:block;                 /* 改行して下に表示 */
  color:#636466;
  font-weight: 500;
  font-size: clamp(12px, 1.6vw, 14px);
  letter-spacing:.12em;
  margin-top: .35em;
  text-transform: none;          /* 指定どおり小文字のまま */
}

/* Cocoon由来の余計なボーダーや装飾がある場合の保険 */
body.page .entry-title,
body.page .entry-title::before{
  border: none !important;
  box-shadow: none !important;
}

.article h2 {
    padding: 0 !important;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}


.article section h2.section-title {
  position: relative;
  font-size: clamp(18px, 2.8vw, 24px);
  font-weight: 700;
  color: #3d4e71;              /* h1と同じメインカラー */
  margin: 2em 0 1em;
  padding-left: 30px!important;          /* 左に余白を作ってライン */
  line-height: 1.4;
  letter-spacing: 0.05em;
	text-align:left;
}

.article section h2.section-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 1.4em;
  background-color: #cfaf4d;   /* ゴールドライン */
  border-radius: 2px;
}


.article h2.ti02 {
  font-size: 36px;
  color: #fff; /* 白文字。背景に合わせて変更OK */
  text-align: center;
  position: relative;
  margin-bottom: 40px;
}

.article h2.ti02::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 2px;
  background-color: #c3a44a; /* ゴールド系の下線 */
}


.article h3.ti03 {
background: #f9f9f9; border-width: 0px; padding: 15px; border-left: 3px solid #cfaf4d; }
}

.article h4 {
    border-top: none;
    border-bottom: none;
}

/* ==========================================================================
   共通スタイル
   ========================================================================== */

section {
    margin-bottom: 0 !important;
}

/* 更新日を非表示 */
.page .post-update {
    display: none;
}

.entry-card-meta,
.related-entry-card-meta {
    padding-bottom: 10px;
}

/* 画像配置 */
img.aligncenter {
    display: block;
    margin: 5px auto 30px auto;
    text-align: center;
}

img.alignright {
    margin: 5px 0 30px 30px;
}

img.alignleft {
    margin: 5px 30px 30px 0;
}

img a:hover {
    opacity: 0.5;
}

/* レスポンシブ改行 */
.sp_br {
    display: none;
}

@media screen and (max-width: 640px) {
    .sp_br {
        display: block;
    }
}

.alignright {
    float: right;
}

.alignleft {
    float: left;
}

/* デバイス別画像表示 */
.pc-img {
    display: inline !important;
}

.tab-img {
    display: none !important;
}

.tab-smt {
    display: none !important;
}

.smt-img {
    display: none !important;
}

/* ==========================================================================
   余白・パディング設定
   ========================================================================== */

.mt10 { margin-top: 10px; }
.mt30 { margin-top: 30px; }
.mt50 { margin-top: 50px; }

.mb0 { margin-bottom: 0px !important; }
.mb15 { margin-bottom: 15px; }
.mb30 { margin-bottom: 30px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb100 { margin-bottom: 100px !important; }

.mr0 { margin-right: 0 !important; }
.mr10 { margin-right: 10px !important; }
.mr40 { margin-right: 40px !important; }

.ml80 { margin-left: 80px !important; }

.pb10 { padding-bottom: 10px; }
.pt10 { padding-top: 10px; }
.pt100 { padding-top: 100px; }

/* ==========================================================================
   フォント設定
   ========================================================================== */

.fss { font-size: 60%; }
.fs { font-size: 80%; }
.fm { font-size: 120%; }
.fl { font-size: 140%; }
.fll { font-size: 180%; }
.fbig { font-size: 250%; }

.bold { font-weight: bold; }
.uline { text-decoration: underline; }
.line { 
    border-bottom: 1px solid #a2a2a2; 
    padding-bottom: 7px; 
}

.marker-y {
    background: linear-gradient(transparent 50%, #fbf6ac 50%);
}
.marker {
  --mark-color: #fbf6ac;            /* マーカー色 */
  background: linear-gradient(transparent 60%, var(--mark-color) 0) no-repeat;
  -webkit-box-decoration-break: clone; /* Safari 対応 */
          box-decoration-break: clone; /* 改行ごとに背景を複製 */
  padding: 0 .12em;                  /* 文字の左右に少し余白（お好みで） */
}

strong{ font-weight:bold; color:#c3a44a;}

/* カラー設定 */
.black { color: #000000; }
.red { color: #e02051; }
.pink { color: #df4c81; }
.white { color: #ffffff; }
.gray { color: #aeaeae; }
.green { color: #5ab54c; }
.yellow { color: #fbf17c; }
.blue { color: #3d4e71; }
.orange { color: #e88502; }

.line-pink { border-bottom: 2px #e87e8a solid; }
.boxglay { 
    padding: 10px; 
    background-color: #e2e2e2; 
}

.mincho {
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}

/* テキスト配置 */
.center { text-align: center !important; }
.right { text-align: right !important; }
.left { text-align: left !important; }

.text01 { line-height: 1.4; }

.br-sp { display: none; }

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

/*デフォルトリンク*/
a {
  color: #21345c;
	text-decoration:none;
}
a:hover {
  color: #4d4a4a;
	text-decoration:underline;

}


/* ==========================================================================
   table
   ========================================================================== */
/* 表全体 */
.simple-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background: none; /* 背景なし */
}

/* セル */
.simple-table th,
.simple-table td {
  text-align: left;
  padding: 14px 12px;
  border-bottom: 1px solid #ddd;
  vertical-align: top;
background-color:white;
}

/* ラベル列 */
.simple-table th {
  width: 28%;
  font-weight: 600;
  color: #222;
  white-space: nowrap;
}

/* 偶数行だけ淡色 */
.simple-table tr:nth-child(even) th,
.simple-table tr:nth-child(even) td {
  background: #f9f9f9;
}

/* 最終行の下線を消したい場合（任意） */
/*
.simple-table tr:last-child th,
.simple-table tr:last-child td {
  border-bottom: none;
}
*/

/* ===== スマホ対応 ===== */
@media (max-width: 640px) {
  .simple-table,
  .simple-table tbody,
  .simple-table tr,
  .simple-table th,
  .simple-table td {
    display: block;
    width: 100%;
  }
  .simple-table th {
    border-bottom: none;
    padding: 12px 10px 10px;
    background: none !important;
    font-weight: 700;
  }
  .simple-table td {
    padding: 10px 10px 14px;
    border-bottom: 1px solid #ddd;
    background: none !important;
  }
  /* スマホでは偶数行の背景を無効化する場合 */
  .simple-table tr:nth-child(even) th,
  .simple-table tr:nth-child(even) td {
    background: none;
  }
}


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

.button01 {
    margin-top: 50px;
    margin-bottom: 0;
    text-align: center;
}

.button01 a {
    display: block;
    margin: 0 auto;
    padding: 1em 2em;
    width: 70% !important;
    color: #ffffff;
    font-size: 1.4em;
    font-weight: 700;
    background: #38c1f1 url(images/icon-contact.png) left 5% center no-repeat;
    text-decoration: none;
}

.button01 a:hover {
    background-color: #bbbbbb;
}

/* ==========================================================================
   リスト
   ========================================================================== */

ul {
    padding-left: 0px !important;
    margin-bottom: 0 !important;
}

.listNomal {
    padding-left: 0 !important;
}

.listNomal li {
    list-style: none !important;
}

.article dd {
    margin-left: 0px;
}

/* 円形リスト */
.listcircle {
    padding-left: 0px !important;
    margin-bottom: 30px !important;
}

.listcircle li {
    position: relative;
    padding-left: 30px;
    list-style: none;
    font-size: 1em;
}

.listcircle li:before {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 15px;
    height: 15px;
    background-color: #318496;
    border-radius: 50%;
}

/* アイコンリスト */
.listIcon {
    padding-left: 0 !important;
    padding-bottom: 17px;
}

.listIcon li {
    padding: 15px 0 15px 40px;
    line-height: 1.2em;
    background: url(images/icon-chk.png) left 0px top 50% no-repeat;
    margin: 0 0 10px 0;
    font-weight: bold;
    font-size: 1em;
    list-style: none;
}

/* 番号付きリスト */
ol.listNumber {
    padding: 0;
    counter-reset: cp_clist;
    list-style-type: none;
}

ol.listNumber li {
    position: relative;
    margin: 0 0 10px 30px;
    font-size: 0.95em;
}

ol.listNumber li::before {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    counter-increment: cp_clist;
    content: counter(cp_clist);
    background: #bae8ff;
    color: #000;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    margin-top: 2px;
    margin-left: -40px;
    margin-bottom: 10px;
}

/* インラインリスト */
ul.listinline {
    text-align: left;
}

ul.listinline li {
    display: inline-block;
    margin-right: 20px;
}

ul.listinline li.last {
    margin-right: 0px;
}

/* ==========================================================================
   Box
   ========================================================================== */
.box01{
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #5d627b;
    background: white;
    border-top: solid 5px #3d4e71;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}
.box01 p {
    margin: 0; 
    padding: 0;
}

/* ==========================================================================
   埋め込みコンテンツ
   ========================================================================== */

/* Google Maps */
.ggmap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* YouTube レスポンシブ */
.youtube iframe {
    width: 100%;
    height: 100%;
}

.video-container {
    max-width: 100%;
    margin: 30px 0;
}

/* ==========================================================================
   アイキャッチ
   ========================================================================== */

.page .eye-catch-wrap {
    display: none;
}

.eye-catch-wrap {
    display: block;
}

/* ==========================================================================
   Clearfix
   ========================================================================== */

.clearfix:after,
.clearfix:before {
    content: "";
    display: block;
    clear: both;
}

.clearfix {
    display: block;
}

/************************************
** アンカーリンクメニュー
************************************/
.anchor_list {
    display: flex;
    flex-wrap: wrap;          /* ← 2段に折り返し */
    width: 100%;
    margin: 40px auto;
}

.anchor_item a { 
    color: #1a1a1a;
    cursor: pointer;
    text-decoration: none;
    font-size: 0.8em;
}

.anchor_list .anchor_item {
    width: calc(100% / 3);    /* ← 3分割 */
    box-sizing: border-box;
    box-shadow: none !important;
    text-align: center;
    margin: 10px 0;
    line-height: 1.5;
    position: relative;
    display: inline-block;
}

/* 枠線（調整する場合は必要に応じて） */
.anchor_list .anchor_item:nth-child(3n+1),
.anchor_list .anchor_item:nth-child(3n+2),
.anchor_list .anchor_item:nth-child(3n) {
    border-width: 0 1px 0 0;
    border-style: solid;
    border-color: #D1D1D1;
}
.anchor_list .anchor_item:nth-child(3n) {
    border-right: none; /* 右端は線なし */
}

.anchor_list .anchor_item:after {
    content: "";
    width: 6px;
    height: 6px;
    border-top: solid 2px #2f61b0;
    border-right: solid 2px #2f61b0;
    transform: rotate(135deg);
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -4px;
}

.anchor_list .anchor_item .anchor {
    font-weight: 700;
    display: block;
}

/* ✅ PC幅でも3列2段を維持するので nowrap は削除 */
@media screen and (min-width: 1024px) {
  .anchor_list {
      flex-wrap: wrap;        /* ← nowrap を wrap に */
      width: 1000px;
      margin: 80px auto 50px auto !important;
  }
  .anchor_list .anchor_item {
      width: calc(100% / 3);
      text-align: left;
      padding-left: 23px;
  }
}

/* SPは1列表示 */
@media screen and (max-width: 640px){
  .anchor_list .anchor_item{ width:100%; }
}

/* ==========================================================================
   固定ページ
   ========================================================================== */
/* 固定ページ内にある投稿日（.date-tags）を非表示にする */
.date-tags{ display:none;}

.page .inner {
    width: 1200px;
    margin: 0 auto;
}

/* TOPページ */
.home .content-in.wrap {
    width: 100% !important;
}

.page p {
    margin-bottom: 0.8em;
}

.home section {
    padding-top: 50px;
    padding-bottom: 50px;
    font-size: 1em;
}

.home #main-image p {
    margin: 0 auto;
    padding-top: 30px;
    width: 710px;
}

#home #content {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
}

/* トップページはタイトル非表示とする */
.home .entry-title { display: none!important;}
.home .entry-content{ margin-top:0!important;}

/*  sec02　*/
.sec02{
width: 100%;
background:#21345c url('images/bg-sec02.jpg') center top no-repeat;
padding-top:450px!important;
}
.sec02 p{ text-align:center; color:#ffffff;}


/*  sec03　*/
.sec03{
width: 100%;
background:#0e090d url('images/bg-sec03.jpg') center top no-repeat;
}
/*  スライダー　*/
/* 🔘 非アクティブな● */
.flex-control-nav li a {
  width: 12px;
  height: 12px;
  background-color: white!important;          /* 中央白 */
  border: 2px solid #b79b49;        /* ゴールドの枠 */
  border-radius: 50%;               /* 丸くする */
  display: block;
  opacity: 1;
  transition: all 0.3s ease;
}

/* ● アクティブな●（今表示中のスライド） */
.flex-control-nav li a.flex-active {
  background-color: #b79b49!important;        /* 中央もゴールドで塗りつぶす */
  border: 5px solid #b79b49!important;
}
.flex-pauseplay{display:none;}


/*  sec05　*/
.sec05{ padding-bottom:0!important;}
.sec05 p{ margin-bottom:0;}

.sec05 ul.listinline li{ width:50%;margin:0; float:left;}
.sec05 ul.listinline li a:hover{opacity:0.8;}
@media screen and (max-width: 640px) {
.sec05 ul.listinline li{width:100%;margin-right:0; float:none;}
}
/*  お問い合わせ　*/
.seccontact{ background-color:#21345c;}
.seccontact .inner{}


/*  sns　*/
.secsns{background-color:#eee;}

.sns-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px; /* アイコン間のスペース */
  padding: 20px 0;
}

.sns-button img {
  height: 40px; /* お好みに応じて調整可能 */
  transition: opacity 0.3s ease;
}

.sns-button img:hover {
  opacity: 0.7; /* ホバー時のエフェクト */
}

/* NEWS */
.secnews h2.ti02{ color:#21345c;}

/* ── Cocoon new_list type="large-thumb" を３カラム＋レスポンシブ化 ── */
.new-entry-cards.large-thumb {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 20px auto;
  max-width:1000px;
}

/* タブレット：２カラム */
@media screen and (max-width: 900px) {
  .new-entry-cards.large-thumb {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* スマホ：１カラム */
@media screen and (max-width: 600px) {
  .new-entry-cards.large-thumb {
    grid-template-columns: 1fr;
  }
}

/* ── タイトルと日付のスタイル調整 ── */
/* タイトル色 */
.widget-entry-card-title{
color:#21345c!important;
font-size: 14px;
font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
margin-bottom:10px;
letter-spacing: 0.05em;	
}

/* 日付文字色 & サイズ */
.large-thumb .post-date {
  color: #8c8c8c;
  font-size: 12px;
  margin-bottom: 8px;
font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

.widget-entry-card-date {
   display:block;
   text-align: left; /*左寄せ*/
    border-bottom:2px solid #21345c;
	padding-bottom:5px;
	display:inline-block;
}
.fa-clock-o{ display:none!important;}
.entry-date{ margin-left:0;}

/* ==========================================================================
   よくある質問
========================================================================== */

/* 見出し */
.section-title{
  text-align:center; margin:0 0 24px; font-weight:700;
  color:#2c6fb7; display:inline-block; padding-bottom:6px;
}

/* リスト全体 */
.faq-list{ margin:0; }

/* 質問(dt) */
.faq-list dt{
  position:relative;
  margin:0 0 20px 0;
  padding:16px 44px 16px 38px; /* ← 左に余白を追加(Q用) */
  background:#f5f7fa;
  border-top:1px solid #e6e9ee;
  border-left:4px solid #2c6fb7;
  font-weight:700;
  cursor:pointer;
  user-select:none;
  line-height:1.6;
  transition:background .2s ease;
}
.faq-list dt::before{
  content:"Q.";
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  font-weight:bold;
  color:#2c6fb7;     /* ブルー */
  font-size:1rem;
}


/* ▽（閉）／▲（開） */
.faq-list dt::after{
  content:""; position:absolute; right:14px; top:50%; transform:translateY(-50%);
  width:0;height:0;
  border-left:6px solid transparent; border-right:6px solid transparent;
  border-top:6px solid #2c6fb7; /* ▼ */
  transition:transform .25s ease;
}
.secfaq .faq-list dt[aria-expanded="true"]::after{
  transform:translateY(-50%) rotate(180deg); /* ▲ */
}

/* 回答(dd) */
.faq-list dd{
  position:relative;
  margin:0 0 20px 0;
  padding:0 16px 0 38px; /* ← 左に余白を追加(A用) */
  background:#fff;
  border-left:2px solid #cfaf4d;
  line-height:1.8;
  overflow:hidden;
  max-height:0;
  transition:max-height .28s ease, padding-top .28s ease, padding-bottom .28s ease;
}
.secfaq .faq-list dd::before{
  content:"A.";
  position:absolute;
  left:12px;
  top:16px;          /* 開いたときの先頭に合わせる */
  font-weight:bold;
  color:#cfaf4d;
  font-size:1rem;
}
.secfaq .faq-list dd.is-open{
  padding-top:12px;
  padding-bottom:18px;
}
.faq-list dt:hover{ background:#edf1f6; }
.faq-list dt:focus-visible{ outline:2px solid #2c6fb7; outline-offset:2px; }

/* 末尾の罫線 */
.faq-list dt:last-of-type{ border-bottom:1px solid #e6e9ee; }

/* スマホ微調整 */
@media (max-width:600px){
.faq-list dt{ padding:14px 40px; }
.faq-list dd{ padding:0 30px 16px 30px; }
}

/* ==========================================================================
 採用情報
   ========================================================================== */
        .workplace-visit {
            background: white;
            border-radius: 20px;
            padding: 40px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            text-align: center;
            margin-top: 60px;
            position: relative;
            overflow: hidden;
        }

        .workplace-visit::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle, rgba(42, 82, 152, 0.05) 0%, transparent 70%);
            animation: rotate 20s linear infinite;
        }


.recruit-page .section {
    padding: 80px 0;
    text-align: center;
}

.recruit-page .section-inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
}

.recruit-page h2, .recruit-page h3, .recruit-page h4 {
    font-weight: 700;
    margin-bottom: 20px;
}

.recruit-page h2 {
    font-size: 3rem;
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
background-color:transparent!important;
}

.recruit-page h3 {
    font-size: 2.2rem;
    color: #004d99;
}

.recruit-page h4 {
    font-size: 1.5rem;
    color: #333;
}

.recruit-page a {
    text-decoration: none;
    color: #004d99;
}

.recruit-page .bg-gray {
    background-color: #f0f0f0;
}

.recruit-page .btn {
    display: inline-block;
    padding: 12px 30px;
    border-radius: 5px;
    font-weight: 700;
    transition: background-color 0.3s, color 0.3s;
}

.recruit-page .btn-primary {
    background-color: #004d99;
    color: #fff;
}

.recruit-page .btn-primary:hover {
    background-color: #003366;
}

.recruit-page .btn-secondary {
    background-color: #fff;
    color: #004d99;
    border: 2px solid #004d99;
    margin-left: 15px;
}

.recruit-page .btn-secondary:hover {
    background-color: #004d99;
    color: #fff;
}

/* ヒーローセクション */
.recruit-page .hero {
    background-size: cover;
    background-position: center;
    height: 70vh;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
}

.recruit-page .hero-content {
    background-color: rgba(0, 77, 153, 0.6);
    padding: 40px;
    border-radius: 10px;
}

.recruit-page .hero h2 {
    margin-top: 0;
}

/* 会社紹介セクション */
.recruit-page .about-grid {
    display: flex;
    justify-content: space-around;
    gap: 30px;
    margin-top: 50px;
}

.recruit-page .about-item {
    flex: 1;
    text-align: left;
}

.recruit-page .about-item img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin-bottom: 20px;
}

/* 仕事内容セクション */
.recruit-page .work-content {
    display: flex;
    align-items: center;
    gap: 50px;
    margin-top: 50px;
    text-align: left;
}

.recruit-page .work-image {
    width: 50%;
    border-radius: 8px;
}

.recruit-page .work-list {
    list-style: none;
    padding: 0;
    width: 50%;
}

.recruit-page .work-list li {
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.05);
}

.recruit-page .work-list li h4 {
    margin-top: 0;
}

/* 先輩インタビューセクション */
.recruit-page .interview-card {
    background-color: #fff;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    max-width: 800px;
    margin: 50px auto 0;
    display: flex;
    gap: 30px;
    align-items: center;
    text-align: left;
}

.recruit-page .interview-photo {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
}

.recruit-page .interview-name {
    display: block;
    margin-top: 15px;
    font-style: italic;
    color: #666;
}

/* 募集要項セクション */
.recruit-page .requirements-grid {
    background-color: #fff;
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    max-width: 800px;
    margin: 50px auto;
    text-align: left;
}

.recruit-page .requirements-grid dt {
    font-weight: 700;
    color: #004d99;
    font-size: 1.1rem;
    margin-top: 20px;
}

.recruit-page .requirements-grid dd {
    margin: 5px 0 0 20px;
}

.recruit-page .requirements-buttons {
    margin-top: 40px;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
    .recruit-page h2 {
        font-size: 2.2rem;
    }

    .recruit-page h3 {
        font-size: 1.8rem;
    }

    .recruit-page .about-grid,
    .recruit-page .work-content,
    .recruit-page .interview-card {
        flex-direction: column;
    }

    .recruit-page .about-item,
    .recruit-page .work-image,
    .recruit-page .work-list,
    .recruit-page .interview-photo {
        width: 100%;
    }

    .recruit-page .interview-card {
        text-align: center;
    }

    .recruit-page .interview-photo {
        margin: 0 auto 20px;
    }

    .recruit-page .btn {
        display: block;
        width: 80%;
        margin: 10px auto;
    }
    
    .recruit-page .btn-secondary {
        margin-left: 0;
    }
}


/* ノート風リスト（薄いブルー背景＆水色アンダーライン） */
:root{
  --note-bg: #eef7ff;      /* 薄いブルーの背景色 */
  --note-border: #d7eaff;  /* 枠色 */
  --bullet: #bfa78a;       /* 丸い箇条書きの色（お好みで） */
  --underline: #63c5ff;    /* アンダーライン（水色） */
}

.note-list{
  max-width: 760px;
  margin: 1.5rem auto;
  padding: 1.25rem 1.5rem;
  background: var(--note-bg);
  border: 1px solid var(--note-border);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
}

.note-list ul{
  list-style: none;
  margin: 0;
  padding: 0;
}

.note-list li{
  position: relative;
  padding-left: 2rem;
  line-height: 1.9;
  font-size: 1em;
  margin: .35rem 0;
}

/* 左の小さな円（箇条書き） */
.note-list li::before{
  content: "";
  position: absolute;
  left: .5rem;
  top: .7em;
  width: .70rem;
  height: .70rem;
  border-radius: 50%;
  background: var(--bullet);
  opacity: .9;
}

/* 水色のアンダーライン */
.note-list .u{
  text-decoration: underline;
  text-decoration-color: var(--underline);
  text-decoration-thickness: .18em;
  text-underline-offset: .15em;
  /* 波線にしたい場合は次の1行をONに：
     text-decoration-style: wavy; */
}

/* スマホ余白調整 */
@media (max-width: 480px){
  .note-list{ padding: 1rem 1rem; }
  .note-list li{ padding-left: 1.7rem; }
}

/* ====== 会社の待遇について ====== */
.nk-benefits {
  --nk-bg: #f7fafc;
  --nk-card-bg: #ffffff;
  --nk-accent: #1492ff;
  --nk-text: #1c1c1c;
  --nk-muted: #6b7280;
  --nk-line: #e5e7eb;
  --nk-note: #0ea5e9;
  --nk-alert: #b45309;
  --nk-radius: 14px;
  --nk-shadow: 0 6px 20px rgba(17, 24, 39, 0.08);

  background: var(--nk-bg);
  padding: clamp(20px, 4vw, 48px) 16px;
  color: var(--nk-text);
  font-feature-settings: "palt";
  font-size: 1em; /* 基本フォントサイズ */
}

.nk-benefits__inner {
  max-width: 1000px;   /* PC時の横幅を1000pxに変更 */
  margin-inline: auto;
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr; /* 常に1列 */
}

/* Card */
.nk-card {
  background: var(--nk-card-bg);
  border: 1px solid var(--nk-line);
  border-radius: var(--nk-radius);
  box-shadow: var(--nk-shadow);
  overflow: hidden;
}

/* タイトル */
.nk-card__title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 16px 20px;
  font-size: 1.2em; /* 見出しは基本より少し大きめ */
  line-height: 1.4;
  border-bottom: 1px solid var(--nk-line);
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
margin:10px!important;
}

.nk-dot {
  display: inline-grid;
  place-items: center;
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  background: var(--nk-accent);
  color: #fff;
  font-weight: 700;
  line-height: 1;
  font-size: 0.9em;
}

/* 本文 */
.nk-card__body {
  padding: clamp(16px, 2.5vw, 24px);
  font-size: 1em;   /* 本文を基本サイズに固定 */
  line-height: 1.9;
}

.nk-card__body p {
  margin: 0 0 1em;
}

.nk-card__body strong {
  font-weight: 700;
}

/* 装飾（例・注意など） */
.nk-callout {
  border: 1px dashed var(--nk-accent);
  border-radius: 10px;
  padding: 14px;
  margin: 14px 0;
  background: rgba(20,146,255,0.05);
  font-size: 0.95em;
}
.nk-callout__head {
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--nk-accent);
}
.nk-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
  display: grid;
  gap: 6px;
}
.nk-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid var(--nk-accent);
  color: var(--nk-accent);
  font-weight: 700;
  font-size: 0.9em;
  margin-right: 6px;
  background: #fff;
}

.nk-note {
  font-size: 0.9em;
  color: var(--nk-muted);
  border-left: 3px solid var(--nk-note);
  padding-left: 10px;
  margin-top: -4px;
}

.nk-catch {
  font-weight: bold;
  font-size: 1.4em;
  text-align: center;
  margin: 0.6em 0 0.8em;
  letter-spacing: 0.04em;
}

.nk-blockquote {
  border-left: 4px solid var(--nk-accent);
  background: #f2f8ff;
  padding: 12px 14px;
  border-radius: 8px;
  margin: 12px 0;
  font-size: 0.95em;
}

.nk-alert {
  border: 1px solid #f59e0b33;
  background: #fff7ed;
  color: var(--nk-alert);
  border-radius: 10px;
  padding: 12px 14px;
  line-height: 1.7;
  margin-top: 10px;
  font-size: 0.95em;
}

/* ====== こだわり ====== */
.kw{
  padding: 40px 16px;
  font-size: 1em;
  color: #1a1a1a;
}

.kw__inner {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  gap: 24px;
}

.kodawari  {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 20px;
  background: #fff;
}
.kodawari h3 {
  font-size: 1.1em;
  margin: 0 0 0.6em!important;
  display: flex;
  align-items: center;
  gap: 8px;
border-left:none;
border-right:none;
}

.k-num {
  display: inline-block;
  background: #2a3b60;   /* ← 青系に変更 */
  color: #fff;
  font-weight: 700;
  border-radius: 50%;
  width: 1.6em;
  height: 1.6em;
  text-align: center;
  line-height: 1.6em;
  font-size: 0.9em;
}

.kodawari p {
  margin: 0;
  line-height: 1.8;
}

.k-note {
  display: inline-block;
  font-size: 0.9em;
  color: #666;
  margin-left: 6px;
}
.kodawari-list {
  list-style: none;          /* デフォルトの黒丸を消す */
  padding-left: 0;
  margin: 0;
}

.kodawari-list li {
  position: relative;
  padding-left: 1.4em;       /* アイコン分の余白 */
  color: #e6451e;            /* 赤文字 */
  line-height: 1.8;
}

.kodawari-list li::before {
  content: "●";              /* 青丸 */
  position: absolute;
  left: 0;
  top: 0;
  color: #1d4ed8;            /* 青色 (#2563ebでもOK) */
  font-size: 0.9em;
  line-height: 1.8;
}

/* ====== 募集要項 ====== */
.job-block{
  background:#fff;
  border:1px solid #eee;
  border-radius:16px;
  padding:24px;
  margin:28px 0;
  box-shadow:0 6px 14px rgba(0,0,0,.05);
}
.job-title{
  font-size:1.25rem;
  line-height:1.5;
  margin:0 0 14px;
  font-weight:700;
}
.sub-title{
  font-size:1.05rem;
  margin:18px 0 10px;
  font-weight:700;
}
.lead{ margin-top:4px; }

/* 区切り線 */
.sep{ border:0; border-top:1px dashed #e5e5e5; margin:20px 0; }
.soft{ border:0; border-top:1px solid #f2f2f2; margin:18px 0; }

/* ステップ（番号付き） */
.steps{
  counter-reset: num;
  list-style:none;
  padding-left:0;
  margin:10px 0 18px;
}
.steps li{
  counter-increment: num;
  padding:10px 12px 10px 42px;
  position:relative;
  border-bottom:1px solid #f1f1f1;
  line-height:1.7;
}
.steps li::before{
  content: counter(num);
  position:absolute;
  left:10px; top:10px;
  width:24px; height:24px;
  border-radius:50%;
  border:1px solid #ddd;
  display:inline-flex;
  align-items:center; justify-content:center;
  font-size:.85rem; font-weight:700;
  background:#fafafa;
}

/* 動画（レスポンシブ埋め込み） */
.video{ margin:12px 0 8px; }
.video-inner{
  width:100%;
   background:#000;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 10px rgba(0,0,0,.1);
}
.video-inner iframe{
  width:100%; height:100%;
  border:0; display:block;
}

/* 画像 */
.figure{
  margin:14px 0;
  text-align:center;
}
.figure img{
  max-width:100%;
  height:auto;
  border-radius:12px;
  box-shadow:0 4px 10px rgba(0,0,0,.05);
}

/* テキスト強調（テーマに無い場合のフォールバック） */
.note{ background:#fffdf3; border-left:4px solid #ffd66e; padding:10px 12px; }


/* スマホ調整 */
@media (max-width: 640px){
  .job-block{ padding:18px; border-radius:12px; }
  .job-title{ font-size:1.15rem; }
  .steps li{ padding:10px 10px 10px 38px; }
  .steps li::before{ left:8px; }
}

/* ===== あなたが錦部製作所で手に入れるもの ===== */
ul.lichk{
  list-style: none;
  margin: .5em 0 1.2em 0;
  padding: 0;
}
ul.lichk > li{
  position: relative;
  padding-left: 2.2em;  /* 左余白を少し広めに */
  margin: 0 0 1.2em;
  line-height: 1.8;
  border-bottom: 1px dotted #ccc; /* 区切り線 */
  padding-bottom: 0.2em;
}

/* チェックアイコン（丸の中央に配置） */
ul.lichk > li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 40%;
  transform: translateY(-50%); /* 真ん中に配置 */
  font-weight: 700;
  border: 2.5px solid #bfa78a; /* 丸を太めに */
  border-radius: 50%;
  width: 1.4em;
  height: 1.4em;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #bfa78a;
  font-size: .85em;
  background: #fff; /* 背景白で丸が際立つように */
}

/* li内の改行が詰まらないように */
ul.lichk li br{ line-height: 2; }


/* =====  先輩社員カード  ===== */
/* プロフィール部分：横並び */
.voice__profile {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 1.5em;
}

.voice__media {
  flex: 0 0 200px; /* 写真サイズ */
}

.voice__media img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 4px solid #eee;
}

.voice__body {
  flex: 1;
}

.voice__name {
  font-weight: 700;
  margin: 0 0 .5em;
  line-height: 1.6;
}

.voice__catch {
  margin: 0;
  padding: .6em .8em;
  background: #fffaf4;
  border-left: 4px solid #bfa78a;
  font-weight: 700;
  line-height: 1.6;
}

/* 本文 */
.voice__content p {
  margin: 0 0 1em;
  line-height: 1.9;
}

/* レスポンシブ：スマホでは縦並び */
@media (max-width: 768px) {
  .voice__profile {
    flex-direction: column;
    align-items: flex-start;
  }
  .voice__media {
    width: 100%;
    max-width: 280px;
  }
}

/* =====  応募方法　===== */
/* 住所ボックス */
.apply__address{
  margin-top: 1.6em;
  background: #fffaf4;
  border: 1px solid #eadfce;
  border-left: 6px solid #bfa78a;
  border-radius: 10px;
  padding: 16px 18px;
  box-shadow: 0 4px 12px rgba(0,0,0,.04);
}
.apply__address-head{
  font-weight: 700;
  margin: 0 0 .6em;
  color: #3a3a3a;
}
.apply__address address{ font-style: normal; }
.apply__address .addr__zip{
  font-weight: 700; letter-spacing: .03em; margin:0 0 .2em;
}
.apply__address .addr__line{ margin:0 0 .2em; }
.apply__address .addr__to{ margin: .4em 0 0; }

@media (max-width: 720px){
  .apply__address{ padding: 14px 16px; }
  ul.lichk > li{ padding-left: 2em; }
}


/* ===== ただし、あなたがこのような考えなら応募はご遠慮ください ===== */
.nlist{
  counter-reset: nlist;
  margin: .6em 0 0;
  padding: 0;
  list-style: none;
}
.nlist > li{
  position: relative;
  counter-increment: nlist;
  padding: 1.0em 1.0em 1.0em 3.4em; /* 番号のぶん左に余白 */
  margin: 0;
  line-height: 1.9;
  border-bottom: 1px dotted #d7d7d7; /* 区切り線 */
}
.nlist > li:last-child{ border-bottom: none; }

/* 番号の丸バッジ */
.nlist > li::before{
  content: counter(nlist);
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%);
  width: 2.2em; height: 2.2em;
  border-radius: 50%;
  border: 3px solid #bfa78a;  /* 既存アクセント色 */
  display: flex; align-items: center; justify-content: center;
  font-weight: 700;
  color: #bfa78a;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,.05);
}

/* セクション内の余白微調整 */
.reasons .ti03{ margin-top: 0; }
.reasons .nlist > li + li{ /* 項目間の縦余白を少し増やす */
  padding-top: 1.2em;
}

/* スマホでの読みやすさ */
@media (max-width: 720px){
  .nlist > li{
    padding: .9em .4em .9em 3.2em;
  }
  .nlist > li::before{
    width: 2em; height: 2em;
  }
}

/************************************
** よくある質問　リンクメニュー
************************************/
.faq-listnav {
  list-style: none;
  margin: 0;
  padding: 0;
}
.faq-listnav li {
  display: flex;
  align-items: center;
  margin: 6px 0;
}

/* 左の三角矢印 */
.faq-listnav li::before {
  content: "";
  display: inline-block;
  margin-right: 8px;
  width: 0;
  height: 0;
  border-left: 7px solid #002f87;   /* 濃い青 */
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}

/* リンク */
.faq-listnav a {
  text-decoration: none;
  color: #000;
}
.faq-listnav a:hover {
  text-decoration: underline;
}


/* ==========================================================================
   プライバシーポリシー
   ========================================================================== */

.dlprivacy {
    margin-left: 0;
    margin-right: 10px;
}

.dlprivacy dt {
    margin: 27px 0 14px;
    border-left: 5px solid #21345c;
    background-color: #f4f4f4;
    padding: 10px 18px 7px;
    line-height: 1.5;
    font-size: 120%;
    font-weight: normal;
}

.dlprivacy dd {
    margin-bottom: 20px;
    margin-left: 15px;
}

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

.box_con {
    max-width: 1100px;
    margin: 0 auto;
}

@media only screen and (max-width: 768px) {
    .box_con {
        width: 95%;
    }
}

.box_con form {
    width: 100%;
}

.box_con form table {
    width: 100%;
}

.box_con form table tr {
    position: relative;
}

.box_con form table tr:after {
    content: "";
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    height: 1px;
}

.box_con form table tr th {
    width: 30%;
    font-weight: normal;
    padding: 1em .5em;
    box-sizing: border-box;
    text-align: left;
}

.input-zip {
    width: 120px !important;
}

.submit-button {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    margin: 30px auto 0;
    background-color: #e4eeef;
    cursor: pointer;
    border: 1px solid #e4eeef;
    color: #000;
    text-align: center;
    text-decoration: none;
    line-height: 1.5;
    outline: none;
    transition: all .5s;
    padding: 20px 100px;
}

.submit-button:hover {
    background: #cae1e3;
    color: #000;
    border: 1px solid #cae1e3;
}

.boxBtn {
    position: relative;
    height: 50px;
    text-align: center;
}

.box_con input[type=submit] {
    width: 50%;
}

@media only screen and (max-width: 768px) {
    .box_con form table tr th {
        text-align: center;
        width: 100%;
        display: block;
        background: #f5f6f7;
        padding: .8em .2em;
    }
}

.box_con form table tr th span {
    border-radius: 6px;
    margin-right: 8px;
    padding-top: 3px;
    padding-bottom: 3px;
    width: 48px;
    display: inline-block;
    text-align: center;
    color: #fff;
    font-size: 14px;
}

.box_con form table tr th .optional {
    background: #337ab7;
}

.box_con form table tr th .essential {
    background: #cd6f55;
}

.box_con form table tr td {
    padding: 1em .5em;
    box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
    .box_con form table tr td {
        padding: 1.5em .5em;
        display: block;
        width: 100%;
        text-align: center;
    }
    
    .box_con form table tr td.koumoku {
        padding-left: 20px;
        text-align: left;
    }
}

.box_con form table tr .box_br {
    display: block;
}

.box_con form table tr select {
    border: 1px solid #4c7096;
}

.box_con form table tr label input {
    cursor: pointer;
    vertical-align: middle;
}

.box_con form table tr .radio02-input {
    padding-left: 23px;
    margin-right: 20px;
    position: relative;
}

.box_con form table tr .radio02-input + label {
    padding-left: 23px;
    margin-right: 20px;
    position: relative;
}

.box_con form table tr .radio02-input + label:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 16px;
    height: 16px;
    border: 1px solid #999;
    border-radius: 50%;
    transform: translateY(-50%);
}

.box_con form table tr .radio02-input:checked + label:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 3px;
    width: 12px;
    height: 12px;
    background: #4c7096;
    border-radius: 50%;
    transform: translateY(-50%);
}

.box_con form table tr select,
.box_con form table tr input,
.box_con form table tr textarea {
/*    width: 100%;*/
    height: 3em;
    padding: .5em;
    box-sizing: border-box;
}

.box_con form table tr textarea {
    width: 100% !important;
    height: 100px !important;
}

/* プライバシー表示エリア */
.con_pri {
    max-width: 700px;
    margin: 0 auto;
}

@media only screen and (max-width: 768px) {
    .con_pri {
        width: 95%;
    }
}

.con_pri .box_pri {
    height: 300px;
    overflow-y: scroll;
    border: 1px solid #cdcdcd;
    background: #f7f7f7;
    box-sizing: border-box;
    margin-top: 20px;
    padding: 20px 55px;
}

@media only screen and (max-width: 768px) {
    .con_pri .box_pri {
        margin-top: 4%;
        padding: 3%;
    }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
    .con_pri .box_pri {
        padding: 4%;
    }
}

.con_pri .box_pri .box_tori {
    text-align: left;
    margin-top: 40px;
}

@media only screen and (max-width: 768px) {
    .con_pri .box_pri .box_tori {
        margin-top: 4%;
    }
}

.con_pri .box_pri .box_tori h4 {
    font-weight: normal;
    margin-bottom: 30px;
    font-size: 150%;
}

@media only screen and (max-width: 768px) {
    .con_pri .box_pri .box_tori h4 {
        margin-bottom: 4%;
    }
}

.con_pri .box_pri .box_tori .txt {
    padding: 0 20px;
}

@media only screen and (max-width: 768px) {
    .con_pri .box_pri .box_tori .txt {
        padding: 0;
    }
}

.con_pri .box_pri .box_num {
    margin-top: 30px;
}

@media only screen and (max-width: 768px) {
    .con_pri .box_pri .box_num {
        margin-top: 5%;
    }
}

.con_pri .box_pri .box_num h4 {
    font-weight: normal;
    font-size: 113%;
}

.con_pri .box_pri .box_num .txt {
    padding: 10px 0 0 20px;
}

@media only screen and (max-width: 768px) {
    .con_pri .box_pri .box_num .txt {
        padding: 3% 0 0 3%;
    }
}

/* ==========================================================================
   投稿ページ
   ========================================================================== */

.category .container,
.single .container {
    background-image: none;
}

.category #content,
.single #content,
.blog #content {
    margin: 0 auto;
    background: #FFF;
    padding: 0 5% 2% 5%;
    max-width: 1000px;
}

.eye-catch {
    text-align: center;
}

.eye-catch img {
    margin-bottom: 30px;
}

.single .article h2 {
    padding: 0.5em !important;
    color: #494949;
    background: #eaf4fc;
    border-left: solid 5px #7db4e6;
    font-size: 1.2em;
}

.single .article h3 {
    font-size: 1em;
    border:none;
	font-weight:bold;
	padding-left:0;
	margin-bottom:10px;
}

.single .article h4 {
    font-size: 16px;
    padding: 1em 0.5em 1em 3em;
    color: #494949;
    border:none;
	background-color:#ededed;
	border-radius:5px;
}

.single .article h5 {
    font-size: 14px;
    padding: 0.5em;
    color: #494949;
    background: #eaf4fc;
    border-left: solid 5px #7db4e6;
    border-bottom: none;
}

.cta-box {
    border: solid 1px #9d9d9d;
    border-radius: 8px;
    background-color: #fff;
    color: #444;
}

.new-entry-card-post-date {
    color: #00a8e3;
}

.date-tags {
    margin-bottom: 30px !important;
}

/* 最新記事1件目のアイキャッチ画像の右上にNEWバッジを表示 */
/* [new_list] の最初の投稿（only-latest）のアイキャッチ右上に NEW を表示 */
/* NEWバッジを右上に表示 */
.entry-card-thumb.position-relative::after {
  content: "NEW";
  position: absolute;
  top: 0;
  right: 0;
  background-color: #e60023;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  padding: 4px 10px;
  border-bottom-left-radius: 4px;
  z-index: 2;
}
	
.new-entry-card-content .new-entry-card-title span{ display:none;}

/* ==========================================================================
   カテゴリページ
   ========================================================================== */

.entry-card-wrap {
    margin-bottom: 10px;
}

.entry-card {
    padding-left: 0 !important;
    padding-bottom: 20px;
    margin-bottom: 10px;
}

.category-page-content{ margin-top:30px;}

.post h2.entry-card-title,
.post h2.related-entry-card-title {
    background: #ecf0f0;
    padding: 1rem 1rem 1rem 2.5rem;
    position: relative;
	font-size:16px;

 display: -webkit-box!important;
    -webkit-box-orient: vertical!important;
    -webkit-line-clamp: 3!important;   /* ★ 3行 */
    overflow: hidden;
    white-space: normal;
    max-height: calc(2em * 3); /* ★ 3行分でカット */
}


.post h2.entry-card-title:before,
.post h2.related-entry-card-title:before {
    position: absolute;
    top: 20%;
    left: 20px;
    width: 6px;
    height: 60%;
    content: '';
    border-radius: 3px;
    background: #21345c;
}

.entry-card-meta {
    display: none;
}

/* ========== お客様の声（Cocoon用スコープ） ========== */
.voice-entry {
  --c-qbar: #fff7c7;         /* Qバーの淡い黄色 */
  --c-abox: #eaf6ff;         /* Aボックスの淡い水色 */
  --c-accent: #3a7bd5;       /* アクセント（リンク/ラベル） */
  --c-border: #e5e7eb;       /* うすい枠線 */
  --radius: 12px;
  --shadow: 0 3px 14px rgba(0,0,0,.06);
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  padding: clamp(16px, 2.5vw, 28px);
  box-shadow: var(--shadow);
}

/* ヘッダー */
.voice-header{
  display: grid;
  grid-template-columns: 72px 1fr minmax(180px,240px);
  gap: 16px 20px;
  align-items: start;
}
.voice-avatar img{
  width: 64px; height: 64px; border-radius: 50%;
  object-fit: cover; display:block; border:1px solid var(--c-border);
}
.voice-headings{ line-height: 1.7; }
.voice-cat span{
  display:inline-block; font-size:.85rem; color:#fff; background: var(--c-accent);
  padding: 2px 8px; border-radius: 999px;
}
.voice-title{ margin:.2rem 0 0; font-size: clamp(1.1rem, 1.5vw, 1.35rem); }
.voice-sub{ margin:.2rem 0 .3rem; color:#555; }
.voice-link{ margin:.2rem 0 0; }
.voice-link .hp-icon{
display:inline-grid; place-items:center; width:40px; height:40px;
font-weight:700; color:#fff; background:#364249; border-radius:4px;
font-size:.8rem; margin-right:.4rem;
}
.voice-proof{
  justify-self: end; text-align:center; max-width: 240px;
}
.voice-proof figcaption{
  font-size:.8rem; color:#666; line-height:1.5; margin-bottom:.4rem;
}
.voice-proof img{
  display:block; width:100%; height:auto; border:1px solid var(--c-border);
  border-radius:8px; transition: transform .2s ease;
}
.voice-proof a:hover img{ transform: scale(1.02); }

/* Q&A */
.voice-body{ margin-top: 10px; }
.qa{ margin-top: 16px; }
.q{
  position:relative; margin:0; padding:12px 12px 12px 48px;
  background: var(--c-qbar); border: 1px solid #f2e7a4; border-radius:10px;
  font-weight: 700;
}
.q .qbadge{
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  display:inline-grid; place-items:center;
  width:28px; height:28px; border-radius:6px;
  background:#ffe36b; color:#111; font-weight:800;
}
.a{
  background: var(--c-abox);
  border: 1px solid #cfe8ff;
  border-radius: 10px;
  padding: 14px 16px;
  margin-top: 8px;
}
.a p{ margin:0; }
.a p + p{ margin-top:.6em; }

/* スマホ最適化 */
@media (max-width: 1024px){
  .voice-header{ grid-template-columns: 56px 1fr 200px; }
}
@media (max-width: 768px){
  .voice-header{
    grid-template-columns: 56px 1fr;
  }
  .voice-proof{
    grid-column: 1 / -1; justify-self: start; max-width: 280px;
  }
}

/* Cocoonの本文余白と干渉しない微調整 */
.entry-content .voice-entry{ margin: 1.2em 0; }


/************************************
**　カテゴリ（子カテゴリ一覧）
************************************/

/* 子カテゴリ グリッド */
.child-cat-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 28px;
  margin: 28px 0 8px;
}
@media (max-width: 1024px){
  .child-cat-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .child-cat-grid{ grid-template-columns: 1fr; }
}

/* カード */
.child-cat-card{
  background: transparent;
}
.child-cat-link{
  display:block;
  text-decoration:none;
  color:inherit;
}
.child-cat-card .thumb{
  aspect-ratio: 14 / 10;       /* 画像の比率を揃える */
  overflow: hidden;
  border-radius: 10px;
  background: #f5f5f7;
}
.child-cat-card .thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}

/* タイトルと下線 */
.child-cat-card .title-wrap{
  text-align:center;
  margin-top: 12px;
}
.child-cat-card .title{
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: .02em;
  margin: 0 0 10px;
}
.child-cat-card .underline{
  display:inline-block;
  width: 64px;
  height: 2px;
  background: #d7d7db; /* 薄いグレーのライン */
}




/************************************
**　レスポンシブ対応 (1100px以下 - タブレット横向き)
************************************/
@media screen and (max-width: 1100px) {
	
.home .page .inner{
	width:100%;
	margin:0 auto;
	padding:0 20px;	
}
.page:not(.home) #main{
	width:100%;
	margin:0 auto;
}		
	
}
/************************************
** ヘッダー
************************************/
@media screen and (max-width: 1023px) {
    /* ヘッダーをモバイルメニューに切り替え */
    #header-container {
        padding-top: 15px;
        padding-bottom: 0px;
        display: none; /* モバイルメニューに切り替え */
}
    
    /* 固定ヘッダーナビゲーション位置調整 */
.fixed-header #navi .navi-in {
        position: absolute;
        left: 230px !important;
        top: 10px;
}
img.alignright, 
img.alignleft {
float: none !important;
display: block;
margin: 10px auto!important;
}  
}

/************************************
** スマートフォン表示（840px以下）
************************************/
@media screen and (max-width: 1023px) {

/************************************
**　画像切り替え 	
************************************/	
.pc-img { display: none !important;}
.tab-img { display: none !important;}
.tab-smt { display: inline !important;}
.smt-img { display: inline !important;}
    
/* メインビジュアル調整 */
#main-image .smt-img { display: inline !important;}
#main-image .tab-img { display: none !important;}


/************************************
** モバイルメニューボタン調整
************************************/
.mobile-menu-buttons{ min-height:60px;}	
.mobile-menu-buttons .menu-caption{ display:none;}	
	
/* モバイルロゴ */
.mobile-menu-buttons .logo-menu-button {
        position: absolute;
        left: 10px;
        top: 10px;
	width:130px;
}	

/* Cocoonのモバイルメニューボタン */
.mobile-menu-buttons .navi-menu-button{
        position: absolute;
        right: 0px;
        top: 10px;
}
.mobile-menu-buttons .menu-icon .fa-bars::before{ font-size:1.4em!important;color:#21345c;}	
	
	
/************************************
** スマホ用メニューボタン横並び
************************************/
/* サブメニューを横並びに */
    .h-submenu {
        display: flex !important;
        position: absolute;
        right: 70px;
        top: 5px;
        width: auto !important;
        height: 50px;
        margin: 0;
        padding: 0;
        list-style: none;
        align-items: center;
        gap: 5px;
    }
    	
	.h-submenu li{max-width:50px;}	

/************************************
** marker非表示
************************************/
/* リストマーカーを非表示 */
.h-submenu li::marker {
    display: none;
}
}


/************************************
** スマートフォン表示（840px以下）
************************************/
@media screen and (max-width: 840px) {

/************************************
**　画像切り替え 	
************************************/	
.pc-img { display: none !important;}
.tab-img { display: none !important;}
.tab-smt { display: inline !important;}
.smt-img { display: inline !important;}	

/************************************
** 			TOP
************************************/	
.home #main-image { 
width: 100%;
background: #ffffff url(images/bg-main-smt.jpg) center top no-repeat;
min-height:410px;
}
	
.home #main-image p { 
	width:100%; 
	padding-left: 0px;
	padding-top:20px;
}	
.home #main-image p img {
        margin: 0px auto;
        width: 100%;
}
}

/************************************
** スマートフォン表示（640px以下）
************************************/
@media screen and (max-width: 640px) {

/************************************
** モバイルメニューボタン調整
************************************/
/* Cocoonのモバイルメニューボタン */
    .menu-button {
        position: absolute;
        right: 100px;
        top: 10px;
        width: 120px;
        height: 40px;
    }	
	

/* ヘッダーボタンのセレクター修正 */

	#menu-h-menu #menu-item-20 a {
        background-image: url('images/h-request-smt.png'); /* スマホ用画像があれば */
    }
    #menu-h-menu #menu-item-21 a {
        background-image: url('images/h-contact-smt.png'); /* スマホ用画像があれば */
    }	
	
/************************************
** main
************************************/	
.home #main-image { 
background-size:cover;
min-height:410px;
}	
}

/************************************
** お問い合わせボックス
************************************/
.contact-box {
  border: 2px solid #ccc;
  border-radius: 8px;
  padding: 20px;
  max-width: 840px;   /* 幅固定ではなく最大幅にする */
  width: 100%;        /* 画面幅にフィット */
  margin: 0 auto;     /* 中央寄せ */
  font-family: "Hiragino Sans", "Meiryo", sans-serif;
  text-align: center;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.tel-block {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  font-weight: bold;
  color: #28a745; /* 緑 */
  margin-bottom: 8px;
  flex-wrap: wrap; /* 狭い画面で折り返し */
}

.tel-icon {
  width: 36px;
  margin-right: 8px;
}

.tel-sub {
  font-size: 13px;
  color: #666;
  margin-left: 8px;
}

.sub-tel {
  font-size: 14px;
  margin-bottom: 6px;
  color: #000;
}
.tel-number { margin-left:10px;font-size:1.4em; }
.tel-mobile {
  font-weight: bold;
  color: #c00;
}

.time {
  font-size: 13px;
  margin-bottom: 10px;
  color: #333;
}

.person {
  background: #e9f4f8;
  padding: 6px;
  border-radius: 4px;
  font-size: 14px;
  margin-bottom: 12px;
  font-weight: bold;
}

.mail-block {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.mail-icon {
  background: #ffcc66;
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: bold;
  color: #000;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
}

.mail-link {
  font-size: 18px;
  font-weight: bold;
  color: #0044cc;
  text-decoration: none;
}

.mail-link:hover {
  text-decoration: underline;
}

/****  レスポンシブ対応（スマホ用）***/
@media (max-width: 767px) {
  .tel-block {
    font-size: 20px;
  }
  .tel-number {
    font-size: 1.2em; /* スマホでは少し小さめに調整 */
  }
  .sub-tel,
  .time,
  .person {
    font-size: 12px;
  }
  .mail-link {
    font-size: 16px;
  }
}


/************************************
** LP用
************************************/

.page-id-151 .content-in.wrap,
.page-id-569 .content-in.wrap,
.page-id-576 .content-in.wrap,
.page-id-574 .content-in.wrap,
.page-id-579 .content-in.wrap,
.page-id-798 .content-in.wrap  {
width: 100% !important;
}
.page-id-151 #main,
.page-id-569 #main,
.page-id-576 #main,
.page-id-574 #main,
.page-id-579 #main,
.page-id-798 #main  {
    width: 100% !important;
    padding: 0 !important;
}
.page-id-151 section,
.page-id-569 section,
.page-id-576 section,
.page-id-574 section,
.page-id-579 section,
.page-id-798 section {
padding-top: 50px;
padding-bottom: 50px;
font-size: 1em;
}

.page-id-151 #content,
.page-id-569 #content,
.page-id-576 #content,
.page-id-574 #content,
.page-id-579 #content,
.page-id-798 #content {
max-width: 100%;
margin: 0 auto;
padding: 0;
}

body.page-id-151 .entry-title,
body.page-id-569 .entry-title,
body.page-id-576 .entry-title,
body.page-id-574 .entry-title,
body.page-id-579 .entry-title,
body.page-id-798 .entry-title  { display: none!important;}
body.page-id-151 .entry-content,
body.page-id-569 .entry-content,
body.page-id-576 .entry-content,
body.page-id-574 .entry-content,
body.page-id-579 .entry-content,
body.page-id-798 .entry-content 
{ margin-top:0!important;}
@media screen and (max-width: 1300px) {
.page-id-151 .inner,
.page-id-569 .inner,
.page-id-576 .inner,
.page-id-574 .inner,
.page-id-579 .inner,
.page-id-798 .inner {
    width: 100%;
   margin: 0 auto;
        padding: 0 20px;
}
}

/************************************
/* 回り込み解除（見出しやタイトルを画像の下から開始させる）
************************************/
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content p.clearfix,
.entry-title {
  clear: both;
}