@charset "utf-8";
/* CSS Document */

/*----------------------------------------------------
  FRONT PAGE
----------------------------------------------------*/

.fv {
  position: relative;
}
.fv::after{
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/top/introduction_bg.jpg);
  background-size: cover;
  background-position: bottom right;
  opacity: .5;
  z-index: -5;
}

/* main-visual */
.mv {
  position: sticky;
  top: 0;
  left: 0;
  filter: blur(0);
  transition: opacity 1s, filter .8s;
  z-index: 10;
  pointer-events: none;
}

.fv:has(.introduction_inner.is-view) .mv {
  opacity: 0;
  filter: blur(5px);
}

.mv_inner {
  position: relative;
}

.mv_slide img {
  object-fit: cover;
  transition: transform 11.0s ease-out;
  height: 100vh;
  width: 100%;
}

.mv_slide.is-active img {
  transform: scale(1.1);
  transition-delay: 0s;
}

.mv_content {
  position: absolute;
  top: 45%;
  right: 0;
  left: 0;
  text-align: center;
  color: #fff;
}

.mv_content_logo {
  width: calc(440 * var(--size-flex));
}

.mv_slide_nav {
  position: absolute;
  bottom: calc(18 * var(--size-flex));
  left: 0;
  right: 0;
  z-index: 50;
}
.mv_slide_nav_page {
  display: block;
  background-color: #000000;
  width: calc(8 * var(--size-flex));
  height: calc(8 * var(--size-flex));
  margin: 0 calc(4 * var(--size-flex));
  border-radius: 100%;
  opacity: .5;
}
.mv_slide_nav_page.is-active {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .fv {
  }
  .fv::after{
    background-image: url(../img/top/introduction_bg-sp.jpg);
    background-size: cover;
    background-position: center center;
    opacity: .5;
    z-index: -1;
  }

  /* main-visual */
  .mv {
  }

  .fv:has(.introduction_inner.is-view) .mv {
  }

  .mv_inner {
  }

  .mv_slide img {
  }

  .mv_slide.is-active img {
  }

  .mv_content {
  }

  .mv_content_logo {
    width: calc(224 * var(--size-flex));
  }

  .mv_slide_nav {
    bottom: calc(18 * var(--size-flex));
  }
  .mv_slide_nav_page {
    display: block;
    background-color: #000000;
    width: calc(8 * var(--size-flex));
    height: calc(8 * var(--size-flex));
    margin: 0 calc(4 * var(--size-flex));
    border-radius: 100%;
    opacity: .5;
  }
  .mv_slide_nav_page.is-active {
    opacity: 1;
  }

}


/* introduction */
.introduction{
  position: relative;
  padding: 0 0 calc(120 * var(--size-flex));
  z-index: 5;
}
.introduction::after{

}
.introduction_inner{
  padding-top: 25vh;
  width: calc(1208 * var(--size-flex));
  margin: auto;
}
.introduction_headline{
  font-size: calc(36 * var(--size-flex));
  font-weight: 500;
  line-height: 1.5;
}
.introduction_text{
  margin-top: calc(50 * var(--size-flex));
  font-size: calc(18 * var(--size-flex));
  font-weight: 500;
  line-height: 2.5;
}
.introduction_name{
  margin-top: calc(50 * var(--size-flex));
  font-size: calc(27 * var(--size-flex));
  font-weight: 500;
  line-height: 2.5;
}

.introduction_btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(230 * var(--size-flex));
  margin: calc(100 * var(--size-flex)) auto 0 0;
  padding: calc(24 * var(--size-flex));
  text-align: center;
  font-size: calc(24 * var(--size-flex));
  line-height: 1;
  color: #fff;
  background-color: unset;
  border: solid 1px #fff;
  border-radius: calc(1px * infinity);
  transition: background-color .3s, color .3s;
}
.introduction_btn_arrow {
  content: "";
  display: block;
  width: calc(24 * var(--size-flex));
  height: calc(24 * var(--size-flex));
  margin-left: calc(10 * var(--size-flex));
  stroke: #fff;
  transition: stroke .3s;
}
.introduction_btn:hover {
  background-color: #fff;
  color: #95867F;
}
.introduction_btn:hover .introduction_btn_arrow {
  stroke: #95867F;
}

@media screen and (max-width: 768px) {
  .introduction{
    padding: 0 0 calc(80 * var(--size-flex));
  }
  .introduction::after{

  }
  .introduction_inner{
    padding-top: 25vh;
    width: calc(315 * var(--size-flex));
    margin: auto;
  }
  .introduction_headline{
    font-size: calc(18 * var(--size-flex));
    font-weight: 500;
    line-height: 1.5;
  }
  .introduction_text{
    text-align: justify;
    margin-top: calc(30 * var(--size-flex));
    font-size: calc(14 * var(--size-flex));
    line-height: 2.5;
  }
  .introduction_text > p{
    display: inline;
  }
  .introduction_name{
    margin-top: calc(30 * var(--size-flex));
    font-size: calc(16 * var(--size-flex));
    line-height: 2.5;
  }

  .introduction_btn {
    width: calc(115 * var(--size-flex));
    margin: calc(78 * var(--size-flex)) auto 0;
    padding: calc(12 * var(--size-flex)) calc(20 * var(--size-flex)) calc(12 * var(--size-flex)) calc(30 * var(--size-flex));
    font-size: calc(12 * var(--size-flex));
  }
  .introduction_btn_arrow {
    width: calc(12 * var(--size-flex));
    height: calc(12 * var(--size-flex));
    margin-left: calc(5 * var(--size-flex));
    flex: 0 0 auto;
  }
  .introduction_btn:hover {
  }
  .introduction_btn:hover .introduction_btn_arrow {
  }
}


