@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
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

main#main.main{
	padding:0;
}

/* =========================================================
 * BG
 ** =========================================================*/
.bg_blue{
	background:#D3EBF7;
}

/* =========================================================
 * フルワイド
 ** =========================================================*/
/*　フルワイド対応　*/
body.column-full-wide .entry-content {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}


/* =========================================================
 * Inner 1000px
 ** =========================================================*/
.innner-container{
	display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
    padding: 20px 0 !important;
    max-width: 1000px;
    margin: 0 auto;
}

/* header */
/* =========================================================
   Header Navi + LINE（FULL CSS）
   - メニュー行の縦中央揃え
   - テキストとLINEの間隔を詰める
   - LINEはhoverで薄く
========================================================= */

/* 1) PCナビ全体を縦中央揃え（Cocoonの行高ズレ対策） */
#navi-in > ul.menu-pc{
  display: flex;
  align-items: center;     /* ←これでテキストとLINEの高さが揃う */
  justify-content: flex-end;
  gap: 0;                  /* 余計な隙間は作らない（必要なら後で調整） */
}

/* 2) 通常メニュー幅（現状維持） */
#navi-in > ul.menu-pc > li{
  width: 128px;
  display: flex;
  align-items: center;     /* li内も中央揃え */
}

/* 3) aタグの高さを統一して、縦位置のズレを無くす */
#navi-in > ul.menu-pc > li > a{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;            /* ←基準の行高（ここで上下の揃いを作る） */
  padding: 0 10px;
  box-sizing: border-box;
}


/* ロゴエリアの上下余白 */
#header-in {
  padding-top: 16px;
  padding-bottom: 16px;
}

/* ナビゲーション（メニュー）の上下余白 */
#navi-in {
  padding-top: 12px;
  padding-bottom: 12px;
}

/* メニュー各アイテムの上下余白（クリック範囲も広がります） */
.menu-top .menu-item a {
  padding-top: 10px;
  padding-bottom: 10px;
}
/* ---------------------------------------------------------
  フェードイン・アウト効果
--------------------------------------------------------- */
.fade-in {
  opacity: 0;
  transition: opacity 0.6s ease;
}

.fade-in.is-visible {
  opacity: 1;
}

/* ---------------------------------------------------------
   LINE（menu-item-212）ico_line 
--------------------------------------------------------- */
/* LINEだけ幅を縮めて「間隔を詰める」 */
#navi-in > ul.menu-pc > li.ico_line {
  width: 78px;
  margin-left: 6px;
}

/* LINE：li側の背景は使わない */
#navi-in > ul.menu-pc > li.ico_line {
  background-image: none !important;
}

/* LINE：a に背景画像（ロゴ） */
#navi-in > ul.menu-pc > li.ico_line > a {
  background-image: url(/kadenatest/wp-content/themes/cocoon-master/images/LINE_logo.svg) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 34px auto !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  text-decoration: none !important;
  color: transparent !important;
  text-shadow: none !important;
  cursor: pointer !important;
  opacity: 1;
  transition: opacity .15s ease;
}

/* hoverで薄くする */
#navi-in > ul.menu-pc > li.ico_line:hover > a {
  opacity: .45;
}

/* フォーカス枠も抑える */
#navi-in > ul.menu-pc > li.ico_line > a:focus,
#navi-in > ul.menu-pc > li.ico_line > a:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/*-----------------------------
 * スマホ・タブレットの時メニュー非表示
-----------------------------*/
/* PCではmenu-mobileを完全に非表示 */
.menu-mobile {
  display: none !important;
}

/* タブレット・スマホではmenu-pcを非表示 */
@media (max-width: 1024px) {
  .menu-pc {
    display: none !important;
  }
}

/*-----------------------------*/


/* コンテンツ上マージン */
.content{
	margin:0;
}
/* 時間表示なし */
.date-tags{
	display:none;
}

/* コンテンツ枠 */
.mss_content{
	padding:1em 2em;
	/* border:1px solid #cdcdcd; */
	margin:0 auto;  
}
/* 上位 .is-layout-flex の margin:0 を上書きしてセンタリング */
.is-layout-flex > .mss_content{
  margin-left: auto !important;
  margin-right: auto !important;
}


/* Title */
h2.mss_ttl_1 {
    background: #fff;
}
h2.mss_ttl_1 > sup{
    color: #036EB8;
	display:block;
		font-size:1.5rem;
}
h2.mss_ttl_1 > strong{
    color: #333;
	font-size:2.5rem;
}


/*　常時表示右タブ　*/
.side-tabs {
  position: fixed;
  right: 0;
  top: 15%;
  transform: none;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.side-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  writing-mode: vertical-rl;
  padding: 1.5em 1.5em 1.5em 1.5em;
  padding-right: 2.5em;
  font-size: 13px;
  font-weight: bold;
  text-decoration: none;
  border-radius: 12px 0 0 12px;
  line-height: 1.6;
  text-align: center;
  transform: translateX(8px);        /* 初期表示で右に8pxずらす */
  transition: transform 0.2s ease;
	color: #ffffff !important;
}

.side-tab:hover {

}

.tab-contact {
  background: #10BFFF;
}

.tab-business {
  background: #036EB8;
}


.side-tab:hover {
	opacity: 0.85;
  color: #fff;
  transform: translateX(0);          /* ホバーで元の位置＝左に出る */

  color: #ffffff !important;
  background-image: repeating-linear-gradient(
    -45deg,
    transparent 0px,
    transparent 10px,
    rgba(255, 255, 255, 0.15) 10px,
    rgba(255, 255, 255, 0.15) 20px
  ) !important;
  background-size: 56px 56px !important;
  animation: stripe-slide 0.8s linear infinite !important;
}




@media (max-width: 768px) {
  .side-tabs {
    display: none;
  }
}
/* ========== ========== ========== ========== ==========
 * ホバーアニメーション　ストライプつき
  ========== ========== ========== ========== ==========* */

/* ストライプアニメーション（すでに定義済みなら不要） */
@keyframes stripe-slide {
    0%   { background-position: 0 0; }
    100% { background-position: 56px 0; }
}


/* INPUTボタン：通常時 */
input[type=submit] {
  -webkit-appearance: none;
  border: none;
  background-color: #0099cc;
  color: #fff;
  padding: 12px 36px;
  font-size: 16px;
  border-radius: 4px;
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.2s ease;
  position: relative;
}

/* INPUTボタン：ホバー時 */
input[type=submit]:hover {
  transform: translate(2px, 2px);
  background-color: #0099cc;
  background-image: repeating-linear-gradient(
    -45deg,
    transparent 0px,
    transparent 10px,
    rgba(255, 255, 255, 0.15) 10px,
    rgba(255, 255, 255, 0.15) 20px
  );
  background-size: 56px 56px;
  animation: stripe-slide 0.8s linear infinite;
}


/*
 * 通常ボタン（背景ストライプ）
 * */
@keyframes stripe-slide {
  0% { background-position: 0 0; }
  100% { background-position: -56px 0; }
}

.mss_button_2_item:hover .mss_button_2_inner {
    transform: translate(2px, 2px) !important;
    background-color: #0099cc !important;
    background-image: repeating-linear-gradient(
        -45deg,
        transparent 0px,
        transparent 10px,
        rgba(255, 255, 255, 0.15) 10px,
        rgba(255, 255, 255, 0.15) 20px
    ) !important;
    background-size: 56px 56px !important;
    animation: stripe-slide 0.8s linear infinite !important;
    transition: transform 0.2s ease, background-color 0.2s ease !important;
}

