/*====================================================================================================
  TOPPAGE
====================================================================================================*/
#toppage {}
#toppage h3 { font-family:"Noto Serif JP"; font-size:169%; font-weight:bolder; line-height:180%; }
#toppage .box_main { max-width:910px; margin:0 auto; }
#toppage .box_main::after { display:block; clear:both; content:""; }

/* MAINIMG */
#toppage .mainimg {}
#toppage .mainimg img { width: 100%; max-height:819px; object-fit:cover; }

/* 営業日のお知らせ追加 */
#toppage .toppage_notice {
	border: none;
	width: 90%;
	margin: 10px auto;
	padding: 0;

	font-family: "Noto Serif JP";
    font-weight: bolder;
}

#toppage .toppage_notice-head {
	display: none;
}

@media screen and (min-width: 700px) {
	#toppage .toppage_notice {
		border: solid 3px #e5eaed;
		width: 100%;
		max-width: 600px;
		margin: 30px auto;
	}
	#toppage .toppage_notice-head {
		background-color: #e5eaed;
		text-align: center;
		font-size: 20px;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 4px 6px 6px 6px;
		font-weight: 600;
	}
}

#toppage .toppage_notice-list {
	display: flex;
	flex-direction: column;
	padding: 0;
	gap: 30px;
	margin: 0 auto;
	width: 100%;
}
@media screen and (min-width: 700px) {
	#toppage .toppage_notice-list {
		padding: 10px 16px 18px;
		gap: 20px;
		width: fit-content; /* 内容サイズに応じて幅が変わる */
	}
}

#toppage .toppage_notice-item {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}

@media screen and (min-width: 700px) {
	#toppage .toppage_notice-item {
		flex-direction: row;
		gap: 10px;
		width: fit-content;
	}
}

#toppage .toppage_notice-item-head {
	background-color: #e5eaed;
	text-align: center;
	font-size: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 4px 6px 6px 6px;
	font-weight: 600;
}

@media screen and (min-width: 700px) {
	#toppage .toppage_notice-item-head {
		background-color: transparent;
		font-size: 16px;
		text-align: left;
		line-height: 1.2em;
		max-width: 200px;
		min-width: 100px;
		flex: 0 1 auto;

		text-align: left;
		display: block;
	}
}

#toppage .toppage_notice-item-contents {
	font-size: 16px;
	text-align: center;
	flex: 0 1 auto;
}
#toppage .toppage_notice-item-contents span {
	color: #c4010c;
	display: block;
	line-height: 1.6em;
}
@media screen and (min-width: 700px) {
	#toppage .toppage_notice-item-contents {
		font-size: 14px;
		text-align: left;
		flex: 0 1 auto;
	}
	#toppage .toppage_notice-item-contents span {
		line-height: 1.2em;
	}
}


/* CAREFULLY SELECTED MATERIALS */
#toppage .materials {}
#toppage .materials .fish { max-width:1165px; margin:0 auto 110px; padding:60px 0 120px; border-bottom:1px solid #C4C562; }
#toppage .materials .fish::after { display:block; clear:both; content:""; }
#toppage .materials .fish h3 { float:left; margin:80px 90px 0 130px; letter-spacing:0.1em; }
#toppage .materials .fish .come {
	float:right;
	width:490px;
	font-family:"Noto Serif JP";
	font-size:96%;
	font-weight:bold;
	margin:60px 130px 0 0;
}

