@charset "UTF-8";
@import url("global.css");
#header .header-logo {
  width: 360px;
  top: 40px;
}
#header .header-logo img {
  -webkit-filter: none;
          filter: none;
}
#header .headnavi .headnavi_inner .head_tel p {
  color: #fff;
}
#header .headnavi .headnavi_inner .head_tel p span a {
  color: #fff;
}
#header .headnavi .headcontact a {
  color: #fff;
}
#header .headnavi .headcontact li + li::before {
  content: "/";
  color: #fff;
}
#header .headnavi .headsns li::after {
  background-color: #fff;
}
#header .headnavi .headsns li a {
  color: #fff;
}

.is-scroll #header .header-logo img {
  -webkit-filter: brightness(10%);
          filter: brightness(10%);
}

/* ------------------------------
 Top
------------------------------ */
#toparea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: calc(100svh - 100px);
  margin-bottom: 25px;
  position: relative;
}
#toparea #topslide {
  height: 100%;
  position: relative;
  /*&::before {
  	content: "";
  	display: block;
  	background: $black;
  	position: absolute;
  	top: 0;
  	left: 0;
  	width: 100%;
  	height: 100%;
  	z-index: 2;
  	opacity: .2;
  }*/
}
#toparea .swiper-container {
  width: 100%;
  height: 100%;
}
#toparea .swiper-container .swiper-wrapper, #toparea .swiper-container .swiper-slide, #toparea .swiper-container .slide-img {
  height: 100%;
  position: relative;
}
#toparea .swiper-container .slide-img::before {
  content: "";
  display: block;
  background: #2d2d2d;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0.2;
}
#toparea .swiper-slide-active .slide-img img,
#toparea .swiper-slide-duplicate-active .slide-img img,
#toparea .swiper-slide-prev .slide-img img {
  -webkit-animation: zoomout 6s ease-in-out 0s 1;
          animation: zoomout 6s ease-in-out 0s 1;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
#toparea .toptext {
  position: absolute;
  z-index: 2;
  color: #fff;
  left: 10%;
  top: 50%;
  margin-top: -50px;
  text-align: left;
  z-index: 3;
}
#toparea .toptext span {
  display: block;
}
#toparea .toptext .jp {
  font-size: 48px;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  margin-bottom: 30px;
  -webkit-animation: textj 0.6s ease-in-out 0.5s 1;
          animation: textj 0.6s ease-in-out 0.5s 1;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  letter-spacing: 0;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
}
#toparea .toptext .en {
  font-size: 17px;
  font-family: "EB Garamond", "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 2px;
  -webkit-animation: texte 1s ease-in-out 1s 1;
          animation: texte 1s ease-in-out 1s 1;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
#toparea .toptext .date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
#toparea .toptext .date li {
  display: inline;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 3px;
  padding: 10px 10px 15px;
  color: #2d2d2d;
  font-weight: 600;
  font-size: 12px;
  text-align: center;
  line-height: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#toparea .toptext .date li span {
  font-weight: 600;
  font-size: 15px;
  line-height: 1;
}
#toparea .toptext .date li span em {
  font-size: 40px;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
  display: inline-block;
  margin: 0 3px;
}
#toparea .toptext .date li span small {
  font-size: 13px;
}
#toparea .toptext .date li + li {
  margin-left: 5px;
}

@-webkit-keyframes zoomout {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes zoomout {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes textj {
  0% {
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100% {
    -webkit-transform: none;
            transform: none;
    -webkit-filter: none;
            filter: none;
  }
}
@keyframes textj {
  0% {
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100% {
    -webkit-transform: none;
            transform: none;
    -webkit-filter: none;
            filter: none;
  }
}
@-webkit-keyframes texte {
  0% {
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: none;
            transform: none;
    opacity: 1;
  }
}
@keyframes texte {
  0% {
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: none;
            transform: none;
    opacity: 1;
  }
}
/* ------------------------------
 News
------------------------------ */
#news {
  max-width: 800px;
  height: 60px;
  margin: 0 auto 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#news .title {
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 21px;
  padding: 10px 40px 10px 0;
}
#news #newsslide {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 10px 0;
  position: relative;
}
#news #newsslide::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: #8f8f8f;
}
#news .swiper-container-news {
  height: 100%;
  overflow: hidden;
}
#news .swiper-wrapper, #news .swiper-slide {
  height: 100%;
}
#news .inner {
  display: block;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.5;
  padding: 10px;
}
#news a.inner {
  padding-right: 30px;
  position: relative;
}
#news a.inner::after {
  content: "\f105";
  font-family: "Font Awesome 6 free", "Font Awesome 6 Brands";
  font-weight: 900;
  font-size: 20px;
  position: absolute;
  right: 20px;
  line-height: 1;
  top: 50%;
  margin-top: -10px;
}
#news span, #news time {
  display: block;
}
#news .date {
  float: left;
  font-family: "EB Garamond", "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
#news .text {
  margin-left: 110px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ------------------------------
 bnrarea
------------------------------ */
.bnrarea {
  margin-block: 80px 80px;
}
.bnrarea .bnr .link {
  position: relative;
  display: -ms-grid;
  display: grid;
  place-content: center;
  height: 230px;
  color: #fff;
  text-align: center;
}
.bnrarea .bnr .link .bg {
  position: absolute;
  inset: 0;
  margin: auto;
}
.bnrarea .bnr .link .bg::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  backdrop-filter: brightness(1.5) saturate(1.3);
  opacity: 0;
  transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.bnrarea .bnr .link .bnr_inner {
  position: relative;
}
.bnrarea .bnr .link .bnr_inner .bnr_title {
  padding-top: 20px;
}
.bnrarea .bnr .link .bnr_inner .bnr_text {
  margin-top: 20px;
  font-size: 17px;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.bnrarea .bnr .link .deco {
  position: absolute;
  top: 0;
  left: 0;
}
@media (any-hover: hover) {
  .bnrarea .bnr .link:hover .bg::after {
    opacity: 1;
  }
}

/* ------------------------------
 Concept
------------------------------ */
#imagebox {
  margin-bottom: 120px;
}
#imagebox .wrapper {
  max-width: 1400px;
}
#imagebox ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#imagebox ul li:nth-of-type(1) {
  width: 24.6%;
  margin-top: 45px;
  padding-right: 10px;
}
#imagebox ul li:nth-of-type(2) {
  width: 25.6%;
  margin-top: 135px;
}
#imagebox ul li:nth-of-type(3) {
  width: 35.6%;
}

.section .title {
  margin: 15px 40px 0 0;
  width: 30px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.section .title::before {
  content: "";
  width: 1px;
  height: 130px;
  background-color: #8f8f8f;
  display: block;
  margin: 0 0 20px 8px;
}
.section .title span {
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
  display: inline-block;
  letter-spacing: 0.15em;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 21px;
  display: block;
  letter-spacing: 0.2em;
  line-height: 1.2;
}
.section .catch {
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 36px;
  line-height: 1.5;
}

#concept .catch {
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 1.6;
  margin-bottom: 25px;
}
#concept .button {
  margin: 40px 0 0 auto;
  width: 280px;
}
#concept .button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: #2d2d2d 1px solid;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weigth: 500;
  padding: 0 10px 15px 0;
  position: relative;
  color: #2d2d2d;
}
#concept .button a::after {
  content: "\f054";
  font-family: "Font Awesome 6 free", "Font Awesome 6 Brands";
  font-weight: 900;
  opacity: 0.7;
  padding-top: 2px;
}
#concept .button a {
  margin-left: auto;
}
#concept .column1 {
  position: relative;
  margin-bottom: -95px;
}
#concept .column1::before {
  content: "";
  position: absolute;
  bottom: 92px;
  left: 0;
  right: 50%;
  z-index: 0;
  height: 200px;
  background: url("../images/concept_en.png") no-repeat center bottom;
  background-size: contain;
}
#concept .column1 .wrapper {
  max-width: 1400px;
  padding: 0 50px;
}
#concept .column1 .main {
  padding: 30px 0 240px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 45%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#concept .column1 .main p:not([class]) {
  line-height: 2;
}
#concept .column1 .main p + p {
  margin-top: 15px;
}
#concept .column1 .main p.button {
  margin-top: 40px;
}
#concept .column1 .image {
  width: 50%;
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  right: 0;
}
#concept .column2 {
  background-color: #E8E3D8;
  position: relative;
  padding: 1px 0 60px;
}
#concept .column2 .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 2;
}
#concept .column2 .inner .policy {
  text-align: center;
  width: 850px;
  height: 850px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  z-index: 3;
  margin: -40px 60px 0 -130px;
}
#concept .column2 .inner .policy dt, #concept .column2 .inner .policy dd {
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  width: 420px;
  height: 420px;
  position: absolute;
  z-index: 0;
  color: #fff;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#concept .column2 .inner .policy dt {
  top: 50%;
  right: 0;
  margin-top: -210px;
  background-color: #3e3e3e;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  line-height: 1.6;
}
#concept .column2 .inner .policy dt span {
  display: block;
  max-width: 45%;
  letter-spacing: 0.1em;
  margin: 0 auto 5px;
  font-size: 35px;
  font-family: "EB Garamond", "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-style: italic;
}
#concept .column2 .inner .policy dd a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
#concept .column2 .inner .policy dd a:hover::before {
  opacity: 0.5;
}
#concept .column2 .inner .policy dd a:hover .bg img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
#concept .column2 .inner .policy dd a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2d2d2d;
  opacity: 0.7;
  mix-blend-mode: hard-light;
  z-index: 1;
  transition: all 0.8s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  -webkit-transition: all 0.8s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
