@charset "utf-8";
#header_inc_3 header .logo a {
 width: 140px!important;
}
.objects {
 display: none !important;
}
body {
 background: #000;
}
.totop,
.backtop {
 display: none!important;
}
/* ==========================================================================
流用パーツ
========================================================================== */
.contents.main {
   font-size: 16px;
}
.contents {
 width: 90%;
 max-width: 1000px;
 margin: auto;
}

/*contents*/
#wrapper {
 color: #fff;
 font-family: yugothic,Noto Sans JP,sans-serif;
}
.outer {
 background: url("../images/bg_all.png") no-repeat center/130%;
 background-position: center top;
 background-attachment: fixed;
}
.font {
 font-family: yugothic,Noto Sans JP,sans-serif;
}
#fv {
 padding: 30px 0;
background: url("../images/bg_title.webp") no-repeat center/1500px ,linear-gradient(to right, #fc8e3d 0%, #ff0576 100%);
 text-align: center;
}
.fv {

}
#fv h1 {
 font-size: 34px;
 font-weight: bold;
 line-height: 140%;
}
.entry_titlebox {
 padding: 15px 0;
 background: url(../images/bg_title.webp) no-repeat center / 1500px, linear-gradient(to right, #fc8e3d 0%, #ff0576 100%);
 text-align: center;
 font-size: min(4.6vw,20px);
 font-weight: bold;
 border-radius: 5px;
}
#info {
 margin-top: 30px;
 text-align: center;
 font-size: 22px;
 line-height: 140%;
}
.info {
 margin-top: 50px;
}
.info.mt {
 margin-top: 20px;
}
.line_title,
.info dt {
  display: flex;
 margin-bottom: 15px;
  align-items: center;
}
.info dt.url_title {
 display: block;
}
.info dt.url_title span {
 font-size: 20px;
}
#entry,#entry02 {
 margin-top: 20px;
 border-radius: 10px;
 padding: 1.5em;
 background: rgba(255,255,255,.2);
}
.line_title span,
.info dt span {
  color: #fc8e3d;
  background: linear-gradient(to right, #fc8e3d 0%, #ff0576 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;;
 font-weight: bold;
 font-size: 25px;
 letter-spacing: 2px;
 line-height: 100%;
}
.info dt:nth-of-type(n+2) {
 margin-top: 40px;
}
.line_title::before,
.line_title::after,
.info dt::before,
.info dt::after {
  content: '';
  flex-grow: 1;/* 余白を分け与える */
  height: 3px;
  background: #ff903c ;
}
.line_title::after,
.info dt::after {
  background: #ff0576  ;
}
.info dd {
 font-size: 17px;
}
.info dd .lh {
 line-height: 160%;
}
.info dd p + p {
 margin-top: 10px;
}
.info dd .img {
 margin: 20px auto 0;
 max-width: 700px;
 border: 4px solid #2a2a2a;
}
.price_wrap {
 display: -webkit-flex;
 display: flex;
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
 gap:0 2%;
 margin-top: 30px;
}
.price_wrap .price {
 font-size: 17px;
 margin-bottom: 7px;
 padding-left: 10px;
 padding-bottom: 2px;
 border-left: 5px solid #ff903c;
}
.price_link a {
 color: #ff0576;
 font-weight: 100;
 font-size: 14px;
}
.price_wrap > li {
 width: 48%;
 margin-bottom: 15px;
}
#apply {
 margin: 50px auto 0;
 width: 910px;
}
.apply_caption {
 margin-top: 30px;
 margin-bottom: 50px;
 font-size: 13px;
 font-weight: normal;
 background: rgba(255,255,255,.1);
 padding: 2em;
}
.apply_caption> li {
 margin-top: 5px;
}
.apply_btn_lead {
 margin-top: 30px;
 color: #016099;
 font-size: 18px;
 font-weight: bold;
 text-align: center;
}
.flex {
 display: -webkit-flex;
 display: flex;
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
 
}
.flex {
margin-top: 30px;
 margin-bottom: 60px;
} .bottom_sns.sns p {
  display: inline-block;
 }
 .bottom_sns.sns p:first-of-type {
  margin-left: 0px;
 }
 .bottom_sns {
  text-align: center;
  padding-bottom: 50px;
 }
 .bottom_sns.sns a {
  position: relative;
  width: 48px;
  margin-right: 10px;
  display: inline-block;
  text-align: center;
   transition: .5s;
 }
