
@charset "UTF-8";

/* リセット
----------------------------------------*/
html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea, p, table, th, td, button {
    margin: 0;
	padding: 0;
	font-size: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html {           /* フォールバック値 */
      --header-h: 100px;
      scroll-padding-top: calc(var(--header-h) + 10px);
    }
* { 
margin: 0px; 
padding: 0px; 
}

img {
	border: 0;
}

ol ,
ul {
	list-style: none;
}
a{
	text-decoration: none;
	color:#000;
}

a:hover,
a:hover img{
	opacity: 0.8;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* フォント
----------------------------------------*/
@font-face{
	font-display:swap;
	font-family:'NotoSans_L';
	font-style:normal;
	src:url(../font/NotoSansCJKjp-Light.woff2) format('woff2'),
		url(../font/NotoSansCJKjp-Light.woff) format('woff');
}
@font-face{
	font-display:swap;
	font-family:'NotoSans_R';
	font-style:normal;
	src:url(../font/NotoSansCJKjp-Regular.woff2) format('woff2'),
		url(../font/NotoSansCJKjp-Regular.woff) format('woff');
}
@font-face{
	font-display:swap;
	font-family:'NotoSans_M';
	font-style:normal;
	src:url(../font/NotoSansCJKjp-Medium.woff2) format('woff2'),
		url(../font/NotoSansCJKjp-Medium.woff) format('woff');
}
@font-face{
	font-display:swap;
	font-family:'NotoSans_B';
	font-style:normal;
	src:url(../font/NotoSansCJKjp-Bold.woff2) format('woff2'),
		url(../font/NotoSansCJKjp-Bold.woff) format('woff');
}
@font-face{
	font-display:swap;
	font-family:'NotoSerif_L';
	font-style:normal;
	src:url(../font/NotoSerifCJKjp-Light.woff2) format('woff2'),
		url(../font/NotoSerifCJKjp-Light.woff) format('woff');
}
@font-face{
	font-display:swap;
	font-family:'NotoSerif_R';
	font-style:normal;
	src:url(../font/NotoSerifCJKjp-Regular.woff2) format('woff2'),
		url(../font/NotoSerifCJKjp-Regular.woff) format('woff');
}
@font-face{
	font-display:swap;
	font-family:'NotoSerif_M';
	font-style:normal;
	src:url(../font/NotoSerifCJKjp-Medium.woff2) format('woff2'),
		url(../font/NotoSerifCJKjp-Medium.woff) format('woff');
}
@font-face{
	font-display:swap;
	font-family:'NotoSerif_B';
	font-style:normal;
	src:url(../font/NotoSerifCJKjp-SemiBold.woff2) format('woff2'),
		url(../font/NotoSerifCJKjp-SemiBold.woff) format('woff');
}
body{
	min-width: 1440px;
	margin:0;
	padding:0;
	box-sizing: border-box;
	font-family: "NotoSans JP";
	color:#000;
	
}

/*****
	ヘッダー
***********/
.anchor-target {
	scroll-margin-top: 120px; /* 固定ヘッダーの高さ分を設定 */
}

#click-nav,#menu-wrap{
	display: none;
}
header{
	width: 100%;
	margin:0 auto;
	height:60px;
	position: fixed;
	top:0;
	left:0;
	z-index: 100;
	/* すりガラスの設定 -------- */
    background: rgba(255,255,255,0.6);   /* 薄い白で“曇りガラス”感を残す */
    backdrop-filter: blur(10px);         /* メインプロパティ */
    -webkit-backdrop-filter: blur(10px); /* Safari 旧バージョン用 */
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
}
header .w1440{
	position: relative;
	width: 1440px;
	margin:0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
header h1{
	/* float解除 */
	float: none;
	margin: 0 auto;
}
header h1.logo{
	margin: 0;
}
header nav{
	float:right;
	margin:30px 10px 0 0;
	font-size:16px;
}

header nav ul li{
	float:left;
	margin-right:30px;
	box-sizing: border-box;
	height:40px;
	line-height: 40px;
}
header nav ul li a{
	display: block;
	position: relative;
}
header nav ul li a:hover{
	color:#000;
	text-decoration: none;
}
header nav ul.gnav > li:not(.page_on):nth-child(-n+5):not(:nth-child(2)) > a::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #1A57B1;
	bottom: 5px;               /*アンダーラインがaタグの下端から現れる*/
	transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
	transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
	transition: transform 0.3s; /*変形の時間*/
}
	
header nav ul.gnav > li:not(.page_on):nth-child(-n+5):not(:nth-child(2)) > a:hover::after {
	transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
}
header nav ul.gnav > li.page_on > a{
	color:#1A57B1;
	text-decoration:none;
}
header nav ul.gnav > li.page_on > a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #1A57B1;
    bottom: 5px;
    transform: scale(1, 1);   /* ← 開いた状態 */
    transition: none;      
}
header nav ul.gnav > li.page_on > a:hover{
	opacity: 1;;
}
header nav ul li.to_form,
header nav ul li.to_mitsumori{
	margin-right:5px;
}

