@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&display=swap&subset=japanese");

/*-- Kijima's Website bare bones - Base --
----------------------------------
サイト全体の基礎設定とヘッダー、ナビゲーション、
本文エリア、フッターの設定が記述されています。

Preload
Base
Main header
Main area
Main footer

Media Queries 1500 1300 1000 800 500 (print 1280)

----------------------------------
----------------------------------*/

/*-----
Disable transition on page load
-----*/
.preload *{
	transition:none !important;
}
/*-----
Hide the entire page in white until the page is loaded
-----*/
.preload::before{
	content:"";
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	display:block;
	background-color:rgb(255,255,255);
	background-image:url("../img/icon-loader.gif");
	background-position:center center;
	background-repeat:no-repeat;
	animation-name:preloadcover;
	animation-duration:.3s;
	animation-delay:2s;
	animation-fill-mode:both;
	z-index:1999;
	pointer-events:none;
}
@keyframes preloadcover{
	0%{opacity:1;}
	100%{opacity:0;}
}

/*-----------------------------
	Base
-----------------------------*/
*,
*::before,
*::after{
	box-sizing:border-box;
}
html{
	font-size:100%;
}
body{
	margin:0;
	font-family:
		"Noto Sans JP",
		"ヒラギノ角ゴ ProN W3",
		Hiragino Kaku Gothic ProN,
		Arial,
		Meiryo,
		sans-serif;
	font-size:1em;
	font-weight:400;
	color:rgb(70,70,70);
	font-feature-settings:"palt";
	line-height:1.9;
	letter-spacing:.025em;
	-webkit-text-size-adjust:100%;
}
main{
	display:block;
}
p{
	margin:.75em 0;
}
a{
	color:rgb(233,71,9);
}
button{
	font-size:inherit;
	font-family:inherit;
	line-height:inherit;
}
.wrapper{
	font-size:1.062rem;
}
.clearfix::after{
	content:"";
	display:table;
	clear:both;
}

/*-----------------------------
	Main header
-----------------------------*/
.main_header{
	position:fixed;
	z-index:2000;
	display:flex;
	justify-content:space-between;
	align-content:center;
	align-items:center;
	margin:0 auto;
	padding:0 0 0 var(--main-pad);
	width:100%;
	background-color:rgba(255,255,255,.3);
	backdrop-filter:blur(5px);
	border-bottom:1px solid rgb(136,108,60);
}
.main_header h1{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin:0;
	width:420px;
	transition:.15s ease-out;
	transition-property:width,height;
	z-index:500;
	pointer-events:none;
}
.main_header h1 a{
	display:block;
	font-size:1rem;
	color:rgb(255,255,255);
	line-height:1;
	text-decoration:none;
	transition:opacity .2s ease-out;
	pointer-events:auto;
}
.main_header h1 .univ{
	width:25%;
}
.main_header h1 .jgmi{
	padding:0 0 2% 5%;
	width:71%;
	border-left:1px solid rgb(112,112,112);
}
.main_header h1 a:hover{
	opacity:.5;
}
.main_header h1 a img{
	vertical-align:bottom;
	line-height:1;
	width:100%;
}

