@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=BioRhyme:wght@200;300;400;700;800&family=Bree+Serif&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Pacifico&family=Roboto+Condensed:wght@300;700&family=Roboto:wght@100;300;500;700;900&family=Sawarabi+Mincho&family=Shippori+Mincho:wght@500&display=swap');

:root{
--blue : rgb(21,133,143);
--navy : rgb(6,40,57);
--black : rgb(5,25,30);
--white : rgb(250,252,252);
--vermilion : rgb(232,66,36);
}

* {
	margin: 0;
	padding: 0;
	font-style: normal;
	border: 0;
	zoom: 1;
	box-sizing: border-box;}

html {
	height: 100%;
	font-size: 15px;}

html>/**/body {
	overflow: -moz-scrollbars-vertical;}

html:first-child body {
	min-height: 100%;}

body {
	-webkit-text-size-adjust: 100%;
	margin: 0;
	padding: 0 0 0;
	border: 0;
	background: #111;
	color: #333;
	font-size: 15px;
	font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN", Meiryo, "メイリオ", sans-serif;
	font-weight:300;
	line-height: 1.5;
	position: relative;}


strong{
font-weight:bold;

}

em{
text-decoration:underline;
}

ruby{font-size:70%;}

.txt-serif{font-family:"Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;}
.txt-xlarge{font-size:180%;}
.txt-large{font-size:150%;}
.txt-medium{font-size:120%;}
.txt-small{font-size:80%;}
.txt-xsmall{font-size:60%;}
.txt-center{text-align:center;}
.txt-right{text-align:right}


/*--------------------
GRID
--------------------*/
.grid,
.flex2,
.flex2-2,
.flex3,
.flex3-1,
.flex4,
.flex4-4,
.flex5{
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: stretch;/*   Safari etc. */
	-ms-align-items: stretch;/*  IE10        */
	align-items: stretch;
	-webkit-flex-wrap: wrap;/* Safari6.1以降 */
	-ms-flex-wrap: wrap;/*IE10*/
	flex-wrap: wrap;}

/* 最終行の間隔調整 */
.flex4:before,
.flex4-4:before,
.flex5:before {
	content: "";
	display: block;
	order: 1;}

.flex3:after,
.flex3-1:after,
.flex4:after,
.flex4-4:after,
.flex5:after {
	content: "";
	display: block;}

.grid3-2 {
	width: 65%;}

.grid4-3 {
	width: 74%;}

.grid4-2,
.flex2>*,
.flex2-2>*{
	width: 48.5%;}

.grid3-1,
.flex3>*,
.flex3:after,
.flex3-1>*,
.flex3-1:after{
	width: 31.5%;}

.grid4-1,
.flex4>*,
.flex4:before,
.flex4:after,
.flex4-4>*,
.flex4-4:before,
.flex4-4:after{
	width: 22%;}

.flex5>*,
.flex5:before,
.flex5:after {
	width: 17.6%;}

.grid>*,
.flex2>*,
.flex2-2>*,
.flex3>*,
.flex4>*,
.flex4-4>*,
.flex5>* {
	margin-bottom: 1.5em;}

.grid>*>*:first-child,
.flex2>*>*:first-child,
.flex2-2>*>*:first-child,
.flex3>*>*:first-child,
.flex4>*>*:first-child,
.flex4-4>*>*:first-child,
.flex5>*>*:first-child{
	margin-top:0;
	margin-bottom:0;}

@media screen and (max-width:768px) {
	.grid3-1,
	.grid3-2,
	.grid4-1,
	.grid4-2,
	.grid4-3,
	.flex2>*{
		width: 100%;}
	.flex3>*,
	.flex4>*,
	.flex4:before,
	.flex4:after,
	.flex5>*,
	.flex5:before,
	.flex5:after{
		width: 47%;}

	.flex3-1>*{
		width: 100%;}

	.flex4-4>*{
		width: 22%;}
.grid>*,
.flex2>*,
.flex2-2>*,
.flex3>*,
.flex4>*,
.flex4-4>*,
.flex5>* {
	margin-bottom: 0.5em;}
}



.flex2 div img,
.flex2-2 div img,
.flex3 div img,
.flex3-1 div img,
.flex4 div img,
.flex4-4 div img,
.flex5 div img{width:100%;
border-radius:6px;}


.fleximg{
width:100%;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-align-items:flex-start;
-ms-align-items:flex-start;
align-items:flex-start;
-webkit-justify-content: space-between;
justify-content: space-between;
}
.fleximg div{
width: 40%;
margin: 0;
padding: 0;
overflow: hidden;
position: relative;
}

.fleximg div:last-child{
width: 57%;}

.fleximg div img{
width:100%;
height: auto;
vertical-align: bottom;
border-radius:6px;
}






/*-----------------------------------
HEAD
-----------------------------------*/
header{
width:100%;
height:60px;
line-height:60px;
display: flex;
justify-content: space-between;
position:fixed;
z-index: 996;
background:rgba(0,0,0,0.9);
}

header h1{
width:200px;
height:60px;
position: relative;
left:50px;
margin-top:5px;
}

    header h1 img{
    width:100%;
    height:60px;
    line-height:60px;
    }


/* menu button */
.el_humburger {
display: block;
position: relative;
top:22px;
right:20px;
width:25px;
cursor: pointer;
pointer-events: auto;
color: #fff;
text-align: center;
z-index:9999;}
 
.el_humburger span {
display: block;
width: 100%;
margin: 0 auto 7px;
height: 1px;
background: #fff;
border-radius:1px;
-webkit-transition: all .3s ease-in-out;
-o-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;
}
	
.el_humburger span:last-child {
margin-bottom: 0; }
	
	.js_humburgerOpen .el_humburger span:first-child {
		-webkit-transform: translateY(5px) rotate(-45deg);
		-ms-transform: translateY(5px) rotate(-45deg);
		transform: translateY(5px) rotate(-45deg);}
	
	.js_humburgerOpen .el_humburger span:nth-child(2){
		-webkit-transform: translateY(-3px) rotate(-45deg);
		-ms-transform: translateY(-3px) rotate(-45deg);
		transform: translateY(-3px) rotate(-45deg);}
	
	.js_humburgerOpen .el_humburger span:last-child {
		-webkit-transform: translateY(-11px) rotate(45deg);
		-ms-transform: translateY(-11px) rotate(45deg);
		transform: translateY(-11px) rotate(45deg); }
 
.navi {
position: fixed;
right: 0;
top:90px;
height: 100%;
background-color: rgba(10,10,10,0.9);
width: 0;
text-align:left;
-webkit-transition: all 0.6s ease-out;
-o-transition: all 0.6s ease-out;
transition: all 0.6s ease-out;
z-index: 999;
overflow-x: hidden;
overflow-y: scroll;
-ms-overflow-style: none;
scrollbar-width: none;}

.navi::-webkit-scrollbar {  /* Chrome, Safari 対応 */
display:none;}

.js_humburgerOpen .navi {
width:30%;
max-width:30%;}

.navi ul{
padding:0;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-align-items: stretch;/*   Safari etc. */
-ms-align-items: stretch;/*  IE10        */
align-items: stretch;
-webkit-flex-wrap: wrap;/* Safari6.1以降 */
-ms-flex-wrap: wrap;/*IE10*/
flex-wrap: wrap;}

.navi ul li{
display:block;
width:100%;}

.navi a{
width:100%;
display:block;
white-space:nowrap;
text-decoration:none;
font-weight:normal;
font-size:90%;
padding:0.75em 1em;
margin:0;
color:#fff;
border-bottom:1px solid #666;
transition:0.2s;}

.navi a:hover{
color:#ccc;
background:rgba(255,255,255,0.2);}

@media screen and (max-width: 768px) {
header h1{
left:20px;
}

.js_humburgerOpen .navi {
width: 100%;
max-width: 100%;}

.navi ul li{
display:block;
width:100%;}

.navi a{
width:100%;
display:block;
white-space:nowrap;
text-decoration:none;
font-weight:normal;
padding:1em;
margin:0 0;
color:#fff;
border:0;
border-bottom:1px solid #333;}

.navi a:first-child{
border-top:1px solid #333;
 }
}



/*-----------------------------------
MOVIE
-----------------------------------*/

#movie{
	width: 100%;
	height: 100%;
	margin:0;
	padding:0;
	position:relative;
	top: 0;
	left: 0;
	z-index: 2;
	vertical-align: bottom;
background-color:#000;}

video {
	width:100%;
	height:auto;
	margin:0;
	padding:0;
	position:relative;
	right: 0;
	top: 0;
	z-index:1;
	vertical-align: bottom;
  filter:grayscale(0.5);}

#movie div{
	position: absolute;
  	top: 55%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
	z-index:9;
	text-align:center;
	color:#fff;
    font-size:80%;
font-family:"Roboto";
font-weight:100;
letter-spacing:0.1em;}

#movie div img{
width:55%;
opacity:0.9;
}