/* ホバー演出（ストライプアニメーション追加） */
.footer-btn-item:hover .footer-btn-inner {
    transform: translate(2px, 2px) !important;
    background-image: repeating-linear-gradient(
        -45deg,
        transparent 0px,
        transparent 10px,
        rgba(255, 255, 255, 0.15) 10px,
        rgba(255, 255, 255, 0.15) 20px
    ) !important;
    background-size: 56px 56px !important;
    animation: stripe-slide 0.8s linear infinite !important;
    transition: transform 0.2s ease, background-color 0.2s ease !important;
}

/* ヘッダーナビ リンクのホバー */
#navi-in > ul.menu-pc > li > a:hover,
#navi .navi-in a:hover {
    background-color: #0099cc !important;
    background-image: repeating-linear-gradient(
        -45deg,
        transparent 0px,
        transparent 10px,
        rgba(255, 255, 255, 0.15) 10px,
        rgba(255, 255, 255, 0.15) 20px
    ) !important;
    background-size: 56px 56px !important;
    animation: stripe-slide 0.8s linear infinite !important;
    border-radius: 6px !important;
    color: #ffffff !important;
}



/* フッターホバー */
/* フッターナビ リンクのホバー */
.footer-right .widget_nav_menu a:hover {
    color: #fff !important;
    background-color: transparent !important; /* ← これを追加 */
    background-image: repeating-linear-gradient(
        -45deg,
        transparent 0px,
        transparent 10px,
        rgba(255, 255, 255, 0.15) 10px,
        rgba(255, 255, 255, 0.15) 20px
    ) !important;
    background-size: 56px 56px !important;
    animation: stripe-slide 0.8s linear infinite !important;
    transition: background-color 0.2s ease !important;
    text-decoration: none !important;
}

.footer-right .widget_nav_menu a {
    display: inline-block !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
}


/* =============================================
   フッター3ボタン：文字色・アイコン・角丸修正版
   ============================================= */
.footer-nav-section.innner-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 20px !important;
    padding: 40px 10px !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
}

/* ボタンリンクのリセット */
.footer-btn-item {
    position: relative !important;
    display: block !important;
    flex: 1 !important;
    max-width: 320px !important;
    text-decoration: none !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
    background: none !important;
    border: none !important;
}

/* ボタン本体：角丸・文字色・配置 */
.footer-btn-inner {
    position: relative !important;
    z-index: 5 !important;
    border-radius: 15px !important;
    padding: 18px 5px !important;
    text-align: center !important;
    height: 100% !important;
    min-height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.2s ease !important;
    overflow: hidden !important;
    color: #ffffff !important; /* 文字色白 */
}

/* ボタン内テキストとアイコンの調整 */
.footer-btn-text {
    color: #ffffff !important;
    font-weight: bold !important;
    font-size: 0.95rem !important;
    line-height: 1.3 !important;
    display: flex !important;
    align-items: center !important;
}

/* FontAwesomeアイコンの個別調整 */
.footer-btn-text i {
    margin-right: 10px !important; /* アイコンと文字の間隔 */
    font-size: 1.1rem !important;  /* アイコンを少し大きく */
    display: inline-block !important;
}

/* 背面のずれた枠線 */
.footer-btn-item::after {
    content: "" !important;
    position: absolute !important;
    top: 6px !important;
    left: 6px !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 15px !important;
    border: 2px solid !important;
    z-index: -1 !important;
    box-sizing: border-box !important;
}

