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

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

/* ★サイト全体の文字 */
strong {
  font-weight: 700 !important; /* 数値を大きくして太くする */
}
body {
	letter-spacing: 0.04em; /*標準より少し広げる（おすすめ） */
	font-family: "Varela Round",YakuHanRP,"Kosugi Maru", sans-serif!important;
	font-weight: 400!important;
}
.article h2,
.article h3 {
  letter-spacing: 0.08em;
}
.article h3{
	font-size:30px;
	padding:0;
	border:none;
	line-height: 1.6em;
}
.article h4{
	font-size:22px;
	padding:0;
	border:none;
	line-height: 1.6em;
    letter-spacing: 0.06em;
}
.article h5{
	padding:0 0 0.2em 0;
	border:none;
	line-height: 1.3em;
    letter-spacing: 0.04em;
}

body:not(.page-id-21) .article h2{
	font-size:42px;
	line-height:1.8;
	letter-spacing: 0.17em;
	background-color:transparent;
}
.sns-follow-message{
	font-size:0.9em;
}　

/* ★サイト全体の余白 */
.entry-content {
    margin-top: 1em;
    margin-bottom: 1em;
}
.entry-content {
  margin-bottom: 0px;
}
body:not(.page-id-21) .main {
	padding:10px 29px;
	padding-top:0px!important;
	top:-18px;
	margin-bottom: -150px!important;
}
.content{
	margin-top:0px!important;
}
/* ★投稿ページ */
.single #container{
	background-color:#fff100;
}
.single .post-date{
	display:block!important;
}
.single .entry-title{
	margin-top:8em!important;
	text-align:center;
}
.single .entry-title::after {
content: "";
display: block;
height: 6px;
max-width:96%;
margin: 0.5em auto;
background-image: url("https://mtheartbeat.com/wp-content/uploads/2026/02/hr.png");
background-repeat: repeat-x;
background-position: left;
background-size: contain;
}
.single .content-in {
    width: 1000px !important;
	max-width:100%;
}
body.single .main{
	top:60px!important;
	border-radius: 1000px 1000px 0px 0px;
	padding: 0em 6em 3em 6em!important;
	margin-bottom: 90px!important;
}
.single .date-tags{
	margin-bottom:0;
}
/* ★投稿ページ送りナビカスタム */
.pager-post-navi a figure{
display: none!important;
}
.pager-post-navi {
    flex-direction: row;
}
/* ページ送りナビを両端に広げる */
.navigation {
display: flex;
justify-content: space-between; /* 両端に配置 */
width: 100%;
}

/* 各リンクの幅を自動調整し、中央寄せを解除 */
.prev-post, .next-post {
flex: 1; 
max-width: 50%; /* 重なり防止のため少し隙間を開ける */
}
.pager-post-navi a.prev-post {
    margin-right: 22%;
}
.pager-post-navi a.next-post{
    margin-left: 22%;
}
.pager-post-navi a .iconfont {
	color: #2557a7!important;
	font-size: 1.2em;
}
.pager-post-navi a.next-post .next-post-title,
.pager-post-navi a.prev-post .prev-post-title{
    display: none;
}
/* --- ページ送りナビ：前へと次への文字を表示 --- */

/* 左側（前へ）の設定 */
.pager-post-navi a.prev-post::after {
content: "前へ";
margin-left: 3px;
color: #2557a7!important;
font-size: 1em !important;
letter-spacing: 0.2em;
font-weight: bold;
vertical-align: middle;
}

/* --- 「次へ」の並び順を強制変更 --- */

.pager-post-navi a.next-post {
display: flex !important;
flex-direction: row !important; /* 横並び */
align-items: center !important;
justify-content: flex-end !important; /* 右寄せ */
	margin-left: auto !important;
}

/* 1. 矢印アイコンを右側に送る */
.pager-post-navi a.next-post .iconfont {
order: 2 !important;
margin-left: 3px !important;
}

/* 2. 「次へ」の文字を左側に配置 */
.pager-post-navi a.next-post::before {
content: "次へ" !important;
order: 1 !important;
color: #2557a7 !important;
font-size: 1em !important;
letter-spacing: 0.2em;
font-weight: bold !important;
}

/* 3. 元のタイトルを消去（念押し） */
.next-post-title {
display: none !important;
}

/* --- レイアウトの微調整（念のため上書き） --- */

/* 矢印と文字を垂直に揃える */
.pager-post-navi a .iconfont {
vertical-align: middle;
}

/* タイトルエリアを完全に消去して文字だけにする */
.prev-post-title,
.next-post-title {
display: none !important;
}
/* ★PC余白ひろく */
.rp-yohaku{
	padding:0 8em;
}
.rm-yohaku{
	margin:0 8em;
}

/*★ボタン*/
.btn-m::after {
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
	content: "\f054";
	font-size: 16px;
    right: 4px;
    top: 13px;
}
.btn-m{
    padding: 12px 60px 12px 30px;
}
.btn{
	border-width: 4px;
    border-style: dotted dotted solid dotted;
}
/*マウスオーバー*/
.btn:hover{
	color:#ee8383!important;
	background-color:#f9f7ba!important;
	transform: translateY(1px);
	transition: all 0.2s ease;
	opacity:1;
}

