@charset "utf-8";



@media(min-width:1077px) {
	.toppage #common-header {position:relative; background:transparent;}
	.toppage #common-header::before {
		position:absolute; top:1.25em; left:0; right:0; 
		content:""; height:2.5em; width:100vw;
		background:rgba(255,255,255,0.7);
		z-index:-1;
	}
	.toppage #sticker {background:transparent;}
	.toppage #sticker:not(.fixed) .logo {width:auto; margin:0.25em 0 1.25em;}
	#header-navi-btns {margin:0 1em;}
	#header-navi-btns a.btn-slim {
		display:inline-block; width:7em !important; 
		margin:0.25em 0.25em !important; padding:0.125em 0 !important;
		font-size:90%; font-weight:bold;
		text-align:center; font-feature-settings:"palt";
	}
}

#main-visual {
	position:relative;
	top:0; right:0; left:0;
	width:100%; height:105.7vh;
	z-index:0;
}
/*
#main-visual::before {
	position:absolute; top:0; right:0; bottom:0; left:0;
	content:"";
	width:100%; height:100%;
	z-index:11;
	background:rgba(255,0,0,0.5);
}
*/
#mv-midlayer {
	position:absolute; top:0; right:0; bottom:0; left:0;
	width:100%; height:100%;
	background:linear-gradient(-90deg, rgba(41,171,226,0.5) 11.8%, rgba(41,171,226,0.5) 87.55%);
	z-index:4;
}

.toppage h1 {display:inline-block; margin:0;}

.toppage h2.tac {letter-spacing:0.125em; text-indent:0.125em;}

/*
#onslide-logo {
	position:absolute; top:1rem; left:1.5rem; width:auto; height:150px; text-align:left;
	z-index:4; 
}
#onslide-logo a {display:block; text-align:left;}
#onslide-logo .logo {
	width:auto; height:96px;
	margin:0;
}
*/



#onslide-catch {
	display:block;
	position:absolute; top:50%; left:0; right:0; width:100%;
	text-align:center; 
	z-index:4; 
	transform:translateY(-50%);
	/*margin-top:-120px;*/
}
#onslide-catch .inner {
	width:100%; max-width:1680px; margin:auto; padding:4rem;
	text-align:left;
}
#onslide-catch span {
	display:inline-block;
	color:#fff;
	font-family:'Noto Sans JP', sans-serif, sans;
	font-weight:900; font-feature-settings:"palt";
	text-shadow: 
		0 0 2px var(--sub-color), -1px -1px 1px var(--sub-color), 
		1px -1px 1px var(--sub-color), -1px 1px 1px var(--sub-color), 
		1px 1px 1px var(--sub-color), -1px -1px 2px var(--sub-color), 
		1px -1px 2px var(--sub-color), -1px 1px 2px var(--sub-color),
		1px 1px 2px var(--sub-color);
	font-size:2.75rem; margin:1.25rem 0; padding:0; 
}


#onslide-info {
	position:absolute; bottom:0; left:0; right:0; width:100%; height:var(--header-height);
	padding-inline:2em;
	background:var(--gra-translu);
	display:grid; place-items:center;
}
#onslide-info * {color:#fff;}
#onslide-info a {text-decoration:underline;}
#onslide-info table {margin:auto; width:auto; }
#onslide-info table :is(th,td) {border:none; background:transparent; vertical-align:top;}
#onslide-info table th {width:8.5em;}
#onslide-info table td {width:auto;}


@media (min-width:1600px) {

}

@media (min-width:1580px) {
	#main-visual {max-height:min(105.7vw, 1024px);}
}

@media (max-width:1579px) {

}

@media (max-width:1169px) {
	.toppage h1 {font-size:14px; top:8px;}
	#onslide-catch span {font-size: 2.5em;}
}

@media (min-width:1077px) and (max-width:1579px) {
	#main-visual {max-height:min(105.7vw, 924px);}
}
@media (max-width:1076px) {
	#main-visual {max-height:min(105.7vw,864px);}
	#onslide-catch .inner {padding:2.5rem 3rem;}
	#onslide-catch span {margin:0.35em 0; padding:0; font-size:clamp(2.2rem,5.8vmin,2.5em);}
}
@media (max-width:899px) {

}
@media (max-width:800px) {
	#main-visual {max-height:min(100vmin, 800px);}
	#onslide-catch .inner {padding:2rem;}
	#onslide-catch span {margin:0.35em 0; padding:0; font-size:5.8vmin; line-height:1.15;}
}
@media (min-width:769px) {
	.onslide-catch:hover {opacity:0.7; transition:all 0.14s linear 0s;}
}
@media (max-width:768px) {
	#onslide-catch span {margin:0.35em 0; padding:0; font-size: 5.25vmin;}
}
@media (max-width:600px) {
	#main-visual {max-height:max(120vmin, 700px);}
	.toppage h1 {font-size:13px; top:2px;}
	#onslide-logo {width:max(60vw, 400px);}
	#onslide-logo .logo {height:120px;}
	#onslide-catch span {margin:0.35em 0; padding:0; font-size:5.5vmin;}
}
@media (max-width:480px) {
	#main-visual {max-height:max(145svmin, 500px);}
	.toppage h1 {font-size:12px; top:2px;}	
	#onslide-logo {width:max(66vw, 200px);}
	#onslide-logo .logo {height:100px;}
	#onslide-catch .inner {padding:1rem;}
	#onslide-catch span {margin:0.35em 0; padding:0; font-size:6.5vmin; line-height:1;}
	.onslide-catch {
		position:absolute; bottom:0; right:0; left:0; margin:auto; 
		width:100%; max-width:100%; height:auto; min-height:120px;
		padding:1.5em; text-align:left;
		z-index:0;
	}
	#onslide-info {height:auto;}
	#onslide-info .inner {padding:0.75rem;}
	#onslide-info table :is(th,td) {display:block; line-height:1.5;}
	#onslide-info table th {width:auto; padding:1em 1em 0 0; /*-bottom:0;*/}		
	#onslide-info table td {width:auto; padding:0.25em 0.25em 1em 1em; /*-top:0;*/}		
}
@media (max-width:359px) {
	#main-visual {max-height:max(125vmin, 30px);}
}

	


/* + - + - + - + - + - + - + - + - + - +   swiper  + - + - + - + - + - + - + - + - + - + - +*/

.swiper-slide {display:inline-block; height:100% !important; margin:0; text-align:center;}
.swiper-slide img { width:100%; margin:0 auto;} 

