/*
Theme Name: officenishida_2026
Theme URI: https://
Author: design Xanthus
Author URI: https://d-xanthus.com/
Description: This theme is a simple blank site for WordPress developed by design Xanthus.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Requires at least: 5.0
Tested up to: 6.7.1
Requires PHP: 7.4.1
Text Domain: officenishida_2026
Tags: one-column, two-columns, right-sidebar, custom-colors, custom-header, custom-menu, custom-logo, editor-style, footer-widgets, sticky-post, theme-options, translation-ready
*/

/** ----------------------------------------------------------
　テキストカラー関連
---------------------------------------------------------- **/

/** ============================================================================
 *  基本レイアウトブロック
============================================================================ **/

/* 片方 */

.alignfull-right.alignfull {
	margin-left: 0;
}

.alignfull-left.alignfull {
	margin-right: 0;
}

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

	.alignfull-right.alignfull {
		margin-left: -3%;
	}

	.alignfull-left.alignfull {
		margin-right: -3%;
	}

	.alignfull-right.alignfull > .alignwide:not(.wp-block-post-featured-image) {
		margin-left: 0 !important;
	}

	.alignfull-left.alignfull > .alignwide:not(.wp-block-post-featured-image) {
		margin-right: 0 !important;
	}
}

/** ----------------------------------------------------------
　基本ブロックエレメント
---------------------------------------------------------- **/

/** ============================================================================
 * 基本・汎用クラス
============================================================================ **/

/** ----------------------------------------------------------
　テキスト関連
---------------------------------------------------------- **/

.wbf-LTS {
  font-family: "Libertinus Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.wbf-LTS-b {
  font-family: "Libertinus Sans", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.wbf-LTS-i {
  font-family: "Libertinus Sans", sans-serif;
  font-weight: 400;
  font-style: italic;
}

/** ----------------------------------------------------------
　テーブル関連
---------------------------------------------------------- **/

table th,
table td,
.wp-block-table > table th,
.wp-block-table > table td { border-color: #ccc; }

table th,
.wp-block-table > table th { background: var(--wp--preset--color--theme-light-water); }

/** ----------------------------------------------------------
 * リスト関連
---------------------------------------------------------- **/


/** ============================================================================
 * オリジナルデザイン 基本設定
============================================================================ **/

/** ----------------------------------------------------------
 ヘッダー&フッター&サイドバー 基本設定
---------------------------------------------------------- **/

.site-title { margin: 0; }

.site-title .wbf-LTS {
	font-size: 2.4rem;
}

.site-descri {
	font-size: 0.875em;
	margin: 0;
}

/** ----------------------------------------------------------
　ヘッダー設定
---------------------------------------------------------- **/

.site-head {
	border-bottom: 1px solid #ccc;
}

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

  .head-primary-contents {
  	padding-right: 4rem;
    -ms-flex-align: center;
    align-items: center;
  }
}

/** ----------------------------------------------------------
　ナビゲーション設定
---------------------------------------------------------- **/

/* スマートフォン設定
----------------------------- */


/* タブレット・PC用 カラー設定
----------------------------- */

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

	.main-menu > li:not(.head-contact-btn) { padding: 0.3em 0; }

	.main-menu > li > a { padding: 0 0.8em; }

	.main-menu > li:not(:first-child):not(.head-contact-btn) > a { border-left: 1px solid #ccc; }

	.main-menu > li.menu-item-has-children > a::before { bottom: -0.3em; }

	.main-menu > li > .sub-menu { top: 100%; }

	/* コンタクトボタン */

	.main-menu li.head-contact-btn {
		position: fixed;
		top: 0;
		right: 0;
	}

	.admin-bar .main-menu li.head-contact-btn { top: 46px; }

	.main-menu .head-contact-btn a {
		font-size: 0.875em;
		text-align: center;
		display: block;
		background: var(--wp--preset--color--theme-navy);
		padding: 0.26rem 1rem;
	}

	.head-contact-btn a:not(:hover),
	.head-contact-btn a:hover { color: #fff; }

	.head-contact-btn a:hover { opacity: 0.8; }

	.head-contact-btn a::before{
		content: '\f0e0';
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		font-size: 1.8em;
		display: block;
	}
}

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

	.admin-bar .main-menu li.head-contact-btn { top: 32px; }

	.main-menu .head-contact-btn a {
		padding: calc( 16px + 0.56em ) 2rem;
	}
}

/** ----------------------------------------------------------
 * ウィジェット
---------------------------------------------------------- **/

/* メルマガ登録フォーム
----------------------------- */

/*.mailmagz-widget { max-width: 368px; }*/

.mailmagz-widget-group .widget-title { margin: 0; }

.mailmagz-widget.wp-block-cover {
	min-height: auto;
	margin-right: auto;
	margin-left: auto;
}

.mailmagz-title {
	font-size: 1.625em;
	text-align: center;
	background: var(--wp--preset--color--theme-navy);
	padding: 0.3em 0.2em;
}

.mailmagz-title.fa5::before {
	content: '\f0e0';
	display: inline-block;
	rotate: -15deg;
}

.mailmagz-title,
.mailmagz-box .wp-block-cover__inner-container > p,
.mailmagz-box .mailmagz-form + p,
.mailmagz-box input[type="submit"] { text-shadow: 0 0 2px rgba(0,0,0,1.0); }

.mailmagz-box p {
	font-size: 0.8125rem;
	line-height: 1.4;
}

.mailmagz-box .mailmagz-form { margin-top: 0.8em; }

.mailmagz-box .mailmagz-form label:not(.check-submit-label) { display: none; }

.mailmagz-box .mailmagz-form .mailmagz-name {
	display: -ms-flexbox;
	display: flex;
	gap: 0.5em;
}

.mailmagz-box .mailmagz-form + p,
.mailmagz-box .check-submit-label {
	color: #fff;
	font-weight: 700;
	text-shadow: 0 0 2px rgba(0,0,0,1.0),0 0 2px rgba(0,0,0,0.5);
}

.mailmagz-box input[type="email"] { margin: 0.8em 0; }

.magz-submit-btn {
	display: block;
	background: #fff;
	width: max-content;
	margin: 0.3em auto 0;
}

.magz-submit-btn input[type="submit"],
.mailmagz-box input[disabled][type="submit"]:hover,
.mailmagz-box input[disabled][type="submit"]:active {
	margin: 0;
	text-shadow: none;
}

.mailmagz-box input[type="submit"]:not([disabled]):hover {
	cursor: pointer;
	opacity: 1;
}

.mailmagz-box input[type="submit"]:not([disabled]):hover {
	color: #fff;
}

/** ----------------------------------------------------------
　フッター設定
---------------------------------------------------------- **/

.foot-contact a:hover {
	background: #f8a03c;
	border-color: #f8a03c;
}

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

	.foot-primary {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap-reverse;
		flex-wrap: wrap-reverse;
		-ms-flex-pack: center;
		justify-content: center;

	}

	.foot-nav { margin: 2em 0 0; }
}


