@charset "UTF-8";
/*=============================================================
 02_base
=============================================================*/
/*  02_base
================================================ */
html { overflow: auto; }

body { min-width: 320px; font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif; color: #333; font-size: 1.3rem; line-height: 1.8; letter-spacing: .05em; overflow: hidden; }

@media all and (min-width: 600px) { body { min-width: 1160px; font-size: 1.5rem; } }

a { color: #333; text-decoration: underline; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

@media all and (min-width: 600px) { a { -webkit-backface-visibility: hidden; backface-visibility: hidden; }
  a:hover { text-decoration: none; } }

.alpha { display: block; text-decoration: none; }

@media all and (min-width: 600px) { .alpha:hover { opacity: .7; } }

img { width: 100%; height: auto; }

span, em { font-weight: inherit; }

strong { font-weight: 700; }

.fontRoboto { font-family: 'Roboto', sans-serif; font-weight: 700; letter-spacing: .04em; }

.fontNotoSerif { font-family: 'Noto Serif JP', serif; font-weight: 700; letter-spacing: .04em; }

/* pc <--> sp
-------------------------------------- */
#mediaQuery { display: none; font-family: 'sp'; }

@media all and (min-width: 600px) { #mediaQuery { font-family: 'pc'; } }

@media all and (max-width: 599px) { .viewPc { display: none !important; } }

@media all and (min-width: 600px) { .viewSp { display: none !important; } }

/* clearfix
-------------------------------------- */
.cf:after { content: ''; display: block; clear: both; }

/*=============================================================
 03_layout
=============================================================*/
/* #breadcrumb
================================================ */
#breadcrumb { width: 1100px; margin: auto; padding-right: 0; padding-left: 0; }

#breadcrumb .list { padding: 23px 0 25px; }

#breadcrumb .list .item { display: inline-block; font-size: 1.5rem; }

#breadcrumb .list .item + .item { padding-left: 20px; position: relative; }

#breadcrumb .list .item + .item:before { content: ''; width: 5px; height: 5px; border: 0px; border-top: solid 2px #4f4f4f; border-right: solid 2px #4f4f4f; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; top: 50%; left: 3px; margin-top: -4px; }

#breadcrumb .list .item a { color: #016cb1; font-weight: bold; text-decoration: none; }

/* #cv
================================================ */
#cv { position: relative; background: url(../../img/common/bg_cv_sp.png) no-repeat left 50% bottom -70px/100%; text-align: center; }

#cv .inner { position: relative; padding-top: 45px; padding-bottom: 100px; }

#cv .line { top: -50px; left: 50%; margin-left: -50px; }

#cv .copy { font-size: 1.4rem; letter-spacing: .25em; font-weight: 400; }

#cv .en { margin-top: 5px; font-size: 3rem; line-height: 1.3; }

#cv .listBtn { margin-top: 23px; font-size: 1.5rem; }

#cv .listBtn .btn + .btn { margin-top: 15px; }

#cv .listBtn .btn a { display: block; padding: 15px; color: #fff; font-weight: 500; text-decoration: none; }

#cv .listBtn .btn a:after { position: relative; top: -2px; content: ""; display: inline-block; background: no-repeat center/contain; width: 15px; height: 15px; margin-left: 10px; vertical-align: middle; }

#cv .listBtn .btn.is-ico-download a:after { background-image: url("../../img/common/ico_download01.png"); }

#cv .listBtn .btn.is-ico-mail a:after { background-image: url("../../img/common/ico_mail01.png"); }

@media all and (min-width: 600px) { #cv { background: url("../../img/common/bg_cv.png") no-repeat center top/cover; }
  #cv .bg { position: absolute; bottom: 0; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 100%; min-width: 1920px; height: 687px; }
  #cv .inner { position: relative; height: 687px; padding: 0; }
  #cv .line { top: 0; margin-left: -100px; }
  #cv .areaTxt { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: calc(100% - 120px); padding: 0 0 34px; }
  #cv .copy { font-size: 2.2rem; letter-spacing: .25em; }
  #cv .en { margin-top: -5px; font-size: 4.8rem; letter-spacing: .04em; }
  #cv .listBtn { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 28px -10px 0; font-size: 2rem; line-height: 1.5; }
  #cv .listBtn .btn { width: calc(50% - 20px); margin: 0 10px; background: #fff; }
  #cv .listBtn .btn + .btn { margin-top: 0; }
  #cv .listBtn .btn a { box-sizing: border-box; height: 90px; padding: 31px; font-weight: 700; }
  #cv .listBtn .btn a:hover { color: #ffe156; }
  #cv .listBtn .btn a:after { width: 30px; height: 30px; }
  #cv .listBtn .btn.is-ico-download a:hover:after { background-image: url("../../img/common/ico_download01_yellow.png"); }
  #cv .listBtn .btn.is-ico-mail a:hover:after { background-image: url("../../img/common/ico_mail01_yellow.png"); } }

/*  #gFooter
================================================== */
#gFooter { background: #102841; color: #fff; }

#gFooter a { color: inherit; }

#gFooter .inner { padding-top: 40px; padding-bottom: 50px; }

#gFooter .sliderWrap { margin: 0 -18px; padding-right: 1px; }

#gFooter .slick-list { overflow: inherit; }

#gFooter .slide { box-sizing: border-box; padding: 0 5px; }

#gFooter .content { margin-top: 40px; }

#gFooter .areaLogo { position: relative; margin: 0 -18px; padding: 40px 18px 35px; border-style: solid; border-width: 1px 0; border-color: #3a4d61; }

#gFooter .areaLogo .logo { width: 140px; }

#gFooter .areaLogo .pagetop { text-align: center; position: absolute; top: 50%; right: 7px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); font-size: 1rem; }

#gFooter .areaLogo .pagetop a { position: relative; display: block; padding-bottom: 44px; color: #fff; text-decoration: none; }

#gFooter .areaLogo .pagetop a:before { box-sizing: border-box; position: absolute; left: 50%; bottom: 0; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); content: ""; display: block; width: 26px; height: 26px; border-radius: 50%; border: 1px solid #016cb1; }

#gFooter .areaLogo .pagetop a:after { position: absolute; top: 18px; bottom: 14px; left: 50%; content: ""; display: block; width: 1px; background: #fff; }

#gFooter .ftBtm { padding-top: 30px; text-align: center; }

#gFooter .ftBtm .cr { font-size: 1.2rem; opacity: .3; }

#gFooter .ftBtm .cr small { font-weight: 700; }

#gFooter .ftBtm .copy { margin-top: 3px; font-size: 1.1rem; opacity: .3; }

#gFooter .ftBtm .ico { width: 194px; margin: 20px auto 0; }

@media all and (min-width: 600px) { #gFooter a { text-decoration: none; }
  #gFooter a:hover { color: #1cacda; }
  #gFooter .inner { padding-bottom: 50px; }
  #gFooter .sliderWrap { margin: 0; padding-right: 0; }
  #gFooter .slider { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  #gFooter .slide { width: 250px; padding: 0; margin: 0 15px; }
  #gFooter .content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 29px 0 0; border-top: 1px solid #3a4d61; }
  #gFooter .areaLogo { width: 246px; padding: 0; margin: 0; border: 0; }
  #gFooter .areaLogo .logo { width: 150px; }
  #gFooter .areaLogo .pagetop { position: fixed; top: auto; bottom: 30px; right: 30px; z-index: 100; font-size: 1.1rem; opacity: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #gFooter .areaLogo .pagetop.is_view { opacity: 1; }
  #gFooter .areaLogo .pagetop a { padding-bottom: 55px; color: #016cb1; }
  #gFooter .areaLogo .pagetop a:before { width: 30px; height: 30px; }
  #gFooter .areaLogo .pagetop a:after { top: 26px; background: #016cb1; }
  #gFooter .areaLogo .pagetop.is_white a { color: #fff; }
  #gFooter .areaLogo .pagetop.is_white a:after { background: #fff; }
  #gFooter .sitemap { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-top: 10px; width: calc(100% - 246px); font-size: 1.3rem; }
  #gFooter .sitemap .item:nth-child(1) { width: 176px; }
  #gFooter .sitemap .item:nth-child(2) { width: 220px; }
  #gFooter .sitemap .item:nth-child(3) { width: 230px; }
  #gFooter .sitemap .item:nth-child(4) { width: calc(100% - 176px - 250px - 200px); }
  #gFooter .sitemap .child { margin-bottom: 10px; padding: 5px 6px; font-size: 1.2rem; }
  #gFooter .sitemap .parent{ padding-bottom: 3px; }
  #gFooter .sitemap .childItem + .childItem { margin-top: 6px; }
  #gFooter .sitemap .childItem a { position: relative; padding-left: 10px; }
  #gFooter .sitemap .childItem a:before { position: absolute; top: 9.5px; left: 0; content: ""; display: block; width: 3px; height: 1px; background: #fff; }
  #gFooter .ftBtm { position: relative; padding-top: 47px; text-align: left; }
  #gFooter .ftBtm .cr { font-size: 1.4rem; letter-spacing: .04em; }
  #gFooter .ftBtm .copy { margin-top: 3px; font-size: 1.2rem; letter-spacing: .04em; }
  #gFooter .ftBtm .ico { position: absolute; top: 23px; right: 0; width: 198px; margin: 20px auto 0; } }

/* #gHeader
================================================ */
#gHeader { position: fixed; top: 0; left: 0; z-index: 1001; width: 100%; height: 50px; box-sizing: border-box; background: #016cb1; border-bottom: 1px solid  #0f7cbb; }

#gHeader:after { content: ''; display: table; clear: both; }

#gHeader.is_hide { background: #016cb1; }

#gHeader .logo { position: absolute; top: 8px; left: 8px; width: 89px; z-index: 1002; background: no-repeat left center/89px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

#gHeader .logo img { -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

#gHeader.is_open { background: #016cb1; }

#gHeader.is_open .logo { display: none; }

#gHeader .btnGnav { position: relative; float: right; z-index: 1002; width: 50px; height: 50px; background: #0174bd; cursor: pointer; }

#gHeader .btnGnav .line { position: absolute; top: 50%; left: 50%; width: 18px; height: 2px; margin: -5px 0 0 -9px; content: ''; background: #fff; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

#gHeader .btnGnav .line:nth-child(1) { margin-top: -11px; }

#gHeader .btnGnav .line:nth-child(3) { margin-top: 1px; }

#gHeader .btnGnav .txt { position: absolute; left: 50%; bottom: 5px; transform: translateX(-50%); color: #fff; font-size: 1rem; line-height: 1; }
#gHeader .btnGnav.is_open .line:nth-child(1) { margin-top: -5px; -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }

#gHeader .btnGnav.is_open .line:nth-child(2) { opacity: 0; }

#gHeader .btnGnav.is_open .line:nth-child(3) { margin-top: -5px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

@media all and (min-width: 600px) { #gHeader { position: fixed; top: 0; right: 0; height: 95px; background: #fff; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #gHeader.is_hide { background: #fff; }
  #gHeader .logo { top: 14px; left: 11px; width: 154px; height: 53px; background: no-repeat left center/154px; }
  #gHeader.is_open_pc_gnav .logo { display: none; background-image: url("../img/common/logo02.png"); }
  #gHeader.is_open_pc_gnav .logo img { opacity: 0; }
  #gHeader.is_open_pc_gnav .language { display: none; }
  #gHeader .btnGnav { position: absolute; top: 20px; right: 30px; width: 55px; height: 55px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #gHeader .btnGnav .line { width: 20px; margin: -5px 0 0 -10px; }
  #gHeader .btnGnav .line:nth-child(1) { margin-top: -11px; }
  #gHeader .btnGnav .line:nth-child(3) { margin-top: 1px; }
  #gHeader .btnGnav.is_open .line:nth-child(1) { margin-top: -5px; -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }
  #gHeader .btnGnav.is_open .line:nth-child(3) { margin-top: -5px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
}
/* #gNav
================================================ */
#gNav { box-sizing: border-box; position: fixed; top: 0; right: 0; left: 0; z-index: 1000; width: 100%; max-height: 100vh; background: #fff; overflow: scroll; padding: 50px 0 100px; display: none; -webkit-overflow-scrolling: touch; }

#gNav::-webkit-scrollbar { display: none; }

@media all and (min-width: 600px) { #gNav { box-sizing: border-box; right: 0; left: auto; display: block; padding: 0 100px 0 0; background-color: transparent; overflow: inherit; } }

/*  #gNav .list
================================================== */
#gNav .list { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; color: #016cb1; border-bottom: 1px solid #e2e2e2; }

#gNav .list:after { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; content: ""; display: block; background: #e2e2e2; }

#gNav .list a { display: block; text-decoration: none; color: inherit; }

#gNav .list .item { box-sizing: border-box; width: 50%; border-style: solid; border-width: 1px 0 0; border-color: #e2e2e2; }

#gNav .list .item.is_full_width { width: 100%; }

#gNav .list .parent { font-size: 1.3rem; }

#gNav .list .parent .txt { padding: 13px 18px; cursor: pointer; }

#gNav .list .child { border-top: 1px solid #e2e2e2; }

#gNav .list .child .childItem + .childItem { border-top: 1px solid #e2e2e2; }

#gNav .list .child .childParent { position: relative; z-index: 1; background: #f2f8fb; font-size: 1.3rem; border-bottom: 1px solid #e2e2e2; }

#gNav .list .child .childParent .txt { display: inline-block; padding: 13px 18px; }

#gNav .list .child .childParent .ico { position: absolute; top: 50%; right: 18px; display: block; width: 22px; height: 22px; margin-top: -11px; background: #eee; cursor: pointer; }

#gNav .list .child .childParent .ico:before, #gNav .list .child .childParent .ico:after { position: absolute; top: 50%; left: 50%; content: ""; display: block; width: 10px; height: 2px; margin: -1px 0 0 -5px; background: #016cb1; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

#gNav .list .child .childParent .ico:after { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); }

#gNav .list .child .childParent .ico.is_active:after { -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); }

#gNav .list .childList { position: relative; z-index: 1; display: none; padding: 10px 18px; background: #f2f8fb; font-size: 1.2rem; }

#gNav .list .childList .childListItem + .childListItem { margin-top: 5px; }

#gNav .list .childList .childListItem a { position: relative; padding-left: 15px; }

#gNav .list .childList .childListItem a:before { position: absolute; top: 6px; left: 0; content: ""; display: block; width: 8px; height: 8px; background: url("../img/common/ico_arw01.png") no-repeat center/contain; }

@media all and (min-width: 600px) { #gNav .list { position: static; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; color: #333333; border-bottom: 0; }
  #gNav .list:after { display: none; }
  #gNav .list a { display: block; text-decoration: none; color: inherit; }
  #gNav .list a[target]:after { content: ""; display: inline-block; width: 12px; height: 10px; margin-left: 8px; background: url("../img/common/ico_blank01_blue.png") no-repeat center/contain; }
  #gNav .list .item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; width: auto; border-width: 0; }
  #gNav .list .item.is_full_width { width: auto; }
  #gNav .list .btn { width: 220px; padding-left: 10px; }
  #gNav .list .btn .txt { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; height: 55px; font-size: 1.5rem; color: #fff; }
  #gNav .list .btn .txt:hover { color: #ffe156; }
  #gNav .list .item.is_contact .btn { width: 170px; }
  #gNav .list .item.is_contact .btn .txt { color: #016cb1; }
  #gNav .list .item.is_download .btn a::before { content: ''; position: relative; display: inline-block; vertical-align: middle; margin-right: 6px; width: 17px; height: 17px; background: url(../../img/common/ico_download01.png) no-repeat center / contain; }
  #gNav .list .item.is_contact .btn a::before { content: ''; position: relative; display: inline-block; vertical-align: middle; margin-right: 6px; width: 17px; height: 17px; background: url(../../img/common/ico_mail01_blue.png) no-repeat center / contain;
  }
  #gNav .list .item.is_contact .btn a:hover { color: #1cacda; }
  #gNav .list .parent { font-size: 1.5rem; }
  #gNav .list .parent .txt { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0 16px; height: 95px; font-weight: 700; }
  #gNav .list .parent .txt:hover { color: #1cacda; }
  #gNav .list .childWrap { position: absolute; top: 75px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); background: #016cb1; width: 100%; min-width: 1100px; max-height: calc(100vh - 80px); padding: 50px 0 60px; overflow: auto; pointer-events: none; opacity: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; box-sizing: border-box; }
  #gNav .list .hoverTrigger:hover .childWrap { pointer-events: auto; opacity: 1; }
  #gNav .list .childInner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 1100px; margin: auto; }
  #gNav .list .areaHead { width: calc(100% - 900px); }
  #gNav .list .areaHead .en { font-size: 1.5rem; line-height: 1; color: #fff; }
  #gNav .list .areaHead .tit { position: relative; padding-bottom: 13px; font-size: 2.5rem; color: #fff; }
  #gNav .list .areaHead .tit:after { position: absolute; bottom: 0; left: 0; content: ""; display: block; width: 60px; height: 2px; background: #1cacda; }
  #gNav .list .btn01 a { display: block; color: #fff; font-weight: bold; padding: 10px; border: solid 1px #fff; text-align: center; margin-top: 30px; width: 170px; box-sizing: border-box; }
  #gNav .list .btn01 a:hover { color: #ffe156; }
  #gNav .list .child { width: 900px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; -ms-flex-wrap: wrap; flex-wrap: wrap; border: 0; color: #333; }
  #gNav .list .child .childItem { box-sizing: border-box; max-width: 280px; flex: 1; padding: 0 30px 22px; background: #fff; box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.15); overflow: hidden; }
  #gNav .list .child .childItem + .childItem { margin: 0 0 0 16px; border: 0; }
  #gNav .list .child .bnr { margin: 0 -30px; }
  #gNav .list .child .bnr img { margin-top: -1px; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
  #gNav .list .child .childParent { margin-top: 20px; background: transparent; border-bottom: 0; }
  #gNav .list .child .childParent .txt { position: relative; padding: 0 0 0 25px; font-weight: 700; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #gNav .list .child .childParent .txt:hover { color: #016cb1; }
  #gNav .list .child .childParent .txt:before { position: absolute; top: 4px; left: 0; content: ""; display: block; width: 14px; height: 14px; background: url("../../img/common/ico_arw01.png") no-repeat center/contain; }
  #gNav .list .child .childParent .ico { display: none; }
  #gNav .list .childList { display: block; padding: 8px 0 0 16px; background: transparent; font-size: 1.3rem; }
  #gNav .list .childList:before { position: absolute; top: 6px; bottom: 6px; left: 7px; content: ""; display: block; width: 1px; background: #016cb1; }
  #gNav .list .childList .childListItem + .childListItem { margin-top: 5px; }
  #gNav .list .childList .childListItem a { position: relative; padding-left: 10px; font-weight: 700; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #gNav .list .childList .childListItem a:hover { color: #016cb1; }
  #gNav .list .childList .childListItem a:before { top: 12px; width: 3px; height: 1px; background: #016cb1; }
  #gNav .list .company { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
  #gNav .list .company .childList { padding: 0 0 0 30px; }
  #gNav .list .company .childList .childListItem a { color: #fff; }
  #gNav .list .company .childList .childListItem a:hover { color: #ffe156; }
  #gNav .list.listExclusive .item { position: relative; }
  #gNav .list.listExclusive .item .txt { position: relative; text-align: center; line-height: 1.3;}
  #gNav .list.listExclusive .item:first-child .parent .txt:before { left: -10px; }
  #gNav .list.listExclusive .item .childWrap {
    width: 100%;
    min-width: 234px;
    padding: 30px 18px;
    box-sizing: border-box;
    color: #fff;
}
  #gNav .list.listExclusive .item .childInner { width: 100%; }
  #gNav .list.listExclusive .item .childInner { width: 100%; }
  #gNav .list.listExclusive .item .secondaryListItem { font-size: 1.4rem; }
  #gNav .list.listExclusive .item .secondaryListItem + .secondaryListItem { margin-top: 1em; }
　#gNav .list.listExclusive .item.itemPackage .secondaryListItem a { text-indent: -2em; padding-left: 2em; }
  #gNav .list.listExclusive .item.itemPackage .secondaryListItem a {
      padding-left: 2em;
      text-indent: -2em;
  }
  #gNav .list.listExclusive .item .secondaryListItem a::before { content: ''; position: relative; top: -1px; display: inline-block; vertical-align: middle; width: 14px; height: 14px; margin-right: 10px;  background: url(../../img/common/ico_arw02.png) no-repeat center / contain; }
  #gNav .list.listExclusive .item .secondaryListItem a:hover { color: #ffe156;}
  #gNav .list.listExclusive .itemBtn { padding: 0; }
  #gNav .list.listExclusive .item.is_download .btn { width: 220px; }
  #gNav .list.listExclusive .item.is_download .btn a::before { content: ''; position: relative; display: inline-block; vertical-align: middle; margin-right: 6px; width: 17px; height: 17px; background: url(../../img/common/ico_download01.png) no-repeat center / contain; }
  #gNav .list.listExclusive .item.is_contact .btn a { color: #016cb1; }
  #gNav .list.listExclusive .item.is_contact .btn a::before { content: ''; position: relative; display: inline-block; vertical-align: middle; margin-right: 6px; width: 17px; height: 17px; background: url(../../img/common/ico_mail01_blue.png) no-repeat center / contain; }
  #gNav .list.listExclusive .item.is_contact .btn a:hover { color: #fff;}

}

#gNav .navBr {
  display: none;
}
@media (min-width: 600px) and (max-width: 1365px) {
  #gNav .navBr { display: block; }
  #gNav .list .parent .txt { text-align: center; line-height: 1.5;}
}
@media (min-width: 600px) and (max-width: 1280px) {
  #gNav .list .parent .txt { padding: 0 8px; }
  #gNav .list .btn .txt { flex-direction: column; }
  #gNav .list .item.is_download .btn { width: 90px; }
  #gNav .list .item.is_download .btn .txt { font-size: 1.3rem; }
  #gNav .list .item.is_download .btn .txt span { display: none; }
  #gNav .list .item.is_download .btn a::before { margin-right: 0; }
  #gNav .list .item.is_contact .btn { width: 90px; }
  #gNav .list .item.is_contact .btn .txt { font-size: 1.3rem; }
  #gNav .list .item.is_contact .btn a::before { margin-right: 0; }
  #gNav .list.listExclusive .item:not(.itemBtn) .txt { padding: 0 8px;}
  #gNav .list.listExclusive .item.is_download .btn { width: 90px; }
  #gNav .list.listExclusive .item.is_download .btn a::before { margin-right: 0; }
  #gNav .list.listExclusive .item.is_contact .btn a::before { margin-right: 0; }
  #gNav .list a[target]:after { display: none !important; }
  .viewTb { display: none; }
}
@media (min-width: 600px) and (max-width: 1180px) {
  #gNav .list .childWrap { min-width: auto; }
  #gNav .list .childInner { width: calc(100% - 60px);}
  #gNav .list .areaHead { width: 180px; margin-right: 40px; }
  #gNav .list .child { width: auto; flex: 1; }
  #gNav .list .childWrap.is_solution .areaHead { display: flex; align-items: flex-end; width: 100%; margin: 0 0 30px; }
  #gNav .list .childWrap.is_solution .areaHead .areaHeadIn { margin-right: 40px; }
  #gNav .list .childWrap.is_solution .areaHead .btnWrap { display: flex; }
  #gNav .list .childWrap.is_solution .areaHead .btnWrap .btn01 {margin-right: 20px; }
  #gNav .list .childWrap.is_solution .areaHead .btnWrap .btn01 a { margin-top: 0; }
  #gNav .list .childWrap.is_solution .child { justify-content: flex-start; }
  #gNav .list .child .bnr { height: 100px; }
  #gNav .list .child .bnr a { height: 100%; }
  #gNav .list .child .bnr img { height: 100%; object-fit: cover; }

}
@media (min-width: 600px) and (max-width: 1000px) {
  #gHeader .logo { width: 110px; background-size: contain; }
  #gHeader .btnGnav { right: 10px; }
  #gNav { padding-right: 75px; }
  #gNav .list .parent { font-size: 1.3rem; }
  #gNav .list .parent .txt { padding: 0 5px; flex-direction: column; }
  #gNav .list .btn { padding-left: 5px; }
  #gNav .list .item.is_download .btn { width: 65px; }
  #gNav .list .item.is_download .btn .txt { font-size: 1.2rem; }
  #gNav .list .item.is_contact .btn { width: 65px; }
  #gNav .list .item.is_contact .btn .txt { font-size: 1.2rem; }
}
@media (min-width: 600px) and (max-width: 751px) {
  #gNav .list .item {opacity: 0; pointer-events: none; }
}

#gNav.is_open { background: #0074bc; }

@media all and (min-width: 600px) { #gNav.is_open .list { display: none; }
  #gNav.is_open .list .item { display: none; padding: 20px 0; }
  #gNav.is_open .list .item.is_contact, #gNav.is_open .list .item.is_download { display: -webkit-box; display: -ms-flexbox; display: flex; }
  #gNav.is_open .list .item.is_contact { width: 190px; padding-left: 20px; }
  #gNav.is_open .list .item.is_contact .parent { width: 100%; }
  #gNav.is_open .list .item.is_contact .txt { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; height: 55px; font-size: 1.5rem; }
  #gNav.is_open .list .item.is_download .btn { padding-left: 10px; } }

/*  #gNav .gMenu
================================================== */
#gNav .gMenu { color: #fff; }

#gNav .gMenu a { color: inherit; text-decoration: none; }

#gNav .gMenu .gMenuItem + .gMenuItem { margin-top: 16px; }

#gNav .gMenu .gMenuItem.gMenuExclusive { margin-bottom: 32px; }

#gNav .gMenu .gMenuParent { font-size: 1.7rem; border-bottom: 1px solid #1cacda; position: relative; }

#gNav .gMenu .gMenuParent .txt { position: relative; display: block; padding: 5px 18px; }

#gNav .gMenu .gMenuParent .txt:after { position: absolute; top: calc(50% + 1px); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); margin-left: 18px; font-size: 1rem; content: attr(data-en); font-family: 'Roboto', sans-serif; font-weight: 700; letter-spacing: .04em; color: #ffe156; }

#gNav .gMenu .gMenuParent .btn { padding: 0 18px 20px;}

#gNav .gMenu .gMenuParent .btn a { font-size: 1.2rem; padding: 2px 5px; box-sizing: border-box; border: solid 1px #fff; }

#gNav .gMenu .gMenuChild { padding: 0 18px; }

#gNav .gMenu .gMenuChildParent { padding-top: 15px; font-size: 1.4rem; }

#gNav .gMenu .gMenuChildParent .txt { font-weight: 700; }

#gNav .gMenu .gMenuChildList { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; font-size: 1.3rem; line-height: 1.54; }

#gNav .gMenu .gMenuChildListItem { box-sizing: border-box; }

#gNav .gMenu .gMenuChildList.is_full_width .gMenuChildListItem { width: 100%; }

#gNav .gMenu .gMenuChildListItem:nth-child(odd) { width: calc(50% + 10px); }

#gNav .gMenu .gMenuChildListItem:nth-child(even) { width: calc(50% - 10px); }

#gNav .gMenu .gMenuChildListItem a { position: relative; display: block; padding: 5px 0 5px 12px; }

#gNav .gMenu .gMenuChildListItem a:before { position: absolute; top: 15px; left: 2px; display: block; width: 3px; height: 1px; content: ""; background: #fff; }

#gNav .gMenu .gMenuSub { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 20px; padding: 30px 18px 0; font-size: 1.3rem; line-height: 1.54; border-top: 1px solid #1cacda; }

#gNav .gMenu .gMenuSub .gMenuSubItem { box-sizing: border-box; }

#gNav .gMenu .gMenuSub .gMenuSubItem:nth-child(odd) { width: calc(50% + 10px); }

#gNav .gMenu .gMenuSub .gMenuSubItem:nth-child(even) { width: calc(50% - 10px); }

#gNav .gMenu .gMenuSub .gMenuSubItem a { position: relative; display: block; padding: 5px 0 5px 12px; }

#gNav .gMenu .gMenuSub .gMenuSubItem a:before { position: absolute; top: 15px; left: 2px; display: block; width: 3px; height: 1px; content: ""; background: #fff; }

#gNav .gMenu .gMenuSub .gMenuBtn { width: 100%; margin-top: 25px; }

#gNav .gMenu .gMenuSub .gMenuBtn a { display: block; padding: 17px; text-decoration: none; color: #fff; text-align: center; font-size: 1.5rem; font-weight: 500; }

#gNav .gMenu .gMenuChildBtn { width: 100%; margin-top: 25px; }

#gNav .gMenu .gMenuChildBtn a { display: block; padding: 17px; text-decoration: none; color: #016cb1; text-align: center; font-size: 1.5rem; font-weight: 500; }

#gNav .gMenu .gMenuChildBtn a::before { content: ""; position: relative; top: -3px; display: inline-block; vertical-align: middle; width: 40px; height: 21px; background: url(../img/common/ico_mail01_blue.png) no-repeat center / contain; }

@media all and (min-width: 600px) { #gNav .gMenu { display: none; }
  #gNav .gMenu .gMenuItem + .gMenuItem { margin-top: 16px; }
  #gNav .gMenu .gMenuParent { font-size: 1.7rem; border-bottom: 1px solid #1cacda; }
  #gNav .gMenu .gMenuParent .txt { position: relative; display: block; padding: 5px 18px; }
  #gNav .gMenu .gMenuParent .txt:after { position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); left: 158px; font-size: 1rem; content: attr(data-en); font-family: 'Roboto', sans-serif; font-weight: 700; letter-spacing: .04em; color: #ffe156; }
  #gNav .gMenu .gMenuChild { padding: 0 18px; }
  #gNav .gMenu .gMenuChildParent { padding-top: 15px; font-size: 1.4rem; }
  #gNav .gMenu .gMenuChildParent .txt { font-weight: 700; }
  #gNav .gMenu .gMenuChildList { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; font-size: 1.3rem; line-height: 1.54; }
  #gNav .gMenu .gMenuChildListItem { box-sizing: border-box; }
  #gNav .gMenu .gMenuChildListItem:nth-child(odd) { width: calc(50% + 10px); }
  #gNav .gMenu .gMenuChildListItem:nth-child(even) { width: calc(50% - 10px); }
  #gNav .gMenu .gMenuChildListItem a { position: relative; display: block; padding: 5px 0 5px 12px; }
  #gNav .gMenu .gMenuChildListItem a:before { position: absolute; top: 15px; left: 2px; display: block; width: 3px; height: 1px; content: ""; background: #fff; }
  #gNav .gMenu .gMenuSub { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 20px; padding: 30px 18px 0; font-size: 1.3rem; line-height: 1.54; border-top: 1px solid #1cacda; }
  #gNav .gMenu .gMenuSub .gMenuSubItem { box-sizing: border-box; }
  #gNav .gMenu .gMenuSub .gMenuSubItem:nth-child(odd) { width: calc(50% + 10px); }
  #gNav .gMenu .gMenuSub .gMenuSubItem:nth-child(even) { width: calc(50% - 10px); }
  #gNav .gMenu .gMenuSub .gMenuSubItem a { position: relative; display: block; padding: 5px 0 5px 12px; }
  #gNav .gMenu .gMenuSub .gMenuSubItem a:before { position: absolute; top: 15px; left: 2px; display: block; width: 3px; height: 1px; content: ""; background: #fff; }
  #gNav .gMenu .gMenuSub .gMenuBtn { width: 100%; margin-top: 25px; }
  #gNav .gMenu .gMenuSub .gMenuBtn a { display: block; padding: 17px; text-decoration: none; color: #fff; text-align: center; font-size: 1.5rem; font-weight: 500; }
}

/*  #gNav .mglist
================================================== */ 
#gNav .mglistParent{
	flex: 1; 
  display: flex;
  gap: 5px;
  flex-direction: column;
  gap: 25px;
  padding-left: 10px;
  min-width: 890px;
}
#gNav .mglistParentItem{
  margin-bottom: 10px;
}
#gNav .mglistParentItem a{
  color: #fff !important;
}
#gNav .mglistParentItem a:hover{
  color: #ffe156 !important;
} 
#gNav .mghead{
  font-weight: 700;
  font-size: 1.8rem;
  margin-bottom: 8px;
}
#gNav .mghead a{
  position: relative;
  padding-left: 25px;
  display: inline-block;
}
#gNav .mghead a:after{
  content: "";
  position: absolute;
  left: 0;
  top: 55%;
  transform: translateY(-50%) rotate(-90deg);
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url(../../img/common/ico_arw02.png) no-repeat center / contain;
}
#gNav .mglist{
	display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
