@charset "utf-8";
/* CSS Document */
/*
ブルー: #0b1f64
/*=============================================================
 pageTtlArea
=============================================================*/
/* #pageTtlArea div{
	position: static;
	top:inherit;
	left:inherit;
	transform:none;
} */
*/ .sp-on {
  display: none;
}

.page-title {
  font-size: 142.9%;
  font-weight: bold;
  color: #0b1f64;
  padding-left: 20px;
}

#pageMain {
  width: 68%;
}

/* top-imgエリア */
.top-img-area {
}
.top-title {
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}
.top-img-title {
  width: 353px;
  height: 353px;
  background: url(../img/company_top_title.png) no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
}
.top-img {
  max-width: 90%;
  height: auto;
  float: right;
}
img.txt-top {
  width: auto;
  height: auto;
}

img.txt-message {
  width: auto;
  height: auto;
}

/* ローカルnavエリア */
.local-nav-area {
  float: right;
  width: 26.66%;
  /*margin-top: 120px;*/
}
.message-local-nav {
  border-bottom: 1px solid #d2d0e5;
  margin-bottom: 28px;
}
.message-local-nav li {
  border-top: 1px solid #d2d0e5;
}
.message-local-nav li a {
  display: block;
  padding: 20px 0;
  color: #0b1f64;
  font-size: 14px;
  font-weight: 700;
}

/* h3.sub-title */
.sub-title {
  padding: 12px 0 12px 17px;
  background: #0b1f64;
  color: #fff;
  margin-bottom: 20px;
  font-size: 128.6%;
}

/* ------------------------

     #outline-会社概要

---------------------------*/
#outline .map-area {
  width: 100%;
  height: 400px;
  margin-bottom: 10px;
}
#outline .map {
  width: 100%;
  height: 400px;
}
.link-txt a {
  color: #0b1f64;
}
/* ------------------------

     #executive-役員紹介

---------------------------*/
#executive .photo {
  width: 100%;
}
#executive .photo img {
  width: 100%;
  height: auto;
}
.photo__exename {
  display: flex;
  background: #0b1f64;
  color: #fff;
  text-align: center;
  padding: 10px 0;
}
.photo__exename__item {
  text-align: left;
}
.photo__exename__item:first-child {
  flex-basis: 24%;
  text-align: center;
}
.photo__exename__item:nth-child(2) {
  flex-basis: 15%;
}
.photo__exename__item:nth-child(3) {
  flex-basis: 15%;
}
.photo__exename__item:nth-child(4) {
  flex-basis: 17%;
}
.photo__exename__item:nth-child(5) {
  flex-basis: 14%;
}
.photo__exename__item:nth-child(6) {
}
.photo__exename--audit {
}
.photo__exename--audit .photo__exename__item:first-child {
  flex-basis: 43%;
}
.photo__exename--audit .photo__exename__item:nth-child(2) {
  flex-basis: 13%;
  text-align: center;
}
.photo__exename--audit .photo__exename__item:nth-child(3) {
  flex-basis: 44%;
  text-align: center;
}
.photo__exename--2row {
}
.photo__exename--2row:first-of-type {
  padding-bottom: 0;
}
.photo__exename--2row .photo__exename__item:first-child {
  flex-basis: 42%;
}
.photo__exename--2row .photo__exename__item:nth-child(2) {
  flex-basis: 18%;
  text-align: center;
}
.photo__exename--2row .photo__exename__item:nth-child(3) {
  flex: 1;
  text-align: center;
}

div.exe-box {
  display: table;
  padding: 50px 0;
}
div.exe-box + div.exe-box {
  border-top: 1px solid #d2d0e5;
}
div.left-area {
  width: 286px;
  display: table-cell;
  padding-left: 20px;
  border-left: 1px solid #d2d0e5;
  border-right: 1px solid #d2d0e5;
}
.exe-box .name {
  font-size: 128.6%;
  color: #0b1f64;
  font-weight: bold;
}
.exe-box .bio {
  padding-left: 1.3em;
  position: relative;
  margin-bottom: 1em;
}
.exe-box .bio:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border: 1px solid #333;
  box-sizing: border-box;
  position: absolute;
  top: 8px;
  left: 0;
}
div.right-area {
  width: 65%;
  display: table-cell;
  padding-left: 35px;
}
.exe-list-box {
  border: 1px solid #d2d0e5;
}
dl.list-styleB dt {
  float: left;
  padding: 3px;
}
dl.list-styleB dd {
  margin-left: 6.5em;
  padding: 3px;
}
.exe-list-box {
  margin-top: 30px;
  padding: 20px;
}

/* company扉 #company_top */

