@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/icon?family=Material+Icons");
/* 32px */
/* 28px */
/* 24px */
/* min:14px max:42px */
/* 18px */
/* 16px */
/* 14px */
/* 12px */
.noto-serif {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal; }

/* ---サイト全体--- */
* {
  margin: 0px;
  padding: 0px;
  font-style: normal; }

body {
  margin: 0px;
  padding: 0px;
  font-size: 1rem;
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  background: linear-gradient(#b2c6e6 0%, white 150px, white 100%) no-repeat; }

a {
  color: #1e51a2; }

a:hover {
  color: #cad8ee; }

a img {
  border: none; }

sup, sub {
  font-size: 10px; }

.photo img {
  width: 100%;
  height: auto; }

.photo-auto img {
  width: auto;
  max-width: 100%;
  height: auto; }

/* *********** CLASS *********************************** */
.flR {
  float: right !important; }

.flL {
  float: left !important; }

.pdTop14 {
  padding-top: 14px !important; }

.pdTop107 {
  padding-top: 107px !important; }

.pdBtm14 {
  padding-bottom: 14px !important; }

.pdRt14 {
  padding-right: 14px !important; }

.pdLt14 {
  padding-left: 14px !important; }

.pdLt20 {
  padding-left: 20px !important; }

.pdLt1em {
  padding-left: 1em !important; }

.mgn10 {
  margin: 10px !important; }

.mgnBtm5 {
  margin-bottom: 5px !important; }

.mgnBtm10 {
  margin-bottom: 10px !important; }

.mgnBtm14 {
  margin-bottom: 14px !important; }

.mgnBtm18 {
  margin-bottom: 18px !important; }

.mgnBtm20 {
  margin-bottom: 20px !important; }

.mgnBtm24 {
  margin-bottom: 24px !important; }

.mgnBtm30 {
  margin-bottom: 30px !important; }

.mgnBtm36 {
  margin-bottom: 36px !important; }

.mgnBtm48 {
  margin-bottom: 48px !important; }

.mgnBtm60 {
  margin-bottom: 60px !important; }

.mgnBtm276 {
  margin-bottom: 276px !important; }

.mgnBtm310 {
  margin-bottom: 310px !important; }

.mgnTop0 {
  margin-top: 0 !important; }

.mgnTop10 {
  margin-top: 10px !important; }

.mgnTop15 {
  margin-top: 15px !important; }

.mgnTop24 {
  margin-top: 24px !important; }

.mgnTop40 {
  margin-top: 40px !important; }

.mgnTop-40 {
  margin-top: -40px !important; }

.mgnRt0 {
  margin-right: 0 !important; }

.mgnRt5 {
  margin-right: 5px !important; }

.mgnRt10 {
  margin-right: 10px !important; }

.mgnRt15 {
  margin-right: 15px !important; }

.mgnRt40 {
  margin-right: 40px !important; }

.mgnLt0 {
  margin-left: 0 !important; }

.mgnLt5 {
  margin-left: 5px !important; }

.mgnLt30 {
  margin-left: 30px !important; }

.mgnLt180 {
  margin-left: 180px !important; }

.mgnLt1em {
  margin-left: 1em !important; }

.bold {
  font-weight: bold !important; }

.normal {
  font-weight: normal !important; }

.fs136 {
  font-size: 152% !important; }

.fs16 {
  font-size: 16px !important; }

.alignCenter {
  text-align: center !important; }

.alignRt {
  text-align: right !important; }

.cautionColor {
  color: #ff4141 !important; }

.notice {
  color: #919090 !important;
  font-size: 92% !important; }

.bluecolor {
  color: #1E51A2 !important; }

.txt {
  font-size: 1em;
  line-height: 1.5;
  text-align: justify;
  text-justify: inter-ideograph; }

.text00 {
  margin: 0px;
  padding: 0px; }

.text10 {
  margin: 0px;
  padding: 10px; }

.text01 {
  margin: 0px;
  padding: 10px 20px 0px 0px; }

.text02 {
  margin: 0px;
  padding: 20px 20px 20px 0px; }

.text03 {
  margin: 0px;
  padding: 10px 0px 20px; }

.text04 {
  padding: 0px 20px 20px 0px; }

.text05 {
  padding: 20px 0px 0px; }

.text06 {
  margin: 0px;
  padding: 0px 0px 20px;
  line-height: 1.5; }

.text07 {
  margin: 0px;
  padding: 40px 0px 20px; }

.txtright {
  text-align: right; }

.textem {
  padding: 0px 0px 20px;
  width: 33em; }

.justify {
  text-align: justify;
  text-justify: inter-ideograph; }

.spacing {
  letter-spacing: -1px; }

.imgleft {
  margin: 0px;
  padding: 0px 20px 0px 0px;
  float: left; }

.imgright {
  margin: 0px;
  padding: 0px 0px 0px 20px;
  float: right; }

.imgleftborder {
  margin: 0px 15px 15px 0px;
  padding: 3px;
  float: left;
  border: 1px solid #CCCCCC; }
  @media only screen and (max-width: 768px) {
    .imgleftborder {
      float: none;
      margin: 0 auto 15px;
      width: auto;
      max-width: 100%;
      height: auto; } }

.imgborder {
  margin: 0px;
  padding: 3px;
  float: left;
  border: 1px solid #CCCCCC; }

.img-border {
  margin: 0px;
  padding: 3px;
  border: 1px solid #CCCCCC; }

.opacity a:hover img {
  filter: alpha(opacity=65);
  -moz-opacity: 0.65;
  opacity: 0.65; }

/* ---回り込み解除1--- */
/* ボックスの最後に空のdivboxを追加する */
.clear {
  clear: both;
  margin: 0px;
  padding: 0px;
  height: 0px;
  visibility: hidden; }

/* ---回り込み解除その2--- */
/* ---Floatさせた画像がはみ出す場合、Pタグに「clearfix」を指定--- */
.clearfix {
  margin: 0px;
  padding: 0px; }

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0px;
  visibility: hidden; }

.clearfix {
  min-height: 1px;
  display: block; }

#wrap {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: left; }

#content {
  margin: 0px auto;
  padding: 40px 0 0;
  width: 93%;
  max-width: 1000px; }

.inner {
  margin: 0px auto;
  padding: 0;
  width: 93%;
  max-width: 1000px; }

#logo {
  margin: 0 0 10px;
  padding: 0px;
  width: 350px;
  height: 65px; }

#logo a {
  margin: 0px;
  padding: 0;
  width: 350px;
  height: 65px;
  text-indent: -9999px;
  background: url(../img/default/logo.png?2022) no-repeat 0 0;
  display: block; }

#main--header {
  margin: 0px auto 0px;
  padding: 0px;
  width: 100%;
  display: block;
  top: 0;
  left: 0;
  z-index: 199; }

#main--header .headerIn {
  margin: 0px auto;
  padding: 10px 0;
  width: 93%;
  max-width: 1000px;
  position: relative;
  text-align: left; }

#mainnavi {
  margin: 0px;
  padding: 0px;
  width: 100%; }

#mainnavi ul {
  margin: 0px;
  padding: 0px;
  width: 100%;
  list-style: none;
  display: flex;
  flex-wrap: nowrap; }

#mainnavi li {
  margin: 0px;
  padding: 0px;
  flex: 1;
  box-sizing: border-box;
  border-right: 1px solid #fff; }
  #mainnavi li:last-of-type {
    border-right: none; }