/* トップへ戻るボタン
----------------------------- */

.page-top a { border-radius: 4px; }

/** ============================================================================
 * Wrapper部共通
============================================================================ **/

/** ----------------------------------------------------------
 * primary-wrap
---------------------------------------------------------- **/

/* パンくずリスト dx-パンくず
----------------------------- */


/** ----------------------------------------------------------
 * * contents部分基本
---------------------------------------------------------- **/

.entry-contents > * {
	letter-spacing: 1px;
}


/*========================================================
　アーカイブ & 固定 ＆ シングル&固定共通（サイズ以外）
========================================================*/

/* ページタイトル
----------------------------- */

.contents-head {
	text-align: center;
	max-width: 1080px;
	padding: 2em 0;
}

.layout-full .contents-head { margin: 0 3% 40px; }

.main-title {
	letter-spacing: 0.05em;
	position: relative;
	padding: 0;
}

.main-title::after {
	content: '';
	display: block;
	height: 2px;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	background: var(--wp--preset--color--theme-navy);
}

.sub-title,
.before-arc-title,
.column-before  {
	font-weight: 400;
	display: block;
}

.before-arc-title,
.column-before { font-size: 0.75em; }

.before-title {
	font-size: 1.125rem;
	display: block;
}

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

	.contents-head { margin-bottom: 80px; }

	.entry-title { font-size: 2.25em; }

	.main-title {
		display: inline-block;
		padding: 0 1.5em 0.1em;
		width: max-content;
		max-width: 100%;

	}
}

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

	.layout-full .contents-head { margin: 0 auto 80px; }
}

/* イメージタイトル licensed
-------------------------------*/

.contents-head.img-head {
	text-align: center;
	padding: 0;
	position: relative;
}

.contents-head.img-head .entry-title { position: relative; }

