﻿/*
Theme Name: ncab2025
Theme URI: /wp-content/themes/ncab2025/
Author: Yuichiro Hayashi
Author URI: https://16deza.com/
Description: White, Black, Aqua
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) 
*/

:root {
	--logo-color: #161616; 
	--acc-color: #255677; /* rgb(37,86,119) */
	--sub-color: #00a99d; /* rgb(0,169,157) */
	--sub-light: #99ddd8; /* rgba(153,221,216) */
	--black-color:#161616;
	--moji-color: var(--acc-color); 
	--note-color: hotpink; /*#9e8173;*/
	--caption-color: rgba(37,86,119,0.6);
	--link-color: var(--sub-color);
	--hover-color: #4bf; 
	--bg-acc: var(--acc-color);	
	--bg-sub: var(--sub-color);	
	--bg-dark: #505050;
	--bg-mid: #f5f5f5;
	--bg-slight: #f0f3f7;
	--bg-light: #f5f8fb;
	--bg-base: #FFFFFF;
	--bg-option: #e0e5ea;
	
	--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%);	
	
	--sub-gra-u2d: linear-gradient(180deg, var(--sub-color) 15%, var(--sub-light) 85%);	
	
	--gra-translu: linear-gradient(90deg, rgb(37,86,119,0.9) 0%, rgb(0,169,157,0.9) 100%);	
	--acc-translu: rgba(37,86,119,0.9);
	--sub-translu: rgba(0,169,157,0.9);
	
	--slight-gra: linear-gradient(180deg, rgba(255,255,255,0) 5%, #f0f3f7 100%);
	
	--radius-btn: 5px;
	--radius-tn: 3px;
	--radius-search: 4px;
	--radius-outer: 7px;
	--radius-waku: 5px;
	--radius-small: 3px;
	--radius-slight: 2px;	
	/* --height-header: 90px; */	
	--eisuuji: 'Open Sans', sans-serif;
	--eisuuji-2: 'Racing Sans One', sans-serif; /*'Caprasimo', serif;*/
	--wabun: 'Noto Sans JP', sans-serif, sans;
	
	--header-height: 100px;
	--header-height-shrinked: 70px;

}


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

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


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


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

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

.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:rgb(247,246,243);/*#f7f4f0;*/}
.bg-awhite {background:#fdf6ee; /*antiquewhite;*/}

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

.bg-slight-gra {background-image:linear-gradient(180deg, #fff 0%, #f3f3f3 100%);}






.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 {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:400; line-height:1.7em; font-size:17px; padding-top:0px; 
	color:var(--moji-color);
	background:#fff;
	text-align:center; max-width:100vw; overflow:hidden;
	top:0 !important;
}



#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 {height:auto; max-width:100%; vertical-align:middle;}


#main { height: 100%; text-align:left; background:#fff; clear:both;}

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



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



a {color:var(--link-color); text-decoration:none;transition: 0.36s linear all;	}
a .opa, a.opa {opacity:1.0; filter: alpha(opacity=100); transition: 0.36s 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.075em;
    left: 0;
    content: "S";
    font-family: "SosaIcon";
    font-size: 100%;
}


@media (hover: hover) {
	a:not([class]):hover {
		/*color:royalblue;*/
		/*color:var(--hover-color);*/
		color:var(--moji-color);
		text-shadow: 0 0 2px var(--link-color) , 0 0 7px var(--link-color);	
		transition: 0.22s linear all;
	}
	a .opa:hover, a.opa:hover {
		opacity:0.75;
		filter: alpha(opacity=75);
		transition: 0.18s linear all;	
	}
}






blockquote {
	font-style:italic; 
	background:var(--bg-slight);
	margin:1em 0;
	padding:40px 20px;
	border-radius:0 30px 0 30px;
	position: relative;
}
blockquote:before {
    color: var(--caption-color);
    content: "“";
    font-family: serif;
    font-size: 500%;
    line-height: 1em;
    position: absolute;
    left:-10px; top:10px;
}
blockquote:after {
    color: var(--caption-color);
    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: var(--moji-color); 
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	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;
	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;}





 /* 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:5em 0 4.5em; margin:0;
	width:100%; text-align:center;
	color:#fff;
	background-image:
		linear-gradient(0deg,rgba(37,86,119,0.7),rgba(37,86,119,0.7)),
		/*url(./img/photo/service2-iryou-hansou-blur.jpg);*/
		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:240px; margin:1em 0.75em; padding:0.65em 0 0.35em;}
#btn-contact a.btn img {transform:translateY(-3px);}
#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(-5px);}
#btn-contact .tel-number {font-size:280%; letter-spacing:0.1em;}
#btn-contact .tel-caption {font-size:90%;}
*/

#btn-contact .headline {font-size:1.85em; font-weight:500; letter-spacing:0.15em; text-indent:0.15em;}
#btn-contact .btn.gbtn-white {width:14.5em;}
#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 .icon.smartphone img {height:3.5em; margin-right:0.5em; margin-top:-1.25em;}
#btn-contact .tel-number {font-family:var(--eisuuji-2); font-size:280%; font-weight:500; letter-spacing:0.1em;}
#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 .icon.smartphone img {height:3em; margin-right:0.325em; margin-top:-1.125em;}
	#btn-contact .tel-number {font-size:240%; font-weight:500; letter-spacing:0;}

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



footer {
	clear:both;
	position:relative;
	left:0; right:0; bottom:0;
	padding:3em 0;
	text-align:center;
	font-size:0.85em;
	color:var(--moji-color);
	height:auto; min-height:450px;
	background:#fff;
}

footer #footer-logo {margin:1.5em 0 1em;}
footer #footer-logo a.brand {
	position:relative; 
	display:block; 
	width:322px;
	margin:0 auto;
}
footer #footer-logo img.site-logo {
	width:auto; height:72px;
	margin:0;
}
footer #footer-logo a.brand::after {
	position:absolute; bottom:-0.5em; right:0; 
	display:block; width:7em; height:1em; text-align:right;
	content:"(ナスキャブ)"; color:var(--acc-color); font-size:15px; font-weight:700;
}
footer #footer-logo div.company {width:327px; display:flex; justify-content:flex-start; align-items:center; gap:20px; margin:2.5em auto 0;}
footer #footer-logo img.company-logo {display:block; width:auto; height:50px;}
footer #footer-logo span.company-name {display:block; font-size:15px; font-weight:bold; line-height:1; transform:translateY(2px);}

