@charset "UTF-8";
/* CSS Document */




/****************************************************************************************************
初期設定
****************************************************************************************************/

/* IE8以下への対応 */
article, aside, figure, figcaption, footer, header, nav, section {
	display:block;
}
/* IE8以下への対応 */

.pcOnly {
	display:block;
}
span.pcOnly,
i.pcOnly {
	display:inline;
}
.spOnly {
	display:none;
}

html,body{
	text-align:center;
	font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	-webkit-font-smoothing:antialiased;
	-webkit-text-size-adjust:100%;
	font-feature-settings:"palt";
	scroll-padding-top:150px;
	color:#000;
	min-width:1200px;
	background:#FFF;
	font-size:16px;
}

.sans-serif {
	font-family:-apple-system, blinkMacSystemFont, /* Macの欧文はSan Francisco (OS X 10.11以降) */
				/*'Hiragino Sans',*/
				'Hiragino Kaku Gothic ProN', /* Macのヒラギノ */
				'Helvetica Neue',            /* Macの欧文 (OS X 10.10以前) */
				Meiryo,                      /* Windowsのメイリオ */
				'Segoe UI',                  /* Windowsの欧文 */
				sans-serif;
}

* {
	box-sizing:border-box;
}
img {
	vertical-align:top;
}
strong {
	font-weight:600;
}
em {
	font-style:normal;
}
a {
	color:#000;
	text-decoration:none;
	-webkit-transition:opacity 200ms;
	transition:opacity 200ms;
}
a:hover {
	opacity:.5;
}

/* clear fix */
.clearfix:before,
.clearfix:after {
	content:" ";
	display:table;
}
.clearfix:after {
	clear:both;
}
.clearfix {
	*zoom:1;
}
/* clear fix */



/****************************************************************************************************
矢印関連
****************************************************************************************************/
.ico-arrow {
    position:relative;
    display:inline-block;
    padding:0 0 0 28px;
}
.ico-arrow::before,
.ico-arrow::after {
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    margin:auto;
}
.ico-arrow::before {
    width:20px;
    height:20px;
    background:#39CFFF;
}
.ico-arrow::after {
    width:8px;
    height:8px;
	left:4px;
	top:0px;
    border-top:2px solid #FFF;
    border-right:2px solid #FFF;
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg);
	-webkit-transform-origin:50% 50%;
	-ms-transform-origin:50% 50%;
	transform-origin:50% 50%;
}
.ico-arrow.gray::before {
	background:#999;
}
.ico-arrow.down::after {
	left:6px;
	top:-3px;
	-webkit-transform:rotate(135deg);
	-ms-transform:rotate(135deg);
	transform:rotate(135deg);
}
.ico-arrow.up::after {
	left:5px;
	top:3px;
	-webkit-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	transform:rotate(-45deg);
}



/****************************************************************************************************
header
****************************************************************************************************/
#header {
	position:fixed;
	min-width:1200px;
	width:100%;
	height:80px;
	padding:0 50px 0 48px;
	z-index:100;
	background:rgba(255,255,255,.85);
}
#logo {
	float:left;
	padding:18px 0;
}
#gNavi {
	float:right;
}
#gNavi ul {
}
#gNavi ul li {
	float:left;
	height:80px;
	font-size:20px;
	line-height:78px;
}
#gNavi ul li a {
	display:block;
	width:100%;
	height:100%;
	padding:0 0.5em;
}
#gNavi ul li.seminar a {
	padding-right:1.5em;
}
#gNavi ul li.contact a {
	padding:0 1.5em;
	background:#7FCBF9;
	color:#FFF;
	font-weight:bold;
}

#menu {
	display:none;
	float:right;
	width:36px;
	height:28px;
	margin-top:22px;
}
#menu-btn {
	width:100%;
	height:100%;
}
#menuButton {
	overflow:hidden;
	display:block;
	position:relative;
	width:100%;
	height:100%;
	cursor:pointer;
}

#menuButton span,
#menuButton::before,
#menuButton::after {
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:36px;
	height:4px;
	margin:auto;
	background:#0F0043;
	border-radius:2px;
}
#menuButton span {
	z-index:1;
	-webkit-transform:translate(0, 0);
	transform:translate(0, 0);
	text-indent:-9999px;
}
#menuButton::before {
	z-index:2;
	-webkit-transform:translate(0, -12px);
	transform:translate(0, -12px);
	content:"";
}
#menuButton::after {
	z-index:2;
	-webkit-transform:translate(0, 12px);
	transform:translate(0, 12px);
	content:"";
}





