@charset "utf-8";

/* ---------------------------------------------------------------- *
ブロックエディタ　投稿ページ用の設定
* ---------------------------------------------------------------- */
.post {
_zoom: 1;
overflow: hidden;
margin-top: 0px;
margin-right: 0px;
margin-left: 0px;
margin-bottom: 50px;
clear: both;
padding: 0px;
/*font-family: 'Noto Sans JP', sans-serif;
font-weight: 300;*/
}
.post h1.blog_t{
font-size: 24px;
padding-top: 10px;
padding-bottom: 10px;
font-weight: bold;
margin-bottom: 10px;
border-bottom: 1px solid #989898;
}
.post div.date {
margin-bottom: 30px;
font-size: 14px;
color: #98998;
line-height: 1.5em;
text-align: right;
}
.post p {
margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
.post {
margin-bottom: 20px;
}
.post h1.blog_t{
font-size: 18px;
}
.post div.date {
margin-bottom: 15px;
font-size: 13px;
}
}

/*==================================================
機能編 7-1-47	矢印が右に移動して背景がつく 
===================================*/

.btnarrow5{
	/*矢印の基点とするためrelativeを指定*/
	position: relative;
	/*ボタンの形状*/
	/*border: 1px solid #555;*/
	padding: 8px 30px;
	display: inline-block;
	text-align: center;
	text-decoration: none;
	color: #333;
	outline: none;
	/*アニメーションの指定*/
	transition: all .2s linear;
	font-size: 13px;
	background:#EEE;
}
.btnarrow5.wtv{
	color: #FFF;
	background:#333;
}
.btnarrow5:hover{
background:#DDDDDD;
/*color:#fff;*/
}
.btnarrow5.wtv:hover{
background:#444444;
}
/*矢印と下線の形状*/
.btnarrow5::before{
content:"";
/*絶対配置で下線の位置を決める*/
position: absolute;
top:49%;
right:-28px;
/*下線の形状*/
width:30px;
height:1px;
background:#000;
/*アニメーションの指定*/
transition: all .2s linear;
}
.btnarrow5.wtv::before,.btnarrow5.wtv::after{
background:#FFF;
}
.btnarrow5::after{
content:"";
/*絶対配置で矢印の位置を決める*/
position: absolute;
top: 24%;
right: -21px;
/*矢印の形状*/
width:1px;
height:12px;
background:#000;
transform:skewX(45deg);
/*アニメーションの指定*/
transition: all .2s linear;
}

/*hoverした際の移動*/
.btnarrow5:hover::before{
right:-32px;
}

.btnarrow5:hover::after{
right:-25px;
}
@media screen and (max-width: 767px) {
.btnarrow5{
padding: 8px 15px;
font-size: 12px;
}
.btnarrow5::before{
top:50%;
right:-25px;
}
}



/* 4-1 ふわっ（下から） */

.fadeUp{
animation-name: fadeUpAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
from {
opacity: 0;
transform: translateY(50px);
}

to {
opacity: 1;
transform: translateY(0);
}
}

/* 4-1 ふわっ（上から）*/

.fadeDown{
animation-name: fadeDownAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
from {
opacity: 0;
transform: translateY(-50px);
}

to {
opacity: 1;
transform: translateY(0);
}
}


/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
from {
opacity: 0;
transform: translateX(-50px);
}

to {
opacity: 1;
transform: translateX(0);
}
}


/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
from {
opacity: 0;
transform: translateX(50px);
}

to {
opacity: 1;
transform: translateX(0);
}
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
opacity: 0;
}


/*==================================================
ボンッ、ヒュッ
===================================*/

/* 拡大 */
.zoomIn{
animation-name:zoomInAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
}

@keyframes zoomInAnime{
from {
transform: scale(0.6);
opacity: 0;
}

to {
transform: scale(1);
opacity: 1;
}
}

/* 縮小 */
.zoomOut{
animation-name:zoomOutAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
}