footer #footer-address {text-align:center;}
footer #footer-address address {margin:0; font-style:normal; font-size:0.85rem;} 
footer #footer-address .branch {width:327px; margin:0.75em auto; padding:0 0 0 2em;}
footer #footer-address table :is(th,td) {border:none; vertical-align:top; line-height:1.4; font-size:14px;}
footer #footer-address table th {padding:0.5em 0; width:6.5em; font-weight:bold;}
footer #footer-address table td {padding:0.5em 0;}

@media (min-width:769px) {
	footer #footer-logo a.brand,
	footer #footer-logo div.company,
	footer #footer-address .branch {margin-left:0;}
}



footer ul {padding:0 !important; margin:0.75em auto; text-align:left;}
footer ul li {
    display: block;
    margin:1.5rem 0.5rem;
	letter-spacing:0.1em; text-indent:0em;
	text-align:left;
	font-weight:700;	
}
footer ul li a {
	display:inline-block; width:auto; height:100%; color:var(--moji-color);
	font-feature-settings : "pkna";
}
footer ul li a:hover {
	color:var(--black-color) !important;
	text-shadow: 0 0 2px var(--link-color) , 0 0 10px var(--link-color);	
}


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

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 #footer-bottom {margin-top:4em;}
footer ul.navi-sub {margin:1.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;
}
footer ul.navi-sub li a {border-bottom: 1px dotted var(--moji-color);}
@media (hover: hover) {
	footer ul.navi-sub li a:hover {border-bottom: 1px dashed var(--moji-color);}
}
@media (max-width:480px) {
	footer #footer-address address {font-size:0.95rem;} 
}


#copyright {color:#89a; margin:1.5rem auto 0;}




