@charset "UTF-8";

html {
  font-size: 62.5%;
}
@media screen and (max-width: 1200px) {
  html {
    font-size: calc(10 * (100vw / 1200));
  }
}
/********* ▽ breadcrumb ▽ *********/
#breadcrumb .cateList {
  max-width: 1100px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;
  display: flex;
  height: 50px;
  color: #000;
}
@media only screen and (min-width: 768px) {
  #breadcrumb .cateList {
    font-size: 12px;
    line-height: 50px;
    margin: 20px auto;
    width: 91.666%!important;
  }
}
@media only screen and (max-width: 767px) {
  #breadcrumb .cateList {
    flex-wrap: wrap;
    font-size: calc(20 *(100vw / 750));
    line-height: calc(40 *(100vw / 750));
    margin: 10px auto;
    margin-top: 0 !important;
    width: 92%;
  }
}
/********* △ breadcrumb △ *********/

/********* ▽ others ▽ *********/
.blog {
  color: #58595b;
  text-align: center;
  margin-inline: auto;
}
.blog img {
  width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}
@media only screen and (min-width: 768px) {
  .blog .sp_only {
    display: none;
    opacity: 0;
  }
}
@media only screen and (max-width: 767px) {
  .blog .pc_only {
    display: none;
    opacity: 0;
  }
}
/********* △ others △ *********/

/********* ▽ font ▽ *********/
@font-face {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  src: url("../font/NotoSerifCJKjp-Regular.otf");
}
@font-face {
  font-family: 'Noto Serif JP', serif;
  font-weight: 500;
  src: url("../font/NotoSerifCJKjp-Medium.otf");
}
@font-face {
  font-family: 'Noto Serif JP', serif;
  font-weight: 600;
  src: url("../font/NotoSerifJP-SemiBold.otf");
}
@font-face {
  font-family: 'eb-garamond, serif';
  src: url("../font/EBGaramond-Regular.ttf");
}
.blog .font__jp {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-feature-settings: "palt";
}
.blog .font__en {
  font-family: "baskerville-display-pt", serif;
  font-weight: 400;
  font-style: normal;
}
/********* △ font △ *********/