.swiper-button-prev, .swiper-button-next {opacity:1; transition:all 0.3s linear 0s;}
.swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled {opacity:0 !important; transition:all 0.3s linear 0s;}
.swiper-pagination { text-align: right; padding: 5px 0;}
.swiper-pagination-bullet {margin-right:8px;}
.swiper-pagination-switch {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 8px;
	margin: 0 4px;
	background-color: #000;
	border: 1px solid #f4b;/*#188A77;*/
	cursor: pointer;
	transition: all .25s linear;
}
.swiper-active-switch {background-color: #16AC94;}

.swiper-slide > a {display:block; text-align:left;}


.swiper-container {position:relative;}


.swiper-container0 {
	position:absolute; top:0; right:0; bottom:0; left:0;
	width: 100%; height:100%; text-align:center; margin:0 auto;
	overflow:hidden; /*z-index:-2;*/
}
.swiper-container0 .swiper-slide {
	width: 100vw;
	height: 100%; margin:0 auto 0; text-align:center;
	/*z-index:-2;*/
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover !important;
}

#slide0-0 {background:url(./img/photo/slide/0.jpg); background-position:center center;}
#slide0-1 {background:url(./img/photo/slide/1.jpg); background-position:center center;}
#slide0-2 {background:url(./img/photo/slide/2.jpg); background-position:center center;}
#slide0-3 {background:url(./img/photo/slide/3.jpg); background-position:center center;}
#slide0-4 {background:url(./img/photo/slide/4.jpg); background-position:center center;}
#slide0-5 {background:url(./img/photo/slide/5.jpg); background-position:center center;}

/*
		linear-gradient(150deg, rgba(106,220,221,0.8) 10%, rgba(16,190,191,0.7) 50%, rgba(1,130,131,0.9) 90%);
*/





#service-intro {padding:6em 0;}
#service-intro h2 {text-align:center;}
#service-intro h2 :is(img, span) {display:inline-block;}
#service-intro h2 .first-row {color:var(--sub-color); font-size:2.75rem; margin-block:0.25em;}
#service-intro h2 .first-row .icon.stethoscope {width:1.325em;}
#service-intro h2 .first-row .icon.nurse {width:1.25em; margin:-1rem 0.325rem 0.25rem 0.075rem;}
#service-intro h2 .second-row {font-feature-settings:"palt";}
#service-intro h2 .second-row span:first-child {}
#service-intro h2 .second-row .text {font-size:2.45rem;}
#service-intro h2 .second-row .text.sub {font-size:1.2rem;}
#service-intro h2 .second-row .icon.cross {width:0.8em; margin:-0.125em 0.075em 0;}
#service-intro .explanation {margin-block:1em; text-align:center; width:min(100%, 46em); margin-inline:auto;}
#service-intro .explanation .logo-moji {height:1.15em; vertical-align:-12%; margin-right:0.2em;}

#service-intro #to-branch {padding-top:4em;}
/*#service-intro #to-branch .cell {padding-inline:0.5em;}*/
#service-intro .image-and-words .imgframe {
	display:block;
	position:relative;
	width:100%; 
	aspect-ratio:1 / 1;
	overflow:hidden;
	z-index:0;
}
#service-intro .image-and-words .imgframe h3.co-title {
	position:absolute; right:0; bottom:0; 
	width:66.66%; padding:0.5em 1.325em 0.6em 0.5em; 
	margin:0;
	background:var(--sub-translu); color:#fff; 
	text-align:center; line-height:1;
	font-size:1.7rem; font-feature-settings:"palt";	
	z-index:2;
}
#service-intro .image-and-words .imgframe h3.co-title::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-translu) 51%, var(--sub-translu) 100%);
}
#service-intro .image-and-words .imgframe img.photo {
	position:absolute; inset:0; 
	width:100%; 
	aspect-ratio:1 / 1; object-fit:cover;
	z-index:1;
	transition:all 0.33s ease-in-out 0s;
}
#service-intro .image-and-words .caption {text-align:justify; margin-bottom:0.75rem;}
#service-intro .link-btn {text-align:center;}
#service-intro  a.btn.btn-large {max-width:80% !important; margin-inline:auto !important;}

@media (hover: hover) {
	#service-intro .image-and-words .imgframe:hover img.photo {transform:scale(1.05); filter:brightness(120%); transition:all 0.22s ease-in-out 0s;}
}
@media (min-width:901px) and (max-width:1279px) {
	#service-intro .image-and-words .imgframe h3.co-title {font-size:clamp(1.35rem,2.5vw,1.7rem);}
}
@media (max-width:900px) {
	#service-intro #to-branch .cell {max-width:500px; margin-inline:auto;}
	#service-intro #to-branch .cell:not(:last-child) {margin-bottom:5em;}
}
@media (min-width:601px) and  (max-width:768px) {
	#service-intro .image-and-words .imgframe h3.co-title {font-size:clamp(1.35rem,3.5vw,1.7rem);}
}
@media (max-width:600px) {
	#service-intro #to-branch .cell {max-width:480px;}	
}
@media (max-width:480px) {
	#service-intro h2 .first-row {font-size:2.25rem;}	
	#service-intro h2 .second-row .text {font-size:1.85rem;}	
	#service-intro h2 .second-row .text.sub {font-size:1.1rem;}
	#service-intro .explanation {text-align:left;}
}




#system-intro {padding:6em 0 2em; background:var(--sub-gra-u2d); color:#fff;}
#system-intro #staff {margin-bottom:2em;}
#system-intro #staff img.face {width:100%; max-width:160px; border-radius:100%;}
#system-intro #cars :is(.text-box, .image-box) {position:relative; z-index:3;}
#system-intro #cars .left-side .text-box {margin:2.5em 0 2em;}
#system-intro #cars .left-side .text-box .inner {width:auto; max-width:22em; padding-inline:0.7em;}
#system-intro #cars .left-side .text-box ul {transform:translateX(1em);}
#system-intro #cars .left-side .text-box ul li {margin:0.375em;} 
#system-intro #cars .left-side .image-box img {display:block; object-fit:cover;}
#system-intro #cars .left-side .image-box img.pic2 {width:56%; aspect-ratio:16 / 10; margin-right:6%;}
#system-intro #cars .left-side .image-box img.pic3 {width:32%; aspect-ratio:10 / 16; margin-right:6%;}
#system-intro #cars .right-side {position:relative; padding-bottom:5em; z-index:1;} 
#system-intro #cars .right-side::before {
	position:absolute; top:3em; left:-15%;
	width:105%; height:auto; aspect-ratio:11 / 10;
	content:""; background:var(--acc-color); opacity:0.9;
	z-index:0;
}
#system-intro #cars .right-side .image-box img.pic1 {display:block;width:100%; aspect-ratio:16 / 10; object-fit:cover;}
#system-intro #cars .right-side .text-box {padding-inline:clamp(1em,10%,4em);}
#system-intro #cars .right-side .btn-wrapper {text-align:center; transform:translate(-15%,-0.25em);}

@media (min-width:1171px) and (max-width:1500px) {
	#system-intro #cars .right-side .text-box {transform:translateX(-5%);}
	#system-intro #cars .right-side::before {aspect-ratio:20 / 19;}
}
@media (max-width:1170px) {
	#system-intro {padding:6em 0 5em; background:var(--acc-gra-d2u);}
	#system-intro #cars .right-side {padding-bottom:0;}
	#system-intro #cars .right-side::before {background:transparent;}
	#system-intro #cars .right-side .text-box {padding-inline:1em;}
}
@media (min-width:901px) and (max-width:990px) {
	#system-intro #cars .right-side .text-box br:last-child {display:none;}
}
@media (max-width:900px) {
	#system-intro {padding:6em 0 5em; background:var(--acc-gra-d2u);}
	#system-intro #cars .left-side .image-box img {display:inline-block;}
	#system-intro #cars .left-side .image-box img.pic2 {width:100%; margin:0;}
	#system-intro #cars .left-side .image-box img.pic3 {display:none; /*width:31%; margin:0;*/}
	#system-intro #cars .right-side .text-box {padding-inline:clamp(1em,10%,4em);}
	#system-intro #cars .right-side .btn-wrapper {transform:translate(0,-0.25em);}
}
@media (max-width:599px) {
	#system-intro #cars .right-side .text-box {padding-inline:clamp(1em,5%,3em);}
	#system-intro #cars .right-side .text-box br {display:none;}
}


#price-intro {padding:6em 0; background:#fff;}