#gNav .mgitem{
	width: calc((100% - 40px)*0.333) ;
  line-height: 1.6;
  letter-spacing: .02em;
  font-size: 1.6rem;
}
#gNav .mgitem.is-min{
  font-size: 1.4rem;
  letter-spacing: -.05em;
  line-height: 1.8;
}
#gNav .mgitem a{
  display: block;
  padding: 0 0 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3); 
  position: relative;
}
#gNav .mgitem a:before{
  content: "";
  display: block;
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 5px;
  height: 5px;
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  border-right: 1px solid rgba(255, 255, 255, 0.8);
}
#gNav .mgitem a[target]:after{
  display: none !important;
}
#gNav .mgitem a[target]:before{
  background: url(../../img/common/ico_blank01.png) no-repeat center / contain;
  width: 12px !important;
  height: 10px !important;
  border: 0;
  transform: translateY(-50%);
  opacity: 0.6;
}
#gNav .mgitem .sub{
	font-size: 1.2rem;
  letter-spacing: 0;
}
#gNav .mgitem .sub.is-min{
	font-size: 1.1rem;
  letter-spacing: -.03em;
}

/*  #subNav
================================================== */ 
@media (min-width: 600px) {
  #subNav {
    background: #e5f0f7;
    position: fixed;
    width: 100%;
    top: 95px;
    z-index: 1000;
    transition: top 0.3s ease;
  }
  #subNav .list{
    display: flex;
    justify-content: center;
    font-weight: 700;
  }
  #subNav .list .item{
    position: relative;z-index: 2;
    text-align: center;
    line-height: 1.5;
  }
  #subNav .list .item .parent .txt,
  #subNav .list .item .parent a{
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.4;
    height: 60px;
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #016cb1;
    padding: 0 20px;
    transition: height 0.3s ease;
  }
  #subNav .list .item .parent .txt:after,
  #subNav .list .item .parent a:after{
    bottom: 0; left: 50%; content: ""; display: block; width: 1px; height: 11px; background: #016cb1; position: absolute;
  }

  #subNav .list .item .parent a:hover{
    background: #016cb1;
    color: #fff;
  }
  #subNav .list .item .parent a:hover:after{
    background: #fff;
  }
  #subNav .list .childWrap {
    position: absolute;
    top: 55px;
    left: 50%;
    transform: translateX(-50%);
    background: #016cb1;
    width: 100%;
    min-width: 270px;
    max-height: calc(100vh - 80px);
    overflow: auto;
    pointer-events: none;
    opacity: 0;
    transition: all 0.3s ease;
    padding: 20px 20px;
    box-sizing: border-box;
    color: #fff;
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.15);
    border-radius: 3px;
    text-align: left;
  }
  #subNav .list .hoverTrigger:hover .childWrap {
    pointer-events: auto; opacity: 1;
  }
  #subNav .list.listExclusive .item .secondaryListItem {
    font-size: 1.4rem;
  }
  #subNav .list.listExclusive .item .secondaryListItem + .secondaryListItem {
  }
  #subNav .list.listExclusive .item .secondaryListItem a {
    color: #fff;
    text-decoration: none;
    line-height: 1.5;
    text-indent: -1.6em;
    padding: 10px 0 10px 2em;
    display: block;
  }
  #subNav .list.listExclusive .item .secondaryListItem a::before { content: ''; position: relative; top: -1px; display: inline-block; vertical-align: middle; width: 14px; height: 14px; margin-right: 10px;  background: url(../../img/common/ico_arw02.png) no-repeat center / contain; }
  #subNav .list.listExclusive .item .secondaryListItem a:hover { color: #ffe156;}
  #subNav + #mainImg{margin-top: calc(95px + 60px);}
  .is_sticky #subNav {
    top: 80px;
  }
  .is_sticky #subNav .list .item .parent .txt,
  .is_sticky #subNav .list .item .parent a{
  }
  .is_sticky #subNav .list .childWrap {
  }
}
@media (min-width: 600px) and (max-width: 751px) {
  #subNav .list .item .parent .txt,
  #subNav .list .item .parent a{
    font-size: 1.3rem;
    padding: 0 12px;
  }
}
/*  #gHeader .language
================================================== */
#gHeader .language { margin-top: 15px; letter-spacing: -.5em; text-align: center; font-size: 1.3rem; }

