@charset "utf-8";

/*================================================
 *  メニュー
 ================================================*/
/* 共通 */
nav {
	width:100%;
	background:#fff;
	position: absolute;
}
nav ul {
	margin:0;
	padding: 0;
}
nav ul li {
	font-weight: 500;
}
nav:after {
	content:'';
	display:block;
	clear:both;
}

nav ul li a {
	display:block;
	color: #F76A03;
	text-decoration:none;
}

nav ul li a::before {
	/*font-family: 'Font Awesome 5 Free';*/
  font-family: "Font Awesome 6 Pro";
	font-weight: 900;
	padding-right: 7px; 
	color: #F76A03;
}

nav ul li > a {
	border-bottom: none;
}
nav ul li:hover > a {
	background:#FEE0CA;
	color: #F76A03;
	border-bottom: none;
}

nav ul li a.cur::before {
	color: #FFF;
}
nav ul li a.home::before {
	content: '\f015';
}
/*
nav ul li a.cont::before {
	content: '\f022';
}
nav ul li a.favi::before {
  font: var(--fa-font-duotone-regular);
	content: '\e0d2';
}
*/
nav ul li a.tses::before {
	content: '\f108';
}
nav ul li a.test::before {
	content: '\f521';
}
/*
nav ul li a.cert::before {
	content: '\e5c5';
  font: var(--fa-font-sharp-solid);
}
*/
nav ul li a.logout::before {
	content: '\f2f5';
}

@media screen and (min-width:991.98px) {
	nav {
		z-index:10;
		border-bottom: 1px solid #CCC;
	}

	nav ul li {
		position:relative;
		margin:0;
		padding:0;
		list-style:none;
	}

	nav ul li a {
		margin:0;
		padding:16px 0;
		line-height:1;
		text-align: center;
		font-size: 1.4rem;
		transition: .6s;
	}
	
	nav ul li a::before {
		font-size: 1.8rem;
	}

	nav ul li > a.cur {
		background: #FC8731;
		color: #FFF;
	}

/*	nav ul.gnav > li {
		float:left;
	}*/

	nav ul.gnav > li:first-child {
		width:15%;
	}
	nav ul.gnav > li:nth-child(2) {
		width:30%;
	}
	nav ul.gnav > li:nth-child(3) {
		width:20%;
	}
	nav ul.gnav > li:nth-child(4) {
		width:20%;
	}
	nav ul.gnav > li:last-child {
		width:15%;
	}

	.gnav {
		/*display:block !important;*/
		display: flex;
	}

	#spMenu {
		display:none;
	}
	#navi-wrap {
		padding-top: 50px;
	}

	.fixed {
		position:fixed;
		top:0;
		left:0;
	}
}

/*================================================
 *  タブレット・スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:991.98px) {
	nav {
		background:#FC8731;
	}
	nav .inner > ul {
		z-index:10;
		overflow:auto;
		position:fixed;
		width:100%;
		height:88%;
		height:-webkit-calc(100% - 93px);
		height:calc(100% - 93px);
	}
	nav ul li {
		position:relative;
		width:100%;
		float:none;
		margin:0;
		text-align:left;
		list-style:none;
		border-bottom:1px solid #FC8731;
	}

	nav ul li:first-child {
		border-top:0;
	}

	nav ul li a {
		padding:15px 30px;
		background:#FFF;
		font-size: 1.6rem;
	}

	nav ul li > a.cur {
		color:#fff;
		background:#FC8731;
	}

    nav ul ul {
		display:none;
		position:relative;
	}
	nav li li a {
		box-sizing: border-box;
		width: 100%;
		padding: 10px 30px 10px 50px;
		text-align: left;
	}

	nav li li li a {
		padding:10px 30px 10px 70px;
	}

	.active > a:before {
		margin-top:0;
	}
	.active > a:after {
		margin-top:5px;
	}

	.gnav {
		display:none;
	}

	#spMenu { /* ハンバーガーメニューの位置 */
		display:block;
		z-index:10;
		position:fixed;
		top:20px;
		right:10px;
	}
	#spMenu:hover {
		cursor:pointer;
	}

	#navBtn { /* ハンバーガーメニューのサイズ */
		display: inline-block;
		position: relative;
		width: 45px;
		height: 45px;
		border-radius: 5%;
		background: #FC8731;
	}
	#navBtnIcon { /* ハンバーガーメニューの真ん中 */
		display:block;
		position:absolute;
		top:50%;
		left:50%;
		width:28px;
		height:3px;
		margin:-1px 0 0 -14px;
		background:#FFF;
		transition:.2s;
	}
	#navBtnIcon:before,
	#navBtnIcon:after { /* ハンバーガーメニューの上下 */
		display:block;
		content:'';
		position:absolute;
		top:50%;
		left:0;
		width:28px;
		height:3px;
		background:#FFF;
		transition:0.3s;
	}
	#navBtnIcon:before {
		margin-top:-11px;
	}
	#navBtnIcon:after {
		margin-top:9px;
	}
	#navBtn .close {
		background:transparent;
	}
	#navBtn .close:before,
	#navBtn .close:after {
		margin-top:0;
	}
	#navBtn .close:before {
		transform:rotate(-45deg);
		-webkit-transform:rotate(-45deg);
	}
	#navBtn .close:after {
		transform:rotate(-135deg);
		-webkit-transform:rotate(-135deg);
	}
	.lock {
		position: fixed;
		z-index: -1;
		width: 100%;
		height: 100%;
		top: 0;
		right: 0;
	}

}

