/*
Theme Name: kote-top
Theme URI: 
Template: lightning
Description: lightningの改装
Author: T.Morooka
*/
/* ================サイト全体====================== */
/* パンくずリストを非表示 */
#breadcrumb {
		display:none;
}
/* サイトページヘッダー */
.page-header {
background-color: #f6fafc;
color: #0a1228;
}
/* フッターの余白 */
.site-footer-copyright {
	padding: 0 1em 1em 1em;
}
/* フッターのクレジット表記を非表示 */
.site-footer-copyright p:nth-child(2) {
    display: none;
}
/* サイトボディのパディングを無くす */
.site-body {
	padding: 0;
}
/* すべての画像のデフォルトマージンをゼロにする */
.wp-block-image {
    margin-bottom: 0;
}

/* 画面サイズによる表示・非表示（画面サイズ1200pxでハンバーガーメニューに切り替え） */
/* media01は画面サイズ1200px以上で非表示にしたい */
/* media02は画面サイズ1199px以下で非表示にしたい */
@media screen and (min-width: 1200px) {
	.media01 {
		display: none;
	}
}
@media screen and (max-width: 1199px) {
	.media02 {
		display: none;
	}
}
/* ================ヘッダー・フッター====================== */
/* -------------（共通）ホームページ上部の説明（日本語・英語）----------------- */
.header-top {
	color: #f7fcfe;
	background-color: #0b366a;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 5px 15px;
	font-size:12px;
	flex-wrap: nowrap;
}
.header-top .jp {
	text-align: left;
	flex: 1;
}
.header-top .en {
	text-align: right;
	font-size: 0.9em;
	flex: 1;
	color: #f7fcfe;
}
/* 画面サイズによってヘッダーを縦組み　1200px以下 */
@media screen and (max-width: 1200px) {
  .header-top {
    flex-direction: column;
    align-items: flex-start;
  }
  .header-top .jp,
  .header-top .en {
    width: 100%;
    text-align: left;
    margin-bottom: 3px;
  }
  .header-top .en {
    font-size: 0.9em;
  }
}
/* -------（画面サイズ1200以上）サイトロゴとヘッダーナビ------- */
/* 画面サイズ1200以上でモバイルナビ非表示 */
.global-nav {
    display: none;
}
.global-nav.is-open {
    display: block;
}
@media screen and (min-width: 1200px) {
    body.device-pc .vk-mobile-nav-menu-btn {
        display: none;
    }
}
/* ページヘッダーメニュー */
@media screen and (min-width: 1200px) {
.site-header {
	max-width: 100%;
	width: 100%;
	box-shadow: initial;
	padding-right: 30px;
	padding-left: 30px;
}
.site-header-container {
    max-width: 100%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.site-header--layout--nav-float .site-header-logo {
	width: 420px;
}
.site-header-logo {
	padding: 6px;
	margin-bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
}
/* ---------------------------------------------------------------- */
/* ロゴ固定サイズ */
.site-header-logo img {
	width: 360px;
    object-fit: contain;
}
/* -----------------スクロールナビ調整 */
/* ロゴを表示 */
.header_scrolled .header-top, .header_scrolled .site-header-logo, .header_scrolled .site-header-sub, .header_scrolled .vk-campaign-text {
    display: flex;
	align-items: center;
	justify-content: center;
}
.header_scrolled .site-header {
	max-width: 100%;
	width: 100%;
	box-shadow: initial;
	background-color: #f7fcfe80;
	}
@media screen and (min-width: 1200px) {
.site-header--layout--nav-float .site-header-container {
    max-width: 100%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 30px;
	}
.header_scrolled .site-header .global-nav {
	display: flex;
	justify-content: flex-end;
    align-items: center;
	margin: initial;
	}
body.device-pc .vk-mobile-nav-menu-btn {
	display: none;
	}
/* ============グローバルナビケーションバー============= */
/*　リンクの装飾と動きを付ける */
.gro-link-b a:hover {
	color: yellowgreen;
}
/* リンクの下線を消す */
.global-nav-list>li:before {
	border: none;
}
/* PC表示：問合せボタン */
nav .global-nav-list>li:last-child a {
	color: #0a1228;
	margin-top: 10px;
	margin-left: 30px;
	background-color: yellowgreen;
	font-weight: bold;
	text-align: center;
	border: 1px solid yellowgreen;
	border-radius: 20% 80% 40% 60% / 60% 50% 50% 40%;
	box-shadow: 3px 2px 2px #0b366ab3;
	position: relative; 
	}
/* 内側の白い線 */
nav .global-nav-list>li:last-child a:before {
	content: "";
	display: block;
	width: calc(100% - 1px);
	height: calc(100% - 1px);
	border: 2px solid white;
	border-radius: 20% 80% 40% 60% / 60% 50% 50% 40%;
	position: absolute;
	top: -1px;
	left: -1px;
	}
}
/* カーソルホバー */
nav .global-nav-list>li:last-child a:hover {
	color: yellowgreen;
	background-color: #0b366a;
}
/* -------グローバルナビのプルダウン部分------ */
.vk-menu-acc ul.sub-menu li a {
	padding: 10px;
	text-align: left;
}
.global-nav-list>li>ul.sub-menu {
	box-shadow: initial;
	top: 80%;
	background-color: #f7fcfecc;
	color: #0a1228;
	font-weight: bold;
	text-align: center;
	border: 1px solid #0b366a;
	margin-left: -74px;
	width: 147px;
	Z-index: 9999;
}
.global-nav-list .sub-menu li a {
	background-color: #f7fcfeb3;
	color: #0a1228;
	font-weight: bold;
}
.sub-menu > .menu-item:not(:last-child) {
	border-bottom: 1px solid #0b366a;
}
.sub-menu > .menu-item a {
	top: 100%;
	display: inline-block;
	width: 100%;
	height: 100%;
	padding: .5em 0;
}
/* サブメニューにマウスオーバーしたとき背景色とテキストカラーを変更 */
.global-nav-list .sub-menu li a:focus-within, .global-nav-list .sub-menu li a:hover {
	top: 100%;
	background-color: #0b366ab3;
	color: yellowgreen;
}
/* -------------- */
@media screen and (min-width: 1200px) {
/* ヘッダーロゴとグローバルナビを透過する */
	body #site-header {
	  	background-color: #f7fcfecc;
	}
	body.header_scrolled #site-header {
		background-color: #f7fcfecc;
	}
	body:not(.header_scrolled) #site-header {
		position: absolute;
	}
	body .page-header {
		min-height: min(100px, 50vw);
		padding-top: 80px;
	}
