#header .logo_box [class^=txt] {
  color: #fff;
}
#header .logo_box .logo {
  fill: #fff;
}
#header.is_active .logo_box [class^=txt] {
  color: #242424;
}
#header.is_active .logo_box .logo {
  fill: #242424;
}

#fv_wrap > .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}
#fv_wrap > .inner::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}
#fv_wrap .bg_mv {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
#fv_wrap .ttl {
  position: relative;
}
#fv_wrap .ttl span {
  text-align: center;
  display: block;
}
#fv_wrap .ttl [class^=txt] {
  font-size: min(2.1rem, 4.375vw);
  line-height: 1.2857142857;
  color: #fff;
}
#fv_wrap .ttl .logo {
  fill: #fff;
  margin: min(16px, 3.3333333333vw) auto;
  width: min(165px, 34.375vw);
}
#fv_wrap .ttl .txt01 {
  font-weight: 600;
}
#fv_wrap .ttl .txt02 {
  font-weight: 500;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
#fv_wrap .mv_btn {
  display: block;
  position: relative;
  margin-top: min(44px, 9.1666666667vw);
  width: min(70px, 14.5833333333vw);
  height: min(70px, 14.5833333333vw);
  border-radius: 100%;
  background: rgba(255, 255, 255, 0.88);
}
#fv_wrap .mv_btn::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(11px, 2.2916666667vw);
  height: min(13px, 2.7083333333vw);
  background: #c47641;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transform: translate(-50%, -50%);
}
#fv_wrap .mv_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1.5s;
}
#fv_wrap .mv_wrap.is_open {
  pointer-events: all;
  opacity: 1;
}
#fv_wrap .mv_wrap .bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: rgba(247, 243, 232, 0.95);
}
#fv_wrap .mv_wrap .bg_btn {
  position: fixed;
  top: 35px;
  right: 48px;
  z-index: 1;
  display: block;
  width: 28px;
  height: 28px;
  cursor: pointer;
}
@media screen and (min-width: 1024px) {
  #fv_wrap .mv_wrap .bg_btn {
    transition: 0.3s;
  }
  #fv_wrap .mv_wrap .bg_btn:hover {
    opacity: 0.5;
  }
}
@media screen and (max-width: 1023px) {
  #fv_wrap .mv_wrap .bg_btn {
    top: min(20px, 4.1666666667vw);
    right: min(35px, 7.2916666667vw);
  }
}
#fv_wrap .mv_wrap .bg_btn::before, #fv_wrap .mv_wrap .bg_btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(2px, 0.4166666667vw);
  height: min(36px, 7.5vw);
  background: #242424;
}
#fv_wrap .mv_wrap .bg_btn::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
#fv_wrap .mv_wrap .bg_btn::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
#fv_wrap .mv_wrap .inner {
  width: min(1000px, 66.6666666667%);
}
@media screen and (max-width: 1023px) {
  #fv_wrap .mv_wrap .inner {
    width: 91.6666666667%;
  }
}
#fv_wrap .mv_wrap .box {
  position: relative;
  z-index: 2;
  padding-top: 56%;
}
#fv_wrap .mv_wrap .mv {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
}
#fv_wrap .rsv_txt {
  font-weight: 600;
  font-size: min(1.5rem, 3.125vw);
  line-height: 1.4;
  color: #fff;
  text-align: center;
  position: relative;
  margin-top: min(47px, 9.7916666667vw);
}
#fv_wrap .rsv_btn {
  position: relative;
  margin-top: min(20px, 4.1666666667vw);
}
#fv_wrap .rsv_btn a {
  font-weight: 600;
  font-size: min(1.5rem, 3.125vw);
  line-height: 1;
  letter-spacing: 0.075em;
  text-indent: 0.075em;
  color: #fff;
  text-align: center;
  display: inline-block;
  padding: min(17.5px, 3.6458333333vw) 0;
  width: min(180px, 37.5vw);
  border-radius: min(8px, 1.6666666667vw);
  background: #c47641;
}
#fv_wrap .lg_list {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-top: min(45px, 9.375vw);
  width: min(106px, 22.0833333333vw);
}
#fv_wrap .lg_list li {
  width: 50%;
}
#fv_wrap .lg_list a {
  font-family: var(--font-en);
  font-size: min(1.5rem, 3.125vw);
  line-height: 1;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  color: #fff;
  text-align: center;
  display: block;
  padding: min(7px, 1.4583333333vw) 0 min(4px, 0.8333333333vw);
  border: 1px solid #fff;
}
@media screen and (min-width: 1024px) {
  #fv_wrap .lg_list a:hover {
    opacity: 1;
    border-color: transparent;
    background: rgba(255, 255, 255, 0.42);
  }
}
#fv_wrap .lg_list .current a {
  border-color: #c47641;
  background: #c47641;
  pointer-events: none;
}

