/* Merged per-page styles; originals preserved in user source ZIP. */

/* ===== index.css : page-home ===== */
/********** key visual **********/
body.page-home #CZ_mainImg {
	z-index: 1;
	position: absolute;
	/*top: 70px;*/
	top: 85px;
	left: 0px;
}

body.page-home #CZ_news {
	margin: 30px 30px 30px 10px;
}

body.page-home #CZ_news li {
	margin: 0 0 15px 0;
}

body.page-home #CZ_news li div {
	margin: 0 15px 0 0;
	line-height: 150%;
	float: left;
	zoom: 100%;
}



body.page-home #CZ_news li span {
	display: inline-block;
	width: 60px;
}



/* メインビジュアル */

body.page-home #top {
  margin-top: -20px;
  width: 100%;
  background-color: #000000;
  text-align: center;
}

body.page-home #top img {
  display: block;
  width: 800px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

/* ===== concept.css : page-concept ===== */
/**********  **********/
body.page-concept .CZ_contentTextTitle {
	font-size: 18px;
}

body.page-concept .CZ_contentTextTitle14 {
	font-size: 14px;
}

body.page-concept .CZ_contentComent {
	color: #330000;
}






/********** project **********/
body.page-concept .CZ_projectImg {
	margin: 0 0 15px 0;
}

body.page-concept #CZ_projectFlow {
	/*text-align: center;*/
	margin: 0 0 30px 0;
}

body.page-concept #CZ_projectFlow div {
	margin: 0px;
	padding: 0px;
}

body.page-concept #CZ_projectFlow div img {
	margin: 0px;
	padding: 0px;
}

body.page-concept .CZ_projectTitle {
	margin: 0 0 5px 0;
/*
	font-weight: bold;
	font-size: 16px;
*/
}

body.page-concept .CZ_projectSubTitle {
	margin: 0 0 5px 0;
	font-weight: bold;
}

body.page-concept .CZ_projectText {
	margin: 0 0 35px 0;
}

body.page-concept .CZ_projectSubText {
	font-size: 12px;
	margin: 0 0 35px 0;
}

body.page-concept .CZ_projectText a {
	text-decoration: underline;
}

body.page-concept .CZ_projectText div.CZ_projectText_detail {
	margin: 5px 0 15px 5px;
}






/********** project **********/
/*
.CZ_projectImg {
	margin: 0 0 15px 0;
}

#CZ_projectFlow {
	text-align: center;
	margin: 0 0 30px 0;
}

#CZ_projectFlow div {
	margin: 0px;
	padding: 0px;
}

#CZ_projectFlow div img {
	margin: 0px;
	padding: 0px;
}

.CZ_projectTitle {
	margin: 0 0 5px 10px;
	font-weight: bold;
	font-size: 16px;
}

.CZ_projectSubTitle {
	margin: 0 0 5px 0;
	font-weight: bold;
}

.CZ_projectText {
	margin: 0 0 35px 10px;
}

.CZ_projectText a {
	text-decoration: underline;
}

.CZ_projectText div.CZ_projectText_detail {
	margin: 5px 0 15px 5px;
}
*/

/* ===== material.css : page-material ===== */
/********** ingredient **********/
body.page-material .CZ_ingredientList {
	margin-top: 20px;
	margin-bottom: 5px;
	width: 60%;
	border-top: 1px solid #999999;
	border-left: 1px solid #999999;
}

body.page-material .CZ_ingredientList th, body.page-material .CZ_ingredientList td {
	padding: 3px 0 2px 0;
	text-align: center;
	vertical-align: middle;
	border-right: 1px solid #999999;
	border-bottom: 1px solid #999999;
}

body.page-material .CZ_ingredientList th {
	background-color: #DDD9C3;
}

body.page-material .CZ_hoshi {
	font-weight: bold;
	color: #FF0000;
}

body.page-material .CZ_ingredientListBottomText {
	margin-bottom: 15px;
}

/* ===== location.css : page-location ===== */
/********** business **********/
body.page-location .CZ_locationText {
	line-height: 150%;
}

body.page-location .CZ_locationBanner {
	margin: 0 0 10px 0;
}

