﻿/*
Theme Name: estp2025
Theme URI: /wp-content/themes/estp2025/
Author: Yuichiro Hayashi
Author URI: https://16deza.com/
Description: Brown/Cream, Blue/White, Neat
Version: 1.1.0
License: 
License URI: 
*/

@charset "utf-8";

  /* コーポレートカラー #4c463e    背景 #FFFAEF   */

:root {
	--base-color: #fff;
	--black-color: #161616; /*#111;*/	
	--corp-color: #4c463e; /* rgba(76,70,62,1); */
	--bg-corp: #fffaef; /*#fdf8ed; /*#fffaef; /*rgba(255,250,239,1);;*/ 
	--corp-half: #a6a098;
	--acc-color: #1955b3; /*#4c463e; /*#2e318e; /*#2e64d2; /* #1d64d2 #2e64d2; #29abe2;*/  /*25,85,179*/
	--sub-color: #94d5f1;
	--alt-color: #4bf; /*#54bce7;*/
	--moji-color: var(--black-color); 
	--note-color: #9e8173;
	--link-color: var(--alt-color); /* maroon; /*#800000 */
	--hover-color: #2e64d2; /*#63f; /* bc8f8f   /* indianred; cd5c5c */
	--link-corp: var(--link-color); /*#801616; /* maroon; /*#800000 */
	--hover-corp: var(--hover-color); /*rosybrown; /* bc8f8f   /* indianred; cd5c5c */
	--gold-color: #fb4;	
	--marker-color: rgba(255,0,255,0.3);	
	--bg-dark: var(--acc-color);
	--bg-mid: #999;
	--bg-mlight: #ccc;
	--bg-slight: #f0f3f7;
	--bg-lgray: #f1f0ed;
	--bg-slco: #f2ede3;
	--bg-lico: #eee8df;
	--bg-haco: var(--corp-half);
	--bg-light: #f5f8fb;
	--bg-laqua: rgba(10,171,226,0.15);
	--search-bg-color: var(--sub-color);
	--acc-gra: linear-gradient(90deg, rgba(84,188,231,1) 0%, rgba(41,171,226,1) 100%);		
	--acc-gra-reverse: linear-gradient(90deg, rgba(41,171,226,1) 0%, rgba(84,188,231,1) 100%);	
	--acc-gra-u2d: linear-gradient(180deg, rgba(84,188,231,1) 0%, rgba(41,171,226,1) 100%);		
	--acc-gra-d2u: linear-gradient(180deg, rgba(41,171,226,1) 0%, rgba(84,188,231,1) 100%);	
	--slight-gra: linear-gradient(180deg, rgba(255,255,255,0) 5%,  rgba(25,85,179,0.15) 100%);
	--slight-gra-corp: linear-gradient(180deg, rgba(255,255,255,0) 5%,  rgba(175,175,175,0.15) 100%);
	--radius-btn: 4px;
	--radius-tn: 100%;
	--radius-small: 3px;
	--radius-slight: 2px;	
	--height-header: 90px;
	--eisuuji: 'Lexend Deca', sans-serif;
	--wabun: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif, "Takao Pゴシック", "TakaoPGothic", sans;	
	/*
	--eisuuji: 'Roboto', sans-serif;
	--eisuuji: 'Ubuntu', sans-serif;
	--marugo:	'Zen Maru Gothic', 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'ＭＳ Ｐゴシック', sans-serif, 'Takao Pゴシック', 'TakaoPGothic', sans;
	--tegaki: 'Desyrel', cursive;	
	*/
}

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

.bg-accent {background:var(--acc-color);}
.bg-acc-gra {background:var(--acc-gra);}
.bg-acc-gra-reverse {background:var(--acc-gra-reverse);}

.bg-corp {background:var(--bg-corp);}
.bg-slco {background:var(--bg-slco);}
.bg-lico {background:var(--bg-lico);}
.bg-haco {background:var(--bg-haco);}

.bg-slight {background:var(--bg-slight);}
.bg-slight-gra {background:var(--slight-gra);}


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


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

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

.bg-dark {background:var(--bg-dark);}
.bg-mid {background:var(--bg-mid);}

.bg-light {background:var(--bg-light);}
.bg-slight {background:var(--bg-slight);}
.bg-warm {background:var(--bg-warm);}



