@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.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@100;200;300;400;500;600;700&display=swap');

/* メニューから HOME ボタンを非表示 */
#navi ul#menu-top_menu li#menu-item-60 {
	display: none;
}

:root {
	--theme-color-lightest: #FDE7EA; /* rgba(253 , 231 , 234) */
	--theme-color-lighter: #F47084; /* rgba(244 , 112 , 132) */
	--theme-color-light: #F0415B; /* rgba(240 , 65 , 91) */
	--theme-color: #EE1132; /* rgba(238 , 17 , 50) */
	--theme-color-dark: #BD0E28; /* rgba(189 , 14 , 40) */
	--theme-color-darker: #8E0A1E; /* rgba(142 , 10 , 30) */
	--theme-color-darkest: #2F030A; /* rgba(47 , 3 , 1) */

	--theme-color-pair-lightest: #DBEFFF; /* rgba(219 , 239 , 255) */
	--theme-color-pair-lighter: #28A2FF; /* rgba(40 , 162 , 255) */
	--theme-color-pair-light: #008AF4; /* rgba(0 , 138 , 244) */
	--theme-color-pair: #006FC5; /* rgba(0 , 111 , 197) */
	--theme-color-pair-dark: #00508E; /* rgba(0 , 80 , 14) */
	--theme-color-pair-darker: #00345B; /* rgba(0 , 52 , 9) */
	--theme-color-pair-darkest: #001728;  /* rgba(0 , 23 , 40) */
}

/*全体色*/
body.information {
	background:initial;
	border:initial;
	padding: initial;
	border-radius:initial;
	position:initial;
	display:initial;
}
body {
	background-color: #fff;
	overflow-x: hidden;
	font-family: Jost, Arial, "Kosugi Maru", "Hiragino Sans", "游ゴシック", "メイリオ", YuGothic, Meiryo, sans-serif;
	text-align: justify;
	text-justify: inter-ideograph;
}
.header-container, .main, .sidebar, .footer {
	background-color: #fff;  
}
/* ヘッダーの中の sitename */