/* business */

.business {
  position: relative;
  background-color: #95867F;
}
.business_inner {
  padding: calc(130 * var(--size-flex)) 0 calc(162 * var(--size-flex));
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.business_top{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: calc(1208 * var(--size-flex));
  margin: 0 auto;
}

.business_title {
  text-align: left;
  line-height: 1;
}
.business_title_en {
  display: block;
  font-size: calc(36 * var(--size-flex));
  font-weight: 600;
  line-height: 1;
  display: block;
}
.business_title_ja {
  display: block;
  margin-top: calc(22 * var(--size-flex));
  font-size: calc(16 * var(--size-flex));
  font-weight: 400;
  line-height: 1;
}
.business_copy {
  font-size: calc(80 * var(--size-flex));
  line-height: 1.25;
  text-align: left;
  letter-spacing: .1em;
}
.business_copy_text_en {
  font-family: "Cormorant Garamond", serif;
  display: block;
  font-size: calc(32 * var(--size-flex));
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: calc(30 * var(--size-flex));
}
.business_copy_logo{
  width: calc(491 * var(--size-flex));
  margin-right: 0.125em;
}
.business_copy span {
  font-size: calc(60 * var(--size-flex));
}
.business_container{
  width: calc(1280 * var(--size-flex));
  margin: calc(150 * var(--size-flex)) auto 0;
}
.business_block{
  margin: calc(150 * var(--size-flex)) auto 0;
  width: calc(1208 * var(--size-flex));
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.business_block:not(:first-child){
  margin-top: calc(150 * var(--size-flex));
}
.business_block:nth-of-type(even){
  flex-direction: row-reverse;
}
.business_details{
  width: calc(550 * var(--size-flex));
}
.business_headline{
  position: relative;
  display: block;
  font-size: calc(32 * var(--size-flex));
  font-weight: 400;
  line-height: 1.5;
  padding-bottom: calc(30 * var(--size-flex));
}
.business_headline::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #fff;
  transition: width 0s;
  transition-timing-function: ease-out;
}
.is-view.business_headline::after{
  width: 100vw;
  transition: width 2s;
}
.business_block:nth-of-type(even) .business_headline::after{
  left: unset;
  right: 0;
}
.business_headline small{
  display: block;
  font-size: calc(16 * var(--size-flex));
  font-weight: 400;
  line-height: 1;
  margin-bottom: calc(10 * var(--size-flex));
}
.business_text{
  margin-top: calc(40 * var(--size-flex));
  font-size: calc(18 * var(--size-flex));
  font-weight: 400;
  line-height: 2.5;
}

.business_link_block {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: calc(60 * var(--size-flex));
}

.business_link_block:last-of-type {
  margin-bottom: 0;
}
.business_links{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  width: calc(520 * var(--size-flex));
}

.business_btn {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: auto;
  margin-top: calc(40 * var(--size-flex));
  padding: calc(24 * var(--size-flex)) calc(59 * var(--size-flex)) calc(24 * var(--size-flex)) calc(75 * var(--size-flex));
  text-align: center;
  font-size: calc(24 * var(--size-flex));
  line-height: 1;
  color: #fff;
  background-color: unset;
  border: solid 1px #fff;
  border-radius: calc(1px * infinity);
  transition: background-color .3s, color .3s;
  cursor: pointer;
}

.business_btn-sub {
  margin-top: calc(40 * var(--size-flex));
  padding: calc(24 * var(--size-flex)) calc(40 * var(--size-flex)) calc(24 * var(--size-flex)) calc(46 * var(--size-flex));
  font-size: calc(24 * var(--size-flex));
  background-color: rgba(255, 255, 255, .3);
}

.business_btn_arrow {
  content: "";
  display: block;
  width: calc(24 * var(--size-flex));
  height: calc(24 * var(--size-flex));
  margin-left: calc(10 * var(--size-flex));
  stroke: #fff;
  transition: stroke .3s;
}
.business_btn:hover {
  background-color: #fff;
  color: #95867F;
}
.business_btn:hover .business_btn_arrow {
  stroke: #95867F;
}

.business_modal{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: none;
  justify-content: center;
  align-items: center;
  background-color: rgba(149, 134, 127, .85);
  backdrop-filter: blur(2px);
  z-index: 200;
  opacity: 0;
  transition: display .3s allow-discrete, opacity .3s allow-discrete;
}
.business_modal.is-view{
  display: flex;
  opacity: 1;

  @starting-style {
    opacity: 0;
  }
}
.business_modal_box{
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: calc(1000 * var(--size-flex));
  padding: calc(65 * var(--size-flex));
  background-color: #fff;
  color: #95867F;
  box-sizing: border-box;
}
.business_modal_close{
  position: absolute;
  top: calc(20 * var(--size-flex));
  right: calc(20 * var(--size-flex));
  width: calc(55 * var(--size-flex));
  height: calc(55 * var(--size-flex));
}
.business_modal_close:focus-visible{
  outline: 2px solid #95867F;
  outline-offset: 2px;
}
.business_modal_close > span{
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: calc(55 * var(--size-flex));
  height: 1px;
  background-color: #95867F;
}
.business_modal_close > span:nth-child(1){
  transform: rotate(45deg);
}
.business_modal_close > span:nth-child(2){
  transform: rotate(-45deg);
}
.business_modal_image{
  width: calc(416 * var(--size-flex));
  height: auto;
  overflow: hidden;
}
.business_modal_image img{
  
}
.business_modal_main{
  width: calc(396 * var(--size-flex));
}
.business_modal_title{
  display: block;
  margin-bottom: calc(30 * var(--size-flex));
  font-size: calc(30 * var(--size-flex));
  font-weight: 600;
  line-height: 1.5;
}
.business_modal_text{
  font-size: calc(14 * var(--size-flex));
  font-weight: 400;
  line-height: 2;
}
.business_modal_text strong{
  display: block;
  margin-bottom: calc(18 * var(--size-flex));
  font-size: calc(18 * var(--size-flex));
}
.business_modal_text a{
  display: block;
  margin-top: calc(12 * var(--size-flex));
  font-size: calc(12 * var(--size-flex));
  text-decoration: underline;
}


.business_image{
  position: relative;
  width: calc(584 * var(--size-flex));
  height: auto;
  overflow: hidden;
}
.business_image img{
  position: absolute;
  display: inline-block;
  top: -10%;
  left: 0;
  margin: auto;
  width: 100%;
  height: 120%;
  max-height: unset;
  object-fit: cover;
  object-position: center center;
}

@media screen and (max-width: 768px) {
  .business {
  }
  .business_inner {
    padding: calc(50 * var(--size-flex)) 0 calc(50 * var(--size-flex));
  }
  .business_top{
    width: calc(315 * var(--size-flex));
    margin: 0 auto;
  }

  .business_title {
  }
  .business_title_en {
    font-size: calc(12 * var(--size-flex));
  }
  .business_title_ja {
    margin-top: calc(22 * var(--size-flex));
    font-size: calc(12 * var(--size-flex));
  }
  .business_copy {
    font-size: calc(30 * var(--size-flex));
    line-height: 1.25;
    text-align: left;
    letter-spacing: .1em;
  }
  .business_copy_text_en {
    font-size: calc(12 * var(--size-flex));
    margin-bottom: calc(11 * var(--size-flex));
  }
  .business_copy_logo{
    width: calc(183 * var(--size-flex));
    margin-right: 0.125em;
  }
  .business_copy span {
    font-size: calc(22 * var(--size-flex));
  }
  .business_container{
    width: calc(315 * var(--size-flex));
    margin: calc(34 * var(--size-flex)) auto 0;
  }
  .business_block{
    margin: calc(50 * var(--size-flex)) auto 0;
    width: calc(315 * var(--size-flex));
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-direction: column-reverse;
  }
  .business_block:not(:first-child){
    margin-top: calc(50 * var(--size-flex));
  }
  .business_block:nth-of-type(even){
    flex-direction: column-reverse;
  }
  .business_details{
    margin-top: calc(40 * var(--size-flex));
    width: calc(315 * var(--size-flex));
  }
  .business_headline{
    position: relative;
    display: block;
    font-size: calc(16 * var(--size-flex));
    font-weight: 400;
    line-height: 1.5;
    padding-bottom: calc(14 * var(--size-flex));
  }
  .business_headline::after{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #fff;
    transition: width 0s;
    transition-timing-function: ease-out;
  }
  .is-view.business_headline::after{
    width: 100%;
    transition: width 2s;
  }
  .business_block:nth-of-type(even) .business_headline::after{
    left: 0;
    right: unset;
  }
  .business_headline small{
    display: block;
    font-size: calc(8 * var(--size-flex));
    font-weight: 400;
    line-height: 1;
    margin-bottom: calc(10 * var(--size-flex));
  }
  .business_text{
    margin-top: calc(15 * var(--size-flex));
    font-size: calc(9 * var(--size-flex));
  }

  .business_link_block {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: calc(60 * var(--size-flex));
  }

  .business_link_block:last-of-type {
    margin-bottom: 0;
  }
  .business_links{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    width: calc(260 * var(--size-flex));
  }

  .business_btn {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: auto;
    margin-top: calc(30 * var(--size-flex));
    padding: calc(12 * var(--size-flex)) calc(20 * var(--size-flex));
    font-size: calc(12 * var(--size-flex));
  }

  .business_btn-sub {
    margin-top: calc(30 * var(--size-flex));
    padding: calc(12 * var(--size-flex)) calc(20 * var(--size-flex));
    font-size: calc(12 * var(--size-flex));
  }

  .business_btn_arrow {
    width: calc(12 * var(--size-flex));
    height: calc(12 * var(--size-flex));
    margin-left: calc(5 * var(--size-flex));
  }
  .business_btn:hover {
  }
  .business_btn:hover .business_btn_arrow {
  }

  .business_modal{
  }
  .business_modal.is-view{
  }
  .business_modal_box{
    flex-direction: column;
    width: calc(320 * var(--size-flex));
    padding: calc(40 * var(--size-flex)) calc(35 * var(--size-flex)) calc(63 * var(--size-flex));
  }
  .business_modal_close{
    position: absolute;
    top: calc(-5 * var(--size-flex));
    right: calc(-5 * var(--size-flex));
    width: calc(55 * var(--size-flex));
    height: calc(55 * var(--size-flex));
  }
  .business_modal_close:focus-visible{
  }
  .business_modal_close > span{
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: calc(30 * var(--size-flex));
  }
  .business_modal_close > span:nth-child(1){
  }
  .business_modal_close > span:nth-child(2){
  }
  .business_modal_image{
    width: 100%;
    height: auto;
    overflow: hidden;
    margin-bottom: calc(26 * var(--size-flex));
  }
  .business_modal_image img{
    
  }
  .business_modal_main{
    width: 100%;
  }
  .business_modal_title{
    margin-bottom: calc(15 * var(--size-flex));
    font-size: calc(16 * var(--size-flex));
  }
  .business_modal_text{
    font-size: calc(8 * var(--size-flex));
  }
  .business_modal_text strong{
    display: block;
    margin-bottom: calc(9 * var(--size-flex));
    font-size: calc(9 * var(--size-flex));
  }
  .business_modal_text a{
    display: block;
    margin-top: calc(6 * var(--size-flex));
    font-size: calc(8 * var(--size-flex));
    text-decoration: underline;
  }

  .business_image{
    width: calc(315 * var(--size-flex));
    height: calc(253 * var(--size-flex));
  }
  .business_image img{
  }
}


/* about */
.about {
  position: relative;
  background-color: #95867F;
}
.about::before,
.about::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  display: block;
  width: 100%;
  height: calc(258 * var(--size-flex));
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
  z-index: 5;
}
.about::before {
  background-color: #95867F;
}
.about::after {
  background-color: rgba(255,255,255,.8);
  z-index: 6;
}
.about_bg {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  clip-path: polygon(0 calc(258 * var(--size-flex)), 100% 0, 100% calc(100% - (258 * var(--size-flex))), 0 100%);
  background-image: url(../img/top/value_bg00.jpg);
  background-size: cover;
  filter: brightness(.85);
  opacity: 1;
  z-index: 0;
  transition: clip-path .5s;
}
.about:has(.about_hiddenPosition.is-view) .about_bg {
  clip-path: polygon(0 calc(0 * var(--size-flex)), 100% calc(-258 * var(--size-flex)), 100% calc(100% - (0 * var(--size-flex))), 0 calc(100% + (258 * var(--size-flex))));
}

