@charset "utf-8";

/*+++++++++++++++++++++++++++++++++++
レスポンシブPC版
++++++++++++++++++++++++++++++++++++*/

/*++++++++++++++
共通
++++++++++++++*/
:root {
  --main-001 : #006AB7; /*青*/
  --main-002 : #00A784; /*緑*/
  --main-003 : #F8B500; /*黄*/
	
  --main-opa-001: rgba(0, 106, 183, 0.08); /*青*/
  --main-opa-002: rgba(0, 167, 132, 0.1); /*緑*/
  --main-opa-003: rgba(248, 181, 0, 0.1); /*黄*/
	
  --more-opa-001: rgba(0, 106, 183, 0.03); /*青*/
  --more-opa-002 : rgba(0, 167, 132, 0.05); /*緑*/
  --more-opa-003 : rgba(248, 181, 0, 0.05); /*黄*/	
	
  --color-001: #4dad40;
  --color-002: #4082C4;
  --color-003: #8962bc;
  --color-004: #cd3535;
  --color-005: #ed7e1f;
  --color-006: #97a51e;
  --color-007: #A18E5C;
  --color-008: #fa7b67;
  --color-009: #16A6B6;
  --color-010: #39628a;
  --color-011: #95A4A5;
  --color-012: #47bc6d;	
  --color-013: #ff6bb5;

  --dark-001: rgba(77, 173, 64,0.05);	
  --dark-002: rgba(64, 130, 196,0.05);
  --dark-003: rgba(137, 98, 188,0.05);	
  --dark-004: rgba(205, 53, 53,0.05);
  --dark-005: rgba(237, 126, 31,0.05);
  --dark-006: rgba(151, 165, 30,0.05);
  --dark-008: rgba(250, 123, 103,0.05);		
  --dark-010: rgba(57, 98, 138,0.05);	
  --dark-011: rgba(149, 164, 165,0.05);
}

[data-color="001"] {
  --sub-color: var(--color-001);
  --dark-color: var(--dark-001);	
}

[data-color="002"] {
  --sub-color: var(--color-002);
  --dark-color: var(--dark-002);	
}

[data-color="003"] {
  --sub-color: var(--color-003);
  --dark-color: var(--dark-003);	
}

[data-color="004"] {
  --sub-color: var(--color-004);
  --dark-color: var(--dark-004);
}

[data-color="005"] {
  --sub-color: var(--color-005);
  --dark-color: var(--dark-005);
}

[data-color="006"] {
  --sub-color: var(--color-006);
  --dark-color: var(--dark-006);	
}
[data-color="007"] {
  --sub-color: var(--color-007);
  --dark-color: var(--dark-007);	
}	
[data-color="008"] {
  --sub-color: var(--color-008);
  --dark-color: var(--dark-008);	
}	
[data-color="009"] {
  --sub-color: var(--color-009);
  --dark-color: var(--dark-009);	
}	
[data-color="010"] {
  --sub-color: var(--color-010);
  --dark-color: var(--dark-010);	
}
[data-color="011"] {
  --sub-color: var(--color-011);
  --dark-color: var(--dark-011);	
}	
[data-color="012"] {
  --sub-color: var(--color-012);
  --dark-color: var(--dark-012);	
}	
[data-color="013"] {
  --sub-color: var(--color-013);
  --dark-color: var(--dark-013);	
}	

[main-color="001"] {
  --main-color: var(--main-001);
  --opa-color: var(--main-opa-001);	
}	
[main-color="002"] {
  --main-color: var(--main-002);
  --opa-color: var(--main-opa-002);	
}	
[main-color="003"] {
  --main-color: var(--main-003);
  --opa-color: var(--main-opa-003);	
}	
	
/*+++++++++++++++++++
/*レスポンシブ対応
+++++++++++++++++++*/
.pc {display: block !important;}
.sp {display: none !important;}

/*+++++++++++++++++++
/*文字サイズ
+++++++++++++++++++*/
.ssmall {
	font-size: 0.75em;
}

/*+++++++++++++++++++
/*ボタン
+++++++++++++++++++*/

/*テキストのみ*/
.p-button-link {
	display: flex;
	background: #fff;
	padding: 0;
	border-radius: 5px;
	box-shadow: 0 2px 2px rgba(0,0,0,0.1);
	font-weight: bold;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.p-button-link:before {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    color: var(--main-001);
    font-style: normal;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 4%;
    display: flex;
    align-items: center;
    font-size: 0.8em;
}
.p-button-link p {
	padding: 20px 20px 20px 0;
	display: block;
	box-sizing: border-box;
}
a.p-button-link:hover p {
	color:var(--main-001);
}
.p-button-link div {
	display: flex;
}
.p-button-link i {
	/* background: var(--main-001); */
	padding: 10px 20px;
}
.p-button-link i:before {color: var(--main-001);}

/*矢印なし*/
.p-button-link.none:before {
	display: none;
}


body {
	overflow-x: hidden;
	width: 100%;
	padding: 0;
	margin: 0;
	font-family: 'font', sans-serif;
	position: relative;
}

@font-face {
	font-family: 'font';
	src:url("fonts/NotoSansJP-Regular.ttf") format('truetype'),
		url("fonts/NotoSansJP-Medium.ttf") format('truetype'),
}


#wrapper {
	margin: 0;
    min-height: 100vh;
}
/*コンテンツページ*/
#wrapper .inner {
	max-width: 1200px;
	align-items: flex-start;
}

.inner {
	max-width: 1200px;
	margin: auto;
}

.underpage .inner {/* max-width: 1400px; */flex-direction: unset;}

.overlay {
	background: rgba(0,0,0,0.2);
	position: absolute;
	top: 0;
	bottom: 0;
	left:0;
	right: 0;
	margin: auto;
}

a {
	cursor: pointer;
	text-decoration: none;
	color: inherit;
}

.under {text-decoration: underline;color:var(--main-001);}
.under:hover{text-decoration: none;}


img {
	max-width: 100%;
	vertical-align: bottom;
}

/*改行*/
.br {display: block !important;}
.br2 {display: none !important;}

/*レスポンシブ*/
.pc {display: block !important;}
.sp {display: none !important;}

/*センタリング*/
.center {
	display: block;
	margin: auto;
	text-align: center;
}

/*flex*/
.flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}
.wrap {
	flex-wrap: wrap;
}
/*+++++++++++++++++++
/*search
+++++++++++++++++++*/
input {
	padding: 20px;
	width: 300px;
	border: none;
	box-sizing: border-box;
	border-right: none;
	border-radius: 10px 0 0 10px;
}

input:focus {
	border:none;
}

input#search {
	border-radius: 8px 0 0 8px;
	border: none;
	background: #f7f7f7;
	border-radius: 10px;
	border: 2px solid #ccc;
	box-sizing: border-box;
	outline: none;
}

input[type=submit]{
	 width: auto;
	 background: transparent;
	 color: #fff;
	 border-left: none;
	 /* height: 55px; */
	 border-radius: 0 8px 8px 0;
	 cursor: pointer;
	 position: absolute;
	 right: 0;
	 text-indent: -9999px;
}

#searchbox {border-left: 1px solid #ccc;padding: 0 20px;}
#searchbox form {
	display: flex;
	position: absolute;
	width: 300px;
	right: 10px;
	display: none;
	z-index: 99;
}
#searchbox form > div {
	position: relative;
}
#searchbox form i {
	position: absolute;
	right: 7%;
	top: 0;
	bottom: 0;
	margin: auto;
	display: flex;
	align-items: center;
	animation: none;
	pointer-events: none;
}

#searchbox form div:before {
	content:"\f002";
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	color: #666;
	font-style: normal;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 25px;
	display: flex;
	align-items: center;
}

.search_button {
	position: relative;
	cursor: pointer;
	padding: 0 10px;
	width: auto;
	background: transparent;
	/* color: #fff; */
	padding: 10px 30px;
	border-left: none;
	height: 55px;
	border-radius: 0 8px 8px 0;
	/* text-indent: -9999px; */
}
.search_button:before {
	content: "さがす";
	position: absolute;
	left: 0;
	font-size: 0.5em;
	font-weight: bold;
	bottom: 14px;
	right: 0;
	margin: auto;
	text-align: center;
	color: #666;
}
.search_button i {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	top: -10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.3em;
}
.search_button i.active:before,
.search_button:hover i:before {
	color:var(--main-001);
}

/*+++++++++++++++++++
/*余白
+++++++++++++++++++*/
.space {height: 30px;}
.space.small {height: 10px;}
/*++++++++++++++
article
++++++++++++++*/
article {
	margin: 0 0 20px;
	/* border: 1px solid var(--main-opa-001); */
}

article > p.cmt {
	padding: 15px 0 0 30px;
}
/*++++++++++++++
下層メインタイトル
++++++++++++++*/
h1 {
	position: relative;
	letter-spacing: 1px;
}

h1 i,h1 svg {
	margin: 0 10px 0 0;
}
h1 i:before,h1 svg {
	color:var(--main-001);
}

h1 span {
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: 1em;
	color: var(--main-001);
}

h1 span i {margin: 1px 10px 0 0;}

h1 b {
	display: inline-block;
	position: relative;
	/* padding: 0 0 0 25px; */
	font-size: 1.8em;
	line-height: 1.4;
	/* color: var(--main-001); */
}
/*++++++++++++++*/
/*大見出し*/
/*++++++++++++++*/
h2 {
	font-size: 1.2em;
	padding: 15px 0 15px 50px;
	margin: 0 0 15px;
	font-weight: bold;
	border-top: 1px solid var(--main-001);
	border-bottom: 1px solid #eee;
	position: relative;
	background: var(--more-opa-001);
}

/*アコーディオンのみ*/
article .acordion_title {
	background: #f7f7f7;
	cursor: pointer;
	padding: 23px 90px 25px 60px;
	border-radius: 5px;
	position: relative;
	display: flex;
    align-items: center;
	font-size: 1.2em;
	font-weight: 600;
}	
/*リンクアイコン*/
article .acordion_title:before {
	content: "\f35d";
	position: absolute;
	color: #666;
	right: 2%;
	top: 0;
	left: inherit;
	bottom: 0;
	display: flex;
	align-items: center;
	margin: auto;
	letter-spacing: -1px;
	padding: 1px 5px;
	border-radius: 4px;
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	font-style: normal;
	font-size: 11px;
}
article .acordion_title.active:before {
	color: #fff;
}
article .acordion_title:hover {
	color:var(--main-001);
}
article .acordion_title.active {
	background: var(--main-001);
	color: #fff;
}