#concept .column2 .inner .policy dd a .bg {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#concept .column2 .inner .policy dd a .bg img {
  transition: all 0.8s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  -webkit-transition: all 0.8s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
#concept .column2 .inner .policy dd a .text {
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 26px;
  line-height: 1.5;
  position: relative;
  z-index: 1;
}
#concept .column2 .inner .policy dd a .text span {
  font-family: "EB Garamond", "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 15px;
  margin-bottom: 5px;
  letter-spacing: 0.1em;
  display: block;
}
#concept .column2 .inner .policy dd.no1 {
  top: 0;
  left: 50%;
  margin-left: -210px;
}
#concept .column2 .inner .policy dd.no2 {
  top: 50%;
  left: 0;
  margin-top: -210px;
}
#concept .column2 .inner .policy dd.no3 {
  bottom: 0;
  left: 50%;
  margin-left: -210px;
}
#concept .column2 .inner .main {
  padding-top: 90px;
  margin-right: -3vw;
}
#concept .column2 .inner .main p:not([class]) {
  line-height: 2;
}
#concept .column3 {
  background-color: #E8E3D8;
  padding: 0 0 90px;
}
#concept .column3 .wrapper {
  max-width: 1400px;
  padding: 0 50px;
}
#concept .column3 .column3_block {
  background: #d5cfc2;
  border-radius: 5px;
  padding: 50px 200px 50px 50px;
  position: relative;
}
#concept .column3 .column3_block .title_area {
  position: absolute;
  right: 50px;
  top: -50px;
  text-align: right;
}
#concept .column3 .column3_block .title_area .sub_title {
  text-align: left;
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
  display: inline-block;
  letter-spacing: 0.15em;
  line-height: 1.45;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(21px, 4vw, 38px);
}
#concept .column3 .column3_block .title_area .sub_title span {
  display: block;
  font-size: clamp(12px, 1.9vw, 17px);
}
#concept .column3 .column3_block .title_area .button {
  margin: 10px 0 0 auto;
  width: 100px;
}
#concept .column3 .column3_block .title_area .button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: #2d2d2d 1px solid;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weigth: 500;
  padding: 0 10px 15px 0;
  position: relative;
  color: #2d2d2d;
}
#concept .column3 .column3_block .title_area .button a::after {
  content: "\f054";
  font-family: "Font Awesome 6 free", "Font Awesome 6 Brands";
  font-weight: 900;
  opacity: 0.7;
  padding-top: 2px;
}
#concept .column3 .column3_block .title_area .button a {
  margin-left: auto;
  padding-right: 0;
}
#concept .column3 .column3_block .list_quality {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 -30px;
}
#concept .column3 .column3_block .list_quality li {
  width: 25%;
  padding: 0 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}
#concept .column3 .column3_block .list_quality li::after {
  content: "";
  width: 1px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #575757;
}
#concept .column3 .column3_block .list_quality li:last-of-type::after {
  width: 0;
  height: 0;
}
#concept .column3 .column3_block .list_quality li a {
  display: block;
}
#concept .column3 .column3_block .list_quality li h4 {
  margin-bottom: 25px;
  position: relative;
  font-size: 15px;
  font-weight: 600;
}
#concept .column3 .column3_block .list_quality li h4::after {
  content: "";
  width: 20px;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: -10px;
  background: #575757;
}
#concept .column3 .column3_block .list_quality li .lead {
  margin-bottom: 20px;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 16px;
}
#concept .column3 .column3_block .list_quality li figure {
  height: 160px;
}
#concept .column3 .column3_block .list_quality li .more {
  width: 120px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #2d2d2d;
  color: #fff;
  padding: 3px 10px;
  border-radius: 50px;
  margin: 25px 0 0 auto;
  position: relative;
  font-size: 12px;
}
#concept .column3 .column3_block .list_quality li .more::after {
  content: "\f054";
  font-family: "Font Awesome 6 free", "Font Awesome 6 Brands";
  font-weight: 900;
  opacity: 0.7;
  padding-top: 2px;
  color: #fff;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.btn-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 90px auto 30px;
  max-width: 1400px;
}
.btn-area .item {
  width: 50%;
}
.btn-area .item + .item {
  margin-left: 3%;
}
.btn-area .item a {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 230px;
  position: relative;
  border-radius: 3px;
}
.btn-area .item a:hover {
  opacity: 0.7;
}
.btn-area .item a .arrow {
  width: 42px;
  height: 42px;
  background-color: #575757;
  position: absolute;
  z-index: 2;
  right: 15px;
  bottom: 15px;
  border-radius: 100%;
}
.btn-area .item a .arrow::after {
  position: absolute;
  color: #fff;
  top: 50%;
  left: 50%;
  margin: -12px 0 0 -4px;
  content: "\f054";
  font-size: 14px;
  font-family: "Font Awesome 6 free", "Font Awesome 6 Brands";
  font-weight: 900;
}
.btn-area .item.realestate a {
  border: 2px solid #e7e7e7;
  background: url("../images/btn_realestate_bg.jpg") no-repeat center center;
  background-size: cover;
}
.btn-area .item.realestate a .text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  margin-left: 6%;
}
.btn-area .item.realestate a .text .subcatch {
  font-size: 14px;
}
.btn-area .item.realestate a .text .title {
  font-size: 26px;
  line-height: 1.7;
  margin: 4px 0 10px;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.btn-area .item.realestate a .text .title span {
  display: inline-block;
  background-color: #f3f3f3;
  border: 1px solid #d5d5d5;
  padding: 0 6px;
  margin-right: 6px;
  font-family: "Zen Kaku Gothic Antique", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Meiryo", "メイリオ", Helvetica, sans-serif;
  font-weight: bold;
}
.btn-area .item.realestate a .text .subtext {
  font-size: 12px;
  color: #8f8f8f;
  text-shadow: 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff;
}
.btn-area .item.point a {
  background: url("../images/btn_point_bg.jpg") no-repeat right center;
  background-size: cover;
}
.btn-area .item.point a::after {
  content: "";
  background-color: rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.btn-area .item.point a .text {
  position: absolute;
  z-index: 1;
  right: 37px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 296px;
}

.link-area {
  margin: 30px auto 90px;
  max-width: 1400px;
}
.link-area ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -15px;
}
.link-area ul li {
  width: 25%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.link-area ul li > a, .link-area ul li .app {
  display: block;
  position: relative;
  padding: 10px;
  border-radius: 5px;
  overflow: hidden;
  color: #fff;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
}
.link-area ul li > a::before, .link-area ul li .app::before {
  content: "";
  background-color: #2d2d2d;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  mix-blend-mode: multiply;
  transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.link-area ul li > a::after, .link-area ul li .app::after {
  content: "";
  border: #fff 1px solid;
  position: absolute;
  top: 10px;
  right: 10px;
  bottom: 10px;
  left: 10px;
  border-radius: 4px;
  z-index: 2;
}
.link-area ul li > a .bg, .link-area ul li .app .bg {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.link-area ul li > a > span, .link-area ul li .app > span {
  margin: 3px auto;
  display: block;
  z-index: 5;
  line-height: 1.3;
  position: relative;
}
.link-area ul li > a > span:first-child, .link-area ul li .app > span:first-child {
  margin-top: 5px;
}
.link-area ul li > a > span.jp, .link-area ul li .app > span.jp {
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: min(20px,2vw);
}
.link-area ul li > a > span.book, .link-area ul li .app > span.book {
  margin-top: 10px;
  max-width: 140px;
}
.link-area ul li > a > span.btn a, .link-area ul li .app > span.btn a {
  color: #2d2d2d;
  background: #fff;
  font-weight: bold;
  padding: 0 5px 3px;
  min-width: 110px;
  display: block;
  margin: 0 auto;
  border-radius: 2px;
  border: 2px solid #8f8f8f;
}
.link-area ul li > a > span.btn a:hover, .link-area ul li .app > span.btn a:hover {
  opacity: 0.6;
}
.link-area ul li > a > span small, .link-area ul li .app > span small {
  font-size: 12px;
  line-height: 1.3;
  display: block;
}
.link-area ul li > a:hover::before {
  opacity: 0.4;
}

/* ------------------------------
 Youtube
------------------------------ */
#youtube {
  background-color: #2d2d2d;
  padding: 130px 0 120px;
  color: #fff;
}
#youtube .main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: calc((100% - 1200px) / 2);
  position: relative;
}
#youtube .title_area {
  width: 260px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  text-align: center;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 20px;
}
#youtube .title_area .sub {
  font-size: 14px;
  margin-bottom: 8px;
}
#youtube .title_area .h span {
  max-width: 100%;
  height: 50px;
  display: block;
  margin-top: 10px;
}
#youtube .title_area .h span img {
  width: auto;
  height: 100%;
}
#youtube .title_area .button {
  text-align: center;
  width: 240px;
  margin: 0 auto;
}
#youtube .title_area .button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: #fff 1px solid;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weigth: 500;
  padding: 0 10px 15px 0;
  position: relative;
  color: #fff;
}
#youtube .title_area .button a::after {
  content: "\f054";
  font-family: "Font Awesome 6 free", "Font Awesome 6 Brands";
  font-weight: 900;
  opacity: 0.7;
  padding-top: 2px;
}
#youtube .slick-list {
  padding: 0 15% 0 0 !important;
}
#youtube .list_area {
  width: calc(100% - 320px);
  position: static;
}
#youtube .list_area .list_title {
  text-align: left;
  margin-bottom: 20px;
  color: #fff;
  font-size: 18px;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
