@charset "UTF-8";
.header  {
  position: fixed;
  top: 0;
} 
html {
	font-size: 62.5%;
}
.A0118 {
  width: 100%;
  margin-top: 12rem;
  overflow: hidden;
}
.A0118 .sp-only {
  display: none;
}
.A0118 img {
  width: 100%;
  height: auto;
}
.element {
  font-family: var(--font-jp); /* 日本語フォントの変数 */
  font-family: var(--font-en); /* 英語フォントの変数 */
}
.A0118 .a-etext {
  font-family: var(--font-en);
  font-feature-settings: "palt";
}
.A0118 .a-jtext {
  font-family: var(--font-jp);
  font-feature-settings: "palt";
}
/*---------- animation ----------*/
.A0118 .a-box__border {
  width: 1px;
  height: 0rem;
  background: #000;
  transition-duration: 1s;
}
_:lang(x)+_:-webkit-full-screen-document, body .A0118 .a-box__border {
  width: 3px;
}
/* _:lang(x)+_:-webkit-full-screen-document, body .A0118 .sec01 .a-box__border {
  width: 4px;
} */
_:lang(x)+_:-webkit-full-screen-document, body .A0118 .sec05 .a-box__border {
  width: 5px;
}
_:lang(x)::-moz-placeholder, body .A0118 .a-box__border {
  width: 5px;
}
_:lang(x)::-moz-placeholder, body .A0118 .sec04 .a-box__border {
  width: 8px;
}
.A0118 .sec01 .a-box__border.active {
  height: 21rem;
}
.A0118 .sec02 .a-box__border.active {
  height: 23rem;
  background: #fff;
}
.A0118 .sec03 .a-box__border.active {
  height: 26rem;
}
.A0118 .sec04 .a-box__border.active {
  height: 29rem;
}
.A0118 .blur.active {
	animation-name: blurAnime;
	animation-duration: 1s;
	animation-fill-mode: forwards;
}
@keyframes blurAnime {
	from {
		filter: blur(10px);
		transform: scale(1.02);
		opacity: 0.01;
	}

	to {
		filter: blur(0);
		transform: scale(1);
		opacity: 1;
	}
}

.A0118 .blur {
	opacity: 0.01;
}
@media screen and (max-width: 767px) {
  .A0118 .a-box__border {
    width: 5px;
  }
  .A0118 .sec01 .a-box__border.active,
  .A0118 .sec02 .a-box__border.active,
  .A0118 .sec03 .a-box__border.active,
  .A0118 .sec04 .a-box__border.active {
    height: calc(390 * 100vw / 750);
  }
  .A0118 .sec02 .a-box__border.active {
    background: #000;
  }
}
/*---------- animation ----------*/

/*---------- common ----------*/
.A0118 .sec {
  width: 120rem;
  margin: 0 auto;
}
.A0118 .a-detail::before,
.A0118 .a-detail::after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  width: 100%;
  height: 12rem;
  background-repeat: no-repeat;
}
.A0118 .a-detail {
  position: relative;
  font-size: 1.8rem;
  line-height: 1.7;
  letter-spacing: 0.075em;
  font-weight: 500;
  height: 11.7rem;
}
.A0118 .a-ttl__ename {
  font-size: 4.2rem;
  line-height: 1;
  font-family: trajan-pro-3, serif;
  font-weight: 400;
  font-style: normal;
  /* font-family: trajan-sans-pro, sans-serif;
  font-weight: 400;
  font-style: normal; */
  text-align: right;
}
.A0118 .a-ttl__style {
  font-size: 3.5rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 300;
  font-style: italic;
  text-align: right;
}
.A0118 .a-lead {
  font-size: 1.3rem;
  line-height: 2.0769230769;
  text-align: justify;
}
.A0118 .a-box__area {
  display: flex;
}
.A0118 .a-box__area.sp-only {
  display: none;
}
.A0118 .sec-credit {
  font-size: 1.2rem;
  line-height: 2.1666666667;
  letter-spacing: 0.05em;
  margin-block-start: 3.2rem;
}
.A0118 .sec-credit span {
  display: inline-block;
  border-bottom: 1px solid #000;
  line-height: 0.7;
  margin-inline-end: 1rem;
}
.A0118 .sec-credit.sp-only span {
  display: none;
}
.A0118 .a-v-btn {
  margin: 17rem auto 17rem;
  padding-block-end: 0.4rem;
  width: fit-content;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.037em;
  text-align: center;
  border-bottom: solid 1px #1A1311;
  color: #000;
}
/*---------- common ----------*/