/* ==========================================================================
btn
========================================================================== */
.btn a {
   margin: 20px auto 0;
   display: block;
   background: linear-gradient(to right, #ff903c 0%,#ff4b59 50%,#ff0576 100%);;
   color: #fff;
   font-size: 18px;
   text-align: center;
   max-width: 340px;
   width: 100%;
   height: 48px;
   display: flex;
   align-items: center;
   justify-content: center;
   text-decoration: none;
   border-radius: 100px;
   padding-left: 10px;
   box-sizing: border-box;
}
.btn a span.blank {
   display: block;
   background-image: url("../images/ic_blank.webp");
   background-size: 100% 100%;
   width: 25px;
   height: 25px;
   margin-left: 10px;
}

@media print,
screen and (min-width: 813px) {
.flex > li {
 width: 32%;
 margin-right: 2%;
}
 .flex > li:nth-of-type(3n) {
  margin-right: 0;
 }
 .contents.main {
  padding-bottom: 60px;
 }
}



@media only screen and (max-width: 812px) {
 #header_inc_3 .objects .mc0,#header_inc_3 .objects .mc1 {
  display: none!important;
 }
 #header_inc_3 header .logo a {
 width: 90px!important;
}
 .outer {
  background: none;
 }
  #wrapper::before {
}
 #fv {
  margin-top: 7px;
  padding-top: 35px;
  width: 100%;
 }
 #fv h1  {
 font-size: min(5.5vw,25px);
 }
 #apply {
 width: 90%;
 margin: 20px auto 0;
 }
 .info {
  margin-top: 30px;
 }
 .info dt span {
  font-size: 20px;
 }
 .info dd {
  font-size: 14px;
 }
 .contents_ttl  {
  font-size: 4.5vw;
  padding: 0.5em 0.4em 0.5em;
 }
 .apply_btn_lead {
  font-size: 3.8vw;
 }
 .apply_btn {
  width: 100%;
  margin-top: 30px;
  font-size: 18px
 }
 .apply_btn_date {
  margin-top: 3vw;
  font-size: 14px;
 }
 #info {
  margin-top: 20px;
 }
 #info .info_inner .info_date {
  font-size: 20px;
 }
 #info .info_inner .info_caption {
  margin-top: 0;
  font-size: 14px;
  line-height: 150%;
 }
 #info .info_inner h2::before {
  width: 50%;
 }
 .apply_caption {
  margin-top: 15px;
  padding: 1.5em;
  font-size: 12px;
  font-weight: normal;
 }
 .apply_caption> li {
  margin-top: 6px;
  line-height: 120%;
 }
 .appdl {
  display: none !important;
 }
 .objects.sp {
  display: block!important;
 }
 .btn a {
  margin-top: 15px;
  font-size: 16px;
 }
 .btn a span.blank {
  width: 20px;
  height: 20px;
 }
 #entry {
  padding: 1.5em 1em;
 }
 .info dt.url_title span {
  font-size: 16px;
 }
 .entry_titlebox {
  padding: 15px 0;
 }
 .info.mt {
  margin-top: 15px;
 }
 .price_wrap {
  -webkit-flex-direction: column;
  flex-direction: column;
 }
 .price_wrap > li {
  width: 100%;
  margin-bottom: 15px;
 }
 .price_link a {
  font-size: min(3.2vw,13px);
 }
 .price_wrap .price {
  margin-bottom: 2px;
  font-size: 14px;
 }
 .info dt.url_title {
  margin-bottom: 5px;
 }
}