.header-container:not(.fixed-header) #header-in span
{
	display: inline-block;
}
.header-container:not(.fixed-header) #header-in span.name
{
	margin: 0 5px;
}
#header-in span {
	display: block;
	line-height: 1.4;
}
#header-container .site-name-text {
	font-size: 22px;
}
.header-container.fixed-header .site-name-text span.number,
.header-container.fixed-header .site-name-text span.area
{
	font-size: 10px;
}
.header-container.fixed-header .site-name-text span.name
{
	font-size: 13px;
}
div.tagline {
	display: none;
}
.logo-text {
	padding: 10px 0;
}
#content.content{
	margin-top: 0px;
}
.main {
	padding-top: 15px;
}
.entry-content {
	margin: 0 ;
}
.border-gray {
	border: 1px solid gray;
}
.rich_font {
	font-family: "リュウミン R-KL" !important;
}
.rich_font_bold {
	font-family: "リュウミン B-KL" !important;
}
.article p {
	margin-bottom:1em;
}
.article h1, .article h2, .article h3, .article h4, .article h5, .article h6 {
	margin: 30px 0 20px;
	padding: 0;
	background: none;
	border: none;
}
.article h1.entry-title {
	position:relative;
	padding-bottom:8px;
	margin:0 0 8px!important;
	border-bottom: 2px solid var(--theme-color-pair-lighter);
}
.article h1.entry-title:after {
	position:absolute;
	bottom: -2px;
	right: 0;
	content:'';
	width: 60%;
	border-bottom: 2px solid var(--theme-color-pair-lightest);
}
.article h1.entry-title .catch_en{
	display:block;
	font-family:Jost;
	font-weight: 300;
	font-size: 1rem;
	color: var(--theme-color);
}
.article h1.entry-title .catch_jp{
	display:block;
	font-size: 2.1rem;
}
.article h2:not(.align-center) {
	padding-bottom:4px;
	border-bottom: 2px solid var(--theme-color-pair-lighter);
}
.article h3 {
	font-size: 20px;
	font-weight: normal;
	margin: 20px 0 10px;
	padding: 5px 10px;
	border-left: 5px solid var(--theme-color-pair-lighter);
}
/* ▼ h2 内装飾 */
.center_line {
	display: flex;
	align-items: center;
	justify-content: center;
}
.center_line::before {
	margin-right: .8rem;
}
.center_line::after {
	margin-left: .8rem;
}
.center_line::before, .center_line:after {
	border-top: 1px solid var(--theme-color);
	width: 5rem;
	content: "";
}
.article h2 span.catch_sub{
	font-size:1rem;
	font-weight: normal;
	color: var(--theme-color-pair);
}
/* ▲ h2 内装飾 */
.entry-content ul{
	padding-left:25px;
}
.sidebar {
	background-color: #fff;
}
.alilgn-justify{
	text-align: justify;
}
.align-center{
	text-align: center;
}
.align-right{
	text-align: right;
}
.d-none {
	display: none;
}
.mt-0{
	margin-top: 0!important;
}
.mb-0{
	margin-bottom: 0!important;
}
.fullwide{
	position: relative;
	width: 100vw; /* 画面幅いっぱいに設定 */
	margin-left: 50%!important;
	transform: translateX(-50%); /* 中央寄せの場合 */
	height: auto;      /* 高さは自動調整 */
	max-width: none!important;
	aspect-ratio: 16 / 9; /* 比率を16:9に固定 */
}
video#video{
	width: 100%;
	aspect-ratio: 16 / 9; /* 比率を16:9に固定 */
}
/*
* ナビゲーションバー
*/
body.home #navi .navi-in > ul > li#menu-item-60 {
	display:none;
}
/* 横幅1023を境にtopメニュー入れ替え */
.logo-menu-button{
	line-height: 24px;
}
/* 横幅1023を境にtopメニュー入れ替え */
.mobile-header-menu-buttons{
	position:fixed;
	top: 0 !important;
	padding: 5px 0;
}
/* top ナビゲーションバーの高さ調整 */
.navi-in > ul li {
	min-width: 0; /* 親の幅に収まるようにする */
}
/* ナビ幅 */
#navi .navi-in > ul > li > a {
	font-family: Jost, Arial, "Kosugi Maru", "Hiragino Sans", "游ゴシック", "メイリオ", YuGothic, Meiryo, sans-serif;
	padding: 0.4em 0;
}
/* ナビ内項目の広がりすぎを防ぐ */
.menu-item {
	min-width: 0; /* これで親の幅に収まるようになります */
}
.navi-in a:hover {
	background-color: var(--theme-color-pair-lightest);
}
/* テーブル */