.bg-gray {background: #ddd;}
.bg-llgray {background: #f5f5f5;}
.bg-lgray {background: var(--bg-lgray);}
.bg-mgray {background: #aaa;}
.bg-dgray {background: #666;}

.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;
}


.bg-blur {
	background:rgba(255,255,255,0.7);
	-webkit-backdrop-filter: blur(11px);
	backdrop-filter: blur(11px);
}
.bg-blur.warm {
	background:rgba(255,238,203,0.7);
	-webkit-backdrop-filter: blur(11px);
	backdrop-filter: blur(11px);
}
.bg-blur.dark {
	background:rgba(55,38,3,0.7);
	-webkit-backdrop-filter: blur(11px);
	backdrop-filter: blur(11px);
}



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

.sans, .sans-serif {	
	font-family:
		"Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif, "Takao Pゴシック", "TakaoPGothic", sans;	
		/*"游ゴシック 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;
}





/* ==========================================================================
   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;}

/*
strong, b {font-weight:900 !important;}
*/

/* iOS Reset -- Default button style  */
input[type="submit"],
input[type="reset"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


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

html {font-size:17px; max-width:100vw; height: -webkit-fill-available; overflow:auto;}
body {
	font-family: 
	"Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", Verdana, sans-serif, "Takao Pゴシック", "TakaoPGothic", sans;
	/*	
	'Kosugi Maru', 
	'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'ＭＳ Ｐゴシック', sans-serif, 'Takao Pゴシック', 'TakaoPGothic', sans;
	/*
	'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'ＭＳ Ｐゴシック', sans-serif, 'Takao Pゴシック', 'TakaoPGothic', 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-size:17px; font-weight:400; line-height:1.7em; 
	padding-top:0px; 
	/*
	color:var(--moji-color);
	*/
	background:var(--base-color);
	text-align:center; width:100%; max-width:100%; overflow:hidden;
	top:0 !important;
	line-break:loose;
}


body:not(.josh):not(.wooc):not(.single):not(.blog):not(.archive):not(#iframed) {/*background:var(--bg-corp);*/ color:var(--corp-color);}
body:where(.josh,.wooc,.single.,.blog,.archive) {background:var(--acc-color); color:var(--moji-color);}
body#iframed {background:var(--base-color); color:var(--moji-color);}


#main, footer {opacity:0;}

#main {height: 100%; text-align:left; clear:both; background:var(--base-color);}
/*
body:where(.josh,.wooc,.single.,.blog,.archive) #main {	background:var(--base-color);}
body:not(.josh):not(.wooc):not(.single):not(.blog):not(.archive):not(#iframed) #main {background:var(--bg-corp);}
body#iframed #main {background:var(--base-color);}
*/

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



* {
	-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; height: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.15);
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
	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 {height:auto; max-width:100%; vertical-align:middle;}


h2 {
	margin:0.5em 0 1em;
	line-height:1.35em;
	position: relative;
	padding:0;
	font-size:240%;
	font-weight:500;
}
h2.en {
	font-family:var(--eisuuji);
	font-weight:300; font-size:325%; 
	margin:0 0 0.5em;
	letter-spacing:0.25em;
}
h2.jp {
	font-size:300%; font-weight:400;
	letter-spacing:0;
}
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%;}


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

h3 { 
	font-size:162%; font-weight:500;
	line-height:1.5em; 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:207%; font-family:var(--eisuuji); font-weight:normal;}

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



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




a.gold {color:var(--gold-color);}
a.gold:hover {text-shadow:0 0 1px var(--moji-color),0 0 4px var(--gold-color);}

a.white {color:white;}
a.white:hover {color:var(--moji-color); text-shadow:0 0 1px white,0 0 4px white;}


.post-date { font-family:var(--eisuuji); font-weight:300;}



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:not(:has(img)) span.outbound::after,
#page-body article a[target="_blank"]:not([class]):not(:has(img))::after,
#single-body article a[target="_blank"]:not([class]):not(:has(img))::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.025em;
    left: 0;
    content: "S";
    font-family: "SosaIcon";
    font-size: 100%;
}






blockquote {
	/*font-style:italic; */
	font-size:90%;
	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:15px; top:15px;
}
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(13,8,0,0.14), rgba(13,8,0,0.04));
	color: #222; font-family:var(--eisuuji);
	display: block;  float: left; text-align: center;
	margin-top:-0.05em; margin-left: -2.5em; 
	font-size:1em; 
	line-height: 1.55em; 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:var(--eisuuji);
	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;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}
.scrollable-indicator {display:none; margin-top:-1.25em; color:hotpink; font-size:12px; text-align:center;}
.scrollable-indicator.indicate {display:block; width:100%;}
.scrollable-indicator.indicate + .hr-scrollable {margin-top: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;}








#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:5em 0 5.5em; margin:0;
	width:100%; text-align:center;
	background-image:
		/*
		linear-gradient(180deg,rgba(0,49,146,0.5),rgba(0,49,146,0.5)),
		url(./img/bg/btn-contact-josh.jpg);
		/*
		linear-gradient(180deg,rgba(76,70,62,0.66),rgba(76,70,62,0.66)),
		url(./img/bg/btn-contact-corp.jpg);
		*/
		linear-gradient(180deg,rgba(76,70,62,0.3),rgba(76,70,62,0.3)),
		url(./img/bg/office-image-1-sepia-blur.webp);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	color:#fff;
}
:where(.josh,.wooc) #btn-contact {
	background-image:
		linear-gradient(180deg,rgba(0,49,146,0.5),rgba(0,49,146,0.5)),
		url(./img/bg/btn-contact-josh.jpg);
}
.is-pc #btn-contact {	
	background-attachment:fixed;
}
.is-mobile #btn-contact {	
	background-attachment:scroll;
}

#btn-contact .btn.gbtn-white {width:270px;}




#btn-contact .inner:not(.twin) a.btn {margin:1em 0.75em; padding:0.8em 1.5em 0.5em;}
#btn-contact .inner:not(.twin) a.btn img {transform:translateY(-3px);}
#btn-contact .inner:not(.twin) a.btn.xlarge {width:290px;}
#btn-contact .icon,
#btn-contact .banner {position:relative; display:inline-block; margin:0 0.65rem 0 0;}
#btn-contact .icon.bizphone {position:relative; padding-left:1.5em;}
#btn-contact .icon.bizphone::before {
	position:absolute; top:-1.65rem; left:-1rem;
	width: 100%; height: 100%;
	content: "4";
	font-family: 'SosaIcon'; font-weight: normal;
	font-size: 2.75rem;	
}
#btn-contact .icon img,
#btn-contact .banner img {width:auto; height:44px;}
#btn-contact .icon.mail {transform:scale(1.2); transform-origin:50% 33%;} 
#btn-contact .icon.tel img {transform:translateY(-5px);}
#btn-contact .tel-number {font-family:var(--eisuuji); font-size:180%; font-weight:900; letter-spacing:0em;}
#btn-contact .pre-caption {
	font-size:220%; line-height:1.25;
	letter-spacing:0.125em; text-indent:0.125em;
	display:inline-block; margin-bottom:0.5rem;
}
@media (max-width:480px) {
	#btn-contact .pre-caption {font-size:165%; letter-spacing:0; text-indent:0;}
	#btn-contact  a.btn {width:290px; padding-inline:8px; margin-inline:0 !important;}
}
#btn-contact .tel-caption {display:inline-block; margin-top:0.5rem;}


#btn-contact .inner.twin {padding:1em 0 0.5em;}
#btn-contact .inner.twin h2 {color:#fff !important; font-size:1.8rem; margin-bottom:0.75rem;}
#btn-contact .inner.twin .cell {
	padding:2.5rem 0.5rem 1rem;
	background:rgba(255,255,255,0.15);
	backdrop-filter:blur(3px);
	-webkit-backdrop-filter:blur(3px);
}
#btn-contact .inner.twin .icon.cart {width:1.5em; height:auto; transform:translateY(-0.1em);}
#btn-contact .inner.twin .icon.mail {width:1.5em; height:auto; margin-right:0.5rem; transform:translateY(-0.2em) scale(1.4);}
#btn-contact .inner.twin .btn {width:min(calc(100% - 2em),15.5rem); padding-left:0.5rem;}