/* ★カバーブロック全幅 */
body .is-layout-constrained>:where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--wp--style--global--content-size);
    margin-left: auto!important;
    margin-right: auto!important;
}
/* カバーブロック全幅にするとき */
.cstm-blk-fullwide-inner {
    width: 100vw!important;
    margin: 0 calc(50% - 50vw);
    padding: 0 calc(50vw - 50%);
}
/* 画像ブロックは以下で画面幅に */
.cstm-blk-fullwide {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}
/*★サイドバーが非表示になる画面幅のとき、コンテンツが少ないとフッターが下端から離れる対処*/
#container {
display: flex;
min-height: 100vh;
flex-direction: column;
}
#content {
flex-grow: 1;
}
/*★フッター*/
.footer {
  position: relative;
  background-color: #34bdeb !important; /* ★フッターの背景色に合わせる */
  margin-top: 50px !important; /* 山を高くした分、上の余白をさらに確保 */
  border: none;
}
.mobile-footer-menu-buttons{
	background-color: #34bdeb;
	color:#fff;
}
.mobile-menu-buttons .menu-button > a{
	color:#fff!important;
}
/* 中央が高く切り立ったアーチ */
#footer::before,
.mobile-footer-menu-buttons::before{
    content: "";
    position: absolute;
    top: -79px;
    left: 0;
    width: 100%;
    height: 80px;
    background-color: transparent;
    background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 100" preserveAspectRatio="none"><path fill="%2334bdeb" d="M962.964 -0.000175476H957.036C608.432 0.188271 281.608 33.6163 0 91.8998V100H1920V91.8998C1638.39 33.6163 1311.57 0.188271 962.964 -0.000175476Z" /></svg>');
    background-repeat: no-repeat;
    background-size: 100% 80px;
    pointer-events: none;
}
.footer-widgets p{
	font-size: 15px;
}
.footer-widgets .sns-follow-message,
.widget-footer-mobile{
	font-size:13px;
}
.widget-footer-left,
.widget-footer-center{
	margin-bottom:0!important;
}
.widget-footer-center .sns-buttons{
		margin-bottom:0!important;
}
.widget-footer-mobile .sns-buttons{
	margin-bottom:1.2em!important;
}
.footer-mobile, .footer-left, .footer-center, .footer-right {
    padding: 0px 16px;
}
#footer .sns-follow .sns-buttons a{
    font-size: 30px!important;
    width: 55px!important;
    height: 55px!important;
		filter: drop-shadow(0px 2px 1px #fff);
	-webkit-filter: drop-shadow(0px 2px 1px #fff);
}
.footer-widgets{
	width:90%;
}
body:not(.page-id-21) .footer-center{
	 flex-grow: 0;
	flex-basis: 24%;
}
body:not(.page-id-21) .footer-left,
body:not(.page-id-21) .footer-right{
	 flex-grow: 0;
	flex-basis: 38%;
}
hr.footer-hr {
    width: 90%;
    border: none;
    border-top: 4px dotted #fff;
     margin: 0 auto; 
    margin-bottom: 1.2em;
}
.widget-footer-center .btn-m::after,
.widget-footer-mobile .btn-m::after{
    font-size: 13px;
    top: 9px;
}
.widget-footer-center .btn-m,
.widget-footer-mobile .btn-m{
	padding: 0.3em 2em 0.3em 1em;
}
/*★ フッターサイトマップのレイアウト（2列にする） */
/* --- サイトマップ本体 --- */
.f-sitemap{
display:flex!important;
flex-wrap:wrap!important;
justify-content:center!important;
margin:0 auto!important;
width:auto!important; /* 100%ではなくautoにして中央に集める */
}
.f-sitemap-col a{
text-decoration:none!important;
font-size:12px!important;
color:#fff!important;
padding:2px 0!important;
display:block!important;
white-space:nowrap!important;
text-align:left!important;
}
.f-sitemap{
max-width:500px!important;
	gap: 15px 35px !important;
}
.f-sitemap-col{
width:28%!important;
}
.f-sitemap-a{
order:1;	
}
.f-sitemap-b{
order:2;	
}
.f-sitemap-c{
order:3;	
}
.f-sitemap-d{
order:4;	
}
.hr-no{
	display:none;
}
/* ★マウスホバー時の色設定 */
.f-sitemap-col a:hover{
color:#2557a7!important;
background-color:transparent!important;
}

/* 1023pxから834px：この間だけ4列 */
@media screen and (max-width:1023px) and (min-width:834px){
.f-sitemap{
max-width:100%!important;
gap:0 25px!important; /* 列同士の隙間を固定値にしてバランスをとる */
}
.f-sitemap-col{
width:auto!important; /* 幅を中身に合わせる */
min-width:100px!important;
}
.f-sitemap-b{
order:3;	
}
.f-sitemap-c{
order:2;	
}
.hr-no{
	display:block;
}
.s-no{
	display:none;;
}
	.footer-center{
		order:1;
	}
	.footer-left{
		order:2;
	}
.footer-right{
		order:3;
	}
	.footer-widgets{
		display: flex;
  flex-direction: column;
	}
}
/*★メニューアンカーリンク*/
.a-sub-anker,
.b-sub-anker,
.page-id-1275 .b-sub-anker-p,
.page-id-695 .a-sub-anker-p{
	display:none!important;
}
.page-id-1275 .b-sub-anker,
.page-id-695 .a-sub-anker{
	display:block!important;
}
/*★フッターメニュー*/
/* スマホフッターメニューのアイコンサイズ変更 */
.mobile-footer-menu-buttons .menu-icon {
	font-size:25px;
}
.mobile-footer-menu-buttons .menu-caption{
	font-size:11px;
	margin-bottom: 1em;
}
/*★サイドバー*/
.widget-sidebar{
	color:#2557a7!important;
	font-size:14px;
	text-align:left;
}
.sidebar-menu-content{
	width:90%!important;
	height:95%!important;
	border-radius: 0px 0px 0px 30px;
}
.sidebar{
	padding-left:5%!important;
	padding-right:5%!important
}
/*★フォローボタン*/
/*ホームなくす*/
.website-follow-button-sq{
	display:none!important;
}
/*丸くする*/
#container .sns-follow .sns-buttons a{
font-size:42px; /*文字サイズ*/
border: 0;
border-radius: 50%; /*丸くする*/
width:80px;
height:80px;
}
/*★★coming-soon*/
body.page-id-21.public-page {
    background-color: #fff!important;
}