#mainnavi li a {
  display: block;
  padding: 20px 0;
  list-style: none;
  text-decoration: none;
  background: #3e6aaf;
  background: linear-gradient(180deg, #3e6aaf 0%, #4c76bb 50%, #2f61b2 50%, #4b7ccb 100%) no-repeat;
  font-size: 15px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  text-align: center; }

#mainnavi li a:hover,
body#bodytop #mainnavi > ul > li#navi01 > a,
body#bodycompany #mainnavi > ul > li#navi02 > a,
body#bodyresearch #mainnavi > ul > li#navi03 > a,
body#bodytest #mainnavi > ul > li#navi04 > a,
body#bodyoem #mainnavi > ul > li#navi05 > a,
body#bodyconsult #mainnavi > ul > li#navi06 > a,
body#bodycontact #mainnavi > ul > li#navi07 > a {
  display: block;
  list-style: none;
  text-decoration: none;
  border: none;
  background: #8ba9d9;
  background: linear-gradient(180deg, #8ba9d9 0%, #88a6d8 50%, #7397d1 50%, #7397d1 100%) no-repeat; }

#navi {
  display: none; }

@media only screen and (max-width: 1020px) {
  #mainnavi {
    display: none; }

  #navi {
    display: block; }

  #g-nav {
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
    top: -120%;
    left: 0;
    width: 100%;
    height: 100vh;
    /*ナビの高さ*/
    background: #8ba9d9;
    /*動き*/
    transition: all 0.6s; }

  /*アクティブクラスがついたら位置を0に*/
  #g-nav.panelactive {
    top: 0; }

  /*ナビゲーションの縦スクロール*/
  #g-nav.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    /*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch; }

  /*ナビゲーション*/
  #g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }

  /*リストのレイアウト設定*/
  #g-nav li {
    list-style: none;
    text-align: center; }

  #g-nav li a {
    color: #333;
    text-decoration: none;
    padding: 10px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: bold; }

  /*========= ボタンのためのCSS ===============*/
  .openbtn {
    position: fixed;
    z-index: 9999;
    /*ボタンを最前面に*/
    top: 10px;
    right: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px; }

  /*×に変化*/
  .openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #2f61b2;
    width: 45%; }

  .openbtn span:nth-of-type(1) {
    top: 15px; }

  .openbtn span:nth-of-type(2) {
    top: 23px; }

  .openbtn span:nth-of-type(3) {
    top: 31px; }

  .openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%; }

  .openbtn.active span:nth-of-type(2) {
    opacity: 0; }

  .openbtn.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%; } }
#bottom {
  margin: 50px auto 0;
  padding: 0px;
  width: 100%;
  text-align: center;
  background: #0a2f69;
  background: linear-gradient(0deg, #0a2f69 0%, #1e51a2 100%); }

#bottom #footer {
  margin: 0px auto;
  width: 93%;
  max-width: 1000px;
  padding: 15px;
  position: relative;
  box-sizing: border-box; }

#bottom #footer p {
  padding: 20px 0px 0px;
  text-align: left;
  font-size: 10px;
  color: #FFFFFF; }

#bottom #footer #footerlist {
  margin: 0px;
  padding: 0px;
  list-style: none;
  display: flex;
  flex-wrap: wrap; }

#bottom #footer #footerlist li {
  list-style: none;
  padding: 0px 8px 0px 8px;
  border-right: 1px #FFFFFF solid; }

#bottom #footer #footerlist li a {
  color: #FFFFFF;
  font-size: 10px; }

#bottom #footer #footerlist li dt, #bottom #footer #footerlist li dd {
  line-height: 130%;
  text-align: left; }

#bottom #footer .footer_In {
  margin: 0;
  padding: 15px 0 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 30px; }
  @media only screen and (max-width: 1020px) {
    #bottom #footer .footer_In {
      flex-direction: column; } }

#bottom #footer .footer_In p {
  margin: 0;
  margin-right: 20px;
  padding: 0px;
  text-align: left;
  font-size: 10px;
  color: #FFFFFF; }

#bottom #footer .footer_In p.footer_logo {
  width: 50px;
  margin-right: 10px;
  padding: 0; }

#bottom #footer .footer_In p.footer_logo img {
  width: 100%;
  height: auto; }

#bottom #footer .footer_In ul {
  display: flex;
  list-style: none;
  flex-wrap: nowrap; }
  @media only screen and (max-width: 1020px) {
    #bottom #footer .footer_In ul {
      flex-wrap: wrap; } }

#bottom #footer .footer_In ul li {
  display: block;
  margin-right: 5px;
  list-style: none;
  width: 45px; }

#bottom #footer .footer_In ul li img {
  width: 100%;
  height: auto; }

.container {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 67% auto;
  grid-template-rows: auto;
  width: 100%;
  gap: 40px; }
  @media only screen and (max-width: 1020px) {
    .container {
      grid-template-columns: repeat(1, 1fr);
      grid-row-gap: 80px; } }