/* スクロールしてグローバルナビがページ上部に固定表示されるタイミングでカックンとなることを防ぐ。 */
	body .page-header {
		margin-top: 0 !important;
	}
}
/* 画面サイズ1200未満でハンバーガーメニュー表示　開いたメニュー表示　メニュー非表示　ロゴ表示 */
@media screen and (max-width: 1200px) {
body.device-pc .vk-mobile-nav-menu-btn {
		display: flex;
	}
body:not(.header_scrolled) .global-nav--layout--float-right {
		display: none;
	}
.header_scrolled .site-header .global-nav {
        display: none;
    }
.site-header--layout--nav-float .site-header-logo {
		display: flex;
		justify-content: center;
	}
body.device-pc .vk-mobile-nav {
    display: none !important;
	}
body.device-pc .vk-mobile-nav.vk-mobile-nav-open {
    display: block !important;
    top: 0 !important;
	background-color: #f7fefc80;
	}
}
/* ハンバーガで開いたメニューの装飾 */
.vk-mobile-nav .vk-mobile-nav-menu-outer {
	display: block;
	width: 250px;
	margin-left: auto;
	font-size: small;
	color: #0a1228;
	font-weight: bold;
}
.vk-mobile-nav .widget_nav_menu ul li a, .vk-mobile-nav nav ul li a {
	border: initial;
}
.vk-mobile-nav nav>ul {
	border-top: 1px solid #0b366a;
}
.vk-mobile-nav nav ul li {
	border-bottom: 1px solid #0b366a;
}
/* リンクの装飾 */
.hgm-01 {
	background-color: #f7fefc;
}
.hgm-01 a:hover {
	background-color: #0b366a;
	color: yellowgreen;
}

