@charset "utf-8";
/* ==================================
COMMON
===================================== */
#primary a[id] {
	margin-top: -100px;
	padding-top: 100px;
}
@media only screen and (max-width: 1023px) {
#primary a[id] {
	margin-top: -60px;
	padding-top: 60px;
}
}
.br-pc{
	display:inline;}
.br-sp{
	display:none;}
html{
	scroll-behavior:smooth;
	scroll-padding-top:100px;}
.page-title{
	margin-top:80px;
	padding:80px 0;
	background-color:#1f3863;
	color:#fff;}
.page-title h1{
	line-height:1;}
.page-sub-title{
	font-size:1.6rem;
	display:block;
	margin-top:16px;}
.breadcrumbs{
	background-color:#f5f5f5;
	padding:10px 0;
	margin-bottom:60px;
	font-size:1.2rem;}
@media only screen and (max-width:820px){
	.page-title{
		margin-top:50px;
		padding:40px 0;}
}
@media only screen and (max-width:690px){
	html{
	scroll-behavior:smooth;
	scroll-padding-top:60px;}
	.br-pc{
		display:none;}
	.br-sp{
		display:inline;}
}

/*========================================
header
========================================*/
header{
	position:fixed;
	top:0;
	left:0;
	z-index:1000;
	width:100vw;
	background-color:#FFF;
	-webkit-box-shadow:0 0 10px 3px rgb(0 0 0 / 10%);
	box-shadow:0 0 10px 3px rgb(0 0 0 / 10%);}
#header_area{
	margin:auto;
	height:80px;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;}
#header_logo{
	margin-left:16px;
	margin-right:16px;}
header #header_logo a{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;}
header #header_logo img{
	max-width:none;
	width:auto;
	height:30px;}
header .gnavi_area{
	margin-left:auto;
	height:100%;
	display:block;}
header .gnavi_area nav,
.menu-header-container{
	height:100%;}
#header-menu{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	-webkit-box-pack:end;
	-ms-flex-pack:end;
	justify-content:flex-end;
	height:100%;}
#header-menu li{
	margin-right:20px;
	list-style:none;
	height:100%;
	line-height:1.5;}
#header-menu li a{
	height:100%;
	display:-webkit-box;
	display:-ms-flexbox;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	-ms-flex-line-pack:center;
	align-content:center;
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-ms-flex-direction:column;
	flex-direction:column;
	padding:8px 0;
	position:relative;
	font-weight:bold;
	-webkit-transition:all .3s ease 0s;
	-o-transition:all .3s ease 0s;
	transition:all .3s ease 0s;
	font-size:1.4rem;
	text-align:center;
	color:#333;}
#header-menu li a:hover{
	text-decoration:none;
	color:#1f3863;}
header .gnavi_btn_sp{
	display:none;}
#header-menu .sub-menu li{
	margin:auto;
	background-color:rgba(255, 255, 255, 0.86);}
#header-menu .sub-menu li a{
	color:#838383;
	/* font-size:1.6rem; */
	padding:20px 0;}
#header-menu .sub-menu li a:hover{
	background-color:#1f3863;
	color:#fff;}
#header-menu li.header-tel-menu a .header-tel{
	font-size:2rem;
	padding-left:16px;
	background:url(../img/tel-icon-black.png) no-repeat;
	background-size:16px;
	background-position:left;}
#header-menu li.header-tel-menu a .tel-sub{
	font-size:1rem;}
#header-menu li.header-tel-menu a:hover{
	color:#1f3863;}
.menu-pc-header-container{
	height:100%;}
#header-menu li.header-tel-menu a{
	line-height:1;}
header .current-menu-item{
	position:relative;}
header .current-menu-item::before{
	content:"";
	position:absolute;
	bottom:0px;
	left:50%;
	transform:translateX(-50%);
	width:100%;
	height:2px;
	/* background-color:#469BE5; */}
