@charset "utf-8";
/*===========================================================================*/
/*ins.ewf*/
/*===========================================================================*/




/*===========================================================================*/
/*--------------------------------*/
/*download_pdf
/*--------------------------------*/
.download_pdf{
    background-repeat: no-repeat;
    padding: 0px 2px 0px 0px;
    height: 2.5rem;
	aspect-ratio: 1/1;
    fill: currentColor;
    color:var(--color_gray);
}
.download_pdf:hover{
    color:var(--color_hover);
	transition: 0.1s; 
	transform: scale(0.92);
}
@media (min-width:600px) {
    .download_pdf{
        padding: 0px 2px 0px 0px;
        height: 2.6rem;
    }
}
/*--------------------------------*/
/*download_office
/*--------------------------------*/
.download_office{
    padding: 0px 2px 0px 0px;
    height: 3.1rem;
}
.download_office:hover{
	transition: 0.1s; 
	transform: scale(0.92);
}
@media (min-width:600px) {
    .download_office{
        padding: 0px 2px 0px 0px;
        height: 3.1rem;
    }
}
/*--------------------------------*/
/*opennew
/*--------------------------------*/
.opennew{
    background-repeat: no-repeat;
    padding: 0px 5px 0px 0px;
    height: 2.9rem;
	aspect-ratio: 1/1;
    fill: currentColor;
    color:var(--color_gray);
}
.opennew:hover{
    color:var(--color_hover);
	transition: 0.1s; 
	transform: scale(0.92);
}
@media (min-width:600px) {
    .opennew{
        padding: 0px 5px 0px 0px;
        height: 2.9rem;
    }
}
/*===========================================================================*/
/*===========================================================================*/
/*===========================================================================*/
/*#menubar
/*===========================================================================*/
#menubar {
	opacity: 0;
	line-height: 1.5;
}
#menubar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.large-screen #menubar {
	opacity: 1;
}
.small-screen #menubar.display-none {
	display: none;
}
.small-screen #menubar.display-block {
	display: block;opacity: 1;
}
/*--------------------------------*/
/*非表示（menubar_hdr/script:dropdown）*/
/*--------------------------------*/
#menubar_hdr.display-none {
	display: none;
}
.ddmenu_parent ul {
	display: none;
}
/*--------------------------------*/
/*ddmenu icon*/
.ddmenu::before {
	font-family: "Font Awesome 5 Free";
	content: "\f078";		/*使いたいアイコン名（Font Awesome）をここで指定*/
	font-weight: bold;		/*この手の設定がないとアイコンが出ない場合があります*/
	font-size: 0.7em;		/*文字サイズを70%に*/
	padding-right: 0.5em;	/*右側に空ける余白。0.5文字分。*/
}

/*===========================================================================*/
/*#menubar（大小端末共通）
/*===========================================================================*/
/*メニュー１個あたりの設定*/
#menubar a {
	display: block;
}
#menubar a:hover{
	transform: scale(1);
}
/*--------------------------------*/
/*二行目（メインメニュー英語とサブメニュー社名など）*/
/*--------------------------------*/
#menubar .small {
	display: block;
	font-size: 0.7em;
	letter-spacing: 0.1em;
	opacity: 0.6;
}
#menubar .sub {
	display: block;
	font-size: 0.7em;
	opacity: 0.6;
}*
/*--------------------------------*/
/*ドロップダウンブロック*/
/*--------------------------------*/
.large-screen #menubar ul ul,
.small-screen #menubar ul ul {
	animation: opa1 0.4s 0.05s both;	/*0.1秒待機後、0.5秒かけてフェードイン表示*/
}

.large-screen #menubar ul ul {
	position: absolute;
	z-index: 2;
	width: 100%;
	width: 150%;
	top: 100%;
	left: 0px;
}
/*===========================================================================*/
/*#menubar（large）
/*===========================================================================*/
.large-screen #menubar {
    position: sticky;	/*メニュー固定*/
    top: 0;
    z-index: 2;
    transition: opacity 0.3s;
}
.large-screen #menubar > nav > ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
/*--------------------------------*/
/*メニュー１個あたりの設定*/
/*--------------------------------*/
.large-screen #menubar li {
	flex: 1;			/*個々のメニューを均等にし、幅いっぱいまで使う設定*/
	position: relative;	/*ドロップダウンの幅となる基準を作っておく*/
	text-align: center;	/*テキストをセンタリング*/
}

