/*========  global.css  ========*/
/*----/ all /----*/
body { font-family: 'Noto Sans JP', sans-serif; font-size: 0.94em; }
body#toppage { font-size: 13px; }

@media screen and (max-width: 890px) { body { font-size: 0.88em; } }
html { scroll-behavior: smooth; }

h5 { margin-top: 0; }
h5.typeA { margin-bottom: 8px; font-size: 1.07em; font-weight: 500; line-height: 1.5em; }
h5.typeA::before { content: '\ef71'; font-family: 'Material Symbols Outlined'; margin-right: 4px; font-size: 18px; color: #315996; vertical-align: bottom; position: relative; top: 1px; }

.inset__flex-sb { display: flex; justify-content: space-between; }
.inset__flex-sb__wrap { display: flex; justify-content: space-between; flex-wrap: wrap; }
.inset__flex-fs { display: flex; justify-content: flex-start; }
.inset__flex-none { display: inherit !important; }
.inset__space::after { content: ""; display: block; width: 31%; }
.inset__wx-threecolumn { width: 31%; }
.inset__wx-threecolumn__box { width: 31%; }
.inset__wx-twocolumn { width: 48%; }
.inset__wx-other1column { width: 66%; }
.inset__w-max { width: 100% !important; }
.inset__w-wrap { flex-wrap: wrap; }
.inset__link-txt a { display: inline-block; text-decoration: none; border-bottom: 1px solid #315996; transition: 0.4s; }
.inset__link-txt a::before { content: '\e5c8'; font-family: 'Material Icons'; margin-right: 4px; font-size: 20px; color: #315996; position: relative; top: 5px; left: 0; }
.inset__link-txt a:hover { transform: translateX(8px); }
.inset__align-bottom { align-items: end; }
.inset__border-box { box-sizing: border-box; padding: 32px; border: 1px solid #CCC; border-radius: 8px; }
.inset__img-w100 img { width: 100%; }
.inset__img-mw100 img { max-width: 100%; height: auto; }
.inset__settings__ttl { margin-bottom: 25px; font-size: 1.2em; font-weight: 500; }
.inset__settings__ttl::before { content: '\e8b8'; font-family: 'Material Symbols Outlined'; margin-right: 4px; font-size: 26px; color: #315996; vertical-align: bottom; position: relative; top: 1px; }
.inset__settings__detail { width: 100%; display: flex; flex-flow: wrap; }
.inset__settings__detail dt { width: 18%; margin-bottom: 10px; font-weight: 600; border-bottom: 1px solid #D5DEEA; }
.inset__settings__detail dd { width: 82%; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #D5DEEA; }

@media screen and (max-width: 804px) { .solTop .inset__wx-threecolumn { width: 48%; }
  .inset__border-box { padding: 24px; } }
@media screen and (max-width: 640px) { .solTop .inset__wx-threecolumn { width: 100%; } }
@media screen and (max-width: 640px) { .inset__wx-threecolumn { width: 100%; }
  .inset__wx-twocolumn { width: 100%; }
  .inset__wx-other1column { width: 100%; }
  .inset__border-box { padding: 24px 16px; }
  .item-mt25 { margin-top: 25px; } }
@media screen and (max-width: 450px) { .inset__wx-threecolumn__box { width: 100%; }
  .inset__border-box { padding: 24px; } }
ul.txt-itemization__typeA { line-height: 1.5em; margin-top: 0; }
ul.txt-itemization__typeA li { margin-top: 8px !important; }
ul.txt-itemization__typeA li::before { content: '\e061'; font-family: 'Material Icons'; margin-right: 2px; font-size: 12px; color: #7B93B8; }
ul.txt-itemization__typeA li span { font-weight: 500; }
ul.txt-itemization__typeB li { line-height: 1.75em; }
ul.txt-itemization__typeB li::before { content: '\e061'; font-family: 'Material Icons'; margin-right: 2px; font-size: 12px; color: #7B93B8; }
ul.txt-itemization__typeB li a { text-decoration: none; /*display: inline-block;*/ transition: 0.4s; }
ul.txt-itemization__typeB li a:hover { color: #315996; transform: translateX(4px); }
ul.txt-itemization__typeB li a.link-out::after { content: '\e89e'; font-family: 'Material Icons'; font-size: 18px; color: #7B93B8; position: relative; top: 4px; margin-left: 4px; }
ul.txt-itemization__typeB li a.link-pdf::after { content: '\e415'; font-family: 'Material Icons'; font-size: 18px; color: #7B93B8; position: relative; top: 4px; margin-left: 4px; }
ul.txt-itemization__typeB li span { font-weight: 500; }
ul.txt-itemization__typeC li { margin-top: 0 !important; line-height: 1.5em; }
ul.txt-itemization__typeC li::before { content: '\e061'; font-family: 'Material Icons'; margin-right: 2px; font-size: 12px; color: #7B93B8; }

#menu_btn { background-image: url(../../common/img/sp_menu_btn.gif); }

#f_sitemap td a { font-size: 12px; }

.wd30 { width: 30%; }

.wd35 { width: 35%; margin-left: 5%; }

.wd37 { width: 37%; margin-right: 3%; }

.wd48 { width: 48%; }

.wd50 { width: 50%; }

.wd60 { width: 60%; }

.wd77 { width: 77% !important; margin-right: 3%; }

.wd100 { width: 100% !important; }

.mt0 { margin-top: 0 !important; }

.mt10 { margin-top: 10px; }

.mt15 { margin-top: 15px; }

.mt20 { margin-top: 20px; }

.mt25 { margin-top: 25px; }

.mt30 { margin-top: 30px; }

.mt35 { margin-top: 35px; }

.mt40 { margin-top: 40px; }

.mt80 { margin-top: 80px; }

.mb8 { margin-bottom: 8px; }

.mb16 { margin-bottom: 16px; }

.mb25 { margin-bottom: 25px; }

.mb30 { margin-bottom: 30px !important; }

.mb60 { margin-bottom: 60px; }

.pt0 { padding-top: 0 !important; }

.pb16 { padding-bottom: 16px; }

.pb40 { padding-bottom: 40px; }

.ley-center { text-align: center; }

.img-wd100 { width: 100%; }

.fw-medium { font-weight: 500; }

.fw-bold { font-weight: 600; }

.border-b { border-bottom: 1px solid #CCC; }

.del_m-height { min-height: inherit !important; }

/*----/ header /----*/
#anime_header { position: fixed; top: 0; left: 0; width: 100%; z-index: 2; background-color: #FFF; transition: .6s; }

#header { display: flex; padding-bottom: 0; overflow: inherit; }
#header #logo { line-height: inherit; max-height: none; display: inherit; position: inherit; }

@media screen and (max-width: 1200px) { #header { width: 100%; padding-right: 16px; padding-left: 16px; box-sizing: border-box; } }
@media screen and (max-width: 804px) { #header { height: auto; padding-bottom: 10px; } }
@media screen and (max-width: 392px) { #header { padding-right: 10px; padding-bottom: 8px; padding-left: 10px; }
  #header #logo { height: 33px; } }
/*----/ navi /----*/
#toppage #gNavi { font-size: 1.157em; }

#gNavi { position: inherit; padding-top: 12px; }
#gNavi ul { width: inherit; margin-left: inherit; margin-right: inherit; letter-spacing: normal; text-align: inherit; text-align: right; }
#gNavi li.mainNavi { vertical-align: inherit; text-align: inherit; font-size: 1.07em; line-height: inherit; margin-left: 6%; }
#gNavi li.mainNavi a { display: inherit; width: inherit; height: 33px; }
#gNavi li .subNavi__link__cate { font-size: 1.13em; font-weight: 500; color: #FFF; }
#gNavi li .subNavi__link__cate a { margin-bottom: 12px; padding: 5px 20px 7px 8px; line-height: inherit; background-color: #7B93B8; position: relative; transition: 0.4s; }
#gNavi li .subNavi__link__cate a::after { content: url("../img/icon_arrow_triangle_blue_u.png"); position: absolute; bottom: -6px; right: 0; }
#gNavi li .subNavi__link__cate a:hover { background-color: #7B93B8; transform: translate(4px, -4px); }
#gNavi li .subNavi__link__cont a { margin-bottom: 12px; padding: 0 0 0 16px; font-size: 0.75em; font-weight: 500; line-height: 1.5em; background-color: inherit; transition: 0.4s; }
#gNavi li .subNavi__link__cont a:hover { background-color: inherit; transform: translate(4px, -4px); }
#gNavi li .subNavi__link__cont span { font-size: 1rem; font-weight: 600; line-height: 1.5em; position: relative; }
#gNavi li .subNavi__link__cont span::before { margin-right: 6px; content: url("../img/icon_arrow_blue.png"); position: absolute; top: -2px; left: -16px; }
#gNavi li .subNavi__link__cont span sup { font-size: 8px; }
#gNavi li#gNavi06 > a::after { content: '\e158'; font-family: 'Material Icons'; display: initial; width: inherit; height: inherit; margin-right: 0; margin-left: 4px; font-size: 28px; font-weight: 400; vertical-align: bottom; position: relative; top: 1px; background: none; }
#gNavi .subNavi { width: 100vw; left: 50%; transform: translateX(-50%); top: 55px; background-color: rgba(255, 255, 255, 0.9); padding-top: 20px; padding-bottom: 20px; z-index: 999; }
#gNavi .subNavi li { width: auto; }
#gNavi .subNavi li a { width: inherit; height: inherit; background-image: none; color: inherit; text-indent: inherit; text-decoration: inherit; }
#gNavi .subNavi__wrap { max-width: 1176px; margin: 0 auto; box-sizing: border-box; }
#gNavi .subNavi__wrap h2 { width: 99%; margin-bottom: 0; font-size: 18px; color: #333; }
#gNavi .subNavi__wrap .bnContainer { margin-top: 15px; padding-bottom: 30px; }
#gNavi .subNavi__inner { display: flex; justify-content: space-between; flex-wrap: nowrap; width: 99%; margin: 15px auto; }
#gNavi .subNavi__inner:last-child { padding-top: 20px; border-top: 1px solid #CCC; }
#gNavi .subNavi__inner__box { width: 31%; }
#gNavi .subNavi__inner__box ul { display: inherit; width: 100%; text-align: left; }
#gNavi .subNavi__inner__box ul li span { display: block; }
#gNavi .subNavi__inner__box ul.onecolumn a { display: inline-block; margin-right: 56px; padding-top: 6px; }

@media screen and (max-width: 1200px) { #gNavi .subNavi__wrap { width: 100%; padding-right: 16px; padding-left: 16px; } }
@media screen and (max-width: 1024px) { #gNavi li.mainNavi { margin-left: 3%; } }
@media screen and (max-width: 890px) { #gNavi li.mainNavi { margin-left: 1.2%; font-size: 15px; }
  #gNavi li.subNavi__link__cate a::after { bottom: -5px; } }
/*----/ contents /----*/
#container { margin-top: 55px; }

#toppage #container { margin-top: 0; }

@media screen and (max-width: 804px) { #container { margin-top: 0; } }
#breadcrumb { width: 1176px; padding-top: 25px; font-size: 0.94em; }
#breadcrumb li.arrow { background-image: url(../../common/img/breadcrumb_arrow.gif); }

@media screen and (max-width: 1200px) { #breadcrumb { width: 100%; padding-right: 16px; padding-left: 16px; box-sizing: border-box; } }
#mainTitleDetail { left: 56px; top: 150px; }

#mainTitle { width: 1176px; height: 280px; background-size: cover; }
#mainTitle h1 { margin-bottom: 14px; padding-left: 8px; font-size: 2.13em; font-weight: 500; color: #FFF; }
#mainTitle p { padding: 2px 8px 0 9em; font-size: 1.07em; border-top: 1px solid #FFF; }

#mainBox { width: 1176px; padding: 60px 48px; box-sizing: border-box; }

@media screen and (max-width: 1176px) { #mainTitle, #mainBox { width: 100%; } }
@media screen and (max-width: 1024px) { #mainTitle { height: 240px; }
  #mainTitleDetail { top: 120px; }
  #mainBox { padding-right: 32px; padding-left: 32px; } }
@media screen and (max-width: 804px) { #mainTitle { height: 200px; }
  #mainTitleDetail { top: 80px; left: 40px; } }
@media screen and (max-width: 450px) { #mainTitle { height: 130px; }
  #mainTitle h1 { margin-bottom: 8px; padding-left: 0; font-size: 1.86em; }
  #mainTitle p { padding: 6px 0 0 9em; font-size: 1em; }
  #mainTitleDetail { top: 40px; left: 20px; }
  #mainBox { padding-right: 16px; padding-left: 16px; } }
#contents { width: 100%; float: none; }

@media screen and (max-width: 980px) { #contents { margin-bottom: 0; } }
@media screen and (max-width: 804px) { #contents { margin-right: 0; margin-left: 0; } }
/*----/ footer /----*/
#toppage #fDetail_box { display: flex; justify-content: space-between; flex-wrap: nowrap; }
#toppage #fDetail_box .f_link__wrap { width: 88%; }
#toppage #fDetail_box table#f_sitemap { width: 100%; }
#toppage .box__socialicon { width: 10%; padding-left: 16px; text-align: center; border-left: 1px solid #FFF; box-sizing: border-box; }
#toppage .box__socialicon p { font-size: 12px; color: #FFF; font-weight: 500; }
#toppage .box__socialicon a img { transition: 0.4s; }

/*========  layout.css  ========*/
#main { margin-bottom: 60px; display: flex; justify-content: space-between; align-items: start; }
#main h1, #main h2 { line-height: 1.5em; min-width: 504px; padding-bottom: 20px; border-bottom: 1px solid #333; margin-bottom: inherit; font-size: 2.4em; font-family: inherit; }
#main p { font-size: 1.07em; margin-top: 60px; margin-left: 5%; }

#toppage #main { margin-bottom: inherit; display: inherit; }
#toppage #main h2 { line-height: inherit; min-width: inherit; padding-bottom: 0; border-bottom: none; font-size: inherit; width: auto; }

@media screen and (max-width: 1024px) { #main { display: inherit; }
  #main h2 { width: 504px; min-width: inherit; margin-bottom: 0; }
  #main p { margin-top: 30px; margin-left: 30%; } }
@media screen and (max-width: 890px) { #main h2 { width: 480px; } }
@media screen and (max-width: 804px) { #main h2 { width: 430px; font-size: 2.14em; }
  #main p { margin-left: 0; } }
@media screen and (max-width: 640px) { #main h2 { width: 368px; font-size: 1.85em; } }
@media screen and (max-width: 450px) { #main h2 { width: 100%; font-size: 1.78em; } }
@media screen and (max-width: 392px) { #main h2 { font-size: 1.57em; } }
.secBox { letter-spacing: inherit; margin-bottom: 50px; }
.secBox:last-child { margin-bottom: 0; }

h2.h2Title { font-size: 20px; line-height: 1.5em; padding: 10px 8px; border-top: solid 1px #315996; border-bottom: solid 1px #315996; color: #315996; }

/*========  index.css  ========*/
#sec_technology .col4 li a .txt h4 { font-size: 32px; }

.info_list li a { text-indent: -10em; }

@media screen and (max-width: 804px) { .info_list li a { text-indent: 0; } }
/*========  solution.css  ========*/
.solTop #mainTitle { background-image: url(../../img/solution/main_img.jpg) !important; }

.product #contents #kaihatsu th { font-size: inherit; }
.product #contents #kaihatsu th#h01 { width: 24%; }
.product #contents #kaihatsu th#h02, .product #contents #kaihatsu th#h03 { width: 38%; }
.product #contents #kaihatsu td { font-size: inherit; }

/*========  new addition  ========*/
#toppage #header h1 { font-size: 1em; }

.product #contents h5 { margin-bottom: 0; font-size: 1.13em; }

.products #mainTitleDetail { display: flex; justify-content: space-between; align-items: center; /*position: initial;*/ position: relative; top: 0; left: 0; }
.products #mainTitle { min-height: 180px; height: auto; padding: 45px 64px 40px 64px; background-image: url(../../img/solution/header_bg_solution.png); box-sizing: border-box; }
.products #mainTitle h1 { margin-top: 8px; margin-bottom: 0; padding-left: 0; font-size: 2.93em; font-weight: 600; line-height: 1.25em; /*word-break: keep-all;*/ }
.products #mainTitle h1.line-free { word-break: normal; }
.products #mainTitle h1 span { font-size: 0.64em; }
.products #mainTitle h1 sup { font-size: 0.5em; }
.products #mainTitle p { padding: 0; font-size: 1.2em; border: none; }
.products #contents h2.h2Title { margin-bottom: 0; padding: 0 0 8px 0; font-size: 1.47em; color: #333; border-top: none; }
.products #contents h2.h2Title::before { content: '\e2e6'; font-family: 'Material Symbols Outlined'; margin-right: 8px; font-size: 24px; color: #315996; vertical-align: bottom; position: relative; top: 2px; }

@media screen and (max-width: 1024px) { .products #mainTitle { padding: 45px 32px 40px 32px; } }
@media screen and (max-width: 804px) { .products #mainTitle { min-height: 130px; height: auto; padding: 30px 24px; }
  .products #mainTitle h1 { font-size: 2.5em; }
  .products #mainTitle p { font-size: 1em; }
  .products #mainTitleDetail .headline__btn a { font-size: 1em; }
  .products #mainTitleDetail .headline__btn a::before { font-size: 22px; top: 1px; } }
@media screen and (max-width: 640px) { .products #contents h2.h2Title { font-size: 1.35em; }
  .products #contents h2.h2Title::before { font-size: 22px; } }
@media screen and (max-width: 450px) { .products #mainTitleDetail { display: initial; }
  .products #mainTitleDetail .headline__ttl { margin-bottom: 20px; }
  .products #mainTitleDetail .headline__btn { margin-left: 0; text-align: center; }
  .products #mainTitleDetail .headline__btn a { padding: 8px 24px; border: 1px solid #FFF; }
  .subcatetop.products #mainTitleDetail { display: flex; }
  .subcatetop.products #mainTitleDetail .headline__ttl { margin-bottom: 50px; } }
.others #mainTitle { min-height: 180px; height: auto; padding: 45px 64px 40px 64px; background-color: #315996; box-sizing: border-box; }
.others #mainTitle h1 { margin-top: 8px; margin-bottom: 0; padding-left: 0; font-size: 2.93em; font-weight: 500; line-height: 1.25em; /*word-break: keep-all;*/ }
.others #mainTitle h1.line-free { word-break: normal; }
.others #mainTitle p { padding: 0; font-size: 1.2em; border: none; }
.others #mainTitleDetail { display: inherit; top: 0; left: 0; position: relative; }

@media screen and (max-width: 804px) { .others #mainTitle { min-height: 130px; height: auto; padding: 30px 24px; }
  .others #mainTitle h1 { font-size: 2.5em; }
  .others #mainTitle p { font-size: 1em; } }
.headline__readwrap { position: absolute; width: 41%; right: 0; bottom: -60px; z-index: 1; }
.headline__readcont { width: 100%; padding: 0 30px; font-size: 1.07em; color: #FFF; background-color: #333; box-sizing: border-box; position: relative; }
.headline__readcont::before { width: calc(100% - 30px); height: 0; display: block; position: absolute; left: 0; content: ""; border-bottom: solid 30px #333; border-left: solid 30px transparent; bottom: 100%; }
.headline__readcont::after { width: calc(100% - 30px); height: 0; display: block; position: absolute; left: 0; content: ""; border-top: solid 30px #333; border-right: solid 30px transparent; top: 100%; }
.headline__btn { margin-left: 16px; }
.headline__btn a { display: block; padding: 16px; font-size: 1.2em; color: #FFF; text-decoration: none; white-space: nowrap; border: 2px solid #FFF; border-radius: 8px; transition: 0.4s; }
.headline__btn a::before { content: '\e158'; font-family: 'Material Symbols Outlined'; margin-right: 4px; font-size: 26px; vertical-align: bottom; position: relative; top: 2px; }
.headline__btn a:hover { transform: translate(6px, -6px); }
.headline__subcate { width: 55%; }
.headline__subcate h1 { font-size: 2.14em !important; }
.headline__subcate h1 span { font-size: 0.53em !important; }
.headline__subcate p { margin-top: 15px; font-size: 1.07em; }

@media screen and (max-width: 1024px) { .headline__readcont { padding: 0 20px; }
  .headline__readcont::before { width: calc(100% - 20px); border-bottom: solid 20px #333; border-left: solid 20px transparent; }
  .headline__readcont::after { width: calc(100% - 20px); border-top: solid 20px #333; border-right: solid 20px transparent; } }
@media screen and (max-width: 890px) { .headline__subcate { width: 57%; } }
@media screen and (max-width: 804px) { .headline__subcate { width: 100%; margin-bottom: 50px; }
  .headline__readwrap { position: initial; width: 92%; margin: 0 auto -50px auto; } }
section.navi__inpage ul { display: flex; justify-content: center; flex-wrap: wrap; width: 100%; padding-top: 15px; font-size: 1.2em; font-weight: 500; background-color: #EAEEF4; border-radius: 8px; }
section.navi__inpage ul li { margin: 0 2% 15px 2%; }
section.navi__inpage ul li.inset__ttl { width: 100%; font-weight: 600; text-align: center; color: #315996; }
section.navi__inpage ul li a { display: block; width: 100%; padding-right: 28px; box-sizing: border-box; text-decoration: none; position: relative; transition: 0.4s; }
section.navi__inpage ul li a::before { content: '\e2e6'; font-family: 'Material Symbols Outlined'; margin-right: 8px; font-size: 18px; font-weight: 600; color: #315996; vertical-align: bottom; position: relative; top: 2px; }
section.navi__inpage ul li a::after { content: '\e5db'; font-family: 'Material Icons'; font-size: 24px; color: #EAEEF4; position: absolute; top: 2px; right: 0; transition: 0.4s; }
section.navi__inpage ul li a:hover { border-bottom-color: #315996; transform: translateY(4px); }
section.navi__inpage ul li a:hover::after { color: #315996; }

@media screen and (max-width: 804px) { section.navi__inpage ul { justify-content: flex-start; font-size: 1.14em; }
  section.navi__inpage ul li { margin-right: 3%; margin-left: 3%; } }
section .cont__feature__inner ul li, section .cont__detail__inner ul li, section .cont__scene__inner ul li, section .cont__report__inner ul li { margin-top: 40px; }
section .cont__leadcolumn__h2 { margin-bottom: 40px; font-size: 2em; font-weight: 600; color: #315997; }
section .cont__contact__btn { text-align: center; }
section .cont__contact__btn a { margin-top: 30px; padding: 30px 40px; display: inline-block; font-size: 1.6em; color: #FFF; font-weight: 500; text-decoration: none; background-color: #315996; border-radius: 8px; transition: 0.4s; }
section .cont__contact__btn a::before { content: '\e158'; font-family: 'Material Symbols Outlined'; margin-right: 8px; font-size: 36px; font-weight: 400; vertical-align: bottom; position: relative; top: 2px; }
section .cont__contact__btn a:hover { transform: translate(6px, -6px); }
section.cont__detail h4, section.cont__scene h4 { margin-bottom: 15px; font-size: 1.2em; color: #315996; font-weight: 600; }
section.cont__detail h4::before, section.cont__scene h4::before { content: '\f815'; font-family: 'Material Symbols Outlined'; margin-right: 4px; font-size: 28px; font-weight: 400; vertical-align: bottom; position: relative; top: 2px; }
section.cont__report h4 { font-size: 1.2em; font-weight: 500; margin-bottom: 15px; }
section.cont__report img { width: 100%; margin-bottom: 15px; }
section.cont__example h4, section.cont__theory h4, section.cont__doubt h4, section.cont__exercise h4 { margin-top: 40px; margin-bottom: 20px; font-size: 1.2em; color: #315996; font-weight: 600; }
section.cont__example h4::before, section.cont__theory h4::before, section.cont__doubt h4::before, section.cont__exercise h4::before { content: '\e1c4'; font-family: 'Material Symbols Outlined'; margin-right: 4px; font-size: 24px; font-weight: 400; vertical-align: bottom; position: relative; top: 1px; }
section.cont__example h4.non-pseudo::before, section.cont__theory h4.non-pseudo::before, section.cont__doubt h4.non-pseudo::before, section.cont__exercise h4.non-pseudo::before { content: none; }
section.cont__example h5, section.cont__theory h5, section.cont__doubt h5, section.cont__exercise h5 { font-size: 1.07em; font-weight: 500; line-height: 1.5em; }
section.cont__example .boxinn, section.cont__theory .boxinn, section.cont__doubt .boxinn, section.cont__exercise .boxinn { margin-bottom: 20px; padding: 0 24px 15px; font-weight: 500; background-color: #EAEEF4; border-radius: 8px; }
section.cont__example .boxinn h5, section.cont__theory .boxinn h5, section.cont__doubt .boxinn h5, section.cont__exercise .boxinn h5 { display: inline-block; padding: 4px 16px 5px; color: #FFF; background-color: #777; }
section.cont__example .boxinn p, section.cont__theory .boxinn p, section.cont__doubt .boxinn p, section.cont__exercise .boxinn p { margin-bottom: 8px; }
section.cont__example img.centerset, section.cont__theory img.centerset, section.cont__doubt img.centerset, section.cont__exercise img.centerset { display: block; margin: 25px auto 0 auto; }
section.cont__doubt h4::before { content: none; }
section.cont__doubt h4 span { display: block; width: 4em; margin-bottom: 15px; padding: 2px 0; color: #FFF; font-weight: 500; background-color: #333; text-align: center; }
section.cont__feature h4 { margin-top: 15px; margin-bottom: 30px; padding: 0 8px; font-size: 1.2em; color: #FFF; font-weight: 600; text-align: center; background-color: #315996; position: relative; }
section.cont__feature h4::before, section.cont__feature h4::after { width: calc(100% - 12px); height: 0; display: block; position: absolute; left: 0; content: ""; }
section.cont__feature h4::before { border-bottom: solid 12px #315996; border-left: solid 12px transparent; bottom: 100%; }
section.cont__feature h4::after { border-top: solid 12px #315996; border-right: solid 12px transparent; top: 100%; }
section.cont__feature h4 span { display: block; margin-bottom: 5px; font-weight: 400; }

@media screen and (max-width: 1024px) { section .cont__outline__txt { width: 44%; margin-right: 4%; }
  section .cont__outline__pict { width: 52%; } }
@media screen and (max-width: 804px) { section .cont__leadcolumn__h2 { font-size: 1.72em; } }
.boxin-twocolumn__txt { width: 55%; }
.boxin-twocolumn__img { width: 40%; }
.boxin-twocolumn__img img { width: 100%; }

.boxin-onecolumn__txt { width: 100%; }
.boxin-onecolumn__img { margin-top: 20px; }
.boxin-onecolumn__img img { max-width: 100%; }

#contents section { padding-top: 60px; }
#contents section:first-child { padding-top: 0; }

#solution #contents h3 { margin-bottom: 0; font-size: 1.29em; }
#solution #contents h3.outline-ntw { color: #315997; }

/*== category top ==*/
#contents section.cont__list ul { padding: 0 36px 36px; background-color: #EAEEF4; }
#contents section.cont__list li { margin-top: 36px; }

@media screen and (max-width: 890px) { #contents section.cont__list ul { padding: 0 24px 36px; } }
.contcate__heading h3 a { display: block; padding-right: 32px; font-size: 1.5rem; font-weight: 600; color: #315997; text-decoration: none; position: relative; transition: 0.4s; }
.contcate__heading h3 a::after { content: url(../img/icon_arrow_triangle_blue.png); position: absolute; top: 0; right: 0; }
.contcate__heading h3 a:hover { transform: translate(6px, -6px); }
.contcate__heading h3 a span { font-size: 1rem; }
.contcate__heading p { margin-top: 2em; font-weight: 500; }

@media screen and (max-width: 890px) { .contcate__heading h3 a { font-size: 1.38rem; } }
@media screen and (max-width: 640px) { .contcate__heading h3 a { font-size: 1.25rem; }
  .contcate__heading h3 a br { display: none; }
  .contcate__heading p { margin-top: 1em; } }
.bgimg__smart { background-image: url(../../img/solution/bgimg_smart.png); }
.bgimg__office { background-image: url(../../img/solution/bgimg_office.png); }
.bgimg__info { background-image: url(../../img/solution/bgimg_info.png); }
.bgimg__muni { background-image: url(../../img/solution/bgimg_muni.png); }
.bgimg__health { background-image: url(../../img/solution/bgimg_health.png); }
.bgimg__product { background-image: url(../../img/solution/bgimg_product.png); }
.bgimg__bpo { background-image: url(../../img/solution/bgimg_bpo.png); }
.bgimg__tech { background-image: url(../../img/solution/bgimg_tech.png); }
.bgimg__smart, .bgimg__office, .bgimg__info, .bgimg__muni, .bgimg__health, .bgimg__product, .bgimg__bpo, .bgimg__tech { background-repeat: no-repeat; background-position: right bottom; background-size: 50%; }

@media screen and (max-width: 640px) { .bgimg__smart, .bgimg__office, .bgimg__info, .bgimg__muni, .bgimg__health, .bgimg__product, .bgimg__bpo, .bgimg__tech { background-position: right 32px bottom; background-size: contain; } }
.box__linkcontent a { background-color: #FFF; }
.box__linkcontent-G { margin-top: 30px; }
.box__linkcontent-G a { background-color: #EAEEF4; }
.box__linkcontent, .box__linkcontent-G { position: relative; }
.box__linkcontent a, .box__linkcontent-G a { display: block; width: 100%; height: auto; padding: 16px; text-decoration: none; box-sizing: border-box; transition: 0.4s; }
.box__linkcontent a::after, .box__linkcontent-G a::after { content: url(../img/icon_arrow_triangle_black.png); position: absolute; top: 0; right: 0; }
.box__linkcontent a:hover, .box__linkcontent-G a:hover { transform: translate(6px, -6px); }
.box__linkcontent h4, .box__linkcontent-G h4 { font-size: 1.2em; min-height: 5em; word-break: break-word; }
.box__linkcontent h4 sup, .box__linkcontent-G h4 sup { font-size: 10px; }
.box__linkcontent h4 span, .box__linkcontent-G h4 span { display: block; margin-bottom: 4px; font-size: 0.78em; line-height: 21px; font-weight: 500; }
.box__linkcontent h4 span.kana, .box__linkcontent-G h4 span.kana { display: inline-block; font-size: 0.89em; font-weight: 600; }
.box__linkcontent img, .box__linkcontent-G img { width: 100%; }

@media screen and (max-width: 1024px) { .box__linkcontent-G { width: 100%; }
  .box__linkcontent-G h4 { min-height: 4em; }
  .box__linkcontent-G h4 br { display: none; }
  .product .box__linkcontent-G { width: 48%; } }
@media screen and (max-width: 640px) { .box__linkcontent-G { width: 48%; }
  .box__linkcontent-G h4 { min-height: 5em; } }
@media screen and (max-width: 530px) { .product .box__linkcontent-G { width: 100%; }
  .product .box__linkcontent-G h4 { min-height: 4em; } }
@media screen and (max-width: 450px) { .box__linkcontent-G { width: 100%; }
  .box__linkcontent-G h4 { min-height: 4em; } }
/*== ha.html ==*/
section.btn__changepage { display: flex; justify-content: center; border-bottom: 1px solid #315997; }
section.btn__changepage div { margin: 0 0.5%; }
section.btn__changepage div a { display: block; width: 100%; padding: 20px 24px; font-size: 1.2em; font-weight: 600; text-align: center; text-decoration: none; background-color: #EAEEF4; border-top-left-radius: 16px; border-top-right-radius: 16px; box-sizing: border-box; position: relative; transition: 0.4s; }
section.btn__changepage div a:hover { transform: translateY(-8px); }
section.btn__changepage div a sup { font-size: 0.5em; line-height: 1.5em; }
section.btn__changepage div.currentpage a { padding-bottom: 24px; color: #FFF; background-color: #315997; }
section.btn__changepage div.currentpage a::after { content: inherit; }
section.btn__changepage div.currentpage a:hover { transform: none; }

@media screen and (max-width: 804px) { section.btn__changepage { display: inherit; border-left: 1px solid #315997; border-bottom: none; }
  section.btn__changepage div { margin: 8px 0 0 0; }
  section.btn__changepage div:first-child { margin-top: 0; }
  section.btn__changepage div a { width: inherit; margin-left: 8px; border-bottom-right-radius: 16px; border-top-left-radius: 0; }
  section.btn__changepage div a:hover { transform: translateX(8px); }
  section.btn__changepage div.currentpage a { margin-left: 0; padding-bottom: 20px; } }
.img__exercise img { max-width: 620px; }

.tb-wd100 table { width: 100% !important; }

/*== stress.html ==*/
.flow-stresscheck p.flow__txt { padding: 10px 16px; font-size: 1.07em; font-weight: 500; color: #335A94; background-color: #F5F5F5; }
.flow-stresscheck p.flow__txt span { padding-left: 1em; font-size: 0.94em; font-weight: 400; color: #333; display: block; }
.flow-stresscheck p.flow__arrow { font-family: 'Material Icons'; font-size: 32px; font-weight: 700; line-height: 1.2em; text-align: center; }

/*== jirei.html jirei2.html ==*/
.jirei #contents p { margin-bottom: 0 !important; }

/*== OTHER CONTENTS ==*/
.default #mainTitle h1 { padding-left: 0; }
.default #mainTitleDetail { left: 48px; }
.default #contents h2.h2Title { margin-bottom: 0; padding: 0 0 8px 0; font-size: 1.33em; color: #333; border-top: none; }
.default #contents h2.h2Title::before { content: '\e2e6'; font-family: 'Material Symbols Outlined'; margin-right: 8px; font-size: 22px; color: #315996; vertical-align: bottom; position: relative; top: 2px; }

@media screen and (max-width: 1024px) { .default #mainTitleDetail { left: 32px; } }
@media screen and (max-width: 640px) { .default #mainTitle h1 { font-size: 1.86em; }
  .default #contents h2.h2Title { font-size: 1.285em; }
  .default #contents h2.h2Title::before { font-size: 20px; } }
@media screen and (max-width: 450px) { .default #mainTitle h1 { font-size: 1.57em; }
  .default #mainTitleDetail { top: 50px; left: 20px; } }
.notice .list__e-pub { margin-top: 35px; }
.notice .list__e-pub li { line-height: 1.75em; }
.notice .list__e-pub li::before { content: '\e061'; font-family: 'Material Icons'; margin-right: 4px; font-size: 12px; color: #7B93B8; }
.notice .list__e-pub li::after { content: '\e415'; font-family: 'Material Symbols Outlined'; margin-left: 2px; font-size: 20px; color: #315996; vertical-align: middle; bottom: 1px; position: relative; }

.sitemap #contents a { background-image: url(../../common/img/side_arrow.gif); }

/* News & Topics */
.nandt #mainTitle h1 { padding-left: 0; }
.nandt #mainTitle p { width: 100%; padding: 4px 0 6px; font-size: 1.33em; font-weight: 500; color: #FFF; text-align: center; border: 1px solid #FFF; }
.nandt #mainTitleDetail { top: 135px; }
.nandt h2.h2Title { border-top: none; }
.nandt #contents table th, .nandt #contents table td { font-size: inherit; }
.nandt #contents table td { width: 75%; }

@media screen and (max-width: 1024px) { .nandt #mainTitleDetail { top: 100px; } }
@media screen and (max-width: 804px) { .nandt #mainTitleDetail { top: 80px; }
  .nandt #contents table td { width: 67%; } }
@media screen and (max-width: 640px) { .nandt #contents table td { width: 60%; } }
@media screen and (max-width: 450px) { .nandt #mainTitle h1 { margin-bottom: 10px; }
  .nandt #mainTitle p { font-size: 1em; }
  .nandt #mainTitleDetail { top: 30px; } }
.list__year { width: 100%; margin-bottom: 60px; box-sizing: border-box; overflow-x: auto; }
.list__year::-webkit-scrollbar { height: 8px; }
.list__year::-webkit-scrollbar-track { background-color: #EAEEF4; }
.list__year::-webkit-scrollbar-thumb { background-color: #315996; border-radius: 4px; }
.list__year ul { display: flex; justify-content: space-between; flex-wrap: nowrap; width: 1080px; padding: 5px 0 16px 0; box-sizing: border-box; }
.list__year ul li a { display: block; padding: 5px 14px 7px 14px; font-size: 1.07em; font-weight: 500; box-sizing: border-box; border-radius: 8px; text-decoration: none; white-space: nowrap; transition: 0.4s; }
.list__year ul li a:hover { color: #315996; transform: translateY(-6px); }
.list__year ul li a.active { color: #FFF; background-color: #315996; }
.list__year ul li a.active:hover { transform: none; }

/*========  company.css  ========*/
.comTop #mainTitle, .nandt #mainTitle, .notice #mainTitle, .privacy #mainTitle, .handling #mainTitle, .security #mainTitle { background-image: url(../../img/company/main_img.jpg) !important; }
.comTop p, .nandt p, .notice p, .privacy p, .handling p, .security p { margin-bottom: 16px; }

.box__w-threecolumn, .box__w-twocolumn { display: flex; justify-content: space-between; width: 100%; }
.box__w-threecolumn h2, .box__w-twocolumn h2 { min-width: 180px; max-height: 9em; margin-right: 40px; font-size: 1.33em; line-height: 9em; color: #FFF; background-color: #335A94; text-align: center; }

@media screen and (max-width: 804px) { .box__w-threecolumn, .box__w-twocolumn { display: inherit; }
  .box__w-threecolumn h2, .box__w-twocolumn h2 { margin-right: 0; margin-bottom: 30px; padding: 15px 0; line-height: inherit; } }
.cont__message { width: 100%; }
.cont__message__pict { min-width: 19%; margin-left: 32px; }
.cont__message__pict img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.cont__message__pict__cap { margin-top: 10px; text-align: center; }
.cont__message__pict__cap span { display: block; font-size: 1.13em; font-weight: 500; }
.cont__idea { width: 100%; }
.cont__idea__txt h3 { font-size: 1.2em; }
.cont__idea__txt h3 span { margin-right: 8px; padding: 0 9px 3px; color: #FFF; font-weight: 700; background-color: #335A94; }
.cont__idea__txt h4 { font-size: 1.07em; font-weight: 600; }
.cont__idea__txt .imgCenter img { max-width: 538px; width: 100%; height: auto; }
.cont__profile { width: 100%; }
.cont__profile__txt h3 { margin-top: 40px; padding-bottom: 8px; font-size: 1.33em; border-bottom: 1px solid #335A94; }
.cont__profile__txt h3::before { content: '\e2e6'; font-family: 'Material Symbols Outlined'; margin-right: 8px; font-size: 22px; color: #315996; vertical-align: bottom; position: relative; top: 2px; }
.cont__profile__txt h3:first-child { margin-top: 0; }
.cont__profile__txt ul li { line-height: 2em; }
.cont__profile__txt ul li a { display: inline-block; text-decoration: none; transition: 0.4s; }
.cont__profile__txt ul li a::after { content: '\e89e'; font-family: 'Material Symbols Outlined'; margin-left: 2px; font-size: 20px; color: #315996; vertical-align: middle; bottom: 1px; position: relative; }
.cont__profile__txt ul li a:hover { transform: translateX(8px); }
.cont__office__outer { display: flex; justify-content: space-between; width: 100%; flex-flow: wrap; }
.cont__office__name { width: 33%; margin-right: 4%; }
.cont__office__name h3 { padding: 16px 4px; font-size: 1.2em; font-weight: 600; color: #315996; border-top: 2px solid #315996; border-bottom: 1px solid #315996; box-sizing: border-box; }
.cont__office__name h3::before { content: '\e55e'; font-family: 'Material Symbols Outlined'; margin-right: 4px; font-size: 32px; font-weight: 300; vertical-align: bottom; position: relative; top: 0; }
.cont__office__map { width: 63%; margin-bottom: 50px; }
.cont__office__map:last-child { margin-bottom: 0; }
.cont__office__map iframe { width: 100%; aspect-ratio: 4/3; }

.table__wrap { display: table; width: 100%; padding: 15px 0; border-bottom: 1px solid #CCC; }
.table__wrap:last-child { padding-bottom: 0; border-bottom: none; }
.table__cell-type1-L { display: table-cell; width: 20%; font-weight: 600; vertical-align: middle; }
.table__cell-type1-R { display: table-cell; width: 80%; }
.table__cell-type2-L { display: table-cell; width: 34%; padding-right: 24px; font-weight: 600; }
.table__cell-type2-R { display: table-cell; width: 66%; }

@media screen and (max-width: 1024px) { .cont__office__outer { display: initial; }
  .cont__office__name { width: 100%; margin-right: 0; }
  .cont__office__map { width: 100%; } }
@media screen and (max-width: 804px) { .cont__message__txt { display: inline-block; width: 100%; }
  .table__cell-type1-L { width: 25%; }
  .table__cell-type1-R { width: 75%; } }
@media screen and (max-width: 450px) { .cont__message__txt { display: inherit; width: 100%; }
  .cont__message__pict { display: inherit; width: 160px; margin: 0 auto; } }
/*========  csr.css  ========*/
.csrTop #mainTitle, .csrArticle #mainTitle { background: url(../../img/csr/main_img.jpg) no-repeat center center; }
.csrTop #mainTitle #mainTitleDetail, .csrArticle #mainTitle #mainTitleDetail { width: initial; margin-left: 0; }
.csrTop #mainTitle h1, .csrArticle #mainTitle h1 { padding-left: 0; }
.csrTop #mainTitle p, .csrArticle #mainTitle p { padding: 0; border: none; }
.csrTop #mainBox, .csrArticle #mainBox { margin-top: 0; }
.csrTop #mainBox #contents, .csrArticle #mainBox #contents { padding-bottom: 0; }
.csrTop #mainBox #contents section, .csrArticle #mainBox #contents section { padding: 60px 48px; border-top: 1px solid #CCC; }
.csrTop #mainBox #contents section:last-child, .csrArticle #mainBox #contents section:last-child { padding-bottom: 0; }
.csrTop #mainBox #contents h3, .csrArticle #mainBox #contents h3 { font-size: 1.47em; }
.csrTop #mainBox #contents p, .csrArticle #mainBox #contents p { font-size: inherit; line-height: inherit; }
.csrTop #mainBox #contents .more a, .csrArticle #mainBox #contents .more a { padding: 12px 48px 13px 32px; font-size: 1em; font-weight: 500; background: #7B93B8; border-radius: 8px; display: inline-block; transition: 0.4s; }
.csrTop #mainBox #contents .more a::after, .csrArticle #mainBox #contents .more a::after { content: url(../img/icon_arrow_triangle_blue.png); top: 0; right: 0; position: absolute; width: inherit; height: inherit; margin-top: inherit; background: none; }
.csrTop #mainBox #contents .more a:hover, .csrArticle #mainBox #contents .more a:hover { transform: translateX(8px); }
.csrTop #mainBox #contents .linkTop a, .csrTop #mainBox #contents .linkContact a, .csrArticle #mainBox #contents .linkTop a, .csrArticle #mainBox #contents .linkContact a { font-weight: 500; text-decoration: none; background: #EAEEF4; border-radius: 8px; display: inline-block; transition: 0.4s; position: relative; }
.csrTop #mainBox #contents .linkTop a, .csrArticle #mainBox #contents .linkTop a { padding: 12px 24px 13px 40px; }
.csrTop #mainBox #contents .linkTop a::before, .csrArticle #mainBox #contents .linkTop a::before { content: url(../img/icon_arrow_triangle_black-L.png); top: 0; left: 0; position: absolute; }
.csrTop #mainBox #contents .linkTop a:hover, .csrArticle #mainBox #contents .linkTop a:hover { transform: translateX(-8px); }
.csrTop #mainBox #contents .linkContact a, .csrArticle #mainBox #contents .linkContact a { padding: 12px 40px 13px 24px; }
.csrTop #mainBox #contents .linkContact a::after, .csrArticle #mainBox #contents .linkContact a::after { content: url(../img/icon_arrow_triangle_black.png); top: 0; right: 0; position: absolute; }
.csrTop #mainBox #contents .linkContact a:hover, .csrArticle #mainBox #contents .linkContact a:hover { transform: translateX(8px); }

@media screen and (max-width: 804px) { .csrTop #mainBox #contents section, .csrArticle #mainBox #contents section { padding: 60px 0; }
  .csrTop #mainBox #contents section h3, .csrArticle #mainBox #contents section h3 { font-size: 1.29em; } }
@media screen and (max-width: 640px) { .csrTop #mainBox #contents .linkTop a, .csrArticle #mainBox #contents .linkTop a { padding: 12px 10px 13px 24px; }
  .csrTop #mainBox #contents .linkContact a, .csrArticle #mainBox #contents .linkContact a { padding: 12px 24px 13px 10px; } }
#contents .lead { margin: 0; padding-top: 0; }
#contents .lead h2 { margin-top: 0; padding-bottom: 20px; font-size: 1.87em; line-height: 1.5em; }

@media screen and (max-width: 804px) { #contents .lead h2 { font-size: 1.57em; } }
.csrArticle h2 { margin-top: 0; padding-bottom: 20px; font-size: 1.87em; line-height: 1.5em; color: #315996; }
.csrArticle section { border-top: none !important; }

@media screen and (max-width: 804px) { .csrArticle h2 { font-size: 1.57em; } }
.btn-sbys { display: flex; justify-content: space-between; flex-wrap: nowrap; }

/*========  err  ========*/
#f_sitemap td a { background-image: url(../../common/img/f_arrow.gif); }

#gNavi .subNavi { background-image: none; }