.about_bg_color {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #7E7E7E;
  background-size: cover;
  opacity: 0;
  transition: opacity .6s;
}
.about_bg_color-01 {
  background-image: url(../img/top/value01.jpg);
}
.about:has(.about_value-01.is-view) .about_bg_color-01 {
  opacity: 1;
}
.about_bg_color-02 {
  background-image: url(../img/top/value02.jpg);
}
.about:has(.about_value-02.is-view) .about_bg_color-02 {
  opacity: 1;
}
.about_bg_color-03 {
  background-image: url(../img/top/value03.jpg);
}
.about:has(.about_value-03.is-view) .about_bg_color-03 {
  opacity: 1;
}
.about_bg_color-04 {
  background-image: url(../img/top/value04.jpg);
}
.about:has(.about_value-04.is-view) .about_bg_color-04 {
  opacity: 1;
}
.about_bg_color-05 {
  background-image: url(../img/top/value05.jpg);
}
.about:has(.about_value-05.is-view) .about_bg_color-05 {
  opacity: 1;
}
.about_bg_color-06 {
  background-image: url(../img/top/value06.jpg);
}
.about:has(.about_value-06.is-view) .about_bg_color-06 {
  opacity: 1;
}
.about_bg_color-07 {
  background-image: url(../img/top/value07.jpg);
}
.about:has(.about_value-07.is-view) .about_bg_color-07 {
  opacity: 1;
}
.about_bg_color-08 {
  background-image: url(../img/top/value08.jpg);
}
.about:has(.about_value-08.is-view) .about_bg_color-08 {
  opacity: 1;
}
.about_bg_color-09 {
  background-image: url(../img/top/value09.jpg);
}
.about:has(.about_value-09.is-view) .about_bg_color-09 {
  opacity: 1;
}



