@charset "UTF-8";
@import url("global.css");
.lineup_page_title {
  padding: 200px 0 100px;
}
.lineup_page_title .title .en {
  display: block;
  padding-left: 135px;
  position: relative;
  margin-bottom: 10px;
  font-size: clamp(13px, 2vw, 16px);
  font-family: "Lateef", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.lineup_page_title .title .en::after {
  content: "";
  width: 110px;
  height: 1px;
  background: #DADDD8;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.lineup_page_title .title .jp {
  display: block;
  margin-bottom: 20px;
  line-height: 1.45;
  font-size: clamp(22px, 3.9vw, 34px);
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.lineup_page_title .title strong {
  font-size: .85em;
  padding-left: 5px;
}

.top {
  position: relative;
  height: 700px;
  margin-bottom: 70px;
}
.top .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.top .wrapper {
  position: relative;
  z-index: 1;
  text-align: right;
}
.top .catch {
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
  text-orientation: upright;
  display: inline-block;
  letter-spacing: .4em;
  color: #77846E;
  margin-top: -50px;
  letter-spacing: .2em;
  font-size: clamp(18px, 2.5vw, 26px);
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.top .catch span {
  background-color: #fff;
  padding: 0 7px;
  display: inline-block;
  margin-left: 20px;
}

.osusume {
  background-color: #FBF7F3;
  padding: 60px 0;
  margin: 110px 0 70px;
}
.osusume .wrapper {
  position: relative;
}
.osusume dl {
  background-color: #fff;
  border-radius: 5px;
  padding: 60px 40px 90px;
  box-sizing: border-box;
  width: 660px;
}
.osusume dl dt {
  font-size: 24px;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  margin-bottom: 30px;
}
.osusume dl dd {
  line-height: 1.5;
  padding-left: 16px;
  text-indent: -16px;
  margin-top: 10px;
}
.osusume dl dd::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #77846E;
  margin-right: 8px;
  vertical-align: 2px;
  display: inline-block;
  text-indent: 0;
}
.osusume .image {
  position: absolute;
  right: 0;
  width: 50%;
  aspect-ratio: 3 / 2;
  top: -120px;
  max-width: calc( 100% - 560px );
  z-index: 2;
}

.point li {
  position: relative;
}
.point li .image {
  width: calc(50% - 60px);
  position: absolute;
  top: 0;
  bottom: 0;
}
.point li .main {
  box-sizing: border-box;
  padding-top: 80px;
  min-height: 600px;
  width: calc(50% + 60px);
}
.point li .main .flex_inner {
  display: flex;
  position: relative;
  border-top: #C1C1C1 1px solid;
  padding-top: 50px;
}
.point li .en {
  position: absolute;
  top: -10px;
  background-color: #fff;
  line-height: 1;
  font-size: 20px;
  font-family: "Lateef", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 2px;
}
.point li .title {
  font-size: 27px;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
  text-orientation: upright;
  display: inline-block;
  letter-spacing: .4em;
  width: 70px;
  line-height: 1.5;
}
.point li .text {
  padding-top: 30px;
}
.point li .button {
  margin-top: 50px;
}
.point li .button a {
  display: block;
  color: #fff;
  background-color: #77846E;
  border-radius: 3px;
  padding: 16px 20px 18px 25px;
  font-weight: 700;
  letter-spacing: 0;
}
.point li .button a .btnarrow {
  display: inline-block;
  margin-left: 15px;
  position: relative;
  width: 30px;
  vertical-align: -7px;
}
.point li:nth-of-type(odd) .image {
  right: 0;
}
.point li:nth-of-type(odd) .main .flex_inner {
  padding-right: 60px;
}
.point li:nth-of-type(odd) .en {
  left: 0;
  padding-right: 20px;
}
.point li:nth-of-type(odd) .title {
  margin-right: 70px;
}
.point li:nth-of-type(even) .image {
  left: 0;
}
.point li:nth-of-type(even) .main {
  margin-left: auto;
}
.point li:nth-of-type(even) .main .flex_inner {
  padding-left: 60px;
  flex-direction: row-reverse;
}
.point li:nth-of-type(even) .en {
  right: 0;
  padding-left: 20px;
}
.point li:nth-of-type(even) .title {
  margin-left: 70px;
}

#gallery {
  width: 100%;
  overflow: hidden;
  margin: 140px 0 80px;
}
#gallery ul li {
  aspect-ratio: 3 / 4;
  border-radius: 3px;
  overflow: hidden;
}