footer {
	clear:both;
	position:relative;
	left:0; right:0; bottom:0;
	padding:3.5em 0 1em;
	text-align:center;
	font-size:14px;
	height:auto; min-height:450px;
	height:auto;
}

body:where(.josh,.wooc,.single.,.blog,.archive) footer {background:var(--acc-color); color:#fff;}
body:not(.josh):not(.wooc):not(.single):not(.blog):not(.archive) footer {
	background: url(./img/bg/paper02gs.webp) repeat 0 0;
	color:var(--corp-color);
}
body.is-pc:not(.josh):not(.wooc):not(.single):not(.blog):not(.archive) footer {	background-attachment:fixed;}



@media (hover: hover) {
	footer {background-attachment:fixed;}
}

#footer-logo {margin:1em 0 1em; text-align:left;}
#footer-logo img.site-logo {display:block; width:auto; height:50px; margin:0;}
#footer-logo img.site-logo-ja {display:block; width:auto; height:24px;  margin:1em 0 1.25em;}

@media (hover: hover) {
	footer img:is(.site-logo,.site-logo-ja,.site-banner) {transition:all 0.22s ease-in-out 0s;}
	footer img:is(.site-logo,.site-logo-ja,.site-banner):hover {filter:saturate(120%) drop-shadow( 0 0 5px rgba(255,255,255,0.5) ); transition:all 0.11s ease-in-out 0s;}
}


footer ul {padding:0 !important; margin:0.75em auto; text-align:left;}
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-weight:500;
}


footer ul li a {
	display:inline-block; width:auto; height:100%;
	font-feature-settings : "pkna";
}

body:where(.josh,.wooc,.single.,.blog,.archive) footer ul li a {color:#fff;}
body:not(.josh):not(.wooc):not(.single):not(.blog):not(.archive) footer ul li a {color:var(--corp-color);}

@media (hover: hover) {
	body:where(.josh,.wooc,.single.,.blog,.archive) footer ul li a:hover {
		color:#fff !important;
		text-shadow: 0 0 1px #111, 0 0 2px #fff, 0 0 6px #fff;
		transition:all 0.11s ease-in-out 0s;
	}	
	body:not(.josh):not(.wooc):not(.single):not(.blog):not(.archive) footer ul li a:hover {
		color:var(--moji-color) !important;
		text-shadow: 0 0 1px #4bf, 0 0 2px #4bf, 0 0 6px #4bf;
		transition:all 0.11s ease-in-out 0s;
	}	
}


footer ul.search-bar {margin:0 0 3.5em;}
footer .searchform div {margin:0; width:auto; max-width:190px;}


footer ul.external-link .icon {width:32px; height:auto; margin-right:0.65rem;}
footer ul.external-link .icon.access {width:36px; margin-left:-2px; margin-right:0.5rem;} 

#footer-address {text-align:left;}
#footer-address address {margin:0; font-style:normal; font-size:0.885rem;} 
body:where(.josh,.wooc,.single.,.blog,.archive) #footer-address address  {color:#fff;}
body:not(.josh):not(.wooc):not(.single):not(.blog):not(.archive) #footer-address address {color:var(--corp-color);}
#footer-address span.ib {margin-right:1em;}

#footer-banner {margin:2em 0 1em; text-align:left;}
#footer-banner a {display:inline-block; margin:2em 4em 2em 0; vertical-align:middle;}
#footer-banner img.site-banner.ec-site {width:203px; height:auto;}
#footer-banner img.site-logo.brand {width:100px; height:auto;}
#footer-banner img.site-banner.brand {width:204px; height:auto;}

@media (max-width:768px) {
	#footer-banner {text-align:center;}
	#footer-banner a {margin:2em;}
}


#footer-sns-icons {width:100%;}
footer ul.sns-link {margin:0 auto; 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:32px; transition:all .14s linear 0s;} */
footer ul li a img, footer img.sns-icon { width:auto; height:32px; transition:all .14s linear 0s;} /* sns icons etc */
footer ul li a img, footer img.sns-icon.twitter-x {height:29px;}
@media (hover: hover) {
	footer ul li a img:hover, 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;	
}


body:where(.josh,.wooc,.single.,.blog,.archive) footer ul.navi-sub li a {border-bottom: 1px dotted #fff;}
body:not(.josh):not(.wooc):not(.single):not(.blog):not(.archive) footer ul.navi-sub li a {border-bottom: 1px dotted var(--corp-color);}
@media (hover: hover) {
	body:where(.josh,.wooc,.single.,.blog,.archive) footer ul.navi-sub li a:hover {border-bottom: 1px dashed #fff;}	
	body:not(.josh):not(.wooc):not(.single):not(.blog):not(.archive) footer ul.navi-sub li a:hover {border-bottom: 1px dashed var(--corp-color);}
}


#copyright {color:#fff; margin:2.5rem auto 1rem; font-weight:300;}
body:where(.josh,.wooc,.single.,.blog,.archive) #copyright {color:#fff;}
body:not(.josh):not(.wooc):not(.single):not(.blog):not(.archive) #copyright {color:var(--corp-color);}


table {
	clear:both;
	text-align:left;
	margin:16px 0px; 
	word-break:normal;/*break-word;/*break-all;*/
	-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)
}
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 rgba(0,0,0,0.2);}
th.nowrap {white-space:norwap;} 
td { border-bottom:1px solid rgba(0,0,0,0.2);}
td.nobdr {border:none;}

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




@media only screen and (max-width: 480px) { 
	table {width: 100%; margin: 8px auto; padding: 0;}
	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;}
span.note  {display:inline-block;}
.pink-note {font-size:0.8em; color:hotpink;}
.dred-note {font-size:0.8em; color:crimson;}


.marker {box-shadow:0 -0.4em 0 0 var(--marker-color) inset;}
.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(245,63,245,0.45) inset;}
.marker-leaf { box-shadow:0 -0.4em 0 0 rgba(114,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.k0 {background:rgba(0,0,0,0.05);}
.kakomi.waku {border:1px solid #ededed;} 



#rewind { 
	display:none; position:fixed;
	bottom:10px; right:10px;
	width:3.25em; height:3.25em;
     background:rgba(100,100,100,0.35);
    cursor: pointer;
    border-radius: 100%;
	z-index:8;
}
#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:9;
}


/* =============================================================================
   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 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, #blog-home .solo {max-width:800px; margin:auto;}
.type--item #single-body .solo {max-width:1280px;}

#sub-column {margin:auto;}
.post article {text-align:left;}

#appendix {margin:0 auto; padding:3em 0 3em;  background: url(./img/bg/paper02gs.webp) repeat 0 0;}
.is-pc #appendix {background-attachment:fixed;}
.is-mobile #appendix {background-attachment:scroll;}
/*
body:where(.josh,.wooc,.single.,.blog,.archive) #appendix {background:var(--bg-slight);}
body:not(.josh):not(.wooc):not(.single):not(.blog):not(.archive) #appendix {background:var(--bg-slco);}
*/

.single.type--post #see-also {	margin:0 auto; padding:1em 0 3em;}
.single.type--post #see-also + #cats-tags {background:rgba(80,60,30,0.08);  padding:3em 0 3em; margin-bottom:-3em;}


#appendix h2 {font-size:2.5rem; color:var(--acc-color);}
/*
body:where(.josh,.wooc,.single.,.blog,.archive) #appendix h2 {color:var(--acc-color);}
body:not(.josh):not(.wooc):not(.single):not(.blog):not(.archive) #appendix h2 {color:var(--corp-color);}
*/
#appendix a {color:var(--moji-color) !important;}
@media (hover: hover) {
	#appendix a:hover {text-shadow:0 0 2px var(--acc-color), 0 0 6px var(--sub-color);}
	#see-also  a:hover {text-shadow:none;}
}
:is(.blog-home, .archive, .single) #appendix h2 {
	font-size:215%; font-weight:200; letter-spacing:0.2em;
}
@media (max-width:480px) {
	#appendix h2 {font-size:192.5%;}
}



