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

@charset "utf-8";



:root {
	--base-color: #fff;
	--black-color: #161616; 
	--acc-color: #874898; 
	--sub-color: #ca99da;
	--sub-translu: rgba(195,139,213,0.75);
	--alt-color: #fff000;
	--alt-translu: rgba(255,240,0,0.68);
	--gra-translu:  linear-gradient(120deg, rgba(195,139,213,0.75) 30%,  rgba(255,240,0,0.68) 90%);	
	--att-color: #fff11f;
	--moji-color: #333; 
	--link-color: #874898; 
	--hover-color: #ca99da; /*#9b51e0*/
	--dgray-color: #656371;
	--deco-moji-color: rgba(51,51,51,0.1);
	--bg-color-dark: #666;
	--bg-color-mid: #999;
	--bg-color-mlight: #ccc;
	--bg-color-slight: #f0f0f0;
	--bg-color-light: #f5f8fb;
	--bg-texture: #f3f3f3 url(./img/bg/hisi-kaiha-hai-025.svg) repeat 0 0;
	--bg-texture-light: #fcfcfc url(./img/bg/hisi-kaiha-hai-025.svg) repeat 0 0;	
	--slight-gra: linear-gradient(180deg, rgba(235, 235, 235, 0) 5%,  rgba(235, 235, 235, 1) 50%);	
	--radius-btn: 0px;
	--radius-small: 0px;
	--sans-en: "Open Sans", "BIZ UDPGothic", "Didact Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif, "Takao Pゴシック", "TakaoPGothic", sans;
	--serif-en: "PT Serif", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	--sans-jp:  "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif, "Takao Pゴシック", "TakaoPGothic", sans;
	--serif-jp: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	--sans-rob: "Roboto", "BIZ UDPGothic", "Didact Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif, "Takao Pゴシック", "TakaoPGothic", sans;
	--sans-lex: "Lexend Deca", "BIZ UDPGothic", "Didact Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif, "Takao Pゴシック", "TakaoPGothic", sans;
}


.serif {font-family:var(--serif-en);}
.sans-serif {font-family:var(--sans-en);}


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

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

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

