@charset "UTF-8";

/*
   サイトスタイル、機能の設定追加/変更
   2024-06-26 shino 
   * 変更点
     - 書体 SAKURAサーバで利用可能なフォントに
 */

/* 書体の指定 */



/* 見出しフォントはサンセリフ ウェイトは重め */
h1,
h2,
h3,
h4,
h5 {
	font-family:"UD新ゴ M",”UD Shin Go Medium”,"見出ゴMB31",”Midashi Go MB31”,"G2サンセリフ-B",GSanSerif-B,"じゅん 501","Jun 501",Sans-Serif;
}

/* 数式 フォントはセリフ */
.MathJax {
	font-family: Serif;
}


/* Cooporate Idenntity */
.CI {
	display : flex;
	width   : fit-content;
	margin  : 0;
	padding : 0;
/*
	border: 2px solid #999;
	border-radius: 10px;
*/
}

.CI-image { /* ロゴイメージ */
	display : block;
	margin  : 5px;;
	padding : 0;
}

.CI-name { /* 会社名 */
	line-height : 0.1rem;
	margin : 0;
	padding : 0.5rem;
	align-text: justify-all;

}

.CI-name-main{ /* 主タイトル */
	display : block;
	margin : 0;
	padding : 0;

	font-size : 22px;
	font-family : "Ryumin Medium KL", ”Midashi Min MA31”, "UDDigiKyokasho R JIS2004", Serif; /* 書体はセリフ */

	position: relative;
	top : 15px;

	white-space : nowrap;
	letter-spacing : .3rem;
	height:22px;

}
.CI-name-sub{ /* 副タイトル(支店 or 所在地名) */
	display : block;
	margin : 0;
	padding : 0;

	font-size : 14px;
	font-family : "Ryumin Medium KL", ”Midashi Min MA31”, "UDDigiKyokasho R JIS2004", Serif; /* 書体はセリフ */

	position: relative;
	top : 22px;

	letter-spacing : .3rem;
	text-align : center;
	height:14px;

}

/* Cooporate Idenntity ここまで */

/* グローバルメニュー */
/* グローバルメニューを入れるブロック */
nav#navigator {
	flex:1 1 auto;

	display: grid;
	grid-template-columns: repeat(var(--tab-counts),1fr);

	align-items:center;
	margin 0;
	padding: 0;
}
/* 各メニューを入れるブロック */
.gmenu-tab {
	display:block;
	position:relative;
	width: auto;
}

.gmenu-tab:hover {
	cursor: pointer;
}

a.gmenu-label  {
	text-decoration: none;
	background-color: transparent;
	color : #000;
}

a.gmenu-tab:hover :link :active :visited {
	text-decoration: none;
	background-color: transparent;
	color : #000;
}



/* 各メニューのラベル */
.gmenu-tab{
	text-align: center;
}

.gmenu-label{
	font-size: 0.8rem;
	letter-spacing:0;

}
/* 各メニューのコンテンツ */
.gmenu-content {
	position:absolute;
        z-index: 1000;

	top: 1.3rem;
	left:calc( (-1) * var(--tab-order) * (98vw - 250px - 330px ) - 5vw); /* (98vw - ***) : nav #navigator ブロックのおおよその幅 */
	min-width: 60vw;

	background-color : white;
	border: 2px solid #ddd;
	border-radius: 7px;

	padding:1rem;
	margin: 0.1rem;

	text-align: left; /* 文字揃えを元に戻す */
	line-height: 1rem;
	font-size: 0.9rem;

}
.gmenu-content li {
	list-style: none; /* 箇条書きの接頭記号を除去 */
	text-indent: -2.5rem;
}

.gmenu-content table {
	font-size:inherit;
	margin-left:unset;
}


/* 各メニューのコンテンツ の動作 */
/* 1. 初期 表示せず */
div.gmenu-content {
	display: none;
}
/* 2. ラベルにカーソルがあたって表示 */
span.gmenu-label:hover + div.gmenu-content {
	display: block;
}
/* 3. 表示されたコンテンツブロックにカーソルがあたって表示維持 */
div.gmenu-content:hover {
	display: block;
}

