@charset "utf-8";
/*-------------------------------------------------*/
/*(C) A.C.Planet Inc. All rights reserved.*/
/*--------------------------------------------------*/

/*見出し
----------------------------------------*/



/*画像キャプション
----------------------------------------*/
.img-caption{
	display: inline-block;
	font-size: 0.875rem;
    color: var(--sub-color02);
    text-align: center;
}
figcaption{
    margin-top: 7px;
}
.img-caption img{
	display: block;
	margin:0 auto;
	height:auto;
}

/*テーブル
----------------------------------------*/

table tbody,
table tfoot,
table thead,
table th,
table tr,
table td{
	border:unset;
}
table {
	margin-top: 10px;
	margin-bottom: 10px;
	position:relative;
}
table::before{
	content:"";
	width:100%;
	height:0;
	display:block;
	position:absolute;
	left:0;
	top:0;
	border-top:1px dotted #cccccc;
}
table caption{
	color: var(--sub-color02);
	font-weight: bold;
	text-align: left;
	margin-top:10px;
}

table tr{
	position:relative;
}
table tr::after{
	content:"";
	width:100%;
	height:0;
	display:block;
	position:absolute;
	left:0;
	bottom:0;
	border-bottom:1px dotted #cccccc;
}

table th{
	padding:10px 10px;
	vertical-align: top;
	font-weight:normal;
}
_::-webkit-full-page-media, _:future, :root table th,
_::-webkit-full-page-media, _:future, :root table td {
	border-bottom:1px dotted #cccccc;
}

