@charset "UTF-8";
/*##########################################################################################
##// DAJヘッダー共通CSS（グローバルメニュー含む） //########################################
##########################################################################################*/
.font-size58 { font-size: 3.625rem; }
@media screen and (max-width: 1024px) { .font-size58 { font-size: 2.25rem; } }
@media screen and (max-width: 767px) { .font-size58 { font-size: 2.25rem; } }

.font-size36 { font-size: 2.25rem; }
@media screen and (max-width: 1024px) { .font-size36 { font-size: 1.5rem; } }
@media screen and (max-width: 767px) { .font-size36 { font-size: 1.375rem; } }

.font-size30 { font-size: 1.875rem; }
@media screen and (max-width: 1024px) { .font-size30 { font-size: 1.5rem; } }
@media screen and (max-width: 767px) { .font-size30 { font-size: 1.375rem; } }

.font-size26 { font-size: 1.625rem; }
@media screen and (max-width: 1024px) { .font-size26 { font-size: 1.5rem; } }
@media screen and (max-width: 767px) { .font-size26 { font-size: 1.125rem; } }

.font-size22 { font-size: 1.375rem; }
@media screen and (max-width: 768px) { .font-size22 { font-size: 1.125rem; } }

.font-size18 { font-size: 1.125rem; }
@media screen and (max-width: 768px) { .font-size18 { font-size: 1.125rem; } }

.font-size15 { font-size: 0.9375rem; }
@media screen and (max-width: 768px) { .font-size15 { font-size: 0.8125rem; } }

.font-size14 { font-size: 0.88rem; }
@media screen and (max-width: 768px) { .font-size14 { font-size: 0.75rem; } }

.column { width: 100%; max-width: 1024px; margin: 0 auto; padding-right: 7px; padding-left: 7px; letter-spacing: -.5em; }
.column * { letter-spacing: normal; }
@media screen and (max-width: 1024px) { .column { width: 100vw; padding-right: 0; padding-left: 0; } }
.column .column { letter-spacing: -.5em; }
.column .column * { letter-spacing: normal; }

.col12 { width: calc(100% - 20px); display: block; margin-left: auto; margin-right: auto; padding-right: 0; padding-left: 0; }
@media screen and (max-width: 1023px) { .col12 { width: 98vw; } }
@media screen and (max-width: 767px) { .col12 { width: 94vw; } }

.col9 { width: 740px; display: inline-block; margin-left: 8.75px; margin-right: 8.75px; vertical-align: top; }
@media screen and (max-width: 1024px) { .col9 { width: 74vw; margin-left: 1vw; margin-right: 1vw; } }
@media screen and (max-width: 767px) { .col9 { width: 94vw; } }

.col8 { width: 649.3333333333px; display: inline-block; margin-left: 10px; margin-right: 10px; vertical-align: top; }
@media screen and (max-width: 1024px) { .col8 { width: calc( ( ( 92vw / 3 ) * 2 ) + 2vw ); margin-left: 1vw; margin-right: 1vw; } }

.col6 { width: calc(( 100% - 40px ) / 2); display: inline-block; margin-left: 10px; margin-right: 10px; vertical-align: top; }
@media screen and (max-width: 1024px) { .col6 { width: 47vw; margin-left: 1vw; margin-right: 1vw; } }
@media screen and (max-width: 767px) { .col6 { width: 94vw; margin-left: 0; margin-right: 0; } }

.col4 { width: calc(( 100% - 62px ) / 3); display: inline-block; margin-left: calc( 60px / 6); margin-right: calc( 60px / 6); vertical-align: top; }
@media screen and (max-width: 1024px) { .col4 { width: calc( 92vw / 3 ); margin-left: 1vw; margin-right: 1vw; } }
@media screen and (max-width: 767px) { .col4 { width: 92vw; margin-left: 0; margin-right: 0; margin-bottom: 10px; } }

.col3 { width: calc(( 100% - 10px * 8 ) / 4); display: inline-block; margin-left: 10px; margin-right: 10px; vertical-align: top; }
@media screen and (max-width: 1024px) { .col3 { width: calc(( 100vw - 1vw * 8 ) / 4); margin-left: 1vw; margin-right: 1vw; } }
@media screen and (max-width: 767px) { .col3 { width: 92vw; margin-left: 0; margin-right: 0; margin-bottom: 10px; } }

@media screen and (min-width: 768px) { .sp { display: none; } }