@keyframes zoomOutAnime{
from {
transform: scale(1.2);
opacity: 0;
}

to {
transform:scale(1);
opacity: 1;
}
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.zoomInTrigger,
.zoomOutTrigger{
opacity: 0;
}


/*Not Found*/
.NotF{
width: 100%;
margin-top: 0px;
margin-bottom: 0px;
clear: both;
padding-top: 100px;
padding-bottom: 100px;
position: relative;
text-align: center;
}
.NotF h1{
font-size: 55px;
font-weight: bold;
padding-bottom: 50px;
color: #444444!important;
line-height: 1.3em;
}
.NotF h1 span{
font-size: 25px;
font-weight: bold;
display: block;
color: #989898;
}
.NotF p{
font-size: 16px;
color: #444444;
}
.NotF p.btn a{
padding-top: 10px;
padding-bottom: 10px;
display: block;
margin-top: 50px;
background-color: #2D2D2D;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
/*-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;*/
color: #FFFFFF;
}
.NotF p.btn{
width: 30%;
margin-left: auto;
margin-right: auto;
}
.NotF p.btn a:hover{
background-color: #989898;
}
@media screen and (max-width: 767px) {
.NotF{
padding-top: 10%;
padding-bottom: 10%;
}
.NotF h1{
font-size: 35px;
padding-bottom: 30px;
line-height: 1.3em;
}
.NotF h1 span{
font-size: 17px;
}
.NotF p{
font-size: 14px;
text-align: left;
}
.NotF p br{
display: none;
}
.NotF p.btn{
width: 80%;
text-align: center;
}
}

/*ユーチューブ*/
.youtube {
width: 100%;
padding-top: 56.25%;
position: relative;
top: 0;
left: 0;
}
.youtube iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}




/*ブログナビ*/
#event_nav {
overflow: hidden;
}

#event_nav ul {
position: relative;
left: 50%;
float: left;
}

#event_nav ul li {
position: relative;
left: -50%;
float: left;
padding-top: 10px;
padding-bottom: 10px;
margin-bottom: 10px;
}
#event_nav ul li i.fa{
margin-left: 10px;
}
#event_nav ul li a{
color: #000000;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 30px;
padding-right: 30px;
margin-right: 10px;
margin-left: 10px;
margin-top: 0px;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
font-size: 12px;
}
#event_nav ul li.blog a{
background-color: #E7E0AA;
}
#event_nav ul li.news a{
background-color: #99CDFF;
}
#event_nav ul li.works a{
background-color: #8EC21F;
}
/*
#event_nav ul{
}
#event_nav ul li{
float: left;
margin-right: 10px;
margin-left: 10px;
margin-bottom: 20px;
}
#event_nav ul li i.fa{
margin-left: 10px;
}
#event_nav ul li a{
color: #000000;
background-color: #E7E0AA;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 20px;
padding-right: 20px;
}
*/
@media screen and (max-width: 767px) {
#event_nav ul li a{
padding-top: 10px;
padding-bottom: 10px;
padding-left: 10px;
padding-right: 10px;
margin-right: 10px;
margin-left: 10px;
margin-top: 0px;
}
}


/*インデント*/
p.indent-1 {
padding-left:1em;
text-indent:-1em;
}