/*アコーディオンあり*/
article .acordion_title.acordion:before {
    content: "開く ＋";
    position: absolute;
    color: #005bac;
    right: 2%;
    top: 0;
    border: 1px solid #005bac;
    bottom: 0;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 20px;
    font-size: 0.7em;
    font-weight: normal;
    letter-spacing: -1px;
    padding: 1px 5px;
    border-radius: 4px;
}
article .acordion_title.acordion.active:before {
	content: "閉じる －";
	color: #fff;
	border: 1px solid #fff;
	width: 58px;
}

/*学内限定の表記*/
.gakunai {
	color: #f00;
	font-size: 0.9em;
}

/**/

/*中見出し*/
h3 {
    background: #f7f7f7;
    padding: 12px 20px 12px;
    color: var(--main-001);
    font-weight: 600;
    position: relative;
    font-size: 1.1em;
    border-radius: 3px;
    margin: 0 0 20px;
}
h3:before {
	content:"";
	background: var(--main-001);
	position: absolute;
	width: 3px;
	height: 60%;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
}


/*小見出し*/
h4 {
    padding: 12px 0 12px;
    /* color: var(--main-001); */
    font-weight: 600;
    font-size: 1.1em;
    margin: 0 0 30px;
    border-bottom: 1px solid #ccc;
    border-top: 1px solid var(--main-001);
    position: relative;
}