/*---------- image ----------*/
.A0118 .firstview-image {
  width: 100%;
}
.A0118 .model-image101 {
  width: 65rem;
  margin-inline-start: auto;
}
.A0118 .model-image102 {
  width: 47rem;
}
.A0118 .model-image103 {
  width: 38rem;
  margin-block-start: -11.2rem;
}
.A0118 .model-image104 {
  width: 38rem;
}
.A0118 .model-image201 {
  width: 140rem;
}
.A0118 .model-image202 {
  width: 28.5rem;
  margin-block-start: 8.1rem;
}
.A0118 .model-image203 {
  width: 28.5rem;
  margin-block-start: 16rem;
}
.A0118 .model-image204 {
  width: 43rem;
}
.A0118 .model-image301 {
  width: 58rem;
}
.A0118 .model-image302 {
  width: 40rem;
}
.A0118 .model-image303 {
  width: 36rem;
  margin-block-start: 7.9rem;
  margin-inline-start: 11.6rem;
}
.A0118 .model-image401 {
  width: 65rem;
}
.A0118 .model-image402 {
  width: 48.735rem;
}
.A0118 .model-image403 {
  width: 37.0025rem;
  margin-inline-end: 2rem;
}
/*---------- image ----------*/

/*---------- firstview ----------*/
.A0118 .firstview {
  width: 120rem;
}
/*---------- firstview ----------*/

/*---------- sec01 ----------*/
.A0118 .sec01 {
  margin-block-start: 20.1rem;
}
.A0118 .sec01 .sec__wrapper {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
.A0118 .sec01 .a-box__area {
  width: 65rem;
  margin-block-start: 7.8rem;
}
.A0118 .sec01 .a-box__text {
  padding-inline-start: 8.9rem;
  padding-inline-end: 2.8rem;
}
.A0118 .sec01 .a-ttl__ename {
  letter-spacing: 0;
}
.A0118 .sec01 .a-lead {
  letter-spacing: 0.025em;
  margin-block-start: 3.2rem;
}
_:lang(x)::-moz-placeholder, body .A0118 .sec01 .a-lead {
  letter-spacing: 0.015em;
}
.A0118 .sec01 .a-detail {
  width: 26.3rem;
  margin-block-start: 9.1rem;
  margin-inline-start: 10.5rem;
  padding-block-start: 1.4rem;
  padding-inline-start: 2.7rem;
}
.A0118 .sec01 .a-detail::before {
  left: 0;
  background-image: url(../img/frame01.svg);
}
.A0118 .sec01 .model-image102-area {
  margin-block-start: 15.1rem;
}
.A0118 .sec01 .sec__wrap03 {
  display: flex;
  justify-content: space-between;
  width: 84rem;
  margin: 7.5rem auto;
}
/*---------- sec01 ----------*/

/*---------- sec02 ----------*/
.A0118 .sec02 {
  position: relative;
  width: 140rem;
  margin-block-start: 23rem;
}
.A0118 .sec02 .a-detail-area,
.A0118 .sec02 .a-box__area {
  position: absolute;
  content: "";
  pointer-events: none;
}
.A0118 .sec02 .a-detail-area {
  top: 13.2rem;
  right: 28rem;
}
.A0118 .sec02 .a-detail {
  width: 26.9rem;
  padding-block-start: 1.4rem;
  padding-inline-start: 2.7rem;
  color: #fff;
}
.A0118 .sec02 .a-detail::before {
  left: 0;
  background-image: url(../img/frame02.svg);
}
.A0118 .sec02 .a-box__area {
  top: 41rem;
  right: 10rem;
  color: #fff;
  width: 44.7rem;
}
.A0118 .sec02 .a-box__text {
  padding-inline-end: 2.5rem;
}
.A0118 .sec02 .a-ttl__ename {
  letter-spacing: 0;
}
.A0118 .sec02 .a-lead {
  letter-spacing: 0.075em;
  margin-block-start: 2.3rem;
}
.A0118 .sec02 .sec__wrapper {
  display: flex;
  justify-content: space-between;
  width: 120rem;
  margin: 8.1rem auto 0;
  padding-inline-end: 1.8rem;
}
.A0118 .sec02 .sec__wrap02 {
  display: flex;
  justify-content: space-between;
  width: 65rem;
}
/*---------- sec02 ----------*/

/*---------- sec03 ----------*/
.A0118 .sec03 {
  display: flex;
  flex-direction: row-reverse;
  margin-block-start: 19rem;
  padding-inline-end: 14rem;
}
.A0118 .sec03 .a-detail {
  width: 26.3rem;
  margin-block-start: 9.9rem;
  margin-inline-start: 7rem;
  padding-block-start: 1.4rem;
  padding-inline-start: 2.4rem;
  line-height: 1.7;
}
.A0118 .sec03 .a-detail::before {
  left: 0;
  background-image: url(../img/frame03.svg);
}
.A0118 .sec03 .model-image302-area {
  margin-block-start: 16.4rem;
}
.A0118 .sec03 .a-box__area {
  margin-block-start: 8.2rem;
  margin-inline-end: 0.2rem;
}
.A0118 .sec03 .a-box__text {
  padding-inline-end: 2.6rem;
  padding-inline-start: 7rem;
}
.A0118 .sec03 .a-ttl__ename {
  letter-spacing: 0.02em;
}
.A0118 .sec03 .a-lead {
  letter-spacing: 0.075em;
  margin-block-start: 2.7rem;
}
/*---------- sec03 ----------*/

/*---------- sec04 ----------*/
.A0118 .sec04 {
  margin-block-start: 22.2rem;
}
.A0118 .sec04 .sec__wrapper {
  display: flex;
  margin-inline-start: 7rem;
}
.A0118 .sec04 .sec__wrap01 {
  width: 37rem;
  margin-inline-start: 8.5rem;
}
.A0118 .sec04 .a-detail {
  width: 26.4rem;
  margin-block-start: 13.8rem;
  padding-block-start: 1.4rem;
  padding-inline-start: 2.7rem;
  line-height: 1.7;
}
.A0118 .sec04 .a-detail::before {
  left: 0;
  background-image: url(../img/frame03.svg);
}
.A0118 .sec04 .a-box__area {
  flex-direction: row-reverse;
  margin-block-start: 30.5rem;
}
.A0118 .sec04 .a-box__text {
  padding-inline-start: 3rem;
}
.A0118 .sec04 .a-ttl__ename {
  letter-spacing: 0.01em;
  text-align: left;
}
.A0118 .sec04 .a-ttl__style {
  text-align: left;
}
.A0118 .sec04 .a-lead {
  letter-spacing: 0.05em;
  margin-block-start: 3.3rem;
}
.A0118 .sec04 .sec__wrap02 {
  display: flex;
  justify-content: space-between;
  margin-block-start: 8.1rem;
  margin-inline-start: auto;
  width: 96.7rem;
}
/*---------- sec04 ----------*/



@media only screen and (max-width: 1279px) and (min-width: 561px) {
	html {
		font-size: calc(10* (100vw / 1400));
	}   
  }
  /* SP */
  @media only screen and (max-width: 768px) {
	html {
    font-size: calc(10 * 100vw / 750);
  }
  .A0118 .pc-only {
    display: none;
  }
  .A0118 .sp-only {
    display: block;
  }

/*---------- common ----------*/
  .A0118 .sec {
    width: calc(750 * 100vw / 750);
  }
  .A0118 .a-detail::before,
  .A0118 .a-detail::after {
    height: calc(175 * 100vw / 750);
  }
  .A0118 .a-detail {
    width: calc(441.7245 * 100vw / 750);
    font-size: calc(30 * 100vw / 750);
    line-height: 1.6666666667;
    letter-spacing: 0.13em;
    height: calc(175 * 100vw / 750);
    font-weight: 600;
    text-align: center;
  }
  .A0118 .sec01 .a-detail::before,
  .A0118 .sec02 .a-detail::before {
    background-image: url(../img/frame01-sp.svg);
  }
  .A0118 .sec03 .a-detail::before,
  .A0118 .sec04 .a-detail::before {
    background-image: url(../img/frame02-sp.svg);
  }
  .A0118 .a-ttl__ename {
    font-size: calc(45 * 100vw / 750);
    text-align: left;
  }
  .A0118 .a-ttl__style {
    font-size: calc(38 * 100vw / 750);
    line-height: 1;
    letter-spacing: 0.08em;
    text-align: left;
    margin-block-start: calc(2* 100vw/750);
  }
  .A0118 .a-lead {
    font-size: calc(23 * 100vw / 750);
    line-height: 1.7391304348;
  }
  .A0118 .a-box__area.sp-only {
    display: flex;
  }
    .A0118 .a-box__area.pc-only {
    display: none;
  }
  .A0118 .sec-credit {
    font-size: calc(25 * 100vw / 750);
    line-height: 1.84;
    margin-block-start: calc(88 * 100vw / 750);
    text-align: center;
  }
  .A0118 .sec-credit span {
    display: inline-block;
    line-height: 0.8;
    margin-inline-end: calc(0 * 100vw / 750);
  }
  .A0118 .sec-credit.sp-only span {
    display: inline-block;
    margin-inline: calc(9 * 100vw / 750);
  }
  .A0118 .sec-credit.pc-only span {
    display: none;
  }
  .A0118 .a-v-btn {
    margin: calc(190*(100vw/750)) auto calc(88*(100vw/750));
    padding-block-end: calc(4 * 100vw / 750);
    font-size: calc(30 * 100vw / 750);
  }
/*---------- common ----------*/

/*---------- image ----------*/
  .A0118 .model-image101 {
    width: calc(650 * 100vw / 750);
    margin-inline-start: calc(0 * 100vw / 750);
    margin: 0 auto;
  }
  .A0118 .model-image102 {
    width: calc(570 * 100vw / 750);
    margin-inline: auto;
  }
  .A0118 .model-image103 {
    width: calc(480 * 100vw / 750);
    margin-block-start: calc(0 * 100vw / 750);
    margin-inline-start: calc(86 * 100vw / 750);
  }
  .A0118 .model-image104 {
    width: calc(480 * 100vw / 750);
    margin-block-start: calc(101 * 100vw / 750);
    margin-inline-start: calc(180 * 100vw / 750);
  }
  .A0118 .model-image201 {
    width: calc(750 * 100vw / 750);
  }
  .A0118 .model-image202 {
    width: calc(340 * 100vw / 750);
    margin-block-start: calc(0 * 100vw / 750);
  }
  .A0118 .model-image203 {
    width: calc(340 * 100vw / 750);
    margin-block-start: calc(92 * 100vw / 750);
  }
  .A0118 .model-image204 {
    width: calc(530 * 100vw / 750);
    margin-block-start: calc(85 * 100vw / 750);
    margin-inline: auto;
  }
  .A0118 .model-image301 {
    width: calc(650 * 100vw / 750);
    margin-inline: auto;
  }
  .A0118 .model-image302 {
    width: calc(500 * 100vw / 750);
    margin-block-start: calc(96 * 100vw / 750);
    margin-inline-start: calc(50 * 100vw / 750);
  }
  .A0118 .model-image303 {
    width: calc(450 * 100vw / 750);
    margin-block-start: calc(89 * 100vw / 750);
    margin-inline: auto;
  }
  .A0118 .model-image401 {
    width: calc(650 * 100vw / 750);
    margin-inline: auto;
  }
  .A0118 .model-image402 {
    width: calc(500 * 100vw / 750);
    margin-inline-start: calc(50 * 100vw / 750);
  }
  .A0118 .model-image403 {
    width: calc(500 * 100vw / 750);
    margin-inline-end: calc(0 * 100vw / 750);
    margin-block-start: calc(90 * 100vw / 750);
    margin-inline-start: calc(200 * 100vw / 750);
  }
/*---------- image ----------*/

/*---------- firstview ----------*/
  .A0118 .firstview {
    width: calc(750 * 100vw / 750);
    text-align: center;
  }
  .A0118 .firstview-lead {
    margin-block-start: calc(80 * 100vw / 750);
    font-size: calc(23 * 100vw / 750);
    line-height: 1.8695652174;
    letter-spacing: 0.045em;
    font-weight: 500;
  }
/*---------- firstview ----------*/

/*---------- sec01 ----------*/
  .A0118 .sec01 {
    margin-inline-start: calc(0 * 100vw / 750);
    margin-block-start: calc(129 * 100vw / 750);
  }
  .A0118 .sec01 .sec__wrapper {
    display: block;
  }
  .A0118 .sec01 .a-box__area {
    flex-direction: row-reverse;
    width: calc(659 * 100vw / 750);
    margin-block-start: calc(97 * 100vw / 750);
    margin-inline: auto;
  }
  .A0118 .sec01 .a-box__text {
    padding-inline-start: calc(35 * 100vw / 750);
    padding-inline-end: calc(35 * 100vw / 750);
  }
  .A0118 .sec01 .a-ttl__ename {
    letter-spacing: 0.02em;
  }
  .A0118 .sec01 .a-lead {
    letter-spacing: 0.075em;
    margin-block-start: calc(35 * 100vw / 750);
  }
  .A0118 .sec01 .a-detail {
    width: calc(460 * 100vw / 750);
    margin-block-start: calc(97 * 100vw / 750);
    margin-inline: auto;
    padding-block-start: calc(13 * 100vw / 750);
    padding-inline-start: calc(0 * 100vw / 750);
  }
  .A0118 .sec01 .model-image102-area {
    margin-block-start: calc(97 * 100vw / 750);
  }
  .A0118 .sec01 .sec__wrap03 {
    display: block;
    width: calc(750 * 100vw / 750);
    margin: calc(88 * 100vw / 750) auto calc(0 * 100vw / 750);
  }
/*---------- sec01 ----------*/

/*---------- sec02 ----------*/
  .A0118 .sec02 {
    position: static;
    width: calc(750 * 100vw / 750);
    margin-block-start: calc(209 * 100vw / 750);
  }
  .A0118 .sec02 .a-detail-area,
  .A0118 .sec02 .a-box__area {
    position: static;
  }
  .A0118 .sec02 .a-detail {
    width: calc(461 * 100vw / 750);
    margin-block-start: calc(98 * 100vw / 750);
    margin-inline: auto;
    padding-block-start: calc(13 * 100vw / 750);
    padding-inline-start: calc(0 * 100vw / 750);
    color: #000;
  }
  .A0118 .sec02 .a-box__area {
    flex-direction: row-reverse;
    width: calc(659 * 100vw / 750);
    margin-block-start: calc(102 * 100vw / 750);
    margin-inline: auto;
    color: #000;
  }
  .A0118 .sec02 .a-box__text {
    padding-inline-start: calc(35 * 100vw / 750);
    padding-inline-end: calc(35 * 100vw / 750);
  }
  .A0118 .sec02 .a-lead {
    letter-spacing: 0.075em;
    margin-block-start: calc(36 * 100vw / 750);
  }
  .A0118 .sec02 .sec__wrapper {
    display: block;
    width: calc(750 * 100vw / 750);
    margin: calc(99 * 100vw / 750) auto calc(0 * 100vw / 750);
    padding-inline-end: calc(0 * 100vw / 750);
  }
  .A0118 .sec02 .sec__wrap02 {
    width: calc(750 * 100vw / 750);
  }
  .A0118 .sec02 .sec-credit span {
    margin-inline: calc(10 * 100vw / 750);
  }
/*---------- sec02 ----------*/

/*---------- sec03 ----------*/
  .A0118 .sec03 {
    display: block;
    margin-block-start: calc(205 * 100vw / 750);
    padding-inline-end: calc(0 * 100vw / 750);
  }
  .A0118 .sec03 .a-detail {
    width: calc(467 * 100vw / 750);
    margin-block-start: calc(98 * 100vw / 750);
    margin-inline: auto;
    padding-block-start: calc(12 * 100vw / 750);
    padding-inline-start: calc(0 * 100vw / 750);
  }
  .A0118 .sec03 .model-image302-area {
    margin-block-start: calc(0 * 100vw / 750);
  }
  .A0118 .sec03 .a-box__area {
    flex-direction: row-reverse;
    width: calc(659 * 100vw / 750);
    margin-block-start: calc(98 * 100vw / 750);
    margin-inline: auto;
    color: #000;
  }
  .A0118 .sec03 .a-box__text {
    padding-inline-start: calc(35 * 100vw / 750);
    padding-inline-end: calc(35 * 100vw / 750);
  }
  .A0118 .sec03 .a-lead {
    letter-spacing: 0.075em;
    margin-block-start: calc(35 * 100vw / 750);
  }
    .A0118 .sec03 .sec-credit span {
    margin-inline: calc(9 * 100vw / 750);
  }
/*---------- sec03 ----------*/

/*---------- sec04 ----------*/
  .A0118 .sec04 {
    margin-block-start: calc(208 * 100vw / 750);
  }
  .A0118 .sec04 .sec__wrapper {
    display: block;
    margin-inline-start: calc(0 * 100vw / 750);
  }
  .A0118 .sec04 .sec__wrap01 {
    width: calc(750 * 100vw / 750);
    margin-inline-start: calc(0 * 100vw / 750);
  }
  .A0118 .sec04 .a-detail {
    width: calc(467 * 100vw / 750);
    margin-block-start: calc(100 * 100vw / 750);
    margin-inline: auto;
    padding-block-start: calc(13 * 100vw / 750);
    padding-inline-start: calc(0 * 100vw / 750);
    line-height: 1.67;
  }
  .A0118 .sec04 .a-box__area {
    flex-direction: row-reverse;
    width: calc(659 * 100vw / 750);
    margin-block-start: calc(97 * 100vw / 750);
    margin-inline: auto;
    color: #000;
  }
  .A0118 .sec04 .a-box__text {
    padding-inline-start: calc(35 * 100vw / 750);
    padding-inline-end: calc(35 * 100vw / 750);
  }
  .A0118 .sec04 .a-ttl__ename {
    letter-spacing: 0.01em;
    text-align: left;
  }
  .A0118 .sec04 .a-ttl__style {
    text-align: left;
  }
  .A0118 .sec04 .a-lead {
    letter-spacing: 0.075em;
    margin-block-start: calc(35 * 100vw / 750);
  }
  .A0118 .sec04 .sec__wrap02 {
    display: block;
    margin-block-start: calc(89 * 100vw / 750);
    margin-inline-start: auto;
    width: calc(750 * 100vw / 750);
  }
/*---------- sec04 ----------*/
}