.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: var(--bg-color-slight);}
.bg-lgray {background: #f0f0f0;}
.bg-dgray {background: #666;}


.text-color {color:var(--moji-color);}


.bg-white {background:#fff;}
.bg-owhite {background:#f3f6f7;}
.bg-black {background:#000;}
.bg-bk1 {background:#111;}
.bg-salmon {background:#FDC2BF;}
.bg-lsalmon {background:#FEE0DF; /*rgba(253,194,191,0.5);*/}




.bg-gray {background: #ddd;}
.bg-llgray {background: var(--bg-color-slight);}
.bg-lbgray {background: #f2f6f9;}
.bg-lgray {background: var(--bg-color-slight);/*#eee;*/}
.bg-dgray {background: #666;}

.bg-dgray *,
.bg-black * ,
.bg-bk1 * {color:#fff;} 


.marker {
	text-decoration: underline;
	text-underline-offset: -0.125em;
	text-decoration-color: rgba(205,64,174,0.35);
	text-decoration-thickness: 0.25em;
	text-decoration-skip-ink: none;
}
.marker-alt {
	text-decoration: underline;
	text-underline-offset: -0.125em;
	text-decoration-color: rgba(225,225,64,0.55);
	text-decoration-thickness: 0.25em;
	text-decoration-skip-ink: none;
}
.marker-solid {
	text-decoration: underline;
	text-underline-offset: -0.125em;
	text-decoration-color: var(--sub-color);
	text-decoration-thickness: 0.25em;
	text-decoration-skip-ink: none;
}
.marker-solid-alt {
	text-decoration: underline;
	text-underline-offset: -0.125em;
	text-decoration-color: var(--alt-color);
	text-decoration-thickness: 0.25em;
	text-decoration-skip-ink: none;
}



.chk--filename {
	background:rgba(100,200,255,0.3);
	text-align:center;
	font-weight:bold;
	color:midnightblue;
}






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

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

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





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

html {
	overflow:auto;
	-webkit-text-size-adjust: 100%;
}
body {
	font-family: var(--sans-en);
	font-weight:400;
	line-height:1.9; 
	font-size:17px; 
	background: #fff;
	padding-top: 0px;
	color:var(--moji-color);
	background:#fff;
	text-align:center;
	max-width:100vw; overflow:hidden;
}



#main,footer {opacity:0;}


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

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

p {margin:1.5em auto;}


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



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


#main { text-align:left; clear:both;}

.hr-box {clear:both; width:100%; margin: 0; padding:0;}
.hr-box.pd-top {padding-top:4em;}
.hr-box.pd-top-half {padding-top:2em;}
.hr-box.pd-top-quarter {padding-top:1em;}
.hr-box.pd-top-three-quarters {padding-top:3em;}
.hr-box.pd-btm, .hr-box.pd-bottom {padding-bottom:4em;}
.hr-box.pd-btm-half, .hr-box.pd-bottom-half {padding-bottom:2em;}
.hr-box.pd-btm-quarter, .hr-box.pd-bottom-quarter {padding-bottom:1em;}
.hr-box.pd-btm-three-quarters, .hr-box.pd-bottom-three-quarters {padding-bottom:3em;}
.hr-box.pd-both {padding:4em 0;}
.hr-box.pd-both-half {padding:2em 0;}
.hr-box.pd-both-quarter {padding:1em 0;}
.hr-box.pd-both-three-quarters {padding:3em 0;}



h1 { color:rgba(0,0,0,0.75);font-weight:normal; text-align:left; margin:0px; line-height:1.25em;}

h2 {
	font-family:var(--serif-en);
	font-weight:400;
	font-size:250%;
	color:var(--moji-color);
	letter-spacing:0.125em; 
	margin:2em 0 0.5em;
	line-height:1.35em;
}
.pnkz + h2 {margin-top:1em;}

h2.jp {
	font-size:210%; font-weight:normal; 
	letter-spacing:0.15em; 
	text-align:left;/*center;*/
	font-family:var(--serif-en);
}


h2.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:1em;}


h3, h4, h5, h6 { color:var(--moji-color);}
h3 {line-height:1.5em; font-size:175%; font-family:var(--sans-rob); font-weight:700; letter-spacing:0.075em; margin-top:1.75em; margin-bottom:0.75em; }
h4 {font-size:115%; margin-top:2.25em; margin-bottom:0em;}
h5, h6 { margin-top:1.5em; margin-bottom:0em;}
h3+p, h4+p, h5+p, h6+p {margin-top:0.75em;} 



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

#page-body a[target="_blank"]:not([class])::after,
#single-body a[target="_blank"]:not([class])::after,
a.external::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.external {text-decoration:underline;}


address {font-style:normal;}

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

button {cursor:pointer;}

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

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

li.chk {
	list-style:none; 
	line-height:1.35em;
	height: auto; font-size:120%;
	background: url(./img/icon/chk.svg) no-repeat 0 0;
	background-size:1.75em 1.75em;
	padding: 0.25em 0 0.5em 2.25em;
	margin: 0.75em 0;
}
li.chk.xl {
	font-size:180%;
	background-size:1.65em 1.65em;
	padding: 0.175em 0 0.5em 2.15em;
}
li.chk .caption {
	display:block; margin:0.5em 0; font-size:75%; line-height:1.35; font-weight:normal; color:#9e8173;
}
li.chk.xl .caption {font-size:52.5%;}


ol {  counter-reset: my-counter;  list-style: none;  padding: 0;}
ol li {
	position: relative;
	margin-bottom: 0.6em;  padding-left: 1.5em;
}
ol li:before {
	content: counter(my-counter) ".";  counter-increment: my-counter;
	color: #222; 
	display: block;  float: left; text-align: center;
	line-height: 1.5em; margin-left: -2em;  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; margin-bottom:2em;}
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.5), rgba(255,255,255,0.25)); 
	color: #555;
	display: block;  float: left; text-align: center;
	line-height: 1.35em; margin-left: -2.2em;  height: 1.5em; width: 1.5em;
	border:1px solid #eee;
	border-radius: 50%;
}

header {
	position:relative; top:0; left:0; 
	width:100%; height:auto; border:none;
	z-index:1000;
}

#common-header { padding:0; background:rgba(255,255,255,1);}

nav { margin: 0 auto; }

#logo {padding:0.75em min(0.85vw,0.75rem) 0.375em; line-height:1.25em; text-align:center; }


#logo img {width:auto; height:72px; margin:0.5em 0; transition:all 0.77s ease 0s;}
#sticker.fixed #logo img {width:auto; height:40px; margin:0; transition:all 0.55s ease 0s;}


#logo-mobile {margin:0 0.75em; width:auto; height:48px; line-height:1.25em; text-align:center; transition:all 0.3s linear 0s; }
#logo-mobile img {height:100%;}

#btn-contact {
	padding:5em 0 5em; margin:0;
	width:100%; text-align:center;
	background-image:url(./img/bg/cta.jpg);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
}
@media (hover: hover) {
	#btn-contact {background-attachment:fixed;}
}
#btn-contact .icon-mail {width:2.2em; vertical-align:-36%; margin-left:-1.125rem; margin-right:0.5rem;}
#btn-contact p {letter-spacing:0.125em; text-indent:0.125em;}
#btn-contact .btn-accent {letter-spacing:0.2em;}


#btn-contact .top,
#btn-contact .bottom {text-align:left;}

#btn-contact .top {padding:1.25rem 1.25rem 0;}
#btn-contact .top p {margin:0 0 0.5em;}

#btn-contact img.amenity {width:200px; margin:1.25em 1.25em calc(1.25em - 2px); vertical-align:bottom; transition:all 0.33s ease 0s;}
#btn-contact img.amenity:hover {filter: saturate(150%); scale:1.025; box-shadow:0 0 10px rgba(0,0,0,0.6); transition:all 0.14s ease 0s;}

	
footer {
	clear:both;
	position:relative;
	left:0; right:0; bottom:0;
	padding:3em 0;
	text-align:center;
	font-size:14px;
	height:auto; min-height:450px;
	background:#fff;
	/*background:#f3f3f3 url(./img/bg/hisi-kaiha-hai-025.svg) repeat 0 0;*/
}

footer ul {padding:0; margin:0.75em auto;}
footer ul li {margin-right:0; margin-left:0;}
footer ul li {
    display: inline-block; height: 24px;
	font-size:0.9rem;
    margin:0.5em 1em;
	letter-spacing:0.1em;
}
footer ul li a {
	display:inline-block; width:100%; height:100%; color:var(--moji-color);
	font-feature-settings : "palt"; font-weight:500;
}
footer ul li a:hover {
}
footer ul li a img, footer img.sns-icon { width:auto; height:32px; transition:all .14s linear 0s;} 
footer ul li a img:hover, footer img.sns-icon:hover { transform:scale(1.1); transition:all .07s linear 0s;}

footer ul.sns-link {margin:2.5em auto; padding:0; text-align:center;}

footer ul.navi-sub a {color:#acacac; font-weight:400; text-decoration:underline;} 

#footer-logo-wrapper {margin:4em 0 4em;}
#footer-logo a {display:block; width:100%;}
#footer-logo img.site-logo {width:auto; height:60px;  margin:0 1em;}





@media (max-width:480px) {
	#footer-logo img.site-logo {width:98%; max-width:240px; height:auto; margin:1rem 1%;}
}
#footer-address {text-align:center; margin:1em auto;}
#footer-address address {margin:0 1em; font-style:normal; font-size:0.95rem; text-align:center;}
#footer-address img.tel-set {width:100%; max-width:290px; margin:1em auto;}

#footer-info .hours-chart {margin:0em auto 0.75em; width:100%; max-width:420px;}

#copyright {color:#999; margin:5em auto 0;}





table {
	clear:both;
	text-align:left;
	margin:16px 0px; 
	word-break:normal;/*break-word;/*break-all;*/
	font-size:95%;
	box-sizing:border-box;
	width:100%;
}
caption {
	text-align:center; padding:0.5em 0.5em 0.5em 1.5em ; font-size:1.2em; color: #fff; font-weight:bold;
	margin: 0;
	background:var(--acc-color);
}
th,td {
	padding:0.5em 1em;
	font-weight:normal;
	line-height:1.8em;
	text-align:left;
	word-break:normal;/*break-word;/*break-all;*/
	box-sizing:border-box;
}
th { border-bottom:1px solid rgba(0,0,0,0.2);}
th.nowrap {white-space:norwap;} 
td { border-bottom:1px solid rgba(0,0,0,0.2);}


.inline {display:inline-block;}

.note-color {font-size:1em; color:brown;}
.note {font-size:0.85em; color:brown;}



/* =============================================================================
   Navi Styles with jQuery
   ========================================================================== */

#sticker {
	margin: 0;
	transition:all .3s linear 0s;
	background:rgba(255,255,255,1);
	padding:0;
}
#sticker.fixed {
    position:fixed; top:0; left:0; width:100%;
	z-index: 10000;
}
#sticker.colored {
	box-shadow: 0 5px 5px -5px rgba(0, 0, 0, 0.5);
	background:rgba(255,255,255,0.8) !important;
	-webkit-backdrop-filter:blur(8px);
	backdrop-filter:blur(8px);
	transition:all .3s linear 0s;
}


#menu-pc a {
    display: block;
    line-height: 34px;
	font-size:0.9em;
    margin: 0;
    padding: 0 0.125em;
	color:#000;
	font-weight:400;
	font-family:'Roboto';
	font-feature-settings:"palt";
	letter-spacing:0.125em;
}
#menu-pc a:hover { 
	transition: 0.28s all;
}
#menu-pc ul {list-style:none; padding:0;}
#menu-pc > ul > li {position:relative; display:inline-block; margin:0 0.75em;}
/* #menu-pc > ul > li:last-child {margin-right:0;} */
#menu-pc > ul > li > a:hover {
	text-shadow:none;
	color:#998675;
}

#menu-pc ul.page_list {margin:0.25em;}

#menu-pc ul.children{
	display:none;
	position:absolute;
	top:32px; 
	left:-0.75em;
	float:left;  margin:0;
	z-index:25252;
}
#menu-pc ul.children::before {
	border:5px solid transparent;
	border-bottom-color:#e5e5e5; 
	border-top-width:0;
	top:-5px;
	content:"";
	display:block;
	left:36px;
	position:absolute;
	width:0;
}