/* nav
--------------------*/
.main_header #gnav_button{
	display:none;
}
.main_header nav{
	line-height:1.4;
}
.main_header nav .main_nav{
	display:flex;
	flex-direction:column;
	align-content:flex-end;
	align-items:flex-end;
}
/* main 1 */
.main_header nav .main_01{
	display:flex;
	justify-content:flex-end;
	order:2;
	margin:0;
	padding:0;
	width:100%;
	list-style:none;
	line-height:1.4;
}
.main_header nav .main_01 > li{
	position:relative;
	display:flex;
	flex-wrap:wrap;
}
.main_header nav .main_01 > li + li{
	margin-left:1px;
}
.main_header nav .main_01 > li > a{
	position:relative;
	display:block;
	padding:.9rem 1rem .9rem 1rem;
	font-size:1rem;
	font-weight:700;
	color:inherit;
	line-height:1.2;
	text-align:center;
	text-decoration:none;
	transition:.15s ease-out;
	transition-property:width,height,background-color;
}
.wrapper:not(.touch_device) .main_header nav .main_01 > li:hover > a{
	background:rgb(232,109,64);
	color:rgb(255,255,255);
}
.main_header nav .main_01 > li .icon{
	height:1.1em;
	margin:0 .2em;
	vertical-align:-15%;
}
.main_header nav .main_01 > li .touch_arrow{
	position:absolute;
	top:100%;
	right:.7rem;
	z-index:2;
	display:none;
	justify-content:center;
	align-items:center;
	align-content:center;
	width:30px;
	padding:4px 8px;
	background:rgb(255,248,230);
	box-shadow:-1px -1px 1px rgb(136,108,60) inset, 1px 1px 1px rgb(136,108,60) inset;
	border-radius:.8rem;
	transition:.2s ease-out;
	transition-property:color;
	transform:translateY(-60%);
}
.main_header nav .main_01 > li .touch_arrow::before{
	content:"";
	display:block;
	border-width:0 2px 2px 0;
	border-style:solid;
	border-color:rgb(136,108,60);
	width:.5rem;
	height:.5rem;
	transition:.2s ease-out;
	transition-property:transform;
	transform:rotate(45deg);
}
.touch_device .main_header nav .main_01 > li .touch_arrow{
	display:flex;
}
.touch_device .main_header nav .main_01 > li .touch_arrow.active{
	background:rgb(160,130,130);
}
.touch_device .main_header nav .main_01 > li .touch_arrow.active::before{
	border-color:rgb(255,255,255);
	transform:translateY(3px) rotate(225deg);
}
.main_header nav .layer2{
	position:absolute;
	top:100%;
	right:0;
	display:flex;
	flex-wrap:wrap;
	margin:0 auto;
	padding:0;
	width:14rem;
	height:0;
	background:rgba(0,0,0,.85);
	box-shadow:0 1px 4px rgba(0,0,0,.4);
	transition:.15s ease-out .1s;
	transition-property:opacity;
	overflow:hidden;
	opacity:0;
	list-style:none;
}
.wrapper:not(.touch_device) .main_header nav li:hover .layer2,
.touch_device .main_header nav li .touch_arrow.active + .layer2{
	padding:.7rem;
	height:auto;
	opacity:1;
	z-index:1;
}

.main_header nav .layer2 li{
	width:100%;
}
.main_header nav .layer2 a{
	position:relative;
	display:block;
	padding:.1rem 1rem .1rem .4rem;
	margin-bottom:.4rem;
	font-size:.875rem;
	font-weight:500;
	border-left:3px solid rgba(255,213,74,.5);
	color:rgb(255,255,255);
	line-height:1.2;
	letter-spacing:0.05em;
	text-decoration:none;
	transition:.2s ease-out;
	transition-property:background-color,color;
}
.main_header nav .layer2 li:last-child a{
	margin-bottom:0;
}
.main_header nav .layer2 a:hover{
	background:rgb(232,109,64);
	color:rgb(255,255,255);
}

