@charset "utf-8";
body{
	color: #000;
}
.koujisaryouinner{
	max-width: 1280px;
	margin: 0 auto;
}
#contents {
	overflow: hidden;
}
#contents h1{
	padding: 0;
	background: none;
	margin: 72px auto 30px;
}
#contents h1 img{
	height: 166px;
}
section{
	margin-bottom: 115px;
}
.souvenir{
	margin-bottom: 145px;
	padding: 105px 0 120px;
	background-size: cover;
	background: url('/img/koujisaryou/bg.jpg') no-repeat bottom center / cover;

}
section.mv{
	background: url('/img/koujisaryou/bg.jpg') bottom center / cover;
	padding-bottom: 150px;
	margin-bottom: 145px;
}
.mv_image{
	display: flex;
	flex-wrap: wrap;
	margin-right: -15px;
}
.mv_image p{
	margin-right: 15px;
}
.mv_image p:nth-child(1){
	flex: 1 0 calc(100% - 15px);
	margin-bottom: 15px;
}
.mv_image p:not(:nth-child(1)){
	flex: 1 1 calc(32% - 15px);
}
.read{
	padding: 0 10px;
	margin: 133px auto 50px;
	text-align: center;
	font-size: 24px;
	color: #A5221B;
	line-height: 2;
}
.read02{
	padding: 0 10px;
	margin: auto;
	text-align: center;
	font-size: 16px;
	line-height: 2.25;
}
h2{
	font-size: 36px;
	margin-bottom: 65px;
}
h3{
	text-align: center;
	font-size: 24px;
	color: #A5221B;
	position: relative;
	margin-bottom: 50px;
}
h3::before,
h3::after{
	content: "";
	height: 1px;
	display: block;
	position: absolute;
	top: 50%;
	background: #A5221B;
	width: calc(50% - 65px);
	transform: translate(0, -50%);
}
h3::before{
	left: 0;
}
h3::after{
	right: 0;
}
.flex_box{
	display: flex;
	flex-wrap: wrap;
}
.menu .flex_box{
	padding-top: 40px;
}
.flex_box li{
	width: calc(99% / 3);
	/* flex: 1 0 30%; */
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	/* justify-content: flex-end; */
	margin-bottom: 50px;
}
.flex_box .image img{
	/* width: 280px; */
	height: auto;
	max-height: auto;
}
.flex_box .image{
	padding: 0 70px;
	display: flex;
	align-items: flex-end;
	height: 185px;
	text-align: center;
	margin-bottom: 30px;
}