@media(max-width: 768px){
	
#movie{overflow: hidden;}

video {
	width:200%;
	left: -50%;}

#movie div{
  	bototm: 0%;}

#movie div img{
width:100%;
}
}

/*--------------------
PAGETITLE
BREADCRUMBS
--------------------*/
#pagetitle{
padding-top:60px;
width:100%;}

#breadcrumbs{
width:100%;
margin:0 auto 20px;
padding-top:10px;
padding-left:50px;
padding-bottom:10px;
color:#666;
background-color:#fff;
border-bottom:1px solid #ddd;
}

#breadcrumbs span{
font-size:80%;
}

	#breadcrumbs a{
font-weight:normal;
color:#896574;}

		#breadcrumbs a:hover{
			color:#b5a1a9;}

	#breadcrumbs .page-name span,
	#breadcrumbs .current-item span{
		display:none;}

#pagetitle h1{
width:90%;
max-width:1000px;
margin:0 auto;
padding:0 0 0;
color:#896574;
font-weight:600;
font-size:120%;
letter-spacing:0.05em;
}

#pagetitle #entry-slug{
display:block;
width:90%;
max-width:1000px;
margin:0 auto 20px;
color:#d5bec8;
text-transform: uppercase;
font-size:80%;
font-family:"Roboto";
letter-spacing:0.1em;}