/* グローバルメニュー ここまで */


#search-text {
	-webkit-appearance:none;/*SafariやChromeのデフォルトの設定を無効*/
	height:2rem;/*高さ*/
	border-radius:20px;
	background:#fff;
	border:2px solid #ddd;
	padding: 0 0 0 10px;
	margin: 0
	outline:none;
}

#search-btn {
	background:#fff;
	width:2rem;/*幅*/
	height:2rem;/*高さ*/

	padding: 0 0 0 0;
	margin: 0;

	border: transparent;
}

#search-btn img {
	padding: 0;
	margin: 0;
  
}
/* Mobile-friendly Responsive layout */
@media (max-width:767px) {
/* スマートフォンサイズ用に並びを調整 */	
/* CI & ハンバーガーメニューで1列 */	
	div#block-for-smartphone {
		display : flex;
		justify-content: space-between; 	
	}

/* スマートフォン用 ハンバーガーメニュー */
	#smp-menu { 
		position: fixed; /* 画面右上に固定  */
		width: fit-content;
		display: table;
		top: 13px; 
		right: calc(1vw + 10px + 60px); /* 60px: ハンバーガーアイコンのサイズ */
		z-index: 100;
	}


	.hamburger-icon {
		position: absolute;
		display: flex;
		height: 60px;
		width: 60px;
		justify-content: center;
		align-items: center;
		z-index: 90;
		background-color: #fff;
		border: 2px solid #eee;
		border-radius: 5px;
	}

	.hamburger-icon span,        /* メニュー中央線 */
	.hamburger-icon span:before, /* メニュー上部線 */
	.hamburger-icon span:after { /* メニュー下部線 */
		content: '';
		display: block;           /* 線はブロック内部をフィル表示 */
		height: 3px;
		width: 25px;
		border-radius: 3px;
		position: absolute;       /* メニューブロック内に線固定 */
		background-color: #000;
	}
	.hamburger-icon span:before {/* 上部線の位置 */
		bottom: 12px;
	}
	.hamburger-icon span:after {	/* 下部線の位置 */	
		top: 12px;
	}
	/* チェックが入ると3本線が×印になるアニメーション */
	#smp-menu-check:checked ~ .hamburger-icon span {   	
		background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
	}
	#smp-menu-check:checked ~ .hamburger-icon span::before {
		bottom: 0;
		transform: rotate(45deg); 	/* 上部線が 45度 回転 */

	}
	#smp-menu-check:checked ~ .hamburger-icon span::after {
		top: 0;
		transform: rotate(-45deg);   /* 下部線が -45度 回転 */
	}
	#smp-menu-check { /* チェックボックスは表示せず */
		display: none;
	}
	#smp-menu-content { /* メニュー内容を表示するブロック(非チェック時 表示せず) */
		left: 120vw;/* defaultはメニューを画面外*/

		position: fixed;
		top: 10dvh;
		width: 82vw;

		z-index: 100;
		transition: all 0.5s;/*アニメーション設定*/

		margin: 1vw 1vh 1vw 1vh;
		padding: 1rem;
		border: 2px solid #ddd;
		border-radius: 10px;
		background-color: #fff;

		line-height: 1rem;		

	}
	#smp-menu-content li{
		list-style: none; /* 箇条書きの接頭記号を除去 */
	}
	#smp-menu-check:checked ~ #smp-menu-content { /* メニュー内容を表示するブロック(チェック時 表示) */
		left: 2vw;/*メニューを画面内へ*/

	}
/* スマートフォン用 ハンバーガーメニューここまで  */
        div#search {
                max-width: none;
                width: auto;
                top:0; 
                margin: auto;
        }
         
        nav#navigator {
                max-width: none;
                width: auto;

        }
	div.gmenu-content {
		left:calc((-1) * var(--tab-order) * 98vw  + 5vw); /* 98vw : nav #navigator ブロックの幅 */
		min-width: 75vw;
	}
        #search-text {
                width: Calc(90vw - 45px);
        }
}
@print {
}