@charset "UTF-8";

.pc-on {
  display: block
}

@media screen and (max-width:767px) {
  .pc-on {
    display: none
  }
}

.sp-on {
  display: none
}

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

.corporate .block-a-g {
  width: 100%
}

@media screen and (max-width:767px) {
  .corporate .block-a-g {
    width: 95%;
    margin: 185px auto 0;
    padding: 20px 0
  }
}

.corporate .block-a-g__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: start
}

.corporate .block-a-g__grid__cell-a {
  width: 40%
}

@media screen and (max-width:767px) {
  .corporate .block-a-g__grid__cell-a {
    width: 100%;
    margin: 28px auto 14px
  }
}

.corporate .block-a-g__grid__cell-b {
  width: 40%;
  margin: 0 0 0 10px
}

@media screen and (max-width:767px) {
  .corporate .block-a-g__grid__cell-b {
    width: 100%;
    margin: 0 auto
  }
}

.corporate .block__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: start;
  margin: 0 0 5pc;
  padding: 0
}

@media screen and (max-width:767px) {
  .corporate .block__grid {
    display: block;
    margin: 0
  }
}

.corporate .block__grid__cell {
  width: calc(33.33% - 1px);
  margin: 0 1px 0 0;
  padding: 0
}

@media screen and (max-width:767px) {
  .corporate .block__grid__cell {
    width: 95%;
    margin: 0 auto 25px
  }
}

.corporate .block__btn {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: #ebebeb;
  color: #000
}

.corporate .block__btn:hover {
  opacity: .7
}

.corporate .block__btn__pict {
  width: 100%;
  margin: 0;
  padding: 0
}

.corporate .block__btn__pict img {
  width: 100%
}

.corporate .block__btn__label {
  display: block;
  width: 90%;
  height: auto;
  margin: 20px auto;
  padding: 0 0 20px;
  line-height: 1.8;
  font-feature-settings: palt
}

.corporate .block__btn__label h3 {
  width: 90%;
  margin: 0 auto;
  font-size: 20px;
  font-weight: 400
}

.corporate .block__btn__label p {
  width: 90%;
  margin: 10px auto 0;
  font-size: 9pt;
  text-align: left
}

.corporate .block__btn__label p:after {
  content: "...[more]";
  display: inline-block;
  width: 5em;
  margin-left: .5em;
  color: #007edf;
  letter-spacing: .2px
}

@media screen and (max-width:767px) {
  .corporate .block-a-j {
    width: 95%;
    margin: 0 auto
  }
}

.message .block-a-g {
  width: 65%
}

@media screen and (max-width:767px) {
  .message .block-a-g {
    width: 95%;
    margin: 185px auto 0;
    padding: 20px 0
  }
}

.message .block-a-g__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: start
}

.message .block-a-g__grid__cell-a {
  width: 40%
}

@media screen and (max-width:767px) {
  .message .block-a-g__grid__cell-a {
    width: 100%;
    margin: 28px auto 14px
  }
}

.message .block-a-g__grid__cell-b {
  width: 40%;
  margin: 0 0 0 10px
}

@media screen and (max-width:767px) {
  .message .block-a-g__grid__cell-b {
    width: 100%;
    margin: 0 auto
  }
}

@media screen and (max-width:767px) {
  .message .block-a-g__head-sp {
    width: 80%;
    margin: 0 auto
  }
}

.message .block-c-b {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.message .block-c-b>div:first-of-type{
  width: 690px;
}
.message .block-c-b>div:last-of-type{
  width: 182px;
  margin-right: 35px;
}
.message .block-c-b::after,
.message .block-c-b::before{
  display: none;
}

.office .block-a-g {
  width: 65%
}

@media screen and (max-width:767px) {
  .message .block-c-b {
    flex-direction: column;
  }
  .message .block-c-b>div:first-of-type{
    width: auto;
  }
  .message .block-c-b>div:last-of-type{
    width: auto;
    margin-right: 0;
  }
  .office .block-a-g {
    width: 95%;
    margin: 185px auto 0;
    padding: 20px 0
  }
}

.office .block-a-g__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: start
}

.office .block-a-g__grid__cell-a {
  width: 40%
}

@media screen and (max-width:767px) {
  .office .block-a-g__grid__cell-a {
    width: 100%;
    margin: 28px auto 14px
  }
}

.office .block-a-g__grid__cell-b {
  width: 40%;
  margin: 0 0 0 10px
}

@media screen and (max-width:767px) {
  .office .block-a-g__grid__cell-b {
    width: 100%;
    margin: 0 auto
  }
}

@media screen and (max-width:767px) {
  .office .block-a-g__head-sp {
    width: 80%;
    margin: 0 auto
  }
}

.office .block-c-e {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: start;
  background: 0
}

