@charset "utf-8"; 

/* ------------------------------
    reset
------------------------------ */

a{
	color:#000;
	text-decoration:none;
}
a:hover {
	text-decoration:none;
} 
html{
	font-size:62.5%;
}
body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: 400;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	text-align: left;
	color: #000;
}
textarea { font-size: 100%; }
img { vertical-align: bottom; }
.bold{ font-weight: bold; }
.blue { color: #00C5F9;}
.mark { background: #ffe50a; }
.container{ overflow: hidden; }

/* ------------------------------
    base
------------------------------ */

body{
	position: relative;
	font-size: 1.0rem;
	min-width: 1320px;
}
p,table,dl,ol,ul li  {
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0.09em;
}

/* ------------------------------
    contents
------------------------------ */

.wrap{
	width: 1025px;
	margin: 0 auto;
}

#header .mv{
	position: relative;
	height: 890px;
	text-align: center;
	background: url("../img/bg_mv.png") center 0 no-repeat;
	box-sizing: border-box;
	padding: 100px 0 0;
	z-index: 2;
}
#header .mv::before,
#header .mv::after{
	content: '';
	position: absolute;
	top: 0;
	width: 50%;
	height: 100%;
	z-index: -1;
}
#header .mv::before{
	left: 0;
	background: url("../img/bg_mv_left.png") right 0 repeat-x;
}
#header .mv::after{
	right: 0;
	background: url("../img/bg_mv_right.png") 0 0 repeat-x;
}
#header .mv .ttl{
	text-align: center;
	padding: 0 9px 0 0;
	margin-bottom: 85px;
}
#header .txt{
	height: 520px;
	background: url("../img/bg_mv_02.png") center center repeat-x;
	text-align: center;
	padding: 100px 0 0;
	margin-top: -24px;
	box-sizing: border-box;
}
#header .txt h1{
	text-align: center;
	margin: 70px 0 0;
}
#opt{
	margin: 50px 0 0;
}
#opt h2{
	text-align: center;
}
#opt .block{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 1040px;
	height: 460px;
	background: url("../img/bg_opt_pc.png") 0 0 no-repeat;
	margin: 20px auto 0;
	padding: 80px 80px 0 50px;
	box-sizing: border-box;
}
#opt .block .icon{
	position: absolute;
	top: -30px;
	right: -30px;
}
#opt .block .price{
	margin: 32px 0 34px;
}
#opt .block .inner{
	width: 410px;
	text-align: center;
}
#opt .block .capacity{
	position: absolute;
	bottom: 45px;
	left: 50px;
	font-size: 1.2rem;
}
.btn{
	width: 410px;
	margin: 0 auto;
}
.btn a{
	position: relative;
	display: block;
}
.btn a::before{
	opacity: 0;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("../img/btn_on_pc.png") 0 0 no-repeat;
	transition: 0.3s;
}
.btn a img{
	opacity: 1;
	transition: 0.3s;
}
.btn a:hover img{
	opacity: 0;
}
.btn a:hover::before{
	opacity: 1;	
}
#osusume{
	background: url("../img/bg_osusume_pc.jpg") center center no-repeat;
	background-size: cover;
	padding: 140px 0;
	margin: 60px 0 0;
}
#osusume h2{
	width: 770px;
	margin: 0 auto 60px;
}
#osusume .block{
	width: 900px;
	background: url("../img/bg_osusume_wh.png") center center no-repeat;
	background-size: cover;
	text-align: center;
	box-shadow: 0 0 6px rgba(0,0,0,0.5);
	margin: 0 auto;
	padding: 35px 0 80px;
}
#balance{
	background: url("../img/bg.jpg") 0 0 repeat;
	text-align: center;
	padding: 100px 0;
}
#balance h2{
	text-align: center;
	margin-bottom: 85px;
}
#balance .block{
	display: flex;
	align-items: center;
	position: relative;
	width: 1320px;
	margin: 0 auto;
	box-sizing: border-box;
}
#balance .block p{
	font-size: 2.0rem;
	font-weight: bold;
	letter-spacing: 0;
	line-height: 2.7;
}
#balance .img01{
	height: 494px;
	padding: 0 0 0 695px;
}
#balance .img01 img{
	position: absolute;
	top: 0;
	left: -75px;
}
#balance .img02{
	height: 354px;
	margin: 20px auto 85px;
	padding: 0 0 0 735px;
}
#balance .img02 img{
	position: absolute;
	top: 0;
	left: 105px;
}
#point{
	width: 1320px;
	padding: 100px 0;
	margin: 0 auto;
}
#point .block+.block{
	margin-top: 80px;
}
#point .block h2{
	margin-bottom: 30px;
}
#point .block p{
	line-height: 2.5;
	font-weight: bold;
	font-size: 2.0rem;
	letter-spacing: 0;
	margin-left: 25px;
}
/*
#point .block p span{
	color: #d2003b;
}
*/
#point .block .top{
	position: relative;
	background: url("../img/bg_point_pc.jpg") 0 0 no-repeat;
	background-size: cover;
	padding: 80px 560px 60px 120px;
}
#point .block .top .icon{
	position: absolute;
	top: 50px;
	left: -50px;
}
#point .block .top .img{
	position: absolute;
	top: 80px;
	right: -60px;
}
#point .block .middle{
	position: relative;
	padding: 80px 0 60px;
}
#point .block.point1 .middle{
	background: url("../img/bg_point_01_pc.png") 0 bottom no-repeat #F4F4F4; 
	background-size: cover;
}
#point .block.point2 .middle{
	background: url("../img/bg_point_02_pc.png") 0 bottom no-repeat #F4F4F4; 
	background-size: cover;
}
#point .block.point3 .middle{
	background: url("../img/bg_point_03_pc.png") 0 bottom no-repeat #F4F4F4; 
	background-size: cover;
}
#point .block .middle h3{
	text-align: center;
	margin-bottom: 50px;
}
#point .block .middle p{
	padding-left: 600px;
}
#point .block .bottom{
	position: relative;
	background: url("../img/bg_point_pc.jpg") 0 0 no-repeat;
	background-size: cover;
	padding: 60px 110px 80px;
}
#point .block .bottom h3{
	text-align: center;
	margin-bottom: -20px;
}
#point .block .bottom ol{
	display: flex;
	justify-content: center;
	background: rgba(213,191,157,0.4);
	border-radius: 110px;
	padding: 40px 0;
}
#point .three{
	text-align: center;
	padding: 100px 0 110px;
}
#point .three picture+picture img{
	margin-top: 50px;
}
#morning{
	position: relative;
	background: url("../img/bg.jpg") 0 0 repeat;
	padding: 0 0 100px;
}
#morning::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 300px;
	background: #fff;
}
#morning .block{
	position: relative;
	width: 1320px;
	text-align: center;
	margin: 0 auto;
}
#morning h2{
	text-align: center;
	margin: 85px 0 80px;
}
#morning ul{
	display: flex;
	justify-content: center;
	margin: 80px 0 0 0;
}
.subsc{
	width: 1130px;
	margin: 0 auto;
	padding: 100px 0 90px;
}
.subsc h2{
	text-align: center;
}
.subsc .block{
	display: flex;
	justify-content: space-between;
}
.subsc .block .txt{
	width: 495px;
	text-align: center;
}
.subsc .block .img{
	padding: 40px 0 0;
}
.subsc .block .img p{
	margin-top: 5px;
}
.subsc .price{
	margin: 20px 0;
}
.subsc p{
	font-size: 1.2rem;
}
.subsc .block .txt p{
	text-align: right;
	font-weight: bold;
	margin: 15px 0 0;
}
.subsc .block p a{
	color: #d00b3f;
	text-decoration: underline;
}
.subsc .block p a:hover{
	text-decoration: none;
}
.subsc .block .btn{
	width: 480px;
}
.subsc .block .btn a::before{
	background:url("../img/btn_02_on_pc.png") 0 0 no-repeat;
}
#recipe{
	position: relative;
	width: 1320px;
	height: 2040px;
	background: url("../img/bg_recipe_pc.png") 0 0 no-repeat;
	margin: 0 auto 80px;
	padding: 90px 0 0;
	box-sizing: border-box;
}
#recipe h2{
	text-align: center;
	margin-bottom: 60px;
}
#recipe .block{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 160px 0 30px;
}
#recipe .block.reverse{
	flex-flow: row-reverse;
	margin: 25px 0;
	padding: 0 30px 0 150px;
}
#recipe .block h3{
	text-align: center;
	margin-bottom: 35px;
}
#recipe p{
	width: 270px;
	font-size: 1.8rem;
	text-align: justify;
	text-justify: inter-ideograph;
	color: #fff;
	font-weight: bold;
	line-height: 1.7;
	margin: 0 auto;
}
#recipe .img{
	position: relative;
	width: 798px;
}
#recipe .recipe01 .icon{
	position: absolute;
	top: 71px;
	right: -40px;
}
#recipe .recipe02 .icon{
	position: absolute;
	bottom: -58px;
	right: 11px;
}
#recipe .recipe03 .icon{
	position: absolute;
	bottom: -35px;
	left: 25px;
}
#recipe .icon01{
	position: absolute;
	top: 840px;
	left: 50px;
}
#recipe .icon02{
	position: absolute;
	bottom: 60px;
	right: 60px;
}
#voice{
	background-image: url("../img/bg_voice_green_left.png"),url("../img/bg_voice_green_right.png"),url("../img/bg_voice.jpg");
	background-position: 0 0, right 0,0 0;
	background-repeat: no-repeat,no-repeat,repeat;
	background-size: auto,auto,auto;
	padding: 40px 0 120px;
	/*margin-bottom: 80px;*/
}
#voice h2{
	text-align: center;
	padding-left: 150px;
	margin-bottom: 40px;
}
#voice ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 1000px;
	margin: 0 auto;
}
#voice ul li{
	width: 480px;
	background: #fff;
	box-shadow: 0 0 15px rgba(0,0,0,0.2);
	padding: 30px 40px;
	box-sizing: border-box;
	margin-top: 40px;
}
#voice ul li:nth-child(-n+2){
	margin-top: 0;
}
#voice ul li .txt{
	font-size: 1.8rem;
	text-align: justify;
	font-weight: bold;
	line-height: 1.6;
	margin: 25px 0 0;
}
#voice ul li .name{
	font-weight: bold;
	border-top: 1px solid #000;
	margin: 1.2em 0 0 0;
	padding: 1.2em 0 0 0;
}
#relation{
	background: url("../img/bg_relation_pc.png") center 0 no-repeat;
	background-size: 100% auto;
	text-align: center;
	padding: 100px 0 0;
}
#relation h2{
	text-align: center;
	margin-bottom: 45px;
}
#relation p{
	text-align: center;
	margin: 75px 0 0;
	padding-left: 140px;
}
#footer{
	box-shadow: 0 5px 15px rgba(0,0,0,0.1) inset;
	text-align: center;
	padding: 70px 0 80px;
}
#footer .logo{
	text-align: center;
}
#footer .logo img{
	width: 120px;
	height: auto;
}
#footer .link{
	width: 200px;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
	margin: 30px auto 0;
}
#footer .link a{
	display: block;
	border-radius: 3em;
	background: #f5f5f5;
	padding: 1em 0;
	transition: 0.3s;
}
#footer .link a:hover{
	color:#333;
	background: #fafafa;
}


