@charset "utf-8";

/*---------wrapper---------*/

#wrapper {
width: 100%;
margin: 0 auto;
z-index: 600;
}

/*---------header---------*/

.inner {
width: 1250px;
margin: 0 auto;
}

.inner:after {
content: "";
clear: both;
display: block;
}

/* header */

#top-head {
font-size: 14px;
top: -100px;
position: absolute;
width: 100%;
margin: 100px auto 0;
padding: 30px 0 0;
line-height: 1;
z-index: 999;
}

#top-head a, #top-head {
color: #ffffff;
font-weight: bold;
font-size: 15px;
letter-spacing: 1px;
text-decoration: none;
}

#top-head .inner {
position: relative;
}

#top-head h2 {
font-size: 10px;
color: #ffffff;
letter-spacing: 1px;
text-shadow: 0 0 2px #222222;
padding-bottom: 8px;
}

#top-head .logo {
float: left;
height: 35px;
font-size: 14px;
color: #ffffff;
text-shadow: 0 0 2px #222222;
background: url(../images/headertitleimg.png) no-repeat;
background-size: 95px 30px;
padding-left: 110px;
padding-top: 5px;
}

#global-nav ul {
list-style: none;
position: absolute;
right: 0;
bottom: 15px;
font-size: 14px;
}

#global-nav ul li {
float: left;
position: relative;
}

#global-nav ul li a {
padding: 0 15px;
text-shadow: 0 0 2px #222222;
font-weight: bold;
}

/* Btn Hover */

#global-nav ul li:after {
position: absolute;
content: "";
display: block;
width: 100%;
font-weight: bold;
height: 2px;
bottom: -20px;
transition: all 0.3s ease;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
}

#global-nav ul li:hover:after {
background: #ffffff;
bottom: -15px;
font-weight: bold;
}

/* Fixed */

#top-head.fixed {
margin-top: 0;
top: 0;
position: fixed;
padding-top: 10px;
background: rgba(255,255,255,.9);
transition: top 0.65s ease-in;
-webkit-transition: top 0.65s ease-in;
-moz-transition: top 0.65s ease-in;
}

#top-head.fixed .logo {
height: 35px;
font-size: 14px;
text-shadow: none;
background: url(../images/headertitleimg-fix.png) no-repeat;
background-size: 94px 28px;
padding-left: 110px;
padding-top: 5px;
color: #444444;
}

#top-head.fixed h2 {
font-size: 10px;
color: #444444;
text-shadow: none;
letter-spacing: 1px;
padding-bottom: 8px;
}

#top-head.fixed #global-nav ul li a {
color: #444444;
padding: 0 20px;
text-shadow: none;
}

/* Fixed Btn Hover */

#top-head.fixed #global-nav ul li:after {
bottom: -10px;
}

#top-head.fixed #global-nav ul li:hover:after {
background:#1ba8d6;
bottom: -10px;
transition: all 0.3s ease;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
}

/* Toggle Button */

#nav-toggle {
display: none;
position: absolute;
right: 12px;
top: 14px;
width: 34px;
height: 36px;
cursor: pointer;
z-index: 101;
}

#nav-toggle div {
position: relative;
}

#nav-toggle span {
display: block;
position: absolute;
height: 4px;
width: 100%;
background: #666666;
left: 0;
-webkit-transition: .35s ease-in-out;
-moz-transition: .35s ease-in-out;
transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
top: 0;
}

#nav-toggle span:nth-child(2) {
top: 11px;
}

#nav-toggle span:nth-child(3) {
top: 22px;
}

@media screen and (max-width: 1000px) {
#main-visual {
height: 300px;
}

#top-head,  .inner {
width: 100%;
padding: 0;
}


#top-head {
top: 0;
position: fixed;
margin-top: 0;
}

/* Fixed reset */

#top-head.fixed {
padding-top: 0;
background: transparent;
}

#mobile-head {
background: rgba(255,255,255,.9);
width: 100%;
height: 56px;
z-index: 999;
position: relative;
}

#top-head h2 {
display: none;
}

#top-head .logo {
position: absolute;
left: 15px;
top: 13px;
background: url(../images/headertitleimg-fix.png) no-repeat;
text-shadow: none;
background-size: 75px 23px;
padding-left: 90px;
color: #333333;
font-size: 10px;
}