.page-id-21 .header-container,
.page-id-21 .breadcrumb,
.page-id-21 .mobile-header-menu-buttons{
	display:none;
}
/* スマホメニューを消した時の余白削除 */
html.page-id-21,
body.page-id-21 {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
	margin-top:0!important;
  height: 100%;
}
/* ★ホーム*/
.page-id-80 .breadcrumb{
	display:none;
}
/* ★ヘッダー */
#header-container .navi,
#header-container{
	background: #34bdeb;
}
#header-container{
	z-index:1;
}
#header-container::before {
  content: "";
  position: absolute;
  top: 24px;
  left: 0;
  width: 100%;
  height: 56px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 200' preserveAspectRatio='none'><path d='M0,50 C80,0 160,0 240,50 C320,100 400,100 480,50 C560,0 640,0 720,50 C800,100 880,100 960,50 C1040,0 1120,0 1200,50 C1280,100 1360,100 1440,50 L1440,200 L0,200 Z' fill='%2334bdeb'/></svg>");
	transform: rotate(180deg);/* 回転 */
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}
/* ★メニュー */
@keyframes bound {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); } /* 頂点で少し止まる */
}
.navi-in > ul{
	margin: 7px 30px 4px 112px;
}
#navi .navi-in>ul>li>a {
    padding: 0 1.5em;
}
.navi-in a{
	font-weight:600;
	font-size:15px;
	color:#fff!important;
	letter-spacing: 0.05em;
}
.navi-in .fas {
	margin-right:3px;
	font-size:17px;
}
#menu-item-568 .fas {
	display:none;
}
#menu-item-99 a{
	padding-right:2em!important;
}
.navi-in .has-icon {
    opacity: 1;
	right:11px;
}
.navi-in > ul .sub-menu {
    width: 100%;
    background-color: #ee8383 !important;
	border-radius: 20px;
}
/*マウスオーバー*/
#navi .navi-in a:hover {
	background: #34bdeb;
	color:#fff;
    border-bottom: 5px solid #f5d835;
	transition: all 0.2s ease;
	opacity:1;
	animation: bound 0.5s ease-in-out;
}
.navi-in > ul .sub-menu a:hover{
	background-color: #edcd1a !important;
	border-bottom: none!important;
	transition: all 0s ease!important;
	border-radius:20px;
}
/*メニュー項目開いている時*/
.navi-in .current-menu-item > a {
	color: #2557a7 !important;
}
/*★スライドインメニュー内観*/
.menu-content{
	width:25%;
	height:85%;
	overflow-x: hidden;
	text-align: right;
}
.menu-content .menu-drawer {
    padding: 0em 0em 30px 0em;
}
/* スライドインメニュー を右から出るように*/
.navi-menu-content {
	left: auto;
	right: 0;
	transform: translateX(140%);
	border-radius: 180px 0px 0px 320px;
}
.menu-drawer a {
	color: #2557a7;
	border-bottom: 1px dotted #34bdeb;
	padding:12px 25px 12px 0px;
	font-size:17px;
	letter-spacing: 0.05em;
	margin-left: 45px;
}
/*メニュー項目開いている時*/
.menu-drawer .current-menu-item > a {
	border-bottom: 3px solid #34bdeb;
	color:#ee8383;
}

/*×ボタンの大きさ*/
.menu-close-button{
	color: #2557a7;
	text-align:right;
    padding: 10px 25px 10px 10px;
    font-size: 1.2em;
    background-color: #fff100;
}
@media (hover: hover){
/*マウスオーバー*/
	.menu-drawer a:hover {
	background-color: transparent!important;
	transition: all 0.3s ease;
	color: #ee8383;
	border-bottom: 5px solid #f5d835;
	animation: bound 0.5s ease-in-out;
}
	
.menu-close-button:hover{
	transition: all 0.3s ease;
	background-color: #34bdeb!important;
	color: #fff100;
	animation: bound 0.5s ease-in-out;
}
	}

.menu-drawer li.insta-menu a {
    border-bottom: none !important;
}
.insta-menu .fab{
	position: relative;
	font-size:31px;
	background: #d62976; /* フォールバック色 */
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d62976 60%, #962fbf 90%);
  background: -webkit-radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d62976 60%, #962fbf 90%);
  color: white;
  border-radius: 50%; /*丸くする*/
width:45px;
height:45px;
}
.fa-instagram:before{
	position: absolute;
	right: 8px;
    top: 7px;
}
/*★モバイルメニュー外観*/
 .mobile-header-menu-buttons .menu-caption{
    display: none;
  }