/* ===== business.css : page-business ===== */
/********** business **********/
body.page-business #CZ_businessText {
	line-height: 150%;
	margin: 0 0 30px 10px;
}

body.page-business #CZ_businessText span {
	font-size: 10px;
}

/* ===== administration.css : page-administration ===== */
/**********  **********/
body.page-administration #CZ_adminText {
	line-height: 150%;
	margin: 0 0 30px 10px;
}

body.page-administration #CZ_adminText span {
	font-size: 10px;
}



body.page-administration #CZ_adminText table {
	border-top: 1px solid #777670;
	border-left: 1px solid #777670;
	margin-bottom: 20px;
}

body.page-administration #CZ_adminText table th, body.page-administration #CZ_adminText table td {
	border-right: 1px solid #777670;
	border-bottom: 1px solid #777670;
	line-height: 160%;
	vertical-align: middle;
	padding: 8px 15px 8px 10px;
}

body.page-administration #CZ_adminText table th {
	background-color: #EEECE1;
	font-weight: bold;
	white-space: nowrap;
}

body.page-administration #CZ_adminText table td {

}

/* ===== faq.css : page-faq ===== */
/********** faq **********/
body.page-faq .CZ_faqListTitle {
	margin: 15px 0 10px 0;
}

body.page-faq .CZ_faqList {
	width: 100%;
	margin: 0 0 10px 0;
}

body.page-faq .CZ_faqQA {
	line-height: 150%;
	margin-left: 10px;
	width: 15px;
	float: left;
	zoom: 100%;
}

body.page-faq .CZ_faqContent {
	line-height: 150%;
	width: 95%;
	float: left;
	zoom: 100%;
}

/* ===== press.css : page-press ===== */
/**********  **********/
body.page-press #CZ_pressText {
	line-height: 150%;
	margin: 0 0 30px 10px;
}
body.page-press .CZ_pressNews {
	margin: 30px 30px 30px 10px;
	line-height: 150%;
}

body.page-press .CZ_pressNews dt {
	float: left;
	width: 6em;
}
body.page-press .CZ_pressNews dd {
	margin-left: 6.5em;
}

/* ===== privacy_policy.css : page-privacy_policy ===== */
/**********  **********/
body.page-privacy_policy #CZ_privacypolicy {
	line-height: 180%;
}



body.page-privacy_policy #CZ_privacypolicyyUpdate {
	text-align: right;
}

body.page-privacy_policy .CZ_privacypolicyTitle {
	font-size: 14px;
	font-weight: bold;
	margin: 0 0 5px 10px;
}

body.page-privacy_policy .CZ_privacypolicyText {
	line-height: 180%;
	margin: 0 0 20px 20px;
}

body.page-privacy_policy .CZ_privacypolicySubTitle {
	font-weight: bold;
	margin: 0 0 5px 30px;
}



body.page-privacy_policy .CZ_privacypolicySubText {
	line-height: 180%;
	margin: 15px 0 30px 10px;
}

body.page-privacy_policy .CZ_privacypolicySubText li {
	margin: 0 0 10px 0;
}

body.page-privacy_policy .CZ_privacypolicySubText div {
	float: left;
	zoom: 100%;
}

body.page-privacy_policy .ppSubNum {
	width: 20px;
}

body.page-privacy_policy .ppSubTxt {
	width: 700px;
}

/* ===== sitepolicy.css : page-sitepolicy ===== */
/**********  **********/
body.page-sitepolicy #CZ_sitePolicyUpdate {
	text-align: right;
}

body.page-sitepolicy .CZ_sitePolicyTitle {
	font-size: 14px;
	font-weight: bold;
	margin: 0 0 5px 10px;
}

body.page-sitepolicy .CZ_sitePolicyText {
	line-height: 180%;
	margin: 0 0 20px 20px;
}

body.page-sitepolicy .CZ_sitePolicySubTitle {
	font-weight: bold;
	margin: 0 0 5px 30px;
}

body.page-sitepolicy .CZ_sitePolicySubText {
	line-height: 180%;
	margin: 0 0 20px 40px;
}



body.page-sitepolicy #CZ_getAdobeReader {
	font-weight: bold;
	margin: 5px 0 0 0;
}