table {
	clear:both;
	text-align:left;
	margin:0.95em 0; 
	word-break:normal;/*break-word;/*break-all;*/
	font-size:0.88em;
	-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.nowrap {white-space:norwap;} 
td.nobdr {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: 479px) { 
		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:#9e8173; line-height:1.5;}
.pink-note {font-size:0.8em; color:hotpink;}
.dred-note {font-size:0.8em; color:crimson;}



.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-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.k0 {background:rgba(0,0,0,0.05);}
.kakomi.waku {border:1px solid #ededed;} 



#rewind { 
	display:none; position:fixed;
	bottom:10px; right:calc(10px - 2px);
	/*bottom:calc(10px + 74px); right:calc(10px - 2px);*/
	width:3.25em; height:3.25em;
    background:var(--acc-translu); 
    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;
}


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



.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:4em 0 2.5em;}
#single-body + #appendix.of-blog {background:var(--bg-slight);}


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


.blog-cat-list li {display:inline-block;}

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

.searchform div {display:flex; max-width:220px; border:1px solid #bcbfcd; overflow:hidden; margin:auto; border-radius:5px; }
.searchform div input#s {width:calc(100% - 40px); height:36px !important; padding-left:1em; border:none !important; border-radius:0;}
.searchform div input#searchsubmit {
	width:40px; height:36px !important; margin:0 !important; padding:6px 12px; border:none !important; cursor:pointer;
	background:var(--link-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;}
.lim20 {max-width:200px;}
.lim16 {max-width:160px;}
.lim15 {max-width:150px;}




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


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

.single .post-body {background:#fff; width:100%; max-width:810px; 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 a:not([class]) {text-decoration:underline; text-underline-offset:0.2em;}
.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 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 1em; text-align:left; font-feature-settings:"palt";
	font-weight:600; font-size:205%; 
	letter-spacing:0.05em; 
	padding:0.6em 0.4em 0.6em 0.5em; 
	line-height:1.35;
	background:var(--acc-gra-r2l);
	color:#fff;
	/*
	background: #f5f5f5;
	border-left:0.16em solid var(--link-color);
	*/
}
.post-body > h2:first-child {margin-top:1.25em;}
.post-body .wp-block-group h2 { margin-top:2em;}

@media (min-width:1048px) {
	.post-body h2:is(:not([class]), .wp-block-heading) {/*margin-inline:-1.25em; padding-inline:1em; */ position:relative;}
	.post-body h2:is(:not([class]), .wp-block-heading)::before {
		content:""; display:block;
		position:absolute;
		top:0; left:-2em;
		width:2em; height:100%;
		background-image: linear-gradient(110deg, transparent 0%, transparent 50%, var(--sub-color) 51%, var(--sub-color) 100%);	
	}	
	.post-body h2:is(:not([class]), .wp-block-heading)::after {
		content:""; display:block;
		position:absolute;
		top:0; right:-2em;
		width:2em; height:100%;
		background-image: linear-gradient(110deg, var(--acc-color) 0%, var(--acc-color) 50%, transparent 51%, transparent 100%);	
	}	
}



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


#appendix.of-blog h2 { font-size:225%; font-weight:500; opacity:0.9;}


.post-body h3 { 
	margin:2.25em 0 0.6em;
	padding:0 0 0.3em;
	line-height:1.35;
	position:relative;
	overflow:hidden;
}
.post-body h3::before,
.post-body h3::after {
	position: absolute; bottom:0;
	content: "";
}

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


.post-body h3::before {
	left:0;
	width:164px;
	height:3px;
	border-bottom:3px solid var(--sub-color);
}
.post-body h3::after {
	left:164px;
	width:calc(100% - 164px); 
	height:3px;
	border-bottom:3px solid #cdcdcd;
}

.post-body h4 {
	text-decoration:underline;
	text-underline-offset: -0.25em;
	text-decoration-color: rgba(40,209,197,0.44);
	text-decoration-thickness: 0.5em;
	text-decoration-skip-ink: none;
	/*filter:saturate(170%);*/
}




.fixed-page-post table thead th {background:transparent;}
.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 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-size:15px; color:var(--moji-color);}
.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;}

.post-meta .each-term{
	display:inline-block; margin-right:0.5em; margin-bottom:0.25em; padding:0 0.65em 0.1em; line-height:1.9; 
	background:transparent; color:var(--sub-color); 
	border:1px solid var(--sub-color); border-radius:var(--radius-slight);
	text-shadow:none !important;
	transition:all 0.33s linear 0s;
}

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

.single.blog .post-meta + h2 {margin-top:2.5rem;}







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%; margin:3rem auto 3rem; text-align:center;
	font-family:var(--eisuuji); font-size:1.15em; letter-spacing:0.2em;
}
.single.type--post .browseback {margin-bottom:0;}
.taxo .browseback {margin-top:1.5rem;}

@media (max-width:599px) {
	.single.type--post .browseback {margin-top:2rem;}
}




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

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


.wp-block-button__link {
	font-size:1rem !important; font-weight:bold;
	background:var(--acc-color) !important;
	border-radius:0 !important;
	color:#fff !important;
	position:relative;
	padding: 1rem 3rem;
	min-width:240px;
}