/*アイコン大きさと色*/
.mobile-header-menu-buttons .menu-icon {
	font-size:27px;
	color:#fff;
	padding:20px;
}
.menu-drawer .sub-menu a{
	font-size:14px;
	margin-left:85px;
}
.mobile-header-menu-buttons .navi-menu-button {
	width: 80px;
	height: 90px;
	background-image: url(https://mtheartbeat.com/wp-content/uploads/2026/02/menu-bg3.png); 
	background-repeat: no-repeat;
    padding: 3px;
	right:8px;
	top:-110px;
}
@media (hover: hover) {
/*マウスオーバー*/
.mobile-header-menu-buttons .navi-menu-button:hover {
	background-image: url(https://mtheartbeat.com/wp-content/uploads/2026/02/menu-bg3-hover.png); 
	animation: bound 0.5s ease-in-out;
}
}
.mobile-header-menu-buttons .logo-menu-button{
	width: 15em;
	height: 15em;
    background-color: #fff;
    border-radius: 81% 46% 47% 81%/60% 78% 55% 72%;
	top: -160px;
    left: -5px;
    padding: 3px;
	flex-grow: 0;
	filter: drop-shadow(2px 2px 4px #33333357);
	-webkit-filter: drop-shadow(2px 2px 3px #33333357);
}
/*マウスオーバー*/
.mobile-header-menu-buttons .logo-menu-button:hover{
	animation: bound 0.5s ease-in-out;
}
.logo-menu-button a {
  opacity: 1 !important;
}
.logo-menu-button img ,
.header-container-in.hlt-top-menu .logo-header img{
    max-height: 15em;
}
.mobile-header-menu-buttons{
	height: 1em;
	box-shadow: none;
    background: transparent;
	align-items: normal;
	justify-content: space-between;
	margin-top:7em;
}
/*PCでハンバーガー表示*/
.mobile-header-menu-buttons {
	display: flex;
	bottom: auto;
	top: 0;
}
/*PCでヘッダー固定表示*/
.fixed-header .site-fixed-logo-image{
	display:none;
}
.fixed-header .has-sub {
    display: inline-block;
}
.fixed-header .navi-in > ul li:hover > ul  {
    display: block;
}
.fixed-header .navi-in > ul {
    margin: 7px auto;
}
.fixed-header .navi-in .has-icon {
    top: 12px;
}
/*★エントリーカード */
.widget-entry-card-info{
	flex-direction: row-reverse;
}
.entry-card .admin-pv{
	display:none;
}
/*★カテゴリラベル */
.cat-link {
    pointer-events: none; /* リンククリックを無効化 */
}
.new-entry-card-thumb .cat-label{
	border:none;
	top:0;
	left:0;
	padding: 5px 5px;
    max-width: 100%;
}
.cat-label.cat-label-1{
	background-color:#2557a7!important;
}
.cat-label.cat-label-12{
	background-color:#ee8383!important;
}
.cat-label.cat-label-13{
	background-color:#34bdeb!important;
}
/*★新着記事一覧 */
.new-entry-cards.large-thumb{
display:flex!important;
flex-wrap:wrap!important;
justify-content:center!important;
margin:1em 0!important;
}

.new-entry-cards.large-thumb .a-wrap{
background-color:#cdeaf8!important;
border-radius:30px!important;
width:100%!important;
transition:transform 0.3s ease;
padding:1em;
margin:10px!important; /* ここでカード間の隙間を均等に作る */
}
/* PC表示（1024px以上）：4列強制 */
@media screen and (min-width:1024px){
.new-entry-cards.large-thumb .a-wrap{
width:22.5%!important; /* 4列ちょうど */
}
}
/* タブレット表示（1023px〜481px）：2列強制 */
@media screen and (max-width:1023px) and (min-width:481px){
.new-entry-cards.large-thumb .a-wrap{
width:45%!important; /* 2列ちょうど */
}
}
/* スマホ表示（550px以下）：1列 */
@media screen and (max-width:550px){
.new-entry-cards.large-thumb .a-wrap{
width:100%!important;
	min-width:300px;
}
}
.new-entry-cards.large-thumb .post-update{
display:none;
}
.new-entry-cards.large-thumb .a-wrap:hover{
transform:translateY(-5px);
box-shadow:0 6px 15px rgba(0,0,0,0.1);
}
.new-entry-cards.large-thumb .entry-card-thumb img{
width:100%!important;
height:auto!important;
aspect-ratio:3/2!important;
object-fit:cover!important;
}
/*★上へボタン*/
.go-to-top{

	position: fixed; /* 画面に固定 */
	bottom:20px;
	z-index: 2;
	filter: drop-shadow(0px 2px 1px #33333357);
	-webkit-filter: drop-shadow(0px 2px 1px #33333357);
}
.go-to-top.is-moving {
    transition: none !important;
}
.go-to-top-button{
	width:4em;
	height:4em;
}
.go-to-top:hover{
	animation: bound 0.5s ease-in-out;
}
/*★上へボタンの上のインスタ*/
.sns-follow-float .external-icon{
	display:none;
}
.sns-follow-float {
	position: fixed !important;
	right: 10px !important;
	bottom: 100px !important; /* ボタンの少し上の位置 */
	z-index: 3!important; /* 桁を増やして最前面へ */
	display: block !important;
	width: 3em;
	height: 3em;
opacity: 1;
visibility: visible;
transform: translateY(5em); /* 通常サイズ・通常位置 */
transition: 
opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
visibility 0.4s !important;
}
.sns-icon-inst:hover,
.sns-buttons a:hover{
	animation: bound 0.5s ease-in-out;
	opacity:1;
}
.sns-icon-inst .fa-instagram:before {
position: static !important; /* 絶対配置を解除 */
right: auto !important;
top: auto !important;
display: inline-block !important;
}
.sns-icon-inst {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 3em !important;
	height: 3em !important;
	background: #d62976; /* フォールバック色 */
	background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d62976 60%, #962fbf 90%);
	background: -webkit-radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d62976 60%, #962fbf 90%);
	border-radius: 50% !important;
	color: #fff !important;
	text-decoration: none !important;
	filter: drop-shadow(0px 2px 1px #33333357);
	-webkit-filter: drop-shadow(0px 2px 1px #33333357);
}
/* 「is-visible」クラスがついた時だけ表示する */
.sns-follow-float.is-visible {
transform: translateY(0) !important;
}
/* フッター連動中はアニメーションを切る */
.sns-follow-float.is-moving {
	opacity: 0 !important;
	transform: scale(0.8) translateY(20px) !important;
	visibility: hidden !important;
	pointer-events: none;
}

/* アイコン（FontAwesome）のサイズ */
.sns-icon-inst i {
    font-size: 30px !important;
}
/* ★タイムライン　.my-timeline */
.my-timeline .timeline-item-content{
	border-left:none;
}
.my-timeline .timeline-title {
    font-size: 1.5em;
    margin-bottom: 1.6em;
    border-bottom: 2px dotted #34bdeb;
}
.timeline-box .timeline{
	padding:0!important;
}
/* 1. タイムライン全体 */
.my-timeline.wp-block-cocoon-blocks-timeline {
  border: none !important;
  background-color: transparent !important;
  padding: 0 !important;
  margin: 2em auto !important;
}
/* 2. 各項目*/
.my-timeline .wp-block-cocoon-blocks-timeline-item {
    padding: 0px 0 0px 70px !important;
    margin-bottom: 1.5em !important;
	overflow: hidden !important;
	border-left:none!important;
}
/* 3. 縦線の位置調整 */
.my-timeline .wp-block-cocoon-blocks-timeline-item::before {
    content: "" !important;
    left: 24px !important;
    top: 50px !important;
    bottom: 0 !important;
    width: 3px !important;
    height: 100%;
    background-color: #9ed8f5 !important;
    border-radius: 0;
}
.my-timeline .wp-block-cocoon-blocks-timeline-item:last-child::before {
  display: none !important;
}
/* 4. 円のデザイン */
.my-timeline .timeline-item-label {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 50px !important;
  height: 50px !important;
  border-radius: 50% !important;
  background-color: #ee8383;
  font-size:20px;
  color: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}
/* 円の中の文字サイズ微調整 */
.my-timeline .timeline-item-label::before {
content: "STEP" !important;
    font-size: 10px !important;
    position: relative;
    top: 10px;
}
.my-timeline .timeline-item-label span {
  font-size: 18px !important;
  font-weight: bold !important;
  line-height: 1 !important;
}
/* 5. タイトルの中央揃え */
.my-timeline .timeline-item-title {
    font-size: 1.2em;
    min-height: 45px !important;
}
.my-timeline .timeline-item-content {
  padding: 5px 0 0 0 !important;
  width: auto !important; /* ★ここも自動幅にする */
}
/*★テーブル*/
/* --- デスクトップ表示（横並び） --- */
.a-table table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
border: 2px solid #2557a7;
border-radius: 30px; /* 全体の角丸 */
overflow: hidden;
}

/* 1列目：青背景に白文字 */
.a-table td:first-child {
background-color: #2557a7;
color: #ffffff;
width: 20%;
padding: 15px;
border: 1px solid #cdeaf8;
}

/* 2列目：今のまま */
.a-table td:last-child {
padding: 15px;
border: 1px solid #cdeaf8;
}

/* --- スマホ表示（縦並び・レスポンシブ） --- */
@media (max-width: 946px) {
/* テーブル構造を解除して縦に積む */
.a-table table,
.a-table tbody,
.a-table tr,
.a-table td {
display: block;
width: 100% !important;
box-sizing: border-box;
}
.a-table table{
border:none;
}
	
.a-table tr {
margin-bottom: 15px; /* 行ごとの隙間 */
border: 1px solid #cdeaf8;
border-radius: 30px 30px 15px 15px;
overflow: hidden;
}

/* スマホ時の1列目（見出し部分） */
.a-table td:first-child {
text-align: center; /* スマホでは中央寄せ */
padding: 5px;
border: none;
}

/* スマホ時の2列目（内容部分） */
.a-table td:last-child {
padding: 15px;
border: none;
}
}
/*★テーブル2*/
.b-table table{
margin:0 auto!important;
border-collapse:separate!important;
border-spacing:0!important;
border:1px solid #2557a7!important;
border-radius:30px!important;
overflow:hidden!important;
}
.b-table thead{
background-color:#2557a7!important;
color:#fff!important;
}
.b-table thead th{
border:1px solid #2557a7!important;
}
.b-table th,
.b-table td{
padding:10px!important;
border-right:1px solid #cdeaf8!important;
border-bottom:1px solid #cdeaf8!important;
}

/*★スタッフ紹介*/
/* スタッフリスト全体のコンテナ */
.staff-list {
display: flex;
flex-direction: column;
align-items: center; /* これで中央寄せになります */
gap: 25px;
margin: 0px auto;
max-width: 100%;
}

/* 個別のスタッフカード：左余白をスリムに調整 */
.staff-card {
position: relative;
background: #fff;
border: 3px solid #34bdeb;
border-radius: 30px;
padding: 21px 16px 16px 46px;
overflow: hidden;
width: 100%; 
  max-width: 400px; /* PCではこの幅で止まります */
  box-sizing: border-box;
  min-height:450px;
}

/* ピアノ装飾：白鍵（全体をスリムに再構成） */
.staff-card::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 30px;
height: 100%;
/* 全体の周期を130pxから100pxに縮め、白い隙間を細く */
background: linear-gradient(to bottom,
#fff 0px, #fff 10px, #8ae8ff 10px, #8ae8ff 11px, /* 1本目の下 */
#fff 11px, #fff 25px, #8ae8ff 25px, #8ae8ff 26px, /* 2本目の下 */
#fff 26px, #fff 39px, #8ae8ff 39px, #8ae8ff 40px, /* グループの隙間の白鍵を短く */
#fff 40px, #fff 52px, #8ae8ff 52px, #8ae8ff 53px, /* 3本目の下 */
#fff 53px, #fff 68px, #8ae8ff 68px, #8ae8ff 69px, /* 4本目の下 */
#fff 69px, #fff 83px, #8ae8ff 83px, #8ae8ff 84px, /* 5本目の下 */
#fff 84px, #fff 99px, #8ae8ff 99px, #8ae8ff 100px, /* グループの隙間の白鍵を短く */
transparent 100px
);
background-size: 100% 100px; /* 全体のサイクルを短縮 */
background-repeat: repeat-y;
border-radius: 13px 0 0 13px;
box-shadow: inset -1px 0 0 #c7f1ff;
z-index: 1;
}

/* ピアノ装飾：黒鍵（白鍵に合わせて周期を調整） */
.staff-card::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 18px;
height: 100%;
/* 黒鍵の高さ(6px)と配置グループを100pxのサイクルに統合 */
background: linear-gradient(to bottom, 
#2557a7 0px, #2557a7 6px, transparent 6px, 
transparent 15px, #2557a7 15px, #2557a7 21px, transparent 21px, 
transparent 43px, /* ここで広い隙間 */
#2557a7 43px, #2557a7 49px, transparent 49px, 
transparent 59px, #2557a7 59px, #2557a7 65px, transparent 65px, 
transparent 74px, #2557a7 74px, #2557a7 80px, transparent 80px, 
transparent 100px
);
background-size: 100% 100px; /* 全体のサイクルを短縮 */
background-repeat: repeat-y;
z-index: 2;
border-radius: 0 0 2px 2px;
}

/* --- 以下、名前エリアなどは共通 --- */
.staff-name-area {
margin-bottom: 5px;
border-bottom: 2px dashed #34bdeb;
display: flex;
align-items: baseline;
gap: 10px;
}

.staff-name-jp {
font-size: 1.25em;
letter-spacing:0.1em;
font-weight: bold;
color: #2557a7;
padding-left:5px;
}

.staff-name-en {
font-size: 0.9em;
color: #2557a7;
}
.staff-title-s {
	letter-spacing:0.08em;
	color: #2557a7;
	font-size: 0.8em;
	padding-left:5px;
}
.staff-title {
display: inline-block;
background: #fff100;
color: #2557a7;
padding: 5px 12px 2px 12px;
border-radius: 20px;
font-size: 0.8em;
font-weight: bold;
	margin-top:10px;
margin-bottom: 15px;
}

.staff-edu {
font-size: 0.75em;
line-height: 1.8;
color: #2557a7;
margin-bottom: 12px;
background: #cdeaf8;
padding: 10px;
border-radius: 15px;
}

.staff-like {
font-size: 0.75em;
color: #2557a7;
text-align:center;
}

.staff-like span {
color: #ee8383;
font-weight: bold;

}
/*★固定ページ投稿以外のページの上の余白調整*/
.post-password-form{
	margin:300px 0;
}
.archive-title {
    margin-top: 150px;
	text-align:center;
}
.category .archive-title {
    margin-top: 200px;
}

.category #main,
.archive #main,
.search #main {
    margin-bottom: 200px !important;
}
/*★検索*/
.wp-block-search__button {
    border: 1px solid #2557a7;
    background-color: #2557a7;
}
input[type=search] {
    border-color: #2557a7;
}
.wp-block-search__label{
	display:none;
}
/*★404ページ*/
.error404 .entry-title{
	display:none;
}
.error404 #main {
	margin-top: 60px;
	margin-bottom:0px!important;
}
/*★文字間狭くする */
.semai{
letter-spacing:0.03em!important;	
}
/*★サイトフェードイン*/
.page-id-21 .mobile-menu-buttons{
	animation: fadeInnavi 3s ease-out 0s 1 normal;
}
.page-id-21 #footer {
    animation: fadeInnavi 2s ease-out 0s 1 normal;
}
@keyframes fadeInnavi {
    from { opacity: 0;}
    100% { opacity: 1;}
}
.page-id-21 #main,
.page-id-21 #content-bottom,
.page-id-21 #sidebar,
.page-id-21 #breadcrumb {
    animation: fadeIn 2s ease-out 0s 1 normal;
}

@keyframes fadeIn {
    from {transform: translateY(3%); opacity: 0;}
    100% {transform: translateY(0%); opacity: 1;}
}
.page-id-21 #header-container {
    animation: Down 2s ease-out 0s 1 normal;
}