.large-screen #menubar li li {
	text-align: left;
}
/*--------------------------------*/
.large-screen #menubar li:last-child li {
	width: 100%;
	left:-7.85vw;
}
/*--------------------------------*/
.large-screen #menubar li a {
	flex: 1;
	background: var(--primary-color);
	color: var(--primary-inverse-color);
	padding-top: 0.8em;
	padding-bottom: 0.5em;
}
.large-screen #menubar li a:hover {
	filter: brightness(1.6);
	transition:0.2s;
}
.large-screen #menubar li li a {
	padding-left: 2.0em;
	padding-top: 0.8em;
	padding-bottom: 0.5em;
}
/*--------------------------------*/
/*画面上部到達（fixed）*/
/*--------------------------------*/
.large-screen #menubar.fixed a {
    opacity: 0.8;
}
.large-screen #menubar.fixed a:hover {
	opacity: 1 ;	
	filter: brightness(1.6);
}
.large-screen #menubar.fixed2 li a{
	padding-top: 0.4em;
	padding-bottom: 0.4em;
}

/*===========================================================================*/
/*#menubar（small）
/*===========================================================================*/
/*.small-screen #menubar {height: 0px;}*/

/*--------------------------------*/
/*menu block*/
/*--------------------------------*/
.small-screen #menubar.display-block {
	position: fixed;
	overflow: auto;
	z-index: 100;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	padding-top: 70px;	/*上に空ける余白。ハンバーガーアイコンと重ならない為の指定ですのでお好みで変更OK。*/
	background: var(--primary-color);	/*背景色。css冒頭で指定しているprimary-colorを読み込みます*/
	animation: animation1 0.2s both;	/*animation1を実行する。0.2sは0.2秒の事。*/
	color: var(--primary-inverse-color);	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/
}

/*--------------------------------*/
.small-screen #menubar li {
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
	margin: 1em;			/*メニューの外側に空けるスペース*/
	border-radius: 5px;		/*角を丸くする指定*/
}
.small-screen #menubar a {
	color: inherit;
	padding: 0.7em 3em;	
}
.small-screen #menubar li li a {
	background: var(--primary-inverse-color);
	color: var(--primary-color);
}

/*--------------------------------*/
/*３本バーを囲むブロック*/
/*--------------------------------*/
#menubar_hdr {
	animation: opa1 0.3s 0.5s both;
	position: fixed;z-index: 101;
	cursor: pointer;
	top: 2vw;		/*上からの配置場所*/
	right: 2vw;		/*右からの配置場所*/
	width: 50px;	/*幅*/
	height: 50px;	/*高さ*/
	padding: 15px;	/*ブロック内の余白*/
	display: flex;
	justify-content: center;
	align-items: center;
	transition: transform 0.5s;
	background: rgba(0,0,0,0.6);	/*背景色*/
}

/*---------------------------------------------------------------------------*/
/*以下は変更不要*/
#menubar_hdr div {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
/*---------------------------------------------------------------------------*/
/*バーの設定*/
#menubar_hdr div span {
	display: block;
	width: 100%;
	height: 2px;			/*線の太さ*/
	background-color: #fff;	/*線の色*/
	border-radius: 2px;		/*コーナーを少しだけ丸く*/
	transition: all 0.5s ease-in-out;
	position: absolute;
}
/*---------------------------------------------------------------------------*/
/*以下変更不要*/
#menubar_hdr div span:nth-child(1) {top: 0;}
#menubar_hdr div span:nth-child(2) {top: 50%;transform: translateY(-50%);}
#menubar_hdr div span:nth-child(3) {bottom: 0;}
#menubar_hdr.ham div span:nth-child(1) {top: 50%;transform: translateY(-50%) rotate(45deg);}
#menubar_hdr.ham div span:nth-child(2) {opacity: 0;}
#menubar_hdr.ham div span:nth-child(3) {top: 50%;transform: translateY(-50%) rotate(-45deg);}



/*===========================================================================*/
/*main-contents* sub-contents*（2column）
/*===========================================================================*/
.main-contents {
	margin-bottom: 10vw;
}
.sub-contents{
	margin-bottom: 10vw;
}
/*--------------------------------*/
/*画面幅900px以上の追加指定*/
@media screen and (min-width:900px) {
	main.column {
		display: flex;	
		justify-content: space-between;
		gap: 3vw;
	}
	.main-contents {
		order: 2;	/*表示順*/
		flex: 1;
	}
	.sub-contents {
		width: 16em;	
	}
	.sub-contents:nth-child(2) {
		order: 1;	/*表示順*/
	}
}