.office .block-c-e__address {
  width: calc(50% - 62px);
  margin: 0 2px 0 0;
  padding: 30px;
  background: #f4f4f4
}

@media screen and (max-width:767px) {
  .office .block-c-e__address {
    width: 100%;
    margin: 0;
    padding: 10px 7px
  }
}

.office .block-c-e__tel {
  width: calc(25% - 62px);
  margin: 0 2px 0 0;
  padding: 30px;
  background: #f4f4f4;
  font-feature-settings: palt
}

@media screen and (max-width:767px) {
  .office .block-c-e__tel {
    width: calc(60% - 7px);
    margin: 0;
    padding: 10px 0 10px 7px;
    font-size: 13px
  }
}

.office .block-c-e__link {
  width: calc(25% - 60px);
  padding: 30px;
  background: #f4f4f4;
  text-align: center
}

@media screen and (max-width:767px) {
  .office .block-c-e__link {
    width: calc(40% - 14px);
    padding: 10px 7px;
    font-size: 11px
  }
}

.office .mod-icon--type-a-a--b {
  width: 9pt;
  height: 9pt;
  background-image: url(../images/sprites/sprite_icon.png);
  background-position: -5pc -85px;
  margin-bottom: 2px
}

@media screen and (max-width:767px) {
  .office .mod-icon--type-a-a--b {
    background-position: -87px -94px
  }
}

.certification .block-a-g {
  width: 65%
}

@media screen and (max-width:767px) {
  .certification .block-a-g {
    width: 95%;
    margin: 185px auto 0;
    padding: 20px 0
  }
}

.certification .block-a-g__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: start
}

.certification .block-a-g__grid__cell-a {
  width: 40%
}

@media screen and (max-width:767px) {
  .certification .block-a-g__grid__cell-a {
    width: 100%;
    margin: 28px auto 14px
  }
}

.certification .block-a-g__grid__cell-b {
  width: 40%;
  margin: 0 0 0 10px
}

@media screen and (max-width:767px) {
  .certification .block-a-g__grid__cell-b {
    width: 100%;
    margin: 0 auto
  }
}

@media screen and (max-width:767px) {
  .certification .block-a-g__head-sp {
    width: 80%;
    margin: 0 auto
  }
}

.certification .block-c-b {
  width: 100%;
  max-width: 760px;
  margin: 0 auto
}

.certification th {
  width: 40%;
  background-color: #007ee0;
  color: #fff;
  text-align: center
}

.certification th.v-middle {
  vertical-align: middle
}

@media screen and (max-width:667px) {
  .certification th {
    width: 100%
  }
}

@media screen and (max-width:667px) {

  .certification .mod-grid2,
  .certification .mod-grid2-a-a,
  .certification .mod-grid-d-b {
    display: block
  }
}

.summary .block-a-g {
  width: 65%
}

@media screen and (max-width:767px) {
  .summary .block-a-g {
    width: 95%;
    margin: 185px auto 0;
    padding: 20px 0
  }
}

.summary .block-a-g__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: start
}

.summary .block-a-g__grid__cell-a {
  width: 40%
}

@media screen and (max-width:767px) {
  .summary .block-a-g__grid__cell-a {
    width: 100%;
    margin: 28px auto 14px
  }
}

.summary .block-a-g__grid__cell-b {
  width: 40%;
  margin: 0 0 0 10px
}

@media screen and (max-width:767px) {
  .summary .block-a-g__grid__cell-b {
    width: 100%;
    margin: 0 auto
  }
}

@media screen and (max-width:767px) {
  .summary .block-a-g__head-sp {
    width: 80%;
    margin: 0 auto
  }
}

.summary .mod-table-a-a th {
  width: 25%
}

@media screen and (max-width:667px) {
  .summary .mod-table-a-a th {
    width: 100%;
    padding: 8px 7px
  }
}

.summary .mod-table-a-a td {
  width: 75%;
  padding: 9pt 150px 9pt 90px
}

@media screen and (max-width:667px) {
  .summary .mod-table-a-a td {
    width: 100%;
    padding: 8px 7px
  }
}

.summary .mod-table-a-a__cell--a-a {
  text-align: center;
  color: #fff;
  background: #007edf !important
}

@media screen and (max-width:767px) {
  .summary .mod-table-a-a__cell--a-a {
    text-align: left
  }
}

.summary .mod-table-a-a__cell--a-b {
  text-align: center;
  color: #007edf;
  background: #efefef !important
}

@media screen and (max-width:767px) {
  .summary .mod-table-a-a__cell--a-b {
    text-align: left
  }
}

.summary .mod-icon--type-a-a--b {
  width: 9pt;
  height: 9pt;
  background-image: url(../images/sprites/sprite_icon.png);
  background-position: -5pc -85px;
  margin-bottom: 2px
}

@media screen and (max-width:767px) {
  .summary .mod-icon--type-a-a--b {
    background-position: -87px -95px;
    margin-bottom: 0
  }
}