:where(.price, #price-intro) .example dl {max-width:40em; margin-inline:auto; border:2px solid var(--sub-color); border-radius:0.5em; overflow:hidden;}
:where(.price, #price-intro) .example dl dt {background:var(--sub-color); color:#fff; font-size:1.3em; font-weight:bold;} 
:where(.price, #price-intro) .example dl dd {}
:where(.price, #price-intro) .example .icon:is(.tennin, .tsuuin) {width:11em; margin:1em auto; opacity:0.5;}
@media (max-width:1170px) {
	:where(.price, #price-intro) .example ul li.variable {display:none;}
}
@media (max-width:768px) {
	:where(.price, #price-intro) .example dl {max-width:27em;}
	:where(.price, #price-intro) .example ul {max-width:22em; margin-inline:auto;}	
}



#case-intro {
	padding:5em 0 6.5em;
	background:var(--bg-slight);
}

@media (max-width:900px) {

}





#instagram {
	padding:7em 0; /* clamp(0.5rem,3%,3rem); */
	/*background:url(./img/bg/canvas-light.gif) repeat 0 0;*/
	background:var(--acc-gra-d2u);
	color:#fff;
}
#instagram .icon {width:1.2em; height:1.2em; /*margin-left:-1.2em;*/ margin-right:0.375em; vertical-align:-20%;}
#instagram .inner {width:100%; max-width:600px; margin-inline:auto;}

@media (max-width:768px) {

	#insta-feed {margin-top:1em;}
}
#instagram #sb_instagram {}

#sb_instagram .sb_instagram_header {display:none;}

#sb_instagram div#sbi_images {margin-top:-5px !important; padding:0 !important;}
#sb_instagram div#sbi_images .sbi_item .sbi_photo_wrap {
	padding:5px !important;
}
#sb_instagram div#sbi_images .sbi_item .sbi_photo_wrap a {
	border-radius:none !important;
	overflow:hidden !important;
}
#sb_instagram div#sbi_load {margin-top:0.75rem !important;}


#sb_instagram .sbi_no_avatar .sbi_header_img {background:#aaa !important;}
#sb_instagram a {color:var(--link-color);}
#sb_instagram .sbi_follow_btn a {background:var(--acc-color) !important; border-radius:var(--radius-btn) !important; padding:7px 18px !important;}
#sb_instagram #sbi_load .sbi_load_btn {background:var(--sub-color) !important; border-radius:var(--radius-btn) !important; padding:7px 18px !important;}
@media (hover: hover) {
	#sb_instagram .sbi_follow_btn a:hover {box-shadow: inset 0 0 10px 20px var(--link-color) !important;}
	#sb_instagram #sbi_load .sbi_load_btn:hover {box-shadow: inset 0 0 20px 20px var(--link-color) !important;}	
}



#faq {padding:6em 0; background:#fff;}
#faq dl.q-and-a {
	background:var(--acc-color);
	border:2px solid var(--acc-color);
	border-radius:6px;
}
#faq dl.q-and-a :is(dt, dd) {
	position:relative;
	z-index:1;
}
#faq dl.q-and-a :is(dt, dd) span {display:inline-block;}
#faq dl.q-and-a dt {
	padding:calc(1rem - 2px) 1rem 1rem 5.5rem;
	color:#fff;
	min-height:calc(4.5em - 4px);
	font-size:125%; font-weight:500;
	display:flex; align-items:center; 
}
#faq dl.q-and-a dd {
	padding:1rem 1rem 1rem 5.5rem;
	background:#fff;
	min-height:5.25em;
	border-radius:0 0 4px 4px;
}
#faq dl.q-and-a dt::after {
	content:"Q"; 
	position:absolute; top:1.675rem; left:0.875rem;
	font-family:'Racing Sans One'; font-size:4.75rem;
	color:var(--base-color);
	z-index:2;
	opacity:0.5;
}
#faq dl.q-and-a dd::after {
	content:"A"; 
	position:absolute; top:1.675rem; left:1.25rem;
	font-family:'Racing Sans One'; font-size:4.75rem;
	color:var(--acc-color);
	z-index:2;
	opacity:0.5;
}

@media (max-width:530px) {
	#faq dl.q-and-a dt {
		padding:calc(1rem - 2px) 1rem 1rem 3.5rem;
		font-size:105%;
	}	
	#faq dl.q-and-a dd {
		padding:1rem 1rem 1rem 3.5rem;
	}	
	#faq dl.q-and-a dt::after {
		top:1.35rem; left:0.5rem;
		font-size:3.5rem;
	}
	#faq dl.q-and-a dd::after {
		top:1.5rem; left:0.75rem;
		font-size:3.5rem;
	}
}






#pre-cta {background:linear-gradient(90deg, var(--bg-slight) 50%, var(--sub-color) 50.1%); text-align:center;}
#pre-cta h2 {text-align:center;}
#pre-cta h2+p.caption {text-align:center;}

#pre-cta #soudan {background:var(--bg-slight);}
#pre-cta #yoyaku {background:var(--bg-sub); color:#fff;}

#soudan .image-side {display:grid; place-items:center;}
#soudan .icon.nurse {width:6em; margin-top:4em;}
#soudan .text-side {
	position:relative;
	display:inline-block;
	width:auto; /*calc(100% - 7em);*/
	margin:1.5rem auto;
	padding:1.25em 1.75em;
	background:#fff;
	font-size:1.15em;
	line-height:1.8;
	text-align:justify;
	border-radius:1em;
}	
#soudan .text-side::before {
	position:absolute; bottom:2em; left:-1.5em;
	content:"";
	border:0.8em solid transparent;
	border-right:0.8em solid #fff;
	border-bottom:0.8em solid #fff;
}

#yoyaku .image-side {display:grid; place-items:center;}
#yoyaku .icon.ambulance {width:12em; margin-top:-0.25em;}
#yoyaku .text-side {
	position:relative;
	display:inline-block;
	width:auto; 
	margin:1.5rem auto;
	padding:0;
	line-height:1.5;
	text-align:justify;
}	
#yoyaku .text-side ul {padding-left:3.5em;}
#yoyaku .text-side ul li {
	list-style:none; 
	height: auto; 
	font-size:1.075em; font-weight:500;
	line-height:1.35;
	background: url(./img/icon/chk-navy.svg) no-repeat 0 0;
	background-size:1.75em 1.75em;
	padding: 0.25em 0 0.5em 2.25em;
	margin: 0.325em 0;
}

#pre-cta .inner-cell { 
	position:relative; 
	width:100%; height:100% !important;
	margin:auto; padding:2em 0 1.5em;
}
#pre-cta #soudan .inner-cell {max-width:27em;}
#pre-cta #yoyaku .inner-cell {max-width:36em;}


