@charset "utf-8";
.tcm_body{
  font-family: "メイリオ", Meiryo, Osaka, "sans-serif";;
}
#tcm_head{
  background-color: #E62C22;
  backface-visibility:hidden;
  overflow:hidden;
}
.tcm_body img{
  width:100%;
  height: auto;
  backface-visibility:hidden;
}
.tss_footer{
  background-color: #E62C22!important;
}


h2.tcm_h2 {
  max-width: clamp(112px,20vw,168px);
  margin: 0 auto;
  margin-bottom: clamp(6px,1vw,14px);
}
h2.tcm_h2-ver2 {
  max-width: 852px;
  margin: 0 auto;
  margin-bottom: 14px;
  position: relative;
  z-index: 2;
}
h2.tcm_h2-ver3{
  max-width: clamp(164px,25vw,246px);
  margin: 0 auto;
  margin-bottom: 14px;
  position: relative;
  z-index: 2;
}
span.tcm_pcbr {
  display: block;
}


.tcm_top{
  background-image: url(../img/bg_top.svg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  margin-bottom: 40px;
  position: relative;
}
.tcm_top::before {
  position: absolute;
  display: inline-block;
  content: '';
  background-image: url(../img/deco_sensuleft.svg);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -40px;
  left: 0;
  width: clamp(166px,17vw,332px);
  height: clamp(195px,24vw,390px);
  z-index: 0;
}
.tcm_top::after {
  position: absolute;
  display: inline-block;
  content: '';
  background-image: url(../img/deco_sensuright.svg);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -40px;
  right: 0;
  width: clamp(166px,17vw,332px);
  height: clamp(195px,24vw,390px);
  z-index: 0;
}
.tcm_topblock{
  position: relative;
}
.tcm_topblock::before {
  position: absolute;
  display: inline-block;
  content: '';
  background-image: url(../img/deco_somoke-sensu.svg);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 142px;
  left: 0;
  width: clamp(180px,14vw,360px);
  height: clamp(100px,8vw,200px);
  z-index: 1;
}
.tcm_topblock::after {
  position: absolute;
  display: inline-block;
  content: '';
  background-image: url(../img/deco_somoke-sensu.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transform: scaleX(-1);
  bottom: 142px;
  right: 0;
  width: clamp(180px,14vw,360px);
  height: clamp(100px,8vw,200px);
  z-index: 1;
}
.tcm_h1wrap{
  position: relative;
}
.tcm_h1wrap::before {
  position: absolute;
  display: inline-block;
  content: '';
  background-image: url(../img/deco_topleft.svg);
  background-repeat: no-repeat;
  background-size: contain;
  top: 8px;
  left: 0;
  width: clamp(240px,25vw,480px);
  height: clamp(133px,15vw,266px);
  z-index: 0;
}
.tcm_h1wrap::after {
  position: absolute;
  display: inline-block;
  content: '';
  background-image: url(../img/deco_topleft.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transform: rotate(180deg);
  top: 113px;
  right: 0;
  width: clamp(240px,25vw,480px);
  height: clamp(133px,15vw,266px);
  z-index: 0;
}
h1.tcm_h1 {
  max-width: 960px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.tcm_toptxt01 {
  max-width: 592px;
  margin: 0 auto;
  margin-bottom: 18px;
}
.tcm_toptxt02 p {
  font-size: clamp(0.875rem,2.2vw,1.125rem);
  line-height: calc(30 / 18);
  font-weight: bold;
  text-align: center;
  margin-bottom: 16px;
}
.tcm_price {
  max-width: 640px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.tcm_middle{
position: relative;
z-index: 5;
}
.tcm_videowrap{
  padding: 0 16px;
  background-image: url(../img/bg_video.svg);
  background-repeat: no-repeat;
  background-position: center bottom 56px;
  background-size: cover;
  margin-top: 56px;
  margin-bottom: -56px;
  position: relative;
}
.tcm_videowrap::before {
  position: absolute;
  display: inline-block;
  content: '';
  background-image: url(../img/deco_midle.svg);
  background-repeat: no-repeat;
  background-size: contain;
  top: 8px;
  left: 0;
  width: clamp(240px,25vw,480px);
  height: clamp(133px,15vw,266px);
  z-index: 0;
  animation: move 2s linear infinite;
}
.tcm_videowrap::after {
  position: absolute;
  display: inline-block;
  content: '';
  background-image: url(../img/deco_midle.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transform: scaleX(-1);
  bottom: 8px;
  right: 0;
  width: clamp(240px,25vw,480px);
  height: clamp(133px,15vw,266px);
  animation: move-r 2s linear infinite;
}
@keyframes move{
  0%{transform: translateX(-5px);}
  25%{transform: translateX(-10px);}
  75%{transform: translateX(0px);}
  100%{transform: translateX(-5px);}
}
@keyframes move-r{
  0%{transform: scaleX(-1) translateX(-5px);}
  25%{transform: scaleX(-1) translateX(-10px);}
  75%{transform: scaleX(-1) translateX(0px);}
  100%{transform: scaleX(-1) translateX(-5px);}
}
.tcm_videowrap ul{
  max-width: 1360px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(8px,1vw,20px);
  justify-content: center;
}
.tcm_videowrap ul li{
  width: clamp(158px,30vw,440px);
  aspect-ratio: 16/9;
  border: 1px solid #887101;
  background-color: #FFFFFF;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}
.tcm_videowrap ul li img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.tcm_btm{
  background-image: url(../img/bg_bottom.svg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  padding-top: 112px;
  padding-bottom: 40px;
  position: relative;
}
.tcm_btm::before {
  position: absolute;
  display: inline-block;
  content: '';
  background-image: url(../img/deco_sensuleft.svg);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 100px;
  left: 0;
  width: clamp(166px,17vw,332px);
  height: clamp(195px,24vw,390px);
  z-index: 0;
}
.tcm_btm::after {
  position: absolute;
  display: inline-block;
  content: '';
  background-image: url(../img/deco_sensuright.svg);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 100px;
  right: 0;
  width: clamp(166px,17vw,332px);
  height: clamp(195px,24vw,390px);
  z-index: 0;
}
.tcm_formblock{
  padding: 0 16px;
  margin-bottom: clamp(32px,10vw,72px);
  position: relative;
  z-index: 1;
}
.tcm_formblock::before{
  position: absolute;
  display: inline-block;
  content: '';
  background-image: url(../img/deco_somoke-sensu.svg);
  background-repeat: no-repeat;
  background-size: contain;
  top: 16px;
  left: 0;
  width: clamp(180px,14vw,360px);
  height: clamp(100px,8vw,200px);
  z-index: 1;
}
.tcm_formblock::after {
  position: absolute;
  display: inline-block;
  content: '';
  background-image: url(../img/deco_somoke-sensu.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transform: scaleX(-1);
  top: 16px;
  right: 0;
  width: clamp(180px,14vw,360px);
  height: clamp(100px,8vw,200px);
  z-index: 1;
}
.tcm_btmtxt01 p{
  font-size: clamp(0.875rem,2.2vw,1.125rem);
  line-height: calc(30 / 18);
  font-weight: bold;
  text-align: center;
  margin-bottom: 16px;
}
.tcm_btnform {
  max-width: 600px;
  margin: 0 auto;
}
.tcm_btnform a{
  display: block;
  transition: transform 0.1s ease;
}
.tcm_tvprogramwrap {
  max-width: 390px;
  width: 75%;
  margin: 0 auto;
}

.tcm_video{
  max-width: 760px;
  margin: 0 auto;
  top: -32px;
}




@media screen and (min-width: 769px) {
  a.tcm_bgred:hover {
      background-color: #E62C22;
  }
  #tcm_head h1 a:hover {
      color: #E62C22;
  }

  .tcm_btnform a:hover{
    transform: translateY(2px);
  }
}
@media screen and (max-width: 768px){ 
  span.tcm_pcbr {
      display: inline;
  }


  .tcm_top {
      background-image: url(../img/bg_top_sp.svg);
      background-size: contain;
  }
  .tcm_top::before,
  .tcm_top::after{
      content: none;
  }
  .tcm_topblock{
      padding: 0 16px;
  }
  .tcm_topblock::before,
  .tcm_topblock::after{
      content: none;
  }
  .tcm_h1wrap::before,
  .tcm_h1wrap::after{
      content: none;
  }
  .tcm_toptxt02 p {
      font-weight: normal;
      text-align: left
  }


  .tcm_videowrap{
    padding: 24px 16px;
    background-image: url(../img/bg_video_sp.svg);
    background-position: center bottom 0;
    margin-top: 0;
    margin-bottom: 0;
  }
  .tcm_videowrap::before,
  .tcm_videowrap::after{
    content: none;
  }
  .tcm_video{
    top: 0;
    position: relative;
    z-index: 0;
  }
  .tcm_videowrap ul{
    margin-top: 24px;
  }
  .tcm_videowrap ul li{
      width: calc((100% - 8px)/2);
  }


  h2.tcm_h2-ver2 {
      max-width: clamp(264px,60vw,520px);
  }
  .tcm_btm{
    padding-top: clamp(24px,6vw,48px);
  }
  .tcm_btm::before,
  .tcm_btm::after{
      content: none;
  }
  .tcm_formblock::before,
  .tcm_formblock::after{
      content: none;
  }
  .tcm_btmtxt01 p {
      font-weight: normal;
      text-align: left
  }

} 