.bg-page-wrapper {
  padding: 30px 0 0;
  background: url('./images/bg.jpg');
  background-size: cover;
  background-attachment: fixed;
  overflow:hidden; /* スライドやpositionで全体枠からはみ出る画像を隠す */
}
.container {
  padding: 1.4rem 0 3rem;
}
.container-wide {
  padding:5rem 0;
}
.h2-wrapper {
  max-width:1200px;
  margin:30px auto 0;
  color: #FFF;
}
h2.title{           /* ① 大タイトルカラー*/
  font-size:2em;
  font-weight:bold;
  color:#f00;
}
h2.title_after {
  margin-top:3rem;
  font-weight:bold;
  font-size:1.5em;
  color:#FC0000;
}
.title_after_sub {
  margin:0;
  font-weight:bold;
  font-size:1.3em;
}
h2.about,h3.about{  /* ② 小項目カラー*/
  background:#f00;
  color:white;
  margin:0px;
  font-size:1.7em;
  padding:15px 0;
}
h2.aboutjoin{
  color:red;font-size:2.5em;font-weight:bold;margin:20px 0;
}
.period{font-size:1.3em;font-weight:bold;margin:0;}

p.present{
  font-size:2em;
  line-height:2em;
  margin:0 auto;
}
p.wchance{
  font-size:1.3em;
  line-height:1.7em;
}
p.dot{
  border-top:2px dotted gray;
  padding:20px 0;
}
.live_day{
  color:red;
  font-weight:bold;
  font-size:clamp(1.5em,3vw,2em);
}
h2.sup,h3.sup{
  color:red;
  font-size:2.5em;
  font-weight:bold;
  margin:30px 0 0;
}
.bg-page {
  padding: 1.4rem 0;
}
.bg-wrapper {
  margin-top: 1.4rem;
  padding: 0;
  color: #2e2e2e;
}
.bg-red {
  color: #FFF;
  background: #e60012;
}
.bg-pink {
  color: #2e2e2e;
  background:rgba(255,255,255, 0.65);
}
.bg-white {
  max-width:1200px;
  margin:0 auto;
  padding: 0;
  background:rgba(255, 255, 255, 0.8);
  overflow: hidden;
}
.content-wrapper .af-d-flex {
  align-items: flex-start;
}
.head_txt{
  color:white;
  font-size:1.4rem;
  padding:0 0 10px;
}
.head_txt:last-child{padding:0;}

.radius_box{
  background:rgba(255, 255, 255, 1);
  border-radius:10px;
  max-width:900px;
  padding:0 0 1em;
  overflow: hidden;
  margin:2em auto 3em;
  width:90%;
  box-shadow:5px 5px 5px gray;
}
.about_text{
  font-weight:bold;
  line-height:2em;
  padding:30px 30px;
}

.link_img{
  height:auto;
  margin:3px 0;
  width:100%;
  max-width:130px;
}
.buy_question{
  color:red;
  font-weight:bold;
  margin:50px 0 0;
}
.buy_example{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  margin:0 auto;
}
.buy_example>img{width:auto;max-height:130px;}
.buy_txt{
  display:flex;
  align-items:center;
}
.buy_answer{
  display: inline-block;
  font-weight:bold;
  font-size: 1.8rem;
  margin:0.5rem!important;
  text-align:center;
}
.buy_equal{
  display:block;
  font-weight:bold;
  font-size: 1.5rem;
  margin:0!important;
  width:50px;
  text-align:center;
}
.buy_shita{
  display:none;
  font-weight:bold;
  font-size: 1.5rem;
  margin:0.5rem!important;
  text-align:center;
}
.buy_caution{
  border:2px solid #e60012;
  border-radius:5px;
  font-weight:bold;
  margin:1em auto;
  max-width:900px;
  text-align:left;
  width:90%;
}
.change_caution{
  border:red solid 2px;
  border-radius:10px;
  color:red;
  margin:50px auto 0;
  max-width:650px;
  padding:20px;
}
.change_caution h3{
  margin:0 0 10px;padding:0;
}
.number_box_name{
  color:red;
  font-size:clamp(1.7em,3vw,2.5em);
  font-weight:bold;
  margin:2em 0 0.5em;
  text-align:center;
}
.number_box{
  background:yellow;
  border:1px solid #666;
  font-size:clamp(2em,3vw,4em);
  font-weight:bold;
  margin:0 auto;
  padding:0.8em 1em 0.7em;
  text-align:center;
  width:300px;
}
.last_txt{
  background-color:#FC0000;
  text-align:center;
  padding:50px 20px;
}

