/*
Theme Name: sawabet_inc_2023
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: 5.4
Requires PHP: 7.0
Text Domain: sawabet_inc_2023
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
*/

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

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

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


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

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

.last-br-none br:last-child { display: none; }

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

table th,
.wp-block-table th {
	background-color: #f8f8f6;
}

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

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


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

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

/* 社名周り */

.site-descri {
	color: var(--text-default-color);
	font-size: 0.875rem;
	font-weight: 700;
	margin: 0.4em 0 0.2em;
}

.site-title { font-size: 1.675rem; }

.site-title,
.site-title a:not(:hover) { color: var(--wp--preset--color--sawabe-blue); }


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


/* ヘッダーウィジェット */

.header-widget-area {
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 1em;
}

.header-addwidg { line-height: 1.2; }


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

	.header-widget-area {
		margin: 0;
	}

	.header-addwidg {
		text-align: center;
	}

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

		.head-contents.headwidg-on {
			-ms-flex-pack: center;
			justify-content: center;
		}
	}
}

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

	.header-widget-area {
		-ms-flex-pack: end;
		justify-content: flex-end;
	}

	.header-addwidg {
		text-align: right;
	}
}


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

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


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

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

	.main-nav {
		border-top: 1px solid var(--wp--preset--color--sawabe-blue);
	}

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

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

	.main-menu li ul.sub-menu { min-width: 10em; }

	.main-menu ul.sub-menu a {
		font-size: 0.9375em;
		line-height: 1.2;
	}

	.main-menu ul.sub-menu { background: rgba( 255,255,255,0.9 ); }

	.main-menu ul.sub-menu li:not(:last-child) a { border-bottom: 1px solid #ccc; }
}

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

	.main-menu a { padding: 0 0.5em; }
}


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

.foot-container {
	border-top: 1px solid var(--wp--preset--color--sawabe-blue);
}

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

	.foot-branding .site-title.logo-left { margin: 0; }
}


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


/** ----------------------------------------------------------
 * サイドバー
---------------------------------------------------------- **/

.sidebar { margin-bottom: 40px; }

.widget-title {
	color: #fff;
	font-size: 1.5em;
	font-family: var( --font-mincho );
	font-weight: normal;
	text-align: center;
	padding: 0.2em;
	background: var(--key-main-color);
	border-bottom: 4px solid var( --key-sub01-color );
}

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

	.sidebar { margin-bottom: 80px; }
}

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

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

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

.mailmagz-title { text-align: center; }

.mailmagz-title,
.mailmagz-box .wp-block-cover__inner-container > p,
.mailmagz-box .mailmagz-form + p { text-shadow: 0 0 2px rgba(0,0,0,1.0); }

.mailmagz-title { font-size: 1.5em; }

.mailmagz-box { padding: 1em; }

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

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

.mailmagz-box .mailmagz-form label { display: none; }

.mailmagz-submit {
	width: max-content;
	margin: 0 auto;
}

.mailmagz-box input[type="text"],
.mailmagz-box input[type="email"] {
	color: var(--text-black);
	padding: 0.2em 0.2em;
}

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

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

.mailmagz-box input[type="submit"],
.mailmagz-box input[disabled][type="submit"]:hover  {
	background: #cca25b;
	margin: 0;
}

/* サイド バナーウィジェット
----------------------------- */

.widget_simpleimage { background: var(--key-main-color); }

.widget_simpleimage:not(:first-child) { margin-top: 1em; }

.simple-image::before,
.simple-image::after {
	content: '';
	display: block;
	position: absolute;
}

.simple-image::before {
	width: 2px;
	height: 56px;
	background: #fff;
	top: 12px;
	left: calc( 50% - 10px );
}

.simple-image::after {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px;
	border-color: #fff transparent transparent;
	right: -11px;
	bottom: -11px;
	-ms-transform: rotate( -45deg );
	transform: rotate( -45deg );
}

.simple-image > a {
	text-align: left;
}

.simple-image + p,
.widget_simpleimage p.more {
	left: 50%;
	width: 48%;
}

.simple-image + p,
.widget_simpleimage p.more a {
	color: #fff;
}

.simple-image + p {
	font-size: 0.8125rem;
	font-family: var( --font-mincho );
}

.widget_simpleimage p.more { font-size: 1.125rem; }

/* 会社案内
----------------------------- */

.sidebar .widget_nav_menu > div,
.sidebar .widget-title + div + ul { padding: 0; }

