@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.2
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

.home-menu-icon, .home-menu-caption {
	color: #fff;
}
.mobile-header-menu-buttons {
	background-color: #000;	
	color: #fff;
}

.ff-sawarabi-mincho, .wf-active .ff-sawarabi-mincho {
	font-family: "游明朝", "ヒラギノ明朝 ProN", "Noto Serif JP", serif;
}

body {
	background-color: #000;
	color: #fff;
}

.single .content {
	padding: 10px 50px 10px 50px;
}
/*
.page .date-tags {
	display: none;
}
*/
.page .article-footer {
	display: none;
}

.footer-cover .wp-block-cover {
	margin-bottom: 0px;
}

.footer-bottom {
	margin-top: 0px;
}

/* ==================================
 * ヘッダ部分のスタイル
================================== */
/*
.header-container-in.hlt-top-menu .logo-header img {
	height: 28px;
}

.page .header-container .header-container-in 
	width: 100%;
	margin:auto;
}
*/

.header {
	/* width: 1256px; */
	margin: auto !important;
	padding: 0 !important;
}

.header-container {
	padding: 0 !important;
}

.header-container-in {
	padding: 0 !important;
}

/* wrapクラスの既存スタイルを上書き */
.wrap {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* cfクラスの既存スタイルを上書き */
.cf {
	clear: both !important;
}

/* ヘッダー内のwrapクラスを特別に処理 */
#header-container .wrap {
	padding: 15px 5% !important;
	margin: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	max-width: none !important;
}

/* ヘッダーレイアウトの強制適用 */
#header-container .header-container-in .header .header-in,
#header-container .header-container-in .header .header-in.wrap,
#header-container .header-container-in .header .header-in.cf {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: 15px 5% !important;
	flex-direction: row !important;
	width: 100% !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	max-width: none !important;
}

#header-container .header-container-in .header .header-in .header-left {
	display: flex !important;
	align-items: center !important;
	flex: 1 1 50% !important;
	margin: 0 !important;
	padding: 0 !important;
	justify-content: flex-start !important;
}

#header-container .header-container-in .header .header-in .header-right {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 5px !important;
	flex: 1 1 50% !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
	justify-content: center !important;
}

.header-in {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: 10px 0 !important;
	flex-direction: row !important;
}

.header-left {
	display: flex !important;
	align-items: center !important;
	flex: 0 0 auto !important;
}

.header-right {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 5px !important;
	flex: 0 0 auto !important;
}

.header-contact-info {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 14px;
	color: #fff;
	line-height: 1.4;
	text-align: center;
}

.header-contact-info .phone {
	font-weight: bold;
	font-size: 14px;
}

.header-contact-info .hours {
	font-size: 12px;
}

.line-contact-btn {
	background-color: #00B900;
	color: white;
	padding: 6px 12px;
	border-radius: 4px;
	text-decoration: none;
	font-size: 13px;
	font-weight: bold;
	transition: background-color 0.3s;
	white-space: nowrap;
	min-width: auto;
}

.line-contact-btn:hover {
	background-color: #009900;
	color: white;
	text-decoration: none;
}

/* ナビゲーションメニューのスタイル */
.navi {
	background-color: #333;
	padding: 10px 0;
	width: 100% !important;
	margin: 0 !important;
}

.navi-in {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100% !important;
	padding: 0 5% !important;
	box-sizing: border-box !important;
}

.navi-menu {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 30px;
}

.navi-menu li {
	margin: 0;
}

.navi-menu a {
	color: white;
	text-decoration: none;
	font-size: 16px;
	font-weight: bold;
	transition: color 0.3s;
}

.navi-menu a:hover {
	color: #00B900;
}

.tagline{
	margin-left:auto;
}

.logo {
	text-align: left !important;
	margin: .6em auto !important;
	display: block !important;
	padding-left: 0 !important;
}

.logo-header {
	text-align: left !important;
	display: block !important;
}

.logo-header img {
	display: block !important;
}

.main {
	padding: 0px;
	border: none;
	background-color: #000;
}

/*.home .content { */
.page .content {
	margin-top: 0px;
}
.eye-catch {
	/* margin-bottom: 0px; */
	margin-bottom: -1.5px;
}
.header-container, .navi {
	/* background-color: #f7f7f7; */
	background-color: #000;
}

.header-container {
	border-bottom: #094BB1 10px solid;
}

.page .entry-title{
/*	display: none; */
}
.home .entry-title{
	display: none;
}

.page .entry-title {
	margin: 0px;
}