.about_top {
  position: relative;
  width: calc(1200 * var(--size-flex));
  margin: auto;
  z-index: 0;
}
.about_top_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.about_inner {
  padding: calc(120 * var(--size-flex)) 0 calc(235 * var(--size-flex));
  width: 100%;
  margin: 0 auto;
}

.about_title {
  position: relative;
  text-align: left;
  margin-bottom: calc(50 * var(--size-flex));
  line-height: 1;
}
.about_hiddenPosition{
  position: absolute;
  top: 0;
  left: 0;
}

.about_title_en {
  font-family: "Cormorant Garamond", serif;
  font-size: calc(36 * var(--size-flex));
  font-weight: 700;
  margin-bottom: calc(22 * var(--size-flex));
  display: block;
}

.about_title_ja {
  font-size: calc(16 * var(--size-flex));
  font-weight: 400;
}

.about_copy {
  width: calc(1144 * var(--size-flex));
  margin: 0 auto calc(122 * var(--size-flex));;
}
.about_copy_inner{
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  z-index: 5;
}
.about_copy_title {
  font-size: calc(36 * var(--size-flex));
  font-weight: 400;
  line-height: 2.5;
}

.about_copy_text {
  margin-top: calc(40 * var(--size-flex));
  font-size: calc(18 * var(--size-flex));
  font-weight: 400;
  line-height: 2.5;
}