#menu-pc ul.children li {
	width:clamp(176px,12em,280px);
	margin:0; padding:0;
}
#menu-pc ul.children li a {
	display:block; width:100%;
	padding:0.125em 1em;
	background-color:#e5e5e5;
	white-space:nowrap;
	text-align:left;
}
#menu-pc ul.children a:hover, ul.children a:active{
	background-color:rgba(105,105,105,0.75);
	color:#fff;
	text-shadow:0 0 1px var(--acc-color) , 0 0 2px var(--acc-color);
}
#menu-pc ul li:hover > ul.children {display:block;}






.menu-trigger-wrapper {margin:0; width:80px; height:60px;}
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {padding:12px 16px 8px;}
.menu-trigger .inner {
	position: relative; cursor:pointer;
	width: 32px; height: 24px;
	margin-bottom:4px; margin-right:4px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: var(--acc-color);
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: calc(50% - 2px);
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}
.menu-trigger .inner::after {
	position: absolute;	left:0px; top:22px; 
	content: 'menu';
	display: block;
	color: var(--acc-color); letter-spacing:0.075em;
	font-size: 11px;
	text-align: center;
	font-family:'Lexend Deca';
	font-weight:300;
}

/* animation */
.menu-trigger.active {}
.menu-trigger.active .inner {height:32px;}
.menu-trigger.active span {
	z-index:10001 !important;
	background:var(--acc-color);/*#f4b;*/
}
.menu-trigger.active span:nth-of-type(1) {
	transform: translateY(14px) rotate(-225deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	transform: translateY(-14px) rotate(225deg);
}

.menu-trigger.active .inner::after {
	position: absolute;	left:1px; top:24px; 
	content: 'close';
	display: block;
	color: #222; letter-spacing:0.075em;
	font-size: 11px;
	text-align: center;
	font-family:'Lexend Deca';
	font-weight:300;
}



/* ++++++++++++++++++++++++++++++++++++
	slidemenu-settings 
++++++++++++++++++++++++++++++++++++++*/
.slidemenu {
	position: fixed; top:0; bottom:0; right:0; 
	width: clamp(280px,75vw,330px); 
	padding:0;
	background:#e7e6e3;
	border-left:1px solid rgba(0,0,0,0.2);
	z-index: 990;
	transform:translateX(350px);
	transition:all 0.76s ease 0s;
	text-align:left;
}

@media (min-width:480px) and (max-width:1077px) {

}

.slidemenu.reveal {
	transform:translateX(0);
	transition:all 0.53s ease 0s;
}
.slidemenu.scrolled {padding-top:0;}
.backward-z {z-index:-100 !important; transition:all 0.53s ease 0s; overflow:hidden !important; opacity:0.35;}
.ofh {overflow:hidden !important;}
#mobile-menu-underlay {z-index:-100; position:fixed; top:0; right:0; bottom:0; left:0; width:100vw; height:100vh; background:rgba(0,0,0,0); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); transition:all 0.76s ease 0s;}
#mobile-menu-underlay.reveal {background:rgba(0,0,0,0.55); transition:all 0.53s ease 0s; z-index:100;}

#page-title-inner {z-index:-1;}

.slidemenu .slidemenu-header {
	height:80px; 
}

.slidemenu .slidemenu-body {
	height:calc(100vh - 80px); padding:12px 8px 4em; 
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	position: relative;
}
.slidemenu .slidemenu-body .slidemenu-content {
	position: relative; padding-left:1em; padding-right:0.75em;
}


.slidemenu ul {font-size:1.1em; text-align:left; padding-left:0;}

.slidemenu ul.toiawase {font-size:1.2rem; margin:0;}

.slidemenu ul.toiawase li {margin:2em 0; text-align:center;}
.slidemenu ul.toiawase .tel-number {font-family:'Noto Sans Japanese', sans-serif, sans; font-size:130%; color:var(--acc-color);}

.slidemenu ul.toiawase .push-to-call {position:relative; width:32px; height:32px;} 
.slidemenu ul.toiawase .push-to-call img {width:32px; height:32px; margin:-8px 0 0 6px;}
.slidemenu ul.toiawase .push-to-call::after { 
	position: absolute;	left:-1.6em; top:18px; 
	content: '電話する';
	display: block;
	width: 200%;
	color: var(--moji-color); letter-spacing:0.05em;
	font-size: 0.6rem;
	text-decoration: none;
	text-align: center;
	transition: all 0.4s;
}

.slidemenu ul.toiawase a {color:#333;}
.slidemenu ul.toiawase a.mail-de-toiawase {
	display:inline-block;
	font-size:0.925rem; font-weight:bold; font-feature-settings:"palt"; color:#fff;
	padding:0.55rem 1rem;
	background : var(--acc-color);
	border-radius:4px;
}
.slidemenu ul.toiawase a.btn-yoyaku {
	margin:0 auto; width:158.4px; height:48px; 
	font-size:16px; padding:16px !important; line-height:1; border-radius:8px;
}

.slidemenu ul.page_list {margin:1.5em 0; padding-left:1em;}
.slidemenu ul.page_list > li {margin:1.5em 0;}
.slidemenu ul.children {margin:0 0 1.5em; padding-left:1em; font-size:90%;}
.slidemenu ul.children li {margin:1em 0.5em;}
.slidemenu ul.page_list a {
	font-size:100%; font-weight:500;
	color:#333; text-shadow:none;
}

.slidemenu ul.search-box .searchform {width:11em; margin:2em auto 0;}

.slidemenu ul.sns-link {text-align:center; padding-bottom:3.5em;}
.slidemenu ul.sns-link li {display:inline-block;}
.slidemenu ul.sns-link img {width:30px; height:auto; margin:4px;}


.menu-button-left {left: 0px; position:relative;}
.opener-left { width: auto; height: 40px; display: block; cursor:pointer; font-size:18px;}


.slidemenu-body > ul:last-child {margin-bottom:60px;}

#nav-mobile {padding:0;}
#nav-mobile hr {margin:8px 4px;}



@media (min-width:1078px) {
	#tel-number-pc {line-height:1; transition:all 0.48s linear 0s;}
	#sticker.fixed #tel-number-pc {transform:scale(0.8); transition:all 0.33s linear 0s;}
	#tel-number-pc span {display:inline-block;}
	#tel-number-pc .tel-icon {
		position:relative;
		display:inline-block;
		width:30px; height:30px;
		margin: 0;
		padding: 3px;
		transform:translate(-8px, 4px);
	}
	#tel-number-pc .tel-icon::before {
		position:absolute;
		top:0; right:0; bottom:0; left:0;
		width:100%; height:100%;
		content: "4";
		font-family:'SosaIcon';
		color:var(--acc-color);
		font-size:1.85rem;
	}
	#tel-number-pc .tel-number {font-size:150%; font-weight:500; color:var(--acc-color); font-family:'Noto Sans Japanese', sans-serif, sans;}
	#tel-number-pc .tel-caption {font-size:60%; font-weight:500; color:#666; font-feature-settings:"palt";}
}