.summary .mod-text__label--type-b-a--c {
  width: 105px;
  height: 34px;
  background-position: -735px -29pc;
  background-image: url(../images/sprites/sprite_text.png)
}

@media screen and (max-width:767px) {
  .summary .mod-text__label--type-b-a--c {
    background: 0
  }
}

.summary .vision {
  width: 100%;
  max-width: 60pc;
  margin: 0 auto;
  text-align: center
}

@media screen and (max-width:767px) {
  .summary .vision {
    margin: 0
  }
}

.summary .vision__block {
  width: 100%;
  margin-bottom: 40px;
  padding-bottom: 50px;
  border-bottom: 1px dashed #dbdcdc
}

@media screen and (max-width:767px) {
  .summary .vision__block {
    margin: 0
  }
}

.summary .vision__block h3 {
  margin: 0;
  padding: 0
}

.summary .vision__block h4 {
  margin: 0;
  padding: 0;
  font-size: 35px;
  font-family: sans-serif;
  font-weight: 700
}

@media screen and (max-width:767px) {
  .summary .vision__block h4 {
    font-size: 24px
  }
}

.summary .vision__block dl dt {
  font-size: 14px;
  margin-bottom: 30px
}

@media screen and (max-width:767px) {
  .summary .vision__block dl dt {
    font-size: 15px
  }
}

.summary .vision__block dl dd {
  width: 70%;
  margin: 0 auto;
  font-size: 20px;
  font-family: sans-serif;
  font-weight: 700
}

@media screen and (max-width:767px) {
  .summary .vision__block dl dd {
    width: 90%;
    margin: 0 auto;
    font-size: 13px
  }
}

.summary .vision__block ul {
  width: 100%;
  margin: 0 auto;
  padding-right: 1em;
  font-family: sans-serif
}

@media screen and (max-width:767px) {
  .summary .vision__block ul {
    width: 100%;
    padding: 0
  }
}

.summary .vision__block ul li {
  list-style: none;
  font-size: 14px;
  text-align: left;
  line-height: 3.2
}

@media screen and (max-width:767px) {
  .summary .vision__block ul li {
    line-height: 1.7;
    font-size: 9pt
  }
}

.summary .vision__block ul li span {
  display: inline-block;
  width: 11em;
  font-size: 1pc;
  color: #007edf
}

@media screen and (max-width:767px) {
  .summary .vision__block ul li span {
    width: calc(100% - 1em - 2px);
    font-size: 13px
  }
}

.summary .vision__block ul li:before {
  content: "▪";
  display: inline-block;
  width: 2px;
  height: 2px;
  padding-right: 1em;
  color: #dbdcdc
}

.summary .vision__block:last-child {
  border: 0
}

.summary .why {
  width: 100%;
  margin-bottom: 10pc
}

@media screen and (max-width:767px) {
  .summary .why {
    margin: 0
  }
}

.summary .why h3 {
  background-color: #007edf;
  color: #fff;
  font-size: 2pc;
  font-weight: 700;
  text-align: center;
  line-height: 3
}

@media screen and (max-width:767px) {
  .summary .why h3 {
    font-size: 1pc
  }
}

.summary .why__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: start;
  width: 100%;
  max-width: 60pc;
  margin: 0 auto 30px;
  background-color: #efefef
}

.summary .why__block__num {
  display: block;
  width: 76px;
  height: 61px;
  margin-left: 30px;
  background-color: #007edf;
  color: #fff;
  font-size: 9pt;
  line-height: 1.2;
  text-align: center;
  padding: 15px 0 0
}

@media screen and (max-width:767px) {
  .summary .why__block__num {
    width: 60px;
    height: 50px;
    margin-left: 15px;
    font-size: 10px;
    padding: 10px 0 0
  }
}

.summary .why__block__num span {
  display: block;
  font-size: 2pc;
  font-weight: 700;
  text-align: center
}

@media screen and (max-width:767px) {
  .summary .why__block__num span {
    font-size: 24px
  }
}

.summary .why__block__txt {
  display: block;
  width: calc(100% - 156px);
  margin: 0 0 24px 50px;
  padding: 0
}

@media screen and (max-width:767px) {
  .summary .why__block__txt {
    width: calc(100% - 115px);
    margin: 0 9pt 9pt
  }
}

.summary .why__block__txt--ttl {
  margin: 20px 0 9pt;
  padding: 0;
  font-size: 22px;
  line-height: 1;
  color: #007edf
}

@media screen and (max-width:767px) {
  .summary .why__block__txt--ttl {
    font-size: 18px
  }
}

.summary .why__block__txt--txt {
  font-size: 9pt;
  color: #000;
  padding-right: 55px
}

@media screen and (max-width:767px) {
  .summary .why__block__txt--txt {
    padding: 0
  }
}

