@charset "UTF-8";
/*base*/
*{
	margin: 0px;
	padding: 0px;
	}

header, footer, nav, section, article {
	display:block;
	}

html{
	font-size: 100%;
	overflow-y: scroll; 
	}

body{
	font-size: 0.875em;
	color: #333333;
	background: #ffffff;
	font-family: 'Helvetica','Helvetica Neue','Avenir','Arial','メイリオ',sans-serif;
	}

ul li{
	/*list-style-type: none;*/
	list-style-position: outside;
	}

ol li{
	list-style-position: outside;
	margin: 0px 0px 5px 2em;
	}
p,figcaption{
	line-height: 200%;
	}
figcaption{
	padding-top: 1em;
	}
h1,h2,h3,h4,h5,h6{
	font-size: 1em;
	font-weight: normal;
	}


/*float*/
.alignleft{
	float: left;
	}

.alignright{
	float: right;
	}

.cl{
	clear: both;
	}

.clearfix{
	overflow: hidden;
	}
* html .clearfix { zoom: 1; }  /* IE6 */
*:first-child+html .clearfix{ zoom: 1; }  /* IE7 */

img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
 	}

img.alignright {
/*	padding: 4px;
	margin: 0 0 2px 7px;*/
	display: inline;
	 }

img.alignleft {
/*	padding: 4px;
	margin: 0 7px 2px 0;*/
	display: inline;
	}

img.alignnone {
/*	padding: 4px;
	margin: 7px;*/
	display: inline;
	}

/*text-align*/

.txt_alignleft{
	text-align: left !important;
	}
.txt_alignright{
	text-align: right !important;
	}
.txt_aligncenter{
	text-align: center !important;
	}

/*vertical-align*/

.txt_aligntop{
	vertical-align: top !important;
	}
.txt_alignmiddle{
	vertical-align: middle !important;
	}
.txt_alignbottom{
	vertical-align: bottom !important;
	}

/*link*/
a img {
    border-style: none;
	}

a:link{
	color: #333399;
	text-decoration: none;
	}

a:active{
	text-decoration: underline;
	}

a:visited{
	color: #333399;
	}

a:hover{
	text-decoration: underline;
	}

a img:hover{
	opacity: 0.8;
	}

/*header*/
header{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 80px;
	background: rgba(255,255,255,0.5);
	display: flex;
	justify-content: space-between;
	}

header h1 a{
	display: block;
	text-decoration: none;
	text-indent: -9999px;
	width: 280px;
	height: 47px;
	margin: 15px;
	background: url('../img/logo.png') center center no-repeat;
	background-size: cover;
	}

.shoulder_wrap{
	display: flex;
	padding-right: 80px;
	}
header a.shoulder_btn{
	display: block;
	text-decoration: none;
	width: 80px;
	height: 80px;
	line-height: 1.4;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	text-align: center;
	}

header a.shoulder_btn.home{
	background: #333399;
	color: #ffffff;
	}

header a.shoulder_btn.recruit{
	background: #d1d4df;
	color: #333399;
	}

header a.shoulder_btn:hover{
	opacity: 0.8;
	}
/*mainmenu*/

.mainmenu_btn{
	display: block;
	position: absolute;
	text-decoration: none;
	text-indent: -9999px;
	width: 80px;
	height: 80px;
	top: 0;
	right: 0;
	z-index: 1000;
	background: #ffffff url('../img/mainmenu_btn_off.png') no-repeat;
	}

.mainmenu_btn.active{
	background: #999999 url('../img/mainmenu_btn_on.png') no-repeat;
	}


#mainmenu{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999 !important;
	width: 100%;
	height: 100vh;
	overflow: auto;
	background: rgba(0,0,0,0.8);
	}

#mainmenu .is-open{
	display: block;
	}

#mainmenu ul{
	list-style-type: none;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 1100px;
	margin: 160px auto 0;
	}

#mainmenu ul li.icon{
	width: 358px;
	height: 98px;
	margin-bottom:10px;
	border: 1px solid #ffffff;
	background: #d1d4df; /* Old browsers */
	background: -moz-linear-gradient(top,  #d1d4df 0%, #ffffff 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #d1d4df 0%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #d1d4df 0%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d1d4df', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
	}

#mainmenu ul li.icon a{
	display: block;
	width: calc(100% - 100px);
	height: 100%;
	line-height: 98px;
	padding-left: 100px;
	font-size: 1.428em;
	position: relative;
	color: #333399;
	}