/* cocoonのストライプ（縞模様）解除 */
.entry-content table tr:nth-child(odd) {
	background-color: #ffffff; /* 奇数行も白 */
}
table:not(.has-border-color) :where(th, td) {
	border: 1px solid gray;
}
.table-schedule tbody tr.align-center {
	background-color: #fcfcfc;
}
.table-schedule thead th,
.table-schedule tbody th {
	text-align: center;
}
.table-schedule tbody tr {
	vertical-align: top; /* セルの内容を上揃え */
}
.table-schedule tr th:first-child {
	width: 100px;
}
.table-schedule tbody tr:not(.align-center) th:first-child {
	text-align: right;
}
.table-schedule tbody span.time {
	color: var(--theme-color-pair);
	font-size:1rem;
}
.table-konsinkai {
	width: 50%;
	min-width: 480px;
}
.table-schedule td.teiin span.time:not(.non_teiin):after {
	content:'定員制';
	position: relative;
	top: -3px;
	font-size:.7rem;
	color: white;
	background-color: var(--theme-color-light);
	border-radius: 3px;
	padding: 4px;
	margin-left: 5px;
}
.table-schedule span.teiin {
	position: relative;
	top: -3px;
	font-size:.7rem;
	color: white;
	background-color: var(--theme-color-light);
	border-radius: 3px;
	padding: 4px;
	margin-left: 5px;
}
body.home #table-home th {
	width: 140px;
}
body.information #table-info th {
	width: 160px;
}
.equal-width-table{
	width: 100%; /* テーブル全体の幅を指定（例: 親要素に合わせて100%） */
	table-layout: fixed; /* 列幅を固定レイアウトにする */
}
body.limited_program table th {
	width: 100px;
}
/* cocoonの定義色を変更 */
.info-box{
	background-color: #f3fafe;
	color: var(--cocoon-text-color);;
}
.information-box,.info-box{
	margin: 1em 0!important;
}
/* リンク機能を持ったボタン */
a.button {
	color: #fff;
	background-color: var(--theme-color-pair);
	font-weight: bold;
	border-radius: 4px;
	display: inline-block;
	cursor: pointer;
	line-height: normal;
	padding: 16px 30px;
	margin: 4px 2px;
	text-decoration: none;
	text-align: center;
	font-size: 16px;
	border: 2px solid transparent;
	position: relative;
}
a.button.disable {
	background-color: #c6c6c6 ;
	cursor: default;
}
a.button:not(.disable):hover {
	border: 2px solid var(--theme-color-pair-dark);
	background-color: var(--theme-color-pair-dark) ;
	transition: background-color .3s;
}
/* 目次位置調整 */
.toc-center {
	margin: 1.5em auto;
}
/* 必須ボタン */
span.required {
	content: '必須';
	position: relative;
	top: -2px;
	color: white;
	background-color: var(--theme-color);
	border-radius: 4px;
	font-size:.8rem;
	padding: 4px;
	margin-left: 5px;
}
body.contact input[type="submit"] {
	width: 50%;
	font-size: 1rem;
	font-weight: normal;
	color: #fff ;
	padding: 8px 20px ;
	margin: 4px 0 ;
	border: 2px solid var(--theme-color-pair-light) ;
	background-color: var(--theme-color-pair-light) ;
	transition: background-color 1s ;
}
body.contact input[type="submit"]:hover {
	font-weight: bold;
	color: var(--theme-color-pair) ;
	background-color: white ;
	transition: background-color 1s ;
}
/* ページ先頭に戻るボタン */
.go-to-top {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 99999;
}
.go-to-top-button {
	width: 60px;
	height: 60px;
	border-radius: 0;
	filter: drop-shadow(1px 1px 2px rgba(0,0,0, .5));
}
/* チェックボックスデザインサンプル */
/* チェックボックス全体 */
.checknox-wrap {
	display: block;
	position: relative;
	padding-left: 30px;
	margin-bottom: 12px;
	cursor: pointer;
	font-size: 16px;
	user-select: none;
}

/* デフォルトチェックボックス非表示 */
.checknox-wrap input {
	display: none;
}

/* チェックボックスのスタイル */
.checknox-wrap .checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: 25px;
	width: 25px;
	border: 2px solid #999999;
	box-sizing: border-box;
	border-radius: 4px;
	background-color: white;
}

/* チェックマーク作成 */
.checknox-wrap .checkmark:after {
	content: "";
	position: absolute;
	display: none;
	left: 5px;
	top: 1px;
	width: 8px;
	height: 12px;
	border: 2px solid #FFF;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

/* チェック時のスタイル */
.checknox-wrap input:checked + .checkmark {
	background-color: #0070bd;
	border: 2px solid #0070bd;
}

/* チェック時 チェックマーク表示 */
.checknox-wrap input:checked + .checkmark:after {
	display: block;
}

/* 長い目次の省略 */
#toc li a {
	max-width: 600px;
	display: -webkit-box;             
	-webkit-box-orient: vertical;      /* 垂直方向に配置 */
	overflow: hidden;                  /* 溢れた部分を隠す */
	text-overflow: ellipsis;           /* 溢れた部分に「...」を表示 */
	-webkit-line-clamp: 1;             /* 最大行数を2行に設定 */
}