.wp-block-button__link::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;
}
.wp-block-button__link:hover::after {right: 11px;}

/*
.wp-block-embed figcaption,
.fixed-page-post .wp-block-image figcaption {
	text-align:center; color:var(--note-color);
	font-size:0.8em; line-height:1.5;
}
*/
.wp-block-image :where(figcaption) {
	text-align:center; color:var(--caption-color);
	font-size:0.8em; 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.has-nested-images figure.wp-block-image:has(figcaption)::before {display:none !important;}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {background:rgba(0,0,0,0.375) !important; height:auto; padding-block:0.375em !important;}



.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 {margin-top:0.5em;} */

.blocks-gallery-caption {
	text-align:center;
	font-size:0.8rem;
	color:var(--caption-color);
	line-height:1.5;
}

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


@media (max-width:768px) {
	.wp-block-columns > .wp-block-column:not(:first-child) {margin-top:-1.5em;}
	.wp-block-columns > .wp-block-column:not(:first-child):has(.wp-block-embed) {margin-top:-2.125em;}}
	.wp-block-columns > .wp-block-column:not(:last-child) {margin-bottom:0 !important;}
}
@media (max-width:599px) {
	.wp-block-columns + h3:is(:not([class]), .wp-block-heading) { margin:1.75em 0 1rem;}
	.wp-block-columns + h2:is(:not([class]), .wp-block-heading) {margin: 1.75em 0 0.75em;}
}


.wp-block-table > table {margin:0;}
.wp-block-table > table :is(th, td) {line-height:1.5; padding-block:0.75em;}
.wp-block-table > table thead th {font-weight:bold; font-size:1.1em;}
.wp-block-table + .wp-block-table {margin-top:2em;}

.wp-block-table.is-style-stripes tbody tr:nth-child(2n+1) {
	background:var(--bg-slight) !important;
}



.wp-block-column figcaption {
	font-size:0.8rem; color:#778; text-align:center;
}
	
.wp-block-embed { margin-bottom: 1em;}
.wp-block-embed-youtube {
	position:relative; text-align:center; 
	margin:1.5em auto 0;
}
.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;}




@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
*/
.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: 14em; 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=date] {width:9em;}
.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: 40em;}
.wpcf7-form input[name^="url"], .wpcf7-form input[name$="url"] {width: 99%; max-width: 40em;}
.wpcf7-form input[name^="age"], .wpcf7-form input[name$="age"] {width: 7em;}

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



.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:0.77em; 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 1em 0.5em !important;
    padding: 0.75em 2.5em !important;
    color: #fff !important; font-weight:bold;
	border-radius:4px !important;
	border:1px solid rgba(255,255,255,0.5); 
	background:var(--acc-color);
	letter-spacing:0.5em; text-indent:0.5em;
}
.wpcf7-form .wpcf7-submit:hover {
	background:#4169e1 url(./img/bg/pattern.png); cursor: pointer;
}
.wpcf7-form .wpcf7-submit:active {
	background:var(--acc-color); filter:saturate(170%);	
}

.wpcf7-response-output {
	font-size: 0.88emx;
	text-align: center;
}