header nav ul li.to_form a,
header nav ul li.to_mitsumori a,
.footer_right a.to_form,
.footer_right a.to_mitsumori{
	display: inline-block;
	height:40px;
	border-radius: 50px;
	background: #1A57B1;
	color:#fff;
	text-align: center;
	padding:0 20px 0 40px;
	box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.15);

}
header nav ul li.to_form a{
	background: #1A57B1 url("../images/base/icon_form.png") no-repeat 15px center;
	background-size:16px auto;
}
header nav ul li.to_mitsumori a{
	background: #1A57B1 url("../images/base/icon_mitsumori.png") no-repeat 15px center;
	background-size:12px auto;
	padding:0 20px 0 35px;
}
/* 最新情報のサブメニュー用スタイル */
header nav ul li.latest_info {
    position: relative; /* サブメニューの位置決めのための基準 */
	width:80px;
}
header nav ul li.latest_info img{
	position: absolute;
	top:17px;
	width:9px;
	height:auto;
	margin-left:3px;
}
header nav ul li.latest_info ul.submenu {
    position: absolute;    /* 親要素に対して絶対配置 */
    top: 34px;             /* 親メニューの下に配置（必要に応じて調整してください） */
    left: 0;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    z-index: 200;
	visibility: hidden;     /* 初期は非表示 */
    opacity: 0;             /* 透明 */
	transform: translateX(-10px);
    transition:
	opacity 0.3s ease,
	transform 0.3s ease;
}

header nav ul li.latest_info ul.submenu li {
    float: none;
    width: 170px;
    height:45px;
    box-sizing: border-box;
    line-height: 40px;
	margin:0!important;
	padding:0;
	border-top:1px solid #1A57B1;
}
header nav ul li.latest_info ul.submenu li a{
	display: block;
	padding: 0 20px;
	border-bottom:1px solid #DBDBDB;
	margin:0;
	height:45px;
    box-sizing: border-box;
    line-height: 40px;
}
header nav ul li.latest_info ul.submenu li a:hover{
	background-color: #EFF2F7;
	text-decoration: none;
}
header nav ul li.latest_info ul.submenu li:last-child a{
	border-bottom:none;
}
header nav ul li.latest_info:hover ul.submenu {
	visibility: visible;    /* 表示可能に */
    opacity: 1;             /* 不透明化 */
    transform: translateY(0); /* 元の位置へ */
}
header nav ul li:last-child{
	margin-right:0;
}
/* clearfix内のロゴを上下中央に配置 */
header .logo {
	display: flex;
	align-items: center;
	height: 60px; /* headerの高さに合わせる */
}
@media screen and (max-width: 1480px) {
	header .w1440{
		min-width:1100px;
		width: auto;
		margin:0 auto;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	header h1.logo{
		margin: 0;
	}
	header h1.logo img{
		width:250px;
		height:auto;
	}
	header nav ul li{
		font-size:15px;
		margin-right:20px;
	}
}


/*----------------------------- 
ページトップ 
----------------------------- */

#pagetop {
    position: fixed;
    bottom: 10px;
    right: 10px;
}

#pagetop img{
    width:auto;
	cursor:pointer;
}
/*----------------------------- 
コンテンツ
----------------------------- */
.contents {
	margin-top: 100px;
	border-bottom: 1px solid #DBDBDB;
	width:100vw;        
	overflow-x:hidden;  
	max-width: 100%;
  }