#top-head.fixed .logo {
background: url(../images/headertitleimg-fix.png) no-repeat;
text-shadow: none;
background-size: 75px 23px;
padding-left: 90px;
color: #333333;
font-size: 10px;
}

#global-nav {
position: absolute;
/* 開いてないときは画面外に配置 */
top: -500px;
background: #333333;
width: 100%;
text-align: center;
padding: 10px 0;
-webkit-transition: .5s ease-in-out;
-moz-transition: .5s ease-in-out;
transition: .5s ease-in-out;
}

#global-nav ul {
list-style: none;
position: static;
right: 0;
bottom: 0;
font-size: 11px;
}

#global-nav ul li {
float: none;
position: static;
}

#global-nav ul li:after {
display: none;
}

#top-head #global-nav ul li a,  #top-head.fixed #global-nav ul li a {
width: 100%;
display: block;
color: #ffffff;
text-shadow: none;
padding: 18px 0;
}

#nav-toggle {
display: block;
}

/* #nav-toggle 切り替えアニメーション */
.open #nav-toggle span:nth-child(1) {
top: 11px;
-webkit-transform: rotate(315deg);
-moz-transform: rotate(315deg);
transform: rotate(315deg);
}

.open #nav-toggle span:nth-child(2) {
width: 0;
left: 50%;
}

.open #nav-toggle span:nth-child(3) {
top: 11px;
-webkit-transform: rotate(-315deg);
-moz-transform: rotate(-315deg);
transform: rotate(-315deg);
}

/* #global-nav スライドアニメーション */
.open #global-nav {
/* #global-nav top + #mobile-head height */
-moz-transform: translateY(556px);
-webkit-transform: translateY(556px);
transform: translateY(556px);
}
}


/*---------underimg---------*/
	
#undermainimg-company {
width: 100%;
height: 0;
padding-top: calc(500 / 2000 * 100%); 
background: url(../company/images/companymainimg.jpg) center center / cover no-repeat;
background-position: center;
}

#undermainimg-contact {
width: 100%;
height: 0;
padding-top: calc(500 / 2000 * 100%); 
background: url(../privacy/images/privacymainimg.jpg) center center / cover no-repeat;
background-position: center;
}

#undermainimg-privacy {
width: 100%;
height: 0;
padding-top: calc(500 / 2000 * 100%); 
background: url(../privacy/images/privacymainimg.jpg) center center / cover no-repeat;
background-position: center;
}

#undermainimg-web {
width: 100%;
height: 0;
padding-top: calc(500 / 2000 * 100%); 
background: url(../webcreation/images/webmainimg.jpg) center center / cover no-repeat;
background-position: center;
}

#undermainimg-oa {
width: 100%;
height: 0;
padding-top: calc(500 / 2000 * 100%); 
background: url(../oa/images/oamainimg.jpg) center center / cover no-repeat;
background-position: center;
}

@media only screen and (max-width: 640px) {
#undermainimg-company {
width: 100%;
height: 0;
padding-top: calc(600 / 1000 * 100%); 
background: url(../company/images/companymainimg.jpg) center center / cover no-repeat;
background-position: center;
}

#undermainimg-contact {
width: 100%;
height: 0;
padding-top: calc(600 / 1000 * 100%); 
background: url(../privacy/images/privacymainimg.jpg) center center / cover no-repeat;
background-position: center;
}

#undermainimg-privacy {
width: 100%;
height: 0;
padding-top: calc(600 / 1000 * 100%); 
background: url(../privacy/images/privacymainimg.jpg) center center / cover no-repeat;
background-position: center;
}

#undermainimg-web {
width: 100%;
height: 0;
padding-top: calc(600 / 1000 * 100%); 
background: url(../webcreation/images/webmainimg.jpg) center center / cover no-repeat;
background-position: center;
}

#undermainimg-oa {
width: 100%;
height: 0;
padding-top: calc(600 / 1000 * 100%); 
background: url(../oa/images/oamainimg.jpg) center center / cover no-repeat;
background-position: center;
}

}


/*---------pagetitle---------*/

#underpagetitle-common {
width: 100%;
background: url(../images/graydotbg.jpg) repeat;
height: 110px;
margin-bottom: 50px;
}

#underpagetitle-common ul.underpagetitlebox {
margin: 0 auto;
}

