@charset "UTF-8";

/* ---------------------
 * FONTSIZE MODEL * 
 * ---------------------
 *  63% ->	10pxに相当
 *  70% ->	11pxに相当
 *  75% ->	12p<strong></strong>xに相当
 *  82% ->	13pxに相当
 *  88% ->	14pxに相当
 *  94% ->	15pxに相当
 * 100% ->	16pxに相当
 * 107% ->	17pxに相当
 * 113% ->	18pxに相当
 * 119% ->	19pxに相当
 * 125% ->	20pxに相当
 * --------------------- */


/* ========BASIC======== */
* {
   font-family:"Hiragino Kaku Gothic Pro",HiraKakuPro-W3,"ヒラギノ角ゴ Pro W3","メイリオ", Meiryo,"MS P ゴシック",verdana,sans-serif;
   color:#333;
}

body {
   margin:0;
   padding:0;
   letter-spacing:1px;
   background:#fff url("../images/common/hedder_bk.jpg") 0 0px repeat-x;
}

br {
   letter-spacing:normal;
}

a {
   color:#000;
   text-decoration:none;
}

a:hover {
   color:#999;
   text-decoration:underline;
}

img {
   border:0;
   vertical-align:bottom;
}

h1,h2,h3,h4,h5,h6 {
   margin:0;
}



/* ========TEMPLATE LAYOUT======== */
div#top {
   width:780px;
   margin:0 auto;
   padding:0;

}

div#header {
	position:relative;
	width:780px;
	background-image: url(../images/common/bk_matsu.png);
	background-repeat: no-repeat;
	background-position: right 3px;
}

div#pr {
   position:absolute;
   left:0;
   top:0;
}

div#serch {
   position:absolute;
   top:0;
   right:0;
}

div#gnavi {
   position:absolute;
   top:0;
   right:0;
}

div#gnavi2 {
	position: absolute;
	top: 31px;
	right: 6px;   /*** 2016-1028 追加 ***/
}

div#menu {
   float:left;
   /*width:780px;*/
   width:781px;  /*** 2013-0722 追加 ***/
}

div#icatch {
   width:780px;
   height:331px;     /*** 2013-0722 追加 ***/
   margin-top:41px;  /*** 2013-0722 追加 ***/
   background-color: #9f9f9f;
   margin-bottom: 60px;
}

div#main {
   float:right;
   width:780px;
}

div#contents {
	float:left;
	width:780px;
	padding:0px;
	margin:10px 0;
	}

div#totop {
   clear:both;
}

div#footMenu {
   float:left;
   width:780px;
   margin-top:10px;

}

div#footer {
   clear:both;
   width:780px;
}


/* ========HEADER CUSTOMIZE======== */
div#header h1 {
   margin:0;
   padding:20px 0 0 0;
   font-size:200%;/* 32px相当 */
   line-height:1.0;
}

div#header h1 a:hover {
   color:#f1f1f1;
}


div#header #gnavi ul {
	font-size:75%;/* 12px相当 */
	margin:0;
	padding:25px 0 0 0;
    line-height:1.0;
    list-style:none;

}


div#header #gnavi li {
   float:left;
   margin:0;
   padding:0;
}


div#header #gnavi li a {
	background-image: url(../images/common/contact_bt.png);
	background-repeat: no-repeat;
	text-indent: -9999px;
	display: block;
	height: 30px;
	width: 130px;
}

div#header #gnavi li a:hover {
	background-position: 0px -30px;
}



/* ========MENU CUSTOMIZE======== */
div#menu ul {
   margin:0 0 1px 0;
   padding:0;
   font-size:75%;/* 12px相当 */
   list-style:none;
}

div#menu li {
   overflow:hidden;
   float:left;
   margin:0;
   margin-left:-1px;
   padding:0;
   border:1px solid #CECBCE;
   border-bottom:none;
   background:#fff url("../images/common/bg_menu.gif") -40px 0 repeat-x;
}

div#menu li a {
   display:block;
   width:129px;
   height:20px;
   padding:10px 0;
   line-height:20px;
   font-weight:bold;
   text-align:center;
   outline:none;
}

div#menu li a:hover {
   color:#fff;
   text-decoration:none;
   background:#fff url("../images/common/bg_menu.gif") 100% 100% repeat-x;
}

div#menu li.home {
   width:129px;
   margin-left:0;
   border-left:1px solid #CECBCE;
}

div#menu li.active a {
   color:#fff;
   background:#fff url("../images/common/bg_menu.gif") 100% 100% repeat-x;
   text-decoration:none;
}

/* ========MAINCONTENTS CUSTOMIZE======== */
div#main a {
	font-weight: bold;
	color: #52703F;
}

div#main a:hover {
	font-weight: bold;
	color: #52703F;
	text-decoration: none;
}

div#main a:active {
	font-weight: bold;
	color: #52703F;
	text-decoration: none;
}


div#main h2 {
   clear:both;
   padding:1px 10px;
   line-height:2.0;
   color:#fff;
   font-size:113%;/* 18px相当 */
   font-weight:bold;
   background:#fff url("../images/common/bg_h2.png") 100% 100% repeat-x;
}