#gHeader .language .item { display: inline-block; letter-spacing: .06em; color: #016cb1; }

#gHeader .language .item.is_en { color: #333333; }

#gHeader .language .item.is_en:before { margin: 0 7px; content: "/"; color: #016cb1; }

@media all and (min-width: 600px) { #gHeader .language { position: absolute; top: 22px; left: 200px; z-index: 1002; opacity: 0; pointer-events: none; } }

@media all and (min-width: 1280px) { #gHeader .language { opacity: 1; pointer-events: all; } }

/*  #gnavPc
================================================== */
#gnavPc { box-sizing: border-box; position: absolute; top: 0; left: 0; z-index: 999; display: none; width: 100%; height: 100vh; background: #016cb1 url(../img/common/bg_gnavi_pc.png) no-repeat left bottom; color: #fff; }

#gnavPc .inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 1100px; height: 100%; overflow: auto; margin: auto; }

#gnavPc .inner::-webkit-scrollbar { display: none; }

#gnavPc a { color: inherit; text-decoration: none; }

#gnavPc a:hover { color: #ffe156; }

#gnavPc .gMenu { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; width: 100%; padding-top: 20px; padding-bottom: 50px; }

#gnavPc .gMenu.has_exclusive .gMenuItem.gMenuExclusive { margin-top: 0; }

#gnavPc .gMenu.has_exclusive .gMenuSub { padding-top: 300px; }

#gnavPc .gMenu .gMenuList { width: calc(100% - 350px - 50px); }

#gnavPc .gMenu .gMenuItem + .gMenuItem { margin-top: 18px; }

#gnavPc .gMenu .gMenuItem.gMenuExclusive .gMenuChildItem {flex: 0 1 auto; width: auto; padding-right: 0;}
#gnavPc .gMenu .gMenuItem.gMenuExclusive .gMenuChildItem:nth-child(2),#gnavPc .gMenu .gMenuItem.gMenuExclusive .gMenuChildItem:nth-child(3) { width: auto; }
#gnavPc .gMenu .gMenuItem.gMenuExclusive .gMenuChildBtn { flex: 1; margin-left: auto; }

#gnavPc .gMenu .gMenuParent { font-size: 2rem; border-bottom: 1px solid #1cacda; position: relative; }

#gnavPc .gMenu .gMenuParent .txt { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 10px 0 13px; }

#gnavPc .gMenu .gMenuParent .txt span { letter-spacing: .05em; }

#gnavPc .gMenu .gMenuParent .txt:after { position: relative; top: 3px; margin-left: 20px; font-size: 1.5rem; content: attr(data-en); font-family: 'Roboto', sans-serif; font-weight: 700; letter-spacing: .04em; color: #ffe156; }

#gnavPc .gMenu .gMenuParent .btn { position: absolute; left: 280px; top: 5px; }

#gnavPc .gMenu .gMenuParent .btn a { font-size: 1.4rem; padding: 5px 20px 6px; box-sizing: border-box; border: solid 1px #fff; }

#gnavPc .gMenu .gMenuChild { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between;}

#gnavPc .gMenu .gMenuChildParent { padding-top: 15px; font-size: 1.5rem; }

#gnavPc .gMenu .gMenuChildParent .txt { font-weight: 700; }

#gnavPc .gMenu .gMenuChildItem:nth-child(1) { width: 254px; }

#gnavPc .gMenu .gMenuChildItem:nth-child(2) { width: 250px; }

#gnavPc .gMenu .gMenuChildItem:nth-child(3) { width: calc(100% - 254px - 250px); }

#gnavPc .gMenu .gMenuChildList { padding: 6px 0 0; font-size: 1.4rem; line-height: 1.43; }

#gnavPc .gMenu .gMenuChildListItem a { position: relative; display: block; padding: 5px 0 5px 15px; }

#gnavPc .gMenu .gMenuChildListItem a:before { position: absolute; top: 14px; left: 2px; display: block; width: 3px; height: 1px; content: ""; background: #fff; }

#gnavPc .gMenu .gMenuChild.is-column{
  flex-direction: column;
  gap: 5px;
}
#gnavPc .gMenu .gMenuChild.is-column .gMenuChildItem{
  width: 100%;
}
#gnavPc .gMenu .gMenuChild.is-column .gMenuChildParent{
  font-size: 1.7rem;
}
#gnavPc .gMenu .gMenuChild.is-column .gMenuChildList{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px 15px;
  line-height: 1.3;
}