#underpagetitle-common ul.underpagetitlebox h2 {
text-align: center;
font-size: 28px;
padding-top: 37px;
color: #ffffff;
}

#underpagetitle-common ul.underpagetitlebox h2 img {
padding-right: 15px;
}

@media only screen and (max-width: 640px) {
#underpagetitle-common {
width: 100%;
background: url(../images/graydotbg.jpg) repeat;
height: 80px;
margin-bottom: 20px;
}

#underpagetitle-common ul.underpagetitlebox h2 {
text-align: center;
font-size: 22px;
padding-top:  15px;
font-weight: bold;
color: #ffffff;
}

}


/*---------contents---------*/

#contents {
max-width: 1250px;
width: 100%;
margin: 0 auto 0;
box-sizing: border-box;
}

@media only screen and (max-width: 1100px) {
#contents{
margin-top: 0px;
padding: 0 3% 0% 3%;
}
}

/*---------title---------*/

h3.maintitle01 {
border-bottom: 2px solid #cccccc;
margin-bottom: 15px;
font-size: 30px;
letter-spacing: 1px;
padding: 5px 0 5px 0px;
}

h3.maintitle02 {
color:  #ffffff;
background:#9d9d9d;
border-radius: 8px;
margin-bottom: 40px;
font-size: 33px;
letter-spacing: 1px;
text-align: center;
padding: 5px;
}

@media only screen and (max-width: 640px) {
h3.maintitle02 {
color:  #ffffff;
background:#9d9d9d;
border-radius: 8px;
margin-bottom: 40px;
font-size: 22px;
letter-spacing: 1px;
text-align: center;
padding: 5px;
}
}


/*---------footermap---------*/

#footermap {
clear: both;
margin-top: 40px;
width: 100%;
height: 300px;
}

/*---------pageunder---------*/

#pageunder {
position: absolute;
top: 80%;
left: 47.5%;
z-index: 555;
}

@media screen and ( max-width:640px ) {
#pageunder {
position: absolute;
top: 80%;
left: 47.5%;
z-index: 555;
max-width: 50px;
}
}


/*---------contactbt---------*/

ul#contactbt {
position: fixed;
right: 0px;
top: 90px;
z-index: 9999;
}

ul#contactbt a {
display: block;
}

@media screen and (max-width: 700px){
ul#contactbt {
display: none;
}
}

/*---------footer---------*/

#footer {
width: 100%;
clear: both;
background: url(../images/graydotbg.jpg) repeat;
}

#footer .footerbox {
margin: 0 auto;
max-width: 1250px;
width: 100%;
}

#footer .footerbox ul.ftnavi {
padding: 45px 0 30px 0;
width: 800px;
float: left;
}

#footer .footerbox ul.ftnavi p {
padding: 0 0 15px 0;
color: #ffffff;
}

#footer .footerbox ul.ftnavi p a {
color: #ffffff;
font-size: 15px;
font-weight: bold;
}

#footer .footerbox ul.ftinfo {
padding: 20px 0 30px 0;
width: 400px;
float: right;
}

#footer .footerbox ul.ftinfo li.ftlogo {
padding: 5px 0 5px 0;
}

#copy {
width: 100%;
background: #029ed2;
padding-bottom: 18px;
}

#copy .copybody {
font-weight: 400;
text-align: center;
letter-spacing: 0.1em;
color: #ffffff;
font-size: 16px;
}

@media screen and ( max-width:1250px ) {
	
#footer .footerbox ul.ftnavi {
padding: 45px 15px 30px 15px;
text-align: center;
width: 100%;
}

#footer .footerbox ul.ftinfo {
text-align: center;
width: 100%;
}

}

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

#footer {
width: 100%;
background: url(../images/graydotbg.jpg) repeat;
}

#footer .footerbox {
width: 100%;
}

#footer .footerbox ul.ftnavi {
padding: 15px;
width: 100%;
}

#footer .footerbox ul.ftnavi p {
line-height: 150%;
color: #ffffff;
}

#footer .footerbox ul.ftnavi p a {
color: #ffffff;
display: block;
font-weight: bold;
}

#footer .footerbox ul.ftinfo {
display: none;
}

#copy {
width: 100%;
background: #029ed2;
text-align: center;
padding-bottom: 18px;
letter-spacing: 0.1em;
color: #ffffff;
font-size: 19px;
font-weight: 400;
}
}