.entry-title {
	text-align:center;
	background-color: #094bb1;
	margin-top: 0px;
	padding: 20px 0px;
}

.page .wrap {
	width: 100%;
}

.page .header-container-in {
/*    width: 1256px; */
    margin: 0 auto;
}

.header-container-in.hlt-top-menu {
    padding: 10px 100px 10px 100px;
}

.navi-in a {
	color: #fff;
	font-size: 20px;
}

.navi-in > ul li {
	height: auto;
	/* line-height: 30px; */
	border-right: solid 1px #fff;
	margin: 10px 0px;
}
.navi-in > ul li:last-child {
	border-right: none;
}
.menu_jpn_name {
	font-size: 12px;
}

.footer{
	background-color: #094BB1;
	background-size:cover;
	margin-top:0px;
	padding: 0px;
}

.copyright {
	color: #fff;
}

.entry-content {
    margin-top: 0px;
}

.article .wp-block-cover {
    margin-bottom: 0px;
}

.go-to-top-button {
	width: 100px;
	height: 100px;
}

.topright-button1 {
	display: block;
	position: fixed;
	color: #ffffff;
	background-color: #094BB1;
	right: 5px;
	top: 200px;
	padding: 10px 35px 10px 20px;
	z-index: 100;
	width: 30px;
	height: auto;
	border-radius: 5px;
}

.topright-button1 a{
	color: #fff;
	text-decoration: none;
}

.topright-button2 {
	display: block;
	position: fixed;
	color: #ffffff;
	background-color: #094BB1;
	right: 5px;
	top: 370px;
	padding: 10px 35px 10px 20px;
	z-index: 100;
	width: 30px;
	height: auto;
	border-radius: 5px;
}
.topright-button2 a{
	color: #fff;
	text-decoration: none;
}

.fa {
	font-size: 25px;
}