.about_copy_name {
  font-size: calc(24 * var(--size-flex));
  font-weight: 400;
  line-height: 2.5;
}
.about_copy_name small{
  font-size: calc(18 * var(--size-flex));
  font-weight: 400;
  line-height: 2.5;
}

.about_copy_image {
  position: relative;
  width: calc(584 * var(--size-flex));
  height: calc(389 * var(--size-flex));
  overflow: hidden;
}
.about_copy_image img{
  position: absolute;
  display: inline-block;
  top: -10%;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  max-height: unset;
  object-fit: cover;
  object-position: center center;
}


.about_value {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.about_value_title {
  position: relative;
  margin-right: calc(80 * var(--size-flex));
  font-size: calc(160 * var(--size-flex));
  font-weight: 400;
  line-height: 1;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}
.about_value_text {
  position: relative;
  margin-top: calc(30 * var(--size-flex));
  font-size: calc(25 * var(--size-flex));
  font-weight: 400;
  line-height: 1.75;
  word-break: keep-all;
}

.about_value-01 {
  margin-top: 60vh;
}

.about_value-02 {
  margin-top: 60vh;
}

.about_value-03 {
  margin-top: 60vh;
}

.about_value-04 {
  margin-top: 60vh;
}

.about_value-05 {
  margin-top: 60vh;
}

.about_value-06 {
  margin-top: 60vh;
}

.about_value-07 {
  margin-top: 60vh;
}

.about_value-08 {
  margin-top: 60vh;
}

.about_value-09 {
  margin-top: 60vh;
}


.about_skip {
  font-family: "Cormorant Garamond", serif;
  position: sticky;
  top: 80vh;
  left: 80vw;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: calc(10 * var(--size-flex));
  width: calc(160 * var(--size-flex));
  font-size: calc(16 * var(--size-flex));
  line-height: 1.5;
  border: 1px solid #fff;
  border-radius: calc(1px * infinity);
  z-index: 30;
  transition: background-color .3s, color .3s;
}
.about_skip:hover {
  background-color: #fff;
  color: #95867F;
}

.about_btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(360 * var(--size-flex));
  margin: calc(320 * var(--size-flex)) auto 0;
  padding: calc(24 * var(--size-flex));
  text-align: center;
  font-size: calc(24 * var(--size-flex));
  line-height: 1;
  color: #fff;
  background-color: unset;
  border: solid 1px #fff;
  border-radius: calc(1px * infinity);
  transition: background-color .3s, color .3s;
}
.about_btn_arrow {
  content: "";
  display: block;
  width: calc(24 * var(--size-flex));
  height: calc(24 * var(--size-flex));
  margin-left: calc(10 * var(--size-flex));
  stroke: #fff;
  transition: stroke .3s;
}
.about_btn:hover {
  background-color: #fff;
  color: #95867F;
}
.about_btn:hover .about_btn_arrow {
  stroke: #95867F;
}