#gnavPc .gMenu .gMenuSub { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 360px; padding: 15px 0 0; font-size: 1.4rem; line-height: 1.54; }

#gnavPc .gMenu .gMenuSub .gMenuSubItem { box-sizing: border-box; }

#gnavPc .gMenu .gMenuSub .gMenuSubItem:nth-child(odd) { width: 155px; }

#gnavPc .gMenu .gMenuSub .gMenuSubItem:nth-child(even) { width: calc(100% - 155px); }

#gnavPc .gMenu .gMenuSub .gMenuSubItem:nth-child(n+3) { margin-top: 5px; }

#gnavPc .gMenu .gMenuSub .gMenuSubItem a { position: relative; display: block; padding: 2px 0 2px 10px; }

#gnavPc .gMenu .gMenuSub .gMenuSubItem a:before { position: absolute; top: 12px; left: 2px; display: block; width: 3px; height: 1px; content: ""; background: #fff; }

#gnavPc .gMenu .gMenuSub .gMenuBtn { width: 100%; margin-top: 45px; }

#gnavPc .gMenu .gMenuSub .gMenuBtn a { display: block; padding: 19px 0 18px; text-decoration: none; color: #fff; text-align: center; font-size: 1.5rem; font-weight: 500; }

#gnavPc .gMenu .gMenuSub .gMenuBtn a:hover { color: #ffe156; }

#gnavPc .gMenu .gMenuChildBtn { max-width: 170px; width: 100%; margin-top: 20px ; }

#gnavPc .gMenu .gMenuChildBtn a { display: block; padding: 13px; text-decoration: none; color: #016cb1; text-align: center; font-size: 1.5rem; font-weight: 500; }

#gnavPc .gMenu .gMenuChildBtn a::before { content: ""; position: relative; top: -3px; display: inline-block; vertical-align: middle; width: 24px; height: 16px; background: url(../../img/common/ico_mail01_blue.png) no-repeat center / contain; }

/* #overlay
================================================ */
#overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #0074bc; z-index: 1000; }

/*  sticky
================================================== */
body.is_sticky #gHeader { height: 55px; border-top: 5px solid #1cacda; background: #fff; box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.15); }

body.is_sticky #gHeader .logo { top: 7px; background-image: url(../img/common/logo02.png); }

body.is_sticky #gHeader .logo img { opacity: 0; }

@media all and (min-width: 600px) { body.is_sticky #gHeader { position: fixed; height: 80px; }
  body.is_sticky #gHeader .logo { top: 10px; }
  body.is_sticky #gHeader .btnGnav { top: 12px; }
  body.is_sticky #gHeader .language { top: 12px; }
  body.is_sticky #gHeader .language .is_en { color: #016cb1; }
  body.is_sticky #gHeader .language .is_en a { color: #333; }
  body.is_sticky #gNav { top: 5px; }
  body.is_sticky #gNav .list { color: #333; }
  body.is_sticky #gNav .list .parent .txt { height: 76px; }
  body.is_sticky #gNav .list .btn a { color: #fff; }
  body.is_sticky #gNav .list .btn01 a { color: #fff; }
  body.is_sticky #gNav .list .btn01 a:hover { color: #ffe156; }
  body.is_sticky #gNav .list a { display: block; text-decoration: none; color: inherit; }
  body.is_sticky #gNav .list a[target]:after { content: ""; display: inline-block; width: 12px; height: 10px; margin-left: 8px; background: url("../img/common/ico_blank01_blue.png") no-repeat center/contain; }
  body.is_sticky #gNav.is_open .list .item { padding: 13px 0; }
  body.is_sticky #gNav.is_open .list .item.is_contact .txt { color: #fff; } }

/*  loading
================================================== */
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
}