#company_top #pageMain {
  width: 100%;
  float: none;
  min-width: 1200px;
}
#company_top .top-title {
  width: 100%;
  height: 400px;
  background: url(../img/../img/company_top.png) no-repeat left;
  background-size: 100%;
  position: relative;
}
#company_top .top-title .h2-title-box {
  width: 210px;
  height: 210px;
  background: #0b1f64;
  color: #fff;
  position: absolute;
  top: calc(50% - 105px);
  left: calc(50% - 105px);
  text-align: center;
  line-height: 210px;
  font-size: 157.1%;
  font-weight: 100;
  box-sizing: border-box;
}
#company_top .top-img {
  width: 100%;
  max-width: inherit;
  float: none;
}
#company_top .company-tobira-list {
  overflow: hidden;
  margin-bottom: 360px;
}
#company_top .company-tobira-list li {
  width: 370px;
  height: 215px;
  float: left;
  position: relative;
  margin: 0 0 100px 45px;
}
#company_top .company-tobira-list li a {
  display: block;
  width: 100%;
  height: 269px;
}
#company_top .company-tobira-list li:nth-child(3n + 1) {
  margin-left: 0;
}
#company_top .message {
  background: url(../img/company_01.jpg) no-repeat;
}
#company_top .outline {
  background: url(../img/company_02.jpg) no-repeat;
}
#company_top .vision {
  background: url(../img/company_03.png) no-repeat;
}
#company_top .executive {
  background: url(../img/company_04.png) no-repeat;
}
#company_top .business {
  background: url(../img/company_05.jpg) no-repeat;
}
#company_top .history {
  background: url(../img/company_06.jpg) no-repeat;
}
#company_top .office_list {
  background: url(../img/company_07.jpg) no-repeat;
}
#company_top .company-tobira-list span {
  width: 100%;
  height: 54px;
  background: #0b1d65;
  color: #fff;
  text-align: center;
  line-height: 54px;
  position: absolute;
  left: 0;
  bottom: -54px;
}
#company_top .company-tobira-list span:before {
  content: "";
  display: block;
  width: 15px;
  height: 2px;
  background: #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 41%;
  left: 2em;
  margin: auto;
}
#company_top .company-tobira-list span:after {
  content: "";
  display: block;
  width: 15px;
  height: 2px;
  background: #fff;
  transform: rotate(-45deg);
  position: absolute;
  top: 59%;
  left: 2em;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .sp-on {
    display: block;
  }
  .sp-off {
    display: none;
  }

  .page-title {
    padding-left: 0;
  }
  .local-nav-area {
    display: none;
  }
  #pageMain {
    width: 100%;
  }
  .section-wrapper {
    margin-top: 10px;
    padding-left: 0;
  }

  #company_top #pageMain {
    min-width: auto;
  }
  /* ---------------------------

		トップメッセージ

------------------------------*/
  .top-img-title {
    width: 28vw;
    height: 28vw;
    background-position: 45% 80%;
    flex-direction: column;
    gap: 6px;
  }

  img.txt-top {
    width: auto;
    height: auto;
    max-width: 40%;
  }

  img.txt-message {
    width: auto;
    height: auto;
    max-width: 75%;
  }

  ------------------------
    #executive-役員紹介
    ---------------------------*/
    div.left-area {
    width: 200px;
    padding-left: 4%;
  }
  div.right-area {
    padding-left: 4%;
  }
  .exe-box .bio:before {
    top: 5px;
  }
  .photo__exename {
    font-size: 10px;
  }
  .photo__exename__item:first-child {
    flex-basis: 22%;
  }
  .photo__exename__item:nth-child(2) {
    flex-basis: 14%;
  }
  .photo__exename__item:nth-child(3) {
    flex-basis: 17%;
  }
  .photo__exename__item:nth-child(4) {
    flex-basis: 17%;
  }
  .photo__exename__item:nth-child(5) {
  }
  .photo__exename__item:nth-child(6) {
  }
  /*---------------------------

	company扉 #company_top

------------------------------*/
  #company_top .top-title {
    height: 150px;
  }

  #company_top .top-title .h2-title-box {
    width: 100px;
    height: 100px;
    top: calc(50% - 50px);
    left: calc(50% - 50px);
    line-height: 100px;
    font-size: 100%;
  }
  #company_top .company-tobira-list {
    overflow: visible;
    margin-bottom: 0;
  }
  #company_top .company-tobira-list li {
    width: 100%;
    height: 60vw;
    max-width: 370px;
    max-height: 215px;
    float: none;
    margin: 0 auto 100px;
  }
  #company_top .company-tobira-list li:nth-child(3n + 1) {
    margin-left: auto;
  }
}