@media (min-width:600px) and (max-width:1077px) {
	#gblnavi-mobile {min-height:70px; padding-top:5px;}
	#tel-menu {margin:-4px 8px 0;}
}

@media (min-width:600px) {	
	#gblnavi-mobile .tel-icon {display:block; width:32px; height:32px;}
	#gblnavi-mobile .tel-text {display:none;}
}



@media (max-width:599px) {
	
	header {padding-top:70px;}
	
	#gblnavi-mobile {height:70px;}

	.menu-trigger.active {}

	.slidemenu .slidemenu-header {height:70px;}

	.menu-trigger-wrapper {margin:0; width:80px;}
	.menu-trigger {width:100%; height:100%; padding:16px 0 0;}
	.menu-trigger .inner {position:relative; width: 32px; height: 24px; margin:auto;}

}

@media (max-width:340px) {

}

#rewind { 
	display: none;
	position: fixed;
	bottom: 10px; right: 10px;
	width:3.25em; height:3.25em;
    background: var(--acc-color);
    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 clamp(0.5rem,1vw,1rem);
	font-size:0.75em; letter-spacing:0.05em; line-height:2.2; font-feature-settings:"palt";
	font-family:var(--sans-rob);
}
.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;}

.post article {text-align:left;}


#appendix {padding:3.5em 0 5em; background:var(--bg-texture);}
:is(.blog-home, .archive) #appendix h2 {margin-top:1.5rem; margin-bottom:0.5rem; letter-spacing:0.25em;}
:is(.page-std, .single) #appendix h2 {font-size:1.7em; letter-spacing:0.25em; text-indent:0.25em;}