div#main h3 {
	margin-bottom:12px;
	padding:0px 23px;
	line-height:1.8;
	font-size:100%;/* 16px相当 */
	color:#333333;
	background-image: url(../images/common/bg_h3_arrow.gif);
	background-repeat: no-repeat;
	background-position: left center;
}

div#main h4 {
	padding:1px 5px;
	line-height:1.4;
	font-size:94%;/* 15px相当 */
	background-color: #EDE7BE;
	border-color: #BCB66D;
	border-top-width: 2px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-bottom-style: dotted;
}

div#main h5 {
   margin-bottom:2px;
   font-size:88%;/* 14px相当 */
}

div#main h6 {
	font-size: 100%;/* 16px相当 */
	padding-left: 63px;
	padding-bottom: 30px;
}

div#main p {
	font-size: 82%;/* 13px相当 */
	line-height: 1.5;
	margin-top: 5;
	margin-right: 0;
	margin-bottom: 1em;
	margin-left: 0;
}

div#main span {

}

div#main ul,ol {
   font-size:82%;/* 13px相当 */
   line-height: 1.5;   
}


/* TOPNAVI CUSTOMIZE */


div#topNavi {
	text-align: center;
	/*margin-top: 0px;
	margin-right: auto;
	margin-bottom: 10px;
	margin-left: auto;*/
	margin:0 0 0 10px;
	background-image: url(../images/index/TopNaviBk.gif);
}


div#topNavi ul#topNaviMenu {
    margin: 5px 0px;
    list-style: none;
    display: inline-block;
}

/*IE hack*/
*div#topNavi ul#topNaviMenu {
	margin:0px 0px 0px 50px;
	list-style: none;
	height:140px;
}
/*FF hack*/
html>/**/body div#topNavi, x:-moz-any-link{
	text-align:left;
	margin:0px;
	padding:0 0 0 30px;
	background-image: url(../images/index/TopNaviBk03.gif);
	height:140px;
}

div#topNavi ul#topNaviMenu li {
	padding: 0px;
	float: left;
	position: relative;
	width: 75px;
	height: 75px;
	margin-top: 20px;
	margin-right: 5px;
	margin-bottom: 20px;
	margin-left: 5px;
}

div#topNavi ul#topNaviMenu li a {
    position: absolute;
}

div#topNavi ul#topNaviMenu li img {
    position: absolute;
    width: 70px;
    top: 0px;
    left: 0px;
    padding: 0px;
    margin: 0 8px 0 0;
    border: none;
    overflow: hidden;
}


/* INFORMATION CUSTOMIZE */
div#main dl.information {
   margin:0;
}

div#main dl.information dt {
   float:left;
   padding-top:5px;
}

div#main dl.information dd {
   margin:0 0 5px 0;
   padding: 5px 0px 5px 9em;
   background:url("../images/common/bg_dotline.gif") 0 100% repeat-x;
   font-size:75%;
}


/* ========TOTOP CUSTOMIZE========= */
div#totop {
   text-align:right;
   font-size:70%;/* 11px相当 */
   margin:10px 0 0 0;
}

div#totop a {
	background:url("../images/common/bg_totop.gif") 0 50% no-repeat;
	padding: 0 0 0 12px;
}


/* ========FOOTMENU CUSTOMIZE======== */
div#footMenu ul {
   margin:5px 0;
   padding:20px 0;
   text-align:center;
   border-top:1px solid #ddd;
}

div#footMenu li {
   display:inline;
   margin:0 0 0 20px;
   font-size:75%;/* 12px相当 */
   list-style:none;
}

div#footMenu li a:hover {
   color:#666;
   text-decoration:underline;
}


/* ========FOOTER CUSTOMIZE======== */
address {
   font-style:normal;
   font-size:70%;/* 11px相当 */
   color:#999;
   line-height:3.0;
   text-align:center;
}


/* ========　TABLE CUSTOMIZ 1 (COMPANY)======== */


.chart1 {
   font-size:75%;/* 12px相当 */
}

.chart1 {
   width:550px;
   margin-bottom:20px;
   border-collapse:collapse;
   border:1px solid #CCC;
   border-spacing:0;
   line-height:1.5em;
}


.chart1 th {
	padding:8px;
	border:1px #CCC;
	background: #EDE7BE;
	font-weight: normal;
	text-align: left;
	border-width: 0 0 1 1;
	border-style: none none dotted solid;
}

.chart1 td {
   padding:8px;
   border:1px #CCC;
   border-width:0 1 1 0;
   border-style: none dotted dotted none;
   text-align:left;
}

.chart1 td ol{
margin:0;
padding:0 0 0 30px;
font-size:100%;
}

.chart1 td li{
margin:0;
padding:0;
}


/* ========　TABLE CUSTOMIZE 2 (PRODUCTS)======== */
.chart2 {
	width:auto;
	border-spacing:0;
	border-collapse:collapse;
	border:1px solid #CCC;
	font-size:63%;/* 10px相当 */
	margin-top: 1em;
	margin-right: 0em;
	margin-bottom: 0.3em;
	margin-left: 0em;
}


 .chart2 th {
	width:70px;
	border:1px #CCC;
	background: #EDE7BE;
	line-height: 120%;
	border-width: 0 0 1 1px;

	border-style: none none solid solid;
	text-align: center;
	font-weight: normal;
}