/****************************************************************************************************
サブナビ
****************************************************************************************************/
#sNavi {
	position:fixed;
	width:360px;
	max-height:100vh;
	top:0;
	right:0;
	z-index:1001;
	padding:0 0 30px 30px;
	overflow:scroll;
	background:#FFF;
	text-align: left;
	display:none;
}
#sNaviWrap {
	contents:'';
	display:block;
	position:fixed;
	width:100%;
	height:100%;
	left:0;
	top:0;
	z-index:1000;
	background:rgba(0,0,0,.5);
	opacity:0;
}

#sNaviHeader {
	margin-left:-30px;
	margin-bottom:30px;
	border-bottom:1px solid rgba(0,51,102,.1);
}
#sNaviHeader form {
	position:relative;
	padding:13px 30px;
}
#sNaviHeader form input[type="text"] {
	display:inline-block;
	margin:0;
	padding:0;
    border:none;
    border-radius:0;
    outline:none;
	background:RGBA(255,255,255,.8);
	width:220px;
	height:34px;
	padding:0 10px;
	font-size:1rem;
	color:#333;
}
#sNaviHeader form input[type="submit"] {
	position:absolute;
	right:0;
	top:13px;
	display:inline-block;
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
	margin:0;
	padding:0;
	width:34px;
	height:34px;
	text-indent:-9999px;
	background:URL(../img/common/search-btn.png);
}
#sNaviHeader form::before {
	position:absolute;
	content:'';
	display:block;
	border-left:1px solid #AAA;
	height:34px;
	width:1px;
	animation: Flash1 1.8s infinite;
}


#search-block-sp {
	float:left;
}
#closeBtn {
	float:right;
	width:60px;
	height:60px;
	background:#000000;
}
#close-btn {
	width:100%;
	height:100%;
}
#closeButton {
	overflow:hidden;
	display:block;
	position:relative;
	width:100%;
	height:100%;
	cursor:pointer;
}

#closeButton span,
#closeButton::before,
#closeButton::after {
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:28px;
	height:2px;
	margin:auto;
	background:#FFF;
	border-radius:2px;
}
#closeButton span {
	display:none;
}
#closeButton::before {
	z-index:2;
	-webkit-transform:translate(0, -12px);
	transform:translate(0, -12px);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	content:"";
}
#closeButton::after {
	z-index:2;
	-webkit-transform:translate(0, 12px);
	transform:translate(0, 12px);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	content:"";
}

#sNavi ul {
}
#sNavi ul + ul {
	margin:25px 0 0 0;
	padding:27px 0 0 0;
	border-top:1px dotted #CCC;
}
#sNavi ul li {
	font-size:1rem;
	line-height:1.0;
}
#sNavi > ul > li + li {
	margin:1rem 0 0 0;
}
#sNavi ul li .children {
	display:none;
	margin:0.8rem 0 0 1rem;
	padding:0 0 0.5rem 0;
}
#sNavi ul li .children li + li {
	margin:0.6rem 0 0 0;
}
#sNavi ul li.current-cat .children,
#sNavi ul li.current-cat-parent .children {
	display:block;
}



/****************************************************************************************************
wrap
****************************************************************************************************/
#wrap {
	padding-top:80px;
	padding-bottom:120px;
}



/****************************************************************************************************
footer
****************************************************************************************************/
#footer {
	padding:60px 50px 56px 50px;
	background:#EFF9FF;
	color:#585656;
}
#footer h3 {
	font-size:24px;
}
#addr {
	margin-top:20px;
	font-size:15px;
	line-height:1.8;
}
#copyright {
	margin-top:20px;
	font-size:11px;
	line-height:1.8;
}



