@charset "UTF-8";

.clearfix::after {
    content: "";
    clear: both;
    display: table;
}

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

*{
	margin: 0; 
	padding: 0; 
	font-family:  "Noto Sans JP", sans-serif;
	font-style: normal; 
}

body{
	font-size: 16px; 
	line-height: 2; 
	background: #fff;
	color:#666;
}

a { 
	text-decoration: none; 
	border: none;
}

a:link { 
	color:#333; 
}

a:visited {
	color:#333; 
}

a:hover { 
	color: #999;
}

img {
	border: none;
}

dl,
ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

dl dt,
dl dd,
ul li {
	margin: 0;
	padding: 0;
}

/* ==================================================
	=共通設定
================================================== */

.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	overflow:hidden;
}

header {
	height: 76px;
	position: relative;
}

#header {
	position: relative;
	height: 76px;
	border-bottom: 1px solid #ccc;
}

#header-wrapper{
	width:100%;
	height: 76px;
	position: fixed;
	background:#FFF;
	z-index: 9999;
}


#header .logo {
	position: absolute;
	top: 20px;
	left: 20px;
	width: 146px;
	height: auto;
}

#header .logo img {
	display: block;
	width: 100%;
	height: auto;
}

#header .headertitle {
	position: absolute;
	bottom: 19px;
	left: 180px;
	/*padding: 3px;*/
	font-size: 16px; 
	line-height: 1; 
	color: #666;
	/*border: 1px solid #666;
	box-sizing: border-box;*/
}

#header .media-link {
	position: absolute;
	top: 0;
	right: 76px;
	z-index: 9999;
}

#header .media-link li {
/*	width: 206px;*/
	border-left: 1px solid #ccc;
	border-bottom:1px solid #CCC;
	float: left;
}

#header .media-link li a {
	display: block;
}

#header .media-link li a img {
	display: block;
	width: 100%;
	height: auto;
}

.media-link-sp {
	display:table;
	table-layout:fixed;
	width:100%;
}

.media-link-sp li{
	display:table-cell;
	width:100%;
}

.media-link-sp li.rikunavi{
	border-right:1px solid #CCC;
}

.media-link-sp li img{
	display:block;
	margin:0 auto;
	padding:0;
	width:100%;
	max-width:200px;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul.media-link-sp li{
	padding:0;
}

#header #nav {
	position: absolute;
	top: 0;
	right: 0;
}

#header #nav .menu-trigger,
#header #nav .menu-trigger span {
	display: inline-block;
	cursor: pointer;
	-webkit-transition: all .3s;
	transition: all .3s;
	box-sizing: border-box;
	z-index: 9999;
}

#header #nav .menu-trigger {
	position: relative;
	top: 0;
	width: 76px;
	height: 76px;
	background: #023892;
}

#header #nav .menu-trigger {
	z-index: 9999;
	position: fixed;
	top: 0;
	right:0;
}

#header #nav .menu-trigger span {
	position: absolute;
	left: 23px;
	width: 30px;
	height: 2px;
	background-color: #fff;
}

#header #nav .menu-trigger:hover span {
	opacity: 0.5;
}

#header #nav .menu-trigger span:nth-of-type(1) {
	top: 26px;
}

#header #nav .menu-trigger span:nth-of-type(2) {
	top: 37px;
}

#header #nav .menu-trigger span:nth-of-type(3) {
	bottom: 26px;
}

#header #nav .menu-trigger span:nth-of-type(2)::after {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background-color: #fff;
	-webkit-transition: all .3s;
	transition: all .3s;
	z-index:9999;
}

#header #nav .menu-trigger.active span:nth-of-type(1) {
	transform: translateY(20px) scale(0);
}

#header #nav .menu-trigger.active span:nth-of-type(2) {
	background-color: #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#header #nav .menu-trigger.active span:nth-of-type(2)::after {
	background-color: #fff;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

#header #nav .menu-trigger.active span:nth-of-type(3) {
	transform: translateY(-20px) scale(0);
}


#header #nav .globalnavi-wrapper {
	position:fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	overflow: auto !important;
	display: none;
	z-index: 9998;
}

#header #nav .globalnavi-wrapper .globalnavi {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 76px;
	margin: 0 auto;
	padding: 0;
	overflow: visible;
}