#youtube ul.list li {
  margin-right: 24px;
  text-align: left;
}
#youtube ul.list li a {
  display: block;
}
#youtube ul.list li a .image {
  aspect-ratio: 16/9;
  margin-bottom: 10px;
}
#youtube ul.list li a .date {
  color: #8f8f8f;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 12px;
  margin-bottom: 10px;
}
#youtube ul.list li a .date .new {
  display: inline-block;
  margin-left: 10px;
  color: #fff;
  background-color: #C5A05A;
  padding: 0 20px;
  border-radius: 2px;
  font-family: "EB Garamond", "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
#youtube ul.list li a .text {
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0;
}
#youtube .slick-slider {
  position: static;
}
#youtube .slick-prev,
#youtube .slick-next {
  top: -20px;
  left: auto;
  margin: 0;
  background-color: #8f8f8f;
  border-radius: 100px;
}
#youtube .slick-prev::before,
#youtube .slick-next::before {
  color: #fff;
  top: 50%;
  left: 50%;
  margin: 0 0 0 -6px;
}
#youtube .slick-next {
  right: calc((100vw - 1200px) / 2);
}
#youtube .slick-prev {
  right: calc((100vw - 1200px) / 2 + 70px);
}

/* ------------------------------
 Event
------------------------------ */
#event {
  background-color: #575757;
  padding: 70px 0;
  margin-bottom: 50px;
}
#event .seminar {
  background-color: #338F9E !important;
  color: #fff;
}
#event .openhouse {
  background-color: #4F90C6 !important;
  color: #fff;
}
#event .consul {
  background-color: #339E73 !important;
  color: #fff;
}
#event .title {
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 38px;
  color: #fff;
  text-align: center;
  margin-bottom: 40px;
}
#event .cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 40px;
}
#event .cat li {
  width: 200px;
  margin: 0 12px;
}
#event .cat li a {
  padding: 8px;
  display: block;
  border-radius: 3px;
  background-color: #fff;
}
#event ul.list {
  display: none;
}
#event ul.list.cat-all {
  display: block;
}
#event ul.list {
  margin-bottom: 40px;
}
#event ul.list li {
  height: auto;
  margin: 0 1vw;
}
#event ul.list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #fff;
  border-radius: 3px;
  padding: 24px;
  text-align: left;
  height: 100%;
}
#event ul.list li a .image {
  width: 43%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 30px;
}
#event ul.list li a .image span {
  display: block;
  width: 100%;
  height: 0;
  padding-top: 66.7%;
  position: relative;
  overflow: hidden;
}
#event ul.list li a .image span img {
  position: absolute;
  top: 0;
  left: 0;
}
#event ul.list li a .main {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 10px 0 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#event ul.list li a .main .post-cat {
  display: inline-block;
  padding: 0 12px;
  border-radius: 2px;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 14px;
  margin-bottom: 10px;
}
#event ul.list li a .main .post-title {
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  line-height: 1.5;
  font-size: min(20px,2vw);
}
#event ul.list li a .main .post-data {
  margin-top: 10px;
}
#event .button {
  text-align: center;
  width: 240px;
  margin: 0 auto;
}
#event .button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: #fff 1px solid;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weigth: 500;
  padding: 0 10px 15px 0;
  position: relative;
  color: #fff;
}
#event .button a::after {
  content: "\f054";
  font-family: "Font Awesome 6 free", "Font Awesome 6 Brands";
  font-weight: 900;
  opacity: 0.7;
  padding-top: 2px;
}
#event .slick-dots li button:before {
  background-color: #8f8f8f;
}
#event .slick-dots li.slick-active button:before {
  background-color: #fff;
}
#event .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* ------------------------------
 Works
------------------------------ */
#works {
  margin-bottom: 90px;
  position: relative;
  z-index: 1;
  text-align: left;
}
#works .main {
  position: absolute;
  top: 60px;
  left: 19%;
  padding-top: min(90px,4.5vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#works .main .text .catch {
  font-size: min(48px,2.3vw);
  margin-bottom: 60px;
}
#works .main .text .button {
  width: 210px;
}
#works .main .text .button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: #2d2d2d 1px solid;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weigth: 500;
  padding: 0 10px 15px 0;
  position: relative;
  color: #2d2d2d;
}
#works .main .text .button a::after {
  content: "\f054";
  font-family: "Font Awesome 6 free", "Font Awesome 6 Brands";
  font-weight: 900;
  opacity: 0.7;
  padding-top: 2px;
}
#works ul.works {
  padding-top: 100px;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%, 40% 1px, 17.1% 1px, 17.1% 100%, 0 100%);
}
#works ul.works li {
  margin-left: 30px;
}
#works ul.works li a {
  display: block;
  height: 0;
  padding-top: 140%;
  border-radius: 5px;
  position: relative;
  overflow: hidden;
}
#works ul.works li a::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2d2d2d;
  opacity: 0;
  transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
#works ul.works li a .photo {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
}
#works ul.works li a .post-title {
  color: #fff;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0;
  position: absolute;
  z-index: 2;
  bottom: 25px;
  left: 25px;
  right: 25px;
  transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
}
#works ul.works li a:hover::before {
  opacity: 0.4;
}
#works ul.works li a:hover .post-title {
  -webkit-transform: none;
          transform: none;
  opacity: 1;
}
#works .slick-prev,
#works .slick-next {
  top: 30px;
  margin: 0;
  border: 1px solid #8f8f8f;
  border-radius: 50px;
}
#works .slick-prev::before,
#works .slick-next::before {
  color: #8f8f8f;
  top: 50%;
  left: 50%;
  margin: 0 0 0 -6px;
}
#works .slick-next {
  left: auto;
  right: calc((100% - 1200px) / 2);
}
#works .slick-prev {
  left: auto;
  right: calc((100% - 1200px) / 2 + 70px);
}

/* ------------------------------
 Lineup
------------------------------ */
#lineup {
  padding: 30px 0 100px;
  position: relative;
  z-index: 0;
}
#lineup::before {
  content: "";
  background-color: #EEEBE5;
  position: absolute;
  z-index: 0;
  top: -3vw;
  bottom: 0;
  left: 0;
  right: 0;
}
#lineup .h {
  text-align: center;
  position: relative;
  z-index: 1;
  margin-bottom: -55px;
}
#lineup .h span {
  display: block;
  line-height: 1.2;
}
#lineup .h .jp {
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 30px;
}
#lineup .h .jp i {
  font-size: 1.6em;
  font-family: "EB Garamond", "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  padding: 0 0.1em;
}
#lineup .h .jp br {
  display: none;
}
#lineup .h .en {
  line-height: 1.1;
  font-size: min(150px,9vw);
  font-family: "EB Garamond", "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