.tit-img,
.title-imgtxt { display: block; }

.tit-img {
	height: 120px;
	overflow: hidden;
	position: relative;
}

.tit-img > img {
	max-width: none;
	width: 100%;
}

.tit-img::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(22, 50, 120, 0.3);
}

.img-head .entry-txtwrap { margin-top: 1em }

.title-imgtxt .main-title::after { background: #fff; }

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

	.tit-img {
		min-height: 200px;
	}

	.img-head .entry-txtwrap {
		color: var( --text-white );
		text-shadow: 0 0 3px rgba(0,0,0,0.5),0 0 3px rgba(0,0,0,0.5);
		margin: 0;
		position: absolute;
		top: 50%;
		right: 10%;
		left: 10%;
		-webkit-transform: translate(0,-50%);
		-ms-transform: translateX(0) translateY(-50%);
		transform: translate(0,-50%);
	}

	.title-imgtxt .main-title { color: #fff; }
}


/** ============================================================================
 *  アーカイブページ
============================================================================ **/

.second-cat-section { margin-top: 40px; }

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

	.second-cat-section { margin-top: 80px; }
}

/* セクションタイトル
----------------------------- */

.contents > .loop-section-tit {
	color: #fff;
	text-align: center;
	padding: 0.2em;
	background: var(--wp--preset--gradient--blue-navy-grade);
	border-bottom: 4px solid var(--wp--preset--color--theme-water);
}

/* ループ関連
----------------------------- */

.loop-article .flex-box {
	-ms-flex-align: start;
	align-items: flex-start;
}

*:not(.post-row) .loop-article:not(:first-of-type) {
	border-top: 1px dotted;
	padding-top: 32px;
}

.loop-title {
	font-size: 1.125em;
	padding-bottom: 0.3em;
	border-bottom: 1px solid;
	margin: 0 0 0.3em;
}

.loop-title,
.loop-title a:not(:hover) { color: var(--wp--preset--color--theme-navy) }

.before-posttitle { display: inline-block; }

.event-article .before-posttitle {
	font-size: 0.76em;
	display: block;
}

.loop-fullpost .eye-catch { margin-bottom: 1em; }

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

	.loop-title { font-size: 1.375em; }
}


/**
	セミナーアーカイブ
----------------------------------------------------- **/

/* セミナーアーカイブ
-------------------------------*/

.seminar-new-section .loop-title { text-align: center; }

.event-article,
.event-figwap { position: relative; }

.event-head.loop-head { margin-bottom: 16px; }

.event-head .loop-title {
	margin-bottom: 0;
}

.event-head .loop-title a {
	font-size: 1.175em;
}

.event-aredate {
	color: var( --wp--preset--color--text-black );
	font-size: 0.8125em;
	display: block;
}

.event-area {
	font-size: 0.75em;
	border: 1px solid;
	padding: 0 0.3em;
	display: inline-block;
	vertical-align: 0.1em;
	margin-right: 0.2em;
	background: #fff;
}

.loop-head .simul-txt { font-size: 0.85em; }

.contents .event-place {
	color: var( --text-black );
	font-size: 14px;
	font-size: 0.875rem;
	text-indent: 0;
	text-align: center;
	margin-top: 0.5em;
}

.archive .event-place {
	background: var( --wp--preset--color--theme-light-navy );
	padding: 0.3em;
}

.event-article.loop-fullpost .btn-tx {
	text-align: center;
	margin-top: 1em;
}

.event-article.loop-fullpost .btn-tx a {
	font-size: 1.25rem;
	border-width: 2px;
}

.ondemand-area.event-aredate { color: var(--wp--preset--color--theme-navy ); }

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

	.event-article .loop-head {
		overflow: visible;
		margin-bottom: 1em;
	}

	.event-article .loop-title {
		font-size: 1.75em;
		overflow: hidden;
	}

	.contents .loop-article p.event-place { margin-bottom: 0; }
}

/* 予約状況リボン */

.reserv-tag {
	color: #fff;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	background: #e20020;
	border-right: 3px solid #980016;
	padding: 0.3em 0.8em;
	-webkit-transform: skew( -10deg,0 );
	-ms-transform: skew( -10deg,0 );
	transform: skew( -10deg,0 );
	position: absolute;
	right: 2px;
	z-index: 5;
}