body.page-sitepolicy #CZ_getAdobeReader img {
	vertical-align: middle;
	margin-right: 20px;
}



body.page-sitepolicy #CZ_sitePolicyBanner {

}

body.page-sitepolicy #CZ_sitePolicyBanner > div {
	margin: 10px 15px 10px 0;
	float: left;
	zoom: 100%;
}

body.page-sitepolicy #CZ_sitePolicyBanner > div > div {
	font-weight: bold;
	text-align: center;
}

body.page-sitepolicy #CZ_sitePolicyBanner100 {
	width: 100px;
}

body.page-sitepolicy #CZ_sitePolicyBanner160 {
	width: 160px;
}

body.page-sitepolicy #CZ_sitePolicyBanner120 {
	width: 120px;
}



body.page-sitepolicy #CZ_sitePolicyInfo a {
	font-weight: bold;
	text-decoration: underline;
}

/* ===== site_map.css : page-site_map ===== */
/**********  **********/
body.page-site_map #CZ_sitemap {
	margin: 0 0 0 20px;
}

body.page-site_map #CZ_sitemap a {
	text-decoration: underline;
}

body.page-site_map #CZ_sitemap > div {
	padding-left: 18px;
	background-image: url(../images/icon_sitemap.gif);
	background-repeat: no-repeat;
//	background-position: 
}

body.page-site_map .CZ_sitemap_1st {
	margin: 0 0 10px 0;
}

body.page-site_map .CZ_sitemap_2nd {
	margin: 0 0 10px 20px;
}

body.page-site_map .CZ_sitemap_last {
	margin-bottom: 25px !important;
}

/* ===== ふくあわびができるまで：style.css の末尾に追記 ===== */
body.page-concept-process .process-list-title {
  margin-bottom: 10px;
}
body.page-concept-process .process-list-title img {
  display: block;
  max-width: 100%;
  height: auto;
}
body.page-concept-process .process-step {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  column-gap: 15px;
  align-items: start;
  min-height: 173px;
  margin-bottom: 10px;
  clear: both;
}
body.page-concept-process .process-step > img {
  display: block;
  width: 260px;
  max-width: 100%;
  height: auto;
}
body.page-concept-process .process-step-description h2 {
  font-size: 14px;
  font-weight: bold;
  color: #c89f5d;
  line-height: 1.8;
}
body.page-concept-process .process-step-description p {
  margin: 0;
}
@media (max-width: 640px) {
  body.page-concept-process .process-step {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 10px;
    min-height: 0;
    margin-bottom: 22px;
  }
  body.page-concept-process .process-step > img {
    width: 100%;
    max-width: 260px;
  }
}

/* material/ : 干しあわびとは */
body.page-material .CZ_materialSectionTitle {
  font-size: 18px;
  font-weight: bold;
  margin: 24px 0 15px;
  padding-left: 10px;
  background: url(../images/icon_content_title.gif) left center no-repeat;
}
body.page-material .CZ_contentTextArea p {
  margin-bottom: 15px;
}

/* material/kind.html : 種類と大きさ（現在の style.css 末尾に追記） */
body.page-material-kind .CZ_kindTableScroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 10px 0 22px;
}
body.page-material-kind #kindTable {
  width: 100%;
  min-width: 480px;
  border-collapse: collapse;
  table-layout: fixed;
  line-height: 1.4;
}
body.page-material-kind #kindTable th,
body.page-material-kind #kindTable td {
  box-sizing: border-box;
  padding: 4px 5px;
  border: 1px solid #fff;
  vertical-align: top;
  overflow-wrap: anywhere;
}
body.page-material-kind #kindTable th {
  background: #a9a57c;
  color: #fff;
  text-align: center;
  font-weight: bold;
}
body.page-material-kind #kindTable th:nth-child(1) { width: 20%; }
body.page-material-kind #kindTable th:nth-child(2) { width: 33%; }
body.page-material-kind #kindTable th:nth-child(3) { width: 19%; }
body.page-material-kind #kindTable th:nth-child(4) { width: 28%; }
body.page-material-kind #kindTable td.name {
  background: #675e47;
  color: #fff;
  font-weight: bold;
}
body.page-material-kind #kindTable td.odd { background: #e2e1d7; }
body.page-material-kind #kindTable td.even { background: #f1f0ec; }