div.wpcf7-validation-errors {
	margin:1em 0 !important;
	padding: 0.6em !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:0.7em; padding:0px 0.4em;
	border-radius:3px; margin:0 0.35em 0.12em 0; background:var(--link-color); vertical-align:7.5%;
	text-shadow:none;
}
span.ninni{
	display:inline-block; color:#fff; font-weight:bold; font-size:0.7em; padding:0px 0.4em;
	border-radius:3px; margin:0 0.35em 0.12em 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
*/
a.btn-ds {box-shadow: 0 3px 5px rgba(20, 20, 20, 0.3);
	transition:all 0.14s linear 0s;
}
a.btn-ds: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:var(--eisuuji); 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:#aaa; margin:1em 0; padding:0.75em 1em; border:1px solid #aaa; 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(0,0,0,0.3); text-shadow:none;}
a.gbtn-black:hover {background:rgba(0,0,0,0.2); 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:rgba(37,86,119,0.2);}

a.gbtn-accent:not(.main-option):not(.sub-option):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(.btn-round):hover::after {right:11px;}


a.gbtn-black {position:relative; display:inline-block; text-align:center; font-weight:700; color:var(--logo-color); margin:1em 0; padding:0.75em 1em; border:2px solid var(--black-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(.noarrow):not(.main-option):not(.sub-option):not(.btn-round)::after,
a.btn-accent:not(.noarrow):not(.main-option):not(.sub-option):not(.btn-round)::after,
a.btn-link:not(.noarrow):not(.main-option):not(.sub-option):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(.noarrow):not(.main-option):not(.sub-option):not(.btn-round):hover::after,
a.btn-accent:not(.noarrow):not(.main-option):not(.sub-option):not(.btn-round):hover::after,
a.btn-link:not(.noarrow):not(.main-option):not(.sub-option):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:rgba(68,187,255,0.85); 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(--logo-color); margin:1em 0; padding:0.75em 1em; border:2px solid #fff; background:#fff; border-radius:var(--radius-btn);}

a.btn-white:hover {color:#fff; background:#aec729; 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.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; 
}

.shrinked {}

header {
    position:fixed; top:0; left:0; width:100%;
	z-index: 10000;	
	height:var(--header-height); 
	transition:all 0.55s ease-in-out 0s;
}
header.shrinked {height:var(--header-height-shrinked); transition:all 0.44s ease-in-out 0s;}

#header-logo {
	position:absolute; top:0; left:0; 
	width:clamp(240px,30vw, 500px); height:100%;
	padding-inline:2em;
	text-align:center;
	background:#fff;
	z-index:50; 
	display:grid; place-items:center;	
}
#header-logo::after {
	content:""; display:block;
	position:absolute;
	top:0; right:-3em;
	width:3em; height:100%;
	background-image: linear-gradient(110deg, #fff 0%, #fff 50%, transparent 51%, transparent 100%);		
	z-index:50; 
}
#header-logo .logo {
	width:auto; height:72px;
	margin:auto;
	transition:all 0.55s ease-in-out 0s;
}
header.shrinked #header-logo .logo {height:54px; transition:all 0.44s ease-in-out 0s;}


#header-navi {
	position:absolute; top:0; right:0; width:calc(100vw - (clamp(240px,30vw, 500px))); height:100%;
	padding-left:2em; padding-right:0.5em;
	background:var(--gra-translu);
	z-index:49; 
	display:grid; place-items:center;	
}
#header-navi::after {
	content:""; display:block;
	position:absolute;
	top:0; left:-3em;
	width:3em; height:100%;
	background-image: linear-gradient(110deg, transparent 0%, transparent 50%, var(--acc-translu) 51%, var(--acc-translu) 100%);	
}
/*#header-navi #navi-horzontal {opacity:0;}*/
#header-navi #navi-horzontal ul {margin:auto; padding-left:3.5em; text-align:center;}
#header-navi #navi-horzontal ul li {display:inline-block; width:auto; margin:0.75em 1em;}
#header-navi #navi-horzontal a {color:#fff; transition:all 0.38s linear 0s;}
#header-navi #navi-horzontal a:hover {color:#fff; text-shadow: 0 0 2px #4bf, 0 0 10px #4bf; transition: 0.22s linear all;}
#header-navi #navi-horzontal ul li:last-child {margin-top:0; margin-bottom:0;}
#header-navi #navi-horzontal ul li:last-child .tel-number {width:auto; height:2.5rem; vertical-align:-60%;}



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

#burger-menu {
	position:fixed; top:0; right:0; bottom:0;
	width:min(100vw, 25rem); /*23.53rem*/
	height:100%; 
	background: rgba(255,255,255,0.95); 
	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;
}
@supports ((backdrop-filter: blur()) or (-webkit-backdrop-filter: blur())) {
	#burger-menu {
		background:rgba(255,255,255,0.65); 
		-webkit-backdrop-filter: blur(8px);	
		backdrop-filter: blur(8px);
	}
}

#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: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;*/ /*exclusion;/* color-burn;*/
}
#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:1279px) {
	:root {
		--header-height: 90px;
		--header-height-shrinked: 70px;
	}
	#header-logo {width:clamp(240px,45vw, 500px);}
	#sticker {width:50px; height:50px; margin:18px 16px;}
	#sticker .icon-burger {margin:auto; }
	header.shrinked #sticker {margin-block:8px;}
}
@media (max-width:768px) {
	#header-logo {width:clamp(240px,60vw, 500px);}	
}
@media (max-width:480px) {
	:root {
		--header-height: 70px;
		--header-height-shrinked: 60px;
	}
	#header-logo {padding:0 0.5em 0 1em;}
	#sticker {width:36px; height:36px; margin:15px 16px;}
	header.shrinked #sticker {margin-block:10px;}
}


