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

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

/* -----------------------------------------------------------*/
/* グローバルメニューのカスタマイズ */
/* 通常のグローバルナビ */
#header #gnav .menu-item .ttl {
	/* フォントを大きく */
	font-size : 18px;
	padding: 14px 22px;
}
.top-box{
	background-color:#CBEDDC;/*背景色*/
}
.ichiran-box{
	background-color:#F2E2AA;/*背景色*/
}
.hitokoto-box{
	background-color:#F9CDAA;/*背景色*/
}
.kaisha-box{
	background-color:#B5D2E3;/*背景色*/
}
.contact-box{
	background-color:#F5C0D5;/*背景色*/
}
/* メニュー名とサブタイトルとの行間をつめる */
#header #gnav .menu-item .ttl {
  padding: 10px 22px;
}
/* ハンバーガー非表示 */
.l-header__menuBtn {
  display: none !important;
}

@media screen and (max-width: 959px) {

  /* ヘッダーを縦並び */
  #header .l-header__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  /* ロゴ上 */
  .l-header__logo {
    margin-bottom: 10px;
  }

  /* ★ ナビを強制表示 */
  #header .l-header__gnav {
    display: block !important;
    width: 100%;
  }

  /* 横並び */
  #header #gnav .c-gnav {
    display: flex !important;
    justify-content: center;
    flex-wrap: nowrap !important;
  }

  /* 文字サイズ＆padding */
  #header #gnav .menu-item .ttl {
    font-size: 14px !important;
    padding: 10px 2px !important;
  }
  /* サブタイトルの下余白 */
	.c-smallNavTitle {
    top: 2px;
    padding-bottom: 5px;
  }
	
}
@media screen and (max-width: 959px) {

  /* ロゴを一番上に */
  .l-header__logo {
    order: -1;
  }

}
@media screen and (max-width: 959px) {

  /* カスタムボタン完全削除 */
  .l-header__customBtn {
    display: none !important;
  }

}


/* -----------------------------------------------------------*/
/*書籍一覧ページ　タイトル下のカテゴリ名を非表示*/
.l-topTitleArea .p-termNavigation {
  display: none;
}

/* -----------------------------------------------------------*/
/*会社案内　縦書き表示*/
.tategagi {
  text-align: center;
}
/* スマホでも縦書きに固定 */
@media screen and (max-width: 599px) {
  .tategagi  p {
    writing-mode: vertical-rl;
  }
}
.tategagi p {
  writing-mode: vertical-rl;
  display: inline-block;
	letter-spacing:0.4em;
}
/* -----------------------------------------------------------*/
/*ジャンル一覧のバナー（ピックアップバナー）のシャドウを非表示、色*/
.p-pickupBanners__item .c-bannerLink,.p-postList__thumb {
         box-shadow: none;
 }
.-cap-ctr_simple .c-bannerLink__label {
  color: #000;align-content
  text-shadow: 2px 2px 0px rgba(255, 255, 255, 0);
	font-size:16px;
	padding: 0 0.5em;
	line-height:1.3;
	top: 45%;
}
/*ピックアップバナーの下余白*/
.p-pickupBanners {
  margin-bottom: 2em;
}
/*ピックアップパナーの横サイズ*/
.p-pickupBanners__item {
  padding: 2px;
  width: 33%;
}
/* 940px～768pxの間だけ5列表示 */
@media screen and (max-width: 970px) and (min-width: 769px) {
  .p-pickupBanners__item {
    width: 20%;
  }
}

/*タイトルのcategoryを非表示*/
.c-pageTitle__subTitle {
	display: none;
}
/*カテゴリーページのタイトル文字サイズ*/
.c-pageTitle__inner {
  font-size: 1em !important;
	font-weight: normal;
  text-shadow: 1px 1px 2px #fff;
}
/* -----------------------------------------------------------*/
/* 本日の一言ページ　URLに /message/ を含むカードのみ画像非表示 */
.p-postList.-type-card a[href*="/message/"] 
.c-postThumb {
    display: none !important;
}
	.-type-card .p-postList__excerpt {
    padding-bottom: 10px;
}
.p-postList.-type-card a[href*="/message/"] 
.p-postList__body {
    width: 100% !important;
}
/* hitokoto のタイトルを中央揃え */
.p-postList.-type-card a[href*="/message/"] .p-postList__title {
    text-align: center;
}
/*本日の一言のページのピックアップバナーを非表示*/
.post-type-archive-message #pickup_banner {
  display:none;
}
/*本日の一言のページのピックアップバナーを非表示*/
.single-message #pickup_banner {
  display: none;
}
/*トップページのピックアップバナーを非表示*/
.home #pickup_banner {
  display: none;
}

/* -----------------------------------------------------------*/
/* SWELLカード型 日付を見た目だけ非表示（HTMLは残す） */
.p-postList__item .p-postList__meta {
  display: none !important;
}
/* -----------------------------------------------------------*/
/* カード型リストの下余白を狭くする */
.-type-card .p-postList__item {
  margin-bottom: 1em;
}