#toppage .materials .rice { background:#4A3C2F; color:#FFF; padding:116px 0 126px; }
#toppage .materials .rice .box_main { position:relative; }
#toppage .materials .rice .box_main::before {
	content:"";
	display:block;
	position:absolute;
	right:-490px;
	bottom:-300px;
	width:516px;
	height:516px;
	background:url(../../image/top/materials_03.png) no-repeat;
	background-size:contain;
}
#toppage .materials .rice .box_main h3 {
	position:absolute;
	right:0;
	top:0;
	writing-mode:vertical-rl;
	line-height:150%;
	letter-spacing:3px;
}
#toppage .materials .rice .box_main .come {
	font-family:"Noto Serif JP";
	font-size:90%;
	font-weight:normal;
	padding-top:80px;
	float:right;
	width:380px;
}
#toppage .materials .rice .box_main .photo { float:left; position:relative; }
#toppage .materials .rice .box_main .photo::after {
	content:"";
	position:absolute;
	right:-435px;
	bottom:-70px;
	width:495px;
	height:265px;
	background:url(../../image/top/materials_01.png) no-repeat;
}
#toppage .materials .rice .box_main .photo img {}

#toppage .materials .order {
	background:url(../../image/top/materials_order.png) no-repeat;
	background-size:cover;
	height:584px;
	max-height:584px;
}
#toppage .materials .order .note {
	background:#980001;
	font-family:"Yu Gothic";
	font-weight:bold;
	font-size:128%;
	color:#FFF;
	padding:20px 50px;
	width:450px;
}

#toppage .materials .live_fish { background:#000; color:#FFF; padding:120px; }
#toppage .materials .live_fish h3 { float:left; margin:30px 0 20px; letter-spacing:0.1em; }
#toppage .materials .live_fish .come {
	float:left; 
	width:305px; 
	margin-right:80px; 
	clear:both;
	font-family:"Noto Serif JP";
	font-size:90%;
}
#toppage .materials .live_fish .photo { position:relative; }
#toppage .materials .live_fish .photo::after {
	content:"";
	position:absolute;
	left:85px;
	bottom:-75px;
	width:388px;
	height:179px;
	background:url(../../image/top/materials_02.png) no-repeat;
}


/* BANNER */
#toppage .banner { text-align:center; margin:140px auto 120px; max-width:890px; width:100%; font-family:"Noto Serif JP"; }
#toppage .banner h3 { color:#231816; font-size:183%; line-height:100%; margin:35px auto 10px; letter-spacing:0.1em; }


/* COURSE */
#toppage .course { font-family:"Noto Serif JP"; }
#toppage .course .box_course { 
	background:url(../../image/top/course_bg.png) no-repeat right bottom; 
	background-size:cover;
	padding:65px 0 60px;
}
#toppage .course .box_course .box2 { 
	background:#fff; 
	color:#231816; 
	outline:2px solid #c5b88a; 
	outline-offset:-15px; 
	padding:50px 42px 55px; 
	width:440px;
}
#toppage .course .box_course .box2 h3 { 
	font-size:183%; 
	text-align:center; 
	border-top:1px solid #c5b88a;
	border-bottom:1px solid #c5b88a;
	line-height:200%;
}
#toppage .course .box_course .box2 .catch {
	font-size:185%;
	text-align:center;
	line-height:170%;
	padding:30px 0 25px;
	font-weight:bold;
}
#toppage .course .box_course .box2 p { font-size:90%; text-align:justify; padding:0 8px; }
#toppage .course .box_course .box2:first-child{ margin-bottom: 30px;}

#toppage .course .menu {
	background:#ebe7cb;
	padding:50px 0 30px;
}
#toppage .course .menu .menu1 {
	/* margin-right:30px; */
	/* width:414px; */
	/* float:left; */
	width: calc((890px - 30px) / 2);
}
#toppage .course .menu .menu1 h4 { width:236px; }
#toppage .course .menu .menu2 {
	/* width:409px; */
	/* float:right; */
	width: calc((890px - 30px) / 2);
}
#toppage .course .menu .menu2 img { width:100%; }

#toppage .course .menu .box2 { margin-bottom: 20px; float:left; clear:right;}