#footer {
	margin-top: 0;
	padding: 0;
	position: relative;
	display: flex;
	width: 100vw;
	left: 50%;
	right: 50%;
	padding: 0;
	margin: 0 -50vw;
	align-items: center;
	justify-content: center;
	background-color: var(--theme-color-pair-darkest);
}
/* 講演・セミナー、定員制プログラム */

body.program h3 span.kind,
body.limited_program h3 span.kind {
	color: var(--theme-color-pair);
}
body.program h3 span.kind {
	font-size: .98rem;
}
body.program h3 span.separator,
body.limited_program h3 span.separator {
	display: none;
}
body.program p.time {
	font-size: .95rem;
	color: var(--theme-color-pair-darker);
	margin-bottom: 0;
}
body.program p.speaker {
	font-size: 1.1rem;
}
/* 目次のセパレーター */
ol.toc-list li span.separator {
	color: var(--theme-color-lighter);
}
/* サイトトップページの動画 */
body.home #promoMovie a {
	position:absolute;
	bottom: 10px;
	right: 10px;
	text-decoration: none;
	color: white;
	font-size: .85rem;
	/* 右に*px、下に*px、ぼかし*px、色(黒の透明度%) */
	filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.8));
}
body.home #promoMovie a i {
	margin-right: 3px;
}
.entry-content .alert-box {
	margin-top: 10px;
}

/* トップページお知らせ（タイトルのみ）----------------------- */
.home .news_list {
	margin-bottom:30px;
}
.home .news_list .item {
	display: flex;
	gap: 12px;
	align-items: center;
	font-size: .95rem;
	border-top: 1px solid #ddd;
	width: 100%;
	max-width: 600px;
	height: 60px;
	line-height: 60px;
	text-align: justify;
	margin: 0 auto;
}
.home .news_list .item:last-child {
	border-bottom: 1px solid #ddd;
}
.home .news_list .date {
	min-width: 104px;
	color: #777;
}
.home .news_list .date i {
	margin-right: 6px;
}
.home .news_list .category {
	min-width: 100px;
	height: 35px;
	line-height: 35px;
	display: inline-block;
	background: var(--theme-color-pair-darker);
	color: #fff;
	text-align: center;
	border-radius: 35px;
	font-size: 12px;
	text-decoration: none;
}
.home .news_list .category.news {
	background: var(--theme-color);
}
/*
.home .news_list .category. {
background: #570778;
}
.home .news_list .category. {
background: #3CB736;
}
*/
.home .news_list .title {
	text-decoration: none;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
/* 投稿記事内のカテゴリーカラー */
.cat-link.cat-link-1 {
	background-color: var(--theme-color);
}
/* 検索結果のサムネイルを非表示 */
body.search-results .entry-card-thumb {
	display: none;
}
body.search-results .entry-card-content {
	margin-left: 0;
}
.sp-show {
	display: none;
}
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
	/*必要ならばここにコードを書く*/
	nav#navi,
	#header-container {
		display: none;
	}
	#content.content{
		margin-top: 60px;
	}
}

/*834px以下*/
@media screen and (max-width: 834px){
	.sp-show {
		display: initial;
	}
	.sp-hide {
		display: none;
	}
	#content.content{
		margin-top: 0;
	}
	.entry-content {
		margin: 0 ;
	}
	.article h2{
		font-size: 17px;
	}
	.article h2:first-of-type{
		margin-top:0;
	}

	body.limited_program table th {
		width: 60px;
	}
	main#main.main {
		padding-top: 25px;
	}
	div.tagline{
		display:none;
	}
	.header .logo-header {
		display:none;
	}
	h1.entry-title{
		margin-top: 0;
	}
}
/* 検索結果ページでサイドバーを非表示にする */
.search #sidebar {
	display: none;
}
.search #main {
	width: 100%; /* メインコンテンツを広げる */
}
/*480px以下*/
@media screen and (max-width: 480px){

	body.home #promoMovie {
		top: 0px;
	}
	body.home #table-home th,
	body.information #table-info th {
		width: 86px;
	}
	.home .news_list .category {
		display:none;
	}
	.no-sp-snippet .entry-card-snippet {
		display: initial;
	}
}