/*================================================
 *  トピックパス（パンくずリスト）
 ================================================*/

#navi-wrap {
	width: 100%;
	background:#f1f1f1;
}

#navi {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 15px 8px;
	color: #666;
	font-size: 1.2rem;
}

#navi ol {
	margin: 0;
	padding: 0;
}
#navi ol li {
	display:inline;
	line-height: 1;
	list-style-type:none;
}
#navi ol li::after {
	/* liの後に記号追加 */
    font-family: 'Font Awesome 6 Pro';
    content: ' \f101 ';
    font-weight: 900;
    padding-left: 3px;
    color: #999;
}
#navi ol li:last-child::after {
    content : none;
}

/* ★メインメニュー
-----------------------------------------------*/
.grid_menu_wrapper h2 {
	background: #F76A03;
	color: #FFF;
	padding: 12px 15px 14px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
}

.grid_menu {
	background: #FFE1C7;
	padding: 50px;
}

.menu_box {
	padding: 1.8em 0.5em 0.5em;
	border-radius: 15px;
	background: #FFF;
	cursor:pointer;    
	position: relative;
	color: #333;
	display: flex;
	flex-direction: column;
	justify-content: center; /* メニューのアイコン、文字の横位置 */
	align-items: center;     /* メニューのアイコン、文字の縦位置 */
	border: none;
}

.menu_box .stts {
	position: absolute;
	padding: 3px 8px;
	top: 5px;
	right: 5px;
	border-radius: 9999px;
	color: #FFF;
	font-weight: 500;
	font-size: 1.1rem;
  line-height: 1;
}

@media screen and (min-width:768px) {
  .menu_box .stts {
    padding: 5px 8px 3px;
    font-size: 1.3rem;
  }
}


.stts1 {
	background: #FF9600;
}
.stts2 {
	background: #44C4E7;
}
.stts3 {
	background: #858585;
}

.set_td {
	text-align: center;
	width: 230px;
}
.menu_box h3,
.set_td h3 {
	font-size: 2rem;
	font-weight: 700;
	color: #F76A03;
	margin-top: 10px;
	text-align: center;
  line-height: 1.3em;
}
.menu_box i,
.set_td i {
	color: #F76A03;
	font-size: 7rem;
	text-align: center;
}
.menu_box p,
.set_td p {
	width: 100%;
}
.menu_box:hover {
	border: none;
}
.menu_box:hover h3,
.menu_box:hover i {
	color: #FC8731;
}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:767.98px) {
	.menu_box h3 { /* メニュータイトルの大きさ */
		font-size: 1.6rem;
	}

	.menu_box i { /* メニューアイコンの大きさ */
		font-size: 5rem;
	}
}

/*================================================
 *  プログラムのアコーディオン
 ================================================*/

/*ボックス全体*/
.accbox,
.accbox_v {
    margin: 0 0 2em;
    padding: 0;
}

