@charset "UTF-8";
/*　////////////////////////////////
ブレイクポイント
//////////////////////////////////　*/
/*　////////////////////////////////
ベースフォント
//////////////////////////////////　*/
/*　////////////////////////////////
カラー
//////////////////////////////////　*/
/*　////////////////////////////////
clearfix[@extend .clearfix];
//////////////////////////////////　*/
/*　////////////////////////////////////////////////////////////////////////////////////////////////
flex include
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*　////////////////////////////////////////////////////////////////////////////////////////////////
初期値top:50%; left:50%;
[@include set-top();] [@include set-left();]
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*縦中央*/
/*横中央*/
/* -----上下左右中央、%指定で調整可能----- */
/*　////////////////////////////////
flex 設定
//////////////////////////////////　*/
/*　////////////////////////////////////////////////////////////////////////////////////////////////
font-size
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*　////////////////////////////////
汎用style
//////////////////////////////////　*/
.bg-contents {
  background: #e6ebf8;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: clamp(45px, 38.1818181818px + 1.8181818182vw, 60px) 0;
}

/*----- .company-movie ------------------------------------*/
.company-movie {
  margin: clamp(60px, 32.7272727273px + 7.2727272727vw, 120px) 0;
}
.company-movie .video-wrap .video-inner {
  display: block;
  width: 100%;
  max-width: 940px;
  margin: 0 auto;
}

/*----- .message ------------------------------------*/
.message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(30px, 25.4545454545px + 1.2121212121vw, 40px) 0;
}
.message .message-txt, .message .message-img {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
}
.message .message-txt {
  padding: 0 15px;
  position: relative;
}
.message .message-first {
  font-size: clamp(1.9rem, 17.1707317073px + 0.487804878vw, 2.4rem);
  font-weight: bold;
  line-height: 1.4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: clamp(10px, 7.7272727273px + 0.6060606061vw, 15px);
}
.message .message-first::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 1px;
  width: 1.5em;
  margin-right: 0.5em;
  background: #1b2035;
}
.message .president {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 5px 1em;
}
.message .president span {
  font-size: clamp(1.8rem, 16.5365853659px + 0.3902439024vw, 2.2rem);
}
.message .message-icon-b {
  position: absolute;
  top: 15%;
  right: 5vw;
  width: clamp(200px, 136.3636363636px + 16.9696969697vw, 340px);
  z-index: 1;
}
.message .message-contents {
  position: relative;
  z-index: 2;
}

@media (min-width: 987px) {
  .message .message-txt {
    width: 60%;
    padding: 0 10vw 0 3vw;
  }
  .message .message-img {
    width: 40%;
  }
}
/*----- .philosophy ------------------------------------*/
.philosophy {
  position: relative;
}
.philosophy .philosophy-contents {
  position: relative;
  z-index: 2;
}
.philosophy .philosophy-list {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: clamp(30px, 16.3636363636px + 3.6363636364vw, 60px) 0;
}
.philosophy .philosophy-item {
  font-weight: bold;
  font-size: clamp(2rem, 14.1463414634px + 1.5609756098vw, 3.6rem);
  display: inline-block;
  border-bottom: 2px solid #6fa7d6;
  line-height: 1.4;
  padding-bottom: 0.2em;
}
.philosophy .philosophy-item:not(:last-child) {
  margin-bottom: 1em;
}
.philosophy .bg-logo {
  position: absolute;
  z-index: 1;
  width: clamp(200px, 163.6363636364px + 9.696969697vw, 280px);
  top: 60%;
  left: 50%;
  -webkit-transform: translate(-60%, -50%);
          transform: translate(-60%, -50%);
  opacity: 0.05;
}

/*----- .overview ------------------------------------*/
.overview .company-images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: clamp(20px, 15.4545454545px + 1.2121212121vw, 30px) 4%;
}
.overview .company-images .img-box {
  width: 100%;
}
.overview .company-images .img-box img {
  display: block;
  max-width: 420px;
  margin: 0 auto 10px;
  -webkit-box-shadow: 2px 2px 7px 0px rgba(46, 62, 89, 0.2);
          box-shadow: 2px 2px 7px 0px rgba(46, 62, 89, 0.2);
}