@keyframes Down {
    from {transform: translateY(-10%); opacity: 0;}
    100% {transform: translateY(0%); opacity: 1;}
}
/*★サイトフェードイン*/

body:not(.page-id-21) .mobile-menu-buttons,
body:not(.page-id-21) #header-container{
	animation: fadeInnavi 1s ease-out 0s 1 normal;
}
body:not(.page-id-21) #footer,
body:not(.page-id-21) #main,
body:not(.page-id-21) #content-bottom,
body:not(.page-id-21) #sidebar,
body:not(.page-id-21) #breadcrumb{
	animation: fadeInnavi 2.5s ease-out 0s 1 normal;
}
@keyframes fadeInnavi {
    from { opacity: 0;}
    100% { opacity: 1;}
}

/*★はねるアニメーション*/
.pyon{    
    -moz-animation: translate 1.5s;
    -moz-animation-iteration-count: infinite;
    -webkit-animation: translate 1.5s;
    -webkit-animation-iteration-count: infinite;
    -o-animation: translate 1.5s;
    -o-animation-iteration-count: infinite;
    animation: translate 1.5s;
    animation-iteration-count: infinite; 
}

@keyframes translate{
    0%  {transform: translate(0px,0px);}
    40%  {transform: translate(0px,5px);}
    80%  {transform: translate(0px,10px);} 
    100% {transform: translate(0px,0px);}
}

