@charset "UTF-8";
/*
    Template: seikei
    Theme Name: SEIKEI CHILD
    Theme URI: https://bplust.jp/
    Description: SEIKEIの子テーマ
    Version: 1.0.0
    Author: BPLUST
    Author URI: https://bplust.jp/
    Author URI: https://bplust.jp/
    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ------------------------------
   全体フォント設定
------------------------------ */
body {
  font-weight: 400;
  font-style: normal;
	letter-spacing: 0.12em !important;
}

/* ------------------------------
   見出し・テキスト調整
------------------------------ */
.catch {
	font-size: 2.5em !important;
	padding-top: 300px;
}
@media screen and (min-width: 960px) {
	.catch {
		margin-left: -120px;
}
}
.chotai_90 {
  transform: scaleX(0.9);
}
.sub_title {
  font-size: 1.2em !important;
  transform: scaleX(0.9);
}
h2,
h3,
h4 {
	transform: scaleX(0.9);
	transform-origin: center center;
	font-weight: 500 !important;
}
h2.has-text-align-left,
h3.has-text-align-left,
h4.has-text-align-left {
	transform-origin: left center !important;
}
h2 {
	font-size: 2.5rem !important;
}
h2.p-postList__title {
  font-size: 1em !important;
  margin-bottom: 20px !important;
  transform: none;
}
h3 {
	font-size: 1.4rem !important;
	margin-bottom: 20px !important;
}
p {
  font-size: 1rem !important;
  line-height: 1.8 !important;
}
p.lead {
	font-size:1.4rem !important;
}
p.copyright {
  font-size: 0.8em !important;
}
.ft_add {
  font-size: 1em !important;
}
.width_600 {
  max-width: 700px;
  margin: 0 auto;
}

/* ------------------------------
   ボタンカスタマイズ
------------------------------ */
.swell-block-button.is-style-btn_line,
.swell-block-button.is-style-btn_normal {
  max-width: 480px !important;
}
.btn_wh {
  background: #fff !important;
}
/* ------------------------------
   ポイントカスタマイズ
------------------------------ */
/*.cap_box_content {
	border: none !important;
}*/


/* ------------------------------
   投稿メタ情報のスタイル
------------------------------ */
/*
time,
span.c-postAuthor__name {
  color: #333 !important;
}
*/
.w-beforeFooter {
  margin-top: 0 !important;
}

/* ------------------------------
   リレーブログ著者
------------------------------ */

div.author {
	margin:10px 0;
	color:#224b8f;
	font-weight: 700;
	font-size: 0.9rem;
}
div.author i{
	margin-right:5px;
}

div.author.author_list {
	font-weight: 400;
	color: #333;
	line-height: 1.5;
}
div.author.author_list i{
	margin-right: 0;
}

/* ------------------------------
   SNSアイコン
------------------------------ */
.side-sns {
	text-align: center;
}
.side-sns i {
	font-size: 1.6rem !important;
	padding: 10px;
	color: #224b8f !important;
}
/* ------------------------------
   サイドボタン装飾
------------------------------ */
li.btn {
	border: 1px solid #224b8f;
	margin-bottom: 10px;
	transform: scaleX(0.9);

}
li.btn a {
	color: #224b8f !important;
}
li.btn a:hover {
  background: #224b8f;
  color: #fff !important;
}

@media screen and (max-width: 960px) {
	li.btn {
		max-width: 200px;
		text-align: center;
		margin: 20px auto !important;
	}
}

/* ------------------------------
   ロゴ
------------------------------ */
.-txt .c-headLogo__link {
	font-size: 4.5vw !important;
	font-weight: 700;
	transform: scaleX(0.9) !important;
}

/* ------------------------------
   スマホメニュー見出し
------------------------------ */
.c-widget__title.-spmenu {
	background: #fff !important;
	transform: scaleX(0.9) !important;
	color: #224b8f;
	padding: 20px 0 !important;
	font-size: 1.4em !important;
}

