@charset “utf-8”;

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Zen+Maru+Gothic&display=swap');

/*------------------------------------------
general
------------------------------------------*/

:root {
	--main-color: #00AE95;
	--textbase:#746C52;
	--bg-yellow:#FFFDFA;
	--bg-gray:#F5F2ED;
	--bg-lightgray:#FBFBFB;
	--beige:#E9E3D8;
	--orange:#EC9136;
	--serif: 'Noto Serif JP', "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
	--sans_serif: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
	--century: Futura, 'Century Gothic';
	--kozuka: '小塚ゴシック Pro','Kozuka Gothic Pro',sans-serif;
	--meiryo: "Meiryo UI", Meiryo, "Hiragino Sans", "Yu Gothic", sans-serif;
	--maru: "Zen Maru Gothic", serif;
}
html{
	font-size: 62.5%;
}
body{
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	color:var(--textbase);
	overflow-x:hidden;
	font-size:1.6rem;
	-webkit-text-size-adjust:none;
	line-height:1.86667;
}
img:not(.clickok) {
  pointer-events: none;
  -webkit-user-drag: none; /* Chrome, Safari, Operaを禁止する場合 */
  -khtml-user-drag: none; /* Konquerorを禁止する場合 */
  -moz-user-drag: none; /* Firefoxを禁止する場合 */
}
p{
	font-size:1.6rem;
}
a{
	text-decoration:none;
	transition: all 0.5s 0s ease-in-out;
	color:var(--textbase);
}
a img{
	transition:0.3s all;
}
a img:hover{
	transform:scale(1.05);
}

a.underline {
    display: inline-block;
    padding-bottom: 4px;
    border-bottom: 1px solid #0000EE;
    margin-bottom: 15px;
    color:#0000EE;
}


.f_mincho{
	font-family: "Noto Serif JP", serif;
}
.f_century{
	font-family: Futura, 'Century Gothic';
}
.f_meiryo{
	font-family: var(--meiryo);
}
.mx-auto{
	margin-left:auto;
	margin-right:auto;
}
.mt-15{
	margin-top:15px;
}
.mt-30{
	margin-top:30px;
}
.mt-50{
	margin-top:50px;
}
.text-center{
	text-align:center;
}
.text-left{
	text-align:left !important;
}