@media only screen and (max-width:820px){
	.menu-pc-header-container{
		padding:40px 0;}
	#header_area{
		height:50px;}
	header .gnavi_area{
		display:none;}
	header .gnavi_btn_sp{
		display:block;
		position:absolute;
		top:50%;
		right:0;
		width:56px;
		height:56px;
		text-align:center;
		line-height:1;
		z-index:1000;
		transform:translatey(-50%);}
	header .gnavi_btn_sp_in{
		position:relative;
		width:50px;
		height:50px;
		cursor:pointer;
		z-index:2;
		top:50%;
		transform:translateY(-50%);}
	header .gnavi_btn_sp_in, header .gnavi_btn_sp_in span{
		display:inline-block;
		-webkit-transition:all .4s;
		-o-transition:all .4s;
		transition:all .4s;
		-webkit-box-sizing:border-box;
		box-sizing:border-box;}
	header .gnavi_btn_sp_in span{
		position:absolute;
		left:0;
		width:70%;
		height:4px;
		background-color:#1f3863;
		border-radius:6px;}
	header .gnavi_btn_sp_in span:nth-of-type(1){
		top:14px;}
	header .gnavi_btn_sp_in span:nth-of-type(2){
		top:24px;}
	header .gnavi_btn_sp_in span:nth-of-type(3){
		top:34px;}
	header .gnavi_btn_sp_in .menu{
		position:absolute;
		top:34px;
		left:50%;
		transform:translateX(-50%);
		font-size:2rem;
		color:#1f3863;
		font-weight:bold;}
	header .gnavi_btn_sp.active .gnavi_btn_sp_in span:nth-of-type(1){
		-webkit-transform:translateY(-50%) rotate(-25deg);
		-ms-transform:translateY(-50%) rotate(-25deg);
		transform:translateY(-50%) rotate(-25deg);
		top:50%;}
	header .gnavi_btn_sp.active .gnavi_btn_sp_in span:nth-of-type(2){
		display:none;}
	header .gnavi_btn_sp.active .gnavi_btn_sp_in span:nth-of-type(3){
		-webkit-transform:translateY(-50%) rotate(25deg);
		-ms-transform:translateY(-50%) rotate(25deg);
		transform:translateY(-50%) rotate(25deg);
		top:50%;}
	header .gnavi_area.panelactive{
		display:block;}
	header .gnavi_area.panelactive #site-navigation{
		top:50px;}
	header .gnavi_area #site-navigation{
		position:fixed;
		z-index:999;
		top:-120%;
		left:50%;
		transform:translateX(-50%);
		width:94%;
		height:auto;
		background:#fff;
		-webkit-transition:all .3s ease 0s;
		-o-transition:all .3s ease 0s;
		transition:all .3s ease 0s;
		-webkit-box-shadow:0 0 7px 0px rgb(0 0 0 / 10%);
   	 	box-shadow:0 0 7px 0px rgb(0 0 0 / 10%);}
	header .gnavi_area.panelactive #site-navigation .menu-header-container{
		position:fixed;
		z-index:999;
		width:100%;
		height:80vh;
		padding:20px 0;}
	#header-menu{
		display:block;
		height:auto;
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-ms-flex-direction:column;
		flex-direction:column;
		-webkit-box-align:start;
		-ms-flex-align:start;
		align-items:flex-start;
		width:90%;
		margin:auto;}
	#header-menu li{
		margin:0;
		display:block;
		width:100%;
		border-bottom:1px solid #d9d9d9;}
	#header-menu li a{
		text-align:left;
		display:block;
		position:relative;
		height:auto;
		width:100%;
		font-size:2rem;}
	#header-menu li a::before{
		content:'';
		width:13px;
		height:13px;
		border:0px;
		border-width:4px 4px 0 0;
		border-style:solid;
		transform:rotate(45deg);
		position:absolute;
		top:calc(50% - 5px);
		right:1.5em;
		transition:all .2s ease-in 0s;
		border-color:#1f3863;}
	header .gnavi_area ul li a:hover:after{
		display:none;}
	#header-menu li.header-tel-menu{
		border-bottom:none;}
	#header-menu li.header-tel-menu a{
		text-align:center;
		padding-top:20px;}
	#header-menu li.header-tel-menu a::before{
		display:none;}
	header #header_logo img{
		width:auto;
		height:40px;}
	#header_logo{
		margin:0;}
	header .gnavi_btn_sp_in .menu{
		font-size:1.6rem;
		top:30px;}
	#header_area{
		margin:0 20px;}
}
@media only screen and (max-width:690px){
	.menu-pc-header-container{
		padding:20px 0;}
	#header-menu li a{
		font-size:1.6rem;}
}

/*========================================
SP-header
========================================*/
.mm_btn{
	position:absolute;
	display:none;
	width:30px;
	height:30px;
	top:15px;
	right:10px;
	-webkit-transition:all .3s ease 0s;
	-o-transition:all .3s ease 0s;
	transition:all .3s ease 0s;}
.mm_btn.active{
	  top:0;
	transform:rotate(-180deg);}