#lineup .lineup {
  margin-bottom: 50px;
}
#lineup .lineup .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#lineup .lineup li {
  height: auto;
  margin: 0 20px;
}
#lineup .lineup li a {
  height: 100%;
  display: block;
  overflow: hidden;
  border-radius: 6px;
  background-color: #fff;
}
#lineup .lineup li figure {
  position: relative;
}
#lineup .lineup li figure .photo {
  display: block;
  overflow: hidden;
  height: 0;
  padding-top: 66%;
  position: relative;
}
#lineup .lineup li figure .photo img {
  position: absolute;
  top: 0;
  left: 0;
}
#lineup .lineup li figure .ex {
  position: absolute;
  width: 30%;
  left: 10%;
  bottom: -55px;
  z-index: 1;
}
#lineup .lineup li .textarea {
  padding: 25px 35px 30px;
  text-align: left;
}
#lineup .lineup li .textarea .logo {
  text-align: right;
  font-size: 11px;
  margin-bottom: 15px;
}
#lineup .lineup li .textarea .logo span {
  display: block;
}
#lineup .lineup li .textarea .logo span img {
  display: inline;
  max-width: 180px;
  -o-object-fit: contain;
     object-fit: contain;
}
#lineup .lineup li .textarea .catch {
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 15px;
}
#lineup .lineup li .textarea .text {
  font-size: 14px;
}
#lineup .slick-dots {
  margin-top: 30px;
}
#lineup .slick-dots li {
  margin: 0 10px;
}
#lineup .button {
  width: 240px;
  margin: 0 auto;
}
#lineup .button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: #2d2d2d 1px solid;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weigth: 500;
  padding: 0 10px 15px 0;
  position: relative;
  color: #2d2d2d;
}
#lineup .button a::after {
  content: "\f054";
  font-family: "Font Awesome 6 free", "Font Awesome 6 Brands";
  font-weight: 900;
  opacity: 0.7;
  padding-top: 2px;
}

/* ------------------------------
 Estate
------------------------------ */
.btn_estate {
  margin: 100px 0 140px;
}
.btn_estate a {
  position: relative;
  padding: 50px 0;
  background: url("../images/bg_estate.jpg") no-repeat center center;
  background-size: cover;
  text-align: center;
  display: block;
}
.btn_estate a::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2d2d2d;
  opacity: 0.6;
}
.btn_estate a .main {
  position: relative;
  z-index: 1;
  color: #fff;
  display: inline-block;
  padding: 30px 75px 5px;
  background: url("../images/estate.png") no-repeat left center;
  background-size: auto 100%;
  line-height: 1;
}
.btn_estate a .main span {
  display: block;
}
.btn_estate a .main .title {
  font-size: 47px;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  margin-bottom: 20px;
}
.btn_estate a .main .text {
  background-color: #fff;
  color: #2d2d2d;
  font-size: 15px;
  font-weight: 700;
  padding: 10px 40px;
  border-radius: 100px;
  margin: 10px 0 25px;
}
.btn_estate a .main .text br {
  display: none;
}
.btn_estate a .main .sub {
  font-size: 13px;
  font-weight: 700;
}
.btn_estate a .main .sub::after {
  content: "\f105";
  font-family: "Font Awesome 6 free", "Font Awesome 6 Brands";
  font-weight: 900;
  margin-left: 10px;
}

/* ------------------------------
 Voice & Staff
------------------------------ */
.maincontents {
  margin-top: 120px;
  margin-bottom: 110px;
}
.maincontents .maincatch {
  text-align: center;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: 38px;
  line-height: 1.3;
  letter-spacing: 0.08em;
  margin-bottom: 120px;
}
.maincontents .maincatch span {
  display: block;
  width: 600px;
  margin: 40px auto 0;
}
.maincontents .column {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.maincontents .column .image {
  position: absolute;
}
.maincontents .column .main {
  width: calc(50% - 140px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.maincontents .column .main .text .catch {
  margin-bottom: 35px;
}
.maincontents .column .main .text p:not([class]) {
  line-height: 2.5;
  font-size: 15px;
}
.maincontents .column .main .text .button {
  width: 200px;
  margin: 50px 0 0 auto;
  text-align: right;
}
.maincontents .column .main .text .button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: #2d2d2d 1px solid;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weigth: 500;
  padding: 0 10px 15px 0;
  position: relative;
  color: #2d2d2d;
}
.maincontents .column .main .text .button a::after {
  content: "\f054";
  font-family: "Font Awesome 6 free", "Font Awesome 6 Brands";
  font-weight: 900;
  opacity: 0.7;
  padding-top: 2px;
}
.maincontents .voice {
  padding: 80px 0 170px;
  min-height: 600px;
}
.maincontents .voice .image {
  width: calc(50% + 40px);
  left: 0;
  top: 0;
  bottom: 0;
}
.maincontents .voice .main {
  margin-left: auto;
}
.maincontents .staff {
  padding: 140px 0 40px;
}
.maincontents .staff .image {
  width: calc(50% - 100px);
  right: 0;
  top: -90px;
  bottom: 80px;
}

/* ------------------------------
 Blog
------------------------------ */
#blogarea {
  background-color: #2d2d2d;
  color: #fff;
  padding: 50px 0 100px;
}
#blogarea .wrapper {
  text-align: center;
}
#blogarea .title {
  font-size: 100px;
  font-family: "EB Garamond", "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #EEEBE5;
  line-height: 1;
  position: relative;
  z-index: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 50px;
}
#blogarea .main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#blogarea .main .blog {
  position: relative;
  width: 50%;
  border-right: #e7e7e7 1px solid;
}
#blogarea .main .blog:last-of-type {
  border: none;
}
#blogarea .main .blog .blogtitle {
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  position: absolute;
  top: -38px;
}
#blogarea .main .blog .blogtitle a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#blogarea .main .blog .blogtitle a::before {
  content: "";
  width: 20px;
  height: 3px;
  background-color: #fff;
  display: inline-block;
}
#blogarea .main .blog ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#blogarea .main .blog ul li {
  width: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#blogarea .main .blog ul li a {
  display: block;
}
#blogarea .main .blog ul li a .image {
  padding-top: 66.7%;
  height: 0;
  position: relative;
  margin-bottom: 10px;
  background-color: #000;
}
#blogarea .main .blog ul li a .image img {
  position: absolute;
  top: 0;
  left: 0;
}
#blogarea .main .blog ul li a .date {
  font-family: "EB Garamond", "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-align: left;
}
#blogarea .main .blog ul li a .post-title {
  line-height: 1.5;
  text-align: justify;
}
#blogarea .main .presidentblog .blogtitle {
  left: 0;
}
#blogarea .main .presidentblog .blogtitle a::before {
  margin-right: 10px;
}
#blogarea .main .presidentblog ul li {
  padding-right: 26px;
}
#blogarea .main .staffblog .blogtitle {
  left: 26px;
}
#blogarea .main .staffblog .blogtitle a::before {
  margin-right: 10px;
}
#blogarea .main .staffblog ul li {
  padding-left: 26px;
}

/* ------------------------------
 Contents-Link
------------------------------ */
.contentslink {
  margin: 45px 0;
}
.contentslink ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -15px;
}
.contentslink ul li {
  width: 25%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 15px;
}
.contentslink ul li a {
  display: block;
  position: relative;
  height: 0;
  padding-top: 100%;
  border-radius: 5px;
  overflow: hidden;
  color: #fff;
}
.contentslink ul li a::before {
  content: "";
  background-color: #2d2d2d;
  opacity: 0.4;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  mix-blend-mode: multiply;
}
.contentslink ul li a::after {
  content: "";
  border: #fff 1px solid;
  position: absolute;
  top: 10px;
  right: 10px;
  bottom: 10px;
  left: 10px;
  border-radius: 4px;
  z-index: 2;
}
.contentslink ul li a .bg {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.contentslink ul li a .president {
  position: absolute;
  z-index: 4;
  bottom: 0;
  right: 0;
  width: 79.3%;
}
.contentslink ul li a span {
  display: block;
  position: absolute;
  z-index: 5;
  line-height: 1.2;
}
.contentslink ul li a span.jp {
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  font-size: min(26px,2vw);
  top: 30px;
  left: 30px;
}
.contentslink ul li a span.en {
  font-family: "EB Garamond", "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 21px;
  bottom: 25px;
  right: 30px;
}

/* ------------------------------
 Sub-Contents
------------------------------ */
.subcontents {
  background-color: #EEEBE5;
  padding: 75px 0 85px;
}
.subcontents ul.link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -10px;
}
.subcontents ul.link li {
  width: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 10px;
  margin-bottom: 20px;
}
.subcontents ul.link li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  line-height: 1.3;
  font-size: 18px;
  background-color: #fff;
  height: 90px;
}
.subcontents ul.link li a br {
  display: none;
}
.subcontents .myo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #2d2d2d;
  color: #fff;
  padding: 15px 45px 15px 65px;
}
.subcontents .myo a span {
  display: block;
}
.subcontents .myo a .title {
  width: 210px;
}
.subcontents .myo a .link {
  font-family: "EB Garamond", "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.subcontents .myo a .link::after {
  content: "\f08e";
  font-family: "Font Awesome 6 free", "Font Awesome 6 Brands";
  font-weight: 900;
  font-size: 20px;
  display: inline-block;
  line-height: 1;
  vertical-align: -1px;
  margin-left: 20px;
}

