@charset "UTF-8";
/****************reset********************************************/
body {
  background: #f0f0f0 url("../img/congratulations_bg.webp") repeat-y;
  background-size: 100% auto;
}
footer {
  background: #f0f0f0;
  margin-top: 0 !important;
  padding-top: 8vw;
  position: inherit !important;
  height: auto;
}
#contents.sp_item {
  width: 100% !important;
  margin: 0 !important;
  padding: 0;
  overflow: hidden;
}
#contents.sp_item .atn_img {
  width: calc(100vw / (1200 / 1100));
  margin: 0 auto;
  text-align: right;
  font-size: calc(100vw / (1200 / 12));
}
#contents.sp_item .min {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
}
#contents.sp_item .key {
  position: relative;
}
#contents.sp_item .key .gentei {
  padding: calc(100vw / (1200 / 30));
  background: #bd4842;
  border-top: #e9aea7 solid 10px;
  border-bottom: #e9aea7 solid 10px;
}
#contents.sp_item .key .btn_cv {
  width: calc(100vw / (1200 / 275));
  margin: 0 auto calc(100vw / (1200 / 15));
  position: absolute;
  bottom: calc(100vw / (1200 / 16));
  right: calc(100vw / (1200 / 50));
  margin: 0;
  padding: 0;
}
#contents.sp_item .key .btn_cv a {
  border: 1px solid #fff;
  font-size: calc(100vw / (1200 / 19));
  line-height: calc(100vw / (1200 / 66));
  height: calc(100vw / (1200 / 66));
}
/***************** co_01 *****************/
#contents.sp_item .co_01 {
  position: relative;
  padding: 0;
  background: #fffbf1 url("../img/congratulations_c01_bg.webp") no-repeat;
  background-size: 100%;
  height: calc(100vw / (2000 / 890));
  text-align: center;
  font-size: calc(100vw / (1200 / 19));
  font-weight: bold;
}
#contents.sp_item .co_01 .flex {
  flex-direction: row-reverse;
  justify-content: center;
  padding-top: calc(100vw / (1200 / 100));
}
#contents.sp_item .co_01 h2 {
  width: calc(100vw / (1200 / 90));
  padding-bottom: calc(100vw / (1200 / 45));
}
#contents.sp_item .co_01 .txt {
  width: calc(100vw / (1200 / 500));
}
#contents.sp_item .co_01 .txt p {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block;
  text-align: left;
  vertical-align: middle;
  margin: 0 auto calc(100vw / (1200 / 20));
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-size: calc(100vw / (1200 / 22));
  color: #000;
}
/***************** co_02  *****************/
#contents.sp_item .co_02 {
  position: relative;
  padding: calc(100vw / (1200 / 70)) 0 calc(100vw / (1200 / 50));
  font-size: calc(100vw / (1200 / 17));
  color: #000;
}
#contents.sp_item .co_02 h2 {
  width: calc(100vw / (1200 / 255));
  margin: 0 auto calc(100vw / (1200 / 25));
}
#contents.sp_item .co_02 p.min {
  width: calc(100vw / (1200 / 175));
  margin: 0 auto calc(100vw / (1200 / 10));
  background: #b09a68;
  border-radius: 100px;
  text-align: center;
  font-weight: normal;
  font-size: calc(100vw / (1200 / 21));
  color: #fff;
}
#contents.sp_item .co_02 .inner {
  background: url("../img/congratulations_c02_bg.webp") no-repeat;
  background-size: 100%;
  height: calc(100vw / (2000 / 906));
  position: relative;
  margin-bottom:  calc(100vw / (1200 / 25));
}
#contents.sp_item .co_02 .txt {
  width: calc(100vw / (1200 / 350));
  padding: calc(100vw / (1200 / 20)) 0 calc(100vw / (1200 / 10));
  text-align: center;
  line-height: 1.4;
  font-size: calc(100vw / (1200 / 20));
  background: rgba(255, 255, 255, 0.4);
  position: absolute;
  bottom: calc(100vw / (1200 / 90));
  right: calc(100vw / (1200 / 110));
  ;
}
#contents.sp_item .co_02 .txt p {
  margin-bottom: 1em;
}
/*********kikan******/
#contents.sp_item .kikan {
  position: relative;
  padding: calc(100vw / (1200 / 30));
  background: #92b24f;
  background-size: calc(100vw / (1200 / 32));
}
#contents.sp_item .kikan ul {
  width: calc(100vw / (1200 / 400));
  margin: 0 auto;
}
/*********menu******/
#contents.sp_item .menu_info {
  width: calc(100vw / (1200 / 1000));
  margin: calc(100vw / (1200 / 80)) auto;
  text-align: center;
  color: #000;
  font-size: calc(100vw / (1200 / 19));
}
#contents.sp_item .menu_info .flex {
  justify-content: space-between;
}
#contents.sp_item .menu_info .box {
  width: calc(100vw / (1200 / 480));
  margin-bottom: calc(100vw / (1200 /50));
}
#contents.sp_item .menu_info h2 {
  width: calc(100vw / (1200 / 40));
  margin: calc(100vw / (1200 / 20)) auto calc(100vw / (1200 /50));
  line-height: 1.2;
  letter-spacing: -0.04em;
  text-align: center;
  position: relative;
}
#contents.sp_item .menu_info .inner h3 {
  margin: calc(100vw / (1200 / 20)) auto calc(100vw / (1200 /20));
  font-size: calc(100vw / (1200 / 50));
  display: flex; /* 文字と横線を横並び */
  justify-content: center;
  align-items: center;
}
#contents.sp_item .menu_info .inner h3::before, #contents.sp_item .menu_info .inner h3::after {
  background-color: #000; /* 横線の色 */
  content: "";
  height: 1px; /* 横線の高さ */
  width: calc(100vw / (1200 / 380)); /* 横線の長さ */
}
#contents.sp_item .menu_info .inner h3::before {
  margin-right: calc(100vw / (1200 / 40)); /* 文字との余白 */
}
#contents.sp_item .menu_info .inner h3::after {
  margin-left: calc(100vw / (1200 / 40)); /* 文字との余白 */
}
#contents.sp_item .menu_info .inner h4 {
  width: calc(100vw / (1200 / 125));
  margin: 0 auto calc(100vw / (1200 / 10));
  background: #b09a68;
  border-radius: 100px;
  letter-spacing: 0.2em;
  font-weight: normal;
  font-size: calc(100vw / (1200 / 22));
  color: #fff;
}
#contents.sp_item .menu_info .inner p {
  margin: 0 auto;
  font-size: calc(100vw / (1200 / 18));
}
/*****btnarea****/
#contents.sp_item .btnarea {
  padding-bottom: calc(100vw / (1200 / 20));
  color: #000;
}
#contents.sp_item .btnarea .atn {
  width: calc(100vw / (1200 / 620));
  margin: 0 auto calc(100vw / (1200 / 100));
  line-height: 1.4;
  font-size: calc(100vw / (1200 /15));
}
#contents.sp_item .btnarea .atn li {
  margin-bottom: 1em;
  padding-left: 2em;
  position: relative;
}
#contents.sp_item .btnarea ul.atn li a {
  text-decoration: underline;
}
#contents.sp_item .btnarea .atn li::before {
  content: "※";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}
#contents.sp_item .btnarea .btn {
  margin: 0 auto calc(100vw / (1200 / 100));
  font-size: calc(100vw / (1200 /22));
}
#contents.sp_item .btnarea .btn_home {
  margin: 0 auto calc(100vw / (1200 / 10));
}
#contents.sp_item .btnarea .btn_goto {
  width: calc(100vw / (1200 /650));
  margin: 0 auto calc(100vw / (1200 / 100));
  border: 1px solid #888;
}