@media screen and (max-width: 768px) {
  .about {
  }
  .about::before,
  .about::after {
    height: calc(65 * var(--size-flex));
    clip-path: polygon(0 100%, 100% 0, 100% 100%);
  }
  .about::before {
  }
  .about::after {
  }
  .about_bg {
    clip-path: polygon(0 calc(65 * var(--size-flex)), 100% 0, 100% calc(100% - (65 * var(--size-flex))), 0 100%);
    background-image: url(../img/top/value_bg00-sp.jpg);
    background-size: cover;
  }
  .about:has(.about_hiddenPosition.is-view) .about_bg {
    clip-path: polygon(0 calc(0 * var(--size-flex)), 100% calc(-65 * var(--size-flex)), 100% calc(100% - (0 * var(--size-flex))), 0 calc(100% + (65 * var(--size-flex))));
  }

  .about_bg_color-01 {
    background-image: url(../img/top/value01-sp.jpg);
  }
  .about:has(.about_value-01.is-view) .about_bg_color-01 {
    opacity: 1;
  }
  .about_bg_color-02 {
    background-image: url(../img/top/value02-sp.jpg);
  }
  .about:has(.about_value-02.is-view) .about_bg_color-02 {
    opacity: 1;
  }
  .about_bg_color-03 {
    background-image: url(../img/top/value03-sp.jpg);
  }
  .about:has(.about_value-03.is-view) .about_bg_color-03 {
    opacity: 1;
  }
  .about_bg_color-04 {
    background-image: url(../img/top/value04-sp.jpg);
  }
  .about:has(.about_value-04.is-view) .about_bg_color-04 {
    opacity: 1;
  }
  .about_bg_color-05 {
    background-image: url(../img/top/value05-sp.jpg);
  }
  .about:has(.about_value-05.is-view) .about_bg_color-05 {
    opacity: 1;
  }
  .about_bg_color-06 {
    background-image: url(../img/top/value06-sp.jpg);
  }
  .about:has(.about_value-06.is-view) .about_bg_color-06 {
    opacity: 1;
  }
  .about_bg_color-07 {
    background-image: url(../img/top/value07-sp.jpg);
  }
  .about:has(.about_value-07.is-view) .about_bg_color-07 {
    opacity: 1;
  }
  .about_bg_color-08 {
    background-image: url(../img/top/value08-sp.jpg);
  }
  .about:has(.about_value-08.is-view) .about_bg_color-08 {
    opacity: 1;
  }
  .about_bg_color-09 {
    background-image: url(../img/top/value09-sp.jpg);
  }



  .about_top {
    width: calc(315 * var(--size-flex));
    margin: auto;
  }
  .about_top_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
  }

  .about_inner {
    padding: calc(60 * var(--size-flex)) 0 calc(140 * var(--size-flex));
    width: calc(315 * var(--size-flex));
    margin: -75vh auto 0;
  }

  .about_title {
    margin-bottom: calc(40 * var(--size-flex));
  }
  .about_hiddenPosition{
    position: absolute;
    top: 60vh;
    left: 0;
  }


  .about_title_en {
    font-size: calc(18 * var(--size-flex));
    margin-bottom: calc(11 * var(--size-flex));
  }

  .about_title_ja {
    font-size: calc(8 * var(--size-flex));
    font-weight: 400;
  }

  .about_copy {
    width: calc(315 * var(--size-flex));
    margin: 0 auto calc(122 * var(--size-flex));;
  }
  .about_copy_inner{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-direction: column-reverse;
  }
  .about_copy_title {
    margin-top: calc(40 * var(--size-flex));
    font-size: calc(18 * var(--size-flex));
  }

  .about_copy_text {
    margin-top: calc(10 * var(--size-flex));
    font-size: calc(12 * var(--size-flex));
    letter-spacing: .05em;
  }

  .about_copy_name {
    margin-top: calc(10 * var(--size-flex));
    font-size: calc(12 * var(--size-flex));
    font-weight: 400;
    line-height: 2.5;
  }
  .about_copy_name small{
    font-size: calc(9 * var(--size-flex));
  }

  .about_copy_image {
    position: relative;
    width: calc(315 * var(--size-flex));
    height: calc(210 * var(--size-flex));
    overflow: hidden;
  }
  .about_copy_image img{
  }

  .about_value {
    flex-direction: column;
  }

  .about_value_title {
    position: relative;
    margin-right: unset;
    margin-bottom: calc(40 * var(--size-flex));
    font-size: calc(80 * var(--size-flex));
    font-weight: 400;
    line-height: 1;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
  .about_value_text {
    margin-top: calc(15 * var(--size-flex));
    font-size: calc(14 * var(--size-flex));
  }

  .about_value-01 {
    margin-top: 40vh;
    margin-left: calc(0 * var(--size-flex));
  }

  .about_value-02 {
    margin-top: 60vh;
    margin-left: auto;
  }

  .about_value-03 {
    margin-top: 60vh;
    margin-left: calc(0 * var(--size-flex));
  }

  .about_value-04 {
    margin-top: 60vh;
    margin-left: auto;
  }

  .about_value-05 {
    margin-top: 60vh;
    margin-left: calc(0 * var(--size-flex));
  }

  .about_value-06 {
    margin-top: 60vh;
    margin-left: auto;
  }

  .about_value-07 {
    margin-top: 60vh;
    margin-left: calc(0 * var(--size-flex));
  }

  .about_value-08 {
    margin-top: 60vh;
    margin-left: auto;
  }

  .about_value-09 {
    margin-top: 60vh;
    padding-bottom: 30vh;
    margin-left: calc(20 * var(--size-flex));
  }


  .about_skip {
    top: calc(90 * var(--size-flex));
    left: 95vw;
    padding: calc(10 * var(--size-flex));
    width: calc(45 * var(--size-flex));
    height: calc(45 * var(--size-flex));
    font-size: calc(8 * var(--size-flex));
  }
  .about_skip:hover {
  }

  .about_btn {
    width: calc(115 * var(--size-flex));
    margin: calc(40 * var(--size-flex)) auto 0;
    padding: calc(12 * var(--size-flex));
    font-size: calc(12 * var(--size-flex));
  }
  .about_btn_arrow {
    width: calc(12 * var(--size-flex));
    height: calc(12 * var(--size-flex));
    margin-left: calc(5 * var(--size-flex));
  }
  .about_btn:hover {
  }
  .about_btn:hover .about_btn_arrow {
  }

}