/* ------------------------------
 Instagram
------------------------------ */
#instagram {
  background-color: #2d2d2d;
  color: #fff;
  padding: 60px 0 80px;
}
#instagram .insta .title {
  margin-bottom: 20px;
  text-align: center;
}
#instagram .insta .title a {
  display: inline-block;
}
#instagram .insta .title a i {
  font-size: 42px;
}
#instagram .insta #instafeed p {
  margin: 0 12px;
}
#instagram .insta #instafeed p a {
  display: block;
  position: relative;
  height: 0;
  padding-top: 100%;
}
#instagram .insta #instafeed p a img {
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 0;
}

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

 Responsive-Breakpoint (1600px)

------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1600px) {
  /* ------------------------------
   Works
  ------------------------------ */
  #works .main {
    left: 12%;
  }
  #works .main .text .catch {
    font-size: 2.8vw;
  }
  #works ul.works {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 38% 100%, 38% 1px, 11.1% 1px, 11.1% 100%, 0 100%);
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-1 (1300px)

------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1300px) {
  #header .header-logo {
    width: 280px;
  }
  /* ------------------------------
   Top
  ------------------------------ */
  #toparea {
    height: calc(100svh - 80px);
    margin-bottom: 10px;
  }
  /* ------------------------------
   News
  ------------------------------ */
  #news {
    height: 55px;
    margin: 0 auto 30px;
  }
  /* ------------------------------
   Concept
  ------------------------------ */
  #imagebox ul li:nth-of-type(1) {
    width: 25%;
  }
  #imagebox ul li:nth-of-type(2) {
    width: 26%;
  }
  #imagebox ul li:nth-of-type(3) {
    width: 36%;
  }
  .section .title {
    margin: 15px 2vw 0 0;
  }
  .section .catch {
    font-size: 3.5vw;
  }
  #concept .catch {
    font-size: 28px;
    margin-bottom: 20px;
  }
  #concept .column1 .main {
    padding: 0 0 190px;
  }
  #concept .column1 .main p:not([class]) {
    font-size: 15px;
    line-height: 1.8;
  }
  #concept .column1 .main p.button {
    margin-top: 25px;
  }
  #concept .column2 {
    padding-bottom: 0;
  }
  #concept .column2 .inner .policy {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    margin-top: -90px;
    margin-right: 0;
  }
  #concept .column2 .inner .main {
    margin-right: -1vw;
  }
  #concept .column2 .inner .main p:not([class]) {
    font-size: 15px;
    line-height: 1.8;
  }
  #concept .column3 .column3_block .list_quality li .lead {
    font-size: 16px;
  }
  #concept .column3 .column3_block .list_quality li figure {
    height: 120px;
  }
  .link-area ul {
    margin: 0 -10px;
  }
  .link-area ul li {
    padding: 0 10px;
  }
  .link-area ul li > a > span .pcnone, .link-area ul li .app > span .pcnone {
    display: block;
  }
  /* ------------------------------
   Event
  ------------------------------ */
  #event {
    margin-bottom: 30px;
  }
  /* ------------------------------
   Youtube
  ------------------------------ */
  #youtube .main {
    margin-left: 50px;
  }
  #youtube .list_area {
    width: calc(100% - 300px);
  }
  #youtube .slick-next {
    left: auto;
    right: 50px;
  }
  #youtube .slick-prev {
    left: auto;
    right: 115px;
  }
  /* ------------------------------
   Works
  ------------------------------ */
  #works .main {
    left: 21%;
  }
  #works .main .text .catch {
    font-size: 3.5vw;
  }
  #works ul.works {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 51% 100%, 51% 1px, 19% 1px, 19% 100%, 0 100%);
  }
  #works ul.works li a .post-title {
    font-size: 18px;
  }
  #works .slick-next {
    right: 50px;
  }
  #works .slick-prev {
    right: 115px;
  }
  /* ------------------------------
   Lineup
  ------------------------------ */
  #lineup {
    padding: 60px 0 100px;
  }
  #lineup .h {
    margin-bottom: -3.5vw;
  }
  #lineup .h .jp {
    font-size: 32px;
  }
  #lineup .lineup li {
    margin: 0 1vw;
  }
  #lineup .lineup li figure {
    padding: 1vw;
  }
  #lineup .lineup li figure .ex {
    width: 30%;
    left: 5%;
  }
  #lineup .lineup li .text {
    padding: 20px 1vw 0;
  }
  #lineup .lineup li .brandname {
    font-size: 2vw;
    margin-bottom: 20px;
  }
  #lineup .lineup li p:not([class]) {
    letter-spacing: 0;
  }
  /* ------------------------------
   Voice & Staff
  ------------------------------ */
  .maincontents .column .main {
    width: calc(50% - 10vw);
  }
  /* ------------------------------
   Blog
  ------------------------------ */
  #blogarea .title {
    font-size: 80px;
  }
  #blogarea .main .blog ul li a .post-title {
    font-size: 14px;
    letter-spacing: 0;
  }
  #blogarea .main .presidentblog ul li {
    padding-right: 1.8vw;
  }
  #blogarea .main .staffblog ul li {
    padding-left: 1.8vw;
  }
  /* ------------------------------
   Contents-Link
  ------------------------------ */
  .contentslink ul {
    margin: 0 -1vw;
  }
  .contentslink ul li {
    padding: 0 1vw;
  }
  .contentslink ul li a span.jp {
    font-size: min(26px,2.1vw);
  }
  /* ------------------------------
   Instagram
  ------------------------------ */
  #instagram .insta #instafeed p {
    margin: 0 1vw;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint ( 1200px )

------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1200px) {
  /* ------------------------------
   Concept
  ------------------------------ */
  #concept .catch {
    font-size: 26px;
  }
  #concept .button {
    width: 260px;
    margin-top: 20px;
  }
  #concept .button a {
    font-size: 14px;
    padding: 0 10px 10px 0;
  }
  #concept .column1 {
    margin-bottom: -55px;
  }
  #concept .column1::before {
    bottom: 52px;
  }
  #concept .column1 .main {
    padding: 0 0 150px;
  }
  #concept .column1 .main p:not([class]) {
    line-height: 1.6;
  }
  #concept .column1 .main p + p {
    margin-top: 10px;
  }
  #concept .column2 {
    padding: 1px 0 20px;
  }
  #concept .column2 .inner .policy {
    margin: -140px 40px -80px -320px;
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
    -webkit-transform-origin: center right;
            transform-origin: center right;
  }
  #concept .column2 .inner .main {
    padding-top: 40px;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 960px )