.mm_btn::before{
	position:absolute;
	display:block;
	content:'';
	width:13px;
	height:4px;
	top:50%;
	right:20px;
	transform:translateY(-50%) rotate(45deg);
	background-color:#1f3863;}
.mm_btn::after{
	position:absolute;
	display:block;
	content:'';
	width:4px;
	height:13px;
	top:50%;
	right:18px;
	transform:translateY(-50%) rotate(45deg);
	background-color:#1f3863;}
@media only screen and (max-width:1200px){
	.pc-header-menu{
		display:none !important;}
	.sp-header-menu{
		display:block;}
	header .gnavi_area.panelactive #site-navigation{
		overflow:scroll;
		-webkit-overflow-scrolling:touch;}
	/*.sub-menu{
		float:none !important;
		box-shadow:none !important;
		position:relative !important;
		top:0px !important;
		left:0px !important;}
	#header-menu .sub-menu li:last-child{
		border-bottom:none;}*/
}
@media only screen and (max-width:690px){
	.mm_btn{
	  display:block;
	  width:45px;
	  height:45px;
	  top:9px;
	  right:0;}
}

/*========================================
footer
========================================*/
footer{
	background-color:#0f1c50;
	color:#fff;}
#footer-nav{
	padding:80px 0;}
.footer-left{
	width:35%;}
.footer-right{
	width:60%;}
#footer-menu{
	list-style:none;}
#footer-menu li{
	width:33%;
	margin-bottom:20px;}
#footer-menu li a{
	color:#fff;}
.copyright{
	border-top:1px solid #f5f5f5;
	padding:10px 0;
	color:#fff;}
.copyright a{
	color:#fff;}
@media only screen and (max-width:690px){
	#footer-nav{
		padding:40px 0;}
	#footer-nav, .copyright .d-flex{
		display:block;}
	.footer-left, .footer-right{
		width:100%;}
	.footer-left{
		margin-bottom:30px;}
	.copyright-link{
		text-align:center;
		margin-bottom:10px;}
}
/*========================================
ふわっと
========================================*/
.scroll-up{
	opacity:0;
	visibility:hidden;
	transform:translateY(50px);
	transition:all 1s;}
.scroll-up.is-show{
	opacity:1;
	visibility:visible;
	transform:translateY(0px);}

/*========================================
ページトップ
========================================*/
/*リンクの形状*/
#page-top a{
	position:relative;
	display:block;
	background:#AC4848;
	border:1px solid #AC4848;
	border-radius:100px;
	width:60px;
	height:60px;
	text-transform:uppercase;
	text-decoration:none;
	font-size:1rem;
	color:#fff;
	text-align:center;
	transition:all 0.3s;
	padding-top:5px;}
#page-top a::after{
	content:"";
	position:absolute;
	top:60%;
	left:50%;
	display:inline-block;
	width:16px;
	height:16px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	-webkit-transform:rotate(-45deg) translate(-10%, -50%);
	transform:rotate(-45deg) translate(-10%, -50%);}
#page-top a:hover{
	background:#fff;
	border:1px solid #AC4848;
	color:#AC4848;}
#page-top a:hover:after{
	border-color:#AC4848;}
/*リンクを右下に固定*/
#page-top{
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:2;
	/*はじめは非表示*/
	opacity:0;
	transform:translateY(100px);}
/*上に上がる動き*/
#page-top.UpMove{
	animation:UpAnime 0.5s forwards;}
@keyframes UpAnime{
	from{
		opacity:0;
		transform:translateY(100px);
	}
	to{
		opacity:1;
		transform:translateY(0);
	}
}

/*下に下がる動き*/
#page-top.DownMove{
	animation:DownAnime 0.5s forwards;}
@keyframes DownAnime{
	from{
		opacity:1;
		transform:translateY(0);
	}
	to{
		opacity:1;
		transform:translateY(100px);
	}
}
@media only screen and (max-width:690px){
	#page-top{
		right:10px;}
}

/* ==================================
TOP
===================================== */
.top-mv{
	margin-top:80px;
	height:650px;
	background:url('//via.placeholder.com/2000x1000') center / cover no-repeat;}
.top-mv .inner{
	position:relative;
	height:100%;}
.catchcopy h1{
	position:absolute;
	top:50%;
	left:0;
	transform:translateY(-50%);}
@media only screen and (max-width:820px){
	.top-mv{
		margin-top:50px;
		height:450px;}
}

/* ==================================
お知らせ
===================================== */
.news-block{
	margin-bottom:40px;}
