/* ========== Base ========== */
figure { font-size: 0; }

.only_sp { display: none !important; }

/* Key Visual */
.mssKeyVisual__text { padding: 35px 40px; }
.mssKeyVisual__twoUpItem { padding: 0 1vw 0 2vw; }
.mssKeyVisual__sub { font-size: 16px; line-height: 32px; }

/* Content wrappers */
.contarea { margin-top: 55px; padding-bottom: 60px; }
.cont_sub01,
.cont_sub02 { margin-top: 100px; }

.cont_inner { overflow: hidden; }

.cont_title_wrap { margin-bottom: 35px; }
.cont_title {
  line-height: 1.5;
  font-size: 24px;
  padding-bottom: 15px;
  border-bottom: solid 1px #CDB182;
}

/* Flex blocks */
.cont_flex,
.cont_flex_reverse {
  padding: .1px;
  display: flex;
  justify-content: space-between;
}
.cont_flex { margin-top: 55px; }
.cont_flex_reverse { margin-top: 35px; flex-direction: row-reverse; }

/* Columns */
.cont_flex_img,
.cont_flex_text { width: 46%; }

/* Media blocks */
.cont_img980,
.cont_img470 { width: 100%; margin: 60px auto 0; }
.cont_img980 { max-width: 980px; }
.cont_img470 { max-width: 470px; }

.cont_flex_img img,
.cont_img980 img,
.cont_img470 img { width: 100%; }

/* Text blocks */
.cont_1col_text { margin-top: 50px; }
.cont_text { font-size: 16px; line-height: 32px; }

/* Captions */
.caption {
  font-size: 12px;
  line-height: 22px;
  margin: 10px 0 0;
  display: inline-block;
  text-align: left;
}
.cont_img980 .caption {
  text-align: center;
  display: block;
}

/* Related */
.related_title { font-size: 17px; margin: 0; }
.related_text { font-size: 13px; line-height: 1.6; margin: 15px 0; }
.related_text p { margin: 0; }
.related_link { margin: 8px 0 20px; }
.note { font-size: 10px; line-height: 1.6; margin: 0; }

/* ========== Mobile (<=767px) ========== */
@media (max-width:767px) {

  .only_pc { display: none !important; }
  .only_sp { display: block !important; }

  .mssKeyVisual__text { padding: 4.6666vw 5vw; }
  .mssKeyVisual__heading { text-align: left; }
  .mssKeyVisual__image img { border-radius: 0; }

  .mssKeyVisual__twoUpItem { width: 100%; padding: 0; }
  .mssKeyVisual__sub { font-size: 3.599999999vw; line-height: 7.333333333333vw; }

  .contarea { margin-top: 10vw; padding-bottom: 16vw; }

  .cont_sub01,
  .cont_sub02 { margin-top: 7vw; }

  .cont_title_wrap { margin-bottom: 7.3vw; }
  .cont_title { font-size: 5.6vw; padding-bottom: 5vw; }

  .cont_flex,
  .cont_flex_reverse { margin-top: 0; display: block; }

  .caption_flex { display: block; }
  .caption_flex .caption:first-child { margin-right: 0; }

  .cont_flex_img { width: 100%; margin-top: 9.333333333333334vw; }
  .cont_flex_text { width: 100%; margin-top: 12vw; }

  .cont_img980,
  .cont_img470 { margin-top: 12vw; }

  .cont_1col_text { margin-top: 9.33333vw; }
  .cont_text { font-size: 3.599999999vw; line-height: 7.333333333333vw; }

  .caption { font-size: 2.9333vw; line-height: 6vw; margin: 2.6vw 0 0; }
  .cont_img980 .caption { display: inline-block; text-align: left; }

  .related_title { font-size: 3.46666666666vw; }
  .related_text { font-size: 2.933333333333333vw; margin: 2vw 0; }
  .related_text p { margin: 1vw 0; }
  .note { font-size: 2.4vw; margin: 0 0 7vw !important; }

  .mssRelated__image { width: 55%; margin: 0 auto; }
}