@media (hover: hover) {
	#pre-cta .imgframe, #pre-cta img.framed-image {transition:all 0.33s ease 0s;}
	#pre-cta .imgframe:hover {background:rgba(0,0,0,0.15); transition:all 0.14s ease 0s;}
	#pre-cta img.framed-image:hover {scale:1.0325; transition:all 0.14s ease 0s;}
}
@media (min-width:1400px) {
	#pre-cta .inner-cell {max-width:31em;}
}
@media (min-width:901px) and (max-width:1199px) {
	#pre-cta h2 {font-size:3.35vw;}
	#soudan .image-side {width:100%;}
	#soudan .icon.nurse {margin-top:0.5em; margin-bottom:1.5em;}
	#soudan .text-side::before {
		bottom:-1.5em; left:4em;
		content:"";
		border:0.8em solid transparent;
		border-right:0.8em solid #fff;
		border-top:0.8em solid #fff;
	}	
	#yoyaku .image-side {width:100%; margin-top:0.75em;}
}
@media only screen and (max-width: 768px) {
	#pre-cta dt {padding:0; font-size:1.1em; line-height:1.35em;}
	#pre-cta dd.caption {font-size:0.8em; margin:1em 0 1.5em;}
}
@media (max-width:480px) {
	#soudan .icon.nurse {margin-top:0.5em; margin-bottom:1.5em;}
	#soudan .text-side::before {
		bottom:-1.5em; left:4em;
		content:"";
		border:0.8em solid transparent;
		border-right:0.8em solid #fff;
		border-top:0.8em solid #fff;
	}	
	#yoyaku .text-side ul {padding-left:0;}	
}





/* ***** ***** ***** ***** ***** ***** 
	Subpage Common 
*/



#page-title {
	position:relative; 
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
	z-index:5;
}


#title-bg-layer {
	position:absolute; top:0; right:0; bottom:0; left:0; width:100%; height:100%;
	content: " ";
	z-index:-1; 
	opacity:1;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px); 
}
@supports not ((backdrop-filter: blur()) or (-webkit-backdrop-filter: blur())) {
	#title-bg-layer {
		background:rgba(140,140,140,0.35) url(./img/bg/pattern-wh.png) repeat 0 0;
	}
}


#page-title-inner {
	position:absolute; top:0; right:0; bottom:0; left:0; 
	width:100%; height:100%; overflow:hidden;
	background-image:
		linear-gradient(0deg,rgba(255,255,255,0.66),rgba(255,255,255,0.66));
		/*
		linear-gradient(0deg,rgba(37,86,119,0.6),rgba(37,86,119,0.6)),
		linear-gradient(0deg,rgba(0,0,0,0.1),rgba(0,0,0,0.1)); 
		/*
		linear-gradient(0deg,rgba(12,12,22,0.6),rgba(12,12,22,0.6)),
		linear-gradient(0deg,rgba(0,0,0,0.1),rgba(0,0,0,0.1)); 
		*/
}


.page-title-sub {
	display:block;
	position:absolute; right:1rem; bottom:0.6rem; 
	margin:auto; text-align:center;
	font-family:var(--eisuuji);
	font-size:2.75em; font-weight:300; letter-spacing:0.125em;
	color:#fff; opacity:1; text-shadow:none; z-index:0;
}
:is(.blog-home,.archive,.cases,.taxo) .page-title-sub {color:var(--bg-slight);}

@media (max-width:800px) {
	.page-title-sub {right:0.5rem; bottom:0.55rem; font-size:2.3em;}
}
@media (max-width:480px) {
	.page-title-sub {right:0.325rem; bottom:0.3rem; font-size:2em;}
}



#page-title {height:calc(17em + var(--header-height));}
#page-title-inner {padding-top:calc(var(--header-height) - 5px);}



@media (min-width: 1078px) {
	#page-title-inner {position:absolute; top:0; right:0; bottom:0; left:0; height:100%;}
	/*	.search #page-title, .taxo #page-title, .error404 #page-title {height:250px;}*/
}
@media (max-width: 1077px) {
	#page-title {height:calc(15em + var(--header-height));}
	/*	.search #page-title, .taxo #page-title, .error404 #page-title {height:220px;}*/
}
@media (max-width: 480px) {
	#page-title {height:calc(12em + var(--header-height));}
	/*.search #page-title, .taxo #page-title, .error404 #page-title {height:200px;}*/
}

#page-title h1 {
	margin:0; padding:0;
	color:var(--moji-color); line-height:1.4em;
	text-align:center;
}

/*.subpage.fixed-page #page-title h1,*/
.subpage #page-title h1 {
	font-size:235%;
	letter-spacing:0.25em; text-indent:0.25em;
	font-weight:500;
}
.subpage:not(.fixed-page) #page-title h1 {
	letter-spacing:0.125em; text-indent:0.125em;
}
.subpage.single #page-title h1 {	font-size:160%;}

h1 span.h1-en-caption {
	display:inline-block; margin-block:-1rem; margin-inline:auto; 
	text-align:center; font-family:var(--eisuuji); font-weight:300; font-size:0.75em; color:rgba(0,30,40,0.3); text-shadow:none; z-index:0;
	letter-spacing:0.125em; padding-left: 0.125em;
}


@media (max-width:800px) {

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

}
@media (max-width:480px) {
	.subpage #page-title-inner h1 {
		padding-left:0.25em;
		font-size:160%; text-align:left; 
		letter-spacing:0.15em;
	}
	.subpage.single.type--post #page-title h1 {	
		padding-left:1em; padding-right:1em;
		font-size:150%; line-height:1.1;
		letter-spacing:0; text-indent:0;
	}

}




.page-std img + p.caption {
	margin:0.5rem 0 1.5rem; padding:0 0.5em;
	font-size:0.85rem; line-height:1.35; text-align:justify;
}


.ancor-link {margin-top:2em;}

.shell h3:not(:first-child) {margin-top:3em;}

.hr.container {margin-top:2.25em; padding-top:2.25em;}




/* **********************************************
　Page has children
*/

#menu-banner {
	background-image:
		linear-gradient(180deg, rgba(255, 255, 255, 1) 5%, rgba(255, 255, 255, 0.5) 22%, rgba(255, 255, 255, 0.25) 60%),
		url(./img/bg/entrance-1pwb.jpg);
	background-position:0 0, 0 center;
	background-repeat:no-repeat, no-repeat;
	background-size:cover, cover;
}
#menu-banner.oya-page {
	padding:0.75em 0 6.5em;
	/* background:#f5f5f5; */
}
#menu-banner.ko-page {
	padding:6.5em 0 6.5em;
	margin-top:-5em;
}
.is-pc #menu-banner {
	background-attachment:scroll, fixed;
}
.is-mobile #menu-banner {
	background-attachment:scroll, scroll;
}


#menu-banner .children-banner {background:#fff; transition:all 0.33s linear 0s;}


#menu-banner dl {display:flex; margin:0; height:100%; min-height:12.95rem; position:relative;}
#menu-banner dl::after {
	content: " ";
	width: 10px;
	height: 10px;
	position: absolute;
	right: 1em;
	top: 50%;
	margin-top: -5px;
	border-right: 2px solid var(--link-color);
	border-top: 2px solid var(--link-color);
	transform: rotate(45deg);
}	
#menu-banner #menu-face dl::after {border-right: 2px solid #aec729; border-top: 2px solid #aec729;}
#menu-banner #menu-etc dl::after {border-right: 2px solid #aaa; border-top: 2px solid #aaa;}
#menu-banner .children-banner .brief-copy {text-shadow:none !important;}
@media (max-width:599px) {
	#menu-banner .children-banner .brief-copy {font-feature-settings:"palt";}
}
@media (hover: hover) {
	#menu-banner .children-banner:hover {transform:scale(1.03); transition:all 0.14s ease 0s; box-shadow:0 2px 10px rgba(0,0,0,0.15);}
}