p {
  margin:0;
  padding:0;
}
a {
  color: #FFF;
}
a.underline {
  text-decoration: underline;
}
a:hover {
  text-decoration: none;
}
a:hover > img {
  opacity: 0.7;
}
a .btn, a.btn {
  padding: 15px;
  color: #FFF;
  font-weight: bold;
  border-radius: 50px;
  background: #E60012;
  text-decoration: none;
}
a:hover .btn, a:hover.btn {
  opacity: 0.7;
}

.header-text-youtube {
  margin: 20px;
  padding: 40px 20px;
  font-size: 1.3em;
  font-weight: bold;
  background: #FFF;
  border: 3px solid  #161f9e;
  border-radius: 10px;
}
.header-text-youtube a {
  color: #161f9e;
  font-weight: bold;
}

.contents-linkbtn{
  margin-top:30px;
}
.contents-linkbtn{
  font-size:1em;
  line-height:1.2em;
}

.red_info {
  background:white;
  border:red solid 5px;
  border-radius:10px;
  color:red;
  font-weight:bold;
  font-size:2em;
  margin:1em auto 0.8em;
  text-align:center;
  padding:0.8em;
  width:400px;
}

h3.info{
  margin-bottom:3rem 0 0;
  font-weight:bold;
  font-size:1.7em;
}


.workslist{margin:20px 0 30px;}
.workslist a{
/*  background-color:#2EA7E0; */
  border:double 3px white;
  border-radius:10px;
  color:white;
  display:block;
  font-weight:bold;
  margin:0 0 8px;
  padding:5px 0 5px 20px;
  text-align:left;
  letter-spacing: 0.2em;
  width:100%;
}
.workslist a::before {
  content: '・';
  display: inline-block;
  vertical-align: middle;
}
.workslist a:hover {
  background-color:pink!important;
  color:crimson;
}

/* ----------------Original Animation----------------- */

.fuwari {animation: fuwari 3s ease-in-out 0s infinite alternate;}
 @keyframes fuwari {  /* 上下にふわふわ漂う */
  0% {   transform:translateY(10px);}
  50% {  transform:translateY(-10px);}
  100% { transform:translateY(10px);}
  }
.mobile {animation: runrun 3s ease-in-out 0s infinite alternate, mobile 0.15s ease-in-out 0s infinite alternate;}
 @keyframes runrun {  /* スキーモービル動作 微振動しながら前後移動 */
  0%{    right:0%;}
  100%{  right:5%;}
  }
 @keyframes mobile {
  0% {   transform:translateY(1px);}
  50% {  transform:translateY(-1px);}
  100% { transform:translateY(1px);}
  }
.yurara {animation: yurara 4s ease-in-out 1s infinite alternate;}
@keyframes yurara {   /* 左右に微回転 */
  0% {   transform:rotate(20deg);}
  50% {  transform:rotate(-10deg);}
  100% { transform:rotate(20deg);}
  }
.boyoyon {animation: boyoyon 3s ease-in-out 0s infinite alternate;}
@keyframes boyoyon {   /* 拡大縮小を小さく繰り返す */
  0% {   transform:scale(1.0);}
  50% {  transform:scale(0.9);}
  100% { transform:scale(1.0);}
  }
.biyo-n {animation: biyo-n 2s ease-in-out 0s infinite alternate;}
@keyframes biyo-n {      /* 縦に小さく伸縮 */
  0% {   transform:scaleY(1.0);}
  50% {  transform:scaleY(0.9);}
  100% { transform:scaleY(1.0);}
  }

