@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho:wght@400;500;600;700&display=swap');

/* font-family: "Noto Sans JP", sans-serif; */
/* font-family: "Shippori Mincho", serif; */

html {
	scroll-behavior: smooth;
}
* {
	scroll-padding-top: 4rem;
}
:not(span) {
	margin: 0;
	padding: 0;
	font-style: normal;
	line-height: 1;
	box-sizing: border-box;
	color: #111;
	max-height: 99999px;
}
* {
	font-size: clamp(0.95rem, 2.5vw, 1.05rem);
}
a:any-link {
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(255,255,255,0);
}
input[type=checkbox], label, button, summary, a {
	cursor: pointer;
}
li {
	list-style: none;
}

body {
	-webkit-text-size-adjust: 100%;
	margin: 0;
	padding: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-feature-settings: "palt";
	letter-spacing: calc(1em / 16);
	animation: fadeIn 0.5s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% { opacity: 0; }
	25% { opacity: 0; }
	100% { opacity: 1; }
}

/* Safariのsummaryの三角を消す */
summary::-webkit-details-marker {
	display: none
}

/* Googleマップにリンクしたときにテキストの後尾に付くアイコン */
a[href*="/maps.app"]::after {
	content: '';
	display: inline-block;
	width: calc(1em / 734 * 512); /* 512 */
	height: 1em; /* 734 */
	margin: 0 0.25rem;
	background: url(./images/google_maps_icon.svg) center center no-repeat;
	background-size: contain;
	transform: scale(1.125);
	position: relative;
	top: -0.125rem;
}

/* ==================================================
ハンバーガー アイコン
================================================== */
/* トップページ用 */
@media (max-width: 70rem) {
	#top_header::before {
		content: '';
		display: block;
		width: 2.25rem;
		height: 2.25rem;
		background: pink;
		position: fixed;
		top: 0.9rem;
		right: 1rem;
		z-index: 998;
		background: url(./images/menu_open.svg) center center no-repeat, white;
		background-size: contain;
		transition: .5s;
	}
	#top_header:has(input:checked) hgroup {
		border-bottom: solid thin #111;
	}
	#top_header:has(input:checked)::before {
		opacity: 0;
	}
	#top_header::after {
		content: '';
		display: block;
		width: 1.7rem;
		height: 1.7rem;
		background: pink;
		position: fixed;
		top: 1.15rem;
		right: 1.3rem;
		z-index: 997;
		background: url(./images/menu_close.svg) center center no-repeat;
		background-size: contain;
	}
}
/* サブページ用 */
@media (max-width: 82rem) {
	#sub_page_header::before {
		content: '';
		display: block;
		width: 2.25rem;
		height: 2.25rem;
		background: pink;
		position: fixed;
		top: 0.9rem;
		right: 1rem;
		z-index: 998;
		background: url(./images/menu_open.svg) center center no-repeat, white;
		background-size: contain;
		transition: .5s;
	}
	#sub_page_header:has(input:checked) h1 {
		border-bottom: solid thin #111;
	}
	#sub_page_header:has(input:checked)::before {
		opacity: 0;
	}
	#sub_page_header::after {
		content: '';
		display: block;
		width: 1.7rem;
		height: 1.7rem;
		background: pink;
		position: fixed;
		top: 1.15rem;
		right: 1.3rem;
		z-index: 997;
		background: url(./images/menu_close.svg) center center no-repeat;
		background-size: contain;
	}
}
/* ==================================================
トップページのヘッダーメニュー
================================================== */
@media (min-width: 70.001rem) {
	#top_header #header_menu {
		position: fixed;
		top: 0;
		left: 0;
		display: flex;
		justify-content: flex-end;
		width: 100%;
		height: 5rem;
		z-index: 98;
		transition: .5s;
	}
	#top_header #header_menu.is-animation {
		height: 4rem;
		background: white;
		border-bottom: solid thin #111;
		box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.05);
	}
	#top_header #header_menu ul {
		display: flex;
		gap: min(1.25vw, 1rem);
		align-items: center;
		padding: 0.5rem 1rem;
	}
	#top_header #header_menu ul li a:any-link {
		font-size: min(1.3vw, 1rem);
		padding: 0.25em 0.5em;
		background: rgba(0,0,0,0);
		transition: .5s;
	}
	#top_header #header_menu ul li a:hover {
		background: rgba(0,0,0,0.05);
	}
	#top_header #header_menu ul li a:has(img):hover {
		background: rgba(0,0,0,0);
	}
	#top_header #header_menu ul li a img#shopping_cart_icon { /* カートアイコン */
		display: block;
		width: 1.75rem;
		height: 1.75rem;
		object-fit: contain;
		margin-left: 0.25rem;
		margin-right: 0.25rem;
	}
	#top_header #header_menu ul li a img#free_dial_banner {
		display: block;
		width: 12rem;
		height: 3rem;
		object-fit: contain;
		margin-left: 1rem;
		margin-right: 0.25rem;
	}
	#top_header .for_sp,
	#top_header #header_menu ul li ul {
		display: none;
	}
}

@media (max-width: 70rem) {
	#top_header #header_menu {
		position: fixed;
		top: -101dvh;
		left: 0;
		width: 100%;
		height: 100dvh;
		max-height: 100dvh;
		background: white;
		overflow: auto;
		padding: 4rem 0;
		z-index: 98;
		transition: .5s;
	}
	#top_header input:checked + #header_menu {
		top: 0;
	}
	#top_header #header_menu > ul {
		width: 30rem;
		max-width: 100%;
		margin: 0 auto;
	}
	#top_header #header_menu > ul > li {
		border-bottom: solid thin #111;
	}
	#top_header #header_menu > ul > li:last-child {
		border-bottom: none;
	}
	#top_header #header_menu > ul > li a {
		display: block;
		padding: 1rem;
	}
	#top_header #header_menu > ul > li ul li {
		border-top: dotted thin #111;
	}
	#top_header #header_menu > ul > li ul li a {
		padding-left: 2.5rem;
	}
	#top_header #header_menu > ul > li ul li a::before {
		content: '-';
		padding-right: 1rem;
	}
	#top_header .for_pc {
		display: none;
	}
}

/* ==================================================
フッター
================================================== */
footer * {
	color: white;
}
footer {
	background: #111;
	padding-top: min(10vw, 5rem);
}
@media (min-width: 50.001rem) {
	footer {
		background: url(./images/btm_img.jpg) right top no-repeat, #111;
		background-size: contain;
	}
	footer > div, footer > h1, footer > address, footer > nav {
		width: 35rem;
		position: relative;
		left: calc(50% - 32rem);
	}
	@media(max-width: 70rem) {
		footer > div, footer > h1, footer > address, footer > nav {
			left: 5vw;
		}
	}
	footer > div#logo img {
		display: block;
		width: 9rem;
		height: auto;
		margin-bottom: 3rem;
	}
	footer > h1 {
		font-size: 1.125rem;
		margin: 1rem 0;
	}
	footer > address {
		display: block;
		margin-top: 1rem;
	}
	footer > address p {
		margin: 0.5rem 0;
		font-size: 0.95rem;
		line-height: 1.5;
	}
	footer > nav {
		margin: 4rem 0;
	}
	footer > nav ul {
		display: flex;
		flex-wrap: wrap;
		gap: 1rem;
	}
	footer > nav ul li a {
		font-size: 0.95rem;
	}
	footer > div#footer_shopping_banner {
		width: 20rem;
		height: auto;
		padding-bottom: min(10vw, 5rem);
	}
	footer > #copyright {
		background: white;
		color: #111;
		width: 100%;
		padding: min(6vw, 3rem) 0;
		text-align: center;
		font-size: min(2vw, 0.9rem);
	}
}
@media (max-width: 50rem) {
	footer > div, footer > h1, footer > address, footer > nav {
		width: 20rem;
		max-width: calc(100% - 20vw);
		margin: 0 auto;
	}
	footer {
		display: flex;
		flex-direction: column;
		background: url(./images/btm_img.jpg) center top no-repeat, #111;
		background-size: contain;
		padding-top: 69vw;
	}
	footer * {
		font-size: 0.95rem;
	}
	footer > nav {
		order: 1;
	}
	footer > nav ul li {
		margin-bottom: 1.5rem;
	}
	footer > div#footer_shopping_banner {
		order: 2;
		margin: 1rem auto 5rem;
	}
	footer > div#logo {
		order: 3;
	}
	footer > div#logo img {
		display: block;
		width: 7rem;
		height: auto;
	}
	footer > h1 {
		order: 4;
		margin: 1rem auto 0.5rem;
	}
	footer > address {
		order: 5;
		margin-bottom: min(10vw, 5rem);
	}
	footer > address p {
		line-height: 1.5;
	}
	footer > address p + p {
		margin-top: 0.25rem;
	}
	footer > p#copyright {
		order: 6;
		background: white;
		color: #111;
		width: 100%;
		padding: min(6vw, 3rem) 0;
		text-align: center;
		font-size: min(2vw, 0.9rem);
	}
}
#back_to_top {
	position: fixed;
	bottom: -5rem;
	right: min(2vw, 1rem);
	width: min(10vw, 3rem);
	height: min(10vw, 3rem);
	transition: .5s;
}
#back_to_top img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
#back_to_top.is-animation {
	bottom: 3rem;
}
/* ==================================================
トップページ
================================================== */
#block1, #block2, #block3, #block4, #block5 {
	position: relative;
}
@media (min-width: 70.001rem) {
	#top_page_wrap {
		display: flex;
	}
	/* コンテンツ（右カラム） */
	#top_content {
		width: calc(100% - 7rem);
		flex: none;
	}
	/* ヘッダー（左カラム） */
	#top_header {
		width: 7rem;
		flex: none;
	}
	#top_header hgroup {
		position: sticky;
		top: 0;
		left: 0;
		border-right: solid thin #111;
		background: white;
		z-index: 99;
	}
	#top_header hgroup h1 {
		width: 100%;
		height: calc(100svh - 10.7058rem);
		display: flex;
		justify-content: center;
	}
	#top_header hgroup h1 a:any-link {
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-family: "Shippori Mincho", serif;
		font-weight: 600;
		font-size: 1.667rem;
		display: flex;
		flex-direction: row;
		align-items: center;
		letter-spacing: 0.2em;
		width: fit-content;
		height: fit-content;
	}
	#top_header hgroup h1 a::before {
		content: '';
		display: block;
		width: 3.75rem;
		height: 7rem;
		background: url(./images/h1_logo.svg) center center no-repeat;
	}
	#top_header hgroup p {
		width: 7rem;
		height: calc(7rem / 170 * 260);
	}
	#top_header hgroup p img {
		display: block;
		width: 100%;
		height: 100%;
	}
}
@media (max-width: 70rem) {
	/* カラム解消 */
	#top_page_wrap {
		display: block;
	}
	#top_content {
		width: 100%;
	}
	#top_header {
		width: 100%;
		height: 5rem;
		overflow: hidden;
		flex-direction: row;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 4rem;
		z-index: 97;
	}
	#top_header hgroup {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 99;
		width: 100%;
		height: 4rem;
		background: white;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	#top_header:has(#header_menu.is-animation) hgroup {
		border-bottom: solid thin #111;
	}
	#top_header hgroup h1 a {
		display: flex;
		align-items: center;
		font-size: 1rem;
		color: white;
	}
	#top_header hgroup h1::before {
		content: '';
		display: block;
		width: 7.5rem;
		height: 1.6em;
		background: url(./images/logo_kabu.svg) center center no-repeat;
		background-size: contain;
		position: absolute;
		top: 0.5rem;
		left: 1rem;
	}
	#top_header hgroup p { /* カートアイコン */
		display: block;
		width: 1.75rem;
		height: 1.75em;
		overflow: hidden;
		margin-right: 5rem;
		background: url(./images/icon_cart.svg) center center no-repeat;
	}
	#top_header hgroup p img {
		opacity: 0;
	}
	#top_header input { /* ヘッダーメニュー 開閉チェックボックス */
		position: absolute;
		top: 1.5rem;
		right: 1.75rem;
		transform: scale(400%);
		opacity: 0;
		z-index: 999;
	}
}