/* news */
.news {
  position: relative;
  background-color: rgba(255,255,255,.8);
  color: #95867F;
  padding-bottom: calc(130 * var(--size-flex));
}
.news::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #95867F;
  z-index: -1;
}

.news_inner {
  width: calc(1080 * var(--size-flex));
  margin: auto;
}

.news_title {
  display: block;
  margin: calc(0 * var(--size-flex)) auto 0;
  text-align: right;
  line-height: 1;
}
.news_title_en {
  font-family: "Cormorant Garamond", serif;
  display: block;
  font-size: calc(36 * var(--size-flex));
  font-weight: 600;
  line-height: 1;
  display: block;
}
.news_title_ja {
  display: block;
  margin-top: calc(22 * var(--size-flex));
  font-size: calc(16 * var(--size-flex));
  font-weight: 400;
  line-height: 1;
}

.news_list {
  margin: calc(58 * var(--size-flex)) auto 0;
  width: 100%;
  border-bottom: solid 1px #95867F;
}

.news_post {
  display: block;
  width: 100%;
  border-top: solid 1px #95867F;
  padding: calc(20 * var(--size-flex)) 0;
  color: #95867F;
  transition: opacity .15s;
}
.news_post:hover {
  opacity: .75;
}
.news_post:focus {
  outline: 2px solid #95867F;
  outline-offset: 2px;
}

.news_post_date {
  display: block;
  font-size: calc(14 * var(--size-flex));
  margin-bottom: calc(17 * var(--size-flex));
  font-weight: 400;
}

.news_post_title {
  font-size: calc(18 * var(--size-flex));
  line-height: 1.5;
}

.news_post_icon {
  display: block;
  width: calc(24 * var(--size-flex));
  height: calc(24 * var(--size-flex));
  margin-top: calc(17 * var(--size-flex));
  margin-left: auto;
}

.news_btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(314 * var(--size-flex));
  margin: calc(57 * var(--size-flex)) auto 0;
  padding: calc(24 * var(--size-flex)) 0;
  text-align: center;
  font-size: calc(24 * var(--size-flex));
  line-height: 1;
  color: #95867F;
  background-color: unset;
  border: solid 1px #95867F;
  border-radius: calc(1px * infinity);
  transition: background-color .3s, color .3s;
}
.news_btn_arrow {
  content: "";
  display: block;
  width: calc(24 * var(--size-flex));
  height: calc(24 * var(--size-flex));
  margin-left: calc(10 * var(--size-flex));
  stroke: #95867F;
  transition: stroke .3s;
}
.news_btn:hover {
  background-color: #95867F;
  color: #fff;
}
.news_btn:hover .news_btn_arrow {
  stroke: #fff;
}


@media screen and (max-width: 768px) {
  .news {
    padding-bottom: calc(75 * var(--size-flex));
  }

  .news_inner {
    width: calc(315 * var(--size-flex));
  }

  .news_title {
    margin: calc(0 * var(--size-flex)) auto 0;
  }
  .news_title_en {
    font-size: calc(18 * var(--size-flex));
  }
  .news_title_ja {
    margin-top: calc(11 * var(--size-flex));
    font-size: calc(8 * var(--size-flex));
  }

  .news_list {
    margin: calc(50 * var(--size-flex)) auto 0;
  }

  .news_post {
    padding: calc(6 * var(--size-flex)) 0 calc(10 * var(--size-flex));
  }
  .news_post:hover {
  }
  .news_post:focus {
  }

  .news_post_date {
    font-size: calc(7 * var(--size-flex));
    margin-bottom: calc(11 * var(--size-flex));
  }

  .news_post_title {
    font-size: calc(9 * var(--size-flex));
  }

  .news_post_icon {
    width: calc(12* var(--size-flex));
    height: calc(12* var(--size-flex));
    margin-top: calc(2 * var(--size-flex));
  }

  .news_btn {
    width: calc(138 * var(--size-flex));
    margin: calc(25 * var(--size-flex)) auto 0;
    padding: calc(12 * var(--size-flex)) 0;
    font-size: calc(12 * var(--size-flex));
  
  }
  .news_btn_arrow {
    width: calc(12 * var(--size-flex));
    height: calc(12 * var(--size-flex));
    margin-left: calc(5 * var(--size-flex));
  }
  .news_btn:hover {

  }
  .news_btn:hover .news_btn_arrow {
    
  }
}