#concept_wrap {
  background: #fff;
  overflow: hidden;
}
#concept_wrap .m_wrap {
  position: relative;
  padding: 208px 0 188px;
}
@media screen and (max-width: 1023px) {
  #concept_wrap .m_wrap {
    padding: min(94px, 19.5833333333vw) 0 min(86px, 17.9166666667vw);
  }
}
@media screen and (min-width: 1024px) {
  #concept_wrap .ttl {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: sideways;
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 1;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 1023px) {
  #concept_wrap .ttl {
    text-align: center;
  }
}
#concept_wrap .ttl .en {
  font-size: 10rem;
  letter-spacing: 0.1em;
  color: #c47641;
  display: inline-block;
}
@media screen and (max-width: 1023px) {
  #concept_wrap .ttl .en {
    font-size: min(4.8rem, 10vw);
  }
}
#concept_wrap .box {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  #concept_wrap .box {
    padding-top: 30px;
    margin-inline: auto;
    max-width: 975px;
  }
}
@media screen and (max-width: 1023px) {
  #concept_wrap .box {
    margin-top: min(22px, 4.5833333333vw);
  }
}
#concept_wrap .box::before, #concept_wrap .box::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  width: 167px;
  height: 102px;
  background: url(../img/common/illust_wave01_light_brown.svg) center/contain no-repeat;
}
@media screen and (max-width: 1023px) {
  #concept_wrap .box::before, #concept_wrap .box::after {
    width: min(100px, 20.8333333333vw);
    height: min(61px, 12.7083333333vw);
  }
}
#concept_wrap .box::before {
  left: 0;
  bottom: 20px;
}
@media screen and (max-width: 1023px) {
  #concept_wrap .box::before {
    display: none;
  }
}
#concept_wrap .box::after {
  top: 0;
  right: 0;
}
@media screen and (max-width: 1023px) {
  #concept_wrap .box::after {
    top: max(-17px, -3.5416666667vw);
    right: max(-43px, -8.9583333333vw);
  }
}
@media screen and (min-width: 1024px) {
  #concept_wrap .box > .inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-start;
    margin-inline: auto;
    width: 75.0264550265%;
  }
}
@media screen and (min-width: 1024px) {
  #concept_wrap .box .txt_wrap {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
}
#concept_wrap .box .txt {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2.5333333333;
}
@media screen and (max-width: 1023px) {
  #concept_wrap .box .txt {
    font-size: min(1.8rem, 3.75vw);
    line-height: 1.8888888889;
  }
}
#concept_wrap .box .m_btn01 {
  margin-top: 109px;
}
@media screen and (max-width: 1023px) {
  #concept_wrap .box .m_btn01 {
    margin-top: min(24px, 5vw);
  }
}