table td{
	padding:10px 10px;
}
table th + td{
	position:relative;
}
table th + td:before{
	content:"";
	height:calc(100% - 30px);
	background:var(--main-color);
	width:1px;
	display:block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
caption {
  caption-side: top;
}

@media screen and (min-width: 769px){
	table th,td{
		padding:8px 10px;
	}
	table th:first-child,
	table td:first-child{
		padding-left:0;
	}
	table td:not(:first-child){
		padding-left: 20px;
	}
	table th + td:before{
		height: calc(100% - 26px);
	}
}
@media screen and (max-width: 767px){
	table.res th,
	table.res td{
		display: block;
	}
}


/*アイコンリスト
----------------------------------------*/

/*---通常リスト---*/

/*.list,
.list-s{
	margin-left:10px;
}*/
.list li,
.list-f li,
.list-three li,
.list-two li{
	padding-left: 15px;
	margin:  0;
	position: relative;
}
.list li::before,
.list-f li::before,
.list-three li::before,
.list-two li::before{
	content: '';
	display: block;
	width: 4px;
	height: 4px;
	background: var(--main-color);
	border-radius: 50%;
	position: absolute;
	top: 11px;
	left: 0;
}

.list-s li,
.list-fs li{
	padding-left: 20px;
	margin: 5px 0;
	position: relative;
}
.list-s li::before,
.list-fs li::before{
	content: '';
	display: block;
	width: 10px;
	height: 1px;
	background: var(--sub-color03);
	position: absolute;
	top: 12px;
	left: 0;
}

/*通常リスト:横並び*/
.list-f:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.list-f{
	margin-left:10px;
	display: inline-table;
	min-height: 1%;
}
/* Hides from IE-mac \*/
* html .list-f {
	height: 1%;
}
.list-f {
	display: block;
}
/* Hides from IE-mac */

.list-f li {
	width: auto;
	white-space: nowrap;
	float: left;
	padding-right: 20px;
}

/*通常リスト:横並び(小さめ)*/
.list-fs:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.list-fs{
	margin-left:10px;
	display: inline-table;
	min-height: 1%;
}
/* Hides from IE-mac \*/
* html .list-fs {
	height: 1%;
}
.list-fs {
	display: block;
}
/* Hides from IE-mac */

.list-fs li {
	width: auto;
	white-space: nowrap;
	float: left;
	padding-right: 20px;
}

/*入れ子にしたとき、画像が出てしまうのを防ぐ*/
.none li{
	background:none;
	padding-left:0px;
}

/*リンクリスト*/
/*.linklist,
.linklist-s{
	margin-left:10px;
}*/
.linklist > li,
.linklist-f > li,
.linklist-three > li,
.linklist-two > li,
.linklist-two-eng > li,
.linklist-three-eng > li,
.linklist-edu > li,
.linklist-research > li{
	display: block;
	padding-left: 30px;
	margin: 8px 0;
	position: relative;
}
.linklist > li::before,
.linklist-f > li::before,
.linklist-three > li::before,
.linklist-two > li::before,
.linklist-two-eng > li::before,
.linklist-three-eng > li::before,
.linklist-edu > li::before,
.linklist-research > li::before{
	content: '';
	display: block;
	width: 23px;
	height: 23px;
	background: var(--bg-grad02);
	border-radius: 50%;
	position: absolute;
	top: 2px;
	left: 0;
	transition: all .3s ease;
}
/*.linklist-f > li::before,
.linklist-three > li::before,
.linklist-two > li::before,
.linklist-two-eng > li::before,
.linklist-three-eng > li::before,
.linklist-edu > li::before{
	top: 10px;
}*/
.linklist > li::after,
.linklist-f > li::after,
.linklist-three > li::after,
.linklist-two > li::after,
.linklist-two-eng > li::after,
.linklist-three-eng > li::after,
.linklist-edu > li::after,
.linklist-research > li::after{
	content: '';
	display: block;
	width: 12px;
	height: 12px;
    background: url(../imgs/kasou/arrow01.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    top: 6px;
	left: 6px;
	transition: all .3s ease;
}
/*.linklist li a,
.linklist-f li a,
.linklist-three li a,
.linklist-two li a,
.linklist-two-eng li a,
.linklist-three-eng li a,
.linklist-edu li a{
	display: block;
	padding-left: 30px;
	margin: 8px 0;
	position: relative;
}
.linklist li a::before,
.linklist-f li a::before,
.linklist-three li a::before,
.linklist-two li a::before,
.linklist-two-eng li a::before,
.linklist-three-eng li a::before,
.linklist-edu li a::before{
	content: '';
	display: block;
	width: 12px;
	height: 1px;
	background: #fff;
	position: absolute;
	top: 14px;
	left: 5px;
	transition: all .3s ease;
}
.linklist li a::after,
.linklist-f li a::after,
.linklist-three li a::after,
.linklist-two li a::after,
.linklist-two-eng li a::after,
.linklist-three-eng li a::after,
.linklist-edu li a::after{
	content: '';
	display: block;
	width: 5px;
	height: 1px;
	background: #fff;
	transform: rotate(40deg);
	position: absolute;
	top: 12px;
	left: 12px;
	transition: all .3s ease;
}*/

.linklist-s > li,
.linklist-fs > li{
	display: block;
	padding-left: 15px;
	margin: 5px 0;
	position: relative;
}
.linklist-s > li::before,
.linklist-fs > li::before{
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	border-top: 1px solid var(--sub-color01);
	border-right: 1px solid var(--sub-color01);
	transform: rotate(45deg);
	position: absolute;
	top: 10px;
	left: 0;
	transition: all .3s ease;
}
/*.linklist-s > li a,
.linklist-fs > li a{
	display: block;
	padding-left: 15px;
	margin: 5px 0;
	position: relative;
}
.linklist-s > li a::before,
.linklist-fs > li a::before{
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	border-top: 1px solid var(--sub-color01);
	border-right: 1px solid var(--sub-color01);
	transform: rotate(45deg);
	position: absolute;
	top: 10px;
	left: 0;
	transition: all .3s ease;
}*/

@media (hover: hover) {
	.linklist > li:has(> a:hover )::before,
	.linklist-f > li:has(> a:hover )::before,
	.linklist-three > li:has(> a:hover )::before,
	.linklist-two > li:has(> a:hover )::before,
	.linklist-two-eng > li:has(> a:hover )::before,
	.linklist-three-eng > li:has(> a:hover )::before,
	.linklist-edu > li:has(> a:hover )::before,
	.linklist-research > li:has(> a:hover )::before{
		left: 5px;
	}
	.linklist > li:has(> a:hover )::after,
	.linklist-f > li:has(> a:hover )::after,
	.linklist-three > li:has(> a:hover )::after,
	.linklist-two > li:has(> a:hover )::after,
	.linklist-two-eng > li:has(> a:hover )::after,
	.linklist-three-eng > li:has(> a:hover )::after,
	.linklist-edu > li:has(> a:hover )::after,
	.linklist-research > li:has(> a:hover )::after{
		left: 11px;
	}
	/*.linklist li a:hover::before,
	.linklist-f li a:hover::before,
	.linklist-three li a:hover::before,
	.linklist-two li a:hover::before,
	.linklist-two-eng li a:hover::before,
	.linklist-three-eng li a:hover::before,
	.linklist-edu li a:hover::before{
		left: 10px;
	}
	.linklist li a:hover::after,
	.linklist-f li a:hover::after,
	.linklist-three li a:hover::after,
	.linklist-two li a:hover::after,
	.linklist-two-eng li a:hover::after,
	.linklist-three-eng li a:hover::after,
	.linklist-edu li a:hover::after{
		left: 17px;
	}*/
	.linklist-s > li:has(> a:hover)::before,
	.linklist-fs > li:has(> a:hover)::before{
		left: 5px;
	}
	/*.linklist-s > li a:hover::before,
	.linklist-fs > li a:hover::before{
		left: 5px;
	}*/
}

@media screen and (max-width: 767px){
	.list > li::before, .list-f > li::before, .list-three > li::before, .list-two > li::before{
		top: 11px;
	}
	.list-s > li::before, .list-fs > li::before{
		top: 10px;
	}
	.linklist > li::before, .linklist-f > li::before, .linklist-three > li::before, .linklist-two > li::before, .linklist-two-eng > li::before, .linklist-three-eng > li::before, .linklist-edu > li::before, .linklist-research > li::before{
		width: 18px;
    	height: 18px;
		top: 2px;
	}
	.linklist > li, .linklist-f > li, .linklist-three > li, .linklist-two > li, .linklist-two-eng > li, .linklist-three-eng > li, .linklist-edu > li, .linklist-research > li{
		padding-left: 27px;
	}
	.linklist > li::after, .linklist-f > li::after, .linklist-three > li::after, .linklist-two > li::after, .linklist-two-eng > li::after, .linklist-three-eng > li::after, .linklist-edu > li::after, .linklist-research > li::after{
		width: 8px;
        top: 6px;
        left: 5px;
        height: 8px;
	}
	/*.linklist li a, .linklist-f li a, .linklist-three li a, .linklist-two li a, .linklist-two-eng li a, .linklist-three-eng li a, .linklist-edu li a{
		padding-left: 27px;
	}
	.linklist li a::before, .linklist-f li a::before, .linklist-three li a::before, .linklist-two li a::before, .linklist-two-eng li a::before, .linklist-three-eng li a::before, .linklist-edu li a::before{
		width: 8px;
    	top: 11px;
    	left: 5px;
	}
	.linklist li a::after, .linklist-f li a::after, .linklist-three li a::after, .linklist-two li a::after, .linklist-two-eng li a::after, .linklist-three-eng li a::after, .linklist-edu li a::after{
		top: 10px;
    	left: 9px;
	}*/
	.linklist-s > li::before, .linklist-fs > li::before{
		top: 8px;
	}
	/*.linklist-s > li a::before, .linklist-fs > li a::before{
		top: 8px;
	}*/
	
	@media (hover: hover) {
		.linklist > li:has(> a:hover)::after, .linklist-f > li:has(> a:hover)::after, .linklist-three > li:has(> a:hover)::after, .linklist-two > li:has(> a:hover)::after, .linklist-two-eng > li:has(> a:hover)::after, .linklist-three-eng > li:has(> a:hover)::after, .linklist-edu > li:has(> a:hover)::after, .linklist-research > li:has(> a:hover)::after{
			left: 14px;
		}
		/*.linklist > li a:hover::after, .linklist-f > li a:hover::after, .linklist-three > li a:hover::after, .linklist-two > li a:hover::after, .linklist-two-eng > li a:hover::after, .linklist-three-eng > li a:hover::after, .linklist-edu > li a:hover::after{
			left: 14px;
		}*/
	}
}


/*リンクリスト：横並び*/
.linklist-f:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.linklist-f{
	margin-left: 10px;
	display: inline-table;
	min-height: 1%;
}
/* Hides from IE-mac \*/
* html .linklist-f {
	height: 1%;
}
.linklist-f {
	display: block;
}
/* Hides from IE-mac */

.linklist-f li{
	width: auto;
	white-space: nowrap;
	float: left;
	padding-right: 20px;
}

/*リンクリスト：横並び(小さめ)*/
.linklist-fs:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.linklist-fs{
	margin-left: 10px;
	display: inline-table;
	min-height: 1%;
}

/* Hides from IE-mac \*/
* html .linklist-fs {
	height: 1%;
}
.linklist-fs {
	display: block;
}
/* Hides from IE-mac */

.linklist-fs li{
	width: auto;
	white-space: nowrap;
	float: left;
	padding-right: 20px;
}

/*2022_05_下層ページコンテンツ幅改修*/
/*-----3カラムリスト-----*/
.list-three{
	margin-left:10px;
	margin-top:10px;
}
.list-three li {
	width:33%;
	float:left;
	box-sizing:border-box;
}
/*3カラムリストClearFix*/
.list-three:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.list-three {
	display: inline-table;
	min-height: 1%;
}

/* Hides from IE-mac \*/
* html .list-three {
	height: 1%;
}
.list-three {
	display: block;
}
/* Hides from IE-mac */
/*2022_05_下層ページコンテンツ幅改修*/
/*-----2カラムリスト-----*/
.list-two{
	margin-left:10px;
	margin-top:10px;
}
.list-two li {
	width:50%;
	float:left;
	box-sizing: border-box;
}
/*2カラムリストClearFix*/
.list-two:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.list-two {
	display: inline-table;
	min-height: 1%;
}

/* Hides from IE-mac \*/
* html .list-two {
	height: 1%;
}
.list-two {
	display: block;
}
/* Hides from IE-mac */
/*2022_05_下層ページコンテンツ幅改修*/
/*-----3カラムリンクリスト-----*/
.linklist-three{
	margin-left:10px;
	margin-top:10px;
}
.linklist-three li {
	width:33%;
	float:left;
	box-sizing:border-box;
}
/*3カラムリンクリストClearFix*/
.linklist-three:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.linklist-three {
	display: inline-table;
	min-height: 1%;
}

/* Hides from IE-mac \*/
* html .linklist-three {
	height: 1%;
}
.linklist-three {
	display: block;
}
/* Hides from IE-mac */

/*-----2カラムリンクリスト-----*/
.linklist-two{
	margin-left:10px;
	margin-top:10px;
}
.linklist-two li {
	width:50%;
	float:left;
	box-sizing:border-box;
}
/*2カラムリンクリストClearFix*/
.linklist-two:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.linklist-two {
	display: inline-table;
	min-height: 1%;
}

@media screen and (max-width: 767px){
	.list-f li,
	.list-fs li,
	.linklist-f li,
	.linklist-fs li,
	.list-two li,
	.linklist-two li,
	.list-three li,
	.linklist-three li{
		float: none;
		width: 100%;
	}
}

/* Hides from IE-mac \*/
* html .linklist-two {
	height: 1%;
}
.linklist-two {
	display: block;
}
/* Hides from IE-mac */


/*-----3カラムリンクリスト（英語ページ用）-----*/
.linklist-three-eng{
	margin-left:10px;
	margin-top:10px;
}
.linklist-three-eng li {
	width:225px;
	float:left;
}
/*3カラムリンクリストClearFix*/
.linklist-three-eng:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.linklist-three-eng {
	display: inline-table;
	min-height: 1%;
}

/* Hides from IE-mac \*/
* html .linklist-three-eng {
	height: 1%;
}
.linklist-three-eng {
	display: block;
}
/* Hides from IE-mac */

/*-----2カラムリンクリスト（英語ページ用）-----*/
.linklist-two-eng{
	margin-left:10px;
	margin-top:10px;
}
.linklist-two-eng li {
	width:374px;
	float:left;
}
/*3カラムリンクリストClearFix*/
.linklist-two-eng:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.linklist-two-eng {
	display: inline-table;
	min-height: 1%;
}

/* Hides from IE-mac \*/
* html .linklist-two-eng {
	height: 1%;
}
.linklist-two-eng {
	display: block;
}
/* Hides from IE-mac */


/*-----学部一覧用リンクリスト-----*/
.linklist-edu{
	margin-left:10px;
	margin-top:0px!important;
}
.linklist-edu li {
	width:250px;
	float:left;
}
/*学部一覧用リンクリストClearFix*/
.linklist-edu:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.linklist-edu {
	display: inline-table;
	min-height: 1%;
}

/* Hides from IE-mac \*/
* html .linklist-edu {
	height: 1%;
}
.linklist-edu {
	display: block;
}
/* Hides from IE-mac */


/*番号リスト
----------------------------------------*/

ol{
	margin-left: 30px;
}

/*番号リスト:ローマ大文字*/
.ollist-ur {
	list-style-type: upper-roman;
}
/*番号リスト:ローマ小文字*/
.ollist-lr {
	list-style-type: lower-roman;
}
/*番号リスト:アルファベット大文字*/
.ollist-ua {
	list-style-type: upper-alpha;
}
/*番号リスト:アルファベット小文字*/
.ollist-la {
	list-style-type: lower-alpha;
}

/*単体リンク
----------------------------------------*/

/*.link{
	position: relative;
}*/
.link{
	padding-left:30px;
}
.link a{
	/*display: block;*/
	display: inline-block;
	/*padding-left: 30px;*/
	position: relative;
}
.link a::before{
	content: '';
	display: block;
	width: 23px;
	height: 23px;
	background: var(--bg-grad02);
	border-radius: 50%;
	position: absolute;
	top: 2px;
	/*left: 0;*/
	left: -30px;
	transition: all .3s ease;
}
/*.link a::before{
	content: '';
	display: block;
	width: 12px;
	height: 1px;
	background: #fff;
	position: absolute;
	top: 14px;
	left: 5px;
	transition: all .3s ease;
}*/
.link a::after{
	content: '';
	display: block;
	width: 12px;
	height: 12px;
    background: url(../imgs/kasou/arrow01.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    top: 6px;
	/*left: 6px;*/
	left: -24px;
	transition: all .3s ease;
}

@media (hover: hover) {
	.link a:hover::before{
		/*left: 10px;*/
		left: -20px;
	}
	.link a:hover::before{
		/*left: 5px;*/
		left:-25px;
	}
	.link a:hover::after{
		/*left: 11px;*/
		left: -19px;
	}
}

@media screen and (max-width: 767px){
	/*.link::before{
		
		width: 18px;
    	height: 18px;
		top: 2px;
	}*/
	.link{
		padding-left: 27px;
	}
	.link a{
		/*padding-left: 27px;*/
	}
	.link a::before{
		width: 18px;
    	height: 18px;
		top: 2px;
		left:-27px;
	}
	.link a::after{
		width: 8px;
        height: 8px;
        top: 6px;
        /*left: 5px;*/
		left:-22px;
	}
	@media (hover: hover) {
		.link a:hover::after{
			/*left: 10px;*/
			left: -17px;
		}
	}
}

/*ボタン
----------------------------------------*/

.button01{
	display: inline-block;
	position: relative;
	border-radius: 30px;
	overflow: hidden;
}
.button01::after{
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto 0;
	transition: all .3s ease;
}
.button01 a{
	display: block;
	color: #fff;
	padding: 10px 50px 10px 30px;
	text-decoration: none;
}
.button01 a::before,
.button01 a::after{
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: all .3s ease;
}
.button01 a::before{
	background: var(--sub-color02);
	z-index: -2;
}
.button01 a::after{
	background: var(--sub-color01);
	z-index: -1;
	transform: scale(0,1);
	transform-origin: left top;
}

.button02{
	display: inline-block;
}
.button02 a{
	display: block;
	color: #333;
	padding: 10px 40px 10px 0;
	text-decoration: none;
	border-bottom: 1px solid var(--sub-color04);
	position: relative;
	transition: all .3s ease;
}
.button02 a::after{
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-top: 1px solid var(--main-color);
	border-right: 1px solid var(--main-color);
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 5px;
	margin: auto 0;
	transition: all .3s ease;
}

@media (hover: hover) {
	.button01 a:hover::after{
		transform: scale(1,1);
	}
	.button01:has(> a:hover)::after{
		right: 15px;
	}
	.button02 a:hover{
		color: var(--main-color);
	}
	.button02 a:hover::after{
		right: 0;
	}
}


/*フォントサイズ・カラー
----------------------------------------*/

.font-s{
	font-size: 0.875rem;
}
.fs-7{
	font-size: 0.9rem !important;
}

.font-red {
	color:#ca1b2d;
}
.font-blue {
	color:#005bab;
}
.font-darkblue {
	color:#0f2c4d;
}
.font-green {
	color:#0b7029;
}
.font-gray {
	color:#666666;
}


/*ボックス
----------------------------------------*/

.box01,.box02,.box03,.box04,.box05,.box06{
	padding: 25px;
	border-radius: 20px;
	margin-top:1rem;
	margin-bottom:1rem;
}
.box01{
	background: var(--bg-color01);
}
.box01 .box-title{
	display: inline-block;
	padding: 5px 20px;
	margin-left: -25px;
	background: #fff;
	color: var(--sub-color02);
	font-size: 1.25rem;
	border-radius: 0 30px 30px 0;
}
.box02{
	border: 2px solid var(--sub-color02);
}
.box02 .box-title{
	font-size: 1.25rem;
	color: var(--sub-color02);
	padding-bottom: 20px;
	position: relative;
}
.box02 .box-title::after{
	content: '';
	display: block;
	width: 35px;
	height: 5px;
	background: var(--bg-grad02);
	border-radius: 5px;
	position: absolute;
	bottom: 0;
	left: 0;
}
.box03{
	background: var(--bg-color01);
	border: 2px solid var(--sub-color02);
}
.box03 .box-title{
	font-weight: bold;
	color: var(--main-color);
}
.box04{
	border: 2px solid #ca1b2d;
}
.box04 .box-title{
	font-weight: bold;
	color: #ca1b2d;
}
.box05{
	border: 2px dashed var(--sub-color03);
}
.box05 .box-title{
	font-weight: bold;
	color: var(--main-color);
}
.box06{
	border: 2px dashed var(--main-color);
}
.box06 .box-title{
	font-weight: bold;
	color: var(--sub-color01);
	background: none;
}

@media screen and (max-width: 767px){
	.box01,.box02,.box03,.box04,.box05,.box06{
		padding: 15px;
	}
}

/*ページネーション
----------------------------------------*/

.pagebute{
	display: inline-block;
    padding: 15px 25px;
    background: var(--bg-color01);
    border-radius: 30px;
}
.link_before{
	padding-left: 15px;
	margin-right: 30px;
	position: relative;
}
.link_next{
	padding-right: 15px;
	margin-left: 30px;
	position: relative;
}
.link_before::before,
.link_next::before{
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border-top: 1px solid var(--sub-color01);
	border-right: 1px solid var(--sub-color01);
	position: absolute;
	top: 10px;
	transition: all .3s ease;
}
.link_before::before{
	transform: rotate(-135deg);
	left: 5px;
}
.link_next::before{
	transform: rotate(45deg);
	right: 5px;
}
.link_page{
	padding: 0 8px;
}

@media (hover: hover) {
	.link_before:hover::before{
		left: 0;
	}
	.link_next:hover::before{
		right:0;
	}
}

@media screen and (max-width: 767px){
	.pagebute{
		display: flex;
    	justify-content: center;
    	flex-wrap: wrap;
    	padding: 10px 35px;
    	border-radius: 20px;
	}
	.link_before::before,
	.link_next::before{
		width: 6px;
		height: 6px;
		top: 8px;
	}
}


/*ライン
----------------------------------------*/

hr.li1{
	display: block;
	background: var(--sub-color03);
	opacity: 1;
}
hr.li2{
	display: block;
	border: none;
	border-top: 1px dashed var(--sub-color03);
	background: none;
	opacity: 1;
}

/*アイコン
----------------------------------------*/
.ic-newwin{
	vertical-align: middle;
    margin-left: 5px;
	width:auto !important;
}
.ic-pdf,
.ic-word,
.ic-excel,
.ic-zip{
	width:auto !important;
	display: inline-block;
	line-height: 1;
	vertical-align: middle;
	font-size: 0.75rem;
    font-weight: bold;
    text-decoration: none;
    color: #fff;
    margin-left: 5px;
    padding: 3px 5px 4px;
    /*border: 2px solid #fff;*/
    border-radius: 15px;
    box-shadow:
        -1px -1px #fff,
         1px -1px #fff,
         1px  1px #fff,
        -1px  1px #fff;
}
.ic-pdf{
    background: #636363;
}
.ic-word{
    background: #005bab;
}
.ic-excel{
    background: #0b7029;
}
.ic-zip{
    background: #4d4d4d;
}


/*----- テキスト位置 -----*/
.text-center{
	text-align:center !important;
}
.text-right{
	text-align:right !important;
}
.text-left{
	text-align:left !important;
}
.text-middle{
	vertical-align:middle;
}
.text-top{
	vertical-align:top;
}
.text-bottom{
	vertical-align:bottom;
}

/*----- 位置設定 -----*/

/*1/3サイズ*/
.three-l{
	width: 33%;
	float: left;
}
.three-c{
	width: 33%;
	float: left;
	padding-left: 0.5%;
}
.three-r{
	width: 33%;
	float: right;
}

/*フロート左*/
.float-l{
	float:left;
	width:auto;
	margin-right: 5px;
}
/*フロート右*/
.float-r{
	float:right;
	width:auto;
	margin-left: 5px;
}

/*1/2サイズ*/
.half-l{
	float: left;
	width: 49%;
}
.half-r{
	float: right;
	width: 49%;
}
@media screen and (min-width: 531px){
	.clear:has( > [class*="harf"])::after{
		display:none;
	}
	.clear:has( > [class*="harf"]){
		display:flex;
		justify-content: space-between;
	}
	.clear:has( > [class*="harf-r"]:first-child){
		flex-direction: row-reverse;
	}
	.clear:has( > [class*="harf"]) [class*="box"]{
		height: calc(100% - 2rem);
	}
	.clear > [class*="harf"]{
		flex:none;
	}
}
/*マージン
---------------------------------------*/
/*マージン設定*/
/*マージン全方向０*/
.margin-0{
	margin:0 !important;
}
/*マージン全方向10*/
.margin-10{
	margin:10px !important;
}
/*マージン全方向20*/
.margin-20{
	margin:20px !important;
}
/*マージン全方向30*/
.margin-30{
	margin:30px !important;
}
/*マージン左右０*/
.margin-rl0{
	margin-right:0 !important;
	margin-left:0 !important;
}
/*マージン左右10*/
.margin-rl10{
	margin-right:10px !important;
	margin-left:10px !important;
}
/*マージン左右20*/
.margin-rl20{
	margin-right:20px !important;
	margin-left:20px !important;
}
/*マージン左右30*/
.margin-rl30{
	margin-right:30px !important;
	margin-left:30px !important;
}
/*マージン左右　中央*/
.margin-rlauto{
	margin-right:auto !important;
	margin-left:auto !important;
}
/*マージン上下０*/
.margin-tb0{
	margin-top:0 !important;
	margin-bottom:0 !important;
}
/*マージン上下10*/
.margin-tb10{
	margin-top:10px !important;
	margin-bottom:10px !important;
}
/*マージン上下20*/
.margin-tb20{
	margin-top:20px !important;
	margin-bottom:20px !important;
}
/*マージン上下30*/
.margin-tb30{
	margin-top:30px !important;
	margin-bottom:30px !important;
}
/*マージン上０*/
.margin-top0{
	margin-top:0 !important;
}
/*マージン上5*/
.margin-top5{
	margin-top:5px !important;
}
/*マージン上10*/
.margin-top10{
	margin-top:10px !important;
}
/*マージン上20*/
.margin-top20{
	margin-top:20px !important;
}
/*マージン上30*/
.margin-top30{
	margin-top:30px !important;
}
/*マージン上40*/
.margin-top40{
	margin-top:40px !important;
}
/*マージン下０*/
.margin-bottom0{
	margin-bottom:0 !important;
}
/*マージン下5*/
.margin-bottom5{
	margin-bottom:5px !important;
}
/*マージン下10*/
.margin-bottom10{
	margin-bottom:10px !important;
}
/*マージン下20*/
.margin-bottom20{
	margin-bottom:20px !important;
}
/*マージン下30*/
.margin-bottom30{
	margin-bottom:30px !important;
}
/*マージン左０*/
.margin-l0{
	margin-left:0 !important;
}
/*マージン左5*/
.margin-l5{
	margin-left:5px !important;
}
/*マージン左10*/
.margin-l10{
	margin-left:10px !important;
}
/*マージン左20*/
.margin-l20{
	margin-left:20px !important;
}
/*マージン左30*/
.margin-l30{
	margin-left:30px !important;
}
/*マージン右０*/
.margin-r0{
	margin-right:0 !important;
}
/*マージン右10*/
.margin-r10{
	margin-right:10px !important;
}
/*マージン右20*/
.margin-r20{
	margin-right:20px !important;
}
/*マージン右30*/
.margin-r30{
	margin-right:30px !important;
}

/*ライン*/
/*ブロック要素の下にラインがつく*/
.line{
	background-image:url(../imgs/common/li_01.gif);
	background-position:bottom;
	background-repeat:repeat-x;
	padding-bottom:10px;
	margin-bottom:10px;
	height: 1px;
}

/*コンテンツ連携用
---------------------------------------*/
.backtop{
	display:none;
}
.img-r{
	float:right;
	margin:0 0 20px 20px ;
}
.img-l{
	float:left;
	margin:0 20px 20px 0;
}
/*20180109 add*/
/*リスト以外インデント*/
/*1em*/
.indent-1 {
	text-indent: -1em;
	margin-left: 1em;
}
/*1.1em*/
.indent-1-1 {
	text-indent: -1.1em;
	margin-left: 1.1em;
}
/*1.2em*/
.indent-1-2 {
	text-indent: -1.2em;
	margin-left: 1.2em;
}
/*1.3em*/
.indent-1-3 {
	text-indent: -1.3em;
	margin-left: 1.3em;
}
/*1.4em*/
.indent-1-4 {
	text-indent: -1.4em;
	margin-left: 1.4em;
}
/*1.5em*/
.indent-1-5 {
	text-indent: -1.5em;
	margin-left: 1.5em;
}
/*1.6em*/
.indent-1-6 {
	text-indent: -1.6em;
	margin-left: 1.6em;
}
/*1.7em*/
.indent-1-7 {
	text-indent: -1.7em;
	margin-left: 1.7em;
}
/*1.8em*/
.indent-1-8 {
	text-indent: -1.8em;
	margin-left: 1.8em;
}
/*1.9em*/
.indent-1-9 {
	text-indent: -1.9em;
	margin-left: 1.9em;
}
/*2em*/
.indent-2 {
	text-indent: -2em;
	margin-left: 2em;
}
/*2em*/
.indent-2-8 {
	text-indent: -2.7em;
	margin-left: 2.7em;
}
/*3em*/
.indent-5 {
	text-indent: -5em;
	margin-left: 5em;
}
/*リスト用インデント幅*/
/*1em*/
ul.indent-1 li {
	text-indent: -1em;
	padding-left: 1em;
}
/*1.1em*/
ul.indent-1-1 li {
	text-indent: -1.1em;
	padding-left: 1.1em;
}
/*1.2em*/
ul.indent-1-2 li {
	text-indent: -1.2em;
	padding-left: 1.2em;
}
/*1.3em*/
ul.indent-1-3 li {
	text-indent: -1.3em;
	padding-left: 1.3em;
}
/*1.4em*/
ul.indent-1-4 li {
	text-indent: -1.4em;
	padding-left: 1.4em;
}
/*1.5em*/
ul.indent-1-5 li {
	text-indent: -1.5em;
	padding-left: 1.5em;
}
/*1.6em*/
ul.indent-1-6 li {
	text-indent: -1.6em;
	padding-left: 1.6em;
}
/*1.7em*/
ul.indent-1-7 li {
	text-indent: -1.7em;
	padding-left: 1.7em;
}
/*1.8em*/
ul.indent-1-8 li {
	text-indent: -1.8em;
	padding-left: 1.8em;
}
/*1.9em*/
ul.indent-1-9 li {
	text-indent: -1.9em;
	padding-left: 1.9em;
}
/*2em*/
ul.indent-2 li {
	text-indent: -2em;
	padding-left: 2em;
}
/*2.6em*/
ul.indent-2-6 li {
	text-indent: -2.6em;
	padding-left: 2.6em;
}
/*3em*/
ul.indent-3 li {
	text-indent: -3.0em;
	padding-left: 3.0em;
}
/*180109 add end*/

/*180709 .youtube4x3 add */
.youtube,
.youtube4x3{
  position: relative;
  width: 100%;
}
.youtube{
  padding-top: 56.25%;
}
.youtube4x3{
  padding-top: 75.25%;
}
.youtube iframe,
.youtube4x3 iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.movie {
border:1px solid #9D9D9D;
background: #eee;
padding: 20px 20px;
margin-top: 10px;
}
.movie.wd50{
width:46%;
padding: 2%;
}
@media screen and (max-width: 640px){
.movie.wd50{
width:100%;
padding: 0%;
}}	

a.youtube-link{
display:block;
position: relative;
}
a.youtube-link > img{
border:1px solid #ccc;
box-sizing:border-box;
}
.youtube-link .youtube-icon img{
display:block;
    position: absolute;
    top: 45%;
    left: 45%;
opacity: 0.8;
width:32px;
	transition:opacity 0.3s ease 0s;
}
.youtube-link .youtube-icon1col img{
display:block;
    position: absolute;
    top: 45%;
    left: 50%;
opacity: 0.8;
width:32px;
	transition:opacity 0.3s ease 0s;
}
.youtube-link:hover .youtube-icon img,
.youtube-link:hover .youtube-icon1col img{
opacity: 0.1;
}

/*背景色*/

.bg-gray{
	background:var(--sub-color02);
}

/*フォーム系*/

.checkbox_item {
  display: inline-flex;
  align-items: center;
  column-gap: 4px;
  width: fit-content;
  line-height: 1;
  cursor: pointer;
}

.checkbox_item:not(:last-of-type) {
  margin-bottom: 10px;
}

.checkbox {
  appearance: none;
  position: relative;
  width: 10px;
  height: 10px;
  border: 1px solid #999;
  border-radius: 2px;
  background-color: #ffffff;
  cursor: pointer;
}

.checkbox:checked {
  background-color: #fff;
}

.checkbox:checked::after {
	content: "";
	position: absolute;
	top: 0px;
	left: 0px;
	width: 8px;
	height: 5px;
	border-bottom: 2px solid var(--main-color);
	border-left: 2px solid var(--main-color);
	transform: rotate(-45deg);
}

label:has( > .checkbox:checked){
	text-decoration: underline;
}

@media screen and (min-width: 769px) {
	.checkbox_item:not(:last-of-type){
		margin-bottom:5px;
	}
	.checkbox_item {
	  display: inline-flex;
	  align-items: center;
	  column-gap: 10px;
	}
}