@charset "UTF-8";

body {
  color: #333;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  line-height: 1.7;
  width: 100%;
}

img {
  vertical-align: bottom;
}

.wrapper {
  width: 100%;
}

/* ヘッダー部分
--------------------------------- */
.header__container {
  background-color: #fff;
  background-image: url(main_back.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin: -24.7% auto 0;
  max-width: 900px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 95%;
}

@media (max-width : 1267px) {
  .header__container {
    padding-left: clamp(.938rem, .824rem + .57vw, 1.25rem);
    padding-right: clamp(.938rem, .824rem + .57vw, 1.25rem);
  }
}

.header__container--body {
  margin: 0 auto;
  max-width: 100%;
  width: 700px;
}

.header__content--subtitle img {
  margin: auto;
}

@media (max-width : 717px) {
  .header__content--subtitle img {
    width: 70%;
  }
}

.header__content--header {
  padding-bottom: 20px;
  padding-top: 37px;
}

@media (max-width : 767px) {
  .header__content--header {
    padding-bottom: 20px;
    padding-top: clamp(1.25rem, .864rem + 1.93vw, 2.313rem);
  }
}

.header__content--title {
  margin-top: 40px;
}

@media (max-width : 767px) {
  .header__content--title {
    margin-top: clamp(.938rem, .369rem + 2.84vw, 2.5rem);
  }
}

/* メイン部分
--------------------------------- */
/* リード */
main .lead {
  border-bottom: 1px solid #0068b6;
  color: #ed7522;
  font-weight: bold;
  letter-spacing: .1rem;
  margin: 0 auto 40px;
  max-width: 100%;
  padding-bottom: 27px;
  padding-top: 50px;
}

@media (max-width : 1267px) {
  main .lead {
    margin-top: 10px;
    padding-bottom: 23px ;
    padding-top: 23px ;
  }
}

/* メインコンテンツ */
.main__content {
  margin: 0 auto;
  max-width: 900px;
  position: relative;
  width: 95%;
}

/* 記事 */
.artitle__body {
  margin: 0 auto;
  max-width: 100%;
  padding-top: 70px;
  width: 700px;
}

.artitle__content:first-child .artitle__body {
  padding-top: 30px;
}

.artitle__content {
  background-color: #fff;
  background-image: url(sub_back.png);
  background-position: center -1%;
  background-repeat: no-repeat;
  background-size: 160%;
  margin-top: -50px;
  padding-top: 35px;
}

@media (max-width : 1267px) {
  .artitle__content {
    padding-left: clamp(.938rem, .824rem + .57vw, 1.25rem);
    padding-right: clamp(.938rem, .824rem + .57vw, 1.25rem);
  }
}

.artitle__content:nth-child(2) {
  background-position: center -2.5%;
}

.artitle__content:nth-child(3) {
  background-position: center -3%;
}

.artitle__content:nth-child(4) {
  background-position: 45% -60%;
}

.artitle__content:first-child, .artitle__content:last-child {
  background-image: unset;
  padding-top: unset;
}

.artitle__content:last-child {
  padding-top: 150px;
}

.artitle__content:last-child .artitle__body:last-child {
  margin: 0 auto 30px;
}

/* 記事タイトル */
.artitle__title {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto 45px;
  row-gap: 5px;
  width: 510px;
}

@media (max-width : 786px) {
  .artitle__title {
    margin-bottom: 35px;
    width: 85%;
  }
}

@media (max-width : 430px) {
  .artitle__title {
    width: 100%;
  }
}

.artitle__title h2 {
  color: #0068b6;
  font-size: 25px;
  line-height: 1.5;
  position: relative;
  text-align: center;
}

@media (min-width: 431px) {
  .artitle__title h2 {
    font-size: 28.3px;
  }
}

.artitle__title--decoration {
  width: 563px;
}

/* 本文 */
/* 登場人物紹介 */
.artitle__body .introduction {
  margin: auto;
  margin-bottom: 40px;
  max-width: 100%;
  position: relative;
} 

@media (max-width : 590px) {
  .artitle__body .introduction {
    margin-bottom: 30px;
  }
}

figure.image {
  margin-bottom: 45px;
}

figure .image__caption {
  color: #ed7522;
  font-size: 15px;
  margin-top: 10px;
}

.artitle__body .caption {
  color: #000;
  font-size: 16px;
  line-height: 1.8;
  padding: 12px;
  position: absolute;
}


@media (max-width: 717px) {
  .artitle__body .caption {
    font-size: 2.5vw;
    line-height: 1.6;
  }
}

.artitle__body .caption.photo__left {
  right: 15%;
  top: 18%;
}

@media (max-width: 717px) {
  .artitle__body .caption.photo__left {
    right: 3%;
    top: 6%;
  }
}

@media (max-width: 389px) {
  .artitle__body .caption.photo__left {
    right: 0;
  }
}

.artitle__body .caption.photo__right {
  left: 12%;
  top: 15%;
}

@media (max-width: 717px) {
  .artitle__body .caption.photo__right {
    left: 6%;
    top: 8%;
  }
}

@media (max-width: 430px) {
  .artitle__body .caption.photo__right {
    left: 1%;
    top: 5%;
  }
}

@media (max-width: 389.9px) {
  .artitle__body .caption.photo__right {
    left: 1%;
    top: -8%;
  }
}

.artitle__body .caption .name {
  font-size: 20px;
}

@media (max-width: 717px) {
  .artitle__body .caption .name {
    font-size: 3.5vw;
  }
}

/* 本文文章 */
.artitle__body .text {
  margin-bottom: 40px;
  text-indent: 1rem;
}

@media (min-width: 431px) {
  .artitle__body .text {
    font-size: 17.7px;
  }
}

.artitle__body .text:last-child {
  margin-bottom: 20px;
}

.artitle__body .text.text__under--img {
  margin-bottom: 30px;
}

/* ページ下部連絡部分
--------------------------------- */
/* バナー部分 */
.artitle__body-contact--part {
  border-top: 1px solid #0068b6;
  padding: 60px 0 110px;
  text-align: center;
}

@media (max-width: 870px) {
  .artitle__body-contact--part {
    padding: clamp(2.5rem, 2.045rem + 2.27vw, 3.75rem) 2% clamp(4.375rem, 3.466rem + 4.55vw, 6.875rem);
  }
}

.artitle-contact--title {
  justify-content: center;
  margin-bottom: 0;
  width: unset;
}

.artitle-contact--title h2.company__name {
  color: #000;
  padding-left: unset;
  text-align: center;
}

.artitle-contact--title h2.company__name span {
  display: inline-block;
  font-size: 25px;
}

@media (max-width: 430px) {
  .artitle-contact--title h2.company__name span {
    font-size: 20px;
  }
}


.artitle__contact--link {
  color: #0068b6;
  font-size: 16px;
  margin-top: 15px;
  text-decoration: underline;
  word-break: break-all;
}

.bottom-background {
  margin-top: -19.5%;
}