@media screen and (max-width: 896px) {
	/****************************************************************************************************
	初期設定
	****************************************************************************************************/
	html {
		min-width:initial;
		min-width:auto;
	}
	body {
		min-width:initial;
		min-width:auto;
		scroll-padding-top:121px;
	}
	img {
		width:100%;
		height:auto;
	}
	a {
		-webkit-transition:none;
		transition:none;
	}
	a:hover {
		opacity:1;
	}
	.pcOnly,
	span.pcOnly,
	i.pcOnly {
		display:none;
	}
	.spOnly {
		display:block;
	}
	
	
	
	/****************************************************************************************************
	矢印関連
	****************************************************************************************************/
	.ico-arrow {
		padding:0 0 0 7vw;
	}
	.ico-arrow::before,
	.ico-arrow::after {
		top:0;
		bottom:0;
		left:0;
		margin:auto;
	}
	.ico-arrow::before {
		width:5vw;
		height:5vw;
	}
	.ico-arrow::after {
		width:2vw;
		height:2vw;
		left:1vw;
		top:0px;
	}
	.ico-arrow.down::after {
		left:6px;
		top:-3px;
	}
	.ico-arrow.up::after {
		left:5px;
		top:3px;
	}
	
	
	
	/****************************************************************************************************
	header
	****************************************************************************************************/
	#header {
		min-width:initial;
		min-width:auto;
		height:auto;
		padding:4vw;
	}
	#logo {
		width:60vw;
		padding:0;
	}
	#gNavi {
		display:none;
	}
	
	#menu {
		display:block;
		width:8vw;
		height:7.2vw;
		margin-top:0.5vw;
	}
	#menu {
		position:fixed;
		right:4vw;
	}
	
	#menuButton span,
	#menuButton::before,
	#menuButton::after {
		width:100%;
		height:0.8vw;
		border-radius:0.8vw;
	}
	#menuButton::before {
		-webkit-transform:translate(0, -2.8vw);
		transform:translate(0, -2.8vw);
	}
	#menuButton::after {
		-webkit-transform:translate(0, 2.8vw);
		transform:translate(0, 2.8vw);
	}
	
	
	
	
	
	/****************************************************************************************************
	サブナビ
	****************************************************************************************************/
	#sNavi {
		position:fixed;
		width:70%;
		max-height:100vh;
		padding:0 0 10vw 8vw;
	}
	
	#sNaviHeader {
		margin-left:-6vw;
		margin-bottom:6vw;
		border-bottom:none;
	}
	#sNaviHeader form {
		padding:2vw 6vw;
	}
	#sNaviHeader form input[type="text"] {
		background:RGBA(255,255,255,.8);
		width:50vw;
		height:8vw;
		padding:0 3vw;
		font-size:4.000vw;
	}
	#sNaviHeader form input[type="submit"] {
		top:2vw;
		width:8vw;
		height:8vw;
		background:URL(../img/common/search-btn.png);
		background-size:8vw;
	}
	#sNaviHeader form::before {
		height:8vw;
	}
	@keyframes Flash1{
	  50%{
		opacity:.2;
	  }
	}
	
	
	#closeBtn {
		width:14.5vw;
		height:16vw;
		background:none;
	}
	#closeButton span,
	#closeButton::before,
	#closeButton::after {
		width:6vw;
		height:0.5vw;
		background:#0F0043;
		border-radius:1vw;
		margin-left:3.5vw;
	}
	#closeButton::before {
		-webkit-transform:translate(0, -3vw);
		transform:translate(0, -3vw);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	#closeButton::after {
		-webkit-transform:translate(0, 3vw);
		transform:translate(0, 3vw);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	
	#sNavi ul {
		margin-top:-10vw;
		font-size:5.333vw;
	}
	#sNavi ul li + li {
		margin:1.4rem 0 0 0;
	}
	#sNavi ul + ul {
		margin:1.8rem 0 0 0;
		padding:1.8rem 0 0 0;
	}
	#sNavi  .ico-arrow::before {
		background:#0F0043;
	}
	
	
	
	/****************************************************************************************************
	wrap
	****************************************************************************************************/
	#wrap {
		padding-top:16vw;
		padding-bottom:10vw;
	}
	
	
	
	/****************************************************************************************************
	footer
	****************************************************************************************************/
	#footer {
		padding:8vw 5vw;
	}
	#footer h3 {
		font-size:4.800vw;
	}
	#addr {
		margin-top:5vw;
		font-size:3.466vw;
		line-height:1.6;
	}
	#copyright {
		margin-top:5vw;
		font-size:2.66vw;
		line-height:1.6;
	}
}