@charset "utf-8";

/* Anniversary50th */
.bg_50th {
  background: url(/img/bp/anniversary50th/bg_back.webp);
}

.mv {
  max-width: 100%;
  margin: 0 auto;
}

.mv>img {
  width: 100%;
}

.lead_wrap {
  margin: -3rem auto 8rem;
}

.lead_inner {
  width: 80%;
  padding: 1.5rem 1.5rem 3.5rem;
  margin: 2em auto;
  background: linear-gradient(135deg, #f76f90 4%, #ffffff 4%, #ffffff 96%, #f39800 96%) no-repeat;
  border-radius: 1rem;
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
}

.lead_inner>h2 {
  font-size: 4rem;
  letter-spacing: .3rem;
  font-weight: bold;
  text-align: center;
  color: #28a7e1;
}

.lead_inner>h2::after {
  content: "──────────";
  display: block;
  letter-spacing: -.1rem;
  font-size: 1rem;
  font-weight: bold;
  transform: scale(1, 5);
  margin-top: 1rem;
}

.lead_inner>p {
  margin: 1.5rem 0 0;
  padding: 0;
  font-size: 2rem;
  line-height: 1.75;
  text-align: center;
  font-weight: normal;
  letter-spacing: .2rem;
}

.campaign_wrap {
  background-color: rgba(253, 247, 208, 0.3);
  padding: 5rem 0 0;
  margin-bottom: 5rem;
}

.campaign_wrap>.container>h2 {
  text-align: center;
  margin: 0 0 2rem;
}

.campaign_wrap>.container>p {
  text-align: center;
  background-color: #fff;
  padding: 3.5rem;
  margin-bottom: 6rem;
  font-weight: normal;
  font-size: 1.8rem;
  letter-spacing: .2rem;
  border: solid 2px #555;
  border-radius: 1rem;
}

.campaign_box {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 6rem;
}

.campaign_box>.campaign_item {
  width: calc((100% - 80px) / 2);
  border-radius: 1rem;
  background-color: #fff;
  border: solid 3px #f76f90;
  display: block;
  position: relative;
  margin: 15px auto;
  padding: 1.5rem .5rem;
}

/* ここから2023.10.11 */
.campaign_box>.campaign_end:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(105, 105, 105, 0.7);
  display: block;
  z-index: 20;
  border-radius: 0.8rem;
}

.campaign_endtext {
  z-index: 20;
  position: absolute;
  color: #fff;
  font-size: 2.2rem;
  font-weight: bold;
  text-shadow: #000 1px 0 10px;
  top: 40%;
  margin: 0 auto;
  right: 0;
  left: 0;
  text-align: center;
  width: 95%;
}

.end {
  text-decoration: line-through solid #333 2px;
}

/* ここまで2023.10.11 */
.campaign_box>.campaign_item:first-child {
  border: solid 3px #f39800;
}

.campaign_box>.campaign_item:nth-child(3) {
  border: solid 3px #32b1e7;
}

.campaign_box>.campaign_item:nth-child(4) {
  border: solid 3px #7f7fff;
}

.campaign_box>.campaign_item>img {
  width: 80%;
  margin: 0 10%;
}

.campaign_box>.campaign_item>p {
  font-size: 2rem;
  line-height: 1.55;
  letter-spacing: .1rem;
  margin: 1.5rem 0 0;
  text-align: center;
  font-weight: bold;
}

.campaign_box>.campaign_item>div>a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 30;
}

.campaign_box>.campaign_item>div>a:hover {
  background: #fff;
  opacity: .7;
  border-radius: 1rem;
}

.ribbon-content {
  position: absolute;
  top: -8px;
  right: -6px;
  width: 89px;
  height: 91px;
  overflow: hidden;
}

.others01 {
  background: #f39800;
}

.others01:before, .others01:after {
  border-top: 4px solid #b2751b;
}

.others02 {
  background: #f76f90;
}

.others02:before, .others02:after {
  border-top: 4px solid #a84a61;
}

.others03 {
  background: #3bb4e8;
}

.others03:before, .others03:after {
  border-top: 4px solid #257395;
}

.others04 {
  background: #7f7fff;
}

.others04:before, .others04:after {
  border-top: 4px solid #7f7fff;
}