.loading.is_logo_active .logo {
  opacity: 1;
}

.loading.is_active .logo {
  -webkit-transform: translate(-50%, -30%);
  -ms-transform: translate(-50%, -30%);
  transform: translate(-50%, -30%);
  opacity: 0 !important;
  visibility: hidden !important;
}

.loading.is_active .masks span:before {
  -webkit-animation: mask 3s both;
  animation: mask 3s both;
}

.loading .logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 101;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
}


.loading .masks { overflow: hidden; position: absolute; top: 0; left: 0; width: 100%; height: 100vh; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; z-index: 100; }

.loading .masks span { position: relative; display: block; width: calc(100% / 5); height: calc(100% / 4); }

.loading .masks span:before { content: ""; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 125%; height: 125%; background: #016cb1; border-radius: 10%; }

@-webkit-keyframes mask { 0% { -webkit-transform: translate(-50%, -50%) scale(1, 1); transform: translate(-50%, -50%) scale(1, 1); }
  70% { -webkit-transform: translate(-50%, -50%) scale(0, 0); transform: translate(-50%, -50%) scale(0, 0); }
  100% { -webkit-transform: translate(-50%, -50%) scale(0, 0); transform: translate(-50%, -50%) scale(0, 0); } }

@keyframes mask { 0% { -webkit-transform: translate(-50%, -50%) scale(1, 1); transform: translate(-50%, -50%) scale(1, 1); }
  70% { -webkit-transform: translate(-50%, -50%) scale(0, 0); transform: translate(-50%, -50%) scale(0, 0); }
  100% { -webkit-transform: translate(-50%, -50%) scale(0, 0); transform: translate(-50%, -50%) scale(0, 0); } }

/* #mainVisual HOME
================================================ */
#mainVisual { position: relative; color: #fff; }

#mainVisual .slideFirst { position: relative; }

#mainVisual .slideFirst .areaTxt { position: absolute; top: 50%; left: 0; width: 100%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); text-align: center; padding-bottom: 30px; }

#mainVisual .slideFirst .copy { font-size: 1.6rem; letter-spacing: .08em; font-weight: 400; }

#mainVisual .slideFirst .en { margin-top: 5px; font-size: 4.2rem; line-height: 1.3; letter-spacing: .04em; }

#mainVisual .slide { position: relative; }

#mainVisual .slide .areaTxt { position: absolute; top: 50%; left: 27px; width: 220px; padding-bottom: 70px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

#mainVisual .slide .areaTxt_01{ width: 260px; top: 55%;}

#mainVisual .slide_main .areaTxt_01{ width: 350px; top: 55%;}

#mainVisual .slide .areaTxt .area_mark{ position: absolute; top: -40px; right: -60px; max-width: 100px; width: 30%;}

#mainVisual .slide .copy { font-size: 1.6rem; line-height: 1.75; }

#mainVisual .slide .en { position: relative; margin-top: 5px; padding-bottom: 20px; font-size: 4.2rem; line-height: 1; }

#mainVisual .slide .en:after { position: absolute; bottom: 0; left: 0; content: ""; display: block; width: 38px; height: 2px; background: #1cacda; }

#mainVisual .slide .txt { margin-top: 22px; font-size: 1.3rem; }

#mainVisual .slide .btn { margin-top: 18px; }

#mainVisual .slide_main .btn { margin: 30px 0; max-width: 300px;}

#mainVisual .scroll { position: absolute; bottom: 15px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); font-size: 1rem; }

#mainVisual .scroll a { position: relative; display: block; padding-bottom: 55px; color: #fff; text-decoration: none; }

#mainVisual .scroll a:before { box-sizing: border-box; position: absolute; left: 50%; bottom: 0; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); content: ""; display: block; width: 26px; height: 26px; border-radius: 50%; border: 1px solid #016cb1; }

#mainVisual .scroll a:after { position: absolute; top: 18px; bottom: 14px; left: 50%; content: ""; display: block; width: 1px; background: #fff; }

#mainVisual .slick-slider { margin-bottom: 0; }

#mainVisual .slick-dots { box-sizing: border-box; max-width: 100vw; padding-right: 18px; left: 50%; bottom: 16px; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); text-align: right; }

#mainVisual .slick-dots li { position: relative; margin: 0; counter-increment: number; }

#mainVisual .slick-dots li button:after { position: absolute; top: -10px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); display: block; content: "0" counter(number); font-family: 'Roboto', sans-serif; color: #fff; font-size: 1.3rem; opacity: 0; }

#mainVisual .slick-dots li button:before { color: #fff; opacity: 1; }

#mainVisual .slick-dots li.slick-active button:before { color: #0171b8; }

#mainVisual .slick-dots li.slick-active button:after { opacity: 1; }

#mainVisual .slide_press .keyword-tit{
	font-size: 2rem;
	text-align: left;
}
#mainVisual .slide_press .areaTxt{
	padding: 0!important;
}