.title{
	background: #1A57B1;
	height:88px;
	line-height: 88px;
	color:#fff;
	
}
.title .w1440{
	width: 1440px;
	margin:0 auto!important;
}
.title .title_txt{
	width:500px;
	float:left;
}
.title h2{
	text-align: left;
	color:#fff;
	font-size:28px;
	padding: 0 0 0 40px;
	font-weight: normal;
}
.title h2 span{
	font-size:14px;
	font-family: "Oswald", sans-serif;
	font-weight:400;
	letter-spacing: 20%;
	margin-left:10px;
}
.navi_pan {
	width: 1440px;
	display: block;
	color: #7f7f7f;
	font-family: "NotoSans_JP";
	font-size: 14px;
	line-height: 54px;
	padding-left: 40px;
	margin:0 auto;
}
.navi_pan div{
	float:left;
}
.navi_pan span{
	display: inline-block;
	margin:0 5px;
}
.navi_pan li{
	float:left;
}
.navi_pan li:first-child a{
	color:#1A57B1;
}
.navi_pan li::after{
	content:"＞";
	margin:0 5px;
}
.navi_pan li:last-child::after{
	content:"";
}
.navi_pan::after{
	content: "";
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	font-size: 0.1em;
	line-height: 0;
}
.w900{
	width: 900px !important;
	margin: 0 auto ;
}
.w790{
	width: 790px !important;
}
.w1160{
	width: 1160px !important;
	margin: 0 auto !important;
}
.w1300{
	width:1300px;
	margin:0 auto;
}

.w1440{
	width:1440px;
	margin:0 auto;
}
@media screen and (max-width: 1480px) {
	.w1440{
		width:100%;
		margin:0 auto;
	}
}
.w1500{
	width:1500px;
	margin:0 auto;
}

.content_lb{
	width:860px;
	float:right;
	box-sizing: border-box;
	padding-left:80px;
	margin-bottom: 240px;
}
h2{
	font-family:'NotoSans_JP';
	font-weight: 700;
	font-size:28px;
	color:#1A57B1;
	/*margin-bottom:37px;*/
	text-align: center;
	letter-spacing: 2px;
}
/*h2.line01{
	width:100%;
	font-size: 32px;
	color:#fff;
	padding:8px;
	text-align: left;
}
h2.line01 span.w1160{
	display: block;
	width:1160px;
	margin:0 auto;
}
h2.line01 span.sm{
	font-size:24px;
	margin-left:10px;
}*/