/*ナンバリング*/
.list_num {
_zoom: 1;
overflow: hidden;
clear: both;
margin-right: auto;
margin-bottom: 20px;
margin-left: auto;
width: 100%;
margin-top: 20px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding-top: 50px;
padding-bottom: 30px;
background-color: rgba(241,241,241,0.60);
}
.list_num ol {
counter-reset: my-counter;
list-style: none;
padding: 0px;
margin-right: auto;
margin-left: auto;
max-width: 900px;
}
.list_num ol li {
margin-bottom: 20px;
padding-left: 0px;
position: relative;
padding-right: 0px;
float: left;
width: 46%;
margin-left: 2%;
margin-right: 2%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.list_num ol li:before {
content: counter(my-counter);
counter-increment: my-counter;
background-color: #0F4C97;
color: #ffffff;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
margin-right: 10px;
}
.list_num ol li h3 {
font-size: 16px;
font-weight: bold;
}
.list_num ol li p {
}
.list_num ol li h3.indent {
margin-bottom: 10px;
position: relative;
font-size: 18px;
font-weight: bold;
padding-left:3em;
text-indent:0em;
}

@media screen and (max-width: 767px) {
.list_num {
margin-bottom: 20px;
padding-top: 25px;
padding-right: 25px;
padding-left: 25px;
padding-bottom: 15px;
}
.list_num ol li {
margin-bottom: 20px;
float: none;
width: 100%;
margin-left: 0%;
margin-right: 0%;
}
.list_num ol li h3.indent {
font-size: 14px;
padding-top: 2px;
line-height: 1.8em;
}
}


.list_num2 {
_zoom: 1;
overflow: hidden;
clear: both;
margin-right: auto;
margin-bottom: 40px;
margin-left: auto;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
padding-top: 50px;
padding-right: 50px;
padding-left: 50px;
box-sizing: border-box;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
padding-bottom: 30px;
background-color: rgba(241,241,241,0.60);
}
.list_num2 ol {
counter-reset: my-counter;
list-style: none;
padding: 0px;
margin-bottom: 10px;
clear: both;
}
.list_num2 ol li {
margin-bottom: 15px;
padding-left: 0px;
position: relative;
float: left;
width: 50%;
margin-left: 0%;
margin-right: 0%;
}
.list_num2 ol li:before {
content: counter(my-counter);
counter-increment: my-counter;
background-color: #0F4C97;
color: #FFFFFF;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
margin-right: 10px;
}
.list_num2 ol li p.indent {
padding-left:40px;
text-indent:0px;
}
.list_num2 ol li p strong{
font-weight: bold;
}
@media screen and (max-width: 767px) {
.list_num2 {
margin-bottom: 20px;
padding-top: 25px;
padding-right: 25px;
padding-left: 25px;
padding-bottom: 15px;
}
.list_num2 ol li {
margin-bottom: 15px;
padding-left: 0px;
position: relative;
float: left;
width: 100%;
margin-left: 0%;
margin-right: 0%;
}
}


.list_num3 {
clear: both;
margin-right: auto;
margin-bottom: 50px;
margin-left: auto;
width: 100%;
margin-top: 20px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.list_num3 ol {
counter-reset: my-counter;
list-style: none;
padding: 0px;
margin: 0px;
}
.list_num3 ol li.number {
margin-bottom: 15px;
padding-left: 0px;
position: relative;
}
.list_num3 ol li.number:before {
content: counter(my-counter);
counter-increment: my-counter;
background-color: #E7E7E7;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
margin-right: 10px;
}
.list_num3 ol li.number.az:before {
content: counter(my-counter,lower-alpha);
counter-increment: my-counter;
background-color: #E7E7E7;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
margin-right: 10px;
}
.list_num3 ol li.number.az2:before {
content: counter(my-counter,upper-alpha);
counter-increment: my-counter;
background-color: #E7E7E7;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
margin-right: 10px;
}
.list_num3 ol li p.indent {
padding-left:40px;
text-indent:0px;
}
@media screen and (max-width: 767px) {

}

/*ドット*/
.list_dot {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
margin-top: 0px;
padding: 30px;
background-color: #FEF9E5;
margin-bottom: 50px;
}
.list_dot ul {
list-style: none;
padding-top: 0px;
padding-bottom: 0px;
margin: 0px;
padding-left: 20px;
}
.list_dot ul li {
font-size: 14px;
margin-bottom: 5px;
list-style-type: none;
position: relative;
float: left;
padding-right: 50px;
line-height: 2em;
}
.list_dot ul li::after {
display: block;
content: '';
position: absolute;
top: 0.5em;
left: -1.3em;
width: 12px;
height: 12px;
background-color: #FABE00;
border-radius: 100%;
}
.list_dot ul:after {
height: 0;
visibility: hidden;
content: ".";
display: block;
clear: both;
}
@media screen and (max-width: 767px) {
.list_dot {
margin-right: auto;
margin-left: auto;
padding: 20px;
}
.list_dot ul li {
float: none;
padding-right: 0px;
font-size: 13px;
}
}



/*外部リンク　アイコン設定*/
i.fa-external-link {
margin-left: 10px;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
}
a:hover i.fa-external-link{
margin-left: 15px;
color: #FF0004;
}

/*reCAPTCHA　ロゴの場所を変更*/
.grecaptcha-badge {
bottom: 0px !important;
}



/*アウトライン*/
.flex_Line {
/*_zoom: 1;
overflow: hidden;*/
clear: both;
margin: 0;
padding: 0;
}
.flex_Line ul {
list-style: none;
padding: 0px;
margin: 0px;
}
.flex_Line li{
	display: flex;
	display: -webkit-flex;
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding-top: 0px;
	padding-bottom: 0px;
	border-bottom: 1px solid #CCCCCC;
	line-height: 2em;
}
.flex_Line li:first-child {
border-top: 1px solid #CCCCCC;
}
.flex_Line li .txt{
	width: 25%;
	padding-top: 10px;
	padding-bottom: 10px;
}
.flex_Line li .txt2{
width: 75%;
padding-left: 50px;
padding-top: 10px;
padding-bottom: 10px;
}
.flex_Line li .txt2 p.address a{
color: #009ED9;
font-size: 18px;
font-weight: bold;
}
.flex_Line li .txt2 p span{
	width: 160px;
	display: inline-block;
}
@media screen and (max-width: 767px) {
.flex_Line li .txt{
	width: 28%;
	text-align: center;
}
.flex_Line li .txt2{
width: 72%;
padding-left: 10px;
}
.flex_Line li .txt2 p span{
	width: 8em;
}
}


/*アウトライン　サブ*/
.flex_Line table.sub{
width: 100%;
}
.flex_Line table.sub th{
width: 20%;
}
.flex_Line table.sub td{
width: 80%;
}
@media screen and (max-width: 767px) {
.flex_Line table.sub th{
width: 50%;
}
.flex_Line table.sub td{
width: 50%;
}
}



/*==================================================
機能編 5-1-20　クリックしたら円形背景が拡大（右上から）
===================================*/

/*アクティブになったエリア*/
#g-nav.panelactive{
/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
position:fixed;
z-index: 999;
top: 0;
width:100%;
height: 100vh;
}

/*丸の拡大*/
.circle-bg{
position: fixed;
z-index: 3;
/*丸の形*/
width: 100px;
height: 100px;
border-radius: 50%;
background-color: #0B4A84;
/*丸のスタート位置と形状*/
transform: scale(0);/*scaleをはじめは0に*/
right: -50px;
top: -50px;
transition: all .6s;/*0.6秒かけてアニメーション*/
}

.circle-bg.circleactive{
transform: scale(50);/*クラスが付与されたらscaleを拡大*/
}

/*ナビゲーションの縦スクロール*/
#g-nav-list{
display: none;/*はじめは表示なし*/
/*ナビの数が増えた場合縦スクロール*/
position: fixed;
z-index: 999; 
width: 100%;
height: 100vh;
overflow: auto;
-webkit-overflow-scrolling: touch;
}