#news_wrap {
  padding: 109px 0 100px;
  background: #f7f3e8;
}
@media screen and (max-width: 1023px) {
  #news_wrap {
    padding: min(92px, 19.1666666667vw) 0 min(86px, 17.9166666667vw);
  }
}
@media screen and (min-width: 1024px) {
  #news_wrap .m_wrap {
    display: grid;
    grid-template-columns: 400px calc(100% - 400px);
  }
}
@media screen and (max-width: 1023px) {
  #news_wrap .m_wrap {
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  #news_wrap .ttl {
    grid-row: 1;
    grid-column: 1;
  }
}
@media screen and (max-width: 1023px) {
  #news_wrap .ttl {
    text-align: center;
  }
}
#news_wrap .ttl span {
  display: block;
}
#news_wrap .ttl .en {
  font-size: 7rem;
  line-height: 0.9428571429;
  color: #c47641;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1023px) {
  #news_wrap .ttl .en {
    font-size: min(4.8rem, 10vw);
    line-height: 1.1041666667;
    display: inline-block;
  }
}
#news_wrap .ttl .en::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 32px;
  right: 40px;
  z-index: -1;
  width: 139px;
  height: 46px;
  background: url(../img/common/illust_lines01_white.svg) center/contain no-repeat;
}
@media screen and (max-width: 1023px) {
  #news_wrap .ttl .en::after {
    bottom: min(2px, 0.4166666667vw);
    right: min(68px, 14.1666666667vw);
    width: min(100px, 20.8333333333vw);
    height: min(33px, 6.875vw);
  }
}
#news_wrap .ttl .jp {
  font-size: 1.7rem;
  line-height: 1.4117647059;
  margin-top: 15px;
}
@media screen and (max-width: 1023px) {
  #news_wrap .ttl .jp {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  #news_wrap .top_news_slider {
    display: flex;
    justify-content: space-between;
    grid-row: 1/span 3;
    grid-column: 2;
  }
}
@media screen and (max-width: 1023px) {
  #news_wrap .top_news_slider {
    margin-top: min(35px, 7.2916666667vw);
  }
}
@media screen and (max-width: 1023px) {
  #news_wrap .top_news_slider .draggable {
    padding-inline: 9.375vw;
  }
}
@media screen and (min-width: 1024px) {
  #news_wrap .top_news_slider .item {
    width: 23.2291666667%;
  }
}
@media screen and (max-width: 1023px) {
  #news_wrap .top_news_slider .item {
    margin-inline: 3.5416666667vw;
  }
}
#news_wrap .top_news_slider a {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 16px;
}
@media screen and (max-width: 1023px) {
  #news_wrap .top_news_slider a {
    gap: min(8px, 1.6666666667vw) min(17px, 3.5416666667vw);
  }
}
#news_wrap .top_news_slider .img {
  margin-bottom: 16px;
  width: 100%;
  aspect-ratio: 223/145;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  #news_wrap .top_news_slider .img {
    margin-bottom: min(19px, 3.9583333333vw);
  }
}
#news_wrap .top_news_slider .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#news_wrap .top_news_slider time {
  font-weight: 500;
  font-size: 1.3rem;
}
@media screen and (max-width: 1023px) {
  #news_wrap .top_news_slider time {
    font-size: min(1.6rem, 3.3333333333vw);
  }
}
#news_wrap .top_news_slider .category {
  font-weight: 500;
  font-size: 1.3rem;
  color: #fff;
  padding: 3px 9px;
  background: #c47641;
}
@media screen and (max-width: 1023px) {
  #news_wrap .top_news_slider .category {
    font-size: min(1.6rem, 3.3333333333vw);
    padding: min(3px, 0.625vw) min(11px, 2.2916666667vw);
  }
}
#news_wrap .top_news_slider .txt {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.6;
  display: -webkit-box;
  margin-top: 12px;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 1023px) {
  #news_wrap .top_news_slider .txt {
    font-size: min(1.8rem, 3.75vw);
    line-height: 1.7777777778;
    margin-top: min(11px, 2.2916666667vw);
  }
}
#news_wrap .m_btn02 {
  margin-top: 50px;
}
@media screen and (min-width: 1024px) {
  #news_wrap .m_btn02 {
    grid-row: 2;
    grid-column: 1;
  }
}
@media screen and (max-width: 1023px) {
  #news_wrap .m_btn02 {
    margin-top: min(24px, 5vw);
  }
}