/*ラベル*/
.accbox > label,
.accbox_v > label,
.accbox_l > a,
.ttl02 {
  display: block;
  margin: 5px 0 0;
  padding : 14px 13px 14px;
  background :#83C7A5;
  color: #FFF;
  font-size: 1.6rem;
  line-height: 1;
}
.accbox_sk > label,
.ttl02_sk {
  background :#8AC6E8;
}
.accbox > label,
.accbox_v > label,
.accbox_l > a {
    cursor :pointer;
    /*max-width: 300px;*/
    position: relative;
    border: none;
}
.accbox > label::before,
.accbox_v > label::before {
	/* liの後に記号追加 */
    font-family: 'Font Awesome 6 Pro';
    content: '\f105';
    font-weight: 900;
    padding-right: 8px;
}

.accbox_l > a::after {
	/* liの後に記号追加 */
    font-family: 'Font Awesome 6 Pro';
    content: '\f105';
    font-weight: 900;
    position: absolute;
    right: 8px;
}
/*ラベル選択時*/
.cssacc:checked + label {
    background :#65B58D;
    color: #FFF;
    /*max-width: none;
    box-sizing: border-box;*/
}
/*ラベルホバー時*/
.accbox > label:hover,
.accbox_l > a:hover {
    background :#65B58D;
    color: #FFF;
}
.accbox_sk > label:hover {
  background :#62B2DF;
}
.accbox > label:hover::before {
    content: '\f107';
    color: #FFF;
}
/*チェックは隠す*/
.accbox > input,
.accbox_v > input {
    display: none;
}

/*中身を非表示にしておく*/
.accbox .accshow {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.5s;
}

/*クリックで中身表示*/
.cssacc:checked + label + .accshow,
.accshow_v {
    height: auto;
    padding: 15px;
    background: #F7F7F7;
    opacity: 1;
}
.accbox .cssacc:checked + label {
    border-bottom: none;
}
.accbox label h3 {
    padding: 5px;
    background: #EFEFEF;
    font-size: 1.2rem;
	color:#333;
    margin: 10px 0 5px;
    line-height: 1.7em;
    border: 1px solid #FFF;
}
.cssacc:checked + label h3 {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    margin: 0;
}

/*アイコンを入れ替える*/
.cssacc:checked + label::before {
    content: '\f106';
}

/*================================================
 *  一般演題のアコーディオン
 ================================================*/

.p-parts ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.p-parts ul li a {
	display: block;
	padding: .4em .8em;
	text-decoration: none;
	background: #fff;
	text-align: left;
	margin: .2em 0;
}
.p-parts ul li a:hover {
	background: #F5F5DC;
	border-bottom: 1px solid transparent;
}

/*================================================
 *  アコーディオン2　（未使用）
 ================================================*/

/* チェックボックスは非表示 */
.accordion-hidden {
  display: none;
}

/* タイトル部分 */
.accordion-open {
  display: block;
  padding: 8px 30px 8px 12px;
  background: #e7e7e7;
  cursor: pointer;
  margin: 0 0 1px;
  font-weight: 700;
  position: relative;
}

.accordion-open:hover {
  background: #D2EBDF;
}
.accordion-hidden:checked + label {
  background: #c9e7d9;
}

/* 開閉状態を示すアイコン+の作成 */
.accordion-open::before,
.accordion-open::after {
  content: '';
  width: 12px;
  height: 2px;
  background: #1abc9c;
  position: absolute;
  top: 50%;
  right: 2%;
  transform: translateY(-50%);
}

/* 一本は縦にして+を作る */
.accordion-open::after {
  transform: translateY(-50%) rotate(90deg);
  transition: .5s;
}

/* アコーディオンが開いたら縦棒を横棒にして-にする */
.accordion-hidden:checked + .accordion-open:after {
  transform: translateY(-50%) rotate(0);
}

/* 本文部分 */
.accordion-close {
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  transition: 0.5s;/* 表示速度の設定 */
}

/* チェックボックスにチェックが入ったら本文部分を表示する */
.accordion-hidden:checked + .accordion-open + .accordion-close {
  height: auto;
  opacity: 1;
  padding: 10px;
  background: #FFF;
}