#sub-column {margin-top:2em;}


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

.tagcloud { margin-bottom:3em; text-align:center;}
.tagcloud a { display:inline-block !important; line-height:1.2em !important; margin:1px 2px !important; padding:5px !important;}

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

#sidebar-inner #searchform-wrapper {margin:2.5em 0 3.5em; text-align:center;}
#searchform {text-align:center;}
#searchform div {display:flex; margin:auto; width:auto; max-width:220px; border:1px solid #bcbcbc; overflow:hidden; border-radius:6px; }
#searchform div input#s {width:calc(100% - 36px); height:36px !important; border:none !important; border-radius:0; padding-left: 0.5em;}
#searchform div input#searchsubmit {
	width:36px; height:36px !important; margin:0 !important; padding:6px 12px; border:none !important; 
	background:#b3b3b3 url(./img/icon/search-wh.svg) no-repeat 0 0; background-size:contain; color:transparent;
	border-radius:0;
}
@media all and (-ms-high-contrast:none){ /* IE11 bug fix */
	#searchform div {border:none;}
	#searchform div input#s {width:164px; border-radius:6px 0 0 6px;}
	#searchform div input#searchsubmit {border-radius:0 6px 6px 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;}



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

.single .post-body  {padding:1em 0.5em; width:100%; max-width:880px; margin:auto; }

.fixed-page-post {}

.subpage:not(.page-spl) .fixed-page-post:not(.wide-format) {padding-bottom:2.5em;} 
.subpage.page-spl .fixed-page-post:not(.wide-format) {padding-bottom:0.5em;} 
.fixed-page-post.wide-format {padding:0 0 0;} 



.anchor-links {text-align:center;}
.anchor-links.at-top:last-child {margin:0 0 3em; }
.anchor-links.at-bottom:first-child {margin:3em 0 0; }
.anchor-links .wp-block-button__link,
.anchor-link {width:auto; min-width:7em !important; margin:0 0.5em 1em; font-size:90%;}

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



.post-body a:not([class]) {text-decoration:underline;}
.post-body p {margin:1.5em 0;}
.post-body h3+p {} 
.post-body h3+h4 {margin-top:1.5em;}
.post-body h4+p, .post-body h5+p, .post-body h6+p {margin-top:0.5em;} 

.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 .wp-block-cover + p,
.post-body .wp-block-cover + ul,
.post-body .wp-block-image + p,
.post-body .wp-block-image + ul {margin:1.5em 0;}


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

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

.post-body h3 { line-height:1.5em; font-size:167%; margin-top:2.25em; margin-bottom:0.75em; border-left:6px solid rgba(135,72,152,0.6); padding-left:0.5em;}
.post-body h3:first-child { margin-top:0.5em;}

.post-body h2 + h3 {margin-top:1.75em;}


.post-body h2:is(:not([class]), .wp-block-heading)::before, 
.post-body h2:is(:not([class]), .wp-block-heading)::after {
	content: "";
	position: absolute;
	width: 0.5em;
	height: 0.5em;
	margin: auto;
}
.post-body h2:is(:not([class]), .wp-block-heading)::before {
	top: 0.3em; left: 0em;
	border: 2px solid var(--acc-color);
	
}
.post-body h2:is(:not([class]), .wp-block-heading)::after {
	top: 0.55em; left: 0.25em;
	border: 2px solid var(--alt-color);
	border-radius:100%;
}

@media (min-width:1054px) {
	.post-body h2:is(:not([class]), .wp-block-heading) {margin-left:-1.25em;}
}
@media (max-width:1053px) {
	.post-body h2:is(:not([class]), .wp-block-heading) {margin-left:-0.5em;}
}
@media (max-width:480px) {	
	.post-body h2:is(:not([class]), .wp-block-heading) {margin-left:-0.185em; letter-spacing:0.075em;}
}




.fixed-page-post table th {background:rgba(94,94,94,0.125);}
.fixed-page-post table td {background:rgba(255,255,255,0.125);}
.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:13px; color:#ccc; line-height:2.0em;
	margin: 3rem 0 2rem; padding: 0; 
}
.post-meta a {display:inline-block; color:#fff;}
.post-meta span.posted,
.post-meta span.updated { margin:0 1rem 0 0;}
.post-meta span.ib { margin:0 1.25rem 0 0;}
.post-meta span.post-date {font-weight:normal;}
.post-meta span.category, .post-meta span.author,
.post-meta span.tags, .post-meta span.comments {display:inline-block; font-family: 'SosaIcon';}
.post-meta span.category {font-size:2em;}
.post-meta span.tags {font-size:1.85em;}
.post-meta.works-header {padding:0 0.125em;}
.post-meta.works-header div.spec-wrapper {margin-top:0.375em; line-height:1.35;}



.browseback {
	width:100%; margin:2rem auto 2rem; text-align:center;
	font-family: var(--sans-lex), sans-serif; font-size:1.2em; font-weight:400; letter-spacing:0.2em;
}





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

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

.wp-block-embed figcaption,
.fixed-page-post .wp-block-image figcaption {
	text-align:center; color:#9e8173;
	font-size:0.85rem; line-height:1.5;
}

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

.post-body .wp-block-image img {margin:0;}

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


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


.wp-block-embed-youtube {margin-top:0.5em !important;}
.wp-block-embed-youtube.wp-embed-aspect-16-9 iframe {width:100% !important; height:auto !important; aspect-ratio:16 / 9 !important;}
.wp-block-embed-youtube.wp-embed-aspect-4-3 iframe {width:100% !important; height:auto !important; aspect-ratio:4 / 3 !important;}


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


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


.wp-block-column figcaption {
	font-size:0.8rem; color:#778; text-align:center; 
}
.wp-block-table.is-style-stripes {border:none !important;}

.wp-block-table tr > td:first-child {white-space:nowrap; word-break:keep-all;}
	
.wp-block-embed { margin-bottom: 1em;}
.wp-block-embed-youtube {
	position:relative; text-align:center; 
	margin:2.5em auto !important;
}
.wp-block-embed__wrapper iframe {
	max-width:100%;
	margin:auto;
}
.wp-block-embed-youtube + .caption { 
	/*text-align:center;*/
	margin-top:-0.5em; padding:0 0.25em;
	font-size:90%; line-height:1.6;
}




ul.blocks-gallery-grid {margin:0; padding:0;}

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

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

.wp-block-file a {display:inline-block;}
.wp-block-file a.wp-block-file__button {display:none;}



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


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



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

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

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

.wp-block-button {transition:all 0.22s linear 0s;}
.wp-block-button__link.has-text-color.wp-element-button {
	display:inline-block !important; position:relative !important;
	border:2px solid var(--acc-color) !important;
	color:var(--acc-color) !important;
	background:transparent !important;
}
@media (hover: hover) {
	.wp-block-button:hover {background:rgba(205,61,178,0.15); filter:saturate(200%); transition:all 0.14s linear 0s;}
	.wp-block-button__link.has-text-color.wp-element-button:hover::after {right:11px;}
}
.wp-block-button__link.has-text-color.wp-element-button::after {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute !important;
    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;
}





/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	home, cpt-home
*/


.archive .each-post .post-title {font-size:120%;}



/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	Pagenation
*/
	
.pagination {
	clear:both;
	position:relative;
	margin:2.5em 0.5em;
	text-align:center;
	font-family: 'Lexend Deca';
	font-weight:200;
}
 
.pagination span.current, .pagination a  {
	display: inline-block;
	text-align:center;
	width:48px; height:48px;
	font-size:20px; font-family:'Lexend Deca'; line-height:1.5;
	padding-top:8px;
	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;
}

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


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

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

.page-numbers {
	padding:0;
	clear:both;
	position:relative;
	margin:0 8px 16px;
	text-align:center;
	font-family: 'Lexend Deca';
	font-weight:200;	
}
.page-numbers li {
	display: inline-block;
	text-align:center;
	width:auto; height:auto;
	margin:0;
}
.page-numbers a {
	display:block; width:100%; height:100%;
	padding-top:8px;
	padding-bottom:8px;
	width:48px; height:48px; margin:7px;
	font-size:20px; font-family:'Lexend Deca'; 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:8px;
	padding-bottom:8px;
	width:48px; height:48px; margin:7px;
	font-size:20px; font-family:'Lexend Deca'; 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:20px;
	padding-top:8px;
	padding-bottom:8px;
	margin:5px;
	border-radius:100%;
}





/* =========================== 
 　ContactForm7
*/
.wpcf7-form input {
	width: 270px; font-size:1em;
	padding:0.25em 0.25em; 
	border:1px solid #999; border-radius:3px;
} 
.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: 100%; font-size:1.2em;
	padding:0.25em 0.25em; 
	border:1px solid #999; border-radius:3px;
} 