.summary .serviceList {
  width: 100%;
  margin-bottom: 10pc
}

@media screen and (max-width:767px) {
  .summary .serviceList {
    margin: 0
  }
}

.summary .serviceList h3 {
  background-color: #007edf;
  color: #fff;
  font-size: 2pc;
  font-weight: 700;
  text-align: center;
  line-height: 3
}

@media screen and (max-width:767px) {
  .summary .serviceList h3 {
    font-size: 1pc
  }
}

.summary .serviceList__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  max-width: 60pc;
  margin: 0 auto 30px
}

@media screen and (max-width:767px) {
  .summary .serviceList__block {
    display: block
  }
}

.summary .serviceList__block__item {
  width: 30%
}

@media screen and (max-width:767px) {
  .summary .serviceList__block__item {
    width: 90%;
    margin: 0 auto
  }
}

.summary .serviceList__block__item a {
  color: inherit;
  text-decoration: none
}

.summary .serviceList__block__item a:hover {
  opacity: .7
}

.summary .serviceList__block__item--ttl {
  display: block;
  background-color: #007edf;
  color: #fff;
  font-size: 25px;
  text-align: center;
  line-height: 2.4
}

.summary .serviceList__block__item--ttl:hover {
  background-color: #4aa3e8
}

@media screen and (max-width:767px) {
  .summary .serviceList__block__item--ttl {
    margin: 1em 0;
    font-size: 14px
  }
}

.summary .serviceList__block__item--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: start;
  margin: 0 0 0 -.5em;
  padding: 0;
  font-size: 9pt;
  line-height: 2;
  list-style: none
}

.summary .serviceList__block__item--list li {
  width: 12em
}

@media screen and (max-width:767px) {
  .summary .serviceList__block__item--list li {
    width: 100%
  }
}

.summary .serviceList__block__item--list li:before {
  content: "";
  display: inline-block;
  width: 9pt;
  height: 9pt;
  margin: 0 .5em;
  background-image: url(../images/sprites/sprite_icon.png);
  background-position: -5pc -85px
}

.certification .mod-box--theme-b-a--a,
.corporate .mod-box--theme-b-a--a,
.message .mod-box--theme-b-a--a,
.office .mod-box--theme-b-a--a,
.summary .mod-box--theme-b-a--a {
  background: #fff
}

.certification .block-a-g,
.corporate .block-a-g,
.message .block-a-g,
.office .block-a-g,
.summary .block-a-g {
  width: 100%;
  max-width: 57pc
}

@media screen and (max-width:767px) {

  .certification .block-a-g,
  .corporate .block-a-g,
  .message .block-a-g,
  .office .block-a-g,
  .summary .block-a-g {
    width: 95%;
    margin: 185px auto 0;
    padding: 20px 0
  }
}

.certification .block-a-g__grid,
.corporate .block-a-g__grid,
.message .block-a-g__grid,
.office .block-a-g__grid,
.summary .block-a-g__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: start
}

.certification .block-a-g__grid__cell-a,
.corporate .block-a-g__grid__cell-a,
.message .block-a-g__grid__cell-a,
.office .block-a-g__grid__cell-a,
.summary .block-a-g__grid__cell-a {
  width: auto
}

@media screen and (max-width:767px) {

  .certification .block-a-g__grid__cell-a,
  .corporate .block-a-g__grid__cell-a,
  .message .block-a-g__grid__cell-a,
  .office .block-a-g__grid__cell-a,
  .summary .block-a-g__grid__cell-a {
    width: 100%;
    margin: 28px auto 14px
  }
}

.certification .block-a-g__grid__cell-b,
.corporate .block-a-g__grid__cell-b,
.message .block-a-g__grid__cell-b,
.office .block-a-g__grid__cell-b,
.summary .block-a-g__grid__cell-b {
  width: auto;
  margin: 0 0 0 10px
}

@media screen and (max-width:767px) {

  .certification .block-a-g__grid__cell-b,
  .corporate .block-a-g__grid__cell-b,
  .message .block-a-g__grid__cell-b,
  .office .block-a-g__grid__cell-b,
  .summary .block-a-g__grid__cell-b {
    width: 100%;
    margin: 0 auto
  }
}

.certification .block-a-g__form img,
.certification .block-a-g__head-pc img,
.certification .block-a-g__tel img,
.corporate .block-a-g__form img,
.corporate .block-a-g__head-pc img,
.corporate .block-a-g__tel img,
.message .block-a-g__form img,
.message .block-a-g__head-pc img,
.message .block-a-g__tel img,
.office .block-a-g__form img,
.office .block-a-g__head-pc img,
.office .block-a-g__tel img,
.summary .block-a-g__form img,
.summary .block-a-g__head-pc img,
.summary .block-a-g__tel img {
  width: 100%
}