@media screen and (min-width : 768px){

	.pc{
		display:block!important;
	}
	.sp{
		display:none!important;
	}
	/*
	.header .gnavi .submenu{
		display: none!important;
	}
	*/
	/*
	a{
		transition: all 0.3s ease;
		text-decoration: none;
	}
	a:hover{
		opacity: 0.7;
	}
	*/
}


@media screen and (max-width : 767px){

	html{ overflow:auto; }
	body{ min-width: inherit;}
	p, table, dl, ol, ul li{ font-size: 3.2vw; text-align: justify;}
	img{ width:100%; height: auto; }
	main{
		display: block;
	}
	.pc{
		display:none!important;
	}
	.sp{
		display: block!important;
	}
	.wrap{
		width: auto;
		max-width: inherit;
		min-width: inherit;
	}
	
	#header .mv{
		height: auto;
		background: url("../img/bg_mv_sp.png") 0 0 no-repeat;
		background-size: 100% auto;
		padding: 0;
	}
	#header .mv::before,
	#header .mv::after{
		content: none;
	}
	#header .mv .ttl{
		padding: 0;
		margin: 0;
	}
	#header .txt{
		height: auto;
		background: url("../img/bg_mv_02_sp.png") 0 0 no-repeat;
		background-size: 100% 100%;
		margin: -3.2vw 0 0 0;
		padding: 5vw 0 3.2vw;
	}
	#header .txt h1{
		margin: 0;
	}
	#opt{
		margin: 0;
	}
	#opt .block{
		display: block;
		width: auto;
		height: auto;
		background: url("../img/bg_opt_sp.png") 0 0 no-repeat;
		background-size: 100% auto;
		margin: 2vw 3vw 0;
		padding: 6vw 5vw 12vw;
	}
	#opt .block .icon{
		width: 20vw;
		height: auto;
		top: -2vw;
		right: -1vw;
	}
	#opt .block .price{
		margin: 4vw 0 5vw;
	}
	#opt .block .inner{
		width: auto;
	}
	#opt .block .capacity{
		display: none;
	}
	.btn{
		width: auto;
		margin: 0 7vw;
	}
	.btn a::before{
		content: none;
	}
	.btn a:hover img{
		opacity: 1;
	}
	#osusume{
		background: url("../img/bg_osusume_sp.jpg") center center no-repeat;
		background-size: cover;
		margin: 5.5vw 0 0;
		padding: 7vw 6vw;
	}
	#osusume .block{
		width: auto;
		padding: 3vw 3vw 10vw;
	}
	#osusume h2{
		width: auto;
		margin-bottom: 8.7vw;
	}
	#balance{
		padding: 7.3vw 0 8.5vw;
	}
	#balance h2{
		margin-bottom: 6vw;
	}
	#balance .block{
		display: block;
		width: auto;
		margin: 0 4vw;
	}
	#balance .block p{
		font-size: 3.9vw;
		line-height: 1.8;
		padding: 0 2.5vw;
	}
	#balance .img01 img,
	#balance .img02 img{
		position: relative;
		top: auto;
		left: auto;
		margin-bottom: 2vw;
	}
	#balance .img01{
		height: auto;
		padding: 0;
	}
	#balance .img02{
		height: auto;
		margin-top: 4vw;
		margin-bottom: 7vw;
		padding: 0;
	}
	#point{
		width: auto;
		padding: 8vw 6vw 10vw;
	}
	#point .block h2{
		margin: 8vw 7vw 4vw;
	}
	#point .block p{
		font-size: 3.9vw;
		line-height: 1.8;
		margin: 0;
	}
	#point .block+.block{
		margin-top: 8vw;
	}
	#point .block .top{
		padding: 0 0 5vw;
	}
	#point .block .top p{
		margin: 0 5vw;
	}
	#point .block .top .icon{
		top: 47vw;
		left: -3vw;
		width: 20vw;
		z-index: 2;
	}
	#point .block .top .img{
		position: relative;
		top: auto;
		right: auto;
	}
	#point .block .middle{
		padding: 8vw 5vw 40vw;
	}
	#point .block.point1 .middle{
		background: url("../img/bg_point_01_sp.png") 0 0 no-repeat;
		background-size: cover;
	}
	#point .block.point2 .middle{
		background: url("../img/bg_point_02_sp.png") 0 0 no-repeat;
		background-size: cover;
	}
	#point .block.point3 .middle{
		background: url("../img/bg_point_03_sp.png") 0 0 no-repeat;
		background-size: cover;
	}
	#point .block .middle h3{
		margin-bottom: 5vw;
	}
	#point .block .middle p{
		padding: 0;
	}
	#point .block .bottom{
		padding: 6.5vw 4vw;
	}
	#point .block .bottom h3{
		margin-bottom: 1vw;
		padding: 0 3vw;
	}
	#point .block .bottom ol{
		display: block;
		margin: 0;
		padding: 0;
		background: none;
	}
	#point .three{
		padding: 15vw 0 0;
	}
	#point .three picture+picture img{
		margin-top: 7vw;
	}
	#morning{
		padding: 0 6vw 5vw;
	}
	#morning::before{
		height: 20vw;
	}
	#morning h2{
		margin: 8vw 0;
	}
	#morning ul{
		display: block;
		margin: 7.5vw -2vw 0;
	}
	#morning ul li+li{
		margin-top: 1vw;
	}
	#morning .block{
		width: auto;
		height: auto;
	}
	.subsc{
		width: auto;
		padding: 6vw;
	}
	.subsc .block .img{
		padding: 3vw 0 0;
	}
	.subsc .block .img p{
		display: none;
	}
	.subsc .block{
		display: block;
	}
	.subsc .block .txt .content{
		width: 92vw;
		margin: -5vw -4vw 0 0;
	}
	.subsc .block .txt{
		width: auto;
	}
	.subsc .price{
		margin: 3vw 0;
	}
	.subsc .block .btn{
		width: auto;
		margin: 0;
	}
	.subsc .block .txt p{
		font-size: 3.0vw;
		letter-spacing: 0;
		margin: 1em 0 0;
	}
	#recipe{
		width: auto;
		height: auto;
		background: url("../img/bg_recipe_sp.png") 0 0 no-repeat;
		background-size: 100% auto;
		padding: 9vw 0 18vw;
		margin: 0 6vw;
	}
	#recipe h2{
		margin-bottom: 8vw;
	}
	#recipe .block{
		display: block;
		padding: 0;
	}
	#recipe .img{
		width: 100%;
	}
	#recipe .recipe01 .icon{
		top: 3vw;
		right: 2vw;
		width: 15vw;
	}
	#recipe .block h3{
		margin: 3vw 0 6vw;
	}
	#recipe p{
		width: auto;
		font-size: 3.6vw;
		line-height: 1.8;
		padding: 0 6vw;
	}
	#recipe .block.reverse{
		margin: 11vw 0;
		padding: 0;
	}
	#recipe .recipe02 .icon{
		width: 15vw;
		bottom: -7vw;
		right: 2vw;
	}
	#recipe .icon01{
		width: 18vw;
		top: 164vw;
		left: 5vw;
	}
	#recipe .recipe03 .icon{
		width: 14vw;
		bottom: -5vw;
		left: 0;
	}
	#recipe .icon02{
		width: 17vw;
		bottom: 0.5vw;
		right: 3vw;
	}
	#voice{
		background-image: url("../img/bg_voice_green.png"),url("../img/bg_voice.jpg");
		background-size: 100% auto,auto;
		background-repeat: no-repeat, repeat;
		margin: 8vw 0 0;
		padding: 0 0 7vw;
	}
	#voice h2{
		margin-bottom: 0;
		padding-left: 0;
	}
	#voice ul{
		width: auto;
		margin: 0 6vw;
	}
	#voice ul li{
		width: auto;
		margin-top: 6vw;
		padding: 6vw;
	}
	#voice ul li:nth-child(-n+2){
		margin-top: 6vw;
	}
	#voice ul li:first-child{
		margin-top: 0;
	}
	#voice ul li .txt{
		font-size: 3.6vw;
		margin: 1em 0 0;
	}
	#voice ul li .name{
		font-size: 3.2vw;
	}
	#relation{
		background: url("../img/bg_relation_sp.png") 0 0 no-repeat;
		background-size: 100% auto;
		padding: 8vw 6vw 0;
	}
	#relation h2{
		margin-bottom: 5vw;
	}
	#relation p{
		width: auto;
		padding: 0;
		margin: 9vw -6vw 0;
	}
	#footer{
		padding: 10vw 0;
	}
	#footer .logo{
		width: 30vw;
		margin: 0 auto;
	}
	#footer .link{
		width: 60vw;
		font-size: 3.9vw;
		margin: 5vw auto 0;
	}

}

.clear{
	clear:both;
}
/* ------------------------------
    clearfix
------------------------------ */

.cf:after{
  content: "."; 
  display: block; 
  height: 0; 
  font-size:0;	
  clear: both; 
  visibility:hidden;
}
	
.cf {display: inline-block;} 

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */ 