@charset "utf-8";

/* ==========================================================================
   common
   ========================================================================== */
html * {
    box-sizing:border-box;
}

/* ==========================================================================
   layout
   ========================================================================== */

#wrap {
    position:relative;
    padding-top:55px;
    z-index:100;
}

#header , #content, #footer {
}

#bread {
}

#content {
}

#sideNav {
}

#main {
}

#footer {
}

#foot_add {
    padding:15px;
	background: #848484;
}


/* ==========================================================================
   module
   ========================================================================== */
/*
 * Drawer
 */

.drawer__trigger {
    position: fixed;
    right: 0px;
    top: 0px;
    z-index:1900;
    transition: .3s all;
}

.drawer__trigger .bars {
    background: transparent;
    position:relative;
    width: 50px;
    height: 50px;
    cursor: pointer;
    overflow:hidden;
    background:#0091db;
}

.drawer__trigger .bars .bar {
    position: absolute;
    left: 15px;
    display: block;
    width: 20px;
    height: 3px;
    background:#fff;
    transition: .3s all;
}
        
.drawer__trigger .bars .bar:nth-of-type(1) {
    top: 17px;
}
        
.drawer__trigger .bars .bar:nth-of-type(2) {
    top: 24px;
}
        
.drawer__trigger .bars .bar:nth-of-type(3) {
    top: 31px;
}

.drawer__overlay {
    transition: 0.4s cubic-bezier(0.750, 0.000, 0.000, 0.750);
}

.drawer__content {
    font-size:108%;

    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100%;
    background:#0091db;
    z-index:1800;
    overflow-y:scroll;

    -webkit-overflow-scrolling: touch;

    transition: all 0.4s cubic-bezier(0.750, 0.000, 0.000, 0.750); /* easeInOutExpo */
    transition-timing-function: cubic-bezier(0.750, 0.000, 0.000, 0.750); /* easeInOutExpo */
}

.drawer__content::-webkit-scrollbar {
    display: none;
}

.drawer__content .drawer__content__inner {
    padding-top:60px;
    width:100%;
    height:100%;
}

.drawer__content .drawer__content__title {
    font-weight:bold;
    text-align:center;
    font-size:138%;
}

.drawer__content .drawer__navi {
    padding:0 30px;
}

.drawer__content .drawer__navi .drawer__navi__item {
}

.drawer__content .drawer__navi .drawer__navi__item:first-child a {
    border-top:1px solid rgba(255, 255, 255, 1);
}

.drawer__content .drawer__navi .drawer__navi__item a {
    color:#fff;
    display:block;
    padding:15px 0;
    text-align:center;
    border-bottom:1px solid rgba(255, 255, 255, 1);
}

.drawer__content .drawer__navi .drawer__navi__item button {
    color:#fff;
    display:block;
    padding:15px 0;
    text-align:center;
    border-bottom:1px solid rgba(255, 255, 255, 1);
	width: 100%;
	font-family:inherit;
	position: relative;
}

.js-spMenu-accordion__trigger::before {
  background-image: none;
  content: "";
  background-color: #fff;
  width: 14px;
  height: 2px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 13px;
}
.js-spMenu-accordion__trigger::after {
  content: "";
  background-color: #fff;
  width: 2px;
  height: 14px;
  position: absolute;
  top: 50%;
  transform: translate(50%, -50%);
  right: 20px;
}

.is-open::before {
  background-image: none;
}
.is-open::after {
  content: none;
}

.drawer__content .drawer__navi .drawer__navi__subitem-top a {
    color:#fff;
    display:block;
    padding: 15px 0 5px;
    text-align:center;
    border:none;
}

.drawer__content .drawer__navi .drawer__navi__subitem a {
    color:#fff;
    display:block;
    padding: 5px 0 5px;
    text-align:center;
    border:none;
}

.drawer__content .drawer__navi .drawer__navi__subitem-buttom a {
    color:#fff;
    display:block;
    padding: 5px 0 15px;
    text-align:center;
    border-bottom:1px solid rgba(255, 255, 255, 1);
}

.drawer__content .drawer__navi .drawer__navi__item a[target="_blank"]:after {
    content:"";
    display:inline-block;
    width:18px;
    height:11px;
    background-image:url('../img/blank.png');
    background-repeat:no-repeat;
    background-position:right center;
}

.js-drawer--opened {
}

.js-drawer--opened .drawer__trigger {
}

.js-drawer--opened .drawer__trigger .bars {
}

.js-drawer--opened .drawer__trigger .bars .bar {
    background:#fff;
}

.js-drawer--opened .drawer__trigger .bars .bar:nth-of-type(1) {
    transform: rotate(45deg);
    top: 24px;
}