#header #nav .globalnavi-wrapper .headertitle {
	position: absolute;
	bottom: 19px;
	left: 180px;
	/*padding: 3px;*/
	font-size: 16px; 
	line-height: 1; 
	color: #666;
	/*border: 1px solid #666;
	box-sizing: border-box;*/
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper {
	width:100%;
	max-width: 980px;
	margin: 176px auto 100px;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul {

}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul.flex-navi{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul.media-link-sp{
	border-top:none;
	border-right:1px solid #CCC;
	border-left:1px solid #CCC;
	margin-bottom:40px;
	border-bottom:1px solid #CCC;
	display: none;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li {
	padding: 10px 0;
	border-top: 1px solid #ccc;
	width:172px;
	box-sizing:border-box;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li{
	width:-webkit-calc((100% - 60px)/4);
	width:-moz-calc((100% - 60px)/4);
	width:calc((100% - 60px)/4);
	margin-right:20px;
}


#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li:nth-of-type(4n){
	margin-right:0;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li:nth-of-type(5){
	width:100%;
	margin-right:0;
	margin-top:50px;
	margin-bottom:44px;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li:nth-of-type(6),
#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li:nth-of-type(7){
	width:-webkit-calc(50% - 10px);
	width:-moz-calc(50% - 10px);
	width:calc(50% - 10px);
	margin-right:20px;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li:nth-of-type(7){
	margin-right:0;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li .title-en {
	display:block;
	margin-left: 2px;
	width: 11em;
	color: #999;
	margin-bottom:11px;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li:nth-of-type(5) .title-en {
	margin-bottom:5px;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li .title-en img{
	width:141px;
	display:block;
	margin:0;
	padding:0;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	display: block;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li ul li:nth-of-type(5n),
#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li ul li:nth-of-type(4n),
#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li ul li {
	width:inherit;
	margin-right:35px;
	border-top:none;
	display:inline-block;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li ul li:nth-of-type(5n){
	margin-right:0;
	margin-top:0;
	margin-bottom:0;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li ul li .details {
	padding-left: 0;
	font-size: 12px;
	display:block;
	margin-top:8px;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li a{
	display:block;
	padding:0;
	margin:0;
	width:100%;
	height:100%;
	line-height:1;
}


#footer {
	position: relative;
	margin: 0;
	padding: 20px;
	border-top: 1px solid #ccc;
}

#footer ul {
	position: relative;
}

#footer ul li {
	vertical-align: bottom;
	padding: 0 20px 0 0;
	float: left;
}

#footer ul a {
	font-size: 12px;
}

#footer .copyright {
	position: absolute;
	bottom: 30px;
	right: 20px;
	font-size: 12px;
	line-height: 1;
}

.main-title{
	width:100%;
	padding:40px 20px 40px 80px;
	background: rgb(72,157,246); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(72,157,246,1) 0%, rgba(121,241,160,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(72,157,246,1) 0%,rgba(121,241,160,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(72,157,246,1) 0%,rgba(121,241,160,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#489df6', endColorstr='#79f1a0',GradientType=1 ); /* IE6-9 */
	box-sizing:border-box;
}



.contents-staff {
	margin: 0;
	padding: 90px 0;
	background: #c3ccd8;
}

.contents-staff .title-en {
	display: block;
	width: 184px;
	height: auto;
	margin: 0 auto;
	padding: 0;
}

.contents-staff .title-en img {
	display: block;
	width: 100%;
	height: auto;
}

.contents-staff .title {
	margin: 0;
	padding: 0;
	font-size: 18px;
	text-align: center;
	color: #fff;
}

.contents-staff ul.staff-list {
	width:100%;
	max-width: 1200px;
	margin: 40px auto 0;
}

.contents-staff ul.staff-list li {
	width: calc(100%/5 - 20px);
	height: auto;
	margin: 0 20px 0 0;
	float: left;
}

.contents-staff ul.staff-list li:last-child {
	margin-right: 0;
}

.contents-staff ul.staff-list li a {
	display: block;
	width: 100%;
	height: 100%;
}

.contents-staff ul.staff-list li .portrait {
	width: 100%;
	height: auto;
}

.contents-staff ul.staff-list li .portrait img {
	display: block;
	width: 100%;
	height: auto;
}

.contents-staff ul.staff-list li .nameset {
	position: relative;
	display: block;
	margin: 0;
	padding: 10px 0;
	font-size: 18px;
	color: #fff;
	border-top: 1px solid #fff;
	box-sizing: border-box;
	background: #008cff;
	background: -moz-linear-gradient(left, #008cff 0%, #2acc6b 100%);
	background: -webkit-linear-gradient(left, #008cff 0%,#2acc6b 100%);
	background: linear-gradient(to right, #008cff 0%,#2acc6b 100%);
}

.contents-staff ul.staff-list li .nameset .name {
	margin: 0 0 0 20px;
	padding: 0;
}

.contents-staff ul.staff-list li .nameset .name span {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 12px;
	line-height: 1.5;
	color: #fff;
}

.contents-staff ul.staff-list li .nameset .arw {
	position: absolute;
	top: 26px;
	right: 20px;
	display: block;
	width: 28px;
	height: auto;
	margin: 0;
	padding: 0;
}

.contents-staff ul.staff-list li a:hover .nameset .arw {
	background:url(../img/idx_arw_o.png) no-repeat left top;
	background-size:28px;
}


.contents-staff ul.staff-list li .nameset .arw img {
	display: block;
	width: 100%;
	height: auto;
}


.contents-staff ul.staff-list li a:hover .nameset .arw img {
	opacity:0;
}


.contents-staff ul.staff-list li .nameset .name,
.title-text{
	position:relative;
	z-index:10;
}

.contents-area2 ul li a .title .arw,
.contents-area1 .contents a .title .arw {
	position: absolute;
	top: 26px;
	right: 20px;
	display: block;
	width: 28px;
	height: auto;
	margin: 0;
	padding: 0;
	z-index:10;
}

.contents-staff ul li .nameset .arw{
	z-index:10;
}

.contents-staff ul li .nameset,
.contents-area2 ul li a .title,
.contents-area1 .contents a .title{
	overflow:hidden;
}

.contents-staff ul li .nameset:before,
.contents-area2 ul li a .title:before,
.contents-area1 .contents a .title:before {
	content: "";
	position: absolute;
	display: block;
	background: #008cff;
	background: -moz-linear-gradient(left, #008cff 0%, #2acc6b 100%);
	background: -webkit-linear-gradient(left, #008cff 0%,#2acc6b 100%);
	background: linear-gradient(to right, #008cff 0%,#2acc6b 100%);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 0;
}

.contents-staff ul li .nameset:after,
.contents-area2 ul li a .title:after,
.contents-area1 .contents a .title:after{
	content: "";
	position: absolute;
	display:block;
	background: #FFF;
	background-size: 100% 100%;
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index: 1;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.contents-staff ul li .nameset:after,
.contents-area2 ul li a .title:after,
.contents-area1 .contents a .title:after{
	transform: translateX(-100%);
}

.contents-staff ul li a:hover .nameset:after,
.contents-area2 ul li a:hover .title:after,
.contents-area1 .contents a:hover .title:after {
	-webkit-transform: translateX(0);
	transform: translateX(0);
   	opacity: 1;
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
}


.contents-staff ul.staff-list li a:hover .nameset .name span,
.contents-staff ul li a:hover .nameset,
.contents-area2 ul li a:hover .title,
.contents-area1 .contents a:hover .title {
	color:#666;
}



.contents-information {
	margin: 0;
	padding: 60px 0;
	background: #efefef;
}

.contents-information .title-en {
	display: block;
	width: 324px;
	height: auto;
	margin: 0 auto;
	padding: 0;
}

.contents-information .title-en img {
	display: block;
	width: 100%;
	height: auto;
}

.contents-information .title {
	margin: 0;
	padding: 0;
	font-size: 18px;
	text-align: center;
}

.contents-information .copy {
	margin: 20px 0 0 0;
	padding: 0;
	text-align: center;
}

.contents-information ul {
	width: 640px;
	margin: 40px auto 0;
}

.contents-information ul li {
	width: calc(100%/2 - 40px);
	height: auto;
	margin: 0 40px 0 0;
/*  リクナビ削除*/
/*	float: left;*/

	border: 1px solid #ccc;
	box-sizing: border-box;
}

.contents-information ul li:last-child {
	margin: auto;
/*  リクナビ削除*/
/*	margin-right: 0;*/
}

.contents-information ul li a {
	display: block;
	width: 100%;
	height: 100%;
}

.contents-information ul li a img {
	display: block;
	width: 100%;
	height: auto;
}

.fortop{
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 48px;
	height: 50px;
	z-index: 9996;
	display:none;
}

.fortop{
	width: 100%;
	position: fixed;
	left: 0;
	bottom: -70px;
	height: 50px;
	z-index: 9996;
	display:block;
	padding-right:20px;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}


.fortop.fixed{
	bottom: 20px;
}


.fortop.fixed.stop {
    bottom: 91px;
}

.fortop_item{
	display: table;
	margin:0 0 0 auto;
	width:50px;
	height: 50px;
	position: relative;
	font-size: 14px;
	letter-spacing: 0.5px;
	color: #FFF;
	background:#008cff;
	-webkit-transition: all .3s;
	transition: all .3s;
}


.fortop_item:after{
	content: "";
	position: absolute;
	display: block;
	width: 15px;
	height: 15px;
	border-top: 1px solid #FFF;
	border-left: 1px solid #FFF;
	bottom: 12px;
	left: 17px;
	transform: rotate(45deg);
	-webkit-transition: all .3s;
	transition: all .3s;
}

.fortop_item:hover{
	background:#FFF;
}


.fortop_item:hover:after{
	border-top: 1px solid #008cff;
	border-left: 1px solid #008cff;

}


/* ================================================== */
@media screen and (max-width: 1200px) {

.contents-staff ul.staff-list li {
	width: 200px;
	height: auto;
	margin: 0 0 0 0;
	padding-left:10px;
	padding-right:10px;
	float: left;
}
}


/* ================================================== */
@media screen and (max-width: 1020px) {

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper {
	max-width: inherit;
	width:auto;
	margin: 176px 20px 100px;
}

}


/* ================================================== */
@media screen and (max-width: 960px) {

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper {
	max-width: inherit;
	width:auto;
	margin: 156px 20px 100px;
}


#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li {
	padding: 10px 0 15px;
	border-top: 1px solid #ccc;
	width:auto;
	box-sizing:border-box;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul.flex-navi{
	display: block;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li:nth-of-type(5){
	margin-top:0;
	margin-bottom:0;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li ul li:nth-of-type(5n),
#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li ul li:nth-of-type(4n),
#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li ul li {
	width:initial;
	margin-right:0;
	padding: 10px 0 10px 1em;
	border-top:none;
	display:block;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li ul li:nth-of-type(5n) {
	padding-bottom: 0;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li:nth-of-type(6),
#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li:nth-of-type(7){
	width:initial;
	margin-right:0;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li ul li .details {
	padding-left: 1em;
	font-size: 12px;
	display:inline;
	margin-top:8px;
}


}




/* ================================================== */
@media screen and (max-width: 767px) {

body{
	font-size: 14px; 
	line-height: 2; 
	background: #fff;
	color:#666;
}

header {
	height: 50px;
	position: relative;
}

#header-wrapper{

	height: 50px;
}
#header {
	height: 50px;
}

#header .logo {
	top:10px;
	left:10px;
	width:121px;
}
#header #nav .globalnavi-wrapper .headertitle,
#header .headertitle {
	font-size:12px;
	bottom:initial;
	top:26px;
	left:136px;
	line-height:1;
	padding:2px;
	display:table;
}

#header #nav .menu-trigger {
	width: 50px;
	height: 50px;
	z-index: 9999;
	position: fixed;
	top: 0;
	right:0;
}


#header #nav .menu-trigger span {
	position: absolute;
	left: 12px;
	width: 26px;
	height: 2px;
	background-color: #fff;
}


#header #nav .menu-trigger span:nth-of-type(1) {
	top: 15px;
}

#header #nav .menu-trigger span:nth-of-type(2) {
	top: 24px;
}

#header #nav .menu-trigger span:nth-of-type(3) {
	bottom: 15px;
}

#header .media-link{
	display:none;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper {
	margin: 76px auto 0;
	padding:0 10px 20px;
	box-sizing:border-box;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li{
	margin-right:0;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul.media-link-sp{
	display: table;
}


.main-title{
	width:100%;
	padding:18px 20px 18px;
}

.fortop{
	padding-right:0;
}

.fortop.fixed {
	bottom: 0;
}

}


/* ================================================== */
@media screen and (max-width: 700px) {



.contents-information .title-en{
	width:100%;


}

.contents-information .title-en img{
	width:244px;
	margin:auto;
}

.contents-information{
	padding:60px 20px;
	box-sizing:border-box;
}




.contents-information ul{
	width:100%;
	float:none;
	padding:0;
	max-width:300px;
	margin-left:auto;
	margin-right:auto;
	margin-top:30px;
	box-sizing:border-box;
}


.contents-information ul li{
	width:100%;
	float:none;
	margin: 0;
}


.contents-information ul li:last-child{
	margin-top:20px;
}



}


/* ================================================== */
@media screen and (max-width: 650px) {

#footer {
	box-sizing:border-box;
	padding:20px 20px 20px;
}



#footer .copyright{
	position:static;
	margin-top:32px;
}

#footer ul li{
	float:none;
	padding:0;
}



.fortop.fixed.stop {
    bottom: 161px;
}



}

/* ================================================== */
@media screen and (max-width: 600px) {
.contents-staff{
	padding:45px 0;
}
}

/* ================================================== */
@media screen and (max-width: 600px) {
#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li a{
	vertical-align:top;
}

#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li .title-en {
	width: 8.8em;
}
}


/* ================================================== */
@media screen and (max-width: 325px) {
#header #nav .globalnavi-wrapper .globalnavi-menu-wrapper ul li .title-en {
	width: 5.5em;
}

}