#menu-banner dl dt.eyecatch {width:40%;}
#menu-banner dl dd.summary {width:60%; padding:0.75em; color:#222;}
#menu-banner .brief-copy {font-size:95%; margin:0.75em 0 0.5em; padding:0 1em 0 0; line-height:1.5;}
#menu-banner .price-info {padding-left:0.5em; font-size:95%; font-weight:bold; line-height:1.7;}
#menu-banner #menu-body .price-info {color:#ef9518;}
#menu-banner #menu-face .price-info {color:#aec729;}
#menu-banner #menu-etc .price-info {color:#aaa;}
	
	
#menu-banner figure.menu-item {
	position: relative; overflow: hidden;
	width:100%; /*min-width:300px;*/
	height:100%; /*min-height:150px;*/
	color:#fff;
	background-size:cover; background-position:center top;
}
#menu-banner figure.menu-item::before{ content:""; display: block; padding-top: 60%;}
#menu-banner h3 {
	position:static;
	margin:0.5rem 0; padding:0em;
	line-height:1.25;
	font-size:170%; font-weight:500; 	
	font-feature-settings:"palt";
}

#menu-banner h3 span {padding:0;}
#menu-banner #menu-body h3 span { box-shadow:0 -0.5em 0 0 rgba(242,170,70,0.6) inset;}
#menu-banner #menu-face h3 span { box-shadow:0 -0.5em 0 0 rgba(210,230,104,0.6) inset;}
#menu-banner #menu-etc h3 span { box-shadow:0 -0.5em 0 0 rgba(150,150,150,0.25) inset;}

@media (min-width:900px) and (max-width:1199px) {
	#menu-banner h3 {font-size:clamp(145%,2.15vw,170%);}
	#menu-banner .brief-copy {font-size:92.5%;}
}

@media (max-width:599px) {
	#menu-banner dl {min-height:160px;}
}
@media (max-width:530px) {
	#menu-banner dl {min-height:140px;}
	#menu-banner dl::after {right: 0.625em;}	
	#menu-banner dl dd.summary {padding:0.75em 1em 0.75em 0.25em;}	
	#menu-banner h3 {font-size:clamp(133%,2.25vw,170%);}
	#menu-banner .brief-copy {font-size:95%;}
	#menu-banner .price-info {padding-left:0; font-size:90%;}
}



/* **********************************************
　.blog-home , archive
*/

:where(.blog-home, .archive) #home-body {padding-bottom:1.5em; background:var(--bg-slight);}




/* **********************************************
　Colomns , Column
*/


.rel-one table {margin:0;}
#appendix.of-teachers .blog-rel th, #appendix.of-teachers .blog-rel td {border:none;} 
#appendix.of-teachers .blog-rel th {width:120px !important; padding:10px;}
#appendix.of-teachers .blog-rel td {width:auto !important; padding:10px; text-align:left !important; color:var(--moji-color) !important;}
#appendix.of-teachers .blog-rel .post-tn, #appendix.of-teachers .blog-rel .thumb-frame {display:block; width:100px; height:100px; margin:4px 2px; background:rgba(0,0,0,0.15); overflow:hidden; border-radius:0%;}
#appendix.of-teachers .blog-rel div.post-tn-100 {width:100px; height:100px; background:rgba(0,0,0,0.2); overflow:hidden; border-radius:0%;}
#appendix.of-teachers .blog-rel div.post-tn-150 {width:150px; height:150px; background:rgba(0,0,0,0.2); overflow:hidden; border-radius:0%;}



.single .related-post {padding:2em 0 3em;}

.single .related-post h2 {
	font-size:225%; font-weight:500;
	color:var(--acc-color); opacity:0.35;
}
.single .related-post  a {}


table.blog-rel {margin:0.5rem 0;}
.single .related-post .blog-rel th, .single .related-post .blog-rel td {border:none;} 
.single .related-post .blog-rel th {width:170px; padding:10px; text-align:center;}
.single .related-post .blog-rel td {width:calc(100% - 170px); padding:10px; text-align:left !important; font-size:90% !important;}
.single .related-post .blog-rel .post-tn, .single .related-post .blog-rel .thumb-frame {display:block; width:150px; height:150px; margin:4px auto; background:rgba(0,0,0,0.15); overflow:hidden; border-radius:var(--radius-btn);}
.single .related-post .blog-rel .post-tn img , .single .related-post .blog-rel .thumb-frame img {height:100%; aspect-ratio:1; object-fit:cover;}
.single .related-post .blog-rel td span:not(.each-cat) {display:block;}
.single .related-post .blog-rel td .post-date {font-size:100%; opacity:0.6;}
.single .related-post .blog-rel td .post-title {font-size:130%; font-weight:700; line-height:1.4; font-feature-settings:"palt";} 
.single .related-post .blog-rel td .post-cats {font-size:82%; font-weight:500; padding:0.75em 0 0.5em;} 
.single .related-post .blog-rel td .each-cat {
	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;
}
.single .related-post .blog-rel td :is(.post-date,.post-title,.post-cats) {color:var(--acc-color); transition:all 0.22s ease 0s;}
.single .related-post .blog-rel td span.each-cat {
}

.single .related-post .each-post {margin:0 0.5em; transition:all 0.35s linear 0s;}
@media (hover: hover) {
	.single .related-post .each-post:hover {background:rgba(30,60,80,0.08); transition:all 0.14s linear 0s; border-radius:var(--radius-outer);}	
	.single .related-post .each-post:hover .blog-rel td :is(.post-date,.post-title,.post-cats) {color:var(--moji-color); transition:all 0.09s linear 0s;}
	.single .related-post .each-post:hover .blog-rel td span.each-cat {background:rgba(255,255,255,0.7); transition:all 0.09s ease 0s;}
}


@media (max-width:900px) {
	.single .related-post .inner {max-width:770px; margin-inline:auto;}
}

@media (max-width:599px) {
	.single .related-post .each-post {margin:0;}
	.single .related-post .blog-rel th {width:25% !important; min-width:115px !important; max-width:115px !important; padding:5px 5px 5px 0;}
	.single .related-post .blog-rel .post-tn, .single .related-post .blog-rel .thumb-frame {width:110px; height:110px;}
	.single .related-post .blog-rel td span.post-date {font-size:100%; padding-bottom:4px;}
	.single .related-post .blog-rel td span.post-title {font-size:123%; line-height:1.35; font-feature-settings:"palt";} 
	.single .related-post .blog-rel td span.post-cats {font-size:85%;} 
	.single .related-post .blog-rel td span.each-cat {margin-right:0.75em; padding:0 0.35em 0.1em; line-height:1.6; margin-right:4px; font-feature-settings:"palt";}
}
@media (max-width:480px) {
	.each-post {margin-inline:0;}
	.single .related-post .blog-rel td span.post-title {font-size:116%; line-height:1.25;}  	
	.single .related-post .blog-rel td span.each-cat {display:none;}
}







/* **********************************************
　Custom Post "item" - Post Card
*/

#items {padding-bottom:3.5em;}

.post-card-wrapper {padding:1.5em 2px;}
.post-card {height:100%;}

.post-card dl {
	height:100%; position:relative;
	padding:0; margin:0 3.5%; 
	box-shadow:none; transition:all 0.33s linear 0s; 
	background: #fff;
	color:var(--moji-color);
	font-feature-settings:"palt";
} 