.js-drawer--opened .drawer__trigger .bars .bar:nth-of-type(2) {
    transform: translate(100px, 0);
}

.js-drawer--opened .drawer__trigger .bars .bar:nth-of-type(3) {
   transform: rotate(-45deg);
   top: 24px;
}

.js-drawer--opened .drawer__overlay {
    cursor:pointer;
    position:fixed;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:#000000;
    opacity:.5;
    z-index:1700;
}

.js-drawer--opened .drawer__content {
    right:0;
    width:80%;
}


/*
 * back to top
 */

#js-back-to-top {
    margin:0;
    padding:0;
    position:fixed;
    bottom:0;
    right:0;
    z-index:500;
}

.back-to-top {
    margin:0;
    padding:0;
    position:relative;
    display:block;
    line-height:1;
    width:50px;
    height:50px;
    background:#0074c1;
    color:#fff;
    text-indent:-9999px;
    cursor:pointer;
}
    
.back-to-top::after {
    margin:0;
    padding:0;
    content:'';
    display:block;
    position:absolute;
    left:50%;
    top:50%;
    width:1px;
    height:8px;
    border-right:8px solid transparent;
    border-bottom:8px solid #fff;
    border-left:8px solid transparent;
    transform:translate3d(-50%, -50%, 0);
}


/* ==========================================================================
   header
   ========================================================================== */

#header {
    position:fixed;
    left:0;
    top:0;
    width:100%;
    height:55px;
    padding:6px 0 0 6px;
    padding-bottom:5px;
    background:rgba(255, 255, 255, .9);
    z-index:200;
}
#header #topNav {
    display:none;
}

#header .headofficeLogo {
    margin-bottom:8px;
}

#header .headofficeLogo img {
    width:100%;
    max-width:140px;
    height:auto;
}

#header .headInn {
}

#header .headInn h1 {
}

#header .headInn h1 img {
    width:100%;
    max-width:180px;
    height:auto;
}

#header h2 {
}

#header h2.txtTitle {
}

#header #glNav {
    display:none;
}

/*
 * bread
 */
#bread {
    display:none;
}

/*
 * pageHeader
 */
#pageHeader {
    font-size:185%;
	margin: 0 auto;
    padding:20px 10px;
    color: #0074c1;
}


/* ==========================================================================
   #mainimage
   ========================================================================== */

#mainimage {
    margin-bottom:10px;
	width: 100%;
}

#mainimage img {
    width:100%;
    height:auto;
    vertical-align:bottom;
}

#mainimage .slider {
	margin-bottom: 0px;
}

#mainimage .slider img {
    width:100%;
    height:auto;
}

#mainimage .slick-dots {
    display:none!important;
}


/* ==========================================================================
   pagetop
   ========================================================================== */
#pagetop {
    display:none;
}


/* ==========================================================================
   footer
   ========================================================================== */

#foot_add {
	overflow: hidden;
	position: relative;
}

#foot_add .corpname {
	color: #fff;
	font-size: 1.05em;
	font-weight: bold;
	padding-bottom: 8px;
}

#foot_add .address, #foot_add .tel {
	display: inline-block;
	color: #fff;
	margin-right: 25px;
}

#foot_add .address {
	font-size: 92%;
	margin-right: 30px;
}

#foot_add .tel {
	font-size: 92%;
}

#foot_add .map {
    padding-top:2px;
}

#foot_add .ftLogo {
	position: absolute;
	top: 50%;
	right: 30px;
	margin-top: -9px;
}

#foot_copy {
	background: #0074c1;
}

#foot_copy .footInn {
	margin: 0 auto;
	padding: 15px;
}

#foot_copy .footInn .copyright {
    text-align:center;
}

/*
 * #ftNav
 */
#ftNav {
    margin-bottom:10px;
}

#ftNav ul li {
	line-height: 1.4;
}

#ftNav ul li.none {
	margin-right: 0;
}

#ftNav ul li a {
	color: #fff;
	font-size: 85%;
	display: inline-block;
	padding-left: 16px;
	padding-bottom: 3px;
	background: url(../img/ft_nav_bg.gif) left center no-repeat;
}

#ftNav ul li a .blank01 {
	display: inline-block;
	background: url(../img/blank_w.gif) right 3px no-repeat;
	padding-right: 16px;
}

#ftNav a:hover {
	border-bottom: 1px solid #fff;
}

/* ==========================================================================
   content
   ========================================================================== */

#content .wd_section .companyInn .secInner .secWrap {
    margin-bottom:15px;
    padding:20px 10px;
}

#content .wd_section .companyInn .secInner:last-child .secWrap {
    margin-bottom:0;
}

#content .section h3 {
	color: #0074c1;
	font-size: 185%;
	padding: 2px 0 1px 12px;
	margin-bottom: 20px;
	border-left: 5px solid #0074c1;
}