/*--------------------
水平移動リンク
--------------------*/
#pages main section ul.horizontallink + h2{
margin-top:1em;
}

ul.horizontallink{
list-style:none;
display: flex;
flex-wrap: wrap;
justify-content: center;
margin-left:0;
margin-bottom:0;}

ul.horizontallink li{
margin:0 0.5em 1em;
}

ul.horizontallink li a{
display:block;
width:100%;
text-decoration:none;
text-align:center;
color:#999;
border:1px solid #ddd;
background:#fff;
border-radius:3px;
padding:0.55em 1.05em;
font-size:80%;
transition:.5s;}

#pages main section ul.horizontallink li a{
color:#999;}

body.outline main section ul.horizontallink li a.parent,
body.message main section ul.horizontallink li a[href*=message]{
background:#f6f6f6;
color:#fff;}

ul.horizontallink li a:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f054";
margin-right:0.4em;}

#pages main section ul.horizontallink li a:hover,
#pages main section li a:focus{
background:#896574;
color:#fff;}

@media screen and (max-width: 768px) {
ul.horizontallink{
justify-content: start;
margin-bottom:1em;}

ul.horizontallink li{
margin:0 0.1em 0.5em;
}

#pages main section ul.horizontallink li a{
border-radius:10px;
padding:0.5em 0.75em;
font-size:75%;}
}

/*--------------------
CONTENTS
--------------------*/
main{
width:100%;
display:block;
animation: fadein 2s forwards;
overflow-x:hidden;
}

body#pages main{
background:#eee;
padding-bottom:60px;}

@keyframes fadein {
	0% {opacity: 0}
	100% {opacity: 1}
}

body#pages main section{
width:90%;
max-width:1000px;
margin:0 auto;
border-radius:4px;
background:#fdfdfd;
padding:60px;}

body#index main section{
width:100%;
}

@media screen and (max-width:768px) {
body#pages main section{
	width:100%;
	padding:30px;}

body#index main section{
	width:100%;}
}


/*-----------------------------------
INDEX
-----------------------------------*/

/*--------------------
BUTTON
--------------------*/


/*--------------------
PAGES
--------------------*/

.single main section h2,
#pages main section h2{
color:#896574;
font-size:180%;
font-weight:600;
text-align:center;
width:100%;
padding:0.5em;
margin-bottom:1em;
text-align:center;
text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.2);
background: linear-gradient(to right, #222, #666);
border-radius:2px;
color: white;
}

.single main section h3,
#pages main section h3{
font-size:140%;
line-height:1.8em;
margin-bottom: 1em;
font-weight:600;
color:#222;
}



.single main section p + h2,
#pages main section p + h2,
#pages main section ol + h2,
#pages main section ul + h2,
#pages main section div + h2,
#pages main section table + h2,
#pages main section img + h2,
.single main section p + h3,
#pages main section p + h3,
#pages main section ol + h3,
#pages main section ul + h3,
#pages main section div + h3,
#pages main section table + h3,
#pages main section img + h3{
margin-top:2em;
}

.single main section h4,
#pages main section h4{
font-size:120%;
line-height:1.6em;
margin-bottom: 0.5em;
}

#pages main section p a,
#pages main section p a:visited,
#pages main section table a,
#pages main section table a:visited,
#pages main section ul a,
#pages main section ol a,
#pages main section ul a:visited,
#pages main section ol a:visited{
color:#896574;
transition:0.5s;
}

#pages main section p a:hover,
#pages main section table a:hover,
#pages main section ul a:hover,
#pages main section ol a:hover{
color:#b5a1a9;
}

.single main section p,
#pages main section p,
#pages main section ul,
#pages main section ol,
#pages main section div.box_white,
#pages main section table{
font-size:100%;
line-height:1.6em;
margin-bottom: 1.5em;
}

.borderbox{
padding:1.5em;
border:1px solid #eee;
border-radius:10px;
}

div.box_white{
padding:1.5em;
background:#fff;
border:1px solid #eee;
border-radius:10px;
}

#pages main section div.box_white p:last-child,
#pages main section div.box_white ul:last-child{
margin-bottom:0;}

#pages main section img + div.box_white{
margin-top:2em;}

#pages main section ul,
#pages main section ol{
margin-left:1.5em;
}

.size-full{width:100%;}
.size-half{width:50%;margin:0 auto 1em;}
#pages main section .size-full,#pages main section .size-half{margin-bottom:1em;}

@media screen and (max-width:768px) {
.size-half{width:100%;}
}

#pages main section p.notice{
color:#777;
font-size:90%;
text-align:left;
}

#pages main section p a.filelink{
display:inline-block;
text-decoration:none;
text-align:center;
color:var(--white);
background:var(--navy);
border-radius:9999px;
padding:0.75em 2em;
margin:0 auto;
transition:.5s;}

#pages main section p a.filelink:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f054";
margin-right:0.5em;}

#pages main section p a.filelink:hover,
#pages main section p a.filelink:focus{
background:var(--blue);}

.filelink + .filelink{
margin:2em;
}