/*.post-card dt {width:100%; padding:0.75em 1rem;}*/
.post-card dt h3 {margin:0.5em 0 0.125em; color:#fff; font-size:1.55em; letter-spacing:0.25em;}
.post-card dt {width:100%; padding:0.75em 1rem 0.375em; margin:0; font-size:1rem; letter-spacing:0; color:inherit; line-height:1.5;}
.post-card dd {width:100%; padding:0.75em 1rem;}
.post-card dd.post-date {width:100%; padding:1rem 1rem 0; font-size:90%; opacity:0.6;}
.post-card dd.post-date + dt {padding:0.25em 1rem 1.25rem;}
.post-card dd.post-type {width:100%; padding:1rem 1rem 0; font-size:80%; opacity:0.5;}
.post-card dd.post-type + dt {padding:0.25em 1rem 0.75em;}
.post-card dd.excerpt {width:100%; padding:0.75em 1rem; font-size:90%; margin-bottom:1em;}
.post-card dd.eyecatch {position:relative; width:100%; max-width:450px; height:auto;/*200px;*/ background:rgba(243,243,243,1);  overflow:hidden; padding:0; }
.post-card span.imgframe {
	display:block; width:100% !important; min-width:100%; height:auto; margin:0; vertical-align:top; overflow:hidden; 
	background-repeat:no-repeat; background-size:cover; background-position:center 15%;
}
.post-card span.imgframe:after { content:""; display:block; padding-top:100%;}
.post-card dd.eyecatch img {width:auto !important; height:auto !important; vertical-align:middle; margin:0;}
.post-card dd.eyecatch .noimage {position:absolute; top:0; right:0; bottom:0; left:0; margin:0; font-size:28px; text-align:center; padding:2em 0; font-family:'Geosans-L';}

.extend .post-card dl {position:relative; padding-bottom:3em; line-height:1.5;}
.search .extend .post-card dl {padding-bottom:0.5em;}

.post-card dd.taxo-terms {padding-top:0.125rem; padding-bottom:1.125rem; line-height:1.35;}
.post-card dd.taxo-terms .each-term {
	display:inline-block; margin-right:0.25em; padding:0.125em 0.5em 0.125em; 
	border:1px solid var(--sub-color); color:var(--sub-color);
	font-size:62%;
	border-radius:var(--radius-slight);
}
@media (max-width:480px) {
	.keep-half .post-card-wrapper {padding:1em 0 1em;}
	.extend .post-card dl {padding-bottom:2.25em; line-height:1.35;}	
	.post-card dd.academic-bg {font-size:82%;}
}
@media (hover: hover) {
	a:hover .post-card dl {
		transform:scale(1.025); box-shadow:0 2px 1.15em 2px rgba(0,0,0,0.25); transition:all 0.14s linear 0s; 
		background:var(--acc-color); color:#fff; text-shadow:none;
	}
	a:hover .post-card dd.taxo-terms .each-term {
		text-shadow:none;
		border:1px solid rgba(255,255,255,0.88); color:rgba(255,255,255,0.88);
	}
}


.search .post-card dt, 
#appendix .post-card dt {padding-bottom:1.25em !important;}

.post-card dd.staff-spec {padding-top:1rem; padding-bottom:0.25rem;  font-size:1rem;}
.staff-spec div {font-size:0.85em; line-height:1.5; margin:0;}
.post-card dd.staff-spec + dt {padding-top:0 !important; padding-bottom:1rem; font-size:1.2rem !important;}







/* **********************************************
	Cases
*/

:where(.cases, .taxo) #cpt-body {background:var(--bg-slight);}

.teachers #items {padding:2em 0 5em;}

.teachers .post-card dt,
.type--teacher .post-card dt {font-size:1.2rem;}

.spec .profile ul li {list-style: circle;}
.spec h2.hookless {margin:0.75em 0 0.25em;}
.spec h2.hookless span {margin:0 0 0 0.75rem; font-size:1rem; font-weight:normal;}
.spec h2.hookless + p {margin:0 0 1.75rem; padding-left:0.25em; color:#999; font-size:1.1rem; font-weight:300; letter-spacing:0.125em;}
.spec h2.hookless + p + span.teacher-note {display:inline-block; background:rgba(0,0,0,0.05); padding:0.375em 0.75em; font-size:0.9em; line-height:1.25;}

.spec .kamoku ul {padding-left:0.75em;}


@media (max-width:768px) {
	.single.type--teacher .image-side {max-width:500px; margin-inline:auto;}
	.single.type--teacher .text-side {max-width:calc(500px + 3em); margin-inline:auto;}
}
	
.page-std #appendix {padding:4em 0;}
.page-std #appendix h3.taxo-label {margin:1rem 0 2rem;} 
.page-std #appendix .taxo-btn-wrapper {padding-top:1.5rem;}




/* **********************************************
 Page-Menu
*/


.taxo-large-button {
	position:relative; 
	display: flex; align-items: center; justify-content:center;
	width:100%; height:80px; 
	background:#fff; border:1px solid #ddd; 
	box-shadow: 0px 3px 5px rgba(20, 20, 20, 0.3);
	font-feature-settings:"pkna";
	transition:all 0.33s linear 0s;
}
.taxo-large-button:hover { transform:translate(2px,2px); transition:all 0.14s linear 0s;}
.taxo-large-button::after {
	content:" "; width:10px; height:10px;
	position:absolute; right:10px; top:50%; margin-top:-5px;
	border-right:2px solid #4bf;	border-top:2px solid #4bf;
	transform:rotate(45deg);
	transition:all 0.14s linear 0s;
}
.taxo-large-button:hover::after {
	content:" "; width:10px; height:10px;
	position:absolute; right:8px; top:50%; margin-top:-5px;
	border-right:2px solid salmon;	border-top:2px solid salmon;
	transform:rotate(45deg);
	transition:all 0.14s linear 0s;
}
.taxo-large-button span {display:block; margin:auto 1.5em; }

.rel-duo-wrapper {width:100px; height:100px; background:rgba(0,0,0,0.2); border-radius:6px; overflow:hidden;}
.rel-duo-wrapper .yoko {width:100px; height:50px;}
.rel-duo-wrapper .tate {width:50px; height:100px;}
.rel-duo-wrapper .yoko, .rel-duo-wrapper .tate {background-repeat:no-repeat; background-size:cover; background-position:center center;}

img.this-case-photo {width:100% !important; max-width:330px !important;}




.taxo-term-list {
	padding:2em auto; margin-bottom:2em; font-size:125%;
 	font-family:'Noto Sans JP', sans-serif, sans; 
	text-align:center;
}
.taxo-term-list ul {padding-left:0; margin-top:0;}
.taxo-term-list ul li {margin:0 0.5em;}
.taxo-term-list a {
	font-size:0.8em; line-height:1;
	padding:0.35em 0.75em 0.5em; 
	background:#fff;
	border: 1px solid var(--sub-color); 
	color:var(--sub-color);
	border-radius:var(--radius-small);
}
.taxo-term-list  a:hover {
	background:var(--sub-color);
	border:1px solid var(--sub-color);
	color:#fff;
}





/* **********************************************
  Courses
*/
.page-spl #page-body {padding:5em 0 5em;}
.page-spl #page-body h2:first-child {margin-top:1rem;}




/* **********************************************
  About
*/
.about .wp-block-media-text.alignwide.is-stacked-on-mobile figure {text-align:center;}
.about .wp-block-media-text.alignwide.is-stacked-on-mobile figure img {width:100%; max-width:240px; margin:auto;}
.spec th {white-space:nowrap;}

@media only screen and (min-width: 768px) {
	.spec th {width:8em;}
}





/* **********************************************
  Google map
*/
.map-container {text-align:center; width: 100%;}
.map-container iframe{	display: block; pointer-events: none; position: relative;}
.map-container iframe.clicked{pointer-events: auto;}

@media only screen and (min-width: 900px) {
	.map-container iframe {width:100%; height:100%; margin:0; border:none !important;}
	.access .map-container {text-align:center; height:600px;}
}
@media only screen and (max-width: 899px) {
	.map-container iframe {width:96%; height:75vh; max-height:600px; margin:0 2%; border:1px solid #999;}
}





/* **********************************************
   Contact
*/
.contact #page-body {background:var(--slight-gra);}
.contact .post-body .btn-line {padding:0.65rem 2rem 0.5rem; font-size:1.15rem ;line-height:1;}
.contact .post-body .btn-line img {height:40px; margin:0 8px 0 0;}

.contact .wpcf7-form {background:transparent; padding:0;}
.contact .fixed-page-post {max-width:39em; margin:auto; padding-bottom:3em;} 
#contact-form-wrapper {padding-bottom:4em;}

@media (max-width:530px) {
	.contact .post-body .brief-intro br {display:none;}
}


li.chk-xl {
	line-height:1.35em;
	height: auto; font-size:36px;
	list-style:none; 
	background: url(./img/icon/chk.png) no-repeat 0 0;
	background-size:48px 48px;
	padding: 4px 0 6px 1.5em;
	margin: 0.5em 0;
}
li.chk {
	line-height:1.35em;
	height: auto; font-size:120%;
	background: url(./img/icon/chk.png) no-repeat 0 0;
	background-size:1.75em 1.75em;
	padding: 0.25em 0 0.5em 2.25em;
	margin: 0.75em 0;
}




/* *********************************************************************
   privacy-policy / terms-of-service
*/
.privacy-policy .fixed-page-post {max-width:47em; margin:auto;}
.tos .fixed-page-post {max-width:52em; margin:auto;}

.privacy-policy h1 span.h1-en-caption,
.tos h1 span.h1-en-caption {font-size:0.9em;}

.tos .anchor-links {text-align:center;}
.tos .anchor-links.at-top {margin:0 0 3em; }
.tos .anchor-links.at-bottom {margin:3em 0 0; }
.tos .anchor-link {width:11em; margin:0 0.5em 1em;}

.tos .kakomi {margin:3em 0 4.5em; border:1px solid #ccc; border-radius:6px; padding:1em 1em 1em;}

/*

*/
.tos-links {text-align:right;}
.tos-links a {display:inline-block; margin:0.25em 0.5em; font-size:0.75rem; text-decoration:underline;}

a.tos-link {display:inline-block; margin:0.25em 0.5em; padding:0 1rem; font-size:0.85rem; text-decoration:underline;}
a.tos-link:hover {color:var(--hover-color);} 

#policy ol {margin:2em 0;}
#policy ol li {	line-height:1.7em; font-size:20px; margin:1em 0;}







/* ***************************************************************
  Taxonomy -- Common
*/

.taxo-list-wrapper {margin:1em 0; padding:0.5em 1em; font-size:90%;}
.term-list {margin:1em 0; padding-left:1em;}
.term-list li {display:inline-block; margin:0.5em 1.5em 0.5em 0;}





/* ***************************************************************
  Search Result
*/

.search #page-upper {background:var(--bg-slight);}

.hits {margin:0 0.25rem;font-size:0.9rem; font-weight:normal; color:#fff; padding:0.25em 0.75em; background:#bdbdbd; border-radius:3px; font-feature-settings:"palt"; }

.showing {margin:0 0 0 0.5rem; font-size:0.8rem; font-weight:normal; color:#b3b3b3; font-feature-settings:"palt"; }

.bg-ivory .hits-indicator {padding:0.75em 0;}

#not-found {text-align:left;}
#not-found h2 {font-family:'Geosans-L'; font-size:250%; margin-top:0;}
.bg-ivory #not-found h2 {color:#7A0910;}
.options {padding:1em 0;}
.main-option, .sub-option {display:inline-block; margin:1rem 0.5rem !important; width:13em !important; text-align:center !important}
.sub-option .searchform {width:12em; margin:auto;}
.pager {padding:2em 0 3em;}

#search-options {margin: 0 auto; padding: 3em 0; background:var(--bg-option);}



.face-icon {width:25vw; max-width:72px; margin:0.5em !important; border-radius:7px;}
.face-icon.maru {border-radius:100%;}
.face-icon.kaku {border-radius:0%;}


.bubble {display:inline-block; position:relative; padding:1em; border-radius:6px; background:#fff; max-width:555px; margin-top:0.75em !important; margin-bottom:0.75em !important;}
.bubble.to-right::before {position:absolute; left:-32px; bottom:50%; margin-bottom:-16px; content:""; border:16px solid transparent; border-right:16px solid #fff;} 
.bubble.to-left::before {position:absolute; right:-32px; bottom:50%; margin-bottom:-16px;  content:""; border:16px solid transparent; border-left:16px solid #fff;} 
.bubble.bordered {border:1px solid #bababa;} 
.bubble.bordered.to-right::before {position:absolute; left:-32px; bottom:50%; margin-bottom:-16px; content:""; border:16px solid transparent; border-right:16px solid #bababa;} 
.bubble.bordered.to-right::after {position:absolute; left:-31px; bottom:50%; margin-bottom:-16px; content:""; border:16px solid transparent; border-right:16px solid #fff;} 
.bubble.bordered.to-left::before {position:absolute; right:-32px; bottom:50%; margin-bottom:-16px;  content:""; border:16px solid transparent; border-left:16px solid #bababa;} 
.bubble.bordered.to-left::after {position:absolute; right:-31px; bottom:50%; margin-bottom:-16px;  content:""; border:16px solid transparent; border-left:16px solid #fff;} 





/* ****************************************
  fancybox 3
*/


.fancybox-button--close {z-index:99999 !important; background:var(--sub-color) !important;}
.fancybox-slide--iframe .fancybox-content {height:auto; max-height:85vh !important;}

.fancybox-active html {overflow:hidden;}

@media (hover: hover) {
	button.fancybox-button--close:hover {color:#fff !important;}
}
@media (min-width:800px) {
	.fancybox-caption {font-size:1em !important;}
}
@media (max-width:480px) {
	.fancybox-slide--iframe {padding-inline:0.75em !important;}
}

/* Close current fancybox instance with JS
parent.jQuery.fancybox.getInstance().close(); */
.close-current-modal {display:inline-block; cursor:pointer; padding:0.5em 1.25em; border-radius:6px; border:1px solid #888; background:#fff; font-size:0.8em;}






/********/

#loading {
  margin: 80px auto;
  font-size: 8px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(0,169,157,0.32);
  border-right: 1.1em solid rgba(0,169,157,0.32);
  border-bottom: 1.1em solid rgba(0,169,157,0.32);
  border-left: 1.1em solid rgba(0,169,157,1);
  transform: translateZ(0);
  animation: load8 1.1s infinite linear;
}
#loading,
#loading:after {
  border-radius: 50%;
  width: 6.5em;
  height: 6.5em;
}
@keyframes load8 {
  0% { transform: rotate(0deg);}
  100% { transform: rotate(360deg);}
}
#loading{ position:fixed; left:50%; top:40%; margin-left:-3.25em; text-align:center;}



.fuwa-sp {visibility:hidden;}



.powatt {
	animation-fill-mode:both;
	animation-duration:2s;
	animation-name: Powatter;
	visibility: visible !important;
}
@keyframes Powatter {
	0% { opacity: 0; transform: translateY(20px); }
	100% { opacity: 1; transform: translateY(0); }
}

.powatt-short-delay {
	animation-fill-mode:both;
	animation-duration:2s;
	animation-name: Powatter;
	visibility: visible !important;
    animation-delay: 0.8s; 		
}

.powatt-mid-delay {
	animation-fill-mode:both;
	animation-duration:2s;
	animation-name: Powatter;
	visibility: visible !important;
    animation-delay: 1.6s; 		
}

.powatt-mid-delay-2 {
	animation-fill-mode:both;
	animation-duration:2s;
	animation-name: Powatter;
	visibility: visible !important;
    animation-delay: 2.0s; 		
}

.powatt-long-delay {
	animation-fill-mode:both;
	animation-duration:2s;
	animation-name: Powatter;
	visibility: visible !important;
    animation-delay: 2.4s; 		
}

.fuwatt-l2r {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-LtoR;
	visibility: visible !important;
    animation-delay: 0.225s; 			
}
@keyframes Fuwatter-LtoR {
	0% { opacity: 0; transform: translateX(-30px); }
	100% { opacity: 1; transform: translateX(0); }
}
.fuwatt-l2r-nano-delay {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-LtoR;
	visibility: visible !important;
    animation-delay: 0.4s; 			
}
.fuwatt-l2r-short-delay {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-LtoR;
	visibility: visible !important;
    animation-delay: 0.8s; 			
}
.fuwatt-l2r-delay {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-LtoR;
	visibility: visible !important;
    animation-delay: 1.6s; 			
}

.fuwatt-r2l {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-RtoL;
	visibility: visible !important;
    animation-delay: 0.225s; 		
}
@keyframes Fuwatter-RtoL {
	0% { opacity: 0; transform: translateX(30px); }
	100% { opacity: 1; transform: translateX(0); }
}
.fuwatt-r2l-nano-delay {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-RtoL;
	visibility: visible !important;
    animation-delay: 0.4s; 		
}
.fuwatt-r2l-short-delay {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-RtoL;
	visibility: visible !important;
    animation-delay: 0.8s; 		
}
.fuwatt-r2l-delay {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-RtoL;
	visibility: visible !important;
    animation-delay: 1.6s; 		
}



.fuwatt {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter;
	visibility: visible !important;
}
@keyframes Fuwatter {
	0% { opacity: 0; transform: translateY(-20px); }
	100% { opacity: 1; transform: translateY(0); }
}

.fuwatt-short-delay {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-LD;
	visibility: visible !important;
    animation-delay: 0.4s; 	
}
@keyframes Fuwatter-SD {
	0% { opacity: 0; transform: translateY(-20px); }
	100% { opacity: 1; transform: translateY(0); }
}

.fuwatt-mid-delay {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-LD;
	visibility: visible !important;
    animation-delay: 0.8s; 	
}
@keyframes Fuwatter-MD {
	0% { opacity: 0; transform: translateY(-20px); }
	100% { opacity: 1; transform: translateY(0); }
}

.fuwatt-long-delay {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Fuwatter-LD;
	visibility: visible !important;
    animation-delay: 1.2s; 	
}
@keyframes Fuwatter-LD {
	0% { opacity: 0; transform: translateY(-20px); }
	100% { opacity: 1; transform: translateY(0); }
}


.guwatt {
	animation-fill-mode:both;
	animation-duration:1s;
	animation-name: Guwatter;
	visibility: visible !important;
}
@keyframes Guwatter {
	0% { opacity: 0; transform: translateY(40px); }
	100% { opacity: 1; transform: translateY(0); }
}





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


@media only screen and (min-width: 1078px) {
	.subpage-eyecatch {background-repeat:no-repeat; background-attachment:scroll; background-size:cover; background-position:center center;}
}
@media only screen and (max-width: 1077px) {
	.subpage-eyecatch {background-repeat:no-repeat; background-attachment:scroll; background-size:cover; background-position:center 10%;}

	.saru-kao {bottom:10%; right:8.5%; width:80px;}
	.saru-serif {bottom:20%; right:4%; width:115px;}
	
}
@media only screen and (min-width: 996px) {

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

}

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


	.a-area {background:inherit; transition:all 0.5s linear 0s;}
	.a-area.a-pink:hover {color:#d6c; background:rgba(255,221,232,0.4); transition:all 0.34s linear 0s;}
	.a-area.a-blue:hover {color:#00f; background:rgba(81,201,255,0.15); transition:all 0.34s linear 0s;}
}

@media only screen and (max-width: 800px) {
	
	.subpage-eyecatch { background-attachment:scroll; background-size:cover; background-position:center center;}	

	h1 span.blog-post-title {text-align:left !important; line-height:1.5em !important;}
	
}

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

}


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

	#header-inner {height:auto; min-height:100px;}	
	


	
	/* #body-menu etc --- @ front-page, page-menu*/
	.keep-half.smp-waku {border-top:1px solid #ddd; margin-top:1.5em;}
	.keep-half.smp-waku > div { padding:0.5em; } 
	.keep-half.smp-waku > div {border-bottom:1px solid #ddd;}
	.keep-half.smp-waku > div:nth-child(odd) {border-right:1px solid #ddd;}



	.bubble {width:auto; max-width:408px;}

}

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

	h1 span.blog-post-title {font-size:82.5%; line-height:1.5em !important;}

}


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


}

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

	
	h1 span.h1-en-caption { bottom:20px; right: 1%; left:1%; margin:auto; font-size:1em;}
	
	.feature-text {font-size:125%; line-height:1.7em; text-align:left;}

	.motto p {text-align:left;}

	#page-upper a.gbtn-aqua-small {font-size:85%; font-feature-settings:"pkna";}






	#intro-box h2 {font-size:5.2vw; letter-spacing:-0.025em;}

	.privacy-policy #page-title h1 {font-size:175%;}
	.privacy-policy h1 span.h1-en-caption {font-size:0.95em;}
	.privacy-policy h2.jp {font-size:175%;}
	
	ul.term-list {padding-left:0;}	
	ul.term-list li { font-size:100%; margin-top:0.75em; margin-bottom:0.75em;}
	
	

	.face-icon,
	.face-photo {width:20vw; max-width:80px; margin:0.5em 0;}
	.bubble {padding:0.75em; font-size:90%; max-width:55vw;}
	.bubble.to-right::before {position:absolute; left:-16px; bottom:50%; margin-bottom:-8px; content:""; border:8px solid transparent; border-right:8px solid #fff;} 
	.bubble.to-left::before {position:absolute; right:-16px; bottom:50%; margin-bottom:-8px;  content:""; border:8px solid transparent; border-left:8px solid #fff;} 
	.bubble.bordered {border:1px solid #bababa;} 
	.bubble.bordered.to-right::before {position:absolute; left:-16px; bottom:50%; margin-bottom:-8px; content:""; border:8px solid transparent; border-right:8px solid #bababa;} 
	.bubble.bordered.to-right::after {position:absolute; left:-15px; bottom:50%; margin-bottom:-8px; content:""; border:8px solid transparent; border-right:8px solid #fff;} 
	.bubble.bordered.to-left::before {position:absolute; right:-16px; bottom:50%; margin-bottom:-8px;  content:""; border:8px solid transparent; border-left:8px solid #bababa;} 
	.bubble.bordered.to-left::after {position:absolute; right:-15px; bottom:50%; margin-bottom:-8px;  content:""; border:8px solid transparent; border-left:8px solid #fff;} 	

	
	
}


/* */