#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:1.5rem; letter-spacing:0;} 
#sub-column th {width:120px;}
#sub-column td {width:auto;}


#appendix #sidebar-inner {text-align:left;}
#appendix .blog-cat-list {padding-left:0;}
#appendix .blog-cat-list li {display:inline-block; text-align:center; margin:0.75em 1em; color:#999;}

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

.searchform div {display:flex; max-width:220px; border:1px solid #ccc; overflow:hidden; margin:0 0 0 1em; border-radius:5px; }
.searchform div input#s {width:calc(100% - 40px); height:36px !important; padding-left:1em; border:none !important; border-radius:0; background:rgba(255,255,255,0.65) !important;}
.searchform div input#s:focus {background:#fff !important;}
.searchform div input#searchsubmit {
	width:40px; height:36px !important; margin:0 !important; padding:6px 12px; border:none !important;
	background:var(--search-bg-color) url(./img/icon/search-wh.svg) no-repeat 0 0; 
	background-size:contain; color:transparent;
	transition:all 0.0s linear 0s;
	border-radius:0;
	cursor:pointer;
}
.searchform div input#searchsubmit:hover {
	filter:saturate(175%);
}

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





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

.mara {margin:auto !important;}
.lim88 {max-width:52em;}
.lim80 {max-width:47em;}
.lim77 {max-width:46em;}
.lim70 {max-width:42em;}
.lim66 {max-width:39em;}
.lim60 {max-width:36em;}
.lim55 {max-width:33em;}
.lim50 {max-width:30em;}
.lim48 {max-width:29em;}
.lim44 {max-width:26em;}
.lim40 {max-width:24em;}
.lim36 {max-width:22em;}
.lim33 {max-width:20em;}
.lim30 {max-width:17.7em;}
.lim28 {max-width:16.5em;}
.lim26 {max-width:15.3em;}
.lim24 {max-width:14.2em;}
.lim22 {max-width:13.0em;}
.lim20 {max-width:11.8em;}




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


#archive-columns-wrapper {padding:0;}
@media (max-width:2080px) {
	#archive-columns-wrapper.xxx-wide-container {padding-inline:var(--flex-gap);}
}
@media (max-width:1170px) {
	#archive-columns-wrapper.semi-wide-container {padding-inline:calc(var(--flex-gap) / 2);}
}



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

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

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

.single.type--item .post-body,
.single.type--work .post-body {padding:3.5rem 1em;}


.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 {height:auto; max-width:100%;}
.post-body blockquote { padding:40px 20px;}

.post-body a:not([class]) {text-decoration:underline;}
.post-body a:not([class]):hover {text-decoration:none;}
.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 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 h2:is(:not([class]), .wp-block-heading) {
	margin:2.5em 0 0.75em; text-align:left; 
}
.post-body > h2:first-child {margin-top:1.25em;}
.type--item .post-body > h2:first-child { margin-top:1.5rem;}


.blog.single .post-body h2:is(:not([class]), .wp-block-heading) {margin-top:2em;}
.blog.single .post-body .post-meta + h2:is(:not([class]), .wp-block-heading) {margin-top:1.5em;}
.blog.single .post-body .post-meta + h3:is(:not([class]), .wp-block-heading) {margin-top:1.75em;}


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


@media (max-width:480px) {	
	.post-body h2:is(:not([class]), .wp-block-heading) {font-feature-settings:"palt";}
}


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


.archive .reset {padding:2em 0 0;}




body:not(.cart):not(.checkout) .post-body h3 { 
	margin:2.25em 0 0.75em;
	/*border-bottom:2px dotted var(--sub-color); */
	padding-left: 0em;
	margin-top: 2.5em;
	border-bottom: 2px solid;
	border-image: linear-gradient(to right, var(--corp-half) 0%, var(--bg-lico) 75%, rgba(255,255,255,0) 100%);
	border-image-slice: 100%;
	border-image-slice: 1;
}
bodybody:where(.josh,.wooc,.single.,.blog,.archive):not(.cart):not(.checkout) .post-body h3 { 
	border-image: linear-gradient(to right, var(--acc-color) 0%, var(--sub-color) 35%, rgba(255,255,255,0) 100%);
}

.post-body > h3:first-child { margin:1.5em 0 1rem;}
.type--item .post-body > h3:first-child { margin:1.5rem 0 1rem;}