/*-- リンクボタン --*/
a.linkbtn,
main section a.linkbtn{
text-align:center;
display:block;
width:55%;
margin:0px auto 30px;
color:#fff;
text-decoration:none;
background:#b5a1a9;
padding:1em;
border-radius:6px;
transition:0.5s;
}
a.linkbtn:hover,
main section p a.linkbtn:hover{
background:#896574;
color:#fff;
}

.indexbtnset{
width:100%;
margin:0px auto 30px;
text-align:center;}

.indexbtnset a{
text-align:center;
display:inline-block;
color:#fff;
text-decoration:none;
background:#b5a1a9;
padding:1em 2em;
margin:0.5em;
border-radius:4px;
transition:0.5s;
}
.indexbtnset a:hover{
background:#896574;
color:#fff;
}

.indexbtnset a:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f138";
margin-right:0.35em;}


/*-- テーブル --*/

#pages main section table{
border-collapse:collapse;
width:100%;
border-top:1px solid #e6e6e6;
}

#pages main section table th,
#pages main section table td{
text-align:left;
padding:0.75em 1em;
border-bottom:1px solid #e6e6e6;
}

#pages main section table th{
background:#fff;
}

#pages main section table td{
background:#fff;}

#pages main section table tr:nth-child(even) th,
#pages main section table tr:nth-child(even) td{
background:#f6f6f6;}

/*--セミナー--*/
.seminar main section table th{
width:20%;
}

/*--連絡先--*/
.address main section table th{
width:50%;
}

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

#pages main section table th{
padding:1em 0.75em 0;
border-bottom:none;
}
#pages main section table td{
padding:0 0.75em 1em;
}


.seminar main section table th,
.address main section table th,
.seminar main section table td,
.address main section table td{
display:block;
width:100%;
}
}

/*-- FAQ --*/

.faq main dl{
padding:1.5em;
background:#fff;
border:1px solid #eee;
border-radius:10px;
margin-bottom:1em;
}

.faq main dl dt{
padding:0.5em 1em 0.5em;
margin-bottom:0;
font-weight:600;}

.faq main dl dd{
padding:0 1em 0.5em;
margin-bottom:0;}


/*-- 電話とFAX番号 --*/

span.telno,span.faxno{
display:block;
margin-top:0.5em;
font-size:120%;
font-family: "Roboto", sans-serif;
font-weight:500;
color:#896574;}

span.telno:before{
font-family: "Font Awesome 5 Free";
font-size:100%;
font-weight: 900;
vertical-align: baseline;
content: "\f095";
margin-right:0.2em;}

span.faxno:before{
font-family: "Font Awesome 5 Free";
font-size:100%;
font-weight: 900;
vertical-align: baseline;
content: "\f1ac";
margin-right:0.2em;}

@media screen and (max-width: 768px) {
span.telno,span.faxno{
margin-top:0.25em;
font-size:120%;}
}

/*-- 社訓 --*/

#pages main section div.mottobox{
border:1px solid #999;
padding:2em 2em;
margin-bottom:1em;
text-align:center;
font-family:"Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
background:#fff;
border-radius:4px;}


#pages main section div.mottobox p:first-child{
font-size:180%;
margin-bottom:0;
}

#pages main section div.mottobox p:last-child{
font-size:100%;
margin-bottom:0;
}

/*-- パートナー --*/
.partnerlist{

}

.partnerlist img{
border:1px solid #ccc;
border-radius:4px;
}

.partnerlist div{
text-align:center;
font-size:80%;
}

/*-------------------
PAGE--SITEMAP
--------------------*/
ul.wsp-pages-list{}

ul.wsp-pages-list li{
padding:0.5em 0;
border-top:1px solid #ddd;
list-style:inside;
}
ul.wsp-pages-list li ul{
padding:0.5em 0;
}
ul.wsp-pages-list li:last-child{
border-bottom:1px solid #ddd;}

/*--------------------
PAGE--MAP
--------------------*/

iframe[src*="www.google.com/maps/embed"] {
	aspect-ratio: 8 / 5;
	width: 100%;
	height: auto;
margin-bottom:1.5em;
border-radius:10px;
}

/*--------------------
PAGE--MOVIE
--------------------*/
iframe[src*="https://www.youtube.com/embed/"],
iframe[src*="https://player.vimeo.com/video/"] {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
margin-bottom:1.5em;
border-radius:4px;
  /* iframe自体の最大幅を制限して中央寄せする場合など */
  max-width: 1000px;
  margin-inline: auto;
}

/*--------------------
PAGE--ACHIEVEMENT
--------------------*/


div.achievementcategory a{
display:block;
color:var(--white);
background:var(--navy);
text-decoration:none;
transition:0.5s;}

div.achievementcategory a:hover,
div.achievementcategory a span:hover{
opacity:0.8;
background:var(--blue);
}

div.achievementcategory a span:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f0a9";
margin-right:0.4em;}

div.achievementcategory a span{
display:block;
padding:0 0 0.5em;
font-size:90%;
color:var(--white);
text-align:center;
	}




/*--------------------
WP
--------------------*/
.navigation{
  width: 100%;
  margin: 0 0 5em;
  padding: 3em 0 0;
  font-size: 80%;}

