﻿/*@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);*/
@import url(font/notosansjp.css);

.fontasync {
	font-family: 'Noto Sans JP', sans-serif; 
}

body {
	font-family: 'Noto Sans JP', sans-serif; 
	
	text-align: center;
	font-size: 83%;
	
	line-height: 1.2;
}

a {
	font-weight: bold;
	text-decoration: none;
}

small {
	font-size: 90%;
}

figcaption {
	text-align: center;
	font-size: 90%;
}

figcaption:before,
figcaption:after {
	content: "▲";
}

a:link { color: #006688; }
a:visited { color: #006688; }
a:active { color: #006688; }
a:hover { color: #ee7700; }

h1 {
	padding-bottom: 0;

	border-style: solid;
	border-width: 0 0 0.2em 0;
}

#accessmap h1 {
	border-style: none;
}

@media screen and (min-width: 640px) and (min-height: 640px) {

#centerblock {
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	right: 0;
	
	padding: 1em 0;
	
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.mainframe {
	position: absolute;
	
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
	width: 60%;
	min-width: 640px;
	max-width: 640px;
	
	margin: 0;
	
	border-style: solid solid none solid;
	border-width: 5px;
	border-radius: 8px 8px 0px 0px;
	
	margin-left: auto;
	margin-right: auto;
	
	min-height: 100px;
	overflow: auto;
	
	text-align: left;
}

}
@media screen and (min-width: 640px) and (max-height: 640px) {

#centerblock {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	right: 0;
	
	padding: 1em 0;
}

.mainframe {
	position: absolute;
	
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
	width: 60%;
	min-width: 640px;
	max-width: 640px;
	
	margin: 0;
	
	border-style: solid solid none solid;
	border-width: 5px;
	border-radius: 8px 8px 0px 0px;
	
	margin-left: auto;
	margin-right: auto;
	
	min-height: 100px;
	overflow: auto;
	
	text-align: left;
}

}
@media screen and (max-width: 640px) {

#centerblock {
	position: relative;
	display: block;
	
	padding: 0.1em 0;
}

.mainframe {
	position: absolute;
	
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
	width: 100%;
	
	margin: 0;
	
	border-style: solid solid none solid;
	border-width: 3px;
	border-radius: 8px 8px 0px 0px;
	
	margin-left: auto;
	margin-right: auto;
	
	min-height: 100px;
	overflow: auto;
	
	text-align: left;
}

}

#topslidemenu {
	overflow: hidden;
}

#company_group,
#recruit_group,
#inquiry_group,
#link_group {
	height: 100%;
}

.mainframe h2 {
}


.mainframe h3 {

	border-style: solid;
	border-width: 0 0em 0 5em;
	
	margin-left: -5em;
	padding-left: 0.5em;
	border-color: #CCCCCC;
}

.mainframe h3:before {
	content: "■";
}

.mainframe h3:after {
	display: inline-block;
	content: "\00a0";
	width: 100%;
	margin-left: 0.5em;
	margin-right: 0;
	background-color: #CCCCCC;
}

.mainframe h4 {

	border-style: none;
	border-width: 0 0em 0 5em;
	
	margin-left: 0m;
	padding-left: 0.5em;
	border-color: #CCCCCC;
}

.mainframe h4:before {
	content: "■";
}

.aspectwrapper {
	position: relative;
	width: 100%;
}

.slideaspectwrapper {
	position: relative;
	top: 50%;
	width: 100%;
	font-size: 0;
}

#copyright small {
	display: block;
	text-align: right;
	
	padding-right: 1em;
}

@media screen and (min-width: 1103px) {

.aspectwrapper:after,
.slideaspectwrapper:after {
    content:"";
    display: block;
	padding-top: 480px;
}

}
@media screen and (max-width: 1103px) and (min-width: 1066px) {

.aspectwrapper:after,
.slideaspectwrapper:after {
    content:"";
    display: block;
	padding-top: 45%;
}

}
@media screen and (max-width: 1066px) and (min-width: 640px) {

.aspectwrapper:after,
.slideaspectwrapper:after {
    content:"";
    display: block;
	padding-top: 480px;
}

}
@media screen and (max-width: 640px) {

.aspectwrapper:after {
    content:"";
    display: block;
	padding-top: 480px;
}

.slideaspectwrapper:after {
    content:"";
    display: block;
	padding-top: 75%;
}

}

.submenu_section {
	position: relative;
	overflow: hidden;
	white-space: nowrap;
	z-index:10;
}

.submenu_section p {
	position: relative;
	overflow: auto;
	white-space: normal;
	z-index:10;
}

section article p {
	position: relative;
}