#mainmenu ul li.icon.mainmenu_05 a::after,#mainmenu ul li.icon.mainmenu_06 a::after{
	content: '';
	display: inline-block;
	width: 20px;
	height: 12px;
	background: url('../img/icon_newwin_blue.png') right top no-repeat;
	}

#mainmenu ul li.icon.mainmenu_01 a::before{
	content: '';
	position: absolute;
	top: 9px;
	left: 9px;
	width: 80px;
	height: 80px;
	border-radius: 40px;
	background: #ffffff url('../img/icon_mainmenu_01.png') center center no-repeat;
	filter: drop-shadow(0 3px 3px rgba(51,51,153,0.35));
	}

#mainmenu ul li.icon.mainmenu_02 a::before{
	content: '';
	position: absolute;
	top: 9px;
	left: 9px;
	width: 80px;
	height: 80px;
	border-radius: 40px;
	background: #ffffff url('../img/icon_mainmenu_02.png') center center no-repeat;
	filter: drop-shadow(0 3px 3px rgba(51,51,153,0.35));
	}

#mainmenu ul li.icon.mainmenu_03 a::before{
	content: '';
	position: absolute;
	top: 9px;
	left: 9px;
	width: 80px;
	height: 80px;
	border-radius: 40px;
	background: #ffffff url('../img/icon_mainmenu_03.png') center center no-repeat;
	filter: drop-shadow(0 3px 3px rgba(51,51,153,0.35));
	}

#mainmenu ul li.icon.mainmenu_04 a::before{
	content: '';
	position: absolute;
	top: 9px;
	left: 9px;
	width: 80px;
	height: 80px;
	border-radius: 40px;
	background: #ffffff url('../img/icon_mainmenu_04.png') center center no-repeat;
	filter: drop-shadow(0 3px 3px rgba(51,51,153,0.35));
	}

#mainmenu ul li.icon.mainmenu_05 a::before{
	content: '';
	position: absolute;
	top: 9px;
	left: 9px;
	width: 80px;
	height: 80px;
	border-radius: 40px;
	background: #ffffff url('../img/icon_mainmenu_05.png') center center no-repeat;
	filter: drop-shadow(0 3px 3px rgba(51,51,153,0.35));
	}

#mainmenu ul li.icon.mainmenu_06 a::before{
	content: '';
	position: absolute;
	top: 9px;
	left: 9px;
	width: 80px;
	height: 80px;
	border-radius: 40px;
	background: #ffffff url('../img/icon_mainmenu_06.png') center center no-repeat;
	filter: drop-shadow(0 3px 3px rgba(51,51,153,0.35));
	}

#mainmenu ul li.sub a{
	display: block;
	width: 320px;
	height: 45px;
	padding: 0 20px;
	background: #333399;
	color: #ffffff;
	line-height: 45px;
	position: relative;
	}

#mainmenu ul li.sub a::after{
	content: '';
	position: absolute;
	top: 15px;
	right: 20px;
	width: 12px;
	height: 12px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	border-bottom: none;
	border-left: none;
	transform: rotate(45deg);
	}

#mainmenu ul li.icon a:hover,#mainmenu ul li.sub a:hover{
	text-decoration: none;
	opacity: 0.8;
	}
#mainmenu ul li.icon:hover{
	opacity: 0.8;
	}

/*contents*/

section{
	}

div.inner{
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
	}

/*mainimg*/
#mainimg{
	width: 100%;
	height: 100vh;
	position: relative;
	}

#mainimg img.icon_scroll{
	position: absolute;
	bottom: 50px;
	left: calc(50% - 41.5px);
	display: block;
	}

#mainimg_bottom{
	width: 100%;
	height: 380px;
	padding-top: 100px;
	}

#mainimg_bottom div.inner{
	height: 300px;
	display: flex;
	align-items: center;
	justify-content: center;
	}

.pkmenu_wrap{
	padding: 20px 0;
	border-bottom: 4px solid #333399;
	line-height: 1;
	font-size: 0.857em;
	}

/*footer*/
footer{
	width: 100%;
	border-top: 4px solid #333399;
	padding: 50px 0 20px;
	text-align: center;
	}

#footermenu{
	margin-bottom: 50px;
	}

#footermenu ul{
	display: flex;
	justify-content: center;	
	list-style-type: none;
	}
#footermenu ul li{
	border-left: 1px solid #cccccc;
	padding: 5px 20px;
	line-height: 1;
	}