.chart2 td {
	width:70px;
	border:1px #CCC;
	border-width:0 0 1 1px;
	border-style: none none solid solid;
	text-align: center;
}

.chart2 caption {
	margin:5px;
}



/* 英語タイトル + 和文タイトル */
.company-info .title-en {
  font-size: 2rem;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 40px;
}

.company-info .title-en span {
  font-size: 1.2rem;
  font-weight: normal;
  display: block;
  margin-top: 5px;
}


/* ======== メインビジュアル ======== */
.main_visual {
  width: 100%;
  max-width: 780px; /* 必要に応じて調整 */
  margin: 0 auto;
}

.main_visual img {
  width: 100%;
  height: auto;
  display: block;
}
/* スライダー矢印調整 */

  .slick-next, .slick-prev{
    font-size: 50px;
}
  .slick-next, .slick-prev{
    z-index:10;
  }
  .slick-prev{
    left:4px;
  }
  .slick-next{
    right:4px;
  }


/* ======== おすすめ ======== */
/* 全体 */
.recommend {
  background-color: #fff;
  padding-bottom: 30px;
  font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  border-top: 1px solid #ddd;
}

/* コンテナ中央寄せ */
.recommend .container {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

/* セクションタイトル */

h2.recommend-title { 
  background: none !important;
  color: #000 !important;
  text-align: center ;
  margin: 10px;
}

/* カードのグリッド */
.recommend .grid {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: space-between;
}

/* 各カード */

.recommend .card {
  display: block;
  width: calc(33.333% - 13.3px);
  background-color: #fafafa;
  border: 1px solid #eee;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  color: #333;
  transition: transform 0.3s, box-shadow 0.3s;
}

.recommend .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.recommend .card img {
  width: 100%;
  height: auto;
  display: block;
}

.recommend .card-content {
  padding: 15px;
}

.recommend .card-content h3 {
  background-image: none !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}

.recommend .card-content p {
  font-size: 0.95rem;
  font-weight: normal !important;
  color: #333;
  margin: 0 !important;
}

/* ======== 企業情報・製品案内 ======== */
.company-info .info-items {
  display: flex;
  flex-wrap: wrap;
}

/* 各項目スタイル */
.company-info .info-item {
  flex: 1;
  width: 390px;
  padding:20px;
}

.company-info .info-item h3 {
  font-size: 1.5rem;
  margin-bottom: 10px;
  color: #333;
}

.company-info .info-item p {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 15px;
  color: #333333;
}

/* 詳細ボタン */
.company-info .info-item .btn {
  align-self: flex-start;
  margin-top: 0;
  display: inline-block;
  padding: 5px 12px;
  background: #f57c00;
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 4px;
  font-size: 0.9rem;
  font-weight: bold;
  transition: background 0.3s, transform 0.1s;
}

.company-info .info-item .btn:hover {
  background: #f57c00;
  color: #FFFFFF;
  opacity: 0.7;
}


/* 区切り線 */
.info-items {
border-bottom: 1px solid #ddd;
}

/* ======== 通販バナー ======== */
.banner-ec {
  display: flex;
  justify-content: center; /* 中央揃え */
  gap: 20px;              /* バナーの間隔 */
  margin: 20px 0;         /* 上下余白 */
}

.banner-ec a img {
  display: block;
}

/* ======== バナー ======== */
.banner-container {
  width: 780px;
  margin: 10px auto;
  display: flex;
  justify-content: space-between;
  gap: 0;
}

.banner-img {
 flex: 0 0 25%; /* 4つで100%にする */
  height: 160px;
  object-fit: cover;
  display: block;
  width: 100%;  */
  box-sizing: border-box; 
}


/* ======== SNS ======== */
/* SNSセクション全体 */
.sns-section {
  border-top: 1px solid #ddd;
  padding: 10px;
}

/* SNSリンクのリスト横並び */
.sns-links {
  display: flex;
　justify-content: space-between; 
  list-style: none;
  padding: 0;
  margin: 0;
}

/* liはフレックスアイテム、中央揃え */
.sns-links li {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-left: 1px solid #ccc;
  padding: 10px 0;
}

/* 最初のliは左線なし */
.sns-links li:first-child {
  border-left: none;
}

/* 最後のliは右線なし */
.sns-links li:last-child {
  border-right: none;
}

/* aタグは横並びで中央寄せ */
.sns-links a {
  display: flex;
  align-items: center;
  color: #000;
  font-weight: normal !important;
}

/* アイコンのサイズと余白 */
.sns-links img {
  width: 24px;
  height: 24px;
  margin: 0px 12px;
}

/* テキスト全体の縦並び */
.sns-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* タイトル（SNS名）の文字サイズと太さ */
.sns-title {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 5px;
}

/* 説明文の文字サイズと色 */
.sns-desc {
  font-size: 12px;
  color: #333333;
}

img:hover{ 
	opacity:0.7;
	transition:0.3s;
}