span.linemarker {
	  background:linear-gradient(transparent 60%, #ff6 60%);
}
.red{
	color:#ff0000;
}
.bold{
	font-weight:600;
}
.small{
	font-size:88%;
}
.spbr{
	display:none;
}
.disp_sp{
	display:none;
}
.sp_left{
	text-align:center;
}
@media screen and (max-width: 599px) {
	.spbr{
		display:block;
	}
	.pcbr{
		display:none;
	}
	.disp_pc{
		display:none !important;
	}
	.disp_sp{
		display:block;
	}

	.sp_left{
		text-align:left !important;
	}
}

.boxshadow{
	-webkit-box-shadow:0 0 8px rgba(0,0,0,0.3);
	box-shadow:0 0 8px rgba(0,0,0,0.3);
}
.boxshadow2{
	-webkit-box-shadow:0 0 4px rgba(0,0,0,0.2);
	box-shadow:1 1 3px rgba(0,0,0,0.2);
}

.wrapper{
	max-width:1280px;
	margin-inline:auto;
	padding-left:15px;
	padding-right:15px;
}
.position-relative{
	position:relative;
}
.tategaki{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.bg_a{
	background-image:url("../images/common/bg.jpg");
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
}
.bg_b{
	background-image:url("../images/common/bg3.jpg");
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
}
a.btn_small{
	background:#fff;
	font-size:1.2rem;
	border-radius:20px;
	padding:6px 16px;
	box-shadow: 2px 2px 4px #ccc;
	transition:0.3s all;
}
a.btn_small:hover{
	transform:scale(1.1);
}
a.btn_more{
	background:var(--main-color);
	padding:10px 50px;
	color:#fff;
	font-size:1.6rem;
	border-radius:30px;
	display:inline-block;
	transition:0.3s all;
}
a.btn_more:hover{
	transform:scale(1.1);
}
.cnr_ttl h2{
	font-size:3.6rem;
	font-weight:300;
}
.cnr_ttl p{
	margin-top:10px;
	letter-spacing: 0.12em;
}

.ttl_orangeline {
    display: flex;
    align-items: center;
	font-size:2.4rem;
	font-weight:600;
	margin:35px 0;
}

.ttl_orangeline:before,
.ttl_orangeline:after {
    content: "";
    height: 6px;
    flex-grow: 1;
    background-color: #FFC542;
}

.ttl_orangeline:before {
    margin-right: 2rem;
}

.ttl_orangeline:after {
    margin-left: 2rem;
}

ul.kome{
	list-style: none;
	padding: 0;
}
ul.kome li{
	display: flex;
	padding:2px 0;
}
ul.kome li::before {
	content: "\203B";
	margin-right: .25em;
}
ul.maru{
	list-style: none;
	padding: 0;
}
ul.maru li{
	display: flex;
	padding:2px 0;
}
ul.maru li::before {
	content: "\25CF";
	margin-right: .25em;
}

ol.maruno {
	counter-reset: my-counter;
	list-style: none;
	padding: 0;
	margin: 0;
}
ol.maruno li {
	font-size: 16px;
	line-height: 1.5;
	padding-left: 30px;
	position: relative;
}
ol.maruno li:before {
	content: counter(my-counter);
	counter-increment: my-counter;
	background-color: #fff;
	border: 1px solid #707070;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 20px;
	width: 20px;
	font-size: 85%;
	line-height: 1;
	position: absolute;
	top: 0;
	left: 0;
}

a.linkmark {
    font-size: 1.3rem;
    position: relative;
    margin: auto;
    display: inline-block;
    padding-left: 15px;
}
a.linkmark:before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 4px;
    height: 4px;
    transform: translateY(-50%) rotate(45deg);
    border-right: 1px solid currentColor;
    border-top: 1px solid currentColor;
    content: "";
}

/*------------------------------------------
header
------------------------------------------*/

header#head_wrap{
	padding:20px 0px;
	text-align:center;
	position:relative;
	z-index:999;
	transition:0.3s all;

}
header#head_wrap h1{
	width:350px;
}
header#head_wrap.fixed{
	position:sticky;
	top:0;
	padding:6px 0px;
	background:rgba(255,255,255,1.0);
}
.header_inner{
	max-width:1280px;
	margin:auto;
	display:flex;
	justify-content: space-between;
	padding:0 15px;
}
#global-nav{
	padding:15px 0px 0px;
}
#global-nav>ul{
	margin: auto;
	display:flex;
	justify-content:space-between;
	align-items: center;
	list-style: none;
	padding-inline-start:0;
}
#global-nav>ul li{
	padding:0 10px;
}
#global-nav>ul li a{
	white-space:nowrap;
	font-family: var(--maru);
	color:#3E3936;
	font-weight:600;
	transition: all 0.5s 0s ease-in-out;
}
#global-nav>ul li a:hover{
	color:var(--orange);
}

/* Toggle Button */
#nav-toggle {
	display: none;
}

#nav-toggle div {
	position: relative;
}

/*プルダウン*/

#nav_menu{

}
#nav_menu li{
	position: relative;
}
#nav_menu li a{
	display: block;
}
#nav_menu li ul{
	list-style: none;
	position: absolute;
	top: 100%;
	left: 0;
	margin: 0;
	padding: 0;
	background-image: url("../images/common/bg.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	border-radius:6px;
}
#nav_menu li:last-child ul{
	left: -100%;
	width: 100%
}
#nav_menu li ul li{
	overflow: hidden;
	width: 100%;
	height: 0;
	color: #fff;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;
}
#nav_menu li ul li a{
	padding: 6px 10px;
	text-align: left;
	font-weight: 600;
	font-size:1.4rem;
}
#nav_menu li:hover ul li{
	overflow: visible;
	height: 38px;
	border-bottom: 1px solid #fff;
}
#nav_menu li:hover ul li:first-child{
	border-top: 0;
}
#nav_menu li:hover ul li:last-child{
	border-bottom: 0;
}
.btn_shop{
	max-width:250px;
}