.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: 100%; max-width: 770px;}
.wpcf7-form input[name^="url"], .wpcf7-form input[name$="url"] {width: 100%; max-width: 770px;}

.wpcf7-form input[name^="count"], .wpcf7-form input[name$="count"] {width: 80px;}


.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: 100%; padding:1em; background:rgba(100,100,100,0.2); border-radius:4px; font-size:13px; color:#f4b; font-weight:bold; line-height:1.5;}
.wpcf7-form .confirm-msg .label-cbx-confirm input {display:none;}
.wpcf7-form .label-cbx-confirm .wpcf7-list-item-label {position:relative; padding-left:2.25em;}
.wpcf7-form .label-cbx-confirm .wpcf7-list-item-label::before{
	content:""; display:block; position:absolute; 
	top:0; left:0; /*bottom:0;*/ margin:auto;
	width:1.25em; height:1.25em;
	background:#fff; border:2px solid #f4b; border-radius:4px;
	transition:all 0.14s linear 0s;
}
.wpcf7-form .label-cbx-confirm {display:block; width:100%; height:100%;}
.wpcf7-form .label-cbx-confirm input:checked + .wpcf7-list-item-label{
	color:#365E79; font-weight:bold; 
}
.wpcf7-form .label-cbx-confirm input:checked + .wpcf7-list-item-label::before{
	border:2px solid #5EACC2; 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:0.5em auto 0.5em !important;
    padding: 0.75em 4.25em !important;
    color: #fff !important; font-weight:bold;
	border:2px solid #fff; 
	background:var(--acc-color);
}
.wpcf7-form .wpcf7-submit:hover {
	border:2px solid var(--acc-color); color:var(--acc-color) !important;		
	background:rgba(54,133,182,0.2);
	filter:saturate(150%);
	cursor: pointer;
}