@media all and (min-width: 600px) { #mainVisual .slideFirst .areaTxt { padding-bottom: 62px; }
  #mainVisual .slideFirst .copy { font-size: 3rem; letter-spacing: .24em; }
  #mainVisual .slideFirst .en { margin-top: 5px; font-size: 6.4rem; }
  #mainVisual .slide .areaTxt { box-sizing: border-box; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 1100px; padding-bottom: 70px; padding-right: 680px; }
  #mainVisual .slide .areaTxt_01{top: 50%;}
  #mainVisual .slide .areaTxt .area_mark{ position: absolute; top: -50px; left: 400px; right: auto; width: 80%;}
  #mainVisual .slide .copy { margin-right: -100px; font-size: 2.8rem; }
  #mainVisual .slide .en { margin-top: 10px; padding-bottom: 30px; font-size: 6.2rem; }
  #mainVisual .slide .en:after { width: 60px; height: 3px; }
  #mainVisual .slide .txt { margin-top: 22px; font-size: 1.7rem; }
  #mainVisual .slide .btn { margin-top: 30px; }
  #mainVisual .scroll { bottom: 50px; font-size: 1.5rem; }
  #mainVisual .scroll a { padding-bottom: 64px; }
  #mainVisual .scroll a:before { width: 30px; height: 30px; }
  #mainVisual .scroll a:after { top: 24px; bottom: 15px; }
  #mainVisual .slick-dots { padding-right: 20px; bottom: 23px; }
  #mainVisual .slick-prev { left: 0; z-index: 1; width: 50px; height: 45px; }
  #mainVisual .slick-prev:before { content: ''; position: absolute; background: url(../img/common/prev.png) no-repeat; width: 50px; height: 45px; top: 0; left: 0; }
  #mainVisual .slick-next { right: 0; z-index: 1; width: 50px; height: 45px; }
  #mainVisual .slick-next:before { content: ''; position: absolute; background: url(../img/common/next.png) no-repeat; width: 50px; height: 45px; top: 0; left: 0; }
	#mainVisual .slide_press .keyword-tit{
		font-size: 4rem;
		text-align: center;
	}
	#mainVisual .slide_main .keyword-tit{
		display: inline-block;
		margin-bottom: 10px;
		font-size: 4.5rem;
	}
	#mainVisual .slide_press .copy{
		margin-right: 0;
	}
	#mainVisual .slide_press .copy_box{
		max-width: 610px;
		margin: auto;
		text-align: center;
	}
	#mainVisual .slide_press .copy_box{
		padding-bottom: 20px;
	}
	#mainVisual .slide_press .btn{
		margin-top: 20px!important;
	}
	
	#mainVisual .slide_main .areaTxt{
		padding-right: 470px;
		top: 55%;
	}
}