/* トップページのメイン画像 */
#block1 {
	height: 100svh;
}
#block1 #main_image {
	width: 100%;
	height: calc(100svh - 7rem);
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(./images/mainphoto.jpg) left center no-repeat;
	background-size: cover;
}
@media (max-width: 70rem) {
	#block1 #main_image {
		background: url(./images/mainphoto.jpg) center center no-repeat;
		background-size: cover;
	}
}
#block1 #main_image em {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-family: "Shippori Mincho", serif;
	font-weight: 500;
	font-size: 5.5vh;
	letter-spacing: 0.1em;
	position: relative;
	top: 2rem;
}
@media (max-width: 70rem) {
	#block1 #main_image em {
		font-size: 4.5vh;
	}
}
/* トップページ お知らせ */
#block1 #top_news {
	display: flex;
	justify-content: space-between;
	border-top: solid thin #111;
	border-bottom: solid thin #111;
	height: 7rem;
	overflow: hidden;
	align-items: center;
	gap: 2rem;
}
#block1 #top_news h2 {
	flex: none;
	width: 250px;
	height: 7rem;
	display: flex;
	justify-content: center;
	align-items: center;
	color: white;
	background: #D41518;
	letter-spacing: 0.4em;
	font-size: 1.4rem;
	font-weight: 500;
}
#block1 #top_news #recent {
	flex-grow: 1;
}
#block1 #top_news #recent a {
	display: flex;
	align-items: center;
	gap: 2rem;
}
#block1 #top_news #recent a span.date {
	font-weight: 500;
	font-size: 1.125rem;
	line-height: 1.5;
}
#block1 #top_news #recent a span.header {
	font-weight: 500;
	font-size: 1.125rem;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
#block1 #top_news #go_headline {
	padding-right: 1.5rem;
	flex: none;
}
#block1 #top_news #go_headline a {
	color: white;
	background: #111;
	padding: 0.333rem 2rem;
	font-size: 0.9rem;
}
@media (max-width: 60rem) {
	#block1 #top_news {
		height: 7rem;
		flex-wrap: wrap;
		gap: 0;
	}
	#block1 #top_news h2 {
		flex: none;
		width: 8rem;
		height: 5rem;
		font-size: 1.125rem;
		letter-spacing: 0.2em;
	}
	#block1 #top_news #recent {
		width: calc(100% - 8rem);
		height: 5rem;
	}
	#block1 #top_news #recent a {
		height: 5rem;
		flex-direction: column;
		justify-content: center;
		gap: 0;
		align-items: flex-start;
		padding-left: 2.5vw;
		padding-right: 2.5vw;
	}
	#block1 #top_news #recent a span.date,
	#block1 #top_news #recent a span.header {
		font-size: 0.95rem;
		line-height: 1.25;
	}
	#block1 #top_news #go_headline {
		width: 100%;
		height: 2rem;
		padding-right: 0;
	}
	#block1 #top_news #go_headline a {
		margin: 0;
		padding: 0;
		width: 100%;
		height: 2rem;
		display: flex;
		justify-content: center;
		align-items: center;
		
	}
}

/* トップページ 縦書きのh2見出し*/
#block2 h2, #block3 h2, #block4 h2 ,#block5 h2 {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	width: 1.8em;
	height: auto;
	min-height: 9em;
	color: white;
	background: #111;
	position: absolute;
	top: 0;
	left: calc(50% - 0.9em);
	font-family: "Shippori Mincho", serif;
	font-size: clamp(1.25rem, 2.5vw, 1.667rem);
	font-weight: 500;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 0.9em 0;
	border-top: solid 0.4em #D41518;
	letter-spacing: 0.1em;
	z-index: 5;
}
@media (max-width: 70rem) {
	#block2 h2, #block3 h2, #block4 h2 ,#block5 h2 {
		min-height: 7em;
	}
}

/* トップページ 麺づくりのこだわり */

#block2 ul {
	display: flex;
	width: 1400px;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
	padding: 14rem 0 min(10vw, 5rem);
	gap: 3rem;
}
#block2 ul li {
	width: calc(100% / 3);
}
@media (max-width: 70rem) {
	#block2 ul {
		width: 30rem;
		max-width: calc(100% - 30vw);
		padding-top: 10rem;
		flex-wrap: wrap;
	}
	#block2 ul li {
		width: 100%;
	}
}

#block2 ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #F6F6F6;
	overflow: hidden;
}
#block2 ul li:nth-child(1) a {
	background: url(./images/top_sozai.jpg) center center no-repeat;
	background-size: 100%;
	transition: .75s;
}
#block2 ul li:nth-child(1) a:hover {
	background-size: 105%;
}
#block2 ul li:nth-child(2) a {
	background: url(./images/top_seihou.jpg) center center no-repeat;
	background-size: 100%;
	transition: .75s;
}
#block2 ul li:nth-child(2) a:hover {
	background-size: 105%;
}
#block2 ul li:nth-child(3) a {
	background: url(./images/top_hinshitsu.jpg) center center no-repeat;
	background-size: 100%;
	transition: .75s;
}
#block2 ul li:nth-child(3) a:hover {
	background-size: 105%;
}
#block2 ul li a span {
	background: rgba(255,255,255,0.75);
	font-size: clamp(1.25rem, 3.5vw, 1.5rem);
	font-weight: 500;
	padding: 0.4em;
	width: 7.5em;
	text-align: center;
	letter-spacing: 0.2em;
}
#block2 ul li p {
	line-height: 1.5;
	margin-top: 0.25em;
}

/* トップページ 商品紹介 */
#block3 {
	background: url(./images/bg1.jpg) center center;
	border-top: solid thin #111;
	border-bottom: solid thin #111;
}
#block3 ul {
	display: grid;
	grid-template-rows: auto auto;
	grid-template-columns: 1fr 1fr;
	width: 1400px;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
	padding: 10rem 0 min(10vw, 5rem);
	gap: min(5vw, 5rem) min(5vw, 7rem);
}
#block3 ul li:nth-child(1) {
	grid-area: 1/1/2/2;
}
#block3 ul li:nth-child(2) {
	grid-area: 1/2/2/3;
}
#block3 ul li:nth-child(3) {
	grid-area: 2/1/3/2;
}
#block3 ul li:nth-child(4) {
	grid-area: 2/2/3/3;
}
@media (max-width: 70rem) {
	#block3 ul {
		width: calc(100% - 15vw);
		padding-top: 7rem;
		flex-wrap: wrap;
		display: block;
		margin-right: 0;
	}
	#block3 ul li {
		width: 100%;
		margin-bottom: min(10vw, 5rem);
	}
}

