@charset "utf-8";@charset "UTF-8";
.pc {
  width: 100%;
}

.main {
  position: relative;
  font-family: "Roboto";
  font-optical-sizing: auto;
  color: #000;
  margin: 0 auto;
  background: url("/photo/page/20260327/assets/img/bg.jpg") repeat top center;
  font-size: 11px;
  font-weight: 400;
  width: 100%;
}
.main .logo {
  position: absolute;
  top: 30px;
  left: 30px;
  z-index: 999;
}
.main .logo .img {
  position: fixed;
  width: 34px;
}
.main a {
  transition-property: opacity;
  transition-duration: 0.4s;
  color: #000;
  text-decoration: none;
}
.main a:hover {
  opacity: 1;
  text-decoration: none;
}
.main p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.64;
  margin-left: auto;
  margin-right: auto;
}
.main img {
  vertical-align: bottom;
  width: 100%;
}
.main .fv-block {
  position: relative;
  width: 100%;
}
.main .fv-block .title {
  position: absolute;
  width: 160px;
  margin: 0;
  top: 35px;
  left: 50%;
  transform: translate(0, -50%);
  z-index: 400;
}
.main .fv-block .img {
  position: relative;
  margin: 0 0 0 auto;
  width: 92.1%;
  z-index: 2;
}
.main .fv-block .txt {
  position: absolute;
  padding: 15vw 0 0 0;
  width: 100vw;
  top: 64.5%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}
.main .fv-block .item {
  position: absolute;
  margin: 0 0 0 0;
  top: 90.5%;
  left: 13%;
}
.main .contents-block {
  position: relative;
  width: 100%;
  height: 100%;
}
.main .contents-block .img-block {
  width: 100%;
  height: 100%;
}
.main .contents-block .img-block01 {
  position: relative;
  padding: 100px 0 0 0;
  margin: 0;
  box-sizing: border-box;
}
.main .contents-block .img-block01 .img02 {
  position: absolute;
  width: 40.6%;
  top: 20vw;
}
.main .contents-block .img-block01 .img03 {
  position: absolute;
  width: 43.7%;
  top: 21.5vw;
  right: 0px;
}
.main .contents-block .img-block01 .txt02 {
  position: relative;
  width: 98%;
  margin: 0 auto;
}
.main .contents-block .img-block01 .item {
  padding: 25px 0 0 40px;
}
.main .contents-block .img-block02 {
  padding: 0px 0 0 0;
  margin: 0;
  box-sizing: border-box;
  position: relative;
  top: -3vw;
}
.main .contents-block .img-block02 .img04 {
  width: 53.9%;
  margin: 0 0 0 31%;
}
.main .contents-block .img-block02 .item {
  padding: 0 0 0 0;
  position: absolute;
  bottom: 0;
  left: 11.5vw;
}
.main .contents-block .img-block03 {
  position: relative;
  padding: 100px 0 0 0;
}
.main .contents-block .img-block03 .img05 {
  position: absolute;
  width: 48.4%;
  top: 25vw;
  left: 60px;
}
.main .contents-block .img-block03 .img06 {
  position: absolute;
  width: 40.6%;
  padding: 70px 0 0 0;
  top: 25.5vw;
  right: 40px;
}
.main .contents-block .img-block03 .img06 .item {
  padding: 20px 0 0 0;
}
.main .contents-block .img-block03 .txt03 {
  position: relative;
  width: 93.2%;
  margin: 0 auto;
}
.main .contents-block .img-block04 {
  padding: 60% 0 0 0;
}
.main .contents-block .img-block04 .img07 {
  width: 100%;
  margin: 0 auto;
}
.main .contents-block .img-block05 {
  position: relative;
  padding: 0px 0 0 0;
}
.main .contents-block .img-block05 .block-flex {
  position: absolute;
  width: 100%;
  top: -15vw;
}
.main .contents-block .img-block05 .img08 {
  position: absolute;
  width: 42.5%;
  margin: 0 0 0 0;
  padding: 0;
  top: 0;
  left: 80px;
  z-index: 200;
}
.main .contents-block .img-block05 .img08 .item {
  margin: 20px 0 0 0;
}
.main .contents-block .img-block05 .img09 {
  position: absolute;
  width: 53.9%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  top: 28vw;
  right: 40px;
}
.main .contents-block .img-block05 .img09 .item {
  position: absolute;
  bottom: 3vw;
  left: -22vw;
  margin: 0 0 0 0;
}
.main .contents-block .img-block06 {
  position: relative;
  padding: 91vw 0 73vw 0;
}
.main .contents-block .img-block06 .txt04 {
  position: relative;
  width: 92.1%;
  margin: 0 auto;
  z-index: 100;
}
.main .contents-block .img-block06 .img10 {
  position: absolute;
  width: 39%;
  left: 20px;
  top: 130.5vw;
}
.main .contents-block .img-block06 .img11 {
  position: absolute;
  width: 46.8%;
  right: 0;
  top: 115vw;
}
.main .contents-block .img-block06 .img11 .item {
  padding: 20px 0 0 0;
}
.main .contents-block .img-block08 {
  position: relative;
  margin: -50px 0 0 0;
}
.main .contents-block .img-block08 .img12 {
  width: 54.9%;
  padding: 80px 0 0 0;
}
.main .contents-block .img-block08 .img13 {
  position: absolute;
  width: 19.5%;
  margin: 0 0 0 auto;
  top: 0;
  right: 0;
}
.main .contents-block .img-block08 .block-flex {
  display: flex;
  align-items: flex-end;
  width: 100%;
}
.main .contents-block .img-block08 .item {
  position: relative;
  margin: 0 0 0 20px;
  top: 4px;
}
.main .credit {
  color: #7E8560;
  line-height: 2;
  padding: 200px 0px 200px 0;
  text-align: right;
  box-sizing: border-box;
}
.main .credit .credit-box {
  display: inline-block;
}
.main .credit .credit_list {
  display: flex;
  margin: 0 0 5px 0;
  text-align: left;
}
.main .credit .credit_list dt {
  width: 180px;
  margin: 0 38px 0 0;
}
.main .credit .credit_list dd {
  width: 300px;
}
.main .item {
  position: relative;
  z-index: 888;
}
.main .item .item_lists .list {
  display: flex;
  align-items: left;
  padding: 0 0 5px 0;
}
.main .item .item_lists .list:last-child {
  margin: 0;
  padding: 0;
}
.main .item .item_lists .list .item_info {
  font-size: 11px;
  margin: 0 5px 0 0;
}
.main .item .item_lists .list .item_info .item_name {
  display: inline-block;
  padding: 0 2px 0 0;
}
.main .item .item_lists .list .item_info .price {
  display: inline-block;
  padding: 0 2px 0 2px;
}
.main .item .item_lists .list .item_info .bland {
  display: inline-block;
  padding: 0 0 0 2px;
}
.main .item .item_lists .list .under_line {
  text-decoration: underline;
}

