﻿/*
Theme Name: alps2024
Theme URI: /wp-content/themes/alps2024/
Author: Yuichiro Hayashi
Author URI: https://16deza.com/
Description: White, MosGreen, Outdoor 
Version: 1.0.0
License: 
License URI: 
*/

@charset "utf-8";

/*

#231815 = rgba(35,24,21,1)
#222 = rgba(34,34,34,1)
#234 = rgba(51,68,85,1)
#4bf = rgba(68,187,255,1)
royalblue = #4169e1 = rgba(65,105,225,1)
emerald = #00d5c2 = rgba(0,213,194,1)
viridian = #008568 = rgba(0,133,104,1)
yellowgreen = #A6CE39 = rgba(166,206,57,1)
limegreen = #96ce49
flashrgreen = #14f07c = rgba(20,240,124,1)
markergreen = #89F7BD = rgba(137,247,189,1) = rgba(20,240,124,0.5)
bluegray = #567 = rgba(85,102,119,1)
*/

:root {
	--base-color: #fff;
	--logo-color: #fff; 	
	--acc-color: #465a1f; /*70,90,31 */
	--alt-color: #f4ffc3;  /* 244,255,195 */
	--sub-color: #9ead76;
	--moji-color: #161616;
	--link-color: #358548; /*#008568;/*royalblue; /*darkolivegreen; /*var(--acc-color); /*seagreen;*/
	--hover-color: #0b8; 
	--waku-color: #bcbcbc;
	--note-color: #9e8173;
	--gray-color:#808080;
	--grayout-color:#d2d2d2;
	--lgray-color:#f0f0f0;
	--llgray-color:#f5f5f5;
	--dgray-color:#666;
	--mgray-color:#aaa;
	--white-color:#fff;
	--owhite-color:#e8ecdf;
	--vpblue-color:#0693E3;
	--rblue-color:#4169e1;
	--cfblue-color:#6495ed;
	--bg-dark: var(--acc-color); 
	--bg-ldark: #6b7b4c; 
	--bg-mid: var(--sub-color);
	--bg-mlight-alt: #d0f0e0;
	--bg-mlight: #f4ffc3;
	--bg-slight: #edf0ea;
	--bg-light: #f8ffdb;
	--bg-white: #fff;
	--bg-cream: #fafaea;
	--bg-owhite: var(--owhite-color);
	--bg-lgray: var(--lgray-color);
	--bg-llgray: var(--llgray-color);
	--acc-gra-l2r: linear-gradient(90deg, var(--acc-color) 0%, var(--sub-color) 100%);		
	--acc-gra-r2l: linear-gradient(90deg, var(--sub-color) 0%, var(--acc-color) 100%);		
	--acc-gra-u2d: linear-gradient(180deg, var(--acc-color) 0%, var(--sub-color) 100%);	
	--acc-gra-d2u: linear-gradient(180deg, var(--sub-color) 0%, var(--acc-color) 100%);		
	--slight-gra: linear-gradient(180deg, rgba(255,255,255,0) 5%,  rgba(10,171,226,0.15) 100%);
	--radius-btn: 4px;
	--radius-tn: 3px;
	--radius-search: 4px;
	--radius-waku: 5px;
	--radius-small: 4px;
	--radius-slight: 4px;	
	/* --height-header: 90px; */	
	--eisuuji: 'Open Sans', sans-serif;
	--wabun: 'Noto Sans JP', sans-serif, sans;
}

.eisuuji {font-family:var(--eisuuji);}
.wabun {font-family:var(--wabun);}

.acc-color {color:var(--acc-color);}