.news-item {
	padding: 0 0 30px 0;
	border-top: 1px solid #f5f5f5;}
.news-item:last-child{
	border-bottom:1px solid #f5f5f5;}
.news-cate {
	margin-left: 1.5rem;
	margin-right: 1.5rem;
	margin-bottom: 0 !important;}
.news-cate a {
	background-color: #989898;
	border: 1px solid #989898;
	color: #FFF;
	padding: 3px 0px;
	font-size: 1rem;
	width: 100px;
	display: inline-block;
	text-align: center;
	border-radius: 0px;
    pointer-events: none;}
.news-cate a:hover{
	color:#FFF;
	background-color:#000;
	text-decoration:none;}

/* ==================================
お知らせ一覧
===================================== */
.news-main{
	width:100%;}
.sidebar{
	width:25%;}
.news-main .news-item__title{
	margin:0;
	padding-bottom:3px;}
.news-main .news-item__title a{
	font-size:1.6rem;
	text-decoration:none;
	color:#000;}
.news-main .news-item__title a:hover{
	color:#989898;
	text-decoration:underline;}
@media only screen and (max-width:690px){
	.news-main, .sidebar{
		width:100%;}
}

/* ==================================
お知らせ詳細
===================================== */
.thumbnails-img img{
	width:100%;
	height:auto;}
.single-news-title {
	margin-top: 20px;
	padding-bottom: 0px;
	border-bottom: 2px dotted #ccc;
	font-size: 32px;
	font-weight: bold;}
a.botan-return{
	background-color:#000 !important;
	border-radius:50px;}
a.botan-return:hover{
	background-color:#FFF !important;
	color:#000 !important;
	border-radius:50px;}
a.botan-return:before{
	display:none;}

/* ==================================
ページネーション
===================================== */
.navigation{
	margin-top:50px;}
.navigation .nav-links{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;}
.navigation .nav-links .page-numbers{
	background-color:#604E43;
	border:1px solid #604E43;
	border-radius:100px;
	font-size:1.6rem;
	width:30px;
	height:30px;
	justify-content:center;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
	margin:0 5px;
	color:#fff;
	transition:all .2s ease-in 0s;}
.navigation .nav-links .page-numbers:hover{
	background-color:#fff;
	color:#604E43;
	text-decoration:none;
	transition:all .2s ease-in 0s;}
.next-arrow, .prev-arrow{
	position:relative;}
.next-arrow::before{
	content:'';
	width:8px;
	height:8px;
	border:0px;
	border-width:2px 2px 0 0;
	border-style:solid;
	position:absolute;
	transition:all .2s ease-in 0s;
	border-color:#fff;
	top:50%;
	left:-5px;
	transform:translateY(-50%) rotate(45deg);}
.prev-arrow::before{
	content:'';
	width:8px;
	height:8px;
	border:0px;
	border-width:2px 2px 0 0;
	border-style:solid;
	position:absolute;
	transition:all .2s ease-in 0s;
	border-color:#fff;
	top:50%;
	left:-2px;
	transform:translateY(-50%) rotate(-135deg);}
.navigation .nav-links .page-numbers:hover .next-arrow::before,
.navigation .nav-links .page-numbers:hover .prev-arrow::before{
	border-color:#604E43;}

/* ==================================
サイドバー
===================================== */
.widget{
	border:1px solid #f5f5f5;}
.widget_search #form{
	padding:10px;}
.widget_search #form #s-box,
.widget_search #form #s-btn-area{
	position:relative;}
.widget-title{
	background-color:#1f3863;
	color:#fff;
	padding:10px;
	text-align:center;
	font-size:1.6rem;
	display:block;}
.widget_recent_entries ul,
.widget_categories ul,
.widget_archive ul {
	padding:10px;}
.widget_recent_entries li,
.widget_categories li,
.widget_archive li{
	padding:5px;
	list-style:none;}
.wp-block-search__button{
	font-size:1.2rem;
	padding:5px;
	width:20%;
	margin:0;
	border-radius:0;
	border:none;}
.wp-block-search__input{
	border-radius:0;}
.wp-block-search__inside-wrapper{
	padding:20px 10px;
	border:1px solid #f5f5f5;}

/* =============================================
お問い合わせ
============================================= */
.contact-fields{
	max-width:100vw;
	padding:20px 0 15px;
	border-bottom:#e2e2e2 1px solid;}
#contact-form{
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
  	-ms-flex-wrap:wrap;
  	flex-wrap:wrap;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	width:100%;
	margin:0;}
#contact-form dt{
	box-sizing:border-box;
	width:260px;
	padding:11px 16px 11px 4px;}
#contact-form dd{
	box-sizing:border-box;
	width:calc(100% - 260px);
	margin-left:0;
	padding-right:5px;
	padding-left:5px;}
#catalog-form {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	margin: 0;
	justify-content: center;}
#catalog-form dt {
	box-sizing: border-box;
	width: 100%;
	padding: 11px 16px 11px 4px;}