.side-campany-info .widget.widget_nav_menu { margin-top: 0.5em; }

.sidebar .widget_nav_menu .menu > li::before,
.corner-cut::after {
	content: '';
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	margin-right: 0.2em;
	vertical-align: 0.1em;
	border-style: solid;
	border-width: 2px 2px 0 0;
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

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

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

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


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

.entry-contents > p { line-height: 2; }

/*.entry-contents > p:not(:last-child) { margin-bottom: 1.5em; }*/

.contents > h2 {
	color: var( --key-main-color );
	padding-bottom: 0.3em;
	border-bottom: 1px solid;
	margin-bottom: 1em;
}

.contents > h3:not(.has-background) { padding-left: 0.4em; }

.contents > h3:not(.has-background):before {
	content: '';
	display: inline-block;
	width: 0.2em;
	height: 1.3em;
	margin: 0 0.3em 0 -0.5em;
	background: var(--key-sub01-color);
	vertical-align: bottom;
}

.contents > dl { margin-left: 1em; }

.contents > dl dd:not(:last-child) { margin-bottom: 0.5em; }


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

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

.contents-head { text-align: center; }

.contents-head.img-head { padding: 8px 8px 16px; }

/*.entry-title { font-weight: 400; }*/

.single-con-head[style] { padding: 16px 8px; }

.main-title {
	color: var(--key-main-color);
	padding-bottom: 0.3em;
	border-bottom: 2px solid var(--key-sub01-color);
}

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

.tit-img {
	height: 32vw;
	margin-bottom: 1em;
	overflow: hidden;
}

.tit-img img {
	position: relative;
	top: 50%;
	-webkit-transform: translate(0,-50%);
	-ms-transform: translate(0,-50%);
	transform: translate(0,-50%);
}

.entry-title .column-before { font-size: 0.5em; }

.entry-title .semi-aredate  { font-size: 0.7em; }

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

	.contents-head.img-head {
		padding: 0;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-align: center;
		align-items: center;
		background: #fff;
		box-shadow: 0 1px 2px rgba( 0,0,0,0.2 );
	}

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

	.tit-img {
		width: 40%;
		height: 160px;
		margin: 0;
	}

	.entry-txtwrap {
		padding: 0 1em;
		-ms-flex: 1;
		flex: 1;
	}
}

/* メタデータ
-------------------------------*/

.post-meta {
	font-size: 0.875em;
	margin-top: 0.5em;
}

.single-meta { margin-bottom: 0; }


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

.wh-box.new-cat-section,
.wh-box.second-cat-section {
	padding-top: 0;
}

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

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

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

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

.loop-section-tit,
.contents > .loop-section-tit {
	color: #fff;
	text-align: center;
	padding: 0.2em;
	margin: 0 -3% 1em;
	background-color: var( --key-main-color);
	background-image: repeating-linear-gradient(-45deg, rgba(0,0,0,0.2), rgba(0,0,0,0.2) 5px, rgba(0,0,0,0) 0, rgba(0,0,0,0) 10px);
	border-bottom: 4px solid var( --key-sub01-color );
}

.new-cat-section figure {
	text-align: center;
	max-height: 680px;
	overflow: hidden;
}

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

	.loop-section-tit,
	.contents > .loop-section-tit { margin: 0 -24px 1em; }
}

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

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

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

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

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

.seminar-new-section .before-posttitle {
	font-size: 0.76em;
	display: block;
}

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

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

	.seminar-new-section .loop-title { font-size: 1.75em; }
}

/**
	Page Navi プラグイン設定
-------------------------------*/

.pagination > .nav-links > a:hover,
.pagination > .nav-links > span.current,
.single-pagenav.pagination > a:hover,
.single-pagenav.pagination > span.current,
.wp-pagenavi a:hover,
.wp-pagenavi span.current {
	background-color: var( --key-sub01-color);
	border-color: var( --key-sub01-color );
}

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

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

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

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

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

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

.seminar-new-section .event-head .loop-title a {
	display: block;
	border: 2px solid;
	padding: 0.3em 3%;
	margin: 0.3em 0;
	background: #f1f1ff;
}

.seminar-new-section .event-head .loop-title a:not(:hover) {
	color: var(--key-main-color);
}

.event-aredate {
	font-size: 0.8125em;
	display: block;
}

.event-area {
	color: var( --text-black );
	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; }

