@charset "utf-8";



/* アンカーリンク */
.anchor-nav {
  width: 83.5938%;
  margin: auto;
  margin-bottom: min(4.86vw, 7rem)
}
.anchor-nav li a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: .926em 2em;
  font-size: min(0.83vw, 1.2rem);
  font-weight: normal;
  text-align: center;
}
.anchor-nav li a::after {
  right: 0.8333em;
  width: .93em;
}
.anchor-nav_6> li {
  width: 15.8878%;
  border-radius: 0.35vw;
}
@media screen and (max-width: 820px) {
  .anchor-nav_6 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    margin-bottom: 9.33vmin;
  }
  .anchor-nav_6> li {
    width: 48.6567%;
    border-radius: 1.33vw;
  }
  .anchor-nav li+ li { margin-top: 0 }
  .anchor-nav li:nth-of-type(n + 3) { margin-top: 0.8333em }
  .anchor-nav li a {
    padding: .916em 2em;
    font-size: 3.2vmin;
  }
}
section+ section {margin-top: min(3.47vw, 5rem)}
.content-box {
  padding: min(4.86vw, 7rem) min(8.19vw, 11.8rem);
}
.content-box-inner .content-term h2 {margin-top: 0;}
.image-wrapper img {width: 100%}
.policy-wrap--flex> div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: min(4.86vw, 7rem)
}
.policy-wrap--flex> div+ div {
  border-top: 2px solid #fff;
  padding-top: min(4.86vw, 7rem)
}
.policy-wrap--flex> div:last-of-type {
  padding-bottom: 0
}
.policy-wrap--flex dt {
  width: 50%;
}
.policy-wrap--flex dd {
  width: 41.923%
}
.policy-wrap .policy-heading {
  color: var(--color-blu);
  font-size: min(3.47vw, 5.0rem);
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: .02em;
}
.policy-wrap .policy-heading> small {
  display: block;
  margin-top: 1.5em;
  font-size: .4em;
  letter-spacing: .05em;
}
.policy-detail {
  margin-top: 2.5333em;
  font-size: min(1.04vw, 1.5rem);
  line-height: 1.8666;
  letter-spacing: .02em;
}
.policy-wrap--flex .policy-detail {
  margin-top: 0;
}
@media screen and (max-width: 820px) {
  .content-box { padding: 12.27vmin 8vmin;}
  .content-box-inner .content-term h2 { font-size: 6.67vmin }
  section+ section { margin-top: 5.33vmin }
  .policy-wrap .policy-heading { font-size: 9.33vmin; line-height: 1.3142; }
  #anchor3 .policy-wrap .policy-heading { font-size: 8.53vmin; line-height: 1.4375; }
  .policy-wrap .policy-heading> small { font-size: .5142em }
  .policy-detail { font-size: 3.73vmin; line-height: 1.8571; }
  .policy-wrap--flex> div {display: block; padding-bottom: 8.53vmin;}
  .policy-wrap--flex dt, .policy-wrap--flex dd { width: 100%; }
  .policy-wrap--flex dd { margin-top: 2.1428em; }
  .policy-wrap--flex> div+ div { padding-top: 8vmin}
}

/* Top Message */
.content-box.message {
  padding: min(4.86vw, 7rem) min(7.99vw, 11.5rem) min(7.29vw, 10.5rem) ;
  background-color: #ACB6BF;
  border: none;
  color: #fff;
}
.content-box.message .content-box-inner {
  max-width: 1180px;
}
.message-heading {
  font-size: min(4.17vw, 6rem);
  font-weight: bold;
  line-height: 1.75;
  letter-spacing: .02em;
}
.content-box.message .content-description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: min(2.43vw, 3.5rem);
}
.message-title {
  font-size: min(1.53vw, 2.2rem);
  font-weight: bold;
  line-height: 1.8181;
  letter-spacing: .05em;
}
.message-body p {
  font-size: min(1.04vw, 1.5rem);
  line-height: 2;
}
.message-body h3+ p {
  margin-top: 2em;
}
.message-body {
  width: 51%
}
.message-body p+ p {
  margin-top: 2em
}
.message-body p.president-name {
  margin-top: 1.3333em;
  font-size: min(2.08vw, 3.0rem);
  font-weight: bold;
  line-height: 1;
}
.president-name small {
  display: block;
  font-size: 0.5666em;
  margin-bottom: 1.1333em
}
.message-image {
  width: 38.14%
}
@media screen and (max-width: 820px) {
  .message-heading { font-size: 10.67vmin ; text-align: center; }
  .content-box.message .content-description {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    margin-top: 9.33vmin;
  }
  .message-body, .message-image { width: 100%; }
  .message-body { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; margin-top: 11.2vmin}
  .message-title { font-size: 4.8vmin ; text-align: center; }
  .content-box-inner .content-description .image-wrapper {border-radius: 4vmin}
  .message-body p { font-size: 3.73vmin;}
  .message-body p.president-name { margin-top: 5.3846em; font-size: 6.93vmin}
  .president-name small { font-size: .5384em}
}

/* 会社概要、沿革 */
.overview .table-wrap {position: relative;}
.overview .content-box-inner .content-term h2 {margin-bottom: 2em;}
.img-overview {
  position: absolute;
  right: 0;
  top: 0;
  width: 41.5384%;
  padding-top: 2.4em;
  font-size: min(1.18vw, 1.7rem);
}
.img-overview .image-wrapper {
  border-radius: 1.39vw;
  overflow: hidden;
}
.message-table * {
  font-size: min(1.18vw, 1.7rem);
  line-height: 1.6;
  letter-spacing: .02em;
}
.message-table> div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 2.4em 0;
  border-top: 2px solid #fff;
}
.message-table> div:last-of-type {
  padding-bottom: 0.5882em;
}
.message-table dt {
  width: 15.8653%;
  font-weight: bold;
}
.message-table dd {
  width: 82.2115%;
}
.message-table p+ p {
  margin-top: .6em;
}
@media screen and (max-width: 820px) {
  .overview .content-box-inner .content-term h2, 
  .history .content-box-inner .content-term h2 { margin-bottom: 1.76em;}
  .img-overview {
    position: relative;
    width: 100%;
    padding-top: 0;
  }
  .img-overview .image-wrapper { border-radius: 4vmin }
  .overview .message-table { margin-top: 10.67vmin }
  .message-table * {
    font-size: 3.73vmin;
    line-height: 1.8571;
  }
  .message-table> div {
    display: block;
    padding: 1.5em 0;
  }
  .message-table dt, .message-table dd {width: 100%; }
  .message-table dd { margin-top: 0.3571em }
}