/*------------------------------------------
footer
------------------------------------------*/

footer{
	padding:80px 15px 10px;
	text-align:center;
}
.footerlogo{
	width:340px;
	margin:0 auto 40px;
}
footer .footer_inner{

}
footer .footer_inner p{
	font-size:1.4rem;
}
footer .footer_inner p span{
	display:inline-block;
	padding:5px 10px;
}
.mapbtn{
	padding:15px;
	margin-bottom:30px;
}
.mapbtn a{
	display:inline-block;
	background:#707070;
	color:#fff;
	border-radius:20px;
	width:144px;
	text-align:center;
	padding:8px 0;
	font-size:1.0rem;
	transition:0.3s all;
}
.mapbtn a:hover{
	transform:scale(1.1);
}

footer .snslink{
	display:flex;
	padding:40px 0px;
	gap:24px;
	justify-content:center;
}


.copyright{
	font-size:1.2rem;
	padding:10px;
}

#page-top {
    position: fixed;
    z-index: 99999;
    bottom: 20px;
    right: 0;
}
#page-top a img{
    -moz-opacity: .8;
    opacity: .8;
    cursor: pointer;
    width: 50px;
    height: 50px;
}

/*------------------------------------------
lower
------------------------------------------*/
.pagehead{
	height:250px;
	background-size:cover;
	background-repeat:no-repeat;
	display:flex;
	justify-content:center;
	align-items:center;
}
.pagehead h2{
	display:inline-block;
	text-align:center;
	font-family: "Zen Maru Gothic", serif;
	font-weight:600;
	font-size:3.6rem;
	color:#fff;
	text-shadow:1px 1px 3px #000;
}
.pagehead h2 span{
	display:block;
	font-size:1.4rem;
	padding-bottom:6px;
	margin-bottom:6px;
	border-bottom:1px solid #fff;
}
.pagehead h2 span.under{
	padding-top:6px;
	border-bottom:none;

}
.pagehead.honey_japan{
	background-image:url("../images/honey_japan/pagehead.jpg?20250827");
	background-position:center center;
}
.pagehead.honey_world{
	background-image:url("../images/honey_world/pagehead.jpg?20250822");
	background-position:center bottom;
}
.pagehead.quality{
	background-image:url("../images/quality/pagehead.jpg");
	background-position:center center;
}
.pagehead.company{
	background-image:url("../images/company/pagehead.jpg");
	background-position:top -180px  center;
}
.pagehead.history{
	background-image:url("../images/history/pagehead.jpg");
	background-position:top -200px center;
}
.pagehead.store{
	background-image:url("../images/store/pagehead.jpg");
	background-position:center center;
}
.pagehead.kahonokai{
	background-image:url("../images/kahonokai/pagehead.jpg");
	background-position:center bottom;
}
.pagehead.recipe{
	background-image:url("../images/recipe/pagehead.jpg");
	background-position:center bottom;
}
.pagehead.access{
	background-image:url("../images/access/pagehead.jpg");
	background-position:center bottom;
}
.pagehead.news{
	background-image:url("../images/news/pagehead.jpg");
	background-position:center center;
}
.pagehead.recruit{
	background-image:url("../images/recruit/pagehead.jpg");
	background-position:center center;
}
.pagehead.privacypolicy{
	background-image:url("../images/privacypolicy/pagehead.jpg");
	background-position:center center;
}
.pagehead.cm_law{
	background-image:url("../images/cm_law/pagehead.jpg");
	background-position:center bottom;
}
.pagehead.contact{
	background-image:url("../images/contact/pagehead.jpg");
	background-position:center center;
}
.pagehead.diary{
	background-image:url("../images/diary/pagehead.jpg?20250731");
	background-position:center center;
}
.cnr_intro{
	text-align:center;
	margin-bottom:60px;
}
.cnr_intro h3{
	font-family:var(--serif);
	font-size:3.6rem;
	margin-bottom:45px;
	font-weight:normal;
}
.cnr_intro p{
}


