
@charset "UTF-8";
/**************** CSS ****************************/
body, #contents.sp_item {
  background: #f7f3ee;
}
footer {
  background: #f7f3ee;
}
#contents.sp_item p.atn_img {
  text-align: right !important;
  font-size: calc(100vw / (1200 /14)) !important;
}
/*********key******/
#contents.sp_item .key {
  position: relative;
  background: #232323;
  background-size: 100% auto;
}
#contents.sp_item .key h1 {
  width: 100%;
}
#contents.sp_item .key .btn_cv {
  width: calc(100vw / (1200 / 385));
  margin: 0 auto !important;
  position: absolute;
  bottom: calc(100vw / (1200 / 13));
  right: calc(100vw / (1200 / 205));
}
#contents.sp_item .key .btn_cv a {
  height: calc(100vw / (1200 / 76));
  line-height: calc(100vw / (1200 / 70));
  border: 2px solid #fff;
}
/*********co_01******/
#contents.sp_item .co_01 {
  background: #000;
  padding: calc(100vw / (1200 / 60)) 0 calc(100vw / (1200 / 10));
  font-size: calc(100vw / (1200 /18)) !important;
}
#contents.sp_item .co_01 .inner {
  width: calc(100vw / (1200 / 900));
  margin: auto;
  padding: calc(100vw / (1200 / 50)) calc(100vw / (1200 / 20)) 0;
  background: #f0f0f0;
}
#contents.sp_item .co_01 .img {
  width: calc(100vw / (1200 / 300));
  margin: 0 auto calc(100vw / (1200 / 40))
}
#contents.sp_item .co_01 .txt {
  width: calc(100vw / (1200 / 400));
  margin: 0 auto calc(100vw / (1200 / 10))
}
#contents.sp_item .co_01 p {
  margin-bottom: 1em;
}
#contents.sp_item .co_01 p span {
  font-weight: bold;
}
#contents.sp_item .co_01 p.btn {
  margin: calc(100vw / (1200 / 50)) auto 0;
  padding: 0;
  width: calc(100vw / (1200 / 300));
}
#contents.sp_item .co_01 p.btn a {
  display: block;
  margin: calc(100vw / (1200 / 10)) auto 0;
  padding: calc(100vw / (1200 / 15)) 0;
  height: auto;
  line-height: 1.5;
  background: #c60010;
  border-radius: 100px;
  font-size: calc(100vw / (1200 /16)) !important;
  color: #fff;
  position: relative;
}
#contents.sp_item .co_01 p.btn a::after {
  content: "▶︎";
  display: inline-block;
  font-size: calc(100vw / (1200 /12)) !important;
  position: absolute;
  right: calc(100vw / (1200 /16));
  top: calc(100vw / (1200 /20));
}
/*********co_02******/
#contents.sp_item .co_02 {
  background: #000;
  padding: calc(100vw / (1200 / 50)) 0;
  font-size: calc(100vw / (1200 /17)) !important;
}
#contents.sp_item .co_02 h2 {
  width: calc(100vw / (1200 / 400));
  height: calc(100vw / (1200 /100));
  margin: 0 auto calc(100vw / (1200 / 50))
}
#contents.sp_item .co_02 .flex {
  width: calc(100vw / (1200 / 1100));
  margin: 0 auto;
  justify-content: space-between;
  position: relative;
  flex-wrap: wrap;
}
#contents.sp_item .co_02 .box {
  width: calc(100vw / (1200 / 490));
  height: calc(100vw / (1200 / 700));
  margin: 0 auto;
  padding: 0;
  position: relative;
}
.fade-in-image {
  opacity: 0;
  transform: translateY(100px);
  transition: opacity 1s ease-out, transform 2s ease-out;
  transition-delay: calc(var(--delay) * 0.5s);
  width: calc(100vw / (1200 / 480));
  aspect-ratio: 1/1;
  object-fit: cover;
}
.fade-in-image.visible {
  opacity: 1;
  transform: translateY(0);
}
#contents.sp_item .co_02 .box .img {
  width: 90%;
  margin: auto;
}
#contents.sp_item .co_02 .box h3 {
  width: calc(100vw / (1200 / 330));
  margin: 0 auto calc(100vw / (1200 / 10));
  position: relative;
}
#contents.sp_item .co_02 .box p {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  color: #ffffff;
  position: absolute;
  bottom: calc(100vw / (1200 / 60));
  font-size: calc(100vw / (1200 / 18));
}
/*********kikan******/
#contents.sp_item .kikan {
  position: relative;
  margin-bottom: calc(100vw / (1200 / 140));
  padding: calc(100vw / (1200 / 25)) 0;
  background: #b49a60;
  color: #fff;
}
#contents.sp_item .kikan:after {
  content: "";
  position: absolute;
  top: 100%;
  box-sizing: border-box;
  border-right: 50vw solid transparent;
  border-left: 50vw solid transparent;
  border-top: 80px solid #b49a60;
}
#contents.sp_item .kikan ul {
  width: calc(100vw / (1200 / 400));
  margin: calc(100vw / (1200 / 10)) auto calc(100vw / (1200 / 20));
  text-align: center;
}
#contents.sp_item .kikan h2 {
  width: calc(100vw / (1200 / 240));
  margin: calc(100vw / (1200 / 10)) auto calc(100vw / (1200 / 5));
  text-align: center;
  letter-spacing: 0.15em;
  border: 1px solid #fff;
  background: #b09a68;
  border-radius: 100px;
  font-size: calc(100vw / (1200 / 22));
  font-weight: bold;
  color: #fff;
}
#contents.sp_item .kikan .read {
  margin-bottom: calc(100vw / (1200 / 25));
  text-align: center;
  font-size: calc(100vw / (1200 / 27));
  color: #fff;
}
#contents.sp_item .kikan p.date {
  width: 100%;
  margin: 0 auto;
  letter-spacing: 0.07em;
  line-height: 1.2;
  text-align: center;
  font-size: calc(100vw / (1200 / 28));
  position: absolute;
  bottom: calc(100vw / (1200 / -20));
  z-index: 999;
}
#contents.sp_item .kikan p span {
  font-size: calc(100vw / (1200 / 40));
}
/*********menu******/
#contents.sp_item .menu_info {
  position: relative;
  width: calc(100vw / (1200 /1000));
  margin: calc(100vw / (1200 / 40)) auto calc(100vw / (1200 / 80));
  text-align: center;
}
#contents.sp_item .menu_info .flex {
  justify-content: space-around;
  flex-wrap: wrap;
  align-items: flex-start;
}
#contents.sp_item .menu_info .inner .box {
  width: calc(100vw / (1200 /470));
  vertical-align: middle;
  margin-bottom: calc(100vw / (1200 / 50));
  position: relative;
}
@media screen and (max-width:980px) {
  #contents.sp_item .menu_info .inner .box {
    width: calc(100vw / (1200 /550));
  }
}
#contents.sp_item .menu_info .inner .img {
  position: relative;
  font-size: calc(100vw / (1200 / 14));
}
#contents.sp_item .menu_info .inner h2 {
  margin: calc(100vw / (1200 / 10)) 0 calc(100vw / (1200 / 15));
  padding-bottom: calc(100vw / (1200 / 5));
  line-height: 1.2 !important;
  letter-spacing: 0.03em;
  text-align: center;
  font-size: calc(100vw / (1200 / 26));
  font-weight: bold;
  position: relative;
}
#contents.sp_item .menu_info .inner h2 span {
  display: inline-block;
  letter-spacing: -0.03em;
  font-size: calc(100vw / (1200 / 20));
  font-weight: bold;
}
#contents.sp_item .menu_info .inner .read {
  width: calc(100vw / (1200 / 260));
  margin: 0 auto calc(100vw / (1200 / 10));
  padding: 0;
  border: 1px solid #c60010;
  text-align: center;
  font-size: calc(100vw / (1200 / 18));
  font-weight: normal;
  color: #c60010;
}
#contents.sp_item .menu_info .inner dl {
  margin: calc(100vw / (1200 / 5)) 0 calc(100vw / (1200 / 10));
  text-align: center;
}
#contents.sp_item .menu_info .inner dl dt {
  width: calc(100vw / (1200 / 55));
  line-height: calc(100vw / (1200 / 30));
  margin-right: calc(100vw / (1200 / 10));
  border: 1px solid #313431;
  border-radius: 2px;
  padding: 0;
  text-align: center;
  display: inline-block;
  vertical-align: middle;
  font-size: calc(100vw / (1200 / 17));
}
#contents.sp_item .menu_info .inner dl dd {
  font-size: calc(100vw / (1200 / 28));
  font-weight: bold;
  display: inline-block;
  vertical-align: middle;
}
#contents.sp_item .menu_info .inner dl dd span.txM {
  font-size: calc(100vw / (1200 / 24));
  margin-right: calc(100vw / (1200 / 4));
}
#contents.sp_item .menu_info .inner dl dd span.txS {
  font-size: calc(100vw / (1200 / 18));
}
#contents.sp_item .menu_info .inner .btn {
  margin-top: calc(100vw / (1200 / 50));
}
/*****btnarea****/
#contents.sp_item .cv .atn {
  width: calc(100vw / (1200 / 700));
  margin: 0 auto calc(100vw / (1200 / 100));
  line-height: 1.5;
  font-size: calc(100vw / (1200 /15));
}
#contents.sp_item .cv .atn li {
  margin-bottom: 1em;
  padding-left: 2em;
  position: relative;
}
#contents.sp_item .cv ul.atn li a {
  text-decoration: underline;
}
#contents.sp_item .cv .atn li::before {
  content: "※";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}
#contents.sp_item .cv .btn {
  margin: 0 auto calc(100vw / (1200 / 100));
}
#contents.sp_item .cv .bn_goto {
  width: calc(100vw / (1200 /550));
  margin: 0 auto calc(100vw / (1200 / 200));
}
#contents.sp_item .cv .button {
  width: calc(100vw / (1200 / 220));
  height: calc(100vw / (1200 / 220));
  position: fixed;
  bottom: calc(100vw / (1200 / 10));
  right: calc(100vw / (1200 / 1));
  background: #000;
  padding: 0;
  z-index: 999;
  animation-name: fadeUpApp;
  animation-duration: 3s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeUpApp {
  from {
    opacity: 0;
    transform: translateY(300px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}