.bg_blue{	background: #1A57B1;}
.bg_skyblue{	background: #47A0C3;}

h2 .w1180{
	padding-left:8px;
}

h3{
	font-family:'NotoSans_B';
	font-weight: bold;
	font-size:32px;
	color:#000000;
	text-align: center;
	margin-bottom:21px;
}
h3.title01{
	color:#1A57B1;
	font-size:24px;
	text-align: center;
	margin-bottom: 40px;
}

h2.heading-1{
	width: 100% !important;;
	font-size:48px;
	font-weight: normal;
	font-family:'NotoSans_B';
	margin-bottom:100px;
	text-align: left;
	color: #000;
}
h2.heading-1 span{
	display: block;
	font-family: "Montserrat", serif;
	color:#1A57B1;
	font-size:14px!important;
}
h3.heading-2{
	color:#1A57B1;
	font-size:32px;
	font-weight: normal;
	margin-bottom:70px;
}
h3.heading-3{
	color:#000;
	font-size:48px;
	font-weight: normal;
	margin-bottom:64px;
}

a.link{
	border-radius: 20px;
	background: #404040 url("../images/base/kochira.png")no-repeat 430px center;
	color:#fff;
	display: block;
	text-align: center;
	font-size:20px;
	width:530px;
	padding:10px 0;
	margin:0 auto;
}
a.link img{
	vertical-align:text-bottom;
	margin-right:15px;
}


/*****
	フッター
***********/
footer{
	background: #FFF;
	box-sizing: border-box;
}
footer .f-logo{
	margin-bottom:23px;
}
footer .f-logo .anniversary{
	margin-left:30px;
}
footer .footer_wrap{
	width: 1160px;
	padding: 54px 0 30px 0;
	margin: 0 auto;
}
footer .footer_left{
	float:left;
	font-size:16px;
	line-height: 1.8;
	width:540px;
	border-right:1px solid #DBDBDB;
}
footer .footer_left a{
	color:#000;
}
footer a.map{
	color:#1A57B1;
	font-size:16px;
	display: inline-block;
	height:25px;
	border-bottom:1px solid #1A57B1;
}
footer img{
	vertical-align: middle;
	margin-right: 10px;
	margin-left:5px;
}
footer a.map:hover{
	text-decoration: none;
	opacity: 0.8;
}
footer ul.f_menu,footer ul.f_menu2{
	font-size:18px;
	float:right;
}
footer ul.f_menu2{
	font-size:15px;
	margin:20px 0 30px 0;
}
footer ul.f_menu li,footer ul.f_menu2 li{
	color:#1A57B1;
	float:left;
	margin-right:20px;
	font-weight: bold;
}
footer ul.f_menu2 li{
	font-weight: normal;
}
footer ul.f_menu li a,footer ul.f_menu2 li a{
	color:#1A57B1;
}
footer ul.f_menu li:last-of-type,footer ul.f_menu2 li:last-of-type{
	margin-right:0;
}
.footer_link_box{
	float:right;
}
.footer_right a.to_form,
.footer_right a.to_mitsumori{
	display: block;
	height:40px;
	border-radius: 50px;
	background: #1A57B1;
	color:#fff;
	text-align: center;
	padding:0 20px 0 40px;
	float:left;
	line-height: 40px;
	
}
.footer_right a.to_form{
	clear:right;
	background: #1A57B1 url("../images/base/icon_form.png") no-repeat 15px center;
	background-size:16px auto;
}
.footer_right a.to_mitsumori{
	
	background: #1A57B1 url("../images/base/icon_mitsumori.png") no-repeat 15px center;
	background-size:12px auto;
	padding:0 20px 0 35px;
	margin-left:10px;
}
p.copyright{
	clear:right;
	text-align: right;
	font-size:13px;
	color:#000;
	padding-top:50px;
}
address{
	font-style: normal !important;
}
@media screen and (max-width: 1300px) {
	footer{
		width:auto;
		min-width: 1100px;;
		box-sizing: border-box;
	}
	footer .footer_wrap{
		width:100%;
		box-sizing: border-box;
		margin:0 auto;
	}
	footer .footer_left{
		float:left;
		font-size:14px;
		line-height: 1.8;
		width:460px;
		border-right:1px solid #DBDBDB;
		margin-left:60px;
	}
	footer .f-logo img{
		width:300px;
		height:auto;
	}
	footer .f-logo .anniversary{
		height:80px!important;
		width:auto!important;
		margin-left:10px;
	}
	.footer_right{
		float:left;
		width:500px;
		margin-left:60px;
	}
	footer ul.f_menu,footer ul.f_menu2{
		font-size:16px;
	}
	footer ul.f_menu2{
		font-size:14px;
	}
}
/***
	プロダクトマップ
***/
.product_map_box{
	width : calc(100% - 40px);
	max-width: 1200px;
	margin:0 auto 50px;
}
.product_map{
	width:100%;
	position: relative;
}
/* デバッグ用の枠 */
.area-debug {
  position: absolute;
  border: 2px solid red;
  box-sizing: border-box;
  pointer-events: none; /* クリックを邪魔しない */
}
.product_map img{
	max-width: 100%;
	width: 100%;
	height: auto;
	display: block;
}
/***
	leftbar
***/
#leftside{
	width:300px;
	float:left;
}
#leftside .itemlist_box a{
	display: block;
	padding:14px 0 14px 23px;
	border-bottom: 1px solid #ededed;
	color:#242424;
	font-size: 16px;
	font-family: "NotoSans_R";
}
#leftside .itemlist_box a:first-of-type{
	border-top: 1px solid #ededed;
}
#leftside .itemlist_box a.page_on{
	background: #F1F4F8;
	color:#1A57B1;
}
#leftside .itemlist_box a.page_on:hover{
	opacity: 1!important;
}
#leftside .itemlist_box a:hover{
	color:#1A57B1;
	text-decoration: none;
}


/* CMSシンプル四角枠 */
div.waku_border{
	width: 100%;
	display: block;
    border: 1px solid #999999;
    border-radius: 3px;
    padding:15px 40px;
	box-sizing: border-box;
}
