@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.2
*/
/************************************
** 子テーマ用のスタイルを書く
************************************/
/*-----------------
【popup】公式LINE
-------------------*/
#popmake-7076 {
  border-radius: 0;
}
#popmake-7076 .vertical-text {
  writing-mode: vertical-rl;
}
#popmake-7076 .line-span {
  color: #fff280;
}
/* ボタン全体をリンクとして機能させる設定 */
.line-popBox {
  display: block;
  width: 100%;
  height: 100%;
}
#popmake-7076 .full-clickable-button {
  /*display: block;*/ /* インライン要素からブロック要素に変更 */
  text-decoration: none; /* リンクの下線を消す */
  color: inherit; /* 文字色を継承 */
  /*width: 100%; */ /* 親要素の幅いっぱいに広げる */
  /*height: 100%;*/ /* 親要素の高さいっぱいに広げる */
  cursor: pointer; /* カーソルを指のマークにする */
}
#popmake-7076 .full-clickable-button span {
  display: block;
}
/* 縦書きの設定（現状のものを活かす場合） */
#popmake-7076 .vertical-text {
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  margin: 0;
  padding: 0; /* ここで中の余白を調整 */
  line-height: 1.4;
}
#popmake-7076 .vertical-text a {
  color: #fff;
}
/* ボタン全体のデザイン */
#popmake-7076 .line-side-button {
  display: flex;
  flex-direction: column; /* 上から下に並べる */
  align-items: center; /* 横方向の中央揃え */
  background-color: #06C755; /* LINE公式の緑色 */
  padding: 15px 5px;
  border-radius: 15px 0 0 15px; /* 左側だけ丸くする（画像に合わせる場合） */
  text-decoration: none;
  width: 60px; /* ボタンの幅を調整 */
}
/* LINEアイコンのサイズ調整 */
#popmake-7076 .line-icon-img {
  width: 40px; /* アイコンの大きさ */
  height: auto;
  /* margin-bottom: 10px; */
}
/* 縦書きテキストの設定 */
#popmake-7076 .vertical-text {
  writing-mode: vertical-rl;
  color: white;
  font-size: 16px;
  line-height: 1.4;
  margin: 0;
}
/* 黄色の文字強調 */
#popmake-7076 .yellow-text {
  color: #fff100;
}
/* ポップアップの閉じるボタン（×）を非表示にする */
#popmake-7076 .pum-close.popmake-close {
  /*display: none !important;*/
}
/*-----------------
【popup】64期生メッセージ
-------------------*/
#pum_popup_title_6874 {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #004D40;
}
/*-----------------
【popup】2025年同窓会
-------------------*/
/* 1. ポップアップ表示時も画面スクロールを許可 */
html.pum-open,
body.pum-open {
    overflow: visible !important;
}

/* 2. 背景の透明な膜を無視して、後ろのボタンやリンクを押せるようにする */
.pum-overlay {
    pointer-events: none !important;
}

