@charset "UTF-8";

.pc_size{display: none;}
.sp_size{display: block;}

.floatL>*{
	float: inherit;
}

h1{
	font-size:18px;
	padding:30px 0 0;
}

.fs-s{font-size: .7em;}
.emp_txt{background: none;}

.btn-pagetop { cursor: pointer; position: fixed; z-index: 1000; right: 15px; bottom: 3%; display: none; }
.btn-pagetop img { width: 44px; }

/***** HEADER *****/
.header-bar { 
	box-sizing: border-box;
  line-height: 0;
}
.header-bar img {
	width:75%;
	padding:10px;
}

/***** container *****/
.content-item_L{ margin-top: 50px; }
.content-item_M{ margin-top: 40px; }
.content-item_sp_30{
  margin-top: 30px;
}

/***** TOP *****/
#top_img .top_sp{
	background: url("../images/top_sp.png") center center no-repeat;
	background-size:100%;
  padding-top: 118.6%;
  max-width:100%;
}


.period{
  padding: 0;
  margin-top: -1px;
  background: #22b8d5;
}

/***** ボタン *****/
.btn-area02 .btn_ttl{
  font-size: 20px;
  margin-bottom: 0;
}
.btn-area02 ul.btn li{
	display: inline-block;
	width:100%;
	max-width: 360px;
	letter-spacing: normal;
	margin: 15px auto 30px;
}
.btn-area02 ul.btn li:first-child{
	margin: 15px 0 0 0;
}

/***** campaign *****/
.campaign{
  padding-top: 40px;
  padding-bottom: 40px;/*クローズ時追加*/
}
.campaign_box_inner{
  padding: 22px 10px;
}
.campaign_product{
  padding-top: 15px;
  margin-top: 15px;
}
.moreTxt{
	text-align: center;
  margin-top: 20px;
}
.moreTxt_btn{
  font-weight: bold;
	padding: 5px 0 3px 35px;
	display: inline-block;
	background: url(../images/more_open.png) left center no-repeat;
	background-size: 30px;
}
.moreTxt_btn.switch_btn_open{
	background: url(../images/more_close.png) left center no-repeat;
	background-size: 30px;
  margin-bottom: 20px;
}
.moreTxt > *{
  text-align: left;
}
.close{
	display: none;
}

/***** HOKEN *****/
.hoken .tit2{
	width:100%;
	position: inherit;
}
.point{
	padding:40px 0;
}
.hoken p{
	font-size:16px;
	margin:40px 0 0 ;
}
.hoken p.lh{
	line-height: 2.2em;
	margin: 40px 0 0;
}
.hoken .sub-p{
  margin-top: 5px;
  font-size: .7em;
}
.hoken p span{
	border-bottom: solid #FFF 3px;
	padding-bottom: 2px;
}

ul.hoken_banner {
	text-align: center;
	letter-spacing: -0.4em;
}
ul.hoken_banner li{
	width: 100%;
	max-width: 400px;
	margin: 20px 0 0 0;
}
ul.hoken_banner li:first-child{
	margin: 20px 0 0 0;
}

/***** RULE *****/
.rule{
	margin:40px auto 0;
}
.rule .text_box{
	border-radius: 10px;
	padding:20px ;
	margin:0 0 30px;
	font-size: 12px;
	line-height: 1.7em;
}
.rule .title{
	font-size:18px;
	padding:10px;
	box-sizing: border-box;
	top: -100%;
	width:120px;
	height:45px;
}

/***** footer *****/
footer div.copy{
	padding:8px 0;
	font-size: 12px;
}