.reflection{
display:inline-block;
position:relative;
overflow:hidden;
} 
.reflection:after {
content:"";
height:100%;
width:30px;
position:absolute;
top:-100px;
left:0;
background-color: #fff;
opacity:0;
transform: rotate(45deg);
animation: reflection 2s ease-in-out infinite;
}
@keyframes reflection {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { transform: scale(4) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}

/* -------------------------------------- */

.posi_rel{position:relative; }
hr {
  margin-top: 2em;
  margin-bottom: 2em;
  border: 0;
  border-bottom: 3px solid #FFF;
}
.text-center {text-align: center;}

#app {margin: 0 auto;}
.text-orage {color: #ea5514;}

.cat01{
  position:absolute;
  top:-120px;
  right:40px;
  width:180px;
}
.cat02{
  position:absolute;
  bottom:80px;
  left:100px;
  width:17%;
}
.cat03{
  position:absolute;
  bottom:20px;
  right:40px;
  width:180px;
}
.cat04{
  margin:0 0 20px;
  position:absolute;
  top:20px;
  left:40px;
  z-index:10;
}
.cat05{
  position:absolute;
  bottom:30px;
  left:50px;
  width:180px;
}


@media screen and (max-width: 1080px) {
  .cat01{width:120px;width:clamp(120px,15%,200px);top:-30px;right:30px;}
  .cat02{width:120px;top:50%;right:20px;left:inherit;z-index:1000;}
  .cat03{width:clamp(120px,20%,180px);bottom:15%;right:20px;}
  .cat04{width:calc(120px + 5%);top:40px;left:20px;}
  .cat05{width:120px;top:55%;right:20px;left:inherit;}
  .img-no {display:none;}
}
  .sp_none{display:block;}
  .pc_none{display:none;}

@media screen and (max-width:680px){
  .sp_none{display:none;}
  .pc_none{display:block;}
  .cat04{display:none;}
  .bg-page-wrapper{padding:0;}
  .red_info {font-size:1.5em;line-height:1.2em; margin:.5em auto 1em;padding:0.5em;width:90%;}
  h2.title{font-size:calc(1em + 2vw); padding:0 5%;}
  h2.sup{font-size:calc(1em + 2.5vw);}
  .period{font-size:1em;}
  h2.aboutjoin{font-size:1.5em;margin:20px 0 0;}
}

@media screen and (max-width:480px){
  .cat01{width:80px;top:80%;right:5%;}
  .cat02{width:80px;top:40%;right:20px;}
  .cat03{display:none;}
  .cat05{width:100px;}
  .number_box{font-size:2em;padding:0.5em;width:90%;}

  .dn480{display:none;}
  h2.title_after {font-size:calc(1em + 1vw);}
  .title_after_sub {font-size:calc(0.9em + 0.5vw);}
  h2.aboutjoin{font-size:calc(1em + 1vw);}
  h3.info{font-size:1.2em;}
  h2.about,h3.about{padding:10px;font-size:calc(.8em + 2vw);}
  p.present{font-size:1.3em;line-height:1.4em;}
  p.wchance{font-size:1em;line-height:1.2em;}
  h2.sup{font-size:calc(0.8em + 2vw);}
  .head_txt{font-size:1.2rem;line-height:1.4em;}
  .about_text{font-weight:normal;line-height:1.5em;text-align:left;padding:20px 20px;}
  .buy_txt{display:block;}.buy_equal{display:none;}.buy_shita{display:block;}.buy_answer{font-size:1.5rem;}
  .buy_caution{font-weight:normal;}
  a .btn, a.btn {
    padding:10px;
    border-radius: 15px;
    line-height:1.2em;
  }
  .boyoyon {animation: boyoyon 2s ease-in-out 0s infinite alternate;}
  @keyframes boyoyon {
    0% {   transform:scale(1.1);}
    50% {  transform:scale(0.9);}
    100% { transform:scale(1.1);}
    }
}
@media screen and (max-width:300px){
  .cat01,.cat02,.cat03,.cat05{display:none;}
  .workslist a{letter-spacing:0em;text-align:center; padding:3px 5px;font-size:0.9em;}
  .workslist a::before {display:none;}
  .red_info {background:red;border:none;color:white;font-size:1.2em;margin:.5em auto 1em;width:100%;}
}