.navigation div.nav-links{
			display: -webkit-box;
			display: -ms-flexbox;
			display: -webkit-flex;
			display: flex;
			-webkit-box-pack: justify;
			-ms-flex-pack: justify;
			-webkit-justify-content: space-between;
			justify-content: space-between;
			-webkit-align-items: stretch;/*   Safari etc. */
			-ms-align-items: stretch;/*  IE10        */
			align-items: stretch;
			-webkit-flex-wrap: wrap;/* Safari6.1以降 */
			-ms-flex-wrap: wrap;/*IE10*/
			flex-wrap: wrap;
}

.navigation div.nav-links > *{
width:49.5%;}

	.navigation h2{display:none;}

	.nav-previous a,
	.nav-next a,
	.nav-back a {
		padding: .8em 1.5em; }
	
.nav-links > .nav-previous a,
.nav-links > .nav-next a{
		display: block;
		line-height: 1.5em;
		font-weight:normal;
		border-radius: 5px;
		color:#ffffff;
background:#666;
transition:0.5s;
text-decoration:none;
white-space: nowrap;      /* 改行を禁止する */
overflow: hidden;         /* はみ出た部分を隠す */
text-overflow: ellipsis;  /* はみ出た部分を「…」にする */}
		
		.nav-previous a:hover,
		.nav-next a:hover {
			display: block;
			background:#222;
			opacity: 1; }

.nav-links > .nav-next a{
text-align:right;
}

.nav-links > .nav-previous a span,
.nav-links > .nav-next a span{
display: inline;
padding:1em;
}

.nav-links > .nav-previous a span.navitext{
border-right: 1px solid #fff; }
.nav-links > .nav-next a span.navitext{
border-left: 1px solid #fff; }

.nav-links > .nav-previous a span.navitext:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f104";
margin-right:0.4em;}

.nav-links > .nav-next a span.navitext:after{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f105";
margin-left:0.4em;}

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

.navigation div.nav-links > *{
width:100%;
margin-bottom:10px;}

.nav-links > .nav-previous a span.navitext{
border-right: 1px solid #fff; }
.nav-links > .nav-next a span.navitext{
border-left: 1px solid #fff; }

}


/*-- pagenavi --*/
div.wp-pagenavi{
	width: 100%;
	font-size: 90%;
	text-align: center;
	margin:0 0 4em;}

	div.wp-pagenavi span.pages{
		display: block;
		padding: 5px 10px;
		margin: 0 0 10px;
		color:#999;}

	div.wp-pagenavi span.current,
	div.wp-pagenavi a.page,
	div.wp-pagenavi a.nextpostslink,
	div.wp-pagenavi a.previouspostslink{
display: inline-block;
width: 40px;
height: 40px;
line-height: 40px;
margin: 5px;
color: var(--blue);
align-items: center;
border:1px solid var(--blue);
border-radius:99999px;
text-decoration:none;
transition:0.5s;}

div.wp-pagenavi a.page:hover,
div.wp-pagenavi a.nextpostslink:hover,
div.wp-pagenavi a.previouspostslink:hover{
color: #fff;
background: var(--navy);
border:1px solid var(--navy);
opacity:1;}

div.wp-pagenavi span.current{
background: var(--blue);
color: #fff;}





/*--------------------
FORM
--------------------*/



input[type="text"],input[type="email"],input[type="password"],select,textarea{
	font-size:120%;
	width:100%;
	padding:0.5em;
	background:#fff;
	border:1px solid #d8d1d1;
	border-radius:4px;
}

input[type="text"].input_s{width:50%;}
input[type="text"].input_m{width:75%;}

input[type="checkbox"]{margin-right:0.25em;}

section form{
	margin-bottom:40px;
}


input[type=checkbox] {
	-moz-transform:		scale(1.8);
	-webkit-transform:	scale(1.8);
	transform:		scale(1.8);
}

select{
width:50%;
	font-size:100%;
	padding:1em 0.25em;}

select option{}

input[type="radio"]{
	font-size:120%;
	padding:0.5em;
	margin:0 auto;
	margin-right:0.5em;}

label span{
	margin-right:1em;
}

p.acceptance{
	display:block;
	width:100%;
	padding:2em;
	border-radius:5px;
	margin-bottom:2em;
	background:#fff;
}

.transmit{
	width:100%;
	margin:2em auto;
	text-align:center;}

input[type="submit"]{
	font-size:120%;
	font-weight:bold;
	width:50%;
	padding:0.5em;
	margin:0 auto;
	background:#222;
	color:#fff;
border:1px solid #d8d1d1;
border-radius:6px;
transition:0.5s;}

input[type="submit"]:hover{
	background:#444;
	color:#fff;
}

div.wpcf7-mail-sent-ok,
div.wpcf7-mail-sent-ng,
div.wpcf7-spam-blocked,
div.wpcf7-validation-errors,
.wpcf7-response-output{
font-weight:bold;
}

.wpcf7-response-output{
color: #ff0000;
}

div.wpcf7-mail-sent-ok {
border:2px solid #398f14;
}
div.wpcf7-mail-sent-ng {
border:2px solid #ff0000;
}
div.wpcf7-spam-blocked {
border:2px solid #ffa500;
}
div.wpcf7-validation-errors {
border:2px solid #f7e700;
}

.wpcf7-not-valid-tip{
	color:#ff0000;
}

.screen-reader-response ul{
	display:none;
}

table#form{
width:100%;
}

table#form th,table#form td{
padding:0.5em;
}

table#form th{
text-align:left;
max-width:25%;
padding-right:2em;
white-space: nowrap;
}

table#form th em{
font-size:80%;
color:var(--vermilion);
margin-left:0.5em;
font-style:normal;
}