#list_wrap {
  padding: 159px 0 162px;
}
@media screen and (max-width: 1023px) {
  #list_wrap {
    padding: min(95px, 19.7916666667vw) 0 min(86px, 17.9166666667vw);
  }
}
@media screen and (min-width: 1024px) {
  #list_wrap li {
    position: relative;
    z-index: 1;
    padding-top: 89px;
  }
  #list_wrap li:nth-child(odd) .box {
    margin-left: auto;
  }
}
@media screen and (min-width: 1024px) {
  #list_wrap li:nth-child(even) .ttl {
    left: auto;
    right: 0;
  }
  #list_wrap li:nth-child(even) .ttl .en {
    line-height: 0.9;
  }
}
#list_wrap li:nth-child(even) .img {
  box-shadow: -30px 30px 0 #f7f3e8;
}
@media screen and (min-width: 1024px) {
  #list_wrap li:nth-child(even) .img {
    left: auto;
    right: 55px;
  }
}
@media screen and (max-width: 1023px) {
  #list_wrap li:nth-child(even) .img {
    box-shadow: max(-18px, -3.75vw) min(18px, 3.75vw) 0 #f7f3e8;
  }
}
#list_wrap li:nth-child(n+2) {
  margin-top: 159px;
}
@media screen and (max-width: 1023px) {
  #list_wrap li:nth-child(n+2) {
    margin-top: min(82px, 17.0833333333vw);
  }
}
#list_wrap li:nth-child(1) .sttl::after {
  right: -4px;
  bottom: -7px;
  width: 110px;
  height: 68px;
  background: url(../img/common/illust_flower01_light_brown.svg) center/contain no-repeat;
}
@media screen and (max-width: 1023px) {
  #list_wrap li:nth-child(1) .sttl::after {
    right: max(-60px, -12.5vw);
    bottom: max(-6px, -1.25vw);
    width: min(100px, 20.8333333333vw);
    height: min(62px, 12.9166666667vw);
  }
}
#list_wrap li:nth-child(2) .sttl::after {
  right: 0;
  bottom: -9px;
  width: 108px;
  height: 94px;
  background: url(../img/common/illust_flower02_light_brown.svg) center/contain no-repeat;
}
@media screen and (max-width: 1023px) {
  #list_wrap li:nth-child(2) .sttl::after {
    right: max(-60px, -12.5vw);
    bottom: max(-9px, -1.875vw);
    width: min(107px, 22.2916666667vw);
    height: min(94px, 19.5833333333vw);
  }
}
@media screen and (min-width: 1024px) {
  #list_wrap li:nth-child(3) .box {
    width: 39.6323529412%;
  }
}
#list_wrap li:nth-child(3) .sttl::after {
  right: -14px;
  bottom: 0;
  width: 129px;
  height: 69px;
  background: url(../img/common/illust_mountain01_light_brown.svg) center/contain no-repeat;
}
@media screen and (max-width: 1023px) {
  #list_wrap li:nth-child(3) .sttl::after {
    right: max(-24px, -5vw);
    bottom: min(22px, 4.5833333333vw);
    width: min(100px, 20.8333333333vw);
    height: min(54px, 11.25vw);
  }
}
@media screen and (min-width: 1024px) {
  #list_wrap .ttl {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: sideways;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
}
@media screen and (max-width: 1023px) {
  #list_wrap .ttl {
    text-align: center;
  }
}
#list_wrap .ttl .en {
  font-size: 10rem;
  color: #c47641;
  display: inline-block;
}
@media screen and (min-width: 1024px) {
  #list_wrap .ttl .en {
    line-height: 0.5;
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 1023px) {
  #list_wrap .ttl .en {
    font-size: min(4.8rem, 10vw);
    line-height: 1.1041666667;
  }
}
@media screen and (min-width: 1024px) {
  #list_wrap .box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 55px;
    width: 39.2647058824%;
    min-height: min(600px, 38.5852090032vw);
  }
}
#list_wrap .sttl {
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 2;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1023px) {
  #list_wrap .sttl {
    font-size: min(2.4rem, 5vw);
    text-align: center;
    margin: min(18px, 3.75vw) auto 0;
    width: fit-content;
  }
}
#list_wrap .sttl::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
}
#list_wrap .img {
  box-shadow: 30px 30px 0 #f7f3e8;
}
@media screen and (min-width: 1024px) {
  #list_wrap .img {
    position: absolute;
    top: 89px;
    left: 55px;
    z-index: -1;
    width: 52.5735294118%;
  }
}
@media screen and (max-width: 1023px) {
  #list_wrap .img {
    margin-top: min(32px, 6.6666666667vw);
    box-shadow: min(18px, 3.75vw) min(18px, 3.75vw) 0 #f7f3e8;
  }
}
#list_wrap .txt {
  font-feature-settings: "palt";
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2.4;
  margin-top: 22px;
}
@media screen and (max-width: 1023px) {
  #list_wrap .txt {
    font-size: min(1.8rem, 3.75vw);
    line-height: 1.8888888889;
    margin-top: min(56px, 11.6666666667vw);
  }
}
#list_wrap .m_btn02 {
  margin-top: 27px;
}
@media screen and (max-width: 1023px) {
  #list_wrap .m_btn02 {
    margin-top: min(30px, 6.25vw);
  }
}

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

/* Fit the news heading and all four cards alongside one another. */
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  #news_wrap .m_wrap {
    grid-template-columns: minmax(0, 28%) minmax(0, 72%);
  }
  #news_wrap .ttl .en {
    font-size: clamp(4.8rem, 5vw, 6.4rem);
  }
  #news_wrap .top_news_slider,
  #news_wrap .top_news_slider .item {
    min-width: 0;
  }
  #list_wrap .box {
    min-width: 0;
    padding-inline: 28px;
  }
}