.mgray {color:#e6e6e6;} /* rgba(230,230,230,1) */
.bg-mgray {background:#e6e6e6;} 

.sgray {color:#b3b3b3;} /* rgba(179,179,179,1) */
.bg-sgray {background:#b3b3b3;} 
.bg-slight {background:var(--bg-slight);}

.owhite {/*color:rgb(247,246,243);/*#f7f4f0;*/}
.awhite {color:#fdf6ee; /*antiquewhite;*/}


.bg-photo {
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
}
.bg-fixed {background-attachment:fixed;}

.bg-white {background:#fff;}
.bg-owhite {background:var(--bg-owhite); /*rgb(247,246,243);/*#f7f4f0;*/}
.bg-awhite {background:#fdf6ee; /*antiquewhite;*/}
.bg-cream {background:var(--bg-cream);}

.bg-gray {background: #ddd;}
.bg-llgray {background: #f3f3f3;}
.bg-lgray {background: #f0f0f0;}
.bg-mgray {background: #888;}
.bg-dgray {background: #666;}

.bg-dark,
.bg-acc {background:var(--acc-color);}
.bg-alt {background:var(--alt-color);}
.bg-sub {background:var(--sub-color);}
.bg-acc-gra-u2d {background:var(--acc-gra-u2d);}
.bg-acc-gra-d2u {background:var(--acc-gra-d2u);}


.is-pc .bg-foggy {
	background-image:
		linear-gradient(135deg, rgba(255,234,210,0.5) 0%, rgba(234,224,215,0.85) 100%),
		url(./img/bg/foggy.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
	background-attachment:fixed;
}
.is-mobile .bg-foggy {
	background-image:
		linear-gradient(150deg, rgba(255,247,240,0.75) 0%, rgba(255,245,228,0.25) 100%),
		url(./img/bg/foggy.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
	background-attachment:scroll;
}


/* ==========================================================================
   initialize / Based on  -- " normalize.css v1.1.0 | MIT License | git.io/normalize "
   ========================================================================== */
a:focus {outline: thin dotted;}
a:active, a:hover {outline: 0;}
figure {margin:0; padding:0;}
h1 {font-size: 2em; margin: 0.67em 0;}
h2 {font-size: 1.5em; margin: 0.83em 0;}
h3 {font-size: 1.17em; margin: 1em 0;}
h4 {font-size: 1em; margin: 1.33em 0;}
h5 {font-size: 0.83em; margin: 1.67em 0;}
h6 {font-size: 0.67em; margin: 2.33em 0;}
hr {-moz-box-sizing: content-box; box-sizing: content-box; height: 0;}
pre {margin: 1em 0; white-space: pre; white-space: pre-wrap; word-wrap: break-word;}
small {font-size: 80%;}
sub,
sup {font-size: 75%; line-height: 0;position: relative;vertical-align: baseline;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}
button,
input {line-height: normal;}
textarea {vertical-align: top; }
table {border-collapse: collapse; border-spacing: 0;}




/* =============================================================================
   Site Styles
   ========================================================================== */

html {max-width:100vw; overflow:auto;}
body { 
	font-family:
		'Noto Sans JP', sans-serif, sans;
	/*"游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif, "Takao Pゴシック", "TakaoPGothic", sans;*/
	/*"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
	font-weight:500; line-height:1.7em; font-size:17px; padding-top:0px; 
	color:var(--moji-color);
	background:var(--acc-color); /*#fff;*/
	text-align:center; width:100%; max-width:100%; overflow:hidden;
	top:0 !important;
}
@media all and (-ms-high-contrast:none){ /* IE11 bug fix */
	*::-ms-backdrop, body {font-family: Verdana, Helvetica, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif, "Takao Pゴシック", "TakaoPGothic", sans;}
}


#main, footer {opacity:0;}


/* box-sizing */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.palt {font-feature-settings:"palt";}
.pkna {font-feature-settings:"pkna";}

p {margin:1.5em auto;}
p.slim {margin:0.75em auto;} 
p.wide {margin:2.25em auto;} 


hr {
	clear:both;
	border: 0 !important; height: 0 !important;
	border-top: 1px solid rgba(0, 0, 0, 0.15) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.35) !important;
	margin:1.5em 0;
}

.hr {
	border-top: 1px solid rgba(255, 255, 255, 0.85) !important;
	box-shadow:0 -1px 0 0 rgba(0, 0, 0, 0.15) !important;
}

img {max-width:100%; height:auto; vertical-align:middle;}


#main { height: 100%; text-align:left; background:var(--base-color); clear:both;}

.hr-box {clear:both; width:100%; margin: 0; padding:0;}
.hr-box.pd-top{padding:5em 0 0 0;}
.hr-box.pd-btm, .hr-box.pd-bottom {padding:0 0 5em 0;}
.hr-box.pd-both {padding:5em 0;}



h2 {
	margin:0.5em 0 0.5em;
	line-height:1.35em;
	position: relative;
	padding:0;
	font-size:240%; font-weight:600;
	font-family:inherit;
}
h2.en {
	font-weight:800; font-size:300%; 
	font-family:var(--eisuuji);
	font-style:italic;
	color:var(--acc-color);
	margin:0 0 0.5em;
	letter-spacing:0em;
}
h2.en.wh {
	color:#fff;	
} 
h2.jp {
	font-weight:500; font-size:280%; 
	letter-spacing:0.125em; font-feature-settings:"palt";
}
h2.tac {padding-left:0; padding-right:0; text-align:center;}
h2.jp.tac {text-indent:0.125em;}

.single-post-page h2 {
	margin:2em 0 0.5em; line-height:1.5em;
}
.single-post-page h2:first-child {margin-top:0;}

.icon-h2 {margin-right:0.35em; vertical-align:-30%;}
.icon-h2.type1 {width:auto; height:2em; margin-right:0.35em;}
.icon-h2.type2 {width:auto; height:1.75em; margin-right:0.35em;}
.icon-h2.type3 {width:auto; height:1.5em; margin-right:0.35em;}
.icon-h2.type4 {width:auto; height:1.35em; margin-right:0.35em; vertical-align:-25%;}


h3, h4, h5, h6 { }
h4, h5, h6 { margin:1em 0;}
h3+p, h4+p, h5+p, h6+p {margin-top:0.75em;} 

h3 { line-height:1.5em; font-size:157%; margin-top:0.75em; margin-bottom:0.75em;}
h3.jp { letter-spacing:0.25em; }
h3.jp.tac {text-indent:0.25em;}
h3.en {	font-size:187%; font-family:var(--eisuuji);}

h4 {font-size:1.2em;}
h5 {font-size:1em;}



a {
	color:var(--link-color);
	text-decoration:none;
	transition: 0.38s linear all;	
}

a:not([class]):hover,
a:is(.next, .prev, .detail):hover {
	color:var(--hover-color);
	/*text-shadow: 0 0 2px var(--link-color) , 0 0 10px var(--link-color);*/
	transition: 0.22s linear all;
}

a .opa, a.opa {
	opacity:1.0;
	filter: alpha(opacity=100);
	transition: 0.36s linear all;
}
a .opa:hover, a.opa:hover {
	opacity:0.75;
	filter: alpha(opacity=75);
	transition: 0.18s linear all;	
}
a span.outbound::after,
#page-body a[target="_blank"]:not([class])::after,
#block-editor-body a[target="_blank"]:not([class])::after,
#single-body a[target="_blank"]:not([class])::after,
#wooc #detail a[target="_blank"]:not([class])::after {
	display:inline-block;
	content:url(./img/icon/external-link.svg); 
	width:1em; height:0.9em; font-size:100%;
	vertical-align:6%; margin:0 0 0 0.175em; line-height:1.0;
}

a.readmore {
	display: inline-block;
	position: relative;
	line-height: 1;
	padding-left:1.5rem;
}
a.readmore::before {
	position: absolute;
	top: -0.075em;
	left: 0;
	content: "S";
	font-family: "SosaIcon";
	font-size: 100%;
}






blockquote {
	font-style:italic; 
	background:rgba(0,0,0,0.075);
	margin:1em 0;
	padding:40px 20px;
	border-radius:0 30px 0 30px;
	position: relative;
}
blockquote:before {
	color: #fff;
	content: "“";
	font-family: serif;
	font-size: 500%;
	line-height: 1em;
	position: absolute;
	left:-10px; top:10px;
}
blockquote:after {
	color: #fff;
	content: "”";
	font-family: serif;
	font-size: 500%;
	line-height: 0;
	position: absolute;
	right:20px; bottom:10px;
}

dt,dd {margin:0; padding:0.5em;}



ul:not(.nopad, .wp-block-gallery) {padding-left: 1.5em;}
ul.nopad {padding-left: 0;}

table td ul {padding:0 0 0 0.75em !important; margin:0 !important;}

ul,ol  { text-align: left;}

li {list-style:none; line-height:1.5em; margin:0.75em 0.5em;}

ul li.sq {list-style: square;} 
ul li.sm {list-style: circle;} 
ul li.km {list-style: disc;} 


ul li.que, ul li.ans {padding-left:1.5em; padding-right:0.5em; line-height:1.75em;}
ul li.que {margin-top:1.5em; margin-bottom:0.5em;}
ul li.ans {margin-top:0.5em; margin-bottom:1.5em;}
ul li.que:before {content:"Q"; font-weight:bold; padding:3px 8px 6px 8px; margin-right:8px; border:1px solid #aaa; border-radius:100%; background:#bbb; color:#666;}
ul li.ans:before {content:"A"; font-weight:bold; padding:3px 8px 6px 8px; margin-right:8px; border:1px solid #aaa; border-radius:100%; background:#eee; color:#333;}

ul.gallery li {display:block; float:left;}

/*
ol {font-weight:norm;}
ol li {
	list-style-type: decimal;
	margin-left:0.5em;
	margin-right:0.5em;
	font-size:15px;
}
*/
ol {  counter-reset: my-counter;  list-style: none;  padding: 0;}
ol li {
	position: relative;
	margin-bottom: 0.6em;  padding-left: 2em;
}
ol li:before {
	content: counter(my-counter); counter-increment: my-counter;
	background: linear-gradient(-45deg, rgba(193,193,204,0.95), rgba(255,255,255,0.95)); 
	color: #222; 
	font-family:var(--eisuuji);
		/* "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; */
	font-style:italic;
	display: block;  float: left; text-align: center;
	line-height: 1.5em; margin-left: -2.5em;  height: 1.5em; width: 1.5em;
	border-radius: 50%;
}
ol li > ol {   counter-reset: my-counter-child;  list-style: none;  padding: 0; font-size:0.88em;}
ol li > ol li{
	position: relative;
	margin-bottom: 0.6em;  padding-left: 2em;
}
ol li > ol li:before {
	content: counter(my-counter-child);  counter-increment: my-counter-child;
	background: linear-gradient(-45deg, rgba(193,193,204,0.35), rgba(255,255,255,0.15)); 
	color: #777;  font-family:'Lobster';
	display: block;  float: left; text-align: center;
	line-height: 1.5em; margin-left: -2em;  height: 1.5em; width: 1.5em;
	border:1px solid #eee;
	border-radius: 50%;
}


.tdlt  {text-decoration: line-through;}


.hr-scrollable {
	position:relative;
	height: auto;
	margin:1em 0;
	width: 100%;
	max-width: 100.5em;
	text-align: center;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	-webkit-overflow-scrolling: touch;
}
.scrollable-indicator {display:none; color:hotpink; font-size:12px; text-align:center;}
.hr-scrollable + .scrollable-indicator {margin-top:-1.25em;}
.scrollable-indicator.indicate {display:block; width:100%;}
.scrollable-indicator.indicate + .hr-scrollable {margin-top:0 !important; /*cursor:grab;*/}
.scrollable-indicator span {display:inline-block; vertical-align:5%; margin:0 4px;}

.hr-scrollable table {margin:4px 0 !important;}

table.compare td {text-align:center;}
table.nowrap td {white-space:nowrap;}
table.cell-wrap td {white-space:normal;}
.hr-scrollable p {margin-top:0; font-size:80%; color:#888;}





header {
	position:relative;
	top:0; left:0; 
	width:100%;
	border:none;
	height:auto;
	background:transparent;
}


nav { margin: 0 auto; text-align: left;}





 /* win7+IE11 bug fix (of aspect ratio) */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	/*img[src$=".svg"] {width:100%;}*/
	nav img[src$=".svg"], #concept img[src$=".svg"], .fixed-page-post img[src$=".svg"] {width:100%;}
	#gblnavi-pc img[src$=".svg"] {width:250px; height:65px;}
}


.is-mobile #logo {margin:0.25em 0.75em; width:auto; max-width:280px; line-height:1.25em; text-align:center; transition:all 0.3s linear 0s; }
.is-mobile #logo .header-logo {height:60px;}



#sliderWrapper, #kanban-inner { position:relative; z-index:881;}

.bg-transparent { background:transparent !important; box-shadow:none !important;}

.smallen {transform:scale(0); transition:all 0.1s linear 0s;}
.backward-z {z-index:-100 !important; transition:all 0.1s linear 0s;}

.slight-shadow {filter: drop-shadow( 0 0 3px rgba(87,69,8,0.7) ); }





#btn-contact {
	padding:5.5em 0 6em; margin:0;
	width:100%; text-align:center;
	color:#fff;
	background-image:
		linear-gradient(0deg,rgba(12,24,31,0.7),rgba(12,24,31,0.7)),
		url(./img/bg/cta.jpg);
	background-repeat:no-repeat;
	background-position:center center, center center;
	background-size:cover, cover;
}
.is-pc #btn-contact {	
	background-attachment:fixed;
}
.is-mobile #btn-contact {	
	background-attachment:scroll;
}

#btn-contact a.btn {width:300px; margin:1em 0.75em; padding:1.5em 0 1.5em;}
.is-pc #btn-contact a.btn,
.is-ipad #btn-contact a.btn {padding:0.6em 0 0.5em;}
#btn-contact a.btn .ec img {transform:translateY(-2px);}
.is-pc #btn-contact a.btn .mail img, 
.is-ipas #btn-contact a.btn .mail img {transform:translateY(-2px);}
#btn-contact a.btn.xlarge {width:290px;}
#btn-contact .icon,
#btn-contact .banner {display:inline-block; margin:0 0.65rem 0 0;}
#btn-contact .icon img,
#btn-contact .banner img {width:auto; height:44px;}
#btn-contact .icon.tel img {transform:translateY(-10px);}
#btn-contact .tel-number {font-family:var(--eisuuji); font-size:255%; letter-spacing:0em; font-weight:800; font-style:italic;}
#btn-contact .tel-caption {font-size:90%;}



#pre-footer {
	padding:0; /* background:#2a3613; /*rgba(0,0,0,0.4);*/ 
	background-image:
		linear-gradient(0deg,rgba(12,24,31,0.7),rgba(12,24,31,0.7)),
		url(./img/bg/cta.jpg);
	background-repeat:no-repeat;
	background-position:center center, center center;
	background-size:cover, cover;
}
.is-pc #pre-footer {	
	background-attachment:fixed;
}
.is-mobile #pre-footer {	
	background-attachment:scroll;
}
#pre-footer .inner {
	padding:4em 0;
	background:rgba(255,255,255,0.1);
	-webkit-backdrop-filter: blur(8px);	
	backdrop-filter: blur(8px);	
}


#pre-footer h4 {margin:2em 0 0.25em; padding-inline:0.5rem; text-align:left; color:var(--alt-color); }
#pre-footer h4:first-child {margin-top:0em;}
#pre-footer ul {margin:0; padding-left:1rem;}
#pre-footer ul li {display:inline-block; margin:1em 0.75em 0; font-weight:500; font-size:13px; line-height:1;}
#pre-footer ul li a {
	display:inline-block; width:auto; height:100%; color:#fff; 
	font-feature-settings : "palt";
	text-decoration:underline; text-underline-offset: 0.25em;
}
#pre-footer .no-link {color:rgba(200,200,200,0.7);}
#pre-footer .count {
	display:none; /* display:inline-block; */
	font-family:var(--eisuuji); font-weight:300; font-size:0.825em; transform:translateY(-0.0875em);
}
@media (hover: hover) {
	#pre-footer ul li a:hover {color:var(--alt-color); text-shadow: 0 0 2px var(--link-color) , 0 0 10px var(--link-color);}
}
@media (max-width:810px) {
	#pre-footer ul li {margin:1.5em 1.25em 0;}	
}
@media (max-width:599px) {
	#pre-footer ul li {margin:1.5em 1.25em 0;}
	#pre-footer ul.regional li {width:40.5%;} /* ul:is(.regional,.peaks) li */
}
@media (max-width:480px) {
	#pre-footer ul { padding-left:0; padding-right:0.5em;}
	#pre-footer ul li {margin:1.5em 0 0 1.75em; font-size:12.5px; line-height:1; letter-spacing:-0.05em;}	
}



footer {
	clear:both;
	position:relative;
	left:0; right:0; bottom:0;
	padding:3em 0;
	text-align:center;
	font-size:14px;
	color:#fff;
	height:auto; min-height:450px;
	background:var(--acc-color); /*#111;*/
}
footer ul li {
	display: block;
	font-size:0.9rem;
	margin:1.5rem 0.5rem;
	letter-spacing:0.1em; text-indent:0em;
	text-align:left;
	font-family:'Noto Sans JP', sans-serif, sans; font-weight:700;	
}
footer ul li a {
	display:inline-block; width:auto; height:100%; color:#fff;
	font-feature-settings : "pkna";
}
footer ul li a:hover {
	color:var(--alt-color) !important; text-shadow: 0 0 2px var(--link-color) , 0 0 10px var(--link-color);	
}

#footer-logo {margin:1.5em 0 1em; text-align:center;}
#footer-logo img.site-logo {width:auto; height:84px;  margin:0 auto; transition:all 0.33s ease 0s;}
@media (hover: hover) {
	#footer-logo img.site-logo:hover {filter:drop-shadow( 0 0 3px rgba(200,255,220,0.7) ); transition:all 0.14s ease 0s;}
}

footer ul:not(.external-link) {padding:0 !important; margin:0.75em auto; text-align:left;}
footer ul.external-link .icon {width:32px; height:auto; margin-right:0.65rem;}
footer ul.external-link .banner {width:auto; height:44px; margin-right:0.65rem;}
footer ul.external-link + ul.external-link {margin-top:4em;}

footer ul.sns-link {margin:3rem auto 0; padding:0; text-align:center;}
footer ul.sns-link li {display:inline-block; margin:1rem 1rem 1rem; text-align:center;}
footer img.sns-icon { width:auto; height:24px; transition:all .14s linear 0s;} 
footer img.sns-icon:hover { transform:scale(1.1); transition:all .07s linear 0s;}

footer ul.navi-sub {margin:5rem auto 0; padding:0; text-align:center; }
footer ul.navi-sub li {
	display:inline-block; margin:0.75rem 1rem;
	font-size:0.8rem; font-weight:400;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif, "Takao Pゴシック", "TakaoPGothic", sans;	
}
footer ul.navi-sub li a {border-bottom: 1px dotted #fff;}
footer ul.navi-sub li a:hover {border-bottom: 1px dashed var(--link-color);}

#footer-address {text-align:center;}
#footer-address address {margin:0; font-style:normal; font-size:1rem; color:#fff; font-size:0.85rem;} 
#footer-address span.ib {margin-right:1em;}
#copyright {color:#bcbcbc; margin:2rem auto 1rem;}

#rewind { 
	display:none; position:fixed;
	bottom:calc(10px + 74px); right:calc(10px - 2px);
	width:3.25em; height:3.25em;
	background:var(--acc-gra-d2u); 
	cursor: pointer;
	border-radius: 100%;
	z-index:2;
}
#rewind::after {
	position:absolute; top:0.25em; right:0; bottom:0; left:0;
	display:block; content:""; width:0.75em; height:0.75em;
	margin:auto;
	border-top:3px solid #fff; border-left:3px solid #fff;
	transform:rotate(45deg);
	z-index:3;
}

@media (max-width:768px) {
	/*footer {padding:2.5em 1% 1em;}*/	
	footer .container, footer .semi-wide-container {max-width:740px; margin:auto;}
	#footer-logo,	#footer-caption {width:100%; text-align:center;}
	#footer-logo img.site-logo {margin:0;}
	footer ul:not(.external-link) {text-align:center; margin-bottom:3em; padding-left:0 !important;}
	#footer-address address {margin:1em auto 2.5em; text-align:center;}	
}
@media (max-width:599px) {
	footer ul:not(.external-link) {text-align:left;}
	footer ul.external-link {padding-left:3.75em;}
	footer ul.navi-sub {margin:3rem auto 0;}
	footer ul.navi-sub li {margin:1rem;}
	#copyright { margin:1rem auto 6rem;}
}
@media only screen and (min-width: 480px) and (max-width: 768px) {
	footer ul.navi-main {margin:0;}
	footer ul.navi-main li {display:inline-block; margin:1.25rem;}
	footer ul.external-link {max-width:290px; margin:auto;}
}
@media (max-width: 480px) {
	footer {
		background-position:0 0, 100% 0, 0 0;
		background-repeat:no-repeat, no-repeat, repeat;
		background-size: cover, 250% auto, cover;
	}	
	#footer-logo {width:100%; text-align:center;}	
	footer ul {padding:0; width:100%;margin:1em auto; text-align:left;}
	footer ul.navi-main li {
		display:flex; justify-content:center; align-items:center;  
		position:relative; width:100%; height:auto; margin:0; padding:0;
		text-align:left; font-size:120%;
		border-bottom:1px solid rgba(200,200,200,0.5);
	}
	footer ul.navi-main li:first-child {border-top:1px solid rgba(200,200,200,0.5);}
	footer ul.navi-main li a {display:block; font-size:100%; width:100%; height:100%; padding:1em 1em;}
	footer ul.sns-link {margin:1.5em auto; padding:0; text-align:center;}
	footer ul.sns-link li {display:inline-block; margin:1.5rem 1rem;}
	footer ul.sns-link li a {padding:0;}
	footer ul.navi-main li a::after {
		content:" "; width:10px; height:10px;
		position:absolute; right:10px; top:50%; margin-top:-5px;
		border-right:2px solid var(--alt-color);	border-top:2px solid var(--alt-color);
		transform:rotate(45deg);
		transition:all 0.14s linear 0s;
	}
	#footer-address address {font-size:0.8rem;}
	/* #rewind {padding: 2px 6px 8px; right:calc(2px + 4px); bottom:calc(2px + 80px);} */
}

@media (max-width:359px) {
	footer ul.external-link {padding-left:2.15em;}
}

	
	
	


table {
	clear:both;
	text-align:left;
	margin:16px 0px; 
	word-break:normal;/*break-word;/*break-all;*/
	font-size:15px;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	width:100%;
}
caption {
	text-align: left; padding:0.5em 0.5em 0.5em 1.5em ; font-size:1.2em; color: #222;
	font-weight:bold;border-radius:6px 6px 0 0;
	margin: 0;
	background:rgba(51,68,85,0.35)
}
.bdrb-bold {border-bottom:2px solid #c1c1c1;}
th, td {
	padding:0.5em 1em;
	font-weight:normal;
	line-height:1.8em;
	text-align:left;
	word-break:normal;/*break-word;/*break-all;*/
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}
th { border-bottom:1px solid #c1c1c1;}
td { border-bottom:1px solid #c1c1c1;}

.tac th, .tac td {text-align:center;}

.nowrap th,
.nowrap td,
th.nowrap,
td.nowrap {word-break:keep-all !important; white-space:norwap !important;} 
.nobdr th, .nobdr td {border:none;}


.cat-face-course caption,
.cat-face caption {background: rgba(190,210,84,0.45);}
.cat-face-course .post-body th,
.cat-face .post-body th {background:rgba(190,210,84,0.15);}


@media only screen and (max-width: 480px) { 
	table {width: 100%; margin: 8px auto; padding: 0;}
	.shrink, .shrink * {font-size:0.8rem !important; line-height:1.4 !important;}
	th.var ,td.var {font-size:13px;}
}


button {
	cursor:pointer;
}


.inline {display:inline-block;}

.note {font-size:0.8em; font-weight:normal; color:var(--note-color); line-height:1.5;}
.pink-note {font-size:0.8em; color:hotpink;}
.dred-note {font-size:0.8em; color:crimson;}
:is(.note, .pink-note, .dred-note).xs {font-size:0.725em !important;} 



.marker-accent {box-shadow:0 -0.4em 0 0 rgba(123,228,255,1) inset;}
.marker-aqua { box-shadow:0 -0.4em 0 0 rgba(128,230,255,0.7) inset;} /*123,228,255,0.8*/
.marker-pink { box-shadow:0 -0.4em 0 0 rgba(225,123,255,0.6) inset;}
.marker-green{ box-shadow:0 -0.4em 0 0 rgba(20,240,124,0.5) inset;}
.marker-lime{ box-shadow:0 -0.4em 0 0 rgba(194,255,123,0.5) inset;}
.marker-k1 { box-shadow:0 -0.4em 0 0 rgba(0,0,0,0.1) inset;}
.marker-white { box-shadow:0 -0.4em 0 0 rgba(255,255,255,1.0) inset;}
.marker-w9 { box-shadow:0 -0.4em 0 0 rgba(255,255,255,0.9) inset;}
.marker-w8 { box-shadow:0 -0.4em 0 0 rgba(255,255,255,0.8) inset;}
.marker-w7 { box-shadow:0 -0.4em 0 0 rgba(255,255,255,0.7) inset;}
.marker-w5 { box-shadow:0 -0.4em 0 0 rgba(255,255,255,0.5) inset;}


.kakomi {padding:0.5em 1em; border-radius:5px; margin:1.5rem 0;}
.kakomi.white {background:rgba(255,255,255,1);}
.kakomi.w8 {background:rgba(255,255,255,0.8);}
.kakomi.ow {background:#f7f6f3;}
.kakomi.lg {background:#F3F3F3;}
.kakomi.kusa {background:#F0F7F6;}
.kakomi.momo {background:#ffe3f2;}
.kakomi.k0 {background:rgba(0,0,0,0.05);}
.kakomi.waku {border:1px solid #cdcdcd;} 






/* =============================================================================
   Page Styles
   ========================================================================== */

.pnkz {
	margin:0; padding:1.5em 1rem;
	font-size:0.75em; letter-spacing:0.05em; line-height:2.2; font-feature-settings:"palt";
}
.pnkz a, .pnkz span.here {display:inline-block;}
.pnkz span.batten {color:var(--gray-color); opacity:0.7; margin-inline:0.125em;}
.pnkz ul, .pnkz li {display:inline-block; padding:0; margin:0;}
.pnkz ul.children {position:relative; padding-left:0.75em;}
.pnkz ul.children::before {content:" › "; position:absolute; top:0; left:0;} 


.elip {overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}

.sq-frame {
	display:block; width:100% !important; margin:0; vertical-align:top; overflow:hidden; 
	background-repeat:no-repeat; background-size:cover !important; background-position:center center !important;
}
.sq-frame::after { content:""; display:block; padding-top:100%;}

.link-img dt {font-size:14px;}
.link-img .post-date {font-size:13px;}
.link-img dt h3 {text-align:left !important; line-height:1.35em; margin:0.5em 0 0; padding:0 0.75em; font-size:100%; font-weight:normal;} 
.link-img dd > p {text-align:left; } 
.link-img figcaption { display:flex;  justify-content:center; align-items:center; }
.link-img figcaption span {display:block; text-align:center; font-size:15px; transition:all 0.3s linear 0s;}



/*#single-body .solo:not(.tour-list), #blog-home .solo {max-width:800px; margin:auto;}*/
.type--teacher #single-body .solo {max-width:1000px;}
#sub-column {max-width:1000px; margin:auto;}
.post article {text-align:left;}
#appendix {
	margin:0 auto; padding:3em 0 4.5em; 
	background:var(--acc-gra-d2u);
}
/* .single.blog #appendix {background:var(--acc-gra-u2d);} */
ul.blog-cat-list li {display:inline-block;}


#sub-column { /* #sub-column = @ single.php (---blog each post) */ }
#sub-column h2 { margin:0.5em 0 1.5em; font-size:1.5em; letter-spacing:0.15em; text-indent:0.15em;}
#sub-column h2.en {font-size:2.5em; margin-bottom:0; letter-spacing:0;} 
#sub-column th {width:120px;}
#sub-column td {width:auto;}



.tagcloud { margin-bottom:40px; padding-left:1.5rem;}
.tagcloud a { 
	display:inline-block !important;
	line-height:1.2em !important; 
	padding:5px !important;
}

.searchform div {display:flex; max-width:220px; border:1px solid var(--acc-color); overflow:hidden; margin:auto; border-radius:var(--radius-search); }
.searchform div input#s {width:calc(100% - 40px); height:40px !important; padding-left:1em; border:none !important; border-radius:0;}
.searchform div input#searchsubmit {
	width:40px; height:40px !important; margin:0 !important; padding:6px 12px; border:none !important;
	background:var(--acc-color) url(./img/icon/search-wh.svg) no-repeat 0 0; background-size:contain; color:transparent;
	transition:all 0.33s linear 0s;
	border-radius:0;
}
.searchform div input#searchsubmit:hover {
	background:#aaa url(./img/icon/search-wh.svg) no-repeat 0 0; background-size:contain; transition:all 0.165s linear 0s;
}
@media all and (-ms-high-contrast:none){ /* IE11 bug fix */
	.searchform div {border:none; border-radius:24px;}
	.searchform div input#s {width:164px; border-radius:24px 0 0 24px;}
	.searchform div input#searchsubmit {border-radius:0 24px 24px 0;}
}	

.searchform label.screen-reader-text {display:none;}


/* =============================================================================
   Post Styles
   ========================================================================== */

.mara {margin:auto;}
.lim88 {max-width:880px;}
.lim80 {max-width:800px;}
.lim77 {max-width:770px;}
.lim70 {max-width:700px;}
.lim66 {max-width:660px;}
.lim60 {max-width:600px;}
.lim55 {max-width:550px;}
.lim50 {max-width:500px;}
.lim44 {max-width:440px;}
.lim40 {max-width:400px;}
.lim33 {max-width:330px;}
.lim28 {max-width:280px;}
.lim22 {max-width:220px;}




.subpage.page-std #page-body {padding:0em 0 0em;}


.post-body {text-align:left;}

.single .post-body {background:#fff; padding:1em 0.5em;}

.blog .post-body {width:100%; max-width:800px; margin:auto; }

.fixed-page-post:not(.spl-format):not(.wide-format):not(.nopad) {padding-bottom:5em;} 
.fixed-page-post.wide-format {padding:0 0 0;} 


.post-body img {padding:0; height:auto; max-width:100%;}
.post-body blockquote { padding:40px 20px;}

.post-body p  {margin:1.5em 0;}
.post-body ul {margin:1.5em 0; padding-left:1.5em;}
.post-body ul li:not([class]) {list-style:square; margin:0.75em 0.5em;}
.post-body ol li:not([class]) {list-style:none;}
.post-body ul li ul,
.post-body ul li ol {font-size:0.85em; margin-top:1rem;}
.post-body ul li ul li:not([class]) {list-style:circle; margin:0.75em 0.5em;}


.post-body table td ul {margin:0;}
.post-body table td ul li:first-child {margin-top:0.25em;}
.post-body table td ul li:last-child {margin-bottom:0.25em;}
.post-body .wp-block-cover + p,
.post-body .wp-block-cover + ul,
.post-body .wp-block-image + p,
.post-body .wp-block-image + ul {margin:1em 0 1.5em;}


.post-body h2:is(:not([class]), .wp-block-heading) {
	margin:2.5em 0 0.75em; padding-left:1.25em; text-align:left; font-feature-settings:"palt";
	font-weight:400; 
	letter-spacing:0.125em;
}
.post-body > h2:first-child {margin-top:1.25em;}


.post-body h2:is(:not([class]), .wp-block-heading) {
	margin-top:2.5em;
	border-left: 0.3em solid;
	border-image: var(--acc-gra-u2d);
	border-image-slice: 100%;
	border-image-slice: 1;
	padding:0.1em 0.5em 0.25em;
	font-family:'Noto Sans JP', sans-serif, sans; 
	font-size:220%; font-weight:700;
	letter-spacing:0em; line-height:1.35;
}
.post-body .post-meta + h2:is(:not([class]), .wp-block-heading),
.post-body h2:is(:not([class]), .wp-block-heading):first-child {margin-top:1.25em;}
.post-body .wp-block-columns + h2:is(:not([class]), .wp-block-heading) {margin-top:3.5em;}


.post-body .wp-block-group h2 { margin-top:2em;}

.post-body h3:not(.en) {font-family:'Noto Sans JP', sans-serif, sans; font-weight:500;}

.post-body hr {margin:2.5em 0;}
.post-body table hr {margin: 0.5em 0;}
.post-body hr + h2 {margin-top:0.5em;}




.post-body a:not([class]) {text-decoration:underline;}

/*.shell h3:not(:first-child) {margin-top:3em;} */
.post-body h3 { margin:2.25em 0 0.75em; border-bottom:2px dotted #888; }
.post-body > h3:first-child { margin:1.5em 0 1rem;}
.post-body h2 + h3 { margin:1.25em 0 0.75em;}

.single:not(.wooc) .post-body th { border-bottom:1px solid rgba(0,0,0,0.2); background:rgba(51,68,85,0.125);}

.fixed-page-post :not(.wp-block-table.is-style-stripes) table tbody th {background:rgba(150,160,170,0.2);}
.fixed-page-post :not(.wp-block-table.is-style-stripes) table tbody td {background:rgba(255,255,255,0.55);}
.fixed-page-post table tbody :is(th, td) { vertical-align:top; padding-top:0.75em; padding-bottom:0.75em; }
@media (min-width:600px) {
	.fixed-page-post .wp-block-table:not(:has(thead)) tbody tr > td:first-child {white-space:nowrap; word-break:keep-all; padding-right:1.5em;}
}
@media (max-width:599px) {
	.fixed-page-post .wp-block-table:not(:has(thead)) tbody tr > td:first-child {white-space:wrap; word-break:normal; padding-right:0.25em; min-width:3.5em;}
}
 

.fixed-page-post table h4, .fixed-page-post table p {margin-top:0;}

.fixed-page-post .wp-block-table:not(.is-style-stripes):not(:has(thead)) tbody th {background:rgba(100,100,100,0.1);}
.fixed-page-post .wp-block-table:has(thead) thead {background:var(--sub-color); font-size:120%; color:#fff;} 
.fixed-page-post .wp-block-table:has(thead) thead th {border-right:none !important;}
.fixed-page-post .wp-block-table:has(thead) thead th:not(:first-child) {border-left:1px solid var(--alt-color); border-bottom:1px solid var(--alt-color);}
.fixed-page-post .wp-block-table thead {border:none;}
.fixed-page-post .wp-block-table:has(thead) tbody :is(th, td) {border:1px solid var(--sub-color); font-size:1rem;} 


.fixed-page-post dl.border {border:1px solid #bbb; padding:0.75em 0.5em; border-radius:6px;}
.fixed-page-post dl.border dt {font-weight:bold; border-bottom: 2px dotted #bbb;}
.fixed-page-post dl.point { background: rgba(135,207,136,0.25); padding:1em; border-radius:6px;}
.fixed-page-post dl.point dt {font-weight:bold; font-size:125%; border-bottom: 2px dotted #aaa;}




.post-meta { 
	text-align:left;
	font-size:12px; color:#bcbcbc; line-height:2.0em; font-weight:noamal;
	margin: 0 0 2em; padding:8px 4px; 
	border-bottom:1px dotted #aaa;
}

.post-meta span.row {display:inline-block; margin:0 16px 0 0;}
.post-meta span.post-date, .post-meta span.modified-date { font-family: 'Geosans-L'; font-size:15px; color:#888; }
.post-meta span.author {color:#888;}
.post-meta span.category,
.post-meta span.tags { font-family: 'SosaIcon'; font-size:20px; color:#ddd; }
.post-meta span.icon { font-family: 'SosaIcon'; font-size:1.75em; color:#bbb; margin-right:0.25rem; font-weight:normal;}
.post-meta span.commented { font-family: 'SosaIcon'; font-size:20px; color:#fff;}

.blog-home .post-meta { 
	color:#555; line-height:1.5em; font-weight:bold;
	margin: 0 0 2em; padding: 0px 16px; 
	border-bottom:none;
}
.blog-home .post-meta span.row { margin:0 16px 0 0;}
.blog-home .post-meta span.post-date { font-family: 'Geosans-L'; font-size:15px; color:#777; }
.blog-home .post-meta span.category,
.blog-home .post-meta span.tags, .blog-home .post-meta span.comments { font-family: 'SosaIcon'; font-size:20px; color:#bcbcbc;}

.single-post-page {text-align:left;}



.related-post-column .rel-one {
	border-radius:0px; text-align:left; /*margin:0 1em 1em 0;*/
	transition:all 0.3s linear 0s;
}
.related-post-column .rel-one:hover {background:rgba(255,255,255,0.2); transition:all 0.3s linear 0s;}
.related-post-column th, .related-post-column td {border:none;}
.related-post-column th {width:auto; max-width:130px;} 
.related-post-column td {width:auto; min-width:180px; text-align:left;} 
.related-post-column span.no-eyechatch {display:inline-block; width:100px; height:100px; background:rgba(0,0,0,0.2);}


.recent-post th, .recent-post td {border:none;}  
.recent-post th {width:125px; padding-left:0;}
.recent-post div.post-tn {width:100px; height:100px; background:rgba(0,0,0,0.2); overflow:hidden; border-radius:0%; transition:all 0.18s linear 0s;}
.recent-post td {line-height:1.5em; padding-left:0;}
@media (hover: hover) {
	.recent-post div.post-tn:hover { transform:scale(1.1); transition:all 0.05s ease-in-out;}	
}

.recent-post-small th, .recent-post-small td {border:none;}  
.recent-post-small th {width:100px; padding-right:0;}
.recent-post-small th div.post-tn {width:80px; height:80px; background:rgba(0,0,0,0.2); overflow:hidden; border-radius:100%; transition:all 0.18s linear 0s;}
.recent-post-small td {line-height:1.5em; padding:0.75em 0 0.75em 1em; font-size:90%;}


.blog-sel-trio p {font-size:14px; line-height:1.5em; margin-top:0;}
.blog-sel-trio .post-tn {display:block; float:left; width:64px; height:64px; margin:0 8px 8px 0; background:rgba(0,0,0,0.2); overflow:hidden;}
.blog-sel-trio .post-tn {display:block; float:left; width:64px; height:64px; margin:0 8px 8px 0; background:rgba(0,0,0,0.2); overflow:hidden;}
.rel-one table {margin:0;}
.blog-rel th, .blog-rel td {border:none;} 
.blog-rel th {width:120px !important; padding:10px;}
.blog-rel td {width:auto !important; padding:10px; text-align:left !important; color:inherit !important;}
.blog-rel .post-tn, .blog-rel .thumb-frame {display:block; width:100px; height:100px; margin:4px 2px; background:rgba(0,0,0,0.15); overflow:hidden; border-radius:0%;}


.blog-rel td span.location, 
.blog-rel td span.feature {margin-top:0.5em; font-size:90%;}

.blog-rel div.post-tn-100 {width:100px; height:100px; background:rgba(0,0,0,0.2); overflow:hidden; border-radius:var(--radius-tn);}
.blog-rel div.post-tn-150 {width:150px; height:150px; background:rgba(0,0,0,0.2); overflow:hidden; border-radius:var(--radius-tn);}

.blog-rel {transition:all 0.35s linear 0s;}
@media (hover: hover) {
	.blog-rel:hover {background:rgba(0,0,0,0.08); transition:all 0.14s linear 0s;}
}






div.sns-button {background:#fff; padding:0 0.5em 0.5em;}
div.fb-share-button { float:right; display:inline-block; margin:0 0 0 16px;}
div.fb-like { float:right; display:inline-block; margin:0;}
div.tweet-button { float:right; display:inline-block; margin:8px 0 12px 12px;}


.browseback {
	width:100%; text-align:center;
	font-family:var(--eisuuji); font-size:1.2em; font-weight:400; letter-spacing:0.2em;
}
.post-body .browseback {margin:4rem auto 3rem;}
div:has(.fixed-page-post) + .post-after .browseback {margin:0 auto 5.5rem;}
.single-post + .post-after .browseback {margin:2.5rem auto 0;}
.browseback a {text-decoration:none !important;}



/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	Gutenberg
*/

.has-black-16-background-color {background-color: #161616;}
.has-black-16-color {color: #161616;}

.has-gray-background-color {background-color: #808080;}
.has-gray-color {color: #808080;}

.has-gray-a-background-color {background-color: #aaaaaa;}
.has-gray-a-color {color: #aaaaaa;}

.has-gray-d-background-color {background-color: #dddddd;}
.has-gray-d-color {color: #dddddd;}

.has-light-gray-background-color {background-color: #f0f0f0;}
.has-light-gray-color {color: #f0f0f0;}

.has-cream-background-color {background-color: #fafaea;}
.has-cream-color {color: #fafaea;}

.has-mocha-background-color {background-color: #9e8173;}
.has-mocha-color {color: #9e8173;}

.has-forest-green-background-color {background-color: #465a1f;}
.has-forest-green-color {color: #465a1f;}

.has-sage-green-background-color {background-color: #9ead76;}
.has-sage-green-color {color: #9ead76;}

.has-pale-lemon-background-color {background-color: #f4ffc3;}
.has-pale-lemon-color {color: #f4ffc3;}

.has-royal-blue-background-color {background-color: #4169e1;}
.has-royal-blue-color {color: #4169e1;}

.has-cadet-blue-background-color {background-color: #5f9ea0;}
.has-cadet-blue-color {color: #5f9ea0;}


.has-inline-color {background:transparent;}


.wp-block-embed figcaption,
.wp-block-image figcaption {
	text-align:center; color:#9e8173;
	font-size:0.75em; line-height:1.5;
}

.wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption {line-height:1.5;}
.wp-block-gallery figure { cursor: pointer; }
.is-pc .wp-block-gallery figure {transition:all 0.3s linear 0s;}
.is-pc .wp-block-gallery figure:hover {transform:scale(1.025); box-shadow:0 2px 1.15em 2px rgba(0,0,0,0.25); transition:all 0.14s linear 0s;}
/*.wp-block-gallery + p {margin-top:calc(1.5em - 32px);}*/

.wp-block-gallery + p.caption {margin-top:0.5em;}

.blocks-gallery-caption {
	text-align:center;
	font-size:0.8rem;
	color:#9e8173; 
	line-height:1.5;
}



.wp-block-columns {}
.wp-block-column {}
.wp-block-column p:first-child {margin-top:1rem;}
.wp-block-column p:last-child {margin-bottom:1rem;}
.wp-block-column h3:first-child {margin-top:1rem !important;}
.wp-block-column h4:first-child {margin-top:0.5rem !important;}

.wp-block-column:has(.wp-block-image) + .wp-block-column .wp-block-list {margin-top:0 !important;}


@media (max-width:599px) {
	.wp-block-columns + h3 { margin:1.75em 0 0.75em;}
	.wp-block-columns + h2:is(:not([class]), .wp-block-heading) {margin: 1.75em 0 0.75em;}

	.wp-block-column:not:has(.wp-block-image) {margin-bottom:2em !important;}

	.wp-block-columns:has(.wp-block-list) + .wp-block-columns:has(.wp-block-image) {margin-top:1.5rem !important;}

	/*.wp-block-column:has(.wp-block-image) {margin-top:1em !important;}*/
	.wp-block-columns {margin-bottom:0 !important;}
	
	.wp-block-column + .wp-block-column p:first-child {margin-top:0 !important;}
	
	.post-body h2:is(:not([class]), .wp-block-heading) {font-size:180%; line-height:1.25; margin-top:3em !important;}
	.post-body .wp-block-columns + h2:is(:not([class]), .wp-block-heading) {margin-top:2.5em !important;}


}



figure.wp-block-table {margin:1em auto;}

.wp-block-table.is-style-stripes:has(thead) tbody tr:nth-child(2n+1) {
	background-color: transparent;
}
.wp-block-table.is-style-stripes:has(thead)  tbody tr:nth-child(2n) {
	background-color: #f0f0f0;
}

.wp-block-table.is-style-stripes thead th {white-space:nowrap;} 


.wp-block-table > table {margin:0;}
.matrix th, .matrix td {border:1px solid #c1c1c1;}
.tate-duo td {width:50%;}
.tate-duo tr td:first-child {background: rgba(150,160,170,0.2);}


.wp-block-column figcaption {
	font-size:0.8rem; color:#778; text-align:center;
}

.wp-block-group.has-background ul.wp-block-list {margin-block:0;}




.wp-block-embed { margin-bottom: 1em;}
.wp-block-embed-youtube {
	position:relative; text-align:center; 
	margin:1.5em auto 0;
}
.wp-block-embed.wp-has-aspect-ratio iframe {width:100% !important; height:auto !important;}
.wp-embed-aspect-16-9 iframe {aspect-ratio:16 / 9;}
.wp-embed-aspect-4-3 iframe {aspect-ratio:4 / 3;}
.wp-embed-aspect-21-9 iframe {aspect-ratio:21 / 9;}
.wp-embed-aspect-18-9 iframe {aspect-ratio:18 / 9;}
.wp-embed-aspect-2-1 iframe {aspect-ratio:2 / 1;}
.wp-embed-aspect-1-1 iframe {aspect-ratio:1 / 1;}
.wp-embed-aspect-9-16 iframe {aspect-ratio:9 / 16;}
.wp-embed-aspect-1-2 iframe {aspect-ratio:1 / 2;}



.wp-block-embed__wrapper iframe {
	max-width:100%;
	margin:auto;
}
.wp-block-embed-youtube + .caption { 
	/*text-align:center;*/
	margin-top:-0.5em; padding:0 0.25em;
	font-size:90%; line-height:1.6;
}
ul.blocks-gallery-grid {margin:0; padding:0;}

.wp-block-cover__inner-container {line-height: 1.5;}

.wp-block-cover, .wp-block-cover-image {height:auto; max-height:430px;}


.wp-block-group.has-background {padding:1.5em;}

.wp-block-group.has-background h3:first-child,
.wp-block-group.has-background h4:first-child {margin-top:0.5rem !important;}
.wp-block-group.has-background p:first-child {margin-top:0.5rem !important;}
.wp-block-group.has-background p:last-child {margin-bottom:0.5rem !important;}



@media (min-width:701px) and (max-width:781px) {
	.wp-block-column:not(:only-child) {
		flex-basis:calc(50% - 1em)!important;
		flex-grow:0;
	}
	.wp-block-column:nth-child(2n) {
		margin-left:2em;
	}
}


@media (max-width:700px) {
	.wp-block-columns {flex-direction:column;}
	.wp-block-column {
		flex-basis:100% !important;
		width:100% !important;
	}
	.wp-block-column:nth-child(2n) {
		margin-left:0em !important;
	}
}



@media(max-width:660px) {
	.wp-block-gallery .blocks-gallery-image, .wp-block-gallery .blocks-gallery-item {width:100% !important; height:auto !important; margin-right:0 !important;}
	.wp-block-gallery .blocks-gallery-image figure, .wp-block-gallery .blocks-gallery-item figure {width:100% !important; height:auto !important;}
}

/*
.wp-block-gallery .blocks-gallery-item figure {
	display:block !important; position:static !important;
}

.wp-block-gallery.is-cropped .blocks-gallery-item img {
	display:block !important; position:relative !important;
}
.wp-block-gallery .blocks-gallery-item figcaption {
	display:block !important; position:static !important;
}
*/


.wp-block-table span:is(.dummy-hr, .hr) {
	display: inline-block;
	width: 98%;
	height: 1px;
	background: #cdcdcd; 
	margin: 0.5em 1%; 
}
.wp-block-table img:is(.dummy-hr, .hr) {
	display: inline-block;
	width: 98%;
	height: 1px;
	margin: 0.5em 1%; 
}




/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	Pagination
*/
.pagination {
	clear:both;
	position:relative;
	margin:16px 8px 16px;
	text-align:center;
	font-family: 'Geosans-L';
}
 
.pagination span.current, .pagination a  {
	display: inline-block;
	text-align:center;
	width:48px; height:48px;
	font-size:20px; font-family:'Geosans-L'; line-height:1.5;
	padding-top:9px;
	padding-bottom:8px;
	margin:7px;
	border-radius:100%;
}
 
.pagination a {background:#fff; color:var(--acc-color); border:1px solid var(--acc-color); }
.pagination a:hover {text-shadow:none;}
/* 
 !!!!!! memo: hover effect = PConly, wrote in media query !!!!!
*/

.pagination .current{
	background:var(--acc-color);
	color:#fff;
	/*border:1px solid rgba(100,200,255,0.85);/*#aaa*/;
}

.pagination span.dot {
	color:var(--acc-color);
	display: inline-block;
	text-align:center;
	width:20px;
	height:48px;
	font-size:28px;
	padding-top:9px;
	padding-bottom:8px;
	margin:5px;
	border-radius:100%;
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	Std - Pager //  Pagination @ Search.php
*/

.prev.page-numbers,
.next.page-numbers {display:none;}

.page-numbers {
	padding:0;
	clear:both;
	position:relative;
	margin:0 8px 16px;
	text-align:center;
	font-family: 'Geosans-L';
}
.page-numbers li {
	display: inline-block;
	text-align:center;
	width:auto; height:auto;
	margin:0;
}
.page-numbers a {
	display:block; width:100%; height:100%;
	padding-top:9px;
	padding-bottom:8px;
	width:48px; height:48px; margin:7px;
	font-size:20px; font-family:'Geosans-L'; line-height:1.5;
	border-radius:100%;
	background:#fff; color:var(--acc-color); border:1px solid var(--acc-color); 
}
.page-numbers a:hover {text-shadow:none;}

.page-numbers.current {
	display:block; width:100%; height:100%;
	padding-top:9px;
	padding-bottom:8px;
	width:48px; height:48px; margin:7px;
	font-size:20px; font-family:'Geosans-L'; line-height:1.5;
	border-radius:100%;
	background:var(--acc-color); color:#fff;
}

.page-numbers.dots {
	color:var(--acc-color);
	display: inline-block;
	text-align:center;
	width:20px;
	height:48px;
	font-size:28px;
	padding-top:9px;
	padding-bottom:8px;
	margin:5px;
	border-radius:100%;
}


/* =========================== 
 　Comments - WP Default
*/
/**/
#comments-area {text-align:left;}
span.label-inner {display:inline-block;}
#send-comment {
	width:auto !important;
	font-size: 1em !important;
	margin:1em 1.5em 0.5em !important;
	padding: 12px 32px !important;
	color: #fff !important; font-weight:bold;
	border-radius:4px !important;
	border:1px solid rgba(255,255,255,0.5); 
	background:#365e79;
}
#send-comment:hover {
	background:#4169e1 url(./img/bg/pattern.png); cursor: pointer;
}
#comments-area textarea{width: 99%; font-size:1.2em;} 
#comments-area input {width:250px; font-size:1.2em;} 
#comments-area input[type=checkbox] {width:30px;}
#comments-area input:focus {background:#dff; transition:all 0.3s linear 0s; }
#comments-area textarea:focus {background:#dff; transition:all 0.3s linear 0s; }






/* =========================== 
 　ContactForm7
*/
.wpcf7-form {padding:1em; background:rgba(188,188,188,0.2);}
.wpcf7-form input{width: 245px; font-size:1.2em;} /*名前、メール、題名*/
.wpcf7-form span.age input{width: 80px; } 
.wpcf7-form span.postal-code1 input, .wpcf7-form span.postal-code2 input,
.wpcf7-form span.postal-code2 input, .wpcf7-form span.postal-code4 input {width: 50px; font-size:1.2em;} /*日付*/
.wpcf7-form span.yen input{width: 130px; font-size:1.5em;} /**/
.wpcf7-form textarea{width: 99%; font-size:1.2em;/*max-width:500px:;*/} /*本文*/

.wpcf7-form input[type=radio], .wpcf7-form input[type=checkbox] {width:20px;}
.wpcf7-form input[type=radio]+span, .wpcf7-form input[type=checkbox]+span {display:inline-block; margin-right:20px;}

.wpcf7-form input[name^="address"], .wpcf7-form input[name$="address"] {width: 99%; max-width: 600px;}
.wpcf7-form input[name^="url"], .wpcf7-form input[name$="url"] {width: 99%; max-width: 600px;}
.wpcf7-form input[name^="age"], .wpcf7-form input[name$="age"] {width: 120px;}
.wpcf7-form input[name^="birth-year"] {width:5em;}
.wpcf7-form input[name^="birth-month"], .wpcf7-form input[name^="birth-date"] {width:3em;}

.wpcf7-form input[name$="academic-bg"] {width: 99%; max-width: 600px;}



.wpcf7-form input:focus {background:#dff; transition:all 0.3s linear 0s; }
.wpcf7-form textarea:focus {background:#dff; transition:all 0.3s linear 0s; }

.wpcf7-form :placeholder-shown {color: #cdcdcd;}
.wpcf7-form ::-moz-placeholder { color: #cdcdcd; opacity: 1; }
.wpcf7-form :-ms-input-placeholder { color: #cdcdcd;}
.wpcf7-form ::-webkit-input-placeholder { color: #cdcdcd;}


.wpcf7-form .confirm-msg {position:relative; width: 99%; padding:1em; background:rgba(100,100,100,0.2); border-radius:4px; font-size:13px; color:#f4b; font-weight:bold; line-height:1.5;}
.wpcf7-form .confirm-msg .label-cbx-confirm input {display:none;}
.wpcf7-form .label-cbx-confirm .wpcf7-list-item-label {position:relative; padding-left:2.25em;}
.wpcf7-form .label-cbx-confirm .wpcf7-list-item-label::before{
	content:""; display:block; position:absolute; 
	top:0; left:0; /*bottom:0;*/ margin:auto;
	width:1.25em; height:1.25em;
	background:#fff; border:2px solid #f4b; border-radius:4px;
	transition:all 0.14s linear 0s;
}
.wpcf7-form .label-cbx-confirm {display:block; width:100%; height:100%;}
.wpcf7-form .label-cbx-confirm input:checked + .wpcf7-list-item-label{
	color:#365E79; font-weight:bold; 
}
.wpcf7-form .label-cbx-confirm input:checked + .wpcf7-list-item-label::before{
	border:2px solid var(--link-color); border-radius:100%; transition:all 0.33s linear 0s;
}
.wpcf7-form .label-cbx-confirm input:checked + .wpcf7-list-item-label::after{
	content:""; display:block; position:absolute; 
	top: -0.5em; left: 0.35em; width:0.7em; height:1.4em;
	border-bottom: 3px solid #365E79; border-right: 3px solid #365E79;
	transform:rotate(40deg); 
	box-shadow:1px 1px 0 0 #fff;
}


.wpcf7-form .wpcf7-submit {
	width:auto !important;
	font-size: 1.4em !important;
	letter-spacing:0.5em !important;
	text-indent:0.5em !important;
	margin:1.5em 1.5em 0.5em !important;
	padding: 0.75em 1.5em !important;
	color: #fff !important; font-weight:bold;
	border-radius:var(--radius-btn) !important;
	border:1px solid rgba(255,255,255,0.5); 
	background:#111;
}
.wpcf7-form .wpcf7-submit:hover {
	background:#4169e1 url(./img/bg/pattern.png); cursor: pointer;
}

.wpcf7-response-output {
	font-size: 15px;
	text-align: center;
}

div.wpcf7-validation-errors {
	margin:1em 0 !important;
	padding: 10px !important;
	background: #111;/*#965755;*/
	font-weight: bold;
	color: #f7e700;/*#fff;*/
	border-radius:6px;
}
span.wpcf7-not-valid-tip {
	color: #111 !important;
	font-size: 1rem !important;
	font-weight: bold !important; 
	display: inline-block !important;
	margin:0.125rem 0.25rem !important;
	box-shadow:0 -0.8em 0 0 #f7e700 inset;
}
div.wpcf7-mail-sent-ok {
	margin:1em 0 !important;
	padding: 10px !important;
	background: #225A4B;	
	font-weight: bold;
	color: #fff;
	border-radius:6px;
	border: 2px solid lime !important; /*#398f14;*/
}


span.hissu{
	display:inline-block; color:#fff; font-weight:bold; font-size:12px; padding:0px 5px;
	border-radius:3px; margin:0 6px 2px 0; background:var(--link-color); vertical-align:7.5%;
	text-shadow:none;
}
span.ninni{
	display:inline-block; color:#fff; font-weight:bold; font-size:12px; padding:0px 5px;
	border-radius:3px; margin:0 6px 2px 0; background:#aaa; vertical-align:7.5%;
	text-shadow:none;
}
span.yo-kakunin {
	display:inline-block; color:#fff; font-weight:bold; font-size:12px; padding:0px 5px;
	border-radius:3px; margin:0 6px 2px 0; background:#f4b; vertical-align:7.5%;
	text-shadow:none;
}
span.yo-kakunin.opened {
	color:#f4b; background:#fce; /*box-shadow: 0 0 0 2px #f4b inset;*/
}

input::-webkit-input-placeholder { color: #ddd !important; }
input:-moz-placeholder { color: #ddd !important; opacity: 1; }
input::-ms-input-placeholder { color: #ddd !important; }




/*============================
* button / ghost button
*/
a.btn-ds,
a.wp-block-button__link {box-shadow: 0 3px 5px rgba(20, 20, 20, 0.3);
	transition:all 0.14s linear 0s;
}
a.btn-ds:hover,
a.wp-block-button__link:hover {box-shadow:0 1px 2px rgba(20,20,20,0.4); 
	transform:translateY(4px);
	transition:all 0.2s linear 0s;
}

a.btn-round {border-radius:100rem !important;}

a span.ssi, a span.tsi {display:inline-block; position:relative; padding-left:1.25em; font-family:'LinLibertine-RBG', serif; font-size:1.1em;}
a span.ssi::before {position:absolute;top:0.1em; left:0; content:"S"; font-family:"SosaIcon"; font-size:95%;} 
a span.tsi::before {position:absolute;top:0.1em; left:0; content:"T"; font-family:"SosaIcon"; font-size:95%;} 

a.gbtn-white {position:relative; display:inline-block; text-align:center; font-weight:700; color:#fff; margin:1em 0; padding:0.75em 1em; border:2px solid #fff; background:transparent; border-radius:var(--radius-btn);}
a.gbtn-gray {position:relative; display:inline-block; text-align:center; font-weight:500; color:var(--bg-mid); margin:1em 0; padding:0.75em 1em; border:1px solid var(--bg-mid); background:transparent; border-radius:var(--radius-btn);}
a.gbtn-black {position:relative; display:inline-block; text-align:center; font-weight:500; color:#000; margin:1em 0; padding:0.75em 1em; border:1px solid #000; background:transparent; border-radius:var(--radius-btn);}

a.gbtn-variable {border-radius:var(--radius-btn);}

a.gbtn-white:hover {color:#fff; background:rgba(255,255,255,0.2);  text-shadow:none;text-shadow:none;}
a.gbtn-gray:hover {color:#fff; background:rgba(119,136,153,0.5); text-shadow:none;}
a.gbtn-black:hover {color:#fff; background:rgba(0,0,0,0.55); text-shadow:none;}

a.gbtn-accent {position:relative; display:inline-block; text-align:center; font-weight:700; color: var(--acc-color); margin:1em 0; padding:0.75em 1em; border:2px solid var(--acc-color); background:transparent; border-radius:var(--radius-btn);}
a.gbtn-accent:hover {background:var(--owhite-color);}
a.gbtn-accent.btn-frost {background:rgba(255,255,255,0.75);}
a.gbtn-accent.btn-frost:hover {background:rgba(255,255,255,0.95);}

a.gbtn-accent:not(.main-option):not(.sub-option):not(.noarrow):not(.anchor-link):not(.btn-round)::after,
a.btn-white:not(.main-option):not(.sub-option):not(.anchor-link):not(.btn-round)::after {
	content: ""; width: 10px; height: 10px; position: absolute; right: 14px; top: 50%; margin-top: -5px;
	border-right: 2px solid var(--acc-color); border-top: 2px solid var(--acc-color); transform: rotate(45deg); transition: all 0.14s linear 0s;
}
a.gbtn-accent:not(.main-option):not(.sub-option):not(.noarrow):not(.anchor-link):not(.btn-round):hover::after,
a.btn-white:not(.main-option):not(.sub-option):not(.anchor-link):not(.btn-round):hover::after {right:11px;}


a.gbtn-black {position:relative; display:inline-block; text-align:center; font-weight:700; color:var(--moji-color); margin:1em 0; padding:0.75em 1em; border:2px solid var(--moji-color); background:transparent; border-radius:var(--radius-btn);}

a.gbtn-black:hover {background:rgba(22,22,22,0.2); text-shadow:none;}


a.btn-black {position:relative; display:inline-block; text-align:center; font-weight:700; color:#FFF; margin:1em 0; padding:0.75em 1em; border:2px solid var(--logo-color); background:var(--logo-color); border-radius:var(--radius-btn);}
a.btn-accent {position:relative; display:inline-block; text-align:center; font-weight:700; color:#FFF; margin:1em 0; padding:0.75em 1em; border:2px solid var(--acc-color); background:var(--acc-color); border-radius:var(--radius-btn);}
a.btn-link {position:relative; display:inline-block; text-align:center; font-weight:700; color:#FFF; margin:1em 0; padding:0.75em 1em; border:2px solid var(--link-color); background:var(--link-color); border-radius:var(--radius-btn);}
a.btn-line {position:relative; display:inline-block; text-align:center; font-weight:700; color:#FFF; margin:1em 0; padding:0.75em 1em; border:background:#00c300; background:#00c300; border-radius:var(--radius-btn);}

a.btn-gray {position:relative; display:inline-block; text-align:center; font-weight:700; color:#FFF; margin:1em 0; padding:0.75em 1em; border:2px solid #aaa; background:#aaa; border-radius:var(--radius-btn);}

a.gbtn-white:not(.main-option):not(.sub-option):not(.noarrow):not(.anchor-link):not(.btn-round)::after,
a.btn-accent:not(.main-option):not(.sub-option):not(.anchor-link):not(.btn-round)::after,
a.btn-link:not(.main-option):not(.sub-option):not(.anchor-link):not(.btn-round)::after {
	content: "";
	width: 10px;
	height: 10px;
	position: absolute;
	right: 14px;
	top: 50%;
	margin-top: -5px;
	border-right: 2px solid #ffffff;
	border-top: 2px solid #ffffff;
	transform: rotate(45deg);
	transition: all 0.14s linear 0s;
}
a.gbtn-white:not(.main-option):not(.sub-option):not(.anchor-link):not(.btn-round):hover::after,
a.btn-accent:not(.main-option):not(.sub-option):not(.anchor-link):not(.btn-round):hover::after,
a.btn-link:not(.main-option):not(.sub-option):not(.anchor-link):not(.btn-round):hover::after {right: 11px;}

a.btn-black:hover {background:rgba(22,22,22,0.7); text-shadow:none;}
a.btn-accent:hover {background:rgba(22,22,22,0.7); text-shadow:none;}
a.btn-link:hover {background:var(--hover-color); text-shadow:none;}
a.btn-line:hover {background:rgba(0,195,0,0.7); text-shadow:none;}
a.btn-gray:hover {background:#888; text-shadow:none;}


a.btn-white {position:relative; display:inline-block; text-align:center; font-weight:700; color:var(--moji-color); margin:1em 0; padding:0.75em 1em; border:2px solid #fff; background:#fff; border-radius:var(--radius-btn);}

a.btn-white:hover {background:rgba(255,255,255,0.7); text-shadow:none;}
a.btn-white-alt:hover {color:#fff; background:var(--logo-color); text-shadow:none;}



a.btn-xlarge {width:290px !important; margin:1.25rem !important; padding:1.25rem 0;}
a.btn-large {width:240px !important; margin:1.25rem !important; padding:1rem 0;}
a.btn-small {margin:0.75rem 0 !important; padding:0.5rem 1rem !important;}
a.btn-slim {margin:0.75rem 0 !important; padding:0.25rem 2rem !important;}

a.btn-xlarge img.icon {width:auto; height:44px; margin-right:0.5em;}
a.btn-large img.icon {width:auto; height:32px; margin-right:0.5em;}


a.btn-xlarge.noto {line-height:1.5; padding:1em 0 1.2em;}
a.btn-large.noto {line-height:1.5; padding:0.8em 0 1em;}

a.btn-more {font-family: 'Geosans-L'; font-size: 1.5rem; letter-spacing: 0.25em;}

a img.mail-icon-inside {height:1.2rem; margin:0 8px 0 0; vertical-align:-11%;}
a img.back-icon-inside {height:1.2rem; margin:0 12px 0 0; vertical-align:-11%;}
a img.icon-inside {width:40px; margin:0px 6px 0 0; vertical-align:-50%;}





/* **************************************************** 
	navigation
*/ 

.pointer {cursor:pointer}

.reveal {
	transform:scale(1);
	transition:all 0.28s linear 0s; opacity:1; z-index:99900;
		/*IE 8,9=>*/ display:block\9;
}
.disappear {
	transform:scale(0); opacity:0;
	transition:all 0.28s linear 0s; 
}

#main-overlay {
	position:fixed; top:0; right:0; bottom:0; left:0;
	width:100vw; height:100vh;
	background:transparent;
	z-index:88800;
}

#burger-menu {
	position:fixed; top:0; right:0; bottom:0;
	width:min(100vw, 400px); 
	height:100%; 
	background:rgba(255,255,255,0.65); 
	-webkit-backdrop-filter: blur(8px);	
	backdrop-filter: blur(8px);
	padding:0 0;
	color:#222;
	box-shadow: -5px 0px 5px -1px rgba(0,0,0,0.25);
	transform:translateX(300px);
	transition:all 0.5s linear 0s; opacity:0;  z-index:9990;
	pointer-events: none;
}

#burger-menu a:not(.btn) {
	color:#222; /* #40465F;*/
	font-family:'Noto Sans JP', sans-serif, sans;
	font-weight:700;
}

#burger-menu.reveal {
	transform:translateX(0); 
	transition:all 0.28s linear 0s; opacity:1; z-index:99900;
	pointer-events: auto;
	overflow:auto;
}

#sticker { /* .burger.menu-opener */
	position:fixed; top:0; right:0; float:none;
	/* width:60px; height:60px; 
	margin:10px; padding:auto;*/
	width:80px; height:80px;
	margin:0.25rem; padding:2rem;
	border-radius:100%;
	cursor:pointer;
	transition:all .3s linear 0s;	
	z-index: 10000;
	/*mix-blend-mode: difference;*/ /*exclusion;/* color-burn;*/
	/*background:rgba(70,90,31,0.65); */ /*rgba(255,255,255,0.45); */
	background:var(--acc-gra-u2d);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.subpage #sticker {
	/*background:rgba(0,0,0,1);*/
}

.burger.menu-opener {opacity:0;}
	
#sticker .icon-burger {
	position:absolute; top:0; right:0; bottom:0; left:0; 
	/*width:32px; height:40.819px; */
	/*width:36px; height:auto;*/
	width:36px; height:auto;
	margin:auto;
	transition:all 0.55s linear 0s;
}
/*
@media (min-width:1400px) {
	#sticker .icon-burger {width:36px; height:49.7333px;}
}
*/
@media (max-width:599px) {
	#sticker {width:72px; height:72px; margin:4px;}
	#sticker .icon-burger {width:34px; /* height:32.655px;*/ margin:auto; }
}
@media (max-width:480px) {
	#sticker {width:54px; height:54px; margin:4px;}
	#sticker .icon-burger {width:32px; /* height:32.655px;*/ margin:auto; }
}


#burger-menu .co-header {
	position:sticky; top:0; right:0; left:0;
	width:100%; height:auto; 
	margin:0; padding:0;
	display:flex; justify-content:flex-end; 
}
#burger-menu .menu-closer {
	/* margin:1.1em 1.375em; */
	margin:1.25em 1.625em; 	
	/*width:32px; height:44.207px;*/
	width:36px; height:49.733px;
	/* width:38px; height:52.496px;*/
	background:url(./img/icon/batten-close.svg);
	background-repeat:no-repeat; background-position:0 0;
	/*background-size:32px 44.207px;*/
	background-size:contain;
	cursor:pointer;
}
#burger-menu .menu-body {
	position:static;
	height:auto;
	margin-top:-3.5rem;
}
	

	

#burger-menu ul {padding:0;}
ul.glo-navi > li {
	font-weight:500; font-size:100%;
	letter-spacing:0.15em;
	margin:2em 0;
	transform:translateX(2.5em);
	opacity:0;
	transition:all 0.88s linear 0s;
}
ul.glo-navi.reveal > li {
	transform:translateX(0); 
	opacity:1;
	transition:all 0.22s ease 0s;
}
ul.glo-navi ul.children li {
	transform:translateY(-2.5em);
	opacity:0;
	transition:all 0.88s linear 0s;	
}
ul.glo-navi.reveal ul.children li {
	transform:translateY(0); 
	opacity:1;
	transition:all 0.55s ease-in-out 0s;
}
ul.glo-navi.reveal > li:first-child {transition-delay: .1s; }
ul.glo-navi.reveal > li:nth-child(2) {transition-delay: .2s; }
ul.glo-navi.reveal > li:nth-child(3) {transition-delay: .3s; }
ul.glo-navi.reveal > li:nth-child(4) {transition-delay: .4s; }
ul.glo-navi.reveal > li:nth-child(5) {transition-delay: .5s; }
ul.glo-navi.reveal > li:nth-child(6) {transition-delay: .6s; }
ul.glo-navi.reveal > li:nth-child(7) {transition-delay: .7s; }
ul.glo-navi.reveal > li:nth-child(8) {transition-delay: .8s; }
ul.glo-navi.reveal > li:nth-child(9) {transition-delay: .9s; }
ul.glo-navi.reveal > li:nth-child(10) {transition-delay: 1.0s; }
ul.glo-navi.reveal > li:nth-child(11) {transition-delay: 1.1s; }
ul.glo-navi.reveal > li:nth-child(12) {transition-delay: 1.2s; }
ul.glo-navi.reveal > li:nth-child(13) {transition-delay: 1.3s; }
ul.glo-navi.reveal > li:nth-child(14) {transition-delay: 1.4s; }
ul.glo-navi.reveal > li:nth-child(15) {transition-delay: 1.5s; }
ul.glo-navi.reveal > li:nth-child(16) {transition-delay: 1.6s; }
ul.glo-navi.reveal ul.children li:first-child {transition-delay: .5s; }
ul.glo-navi.reveal ul.children li:nth-child(2) {transition-delay: .6s; }
ul.glo-navi.reveal ul.children li:nth-child(3) {transition-delay: .7s; }
ul.glo-navi.reveal ul.children li:nth-child(4) {transition-delay: .8s; }
ul.glo-navi.reveal ul.children li:nth-child(5) {transition-delay: .9s; }
ul.glo-navi.reveal ul.children li:nth-child(6) {transition-delay: 1.0s; }
ul.glo-navi.reveal ul.children li:nth-child(7) {transition-delay: 1.1s; }
ul.glo-navi.reveal ul.children li:nth-child(8) {transition-delay: 1.2s; }
ul.glo-navi.reveal ul.children li:nth-child(9) {transition-delay: 1.3s; }
ul.glo-navi.reveal ul.children li:nth-child(10) {transition-delay: 1.4s; }
ul.glo-navi.reveal ul.children li:nth-child(11) {transition-delay: 1.5s; }
ul.glo-navi.reveal ul.children li:nth-child(12) {transition-delay: 1.6s; }
ul.glo-navi.reveal ul.children li:nth-child(13) {transition-delay: 1.7s; }
ul.glo-navi.reveal ul.children li:nth-child(14) {transition-delay: 1.8s; }
ul.glo-navi.reveal ul.children li:nth-child(15) {transition-delay: 1.9s; }
ul.glo-navi.reveal ul.children li:nth-child(16) {transition-delay: 2.0s; }


ul.glo-navi li a:hover {
	color:#000;
	text-shadow: 0 0 2px var(--link-color) , 0 0 10px var(--link-color);
	text-decoration: none;
	transition: 0.22s linear all;
}

#burger-menu .segment {width:80%; max-width:216px; margin:0 auto;}
#burger-menu .segment.search-bar {margin:0 auto 1.5em;}
#burger-menu .segment.search-bar :is(#searchform, .f-search) {width:200px;}

#burger-menu .segment.contact-btns {margin:0 auto;}
#burger-menu .segment.bottom-end {margin:0 auto 3em;}

#burger-menu .segment ul:not(.glo-navi):not(.children) {margin-top:2.5em;}
#burger-menu .segment ul:not(.glo-navi) li {margin:1em 0;}

#burger-menu .segment ul.children {
	padding-left:1.5em;
	font-size:88%; letter-spacing:0; font-feature-settings:"palt";
}


#burger-menu .segment ul.sns-icons {margin-top:3em; padding-bottom:2em; width:204px; display:flex; justify-content:space-between;}
#burger-menu .segment ul.sns-icons li {display:block; margin:0 auto;}
/*
#burger-menu .segment ul.sns-icons li:first-child {margin-left:0;}
#burger-menu .segment ul.sns-icons li:last-child {margin-right:0;}
*/

#burger-menu .phone-number {
	font-size:175%; 
	font-family:var(--eisuuji); font-weight:400;
	letter-spacing:0em;
}
#burger-menu .phone-number span {display:inline-block;}
#burger-menu .phone-number .tel-icon {
	position:relative;
	display:inline-block;
	width:30px; height:30px;
	margin: 0;
	padding: 3px;
	transform:translate(-4px, 7px);
}
#burger-menu .phone-number .tel-icon::before {
	position:absolute;
	top:0.125em; right:0; bottom:0; left:0;
	width:100%; height:100%;
	content: "5";
	font-family:'SosaIcon'; font-weight:normal;
	color:#111111;
	font-size:2.25rem;
}

#burger-menu .logo-burger-menu {margin:1rem 0; width:200px; height:auto;}
#burger-menu .sns-icon {width:32px; height:32px;}
#burger-menu .btn-toiawase {width:auto; height:48px; margin:0.75rem 0;}

#burger-menu .contact-btns .btn {
	display:inline-block; text-align:center; width:200px; height:56px; margin:0.5em 0; padding:0.65em 0.25em 0 0;
	font-family:'Noto Sans JP', sans-serif, sans; font-weight:700; font-size:1.1rem;
}
#burger-menu .contact-btns .icon img {width:32px; height:auto; transform:translate(-8px,-2px);}
#burger-menu .contact-tel span.tel-number {font-family:var(--eisuuji); font-size:180%; font-style:italic; font-weight:800; color:var(--moji-color);} 



.gbtn-mail {background:#ffffff; border:2px solid #4bf; color:#4bf !important;}
.btn-mail {background:#4bf; border:2px solid #4bf; color:#fff !important;}




/*
@media (min-width:1340px) {
	#navi-xlarge-device {display:block;}

	#navi-xlarge-device #sticky-bar {
		position:fixed; 
		top:0; right:0; left:0;
		width:100%; 
		height:40px;
		z-index:101;
		mix-blend-mode: difference;
		opacity:0;
		pointer-events:none;
	}
	#navi-xlarge-device #sticky-bar ul.traditional-navi {
		display:block;
		position:absolute;
		top:0; right:calc(60px + 1em);
		margin:9px 4.5em 9px auto;
		padding:0;
		text-align:right;
		transition:all 0.16s linear 0s;
		pointer-events:auto;
	}
	#navi-xlarge-device #sticky-bar ul.traditional-navi.invisible {
		opacity:0;
		pointer-events:none;
		transition:all 0.16s linear 0s;	
	}
	#navi-xlarge-device #sticky-bar ul.traditional-navi li {
		display:inline-block;
		margin:0.85em;
		font-family:'Noto Sans JP';
		font-weight:500;
		font-size:0.875em;
		font-feature-settings:"palt";
	}
	#navi-xlarge-device #sticky-bar ul.traditional-navi li a {
		color:#fff;
		opacity:0.95;
	}
	#navi-xlarge-device #sticky-bar ul.traditional-navi li a:hover {
		text-decoration:underline;
		text-underline-offset: 0.5em;
		text-decoration-style: dotted;
		text-decoration-thickness: 2px;
		text-shadow:none;
	}

}
@media (max-width:1339px) {
	#navi-xlarge-device {display:none;}
}
*/
#navi-xlarge-device {display:none;}





/* =============================================================================
   Media Queries
   ========================================================================== */



@media only screen and (max-width: 1220px) {

	.maxonly {display:none;}

	#subpage-logo{position:absolute;}

}



@media only screen and (min-width: 1078px) {

}



@media only screen and (max-width: 1077px) {
	
	body {position:relative;}
	.bg-fixed {background-attachment:scroll;}

	footer {
		background-attachment:scroll;
		background-repeat:no-repeat, no-repeat, repeat;
		background-position:0 0, 100% 0, 0 0;
		background-size:cover, 100% auto, cover;
	}

	img.site-logo-small-device {display:block; width:100%; max-width:420px; margin:25vh auto; vertical-align:0%; opacity:1; filter: drop-shadow( 0 0 5px rgba(87,69,8,0.8) );  }
	

	.push-to-call {display:inline-block; position:relative; width:32px; height:32px;} 
	.push-to-call img {width:32px; height:32px; margin-top:-8px; margin-left:8px;}
	.push-to-call::after { 
		position: absolute;	left:-0.825em; top:22px; 
		content: '電話する';
		display: block;
		width: 200%;
		color: #222; letter-spacing:0.05em;
		font-size: 0.6rem; font-weight:normal;
		text-decoration: none;
		text-align: center;
		transition: all 0.4s;
		font-feature-settings:"palt";
	}

	.bg-transparent .push-to-call::after { color:#fff; text-shadow:none;}
	

	.post-body h2:is(:not([class]), .wp-block-heading) {font-size:205%; letter-spacing:0;}
	

}
   


@media only screen and (min-width: 995px) {
	
	.smponly, .tblonly, .smptbl {display:none;}

	#sidebar-inner table { width:100%;}
	#sidebar-inner th, #sidebar-inner td {
		padding:0.25em 0.5em;
		font-size:12px;
		font-weight:normal;
		line-height:1.4em;
		text-align:center;
		word-break:normal;/*break-word;/*break-all;*/
		-moz-box-sizing:border-box;
		-webkit-box-sizing:border-box;
		box-sizing:border-box;
	}

}


@media only screen and (max-width: 899px) {

	
}



@media only screen and (min-width: 801px) {

	.hover-zoom {transition:all 0.33s linear 0s;}
	.hover-zoom:hover {transform:scale(1.05); transition:all 0.14s linear 0s;}
	.hover-shrink {transition:all 0.26s linear 0s;}
	.hover-shrink:hover {transform:scale(0.975); transition:all 0.1s linear 0s;}

	.pagination a:hover,
	.page-numbers a:hover {
		transform: scale(1.133);
		transition: all 0.1s linear 0s;
	}

}


/* Tablet Portrait size to Base 996px */
@media only screen and (min-width: 769px) and (max-width: 995px) {

	.smponly, .smptbl, .wideonly, .maxonly  {display:none;}
	
	body {min-height: 1024px;}

	#sidebar-inner table { width:100%;}
	#sidebar-inner th, #sidebar-inner td {
		padding:0.15em 0.3em;
		font-weight:normal;
		line-height:1.2em;
		font-size:11px;
		text-align:center;
		word-break:normal;/*break-word;/*break-all;*/
		box-sizing:border-box;
	}

}




/* All Mobile Sizes */
@media only screen and (max-width: 768px) {

	.maxonly, .wideonly, .pconly {display:none;}
	.smptbl {display:block;}

	.hr-box.pd-top{padding:3em 0 0 0;}
	.hr-box.pd-btm, .hr-box.pd-bottom {padding:0 0 3em 0;}
	.hr-box.pd-both {padding:3em 0 3em;}	

	.post-body h2:is(:not([class]), .wp-block-heading) {font-size:190%; letter-spacing:0;}

	table {font-size:15px;}
	th, td { padding:4px 8px; }

	#btn-contact {padding:4em 0 5em; margin:0;}

	.flex-table:before, .flex-table:after { content: " "; display: table;}
	.flex-table:after { clear: both;}
	.flex-table {border:1px solid rgba(0,0,0,0.2);  *zoom: 1;}
	.flex-table th, .flex-table td {float:left; width:100% !important; border-bottom:none;}
	.flex-table td {padding-bottom:1em;}

	.container section {margin-bottom:24px !important;}
	.container .upper, .wide-container .upper, .full-container .upper {margin-bottom:2em !important;}	

}

@media only screen and (min-width: 640px) and (max-width: 768px){
	.is-mobile #logo {max-width:320px;}
}
@media only screen and (max-width: 640px) {
	.is-mobile #logo {max-width:290px;}
}
@media only screen and (min-width: 600px){
	/*
	#navi-large-device {display:block;}
	#navi-small-device {display:none;}
	*/
}	


	#navi-large-device {display:block;}
	#navi-small-device {display:none;}


@media only screen and (max-width: 599px) {
	/*
	#navi-large-device {display:none;}
	#navi-small-device {display:block;}
		
	#sticker-bottom {
		position:fixed;
		top:auto; bottom:0; left:0; right:0;
		margin: 0; width:100vw; height:70px;
		transition:all .3s linear 0s;
		padding:0 0 4px;
		border-top:1px solid #111;
		background:rgba(255,255,255,0.8) !important;
		-webkit-backdrop-filter:blur(8px);
		backdrop-filter:blur(8px);
		z-index: 10000 !important;
	}
	#sticker-bottom .shell .cell {
		height:70px;
		align-self:stretch; 
	}
	#sticker-bottom .slideToggle-target .btn-mail img {transform:translateY(-1px);}

	#sticker-bottom-btn {
		position:fixed;
		top:auto; bottom:3rem; right:0.5rem;
		margin: 0; 
		width:68px; height:68px;
		margin:0.25rem; padding:2rem;
		border-radius:100%;
		cursor:pointer;
		transition:all .3s linear 0s;
		z-index: 10000 !important;
		background:var(--acc-gra-d2u);
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
	}
	#sticker-bottom-btn .icon-rising {
		position:absolute; top:0; right:0; bottom:0; left:0; 
		width:32px; height:auto;
		margin:auto;
		transition:all 0.55s linear 0s;
	}



	#rising-menu {
		position:fixed; top:0; right:0; left:0;
		width:100vw; height:auto; min-height:100vh;
		background:rgba(255,255,255,1);
		transform:translate(0,100vh);
		transition:all 0.6s ease 0s;
		top:0; right:0; bottom:0; left:0;
		z-index:19999 !important;
		overflow:auto;
	}
	#rising-menu.slide-up {
		transform:translate(0,0);
		transition:all 0.48s ease 0s;
		z-index:19999 !important;
	} 

	#rising-menu .co-header {
		position:sticky; top:0; right:0; left:0;
		width:100%; height:56px; 
		margin:0; padding:12px 1rem 4px;
		display:flex; 
		background:var(--acc-gra-l2r)
	}
	#rising-menu .co-header .menu-closer {
		width:48px; height:100%; 
		background:url(./img/icon/batten-close-white.svg) no-repeat 0 0;
		background-size:contain;
		cursor:pointer;
	}
	#rising-menu .co-header .menu-closer + div {
		padding:0.05em 0;
		color:#fff; font-family:'Noto Sans JP', sans-serif, sans; font-weight:700; font-size:1rem;
	}
	#rising-menu .menu-body {
		position:static;
		height:auto;
		overflow:auto;
		padding:1em 2em 5em;
	}

	#rising-menu .menu-body ul.page_list {padding-left:1.5em;}
	#rising-menu ul.page_list li {font-size:1.2rem; margin:1.5em 0.25rem;}
	#rising-menu ul.page_list ul.children li {font-size:0.85em; margin:1.1rem 0.25rem;}
	#rising-menu ul.page_list li a {color:#161616; font-family:'Noto Sans JP', sans-serif, sans; font-weight:700;}

	#rising-menu ul.search-bar {margin:3rem 0;}
	#rising-menu ul.search-bar :is(#searchform, .f-search) {width:210px;}


	#rising-menu ul.contact-btns {margin:3rem 0;}
	#rising-menu ul.contact-btns .btn {
		display:inline-block; text-align:center; width:210px; height:56px; margin:0.5em 0; padding:0.65em 0.25em 0 0; 
		font-family:'Noto Sans JP', sans-serif, sans; font-weight:700; font-size:1.1rem;
	}
	#rising-menu ul.contact-btns .icon img {width:32px; height:auto; transform:translate(-8px,-2px);}
	#rising-menu ul.contact-tel {margin-bottom:2rem;}
	#rising-menu ul.contact-tel span.tel-number {font-family:var(--eisuuji); font-size:200%; font-style:italic; font-weight:800; color:var(--moji-color);} 
	
	#rising-menu ul.contact-tel .push-to-call {transform:translateY(10px);}
	
	#rising-menu .logo-wrapper {margin:2em 0; padding:0 0 0 2em; text-align:left;}
	.logo-rising-menu {width:210px; height:auto;}
	
	#rising-menu ul.sns-icons {margin-top:3em; padding-bottom:2em; padding-left:1.5em; width:calc(210px + 2.5rem); display:flex; justify-content:space-between;}
	#rising-menu ul.sns-icons li {display:block; margin:0 auto;}
	#rising-menu .sns-icon {width:32px; height:32px;}



	.menu-trigger-wrapper {margin:0; width:60px; padding:11px 8px 0 8px;}
	.icon-rising {width:33px; height:auto; cursor:pointer}
	.menu-trigger .inner {position:relative; width: 32px; height: 24px; margin:auto;}


	.menu-closer.outer {
		width: 52px; height: 44px;
		padding:8px;
		z-index:10001;
	}

*/

	.grecaptcha-badge {z-index:2;}
	
	#rewind {display:none !important;} 



	
	#ec-btn {
		width:calc(100% - 140px); flex-grow:1;
		margin:0; border-radius:0;
		background:1;
		padding:8px 14px;
	}
	
	#ec-btn .inner {
		position:relative;
		display:block; padding:0.85em;
		height:54px;  font-size:107.5%;
		color:var(--base-color);
		background:var(--acc-gra-d2u);
		border-radius:var(--radius-btn);
		font-weight:bold;
		cursor:pointer;
	}	
	
	#ec-btn .inner::after {
		content: "";
		width: 10px;
		height: 10px;
		position: absolute;
		right: 14px;
		top: 50%;
		margin-top: -5px;
		border-right: 2px solid #ffffff;
		border-top: 2px solid #ffffff;
		transform: rotate(45deg);
		transition: all 0.14s linear 0s;
	}
	
	#mail-btn {display:block; width:64px; padding:6px 0;}	
	.icon-mail {width:40px; height:auto; margin:2px 4px 2px 0;}
	#mail-btn a span {
		display:block; margin-top:-0.2em;color:var(--link-color); line-height:1; 
		font-family:'Noto Sans JP', sans-serif, sans; font-size:0.7rem; font-weight:400;
		color:var(--acc-color);
	}



	#btn-contact  a.btn {width:270px; padding-block:1em;}


	.pnkz {margin:0; padding:0.5em 0.5rem 1.5em;}

}


/* Mobile Landscape Size to Tablet Portrait */
@media only screen and (min-width: 481px) and (max-width: 768px) {

	.pconly, .smponly {display:none;}
	.tblonly, .tblpc {display:block;}

}



/* Mobile Portrait Size to Mobile Landscape Size */
@media (max-width: 480px) {
	
	.pconly, .tblonly, .tblpc {display:none;}
	.smponly {display:block;}
	.smponly.ib {display:inline-block !important;}
	
	
	body { font-size:15px;}


	#subpage-logo{
		position:absolute;
		top:10px; left:8px;
	}
	.logo-header-subpage {
		width:110px; height:auto; margin:0;
	} 
	
	
	ul.glo-navi li {font-size:1rem; margin:2em 0;}
	
	
	#burger-menu .segment:last-child {margin: 0 auto 3em;}	
	
	
	h2 {line-height:1.65em; font-size:200%;}
	h2.en {line-height:1.25em; font-size:330%; /*letter-spacing:0.05em;*/}
	h2.jp {font-size:200%; letter-spacing:0.125em;}

	.post-body h2:is(:not([class]), .wp-block-heading) {font-size:170%;}

	h3 {font-size:150%;}


	table { margin:8px 0; width:100%;}

	.flex-table-smp:before, .flex-table-smp:after { content: " "; display: table;}
	.flex-table-smp:after { clear: both;}
	.flex-table-smp {border:1px solid rgba(0,0,0,0.2);  *zoom: 1;}
	.flex-table-smp th, .flex-table-smp td {float:left; width:100% !important; border-bottom:none;}
	.flex-table-smp td {padding-bottom:1em;}

	.table-toppage-info:before, .table-toppage-info:after { content: " "; display: table;}
	.table-toppage-info:after { clear: both;}
	.table-toppage-info {*zoom: 1; margin-top:0;}
	.table-toppage-info th {float:left; width:100% !important; border-bottom:none; padding-top:1em; padding-bottom:0;}
	.table-toppage-info td {float:left; width:100% !important; padding-top:0; padding-bottom:0.5em; line-height:1.2em;}




	ul  { padding-left:1.5em;}
	ol  { padding-left:0;}
	ul.nopad, ol.nopad  { padding-left:0; margin-left:0;}



	img.logo-sf { width: 240px; }
	

	#main-column #blog-pickup {text-align: center;}
	#main-column #blog-pickup div.post-cell {text-align: center;}


	.post-body {padding:1em 0.5em;}

	
}



@media (max-width:359px) {


	#sticker-bottom .tel-text {
		padding:0.9rem 0.25rem;
		height:54px;  font-size:90%;
		font-feature-settings:"palt";
	}		

	#rising-menu .menu-body ul.page_list {padding-left:0;}
	#rising-menu .menu-body ul.page_list li {font-size:115%;}

}
	


/* Mobile Vertical Long Type Like iPhoneX */
/*@media (max-width: 481px) and (min-height: 751px) {*/
/*
@media (max-height: 751px) {
	
	#burger-menu {padding:2em 0 6em; display:flex; align-items:top;}
	ul.glo-navi li {font-size:1.1rem; margin:2em 0;}
	#burger-menu .container {width:100%; margin-top:0; padding-top:0;}


}
*/


/* +++ PRINT SETTING +++ */
@media print{

	#sticker, .smponly, .tblonly, .smptbl {display:none;}

}




/* ==========================================================================
	//////////////// universal class ////////////////////
   ========================================================================== */
.xxxbroad {margin-top:4em !important; margin-bottom:4em !important;}
.xxbroad {margin-top:3em !important; margin-bottom:3em !important;}
.xbroad {margin-top:2em !important; margin-bottom:2em !important;}
.broad {margin-top:1.5em !important; margin-bottom:1.5em !important;}
.regular {margin-top:1em !important; margin-bottom:1em !important;}
.narrow {margin-top:0.5em !important; margin-bottom:0.5em !important;}
.thin {margin-top:0.25em !important; margin-bottom:0.25em !important;}
.flat {margin-top:0 !important; margin-bottom:0 !important;}
.flat-top {margin-top:0 !important;}
.flat-bottom {margin-bottom:0 !important;}
.narrow-top {margin-top:0.5em !important;}
.narrow-bottom {margin-bottom:0.5em !important;}
.regular-top {margin-top:1em !important;}
.regular-bottom {margin-bottom:1em !important;}
.broad-top {margin-top:1.5em !important;}
.broad-bottom {margin-bottom:1.5em !important;}
.xbroad-top {margin-top:2em !important;}
.xbroad-bottom {margin-bottom:2em !important;}
.xxbroad-top {margin-top:3em !important;}
.xxbroad-bottom {margin-bottom:3em !important;}
.xxxbroad-top {margin-top:4em !important;}
.xxxbroad-bottom {margin-bottom:4em !important;}

.ofv {overflow:visible !important;}
.ofh {overflow:hidden;}
.ofa {overflow:auto;}
.ofs {overflow:scroll;}

.tac { text-align:center; }
.tal { text-align:left; }
.tar { text-align:right; }
.taj { text-align:justify; }

.cb {	clear: both; }
.fr { float: right; }
.fl { float: left; }

.ib { display:inline-block;}
.vat {vertical-align:top;}

.posr {position:relative;}
.posa {position:absolute;}

.fix8 {font-size: 8px;}
.fix9 {font-size: 9px;}
.fix10 {font-size: 10px;}
.fix11 {font-size: 11px;}
.fix12 {font-size: 12px;}
.fix13 {font-size: 13px;}
.fix14 {font-size: 14px;}
.fix15 {font-size: 15px;}
.fix16 {font-size: 16px;}
.fix17 {font-size: 17px;}
.fix18 {font-size: 18px;}
.fix19 {font-size: 19px;}
.fix20 {font-size: 20px;}


.fs50 {font-size: 50%;}
.fs60 {font-size: 60%;}
.fs70 {font-size: 70%;}
.fs75 {font-size: 75%;}
.fs80 {font-size: 80%;}
.fs85 {font-size: 85%;}
.fs90 {font-size: 90%;}
.fs100 {font-size: 100%;}
.fs110 {font-size: 110%;}
.fs120 {font-size: 120%;}
.fs125 {font-size: 125%;}
.fs130 {font-size: 130%;}
.fs140 {font-size: 140%;}
.fs150 {font-size: 150%;}
.fs160 {font-size: 160%;}
.fs170 {font-size: 170%;}
.fs180 {font-size: 180%;}
.fs190 {font-size: 190%;}
.fs200 {font-size: 200%;}
.fs220 {font-size: 220%;}
.fs250 {font-size: 250%;}
.fs300 {font-size: 300%;}
.fs350 {font-size: 350%;}
.fs400 {font-size: 400%;}

.norm {font-weight: normal;}
.bold {font-weight: bold;}
.italic {font-style: italic;}

.overline {text-decoration: overline;}
.underline {text-decoration: underline;}
.linethru {text-decoration: line-through;}

.wh, .white {color: #fff;}
.bk {color: #000;}
.bk1 {color: #111;}
.bk2 {color: #222;}
.bk3 {color: #333;}
.bk4 {color: #444;}
.hpink {color: hotpink;}
.dred {color: crimson;}
.dblue {color: darkblue;}
.orange {color:orange;}
.tan {color:tan;}
.silver {color: silver;}
.gray {color: gray;}

.bgw1 {background:rgba(255,255,255,0.1);}
.bgw2 {background:rgba(255,255,255,0.2);}
.bgw3 {background:rgba(255,255,255,0.3);}
.bgw4 {background:rgba(255,255,255,0.4);}
.bgw5 {background:rgba(255,255,255,0.5);}
.bgw6 {background:rgba(255,255,255,0.6);}
.bgw7 {background:rgba(255,255,255,0.7);}
.bgw8 {background:rgba(255,255,255,0.8);}
.bgw9 {background:rgba(255,255,255,0.9);}
.bgw10 {background:rgba(255,255,255,1);}

.bgk0 {background:rgba(0,0,0,0.05);}
.bgk1 {background:rgba(0,0,0,0.1);}
.bgk2 {background:rgba(0,0,0,0.2);}
.bgk3 {background:rgba(0,0,0,0.3);}
.bgk4 {background:rgba(0,0,0,0.4);}
.bgk5 {background:rgba(0,0,0,0.5);}
.bgk6 {background:rgba(0,0,0,0.6);}
.bgk7 {background:rgba(0,0,0,0.7);}
.bgk8 {background:rgba(0,0,0,0.8);}
.bgk9 {background:rgba(0,0,0,0.9);}

.br2 {border-radius:2px;}
.br3 {border-radius:3px;}
.br4 {border-radius:4px;}
.br5 {border-radius:5px;}
.br6 {border-radius:6px;}
.br8 {border-radius:8px;}
.br10 {border-radius:10px;}
.br12 {border-radius:12px;}
.br16 {border-radius:16px;}
.br100 {border-radius:100%;}

.lh100 {line-height:1em;}
.lh125 {line-height:1.25em;}
.lh135 {line-height:1.35em;}
.lh150 {line-height:1.5em;}
.lh165 {line-height:1.65em;}
.lh175 {line-height:1.75em;}
.lh200 {line-height:2em;}

.mg48 {margin:4px 8px;}
.mg612 {margin:6px 12px;}
.mg816 {margin:8px 16px;}
.mg08 {margin:0 8px;}
.mg012 {margin:0 12px;}
.mg016 {margin:0 16px;}
.mg0 {margin:0px;}

.pd36 {padding:3px 6px;}
.pd48 {padding:4px 8px;} 
.pd510 {padding:5px 10px;}
.pd612 {padding:6px 12px;}
.pd816 {padding:8px 16px;}
.pd0 {padding:0px;}
.pd4 {padding:4px;}
.pd8 {padding:8px;}
.pd10 {padding:10px;}
.pd12 {padding:12px;}
.pd16 {padding:16px;}

.bdrb-dot-gr8 {border-bottom: 2px dotted #888;}
.waku {border: 1px solid var(--waku-color);}
.waku.note {border: 1px solid var(--note-color);}


.bxsha0 { box-shadow: 0 2px 4px rgba(20, 20, 20, 0.2);}
.bxsha1 { box-shadow: 0 3px 5px rgba(20, 20, 20, 0.3);}

.txsha0 { text-shadow:1px 1px 0px rgba(0,0,0,0.4), 0 0 2px rgba(0,0,0,0.4);}
.txsha1 { text-shadow:1px 1px 2px rgba(0,0,0,0.8), 0 0 5px rgba(0,0,0,0.8);}

.ds0 {filter: drop-shadow(0px 1px 3px rgba(0,0,0,0.45));}



/* =============================================================================
   Font-Face
   ========================================================================== */

.serif {
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.sans, .sans-serif {	
	font-family:"游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif, "Takao Pゴシック", "TakaoPGothic", sans;
}	

.meiryo {	
	font-family: Verdana, Helvetica, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif, "Takao Pゴシック", "TakaoPGothic", sans;
}

 /* Google Fonts */

.lobster { font-family: 'Lobster'; }
.roboto { font-family: 'Roboto'; }
.lexend { font-family: 'Lexend Deca'; }
.opensans { font-family: "Open Sans", sans-serif; }
 /*
.ptserif { font-family: 'PT Serif'; }
@font-face {	font-family: 'PT Serif', serif} 
*/
  
/* This is the proper syntax for an @font-face file*/
.sosaicon { font-family: 'SosaIcon'; }
.geosans {font-family: 'Geosans-L';}
.noto {font-family: 'Noto Sans JP', sans-serif, sans;}
.linlib {font-family: 'LinLibertine-RBG';}

.xbold {font-weight:700;}
.xxbold {font-weight:900;}


@font-face {
	font-family: 'SosaIcon';
	src: url('./fonts/SosaIcon.woff') format('woff'),
		url('./fonts/SosaIcon.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Geosans-L';
	src: url('./fonts/GeosansLight.woff') format('woff'),
		 url('./fonts/GeosansLight.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'LinLibertine-RBG';
	src: url('./fonts/LinLibertine_RB_G.woff') format('woff'),
		url('./fonts/LinLibertine_RB_G.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}


/*
.desyrel { font-family: 'Desyrel'; line-height:1.3em;}
@font-face {
	font-family: 'Desyrel';
	src: url('./fonts/Desyrel.woff') format('woff'),
		 url('./fonts/Desyrel.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
*/


/* @font-face {
font-family: 'FontName';
src: url('./fonts/FontName.eot');
src: url('./fonts/FontName.eot?iefix') format('embedded-opentype'),
url('./fonts/FontName.woff') format('woff'),
url('./fonts/FontName.ttf') format('truetype'),
url('./fonts/FontName.svg#FontName') format('svg');
font-weight: normal;
font-style: normal; }
*/