/*以下見出し*/
h5 {
	color: var(--main-001);
	font-weight: 600;
	position: relative;
	font-size: 1.1em;
	display: block;
}
/*以下見出し*/
h6 {
    margin: 0 0 5px;
    padding: 0 0 0 35px;
    font-weight: 700;
    color: #222;
    position: relative;
    font-size: 1.3em;
}
h6:before {
    content: "";
    background: #666;
    position: absolute;
    width: 8px;
    height: 8px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.wh {
	color:#fff;
}

/*本文*/
p {
	font-size: 0.95em;
	letter-spacing: 0;
	line-height: 2;

}

p > a {
	color: var(--main-001);
	text-decoration: underline;
	word-break: break-all;
    font-weight: 500;    
}
p > a:hover {
	text-decoration: none;
}

/*本文（小）*/
span {
	font-size: 0.9em;
	line-height: 1.3;
}


/*補足*/
em {
	font-size: 0.9em;
	font-style: normal;
	word-break: break-all;
	line-height: 1.6;
}
/*++++++++++++++
ボタン
++++++++++++++*/
.button {
	align-items: center;
	gap: 0;
	justify-content: left;
	border: 1px solid #ccc;
	display: inline-block;
	padding: 12px 20px 15px 20px;
	min-width: 193px;
	width: auto;
	margin: 10px 0 0;
	border-radius: 5px;
	font-weight: 700;
	/* box-shadow: 0 0.01rem 0.02rem rgba(0,0,0,.16); */
	background: var(--main-001);
	color: #fff;
	box-sizing: border-box;
    text-decoration: none;
}

.button > .flex {
	align-items: center !important;
	justify-content: left;
}

/**/
.button2 {
	align-items: center;
	gap: 0;
	justify-content: left;
	/* border: 1px solid #ccc; */
	display: inline-block;
	border-radius: 100px;
	font-weight: 700;
	background: #333;
	color: #fff;
	padding: 5px 15px 5px 25px;
	box-sizing: border-box;
}
.button2:hover {
	opacity:0.8;
}
.button2 .flex {
	gap: 0;
	justify-content: space-between;
	padding: 0 20px 0 0;
	position: relative;
}	
	
/*ボタン　色付き*/
.movie_button {
	background: var(--main-001);
	color: #fff;
	padding:5px 25px 8px 35px;
	display: inline-block;
	margin: 10px 0 0;
	text-decoration: none;
	cursor: pointer;
    position: relative;
}
.movie_button:before {
 	content: "\f144";
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	/* color: #ffffff; */
	font-style: normal;	
    position: absolute;
    left: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
    display: flex;
    align-items: center;    
}
.movie_button:hover {
	opacity:0.9;
}

	
/*++++++++++++++
カラム変更
++++++++++++++*/
.column2 {
	justify-content: space-between;
	align-items: flex-start;
}
.column3,.column4,.column5 {
	justify-content: left;
	gap: 0;
}
.column2 li {
	width: 48%;
	margin: 0 1% 1% 0;	
}	
.column3 li {
	width: 32%;
	margin: 0 1% 1% 0;
}
.column4 li {
	width: 23.6%;
}
.column5 li {
	width: 15.6%;
	margin: 0 1% 1% 0;
}
/*++++++++++++++
icon
++++++++++++++*/
.iconbox {
	margin: auto;
	max-width: 1400px;
}
.iconbox ol{
	
}
.iconbox li.more a{
	background: #333;
}
.iconbox li.more a p {
	/* margin:0; */
}
.iconbox li a i:before {
	font-size: 0.5em;
	/* color:#fff; */
	display: flex;
	align-items: center;
	bottom: 0;
	top: 0;
	margin: auto;
	position: relative;
	padding: 4px 0;
}
.iconbox li a {
	display: block;
	padding: 20px 10px 30px;
	background: #fff;
	text-align: center;
	/* background: var(--sub-color); */
	border: 1px solid var(--sub-color);
	border-radius: 8px;
	box-shadow: 0 5px 10px rgba(0,0,0,0.15);
	box-sizing: border-box;
	vertical-align: middle;
	color: #95a4a5;
	position:relative;
	/* border: 2px solid #95A4A5; */
	transition:.3s;
}

.iconbox li a:hover i:before,
.iconbox li a:hover p{
	color:var(--main-001);
}
.iconbox li a:hover i.fa-arrow-right {
	background:var(--main-001);
}
.iconbox li a:hover i.fa-arrow-right:before {
	color:#fff;
}

.iconbox li a:hover {
	transition:.3s;
}
.iconbox li a > i {
	color: #95A4A5;
	align-items: center;
	display: flex;
	justify-content: center;
	padding: 0 0 5px;
}
.iconbox li a:before {
	content:"";
	/* border: 1px solid var(--color-004); */
	width: 98%;
	height: 98%;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	box-sizing: border-box;
	border-radius: 5px;
	margin: auto;
	right: 0;
}
.iconbox li a:after {
	content:"";
	background: #ccc;
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 20%;
	left: 0;
}
	
.iconbox li a p {
	font-weight: 600;
	font-size: 0.8em;
	margin: 0;
	line-height: 1.6;
	color: #222;
	height: 60px;
}

.iconbox li a i.fa-arrow-right {
	position: absolute;
	bottom: 6%;
	right: 0;
	left: 0;
	font-size: 0.6em;
	margin: auto;
	color: #fff !important;
	background: #95A4A5;
	width: 18px;
	border-radius: 100px;
	height: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}	


	
/*iconなし*/
.iconbox.mini ul {
	gap: 0;
	flex-wrap: unset;
	border-left: 1px solid #ccc;
	border-bottom: none;
	border-right: 1px solid #ccc;
	align-items: inherit;
}	
.iconbox.mini li {
	width: 20%;
	border-right: 1px dashed #ccc;
}
.iconbox.mini li:last-child {
	border:none;
}	
.iconbox.mini a{
	background: var(--dark-color);
	height: auto;
	padding: 20px 0;
	border: none;
	height: 100%;
	border-radius: 0;
	font-size: inherit;
	font-weight: 600;
	border: 1px solid #ccc;
	border-right: none;
	border-left: none;
	box-shadow: none;
	border-top: 2px solid var(--sub-color);
	/* border-bottom: none; */
}


.iconbox.mini a:after {
display:none;
}
.iconbox.mini a:hover p {
	color:var(--sub-color);
}
	
.iconbox.mini a.active {
	background: none;
	/* color: var(--sub-color); */
	border-bottom: none;
}
.iconbox.mini a p {
	color:#111;
	position: relative;
	z-index: 1;
	height: auto;
}
.iconbox.mini a i {
	position: relative;
	z-index: 1;	
}	
.iconbox.mini a.active i,
.iconbox.mini a.active p {
	color: var(--sub-color);
}	
/*++++++++++++++
ol 箇条書き
++++++++++++++*/
ol.type.decimal {
}
ol.type.decimal li {
	counter-increment: number;
}
ol.type.decimal li p {
	padding: 0 0 0 22px;
}
ol.type.decimal li p:before  {
    content: "";
}	
ol.type.decimal li p:after {
	content: counter(number) ". ";
	color: inherit;
	font-weight: unset;
	font-family: inherit;
	top: 0;
}

ol.type li{
	display: flex;
	align-items: flex-start;
	margin:0;
	list-style-type: none;
	width: auto;
}
/*リストに見出しをつける場合、左スペースを追加*/
.type_space {
	margin: 0 0 0 20px;
}
/**/
ol.type li > i{
	margin: 0 10px 0 0;
	padding: 7px 0 0;
}
ol.type li > p{
	position: relative;
	padding: 0 0 0 25px;
}
ol.type li > p:after {
	content:"\f138 ";
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	font-style: normal;
	/* color: var(--main-001); */
	color: #a5bfd2;
	font-size: 15px;
	display: flex;
	position: absolute;
	left: 0;
	top: 3px;
	bottom: 0;
	margin: auto;
}

/*++++++++++++++
外枠ボックス
++++++++++++++*/
.borderbox {
	border-radius: 5px;
	box-sizing: border-box;
	background: var(--more-opa-001);
	padding: 30px 50px 30px 30px;
	display: inline-block;
	width: 92%;
}
.borderbox .midashi{
	margin: 0 0 5px;
	padding: 0 0 0 25px;
	font-weight: 700;
	color: var(--main-001);
	position: relative;
	font-size: 1.1em;
}

.midashi:before {
	content:"";
	background: linear-gradient(135deg,var(--main-001) 0%,var(--main-001)  50%,rgba(0, 106, 183, 0.3) 50%);
	position: absolute;
	width: 15px;
	height: 15px;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.borderbox .box{
	margin: 0;
	display: block;
	padding: 0;
	background: none;
	border: none;
}

/*+++++++++++++++++++++++++++++++++++
ぱんくずりスト
++++++++++++++++++++++++++++++++++++*/
.breadcrumb {
	box-shadow: 0px 1px 3px rgba(0,0,0,0.3);
	background: #f3f3f3;
}
.breadcrumb ul{display: flex;}
.breadcrumb li{
	position: relative;
	display: flex;
	margin: 0 15px 0 0;
	align-items: center;
	padding: 5px 15px 5px 0;
}
.breadcrumb li:before {
	content: "";
	position: absolute;
	width: 1px;
	height: 67%;
	background: #ccc;
	top: -2px;
	transform: rotate(-35deg);
	right: 0;
}
.breadcrumb li:after {
	content: "";
	position: absolute;
	width: 1px;
	height: 61%;
	background: #ccc;
	bottom: -2px;
	transform: rotate(35deg);
	right: 0;
}

.breadcrumb li i {
	color: #666;
	font-size: 12px;
}
.breadcrumb li a{
	display: flex;
	align-items: center;
	text-decoration: none;
	color: #111;
	position: relative;
}

.breadcrumb li p{
	font-size: 0.75em;
	line-height: 1.5;
    font-weight: 500;
}
/*HOME*/
.breadcrumb li:first-child {
	margin: 0 10px 0 0;
	padding: 5px 10px 5px 0;
}
.breadcrumb li:first-child a {
	padding: 0 8px;height: 22px;
}

/*最後*/
.breadcrumb li:last-child:before,
.breadcrumb li:last-child:after{
	display: none;
}

/*+++++++++++++++++++++++++++++++++++
下記下層ページのみに使用
++++++++++++++++++++++++++++++++++++*/
/*++++++++++++++
テキスト配置
++++++++++++++*/
.align-right {
	text-align: right;
	display: block;
}

/*++++++++++++++
table
++++++++++++++*/
table {
	border: 1px solid #ccc;
	position: relative;
}

tr {
	border-bottom: 1px solid #ccc;
}
tr:last-child {
	border:none;
}
th {
	background: rgb(226 227 229);
	padding: 8px;
	font-size: 0.9em;
	border-right: 1px solid #ccc;
	font-weight: 700;
	width: 20%;
	/* text-align: center; */
}

td {
	padding: 8px;
	font-size: 0.9em;
	border-right: 1px solid #ccc;

}
td p {
	font-size: inherit;
	line-height: 1.6;
}
td a {
	color: var(--main-001);
	text-decoration: underline;

}

td a:hover {
	text-decoration:none;
}

/*レスポンシブ対応*/	
table.block {
	display: revert;
    width: 100%;
}
table.block tr {

}
table.block th{
	width: 33.3%;

}	
table.block td{
	width: 66.6%;
	position: relative;
	display: revert;
}		
table.block td .flex {align-items: flex-start;}	
table.block td .flex > p {
}	
table.block td .movie_button {
}	

/*レイアウト均等*/
table.layout {
	table-layout: fixed;
	width: 100%;
	background: #fff;
}

/*+++++++++++++++++++
/目次
+++++++++++++++++++*/
.ez-toc {
	border: 1px solid #ccc;
	background: #f7f7f7;
	padding: 30px 100px 25px 30px;
	display: inline-block;
	width: auto;
	margin: 0 auto 50px;
	border-radius: 5px;
}
.ez-toc ul{
	counter-reset: number 0;
}

.ez-toc li a:before{
	content: counter(number) ". ";
	counter-increment: number;
}
/*+++++++++++++++++++
/section
+++++++++++++++++++*/
section {
	
}

/*+++++++++++++++++++
/article　アコーディオン専用
+++++++++++++++++++*/
article .box{
	display: none;
	padding:30px 40px;
	box-sizing: border-box;
	margin: -3px 0 0;
	background: #fff;
	position: relative;
	border: 1px solid #eee;
	border-top: none;
	z-index: 4;
}
article .acordion_title.active + .box {
	display: block;
}	
/*+++++++++++++++++++
/*header
+++++++++++++++++++*/
header {
	padding: 0;
	width: 100%;
	box-sizing: border-box;
	box-shadow: 0 0 2px rgba(0,0,0,0.2);
	justify-content: space-between;
	background: #fff;
	position: relative;
	position: relative;
	top: 0;
	z-index: 10;
}

header .inner {
	max-width: 100% !important;
	justify-content:flex-end;
	width: 100%;
}

.headertopbox {
	background: rgb( 24 49 83 );
}
.drawer-nav {
	width: 100%;
	position: relative;
	padding: 0;
}
.drawer--right .drawer-nav {float: none;right: 0;}
.drawer--right .drawer-menu > .inner.flex {
	margin: 0 20px 0 0;
}	

.fixed-menu {
	width: auto;
    margin: 0 10px 0 0;
}	
.fixed-menu ol {
	padding: 0;
}	
header a.logo {
	box-sizing: border-box;
	width: 400px;
	padding: 10px;
}
 header a.logo img {
	width: 350px;
}

.drawer-hamburger {
	display: none;
}
.drawer--right .drawer-menu {
	position: relative;
	height: auto;
	right: 0;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: right;
}
.drawer-nav ul {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	clear: both;
	padding: 0;
	gap: 15px;
	width: 100%;
}
.drawer-nav ul li {
	margin: 0 10px 0 0;
}
.drawer-nav ul li.search {
	padding: 10px;
	cursor: pointer;
}
.drawer-nav ul li:last-child {
	margin:0;
}
.drawer-nav ul li.active {
	background: rgb(240, 241, 243);
}
.drawer-nav ul li a {
	font-weight: 700;
	letter-spacing: 0;
	font-size: 1em;
	padding: 15px 0;
	color: #111;
	display: flex;
	position: relative;
	align-items: center;
}
.drawer-nav ul li a:after {
	content:"";
	background: rgba(0, 106, 183, 0.3);
	width:0px;
	height:0px;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	border-radius:100px;
	margin:auto;
	z-index:-1;
	transition:.3s;
}
.drawer-nav ul li a:hover:after {
	content:"";
	width:30px;
	height:30px;	
	transition:.3s;	
	transform:scale(1.2);
}
.drawer-nav ul li a:hover,
.drawer-nav ul li a.active {
	color: var(--main-001);
}
.drawer-nav ul li a.active:before {
	content:"";
	background: var(--main-001);
	position: absolute;
	bottom: -10px;
	width: 100%;
	height: 2px;
}
.drawer-nav ul li a i {
	padding: 0 5px;
}
/*HOMEアイコン*/
.drawer-nav ul li:first-child a i {
    font-size: 18px;
}
.drawer-nav ul li .search {
	width: 20px;
	height: 20px;
	display: block;
}

ol.fixed-menu {
	position: relative;
	top: 0;
	/* background: rgb( 24 49 83 ); */
	display: flex;
	flex-wrap: wrap;
	width: 62%;
	padding: 20px 0;
	margin: 0;
	align-items: center;
}
ol.fixed-menu li{
	margin: 0;
	padding: 0 40px 0 0;
	width: auto;
}
ol.fixed-menu li:nth-child(n+6) {
	width: 30%;
}
ol.fixed-menu li a{
	color: #eee;
	font-size: 0.8em;
	font-weight: 400;
	/* text-decoration: underline; */
}
/*+++++++++++++++++++
/header curret処理
+++++++++++++++++++*/
/*HOME*/
.front-page .drawer-nav ul li:nth-child(1) a {
	color: var(--main-001);	
}
.front-page .drawer-nav ul li:nth-child(1) a:before {
	content:"";
	background: var(--main-001);
	position: absolute;
	bottom: -10px;
	width: 100%;
	height: 2px;
}
/*お知らせ*/
.news .drawer-nav ul li:nth-child(2) a {
	color: var(--main-001);	
}
.news .drawer-nav ul li:nth-child(2) a:before {
	content:"";
	background: var(--main-001);
	position: absolute;
	bottom: -10px;
	width: 100%;
	height: 2px;
}
/*センター紹介*/
.center_introduce .drawer-nav ul li:nth-child(4) a {
	color: var(--main-001);	
}
.center_introduce .drawer-nav ul li:nth-child(4) a:before {
	content:"";
	background: var(--main-001);
	position: absolute;
	bottom: -10px;
	width: 100%;
	height: 2px;
}
/*よくある質問*/
.faq .drawer-nav ul li:nth-child(5) a {
	color: var(--main-001);	
}
.faq .drawer-nav ul li:nth-child(5) a:before {
	content:"";
	background: var(--main-001);
	position: absolute;
	bottom: -10px;
	width: 100%;
	height: 2px;
}
/*サイトマップ*/
.sitemap .drawer-nav ul li:nth-child(6) a {
	color: var(--main-001);	
}
.sitemap .drawer-nav ul li:nth-child(6) a:before {
	content:"";
	background: var(--main-001);
	position: absolute;
	bottom: -10px;
	width: 100%;
	height: 2px;
}
/*お問い合わせ*/
.contact .drawer-nav ul li:nth-child(7) a {
	color: var(--main-001);	
}
.contact .drawer-nav ul li:nth-child(7) a:before {
	content:"";
	background: var(--main-001);
	position: absolute;
	bottom: -10px;
	width: 100%;
	height: 2px;
}

/*+++++++++++++++++++
/*TOP／ハンバーガーメニュー
+++++++++++++++++++*/
.tabbox {
    gap: 20px;
    justify-content: center;
}
.tabbox a{
	border-bottom: 1px solid transparent;
	background: #eee;
	width: 400px;
	position: relative;
	display: block;
	padding: 15px 30px;
	font-size: 1.1em;
	border-radius: 10px 10px 0 0;
	text-align: center;
	font-weight: 600;
}
.tabbox a.active{
    background: var(--main-color);
    color: #fff;
}

.tabbox a.active:before {
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 15px 15px 0 15px;
	border-color: var(--main-color) transparent transparent transparent;
	position: absolute;
	bottom: -15px;
	left: 0;
	right: 0;
	margin: auto;
}

.tabcontentbox {
	padding: 0;
}

.tabcontent{
	max-width: 1200px;
	margin: auto;
	padding: 30px 30px;
	box-sizing: border-box;
	display: none;
	border-radius: 10px;
	border: 1px solid var(--main-color);
}
.tabcontent.active {
	display: block;
	background: var(--opa-color);
}

/*+++++++++++++++++++
/*h1
+++++++++++++++++++*/
#h1inner {
	border-bottom: 1px solid #eee;
	padding: 20px 0;
	position: relative;
}
#h1inner > h1 {
	max-width: 1200px;
	margin: auto;
	padding: 0;
}