div.formcheck{border:1px solid #000;background:#eee;}

@media screen and (max-width: 768px) {
table#form th,table#form td{
display:block;
max-width:100%;
width:100%;
}
input[type="text"].input_s{width:100%;}
input[type="text"].input_s{width:100%;}

select{
width:100%;
}
}


/*--------------------
FOOTER
--------------------*/

footer{
	width:100%;
	padding:3em 0;
background: linear-gradient(to right, #262626 50%, #000);
	color:#ddd;
	text-align:center;
font-size:90%;}

footer a,
footer a:visited{color:#fff;
transition: 0.5s;}
footer a:hover{color:#ccc;}

#footbox{
width:90%;
max-width:1000px;
margin:0 auto;
text-align:left;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-align-items: stretch;/*   Safari etc. */
-ms-align-items: stretch;/*  IE10        */
align-items: stretch;
-webkit-flex-wrap: wrap;/* Safari6.1以降 */
-ms-flex-wrap: wrap;/*IE10*/
flex-wrap: wrap;
align-items: flex-start;}

#footbox:after{
	content: "";
	display: block;}

#footbox > dl{
width: 72%;
display: flex;
flex-wrap: wrap;
margin:20px auto;}


#footbox > address{
width: 25%;
margin:0 auto;}

#footbox > address p{
width:100%;
margin:0 auto 20px;
font-size:90%;
}
#footbox > address img{
width:100%;
}
#footbox > address a img{
transition: 0.5s;}

#footbox > address a:hover img{
opacity:0.7;
}


#footbox > dl dt,#footbox > dl dd{
margin:0 15px 15px 0;}

#footbox > dl dt a,#footbox > dl dd a{
text-decoration:none;
display:block;
font-size:90%;
color:#aaa;}

#footbox dl dt a:before,#footbox dl dd a:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;}

#footbox dl dt a:before{
content: "\f138";
margin-right:0.35em;}
#footbox dl dd a:before{
content: "\f054";
margin-right:0.5em;}


@media screen and (max-width: 768px) {
footer{
	padding:0 0;}
#footbox{
width:100%;}

#footbox > dl{
width: 100%;
display: block;
margin:0 auto;}

#footbox > dl,#footbox > address{
	width: 100%;}

#footbox > dl dt,#footbox > dl dd{
padding:0;
margin:0;
border-bottom:1px solid rgba(255,255,255,0.2);}

#footbox > dl dt a,#footbox > dl dd a{
display:block;
text-decoration:none;
padding:0.8em 1em;
}

#footbox > dl dt a:hover,#footbox > dl dd a:hover{
background:rgba(255,255,255,0.2);
	}

#footbox > address{
text-align:center;
}

#footbox > address p{
width:80%;
margin:20px auto;
font-size:90%;}

#footbox > address img{width:50%;
margin:20px auto;}

}


/*-- リンク --*/
#link_instagram{
display:block;
width:50px;
height:140px;
position: fixed;
bottom: 100px;
left: 0px;
z-index:99;
}


#link_instagram img{
width:50px;
height:140px;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
transition: 0.5s;
text-align: center;
display: block;
opacity:0.8;
border-radius: 0 10px 10px 0;
}
#link_instagram img:hover{
	opacity:1;}

@media(max-width: 768px){
#link_instagram{bottom: 100px;}

#link_instagram{
width:40px;
height:112px;
}

#link_instagram img{
width:40px;
height:112px;}

}

#link_pagetop{
display:block;
width:50px;
height:50px;
position: fixed;
right: 10px;
bottom: 10px;
z-index:99;}

#link_pagetop img{
width:50px;
height:50px;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
transition: 0.5s;
text-align: center;
display: block;
opacity:0.8;
}

#link_instagram img:hover,
#link_youtube img:hover,
#link_shop img:hover,
#link_pagetop img:hover{
	opacity:1;}

@media(max-width: 768px){
#link_instagram{top: 200px;}
#link_youtube{top: 350px;}
#link_shop{top: 500px;}

#link_instagram,
#link_youtube,
#link_shop{
width:40px;
height:112px;
}

#link_instagram img,
#link_youtube img,
#link_shop img{
width:40px;
height:112px;}

#link_pagetop{
display:block;
width:40px;
height:40px;}

#link_pagetop img{
width:40px;
height:40px;}



}

/*--------------------
イベント一覧
--------------------*/
div.eventitem{
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: stretch;/*   Safari etc. */
	-ms-align-items: stretch;/*  IE10        */
	align-items: stretch;
	-webkit-flex-wrap: wrap;/* Safari6.1以降 */
	-ms-flex-wrap: wrap;/*IE10*/
flex-wrap: wrap;
border-bottom:1px solid #ccc;
padding:1em 0;
margin-bottom:1em;}