/* ------------------------------
   ブログカード表示調整
------------------------------ */
.p-postList__link {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.p-postList__body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.p-postList__title {
	min-height: 3.2em;
	line-height: 1.6;
	margin-bottom: 1em;
}
.p-postList__meta {
	margin-top: auto;
	padding-top: 1em;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.9em;
	color: #666;
}

/* ------------------------------
   左固定メニュー（PC）
------------------------------ */
@media screen and (min-width: 960px) {
.left-fixed-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 240px;
  height: 100vh;
  background: #fff;
  padding: 20px;
  display: flex;
  flex-direction: column;
  overflow: visible;
  z-index: 1000;
  box-shadow: 1px 0 5px rgba(0, 0, 0, 0.01);
}
.left-fixed-nav .site-title {
  flex: none;
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 30px;
  text-align: center;
}
.left-fixed-nav .site-title a {
	color: #4D7BC2;
	text-decoration: none;
	}

/* メニュー内スクロール領域 */
.side-menu-wrapper {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	overflow-x: visible;
	text-align: center;
	
}
.side-menu-wrapper::-webkit-scrollbar {
	width: 8px;
}
.side-menu-wrapper::-webkit-scrollbar-thumb {
	background-color: #4D7BC2 !important;
	border-radius: 4px;
}
.side-menu-wrapper::-webkit-scrollbar-track {
	background-color: #E4EAF4 !important;
}

/* メニュー構造 */
.side-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	}
.side-menu li {
	position: relative;
	margin-bottom: 10px;
}
.side-menu li a {
	display: block;
	padding: 12px 16px;
	background: #fff;
	color: #333;
	text-decoration: none;
	transition: background-color 0.3s ease;
}
.side-menu li a:hover {
	background-color: #224b8f;
	color: #fff;
}

/* サブメニュー */
.sub-menu {
	display: none;
	position: absolute;
	min-width: 180px;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
	z-index: 2000;
	white-space: nowrap;
	background: #ffff;
}
.sub-menu li a {
	display: block;
	padding: 10px;
	color: #333;
    transition: background-color 0.3s ease; /* 色が変わる時間とイージング */
}
.sub-menu li a:hover {
    background-color: #224b8f;
	color: #fff;
}
/*
.menu-item-has-children > a::after {
  content: "\25B6";
  float: right;
  font-size: 0.8em;
  margin-left: 5px;
  color: #999;
}
*/
}
/* ------------------------------
   レスポンシブ対応
------------------------------ */
@media screen and (max-width: 960px) {
	.left-fixed-nav {
		display: none !important;
	}
  .l-header {
    display: block !important;
  }
  .l-wrapper,
  .l-container,
  .l-content {
    margin-left: 0;
    max-width: 100%;
  }
}

@media screen and (min-width: 960px) {
  .left-fixed-nav {
    display: flex;
  }
  .l-header {
    display: none !important;
  }
  .l-wrapper,
  .l-container,
  .l-content {
    margin-left: 240px;
    max-width: calc(100% - 240px);
  }
  body {
    overflow-x: hidden;
  }
}
@media screen and (min-width: 1260px) {
.swell-block-fullWide__inner.l-container {
    max-width: 1080px !important;
}
}

@media screen and (min-width: 960px) {

  .p-mainVisual {
    margin-left: 240px;
    max-width: calc(100% - 240px);
  }
}
/* ------------------------------
   テーブルデザイン
------------------------------ */
.post_content table {
  max-width:900px;
	margin: 0 auto;
}

.wp-block-table td, .wp-block-table th {
	padding:20px 10px !important;
	background: none;
	border:none !important;
}

.wp-block-table th {
	border-bottom: 1px solid #224b8f !important;
}

.wp-block-table td {
	border-bottom: 1px solid #efefef !important;
}

/* ------------------------------
   お問い合わせフォームデザイン
------------------------------ */
.contact-table {
    table-layout: auto !important;
    white-space: nowrap;
}

input[type="text"], textarea {
    background: #f8f8f8;
    display: block;
    font-size: 16px;
    padding: 12px 15px;
    width: 100%;
    transition: 0.8s;
    border-radius: 0;
}

p.cf_msg,
p.ip_msg {
	margin:60px 0 40px;
	font-size: 1.1em;
	font-weight: 700;
}
p.cf_msg span,
p.ip_msg span{
	color: red;
}
.mw_wp_form_input p.cf_msg,
.mw_wp_form_preview p.ip_msg {
	display: none;
}
.mw_wp_form_preview div.ip_msg {
	display: none;
}

.send {
    text-align: center;
    padding: 2rem;
}

input.cf[type="submit"] {
    background-color: #224b8f;
    color: #FFF;
    padding: 1rem;
    margin: 1rem auto !important;
	display: inline-block;
	transition: all 0.3s ease;
}

input.cf[type="submit"]:hover {
  background-color: #FFF !important;
  border: 1px solid #224b8f;
  color: #224b8f;
}

.bk {
    background-color: #FFF;
    color: #797979;
    border: 1px solid #797979;
    padding: 1rem;
    margin: 1rem auto !important;
}

input.bk[type="submit"]:hover {
    background-color: #797979;
    color: #FFF;
}