@charset "UTF-8";

/* intro ------------------*/
#intro {
  background-color: #fff;
  margin: 80px 0;
}

#intro .message {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-wrap: wrap;
}

#intro .message::before,
#intro .message::after {
  position: absolute;
  top: 0;
  content: '';
  display: block;
  width: 140px;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

#intro .message::before {
  left: -40px;
  background-image: url('../img/message/intro_bg_01.png');
}

#intro .message::after {
  right: -40px;
  background-image: url('../img/message/intro_bg_02.png');
}

#intro .message > .cont {
  position: relative;
  max-width: 800px;
  width: 100%;
  min-height: 450px;
  display: flex;
  align-items: flex-end;
  padding-top: 40px;
  padding-bottom: 40px;
  box-sizing: border-box;
}

#intro .message > .cont::after {
  position: absolute;
  bottom: 0;
  right: 0;
  content: '';
  width: calc(100% - 400px);
  height: 90%;
  background-image: url('../img/message/intro-img.png');
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 0;
}

#intro .message > .cont > .txt-blc {
  position: relative;
  max-width: 400px;
  width: 100%;
  padding-right: calc(80% - 400px);
  z-index: 1;
}

#intro .message > .cont > .txt-blc > .ttl {
  display: inline-block;
  font-size: 140%;
  font-weight: 600;
  margin-bottom: 10px;
}

#intro .message > .cont > .txt-blc > .ttl > mark {
  background-color: #fff;
  padding: 2px 10px;
}

#intro .message > .cont > .txt-blc > .txt-01 {
  font-weight: 600;
  padding: 0 10px;
}

#intro .message > .cont > .txt-blc > .txt-02 {
  font-size: 140%;
  font-weight: 800;
  padding: 0 10px;
}

#intro .cont-list {
  position: relative;
  margin: 60px 0;
}

/* #intro .cont-list::after {
  position: absolute;
  top: 30px;
  left: -10%;
  content: '';
  display: block;
  width: 380px;
  height: 380px;
  background-image: url('../img/message/cont_bg.png');
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
} */

#intro .cont-list > .box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 30px;
}

#intro .cont-list > .box > .img-blc,
#intro .cont-list > .box > .cont-blc {
  width: 49%;
}

#intro .cont-list > .box > .img-blc > .img-inner {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 49%;
}

#intro .cont-list > .box > .img-blc > .img-inner > .img {
  width: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 320px;
  transition: 1s all ease-in-out;
}

#intro .cont-list > .box > .cont-blc {
  min-height: 400px;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-size: 120%;
  padding: 0;
  box-sizing: border-box;
}

#intro .cont-list > .box > .cont-blc .signature {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "Times New Roman", serif;
  font-weight: 600;
}

@media screen and (max-width: 1450px) {
  #intro .cont-list::after {
    left: -4%;
    width: 380px;
    height: 380px;
  }
}

@media screen and (max-width: 1200px) {
  #intro .cont-list > .box > .img-blc > .img-inner > .img {
    padding-bottom: 28vw;
  } 
  #intro .cont-list > .box > .cont-blc {
    min-height: 30vw;
  }
}

@media screen and (max-width: 1000px) {
  #intro .message {
    padding: 0 2%;
  }
  #intro .message > .cont {
    min-height: 53vw;
  }
  #intro .cont-list > .box > .cont-blc {
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  #intro .message > .cont::after {
    width: 400px;
    height: 90%;
  }  
  #intro .cont-list > .box {
    flex-wrap: wrap;
  }
  #intro .cont-list > .box > .img-blc,
  #intro .cont-list > .box > .cont-blc {
    width: 100%;
  }
  #intro .cont-list > .box > .img-blc {
    margin-bottom: 30px;
  }
  #intro .cont-list > .box > .img-blc > .img-inner {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    content: '';
    width: 100%;
  }
  #intro .cont-list > .box > .img-blc > .img-inner > .img {
    padding-bottom: 58vw;
    opacity: 1 !important;
  }
  #intro .cont-list > .box > .cont-blc {
    min-height: auto;
  }
}

@media screen and (max-width: 560px) {
  #intro .message::before,
  #intro .message::after {
    width: 85px;
  }
  #intro .message::before {
    left: -20px;
  }
  #intro .message::after {
    right: -20px;
  }
  #intro .message > .cont {
    padding-bottom: 200px;
  }
  #intro .message > .cont::after {
    right: 0;
    max-width: 400px;
    width: 100%;
    height: 200px;
    background-position: center bottom;
  }  
  #intro .message > .cont > .txt-blc {
    width: auto;
    margin: 0 auto;
  }
}

@media screen and (max-width: 480px) {
  #intro .message > .cont > .txt-blc > .ttl {
    font-size: 120%;
  }
  #intro .message > .cont > .txt-blc > .txt-02 {
    font-size: 120%;
  }
}