.post-body h3 + :is(p,ul,ol) {margin-top:2rem;}

/*
.fixed-page-post table th {background:rgba(100,200,150,0.15);}
.fixed-page-post table td {background:rgba(255,255,255,0.2);}
*/
.fixed-page-post table th, .fixed-page-post table td { vertical-align:top; padding-top:0.75em; padding-bottom:0.75em; }
.fixed-page-post table h4, .fixed-page-post table p {margin-top:0;}

.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 2rem; 
	/*
	padding:8px 4px; 
	/*border-bottom:2px dotted #888;*/
	padding:0.5em 0;
	border-bottom:1px solid rgba(5,5,5,0.2);
}

.post-meta span.row {display:inline-block; margin:0 16px 0 0;}
.post-meta span.post-date, .post-meta span.modified-date {font-size:1rem; color:#888; }
.post-meta span.author {color:#888;}
.post-meta span.category,
.post-meta span.tags { font-family: 'SosaIcon'; font-size:20px; color:#999; }
.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;}

@media (max-width:480px) {
	.post-meta span.row {display:block;}
}



.related-post-column .rel-one {
	border-radius:0px; text-align:left;
	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; 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;}
.recent-post div.post-tn:hover {/*transform:translateX(6px);*/ 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;}

.post-child th, .post-child td {border:none;} 
.post-child th {width:110px !important; padding:0 10px 0 0;}
.post-child td {
	width:auto !important; padding:10px; text-align:left !important;
	font-weight:400;
}
.post-child .post-tn, 
.post-child .thumb-frame, 
.post-child .no-image {
	display:block; width:100px; height:100px; margin:0; 
	background:rgba(0,0,0,0); overflow:hidden; border-radius:0%;
	transition:all 0.22s ease 0s;
}

.is-pc .post-child .post-tn:hover, 
.is-pc .post-child .thumb-frame:hover, 
.is-pc .post-child .no-image:hover {
	transform:scale(1.025); box-shadow:0 2px 0.75em 2px rgba(0,0,0,0.25); 
	transition:all 0.14s ease 0s;
}

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

.post-child {transition:all 0.35s linear 0s;}
/*
.post-child:hover {background:rgba(0,0,0,0.05); 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;}


#sns-share-btns-lower {padding:0 1%; text-align:center; max-width:760px; }
div.sns-share-btns {text-align:right; padding:0.75em 0;}
img.sns-share-btn {
	width:90px; height:36px; margin:10px 4px; transition:all 0.3s ease-in-out 0s;
	filter:drop-shadow(0 1px 3px rgba(0,0,0,0.25));
}
.is-pc img.sns-share-btn:hover {
	filter:drop-shadow( 0 1px 4px rgba(0,0,0,0.4));
	transform:scale(1.1); transition:all 0.14s ease-in-out 0s;
} 



.browseback {
	width:100%; margin:1.5rem auto 1rem; text-align:center;
	font-family:var(--eisuuji); font-size:1.2em; font-weight:400; letter-spacing:0.2em;
}

.type--machine .browseback { margin:2rem auto 1rem;}



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

#main a.wp-embed-more {color:var(--link-color) !important;}

:is(p, ul, ol):not([class]) + :is(.wp-block-cover, .wp-block-image, .wp-block-gallery, .wp-block-embed) {margin:2rem 0 1.5em;}
:is(.wp-block-cover, .wp-block-image, .wp-block-gallery, .wp-block-embed) + :is(p, ul, ol):not([class]) {margin:2rem 0 1.5em;}


.wp-block-embed figcaption,
.fixed-page-post .wp-block-image figcaption {
	text-align:center; color:#9e8173;
	font-size:0.85rem; 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;}

p + .wp-block-gallery {margin-top:2.25em;}
.wp-block-gallery + p {margin-top:2em;}

.wp-block-image figcaption,
.blocks-gallery-caption {
	text-align:center;
	font-size:0.85rem;
	color:#9e8173; 
	line-height:1.5;
}


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


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


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

.wp-block-table > table {margin:0;}

.wp-block-table:not(.is-style-stripes) > table :is(th,td) {
	background:transparent;
	border-top:none;
	border-right:none;
	border-left:none;
	border-bottom:1px solid #bcbdc5;
}

.wp-block-table.is-style-stripes {border:none !important;}

.wp-block-table thead {border-bottom:2px solid #aaa;} 
.wp-block-table tr > td:first-child {white-space:nowrap; word-break:keep-all;}

/*
:not(.josh):not(.wooc) .wp-block-table.is-style-stripes tbody tr:nth-child(2n+1) {background:var(--bg-lico);}
*/

@media (max-width:480px) {
	.wp-block-table > table {font-size:90%;}
}


.wp-block-embed { margin-bottom: 1em;}
.wp-block-embed.wp-block-embed-youtube {
	position:relative; text-align:center; 
	margin:1.5em auto;
}
.wp-block-embed__wrapper iframe {
	max-width:100%;
	margin:auto;
}
.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe {
	width:100%; height:auto;
	aspect-ratio:16 / 9;
}
.wp-embed-aspect-16-10 .wp-block-embed__wrapper iframe {
	width:100%; height:auto;
	aspect-ratio:16 / 10;
}
.wp-embed-aspect-4-3 .wp-block-embed__wrapper iframe {
	width:100%; height:auto;
	aspect-ratio:4 / 3;
}


.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-file a {display:inline-block;}
.wp-block-file a.wp-block-file__button {display:none;}



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


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	Pagination
*/
.pager {}

.pagination {
	margin:3.5em 0 0;
	clear:both;
	position:relative;
	text-align:center;
	font-family:'Lexend Deca'; font-weight:300
}
 
.pagination span.current, .pagination a  {
	display: inline-block;
	text-align:center;
	width:48px; height:48px;
	font-size:20px; line-height:1.5;
	font-family:'Lexend Deca'; font-weight:300;
	padding-top:9px;
	padding-bottom:8px;
	margin:7px;
	border-radius:100%;
}
 
.pagination a {background:#fff; color:var(--moji-color); border:1px solid var(--moji-color); }
@media (hover: hover) {
	.pagination a:hover,
	.page-numbers a:hover {
		text-shadow:none; color:var(--moji-color); 
		transform: scale(1.133); transition: all 0.1s linear 0s;
	}	
}

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

.pagination span.dot {
	color:var(--moji-color);
	display: inline-block;
	text-align:center;
	width:20px;
	height:48px;
	font-size:20px;
	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: 'Lexend Deca';
	font-weight:200;
}
.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:'Lexend Deca'; line-height:1.5;
	font-weight:200;
	border-radius:100%;
	background:#fff; color:var(--moji-color); border:1px solid var(--moji-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:'Lexend Deca'; line-height:1.5;
	font-weight:200;
	border-radius:100%;
	background:var(--moji-color); color:#fff;
}

.page-numbers.dots {
	color:var(--moji-color);
	display: inline-block;
	text-align:center;
	width:20px;
	height:48px;
	font-size:20px;
	font-weight:200;	
	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$="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;
	margin:1.5em 1.1em 0.5em !important;
    padding: 16px 48px !important;
    color: #fff !important; font-weight:bold;
	border-radius:4px !important;
	border:1px solid rgba(255,255,255,0.5); 
	background:var(--corp-color);
	letter-spacing:0.375em; text-indent:0.375em;
}
.wpcf7-form .wpcf7-submit:hover {
	background:var(--link-color) url(./img/bg/pattern.png); cursor: pointer;
}

.wpcf7 form .wpcf7-response-output {
	font-size: 15px;
	text-align: center;
	margin-left:0 !important;
	margin-right: 1% !important;
}
/*
.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #ffb900;
}
*/


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;
}
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
*/

.gbtn-accent, .gbtn-corp,.gbtn-white, .gbtn-black, .gbtn-variable, .btn-accent, .btn-corp, .btn-alt {
	position:relative; display:inline-block; text-align:center;
	font-weight:500; font-size:115%;
	letter-spacing:0.05em; text-indent:0.05em;
	border-radius:var(--radius-btn);	
}
:is(.gbtn-accent, .gbtn-corp, .gbtn-white, .gbtn-black, .gbtn-variable, .btn-accent, .btn-corp).piano {font-weight:400; font-size:100%;}
:is(.gbtn-accent, .gbtn-corp, .gbtn-white, .gbtn-black, .gbtn-variable, .btn-accent, .btn-corp).in-preparation {opacity:0.3;}

.gbtn-accent {color: var(--acc-color); margin:1em 0; padding:0.75em 1em; border:2px solid var(--acc-color); background:transparent;}
.gbtn-corp {color: var(--corp-color); margin:1em 0; padding:0.75em 1em; border:2px solid var(--corp-color); background:transparent;}
.gbtn-white {color:#fff; margin:1em 0; padding:0.75em 1em; border:2px solid #fff; background:transparent;}
.gbtn-black {color:var(--moji-color); margin:1em 0; padding:0.75em 1em; border:2px solid var(--moji-color); background:transparent;}
.btn-accent {color:#FFF; margin:1em 0; padding:0.75em 1em; border:2px solid transparent; background:var(--acc-color);}
.btn-corp {color:#FFF; margin:1em 0; padding:0.75em 1em; border:2px solid transparent; background:var(--corp-color);}
.btn-alt {color:#FFF; margin:1em 0; padding:0.75em 1em; border:2px solid transparent; background:var(--alt-color);}


.gbtn-accent.piano {border:1.5px solid var(--acc-color);}
.gbtn-corp.piano {border:1.5px solid var(--corp-color);}


.btn-accent.gra {
	background: var(--acc-gra);
	border-bottom: 2px solid transparent;
	border-image: var(--acc-gra);
	border-image-slice: 1;
}

:is(.btn-accent,.btn-corp,.btn-alt,.gbtn-white):not(.main-option):not(.sub-option):not(.anchor-link):not(.btn-round):not(.noarrow)::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;
}

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



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

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


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

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


/* hover-effect::*/
@media (hover: hover) {
	.gbtn-white:hover, .gbtn-white-small:hover {color:#fff; background:rgba(255,255,255,0.2);  text-shadow:none;text-shadow:none;}
	.gbtn-gray:hover {color:#fff; background:rgba(0,0,0,0.3); text-shadow:none;}
	.gbtn-black:hover {color:#fff; background:rgba(0,0,0,0.55); text-shadow:none;}
	.gbtn-dblue:hover {background:rgba(64,70,95,0.3); text-shadow:none;}
	.gbtn-accent:hover {background:rgba(84,188,231,0.2); text-shadow:none; color:var(--acc-color);}
	.gbtn-corp:hover {background:rgba(76,70,62,0.12); text-shadow:none; color:var(--corp-color);}
	.btn-accent:not(.gra):hover, .btn-corp:not(.gra):hover, .btn-alt:not(.gra):hover {filter:saturate(175%);}
	.btn-accent.gra:hover {filter:saturate(175%);}
	.btn-daccent:hover {background:#fff; color:var(--acc-color); border:2px solid var(--acc-color); text-shadow:none;}
	.btn-white:hover {background:var(--acc-color); color:#fff; border:2px solid #fff; text-shadow:none;}
	:is(.btn-accent,.btn-corp,.btn-alt):hover {color:#fff;}
	:is(.btn-accent,.btn-corp,.btn-alt):not(.main-option):not(.sub-option):not(.anchor-link):not(.btn-round):not(.noarrow):hover::after {right: 11px;}
	
	/*
	.btn-accent:hover {color:#111;}
	.btn-white:hover {color:#111;}
	.gbtn-dblue:hover::after {right: 11px;}
	.gbtn-accent:hover::after {right: 11px;}
	.btn-accent:hover::after {right: 11px;}
	*/
}

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;
}
.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, 23.53rem); 
	height:100%; 
	background:rgba(255,255,255,0.65); 
	color:var(--moji-color);
	-webkit-backdrop-filter: blur(8px);	
	backdrop-filter: blur(8px);
	padding:0 0;
	box-shadow: -5px 0px 5px -1px rgba(0,0,0,0.25);
	transform:translateX(17.65rem);
	transition:all 0.5s linear 0s; opacity:0;  z-index:9990;
	pointer-events: none;
}
/*
body:not(.josh):not(.wooc):not(.single):not(.blog):not(.archive) #burger-menu {
	background:rgba(255,250,239,0.65);
	color:var(--corp-color);
}
body:where(.josh,.wooc,.single.,.blog,.archive) #burger-menu {
	background:rgba(255,255,255,0.65); 
	color:var(--moji-color);
}
*/
#burger-menu a:not(.btn) {font-family:'Noto Sans JP', sans-serif, sans; font-weight:700; color:var(--moji-color);}
/*
body:not(.josh):not(.wooc):not(.single):not(.blog):not(.archive) #burger-menu a:not(.btn) {color:var(--corp-color);}
body:where(.josh,.wooc,.single.,.blog,.archive) #burger-menu a:not(.btn) {color:var(--moji-color);}
*/

#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:4rem; height:4rem; margin:0.7rem; padding:auto;
	border-radius:100%;
	cursor:pointer;
	transition:all .3s linear 0s;	
	z-index: 10000;
	mix-blend-mode: difference;
}
#sticker.whiten {
	mix-blend-mode: normal;
	/* filter:drop-shadow( 0 0 2px rgba(0,0,0,0.5) ); */
}

.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:2.5rem; height:auto; margin:auto;
	transition:all 0.55s linear 0s;
}
@media (max-width:480px) {
	#sticker {height:calc( var(--height-header) - 30px ); margin:6px 4px;}
	#sticker .icon-burger {width:2rem;}
	#sticker .inner {padding:0;}
}


#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;
	width: 2.2em; height: 3.562em;
	background:url(./img/icon/batten-close.svg);
	background-repeat:no-repeat; background-position:center center;
	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 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; }

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


#burger-menu .segment {width:80%; max-width:14.5rem; margin:0 auto;}
#burger-menu .segment.contact-btns {margin:0 auto 3em;}
#burger-menu .segment.contact-btns .btn {
	display:inline-block; text-align:center; width:11.2em; height:3.2em; margin:0.5em 0; padding:0.65em 0 0 0;
	font-family:var(--wabun); font-weight:700; font-size:1.1rem;
}
#burger-menu .segment.contact-btns .icon img {width:1.88em; height:auto; transform:translate(-0.45em,-0.1em);}
#burger-menu .segment.contact-btns .icon.line img {transform:translate(-0.4em, 0.05em) scale(1.125); transform-origin:50% 50%;}
#burger-menu .btn-toiawase.line-de {margin-bottom:0;}


#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";
}


.is-pc #burger-menu .segment ul.sns-icons {margin-top:3em; padding-bottom:2em; width:13.65rem; text-align:left;}
#burger-menu .segment ul.sns-icons li {display:inline-block; margin:0 0.85em;}
#burger-menu .segment ul.sns-icons li:first-child {margin-left:0.25em;}

#burger-menu .phone-number {
	font-size:170%; 
	font-family:var(--eisuuji); font-weight:400;
	letter-spacing:0.05em;
}
#burger-menu .phone-number span {display:inline-block;}
#burger-menu .phone-number .tel-icon {
	position:relative;
	display:inline-block;
	width:1.45rem; height:1.55rem;
	margin: 0;
	padding: 3px;
	transform:translateX(-0.235rem);
}
#burger-menu .phone-number .tel-icon::before {
	position:absolute;
	top:0; right:0; bottom:0; left:0;	
	width:100%; height:100%;
	content:url(./img/icon/call-bk16.svg); 
}

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

