@charset "UTF-8";

article * { box-sizing: border-box; }
article img { max-width: 100%; height: auto;
  vertical-align: bottom;/* 画像下のスペースを消す */ }
.link-txt { text-decoration: underline; }

/************************************************/
.mainArea { width: 100%; margin-bottom: 3rem; background: #ffe3e5; position: relative; }

/************************************************/
.camBlock { padding: 1rem 5% 2rem; }
.camBlock .end-txt { font-size: 1.3rem; font-weight: bold; text-align: center; color: #EF3232; }
/*.camBlock .periodBox { width: 80%; margin: 0 auto; background: #fff; border: 1px dotted #005983; padding: 1rem; }*/
.camBlock .periodBox .cam-txt { text-align: center; line-height: 1.2; }
.camBlock .periodBox .cam-txt span { display: block; margin-bottom: 0.5rem; font-weight: bold; }
/*.camBlock .periodBox .camNote { font-size: 0.8rem; }*/

/************************************************/
.mainBlock { line-height: 1.2; padding: 0 5% 3rem; }

/************************************************/
.sectionTitle { position: relative; padding-bottom: 1rem; margin-bottom: 1rem; text-align: center; font-size: 1.7rem; font-weight: bold; color: #e32642; }
.sectionTitle:before { content: ''; position: absolute; display: inline-block; bottom: 0; width: 5rem; height: 0.3rem; left: 50%;
  -webkit-transform: translateX(-50%); transform: translateX(-50%); background-color: #e32642; border-radius: 1rem; }

/************************************************/
.titleBox { background: #fff; border-radius: 1rem; padding: 1rem; }
.boxTitle { text-align: center; color: #e32642; font-size: 1.3rem; line-height: 1.2; font-weight: bold; margin-bottom: 2rem; }
.titleDetail { display: flex; }
.titleDetail .thum { flex: 0 0 30%; }
.titleDetail .info { flex: 1 1 auto; margin-left: 1rem; }
.saleMark { margin-bottom: 1rem; }
.saleMark span { display: inline-block; background: #EF3232; color: #fff; font-size: 1.1rem; padding: 0.2rem 0.5rem; margin: 0 0.5rem 0.5rem 0; }
.titleName { margin-bottom: 0.5rem; font-size: 1.7rem; font-weight: bold; text-decoration: underline; line-height: 1.2; }
.authorName { margin-bottom: 0.5rem; font-size: 1.2rem; text-decoration: underline; line-height: 1.2; }
.btnBox { margin-top: 2rem; }
.btnBox a { display: block; border: 1px solid #c7c7c7; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.16); border-radius: 4rem;
    font-size: 1.2rem; font-weight: bold; padding: 1rem; }
.btnBox a:hover {opacity: .8; }

/************************************************/
.storyBlock { margin-bottom: 3rem; padding: 5rem 5%; 
    background-color: #fff1f2; 
    background-image: url(../images/separator-top.png),url(../images/separator-buttom.png);
	background-repeat: repeat-x, no-repeat;
	background-position: top, bottom; }
.storyBlock .img { text-align: center; margin-bottom: 2rem; }
.storyBlock .img.heart { width: 30%; margin: 1rem auto 3rem; }
.storyBlock .text { text-align: center;  font-size: 2rem; font-weight: bold; color: #e32642; line-height: 1.2; margin: 1rem auto 3rem; }
@media (max-width: 480px ){
    .storyBlock .text { font-size: 1.5rem; }
}

/**
 * ***************************************
 * 応募規約
 * ***************************************
 */
.entry-agreement { padding: 0 1rem 3rem; }
.entry-agreement table { width: 100%; border-collapse: collapse; }
.entry-agreement th { background: #FFFDD3; }
.entry-agreement th, td { padding: 0.5rem; text-align: left; border: 1px solid #c7c7c7; line-height: 1.2; }
.entry-agreement table a { text-decoration: underline; }
.txt-red { color: #EF3232; }


