@charset "UTF-8";
*{
	box-sizing: border-box;
}

html {
  font-size: 75px;
}
.pc_none{
	display: none;
}
body {
	/*　基本のフォントサイズは.16rem */
	font-size: 0.12rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	line-height: 1.5;
	color: #111111;
  }
  
  a {
	transition: 1.5s;
  }
  
  a:hover {
	opacity: 0.25;
  }
  
  p,
  li {
	font-size: 0.16rem;
	margin: 0;
  }
  
  img {
	max-width: 100%;
	height: auto;
  }

main{
	background: #fffde8 url(../../img/main_bg.png);
	background-size: 100%;
	background-attachment: fixed;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center top;
	overflow: hidden;
}

.contents {
    width: 75%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    box-shadow: 0px 50px 50px rgba(0,0,0,0.7);
    background: #fff;
    max-width: 100%;
    overflow: hidden;
}

.contents .kv{
	background: #fff9b5;
	margin-bottom: 0.5rem;
	position: relative;
}

.contents .kv-logo-img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	width: 8rem;
}

.contents .description{

}

.contents .description h2{
	font-size: 0.35rem;
	text-align: center;
	color: #2e6cb5;
	font-weight: 700;
	margin-bottom: 0.15rem;
	line-height: 1.4;
}

.contents .description .notes{
	text-align: center;
	font-size: 0.12rem;
	margin-bottom: 0.5rem;
}

.contents .flow{

}

.contents .flow_tit{
	text-align: center;
	margin: 0 auto 0.55rem;
	width: 5rem;
}

.contents .flow .flow_step{
	text-align: center;
	width: 1.15rem;
	margin: 0 auto 0.24rem;
}

.contents .flow .step{
	margin-bottom: 0.5rem;
}

.contents .flow .step:nth-child( 3 ) {
	margin-bottom: 0.3rem;
}

.contents .flow .step p{
	text-align: center;
	font-size: 0.21rem;
	font-weight: 700;
}

.contents .flow .sns{
	width: 300px;
	margin: 0.2rem auto 0;
}

.contents .flow .hash{
	color: #0798f2;
	margin: 0 0.03rem;
}

.contents .flow .sns_sample{
	width: 6.8rem;
	margin: 0 auto 0.65rem;
	font-size: 0.21rem;
	font-weight: 700;
}

.contents .flow .sns_sample_ex{
	text-align: center;
	margin-top: 0.1rem;
}

.contents .arrow{
	text-align: center;
	margin-bottom: 0.18rem;
}

.contents .fin{
	font-size: 0.5rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 0.75rem;
}

.contents .gift{
	width: 96%;
	border: 5px solid #ff7e00;
	padding: 0.5rem 0.25rem 0.2rem;
	margin: 0 auto 0.6rem;
	text-align: center;
	position: relative;
}

.contents .gift .gift_tit{
    position: absolute;
    top: -0.28rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	height: 0.56rem;
}

.contents .gift p{
	font-size: 0.3rem;
	font-weight: 700;
	color: #ff0000;
}

.contents .gift .p54{
	font-size: 0.54rem;
}

.contents .gift .p36{
	font-size: 0.36rem;
}

.contents .gift .pudding_gray{
	margin: 0.28rem 0 0.03rem;
	text-align: center;
}

.contents .gift .gift_notes{
	font-size: 0.12rem;
	text-align: right;
	color: #111111;
}

.contents .entry{
	background: #fffde8;
	padding: 0.9rem 0 0.6rem;
}

.contents .entry_title {
    text-align: center;
    margin: 0 auto 0.5rem;
    width: 5rem;
}

.contents .entry_inner{
	display: flex;
	width: 96%;
	margin: auto;
	flex-wrap: wrap;
}

.contents .entry_inner .box{
	width: 32%;
	margin-bottom: 0.5rem;
}

.contents .entry_inner .box:nth-child(3n-1){
	margin: 0 2%;
}

.contents .entry_inner .img_box{
	padding-bottom: 0.2rem;
	border-bottom: 5px solid #2e6cb5;
	text-align: center;
}

.contents .entry_inner .tit{
	border-bottom: 5px solid #2e6cb5;
	text-align: center;
	margin-bottom: 0.3rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 0.15rem 0;
}

.contents .entry_inner .hash{
	font-size: 0.19rem;
	color: #2e6cb5;
	font-weight: 700;
}

.contents .entry_inner .vote{
	font-size: 0.17rem;
	font-weight: 500;
}

.contents .entry_inner .text{
	font-size: 0.17rem;
	font-weight: 500;	
}

.summary{
	padding: 0.9rem 0 0.75rem;
}

.summary .summary_title {
    text-align: center;
    margin: 0 auto 0.5rem;
    width: 96%;
}

.summary dl{
	width: 96%;
	margin: auto;
}

.summary dl dt{
	margin-bottom: 0.1rem;
	font-weight: 700;
}

.summary dl dd{
	margin-bottom: 0.1rem;
	font-weight: 500;
	line-height:2.0;
}

.summary ul{
	padding: 0;
	margin: 0;
}

.summary ul li{
	list-style: none;
	text-indent: -0.5em;
	padding-left: 0.5em;
	margin-left: 0.5em;
}

.summary ul li:before {
    content:  "・";
    display:  inline-block;
}

.brand{
	text-align: center;
	margin-bottom: 0.75rem;
}

.brand p{
	font-size: 0.2rem;
	color: #2e6cb5;
	font-weight: 700;
	margin-bottom: 0.2rem;
}

.brand img{

}

footer{
	border-top: 5px solid #2e6cb5;
	padding: 0.45rem 0 0.5rem;
}

footer .privacy{
	color: #808080;
	font-size: 0.16rem;
	text-align: center;
	margin: 0 0 0.5rem 0;
}

footer .privacy a,footer .contact a{
	color: #808080;
}

footer .contact{
	color: #808080;
	font-size: 0.16rem;
	text-align: center;
	margin: 0 0 0.3rem 0;
}

footer .company_wrap{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 0.5rem 0;
}

footer .company_box{
	font-size: 0.18rem;
	color: #808080;
	text-align: center;
	border-right:3px solid #503c00;
	padding: 0.05rem 0.17rem 0.05rem 0;
	margin: 0.08rem 0 0 0;
}

footer .tel_box{
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	justify-content: center;
	padding: 0 0 0.02rem 0.24rem;
}

footer .tel{
	font-size: 0.4rem;
	color: #808080;
	line-height: 1.2;
}

footer .tel .en{
	font-size: 0.3rem;
}

footer .ruby{
	ruby-align:distribute-letter;
}

.ruby01{ruby-align: distribute-letter;}

.ruby01 rt{
	text-align:justify;
	text-align-last:justify;
	font-size: 0.12rem;
}

footer [data-ruby] {
    position: relative;
}
footer [data-ruby]::before {
    content: attr(data-ruby);
    position: absolute;
    top: -1em;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 0.12rem;
	color: #503c00;
}

.tel_box .time{
	font-size: 0.15rem;
	color: #808080;
}

footer .copy{
	font-size: 0.12rem;
	color: #808080;
	text-align: center;
}