.event-place {
	font-size: 14px;
	font-size: 0.875rem;
	text-indent: 0;
	text-align: center;
}

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

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

	.event-article .loop-title { overflow: hidden; }

	.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;
	position: absolute;
	right: 2px;
	z-index: 5;
}

.reserv-tag::after {
	content: '';
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px;
	border-color: #fff transparent transparent;
	right: -13px;
	bottom: -10px;
	-ms-transform: rotate( -45deg );
	transform: rotate( -45deg );

}

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

	.reserv-tag { top: 1em; }

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

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

.end-semitit {
	line-height: 1.4;
	font-weight: 700;
}

.end-place {
	font-size: 0.875em;
}

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

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


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

.single-con-head .event-aredate { font-size: 0.65em; }

.single-con-head .before-title { font-size: 0.75em; }

.single-img-txt.text-white { color: #fff; }

.single-con-head .main-title {
	line-height: 1.4;
	padding-bottom: 0.5em;
}

.single-con-head.bg-img::after {
	content: '';
	display: block;
	border: 1px solid #fff;
	position: absolute;
	top: 8px;
	right: 8px;
	bottom: 8px;
	left: 8px;
	pointer-events: none;
}

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

	.single-con-head[style] .single-img-wrap { margin: 0; }
}

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

/*コラム*/

.category-column .before-title {
	font-weight: 400;
	font-family: Frank Ruhl Libre, "Yu Mincho", "YuMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

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



	.single-img-wrap.ritght-bg {
		background-position: right top;
	}
}

/* セミナーシングル
----------------------------- */

.text-white .event-date,
.text-white .main-title,
.text-white .single-meta  { color: #fff; }

.text-white .main-title::after { background-color: #fff; }

.event-aredate + .main-title {
	font-family: inherit;
	font-weight: 700;
	border-color: var(--wp--preset--color--sawabe-blue);
}

.added-section { margin-top: 40px; }

.added-section > h2 {
	color: #fff;
	background-color: var(--key-main-color);
	padding: 0.2em 0.5em;
	margin-bottom: 1em;
	background-color: var( --key-main-color);
	background-image: repeating-linear-gradient(-45deg, rgba(0,0,0,0.2), rgba(0,0,0,0.2) 5px, rgba(0,0,0,0) 0, rgba(0,0,0,0) 10px);
	border-bottom: 4px solid var( --key-sub01-color );
}

.semi-outlinetb th,
.semi-outlinetb td { border-color: #ccc; }

.contents .semi-outlinetb p { margin: 0; }

.place-box { margin-bottom: 1em; }

.acf-map {
  width: 100%;
  height: 240px;
  border: 1px solid #eee;
  margin: 8px 0px;
}

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

	.added-section { margin-top: 80px; }

	/*.contents .semi-outlinetb th { min-width: 6em; }*/

	.semi-outlinetb .place-box {
		display: -ms-flexbox;
		display: flex;
		width: 100%;
	}

	.semi-outlinetb .place-box .semiplace-ph {
		max-width: 45%;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		margin: 0 2em 0 0;
	}

	.acf-map {
		height: 300px;
	}

	.semi-outlinetb .place-box .acf-map {
		margin: 0;
	}
}

/* FAX申込み
----------------------------- */

.semifax-section > h2 { font-size: 1.375em; }

.semi-faxbox {
	background: #f5f5f5;
	padding: 8px;
}

.semi-faxwrap > *:not(:first-child) { margin-top: 0.5rem; }

.fax-iconwrap > a,
.fax-iconwrap > a span { display: block; }

.fax-iconwrap > a {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
}

.pdf-faicon {
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	margin-right: 0.3em;
}

.pdf-faicon .fa-file-pdf.svg-inline--fa { height: 2.5em; }

.fax-numbox {
	text-align: center;
	text-indent: 0;
	line-height: 1.3;
	margin: 0;
	background: #fff;
	padding: 8px 8px;
}

p.fax-number {
	font-size:1.5rem;
	font-weight: bold;
	line-height: 1.2;
	margin: 0;
}

.fax-number .sp-block {
	font-size: 0.875rem;
	font-weight: normal;
}

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

	.semifax-section > h2 { font-size: 1.5em; }

	.semi-faxbox { padding: 16px; }

	.semi-faxwrap {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-align: center;
		align-items: center;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.semi-faxwrap > *:not(:first-child) { margin-top: 0; }

	.fax-numbox {
		-ms-flex: 1;
		flex: 1;
		margin: 0 0 0 1.5em;
	}
}


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

/**
	コンサルティングページ
----------------------------------------------------- **/

/* コンサルティングのステップ */

.consul-flow {
	list-style: none;
	padding: 0;
	margin: 0;
}

.consul-flow.flow > li {
	border-color: var( --key-main-color );
}

.consul-flow.flow > li::before { border-color: var( --key-main-color )transparent transparent; }

.consul-flow.flow > li > h3 { color: var( --key-main-color ); }

.consul-flow .flow-count {
	color: #fff;
	font-weight: 400;
	font-size: 0.875em;
	background: var(--key-sub01-color);
	display: block;
	width: max-content;
	padding: 0 0.5em;
	margin: 0 auto 0.5em 0;
}

.slash-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.slash-list > li { display: inline; }

.slash-list > li:not(:first-child)::before { content: '／'; }

@media screen {

	.consul-flow .flow-count {
		display: inline-block;
		margin: 0 0.5em 0 0;
	}
}

/* 新着一覧
----------------------------- */

.column-links.cat-links > a { background-color: var(--key-main-color); }

.seminar-links.cat-links > a { background-color: var(--wp--preset--color--sawabe-pink); }

.info-links.cat-links > a { background-color: var(--key-sub01-color); }

.news-all-list li > a { display: block; }

.new-icon .news-meta + a:after {
	content: 'NEW';
	color: var(--wp--preset--color--vivid-red);
	font-size: 0.785em;
	line-height: 1;
	display: inline-block;
	padding: 0.2em 0.5em;
	border: 1px solid;
	margin-left: 0.5em;
	vertical-align: 0.1em;
}

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


.top-visual { margin-bottom: 0; }

/**
　メインスライダー パーツ
----------------------------------------------------- **/
.top-visual button.slick-arrow,
.top-visual button.slick-arrow:hover,
.top-visual button.slick-arrow:visited { background: none; }

.top-visual button.slick-arrow:hover::after { border-color: var( --key-sub01-color ); }

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

.slick-dots .slick-active button,
.slick-dots li button:hover { background: var( --key-sub01-color ); }



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

.slide-figure::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(58,67,96,0.2);
}

.slide-txtwrap .slidetxt-bg {
	color: #fff;
	font-weight: 700;
	font-size: 1.125em;
	line-height: 1.2;
	letter-spacing: 2px;
	text-shadow: 0 0 2px rgba(58,67,96,1),0 0 2px rgba(58,67,96,1),0 0 4px rgba(58,67,96,1),0 0 4px rgba(58,67,96,1),0 0 8px rgba(58,67,96,1);
	padding: 0.5em 1em;
	display: inline-block;
	width: 100%;
}

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

	.slide-txtwrap { font-size: 1.375em; }
}

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

	.slide-txtwrap { font-size: 1.625em; }
}


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


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