.ribbon {
  display: inline-block;
  position: absolute;
  padding: 8px 0 7px;
  left: -23px;
  top: 22px;
  width: 160px;
  text-align: center;
  font-size: 18px;
  line-height: 16px;
  font-weight: bold;
  letter-spacing: .1em;
  color: #fff;
  letter-spacing: 0.05em;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.ribbon:before, .ribbon:after {
  position: absolute;
  content: "";
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  bottom: -4px;
}

.ribbon:before {
  left: 14px;
}

.ribbon:after {
  right: 18px;
}

.detail_wrap {
  position: relative;
  padding: 3.5rem;
  background-color: #fff;
  border: solid 3px #f39800;
  border-radius: 2rem;
  margin-bottom: 6rem;
}

.detail_wrap>h3 {
  padding-bottom: 10px;
  font-size: 2.2rem;
  margin-top: 4rem;
  font-weight: bold;
  letter-spacing: .1rem;
  background-image: repeating-linear-gradient(90deg, #f39800 0, #f39800 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center bottom;
}

.detail_lottery {
  margin-top: 2rem;
}

.detail_lottery>li {
  list-style-type: disc;
  margin-left: 2rem;
  margin-bottom: .2rem;
}

.detail_lottery>li:first-child {
  list-style-type: none;
  margin-left: 0;
}

.detail_joken>li {
  list-style-type: decimal;
  margin-left: 2rem;
  margin-bottom: .2rem;
}

.detail_img {
  display: flex;
  margin-top: 2rem;
}

.detail_img>li>img {
  width: 80%;
  margin: 2rem 10%;
}

.detail_h2 {
  position: absolute;
  top: -1.5em;
  left: 1em;
  font-size: 3rem;
  line-height: inherit;
  font-weight: bold;
  letter-spacing: .1rem;
  color: #fff;
  /* background-color: #f39800; */
  background: linear-gradient(90deg, rgb(243, 114, 0), rgb(243, 152, 0));
  padding: 1.5rem 6rem;
  transform: skew(0deg, -2deg) !important;
}

.detail_h2>span,
.reserve_h2>span,
.insta_h2>span,
.shopping_h2>span {
  font-weight: normal;
  margin-right: 1em;
  font-size: 2.8rem;
  color: #fdf865;
}

.detail_h2>span::before,
.reserve_h2>span::before,
.insta_h2>span::before,
.shopping_h2>span::before {
  content: "|";
  letter-spacing: -.5rem;
  margin-right: .5em;
}

.detail_h2>span::after,
.reserve_h2>span::after,
.insta_h2>span::after,
.shopping_h2>span::after {
  content: "|";
  letter-spacing: -.5rem;
  margin-left: .5em;
}

.detail_course_01,
.detail_course_02 {
  margin-top: 3rem;
  font-size: 3rem;
  letter-spacing: .1rem;
  text-align: center;
  line-height: 1.2;
  position: relative;
}

.detail_course_01::before,
.detail_course_02::before {
  content: "";
  display: inline-block;
  width: 38px;
  height: 45px;
  background: url(/img/bp/anniversary50th/h2_before.webp) no-repeat;
  background-size: contain;
  margin-right: 0.2em;
  position: absolute;
  top: 0.5em;
}

.detail_course_01::after,
.detail_course_02::after {
  content: "";
  display: inline-block;
  width: 38px;
  height: 45px;
  background: url(/img/bp/anniversary50th/h2_after.webp) no-repeat;
  background-size: contain;
  margin-left: 0.2em;
  position: absolute;
  top: 0.5em;
}

.detail_course_01::before {
  left: 38%;
}

.detail_course_01::after {
  right: 38%;
}

.detail_course_02::before {
  left: 30%;
}

.detail_course_02::after {
  right: 30%;
}

.detail_course_01>span,
.detail_course_02>span {
  display: block;
  font-size: 2.2rem;
  font-weight: normal;
}

.detail_txt {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.65;
  letter-spacing: .2rem;
  text-align: center;
  margin-top: 5rem;
}

.detail_txt>span {
  background: linear-gradient(transparent 60%, #fdcb85 60%);
}

.detail_table {
  width: 100%;
  background-color: #fff;
  margin: 3rem 0 0;
}

.detail_table>tbody>tr>th,
.detail_table>tbody>tr>td {
  font-weight: normal;
  font-size: 1.6rem;
  line-height: 1.75;
  padding: 1rem 2rem;
  border-bottom: solid 4px #fff;
  vertical-align: middle;
}

.detail_table>tbody>tr>th {
  background-color: #f39800;
  color: #fff;
  width: 10em;
  vertical-align: middle;
  text-align: center;
}

.detail_table>tbody>tr>td {
  background-color: #fefaf2;
}

.caution_box {
  background-color: #fff;
  padding: 3rem 2rem;
  margin-top: 0.8rem;
}

.caution_list {
  width: 100%;
  margin: 0;
  padding: 0;
}

.caution_list>li:first-child>p {
  background-color: #666;
  color: #fff;
  text-align: center;
  display: block;
  width: 40%;
  margin: 0 auto 3rem;
  border-radius: .4rem;
  padding: .8rem;
  letter-spacing: .2rem;
}

.caution_list>li:first-child {
  list-style-type: none;
}

.caution_list>li {
  font-size: 1.6rem;
  line-height: 1.65;
  letter-spacing: .1rem;
  margin-left: 2em;
  margin-bottom: 0.6rem;
  padding: 0;
  font-weight: normal;
  list-style: circle;
}

.caution_list>li>span {
  font-size: 1.4rem;
}

/*TOUR BOX*/
.tour_wrap {
  border-radius: 2rem;
  background-color: #fff;
  margin: 2.5rem auto 0.5rem;
}

ul.selection {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  background-color: #f37200;
  padding: 1.5rem;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  align-items: baseline;
}

.dep_type_01 {
  padding: 22px 10px 0 15px;
  background: url(/img/bp/common/icon_dep_type01.webp) #fff 95% 50% no-repeat;
  background-size: 22px;
  -webkit-appearance: none;
  border-radius: 4px;
  font-weight: normal;
  font-size: 1.7rem;
  letter-spacing: 0.1rem;
  width: 100%;
  height: 50px;
  outline: none;
}

ul.selection>li:first-child {
  width: 12em;
  color: #fff;
  font-size: 2rem;
  font-weight: normal;
  letter-spacing: .2rem;
  text-align: right;
  padding-right: 1em;
}

ul.selection>li:first-child::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url(/img/bp/anniversary50th/icon_plane.webp) no-repeat;
  background-size: contain;
  margin-right: 0.5em;
  vertical-align: sub;
}

ul.selection>li:last-child {
  width: auto;
}

.form-control {
  font-size: 1.8rem;
  letter-spacing: .1rem;
  height: 40px;
  font-weight: normal;
  padding: 8px 40px 6px 10px;
}

.tour_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  background-color: #f1f1f1;
}

.tour_box>.tour_item_row4 {
  width: 24% !important;
  margin: .5% !important;
  background-color: #fff;
  width: auto;
  display: flex;
  flex-direction: column;
  height: auto;
  border: solid 1px #ccc;
}

.img_txt {
  position: relative;
}

.img_txt p {
  position: absolute;
  font-size: 1.4rem;
  line-height: 2.4rem;
  color: #fff;
  letter-spacing: 0.1em;
  top: 0;
  left: 0;
  padding: 0.6rem 2rem 0.5rem !important;
  background-color: #002c91;
}

.tour_item_row4 h3 {
  font-size: 1.7rem;
  padding: 1.5rem 1rem;
  letter-spacing: .1rem;
  line-height: 2.3rem;
  margin: 0;
  font-weight: bold;
  border-top: double 3px #ddd;
  border-bottom: double 3px #ddd;
}

.tour_item_row4 p {
  font-size: 1.5rem;
  padding: 1rem 1rem 1.5rem;
  line-height: 2.4rem;
  font-weight: normal;
}

.btn_box {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding: 0 10px 10px;
  margin-top: auto;
}

.btn_box .dropdown, .btn_box .btn_hotel {
  width: 50%;
  text-align: center;
}

.dropdown, .dropup {
  position: relative;
}

.btn_box .btn, .droponly .btn {
  font-size: 1.4rem;
  font-weight: normal;
  background-color: #ee8c00 !important;
  border: solid 2px #da7b00;
  border-radius: 3px !important;
  line-height: inherit;
  color: #fff;
  padding: 0.9rem 0 0.8rem !important;
  text-align: center;
  width: 100%;
}

.btn-default {
  background: unset !important;
}

.btn_box .dropdown, .btn_box .btn_hotel {
  width: 49%;
  text-align: center;
}

.btn_hotel a {
  display: block;
  letter-spacing: .1rem;
  font-weight: normal;
  padding: 1rem 0;
  background-color: #fff;
  color: #002552;
  border: solid 1px #002552;
  border-radius: 3px;
  font-size: 1.4rem;
  line-height: normal;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.btn_hotel a:hover {
  background-color: transparent;
  color: #fff !important;
  text-decoration: none;
  background-color: #002552;
}

.tour_box_row2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  background-color: #f1f1f1;
  padding: 1.5rem 0;
}

.tour_item_row2 {
  width: 30% !important;
  margin: 0 10px;
  background-color: #fff;
  width: auto;
  display: flex;
  flex-direction: column;
  height: auto;
  border: solid 1px #ccc;
}

.tour_item_row2 h3 {
  font-size: 1.8rem;
  padding: 2rem 1rem 1rem;
  letter-spacing: .1rem;
  line-height: 2.3rem;
  margin: 0;
  font-weight: bold;
}

.tour_item_row2 p {
  font-size: 1.5rem;
  padding: 1rem 1rem 0;
  line-height: 2.4rem;
  font-weight: normal;
}

.hendou_box {
  margin-top: auto;
  padding: 10px;
}

.hendou_box dl {
  padding: 0;
  margin: 0;
}

.hendou_box dl dt {
  float: left;
  padding: 5px 5px 3px 10px;
  border-radius: 4px;
  border: solid 2px #337ab7;
  background-color: #cbe3f8;
  margin-right: 1rem;
  font-weight: normal;
}

.txt_period {
  padding: 8px 0 0 !important;
  margin: 0;
  font-weight: bold;
  font-size: 1.5rem;
  color: #000;
}

.droponly {
  display: block !important;
  padding: 0 !important;
  margin-top: 15px !important;
}

.tour_item_row2 .btn_box .dropdown {
  width: 100%;
}

.tour_item_row2 i {
  margin-left: 5px;
}

/*/TOUR BOX*/
.reserve_wrap {
  position: relative;
  padding: 3.5rem;
  background-color: #fff;
  border: solid 3px #f76f90;
  border-radius: 2rem;
  margin-bottom: 6rem;
}

.reserve_wrap>img {
  display: block;
  margin: 0 auto;
  width: 45%;
  margin-top: 2rem;
}

.reserve_h2 {
  position: absolute;
  top: -1.5em;
  left: 1em;
  font-size: 3rem;
  line-height: inherit;
  font-weight: bold;
  letter-spacing: .1rem;
  color: #fff;
  background: linear-gradient(90deg, rgb(231, 46, 91), rgb(247, 111, 144));
  padding: 1.5rem 6rem;
  transform: skew(0deg, -2deg) !important;
}

.reserve_txt {
  font-size: 2.2rem;
  line-height: 1.65;
  text-align: center;
  font-weight: bold;
  margin-top: 5rem;
}

.reserve_txt>span {
  background: linear-gradient(transparent 60%, #ffa5ba 60%);
}

.shopping_wrap {
  position: relative;
  padding: 3.5rem;
  background-color: #fff;
  border: solid 3px #3bb4e8;
  border-radius: 2rem;
  margin-bottom: 6rem;
}

.shopping_wrap>div>img {
  display: block;
  margin: 0 auto;
  width: 80%;
  margin-top: 6rem;
}

.shopping_h2 {
  position: absolute;
  top: -1.5em;
  left: 1em;
  font-size: 3rem;
  line-height: inherit;
  font-weight: bold;
  letter-spacing: .1rem;
  color: #fff;
  background: linear-gradient(90deg, rgb(59, 112, 232), rgb(59, 180, 232));
  padding: 1.5rem 6rem;
  transform: skew(0deg, -2deg) !important;
}

.shopping_txt {
  font-size: 2.2rem;
  line-height: 1.65;
  text-align: center;
  font-weight: bold;
  margin-top: 9rem;
}

.shopping_txt>span {
  background: linear-gradient(transparent 60%, #ffa5ba 60%);
}

.insta_wrap {
  position: relative;
  padding: 3.5rem;
  background-color: #fff;
  border: solid 3px #7f7fff;
  border-radius: 2rem;
  margin-bottom: 6rem;
}

.insta_wrap>img {
  display: block;
  margin: 0 auto;
  width: 55%;
  margin-top: 2rem;
}

.reserve_about_box {
  padding: 2rem;
  border: double 3px #f76f90;
  border-radius: 1rem;
  margin: 2rem 0;
}

.reserve_about_box>p {
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: .1rem;
  font-weight: normal;
}

.reserve_about_box>p>span {
  position: relative;
  padding-left: 1.2em;
  line-height: 1.4;
}

.reserve_about_box>p>span:before {
  font-family: "Font Awesome 5 Free";
  content: "\f058";
  font-weight: 900;
  position: absolute;
  font-size: 1em;
  left: 0;
  top: 0;
  color: #fb3968;
  font-weight: 900;
}

.reserve_about_box>a {
  display: block;
  text-align: right;
}

.reserve_wrap>h3 {
  padding-bottom: 10px;
  font-size: 2.2rem;
  margin-top: 4rem;
  font-weight: bold;
  letter-spacing: .1rem;
  background-image: repeating-linear-gradient(90deg, #f76f90 0, #f76f90 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center bottom;
}

.reserve_table {
  width: 100%;
  font-weight: normal;
  background-color: #fff;
  margin: 1.5rem 0 0;
}

.reserve_table>tbody>tr>th, .reserve_table>tbody>tr>td {
  font-weight: normal;
  font-size: 1.6rem;
  line-height: 1.75;
  padding: 1rem 2rem;
  border-bottom: solid 4px #fff;
  vertical-align: middle;
}

.reserve_table>tbody>tr>th {
  background-color: #f76f90;
  color: #fff;
  width: 8em;
  vertical-align: middle;
  text-align: center;
}

.reserve_table>tbody>tr>td {
  background-color: #feecf0;
}

.reserve_attention_txt {
  font-weight: normal;
  text-align: right;
  margin: 1.5rem 0;
  font-size: 1.6rem;
  letter-spacing: .1rem;
  line-height: 1.75;
}

.goods_txt {
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.75;
}

.attention_lead {
  background-color: #666;
  color: #fff;
  text-align: center;
  display: block;
  width: 40%;
  margin: 5rem auto 2rem;
  border-radius: 0.4rem;
  padding: 0.8rem;
  letter-spacing: .2rem;
}

.attention_txt {
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.75;
}

.btn_lottery {
  text-align: right;
}

.btn_lottery a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  max-width: 360px;
  width: 100%;
  height: 50px;
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: .2rem;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  margin: 1.5rem auto 0;
}

.btn_lottery a:hover {
  color: #f76f90;
}

.btn_lottery a span {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #f39800;
  border: 1px solid transparent;
  z-index: 2;
}

.btn_lottery a::before {
  content: '';
  position: absolute;
  bottom: -5px;
  right: -5px;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(-45deg, #ffb438, #ffb438 3px, transparent 0, transparent 6px);
  z-index: 1;
}

.btn_lottery a:hover span {
  background-color: #ffb438;
  border: 1px solid #ffb438;
}

.btn_detail {
  text-align: right;
}

.btn_detail a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  max-width: 360px;
  width: 100%;
  height: 50px;
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: .2rem;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  margin: 1.5rem auto 0;
}

.btn_detail a:hover {
  color: #ffe109;
}

.btn_detail a span {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #fb3968;
  border: 1px solid transparent;
  z-index: 2;
}

.btn_detail a::before {
  content: '';
  position: absolute;
  bottom: -5px;
  right: -5px;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(-45deg, #f76f90, #f76f90 3px, transparent 0, transparent 6px);
  z-index: 1;
}

.btn_detail a:hover span {
  background-color: #f76f90;
  border: 1px solid #f76f90;
}

.btn_detail span img {
  width: 30px;
  height: 30px;
  margin-right: .6em;
}

.shopping_wrap>h3 {
  padding-bottom: 10px;
  font-size: 2.2rem;
  margin-top: 4rem;
  font-weight: bold;
  letter-spacing: .1rem;
  background-image: repeating-linear-gradient(90deg, #3bb4e8 0, #3bb4e8 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center bottom;
}

.shopping_table {
  width: 100%;
  font-weight: normal;
  background-color: #fff;
  margin: 3rem 0 0;
}

.shopping_table>tbody>tr>th, .shopping_table>tbody>tr>td {
  font-weight: normal;
  font-size: 1.6rem;
  line-height: 1.75;
  padding: 1rem 2rem;
  border-bottom: solid 4px #fff;
  vertical-align: middle;
}

.shopping_table>tbody>tr>th {
  background-color: #3bb4e8;
  color: #fff;
  width: 10em;
  vertical-align: middle;
  text-align: center;
}

.shopping_table>tbody>tr>td {
  background-color: #f1f9fd;
}

.insta_h2 {
  position: absolute;
  top: -1.8em;
  left: 1em;
  font-size: 2.8rem;
  line-height: inherit;
  font-weight: bold;
  letter-spacing: .1rem;
  color: #fff;
  background: linear-gradient(90deg, rgb(70, 70, 194), rgb(127, 127, 255));
  padding: 1.5rem 6rem;
  transform: skew(0deg, -2deg) !important;
}

.insta_wrap p.insta_lead {
  font-size: 2.2rem;
  line-height: 1.65;
  text-align: center;
  font-weight: bold;
  margin-top: 4rem;
}

.insta_lead>span {
  font-size: 2.8rem;
  color: #163b86;
  background: linear-gradient(transparent 60%, #9dd2eb 60%);
}

.insta_h3 {
  text-align: center;
  border-bottom: solid 5px #7f7fff;
  font-size: 2.8rem;
  margin-top: 8rem;
  font-weight: bold;
  letter-spacing: 1rem;
  line-height: 4.8rem;
}

.insta_h3>span {
  background-color: #fff;
  padding: 1.2rem 8rem 1rem;
  border-top: solid 5pt #7f7fff;
  border-left: solid 2px #7f7fff;
  border-right: solid 2px #7f7fff;
  border-bottom: solid 2px #fff;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  font-weight: bold;
}

.insta_step_txt {
  text-align: center;
  margin: 3rem auto;
  font-size: 2rem;
  letter-spacing: .1rem;
}

.insta_box {
  background: url(/img/bp/anniversary50th/arrow.webp);
  background-position: center;
  background-repeat: no-repeat
}

.insta_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 3rem 0 0;
}

.insta_list>li {
  width: calc((100% - 40px) / 2);
  border: solid 6px #7f7fff;
  padding: 2rem;
  border-radius: 1rem;
  background-color: #f6f6f6;
}

.heading {
  font-size: 2.2rem;
  text-align: center;
  margin-bottom: 2rem;
  border-bottom: dashed 1px #ccc;
  padding-bottom: 1rem;
}

.heading>span {
  display: block;
  color: #7f7fff;
  font-size: 1.8rem;
}

.insta_list>li>p {
  font-weight: normal;
  font-size: 1.6rem;
  line-height: 1.75;
}

.insta_list>li>p>a>span {
  font-size: 1.8rem;
  color: #7f7fff;
  font-weight: bold;
}

.insta_list>li>a>img,
.insta_list>li>img {
  margin: 1rem auto 1.5rem;
  display: block;
  width: 70%;
}

.insta01_h3 {
  padding-bottom: 10px;
  font-size: 2.2rem;
  margin-top: 4rem;
  font-weight: bold;
  letter-spacing: .1rem;
  background-image: repeating-linear-gradient(90deg, #7f7fff 0, #7f7fff 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center bottom;
}

.insta_table {
  width: 100%;
  font-weight: normal;
  background-color: #fff;
  margin: 3rem 0 0;
}

.insta_table>tbody>tr>th,
.insta_table>tbody>tr>td {
  font-weight: normal;
  font-size: 1.6rem;
  line-height: 1.75;
  padding: 1rem 2rem;
  border-bottom: solid 4px #fff;
}

.insta_table>tbody>tr>th {
  background-color: #7f7fff;
  color: #fff;
  vertical-align: middle;
  width: 10em;
  text-align: center;
}

.insta_table>tbody>tr>td {
  background-color: #f4f4ff;
  vertical-align: middle;
}

.insta_wrap p {
  font-weight: normal;
  line-height: 1.75;
  font-size: 1.6rem;
}

p.insta_theme {
  font-weight: bold;
  font-size: 2.6rem;
  text-align: center;
  margin: 3rem auto 5rem;
  letter-spacing: .1rem;
}

.insta_btnbox {
  border-top: solid 1px #eee;
  padding: 3rem 0 1rem;
  margin-top: 5rem;
  text-align: center;
}

.insta_btnbox>a {
  display: block;
  padding: 1.8rem 3rem;
  max-width: 500px;
  width: 100%;
  margin: 0 auto;
  border-radius: 1rem;
  font-size: 2rem;
  letter-spacing: .1rem;
  color: #fff;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
}

.insta_btnbox>a::before {
  content: "";
  display: inline-block;
  width: 2em;
  height: 2em;
  background: url(/img/bp/anniversary50th/icon_insta.webp) no-repeat;
  background-size: contain;
  margin-right: 1em;
  vertical-align: middle;
}

.insta_btnbox>a:hover {
  text-decoration: none;
  opacity: .6;
}

.red_txt {
  color: #fe144d;
}

.insta_h2>br {
  display: none;
}

.item_position {
  display: contents;
}

.lottery_wrap {
  position: relative;
  padding: 3.5rem;
  background-color: #fff;
  border-radius: 2rem;
  margin-bottom: 6rem;
}

.lottery_title {
  margin: 0 auto;
}

.lottery_inner {
  border-radius: 3px;
  color: #f9416d;
  font-size: 9rem;
  letter-spacing: 0;
  line-height: 1.2;
  padding: 3px 0;
  text-shadow: 2px 2px 0 #fff, 5px 5px 0 #dfe8f1;
  text-align: center;
}

.lottery_inner .green {
  color: #06d9a5;
}

.lottery_inner .red {
  color: #06d9a5;
}

.lottery_inner .last {
  letter-spacing: 10px;
}

.lottery_inner strong {
  display: block;
  color: #333;
  font-size: 3rem;
  letter-spacing: 2px;
  margin: 5rem 0;
}

.lottery_table {
  width: 100%;
  background-color: #fff;
  margin: 3rem 0 0;
}

.lottery_table>tbody>tr>th,
.lottery_table>tbody>tr>td {
  font-weight: normal;
  font-size: 1.6rem;
  line-height: 1.75;
  padding: 1rem 2rem;
  border-bottom: solid 4px #fff;
  vertical-align: middle;
}

.lottery_table>tbody>tr>th {
  background-color: #32B1E7;
  color: #fff;
  width: 10em;
  vertical-align: middle;
  text-align: center;
}

.lottery_table>tbody>tr>td {
  background-color: #f1f9fd;
}

.lottery_joken>li {
  list-style-type: disc;
  line-height: 1.8em;
  margin-left: 1rem;
  margin-bottom: 0.5rem;
}

.lottery_yoyaku>li {
  list-style-type: decimal;
  line-height: 2em;
  margin-left: 1rem;
}

/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}

.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}

/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
  transform: translateX(-30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
}

.scroll_left.on {
  opacity: 1.0;
  filter: alpha(opacity=100);
  -moz-opacity: 1.0;
  transform: translateX(0);
}

/*----------------------------
scroll_right ｜右から出現
----------------------------*/
.scroll_right {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
  transform: translateX(30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
}

.scroll_right.on {
  opacity: 1.0;
  filter: alpha(opacity=100);
  -moz-opacity: 1.0;
  transform: translateX(0);
}

.js-box {
  display: none;
}

@media screen and (max-width: 1200px) {

  .detail_h2,
  .reserve_h2,
  .shopping_h2 {
    font-size: 2.4rem;
    padding: 1.5rem 2rem;
  }

  .detail_h2>span, .reserve_h2>span, .insta_h2>span, .shopping_h2>span {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 992px) {
  .lead_inner>h2 {
    font-size: 3.2rem;
  }

  .lead_inner>p {
    font-size: 1.6rem;
  }

  .campaign_box>.campaign_item>p {
    font-size: 1.6rem;
  }

  .campaign_box>.campaign_item {
    width: calc((100% - 40px) / 3);
  }

  .tour_box>.tour_item_row4 {
    width: 49% !important;
  }

  .detail_h2,
  .reserve_h2,
  .insta_h2,
  .shopping_h2 {
    font-size: 2rem;
    left: -2rem;
    top: -5rem;
    padding: 1.5rem 2rem;
  }

  .detail_h2>span, .reserve_h2>span, .insta_h2>span, .shopping_h2>span {
    font-size: 2rem;
  }

  .detail_course_01, .detail_course_02 {
    font-size: 3.6rem;
  }

  .detail_course_01>span, .detail_course_02>span {
    font-size: 1.8rem;
  }

  .detail_course_01::before {
    left: 30%;
  }

  .detail_course_01::after {
    right: 30%;
  }

  .detail_course_02::before {
    left: 20%;
  }

  .detail_course_02::after {
    right: 20%;
  }

  .detail_txt {
    font-size: 2rem;
  }

  .reserve_wrap>img {
    width: 100%;
  }

  .insta_wrap p.insta_lead {
    font-size: 2rem;
    margin-top: 5.5rem;
  }

  .insta_lead>span {
    font-size: 2.4rem;
  }

  .insta_h2>br {
    display: block;
  }

  .insta_wrap>img {
    width: 100%;
  }

  .tour_item_row2 {
    width: 49% !important;
    margin: .5%;
  }

  .tour_box_row2 {
    padding: 0;
  }

  .lottery_inner {
    font-size: 7rem;
  }
}

@media screen and (max-width: 768px) {
  .h1_title {
    font-size: 18px;
    margin: 1.3rem 0 1rem 0.5rem;
  }

  .mv>img {
    height: 20rem;
    object-fit: cover;
    margin: 0;
  }

  .lead_inner {
    width: 95%;
    margin: 2em auto 0;
  }

  .lead_inner>h2 {
    font-size: 2.6rem;
  }

  .lead_inner>p {
    font-size: 1.5rem;
    text-align: left;
    padding: 0 1.5rem;
  }

  .lead_wrap {
    margin: -3rem auto 4rem;
  }

  .campaign_wrap>.container>h2>img {
    width: 100px;
    height: auto;
  }

  .campaign_wrap {
    padding: 2.5rem 0 0;
    margin-bottom: 3rem;
  }

  .campaign_box {
    margin-bottom: 3rem;
  }

  .campaign_box>.campaign_item {
    width: 100%;
  }

  .campaign_box>.campaign_item>img {
    width: 70%;
    margin: 0 15%;
  }

  .campaign_box>.campaign_item>p {
    font-size: 1.8rem;
  }

  .detail_wrap {
    padding: 1.5rem;
    margin: 0 0 3rem;
    border: none;
  }

  .detail_wrap>h3 {
    font-size: 1.8rem;
  }

  .detail_h2 {
    top: -3.5rem;
    left: 0;
    font-size: 1.8rem;
    padding: 1.5rem 1.5rem 1.5rem 2rem;
    letter-spacing: 0;
  }

  .lead_inner>h2::after {
    transform: scale(1, 2);
    margin-top: 1.5rem;
  }

  .detail_h2>span, .reserve_h2>span, .insta_h2>span, .shopping_h2>span {
    font-size: 1.7rem;
    margin-right: .5em;
    margin-left: 0;
  }

  .detail_course_01::before {
    left: 25%;
  }

  .detail_course_01::after {
    right: 25%;
  }

  .detail_course_01, .detail_course_02 {
    font-size: 3rem;
    margin-top: 4rem;
  }

  .detail_course_01>span, .detail_course_02>span {
    font-size: 1.6rem;
  }

  .detail_txt {
    font-size: 1.8rem;
    text-align: left;
    margin-top: 7rem;
  }

  .detail_img>li>img {
    width: 100%;
    margin: 0 0 1rem;
  }

  .detail_table>tbody>tr>th, .detail_table>tbody>tr>td {
    font-size: 1.5rem;
  }

  .caution_box {
    padding: 2rem 0;
  }

  .caution_list>li {
    font-size: 1.4rem;
    margin-left: 1.5em;
  }

  .detail_course_02::before {
    left: 10%;
  }

  .detail_course_02::after {
    right: 10%;
  }

  .reserve_h2 {
    top: -3.5rem;
    left: 0;
    font-size: 1.8rem;
    padding: 1.5rem 1.5rem 1.5rem 2rem;
    letter-spacing: 0;
  }

  .reserve_txt {
    font-size: 1.6rem;
    text-align: left;
    margin-top: 7.5rem;
    padding: 0 1rem;
  }

  .reserve_wrap>img {
    width: 80%;
    margin-top: 6rem;
  }

  .shopping_wrap>div>img {
    width: 90%;
    margin: 6.5rem auto 0;
  }

  .reserve_wrap {
    padding: 1.5rem 1.5rem 2.5rem;
    margin: 0 0 5rem;
    border: none;
  }

  .reserve_about_box>p {
    font-size: 1.5rem;
  }

  .btn_detail a {
    font-size: 1.6rem;
  }

  .reserve_wrap>h3 {
    font-size: 1.8rem;
  }

  p.reserve_attention_txt {
    font-size: 1.4rem !important;
    line-height: 1.55;
    text-align: left;
    margin: 1rem 0 3rem;
  }

  .shopping_h2 {
    top: -3.5rem;
    left: 0;
    font-size: 1.8rem;
    padding: 1.5rem 1.5rem 1.5rem 2rem;
    letter-spacing: 0;
  }

  .shopping_wrap {
    padding: 1.5rem 1.5rem 2.5rem;
    margin: 0 0 3rem;
    border: none;
  }

  .shopping_wrap p.shopping_lead {
    font-size: 1.6rem;
    text-align: left;
    font-weight: normal;
    margin-top: 7.5rem;
    padding: 0 1rem;
  }

  .insta_h2 {
    top: -3.5rem;
    left: 0;
    font-size: 1.8rem;
    padding: 1.5rem 1.5rem 1.5rem 2rem;
    letter-spacing: 0;
  }

  .insta_wrap {
    padding: 1.5rem 1.5rem 2.5rem;
    margin: 0 0 3rem;
    border: none;
  }

  .insta_wrap>img {
    width: 80%;
    margin-top: 6rem;
  }

  .insta_wrap p.insta_lead {
    font-size: 1.6rem;
    text-align: left;
    font-weight: normal;
    margin-top: 7.5rem;
    padding: 0 1rem;
  }

  .insta_lead>span {
    font-size: 2rem;
  }

  .insta_h3 {
    font-size: 2rem;
    margin-top: 4rem;
    letter-spacing: .1rem;
    line-height: 3.2rem;
  }

  .insta_h3>span {
    padding: 1rem 4rem .8rem;
  }

  .insta_list>li {
    width: 100%;
    margin-bottom: 1rem;
  }

  .insta_wrap {
    padding: 1.5rem 1.5rem 2.5rem;
    margin: 0 0 3rem;
    border: none;
  }

  .insta_wrap p.insta_lead {
    font-size: 1.6rem;
    text-align: left;
    font-weight: normal;
    margin-top: 7.5rem;
    padding: 0 1rem;
  }

  .insta_lead>span {
    font-size: 2rem;
  }

  .insta_h3 {
    font-size: 2rem;
    margin-top: 4rem;
    letter-spacing: .1rem;
    line-height: 3.2rem;
  }

  .insta_h3>span {
    padding: 1rem 4rem .8rem;
  }

  .insta_list>li {
    width: 100%;
    margin-bottom: 1rem;
  }

  .attention_txt {
    font-size: 1.4rem;
    border: solid 1px #ddd;
    padding: 1.5rem;
  }

  .reserve_table>tbody>tr>th, .reserve_table>tbody>tr>td {
    font-size: 1.5rem;
  }

  .goods_txt {
    font-size: 1.5rem;
  }

  .heading {
    font-size: 1.8rem;
  }

  .heading>span {
    font-size: 1.6rem;
  }

  .shopping_table>tbody>tr>th, .shopping_table>tbody>tr>td {
    font-size: 1.5rem;
  }

  .shopping_table>tbody>tr>th {
    width: 8em;
    vertical-align: middle;
    line-height: 1.3;
  }

  .insta_list>li>p {
    font-size: 1.5rem;
    text-align: center;
  }

  .insta_box {
    background: none;
  }

  .insta_table>tbody>tr>th, .insta_table>tbody>tr>td {
    font-size: 1.5rem;
  }

  .insta_table>tbody>tr>th {
    width: 8em;
    vertical-align: middle;
  }

  .insta01_h3 {
    font-size: 1.8rem;
  }

  .insta_btnbox {
    margin-top: 1.5rem;
    border-top: none;
  }

  .insta_btnbox>a {
    padding: 2rem 1rem;
    font-size: 1.6rem;
  }

  .insta_btnbox>a::before {
    margin-right: .5em;
  }

  .insta_wrap p {
    font-size: 1.5rem;
  }

  p.insta_theme {
    font-size: 2rem;
  }

  .caution_list {
    font-size: 1.4rem;
    border: solid 1px #ddd;
    padding: 1.8rem 1.5rem 1.5rem;
  }

  .insta_list>li>a>img,
  .insta_list>li>img {
    width: 80%;
  }

  .insta_h2>br {
    display: none;
  }

  .detail_table>tbody>tr>th {
    width: 7em;
  }

  .btn_hotel a {
    letter-spacing: 0;
    font-size: 1.6rem;
  }

  .tour_box>.tour_item_row4,
  .tour_item_row2 {
    width: 98% !important;
    margin: 1% !important;
  }

  .btn_box .btn, .droponly .btn {
    font-size: 1.6rem;
  }

  .heading br {
    display: none;
  }

  .lottery_wrap {
    padding: 1.5rem;
    margin: 0 0 3rem;
  }

  .lottery_inner {
    font-size: 4rem;
  }

  .lottery_inner strong {
    font-size: 2rem;
    margin: 3rem 0;
  }
}