@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;600&display=swap');
.l-container {
  width: 100%;
}
#gracy.feature *{
  box-sizing: border-box;
}
#gracy.feature {
  width: 100%;
  margin: 0 auto 70px;
  font-family: 'Oswald', 'Noto Sans JP', sans-serif;
  font-size:16px;
  color: #040000;
  letter-spacing: 0.08rem;
}
#gracy.feature a {
  color: #040000;
  transition: .3s opacity ease, .3s transform ease;
}
#gracy.feature img {
  vertical-align: top;
  display: inline-block;
  width: 100%;
}
#gracy.feature .inner {
  width: 1052px;
  margin: 0 auto;
  position: relative;
}
.gly-list .list-text span,#gracy .allitem a,
#gracy .modal_head,#gracy .modal_bottom .t_name, #gracy .modal_credit,#gracy .modal_color{
  font-weight: 400;
}
#gracy .modal_bottom .modal_credit{
  font-weight: 300;
}
#gracy .modal_color{
  letter-spacing: 0.075rem;
}
#gracy.feature .pc{display: block}
#gracy.feature .sp{display: none}
/* =========================================================
kv slider
========================================================= */
#gracy .kv{
  width: 100%;
  max-width: 1280px;
  min-width: 1052px;
  margin: 0 auto;
	position: relative;
	overflow: hidden;
}
#gracy .kv .ttl{
  position: absolute;
  top: 46%;
  left: 50%;
  transform: translateX(-50%);
  z-index:2;
  margin: 0;
}
#gracy .swiper-slide {
  overflow: hidden;
  height: 100%;
  width: 100%;
  opacity: 1;
}



@keyframes zoom {
  0% {
    /*transform: scale(1.2);*/
    filter: grayscale(100%);
  }
  90% {
    /*transform: scale(1.2);*/
    filter: grayscale(100%);
  }
  100% {
    /*transform: scale(1);*/
    filter: grayscale(0%);
  }
}
#gracy .swiper-slide-active .slide-img,
#gracy .swiper-slide-duplicate-active .slide-img,
#gracy .swiper-slide-prev .slide-img{
  animation: zoom 4s linear 0s 1 normal both;  
}
#gracy .slide-img{
  filter: grayscale(100%);
}
#gracy .slide-img img{
	object-fit: cover;
  width: 100%;
}
/* =========================================================
policy
========================================================= */
#gracy .policy {
  text-align: center;
  font-family: 'HGSｺﾞｼｯｸE', 'Noto Sans JP', sans-serif;
}
#gracy .policy img{
  margin: 0 auto;
}
#gracy .policy .policy-logo{
  margin: 72px auto 28px;
}
#gracy .policy .policy-ttl{
  margin: 0 auto 28px;
  transform: rotate(0.03deg); /* シャギーを防ぐ指定 */
  font-size: 18px;
  letter-spacing: 0.04em;

}
#gracy .policy .policy-txt{
  margin: 0 auto 75px;
  transform: rotate(0.03deg);
  font-size: 14px;
  line-height: 2.6;
  letter-spacing: 0.01em;
}
/* =========================================================
gallery
========================================================= */
.flex_box {
  display: flex;
}
.gly-list{
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: center;
  align-items: flex-start;
}
.sec_img {
  width: 201px;
  height: 302px;
  margin: 0 31px 62px;
}
.list_item_big {
  width: 464px;
  height: 696px;
}
.list_item_wide {
  width: 464px;
  height: 302px;
  overflow: hidden;
}
.list_item_wide:has(.modal_btn) {
  height: 331px;
}
.gly-list .list-text {
  height: 302px;
  display: flex;
  justify-content: center;
  align-items: center;
  writing-mode: vertical-rl;
}