#block3 ul li a {
	display: block;
	width: 100%;
	aspect-ratio: 16 /9;
	background: #F6F6F6;
	position: relative;
}
#block3 ul li:nth-child(1) a {
	background: url(./images/top_gift.jpg) center center no-repeat;
	background-size: cover;
}
#block3 ul li:nth-child(2) a {
	background: url(./images/top_miyage.jpg) center center no-repeat;
	background-size: cover;
}
#block3 ul li:nth-child(3) a {
	background: url(./images/top_tanpin.jpg) center center no-repeat;
	background-size: cover;
}
#block3 ul li:nth-child(4) a {
	background: url(./images/top_tsuyu.jpg) center center no-repeat;
	background-size: cover;
}
#block3 ul li a span {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: -1.5rem;
	bottom: -1.5rem;
	width: fit-content;
	padding: 0 1.333em;
	height: clamp(4rem, 8vw, 5rem);
	background: white;
	font-size: clamp(1.25rem, 3.5vw, 1.5rem);
	letter-spacing: 0.2em;
	box-shadow: 0.25rem 0.25rem 0.25rem rgba(0,0,0,0.05);
}

/* トップページ 工場・設備 */
#block4 {
	display: none;
}
#block4 ul {
	display: flex;
	width: 1400px;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
	padding: 8rem 0 min(15vw, 7.5rem);
	gap: 2rem;
}
#block4 ul li {
	width: calc(100% / 2);
}

@media (max-width: 70rem) {
	#block4 ul {
		width: 30rem;
		max-width: calc(100% - 30vw);
		padding-top: min(20vw, 8rem);
		flex-wrap: wrap;
		gap: 4rem;
	}
	#block4 ul li {
		width: 100%;
	}
}

#block4 ul li a {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #F6F6F6;
	position: relative;
}
#block4 ul li:nth-child(1) a {
	background: url(./images/top_seisanline.jpg) center center;
	background-size: cover;
}
#block4 ul li:nth-child(2) a {
	background: url(./images/top_setsubi.jpg) center center;
	background-size: cover;
}
#block4 ul li a span {
	position: absolute;
	bottom: -1.5em;
	left: 0;
	font-family: "Shippori Mincho", serif;
	font-size: clamp(1rem, 3.75vw, 1.75rem);
	font-weight: 600;
}
#block4 ul li a span small {
	font-size: clamp(0.75rem, 3vw, 1.125rem);
	color: #999;
	display: inline-block;
}
#block4 ul li a span small::before {
	content: '───';
	letter-spacing: 0;
	margin-right: 0.5rem;
}
@media (max-width: 70rem) {
	#block4 ul li a span small::before {
	content: '──';
	}
}

/* トップページ 会社案内 SDGsへの取り組み */
#block5 {
	background: url(./images/bg1.jpg) center center;
	background: white;
	border-bottom: solid thin #111;
}
#block5 ul {
	display: flex;
	width: 1400px;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
	padding: min(10vw, 5rem) 0 min(15vw, 7.5rem);
	gap: min(5vw, 2rem);
}
#block5 ul li {
	width: calc(100% / 2);
}
#block5 ul li a {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #F6F6F6;
	position: relative;
	transition: .75s;
}
#block5 ul li a:hover {
	filter: brightness(1.2);
}
#block5 ul li:nth-child(1) a {
	background: url(./images/top_company.jpg) center center;
	background-size: cover;
}
#block5 ul li:nth-child(2) a {
	background: url(./images/top_SDGS.jpg) center center;
	background-size: cover;
}
#block5 ul li a span {
	position: absolute;
	bottom: -2.5rem;
	left: 0;
	font-family: "Shippori Mincho", serif;
	font-size: min(2.75vw, 1.75rem);
	font-weight: 600;
}
#block5 ul li a span small {
	font-size: 1.125rem;
	color: #999;
	display: inline-block;
}
#block5 ul li a span small::before {
	content: '───';
	letter-spacing: 0;
	margin-right: 0.5rem;
}
@media (max-width: 50rem) {
	#block5 ul li a span {
		font-size: min(3.75vw, 1.125rem);
		bottom: -2.75rem;
	}
	#block5 ul li a span small {
		display: block;
		font-size: min(3vw, 0.9rem);
		margin-top: 0.25rem;
	}
	#block5 ul li a span small::before {
		content: none;
	}
}

/* ==================================================
サブページのヘッダー h1周辺
================================================== */
@media (min-width: 82.001rem) {
	#sub_page_header h1 {
		position: fixed;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		width: 100%;
		height: 7rem;
		background: white;
		border-bottom: solid thin rgba(0,0,0,0);
		transition: .5s;
		z-index: 97;
	}
	#sub_page_header.is-animation h1 {
		border-bottom: solid thin #111;
	}
	#sub_page_header h1 img {
		width: auto;
		height: 2.5rem;
		object-fit: contain;
		margin-left: 1rem;
		transition: .5s;
	}
	#sub_page_header #header_menu ul {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 98;
		width: fit-content;
		height: 7rem;
		display: flex;
		align-items: center;
		gap: min(1.25vw, 1rem);
		padding: 0 1rem;
		transition: .5s;
	}
	#sub_page_header .for_sp,
	#sub_page_header #header_menu ul li ul {
		display: none;
	}
	#sub_page_header #header_menu ul li a:any-link {
		font-size: min(1.3vw, 1rem);
		padding: 0.25em 0.5em;
		background: rgba(0,0,0,0);
		transition: .5s;
	}
	#sub_page_header #header_menu ul li a:hover {
		background: rgba(0,0,0,0.05);
	}
	#sub_page_header #header_menu ul li a:has(img):hover {
		background: rgba(0,0,0,0);
	}
	#sub_page_header #header_menu ul li a img#shopping_cart_icon { /* カートアイコン */
		display: block;
		width: 1.75rem;
		height: 1.75em;
		object-fit: contain;
		margin-left: 0.25rem;
		margin-right: 0.25rem;
	}
	#sub_page_header #header_menu ul li a img#free_dial_banner {
		display: block;
		width: 12rem;
		height: 3rem;
		object-fit: contain;
		margin-left: 1rem;
		margin-right: 0.25rem;
	}
	#sub_page_header input {
		display: none;
	}
	#sub_page_content {
		margin-top: 7rem;
	}
	/* スクロールしたら */
	#sub_page_header.is-animation h1 {
		border-bottom: solid thin #111;
		box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.05);
		height: 4rem;
	}
	#sub_page_header.is-animation #header_menu ul {
		height: 4rem;
	}
	#sub_page_header.is-animation h1 img {
		height: 1.6rem;
	}
}
@media (max-width: 82rem) {
	#sub_page_header h1 {
		position: fixed;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		width: 100%;
		height: 4rem;
		background: white;
		border-bottom: solid thin rgba(0,0,0,0);
		transition: .5s;
		z-index: 97;
	}
	#sub_page_header.is-animation h1 {
		border-bottom: solid thin #111;
	}
	#sub_page_header h1 img {
		width: auto;
		height: 1.6rem;
		object-fit: contain;
		margin-left: 1rem;
		transition: .5s;
	}
	#sub_page_header #header_menu {
		position: fixed;
		top: -101dvh;
		left: 0;
		width: 100%;
		height: 100dvh;
		max-height: 100dvh;
		background: white;
		overflow: auto;
		padding: 4rem 0;
		z-index: 96;
		transition: .5s;
	}
	#sub_page_header input:checked + #header_menu {
		top: 0;
	}
	#sub_page_header input { /* ヘッダーメニュー 開閉チェックボックス */
		position: fixed;
		top: 1.5rem;
		right: 1.75rem;
		transform: scale(400%);
		opacity: 0;
		z-index: 999;
	}
	#sub_page_header #header_menu > ul {
		width: 30rem;
		max-width: 100%;
		margin: 0 auto;
	}
	#sub_page_header #header_menu > ul > li {
		border-bottom: solid thin #111;
	}
	#sub_page_header #header_menu > ul > li:last-child {
		border-bottom: none;
	}
	#sub_page_header #header_menu > ul > li a {
		display: block;
		padding: 1rem;
	}
	#sub_page_header #header_menu > ul > li ul li {
		border-top: dotted thin #111;
	}
	#sub_page_header #header_menu > ul > li ul li a {
		padding-left: 2.5rem;
	}
	#sub_page_header #header_menu > ul > li ul li a::before {
		content: '-';
		padding-right: 1rem;
	}
	#sub_page_header .for_pc {
		display: none;
	}
	#sub_page_header hgroup p { /* カートアイコン */
		position: fixed;
		top: 1.125rem;
		right: 5rem;
		z-index: 100;
		width: 1.75rem;
		height: 1.75rem;
		overflow: hidden;
	}
	#sub_page_header hgroup p img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
	#sub_page_content {
		margin-top: 4rem;
	}
}
/* ==================================================
サブページのコンテンツタイトル部分（h2） 共通設定
================================================== */
section.sub_page_title {
	background: rgba(0,0,0,0.05);
	display: flex;
	align-items: center;
	height: 18rem;
	max-height: 45vw;
}
section.sub_page_title h2 {
	margin: 0 min(8vw, 8rem);
	font-size: clamp(2rem, 5vw, 3rem);
	font-family: "Shippori Mincho", serif;
	font-weight: 600;
	letter-spacing: min(1vw, 0.2em);
}
section.sub_page_title p {
	margin: 0 min(8vw, 8rem);
}

/* ==================================================
サブページ / 麺づくりのこだわり
================================================== */
#concept_title {
	background: url(./images/h2_bg_concept.jpg) center center no-repeat;
	background-size: cover;
}
@media (min-width: 60.001rem) {
	#concept1 {
		display: flex;
		width: 100%;
		padding: 0;
	}