.banner {
  margin: 0px 0 20px;
  padding: 0;
  width: 100%;
  display: block; }

.banner img {
  width: 100%;
  height: auto; }

.banner a:hover img {
  filter: alpha(opacity=65);
  -moz-opacity: 0.65;
  opacity: 0.65; }

.quicknavi {
  margin: 0 0 50px;
  padding: 10px 14px;
  display: block;
  position: relative;
  background-image: url("../img/quicknavi_bg.jpg");
  background-position: left top;
  background-repeat: no-repeat;
  background-size: contain; }
  @media only screen and (max-width: 1020px) {
    .quicknavi {
      background: none; } }
  .quicknavi::before, .quicknavi::after {
    content: "";
    position: absolute;
    z-index: -1; }
  .quicknavi::before {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, white 0%, #d4e4f4 100%);
    clip-path: polygon(0 0, calc(100% - 32px) 0, 100% 32px, 100% 100%, 0 100%); }
  .quicknavi::after {
    top: 0%;
    right: 0%;
    height: 32px;
    width: 32px;
    background-color: rgba(160, 183, 233, 0.52);
    box-shadow: -4px 4px 4px rgba(0, 0, 0, 0.24);
    clip-path: polygon(0 0, 0% 100%, 100% 100%); }

.quicknavi > div {
  padding: 20px 20px 0px 20%; }
  @media only screen and (max-width: 1020px) {
    .quicknavi > div {
      padding-left: 20px; } }
  .quicknavi > div h1 {
    margin: 0 0 15px;
    font-size: 24px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    text-align: center; }
    .quicknavi > div h1 span {
      display: inline-block; }
    @media only screen and (max-width: 1020px) {
      .quicknavi > div h1 {
        background-image: url("../img/quicknavi_bg.jpg");
        background-position: left top;
        background-repeat: no-repeat;
        background-size: contain;
        padding-left: 15%; } }
  .quicknavi > div article {
    margin: 0 auto 20px;
    padding: 15px 15px 10px;
    border-radius: 10px;
    box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.24);
    display: grid;
    grid-template-columns: 60% auto;
    grid-template-rows: auto;
    width: 100%;
    gap: 20px; }
    .quicknavi > div article a {
      display: grid;
      flex-direction: column;
      grid-row: span 3; }
      .quicknavi > div article a h2 {
        margin: 0 0 15px; }
        .quicknavi > div article a h2 img {
          width: auto;
          max-width: 100%;
          height: auto; }
      .quicknavi > div article a p {
        color: #000;
        text-decoration: none;
        flex-grow: 1; }
      .quicknavi > div article a p.yajirushi {
        margin: 15px 0 0;
        padding: 0;
        display: block;
        text-align: right; }
    .quicknavi > div article picture img {
      width: 100%;
      height: auto; }
  .quicknavi > div article.indexbtn01 {
    background-image: url("../img/btn_bg_01.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover; }
    .quicknavi > div article.indexbtn01 a p.yajirushi {
      padding-top: 15px;
      border-top: 1px solid #4d7fd0; }
    .quicknavi > div article.indexbtn01 a p.yajirushi span {
      background: url("../img/yajirushi01.png") no-repeat left center;
      padding-left: 30px;
      display: inline-block; }
  .quicknavi > div article.indexbtn02 {
    background-image: url("../img/btn_bg_02.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover; }
    .quicknavi > div article.indexbtn02 a p.yajirushi {
      padding-top: 15px;
      border-top: 1px solid #6c57d4; }
    .quicknavi > div article.indexbtn02 a p.yajirushi span {
      background: url("../img/yajirushi02.png") no-repeat left center;
      padding-left: 30px;
      display: inline-block; }
    .quicknavi > div article.indexbtn02 a h2 {
      color: #6c57d4;
      font-weight: 600;
      font-size: 1.125rem; }
  .quicknavi > div article.indexbtn03 {
    background-image: url("../img/btn_bg_03.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover; }
    .quicknavi > div article.indexbtn03 a p.yajirushi {
      padding-top: 15px;
      border-top: 1px solid #12b69a; }
    .quicknavi > div article.indexbtn03 a p.yajirushi span {
      background: url("../img/yajirushi03.png") no-repeat left center;
      padding-left: 30px;
      display: inline-block; }
    .quicknavi > div article.indexbtn03 a h2 {
      color: #68cdbc;
      font-weight: 600;
      font-size: 1.125rem; }
  .quicknavi > div .row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    width: 100%;
    gap: 20px; }
    @media only screen and (max-width: 1020px) {
      .quicknavi > div .row {
        grid-template-columns: repeat(1, 1fr);
        gap: 0; } }

.grid-list {
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  width: 100%;
  gap: 20px; }
  @media only screen and (max-width: 768px) {
    .grid-list {
      grid-template-columns: repeat(1, 1fr);
      row-gap: 3rem; } }
  .grid-list.company_navi {
    gap: 40px; }
    .grid-list.company_navi article {
      padding: 12px;
      border: 1px solid #cad8ee; }
      .grid-list.company_navi article a p {
        padding: 10px 0 0;
        color: #121212;
        line-height: 1.4; }
      .grid-list.company_navi article.research_img {
        padding: 0;
        border: none; }

.grid-list article h3 {
  margin: 0;
  padding: 0 0 0.75rem;
  display: block;
  font-weight: bold;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif; }
  .grid-list article h3 img:hover {
    opacity: 0.75; }
.grid-list article figure {
  width: 100%; }
  .grid-list article figure img {
    width: 100%;
    height: auto; }
    .grid-list article figure img:hover {
      opacity: 0.75; }

.news_ttl {
  margin: 0 0 20px;
  padding: 20px;
  border: 1px solid #cad8ee;
  border-bottom: 2px solid #5182d1;
  background: linear-gradient(white 0%, #d4e4f4 100%);
  border-radius: 10px 10px 0 0; }
  .news_ttl h3 {
    margin: 0;
    padding: 0 0 0 10px;
    border-left: 5px solid #5182d1;
    color: #5182d1;
    font-size: 18px;
    line-height: 1;
    font-weight: bold; }

p.rssbtn {
  margin: 0px;
  padding: 0px;
  position: relative;
  width: 100%; }

p.rssbtn a {
  position: absolute;
  top: -14px;
  right: 0;
  background: url(../img/arrow.jpg) no-repeat 0 0;
  font-size: 12px;
  padding-left: 20px; }

#newsbox {
  margin: 0px;
  padding: 0;
  width: 100%; }
  #newsbox .newslist {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    font-size: 14px;
    border-bottom: 1px solid #cad8ee; }
    @media only screen and (max-width: 768px) {
      #newsbox .newslist {
        flex-direction: column;
        margin-bottom: 10px; } }
    #newsbox .newslist dt {
      padding: 8px 0px;
      width: 10.5em;
      font-weight: normal; }
      @media only screen and (max-width: 768px) {
        #newsbox .newslist dt {
          width: 100%; } }
      #newsbox .newslist dt span {
        margin: -2px 0 0 10px;
        padding: 3px 5px 1px;
        display: inline-block;
        color: #fff;
        line-height: 1;
        font-size: 10px;
        vertical-align: middle; }
    #newsbox .newslist dd {
      padding: 8px 0px;
      width: calc( 100% - 10.5em );
      line-height: 1.5; }
      @media only screen and (max-width: 768px) {
        #newsbox .newslist dd {
          width: 100%; } }

#newsbox .newslist dt span.markmedia {
  background-color: #f5a519; }

#newsbox .newslist dt span.markcompany {
  background-color: #1e51a2; }

#newsbox .newslist dt span.markchina {
  background-color: #f93826; }

.sidebox {
  margin: 0px 0px 40px;
  padding: 15px;
  border: 1px solid #cad8ee;
  width: 100%;
  box-sizing: border-box; }
  .sidebox h4 {
    margin: 0 0 20px;
    padding: 0 0 0 10px;
    border-left: 5px solid #5182d1;
    font-size: 16px;
    color: #5182d1;
    line-height: 1; }
  .sidebox ul {
    margin: 15px 0px 0px;
    padding: 0px;
    width: 100%;
    list-style: none;
    font-size: 14px; }
    .sidebox ul li {
      margin: 0px;
      padding: 0px 0px 10px;
      width: 100%;
      list-style: none;
      font-size: 14px;
      color: #333; }
      .sidebox ul li img {
        border: none;
        text-decoration: none; }
      .sidebox ul li a {
        color: #1e51a2; }
        .sidebox ul li a img {
          border: none;
          text-decoration: none; }

.pagettl {
  margin: 0 0 40px;
  padding: 0;
  display: block; }
  .pagettl h1 {
    margin: 0;
    padding: 14px 0px 14px 20px;
    border-left: 6px solid #1e51a2;
    font-size: 32px;
    font-weight: bold;
    line-height: 1;
    color: #1e51a2; }

.sidenavi {
  margin: 0px 0px 40px;
  padding: 0px;
  width: 100%;
  top: 180px; }

.sidenavi h4 {
  margin: 0;
  padding: 0;
  text-indent: 0; }

.sidenavi h4 img {
  vertical-align: bottom; }

.sidettl {
  margin: 0 0 10px;
  padding: 0;
  display: block; }
  .sidettl h3 {
    margin: 0;
    padding: 5px 0px 5px 8px;
    border-left: 3px solid #5182d1;
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 1;
    color: #5182d1; }
    .sidettl h3 span {
      display: block;
      margin: 10px 0 0 0;
      padding: 0;
      font-size: 0.7rem;
      line-height: 1;
      color: #5182d1; }

.sidenavi ul {
  margin: 0px;
  padding: 0px;
  width: 100%;
  list-style: none;
  font-size: 1rem; }

.sidenavi li {
  margin: 0px;
  padding: 0px;
  width: 100%;
  display: block; }
  .sidenavi li.areas {
    margin: 0px;
    padding: 10px 0;
    background: #1e51a2;
    color: #FFFFFF;
    text-align: center; }

.sidenavi li a {
  margin: 0px;
  padding: 10px 0px 10px 33px;
  display: block;
  border: 1px #cad8ee solid;
  border-top: none;
  color: #4377cd;
  text-decoration: none;
  position: relative; }

.sidenavi li:first-of-type a {
  border-top: 1px #cad8ee solid !important; }

.sidenavi li a::after {
  /* くの字の表示設定 */
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 10px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #5182d1;
  border-right: 2px solid #5182d1;
  transform: rotate(45deg); }

.sidenavi li a:hover {
  color: #5182D1;
  background: #cdd9ef;
  background: linear-gradient(0deg, #cdd9ef 0%, white 100%); }

.sidenavi li#forcus a {
  font-weight: bold;
  color: #5182D1;
  background: #cdd9ef;
  background: linear-gradient(0deg, #cdd9ef 0%, white 100%); }

#inquiry_form {
  width: 70%;
  margin: 60px auto 30px;
  padding: 0;
  text-align: center;
  display: block; }

.inquiry_form {
  width: 100%;
  margin: 0 auto 30px;
  padding: 0;
  text-align: center;
  display: block; }

#inquiry_form a,
.inquiry_form a {
  display: block;
  padding: 20px;
  border: 1px solid #1E51A2;
  border-radius: 7px;
  background: #1E51A2;
  font-size: 18px;
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
  font-family: inherit;
  -webkit-appearance: none; }

#inquiry_form a:hover,
.inquiry_form a:hover {
  cursor: pointer;
  background: #0F3C83;
  border: 1px solid #0F3C83; }

.button {
  margin-bottom: 30px;
  width: 100%; }

.button a {
  background: #eb6100;
  border-radius: 9999px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 100%;
  padding: 20px 20px 20px 0;
  line-height: 1.8;
  text-decoration: none;
  color: #fff;
  border-bottom: solid 5px #b65511;
  transition: 0.3s ease-in-out; }

.button a:before {
  content: "\e0be";
  position: relative;
  font-family: 'Material Icons';
  font-weight: normal;
  margin-right: 20px;
  color: #fff;
  transition: 0.3s ease-in-out;
  font-size: 24px; }

.button a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2em;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg); }

.button a:hover:after {
  right: 1.4em; }

.button a:hover {
  background: #ee8134;
  color: #FFF;
  border-bottom: solid 2px #999;
  transform: translateY(3px); }

.button a:hover:before {
  color: #fff; }

.tooltip {
  font-size: 100%;
  font-weight: 500;
  position: relative;
  margin-bottom: .5rem;
  text-align: center;
  color: #eb6100; }

.tooltip:before {
  margin-right: 1rem;
  content: '＼'; }

.tooltip:after {
  margin-left: 1rem;
  content: '／'; }

.button2 {
  margin: 50px auto 0; }
  @media only screen and (max-width: 1020px) {
    .button2 {
      display: none; } }

.button2 a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  border-radius: 9999px;
  width: 70%;
  padding: 25px;
  color: #fff;
  line-height: 1.8;
  text-decoration: none;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  background: linear-gradient(270deg, #3bade3 0%, #576fe6 25%, #9844b7 51%, #ff357f 100%);
  background-position: 1% 50%;
  background-size: 200% auto;
  transition: all 0.3s ease-out; }

.button2 a:hover {
  color: #fff;
  background-position: 99% 50%;
  transform: scale(1.05);
  /*ボックスの影*/
  box-shadow: 0 15px 15px rgba(87, 111, 230, 0.4); }

.button2 a:after {
  content: '';
  width: 8px;
  height: 8px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out; }

.material-symbols-outlined::before {
  content: "\e415";
  position: relative;
  font-family: 'Material Icons';
  font-weight: normal;
  margin-right: 12px;
  color: #EA3323;
  font-size: 20px; }

ul.arrows {
  margin: 0px;
  padding: 20px 0px 0px;
  list-style: none; }

ul.arrows li {
  margin: 0px 0px 5px;
  padding: 0px 0px 0px 15px;
  background: url(../img/arrow_s.jpg) no-repeat 0 50%;
  font-size: 12px; }

table.about {
  margin: 0px;
  padding: 0px;
  width: 100%;
  border-collapse: collapse;
  font-size: 1em; }

table.about th {
  margin: 0px;
  padding: 15px;
  border: 1px solid #cad8ee;
  width: 6em;
  background: #cfe1f7;
  text-align: center;
  vertical-align: top; }

table.about td {
  margin: 0px;
  padding: 15px;
  border: 1px solid #cad8ee;
  text-align: left;
  vertical-align: top;
  line-height: 1.5; }

table.about td ul.ads {
  margin: 0px;
  padding: 0px;
  list-style: none; }

table.about td ul.ads li {
  margin: 0px;
  padding: 0px;
  list-style: none; }

table.about td ol {
  margin: 0px 0px 0px 30px;
  padding: 0px;
  list-style: decimal;
  list-style-position: outside; }

.mapimg {
  margin: 15px 0px 20px;
  padding: 0px; }
  .mapimg img {
    width: auto;
    max-width: 383px;
    height: auto; }

.gallery02 {
  clear: both; }

dl.researcherea {
  width: 249px;
  float: left;
  margin: 0px 15px 15px 0px;
  padding: 12px;
  border: 1px solid #cad8ee; }

.gallery02 h3 a:hover img,
dl.researcherea dd a:hover img {
  filter: alpha(opacity=65);
  -moz-opacity: 0.65;
  opacity: 0.65; }

#lastbox {
  margin-right: 0px; }

#lastbox02 {
  margin-right: 0px; }

#lastbox03 {
  margin-right: 0px; }

dl.researcherea dt {
  display: block; }

dl.researcherea dd {
  margin: 0px;
  padding: 7px 0px 0px;
  font-size: 12px; }

.textem19 {
  margin: 0px;
  padding: 0px;
  width: 19em; }

.gallery02 #searchimg01 a {
  width: 249px;
  height: 80px;
  background: url(../img/research/gallery_img01.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 #searchimg01 a:hover {
  width: 249px;
  height: 80px;
  background: url(../img/research/gallery_img01_ro.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 #searchimg02 a {
  width: 249px;
  height: 80px;
  background: url(../img/research/gallery_img02.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 #searchimg02 a:hover {
  width: 249px;
  height: 80px;
  background: url(../img/research/gallery_img02_ro.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 #searchimg03 a {
  width: 249px;
  height: 80px;
  background: url(../img/research/gallery_img03.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 #searchimg03 a:hover {
  width: 249px;
  height: 80px;
  background: url(../img/research/gallery_img03_ro.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 #searchimg04 a {
  width: 249px;
  height: 80px;
  background: url(../img/research/gallery_img04.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 #searchimg04 a:hover {
  width: 249px;
  height: 80px;
  background: url(../img/research/gallery_img04_ro.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 #companyimg01 a {
  width: 249px;
  height: 80px;
  background: url(../img/company/gallery_img01.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 #companyimg01 a:hover {
  width: 249px;
  height: 80px;
  background: url(../img/company/gallery_img01_ro.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 #companyimg02 a {
  width: 249px;
  height: 80px;
  background: url(../img/company/gallery_img02.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 #companyimg02 a:hover {
  width: 249px;
  height: 80px;
  background: url(../img/company/gallery_img02_ro.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 #companyimg03 a {
  width: 249px;
  height: 80px;
  background: url(../img/company/gallery_img03.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 #companyimg03 a:hover {
  width: 249px;
  height: 80px;
  background: url(../img/company/gallery_img03_ro.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 #companyimg04 a {
  width: 249px;
  height: 80px;
  background: url(../img/company/gallery_img04.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 #companyimg04 a:hover {
  width: 249px;
  height: 80px;
  background: url(../img/company/gallery_img04_ro.jpg) no-repeat;
  text-indent: -900em;
  display: block; }

.gallery02 ul {
  width: 279px;
  float: left;
  margin: 0px 15px 15px 0px;
  padding: 0px;
  list-style: none; }

.gallery02 li {
  margin: 0px;
  padding: 0px 0px 15px 0px;
  list-style: none; }

.gallery02 li a img {
  margin: 0px;
  border: none; }

.gallery02 li a:hover img {
  filter: alpha(opacity=65);
  -moz-opacity: 0.65;
  opacity: 0.65; }

.imgvalign {
  vertical-align: middle; }

ul.linklist {
  margin: 0px;
  padding: 0px;
  list-style: none; }

ul.linklist li {
  margin: 0px 0px 20px;
  padding: 0px 0px 0px 18px;
  background: url(../img/link/linklist.jpg) no-repeat 0 0.2em; }

.contactbox {
  margin: 0px;
  padding: 0px;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  gap: 30px; }
  @media only screen and (max-width: 768px) {
    .contactbox {
      flex-direction: column-reverse; } }

.contactbox .contactimg {
  margin: 0px;
  padding: 0px;
  width: 135px; }

.contactbox .contactus {
  margin: 0px;
  padding: 0px;
  width: 398px; }
  @media only screen and (max-width: 768px) {
    .contactbox .contactus {
      width: 100%; } }

.contactbox .contactus ul {
  list-style: none; }

.contactbox .contactus ul li {
  margin-bottom: 15px; }

ul.telnumber {
  margin: 0px 0px 50px;
  padding-left: 75px;
  padding-top: 4px;
  background: url(../img/contact/telimg.jpg) no-repeat;
  vertical-align: middle;
  list-style: none; }

.faximg {
  margin: 0px;
  padding: 0px 0px 0px 45px;
  background: url(../img/contact/fax.jpg) no-repeat 0 50%; }

.emailimg {
  margin: 0px;
  padding: 0px 0px 0px 45px;
  background: url(../img/contact/email.jpg) no-repeat 0 50%; }

.phoneimg {
  margin: 0px;
  padding: 0px 0px 0px 45px;
  background: url(../img/contact/tel.jpg) no-repeat 0 50%; }

.headoffice {
  margin: 0px;
  padding: 0px 5px;
  background: #aabfe3;
  font-weight: bold; }

.newsdate {
  margin: 0px 0 10px;
  padding: 0px;
  font-size: 0.875rem; }

.newsttl {
  margin: 0px 0px 5px;
  padding: 7px 20px;
  width: 531px;
  border: 1px solid #cad8ee;
  clear: both;
  font-weight: bold;
  position: relative;
  background: url(../img/news/ttl_bar_s.jpg) 15px 0.5em no-repeat; }

.newsttlx {
  margin: 0px 0px 5px;
  padding: 7px 15px;
  width: 100%;
  border: 1px solid #cad8ee;
  clear: both;
  position: relative;
  box-sizing: border-box; }

.newsttlx h3 {
  font-weight: bold;
  border-left: 3px solid #5182D1;
  padding-left: 10px;
  line-height: 1.4; }

.newscnt {
  margin: 0px;
  padding: 30px 0;
  width: 100%;
  border-bottom: 1px solid #cad8ee;
  clear: both;
  position: relative;
  box-sizing: border-box; }
  .newscnt p {
    margin: 0 0 30px;
    padding: 0; }
    .newscnt p img {
      width: auto;
      max-width: 100%;
      height: auto; }

.newscnt .photocaption {
  display: block;
  padding: 5px 0 6px 0;
  font-size: 12px; }

ul.planelist {
  margin: 0px 0 1em;
  padding: 0px; }

ul.planelist li {
  margin: 0px 0px 5px;
  list-style: inside;
  text-indent: -1em;
  padding-left: 1em; }

/* jQuery lightBox plugin - Gallery style */
.gallery {
  padding: 0px;
  width: 220px;
  float: right; }

.gallery ul {
  list-style: none; }

.gallery ul li {
  display: inline; }

.gallery ul img {
  border: 5px solid #cad8ee;
  border-width: 10px; }

.gallery ul a img {
  border: 5px solid #cad8ee;
  border-width: 10px; }

.gallery ul a:hover img {
  border: 5px solid #8db9da;
  border-width: 10px;
  color: #666; }

.gallery ul a:hover {
  color: #fff; }

p.rssbtn02 {
  margin: 0px 0px 30px;
  padding: 0px;
  position: relative;
  width: 100%; }

p.rssbtn02 a {
  position: absolute;
  top: 12px;
  right: 15px;
  background: url(../img/arrow.jpg) no-repeat 0 0;
  font-size: 12px;
  padding-left: 20px; }

dl.sitemaplist {
  margin: 0px 0px 23px;
  padding: 0px; }

dl.sitemaplist dt {
  margin: 0px 0px 5px;
  padding: 5px 0px 5px 27px;
  background: url(../img/arrow_l.jpg) no-repeat 5px 50%;
  font-weight: bold;
  border: 1px solid #cad8ee; }

dl.sitemaplist dd {
  margin: 0px 0px 10px 0;
  padding: 0px 0px 0px 35px;
  background: url(../img/arrow_s.jpg) no-repeat 27px 50%; }

p.pdficon {
  background: url(../img/pdficon.jpg) no-repeat 0 0.1em;
  padding: 0px 0px 0px 18px; }

.level01 {
  margin: 0px 0px 15px;
  padding: 8px;
  background: #1E51A2;
  font-weight: bold;
  text-align: center;
  color: #fff;
  font-size: 18px; }

.level02 {
  margin: 0px 0px 10px;
  padding: 2px 5px 2px 8px;
  font-weight: bold;
  color: #1E51A2;
  font-size: 18px;
  border-left: 4px solid #1E51A2; }

.level03 {
  margin: 0px 0 15px;
  padding: 2px 5px 2px 8px;
  font-weight: bold;
  border-left: 4px solid #1E51A2; }

.level04 {
  margin: 0px;
  padding: 2px 0px;
  font-weight: bold; }

.workflow {
  margin: 0px;
  padding: 0px;
  width: 570px; }

.workflow dt {
  margin: 0px;
  padding: 0px 0px 7px 12px;
  border-bottom: 1px #1E51A2 solid; }

.workflow dd {
  margin: 0px 0px 10px;
  padding: 0px 0px 0px 12px;
  background: url(../img/oem/flowarrow.jpg) no-repeat 0 0;
  height: 76px;
  min-height: 76px; }

.workflow dd#lastflow {
  background: none; }

.workflow2 {
  margin: 0px;
  padding: 0px;
  width: 570px;
  list-style: none; }

.workflow2 li {
  margin: 0px;
  padding: 0px 0px 7px 12px;
  list-style: none; }

.workflow2 li#wf01 {
  margin: 0px;
  padding: 5px 0px 7px 250px;
  background: url(../img/oem/flow-1.jpg) no-repeat 0 0;
  height: 95px;
  min-height: 95px;
  list-style: none; }

.workflow2 li#wf02 {
  margin: 0px;
  padding: 5px 0px 7px 250px;
  background: url(../img/oem/flow-2.jpg) no-repeat 0 0;
  height: 95px;
  min-height: 95px;
  list-style: none; }

.workflow2 li#wf03 {
  margin: 0px;
  padding: 5px 0px 7px 250px;
  background: url(../img/oem/flow-3.jpg) no-repeat 0 0;
  height: 95px;
  min-height: 95px;
  list-style: none; }

.workflow2 li#wf04 {
  margin: 0px;
  padding: 5px 0px 7px 250px;
  background: url(../img/oem/flow-4.jpg) no-repeat 0 0;
  height: 95px;
  min-height: 95px;
  list-style: none; }

.workflow2 li#wf05 {
  margin: 0px;
  padding: 0px 0px 7px 250px;
  background: url(../img/oem/flow-5.jpg) no-repeat 0 0;
  height: 100px;
  min-height: 100px;
  list-style: none; }

.workflow2 li#wf06 {
  margin: 0px;
  padding: 0px 0px 7px 250px;
  background: url(../img/oem/flow-6.jpg) no-repeat 0 0;
  height: 100px;
  min-height: 100px;
  list-style: none; }

.workflow2 li#wf07 {
  margin: 0px;
  padding: 0px 0px 7px 250px;
  background: url(../img/oem/flow-7.jpg) no-repeat 0 0;
  height: 100px;
  min-height: 100px;
  list-style: none; }

.workflow2 li#wf08 {
  margin: 0px;
  padding: 0px 0px 7px 250px;
  background: url(../img/oem/flow-8.jpg) no-repeat 0 0;
  height: 100px;
  min-height: 100px;
  list-style: none; }

.productlist {
  margin: 0px 0px 15px;
  padding: 0px;
  list-style: none;
  width: 570px; }

.productlist li {
  float: left;
  width: 280px;
  padding: 0px 0px 5px 0px;
  display: block; }

.borderbox {
  border: 1px solid #666666;
  padding: 15px; }

.productlist2 {
  margin: 0px 0px 15px;
  padding: 0px;
  list-style: none; }

.productlist2 dt {
  margin: 0px;
  padding: 2px 5px 2px 8px;
  font-weight: bold;
  border-left: 4px solid #1E51A2; }

.productlist2 dd {
  margin: 0px;
  padding: 3px 0px 13px 0px;
  display: block; }

.listcate01 {
  margin: 0px 0px 10px;
  padding: 2px 5px 2px 8px;
  font-weight: bold;
  color: #F53418;
  font-size: 16px;
  border-left: 4px solid #F53418; }

.listcate02 {
  margin: 20px 0px 10px;
  padding: 2px 5px 2px 8px;
  font-weight: bold;
  color: #F5A519;
  font-size: 16px;
  border-left: 4px solid #F5A519; }

.listcate03 {
  margin: 20px 0px 10px;
  padding: 2px 5px 2px 8px;
  font-weight: bold;
  color: #F5C919;
  font-size: 16px;
  border-left: 4px solid #F5C919; }

.listcate04 {
  margin: 20px 0px 10px;
  padding: 2px 5px 2px 8px;
  font-weight: bold;
  color: #109B84;
  font-size: 16px;
  border-left: 4px solid #109B84; }

.listcate05 {
  margin: 20px 0px 10px;
  padding: 2px 5px 2px 8px;
  font-weight: bold;
  color: #056555;
  font-size: 16px;
  border-left: 4px solid #056555; }

.listcate06 {
  margin: 20px 0px 10px;
  padding: 2px 5px 2px 8px;
  font-weight: bold;
  color: #1B63BA;
  font-size: 16px;
  border-left: 4px solid #1B63BA; }

.listcate07 {
  margin: 20px 0px 10px;
  padding: 2px 5px 2px 8px;
  font-weight: bold;
  color: #3B24A9;
  font-size: 16px;
  border-left: 4px solid #3B24A9; }

.listcate08 {
  margin: 20px 0px 10px;
  padding: 2px 5px 2px 8px;
  font-weight: bold;
  color: #8879D4;
  font-size: 16px;
  border-left: 4px solid #8879D4; }

.process {
  clear: both;
  position: relative;
  margin-top: 50px; }

.process ul {
  margin: 0px;
  padding: 0px;
  list-style: none; }

.process li {
  margin: 0px;
  padding: 0px 10px 0px 0px;
  list-style: none;
  float: left;
  display: block;
  width: 135px; }

.process li a:hover img {
  filter: alpha(opacity=65);
  -moz-opacity: 0.65;
  opacity: 0.65; }

.process li#lastprpcess {
  padding-right: 0px; }

.processarrow01 {
  position: absolute;
  top: 70px;
  left: 118px; }

.processarrow02 {
  position: absolute;
  top: 70px;
  left: 263px; }

.processarrow03 {
  position: absolute;
  top: 70px;
  left: 408px; }

.consumeract {
  position: absolute;
  top: -47px;
  left: -2px; }

.consumeract a:hover img {
  filter: alpha(opacity=65);
  -moz-opacity: 0.65;
  opacity: 0.65; }

.shampoo_pc {
  position: absolute;
  top: -47px;
  left: 175px; }

.shampoo_pc a:hover img {
  filter: alpha(opacity=65);
  -moz-opacity: 0.65;
  opacity: 0.65; }

.table-wrap {
  width: auto; }
  @media only screen and (max-width: 1020px) {
    .table-wrap {
      max-width: 560px;
      overflow-x: scroll; } }
  @media only screen and (max-width: 768px) {
    .table-wrap {
      max-width: 450px;
      overflow-x: scroll; } }

.process2 {
  margin: 40px 0 0px;
  padding: 0px;
  border-collapse: collapse;
  width: 100%;
  min-width: 600px;
  box-sizing: border-box; }

.process2 td {
  margin: 0px;
  padding: 0px 0px 10px;
  border: none;
  vertical-align: top; }

.process2 td.bluebg01 {
  background: #E7F0F1; }

.process2 td.bluebg02 {
  background: #D5E6F4; }

.process2 td h3 {
  margin: 0;
  padding: 15px 0px;
  position: relative; }

.process2 td h3 a img {
  position: absolute;
  top: -15px; }

.process2 td h3 a:hover img {
  filter: alpha(opacity=65);
  -moz-opacity: 0.65;
  opacity: 0.65; }

.process2 td h3 a img#process22 {
  position: absolute;
  top: -15px;
  left: 20px; }

.process2 td table {
  margin: -4px 0px 0px;
  padding: 0px;
  border: none; }

.process2 td table td {
  margin: 0px;
  padding: 0px;
  border: none; }

.process2 td table td a:hover img {
  filter: alpha(opacity=65);
  -moz-opacity: 0.65;
  opacity: 0.65; }

.processarrow011 {
  position: relative; }

.processarrow011 img {
  position: absolute;
  top: -100px;
  left: 112px; }

.photo263 {
  margin: 0px;
  margin-top: 15px;
  margin-bottom: 15px;
  padding: 0px;
  float: left;
  width: 283px; }
  @media only screen and (max-width: 768px) {
    .photo263 {
      float: none;
      margin: 0 auto 15px;
      width: auto;
      max-width: 100%;
      height: auto; } }

.photo263 img {
  padding: 3px;
  border: 1px solid #CCCCCC; }

.text269 {
  margin: 0px;
  margin-top: 15px;
  margin-bottom: 15px;
  padding: 0px;
  float: left;
  width: 269px; }
  @media only screen and (max-width: 768px) {
    .text269 {
      float: none;
      width: 100%; } }

.flex-list {
  margin: 0 0 48px;
  padding: 0;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 30px; }
  @media only screen and (max-width: 768px) {
    .flex-list {
      flex-direction: column; } }
  @media only screen and (max-width: 768px) {
    .flex-list figure img {
      float: none;
      margin: 0 auto 15px;
      width: auto;
      max-width: 100%;
      height: auto; } }

.privacypolicy {
  margin: 0px 20px;
  padding: 0px;
  list-style: none; }

.privacypolicy li {
  list-style: none;
  padding-bottom: 10px;
  padding: 1em;
  text-indent: -1em;
  line-height: 1.5; }

.recruittable {
  margin: 0px;
  padding: 0px;
  width: 98%;
  border-collapse: collapse;
  font-size: 14px; }

.recruittable th {
  margin: 0px;
  padding: 7px;
  border: 1px solid #cad8ee;
  width: 5em;
  background: url(../img/company/table_thbg.jpg) repeat-x 0 0;
  text-align: center; }

.recruittable td {
  margin: 0px;
  padding: 7px;
  border: 1px solid #cad8ee;
  text-align: left;
  vertical-align: top; }

.factoryimg {
  margin: 0;
  padding: 0;
  position: relative;
  height: 720px !important; }

#longliqilink {
  margin: 30px auto;
  padding: 0; }

#tradepage {
  width: 100%;
  position: relative; }

#tradepage ul {
  margin: 0;
  padding: 0; }

#tradepage ul li {
  list-style: inside;
  padding-bottom: 7px; }

.articleslist {
  margin: 20px 0 30px; }

.articleslist li {
  list-style: none;
  margin: 0;
  padding: 0 0 10px; }

.grid-column2 {
  margin: 0 auto 48px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  width: 100%;
  gap: 40px;
  list-style: none; }
  @media only screen and (max-width: 768px) {
    .grid-column2 {
      grid-template-columns: repeat(1, 1fr); } }
  .grid-column2.haircare-test {
    grid-template-columns: 55% auto; }
    @media only screen and (max-width: 768px) {
      .grid-column2.haircare-test {
        grid-template-columns: repeat(1, 1fr); } }
  .grid-column2 h3 {
    margin: 0 0 20px;
    font-size: 1.1em;
    line-height: 1.6;
    font-weight: bold;
    color: #1e51a2; }
  .grid-column2 p {
    margin: 0 0 20px;
    font-size: 1.1em;
    line-height: 1.6;
    text-align: justify;
    text-justify: inter-ideograph; }
  .grid-column2 figure {
    margin: 0 auto 15px;
    width: 100%; }
    .grid-column2 figure img {
      width: 100%;
      height: auto; }

.haircaretest {
  margin: 0 auto 30px;
  padding: 0;
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
  font-size: 0.875rem;
  table-layout: fixed; }

.haircaretest th, .haircaretest td {
  padding: 8px;
  border: 1px solid #666; }

.haircaretest thead th {
  background: #5182d1;
  color: #fff;
  text-align: center; }

.haircaretest tbody th, .haircaretest tbody td {
  background: #fff;
  color: #666; }

.haircaretest tbody th {
  width: 40%; }

.haircaretest tbody th span {
  display: block;
  font-size: 81%;
  letter-spacing: -0.2px; }

.arrow {
  position: relative;
  display: inline-block;
  padding: 0 20px 0 0px;
  vertical-align: middle; }

.arrow::before,
.arrow::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  content: "";
  vertical-align: middle; }

.arrow::after {
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 1px solid #5182d1;
  -webkit-border-radius: 25%;
  border-radius: 25%; }

.arrow::before {
  right: 5px;
  width: 5px;
  height: 5px;
  border-top: 1px solid #5182d1;
  border-right: 1px solid #5182d1;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg); }

.ceo_aisatsu {
  margin: 0 auto;
  display: grid;
  grid-template-columns: 200px auto;
  grid-template-rows: auto;
  width: 100%;
  gap: 40px; }
  @media only screen and (max-width: 768px) {
    .ceo_aisatsu {
      grid-template-columns: repeat(1, 1fr);
      row-gap: 3rem; } }
  .ceo_aisatsu figure {
    width: 100%; }
    .ceo_aisatsu figure img {
      width: 100%;
      height: auto; }
      .ceo_aisatsu figure img:hover {
        opacity: 0.75; }
  .ceo_aisatsu div h3 {
    margin: 0;
    padding: 0 0 1rem;
    display: block;
    font-weight: bold;
    font-size: 20px;
    font-family: "Noto Sans JP", sans-serif; }
  .ceo_aisatsu div p {
    margin: 0;
    padding: 0 0 10px; }
  .ceo_aisatsu div p.sign {
    margin: 0;
    padding: 30px 0 10px;
    text-align: right; }