/* spaceImage */
.spaceImage{
  position: relative;
  width: 100%;
  height: calc(768 * var(--size-flex));
  overflow: hidden;
}
.spaceImage img{
  position: absolute;
  top: -10%;
  left: 0;
  width: 100%;
  height: 120%;
  max-height: unset;
  object-fit: cover;
  object-position: center center;
}

@media screen and (max-width: 768px) {
  .spaceImage{
    height: calc(375 * var(--size-flex));
  }
  .spaceImage img{
    top: -10%;
    left: 0;
    width: 100%;
    height: 120%;
  }
}


/* works */

.works {
  position: relative;
  padding: calc(190 * var(--size-flex)) 0;
  background-color: rgba(255,255,255,.8);
  background-color: #fff;
  color: #95867F;
}
.works::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #95867F;
  z-index: -1;
}
.works_section{
  width: calc(1208 * var(--size-flex));
  margin: auto;
}
.works_section + .works_section{
  margin: calc(114 * var(--size-flex)) auto 0;
}
.works_headline{
  font-size: calc(28 * var(--size-flex));
  line-height: 1;
  font-weight: 400;
}

.works_container{
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  margin: calc(111 * var(--size-flex)) auto 0;
  width: calc(1014 * var(--size-flex));
}
.works_box{
  width: calc(170 * var(--size-flex));
  height: calc(170 * var(--size-flex));
}
.works_box:not(:nth-of-type(5n)){
  margin-right: calc(40 * var(--size-flex));
}
.works_box:nth-of-type(n+6){
  margin-top: calc(40 * var(--size-flex));
}
.works_box img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}

.works_container_wide{
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  margin: calc(48 * var(--size-flex)) auto 0;
  width: calc(1014 * var(--size-flex));
}
.works_box_wide{
  width: calc(210 * var(--size-flex));
  height: calc(210 * var(--size-flex));
}
.works_box_wide:not(:nth-of-type(4n)){
  margin-right: calc(58 * var(--size-flex));
}
.works_box_wide img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}

@media screen and (max-width: 768px) {
  .works {
    padding: calc(70 * var(--size-flex)) 0;
  }
  .works_section{
    width: calc(315 * var(--size-flex));
    margin: auto;
  }
  .works_section + .works_section{
    margin: calc(40 * var(--size-flex)) auto 0;
  }
  .works_headline{
    font-size: calc(12 * var(--size-flex));
    line-height: 1.5;
  }
  .works_container{
    margin: calc(37 * var(--size-flex)) auto 0;
    width: calc(315 * var(--size-flex));
  }
  .works_box{
    width: calc(51 * var(--size-flex));
    height: calc(51 * var(--size-flex));
  }
  .works_box:not(:nth-of-type(5n)){
    margin-right: calc(15 * var(--size-flex));
  }
  .works_box:nth-of-type(n+6){
    margin-top: calc(20 * var(--size-flex));
  }
  .works_box img{
  }
  .works_container_wide{
    margin: calc(10 * var(--size-flex)) auto 0;
    width: calc(315 * var(--size-flex));
  }
  .works_box_wide{
    width: calc(66 * var(--size-flex));
    height: calc(66 * var(--size-flex));
  }
  .works_box_wide:not(:nth-of-type(4n)){
    margin-right: calc(17 * var(--size-flex));
  }
  .works_box_wide img{
  }

}

/* links */

.links {
  display: flex;
  justify-content: center;
  align-items: stretch;
  width: 100%;
}
.links_btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: calc(378 * var(--size-flex));
  overflow: hidden;
}
.links_btn_text {
  font-family: "Cormorant Garamond", serif;
  font-size: calc(30 * var(--size-flex));
  font-weight: 600;
  line-height: 1.5;
}
.links_btn_image {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  transition: transform 1s, filter 1s;
}

.links_btn:hover .links_btn_image {
  transform: scale(1.005);
  filter: blur(2px)
}

@media screen and (max-width: 768px) {
  .links {
    flex-direction: column;
  }
  .links_btn {
    height: calc(200 * var(--size-flex));
    overflow: hidden;
  }
  .links_btn_text {
    font-size: calc(16 * var(--size-flex));
  }
  .links_btn_image {
  }

  .links_btn:hover .links_btn_image {
  }
}


/* top_contact */
.contact {
  padding: calc(134 * var(--size-flex)) 0 calc(180 * var(--size-flex));
}

.contact_inner {
  width: calc(960 * var(--size-flex));
  margin: 0 auto;
}

.contact_title {
  text-align: center;
  margin-bottom: calc(80 * var(--size-flex));
  line-height: 1;
}

.contact_title_en {
  font-size: calc(36 * var(--size-flex));
  font-weight: 700;
  margin-bottom: calc(22 * var(--size-flex));
  display: block;
}

.contact_title_ja {
  font-size: calc(16 * var(--size-flex));
  font-weight: 400;
}