#content .section {
    margin-bottom:15px;
    padding:15px 10px;
}

#content .section2 {
	margin-bottom: 30px;
}

#content .section3 {
	margin-bottom: 20px;
}

#content .section h4 {
	font-size: 157%;
	line-height: 1;
	padding: 0 0 12px 0;
	margin-bottom: 20px;
	letter-spacing: 1px;
	border-bottom: 1px solid #ececec;
}

#content .section h4.type1 {
	font-size: 136%;
	font-weight: bold;
	padding: 0;
	margin-bottom: 15px;
	letter-spacing: 1px;
	color: #0074c1;
    border-bottom:none;
} 
#content .section h4.type2 {
	font-size: 175%;
	padding: 0;
	margin-bottom: 15px;
	letter-spacing: 1px;
	color: #0074c1;
    border-bottom:none;
} 
#content .section h5 {
	font-size: 129%;
	line-height: 1.4;
	padding: 0;
	margin-bottom: 20px;
	letter-spacing: 1px;
    color: #0074c1;
}

#content .section .box {
	margin-bottom: 50px;
}

#content img {
    width:100%;
    height:auto;
    vertical-align:bottom;
}

/* corporate
  ========================================================================== */

#page-corporate {
}

#page-corporate figure {
    padding:15px 0;
    text-align:center;
}

#page-corporate .policy {
    font-size:143%;
    color:#0074c1;
    line-height:1.8;
}

#page-corporate .guideline {
}

#page-corporate .guideline figure {
    margin-bottom:50px;
}

#page-corporate .copy {
    margin-bottom:35px;
}

#page-corporate .copy li {
    margin-bottom:5px;
    padding-left:24px;
    background-image:url('../img/icon_check.png');
    background-repeat:no-repeat;
    background-position:left center;
}

#page-corporate .theme {
    background:#deedf7;
    padding:15px;
}

#page-corporate .theme h6 {
    margin-bottom:20px;
    color: #0074c1;
    font-size:171%;
}

#page-corporate .theme dl {
}

#page-corporate .theme dl dt {
    font-weight:bold;
    color: #0074c1;
    font-size:114%;
}

#page-corporate .theme dl dd {
    margin-bottom:15px;
}


/*
 * table
 */
#content table th {
    padding:10px;
    width:120px;
}

#content table td {
    padding:10px;
}

#content table.company {
	margin-bottom: 20px;
}

#content .tableWrap {
	overflow: hidden;
}

#content .tableWrap {
	margin-bottom: 10px;
}

#content table td .access {
	display: block;
	margin-top: 15px;
}

/* sitemap
  ========================================================================== */

#page-sitemap {
}

#page-sitemap .wd_section {
}

#content .sectionWrap {
	padding: 20px 10px;
	border-bottom: 1px solid #ececec;
}

#page-sitemap .sectionWrap {
	padding: 20px 10px;
}

#content .sectionWrap h3 {
	color: #545454;
	font-size: 1.45em;
	font-weight: bold;
	padding: 0 0 3px 0;
	margin-bottom: 5px;
	border-bottom: 1px solid #545454;
}

#page-sitemap .sectionWrap .sectionWrapList li {
	font-weight: bold;
	line-height: 40px;
	border-bottom: 1px solid #ececec;
}

#page-sitemap .sectionWrap .sectionWrapList li.none {
	padding-bottom: 0;
	clear: both;
}

#page-sitemap .sectionWrap .sectionWrapList li.last {
	border-bottom: none;
}

/* index
  ========================================================================== */

#content .wd_section {
	overflow: hidden;
	margin: 0 0 40px;
}

#content .wd_section__inner {
    padding:10px;
}

#content .wd_section.none {
	margin-bottom: 0;
}

#content .wd_section.companyBox h2 {
	color: #0074c1;
	font-size: 171%;
	padding-bottom: 15px;
	margin-bottom: 20px;
	border-bottom: 1px solid #ececec;
}

#content .wd_section.companyBox.news h2 {
}

/*
 * news
 */
#content .wd_section .newsInner {
	overflow: hidden;
}

#content .wd_section .newsInner dl {
	padding: 0 0 15px;
}

#content .wd_section .newsInner dl:last-of-type {
    padding-bottom:40px;
}

#content .wd_section .newsInner dl dt {
    margin-bottom:3px;
}

#content .wd_section .newsInner dl dd {
    line-height:1.8;
}

#content .wd_section .newsInner dl dd a:hover {
	text-decoration: underline;
}
#renewal #content .imageBox figure{
	margin-top: 10px;
}
#renewal #content .caption-center {
	text-align: center;
	margin-top: 5px;
}
/*
 * company
 */