/*+++++++++++++++++++
/*aside
+++++++++++++++++++*/
aside .form {
	box-shadow: 10px 10px 7px rgba(0, 0, 0, 0.06);
	padding: 20px 10px;
	border-radius: 5px;
	box-sizing: border-box;
	border: 1px solid #eee;
}
aside .form.mv-fixed {
	position: fixed;
	top: 0;
	margin:0;
	height: auto;
	width:300px;
	/*edge*/
	-ms-overflow-style: none;

	/*FF*/
	scrollbar-width: none;
}
aside {
	width: 300px;
	order: 1;
	box-sizing: border-box;
}

aside .as-link{
    background: var(--main-001);
    color: #fff;
    font-weight: 600;
    padding: 5px 5px 7px;
    border-radius: 5px;
    text-align: center;
    margin: 0 0 10px;
    display: flex;
    align-items: center;
}
aside .as-link p {
	padding: 0 0 0 5px;
    letter-spacing: -1px;
}

aside .as-link a {
    display: flex;
    align-items: center;
    padding: 0 5px;	
}
aside .as-link a i,aside .as-link a svg{
	margin: 0 4px 0 0;
}
aside .as-link a i:before {
	color: #fff;
}
aside .as-link a p {
	font-size: 0.9em;
}
aside ul > li {
	display: flex;
	align-items: center;
}
aside ul > li i {
	margin: 0 10px 0 0;
}
aside ul > li a {
	display: flex;
	align-items: center;
	padding: 7px 0 7px 7px;
	width: 100%;
}

aside ul > li a:before {
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	/*color:#18315d;*/
	font-style: normal;
	font-size: 8px;
	top: 1px;
	padding: 4px 0 0;
}
aside ul > li.active a,
aside ul > li a:hover{
	color: var(--main-001);
}

aside ul > li i {
	font-size: 10px;
}
aside ul > li a p {
	line-height: 1.5;
	font-weight: 600;
	font-size: 0.9em;
	padding: 0 0 0 6px;
}

aside ul > li.active a p {
	font-weight: 700;
}
/*+++++++++++++++++++
/*container
+++++++++++++++++++*/
.container {
	width: 72%;
	background: #fff;
	box-sizing: border-box;
	counter-reset: h2;
	z-index: 9;
	order: 2;
}
	
/*サイドバーなし*/
.container.column1 {
	width: 100%;
	padding: 0;
}
/**/
.container .acordion_title::after {
  counter-increment: h2;  /* h2カウンターの値に1を加算 */
  content: counter(h2) ". ";   /* h2カウンターの値を表示 */
  position: absolute;
  left: 30px;
  line-height: 1.6;
}	

.container h2::after {
  counter-increment: h2;  /* h2カウンターの値に1を加算 */
  content: counter(h2) ". ";   /* h2カウンターの値を表示 */
  position: absolute;
  left: 2%;
  line-height: 1.6;
  font-size: 1em;
}

.container h3 {
	/* counter-increment: h3; */
	/* counter-reset: h4; */
	padding: 12px 20px 12px;
	color: #222;
}
.container h3:after {
	/* content: counter(h2) "-" counter(h3) ". "; */
	position: absolute;
	left: 3%;
	line-height: 1.6;
	font-size: 17px;
	padding: 3px 0 0;
}


.container h4 {
  counter-increment: h4;	
}

.container h4:before {
  margin: 0 10px 0 0;
}
.container h4:after {
	content:"";
	background: var(--main-001);
	width: 3px;
	height: 40%;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
}
.container h5 {
  color: #222;
  padding: 0;
  font-size: 1em;
  letter-spacing: 0;
}

.container h6 {
  padding: 0 0 0 20px;
  font-size: 1em;
}
/*+++++++++++++++++++
/*footer
+++++++++++++++++++*/
footer {
	background: var(--main-001);
	bottom: 0;
	width: 100%;
}

footer .flex {
	padding: 10px 0;
}

.footerbox {
	display: flex;
	justify-content: left;
	flex-wrap: wrap;
	padding: 0 0 10px;
}

footer dl {
	position: relative;
	margin: 0 1% 0 0;
	padding: 50px 0 0;
	width: 24%;
	box-sizing: border-box;
}
footer dl:nth-child(4n) {
	margin:0;
	border: none;
}
footer dl.flex {
	width:100%;
	gap:0;
	display: flex;
}	

footer dt {
	position: relative;
	margin: 0 10px 25px 0;
	border: 1px solid rgba(255,255,255,0.4);
	padding: 13px 10px 13px 20px;
	box-sizing: border-box;
}
footer dt:last-child {
	margin:0 0 25px;
}	
footer dt:before {
	content:"";
	width: 10px;
	height: 1px;
	background: rgba(255,255,255,0.6);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
}
footer dl:before {
	content:"";
}
footer dd {
	margin: 0 0 9px;
	position: relative;
}
footer dt > a {
	color: #fff;
	font-weight: 500;
	margin: 0;
	font-size: 0.9em;
	display: block;
	padding: 0;
	letter-spacing: 0;
}
footer dd > a {
	color: #eee;
	font-size: 0.8em;
	display: block;
	letter-spacing:0;
	position: relative;
	padding: 0 0 0 18px;
}
footer dd > a:before {
	content:"";
	background: #92a9c8;
	width: 4px;
	height: 4px;
	position: absolute;
	top: 7px;
	margin: auto;
	left: 5px;
}
/*外部サイト*/
.trgt_link {
	padding: 25px;
	background: rgb( 24 49 83 );
}
.trgt_link a {
	color: #fff;
	font-size: 0.9em;
}

.trgt_link a.target {
	margin: 0 50px 0 0;
	width: auto;
}

.trgt_link .inner {display: flex;/* justify-content: center; */}
.copyright {
	padding: 10px 0;
	background: #fff;
}
.copyright .flex {display: flex;margin: 0 auto 20px;}
	

/*++++++++++++++
サイドバー
++++++++++++++*/
section.link {
	background: rgb(240, 241, 243);
	padding: 40px 0 0;
	position: relative;
}

section.link .inner { 
	max-width:1200px;
}
section.link .inner ol {
	padding: 0 0 20px; 
}	
/*+++++++++++++++++++
/*下層ページ共通
+++++++++++++++++++*/

body.underpage {
    background:none
}
.underpage #wrapper > .inner {
	margin: auto;
	padding: 50px 0;
}
.underpage #searchbox {
}
.underpage #searchbox.active {
	display: block;
}

	
/*+++++++++++++++++++
/*よくある質問
+++++++++++++++++++*/	
.faqcatebox {
	padding: 0 0 80px;
}
.faqcatebox dl{
    position: relative;
}

.faqcatebox dt{
	/* padding: 30px; */
	font-weight: 500;
	font-size: 0.95em;
	position: relative;
	cursor: pointer;
	display: flex;
	align-items: center;
	padding: 25px 85px 25px 45px;
	transition:.3s;
	border-bottom: 1px solid rgba(112, 112, 112, 0.2);
}
.faqcatebox dl.active dt {
	transition:.3s;
	background: var(--main-001);
	color: #fff;
}
.faqcatebox dl.active dt:before {
	color: #fff;
}	
.faqcatebox dt:before {
	content:"Q";
	font-family: 'Unna', serif;
	color: var(--main-001);
	position: absolute;
	border-radius: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1em;
	line-height: 1;
	left: 10px;
	padding: 2px;
}
.faqcatebox dl dt:after {
	content: "開く ＋";
	position: absolute;
	color: #005bac;
	right: 2%;
	top: 0;
	border: 1px solid #005bac;
	bottom: 0;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 20px;
	font-size: 0.7em;
	font-weight: normal;
	letter-spacing: -1px;
	padding: 1px 5px;
	border-radius: 4px;
}

.faqcatebox dl.active dt:after {
	content: "閉じる －";
	color: #fff;
	border: 1px solid #fff;
}

.faqcatebox dd{
	padding: 20px 40px 30px 40px;
	position: relative;
	background: var(--more-opa-001);
	border-top: 1px solid rgba(0, 113, 197, 0.5);
}

.faqcatebox dd:before {
	content:
	"A";
	font-family: 'Unna', serif;
	color: var(--main-001);
	position: absolute;
	border-radius: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1.1em;
	line-height: 1;
	left: 12px;
	padding: 2px;
	margin: 8px 0 0;
}
.faqcatebox dd .answer {
	line-height: 2;
	letter-spacing: 1px;
	position: relative;
}
.faqcatebox dd .answer a {
	text-decoration:underline;
	color:var(--main-001);
}
.faqcatebox dd .answer a:hover {
	text-decoration:none;
}
.faqcatebox dd h2,
.faqcatebox dd h3,
.faqcatebox dd h4 {
	font-size:inherit;
}
.faqcatebox dd h5 {

}	

	
/*+++++++++++++++++++
/*403/404表示画面
+++++++++++++++++++*/	
.n403 {
	padding: 50px 0 !important;
}
.n403 .title {
    font-size: 1.5em;
    text-align: center;
    letter-spacing: 1px;
}

/*+++++++++++++++++++++++++++++++++++
レスポンシブタブレット版
++++++++++++++++++++++++++++++++++++*/
@media screen and (max-width: 1299px) {
.inner {
	max-width: 95%;
}
/*+++++++++++++++++++
/*header
+++++++++++++++++++*/
header {
	padding: 0;
	width: 100%;
	box-sizing: border-box;
	box-shadow: 0 0 2px rgba(0,0,0,0.2);
	justify-content: space-between;
	background: #fff;
	position: relative;
	position: relative;
	top: 0;
	z-index: 10;
}

header .inner {
	max-width: 100% !important;
}

.headertopbox {
	background: rgb( 24 49 83 );
}
.drawer-nav {
	width: 100%;
	position: relative;
	padding: 0;
}

.drawer--right .drawer-nav {float: none;right: 0;}
.drawer--right .drawer-menu > .inner.flex {
	margin: 0;
}	

#searchbox {
	padding: 0;
}	
.fixed-menu ol {
	padding: 0;
}	
header a.logo {
	box-sizing: border-box;
	padding: 20px 0 20px 20px;
}
 header a.logo img {margin: 0;}


.drawer--right .drawer-menu {
	position: relative;
	height: auto;
	right: 0;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: right;
}
.drawer-nav ul {
	gap: 14px;
}
.drawer-nav ul li {
	margin: 0;
}
.drawer-nav ul li.search {
	padding: 10px;
	cursor: pointer;
}
.drawer-nav ul li:last-child {
	margin:0;
}
.drawer-nav ul li.active {
	
background: rgb(240, 241, 243);
}
.drawer-nav ul li a {
	font-size: 0.8em;
}
.drawer-nav ul li a i {
	padding: 0 5px;
}