/* ===== business project restoration ===== */
body.page-business.page-business-project .CZ_contentTextTitle14 {
  font-size: 14px;
}
body.page-business.page-business-project .CZ_contentComent {
  color: #330000;
}
body.page-business.page-business-project .CZ_projectImg {
  margin: 0 0 15px 0;
}
body.page-business.page-business-project #CZ_projectFlow {
  margin: 0 0 30px 0;
}
body.page-business.page-business-project #CZ_projectFlow div,
body.page-business.page-business-project #CZ_projectFlow div img {
  margin: 0;
  padding: 0;
}
body.page-business.page-business-project .CZ_projectSubText {
  font-size: 12px;
  margin: 0 0 35px 0;
}
body.page-business.page-business-project .CZ_projectTitle {
  margin: 0 0 5px 0;
}
body.page-business.page-business-project .CZ_projectText {
  margin: 0 0 35px 0;
}
body.page-business.page-business-project .CZ_projectText a,
body.page-business.page-business-project .CZ_projectSubText a {
  text-decoration: underline;
}
body.page-business.page-business-project .CZ_projectDiagram {
  margin: 0 0 15px 0;
}
body.page-business.page-business-project .CZ_projectImg img,
body.page-business.page-business-project .CZ_projectDiagram img,
body.page-business.page-business-project #CZ_projectFlow img {
  max-width: 100%;
  height: auto;
}
body.page-administration #CZ_adminText p {
  margin: 0 0 15px 0;
}
body.page-administration #CZ_pressText {
  line-height: 150%;
  margin: 0 0 30px 10px;
}
/* FAQ restore refinements */
body.page-faq .b {
  color: #660000 !important;
  font-weight: bold;
}
body.page-faq .CZ_faqAnswerBlock {
  margin-top: 55px;
}
body.page-faq .CZ_faqAnswerGap {
  margin-top: 28px;
}
body.page-faq hr {
  margin: 18px 0 0;
  border: 0;
  border-top: 1px solid #999999;
}


/* ===== inquiry info page ===== */
body.page-inquiry-info #CZ_inquiryInfo {
  line-height: 180%;
  margin: 0 10px 30px 10px;
}

body.page-inquiry-info #CZ_inquiryInfo p {
  margin: 0 0 16px 0;
}

body.page-inquiry-info #CZ_inquiryLinkArea {
  margin: 35px 0 12px;
  text-align: center;
}

body.page-inquiry-info #CZ_inquiryLinkArea a {
  display: inline-block;
  padding: 12px 28px;
  background: #5b0b08;
  color: #ffffff;
  font-weight: bold;
  text-decoration: none;
  border: 1px solid #3d0705;
}

body.page-inquiry-info #CZ_inquiryLinkArea a:hover {
  background: #7a1712;
  text-decoration: none;
}

body.page-inquiry-info .CZ_inquiryNote {
  text-align: center;
  font-size: 11px;
}


/* =========================================================
   Responsive quick fix 2026-10-06
   PC版は維持し、820px以下のみ旧800px固定レイアウトを解除
   ========================================================= */