@media (min-width: 768px) {
  .overview .company-images .img-box {
    width: 30.66%;
  }
  .overview .company-images .img-box:nth-child(2) {
    -webkit-transition-delay: 0.25s;
            transition-delay: 0.25s;
  }
  .overview .company-images .img-box:nth-child(3) {
    -webkit-transition-delay: 0.5s;
            transition-delay: 0.5s;
  }
}
/*----- .certification ------------------------------------*/
.certification-title {
  font-size: clamp(2rem, 17.8048780488px + 0.5853658537vw, 2.6rem);
  color: #132178;
  font-weight: bold;
  margin-bottom: clamp(15px, 12.7272727273px + 0.6060606061vw, 20px);
  line-height: 1.2;
}

/*----- .history ------------------------------------*/
.history {
  position: relative;
}
.history::before {
  content: "";
  position: absolute;
  width: clamp(140px, 103.6363636364px + 9.696969697vw, 220px);
  height: clamp(140px, 103.6363636364px + 9.696969697vw, 220px);
  top: 5vw;
  right: 7vw;
  opacity: 0.05;
  background-image: url("/img/common/logo.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
.history .history-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 4em;
}
.history .history-contents .h-style-a {
  margin-bottom: 0;
}
.history .history-list {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 2em;
}
.history .history-list .history-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}
.history .history-list .history-row:not(:last-child) {
  padding-bottom: 1.5em;
}
.history .history-list .history-row:not(:last-child) dt::after {
  position: absolute;
  content: "";
  width: 2px;
  height: 100%;
  background: #132178;
  left: 0.5em;
  top: 0.6em;
}
.history .history-list .history-row dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: clamp(160px, 150.9090909091px + 2.4242424242vw, 180px);
}
.history .history-list .history-row dt::before {
  content: "";
  width: 1.2em;
  height: 1.2em;
  background: #132178;
  border-radius: 50%;
  display: inline-block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 1em;
}
@media (min-width: 768px) {
  .history {
    position: relative;
  }
  .history::before {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
/*----- .access ------------------------------------*/
.access .access-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(30px, 25.4545454545px + 1.2121212121vw, 40px) 4%;
  margin-bottom: clamp(40px, 30.9090909091px + 2.4242424242vw, 60px);
}
.access .access-contents .left-box, .access .access-contents .right-box {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
}
.access .access-contents .right-box iframe {
  width: 100%;
  height: 350px;
  border-radius: clamp(7px, 5.6363636364px + 0.3636363636vw, 10px);
  -webkit-box-shadow: 2px 2px 7px 0px rgba(46, 62, 89, 0.2);
          box-shadow: 2px 2px 7px 0px rgba(46, 62, 89, 0.2);
}
.access .location {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: clamp(20px, 15.4545454545px + 1.2121212121vw, 30px);
  line-height: 1.3;
}
.access .location::before {
  content: "";
  width: 2em;
  height: 2em;
  background-image: url("/img/common/pin.svg");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 0.3em;
}
.access .company-bottom-message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(20px, 15.4545454545px + 1.2121212121vw, 30px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: clamp(15px, 12.7272727273px + 0.6060606061vw, 20px);
  background: #e6ebf8;
  border-radius: clamp(7px, 5.6363636364px + 0.3636363636vw, 10px);
  -webkit-box-shadow: 2px 2px 7px 0px rgba(46, 62, 89, 0.2);
          box-shadow: 2px 2px 7px 0px rgba(46, 62, 89, 0.2);
  margin-bottom: 1em;
}
.access .company-bottom-message .cbm-chara {
  width: clamp(125px, 102.2727272727px + 6.0606060606vw, 175px);
  -webkit-animation: fuwafuwa 4s ease-in-out infinite;
          animation: fuwafuwa 4s ease-in-out infinite;
}
.access .company-bottom-message .img-box {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.access .company-bottom-message .cbm-title {
  font-size: clamp(1.9rem, 16.4390243902px + 0.6829268293vw, 2.6rem);
  font-weight: bold;
  color: #132178;
  line-height: 1.3;
  margin-bottom: clamp(10px, 7.7272727273px + 0.6060606061vw, 15px);
}

@media (min-width: 768px) {
  .access .access-contents .left-box {
    width: 30%;
  }
  .access .access-contents .right-box {
    width: 66%;
  }
  .access .company-bottom-message {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}