.drawer-nav ul li .search {
	width: 20px;
	height: 20px;
	display: block;
}

ol.fixed-menu {
	position: relative;
	top: 0;
	display: flex;
	flex-wrap: wrap;
	width: 62%;
	padding: 20px 0;
	margin: 0;
	align-items: center;
}
ol.fixed-menu li{
	margin: 0;
	padding: 0 40px 0 0;
	width: auto;
}
ol.fixed-menu li:nth-child(n+6) {
	width: 30%;
}
ol.fixed-menu li a{
	color: #eee;
	font-size: 0.8em;
	font-weight: 400;
}

#wrapper .inner {
    max-width: 90%;
}
#wrapper section.link .inner {
	max-width: 95%;
}	
.p-button-link p {
	font-size: 0.8em;
}	
aside {width: 266px;}
aside .form.mv-fixed {
	width: 266px;
}
}
/*+++++++++++++++++++++++++++++++++++
レスポンシブタブレット版
++++++++++++++++++++++++++++++++++++*/
@media screen and (max-width: 1023px) {
/*+++++++++++++++++++
/*レスポンシブ対応
+++++++++++++++++++*/
.pc {display: none !important;}
.sp {display: block !important;}

/*+++++++++++++++++++
/*文字サイズ
+++++++++++++++++++*/
.ssmall {
	font-size: 0.75em;
}

/*+++++++++++++++++++
/*ボタン
+++++++++++++++++++*/

/*テキストのみ*/
.p-button-link {
	display: flex;
	background: #fff;
	padding: 0;
	border-radius: 5px;
	box-shadow: 0 2px 2px rgba(0,0,0,0.1);
	font-weight: bold;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.p-button-link:before {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    color: var(--main-001);
    font-style: normal;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 4%;
    display: flex;
    align-items: center;
    font-size: 0.8em;
}
.p-button-link p {
	padding: 10px 10px 10px 0;
	font-size: 0.7em;
	letter-spacing: 0;
}
.p-button-link div {
	display: flex;
}
.p-button-link i {font-size: 14px;padding: 8px;display: flex;align-items: center;}
.p-button-link i:before {}

/*アイコンあり*/
.p-button-link.thumb {
	
}

#wrapper {
	margin: 70px 0 0;
}
/*コンテンツページ*/
#wrapper .inner {
	max-width: 95%;
}


.underpage .inner {
}

.overlay {
	background: rgba(0,0,0,0.2);
	position: absolute;
	top: 0;
	bottom: 0;
	left:0;
	right: 0;
	margin: auto;
}

a {
}

.under {text-decoration: underline;color: inherit;}
.under:hover{text-decoration: none;}


img {
	max-width: 100%;
	vertical-align: bottom;
}

/*改行*/
.br {display: block !important;}
.br2 {display: none !important;}

/*センタリング*/
.center {
	display: block;
	margin: auto;
	text-align: center;
}

/*flex*/
.flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}
.wrap {
	flex-wrap: wrap;
}
/*+++++++++++++++++++
/*search
+++++++++++++++++++*/
input {
	padding: 20px;
	width: 300px;
	border: none;
	box-sizing: border-box;
	border-right: none;
	border-radius: 10px 0 0 10px;
}

input:focus {
	border:none;
}

input#search {
	border-radius: 8px 0 0 8px;
	border: none;
	background: #f7f7f7;
	border-radius: 10px;
	border: 2px solid #ccc;
	box-sizing: border-box;
	outline: none;
}

input[type=submit]{
	 padding: 5px 0;
}

#searchbox {
    border: none;
    padding: 5px 15px;
}
#searchbox form {
	display: flex;
	position: absolute;
	width: 300px;
	right: -10%;
	z-index: 99;
}
#searchbox form i {
	position: absolute;
	right: 7%;
	top: 0;
	bottom: 0;
	margin: auto;
	display: flex;
	align-items: center;
	animation: none;
	pointer-events: none;
}

#searchbox form div:before {
	content:"\f002";
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	color: #666;
	font-style: normal;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 25px;
	display: flex;
	align-items: center;
}

.search_button {
	padding: 0 0 0;
	width: 30px;
	text-align: center;
	margin: auto;
}

.search_button:before {
	width: 30px;
	bottom: 11px;
}
.search_button i {
	font-size: 20px;
}

/*+++++++++++++++++++
/*space
+++++++++++++++++++*/
.space {height: 20px;}
.space.small {height: 20px;}
/*++++++++++++++
article
++++++++++++++*/

article > a {
	display: block;
}
article > p.cmt {
	padding: 15px 0 0 30px;
}
/*++++++++++++++
下層メインタイトル
++++++++++++++*/
h1 i {
	font-size: 20px !important;
	margin: 0 5px 0 0;
}

h1 span {
	font-size: 0.9em;
}

h1 span i {margin: 1px 10px 0 0;}

h1 b {
	font-size: 1.2em;
	letter-spacing: 0;
}

/*++++++++++++++*/
/*大見出し*/
/*++++++++++++++*/
h2 {font-size: 1.1em;padding: 15px 0 18px 50px;}

/*アコーディオンのみ*/
article .acordion_title {
	font-size: 1em;
	padding: 20px 100px 22px 40px;
	display: flex;
	align-content: center;
}	
/*リンクアイコン*/
article .acordion_title:before {
	content: "\f35d";
	position: absolute;
	color: #666;
	right: 2%;
	top: 0;
	left: inherit;
	bottom: 0;
	display: flex;
	align-items: center;
	margin: auto;
	letter-spacing: -1px;
	padding: 1px 5px;
	border-radius: 4px;
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	font-style: normal;
	font-size: 15px;
}
article .acordion_title.active:before {
	color: #fff;
}