/* さぬきうどんの特色 */
	#concept1 h2 {
		order: 2;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-family: "Shippori Mincho", serif;
		font-size: 2.5rem;
		font-weight: 500;
		width: 6rem;
		height: 45rem;
		color: white;
		background: #111;
		border-top: solid 0.5rem #D41518;
		flex: none;
		display: flex;
		align-items: center;
		padding-top: 2rem;
		letter-spacing: 0.15em;
	}
	#concept1 div:nth-of-type(1) {
		order: 1;
		width: calc((100% - 6rem) / 2);
		display: flex;
		justify-content: flex-end;
		align-items: flex-start;
	}
	#concept1 div:nth-of-type(1) article {
		width: 100%;
		padding: min(10vw, 5rem) 0 min(5vw, 2.5rem) 0;
		background: url(./images/bg_concept.jpg) center center;
	}
	#concept1 div:nth-of-type(2) {
		order: 3;
		width: calc((100% - 6rem) / 2);
		display: flex;
		justify-content: flex-start;
		align-items: flex-end;
	}
	#concept1 div:nth-of-type(2) article {
		width: 100%;
		padding: min(5vw, 2.5rem) 0 min(10vw, 5rem) 0;
		background: url(./images/bg_concept.jpg) center center;
	}
	#concept1 div:nth-of-type(1) p {
		width: 29rem;
		font-size: 1.05rem;
		max-width: 37.5vw;
		margin: 1rem 2.5rem 1rem auto;
		line-height: 1.75;
		font-family: "Shippori Mincho", serif;
		font-weight: 500;
	}
	#concept1 div:nth-of-type(2) p {
		width: 29rem;
		font-size: 1.05rem;
		max-width: 37.5vw;
		margin: 1rem 0 1rem 2.5rem;
		line-height: 1.75;
		font-family: "Shippori Mincho", serif;
		font-weight: 500;
	}
}
@media (max-width: 60rem) {
	#concept1 h2 {
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-family: "Shippori Mincho", serif;
		font-size: 1.333rem;
		font-weight: 500;
		width: 3.5rem;
		height: auto;
		color: white;
		background: #111;
		border-top: solid 0.5rem #D41518;
		display: flex;
		align-items: center;
		margin: 0 auto;
		padding: 1.75rem 0;
		letter-spacing: 0.15em;
		position: relative;
		z-index: 5;
	}
	#concept1 div:nth-of-type(1) article {
		width: 100%;
		padding: min(20vw, 10rem) 0 0;
		margin-top: max(-15vw, -7.5rem);
		background: url(./images/bg_concept.jpg) center center;
	}
	#concept1 div:nth-of-type(2) article {
		width: 100%;
		padding: 0 0 min(5vw, 2.5rem);
		background: url(./images/bg_concept.jpg) center center;
	}
	#concept1 div:nth-of-type(1) p,
	#concept1 div:nth-of-type(2) p {
		width: 30rem;
		max-width: calc(100% - 10vw);
		line-height: 1.75;
		margin: 1rem auto;
		font-family: "Shippori Mincho", serif;
		font-weight: 500;
	}
	#concept1 div:nth-of-type(1) p:last-child {
		margin-bottom: 0;
		padding-bottom: 1rem;
	}
	#concept1 div:nth-of-type(2) p:first-child {
		margin-top: 0;
	}
}
/* 素材 - 原料へのこだわり */
#concept2 {
	background: url(./images/bg_sozai.jpg) center center;
	padding-bottom: min(10vw, 5rem);
}
#concept2 hgroup {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: min(7.5vw, 2.5rem);
}
#concept2 hgroup h2::before {
	content: '';
	display: block;
	width: 6rem;
	height: 0.5rem;
	background: #D41518;
	margin-bottom: min(7vw, 2.5rem);
}
@media (max-width: 60rem) {
#concept2 hgroup h2::before {
		width: 4rem;
	}
}
#concept2 hgroup h2 {
	text-align: center;
	font-size: clamp(1.75rem, 5vw, 2.75rem);
	font-family: "Shippori Mincho", serif;
	font-weight: 600;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 0.5em;
}
#concept2 hgroup p {
	font-size: clamp(0.9rem, 2.5vw, 1.125rem);
	letter-spacing: 0.1em;
}
#concept2 ul {
	width: 1200px;
	max-width: calc(100% - 10vw);
	display: flex;
	gap: min(2.5vw, 1.5rem);
	margin: 0 auto;
}
#concept2 ul li {
	width: calc(100% / 3);
}
#concept2 ul li figure {
	background: white;
}
#concept2 ul li img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1; 
}
#concept2 ul li figcaption {
	width: 100%;
	height: 2.25em;
	font-size: clamp(1rem, 3.5vw, 1.5rem);
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 500;
}
#concept2 dl {
	width: 1200px;
	max-width: calc(100% - 10vw);
	margin: 2rem auto 0;
}
#concept2 dl dt {
	font-weight: 600;
	line-height: 1.75;
}
#concept2 dl dd {
	line-height: 1.75;
}
/* 製造工程 - 製法へのこだわり */
#concept3 {
	padding-bottom: min(10vw, 5rem);
}
#concept3 hgroup {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: min(7.5vw, 2.5rem);
}
#concept3 hgroup h2::before {
	content: '';
	display: block;
	width: 6rem;
	height: 0.5rem;
	background: #D41518;
	margin-bottom: min(7vw, 2.5rem);
}
@media (max-width: 60rem) {
#concept3 hgroup h2::before {
		width: 4rem;
	}
}
#concept3 hgroup h2 {
	text-align: center;
	font-size: clamp(1.75rem, 5vw, 2.75rem);
	letter-spacing: 0.1em;
	font-family: "Shippori Mincho", serif;
	font-weight: 600;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 0.5em;
}
#concept3 hgroup p {
	font-size: clamp(0.9rem, 2.5vw, 1.125rem);
	letter-spacing: 0.1em;
}
@media (min-width: 1301px) {
	#concept3 ul {
		width: 100%;
		margin: 0 auto;
	}
	#concept3 ul li {
		margin: 5rem 0;
		position: relative;
	}
	#concept3 ul li h3 {
		position: absolute;
		width: 24rem;
		height: 11rem;
		background: #111;
		padding: 0.5rem;
	}
	#concept3 ul li:nth-child(odd) h3 {
		left: calc((100% - 1200px) / 2);
	}
	#concept3 ul li:nth-child(even) h3 {
		right: calc((100% - 1200px) / 2);
	}
	#concept3 ul li h3 span {
		display: flex;
		justify-content: center;
		align-items: center;
		border: solid thin white;
		color: white;
		font-size: 2.25rem;
		letter-spacing: 0.1em;
		width: 100%;
		height: 100%;
		box-sizing: border-box;
		font-weight: 400;
	}
	#concept3 ul li h3::after {
		content: '';
		display: block;
		width: 4rem;
		height: 4rem;
		position: absolute;
		background: url(./images/concept_yajirushi.svg) center center no-repeat;
		background-size: contain;
		bottom: -7rem;
		left: 10rem
	}
	#concept3 ul li:last-child {
		margin-bottom: 0;
	}
	#concept3 ul li:last-child h3::after {
		content: none;
	}
	#concept3 ul li:nth-child(odd) p {
		margin: 0 0 0 calc((100% - 1200px) / 2 + 20rem);
		padding: 3rem calc((100% - 1200px) / 2) 3rem 8rem;
		font-size: 1.05rem;
		line-height: 1.75;
		min-height: 15rem;
		background: url(./images/bg_concept.jpg) center center;
	}
	#concept3 ul li:nth-child(even) p {
		margin: 0 calc((100% - 1200px) / 2 + 20rem) 0 0;
		padding: 3rem 8rem 3rem calc((100% - 1200px) / 2);
		font-size: 1.05rem;
		line-height: 1.75;
		min-height: 15rem;
		background: url(./images/bg_concept.jpg) center center;
	}
}
@media (max-width: 1300px) {
	#concept3 ul {
		width: 35rem;
		max-width: calc(100% - 10vw);
		margin: 0 auto;
	}
	#concept3 ul li {
		border: solid thin white;
		position: relative;
	}
	#concept3 ul li + li {
		margin-top: 5rem;
	}
	#concept3 ul li + li::before {
		content: '';
		width: 2.5rem;
		height: 2.5rem;
		background: url(./images/concept_yajirushi.svg) center center no-repeat;
		position: absolute;
		top : -3.75rem;
		left: calc(50% - 1.25rem);
	}
	#concept3 ul li h3 {
		position: absolute;
		top: 0;
		left: calc(50% - 6rem);
		width: 12rem;
		height: 6rem;
		background: #111;
		padding: 0.5rem;
	}
	#concept3 ul li h3 span {
		display: flex;
		justify-content: center;
		align-items: center;
		border: solid thin white;
		color: white;
		font-size: 1.25rem;
		letter-spacing: 0.1em;
		width: 100%;
		height: 100%;
		box-sizing: border-box;
		font-weight: 400;
	}
	#concept3 ul li p {
		margin-top: 3rem;
		background: url(./images/bg_concept.jpg) center center;
		padding: 4rem min(5vw, 2.5rem) 2rem;
		line-height: 1.75;
	}
}
/* 品質 - 衛生管理へのこだわり */
#concept4 {
	background: url(./images/bg_sozai.jpg) center center;
	padding-bottom: min(10vw, 5rem);
}
#concept4 hgroup {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: min(7.5vw, 2.5rem);
}
#concept4 hgroup h2::before {
	content: '';
	display: block;
	width: 6rem;
	height: 0.5rem;
	background: #D41518;
	margin-bottom: min(7vw, 2.5rem);
}
@media (max-width: 60rem) {
#concept4 hgroup h2::before {
		width: 4rem;
	}
}
#concept4 hgroup h2 {
	text-align: center;
	font-size: clamp(1.75rem, 5vw, 2.75rem);
	font-family: "Shippori Mincho", serif;
	font-weight: 600;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 0.5em;
}
#concept4 hgroup p {
	font-size: clamp(0.9rem, 2.5vw, 1.125rem);
	letter-spacing: 0.1em;
}