.flex_box .text {
	text-align: center;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: 0;
}
.flex_box .text .price{
	display: block;
	text-align: center;
	font-size: 16px;
}
.flex_box .text .title_small{
	font-size: 16px;
}
.caution{
	line-height: 1.36;
	font-size: 14px;
	text-align: center;
}
.about h2 {
	margin-bottom: 45px;
}
.about .map{
	margin-bottom: 50px;
}
.about .map iframe{
	width: 100%;
	height: 500px;
}
.address{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: auto auto 26px;
	max-width: 710px;
}
.address dt{
	flex: 0 0 160px;
	font-size: 18px;
	line-height: 2;
}
.address dd{
	line-height: 2;
	font-size: 18px;
	flex: 0 0 calc(100% - 161px);
}
.about{
	margin-bottom: 0;
}
.about .btn {
	margin-bottom: 50px;
}
.about .btn a{
	padding: 8px 0;
	font-size: 14px;
}
.footer_image{
	display: flex;
	margin-right: -15px;
}
.footer_image li{
	margin-right: 15px;
	/* flex: 1 1 32%; */
}
@media screen and (max-width:740px){
	#contents {
		overflow: hidden;
		padding-top: 54px;
	}
	#contents h1{
		margin: 15px 0;
	}
	#contents h1 img{
		height: 80px;
	}
	section{
		margin-bottom: 30px;
	}
	section.mv{
		padding-bottom: 30px;
		margin-bottom: 42px;
		overflow: hidden;
	}
	.mv_image{
		margin-right: -7px;
	}
	.mv_image p{
		 margin-right: 7px;
	}
	.mv_image p:nth-child(1){
		margin-bottom: 7px;
		/* margin-right: 0; */
		flex: 1 0 calc(100% - 10px);
	}
	.mv_image p:not(:nth-child(1)){
		flex: 1 0 30%;
	}
	.read{
		padding: 0 10px;
		margin: 32px auto 30px;
		font-size: 114%;
		line-height: 1.7;
		letter-spacing: 0.05em;
	}
	.read02{
		padding: 0 10px;
		margin: 20px auto 20px;
		font-size: 100%;
		text-align: left;
		line-height: 1.7;
		letter-spacing: 0.05em;
	}
	h2{
		margin-bottom: 28px;
		font-size: 20px;
	}
	h3{
		font-size: 18px;
		margin-bottom: 30px;
	}
	h3::before, h3::after{
		width: calc(50% - 40px);
	}
	.about .koujisaryouinner,
	.souvenir .koujisaryouinner,
	.menu .koujisaryouinner{
		width: 95%;
	}
	.flex_box {
		justify-content: space-between;
	}
	.menu .flex_box {
		padding-top: 20px;
	}
	.flex_box li{
		width: calc(50% - 10px);
		margin-bottom: 20px;
	}
	.flex_box .image{
		padding: 0;
		/*height: 24vw;
		margin-bottom: 10px;*/
		height: 34vw;
		margin: 0 auto;
		padding-bottom: 10px;
	}
	.flex_box .image img{
		height: auto;
	}
	.flex_box .text{
		/*font-size: 100%;*/
		font-size: 14px;
		line-height: 1.5;
	}
	.flex_box .text .title_small,
	.flex_box .text .price{
		font-size: 12px;
		display: block;
	}
	.flex_box .text .price{
		font-size: 14px;
	}
	.caution{
		font-size: 13px;
	}
	.souvenir{
		margin-bottom: 45px;
		padding: 40px 0;
	}
	.about h2{
		margin-bottom: 25px;
	}
	.about .koujisaryouinner {
		width: 90%;
	}
	.about .map {
		margin-bottom: 20px;
	}
	.about .map iframe{
		height: 250px;
	}
	.address{
		margin-top: 5px;
		/* width: 90%; */
		/* margin: auto; */
		/* display: block; */
	}
	.address dt{
		margin-bottom: 18px;
		flex: 0 0 6em;
		font-size: 100%;
	}
	.address dd{
		margin-bottom: 18px;
		flex: 0 0 calc(100% - 6.1em);
		font-size: 100%;
		line-height: 1.5;
	}
	.about .btn{
		font-size: 100%;
	}
	.about .btn a{
		width: 100%;
	}
	.footer_image{
		width: 100vw;
		margin: 0 calc(50% - 50vw);
	}
	.footer_image li:not(:last-of-type){
		margin-right: 7px;
	}
	.footer_image li:last-of-type{
		margin-right: 0;
	}
}
@media screen and (max-width:640px){
	#koshihikari .section02 .text_container{
		padding-top: 0;
	}
}
@media screen and (max-width:474px){
	#koshihikari .section02 .text_container{
		padding-top: 24vw;
	}
}
@media screen and (max-width:320px){
	.read{
		font-size: 100%;
	}
	.read02{
		font-size: 95%;
	}
	.flex_box li{
		width: calc(50% - 5px);
	}
	.flex_box .text{
		font-size: 13px;
	}
	.flex_box .text .title_small{
		font-size: 10px;
	}
}

/* 臨時休業のお知らせ */
.close{
	text-align: center;
	margin-top: 60px;
}

.close_inner{
    border: 1px solid #333;
    box-sizing: border-box;
	padding: 24px 0px;
    width: 60%;
    margin: 0 auto;
}
.close_inner p{
	line-height: 2.25;
	font-size: 16px;
	padding: 0 10px;
}
@media screen and (max-width:820px){
	.close_inner{
		width: 90%;
	}
	.close_inner p:first-of-type{
		margin-bottom: 10px;
	}
	.close_inner p{
		line-height: 1.7;
	}
}

@media screen and (max-width:375px){
	.close_inner p{
		font-size: 15px;
	}
}

.onebuilding{
	margin-top: 100px;
}
@media screen and (max-width: 740px) {
	.onebuilding{
		margin-top: 60px;
	}
}
.onebuilding h3:before,
.onebuilding h3:after{
	width: calc(50% - 145px);
}
@media screen and (max-width: 740px) {
    .vison h3::before, .vison h3::after {
        width: calc(50% - 50px);
    }
}

@media screen and (max-width: 740px) {
    .onebuilding h3::before, .onebuilding h3::after {
        width: calc(50% - 115px);
    }
}

.onebuilding h3 .h3-sub{
	font-size: 16px;
}
@media screen and (max-width: 740px) {
	.onebuilding h3 .h3-sub{
		font-size: 12px;
	}
}