@media (max-width: 820px) {

  html,
  body {
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  body,
  td,
  th {
    font-size: 14px;
    line-height: 1.6;
  }

  #CZ_wrap {
    width: 100%;
    max-width: 100%;
  }

  /* ----- 全体固定幅を解除 ----- */
  #CZ_head,
  #CZ_main,
  #CZ_foot,
  #CZ_subMenu {
    width: 100%;
    max-width: 800px;
    box-sizing: border-box;
  }

  #CZ_main {
    padding-left: 10px;
    padding-right: 10px;
  }

  body.page-home #CZ_main {
    padding-left: 0;
    padding-right: 0;
  }

  /* ----- header ----- */
  #CZ_headArea {
    height: auto;
    min-height: 105px;
    background-repeat: repeat;
  }

  #CZ_head {
    min-height: 105px;
    padding: 0 8px;
    background-image: none;
    box-sizing: border-box;
  }

  #CZ_logo_menu {
    display: flex;
    width: 100%;
    align-items: flex-start;
    box-sizing: border-box;
  }

  #CZ_logo {
    float: none;
    flex: 0 0 76px;
    margin-top: 7px;
  }

  #CZ_menu {
    float: none;
    flex: 1 1 auto;
    min-width: 0;
    margin: 14px 0 8px 4px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px;
  }

  #CZ_menu li {
    float: none;
    margin: 0;
    min-width: 0;
  }

  #CZ_menu a,
  #CZ_menu span {
    height: auto;
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #CZ_menu a div,
  #CZ_menu span div {
    width: 100%;
    padding: 7px 3px;
    text-align: center;
    line-height: 1.25;
    box-sizing: border-box;
  }

  /* 古い右上ロゴはスマホでは非表示 */
  #CZ_aLogo {
    display: none;
  }

  /* ----- TOP ----- */
  body.page-home #top {
    margin-top: 0;
    width: 100%;
  }

  body.page-home #top img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  body.page-home #CZ_news {
    margin: 22px 16px 24px;
  }

  body.page-home #CZ_news li {
    margin-bottom: 14px;
    line-height: 1.6;
  }

  body.page-home #CZ_news li div {
    float: none;
    margin: 0 0 4px;
    line-height: 1.6;
  }

  body.page-home #CZ_news li span {
    width: auto;
  }

  /* ----- 下部共通メニュー ----- */
  #CZ_subMenu {
    overflow: visible;
  }

  #CZ_subMenu ul {
    position: static;
    left: auto;
    float: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 0;
    padding: 14px 10px 10px;
    box-sizing: border-box;
  }

  #CZ_subMenu li {
    position: static;
    left: auto;
    float: none;
    white-space: normal;
    padding: 0 4px 4px;
  }

  #CZ_subMenu li a,
  #CZ_subMenu li span {
    padding-left: 4px;
  }

  /* ----- footer ----- */
  #CZ_footArea {
    height: auto;
    min-height: 30px;
    background-color: #4b0907;
    background-repeat: repeat;
  }

  #CZ_foot {
    padding: 8px 10px 10px;
    line-height: 1.6;
    box-sizing: border-box;
  }

  #CZ_foot span {
    display: block;
    margin: 4px 0 0;
  }

  #CZ_foot a {
    padding: 0 5px;
  }

  /* ----- 下層ページ共通 ----- */
  #CZ_hierarcy {
    margin: 0 0 10px;
    overflow-wrap: anywhere;
  }

  #CZ_content {
    width: 100%;
    min-height: 0;
    padding: 16px;
    box-sizing: border-box;
  }

  #CZ_contentMenu,
  #CZ_contentMain {
    float: none;
    width: 100%;
    box-sizing: border-box;
  }

  #CZ_contentMenu {
    margin: 0 0 18px;
  }

  #CZ_contentMain {
    line-height: 1.6;
  }

  #CZ_wrap img {
    max-width: 100%;
    height: auto;
  }

  .CZ_contentImageArea {
    width: 100%;
    height: auto;
    min-height: 0;
  }

  .CZ_contentImageArea > img,
  .CZ_contentImageRight {
    float: none;
  }

  .CZ_contentImageRight {
    width: 100%;
    min-height: 200px;
    box-sizing: border-box;
  }

  /* privacy policy の旧700px固定を解除 */
  body.page-privacy_policy .ppSubTxt {
    width: calc(100% - 28px);
  }

  body.page-privacy_policy .CZ_privacypolicySubText div {
    max-width: 100%;
  }

  /* site policy の大きい字下げをスマホでは縮小 */
  body.page-sitepolicy .CZ_sitePolicyText,
  body.page-sitepolicy .CZ_sitePolicySubText,
  body.page-sitepolicy .CZ_sitePolicySubTitle {
    margin-left: 10px;
    margin-right: 0;
  }

  body.page-sitepolicy #CZ_sitePolicyBanner {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  body.page-sitepolicy #CZ_sitePolicyBanner > div {
    float: none;
    margin: 0;
  }

  body.page-site_map #CZ_sitemap {
    margin-left: 0;
  }
}