#footermenu ul li:last-child{
	border-right: 1px solid #cccccc;
	}

/*pagetop*/
#btn_pagetop{
	position: fixed;
	bottom: 20px;
	right: 20px;
	display: none;
	z-index: 1001;
	}

#btn_pagetop a{
	position: absolute;
	bottom: 0px;
	right: 0px;
	display: block;
	text-decoration: none;
	text-indent: -9999px;
	width: 24px;
	height: 24px;
	background: url('../img/btn_pagetop.png') center center no-repeat;
	}
#btn_pagetop a:hover{
	opacity: 0.8;
	}


/*width*/
.quattro{
	width: 25%;
	}

.half{
	width: calc(50% - 10px);
	}
*:first-child+html .half { width: 49%; }  /* IE7 */

.full{
	width: 100%;
	}

.w1000{
	width: 1000px;
	}

/*margin*/
.mgt1em{
	margin-top: 1em !important;
	}

.mgt10{
	margin-top: 10px;
	}

.mgt20{
	margin-top: 20px;
	}

.mgt30{
	margin-top: 30px;
	}

.mgt35{
	margin-top: 30px;
	}

.mgt40{
	margin-top: 40px;
	}

.mgt50{
	margin-top: 50px;
	}

.mgt55{
	margin-top: 55px;
	}

.mgt60{
	margin-top: 60px;
	}


.mgt70{
	margin-top: 70px;
	}


.mgt80{
	margin-top: 80px;
	}



.mgb20{
	margin-bottom: 20px;
	}

.mgl20{
	margin-left: 20px;
	}

.mgl50{
	margin-left: 50px;
	}

.mgr20{
	margin-right: 20px;
	}


/*fontsize*/
.txt_reset{
	font-size: 1em;
	}
.txt_12{
	font-size: 0.857em;
	}
.txt_16{
	font-size: 1.142em;
	}
.txt_18{
	font-size: 1.285em;
	}
.txt_20{
	font-size: 1.428em;
	}
.txt_24{
	font-size: 1.714em;
	}
.txt_30{
	font-size: 2.142em;
	}
.txt_32{
	font-size: 2.285em;
	}
.txt_36{
	font-size: 2.571em;
	}
.txt_40{
	font-size: 2.857em;
	}
.txt_50{
	font-size: 3.571em;
	}

/*fontweight*/
.txt_bold{
	font-weight: bold;
	}
.txt_normal{
	font-weight: normal;
	}

/*color*/
.col_bb0000{
	color: #bb0000;
	}

.col_666666{
	color: #666666;
	}


/*border*/
.bdb_cccccc{
	border-bottom: 1px solid #cccccc;
	}

.bd_cccccc{
	border: 1px solid #cccccc;
	padding: 50px;
	}
/*background*/
.bg_d1d4df{
	background: #d1d4df;
	padding: 50px;
	}


/*icon*/
.icon_newwin_blue{
	padding: 0 20px 0 0;
	background: url('../img/icon_newwin_blue.png') right 1px top no-repeat;
	}

.icon_pdf_blue{
	display: inline-block;
	min-height: 32px;
	padding: 0px 19px 0 0;
	background: url('../img/icon_pdf_blue.png') right top 5px no-repeat;
	}

.icon_pdf{
	display: inline-block;
	min-height: 32px;
	padding: 5px 0 0 40px;
	background: url('../img/icon_pdf.png') left top no-repeat;
	}

img.img_icon{
	vertical-align: middle;
	margin-left: 5px;
	}

/*btn*/
a.btn_333399_arrow{
	display: block;
	padding: 0 20px;
	background: #333399;
	color: #ffffff;
	position: relative;
	text-decoration: none;
	text-align: center;
	height: 40px;
	line-height: 40px;
	}

a.btn_333399_arrow::after{
	content: '';
	position: absolute;
	top: 12px;
	right: 20px;
	width: 12px;
	height: 12px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	border-bottom: none;
	border-left: none;
	transform: rotate(45deg);
	}

a.btn_333399_arrow:hover{
	text-decoration: none;
	opacity: 0.8;
	}

a.btn_cnt{
	display: block;
	text-decoration: none;
	text-indent: -9999px;
	width: 30px;
	height: 30px;
	background: #979cb1;
	position: relative;
	}

a.btn_cnt::after{
	content: '';
	position: absolute;
	top: 12px;
	left: 8px;
	width: 12px;
	height: 12px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	border-bottom: none;
	border-left: none;
	transform: rotate(-45deg);
	}