@-moz-keyframes translate{
       0%  {-moz-transform: translate(0px,0px);}
    40%  {-moz-transform: translate(0px,5px);}
    80%  {-moz-transform: translate(0px,10px);} 
    100% {-moz-transform: translate(0px,0px);}
}

@-webkit-keyframes yoko-pyon{
    0%  {-webkit-transform: translate(0px,0px);}
    40%  {-webkit-transform: translate(0px,5px);}
    80%  {-webkit-transform: translate(0px,10px);} 
    100% {-webkit-transform: translate(0px,0px);}
}
@-o-keyframes translate{
    0%  {-o-transform: translate(0px,0px);}
    40%  {-o-transform: translate(0px,5px);}
    80%  {-o-transform: translate(0px,10px);} 
    100% {-o-transform: translate(0px,0px);}
}
.yoko-pyon{    
    -moz-animation: yoko-pyon 1.5s;
    -moz-animation-iteration-count: infinite;
    -webkit-animation: yoko-pyon 1.5s;
    -webkit-animation-iteration-count: infinite;
    -o-animation: yoko-pyon 1.5s;
    -o-animation-iteration-count: infinite;
    animation: yoko-pyon 1.5s;
    animation-iteration-count: infinite; 
}
@keyframes yoko-pyon{
    0%  {transform: translate(0px,0px);}
    40%  {transform: translate(5px,0px);}
    80%  {transform: translate(10px,0px);} 
    100% {transform: translate(0px,0px);}
}

@-moz-keyframes yoko-pyon{
       0%  {-moz-transform: translate(0px,0px);}
    40%  {-moz-transform: translate(5px,0px);}
    80%  {-moz-transform: translate(10px,0px);} 
    100% {-moz-transform: translate(0px,0px);}
}

@-webkit-keyframes yoko-pyon{
    0%  {-webkit-transform: translate(0px,0px);}
    40%  {-webkit-transform: translate(5px,0px);}
    80%  {-webkit-transform: translate(10px,0px);} 
    100% {-webkit-transform: translate(0px,0px);}
}
@-o-keyframes yoko-pyon{
    0%  {-o-transform: translate(0px,0px);}
    40%  {-o-transform: translate(5px,0px);}
    80%  {-o-transform: translate(10px,0px);} 
    100% {-o-transform: translate(0px,0px);}
}

/*★ローディングスクリーンのスタイル */
.my_loading {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    animation: my_fadeOutBackground 1.0s 1.5s forwards;
}

.my_loading img {
    opacity: 0;
    animation: my_logo_fade 1s 0.5s forwards;
    width: 300px; /* ロゴのサイズ（パソコン） */
}

@media screen and (max-width: 959px) {
    .my_loading img {
        width: 200px; /* ロゴのサイズ（スマホ） */
    }
}

/* 背景のフェードアウトアニメーション */
@keyframes my_fadeOutBackground {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        visibility: hidden;
    }
}
/* ロゴのフェードイン・フェードアウトアニメーション */
@keyframes my_logo_fade {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    60% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
    }
}
/* 三角形 下 */
.cstm-clip-lower-kaku {
  clip-path: polygon(300% 0%, -200% 0%, 50% 100%);
  height: 5vw;
  min-height: 93vh!important;
}
.title-kaku{
background: 
repeating-linear-gradient(90deg, 
#2557a7, 
#2557a7 10px, 
#3066bd 10px, 
#3066bd 20px
)no-repeat top / 100% 80%,
linear-gradient(180deg, 
#2557a7 0%, 
#2557a7 80%, 
#fff100 80%, 
#fff100 100%
);
background-blend-mode: normal;
clip-path: polygon(160% 0%, -60% 0%, 50% 100%);
}
.clip-kaku{
clip-path: polygon(160% 0%, -60% 0%, 50% 100%);
}
/* ★スライダー */
.n2-ss-slider {
min-height: 93vh!important;
}
.n2-ss-slider .n2-ss-layer{
    margin-top:-33px!important;
} 
div#n2-ss-2 .n2-font-4ebe1e7e2cf98b8fb7f756a64b470ec8-paragraph,
div#n2-ss-2 .n2-font-952d3225262c1b83ce906da96a5c49fb-paragraph,{
	font-family: "Varela Round",YakuHanRP,"Kosugi Maru", sans-serif!important;
}
/* スライドID 38 が表示されている時だけ、静的オーバーレイを非表示にする */
#n2-ss-2:has(.n2-ss-slide-38.n2-ss-slide-active) .n2-ss-layer {   
    visibility: hidden !important;
} 
/* 水平線を画像に変更 */
hr.dot {
  height: 6px; /* 画像の高さに合わせて調整 */
  border: none;
  background-image: url("https://mtheartbeat.com/wp-content/uploads/2026/02/hr.png");
  background-repeat: repeat-x; /* 横方向に繰り返す */
  background-position: left;
  background-size: contain;
  opacity: 1; /* Cocoonのデフォルト透過をリセット */
}
/* ★wpギャラリー*/
/* ギャラリー全体のカスタマイズ */
.wp-block-gallery .wp-block-image {
    transition: all 0.4s ease; /* 動きを滑らかに */
}
/* 画像にマウスを乗せた時の演出 */
.wp-block-gallery .wp-block-image:hover {
    transform: translateY(-3px); /* 少し上に浮く */
    box-shadow: 0 5px 10px rgba(0,0,0,0.15); /* 影を強くする */
	opacity:0.8;
}
/* ギャラリー全体の隙間を調整 */
.wp-block-gallery.has-nested-images {
    gap: 8px !important; /* ここの数字を 0px にすると隙間がなくなります */
}
/* スマホ等で列が変わる場合の微調整 */
@media (max-width: 600px) {
    .wp-block-gallery.has-nested-images {
        gap: 5px !important;
    }
}
/* ★swiperスライダー*/
/* 画面端から端まで広げる設定 */
.full-width-slider {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 60px 0 20px 0; /* 上下の最低限の余白 */
overflow: hidden; 
	position: relative;
  z-index: 1;
}