#topmenu_main1 h3,
#topmenu h3 {
	border-color: #5D96F6;
}

#topmenu_main1 h3:after,
#topmenu h3:after {
	background-color: #5D96F6;
}

#topmenu_main2 h3,
#company h3 {
	border-color: #DB6175;
}

#topmenu_main2 h3:after,
#company h3:after {
	background-color: #DB6175;
}

#topmenu_main3 h3,
#recruit h3 {
	border-color: #60BA75;
}

#topmenu_main3 h3:after,
#recruit h3:after {
	background-color: #60BA75;
}


#topmenu_main4 h3,
#inquiry h3 {
	border-color: #FFA63F;
}

#topmenu_main4 h3:after,
#inquiry h3:after {
	background-color: #FFA63F;
}

#topmenu_main5 h3,
#link h3 {
	border-color: #7D65BA;
}

#topmenu_main5 h3:after,
#link h3:after {
	background-color: #7D65BA;
}

@media screen and (min-width: 640px) {

.topmenu_section,
.submenu_section {
	padding-left: 1em;
}

.topmenu_section p,
.submenu_section p {
	background-color: rgba(255, 255, 255, 0.8);
	padding: 0.2em 0 0.2em 2em;
}

}
@media screen and (max-width: 640px) {

.topmenu_section,
.submenu_section {
	padding-left: 0;
}

.topmenu_section p,
.submenu_section p {
	background-color: rgba(255, 255, 255, 0.8);
	padding: 0.2em 0 0.2em 1em;
}

}

.topmenu_section h3,
.submenu_section h3 {
	background-color: rgba(255, 255, 255, 0.8);
}

#topmenu_group,
#company_group,
#recruit_group,
#inquiry_group,
#link_group {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
}

#topmenu_group > li,
#company_group > li,
#recruit_group > li,
#inquiry_group > li,
#link_group > li {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;	

	min-height: 552px;
	text-wrap: none;
	
	text-align: left;
	
	
	overflow: hidden;
}

@media screen and (min-width: 640px) {

nav#topmenu_tab_group {
	backgrond-color: #DDDDDD;
	width: 60%;
	min-width: 650px;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
	text-align: center;	
	letter-spacing: -1em;
}

#topmenu_tab_group ul {
	position: relative;
	margin: -5px 0 0 0;
	padding: 0 0px 0 0px;
	list-style-type: none;
	
	z-index: 15;
}

}
@media screen and (max-width: 640px) {

nav#topmenu_tab_group {
	backgrond-color: #DDDDDD;
	width: calc(100% + 6px);
	margin-left: auto;
	margin-right: auto;
	padding: 0;
	text-align: center;
	letter-spacing: -1em;
}

#topmenu_tab_group ul {
	position: relative;
	margin: -3px 0 0 0;
	padding: 0 0px 0 0px;
	list-style-type: none;
	
	z-index: 15;
}

}

#topmenu_tab_group li:before {
    content:"";
	margin: 0;
	padding: 0;
    width: 0;
}

@media screen and (min-width: 640px) {

#topmenu_tab_group li {
	display: inline-block;
	
	width: 130px;
	max-width: 130px;
	min-height: 50px;
	
	background-size: 100%;
	background-repeat: no-repeat;
	
	margin:0;
	
}

#topmenu_tab_group li:first-child {
	margin-left: 0;
}

}
@media screen and (max-width: 640px) {

#topmenu_tab_group li {
	display: inline-block;
	
	width: 20%;
	min-height: 50px;
	
	background-size: 100%;
	background-repeat: no-repeat;
	
	margin-left:0;
}

#topmenu_tab_group li:first-child {
	margin-left: 0;
}

}

#topmenu_tab_group li a img {
	width: 100%;
	margin: 0;
	
}

@media screen and (min-width: 640px) {

.submenu_section dl {
	padding-left: 2em;
}

}
@media screen and (max-width: 640px) {

.submenu_section dl {
	padding-left: 0;
}

}

.submenu_section dt:before {
	content: "■";
}

.submenu_section dt {
	background-color: rgba(255, 255, 255, 0.8);
	
	margin-top: 1.5em;
	margin-left: 0em;
	padding: 0.1em 0 0.1em 1em;
}

.submenu_section dt:first-child {
	margin-top: 0;
}

.submenu_section dd {
	background-color: rgba(255, 255, 255, 0.8);
	
	margin-top: 0.2em;
	margin-left: 0em;
	padding: 0.1em 0 0.1em 1em;
}

.submenu_section dd p {
	margin: 0.1em 0 0.1em 0;
	padding: 0.2em 1em 0.2em 1em;
}

.submenu_section li {
	padding: 0.2em 0 0.2em 0;
}