.reserv-in {
	display: block;
	-webkit-transform: skew( 10deg,0 );
	-ms-transform: skew( 10deg,0 );
	transform: skew( 10deg,0 );
}

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

	.archive .reserv-tag { top: 1em; }

	.archive .loop-article:not(:first-of-type) .reserv-tag { top: calc( 1em + 32px ); }
}


/* 過去開催セミナー */

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

	.entry-contents .loopflex-wrap > p:first-child { margin-top: 0; }
}

/**
	書籍 アーカイブ
----------------------------------------------------- **/

.post-type-archive-books .entry-contents:not(.post-row) .books-loop {
	display: -ms-flexbox;
	display: flex;
	gap: 5%;
}

.post-type-archive-books .books-loop .bookbox-figre {
	width: 24%;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
}

.books-loop .bookbox-figre img { box-shadow: 0 1px 3px rgba(0,0,0,0.3); }

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

	.post-type-archive-books .entry-contents:not(.post-row) .books-loop {
		-ms-flex-align: center;
		align-items: center;
	}
}

/* カード型 */

.post-row .books-loop {
	border: 1px solid #ccc;
	padding: 1.5em 5%;
}

.post-row .books-loop .bookbox-figre { width: auto; }

.post-row .bookbox-figre img {
	width: auto;
	max-width: 70%;
	max-height: 200px;
}

.post-row .books-loop .loop-title { font-size: 1.125em; }

.post-row .books-loop .btn-tx { text-align: center; }

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

	.post-row > .books-loop.loop-article {
		width: 31%;
		padding: 1.5em 3%;
	}

	.post-row .books-loop .loop-title { font-size: 1em; }
}

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

	.post-row > .books-loop.loop-article {
		width: 22.35%;
		padding: 1em;
	}
}

/** ============================================================================
 * シングルページ 固定ページ
============================================================================ **/


/* シングルページ
----------------------------- */


/** ----------------------------------------------------------
　各ページ個別
---------------------------------------------------------- **/


/** ============================================================================
 * ホーム(トップ)ページ
============================================================================ **/

/* ホームビジュアル
----------------------------- */

/* Slickボタン類
----------------------------- */

button.slick-arrow,
button.slick-prev:hover,
button.slick-prev:focus,
button.slick-next:hover,
button.slick-next:focus { background: rgba( 255,255,255,0.3 ); }

button.slick-arrow::after { border-color: var(--wp--preset--color--theme-navy); }

button.slick-arrow:hover::after { border-color: var(--wp--preset--color--theme-water); }

.slick-dots .slick-active button,
.slick-dots li button:hover { background: var(--wp--preset--color--theme-magenta); }

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

	.slick-dots li button { background: #eee; }

	.slick-dots {
		top: auto;
		bottom: 16px;
	}
}

/* スリックスライダー
----------------------------- */

.slide-txt { font-weight: 700; }

.slide-txt-right .slide-txtinner > p {
	text-align: left;
	width: max-content;
	margin: 0 0 0 auto;
}

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

	.slide-txt { font-size: 1.75em; }
}

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

	.slide-txt { font-size:2.25em; }
}

/** ----------------------------------------------------------
 * ホーム共通
---------------------------------------------------------- **/

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

	.heading-has-sub-group.is-layout-flex {
		display: block !important;
	}
}


/* ホームセミナー
----------------------------- */

.home-seminar .event-article {
	background: #fff;
	box-shadow: 1px 2px 3px rgba(0,0,0,0.2);
	position: relative;
}

.home-seminar .reserv-tag {
	top: 0;
	right: 8px;
}

.home-seminar .event-article .thum-box { border: none; }

.home-seminar .loopflex-wrap { padding: 1em 5%; }

.home-seminar .event-article .loop-head { margin-bottom: 0.5em; }

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

	.home-seminar .loopflex-wrap { padding: 1em; }

	.home-seminar .loop-title { font-size: 1.375em; }

	.home-seminar .event-article .thum-box {
		width: 40%;
		padding-top: calc( 40% * 0.66 );
		margin: 0;
	}
}

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

	.home-seminar .event-article { position: static; }

	.home-seminar .event-article .flex-box {
		-ms-flex-align: center;
		align-items: center;
	}

	.home-seminar .event-article .home-semi-thum {
		width: 48%;
	}

	.home-seminar .event-article .home-semi-thum img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.home-seminar .loopflex-wrap {
		padding: 1em 1.5em;
		position: relative;
	}

	.home-seminar .loop-title { font-size: 1.675em; }

	.home-seminar .reserv-tag {
		right: 1.5em;
	}
}