#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 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:14.5rem; margin:0 auto;}
#burger-menu .segment.tel {max-width:16.5rem; margin-bottom:3em;}
#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:11.2em; text-align:left;}
#burger-menu .segment ul.sns-icons li {display:inline-block; margin:0 1em 1em 0;}

#burger-menu .phone-number {
	font-size:170%; 
	font-family:var(--eisuuji-2); 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: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:auto; height:5.88em;}
#burger-menu .sns-icon {width:2.12em; height:2.12em;}
#burger-menu .btn-toiawase {width:auto; height:2.83em; margin:0.75rem 0;}

#burger-menu .contact-btns .btn {
	display:inline-block; text-align:center; width:11.2em; height:3.3em; margin:0.5em 0; padding:0.65em 0 0 0;
	font-family:var(--wabun); font-weight:700; font-size:1.1rem;
	
	/*display:inline-block; text-align:center; width:182px; height:54px; margin:0.375em 0; padding:0.5em 0 0;*/
	border-radius:var(--radius-btn);
}
#burger-menu .contact-btns .btn.btn-link img {transform:translateY(-2px);}

#burger-menu .contact-btns .icon img {width: auto; height:2em; 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.59em; 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 #4bf; color:#4bf !important;}
.btn-mail {background:#4bf; border:2px solid #4bf; color:#fff !important;}
.btn-line {background:#00c300; border:2px solid #00c300; color:#fff !important;}


@media (min-width:1280px) {
	#navi-horzontal {display:block;}
	#navi-burger {display:none;}

	#navi-horzontal #sticky-bar {
		position:fixed; 
		top:0; right:0; left:0;
		width:100%; 
		height:40px;
		z-index:101;
		mix-blend-mode: difference;
		opacity:0;
	}
	#navi-horzontal #sticky-bar ul.traditional-navi {
		display:block;
		position:absolute;
		top:0; right:calc(60px + 1em);
		margin:9px 1em 9px auto;
		padding:0;
		text-align:right;
		transition:all 0.16s linear 0s;
	}
	#navi-horzontal #sticky-bar ul.traditional-navi.invisible {
		opacity:0;
		pointer-events:none;
		transition:all 0.16s linear 0s;	
	}
	#navi-horzontal #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-horzontal #sticky-bar ul.traditional-navi li a {
		color:#fff;
		opacity:0.95;
	}
	#navi-horzontal #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:1279px) {
	#navi-horzontal {display:none;}
	#navi-burger {display:block;}
}





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

@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;}	
	.single .post-body {max-width:50.55rem;}
}
@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;
	}

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

}


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

	.rel-one {width:47%; margin-right:1%; margin-left:1.5%;}
	
}



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

}




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

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


	#burger-menu .menu-body {margin-top:1.25em;}


	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 {text-align:center; margin-bottom:3em; padding-left:0 !important;}
	
	#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;} 

	footer ul.external-link {max-width:220px; margin:auto;}

}

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

	#btn-contact  a.btn {width:220px;}
	

	.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; font-weight:normal;}
	.post-body h3:not([class]) { font-size:145%; letter-spacing:0; line-height:1.35; font-weight:bold; font-feature-settings:"palt";}
	

	.grecaptcha-badge,
	#rewind {display:none !important;}


}


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

	footer ul.navi-main {margin:0;}
	footer ul.navi-main li {display:inline-block; margin:1.25rem;}
}



/* 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 .menu-body {margin-top:2em;}
	#burger-menu .logo-burger-menu {width: 160px; height: auto;}
	
	#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;}
	
	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 {
		padding: 2px 6px 8px;
		right:calc(2px + 4px); bottom:calc(2px + 80px);
	}
	*/


	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-sub {margin:1em auto; padding:0; text-align:center;}
	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(--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;}
	#burger-menu .container {width:100%; margin-top:0; padding-top:0;}
	*/
	ul.glo-navi li {font-size:1.1rem; margin:2em 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;}

.pd-i {padding-inline:1em;}
.pd-i-half {padding-inline:0.5em;}
.pd-i-quarter {padding-inline:0.25em;}
.pd-b {padding-block:1em;}
.pd-b-half {padding-block:0.5em;}
.pd-b-quarter {padding-block:0.25em;}



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

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

.rsans { font-family: 'Racing Sans One'; }
.lexend { font-family: 'Lexend Deca', sans-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;}


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


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