article .acordion_title.active {color: #fff;}

/*アコーディオンあり*/
article .acordion_title.acordion:before {
    display: flex;
}
article .acordion_title.acordion.active:before {width: 48px;}

/*学内限定の表記*/
.gakunai {
	font-size: 0.8em;
	display: inline-block;
	line-height: 1.3;
	margin: 0 0 0 -2px;
}

/**/

/*中見出し*/
h3 {
    font-size: 1em;
    display: flex;
}

/*小見出し*/
h4 {
	font-size: 0.9em;
	padding: 15px 0 15px 0;
}

/*以下見出し*/
h5 {
	color: var(--main-001);
	font-weight: 600;
	position: relative;
	padding: 5px 0 0 20px;
	font-size: 1.2em;
	margin: 0 0 15px;
	display: block;
}
h5:before {width: 12px;height: 12px;}

/*以下見出し*/
h6 {
    margin: 0 0 10px;
    padding: 0 0 0 35px;
    font-weight: 700;
    color: #222;
    position: relative;
    font-size: 1.3em;
}
h6:before {
    content: "";
    background: #666;
    position: absolute;
    width: 8px;
    height: 8px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

/*本文*/
p {
	font-size: 0.8em;
}

/*本文（小）*/
span {
}


/*補足*/
em {
	font-size: 0.8em;
	word-break: break-all;
}
/*++++++++++++++
ボタン
++++++++++++++*/
.button {
	align-items: center;
	gap: 0;
	justify-content: left;
	border: 1px solid #ccc;
	display: inline-block;
	padding: 12px 40px 15px 20px;
	max-width: 640px;
	width: auto;
	margin: 10px 0 0;
	border-radius: 5px;
	font-weight: 700;
	background: var(--main-001);
	color: #fff;
	box-sizing: border-box;
}

.button > .flex {
	align-items: center !important;
}
/**/
.button2 .flex {
	gap: 8px;
	justify-content: space-between;
	padding: 0 30px 0 0;
	position: relative;
}	

/*++++++++++++++
カラム変更
++++++++++++++*/
.column2,.column3,.column4,.column5 {
	gap: 3px;
	justify-content: left;
}
.column2 li {
	width: 48%;
}	
.column3 li {
	width: 32%;
}
.column4 li {
	width: 23.6%;
}
.column5 li {width: 23.5%;}
/*++++++++++++++
icon
++++++++++++++*/
.iconbox {
	margin: auto;
	max-width: 95%;
}

.iconbox li.more a{
	background: #333;
}

.iconbox li a i:before {
	font-size:0.7em;
	display: flex;
	align-items: center;
	bottom: 0;
	top: 0;
	margin: auto;
	position: relative;
	padding: 4px 0;
}
.iconbox li a {
	padding: 30px 5px 40px;
}

.iconbox li a > i {
	color: #95A4A5;
	align-items: center;
	display: flex;
	justify-content: center;
	padding: 0 0 5px;
	font-size: 50px;
}
.iconbox li a:before {
	content:"";
	width: 98%;
	height: 98%;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	box-sizing: border-box;
	border-radius: 5px;
	margin: auto;
	right: 0;
}
.iconbox li a:after {
	content:"";
	background: #ccc;
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 20%;
	left: 0;
}
	
.iconbox li a p {
	font-size: 0.8em;
	letter-spacing: 0;
	height: 50px;
}

.iconbox li a i.fa-arrow-right {
	position: absolute;
	bottom: 6%;
	right: 0;
	left: 0;
	font-size: 0.6em;
	margin: auto;
	color: #fff !important;
	background: #95A4A5;
	width: 18px;
	border-radius: 100px;
	height: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}	

.iconbox li a p {
	font-size: 0.8em;
}
	
/*iconなし*/
.iconbox.mini ul {
    align-items: inherit;
}	
.iconbox.mini li {
	width: 20%;
	border-right: 1px dashed #ccc;
}

.iconbox.mini a{
	background: var(--dark-color);
	height: auto;
	padding: 20px 0;
	border: none;
	border-radius: 0;
	font-size: inherit;
	font-weight: 600;
	height: 100%;
	border: 1px solid #ccc;
	border-right: none;
	border-left: none;
	box-shadow: none;
	border-top: 2px solid var(--sub-color);
}


.iconbox.mini a:after {
display:none;
}
.iconbox.mini a:hover p {
	color:var(--sub-color);
}
	
.iconbox.mini a.active {
	background: none;
	border-bottom: none;
}
.iconbox.mini a p {font-size: 0.7em;}
.iconbox.mini a i {
	position: relative;
	z-index: 1;
	font-size: 30px;
	padding: 0 5px 0 0;
}	
.iconbox.mini a.active i,
.iconbox.mini a.active p {
	color: var(--sub-color);
}	
/*++++++++++++++
ol 箇条書き
++++++++++++++*/
ol.type.decimal {
	list-style-type: none;
}
ol.type.decimal li {
	counter-increment: number;
}
ol.type.decimal li p {
	padding: 0 0 0 20px;
}
ol.type.decimal li:before {
}	
ol.type.decimal li p:before {
	display:none;
}
ol.type li{
	margin:0;
}
ol.type li > i{
	margin: 0 10px 0 0;
	padding: 7px 0 0;
}

ol.type li > p:before {
	top: 0;
}

/*++++++++++++++
外枠ボックス
++++++++++++++*/
.borderbox {
	padding: 20px 30px 20px 20px;
}
.borderbox .midashi{
	font-size: 0.9em;
	padding: 0 0 0 20px;
}

.midashi:before {
	width: 15px;
	height: 15px;
	top: 3px;
}

.borderbox .box{
	margin: 0;
	display: block;
	padding: 0;
	background: none;
	border: none;
}
/*+++++++++++++++++++++++++++++++++++
下記下層ページのみに使用
++++++++++++++++++++++++++++++++++++*/
/*++++++++++++++
テキスト配置
++++++++++++++*/
.align-right {
	text-align: right;
	display: block;
}

/*++++++++++++++
table
++++++++++++++*/
tr:last-child {
	border:none;
}
th {font-size: 0.8em;}

td p {
    font-size: 0.8em;
}
/*レスポンシブ対応*/	
table.block {
	display: revert;
    width: 100%;
}
table.block tr {
	display: flex;
}
	
table.block td .flex > p {
	width: 90%;
}	

/*+++++++++++++++++++
/目次
+++++++++++++++++++*/
.ez-toc {
	border: 1px solid #ccc;
	background: #f7f7f7;
	padding: 30px 100px 25px 30px;
	display: inline-block;
	width: auto;
	margin: 0 auto 50px;
	border-radius: 5px;
}
.ez-toc ul{
	counter-reset: number 0;
}

.ez-toc li a:before{
	content: counter(number) ". ";
	counter-increment: number;
}
/*+++++++++++++++++++
/section
+++++++++++++++++++*/
section {
	
}

/*+++++++++++++++++++
/article　アコーディオン専用
+++++++++++++++++++*/
article .box{
	padding: 20px;
}
article .acordion_title.active + .box {padding: 20px 0 20px 15px;}	
/*+++++++++++++++++++
/*header
+++++++++++++++++++*/
header {
    padding: 0;
    position:fixed;
    height: auto;
    display: flex;
    justify-content: space-between;
    top: 0;
    box-sizing: border-box;
}
.headertopbox {
	background: rgb( 24 49 83 );
}
.drawer-menu {
	width: 100%;
	position: fixed;
	right: 0;
	box-sizing: border-box;
	background: #fff;
}
.drawer--right .drawer-nav {
	position: relative;
	z-index: 999;
}	

.drawer-open.drawer--right .drawer-nav{
	height: 100vh;
	overflow-y: scroll;		
}
	
.drawer--right .drawer-menu {
    opacity: 0;
    z-index: 1;
    display: none;
    position: absolute;
    height: auto;
    float: none;
}
.drawer--right.drawer-open .drawer-menu {
	right: 0;
	opacity: 1;
	display:block;
	height: 100vh;
}	
.drawer--right .drawer-menu > .inner.flex {
	display: block;
	padding: 0 0 100px;
	max-width: 100%;
}
	
header a.logo {
    padding: 15px;
    max-width: 300px;
    display: block;
    z-index: 9;
    width: auto;
}
.drawer-nav .flex{
	display: flex;
	align-items: inherit;
	background: none;
	margin: 0;
	gap: 7px;
	justify-content: space-between;
}
.drawer-hamburger {
	display: block;
	margin: 13px 20px 13px 20px;
	z-index: 999;
	padding: 0;
	height: auto;
	width: 20px;
}
.drawer-open .drawer-hamburger-icon:before, .drawer-open .drawer-hamburger-icon:after {
	background: #999;
}

.drawer-nav ul {
	display: block;
	align-items: center;
	justify-content: space-between;
	clear: both;
	width: 100%;
	margin: 65px 0 20px;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
}
.drawer-nav ul li {
	margin: 0;
	border-bottom: 1px solid #eee;
}
.drawer-nav ul li.search {
	padding: 10px;
	cursor: pointer;
	background: #f7f7f7;
}
.drawer-nav ul li:last-child {
	margin:0;
	border: none;
}
.drawer-nav ul li.active {
	background: rgb(240, 241, 243);
}
.drawer-nav ul li a {
	font-weight: 700;
	font-size: 0.9em;
	display: block;
	padding: 10px;
	position: relative;
}

.drawer-nav ul li a:before {
content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    color: var(--main-001);
    font-style: normal;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 2%;
    display: flex;
    align-items: center;
    font-size: 0.8em;	
}
.drawer-nav ul li a.active:before {height: auto;background: none;width: auto;content: "\f054";bottom: 0;}	
.drawer-nav ul li a:after {
	display:none;
}
.drawer-nav ul li .search {
	width: 20px;
	height: 20px;
	display: block;
}
/*+++++++++++++++++++
/*header current処理
+++++++++++++++++++*/
.front-page .drawer-nav ul li:nth-child(1) a:before,
.news .drawer-nav ul li:nth-child(2) a:before,
.center_introduce .drawer-nav ul li:nth-child(4) a:before,	
.faq .drawer-nav ul li:nth-child(5) a:before,
.sitemap .drawer-nav ul li:nth-child(6) a:before,
.contact .drawer-nav ul li:nth-child(7) a:before {
	content: "\f054";
	background: none !important;
	bottom: 0 !important;
	width: 10px !important;
	height: 10px !important;
}
	
/*ハンバーガーメニュー内のタブ*/
.drawer-nav .tabbox {
	gap: 0;
	display: flex;
}	
.drawer-nav .tabbox a {
	width: 50%;
	font-size: 0.9em;
	border-radius: 0;
	border: none;
	padding: 8px;
}	

.drawer-nav .tabcontentbox .tabcontent {
	border: none;
	padding: 15px 0 30px;
}	
.drawer-nav .iconbox ul {
	justify-content: space-between;
}	
.drawer-nav .iconbox li {
	width: 31.5%;
	min-height: 80px;
	box-sizing: border-box;
}
.drawer-nav .iconbox li a {
	padding: 8px 3px;
	height: 100%;
}
.drawer-nav .iconbox li a:after{
	display:none;
}	
.drawer-nav .iconbox li a p {
	height: auto;
	font-size: 0.8em;
	letter-spacing: 0;
}
.drawer-nav .iconbox li a i:before,.drawer-nav .iconbox li a svg {
	font-size: 20px;
	color: #95A4A5;
}	
.drawer-nav .iconbox li a:before,	
.drawer-nav .iconbox li a p:after {
	display:none;
}	
/**/	

.fixed-menu {
    padding: 0;
    position: relative;
    z-index: 1;
    display: flex;
}
.fixed-menu ol {display: flex;flex-wrap: wrap;padding: 30px 0;margin: 0;/* align-items: center; */}
.fixed-menu li{
	margin: 0;
	padding: 0 40px 0 0;
	width: auto;
}

.fixed-menu li a{
	color: #eee;
	font-size: 0.8em;
	font-weight: 400;
	/* text-decoration: underline; */
	position: relative;
	padding: 0 0 0 13px;
}
.fixed-menu li a:before {	
    content: "";
    background: #92a9c8;
    width: 4px;
    height: 4px;
    position: absolute;
    top: 7px;
    margin: auto;
    left: 0;	
}
.underpage header {
}

.tabbox a{width: 200px;font-size: 1.1em;}

.tabbox a.active:before {
	content:"";
	height: 0;
	z-index: -1;
	border-width: 10px 10px 0 10px;
	bottom: -8px;
}

.tabcontentbox {max-width: 100%;margin: auto;}

.tabcontent{max-width: 100%;padding: 30px 0;}
	
/*drawer内のタブ　矢印を削除*/	
.drawer-menu .iconbox li a i.fa-arrow-right {
	display: none;
}	

/*+++++++++++++++++++
/*h1
+++++++++++++++++++*/
#h1inner {
	padding: 15px 0;
}
#h1inner > h1 {
	max-width: 1200px;
	margin: auto;
	padding: 0;
}

/*+++++++++++++++++++
/*aside
+++++++++++++++++++*/
aside .form {
	padding: 10px;
}
aside .form.mv-fixed {
	/*edge*/
	/*FF*/
	width: 27%;
}
aside {
	width: 30%;
}

aside .as-link a {
    padding: 0;
}
aside .as-link a i {
	margin: 0 5px 0 0;
}

aside ul > li {
	display: flex;
	align-items: center;
}
aside ul > li i {
	margin: 0 10px 0 0;
}
aside ul > li a {
	display: flex;
	align-items: center;
	padding: 7px 0 7px 7px;
	width: 100%;
}

aside ul > li a:before {
	font-size: 7px;
}
aside ul > li.active a,
aside ul > li a:hover{
	color: var(--main-001);
}

aside ul > li i {
	font-size: 10px;
}
aside ul > li a p {
	font-size: 0.8em;
}

aside ul > li.active a p {
	font-weight: 700;
}
/*+++++++++++++++++++
/*container
+++++++++++++++++++*/
.container {
	width: 70%;
}
	
/*サイドバーなし*/
.container.column1 {
	width: 100%;
	padding: 0;
}
/**/
.container .acordion_title::after {
    /* h2カウンターの値に1を加算 */
     /* h2カウンターの値を表示 */
    left: 15px;
}	

.container h2::after {
  counter-increment: h2;  /* h2カウンターの値に1を加算 */
  content: counter(h2) ". ";   /* h2カウンターの値を表示 */
  position: absolute;
  left: 2%;
  line-height: 1.6;
  font-size: 1em;
}

.container h3 {
	padding: 15px 15px 15px 20px;
}
.container h3:after {
	font-size: 14px;
}

.container h4:before {
  margin: 0 10px 0 0;
}
.container h4:after {
	content:"";
	background: var(--main-001);
	width: 3px;
	height: 40%;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
}
.container h5 {
  counter-increment: h5;
	color: #222;
}

.container h6 {
  padding: 0 0 0 20px;
  font-size: 1.1em;
}
/*+++++++++++++++++++
/*footer
+++++++++++++++++++*/
footer .inner {max-width: 95%;text-align: center;}