#concept4 p.soon {
	display: flex;
	justify-content: center;
	align-items: center;
	border: solid thin red;
	padding: 0.75rem;
	width: 8rem;
	color: red;
	background: white;
	position: relative;
	left: calc(50% - 4rem);
}

/* ==================================================
サブページ / 商品紹介
================================================== */
#item_title {
	background: url(./images/h2_bg_item.jpg) center center no-repeat;
	background-size: cover;
}
#item_title h2 {
	color: white;
}
#item_title2 {
	background: url(./images/h2_bg_item2.jpg) center center no-repeat;
	background-size: cover;
}
#item_title2 h2 {
	color: white;
}
#item_title2 p {
	color: white;
	font-size: clamp(1rem, 4vw, 1.125rem);
	margin-top: 1rem;
	border: solid 2px white;
	border-radius: 1.5em;
	padding: 0.5em 1em;
	width: fit-content;
}
@media (min-width: 1301px) {
	#item > div#item_headline_header {
		border-bottom: solid thin #111;
		margin: min(6vw, 3rem) 0 0 auto;
		width: calc(100% - ((100% - 1200px) / 2));
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#item > div#item_headline_header p em {
		display: block;
		font-size: 2rem;
		line-height: 1.5;
		font-family: "Shippori Mincho", serif;
		font-weight: 600;
		margin: 1.5rem 0;
	}
	#item > div#item_headline_header p em br.for_sp {
		display: none;
	}
	#item > div#item_headline_header p:last-child {
		margin-right: calc((100vw - 1200px) / 2 + 50px);
	}
	/* お取引先様ページはこちら */
	#item > div#item_headline_header p:last-child a {
		border: solid 2px #111;
		border-radius: 3rem;
		font-size: 1rem;
		padding: 0.75em 1.25em;
		font-weight: 500;
		box-shadow: 0.25rem 0.25rem 0.5rem rgba(0,0,0,0.05);
		transition: .2s;
	}
	#item > div#item_headline_header p:last-child a::before {
		content: '>';
		padding-right: 0.25em;
	}
	#item > div#item_headline_header p:last-child a:active {
		box-shadow: 0rem 0rem 0rem rgba(0,0,0,0);
	}
	#item > ul {
		width: 100%;
	}
	#item > ul li {
		padding: min(10vw, 5rem) 0
	}
	#item > ul li > div h3 {
		position: relative;
		font-size: 2.75rem;
		font-family: "Shippori Mincho", serif;
		font-weight: 600;
		padding: 3rem 0 2rem;
	}
	#item > ul li > div h3::before {
		content: '';
		display: block;
		width: 7.5rem;
		height: 0.5rem;
		background: #D41518;
		position: absolute;
		top: 0;
		left: 0;
	}
	#item > ul li > div p {
		line-height: 1.75;
	}
	#item > ul li > div a {
		width: calc(100% - 4rem);
		font-size: 1.25rem;
		color: white;
		background: #111;
		box-shadow: 0.25rem 0.25rem 0.5rem rgba(0,0,0,0.1);
		display: flex;
		align-items: center;
		padding: 1rem;
		transition: .2s;
	}
	#item > ul li > div a:hover {
		background: #333;
	}
	#item > ul li > div a:active {
		box-shadow: 0 0 0 rgba(0,0,0,0.1);
	}
	#item > ul li > div a::before {
		content: '>';
		margin-right: 0.5em;
	}
	#item > ul li:nth-child(odd) > div {
		display: grid;
		grid-template-rows: 8.5rem auto 3.25rem;
		grid-template-columns: 52% 48%;
		width: 1200px;
		margin: 0 auto;
	}
	#item > ul li:nth-child(odd) > div > img {
		grid-area: 1/1/4/2;
		width: 100%;
		height: auto;
	}
	#item > ul li:nth-child(odd) > div > h3 {
		grid-area: 1/2/3/2;
		margin-left: 4rem;
	}
	#item > ul li:nth-child(odd) > div > p {
		grid-area: 2/2/3/3;
		margin-left: 4rem;
	}
	#item > ul li:nth-child(odd) > div > a {
		grid-area: 3/2/4/3;
		margin-left: 4rem;
		font-size: 1.125rem;
	}
	#item > ul li:nth-child(even) {
		background: url(./images/bg_item.jpg) center center;
	}
	#item > ul li:nth-child(even) > div {
		display: grid;
		grid-template-rows: 8.5rem auto 3.25rem;
		grid-template-columns: 48% 52%;
		width: 1200px;
		margin: 0 auto;
	}
	#item > ul li:nth-child(even) > div > img {
		grid-area: 1/2/4/3;
		width: 100%;
		height: auto;
	}
	#item > ul li:nth-child(even) > div > h3 {
		grid-area: 1/1/2/2;
		margin-right: 4rem;
	}
	#item > ul li:nth-child(even) > div > p {
		grid-area: 2/1/3/2;
		margin-right: 4rem;
	}
	#item > ul li:nth-child(even) > div > a {
		grid-area: 3/1/4/2;
		margin-right: 4rem;
		font-size: 1.125rem;
	}
	#item > ul li > div > a::before {
		content: '>';
		margin-right: 0.5em;
	}
}
@media (max-width: 1300px) {
	#item > div#item_headline_header {
		border-bottom: solid thin #111;
		margin-top: min(6vw, 3rem);
		padding-bottom: min(6vw, 3rem);
		width: 35rem;
		max-width: calc(100% - 10vw);
		margin-left: auto;
		margin-right: auto;
	}
	#item > div#item_headline_header p:first-child em {
		font-family: "Shippori Mincho", serif;
		font-weight: 600;
		display: block;
		line-height: 1.5;
		font-size: 1.333rem;
		margin-bottom: 2rem;
	}
	#item > div#item_headline_header p:last-child a {
		border: solid 2px #111;
		border-radius: 3rem;
		font-size: 1rem;
		padding: 1.125em 1.25em;
		font-weight: 500;
		display: block;
		width: fit-content;
		margin: 1rem auto 0;
	}
	#item > div#item_headline_header p:last-child a::before {
		content: '>';
		padding-right: 0.25em;
	}

	#item > ul {
		width: 100%;
	}
	#item > ul li {
		width: 100%;
		padding: 0 0 min(10vw, 5rem) 0
	}
	#item > ul li:nth-child(even) {
		background: url(./images/bg_item.jpg) center center;
	}
	#item > ul li div {
		width: 35rem;
		max-width: calc(100% - 10vw);
		margin: 0 auto;
		display: flex;
		flex-direction: column;
	}
	#item > ul li div img {
		order: 2;
		width: 100%;
		height: auto;
	}
	#item > ul li div h3 {
		order: 1;
		font-size: 1.5rem;
		position: relative;
		font-family: "Shippori Mincho", serif;
		font-weight: 600;
		padding: min(10vw, 5rem) 0 1rem;
	}
	#item > ul li > div h3::before {
		content: '';
		display: block;
		width: 4.5rem;
		height: 0.5rem;
		background: #D41518;
		position: absolute;
		top: 0;
		left: 0;
	}
	#item > ul li div p {
		order: 3;
		line-height: 1.75;
		margin: 1rem 0;
	}
	#item > ul li div a {
		order: 4;
		color: white;
		font-size: 1.05rem;
		background: #111;
		padding: 1em;
		margin-bottom: 1rem;
		box-shadow: 0.25rem 0.25rem 0.5rem rgba(0,0,0,0.1);
		transition: .2s;
	}
	#item > ul li div a:hover {
		background: #333;
	}
	#item > ul li div a:active {
		box-shadow: 0 0 0 rgba(0,0,0,0.1);
	}
	#item > ul li div a::before {
		content: '>';
		margin-right: 0.5em;
	}
}

/* ==================================================
サブページ / プライバシーポリシー
================================================== */
#privacy_policy_title {
	background: url(./images/h2_bg_policy.jpg) right center no-repeat;
	background-size: cover;
}
#privacy_policy_title h2 {
	text-shadow: 0 0 0.25em white, 0 0 0.25em white, 0 0 0.25em white;
	letter-spacing: 0;
}
#privacy_policy {
	width: 1000px;
	max-width: calc(100% - 10vw);
	padding: min(10vw, 5rem) 0;
	margin: 0 auto;
}
#privacy_policy > * + * {
	margin-top: 3rem;
}
#privacy_policy h3 {
	text-align: center;
	font-size: clamp(1.25rem, 4vw, 2rem);
	font-weight: 600;
	letter-spacing: 0.1em;
}
#privacy_policy > p {
	line-height: 1.75;
}
#privacy_policy > p em {
	font-weight: 600;
}
#privacy_policy > ol li {
	list-style: decimal;
	margin: 0.5rem 0 0.5rem 1.5rem;
	line-height: 1.75;
}
#privacy_policy > dl > div + div {
	margin-top: 3rem;
}
#privacy_policy > dl > div dt {
	font-weight: 500;
	border-bottom: solid thin #111;
	padding-bottom: 1em;
	margin-bottom: 1em;
}
#privacy_policy > dl > div dd ul li {
	list-style: disc;
	margin: 0.5rem 0 0.5rem 1.5rem;
	line-height: 1.75;
}
#privacy_policy > dl > div dd p {
	line-height: 1.75;
	margin-bottom: 1.5rem;
}
#privacy_policy > dl > div dd address p {
	margin: 0.5rem 0;
	line-height: 1.5;
}