#g-nav.panelactive #g-nav-list{
display: block; /*クラスが付与されたら出現*/
}

/*ナビゲーション*/
/*#g-nav ul {
opacity: 0;
position: absolute;
z-index: 999;
top:50%;
left:50%;
transform: translate(-50%,-50%);
}
#g-nav.panelactive ul {
opacity:1;
}*/

/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/
#g-nav.panelactive ul li{
animation-name:gnaviAnime;
animation-duration:1s;
animation-delay:.2s;/*0.2 秒遅らせて出現*/
animation-fill-mode:forwards;
opacity:0;
}
@keyframes gnaviAnime{
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

/*==================================================
5-2-6 3本線が回転して×に
===================================*/

/*ボタン外側*/
.openbtn{
	position: fixed;
	background-color: rgba(10,74,132,1.00);
	top: 35px;
	right: 30px;
	z-index: 9000;
	cursor: pointer;
	width: 50px;
	height: 50px;
	overflow: hidden;/*ジャンプしてはみ出た要素を消す*/
	display: none;
}
@media screen and (max-width: 1100px) {
.openbtn{
	display: block;
}
}
@media screen and (max-width: 767px) {
.openbtn{
top:10px;
right: 10px;    
width: 45px;
}
}

/*ボタン内側*/
.openbtn span{
display: inline-block;
transition: all .4s;
position: absolute;
left: 14px;
height: 2px;
border-radius: 0px;
background: #FFFFFF;
}


.openbtn span:nth-of-type(1) {
top:15px;	
width: 50%;
}

.openbtn span:nth-of-type(2) {
top:23px;
width: 35%;
}

.openbtn span:nth-of-type(3) {
top:31px;
width: 20%;
}

/*activeクラスが付与されると線が回転して×になる*/

.openbtn.active span:nth-of-type(1) {
top: 18px;
left: 12px;
transform: translateY(6px) rotate(-135deg);
width: 50%;
}

.openbtn.active span:nth-of-type(2) {
opacity: 0;
}

.openbtn.active span:nth-of-type(3){
top: 30px;
left: 12px;
transform: translateY(-6px) rotate(135deg);
width: 50%;
}