/* 画像の設定（比率維持 ＋ 角丸） */
.mySwiper .swiper-slide img {
  width: 100%;
  height: auto; /* 比率を維持 */
  display: block;
  border-radius: 20px !important; /* 角丸を四隅に適用 */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* 軽い影 */
}

/* 動きを完全に等速（リニア）にする：これが止まらない秘訣 */
.mySwiper .swiper-wrapper {
  transition-timing-function: linear !important;
}
.ue-swiper{
	margin-top:-50px;
}
.swiper {
    overflow: visible !important;
}

/* ★画像回転 */
.rote-m,
.rote-m-sp-no{
	transform: rotate(15deg);
}
.rote-h,
.rote-h-sp-no{
	transform: rotate(-15deg);
}
/* ★PNG画像影 */
.kage{
		filter: drop-shadow(0px 2px 1px #33333357);
	-webkit-filter: drop-shadow(0px 2px 1px #33333357);
}
/*★文章左右中央配置★*/
/*divで*/
.mid-box{
    display: block;
    text-align: center;
}
.migi-box{
    display: block;
    text-align: right;
}
/*左寄せ文字<div class="mid-box">中の<p>のクラス*/
.hidari-moji{ 
	display: inline-block;
	text-align: justify;
	text-justify: inter-ideograph;
}
/*★改行したくない文字を囲う*/
span.aks {
   display: inline-block;
}
/* ★非表示 */
.no{
	display:none;
}
/* ★下の余白なし */
.bottom-no{
	margin-bottom:0!important;
}
/* ★上だけ角丸文字囲い用 */
.ue-maru-moji{
	border-radius: 30px 30px 0px 0px;
}
/* ★上だけ角丸 */
.ue-maru{
	border-radius: 1000px 1000px 0px 0px;
	padding: 0 1.4em!important;
}
/* ★上だけ角丸用スペンサー */
.ue-maru-s{
	height:8em!important;
}
/* ★上だけ角丸用線余白 */
hr.ue-maru-sen-m-yohaku{
	width: 75%;
}
/*★スケジュール時間用番号付きリスト　my-time-list */
/* 1. リスト全体の基本設定 */
ol.my-time-list {
    list-style: none !important;
    padding: 0 !important; /* ★左に30pxの余白を追加して軸を戻す */
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    counter-reset: my-counter !important;
	margin-left: 30px !important;
}
/* 2. 各項目（li） */
ol.my-time-list li {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    color: #2557a7 !important;           /* あなたの数値 */
    font-weight: bold !important;
    padding: 15px 15px 15px 36px !important; /* あなたの数値 */
    margin-bottom: 1em !important;        /* あなたの数値 */
    line-height: 1.2 !important;
    counter-increment: my-counter !important;
    z-index: 1 !important;
}
/* 3. 黄色の背景（右側をより高く切り抜く） */
ol.my-time-list li::after {
    content: "" !important;
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fff100 !important; /* あなたの数値 */
    z-index: -1 !important;
    /* ★形状：あなたの数値を維持 */
    clip-path: polygon(0% 20%, 100% 0%, 100% 100%, 0% 80%) !important;
}
/* 4. 数字の丸（デザイン維持） */
ol.my-time-list li::before {
    content: counter(my-counter) !important;
    display: flex !important;
    position: absolute !important;
    left: -30px;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 50px !important;              /* あなたの数値 */
    height: 50px !important;             /* あなたの数値 */
    background-color: #34bdeb !important; /* あなたの数値 */
    color: #fff !important;
    border-radius: 50% !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 30px !important;          /* あなたの数値 */
    z-index: 2 !important;
}
/* 偶数番目の色替え */
ol.my-time-list li:nth-child(even)::before {
    background-color: #ee8383 !important; /* あなたの数値 */
}
/* ========== circle & wave path start ==========　*/
/* v1.0.2 add */


/* 枠としての svg のサイズ指定 */
.cstm-blk-path-lower-cir svg, 
.cstm-blk-path-upper-cir svg{
  display: block;
  width: 100%;
  height: 18vmin;
}
:where(.cstm-blk-path-lower-wave, .cstm-blk-path-upper-wave) svg {
  display: block;
  fill: #f6f6f6;
  width: 100%;
  height: 11vmin;
}

.cstm-blk-path-upper-cir,
.cstm-blk-path-upper-wave {
  margin-bottom: 0 !important;
}

.cstm-blk-path-upper-wave+.wp-block-cover>.wp-block-cover__inner-container,
.cstm-blk-path-lower-wave+.wp-block-cover>.wp-block-cover__inner-container,
.cstm-blk-path-upper-cir+.wp-block-cover>.wp-block-cover__inner-container,
.cstm-blk-path-lower-cir+.wp-block-cover>.wp-block-cover__inner-container {
  padding-top: 3rem;
}

:where(.cstm-blk-path-upper-cir, .cstm-blk-path-upper-wave) {
  transform: translateY(1px);
}

:where(.cstm-blk-path-lower-cir, .cstm-blk-path-lower-wave) {
  transform: translateY(-22px);
}
/* ========== circle & wave path end ==========　*/
/*★横スクロールなくす */
body {
  overflow-x: clip;
}
/* ヘッダーの基本状態とアニメーション */
.mobile-header-menu-buttons {
  transition: top 0.4s ease !important;
}

/* 下スクロール時に隠す（JSでクラスを付与） */
.header-hide {
	top: -240px !important; /* 十分な高さで隠す */
}

/* フッターの基本状態とアニメーション */
.mobile-footer-menu-buttons {
  transition: bottom 0.4s ease !important;
}

/* 下スクロール時に隠す（JSでクラスを付与） */
.footer-hide {
	bottom: calc(-150px - env(safe-area-inset-bottom)) !important;
}
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1300px以下*/
@media screen and (max-width: 1300px){
	/*★ヘッダーメニュー文字大きさ */
.navi-in a{
	font-size:12px;
}
 .navi-in .fas {
	 font-size:14px;
}
.rp-yohaku{
	padding:0 0px;
}
.rm-yohaku{
	margin:0 0em;
}
/* ★投稿 */
body.single .main{
border-radius: 650px 650px 0px 0px;
	}
/* ★上だけ角丸 */
.ue-maru{
	border-radius: 650px 650px 0px 0px;
	padding: 0 5em!important;
}
/* ★上だけ角丸用スペンサー */
.ue-maru-s{
	height:6em!important;
}
	/* ★上だけ角丸用線余白 */
hr.ue-maru-sen-m-yohaku{
	width: 85%;
}
}
/*1023px以下*/
@media screen and (max-width: 1023px){
	/*★モバイルで上へボタン表示 */
 .mblt-header-and-footer-mobile-buttons .go-to-top-button {
   display:flex;
    }
	body:where(.mblt-header-mobile-buttons, .mblt-header-and-footer-mobile-buttons) {
        margin-top: 0px;
}
	.menu-content{
	width:30%;
}
	body:not(.page-id-123) .main {
	top:-8px;
}
	.cstm-clip-lower-kaku {
    clip-path: polygon(400% 0%, -300% 0%, 50% 100%);
    min-height: 88vh !important;
}
	.n2-ss-slider .n2-ss-layer{
    margin-top:-43px!important;
} 
	/* ★投稿 */
body.single .main{
border-radius: 500px 500px 0px 0px;
	}
.single .entry-title {
    margin-top: 7.5em !important;
}
		/* ★上だけ角丸 */
.ue-maru{
	border-radius: 500px 500px 0px 0px;
	padding: 0 3em!important;
}
/* ★上だけ角丸用スペンサー */
.ue-maru-s{
	height:4em!important;
}
	.widget-footer-left,
.widget-footer-center{
	margin-bottom:1em!important;
}
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*コピーライト文字調整*/
#footer .source-org.copyright,
#footer .source-org.copyright span,
.copyright {
  font-size: 0.9em !important; /* お好みのサイズに */
}
	.menu-content{
	width:50%;
}
body:not(.page-id-21) .article h2,
	.single .entry-title{
	font-size:22px;
}
	.rote-h-sp-no,
	.rote-m-sp-no{
	transform: rotate(0deg);
}
	.sp-no{
		display:none!important;
	}
/*★PCだけ改行<br class="br-pc">*/
	.br-pc {
    display: none;
  }
	.pc {
    display: none;
  }
	/* ★投稿 */
body.single .main{
border-radius:400px 400px 0px 0px;
	padding: 0 3em!important;
		border-width:1.5em;
	}

	/* ★上だけ角丸 */
.ue-maru{
	border-radius: 400px 400px 0px 0px;
	padding: 0 2em!important;
}
/* ★上だけ角丸用スペンサー */
.ue-maru-s{
	height:3em!important;
}
/* ★上だけ角丸用線余白 */
hr.ue-maru-sen-m-yohaku{
	width: 90%;
}
.footer-widgets-mobile{
	font-size: 13px!important;
}
}
/*946px以下*/
@media screen and (max-width: 946px){
	.staff-card{
max-width:100%;
	}
	.staff-card {
  min-height:100px;
}
}
/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
		div#n2-ss-2 .n2-ss-slider-1 {
    min-height: 650px!important;
}
	.cstm-clip-lower-kaku {
    clip-path: polygon(400% 0%, -300% 0%, 50% 100%);
    min-height: 65vh !important;
}
		.n2-ss-slider .n2-ss-layer{
    margin-top:-23px!important;
} 
	body:not(.page-id-21) .article h2{
	font-size:24px;
	letter-spacing: 0.08em;
	line-height: 1.4;
}
	#header-container::before {
  top: 10px;
	}
	.mobile-header-menu-buttons .logo-menu-button{
	top: -130px;
	width: 10em;
    height: 10em;
}
	.mobile-header-menu-buttons .navi-menu-button {
	top:-100px;
	right:3px;
}
	.cstm-blk-path-lower-cir svg, 