/* ==================================================
サブページ / SDGs への取り組み
================================================== */
#sdgs_title {
	background: url(./images/h2_bg_sdgs.jpg) right center no-repeat;
	background-size: cover;
}
#sdgs_title h2 {
	text-shadow: 0 0 0.25em white, 0 0 0.25em white, 0 0 0.25em white;
	line-height: 1.25;
}
@media (min-width: 45.001rem) {
	#sdgs_title h2 br {
		display: none;
	}
}
@media (max-width: 45rem) {
	#sdgs_title {
		background: url(./images/h2_bg_sdgs.jpg) right 15% center no-repeat;
		background-size: cover;
	}
}
/* SDGs 前半 */
#sdgs1 {
	padding: min(10vw, 5rem) 0;
}
#sdgs1 > * {
	width: 1200px;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
}
#sdgs1 > p em {
	display: block;
	font-size: clamp(1.25rem, 2.75vw, 1.667rem);
	line-height: 1.6;
	font-weight: 400;
}
@media (max-width: 50rem) {
	#sdgs1 > p em {
		font-weight: 500;
	}
	#sdgs1 > p em br {
		display: none;
	}
}
#sdgs1 > figure {
	width: 1200px
	max-width: calc(100% - 10vw);
	border: solid thick #589fc4;
	display: flex;
	margin: min(5vw, 2.5rem) auto 0;
	padding: min(5vw, 2.5rem);
	gap: min(5vw, 2.5rem);
	align-items: center;
}
#sdgs1 > figure > * {
	width: 50%;
}
@media (max-width: 70rem) {
	#sdgs1 > figure {
		flex-direction: column-reverse;
	}
	#sdgs1 > figure > * {
		width: 100%;
	}
}
#sdgs1 > figure > div img {
	width: 100%;
	height: auto;
}
#sdgs1 > figure > figcaption h3 {
	font-size: clamp(1.125rem, 3.5vw, 1.75rem);
	font-weight: 600;
	margin-bottom: 1em;
}
#sdgs1 > figure > figcaption p {
	line-height: 1.75;
}
/* SDGs 後半 */
#sdgs2 {
	padding: 0 0 min(10vw, 5rem) 0;
	background: url(./images/bg_sdgs.jpg) center center;
}
#sdgs2 > * {
	width: 1200px;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
}
#sdgs2 > * + * {
	margin-top: min(10vw, 5rem);
}
#sdgs2 > h3 {
	font-family: "Shippori Mincho", serif;
	font-weight: 500;
	line-height: 1.25;
	font-size: clamp(2rem, 6vw, 2.4rem);
	text-align: center;
	padding-top: min(10vw, 5rem);
	position: relative;
	width: calc(100% - 10vw);
	margin: 0 auto;
}
@media (min-width: 35rem) {
	#sdgs2 > h3 br {
		display: none;
	}
} 

#sdgs2 > h3::before {
	content: '';
	display: block;
	width: 6rem;
	height: 0.5rem;
	background: #D41518;
	position: absolute;
	top: 0;
	left: calc(50% - 3rem);
}
@media (max-width: 50rem) {
	#sdgs2 > h3 {
		text-align: left;
		font-weight: 600;
	}
	#sdgs2 > h3::before {
		width: 4rem;
		left: 0;
	}
}
#sdgs2 > dl {
	display: flex;
	flex-wrap: wrap;
	gap: min(8vw, 4rem);
	
}
#sdgs2 > dl div {
	width: calc((100% - min(8vw, 4rem)) / 2);
	background: white;
	border-bottom: solid thin #111;
}
@media (max-width: 70rem) {
	#sdgs2 > dl {
		flex-direction: column;
		align-items: center;
	}
	#sdgs2 > dl div {
		width: 30rem;
		max-width: 100%;
	}
}
#sdgs2 > dl div dt {
	background: #589fc4;
	color: white;
	font-size: clamp(1.5rem, 3.5vw, 1.75rem);
	height: 3em;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 600;
}
#sdgs2 > dl div dd {
	padding: min(2.5vw, 1.25rem);
}
#sdgs2 > dl div dd p {
	line-height: 1.75;
}
#sdgs2 > dl div dd p em {
	font-weight: 600;
}
#sdgs2 > dl div dd p + p {
	margin-top: min(2.5vw, 1.25rem);
}
#sdgs2 > dl div dd img {
	margin-top: min(3vw, 1.5rem);
	max-width: 100%;
	max-height: 6rem;
}

/* ==================================================
サブページ / 会社案内
================================================== */
#company_title {
	background: url(./images/h2_bg_company.jpg) center center no-repeat;
	background-size: cover;
}
#company_title h2 {
	text-shadow: 0 0 0.25em white, 0 0 0.25em white, 0 0 0.25em white;
}

/* ご挨拶 */
#company1 {
	background: url(./images/bg1.jpg) center top min(25vw, 10rem) repeat-x;
	padding: min(10vw, 5rem) 0;
	position: relative;
}
#company1 h3 {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	width: 1.667em;
	height: auto;
	color: white;
	background: #111;
	position: absolute;
	top: 0;
	left: calc(50% - 0.9em);
	font-family: "Shippori Mincho", serif;
	font-size: clamp(1.25rem, 5.5vw, 2.5rem);
	font-weight: 500;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 1em 0;
	border-top: solid 0.3em #D41518;
	letter-spacing: 0.5em;
	z-index: 5;
}
#company1 p {
	width: 1000px;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
	line-height: 1.75;
	font-family: "Shippori Mincho", serif;
}
#company1 p em {
	display: block;
	line-height: 1.5;
	font-size: clamp(1.25rem, 4vw, 2rem);
	font-weight: 600;
	margin-top: min(32vw, 15rem);
}
#company1 p + p {
	margin-top: min(4vw, 2rem);
}
#company1 p.signature {
	text-align: right;
	font-size: clamp(1.25rem, 3.5vw, 1.5rem);
	font-weight: 500;
}
#company1 p.signature small {
	font-size: 0.9rem;
	padding: 0 0.5rem;
}
/* 会社概要 */
#company2 {
	padding: 0 0 min(10vw, 5rem);
}

#company2 h3,
#company3 h3,
#company4 h3 {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: min(6vw, 3rem);
	font-size: clamp(1.75rem,5vw, 2.4rem);
	letter-spacing: 0.2em;
	font-family: "Shippori Mincho", serif;
	font-weight: 600;
}
#company2 h3::before,
#company3 h3::before,
#company4 h3::before {
	content: '';
	display: block;
	width: 7rem;
	height: 0.75rem;
	background: #D41518;
	margin-bottom: min(8vw, 4rem);
}
@media (max-width: 50rem) {
	#company2 h3,
	#company3 h3,
	#company4 h3 {
		align-items: flex-start;
		margin-left: 5vw
	}
	#company2 h3::before,
	#company3 h3::before,
	#company4 h3::before {
		width: 4rem;
		height: 0.5rem;
	}
}

#company2 dl {
	width: 1000px;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
}
#company2 dl > div {
	display: flex;
	margin: 1em 0;
}
#company2 dl div + div {
	margin-top: 1.75em;
}
#company2 dl div dd div span:first-child {
	display: inline-block;
	width: 14em;
}
#company2 dl div dt {
	font-weight: 600;
	width: 8em;
	flex: none;
	line-height: 1.25;
}
@media (max-width: 40rem) {
	#company2 dl > div {
		flex-direction: column;
	}
	#company2 dl div dt {
		margin-bottom: 0.667em;
	}
}
#company2 dl div dd {
	line-height: 1.25;
}
#company2 dl div dd div {
	line-height: 1.25;
	margin: 0;
}
#company2 dl div dd div + div {
	margin-top: 0.5em;
}
#company2 dl div dd ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25em 1em;
}
#company2 dl div dd ul li {
	padding: 0 1em 0.25em 0;
	line-height: 1.25;
}
/* 沿革 */
#company3 {
	background: url(./images/bg1.jpg) center top;
	padding: 0 0 min(10vw, 5rem);
}
#company3 ul {
}
#company3 ul li {
	width: 1000px;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
	display: flex;
	line-height: 1.5;
}
#company3 ul li + li {
	margin-top: 2rem
}
#company3 ul li div:nth-child(1) {
	font-weight: 600;
	width: 6em;
	flex: none;
}
#company3 ul li div:nth-child(2) {
	font-weight: 600;
	width: 4em;
	flex: none;
}
#company3 ul li div,
#company3 ul li p {
	line-height: 1.5;
}
#company3 ul li p + p {
	margin-top: 0.5em;
}
@media (max-width:50rem) {
	#company3 ul li {
		flex-wrap: wrap;
	}
	#company3 ul li div:nth-child(1) {
		width: 100%;
		margin-bottom: 0.5rem;
		padding: 0 0.5rem;
		background: rgba(221,221,221,0.75);
	}
	#company3 ul li div:nth-child(2) {
		width: 3.5rem;
		padding-left: 0.5rem;
	}
	#company3 ul li div:nth-child(3) {
		width: calc(100% - 3.5rem);
	}
}
/* アクセス */
#company4 {
	padding: 0 0 min(10vw, 5rem);
}
#company4 iframe {
	display: block;
	max-width: 1000px;
	width: calc(100% - 10vw);
	aspect-ratio: 16/9;
	max-height: 66.667vh;
	margin: 0 auto;
}
#company4 > div {
	width: 1000px;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
	display: flex;
	background: #FAF9EC;
	padding: 2rem 3rem;
}
#company4 > div > div {
	width: 50%;
}
#company4 > div p {
	line-height: 1.5;
}
#company4 > div p + p {
	margin-top: 0.25rem;
}
#company4 > div address {
	margin-bottom: 2.25rem;
}
#company4 > div dl {
	padding-left: 2rem;
}
#company4 > div > div:first-child {
	border-right: solid thin white;
	padding-right: 3rem;
}
#company4 > div > div:last-child {
	border-left: solid thin white;
}
#company4 > div dl div + div {
	margin-top: 2rem;
}
#company4 > div dl div dt {
	line-height: 1.5;
	margin-bottom: 0.5em;
}
#company4 > div dl div dd {
	line-height: 1.5;
	padding-left: 1.35em;
}
@media (max-width: 50rem) {
	#company4 > div {
		flex-direction: column;
		padding: 2rem 5vw;
	}
	#company4 > div > div {
		width: 100%;
	}
	#company4 > div > div + div {
		padding-top: 0.25rem;
	}
	#company4 > div dl {
		padding-left: 0;
	}
	#company4 > div dl div dt {
		margin-bottom: 0.25rem;
	}
	#company4 > div dl div + div {
		margin-top: 0.25rem;
	}
	#company4 > div > div:first-child {
		border-right: none;
	}
	#company4 > div > div:last-child {
		border-left: none;
	}
}