------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
  /* ------------------------------
   Top
  ------------------------------ */
  #toparea {
    height: calc(100svh - 80px);
    margin-bottom: 0;
  }
  #toparea .toptext {
    left: 6%;
  }
  #toparea .toptext .jp {
    font-size: min(34px, 5vw);
  }
  #toparea .toptext .date li span {
    font-size: 14px;
  }
  #toparea .toptext .date li span em {
    font-size: 28px;
  }
  /* ------------------------------
   News
  ------------------------------ */
  #news {
    max-width: 100%;
    height: 75px;
    margin: 0 5vw 25px;
  }
  #news #newsslide {
    width: auto;
    overflow: hidden;
  }
  #news a.inner::after {
    right: 5px;
    opacity: 0.5;
  }
  #news .date {
    float: none;
    line-height: 1.2;
    margin-bottom: 2px;
  }
  #news .text {
    margin-left: 0;
  }
  /* ------------------------------
   Concept
  ------------------------------ */
  #imagebox {
    display: block;
    margin-bottom: 50px;
  }
  #imagebox ul {
    margin: 0 -6vw;
  }
  #imagebox ul li:nth-of-type(1) {
    width: 26%;
    margin-top: 40px;
  }
  #imagebox ul li:nth-of-type(2) {
    width: 27%;
    margin-top: 100px;
  }
  #imagebox ul li:nth-of-type(3) {
    width: 37%;
  }
  .section .title {
    margin: 10px 2vw 0 0;
  }
  .section .title::before {
    height: 100px;
  }
  .section .catch {
    font-size: 3.5vw;
  }
  #concept .catch {
    font-size: 3vw;
  }
  #concept .column1 {
    margin-bottom: -80px;
  }
  #concept .column1::before {
    bottom: 78px;
    height: 60px;
    right: 30%;
  }
  #concept .column1 .wrapper {
    padding: 0 6vw;
  }
  #concept .column1 .main {
    width: auto;
    padding: 0 0 170px;
  }
  #concept .column1 .main p:not([class]) br {
    display: none;
  }
  #concept .column1 .image {
    display: none;
  }
  #concept .column2 {
    padding: 1px 0 60px;
  }
  #concept .column2 .inner {
    display: inline-block;
    position: relative;
    width: 100%;
  }
  #concept .column2 .inner .policy {
    margin: -100px 0 -100px -150px;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    -webkit-transform-origin: center center;
            transform-origin: center center;
  }
  #concept .column2 .inner .main .catch {
    text-align: right;
  }
  #concept .column3 .wrapper {
    padding: 0 6vw;
  }
  #concept .column3 .column3_block {
    padding: 50px 150px 50px 50px;
  }
  #concept .column3 .column3_block .title_area {
    right: 30px;
    top: 50px;
  }
  #concept .column3 .column3_block .title_area .button {
    width: 70px;
    margin-top: 20px;
  }
  #concept .column3 .column3_block .list_quality {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #concept .column3 .column3_block .list_quality li {
    width: 50%;
  }
  #concept .column3 .column3_block .list_quality li:nth-of-type(even)::after {
    width: 0;
    height: 90%;
  }
  #concept .column3 .column3_block .list_quality li:nth-of-type(1), #concept .column3 .column3_block .list_quality li:nth-of-type(2) {
    padding-bottom: 15px;
  }
  #concept .column3 .column3_block .list_quality li:nth-of-type(3), #concept .column3 .column3_block .list_quality li:nth-of-type(4) {
    padding-top: 15px;
  }
  #concept .column3 .column3_block .list_quality li:nth-of-type(3)::before, #concept .column3 .column3_block .list_quality li:nth-of-type(4)::before {
    content: "";
    width: 90%;
    height: 1px;
    background: #575757;
    position: absolute;
    left: 50%;
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #concept .column3 .column3_block .list_quality li .lead {
    font-size: 16px;
  }
  #concept .column3 .column3_block .list_quality li .more {
    width: 100px;
  }
  .btn-area {
    display: block;
  }
  .btn-area .item {
    width: auto;
  }
  .btn-area .item + .item {
    margin: 30px 0 0;
  }
  .link-area ul {
    margin: 0 -15px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .link-area ul li {
    width: 50%;
    padding: 15px 15px;
  }
  .link-area ul li > a > span .pcnone, .link-area ul li .app > span .pcnone {
    display: none;
  }
  /* ------------------------------
   Youtube
  ------------------------------ */
  #youtube {
    padding: 120px 0 60px;
  }
  #youtube .main {
    margin-left: 6vw;
  }
  #youtube .title_area {
    width: 180px;
  }
  #youtube .title_area .sub {
    margin-bottom: 10px;
    line-height: 1.45;
  }
  #youtube .title_area .h span {
    height: 40px;
    margin-top: 6px;
  }
  #youtube .title_area .button {
    width: 100%;
  }
  #youtube .slick-list {
    padding: 0 10% 0 0 !important;
  }
  #youtube .list_area {
    width: calc(100% - 220px);
  }
  #youtube ul.list li {
    margin-right: 20px;
  }
  #youtube ul.list li a .date {
    margin-bottom: 2px;
  }
  #youtube ul.list li a .date .new {
    padding: 0 10px;
  }
  #youtube .slick-prev,
  #youtube .slick-next {
    top: -10px;
  }
  #youtube .slick-next {
    right: 6vw;
  }
  #youtube .slick-prev {
    right: calc(6vw + 56px);
  }
  /* ------------------------------
   Event
  ------------------------------ */
  #event .title {
    font-size: 30px;
  }
  #event .cat li {
    width: 200px;
    margin: 0 6px;
  }
  #event ul.list li {
    margin: 0 2vw;
  }
  #event ul.list li a {
    padding: 20px;
  }
  #event ul.list li a .image {
    margin-right: 20px;
  }
  #event ul.list li a .main .post-title {
    font-size: min(24px,2.5vw);
  }
  #event ul.list li a .main .post-data {
    font-size: 14px;
  }
  /* ------------------------------
   Works
  ------------------------------ */
  #works .main {
    top: 100px;
    left: 15%;
  }
  #works .main .text .catch {
    font-size: 4vw;
    margin-bottom: 60px;
  }
  #works .main .text .button {
    width: 170px;
  }
  #works ul.works {
    padding-top: 90px;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 51% 100%, 51% 1px, 11% 1px, 11% 100%, 0 100%);
  }
  #works ul.works li a::before {
    opacity: 1 !important;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(45, 45, 45, 0)), color-stop(90%, rgba(45, 45, 45, 0.5)));
    background: linear-gradient(to bottom, rgba(45, 45, 45, 0) 20%, rgba(45, 45, 45, 0.5) 90%);
  }
  #works ul.works li a .post-title {
    font-size: 16px;
    bottom: 20px;
    left: 18px;
    right: 20px;
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  #works .slick-next {
    right: 6vw;
  }
  #works .slick-prev {
    right: calc(6vw + 56px);
  }
  /* ------------------------------
   Lineup
  ------------------------------ */
  #lineup {
    padding: 80px 0 80px;
  }
  #lineup::before {
    top: -1vw;
  }
  #lineup .h .jp {
    font-size: 30px;
  }
  #lineup .lineup {
    margin-bottom: 70px;
  }
  #lineup .lineup li {
    margin: 0 2vw;
  }
  #lineup .lineup li figure {
    padding: 1.5vw;
  }
  #lineup .lineup li figure .ex {
    bottom: -50px;
  }
  #lineup .lineup li .brandname {
    font-size: 3vw;
    margin-bottom: 20px;
  }
  #lineup .slick-dots {
    margin-top: 40px;
  }
  /* ------------------------------
   Estate
  ------------------------------ */
  .btn_estate {
    margin: 70px 0 100px;
  }
  .btn_estate a {
    padding: 50px 0;
  }
  .btn_estate a .main {
    padding: 30px 65px 5px;
  }
  .btn_estate a .main .title {
    font-size: 40px;
  }
  /* ------------------------------
   Voice & Staff
  ------------------------------ */
  .maincontents {
    margin-bottom: 80px;
  }
  .maincontents .maincatch {
    font-size: 30px;
    margin-bottom: 80px;
  }
  .maincontents .maincatch span {
    width: 480px;
    margin: 20px auto 0;
  }
  .maincontents .column .main {
    width: calc(50% - 40px);
  }
  .maincontents .column .main .text .catch {
    margin-bottom: 30px;
  }
  .maincontents .column .main .text p:not([class]) {
    line-height: 2.5;
  }
  .maincontents .voice .image {
    width: 50%;
  }
  .maincontents .staff .image {
    width: calc(50% - 60px);
  }
  /* ------------------------------
   Blog
  ------------------------------ */
  #blogarea {
    padding: 50px 0 80px;
  }
  #blogarea .title {
    font-size: 100px;
  }
  #blogarea .main .blog ul li a .post-title {
    font-size: 13px;
  }
  /* ------------------------------
   Contents-Link
  ------------------------------ */
  .contentslink ul li a::after {
    top: 1vw;
    right: 1vw;
    bottom: 1vw;
    left: 1vw;
  }
  .contentslink ul li a span.jp {
    top: 3vw;
    left: 3vw;
  }
  .contentslink ul li a span.en {
    bottom: 2vw;
    right: 3vw;
  }
  /* ------------------------------
   Sub-Contents
  ------------------------------ */
  .subcontents {
    padding: 70px 0 80px;
  }
  .subcontents ul.link li a br {
    display: inline;
  }
  .subcontents .myo a {
    padding: 15px 40px 15px 50px;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 644px )