div.eventset > div.eventitem > div.eventimg{
width: 25%;}

div.eventset > div.eventitem > div.eventtxt{
width: 100%;}

div.eventset > div.eventitem > div.eventimg img{
width: 100%;
height:auto;}

div.eventset > div.eventitem > div.eventtxt h4{}

div.eventset > div.eventitem > div.eventtxt h4 a{
	color:#666;
}

div.eventset > div.eventitem > div.eventtxt p{}

div.eventset > div.eventitem > div.eventtxt span{
display:inline-block;
padding:0.2em 0.75em;
font-size:80%;
color:#fff;
background:#ccc;
border-radius:9999px;
margin-bottom:1em;
}

div.eventset > div.eventitem > div.eventtxt span.eventdate:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f017";
margin-right:0.5em;}

div.eventset > div.eventitem > div.eventtxt span.eventcat:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f02e";
margin-right:0.5em;}

/*--------------------
個別記事
--------------------*/

.entryset{
background:#fff;
padding:2em;
border:1px solid #eee;
}

.entry-date,.entry-cat{
display:inline-block;
padding:0.2em 0.75em;
font-size:80%;
color:#fff;
background:#ccc;
border-radius:9999px;
margin-right:0.5em;
margin-bottom:1.5em;}

.entry-date:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f017";
margin-right:0.5em;}

.entry-cat:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f02e";
margin-right:0.5em;}

.entryset img{
	border:1px solid #ccc;
	border-radius:10px;
}

/*--------------------
記事
--------------------*/

/*-- ギャラリー --*/
.gallery-columns-2,
.gallery-columns-3{
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: stretch;/*   Safari etc. */
	-ms-align-items: stretch;/*  IE10        */
	align-items: stretch;
	-webkit-flex-wrap: wrap;/* Safari6.1以降 */
	-ms-flex-wrap: wrap;/*IE10*/
	flex-wrap: wrap;}

.gallery-columns-2:after,
.gallery-columns-3:after{
	content: "";
	display: block;}

.gallery-columns-2 .gallery-item{
width:48%;
}

.gallery-columns-3 .gallery-item{
width:32%;
}

.gallery-columns-3 .gallery-item:after{
	content: "";
	display: block;}

.gallery-item img{
width:100%;
height:auto;
}

@media(max-width: 768px){
.gallery-columns-2 .gallery-item,
.gallery-columns-3 .gallery-item{
width:100%;
}
}

/*--------------------
トップページ
--------------------*/



section#sec00 > div.photoset{
width:100%;
display: flex;
justify-content: space-between;
align-items: stretch;
flex-wrap: wrap;}

section#sec00 > div.photoset > img{
display:block;
width:calc(100% / 4);}


@media(max-width: 768px){
section#sec00 > div.photoset > img{
width:50%;
	}

}

/*--イントロ--*/
section#sec01{
padding:100px 0;
color:#fff;
background-image: url("../img/bg_08.jpg");
background-size:cover;
background-position: top center;
background-attachment: fixed;
text-align:center;}

@media(max-width: 768px){
section#sec01{
background-attachment: scroll;}
}

section#sec01 div{
width:80%;
max-width:1000px;
margin:0 auto;
text-align:left;
	}

section#sec01 div img{
width:50%;
}

section#sec01 div p{
width:50%;
font-size:80%;
line-height:1.8em;
margin-bottom:1em;
text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.4);
}

section#sec01 div p a{
position: relative;
left: 50%;
transform: translateX(-50%);
display:inline-block;
font-size:120%;
margin:2em auto;
padding:0.75em 3em;
border:1px solid #fff;
border-radius:9999px;
text-decoration:none;
color:#fff;
background:none;
transition:0.5s;
}

section#sec01 div p a:hover{
background:var(--vermilion);
	}

section#sec01 div p a:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f054";
margin-right:0.5em;}

@media(max-width: 768px){
section#sec01{
padding:50px 0;
text-align:center;
margin:0 auto;
background-position: 60% 50%;}

section#sec01 div{
width:80%;
margin:0 auto;}

section#sec01 div img{
width:80%;
margin:0 auto;position: relative;
left: 50%;
transform: translateX(-50%);
}

section#sec01 div p{
width:100%;
}
	}

/*--ニュース--*/

section#sec02{
display:block;
margin:0 auto;
padding:30px 0;
background: linear-gradient(to right, #060606 50%, #161616);}

section#sec02 h2{
width:90%;
max-width:1000px;
margin:30px auto;
color:#666;
font-size:300%;
font-family: "Roboto", sans-serif;
font-weight:500;}

section#sec02 h2 ruby{
font-size:30%;
font-weight:normal;
padding-left:1em;
}

div.newsset{
width:90%;
max-width:1000px;
margin:30px auto;
display:flex;
justify-content: space-between;
align-items: stretch;
flex-wrap: wrap;}

div.newsitem{
width:31.5%;
border:1px solid #333;
border-radius:6px;
padding:1.5em;
margin-bottom:30px;
background:#222;
}

div.newsimg{
display:block;
width: 100%;
aspect-ratio: 3 / 2;
overflow:hidden;
border-radius:4px;
margin-bottom:10px;}

