
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			.balloon1 {
 	position: relative;
	display: inline-block;
 	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
 	max-width: 100%;
 	color: #555;
	font-size: 16px;
	background: #e0edff;
}

.balloon1:before{
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
 	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #e0edff;
}

.balloon1 p {
	margin: 0;
	padding: 0;
}


.fa-white:before
{
color: #f0f8ff ;
}

.balloon3 {
 	position: relative;
	display: inline-block;
 	margin: 1.5em 0;
	padding: 0 5px;
 	width: 90px;
 	height: 90px;
 	line-height: 90px;
 	vertical-align: middle;
 	text-align: center;
 	color: #FFF;
	font-size: 20px;
 	font-weight: bold;
	background: #70a6ff;
 	border-radius: 50%;
 	box-sizing: border-box;
}

.balloon3:before{
	content: "";
	position: absolute;
	bottom: -25px;
	left: 50%;
 	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #70a6ff;
 	z-index: 0;
}

blockquote {
    position: relative;
    padding: 10px 20px;
    box-sizing: border-box;
    font-style: italic;
    color: #4e4e4e;
    background: #f2f9ff;
}

blockquote:before{
    display: inline-block;
    position: absolute;
    top: 7px;
    left: 10px;
    vertical-align: middle;
    content: "\f10d";
    font-family: FontAwesome;
    color: #d2e6ff;
    font-size: 58px;
    line-height: 1;
}

blockquote:after{
    display: inline-block;
    position: absolute;
    bottom: 5px;
    right: 15px;
    vertical-align: middle;
    text-align: center;
    content: "\f10e";
    font-family: FontAwesome;
    color: #d2e6ff;
    font-size: 40px;
    line-height: 1;
}

blockquote p {
    position: relative;
    padding: 0;
    margin: 10px 0;
    z-index: 3;
    line-height: 1.7;
}

blockquote cite {
    position: relative;
    z-index: 3;
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}

/*-------------------------------------- ふきだしの色を変える（←左） --------------------------------------*/ .sc { border: solid 2px #d5d5d5;/*ふきだしの線の色*/ background: #FFFFFF;/*ふきだしの中の色*/ color: #000000;/*文字の色*/ } .sc:before { border: 12px solid transparent; border-right: 12px solid #d5d5d5;/*ふきだしの線の色*/ content: ""; } .sc:after { display: inline-block; position: absolute; border: 12px solid transparent; border-right: 12px solid #FFFFFF;/*ふきだしの中の色*/ content: ""; } 
/*-------------------------------------- ふきだしの色を変える（右→） --------------------------------------*/ .right .sc { background: #FFFFFF ;/*ふきだしの中の色*/ color: #000000;/*文字の色*/ } .right .sc:before, .right .sc:after { right: -23px; left: auto; border: 12px solid transparent; border-left: 12px solid #d5d5d5;/*ふきだしの線の色*/ } .right .sc:after { right: -20px; border-left-color: #FFFFFF ;/*ふきだしの中の色*/ } 

/*--------------------------------------
  追尾型の目次をスクロールに変更
--------------------------------------*/
#fixed_sidebar .widget h4 + * {
max-height: 450px;/* 縦の幅 */
overflow-y: auto;
}

/*--------------------------------------
スクロールのデザインを変更
--------------------------------------*/
ul::-webkit-scrollbar{
  width: 10px;/* 横幅 */
}
ul::-webkit-scrollbar-track{
  background: #fff;/* トラックの背景 */
  border-radius: 0px;/* トラックの丸み */
  box-shadow: inset 0 0 1px #999; /* トラックの枠 */
}
ul::-webkit-scrollbar-thumb{
  background:#b0c4de;/* バーの色 */
  border-radius: 0px;/* バーの丸み */
  box-shadow: none;/* バーの枠 */
}

/*--------------------------------------
スクロールのタイトルのデザインを変更
--------------------------------------*/
#fixed_sidebar .widgettitle{
    text-align: center;/* 中央揃え */
}
#fixed_sidebar .toc_widget .widgettitle:before {
    display: block;
    content: url(https://japanesia.net/wp-content/uploads/2018/12/nc73641-e1543634851950.png);
    margin-bottom: -5px;/* 縦位置の調整 */
}




.popup-desc {
  display: inline-block;
  position: relative;
  margin-right: 10px;
  border-bottom: 1px dotted #ddd;
}

.popup-desc:after {
  content: '?';
  font-size: 10px;
  font-weight: bold;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 12px;
  height: 12px;
  position: absolute;
  top: -2px;
  right: -10px;
  background-color: #ccc;
  transform: scale(-50%);
  border-radius: 50%;
}

.popup-desc span {
  display: none;
  font-size: 14px;
  line-height: 1.4;
  min-width: 100px;
  padding: 10px;
  position: absolute;
  bottom: 2.2em;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  border: 2px solid #ddd;
  border-radius: 5px;
}

.popup-desc span:after {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  bottom: -7.5px;
  width: 10px;
  height: 10px;
  border-right: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
  background-color: #fff;
  transform: translateX(-50%) rotate(45deg);
}

.popup-desc:hover span {
  display: block;
  animation: animShow 0.2s linear forwards;
}

.popup-desc span:hover {
  display: none !important;
}

@keyframes animShow {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}



.popup-desc {
  display: inline-block;
  position: relative;
  margin-right: 10px;
  border-bottom: 1px dotted #ddd;
}

.popup-desc span {
  display: none;
  font-size: 14px;
  line-height: 1.4;
  min-width: 100px;
  padding: 10px;
  position: absolute;
  bottom: 2.2em;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  border: 2px solid #ddd;
  border-radius: 5px;
}

.popup-desc span:after {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  bottom: -7.5px;
  width: 10px;
  height: 10px;
  border-right: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
  background-color: #fff;
  transform: translateX(-50%) rotate(45deg);
}

.popup-desc:hover span {
  display: block;
  animation: animShow 0.2s linear forwards;
}

.popup-desc span:hover {
  display: none !important;
}

@keyframes animShow {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.Sample1{
    position: relative;
    cursor: pointer;
    display: inline-block;
}
.Sample1 p{
    margin:0;
    padding:0;
}
.description1 {
    display: none;
    position: absolute;
    padding: 10px;
    font-size: 12px;
    line-height: 1.6em;
    color: #fff;
    border-radius: 5px;
    background: #000;
    width: 100px;
}
.description1:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    border: 15px solid transparent;
    border-top: 15px solid #000;
    margin-left: -15px;
}
.Sample1:hover .description1{
    display: inline-block;
    top: -70px;
    left: -30px;
}

.Sample1{
    position: relative;
    cursor: pointer;
    display: inline-block;
}
.tooltip1 p{
    margin:0;
    padding:0;
}

.article ul.ichiran li {
margin: 0.4em;
}
.ichiran {
list-style: none;
overflow: hidden;
padding-left: 15px;
}
.ichiran li {
border: 1px #888 solid;
padding: 6px 9px;
border-radius: 10px;
background: linear-gradient(to bottom, #ffffff 0%,#d5d5d5 100%);
box-shadow: 0 1px 2px #999;
font-weight: bold;
width: 6%;
float: left;
white-space: nowrap;
min-width: 56px;
}
.ichiran li a {
color: #333;
}


i.fa.fa-twitter::before{
  font-family: "FontAwesome"!important;
}

i.fa.fa-instagram::before{
  font-family: "FontAwesome"!important;
}

 i.fa.fa-facebook::before{
  font-family: "FontAwesome"!important;
}

i.fa.fa-get-pocket::before

{
  font-family: "FontAwesome"!important;
}


i.fa.fa-get-info::before

{
  font-family: "FontAwesome"!important;
}

i.fa.fa-get-roket::before

{
  font-family: "FontAwesome"!important;
}


i.fa.fa-get-roket::before

{
  font-family: "FontAwesome"!important;
}

i.fa.fa-get-code::before

{
  font-family: "FontAwesome"!important;
}
.home #floating-buttons-container,
.page-id-29191  #floating-buttons-container,
.page-id-34698  #floating-buttons-container{
	display: none!important;
}


#floating-buttons-container{
	background-color: #6bb6ff!important;
	padding-top: 10px;
}
.floating-buttons-wrapper{
	position: relative;
	
}
.floating-buttons-wrapper::before{
	position: absolute;
	content:'';
	width:80px;
	height: 110px;
	left: -15px;
	bottom: -23px;
	background-image: url('https://japanesia.net/wp-content/uploads/2024/12/w-left.png');
	background-repeat:no-repeat;
	background-size: contain;
	z-index: 1;
}

.floating-buttons-wrapper::after{
		position: absolute;
	content: '';
	width: 100px;
	height: 104px;
	right: -15px;
	bottom: -20px;
	background-image: url('https://japanesia.net/wp-content/uploads/2024/12/w-right.png');
	background-repeat:no-repeat;
	background-size: contain;
}


.floating-buttons-microcopy{
	color: #fff;
	letter-spacing: .1em;
}

#floating-buttons-container .floating-buttons-wrapper a{
	letter-spacing: .1em;
	color: #fff!important;
	background-color: #FAB222!important;
	border-radius: 3px;
	box-shadow: 0 2px 3px rgba(0,0,0,.2),0 2px 3px -2px rgba(0,0,0,.15);
	transition:.3s ease-in-out;
}
#floating-buttons-container .floating-buttons-wrapper a:hover{
	text-decoration: none;
	opacity: .7;
}

#floating-buttons-container .floating-button-close {
	background: #333;
	padding: 0px 7px 1px 7px;
	line-height: 1.3;
}

@media only screen and (min-width: 769px) {
	.floating-buttons-wrapper::before{
		left: 0;
	}
	.floating-buttons-wrapper::after{
		right: 0;
	}
}

.widget_search {
	position: relative;
	margin-bottom: 0;
}

#searchform::before{
	content: '';
	position: absolute;
	top: -3px;
	left: 0;
	width: 80px;
	height: 66px;
	background-image: url('https://japanesia.net/wp-content/uploads/2024/12/men-left.png');
	background-repeat: no-repeat;
	background-size: contain;
}
#searchform::after{
	font-size: 1.2em;
	position: absolute;
	top: 0;
	left: 80px;
}

.searchform div{
	max-width: 413px;
}
#searchform input[type=search]{
	background-color: #fff;
	border-radius: 0;
}
#searchform input[type=search]:focus-visible{
	outline: none;
}
#searchsubmit{
	position: absolute;
    top: 0;
    right: 0;
    width: 45px;
    height: 45px;
    padding: 0;
    border: none;
    border-bottom: solid 1px rgba(0, 0, 0, .1);
    border-radius: 0 var(--wp--custom--rounded--small) var(--wp--custom--rounded--small) 0;
    color: #fff;
    font-size: 20px;
    text-align: center;
    vertical-align: middle;
    line-height: 44px;
	background-color: #6bb6ff;
}

#drawer__content #searchform input[type=search]{
	background-color: #EAEDF2;
}
@media only screen and (max-width: 480px){
 #searchsubmit{
	width: 41px;
	height: 41px;
	line-height: 41px;
}	
}

.passster-submit{
	position: relative;	
}
.passster-submit::after{
	position: absolute;
	content: '';
	top: -122px;
	right: 0;
	width: 95px;
	height: 122px;
	background-image: url('https://japanesia.net/wp-content/uploads/2024/12/w-double.png');
	background-repeat: no-repeat;
	background-size: contain;
}
@media only screen and (max-width: 480px){
	.passster-submit::after{
		top: -94px;
		width: 70px;
		height: 97px;
}
}

/* ====== Kebun Bahasa Page Styles ====== */

/* ===== Kebun Bahasa Page Styles ===== */
.postid-38386 .kb-page {
  font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif !important;
  color: #2d2d2d;
  line-height: 1.9;
  max-width: 800px;
  margin: 0 auto;
}
.postid-38386 .kb-hero {
  background: linear-gradient(135deg, #f0faf0 0%, #e8f5e9 30%, #c8e6c9 100%);
  border-radius: 24px;
  padding: 64px 40px;
  text-align: center;
  margin-bottom: 48px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(46,125,50,0.10);
}
.postid-38386 .kb-hero::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(46,125,50,0.08) 0%, transparent 70%);
  border-radius: 50%;
}
.postid-38386 .kb-hero::after {
  content: '';
  position: absolute;
  bottom: -40px;
  left: -40px;
  width: 160px;
  height: 160px;
  background: radial-gradient(circle, rgba(46,125,50,0.06) 0%, transparent 70%);
  border-radius: 50%;
}
.postid-38386 .kb-hero-subtitle {
  font-size: 12px;
  letter-spacing: 4px;
  color: #888;
  text-transform: uppercase;
  margin-bottom: 16px;
  font-weight: 500;
}
.postid-38386 .kb-hero-title {
  font-size: 30px;
  font-weight: 800;
  color: #1b5e20;
  margin-bottom: 12px;
  line-height: 1.4;
  letter-spacing: 0.5px;
}
.postid-38386 .kb-hero-location {
  font-size: 14px;
  color: #666;
  margin-top: 12px;
}
.postid-38386 .kb-hero-location strong {
  color: #2e7d32;
  font-weight: 700;
}

/* Section styles */
.postid-38386 .kb-section {
  margin-bottom: 56px;
  position: relative;
}
.postid-38386 .kb-section-label {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 3px;
  color: #2e7d32;
  background: linear-gradient(135deg, #e8f5e9, #c8e6c9);
  padding: 5px 18px;
  border-radius: 24px;
  margin-bottom: 18px;
  text-transform: uppercase;
  font-weight: 700;
}
.postid-38386 .kb-section-title {
  font-size: 23px;
  font-weight: 800;
  color: #1a1a1a;
  margin-bottom: 24px;
  padding-bottom: 14px;
  border-bottom: 3px solid #c8e6c9;
  letter-spacing: 0.3px;
}
.postid-38386 .kb-text {
  font-size: 15px;
  color: #444;
  margin-bottom: 18px;
  line-height: 2;
}
/* Highlight / Quote boxes */
.postid-38386 .kb-highlight-box {
  background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
  border-left: 4px solid #2e7d32;
  padding: 28px 32px;
  border-radius: 0 16px 16px 0;
  margin: 28px 0;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.postid-38386 .kb-quote {
  background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
  border-left: 4px solid #2e7d32;
  padding: 28px 32px;
  border-radius: 0 16px 16px 0;
  margin: 28px 0;
  font-style: italic;
  color: #555;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
/* Cards */
.postid-38386 .kb-card {
  background: #fff;
  border-radius: 20px;
  padding: 36px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  margin-bottom: 28px;
  border: 1px solid #eee;
  transition: box-shadow 0.3s ease;
}
.postid-38386 .kb-card:hover {
  box-shadow: 0 8px 36px rgba(0,0,0,0.10);
}
.postid-38386 .kb-card-accent {
  border-top: 4px solid #2e7d32;
  position: relative;
}
.postid-38386 .kb-card-accent::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #2e7d32, #66bb6a);
  border-radius: 20px 20px 0 0;
}

/* Teacher cards */
.postid-38386 .kb-teacher-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
.postid-38386 .kb-teacher-card {
  background: linear-gradient(135deg, #fff 0%, #fafffa 100%);
  border-radius: 20px;
  padding: 32px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  border: 1px solid #eee;
  display: flex;
  gap: 28px;
  align-items: flex-start;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.postid-38386 .kb-teacher-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(46,125,50,0.12);
}
.postid-38386 .kb-teacher-card img {
  width: 110px !important;
  height: 110px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  flex-shrink: 0;
  border: 4px solid #fff;
  box-shadow: 0 4px 16px rgba(46,125,50,0.20);
}
.postid-38386 .kb-teacher-name {
  font-size: 22px;
  font-weight: 800;
  color: #2e7d32;
  margin-bottom: 10px;
  letter-spacing: 0.5px;
}
.postid-38386 .kb-teacher-text {
  font-size: 14px;
  color: #555;
  line-height: 1.9;
}
/* Pricing table */
.postid-38386 .kb-pricing-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08);
  margin: 28px 0;
  background: #fff;
}
.postid-38386 .kb-pricing-table th {
  background: linear-gradient(135deg, #2e7d32 0%, #1b5e20 100%);
  color: #fff;
  padding: 16px 20px;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.5px;
}
.postid-38386 .kb-pricing-table td {
  padding: 16px 20px;
  text-align: center;
  font-size: 14px;
  border-bottom: 1px solid #f0f0f0;
}
.postid-38386 .kb-pricing-table tr:last-child td { border-bottom: none; }
.postid-38386 .kb-pricing-table tr:nth-child(even) td { background: #f9fdf9; }
.postid-38386 .kb-pricing-table .kb-price-highlight {
  background: linear-gradient(135deg, #e8f5e9, #c8e6c9) !important;
  font-weight: 800;
  color: #1b5e20;
  font-size: 16px;
}
.postid-38386 .kb-free-badge {
  display: inline-block;
  background: linear-gradient(135deg, #ff6b35, #f7931e);
  color: #fff;
  padding: 8px 24px;
  border-radius: 24px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 12px rgba(255,107,53,0.3);
}

/* CTA Section */
.postid-38386 .kb-cta-section {
  background: linear-gradient(135deg, #2e7d32 0%, #1b5e20 50%, #0d3e10 100%);
  border-radius: 24px;
  padding: 56px 40px;
  text-align: center;
  color: #fff;
  margin: 48px 0;
  position: relative;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(46,125,50,0.25);
}
.postid-38386 .kb-cta-section::before {
  content: '';
  position: absolute;
  top: -80px;
  right: -80px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(255,255,255,0.10) 0%, transparent 70%);
  border-radius: 50%;
}
.postid-38386 .kb-cta-section::after {
  content: '';
  position: absolute;
  bottom: -60px;
  left: -60px;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%);
  border-radius: 50%;
}
.postid-38386 .kb-cta-title {
  font-size: 26px;
  font-weight: 800;
  margin-bottom: 18px;
  position: relative;
  z-index: 1;
}
.postid-38386 .kb-cta-text {
  font-size: 15px;
  opacity: 0.95;
  margin-bottom: 28px;
  position: relative;
  z-index: 1;
  line-height: 1.9;
}
.postid-38386 .kb-cta-btn {
  display: inline-block;
  background: #fff;
  color: #2e7d32 !important;
  padding: 18px 48px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none !important;
  transition: all 0.3s;
  box-shadow: 0 6px 20px rgba(0,0,0,0.18);
  position: relative;
  z-index: 1;
  letter-spacing: 0.5px;
}
.postid-38386 .kb-cta-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(0,0,0,0.25);
  color: #1b5e20 !important;
}
/* Lists - FIX double markers */
.postid-38386 ul.kb-list-clean, .postid-38386 ul.kb-check-list {
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  margin: 18px 0 !important;
}
.postid-38386 ul.kb-list-clean li, .postid-38386 ul.kb-check-list li {
  list-style: none !important;
  list-style-type: none !important;
  padding: 12px 0 12px 32px !important;
  position: relative !important;
  font-size: 15px !important;
  color: #444 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  margin: 0 !important;
}
.postid-38386 ul.kb-list-clean li::marker, .postid-38386 ul.kb-check-list li::marker {
  content: '' !important;
  display: none !important;
}
.postid-38386 ul.kb-list-clean li:last-child, .postid-38386 ul.kb-check-list li:last-child {
  border-bottom: none !important;
}
.postid-38386 ul.kb-list-clean li::before {
  content: "\2713" !important;
  position: absolute !important;
  left: 4px !important;
  top: 12px !important;
  color: #2e7d32 !important;
  font-weight: 800 !important;
  font-size: 16px !important;
}
.postid-38386 ul.kb-check-list li::before {
  content: "\25CF" !important;
  position: absolute !important;
  left: 8px !important;
  top: 18px !important;
  font-size: 8px !important;
  color: #2e7d32 !important;
}

/* Flow Steps */
.postid-38386 .kb-flow-steps {
  counter-reset: step;
  margin: 24px 0;
}
.postid-38386 .kb-flow-step {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 16px;
  padding: 24px 28px;
  background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
  border-radius: 16px;
  border: 1px solid #eee;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.postid-38386 .kb-flow-step:hover {
  transform: translateX(6px);
  box-shadow: 0 6px 24px rgba(46,125,50,0.10);
  background: linear-gradient(135deg, #fafffa 0%, #f0faf0 100%);
}
.postid-38386 .kb-flow-step::before {
  counter-increment: step;
  content: counter(step);
  background: linear-gradient(135deg, #2e7d32 0%, #1b5e20 100%);
  color: #fff;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 18px;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(46,125,50,0.30);
}
.postid-38386 .kb-flow-step strong {
  font-size: 17px;
  color: #1a1a1a;
  display: block;
  margin-bottom: 4px;
  font-weight: 800;
}
/* Divider */
.postid-38386 .kb-divider {
  height: 1px;
  background: linear-gradient(to right, transparent, #c8e6c9, transparent);
  margin: 56px 0;
  border: none;
}
/* Gallery */
.postid-38386 .kb-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 28px 0;
}
.postid-38386 .kb-gallery img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.10) !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.postid-38386 .kb-gallery img:hover {
  transform: scale(1.02);
  box-shadow: 0 12px 32px rgba(0,0,0,0.15) !important;
}
/* Map wrapper */
.postid-38386 .kb-map-wrap {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(0,0,0,0.10);
  margin: 28px 0;
  border: 1px solid #eee;
}
.postid-38386 .kb-map-wrap iframe {
  display: block;
  width: 100%;
  height: 380px;
  border: none;
}
/* Note - amber/warning style */
.postid-38386 .kb-note {
  background: linear-gradient(135deg, #fff8e1 0%, #fff3cd 100%);
  border-left: 4px solid #ffc107;
  padding: 20px 24px;
  border-radius: 0 12px 12px 0;
  font-size: 13px;
  color: #5d4e1a;
  margin: 24px 0;
  box-shadow: 0 2px 12px rgba(255,193,7,0.10);
}
/* Section number decoration (visual interest) */
.postid-38386 .kb-section-title::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 22px;
  background: linear-gradient(180deg, #2e7d32, #66bb6a);
  border-radius: 3px;
  margin-right: 14px;
  vertical-align: middle;
  margin-top: -3px;
}
/* Body background subtle accent for kb-page */
p {
  font-size: 15px !important;
  line-height: 2 !important;
  color: #444 !important;
  margin-bottom: 16px !important;
}
.postid-38386 .kb-page strong {
  color: #1b5e20;
  font-weight: 700;
}
/* Responsive */
@media (max-width: 700px) {
  .postid-38386 .kb-page { padding: 0 8px; }
  .postid-38386 .kb-hero { padding: 40px 20px; border-radius: 18px; }
  .postid-38386 .kb-hero-title { font-size: 22px; }
  .postid-38386 .kb-section-title { font-size: 19px; }
  .postid-38386 .kb-card, .postid-38386 .kb-cta-section { padding: 28px 20px; border-radius: 16px; }
  .postid-38386 .kb-cta-title { font-size: 21px; }
  .postid-38386 .kb-cta-btn { padding: 14px 32px; font-size: 14px; }
  .postid-38386 .kb-teacher-card { flex-direction: column; align-items: center; text-align: center; padding: 24px; }
  .postid-38386 .kb-teacher-card img { width: 100px !important; height: 100px !important; }
  .postid-38386 .kb-gallery { grid-template-columns: 1fr; gap: 14px; }
  .postid-38386 .kb-gallery img { height: 220px !important; }
  .postid-38386 .kb-pricing-table th, .postid-38386 .kb-pricing-table td { padding: 10px 8px; font-size: 12px; }
  .postid-38386 .kb-flow-step { padding: 18px 16px; gap: 14px; }
  .postid-38386 .kb-flow-step::before { width: 36px; height: 36px; font-size: 16px; }
}


/* === HERO BG VERSION === */
.postid-38386 .kb-hero.kb-hero-bg {
  position: relative !important;
  background-size: cover !important;
  background-position: center !important;
  min-height: 460px !important;
  padding: 0 !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.18) !important;
  background-color: transparent !important;
}
.postid-38386 .kb-hero.kb-hero-bg::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, rgba(20,55,25,0.85) 0%, rgba(46,125,50,0.55) 60%, rgba(46,125,50,0.25) 100%) !important;
  width: auto !important;
  height: auto !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  border-radius: 0 !important;
}
.postid-38386 .kb-hero.kb-hero-bg::after { display: none !important; }
.postid-38386 .kb-hero-overlay {
  position: relative !important;
  z-index: 2 !important;
  padding: 70px 48px !important;
  color: #fff !important;
  max-width: 720px !important;
}
.postid-38386 .kb-hero-tagline {
  display:inline-block !important;
  background: rgba(255,255,255,0.18) !important;
  padding: 6px 16px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  margin-bottom: 18px !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  color: #fff !important;
}
.postid-38386 .kb-hero-bg .kb-hero-title, .postid-38386 .kb-hero-bg h1.kb-hero-title {
  font-size: 56px !important;
  font-weight: 800 !important;
  margin: 0 0 14px !important;
  letter-spacing: -0.02em !important;
  line-height: 1.05 !important;
  color: #fff !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.25) !important;
  border: none !important;
  padding: 0 !important;
  background: none !important;
}
.postid-38386 .kb-hero-bg .kb-hero-sub {
  font-size: 17px !important;
  line-height: 1.7 !important;
  margin: 0 0 28px !important;
  color: rgba(255,255,255,0.95) !important;
  max-width: 560px !important;
}
.postid-38386 .kb-hero-cta { margin-top: 8px !important; }
.postid-38386 .kb-hero-cta .kb-btn-primary {
  display:inline-block !important;
  background:#fff !important;
  color:#1b5e20 !important;
  padding:14px 28px !important;
  border-radius:999px !important;
  font-weight:700 !important;
  font-size:15px !important;
  text-decoration:none !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.2) !important;
  transition: transform .2s, box-shadow .2s !important;
  border: none !important;
}
.postid-38386 .kb-hero-cta .kb-btn-primary:hover { transform: translateY(-2px) !important; box-shadow: 0 10px 28px rgba(0,0,0,0.28) !important; }
@media (max-width: 640px) {
  .postid-38386 .kb-hero-overlay { padding: 48px 24px !important; }
  .postid-38386 .kb-hero-bg .kb-hero-title { font-size: 36px !important; }
  .postid-38386 .kb-hero-bg .kb-hero-sub { font-size: 15px !important; }
  .postid-38386 .kb-hero.kb-hero-bg { min-height: 380px !important; }
}

/* === STATS GRID === */
.postid-38386 .kb-stats {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  margin: 32px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.postid-38386 .kb-stat {
  background: linear-gradient(135deg, #ffffff 0%, #f3faf3 100%) !important;
  border-radius: 16px !important;
  padding: 26px 14px !important;
  text-align: center !important;
  box-shadow: 0 4px 18px rgba(46,125,50,0.10) !important;
  border: 1px solid #e8f5e9 !important;
  transition: transform .2s !important;
}
.postid-38386 .kb-stat:hover { transform: translateY(-3px) !important; }
.postid-38386 .kb-stat-num {
  font-size: 42px !important;
  font-weight: 800 !important;
  color: #2e7d32 !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
  background: linear-gradient(135deg, #1b5e20, #66bb6a) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.postid-38386 .kb-stat-num span { font-size: 20px !important; font-weight: 700 !important; margin-left: 2px !important; -webkit-text-fill-color: transparent !important; }
.postid-38386 .kb-stat-label {
  font-size: 12px !important;
  color: #555 !important;
  font-weight: 600 !important;
  margin-top: 8px !important;
  letter-spacing: .04em !important;
}
@media (max-width: 640px) {
  .postid-38386 .kb-stats { grid-template-columns: repeat(2, 1fr) !important; }
  .postid-38386 .kb-stat-num { font-size: 34px !important; }
}

/* === TEACHER CARD FULL === */
.postid-38386 .kb-teacher-card.kb-teacher-card-full {
  display: grid !important;
  grid-template-columns: 200px 1fr !important;
  gap: 0 !important;
  align-items: stretch !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.postid-38386 .kb-teacher-card-full .kb-teacher-photo {
  background: linear-gradient(160deg, #e8f5e9 0%, #c8e6c9 100%) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  min-height: 260px !important;
  position: relative !important;
  overflow: hidden !important;
}
.postid-38386 .kb-teacher-card-full .kb-teacher-photo::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at 50% 30%, rgba(255,255,255,0.5) 0%, transparent 60%) !important;
}
.postid-38386 .kb-teacher-card.kb-teacher-card-full img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 280px !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  object-fit: contain !important;
  background: transparent !important;
  position: relative !important;
  z-index: 1 !important;
}
.postid-38386 .kb-teacher-card-full .kb-teacher-info {
  padding: 26px 28px !important;
}
@media (max-width: 640px) {
  .postid-38386 .kb-teacher-card.kb-teacher-card-full {
    grid-template-columns: 1fr !important;
  }
  .postid-38386 .kb-teacher-card-full .kb-teacher-photo { min-height: 320px !important; }
  .postid-38386 .kb-teacher-card-full .kb-teacher-info { padding: 22px !important; }
}


/* === STAT TEXT VARIANT === */
.postid-38386 .kb-stat-num.kb-stat-num-text {
  font-size: 26px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  padding-top: 8px !important;
}

/* === NATURAL PAGE BACKGROUND === */
.postid-38386 .kb-page {
  position: relative !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(200,230,201,0.35) 0%, transparent 38%),
    radial-gradient(circle at 100% 18%, rgba(255,236,179,0.28) 0%, transparent 42%),
    radial-gradient(circle at 50% 100%, rgba(174,213,129,0.18) 0%, transparent 50%),
    linear-gradient(180deg, #fbfaf5 0%, #f5f8f2 50%, #f0f5ec 100%) !important;
  padding: 32px 22px 48px !important;
  border-radius: 28px !important;
  box-shadow: 0 2px 24px rgba(46,125,50,0.06) !important;
}
.postid-38386 .kb-page::before {
  content: '' !important;
  position: absolute !important;
  top: 0; right: 0; bottom: 0; left: 0 !important;
  background-image:
    radial-gradient(circle at 8% 28%, rgba(46,125,50,0.05) 0 1.5px, transparent 2px),
    radial-gradient(circle at 92% 12%, rgba(46,125,50,0.05) 0 1.5px, transparent 2px),
    radial-gradient(circle at 22% 78%, rgba(46,125,50,0.04) 0 1.5px, transparent 2px),
    radial-gradient(circle at 76% 88%, rgba(46,125,50,0.05) 0 1.5px, transparent 2px) !important;
  background-size: 220px 220px, 260px 260px, 300px 300px, 240px 240px !important;
  pointer-events: none !important;
  z-index: 0 !important;
  border-radius: 28px !important;
}
.postid-38386 .kb-page > * { position: relative !important; z-index: 1 !important; }
@media (max-width: 640px) {
  .postid-38386 .kb-page { padding: 18px 12px 30px !important; border-radius: 18px !important; }
}

/* leaf accent in corners */
.postid-38386 .kb-page::after {
  content: '' !important;
  position: absolute !important;
  top: -20px; right: -10px !important;
  width: 180px; height: 180px !important;
  background: radial-gradient(ellipse at 30% 70%, rgba(165,214,167,0.45), transparent 65%) !important;
  filter: blur(20px) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}


/* === BODY-WIDE NATURAL BACKGROUND (plant/soil) === */
.postid-38386 body {
  background:
    radial-gradient(circle at 8% 12%, rgba(165,214,167,0.22) 0%, transparent 30%),
    radial-gradient(circle at 95% 8%, rgba(220,237,200,0.30) 0%, transparent 32%),
    radial-gradient(circle at 80% 70%, rgba(141,110,99,0.10) 0%, transparent 35%),
    radial-gradient(circle at 15% 95%, rgba(174,213,129,0.15) 0%, transparent 40%),
    linear-gradient(180deg, #fbf9f3 0%, #f4f1e8 35%, #ecf2e3 70%, #e3ebd6 100%) !important;
  background-attachment: fixed !important;
  position: relative !important;
}
.postid-38386 body::before {
  content: '' !important;
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background-image:
    radial-gradient(circle at 12% 22%, rgba(46,125,50,0.06) 0 1.8px, transparent 2.4px),
    radial-gradient(circle at 88% 18%, rgba(121,85,72,0.05) 0 1.5px, transparent 2px),
    radial-gradient(circle at 28% 78%, rgba(46,125,50,0.05) 0 1.8px, transparent 2.4px),
    radial-gradient(circle at 72% 88%, rgba(121,85,72,0.04) 0 1.5px, transparent 2px) !important;
  background-size: 180px 180px, 220px 220px, 260px 260px, 200px 200px !important;
  opacity: .85 !important;
}
/* clear out kb-page own backdrop, since body now handles it */
.postid-38386 .kb-page {
  background: transparent !important;
  box-shadow: none !important;
  padding: 16px 0 32px !important;
  border-radius: 0 !important;
}
.postid-38386 .kb-page::before, .postid-38386 .kb-page::after { display: none !important; }

/* === LEAF MARKERS (replace bullets) === */
.postid-38386 ul.kb-list-clean, .postid-38386 ul.kb-check-list {
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  margin: 18px 0 !important;
}
.postid-38386 ul.kb-list-clean li, .postid-38386 ul.kb-check-list li {
  list-style: none !important;
  position: relative !important;
  padding: 12px 14px 12px 40px !important;
  border-bottom: 1px solid #f0f4ec !important;
}
.postid-38386 ul.kb-list-clean li:last-child, .postid-38386 ul.kb-check-list li:last-child { border-bottom: none !important; }
.postid-38386 ul.kb-list-clean li::marker, .postid-38386 ul.kb-check-list li::marker { content: '' !important; display: none !important; font-size: 0 !important; }

/* leaf icon via inline SVG background */
.postid-38386 ul.kb-list-clean li::before, .postid-38386 ul.kb-check-list li::before {
  content: '' !important;
  position: absolute !important;
  left: 8px !important;
  top: 14px !important;
  width: 22px !important;
  height: 22px !important;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232e7d32' d='M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3 8 0 12-8 12-15-1 .67-2.33 1-3.59 1H17c-2 0-4 1-4 3 0 1 .67 1.5 1.5 1.5.83 0 1.5-.5 1.5-1 0-.67-.5-1-1-1 .5-1 1.5-1.5 3-1.5 1 0 1.79.34 2.34 1L21 8c-.5 1-2 2.5-4 2.5z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  transform: rotate(-15deg) !important;
}

/* === FIX kb-card-accent top border (corners) === */
.postid-38386 .kb-card.kb-card-accent {
  border-top: none !important;
  position: relative !important;
  overflow: hidden !important;
}
.postid-38386 .kb-card.kb-card-accent::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, #1b5e20 0%, #4caf50 50%, #1b5e20 100%) !important;
  z-index: 1 !important;
}

/* tweak card to have a slightly warmer paper feel */
.postid-38386 .kb-card {
  background: linear-gradient(180deg, #ffffff 0%, #fdfdf8 100%) !important;
  border: 1px solid #ece8da !important;
}

/* a subtle leaf accent next to section titles */
.postid-38386 .kb-section-title {
  position: relative !important;
}


/* === BETTER LEAF ICON v2 (clearly leaf-shaped) === */
.postid-38386 ul.kb-list-clean li::before, .postid-38386 ul.kb-check-list li::before {
  content: '' !important;
  position: absolute !important;
  left: 8px !important;
  top: 13px !important;
  width: 22px !important;
  height: 22px !important;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%2381c784'/%3E%3Cstop offset='1' stop-color='%232e7d32'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M54 6C28 6 8 22 8 46c0 5 1 9 3 12 2-12 11-22 24-28-10 7-17 16-19 28 4 1 9 2 14 2 22 0 30-16 30-40 0-5-2-10-6-14z'/%3E%3Cpath fill='%231b5e20' opacity='.5' d='M30 30c-5 5-9 11-11 19l-2-1c2-9 7-15 13-18z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  transform: rotate(-12deg) !important;
}

/* === FIGURE (full-width photo with caption) === */
.postid-38386 .kb-figure {
  margin: 22px 0 16px !important;
  padding: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 28px rgba(46,125,50,0.12) !important;
  background: #fff !important;
  border: 1px solid #ece8da !important;
}
.postid-38386 .kb-figure img {
  width: 100% !important;
  height: auto !important;
  max-height: 380px !important;
  object-fit: cover !important;
  object-position: center 30% !important;
  display: block !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.postid-38386 .kb-figure figcaption {
  padding: 12px 18px !important;
  background: linear-gradient(180deg, #fdfdf8 0%, #f6f4ec 100%) !important;
  font-size: 13px !important;
  color: #555 !important;
  text-align: center !important;
  border-top: 1px solid #eceadb !important;
}

/* === ROOM GALLERY (2-column small photos) === */
.postid-38386 .kb-room-gallery {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  margin: 12px 0 24px !important;
}
.postid-38386 .kb-room-gallery img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 16px rgba(46,125,50,0.10) !important;
  border: 1px solid #ece8da !important;
  display: block !important;
}
@media (max-width: 600px) {
  .postid-38386 .kb-room-gallery { grid-template-columns: 1fr !important; }
  .postid-38386 .kb-room-gallery img { height: 220px !important; }
  .postid-38386 .kb-figure img { max-height: 280px !important; }
}


/* === FIGURE / GALLERY object-position fix === */
.postid-38386 .kb-figure img {
  object-position: center 65% !important;
  max-height: 340px !important;
}
.postid-38386 .kb-room-gallery img {
  object-position: center 60% !important;
  height: 220px !important;
}


/* ======== v6: Wide figure + Room figure + Teacher trio ======== */

/* Wide open-space figure */
.postid-38386 .kb-figure.kb-figure-wide {
  margin: 28px 0 20px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 40px rgba(46,125,50,0.13) !important;
}
.postid-38386 .kb-figure.kb-figure-wide img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  object-position: center 50% !important;
  display: block !important;
}
.postid-38386 .kb-figure.kb-figure-wide figcaption {
  text-align: center !important;
  font-size: 13px !important;
  color: #5d7a5e !important;
  padding: 12px 16px !important;
  background: rgba(232,245,233,0.5) !important;
}

/* Private room figure */
.postid-38386 .kb-figure.kb-figure-room {
  margin: 20px 0 16px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 32px rgba(46,125,50,0.10) !important;
}
.postid-38386 .kb-figure.kb-figure-room img {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  object-position: center 45% !important;
  display: block !important;
}
.postid-38386 .kb-figure.kb-figure-room figcaption {
  text-align: center !important;
  font-size: 13px !important;
  color: #5d7a5e !important;
  padding: 12px 16px !important;
  background: rgba(232,245,233,0.5) !important;
}

/* Teacher trio in For You section */
@keyframes kbFloat1 {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-14px) rotate(1deg); }
}
@keyframes kbFloat2 {
  0%, 100% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(-18px) rotate(-1deg); }
}
@keyframes kbFloat3 {
  0%, 100% { transform: translateY(0) rotate(2deg); }
  50% { transform: translateY(-12px) rotate(-2deg); }
}
@keyframes kbFadeSlideUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
.postid-38386 }
.kb-teacher-trio {
  display: flex !important;
  justify-content: center !important;
  gap: 32px !important;
  margin: 10px 0 28px !important;
  padding: 20px 0 !important;
}
.postid-38386 .kb-trio-item {
  text-align: center !important;
  animation: kbFadeSlideUp 0.8s ease-out both !important;
}
.postid-38386 .kb-trio-item.kb-trio-1 { animation-delay: 0.1s !important; }
.postid-38386 .kb-trio-item.kb-trio-2 { animation-delay: 0.3s !important; }
.postid-38386 .kb-trio-item.kb-trio-3 { animation-delay: 0.5s !important; }
.postid-38386 .kb-trio-item img {
  width: 140px !important;
  height: 200px !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 80px 80px 24px 24px !important;
  box-shadow: 0 8px 28px rgba(46,125,50,0.18) !important;
  border: 3px solid rgba(76,175,80,0.25) !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}
.postid-38386 .kb-trio-item.kb-trio-1 img {
  animation: kbFloat1 4s ease-in-out infinite !important;
}
.postid-38386 .kb-trio-item.kb-trio-2 img {
  animation: kbFloat2 4.5s ease-in-out infinite !important;
}
.postid-38386 .kb-trio-item.kb-trio-3 img {
  animation: kbFloat3 3.8s ease-in-out infinite !important;
}
.postid-38386 .kb-trio-item img:hover {
  transform: scale(1.08) !important;
  box-shadow: 0 14px 40px rgba(46,125,50,0.28) !important;
}
.postid-38386 .kb-trio-name {
  display: block !important;
  margin-top: 10px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #2e7d32 !important;
  letter-spacing: 1px !important;
}

/* Mobile responsive */
@media (max-width: 600px) {
  .postid-38386 .kb-figure.kb-figure-wide img { height: 180px !important; }
  .postid-38386 .kb-figure.kb-figure-room img { height: 180px !important; }
  .postid-38386 .kb-teacher-trio { gap: 16px !important; }
  .postid-38386 .kb-trio-item img { width: 100px !important; height: 150px !important; }
}


/* ======== v7: Sidebar teachers + blur fix ======== */

/* Float animation for sidebar teachers */
@keyframes kbSideFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
.postid-38386 }

/* Teacher sidebar - shared */
.kb-teacher-side {
  position: relative !important;
  z-index: 2 !important;
  margin-bottom: 10px !important;
  text-align: center !important;
}
.postid-38386 .kb-teacher-side img {
  width: 120px !important;
  height: 170px !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 60px 60px 20px 20px !important;
  box-shadow: 0 8px 24px rgba(46,125,50,0.16) !important;
  border: 3px solid rgba(76,175,80,0.2) !important;
  animation: kbSideFloat 4s ease-in-out infinite !important;
  transition: transform 0.3s ease !important;
}
.postid-38386 .kb-teacher-side img:hover {
  transform: scale(1.06) !important;
}
.postid-38386 .kb-teacher-side-name {
  display: block !important;
  margin-top: 6px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #2e7d32 !important;
  letter-spacing: 1px !important;
}

/* Right-side float */
.postid-38386 .kb-teacher-side-right {
  float: right !important;
  margin: 0 -20px 16px 24px !important;
}

/* Left-side float */
.postid-38386 .kb-teacher-side-left {
  float: left !important;
  margin: 0 24px 16px -20px !important;
}

/* Stagger animation delays */
.postid-38386 .kb-teacher-side-right img {
  animation-delay: 0s !important;
}
.postid-38386 .kb-teacher-side-left img {
  animation-delay: 0.8s !important;
}

/* Fix blurry classroom image: don't stretch beyond natural size */
.postid-38386 .kb-figure.kb-figure-room img {
  height: auto !important;
  max-height: 300px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #f5f5f0 !important;
}
.postid-38386 .kb-figure.kb-figure-room {
  background: #f5f5f0 !important;
}

/* Also improve wide figure: don't over-stretch */
.postid-38386 .kb-figure.kb-figure-wide img {
  height: auto !important;
  max-height: 320px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #f5f5f0 !important;
}
.postid-38386 .kb-figure.kb-figure-wide {
  background: #f5f5f0 !important;
}

/* Clear floats after section text */
.postid-38386 .kb-section::after {
  content: '' !important;
  display: table !important;
  clear: both !important;
}

/* Mobile: stack sidebar photos above text */
@media (max-width: 600px) {
  .postid-38386 .kb-teacher-side-right, .postid-38386 .kb-teacher-side-left {
    float: none !important;
    margin: 0 auto 16px !important;
  }
  .postid-38386 .kb-teacher-side img {
    width: 100px !important;
    height: 140px !important;
  }
}


/* ======== v8: Fix sidebar overflow + speech bubbles ======== */

/* Shrink teacher sidebar images to avoid overflow */
.postid-38386 .kb-teacher-side img {
  width: 100px !important;
  height: 140px !important;
}

/* Right-side: tighter margin */
.postid-38386 .kb-teacher-side-right {
  margin: 0 0 12px 20px !important;
}
/* Left-side: tighter margin */
.postid-38386 .kb-teacher-side-left {
  margin: 0 20px 12px 0 !important;
}

/* CRITICAL: Clear float before cards, quotes, lists, steps */
.postid-38386 .kb-card, .postid-38386 .kb-quote, .postid-38386 .kb-steps {
  clear: both !important;
}

/* Speech bubble below teacher image */
.postid-38386 .kb-side-bubble {
  display: block !important;
  position: relative !important;
  margin-top: 8px !important;
  padding: 6px 10px !important;
  background: #e8f5e9 !important;
  border-radius: 12px !important;
  font-size: 11px !important;
  color: #2e7d32 !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  max-width: 110px !important;
  box-shadow: 0 2px 8px rgba(46,125,50,0.08) !important;
}
/* Bubble tail (triangle pointing up) */
.postid-38386 .kb-side-bubble::before {
  content: '' !important;
  position: absolute !important;
  top: -6px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border-left: 6px solid transparent !important;
  border-right: 6px solid transparent !important;
  border-bottom: 6px solid #e8f5e9 !important;
}

/* Hide old name spans (cleanup) */
.postid-38386 .kb-teacher-side-name {
  display: none !important;
}

/* Mobile */
@media (max-width: 600px) {
  .postid-38386 .kb-teacher-side img {
    width: 80px !important;
    height: 110px !important;
  }
  .postid-38386 .kb-side-bubble {
    max-width: 90px !important;
    font-size: 10px !important;
  }
}


/* ======== v9: Hide teacher sidebar on mobile ======== */
@media (max-width: 768px) {
  .postid-38386 .kb-teacher-side {
    display: none !important;
  }
}


/* ======== v10: Bubble from face + simple animation ======== */

/* Remove float animation */
.postid-38386 .kb-teacher-side img {
  animation: none !important;
}

/* Simple fade-in on scroll (one-time) */
@keyframes kbSimpleFadeIn {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
.postid-38386 }
.kb-teacher-side {
  animation: kbSimpleFadeIn 0.8s ease-out both !important;
}

/* Reposition bubble to come from the face (top of image) */
.postid-38386 .kb-side-bubble {
  position: absolute !important;
  z-index: 3 !important;
  top: -8px !important;
  padding: 5px 10px !important;
  max-width: 130px !important;
  white-space: nowrap !important;
  font-size: 11px !important;
  border-radius: 14px !important;
  background: #fff !important;
  border: 1.5px solid #a5d6a7 !important;
  box-shadow: 0 3px 10px rgba(46,125,50,0.10) !important;
  color: #2e7d32 !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  transform: translateY(-100%) !important;
}

/* Right-side: bubble on left of image */
.postid-38386 .kb-teacher-side-right .kb-side-bubble {
  right: 70% !important;
  left: auto !important;
}
/* Tail pointing right toward face */
.postid-38386 .kb-teacher-side-right .kb-side-bubble::before {
  content: '' !important;
  position: absolute !important;
  top: auto !important;
  bottom: -7px !important;
  right: 10px !important;
  left: auto !important;
  transform: none !important;
  border-left: 7px solid transparent !important;
  border-right: 7px solid transparent !important;
  border-top: 7px solid #fff !important;
  border-bottom: none !important;
}
.postid-38386 .kb-teacher-side-right .kb-side-bubble::after {
  content: '' !important;
  position: absolute !important;
  bottom: -9px !important;
  right: 9px !important;
  border-left: 8px solid transparent !important;
  border-right: 8px solid transparent !important;
  border-top: 8px solid #a5d6a7 !important;
  border-bottom: none !important;
  z-index: -1 !important;
}

/* Left-side: bubble on right of image */
.postid-38386 .kb-teacher-side-left .kb-side-bubble {
  left: 70% !important;
  right: auto !important;
}
/* Tail pointing left toward face */
.postid-38386 .kb-teacher-side-left .kb-side-bubble::before {
  content: '' !important;
  position: absolute !important;
  top: auto !important;
  bottom: -7px !important;
  left: 10px !important;
  right: auto !important;
  transform: none !important;
  border-left: 7px solid transparent !important;
  border-right: 7px solid transparent !important;
  border-top: 7px solid #fff !important;
  border-bottom: none !important;
}
.postid-38386 .kb-teacher-side-left .kb-side-bubble::after {
  content: '' !important;
  position: absolute !important;
  bottom: -9px !important;
  left: 9px !important;
  border-left: 8px solid transparent !important;
  border-right: 8px solid transparent !important;
  border-top: 8px solid #a5d6a7 !important;
  border-bottom: none !important;
  z-index: -1 !important;
}


/* ===== KB v11: Eyecatch hide + Hero logo + About figure + Teacher upper-body ===== */

/* Hide the WordPress eyecatch/featured image and post title for this page */
.postid-38386 .post-thumbnail { display: none !important; }
.postid-38386 .entry-title.single-title { display: none !important; }
.postid-38386 .entry-meta.vcard { display: none !important; }

/* Hero logo inside the hero */
.postid-38386 .kb-hero-logo { margin-bottom: 16px; }
.postid-38386 .kb-hero-logo img { width: 160px; height: 160px; object-fit: contain; border-radius: 50%; background: rgba(255,255,255,0.85); padding: 8px; box-shadow: 0 4px 20px rgba(46,125,50,0.15); }

/* About section figure */
.postid-38386 .kb-figure.kb-figure-about { margin: 24px 0 20px; border-radius: 16px; overflow: hidden; box-shadow: 0 8px 30px rgba(0,0,0,0.08); }
.postid-38386 .kb-figure.kb-figure-about img { width: 100%; height: auto; display: block; }

/* Teacher sidebar: upper-body crop (larger, show from top) */


/* Adjust bubble position for larger teacher images */
.postid-38386 .kb-side-bubble { top: -6px !important; }








/* v11-teacher-final2: Upper body with visible bubble */
.postid-38386 .kb-teacher-side { position: relative !important; width: 130px !important; border-radius: 16px !important; }
.postid-38386 .kb-teacher-side img { width: 130px !important; height: 260px !important; object-fit: cover !important; object-position: center 20% !important; border-radius: 16px 16px 0 0 !important; border: 2px solid #e8f5e9 !important; box-shadow: 0 4px 12px rgba(46,125,50,0.12) !important; display: block !important; clip-path: inset(0 0 45% 0 round 16px) !important; }
.postid-38386 .kb-side-bubble { top: -6px !important; z-index: 5 !important; }

/* v12: Mobile responsive teacher sidebar */
@media (max-width: 768px) {
  .postid-38386 .kb-teacher-side { float: none !important; margin: 16px auto !important; text-align: center !important; width: 100% !important; display: flex !important; align-items: center !important; gap: 12px !important; }
  .postid-38386 .kb-teacher-side-right { flex-direction: row-reverse !important; }
  .postid-38386 .kb-teacher-side-left { flex-direction: row !important; }
  .postid-38386 .kb-teacher-side img { width: 80px !important; height: 80px !important; flex-shrink: 0 !important; border-radius: 50% !important; clip-path: none !important; }
  .postid-38386 .kb-side-bubble { position: static !important; transform: none !important; top: auto !important; right: auto !important; left: auto !important; white-space: normal !important; max-width: none !important; }
  .postid-38386 .kb-side-bubble::before, .postid-38386 .kb-side-bubble::after { display: none !important; }
}

/* Taiki teacher-side specific */
.postid-38386 .kb-teacher-taiki img { object-position: center 15% !important; }


/* ==== FINAL FIXES v13 ==== */
/* Fix Taiki bubble overflow - not clipped by section */
.postid-38386 .kb-teacher-side {
  overflow: visible !important;
  z-index: 1 !important;
}
.postid-38386 .kb-side-bubble {
  z-index: 10 !important;
  white-space: nowrap !important;
  max-width: none !important;
}
/* Taiki specific - portrait image so use different clip */
.postid-38386 .kb-teacher-taiki img {
  object-position: center 25% !important;
  clip-path: inset(0 0 35% 0 round 16px) !important;
}
.postid-38386 .kb-teacher-taiki .kb-side-bubble {
  top: -8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  right: auto !important;
  z-index: 20 !important;
  position: absolute !important;
}
/* Ensure list leaf bullets show on all kb-list-clean regardless of container */
.postid-38386 ul.kb-list-clean, .postid-38386 ul.kb-check-list {
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  margin: 18px 0 !important;
}
.postid-38386 ul.kb-list-clean li, .postid-38386 ul.kb-check-list li {
  list-style: none !important;
  list-style-type: none !important;
  padding: 12px 0 12px 32px !important;
  position: relative !important;
  font-size: 15px !important;
  color: #444 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  margin: 0 !important;
  background-image: none !important;
}
.postid-38386 ul.kb-list-clean li::marker, .postid-38386 ul.kb-check-list li::marker {
  content: '' !important;
  display: none !important;
}
.postid-38386 ul.kb-list-clean li::before {
  content: '\1F331' !important;
  position: absolute !important;
  left: 6px !important;
  top: 10px !important;
  font-size: 16px !important;
}
.postid-38386 ul.kb-check-list li::before {
  content: '\2713' !important;
  position: absolute !important;
  left: 8px !important;
  top: 10px !important;
  color: #2E7D32 !important;
  font-weight: 900 !important;
  font-size: 16px !important;
}

/* Mobile - larger teacher sidebars */
@media (max-width: 768px) {
  .postid-38386 .kb-teacher-side {
    float: none !important;
    margin: 20px auto !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 340px !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 0 !important;
  }
  .postid-38386 .kb-teacher-side-right { flex-direction: row-reverse !important; }
  .postid-38386 .kb-teacher-side-left { flex-direction: row !important; }
  .postid-38386 .kb-teacher-side img {
    width: 110px !important;
    height: 110px !important;
    flex-shrink: 0 !important;
    border-radius: 50% !important;
    clip-path: none !important;
    object-fit: cover !important;
    object-position: center 20% !important;
    border: 3px solid #e8f5e9 !important;
  }
  .postid-38386 .kb-teacher-taiki img {
    object-position: center 25% !important;
  }
  .postid-38386 .kb-side-bubble {
    position: static !important;
    transform: none !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    white-space: normal !important;
    max-width: none !important;
    flex: 1 !important;
    font-size: 14px !important;
    padding: 10px 14px !important;
    line-height: 1.5 !important;
  }
  .postid-38386 .kb-side-bubble::before, .postid-38386 .kb-side-bubble::after { display: none !important; }
}

/* ==== v14 mobile upper-body crop ==== */
@media (max-width: 768px) {
  .postid-38386 .kb-teacher-side {
    float: none !important;
    margin: 20px auto !important;
    max-width: 340px !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .postid-38386 .kb-teacher-side-right { flex-direction: row-reverse !important; }
  .postid-38386 .kb-teacher-side-left { flex-direction: row !important; }
  .postid-38386 .kb-teacher-side > img {
    width: 120px !important;
    height: 120px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: 50% 8% !important;
    border: 3px solid #e8f5e9 !important;
    clip-path: none !important;
    transform: none !important;
    flex-shrink: 0 !important;
    background: #f7faf7 !important;
  }
  .postid-38386 .kb-teacher-taiki > img {
    object-position: 50% 12% !important;
    clip-path: none !important;
  }
  .postid-38386 .kb-side-bubble {
    position: static !important;
    flex: 1 !important;
    font-size: 14px !important;
    padding: 10px 14px !important;
    line-height: 1.5 !important;
    max-width: none !important;
    white-space: normal !important;
  }
}

/* ==== v15 avatar upper-body crop ==== */
/* Hide avatar on desktop */
.postid-38386 .kb-avatar { display: none; }

@media (max-width: 768px) {
  .postid-38386 .kb-teacher-side > img { display: none !important; }
  .postid-38386 .kb-teacher-side > .kb-avatar {
    display: block !important;
    width: 120px !important;
    height: 120px !important;
    border-radius: 50% !important;
    background-size: 250% auto !important;
    background-position: 50% 15% !important;
    background-repeat: no-repeat !important;
    background-color: #f7faf7 !important;
    border: 3px solid #e8f5e9 !important;
    flex-shrink: 0 !important;
  }
  .postid-38386 .kb-teacher-taiki > .kb-avatar {
    background-size: 260% auto !important;
    background-position: 50% 20% !important;
  }
}

/* ==== v16 Taiki image normalization ==== */
/* On desktop, use avatar for Taiki too (consistent profile photo rendering) */
.postid-38386 .kb-teacher-taiki > img {
  display: none !important;
}
.postid-38386 .kb-teacher-taiki > .kb-avatar {
  display: block !important;
  width: 160px !important;
  height: 200px !important;
  border-radius: 14px !important;
  background-size: 170% auto !important;
  background-position: 50% 18% !important;
  background-repeat: no-repeat !important;
  background-color: #f7faf7 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}
.postid-38386 .kb-teacher-taiki {
  float: left !important;
  margin: 10px 20px 12px 0 !important;
  width: 160px !important;
  overflow: visible !important;
  position: relative !important;
}
.postid-38386 .kb-teacher-taiki .kb-side-bubble {
  position: absolute !important;
  top: -12px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  right: auto !important;
  z-index: 20 !important;
  white-space: nowrap !important;
}
/* Override mobile settings for Taiki — keep avatar on mobile too */
@media (max-width: 768px) {
  .postid-38386 .kb-teacher-taiki {
    float: none !important;
    width: auto !important;
    margin: 20px auto !important;
    max-width: 340px !important;
    display: flex !important;
    align-items: center !important;
    flex-direction: row !important;
    gap: 14px !important;
    padding: 0 !important;
  }
  .postid-38386 .kb-teacher-taiki > .kb-avatar {
    width: 120px !important;
    height: 150px !important;
    border-radius: 14px !important;
    background-size: 180% auto !important;
    background-position: 50% 18% !important;
    flex-shrink: 0 !important;
  }
  .postid-38386 .kb-teacher-taiki .kb-side-bubble {
    position: static !important;
    transform: none !important;
    flex: 1 !important;
    white-space: normal !important;
    font-size: 14px !important;
    padding: 10px 14px !important;
    line-height: 1.5 !important;
  }
}


/* ==== /first page & header fixes ==== */
/* pc-only: show on desktop, hide on mobile */
@media (max-width: 768px) {
  br.pc-only { display: none !important; }
}

/* Fix: announcement bar overlapping nav menu */
.header-info {
  margin-top: 20px !important;
}

/* ===== Japanesia /profile page redesign ===== */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700;800&family=Noto+Sans+JP:wght@400;500;700&family=Pacifico&display=swap');

.jp-profile, .jp-profile *, .jp-profile *::before, .jp-profile *::after { box-sizing: border-box; }

.jp-profile {
  --jp-blue:#6bb6ff; --jp-blue-dark:#4a9de8; --jp-blue-light:#c9e4ff; --jp-blue-pale:#eaf4ff;
  --jp-coral:#ff8a6b; --jp-coral-soft:#ffd6c8; --jp-yellow:#ffd86b;
  --jp-bg:#eaedf2; --jp-cream:#fffaf2;
  --jp-ink:#2b2b2b; --jp-ink-soft:#5a6472; --jp-ink-muted:#8a94a4;
  --jp-line:#dfe5ef; --jp-white:#ffffff;
  font-family:"M PLUS Rounded 1c","Noto Sans JP",system-ui,sans-serif;
  color:var(--jp-ink); line-height:1.9; background:var(--jp-bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.jp-profile img { max-width:100%; display:block; }
.jp-profile a { color:inherit; text-decoration:none; }
.jp-profile p { margin:0 0 1em; }
.jp-profile .jp-wrap { max-width:1120px; margin:0 auto; padding:0 24px; }
.jp-profile .jp-wrap-narrow { max-width:860px; margin:0 auto; padding:0 24px; }
.jp-profile .jp-section { padding:100px 0; position:relative; }
@media (max-width:720px){ .jp-profile .jp-section { padding:64px 0; } }

.jp-profile .jp-eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-family:"Pacifico",cursive; font-size:18px;
  color:var(--jp-blue); margin-bottom:12px;
}
.jp-profile .jp-eyebrow::before { content:""; width:24px; height:3px; background:var(--jp-blue); border-radius:2px; }
.jp-profile .jp-heading {
  font-weight:800; color:var(--jp-ink);
  font-size:clamp(26px,3.6vw,40px); line-height:1.55;
  margin:0 0 24px;
}
.jp-profile .jp-heading .jp-mark { background:linear-gradient(180deg,transparent 55%,var(--jp-yellow) 55%); padding:0 4px; }
.jp-profile .jp-lead { font-size:17px; color:var(--jp-ink-soft); max-width:720px; line-height:2; }

/* HERO */
.jp-profile .jp-hero {
  position:relative;
  background:linear-gradient(180deg,#b8dcff 0%,#6bb6ff 80%);
  padding:100px 0 140px; overflow:hidden; color:var(--jp-white);
}
.jp-profile .jp-cloud { position:absolute; background:rgba(255,255,255,.85); border-radius:50%; filter:blur(.5px); }
.jp-profile .jp-cloud.c1 { width:180px; height:180px; top:40px; left:8%; opacity:.55; }
.jp-profile .jp-cloud.c2 { width:120px; height:120px; top:120px; right:18%; opacity:.4; }
.jp-profile .jp-cloud.c3 { width:220px; height:220px; bottom:100px; left:-40px; opacity:.35; }
.jp-profile .jp-hero-wave { position:absolute; left:0; right:0; bottom:-2px; width:100%; height:90px; display:block; }
.jp-profile .jp-hero-inner {
  position:relative; display:grid; grid-template-columns:1fr 1fr;
  gap:56px; align-items:center; z-index:2;
}
@media (max-width:900px){ .jp-profile .jp-hero-inner { grid-template-columns:1fr; gap:40px; } }
.jp-profile .jp-hero-kicker { font-family:"Pacifico",cursive; font-size:22px; color:var(--jp-yellow); margin-bottom:16px; text-shadow:0 2px 0 rgba(0,0,0,.08); }
.jp-profile .jp-hero-title {
  font-weight:800; font-size:clamp(34px,5.4vw,56px); line-height:1.35;
  margin:0 0 20px; color:var(--jp-white); text-shadow:0 3px 0 rgba(26,80,150,.15);
}
.jp-profile .jp-hero-title .jp-accent { color:var(--jp-yellow); }
.jp-profile .jp-hero-sub { font-size:17px; color:var(--jp-white); opacity:.95; line-height:2.1; margin:0 0 32px; max-width:520px; }
.jp-profile .jp-btn-row { display:flex; flex-wrap:wrap; gap:12px; }
.jp-profile .jp-btn {
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 28px; border-radius:999px;
  font-weight:700; font-size:15px; cursor:pointer; border:none;
  font-family:inherit; transition:all .2s ease;
}
.jp-profile .jp-btn-primary { background:var(--jp-coral); color:var(--jp-white); box-shadow:0 6px 0 #d46a50, 0 10px 25px -5px rgba(255,138,107,.5); }
.jp-profile .jp-btn-primary:hover { transform:translateY(2px); box-shadow:0 4px 0 #d46a50, 0 6px 15px -5px rgba(255,138,107,.5); }
.jp-profile .jp-btn-ghost { background:var(--jp-white); color:var(--jp-blue-dark); box-shadow:0 6px 0 #c5dff7, 0 10px 25px -5px rgba(107,182,255,.3); }
.jp-profile .jp-btn-ghost:hover { transform:translateY(2px); box-shadow:0 4px 0 #c5dff7, 0 6px 15px -5px rgba(107,182,255,.3); }
.jp-profile .jp-btn .jp-arrow { transition:transform .2s ease; display:inline-block; }
.jp-profile .jp-btn:hover .jp-arrow { transform:translateX(4px); }
.jp-profile .jp-hero-visual {
  position:relative; border-radius:24px; overflow:hidden;
  aspect-ratio:4/3; box-shadow:0 30px 60px -20px rgba(26,80,150,.35);
  border:6px solid var(--jp-white); background:var(--jp-white);
}
.jp-profile .jp-hero-visual img { width:100%; height:100%; object-fit:cover; }
.jp-profile .jp-hero-sticker {
  position:absolute; width:104px; height:104px;
  background:var(--jp-yellow); color:var(--jp-ink);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:14px; letter-spacing:.04em;
  top:-20px; right:-20px;
  box-shadow:0 10px 25px -8px rgba(0,0,0,.2);
  transform:rotate(10deg); text-align:center; line-height:1.3; padding:8px;
  border:4px solid var(--jp-white); z-index:2;
}

/* LETTER */
.jp-profile .jp-letter { background:var(--jp-white); padding:80px 0; }
.jp-profile .jp-letter-card {
  max-width:760px; margin:0 auto;
  background:linear-gradient(135deg,var(--jp-blue-pale),var(--jp-white));
  border:1px solid var(--jp-line); border-radius:24px;
  padding:56px 48px; text-align:center; position:relative;
}
.jp-profile .jp-letter-card::before, .jp-profile .jp-letter-card::after {
  content:""; position:absolute;
  width:80px; height:80px; border-radius:50%;
  background:var(--jp-blue-light); opacity:.5; z-index:0;
}
.jp-profile .jp-letter-card::before { top:-30px; left:-30px; }
.jp-profile .jp-letter-card::after { bottom:-30px; right:-30px; background:var(--jp-coral-soft); }
.jp-profile .jp-letter-hi { font-family:"Pacifico",cursive; color:var(--jp-coral); font-size:30px; margin-bottom:16px; position:relative; }
.jp-profile .jp-letter-body { font-weight:700; font-size:clamp(18px,2vw,22px); line-height:2; color:var(--jp-ink); position:relative; }
.jp-profile .jp-letter-sign { margin-top:28px; font-family:"Pacifico",cursive; color:var(--jp-blue-dark); font-size:20px; position:relative; }

/* ABOUT */
.jp-profile .jp-about-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:64px; align-items:center; }
@media (max-width:900px){ .jp-profile .jp-about-grid { grid-template-columns:1fr; gap:40px; } }
.jp-profile .jp-about-media {
  position:relative; border-radius:28px; overflow:hidden; aspect-ratio:4/3;
  box-shadow:0 30px 50px -25px rgba(26,80,150,.25);
  border:5px solid var(--jp-white);
}
.jp-profile .jp-about-media img { width:100%; height:100%; object-fit:cover; }
.jp-profile .jp-about-media::before { content:""; position:absolute; top:-30px; right:-30px; width:120px; height:120px; background:var(--jp-yellow); border-radius:50%; opacity:.6; z-index:-1; }
.jp-profile .jp-about-bullets { list-style:none; padding:0; margin:24px 0 0; display:grid; gap:10px; }
.jp-profile .jp-about-bullets li { position:relative; padding:12px 18px 12px 44px; background:var(--jp-blue-pale); border-radius:12px; font-size:15px; line-height:1.75; color:var(--jp-ink); }
.jp-profile .jp-about-bullets li::before { content:"\2661"; position:absolute; left:16px; top:10px; color:var(--jp-coral); font-size:18px; }

/* FACTS */
.jp-profile .jp-facts { background:linear-gradient(180deg,var(--jp-bg) 0%,var(--jp-blue-pale) 100%); }
.jp-profile .jp-facts-head { max-width:720px; margin:0 0 48px; }
.jp-profile .jp-facts-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:48px; }
@media (max-width:900px){ .jp-profile .jp-facts-grid { grid-template-columns:repeat(2,1fr); } }
.jp-profile .jp-fact { background:var(--jp-white); border-radius:20px; padding:28px 20px; text-align:center; box-shadow:0 8px 24px -12px rgba(26,80,150,.2); border:1px solid var(--jp-line); transition:transform .25s ease; }
.jp-profile .jp-fact:hover { transform:translateY(-4px); }
.jp-profile .jp-fact-emoji { font-size:32px; margin-bottom:8px; display:block; }
.jp-profile .jp-fact-num { font-weight:800; font-size:clamp(24px,3vw,32px); color:var(--jp-blue-dark); line-height:1.1; }
.jp-profile .jp-fact-num .jp-unit { font-size:.55em; color:var(--jp-coral); margin-left:2px; }
.jp-profile .jp-fact-label { font-size:12.5px; color:var(--jp-ink-soft); margin-top:10px; line-height:1.6; }
.jp-profile .jp-facts-note { background:var(--jp-white); padding:32px 36px; border-radius:20px; border-left:6px solid var(--jp-coral); font-weight:500; font-size:16px; color:var(--jp-ink); line-height:2.1; box-shadow:0 8px 24px -12px rgba(26,80,150,.15); }
.jp-profile .jp-facts-note em { background:linear-gradient(180deg,transparent 55%,var(--jp-yellow) 55%); padding:0 4px; font-style:normal; font-weight:700; color:var(--jp-ink); }

/* EMBED */
.jp-profile .jp-embed { position:relative; border-radius:20px; overflow:hidden; box-shadow:0 20px 50px -20px rgba(26,80,150,.3); background:var(--jp-ink); }
.jp-profile .jp-embed iframe { width:100%; aspect-ratio:16/9; border:0; display:block; }
.jp-profile .jp-embed-label { padding:14px 20px; background:var(--jp-white); font-weight:700; font-size:14px; color:var(--jp-ink); text-align:center; border-top:1px solid var(--jp-line); }

/* LEVELS */
.jp-profile .jp-levels-head { text-align:center; max-width:720px; margin:0 auto 56px; }
.jp-profile .jp-levels-head .jp-eyebrow { justify-content:center; }
.jp-profile .jp-levels-head .jp-eyebrow::before { display:none; }
.jp-profile .jp-levels-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width:900px){ .jp-profile .jp-levels-grid { grid-template-columns:1fr; } }
.jp-profile .jp-level { background:var(--jp-white); border-radius:24px; overflow:hidden; border:1px solid var(--jp-line); transition:all .3s ease; box-shadow:0 10px 30px -15px rgba(26,80,150,.2); display:flex; flex-direction:column; }
.jp-profile .jp-level:hover { transform:translateY(-6px); box-shadow:0 20px 40px -15px rgba(26,80,150,.3); }
.jp-profile .jp-level-img { aspect-ratio:4/3; overflow:hidden; position:relative; background:linear-gradient(135deg,var(--jp-blue-pale),var(--jp-white)); display:flex; align-items:center; justify-content:center; }
.jp-profile .jp-level-img img { max-width:75%; max-height:85%; width:auto; height:auto; object-fit:contain; transition:transform .4s ease; }
.jp-profile .jp-level:hover .jp-level-img img { transform:scale(1.05); }
.jp-profile .jp-level-body { padding:28px 28px 32px; }
.jp-profile .jp-level-chip { display:inline-block; font-weight:700; font-size:13px; padding:5px 14px; border-radius:999px; margin-bottom:12px; }
.jp-profile .jp-level--beginner .jp-level-chip { background:#fff1c4; color:#b67800; }
.jp-profile .jp-level--intermediate .jp-level-chip { background:var(--jp-coral-soft); color:#c14d2c; }
.jp-profile .jp-level--advanced .jp-level-chip { background:var(--jp-blue-light); color:var(--jp-blue-dark); }
.jp-profile .jp-level-title { font-weight:800; font-size:22px; margin:0 0 10px; color:var(--jp-ink); }
.jp-profile .jp-level-desc { font-size:14.5px; color:var(--jp-ink-soft); line-height:1.85; margin:0 0 20px; }
.jp-profile .jp-level-cta { display:inline-flex; align-items:center; gap:6px; font-weight:700; color:var(--jp-blue-dark); font-size:15px; }
.jp-profile .jp-level-cta::after { content:"\2192"; transition:transform .2s ease; }
.jp-profile .jp-level:hover .jp-level-cta::after { transform:translateX(4px); }

/* SERVICES */
.jp-profile .jp-services { background:var(--jp-white); }
.jp-profile .jp-services-head { max-width:720px; margin:0 auto 56px; text-align:center; }
.jp-profile .jp-services-head .jp-eyebrow { justify-content:center; }
.jp-profile .jp-services-head .jp-eyebrow::before { display:none; }
.jp-profile .jp-service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:28px; }
@media (max-width:900px){ .jp-profile .jp-service-grid { grid-template-columns:1fr; } }
.jp-profile .jp-service-card { background:var(--jp-white); border-radius:24px; overflow:hidden; border:1px solid var(--jp-line); transition:all .3s ease; display:flex; flex-direction:column; box-shadow:0 10px 30px -15px rgba(26,80,150,.2); }
.jp-profile .jp-service-card:hover { transform:translateY(-6px); box-shadow:0 24px 50px -20px rgba(26,80,150,.3); }
.jp-profile .jp-service-hero { position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--jp-blue-pale); }
.jp-profile .jp-service-hero img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.jp-profile .jp-service-card:hover .jp-service-hero img { transform:scale(1.04); }
.jp-profile .jp-service-hero.jp-service-hero--jlc { background:linear-gradient(135deg,#7ec3ff 0%,#a8d9ff 100%); display:flex; align-items:center; justify-content:center; padding:40px; }
.jp-profile .jp-service-hero.jp-service-hero--jlc img { width:auto; height:auto; max-width:70%; max-height:70%; object-fit:contain; filter:drop-shadow(0 10px 25px rgba(0,0,0,.15)); }
.jp-profile .jp-service-body { padding:32px 32px 36px; display:flex; flex-direction:column; flex:1; }
.jp-profile .jp-service-tag { font-family:"Pacifico",cursive; font-size:16px; color:var(--jp-coral); margin-bottom:6px; }
.jp-profile .jp-service-name { font-weight:800; font-size:26px; margin:0 0 6px; color:var(--jp-ink); line-height:1.3; }
.jp-profile .jp-service-sub { font-size:14px; color:var(--jp-blue-dark); font-weight:700; margin-bottom:20px; }
.jp-profile .jp-service-desc { font-size:15px; color:var(--jp-ink-soft); line-height:2; margin:0 0 22px; flex:1; }
.jp-profile .jp-service-points { list-style:none; padding:0; margin:0 0 24px; display:grid; gap:8px; }
.jp-profile .jp-service-points li { font-size:14px; color:var(--jp-ink); padding:10px 14px 10px 36px; background:var(--jp-blue-pale); border-radius:10px; position:relative; }
.jp-profile .jp-service-points li::before { content:"\2713"; position:absolute; left:14px; color:var(--jp-blue-dark); font-weight:800; }

/* GYM - single column now */
.jp-profile .jp-gym { background:linear-gradient(180deg,var(--jp-blue-pale) 0%,var(--jp-bg) 100%); }
.jp-profile .jp-gym-inner { max-width:860px; margin:0 auto; padding:0 24px; }
.jp-profile .jp-gym-grid { display:block; }
.jp-profile .jp-gym-illust { display:none; }
.jp-profile .jp-gym-lede { font-weight:600; font-size:17px; line-height:2.1; color:var(--jp-ink); margin-bottom:32px; }
.jp-profile .jp-worries { display:grid; grid-template-columns:1fr; gap:10px; margin:0 0 32px; }
.jp-profile .jp-worry { background:var(--jp-white); border-radius:14px; padding:14px 24px; font-size:14.5px; color:var(--jp-ink-soft); display:flex; align-items:center; gap:12px; border:none; box-shadow:0 4px 12px -6px rgba(26,80,150,.1); }
.jp-profile .jp-worry::before { content:"\1F4AD"; flex-shrink:0; font-size:18px; font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif; }
.jp-profile .jp-reliefs { background:linear-gradient(135deg,var(--jp-blue-dark),var(--jp-blue)); color:var(--jp-white); border-radius:24px; padding:44px 40px; box-shadow:0 20px 50px -20px rgba(26,80,150,.4); position:relative; overflow:hidden; }
.jp-profile .jp-reliefs::before { content:""; position:absolute; top:-60px; right:-60px; width:200px; height:200px; background:rgba(255,255,255,.15); border-radius:50%; }
.jp-profile .jp-reliefs-title { font-weight:800; font-size:22px; margin:0 0 20px; color:var(--jp-white); position:relative; }
.jp-profile .jp-reliefs-title .jp-accent-yellow { color:var(--jp-yellow); }
.jp-profile .jp-reliefs-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:10px 24px; position:relative; }
@media (max-width:720px){ .jp-profile .jp-reliefs-list { grid-template-columns:1fr; } }
.jp-profile .jp-reliefs-list li { padding-left:30px; position:relative; font-size:15px; line-height:1.9; color:var(--jp-white); }
.jp-profile .jp-reliefs-list li::before { content:"\25CE"; color:var(--jp-yellow); position:absolute; left:0; font-size:20px; font-weight:800; }

/* TEAM */
.jp-profile .jp-team { background:var(--jp-white); }
.jp-profile .jp-team-head { text-align:center; max-width:720px; margin:0 auto 40px; }
.jp-profile .jp-team-head .jp-eyebrow { justify-content:center; }
.jp-profile .jp-team-head .jp-eyebrow::before { display:none; }
.jp-profile .jp-team-lead { font-size:16px; color:var(--jp-ink-soft); line-height:2; max-width:620px; margin:0 auto 48px; text-align:center; }

/* Hari feature card */
.jp-profile .jp-hari-card { display:grid; grid-template-columns:.7fr 1fr; gap:40px; align-items:center; background:var(--jp-white); border-radius:24px; padding:40px; margin-bottom:48px; border:1px solid var(--jp-line); box-shadow:0 14px 30px -15px rgba(26,80,150,.2); }
@media (max-width:720px){ .jp-profile .jp-hari-card { grid-template-columns:1fr; padding:28px; } }
.jp-profile .jp-hari-photo { border-radius:18px; overflow:hidden; aspect-ratio:16/10; }
.jp-profile .jp-hari-photo img { width:100%; height:100%; object-fit:cover; }
.jp-profile .jp-hari-name { font-weight:800; font-size:26px; margin:0 0 4px; }
.jp-profile .jp-hari-role { font-family:"Pacifico",cursive; color:var(--jp-coral); font-size:15px; margin-bottom:14px; }
.jp-profile .jp-hari-bio { font-size:14.5px; line-height:1.95; color:var(--jp-ink-soft); margin:0 0 16px; }
.jp-profile .jp-hari-tags { display:flex; flex-wrap:wrap; gap:6px; }
.jp-profile .jp-hari-tag { font-size:12px; background:var(--jp-blue-pale); color:var(--jp-blue-dark); padding:5px 10px; border-radius:999px; font-weight:600; }

/* Teachers grid - zoom in more */
.jp-profile .jp-teachers-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; margin-bottom:56px; }
@media (max-width:900px){ .jp-profile .jp-teachers-grid { grid-template-columns:repeat(4,1fr); } }
@media (max-width:520px){ .jp-profile .jp-teachers-grid { grid-template-columns:repeat(3,1fr); } }
.jp-profile .jp-teacher { background:var(--jp-white); border-radius:18px; overflow:hidden; border:1px solid var(--jp-line); text-align:center; transition:all .25s ease; }
.jp-profile .jp-teacher:hover { transform:translateY(-4px); box-shadow:0 20px 30px -15px rgba(26,80,150,.25); }
.jp-profile .jp-teacher-img { aspect-ratio:1/1; overflow:hidden; background:var(--jp-blue-pale); position:relative; }
.jp-profile .jp-teacher-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 28%; transform:scale(1.25); transform-origin:center 30%; }
.jp-profile .jp-teacher-name { padding:10px 6px; font-size:13px; font-weight:700; color:var(--jp-ink); }
.jp-profile .jp-team-banner { background:var(--jp-blue-pale); border-radius:20px; padding:28px 32px; text-align:center; font-size:15px; color:var(--jp-ink); line-height:1.9; border:2px dashed var(--jp-blue); }
.jp-profile .jp-team-banner strong { color:var(--jp-blue-dark); font-weight:800; }

/* TAIKI */
.jp-profile .jp-taiki { background:var(--jp-bg); }
.jp-profile .jp-taiki-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; align-items:start; }
@media (max-width:900px){ .jp-profile .jp-taiki-grid { grid-template-columns:1fr; gap:32px; } }
.jp-profile .jp-taiki-photo { border-radius:24px; overflow:hidden; box-shadow:0 20px 50px -25px rgba(26,80,150,.35); border:5px solid var(--jp-white); aspect-ratio:4/5; position:relative; }
.jp-profile .jp-taiki-photo img { width:100%; height:100%; object-fit:cover; }
.jp-profile .jp-taiki-photo::after { content:"TAIKI"; position:absolute; bottom:16px; left:16px; background:var(--jp-yellow); padding:6px 16px; border-radius:999px; font-weight:800; font-size:13px; color:var(--jp-ink); letter-spacing:.1em; }
.jp-profile .jp-taiki-title { font-weight:800; font-size:clamp(24px,3vw,32px); line-height:1.55; margin:0 0 20px; }
.jp-profile .jp-taiki-body { font-size:16px; color:var(--jp-ink-soft); line-height:2.2; }
.jp-profile .jp-taiki-body p { margin:0 0 1.4em; }
.jp-profile .jp-taiki-body strong { color:var(--jp-ink); font-weight:700; background:linear-gradient(180deg,transparent 55%,var(--jp-coral-soft) 55%); padding:0 3px; }
.jp-profile .jp-ach-badges { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:24px; }
@media (max-width:720px){ .jp-profile .jp-ach-badges { grid-template-columns:1fr; } }
.jp-profile .jp-ach { background:var(--jp-white); border-left:4px solid var(--jp-yellow); padding:12px 18px; border-radius:6px 14px 14px 6px; font-size:13.5px; color:var(--jp-ink); line-height:1.6; }
.jp-profile .jp-ach strong { color:var(--jp-coral); font-weight:800; }

/* TESTIMONIALS */
.jp-profile .jp-testimonials { background:linear-gradient(180deg,var(--jp-bg) 0%,var(--jp-blue-pale) 100%); }
.jp-profile .jp-tweets-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:900px){ .jp-profile .jp-tweets-grid { grid-template-columns:1fr; } }
.jp-profile .jp-tweet { background:var(--jp-white); border-radius:20px; padding:28px 24px 24px; border:1px solid var(--jp-line); box-shadow:0 10px 30px -15px rgba(26,80,150,.2); position:relative; }
.jp-profile .jp-tweet::before { content:"\201C"; position:absolute; top:-10px; left:20px; font-size:80px; line-height:1; color:var(--jp-blue-light); font-family:Georgia,serif; }
.jp-profile .jp-tweet-head { display:flex; align-items:center; gap:12px; margin-bottom:14px; position:relative; }
.jp-profile .jp-tweet-avatar { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--jp-blue),var(--jp-coral)); color:var(--jp-white); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:18px; flex-shrink:0; }
.jp-profile .jp-tweet-meta { line-height:1.3; flex:1; }
.jp-profile .jp-tweet-meta .jp-tweet-author { font-size:13px; color:var(--jp-ink); font-weight:700; display:block; }
.jp-profile .jp-tweet-meta .jp-tweet-date { font-size:12px; color:var(--jp-ink-muted); display:block; font-weight:400; }
.jp-profile .jp-tweet-x { color:var(--jp-ink); font-size:18px; font-weight:800; }
.jp-profile .jp-tweet-body { font-size:14.5px; color:var(--jp-ink); line-height:1.95; margin:0; position:relative; }

/* EVENTS & MEDIA */
.jp-profile .jp-events { background:var(--jp-white); }
.jp-profile .jp-events-head { text-align:center; max-width:720px; margin:0 auto 48px; }
.jp-profile .jp-events-head .jp-eyebrow { justify-content:center; }
.jp-profile .jp-events-head .jp-eyebrow::before { display:none; }
.jp-profile .jp-events-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
@media (max-width:900px){ .jp-profile .jp-events-grid { grid-template-columns:1fr; } }
.jp-profile .jp-media { background:linear-gradient(180deg,var(--jp-bg) 0%,#dfe5ef 100%); }
.jp-profile .jp-media-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; margin-top:32px; }
@media (max-width:900px){ .jp-profile .jp-media-grid { grid-template-columns:1fr; gap:32px; } }
.jp-profile .jp-media-photo { aspect-ratio:4/3; border-radius:24px; overflow:hidden; border:5px solid var(--jp-white); box-shadow:0 20px 40px -20px rgba(26,80,150,.3); }
.jp-profile .jp-media-photo img { width:100%; height:100%; object-fit:cover; }
.jp-profile .jp-media-list { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.jp-profile .jp-media-list li { background:var(--jp-white); border-radius:14px; padding:16px 20px; font-size:14.5px; color:var(--jp-ink-soft); border-left:4px solid var(--jp-blue); }
.jp-profile .jp-media-list li a { color:var(--jp-blue-dark); text-decoration:underline; word-break:break-all; }
.jp-profile .jp-media-list li strong { color:var(--jp-ink); font-weight:700; display:block; margin-bottom:4px; }

/* CTA - smoother bottom */
.jp-profile .jp-cta { position:relative; background:linear-gradient(135deg,var(--jp-blue) 0%,var(--jp-blue-dark) 100%); color:var(--jp-white); overflow:hidden; padding-top:120px; padding-bottom:160px; }
.jp-profile .jp-cta::before, .jp-profile .jp-cta::after { content:""; position:absolute; border-radius:50%; background:rgba(255,255,255,.1); }
.jp-profile .jp-cta::before { top:-60px; left:-60px; width:240px; height:240px; }
.jp-profile .jp-cta::after { bottom:-80px; right:-80px; width:320px; height:320px; }
.jp-profile .jp-cta-inner { position:relative; text-align:center; max-width:720px; margin:0 auto; }
.jp-profile .jp-cta-inner .jp-eyebrow { justify-content:center; color:var(--jp-yellow); }
.jp-profile .jp-cta-inner .jp-eyebrow::before { background:var(--jp-yellow); }
.jp-profile .jp-cta-title { font-weight:800; font-size:clamp(26px,4vw,40px); line-height:1.55; margin:0 0 16px; color:var(--jp-white); }
.jp-profile .jp-cta-sub { font-size:16px; color:rgba(255,255,255,.9); margin:0 0 32px; line-height:2; }
.jp-profile .jp-cta .jp-btn-primary { background:var(--jp-yellow); color:var(--jp-ink); box-shadow:0 6px 0 #d6af3f, 0 10px 25px -5px rgba(0,0,0,.2); }
.jp-profile .jp-cta .jp-btn-primary:hover { transform:translateY(2px); box-shadow:0 4px 0 #d6af3f, 0 6px 15px -5px rgba(0,0,0,.2); }
.jp-profile .jp-cta .jp-btn-ghost { background:var(--jp-white); color:var(--jp-blue-dark); box-shadow:0 6px 0 rgba(0,0,0,.15), 0 10px 25px -5px rgba(0,0,0,.2); }

/* Animation */
@keyframes jpFadeUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
.jp-profile .jp-reveal { animation:jpFadeUp .8s cubic-bezier(.2,.7,.2,1) both; }
.jp-profile .jp-reveal.d1 { animation-delay:.08s; }
.jp-profile .jp-reveal.d2 { animation-delay:.16s; }
.jp-profile .jp-reveal.d3 { animation-delay:.24s; }
@media (prefers-reduced-motion:reduce){ .jp-profile .jp-reveal { animation:none; } }

/* Hide auto-generated TOC on profile page */
.page-id-30 .toc, .page-id-30 .toc-list, .page-id-30 .lwptoc,
.page-id-30 .ez-toc-container, .page-id-30 #toc_container, .page-id-30 .sng-toc { display:none !important; }


/* === Round 2 fixes (v3 - page-level layout) === */
/* Expand profile page container to full width, hide sidebar */
body.page-id-30 .l-main,
body.page-id-30 main.m-all,
body.page-id-30 .wrap.cf,
body.page-id-30 .page-forfront,
body.page-id-30 #main_col,
body.page-id-30 .entry-content { max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
body.page-id-30 .p-sub,
body.page-id-30 .l-aside,
body.page-id-30 aside.sidebar,
body.page-id-30 #side,
body.page-id-30 .side_col { display: none !important; }
body.page-id-30 .entry-content > * { box-sizing: border-box; }
body.page-id-30 .post-header,
body.page-id-30 .post-title,
body.page-id-30 .entry-title { display: none !important; }
body.page-id-30 .breadcrumb { display: none !important; }
body.page-id-30 article.post { padding: 0 !important; margin: 0 !important; border: none !important; background: transparent !important; box-shadow: none !important; }
/* Hero - bigger image, less internal padding */
.jp-profile .jp-hero { padding: 80px 0 130px; }
.jp-profile .jp-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}
.jp-profile .jp-hero-visual { aspect-ratio: 1.4/1; max-width: none; }
.jp-profile .jp-hero-visual img { object-fit: cover; }
@media (min-width: 901px){
  .jp-profile .jp-hero-visual { transform: scale(1.05); transform-origin: center; }
}

/* Facts / Gym inner wrappers need padding to compensate for 100vw */
.jp-profile .jp-facts > .jp-wrap,
.jp-profile .jp-gym > .jp-gym-inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
}

/* About - second image stack on PC */
.jp-profile .jp-about-stack { display: grid; gap: 20px; }
.jp-profile .jp-about-media--sub { aspect-ratio: 16/9; border-radius: 20px; overflow: hidden; border: 4px solid var(--jp-white); box-shadow: 0 14px 30px -15px rgba(26,80,150,.2); }
.jp-profile .jp-about-media--sub img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 900px){
  .jp-profile .jp-about-media--sub { display: none; }
}

/* Remove background "frame" on about bullets */
.jp-profile .jp-about-bullets li {
  background: transparent !important;
  padding: 6px 0 6px 28px;
  font-size: 15.5px;
  border-bottom: none;
}
.jp-profile .jp-about-bullets li::before {
  left: 0;
  top: 7px;
  font-size: 16px;
}

/* Reliefs box - ensure no inner border */
.jp-profile .jp-reliefs,
.jp-profile .jp-reliefs * {
  border: none !important;
}
.jp-profile .jp-reliefs { box-shadow: 0 20px 50px -20px rgba(26,80,150,.4); }

/* Letter section - Taiki photo */
.jp-profile .jp-letter-card { display: grid; grid-template-columns: 180px 1fr; gap: 36px; align-items: center; text-align: left; padding: 48px 48px; }
@media (max-width: 720px){
  .jp-profile .jp-letter-card { grid-template-columns: 1fr; text-align: center; padding: 36px 28px; }
}
.jp-profile .jp-letter-taiki-photo {
  width: 180px; height: 180px;
  border-radius: 50%;
  overflow: hidden;
  border: 5px solid var(--jp-white);
  box-shadow: 0 10px 25px -10px rgba(26,80,150,.35);
  position: relative; z-index: 1;
}
@media (max-width: 720px){
  .jp-profile .jp-letter-taiki-photo { margin: 0 auto; }
}
.jp-profile .jp-letter-taiki-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }

/* Media grid solo (no left photo) */
.jp-profile .jp-media-grid--solo { grid-template-columns: 1fr !important; max-width: 760px; margin-left: auto; margin-right: auto; }

/* Teacher photos - more zoom on specific ones */
.jp-profile .jp-teacher:nth-child(2) .jp-teacher-img img,
.jp-profile .jp-teacher:nth-child(3) .jp-teacher-img img,
.jp-profile .jp-teacher:nth-child(4) .jp-teacher-img img,
.jp-profile .jp-teacher:nth-child(7) .jp-teacher-img img,
.jp-profile .jp-teacher:nth-child(9) .jp-teacher-img img {
  transform: scale(1.55);
  object-position: center 25%;
}

/* Hari card - replace photo styling for square 1280x1280 */
.jp-profile .jp-hari-photo { aspect-ratio: 1/1; }
@media (min-width: 721px){
  .jp-profile .jp-hari-card { grid-template-columns: 280px 1fr; gap: 36px; }
  .jp-profile .jp-hari-photo { width: 280px; height: 280px; }
}
.jp-profile .jp-hari-photo img { object-position: center; }


/* === Round 2 fixes (v4) === */
/* Remove SANGO default ul border */
.jp-profile .jp-about-bullets,
.jp-profile .jp-about-bullets ul,
.jp-profile ul.jp-about-bullets {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 24px 0 0 !important;
  box-shadow: none !important;
}
.jp-profile .jp-about-bullets li {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
/* Make hero image larger and more prominent on PC */
@media (min-width: 901px){
  .jp-profile .jp-hero-inner { grid-template-columns: 1.1fr 1fr; }
  .jp-profile .jp-hero-visual { aspect-ratio: 1.4/1; max-width: 620px; }
}


/* === Round 2 fixes (v5) === */
/* About: single column, centered */
.jp-profile .jp-about-single { max-width: 820px; margin: 0 auto; text-align: left; }
.jp-profile .jp-heading--center { text-align: center; }
.jp-profile .jp-lead--center { text-align: center; margin-left: auto; margin-right: auto; max-width: 720px; }
.jp-profile .jp-about-hero-img { margin: 32px auto; max-width: 820px; border-radius: 24px; overflow: hidden; box-shadow: 0 24px 50px -20px rgba(26,80,150,.25); border: 4px solid var(--jp-white); }
.jp-profile .jp-about-hero-img img { width: 100%; height: auto; display: block; }
.jp-profile .jp-about-single .jp-about-bullets { max-width: 720px; margin: 32px auto 0; }
.jp-profile .jp-about-single .jp-about-bullets li { text-align: left; }

/* Taiki letter: single column on PC (revert from 2-col grid) */
.jp-profile .jp-letter-card { display: block !important; text-align: center; padding: 56px 48px !important; }
.jp-profile .jp-letter-taiki-photo { margin: 0 auto 24px !important; width: 160px !important; height: 160px !important; }
.jp-profile .jp-letter-content { text-align: center; }

/* YouTube embed: constrain max-width on PC */
.jp-profile .jp-facts .jp-embed { max-width: 880px; margin-left: auto; margin-right: auto; }

/* Service points: aggressive override of grey border */
.jp-profile .jp-service-points,
.jp-profile ul.jp-service-points {
  border: none !important;
  padding-left: 0 !important;
  list-style: none !important;
}
.jp-profile .jp-service-points li,
.jp-profile ul.jp-service-points li {
  border: none !important;
  box-shadow: none !important;
}

/* JLC image - match YUK style */
.jp-profile .jp-service-hero img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  max-width: none !important;
  max-height: none !important;
  filter: none !important;
}

/* Hari card - smaller on mobile */
@media (max-width: 720px){
  .jp-profile .jp-hari-card { grid-template-columns: 1fr !important; padding: 20px !important; gap: 20px !important; }
  .jp-profile .jp-hari-photo { width: 100% !important; max-width: 260px !important; height: auto !important; aspect-ratio: 1/1; margin: 0 auto; }
  .jp-profile .jp-hari-name { font-size: 22px !important; }
  .jp-profile .jp-hari-bio { font-size: 13.5px !important; }
}


/* === Round 2 fixes (v6) - remove service points bg === */
.jp-profile .jp-service-points li,
.jp-profile ul.jp-service-points li {
  background: transparent !important;
  padding: 8px 0 8px 28px !important;
  border-radius: 0 !important;
}
.jp-profile .jp-service-points li::before,
.jp-profile ul.jp-service-points li::before {
  left: 0 !important;
}


/* === Round 2 fixes (v7) - services 3 columns + logos === */
.jp-profile .jp-service-grid {
  grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 1000px){
  .jp-profile .jp-service-grid { grid-template-columns: 1fr !important; }
}
.jp-profile .jp-service-card { padding-top: 24px; }
.jp-profile .jp-service-logo {
  padding: 0 32px 16px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.jp-profile .jp-service-logo img {
  max-height: 40px;
  width: auto;
  object-fit: contain;
  display: block;
}
/* Smaller service name to fit 3 columns */
.jp-profile .jp-service-name { font-size: 22px !important; }
.jp-profile .jp-service-body { padding: 24px 28px 32px !important; }


/* === Round 2 fixes (v8) === */
/* Logos overlay on service hero image */
.jp-profile .jp-service-card { padding-top: 0 !important; position: relative; }
.jp-profile .jp-service-hero { position: relative; }
.jp-profile .jp-service-logo {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
  background: rgba(255,255,255,.96);
  padding: 8px 14px;
  border-radius: 12px;
  height: auto;
  box-shadow: 0 6px 18px -6px rgba(0,0,0,.25);
}
.jp-profile .jp-service-logo img {
  max-height: 32px !important;
  width: auto;
  display: block;
}
.jp-profile .jp-service-body { padding: 28px 28px 32px !important; }

/* Mobile: smaller Taiki message photo */
@media (max-width: 720px){
  .jp-profile .jp-taiki-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  .jp-profile .jp-taiki-photo {
    max-width: 220px !important;
    margin: 0 auto !important;
    aspect-ratio: 1/1 !important;
  }
  .jp-profile .jp-taiki-photo img { object-position: center 20% !important; }
}

/* Meetup links under events */
.jp-profile .jp-events-more {
  max-width: 760px;
  margin: 32px auto 0;
  display: grid;
  gap: 12px;
}
.jp-profile .jp-events-link {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 24px;
  background: var(--jp-white);
  border: 2px solid var(--jp-blue-light);
  border-radius: 16px;
  color: var(--jp-ink);
  font-size: 15px;
  text-decoration: none;
  transition: all .25s ease;
  box-shadow: 0 6px 20px -12px rgba(26,80,150,.2);
}
.jp-profile .jp-events-link:hover {
  transform: translateY(-2px);
  border-color: var(--jp-blue);
  box-shadow: 0 12px 24px -12px rgba(26,80,150,.3);
}
.jp-profile .jp-events-link-icon {
  font-size: 22px;
  flex-shrink: 0;
}
.jp-profile .jp-events-link-text {
  flex: 1;
  line-height: 1.6;
}
.jp-profile .jp-events-link-text strong {
  color: var(--jp-blue-dark);
  font-weight: 800;
}
.jp-profile .jp-events-link-arrow {
  color: var(--jp-blue);
  font-size: 20px;
  font-weight: 800;
  transition: transform .2s ease;
}
.jp-profile .jp-events-link:hover .jp-events-link-arrow {
  transform: translateX(4px);
}


/* === Round 2 fixes (v9) === */
/* Service card notice badge (7日間無料 / 無料体験) */
.jp-profile .jp-service-notice {
  background: linear-gradient(90deg, var(--jp-yellow), #ffb84a);
  color: var(--jp-ink);
  font-weight: 800;
  font-size: 14px;
  text-align: center;
  padding: 10px 12px;
  border-radius: 10px;
  margin-bottom: 14px;
  letter-spacing: .02em;
}
.jp-profile .jp-service-notice strong {
  color: var(--jp-coral);
  font-weight: 800;
}

/* Reliefs CTA button */
.jp-profile .jp-reliefs-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 28px;
  padding: 14px 32px;
  background: var(--jp-yellow);
  color: var(--jp-ink) !important;
  border-radius: 999px;
  font-weight: 800;
  font-size: 15px;
  letter-spacing: .02em;
  text-decoration: none;
  box-shadow: 0 6px 0 #d6af3f, 0 12px 25px -8px rgba(0,0,0,.25);
  transition: transform .2s ease, box-shadow .2s ease;
  position: relative;
  z-index: 2;
}
.jp-profile .jp-reliefs-cta:hover {
  transform: translateY(2px);
  box-shadow: 0 4px 0 #d6af3f, 0 8px 18px -8px rgba(0,0,0,.25);
}
.jp-profile .jp-reliefs-cta .jp-arrow { transition: transform .2s ease; }
.jp-profile .jp-reliefs-cta:hover .jp-arrow { transform: translateX(4px); }


/* === Round 2 fixes (v10) === */
/* Bimo teacher - show face (right side) */
.jp-profile .jp-teacher--bimo .jp-teacher-img img {
  object-position: 75% 30% !important;
  transform: scale(1.35) !important;
  transform-origin: 75% 30% !important;
}

/* CTA section illustration */
.jp-profile .jp-cta-illust {
  margin: 0 auto 32px;
  max-width: 360px;
}
.jp-profile .jp-cta-illust img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 12px 30px rgba(0,0,0,.2));
}

/* Override v9 notice - make it subtle (not button-like) */
.jp-profile .jp-service-notice {
  background: transparent !important;
  color: var(--jp-coral) !important;
  font-weight: 800 !important;
  font-size: 13.5px !important;
  text-align: center !important;
  padding: 0 0 6px !important;
  border-radius: 0 !important;
  margin-bottom: 8px !important;
  letter-spacing: .04em !important;
  border: none !important;
  box-shadow: none !important;
  position: relative;
}
.jp-profile .jp-service-notice strong {
  color: var(--jp-coral) !important;
  background: linear-gradient(180deg, transparent 60%, var(--jp-yellow) 60%) !important;
  padding: 0 4px !important;
  font-weight: 800 !important;
}


/* === Event page 26467 full-width layout === */
body.postid-26467 .l-main,
body.postid-26467 main.m-all,
body.postid-26467 .wrap.cf,
body.postid-26467 #main_col,
body.postid-26467 article.post,
body.postid-26467 article.post .entry-content { max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: none !important; }
body.postid-26467 .p-sub,
body.postid-26467 .l-aside,
body.postid-26467 aside.sidebar,
body.postid-26467 #side,
body.postid-26467 .side_col { display: none !important; }
body.postid-26467 .post-header,
body.postid-26467 .post-title,
body.postid-26467 .entry-title,
body.postid-26467 .single-post-meta,
body.postid-26467 .breadcrumb,
body.postid-26467 .post-date,
body.postid-26467 .time-box,
body.postid-26467 .sng-post-time,
body.postid-26467 #author-box,
body.postid-26467 .author-box,
body.postid-26467 .sns-group,
body.postid-26467 .sns-top,
body.postid-26467 .sns-bottom,
body.postid-26467 .kanren,
body.postid-26467 .sng-pickup,
body.postid-26467 .toc,
body.postid-26467 .lwptoc,
body.postid-26467 .ez-toc-container,
body.postid-26467 #toc_container { display: none !important; }

/* === .jp-event styles === */
.jp-event { background: var(--jp-bg); }

/* HERO */
.jp-event .jp-event-hero {
  background: linear-gradient(180deg, #b8dcff 0%, #6bb6ff 80%);
  padding: 100px 0 120px;
  color: var(--jp-white);
  position: relative;
  overflow: hidden;
  text-align: center;
}
.jp-event .jp-event-hero::before, .jp-event .jp-event-hero::after {
  content: ""; position: absolute; background: rgba(255,255,255,.8);
  border-radius: 50%;
}
.jp-event .jp-event-hero::before { top: 40px; left: 8%; width: 140px; height: 140px; opacity: .45; }
.jp-event .jp-event-hero::after { bottom: 60px; right: 10%; width: 180px; height: 180px; opacity: .35; }
.jp-event .jp-event-hero-inner { max-width: 960px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 2; }
.jp-event .jp-event-hero .jp-eyebrow {
  color: var(--jp-yellow) !important;
  justify-content: center;
  display: inline-flex;
}
.jp-event .jp-event-hero .jp-eyebrow::before { background: var(--jp-yellow) !important; }
.jp-event .jp-event-title {
  font-weight: 800;
  font-size: clamp(38px, 6vw, 64px);
  line-height: 1.3;
  margin: 0 0 24px;
  color: var(--jp-white);
  text-shadow: 0 3px 0 rgba(26,80,150,.2);
}
.jp-event .jp-event-sub {
  font-size: 18px;
  line-height: 2;
  color: var(--jp-white);
  max-width: 680px;
  margin: 0 auto 40px;
  opacity: .96;
}
.jp-event .jp-event-datecard {
  display: inline-block;
  background: var(--jp-white);
  border-radius: 24px;
  padding: 28px 48px;
  box-shadow: 0 30px 60px -20px rgba(26,80,150,.35);
  color: var(--jp-ink);
  min-width: 320px;
}
.jp-event .jp-event-datecard-label {
  font-family: "Pacifico", cursive;
  color: var(--jp-coral);
  font-size: 15px;
  margin-bottom: 6px;
}
.jp-event .jp-event-datecard-date {
  font-weight: 900;
  font-size: clamp(24px, 3.2vw, 32px);
  color: var(--jp-ink);
  margin-bottom: 12px;
  line-height: 1.3;
}
.jp-event .jp-event-datecard-time {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 15px;
  color: var(--jp-ink-soft);
}
.jp-event .jp-event-datecard-time strong { color: var(--jp-blue-dark); font-weight: 800; font-size: 18px; }

/* FEATURES */
.jp-event .jp-event-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}
@media (max-width: 900px){ .jp-event .jp-event-feature-grid { grid-template-columns: 1fr; } }
.jp-event .jp-event-feature {
  background: var(--jp-white);
  border-radius: 24px;
  padding: 40px 32px;
  text-align: center;
  border: 1px solid var(--jp-line);
  box-shadow: 0 14px 30px -15px rgba(26,80,150,.2);
  transition: transform .25s ease, box-shadow .25s ease;
}
.jp-event .jp-event-feature:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -15px rgba(26,80,150,.3); }
.jp-event .jp-event-feature-icon {
  font-size: 40px;
  margin-bottom: 16px;
  width: 80px; height: 80px;
  background: var(--jp-blue-pale);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px;
}
.jp-event .jp-event-feature h3 { font-size: 20px; font-weight: 800; margin: 0 0 12px; color: var(--jp-ink); }
.jp-event .jp-event-feature p { font-size: 14.5px; color: var(--jp-ink-soft); line-height: 1.9; margin: 0; }

/* TOPICS */
.jp-event .jp-event-topics { background: var(--jp-white); }
.jp-event .jp-event-topic-list { list-style: none; padding: 0; margin: 48px 0 0; display: grid; gap: 16px; }
.jp-event .jp-event-topic-list li {
  background: var(--jp-blue-pale);
  border-radius: 18px;
  padding: 20px 28px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  transition: transform .2s ease;
}
.jp-event .jp-event-topic-list li:hover { transform: translateX(4px); }
.jp-event .jp-event-topic-num {
  flex-shrink: 0;
  font-family: "Pacifico", cursive;
  font-size: 26px;
  color: var(--jp-blue-dark);
  line-height: 1;
  min-width: 48px;
}
.jp-event .jp-event-topic-body { flex: 1; }
.jp-event .jp-event-topic-body .ja { font-weight: 700; color: var(--jp-ink); font-size: 15.5px; margin-bottom: 4px; line-height: 1.7; }
.jp-event .jp-event-topic-body .id { font-size: 13.5px; color: var(--jp-blue-dark); font-style: italic; line-height: 1.6; }

/* APPLY CARD */
.jp-event .jp-event-apply { background: var(--jp-bg); }
.jp-event .jp-event-apply-card {
  background: linear-gradient(135deg, var(--jp-coral), #ff6a4a);
  color: var(--jp-white);
  border-radius: 28px;
  padding: 56px 40px;
  text-align: center;
  box-shadow: 0 30px 60px -20px rgba(255,106,74,.4);
  position: relative;
  overflow: hidden;
  max-width: 900px;
  margin: 0 auto;
}
.jp-event .jp-event-apply-card::before {
  content: ""; position: absolute; top: -60px; right: -60px;
  width: 220px; height: 220px; background: rgba(255,255,255,.1); border-radius: 50%;
}
.jp-event .jp-event-apply-head { position: relative; }
.jp-event .jp-event-apply-title { font-weight: 800; font-size: clamp(24px, 3.2vw, 32px); margin: 0 0 14px; color: var(--jp-white); }
.jp-event .jp-event-apply-sub { font-size: 15px; opacity: .95; line-height: 1.9; margin: 0 0 32px; color: var(--jp-white); }
.jp-event .jp-event-apply-btns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  max-width: 720px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 720px){ .jp-event .jp-event-apply-btns { grid-template-columns: 1fr; } }
.jp-event .jp-event-apply-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 24px;
  background: var(--jp-white);
  color: var(--jp-ink) !important;
  border-radius: 999px;
  font-weight: 800;
  font-size: 15px;
  text-decoration: none;
  box-shadow: 0 8px 20px -8px rgba(0,0,0,.3);
  transition: all .2s ease;
}
.jp-event .jp-event-apply-btn:hover { transform: translateY(-3px); box-shadow: 0 14px 26px -8px rgba(0,0,0,.35); }
.jp-event .jp-event-apply-btn .flag { font-size: 22px; flex-shrink: 0; }
.jp-event .jp-event-apply-btn .text { flex: 1; text-align: left; font-size: 14px; }
.jp-event .jp-event-apply-btn .arrow { color: var(--jp-coral); font-weight: 800; }
.jp-event .jp-event-apply-btn--id { background: var(--jp-yellow); }

/* ZOOM NAMING */
.jp-event .jp-event-zoom { background: var(--jp-white); }
.jp-event .jp-event-zoom-rules { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 720px; margin: 0 auto; }
@media (max-width: 720px){ .jp-event .jp-event-zoom-rules { grid-template-columns: 1fr; } }
.jp-event .jp-event-zoom-rule {
  background: var(--jp-blue-pale);
  border-radius: 18px;
  padding: 28px;
  text-align: center;
}
.jp-event .jp-event-zoom-code {
  font-family: "Menlo", "Courier New", monospace;
  font-weight: 800;
  font-size: 22px;
  background: var(--jp-ink);
  color: var(--jp-yellow);
  padding: 10px 20px;
  border-radius: 10px;
  display: inline-block;
  margin-bottom: 14px;
  letter-spacing: .05em;
}
.jp-event .jp-event-zoom-desc { font-size: 14px; color: var(--jp-ink-soft); line-height: 1.8; }
.jp-event .jp-event-zoom-desc strong { color: var(--jp-ink); font-weight: 800; }
.jp-event .jp-event-zoom-desc code { background: var(--jp-white); padding: 2px 8px; border-radius: 6px; color: var(--jp-coral); font-weight: 800; }

/* STEPS */
.jp-event .jp-event-steps { background: var(--jp-bg); }
.jp-event .jp-event-step-list { list-style: none; padding: 0; margin: 48px 0 0; display: grid; gap: 16px; position: relative; }
.jp-event .jp-event-step-list::before {
  content: ""; position: absolute;
  left: 36px; top: 40px; bottom: 40px;
  width: 2px; background: var(--jp-blue-light);
  z-index: 0;
}
.jp-event .jp-event-step-list li {
  background: var(--jp-white);
  border-radius: 18px;
  padding: 24px 28px;
  display: flex; gap: 20px;
  align-items: flex-start;
  border: 1px solid var(--jp-line);
  box-shadow: 0 10px 24px -15px rgba(26,80,150,.18);
  position: relative;
  z-index: 1;
}
.jp-event .jp-event-step-num {
  flex-shrink: 0;
  width: 72px; height: 72px;
  background: linear-gradient(135deg, var(--jp-blue), var(--jp-blue-dark));
  color: var(--jp-white);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-direction: column;
  font-family: "Playfair Display", serif;
  font-weight: 800;
  font-size: 10px;
  letter-spacing: .1em;
  line-height: 1;
  box-shadow: 0 8px 20px -6px rgba(74,157,232,.5);
}
.jp-event .jp-event-step-num span { font-size: 22px; margin-top: 2px; letter-spacing: 0; }
.jp-event .jp-event-step-body h3 { font-size: 18px; font-weight: 800; margin: 6px 0 6px; color: var(--jp-ink); }
.jp-event .jp-event-step-body p { font-size: 14.5px; color: var(--jp-ink-soft); line-height: 1.85; margin: 0; }
.jp-event .jp-event-duration {
  text-align: center;
  margin: 32px auto 0;
  padding: 14px 24px;
  background: var(--jp-yellow);
  color: var(--jp-ink);
  font-weight: 800;
  font-size: 15px;
  border-radius: 999px;
  display: inline-block;
  max-width: 100%;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.jp-event .jp-event-steps .jp-wrap-narrow { text-align: center; }
.jp-event .jp-event-steps .jp-wrap-narrow .jp-event-step-list { text-align: left; }
.jp-event .jp-event-zoom-dl {
  margin-top: 40px;
  padding: 24px 28px;
  background: var(--jp-white);
  border-radius: 14px;
  border: 2px dashed var(--jp-blue);
  text-align: center;
}
.jp-event .jp-event-zoom-dl p { font-size: 13.5px; color: var(--jp-ink-soft); margin: 0 0 12px; line-height: 1.7; }
.jp-event .jp-event-zoom-dl-link {
  display: inline-block;
  color: var(--jp-blue-dark) !important;
  font-weight: 800;
  font-size: 14.5px;
  text-decoration: underline;
}

/* PAST EVENTS */
.jp-event .jp-event-past { background: var(--jp-white); }
.jp-event .jp-event-past-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin-top: 40px;
}
@media (max-width: 1100px){ .jp-event .jp-event-past-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px){ .jp-event .jp-event-past-grid { grid-template-columns: 1fr; } }
.jp-event .jp-event-past-card {
  display: block;
  background: var(--jp-white);
  border-radius: 18px;
  padding: 24px 20px;
  text-align: center;
  border: 1px solid var(--jp-line);
  color: var(--jp-ink) !important;
  text-decoration: none !important;
  transition: all .25s ease;
  box-shadow: 0 10px 30px -15px rgba(26,80,150,.18);
}
.jp-event .jp-event-past-card:hover { transform: translateY(-4px); border-color: var(--jp-blue); box-shadow: 0 20px 40px -15px rgba(26,80,150,.28); }
.jp-event .jp-event-past-icon {
  font-size: 32px;
  width: 64px; height: 64px;
  background: var(--jp-blue-pale);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 12px;
}
.jp-event .jp-event-past-label {
  font-family: "Pacifico", cursive;
  color: var(--jp-coral);
  font-size: 12px;
  margin-bottom: 6px;
}
.jp-event .jp-event-past-card h3 { font-size: 16px; font-weight: 800; margin: 0 0 6px; color: var(--jp-ink); line-height: 1.4; }
.jp-event .jp-event-past-card p { font-size: 12.5px; color: var(--jp-ink-soft); margin: 0; line-height: 1.6; }

/* FINAL CTA */
.jp-event .jp-event-final {
  background: linear-gradient(135deg, var(--jp-blue) 0%, var(--jp-blue-dark) 100%);
  color: var(--jp-white);
  position: relative;
  overflow: hidden;
}
.jp-event .jp-event-final::before, .jp-event .jp-event-final::after {
  content: ""; position: absolute; border-radius: 50%; background: rgba(255,255,255,.1);
}
.jp-event .jp-event-final::before { top: -60px; left: -60px; width: 240px; height: 240px; }
.jp-event .jp-event-final::after { bottom: -80px; right: -80px; width: 320px; height: 320px; }
.jp-event .jp-event-final-title {
  font-weight: 800;
  font-size: clamp(26px, 4vw, 40px);
  line-height: 1.55;
  margin: 16px 0 0;
  color: var(--jp-white);
  position: relative;
  z-index: 1;
}


/* === Event page 26467 - hide more SANGO meta === */
body.postid-26467 .entry-meta,
body.postid-26467 .entry-meta.vcard,
body.postid-26467 .entry-meta.dfont,
body.postid-26467 p.entry-meta,
body.postid-26467 time.pubdate,
body.postid-26467 time.updated,
body.postid-26467 time.entry-time,
body.postid-26467 .entry-time,
body.postid-26467 .post-share,
body.postid-26467 .sharewrap,
body.postid-26467 .share-bar,
body.postid-26467 .sharesbtn,
body.postid-26467 .fa-share,
body.postid-26467 [class*="share"][class*="bar"],
body.postid-26467 .time-box { display: none !important; }


/* === Event page 26467 - co-brand logos & video === */
.jp-event .jp-event-cobrand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.jp-event .jp-event-cobrand-logo {
  background: rgba(255,255,255,.96);
  border-radius: 20px;
  padding: 20px 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  box-shadow: 0 14px 30px -12px rgba(0,0,0,.25);
}
.jp-event .jp-event-cobrand-logo--japanesia { padding: 24px 40px; }
.jp-event .jp-event-cobrand-logo--japanesia img { height: 44px; width: auto; object-fit: contain; display: block; }
.jp-event .jp-event-cobrand-logo--darma { padding: 14px; }
.jp-event .jp-event-cobrand-logo--darma img { height: 80px; width: 80px; object-fit: contain; display: block; }
.jp-event .jp-event-cobrand-x {
  font-size: 34px;
  font-weight: 800;
  color: var(--jp-white);
  opacity: .9;
  text-shadow: 0 2px 8px rgba(0,0,0,.2);
  font-family: "Playfair Display", serif;
  font-style: italic;
}
@media (max-width: 720px){
  .jp-event .jp-event-cobrand { gap: 16px; }
  .jp-event .jp-event-cobrand-logo--japanesia { padding: 16px 24px; }
  .jp-event .jp-event-cobrand-logo--japanesia img { height: 32px; }
  .jp-event .jp-event-cobrand-logo--darma img { height: 60px; width: 60px; }
  .jp-event .jp-event-cobrand-x { font-size: 26px; }
}

/* Hari intro video section */
.jp-event .jp-event-video { background: var(--jp-bg); }
.jp-event .jp-event-video-frame {
  position: relative;
  aspect-ratio: 16/9;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 30px 60px -20px rgba(26,80,150,.35);
  background: var(--jp-ink);
  max-width: 820px;
  margin: 0 auto;
}
.jp-event .jp-event-video-frame iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%; border: 0;
}


/* === Event 26467 v2 - logo bg + topics clean === */
/* Japanesia logo - sky blue background so white logo shows */
.jp-event .jp-event-cobrand-logo--japanesia {
  background: var(--jp-blue) !important;
  padding: 20px 36px !important;
}
.jp-event .jp-event-cobrand-logo--japanesia img { height: 48px !important; }
/* Darma Persada logo - keep white */
.jp-event .jp-event-cobrand-logo--darma {
  background: var(--jp-white) !important;
  padding: 16px 24px !important;
}
.jp-event .jp-event-cobrand-logo--darma img { height: 64px !important; width: auto !important; }

/* Topics list - remove gray frame, make clean */
.jp-event .jp-event-topic-list li {
  background: transparent !important;
  border-bottom: 1px solid var(--jp-line) !important;
  padding: 20px 0 !important;
  border-radius: 0 !important;
}
.jp-event .jp-event-topic-list li:last-child {
  border-bottom: none !important;
}
.jp-event .jp-event-topic-list li:hover { transform: none !important; }


/* === Event 26467 v3 - topic list redesign === */
.jp-event .jp-event-topic-list {
  list-style: none !important;
  padding-left: 0 !important;
  counter-reset: none !important;
}
.jp-event .jp-event-topic-list li {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--jp-line) !important;
  border-radius: 0 !important;
  padding: 28px 16px !important;
  display: grid !important;
  grid-template-columns: 72px 1fr !important;
  gap: 28px !important;
  align-items: center !important;
}
.jp-event .jp-event-topic-list li:last-child {
  border-bottom: none !important;
}
.jp-event .jp-event-topic-list li::before,
.jp-event .jp-event-topic-list li::marker {
  content: none !important;
  display: none !important;
}
.jp-event .jp-event-topic-num {
  font-family: "Playfair Display", serif !important;
  font-style: italic !important;
  font-weight: 800 !important;
  font-size: 52px !important;
  color: var(--jp-coral) !important;
  line-height: 1 !important;
  min-width: auto !important;
  text-align: center !important;
  opacity: .9;
}
.jp-event .jp-event-topic-body .ja {
  font-weight: 700 !important;
  color: var(--jp-ink) !important;
  font-size: 16.5px !important;
  margin-bottom: 6px !important;
  line-height: 1.75 !important;
}
.jp-event .jp-event-topic-body .id {
  font-size: 14px !important;
  color: var(--jp-blue-dark) !important;
  font-style: italic !important;
  line-height: 1.65 !important;
  opacity: .85;
}
@media (max-width: 720px){
  .jp-event .jp-event-topic-list li { grid-template-columns: 56px 1fr !important; gap: 18px !important; padding: 22px 8px !important; }
  .jp-event .jp-event-topic-num { font-size: 40px !important; }
}


/* === KMB post 38369 full-width layout === */
body.postid-38369 .l-main,
body.postid-38369 main.m-all,
body.postid-38369 .wrap.cf,
body.postid-38369 #main_col,
body.postid-38369 article.post,
body.postid-38369 article.post .entry-content { max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: none !important; }
body.postid-38369 .p-sub,
body.postid-38369 .l-aside,
body.postid-38369 aside.sidebar,
body.postid-38369 #side,
body.postid-38369 .side_col { display: none !important; }
body.postid-38369 .post-header,
body.postid-38369 .post-title,
body.postid-38369 .entry-title,
body.postid-38369 .single-post-meta,
body.postid-38369 .breadcrumb,
body.postid-38369 .post-date,
body.postid-38369 .time-box,
body.postid-38369 .sng-post-time,
body.postid-38369 #author-box,
body.postid-38369 .author-box,
body.postid-38369 .sns-group,
body.postid-38369 .sns-top,
body.postid-38369 .sns-bottom,
body.postid-38369 .kanren,
body.postid-38369 .sng-pickup,
body.postid-38369 .toc,
body.postid-38369 .lwptoc,
body.postid-38369 .ez-toc-container,
body.postid-38369 #toc_container,
body.postid-38369 .entry-meta,
body.postid-38369 p.entry-meta,
body.postid-38369 time.pubdate,
body.postid-38369 time.updated,
body.postid-38369 time.entry-time,
body.postid-38369 .entry-time { display: none !important; }

/* === KMB styles === */
.jp-kmb {
  --kmb-coffee: #6b3f1e;
  --kmb-coffee-light: #a67c52;
  --kmb-cream: #fff4e3;
  --kmb-cream-dark: #f5e4c7;
}

/* HERO */
.jp-kmb-hero {
  background: linear-gradient(160deg, #3b2515 0%, #6b3f1e 50%, #a67c52 100%) !important;
  color: var(--jp-white);
  position: relative;
  overflow: hidden;
  padding: 110px 0 130px !important;
}
.jp-kmb-hero::before {
  content: "&#x2615;";
  position: absolute;
  font-size: 420px;
  top: 30px; right: -80px;
  opacity: .06;
  pointer-events: none;
  line-height: 1;
}
.jp-kmb-hero::after {
  content: "&#x2615;";
  position: absolute;
  font-size: 280px;
  bottom: -40px; left: -60px;
  opacity: .06;
  pointer-events: none;
  line-height: 1;
}
.jp-kmb-hero .jp-event-hero-inner { position: relative; z-index: 2; max-width: 960px; text-align: center; }
.jp-kmb-tag {
  display: inline-block;
  padding: 8px 20px;
  background: rgba(255,255,255,.15);
  color: var(--jp-yellow);
  border-radius: 999px;
  font-family: "Pacifico", cursive;
  font-size: 16px;
  margin-bottom: 24px;
  letter-spacing: .03em;
  backdrop-filter: blur(6px);
}
.jp-kmb-hero .jp-event-title {
  font-size: clamp(44px, 7vw, 76px) !important;
  line-height: 1.15 !important;
  margin: 0 0 28px !important;
}
.jp-kmb-hero .jp-event-title .jp-mark {
  background: linear-gradient(180deg, transparent 55%, var(--jp-yellow) 55%) !important;
  -webkit-text-stroke: 1px rgba(0,0,0,.05);
}
.jp-kmb-hero .jp-event-sub {
  font-size: 18px !important;
  max-width: 680px !important;
  margin: 0 auto 36px !important;
  line-height: 2 !important;
}
.jp-kmb-hero-meta {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  backdrop-filter: blur(10px);
  padding: 18px 28px;
  border-radius: 16px;
  color: var(--jp-white);
  font-size: 14px;
  justify-content: center;
}

/* INTRO STORY */
.jp-kmb-story { background: var(--kmb-cream); }
.jp-kmb-story-text {
  font-size: 18px !important;
  line-height: 2.1 !important;
  color: var(--jp-ink);
  margin: 0 0 1.5em !important;
  text-align: center;
}
.jp-kmb-story-text strong {
  background: linear-gradient(180deg, transparent 55%, var(--jp-yellow) 55%);
  padding: 0 4px;
  font-weight: 800;
}
.jp-kmb-story-conclusion {
  font-weight: 700 !important;
  font-size: 20px !important;
  color: var(--kmb-coffee) !important;
  padding: 32px;
  background: var(--jp-white);
  border-radius: 20px;
  border: 2px dashed var(--kmb-coffee-light);
}
.jp-kmb-story-conclusion strong {
  background: none;
  color: var(--kmb-coffee);
}

/* PROBLEMS */
.jp-kmb-problems { background: var(--jp-white); }
.jp-kmb-problem-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 32px;
}
@media (max-width: 900px){ .jp-kmb-problem-grid { grid-template-columns: repeat(2, 1fr); } }
.jp-kmb-problem {
  text-align: center;
  padding: 32px 16px;
  background: var(--jp-bg);
  border-radius: 18px;
  transition: transform .25s ease;
}
.jp-kmb-problem:hover { transform: translateY(-4px); }
.jp-kmb-problem-icon {
  font-size: 44px;
  margin-bottom: 12px;
  line-height: 1;
}
.jp-kmb-problem p { font-size: 14px; font-weight: 700; color: var(--jp-ink); margin: 0; line-height: 1.6; }
.jp-kmb-solution {
  background: linear-gradient(135deg, var(--jp-blue-dark), var(--jp-blue));
  color: var(--jp-white);
  padding: 28px 32px;
  border-radius: 18px;
  font-size: 16px;
  line-height: 2;
  text-align: center;
}
.jp-kmb-solution strong { color: var(--jp-yellow); font-weight: 800; }

/* FOR WHO */
.jp-kmb-for { background: var(--kmb-cream); }
.jp-kmb-for-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  max-width: 860px;
}
@media (max-width: 720px){ .jp-kmb-for-list { grid-template-columns: 1fr; } }
.jp-kmb-for-list li {
  background: var(--jp-white);
  padding: 20px 24px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 15px;
  color: var(--jp-ink);
  border-left: 4px solid var(--kmb-coffee-light);
  list-style: none !important;
}
.jp-kmb-for-list li::marker { content: none !important; display: none !important; }
.jp-kmb-for-list li > span { font-size: 26px; flex-shrink: 0; }

/* VENUE + SCHEDULE */
.jp-kmb-venue { background: var(--jp-white); }
.jp-kmb-venue-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 32px;
  max-width: 1080px;
  margin: 48px auto 0;
}
@media (max-width: 900px){ .jp-kmb-venue-grid { grid-template-columns: 1fr; } }
.jp-kmb-venue-card {
  background: linear-gradient(135deg, var(--kmb-coffee) 0%, var(--kmb-coffee-light) 100%);
  color: var(--jp-white);
  padding: 36px;
  border-radius: 24px;
  box-shadow: 0 20px 40px -20px rgba(107,63,30,.4);
}
.jp-kmb-venue-label {
  font-family: "Pacifico", cursive;
  color: var(--jp-yellow);
  font-size: 16px;
  margin-bottom: 8px;
}
.jp-kmb-venue-card h3 {
  font-weight: 800;
  font-size: 28px;
  margin: 0 0 4px;
  color: var(--jp-white);
  line-height: 1.3;
}
.jp-kmb-venue-place {
  font-weight: 600;
  font-size: 15px;
  opacity: .85;
  margin-bottom: 16px;
}
.jp-kmb-venue-card p { font-size: 14.5px; line-height: 1.9; opacity: .95; margin: 0 0 16px; }
.jp-kmb-venue-note { font-size: 13px; opacity: .85; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.2); }

.jp-kmb-schedule { display: grid; gap: 14px; position: relative; }
.jp-kmb-schedule::before {
  content: "";
  position: absolute;
  left: 42px; top: 12px; bottom: 12px;
  width: 2px;
  background: var(--kmb-coffee-light);
  opacity: .3;
}
.jp-kmb-schedule-item {
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 20px;
  background: var(--kmb-cream);
  padding: 20px 24px;
  border-radius: 16px;
  align-items: center;
  position: relative;
  z-index: 1;
}
.jp-kmb-schedule-item--main {
  background: linear-gradient(135deg, var(--jp-coral), #ff6a4a);
  color: var(--jp-white);
}
.jp-kmb-schedule-item--main h4,
.jp-kmb-schedule-item--main p { color: var(--jp-white) !important; }
.jp-kmb-schedule-time {
  font-weight: 800;
  font-size: 22px;
  color: var(--kmb-coffee);
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--jp-white);
  padding: 10px 8px;
  border-radius: 12px;
  box-shadow: 0 6px 14px -8px rgba(0,0,0,.15);
}
.jp-kmb-schedule-item--main .jp-kmb-schedule-time { color: var(--jp-coral); }
.jp-kmb-schedule-time small {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .05em;
  color: var(--jp-ink-soft);
  margin-top: 4px;
}
.jp-kmb-schedule-item--main .jp-kmb-schedule-time small { color: var(--jp-ink); }
.jp-kmb-schedule-body h4 { font-size: 16px; font-weight: 800; margin: 0 0 4px; color: var(--jp-ink); }
.jp-kmb-schedule-body p { font-size: 13.5px; color: var(--jp-ink-soft); line-height: 1.7; margin: 0; }

/* PRICING */
.jp-kmb-price { background: var(--kmb-cream); }
.jp-kmb-price-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  max-width: 720px;
  margin: 48px auto 32px;
}
@media (max-width: 720px){ .jp-kmb-price-grid { grid-template-columns: 1fr; } }
.jp-kmb-price-card {
  background: var(--jp-white);
  padding: 36px 28px;
  text-align: center;
  border-radius: 20px;
  border: 1px solid var(--jp-line);
  box-shadow: 0 16px 30px -15px rgba(107,63,30,.2);
}
.jp-kmb-price-flag { font-size: 42px; margin-bottom: 10px; }
.jp-kmb-price-label { font-size: 14px; color: var(--jp-ink-soft); margin-bottom: 10px; font-weight: 600; }
.jp-kmb-price-amount {
  font-size: 22px;
  color: var(--kmb-coffee);
  font-weight: 600;
  line-height: 1.1;
}
.jp-kmb-price-amount strong {
  font-size: 48px;
  font-weight: 900;
  color: var(--jp-coral);
  margin: 0 2px;
}
.jp-kmb-price-note {
  font-size: 12.5px;
  color: var(--jp-ink-soft);
  margin-top: 6px;
}
.jp-kmb-price-rule {
  background: var(--jp-white);
  border: 2px dashed var(--jp-coral);
  border-radius: 18px;
  padding: 20px 28px;
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  gap: 20px;
  align-items: center;
}
.jp-kmb-price-rule-icon { font-size: 36px; flex-shrink: 0; }
.jp-kmb-price-rule strong { display: block; font-weight: 800; color: var(--jp-ink); font-size: 16px; margin-bottom: 6px; }
.jp-kmb-price-rule p { font-size: 13.5px; color: var(--jp-ink-soft); line-height: 1.7; margin: 0; }

/* PHRASES */
.jp-kmb-phrases { background: var(--jp-white); }
.jp-kmb-phrase-list {
  display: grid;
  gap: 18px;
  max-width: 700px;
  margin: 40px auto 0;
}
.jp-kmb-phrase {
  background: linear-gradient(135deg, var(--jp-blue-pale), var(--jp-white));
  padding: 24px 28px;
  border-radius: 18px;
  border-left: 5px solid var(--jp-blue);
}
.jp-kmb-phrase-ja { font-weight: 700; color: var(--jp-ink); font-size: 16px; margin-bottom: 6px; line-height: 1.7; }
.jp-kmb-phrase-id { font-size: 14px; color: var(--jp-blue-dark); font-style: italic; line-height: 1.6; }

/* STEPS - KMB variant */
.jp-kmb-steps { background: var(--kmb-cream); }
.jp-kmb-step-list::before { display: none !important; }

/* WA INFO */
.jp-kmb-wa-info {
  background: linear-gradient(135deg, #25d366 0%, #1ea851 100%);
  color: var(--jp-white);
  padding: 24px 28px;
  border-radius: 18px;
  display: flex;
  gap: 20px;
  align-items: center;
  margin-top: 32px;
  box-shadow: 0 14px 30px -12px rgba(37,211,102,.4);
}
.jp-kmb-wa-icon { font-size: 40px; flex-shrink: 0; }
.jp-kmb-wa-info strong { display: block; font-weight: 800; font-size: 16px; margin-bottom: 6px; color: var(--jp-white); }
.jp-kmb-wa-info p { font-size: 13.5px; line-height: 1.75; opacity: .95; margin: 0; color: var(--jp-white); }

.jp-kmb-balance-note {
  margin-top: 28px;
  padding: 20px 24px;
  background: var(--jp-white);
  border-radius: 14px;
  font-size: 13.5px;
  color: var(--jp-ink-soft);
  line-height: 1.85;
  border: 1px solid var(--jp-line);
}
.jp-kmb-balance-note strong { color: var(--jp-ink); font-weight: 800; }
.jp-kmb-balance-note small { font-size: 12.5px; color: var(--jp-ink-muted); }

/* APPLY */
.jp-kmb-apply { background: var(--jp-white); }

/* FAQ */
.jp-kmb-faq { background: var(--kmb-cream); }
.jp-kmb-faq-list { display: grid; gap: 16px; max-width: 720px; margin: 40px auto 0; }
.jp-kmb-faq-item {
  background: var(--jp-white);
  border-radius: 16px;
  padding: 24px 28px;
  box-shadow: 0 10px 25px -15px rgba(107,63,30,.2);
}
.jp-kmb-faq-q {
  font-weight: 800;
  color: var(--kmb-coffee);
  font-size: 16px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--jp-line);
}
.jp-kmb-faq-a { font-size: 14.5px; color: var(--jp-ink-soft); line-height: 1.85; }

.jp-kmb-past { background: var(--jp-white); }


/* === KMB v2 fixes === */
/* Hide eye-catch / featured image on post 38369 */
body.postid-38369 .eye-catch,
body.postid-38369 .eyecatch,
body.postid-38369 .featured-image,
body.postid-38369 .post-thumbnail,
body.postid-38369 .wp-post-image,
body.postid-38369 .thumb,
body.postid-38369 .article-thumbnail,
body.postid-38369 .entry-thumb,
body.postid-38369 .is-link-left,
body.postid-38369 .is-eyecatch { display: none !important; }

/* Venue card - make text readable (white on brown bg) */
.jp-kmb-venue-card,
.jp-kmb-venue-card * { color: var(--jp-white) !important; }
.jp-kmb-venue-card h3 { color: var(--jp-white) !important; }
.jp-kmb-venue-card p { color: rgba(255,255,255,.95) !important; }
.jp-kmb-venue-card .jp-kmb-venue-label { color: var(--jp-yellow) !important; }
.jp-kmb-venue-card .jp-kmb-venue-place { color: var(--jp-yellow) !important; }
.jp-kmb-venue-card .jp-kmb-venue-note { color: rgba(255,255,255,.85) !important; border-top: 1px solid rgba(255,255,255,.2) !important; }

/* Gallery */
.jp-kmb-gallery { background: var(--jp-white); }
.jp-kmb-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 180px;
  gap: 12px;
  max-width: 1120px;
  margin: 48px auto 0;
}
@media (max-width: 900px){
  .jp-kmb-gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 160px; }
}
.jp-kmb-gallery-item {
  border-radius: 18px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 14px 30px -15px rgba(107,63,30,.3);
  transition: transform .3s ease;
}
.jp-kmb-gallery-item:hover { transform: translateY(-4px) scale(1.01); }
.jp-kmb-gallery-item img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.jp-kmb-gallery-item--tall { grid-row: span 2; }
.jp-kmb-gallery-item--wide { grid-column: span 2; }
@media (max-width: 900px){
  .jp-kmb-gallery-item--tall { grid-row: span 2; }
  .jp-kmb-gallery-item--wide { grid-column: span 2; }
}


/* === KMB v3 === */
/* Hero subtitle - ensure white text */
.jp-kmb-hero .jp-event-sub,
.jp-kmb-hero .jp-event-sub * { color: var(--jp-white) !important; }

/* Conversation card image */
.jp-kmb-card-image {
  max-width: 520px;
  margin: 0 auto 32px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 40px -20px rgba(107,63,30,.3);
  border: 5px solid var(--jp-white);
  background: var(--jp-white);
}
.jp-kmb-card-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* Lightbox overlay */
.jp-kmb-lightbox-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.92);
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 40px;
  cursor: zoom-out;
  animation: kmbFadeIn .2s ease;
}
.jp-kmb-lightbox-overlay.is-open { display: flex; }
.jp-kmb-lightbox-img {
  max-width: 90vw;
  max-height: 85vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 30px 60px rgba(0,0,0,.5);
  cursor: default;
  animation: kmbZoomIn .25s ease;
}
.jp-kmb-lightbox-close,
.jp-kmb-lightbox-prev,
.jp-kmb-lightbox-next {
  position: absolute;
  background: rgba(255,255,255,.12);
  color: var(--jp-white);
  border: none;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  font-size: 28px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background .2s ease, transform .2s ease;
  backdrop-filter: blur(8px);
}
.jp-kmb-lightbox-close:hover,
.jp-kmb-lightbox-prev:hover,
.jp-kmb-lightbox-next:hover {
  background: rgba(255,255,255,.25);
  transform: scale(1.1);
}
.jp-kmb-lightbox-close { top: 24px; right: 24px; font-size: 32px; }
.jp-kmb-lightbox-prev { left: 24px; top: 50%; transform: translateY(-50%); }
.jp-kmb-lightbox-prev:hover { transform: translateY(-50%) scale(1.1); }
.jp-kmb-lightbox-next { right: 24px; top: 50%; transform: translateY(-50%); }
.jp-kmb-lightbox-next:hover { transform: translateY(-50%) scale(1.1); }
@keyframes kmbFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes kmbZoomIn { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: scale(1); } }

/* Gallery item - cursor pointer (clickable) */
.jp-kmb-gallery-item.jp-kmb-lightbox,
a.jp-kmb-gallery-item { cursor: zoom-in; text-decoration: none !important; }
a.jp-kmb-gallery-item::after {
  content: "\1F50D";
  position: absolute;
  bottom: 12px; right: 12px;
  background: rgba(0,0,0,.55);
  color: #fff;
  width: 34px; height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  opacity: 0;
  transition: opacity .25s ease;
  backdrop-filter: blur(4px);
}
a.jp-kmb-gallery-item:hover::after { opacity: 1; }


/* === KMB v4 === */
/* Hide related articles / recommended at footer for post 38369 */
body.postid-38369 .related-posts,
body.postid-38369 .related,
body.postid-38369 .sng-related,
body.postid-38369 .single-related,
body.postid-38369 #related-posts,
body.postid-38369 .kanren-box,
body.postid-38369 .kanren,
body.postid-38369 .sng-reccomend,
body.postid-38369 .reccomend,
body.postid-38369 .recommend,
body.postid-38369 .post-list,
body.postid-38369 .widget_recent_entries,
body.postid-38369 .osusume,
body.postid-38369 .p-pickup,
body.postid-38369 .pickup,
body.postid-38369 #author-profile,
body.postid-38369 .author-prof,
body.postid-38369 .kanren-title,
body.postid-38369 #kanren,
body.postid-38369 h3.related-title,
body.postid-38369 .comments-area,
body.postid-38369 #comments,
body.postid-38369 .comment-respond,
body.postid-38369 #respond,
body.postid-38369 .post-category-tag,
body.postid-38369 .meta-list,
body.postid-38369 .meta-info,
body.postid-38369 .cat-title,
body.postid-38369 .category-top { display: none !important; }

/* Remove header gap above hero */
body.postid-38369 .l-main,
body.postid-38369 .l-main > *,
body.postid-38369 main > *,
body.postid-38369 article,
body.postid-38369 article > * { margin-top: 0 !important; padding-top: 0 !important; }
body.postid-38369 .jp-event-hero,
body.postid-38369 .jp-kmb-hero { margin-top: 0 !important; }

/* Apply-sub white text */
.jp-kmb-apply .jp-event-apply-sub,
.jp-kmb-apply .jp-event-apply-title { color: var(--jp-white) !important; }
.jp-event-apply-sub { color: rgba(255,255,255,.95) !important; }

/* Kill the old broken :not-working lightbox overlay (leftover) */
.jp-kmb-lightbox-overlay { display: none !important; }
a.jp-kmb-gallery-item::after { content: none !important; }

/* CSS-only lightbox (target-based) */
.jp-kmb-lb-target {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.92);
  z-index: -1;
  opacity: 0;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  transition: opacity .25s ease;
}
.jp-kmb-lb-target:target {
  opacity: 1;
  z-index: 999999;
  pointer-events: auto;
}
.jp-kmb-lb-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  cursor: zoom-out;
}
.jp-kmb-lb-frame {
  position: relative;
  z-index: 2;
  max-width: 90vw;
  max-height: 85vh;
}
.jp-kmb-lb-frame img {
  max-width: 90vw;
  max-height: 85vh;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 30px 60px rgba(0,0,0,.5);
}
.jp-kmb-lb-close,
.jp-kmb-lb-prev,
.jp-kmb-lb-next {
  position: absolute;
  z-index: 3;
  background: rgba(255,255,255,.15);
  color: var(--jp-white) !important;
  border: none;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  font-size: 30px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-decoration: none !important;
  backdrop-filter: blur(8px);
  transition: background .2s ease, transform .2s ease;
}
.jp-kmb-lb-close:hover,
.jp-kmb-lb-prev:hover,
.jp-kmb-lb-next:hover {
  background: rgba(255,255,255,.28);
}
.jp-kmb-lb-close { top: 24px; right: 24px; font-size: 34px; }
.jp-kmb-lb-prev { left: 24px; top: 50%; transform: translateY(-50%); }
.jp-kmb-lb-prev:hover { transform: translateY(-50%) scale(1.08); }
.jp-kmb-lb-next { right: 24px; top: 50%; transform: translateY(-50%); }
.jp-kmb-lb-next:hover { transform: translateY(-50%) scale(1.08); }
@media (max-width: 720px){
  .jp-kmb-lb-close, .jp-kmb-lb-prev, .jp-kmb-lb-next { width: 44px; height: 44px; font-size: 24px; }
  .jp-kmb-lb-close { top: 16px; right: 16px; }
  .jp-kmb-lb-prev { left: 12px; }
  .jp-kmb-lb-next { right: 12px; }
}

/* Gallery clickability indicators */
a.jp-kmb-gallery-item {
  position: relative;
  cursor: zoom-in !important;
  text-decoration: none !important;
}
a.jp-kmb-gallery-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 2;
  border-radius: 18px;
  pointer-events: none;
}
a.jp-kmb-gallery-item:hover::before { background: rgba(0,0,0,.15); }

/* Google Map venue */
.jp-kmb-venue-map {
  margin: 16px 0 12px;
  border-radius: 14px;
  overflow: hidden;
  height: 200px;
  background: rgba(0,0,0,.1);
}
.jp-kmb-venue-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  filter: saturate(1.05);
}


/* === Home page - Event Info section === */
/* Hide the old 人気記事 heading rendered by theme (if any duplicate remains) */
.home .main__heading.center.strong .main__title,
.home .main__heading.center.strong .main__subtitle { 
  /* keep these for other sections, only hide if they are "人気" */
}

.jp-home-events-section {
  max-width: 1080px;
  margin: 0 auto;
  padding: 20px 24px 40px;
  text-align: center;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", system-ui, sans-serif;
}
.jp-home-events-eyebrow {
  font-family: "Pacifico", cursive;
  color: var(--jp-coral, #ff8a6b);
  font-size: 20px;
  margin: 0 0 8px !important;
  letter-spacing: .04em;
}
.jp-home-events-title {
  font-weight: 800;
  font-size: clamp(28px, 3.6vw, 40px);
  color: var(--jp-ink, #2b2b2b);
  margin: 0 0 16px !important;
  line-height: 1.4;
}
.jp-home-events-mark {
  background: linear-gradient(180deg, transparent 55%, var(--jp-yellow, #ffd86b) 55%);
  padding: 0 10px;
}
.jp-home-events-lead {
  font-size: 15px;
  color: var(--jp-ink-soft, #5a6472);
  line-height: 1.9;
  margin: 0 auto 40px !important;
  max-width: 620px;
}
.jp-home-events-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  text-align: left;
}
@media (max-width: 780px){
  .jp-home-events-grid { grid-template-columns: 1fr; }
}
.jp-home-event-card {
  display: block;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 14px 30px -15px rgba(26,80,150,.25);
  text-decoration: none !important;
  color: inherit !important;
  transition: transform .3s ease, box-shadow .3s ease;
}
.jp-home-event-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 50px -20px rgba(26,80,150,.35);
}
.jp-home-event-cover {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.jp-home-event-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
  display: block;
}
.jp-home-event-card:hover .jp-home-event-cover img { transform: scale(1.05); }
.jp-home-event-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(255,255,255,.96);
  color: var(--jp-ink, #2b2b2b);
  font-size: 12.5px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 999px;
  backdrop-filter: blur(6px);
  box-shadow: 0 6px 16px -6px rgba(0,0,0,.25);
}
.jp-home-event-body { padding: 24px 26px 28px; }
.jp-home-event-sub {
  font-size: 12.5px;
  color: var(--jp-blue-dark, #4a9de8);
  font-weight: 700;
  letter-spacing: .03em;
  margin-bottom: 6px;
}
.jp-home-event-name {
  font-weight: 800;
  font-size: 22px;
  margin: 0 0 10px !important;
  color: var(--jp-ink, #2b2b2b);
  line-height: 1.3;
}
.jp-home-event-desc {
  font-size: 13.5px;
  color: var(--jp-ink-soft, #5a6472);
  line-height: 1.8;
  margin: 0 0 16px !important;
}
.jp-home-event-cta {
  display: inline-block;
  font-weight: 700;
  color: var(--jp-coral, #ff8a6b);
  font-size: 14px;
  transition: transform .2s ease;
}
.jp-home-event-card:hover .jp-home-event-cta { transform: translateX(4px); }

/* KMB card accent - coffee vibes */
.jp-home-event-card--kmb .jp-home-event-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(107,63,30,.25));
}
/* Darma card accent - blue vibes */
.jp-home-event-card--darma .jp-home-event-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(29,52,97,.25));
}

/* Hide the theme's separate "人気記事 ARTIKEL POPULER" heading if this widget shows */
.home .main__heading.center.strong:has(.main__subtitle):has(h2) {
  /* Only applies when widget content replaces it */
}

/* Hide the old top-title inside widget if still showing */
.widget_custom_html .top-title { display: none !important; }
.widget_custom_html .popular-posts { display: none !important; }


/* === Hide theme's hard-coded 人気記事 section on home === */
body.home .posts.posts--popular,
body.home .posts--popular { display: none !important; }

/* Let our widget-based イベント情報 section breathe */
.home .widget_custom_html:has(.jp-home-events-section) {
  margin: 48px auto !important;
  padding: 0 !important;
  background: transparent !important;
}


/* === Home Events: Darma logo proper fit (sky blue bg + contain) === */
.jp-home-event-card--darma .jp-home-event-cover {
  background: linear-gradient(135deg, #cfe7f7 0%, #b3d8f0 100%);
}
.jp-home-event-card--darma .jp-home-event-cover img {
  object-fit: contain !important;
  padding: 22px 30px;
  background: transparent;
}
.jp-home-event-card--darma .jp-home-event-cover::after {
  display: none !important;
}


/* === Home Events: cobrand cover (Darma + Japanesia logos side-by-side) === */
.jp-home-event-cover--cobrand {
  background: linear-gradient(135deg, #cfe7f7 0%, #b3d8f0 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.jp-home-event-cover--cobrand::after {
  display: none !important;
}
.jp-cobrand-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 18px 24px;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.jp-cobrand-row .jp-cobrand-logo {
  width: auto !important;
  height: auto !important;
  max-height: 80% !important;
  max-width: 38% !important;
  object-fit: contain !important;
  padding: 0 !important;
  background: transparent !important;
  position: static !important;
  flex-shrink: 0;
  display: block;
}
.jp-cobrand-row .jp-cobrand-logo--japanesia {
  background: #5fb1e8 !important;
  border-radius: 14px;
  padding: 14px 18px !important;
  max-width: 38% !important;
}
.jp-cobrand-x {
  font-size: clamp(24px, 2.4vw, 34px);
  color: #4a9de8;
  font-weight: 300;
  font-family: 'Playfair Display', serif;
  font-style: italic;
  flex-shrink: 0;
  line-height: 1;
}
.jp-home-event-card:hover .jp-cobrand-row .jp-cobrand-logo {
  transform: none !important;
}


/* === Home page section heading enhancements === */
body.home .main__heading.center.strong .home-title.main__title {
  font-family: 'Pacifico', cursive !important;
  color: #ff8a6b !important;
  font-size: 18px !important;
  letter-spacing: .04em;
  font-weight: 400 !important;
  margin-bottom: 4px !important;
  text-transform: none;
}
body.home .main__heading.center.strong .main__subtitle {
  font-weight: 800 !important;
  font-size: clamp(26px, 3.4vw, 38px) !important;
  position: relative;
  display: inline-block;
  padding: 0 8px;
  line-height: 1.4;
}
body.home .main__heading.center.strong .main__subtitle::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.18em;
  height: 14px;
  background: rgba(255, 216, 107, 0.55);
  z-index: -1;
  border-radius: 2px;
}
body.home .service__title {
  font-weight: 800 !important;
  font-size: clamp(26px, 3.4vw, 38px) !important;
  position: relative;
  display: table;
  margin: 0 auto !important;
  padding: 0 8px;
  line-height: 1.4;
}
body.home .service__title::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.18em;
  height: 14px;
  background: rgba(255, 216, 107, 0.55);
  z-index: -1;
  border-radius: 2px;
}
body.home .latest .swiper-slide a {
  transition: transform .3s ease, box-shadow .3s ease;
  border-radius: 14px;
  overflow: hidden;
}
body.home .latest .swiper-slide a:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 30px -14px rgba(0,0,0,.18);
}
body.home .jp-home-events-section { padding-bottom: 48px; }
		


		

/* ===== /merumaga page redesign v2 ===== */
.mrmg{--primary:#F48C4A;--primary-dark:#E56A1F;--primary-light:#FFE4D0;--accent:#4A90E2;--accent-dark:#2E6FB8;--ink:#1a2238;--ink-soft:#4b5568;--line:rgba(0,0,0,.08);--bg-soft:#FFFBF5;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Sans",sans-serif;color:var(--ink);line-height:1.75;}
.mrmg *{box-sizing:border-box;}
.mrmg-wrap{position:relative;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;}
.mrmg-wrap ruby rt{font-size:.5em;color:var(--primary-dark);}

.mrmg-hero{position:relative;padding:90px 24px 110px;background:radial-gradient(ellipse at 20% 30%,rgba(255,180,120,.35),transparent 50%),radial-gradient(ellipse at 85% 70%,rgba(100,180,255,.28),transparent 55%),linear-gradient(165deg,#fff6eb 0%,#fff 60%,#eef4ff 100%);overflow:hidden;}
.mrmg-hero::before{content:"";position:absolute;top:-60px;right:-60px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(244,140,74,.12),transparent 70%);z-index:0;}
.mrmg-hero-inner{max-width:1100px;margin:0 auto;position:relative;z-index:1;text-align:center;}
.mrmg-eyebrow{display:inline-block;padding:6px 18px;background:var(--primary);color:#fff;border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.12em;margin-bottom:24px;box-shadow:0 8px 20px rgba(244,140,74,.35);}
.mrmg-h1{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:900;line-height:1.35;letter-spacing:.01em;margin:0 0 18px;color:var(--ink);}
.mrmg-h1 .mrmg-365{background:linear-gradient(135deg,var(--primary),var(--primary-dark));-webkit-background-clip:text;background-clip:text;color:transparent;font-size:1.25em;display:inline-block;}
.mrmg-h1 .mrmg-hi{background:linear-gradient(120deg,transparent 50%,#fff4b0 50%);padding:0 6px;}
.mrmg-lead{font-size:clamp(1rem,1.4vw,1.15rem);color:var(--ink-soft);max-width:720px;margin:0 auto 32px;}

.mrmg-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:36px auto 44px;max-width:900px;}
.mrmg-stat{flex:1 1 200px;max-width:260px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 16px;box-shadow:0 6px 24px rgba(0,0,0,.04);}
.mrmg-stat strong{display:block;font-size:2rem;font-weight:900;background:linear-gradient(135deg,var(--primary),var(--primary-dark));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;margin-bottom:4px;}
.mrmg-stat span{font-size:.85rem;color:var(--ink-soft);font-weight:600;}

.mrmg-cta-primary{display:inline-flex;align-items:center;gap:10px;padding:18px 42px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-radius:999px;font-size:1.1rem;font-weight:800;text-decoration:none;box-shadow:0 14px 38px rgba(244,140,74,.45);transition:transform .25s ease,box-shadow .25s ease;position:relative;}
.mrmg-cta-primary:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(244,140,74,.55);color:#fff;}
.mrmg-cta-primary::after{content:"→";font-weight:900;}
.mrmg-cta-note{margin-top:14px;font-size:.82rem;color:var(--ink-soft);}
.mrmg-cta-note b{color:var(--primary-dark);}

.mrmg-inner{max-width:1100px;margin:0 auto;position:relative;}
.mrmg-section-title{text-align:center;margin-bottom:40px;}
.mrmg-section-eyebrow{display:inline-block;color:var(--primary);font-weight:800;letter-spacing:.12em;font-size:.82rem;margin-bottom:10px;}
.mrmg-section-title h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:900;color:var(--ink);margin:0;line-height:1.4;}

/* Voices */
.mrmg-voices{padding:90px 24px;background:linear-gradient(180deg,#fff 0%,#fff8ef 100%);}
.mrmg-voices-intro{text-align:center;font-size:1.05rem;color:var(--ink);line-height:2;max-width:720px;margin:0 auto 46px;}
.mrmg-voices-intro b{background:linear-gradient(120deg,transparent 55%,#fff4b0 55%);padding:0 4px;font-weight:700;}
.mrmg-voices-outro{text-align:center;margin:50px auto 0;font-size:1rem;color:var(--ink);max-width:640px;}
.mrmg-voices-outro b{color:var(--primary-dark);}
.mrmg-voice-list{display:flex;flex-direction:column;gap:16px;max-width:720px;margin:0 auto;}
.mrmg-voice{display:flex;gap:14px;align-items:flex-start;}
.mrmg-voice--right{flex-direction:row-reverse;}
.mrmg-voice-avatar{width:56px;height:56px;border-radius:50%;background:var(--primary-light);flex-shrink:0;background-size:cover;background-position:center;border:3px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.1);}
.mrmg-voice-bubble{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 18px;box-shadow:0 6px 18px rgba(0,0,0,.05);max-width:440px;}
.mrmg-voice-bubble-name{font-size:.72rem;font-weight:800;color:var(--primary-dark);margin-bottom:2px;letter-spacing:.04em;}
.mrmg-voice-bubble p{margin:0;font-size:.98rem;color:var(--ink);line-height:1.6;}
.mrmg-voice--right .mrmg-voice-bubble{background:linear-gradient(135deg,#eef4ff,#dbe9ff);border-color:#c5d6f3;}
.mrmg-voice--right .mrmg-voice-bubble-name{color:var(--accent-dark);}
.mrmg-voice-bubble--punchline{background:linear-gradient(135deg,#FFE4D0,#FFCFA8) !important;border-color:#F4A67C !important;}
.mrmg-voice-bubble--punchline p b{color:var(--primary-dark);font-size:1.08em;}

/* Features 3-col */
.mrmg-features{padding:90px 24px;background:#fff;}
.mrmg-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;max-width:1100px;margin:0 auto;}
.mrmg-feature-grid--3{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.mrmg-feature-grid--3{grid-template-columns:1fr;}}
.mrmg-feature{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px 24px;transition:all .3s ease;position:relative;overflow:hidden;}
.mrmg-feature::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--primary),var(--primary-dark));}
.mrmg-feature:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.08);border-color:var(--primary-light);}
.mrmg-feature-num{font-size:.78rem;font-weight:900;color:var(--primary);letter-spacing:.12em;margin-bottom:12px;}
.mrmg-feature h3{margin:0 0 12px;font-size:1.15rem;font-weight:800;color:var(--ink);line-height:1.4;}
.mrmg-feature p{margin:0;color:var(--ink-soft);font-size:.94rem;line-height:1.75;}
.mrmg-feature p b{color:var(--primary-dark);}

/* Gift — 指さし card */
.mrmg-gift{padding:90px 24px;background:linear-gradient(135deg,#FFE4D0 0%,#FFD4A8 100%);position:relative;overflow:hidden;}
.mrmg-gift-inner{max-width:1000px;margin:0 auto;text-align:center;position:relative;z-index:1;}
.mrmg-gift-badge{display:inline-block;background:#fff;color:var(--primary-dark);padding:8px 20px;border-radius:999px;font-weight:800;font-size:.8rem;letter-spacing:.1em;margin-bottom:20px;box-shadow:0 6px 20px rgba(0,0,0,.1);}
.mrmg-gift h2{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:900;margin:0 0 18px;color:var(--ink);}
.mrmg-gift-desc{font-size:1rem;color:var(--ink-soft);max-width:640px;margin:0 auto 44px;}
.mrmg-gift-desc b{color:var(--primary-dark);}
.mrmg-gift-card{display:flex;align-items:stretch;max-width:760px;margin:0 auto;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 30px 60px rgba(244,140,74,.25),0 0 0 1px rgba(255,255,255,.5);text-align:left;}
.mrmg-gift-card-visual{flex:0 0 280px;background:linear-gradient(135deg,#fff7ed,#ffe4d0);display:flex;align-items:center;justify-content:center;position:relative;padding:40px 20px;}
.mrmg-gift-card-finger{font-size:7rem;filter:drop-shadow(0 8px 20px rgba(244,140,74,.3));animation:mrmg-finger-bob 3s ease-in-out infinite;position:relative;z-index:2;}
@keyframes mrmg-finger-bob{0%,100%{transform:translateY(0) rotate(0);}50%{transform:translateY(-6px) rotate(-4deg);}}
.mrmg-gift-card-bubbles{position:absolute;inset:0;pointer-events:none;}
.mrmg-gift-bubble{position:absolute;background:#fff;border:2px solid var(--primary);color:var(--primary-dark);padding:6px 12px;border-radius:999px;font-size:.78rem;font-weight:800;white-space:nowrap;box-shadow:0 6px 18px rgba(244,140,74,.2);}
.mrmg-gift-bubble--1{top:20%;left:10%;animation:mrmg-bubble-float 4s ease-in-out infinite;}
.mrmg-gift-bubble--2{top:55%;right:8%;animation:mrmg-bubble-float 4s ease-in-out infinite .5s;}
.mrmg-gift-bubble--3{bottom:15%;left:18%;animation:mrmg-bubble-float 4s ease-in-out infinite 1s;}
@keyframes mrmg-bubble-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.mrmg-gift-card-body{flex:1;padding:32px 28px;}
.mrmg-gift-card-tag{display:inline-block;background:var(--primary);color:#fff;padding:4px 12px;border-radius:6px;font-size:.7rem;font-weight:900;letter-spacing:.12em;margin-bottom:14px;}
.mrmg-gift-card-body h3{font-size:1.3rem;font-weight:900;margin:0 0 18px;color:var(--ink);line-height:1.4;}
.mrmg-gift-card-list{list-style:none;padding:0;margin:0;}
.mrmg-gift-card-list li{padding:6px 0;color:var(--ink);font-weight:600;font-size:.94rem;}
@media(max-width:700px){
  .mrmg-gift-card{flex-direction:column;}
  .mrmg-gift-card-visual{flex-basis:auto;padding:60px 20px;}
}

/* Form */
.mrmg-form-section{padding:90px 24px;background:linear-gradient(165deg,#fff8ef 0%,#fff 100%);}
.mrmg-form-wrap{max-width:620px;margin:0 auto;background:#fff;border-radius:24px;padding:48px 40px;box-shadow:0 30px 80px rgba(244,140,74,.18),0 0 0 1px var(--line);text-align:center;}
.mrmg-form-wrap h2{font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:900;margin:0 0 12px;color:var(--ink);}
.mrmg-form-wrap p{color:var(--ink-soft);margin:0 0 28px;}
.mrmg-form-tabs{display:flex;gap:8px;margin-bottom:20px;justify-content:center;flex-wrap:wrap;}
.mrmg-form-tab{padding:10px 18px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);border-radius:999px;font-weight:700;font-size:.88rem;cursor:pointer;transition:all .25s ease;}
.mrmg-form-tab:hover{border-color:var(--primary-light);color:var(--primary-dark);}
.mrmg-form-tab--active{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-color:var(--primary);box-shadow:0 6px 18px rgba(244,140,74,.3);}
.mrmg-form-panel{display:none;}
.mrmg-form-panel--active{display:block;}
.mrmg-form-iframe-wrap{background:var(--bg-soft);border-radius:12px;padding:20px;border:1px dashed var(--primary-light);}
.mrmg-form-iframe-wrap iframe{width:100%;border:0;background:#fff;border-radius:8px;min-height:520px;}
.mrmg-form-note{font-size:.78rem;color:var(--ink-soft);margin-top:20px;line-height:1.6;}
.mrmg-form-note b{color:var(--primary-dark);}

.mrmg-final{padding:80px 24px 100px;text-align:center;background:#fff;}
.mrmg-final h2{font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:900;margin:0 0 14px;}
.mrmg-final p{color:var(--ink-soft);margin:0 0 30px;}

@media(max-width:780px){
  .mrmg-hero{padding:70px 20px 90px;}
  .mrmg-voices,.mrmg-features,.mrmg-gift,.mrmg-form-section,.mrmg-final{padding:60px 20px;}
  .mrmg-stat{flex-basis:calc(50% - 7px);}
  .mrmg-stat strong{font-size:1.6rem;}
  .mrmg-form-wrap{padding:32px 20px;}
  .mrmg-voice-bubble{max-width:none;}
}
/* ===== /merumaga end ===== */
		

/* ===== merumaga v3 tweaks ===== */
/* Hide auto TOC on merumaga page */
body.page-id-3122 .toc,
body.page-id-3122 .sgb-toc--bullets,
body.page-id-3122 .toc_title,
body.page-id-3122 .toc_list{display:none !important;}

/* Center hero lead text on PC (was left-aligned due to container defaults) */
body.page-id-3122 .mrmg .mrmg-lead{text-align:center !important;margin-left:auto !important;margin-right:auto !important;}
body.page-id-3122 .mrmg .mrmg-hero-inner{text-align:center;}
body.page-id-3122 .mrmg p{margin-left:auto;margin-right:auto;}

/* Tighter voice bubbles */
body.page-id-3122 .mrmg-voice-list{gap:8px !important;max-width:560px !important;}
body.page-id-3122 .mrmg-voice{gap:10px !important;}
body.page-id-3122 .mrmg-voice-avatar{width:46px !important;height:46px !important;border-width:2px !important;}
body.page-id-3122 .mrmg-voice-bubble{padding:10px 16px !important;border-radius:14px !important;max-width:380px !important;}
body.page-id-3122 .mrmg-voice-bubble p{font-size:.95rem !important;line-height:1.5 !important;}
body.page-id-3122 .mrmg-voice-bubble-name{font-size:.68rem !important;margin-bottom:1px !important;}



/* Single form — iframe taller */
body.page-id-3122 .mrmg-form-iframe-wrap iframe{min-height:600px;}
/* ===== /merumaga v3 end ===== */
		

/* ===== Gift redesign v4 ===== */
body.page-id-3122 .mrmg-gift{padding:90px 24px;}
body.page-id-3122 .mrmg-gift h2{font-size:clamp(1.7rem,3.2vw,2.4rem);}
body.page-id-3122 .mrmg-gift-desc{font-size:1.02rem;margin-bottom:40px;}
body.page-id-3122 .mrmg-br-sp{display:none;}
@media(max-width:640px){body.page-id-3122 .mrmg-br-sp{display:inline;}}

body.page-id-3122 .mrmg-gift-figure{max-width:620px;margin:0 auto 36px;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 70px rgba(244,140,74,.25),0 0 0 1px rgba(255,255,255,.5);position:relative;transition:transform .35s cubic-bezier(.2,.8,.2,1);}
body.page-id-3122 .mrmg-gift-figure:hover{transform:translateY(-4px) rotate(-.5deg);}
body.page-id-3122 .mrmg-gift-figure-img{display:block;width:100%;height:auto;border-radius:0;min-height:0;object-fit:contain;}
body.page-id-3122 .mrmg-gift-figure-caption{padding:14px 18px;background:#fff;color:var(--ink);font-size:.88rem;font-weight:700;display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);}
body.page-id-3122 .mrmg-gift-figure-tag{display:inline-block;padding:3px 10px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.12em;border-radius:6px;}

body.page-id-3122 .mrmg-gift-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:720px;margin:0 auto 44px;}
body.page-id-3122 .mrmg-gift-tag{background:rgba(255,255,255,.85);color:var(--ink);padding:10px 18px;border-radius:999px;font-size:.9rem;font-weight:700;border:1px solid rgba(255,255,255,.9);box-shadow:0 4px 12px rgba(0,0,0,.06);transition:transform .2s ease;}
body.page-id-3122 .mrmg-gift-tag:hover{transform:translateY(-2px);}
/* ===== /Gift redesign v4 end ===== */
		

/* ===== Custom subscribe form ===== */
body.page-id-3122 .mrmg-jform{display:flex;flex-direction:column;gap:14px;text-align:left;}
body.page-id-3122 .mrmg-jfield{display:flex;flex-direction:column;gap:6px;}
body.page-id-3122 .mrmg-jfield label{font-size:.84rem;font-weight:700;color:var(--ink);letter-spacing:.02em;}
body.page-id-3122 .mrmg-jreq{display:inline-block;background:var(--primary);color:#fff;font-size:.64rem;font-weight:800;padding:2px 7px;border-radius:4px;margin-left:4px;letter-spacing:.08em;vertical-align:middle;}
body.page-id-3122 .mrmg-jfield input{width:100%;padding:13px 16px;border:2px solid var(--line);border-radius:12px;font-size:1rem;font-family:inherit;background:#fff;color:var(--ink);transition:border-color .2s ease, box-shadow .2s ease;}
body.page-id-3122 .mrmg-jfield input:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 4px rgba(244,140,74,.15);}
body.page-id-3122 .mrmg-jsubmit{margin-top:6px;padding:16px 28px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:0;border-radius:999px;font-size:1.05rem;font-weight:800;cursor:pointer;box-shadow:0 12px 32px rgba(244,140,74,.4);transition:transform .25s ease, box-shadow .25s ease;}
body.page-id-3122 .mrmg-jsubmit:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(244,140,74,.5);}
body.page-id-3122 .mrmg-jsubmit:active{transform:translateY(0);}
body.page-id-3122 .mrmg-jmsg{min-height:24px;font-size:.92rem;font-weight:600;padding:0;border-radius:10px;text-align:center;}
body.page-id-3122 .mrmg-jmsg--loading{color:var(--ink-soft);}
body.page-id-3122 .mrmg-jmsg--ok{color:#065f46;background:#d1fae5;padding:14px 16px;border:1px solid #6ee7b7;}
body.page-id-3122 .mrmg-jmsg--err{color:#991b1b;background:#fee2e2;padding:14px 16px;border:1px solid #fca5a5;}
/* ===== /form end ===== */
		

/* ===== merumaga v7 tweaks ===== */
/* Give voices-outro (punchline) more breathing room from bubbles */
body.page-id-3122 .mrmg .mrmg-voices-outro{
  margin-top:60px !important;
  padding:24px 28px;
  background:#fff;
  border-radius:20px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  border:1px solid var(--line);
  max-width:680px;
  margin-left:auto;
  margin-right:auto;
  font-size:1.05rem;
  line-height:1.8;
}
body.page-id-3122 .mrmg .mrmg-voice-list{margin-bottom:20px !important;}

/* Feature v2 — cleaner, no number, big icon */
body.page-id-3122 .mrmg-feature--v2{
  background:linear-gradient(180deg,#fff 0%,#fff8ef 100%) !important;
  border:1px solid var(--primary-light) !important;
  border-radius:24px !important;
  padding:44px 28px 36px !important;
  text-align:center;
  position:relative;
  overflow:hidden;
  transition:all .35s cubic-bezier(.2,.8,.2,1) !important;
}
body.page-id-3122 .mrmg-feature--v2::before{
  content:"";
  position:absolute;
  top:-30px;left:-30px;
  width:120px;height:120px;
  background:radial-gradient(circle,rgba(244,140,74,.15),transparent 70%);
  border-radius:50%;
  height:120px;
  pointer-events:none;
  transition:transform .6s ease;
}
body.page-id-3122 .mrmg-feature--v2:hover::before{transform:scale(1.4);}
body.page-id-3122 .mrmg-feature--v2:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 48px rgba(244,140,74,.18) !important;
  border-color:var(--primary) !important;
}
body.page-id-3122 .mrmg-feature-icon{
  width:72px;height:72px;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;
  font-size:2.2rem;
  background:#fff;
  border-radius:50%;
  box-shadow:0 10px 24px rgba(244,140,74,.22);
  border:2px solid var(--primary-light);
  position:relative;z-index:1;
  transition:transform .35s ease;
}
body.page-id-3122 .mrmg-feature--v2:hover .mrmg-feature-icon{transform:scale(1.1) rotate(-6deg);}
body.page-id-3122 .mrmg-feature--v2 h3{
  margin:0 0 14px !important;
  font-size:1.25rem !important;
  font-weight:900 !important;
  color:var(--ink) !important;
  letter-spacing:.01em;
  position:relative;z-index:1;
}
body.page-id-3122 .mrmg-feature--v2 p{
  margin:0 !important;
  color:var(--ink-soft) !important;
  font-size:.95rem !important;
  line-height:1.8 !important;
  position:relative;z-index:1;
}
body.page-id-3122 .mrmg-feature--v2 p b{color:var(--primary-dark) !important;}

/* Hide any leftover old "01/02/03" nums just in case */
body.page-id-3122 .mrmg-feature-num{display:none !important;}
/* ===== /v7 end ===== */
		

/* Bigger merumaga voice avatars */
body.page-id-3122 .mrmg-voice-avatar{
  width:72px !important;
  height:72px !important;
  border-width:3px !important;
  box-shadow:0 6px 16px rgba(0,0,0,.12) !important;
}
body.page-id-3122 .mrmg-voice{gap:14px !important;align-items:center !important;}
body.page-id-3122 .mrmg-voice-bubble{padding:14px 18px !important;}
@media(max-width:520px){
  body.page-id-3122 .mrmg-voice-avatar{width:60px !important;height:60px !important;}
}
		

/* ===== /kick page — bold redesign ===== */
.kick{--k-coral:#ff5e3a;--k-coral-dk:#e8411a;--k-yellow:#ffd447;--k-navy:#0a1220;--k-navy-2:#1b2540;--k-ink:#0f172a;--k-ink-soft:#475569;--k-line:rgba(0,0,0,.08);--k-paper:#ffffff;--k-paper-2:#fef8f3;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Sans",sans-serif;color:var(--k-ink);line-height:1.7;}
.kick *{box-sizing:border-box;}
.kick-wrap{position:relative;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;}
.kick-inner{max-width:1180px;margin:0 auto;padding:0 24px;position:relative;z-index:1;}
.kick-sp{display:none;}
@media(max-width:640px){.kick-sp{display:inline;}}

.kick-eyebrow{display:inline-block;padding:7px 18px;background:var(--k-coral);color:#fff;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.16em;box-shadow:0 10px 26px rgba(255,94,58,.4);}
.kick-eyebrow--fire{background:linear-gradient(135deg,var(--k-coral),#ff9b3a);}
.kick-section-eyebrow{display:inline-block;color:var(--k-coral);font-weight:900;letter-spacing:.18em;font-size:.78rem;margin:0 0 14px;}
.kick-section-eyebrow--orange{color:var(--k-coral);}
.kick-h2{font-size:clamp(1.7rem,3.6vw,2.8rem);font-weight:900;color:var(--k-ink);margin:0 0 24px;line-height:1.4;letter-spacing:.01em;}
.kick-h2--white{color:#fff;}
.kick-mark{background:linear-gradient(135deg,#fff3a8,#ffdc5c);padding:2px 12px;border-radius:6px;color:var(--k-ink);display:inline-block;transform:rotate(-1deg);}
.kick-grad{background:linear-gradient(135deg,var(--k-coral),var(--k-yellow));-webkit-background-clip:text;background-clip:text;color:transparent;}
.kick-grad-y{background:linear-gradient(135deg,var(--k-yellow),#ffaa2c);-webkit-background-clip:text;background-clip:text;color:transparent;}
.kick-red{color:var(--k-coral);text-shadow:0 0 20px rgba(255,94,58,.5);}
.kick-strike{text-decoration:line-through;text-decoration-thickness:3px;color:rgba(255,255,255,.4);}

/* HERO */
.kick-hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:120px 24px 80px;color:#fff;position:relative;text-align:center;}
.kick-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 10% 20%,rgba(255,94,58,.35),transparent 50%),radial-gradient(ellipse at 90% 80%,rgba(255,212,71,.25),transparent 55%),linear-gradient(135deg,#07091a 0%,#1b2540 50%,#2d1a1a 100%);z-index:0;animation:kick-bg-shift 20s ease-in-out infinite;}
@keyframes kick-bg-shift{0%,100%{filter:hue-rotate(0deg);}50%{filter:hue-rotate(15deg);}}
.kick-hero-overlay{position:absolute;inset:0;background:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"%3E%3Cg fill="none" stroke="%23ffffff" stroke-width=".15" opacity=".12"%3E%3Cpath d="M0 50 Q25 30 50 50 T100 50"/%3E%3Cpath d="M0 70 Q25 50 50 70 T100 70"/%3E%3C/g%3E%3C/svg%3E') center/cover;z-index:0;opacity:.6;}
.kick-hero-inner{position:relative;z-index:2;max-width:1100px;}
.kick-h1{font-size:clamp(2rem,5.8vw,4.4rem);font-weight:900;line-height:1.25;margin:30px 0 24px;letter-spacing:.01em;}
.kick-h1-sm{font-size:.55em;display:inline-block;opacity:.9;font-weight:700;}
.kick-h1-big{display:block;}
.kick-hero-lead{font-size:clamp(1rem,1.5vw,1.2rem);color:rgba(255,255,255,.88);max-width:680px;margin:0 auto 44px;line-height:1.9;}
.kick-hero-lead b{color:var(--k-yellow);font-weight:800;}

.kick-hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:50px;}
.kick-cta-primary{display:inline-flex;align-items:center;gap:10px;padding:18px 42px;background:linear-gradient(135deg,var(--k-coral),var(--k-coral-dk));color:#fff;border-radius:999px;font-size:1.08rem;font-weight:900;text-decoration:none;box-shadow:0 16px 42px rgba(255,94,58,.55),0 0 0 2px rgba(255,255,255,.1) inset;transition:transform .25s ease,box-shadow .25s ease;letter-spacing:.02em;}
.kick-cta-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 22px 50px rgba(255,94,58,.7);color:#fff;}
.kick-cta-arrow{display:inline-block;transition:transform .25s ease;}
.kick-cta-primary:hover .kick-cta-arrow{transform:translateX(4px);}
.kick-cta-ghost{display:inline-flex;align-items:center;gap:10px;padding:18px 32px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px);color:#fff;border:2px solid rgba(255,255,255,.35);border-radius:999px;font-size:1rem;font-weight:800;text-decoration:none;transition:all .25s ease;}
.kick-cta-ghost:hover{background:rgba(255,255,255,.18);border-color:#fff;color:#fff;}
.kick-cta-playicon{display:inline-flex;width:26px;height:26px;border-radius:50%;background:var(--k-coral);align-items:center;justify-content:center;font-size:.7rem;padding-left:2px;}
.kick-cta-ghost--light{color:#0f172a;border-color:#0f172a;background:rgba(255,255,255,.7);}
.kick-cta-ghost--light:hover{background:#0f172a;color:#fff;}

.kick-hero-badges{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px;}
.kick-badge{background:rgba(255,255,255,.08);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:14px 22px;min-width:130px;}
.kick-badge strong{display:block;font-size:1.6rem;font-weight:900;color:var(--k-yellow);line-height:1.1;}
.kick-badge span{font-size:.78rem;color:rgba(255,255,255,.78);font-weight:600;letter-spacing:.04em;}
.kick-badge--jlc{background:linear-gradient(135deg,rgba(255,94,58,.2),rgba(255,155,58,.2));border-color:var(--k-coral);}
.kick-badge--jlc strong{color:#ffcb8a;}

.kick-hero-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.6);}
.kick-hero-scroll-text{font-size:.7rem;letter-spacing:.3em;font-weight:700;}
.kick-hero-scroll-line{width:1px;height:50px;background:linear-gradient(180deg,rgba(255,255,255,.6),transparent);position:relative;overflow:hidden;}
.kick-hero-scroll-line::after{content:"";position:absolute;top:-30%;left:0;width:100%;height:30%;background:#fff;animation:kick-scroll 2s ease-in-out infinite;}
@keyframes kick-scroll{0%{top:-30%;opacity:0;}50%{opacity:1;}100%{top:100%;opacity:0;}}

/* PROBLEM */
.kick-problem{padding:120px 24px;background:linear-gradient(180deg,#121a30 0%,#1b2540 100%);color:#fff;text-align:center;position:relative;}
.kick-problem::before{content:"";position:absolute;top:-1px;left:0;width:100%;height:80px;background:linear-gradient(180deg,#2d1a1a 0%,transparent 100%);pointer-events:none;}
.kick-problem-lead{color:rgba(255,255,255,.72);max-width:600px;margin:10px auto 50px;font-size:1rem;}
.kick-problem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;max-width:1100px;margin:0 auto;}
.kick-problem-item{background:rgba(255,255,255,.05);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:32px 22px;transition:all .3s ease;}
.kick-problem-item:hover{transform:translateY(-4px);background:rgba(255,94,58,.08);border-color:var(--k-coral);}
.kick-problem-icon{font-size:2.6rem;margin-bottom:14px;}
.kick-problem-item p{margin:0;color:rgba(255,255,255,.9);font-weight:600;font-size:.95rem;line-height:1.65;}

/* SOLUTION */
.kick-solution{padding:120px 24px;background:linear-gradient(180deg,var(--k-paper-2) 0%,#fff 100%);text-align:center;}
.kick-solution-lead{max-width:680px;margin:10px auto 50px;color:var(--k-ink-soft);font-size:1.02rem;line-height:1.9;}
.kick-solution-lead b{color:var(--k-coral-dk);}
.kick-solution-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1100px;margin:0 auto;text-align:left;}
.kick-solution-card{background:#fff;border:1px solid var(--k-line);border-radius:24px;padding:36px 28px;position:relative;overflow:hidden;transition:all .35s cubic-bezier(.2,.8,.2,1);}
.kick-solution-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--k-coral),var(--k-yellow));}
.kick-solution-card:hover{transform:translateY(-6px);box-shadow:0 24px 52px rgba(255,94,58,.15);border-color:var(--k-coral);}
.kick-solution-num{font-family:monospace;font-size:.8rem;font-weight:900;letter-spacing:.2em;color:var(--k-coral);margin-bottom:12px;}
.kick-solution-card h3{margin:0 0 14px;font-size:1.2rem;font-weight:900;color:var(--k-ink);line-height:1.4;}
.kick-solution-card p{margin:0;color:var(--k-ink-soft);font-size:.95rem;line-height:1.8;}

/* VIDEO */
.kick-video{padding:120px 24px;background:linear-gradient(135deg,#0a1220 0%,#1b2540 100%);color:#fff;text-align:center;}
.kick-video-wrap{max-width:960px;margin:30px auto 0;border-radius:20px;overflow:hidden;aspect-ratio:16/9;box-shadow:0 40px 80px rgba(0,0,0,.5),0 0 0 2px rgba(255,255,255,.08);background:#000;}
.kick-video-wrap iframe{width:100%;height:100%;border:0;}

/* FOR WHOM */
.kick-forwhom{padding:120px 24px;background:#fff;text-align:center;}
.kick-forwhom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;max-width:980px;margin:30px auto 0;}
.kick-forwhom-card{background:var(--k-paper-2);border:2px solid transparent;border-radius:16px;padding:22px 24px;display:flex;align-items:center;gap:14px;text-align:left;font-size:1rem;font-weight:600;color:var(--k-ink);transition:all .25s ease;}
.kick-forwhom-card:hover{border-color:var(--k-coral);transform:translateX(4px);}
.kick-forwhom-card b{color:var(--k-coral-dk);font-weight:800;}
.kick-forwhom-check{width:28px;height:28px;flex-shrink:0;background:linear-gradient(135deg,var(--k-coral),var(--k-coral-dk));color:#fff;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:900;font-size:.85rem;box-shadow:0 4px 10px rgba(255,94,58,.4);}

/* CURRICULUM */
.kick-curriculum{padding:120px 24px;background:linear-gradient(180deg,#fff 0%,var(--k-paper-2) 100%);text-align:center;}
.kick-timeline{max-width:900px;margin:40px auto 0;position:relative;text-align:left;}
.kick-timeline::before{content:"";position:absolute;left:30px;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--k-coral),var(--k-yellow));border-radius:3px;}
.kick-timeline-item{display:flex;gap:30px;margin-bottom:36px;position:relative;padding-left:0;}
.kick-timeline-month{flex:0 0 auto;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--k-coral),var(--k-yellow));color:#fff;display:flex;align-items:center;justify-content:center;font-family:monospace;font-size:.72rem;font-weight:900;text-align:center;line-height:1.1;box-shadow:0 8px 20px rgba(255,94,58,.35);flex-wrap:wrap;padding:6px;letter-spacing:.04em;position:relative;z-index:1;}
.kick-timeline-body{flex:1;background:#fff;border:1px solid var(--k-line);border-radius:16px;padding:22px 26px;box-shadow:0 10px 24px rgba(0,0,0,.04);}
.kick-timeline-body h3{margin:0 0 10px;font-size:1.2rem;font-weight:900;color:var(--k-ink);}
.kick-timeline-body p{margin:0;color:var(--k-ink-soft);font-size:.96rem;line-height:1.8;}

/* PRICING */
.kick-pricing{padding:120px 24px;background:linear-gradient(165deg,#fff 0%,var(--k-paper-2) 100%);text-align:center;}
.kick-pricing-lead{color:var(--k-ink-soft);margin:0 auto 50px;max-width:560px;}
.kick-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;max-width:900px;margin:0 auto;text-align:left;}
.kick-plan{background:#fff;border:2px solid var(--k-line);border-radius:28px;padding:44px 34px;position:relative;transition:all .35s ease;}
.kick-plan:hover{transform:translateY(-4px);box-shadow:0 30px 60px rgba(0,0,0,.1);}
.kick-plan--single{border-color:var(--k-line);}
.kick-plan--jlc{background:linear-gradient(160deg,#fff 0%,#fff8ef 100%);border-color:var(--k-coral);box-shadow:0 30px 60px rgba(255,94,58,.15);}
.kick-plan-ribbon{position:absolute;top:-14px;right:-10px;background:linear-gradient(135deg,var(--k-coral),var(--k-coral-dk));color:#fff;padding:8px 16px;border-radius:10px;font-size:.78rem;font-weight:900;letter-spacing:.1em;transform:rotate(4deg);box-shadow:0 10px 22px rgba(255,94,58,.4);}
.kick-plan-tag{display:inline-block;background:var(--k-paper-2);color:var(--k-coral-dk);padding:5px 12px;border-radius:6px;font-size:.72rem;font-weight:900;letter-spacing:.12em;margin-bottom:12px;}
.kick-plan--jlc .kick-plan-tag{background:var(--k-coral);color:#fff;}
.kick-plan h3{margin:0 0 22px;font-size:1.4rem;font-weight:900;color:var(--k-ink);line-height:1.4;}
.kick-plan-price{display:flex;align-items:baseline;gap:6px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px dashed var(--k-line);}
.kick-plan-currency{font-size:1.4rem;color:var(--k-ink);font-weight:800;}
.kick-plan-amount{font-size:3rem;font-weight:900;color:var(--k-ink);letter-spacing:-.02em;line-height:1;}
.kick-plan-unit{font-size:.85rem;color:var(--k-ink-soft);font-weight:600;margin-left:10px;}
.kick-plan-included{font-size:2.2rem;font-weight:900;color:var(--k-coral-dk);line-height:1.15;text-align:center;}
.kick-plan-list{list-style:none;padding:0;margin:0 0 28px;}
.kick-plan-list li{padding:8px 0;font-size:.95rem;color:var(--k-ink);font-weight:500;border-bottom:1px solid rgba(0,0,0,.04);}
.kick-plan-list li:last-child{border-bottom:0;}
.kick-plan-cta{display:flex;align-items:center;justify-content:center;padding:16px 28px;border-radius:999px;font-weight:900;text-decoration:none;font-size:1rem;transition:all .25s ease;}
.kick-plan-cta--single{background:#1b2540;color:#fff;border:2px solid #1b2540;}
.kick-plan-cta--single:hover{background:#0a1220;color:#fff;transform:translateY(-2px);}
.kick-plan-cta--jlc{background:linear-gradient(135deg,var(--k-coral),var(--k-coral-dk));color:#fff;box-shadow:0 14px 32px rgba(255,94,58,.45);}
.kick-plan-cta--jlc:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(255,94,58,.55);color:#fff;}
.kick-pricing-note{text-align:center;margin-top:30px;font-size:.82rem;color:var(--k-ink-soft);line-height:1.8;}

/* FAQ */
.kick-faq{padding:100px 24px;background:#fff;text-align:center;}
.kick-faq-list{max-width:780px;margin:30px auto 0;text-align:left;}
.kick-faq-item{background:var(--k-paper-2);border:1px solid var(--k-line);border-radius:16px;margin-bottom:12px;overflow:hidden;transition:border-color .2s ease;}
.kick-faq-item[open]{border-color:var(--k-coral);}
.kick-faq-item summary{padding:20px 26px;cursor:pointer;font-weight:800;color:var(--k-ink);font-size:1rem;list-style:none;position:relative;padding-right:50px;}
.kick-faq-item summary::-webkit-details-marker{display:none;}
.kick-faq-item summary::after{content:"＋";position:absolute;right:24px;top:50%;transform:translateY(-50%);color:var(--k-coral);font-weight:900;font-size:1.2rem;transition:transform .25s ease;}
.kick-faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.kick-faq-item p{padding:0 26px 22px;margin:0;color:var(--k-ink-soft);font-size:.95rem;line-height:1.9;}
.kick-faq-item p b{color:var(--k-coral-dk);}

/* FINAL */
.kick-final{padding:140px 24px;text-align:center;color:#fff;position:relative;overflow:hidden;}
.kick-final-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 40%,rgba(255,94,58,.4),transparent 55%),radial-gradient(ellipse at 70% 70%,rgba(255,212,71,.3),transparent 60%),linear-gradient(135deg,#1b2540 0%,#0a1220 60%,#2d1a1a 100%);}
.kick-final-h2{margin-bottom:20px;}
.kick-final-lead{font-size:1.1rem;color:rgba(255,255,255,.9);max-width:600px;margin:0 auto 40px;line-height:1.9;}
.kick-final-lead b{color:var(--k-yellow);font-weight:900;}
.kick-final-ctas{margin-top:20px;}

/* Hide SANGO breadcrumbs and default title on this page */
body.page-id-8021 .post-info,
body.page-id-8021 #breadcrumb,
body.page-id-8021 .entry-header,
body.page-id-8021 .entry-title,
body.page-id-8021 .toc,
body.page-id-8021 .post-meta{display:none !important;}
body.page-id-8021 .entry-content{padding:0 !important;margin:0 !important;}
body.page-id-8021 .article{padding:0 !important;}
body.page-id-8021 main,body.page-id-8021 .l-mainContent{padding:0 !important;}

@media(max-width:780px){
  .kick-hero{padding:100px 20px 60px;min-height:auto;}
  .kick-problem,.kick-solution,.kick-video,.kick-forwhom,.kick-curriculum,.kick-pricing,.kick-faq,.kick-final{padding:80px 20px;}
  .kick-timeline::before{left:18px;}
  .kick-timeline-month{width:36px;height:36px;font-size:.55rem;padding:4px;}
  .kick-timeline-item{gap:16px;}
  .kick-hero-badges{gap:8px;}
  .kick-badge{padding:10px 14px;min-width:100px;}
  .kick-badge strong{font-size:1.2rem;}
  .kick-plan{padding:32px 24px;}
  .kick-plan-amount{font-size:2.4rem;}
}
/* ===== /kick end ===== */
		
/* ===== /kick v2 additions ===== */
body.page-id-8021 .kick-problem-lead{color:rgba(255,255,255,.88) !important;font-size:1.02rem;}
body.page-id-8021 .kick-problem-lead b{color:var(--k-yellow);font-weight:800;}
body.page-id-8021 .kick-problem-callout{max-width:820px;margin:50px auto 0;padding:28px 32px;background:linear-gradient(135deg,rgba(255,94,58,.15),rgba(255,94,58,.08));border:1px solid rgba(255,94,58,.4);border-radius:18px;display:flex;align-items:center;gap:20px;text-align:left;}
body.page-id-8021 .kick-problem-callout-icon{font-size:2.2rem;flex-shrink:0;}
body.page-id-8021 .kick-problem-callout p{margin:0;color:#fff;font-size:.98rem;line-height:1.75;}
body.page-id-8021 .kick-problem-callout p b{color:var(--k-yellow);}
body.page-id-8021 .kick-team{margin:40px auto;text-align:center;}
body.page-id-8021 .kick-team-avatars{display:inline-flex;}
body.page-id-8021 .kick-team-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--k-coral),var(--k-yellow));display:flex;align-items:center;justify-content:center;font-size:1.8rem;border:3px solid #fff;box-shadow:0 6px 14px rgba(255,94,58,.25);margin-left:-12px;color:#fff;font-weight:900;}
body.page-id-8021 .kick-team-avatar:first-child{margin-left:0;}
body.page-id-8021 .kick-team-avatar:last-child{background:#fff;color:var(--k-coral-dk);font-size:1.3rem;border-color:var(--k-coral);}
body.page-id-8021 .kick-team-caption{margin:14px 0 0;font-size:.88rem;color:var(--k-ink-soft);font-weight:600;letter-spacing:.02em;}
body.page-id-8021 .kick-flow{padding:120px 24px;background:linear-gradient(180deg,var(--k-paper-2) 0%,#fff 100%);text-align:center;}
body.page-id-8021 .kick-flow-lead{max-width:720px;margin:10px auto 60px;color:var(--k-ink-soft);font-size:1.02rem;line-height:1.9;}
body.page-id-8021 .kick-flow-lead b{color:var(--k-coral-dk);}
body.page-id-8021 .kick-flow-steps{display:flex;align-items:stretch;justify-content:center;gap:12px;max-width:1200px;margin:0 auto;flex-wrap:wrap;}
body.page-id-8021 .kick-flow-step{flex:1;min-width:230px;background:#fff;border:2px solid var(--k-line);border-radius:24px;padding:36px 22px 30px;position:relative;transition:all .3s ease;}
body.page-id-8021 .kick-flow-step:hover{border-color:var(--k-coral);transform:translateY(-4px);box-shadow:0 20px 40px rgba(255,94,58,.12);}
body.page-id-8021 .kick-flow-step-circle{position:absolute;top:-20px;left:50%;transform:translateX(-50%);width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--k-coral),var(--k-coral-dk));color:#fff;font-family:monospace;font-weight:900;display:flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:0 6px 14px rgba(255,94,58,.4);}
body.page-id-8021 .kick-flow-step-icon{font-size:2.6rem;margin:10px 0 14px;}
body.page-id-8021 .kick-flow-step h3{margin:0 0 12px;font-size:1.1rem;font-weight:900;color:var(--k-ink);}
body.page-id-8021 .kick-flow-step p{margin:0;font-size:.9rem;color:var(--k-ink-soft);line-height:1.75;}
body.page-id-8021 .kick-flow-arrow{font-size:2rem;color:var(--k-coral);font-weight:900;display:flex;align-items:center;align-self:center;}
@media(max-width:1100px){body.page-id-8021 .kick-flow-arrow{transform:rotate(90deg);}}
body.page-id-8021 .kick-lessons{padding:120px 24px;background:linear-gradient(180deg,#fff 0%,var(--k-paper-2) 100%);text-align:center;}
body.page-id-8021 .kick-lessons-lead{max-width:720px;margin:10px auto 40px;color:var(--k-ink-soft);line-height:1.9;}
body.page-id-8021 .kick-lessons-lead b{color:var(--k-coral-dk);}
body.page-id-8021 .kick-lessons-note{display:block;margin-top:14px;padding:10px 18px;background:var(--k-paper-2);border-radius:999px;color:var(--k-coral-dk);font-weight:700;font-size:.9rem;max-width:max-content;margin-left:auto;margin-right:auto;border:1px dashed var(--k-coral);}
body.page-id-8021 .kick-lessons-list{max-width:900px;margin:0 auto;text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:720px){body.page-id-8021 .kick-lessons-list{grid-template-columns:1fr;}}
body.page-id-8021 .kick-lesson{background:#fff;border:1px solid var(--k-line);border-radius:14px;overflow:hidden;transition:border-color .2s ease;}
body.page-id-8021 .kick-lesson[open]{border-color:var(--k-coral);box-shadow:0 12px 26px rgba(255,94,58,.08);}
body.page-id-8021 .kick-lesson summary{padding:16px 20px;cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;font-weight:800;color:var(--k-ink);position:relative;padding-right:44px;}
body.page-id-8021 .kick-lesson summary::-webkit-details-marker{display:none;}
body.page-id-8021 .kick-lesson summary::after{content:"＋";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--k-coral);font-weight:900;font-size:1.1rem;transition:transform .25s ease;}
body.page-id-8021 .kick-lesson[open] summary::after{transform:translateY(-50%) rotate(45deg);}
body.page-id-8021 .kick-lesson-num{font-family:monospace;background:linear-gradient(135deg,var(--k-coral),var(--k-coral-dk));color:#fff;padding:4px 10px;border-radius:6px;font-size:.7rem;font-weight:900;letter-spacing:.04em;flex-shrink:0;}
body.page-id-8021 .kick-lesson-title{font-size:.96rem;}
body.page-id-8021 .kick-lesson-steps{padding:12px 20px 18px;background:var(--k-paper-2);border-top:1px dashed var(--k-line);display:flex;flex-direction:column;gap:6px;}
body.page-id-8021 .kick-lesson-step{font-size:.85rem;color:var(--k-ink);display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.04);}
body.page-id-8021 .kick-lesson-step:last-child{border-bottom:0;}
body.page-id-8021 .kick-lesson-step-num{background:#fff;color:var(--k-coral-dk);font-family:monospace;padding:2px 8px;border-radius:4px;font-weight:900;font-size:.68rem;flex-shrink:0;border:1px solid var(--k-coral);}
body.page-id-8021 .kick-lesson-step small{display:block;color:var(--k-ink-soft);margin-top:3px;font-size:.82rem;line-height:1.65;}
body.page-id-8021 .kick-support{padding:80px 24px;background:linear-gradient(180deg,var(--k-paper-2) 0%,#fff 100%);}
body.page-id-8021 .kick-support-card{max-width:960px;margin:0 auto;display:flex;gap:28px;align-items:center;padding:44px 44px;background:linear-gradient(135deg,#fff7ef 0%,#fff 50%,#fff7ef 100%);border:2px dashed var(--k-coral);border-radius:28px;position:relative;overflow:hidden;}
body.page-id-8021 .kick-support-card::before{content:"";position:absolute;top:-50px;right:-50px;width:200px;height:200px;background:radial-gradient(circle,rgba(255,94,58,.1),transparent 70%);border-radius:50%;}
body.page-id-8021 .kick-support-icon{font-size:4rem;flex-shrink:0;filter:drop-shadow(0 6px 14px rgba(255,94,58,.3));position:relative;z-index:1;}
body.page-id-8021 .kick-support-body{position:relative;z-index:1;}
body.page-id-8021 .kick-support-body .kick-section-eyebrow{margin-bottom:4px;}
body.page-id-8021 .kick-support-body .kick-h2{font-size:1.6rem;margin-bottom:14px;}
body.page-id-8021 .kick-support-body p{margin:0;color:var(--k-ink-soft);line-height:1.9;font-size:.95rem;}
body.page-id-8021 .kick-support-body p b{color:var(--k-coral-dk);}
@media(max-width:720px){body.page-id-8021 .kick-support-card{flex-direction:column;padding:32px 24px;text-align:center;}}
body.page-id-8021 .kick-plan-points{display:flex;flex-direction:column;gap:10px;margin:0 0 30px;}
body.page-id-8021 .kick-plan-point{display:flex;align-items:flex-start;gap:12px;padding:10px 0;font-size:.94rem;color:var(--k-ink);font-weight:500;line-height:1.55;border-bottom:1px solid rgba(0,0,0,.04);}
body.page-id-8021 .kick-plan-point:last-child{border-bottom:0;}
body.page-id-8021 .kick-plan-point-label{flex-shrink:0;min-width:44px;padding:3px 8px;background:var(--k-paper-2);color:var(--k-coral-dk);border-radius:5px;font-family:monospace;font-size:.7rem;font-weight:900;letter-spacing:.04em;text-align:center;margin-top:2px;}
body.page-id-8021 .kick-plan--jlc .kick-plan-point-label{background:var(--k-coral);color:#fff;}
body.page-id-8021 .kick-plan-list{display:none !important;}
/* ===== /kick v2 end ===== */		
/* ===== /kick v3 — illustrations + layout + contrast ===== */
/* FIX left bias: force content to be centered within each section */
body.page-id-8021 .kick-inner{margin-left:auto !important;margin-right:auto !important;text-align:center;}
body.page-id-8021 .kick-inner > h2,
body.page-id-8021 .kick-inner > .kick-h2,
body.page-id-8021 .kick-inner > p{text-align:center;}
body.page-id-8021 .kick-wrap{left:0;right:0;margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important;}

/* DARK SECTIONS — stronger text contrast */
body.page-id-8021 .kick-problem h2,
body.page-id-8021 .kick-video h2,
body.page-id-8021 .kick-final h2{color:#ffffff !important;text-shadow:0 2px 12px rgba(0,0,0,.5);}
body.page-id-8021 .kick-problem-lead,
body.page-id-8021 .kick-problem-item p,
body.page-id-8021 .kick-final-lead{color:#ffffff !important;}
body.page-id-8021 .kick-problem-lead{color:rgba(255,255,255,.96) !important;font-size:1.06rem;}
body.page-id-8021 .kick-problem-item{background:rgba(255,255,255,.12) !important;border-color:rgba(255,255,255,.25) !important;}
body.page-id-8021 .kick-problem-item p{color:#fff !important;font-weight:700;}
body.page-id-8021 .kick-final-lead{color:rgba(255,255,255,.95) !important;}
body.page-id-8021 .kick-section-eyebrow{color:#ffd447 !important;}
body.page-id-8021 .kick-solution .kick-section-eyebrow,
body.page-id-8021 .kick-flow .kick-section-eyebrow,
body.page-id-8021 .kick-lessons .kick-section-eyebrow,
body.page-id-8021 .kick-forwhom .kick-section-eyebrow,
body.page-id-8021 .kick-pricing .kick-section-eyebrow,
body.page-id-8021 .kick-faq .kick-section-eyebrow,
body.page-id-8021 .kick-support .kick-section-eyebrow{color:var(--k-coral) !important;}

/* TEACHER AVATARS — replace emoji circles with real images */
body.page-id-8021 .kick-team-avatar{padding:0;overflow:hidden;background:#fff;}
body.page-id-8021 .kick-team-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;}
body.page-id-8021 .kick-team-avatar:hover{transform:translateY(-4px) scale(1.08);z-index:2;}
body.page-id-8021 .kick-team-avatar{width:74px !important;height:74px !important;transition:transform .3s ease;position:relative;}

/* DECORATIVE ILLUSTRATIONS — floating in section backgrounds */
body.page-id-8021 .kick-deco{position:absolute;width:180px;height:180px;object-fit:contain;opacity:.14;z-index:0;pointer-events:none;filter:drop-shadow(0 6px 14px rgba(0,0,0,.1));}
body.page-id-8021 .kick-deco--problem{top:60px;left:3%;opacity:.22;width:140px;height:140px;transform:rotate(-8deg);}
body.page-id-8021 .kick-deco--problem-r{bottom:60px;right:3%;opacity:.22;width:160px;height:160px;transform:rotate(6deg);}
body.page-id-8021 .kick-deco--flow{top:40px;left:2%;width:120px;height:120px;opacity:.18;transform:rotate(-4deg);}
body.page-id-8021 .kick-deco--flow-r{bottom:40px;right:2%;width:140px;height:140px;opacity:.18;transform:rotate(8deg);}
body.page-id-8021 .kick-deco--forwhom{top:50%;right:4%;width:140px;height:140px;opacity:.15;transform:translateY(-50%) rotate(4deg);}
body.page-id-8021 .kick-deco--lessons{top:80px;left:3%;width:130px;height:130px;opacity:.16;transform:rotate(-6deg);}
body.page-id-8021 .kick-deco--lessons-r{bottom:100px;right:3%;width:140px;height:140px;opacity:.16;transform:rotate(6deg);}
@media(max-width:1000px){body.page-id-8021 .kick-deco{display:none;}}

/* SUPPORT — use illustration instead of &#x1f6df; icon */
body.page-id-8021 .kick-support-icon{width:120px;height:120px;padding:8px;background:#fff;border-radius:50%;box-shadow:0 10px 26px rgba(255,94,58,.28);border:3px solid var(--k-coral);display:flex;align-items:center;justify-content:center;overflow:hidden;}
body.page-id-8021 .kick-support-icon img{width:100%;height:100%;object-fit:cover;border-radius:50%;}

/* Hero — slightly bigger lead + more breathing room */
body.page-id-8021 .kick-hero-inner{margin-left:auto;margin-right:auto;}

/* Make PROBLEM background darker for better text contrast */
body.page-id-8021 .kick-problem{background:linear-gradient(180deg,#0a1424 0%,#121e38 100%) !important;}
body.page-id-8021 .kick-final{background:transparent;}
body.page-id-8021 .kick-final-bg{background:linear-gradient(135deg,#0a1424 0%,#1b2540 55%,#2a1410 100%) !important;}
body.page-id-8021 .kick-video{background:linear-gradient(135deg,#0a1424 0%,#121e38 100%) !important;}
/* ===== /kick v3 end ===== */		

/* ===== /kick v4 — deco positioning fix ===== */
body.page-id-8021 .kick-wrap{position:relative;}
body.page-id-8021 .kick-inner{position:relative;z-index:2;}
body.page-id-8021 .kick-deco--problem,body.page-id-8021 .kick-deco--problem-r,body.page-id-8021 .kick-deco--flow,body.page-id-8021 .kick-deco--flow-r,body.page-id-8021 .kick-deco--forwhom,body.page-id-8021 .kick-deco--lessons,body.page-id-8021 .kick-deco--lessons-r{display:none !important;}
body.page-id-8021 .kick-wrap > .kick-deco{position:absolute !important;width:100px;height:100px;object-fit:contain;opacity:.12;z-index:0;pointer-events:none;filter:drop-shadow(0 4px 10px rgba(0,0,0,.15));}
body.page-id-8021 .kick-wrap .kick-deco--tl{top:24px;left:24px;transform:rotate(-8deg);}
body.page-id-8021 .kick-wrap .kick-deco--tr{top:24px;right:24px;transform:rotate(8deg);}
body.page-id-8021 .kick-wrap .kick-deco--bl{bottom:24px;left:24px;transform:rotate(-6deg);}
body.page-id-8021 .kick-wrap .kick-deco--br{bottom:24px;right:24px;transform:rotate(6deg);}
body.page-id-8021 .kick-forwhom .kick-deco,body.page-id-8021 .kick-flow .kick-deco,body.page-id-8021 .kick-lessons .kick-deco,body.page-id-8021 .kick-pricing .kick-deco{opacity:.16;}
body.page-id-8021 .kick-problem .kick-deco{opacity:.18;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35)) brightness(1.2);}
@media(max-width:1100px){body.page-id-8021 .kick-wrap > .kick-deco{display:none !important;}}
body.page-id-8021 .kick-hero{overflow:hidden !important;}
body.page-id-8021 .kick-hero > .kick-deco,body.page-id-8021 .kick-hero .kick-deco{display:none !important;}
body.page-id-8021 .kick-hero-inner{text-align:center !important;margin:0 auto !important;width:100%;}
body.page-id-8021 .kick-hero-inner .kick-h1,body.page-id-8021 .kick-hero-inner .kick-hero-lead,body.page-id-8021 .kick-hero-inner .kick-hero-ctas,body.page-id-8021 .kick-hero-inner .kick-hero-badges{text-align:center !important;}
body.page-id-8021 .kick-hero-ctas{justify-content:center !important;}
body.page-id-8021 .kick-hero-badges{justify-content:center !important;}
body.page-id-8021 .kick-hero-lead{color:rgba(255,255,255,.94) !important;text-shadow:0 2px 10px rgba(0,0,0,.5);}
/* ===== /kick v4 end ===== */
		

/* ===== /kick v5 — final centering fix ===== */
body.page-id-8021 .entry-content,body.page-id-8021 #main .entry-content,body.page-id-8021 #inner-content .entry-content{max-width:none !important;width:100% !important;margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important;}
body.page-id-8021 #inner-content.wrap,body.page-id-8021 #inner-content{max-width:none !important;width:100% !important;margin:0 !important;padding:0 !important;}
body.page-id-8021 #main,body.page-id-8021 main#main.m-all{max-width:none !important;width:100% !important;margin:0 !important;padding:0 !important;float:none !important;}
body.page-id-8021 #content,body.page-id-8021 #content.page-forfront{padding:0 !important;}
body.page-id-8021 .kick{width:100%;max-width:none;}
body.page-id-8021 .kick-problem-callout{background:linear-gradient(135deg,rgba(255,94,58,.2),rgba(255,94,58,.1)) !important;color:#fff !important;}
body.page-id-8021 .kick-problem-callout p{color:#fff !important;font-weight:700 !important;font-size:1rem !important;}
body.page-id-8021 .kick-problem-callout p b{color:#ffd447 !important;}
/* ===== /kick v5 end ===== */
		

/* ===== /kick v6 — center leads ===== */
body.page-id-8021 .kick-problem-lead,
body.page-id-8021 .kick-solution-lead,
body.page-id-8021 .kick-pricing-lead{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:760px;
}
body.page-id-8021 .kick-forwhom-card,
body.page-id-8021 .kick-plan{text-align:left;}
/* ===== /kick v6 end ===== */
		

/* ===== /kick v7 — chips + center final ===== */
body.page-id-8021 .kick-support-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
body.page-id-8021 .kick-support-chip{background:#fff;color:var(--k-coral-dk);padding:8px 16px;border-radius:999px;font-size:.85rem;font-weight:700;border:2px solid var(--k-coral);box-shadow:0 4px 12px rgba(255,94,58,.12);transition:transform .2s ease;}
body.page-id-8021 .kick-support-chip:hover{transform:translateY(-2px);}
@media(max-width:720px){body.page-id-8021 .kick-support-chips{justify-content:center;}}

body.page-id-8021 .kick-final-lead{text-align:center !important;margin-left:auto !important;margin-right:auto !important;max-width:620px;}
body.page-id-8021 .kick-final-h2{text-align:center !important;}

/* Ensure 8 problem items wrap nicely — 4 per row on wide screens */
@media(min-width:1100px){body.page-id-8021 .kick-problem-grid{grid-template-columns:repeat(4,1fr);}}
/* ===== /kick v7 end ===== */
		

/* ===== /kick v8 — center hero-lead + support video ===== */
body.page-id-8021 .kick-hero-lead{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:660px;
}

/* Support video inside the card */
body.page-id-8021 .kick-support-video-wrap{
  margin:20px 0 18px;
  border-radius:16px;
  overflow:hidden;
  aspect-ratio:16/9;
  box-shadow:0 16px 36px rgba(0,0,0,.18),0 0 0 2px rgba(255,94,58,.15);
  background:#000;
  max-width:640px;
}
body.page-id-8021 .kick-support-video-wrap iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
/* Support card — allow video to fit naturally */
body.page-id-8021 .kick-support-card{flex-wrap:wrap;}
body.page-id-8021 .kick-support-body{flex:1;min-width:280px;}
/* ===== /kick v8 end ===== */
		

/* ===== /kick v9 — decorative video frames ===== */
/* Hide old support icon (ring) if any lingering */
body.page-id-8021 .kick-support-icon{display:none !important;}

/* Fancy frame wrapper for ALL kick videos */
body.page-id-8021 .kick-video-wrap,
body.page-id-8021 .kick-support-video-wrap{
  position:relative;
  padding:12px;
  background:linear-gradient(135deg,rgba(255,94,58,.75),rgba(255,212,71,.65),rgba(255,94,58,.75));
  border-radius:24px;
  overflow:visible;
  box-shadow:0 24px 60px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.15) inset;
  aspect-ratio:auto;
}

body.page-id-8021 .kick-video-wrap::before,
body.page-id-8021 .kick-support-video-wrap::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,94,58,.2),rgba(255,212,71,.15) 40%,rgba(255,94,58,.2));
  border-radius:24px;
  filter:blur(20px);
  opacity:.6;
  z-index:-1;
}

body.page-id-8021 .kick-video-wrap iframe,
body.page-id-8021 .kick-support-video-wrap iframe{
  width:100% !important;
  aspect-ratio:16/9;
  height:auto !important;
  border-radius:14px;
  display:block;
  background:#000;
  box-shadow:0 0 0 2px rgba(0,0,0,.35);
}

/* Corner brackets — film camera style */
body.page-id-8021 .kick-video-wrap::after,
body.page-id-8021 .kick-support-video-wrap::after{
  content:"";
  position:absolute;
  top:-8px;left:-8px;right:-8px;bottom:-8px;
  pointer-events:none;
  background:
    linear-gradient(90deg,#ff5e3a 0 28px,transparent 28px) top left no-repeat,
    linear-gradient(0deg,#ff5e3a 0 28px,transparent 28px) top left no-repeat,
    linear-gradient(-90deg,#ffd447 0 28px,transparent 28px) top right no-repeat,
    linear-gradient(0deg,#ffd447 0 28px,transparent 28px) top right no-repeat,
    linear-gradient(90deg,#ffd447 0 28px,transparent 28px) bottom left no-repeat,
    linear-gradient(180deg,#ffd447 0 28px,transparent 28px) bottom left no-repeat,
    linear-gradient(-90deg,#ff5e3a 0 28px,transparent 28px) bottom right no-repeat,
    linear-gradient(180deg,#ff5e3a 0 28px,transparent 28px) bottom right no-repeat;
  background-size:28px 3px,3px 28px,28px 3px,3px 28px,28px 3px,3px 28px,28px 3px,3px 28px;
  border-radius:0;
  z-index:2;
}

/* Support video: tighter (still show brackets) */
body.page-id-8021 .kick-support-video-wrap{
  max-width:640px;
  margin:22px 0 20px;
}

/* Main hero-below video: bigger */
body.page-id-8021 .kick-video .kick-video-wrap{
  max-width:960px;
  margin:30px auto 0;
}

/* Subtle pulse on hover */
body.page-id-8021 .kick-video-wrap:hover,
body.page-id-8021 .kick-support-video-wrap:hover{
  box-shadow:0 28px 70px rgba(0,0,0,.4),0 0 30px rgba(255,94,58,.3);
  transition:box-shadow .35s ease;
}
/* ===== /kick v9 end ===== */
		

/* ===== /kick v10 — center support video + chips ===== */
body.page-id-8021 .kick-support-video-wrap{
  margin:22px auto 20px !important;
  max-width:640px;
}
body.page-id-8021 .kick-support-chips{
  justify-content:center !important;
}
body.page-id-8021 .kick-support-body{
  text-align:center !important;
}
body.page-id-8021 .kick-support-body .kick-section-eyebrow,
body.page-id-8021 .kick-support-body h2,
body.page-id-8021 .kick-support-body p{
  text-align:center !important;
}
/* ===== /kick v10 end ===== */
		
/* ===== /nyumon-shokyu — adventure map ===== */
.adv{font-family:sans-serif;color:#0f1d2e;}
/* ===== /adv end ===== */		
/* ===== /nyumon-shokyu — adventure map ===== */
.adv{--adv-green:#3aa063;--adv-green-d:#1f7741;--adv-blue:#3a8fde;--adv-blue-d:#1f5fa8;--adv-orange:#f08a3c;--adv-orange-d:#cc6618;--adv-purple:#8a52d6;--adv-purple-d:#5a2ea8;--adv-gold:#f6c945;--adv-gold-d:#c89a17;--adv-ink:#0f1d2e;--adv-cream:#fff8ee;color:#0f1d2e;line-height:1.7;}
.adv *{box-sizing:border-box;}
.adv .adv-hero,.adv .adv-stage,.adv .adv-final,.adv .adv-legend{position:relative;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;}
body.page-id-5770 .entry-content{max-width:none !important;width:100% !important;margin:0 !important;padding:0 !important;}
body.page-id-5770 #inner-content,body.page-id-5770 #main,body.page-id-5770 #content{max-width:none !important;width:100% !important;margin:0 !important;padding:0 !important;}
body.page-id-5770 .post-info,body.page-id-5770 #breadcrumb,body.page-id-5770 .entry-header,body.page-id-5770 .toc{display:none !important;}
.adv-eyebrow{display:inline-block;padding:8px 22px;background:rgba(255,255,255,.92);color:var(--adv-orange-d);border-radius:999px;font-size:.78rem;font-weight:900;letter-spacing:.16em;box-shadow:0 6px 18px rgba(0,0,0,.18);border:2px dashed var(--adv-orange);}
.adv-eyebrow--gold{background:linear-gradient(135deg,#fff7d0,#ffe59c);color:#7a5800;border-color:var(--adv-gold-d);}
.adv-hero{padding:100px 24px 140px;text-align:center;color:#fff;background:radial-gradient(ellipse at 30% 30%,#7fb6ff,transparent 50%),radial-gradient(ellipse at 70% 70%,#ffd470,transparent 50%),linear-gradient(160deg,#5fa8ff 0%,#3a7fcf 50%,#1f4fa0 100%);}
.adv-hero-clouds{position:absolute;top:30px;left:0;width:100%;font-size:3rem;opacity:.6;letter-spacing:120px;text-align:center;animation:adv-cloud 60s linear infinite;}
@keyframes adv-cloud{0%{transform:translateX(-30px);}100%{transform:translateX(30px);}}
.adv-hero-inner{max-width:920px;margin:0 auto;position:relative;z-index:2;}
.adv-h1{font-size:clamp(2rem,5.6vw,4.4rem);font-weight:900;line-height:1.25;margin:30px 0 24px;text-shadow:0 4px 22px rgba(0,0,0,.4);}
.adv-h1-kicker{font-size:.45em;display:inline-block;background:#fff;color:var(--adv-blue-d);padding:6px 18px;border-radius:999px;font-weight:900;letter-spacing:.08em;text-shadow:none;}
.adv-h1-main{display:block;letter-spacing:.02em;}
.adv-h1-sub{background:linear-gradient(135deg,#fff,#ffd470);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;}
.adv-hero-lead{font-size:clamp(1rem,1.5vw,1.18rem);max-width:660px;margin:0 auto 40px;line-height:1.95;color:rgba(255,255,255,.95);text-shadow:0 2px 8px rgba(0,0,0,.4);}
.adv-hero-lead b{color:var(--adv-gold);font-weight:900;background:rgba(15,29,46,.4);padding:2px 8px;border-radius:6px;}
.adv-cta{display:inline-flex;align-items:center;gap:10px;padding:20px 44px;background:linear-gradient(135deg,#ff7e3a,#e8401a);color:#fff;border-radius:999px;font-size:1.1rem;font-weight:900;text-decoration:none;box-shadow:0 18px 40px rgba(232,64,26,.5),0 0 0 3px rgba(255,255,255,.4) inset;letter-spacing:.06em;transition:transform .25s ease,box-shadow .25s ease;}
.adv-cta:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 24px 50px rgba(232,64,26,.65);color:#fff;}
.adv-cta--gold{background:linear-gradient(135deg,#ffd75a,#c89417);color:#3a2400;box-shadow:0 18px 40px rgba(200,148,23,.5),0 0 0 3px rgba(255,255,255,.6) inset;}
.adv-cta--gold:hover{color:#3a2400;}
.adv-hero-mascot{font-size:5rem;margin-top:30px;animation:adv-bob 2.4s ease-in-out infinite;display:inline-block;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3));}
@keyframes adv-bob{0%,100%{transform:translateY(0) rotate(-4deg);}50%{transform:translateY(-12px) rotate(4deg);}}
.adv-legend{padding:50px 24px 30px;background:var(--adv-cream);}
.adv-legend-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;}
.adv-legend-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border-radius:14px;border:2px solid rgba(0,0,0,.06);box-shadow:0 6px 14px rgba(0,0,0,.06);transition:transform .2s ease;}
.adv-legend-item:hover{transform:translateY(-3px);}
.adv-legend-item--final{border-color:var(--adv-gold-d);background:linear-gradient(135deg,#fff7d0,#ffe59c);}
.adv-legend-icon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex-shrink:0;color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.2);}
.adv-legend-icon--green{background:linear-gradient(135deg,var(--adv-green),var(--adv-green-d));}
.adv-legend-icon--blue{background:linear-gradient(135deg,var(--adv-blue),var(--adv-blue-d));}
.adv-legend-icon--orange{background:linear-gradient(135deg,var(--adv-orange),var(--adv-orange-d));}
.adv-legend-icon--purple{background:linear-gradient(135deg,var(--adv-purple),var(--adv-purple-d));}
.adv-legend-icon--gold{background:linear-gradient(135deg,var(--adv-gold),var(--adv-gold-d));color:#3a2400;}
.adv-legend-body{display:flex;flex-direction:column;line-height:1.3;}
.adv-legend-body b{font-size:.7rem;color:var(--adv-ink);letter-spacing:.06em;font-weight:900;}
.adv-legend-body span{font-size:.85rem;color:#475569;font-weight:600;}
.adv-legend-arrow{font-size:1.4rem;color:var(--adv-ink);opacity:.4;font-weight:900;}
@media(max-width:780px){.adv-legend-arrow{transform:rotate(90deg);}}
.adv-stage{padding:90px 24px 110px;}
.adv-stage-bg{position:absolute;inset:0;z-index:0;opacity:.92;}
.adv-stage--green{background:linear-gradient(180deg,#d4f0d8 0%,#b3e3bd 100%);}
.adv-stage--blue{background:linear-gradient(180deg,#d4e9ff 0%,#b3d6f5 100%);}
.adv-stage--orange{background:linear-gradient(180deg,#ffe9cc 0%,#ffd0a3 100%);}
.adv-stage--purple{background:linear-gradient(180deg,#ead4ff 0%,#d4b3ff 100%);}
.adv-stage-inner{max-width:1100px;margin:0 auto;position:relative;z-index:1;}
.adv-stage-banner{display:flex;align-items:center;gap:24px;padding:28px 32px;background:#fff;border-radius:24px;box-shadow:0 18px 40px rgba(0,0,0,.12);border:3px solid rgba(15,29,46,.06);margin-bottom:50px;}
.adv-stage-banner-icon{width:80px;height:80px;border-radius:24px;font-size:2.6rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.2);}
.adv-stage--green .adv-stage-banner-icon{background:linear-gradient(135deg,var(--adv-green),var(--adv-green-d));}
.adv-stage--blue .adv-stage-banner-icon{background:linear-gradient(135deg,var(--adv-blue),var(--adv-blue-d));}
.adv-stage--orange .adv-stage-banner-icon{background:linear-gradient(135deg,var(--adv-orange),var(--adv-orange-d));}
.adv-stage--purple .adv-stage-banner-icon{background:linear-gradient(135deg,var(--adv-purple),var(--adv-purple-d));}
.adv-stage-banner-body{flex:1;}
.adv-stage-eyebrow{font-size:.74rem;font-weight:900;letter-spacing:.14em;color:var(--adv-ink);opacity:.5;}
.adv-stage-title{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:900;margin:6px 0 6px;color:var(--adv-ink);}
.adv-stage-desc{margin:0;color:#475569;font-size:.95rem;line-height:1.7;}
.adv-stage-banner-terrain{font-size:1.6rem;letter-spacing:.04em;flex-shrink:0;display:none;}
@media(min-width:780px){.adv-stage-banner-terrain{display:block;}}
.adv-stage-path{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 14px;position:relative;}
@media(max-width:1000px){.adv-stage-path{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.adv-stage-path{grid-template-columns:1fr;}}
.adv-node{display:flex;align-items:center;gap:14px;padding:16px 20px 16px 18px;background:#fff;border-radius:18px;text-decoration:none;border:2px solid transparent;box-shadow:0 8px 20px rgba(0,0,0,.08);transition:all .3s cubic-bezier(.2,.8,.2,1);position:relative;color:var(--adv-ink);}
.adv-node:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 18px 36px rgba(0,0,0,.18);color:var(--adv-ink);}
.adv-stage--green .adv-node:hover{border-color:var(--adv-green);}
.adv-stage--blue .adv-node:hover{border-color:var(--adv-blue);}
.adv-stage--orange .adv-node:hover{border-color:var(--adv-orange);}
.adv-stage--purple .adv-node:hover{border-color:var(--adv-purple);}
.adv-node-num{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.95rem;color:#fff;box-shadow:0 4px 8px rgba(0,0,0,.2);}
.adv-stage--green .adv-node-num{background:linear-gradient(135deg,var(--adv-green),var(--adv-green-d));}
.adv-stage--blue .adv-node-num{background:linear-gradient(135deg,var(--adv-blue),var(--adv-blue-d));}
.adv-stage--orange .adv-node-num{background:linear-gradient(135deg,var(--adv-orange),var(--adv-orange-d));}
.adv-stage--purple .adv-node-num{background:linear-gradient(135deg,var(--adv-purple),var(--adv-purple-d));}
.adv-node-title{font-size:.86rem;font-weight:700;line-height:1.45;color:var(--adv-ink);}
.adv-node--boss{grid-column:1/-1;justify-content:center;padding:24px 32px;background:linear-gradient(135deg,#fff7d0,#ffe59c);border:3px dashed var(--adv-gold-d);}
.adv-node--boss .adv-node-num{width:54px;height:54px;font-size:1.8rem;background:linear-gradient(135deg,var(--adv-gold),var(--adv-gold-d)) !important;color:#3a2400;}
.adv-node--boss .adv-node-title{font-size:1.05rem;font-weight:900;color:#7a5800;}
.adv-final{padding:120px 24px;text-align:center;background:radial-gradient(ellipse at center,#fff7d0,transparent 60%),linear-gradient(160deg,#3a2a4f 0%,#1a1024 100%);color:#fff;position:relative;}
.adv-final-inner{max-width:760px;margin:0 auto;position:relative;z-index:1;}
.adv-final-castle{font-size:6rem;margin-bottom:20px;display:inline-block;animation:adv-bob 3s ease-in-out infinite;filter:drop-shadow(0 12px 30px rgba(255,212,90,.5));}
.adv-final-h2{font-size:clamp(1.8rem,3.6vw,2.8rem);font-weight:900;margin:20px 0 18px;text-shadow:0 4px 18px rgba(0,0,0,.5);color:#fff;}
.adv-final-lead{font-size:1.05rem;line-height:2;color:rgba(255,255,255,.92);max-width:580px;margin:0 auto 36px;}
.adv-final-lead b{color:var(--adv-gold);}
.adv-final-stars{position:absolute;top:24px;left:0;width:100%;text-align:center;font-size:1.4rem;letter-spacing:24px;opacity:.6;}
@media(max-width:780px){.adv-stage{padding:60px 18px 80px;}.adv-stage-banner{flex-direction:column;text-align:center;padding:22px 20px;}.adv-stage-banner-icon{width:64px;height:64px;font-size:2rem;}.adv-hero{padding:70px 18px 110px;}.adv-final{padding:80px 18px;}}
/* ===== /adv end ===== */		


/* === nyumon-shokyu adventure map: center leads + clickable legend === */
body.page-id-5770 .adv-hero-lead,
body.page-id-5770 .adv-final-lead { margin-left:auto !important; margin-right:auto !important; }
body.page-id-5770 a.adv-legend-item,
body.page-id-5770 a.adv-legend-item:hover,
body.page-id-5770 a.adv-legend-item:focus,
body.page-id-5770 a.adv-legend-item:visited { text-decoration:none !important; color:inherit !important; cursor:pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
body.page-id-5770 a.adv-legend-item:hover { transform: translateY(-4px) scale(1.03); box-shadow: 0 14px 28px rgba(0,0,0,.12); }
body.page-id-5770 .adv-stage,
body.page-id-5770 .adv-final { scroll-margin-top: 80px; }
html { scroll-behavior: smooth; }
		


/* === chukyu/jokyu shared full-width + polish === */
body.page-id-5773 .entry-content,
body.page-id-5775 .entry-content { max-width:none !important; width:100% !important; margin:0 !important; padding:0 !important; }
body.page-id-5773 #inner-content, body.page-id-5773 #main, body.page-id-5773 #content,
body.page-id-5775 #inner-content, body.page-id-5775 #main, body.page-id-5775 #content { max-width:none !important; width:100% !important; margin:0 !important; padding:0 !important; }
body.page-id-5773 .m-all, body.page-id-5775 .m-all { width:100% !important; max-width:none !important; }
body.page-id-5773 .cadv-wrap, body.page-id-5775 .jadv-wrap { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height:1.7; color:#1a2540; }
body.page-id-5773 .cadv-wrap *, body.page-id-5775 .jadv-wrap * { box-sizing:border-box; }
body.page-id-5773 .cadv-wrap section, body.page-id-5775 .jadv-wrap section { box-sizing:border-box; }

/* === chukyu (page-id-5773) ocean voyage adventure map === */

/* HERO - ocean (richer with sun, layered waves, floating ships) */
body.page-id-5773 .cadv-hero { position:relative; padding:110px 24px 130px; background: linear-gradient(180deg,#082f49 0%,#0c4a6e 30%,#0e7490 65%,#22d3ee 100%); color:#fff; overflow:hidden; }
body.page-id-5773 .cadv-hero::before { content:''; position:absolute; top:60px; right:8%; width:140px; height:140px; border-radius:50%; background: radial-gradient(circle,#fef3c7 0%, #fbbf24 60%, transparent 70%); filter: blur(2px); animation: cadvSunPulse 6s ease-in-out infinite alternate; z-index:1; }
@keyframes cadvSunPulse { 0%{ transform:scale(1); opacity:.85; } 100%{ transform:scale(1.08); opacity:1; } }
body.page-id-5773 .cadv-hero::after { content:'&#x26f5;'; position:absolute; top:38%; left:6%; font-size:54px; animation: cadvBoat 9s ease-in-out infinite alternate; opacity:.85; }
@keyframes cadvBoat { 0%{ transform:translate(0,0) rotate(-3deg); } 50%{ transform:translate(30px,-8px) rotate(2deg); } 100%{ transform:translate(60px,0) rotate(-2deg); } }
body.page-id-5773 .cadv-hero-waves { position:absolute; left:0; right:0; bottom:0; height:160px; background: repeating-radial-gradient(ellipse 50% 80% at 30% 100%, rgba(255,255,255,.12) 0,rgba(255,255,255,.08) 40px,transparent 80px), repeating-radial-gradient(ellipse 50% 80% at 70% 100%, rgba(255,255,255,.10) 0,rgba(255,255,255,.06) 40px,transparent 80px); animation: cadvWave 9s ease-in-out infinite alternate; pointer-events:none; }
@keyframes cadvWave { 0%{ transform:translateX(-30px); } 100%{ transform:translateX(30px); } }
body.page-id-5773 .cadv-hero-inner { max-width:920px; margin:0 auto; text-align:center; position:relative; z-index:5; }
body.page-id-5773 .cadv-eyebrow { display:inline-block; padding:8px 20px; border-radius:999px; background:rgba(255,255,255,.18); font-size:14px; letter-spacing:.06em; backdrop-filter: blur(6px); font-weight:700; }
body.page-id-5773 .cadv-h1 { margin:28px 0 22px; line-height:1.18; }
body.page-id-5773 .cadv-h1-kicker { display:block; font-size:18px; font-weight:600; opacity:.92; margin-bottom:8px; letter-spacing:.05em; }
body.page-id-5773 .cadv-h1-main { display:block; font-size:48px; font-weight:900; text-shadow: 0 4px 14px rgba(0,0,0,.25); }
body.page-id-5773 .cadv-h1-accent { background: linear-gradient(135deg,#fde68a,#fbbf24); -webkit-background-clip:text; background-clip:text; color:transparent; }
body.page-id-5773 .cadv-hero-lead { max-width:720px; margin:0 auto !important; font-size:17px; opacity:.97; line-height:1.85; }
body.page-id-5773 .cadv-hero-compass { font-size:84px; margin-top:36px; animation: cadvSpin 14s linear infinite; display:inline-block; filter: drop-shadow(0 6px 14px rgba(0,0,0,.3)); }
@keyframes cadvSpin { 0%{ transform:rotate(0); } 100%{ transform:rotate(360deg); } }

/* LEGEND */
body.page-id-5773 .cadv-legend { padding:60px 24px 40px; background:linear-gradient(180deg,#fff 0%,#ecfeff 100%); position:relative; }
body.page-id-5773 .cadv-legend-inner { max-width:1180px; margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px; }
body.page-id-5773 .cadv-legend-item { display:flex; align-items:center; gap:14px; padding:16px 24px; border-radius:20px; background:#fff; border:2px solid #e0f2fe; box-shadow:0 4px 14px rgba(8,145,178,.08); transition: all .25s ease; text-decoration:none !important; color:#0c4a6e !important; cursor:pointer; }
body.page-id-5773 .cadv-legend-item:hover { transform: translateY(-5px) scale(1.04); box-shadow:0 16px 32px rgba(8,145,178,.20); border-color:#0891b2; }
body.page-id-5773 .cadv-legend-item--final { background:linear-gradient(135deg,#fef3c7,#fde68a); border:3px solid #fbbf24; box-shadow:0 8px 20px rgba(251,191,36,.30); }
body.page-id-5773 .cadv-legend-item--final:hover { box-shadow:0 18px 38px rgba(251,191,36,.40); }
body.page-id-5773 .cadv-legend-icon { width:60px; height:60px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:30px; box-shadow:inset 0 -4px 10px rgba(0,0,0,.15), 0 6px 14px rgba(0,0,0,.10); }
body.page-id-5773 .cadv-legend-icon--green { background: linear-gradient(135deg,#22d3ee,#0891b2); }
body.page-id-5773 .cadv-legend-icon--orange { background: linear-gradient(135deg,#fb923c,#ea580c); }
body.page-id-5773 .cadv-legend-icon--purple { background: linear-gradient(135deg,#c084fc,#7e22ce); }
body.page-id-5773 .cadv-legend-icon--gold { background: linear-gradient(135deg,#fcd34d,#f59e0b); }
body.page-id-5773 .cadv-legend-body { font-weight:800; font-size:14px; line-height:1.35; letter-spacing:.04em; }
body.page-id-5773 .cadv-legend-arrow { color:#0891b2; font-size:24px; font-weight:900; opacity:.6; }
body.page-id-5773 .cadv-legend .cadv-hero-lead { color:#475569; margin-top:32px !important; max-width:780px; }

/* STAGES */
body.page-id-5773 .cadv-stage { position:relative; padding:90px 24px; overflow:hidden; scroll-margin-top:80px; }
body.page-id-5773 .cadv-stage--archipelago { background: linear-gradient(180deg,#ecfeff 0%,#a5f3fc 100%); }
body.page-id-5773 .cadv-stage--port { background: linear-gradient(180deg,#fff7ed 0%,#fed7aa 100%); }
body.page-id-5773 .cadv-stage--ruins { background: linear-gradient(180deg,#faf5ff 0%,#e9d5ff 100%); }
body.page-id-5773 .cadv-stage::before { content:''; position:absolute; top:-1px; left:0; right:0; height:60px; background: linear-gradient(180deg, rgba(255,255,255,.6), transparent); pointer-events:none; }
body.page-id-5773 .cadv-stage--archipelago::after { content:'&#x1f3dd;&#xfe0f;'; position:absolute; top:40px; right:6%; font-size:64px; opacity:.5; animation: cadvFloat 5s ease-in-out infinite alternate; pointer-events:none; }
body.page-id-5773 .cadv-stage--port::after { content:'&#x1f3d8;&#xfe0f;'; position:absolute; top:40px; right:6%; font-size:64px; opacity:.5; animation: cadvFloat 5s ease-in-out infinite alternate; pointer-events:none; }
body.page-id-5773 .cadv-stage--ruins::after { content:'&#x1f3db;&#xfe0f;'; position:absolute; top:40px; right:6%; font-size:64px; opacity:.5; animation: cadvFloat 5s ease-in-out infinite alternate; pointer-events:none; }
@keyframes cadvFloat { 0%{ transform:translateY(0); } 100%{ transform:translateY(-12px); } }
body.page-id-5773 .cadv-stage-bg { position:absolute; inset:0; opacity:.16; pointer-events:none; }
body.page-id-5773 .cadv-stage--archipelago .cadv-stage-bg { background: radial-gradient(circle at 15% 30%, #67e8f9 0,transparent 28%), radial-gradient(circle at 80% 70%, #67e8f9 0,transparent 28%); }
body.page-id-5773 .cadv-stage--port .cadv-stage-bg { background: radial-gradient(circle at 20% 30%, #fdba74 0,transparent 28%), radial-gradient(circle at 80% 70%, #fdba74 0,transparent 28%); }
body.page-id-5773 .cadv-stage--ruins .cadv-stage-bg { background: radial-gradient(circle at 25% 30%, #c084fc 0,transparent 28%), radial-gradient(circle at 75% 70%, #c084fc 0,transparent 28%); }
body.page-id-5773 .cadv-stage-inner { position:relative; max-width:1180px; margin:0 auto; }
body.page-id-5773 .cadv-stage-banner { display:flex; gap:28px; align-items:center; padding:32px 36px; border-radius:28px; background:#fff; box-shadow:0 16px 40px rgba(15,23,42,.10); margin-bottom:56px; border:1px solid rgba(255,255,255,.5); position:relative; }
body.page-id-5773 .cadv-stage-banner::before { content:''; position:absolute; left:0; top:0; bottom:0; width:8px; border-radius:28px 0 0 28px; }
body.page-id-5773 .cadv-stage--archipelago .cadv-stage-banner::before { background: linear-gradient(180deg,#22d3ee,#0891b2); }
body.page-id-5773 .cadv-stage--port .cadv-stage-banner::before { background: linear-gradient(180deg,#fb923c,#ea580c); }
body.page-id-5773 .cadv-stage--ruins .cadv-stage-banner::before { background: linear-gradient(180deg,#c084fc,#7e22ce); }
body.page-id-5773 .cadv-stage-banner-icon { font-size:64px; flex:0 0 auto; filter: drop-shadow(0 4px 10px rgba(0,0,0,.15)); }
body.page-id-5773 .cadv-stage-eyebrow { display:inline-block; font-size:12px; letter-spacing:.18em; font-weight:800; color:#0891b2; }
body.page-id-5773 .cadv-stage--port .cadv-stage-eyebrow { color:#ea580c; }
body.page-id-5773 .cadv-stage--ruins .cadv-stage-eyebrow { color:#7e22ce; }
body.page-id-5773 .cadv-stage-title { margin:8px 0 10px; font-size:34px; font-weight:900; color:#0f172a; line-height:1.2; }
body.page-id-5773 .cadv-stage-desc { margin:0; color:#334155; line-height:1.85; font-size:15px; }
body.page-id-5773 .cadv-stage-meta { margin-top:16px; display:flex; flex-wrap:wrap; gap:10px; }
body.page-id-5773 .cadv-stage-meta-item { display:inline-block; padding:6px 14px; border-radius:999px; background:#f1f5f9; font-size:12px; font-weight:700; color:#475569; }

/* PATH */
body.page-id-5773 .cadv-stage-path { display:grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap:18px; }
body.page-id-5773 .cadv-node { display:flex; align-items:center; gap:14px; padding:16px 20px; border-radius:18px; background:#fff; border:2px solid transparent; text-decoration:none !important; color:#1a2540 !important; transition: all .2s ease; box-shadow:0 4px 12px rgba(15,23,42,.06); position:relative; }
body.page-id-5773 .cadv-node:hover { transform: translateY(-4px); box-shadow:0 14px 28px rgba(8,145,178,.18); }
body.page-id-5773 .cadv-stage--archipelago .cadv-node:hover { border-color:#0891b2; }
body.page-id-5773 .cadv-stage--port .cadv-node:hover { border-color:#ea580c; }
body.page-id-5773 .cadv-stage--ruins .cadv-node:hover { border-color:#7e22ce; }
body.page-id-5773 .cadv-node-num { flex:0 0 auto; width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:14px; color:#fff; box-shadow:inset 0 -2px 4px rgba(0,0,0,.15); }
body.page-id-5773 .cadv-stage--archipelago .cadv-node-num { background:linear-gradient(135deg,#22d3ee,#0891b2); }
body.page-id-5773 .cadv-stage--port .cadv-node-num { background:linear-gradient(135deg,#fb923c,#ea580c); }
body.page-id-5773 .cadv-stage--ruins .cadv-node-num { background:linear-gradient(135deg,#c084fc,#7e22ce); }
body.page-id-5773 .cadv-node-title { font-size:13px; font-weight:600; line-height:1.45; }

/* FINAL - chukyu */
body.page-id-5773 .cadv-final { position:relative; padding:110px 24px 130px; background: radial-gradient(ellipse at center, #1e293b 0%,#0f172a 100%); color:#fff; overflow:hidden; scroll-margin-top:80px; text-align:center; }
body.page-id-5773 .cadv-final::before { content:'&#x2694;&#xfe0f;'; position:absolute; top:40px; left:8%; font-size:44px; opacity:.4; animation: cadvFloat 4s ease-in-out infinite alternate; }
body.page-id-5773 .cadv-final::after { content:'&#x1f5e1;&#xfe0f;'; position:absolute; top:40px; right:8%; font-size:44px; opacity:.4; animation: cadvFloat 4.5s ease-in-out infinite alternate; }
body.page-id-5773 .cadv-final-stars { position:absolute; inset:0; background-image: radial-gradient(2.5px 2.5px at 15% 20%, #fde68a 0,transparent 100%), radial-gradient(2px 2px at 75% 30%, #fbbf24 0,transparent 100%), radial-gradient(2px 2px at 30% 70%, #fde68a 0,transparent 100%), radial-gradient(2.5px 2.5px at 90% 80%, #f59e0b 0,transparent 100%), radial-gradient(2px 2px at 50% 50%, #fbbf24 0,transparent 100%), radial-gradient(2px 2px at 60% 25%, #fff 0,transparent 100%), radial-gradient(2px 2px at 10% 60%, #fff 0,transparent 100%); animation: cadvTwinkle 4s ease-in-out infinite alternate; opacity:.85; }
@keyframes cadvTwinkle { 0%{ opacity:.4; } 100%{ opacity:.95; } }
body.page-id-5773 .cadv-final-inner { position:relative; z-index:2; max-width:780px; margin:0 auto; }
body.page-id-5773 .cadv-final-castle { font-size:108px; margin-bottom:8px; filter: drop-shadow(0 0 30px rgba(251,191,36,.7)); animation: cadvFloat 4s ease-in-out infinite alternate; }
body.page-id-5773 .cadv-eyebrow--gold { background: linear-gradient(135deg,#fcd34d,#f59e0b); color:#451a03 !important; font-weight:900; padding:8px 20px; }
body.page-id-5773 .cadv-final-h2 { margin:20px 0 14px; font-size:38px; font-weight:900; }
body.page-id-5773 .cadv-final-lead { max-width:600px; margin:0 auto !important; opacity:.96; font-size:16px; line-height:1.85; }
body.page-id-5773 .cadv-cta { display:inline-block; margin-top:32px; padding:18px 42px; border-radius:14px; font-weight:900; font-size:18px; text-decoration:none !important; transition: all .25s ease; }
body.page-id-5773 .cadv-cta--gold { background: linear-gradient(135deg,#fcd34d,#f59e0b); color:#451a03 !important; box-shadow:0 12px 32px rgba(251,191,36,.45); }
body.page-id-5773 .cadv-cta--gold:hover { transform: translateY(-4px); box-shadow:0 20px 44px rgba(251,191,36,.6); }

/* SERVICES - chukyu */
body.page-id-5773 .cadv-services { position:relative; padding:90px 24px 110px; background: linear-gradient(180deg,#0c4a6e 0%,#082f49 100%); color:#fff; overflow:hidden; }
body.page-id-5773 .cadv-services::before { content:'&#x1f30a;'; position:absolute; top:40px; left:6%; font-size:44px; opacity:.3; animation: cadvFloat 5s ease-in-out infinite alternate; }
body.page-id-5773 .cadv-services::after { content:'&#x1f9ed;'; position:absolute; top:40px; right:6%; font-size:48px; opacity:.3; animation: cadvSpin 22s linear infinite; }
body.page-id-5773 .cadv-services-bg { position:absolute; inset:0; background-image: radial-gradient(circle at 20% 30%, rgba(34,211,238,.15) 0,transparent 35%), radial-gradient(circle at 80% 70%, rgba(34,211,238,.10) 0,transparent 35%); pointer-events:none; }
body.page-id-5773 .cadv-services-inner { position:relative; z-index:2; max-width:1180px; margin:0 auto; text-align:center; }
body.page-id-5773 .cadv-eyebrow--dark { background:rgba(255,255,255,.18); color:#fff; }
body.page-id-5773 .cadv-services-h2 { margin:18px 0 12px; font-size:34px; font-weight:900; }
body.page-id-5773 .cadv-services-lead { max-width:580px; margin:0 auto 40px; opacity:.92; font-size:15px; }
body.page-id-5773 .cadv-services-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:22px; max-width:1100px; margin:0 auto; }
body.page-id-5773 .cadv-service-card { display:flex; flex-direction:column; align-items:flex-start; padding:28px 24px; border-radius:22px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); backdrop-filter: blur(10px); text-decoration:none !important; color:#fff !important; transition: all .25s ease; text-align:left; }
body.page-id-5773 .cadv-service-card:hover { transform: translateY(-6px); background:rgba(255,255,255,.12); border-color:rgba(252,211,77,.5); box-shadow:0 20px 40px rgba(0,0,0,.25); }
body.page-id-5773 .cadv-service-icon { font-size:40px; margin-bottom:12px; }
body.page-id-5773 .cadv-service-title { margin:0 0 8px; font-size:18px; font-weight:900; color:#fff; }
body.page-id-5773 .cadv-service-desc { margin:0 0 14px; font-size:13px; opacity:.85; line-height:1.7; }
body.page-id-5773 .cadv-service-cta { font-size:13px; font-weight:800; color:#fcd34d; }

/* === jokyu (page-id-5775) celestial sky-tower adventure map === */
body.page-id-5775 .jadv-wrap { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height:1.7; color:#1a1232; }
body.page-id-5775 .jadv-wrap *, body.page-id-5775 .jadv-wrap section { box-sizing:border-box; }

body.page-id-5775 .jadv-hero { position:relative; padding:120px 24px 140px; background: linear-gradient(180deg,#0a0822 0%,#1e1b4b 30%,#312e81 60%,#7e22ce 100%); color:#fff; overflow:hidden; }
body.page-id-5775 .jadv-hero::before { content:'&#x1f319;'; position:absolute; top:80px; right:8%; font-size:64px; opacity:.85; filter: drop-shadow(0 0 24px rgba(252,211,77,.5)); animation: jadvFloat 6s ease-in-out infinite alternate; }
body.page-id-5775 .jadv-hero-stars { position:absolute; inset:0; background-image: radial-gradient(2.5px 2.5px at 12% 18%, #fff 0,transparent 100%), radial-gradient(2px 2px at 78% 28%, #fbbf24 0,transparent 100%), radial-gradient(2.5px 2.5px at 32% 72%, #fff 0,transparent 100%), radial-gradient(2px 2px at 88% 78%, #c084fc 0,transparent 100%), radial-gradient(1.5px 1.5px at 50% 45%, #fff 0,transparent 100%), radial-gradient(2px 2px at 22% 50%, #fbbf24 0,transparent 100%), radial-gradient(2px 2px at 65% 60%, #fff 0,transparent 100%), radial-gradient(1.5px 1.5px at 8% 35%, #fff 0,transparent 100%), radial-gradient(2px 2px at 92% 18%, #fff 0,transparent 100%), radial-gradient(1.5px 1.5px at 45% 85%, #fff 0,transparent 100%); animation: jadvTwinkle 5s ease-in-out infinite alternate; opacity:.95; }
@keyframes jadvTwinkle { 0%{ opacity:.5; } 100%{ opacity:1; } }
body.page-id-5775 .jadv-hero-aurora { position:absolute; inset:0; background: radial-gradient(ellipse 80% 60% at 50% 100%, rgba(168,85,247,.45) 0,transparent 70%), radial-gradient(ellipse 60% 50% at 30% 0%, rgba(192,132,252,.25) 0,transparent 70%), radial-gradient(ellipse 50% 40% at 70% 30%, rgba(251,191,36,.15) 0,transparent 70%); animation: jadvAurora 14s ease-in-out infinite alternate; }
@keyframes jadvAurora { 0%{ transform:translateX(-40px); opacity:.7; } 100%{ transform:translateX(40px); opacity:1; } }
body.page-id-5775 .jadv-hero-inner { max-width:920px; margin:0 auto; text-align:center; position:relative; z-index:5; }
body.page-id-5775 .jadv-eyebrow { display:inline-block; padding:8px 20px; border-radius:999px; background:rgba(255,255,255,.18); font-size:14px; letter-spacing:.06em; backdrop-filter: blur(6px); font-weight:700; }
body.page-id-5775 .jadv-h1 { margin:28px 0 22px; line-height:1.18; }
body.page-id-5775 .jadv-h1-kicker { display:block; font-size:18px; font-weight:600; opacity:.92; margin-bottom:8px; letter-spacing:.05em; }
body.page-id-5775 .jadv-h1-main { display:block; font-size:48px; font-weight:900; text-shadow: 0 4px 18px rgba(0,0,0,.4); }
body.page-id-5775 .jadv-h1-accent { background: linear-gradient(135deg,#fde68a,#fbbf24); -webkit-background-clip:text; background-clip:text; color:transparent; }
body.page-id-5775 .jadv-hero-lead { max-width:720px; margin:0 auto !important; font-size:17px; opacity:.97; line-height:1.85; }
body.page-id-5775 .jadv-hero-crown { font-size:84px; margin-top:36px; filter: drop-shadow(0 0 28px rgba(251,191,36,.7)); animation: jadvFloat 4s ease-in-out infinite alternate; display:inline-block; }
@keyframes jadvFloat { 0%{ transform:translateY(0); } 100%{ transform:translateY(-14px); } }

/* LEGEND - jokyu */
body.page-id-5775 .jadv-legend { padding:60px 24px 40px; background:linear-gradient(180deg,#fff,#faf5ff); position:relative; }
body.page-id-5775 .jadv-legend-inner { max-width:1100px; margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px; }
body.page-id-5775 .jadv-legend-item { display:flex; align-items:center; gap:14px; padding:16px 24px; border-radius:20px; background:#fff; border:2px solid #e9d5ff; box-shadow:0 4px 14px rgba(126,34,206,.08); transition: all .25s ease; text-decoration:none !important; color:#1e1b4b !important; cursor:pointer; }
body.page-id-5775 .jadv-legend-item:hover { transform: translateY(-5px) scale(1.04); box-shadow:0 16px 32px rgba(126,34,206,.20); border-color:#7e22ce; }
body.page-id-5775 .jadv-legend-item--final { background:linear-gradient(135deg,#fef3c7,#fde68a); border:3px solid #fbbf24; box-shadow:0 8px 20px rgba(251,191,36,.30); }
body.page-id-5775 .jadv-legend-item--final:hover { box-shadow:0 18px 38px rgba(251,191,36,.40); }
body.page-id-5775 .jadv-legend-icon { width:60px; height:60px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:30px; box-shadow:inset 0 -4px 10px rgba(0,0,0,.15), 0 6px 14px rgba(0,0,0,.10); }
body.page-id-5775 .jadv-legend-icon--royal { background: linear-gradient(135deg,#3b82f6,#1d4ed8); }
body.page-id-5775 .jadv-legend-icon--amethyst { background: linear-gradient(135deg,#a855f7,#6b21a8); }
body.page-id-5775 .jadv-legend-icon--gold { background: linear-gradient(135deg,#fcd34d,#f59e0b); }
body.page-id-5775 .jadv-legend-body { font-weight:800; font-size:14px; line-height:1.35; letter-spacing:.04em; }
body.page-id-5775 .jadv-legend-arrow { color:#a78bfa; font-size:24px; font-weight:900; opacity:.7; }
body.page-id-5775 .jadv-legend .jadv-hero-lead { color:#475569; margin-top:32px !important; max-width:780px; }

/* STAGES - jokyu */
body.page-id-5775 .jadv-stage { position:relative; padding:90px 24px; overflow:hidden; scroll-margin-top:80px; }
body.page-id-5775 .jadv-stage--tower { background: linear-gradient(180deg,#eff6ff 0%,#bfdbfe 100%); }
body.page-id-5775 .jadv-stage--summit { background: linear-gradient(180deg,#faf5ff 0%,#d8b4fe 100%); }
body.page-id-5775 .jadv-stage::before { content:''; position:absolute; top:-1px; left:0; right:0; height:60px; background: linear-gradient(180deg, rgba(255,255,255,.6), transparent); pointer-events:none; }
body.page-id-5775 .jadv-stage--tower::after { content:'&#x1f5fc;'; position:absolute; top:40px; right:6%; font-size:64px; opacity:.45; animation: jadvFloat 5s ease-in-out infinite alternate; pointer-events:none; }
body.page-id-5775 .jadv-stage--summit::after { content:'&#x1f3d4;&#xfe0f;'; position:absolute; top:40px; right:6%; font-size:64px; opacity:.45; animation: jadvFloat 5.5s ease-in-out infinite alternate; pointer-events:none; }
body.page-id-5775 .jadv-stage-bg { position:absolute; inset:0; opacity:.18; pointer-events:none; }
body.page-id-5775 .jadv-stage--tower .jadv-stage-bg { background: radial-gradient(circle at 20% 30%, #60a5fa 0,transparent 30%), radial-gradient(circle at 80% 70%, #60a5fa 0,transparent 30%); }
body.page-id-5775 .jadv-stage--summit .jadv-stage-bg { background: radial-gradient(circle at 20% 30%, #c084fc 0,transparent 30%), radial-gradient(circle at 80% 70%, #c084fc 0,transparent 30%); }
body.page-id-5775 .jadv-stage-aurora { position:absolute; inset:0; background: radial-gradient(ellipse 50% 30% at 50% 50%, rgba(255,255,255,.4) 0,transparent 70%); pointer-events:none; }
body.page-id-5775 .jadv-stage-inner { position:relative; max-width:1180px; margin:0 auto; z-index:1; }
body.page-id-5775 .jadv-stage-banner { display:flex; gap:28px; align-items:center; padding:32px 36px; border-radius:28px; background:#fff; box-shadow:0 16px 40px rgba(46,16,101,.14); margin-bottom:56px; position:relative; }
body.page-id-5775 .jadv-stage-banner::before { content:''; position:absolute; left:0; top:0; bottom:0; width:8px; border-radius:28px 0 0 28px; }
body.page-id-5775 .jadv-stage--tower .jadv-stage-banner::before { background: linear-gradient(180deg,#3b82f6,#1d4ed8); }
body.page-id-5775 .jadv-stage--summit .jadv-stage-banner::before { background: linear-gradient(180deg,#a855f7,#6b21a8); }
body.page-id-5775 .jadv-stage-banner-icon { font-size:64px; flex:0 0 auto; filter: drop-shadow(0 6px 14px rgba(126,34,206,.3)); }
body.page-id-5775 .jadv-stage-eyebrow { display:inline-block; font-size:12px; letter-spacing:.18em; font-weight:800; color:#7e22ce; }
body.page-id-5775 .jadv-stage--tower .jadv-stage-eyebrow { color:#1d4ed8; }
body.page-id-5775 .jadv-stage-title { margin:8px 0 10px; font-size:34px; font-weight:900; color:#1e1b4b; line-height:1.2; }
body.page-id-5775 .jadv-stage-desc { margin:0; color:#334155; line-height:1.85; font-size:15px; }
body.page-id-5775 .jadv-stage-meta { margin-top:16px; display:flex; flex-wrap:wrap; gap:10px; }
body.page-id-5775 .jadv-stage-meta-item { display:inline-block; padding:6px 14px; border-radius:999px; background:#f3e8ff; font-size:12px; font-weight:700; color:#6b21a8; }

body.page-id-5775 .jadv-stage-path { display:grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap:18px; }
body.page-id-5775 .jadv-node { display:flex; align-items:center; gap:14px; padding:16px 20px; border-radius:18px; background:#fff; border:2px solid transparent; text-decoration:none !important; color:#1a1232 !important; transition: all .2s ease; box-shadow:0 4px 12px rgba(46,16,101,.06); }
body.page-id-5775 .jadv-node:hover { transform: translateY(-4px); box-shadow:0 14px 28px rgba(126,34,206,.18); }
body.page-id-5775 .jadv-stage--tower .jadv-node:hover { border-color:#1d4ed8; }
body.page-id-5775 .jadv-stage--summit .jadv-node:hover { border-color:#7e22ce; }
body.page-id-5775 .jadv-node-num { flex:0 0 auto; width:46px; height:46px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:13px; color:#fff; font-family: 'Courier New', monospace; letter-spacing:.05em; box-shadow:inset 0 -2px 4px rgba(0,0,0,.15); }
body.page-id-5775 .jadv-stage--tower .jadv-node-num { background:linear-gradient(135deg,#3b82f6,#1d4ed8); }
body.page-id-5775 .jadv-stage--summit .jadv-node-num { background:linear-gradient(135deg,#a855f7,#6b21a8); }
body.page-id-5775 .jadv-node-title { font-size:13px; font-weight:600; line-height:1.45; }

/* FINAL - jokyu */
body.page-id-5775 .jadv-final { position:relative; padding:120px 24px 140px; background: radial-gradient(ellipse at center, #312e81 0%,#1e1b4b 60%,#0a0822 100%); color:#fff; overflow:hidden; scroll-margin-top:80px; text-align:center; }
body.page-id-5775 .jadv-final::before { content:'&#x26a1;'; position:absolute; top:40px; left:8%; font-size:48px; opacity:.5; animation: jadvFloat 4s ease-in-out infinite alternate; }
body.page-id-5775 .jadv-final::after { content:'&#x1f396;&#xfe0f;'; position:absolute; top:40px; right:8%; font-size:48px; opacity:.5; animation: jadvFloat 4.5s ease-in-out infinite alternate; }
body.page-id-5775 .jadv-final-aurora { position:absolute; inset:0; background: radial-gradient(ellipse 80% 60% at 50% 50%, rgba(168,85,247,.4) 0,transparent 70%); animation: jadvAurora 12s ease-in-out infinite alternate; }
body.page-id-5775 .jadv-final-stars { position:absolute; inset:0; background-image: radial-gradient(2.5px 2.5px at 15% 20%, #fde68a 0,transparent 100%), radial-gradient(2px 2px at 75% 30%, #fbbf24 0,transparent 100%), radial-gradient(2px 2px at 30% 70%, #fde68a 0,transparent 100%), radial-gradient(2.5px 2.5px at 90% 80%, #c084fc 0,transparent 100%), radial-gradient(2px 2px at 50% 50%, #fff 0,transparent 100%), radial-gradient(2px 2px at 60% 25%, #fff 0,transparent 100%), radial-gradient(1.5px 1.5px at 25% 60%, #fff 0,transparent 100%); animation: jadvTwinkle 4s ease-in-out infinite alternate; opacity:.9; }
body.page-id-5775 .jadv-final-inner { position:relative; z-index:2; max-width:780px; margin:0 auto; }
body.page-id-5775 .jadv-final-crown { font-size:108px; margin-bottom:8px; filter: drop-shadow(0 0 32px rgba(251,191,36,.75)); animation: jadvFloat 3.5s ease-in-out infinite alternate; }
body.page-id-5775 .jadv-eyebrow--gold { background: linear-gradient(135deg,#fcd34d,#f59e0b); color:#451a03 !important; font-weight:900; padding:8px 20px; }
body.page-id-5775 .jadv-final-h2 { margin:20px 0 14px; font-size:38px; font-weight:900; background: linear-gradient(135deg,#fde68a,#fbbf24,#fff); -webkit-background-clip:text; background-clip:text; color:transparent; }
body.page-id-5775 .jadv-final-lead { max-width:600px; margin:0 auto !important; opacity:.96; font-size:16px; line-height:1.85; }
body.page-id-5775 .jadv-cta { display:inline-block; margin-top:32px; padding:18px 42px; border-radius:14px; font-weight:900; font-size:18px; text-decoration:none !important; transition: all .25s ease; }
body.page-id-5775 .jadv-cta--gold { background: linear-gradient(135deg,#fcd34d,#f59e0b); color:#451a03 !important; box-shadow:0 12px 32px rgba(251,191,36,.55); }
body.page-id-5775 .jadv-cta--gold:hover { transform: translateY(-4px); box-shadow:0 20px 44px rgba(251,191,36,.7); }

/* SERVICES - jokyu */
body.page-id-5775 .jadv-services { position:relative; padding:90px 24px 110px; background: linear-gradient(180deg,#1e1b4b 0%,#0a0822 100%); color:#fff; overflow:hidden; }
body.page-id-5775 .jadv-services::before { content:'&#x2728;'; position:absolute; top:40px; left:6%; font-size:44px; opacity:.4; animation: jadvFloat 5s ease-in-out infinite alternate; }
body.page-id-5775 .jadv-services::after { content:'&#x1f451;'; position:absolute; top:40px; right:6%; font-size:48px; opacity:.4; animation: jadvFloat 5.5s ease-in-out infinite alternate; }
body.page-id-5775 .jadv-services-bg { position:absolute; inset:0; background-image: radial-gradient(circle at 20% 30%, rgba(168,85,247,.18) 0,transparent 40%), radial-gradient(circle at 80% 70%, rgba(168,85,247,.12) 0,transparent 40%); pointer-events:none; }
body.page-id-5775 .jadv-services-inner { position:relative; z-index:2; max-width:1180px; margin:0 auto; text-align:center; }
body.page-id-5775 .jadv-eyebrow--dark { background:rgba(255,255,255,.18); color:#fff; }
body.page-id-5775 .jadv-services-h2 { margin:18px 0 12px; font-size:34px; font-weight:900; }
body.page-id-5775 .jadv-services-lead { max-width:580px; margin:0 auto 40px; opacity:.92; font-size:15px; }
body.page-id-5775 .jadv-services-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:22px; max-width:1100px; margin:0 auto; }
body.page-id-5775 .jadv-service-card { display:flex; flex-direction:column; align-items:flex-start; padding:28px 24px; border-radius:22px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); backdrop-filter: blur(10px); text-decoration:none !important; color:#fff !important; transition: all .25s ease; text-align:left; }
body.page-id-5775 .jadv-service-card:hover { transform: translateY(-6px); background:rgba(255,255,255,.12); border-color:rgba(252,211,77,.5); box-shadow:0 20px 40px rgba(0,0,0,.3); }
body.page-id-5775 .jadv-service-icon { font-size:40px; margin-bottom:12px; }
body.page-id-5775 .jadv-service-title { margin:0 0 8px; font-size:18px; font-weight:900; color:#fff; }
body.page-id-5775 .jadv-service-desc { margin:0 0 14px; font-size:13px; opacity:.85; line-height:1.7; }
body.page-id-5775 .jadv-service-cta { font-size:13px; font-weight:800; color:#fcd34d; }

/* mobile */
@media (max-width: 720px) {
  body.page-id-5773 .cadv-h1-main, body.page-id-5775 .jadv-h1-main { font-size:32px; }
  body.page-id-5773 .cadv-stage-banner, body.page-id-5775 .jadv-stage-banner { flex-direction:column; text-align:center; padding:26px 22px; }
  body.page-id-5773 .cadv-stage-title, body.page-id-5775 .jadv-stage-title { font-size:26px; }
  body.page-id-5773 .cadv-stage-path, body.page-id-5775 .jadv-stage-path { grid-template-columns: 1fr; }
  body.page-id-5773 .cadv-legend-inner, body.page-id-5775 .jadv-legend-inner { gap:8px; }
  body.page-id-5773 .cadv-legend-arrow, body.page-id-5775 .jadv-legend-arrow { display:none; }
  body.page-id-5773 .cadv-legend-item, body.page-id-5775 .jadv-legend-item { padding:10px 14px; }
  body.page-id-5773 .cadv-legend-icon, body.page-id-5775 .jadv-legend-icon { width:46px; height:46px; font-size:22px; }
  body.page-id-5773 .cadv-legend-body, body.page-id-5775 .jadv-legend-body { font-size:11px; }
  body.page-id-5773 .cadv-final-h2, body.page-id-5775 .jadv-final-h2 { font-size:28px; }
  body.page-id-5773 .cadv-services-h2, body.page-id-5775 .jadv-services-h2 { font-size:26px; }
}


/* === adventure pages polish (hide header + theme distinction) === */
body.page-id-2711 .entry-header.page-header,
body.page-id-2711 .article-header,
body.page-id-2711 .breadcrumb,
body.page-id-2711 .page-title,
body.page-id-5770 .entry-header.page-header,
body.page-id-5770 .article-header,
body.page-id-5770 .breadcrumb,
body.page-id-5770 .page-title,
body.page-id-5773 .entry-header.page-header,
body.page-id-5773 .article-header,
body.page-id-5773 .breadcrumb,
body.page-id-5773 .page-title,
body.page-id-5775 .entry-header.page-header,
body.page-id-5775 .article-header,
body.page-id-5775 .breadcrumb,
body.page-id-5775 .page-title { display:none !important; }
body.page-id-5773 .toc, body.page-id-5773 .sgb-toc, body.page-id-5773 .sgb-toc--bullets, body.page-id-5773 #toc_container,
body.page-id-5775 .toc, body.page-id-5775 .sgb-toc, body.page-id-5775 .sgb-toc--bullets, body.page-id-5775 #toc_container,
body.page-id-5770 .toc, body.page-id-5770 .sgb-toc, body.page-id-5770 .sgb-toc--bullets, body.page-id-5770 #toc_container { display:none !important; }

.adv-hero-lead, .adv-final-lead { margin-left:auto !important; margin-right:auto !important; text-align:center !important; }

/* chukyu — ocean gradient */
body.page-id-5773 .adv-hero { background: linear-gradient(180deg, #0c4a6e 0%, #075985 30%, #0e7490 60%, #0891b2 90%, #22d3ee 100%) !important; }
body.page-id-5773 .adv-stage--green { background: linear-gradient(180deg,#ecfeff 0%,#a5f3fc 100%) !important; }
body.page-id-5773 .adv-stage--blue { background: linear-gradient(180deg,#dbeafe 0%,#93c5fd 100%) !important; }
body.page-id-5773 .adv-stage--orange { background: linear-gradient(180deg,#fef3c7 0%,#fde68a 100%) !important; }
body.page-id-5773 .adv-final { background: radial-gradient(ellipse at top,#1e3a8a 0%,#082f49 60%,#020617 100%) !important; }

/* jokyu — celestial gradient */
body.page-id-5775 .adv-hero { background: linear-gradient(180deg, #0a0822 0%, #1e1b4b 25%, #312e81 50%, #6b21a8 80%, #be185d 100%) !important; }
body.page-id-5775 .adv-stage--orange { background: linear-gradient(180deg,#fef3c7 0%,#fde68a 50%,#fbbf24 100%) !important; }
body.page-id-5775 .adv-stage--purple { background: linear-gradient(180deg,#f5d0fe 0%,#d8b4fe 50%,#a78bfa 100%) !important; }
body.page-id-5775 .adv-final { background: radial-gradient(ellipse at center,#312e81 0%,#1e1b4b 50%,#0a0822 100%) !important; }
body.page-id-5775 .adv-final-h2 { background: linear-gradient(135deg,#fde68a,#fbbf24,#fff) !important; -webkit-background-clip:text !important; background-clip:text !important; color:transparent !important; }

body.page-id-5770 .adv-final-lead, body.page-id-5773 .adv-final-lead, body.page-id-5775 .adv-final-lead { color:#fff !important; }
body.page-id-5770 .adv-final-lead b, body.page-id-5773 .adv-final-lead b, body.page-id-5775 .adv-final-lead b { color:#fde68a !important; }

/* === extra theme polish for chukyu/jokyu leads === */
/* Richer h1 main for chukyu: gold accent + stronger shadow */
body.page-id-5773 .adv-h1-main, body.page-id-5775 .adv-h1-main { font-size:54px !important; text-shadow: 0 4px 22px rgba(0,0,0,.45), 0 2px 6px rgba(0,0,0,.35) !important; letter-spacing:.02em; }
body.page-id-5773 .adv-h1-sub, body.page-id-5775 .adv-h1-sub { color:#fde68a !important; opacity:.95 !important; letter-spacing:.14em; font-weight:700; }
/* Hero lead: stronger readability on dark hero */
body.page-id-5773 .adv-hero-lead, body.page-id-5775 .adv-hero-lead { color:#fff !important; font-size:18px !important; font-weight:500; text-shadow: 0 2px 12px rgba(0,0,0,.5); background: rgba(0,0,0,.22); backdrop-filter: blur(4px); padding:18px 26px; border-radius:14px; max-width:680px !important; margin-left:auto !important; margin-right:auto !important; }
body.page-id-5773 .adv-hero-lead b, body.page-id-5775 .adv-hero-lead b { color:#fde68a !important; }

/* Chukyu: hero mascot = boat; jokyu: hero mascot = star */
body.page-id-5773 .adv-hero-mascot { font-size:72px !important; filter: drop-shadow(0 6px 16px rgba(0,0,0,.35)); animation: chukyuBoat 9s ease-in-out infinite alternate !important; }
body.page-id-5775 .adv-hero-mascot { font-size:72px !important; filter: drop-shadow(0 0 24px rgba(252,211,77,.5)); animation: jokyuStar 5s ease-in-out infinite alternate !important; }
@keyframes chukyuBoat { 0%{ transform:translateY(0) rotate(-3deg) } 100%{ transform:translateY(-8px) rotate(3deg) } }
@keyframes jokyuStar { 0%{ transform:rotate(-6deg) scale(1) } 100%{ transform:rotate(6deg) scale(1.08) } }

/* Boss node distinct styling on chukyu/jokyu (inherit from shared) — just brighten */
body.page-id-5773 .adv-node--boss .adv-node-num, body.page-id-5775 .adv-node--boss .adv-node-num { font-size:30px !important; }



/* === bunpo (page-id-2711) one-road grammar route === */
body.page-id-2711 .entry-content,
body.page-id-2711 #inner-content, body.page-id-2711 #main, body.page-id-2711 #content { max-width:none !important; width:100% !important; margin:0 !important; padding:0 !important; }
body.page-id-2711 .m-all { width:100% !important; max-width:none !important; }
body.page-id-2711 .toc, body.page-id-2711 .sgb-toc, body.page-id-2711 .sgb-toc--bullets, body.page-id-2711 #toc_container { display:none !important; }

.bunpo { --bunpo-c0:#22c55e; --bunpo-c1:#0ea5e9; --bunpo-c2:#3b82f6; --bunpo-c3:#f97316; --bunpo-c4:#a855f7; --bunpo-c5:#ec4899; --bunpo-gold:#f59e0b; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height:1.7; color:#1a2540; }
.bunpo *, .bunpo *::before, .bunpo *::after { box-sizing:border-box; }

.bunpo-hero { position:relative; padding:110px 24px 180px; background:linear-gradient(180deg,#0c4a6e 0%,#0e7490 60%,#22d3ee 100%); color:#fff; overflow:hidden; }
/* Clouds — hide (was rendering weird) */
.bunpo-hero-clouds { display:none !important; }
.bunpo-hero-inner { max-width:920px; margin:0 auto; text-align:center; position:relative; z-index:5; color:#fff; }
.bunpo-eyebrow { display:inline-block; padding:8px 20px; border-radius:999px; background:rgba(255,255,255,.18); font-size:14px; letter-spacing:.06em; font-weight:700; color:#fff; }
.bunpo-h1 { margin:28px 0 22px; line-height:1.25; color:#fff; }
.bunpo-h1-kicker { display:inline-block; font-size:18px; font-weight:600; opacity:.92; margin-bottom:8px; color:#fff; }
.bunpo-h1-main { display:inline-block; font-size:46px; font-weight:900; text-shadow: 0 4px 14px rgba(0,0,0,.25); color:#fff; }
.bunpo-h1-accent { background:linear-gradient(135deg,#fde68a,#fbbf24); -webkit-background-clip:text; background-clip:text; color:transparent; }
.bunpo-h1-sub { display:inline-block; font-size:14px; opacity:.85; margin-top:6px; color:#fde68a; letter-spacing:.12em; }
body.page-id-2711 .bunpo-hero-lead { color:#fff !important; max-width:720px; margin:0 auto 28px !important; font-size:17px; opacity:.97; line-height:1.85; }
body.page-id-2711 .bunpo-hero-lead b { color:#fde68a !important; }
.bunpo-cta { display:inline-block; padding:16px 36px; border-radius:14px; font-weight:900; font-size:17px; text-decoration:none !important; transition:all .25s ease; background:#fff; color:#0c4a6e !important; box-shadow:0 12px 30px rgba(0,0,0,.18); }
.bunpo-cta:hover { transform:translateY(-3px); box-shadow:0 16px 40px rgba(0,0,0,.25); }

.bunpo-hero-road { position:absolute; left:50%; bottom:-2px; transform:translateX(-50%); width:280px; height:200px; background:#1a2540; clip-path: polygon(38% 0, 62% 0, 100% 100%, 0 100%); box-shadow:0 -8px 30px rgba(0,0,0,.25); z-index:2; }
.bunpo-hero-road::before { content:""; position:absolute; left:50%; top:0; bottom:0; width:6px; transform:translateX(-50%); background-image: linear-gradient(180deg,#fde68a 0,#fde68a 50%,transparent 50%,transparent 100%); background-size:100% 24px; animation: bunpoLine 1.0s linear infinite; }
@keyframes bunpoLine { 0%{ background-position-y:0 } 100%{ background-position-y:24px } }

.bunpo-legend { padding:60px 24px 50px; background:linear-gradient(180deg,#fff 0%,#f0f9ff 100%); }
.bunpo-legend-inner { max-width:1280px; margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; }
.bunpo-legend-item { display:flex; align-items:center; gap:12px; padding:14px 20px; border-radius:18px; background:#fff; border:2px solid #e0f2fe; box-shadow:0 4px 12px rgba(8,145,178,.08); transition:all .25s ease; text-decoration:none !important; color:#0c4a6e !important; cursor:pointer; }
.bunpo-legend-item:hover { transform:translateY(-4px) scale(1.04); box-shadow:0 14px 28px rgba(8,145,178,.18); border-color:#0891b2; }
.bunpo-legend-item--final { background:linear-gradient(135deg,#fef3c7,#fde68a); border:3px solid #fbbf24; }
.bunpo-legend-icon { width:50px; height:50px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:26px; box-shadow:inset 0 -3px 8px rgba(0,0,0,.15); color:#fff; }
.bunpo-legend-item--starter .bunpo-legend-icon { background:linear-gradient(135deg,#22c55e,#16a34a); }
.bunpo-legend-item--e .bunpo-legend-icon { background:linear-gradient(135deg,#0ea5e9,#0369a1); }
.bunpo-legend-item--d .bunpo-legend-icon { background:linear-gradient(135deg,#3b82f6,#1d4ed8); }
.bunpo-legend-item--c .bunpo-legend-icon { background:linear-gradient(135deg,#f97316,#c2410c); }
.bunpo-legend-item--b .bunpo-legend-icon { background:linear-gradient(135deg,#a855f7,#7e22ce); }
.bunpo-legend-item--final .bunpo-legend-icon { background:linear-gradient(135deg,#fcd34d,#f59e0b); }
.bunpo-legend-body { font-weight:800; font-size:13px; line-height:1.35; }
.bunpo-legend-arrow { color:#94a3b8; font-size:20px; font-weight:900; opacity:.6; }

.bunpo-roadbar { display:flex; align-items:center; justify-content:center; gap:0; max-width:740px; margin:36px auto 14px; padding:0 24px; }
.bunpo-roadbar-flag { font-size:40px; flex:0 0 auto; }
.bunpo-roadbar-track { flex:1 1 auto; height:8px; background:linear-gradient(90deg, var(--bunpo-c0), var(--bunpo-c1), var(--bunpo-c2), var(--bunpo-c3), var(--bunpo-c4), var(--bunpo-c5), var(--bunpo-gold)); border-radius:6px; position:relative; overflow:hidden; }
.bunpo-roadbar-track::after { content:""; position:absolute; inset:2px; background-image: linear-gradient(90deg, rgba(255,255,255,.5) 0, rgba(255,255,255,.5) 50%, transparent 50%, transparent 100%); background-size:24px 100%; animation: bunpoTrack 1.0s linear infinite; opacity:.6; }
@keyframes bunpoTrack { 0%{ background-position-x:0 } 100%{ background-position-x:24px } }
.bunpo-roadbar-runner { font-size:34px; flex:0 0 auto; transform: scaleX(-1); display:inline-block; }
.bunpo-legend-lead { color:#0f172a !important; max-width:780px; margin:8px auto 0 !important; text-align:center; font-size:16px; line-height:1.85; font-weight:500; }
.bunpo-legend-lead b { color:#0891b2; font-weight:900; }

.bunpo-route { position:relative; background:linear-gradient(180deg,#ecfdf5 0%,#dbeafe 22%,#fed7aa 50%,#f3e8ff 75%,#fce7f3 100%); padding:40px 0 0; }
/* Key fix: line ends at last segment, not the full route (final covers rest) */
.bunpo-route::before { content:""; position:absolute; left:50%; top:0; bottom:0; width:10px; transform:translateX(-50%); background:linear-gradient(180deg, var(--bunpo-c0) 0%, var(--bunpo-c1) 18%, var(--bunpo-c2) 35%, var(--bunpo-c3) 55%, var(--bunpo-c4) 75%, var(--bunpo-c5) 92%, var(--bunpo-gold) 100%); border-radius:6px; box-shadow:0 0 24px rgba(0,0,0,.10); z-index:1; }
.bunpo-route::after { content:""; position:absolute; left:50%; top:0; bottom:0; width:4px; transform:translateX(-50%); background-image: linear-gradient(180deg, rgba(255,255,255,.95) 0, rgba(255,255,255,.95) 50%, transparent 50%, transparent 100%); background-size:100% 30px; animation: bunpoLine 1.4s linear infinite; z-index:2; pointer-events:none; }
/* Final sits above route line — covers the bottom portion */


.bunpo-segment { position:relative; padding:60px 24px; scroll-margin-top:80px; }
.bunpo-segment--starter { --bunpo-cur:#22c55e; --bunpo-cur-d:#16a34a; }
.bunpo-segment--e { --bunpo-cur:#0ea5e9; --bunpo-cur-d:#0369a1; }
.bunpo-segment--d { --bunpo-cur:#3b82f6; --bunpo-cur-d:#1d4ed8; }
.bunpo-segment--c { --bunpo-cur:#f97316; --bunpo-cur-d:#c2410c; }
.bunpo-segment--b { --bunpo-cur:#a855f7; --bunpo-cur-d:#7e22ce; }

.bunpo-milestone { position:relative; max-width:560px; margin:0 auto 50px; padding:30px 32px; border-radius:24px; background:#fff; box-shadow:0 14px 36px rgba(15,23,42,.12); text-align:center; border:3px solid var(--bunpo-cur); z-index:5; }
.bunpo-milestone::before { content:""; position:absolute; left:50%; bottom:-22px; transform:translateX(-50%); border:11px solid transparent; border-top-color:#fff; }
.bunpo-milestone::after { content:""; position:absolute; left:50%; bottom:-26px; transform:translateX(-50%); border:13px solid transparent; border-top-color:var(--bunpo-cur); z-index:-1; }
.bunpo-milestone-icon { font-size:54px; line-height:1; margin-bottom:8px; display:inline-block; }
.bunpo-milestone-eyebrow { display:inline-block; font-size:11px; letter-spacing:.18em; font-weight:800; color:var(--bunpo-cur-d); }
.bunpo-milestone-title { margin:6px 0 8px; font-size:26px; font-weight:900; color:#0f172a; line-height:1.2; }
.bunpo-milestone-desc { margin:0 0 12px; color:#475569; font-size:14px; line-height:1.85; }
.bunpo-milestone-meta { display:inline-block; padding:5px 14px; border-radius:999px; background:#f1f5f9; font-size:12px; font-weight:800; color:#475569; }

.bunpo-stops { position:relative; max-width:1200px; margin:0 auto; }
.bunpo-stop { position:relative; display:flex; align-items:center; min-height:70px; margin:14px 0; }
.bunpo-stop-dot { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:48px; height:48px; border-radius:50%; background:var(--bunpo-cur); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:14px; z-index:6; box-shadow:0 0 0 4px #fff, 0 6px 14px rgba(0,0,0,.20); transition:transform .25s ease; }
.bunpo-stop:hover .bunpo-stop-dot { transform:translate(-50%,-50%) scale(1.12); }
.bunpo-stop-card { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 22px; border-radius:16px; background:#fff; border:2px solid #e2e8f0; box-shadow:0 6px 16px rgba(15,23,42,.06); text-decoration:none !important; color:#1a2540 !important; transition:all .22s ease; max-width:46%; flex:0 0 46%; position:relative; z-index:3; }
.bunpo-stop-card:hover { transform:translateY(-3px); border-color:var(--bunpo-cur); box-shadow:0 14px 30px rgba(15,23,42,.12); }
.bunpo-stop-title { font-size:14px; font-weight:700; line-height:1.55; flex:1 1 auto; color:#1a2540; }
.bunpo-stop-arrow { font-size:18px; font-weight:900; color:var(--bunpo-cur-d); flex:0 0 auto; }
.bunpo-stop-card::before { content:""; position:absolute; top:50%; width:32px; height:3px; background:var(--bunpo-cur); transform:translateY(-50%); border-radius:2px; }
.bunpo-stop--left .bunpo-stop-card { margin-right:auto; }
.bunpo-stop--left .bunpo-stop-card::before { right:-32px; }
.bunpo-stop--right .bunpo-stop-card { margin-left:auto; }
.bunpo-stop--right .bunpo-stop-card::before { left:-32px; }

.bunpo-final { padding:120px 24px 130px; background:radial-gradient(ellipse at center,#1e293b 0%,#0f172a 100%); color:#fff; overflow:hidden; scroll-margin-top:80px; text-align:center; }
.bunpo-final-inner { position:relative; z-index:2; max-width:760px; margin:0 auto; color:#fff; }
.bunpo-final-flag { font-size:108px; margin-bottom:8px; }
.bunpo-eyebrow--gold { background:linear-gradient(135deg,#fcd34d,#f59e0b); color:#451a03 !important; font-weight:900; padding:8px 20px; }
.bunpo-final-h2 { margin:18px 0 14px; font-size:36px; font-weight:900; color:#fff; }
body.page-id-2711 .bunpo-final-lead { color:#fff !important; max-width:600px; margin:0 auto 24px !important; opacity:.96; font-size:16px; line-height:1.85; }
body.page-id-2711 .bunpo-final-lead b { color:#fde68a !important; }
.bunpo-cta--gold { background:linear-gradient(135deg,#fcd34d,#f59e0b); color:#451a03 !important; box-shadow:0 12px 32px rgba(251,191,36,.45); }

@media (max-width: 720px) {
  .bunpo-h1-main { font-size:28px; }
  .bunpo-route::before, .bunpo-route::after { left:24px; transform:none; }
  .bunpo-milestone { margin:0 24px 40px; max-width:none; }
  .bunpo-stops { padding:0 0 0 24px; }
  .bunpo-stop-dot { left:24px; }
  .bunpo-stop-card { max-width:none; flex:1 1 auto; margin-left:46px !important; margin-right:0 !important; }
  .bunpo-stop-card::before { left:-32px !important; right:auto !important; }
  .bunpo-legend-arrow { display:none; }
  .bunpo-final-h2 { font-size:28px; }
  body.page-id-5773 .adv-h1-main, body.page-id-5775 .adv-h1-main { font-size:34px !important; }
}
		


/* === bunpo final connector === */
/* Final section sits below route; add a line from top of final down to the flag */
body.page-id-2711 .bunpo-final { position:relative; }
.bunpo-final-connector { position:absolute; left:50%; top:0; transform:translateX(-50%); width:10px; height:140px; background:linear-gradient(180deg, var(--bunpo-c5), var(--bunpo-gold)); border-radius:6px; box-shadow:0 0 24px rgba(0,0,0,.25); z-index:1; }
.bunpo-final-connector::after { content:""; position:absolute; inset:3px 3px 3px 3px; background-image: linear-gradient(180deg, rgba(255,255,255,.95) 0, rgba(255,255,255,.95) 50%, transparent 50%, transparent 100%); background-size:4px 30px; background-position-x:center; background-repeat:no-repeat; animation: bunpoLine 1.4s linear infinite; width:4px; margin:0 auto; left:0; right:0; }
/* Flag sits above connector — make sure it's in front */
.bunpo-final-flag { position:relative; z-index:3; }
.bunpo-final-inner { position:relative; z-index:2; }
		


/* === DOJO (chousenjo) PAGES — V4 bamboo + tatami + sakura === */
body.page-id-17643, body.page-id-17645, body.page-id-17648 { background: #fdf6ec !important; }
body.page-id-17643 #main, body.page-id-17645 #main, body.page-id-17648 #main { background: transparent !important; }
body.page-id-17643 article, body.page-id-17645 article, body.page-id-17648 article {
  background: transparent !important; box-shadow:none !important; border:none !important; padding:0 !important;
}
body.page-id-17643 .toc, body.page-id-17645 .toc, body.page-id-17648 .toc,
body.page-id-17643 #breadcrumb, body.page-id-17645 #breadcrumb, body.page-id-17648 #breadcrumb { display:none !important; }

body[class*="page-id-1764"] .dojo-hero {
  position: relative; text-align: center;
  padding: 50px 90px 50px !important;
  margin: 10px auto 30px !important;
  overflow: hidden;
  border: none !important;
  border-radius: 14px !important;
  background-color: #b5a05c !important;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cg fill='%23ffc4d4' stroke='%23e68aa0' stroke-width='.5'%3E%3Cpath d='M13 3 Q16 10 13 13 Q10 10 13 3 Z'/%3E%3Cpath d='M13 23 Q10 16 13 13 Q16 16 13 23 Z'/%3E%3Cpath d='M3 13 Q10 10 13 13 Q10 16 3 13 Z'/%3E%3Cpath d='M23 13 Q16 16 13 13 Q16 10 23 13 Z'/%3E%3Ccircle cx='13' cy='13' r='2' fill='%23f7d7b8'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22'%3E%3Cg fill='%23ffb8cc' stroke='%23d97a92' stroke-width='.4'%3E%3Cpath d='M11 3 Q13 9 11 11 Q9 9 11 3 Z'/%3E%3Cpath d='M11 19 Q9 13 11 11 Q13 13 11 19 Z'/%3E%3Cpath d='M3 11 Q9 9 11 11 Q9 13 3 11 Z'/%3E%3Cpath d='M19 11 Q13 13 11 11 Q13 9 19 11 Z'/%3E%3Ccircle cx='11' cy='11' r='1.5' fill='%23f7d7b8'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='80' viewBox='0 0 120 80'%3E%3Cg fill='%234e7226' stroke='%233d5a1e' stroke-width='.7'%3E%3Cpath d='M10 42 Q40 20 75 18 Q42 32 10 42 Z'/%3E%3Cpath d='M8 55 Q36 46 68 52 Q40 60 8 55 Z' fill='%235a8a2e'/%3E%3Cpath d='M22 28 Q40 8 62 8 Q42 22 22 28 Z' fill='%236a9c34'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='80' viewBox='0 0 120 80'%3E%3Cg fill='%234e7226' stroke='%233d5a1e' stroke-width='.7'%3E%3Cpath d='M110 42 Q80 20 45 18 Q78 32 110 42 Z'/%3E%3Cpath d='M112 55 Q84 46 52 52 Q80 60 112 55 Z' fill='%235a8a2e'/%3E%3Cpath d='M98 28 Q80 8 58 8 Q78 22 98 28 Z' fill='%236a9c34'/%3E%3C/g%3E%3C/svg%3E"),radial-gradient(ellipse at top, rgba(255,230,150,.18), transparent 60%),repeating-linear-gradient(0deg, rgba(139, 109, 40, .12) 0px, rgba(139, 109, 40, .12) 1px, transparent 1px, transparent 6px),repeating-linear-gradient(90deg, rgba(95, 73, 24, .09) 0px, rgba(95, 73, 24, .09) 1px, transparent 1px, transparent 4px),linear-gradient(90deg, #b5a05c 0%, #b5a05c 49.6%, #2d1a0a 49.6%, #2d1a0a 50.4%, #b5a05c 50.4%, #b5a05c 100%),linear-gradient(180deg, #c2ac66 0%, #b5a05c 50%, #a8924e 100%) !important;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat, repeat, repeat, no-repeat, no-repeat !important;
  background-position: 120px 30px, calc(100% - 140px) 50px, 66px 20px, calc(100% - 66px) 20px, 0 0, 0 0, 0 0, 0 0, 0 0 !important;
  background-size: 26px 26px, 22px 22px, 120px 80px, 120px 80px, auto, auto, auto, 100% 100%, auto !important;
  box-shadow:
    inset 0 0 0 14px #1a0f08,
    inset 0 0 0 18px #d4a24c,
    inset 0 0 0 22px #1a0f08,
    0 10px 40px rgba(60,40,10,.35) !important;
}
body[class*="page-id-1764"] .dojo-hero::before,
body[class*="page-id-1764"] .dojo-hero::after { content: none !important; display: none !important; }
body[class*="page-id-1764"] .dojo-hero h1::after,
body[class*="page-id-1764"] .dojo-hero h1.dojo-title::after,
body[class*="page-id-1764"] .dojo-hero .dojo-kanji::after { content: none !important; display: none !important; }

body[class*="page-id-1764"] .dojo-hero .dojo-tatami-deco {
  position: absolute !important; inset: 0 !important;
  pointer-events: none; overflow: hidden; z-index: 1;
}
body[class*="page-id-1764"] .dojo-hero .dojo-tatami-deco::before,
body[class*="page-id-1764"] .dojo-hero .dojo-tatami-deco::after {
  content: ""; position: absolute; top: 6%; bottom: 6%; width: 30px;
  border-radius: 6px;
  box-shadow: 2px 0 6px rgba(0,0,0,.22), inset -3px 0 5px rgba(0,0,0,.18), inset 3px 0 5px rgba(255,255,255,.1);
  background:
    linear-gradient(180deg,
      transparent 0, transparent calc(16% - 3px),
      rgba(30, 50, 15, .55) calc(16% - 3px), rgba(30, 50, 15, .55) 16%,
      transparent 16%, transparent calc(40% - 3px),
      rgba(30, 50, 15, .55) calc(40% - 3px), rgba(30, 50, 15, .55) 40%,
      transparent 40%, transparent calc(64% - 3px),
      rgba(30, 50, 15, .55) calc(64% - 3px), rgba(30, 50, 15, .55) 64%,
      transparent 64%, transparent calc(88% - 3px),
      rgba(30, 50, 15, .55) calc(88% - 3px), rgba(30, 50, 15, .55) 88%,
      transparent 88%),
    linear-gradient(90deg, #3d5a1e 0%, #6a9438 28%, #a6cf6f 48%, #80ad45 65%, #4a6b24 100%);
  transform-origin: bottom center;
}
body[class*="page-id-1764"] .dojo-hero .dojo-tatami-deco::before { left: 28px; animation: bambooSway 5s ease-in-out infinite; }
body[class*="page-id-1764"] .dojo-hero .dojo-tatami-deco::after { right: 28px; animation: bambooSway 6s ease-in-out infinite reverse; }
@keyframes bambooSway { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(.8deg); } }
body[class*="page-id-1764"] .dojo-hero-inner { position: relative; z-index: 2; }
body[class*="page-id-1764"] .dojo-noren { position: relative; z-index: 2; }

body[class*="page-id-1764"] .dojo-hero h1,
body[class*="page-id-1764"] .dojo-hero .dojo-kanji {
  font-family: 'Noto Serif JP', 'Yu Mincho', serif !important;
  font-size: clamp(40px, 7vw, 72px) !important;
  font-weight: 900 !important;
  color: #fff8e8 !important;
  margin: 20px 0 15px !important;
  letter-spacing: 8px !important;
  text-shadow: 2px 2px 0 #5a3010, 4px 4px 0 #2d1a0a, 6px 6px 14px rgba(0,0,0,.5) !important;
  position:relative; display:inline-block;
  animation: dojoKanjiPop 1s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes dojoKanjiPop {
  0% { transform: scale(0) rotate(-10deg); opacity:0; }
  60% { transform: scale(1.15) rotate(3deg); }
  100% { transform: scale(1) rotate(0); opacity:1; }
}
body[class*="page-id-1764"] .dojo-hero p,
body[class*="page-id-1764"] .dojo-hero .dojo-kanji-sub {
  color: #fff8e8 !important; text-shadow: 2px 2px 4px rgba(0,0,0,.6) !important;
}
body[class*="page-id-1764"] .dojo-hero .dojo-belt {
  display:inline-block; padding: 10px 40px;
  font-size: 20px !important; font-weight:800; letter-spacing:4px;
  border-radius:4px; margin-top:10px;
  box-shadow: 0 6px 15px rgba(0,0,0,.35);
  position:relative; animation: beltFloat 3s ease-in-out infinite;
}
@keyframes beltFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
body.page-id-17643 .dojo-belt { background: linear-gradient(180deg,#fff, #f0f0f0); color:#333; border:2px solid #888; }
body.page-id-17645 .dojo-belt { background: linear-gradient(180deg,#3b82f6, #1e40af); color:#fff; }
body.page-id-17648 .dojo-belt { background: linear-gradient(180deg,#1a1a1a, #000); color:#fff; border:2px solid #d4a24c; }

body[class*="page-id-1764"] .dojo-scroll {
  position:relative; max-width: 720px; margin: 30px auto !important;
  padding: 30px 50px !important;
  background: linear-gradient(180deg, #f7e4b8 0%, #ecd099 50%, #f7e4b8 100%) !important;
  border-left: 12px solid #7a4a25; border-right: 12px solid #7a4a25;
  box-shadow: 0 10px 30px rgba(90,50,20,.25), inset 0 0 60px rgba(139,90,43,.08);
  border-radius: 6px;
  font-family: 'Noto Serif JP', 'Yu Mincho', serif !important;
  color: #3a1f0a !important; line-height: 2.1 !important;
  animation: scrollUnfurl 1.2s ease-out both; animation-delay: .3s;
}
@keyframes scrollUnfurl { 0% { clip-path: inset(0 50% 0 50%); opacity:0; } 100% { clip-path: inset(0 0 0 0); opacity:1; } }
body[class*="page-id-1764"] .dojo-scroll::before,
body[class*="page-id-1764"] .dojo-scroll::after {
  content:""; position:absolute; top:-4px; bottom:-4px; width:28px;
  background: radial-gradient(ellipse at center, #8b5a2b, #5a3010);
  border-radius: 14px; box-shadow: inset 0 0 8px rgba(0,0,0,.5);
}
body[class*="page-id-1764"] .dojo-scroll::before { left:-24px; }
body[class*="page-id-1764"] .dojo-scroll::after { right:-24px; }
body[class*="page-id-1764"] .dojo-scroll p { color:#3a1f0a !important; font-size:16px !important; }

body[class*="page-id-1764"] .dojo-problems-intro { text-align:center; margin: 50px auto 30px !important; max-width:700px; }
body[class*="page-id-1764"] .dojo-problems-intro h2 {
  font-size: clamp(26px, 4vw, 36px) !important;
  color: #8b1e1e !important;
  font-family: 'Noto Serif JP', serif !important;
  font-weight:900 !important; letter-spacing: 3px !important;
  display:inline-block; padding: 10px 30px !important;
  background: #fff !important; border: 3px double #8b1e1e !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
  position:relative; transform: rotate(-1deg);
}
body[class*="page-id-1764"] .dojo-problems-intro h2::before { content:"\2694"; margin-right:12px; color:#d4a24c; }
body[class*="page-id-1764"] .dojo-problems-intro h2::after { content:"\2694"; margin-left:12px; color:#d4a24c; transform: scaleX(-1); display:inline-block; }

body.page-id-17643 a.linkto.table, body.page-id-17645 a.linkto.table, body.page-id-17648 a.linkto.table {
  display:flex !important; align-items:center !important;
  gap: 22px !important;
  width: 92% !important; max-width: 760px !important;
  margin: 18px auto !important;
  padding: 18px 30px 18px 22px !important;
  background: linear-gradient(135deg, #fdf1d8 0%, #f5dba8 50%, #edc47a 100%) !important;
  border: 3px solid #8b5a2b !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 16px rgba(90, 50, 20, .2), inset 0 1px 0 rgba(255,255,255,.6), inset 0 -3px 6px rgba(139,90,43,.15) !important;
  position: relative !important; text-decoration: none !important;
  color: #2a1810 !important;
  transition: all .35s cubic-bezier(.34,1.56,.64,1) !important;
  overflow: hidden !important;
}
body[class*="page-id-1764"] a.linkto.table::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 8px;
  background: repeating-linear-gradient(45deg, #8b1e1e 0 6px, #6b1515 6px 12px);
  box-shadow: inset -2px 0 4px rgba(0,0,0,.2);
}
body[class*="page-id-1764"] a.linkto.table::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,.4) 50%, transparent 70%);
  transform: translateX(-100%); transition: transform .6s ease; pointer-events: none;
}
body[class*="page-id-1764"] a.linkto.table:hover {
  transform: translateY(-3px) rotate(-.5deg) !important;
  box-shadow: 0 12px 28px rgba(139, 30, 30, .3), inset 0 1px 0 rgba(255,255,255,.7) !important;
  border-color: #b91c1c !important;
}
body[class*="page-id-1764"] a.linkto.table:hover::after { transform: translateX(100%); }
body[class*="page-id-1764"] a.linkto.table .tbcell.tbimg {
  display: block !important; width: 90px !important; height: 90px !important;
  flex: 0 0 auto !important; border-radius: 50% !important; overflow: hidden !important;
  border: 4px solid #fff !important;
  box-shadow: 0 4px 10px rgba(0,0,0,.25), 0 0 0 2px #8b5a2b !important;
  background:#fff !important; transition: transform .4s ease !important;
}
body[class*="page-id-1764"] a.linkto.table:hover .tbcell.tbimg { transform: rotate(8deg) scale(1.05) !important; }
body[class*="page-id-1764"] a.linkto.table .tbcell.tbimg img {
  width:100% !important; height:100% !important; object-fit:cover !important; display:block !important;
}
body[class*="page-id-1764"] a.linkto.table .tbcell.tbtext {
  display:block !important; flex: 1 1 auto !important;
  font-family: 'Noto Serif JP', 'Yu Mincho', serif !important;
  font-size: 17px !important; font-weight: 700 !important; color: #2a1810 !important;
  line-height: 1.55 !important; letter-spacing: .5px !important;
  padding-right: 30px !important; position: relative !important;
}
body[class*="page-id-1764"] a.linkto.table .tbcell.tbtext::after {
  content: "\25B6"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
  color: #b91c1c; font-size: 16px;
  transition: transform .3s ease, right .3s ease;
}
body[class*="page-id-1764"] a.linkto.table:hover .tbcell.tbtext::after { right: -4px; transform: translateY(-50%) scale(1.3); }

body[class*="page-id-1764"] .dojo-cta-section {
  text-align:center; margin: 60px auto 40px !important; max-width: 700px;
  padding: 50px 30px !important;
  background: radial-gradient(ellipse at center, #fff5d6 0%, #f5dba8 70%, #e8bd70 100%) !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 30px rgba(90,50,20,.25), inset 0 0 60px rgba(255,255,255,.3) !important;
  position: relative; overflow:hidden;
}
body[class*="page-id-1764"] .dojo-cta-section::before {
  content:""; position:absolute; inset:6px; border: 2px dashed rgba(139,30,30,.3); border-radius:14px; pointer-events:none;
}
body[class*="page-id-1764"] .dojo-daruma {
  font-size: 80px !important; display:inline-block; margin-bottom: 10px !important;
  animation: darumaBounce 2s ease-in-out infinite;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.25));
}
@keyframes darumaBounce {
  0%,100% { transform: translateY(0) rotate(-3deg); }
  25% { transform: translateY(-12px) rotate(0deg); }
  50% { transform: translateY(0) rotate(3deg); }
  75% { transform: translateY(-8px) rotate(0deg); }
}
body[class*="page-id-1764"] .dojo-kotodama {
  font-family:'Noto Serif JP', serif !important;
  font-size: clamp(18px, 2.5vw, 22px) !important;
  color: #4a2b15 !important; font-style: italic !important;
  margin: 15px auto 30px !important; font-weight: 600 !important; line-height: 1.6 !important;
}
body[class*="page-id-1764"] a.dojo-cta {
  display: inline-block !important; padding: 20px 50px !important;
  background: linear-gradient(135deg, #b91c1c 0%, #7f1d1d 100%) !important;
  color: #fff !important;
  font-size: clamp(18px, 2.5vw, 22px) !important; font-weight: 900 !important;
  font-family: 'Noto Serif JP', serif !important;
  text-decoration: none !important; border-radius: 50px !important; letter-spacing: 3px !important;
  border: 3px solid #d4a24c !important;
  box-shadow: 0 8px 20px rgba(139,30,30,.4), inset 0 2px 0 rgba(255,255,255,.3) !important;
  position: relative !important; overflow: hidden !important;
  transition: all .3s ease !important;
  animation: ctaPulse 2.5s ease-in-out infinite;
}
@keyframes ctaPulse {
  0%,100% { box-shadow: 0 8px 20px rgba(139,30,30,.4), inset 0 2px 0 rgba(255,255,255,.3), 0 0 0 0 rgba(212,162,76,.5); }
  50% { box-shadow: 0 8px 20px rgba(139,30,30,.4), inset 0 2px 0 rgba(255,255,255,.3), 0 0 0 14px rgba(212,162,76,0); }
}
body[class*="page-id-1764"] a.dojo-cta::before {
  content:""; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.4), transparent);
  transition: left .6s ease;
}
body[class*="page-id-1764"] a.dojo-cta:hover {
  transform: translateY(-3px) scale(1.03) !important;
  background: linear-gradient(135deg, #dc2626, #991b1b) !important;
}
body[class*="page-id-1764"] a.dojo-cta:hover::before { left:100%; }
body[class*="page-id-1764"] .dojo-cta-sub {
  margin-top: 16px !important; font-size: 14px !important; color: #6b4423 !important;
  font-weight: 600 !important; letter-spacing: 2px !important;
  background: rgba(255,255,255,.7); display:inline-block;
  padding: 6px 18px; border-radius: 20px; border: 1px solid rgba(139,90,43,.3);
}

body[class*="page-id-1764"] .dojo-links {
  text-align:center; margin: 40px auto 60px !important; padding: 30px 20px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.5), rgba(253,246,236,.5)) !important;
  border-radius: 20px;
}
body[class*="page-id-1764"] .dojo-links-h3 {
  font-family:'Noto Serif JP', serif !important;
  font-size: clamp(22px, 3vw, 28px) !important;
  color: #8b1e1e !important; font-weight: 900 !important;
  margin-bottom: 24px !important; letter-spacing: 4px !important;
  display: inline-block !important;
  background: transparent !important; border: none !important;
  position: relative; padding: 0 40px !important;
}
body[class*="page-id-1764"] .dojo-links-h3::before,
body[class*="page-id-1764"] .dojo-links-h3::after {
  content:""; position:absolute; top:50%; width:30px; height:2px; background: #8b1e1e;
}
body[class*="page-id-1764"] .dojo-links-h3::before { left:0; }
body[class*="page-id-1764"] .dojo-links-h3::after { right:0; }
body[class*="page-id-1764"] .dojo-links-row { display:flex !important; flex-wrap: wrap; justify-content: center; gap: 18px; }
body[class*="page-id-1764"] a.dojo-link {
  display: flex !important; flex-direction: column; align-items:center;
  padding: 16px 30px !important; min-width: 180px;
  background: #fff !important; border: 2px solid #8b5a2b !important; border-radius: 12px !important;
  text-decoration: none !important; color: #2a1810 !important;
  font-family:'Noto Serif JP', serif !important; font-weight: 700 !important;
  transition: all .3s ease !important; box-shadow: 0 4px 10px rgba(90,50,20,.12);
  position:relative;
}
body[class*="page-id-1764"] a.dojo-link:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 20px rgba(139,30,30,.2) !important;
  border-color: #b91c1c !important;
}
body[class*="page-id-1764"] a.dojo-link .dojo-link-kanji { font-size: 24px !important; color: #b91c1c !important; margin-bottom: 4px; }

/* belt-coloured dojo-links (V4 patch) */
body[class*="page-id-1764"] a.dojo-link--white {
  background: linear-gradient(180deg, #ffffff 0%, #f2f2f2 100%) !important;
  color: #2a1810 !important;
  border-color: #a0a0a0 !important;
}
body[class*="page-id-1764"] a.dojo-link--blue {
  background: linear-gradient(180deg, #3b82f6 0%, #1e40af 100%) !important;
  color: #ffffff !important;
  border-color: #1e3a8a !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.4) !important;
  box-shadow: 0 4px 12px rgba(30,64,175,.3) !important;
}
body[class*="page-id-1764"] a.dojo-link--blue .dojo-link-label,
body[class*="page-id-1764"] a.dojo-link--blue .dojo-link-name {
  color: #ffffff !important;
}
body[class*="page-id-1764"] a.dojo-link--black {
  background: linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%) !important;
  color: #fff5d6 !important;
  border-color: #d4a24c !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.6) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.4), inset 0 1px 0 rgba(212,162,76,.3) !important;
}
body[class*="page-id-1764"] a.dojo-link--black .dojo-link-label {
  color: #d4a24c !important;
}
body[class*="page-id-1764"] a.dojo-link--black .dojo-link-name {
  color: #fff5d6 !important;
}
body[class*="page-id-1764"] a.dojo-link--blue:hover {
  border-color: #60a5fa !important;
  box-shadow: 0 8px 20px rgba(59,130,246,.4) !important;
}
body[class*="page-id-1764"] a.dojo-link--black:hover {
  border-color: #fbbf24 !important;
  box-shadow: 0 8px 20px rgba(212,162,76,.4) !important;
}


/* === scroll (果たし状) decoration — V4 patch === */
body[class*="page-id-1764"] .dojo-scroll .toc,
body[class*="page-id-1764"] .dojo-scroll #toc_container { display:none !important; }
body[class*="page-id-1764"] .dojo-scroll-body { text-align: center !important; }
body[class*="page-id-1764"] .dojo-scroll-eyebrow {
  text-align: center !important;
  font-family: 'Noto Serif JP', 'Yu Mincho', serif !important;
  font-size: clamp(22px, 3.5vw, 30px) !important;
  font-weight: 900 !important;
  color: #8b1e1e !important;
  letter-spacing: 10px !important;
  margin: 10px auto 28px !important;
  padding: 14px 50px !important;
  display: inline-block !important;
  position: relative !important;
  background: linear-gradient(180deg, rgba(255,255,255,.6) 0%, rgba(255,245,214,.5) 100%);
  border-top: 2px solid #8b1e1e;
  border-bottom: 2px solid #8b1e1e;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 2px 6px rgba(139,30,30,.1);
  text-shadow: 1px 1px 0 #fff;
}
body[class*="page-id-1764"] .dojo-scroll-eyebrow::before,
body[class*="page-id-1764"] .dojo-scroll-eyebrow::after {
  content: "\2756";
  position: absolute; top: 50%; transform: translateY(-50%);
  color: #d4a24c; font-size: 18px; font-weight: normal;
}
body[class*="page-id-1764"] .dojo-scroll-eyebrow::before { left: 16px; }
body[class*="page-id-1764"] .dojo-scroll-eyebrow::after { right: 16px; }

body[class*="page-id-1764"] .dojo-scroll-h2 {
  font-family: 'Noto Serif JP', 'Yu Mincho', serif !important;
  font-size: clamp(26px, 4.5vw, 38px) !important;
  font-weight: 900 !important;
  color: #2a1810 !important;
  line-height: 1.3 !important;
  margin: 30px auto 28px !important;
  letter-spacing: 6px !important;
  padding: 20px 30px !important;
  display: inline-block !important;
  position: relative;
  background: transparent !important;
  border: none !important;
}
body[class*="page-id-1764"] .dojo-scroll-h2::before,
body[class*="page-id-1764"] .dojo-scroll-h2::after {
  content: "";
  position: absolute; left: 50%; transform: translateX(-50%);
  width: 60px; height: 3px;
  background: linear-gradient(90deg, transparent, #8b1e1e, transparent);
}
body[class*="page-id-1764"] .dojo-scroll-h2::before { top: 0; }
body[class*="page-id-1764"] .dojo-scroll-h2::after { bottom: 0; }

body[class*="page-id-1764"] .dojo-scroll-text {
  text-align: left !important;
  max-width: 560px;
  margin: 20px auto 30px !important;
  font-family: 'Noto Serif JP', 'Yu Mincho', serif !important;
  font-size: 16px !important;
  color: #3a1f0a !important;
  line-height: 2 !important;
  padding: 20px 24px 20px 54px !important;
  background: rgba(255,255,255,.35);
  background-image: radial-gradient(circle at 24px 18px, rgba(212,162,76,.15) 0, transparent 50%);
  border-left: 3px double #8b5a2b;
  border-right: 3px double #8b5a2b;
  border-radius: 4px;
  position: relative;
}

body[class*="page-id-1764"] .dojo-scroll-signature {
  text-align: right !important;
  margin: 30px 30px 10px auto !important;
  display: inline-flex !important;
  align-items: center;
  gap: 14px;
  padding: 12px 20px;
  font-family: 'Noto Serif JP', serif !important;
  font-size: 15px !important;
  color: #3a1f0a !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
}
body[class*="page-id-1764"] .dojo-scroll-sig-text {
  font-weight: 700 !important;
  letter-spacing: 2px !important;
}
body[class*="page-id-1764"] .dojo-scroll-stamp {
  display: inline-block !important;
  width: 44px; height: 44px;
  line-height: 44px; text-align: center;
  background: #a61e1e;
  color: #fff5d6;
  font-family: 'Noto Serif JP', serif;
  font-size: 18px; font-weight: 900;
  border-radius: 8px;
  transform: rotate(8deg);
  box-shadow:
    0 3px 8px rgba(0,0,0,.35),
    inset 0 0 0 2px rgba(255,245,214,.5),
    inset 0 0 8px rgba(0,0,0,.35);
  animation: scrollStampWobble 3s ease-in-out infinite;
}
@keyframes scrollStampWobble {
  0%,100% { transform: rotate(8deg); }
  50% { transform: rotate(12deg); }
}
body[class*="page-id-1764"] .dojo-scroll-top,
body[class*="page-id-1764"] .dojo-scroll-bottom {
  height: 18px;
  background: linear-gradient(180deg, #9a6a38 0%, #6b4020 40%, #3c2510 100%);
  border-radius: 6px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.15),
    inset 0 -2px 3px rgba(0,0,0,.3),
    0 3px 8px rgba(0,0,0,.25);
  margin: -4px -40px;
  position: relative;
}
body[class*="page-id-1764"] .dojo-scroll-top { margin-bottom: 20px; }
body[class*="page-id-1764"] .dojo-scroll-bottom { margin-top: 20px; }
body[class*="page-id-1764"] .dojo-scroll-top::before,
body[class*="page-id-1764"] .dojo-scroll-bottom::before {
  content: ""; position: absolute;
  top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 60%; height: 2px;
  background: rgba(212,162,76,.5);
  border-radius: 2px;
}

/* === end DOJO V4 === */
						


		

		

		

		

		

		

		
/* =========================================================================
   
		

		
/* === ARTICLE 29063 V10 — one column + grass + small creatures === */

/* KEYFRAMES */
@keyframes fadeUp{ from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn{ from{opacity:0} to{opacity:1} }
@keyframes slideInLeft{ from{opacity:0;transform:translateX(-18px)} to{opacity:1;transform:translateX(0)} }
@keyframes cloudDrift{ from{transform:translateX(-6%)} to{transform:translateX(106%)} }
@keyframes cloudDriftSlow{ from{transform:translateX(-6%)} to{transform:translateX(106%)} }
@keyframes pathShine{ 0%{background-position:0 -200%} 100%{background-position:0 200%} }
@keyframes particleDrift{
  0%   { transform:translate(0,0) rotate(0); opacity:0; }
  20%  { opacity:.55; }
  80%  { opacity:.55; }
  100% { transform:translate(40vw,-120vh) rotate(180deg); opacity:0; }
}
@keyframes critterCrawl{
  0%,100% { transform: translateX(0) rotate(-2deg); }
  50%     { transform: translateX(14px) rotate(2deg); }
}
@keyframes birdFlap{
  0%,100% { transform: translate(0,0) scale(1); }
  50%     { transform: translate(-8px,-6px) scale(1.05); }
}
@keyframes hopRabbit{
  0%,100% { transform: translateY(0) rotate(-3deg); }
  50%     { transform: translateY(-8px) rotate(3deg); }
}

/* PAGE */
body.postid-29063{
  background:
    radial-gradient(ellipse 100% 60% at 50% 0%, #cfe8ff 0%, transparent 55%),
    radial-gradient(ellipse 60% 40% at 80% 20%, rgba(255,230,150,.6) 0%, transparent 60%),
    linear-gradient(180deg, #e6f5d7 0%, #c6e4c0 45%, #a9d3b7 100%) !important;
  background-attachment: fixed !important;
  overflow-x:hidden !important;
}
/* particles */
body.postid-29063::before{
  content:""; position:fixed !important;
  left:0; top:100vh; width:6px; height:6px;
  background:radial-gradient(circle,#ffffff 0 2px, transparent 3px);
  box-shadow:
    10vw -10vh 0 rgba(255,255,255,.7),
    28vw -40vh 0 rgba(255,240,200,.6),
    56vw -80vh 0 rgba(255,255,255,.5),
    72vw -130vh 0 rgba(255,255,220,.55),
    88vw -20vh 0 rgba(255,255,255,.55);
  animation: particleDrift 28s linear infinite;
  pointer-events:none; z-index:0;
}
body.postid-29063::after{
  content:""; position:fixed !important;
  left:30vw; top:100vh; width:4px; height:4px;
  background:radial-gradient(circle,#fff 0 1.5px, transparent 2.5px);
  box-shadow:
    5vw -5vh 0 rgba(212,162,76,.5),
    22vw -28vh 0 rgba(255,255,255,.6),
    48vw -55vh 0 rgba(255,235,180,.5),
    66vw -85vh 0 rgba(255,255,255,.5);
  animation: particleDrift 42s linear infinite;
  animation-delay:-10s;
  pointer-events:none; z-index:0;
}

/* ============ ONE COLUMN — hide sidebar, widen main ============ */
body.postid-29063 .sidebar,
body.postid-29063 div.sidebar.m-all.t-1of3.d-2of7,
body.postid-29063 .d-2of7.last-col,
body.postid-29063 aside.d-2of7,
body.postid-29063 #secondary{
  display:none !important;
}
body.postid-29063 #main,
body.postid-29063 main.m-all,
body.postid-29063 main.m-all.t-2of3.d-5of7{
  width:100% !important;
  max-width:960px !important;
  margin:0 auto !important;
  float:none !important;
}
body.postid-29063 .wrap.cf{
  display:flex !important;
  justify-content:center !important;
}
body.postid-29063 .wrap.cf > main{ flex:1 1 auto; }

/* Cards */
body.postid-29063 #main, body.postid-29063 article.post-29063{
  background:#ffffff !important;
  border-radius:18px !important;
  box-shadow:0 14px 40px -18px rgba(20,50,30,.2), 0 2px 8px rgba(20,50,30,.04) !important;
  padding:0 !important;
  margin:18px auto !important;
  position:relative !important;
  z-index:1;
  counter-reset:chap;
  overflow:hidden !important;
}
body.postid-29063 article.post-29063{ padding:0 36px 80px !important; }
/* Strip old article pseudos */
body.postid-29063 article.post-29063::after{ content:none !important; display:none !important; }

/* HERO */
html body.postid-29063 article.post-29063 h1.entry-title{
  position:relative !important;
  margin:0 -36px 48px !important;
  padding:120px 40px 140px !important;
  text-align:center !important;
  font-family:'Zen Kurenaido','Klee One','Hiragino Maru Gothic ProN','Yu Mincho',serif !important;
  font-size:clamp(26px,4vw,44px) !important;
  font-weight:900 !important;
  line-height:1.55 !important;
  letter-spacing:.05em !important;
  color:#0e2d3b !important;
  background:
    radial-gradient(ellipse 40% 30% at 20% 26%, rgba(255,255,255,.95), transparent 60%),
    radial-gradient(ellipse 35% 25% at 80% 70%, rgba(255,255,255,.9), transparent 60%),
    radial-gradient(circle 140px at 78% 24%, #ffd97a 0 40%, rgba(255,235,160,.4) 45%, transparent 70%),
    radial-gradient(circle 200px at 20% 80%, rgba(160,210,120,.55), transparent 70%),
    linear-gradient(180deg, #9cd7ff 0%, #d2ebff 40%, #e6f5d7 100%) !important;
  border:none !important;
  border-radius:18px 18px 0 0 !important;
  box-shadow:none !important;
  text-shadow:0 1px 0 rgba(255,255,255,.6) !important;
  overflow:hidden !important;
  animation: fadeIn 1.4s ease-out both;
}
html body.postid-29063 article.post-29063 h1.entry-title > *{ position:relative; z-index:3; }
html body.postid-29063 article.post-29063 h1.entry-title::before{
  content:"" !important;
  position:absolute !important;
  left:-10% !important; right:-10% !important;
  top:36% !important; height:72px !important;
  z-index:1 !important;
  background:
    radial-gradient(50px 30px at 15% 50%, rgba(255,255,255,.92), transparent 60%),
    radial-gradient(44px 26px at 42% 40%, rgba(255,255,255,.85), transparent 60%),
    radial-gradient(60px 34px at 78% 55%, rgba(255,255,255,.9),  transparent 60%);
  animation: cloudDrift 60s linear infinite;
  width:auto !important; border:none !important; border-radius:0 !important;
  padding:0 !important; color:transparent !important; text-shadow:none !important;
  opacity:.85;
}
html body.postid-29063 article.post-29063 h1.entry-title::after{
  content:"" !important;
  position:absolute !important;
  left:-10% !important; right:-10% !important;
  top:14% !important; height:50px !important;
  z-index:1 !important;
  background:
    radial-gradient(40px 22px at 20% 50%, rgba(255,255,255,.7), transparent 60%),
    radial-gradient(50px 28px at 68% 35%, rgba(255,255,255,.75), transparent 60%);
  animation: cloudDriftSlow 100s linear infinite;
  animation-delay:-40s;
  width:auto !important; border:none !important; border-radius:0 !important;
  padding:0 !important; color:transparent !important; text-shadow:none !important;
  opacity:.75;
}

/* STAGE pill + bird above hero */
body.postid-29063 article.post-29063::before{
  content:"STAGE 1  \30FB  \306F\3058\307E\308A\306E\91CC" !important;
  display:block !important;
  position:absolute !important;
  top:36px !important; left:50% !important;
  transform:translateX(-50%) !important;
  z-index:10 !important;
  background:rgba(255,255,255,.95) !important;
  color:#cc6618 !important;
  font-family:'Noto Sans JP',sans-serif !important;
  font-size:11px !important; font-weight:800 !important; letter-spacing:5px !important;
  padding:7px 18px !important;
  border-radius:999px !important;
  box-shadow:0 4px 12px rgba(15,50,70,.15) !important;
  animation: fadeUp .9s .2s ease-out both;
  pointer-events:none !important;
  width:auto !important; height:auto !important;
  border:none !important;
  margin:0 !important;
}

/* &#x1f426; BIRD flying top-left of hero */
body.postid-29063 article.post-29063 > header::before,
body.postid-29063 article.post-29063 h1.entry-title{ /* keep placeholder */ }

/* Progress rail */
body.postid-29063 #main::before{
  content:"";
  position:absolute;
  left:14px; top:100px; bottom:80px;
  width:3px;
  background:
    linear-gradient(180deg, transparent, #cc6618 20%, #cc6618 80%, transparent) 0 0/100% 200% no-repeat,
    repeating-linear-gradient(180deg, rgba(204,102,24,.2) 0 4px, transparent 4px 9px);
  border-radius:2px;
  animation: pathShine 12s linear infinite;
  z-index:2; pointer-events:none; opacity:.7;
}
body.postid-29063 #main::after{
  /* &#x1f41e; ladybug decoration at top-right of card */
  content:"\1F41E";
  position:absolute;
  top:180px; right:30px;
  font-size:24px;
  z-index:3;
  pointer-events:none;
  animation: critterCrawl 8s ease-in-out infinite;
}
@media (max-width:900px){ body.postid-29063 #main::before{ display:none; } }

/* ============ H2 — with grass tuft decoration at bottom ============ */
html body.postid-29063 .entry-content h2{
  counter-increment:chap;
  font-family:'Zen Kurenaido','Klee One','Hiragino Maru Gothic ProN','Yu Mincho',serif !important;
  font-size:clamp(20px,2.4vw,28px) !important;
  font-weight:900 !important;
  line-height:1.55 !important;
  color:#0e2d3b !important;
  text-align:left !important;
  max-width:860px !important;
  margin:84px auto 28px !important;
  padding:34px 0 40px !important;
  background:transparent !important;
  background-image:none !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
  display:block !important;
  position:relative !important;
  animation: fadeUp .7s ease-out both;
}
html body.postid-29063 .entry-content h2::before{
  content:"CHAPTER " counter(chap, decimal-leading-zero) !important;
  position:absolute !important;
  top:0 !important; left:0 !important;
  background:transparent !important;
  color:#cc6618 !important;
  font-family:'Noto Sans JP',sans-serif !important;
  font-size:11px !important; font-weight:800 !important; letter-spacing:5px !important;
  padding:0 !important;
  border:none !important;
  transform:none !important;
  animation: slideInLeft .6s .1s ease-out both;
}
/* GRASS TUFT below H2 with tiny creature */
html body.postid-29063 .entry-content h2::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important; bottom:0 !important;
  top:auto !important;
  width:100% !important; height:22px !important;
  background:
    /* a few extra grass blades in SVG */
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='22' viewBox='0 0 120 22'%3E%3Cg fill='none' stroke='%235a8f2e' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M4 22 Q6 10 8 22'/%3E%3Cpath d='M10 22 Q13 4 16 22'/%3E%3Cpath d='M20 22 Q22 12 24 22'/%3E%3Cpath d='M28 22 Q30 6 32 22'/%3E%3Cpath d='M38 22 Q40 14 42 22'/%3E%3Cpath d='M46 22 Q49 3 52 22'/%3E%3Cpath d='M58 22 Q60 12 62 22'/%3E%3Cpath d='M66 22 Q69 5 72 22'/%3E%3Cpath d='M78 22 Q80 13 82 22'/%3E%3Cpath d='M88 22 Q91 4 94 22'/%3E%3Cpath d='M100 22 Q102 12 104 22'/%3E%3Cpath d='M110 22 Q112 6 114 22'/%3E%3C/g%3E%3Ccircle cx='54' cy='19' r='2' fill='%23d9504a'/%3E%3Cpath d='M52 17 q2 -2 4 0' stroke='%233a1a1a' stroke-width='.6' fill='none'/%3E%3C/svg%3E") repeat-x center bottom/120px 22px !important;
  border:none !important;
  border-radius:0 !important;
  display:block !important;
  color:transparent !important;
  margin:0 !important;
  transform:none !important;
  animation:none !important;
  box-shadow:none !important;
  opacity:.8;
}
body.postid-29063 .comments-area h2, body.postid-29063 .related-articles h2{ counter-increment:none !important; }
body.postid-29063 .comments-area h2::before, body.postid-29063 .related-articles h2::before{ content:none !important; display:none !important; }
body.postid-29063 .comments-area h2::after, body.postid-29063 .related-articles h2::after{ content:none !important; display:none !important; }

/* ============ H3 ============ */
html body.postid-29063 .entry-content h3{
  font-family:'Zen Kurenaido','Klee One','Hiragino Maru Gothic ProN','Yu Mincho',serif !important;
  font-size:clamp(16px,1.8vw,20px) !important;
  font-weight:800 !important;
  color:#0e2d3b !important;
  max-width:820px !important;
  margin:32px auto 14px !important;
  padding:4px 0 4px 22px !important;
  background:transparent !important;
  border:none !important; border-radius:0 !important; box-shadow:none !important;
  display:block !important; position:relative !important;
  letter-spacing:.03em !important;
  animation: slideInLeft .6s ease-out both;
}
html body.postid-29063 .entry-content h3::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important; top:50% !important;
  transform:translateY(-50%) !important;
  width:9px !important; height:9px !important;
  border-radius:50% !important;
  background:#cc6618 !important;
  box-shadow:0 0 0 4px rgba(204,102,24,.14) !important;
  border:none !important; padding:0 !important;
}
html body.postid-29063 .entry-content h3::after{ content:none !important; display:none !important; }

/* BODY TEXT */
body.postid-29063 .entry-content > p,
body.postid-29063 .entry-content > ul,
body.postid-29063 .entry-content > ol{
  max-width:820px !important;
  margin-left:auto !important; margin-right:auto !important;
  font-size:16px !important;
  line-height:2 !important;
  color:#2a3124 !important;
  letter-spacing:.01em !important;
  animation: fadeUp .6s ease-out both;
}
body.postid-29063 .entry-content strong,
body.postid-29063 .entry-content b{ font-weight:800 !important; background:none !important; padding:0 !important; }
body.postid-29063 .entry-content a:not(.btn):not(.wp-block-button__link):not(.jp-ac-card){
  color:#0e2d3b !important;
  border-bottom:1px solid #c6cfb9 !important;
  text-decoration:none !important;
  padding:0 !important;
  transition:color .25s ease, border-color .25s ease;
}
body.postid-29063 .entry-content a:hover{
  color:#cc6618 !important; border-bottom-color:#cc6618 !important;
}

/* SANGO say */
body.postid-29063 .wp-block-sgb-say,
body.postid-29063 .entry-content .wp-block-sgb-say{
  max-width:820px !important;
  margin:24px auto !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important; border-radius:0 !important; box-shadow:none !important;
  animation: fadeUp .6s ease-out both;
}

/* IMAGES */
html body.postid-29063 .entry-content .wp-block-image,
html body.postid-29063 .entry-content figure.wp-block-image{
  max-width:820px !important;
  margin:24px auto !important;
  padding:0 !important;
  background:transparent !important; border:none !important;
  border-radius:0 !important; box-shadow:none !important;
  transform:none !important; overflow:visible !important;
  animation: fadeUp .7s ease-out both;
}
html body.postid-29063 .entry-content .wp-block-image img{
  border-radius:10px !important;
  display:block !important;
  max-width:100% !important; height:auto !important; width:auto !important;
  margin:0 auto !important;
  box-shadow:0 8px 24px -10px rgba(20,50,30,.25) !important;
  transition:transform .5s ease, box-shadow .5s ease;
}
html body.postid-29063 .entry-content .wp-block-image:hover img{
  transform:translateY(-3px);
  box-shadow:0 14px 30px -10px rgba(20,50,30,.35) !important;
}
html body.postid-29063 .entry-content .wp-block-image figcaption{
  text-align:center !important;
  color:#666 !important; font-size:13px !important;
  margin-top:8px !important; padding:0 !important; background:transparent !important;
}

/* VIDEO */
body.postid-29063 .entry-content .wp-block-embed,
body.postid-29063 .entry-content .wp-block-embed-youtube,
body.postid-29063 .entry-content figure.wp-block-embed{
  max-width:860px !important;
  margin:32px auto !important;
  padding:0 !important;
  background:transparent !important; border:none !important;
  border-radius:0 !important; box-shadow:none !important;
  animation: fadeUp .8s ease-out both;
  position:static !important;
}
body.postid-29063 .entry-content .wp-block-embed::before,
body.postid-29063 .entry-content .wp-block-embed::after{ content:none !important; display:none !important; }
body.postid-29063 .entry-content .wp-block-embed iframe,
body.postid-29063 .entry-content iframe[src*="youtube"],
body.postid-29063 .entry-content iframe[src*="vimeo"]{
  max-width:100% !important; width:100% !important;
  aspect-ratio:16/9 !important; height:auto !important;
  margin:0 !important; border:none !important;
  border-radius:12px !important;
  box-shadow:0 14px 34px -14px rgba(20,50,30,.35) !important;
  display:block !important;
  transition:transform .5s ease, box-shadow .5s ease;
}
body.postid-29063 .entry-content .wp-block-embed:hover iframe{
  transform:scale(1.005);
  box-shadow:0 18px 40px -14px rgba(20,50,30,.4) !important;
}

/* SGB FULL-BG (Kick-Japanesia) */
body.postid-29063 .entry-content .wp-block-sgb-full-bg,
body.postid-29063 .entry-content .wp-block-sgb-full-bg.alignfull{
  max-width:860px !important;
  width:auto !important;
  margin:32px auto !important;
  padding:26px 28px !important;
  background:#fafaf5 !important;
  border:none !important;
  border-radius:14px !important;
  box-shadow:0 8px 22px -12px rgba(20,50,30,.2) !important;
  animation: fadeUp .7s ease-out both;
  position:static !important;
  left:auto !important; right:auto !important;
  transform:none !important;
}
body.postid-29063 .entry-content .wp-block-sgb-full-bg > *{
  max-width:100% !important;
  margin-left:0 !important; margin-right:0 !important;
}

/* TOC */
html body.postid-29063 .entry-content .toc{
  max-width:760px !important;
  margin:28px auto 40px !important;
  padding:30px 24px 18px !important;
  background:linear-gradient(180deg,#fafaf5 0%,#f5efe0 100%) !important;
  border:none !important;
  border-left:3px solid #cc6618 !important;
  border-radius:0 !important;
  box-shadow:0 6px 14px -8px rgba(20,50,30,.15) !important;
  position:relative !important;
  animation: fadeUp .7s ease-out both;
}
html body.postid-29063 .entry-content .toc::before{
  content:"\76EE\6B21  \00B7  TABLE OF CONTENTS" !important;
  position:absolute !important;
  top:8px !important; left:24px !important;
  color:#cc6618 !important;
  font-family:'Noto Sans JP',sans-serif !important;
  font-size:11px !important; font-weight:800 !important; letter-spacing:4px !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
html body.postid-29063 .entry-content .toc .toc_container,
html body.postid-29063 .entry-content .toc_container{
  background:transparent !important;
  border:none !important; border-left:none !important;
  box-shadow:none !important;
  padding:0 !important; margin:0 !important;
  max-width:none !important;
}
html body.postid-29063 .entry-content .toc .toc_container::before,
html body.postid-29063 .entry-content .toc_container::before{ content:none !important; display:none !important; }
body.postid-29063 .entry-content .toc_title{
  color:#0e2d3b !important;
  font-weight:800 !important; font-size:14px !important;
  letter-spacing:.04em !important;
  margin:18px 0 12px !important;
  padding:0 !important; border:none !important;
}
body.postid-29063 .entry-content .toc li{
  padding-left:0 !important; margin:4px 0 !important;
}
body.postid-29063 .entry-content .toc li::before{ content:none !important; display:none !important; }
body.postid-29063 .entry-content .toc a{
  color:#0e2d3b !important;
  font-weight:500 !important;
  text-decoration:none !important;
  border:none !important;
  transition:color .2s ease, padding-left .2s ease;
}
body.postid-29063 .entry-content .toc a:hover{
  color:#cc6618 !important; padding-left:4px !important;
}

/* === Small creatures scattered === */
/* &#x1f98b; near hero (fixed to hero wrapper) — kept small */
/* We'll inject a ::before on .entry-content to hold a bird, and use .post-29063 hooks */
body.postid-29063 .entry-content{
  position:relative !important;
}
body.postid-29063 .entry-content::before{
  content:"\1F425";
  position:absolute;
  top:-80px; left:10%;
  font-size:26px;
  z-index:5;
  pointer-events:none;
  animation: birdFlap 2.6s ease-in-out infinite;
}
body.postid-29063 .entry-content::after{
  content:"\1F407";
  position:absolute;
  bottom:-40px; right:6%;
  font-size:32px;
  z-index:5;
  pointer-events:none;
  animation: hopRabbit 2.4s ease-in-out infinite;
}
/* Caterpillar drawn near a middle h3 via first-of-type trick (on 2nd h3) */
body.postid-29063 .entry-content h3:nth-of-type(2)::after{
  content:"\1F41B" !important;
  display:inline-block !important;
  margin-left:10px !important;
  font-size:18px !important;
  animation: critterCrawl 3.2s ease-in-out infinite;
  position:static !important;
  color:inherit !important;
  background:none !important;
  border:none !important;
  width:auto !important; height:auto !important;
  padding:0 !important;
  transform:none !important;
  opacity:.9;
}

/* BUTTON (wp-block-button) */
body.postid-29063 .entry-content .wp-block-button__link{
  background:linear-gradient(180deg,#d67523 0%,#a54e0a 100%) !important;
  color:#fff !important;
  font-weight:800 !important;
  padding:16px 36px !important;
  border-radius:50px !important;
  border:none !important;
  text-decoration:none !important;
  letter-spacing:.05em !important;
  box-shadow:0 8px 20px -6px rgba(204,102,24,.5) !important;
  transition:transform .2s ease, box-shadow .2s ease !important;
}
body.postid-29063 .entry-content .wp-block-button__link:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 12px 26px -6px rgba(204,102,24,.6) !important;
}

/* Scroll-linked animations */
@supports (animation-timeline: view()){
  body.postid-29063 .entry-content > p,
  body.postid-29063 .entry-content h2,
  body.postid-29063 .entry-content h3,
  body.postid-29063 .entry-content .wp-block-image,
  body.postid-29063 .entry-content .wp-block-embed,
  body.postid-29063 .wp-block-sgb-say,
  body.postid-29063 .entry-content .wp-block-sgb-full-bg{
    animation: fadeUp linear both !important;
    animation-timeline: view() !important;
    animation-range: entry 0% cover 25% !important;
  }
}

/* Reset comments/related */
body.postid-29063 .comments-area h2, body.postid-29063 .comments-area h3,
body.postid-29063 .related-articles h2, body.postid-29063 .related-articles h3,
body.postid-29063 .jp-related h3, body.postid-29063 .l-main__sub h3{
  background:none !important; border:none !important; padding:0 !important;
  color:#0e2d3b !important; font-size:18px !important;
  box-shadow:none !important; text-shadow:none !important;
  border-bottom:none !important;
  margin:16px 0 10px !important;
  animation:none !important;
  background-image:none !important;
  font-family:'Noto Sans JP',sans-serif !important;
}
/* === end ADVENTURE ARTICLE 29063 === */
		/* === CHOUSENJOU ENTRANCE — page-id-13278 === */
body.page-id-13278{ background:#fdf6ec !important; }
body.page-id-13278 #main, body.page-id-13278 .l-content{ background:transparent !important; }
body.page-id-13278 article{ background:transparent !important; box-shadow:none !important; border:none !important; padding:0 !important; }
body.page-id-13278 .toc, body.page-id-13278 #breadcrumb, body.page-id-13278 .phead, body.page-id-13278 h1.entry-title{ display:none !important; }

body.page-id-13278 .dojo-hero{
  position:relative; text-align:center;
  padding: 50px 90px 50px !important;
  margin: 10px auto 30px !important;
  overflow: hidden;
  border: none !important;
  border-radius: 14px !important;
  background-color: #b5a05c !important;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cg fill='%23ffc4d4' stroke='%23e68aa0' stroke-width='.5'%3E%3Cpath d='M13 3 Q16 10 13 13 Q10 10 13 3 Z'/%3E%3Cpath d='M13 23 Q10 16 13 13 Q16 16 13 23 Z'/%3E%3Cpath d='M3 13 Q10 10 13 13 Q10 16 3 13 Z'/%3E%3Cpath d='M23 13 Q16 16 13 13 Q16 10 23 13 Z'/%3E%3Ccircle cx='13' cy='13' r='2' fill='%23f7d7b8'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='80' viewBox='0 0 120 80'%3E%3Cg fill='%234e7226' stroke='%233d5a1e' stroke-width='.7'%3E%3Cpath d='M10 42 Q40 20 75 18 Q42 32 10 42 Z'/%3E%3Cpath d='M8 55 Q36 46 68 52 Q40 60 8 55 Z' fill='%235a8a2e'/%3E%3Cpath d='M22 28 Q40 8 62 8 Q42 22 22 28 Z' fill='%236a9c34'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='80' viewBox='0 0 120 80'%3E%3Cg fill='%234e7226' stroke='%233d5a1e' stroke-width='.7'%3E%3Cpath d='M110 42 Q80 20 45 18 Q78 32 110 42 Z'/%3E%3Cpath d='M112 55 Q84 46 52 52 Q80 60 112 55 Z' fill='%235a8a2e'/%3E%3Cpath d='M98 28 Q80 8 58 8 Q78 22 98 28 Z' fill='%236a9c34'/%3E%3C/g%3E%3C/svg%3E"),radial-gradient(ellipse at top, rgba(255,230,150,.18), transparent 60%),repeating-linear-gradient(0deg, rgba(139, 109, 40, .12) 0px, rgba(139, 109, 40, .12) 1px, transparent 1px, transparent 6px),repeating-linear-gradient(90deg, rgba(95, 73, 24, .09) 0px, rgba(95, 73, 24, .09) 1px, transparent 1px, transparent 4px),linear-gradient(90deg, #b5a05c 0%, #b5a05c 49.6%, #2d1a0a 49.6%, #2d1a0a 50.4%, #b5a05c 50.4%, #b5a05c 100%),linear-gradient(180deg, #c2ac66 0%, #b5a05c 50%, #a8924e 100%) !important;
  background-repeat: no-repeat, no-repeat, no-repeat, repeat, repeat, repeat, no-repeat, no-repeat !important;
  background-position: 120px 30px, 66px 20px, calc(100% - 66px) 20px, 0 0, 0 0, 0 0, 0 0, 0 0 !important;
  background-size: 26px 26px, 120px 80px, 120px 80px, auto, auto, auto, 100% 100%, auto !important;
  box-shadow:
    inset 0 0 0 14px #1a0f08,
    inset 0 0 0 18px #d4a24c,
    inset 0 0 0 22px #1a0f08,
    0 10px 40px rgba(60,40,10,.35) !important;
}
body.page-id-13278 .dojo-hero .dojo-tatami-deco{
  position: absolute !important; inset: 0 !important;
  pointer-events: none; overflow: hidden; z-index: 1;
}
body.page-id-13278 .dojo-hero .dojo-tatami-deco::before,
body.page-id-13278 .dojo-hero .dojo-tatami-deco::after{
  content: ""; position: absolute; top: 6%; bottom: 6%; width: 30px;
  border-radius: 6px;
  box-shadow: 2px 0 6px rgba(0,0,0,.22), inset -3px 0 5px rgba(0,0,0,.18), inset 3px 0 5px rgba(255,255,255,.1);
  background:
    linear-gradient(180deg,
      transparent 0, transparent calc(16% - 3px),
      rgba(30, 50, 15, .55) calc(16% - 3px), rgba(30, 50, 15, .55) 16%,
      transparent 16%, transparent calc(40% - 3px),
      rgba(30, 50, 15, .55) calc(40% - 3px), rgba(30, 50, 15, .55) 40%,
      transparent 40%, transparent calc(64% - 3px),
      rgba(30, 50, 15, .55) calc(64% - 3px), rgba(30, 50, 15, .55) 64%,
      transparent 64%, transparent calc(88% - 3px),
      rgba(30, 50, 15, .55) calc(88% - 3px), rgba(30, 50, 15, .55) 88%,
      transparent 88%),
    linear-gradient(90deg, #3d5a1e 0%, #6a9438 28%, #a6cf6f 48%, #80ad45 65%, #4a6b24 100%);
  transform-origin: bottom center;
}
body.page-id-13278 .dojo-hero .dojo-tatami-deco::before { left: 28px; animation: bambooSway 5s ease-in-out infinite; }
body.page-id-13278 .dojo-hero .dojo-tatami-deco::after { right: 28px; animation: bambooSway 6s ease-in-out infinite reverse; }

body.page-id-13278 .dojo-noren{
  position:absolute !important; top:22px; left:50%;
  transform:translateX(-50%); display:flex; gap:4px; z-index:2;
}
body.page-id-13278 .dojo-noren-char{
  display:inline-block; width:48px; height:78px;
  line-height:78px; text-align:center;
  background:linear-gradient(180deg, #8b1e1e 0%, #6b1515 100%);
  color:#fff5d6;
  font-family:'Noto Serif JP', serif;
  font-size:26px; font-weight:900;
  clip-path:polygon(0 0, 100% 0, 100% 86%, 50% 100%, 0 86%);
  box-shadow:0 4px 8px rgba(0,0,0,.3);
  animation:norenSwayLight 4s ease-in-out infinite;
  transform-origin:top center;
}
body.page-id-13278 .dojo-noren-char:nth-child(2){ animation-delay:-.8s; }
body.page-id-13278 .dojo-noren-char:nth-child(3){ animation-delay:-1.6s; }
@keyframes norenSwayLight{
  0%,100% { transform:skewX(0deg); }
  50%     { transform:skewX(1.5deg); }
}

body.page-id-13278 .dojo-hero-inner{ position:relative !important; z-index:2; padding-top:60px; }
body.page-id-13278 .dojo-hero .dojo-kanji{
  font-family: 'Noto Serif JP', 'Yu Mincho', serif !important;
  font-size: clamp(32px, 5vw, 56px) !important;
  font-weight: 900 !important;
  color: #fff8e8 !important;
  margin: 30px 0 18px !important;
  letter-spacing: 8px !important;
  text-shadow: 2px 2px 0 #5a3010, 4px 4px 0 #2d1a0a, 6px 6px 14px rgba(0,0,0,.5) !important;
  display:inline-block;
  animation: dojoKanjiPop 1s cubic-bezier(.34,1.56,.64,1) both;
}
body.page-id-13278 .dojo-hero .dojo-title{
  display:block !important; margin:16px 0 22px !important;
  background:none !important; padding:0 !important;
}
body.page-id-13278 .dojo-title-kicker{
  display:inline-block;
  background:rgba(255,245,214,.95);
  color:#8b1e1e;
  font-family:'Noto Sans JP', sans-serif;
  font-size:13px; font-weight:800; letter-spacing:6px;
  padding:6px 18px; border-radius:2px; margin-bottom:12px;
}
body.page-id-13278 .dojo-title-main{
  display:block;
  font-family:'Noto Serif JP', serif !important;
  font-size:clamp(24px, 3.8vw, 38px) !important;
  font-weight:900 !important;
  color:#fff8e8 !important;
  line-height:1.5 !important;
  text-shadow: 2px 2px 0 #5a3010, 4px 4px 12px rgba(0,0,0,.5) !important;
  letter-spacing:.04em;
}
body.page-id-13278 .dojo-belt--master{
  display:inline-block;
  padding: 10px 40px;
  font-size: 18px !important;
  font-weight:800; letter-spacing:4px;
  border-radius:4px; margin-top:12px;
  box-shadow: 0 6px 15px rgba(0,0,0,.35);
  background: linear-gradient(180deg,#d4a24c, #8b6f2a);
  color:#fdf6ec;
  border:2px solid #8b6f2a;
  animation: beltFloat 3s ease-in-out infinite;
}
body.page-id-13278 .dojo-hero-intro{
  color: #fff8e8 !important;
  font-size: clamp(14px, 1.8vw, 17px) !important;
  line-height:2 !important;
  max-width:680px;
  margin:24px auto 0 !important;
  text-shadow: 2px 2px 4px rgba(0,0,0,.6) !important;
}
body.page-id-13278 .dojo-hero-intro b{ color:#ffe08a !important; background:none !important; }

body.page-id-13278 .dojo-scroll{
  position:relative; max-width: 720px; margin: 40px auto !important;
  padding: 30px 50px !important;
  background: linear-gradient(180deg, #f7e4b8 0%, #ecd099 50%, #f7e4b8 100%) !important;
  border-left: 12px solid #7a4a25; border-right: 12px solid #7a4a25;
  box-shadow: 0 10px 30px rgba(90,50,20,.25), inset 0 0 60px rgba(139,90,43,.08);
  border-radius: 6px;
  font-family: 'Noto Serif JP', serif !important;
  color: #3a1f0a !important;
  animation: scrollUnfurl 1.2s ease-out both;
}
body.page-id-13278 .dojo-scroll::before,
body.page-id-13278 .dojo-scroll::after{
  content:""; position:absolute; top:-4px; bottom:-4px; width:28px;
  background: radial-gradient(ellipse at center, #8b5a2b, #5a3010);
  border-radius: 14px; box-shadow: inset 0 0 8px rgba(0,0,0,.5);
}
body.page-id-13278 .dojo-scroll::before { left:-24px; }
body.page-id-13278 .dojo-scroll::after { right:-24px; }
body.page-id-13278 .dojo-scroll-body{ text-align:center !important; }
body.page-id-13278 .dojo-scroll-eyebrow{
  text-align: center !important;
  font-family: 'Noto Serif JP', serif !important;
  font-size: clamp(22px, 3.5vw, 30px) !important;
  font-weight: 900 !important; color: #8b1e1e !important;
  letter-spacing: 10px !important;
  margin: 10px auto 28px !important;
  padding: 14px 50px !important;
  display: inline-block !important; position: relative !important;
  background: linear-gradient(180deg, rgba(255,255,255,.6) 0%, rgba(255,245,214,.5) 100%);
  border-top: 2px solid #8b1e1e; border-bottom: 2px solid #8b1e1e;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 2px 6px rgba(139,30,30,.1);
  text-shadow: 1px 1px 0 #fff;
}
body.page-id-13278 .dojo-scroll-h2{
  font-family: 'Noto Serif JP', serif !important;
  font-size: clamp(26px, 4.5vw, 38px) !important;
  font-weight: 900 !important;
  color: #2a1810 !important;
  line-height: 1.4 !important;
  margin: 30px auto 28px !important;
  letter-spacing: 6px !important;
  padding: 20px 30px !important;
  background: transparent !important; border: none !important;
  display: inline-block !important; position:relative;
}
body.page-id-13278 .dojo-scroll-h2::before,
body.page-id-13278 .dojo-scroll-h2::after{
  content:""; position:absolute; left:50%; transform:translateX(-50%);
  width:60px; height:3px;
  background: linear-gradient(90deg, transparent, #8b1e1e, transparent);
}
body.page-id-13278 .dojo-scroll-h2::before{ top:0; }
body.page-id-13278 .dojo-scroll-h2::after{ bottom:0; }
body.page-id-13278 .dojo-scroll-text{
  text-align:left !important; max-width: 560px;
  margin: 20px auto 30px !important;
  font-family: 'Noto Serif JP', serif !important;
  font-size: 16px !important; color: #3a1f0a !important;
  line-height: 2 !important;
  padding: 20px 24px 20px 54px !important;
  background: rgba(255,255,255,.35);
  background-image: radial-gradient(circle at 24px 18px, rgba(212,162,76,.15) 0, transparent 50%);
  border-left: 3px double #8b5a2b; border-right: 3px double #8b5a2b;
  border-radius: 4px;
}
body.page-id-13278 .dojo-scroll-signature{
  text-align:right !important;
  margin: 30px 30px 10px auto !important;
  display: inline-flex !important; align-items:center; gap:14px;
  padding: 12px 20px;
  font-family:'Noto Serif JP', serif !important;
  font-size: 15px !important; color: #3a1f0a !important;
  font-weight:600; line-height:1.6;
}
body.page-id-13278 .dojo-scroll-sig-text{ font-weight:700 !important; letter-spacing:2px; }
body.page-id-13278 .dojo-scroll-stamp{
  display:inline-block !important;
  width:44px; height:44px; line-height:44px; text-align:center;
  background:#a61e1e; color:#fff5d6;
  font-family:'Noto Serif JP', serif;
  font-size:18px; font-weight:900;
  border-radius:8px;
  transform: rotate(8deg);
  box-shadow: 0 3px 8px rgba(0,0,0,.35), inset 0 0 0 2px rgba(255,245,214,.5), inset 0 0 8px rgba(0,0,0,.35);
  animation: scrollStampWobble 3s ease-in-out infinite;
}
body.page-id-13278 .dojo-scroll-top,
body.page-id-13278 .dojo-scroll-bottom{
  height: 18px;
  background: linear-gradient(180deg, #9a6a38 0%, #6b4020 40%, #3c2510 100%);
  border-radius: 6px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15), inset 0 -2px 3px rgba(0,0,0,.3), 0 3px 8px rgba(0,0,0,.25);
  margin: -4px -40px;
  position:relative;
}

body.page-id-13278 .dojo-problems-intro{
  text-align:center; margin:60px auto 30px !important; max-width:780px; padding:0 20px;
}
body.page-id-13278 .dojo-problems-intro h2{
  font-size: clamp(26px, 4vw, 36px) !important;
  color: #8b1e1e !important;
  font-family: 'Noto Serif JP', serif !important;
  font-weight:900 !important; letter-spacing: 3px !important;
  display:inline-block; padding: 10px 30px !important;
  background: #fff !important; border: 3px double #8b1e1e !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
  transform: rotate(-1deg);
}
body.page-id-13278 .dojo-problems-intro h2::before{ content:"\2694"; margin-right:12px; color:#d4a24c; }
body.page-id-13278 .dojo-problems-intro h2::after{ content:"\2694"; margin-left:12px; color:#d4a24c; transform:scaleX(-1); display:inline-block; }
body.page-id-13278 .dojo-problems-intro p{
  margin:18px auto 0 !important;
  color:#4a2b15 !important;
  font-family:'Noto Serif JP',serif !important;
  font-size:15px !important; line-height:1.9 !important;
}

body.page-id-13278 .dojo-gates{
  display:grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px; max-width: 1100px;
  margin: 30px auto 50px !important;
  padding: 0 20px;
}
body.page-id-13278 .dojo-gate{
  display:block !important; text-decoration:none !important;
  background: linear-gradient(180deg, #fdf1d8 0%, #f5dba8 100%);
  border: 3px solid #8b5a2b;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(90,50,20,.2);
  overflow: hidden;
  transition: transform .35s cubic-bezier(.2,.8,.3,1), box-shadow .35s ease;
  position: relative;
  color:#2a1810 !important;
}
body.page-id-13278 .dojo-gate:hover{
  transform: translateY(-6px) rotate(-.5deg);
  box-shadow: 0 18px 34px rgba(139,30,30,.3);
}
body.page-id-13278 .dojo-gate-noren-wrap{
  height: 110px;
  background: linear-gradient(180deg, #c9b274 0%, #a6894f 100%);
  display:flex; align-items:flex-start; justify-content:center;
  padding-top: 8px;
  position:relative; overflow:hidden;
}
body.page-id-13278 .dojo-gate-noren-wrap::before,
body.page-id-13278 .dojo-gate-noren-wrap::after{
  content:""; position:absolute; top:0; width:8px; height:100%;
  background:repeating-linear-gradient(180deg, #6b4520 0 6px, #4a2e14 6px 12px);
}
body.page-id-13278 .dojo-gate-noren-wrap::before{ left:0; }
body.page-id-13278 .dojo-gate-noren-wrap::after{ right:0; }
body.page-id-13278 .dojo-gate-noren{
  display:inline-block; width:62px; height:92px;
  line-height:92px; text-align:center;
  font-family:'Noto Serif JP', serif;
  font-size:42px; font-weight:900;
  color:#fff5d6;
  clip-path:polygon(0 0, 100% 0, 100% 86%, 50% 100%, 0 86%);
  box-shadow:0 4px 10px rgba(0,0,0,.3);
  animation: norenSwayLight 4s ease-in-out infinite;
  transform-origin:top center;
}
body.page-id-13278 .dojo-gate--white .dojo-gate-noren{ background:linear-gradient(180deg, #ffffff 0%, #e5e5e5 100%); color:#333; border:2px solid #888; }
body.page-id-13278 .dojo-gate--blue .dojo-gate-noren { background:linear-gradient(180deg, #3b82f6 0%, #1e40af 100%); }
body.page-id-13278 .dojo-gate--black .dojo-gate-noren{ background:linear-gradient(180deg, #1a1a1a 0%, #000 100%); border:2px solid #d4a24c; }
body.page-id-13278 .dojo-gate-body{ padding: 26px 26px 24px; text-align:center; }
body.page-id-13278 .dojo-gate-belt-tag{
  display:inline-block;
  background:#8b1e1e;
  color:#fff5d6;
  font-family:'Noto Serif JP', serif;
  font-size:12px; font-weight:800; letter-spacing:4px;
  padding:3px 14px; border-radius:2px; margin-bottom:12px;
}
body.page-id-13278 .dojo-gate-title{
  font-family:'Noto Serif JP', serif !important;
  font-size: 22px !important; font-weight: 900 !important;
  color: #2a1810 !important;
  margin:0 0 12px !important;
  letter-spacing:3px !important;
  padding:0 !important; background:none !important; border:none !important;
}
body.page-id-13278 .dojo-gate-desc{
  font-family:'Noto Serif JP', serif !important;
  font-size:14px !important; line-height:1.85 !important;
  color:#3a1f0a !important; margin:0 0 18px !important;
}
body.page-id-13278 .dojo-gate-cta{
  display:inline-block;
  padding: 10px 26px;
  background: linear-gradient(135deg, #b91c1c 0%, #7f1d1d 100%);
  color:#fff;
  font-family:'Noto Serif JP', serif;
  font-weight:800; font-size:14px; letter-spacing:3px;
  border-radius:30px;
  border:2px solid #d4a24c;
  box-shadow: 0 6px 14px rgba(139,30,30,.3);
  transition:transform .2s ease, box-shadow .2s ease;
}
body.page-id-13278 .dojo-gate-cta::after{
  content:"  \2192";
  display:inline-block;
  transition: transform .25s ease;
}
body.page-id-13278 .dojo-gate:hover .dojo-gate-cta{
  transform: scale(1.04);
  box-shadow: 0 10px 18px rgba(139,30,30,.4);
}
body.page-id-13278 .dojo-gate:hover .dojo-gate-cta::after{ transform: translateX(4px); }

body.page-id-13278 .dojo-philosophy{
  max-width: 1000px;
  margin: 60px auto 40px !important;
  padding: 40px 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.6), rgba(253,246,236,.7)) !important;
  border-radius: 20px;
  text-align:center;
}
body.page-id-13278 .dojo-philosophy h2{
  font-family:'Noto Serif JP', serif !important;
  font-size: clamp(22px, 3vw, 28px) !important;
  color: #8b1e1e !important;
  font-weight: 900 !important;
  letter-spacing: 4px !important;
  margin-bottom: 30px !important;
  display: inline-block !important;
  background: transparent !important; border: none !important;
  position: relative; padding: 0 40px !important;
}
body.page-id-13278 .dojo-philosophy h2::before,
body.page-id-13278 .dojo-philosophy h2::after{
  content:""; position:absolute; top:50%; width:30px; height:2px;
  background: #8b1e1e;
}
body.page-id-13278 .dojo-philosophy h2::before{ left:0; }
body.page-id-13278 .dojo-philosophy h2::after{ right:0; }
body.page-id-13278 .dojo-precepts{
  display:grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px; margin-top: 20px;
}
body.page-id-13278 .dojo-precept{
  background: #fff;
  border: 2px solid #d4a24c;
  border-radius: 14px;
  padding: 30px 22px 26px;
  position: relative;
  box-shadow: 0 6px 14px rgba(139,90,43,.15);
}
body.page-id-13278 .dojo-precept-num{
  position:absolute;
  top: -22px; left: 50%;
  transform: translateX(-50%);
  width: 48px; height: 48px;
  line-height: 48px; text-align: center;
  background: linear-gradient(135deg, #8b1e1e 0%, #5a1414 100%);
  color: #fff5d6;
  font-family: 'Noto Serif JP', serif;
  font-size: 22px; font-weight: 900;
  border-radius: 50%;
  border: 3px solid #d4a24c;
  box-shadow: 0 4px 10px rgba(0,0,0,.25);
}
body.page-id-13278 .dojo-precept-h3{
  font-family:'Noto Serif JP', serif !important;
  font-size:18px !important;
  font-weight:900 !important;
  color:#2a1810 !important;
  margin:16px 0 12px !important;
  padding:0 !important;
  background:none !important; border:none !important;
  letter-spacing:3px !important;
  text-align:center !important;
}
body.page-id-13278 .dojo-precept p{
  font-family:'Noto Serif JP', serif !important;
  font-size:14px !important;
  line-height:1.85 !important;
  color:#3a1f0a !important;
  margin:0 !important;
  text-align:center !important;
}
body.page-id-13278 .dojo-precept p b{
  color:#b91c1c !important;
  background:none !important;
  font-weight:900 !important;
}

body.page-id-13278 .dojo-cta-section{
  text-align:center;
  margin: 60px auto 40px !important;
  max-width: 700px;
  padding: 50px 30px !important;
  background: radial-gradient(ellipse at center, #fff5d6 0%, #f5dba8 70%, #e8bd70 100%) !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 30px rgba(90,50,20,.25), inset 0 0 60px rgba(255,255,255,.3) !important;
  position: relative; overflow:hidden;
}
body.page-id-13278 .dojo-cta-section::before{
  content:""; position:absolute; inset:6px; border: 2px dashed rgba(139,30,30,.3); border-radius:14px; pointer-events:none;
}
body.page-id-13278 .dojo-daruma{
  font-size: 80px !important; display:inline-block; margin-bottom: 10px !important;
  animation: darumaBounce 2s ease-in-out infinite;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.25));
}
body.page-id-13278 .dojo-kotodama{
  font-family:'Noto Serif JP', serif !important;
  font-size: clamp(18px, 2.5vw, 22px) !important;
  color: #4a2b15 !important; font-style: italic !important;
  margin: 15px auto 30px !important; font-weight: 600 !important; line-height: 1.6 !important;
}
body.page-id-13278 a.dojo-cta{
  display: inline-block !important; padding: 20px 50px !important;
  background: linear-gradient(135deg, #b91c1c 0%, #7f1d1d 100%) !important;
  color: #fff !important;
  font-size: clamp(18px, 2.5vw, 22px) !important; font-weight: 900 !important;
  font-family: 'Noto Serif JP', serif !important;
  text-decoration: none !important; border-radius: 50px !important; letter-spacing: 3px !important;
  border: 3px solid #d4a24c !important;
  box-shadow: 0 8px 20px rgba(139,30,30,.4), inset 0 2px 0 rgba(255,255,255,.3) !important;
  position: relative !important; overflow: hidden !important;
  transition: all .3s ease !important;
  animation: ctaPulse 2.5s ease-in-out infinite;
}
body.page-id-13278 a.dojo-cta:hover{
  transform:translateY(-3px) scale(1.03) !important;
  background: linear-gradient(135deg, #dc2626, #991b1b) !important;
}
body.page-id-13278 .dojo-cta-sub{
  margin-top: 16px !important; font-size: 14px !important; color: #6b4423 !important;
  font-weight: 600 !important; letter-spacing: 2px !important;
  background: rgba(255,255,255,.7); display:inline-block;
  padding: 6px 18px; border-radius: 20px; border: 1px solid rgba(139,90,43,.3);
}

@media (max-width:820px){
  body.page-id-13278 .dojo-gates{ grid-template-columns:1fr; }
  body.page-id-13278 .dojo-precepts{ grid-template-columns:1fr; }
  body.page-id-13278 .dojo-hero{ padding:40px 40px 40px !important; }
  body.page-id-13278 .dojo-scroll{ padding:24px 26px !important; }
  body.page-id-13278 .dojo-scroll-text{ padding:14px 16px 14px 34px !important; }
}
/* === end CHOUSENJOU 13278 === */
		
		

		
		
		
		
		
		
		
		
		/* === HARINYA DIARY BOOKSHELF v10 — bigger thumb/title, 大学ノート interior === */
@keyframes diaryLanternSway { 0%,100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }
@keyframes diaryCatTail { 0%,100% { transform: rotate(-4deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-2px); } }
@keyframes diaryCandleFlicker {
  0%,100% { transform: scale(1) rotate(-1deg); filter: drop-shadow(0 0 8px rgba(255,180,60,.6)); }
  50%     { transform: scale(1.06) rotate(2deg); filter: drop-shadow(0 0 14px rgba(255,220,100,.8)); }
}
@keyframes diarySpiderDrop {
  0% { transform: translateY(-220px); } 35% { transform: translateY(0); }
  55% { transform: translateY(-30px); } 75% { transform: translateY(-10px); }
  100% { transform: translateY(-220px); }
}
@keyframes diarySpinSwing { 0%,100% { transform: rotate(-6deg) translateY(0); } 50% { transform: rotate(8deg) translateY(-6px); } }
@keyframes diaryCardFadeIn {
  from { opacity:0; transform: translateY(18px) rotateX(6deg); }
  to   { opacity:1; transform: translateY(0) rotateX(0); }
}
@keyframes diaryFadeUp{ from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes diaryNewBand { 0%,100% { transform: rotate(-8deg) scale(1); } 50% { transform: rotate(-8deg) scale(1.06); } }
@keyframes hariPortraitFloat { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-6px) rotate(2deg); } }

html{ background:#120b02 !important; }
html body.page-id-12056{
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(255,200,120,.18), transparent 60%),
    radial-gradient(ellipse 80% 40% at 50% 50%, rgba(255,200,120,.08), transparent 70%),
    linear-gradient(180deg, #2a1b08 0%, #1a1004 50%, #120b02 100%) !important;
  background-attachment: fixed !important;
  overflow-x:hidden !important;
  color:#e7d3a5 !important;
  margin:0 !important; padding:0 !important;
}
html body.page-id-12056 #container, html body.page-id-12056 #content, html body.page-id-12056 #wrapper,
html body.page-id-12056 #page, html body.page-id-12056 #inner-content,
html body.page-id-12056 .l-content, html body.page-id-12056 .l-contentWrap,
html body.page-id-12056 article, html body.page-id-12056 .entry-content,
html body.page-id-12056 .container, html body.page-id-12056 .wrap, html body.page-id-12056 .wrap.cf,
html body.page-id-12056 .page-forfront,
html body.page-id-12056 #main, html body.page-id-12056 main.m-all,
html body.page-id-12056 .article-footer, html body.page-id-12056 .article-comment,
html body.page-id-12056 footer, html body.page-id-12056 .footer, html body.page-id-12056 #footer{
  background: transparent !important; background-color: transparent !important; background-image: none !important;
}
html body.page-id-12056 .sidebar, html body.page-id-12056 .d-2of7.last-col{ display:none !important; }
html body.page-id-12056 #main, html body.page-id-12056 main.m-all{
  width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; float:none !important;
}
html body.page-id-12056 #inner-content, html body.page-id-12056 .wrap.cf{
  display:block !important; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;
}
html body.page-id-12056 article{ box-shadow:none !important; border:none !important; padding:0 !important; margin:0 !important; }
body.page-id-12056 h1.entry-title, body.page-id-12056 .phead{ display:none !important; }
body.page-id-12056 .toc, body.page-id-12056 #toc_container{ display:none !important; }

/* HERO */
body.page-id-12056 .diary-hero{
  position:relative; margin:0 !important;
  padding: 90px 40px 130px !important;
  text-align:center;
  background:
    radial-gradient(ellipse 40% 30% at 20% 40%, rgba(255,200,120,.35), transparent 60%),
    radial-gradient(ellipse 35% 25% at 80% 60%, rgba(120,70,30,.25), transparent 60%),
    linear-gradient(180deg, #30200e 0%, #20130a 60%, #120b02 100%);
  color:#fbe9c4; overflow:hidden;
  box-shadow: inset 0 -3px 0 #5a3816;
}
body.page-id-12056 .diary-hero::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:14px;
  background:linear-gradient(180deg, #5a3816 0%, #2c1a0a 100%);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.5); z-index:2;
}
body.page-id-12056 .diary-cobweb-tl{ position:absolute; top:0; left:0; width:180px; height:180px; background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23e7d3a5' stroke-width='.8' opacity='.6'%3E%3Cpath d='M0 0 L120 120 M0 0 L120 40 M0 0 L40 120 M0 0 L80 120 M0 0 L120 80'/%3E%3Cpath d='M20 0 Q24 12 10 22 Q28 28 14 44 Q34 48 18 66 Q42 68 24 86'/%3E%3Cpath d='M0 20 Q12 24 22 10 Q28 28 44 14 Q48 34 66 18 Q68 42 86 24'/%3E%3C/g%3E%3C/svg%3E") no-repeat left top/100% 100%; opacity:.7; pointer-events:none; z-index:1; }
body.page-id-12056 .diary-cobweb-tr{ position:absolute; top:0; right:0; width:180px; height:180px; background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23e7d3a5' stroke-width='.8' opacity='.6'%3E%3Cpath d='M120 0 L0 120 M120 0 L0 40 M120 0 L80 120 M120 0 L40 120 M120 0 L0 80'/%3E%3Cpath d='M100 0 Q96 12 110 22 Q92 28 106 44 Q86 48 102 66 Q78 68 96 86'/%3E%3Cpath d='M120 20 Q108 24 98 10 Q92 28 76 14 Q72 34 54 18 Q52 42 34 24'/%3E%3C/g%3E%3C/svg%3E") no-repeat right top/100% 100%; opacity:.7; pointer-events:none; z-index:1; }
body.page-id-12056 .diary-spider{ position:absolute; top:14px; right:22%; font-size:28px; z-index:4; animation: diarySpiderDrop 14s ease-in-out infinite; filter:drop-shadow(0 4px 6px rgba(0,0,0,.5)); }
body.page-id-12056 .diary-spider::before{ content:""; position:absolute; left:50%; top:-220px; width:1px; height:220px; background: linear-gradient(180deg, transparent, rgba(231,211,165,.65) 40%, rgba(231,211,165,.65) 100%); transform: translateX(-50%); }
body.page-id-12056 .diary-hari-portrait{
  position:absolute; bottom:40px; left:10%;
  width:160px; height:160px; border-radius:50%;
  background: linear-gradient(180deg, #d4a24c, #8b6f2a);
  padding:4px;
  box-shadow: 0 0 0 2px rgba(255,235,180,.4), 0 10px 30px rgba(0,0,0,.6), 0 0 40px rgba(255,200,120,.3);
  z-index:3; animation: hariPortraitFloat 5s ease-in-out infinite;
}
body.page-id-12056 .diary-hari-portrait img{ width:100%; height:100%; border-radius:50%; object-fit:cover; display:block; filter: sepia(.08) contrast(1.02); }
body.page-id-12056 .diary-hari-portrait::after{
  content:"ハリ講師"; position:absolute; bottom:-14px; left:50%; transform:translateX(-50%);
  background:rgba(212,162,76,.95); color:#2a1810;
  font-family:'Noto Serif JP', serif; font-size:11px; font-weight:800; letter-spacing:3px;
  padding:3px 12px; border-radius:999px; box-shadow:0 2px 6px rgba(0,0,0,.4); white-space:nowrap;
}
body.page-id-12056 .diary-lantern{ position:absolute; top:-12px; left:6%; font-size:44px; transform-origin:50% 4px; animation: diaryLanternSway 4s ease-in-out infinite; filter:drop-shadow(0 6px 14px rgba(255,140,30,.45)); z-index:3; }
body.page-id-12056 .diary-cat{ position:absolute; bottom:30px; right:8%; font-size:42px; transform-origin:bottom center; animation: diaryCatTail 3s ease-in-out infinite; z-index:3; filter:drop-shadow(0 4px 8px rgba(0,0,0,.4)); }
body.page-id-12056 .diary-hero-inner{ position:relative; z-index:3; }
body.page-id-12056 .diary-kicker{ display:inline-block; background:rgba(212,162,76,.2); color:#f3d687; font-size:12px; font-weight:800; letter-spacing:5px; padding:6px 18px; border:1px solid rgba(212,162,76,.55); border-radius:999px; margin-bottom:24px; }
body.page-id-12056 .diary-title{ font-size: clamp(40px, 6.5vw, 72px) !important; font-weight:700 !important; color:#fbe9c4 !important; margin:10px 0 18px !important; line-height:1.1; text-shadow:0 2px 0 #2a1810, 0 4px 0 #1a0f08, 0 8px 20px rgba(0,0,0,.6); background:none !important; padding:0 !important; border:none !important; }
body.page-id-12056 .diary-title-accent{ color:#e8b05a !important; font-style:italic; text-shadow:0 2px 0 #2a1810, 0 4px 0 #1a0f08, 0 0 24px rgba(232,176,90,.5); }
body.page-id-12056 .diary-subtitle{ font-size:15px; line-height:1.9; color:#e7d3a5 !important; max-width:640px; margin:0 auto !important; }

body.page-id-12056 .diary-intro{
  text-align:center; margin:0 !important; padding: 50px 30px 40px !important; width:100%;
  background:
    radial-gradient(ellipse 70% 100% at 50% 0%, rgba(255,200,120,.12), transparent 60%),
    linear-gradient(180deg, #1a1004 0%, #140c03 100%);
  color:#e7d3a5 !important; font-size:15.5px; line-height:2;
  animation: diaryFadeUp .8s ease-out both;
}
body.page-id-12056 .diary-intro p{ margin: 10px 0 !important; color:#e7d3a5 !important; }
body.page-id-12056 .diary-intro strong{ color:#f3d687 !important; }
body.page-id-12056 .diary-hint{ display:block; margin-top:24px !important; color:#f3d687 !important; font-size:13px !important; letter-spacing:4px; font-weight:800; }

body.page-id-12056 .diary-shelf-wrap{
  position:relative; margin:0 !important; padding:40px 0 60px; width:100% !important;
  background:
    radial-gradient(ellipse 80% 40% at 50% 0%, rgba(255,200,120,.1), transparent 70%),
    linear-gradient(180deg, #281808 0%, #140a02 100%);
  box-shadow: inset 0 0 120px rgba(0,0,0,.65);
}
body.page-id-12056 .diary-shelf-wrap::before{ content:""; position:absolute; top:0; bottom:0; left:0; width:36px; background: linear-gradient(90deg, #4a2e14 0%, #2c1a0a 100%); box-shadow: inset -4px 0 10px rgba(0,0,0,.6); z-index:1; }
body.page-id-12056 .diary-shelf-wrap::after{ content:""; position:absolute; top:0; bottom:0; right:0; width:36px; background: linear-gradient(270deg, #4a2e14 0%, #2c1a0a 100%); box-shadow: inset 4px 0 10px rgba(0,0,0,.6); z-index:1; }
body.page-id-12056 .diary-spider-swing{ position:absolute; bottom:36px; right:70px; font-size:28px; z-index:10; transform-origin: top center; animation: diarySpinSwing 5s ease-in-out infinite; filter: drop-shadow(0 4px 6px rgba(0,0,0,.5)); }
body.page-id-12056 .diary-candle{ position:absolute; bottom:30px; left:50px; font-size:34px; z-index:10; animation: diaryCandleFlicker 1.6s ease-in-out infinite; }

body.page-id-12056 .diary-shelf{
  display:grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 42px 28px !important;
  padding: 30px 70px 20px !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  position:relative !important;
}

body.page-id-12056 .diary-shelf a.linkto.table,
body.page-id-12056 .diary-shelf a.linkto{
  all:unset;
  cursor:pointer !important;
  position:relative !important;
  display:block !important;
  width: 100% !important;
  height: 380px !important;
  padding:0 !important; margin:0 !important;
  color:#fbe9c4 !important;
  animation: diaryCardFadeIn .7s ease-out both;
  transition: transform .35s cubic-bezier(.2,.8,.3,1), filter .35s ease;
}
body.page-id-12056 .diary-shelf a.linkto.table:nth-child(1){ animation-delay:0s; }
body.page-id-12056 .diary-shelf a.linkto.table:nth-child(2){ animation-delay:.04s; }
body.page-id-12056 .diary-shelf a.linkto.table:nth-child(3){ animation-delay:.08s; }
body.page-id-12056 .diary-shelf a.linkto.table:nth-child(4){ animation-delay:.12s; }
body.page-id-12056 .diary-shelf a.linkto.table:nth-child(5){ animation-delay:.16s; }
body.page-id-12056 .diary-shelf a.linkto.table:nth-child(6){ animation-delay:.2s; }
body.page-id-12056 .diary-shelf a.linkto.table:nth-child(7){ animation-delay:.24s; }
body.page-id-12056 .diary-shelf a.linkto.table:nth-child(8){ animation-delay:.28s; }

body.page-id-12056 .diary-shelf a.linkto.table .tbcell.tbimg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important; height:100% !important;
  display:block !important;
  border-radius: 3px 10px 10px 3px;
  overflow:hidden;
  box-shadow:
    inset 12px 0 0 rgba(0,0,0,.35),
    inset 14px 0 0 rgba(255,255,255,.06),
    inset -3px 0 0 rgba(255,235,180,.4),
    inset 0 3px 0 rgba(255,235,180,.3),
    inset 0 -3px 0 rgba(255,235,180,.25),
    0 14px 26px -6px rgba(0,0,0,.7),
    0 5px 0 rgba(0,0,0,.35);
}

/* ============ COVER — BIGGER THUMB + TITLE ============ */
body.page-id-12056 .diary-shelf a.linkto.table .book-cover-deco{
  position:absolute;
  inset: 14px 12px 14px 26px;
  border: 1.5px solid rgba(255,235,180,.5);
  border-radius: 2px;
  padding: 12px 10px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.15);
}
body.page-id-12056 .diary-shelf a.linkto.table .book-cover-top{
  font-family:'Noto Sans JP', sans-serif;
  color: rgba(255,235,180,.95);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 4px;
  text-shadow: 0 1px 0 rgba(0,0,0,.4);
  margin:0 0 6px;
  flex:0 0 auto;
}
body.page-id-12056 .diary-shelf a.linkto.table .book-cover-rule{
  width: 46px; height: 1.5px;
  background: linear-gradient(90deg, transparent, rgba(255,235,180,.85), transparent);
  margin: 0 auto 8px;
  flex:0 0 auto;
}
body.page-id-12056 .diary-shelf a.linkto.table .book-cover-rule-b{ width:72%; margin: 10px auto 8px; }

/* BIG THUMB (fills horizontal width, square-ish) */
body.page-id-12056 .diary-shelf a.linkto.table .book-cover-thumb-wrap{
  width: 94%;
  aspect-ratio: 1 / 1;
  max-height: none !important;
  position: relative;
  border: 3px solid rgba(255,235,180,.7);
  background: #1a0f04;
  box-shadow: 0 4px 14px rgba(0,0,0,.6), inset 0 0 0 1px rgba(0,0,0,.3);
  overflow:hidden;
  margin: 4px 0;
  flex: 0 1 auto;
}
body.page-id-12056 .diary-shelf a.linkto.table .book-cover-thumb{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  filter: sepia(.1) saturate(.95) contrast(1.05);
}
body.page-id-12056 .diary-shelf a.linkto.table .book-cover-thumb-placeholder{
  width:100%; height:100%;
  background: repeating-linear-gradient(45deg, rgba(212,162,76,.25) 0 6px, transparent 6px 12px);
}

/* TITLE — larger, visible below thumb */
body.page-id-12056 .diary-shelf a.linkto.table .book-cover-title{
  color:#fdf1d6;
  font-family:'Noto Serif JP','Yu Mincho',serif;
  font-size: 14.5px !important;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: .04em;
  text-align: center;
  margin: 6px 2px 4px !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.55), 0 2px 6px rgba(0,0,0,.5);
  display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow:hidden;
  flex: 0 0 auto;
  max-height: 60px;
}
body.page-id-12056 .diary-shelf a.linkto.table .book-cover-issue{
  margin-top: auto;
  color: rgba(255,235,180,.8);
  font-family:'Cormorant Garamond','Noto Serif JP',serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 3px;
  font-style: italic;
  flex: 0 0 auto;
}

body.page-id-12056 .diary-shelf a.linkto.table .tbcell.tbimg > img,
body.page-id-12056 .diary-shelf a.linkto.table .tbcell.tbtext,
body.page-id-12056 .diary-shelf a.linkto.table .book-back{ display:none !important; }

body.page-id-12056 .diary-shelf a.linkto.table:hover{
  transform: translateY(-8px);
  filter: brightness(1.1);
}
body.page-id-12056 .diary-shelf a.linkto.table:hover .tbcell.tbimg{
  box-shadow:
    inset 12px 0 0 rgba(0,0,0,.35),
    inset 14px 0 0 rgba(255,255,255,.12),
    inset -3px 0 0 rgba(255,235,180,.5),
    inset 0 3px 0 rgba(255,235,180,.4),
    inset 0 -3px 0 rgba(255,235,180,.3),
    0 22px 36px -8px rgba(0,0,0,.8),
    0 5px 0 rgba(0,0,0,.35);
}

body.page-id-12056 .diary-shelf a.linkto.table:first-child::after{
  content:"最新刊";
  position:absolute;
  top:10px; right:-6px;
  background: linear-gradient(135deg, #c02030 0%, #801828 100%);
  color:#fff8e0;
  font-family:'Noto Serif JP', serif;
  font-size:10px; font-weight:900; letter-spacing:3px;
  padding: 5px 12px;
  border-radius:2px 0 0 2px;
  transform: rotate(-8deg);
  box-shadow: 0 3px 6px rgba(0,0,0,.55);
  z-index:6;
  animation: diaryNewBand 2.4s ease-in-out infinite;
  border:1px solid rgba(255,240,180,.5);
}

body.page-id-12056 .diary-shelf a.linkto.table:nth-of-type(12n+1) .tbcell.tbimg{ background: linear-gradient(135deg, #7a2020 0%, #4a1010 100%); }
body.page-id-12056 .diary-shelf a.linkto.table:nth-of-type(12n+2) .tbcell.tbimg{ background: linear-gradient(135deg, #2e5a3a 0%, #1c3a26 100%); }
body.page-id-12056 .diary-shelf a.linkto.table:nth-of-type(12n+3) .tbcell.tbimg{ background: linear-gradient(135deg, #23406e 0%, #14284a 100%); }
body.page-id-12056 .diary-shelf a.linkto.table:nth-of-type(12n+4) .tbcell.tbimg{ background: linear-gradient(135deg, #b5841c 0%, #7a560e 100%); }
body.page-id-12056 .diary-shelf a.linkto.table:nth-of-type(12n+5) .tbcell.tbimg{ background: linear-gradient(135deg, #5a3010 0%, #3a1c08 100%); }
body.page-id-12056 .diary-shelf a.linkto.table:nth-of-type(12n+6) .tbcell.tbimg{ background: linear-gradient(135deg, #6a2e50 0%, #421830 100%); }
body.page-id-12056 .diary-shelf a.linkto.table:nth-of-type(12n+7) .tbcell.tbimg{ background: linear-gradient(135deg, #275e62 0%, #163a3e 100%); }
body.page-id-12056 .diary-shelf a.linkto.table:nth-of-type(12n+8) .tbcell.tbimg{ background: linear-gradient(135deg, #bf6230 0%, #823e18 100%); }
body.page-id-12056 .diary-shelf a.linkto.table:nth-of-type(12n+9) .tbcell.tbimg{ background: linear-gradient(135deg, #3a4a6e 0%, #232e4a 100%); }
body.page-id-12056 .diary-shelf a.linkto.table:nth-of-type(12n+10) .tbcell.tbimg{ background: linear-gradient(135deg, #8b5a2b 0%, #5a3010 100%); }
body.page-id-12056 .diary-shelf a.linkto.table:nth-of-type(12n+11) .tbcell.tbimg{ background: linear-gradient(135deg, #5a1c30 0%, #38101c 100%); }
body.page-id-12056 .diary-shelf a.linkto.table:nth-of-type(12n+12) .tbcell.tbimg{ background: linear-gradient(135deg, #506240 0%, #303c26 100%); }

/* ============ DIVE OVERLAY ============ */
#diaryOpenOverlay{
  position:fixed !important; inset:0;
  pointer-events:none; opacity:0; z-index:99999;
  perspective: 1800px;
  display:none;
}
#diaryOpenOverlay.doo-active{
  display:block;
  pointer-events:auto; opacity:1;
  animation: dooBgFade 1.2s ease-out forwards;
}
@keyframes dooBgFade{
  from { background: rgba(20,10,2,0); backdrop-filter: blur(0px); }
  to   { background: rgba(10,5,1,.96); backdrop-filter: blur(8px); }
}
#diaryOpenOverlay .doo-stage{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
}
#diaryOpenOverlay .doo-book{
  position:absolute;
  left: var(--book-left);
  top: var(--book-top);
  width: var(--book-width);
  height: var(--book-height);
  border-radius: 3px 10px 10px 3px;
  transform-style: preserve-3d;
  transform-origin: center center;
  box-shadow: 0 28px 80px rgba(0,0,0,.8);
  animation: dooBookFly 1.2s cubic-bezier(.2,.8,.3,1) forwards;
}
@keyframes dooBookFly{
  0%   {
    left: var(--book-left); top: var(--book-top);
    width: var(--book-width); height: var(--book-height);
    transform: rotateX(0) scale(1);
  }
  50%  {
    left: 50%; top: 50%;
    width: min(80vw, 820px); height: min(84vh, 680px);
    transform: translate(-50%,-50%) rotateX(8deg) scale(1);
  }
  100% {
    left: 50%; top: 50%;
    width: min(80vw, 820px); height: min(84vh, 680px);
    transform: translate(-50%,-50%) rotateX(8deg) scale(1);
  }
}
/* Cover (enlarged, big thumb + title below) */
#diaryOpenOverlay .doo-cover{
  position:absolute; inset:0;
  border-radius: 3px 10px 10px 3px;
  transform-origin: left center;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  box-shadow:
    inset 12px 0 0 rgba(0,0,0,.35),
    inset 14px 0 0 rgba(255,255,255,.06),
    inset -3px 0 0 rgba(255,235,180,.4),
    0 14px 26px -6px rgba(0,0,0,.7);
  animation: dooCoverOpen 1s .6s cubic-bezier(.25,.8,.3,1) both;
  z-index: 3;
  display:flex; flex-direction:column; align-items:center;
  padding: 26px 40px 30px 60px;
  justify-content: flex-start;
}
@keyframes dooCoverOpen{
  0%   { transform: rotateY(0); }
  100% { transform: rotateY(-155deg); }
}
#diaryOpenOverlay .doo-cover-top{
  font-family:'Noto Sans JP', sans-serif;
  color: rgba(255,235,180,.95);
  font-size: 14px; font-weight: 800; letter-spacing:6px;
  margin-bottom: 10px;
}
#diaryOpenOverlay .doo-cover-rule{
  width:80px; height:2px; margin:4px auto;
  background: linear-gradient(90deg, transparent, rgba(255,235,180,.7), transparent);
}
#diaryOpenOverlay .doo-cover-thumb-wrap{
  width: 78%;
  max-width: 520px;
  aspect-ratio: 1 / 1;
  max-height: 480px;
  margin: 14px auto 16px;
  border: 4px solid rgba(255,235,180,.65);
  background: #1a0f04;
  box-shadow: 0 10px 28px rgba(0,0,0,.7), inset 0 0 0 1px rgba(0,0,0,.3);
  overflow:hidden;
}
#diaryOpenOverlay .doo-cover-thumb-wrap img{
  width:100%; height:100%; object-fit:cover; display:block;
  filter: sepia(.1) saturate(.95) contrast(1.05);
}
#diaryOpenOverlay .doo-cover-title{
  color:#fdf1d6;
  font-family:'Noto Serif JP','Yu Mincho',serif;
  font-size: 26px; font-weight:800;
  line-height:1.5; text-align:center;
  margin: 8px 4px 8px;
  text-shadow: 0 2px 6px rgba(0,0,0,.55);
  max-width: 90%;
}
#diaryOpenOverlay .doo-cover-issue{
  color: rgba(255,235,180,.75);
  font-family:'Cormorant Garamond','Noto Serif JP',serif;
  font-size: 16px; letter-spacing:4px; font-style:italic;
  margin-top: auto;
}

/* ============== 大学ノート = WHITE RULED PAGE ============== */
#diaryOpenOverlay .doo-inside{
  position:absolute; inset:0;
  border-radius:3px 10px 10px 3px;
  background:
    /* BLUE horizontal ruled lines every 32px */
    repeating-linear-gradient(180deg,
      transparent 0 31px,
      rgba(100,150,210,.65) 31px 32px,
      transparent 32px 64px),
    /* paper white */
    linear-gradient(180deg, #ffffff 0%, #fcfbf5 100%);
  box-shadow:
    /* Left margin area slightly whiter */
    inset 80px 0 0 rgba(255,255,255,.0),
    /* red vertical margin line at 80px */
    inset 80px 0 0 rgba(220,80,80,.0),
    inset 0 0 0 1px rgba(0,0,0,.08),
    inset 0 0 40px rgba(0,0,0,.04);
  z-index:1;
  opacity:0;
  animation: dooInsideReveal .55s 1.1s ease-out forwards;
  padding: 60px 56px 40px 108px;
  display:flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  overflow:hidden;
}
@keyframes dooInsideReveal{
  from { opacity:0; transform: scale(.9); }
  to   { opacity:1; transform: scale(1); }
}
/* Red margin line (left) */
#diaryOpenOverlay .doo-inside::before{
  content:"";
  position:absolute;
  left: 82px; top:0; bottom:0;
  width:2px;
  background: rgba(220,60,60,.85);
  z-index:0;
}
/* Triple hole punches on the left (college notebook) */
#diaryOpenOverlay .doo-inside::after{
  content:"";
  position:absolute;
  left: 26px; top:0; bottom:0;
  width: 20px;
  background:
    radial-gradient(circle 8px at 10px 22%, rgba(0,0,0,.15) 0 6px, transparent 7px),
    radial-gradient(circle 8px at 10px 50%, rgba(0,0,0,.15) 0 6px, transparent 7px),
    radial-gradient(circle 8px at 10px 78%, rgba(0,0,0,.15) 0 6px, transparent 7px);
  z-index:0;
}
#diaryOpenOverlay .doo-inside-thumb{
  max-width: 50%;
  max-height: 40%;
  border-radius: 3px;
  box-shadow: 0 6px 18px rgba(0,0,0,.4), 0 0 0 4px #fff, 0 0 0 6px #8b5a2b;
  filter: sepia(.06) saturate(1) contrast(1.05);
  transform: rotate(-2deg);
  align-self: flex-end;
  margin: 0 20px 22px 0;
  animation: dooThumbZoom 1.6s 1.2s ease-out forwards;
  position:relative; z-index:2;
}
@keyframes dooThumbZoom{
  from { transform: rotate(-2deg) scale(.92); }
  to   { transform: rotate(-2deg) scale(1.04); }
}
#diaryOpenOverlay .doo-inside-title{
  color:#1a1a1a;
  font-family:'Zen Kurenaido','Klee One','Noto Serif JP',serif;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 12px 0;
  align-self: flex-start;
  letter-spacing: .04em;
  max-width: 100%;
  position: relative; z-index:2;
  /* Blue-ink pen feel */
  text-shadow: 0 1px 0 rgba(255,255,255,.4);
  color: #1e3a6e;
}
#diaryOpenOverlay .doo-inside-loading{
  color: rgba(30,58,110,.75);
  font-family:'Zen Kurenaido','Klee One','Noto Serif JP', serif;
  font-size:15px;
  letter-spacing:5px;
  font-weight:500;
  margin-top: auto;
  align-self: center;
  font-style: italic;
  position: relative; z-index:2;
}

@media (max-width:820px){
  body.page-id-12056 .diary-shelf{ padding: 30px 36px 20px !important; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important; }
  body.page-id-12056 .diary-shelf a.linkto.table{ height: 340px !important; }
  body.page-id-12056 .diary-shelf a.linkto.table .book-cover-title{ font-size: 13px !important; }
  body.page-id-12056 .diary-cobweb-tl, body.page-id-12056 .diary-cobweb-tr{ width:110px; height:110px; }
  body.page-id-12056 .diary-hari-portrait{ width:110px; height:110px; left:6%; bottom:28px; }
}
/* === end HARINYA 12056 === */

/* ==== 2026-09 固定ヘッダーの被り修正 ====
   原因: トップ以外のページはロゴが p要素(class h1)のため下マージン16pxが付き、
   固定ヘッダーが 82px→98px に高くなり、本文開始位置(133px)より
   メニュー下端(151px)が下に来て「メニュー下の帯・被り」が出ていた。
   対処: ロゴの下マージンを0にしてヘッダー高さを全ページ82pxに統一し、
   本文開始位置を実寸(82+53=135px)に合わせる。お知らせ欄はメニュー直下に密着。 */
@media (min-width: 768px) {
  html body header.header .h1 { margin-bottom: 0 !important; }
  html body:not(.top) .header-info { margin-top: 0 !important; }
}
@media (min-width: 769px) {
  html body:not(.top) { padding-top: 135px; }
}
@media (min-width: 768px) and (max-width: 768px) {
  html body:not(.top) { padding-top: 62px; }
}
