@charset "utf-8";

/* tss_footer------------------------------------------*/

.tss_footer{
    width:100%;
    padding:1em 0;
    margin:80px 0 0;
    text-align:center;
    background-color:#d9f1fb !important;
}

.tss_footer a{
    color:#006699;
    text-decoration:none;
}


/*-----------------------------------------*/

#contents{
  display:block;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  border: 1px solid #B8DBEF;
}

.promotion img{
  width:100%;
  height:auto;
}

.promotion h2::before{
content:"";
display:block;
width:100%;
aspect-ratio:45 / 4;
margin:16px 0;
padding:0 ;
background-image:url(../img/promotion_title_bg.jpg);
background-repeat:no-repeat;
background-size:100% auto;
background-position:left center;
}

.promotion h2{
line-height: 2;
padding:1em;
font-size:1.375em;
font-weight:bold;
color:#930;
}

.epd_mainimg{
  width:80%;
  max-width:680px;
  margin:0 auto;
}

.epd_caption{
  margin:1em 4vw 0;
  padding:1em 1em 0.875em;
  color:#e35500;
  line-height:1.5;
  font-size:1.25em;
  font-weight:bold;
}

.epd_date{
  margin:0 4vw;
  font-size:0.875;
  text-align:right;
  color:#666;
  padding: 0.5em 1em;
}

.epd_info{
  margin:1em 4vw;
  border:dotted 2px #930;
  background-color:#fff9d3;
  padding:1em;
}

.epd_contents{
  display:block;
  clear:both;
  background-color:#fff;
  overflow:hidden;
  padding:0.5em;
  margin-bottom:1em;
}
.epd_contents::before, .epd_contents::after{
content: "";
display: block;
clear: both;
}

.epd_contents h3{
background-color:#792d00;
color:#fff;
font-size:1.125em;
line-height:1.35;
font-weight:bold;
text-shadow:0 0 4px rgba(0, 0, 0, 0.2);
padding:0.5em 0.5em 0.375em 0.5em; 
}

.epd_img{
  float:right;
  width:40%;
  margin:1vw 0 1vw 1em;
  padding:0;
}

.epd_imgbox{
  margin:0 0 1vw;
}

.epd_img img{
 border:solid 1px #792d00;
}

.epd_img figcaption{
  color:#792d00;
  font-size:0.875em;
  padding:0.5em;
  margin:0 0 1em ;
}

.epd_contents p{
  padding:1em 0.5em;
  line-height:1.6;
  background-color:rgba(255,255,255,0.8);
}

.epd_back a{
  display:block;
  width:fit-content;
  margin:1em auto;
  color:#792d00;
}


@media screen and (max-width:800px){
.promotion h2{
  padding:0;
  font-size:calc(100vw / 20);
}

.promotion h2 p{
  padding:0 1em;
  line-height:1.35;
}

.epd_info{
margin:1em 2vw;
padding:2vw;
}

.epd_caption{
  font-size:calc(100vw / 22);
}

.epd_contents{
  font-size:calc(100vw / 26);
}

.epd_img{
  width:100%;
  float:none;
  margin:1vw 0 ;
}


  #tss_gototop{
    bottom:100px;
  }
}