/* ==================================================
お問い合わせフォーム
================================================== */
#contact_title {
	background: url(./images/h2_bg_contact.jpg) right center no-repeat;
	background-size: cover;
}
#contact_title h2 {
//	text-shadow: 0 0 0.25em white, 0 0 0.25em white, 0 0 0.25em white;
}

#mailform {
	padding: min(10vw, 5rem) 0 min(20vw, 10rem);
}
#mailform > * {
	width: 1000px;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
}
#mailform > p {
	line-height: 1.75;
}
#mailform li input[type=checkbox] {
	margin-right: 0.5rem;
	margin-top: 0.4rem;
}
#mailform dl {
	margin: 3rem auto;
}
#mailform dl > div + div {
	margin-top: 2rem;
}
#mailform dl div {
	display: flex;
	gap: 1rem;
	width: 100%;
}
#mailform dl div dt {
	background: #111;
	color: white;
	padding: 1rem 4rem 0 0;
	width: 14rem;
	min-height: 3em;
	text-align: right;
	flex: none;
	position: relative;
}
#mailform dl div dt span.req {
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	font-size: 0.75rem;
	width: 2.5rem;
	height: 1rem;
	background: white;
	color: #D00;
	position: absolute;
	top: 1rem;
	right: 1rem;
}
#mailform dl div dd {
	background: #F0F0F0;
	flex-grow: 1;
}
@media (max-width: 50rem) {
	#mailform dl > div {
		flex-direction: column;
		gap: 0;
	}
	#mailform dl div dt {
		width: 100%;
		text-align: left;
		padding-left: 1rem;
	}
	#mailform dl div dt span.req {
		position: static;
		display: inline-flex;
		margin-left: 0.5rem;
	}
}
#mailform dd > input[type=text],
#mailform dd > input[type=tel],
#mailform dd > input[type=email],
#mailform dd > textarea {
	padding: 0.75rem;
	line-height: 1.5;
	font-size: 1.125rem;
	width: 100%;
	border: none;
	background: rgba(0,0,0,0);
	font-family: sans-serif;
}
#mailform dd > textarea {
	display: block;
	field-sizing: content;
	min-height: 12em;
}
#mailform dd div {
	display: flex;
	align-items: center;
}
#mailform dd div span {
	display: inline-block;
	width: 1rem;
}
#mailform dd div:has(span) input[type=tel] {
	width: 8rem;
}
#mailform dd div input[type=text],
#mailform dd div input[type=tel],
#mailform dd div textarea,
#mailform dd li input[type=text] {
	padding: 0.75rem;
	line-height: 1.5;
	font-size: 1.125rem;
	width: 100%;
	border: none;
	background: rgba(0,0,0,0);
	font-family: sans-serif;
	background: white;
}
#mailform dd div:has(textarea) {
	padding-left: 3rem;
	padding-top: 0;
}
#mailform dd ul {
	padding: 1.5rem 2rem;
}
#mailform dd div {
	padding: 1rem 1rem;
}
#mailform ul li {
	display: flex;
	align-items: flex-start;
}
#mailform ul li label {
	font-weight: 500;
	font-size: 1.05rem;
	padding: 0.25rem 0;
}
#mailform ul li + li {
	margin-top: 1rem;
}
#mailform dd p {
	padding: 0.5rem 1rem 1.5rem;
	background: white;
	line-height: 1.5;
}
#mailform dl + div {
	display: flex;
	justify-content: center;
	align-items: center;
}
#mailform dl + div button:active {
	box-shadow: 0 0 0 rgba(0,0,0,0);
}
input[type=text]#box1ex {
	margin-left: 1rem;
	width: 16rem !important;
	max-width: 50vw !important;
	transform: rotateX(90deg);
	transition: .5s;
}
input:checked+ label + #box1ex {
	transform: rotateX(0deg);
}
#pp_check {
	display: flex;
	align-items: center;
}
#pp_check label {
	position: relative;
	top: -0.1em;
	left: -0.5em;
}
::placeholder {
	font-size: 0.95rem;
	text-align: right;
	color: #999;
}
span.confirmation {
	display: block;
	width: 95% !important;
	padding: 1rem;
}
div:has(> span.confirmation) {
	margin: 0 1rem !important;
	padding: 0 !important;
}


/* 送信ボタン*/
#mailform #submit_button {
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
	gap: min(2.5vw, 1rem)
}
#mailform #submit_button button,
#mailform #submit_button a {
	width: 16em;
	text-align: center;
	font-size: clamp(1.125rem, 3.5vw, 1.25rem);
	font-weight: 600;
	color: white;
	background: #111;
	border: none;
	padding: 1em 0;
	letter-spacing: 0.2em;
	box-shadow: 0.25rem 0.25rem 0.5rem rgba(0,0,0,0.1);
	transition: .2s;
}
#mailform #submit_button a:hover {
	background: #333;
}
#mailform #submit_button a:active {
	box-shadow: 0 0 0 rgba(0,0,0,0.1);
}
#mailform #submit_button a:nth-child(2) {
	background: #999;
	width: 4em;
}
/* 入力内容の確認アラート */
#att {
	padding-top: 2rem;
}
/* 不備がある時 */
#alert_message {
	width: 1000px;
	max-width: 100%;
	border: solid thick red;
	padding: 1rem;
	display: flex;
	gap: 1rem;
}
#alert_message span.blink {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 3rem;
	height: 3rem;
	font-size: 2rem;
	color: white;
	background: red;
	font-weight: 700;
	flex: none;
}
#alert_message span + span {
	font-size: clamp(1rem, 3vw, 1.125rem);
	color: #D00;
	line-height: 1.75;
}
/* 不備が無い時 */
#allgreen_message {
	width: 1000px;
	max-width: 100%;
	border: solid thick #0A0;
	padding: 1rem;
	display: flex;
	gap: 1rem;
}
#allgreen_message span.blink {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 2rem;
	font-size: 2rem;
	color: white;
	background: #0A0;
	font-weight: 700;
	flex: none;
}
#allgreen_message span + span {
	font-size: clamp(1rem, 3vw, 1.125rem);
	color: #090;
	line-height: 1.75;
	color: green;
}
#allgreen_message span strong {
	font-size: clamp(1.125rem, 3.5vw, 1.25rem);
	font-weight: 600;
	color: green;
}
/* 完了画面 */
#kanryo {
	width: 1000px;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: min(10vw, 5rem) 0 min(20vw, 10rem) 0;
}
#kanryo h3 {
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: min(8vw, 4rem);
}
#kanryo p {
	line-height: 1.75;
}

/* ==================================================
お知らせ
================================================== */
#news {
	padding: min(10vw, 5rem) 0;
}
#news_title {
	background: url(./images/h2_bg_news.jpg) right center no-repeat;
	background-size: cover;
}
#news_title h2 {
	text-shadow: 0 0 0.5em white, 0 0 0.5em white, 0 0 0.5em white;
}

#news > h3 {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: min(8vw, 4rem);
	font-size: clamp(1.5rem, 5vw, 2.5rem);
	letter-spacing: 0.15em;
	font-family: "Shippori Mincho", serif;
	font-weight: 600;
}
#news > h3::before {
	content: '';
	display: block;
	width: 6.4rem;
	height: 0.667rem;
	background: #D41518;
	margin-bottom: min(6vw, 3rem);
}
@media (max-width: 50rem) {
	#news > h3 {
		align-items: flex-start;
		margin-left: 5vw
	}
	#news > h3::before {
		width: 4rem;
		height: 0.5rem;
	}
}

#news #headline {
	width: 1000px;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
}
#news #headline li {
	border-bottom: solid thin #111;
}
#news #headline li:first-child {
	border-top: solid thin #111;
}
#news #headline li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
#news #headline li a::after {
	content: '';
	width: 3rem;
	height: 3rem;
	background: url(./images/icon_yajirushi.svg) center center no-repeat;
	background-size: cover;
	flex: none;
}
#news #headline li a p {
	padding: min(4vw, 2rem) 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