@media (min-width: 600px) and (max-width: 1360px) {
	#mainVisual .slide .areaTxt { padding-bottom: 0; padding-right: 640px; padding-left: 40px; }
	#mainVisual .slide .areaTxt_01 {top: 55%;}
	#mainVisual .slide_main .areaTxt_01 {top: 50%;}
	#mainVisual .slide .areaTxt .area_mark { left: 440px; }
	#mainVisual .slide_press .areaTxt_01 {
		top: 48%;
	}
	
}

  
/* #mainImg
================================================ */
#mainImg { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; background: #016cb1; overflow: hidden; margin-top: 50px; height: 125px; }

#mainImg .inner { width: 100%; position: relative; }

#mainImg .inner:before { content: ""; display: block; position: absolute; bottom: -316px; right: 0; width: 233px; height: 387px; background: url(../img/common/ico_mainimg01_sp.png) no-repeat center; background-size: 100%; }

#mainImg .tit { font-size: 2.4rem; font-weight: bold; line-height: 1.4; color: #fff; }

#mainImg .txt { font-size: 1.3rem; font-weight: bold; color: #ffe156; }

@media all and (min-width: 600px) { #mainImg { margin-top: 95px; height: 230px; }
  #mainImg .inner { position: relative; width: 1100px; }
  #mainImg .inner:before { top: -73px; bottom: auto; right: 0; width: 775px; height: 774px; background: url(../img/common/ico_mainimg01_pc.png) no-repeat center; background-size: 100%; }
  #mainImg .tit { margin-top: 6px; font-size: 4rem; line-height: 1; }
  #mainImg .txt { font-size: 1.8rem; } }

/* #keyImg
------------------------------------- */
#keyImg { /* display: flex; align-items: center; */ padding-top: 159.2%; width: 100%; height: 0; position: relative; }

#keyImg.is_energy { background: url(../../img/home/img_slider02-sp.png) no-repeat; background-size: cover; background-position: top center; }

#keyImg.is_iot { background: url(../../img/home/img_slider03-sp.png) no-repeat; background-size: cover; background-position: top center; }

#keyImg.is_engineering { background: url(../../img/home/img_slider04-sp.png) no-repeat; background-size: cover; background-position: top center; }

#keyImg .inner { width: 100%; position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); padding-left: 30px; }

#keyImg .mainWrap { position: relative; /* &:before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 480px; height: 480px; background: $clr_blue; border-radius: 100%; z-index: 1; } */ }

#keyImg .mainWrap .in { position: relative; z-index: 1; width: 220px; }

#keyImg .mainWrap .in .txt { font-size: 1.3rem; font-weight: bold; color: #ffe156; }

#keyImg .mainWrap .in .tit { position: relative; margin-bottom: 23px; padding-bottom: 5px; text-transform: uppercase; font-size: 3rem; font-weight: bold; letter-spacing: .04em; line-height: 1.4; color: #fff; }

#keyImg .mainWrap .in .tit:before { content: ''; position: absolute; left: 0; bottom: 0; width: 42px; height: 2px; background: #1cacda; }

#keyImg .mainWrap .tit_sub { display: block; margin-bottom: 10px; font-size: 2.4rem; line-height: 1.5; }

#keyImg .mainWrap .in .sub { margin-bottom: 13px; color: #fff; font-size: 1.5rem; font-weight: bold; line-height: 1.5; letter-spacing: .08em; }

#keyImg .mainWrap .in .txt01 { font-size: 1.2rem; color: #fff; }

@media all and (min-width: 600px) { 
  #keyImg { margin-top: 95px; margin-bottom: 0; padding-top: 0; height: 590px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  #keyImg.is_energy { background-image: url(../img/energy/bg_cv01_pc.png); }
  #keyImg.is_iot { background-image: url(../img/iot/bg_cv01_pc.png); }
  #keyImg.is_engineering { background-image: url(../img/engineering/bg_cv01_pc.png); }
  #keyImg .inner { position: relative; top: auto; width: 1100px; -webkit-transform: translateY(0%); -ms-transform: translateY(0%); transform: translateY(0%); padding-left: 0; }
  #keyImg .mainWrap { position: relative; }
  #keyImg .mainWrap:before { display: none; }
  #keyImg .mainWrap .in { width: 100%; }
  #keyImg .mainWrap .in .txt { color: #fff; font-size: 2.2rem; }
  #keyImg .mainWrap .in .tit { padding-bottom: 23px; margin-bottom: 33px; font-size: 5rem; line-height: 1; }
  #keyImg .mainWrap .in .tit:before { width: 60px; }
  #keyImg .mainWrap .tit_sub { font-size: 4rem; margin-bottom: 0;}
  #keyImg .mainWrap .in .sub { margin-bottom: 27px; font-size: 2.8rem; letter-spacing: .08em; }
  #keyImg .mainWrap .in .txt01 { width: 570px; font-size: 1.6rem; } 
}

/* #sidebar
================================================ */
/* .secSidebar
-------------------------------------- */
.secSidebar { margin-bottom: 20px; padding: 0 15px; }

@media all and (min-width: 600px) { .secSidebar { margin-bottom: 25px; padding: 0; } }

/*=============================================================
 05_helper
=============================================================*/
@media all and (min-width: 600px) { .js-anime-elem[data-fade="slidein"] { -webkit-transition: all 0.6s ease; transition: all 0.6s ease; -webkit-transform: translateX(100px); -ms-transform: translateX(100px); transform: translateX(100px); }
  .js-anime-elem[data-fade="slidein"][data-delay=".2s"] { -webkit-transition-delay: .2s; transition-delay: .2s; }
  .js-anime-elem[data-fade="slidein"][data-delay=".4s"] { -webkit-transition-delay: .4s; transition-delay: .4s; }
  .js-anime-elem[data-fade="slidein"].is_animated { -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); }
  .js-anime-elem[data-fade="fadein"] { opacity: 0; -webkit-transition: all 1s ease; transition: all 1s ease; }
  .js-anime-elem[data-fade="fadein"].is_animated { opacity: 1; } }

.js-switch-content:not(.is_active) { display: none; }