/*------------------------------------------
responsive
------------------------------------------*/

@media screen and (max-width: 999px) {

	#mobile-head {
		width: 100%;
		z-index: 999;
		position: relative;
	}
	#mobile-head h1{
		width:250px;
		padding-left:15px;
	}
	.header_inner{
		position:relative;
		padding:0;
	}
	#nav-toggle {
		display: block;
	}

	#global-nav {
		position: absolute;
		/* 開いてないときは画面外に配置 */
		top: -600px;
		background: rgba(255, 255, 255, 1.0);
		width: 100%;
		text-align: center;
		-webkit-transition: .7s ease-in-out;
		-moz-transition: .7s ease-in-out;
		transition: .7s ease-in-out;
		display: block;
		margin-right: 0px;
		padding-bottom:20px;
	}
	#global-nav ul {
		/*display:block;*/
		flex-wrap:wrap;
		position: static;
		right: 0;
		bottom: 0;
		font-size: 1.4rem;
		margin-top: 20px;
		text-align:center;
		justify-content:center;
		column-gap: 10px;
	}
	#global-nav ul li {
		position: static;
		padding:0;
		/*padding:14px 0;*/
	}
	#global-nav ul>li:nth-child(1),
	#global-nav ul>li:nth-child(2),
	#global-nav ul>li:nth-child(5){
		width:100%;
	}
	#global-nav ul>li:nth-child(3),
	#global-nav ul>li:nth-child(4){
		width:40%;
	}
	#global-nav ul>li:nth-child(3) a,
	#global-nav ul>li:nth-child(4) a{
		width:100%;
	}



	#global-nav ul li img{
		margin:auto;
	}

	/* #nav-toggle 切り替えアニメーション */
	#nav-toggle {
		background-image:url("../images/common/bg_toggle.png");
		background-size:contain;
		background-repeat:no-repeat;
		background-position:center center;
		position: absolute;
		right: 12px;
		top: 0px;
/*
		width: 34px;
		height: 36px;
*/
		width: 43px;
		height: 60px;
		cursor: pointer;
		z-index: 2;
		text-align:center;
		padding-top:10px;
	}
	#nav-toggle span {
		display: block;
		position: absolute;
		height: 2px;
		width: 24px;
		background: #fff;
		left: 0;
		right: 0;
		margin:auto;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	#nav-toggle span:nth-child(1) {
		top: 0;
	}
	#nav-toggle span:nth-child(2) {
		top: 9px;
	}
	#nav-toggle span:nth-child(3) {
		top: 18px;
	}
	.open #nav-toggle span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	.open #nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav-toggle span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}
	/* #global-nav スライドアニメーション */
	.open #global-nav {
		/* #global-nav top + #mobile-head height */
		-moz-transform: translateY(650px);
		-webkit-transform: translateY(650px);
		transform: translateY(650px);
		background:#fff;