/* 個別色指定 */
a.footer-btn-item.btn-light-blue .footer-btn-inner { background-color: #00c2ff !important; }
a.footer-btn-item.btn-light-blue::after { border-color: #0073bb !important; }

a.footer-btn-item.btn-aqua .footer-btn-inner { background-color: #00d9e8 !important; }
a.footer-btn-item.btn-aqua::after { border-color: #009db1 !important; }

a.footer-btn-item.btn-dark-blue .footer-btn-inner { background-color: #006eb0 !important; }
a.footer-btn-item.btn-dark-blue::after { border-color: #00c2ff !important; }

/* ホバー演出 */
.footer-btn-item:hover .footer-btn-inner {
    transform: translate(2px, 2px) !important;
}

/* レスポンシブ */
@media (max-width: 768px) {
    .footer-nav-section.innner-container {
        flex-direction: column !important;
        align-items: center !important;
    }
    .footer-btn-item {
        width: 100% !important;
        max-width: 350px !important;
    }
}


/* =============================================
   新ボタン：mss_button_2 専用デザイン
   ============================================= */
/* 親要素：中央揃え */
.mss_button_2_container {
    margin: 40px auto !important;
    display: flex !important;
    justify-content: center !important;
}

/* 1. 外枠（aタグ）：背面の枠線を担当（場所固定・動かない） */
.mss_button_2_item {
    position: relative !important;
    display: block !important;
    width: fit-content !important;
    min-width: 250px !important;
    text-decoration: none !important;
    background: none !important;
    border: none !important;
    z-index: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 背面のずれた枠線（aタグの疑似要素） */
.mss_button_2_item::after {
    content: "" !important;
    position: absolute !important;
    top: 6px !important;  /* 右下へのズレ幅 */
    left: 6px !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 15px !important;
    border: 2px solid #0073bb !important; /* 濃い青の枠線 */
    z-index: -1 !important;
    box-sizing: border-box !important;
}

/* 2. 中身（div）：前面の塗りつぶし。これだけがマウスオーバーで動く */
.mss_button_2_inner {
    position: relative !important;
    z-index: 5 !important;
    background-color: #00c2ff !important; /* 前面の明るい水色 */
    color: #ffffff !important; /* 文字色を白に固定 */
    border-radius: 15px !important;
    padding: 15px 40px !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    /* 沈み込むアニメーション設定 */
    transition: transform 0.2s ease !important;
    
    /* テーマ由来の干渉（白い線・影）を完全に排除 */
    box-shadow: none !important;
    text-shadow: none !important;
    border: none !important;
}

/* 文字とアイコンの装飾 */
.mss_button_2_text {
    color: #ffffff !important;
    font-weight: bold !important;
    font-size: 1.1rem !important;
    display: flex !important;
    align-items: center !important;
    line-height: 1 !important;
}

.mss_button_2_text i {
    margin-right: 12px !important;
    font-size: 1.2rem !important;
}

/* 3. 【重要：ホバー演出】中身の div だけが右下に沈む */
/* これにより「背面の線は動かず本体だけがへこむ」動作になります */
.mss_button_2_item:hover .mss_button_2_inner {
    transform: translate(2px, 2px) !important; 
}

/* ホバー時の文字色を白で固定 */
.mss_button_2_item:hover .mss_button_2_text {
    color: #ffffff !important;
}




/* ========== ========== ========== ========== ==========
 * インデックス
  ========== ========== ========== ========== ==========* */
/*スライドショー*/
.slider-wrapper {
  position: relative;
	margin:0;
}

.slider-overlay-text {
  position: absolute;
  top: 45%;
  left: 5%;
  transform: translateY(-50%);
  z-index: 10;
  color: #333;
  text-shadow: none;
  text-align: center;
  width: 45%;
}

.overlay-sub {
  font-size: 22px;
  font-weight: bold;
  color: #333;
  margin-bottom: 0 !important;
  line-height: 1.2;
  text-shadow: 0 0 3px #fff, 0 0 12px #fff, 1px 1px 4px #fff;
}

.overlay-title {
  font-size: 34px;
  font-weight: bold;
  line-height: 1.3;
  margin-top: 2px !important;
  margin-bottom: 6px;
  color: #1a5fa8;
  text-shadow: 0 0 3px #fff, 0 0 16px #fff, 2px 2px 6px #fff;
}

.overlay-area {
  display: inline-block;
  background: #10BFFF;
  border: none;
  border-radius: 999px;
  padding: 6px 24px;
  font-size: 13px;
  color: #fff;
  margin-bottom: 8px;
  box-shadow: 0 4px 0 #0073bb;
}

.overlay-points {
  list-style: none;
  padding: 0;
  margin:0!important;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.7;
  color: #0073bb;
  text-align: center;
  text-shadow: 0 0 8px #fff, 0 0 16px #fff, 2px 2px 6px #fff, -2px -2px 6px #fff;
}

.overlay-points li:first-child {
  color: #1a5fa8;
}

.stats-bar {
  display: flex;
  gap: 10px;
  margin-top: 8px;
  justify-content: center;
}

.stat-item {
  border-radius: 16px;
  width: 130px;                  /* 110px→130pxに拡大 */
  height: 130px;                 /* 110px→130pxに拡大 */
  text-align: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding: 10px;
}

.stat-item:nth-child(1) {
  background: #10BFFF;
}

.stat-item:nth-child(2) {
  background: #18D1EE;
}

.stat-item:nth-child(3) {
  background: #036EB8;
}

.stat-label {
  font-size: 13px;               /* 11px→13pxに拡大 */
  display: block;
  margin-bottom: 6px;
  line-height: 1.2;
  white-space: nowrap;           /* 改行させない */
}

.stat-number {
  font-size: 36px;               /* 32px→36pxに拡大 */
  font-weight: bold;
  display: block;
  color: #fff;
  line-height: 1;
  white-space: nowrap;           /* 改行させない */
}

.stat-unit {
  font-size: 15px;               /* 13px→15pxに拡大 */
}

.stat-note {
  font-size: 10px;               /* 9px→10pxに拡大 */
  color: rgba(255,255,255,0.85);
  display: block;
  margin-top: 6px;
  line-height: 1.3;
  white-space: nowrap;           /* 改行させない */
}

/* メタスライダー */
.kadena-mainslider .flexslider {
  position: relative !important;
  overflow: hidden;
}
.kadena-mainslider .flex-control-paging {
  position: absolute !important;
  bottom: 12px !important;
  right: 16px !important;
  left: auto !important;
  top: auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 20 !important;
  display: flex !important;
  gap: 6px;
  justify-content: flex-end;
}
.kadena-mainslider .flex-control-paging li {
  margin: 0 !important;
  float: none !important;
}
.kadena-mainslider .flex-control-paging li a {
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.5) !important;
  text-indent: -9999px !important;
  font-size: 0 !important;
  overflow: hidden;
  box-shadow: none !important;
}
.kadena-mainslider .flex-control-paging li a.flex-active {
  background: #036EB8 !important;
}

/* メタスライダーのマージン調整 */
.metaslider .flexslider {
    margin: 0!important;
}




/*====================================================
 * スライドショースマホ対応
 ================================================* */

/*スライドショー上のマージン*/

@media (max-width: 768px) {
    #header-container {
        display: none !important;
    }
}


@media (max-width: 768px) {
    .slider-overlay-text {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        top: auto !important;
        left: auto !important;
        padding: 20px 16px !important;
        background-color: #fff !important;
        color: #333 !important;
        text-align: center !important;
        z-index: 1 !important;
    }
}

@media (max-width: 768px) {
    .overlay-sub {
        font-size: 0.8rem !important;
        margin-bottom: 4px !important;
    }

    .overlay-title {
        font-size: 1.4rem !important;
        line-height: 1.4 !important;
        margin-bottom: 6px !important;
    }

    .overlay-area {
        font-size: 0.75rem !important;
        margin-bottom: 8px !important;
    }

    .overlay-points {
        font-size: 0.85rem !important;
        line-height: 1.5 !important;
        margin-bottom: 10px !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .overlay-points li {
        margin-bottom: 2px !important;
    }
	
	    .metaslider.ms-theme-simply-dark.has-dots-nav {
        margin-bottom: 0 !important;
    }
}




/* ==========
  横並び＆高さ揃え（YouTubeを壊さない）
========== */
.ct_about_mss_bk{
  display: flex;
  gap: 24px;
  align-items: stretch;
}

.ct_about_mss_bk > *{
  flex: 1;                /* 均等幅だけ */
}

/* ==========
  dlカード（背景はdlだけ）
========== */
.ct_about_mss_bk dl{
  margin: 0;
  width: 100%;
  height: 100%;           /* 高さ揃えの要 */
  background: #f3f9ff;
  border: 1px solid #e2eefc;
  border-radius: 18px;
  padding: 18px 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);

  display: flex;
  flex-direction: column;
}
/* ==========
  TOPの写真サムネイルスライダ（メタスライダー）
========== */

.mss_thumb_slider {
	background:#036EB8;
	padding:1em ;
}
.metaslider .flexslider{
	margin:0;
}

/*
 * News・ブログ エリア
 * */


/* =========================
   mss_news_box：タブ見た目（添付デザイン寄せ）
========================= */
.mss_news_box .tab-label-group{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: stretch;
  gap: 0;                 /* タブ同士の隙間なし */
}

/* タブ本体 */
.mss_news_box .tab-label-group .tab-label{
  flex: 1;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
  padding: 14px 0;        /* 高さはここで調整 */
  border-radius: 12px;
  background: #d9d9d9;    /* 非アクティブ：グレー */
  color: #111;
  cursor: pointer;
  box-shadow: 0 2px 0 rgba(0,0,0,.08);
  position: relative;
  z-index: 1;
  border: none;           /* Cocoon側の枠を潰す目的 */
}

/* アクティブタブ */
.mss_news_box .tab-label-group .tab-label.is-active{
  background: #0b73b8;    /* アクティブ：青 */
  color: #fff;
  z-index: 2;
}

/* タブ境目を自然に（真ん中の“くびれ”を作る） */
.mss_news_box .tab-label-group .tab-label + .tab-label{
  margin-left: -10px;     /* ここがポイント：少し重ねる */
}

/* 右タブの角丸を少し強調（重なりで角が欠けないように） */
.mss_news_box .tab-label-group .tab-label-1{
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
}

/* 端末サイズで文字が大きすぎる場合の保険 */
@media (max-width: 600px){
  .mss_news_box .tab-label-group .tab-label{
    font-size: 16px;
    padding: 12px 0;
  }
}



/*
 * お知らせBox
 * */
/* =========================================================
   mss_news_box : FULL CSS SET（3枚が必ず横幅MAXになる強化版）
========================================================= */

/* -------------------------
   1) TAB DESIGN
------------------------- */
.mss_news_box .tab-label-group{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:stretch;
  gap:0;
}
.mss_news_box .tab-label-group .tab-label{
  flex:1;
  text-align:center;
  font-weight:700;
  font-size:18px;
  line-height:1;
  padding:14px 0;
  border-radius:12px;
  background:#d9d9d9;
  color:#111;
  cursor:pointer;
  border:none !important;
  box-shadow:0 2px 0 rgba(0,0,0,.08);
  position:relative;
  z-index:1;
}
.mss_news_box .tab-label-group .tab-label.is-active{
  background:#0b73b8;
  color:#fff;
  z-index:2;
}
.mss_news_box .tab-label-group .tab-label + .tab-label{
  margin-left:-10px;
}
@media (max-width:600px){
  .mss_news_box .tab-label-group .tab-label{
    font-size:16px;
    padding:12px 0;
  }
}


/* -------------------------
   2) BLOG LIST LAYOUT（3枚で横幅MAX 強制版）
------------------------- */

/* Swiperコンテナが幅を持つように念押し */
.mss_news_box .swiper,
.mss_news_box .swiper-container,
.mss_news_box .new-entry-cards,
.mss_news_box .new-list-box{
  width: 100% !important;
  max-width: none !important;
}

/* wrapper */
.mss_news_box .swiper-wrapper{
  display:flex !important;
  gap:24px;
  transform:none !important;     /* 3枚固定表示 */
  width:100% !important;
  box-sizing:border-box;
}

/* slide（aタグ）：
   ここで「広がれない原因」になりがちな width/max-width を潰す */
.mss_news_box .swiper-wrapper > a.swiper-slide{
  display:block !important;

  /* 3分割（gap 24×2=48） */
  flex: 0 0 calc((100% - 48px) / 3) !important;
  width: calc((100% - 48px) / 3) !important;

  /* Cocoon/Swiper側の“上限”を無効化 */
  max-width: none !important;
  min-width: 0 !important;

  /* Swiperが入れてくる余計なものを無効化 */
  margin-right: 0 !important;

  text-decoration:none;
  color:inherit;
  box-sizing:border-box;
}

/* タブレット：2枚 */
@media (max-width:900px){
  .mss_news_box .swiper-wrapper{ gap:16px; }
  .mss_news_box .swiper-wrapper > a.swiper-slide{
    flex: 0 0 calc((100% - 16px) / 2) !important;
    width: calc((100% - 16px) / 2) !important;
  }
}

/* スマホ：1枚 */
@media (max-width:600px){
  .mss_news_box .swiper-wrapper{ gap:12px; }
  .mss_news_box .swiper-wrapper > a.swiper-slide{
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}


/* -------------------------
   3) BLOG CARD DESIGN
------------------------- */
.mss_news_box .new-entry-card{
  height:100%;
  background:#fff !important;
  border:1px solid #d9d9d9 !important;
  border-radius:14px !important;
  overflow:hidden !important;
  box-shadow:0 2px 0 rgba(0,0,0,.06) !important;
  transition:transform .15s ease, box-shadow .15s ease;
}
@media (hover:hover){
  .mss_news_box a.new-entry-card-link:hover .new-entry-card{
    transform:translateY(-2px);
    box-shadow:0 6px 16px rgba(0,0,0,.10) !important;
  }
}
.mss_news_box .new-entry-card-thumb{ margin:0 !important; }
.mss_news_box .new-entry-card-thumb img{
  display:block;
  width:100% !important;
  height:160px;            /* 必要なら 180px */
  object-fit:cover;
}
.mss_news_box .new-entry-card-content{
  padding:12px 14px 14px !important;
}
.mss_news_box .new-entry-card-title{
  font-weight:700;
  font-size:15px;
  line-height:1.4;
  margin:0 0 8px !important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.mss_news_box .new-entry-card-meta{
  font-size:12px;
  opacity:.85;
}
.mss_news_box .new-entry-card-meta .fa-clock{
  margin-right:6px;
  opacity:.7;
}


/* =============================================
   紹介セクション
   ============================================= */
.intro-section {
    padding: 60px 20px !important;
}

/* innner-container が持つ 2列グリッド設定を
   このセクションに限り「1列」へ強制的に上書きします
*/
.intro-section.innner-container {
    display: block !important; /* グリッドを解除 */
    max-width: 900px !important; /* 読みやすい幅に調整 */
    margin: 0 auto !important;
}



/* =============================================
   紹介セクション：ベース背景
   ============================================= */
.intro-section {
    padding: 60px 20px !important;
}

/* innner-container が持つ 2列グリッド設定を解除して縦積みに強制上書き */
.intro-section.innner-container {
    display: block !important; 
    max-width: 900px !important; 
    margin: 0 auto !important;
}

/* =============================================
   各紹介アイテムの並び（縦に積む）
   ============================================= */
.intro-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 25px !important;
    margin-bottom: 40px !important;
}

/* アイコン画像コンテナ */
.intro-image-container {
    flex: 0 0 100px !important;
}

/* 丸いオレンジのアイコン部分（共通設定） */
.intro-avatar {
    width: 100px !important;
    height: 100px !important;
    background-color: #f39c12 !important; /* 画像がない時のベース色 */
    border-radius: 50% !important;
    background-size: cover !important;
    background-position: center !important;
    border: none !important;
    overflow: hidden !important;
}

/* --- ダミー画像の割り当て --- */



/* mem_01 */
.intro-avatar.mem_01 {
  background-image: url('/wp-content/themes/cocoon-master/images/obasan.png') !important;
}

/* mem_02 */
.intro-avatar.mem_02 {
  background-image: url('/wp-content/themes/cocoon-master/images/man.png') !important;
}

/* mem_03 */
.intro-avatar.mem_03 {
  background-image: url('/wp-content/themes/cocoon-master/images/b-woman.png') !important;
}


/* =============================================
   H3タイトル：テーマ装飾を完全に抹消
   ============================================= */
.article h3.intro-name {
    border: 0px none transparent !important;
    border-top: 0px none transparent !important;
    border-right: 0px none transparent !important;
    border-bottom: 0px none transparent !important;
    border-left: 0px none transparent !important;
    background: transparent none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 0 10px 10px !important;
    color: #333 !important;
    font-size: 1.1rem !important;
    font-weight: bold !important;
    line-height: 1.4 !important;
    min-height: 0 !important;
    text-align: left !important;
}

.article h3.intro-name::before,
.article h3.intro-name::after {
    content: none !important;
    display: none !important;
}

/* =============================================
   吹き出し（白いボックス）
   ============================================= */
.intro-balloon {
    background-color: #ffffff !important;
    border-radius: 20px !important;
    padding: 25px 30px !important;
    position: relative !important;
    box-shadow: none !important;
    border: none !important;
}

.intro-quote {
    font-weight: bold !important;
    margin: 0 0 10px 0 !important;
    color: #333 !important;
    font-size: 1.05rem !important;
}

.intro-text {
    font-size: 0.95rem !important;
    line-height: 1.8 !important;
    color: #333 !important;
    margin: 0 !important;
}

/* =============================================
   レスポンシブ：スマホ対応
   ============================================= */
@media (max-width: 768px) {
    .intro-item {
        flex-direction: column !important;
        align-items: center !important;
    }
    .article h3.intro-name {
        margin: 10px 0 !important;
        text-align: center !important;
    }
}


/* =============================================
   FAQセクション：全体レイアウト
   ============================================= */
/* innner-container のグリッドを解除し、縦積みを強制 */
.faq-section.innner-container {
    display: block !important; 
    max-width: 900px !important; 
    margin: 0 auto !important;
    padding: 40px 20px !important;
}

.faq-item {
    margin-bottom: 30px !important; /* 各FAQ同士の隙間 */
    display: block !important;
}

/* =============================================
   Q（質問）部分：青いタイトルバー
   ============================================= */
.faq-question {
    background-color: #0073bb !important;
    border-radius: 15px 15px 0 0 !important;
    padding: 15px 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    margin-bottom: 0 !important; 
}

.faq-icon-q {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    background-color: #ffffff !important;
    color: #0073bb !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: bold !important;
    font-size: 1.2rem !important;
}

/* 質問テキスト（H3リセット） */
.article h3.faq-question-text {
    border: 0px none transparent !important;
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    margin: 0 !important; 
    padding: 0 !important;
    color: #ffffff !important;
    font-size: 1.05rem !important;
    font-weight: bold !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

.article h3.faq-question-text::before,
.article h3.faq-question-text::after {
    content: none !important;
    display: none !important;
}

/* =============================================
   A（回答）部分：青い枠線の白いボックス
   ============================================= */
.faq-answer {
    background-color: #ffffff !important;
    border: 2px solid #0073bb !important; 
    border-top: none !important;
    border-radius: 0 0 15px 15px !important;
    padding: 20px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 15px !important;
    margin-top: 0 !important; 
}

.faq-icon-a {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    background-color: #00d4ff !important; 
    color: #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: bold !important;
    font-size: 1.2rem !important;
    /* アイコンが一行目のテキスト中央に来るよう調整 */
    margin-top: 2px !important; 
}

/* 回答テキストエリア：行間と余白の修正 */
.faq-answer-content {
    flex: 1 !important;
}

.faq-answer-content p {
    /* 行間を詰め、段落間の隙間をデザインに合わせる */
    margin: 0 0 5px 0 !important; 
    font-size: 0.95rem !important;
    line-height: 1.4 !important; /* 文字の高さを詰める */
    color: #333 !important;
    border: none !important;
    background: none !important;
    padding: 0 !important;
}

.faq-answer-content p:last-child {
    margin-bottom: 0 !important;
}

/* =============================================
   レスポンシブ
   ============================================= */
@media (max-width: 768px) {
    .faq-question, .faq-answer {
        padding: 15px !important;
        gap: 10px !important;
    }
}


/* =============================================
   1日の流れ・給与待遇：全体コンテナ
   ============================================= */
.daily-info-section.innner-container {
    gap: 40px !important;
    padding: 40px 0 !important;
    align-items: stretch !important;
}

/* 共通タイトル（H2リセット）：それぞれのコンテンツの中央に配置 */
.article h2.section-title {
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 25px 0 !important;
    color: #333 !important;
    font-size: 1.5rem !important;
    font-weight: bold !important;
    text-align: center !important; /* 各カラムの中央に配置 */
}

.article h2.section-title::before,
.article h2.section-title::after {
    content: none !important;
    display: none !important;
}

/* =============================================
   左側：タイムラインの実装
   ============================================= */
/* タイムライン全体を中央に寄せるための調整 */
.schedule-column {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* タイトルに合わせて中身を中央寄せ */
}

.timeline-container {
    position: relative !important;
    padding-top: 10px !important;
    width: fit-content !important; /* コンテンツ幅に合わせる */
    margin: 0 auto !important; /* 中央配置 */
}

/* 縦のライン（青い棒） */
.timeline-container::before {
    content: "" !important;
    position: absolute !important;
    left: 28px !important; /* 時計アイコン(56px)の半分 */
    top: 30px !important;
    bottom: 30px !important;
    width: 4px !important;
    background-color: #00d4ff !important;
    z-index: 0 !important;
}

.timeline-item {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 40px !important;
    position: relative !important;
    z-index: 1 !important;
}

.timeline-item:last-child {
    margin-bottom: 0 !important;
}

.timeline-marker {
    flex: 0 0 60px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-right: 20px !important;
}

.clock-icon {
    width: 56px !important;
    height: 56px !important;
    background-color: transparent !important;
}

.dot {
    width: 24px !important;
    height: 24px !important;
    background-color: #00d4ff !important;
    border-radius: 50% !important;
    display: block !important;
}

.timeline-content {
    display: flex !important;
    gap: 15px !important;
    font-size: 1.1rem !important;
    font-weight: bold !important;
    color: #333 !important;
    white-space: nowrap !important; /* 折り返し防止 */
}

/* =============================================
   右側：給与・待遇カード
   ============================================= */
.benefits-column {
    display: flex !important;
    flex-direction: column !important;
}

.benefits-white-card {
    background-color: #ffffff !important;
    border: 2px solid #00d4ff !important;
    border-radius: 20px !important;
    padding: 30px !important;
    /* タイトル中央寄せに合わせ、カードの高さと幅を調整 */
    flex-grow: 1 !important;
    display: flex !important;
    align-items: center !important;
    box-shadow: none !important;
}

.benefits-text p {
    margin: 0 0 15px 0 !important;
    line-height: 1.6 !important;
    color: #333 !important;
    font-size: 1rem !important;
    font-weight: bold !important;
}

.benefits-text p:last-child {
    margin-bottom: 0 !important;
}

/* =============================================
   レスポンシブ：スマホ対応
   ============================================= */
@media (max-width: 768px) {
    .daily-info-section.innner-container {
        grid-template-columns: 1fr !important;
    }
    
    .benefits-white-card {
        height: auto !important;
        padding: 20px !important;
    }
}


/* ==========＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
  見出し（dt）装飾：中央＋青＋下線（線が消えないよう強めに指定）
==========＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.ct_about_mss_bk dl > dt{
  margin: 0 0 12px;
  padding: 0 0 14px;
  text-align: center;
  color: #0b63b6;
  font-weight: 800;
  font-size: 1.35rem;
  line-height: 1.35;
  position: relative;
}

/* 下線：短いセンターライン */
.ct_about_mss_bk dl > dt::after{
  content: "";
  display: block;
  width: 42%;
  max-width: 220px;
  height: 2px;
  margin: 12px auto 0;
  background: rgba(11,99,182,.35);
  border-radius: 999px;
}

/* 本文（dd） */
.ct_about_mss_bk dl > dd{
  margin: 0;
  color: #333;
  font-size: 0.98rem;
  line-height: 1.9;
}



/* =============================================
   強みブロック：全体コンテナ（2列固定）
   ============================================= */
.support-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
    padding: 20px 0 !important;
    max-width: 1000px;
    margin: 0 auto;
}

/* =============================================
   カード本体
   ============================================= */
.support-item {
    background-color: #0073bb !important;
    border-radius: 24px !important;
    padding: 25px 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    box-sizing: border-box !important;
    border: none !important;
    box-shadow: none !important;
}

/* 左側：画像エリア（切り込みを右上に修正） */
.support-image {
    flex: 0 0 140px !important;
    height: 140px !important;
    background-color: #fff !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    /* 右上を斜めにカット：polygon(左上, 右上カット開始, 右上カット終了, 右下, 左下) */
    clip-path: polygon(0 0, 82% 0, 100% 18%, 100% 100%, 0 100%) !important;
    border: none !important;
}

.support-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* 右側：テキストエリア */
.support-body {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

/*　スマホ対応  */
@media (max-width: 768px) {
  .innner-container {
    display: flex !important;
    flex-direction: column !important;
  }

  .support-item {
    width: 100% !important;
  }
}
/* =============================================
   H3タイトル：テーマ装飾・境界線・背景を完全消去
   ============================================= */
.article h3.support-title {
    /* 1. 境界線を完全にゼロ（金色の線もなし） */
    border: 0px none transparent !important;
    border-top: 0px none transparent !important;
    border-right: 0px none transparent !important;
    border-bottom: 0px none transparent !important;
    border-left: 0px none transparent !important;
    
    /* 2. 背景・影・装飾を完全に除去 */
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
    outline: none !important;
    border-radius: 0 !important;
    
    /* 3. 余白とフォント設定 */
    padding: 0 !important;
    margin: 0 0 10px 0 !important;
    color: #ffffff !important;
    font-size: 1.15rem !important;
    font-weight: bold !important;
    line-height: 1.4 !important;
    min-height: 0 !important;
}

/* 4. 疑似要素（::before / ::after）を物理的に削除・無効化 */
.article h3.support-title::before,
.article h3.support-title::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* =============================================
   説明文（白いボックス）
   ============================================= */
.support-text {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    padding: 12px 15px !important;
    min-height: 70px !important;
    display: flex !important;
    align-items: center !important;
    border: none !important;
}

.support-text p {
    color: #333 !important;
    font-size: 0.85rem !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

/* =============================================
   レスポンシブ：スマホ対応
   ============================================= */
@media (max-width: 768px) {
    .support-container {
        grid-template-columns: 1fr !important;
    }
    .support-item {
        flex-direction: column !important;
        text-align: center !important;
    }
    .support-image {
        margin-bottom: 10px !important;
    }
}


/* =============================================
   スタッフ紹介：全体・タイトル
   ============================================= */
.staff-intro-section {
    padding: 60px 0 !important;
}

.staff-header {
    text-align: center !important;
    margin-bottom: 40px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.staff-cloud-image img {
    width: 200px !important; /* SVGのサイズ固定 */
    height: auto !important;
}

/* 水色の点 */
.staff-dots {
    margin: 5px 0 !important;
}
.staff-dots span {
    display: inline-block !important;
    width: 10px !important;
    height: 10px !important;
    background-color: #00d4ff !important;
    border-radius: 50% !important;
    margin: 0 5px !important;
}

.article h2.staff-main-title {
    border: none !important;
    background: none !important;
    font-size: 1.8rem !important;
    font-weight: bold !important;
    color: #333 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* =============================================
   スタッフ紹介：グリッド設定（3列）
   ============================================= */
.staff-grid.innner-container {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}

/* =============================================
   スタッフカード本体
   ============================================= */
.staff-card {
    background-color: #0073bb !important;
    border-radius: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
}

.staff-card-header {
    padding: 20px 20px 15px 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}

.staff-avatar {
    flex: 0 0 75px !important;
    height: 75px !important;
    background-color: #f39c12 !important; /* オレンジ背景 */
    border-radius: 50% !important;
    overflow: hidden !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.staff-avatar img {
    width: 85% !important; /* SVGの余白調整 */
    height: 85% !important;
    object-fit: contain !important;
}

.staff-info {
    display: flex !important;
    flex-direction: column !important;
}

.staff-role {
    color: #ffffff !important;
    font-size: 0.9rem !important;
    margin-bottom: 2px !important;
}

.staff-name {
    color: #f39c12 !important;
    font-size: 1.25rem !important;
    font-weight: bold !important;
}

/* カード下部：白いメッセージエリア */
.staff-card-body {
    background-color: #ffffff !important;
    margin: 0 12px 12px 12px !important;
    border-radius: 12px !important;
    padding: 20px !important;
    flex-grow: 1 !important;
}

.staff-card-body p {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: #333 !important;
    margin: 0 !important;
}

/* =============================================
   レスポンス対応
   ============================================= */
@media (max-width: 960px) {
    .staff-grid.innner-container {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 600px) {
    .staff-grid.innner-container {
        grid-template-columns: 1fr !important;
    }
}



/* =============================================
 * フッター統合カスタマイズ（左寄せ・ライン揃え版）
 * ============================================= */

/* 1. フッター全体の幅制限を解除して両端に飛ばす */
.footer-in {
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto;
    padding: 0 5% !important;
}

.footer-widgets {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start;
}

.footer-left {
    flex: 0 0 auto;
}

.footer-right {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end !important;
}

/* 2. 1段目・2段目メニューの共通設定 */
.footer-right .widget_nav_menu {
    width: auto;
    margin-bottom: 8px !important;
    padding-left: 0;
}

.footer-right .widget_nav_menu ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    gap: 0 25px;
}

/* 編集用アイコン（鉛筆ボタン）の除外 */
.footer-right .widget_nav_menu li .item-edit {
    display: none !important;
}

.footer-right .widget_nav_menu li {
    margin: 0 !important;
    padding: 2px 0 !important;
    border: none !important;
    line-height: 1.2;
    display: flex;
    align-items: center;
    white-space: nowrap !important;
}

.footer-right .widget_nav_menu a {
    font-size: 14px;
    color: #fff;
    text-decoration: none;
}

/* 3. 2段目メニューの「●」装飾 */
.menu-ft_msskadena_2nd-container li::before {
    font-family: "Font Awesome 5 Free";
    content: "\f111";
    font-weight: 900;
    font-size: 0.6em;
    color: #9ED3FF;
    margin-right: 8px;
    flex-shrink: 0;
}

/* 4. 3段目サイトマップ（カスタムHTML）：高さの完全同期 */
.footer-sitemap-container {
    display: flex;
    justify-content: flex-end;
    gap: 40px;
    margin-top: 25px;
}

.sitemap-column {
    display: flex;
    flex-direction: column;
}

.sitemap-title {
    color: #fff;
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: 12px !important; /* タイトル下の余白 */
    border: none !important;
    height: 1.5em; /* タイトルの高さを固定して、3列目の空白と同期 */
    line-height: 1.5;
}

/* 3列目のタイトルがない部分の高さ確保 */
.sitemap-list.no-title-area {
    margin-top: calc(1.5em + 12px) !important; /* タイトルの高さ + margin-bottom 分 */
}

.sitemap-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-left: 2px solid #fff;
    text-align: left;
}

.sitemap-list li {
    padding: 0 0 8px 15px !important; /* 各行の下余白 8px */
    line-height: 1.4; /* 全列共通の行高さ */
    white-space: nowrap;
}

.sitemap-list li a {
    color: #fff;
    text-decoration: underline;
    font-size: 14px;
}



/* 5. コピーライト */
.footer-bottom.fdt-left-and-right .footer-bottom-content {
    float: none;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column-reverse;
}

/* フッター左のSVGロゴサイズ制御 */
.footer-left .widget_media_image img {
  width: 300px;
  height: auto;
  max-width: 100%;
}

/* スマホは横幅いっぱい */
@media (max-width: 768px) {
  .footer-left .widget_media_image img {
    width: 100%;
  }
}

/* =============================================
 * 左側ブロック（14px固定 ＋ 立体シャドウボタン）
 * ============================================= */

/* 1. 基本テキストを14pxに固定 */
.footer-left-content {
    color: #fff;
    text-align: left;
    font-size: 14px !important;
}

/* 2. 社名・事業所名（ここだけ少し大きく） */
.company-name, .office-name {
    font-size: 16px !important;
    font-weight: bold;
    margin: 0 !important;
    line-height: 1.4;
}

/* 3. 住所・連絡先を14pxに */
.footer-contact-details {
    margin-top: 15px;
}

.footer-contact-details p {
    font-size: 14px !important;
    line-height: 1.6;
    margin-bottom: 8px !important;
}

/* 4. LINEお問い合わせボタン（白いボタン＋水色シャドウ） */
/* LINEお問い合わせボタン */
.line-contact-btn {
    display: inline-flex;
    align-items: center;
    background-color: #fff;
    color: #0073bb !important;
    padding: 6px 30px 6px 10px;
    border-radius: 50px;
    text-decoration: none !important;
    font-weight: bold;
    font-size: 15px;
    min-height: 50px;
    box-shadow: 0 4px 0px 0px #32d1f1; /* 初期シャドウ */
    margin-top: 15px;
    transition: all 0.2s ease;
    position: relative;
}

/* マウスオーバー時 */
.line-contact-btn:hover {
    opacity: 0.9;
    box-shadow: 0 2px 0px 0px #32d1f1; /* シャドウの位置を少し上に */
    transform: translateY(2px); /* ボタンがへこむ */
}

/* クリック時 */
.line-contact-btn:active {
    transform: translateY(2px); /* 元に戻す */
    box-shadow: 0 2px 0px 0px #32d1f1; /* ボタンの位置を調整 */
}

/* 5. LINEロゴ（SVG）の調整 */
.line-icon {
    width: 38px;
    height: 38px;
    margin-right: 12px;
    border-radius: 50%;
    object-fit: contain;
    flex-shrink: 0;
}


/*==================================================================
 * 下層のスタイル
 * body に　mss_kadena kasou
 * トップはhome
 ==================================================================* */

body.mss_kadena {
	background:#fff;
}

body.kasou.mss_kadena h1 {
	text-align:center;
	margin:0;
}

body.kasou.mss_kadena .entry-content {
	padding:2em
}

/* 下層ページ H1 */
header.article-header.entry-header {
    background: #f7f7f7;
		padding:4em 0!important;
}


/* 下層ページ　H2 */

.txt_blue{
	color:#036EB8;
}
.txt_l{
	font-size:1.5rem;
}
.txt_s{
	font-size:.9rem;
}
.bg_gray{
	color:#036EB8;
}

.pdng_box{
	padding:1em;
}

/*　
 * 下層ページ　背景色  bg-box + 色
 * */
.bg-box{
	background: #f3f3fb;
  border-radius: 12px;
  padding: 2em 2em 2em 3em !important;  /* 左だけ多めに */
}

.bg-blue {
	background: #f3f3fb;
}

.bg-gray {
  background: #eee;
}


/* 
 * 下層ページの横幅
 *  */
body.kasou .entry-content {
  max-width: 1256px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1em;
  padding-right: 1em;
  box-sizing: border-box;
}

/* タブレット */
@media (max-width: 1024px) {
  body.kasou .entry-content {
    max-width: 100%;
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
}

/* スマホ */
@media (max-width: 768px) {
  body.kasou .entry-content {
    max-width: 100%;
    padding-left: 1em;
    padding-right: 1em;
  }
}


/* Slagをトップは 削除 */
.home .entry-slug {
	display:none;
}

body.kasou.mss_kadena header.article-header.entry-header{
	padding:2em 0;
}
/* Slagのスタイル（下層のみ） */
.entry-slug {
  font-size: 1em;
  color: #1a5fa8;
  font-weight: bold;
  text-align: center;
  margin:0!important;
  text-transform: capitalize; /* 先頭を大文字に */
}



/*
 * 理念ページ
 * */

/* ページアンカー　*/
.page-anchor-nav {
  text-align: center;
  margin: 16px 0;
}

.anchor-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline-flex;
  gap: 32px;
}

.anchor-list li {
  display: flex;
  align-items: center;
}

.anchor-list li a {
  color: #333;
  text-decoration: none;
  font-size: 15px;
  font-weight: bold;
  padding: 6px 24px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: 6px;
  background: #efefef;           /* デフォルト時は薄いグレー */
  transition: background 0.2s ease, color 0.2s ease;
}

.anchor-dot {
  color: #1a5fa8 !important;
  font-size: 10px;
  transition: color 0.2s ease;
}

.anchor-list li a:hover {
  background: #036EB8;
  color: #fff;
}

.anchor-list li a:hover .anchor-dot {
  color: #fff !important;
}


/*
 *  Table 
 * */
.tbl_company table tr ,
.tbl_company table th ,
.tbl_company table td{
	background:none;
	border:none;
	vertical-align:top;
	text-align:left;
}
.tbl_company table th {
	width:30%;
}
.tbl_company table tr {
	border-bottom:1px solid #efefef;
}

/* 理念ページ */
.philosophy-cards {
  display: flex;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 40px auto;
  max-width: 100%;
}

.philosophy-card {
  background: #f0f8ff;
  border-radius: 12px;
  padding: 40px 32px;            /* 上下余白を増やして正方形に近づける */
  flex: 1;
  min-width: 220px;
  max-width: 100%;
  text-align: center;
}

.card-ruby {
  font-size: 22px;
  font-weight: bold;
  color: #1a5fa8;
  margin-bottom: 6px !important;
  margin-top: 0 !important;
  line-height: 1.4;
}

.card-title {
  font-size: 20px;
  font-weight: bold;
  color: #1a5fa8;
  margin-top: 0 !important;
  margin-bottom: 20px !important; /* タイトルと本文の間を確保 */
  padding-bottom: 0;
  border: none;
  line-height: 1.4;
}

.card-text {
  font-size: 16px;
  color: #333;
  line-height: 1.8;
  text-align: center;            /* センタリング */
  margin: 0 !important;
}


/*
 * 理念　リスト
 * */

.wp-block-list li {
  list-style: decimal !important;  /* layout.cssのnoneを上書き */
  color: #333;
  line-height: 2;
  padding-left: 0.5em;
	margin-left:2em!important
}

.wp-block-list {
  padding-left: 1.5em !important;
}

.wp-block-list li::marker {
  color: #1a5fa8;
  font-weight: bold;
}

.cp_map{
	width:100%;
	height:500px;
}




/* カード背景ブルー */
.list-card {
  background: #f0f8ff;
  border-radius: 12px;
  padding: 2em 2em 2em 3em !important;  /* 左だけ多めに */
}


/*==========================*/
/* 下層ページ H2 共通*/

.mss_kadena.kasou .article h2{
	background:none;
	border-bottom:1px solid #D9D9D9;
	padding-bottom:.5em
}

.mss_kadena.kasou .article h3{
	border:none;
	padding:0;
}

/*==========================*/
/* 下層ページ H3 ラインあり */
/*==========================*/
h3.wp-block-heading.section-heading {
  font-size: 20px !important;
  font-weight: bold !important;
  color: #1a5fa8 !important;
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: .8em !important;
  border: none !important;
  border-bottom: 1px solid #ccc !important;
  position: relative !important;
  margin-bottom: 24px !important;
  background: none !important;
}

h3.wp-block-heading.section-heading::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100px;
  height: 3px;
  background: #1a5fa8;
}

h3.wp-block-heading.section-heading::before {
  display: none !important;
}


/*
 * スマホフッター設定
 * */

@media (max-width: 768px) {

  /* ロゴをセンタリング・半分サイズ */
  .widget_media_image img {
    display: block;
    margin: 0 auto;
    width: 50% !important;
    height: auto !important;
  }

  /* テキスト全体をセンタリング */
  .footer-left-content {
    text-align: center;
  }

  /* お問い合わせボタンをセンタリング */
  .footer-action {
    display: flex;
    justify-content: center;
  }
	/* 右ナビは非表示 */
	.footer-right{
		display:none;
	}
}


/*=================================================
 * 投稿ページコンテンツ
 ================================================* */




body.archive .article-header.entry-header,
body.category .article-header.entry-header,
body.tag .article-header.entry-header {
  text-align: center;
  padding: 3em 2em;
}

/* トップページは完全にリセット */
body.home .article-header.entry-header,
body.front-page .article-header.entry-header {
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  height: 0;
  overflow: hidden;
  display: none;
}

body.archive .entry-title, 
body.archive .archive-title, 
body.single .entry-title, 
body.single .archive-title{
	margin:0;
}

/* アーカイブページの記事一覧
 * 記事トップのタブ、WRAPを強制指定する場所
 * wrapを適用 */
body.archive #list,
body.category #list ,
aside.widget_nav_menu,
.wrap_inner{
  max-width: 1256px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1em;
  padding-right: 1em;
  box-sizing: border-box;
}
/* 記事詳細ページのコンテンツ幅制限 */
body.single .entry-content,
body.single .article-footer ,
body.single .under-entry-content{
  max-width: 1256px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1em;
  padding-right: 1em;
  box-sizing: border-box;
}

/* 記事詳細ページのヘッダーを固定ページ風に */
body.single .article-header.entry-header {
  text-align: center;
  padding: 3em 2em;
}

body.single .article-header.entry-header .entry-slug {
  margin-bottom: 0.5em;
}

body.single .article-header.entry-header .entry-title {
  text-align: center;
}
body.single .article h2{
	background:none;
	font-size:2rem;
	padding:1em 0 0 0em;
}

/* 日付など */
.post-title-area {
  margin-bottom: 20px;
}

.post-title-area .post-title {
  font-size: 28px;
  padding: 0;
  background-color: transparent;
  border-radius: 0;
  margin-bottom: 8px;
  display: block;
}

.post-title-area .date-tags {
  display: inline-flex;
  align-items: center;
  float: none;
  margin-bottom: 0;
}

.post-title-area .post-date {
  float: none;
  margin-right: 12px;
}

.post-title-area .entry-categories-tags {
  display: inline-flex;
  align-items: center;
}

.back-to-category {
  display: block;
  margin-top: 40px;
}

.cat-link{
	background:none;
	color:#333;
}

h2.related-entry-heading,
.widget-title{
	background:#036EB8;
	color:#fff;
	border:1px solid #cccc;
	padding:.5em 1em;
}


@media (max-width: 768px) {
  footer.article-footer {
    margin-top: 120px;
  }
}



/* お知らせページのカテゴリメニュー */
.menu-mnu_newspage-container {
  text-align: center;
  margin: 16px 0;
}

#menu-mnu_newspage {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  gap: 32px !important;
}

#menu-mnu_newspage li {
  display: flex !important;
  align-items: center !important;
}

#menu-mnu_newspage li a {
  color: #333 !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: bold !important;
  padding: 6px 24px !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #efefef !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}

#menu-mnu_newspage li a::before {
  content: "•" !important;
  color: #1a5fa8 !important;
  font-size: 10px !important;
}

#menu-mnu_newspage li a:hover {
  background: #036EB8 !important;
  color: #fff !important;
}

#menu-mnu_newspage li a:hover::before {
  color: #fff !important;
}

/* 現在のページをアクティブ表示 */
#menu-mnu_newspage .current-menu-item a {
  background: #036EB8 !important;
  color: #fff !important;
}

#menu-mnu_newspage .current-menu-item a::before {
  color: #fff !important;
}



/*　========================================
 * VOC
 ========================================*/

.voc-block {
  width: 100%;
  padding: 40px 20px;
  box-sizing: border-box;
  margin-bottom: 20px;
}

.voc-inner {
  display: flex;
  align-items: center;
  gap: 40px;
  max-width: 900px;
  margin: 0 auto;
}

.voc-inner--reverse {
  flex-direction: row-reverse;
}




.voc-inner {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  max-width: 900px;
  margin: 0 auto;
}

.voc-image {
  flex: 0 0 350px;
  width: 350px;
}

.voc-image img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
  display: block;
}




.voc-body {
  flex: 1;
  background-color: #ffffff;
  border-radius: 12px;
  padding: 30px;
  box-sizing: border-box;
}

.voc-name {
  font-size: 1.1rem;
  font-weight: bold;
  color: #0073bb !important;
  margin-bottom: 16px;
  margin-top: 0;
}

.voc-text {
  font-size: 0.95rem;
  line-height: 1.8;
  color: #444;
  margin: 0;
}

/* スマホ：縦積み */
@media (max-width: 768px) {
  .voc-inner,
  .voc-inner--reverse {
    flex-direction: column;
  }

  .voc-image {
    flex: none;
    width: 100%;
  }

  .voc-image img {
    height: 220px;
  }

  .voc-body {
    width: 100%;
  }
}

/*=================================================
 * FAQ
================================================= */

.mss-faq-block {
  max-width: 900px;
  margin: 0 auto;
}

.mss-faq-item {
  border-top: 1px solid #ccc;
  padding: 30px 0;
}

.mss-faq-item:last-child {
  border-bottom: 1px solid #ccc;
}

.mss-faq-question {
  display: flex !important;
  align-items: flex-start !important;
  gap: 20px !important;
  margin-bottom: 16px !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.mss-faq-q {
  font-size: 1.6rem;
  font-weight: bold;
  color: #0073bb;
  line-height: 1;
  flex-shrink: 0;
}

.mss-faq-q-text {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  margin: 0;
  line-height: 1.7;
  padding-top: 4px;
}

.mss-faq-answer {
  padding-left: 44px !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin-top: 0 !important;
}

.mss-faq-a-text {
  font-size: 0.95rem;
  color: #444;
  line-height: 1.8;
  margin: 0;
}

@media (max-width: 768px) {
  .mss-faq-question {
    gap: 12px !important;
  }

  .mss-faq-answer {
    padding-left: 36px !important;
  }
}


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

.CF7_req{
	background:#ff0000;
	padding:.5em .8em;
	color:#fff;
	font-size:.8rem;
	margin-right:.5em;
}

@media (max-width: 768px) {
	table.CF7_table  td , table.CF7_table  th{
		display:block;
		padding:1em;
	}
	table.CF7_table  td , table.CF7_table  th p{
		margin:0;
	}
}

/* Wave 設定 */
#footer{
	margin-top:0!important;
	padding-top:5em;
	background:none!important;
}
aside.widget_text {
    margin-bottom: 0 !important;
}
.footer-widgets, .footer-widgets-mobile {
    margin: 0px auto!important;
    display: flex;
}
.footer-bottom{
	margin-top:0!important;
}
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