#news #headline li a p span.date {
	font-weight: 600;
}
#news #headline li a p span.header {
	line-height: 1.75;
}

#news #pager {
	display: flex;
	justify-content: center;
	gap: min(1vw, 0.5rem);
}
#news #pager li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2.5rem;
	height: 2.5rem;
	background: rgba(210,202,181,0.25);
	margin: min(5vw, 2.5rem) 0;
	box-shadow: 0.125rem 0.125rem 0.25rem rgba(0,0,0,0.05);
	transition: .2s;
}
#news #pager li a.here {
	color: white;
	background: rgba(210,202,181,1);
	pointer-events: none;
}
#news #pager li a:active {
	box-shadow: 0 0 0 rgba(0,0,0,0);
}
#news article {
	width: 900px;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
}
#news article hgroup p#date {
	background: #d2cab5;
	padding: 0.5em 1em;
	font-weight: 500;
}
#news article hgroup h3 {
	font-size: clamp(1.125rem, 3.5vw, 1.5rem);
	font-weight: 600;
	line-height: 1.667;
	padding: 1.25em 0;
	border-bottom: solid thin #111;
}
#news article > p {
	margin: min(6vw, 3rem) 0;
	line-height: 1.75;
}
#news #move {
	display: flex;
	justify-content: center;
	gap: min(1vw, 0.5rem);
	margin: 0 auto;
	padding: min(8vw, 4rem) 0 min(5vw, 2.5rem);

	max-width: calc(100% - 10vw);
}
#news #move li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: min(9rem, 24vw);
	height: 3em;
	color: white;
	background: #D41518;
	font-weight: 600;
	font-size: clamp(1rem, 3vw, 1.125rem);
	flex-shrink: 1;
}
#news #move li.noway a {
	pointer-events: none;
	opacity: 0.25;
}
#news #move li:nth-child(2) a {
	width: min(16rem, 36vw);
	background: #111;
}


#news article hr {
	visibility: hidden;
	margin: min(6vw, 3rem) 0;
	clear: both;
}
#news div.image_wrap {
	width: 100%;
	min-height: 5rem;
	margin: min(6vw, 3rem) 0;
}
#news iframe {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	margin: min(6vw, 3rem) 0;
}
#news div.image_wrap {
	display: flex;
	justify-content: center;
	width: 100%;
	gap: min(5vw, 2.5rem);
}
@media (max-width: 45rem) {
	#news div.image_wrap {
		flex-direction: column;
		align-items: center;
	}
}
#news div.image_wrap figure img {
	width: 100%;
	height: auto;
}
#news #pdf a:any-link {
	display: flex;
	align-items: center;
}
#news #pdf a:any-link::before {
	content: '';
	dispaly: block;
	width: 2rem;
	height: 3rem;
	background: url(./images/icon_pdf.svg) center center no-repeat;
	background-size: contain;
	margin-right: 0.5rem;
}

/* ==================================================
サブページ / 工場・設備
================================================== */
#factory_title {
	background: url(./images/h2_bg_factory.jpg) center center no-repeat;
	background-size: cover;
}
#factory_title h2 {
	color: white;
}

/* ==================================================
商品紹介 CGI 個別の商品ページ
================================================== */
#item_header {
	width: 60rem;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
}
#item_header #item_pankuzu {
	display: flex;
	margin: 0;
	padding: 1rem 0 calc(1rem + 3px);
	width: 100%;
	overflow: hidden;
	position: relative;
}
#item_header #item_pankuzu::after {
	content: '';
	display: block;
	width: 10rem;
	height: 3px;
	background: #111;
	position: absolute;
	bottom: 0;
	left: 0;
}
#item_header ul#item_pankuzu li {
	padding: 0.5rem 0 0.25rem;
	white-space: nowrap;
}
#item_header ul#item_pankuzu li + li::before {
	content: '>';
	white-space: nowrap;
	padding: 0.5rem;
}
#item_header ul#item_pankuzu li,
#item_header ul#item_pankuzu li a {
	font-size: 0.75rem;
	color: #999;
}
#item_header p.sub_category_name {
	margin: 1.25rem 0 1rem;
	padding: 0.25em 1em;
	color: white;
	background: #CCC;
	width: fit-content;
	font-size: 0.9rem;
}
/* 商品名 */
#item_header h3.item_name {
	font-size: clamp(1.25rem, 5vw, 2rem);
	font-weight: 600;
	font-family: "Shippori Mincho", serif;
	margin: 1rem 0 2rem;
}

#item_body {
//	background: url(./images/bg_item.jpg) center center;
	background: #f4f3e9;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: min(10vw, 5rem) 3rem;
	padding: min(8vw, 4rem) 5vw min(10vw, 5rem);
}
#item_body > * {
	width: 28.5rem;
}
/* 3点画像 */
#item_body #item_photo input {
	display: none;
}
#item_body #item_photo {
	display: grid;
	grid-template-rows: calc(28.5rem / 4 * 3) auto;
	grid-template-columns: calc((100% - 1rem) / 3) calc((100% - 1rem) / 3) calc((100% - 1rem) / 3) ;
	gap: 0.5rem;
}
@media (max-width: 32rem) {
	#item_body #item_photo {
		grid-template-rows: 67.5vw auto;
	}
}
#item_body #item_photo #big_photo {
	grid-area: 1/1/2/4;
	position: relative;
	width: 100%;
	height: 100%;
	aspect-ratio: 4/3;
	border: solid thin #CCC;
}
#item_body #item_photo #big_photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	z-index: -1;
	transition: .5s;
}
#item_body #item_photo #big_photo input:checked + a img {
	opacity: 1;
	z-index: 1;
}
#item_body #item_photo label img {
	width: 100%;
	height: auto;
	aspect-ratio: 4/3;
	object-fit: cover;
}
#item_body #item_photo #small_photo1 {
	grid-area: 2/1/3/2;
	overflow: hidden;
}
#item_body #item_photo #small_photo2 {
	grid-area: 2/2/3/3;
	overflow: hidden;
}
#item_body #item_photo #small_photo3 {
	grid-area: 2/3/3/4;
	overflow: hidden;
}

/* 説明部分 */
#item_details div.table_wrap table {
	min-width: 100%;
	border-collapse: collapse;
	border-top: solid thin #111;
}
#item_details div.table_wrap table th,
#item_details div.table_wrap table td {
	border-bottom: solid thin #111;
	padding: 0.5rem;
	line-height: 1.75;
	vertical-align: top;
}
#item_details div.table_wrap table th:first-child,
#item_details div.table_wrap table td:first-child {
	white-space: nowrap;
	font-weight: 600;
	width: 1px;
}
/* 個別の商品ページに設置する戻るボタン */
#item_body #item_back {
	width: 100%;
	display: flex;
	justify-content: center;
}
#item_body #item_back a:any-link {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 18em;
	height: 3em;
	color: white;
	background: #111;
	box-shadow: 0.25rem 0.25rem 0.5rem rgba(0,0,0,0.1);
	transition: .2s;
}
#item_body #item_back a:hover {
	background: #333;
}
#item_body #item_back a:active {
	box-shadow: 0 0 0 rgba(0,0,0,0.1);
}

/* ==================================================
商品紹介 CGI 一覧ページ
================================================== */
#ichiran div {
	padding: min(6vw, 3rem) 0;
}
#ichiran div:nth-child(odd) {
	background: #f4f3e9;
}
#ichiran div h3 {
	width: 60rem;
	max-width: calc(100% - 10vw);
	margin: 0 auto 1em;
	font-size: clamp(1.5rem, 5.5vw, 2.25rem);
	color: #999;
	font-weight: 600;
	letter-spacing: 0.125em;
}
#ichiran div h3 + ul {
	display: flex;
	flex-wrap: wrap;
	gap: min(6vw, 3rem) min(5vw, 2rem);
	width: 60rem;
	max-width: calc(100% - 10vw);
	margin: 0 auto;
}
@media (max-width: 70rem) {
	#ichiran div h3 + ul {
		justify-content: center;
	}
	#ichiran div h3 + ul::after {
		content: '';
		width: calc(54rem / 4);
		max-width: 40vw;
		height: 0;
		order: : 2;
	}
}
#ichiran div h3 + ul li {
	width: calc(54rem / 4);
	max-width: 40vw;
}
#ichiran div h3 + ul li img {
	display: block;
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
	margin-bottom: 0.25rem;
	border: solid thin #CCC;
}
#ichiran div h3 + ul li dl dt,
#ichiran div h3 + ul li dl dd {
	font-size: 0.9rem;
	line-height: 1.5;
}
/* カテゴリナビ */
#ctg_navi {
	width: 60rem;
	max-width: calc(100% - 10vw);
	margin: 1rem auto;
	display: flex;
	justify-content: space-between;
}
#ctg_navi li {
	width: calc((100% - 3rem) / 4);
	flex: none;
}
#ctg_navi li a {
	width: 100%;
	height: 3.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	border: solid thin #111;
	background: white;
	box-shadow: 0.25rem 0.25rem 0.5rem rgba(0,0,0,0.025);
	transition: .5s;
	padding: 0 0.75rem;
	text-wrap: balance;
	text-align: center;
	line-height: 1.25;
}
#ctg_navi li a:active {
	box-shadow: 0rem 0rem 0rem rgba(0,0,0,0);
}


