@charset "utf-8";

@import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css");

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:500|Noto+Sans+TC&display=swap');

@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,500,600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Baskervville&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Klee+One:wght@600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kosugi&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Sawarabi+Mincho&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Hina+Mincho&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Kaisei+Decol:wght@400;500;700&display=swap');


@import url('https://fonts.googleapis.com/css2?family=Potta+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Potta+One&family=Reggae+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Potta+One&family=Reggae+One&family=RocknRoll+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru&family=Potta+One&family=Reggae+One&family=RocknRoll+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru&family=Potta+One&family=Reggae+One&family=RocknRoll+One&family=Shippori+Antique&display=swap');



.Noto_Sans_JP{
	font-family: 'Noto Sans JP',"游ゴシック",YuGothic,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;
}
.mincho,
.Noto_Serif_JP{
	font-family:'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.Baskervville{
font-family: 'Baskervville', serif;
}

.klee{
font-family: 'Klee One', cursive;
}
.kosugimaru{
font-family: 'Kosugi Maru', sans-serif;}
.kosugi{font-family: 'Kosugi', sans-serif;}
.sawarabi{font-family: 'Sawarabi Mincho', serif;}

.hinamincho{font-family: 'Hina Mincho', serif;}
.kaisei{
font-family: 'Kaisei Decol', serif;}

/*-----------------------------------------------
スマホサイト
-----------------------------------------------*/
@media only screen and (max-width: 768px) {

/* ハンバーガーボタン */
/*メニュー周りの高さ調整は親CSS側で設定すること。*/
/*▼ハンバーガーメニュー(ナビゲーションドロワー)*/	
#navbox {
/*padding-inline: 13px;*/
background-color: var(--main-bg);
height: 50px;
display: flex;
align-items: center;
}

#nav-drawer {
  position: relative;
  background-color: var(--main-bg);
  /*padding: 14px;*/
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 25px;
  height: 22px;
  vertical-align: middle;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 3px;/*線の太さ*/
  width: 25px;/*長さ*/
  border-radius: 3px;
  background: #fff;
  display: block;
  content: '';
  cursor: pointer;
}
#nav-open span:before {
  bottom: -8px;
}
#nav-open span:after {
  bottom: -16px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;/*はじめは隠しておく*/
  position: fixed;
  z-index: 99;
  top: 0;/*全体に広がるように*/
  right: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;/*最前面に*/
  width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
  max-width: 330px;/*最大幅（調整してください）*/
  height: 100%;
  background: #fff;/*背景色*/
  transition: .3s ease-in-out;/*滑らかに表示*/
  -webkit-transform: translateX(105%);
  transform: translateX(105%);/*左に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
  display: block;/*カバーを表示*/
  opacity: .5;
}
#nav-input ~ #nav-content{
/*width:0;*/
	}
#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);/*中身を表示（右へスライド）*/
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
    opacity: 1;
  width:100%;
}

/*▲ハンバーガーメニュー(ナビゲーションドロワー)*/	
	
	

	
#navbox .toji{
	display: block;
	height:5em;
	}
	
#nav-closed{
	  position: absolute;
  display: block;
  width: 30px;
  height: 22px;
  vertical-align: middle;
  margin: 0 auto 2em !important;
top:20px;
right:14px;
border-radius:4px;
padding:10px 0 10px 10px;
z-index:100;
cursor: pointer;
	}
		
#nav-closed span{
  position: absolute;
  height: 3px;/*線の太さ*/
  width: 25px;/*長さ*/
  border-radius: 3px;
  background: #555;
  display: block;
  content: '';
  cursor: pointer;
}



#nav-closed span:nth-of-type(2) {
-webkit-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
}
#nav-closed span:nth-of-type(2)::after {
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
#nav-closed span:nth-of-type(1) {
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}

#nav-closed span:nth-of-type(1)::after {
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}

.trigger .active .target{
	display:block;
	}

.target{
	display:none;
	}

.smp_whole> ul > li > ul >li a{
	background:#eee;
}