.footerbox {
	display: flex;
	justify-content: left;
	flex-wrap: wrap;
	padding: 0 0 10px;
}

footer dl {
	position: relative;
	margin: 0 1% 0 0;
	padding: 50px 0 0;
	width: 24%;
	box-sizing: border-box;
}
footer dl:nth-child(4n) {
	margin:0;
	border: none;
}
footer dl.flex {
	width:100%;
	gap:0;
	display: flex;
}	

footer dt {
	position: relative;
	margin: 0 10px 25px 0;
	border: 1px solid rgba(255,255,255,0.4);
	padding: 13px 10px 13px 20px;
	box-sizing: border-box;
}
footer dt:last-child {
	margin:0 0 25px;
}	
footer dt:before {
	content:"";
	width: 10px;
	height: 1px;
	background: rgba(255,255,255,0.6);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
}
footer dl:before {
	content:"";
}
footer dd {
	margin: 0 0 9px;
	position: relative;
}
footer dt > a {
	color: #fff;
	font-weight: 500;
	margin: 0;
	font-size: 0.9em;
	display: block;
	padding: 0;
	letter-spacing: 0;
}
footer dd > a {
	color: #eee;
	font-size: 0.8em;
	display: block;
	letter-spacing:0;
	position: relative;
	padding: 0 0 0 18px;
}
footer dd > a:before {
	content:"";
	background: #92a9c8;
	width: 4px;
	height: 4px;
	position: absolute;
	top: 7px;
	margin: auto;
	left: 5px;
}
/*外部サイト*/
.trgt_link {
	padding: 25px;
	background: rgb( 24 49 83 );
}
.trgt_link a {
	color: #fff;
	font-size: 0.9em;
}

.trgt_link a.target {
	margin: 0 50px 0 0;
	width: auto;
}

.trgt_link .inner {display: flex;/* justify-content: center; */}
.copyright {
	padding: 15px;
}
.copyright .flex {display: block;}
.copyright .flex em {
	display: block;
}	

/*++++++++++++++
サイドバー
++++++++++++++*/
section.link {
	padding: 20px 0 0;
}
section.link ol li:nth-child(3n) {margin: 0 0 1%;}
section.link .inner {
	max-width: 95%;
}
section.link .inner ol {gap: 5px;}	
/*+++++++++++++++++++
/*下層ページ共通
+++++++++++++++++++*/

body.underpage {
    background:none
}

.underpage #searchbox {padding: 5px 0;text-align: center;}
.underpage #searchbox.active {
	display: block;
}
	
/*+++++++++++++++++++
/*よくある質問
+++++++++++++++++++*/	
.faqcatebox {
	margin: -90px 0 50px;
	padding: 90px 0 0;
}

.faqcatebox dt{
	font-weight: 500;
	font-size: 0.95em;
	position: relative;
	cursor: pointer;
	display: flex;
	align-items: center;
	padding: 25px 85px 25px 45px;
	transition:.3s;
	border-bottom: 1px solid rgba(0, 113, 197, 0.5);
}

.faqcatebox dt:before {
	content:"Q";
	font-family: 'Unna', serif;
	color: var(--main-001);
	position: absolute;
	border-radius: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1em;
	line-height: 1;
	left: 10px;
	padding: 2px;
}
.faqcatebox dl dt:after {
	content: "開く ＋";
	position: absolute;
	color: #005bac;
	right: 2%;
	top: 0;
	border: 1px solid #005bac;
	bottom: 0;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 20px;
	font-size: 0.7em;
	font-weight: normal;
	letter-spacing: -1px;
	padding: 1px 5px;
	border-radius: 4px;
}

.faqcatebox dl.active dt:after {
	content: "閉じる －";
	color: #fff;
	border: 1px solid #fff;
}

.faqcatebox dd{
	padding: 20px 40px 30px 75px;
	position: relative;
	background: var(--more-opa-001);
	border-top: 1px solid rgba(0, 113, 197, 0.5);
}

.faqcatebox dd:before {
	content:"A";
	font-family: 'Unna', serif;
	color: var(--main-001);
	position: absolute;
	border-radius: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1.1em;
	line-height: 1;
	left: 40px;
	padding: 2px;
	margin: 8px 0 0;
}
.faqcatebox dd .answer {
	font-size: 0.95em;
	line-height: 2;
	letter-spacing: 1px;
	position: relative;
}
.faqcatebox dd .answer a {
	text-decoration:underline;
	color:#69c;
}
.faqcatebox dd .answer a:hover {
	text-decoration:none;
}
.faqcatebox dd h2,
.faqcatebox dd h3,
.faqcatebox dd h4 {
	font-size:inherit;
}

}
/*+++++++++++++++++++++++++++++++++++
レスポンシブスマホ版
++++++++++++++++++++++++++++++++++++*/
@media screen and (max-width: 767px) {
/*++++++++++++++
共通
++++++++++++++*/
#wrapper {
	padding: 65px 0 0;
	margin: 0;
}
	
/*コンテンツページ*/
#wrapper .inner {
	max-width: 95%;
	margin: 0 auto 50px;
}

.inner {
	max-width: 95%;
	margin: auto;
}

.underpage .inner {
    height: auto;
    align-items: center;
}
 
/*改行*/
.br {display: none !important;}
.br2 {display: block !important;}

/*レスポンシブ*/
.pc {display: none !important;}
.sp {display: block !important;}

/*センタリング*/
.center {
	display: block;
	margin: auto;
	text-align: center;
}

/*flex*/
.flex {
	display:block;
}
	
.flex img {
	margin: 0 0 10px;
}
/*+++++++++++++++++++
/*search
+++++++++++++++++++*/

#searchbox {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	padding: 0;
	border: none;
}
#searchbox .flex {
	align-items: center;
	justify-content: left;
	gap: 0;
	flex-direction: unset;
}

/*+++++++++++++++++++
/*space
+++++++++++++++++++*/
.space.small {height: 10px;}

/*++++++++++++++
下層メインタイトル
++++++++++++++*/
h1 span {
	font-size: 0.9em;
	margin: 0 0 5px;
}

h1 b {font-size: 1.2em;}

/*アコーディオンのみ*/
article .acordion_title {
	padding: 15px 65px 18px 30px;
	font-size: 0.95em;
	display: inline-block;
	width: 100%;
	box-sizing: border-box;
	vertical-align: top;
}	

.container .acordion_title::after {
	left: 10px;
	top: 0;
	margin: auto;
	bottom: 0;
	display: flex;
	align-items: center;
}
/**/

/*++++++++++++++*/
/*大見出し*/
/*++++++++++++++*/
h2 {
	padding: 12px 0 12px 35px;
	margin: 0 0 10px;
	font-size: 1em;
}

/*小見出し*/
h4 {font-size: 0.9em;padding: 13px 0;}

/*以下見出し*/
h5 {font-size: 1em;padding: 0 0 0 22px;}
h5:before {
	content:"";
}

/*以下見出し*/
h6 {
	margin: 0 0 5px;
}

.wh {
	color:#fff;
}

/*本文*/
p {
	font-size: 0.9em;
	line-height: 1.8;
	word-break: break-all;
}

p > a,em > a,strong > a{
	/* color: #0071C5; */
	text-decoration: underline;
}
p > a:hover,em > a:hover,strong > a:hover{
	text-decoration: none;
}

/*本文（小）*/
span {font-size: 0.8em;}


/*補足*/
em {
	font-size: 0.8em;
	font-style: normal;
	line-height: 1.5;
	display: inline-block;
}

/*++++++++++++++
カラム変更
++++++++++++++*/
.column2 li {
	width: 48%;
}		
.column3 li {
	width: 32%;
}
.column4 li {
	width: 23.6%;
}
.column5 li {
	width: 48%;
	margin: 0 1% 1% 0;
}	
/*+++++++++++++++++++
/article　アコーディオン専用
+++++++++++++++++++*/
article .box{
	display: none;
	margin: 0 0 50px;
	padding: 20px 0;
	border: none;
}	
      
article h2:target + * {
    display: block;
}    
  
/*++++++++++++++
ボタン
++++++++++++++*/
.button {
    max-width:max-content;
    font-size: 0.9em;
    padding: 10px 30px 12px 20px;
    margin: 0;
}

.button .flex {
	display: flex;
	justify-content: left;
}
/*++++++++++++++
header
++++++++++++++*/
header a.logo {
	max-width: 250px;
	padding: 10px;
	display: flex;
}	
.drawer-hamburger {width: 60px;margin: 13px 20px 13px 10px;}
	
.tabbox {
	gap: 8px;
	justify-content: space-between;
}
	
.tabbox a {
    display:block;
    padding: 10px 20px;
    cursor: pointer;
    text-align: center;
    width: 48%;
    font-size: 1.1em;
    background: #eee;
    position: relative;
    box-sizing: border-box;
}
.tabbox a.active:before {
	content:"";
	border-width: 8px 8px 0 8px;
	bottom: -8px;
}


.tabcontent{
	max-width: 100%;
	border-radius: 0;
	border-left: none;
	border-right: none;
	border: 1px solid var(--main-color);
	padding: 20px 0;
}	
/*++++++++++++++
カラム変更
++++++++++++++*/
.column3,.column4 {
	justify-content: space-between;
}
.column2 li {
	width: 100%;
}		
.column3 li {
	width: 48%;
}
.column4 li {
	width: 49%;
}
/*++++++++++++++
icon
++++++++++++++*/
.iconbox {
	margin: auto;
	max-width: 95%;
}
.iconbox ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.iconbox li.more a{
	background: #333;
}

.iconbox li a {
	padding: 20px 15px 35px;
	height: auto;
}
.iconbox li a p {
	font-size: 0.85em;
}

.iconbox.mini a.active i, .iconbox.mini a.active p {
	color: #fff;
}	
	

/*iconなし*/
.iconbox.mini {
	margin: 0;
	max-width: 100%;
}
.iconbox.mini ul {
	display: flex;
	flex-wrap: wrap;
}	
.iconbox.mini li {
	width: 33%;
	margin: 0;
	white-space: nowrap;
	flex-shrink: 0;
}	
.iconbox.mini li a:after {
	background: none;
}	
.iconbox.mini li:nth-child(3n) {
	border-right:none;
}	
.iconbox.mini a{
	height: auto;
	padding: 10px;
	display: block;
	align-items: center;
}
.iconbox.mini a.active {
	background: var(--sub-color);
	color: #fff;
	border-bottom: 1px solid #ccc;
}	
.iconbox.mini a p {
	font-size: 0.7em;
	letter-spacing: 0;
} 	