/*li*/
li.none{
	list-style-type: none;
	line-height: 2;
	margin-bottom: 0.5em;
	}
li.disc{
	list-style-type: disc;
	margin: 0px 0px 5px 1.5em;
	}

li.square{
	list-style-type: none;
	margin: 0px 0px 5px 0;
	padding-left: 20px;
	position: relative;
	}

li.square::before{
	content: "";
	width: 14px;
	height: 14px;
	background-color: #333333;
	position: absolute;
	top: 5px;
	left: 0;
	}

li.circle{
	list-style-type: none;
	margin: 0px 0px 5px 0;
	padding-left: 25px;
	position: relative;
	}

li.circle::before{
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 100%;
	background-color: #333399;
	position: absolute;
	top: 5px;
	left: 0;
	}

li.icon_link{
	position: relative;
	padding-left: 20px;
	}

li.icon_link::after{
	content: '';
	position: absolute;
	top: 12px;
	right: 20px;
	width: 12px;
	height: 12px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	border-bottom: none;
	border-left: none;
	transform: rotate(45deg);
	}

ol.wrap{
	list-style-type: none;
	margin-left: 0em;
	}

ol.wrap li {
	counter-increment: cnt;
	line-height: 2;
	margin-bottom: 0.5em;
	}

ol.wrap li:before {
	content: "(" counter(cnt) ") ";
	display:inline-block;
	margin-left:-2em;
	width: 2em;
	}

ol.wrap li > ul >li{
	counter-increment: none;
	}

ol.wrap li > ul >li:before {
	display: none;
	}

/*h*/


/*table*/
table.tbl_01{
	width: 100%;
	border-spacing: 0px;
	border-top: 1px solid #cccccc;
	border-left: 1px solid #cccccc;
	}

table.tbl_01 th,table.tbl_01 td{
	border-bottom: 1px solid #cccccc;
	border-right: 1px solid #cccccc;
	padding: 20px 10px;
	line-height: 180%;
	text-align: left;
	}

table.tbl_01 th.bg_d1d4df{
	background: #d1d4df;
	}

table.tbl_01 td{
	}

table.tbl_02{
	width: 100%;
	border-spacing: 0px;
	border-top: 1px solid #cccccc;
	}

table.tbl_02 th,table.tbl_02 td{
	border-bottom: 1px solid #cccccc;
	padding: 20px 10px;
	line-height: 180%;
	text-align: left;
	vertical-align: top;
	}
table.tbl_02 .no_bdb{
	border-bottom: none;
	padding: 20px 10px 0;
	}

/*flex*/
.flex{
	-js-display: flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	}

.align_items_start{
	-webkit-box-align: start;
	-ms-flex-align: start;
	-webkit-align-items: start;
	align-items: start;
	}

.align_items_center{
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	}

.justify_content_space_between{
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	}

.justify_content_start{
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	}

.justify_content_end{
	justify-content: flex-end;
	}

.justify_content_center{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	}

.flex_wrap{
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	}

/*hide*/
.sp{
	display: none;
	}



/* Media Queries
==========================================================================*/
@media screen and (max-width:1025px) {

html {
	-webkit-text-size-adjust: none;
	}

img {
	max-width: 100%;
	height: auto;
     }

#mainmenu ul{
	width: calc(100% - 40px);
	}

#mainmenu ul li.icon{
	width: calc((100% / 3) - 10px);
	}

#mainmenu ul li.sub{
	width: calc((100% / 3) - 10px);
	}


#mainmenu ul li.sub a{
	width: calc(100% - 40px);
	}

div.inner{
	width: calc(100% - 40px);
	}

}
@media screen and (max-width:999px) {
body{
	overflow-x: hidden;
	font-size: 0.75em;
	}

figcaption{
	padding-top: 0.5em;
	}

section,article{
	}
section{
	}

div.inner{
	width: calc(100% - 20px);
	}

.flex{
	display: block;
	}
.flex.spflex{
	display: flex;
	}


header{
	position: fixed;
	height: 40px;
	}

header h1 a{
	width: 156px;
	height: 26px;
	margin: 7px;
	background-size: 156px 26px;
	}

.shoulder_wrap{
	padding-right: 40px;
	}
header a.shoulder_btn{
	width: 40px;
	height: 40px;
	line-height: 1.2;
	font-size: 0.583em;
	}

.mainmenu_btn,.mainmenu_btn.active{
	width: 40px;
	height: 40px;
	background-size: 40px 40px;
	}

#mainmenu ul{
	display: block;
	width: calc(100% - 20px);
	margin: 50px auto 0;
	}