.wpcf7 form .wpcf7-response-output {
	font-size: 15px;
	text-align: center;
	margin: 2em 0 2em !important;
}
div.wpcf7-validation-errors {
	margin:1em 0 !important;
	padding: 10px !important;
    background: #111;
	font-weight: bold;
	color: #f7e700;
	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: var(--acc-color);	
	font-weight: bold; color: #fff;
	border:2px solid #ddd !important; border-radius:6px;
}

span.hissu{
	display:inline-block;color:#fff;font-weight:bold;font-size:12px;padding:6px 5px;
	border-radius:3px;margin:0 6px 2px 0; background:var(--acc-color); vertical-align:7.5%;
	text-shadow:none; line-height:1;
}
span.ninni{
	display:inline-block;color:#fff;font-weight:bold;font-size:12px;padding:6px 5px;
	border-radius:3px;margin:0 6px 2px 0; background:#aaa; vertical-align:7.5%;
	text-shadow:none; line-height:1;
}

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



/*============================
  fancybox 3
*/
button.fancybox-button--close {z-index:99999 !important; background:var(--acc-color) !important; color:#fff !important; transition:all 0.22s ease-in-out 0s;}
.fancybox-slide--iframe .fancybox-content {height:auto; max-height:85vh !important;}
.fancybox-active html {overflow:hidden;}
@media (hover: hover) {
	button.fancybox-button--close:hover {filter:saturate(150%) !important; transition:all 0.14s ease-in-out 0s;}
}
@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.9em;}




/*============================
* button / ghost button
*/

.gbtn-accent, .gbtn-gray, .gbtn-black, .btn-accent {font-weight:500;}

.gbtn-accent {position:relative; display:inline-block; text-align:center; color: var(--acc-color); margin:1em 0; padding:0.75em 1em; border:2px solid var(--acc-color); background:transparent; border-radius:var(--radius-btn);}
.gbtn-accent:hover {background:rgba(205,61,178,0.15); filter:saturate(200%); color:var(--acc-color);}

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


.gbtn-gray {display:inline-block; color:#aaa; margin:1em 0; padding:0.75em 1em; border:2px solid #aaa !important; background:transparent;}
.gbtn-gray:hover {color:#fff; background:rgba(0,0,0,0.3);}

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

.gbtn-black:hover {
	color:var(--base-color);
	background:var(--acc-color); 
	border:2px solid var(--acc-color);
	text-shadow:none;
	filter: saturate(170%); 
}
.gbtn-black:not(.main-option):not(.sub-option):not(.anchor-link):not(.btn-round):not(.noarrow)::after {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    right: 14px;
    top: 50%;
    margin-top: -5px;
    border-right: 2px solid var(--moji-color);
    border-top: 2px solid var(--moji-color);
    transform: rotate(45deg);
    transition: all 0.14s linear 0s;
}
.gbtn-black:not(.main-option):not(.sub-option):not(.anchor-link):not(.btn-round):not(.noarrow):hover::after {
    border-right: 2px solid var(--base-color);
    border-top: 2px solid var(--base-color);
	right: 11px;
}


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

.btn-accent.white-rim {border:2px solid #fff;}
.btn-accent.white-rim:hover {border:2px solid var(--acc-color);}

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

 


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

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


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

.btn-more {font-family: 'Lexend Deca'; 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%;}






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

@media (min-width:1400px) {
	body {font-size:18px;}
	.container {max-width:1110px;}
	.semi-wide-container {max-width:1280px;}
	.wide-container {max-width:1390px;}
	.lim88 {max-width:990px;}
	.lim80 {max-width:910px;}
	.lim77 {max-width:880px;}
	.lim70 {max-width:810px;}
	.lim66 {max-width:770px;}
	.lim60 {max-width:710px;}
	.lim55 {max-width:660px;}
	.lim50 {max-width:610px;}
	.lim48 {max-width:590px;}
	.lim44 {max-width:550px;}
	.lim40 {max-width:510px;}
	.hr-box.pd-top {padding-top:5em;}
	.hr-box.pd-top-half {padding-top:2.5em;}
	.hr-box.pd-top-quarter {padding-top:1.25em;}
	.hr-box.pd-top-three-quarters {padding-top:3.75em;}
	.hr-box.pd-btm, .hr-box.pd-bottom {padding-bottom:5em;}
	.hr-box.pd-btm-half, .hr-box.pd-bottom-half {padding-bottom:2.5em;}
	.hr-box.pd-btm-quarter, .hr-box.pd-bottom-quarter {padding-bottom:1.25em;}
	.hr-box.pd-btm-three-quarters, .hr-box.pd-bottom-three-quarters {padding-bottom:3.75em;}
	.hr-box.pd-both {padding:5em 0;}
	.hr-box.pd-both-half {padding:2.5em 0;}
	.hr-box.pd-both-quarter {padding:1.25em 0;}
	.hr-box.pd-both-three-quarters {padding:3.75em 0;}
}



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

	.maxonly {display:none;}

}

@media (min-width:1261px) and (max-width:1366px) {
	
	#logo img {height:60px;}
	#menu-pc > ul > li {margin: 0 0.6em;}	

}

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


	#gblnavi-mobile {display:none;}

	#gblnavi-pc { display:block;}		

	#gblnavi-pc ul {
		width:100%; margin:0.25em auto; padding:0; text-align:center;
		transition:all 0.3s linear 0s;
	}

	#gblnavi-pc ul li. { 
		display:inline-block; margin:0 0.75em; 
		line-height:1.2em;	font-weight:normal;
	}
	#gblnavi-pc ul li a {
		color:var(--moji-color); font-weight:500;
		font-feature-settings:"palt"; font-size:85%;
	}
	#gblnavi-pc ul li a:hover {color:var(--acc-color); filter:saturate(150%);}

}