/*===========================================================================*/
/*submenu 
/*===========================================================================*/
.submenu {
	margin: 0 ;	
	border-top: 1px solid var(--color_gray10);	
	line-height: 1;
}
/*--------------------------------*/
.submenu a {
	display: block;
	text-decoration: none;
	background: #fff;	/*背景色*/
}
.submenu a:hover {
	transform: scale(0.92);
	opacity:0.7;
	transition:0.2s;
}
.submenu > li {
	border: 1px solid var(--color_gray10);	
	padding: 0.8em 20px 0.8em 20px;
	border-top: none;
}
.submenu > li > ul > li {
	padding-top: 0.8em;
}
.submenu > li > ul > li:first-child a{
	padding-top: 0px;
}
.submenu > li > ul > li:last-child a{
	padding-bottom: 0px;
}
.submenu > li .sub {
	display: block;
	padding-top: 5px;
	font-size: 0.7em;
}
/*--------------------------------*/
.submenu .box{
	padding: 1em;
	color: var(--color_darkgreen);
	background: var(--color_gray05);
	border: 1px solid var(--color_gray10);	
	text-align: center;
	border-top: none;
}
/*--------------------------------*/
.submenu .title {
    display: flex;
    align-items: center;
	color: var(--color_lightgray);
	font-size: 0.9em;
}



/*===========================================================================*/
/*footer
/*===========================================================================*/
footer {
	clear: both;
	padding: 20px 0px 0px 0px;
	font-size: 0.7rem;
	background: var(--primary-color);
	margin-top: 0px;
}
footer a {
	text-decoration: none;
	color: var(--primary-inverse-color);
}
footer a:hover {
	color: var(--color_yellow);
	transform: scale(0.92);
	transition: .2s;
}
@media screen and (min-width:380px) {
	footer {
		font-size: 0.75rem;
	}
}
@media screen and (min-width:640px) {
	footer {
		font-size: 0.8rem;
	}
}
/*--------------------------------*/
/*footer03
/*--------------------------------*/
#footer03 .cont {
	display:flex;
	flex-wrap:wrap;
	width: 100%;
	justify-content: space-between;
    padding: 0px
}

#footer03 .cont_item {
	margin-top: 0px;
    padding:0 1rem;
}
#footer03 .cont_item:nth-child(n+2),
#footer03 .cont_item:nth-child(n+3)  {
	margin-top: 15px;
}
#footer03 .topmargin {
	margin-top: 15px;
}
#footer03 .ttl {
	font-size: 0.75rem;
}
#footer03 .cont_item ul {
	line-height: 1.7;
	list-style-position: outside;
    list-style-type: none;
}
/*-
#footer03 .cont_item li {
	padding-left: -20px ;
}*/

#footer03 .cont_item li:first-child {
	margin-top: 0 ;
}
#footer03 .copyright {
	text-align: center;
	padding: 20px 0px 10px 0px;
}
/*--------------------------------*/
/*footer03
/*--------------------------------*/
/*画面幅480px以上の追加指定*/
@media screen and (min-width:480px) {
	#footer03 .cont {
		padding: 10px 0px 0px 10px;
		}
	#footer03 .cont_item {
		display: block;
		flex-basis:calc(100% / 2);
		max-width:calc(100% / 2);
	}
	#footer03 .cont_item:nth-child(n+2) {
		margin-top: 0px;
	}
	#footer03 .cont_item .ttl {
	font-size: 0.8rem;
	}
}
/*--------------------------------*/
/*画面幅640px以上の追加指定*/
@media screen and (min-width:640px) {
	#footer03 .cont {
		padding: 10px 10px 0px 30px;
		padding: 0;
	}
	#footer03 .cont_item {
		display: block;
		flex-basis:calc(100% / 3);
		max-width:calc(100% / 3);
	}
	#footer03 .cont_item:nth-child(n+3) {
		margin-top: 0px;
	}
	#footer03 .cont_item .ttl {
	font-size: 0.85rem;
	}
}
/*===========================================================================*/
/*pagetop_show
/*===========================================================================*/
/*main.js*/
.pagetop-show {
	display: block;
}
.pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 99;
	position: fixed;
	right: 20px;
	bottom: 20px;
	color: #fff;
	font-size: 1.5rem;
	background: rgba(0,0,0,0.2);
	width: 60px;
	line-height: 60px;
	border-radius: 50%;
}

/*===========================================================================*/