.mt60 { margin-top: 60px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .mt60 { margin-top: 30px; } }
@media screen and (max-width: 767px) and (min-width: 0) { .mt60 { margin-top: 20px; } }

.mt40 { margin-top: 40px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .mt40 { margin-top: 30px; } }
@media screen and (max-width: 767px) and (min-width: 0) { .mt40 { margin-top: 20px; } }

.mt30 { margin-top: 30px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .mt30 { margin-top: 15px; } }
@media screen and (max-width: 767px) and (min-width: 0) { .mt30 { margin-top: 10px; } }

.mt20 { margin-top: 20px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .mt20 { margin-top: 15px; } }
@media screen and (max-width: 767px) and (min-width: 0) { .mt20 { margin-top: 10px; } }

.mb60 { margin-bottom: 60px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .mb60 { margin-bottom: 30px; } }
@media screen and (max-width: 767px) and (min-width: 0) { .mb60 { margin-bottom: 20px; } }

.mb40 { margin-bottom: 40px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .mb40 { margin-bottom: 30px; } }
@media screen and (max-width: 767px) and (min-width: 0) { .mb40 { margin-bottom: 20px; } }

.mb20 { margin-bottom: 20px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .mb20 { margin-bottom: 10px !important; } }
@media screen and (max-width: 767px) and (min-width: 0) { .mb20 { margin-bottom: 10px !important; } }

.mb10 { margin-bottom: 10px; }

.mr20 { margin-right: 20px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .mr20 { margin-right: 2vw; } }
@media screen and (max-width: 767px) and (min-width: 0) { .mr20 { margin-right: 3vw; } }

.ml20 { margin-left: 20px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .ml20 { margin-left: 2vw; } }
@media screen and (max-width: 767px) and (min-width: 0) { .ml20 { margin-left: 3vw; } }

.pt60 { padding-top: 60px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .pt60 { padding-top: 30px !important; } }
@media screen and (max-width: 767px) and (min-width: 0) { .pt60 { padding-top: 20px !important; } }

.pt40 { padding-top: 40px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .pt40 { padding-top: 30px !important; } }
@media screen and (max-width: 767px) and (min-width: 0) { .pt40 { padding-top: 20px !important; } }

.pt20 { padding-top: 20px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .pt20 { padding-top: 15px !important; } }
@media screen and (max-width: 767px) and (min-width: 0) { .pt20 { padding-top: 10px !important; } }

.pt10 { padding-top: 10px; }

.pb60 { padding-bottom: 60px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .pb60 { padding-bottom: 30px; } }
@media screen and (max-width: 767px) and (min-width: 0) { .pb60 { padding-bottom: 20px; } }

.pb40 { padding-bottom: 40px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .pb40 { padding-bottom: 30px; } }
@media screen and (max-width: 767px) and (min-width: 0) { .pb40 { padding-bottom: 20px; } }

.pb30 { padding-bottom: 30px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .pb30 { padding-bottom: 10px; } }
@media screen and (max-width: 767px) and (min-width: 0) { .pb30 { padding-bottom: 10px; } }

.pb20 { padding-bottom: 20px; }
@media screen and (max-width: 768px) and (min-width: 768px) { .pb20 { padding-bottom: 10px; } }
@media screen and (max-width: 767px) and (min-width: 0) { .pb20 { padding-bottom: 10px; } }

.pb10 { padding-bottom: 10px; }

#wrapper { background: #fff; background-image: none !important; }