/* =========================================================
modal
========================================================= */
#gracy .modal {
  width: 100%;
  height: 100vh;
  min-height: 714px;
  overflow: hidden;
  transition: 0.5s;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  display: flex;
  align-items: center;  
}
#gracy .modal.show {
  opacity: 1;
  pointer-events: auto;
  z-index: 80;
  background: #fff;
}
#gracy .modal_inner {
  width: 100%;
  max-width: 990px;
  margin: 0 auto;
  position: relative;
}
#gracy .modal_head{
  position: absolute;
  top:54px;
  left: 608px;
}
#gracy .modal_txt {
  font-size: 16px;
  margin: 0;
}
#gracy #modal_R .modal_txt {
  letter-spacing: 1px;
}
#gracy .modal_head .modal_logo{
  margin: 0 0 24px 0;
  display: inline-block;
}
#gracy .modal_close{
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  transition: .3s opacity ease, .3s transform ease;
  width: 30px;
  height: 30px;
}
#gracy .modal_close::before,#gracy .modal_close::after{
  position: absolute;
  top:50%;
  content:'';
  background-color: #000;
  width: 29px;
  height: 1px;
  display: block;
}
#gracy .modal_close::before {
  transform:  rotate(-45deg);
}
#gracy .modal_close::after {
  transform:  rotate(45deg);
}
#gracy .modal_close:hover {
  opacity: .6;
}
#gracy .modal_content {
  display: none;
}
#gracy .modal_content.is-active {
  display: flex;
}
#gracy .modal_content_inner {
  display: flex;
  justify-content: center;
}
#gracy .modal_slide, #gracy .modal_pic {
  width: 464px;
  height: 714px;
  margin: 0 45px;
}
#gracy .modal_slide img,
#gracy .modal_pic img{
  height: auto;
}
#gracy .modal_detail {
  width: 380px;
  margin:0 0 0 56px;
}
#gracy .modal_txt.t_desc{
  margin: 120px 0 50px 0;
  font-size:14px;
  font-weight: 600;
}
#gracy .modal_bottom{
  position: absolute;
  bottom: 54px;
}
#gracy .modal_credit {
  margin: 10px 0 0;
  font-size: 13px;
  display: inline-block;
}
#gracy .modal_credit a{
  margin: 0 0 0 10px;
  line-height: 2;
  text-decoration: underline;
}
#gracy .modal_btn {
  position: relative;
  cursor: pointer;
}
#gracy .modal_btn:hover{
  opacity: 0.6;
}
#gracy .modal_btn::before {
  content:'';
  background-color: #fff;
  width: 20px;
  height: 1px;
  position: absolute;
  bottom: 22px;
  right: 12px;
}
#gracy .modal_btn::after {
  content:'';
  background-color: #fff;
  width: 1px;
  height: 20px;
  position: absolute;
  bottom: 12px;
  right: 22px;
}
#gracy .modal_color li{
  display: flex;
  align-items: center;
  margin:0 0 26px;
  font-size:14.2px;
}
#gracy .modal_color span {
  display: inline-block;
  margin: 0 46px 0 0;
  width: 40px;
  height: 40px;
}
#gracy .modal_color li:nth-child(1) span  {
background-color: #a2a5ae;
}
#gracy .modal_color li:nth-child(2) span  {
background-color: #f5e9e1;
}
#gracy .modal_color li:nth-child(3) span  {
background-color: #cdb7a2;
}
#gracy .modal_color li:nth-child(4) span  {
background-color: #a1856b;
}
#gracy .modal_color li:nth-child(5) span  {
background-color: #adb8bb;
}
#gracy .modal_color li:nth-child(6) span  {
background-color: #6f6764;
}
#gracy .modal_color li:nth-child(7) span  {
background-color: #5d3535;
}
#gracy .modal_color li:nth-child(8) span  {
background-color: #000;
}



/*=========================================
modal slide
==========================================*/
.slider {
  width: 464px;
  text-align: center;
}
.slick-list {
  width: 464px !important;
}
.slick-dots li {
  display: inline-block;
  margin: 3% 1.6% 0;
}
.slick-dots li button {
  background: none;
  font-size: 0;
  line-height: 0;
  display: block;
  padding: 3px;
  cursor: pointer;
  border-radius: 6px;
  outline: none;
  background-color: #fff;
  border: 1px solid #808080;
}
.slick-dots .slick-active button {
  padding: 3px;
  background: none;
  border: 1px solid #808080;
  background-color: #808080;
}

/*modal ＋ボタンで画像切り替えの場合*/
/*.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 100%;
  right: 10px;
  margin-top:-55px;
  display: block;
  width: 45px;
  height: 45px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  transition: .3s opacity ease, .3s transform ease;
}
.slick-next:hover{
  opacity: 0.6;
}
.slick-next:before{
  content: '';
  width: 45px;
  height: 1px;
  background: #FFF;
  position: absolute;
  top: 50%;
  left: 0;
}
.slick-next:after{
  content: '';
  width: 45px;
  height: 1px;
  border: 0;
  background: #FFF;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  transform-origin:  top left;
}
.slick-prev{
  display: none;
}*/


/*modal 左右にスライドの場合*/
.slick-prev, .slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 48%;
  display: block;
  width: 45px;
  height: 40px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  cursor: pointer;
  transition: .3s opacity ease, .3s transform ease;
}
.slick-prev:hover,
.slick-next:hover{
  opacity: 0.6;
}
.slick-prev {
  left: -45px;
}
.slick-next {
  right: -45px;
}
.slick-prev:before,
.slick-next:before{
  content: '';
  width: 26px;
  height: 26px;
  border: 0;
  position: absolute;
  top: 50%;
  right: 6px;
  margin-top: -13px;
}
.slick-next:before{
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.slick-prev:before{
  border-top: solid 1px #000;
  border-left: solid 1px #000;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  left:6px;
}



.slick-track{
  display: flex !important;
  align-items: center;
}
#modal_K .modal_slide {
  display: flex;
  justify-content: center;
  align-items: center;
}


/* =========================================================
all item
========================================================= */
#gracy .allitem{
  text-align: center;
  margin: 18px 0 0 0;
}
#gracy .allitem a{
  display: inline-block;
  text-decoration: none;
  padding: 0 4px 4px;
  color: #080404;
  border-bottom: 1px solid #080404;
  transition: .3s opacity ease, .3s transform ease;
}
#gracy .allitem a:hover{
  opacity: 0.6;
}