@charset "utf-8";

/*-- 共通上書き --*/
.tss_footer{
    background-color:#00366b !important;
}


.cmp_ft_l{
  font-size: 1.25em;
  font-weight: bold;
}


.cmp_ft_s{
  font-size: 0.875em;
  font-weight: nomal;
}

.cmp_wrap{
  font-size: 16px;
  font-size: clamp(14px, 1.5vw, 20px);
  background: #c00000;
  background: -moz-linear-gradient(top,  #c00000 0%, #ffe2a7 100%);
  background: -webkit-linear-gradient(top,  #c00000 0%,#ffe2a7 100%);
  background: linear-gradient(to bottom,  #c00000 0%,#ffe2a7 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c00000', endColorstr='#ffe2a7',GradientType=0 );
  background-image: url("../img/bg.png"),linear-gradient(#c00000 0%, #ffe2a7 100%);
  background-position: center center;
  background-repeat: repeat-y,no-repeat;
  padding-bottom: 3em;
}

.cmp_wrap img{
  max-width: 100%;
  height: auto;
}

.cmp_head h1{
  width:100%;
  max-width: 1480px;
  margin: 0 auto;
}

.cmp_head h1 img{
  display:block;
  width:100%;
}


.cmp_catch{
  margin: 0 auto 40px;
}
.cmp_catch > p{
  width:80%;
  max-width: 1080px;
  margin: -4em auto 0;
  padding: 0 0.5em;
  line-height: 1.5;
  font-size: 1em;
  text-align: center;
  color: #fff;
  text-shadow: 0px 2px 0px #000;
}

.cmp_catch > div{
 width:30%;
}

.cmp_dtl{
  width:90%;
  max-width: 1000px;
  background: linear-gradient(180deg, transparent 0%, transparent 16%, #FFFFFF 16%, #FFFFFF 100%);
  margin: 0 auto;
}
.cmp_movie iframe{
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  max-width: 840px;
  display: block;
  margin: 0 auto 3em;
  border: coral solid 3px;
}
.cmp_dtl h2{
  text-align: center;
  margin-bottom:1em;
}
.cmp_h2bg{
  background-image: url("../img/mark.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #00366C;
}

.cmp_linkbox{
  display: flex;
  justify-content: space-around;
  position: relative;
  width: 120%;
  margin: 0 auto 0 -10%;
}

.cmp_linkbox > a{
  display: block;
  width: 31.5%;
  max-width: 400px;
}
.cmp_linkbox > a img{
  transition: transform 0.3s 0.1s;
}

.cmp_dtl > p{
  width: 80%;
  margin: 1em auto 40px;
  line-height: 1.7;
  font-size: 1.125em;
  font-weight: bold;
  text-align: center;
}
.cmp_dtl p a{
  position: relative;
  color: #C10000;
  display: inline-block;
  white-space: nowrap;
  text-decoration: none;
}
.cmp_dtl p a::after{
  content: "";
  position: absolute;
  width: calc(100% - 2em);
  height: 2px;
  background-color: #C10000;
  bottom:2px;
  left:0;
  right:0;
  margin: auto;
  transition: width 0.3s 0.1s;
}

.cmp_dtl p span{
  display: inline-block;
  white-space: nowrap;
}

.cmp_present{
  width:80%;
  max-width: 1200px;
  padding: 0 24px;
  text-align: center;
  margin: 0 auto;
}
.cmp_present h3{
    margin: 0 auto 24px;
}
.cmp_present p{
  margin-bottom: 8px;
  color:#C00000;
}
.cmp_present p img{width: 100%;}

.cmp_present p:last-of-type{
  text-align: center;
  margin:0 auto;
  line-height:1.6;
}

.cmp_present p:last-of-type span{
  display: inline-block;
}

/*-- プレゼント情報追加 --*/
p.cmp_presenttxt{
  font-size:2rem;
  font-weight:bold;
  color:#00366c;
}
.cmp_presentbtm h3{
  max-width: 800px;
  margin: 0 auto clamp(4px,1vw,16px);
}
.cmp_presentbtm h3 img{width: 100%;}

.cmp_presentbtm ul{
  display:flex;
  width:100%;
  justify-content:space-between;
  align-items: stretch;
}
.cmp_presentbtm ul li{
  width:49%;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  align-content: space-between;
  background-color: #ffdd49;
}
.cmp_presentbtm li div:first-of-type{
  width: 100%;
  font-size: 1rem;
  font-weight: bold;
  color: #00366c;
  border-radius:4px;
  margin: 8px 0;
  padding: clamp(4px,1vw,8px);
  line-height: 1.4;
}

.cmp_presentbtm li div:last-of-type{
  overflow: hidden;
  aspect-ratio: 16/9;
  width: 100%;
}

.cmp_presentbtm li div:last-of-type img{
object-fit: cover;
max-width: none;
width: 100%;
height: 100%;
}



.cmp_oubo{
  width: 80%;
  max-width: 1200px;
  margin: auto;
  padding: 20px 0 80px;
}
.cmp_oubo h3{
  padding: 16px 0;
  font-size: 1.25em;
  font-weight: bold;
  color: #00366b;
  text-align: center;
  border-top: 6px dotted #00366C;
}

.cmp_notes > div:first-of-type{
  background-color: #00366C;
  color:#fff;
  width:100%;
  padding: 1em;
  margin: 0 auto;
  }

.cmp_notes > div:first-of-type > p{
  max-width:1000px;
  margin: 0 auto;
  padding-left: 16px;
}

.cmp_notes dl{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  max-width:1000px;
  margin: 0 auto 8px;
  font-weight: bold;
  line-height:1.6;
  padding-left: 16px;
}
.cmp_notes dt{
  color: #FFDC48;
  width:5em;
  padding: 0;
  margin: 0;
}
.cmp_notes dd{
  width: calc(100% - 5em);
  padding: 0;
  margin: 0;

}
.cmp_notes > div:last-of-type{
   width:100%;
   margin-bottom: 1em;
}
.cmp_notes > div > p{
  width: 100%;
  text-align: left;
}

.cmp_notes >  div:last-of-type > p{
  color: #00366C;
  text-align: center;
  padding: 8px;
  margin: 8px auto;
  font-size: 1rem;
}

.cmp_notes > div p{font-weight: normal;font-size: 0.875rem}

.cmp_notes > div:last-of-type > p::before,.cmp_notes > div:last-of-type > p::after{
  content: "◆";
}

.cmp_notes div ul{
  margin: 0 !important;
  padding: 32px !important;
  line-height:1.5;
  background-color: #E6E6E6;
}

.cmp_notes div li{
  position: relative;
  list-style: none;
  font-size: 0.875rem;
  padding-bottom: 4px;
  padding-left: 1.5em;
}
.cmp_notes div li::before{
  content: "※";
  display: block;
  position: absolute;
  top:0;
  bottom: 0;
  left: 0;
}

.cmp_notes p span{
  display: inline-block;
  white-space: nowrap;
}
 .cmp_scbr{display: none;}

#tss_gototop{
    position: fixed;
    width:60px;
    height:60px;
    bottom:40px;
    right:40px;
    border-radius: 30px;
    text-align: center;
    overflow: hidden;
}

#tss_gototop a{
    display: block;
    width:100%;
    height:100%;
    background-color:#c00000;
    text-align: center;
    color:#fff;
    text-decoration: none;
    font-weight: bold;
    font-size: 30px;
    padding:14px 0;
}


@media screen and (min-width:820px){
  .cmp_linkbox {
    width: 110%;
    margin: 0 auto 0 -5%;
  }
}
@media screen and (min-width:801px){
  .cmp_linkbox > a:hover img{transform: scale(1.25, 1.25);}
  .cmp_dtl p a:hover::after{width: 0px;}
  .cmp_bnr a:hover{opacity: 0.7;}
}


/*-- スマホ用 --*/

@media screen and (max-width:800px){
.cmp_wrap{padding-bottom:64px;}
.cmp_catch{
  width: 100%;
  margin: 4% auto;
  background-size: 180% auto;
  background-position:center center;
  }
  .cmp_catch > p{
    width:100%;
    line-height: 1.5;
    padding: 0 16px;
    margin: -4em auto 0;
    font-size: 3vw;
  }

  .cmp_catch > p span br{
    display: none;
  }
  .cmp_scbr{
    display: inline-block;
  }
  .cmp_movie{
  padding: 16px;
}
  
  .cmp_dtl h2 {
    width: 50%;
    margin: auto;
  }
  
  
  .cmp_dtl{
    width: 100%;
    margin:0 auto;
    padding: 0 8px 32px;
  }
  .cmp_linkbox{
   width:100%;
    margin: 0 auto 16px;
  }

  .cmp_linkbox > a{
    width:33%;
  }
  
  .cmp_dtl {
    background: linear-gradient(180deg, transparent 0%, transparent 2%, #FFFFFF 2%, #FFFFFF 100%);
}
  
  .cmp_dtl p{
    font-size: 1em;
    transform: none;
    margin-bottom: 1em;
  }
  .cmp_dtl p a{
    display: inline-block;
    font-size: 1.125em;
  }
  .cmp_dtl p span{
  display: inline;
  white-space:normal;
}
  
  .cmp_h2bg {margin-bottom: 2em;}
  .cmp_present{
    width: 100%;
    padding: 0;
  }
  .cmp_present h2 img{width: 100%;}
  .cmp_present p{text-align: left;}
  .cmp_present p:last-of-type{
    text-align: left;  
    padding: 0 16px;
  }
  
  /*-- プレゼント情報追加 --*/
  p.cmp_presenttxt{
    font-size:1.5rem;
  }
  .cmp_presentbtm li div:first-of-type{
    font-size:clamp(0.875rem,calc(96vw / 30),1.125rem);
  }
  
  .cmp_oubo{width: 90%;padding-top: 0;}
  .cmp_notes>div{padding: 0;}
  .cmp_notes dl{padding-left: 0;}
  .cmp_notes dt{width:100%;}
  .cmp_notes dd{width: 100%;}
  .cmp_notes dd:first-of-type{margin-bottom: 8px;}
  .cmp_notes dd span{display: block;}
  .cmp_notes div ul{padding: 16px!important;}
  .cmp_notes div li{font-size: 0.75rem;}
  .cmp_notes > div:first-of-type{margin-bottom: 16px;}
  .cmp_notes > div:last-of-type > p{
    text-align: left;
    padding:0;
    margin:0 auto 0.75em;
    line-height:1.5;
    font-size: 0.875rem;
  }

.cmp_notes > div:last-of-type > p::after{content: "";}
.cmp_bnr{width:90%;}

#tss_gototop{
  bottom:96px;
  right:0px;}

}

/* chrome opera */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
    body img{
        image-rendering: -webkit-optimize-contrast;
    }
}