#burger-menu .segment.bottom-end {padding-bottom:5em;}

#burger-menu .contact-btns .btn {display:inline-block; text-align:center; width:10.7rem; height:3.177rem; margin:0.375em 0; padding:0.5em 0 0; /*border-radius:0rem;*/}
#burger-menu .contact-btns .btn.btn-link img {transform:translateY(-0.118rem);}

#burger-menu .contact-btns .icon img {width: auto; height:2.118rem; margin-right:0.375rem;}
#burger-menu .contact-btns .banner {display:inline-block; text-align:center; width:auto; margin:0 0.125rem 0 0; padding:0;}
#burger-menu .contact-btns .banner img {width: auto; height:1.589rem; margin-top:0; margin-right:0.125rem;}
#burger-menu .contact-btns .btn.btn-hpb .palt {display:inline-block; padding-top:0.15em; font-size:80%;}

.gbtn-line {background:#ffffff; border:2px solid #00c300; color:#00c300 !important;}
.gbtn-mail {background:#ffffff; border:2px solid var(--alt-color); color:var(--alt-color) !important;}
.btn-mail {background:var(--alt-color); border:2px solid var(--alt-color); color:#fff !important;}
.btn-line {background:#00c300; border:2px solid #00c300; color:#fff !important;}







/* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   Media Queries
*/

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

@media (min-width:1400px) {
	html, body {font-size:18px;}
	.container {max-width:61.67em;}
	.semi-wide-container {max-width:71.11em;}
	.wide-container {max-width:77.22em;}
	.x-wide-container {max-width:84.7em;}
	.xx-wide-container {max-width:94.12em;}
	.xxx-wide-container {max-width:116.47em;}
	.lim88 {max-width:56em;}
	.lim80 {max-width:51em;}
	.lim77 {max-width:50em;}
	.lim70 {max-width:46em;}
	.lim66 {max-width:43em;}
	.lim60 {max-width:40em;}
	.lim55 {max-width:36em;}
	.lim50 {max-width:33em;}
	.lim48 {max-width:32em;}
	.lim44 {max-width:29em;}
	.lim40 {max-width:27em;}
	.hr-box.pd-top{padding:5em 0 0;}
	.hr-box.pd-btm, .hr-box.pd-bottom {padding:0 0 5em;}
	.hr-box.pd-both {padding:5em 0;}
	.blog .post-body {max-width:50.55rem;}
	
	
	.single.blog .post-body {max-width:47.5em;}
	/*.fixed-page-post h2:is(:not([class]), .wp-block-heading), */
	/* .post-body h2:is(:not([class]), .wp-block-heading) {margin-left: -1.35em;} */
	
	.fixed-page-post .pd-both h2:first-child, .fixed-page-post .pd-top h2:first-child {margin-top: 0.5em;}
	.fixed-page-post .pd-both h3:first-child, .fixed-page-post .pd-top h3:first-child {margin-top: 1.5em;}
	#single-body #main-column, #blog-home .solo, #blog-meta-lower {	max-width:870px;}
}
@media (min-width:1800px) {
	html, body {font-size:19px;}
}



@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;
	}	

	.push-to-call {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:-1.75em; 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;}


}
   


@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 (min-width: 900px) {

	.over900 {display:block;}
	.under899 {display:none;}

}

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

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

	.over900 {display:none;}
	.under899 {display:block;}
	
	.rel-one {width:47%; margin-right:1%; margin-left:1.5%;}
	
}


@media (hover: hover) {
	
	.hover-zoom {transition:all 0.33s ease-in-out 0s;}
	.hover-zoom:hover {transform:scale(1.025); transition:all 0.14s ease-in-out 0s;}
	.hover-shrink {transition:all 0.26s ease-in-out 0s;}
	.hover-shrink:hover {transform:scale(0.975); transition:all 0.1s ease-in-out 0s;}


}

@media (min-width:769px) and (max-width:1077px) {
	footer ul li {font-size:90%;}
	footer .one-third.pd-around {padding-left:0;}
}

/* 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;
	}

}

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

}

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

	.smptbl {display:block;}
	.smptbl.ib, br.smptbl {display:inline-block !important;}

	.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;}	

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


	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 auto;}
	#footer-logo img.site-logo-ja {margin:1em auto;}
	
	footer ul {text-align:center; margin-bottom:3em; padding-left:0 !important;}
	
	footer ul.search-bar {margin:0 auto 3.5em;}
	footer ul.search-bar li {text-align:center;}
	footer ul.search-bar li .searchform  {display:inline-block; margin:auto; width:210px;}
	footer .searchform div {max-width:210px;}

	#footer-address address {margin:1em auto 2.5em; text-align:center;}

	.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;}	

	#home-banner-menu div img { float:left; margin-right: 16px;} 

}

@media only screen and (min-width: 640px) and (max-width: 768px){

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

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


@media only screen and (min-width: 601px) and (max-width: 768px){
	
	footer ul.external-link {text-align:center;}
	footer ul.external-link li {display:inline-block; margin: 1rem 1.5rem; vertical-align:middle;}

	.post-body h2:is(:not([class]), .wp-block-heading) { font-size:clamp(210%,6vmin,250%); letter-spacing:0.1; line-height:1.35;}
	.post-body h3:not([class]) {font-size:clamp(150%,4vmin,180%); letter-spacing:0.1; line-height:1.35;}

}


@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){

}	
@media only screen and (max-width: 599px) {
	
	footer {padding-bottom:77px;}
	

	.pnkz {margin:0; padding:0.5em 0.5rem 1.5em;}
	.rel-one {width:100%;}
	.wp-block-column {margin-bottom:2em !important;}
	.wp-block-columns {margin-bottom:0 !important;}
	.post-body h2:is(:not([class]), .wp-block-heading){ font-size:192.5%; letter-spacing:0; line-height:1.35;}
	.post-body h3:not([class]) { font-size:145%; letter-spacing:0; line-height:1.35; font-weight:bold; font-feature-settings:"palt";}

}


/* 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;}
	.tblonly.ib, .tblpc.ib, br.tblonly, br.tblpc {display:inline-block !important;}

	footer ul.navi-main {margin:0;}
	footer ul.navi-main li {display:inline-block; margin:1.25rem;}
	footer ul.external-link {max-width:220px; margin:auto;}
}


@media (max-width:530px) {
	#footer-logo img.site-logo {height:40px; transform:translateX(1em);}
}



/* Mobile Portrait Size to Mobile Landscape Size */
@media (max-width: 480px) {
	
	.pconly, .tblonly, .tblpc {display:none;}
	.smponly {display:block;}
	.smponly.ib, br.smponly {display:inline-block !important;}
	
	.spalt {font-feature-settings:"palt";}
	
	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 .logo-burger-menu {width: 180px; height: auto;}
	
	#burger-menu .segment:last-child {margin: 0 auto 3em;}	
	
	
	h2 {line-height:1.65em; font-size:200%;}
	h2.jp {font-size:200%; letter-spacing:0.125em;}
	
	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;}



	
	#rewind {
		display:none !important;
		padding: 2px 6px 8px;
		right:calc(2px + 4px); bottom:calc(2px + 8px);
	}


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


	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.navi-main.first {margin-bottom:0;}
	footer ul.navi-main.second {margin-top:0;}	
	footer ul.navi-main.second li:first-child {border-top:none;}
	footer ul.navi-sub {margin:1em auto; padding:0; text-align:center;}
	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(--link-color);	border-top:2px solid var(--link-color);
		transform:rotate(45deg);
		transition:all 0.14s linear 0s;
	}
	#footer-address address {font-size:0.8rem;}

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


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

	
}