#catalog-form dd{
	box-sizing:border-box;
	width: 100%;
	margin-left:0;
	padding-right:5px;
	padding-left:5px;}
.required{
	margin-right:10px;
	display:inline-block !important;
	padding:2px 5px;
	background-color:#ce052c;
	color:#fff;
	font-size:12px;
	font-weight:normal;
	line-height:normal;
	text-align:center;
	vertical-align:middle;}
.optional{
	margin-right:10px;
	display:inline-block !important;
	padding:2px 5px;
	background-color:#777;
	color:#fff;
	font-size:12px;
	font-weight:normal;
	line-height:normal;
	text-align:center;
	vertical-align:middle;}
.mw_wp_form dd::after{
	display:none!important;}
.mw_wp_form input[type="text"],
.mw_wp_form input[type="email"]{
	box-sizing:border-box;
	display:block;
	width:100%;
	height:38px;
	padding:8px 12px;
	border:1px solid #bebebe;
	background:#f5f5f5;
	font-size:16px;
	line-height:32px;
	text-indent:5px;
	transition:all .2s ease;}
.mwform-tel-field input[type="text"]{
	width:auto;
	display:inline;}
.mw_wp_form .vertical-item + .vertical-item{
	margin-top:0;}
.mw_wp_select select{
	appearance:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	border:1px solid #BEBEBE;
	border-radius:3px;
	padding:5px 25px 5px 10px;
	cursor:pointer;
	background:#F5F5F5;
	width:110px;}
.mw_wp_select selectt:disabled{
	pointer-events:none;
	background-color:#F1F1F1;
	color:#AAA;}
.mw_wp_select{
	position:relative;
	display:inline-block;}
.mw_wp_select::after{
	content:'';
	position:absolute;
	border:4px solid #333;
	border-bottom:0;
	border-left-color:transparent;
	border-right-color:transparent;
	top:calc(50% - 3px);
	right:10px;
	width:0;
	height:0;}
.mw_wp_select--disabled::after{
	border-top-color:#AAA;}
.mw_wp_form .mwform-zip-field{
	display:flex;
	align-items:center;}
.mw_wp_form .mwform-zip-field  input[type="text"]{
	width:90px;
	margin:0 5px;
	padding:8px 10px;}
.mw_wp_form textarea{
	box-sizing:border-box;
	width:100% !important;
	padding:8px;
	border:1px solid #bebebe;
	background:#f5f5f5;}
.mw_wp_form a{
	color:#469BE5;}
.mw_wp_form input[type="submit"]{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	margin-right:5px;
	padding:16px 48px;
	border:solid 1px #329bd2;
	border-radius:4px;
	background-color:#329bd2;
	color:#fff;
	font-size:18px;
	font-weight:bold;
	text-decoration:none;
	transition:all .2s ease;
	margin-bottom:20px;}
.mw_wp_form input[type="submit"]:active,
.mw_wp_form input[type="submit"]:hover{
	outline:none;
	background-color:#2886b9;}
.addition{
	font-size:12px;
	display:block;}
.contact-btn #contact-form{
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;}
.contact-btn{
	text-align:center;
	margin:40px auto 0;}
@media screen and (max-width:690px){
	#contact-form{
		display:block;}
	#contact-form dt{
		width:100%;
		padding:11px 0;}
	#contact-form dd{
		width:100%;
		margin-left:0;}
	.mwform-tel-field input[type="text"]{
		padding:revert;}
}

/* 2024/09/25追加 */

.mw_wp_form input[type="button"]{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	margin-right:5px;
	padding:16px 48px;
	border:solid 1px #329bd2;
	border-radius:4px;
	background-color:#329bd2;
	color:#fff;
	font-size:18px;
	font-weight:bold;
	text-decoration:none;
	transition:all .2s ease;
	margin-bottom:20px;}
.mw_wp_form input[type="button"]:active,
.mw_wp_form input[type="button"]:hover{
	outline:none;
	background-color:#2886b9;}
.news-cate a[href$="/news-01/"] {
	background-color: #9D9D9D;
}
.news-cate a[href$="/news-02/"] {
	background-color: #686868;
}
@media only screen and (min-width: 1024px) {
	#menu-mega-products li { width: calc(17% - 8px) !important; }
	#menu-mega-products li.menu-item-5150 { width: calc(24% - 8px) !important; }
}
@media only screen and (min-width: 768px) {
    .f-widgets-item {
        width: calc(23% - 22.6px) !important;
        margin: 0 10px 0 0 !important;
    }
	.f-widgets-item:first-child {
        width: 33% !important;
	}
}