/*
		background-image: url("../images/common/bg.jpg");
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center center;
*/
	}
	header#head_wrap.fixed{
		padding:10px 0px;
	}
	header#head_wrap.fixed #mobile-head h1{
		width:200px;
		padding-left:15px;
	}

	/*プルダウン*/

	#nav_menu li{
		position: static;
	}
	#nav_menu li ul{
		list-style: none;
		position: static !important;
		top: 100%;
		left: 0;
		margin: 0;
		padding: 0;
		background-image: none;
		border-radius:0px;

		display:flex;
		gap:10px;
		justify-content:center;
	}

	.open #nav_menu li ul{
		flex-wrap:wrap;
		margin-top:10px;
	}

	#nav_menu li:last-child ul{
		left: auto;
		width: 100%
	}
	#nav_menu li ul li{
		overflow: hidden;
		/*width: 100%;*/
		width: auto;
		height: 40px;
		padding:0;
		color: #fff;
		-moz-transition: .2s;
		-webkit-transition: .2s;
		-o-transition: .2s;
		-ms-transition: .2s;
		transition: .2s;
		text-align:center;
	}
	#nav_menu>li:nth-child(1)>a,
	#nav_menu>li:nth-child(2)>a{
		display:none;
	}

	.open #nav_menu li ul li{
		width: 40%;
	}
	#nav_menu>li:nth-child(3)>a,
	#nav_menu>li:nth-child(4)>a{
		width: 50%;
		margin:auto;
		margin-top:10px;
	}


	#nav_menu>li:nth-child(3)>a,
	#nav_menu>li:nth-child(4)>a,
	#nav_menu li ul li a{
		padding: 4px 10px;
		text-align: center;
		font-weight: 600;
		font-size:1.4rem;
		border:1px solid var(--orange);
	}
	#nav_menu>li:last-child{
		padding:30px 0 15px;
	}

	#nav_menu li:hover ul li{
		overflow: visible;
		height: 38px;
		border-bottom: 1px solid #fff;
	}
	#nav_menu li:hover ul li:first-child{
		border-top: 0;
	}
	#nav_menu li:hover ul li:last-child{
		border-bottom: 0;
	}

	.ttl_orangeline {
		font-size:2rem;
		margin:25px 0;
	}

	.img_fullwidth img{
		object-fit: cover;
		height:200px;
	}

	.pagehead.history{
		background-position:center center;
	}
	.pagehead.company{
		background-position:center center;
	}
}

@media screen and (max-width: 599px) {
	p{
		font-size:1.4rem;
	}
	ul.kome li{
		font-size:1.4rem;
	}
	ul.maru li{
		font-size:1.4rem;
	}
	header#head_wrap h1{
		width:230px;
	}
	.pagehead h2{
		font-size:2.4rem;
		text-shadow:1px 1px 3px #000;
	}
	.cnr_intro h3{
		font-size:2.1rem;
		margin-bottom:30px;
	}
	.cnr_intro p{
		text-align:left
	}
}

/*------------------------------------------
表
------------------------------------------*/
.tbl1 {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%; /* table幅を100%に指定 */
	background: #fff;
}
.tbl1 th,
.tbl1 td {
	display: block; /* セルをブロック要素に指定 */
	width: 100%; /* セルを親要素いっぱいの幅に指定 */
	font-size: 1.6rem;
	padding: 15px;
	vertical-align: top;
	text-align: left;
	box-sizing: border-box;
	border-bottom: 1px solid #ccc;
}
.tbl1 th {
	font-weight: normal;
	border-bottom: 1px dotted #ccc;
}

@media screen and (min-width: 768px) {
	.tbl1 th,
	.tbl1 td {
		display: table-cell; /* デフォルト値に指定 */
		padding: 25px;
	}
	.tbl1 th {
		white-space:nowrap;
		width:150px;
		border-bottom: 1px solid #ccc;
	}
}


.section404{
	padding:150px 15px 150px;
	text-align:center;
}
.section404 .leed_ttl{
	font-family:var(--serif);
	font-size:2.4rem;
	margin-bottom:50px;
}
.section404 .sub_leed{
	font-size:1.8rem;
	margin-bottom:50px;
}

.section404 .en_txt{
	font-size:1.6rem;
	margin-bottom:50px;
}

.section404 .caption{
	font-size:1.6rem;
	margin-bottom:50px;
}

@media only screen and (max-width: 767px){
	.section404{
		padding:150px 15px 0px;
		text-align:left;
	}
	.section404 .leed_ttl{
		font-family:var(--serif);
		font-size:2rem;
		margin-bottom:50px;
	}
	.section404 .sub_leed{
		font-size:1.6rem;
		margin-bottom:50px;
	}

	.section404 .en_txt{
		font-size:1.4rem;
		margin-bottom:50px;
	}

	.section404 .caption{
		font-size:1.4rem;
		margin-bottom:50px;
	}
}