/* ------------　フッター　---------------------- */
/* フッター下部の背景・文字色 */
.site-footer {
	color: #f7fcfe;
	background-color: #0b366a;
}
/* ===========　各ページ独自の設定　=================== */
/* 【ＨＯＭＥ】リンク画像の装飾（hoverしたら小さくなって文字が出る） */
.t-tilebnr.practice03 {
	position: relative;
	transition: .6s cubic-bezier(0.33, 1, 0.68, 1);
	height: -webkit-fill-available;
	display: flex;
	align-items: flex-start;
}
.t-tilebnr.practice03::before,
.t-tilebnr.practice03::after {
	content: "";
	display: block;
	position: absolute;
	margin: auto;
	top: 0;
	left: 0;
	margin: auto;
	transition: .6s cubic-bezier(0.33, 1, 0.68, 1);
	opacity: 0;
}
.t-tilebnr.practice03::before {
	background: rgba(190,91,70,.6);
	width: 100%;
	height: 100%;
}
.t-tilebnr.practice03::after {
	width: 80px;
	height: 80px;
	color: #fff;
	content: "Read More";
	background-color: #9acd32c4;
	border-radius: 50%;
	font-size: 16px;
	font-weight: bold;
	display: flex;
	text-align: center;
	justify-content: center;
	align-items: center;
	bottom: 0;
	right: 0;
}
.t-tilebnr.practice03:hover::before,
.t-tilebnr.practice03:hover::after {
	opacity: 1;
}
.t-tilebnr.practice03:hover::after {
	letter-spacing: 0.1em;
}
.t-tilebnr.practice03:hover {
	transform: scale(0.9);
}
/* 【日々徒然・投稿ページ全体】 */
/* 日々徒然　タイトルにサブテキストをfunction.phpで追加（サイドバーがあるため） */
.blog-header-subtext {
    font-size: 0.8em;
    color: #555;
    margin: 0;
	padding-bottom: 0.5em;
    text-align: center;
}
/* ============ 日々徒然と投稿（サイドバーがあるページ）の調整 ============= */
/* ページ全体の幅 */
.single .container,
body.post-name-blog .container,
body.post-name-blog .container-fluid,
body.post-name-blog .container-lg,
body.post-name-blog .container-md,
body.post-name-blog .container-sm,
body.post-name-blog .container-xl {
	min-width: 96%;
}
/* 日々徒然のページヘッダーと下線とblog-header-subtextとの間隔をゼロにする */
body.post-name-blog .page-header-inner {
	margin: 0;
}
/* サイドバーの幅 */
.single .sub-section,
body.post-name-blog .sub-section {
	min-width: 400px;
	flex: 1 1 400px;
}
.single .main-section,
body.post-name-blog .main-section {
	min-width: 59.66666667%;
	padding-left: 30px;
}
/* ページタイトルの下線 */
.single .page-header-title,
body.post-name-blog .page-header-title {
	border-bottom: 2px solid #0b366a;
    padding-bottom: 0.3em;
	color: black;
}
/* サイドバーが縦になった時 */
@media (max-width: 1500px) {
	.single .sub-section,
	body.post-name-blog .sub-section {
		width: 100%;
		max-width: 100%;
		margin-top: 20px;
	}
/* カレンダーを中央寄せ＆可変 */
    .single .sub-section .myCalendar,
    body.post-name-blog .sub-secton .myCalendar {
        width: 100%;
        max-width: 450px;
        margin: 0 auto;
    }
}

