@charset "UTF-8";
/**************** CSS ****************************/
body, #contents.sp_item {
  background: #fcf6eb;
}
footer {
  background: #fcf6eb;
}
#contents.sp_item p.atn_img {
  text-align: right !important;
  font-size: calc(100vw / (1200 /14)) !important;
  padding-bottom: calc(100vw / (1200 /50));
  padding-right: calc(100vw / (1200 /20));
}
/*********key******/
#contents.sp_item .key {
  background-size: calc(100vw / (1200 /43)) auto;
  position: relative;
}
#contents.sp_item .key h1 {
  width: 100%;
}
#contents.sp_item .key .btn_cv {
  width: calc(100vw / (1200 / 270));
  margin: 0 auto !important;
  position: absolute;
  bottom: calc(100vw / (1200 / 11));
  right: calc(100vw / (1200 / 70));
}
#contents.sp_item .key .btn_cv a {
  height: calc(100vw / (1200 / 60));
  line-height: calc(100vw / (1200 / 55));
  border: 1px solid #fff;
}
#contents .btn_cv a::before {
  position: relative;
  top: calc(100vw / (1200 / 20));
  left: calc(100vw / (1200 / -30));
  width: calc(100vw / (1200 / 34));
  height: calc(100vw / (1200 / 34));
}
/*********co_00******/
#contents.sp_item .co_00 .box {
  width: calc(100vw / (1200 / 900));
  margin: calc(100vw / (1200 / 100)) auto calc(100vw / (1200 / 120));
  padding: calc(100vw / (1200 / 40)) 0 0;
  background: #fff;
  border: 4px solid #aa8b63;
  border-radius: 30px;
  position: relative;
  text-align: center;
}
.flex_r {
  display: flex;
  text-align: justify;
  align-items: start;
  justify-content: center;
}
#contents.sp_item .co_00 h2 {
  width: calc(100vw / (1200 / 170));
  margin-left: calc(100vw / (1200 / 20));
  margin-top: calc(100vw / (1200 / 20));
  padding: 0;
}
#contents.sp_item .co_00 h3, #contents.sp_item .co_00 .txt {
  writing-mode: vertical-rl;
  line-height: 1.4;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: calc(100vw / (1200 / 21));
  z-index: 999;
}
#contents.sp_item .co_00 h3 {
  margin-left: calc(100vw / (1200 / 40));
  color: #aa8b63;
  font-size: calc(100vw / (1200 / 22));
}
#contents.sp_item .co_00 .txt p {
  margin: 0.6em;
}
#contents.sp_item .co_00 img {
  border-radius: 0 0 26px 26px;
}
/*********co_01******/
#contents.sp_item .neta {
  margin-bottom: calc(100vw / (1200 / 60));
  padding: 0 calc(100vw / (1200 / 60));
  height: calc(100vw / (1200 / 510));
  position: relative;
}
#contents.sp_item .neta img {
  border-radius: 26px;
}
#contents.sp_item .co_01 {
  background: url("../img/spring3_c01_bg.webp") no-repeat;
  background-size: 100% auto;
}
#contents.sp_item .co_02 {
  background: url("../img/spring3_c02_bg.webp") no-repeat;
  background-size: 100% auto;
}
#contents.sp_item .co_03 {
  background: url("../img/spring3_c03_bg.webp") no-repeat;
  background-size: 100% auto;
}
#contents.sp_item .neta .txt {
  width: calc(100vw / (1200 / 560));
  position: absolute;
  top: 0;
  right: calc(100vw / (1200 / 60));
}
#contents.sp_item .neta h2 {
  width: calc(100vw / (1200 / 380));
  margin: calc(100vw / (1200 / 30)) auto calc(100vw / (1200 / 40));
}
#contents.sp_item .neta .txt .box {
  margin: 0 auto calc(100vw / (2000 / 35));
  background: #fff;
  padding: calc(100vw / (1200 / 30)) calc(100vw / (1200 / 35)) calc(100vw / (1200 / 35)) calc(100vw / (1200 / 55));
  font-size: calc(100vw / (1200 / 21));
}
#contents.sp_item .neta .img {
  width: calc(100vw / (2000 / 910));
  position: absolute;
  top: 0;
  left: calc(100vw / (1200 / 60));
}
/**02**/
#contents.sp_item .co_02 .txt {
  width: calc(100vw / (1200 / 560));
  position: absolute;
  top: 0;
  left: calc(100vw / (1200 / 60));
}
#contents.sp_item .co_02 .img {
  width: calc(100vw / (2000 / 910));
  position: absolute;
  top: 0;
  left: inherit;
  right: calc(100vw / (1200 / 60)) !important;
}
/*********kikan******/
#contents.sp_item .kikan {
  position: relative;
  margin-bottom: calc(100vw / (1200 / 100));
  padding: calc(100vw / (1200 / 25)) 0;
  background: #140a41;
  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: 70px solid #140a41;
}
#contents.sp_item .kikan h2 {
  width: calc(100vw / (1200 / 200));
  margin: 0 auto calc(100vw / (1200 / 10));
  text-align: center;
  letter-spacing: 0.15em;
  border: 1px solid #fff;
  background: #b09a68;
  border-radius: 100px;
  font-size: calc(100vw / (1200 / 20));
  font-weight: bold;
  color: #fff;
}
#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 .read {
  margin-bottom: calc(100vw / (1200 / 25));
  text-align: center;
  font-size: calc(100vw / (1200 / 27));
  color: #dbc38e;
}
#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 / 100)) 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 .box.pc {
  width: calc(100vw / (1200 /600));
  margin: 0 auto;
}
#contents.sp_item .menu_info .inner .icon {
  width: calc(100vw / (1200 /110));
  position: absolute;
  top: calc(100vw / (1200 /20));
  left: calc(100vw / (1200 /20));
  z-index: 999;
}
#contents.sp_item .menu_info h2 {
  margin: calc(100vw / (1200 / 60)) auto calc(100vw / (1200 / 10));
  text-align: center;
  letter-spacing: 0.09em;
  font-size: calc(100vw / (1200 / 24));
}
#contents.sp_item .menu_info .inner .btn {
  margin-top: calc(100vw / (1200 / 50));
}
#contents.sp_item .menu_info p.atn_item {
  margin: calc(100vw / (1200 / 50)) calc(100vw / (1200 / 150)) calc(100vw / (1200 / 50));
  padding: calc(100vw / (1200 / 10));
  background: #fff;
}
/*****btnarea****/
#contents.sp_item .cv .atn {
  width: calc(100vw / (1200 / 700));
  margin: calc(100vw / (1200 / 50)) auto calc(100vw / (1200 / 100));
  line-height: 1.5;
  font-size: calc(100vw / (1200 /15));
  text-align: left;
}
#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);
  }
}