------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  #header .header-logo {
    width: 260px;
    top: 20px;
  }
  .is-scroll #header .header-logo {
    width: 200px;
    top: 14px;
  }
  /* ------------------------------
   Top
  ------------------------------ */
  #toparea .toptext {
    left: 5%;
    top: auto;
    bottom: 50px;
    margin-top: -50px;
  }
  #toparea .toptext .jp {
    font-size: 6vw;
    margin-bottom: 20px;
    letter-spacing: 0;
    font-weight: 600;
  }
  #toparea .toptext .en {
    font-size: 16px;
  }
  #toparea .toptext .date {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #toparea .toptext .date li {
    margin: 3px;
    font-size: 10px;
    line-height: 1.3;
    padding: 10px 5px;
    width: 40%;
  }
  #toparea .toptext .date li span {
    font-size: 12px;
  }
  #toparea .toptext .date li span em {
    font-size: 20px;
  }
  #toparea .toptext .date li span small {
    font-size: 10px;
  }
  #toparea .toptext .date li + li {
    margin: 3px;
  }
  /* ------------------------------
   News
  ------------------------------ */
  #news {
    padding: 0 5vw;
    margin: 0 0 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #news #newsslide {
    overflow: hidden;
  }
  #news .title {
    font-size: 18px;
    padding: 10px 20px 10px 0;
  }
  #news .inner {
    padding: 10px 5px;
  }
  #news a.inner {
    padding-right: 25px;
  }
  #news a.inner::after {
    font-size: 18px;
    margin-top: -8px;
  }
  #news .date {
    color: #575757;
  }
  #news .text {
    letter-spacing: 0;
    font-size: 13px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
  }
  /* ------------------------------
   bnrarea
  ------------------------------ */
  .bnrarea {
    margin-block: 60px 60px;
  }
  .bnrarea .bnr .link {
    height: 180px;
  }
  .bnrarea .bnr .link .bnr_inner .bnr_title {
    padding-top: 10px;
  }
  .bnrarea .bnr .link .bnr_inner .bnr_title img {
    width: 140px;
  }
  .bnrarea .bnr .link .bnr_inner .bnr_text {
    margin-top: 10px;
    font-size: 13px;
  }
  .bnrarea .bnr .link .deco {
    width: 110px;
  }
  /* ------------------------------
   Concept
  ------------------------------ */
  #imagebox {
    margin-bottom: 30px;
  }
  #imagebox ul {
    margin: 0 -5vw;
  }
  #imagebox ul li:nth-of-type(1) {
    width: 27%;
    margin-top: 6vw;
    padding-right: 0;
  }
  #imagebox ul li:nth-of-type(2) {
    width: 28%;
    margin-top: 15vw;
  }
  #imagebox ul li:nth-of-type(3) {
    width: 38%;
  }
  .section .title {
    margin: 10px 4vw 0 0;
    width: 20px;
  }
  .section .title::before {
    height: 90px;
    margin: 0 0 10px 5px;
  }
  .section .title span {
    font-size: 18px;
  }
  .section .catch {
    font-size: 26px;
  }
  #concept {
    overflow: hidden;
  }
  #concept .catch {
    font-size: min(5vw,26px);
    margin-bottom: 20px;
  }
  #concept .column1 {
    margin-bottom: 0;
  }
  #concept .column1::before {
    bottom: -2px;
    left: 3%;
    right: 3%;
    z-index: 0;
    height: 50px;
  }
  #concept .column1 .wrapper {
    padding: 0 5vw;
  }
  #concept .column1 .main {
    padding: 0 0 0;
    width: auto;
    margin-bottom: 0;
    padding-bottom: 80px;
  }
  #concept .column1 .main p:not([class]) {
    font-size: 14px;
    padding-right: 0;
  }
  #concept .column1 .main p:not([class]) br {
    display: none;
  }
  #concept .column2 {
    padding: 1px 0 50px;
  }
  #concept .column2 .inner .policy {
    margin: -210px 0 -180px -260px;
    -webkit-transform: scale(0.57);
            transform: scale(0.57);
  }
  #concept .column2 .inner .main {
    margin: 25px 0 0;
    padding-top: 0;
  }
  #concept .column2 .inner .main p:not([class]) {
    font-size: 14px;
  }
  #concept .column2 .inner .main .catch {
    text-align: left;
    margin-bottom: 15px;
  }
  #concept .column2 .inner .main .button {
    margin: 30px 0 0 auto;
    width: 240px;
  }
  #concept .column3 {
    padding: 0 0 50px;
  }
  #concept .column3 .wrapper {
    padding: 0 5vw;
  }
  #concept .column3 .column3_block {
    padding: 30px 30px 80px;
  }
  #concept .column3 .column3_block .title_area {
    position: static;
    right: auto;
    top: auto;
    text-align: left;
    margin-bottom: 25px;
  }
  #concept .column3 .column3_block .title_area .sub_title {
    -webkit-writing-mode: horizontal-tb;
    -moz-writing-mode: horizontal-tb;
    -ms-writing-mode: tb-rl;
    writing-mode: horizontal-tb;
    white-space: normal;
    display: block;
    letter-spacing: 0.05em;
  }
  #concept .column3 .column3_block .title_area .button {
    margin: auto;
    width: 240px;
    position: absolute;
    bottom: 30px;
    right: 30px;
  }
  #concept .column3 .column3_block .title_area .button a {
    font-size: 14px;
    padding: 0 10px 10px 0;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  #concept .column3 .column3_block .title_area .button a::after {
    position: absolute;
    right: 0;
  }
  #concept .column3 .column3_block .list_quality {
    display: block;
    margin: 0;
  }
  #concept .column3 .column3_block .list_quality li {
    width: 100%;
    padding: 20px 0px !important;
  }
  #concept .column3 .column3_block .list_quality li::after {
    width: 0;
    height: 0;
  }
  #concept .column3 .column3_block .list_quality li::before {
    content: "";
    width: 110% !important;
    height: 1px;
    background: #575757;
    position: absolute;
    left: 50%;
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #concept .column3 .column3_block .list_quality li h4 {
    margin-bottom: 5px;
    font-size: 17px;
  }
  #concept .column3 .column3_block .list_quality li h4::after {
    display: none;
  }
  #concept .column3 .column3_block .list_quality li .lead {
    font-size: 13px;
    margin-bottom: 15px;
  }
  #concept .column3 .column3_block .list_quality li figure {
    height: 160px;
  }
  #concept .column3 .column3_block .list_quality li .more {
    margin-top: -15px;
  }
  .btn-area {
    margin: 50px auto 20px;
  }
  .btn-area .item + .item {
    margin-top: 20px;
  }
  .btn-area .item a {
    height: 180px;
  }
  .btn-area .item a .arrow {
    width: 33px;
    height: 33px;
    right: 10px;
    bottom: 10px;
  }
  .btn-area .item a .arrow::after {
    margin: -9px 0 0 -4px;
    font-size: 11px;
  }
  .btn-area .item.realestate a {
    border-width: 2px;
  }
  .btn-area .item.realestate a .text .subcatch {
    font-size: 12px;
  }
  .btn-area .item.realestate a .text .title {
    font-size: 21px;
    margin: 2px 0 8px;
  }
  .btn-area .item.realestate a .text .subtext {
    font-size: 10px;
  }
  .btn-area .item.point a .text {
    right: 20px;
    width: 220px;
  }
  .link-area {
    margin: 20px auto 50px;
  }
  .link-area ul {
    margin: -10px -5px;
  }
  .link-area ul li {
    padding: 10px 5px;
  }
  .link-area ul li > a, .link-area ul li .app {
    padding: 5px;
  }
  .link-area ul li > a::after, .link-area ul li .app::after {
    top: 5px;
    right: 5px;
    bottom: 5px;
    left: 5px;
  }
  .link-area ul li > a > span, .link-area ul li .app > span {
    margin: 1px auto;
  }
  .link-area ul li > a > span.jp, .link-area ul li .app > span.jp {
    font-size: 16px;
  }
  .link-area ul li > a > span .pcnone, .link-area ul li .app > span .pcnone {
    display: block;
  }
  /* ------------------------------
   Youtube
  ------------------------------ */
  #youtube {
    padding: 60px 0 130px;
  }
  #youtube .main {
    display: block;
    margin: 0;
  }
  #youtube .title_area {
    width: calc(100% - 10vw);
    padding: 0;
    margin: 0 auto 40px;
  }
  #youtube .title_area .sub {
    font-size: 13px;
  }
  #youtube .title_area .h span {
    max-width: initial;
    height: 32px;
    display: inline-block;
    margin-top: 0;
  }
  #youtube .title_area .h span:first-of-type {
    margin-right: 5px;
  }
  #youtube .title_area .button {
    position: absolute;
    left: 50%;
    bottom: -70px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 200px;
  }
  #youtube .slick-list {
    padding: 0 15% !important;
  }
  #youtube .list_area {
    width: auto;
    position: relative;
  }
  #youtube .list_area .list_title {
    padding-left: 5vw;
  }
  #youtube ul.list li {
    margin: 0 2vw;
  }
  #youtube ul.list li a .image {
    margin-bottom: 8px;
  }
  #youtube ul.list li a .text {
    font-size: 12px;
  }
  #youtube .slick-next {
    right: 20px;
  }
  #youtube .slick-prev {
    right: 70px;
  }
  /* ------------------------------
   Event
  ------------------------------ */
  #event {
    padding: 50px 0;
    margin-bottom: 30px;
  }
  #event .title {
    font-size: 26px;
    margin-bottom: 10px;
  }
  #event .cat {
    margin: 0 1vw 20px;
  }
  #event .cat li {
    -ms-flex-preferred-size: 33.3333333333%;
        flex-basis: 33.3333333333%;
    margin: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 1vw;
  }
  #event .cat li a {
    padding: 8px;
    font-size: 11px;
  }
  #event ul.list {
    margin-bottom: 30px;
  }
  #event ul.list li {
    margin: 0 2vw;
  }
  #event ul.list li a {
    display: block;
    padding: 4vw;
  }
  #event ul.list li a .image {
    width: auto;
    aspect-ratio: 3/2;
    min-height: inherit;
    margin: 0 0 4vw;
  }
  #event ul.list li a .main {
    padding: 0 0 5px;
    display: block;
  }
  #event ul.list li a .main .post-cat {
    padding: 2px 10px;
    font-size: 13px;
    letter-spacing: 0;
    margin-bottom: 10px;
  }
  #event ul.list li a .main .post-title {
    font-size: 16px;
  }
  #event ul.list li a .main .post-data {
    margin-top: 15px;
    font-size: 13px;
    letter-spacing: 0;
    font-weight: 700;
  }
  #event .button {
    width: 200px;
  }
  /* ------------------------------
   Works
  ------------------------------ */
  #works {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 50px;
  }
  #works .main {
    position: relative;
    top: auto;
    left: auto;
    margin-left: 5vw;
    padding-top: 70px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 170px;
  }
  #works .main .text .catch {
    font-size: 18px;
    margin-bottom: 60px;
  }
  #works .main .text .button {
    width: 105px;
  }
  #works .main .text .button a {
    font-size: 11px;
    letter-spacing: 0;
    padding: 0 2px 6px 0;
  }
  #works .slick-list {
    padding: 0 15% 0 0 !important;
  }
  #works ul.works {
    padding-top: 60px;
    clip-path: none;
    width: calc(100% - 160px - 5vw);
  }
  #works ul.works li {
    margin-left: 1vw;
  }
  #works ul.works li a {
    border-radius: 3px;
  }
  #works ul.works li a .post-title {
    font-size: 13px;
    bottom: 4vw;
    left: 4vw;
    right: 4vw;
  }
  #works .slick-prev,
  #works .slick-next {
    top: 10px;
  }
  #works .slick-next {
    right: 5vw;
  }
  #works .slick-prev {
    right: calc(5vw + 56px);
  }
  /* ------------------------------
   Lineup
  ------------------------------ */
  #lineup {
    padding: 50px 0 60px;
  }
  #lineup::before {
    top: -2vw;
  }
  #lineup .h {
    margin-bottom: 20px;
  }
  #lineup .h .jp {
    font-size: 12px;
  }
  #lineup .h .en {
    font-size: 42px;
  }
  #lineup .lineup {
    margin-bottom: 40px;
  }
  #lineup .lineup li {
    margin: 0 2vw;
  }
  #lineup .lineup li figure {
    padding: 2vw;
  }
  #lineup .lineup li figure .ex {
    bottom: -50px;
  }
  #lineup .lineup li .textarea {
    padding: 10px 20px 20px;
  }
  #lineup .lineup li .textarea .logo {
    font-size: 9px;
  }
  #lineup .lineup li .textarea .logo span img {
    max-width: 130px;
  }
  #lineup .lineup li .textarea .catch {
    font-size: 14px;
    margin-bottom: 10px;
  }
  #lineup .lineup li .textarea .text {
    padding: 0;
    font-size: 12px;
  }
  #lineup .button {
    width: 220px;
  }
  /* ------------------------------
   Estate
  ------------------------------ */
  .btn_estate {
    margin: 40px 0 80px;
  }
  .btn_estate a {
    padding: 30px 0 40px;
  }
  .btn_estate a .main {
    padding: 30px 45px 10px;
  }
  .btn_estate a .main .title {
    font-size: 26px;
    margin-bottom: 20px;
  }
  .btn_estate a .main .text {
    font-size: 13px;
    padding: 8px 0 8px 10px;
    margin: 10px 0 20px;
    line-height: 1.3;
  }
  .btn_estate a .main .text br {
    display: inline;
  }
  /* ------------------------------
   Voice & Staff
  ------------------------------ */
  .maincontents {
    margin-top: 70px;
    margin-bottom: 80px;
  }
  .maincontents .maincatch {
    font-size: 15px;
    margin-bottom: 40px;
  }
  .maincontents .maincatch span {
    width: 260px;
    margin: 12px auto 0;
  }
  .maincontents .column .image {
    position: relative;
    aspect-ratio: 10/7;
  }
  .maincontents .column .main {
    width: auto;
  }
  .maincontents .column .main .text .catch {
    font-size: 22px;
    margin-bottom: 10px;
  }
  .maincontents .column .main .text p:not([class]) {
    line-height: 1.8;
    font-size: 13px;
  }
  .maincontents .column .main .text .button {
    width: 160px;
    margin: 20px 0 0 auto;
  }
  .maincontents .voice {
    padding: 0;
    min-height: inherit;
    margin-bottom: 50px;
  }
  .maincontents .voice .image {
    width: 85%;
    margin-bottom: 30px;
  }
  .maincontents .voice .main {
    margin-left: 11vw;
  }
  .maincontents .staff {
    padding: 0;
  }
  .maincontents .staff .image {
    width: 85%;
    margin: 0 0 30px auto;
    top: auto;
    bottom: auto;
  }
  .maincontents .staff .main {
    margin-right: 11vw;
  }
  /* ------------------------------
   Blog
  ------------------------------ */
  #blogarea {
    padding: 50px 0;
  }
  #blogarea .title {
    font-size: 42px;
    margin: 0 auto 10px;
  }
  #blogarea .main .blog {
    border-right: #e7e7e7 1px solid;
    padding: 5px 0 20px;
  }
  #blogarea .main .blog:last-of-type {
    border: none;
  }
  #blogarea .main .blog .blogtitle {
    position: static;
    margin-bottom: 20px;
  }
  #blogarea .main .blog .blogtitle a::before {
    height: 2px;
  }
  #blogarea .main .blog ul {
    display: block;
  }
  #blogarea .main .blog ul li {
    width: auto;
    margin-top: 30px;
  }
  #blogarea .main .blog ul li:first-of-type {
    margin-top: 0;
  }
  #blogarea .main .blog ul li a .image {
    margin-bottom: 5px;
  }
  #blogarea .main .presidentblog ul li {
    padding-right: 5vw;
  }
  #blogarea .main .staffblog .blogtitle {
    margin-left: 5vw;
  }
  #blogarea .main .staffblog ul li {
    padding-left: 5vw;
  }
  /* ------------------------------
   Contents-Link
  ------------------------------ */
  .contentslink {
    margin: 30px 0;
  }
  .contentslink ul {
    margin: 0 -2vw;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .contentslink ul li {
    width: 50%;
    padding: 2vw;
  }
  .contentslink ul li a::after {
    top: 2vw;
    right: 2vw;
    bottom: 2vw;
    left: 2vw;
  }
  .contentslink ul li a span.jp {
    font-size: min(26px,4.5vw);
    top: 4.5vw;
    left: 4.5vw;
  }
  .contentslink ul li a span.en {
    font-size: 20px;
    bottom: 3vw;
    right: 4vw;
  }
  /* ------------------------------
   Sub-Contents
  ------------------------------ */
  .subcontents {
    padding: 40px 0 50px;
  }
  .subcontents ul.link {
    margin: 0 -6px;
  }
  .subcontents ul.link li {
    padding: 0 6px;
    margin-bottom: 12px;
  }
  .subcontents ul.link li a {
    font-size: 12px;
    height: 60px;
  }
  .subcontents .myo a {
    padding: 20px 4vw 20px 6vw;
  }
  .subcontents .myo a .title {
    width: 120px;
  }
  .subcontents .myo a .link::after {
    font-size: 16px;
    vertical-align: -1px;
    margin-left: 8px;
  }
  /* ------------------------------
   Instagram
  ------------------------------ */
  #instagram {
    padding: 50px 0 60px;
  }
  #instagram .insta .title a i {
    font-size: 40px;
  }
}