.cstm-blk-path-upper-cir svg{
  height: 14vmin;
}

		/* ★上だけ角丸 */
.ue-maru{
	border-radius: 200px 200px 0px 0px;
	padding: 0 1.3em!important;
}
/* ★上だけ角丸用スペンサー */
.ue-maru-s{
	height:2em!important;
}
.article h3{
	font-size:22.5px;
}	
	
.article h4{
	font-size:17.5px;
}
.article h5{
	font-size:16px;
}
.a-table td{
	font-size:15px!important;
}
.single .entry-title{
	font-size:20px;
	letter-spacing: 0.08em;
	line-height: 1.4;
	padding:0;
	margin-top:4em!important;
}
}

/*834px以上*/
@media screen and (min-width:834px){
	/*★スマホだけ改行<br class="br-sp">*/
  .br-sp {
    display: none;
  }
	.sp {
    display: none;
  }

	.staff-list {
flex-direction: row;
flex-wrap: wrap;
justify-content: center; /* PCでも中央から並べる */
}
}
/*500px以下*/
@media screen and (max-width: 500px){
  /*必要ならばここにコードを書く*/
.menu-content{
	width:71%;
	height:103%;
}
	/* ★上だけ角丸用線余白 */
hr.ue-maru-sen-m-yohaku{
	width: 95%;
}
#footer::before,
	.mobile-footer-menu-buttons::before{
	width: 100vw; 
	left: 50%;
	transform: translateX(-50%);
        height: 40px;
        top: -39px;
		background-size: 100% 100% !important;
}
}
/*700px以下*/
@media screen and (max-width: 700px){
	/* ★投稿 */


body.single .main{
	top:70px!important;
		border-width:1em;
	padding: 0 1.5em!important;
}
	.single .entry-title::after {
  max-width:100%;
}
	.single .content-in {
	max-width:90%;
}
}