#header { width: 100%; background: none !important; border-bottom: 1px solid #fff; /*右上サブメニュー----------------------------------------------------------------------*/ /*グローバルメニュー--------------------------------------------------------------------*/ }
@media screen and (min-width: 0) and (max-width: 768px) { #header { box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.4); position: fixed; left: 0; right: 0; top: 0; z-index: 100; background: #fff !important; min-height: auto; border-bottom: 7px solid #0B61B7; /*-webkit-transform: translate3d(0px, 0px, 1px); -webkit-transition: .2s -webkit-transform ease-in-out; */ } }
@media screen and (min-width: 0) and (max-width: 768px) { #header.show { /*-webkit-transform: translate3d(240px, 0px, 1px);*/ min-width: 320px; } }
@media screen and (min-width: 0) and (max-width: 768px) { #header aside { top: 50px; } }
@media screen and (min-width: 0) and (max-width: 768px) { #header aside p { font-size: 0.625rem; } }
#header section { position: relative; }
@media screen and (min-width: 0) and (max-width: 768px) { #header section { min-width: 320px; padding-top: 10px; } }
@media screen and (min-width: 0) and (max-width: 768px) { #header section ol.smph_menu { position: absolute; top: 1px; left: 5px; display: block; } }
@media screen and (min-width: 0) and (max-width: 768px) { #header section ol.smph_menu a { width: 40px; height: 40px; display: block; text-indent: -9999px; background: url(/common/images/header/slidemenu.png) no-repeat; background-size: 40px auto; } }
#header h1, #header p.logo { position: absolute; top: 18px; left: 10px; z-index: 100; }
@media screen and (min-width: 0) and (max-width: 768px) { #header h1, #header p.logo { width: 100px; margin: 0 auto; position: static; } }
@media screen and (min-width: 990px) { #header h1, #header p.logo { left: calc(50vw - 990px / 2); } }
@media screen and (min-width: 0) and (max-width: 768px) { #header h1 img, #header p.logo img { width: 100px; height: auto; } }
#header ul.rightsub { max-width: 990px; margin-left: auto; margin-right: auto; text-align: right; height: 70px; font-size: .8rem; letter-spacing: -.3em; }
@media screen and (min-width: 991px) { #header ul.rightsub { right: calc(50vw - 990px / 2); } }
@media screen and (min-width: 768px) and (max-width: 990px) { #header ul.rightsub { font-size: 1.45vw; } }
@media screen and (min-width: 0) and (max-width: 768px) { #header ul.rightsub { display: none; } }
#header ul.rightsub li { display: inline-block; margin-top: 1.9em; padding-right: .8em; padding-left: .8em; line-height: 100%; border-left: 1px solid #000; letter-spacing: normal; }
#header ul.rightsub li:last-child { border-right: 1px solid #000; margin-right: 1px; }
@media screen and (max-width: 990px) { #header ul.rightsub li:last-child { margin-right: .5em; } }
#header ul.rightsub li a { color: #000; text-decoration: none; }
#header ul.rightsub li a:hover { text-decoration: underline; }
#header nav { background-color: #0b61b7; height: 30px; text-align: center; }
@media screen and (min-width: 0) and (max-width: 768px) { #header nav { display: none; } }
#header nav dl { max-width: 990px; margin-left: auto; margin-right: auto; white-space: nowrap; border-left: 1px solid #FFF; letter-spacing: -.5em; /* コンテンツメニュー*/ }
#header nav dl dt { display: inline-block; width: calc( 100% / 5); border-right: 1px solid #FFF; font-size: 14.8px; letter-spacing: .025em; vertical-align: top; }
@media screen and (min-width: 768px) and (max-width: 990px) { #header nav dl dt { font-size: 1.7vw; } }
#header nav dl dt a, #header nav dl dt span { display: block; height: 30px; line-height: 32px; text-decoration: none; color: #FFF; font-weight: bold; }
#header nav dl dt a:hover, #header nav dl dt span:hover { background-color: rgba(255, 255, 255, 0.2); }
#header nav dl dt .support1, #header nav dl dt .support2 { display: none; }
#header nav dl dt .support1 { top: 30px; border-top: 1px solid #FFF; }
#header nav dl dt .support2 { top: 62px; }
#header nav dl dt.support:hover .support1, #header nav dl dt.support:hover .support2 { display: block; height: 32px; line-height: 34px; position: absolute; width: 100%; z-index: 50; }
#header nav dl dt.support:hover { position: relative; height: 92px; background-color: #0b61b7; z-index: 50; }
#header nav dl dd { width: 990px; display: none; position: absolute; top: 37px; left: 0; }
#header nav dl dd ul { position: static; }
#header nav dl dd ul li { font-size: 0.8125rem; margin: 0; margin-left: 20px; padding: 0; border: none; position: relative; }
#header nav dl dd ul li:nth-of-type(1) { margin-left: 0; }
#header nav dl dd ul li a { padding-left: 10px; background: url(/common/images/bullet/arrowSmall/white.png) no-repeat 10px 15px; height: 35px; margin: 0; padding: 11px 10px 0 18px; display: block; color: #fff; }
#header nav dl dd ul li a:hover { padding-left: 10px; position: relative; padding: 11px 10px 0 18px; color: #cff; background: url(../images/spacer.gif); }
#header nav dl dd ul li a:hover:before { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); display: inline-block; width: 3px; height: 5px; position: absolute; top: 15px; left: 10px; content: ""; background: url(/common/images/bullet/arrowSmall/cyan.png) no-repeat; }
#header nav dl dd ul li.active a { padding-left: 10px; position: relative; padding: 11px 10px 0 18px; color: #cff; background: url(../images/spacer.gif); }
#header nav dl dd ul li.active a:before { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); display: inline-block; width: 3px; height: 5px; position: absolute; top: 15px; left: 10px; content: ""; background: url(/common/images/bullet/arrowSmall/cyan.png) no-repeat; }
#header ol.smph_menu { display: none; }

body.bs #header dt.bs a { box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.4); padding-left: 18px; /*「#fff」に変換されるため*/ position: relative; padding-left: 30px; background: #0B61B7; color: #fff !important; }
body.bs #header dt.bs a:before { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); display: inline-block; width: 13px; height: 13px; position: absolute; top: 12px; left: 10px; content: ""; background: url(/common/images/bullet/circleArrow/white.png) no-repeat; }
body.bs #header dt.bs a span { opacity: 0.95; }
body.bs #header dt.bs a:hover { padding-left: 18px; position: relative; padding-left: 30px; color: #cff !important; }
body.bs #header dt.bs a:hover:before { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); display: inline-block; width: 13px; height: 13px; position: absolute; top: 12px; left: 10px; content: ""; background: url(/common/images/bullet/circleArrow/cyan.png) no-repeat; }

body.es #header dt.es a { box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.4); padding-left: 18px; /*「#fff」に変換されるため*/ position: relative; padding-left: 30px; background: #0B61B7; color: #fff !important; }
body.es #header dt.es a:before { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); display: inline-block; width: 13px; height: 13px; position: absolute; top: 12px; left: 10px; content: ""; background: url(/common/images/bullet/circleArrow/white.png) no-repeat; }
body.es #header dt.es a span { opacity: 0.95; }
body.es #header dt.es a:hover { padding-left: 18px; position: relative; padding-left: 30px; color: #cff !important; }
body.es #header dt.es a:hover:before { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); display: inline-block; width: 13px; height: 13px; position: absolute; top: 12px; left: 10px; content: ""; background: url(/common/images/bullet/circleArrow/cyan.png) no-repeat; }

body.partner #header dt.partner a { box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.4); padding-left: 18px; /*「#fff」に変換されるため*/ position: relative; padding-left: 30px; background: #0B61B7; color: #fff !important; }
body.partner #header dt.partner a:before { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); display: inline-block; width: 13px; height: 13px; position: absolute; top: 12px; left: 10px; content: ""; background: url(/common/images/bullet/circleArrow/white.png) no-repeat; }
body.partner #header dt.partner a span { opacity: 0.95; }
body.partner #header dt.partner a:hover { padding-left: 18px; position: relative; padding-left: 30px; color: #cff !important; }
body.partner #header dt.partner a:hover:before { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); display: inline-block; width: 13px; height: 13px; position: absolute; top: 12px; left: 10px; content: ""; background: url(/common/images/bullet/circleArrow/cyan.png) no-repeat; }

body.support #header dt.support a { box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.4); padding-left: 18px; /*「#fff」に変換されるため*/ position: relative; padding-left: 30px; background: #0B61B7; color: #fff !important; }
body.support #header dt.support a:before { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); display: inline-block; width: 13px; height: 13px; position: absolute; top: 12px; left: 10px; content: ""; background: url(/common/images/bullet/circleArrow/white.png) no-repeat; }
body.support #header dt.support a span { opacity: 0.95; }
body.support #header dt.support a:hover { padding-left: 18px; position: relative; padding-left: 30px; color: #cff !important; }
body.support #header dt.support a:hover:before { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); display: inline-block; width: 13px; height: 13px; position: absolute; top: 12px; left: 10px; content: ""; background: url(/common/images/bullet/circleArrow/cyan.png) no-repeat; }

body.bs #header { height: 120px; border-bottom: 35px solid #0B61B7; }
body.bs #header dt.bs + dd { display: block; }

body.es #header { height: 120px; border-bottom: 35px solid #0B61B7; }
body.es #header dt.es + dd { display: block; }

body.company #header li:nth-of-type(1) a { text-decoration: underline; }

body.csr #header li:nth-of-type(2) a { text-decoration: underline; }

body.ir #header li:nth-of-type(3) a { text-decoration: underline; }

body.jobs #header li:nth-of-type(4) a { text-decoration: underline; }

body.contact #header li:nth-of-type(5) a { text-decoration: underline; }