@media (max-width:340px) {
	
	#sticker-bottom .tel-text {
		padding:0.9rem 0.25rem;
		height:54px;  font-size:90%;
		font-feature-settings:"palt";
	}		

}
	


/* Mobile Vertical Long Type Like iPhoneX */
/*
@media (max-width: 480px) and (min-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;}
.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 rgba(0,0,0,0.2);}

.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
   ========================================================================== */


 /* Google Fonts */


.rsans { font-family: 'Racing Sans One'; }
.lexend { font-family: 'Lexend Deca', sans-serif; }
/*

@font-face {	font-family: 'Racing Sans One', sans-serif;} 

.roboto { font-family: 'Roboto', sans-serif; }
@font-face {	font-family: 'Roboto', sans-serif;} 

@font-face {	font-family: 'Lexend Deca', 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'; }
.desyrel { font-family: 'Desyrel'; line-height:1.3em;}
.noto {font-family: 'Noto Sans JP', sans-serif;}

.xxfine {font-weight:200;}
.xfine {font-weight:300;}
.fine {font-weight:400;}
.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: 'Desyrel';
    src: url('./fonts/Desyrel.woff') format('woff'),
         url('./fonts/Desyrel.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
.geosans {font-family: 'Geosans-L';}
@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;
}

.linlib {font-family: 'LinLibertine-RBG';}
@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;
}
*/


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