.topmenu_sublist dt a,
.topmenu_sublist li a {
	display: inline-block;
	width: 100%;
}

ul.submenu_imagelist {
}

ul.submenu_imagelist li {
	background-color: rgba(255, 255, 255, 0.8);
	
	list-style-type: none;
	
	margin: 0.5em 0 1em 0em;
	padding: 0.1em 2em 0.1em 0.1em;
}

ul.submenu_imagelist li:before {
	content: "■";
}

ul.submenu_imagelist li:nth-child(odd) {
	text-align: left;
}

ul.submenu_imagelist li:nth-child(even) {
	text-align: left;
}

dl.timeline dd:after {
	display: block;
	content: "▼";
	text-align: center;
	margin: 1em 4em -1em 0;
	padding: 0;
}

dl.timeline dd:last-child:after {
	content: "";
}

dl.timeline dd {
	background-color: transparent;
}

dl.timeline dd {
	background-color: transparent;
	padding-left: 0;
}

dl.timeline dd p {
	margin: 0 0 0 0;
	padding: 0.2em 1em 0.2em 2em;
}


#company_main1 {
}
#company_tab2,
#topmenu_main2 {
	display: none;
	margin-left: -100%;
	
}

#back_button_top {
	margin: 0 0.5em -0.5em 0;
	padding: 0;
}

#back_button_top p {
	display: inline-block;
	margin: 0;
	padding: 0;
}

.greeting {
	line-height: 1.5;
}

address { 
	padding: 0 1em 0 0;

	font-style: normal;
	text-align: right;
}

address p {
	padding-right: 1em;
}

.outline small  {
	display: block;
	padding-left: 1em;
}

.explanation_section {
	margin: 3em 0.5em 0.5em 1em;

	border-style: solid;
	border-width: 4px 0 4px 1px;
}

.explanation_section h4 {
	color: #224499;
	
	font-size: 100%;
	margin-top: -1.5em;
}

.explanation_section h5:before {
	content: "◆";
}

.explanation_section h5 {
	margin: 0.2em 0 0em 1em;

	font-size: 100%;
	font-weight: bold;
}

@media screen and (max-width: 640px) {

.explanation_section>ul {
	padding-left: 1em;
}

}


.explanation_section li:before {
	content: "◆";
}

.explanation_section li {
	background-color: rgba(255, 255, 255, 0.8);
	
	margin: 0.2em 0.5em 0.2em 0;
	padding: 0.2em 0 0.2em 1em;
    text-indent: -1em;

	list-style-type: none;
	
	white-space: normal;
	
	width: 95%
}

.explanation_section li a {
	display: inline-block;
    text-indent: 0;
    width: 100%;
}

.explanation_section dd li:before {
	content: "";
}

.explanation_section dd li {
	list-style-type: disc;
	padding-left: 0;
    text-indent: 0;
}


.explanation_section dt:before {
	content: "◆";
}

.explanation_section small {
	display: block;
	padding-left: 0;
    text-indent: 0;
}

dl.attention dd p:before {
	content: "※";
	color: #FF6633;
}

dl.attention dd p small {
	margin-left: 1em;
}

ul.attention li:before {
	content: "※";
	color: #FF6633;
}

.faq dt:before {
	display: block;
	content: "【Q.】";
	margin-left: -1em;
	
	font-weight: bold;
	color: #dd4444;
	
	margin-top: -1.2em;
	padding-top: 1em;
	
	border-style: solid;
	border-width: 1px 0 0 0;
	border-color: #888888;
	
	width: 95%;
}

.faq dt:first-child:before {
	border-style: none;
}

.faq dt {
	margin-top: 2em;
	padding-top: 0.2em;
	padding-left: 2em;
	
	white-space: normal;
}


.faq dd:before {
	display: block;
	content: "【A.】";
	
	font-weight: bold;
	color: #5577dd;
}

form {
	margin: 2em 1em;
}

@media screen and (min-width: 640px) {

#base_footer {
	margin-top: 2em;

	text-align: center;
}

}
@media screen and (max-width: 640px) {

#base_footer {
	margin-top: 0.1em;

	text-align: center;
}

}

#base_footer nav {
	position: relative;
	display: inline-block;

	min-width: 40px;
	min-height: 40px;
	
	margin: auto;
	padding: auto;
	
	border-style: solid;
	border-width: 10px;
	border-color: #cccccc;
	border-radius: 64px;
	
	background-color: #cccccc;
}

#base_footer nav img {
	position: absolute;
	display: inline-block;
	
	min-width: 38px;
	min-height: 38px;
	
	margin: auto;
	padding: auto;
	
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

#base_footer nav:hover {
	background-color: #777777;
}