#toppage .course .menu .box3 { clear:both; padding-bottom: 10px; border-bottom:2px solid #231814; }
#toppage .course .menu .box3::after { clear:both; content:""; display:block; }
#toppage .course .menu .box3 img { width:100%; }
#toppage .course .menu .box3 .box-r { 
	color:#231814; 
	font-family:"Yu Gothic";
	font-weight:bold;
	line-height:160%;
	padding:28px 0 20px;
	text-align:right;
}
#toppage .course .menu .box3 .price { font-size:102%; position:relative; }
#toppage .course .menu .box3 .price::after {
	content:"";
	background:#231814;
	width:160px;
	height:2px;
	position:absolute;
	right:0;
	bottom:0;
}
#toppage .course .menu .box3 p b { font-size:117%; }
#toppage .course .menu .box3 p small.per { font-size:77%; margin-right:5px; }
#toppage .course .menu .box3 p small.tax-txt { font-size:64%; }
#toppage .course .menu .box2 .list1 { padding-top:20px; font-size:83%; line-height:180%; float:left; font-weight:bold; }
#toppage .course .menu .box2 .list2 { font-size:83%; line-height:180%; float:right; padding-top:20px; font-weight:bold; }

#toppage .course .box1 { 
	max-width:890px;
	width:100%;
	margin-inline:auto;
	/* clear:both; */
	display: flex;
    flex-wrap: wrap;
    gap: 30px 30px;
}
#toppage .course .box1::after { clear:both; content:""; display:block; }

#toppage .course-box {
	max-width: 600px;
	width: 100%;
	margin-inline: auto;
}

#toppage .yoyaku{
	background-color: #fff;
	padding: 10px;
}

.course-note_wrap {
	border: 2px solid #A38E3C;
}

.course-note_title {
	color: #A38E3C;
	text-align: center;
	padding: 8px 10px;
	font-size: 120%;
    letter-spacing: 0.2em;
	font-weight: 600;
}

.course-note_plus {
	color: #fff;
    text-align: center;
    padding: 6px 10px;
    background-color: #A38E3C;
	letter-spacing: 0.05em;
    line-height: 1.4em;
    font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    font-weight: 500;
    font-size: 90%;
}

/* コース部分調整 */
#toppage .course-head-wrap {
	display: flex;
	flex-direction: column;
	gap: 18px;
	align-items: flex-start;
}

#toppage .course-head_title-text-wrap {
	display: flex;
	flex-direction: row;
	gap: 10px;
}
#toppage .course-head-wrap .course-head_title-image {
	max-width: 400px;
	width: 100%;
}

@media screen and (min-width: 700px) {
	#toppage .course-head-wrap {
		flex-direction: row;
		gap: 16px;
		align-items: flex-end;
	}
	#toppage .course-head_title-text-wrap {
		flex-direction: column;
		gap: 10px;
	}
	#toppage .course-head-wrap .course-head_title-image {
		max-width: 230px;
	}
}

#toppage .course-head-wrap .course-head_title-image img {
	width: 100%;
}

#toppage .course-head_title-text-wrap p {
	color: #222;
	font-size: 90%;
	line-height: 1.2em;
	font-weight: bold;
}
#toppage .course-head_title-text-wrap p:first-of-type {
	padding-left: 22px;
	flex-shrink: 0; /* 縮まないように */
	position: relative;
}
#toppage .course-head_title-text-wrap p:first-of-type::after {
	position: absolute;
	content: "";
	background-color: #222;
	border-radius: 50%;
	display: block;
	width: 12px;
	height: 12px;
	top: 50%;
	left: 6px;
	transform: translateY(-50%);
}

#toppage .course-head_title-text-wrap p span {
	font-size: 140%;
	padding-left: 6px;
}

#toppage .course-head_title-text-wrap p+p {
	font-size: 70%;
	border-left: 1px solid #222;
	flex-grow: 1; /* 余ったスペース */
	width: 100%;
	padding-left: 10px;
	padding-bottom: 6px;
}

@media screen and (min-width: 700px) {
	#toppage .course-head_title-text-wrap p+p {
		border-left: none;
		border-top: 1px solid #222;
		width: 100%;
		padding-left: 0;
		padding-top: 8px;
	}
}

course-note_wrap
course-note_title
course-note_plus