/* -----------------------------------------------------------*/
/* 固定ページタイトル中央寄せ、文字間隔 */
.c-pageTitle,
.c-pageTitle__inner {
	float: none!important;
	text-align: center;
	letter-spacing: 0.5em;
	font-size:2em;
	text-shadow: 1px 1px 2px black;
}
/* -----------------------------------------------------------*/
/* サイドバーの幅を300→250に変更 */
.-sidebar-on #sidebar {
	width: 250px !important;
}

@media (min-width: 960px) {
	.-sidebar-on .l-mainContent {
		width: calc(100% - 250px - var(--swl-sidebar_margin));
	}
}
/* サイドバーの上余白をなくす */
@media (min-width: 960px) {
  #sidebar .c-widget + .c-widget {
    margin-top: -1em;
  }
}

/* -----------------------------------------------------------*/
/* テキスト型投稿リストのタイトルの左余白 */
.-type-simple .p-postList__title {
  margin-left: 20px !important;
}

/* -----------------------------------------------------------*/
/* ボックスメニューの枠線、背景色 */
.swell-block-box-menu.is-style-default .swell-block-box-menu__item {
  border: 1px solid #009999;
  background-color: #FFF;
}

/* -----------------------------------------------------------*/
/* PCのみ：3カラム＋画像左・テキスト右 */

@media (min-width: 738px) {

  /* 横並び */
  .p-postList.-type-card .p-postList__link {
    display: flex;
    align-items: flex-start;
  }
  /* 画像エリアの比率固定を解除 */
  .p-postList.-type-card .p-postList__thumb {
    width: 40%;
    aspect-ratio: unset !important;   /* ← SWELLの固定解除 */
    height: auto !important;
    overflow: visible;
  }
  /* 画像をそのまま表示 */
  .p-postList.-type-card .p-postList__thumb img {
    width: 100%;
    height: auto !important;
    object-fit: unset !important;
    display: block;
  }
  /* テキスト側 */
  .p-postList.-type-card .p-postList__body {
    width: 60%;
    padding: 15px;
  }
}

/* スマホ：画像左・テキスト右を強制 */
@media (max-width: 767px) {

  .p-postList.-type-card .p-postList__item > a.p-postList__link {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
  }
  .p-postList.-type-card .p-postList__thumb {
    width: 40% !important;
    flex-shrink: 0;
  }
  .p-postList.-type-card .p-postList__body {
    width: 60% !important;
    padding-left: 12px;
  }
  .p-postList.-type-card .p-postList__thumb img {
    width: 100%;
    height: auto;
    display: block;
  }
}

/* === PC 3カラム間隔16px（Flex対応安定版） === */
@media (min-width: 1020px) {
  .-sidebar-off .-type-card.-pc-col3 {
    margin-left: -8px;
    margin-right: -8px;
  }
  .-sidebar-off .-type-card.-pc-col3 .p-postList__item {
    width: 33.333%;
    padding-left: 8px;
    padding-right: 8px;
    box-sizing: border-box;
  }
  /* 枠線はリンク側 */
  .-sidebar-off .-type-card.-pc-col3 .p-postList__link {
    border: 1px solid #ddd;
	background-color: #fff;
  }
}

/* スマホ（1カラム）でも枠線 */
@media (max-width: 1019px) {
  .p-postList.-type-card .p-postList__link {
    border: 1px solid #ddd;
	 background-color: #fff;
  }
  .p-postList.-type-card .p-postList__item {
    margin-bottom: 16px;
  }
}

/* 画像下の余白を消す */
/* 縦長トリミング（安定版） */
.p-postList.-type-card .c-postThumb__figure {
  aspect-ratio: 0.7 / 1;
}
@media (min-width: 1020px) {
  .p-postList.-type-card .p-postList__link {
    display: flex;
    align-items: flex-start; /* ← これが重要 */
  }
  .p-postList.-type-card .p-postList__thumb {
    align-self: flex-start;
  }
}


.p-postList.-type-card .c-postThumb {
  height: auto !important;
}


/* -----------------------------------------------------------*/
/* 新着記事にNEWマークをつける */
.p-postList__item.new-mark .p-postList__link::before {
	content: "";
	top: 0;
	left: 0;
	border-bottom: 3em solid transparent;
	border-left: 3em solid red; 
	position: absolute;
	z-index: 10;
}

.p-postList__item.new-mark .p-postList__link::after {
	content: "New!";
	top: 7px;
	left: 0;
	transform: rotate(-45deg);
	color: #fff;
	position: absolute;
	z-index: 10;
	font-size: .8em;
	font-weight: 700;
	/* ホバー時のチラつき対策 */
	-webkit-font-smoothing: antialiased; 
}

/* -----------------------------------------------------------*/
/* ページ名を非表示 */
.c-pagination {
	 display: none !important;
}

/* -----------------------------------------------------------*/
/* トップページのVK最近の投稿：日付とカテゴリを非表示 */
.home .published.postList_date.postList_meta_items,
.home .postList_terms.postList_meta_items {
  display: none !important;
}

/* 下線と次のタイトルの間の余白を詰める */
.home .postList li {
  margin-bottom: 2px !important;
  padding: 4px !important;
  line-height: 1.6 !important;
}
.home .postList li a {
 color: #000 !important;
}
/* タイトル左に本アイコン */
.home .postList_title a::before {
  font-family: "Font Awesome 6 Free";
  content: "\f02d"; /* book */
  font-weight: 900;
  margin-right: 6px;
}
/* タイトルの字下げ調整 */
.home .postList_title a {
  display: block;
  padding-left: 1.4em;      /* アイコン分のスペース */
  text-indent: -1.4em;      /* 1行目だけ左に戻す */
}
/* VK最近の投稿 hover時の下線を消す */
.home .postList_title a:hover {
  color: var(--color_main) !important;
}
.home .postList_title a,
.home .postList_title a:hover {
  text-decoration: none !important;
}

/* -----------------------------------------------------------*/
/*コンタクトフォーム*/
/*　ContactForm7のテーブル化レスポンシブ調整　*/
/*全体の枠*/
.form-wrap{
  max-width: 900px;
  margin:0 auto;
}

/*テーブルを親要素の幅いっぱいに伸ばす*/
.inquiry {
    width: 100%;
  border-collapse: collapse;
 	border: none !important;
  margin-bottom:30px;
}
/*thとtdの背景色*/
.inquiry th {
	vertical-align:top;
	background-color: transparent;
}
/*thとtd内の余白指定*/
.inquiry th, .inquiry td {
    padding: 16px 10px;
    text-align: left;
	border: none;
}
/*th（項目欄）は30%幅、テキストを右寄せ*/
.inquiry th {
    width: 30%;
    text-align: left;
	font-weight: bold;	
}
/*「必須」部分のスタイリング*/
.inquiry .requied {
	font-size: 0.8em;
	color: #FFF;
	display: inline-block;
	border-radius: 2px;
	padding-top: 0.3em;
	padding-right: 0.3em;
	padding-bottom: 0.2em;
	padding-left: 0.3em;
	background-color: #E0566F;
}
/*「任意」部分のスタイリング*/
.inquiry .free {
	font-size: 0.8em;
	color: #FFF;
	display: inline-block;
	border-radius: 2px;
	padding-top: 0.3em;
	padding-right: 0.3em;
	padding-bottom: 0.2em;
	padding-left: 0.3em;
	background-color: #aaaaaa;
}

/*お問い合わせフォームのテーブルをスマホ表示用に調整*/
@media(max-width:768px){
  .form-wrap{
    max-width: 100%;
    padding:20px;
  }
  .inquiry th,.inquiry td {
   display:block!important;
   width:100%!important;
   border-top:none!important;
   -webkit-box-sizing:border-box!important;
   -moz-box-sizing:border-box!important;
   box-sizing:border-box!important;
  }
}
/*ここから入力欄のスタイル指定*/

/*各入力フォームスタイリング*/
.inquiry input[type="text"], input[type="tel"], input[type="email"], textarea {
    border: 1px #065EBD solid;
    padding: 0.1em;
	padding-left:10px;
    margin-bottom: 0.1em;
    width: 100%;
	background-color:#fff;
}

/*入力欄にフォーカスしたら変化*/
.inquiry input[type="text"], select, input[type="tel"]:focus, textarea:focus {
    background: #fff;
	border: solid 1px #065EBD;
	color: #000000;
}
.inquiry input[type="email"]:focus, textarea:focus {
    background: #fff;
	border: solid 1px #065EBD;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
	color: #000000;
}

textarea, input[type="text"], input[type="email"], input[type="tel"] {
    height: 40px;
	  width: 100%;
	 padding:10px;
}
select {
	    height: 40px;
	  width: 100%;
}
.wpcf7 textarea[name="your-message"] {
        height: 150px !important;
}
.wpcf7 .narrow {
	width:50%;
}

button, html input[type="button"], input[type="submit"] {
color: #FFF !important;
	padding: 10px 50px;
	font-weight: bold;
font-weight: normal !important;
background: #043C78 !important;
border: 1px solid #0077B7! important;
	border-radius: 5px;
	box-shadow: 1px 1px 5px #bbbbbb;
}
/*チェックボックスの大きさ*/
input[type=checkbox],input[type=radio] {
	@include scale(2);
	-moz-transform: scale(1.4);
	-webkit-transform: scale(1.4);
	transform: scale(1.4);
}

/*エラーメッセージのスタイル*/
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
    border: 2px solid #EF845D;
	color:#ff0000;
}
/*送信されましたのスタイル*/
div.wpcf7-mail-sent-ok {
background-color: #56b379;
color:#ffffff;
font-weight:bold;
font-size:120%;
padding:10px;
}

/*reCHAPCHAのマークを左に表示*/
.grecaptcha-badge{left:6px!important;width:70px!important;}
.grecaptcha-badge:hover{left:6px!important;width:256px!important;}