div.newstxt{
display:block;
width: 100%;}

div.newstxt h4,
div.newstxt h4 a,
div.newstxt h4 a:visited{
color:#ccc;
margin:0;
padding:0;
transition:0.5s;
text-decoration:none;}

div.newstxt h4 a:hover{
color:#896574;}

div.newsimg img{
width: 100%;
height:auto;
margin:0;
padding:0;
border-radius:4px;
transition:0.5s}

div.newsimg img:hover{
transform: scale(1.1);
opacity:0.5;
}

div.newstxt p{
padding:0.5em 0;
font-size:80%;
color:#999;}

div.newstxt p a{transition:0.5s;color:#666;}
div.newstxt p a:hover{color:#896574;}

div.newstxt span.newscat{
padding:0.2em 1em;
font-size:80%;
color:#555;
border:1px solid #555;
border-radius:9999px;
margin-bottom:1em;
}

span.newscat:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
vertical-align: baseline;
content: "\f02e";
margin-right:0.5em;}

div.newstxt span.newsdate{
display:block;
font-size:80%;
font-family: "Roboto", sans-serif;
font-weight:500;
color:#555;

}

@media(max-width: 768px){
div.newsset{
width:90%;
margin:30px auto;}

div.newsitem{
width:100%;}

div.newstxt{
width: 100%;}
	}


/*--お知らせ--*/

section#sec03{
display:block;
margin:0 auto;
padding:30px 0;
background: linear-gradient(to right, #161616 50%, #060606);}

section#sec03 h2{
width:90%;
max-width:1000px;
margin:30px auto;
color:#666;
font-size:300%;
font-family: "Roboto", sans-serif;
font-weight:500;}

section#sec03 h2 ruby{
font-size:30%;
font-weight:normal;
padding-left:1em;
}

section#sec03 > div{
width:90%;
max-width:1000px;
margin:30px auto;}

section#sec03 div.infoitem{
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
-webkit-justify-content: space-between;
justify-content: space-between;
align-items: center;
margin:0 auto 1px;
background:#e6e6e6;
text-align:left;}

section#sec03 div.infoitem:nth-child(odd){
background:#f6f6f6;}

section#sec03 span.infodate,
section#sec03 span.infotitle{
}

section#sec03 span.infodate{
font-family: "Roboto", sans-serif;
font-weight:500;
font-size:120%;
color:#999;
padding-top:0.75em;
padding-left:2em;
padding-bottom:0.75em;
padding-right:0.75em;
}

section#sec03 span.infotitle{
flex:1;
padding-top:0.75em;
padding-left:0.75em;
padding-bottom:0.75em;
padding-right:2em;
font-size:105%;
}
section#sec03 span.infotitle a{
text-decoration:none;
width:100%;
color:#896574;
transition:0.5s;}

section#sec03 span.infotitle a:hover{
color:#aa3680;}
}

@media(max-width: 768px){

	section#sec03 span.infodate,
	section#sec03 span.infotitle{
	display: block;
	width:100%;
	}
}


/*--バナー--*/

section#sec04{
display:block;
margin:0 auto;
padding:30px 0;
background: linear-gradient(to right, #060606 50%, #161616);}

section#sec04 > div{
width:90%;
max-width:1000px;
margin:30px auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-align-items: stretch;/*   Safari etc. */
-ms-align-items: stretch;/*  IE10        */
align-items: stretch;
-webkit-flex-wrap: wrap;/* Safari6.1以降 */
-ms-flex-wrap: wrap;/*IE10*/
flex-wrap: wrap;}

#sec04 > div div a img{
border:1px solid #333;
border-radius:10px;
}

#sec04 > div a img{
transition:0.5s;
}

#sec04 > div a img:hover{
transform: scale(1.1);
opacity:0.7;
}

#sec04 > div.indexdesc{
width:90%;
max-width:1000px;
border:1px solid #333;
border-radius:6px;
background:#111;
padding:2em;
}

#sec04 > div.indexdesc p{
color:#999;
column-count: 2;
column-gap: 2em;}


@media(max-width: 768px){
section#sec04 > div{
width:90%;}


#sec04 > div.indexdesc p{
column-count: 1;}
}






/*--------------------
FADEIN
--------------------*/
/*--フェード--*/
.fadeIn {
  opacity: 0;
  transition: 2s;
}
.fadeIn.is-show {
  opacity: 1;
}
/*--下から--*/
.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50%);
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
/*--左から--*/
.fadeIn_left {
opacity: 0;
transform: translate(-50%, 0);
transition: 2s;
}
.fadeIn_left.is-show {
transform: translate(0, 0);
opacity: 1;
}
/*--右から--*/
.fadeIn_right {
  opacity: 0;
  transform: translate(50%, 0);
  transition: 2s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}


.txt-k{
font-family:serif;
font-weight:bold;
text-align:right;
}

/*--------------------
揺らぎ
--------------------*/
@keyframes float {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-8px);
}
}

.floating {
animation: float 3.2s ease-in-out infinite;
}

@keyframes pulse {
0%, 100% {
transform: scale(1);
}
50% {
transform: scale(1.02);
}
}

.pulse {
animation: pulse 5s ease-in-out infinite;
}