.home-section:not(:first-child) { margin-top: 40px; }

.wh-box > .heading-has-sub-group { margin: -16px -16px 0.5em !important; }

.heading-has-sub-group h2 {
	color: #fff;
	font-size: 1.5em;
	font-family: var( --font-mincho );
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
	padding: 0.2em;
	margin: 0;
	background-color: var( --key-main-color);
	background-image: repeating-linear-gradient(-45deg, rgba(0,0,0,0.2), rgba(0,0,0,0.2) 5px, rgba(0,0,0,0) 0, rgba(0,0,0,0) 10px);
	border-bottom: 4px solid var( --key-sub01-color );
}

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

	.home-section:not(:first-child) { margin-top: 80px; }

	.wh-box > .heading-has-sub-group { margin: -24px -24px 0.5em !important; }

	.heading-has-sub-group h2 { font-size: 2em; }
}

/**
	ループ
----------------------------------------------------- **/

.home-loop { margin: 0; }

.home-loop > .loop-article:not(:last-child) {
	padding-bottom: 32px;
	border-bottom: 1px dotted;
}

.home-loop + .link-fa5-3bar {
	border-top: 1px solid #ccc;
	margin-top: 32px;
}

.home-loop .loop-title { margin: 0; }

/**
	News&Topics
----------------------------------------------------- **/


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

/*.home-seminar .event-head { position: relative; }*/

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

.home-seminar .loop-article .event-place {
	text-align: left;
	margin: 0.5em 0;
}

.home-seminar .reserv-tag {
	font-size: 0.875rem;
	top: 0em;
	right: -1px;
}

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

	.home-seminar .event-head { position: relative; }

	.home-seminar .reserv-tag {
		font-size: 1rem;
		right: 0;
	}
}