/********* ▽ animation ▽ *********/
.blog .fade__up {
  opacity: 0;
  transform: translate(0, 20px);
  transition: all 0.5s ease;
}
.blog .fade__up.active {
  opacity: 1;
  transform: translate(0, 0);
}
.blog .fv__ttl-wrap.fade__up {
  opacity: 0;
  will-change: transform;
  -webkit-transition: ease-in, opacity 1000ms, -webkit-transform 1000ms;
  transition: ease-in, opacity 1000ms, -webkit-transform 1000ms;
  -o-transition: ease-in, opacity 1000ms, transform 1000ms;
  transition: ease-in, opacity 1000ms, transform 1000ms;
  transition: ease-in, opacity 1000ms, transform 1000ms, -webkit-transform 1000ms;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.blog .fv__ttl-wrap.fade__up.active {
  opacity: 1;
}
.blog .slick-dots {
  position: absolute;
}
.blog .slick-dots li button {
  border: solid 1px #000;
  transition: background .3s;
  cursor: pointer;
}
.blog .slick-dots li.slick-active button {
  background: #000;
}
@media only screen and (min-width: 768px) {
  .blog .slick-dots {
    bottom: -1.6rem;
    right: -2.8rem;
  }
  .blog .slick-dots li {
    margin-inline: 0.6rem;
  }
  .blog .slick-dots li button {
    width: 0.6rem;
    height: 0.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .blog .slick-dots {
    margin-inline: calc(22*100vw/750);
    bottom: calc(-30*100vw/750);
    right: calc(-12*100vw/750);
  }
  .blog .sec04 .slick-dots {
    left: initial;
    right: calc(-12*100vw/750);
  }
  .blog .slick-dots li {
    margin-inline: calc(10*100vw/750);
  }
  .blog .slick-dots li button {
    width: calc(10*100vw/750);
    height: calc(10*100vw/750);
  }
}
/********* △ animation △ *********/

/********* ▽ common ▽ *********/
.blog section {
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .blog .fv,
  .blog .model {
    max-width: 1400px;
    width: 100%;
  }
}
/********* △ common △ *********/

/********* ▽ firstview ▽ *********/
.blog .fv {
  position: relative;
}
.blog .fv span {
  display: block;
}
.blog .fv__img {
  margin-inline: auto;
}
.blog .fv__ttl-wrap {
  position: absolute;
  pointer-events: none;
  z-index: 2;
}
.blog .fv__subttl {
  line-height: 1.2;
  letter-spacing: 0.08em;
}
.blog .fv__ttl {
  letter-spacing: 0.08em;
}
.blog .fv__lead {
  line-height: 2;
  letter-spacing: 0.12em;
}
@media only screen and (min-width: 768px) {
  .blog .fv__img {
    width: 60rem;
  }
  .blog .fv__ttl-wrap {
    color: #000;
    top: 7.6rem;
    left: 19.5rem;
    text-align: right;
  }
  .blog .fv__ttl-wrap.pc__right {
    left: 77.5rem;
    text-align: left;
  }
  .blog .fv__subttl {
    font-size: 1.8rem;
  }
  .blog .fv__ttl {
    margin-top: 1.55rem;
    font-size: 2.6rem;
    line-height: 1.25;
  }
  .blog .fv__lead {
    margin-top: 7.2rem;
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .blog .fv {
    width: calc(750*100vw/750);
  }
  .blog .fv__img {
    width: calc(750*100vw/750);
  }
  .blog .fv__ttl-wrap {
    color: #fff;
    top: calc(56*100vw/750);
    left: calc(50*100vw/750);
    text-align: left;
  }
  .blog .fv__ttl-wrap.sp__bottom {
    top: calc(975*100vw/750);
  }
  .blog .fv__subttl {
    font-size: calc(30*100vw/750);
  }
  .blog .fv__ttl {
    margin-top: calc(28*100vw/750);
    font-size: calc(40*100vw/750);
    line-height: 1.0625;
  }
    .blog .fv__lead {
    margin-top: calc(107*100vw/750);
    font-size: calc(26*100vw/750);
  }
}
/********* △ firstview △ *********/

/********* ▽ profile ▽ *********/
.blog .profile {
  width: 100%;
  background-color: #F7F7F7;
}
.blog .profile__ttl {
  letter-spacing: 0.08em;
  color: #000;
}
@media only screen and (min-width: 768px) {
  .blog .profile {
    margin-top: 9.35rem;
    padding-top: 5.84rem;
    padding-bottom: 5.4rem;
  }
  .blog .profile__wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 3.6rem;
    text-align: left;
  }
  .blog .profile__img {
    width: 10.5rem;
  }
  .blog .profile__ttl {
    font-size: 1.6rem;
    line-height: 1.2;
  }
  .blog .profile__ttl-small {
    font-size: 1.4rem;
  }
  .blog .profile__lead {
    margin-top: 2.24rem;
    font-size: 1.2rem;
    line-height: 2;
    letter-spacing: 0.12em;
  }
}
@media only screen and (max-width: 767px) {
  .blog .profile {
    margin-top: calc(147*100vw/750);
    padding-top: calc(80*100vw/750);
    padding-bottom: calc(68*100vw/750);
  }
  .blog .profile__img {
    width: calc(205*100vw/750);
    margin-inline: auto;
  }
  .blog .profile__ttl {
    margin-top: calc(27*100vw/750);
    font-size: calc(32*100vw/750);
    line-height: 1.5;
  }
  .blog .profile__ttl-small {
    display: block;
    font-size: calc(28*100vw/750);
    line-height: 1.7142857143;
  }
  .blog .profile__lead {
    margin-top: calc(34*100vw/750);
    font-size: calc(24*100vw/750);
    line-height: 2;
    letter-spacing: 0.12em;
  }
}
/********* △ profile △ *********/

/********* ▽ model ▽ *********/
.blog .model {
  display: flex;
  flex-wrap: wrap;
  margin-inline: auto;
}
.blog .model__slider {
  margin-inline: auto;
}
.blog .model__lead {
  line-height: 2;
  letter-spacing: 0.12em;
}
.blog .model__credit {
  font-size: 1.2rem;
  line-height: 1.75;
  letter-spacing: 0.08em;
}
@media only screen and (min-width: 768px) {
  .blog .model {
    justify-content: center;
    margin-top: 12rem;
    gap: 10rem 10rem;
  }
  .blog .model__img._01 {
    width: 50rem;
  }
  .blog .model__img._02 {
    margin-top: 40rem;
    width: 45rem;
  }
  .blog .model__slider {
    width: 55rem;
  }
  .blog .model__lead {
    margin-top: 13rem;
    font-size: 1.2rem;
  }
  .blog .model__credit {
    display: flex;
    justify-content: center;
    margin-top: 2.95rem;
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .blog .model {
    justify-content: space-between;
    margin-top: calc(160*100vw/750);
    gap: calc(120*100vw/750) 0;
  }
  .blog .model__img._01 {
    width: calc(650*100vw/750);
  }
  .blog .model__img._02 {
    width: calc(550*100vw/750);
    margin-left: calc(150*100vw/750);
  }
  .blog .model__slider {
    width: calc(750*100vw/750);
  }
  .blog .model__lead {
    margin-top: calc(108*100vw/750);
    font-size: calc(24*100vw/750);
  }
  .blog .model__credit {
    margin-top: calc(43*100vw/750);
    font-size: calc(23*100vw/750);
  }
  .blog .model__credit li {
    display: inline-block;
  }
}
/********* △ model △ *********/