@charset "utf-8";
/* CSS Document */

body {
	background: url("../images/bg_01.jpg");
	line-height: 1.8em;
	color: #a24f27;
}
h2, h3, h4 {
	line-height: 1;
}
h2 {
	font-size: 2em;
	margin-bottom: 10px;
	font-weight: bold;
}
h3 {
	font-size: 20px;
	margin-bottom: 10px;
}
h4 {
	font-size: 20px;
	margin-bottom: 20px;
}
.inner {
	width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
	padding-left: 20px;
	padding-right: 20px;
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
/*header領域*/
#header {
	position: relative;
	height: 145px;
	margin-bottom: 10px;
}
#header h1 {
	position: absolute;
	left: 0;
	top: 0;
}
#header h1 a {
	transition: 0.2s;
}
#header h1 a:hover {
	transform: translateY(2px);
}
#info, #webres {
	display: block;
	width: 170px;
	height: 58px;
	line-height: 58px;
	border-radius: 0 0 58px 58px;
	text-decoration: none;
	color: #ffffff;
	font-weight: bold;
	text-align: center;
	background-image: url("../images/webresev_bg.png");
	position: absolute;
	transition: all 0.2s;
}
#info {
	top: -5px;
	right: 0;
}
#webres {
	top: -5px;
	right: 200px;
}
#info:hover, #webres:hover {
	transform: translateY(4px);
}
nav {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 630px;
}
nav li {
	float: left;
	height: 85px;
	width: 110px;
	margin-left: 20px;
	text-align: center;
	position: relative;
	box-sizing: border-box;
}
nav li:first-child {
	margin-left: 0;
}
nav li a {
	display: block;
	width: 110px;
	padding-top: 60px;
	text-decoration: none;
	color: #a24f27;
	font-size: 0.8em;
	transition: 0.2s;
}
nav li a:hover {
	color: #FD8F03;
}
#nav_01::after, #nav_02::after, #nav_03::after, #nav_04::after, #nav_05::after {
	content: "";
	display: block;
	width: 110px;
	height: 60px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: -1;
}
#nav_01::after {
	background: url("../images/nav_bg_01.png") no-repeat center top;
}
#nav_02::after {
	background: url("../images/nav_bg_02.png") no-repeat center top;
}
#nav_03::after {
	background: url("../images/nav_bg_03.png") no-repeat center top;
}
#nav_04::after {
	background: url("../images/nav_bg_04.png") no-repeat center top;
}
#nav_05::after {
	background: url("../images/nav_bg_05.png") no-repeat center top;
}
/*cssシグネチャ*/
#home #nav_01::after {
	background: url("../images/nav_bg_01_on.png") no-repeat center top;
}
#story #nav_02::after {
	background: url("../images/nav_bg_02_on.png") no-repeat center top;
}
#menu #nav_03::after {
	background: url("../images/nav_bg_03_on.png") no-repeat center top;
}
#news #nav_04::after {
	background: url("../images/nav_bg_04_on.png") no-repeat center top;
}
#contact #nav_05::after {
	background: url("../images/nav_bg_05_on.png") no-repeat center top;
}
/*全頁共通フッター*/
#footer_map {
	width: 100%;
	background-size: cover;
	height: 500px;
	background-image: url("../images/footer_map.png");
	background-repeat: no-repeat;
	background-position: 50% 50%;
	margin-bottom: 50px;
}
#footer_map_inner {
	padding-top: 40px;
}
#footer_map_info {
	width: 490px;
	background: url("../images/info_bg_center.png") repeat-y center top;
	position: relative;
	padding: 20px 0;
	float: right;
	color: #ffffff;
	text-align: center;
}
#footer_map_info dt {
	float: left;
	padding-left: 70px;
	width: 100px;
	text-align: left;
}
#footer_map_info dd {
	float: left;
	padding-right: 30px;
	width: 290px;
	text-align: left;
}
#footer_map_info::before {
	content: "";
	width: 490px;
	height: 40px;
	background: url("../images/info_bg_top.png") no-repeat center top;
	position: absolute;
	top: -20px;
	left: 0;
}
#footer_map_info::after {
	content: "";
	width: 490px;
	height: 40px;
	background: url("../images/info_bg_bottom.png") no-repeat center top;
	position: absolute;
	bottom: -20px;
	left: 0;
}
#facebook_area, #calender_area {
	box-sizing: border-box;
	width: 460px;
	height: 480px;
	border: 2px dotted #a24f27;
	border-radius: 5px;
	float: left;
	text-align: center;
	padding: 50px 40px 30px 40px;
	margin-bottom: 50px;
}
#facebook_area {
	margin-right: 40px;
}
#facebook_area iframe {
	margin-top: 20px;
}
#calender_wrap {
	margin: 20px auto 0;
}
#month {
	float: left;
	width: 50px;
	text-align: center;
	line-height: 50px;
	vertical-align: baseline;
	border-top: 3px double #A24F27;
	border-bottom: 3px double #A24F27;
}
#calender_box {
	float: right;
	width: 320px;
	margin-top: -4px;
}
#calender_contents {
	text-align: center;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
}
#calender_contents li {
	box-sizing: border-box;
	width: calc(14.2857142% - 4px);
	margin: 4px 2px 4px 2px;
	background-color: #ffffff;
	letter-spacing: 0.2em;
	text-align: center;
}
#calender_contents .label {
	background-image: url("../images/bg_02.jpg");
	font-weight: bold;
}
#calender_contents .red {
	background-color: #E06F70;
}
#calender_contents .blue {
	background-color: #6F86E0;
}
#calender_info {
	text-align: left;
}
#calender_info p:first-child::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	background-color: #E06F70;
	margin-right: 10px;
	width: 20px;
	height: 20px;
	border-radius: 3px;
}
#calender_info p + p::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	background-color: #6F86E0;
	margin-right: 10px;
	width: 20px;
	height: 20px;
	border-radius: 3px;
}
footer #info_area {
	margin-bottom: 50px;
}
#footer_logo {
	text-align: center;
}
#footer_nav {
	width: auto;
	text-align: center;
}
#footer_nav li {
	display: inline-block;
	font-size: 14px;
}
#footer_nav li a {
	text-decoration: none;
	color: #a24f27;
	transition: 0.2s;
}
#footer_nav li a:hover {
	color: #F07375;
}
#footer_nav li::after {
	content: "/";
	color: #a24f27;
	padding: 0 10px;
}
#sns_icons {
	text-align: center;
	color: #A24F27;
	font-size: 30px;
}
#sns_icons a {
	text-decoration: none;
	color: #A24F27;
	transition: 0.2s;
}
#sns_icons a:hover {
	color: #F07375;
}
footer .copy_right {
	text-align: center;
	padding: 3px 0;
	background: url("../images/bg_02.jpg");
	color: #ffffff;
}
.pagetop {
	position: fixed;
	bottom: 50px;
	left: 520px;
	margin-left: 50%;
	transition: 0.2s;
}
.pagetop:hover {
	transform: translateY(2px);
}
/*全頁共通フッターここまで*/
/*下層ページコンテンツ部分、トップページニュースページ背景*/
#main {
	width: 100%;
	background-image: url("../images/bg_04_center.png");
	background-repeat: repeat-y;
	background-position: center;
	position: relative;
	margin: 100px auto 150px auto;
}
#main::before {
	content: "";
	width: 100%;
	height: 80px;
	background: url("../images/bg_04_top.png") no-repeat top center;
	position: absolute;
	top: -80px;
	center: 0;
}
#main::after {
	content: "";
	width: 100%;
	height: 80px;
	background: url("../images/bg_04_bottom.png") no-repeat bottom center;
	position: absolute;
	bottom: -80px;
	center: 0;
}
.page_title {
	width: 540px;
	height: 158px;
	margin: 0 auto 30px auto;
	text-align: center;
}
.story_1, .story_2 {
	text-align: center;
}
.story_2 {
	padding-top: 236px;
	background: url("../images/menu_story02_img.png") no-repeat center top;
	margin-bottom: 100px;
}
.story_3 img {
	float: left;
	margin-left: 120px;
}
.story_3 p, .story_3 h3 {
	width: 345px;
	float: right;
	margin-right: 120px;
}
/*下層ページコンテンツ部分ここまで*/
/*home*/
#hero {
	position: relative;
	width: 100%;
	height: auto;
}
#hero_logo {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 10;
}
#hero {
	margin-bottom: 50px;
}
#top_story, #top_menu {
	text-align: center;
}
#top_news .title {
	text-align: center;
}
.top_cake_menu {
	width: 305px;
	float: left;
	margin-left: 15px;
}
.top_cake_menu:first-child {
	margin-left: 0;
}
.more_btn {
	float: right;
	transition: 0.2s;
}
.more_btn:hover {
	transform: translateY(2px);
}
#home .title a:hover{
	opacity: 0.8;
}
#top_story {
	background: url("../images/home_story_bg.png") no-repeat bottom center;
}
#top_story img {
	margin-bottom: 100px;
}
#top_story p {
	text-shadow: 1px 1px 2px #ffffff, 0 0 1em #ffffff, 0 0 0.2em #fffffff;
}
#top_menu, #top_story, #top_news {
	margin-bottom: 100px;
}
#top_news {
	width: 100%;
	background-image: url("../images/bg_04_center.png");
	background-repeat: repeat-y;
	background-position: center;
	position: relative;
	margin: 150px auto 150px auto;
}
#top_news::before {
	content: "";
	width: 100%;
	height: 80px;
	background: url("../images/bg_04_top.png") no-repeat bottom center;
	position: absolute;
	top: -80px;
	center: 0;
}
#top_news::after {
	content: "";
	width: 100%;
	height: 80px;
	background: url("../images/bg_04_bottom.png") no-repeat bottom center;
	position: absolute;
	bottom: -80px;
	center: 0;
}
#top_news .news_1, #top_news .news_2, #top_news .news_3 {
	width: 305px;
	height: 350px;
	float: left;
	margin-left: 20px;
}
#top_news .news_1 a, #top_news .news_2 a, #top_news .news_3 a {
	text-decoration: none;
	color: #A24F27;
}
#top_news .news_1 a:hover, #top_news .news_2 a:hover, #top_news .news_3 a:hover {
	opacity: 0.7;
}
#top_news .news_1 {
	margin-left: 0;
}
#top_news .news_1 img, #top_news .news_2 img, #top_news .news_3 img {
	box-sizing: border-box;
	border: solid 2px #a24f27;
}
/*contactpage*/
#entryForm form {
	background-color: #DD6062;
}
#entryForm table {
	margin: 0 auto 30px auto;
	height: 230px;
}
#entryForm #name1, #tel1, #email1, #upfile1 {
	width: 390px;
}
#entryForm #comment1 {
	width: 390px;
}
#entryForm th {
	text-align: right;
	vertical-align: top;
	padding-right: 40px;
}
#radiobtn {
	text-align: center;
	margin: 0 auto 30px auto;
}
#entryForm p {
	width: 630px;
	margin: 0 auto;
}
/*newspage*/
.news_contents {
	width: 630px;
	margin: 0 auto 30px auto;
	position: relative;
	padding-top: 50px;
}
.news_contents img {
	box-sizing: border-box;
	border: solid 2px #a24f27;
	float: left;
}
.news_contents::before {
	content: "";
	display: block;
	height: 3px;
	width: 100%;
	border-top: solid 2px #a24f27;
	border-bottom: solid 1px #a24f27;
	position: absolute;
	top: 0;
}
.news_contents p + img + p {
	width: 300px;
	height: 250px;
	float: right;
}
/*webreservationpage*/
.webres_contents {
	width: 630px;
	margin: 0 auto 30px auto;
	position: relative;
	padding-top: 50px;
}
.webres_contents img {
	box-sizing: border-box;
	border: solid 2px #a24f27;
	float: left;
}
.webres_contents::before {
	content: "";
	display: block;
	height: 3px;
	width: 100%;
	border-top: solid 2px #a24f27;
	border-bottom: solid 1px #a24f27;
	position: absolute;
	top: 0;
}
.price {
	float: right;
	width: 300px;
	height: 250px;
	position: relative;
}
.res_btn {
	display: block;
	padding: 5px 30px;
	position: absolute;
	right: 0;
	bottom: 0;
	text-decoration: none;
	text-align: center;
	background-color: #a24f27;
	color: #ffffff;
	font-weight: bold;
	border-radius: 3px;
	transition: 0.3s;
}
.res_btn:hover {
	background-color: #F07375;
}
.webres_caption {
	width: 630px;
	margin: 0 auto;
	text-align: center;
}
.webres_caption img {
	display: block;
	text-align: center;
	margin: 0 auto 20px auto;
}
.webres_caption p {
	margin-bottom: 40px;
}
.webres_caption p span {
	font-weight: bold;
	color: #F07375;
}
/*infomationpage*/
#infomation iframe, #infomation #main img {
	display: block;
	margin: 0 auto 30px auto;
}
#infomation #main table {
	margin: 0 auto 30px auto;
	border-collapse: separate;
	border-spacing: 30px 10px;
}
#infomation #main table th {
	-moz-text-align-last: justify;
	text-align-last: justify;
	background-color: #a24f27;
	padding: 5px;
	color: #ffffff;
	font-weight: bold;
}
/*menupage*/
#sub li {
	width: 300px;
	/*background:url("../images/bg_01.jpg");*/
	float: left;
	text-align: center;
	margin-left: 30px;
	padding: 10px 0;
	border-radius: 5px;
}
#sub li:first-child {
	margin-left: 0;
}
#sub {
	margin-bottom: 100px;
}
#sub li a {
	text-decoration: none;
	color: #a24f27;
	transition: 0.2s;
}
#sub li a:hover {
	color: #F07375;
}
#menu figure {
	text-align: center;
}
#menu #main h3 {
	text-align: center;
}
#menu #main h3 span {
	display: block;
	font-size: 0.7em;
	width: 30%;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	padding: 5px 0 3px 0;
	color: #ffffff;
	background: #a24f27;
	border-radius: 10px;
}
.menu_decoration_figure figure {
	width: 300px;
	float: left;
	margin-left: 30px;
	margin-bottom: 30px;
}
.menu_decoration_figure figure:first-child {
	margin-left: 0;
}
#menu_decoration {
	margin-bottom: 100px;
}
.menu_petit_figure figure {
	width: 220px;
	float: left;
	margin-right: 26px;
	margin-bottom: 40px;
}
.menu_petit_figure figure:nth-child(4n) {
	margin-right: 0;
}
#menu_petit {
	margin-bottom: 100px;
}
.menu_bake_figure figure {
	width: 220px;
	float: left;
	margin-right: 26px;
	margin-bottom: 40px;
}
.menu_bake_figure figure:nth-child(4n) {
	margin-right: 0;
}
.menu_bake_figure_2 img {
	display: block;
	float: left
}
.menu_bake_figure_2 ul {
	width: 465px;
	float: right;
}
#decoration_gallery li {
	float: left;
}
#decoration_gallery li img {
	vertical-align: bottom;
}
#gallery {
	position: relative;
	padding-top: 30px;
	padding-bottom: 20px;
	text-align: center;
}
#gallery::before {
	content: "";
	display: block;
	height: 3px;
	width: 100%;
	border-top: solid 2px #a24f27;
	border-bottom: solid 1px #a24f27;
	position: absolute;
	top: 0;
}
#gallery::after {
	content: "";
	display: block;
	height: 3px;
	width: 100%;
	border-bottom: solid 2px #a24f27;
	border-top: solid 1px #a24f27;
	position: absolute;
	bottom: 0;
}
#about_order h4 + img {
	display: block;
	margin: 0 auto;
	margin-bottom: 20px;
}
#about_order h4 {
	text-align: center;
}
#about_order h4::before {
	text-align: center;
}
#about_order {
	width: 60%;
	margin: 0 auto 40px auto;
	padding: 20px;
	border-top: dotted 2px #a24f27;
	/*border-bottom:dotted 2px #a24f27;*/
}
#about_order h4 + img + p {
	margin-bottom: 20px;
}
#about_order h4 + img + p + p {
	font-size: 0.8em;
}
#about_order span {
	font-weight: bold;
	color: #F07375;
}
@media only screen and (max-width: 768px) {
	#wrap {
		width: 100%;
	}
	#header{
		height:60px;
		background-image: url("../images/bg_02.jpg");
	}
	#info, #webres {
	width: 100px;
	height: 50px;
	line-height: 50px;
	border-radius: 0 0 50px 50px;
	background: #a24f27;
}
	#info{
		right: 10px;
	}
	#webres{
		right: 120px;
	}
	#home .title{
		padding: 0;
	}
	.inner {
		width: 100%;
		box-sizing: border-box;
		padding: 10px;
	}
	img {
		max-width: 100%;
		height: auto;
	}
	#slides{
		width:100%;
		height: 200px;
	}
	#slides img{
		width:100%;
		height: 200px;
		object-fit: cover;
	}
	h1 {
		display: none;
	}
	nav {
		display: none;
	}
	#home .title {
		background-size: contain;
		width: 100%;
		height:auto;
	}
	#top_story {
		background: none;
		margin-bottom: 30px;
	}
	#top_story img {
		margin-top: 0;
		margin-bottom: 30px;
	}
	#top_menu{
		margin-bottom: 0;
	}
	#top_menu .top_cake_menu {
		float: none;
		margin: 0 auto;
	}
	.more_btn {
		float: none;
	}
	#top_news::after, #top_news::before {
		display: none;
		height: 0;
	}
	#top_news {
		margin-bottom: 20px;
		padding: 0;
		background: none;
	}
	#top_news .news_1, #top_news .news_2, #top_news .news_3 {
		float: none;
		margin: 20px auto;
	}
	#facebook_area {
		display: none;
	}
	#footer_map {
		display: none;
	}
	#calender_area {
		float: none;
		box-sizing: border-box;
		width: 100%;
		padding: 12px;
	}
	#month {
		float: none;
	}
	#calender_box {
		margin: 0 auto;
	}
	#main::before, #main::after {
		display: none
	}
	#main {
		background: none;
		margin-bottom: 0px;
		margin-top: 20px;
	}
	.page_title {
		width: 100%;
		background-size: contain;
		padding-top: 0;
		padding-bottom: 0;
	}
	.story_2 {
		background: none;
		padding-top: 20px;
		margin-bottom: 20px;
	}
	.story_3 img {
		float: none;
		display: block;
		margin: 0 auto 20px auto;
	}
	.story_3 p, .story_3 h3 {
		width: 345px;
		float: none;
		margin: 0 auto;
		text-align: center;
	}
	#sub li {
		float: none;
		margin: 0 auto;
	}
	#sub li:first-child {
		margin: 0 auto;
	}
	#sub {
		margin-bottom: 40px;
	}
	.menu_decoration_figure figure {
		float: none;
		margin: 0 auto;
	}
	.menu_decoration_figure figure:first-child {
		margin: 0 auto;
	}
	#decoration_gallery ul{
		display: inline-block;
		margin: 0 auto;
	}
	.menu_petit_figure figure {
	float: none;
	margin: 0 auto;
}
.menu_petit_figure figure:nth-child(4n) {
	margin: 0 auto;
}
#menu_petit {
	margin-bottom: 40px;
}
	.menu_bake_figure figure {
	float: none;
	margin: 0 auto;
}
.menu_bake_figure figure:nth-child(4n) {
	margin: 0 auto;
}
.menu_bake_figure_2 img {
	float: none;
}
.menu_bake_figure_2 ul {
	float: none;
}
	.news_contents {
		width: 100%;
		height: auto;
		text-align: center;
	}
	.news_contents img {
	float: none;
		display: block;
		margin: 0 auto;
}
	.news_contents p + img + p {
	float: none;
		margin: 0 auto;
}
	#entryForm table {
	width: 100%;
}
	#entryForm table th,#entryForm table td{
		display: block;
		padding: 0;
		width: 100%
	}
	#entryForm #comment1,#entryForm #name1, #tel1, #email1, #upfile1 
{
	width: 100%;
}
	#entryForm table th{
		text-align: left;
		padding: 0;
	}
#entryForm p {
	width: 100%;
}
	#entryForm{
		margin-bottom: 40px;
	}
	.webres_contents {
	width: 100%;
}
.webres_contents img {
	float: none;
	display: block;
margin: 0 auto;
}
.price {
	float: none;
	width: 100%;
	height: auto;
	text-align: center;
	margin: 0 auto;
	position: static;
}
	.price th,.price td{
		display: block;
		width: 100%;
	}
.res_btn {
	position: static;
}
.webres_caption {
	width: 100%;
	height: auto;
	margin: 0 auto;
	text-align: center;
}
	.webres_contents {
	margin: 0 auto 0 auto;
	padding-top: 20px;
		margin-bottom: 20px;
}
	#infomation iframe{
		width: 100%;
}
#infomation #main table {
	width: 100%;
}
#infomation #main table th,#infomation #main table td{
	display: block;
	width: 100%;
}
	#infomation #main table th{
		-moz-text-align-last: left;
	text-align-last: left;
	}
	.menu-trigger{
		visibility: visible;
	}
}