.swiper-wrapper {
  transition-timing-function: linear;
}

#modelhouse {
  background-color: #F3F3F3;
  padding: 80px 0;
  margin-bottom: 40px;
}
#modelhouse .flex_inner {
  display: flex;
}
#modelhouse .title {
  margin: 10px 70px 0 0;
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
  text-orientation: upright;
  display: inline-block;
  letter-spacing: .4em;
  text-orientation: mixed;
  line-height: 1.6;
}
#modelhouse .title span {
  display: block;
}
#modelhouse .title .en {
  font-size: 20px;
  font-family: "Lateef", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 1px;
}
#modelhouse .title .jp {
  font-size: 24px;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
#modelhouse ul {
  display: flex;
  flex: 1;
  margin: 0 -30px;
}
#modelhouse ul li {
  width: 50%;
  box-sizing: border-box;
  padding: 0 30px;
}
#modelhouse ul li a {
  display: block;
}
#modelhouse ul li .image {
  position: relative;
  height: 0;
  padding-top: 65%;
  margin-bottom: 20px;
}
#modelhouse ul li .image img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#modelhouse ul li .image .name {
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: #fff;
  border-top-left-radius: 3px;
  padding: 5px 25px 5px;
  font-weight: 700;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
#modelhouse ul li .modeltitle {
  font-size: clamp(15px, 2.6vw, 20px);
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.5;
  margin: 0 10px 8px;
}
#modelhouse ul li .address {
  margin: 0 10px;
  padding-left: 3em;
  text-indent: -3em;
}
#modelhouse ul li .address span {
  display: inline-block;
  text-indent: 0;
  font-weight: 500;
}
#modelhouse ul li .address span::after {
  content: "：";
}
#modelhouse ul li .button {
  margin-top: 25px;
  display: block;
  color: #fff;
  background-color: #77846E;
  border-radius: 3px;
  padding: 8px 20px 10px 25px;
  font-weight: 700;
}
#modelhouse ul li .button .btnarrow {
  display: inline-block;
  margin-left: 15px;
  position: relative;
  width: 30px;
  vertical-align: -7px;
}

/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-1 (1400px)

------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 1300px )

------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1300px) {
  #modelhouse ul {
    margin: 0 -2.3vw;
  }
  #modelhouse ul li {
    padding: 0 2.3vw;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 960px )

------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
  .lineup_page_title {
    padding: 160px 0 80px;
  }

  .top {
    height: 520px;
    margin-bottom: 40px;
  }

  .osusume {
    padding: 60px 0;
    margin: 110px 0 60px;
  }
  .osusume dl {
    padding: 40px 0 55px 40px;
    width: auto;
  }
  .osusume dl dt {
    font-size: 21px;
    margin-bottom: 20px;
  }
  .osusume .image {
    top: -150px;
    max-width: 360px;
  }

  .point li .image {
    width: calc(50% - 6vw);
  }
  .point li .main {
    width: calc(50% + 6vw);
  }
  .point li .title {
    font-size: 22px;
  }
  .point li .text {
    padding-top: 20px;
  }
  .point li:nth-of-type(odd) .main .flex_inner {
    padding-right: 6vw;
  }
  .point li:nth-of-type(odd) .title {
    margin-right: 6vw;
  }
  .point li:nth-of-type(even) .main .flex_inner {
    padding-left: 6vw;
  }
  .point li:nth-of-type(even) .title {
    margin-left: 6vw;
  }

  #gallery {
    margin: 100px 0 70px;
  }

  #modelhouse {
    padding: 60px 0;
  }
  #modelhouse .title {
    margin: 10px 5vw 0 0;
  }
  #modelhouse .title .jp {
    font-size: 21px;
  }
  #modelhouse ul {
    margin: 0 -2vw;
  }
  #modelhouse ul li {
    padding: 0 2vw;
  }
  #modelhouse ul li .image {
    margin-bottom: 15px;
  }
  #modelhouse ul li .image .name {
    font-size: 14px;
    padding: 3px 15px;
  }
  #modelhouse ul li .modeltitle {
    margin: 0 1vw 8px;
  }
  #modelhouse ul li .address {
    margin: 0 1vw;
  }
  #modelhouse ul li .button {
    margin-top: 20px;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-4 ( 644px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  .lineup_page_title {
    padding: 80px 0 40px;
  }
  .lineup_page_title .title .en {
    padding-left: 100px;
  }
  .lineup_page_title .title .en::after {
    width: 80px;
  }
  .lineup_page_title .title .jp {
    margin-bottom: 15px;
  }
  .lineup_page_title .title strong {
    font-size: .8em;
  }

  .top {
    height: 300px;
    margin-bottom: 30px;
  }
  .top .catch {
    margin-top: -40px;
    font-size: clamp(16px, 2.5vw, 26px);
  }
  .top .catch span {
    padding: 0 5px;
    margin-left: 12px;
  }

  .osusume {
    padding: 1px 0 40px;
    margin: 50px 0 40px;
  }
  .osusume dl {
    padding: 45px 6vw 30px;
  }
  .osusume dl dt {
    font-size: 18px;
    margin-bottom: 15px;
  }
  .osusume dl dd {
    margin-top: 8px;
  }
  .osusume .image {
    position: relative;
    margin: -30px -5vw -20px auto;
    width: 70%;
    top: auto;
  }

  .point li {
    margin-bottom: 60px;
  }
  .point li .image {
    width: auto;
    position: relative;
    aspect-ratio: 10 / 6;
    margin-bottom: 40px;
  }
  .point li .main {
    padding-top: 0;
    min-height: inherit;
    width: auto;
  }
  .point li .main .flex_inner {
    padding-top: 35px;
  }
  .point li .en {
    letter-spacing: 1px;
  }
  .point li .title {
    font-size: 19px;
    width: auto;
  }
  .point li .text {
    padding-top: 20px;
  }
  .point li .button {
    margin-top: 30px;
    margin-right: calc(-1 * (8vw + 57px));
  }
  .point li .button a .btnarrow {
    margin-left: 12px;
    width: 25px;
  }
  .point li:nth-of-type(odd) .main .flex_inner {
    padding-right: 0;
  }
  .point li:nth-of-type(odd) .title {
    margin-right: 8vw;
  }
  .point li:nth-of-type(even) .main .flex_inner {
    padding-left: 0;
  }
  .point li:nth-of-type(even) .title {
    margin-left: 8vw;
  }

  #gallery {
    margin: 0 0 50px;
  }

  #modelhouse {
    padding: 50px 0 10px;
  }
  #modelhouse .title {
    margin: 0 7vw 0 0;
    line-height: 1.5;
  }
  #modelhouse .title .en {
    font-size: 18px;
  }
  #modelhouse .title .jp {
    font-size: 18px;
  }
  #modelhouse ul {
    display: block;
    margin: 0;
  }
  #modelhouse ul li {
    width: auto;
    padding: 0;
    margin-bottom: 40px;
  }
  #modelhouse ul li .image {
    margin-bottom: 10px;
  }
  #modelhouse ul li .image .name {
    font-size: 13px;
    padding: 3px 10px 3px 15px;
  }
  #modelhouse ul li .modeltitle {
    margin: 0 1vw 5px;
  }
  #modelhouse ul li .address {
    font-size: 13px;
  }
  #modelhouse ul li .button {
    margin-top: 10px;
  }
}

/*# sourceMappingURL=custom.css.map */