#content .wd_section .companyInn {
}

#content .wd_section .companyInn .secInner {
    display:block;
    position:relative;
    padding-top:195px;
    color:#fff;
    text-decoration:none;
}

#content .wd_section .companyInn .secInner .secWrap {
    background:#3991d1;
}

#content .wd_section .companyInn .secInner.secInner1::before {
    position:absolute;
    content:'';
    left:0;
    top:0;
    width:100%;
    height:195px;
    background-image:url("../img/index_about_bg1.jpg");
    background-size:cover;
    background-repeat:no-repeat;
    background-position:left top;
}

#content .wd_section .companyInn .secInner.secInner2::before {
    position:absolute;
    content:'';
    left:0;
    top:0;
    width:100%;
    height:195px;
    background-image:url("../img/index_about_bg2.jpg");
    background-size:cover;
    background-repeat:no-repeat;
    background-position:right top;
}

#content .wd_section .companyInn .secInner.secInner3::before {
    position:absolute;
    content:'';
    left:0;
    top:0;
    width:100%;
    height:195px;
    background-image:url("../img/index_about_bg3.jpg");
    background-size:cover;
    background-repeat:no-repeat;
    background-position:left top;
}

#content .wd_section .companyInn .secInner.secInner4::before {
    position:absolute;
    content:'';
    left:0;
    top:0;
    width:100%;
    height:195px;
    background-image:url("../img/index_about_bg5.jpg");
    background-size:cover;
    background-repeat:no-repeat;
    background-position:right top;
}

#content .wd_section .companyInn .secInner.none {
	margin-right: 0;
}

#content .wd_section .companyInn h3 {
    margin-bottom:15px;
    padding-bottom:15px;
    font-size:186%;
    border-bottom:1px solid #fff;
}

#content .wd_section .companyInn h3 br {
    display:none;
}

#content .wd_section .companyInn h3 span {
    display:inline-table;
    padding-left:10px;
    font-size:15px;
    vertical-align:middle;
}

#content .wd_section .companyInn h3 span.pl0 {
    padding-left:0px;
}

#content .wd_section .companyInn a {
    color:#fff;
}

#content .wd_section .companyInn .secInner .anchorList li {
    font-size:108%;
}

#content .wd_section .companyInn .secInner .anchorList li.middle {
}

#content .wd_section .companyInn .secInner .anchorList li.none {
}


/* business
  ========================================================================== */
#page-business {
}

#page-business .lead {
    margin-bottom:20px;
    font-size:129%;
    line-height:1.8;
}

#page-business .text {
    margin-bottom:10px;
    font-size:114%;
    line-height:1.8;
}

#page-business figure {
    margin-bottom:20px;
}

#page-business .imagebox1 {
    margin-bottom:40px;
}

#page-business .imagebox2 {
    margin-bottom:40px;
}

#page-business figure figcaption {
    padding:10px 0 0 0;
}

/* sustainability 
  ========================================================================== */
#page-sustainability {
}

#page-sustainability h3 {
    border:none!important;
    text-align:center;
}

#page-sustainability h3 img {
    width:auto;
    text-align:center;
}

#page-sustainability .lead {
    margin-bottom:20px;
    font-size:129%;
    line-height:1.8;
}

#page-sustainability .text {
    margin-bottom:10px;
    font-size:114%;
    line-height:1.8;
}

#page-sustainability .activity {
    margin-bottom:30px;
}

#page-sustainability dl {
    font-size:114%;
}

#page-sustainability dl dt {
    font-weight:bold;
}

#page-sustainability dl dd {
    margin-bottom:15px;
}

#page-sustainability ul {
}

#page-sustainability li {
    margin-bottom:15px;
    text-align:center;
}

#page-sustainability li img {
    width:auto;
    height:auto;
}

/* recruit 
  ========================================================================== */
#page-recruit .introMovie{
	width: 100%;
    border: none;
    height: 53.28vw;
}

.spOnly{
	display:block;
	margin-left: 1em;
	margin-bottom: 20px;
} 

/* ==========================================================================
   Helper classes
   ========================================================================== */

.imgR.mbClear {
	margin-left: 40px;
}

.imgRList {
	overflow: hidden;
}

.mgtopClear {
	margin-top: 0 !important;
}

.mbClear {
	margin-bottom: 0 !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.mb18 {
	margin-bottom: 180px !important;
}

.padtopClear {
	padding-top: 0 !important;
}

.pt10 {
	padding-top: 10px !important;
}

.red {
	color: #f00;
}

.em01 {
	font-weight: bold;
}

.em02 {
	font-size: 1.15em;
	font-weight: bold;
}

.linehClear {
    line-height: inherit !important;
}