.al-center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.only-pc {
  display: block;
}

.only-sp {
  display: none;
}

.img_c02 {
  display: none;
}

@media only screen and (max-width: 768px) {
  .main .logo {
    top: 24px;
    left: 13px;
  }
  .main .logo .img {
    width: 20px;
  }
  .main .fv-block .title {
    position: absolute;
    width: 127px;
    margin: 0;
    top: 43.5%;
    left: 33%;
    transform: translate(-50%, -50%);
  }
  .main .fv-block .img {
    position: relative;
    width: 100%;
    z-index: 2;
  }
  .main .fv-block .img img {
    margin: 0;
    width: 100%;
  }
  .main .fv-block .txt {
    position: absolute;
    padding: 15vw 0 0 0;
    width: 100vw;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
  }
  .main .fv-block .item {
    position: relative;
    margin: 20px 0 0 0;
    top: 0;
    left: 20px;
  }
  .main .contents-block .img-block {
    height: auto;
  }
  .main .contents-block .img-block01 {
    position: relative;
    padding: 100px 0 0 0;
    margin: -50px 0 0 0;
    box-sizing: border-box;
  }
  .main .contents-block .img-block01 .img02 {
    position: absolute;
    width: 88%;
    top: 45vw;
  }
  .main .contents-block .img-block01 .img03 {
    position: relative;
    width: 100%;
    top: 17vw;
    right: 0;
    padding: 174vw 0 0 0;
  }
  .main .contents-block .img-block01 .txt02 {
    position: absolute;
    width: 98%;
    margin: 0 auto;
    top: 27vw;
  }
  .main .contents-block .img-block01 .item {
    padding: 20px 0 0 20px;
    width: 100vw;
  }
  .main .contents-block .img-block02 {
    padding: 0 0 0 0;
    margin: 0;
    box-sizing: border-box;
    top: -46.8vw;
  }
  .main .contents-block .img-block02 .txt02 {
    position: relative;
    width: 88.8%;
    margin: 0 auto;
  }
  .main .contents-block .img-block02 .img04 {
    width: 94.6%;
    margin: 50px auto 0 auto;
  }
  .main .contents-block .img-block02 .item {
    position: relative;
    padding: 20px 0 0 20px;
    left: 0;
  }
  .main .contents-block .img-block03 {
    position: absolute;
    padding: 0 0 0 0;
  }
  .main .contents-block .img-block03 .txt03 {
    position: relative;
    padding: 0;
    width: 95.2%;
    top: -25vw;
  }
  .main .contents-block .img-block03 .img05 {
    position: absolute;
    width: 86.6%;
    margin: 0 0 0 auto;
    left: 0;
    right: 0;
    top: -7vw;
  }
  .main .contents-block .img-block03 .img06 {
    width: 94.6%;
    margin: 0 auto;
    padding: 0;
    top: 128vw;
    left: 20px;
  }
  .main .contents-block .img-block04 {
    position: absolute;
    padding: 168vw 0 0 0;
  }
  .main .contents-block .img-block04 .img07 {
    width: 100%;
    margin: 0 auto;
  }
  .main .contents-block .img-block04 .item {
    padding: 20px 0 0 0;
  }
  .main .contents-block .img-block05 {
    position: relative;
    padding: 200vw 0 0 0;
    top: 0;
  }
  .main .contents-block .img-block05 .block-flex {
    position: absolute;
    display: block;
    width: 100%;
    top: 56vw;
  }
  .main .contents-block .img-block05 .img08 {
    position: relative;
    width: 85.3%;
    margin: 0;
    top: 178vw;
    left: 50%;
    transform: translate(-50%, 0);
  }
  .main .contents-block .img-block05 .img08 .item {
    margin: 20px 0 0 0;
  }
  .main .contents-block .img-block05 .img09 {
    position: relative;
    width: 100%;
    margin: 0 auto 0 auto;
    padding: 0 0 0 0;
    top: 186vw;
    right: 0;
  }
  .main .contents-block .img-block05 .img09 .item {
    bottom: -168px;
    left: 20px;
  }
  .main .contents-block .img-block06 {
    position: relative;
    padding: 392vw 0 0 0;
  }
  .main .contents-block .img-block06 .txt04 {
    position: relative;
    width: 87.2%;
    margin: 0 auto;
    z-index: 100;
  }
  .main .contents-block .img-block06 .img10 {
    position: absolute;
    width: 100%;
    right: 0;
    left: 0;
    top: 697vw;
  }
  .main .contents-block .img-block06 .img11 {
    position: relative;
    width: 100%;
    top: -22vw;
  }
  .main .contents-block .img-block06 .img11 .item {
    position: relative;
    padding: 0 0 0 20px;
    top: 156vw;
  }
  .main .contents-block .img-block08 {
    position: relative;
    padding: 226vw 0 0 0;
    margin: 0 0 0 0;
  }
  .main .contents-block .img-block08 .img12 {
    width: 92%;
    margin: 0 auto 0 0;
    padding: 31vw 0 0 0;
  }
  .main .contents-block .img-block08 .img13 {
    position: absolute;
    width: 66.6%;
    margin: 0 0 0 auto;
    top: 147vw;
  }
  .main .contents-block .img-block08 .block-flex {
    display: block;
    align-items: flex-end;
    width: 100%;
  }
  .main .contents-block .img-block08 .item {
    margin: 25px 0 50px 20px;
    top: 0;
  }
  .main .credit {
    padding: 60px 20px 100px 20px;
  }
  .main .credit .credit-box {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
  .main .credit .credit_list dt {
    margin: 0 0 0 0;
    width: 170px;
    flex-shrink: 0;
  }
  .main .credit .credit_list dd {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 0 0;
  }
  .img05 {
    position: relative;
  }
  .img05 .img_c02 {
    display: block;
  }
  .img05 .img_change {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transition: opacity 3s ease;
  }
  .img05 {
    /* 表示状態 */
  }
  .img05 .img_change.is-active {
    opacity: 31;
    z-index: 32;
  }
  .img05 {
    /* 非表示側 */
  }
  .img05 .img_change {
    z-index: 31;
  }
  .img05 {
    /* 表示状態 */
  }
  .img05 .is-active {
    opacity: 1;
  }
  .only-pc {
    display: none !important;
  }
  .only-sp {
    display: block !important;
  }
}
.js-fadeUp {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.js-fadeUp.is-show {
  opacity: 1;
  transform: translateY(0);
}

.img-block img:not(.img_mono) {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.img-block img:not(.img_mono).is-show {
  opacity: 1;
  transform: translateY(0);
}

.img_mono {
  filter: grayscale(100%);
  transition: filter 0.8s ease 2.2s;
}

.img_mono.is-show {
  filter: grayscale(0%);
}