/*++++++++++++++
ol 箇条書き
++++++++++++++*/
ol.type.decimal {
	list-style-type: decimal;
	counter-reset: number 0;
}
ol.type li{
	display: flex;
	align-items: flex-start;
	margin: 0 0 5px;
}
ol.type li > i{
	margin: 0 10px 0 0;
	padding: 7px 0 0;
}
ol.type li > p:after{
	top: 0;
}
/*++++++++++++++
外枠ボックス
++++++++++++++*/
.borderbox {
	padding: 10px 15px;
	width: 100%;
}
.borderbox .midashi{
	margin:0 0 8px;
	font-size: 0.95em;
}
.borderbox .box{
	margin: 5px 0 0;
	display: block;
}
/*+++++++++++++++++++++++++++++++++++
下記下層ページのみに使用
++++++++++++++++++++++++++++++++++++*/
/*++++++++++++++
テキスト配置
++++++++++++++*/
.align-right {
	text-align: right;
	display: block;
}

/*++++++++++++++
table
++++++++++++++*/

tr:last-child {
	border:none;
}
th {
	background: rgb(226 227 229);
	padding: 8px;
	font-size: 0.9em;
	border-right: 1px solid #ccc;
	font-weight: 700;
	box-sizing: border-box;
	width: 30%;
}

td {
	padding: 12px;
	font-size: inherit;
	border-right: 1px solid #ccc;
	box-sizing: border-box;
	width: auto;
}

/*横スクロール*/
.scroll{
	margin:auto;
	overflow:auto;/*枠からはみ出たらスクロールさせる、はみ出なかった場合は何もしない*/
}	
	
.scroll table {
	width: auto !important;
	table-layout: unset !important;
}
.scroll table th,.scroll table td {
	width: auto !important;
	white-space: nowrap; /*横スクロールさせる*/
}

/*スケジュールなど*/	
table.layout {
	width: 500px !important;
	table-layout: fixed;
	border: 1px solid #ccc;
}
table.layout th {
	text-align: center;
}	
table.layout th,table.layout td {
	padding: 5px;
}	
/*レスポンシブ対応*/
table.block,table.block tbody,
table.block tr,table.block th,
table.block td{
	width:100% !important;
	display:block;
}
table.block th,
table.block td {
	border:none;
}	
/*+++++++++++++++++++
/*h1
+++++++++++++++++++*/
#h1inner {
	padding: 15px 5px;
}
#h1inner > h1 {
	max-width: 1200px;
	margin: auto;
	padding: 0;
}	

/*+++++++++++++++++++
/目次
+++++++++++++++++++*/
.ez-toc {
	border: 1px solid #ccc;
	background: #f7f7f7;
	padding: 30px 20px 25px 20px;
	display: inline-block;
	width: 80%;
	margin: 0 auto 50px;
	border-radius: 5px;
}
.ez-toc ul{
	counter-reset: number 0;
}

.ez-toc li a:before{
	content: counter(number) ". ";
	counter-increment: number;
}
/*+++++++++++++++++++
/section
+++++++++++++++++++*/
section {
	
}

/*+++++++++++++++++++
/article　
+++++++++++++++++++*/

/*+++++++++++++++++++
/*aside
+++++++++++++++++++*/
aside {
	width: 100%;
	order: 2;
	padding: 0 0 50px;
	margin: auto;
	box-sizing: border-box;
	order: 2;
}
aside .form.mv-fixed {
	position: relative;
	margin: 0;
	width: auto;
}	
aside h5 {
	margin: 0 0 5px;
}

aside ul > li {
	border-bottom: 1px solid rgba(112, 112, 112, 0.2);
}
aside ul > li:last-child {
	border:none;
}
aside ul > li i {
	margin: 0 20px 0 0;
}
aside ul > li a {
	display: flex;
	align-items: center;
	padding: 15px 0;
}
aside ul > li a p {
	line-height: 1.2;
	font-weight: 500;
    font-size: inherit;
}
/*+++++++++++++++++++
/*container
+++++++++++++++++++*/
.container {
	padding: 0 0 30px;
	box-sizing: border-box;
	counter-reset: h2;
	order: 1;
	width: 100%;
	background: none;
}
.container h2::after {
    /* h2カウンターの値に1を加算 */
     /* h2カウンターの値を表示 */
    top: 0;
    bottom: 1px;
    margin: auto;
    display: flex;
    align-items: center;
}

.container h3 {
	padding: 10px 15px 12px;
	margin: 0 0 10px;
    display: flex;
    align-items: center;
}
.container h3:after {
	display: flex;
	align-items: center;
	top: 0;
	bottom: 3px;
	margin: auto;
}

.container h4 {
  counter-increment: h4;	
}

.container h4:before {
  margin: 0 10px 0 0;
}
.container h5 {
	margin: 0 0 5px;
}
.container h5:after {
  position: absolute;
  left: 0;
}
.container h6 {
  counter-increment: h6;
  font-size: 0.9em;
  padding: 0 0 0 15px;
}

/*++++++++++++++
サイドバー
++++++++++++++*/
section.link {
	padding: 30px 0;
}
section.link ol li {
	width: 100% !important;
	margin: 0 0 2%;
}
section.link ol li:nth-child(3n) {
	margin:0 0 2%;
}	
section.link .inner {
	max-width: 95%;
}
section.link ol li:last-child .p-button-link {
    display: block;
    padding: 10px;
    vertical-align: middle;
    box-sizing: border-box;
}
section.link ol li:last-child .p-button-link i,
section.link ol li:last-child .p-button-link p {
	display:inline-block;
	padding: 0 2px;
}
section.link ol li:last-child .p-button-link div {
	width: 66%;
	display: block;
	float: right;
}	
.p-button-link i {
	font-size: 20px;
	padding: 10px;
	display: flex;
	align-items: center;
}	
section.link ol li:last-child .p-button-link div p {padding: 2px 0;display: block;}	
.p-button-link p {
	padding: 12px 10px 12px 0;
	font-size: 0.9em;
}	
section.link .inner ol {display: block;}		
/*+++++++++++++++++++
/*footer
+++++++++++++++++++*/
footer .inner.flex,footer .inner.flex em  {
	display: block;
	padding: 5px 0;
}

.footerbox {
	display: flex;
	justify-content: left;
	flex-wrap: wrap;
	padding: 0 0 50px;
	border-bottom: 1px solid #031226;
}

footer dl {
	position: relative;
	margin: 0 2% 0 0;
	padding: 30px 0 0;
	width: 100%;
	/* border-right: 1px solid rgba(255,255,255,0.4); */
	box-sizing: border-box;
}
footer dl:nth-child(4n) {
	margin:0;
	border: none;
}
footer dl.flex {
	width:100%;
	gap:0;
	display:block;
}		

footer dt {
	position: relative;
	margin: 0 10px 15px 0;
	border: 1px solid rgba(255,255,255,0.4);
	padding: 13px 20px;
	box-sizing: border-box;
	width: 100%;
}
footer dt:before {
	content:"";
	width: 10px;
	height: 1px;
	background: rgba(255,255,255,0.6);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
}	
footer dl:before {
	content:"";
}
footer dd {
	margin: 0 0 9px;
	position: relative;
}
footer dt > a {
	color: #fff;
	font-weight: 500;
	margin: 0;
	font-size: 0.9em;
	display: block;
	padding: 0;
}
footer dd > a {
	color: #eee;
	font-size: 0.8em;
	display: block;
	letter-spacing: 1px;
	position: relative;
	padding: 0 0 0 18px;
}
footer dd > a:before {
	content:"";
	background: #92a9c8;
	width: 4px;
	height: 4px;
	position: absolute;
	top: 7px;
	margin: auto;
	left: 0;
}
/*外部サイト*/
.trgt_link {
	padding: 10px;
	background: #0d192b;
}
.trgt_link a {
	color: #fff;
	font-size: 0.9em;
}

.trgt_link a.target {
	margin: 10px;
	width: 44%;
	display: block;
}

.trgt_link .inner {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 100%;
	text-align: center;
}
.copyright {
	padding: 20px 0;
}
.copyright .flex {
	display: block;
	text-align: center;
}	
	.copyright em {
		display: block;
	}

/*+++++++++++++++++++
/*下層ページ共通
+++++++++++++++++++*/
.search_button i {
	font-size: 16px;
	top: -13px;
}
.underpage #searchbox.active {
	display: block;
}
	
/*+++++++++++++++++++
/*よくある質問
+++++++++++++++++++*/	
.faqcatebox h2 {margin: 0;}
.faqcatebox dl{
	border: none;
}

.faqcatebox dt{font-size: 0.85em;padding: 15px 60px 15px 25px;}

.faqcatebox dt:before {
	content:"Q";
	left: 5px;
}
.faqcatebox dl dt:after {
	content: "開く ＋";
}

.faqcatebox dl.active dt:after {
	content: "閉じる －";
	color: #fff;
	border: 1px solid #fff;
}

.faqcatebox dd{
	padding: 15px 20px 15px 30px;
}

.faqcatebox dd:before {font-size: 1em;left: 7px;margin: 5px 0 0;}
.faqcatebox dd .answer {
	font-size: 0.95em;
	line-height: 2;
	letter-spacing: 1px;
	position: relative;
}
.faqcatebox dd .answer a {
	text-decoration:underline;
	color:#69c;
}
.faqcatebox dd .answer a:hover {
	text-decoration:none;
}
.faqcatebox dd h2,
.faqcatebox dd h3,
.faqcatebox dd h4 {
	font-size:inherit;
}
.faqcatebox dd h5 {
    margin: 0 0 20px;
    padding: 0;
}	
		
/*+++++++++++++++++++
/*403/404表示画面
+++++++++++++++++++*/	
.n403 {
	padding: 30px 0 !important;
	background: #fff !important;
}
.n403 img {
	width: 200px;
	margin: 0;
}	
.n403 .title {
    font-size: 1.1em;
    line-height: 1.6;
}

}

/*スマホ版終わり*/
/*+++++++++++++++++++++++++++++++++++
レスポンシブタブレット版（一部）
++++++++++++++++++++++++++++++++++++*/
@media screen and (max-width: 767px) {
section .inner,#wrapper .inner {
	max-width: 95%;
	margin: auto;
}
.underpage #wrapper > .inner {padding: 30px 0;display: block;flex-direction: column;display: flex;}	
	
}