/* 3. ポップアップ本体（バナー画像やボタン）はクリックできるように戻す */
.pum-container {
    pointer-events: auto !important;
}
@media screen and (max-width: 480px) {
  html.pum-open.pum-open-overlay-disabled.pum-open-fixed .pum-container {
    left: 0 !important;
    max-width: fit-content !important;
  }
}
/*必要ならばここにコードを書く*/
body {
  background: url(https://kuonkai.net/wp-content/uploads/2017/02/back.png);
}
.header-container .navi {
  z-index: 3;
}
/*-----------------
【メインコンテンツ　Pタグ】
-------------------*/
.entry-content p {
    margin-bottom: 0.7rem;
}
/*-----------------
【トップページ】
-------------------*/
/*ヘッダー部*/
.header {
  background-image: linear-gradient(-45deg, #f9f8f7 25%, #ffffff 25%, #ffffff 50%, #f9f8f7 50%, #f9f8f7 75%, #ffffff 75%, #ffffff);
}
.header-site-logo-image {
  width: 60%;
}
.site-name-text {
  padding: 0;
}
.home .header {
  position: relative;
  background: url(https://kuonkai.net/wp-content/uploads/2017/02/back.png);
  border-top: 2px solid #ee334e;
}
.home .n2-section-smartslider {
  z-index: 2;
}
.home .header-in .tagline, .home .header-in .logo-image {
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
}
.home .tagline {
  top: 40%;
}
.home .header-in .logo-image {
  top: 58%;
  padding: 0;
}
@media screen and (max-width: 480px) {
  .home .logo-image {
    width: 50%;
    margin: auto;
  }
}
.home .tagline {
  display: none;
}
.home .header-in .logo-image {
  display: none;
}
/*アピールエリア幅を広げる　！！！コロナメッセージで暫定！！！*/
.appeal-in {
  padding: 3% 5% 0;
}
.appeal-content {
  max-width: 766px;
  padding: 2em 2em 1em;
}
/*-----------------
【共通】固定ページ　投稿日の非表示
-------------------*/
.page .date-tags {
  display: none;
}
/*--------------------
【TOPページ】　コンテンツ
----------------------*/
/*コンテンツ下余白*/
.home .entry-content {
  margin-bottom: -25px;
}
/*　h1 トップページタイトル変更*/
.home h1.entry-title {
  background: url(https://kuonkai.net/wp-content/uploads/2017/02/logo.png) no-repeat top center;
  background-size: contain;
  height: 100px;
  width: auto;
  margin: 10px 0 0;
  color: #fff;
  font-size: 10px;
}
/*H1見出し説明*/
.home .article-header {
  position: relative;
}
.home .article-header:before {
  content: "北九州市立（旧戸畑商業）高等学校 同窓会";
  position: absolute;
  top: -18px;
  width: 100%;
  font-size: 16px;
  color: #000;
  text-align: center;
  line-height: 1.1;
}
@media screen and (max-width: 480px) {
  .home h1.entry-title {
    height: 70px;
    margin-top: 14px;
  }
  .home .article-header:before {
    font-size: 14px;
    top: -20px;
  }
}
.home .article h2 {
  text-align: center;
}
/*説明*/
.widget-wrap_btn-snippet {
  font-size: 14px;
  line-height: 1.6;
  min-height: 3em;
}
/*投稿日表示*/
.new-entry-card-post-date.widget-entry-card-post-date.post-date {
  display: block;
}
.new-entry-card-date {
  display: block;
}
.sec02 .date_box > div {
  display: inline-block;
}
.new_mark_t {
  margin-right: 10px;
  padding: 1px 6px;
  background: #e60033;
  color: #fff;
  font-size: 14px;
}
.sec01 .new-entry-card-content {
  display: flex;
  align-items: center;
  margin: 0;
  padding-right: 2em;
}
/*更新日非表示*/
.widget-entry-card-update-date {
display: none;
}
/*TOPICSレイアウト*/
.sec01_in {
  max-width: 700px;
  margin: auto;
}
.sec01 .widget-entry-card {
  font-size: 18px;
}
.sec01 .widget-entry-cards .a-wrap {
  padding: 10px 5px;
  position: relative;
}
.sec01 .new-entry-card-thumb {
  display: none;
}
.sec01 .date_box > div {
  display: inline-block;
}
.flash {
  animation: flash 1s ease infinite alternate;
  animation-iteration-count: 3;
}
@keyframes flash {
  50% {
    opacity: 0;
  }
}
@media screen and (max-width: 767px) {
  .sec01 .date_box {
    width: 100px;
  }
  .sec01 .new-entry-card-title {
    width: calc(100% - 100px);
  }
}
@media screen and (min-width: 768px) {
  .sec01 .date_box {
    display: flex;
  }
  .sec01 .new_mark_t {
    order: 2;
  }
}
/*カテゴリ別　新着記事レイアウト*/
.sec02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sec02 article {
  width: 48%;
}
@media screen and (max-width: 1023px) {
  .sec02 .new-entry-card-date {
    top: unset;
    bottom: -6px;
  }
}
@media screen and (max-width: 480px) {
  .sec01 .new-entry-card-date {
    position: unset;
  }
  .sec01 .widget-entry-card-content {
    margin-left: 0;
  }
  .sec02 .new-entry-card-content {
    /*margin: 0;*/
  }
  .sec02 .new-entry-card-date {
    /*top: unset;*/
    /*bottom: -6px;*/
    /*left: unset;*/
    /*right: 0;*/
  }
}
@media screen and (max-width: 1023px) {
  .sec02 article {
    width: 100%;
  }
}
.Tsec02 .widget-entry-cards figure {
  width: 160px;
  height: 100px;
}
.Tsec02 .widget-entry-card-content {
  margin-left: auto;
}
.Tsec02 .widget-entry-cards figure img {
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 1024px) {
  .sec02 .a-wrap {
    height: 120px;
  }
}
.Tsec03Box {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
  gap: 20px;
}
.Tsec03BoxItem {
  box-shadow: 3px 3px 4px 1px rgb(51 51 51 / 60%);
  transition: 0.3s;
}
.Tsec03BoxItem:hover {
  box-shadow: 1px 1px 1px 1px rgb(51 51 51 / 60%);
  opacity: 0.8;
}
/*ボタン*/
.p-button {
  text-align: center;
  margin-top: 26px;
}
.wrap_btn {
  margin: 60px auto 40px;
  transition: all 0.3s ease-in-out;
}
.a-wrap_btn img {
  padding: 5px;
  line-height: 1.3;
  margin-bottom: 4px;
}
.a-wrap_btn:hover img {
  background-color: #c7ccd6;
  -webkit-transform: translateY(-2px);
  -ms-transform: translateY(-2px);
  transform: translateY(-2px);
  box-shadow: 0 0 8px #c7ccd6;
  transition: all 0.3s ease-in-out;
}
/*-------------------------------------
【共通】コンテンツ下部
---------------------------------------*/
.content-bottom {
  background-color: #fff;
  padding-top: 1px;
  background: url(https://kuonkai.net/wp-content/uploads/2020/12/back_b_con.jpg);
  background-attachment: fixed;
  background-size: cover;
}
.content-bottom-in.wrap {
  padding-bottom: 60px;
}
.content-bottom .column-left, .content-bottom .column-right {
  padding: 1em;
}
.content-bottom .column-wrap .column-left {
  width: 48%;
  background: #fff;
}
.content-bottom .column-wrap .column-center {
  width: 32%;
  padding: 1em 0.5em 1em 3em;
}
.content-bottom .column-wrap .column-right {
  width: 18%;
}
.content-bottom .column-left {
  border: 1px solid #ddd;
}
.content-bottom h2 {
  text-align: center;
  margin: 2em 0 1em;
  font-size: 30px;
  line-height: 1.25;
  padding: .6em 1em;
}
.content-bottom .list-title {
  margin: 1.6em 0 0.5em;
}
.content-bottom .list-title-in {
  padding: 0 66px;
}
/*　左側　RSS　*/
.content-bottom .rss-entry-card-thumb {
  display: none;
}
.content-bottom .rss-entry-card-content {
  margin: 0 22px;
}
.content-bottom .rss-entry-card-content:before {
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 6px;
  color: #767676;
}
.content-bottom .column-right img {
  width: 230px;
  margin-bottom: 44px;
}
@media screen and (max-width: 1023px) {
  .content-bottom .column-3.column-wrap {
    flex-wrap: wrap;
  }
  .content-bottom .column-wrap.column-3 > div {
    width: 100%;
    padding: 1em 8px;
  }
  .content-bottom .column-3 .column-center, .content-bottom .column-3 .column-right {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
  }
  .content-bottom .column-3 .column-center > div {
    width: 30%;
  }
  .content-bottom .column-center .list-title, .content-bottom .column-right .list-title {
    margin: 0;
  }
  .content-bottom .list-title-in:before, .content-bottom .list-title-in:after {
    content: none;
  }
  .content-bottom .column-center iframe {
    /* width: 100%; */
    /* height: auto; */
  }
  .content-bottom .list-title-in {
    padding: 0;
  }
  .content-bottom .column-center > div:first-child {
    margin-top: 30px;
  }
  .content-bottom .column-3 .column-right img {
    width: 28%;
    height: auto;
    object-fit: contain;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 834px) {
  .content-bottom .column-center > div:first-child {
    display: none;
  }
  .content-bottom .column-3 .column-center > div {
    width: 48%;
  }
  .content-bottom .column-3 .column-right img {
    width: 30%;
  }
  .content-bottom .column-center iframe {
    /*height: auto;*/
    /*width: 100%;*/
    width: 100%;
    display: block;
  }
}
@media screen and (max-width: 480px) {
  .content-bottom .column-3 .column-center, .content-bottom .column-3 .column-right {
    width: 100%;
  }
  .content-bottom .column-right {
    display: flex;
  }
  .content-bottom .column-3 .column-center > div {
    margin-bottom: 0;
    width: 100%;
  }
}
/*-------------------------------------
【共通】SNSシェアボタン
---------------------------------------*/
.sns-share {
  position: relative;
  max-width: 500px;
  margin: 80px auto 2em;
  padding: 1.5em 1em 1em;
  border: 2px solid #ee334e;
  border-radius: 4px;
}
.sns-share-message {
  position: absolute;
  top: -.9em;
  bottom: 0;
  left: 0;
  right: 0;
  width: 22em;
  margin: auto;
  padding: 0 .5em;
  background-color: #fff;
  color: #ee334e;
  font-weight: 700;
}
.sns-share-buttons a {
  width: 30%;
}
@media screen and (max-width: 480px) {
  .sns-share {
    margin: 0 0 24px;
    padding: 0;
    border: none;
  }
  .sns-share-message {
    position: static;
    padding: 0;
    width: 100%;
    font-size: 14px;
    padding-bottom: 8px;
  }
}
/*-------------------------------------
　　（共通）Teble　
---------------------------------------*/
@media screen and (max-width: 834px) {
  table th, table td {
    font-size: 1em;
  }
  table tr:hover {
    cursor: text;
  }
}
/*-------------------------------------
　　サブメニューの幅変更
---------------------------------------*/
.nav_kuon .sub-menu {
  width: 310px;
}
/*-------------------------------------
　　サイドバー
---------------------------------------*/
aside#box_menu-1 {
  padding-top: 20px;
}
.sidebar {
  border: none;
  background: none;
  padding: 0;
  font-size: 16px;
}
.sidebar aside {
  border: 1px solid #fff;
  padding: 0 19px 20px;
  background: #fff;
  margin-bottom: 20px;
}
.sidebar h3 {
  margin-top: 20px;
}
#sidebar .search-box {
  margin-bottom: 0;
}
#sidebar p {
  margin-bottom: 0;
}
/*ボックスメニュー*/
.box-menu-icon {
  font-size: 24px;
}
/*新着一覧　装飾*/
.sidebar .side_in a:before {
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 6px;
  color: #767676;
}
.sidebar .side_in .widget-entry-card-thumb {
  display: none;
}
.sidebar .side_in .card-content {
  margin: 0 1.5em 0 1em;
}
.sidebar .side_in .new-entry-card-date {
  position: relative
}
.sidebar .side_in .widget-entry-card-title {
  font-size: 88%;
}
.sidebar .date_box > div {
  display: inline-block;
}
/*　バナー　*/
.sidebar #text-14 {
  background: none;
  border: none;
}
/* ブロック毎*/
.widget_text > .textwidget {
  margin-top: 20px;
}
/*-------------------------------------
　　フッター
---------------------------------------*/
.footer-bottom-logo .logo-image {
  max-width: 150px;
}
@media screen and (min-width: 1024px) {
  .footer-bottom-logo {
    left: 8em;
  }
  .footer-bottom-logo {
    width: 200px;
    bottom: initial;
  }
  .footer-bottom-content {
    width: calc(100% - 300px);
    max-width: 620px;
  }
}
/*-------------------------------------
　　新着記事　日付表示
---------------------------------------*/
.widget_new_entries .display-none {
  display: block;
  padding-top: 0.5em;
  text-align: right;
}
.page .new-entry-card-post-date {
  display: block;
  font-size: 14px;
}
/*-------------------------------------
　　カテゴリ　1カラム &　リスト設定
---------------------------------------*/
.blog .content .main, .archive .content .main {
  margin: 0;
  width: 100%;
}
.blog .sidebar, .archive .sidebar {
  display: none;
}
.blog #list, .archive #list, .category-page-content {
  max-width: 1000px;
  margin: auto;
  justify-content: space-between;
}
.ect-vertical-card-3:after {
  content: "";
  width: 33%;
}
/*----------------------------------
　　会長挨拶　　  （固定ページ）
------------------------------------*/
.kaityo_syomei {
  margin-top: 40px;
  margin-bottom: 20px;
}
.kaityo_syomei .float_right {
  float: right;
  margin: 0 30px;
}
.kaityo_syomei .syomei, .syomei {
  font-size: 18px;
  text-align: right;
  padding: 80px 0 0;
  font-family: "Roboto Slab", Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.kaityo_msg p {
  margin: 0.6em 0;
}
@media screen and (max-width: 500px) {
  .kaityo_syomei .float_right {
    float: none;
    text-align: center;
  }
  .kaityo_syomei .syomei {
    margin-top: 0;
    padding: 0;
    font-size: 16px;
    text-align: center;
  }
}
/*----------------------------------
　　役員名簿　　  （固定ページ）
------------------------------------*/
table.meibo {
  line-height: 1.8;
}
.meibo th, .meibo td {
  width: 100%;
  display: block;
  padding: 0.8em 6px;
}
.meibo td {
  text-align: center;
}
table.meibo tbody tr:hover, table.meibo tbody tr:hover th, table.meibo tbody tr:hover td {
  background: #bbd4ee;
  cursor: text;
}
@media screen and (min-width: 480px) {
  table.meibo {
    width: 90%;
    margin: auto;
  }
  .meibo th, .meibo td {
    width: 100%;
    display: table-cell;
  }
  .meibo th {
    width: 12em;
    padding: 6px 2em;
    text-align-last: justify;
    -moz-text-align-last: justify;
  }
  .meibo td {
    width: calc(100% - 12em);
    padding: 1em 6px;
    background-color: #fff;
  }
}
/*----------------------------------
　　久遠会会則　　  （固定ページ）
------------------------------------*/
.kaisoku {
  border: 1px solid #ddd;
  padding: 10px 20px;
  margin: 20px;
  line-height: 1.7;
  font-size: 16px;
}
.mi_syo {
  text-indent: 1em;
  letter-spacing: 0.5em;
  font-weight: bold;
  font-size: 18px;
}
.mi_kakko {
  font-weight: bold;
  margin: 10px 0 0 -1em;
}
.mi_zyo {
  text-indent: -5.3em;
  padding-left: 5.3em;
  margin: 0 0 16px;
}
.mi_zyo2 {
  text-indent: 4em;
}
ul.mi_zyo_4 {
  list-style-type: none;
  margin-top: -1em;
  text-indent: -25px;
  padding-left: 80px;
}
.mi_zyo_no {
  letter-spacing: 0.6em;
  padding-right: 13px;
}
.mi_zyo_no1 {
  letter-spacing: 0.3em;
  padding-right: 13px;
}
@media screen and (max-width: 768px) {
  .kaisoku {
    margin: 20px 0 0;
    padding-right: 0.5em;
  }
}
/*----------------------------------
　　校章　&　校歌
------------------------------------*/
/*　校章　*/
.kosyo img {
  margin: 0 50px;
}
.kosyo {
  text-align: center;
}
@media screen and (max-width: 480px) {
  .kosyo {
    text-align: center;
    display: inline-flex;
    margin: auto;
    width: 100%;
  }
  .kosyo img {
    margin: 0 auto;
  }
}
/*　校歌縦書き　*/
.p-right {
  text-align: right;
}
.vertical_out {
  background: repeating-linear-gradient(-45deg, #f9f9f9, #eee 5px, #f9f9f9 5px, #f9f9f9 10px);
  padding: 1em;
}
.vertical {
  max-width: 260px;
  margin: auto;
  font-family: "游明朝", "ＭＳ 明朝", serif;
  font-weight: bold;
}
.p-indent {
  text-indent: -2em;
  margin-left: 2em;
}
@media screen and (min-width: 768px) {
  .vertical {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    max-width: 100%;
    overflow: hidden;
  }
  .p-indent {
    margin-left: 6px;
    margin-top: 3em;
  }
}
@media screen and (min-width: 1024px) {
  .vertical {
    line-height: 1.4;
  }
}
@media screen and (min-width: 1136px) {
  .vertical {
    line-height: 1.6;
  }
}
@media screen and (min-width: 1260px) {
  .vertical {
    line-height: 1.8;
  }
}
/*----------------------------------
 　沿革　　  （固定ページ）
------------------------------------*/
.enkaku th, .enkaku td {
  width: 100%;
  display: block;
  padding: 1em 6px;
}
.enkaku tbody tr:hover, .enkaku tbody tr:hover th, .enkaku tbody tr:hover td {
  background: #bbd4ee;
  cursor: text;
}
@media screen and (min-width: 767px) {
  table.enkaku {
    width: 90%;
    margin: auto;
  }
  .enkaku th, .enkaku td {
    width: 100%;
    display: table-cell;
  }
  .enkaku th {
    width: 12em;
    text-align: center;
    line-height: 1.3;
  }
  .enkaku td {
    width: calc(100% - 12em);
    padding: 1em;
  }
}
/*----------------------------------
 　卒期・卒業年早見表  （共通）
------------------------------------*/
table.table_s1 {
  line-height: 1.4;
}
.table_s1 th, .table_s1 td {
  width: 100%;
  display: block;
  padding: 1em 6px;
  text-align: center;
}
.table_s1 thead {
  display: none;
}
.s_br {
  display: none;
}
.table_s1 tbody tr:hover, .table_s1 tbody tr:hover th {
  background: #bbd4ee;
  cursor: text;
}
@media screen and (min-width: 630px) {
  .lookup_th {
    text-align-last: auto !important;
    letter-spacing: 4.5px;
    font-weight: bold;
    background: #f5f6f7;
  }
  .table_s1 thead {
    display: table-header-group;
  }
  table.table_s1 {
    margin: auto;
  }
  .table_s1 th, .table_s1 td {
    width: 100%;
    display: table-cell;
  }
  .table_s1 th {
    width: 8em;
    line-height: 1.3;
  }
  .table_s1 td {
    width: calc(100% - 4em);
    padding: 1em;
    font-size: 16px;
  }
  br.s-br {
    display: none;
  }
}
/*----------------------------------
 　 youtube 表示（共通）
------------------------------------*/
.video-container {
  margin: 30px auto;
}
/*----------------------------------
 　 カテゴリ　
------------------------------------*/
.ect-vertical-card .entry-card-wrap .entry-card-thumb img {
  max-height: 164px;
  width: auto;
  margin: auto;
  display: block;
}
.new_mark {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 89px;
  height: 91px;
  overflow: hidden;
}
.new_txt {
  display: inline-block;
  position: absolute;
  padding: 5px 0;
  left: 0px;
  top: 12px;
  width: 126px;
  text-align: center;
  font-size: 16px;
  line-height: 16px;
  background: #e60033;
  color: #fff;
  letter-spacing: 0.05em;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}
.new_txt:before, .new_txt:after {
  position: absolute;
  content: "";
  border-top: 4px solid #980122;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
}
.new_txt:before {
  left: 16px;
  bottom: -4px;
}
.new_txt:after {
  right: 14px;
  bottom: -4px;
}
/*----------------------------------
 　お問合せ  （固定ページ）
------------------------------------*/
.article.post-20 {
  max-width: 1000px;
  margin: auto;
}
/*------------------------------------------
    Contact Form 7カスタマイズ　       
  ------------------------------------------*/
.wpcf7-form {
  max-width: 840px;
  margin: auto;
}
.inquiry th, .inquiry td {
  border: 1px solid #ddd;
  padding: 6px 1em;
}
/*見出し欄*/
.inquiry th {
  width: 30%;
  text-align: left;
  line-height: 2;
}
/*必須の調整*/
.haveto, .any {
  width: 50px;
  display: block;
  padding: 0 6px;
  font-size: 14px;
  letter-spacing: 4px;
  line-height: 1.5;
  border-radius: 4px;
}
.haveto {
  color: #e60033;
  border: 1px solid #e60033;
}
/*任意の調整*/
.any {
  border: 1px solid #00f;
  color: #00f;
}
/* 住所入力欄調整 */
.t_sub_td_zip {
  display: inline-flex;
  align-items: center;
}
.t_sub_td {
  display: table;
}
.sub-item-title {
  display: table-cell;
  width: 6em;
  vertical-align: middle;
  font-size: 94%;
}
.sub-item-input {
  display: table-cell;
}
/*　注意書き　*/
.tyui {
  font-size: 14px;
  display: block;
}
.tyui-h {
  color: #e60033;
  font-weight: bold;
}
.tyui-url {
  font-weight: bold;
}
.s_text {
  display: block;
  font-size: 86%;
  font-weight: bold;
}
.s_text1 {
  font-size: 13px;
  font-weight: normal;
}
.t_sub_td_zip .s_text {
  padding-left: 1.5rem;
}
/* テキストエリア */
.wpcf7 .inquiry td textarea {
  height: 10em;
  resize: vertical;
}
/* オートコンプリートの時の背景　*/
input:-webkit-autofill, input[type=file]:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
  border: none;
}
/* 個人情報 */
.inquiry_box {
  margin: 50px auto;
  text-align: center;
}
.form_h3 {
  text-decoration: underline;
  font-size: 120%;
  font-weight: bold;
}
.inquiry-chk-info textarea {
  width: 100%;
  resize: vertical;
  overflow-y: scroll;
  padding: 10px;
  font-size: 84%;
  color: #555;
  line-height: 1.5;
  height: 10em;
}
/* 確認事項 */
.inq_box {
  margin: 0 auto 30px;
  max-width: 600px;
  font-size: 16px;
}
.inquiry-txt-area {
  color: #ee5656;
}
.inq_box_in {
  background: aliceblue;
  padding: 24px 30px 10px;
  line-height: 3;
}
.wpcf7-list-item {
  margin: 0;
}
.inq_box_in p {
  margin: auto;
  width: 16em;
}
.inquiry-chk {
  line-height: 1.2;
}
/*入力エラーメッセージ*/
span.wpcf7-not-valid-tip {
  font-size: 14px !important;
  text-indent: 1.5em;
}
div.wpcf7-response-output {
  text-align: center;
  color: #ff0000;
}
/* 送信ボタン*/
.wpcf7 .wpcf7-submit {
  position: relative;
  display: block;
  margin: 2em auto 0;
}
.wpcf7 .wpcf7-submit:hover {
  background-color: #eee;
  color: #000;
}
input[type="text"], input[type="password"], input[type="datetime"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], input[type="file"], select, textarea, .field {
  margin-bottom: 5px;
  margin-top: 5px;
  border: 1px solid rgb(204, 204, 204);
  background: #fff;
  color: #000;
  font-size: 16px;
}
input[type="submit"] {
  width: 12em;
  padding: 16px 0;
  background-color: #002063;
  border-radius: 5px;
  font-size: 18px;
  color: #fff;
}
@media(max-width:768px) {
  .form_box {
    width: 100%;
    min-width: unset;
  }
  .wpcf7 {
    background: none;
    border: none;
  }
  .wpcf7 form {
    margin: 1.5em 0;
  }
  table.inquiry tr, table.inquiry, table.inquiry tbody {
    display: block;
  }
  .inquiry {
    min-width: auto;
    width: 100%;
  }
  .inquiry_box {
    width: 100%;
  }
  .inquiry th, .inquiry td {
    display: block;
    width: 100%;
    border-top: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .inquiry tr:first-child th {
    border-top: 1px solid #d7d7d7;
  }
  .inquiry th span br {
    display: none;
  }
  /* 必須・任意のサイズ調整 */
  .inquiry .haveto, .inquiry .any {
    font-size: 90%;
    width: 49px;
    display: inline;
    margin-right: 10px;
  }
  /* 住所入力欄調整 */
  .t_sub_td {
    display: block;
    margin-bottom: 0;
  }
  .sub-item-title, .sub-item-input {
    width: 100%;
    display: block;
  }
  /*　確認画面　ボタン*/
  .wpcf7 .wpcf7-submit {
    position: relative;
    display: block;
    margin-top: 2em;
  }
}
/* ファイル設定　*/
@media(max-width: 360px) {
  .inquiry td {
    padding: 6px 6px;
  }
  .inquiry input[type=file] {
    font-size: 14px;
  }
}
/*----------------------------------
　協賛申込レイアウト　コンタクトフォーム7
------------------------------------*/
.amountG {
  margin-top: 10px;
  padding: 10px;
  border: 1px solid #0095d9;
  border-radius: 5px;
}
.amountG_H {
  display: block;
  font-weight: bold;
}
.amountG2 {
  display: flex;
  align-items: center;
}
.amountG2 .amountG_H {
  padding-right: 1em;
}
.amountG .wpcf7-list-item:first-child {
  width: 100%;
}
.amountG .wpcf7-list-item:not(:first-child) {
  width: 40%;
}
.amount_btn a {
  padding: 5px 1em;
  background: #0095d9;
  color: #fff;
  text-decoration: none;
}
.amount_btn {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1em
}
.amount_btn a:hover {
  opacity: 0.8;
} /*----------------------------------
　プライバシーポリシー　（共通）
------------------------------------*/
.privacy strong {
  border-bottom: 1px #666 dotted;
  width: 100%;
  padding-bottom: 5px;
  margin-top: 20px;
  padding-right: 10px;
}
/*----------------------------------
　　404ページ
------------------------------------*/
.widget-404-page .menu-top-container {
  font-size: 90%;
  line-height: 1;
  padding: 1em 0;
}
.widget-404-page-title {
  text-align: center;
  font-size: 120%;
  font-weight: bold;
  background-color: #eee;
}
.widget-404-page.widget_nav_menu {
  border: 1px solid #002063;
  border-radius: 10px;
  padding: 1em 2em;
  margin: 3em auto;
  width: 90%;
}
.widget-404-page .menu > li > a {
  font-weight: bold;
}
.widget-404-page .menu > li a:after {
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
  padding-left: 0.6em;
}
.widget-404-page .sub-menu {
  width: 100%;
}
@media screen and (max-width: 480px) {
  .widget-404-page.widget_nav_menu {
    margin: auto;
  }
  .widget-404-page.widget_nav_menu {
    width: 100%;
    padding: 1em 0;
  }
}
/*----------------------------------
　　コロナ支援 single
------------------------------------*/
/*　*/
.assist_bread {
  margin-bottom: 20px;
}
.type-assist .entry_assist_img {
  max-width: 400px;
  margin: 0 auto 60px;
}
.type-assist figure.entry-thumb {
  position: relative;
}
.type-assist figcaption.entry_assist_cost {
  position: absolute;
  bottom: 10px;
  right: 0;
  padding: 10px;
  background: #ff9600;
  border: 1px solid #ddd;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
}
table.entry_assist_table {
  width: 95%;
  margin-top: 2em;
  margin: 2em auto 3em;
}
.entry_assist_table tr {
  border-top: solid 1px #ccc;
}
.entry_assist_table tr:last-child {
  border-bottom: solid 1px #ccc;
}
.entry_assist_table th, .entry_assist_table td {
  padding-left: 1em;
  text-align: left;
  border: none;
}
@media screen and (max-width: 480px) {
  .type-assist .entry_assist_img {
    width: 90%;
  }
  table.entry_assist_table, .entry_assist_msg {
    width: 100%;
  }
}
/*--------------------------------------------*/
/*                                            */
/* 　（共通)スタイル　問い合わせ　　　　　　　*/
/*                                            */
/*--------------------------------------------*/
/*ブログカード*/
.blogcard-type.bct-detail {
  margin-top: 60px;
}
.bct-detail .blogcard {
  border-color: #002063;
}
.bct-detail .blogcard-label::after {
  content: "お問い合わせはこちら";
}
.bct-detail .blogcard-label {
  background: #002063;
}
.bct-detail .blogcard-wrap {
  background-color: #e6eeff;
}
.bct-detail .blogcard-wrap:hover {
  background-color: #c7ccd6;
}
/*ブログカード 問い合わせ*/
.blogcard-thumbnail {
  width: 130px;
  height: 100px;
}
.blogcard figure img {
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 834px) {
  .blogcard-content {
    margin-left: 130px;
    margin-right: 0;
    max-height: 120px;
    min-height: 70px;
    font-size: 0.9em;
    line-height: 1.2;
  }
  .blogcard-thumbnail {
    width: 120px;
    height: 90px;
  }
  .blogcard-snippet {
    font-size: 14.4px;
    line-height: 1.6;
  }
  .blogcard-title {
    font-size: 18px;
    margin-bottom: 0.2em;
  }
}
/*--------------------------------------------*/
/*                                            */
/* 　（共通）ユーティリティ　　　　          */
/*                                            */
/*--------------------------------------------*/
hr {
  margin: 3em 2em;
  border-top: 3px double #ccc;
}
.p-right {
  text-align: right;
}
.p-center {
  text-align: center;
}
.p-bold {
  font-weight: bold;
}
.f-16 {
  font-size: 16px;
}
.mt-0 {
  margin-top: 0;
}
.p-indent-1em {
  margin-left: 1em;
}
.p-indent-2em {
  margin-left: 2em;
}
.p-indent-3em {
  margin-left: 3em;
}
.p-indent-20em {
  margin-left: 59.6%;
}
/*　FLEXBOX　3列*/
.flex_box_3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex_box_3 .flex_box_3_item {
  width: 33%;
  margin-bottom: 0.5%;
}
.flex_box_3::after {
  content: "";
  display: block;
  width: 33%;
}
.flex_box_3 .flex_box_3_item img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .flex_box_3 .flex_box_3_item {
    width: 49.7%;
  }
}
@media screen and (max-width: 500px) {
  .flex_box_3 .flex_box_3_item {
    width: 100%;
  }
}
/*　FLEXBOX　2列*/
.flex_box_2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex_bo2_item {
  width: 46%;
  border: 1px dashed #aaa;
  border-radius: 8px;
  margin-bottom: 1%;
  padding: 5px 10px;
  font-size: 98%;
  line-height: 1.5;
}
.flex_bo2_item a {
  text-decoration: none;
  color: #2196f3;
  font-weight: bold;
}
.flex_bo2_item a:after {
  font-family: 'FontAwesome';
  content: "\f105";
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.flex_bo2_item a:hover {
  color: #254ea0;
}
@media screen and (max-width: 500px) {
  .flex_bo2_item {
    width: 100%;
  }
}
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px) {
  .article h3 {
    padding: .4em 3.5em;
  }
}
/*834px以下*/
@media screen and (max-width: 834px) {
  .article h3 {
    padding: .4em 3em;
  }
}
/*480px以下*/
@media screen and (max-width: 480px) {
  .article h3 {
    padding: .4em 1.5em;
  }
}