@media only screen and (max-width: 1189px) {
	
	body {position:relative;}

	header {padding-top:80px; border-top:none;}

	#gblnavi-pc { display:none;}

	#gblnavi-mobile {
		display:block;
		position:fixed;
		top:0; bottom:auto; left:0; right:0;
		width:100%; height:80px;
		padding:0;
		background:rgba(255,255,255,0.8) !important;
		-webkit-backdrop-filter:blur(8px);
		backdrop-filter:blur(8px);
		z-index: 10000 !important;
	}

	#gblnavi-mobile .shell .cell {
		height:80px;
		align-self:stretch; 
	}
	
	#gblnavi-mobile .shell.wide-container {padding:0 !important;}

}
   

@media (min-width: 481px) and (max-width: 1280px) {
	
	.menu-trigger {padding: 20px 16px 8px;}

}


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

}

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



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

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

}

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

}

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

	#logo-mobile {height:44px;}

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


	#footer-logo,	#footer-caption {width:100%; text-align:center;}
	footer ul {text-align:center; margin-bottom:3em; padding-left:0 !important;}
	footer {padding:2.5em 1% 1em;}


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

	.shell .upper {margin-bottom:2em !important;}	

	.fixed-page-post h3 { font-size:159%; line-height:1.35em; margin-top:3em; margin-left:-0.25em; padding-left:0.4em;}

}

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

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

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

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

	
	footer {padding-bottom:90px;}
	
	#rewind {
		background:var(--acc-color);
		padding: 2px 6px 8px;
		right:2px; bottom:2px;
		transform:scale(0.85);
		transform-origin:50% 50%;
	}	
	
}
@media only screen and (min-width: 501px){

}

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

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

	h3 {line-height:2.0em; font-size:24px;}

}

@media only screen and (max-width: 480px) {
	
	.pconly, .tblonly, .tblpc {display:none;}
	.smponly {display:block;}
	.smponly.ib {display:inline-block !important;}

	body { font-size:16px;}

	header {padding-top:70px;}

	#gblnavi-mobile {
		height:70px;
		position:fixed;
		top:0; bottom:auto; left:0; right:0;
		margin: 0;
		transition:all .3s linear 0s;
		background:rgba(255,255,255,1);
		padding:0 0 4px;
	}

	h2 {line-height:1.65; font-size:230%;}
	h3 {line-height:1.45; font-size:169%;}
		
	.flex-table-smp:before, .flex-table-smp:after { content: " "; display: table;}
	.flex-table-smp:after { clear: both;}
	.flex-table-smp { *zoom: 1;}
	.flex-table-smp th, table.flex-table-smp td {float:left;}

	ul  { padding-left:1.5em;}
	ol  { padding-left:0;}
	ul.nopad, ol.nopad  { padding-left:0; margin-left:0;}
	
	#logo img {width:175px; vertical-align:-40%; margin-right:6px;}
	#logo span {font-size:30px;}


	
	footer {padding-left:1%; padding-right:1%;}
	#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; width:40px; height:40px;}
	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(--acc-color); border-top:2px solid var(--acc-color); /* var(--acc-color);*/
		transform:rotate(45deg);
		transition:all 0.14s linear 0s;
	}


}


@media (max-width:370px) {

}


@media print{

	#sticker-menu, #gblnavi-mobile, .smponly, .tblonly, .smptbl {display:none;}

}







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



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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

.bdrb-dot-gr8 {border-bottom: 2px dotted #888;}
.waku {border: 1px solid rgba(0,0,0,0.2);}

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

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

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








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

.roboto { font-family: 'Roboto', sans-serif; }
.lexend { font-family: 'Lexend Deca', sans-serif; }
.ptserif {font-family: 'PT Serif, serif';}

.noto {font-family: 'Noto Sans JP', sans-serif;}

.xxfine {font-weight:200;}
.xfine {font-weight:300;}
.fine {font-weight:400;}
.xbold {font-weight:700;}
.xxbold {font-weight:900;}

   
/* This is the proper syntax for an @font-face file*/
.sosaicon { font-family: 'SosaIcon'; }
@font-face {
    font-family: 'SosaIcon';
    src: url('./fonts/SosaIcon.woff') format('woff'),
		url('./fonts/SosaIcon.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
/*
.geosans {font-family: 'Geosans-L';}
@font-face {
    font-family: 'Geosans-L';
    src: url('./fonts/GeosansLight.woff') format('woff'),
         url('./fonts/GeosansLight.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
*/