.header_box1_in li a,
.smp_whole> ul > li a{
	display:block;
	width:100%;
	/*height:50px;*/
	line-height:50px;
	border-bottom:1px solid #aaa;
	color:#333;
	font-size:15px;
	text-indent:20px;
	position:relative;
}
.header_box1_in li a:after,
.smp_whole> ul > li a:after {
    content: '';
    margin-top: -4px;
    top: 50%;
    right: 15px;
    width: 8px;
    height: 8px;
    color: #888;
    font-size: 1em;
    font-weight: bold;
    line-height: 1.2em;
    display: block;
    position: absolute;
    border-top: 2px solid #b0b0b0;
    border-right: 2px solid #b0b0b0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.header_box1_in li a:not(:hover) {color:#333;text-decoration:none;}
.header_box1_in li a:hover{color:#333;text-decoration:none;opacity: 0.5;}

.smp_whole> ul > li a:not(:hover) {color:#333;text-decoration:none;}
.smp_whole> ul > li a:hover{color:#333;text-decoration:none;opacity: 0.5;}




.smp_whole> ul > li a.trigger:after {/*下階層ある時のボタン。下向き矢印*/
    content: '';
    margin-top: -4px;
    top: 50%;
    right: 15px;
    width: 8px;
    height: 8px;
    color: #888;
    font-size: 1em;
    font-weight: bold;
    line-height: 1.2em;
    display: block;
    position: absolute;
    border-top: 2px solid #777;
    border-right: 2px solid #777;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
.smp_whole .trigger.active{/*下階層ボタンがアクティブの時の親ボタンの背景。*/
	background:#d9d9d9;
}
.smp_whole> ul > li a.trigger.active:after {/*下階層ボタンがアクティブの時の上向き矢印*/
    content: '';
    margin-top: -2px;
    top: 50%;
    right: 15px;
    width: 8px;
    height: 8px;
    color: #888;
    font-size: 1em;
    font-weight: bold;
    line-height: 1.2em;
    display: block;
    position: absolute;
    border-top: 2px solid #777;
    border-right: 2px solid #777;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.sub,
#sub{display: none;}
/*
.smp_whole ul.active #sub{
	display:none;
	margin-bottom: 0;
}
.smp_whole ul.target.sub li{
	list-style-type:none;
}*/
.smp_whole ul.target.sub li a{/*下階層展開時の背景*/
	background:#8BE5FF;
}


.header_box3{
order: 1;
width: 100%;
color: #fff;
background-color: var(--main-bg);
line-height: 60px;
text-align: right;
padding-inline: 6px;
}

.header_box3 a:not(:hover) {color:#fff;text-decoration:none;}
.header_box3 a:hover{color:#fff;text-decoration:none;opacity: 0.5;}



.navbox{order: 3;}

}/*↑スマホサイト*/

.header_box2_in{
display: flex;
flex-wrap:wrap;
justify-content: space-between;
align-items: center;
}


/*-----------------------------------------------
PCサイト
-----------------------------------------------*/
@media only screen and (min-width: 768px) {


.dropmenu{ padding-top: 34px; margin-top: 10px;}

#navbox,
#nav-input,
#nav-open,
#nav-close,
#nav-closed
{
	display:none;}


}/*↑PCサイト*/
/*-----------------------------------------------
PCサイト
-----------------------------------------------*/
@media only screen and (min-width: 768px) {

.gnav {
height: 46px;
margin-left: auto;
font-size: 12px;
}
ul.dropmenu{
display: flex;
align-items:center;
flex-wrap:wrap;

}
ul.dropmenu li{
display: block;
padding-left: 2vw;
}



ul.dropmenu li a{

}


	ul.dropmenu .forsmp{
		display:none;
	}
ul.dropmenu li a{
	width: 100%;
	line-height:1.8;
	font-size:16px;
	text-align:center;
	box-sizing: border-box;
	position:relative;
	font-family: 'Noto Sans JP',"游ゴシック",YuGothic,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;
}



ul.dropmenu li a.kaigyo{
	line-height:1.4;
}
ul.dropmenu li a.w_short{
	width:90px;
}
ul.dropmenu li a.w_home{
	width:90px;
}
ul.dropmenu li a.w_mid{
	width:124px;
}
ul.dropmenu li a.w_l{
	width:140px;
}

ul.dropmenu li a:not(:hover) {color:#222;text-decoration:none;}
ul.dropmenu li a:hover{color:#222;text-decoration:none;opacity: 0.5;}



ul.dropmenu li ul{/*プルダウンul（メガメニューのため横めいいっぱい）*/
	width:300px;/*メニュー数少ないので幅は上と同じ*/
	position: absolute;
	top: 46px;
	left: 0;
	margin: 0 0 0 0;
	padding: 0;
	z-index:9999;
}
		ul.dropmenu li:nth-child(2n) ul{/*プルダウン真下に。あってもなくても記述する*/
			left:2%;
		}
		ul.dropmenu li:nth-child(3n) ul{
			left:192.28px;
		}
		ul.dropmenu li:nth-child(4n) ul{
			left:310.5px;
		}
		ul.dropmenu li:nth-child(5n) ul{
			left:400.5px;
		}
		ul.dropmenu li:nth-child(6n) ul{
			left:390.5px;
		}
		ul.dropmenu li:nth-child(7n) ul{/*右端のため調整*/
			left:400px;
		}
		ul.dropmenu li:nth-child(8n) ul{/*右端のため調整*/
			left:840px;
		}
		ul.dropmenu li:nth-child(9n) ul{/*右端のため調整*/
			left:768px;
		}
ul.dropmenu li ul li{/*プルダウンli（メガメニューのため横めいいっぱい）*/
	width:100%;
	height: 0;
	overflow: hidden;
}
ul.dropmenu li:hover ul li{/*ホバー時のプルダウン各行*/
	overflow: visible;
	height: 50px;
	line-height:50px;
	background:#000000;
	opacity: 0.8;
	border-bottom:1px dotted #fff;
}
ul.dropmenu li:hover ul li a{/*プルダウン共通。親の指定を打ち消してる*/
	display:block;
	width:100%;
	height:50px;
	line-height:50px;
	position: relative;
	text-align:left;
	text-indent:40px;
}
ul.dropmenu li:hover ul li a:link{text-decoration:none;color:#fff;}
ul.dropmenu li:hover ul li a:visited{text-decoration:none;color:#fff;}
ul.dropmenu li:hover ul li a:hover{text-decoration:none;color:#fff;background:#bbb !important;}
ul.dropmenu li:hover ul li a:active{text-decoration:none;color:#fff;}

ul.dropmenu li:hover ul li a::before{/*矢印*/
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 21px;
	left: 20px;
}
ul.dropmenu li ul li a:after{
	content: '';
	/*border-right: 4px solid transparent;*/
	/*border-bottom: 4px solid #10569C;*/
	/*border-left: 4px solid transparent;*/
	border:none;
	position: absolute;
	bottom: 0;
	left: 48%;
	margin-top: -4px;
}
ul.dropmenu li:hover ul li:first-child{/*最初の行はピンクボーダー*/
	/*border-top:2px solid #10569C;*/
}
ul.dropmenu li:hover ul li:last-child{/*最後の行はグレー*/
	border-bottom:1px solid #ccc;
}
.gnav .active{
	/*
	background:#10569C;
	color:#fff !important;*/
}

}/*↑PCサイト*/