#mainmenu ul li.icon{
	width: calc(100% - 2px);
	height: 48px;
	margin-bottom: 5px;
	}

#mainmenu ul li.icon a{
	width: calc(100% - 50px);
	line-height: 48px;
	padding-left: 50px;
	font-size: 1.666em;
	}

#mainmenu ul li.icon.mainmenu_01 a::before,
#mainmenu ul li.icon.mainmenu_02 a::before,
#mainmenu ul li.icon.mainmenu_03 a::before,
#mainmenu ul li.icon.mainmenu_04 a::before,
#mainmenu ul li.icon.mainmenu_05 a::before,
#mainmenu ul li.icon.mainmenu_06 a::before{
	top: 4.9px;
	left: 4.9px;
	width: 40px;
	height: 40px;
	border-radius: 20px;
	background-size: 40px 40px;
	filter: drop-shadow(0 2px 2px rgba(51,51,153,0.35));
	}

#mainmenu ul li.sub{
	width: 100%;
	margin-bottom: 5px;
	}

#mainmenu ul li.sub a{
	width: calc(100% - 20px);
	height: 30px;
	padding: 0 10px;
	line-height: 30px;
	}

#mainmenu ul li.sub a::after{
	top: 10px;
	right: 10px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	}

/*mainimg*/
#mainimg{
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	}

#mainimg img.icon_scroll{
	bottom: 40px;
	left: calc(50% - 21px);
	width: 42px;
	height: 40px;
	display: block;
	}

#mainimg_bottom{
	height: 190px;
	padding-top: 50px;
	}

#mainimg_bottom div.inner{
	height: 150px;
	}

.pkmenu_wrap{
	padding: 10px 0;
	border-bottom: 2px solid #333399;
	font-size: 0.833em;
	}

/*footer*/
footer{
	border-top: 2px solid #333399;
	padding: 10px 0;
	}

#footermenu{
	display: none;
	}

/*pagetop*/
#btn_pagetop{
	position: fixed;
	bottom: 5px;
	right: 0;
	display: none;
	z-index: 1001;
	}
#btn_pagetop a{
	width: 40px;
	height: 40px;
	background-size: 12px 12px;
	}


/*hide*/
.pc{
	display: none;
	}
.sp{
	display: block !important;
	}

/*font-size*/
.txt_20{
	font-size: 1.25em;
	}

.txt_30{
	font-size: 1.666em;
	}

.txt_50{
	font-size: 2.5em;
	}


/*margin*/
.mgt30{
	margin-top: 10px;
	}
.mgt40,.mgt50{
	margin-top: 15px;
	}

.mgt80{
	margin-top: 25px;
                    }

.bd_cccccc{
	border: 1px solid #cccccc;
	padding: 20px;
	}


/*background*/
.bg_d1d4df{
	padding: 10px;
	}

/*li*/
li.circle{
	padding-left: 15px;
	}


/*btn*/
a.btn_333399_arrow{
	padding: 0 10px;
	height: 30px;
	line-height: 30px;
	}

a.btn_333399_arrow::after{
	top: 11px;
	right: 10px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	}

a.btn_inner_pgtop{
	display: block;
	width: 30px;
	height: 30px;
	background: #979cb1;
	position: relative;
	}

a.btn_cnt::after{
	content: '';
	position: absolute;
	top: 6px;
	left: 9px;
	width: 12px;
	height: 12px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	border-bottom: none;
	border-left: none;
	transform: rotate(135deg);
	}

a.btn_cnt.active::after{
	content: '';
	position: absolute;
	top: 12px;
	left: 9px;
	width: 12px;
	height: 12px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	border-bottom: none;
	border-left: none;
	transform: rotate(-45deg);
	}


/*h*/


/*table*/
table.tbl_01 th,table.tbl_01 td,table.tbl_02 th,table.tbl_02 td{
	padding: 10px;
	}

table.tbl_sp{
	}
table.tbl_sp tr{
	display: block;
	}
table.tbl_sp th,table.tbl_sp td{
	display: list-item;
	list-style-type: none;
	width: auto;
	word-break: break-all;
	}




img.aligncenter,img.alignright,img.alignleft,img.alignnone{
	margin: 5px 0;
	}

}

@media print{
}