.title-img-hr {
	padding-top: 30px;
}
.contents-group-backcolor{
    background-color: rgba(255,255,255,0.7);
}
.contents-group {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
.contents-top-text {
    padding: 20px;
}
.contents-bottom-space{
	padding-bottom: 50px;	
}
.article h6 {
	border: none;
}

.cover-text-shadow {
	text-shadow: black 1px 1px;
}

/* パソコンで見たときは"pc-title-img"のclassがついた画像が表示される */
.pc-title-img, .pc-table, .pc-style-text { display: block !important; }
.sp-title-img, .sp-table, .sp-style-text { display: none !important; }

/*.contact-menu-button {
	border: solid 1px #fff;
	border-radius: 10px;
}*/

.pt-cv-colsys .pt-cv-content-item {
	text-align: center;
}
.pt-cv-content {
	text-align: left;
}

.costom-fontsize-1_5em {
	font-size: 1.5em;
}

/* 新着情報CSS */
.wp-show-posts-inner, h2.wp-show-posts-entry-title {
	background-color: rgba(255,255,255,0.7);
	color: #333;
}

.wp-show-posts-inner {
	text-align: right;
}

.wp-show-posts-entry-summary {
	text-align: left;
	padding: 0 10px;
}

.wp-show-posts-inner .wpsp-read-more {
	margin: 0 10px 1em;
}

h2.wp-show-posts-entry-title{
	text-align: center;
	padding: 10px;
	background-color:transparent;
}

h2.wp-show-posts-entry-title a {
	color: #333;
}

.wpsp-load-more {
	text-align: center;
}

.wpsp-load-more .page-numbers {
	width: 75px;
}

/* 教室詳細画面のテーブル設定 */
table {
	margin: 20px auto;
	width: auto;
}
table tr:nth-of-type(2n+1) {
	background-color: transparent;
}
.company-deteil-tbl tr {
	background-color: transparent;
}
.company-deteil-tbl th {
	background-color: transparent;
	border: 0px;
	padding: 10px 30px 10px 10px;
	text-align: left;
	border-bottom: solid 1px #ccc;
}
.company-deteil-tbl td {
	background-color: transparent;
	border: 0px;
	padding: 10px;
	border-bottom: solid 1px #ccc;
}

/* 価格表のテーブル */
table th, .tbl-kakaku td:first-child {
  /* background: #000000; */
  background:transparent;
}


table.tbl-kakaku2 {
  margin: 20px auto;
	width: 100%;
}
.tbl-kakaku2 th {
  padding: 10px;
}
.tbl-kakaku2 td {
　border: solid 1px #ccc;
  padding: 10px;
	text-align: center;
}

.tbl-kakaku2 td:before {
	content: attr(data-label);
	font-weight: bold;
	margin-right: 10px;
}




/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1260px以下*/
@media screen and (max-width: 1260px){
  /*必要ならばここにコードを書く*/
	.page .header-container-in {
    	width: 100%;
	}
}

/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
	
	/* ==================================
	 * ヘッダ部分のスタイル
	================================== */

	.tagline{
		display:none;
	}
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
	main.main{
		padding: 0px;
	}
	.header-container-in.hlt-top-menu {
    	padding: 0;
	}
	main ol.has-background, ul.has-background{
		padding: 0px 100px 0 100px;
	}
	.topright-button1, .topright-button2 {
		display:none;
	}
	.go-to-top-button {
		width: 70px;
		height: 70px;
	}
	.contents-group {
    	width: 100%;
    	margin-left: auto;
    	margin-right: auto;
	}

	/* スマホで見たときは"sp-title-img"のclassがついた画像が表示される */
	.pc-title-img, .pc-table, .pc-style-text { display: none !important; }
	.sp-title-img, .sp-table, .sp-style-text { display: block !important; }
	
	.content-sp-media-img img {
		padding: 0 8%;
	}
	
	.content-sp-text-group {
		padding: 0 8% 50px 8%;
	}
	.wpsp-load-more .page-numbers {
		margin: 0 0 10px 0;
		width: 80%;
	}
	
	/* 教室詳細画面のテーブル設定 */
	.company-deteil-tbl {
		width: 95%;
	}
	.company-deteil-tbl td {
		border-bottom: solid 1px #ccc;
	}
	.company-deteil-tbl th {
		border-bottom: none;
	}
	.company-deteil-tbl th,.company-deteil-tbl td {
		display: block;
		width: 100%;
		font-size: 100%;
	}
	.tbl-kakaku {
		width: 100%;
	}
	.tbl-kakaku .thead {
		display: none;
	}
	.tbl-kakaku tr {
		width: 100%;
	}
	.tbl-kakaku td {
		display: block;
		text-align: right;
		width: 100%;
	}

	.tbl-kakaku td:first-child {
		background: #e9727e;
		color: #fff;
		font-weight: bold;
		text-align: center;
	}
	.tbl-kakaku td:before {
		content: attr(data-label);
		float: left;
		font-weight: bold;
		margin-right: 10px;
	}
	.tbl-kakaku2 .last td:last-child {
		border-bottom: solid 1px #ccc;
		width: 100%;
	}
	.tbl-kakaku2 {
		width: 80%;
	}
	.tbl-kakaku2 th {
		background: #e9727e;
		color: #fff;
		font-weight: bold;
		text-align: center;		
	}
	.tbl-kakaku2 th {
		display: block;
		width: 100%;
	}
	.tbl-kakaku2 td {
		border-bottom: none;
		display: block;
		text-align: right;
		width: 100%;
	}
	.tbl-kakaku2 td:before {
		content: attr(data-label);
		float: left;
		font-weight: bold;
		margin-right: 10px;
	}
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/* ブラウザデフォルトスタイルのリセット */
* {
	box-sizing: border-box;
}

/* ヘッダー全体のリセット */
#header-container,
#header-container-in,
#header,
.header-container,
.header-container-in,
.header {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

/* レスポンシブデザイン対応 */
@media screen and (max-width: 768px) {
    .header-in {
        flex-direction: column !important;
        gap: 15px !important;
        padding: 15px 5% !important;
    }
    
    .navi-in {
        padding: 0 5% !important;
    }
    
    .header-right {
        align-items: center !important;
    }
    
    .header-contact-info {
        align-items: center !important;
        text-align: center !important;
    }
    
    .navi-menu {
        flex-direction: column !important;
        gap: 10px !important;
        text-align: center !important;
    }
}

@media screen and (max-width: 1296px) {
    .navi-in .menu-pc {
        display: none;
    }
    .mobile-menu-buttons {
        display: flex;
        align-items: stretch;
    }
    .mobile-header-menu-buttons {
        top: 0;
        bottom: auto;
        justify-content: space-between;
        min-width: 46px;
        box-shadow: 0 0 5px darkgrey;
    }
    .no-mobile-sidebar .sidebar, .mobile-button-fmb .go-to-top-button, .no-mobile-header-logo #header .logo-header {
        display: none;
    }
	#header-container .header-container-in .header .header-in, #header-container .header-container-in .header .header-in.wrap, #header-container .header-container-in .header .header-in.cf {
		display: none !important;
	}
}