/* ==================全頁で任意に指定できるCSS　 */
/* 画像を任意の形にする */
.image-ra {
  margin: 0 auto;
  border-radius: 40% 60% 20% 80% / 63% 28% 72% 37%;
  width: 100%;
}
/* ブロック内で文字を折り返さない */
.no-col {
 white-space: nowrap;
 width: fit-content;
}
/* テキストに影をつける（黒） */
.text-dec01 {
    text-shadow: 0 0 25px black, 0 0 25px black, 0 0 25px black;
}
/* テキストに影をつける（白） */
.text-dec02 {
    text-shadow: 0 0 25px lightgray, 0 0 25px lightgray, 0 0 25px lightgray;
}
/* ブロック内のテキストを中央に */
.block-c {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
/* ブロック内で均等割り付け */
.block-j {
	text-align: justify;
}
/* リンクの装飾（ナビ・メニューと統一）下線×　背景#f7fefc→#0b366a　文字色#0b366a→yellowgreen */
.link-col01 a {
	background-color: #f7fefc;
	color: #0b366a;
	border-radius: 10px 10px 10px 10px;
	text-decoration: none;
}
.link-col01 a:hover {
	background-color: #0b366a;
	color: yellowgreen;
	border-radius: 10px 10px 10px 10px;
}
/* =======アコーディオン============================= */
.details {
	border: 1px solid var(--vk-color-border);
	margin-bottom: 2.0em;
}
.details-summary {
	position: relative;
	display: block;
	padding: 20px;
	cursor: pointer;
	transition: opacity 0.2s;
	border: 1px solid black;
}
.details-summary:hover {
	opacity: 0.8;
}
.details-summary .btn {
	position: absolute;
	top: 37%;
	left: 10%;
	width: 18px;
	height: 18px;
	transform-origin: center center;
	transition-duration: 0.2s;
}
.details-summary .btn:before,
.details-summary .btn:after {
	content: "";
	background-color: #fff;
	width: 18px;
	height: 4px;
	position: absolute;
	top: 7px;
	left: 0;
	transform-origin: center center;
}
.details-summary .btn:before {
	width: 4px;
	height: 18px;
	top: 0;
	left: 7px;
}
.details-summary.is-active .btn {
	transform: rotate(-180deg);
}
.details-summary.is-active .btn:before {
	content: none;
}
.details-summary::-webkit-details-marker {
	display: none;
}
.details-content {
	display: none;
	padding: 20px;
	color: #000;
	font-size: 18px;
	text-align: left;
	overflow: visible;
}
.details-content p {
	margin: 0 0 20px;
}
.details-content p:last-of-type {
	margin-bottom: 0;
}
/* ===========  meow-gallery ============== */
/* 画像を写真風にする */
.mgl-tiles .mgl-row .mgl-box {
	width: 96%;
    height: 96%;
	background-color: white;
	border: 1px solid black;
	box-shadow: 3px 2px 2px slategray;
}
.mgl-tiles .mgl-row {
	gap: 16px;
	padding: 8px;
}
/* ===========  meow-lightbox ============== */
/* ガイドの装飾 */
button.pswp__button.pswp__button--close  {
	border: 6px double ghostwhite;
    padding: 30px 30px 30px 20px;
	margin: 10px;
}
button.pswp__button.pswp__button--close a {
	border: 6px double ghostwhite;
    padding: 30px 30px 30px 20px;
	margin: 10px;
}
button.pswp__button.pswp__button--close a:hover {
	border: 6px double yellowgreen;
    padding: 30px;
	margin: 10px;
}
/* ===========contactフォーム７===================== */
/* 必須フィールドのラベルスタイル */
.wpcf7-form .required {
background-color: orangered;
color: #ffffff;
padding: 2px 5px;
border-radius: 3px;
margin-left: 10px;
font-size: 12px;
}
/* 任意フィールドのラベルスタイル */
.wpcf7-form .option {
background-color: limegreen;
color: #ffffff;
padding: 2px 5px;
border-radius: 3px;
margin-left: 10px;
font-size: 12px;
}
/* 送信ボタンのスタイル */
.wpcf7-form input[type="submit"] {
background-color: skyblue;
color: white;
cursor: pointer;
transition: background-color 0.3s ease;
border: none;
min-width: 100%;
}
.wpcf7-form input[type="submit"]:hover {
background-color: dodgerblue;
}