/* main 2 */
.main_header nav .main_02{
	display:flex;
	justify-content:flex-end;
	order:1;
	margin:0;
	padding:0;
	list-style:none;
	line-height:1.4;
	border-radius:0 0 0 10px;
	overflow:hidden;
}
.main_header nav .main_02 > li{
	position:relative;
	display:flex;
	flex-wrap:wrap;
}
.main_header nav .main_02 > li + li{
	margin-left:1px;
}
.main_header nav .main_02 > li > a,
.main_header nav .main_02 > li > button{
	position:relative;
	display:block;
	padding:.6rem .7rem .6rem .7rem;
	background:rgb(130,114,89);
	border:none;
	font-size:.875rem;
	font-weight:700;
	color:rgb(255,255,255);
	letter-spacing:.05em;
	line-height:1.2;
	text-align:center;
	text-decoration:none;
	transition:.15s ease-out;
	transition-property:width,height,background-color;
}
.main_header nav .main_02 > li > a.orange,
.main_header nav .main_02 > li > button.orange{
	background:rgb(232,109,64);
}
.main_header nav .main_02 > li > a.skyblue,
.main_header nav .main_02 > li > button.skyblue{
	background:rgb(43,159,229);
}
.wrapper:not(.touch_device) .main_header nav .main_02 > li:hover > a,
.wrapper:not(.touch_device) .main_header nav .main_02 > li:hover > button{
	background:rgb(73,45,34);
	color:rgb(255,255,255);
}
.main_header nav .main_02 > li .icon{
	margin:-.25rem .2rem -.25rem 0;
	width:1.25rem;
	line-height:1.2;
}
/* Modal box */
.modal_box {
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index:9999;
	opacity:0;
	visibility:hidden;
	transition:opacity .2s ease-out;
}
.modal_box.is-show {
	opacity:1;
	visibility:visible;
}
.modal_box > .inner {
	position:absolute;
	box-sizing:border-box;
	left:50%;
	top:35%;
	max-width:650px;
	width:100%;
	padding:.5rem 1.5rem 1.5rem;
	background-color:rgb(255,255,255);
	border-radius:10px;
	font-size:.937rem;
	line-height:1.4;
	z-index:2;
	overflow-y:auto;
	transform:translate(-50%,-50%);
}
.modal_box > .inner .title{
	margin-bottom:.8em;
	padding-bottom:.6em;
	border-bottom:dotted 1px rgb(180,180,180);
	font-size:1.125rem;
	font-weight:700;
	color:rgb(163,80,50);
	text-align:center;
}
.modal_box .close-btn {
	position:absolute;
	right:0;
	top:0;
	width:40px;
	height:40px;
	background:rgba(0,0,0,.2);
	border-radius:10px;
	font-size:20px;
	line-height:40px;
	text-align:center;
	cursor:pointer;
}
.modal_box .black-background {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,.8);
	z-index:1;
	cursor:pointer;
}
.modal_box .searchbox_01 > form{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.modal_box .searchbox_01 > form .s-box{
	padding:.2rem .5rem;
	width:calc(100% - 4.5rem);
	background:rgb(250,250,250);
	border:none;
	border-radius:10px;
	font-family:inherit;
	font-size:1rem;
	font-weight:500;
	box-shadow:0 2px 4px rgb(0,0,0,.2) inset;
}
.modal_box .searchbox_01 > form .select_archive{
	margin-top:.5rem;
	order:3;
}
.modal_box .searchbox_01 > form .select_archive label{
	font-weight:700;
}
.modal_box .searchbox_01 > form .select_archive label .s-check-archive{
	margin:.2rem .3rem .2rem 0;
	width:1rem;
	height:1rem;
	vertical-align:-15%;
}
.modal_box .searchbox_01 > form .s-btn-area{
	padding:.2rem .5rem;
	width:4rem;
	background:rgb(232,109,64);
	border:none;
	border-radius:10px;
	box-shadow:0 1px 4px rgba(0,0,0,.2);
	font-family:inherit;
	font-size:1rem;
	font-weight:500;
	color:rgb(255,255,255);
}


/*-----------------------------
	Main area
-----------------------------*/
.main_area{
	margin:0;
	padding-bottom:10rem;
	min-height:calc(100vh - 120px);
	background:url("../img/main_area-bg-01.png") center bottom repeat-x,radial-gradient(rgb(255,255,255),rgb(255,246,229));
	background-size:100% auto,;
}
.main_area.gpmi{
	background:radial-gradient(rgb(252,252,252),rgb(248,248,248));
}

/*-----------------------------
	Main footer
-----------------------------*/
.main_footer{
	position:relative;
	margin:0 auto;
	background:rgb(232,109,64);
	background-size:contain;
	z-index:1;
}
.main_footer > .inner{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin:0 auto;
	padding:0 var(--main-pad);
	padding-top:1.5rem;
	padding-bottom:1rem;
}
.main_footer .site_title{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin:.5rem 2rem .5rem 0;
	max-width:500px;
	width:100%;
}
.main_footer .site_title .univ{
	width:23.41%;
}
.main_footer .site_title .jgmi{
	padding:0 0 3% 5.5%;
	width:71.58%;
	border-left:1px solid rgb(255,255,255);
}
.main_footer .site_title a{
	display:block;
	font-size:1rem;
	color:rgb(255,255,255);
	line-height:1;
	text-decoration:none;
	transition:opacity .2s ease-out;
	pointer-events:auto;
}
.main_footer .site_title a:hover{
	opacity:.5;
}
.main_footer .site_title a img{
	vertical-align:bottom;
	line-height:1;
	width:100%;
}
.main_footer .menu{
	display:flex;
	flex-wrap:wrap;
	margin:0;
	color:rgb(255,255,255);
}
.main_footer .main_01{
	display:flex;
	align-items:flex-start;
	flex-wrap:wrap;
	margin:0;
	padding:0;
	line-height:1.4;
	list-style:none;
}
.main_footer .main_01 > li{
	position:relative;
	margin:15px 0;
	padding:0 1.5rem 0 .7rem;
	max-width:200px;
	border-left:solid 1px rgb(255,255,255);
}
.main_footer .main_01 > li::before{
	content:"";
	display:block;
	position:absolute;
	left:-2px;
	top:0;
	height:1.2rem;
	border-left:3px solid rgb(255,255,255);
}
.main_footer .main_01 > li > a{
	display:block;
	padding:0 0 .2em;
	font-size:.875rem;
	color:inherit;
	font-weight:700;
	text-decoration:none;
	transition:opacity .15s ease-out;
}
.main_footer .main_01 > li > a:hover{
	opacity:.5;
}
.main_footer .main_01 > li > ul{
	margin:0;
	padding:0;
	line-height:1.4;
	list-style:none;
}
.main_footer .main_01 .layer2 > li > a{
	display:block;
	padding:.2em 0;
	font-size:.812rem;
	color:inherit;
	text-decoration:none;
	transition:opacity .15s ease-out;
}
.main_footer .main_01 .layer2 > li > a:hover{
	opacity:.5;
}
.main_footer .main_02{
	margin:15px 0;
	padding:0;
	line-height:1.3;
	list-style:none;
}
.main_footer .main_02 > li{
	margin-bottom:.4rem;
	min-width:120px;
}
.main_footer .main_02 > li > a{
	position:relative;
	display:block;
	padding:.2rem .5rem;
	border-right:solid 1px rgb(255,255,255);
	border-left:solid 1px rgb(255,255,255);
	font-size:.875rem;
	font-weight:700;
	color:rgb(255,255,255);
	text-decoration:none;
	text-align:center;
	transition:.15s ease-out;
	transition-property:background,color;
}
.main_footer .main_02 > li > a:hover{
	background:rgb(255,255,255);
	color:rgb(232,109,64);
}
.main_footer .page_up{
	margin:0;
	text-align:right;
}
.main_footer .page_up a{
	position:fixed;
	right:2px;
	bottom:2px;
	display:block;
	width:80px;
	border-radius:100% 0 0 0;
	transition:opacity .2s ease-out;
	z-index:10;
	opacity:.8;
	overflow:hidden;
}
.wrapper:not(.ct-touch_device) .main_footer .page_up a:hover{
	opacity:.4;
}
.main_footer .page_up a img{
	width:100%;
	vertical-align:bottom;
}
.main_footer .copyright{
	margin:0;
	padding:0 var(--main-pad) 1.5rem;
	font-size:.75rem;
	color:rgb(255,255,255);
	line-height:1.3;
}

/*---------------------------------
---------------------------------
	Media Queries
---------------------------------
---------------------------------*/
@media screen and (max-width:1500px){
	/*-----------------------------
		Main header
	-----------------------------*/
	.main_header h1{
		width:400px;
	}
}

@media screen and (max-width:1300px){
	/*-----------------------------
		Main header
	-----------------------------*/
	.main_header h1{
		width:300px;
	}
	/* nav
	--------------------*/
	/* main 1 */
	.main_header nav .main_01 > li > a{
		padding:.6rem .7rem .6rem .7rem;
		font-size:.937rem;
	}
	/* main 2 */
	.main_header nav .main_02 > li > a,
	.main_header nav .main_02 > li > button{
		padding:.4rem .5rem .4rem .5rem;
		font-size:.8rem;
	}
	/*-----------------------------
		Main footer
	-----------------------------*/
	.main_footer .menu{
		display:block;
	}
	.main_footer .main_02{
		display:flex;
		flex-wrap:wrap;
	}
	.main_footer .main_02 > li{
		margin-right:-1px;
	}
}

@media screen and (max-width:1000px){
	html{
		font-size:93.7%;
	}
	/*-----------------------------
		Main header
	-----------------------------*/
	.main_header{
		padding-top:10px;
		padding-bottom:10px;
	}
	.main_header h1{
		width:280px;
	}
	/* Gnav button
	--------------------*/
	.main_header #gnav_button{
		position:absolute;
		top:15px;
		right:40px;
		display:block;
		padding:8px 7px;
		width:40px;
		background:none;
		border:none;
		z-index:1200;
	}
	.main_header #gnav_button > span{
		display:block;
		margin:0 auto 6px;
		width:100%;
		height:3px;
		background:rgb(232,109,64);
		transition:.15s ease-out;
		transition-property:transform,background-color,width;
	}
	.main_header #gnav_button > span:nth-child(3){
		margin-bottom:0;
	}
	.main_header #gnav_button[aria-expanded="true"] > span{
		background:rgb(179,90,57);
	}
	.main_header #gnav_button[aria-expanded="true"] > span:nth-child(1){
		transform:rotate(45deg) translate(6px,7px);
	}
	.main_header #gnav_button[aria-expanded="true"] > span:nth-child(2){
		width:0px;
	}
	.main_header #gnav_button[aria-expanded="true"] > span:nth-child(3){
		transform:rotate(-45deg) translate(6px,-7px);
	}
	/* nav
	--------------------*/
	.main_header nav{
		position:fixed;
		top:0;
		right:0;
		display:flex;
		align-content:flex-start;
		width:100%;
		height:0;
		overflow-y:scroll;
		opacity:0;
		transition:.15s ease-out;
		transition-property:height,opacity;
	}
	.main_header nav .close_field{
		display:block;
		position:absolute;
		top:0;
		right:0;
		width:100%;
		height:100%;
	}
	.main_header nav.is-drawerActive{
		height:100vh;
		background:rgba(255,255,255,.85);
		z-index:1000;
		opacity:1;
	}
	/* main */
	.main_header nav .main_nav{
		flex-wrap:wrap;
		flex-direction:row;
		align-content:flex-start;
		align-items:flex-start;
		row-gap:1.5rem;
		margin:0 auto;
		padding-top:60px;
		width:calc(100% - 40px);
		max-width:600px;
		background-color:transparent;
	}
	.main_header nav .main_01{
		flex-wrap:wrap;
		order:1;
	}
	.main_header nav .main_01 > li{
		border-top:2px dotted rgb(220,220,220);
		width:100%;
	}
	.main_header nav .main_01 > li + li{
		margin-left:0;
		margin-top:6px;
	}
	.main_header nav .main_01 > li > a{
		width:100%;
		padding:.7rem .5rem;
		text-align:left;
	}
	.main_header nav .main_01 > li .touch_arrow{
		position:absolute;
		right:0;
		top:1.3rem;
		display:none;
		align-items:center;
		align-content:center;
		padding:5px 12px;
		background:rgb(232,109,64);
		box-shadow:-1px -1px 1px rgba(255,255,255,.7) inset, 1px 1px 1px rgba(255,255,255,.4) inset;
		transition:.2s ease-out;
		transition-property:color;
	}
	.main_header nav .main_01 > li .touch_arrow::before{
		border-color:rgb(255,255,255);
	}
	.main_header nav .layer2{
		position:static;
		width:100%;
		box-shadow:unset;
	}
	.main_header nav .layer2 a{
		padding:.4rem .5rem;
	}

	/* main 2 */
	.main_header nav .main_02{
		flex-wrap:wrap;
		justify-content:space-between;
		row-gap:.7rem;
		width:100%;
		border-radius:5px;
	}
	.main_header nav .main_02 > li{
		width:calc(50% - 1px);
	}
	.main_header nav .main_02 > li + li{
		margin-left:0;
	}
	.main_header nav .main_02 > li > a,
	.main_header nav .main_02 > li > button{
		width:100%;
	}
	/*-----------------------------
		Main footer
	-----------------------------*/
	.main_footer .site_title{
		margin:.5rem auto 3.5rem;
	}
	.main_footer .menu{
		margin:0 auto 40px;
		max-width:700px;
	}
	.main_footer .main_01 > li{
		width:33.33%;
		max-width:unset;
	}
	.main_footer .main_02{
		padding-top:30px;
		border-top:1px dotted currentColor;
	}
	.main_footer .main_02 > li{
		width:33.33%;
		min-width:unset;
	}
	.main_footer .copyright{
		text-align:center;
	}
}

@media screen and (max-width:800px){
	/*-----------------------------
		Main header
	-----------------------------*/
	.main_header h1{
		width:280px;
	}
	/* Gnav button
	--------------------*/
	.main_header #gnav_button{
		top:14px;
		right:25px;
	}
}

@media screen and (max-width:500px){
	/*-----------------------------
		Main header
	-----------------------------*/
	.main_header h1{
		width:80%;
		max-width:220px;
	}
	/* Gnav button
	--------------------*/
	.main_header #gnav_button{
		top:16%;
		right:15px;
	}
	/*-----------------------------
		Main footer
	-----------------------------*/
	.main_footer .main_01 > li{
		width:50%;
	}
	.main_footer .main_02 > li{
		width:50%;
	}
}

@media print{
	body{min-width:1280px;}
	.main_header{position:absolute;}
}
