@charset "utf-8";

/* 全体 */
html {
	font-size: 62.5%;
}

body {
	margin: 0px;
	padding: 0px;
	border: 0px;
	font-size: 1.6rem;
	line-height: 1.5;
	word-wrap: break-word;
	word-break: break-all;
}

#container {
	width: auto;
	height: auto;
	margin: 0px;
	padding: 0px;
	/*overflow: hidden;*/
}

/* ヘッダ */
#header {
	width: auto;
	height: auto;
	margin: 0px;
	padding: 0px;
}

#content_header {
	display: block;
	margin-bottom: 10px;
	text-align: right;
	font-size: 1.2rem;
}

/* フッタ */
#footer {
	clear: both;
	width: auto;
	height: auto;
	margin: 0px;
	padding: 0px;
}

/* メイン */
#mymainback.lower {
	max-width: 1100px;
	/*background-color: #FFF;*/
	margin: 0 auto 5%;
	border-radius: 10px;
}

@media screen and (max-width:768px) {
	#mymainback.lower {
		margin: 0 auto 30px;
	}
}

/* サイド */


/* レスポンシブアコーディオン用 */
.acc_title+input {
	display: none;
}

.acc_icon {
	display: none;
}

/* 隠す */
.hide {
	display: block;
	width: 0px;
	height: 0px;
	margin: 0px;
	padding: 0px;
	clip: rect(0, 0, 0, 0);
	overflow: hidden;
}

hr.hide {
	border: none;
}

/* Googlemap */
.gglmap {
	position: relative;
	padding-top: 30px;
	padding-bottom: 56.25%;
	height: 0px;
	overflow: hidden;
}

.gglmap iframe,
.gglmap object,
.gglmap embed {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}

/* iOSでのボタンデザインをリセット */
input[type="button"],
input[type="submit"],
button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
	cursor: pointer;
}

/* telリンク無効 */
.open_page_id a[href^="tel:"],
.f_number a[href^="tel:"] {
	text-decoration: none !important;
	color: currentColor !important;
	pointer-events: none !important;
}

/* 承認枠 */
#approval_table {
	font-size: 1.4rem;
}


/* フォント */
body,
button,
input[type="button"],
input[type="submit"],
input[type="text"],
textarea,
select {
	font-family: Meiryo, メイリオ, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Osaka, sans-serif;
	font-size: 1.6rem;
	line-height: 1.5;
	color: #333;
}

em {
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Osaka, 'MS PGothic', sans-serif;
}

/* 外部リンク */
.external_link_text {
	display: none;
}

/* 基本タグ */
p {
	margin: 1em 0px;
	word-wrap: break-word;
	word-break: normal;
}

hr {
	clear: both;
}


/********** 4 パンくず **********/

/* パンくず */
#pankuzu_wrap {
	padding: 18px 0px 8px;
}

#pankuzu_wrap>div {
	max-width: 1080px;
	margin: 0px auto 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 1rem;
}

.pankuzu {
	position: relative;
	padding-left: 4em;
}
.pankuzu a {
	text-decoration: underline!important;
	color:#1f4fa3!important;
}

.pankuzu .icon_current {
	display: none;
}

.pankuzu:first-child .icon_current {
	display: block;
	width: 3rem;
	height: 1.4rem;
	line-height: 1.4rem;
	background: #1f4fa3;
	border-radius: 5px;
	color: #fff;
	font-size: 0.7rem;
	padding: 0em 0;
	text-align: center;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: absolute;
	top:4px;
	left: 0px;
}

@media screen and (max-width:768px) {
	#pankuzu_wrap>div {
		font-size:0.8rem;
	}
	
	.pankuzu:first-child .icon_current {
		font-size: 0.6rem;
	}
}

/* 印刷 */
#print_mode_link,
#print_mode_link_large {
	display: inline-block;
	background: url(/img/common/icon_print.png) no-repeat left center;
	padding-left: 20px;
}

/* 見出し */
#main_header {
	margin-bottom: 20px;
}

#main_header h1 {
}

#main_body h2 {
	font-size: 28px;
	line-height: 35px;
	color: #0168b7;
	border-left: 10px solid #0168b7;
	border-bottom: 2px solid #0168b7;
	padding: 15px 0 15px 25px;
	font-weight: bold;
	background: #f6f6f6;
	margin:20px 0;
}


#main_body h3 {
	font-size: 26px;
	line-height: 35px;
	font-weight: bold;
	padding: 15px;
	color: #00b46e;
	border-top:2px solid #00b46e;
	border-bottom:2px solid #00b46e;
	margin:20px 0;
}

#main_body h4 {
	font-size: 24px;
	font-weight: bold;
	color: #000;
	padding: 10px 15px;
	border-left: 10px solid #2050a4;
	margin:20px 0;
}

#main_body h5 {
	font-size: 22px;
	font-weight: bold;
	color: #000;
	position: relative;
	padding-left: 1.5em;
	margin:20px 0;
}

#main_body h5::after {
	content:'';
	position: absolute;
	left:0em;
	top:0.4em!important;
	transform:translatey(-50%);
	margin-right: 1.5em;
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 15px solid #00c783;
	transform:rotate(90deg);
}

#main_body h6 {
	clear: both;
	margin: 20px 0px;
	padding: 9px 14px;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.4;
	border-bottom: dotted 1px gray;
	margin:20px 0;
}

/* テーブル */
#main_body table {
	border-color: #1f5134;
	border-collapse: collapse;
	border-style: solid;
	margin: 0px 0px 20px;
	max-width: 100%;
}

#main_body th {
	background-color: #3e7647;
	border-color: #1f5134;
	border-collapse: collapse;
	border-style: solid;
	border-width: 1px;
	padding: 0.5em;
	color: #FFF;
}

#main_body td {
	border-color: #1f5134;
	border-collapse: collapse;
	border-style: solid;
	border-width: 1px;
	padding: 0.5em;
}

#main_body table caption {
	font-weight: bold;
	padding: 1em 0;
	color: #184d2e;
}

.sp_button {
	display:none;
}

/*画像*/
#main_body img {
	max-width: 100%;
	height: auto!important;
}

/* スマホ */
@media (max-width:640px) {

	/* テーブル切り替え */
	#main_body .sp_table_wrap {
		overflow: auto;
	}

	#main_body div.sp_large_table {
		width: 1000px;
		overflow: visible;
	}

	.sp_button {
		display: block;
		width: 100%;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		padding: 10px;
		border: 1px solid #dcdcdc;
		border-radius: 5px;
		background: -moz-linear-gradient(center top, #f9f9f9 5%, #e9e9e9 100%);
		background: -ms-linear-gradient(top, #f9f9f9 5%, #e9e9e9 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#e9e9e9');
		background: -webkit-gradient(linear, left top, left bottom, color-stop(5%, #f9f9f9), color-stop(100%, #e9e9e9));
		background-color: #f9f9f9;
		color: #000000;
		text-shadow: 1px 1px 0px #ffffff;
		-webkit-box-shadow: inset 1px 1px 0px 0px #ffffff;
		box-shadow: inset 1px 1px 0px 0px #ffffff;
		text-decoration: none;
		text-align: center;
		font-size:1rem;
	}

	.sp_button:hover {
		background: -moz-linear-gradient(center top, #e9e9e9 5%, #f9f9f9 100%);
		background: -ms-linear-gradient(top, #e9e9e9 5%, #f9f9f9 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9', endColorstr='#f9f9f9');
		background: -webkit-gradient(linear, left top, left bottom, color-stop(5%, #e9e9e9), color-stop(100%, #f9f9f9));
		background-color: #e9e9e9;
	}

	.sp_button:active {
		position: relative;
		top: 1px;
	}

	.gsc-result .gs-title {
		height: auto !important;
	}
}



/* テーブル内のpタグのマージンを0にする */
#main_body table p {
	margin: 0px 0px 1em;
}

#main_body table p:last-child {
	margin: 0px;
}

/* テーブル（borderを「0」に設定した場合は罫線を表示させない） */
/*
#main_body table[border="0"],
#main_body table[border="0"] th,
#main_body table[border="0"] td {
	border-width: 0px;
}
*/

#main_body div.detail_table_center {
	clear: both;
	width: 100%;
	margin: 0px 0px 20px;
	padding: 0px;
}

#main_body div.detail_writing {
	clear: both;
	width: 100%;
	margin: 0px 0px 20px;
	padding: 0px;
}

#main_body div.detail_map {
	clear: both;
	width: 100%;
	margin: 20px 0px 10px;
	padding: 0px;
}

#main_body div.detail_movie {
	clear: both;
	width: 100%;
	margin: 20px 0px 30px;
	padding: 0px;
}

#main_body div.detail_free {
	clear: both;
	width: 100%;
	margin: 0px 0px 20px;
	padding: 0px;
}

#main_body div.detail_image_normal {
	clear: both;
	width: 100%;
	margin: 0px 0px 20px;
	padding: 0px;
}

#main_body div.detail_image_left {
	text-align: left;
	margin: 0px 0px 20px;
	padding: 0px;
}

#main_body div.detail_image_center {
	text-align: center;
	margin: 0px 0px 20px;
	padding: 0px;
}

#main_body div.detail_image_right {
	text-align: right;
	margin: 0px 0px 20px;
	padding: 0px;
}

#main_body div.detail_h2 {
	clear: both;
	width: 100%;
}

#main_body div.detail_h3 {
	clear: both;
	width: 100%;
}

hr.hr_1 {
	clear: both;
	height: 1px;
	border-top: 2px dotted #999999;
	border-right: none;
	border-bottom: none;
	border-left: none;
	margin: 15px 0px;
}

hr.hr_2 {
	clear: both;
	height: 1px;
	border-top: 1px solid #333333;
	border-right: none;
	border-bottom: none;
	border-left: none;
	margin: 15px 0px;
}

hr.hr_3 {
	clear: both;
	height: 1px;
	border-top: 1px solid #ff0000;
	border-right: none;
	border-bottom: none;
	border-left: none;
	margin: 15px 0px;
}


/* リンク */
.detail_link {
	margin: 1em 0px;
}

.link_l {
	margin: 1em 0px;
}

.detail_free .external_link_text,
.link_l .external_link_text {
	display: inline;
}

/* 画像 */
.detail_img_left {
	text-align: left;
}

.detail_img_center {
	text-align: center;
}

.detail_img_right {
	text-align: right;
}

/* 添付ファイル */
.detail_file {
	margin: 1em 0px;
}

div[class^="detail_"] a[href^="/uploaded/attachment/"]::before,
div[class^="file_"] a[href^="/uploaded/attachment/"]::before,
div[class^="detail_"] a[href^="/uploaded/life/"]::before,
div[class^="file_"] a[href^="/uploaded/life/"]::before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background: url(/img/common/file/icon_etc.png) no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

div[class^="detail_"] a[href$=".pdf"]::before,
div[class^="detail_"] a[href$=".PDF"]::before,
div[class^="file_"] a[href$=".pdf"]::before,
div[class^="file_"] a[href$=".PDF"]::before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background: url(/img/common/file/icon_pdf.png) no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

div[class^="detail_"] a[href$=".xls"]::before,
div[class^="detail_"] a[href$=".XLS"]::before,
div[class^="file_"] a[href$=".xls"]::before,
div[class^="file_"] a[href$=".XLS"]::before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background: url(/img/common/file/icon_xls.png) no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

div[class^="detail_"] a[href$=".xlsx"]::before,
div[class^="detail_"] a[href$=".XLSX"]::before,
div[class^="file_"] a[href$=".xlsx"]::before,
div[class^="file_"] a[href$=".XLSX"]::before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background: url(/img/common/file/icon_xlsx.png) no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

div[class^="detail_"] a[href$=".doc"]::before,
div[class^="detail_"] a[href$=".DOC"]::before,
div[class^="file_"] a[href$=".doc"]::before,
div[class^="file_"] a[href$=".DOC"]::before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background: url(/img/common/file/icon_doc.png) no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

div[class^="detail_"] a[href$=".docx"]::before,
div[class^="detail_"] a[href$=".DOCX"]::before,
div[class^="file_"] a[href$=".docx"]::before,
div[class^="file_"] a[href$=".DOCX"]::before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background: url(/img/common/file/icon_docx.png) no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

/* preタグ */
div[class^="detail_"] pre {
	white-space: pre-wrap;
	word-break: break-word;
	font-family: monospace, sans-serif;
}

/* アンカーリンク */
div[class^="detail_"] a:not([href]) {
	display: inline-block;
	text-decoration: none !important;
	max-width: 100%;
}

div[class^="detail_"] a:not([href]):empty {
	display: block;
}

div[class^="detail_"] a:not([href]):hover {
	color: inherit;
}

/* ワープロライクのフロート対応 */
div[class^="detail_"]::before,
div[class^="detail_"]::after {
	content: "";
	display: table;
}

div[class^="detail_"]::after {
	clear: both;
}

div[class^="detail_"] {
	zoom: 1;
}

#main_body hr.cf {
	border: none;
	margin: 20px 0px 0px;
}

#main_body hr.cf+h2,
#main_body hr.cf+h3,
#main_body hr.cf+h4,
#main_body hr.cf+h5,
#main_body hr.cf+h6 {
	margin-top: 0px;
}

/* プレビュー編集モード調整用 */
.preview_body .detail_free ul,
.preview_body .detail_free ol {
	margin: 1em 0px !important;
	padding-left: 40px;
}

.status_bar div {
	font-size: 2rem !important;
}

.sticky #keep_page,
.sticky #osusume_banner {
	display: none;
}

/* 評価エリア */
#hyouka_area_box {
	clear: both;
	background: #f6f6f6;
	margin: 30px 0px 0px;
	padding: 20px 30px;
}

#hyouka_area_box h2,
#main_body #hyouka_area_box h2 {
	margin: 0px 0px 10px;
	padding: 0px;
	background: none;
	border: none;
	font-size: 1.6rem;
}

#main_body #hyouka_area_box hr.cf {
	margin: 0px;
}

.hyouka_box_detail {
	border-bottom: 1px solid #dddddd;
	margin-bottom: 10px;
	padding-bottom: 10px;
	font-size: 1.4rem;
}

.hyouka_box_detail:last-child {
	border-bottom: none;
	margin-bottom: 0px;
}

.hyouka_box_detail fieldset {
	border: none;
	margin: 0px;
	padding: 0px;
}

.hyouka_box_detail fieldset legend {
	margin: 0px 0px 5px;
	padding: 0px;
	width: 100%;
}

.hyouka_box_detail span {
	display: inline-block;
	vertical-align: top;
	margin: 0px 4em 0px 0px;
}

.hyouka_box_detail span input {
	margin: 3px 4px 5px 5px;
	vertical-align: middle;
}

#hyouka_area_submit {
	margin-top: 10px;
	text-align: center;
}

#hyouka_area_submit input {
	display: inline-block;
	border: none;
	background: #fff;
	margin: 0px;
	padding: 5px 0px;
	font-size: 1.4rem;
	text-align: center;
	width: 260px;
	max-width: 90%;
}

/* お問い合わせ先 */
#section_footer {
	clear: both;
	background: #f6f6f6;
	margin: 30px 0px 0px;
	padding: 20px 30px;
}

#section_footer h2,
#main_body #section_footer h2 {
	margin: 0px 0px 10px;
	padding: 0px;
	background: none;
	border: none;
	font-size: 1.6rem;
}

#main_body #section_footer hr.cf {
	margin: 0px;
}

#section_footer_detail span {
	display: inline-block;
	vertical-align: top;
	margin-right: 1em;
}

#section_footer_detail span.sf_name2::before {
	content: '（';
}

#section_footer_detail span.sf_name2::after {
	content: '）';
}

#section_footer_detail div.sf_email {
	margin-top: 10px;
}

/* PDF・WMPリンク */
.pdf_download,
.wmplayer_download {
	clear: both;
	margin: 30px 0px 0px;
	width: 100%;
	display: table;
}

.pdf_download .pdf_img,
.wmplayer_download .wmplayer_img {
	display: table-cell;
	vertical-align: top;
	width: 158px;
	margin: 0px;
	padding: 0px;
}

.pdf_download .pdf_img img,
.wmplayer_download .wmplayer_img img {
	width: 100%;
	height: auto;
}

.tenpu_txt {
	display: table-cell;
	vertical-align: top;
	margin: 0px;
	padding: 3px 0px 0px 10px;
	font-size: 1.3rem;
	line-height: 1.4;
}

/* SNSボタン */
.sns_button_wrap {
	margin-top: 30px;
}

.sns_button_wrap>div {
	display: inline-block;
	vertical-align: top;
}


/* サブサイト共通フッタ */
#site_footer {
	clear: both;
	float: none;
	width: 1080px;
	background: #f6f6f6;
	margin: 0px auto 50px;
}

#site_footer_box {
	padding: 20px;
}

#site_footer_box p {
	margin: 0px 0px 1em;
}

#site_footer_box p:last-child {
	margin-bottom: 0px;
}

/* parts-site.css */
/* 自由編集項目 */
.free_box p {
	margin: 0px 0px 10px;
}

.free_box p:last-child {
	margin-bottom: 0px;
}

.free_box img {
	max-width: 100%;
	height: auto !important;
}

/* サイドメニュー */
.subsite_menu {
	background: #FFF;
	margin: 0px 0px 10px;
}

.subsite_menu:last-child {
	margin-bottom: 0px;
}

.subsite_menu_ttl {
	background: #fee364;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.4;
	margin: 0px;
	padding: 14px 20px;
}

.subsite_menu_list ul {
	margin: 0px;
	padding: 20px 20px 20px 40px;
}

.subsite_menu_list ul li {
	margin-bottom: 10px;
}

.subsite_menu_list ul li:last-child {
	margin-bottom: 0px;
}

.subsite_menu_list div.link_ichiran {
	margin: 0px;
	padding: 0px 20px 20px;
	text-align: center;
}

.subsite_menu_list div.link_ichiran a {
	display: block;
	background: #fff;
	padding: 8px 10px;
}

/* ページトップ */
#top_scroll {
	position: relative;
	z-index: 100;
	margin: 0;
	padding: 0;
}

#page-top1 {
	display: block;
	position: fixed;
	z-index: 9999;
	bottom: -250px;
	right: 0px;
	width: 82px;
	height: 82px;
	padding: 0;
	color: #222;
	text-align: center;
	text-decoration: none;
	transition: 1s;
	-webkit-transition: 1s;
}

#page-top1 img {
	width: 100%;
	height: auto !important;
}


/*20230214ここからスタイル追加*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	box-sizing: border-box;

}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}

        
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

/* =Basic HTML
-------------------------------------------------------------- */

html {
	font-size: 100%;
	overflow-y: scroll;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	scroll-behavior: smooth;
}
body {
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	font-size: 18px;
	line-height: 30px;
	background: #f2f2e8;
}


a:link,
a:visited {
	color: #3366bb;
	text-decoration: none;
}
a:hover {
	color: #e42d54;
	text-decoration: none;
	transition: .3s;
}
a:active {
	color: #e42d54;
	text-decoration: none;
}
hr {
	background: #ccc;
	border: none;
	height: 1px;
}
b, dt, strong {
	font-weight: 700;
}
blockquote, dl, ol, p, pre, table, ul  {
	margin: 1em 0;
}
P{
	padding: 0 20px;
	box-sizing: border-box;
}
blockquote {
	font-size: 1.1em;
	margin-left: 40px;
}

ol, ul {
	margin-left: 30px;
}
ul {
	list-style-type: disc;
}
ol {
	list-style-type: decimal;
}
mark {
	background-color: #ff9;
}
del {
	text-decoration: line-through;
}
abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
q::before,
q::after {
	content: '"';
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
td, th {
	border: 0px solid #888;
}

img{
	vertical-align: bottom;
}
a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  transition: all .3s;
}

.clear{
	clear: both;
}
.sp{
	display: none;
}

#main table {
	border-collapse: collapse;
	border-spacing: 0;
}
#main td,
#main th {
	border: 1px solid #b1b1b1;
	padding: 15px;
	box-sizing: border-box;
	text-align: left;
	vertical-align: middle;
	font-size: 18px;
}
#main th {
	background: #1d50a3;
	color: #fff;
	font-weight: bold;
}
/* =scroll_up
-------------------------------------------------------------- */

.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}


/* =Headings
-------------------------------------------------------------- */

h1, h2, h3, h4, h5, h6 {
	clear: both;
}

/* 色 */
.l_blue{
	color: #00bfff;
}
.h_f_blue{
	color: #1e50a2;
}
.blue{
	color: #0068b7;
}
/* ヘッダー */

header{
	width: 100%;
	margin: 0 auto;
	border-top:5px solid #1e50a2;
	background: #fff;
	position: relative;

}
#head_box{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.head_top{
	width: 100%;
}
.head_top ul{
	margin:0;
	padding:0;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
.head_top ul::after {
	  content: "";
	  clear: both;
	  display: block;
	}
.head_top ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: center;
	box-sizing: border-box;
	padding:0;
	margin:0;
}
.head_top ul li.logo{
	width: 33.2%;
}

.head_top ul li.logo img{
	width: 100%;
	height: auto;
}
.head_top ul li.serch{
	width: 66.8%;
	box-sizing: border-box;
}
.head_top ul li ul{
	margin:0;
	padding:0;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
.head_top ul li ul::after {
	  content: "";
	  clear: both;
	  display: block;
	}
.head_top ul li ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: center;
	box-sizing: border-box;
	padding:0;
	margin:0;
	width: 25%;
	font-size: 15px;
	line-height: 55px;
	font-weight: bold;
}

.head_top ul li ul li span{
	padding-right: 5px;
}

@media screen and (max-width:414px) {
	.head_top .logo-box {
		position: relative;
		/* top: 50%; */
		/* transform: translatey(-50%); */
		/* width: 65% !important; */
		/* min-width: 180px; */
		/* display: inline-block; */
		width: calc(100% - 80px);
	}
	
	.head_top .logo-box a {
		display:block;
	}
	
	.head_top .logo-box a img {
		width:100%!important;
		height:auto!important;
	}
}


/* メニュー */

#gnavi_wrap {
    width: 100%;
    margin: 0 auto;
    border-top:1px solid #d3d2d2;
    border-bottom:8px solid #1f4fa3;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
}

#gnavi_wrap ul{
	margin:0 auto;
	padding:0;
	width: 100%;
	max-width: 1200px;
}

#gnavi_wrap ul li {
	list-style-type: none;
	text-align: left;
	box-sizing: border-box;
	padding:0;
	margin:0;
	border-left: 1px solid #d3d2d2;
}
#gnavi_wrap ul li:last-child {

	border-right: 1px solid #d3d2d2;
}
#gnavi_wrap ul li ul li{
	list-style-type: none;
	text-align: left;
	box-sizing: border-box;
	padding:0;
	margin:0;
	border-left: 0px;
}

#gnavi_wrap ul li ul li:last-child {
	border-right:none;	
}

li.gnavi_list img{
	width: 50px;
	height: auto;
	padding: 15px 0;
}
.gnavi_lists {
    display: flex;
}

.gnavi_list {
    width: 16.6%;
    height: 80px;
    font-size: 25px;
    font-weight: bold;
    line-height: 80px;
    background: #fff;
    position: relative;
    transition: all .3s;
    color: #000;
}
.gnavi_list:hover {
    background: #1e51a2;
    color: #fff;
}
.gnavi_list:not(:first-child)::before {
    content: "";
    width: 1px;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    transition: all .3s;
}
.gnavi_list:hover::before {
    background: #0071BB;
}
.gnavi_list a,
.gnavi_list strong{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: #000;
    transition: all .3s;
	padding-left: 50px;
}

.gnavi_list:hover .dropdown_lists a{
    color: #000;
}

.dropdown_lists {
    visibility: hidden;
    opacity: 0;
    transform: scaleY(0);
    transform-origin: center top;
    transition: all .3s;
    width: 100%;
    position: absolute;
    top: 80px;
    left: 0;
    color: #000;
}

.dropdown_lists a{
	color: #000;
}

.gnavi_list:first-child > a {
	background: url("/img/hightech/menu-icon_01.png");
}
.gnavi_list:first-child:hover > a {
	background: url("/img/hightech/sp-menu-icon_01.png");
}
.gnavi_list:nth-child(2) > a {
	background: url("/img/hightech/menu-icon_02.png");
}
.gnavi_list:nth-child(2):hover > a {
	background: url("/img/hightech/sp-menu-icon_02.png");
}
.gnavi_list:nth-child(3) > a {
	background: url("/img/hightech/menu-icon_03.png");
}
.gnavi_list:nth-child(3):hover > a {
	background: url("/img/hightech/sp-menu-icon_03.png");
}
.gnavi_list:nth-child(4) > a {
	background: url("/img/hightech/menu-icon_04.png");
}
.gnavi_list:nth-child(4):hover > a {
	background: url("/img/hightech/sp-menu-icon_04.png");
}
.gnavi_list:nth-child(5) > a {
	background: url("/img/hightech/menu-icon_05.png");
}
.gnavi_list:nth-child(5):hover > a {
	background: url("/img/hightech/sp-menu-icon_05.png");
}
.gnavi_list:nth-child(6) > a {
	background: url("/img/hightech/menu-icon_06.png");
}
.gnavi_list:nth-child(6):hover > a {
	background: url("/img/hightech/sp-menu-icon_06.png");
}

.gnavi_list a {
	background-repeat: no-repeat!important;
	background-size: 50px 50px!important;
	background-position: 15px 15px!important;
}

.gnavi_list:hover a{
	background-repeat: no-repeat;
	background-size: 50px 50px;
	background-position: 15px 15px;
	color: #fff;
}

.gnavi_list:hover .dropdown_lists {
    display: block;
    visibility: visible;
    opacity: 1;
    transform: scaleY(1);
    color: #000;
}
.dropdown_lists li:not(:first-child)::before{
    content: "";
    width: 100%;
    height: 1px;
    background-color: #ddd;
    position: absolute;
    top: 0;
    left: 0;
}

.dropdown_lists li {
    position:relative;
    background: #fff;
    transition: all .3s;
    width: 100%;
    font-size: 15px;
    font-weight: normal;
    color: #000;
    text-align: left;
    padding:0.8em!important;
    line-height:initial;
}

.dropdown_lists li:after {
	display:inline-block;
	content:'';
	position:absolute;
	top:0;
	left:0;
	height:100%;
	width:1.6em;
	background:#1e51a2;
}

.dropdown_lists li:hover {
    background: #e4eef5;
}

.dropdown_lists li a,
.dropdown_lists li strong {
    display: flex;
    justify-content: start;
    align-items: stretch;
    padding-left: 30px;
    color: #000;
    text-decoration: none;
    position: relative;
    /*background: url("/img/hightech/menu_back.png");
    background-repeat: repeat-y;
    background-position: left top;*/
    z-index:2;

}
.dropdown_lists li a::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(135deg);
    position: absolute;
    left: -5px;
    top: calc(50% - 5px);
}

.hamburger-menu{
	display: none;		
}

.gnavi_list:focus .dropdown_lists,
.dropdown_lists.focused {
    visibility: visible;
    opacity: 1;
    transform: scaleY(1);
    display:block;
    transition:none;
}

/*検索*/
.gsc-control-cse {
	padding:0!important;
}

.gsc-input-box {
  padding:0!important;
}

.gsc-search-box table {
	margin:0;
}

.gsc-search-button-v2 {
  padding: 10px 15px!important;
}

table.gsc-search-box td.gsc-input {
	padding-right: 0px!important;
}

.gsc-input {
	height:25px!important;
	font-size:1rem!important;
}


.head_top ul li ul{
	align-items:center;
}

.gsc-search-button-v2 {
	background-color: #00bfff!important;
	border-color:#00bfff!important;
}


@media screen and (max-width:1024px) {
	.gnavi_lists {
		display:none;

	}

	.hamburger-menu .gnavi_lists {
		display:block;

	}


	form.gsc-search-box {
		width: 80%!important;
	}

	#gnavi_wrap {
		background-image:none!important;
		border-bottom:none;
	}
	
	#gnavi_wrap ul{
		flex-flow:column;
		width:100%;
	}

	#gnavi_wrap > ul > li {
		width:100%;
		background:#0168b7;
		border-bottom:solid 2px #fff;
		height:initial;
		line-height:55px;
	}

	#gnavi_wrap ul li:last-child {
		border-bottom:none;
	}

	#gnavi_wrap ul li a {
		color:#fff;
		font-size:1.4rem;
	}

	.gnavi_list a {
		position:relative;
		justify-content:flex-start;
		background-position:5px 50%!important;
		padding-left:55px;
	}

	.gnavi_list:first-child > a {
		background: url("/img/hightech/sp-menu-icon_01.png");
	}

	.gnavi_list:nth-child(2) > a {
		background: url("/img/hightech/sp-menu-icon_02.png");
	}

	.gnavi_list:nth-child(3) > a {
		background: url("/img/hightech/sp-menu-icon_03.png");
	}
	
	.gnavi_list:nth-child(4) > a {
		background: url("/img/hightech/sp-menu-icon_04.png");
	}

	.gnavi_list:nth-child(5) > a {
		background: url("/img/hightech/sp-menu-icon_05.png");
	}

	.gnavi_list:nth-child(6) > a {
		background: url("/img/hightech/sp-menu-icon_06.png");
	}

	.gnavi_list a:before{
		content: '';
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 10px 0 10px 12px;
		border-color: transparent transparent transparent #fff;
		position: absolute;
		top: 50%;
		right: 15px;
		margin-top: -10px;
		transform:rolate(135deg);
	}

	.gnavi_list .active:before {
		transform: rotate(90deg);
	}

	.dropdown_lists {
		display:none;
		position:relative;
		top:0;
		visibility: visible;
		opacity: 1;
		transform: scaleY(1);
	}

	.dropdown_lists li {
		border-bottom:none!important;
		background:#fff!important;
	}

	.dropdown_lists li a {
		color:#000!important;
		font-size:1.2rem!important;
		padding-left:1em;
	}

	.dropdown_lists li:hover {
		background: #f2f2e8!important;
	}

	.dropdown_lists li:after {
		display:none;
	}

	.dropdown_lists li a:before {  
		content: "";
		position: absolute;
		top: 1.1em;
		left: 0px;
		width: 8px;
		height: 2px;
		background: #000;
		transform: rotate(45deg)!important;
		border:none;
	}

	.dropdown_lists li a:after {  
		content: "";
		position: absolute;
		top: 0.85em;
		left: 0px;
		width: 8px;
		height: 2px;
		background: #000;
		transform: rotate(-45deg);
	}

	.gnavi_list:hover .dropdown_lists {
		display:none;
	}

	.gnavi_list .active + .dropdown_lists {
		display:block;
	}
}


/* フッター */

footer{
	background: #fff;
	width: 100%;
	border-top:5px solid #1f4fa3;
}
#footer_box{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding-top:35px;
}

#footer_box ul{
	margin:0 0 35px 0;
	padding:0;
}
#footer_box ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}
#footer_box ul li {
	display: block;
	float: left;
	list-style-type: none;
	box-sizing: border-box;
	margin:0;
}

#footer_box ul li.footer_logo{
	width: 350px;
	text-align: center;
}
#footer_box ul li.footer_logo img{
	width: 100%;
	height: auto;
}
#footer_box ul li.footer_menu{
	width: 250px;
	text-align: center;
}
#footer_box ul li.footer_add{
	width: 33%;
	text-align: left;
	padding: 0 20px;
	font-size: 14px;
	line-height:25px;
}
#footer_box ul li.footer_add .tit{
	color: #000;
	font-size: 16px;
	font-weight: bold;
	padding: 0 0 3px 0;
	margin-bottom: 10px;
	border-bottom: 1px solid #ccc;
}

footer a,
footer a:link{
	color: #fff;
}
footer .copy{
	width: 100%;
	font-size: 11px;
	line-height: 40px;
	color: #fff;
	text-align: center;
	background: #1f4fa3;
	text-align: center;
}
.footer_btn {
	display: block;
	width: 200px;
	height: 40px;
	margin: 15px auto 0 auto;
	text-align: center;
	text-decoration: none;
	line-height: 40px;
	outline: none;
	background: #fff;
	color: #0075ac;
	border: 1px solid #0075ac;
	vertical-align:middle;
	font-size: 14px;
	font-weight: bold;
}
.footer_btn img{
	width: 30px;
	height: auto;
	padding-right: 10px;
	line-height: 35px;
	vertical-align:middle;
	
}
a.footer_btn,
a:link.footer_btn{
	color: #0075ac;
}
.footer_btn:hover {
	background: #e4eef5;
}
.footer_btn::before,
.footer_btn::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.footer_btn,
.footer_btn::before,
.footer_btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

/* コンテンツ */
#top_main_content{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
.content_left{
	width: 66.4%;
	float: left;
	padding: 0 10px;
	box-sizing: border-box;
}
.content_right{
	width: 33.6%;
	float: right;
	padding: 0 10px;
	box-sizing: border-box;
}

#main{
	width: 100%;
	max-width: 1200px;
	margin: 0px auto;
	border-radius: 10px;
	background: #fff;
	padding: 20px 30px;
	box-sizing: border-box;
}

/* トップに戻る */

#page_top {
	position: fixed;
	z-index: 2;
}
#page_top a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-decoration: none;
  transition: all 0.3s;
}
#page_top a img{
	width: 50px;
	height: 50px;
}
#page_top.upmove {
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(150px);
  }
  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(150px);
  }
}

@media (min-width: 1000px) {
  #page_top {
    right: 10px; 
    bottom: 0;
    padding:0;
  }
  #page_top a {
    width: 80px;
    height: 80px;
  }
}

@media (max-width: 999px) {
  #page_top {
    right:5px;
    bottom: 0;
    padding:0;
  }
  #page_top a {
    width: 60px;
    height: 60px;
    font-size: 0.6rem;
  }
}

/* =トップページ
-------------------------------------------------------------- */
/* スライダー部分 */


#top_img{
	width: 100%;
	margin:20px auto 15px auto;
	box-sizing: border-box;
}
.splide__track img{
	width: 100% !important;
	height: auto !important;
	border-radius: 5px;
}
.splide__controls_box{
	position:absolute;
	bottom: 0.5em;
	width: 100%;
}

.splidetoggle{
	width: 43%;
	float: right;
}

.splidetoggle button {
  padding: 0;
  border: none;
  background: transparent;
}

.splidetoggle button img {
  display: block;
}

.splide__list li p {
	margin:0;
	padding:0;
}

/* お知らせ */

#news{
	width: 100%;
	margin: 0 auto;
	display: block;
}
#news .news_titel_box{
	width: 100%;
	background: #00bfff;
	height: 45px;
	box-sizing: border-box;
	border-radius:5px 5px 0px 0px ;
    -webkit-border-radius:5px 5px 0px 0px ;
    -moz-border-radius:5px 5px 0px 0px ;
}
#news .news_titel_box ul{
	margin:0;
	padding:0;
}
#news .news_titel_box ul::after {
	  content: "";
	  clear: both;
	  display: block;
	}
#news .news_titel_box ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	width: 50%;
	padding: 0;
	margin:0;
}
#news .news_titel_box ul li.titel{
	font-size: 22px;
	font-weight: bold;
	line-height: 45px;
	padding-left: 30px;
}
#news .news_titel_box ul li.arcv{
	font-size: 16px;
	font-weight: bold;
	line-height: 45px;
	text-align: right;
}

.arcv_btn {
	display: inline-block;
	width: 150px;
	height: 45px;
	text-align: center;
	text-decoration: none;
	line-height: 45px;
	outline: none;
	background: #00bfff;
	color: #000;
	border-left: 1px solid #fff;
	border-radius:0px 5px 0px 0px ;
    -webkit-border-radius:0px 5px 0px 0px ;
    -moz-border-radius:0px 5px 0px 0px ;
}
a.arcv_btn,
a:link.arcv_btn{
	color: #000;
}
a:hover.arcv_btn,
.arcv_btn:hover {
	background: #0068b7;
	color: #fff;
}
.arcv_btn::before,
.arcv_btn::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.arcv_btn,
.arcv_btn::before,
.arcv_btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}


#news .w_box{
	border-radius:0px 0px 5px 5px ;
    -webkit-border-radius:0px 0px 5px 5px ;
    -moz-border-radius:0px 0px 5px 5px ;	
	background: #fff;
	height:260px;
	padding: 0 30px;
	box-sizing: border-box;
	overflow:auto;
	overflow-y:scroll;
	overflow-x:hidden;
}
#news .w_box dl{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;

}

#news .w_box dt{
	box-sizing: border-box;
	width: 28%;
	padding: 15px 0;
	border-top:1px solid #ddd;
	font-weight: normal;
}

#news .w_box dd{
	box-sizing: border-box;
	width: 72%;
	padding: 15px 10px;
	border-top:1px solid #ddd;
}



/* トップメニューボタン */
#top_menu{
	width: 100%;
	padding: 0;
	box-sizing: border-box;
	margin-top: 20px;

}
#top_menu ul{
	margin:0;
	padding:0;
}
#top_menu ul::after {
	  content: "";
	  clear: both;
	  display: block;
	}
#top_menu ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	width: 380px;
	box-sizing: border-box;
	padding: 0;
	margin:0;
}
#top_menu ul li:nth-child(2n+1){
	margin-right: 15px;
	box-sizing: border-box;
}
.top_menu_btn {
	display: block;
	position: relative;
	width: 100%;
	height: 75px;
	line-height: 75px;
	text-align: left;
	text-decoration: none;
	background: #0168b7;
	border: 2px solid #0168b7;
	color: #fff;
	border-radius: 5px;
	font-size: 22px;
	font-weight: bold;
	box-sizing: border-box;
	margin-bottom: 10px;
	padding: 0 20px;
}

.top_menu_btn::before {
  content: "";
  position: absolute;
  top: 46%;
  right: 12px;
  width: 10px;
  height: 2px;
  background: #fff;
  transform: rotate(45deg);
}

.top_menu_btn::after {
  content: "";
  position: absolute;
  top: 54%;
  right: 12px;
  width: 10px;
  height: 2px;
  background: #fff;
  transform: rotate(-45deg);
}
a.top_menu_btn,
a:link.top_menu_btn{
	color: #fff;
}
.top_menu_btn:hover,
a:hover.top_menu_btn{
	  background: #fff;
	  border: 2px solid #0168b7;
	  color: #0168b7;
}
a:hover.top_menu_btn::before {
  content: "";
  position: absolute;
  top: 46%;
  right: 12px;
  width: 10px;
  height: 2px;
  background: #0168b7;
  transform: rotate(45deg);
}

a:hover.top_menu_btn::after {
  content: "";
  position: absolute;
  top: 54%;
  right: 12px;
  width: 10px;
  height: 2px;
  background: #0168b7;
  transform: rotate(-45deg);
}
/* サイドメニュー画像 */
#side_menu {
	margin-top: 20px;
}
#side_menu ul{
	margin:0;
	padding:0;
}
#side_menu ul:after {
	  content: "";
	  clear: both;
	  display: block;
}
#side_menu ul li {
	display: block;
	list-style-type: none;
	text-align: left;
	width: 100%;
	line-height:23px;
	box-sizing: border-box;
	margin:0 0 15px 0;
	padding: 0;
}
#side_menu ul li:last-child {

	margin:0;
	padding: 0;
}
#side_menu ul li img{
	width: 100%;
	height: auto;
}

/* サイドメニューボタン */
#side_menu_link{
	width: 100%;
	padding: 0;
	box-sizing: border-box;
	background: #fff;
	border-radius: 5px;
	margin-top: 20px;

}
#side_menu_link ul{
	margin:0;
	padding:0;
}

#side_menu_link ul li {
	display: block;
	list-style-type: none;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	margin:0;
	border-bottom: 1px solid #ddd;
}
#side_menu_link ul li:last-child {
	border-bottom: 0px solid #ddd;
}
#side_menu_link ul li a,
#side_menu_link ul li a:link{
	display: block;
	line-height:80px;
	font-size: 22px;
	font-weight: bold;
	color: #000;
	padding:0 25px;
}
#side_menu_link ul li a:hover{
	background: #f2f3f3;
}
/* リンク一覧 */
#top_link_banner{
	width: 100%;
	max-width: 1200px;
	margin: 20px auto 35px auto;
}

#top_link_banner ul{
	margin: 0;
	padding:0;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
#top_link_banner ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}
#top_link_banner ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: center;
	box-sizing: border-box;
	margin: 0 5px;
	padding:0;
}
#top_link_banner ul li.link {
	width: 880px;
	padding: 60px 15px 45px 15px;
	background: #fff;
	border-radius: 5px;
	box-sizing: border-box;
	margin: 0 10px;

}
#top_link_banner ul li.adv {
	width: 280px;
	padding: 0px 15px 45px 15px;
	background: #fff;
	border-radius: 5px;
	box-sizing: border-box;
	text-align: center;
	margin-left: 10px;
}
#top_link_banner ul li.adv h2{
	line-height: 60px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
#top_link_banner ul li.link ul li {
	padding: 5px 0;
	width: 25%;
	margin: 0;
}
#top_link_banner ul li.adv ul li {
	padding: 5px 0;
	width: 100%;
	margin: 0;
}
#top_link_banner ul li ul li img{
	width: 200px;
	height: auto;
	border: 1px solid #ddd;
}

#top_link_banner ul li p {
	margin:0;
	padding:0;
}

/* =ページ
-------------------------------------------------------------- */
/* h1タイトル */

#page_titel{
	background: #0168b7;
	width: 100%;
	height: 165px;
	display: table;
}

#page_titel .page_back{
	display: table-cell;
	vertical-align: middle;
}

#page_titel .page_back h1{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	font-size: 35px;
	line-height: 45px;
	font-weight: bold;
	text-align: left;
	color: #fff;
	padding: 0;
}



/* 大分類 */

.b_menu ul{
	margin:0;
	padding:0;
}
.b_menu ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}
.b_menu ul li {
	display: block;
	list-style-type: none;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	margin:20px 0;
	padding: 0;


}
.b_menu_btn {
	position: relative;
	display: block;
	width: 100%;
	text-align: left;
	text-decoration: none;
	outline: none;
	color: #000;
	vertical-align:middle;
	font-size: 28px;
	line-height: 35px;
	font-weight: bold;
	padding:20px 60px 20px 70px;
	box-sizing: border-box;
	background-image: url(/img/hightech/bunrui-icon.png);
	background-repeat: no-repeat;
	background-color: #ccf1ff;
	border-radius: 10px;
}

.b_menu_btn a {
	display:block;
}

.b_menu_btn::before {
  content: "";
  position: absolute;
  top: 46%;
  right: 20px;
  width: 10px;
  height: 2px;
  background: #0168b7;
  transform: rotate(45deg);
}
.b_menu_btn::after {
  content: "";
  position: absolute;
  top: 54%;
  right: 20px;
  width: 10px;
  height: 2px;
  background: #0168b7;
  transform: rotate(-45deg);
}
a.b_menu_btn,
a:link.b_menu_btn{
	color: #000;
}
a.b_menu_btn:hover,
.b_menu_btn:hover {
	background-image: url(/img/hightech/bunrui-icon.png);
	background-color: #32c8ff;
}

.b_menu_btn,
.b_menu_btn::before,
.b_menu_btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

a:hover.b_menu_btn::before {
  content: "";
  position: absolute;
  top: 46%;
  right: 20px;
  width: 10px;
  height: 2px;
  background: #fff;
  transform: rotate(45deg);
}
a:hover.b_menu_btn::after {
  content: "";
  position: absolute;
  top: 54%;
  right: 20px;
  width: 10px;
  height: 2px;
  background: #fff;
  transform: rotate(-45deg);
}


/* 中分類 */
.t_menu{
	/*margin-top: 50px;*/
}
.t_menu ul{
	margin:0;
	padding:0;
}
.t_menu ul::after {
	  content: "";
	  clear: both;
	  display: block;
	}
.t_menu ul li {
	display: block;
	list-style-type: none;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	margin:20px 0;

}
.t_menu_txt{
		position: relative;
}

.t_menu_btn {
	display: flex!important;
	width: 100%;
	text-align: left;
	text-decoration: none;
	outline: none;
	color: #000;
	font-size: 24px;
	font-weight: 700;
	margin:  0;
	background: #f1f1f1;
	border-radius: 10px;
}
.t_menu_btn .day{
	width:13em;
	text-align: center;
	font-size: 18px;
	font-weight: normal;
	color: #000;
	border-right: 3px solid #fff;
	padding: 20px 0;
	box-sizing: border-box;

}
.t_menu_btn .text{
	display:table-cell;
	width: 75%;
	padding: 20px 20px 20px 35px;
	box-sizing: border-box;

}
.t_menu_btn a,
a:link.t_menu_btn{
	color: #1d2088;
}
.t_menu_btn a:hover,
.t_menu_btn:hover {
	color: #1d2088;
	background: #ccf1ff;
}
.t_menu_btn,
.t_menu_btn::before,
.t_menu_btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}



@media (max-width: 1023px) {

.pc{
	display: none;
}
.sp{
	display: block;
}
	
body {
	font-size: 16px;

}
/* =Headings
-------------------------------------------------------------- */

#main_body h2 {
	font-size: 24px;
	line-height: 35px;
	color: #0168b7;
	border-left: 10px solid #0168b7;
	border-bottom: 2px solid #0168b7;
	padding: 10px 0 10px 20px;
	font-weight: bold;
	background: #f6f6f6;
}
#main_body h3 {
	font-size: 22px;
	line-height: 35px;
	font-weight: bold;
	padding: 10px;
	color: #00b46e;
	border-top:2px solid #00b46e;
	border-bottom:2px solid #00b46e;
}
#main_body h4 {
	font-size: 20px;
	font-weight: bold;
	color: #000;
	padding: 8px 12px;
	border-left: 8px solid #2050a4;
}

#main_body h5 {
	font-size: 18px;
	font-weight: bold;
	color: #000;
	position: relative;
	padding-left: 1.5em;
}
#main_body h5::after {
	content:''!important;
	position: absolute;
	left:0em;
	top:0.4em!important;
	transform:translatey(-50%);
	margin-right: 1.5em;
	width: 0;
	height: 0;
	border-left: 9px solid transparent;
	border-right: 9px solid transparent;
	border-bottom: 15px solid #00c783;
	transform:rotate(90deg);
}
#main_body h6 {
	font-size: 1.1em;
}

#main_body td,
#main_body th {
	border: 1px solid #b1b1b1;
	padding: 15px;
	box-sizing: border-box;
	text-align: left;
	vertical-align: middle;
	font-size: 16px;
}
#main_body th {
	background: #1d50a3;
	color: #fff;
	font-weight: bold;
}
/* ヘッダー */
header{
	width: 100%;
	max-width: auto;
	margin: 0;
	height: auto;
	padding-bottom: 5px;
}

.head_top ul li {
	display: block;
	float: none;
	list-style-type: none;
	text-align: left;
	box-sizing: border-box;
	padding:0;
	margin:0;
	height: initial;
}
.head_top ul li.logo{
	width: 100%;
	display: initial;
	align-items: initial;
	height: 80px;
	padding-top: 0px;
}

.head_top ul li.logo img{
	width: auto;
	height: 80px;
	padding-top: 5px;
	padding-bottom: 5px;
	
}

.head_top ul li.serch{
	width: 100%;
}
.head_top ul li.serch ul{
	display: none;
}


/* メニュー */
#gnavi_wrap{
	margin-bottom:10%;
}

.hamburger-menu{
	display: block;
}

.hamburger-menu #gnavi_wrap ul li:last-child {
	border-right: none;
}

.hamburger-menu .serch {
	padding:90px 0 15px 15px!important;
}

.menu-btn {
    position: fixed;
    top: 5px;
    right: 0px;
    display: flex;
    height: 80px;
    width: 80px;
    justify-content: center;
    align-items: center;
    z-index: 99999;
	background: #fff;
}

.menu-btn:hover {
	cursor: pointer;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 2px;
    width: 40px;
    background-color: #000;
    position: absolute;
}
.menu-btn span:before {
    bottom: 12px;
}
.menu-btn span:after {
    top: 12px;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#menu-btn-check {
    display: none;
}
#menu-btn-check:checked ~ .menu-content {
    left: 0;
    position:fixed;
    height:100vh; 
    z-index:3; 
    /*overflow-y:scroll;*/
    width:100%;
}

.menu-content {
	position: fixed;
	overflow: auto;
    top:0;
    width:100%;
    height:100%;
    left: 100%;
    background: #fff;
    transition: all 0.5s;

	-webkit-overflow-scrolling: touch;		
	z-index: 9999;
}
.accordion{
	height: 100%;
	overflow: auto;
}

.toggle {
	display: none;
}
.Label {
	padding: 0;
	box-sizing: border-box;
	display: block;
	font-size: 22px;
	line-height: 55px;
	font-weight: bold;
	color: #fff;
	background:#0168b7;
	border-top: 2px solid #fff;
}
.Label img{
	width: auto;
	height: 55px;
	padding-right: 10px;
		
}
.Label::before{
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 0 10px 12px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -10px;
	
}
.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.content {
	height: 0;
	overflow: hidden;
}
.toggle:checked + .Label + .content {
	height: auto;
	transition: all .3s;
}
.toggle:checked + .Label::before {
	transform: rotate(90deg) !important;
}
.sp_menu_btn{
	display: block;
	font-size: 18px;
	line-height: 55px;
	padding: 0 10px 0 30px;
	box-sizing: border-box;
	border-bottom: 1px solid #555;
	position: relative;
}

.sp_menu_btn a {
	display:block;
}

.sp_menu_btn::before {
  content: "";
  position: absolute;
  top: 46%;
  left: 10px;
  width: 8px;
  height: 2px;
  background: #000;
  transform: rotate(45deg);
}
.sp_menu_btn::after {
  content: "";
  position: absolute;
  top: 54%;
  left: 10px;
  width: 8px;
  height: 2px;
  background: #000;
  transform: rotate(-45deg);
}
a:hover.sp_menu_btn{
	background: #f2f2e8;
}

/* フッター */

footer{
	background: #fff;
	width: 100%;
	border-top:5px solid #1f4fa3;
}
#footer_box{
	width: 100%;
	max-width: initial;
	margin: 0 auto;
	padding-top:35px;
}
#footer_box .foot_box{
	width: 100%;
	margin: 0 auto;
}
#footer_box ul{
	margin:0 0 20px 0;
	padding:0;
}

#footer_box ul li {
	display: block;
	float: left;
	list-style-type: none;
	box-sizing: border-box;
	margin:0 0 30px 0;
	padding: 0;
}

#footer_box ul li.footer_logo{
	width: 100%;
	text-align: center;
}
#footer_box ul li.footer_logo img{
	width: 80%;
	height: auto;
}
#footer_box ul li.footer_menu{
	width: 50%;
	
	text-align: center;
}
#footer_box ul li.footer_add{
	width: 100%;
	float: none;
	text-align: left;
	padding: 0 20px;
	font-size: 14px;
	line-height:25px;
}
#footer_box ul li.footer_add h3{
	color: #000;
	font-size: 16px;
	font-weight: bold;
	padding: 0 0 3px 0;
	margin-bottom: 10px;
	border-bottom: 1px solid #ccc;
}
.footer_add a,
.footer_add a:link{
	color: #000;
}
footer .copy{
	width: 100%;
	font-size: 11px;
	line-height: 15px;
	color: #fff;
	text-align: center;
	background: #1f4fa3;
	padding: 5px;
}
.footer_btn {
	display: block;
	width: 80%;
	height: 40px;
	margin: 15px auto 0 auto;
	text-align: center;
	text-decoration: none;
	line-height: 40px;
	outline: none;
	background: #fff;
	color: #0075ac;
	border: 1px solid #0075ac;
	vertical-align:middle;
	font-size: 14px;
	font-weight: bold;
}


	
/* コンテンツ */
#top_main_content{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
.content_left{
	width: 92%;
	float: none;
	padding: 0px;
	box-sizing: border-box;
	margin: 0 auto;
}
.content_right{
	width: 100%;
	float: none;
	padding: 0px;
	box-sizing: border-box;
	margin: 0 auto;
}


#main{
	width: 95%;
	max-width: initial;
	margin: 0px auto;
	padding: 20px 10px;
}

/* ぱんくず */
#pan{
	width: 90%;
	max-width: auto;
	margin: 0 auto;
	font-size: 12px;
	padding: 10px 0 0;
}


/* =ページ
-------------------------------------------------------------- */
/* h1タイトル */


#page_titel{
	background: #0168b7;
	width: 100%;
	height: auto;
	display: table;

}

#page_titel .page_back h1{
	width: 100%;
	max-width: initial;
	margin: 0 auto;
	font-size: 24px;
	line-height: 35px;
	font-weight: bold;
	text-align: left;
	color: #fff;
	padding: 20px;
}


/* =トップページ
-------------------------------------------------------------- */
/* サイドメニュー画像 */
#side_menu {
	margin: 0 auto;
	width: 95%;
}

#side_menu ul li {
	float: left;
	text-align: left;
	width: 48%;
	margin:0 1%;
	box-sizing: border-box;
}

#side_menu ul li img{
	width: 100%;
	height: auto;
}


/* スライダー部分 */


#top_img{
	width: 100%;
	margin:20px auto 15px auto;
}
.splide__toggle {
	display: block;
}
.toggle{
	width: 100%;
	float: none;
}

.toggle button {
  padding: 0;
  border: none;
  background: transparent;
}

.toggle button img {
  display: block;
}
.splide__arrows img{
	width: 40px;
	height: 39px;
}


/* お知らせ */

#news{
	width: 100%;
	margin: 0 auto;
}
#news .news_titel_box{
	width: 100%;
	background: #00bfff;
	height: 45px;
	box-sizing: border-box;
	border-radius:5px 5px 0px 0px ;
    -webkit-border-radius:5px 5px 0px 0px ;
    -moz-border-radius:5px 5px 0px 0px ;
}
#news .news_titel_box ul{
	margin:0;
	padding:0;
}
#news .news_titel_box ul::after {
	  content: "";
	  clear: both;
	  display: block;
	}
#news .news_titel_box ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	width: 50%;
	padding: 0;
	margin:0;
}
#news .news_titel_box ul li.titel{
	font-size: 22px;
	font-weight: bold;
	line-height: 45px;
	padding-left: 30px;
}
#news .news_titel_box ul li.arcv{
	font-size: 16px;
	font-weight: bold;
	line-height: 45px;
	text-align: right;
}

.arcv_btn {
	display: inline-block;
	width: 150px;
	height: 45px;
	text-align: center;
	text-decoration: none;
	line-height: 45px;
	outline: none;
	background: #00bfff;
	color: #000;
	border-left: 1px solid #fff;
	border-radius:0px 5px 0px 0px ;
    -webkit-border-radius:0px 5px 0px 0px ;
    -moz-border-radius:0px 5px 0px 0px ;
}
a.arcv_btn,
a:link.arcv_btn{
	color: #000;
}
a:hover.arcv_btn,
.arcv_btn:hover {
	background: #0068b7;
	color: #fff;
}
.arcv_btn::before,
.arcv_btn::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.arcv_btn,
.arcv_btn::before,
.arcv_btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}


#news .w_box{
	border-radius:0px 0px 5px 5px ;
    -webkit-border-radius:0px 0px 5px 5px ;
    -moz-border-radius:0px 0px 5px 5px ;	
	background: #fff;
	height:auto;
	padding: 0 15px;
	box-sizing: border-box;
	overflow:initial;
	overflow-y:initial;
	overflow-x:initial;
}
#news .w_box dl{
	width: 100%;
	display: initial;
	flex-wrap: initial;
	margin: 0 auto;

}

#news .w_box dt{
	box-sizing: border-box;
	width: 100%;
	padding: 10px 0 0 0;
	border-top:0px solid #ddd;
	display: block;
	font-weight: bold;
}

#news .w_box dd{
	box-sizing: border-box;
	width: 100%;
	padding: 0 0 10px 0;
	border-top:0px solid #ddd;
	border-bottom:1px solid #ddd;
}


/* トップメニューボタン */
#top_menu ul li {
	display: block;
	float: none;
	list-style-type: none;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	padding: 0;
	margin:0;
}
#top_menu ul li:nth-child(2n+1){
	margin-right: 0;
	box-sizing: border-box;
}

/* サイドメニューボタン */
#side_menu_link{
	width: 92%;
	padding: 0;
	box-sizing: border-box;
	background: #fff;
	border-radius: 5px;
	margin: 20px auto;

}
/* リンク一覧 */
#top_link_banner{
	width: 96%;
	max-width: initial;
	margin: 20px auto 35px auto;
}



#top_link_banner ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: center;
	box-sizing: border-box;
	margin: 0 5px;
	padding:0;
}
#top_link_banner ul li.link {
	width: 100%;
	padding: 30px 15px 30px 15px;
	background: #fff;
	border-radius: 5px;
	box-sizing: border-box;
	margin: 10px;

}
#top_link_banner ul li.adv {
	width: 100%;
	padding: 30px 15px 30px 15px;
	background: #fff;
	border-radius: 5px;
	box-sizing: border-box;
	margin: 10px;
}
#top_link_banner ul li.adv h2{
	line-height: 30px;
	font-size: 20px;
	padding-bottom: 30px;
	font-weight: bold;
	text-align: center;
}
#top_link_banner ul li.link ul li {
	padding: 5px 0;
	width: 50%;
	margin: 0;
}
#top_link_banner ul li.adv ul li {
	padding: 5px 0;
	float: left;
	width: 50%;
	margin: 0;
}
#top_link_banner ul li ul li img{
	width: 90%;
	height: auto;
	border: 1px solid #ddd;
}
/* 大分類 */

.b_menu ul{
	margin:0;
	padding:0;
}
.b_menu ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}
.b_menu ul li {
	display: block;
	list-style-type: none;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	margin:20px 0;


}
.b_menu_btn {
	position: relative;
	display: block;
	width: 100%;
	text-align: left;
	text-decoration: none;
	outline: none;
	color: #000;
	vertical-align:middle;
	font-size: 20px;
	line-height: 35px;
	font-weight: bold;
	padding:10px 30px 10px 50px;
	box-sizing: border-box;
	background-image: url(/img/hightech/bunrui-icon.png);
	background-size: 55px;
	background-repeat: no-repeat;
	background-color: #ccf1ff;
	border-radius: 10px;
}
.b_menu_btn::before {
  content: "";
  position: absolute;
  top: 46%;
  right: 10px;
  width: 8px;
  height: 2px;
  background: #0168b7;
  transform: rotate(45deg);
}
.b_menu_btn::after {
  content: "";
  position: absolute;
  top: 54%;
  right: 10px;
  width: 8px;
  height: 2px;
  background: #0168b7;
  transform: rotate(-45deg);
}
a.b_menu_btn,
a:link.b_menu_btn{
	color: #000;
}
a.b_menu_btn:hover,
.b_menu_btn:hover {
	background-image: url(/img/hightech/bunrui-icon.png);
	background-color: #32c8ff;
}

.b_menu_btn,
.b_menu_btn::before,
.b_menu_btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

a:hover.b_menu_btn::before {
  content: "";
  position: absolute;
  top: 46%;
  right: 12px;
  width: 8px;
  height: 2px;
  background: #fff;
  transform: rotate(45deg);
}
a:hover.b_menu_btn::after {
  content: "";
  position: absolute;
  top: 54%;
  right: 12px;
  width: 8px;
  height: 2px;
  background: #fff;
  transform: rotate(-45deg);
}


/* 中分類 */
.t_menu{
	/*margin-top: 50px;*/
}
.t_menu ul{
	margin:0;
	padding:0;
}
.t_menu ul::after {
	  content: "";
	  clear: both;
	  display: block;
	}
.t_menu ul li {
	display: block;
	list-style-type: none;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	margin:20px 0;

}
.t_menu_txt{
	position: relative;
}

.t_menu_btn {
	display: flex;
	flex-flow:column;
	width: 100%;
	text-align: left;
	text-decoration: none;
	outline: none;
	color: #000;
	font-size: 24px;
	font-weight: 700;
	margin:  0;
	background: #f1f1f1;
	border-radius: 10px;
	padding: 10px;
}
.t_menu_btn .day{
	display:block;
	text-align: left;
	font-size: 16px;
	font-weight: normal;
	color: #000;
	border-right: 0px solid #fff;
	padding: 0;
	box-sizing: border-box;

}
.t_menu_btn .text{
	text-align: 18px;
	display:block;
	width: 100%;
	padding: 0;
	box-sizing: border-box;

}
.t_menu_btn{
	font-size: 18px;
	
}
.t_menu_btn a,
a:link.t_menu_btn{
	color: #1d2088;
	display:block;
	width: 100%;
}

.t_menu_btn a:hover,
.t_menu_btn:hover {
	color: #1d2088;
	background: #ccf1ff;
}

.t_menu_btn,
.t_menu_btn::before,
.t_menu_btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

}
@media (max-width: 1199px) and (min-width: 1024px) {
.head_top ul li ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: center;
	box-sizing: border-box;
	padding:0;
	margin:0;
	width: 25%;
	font-size: 13px;
	line-height: 55px;
	font-weight: bold;
}
#news .w_box{
	height:240px;
}
#top_menu ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	width: 49%;
	box-sizing: border-box;
	padding: 0;
	margin:0;
}
#top_menu ul li:nth-child(2n+1){
	margin-right: 2%;
	box-sizing: border-box;
}

#top_link_banner ul li.link {
	width: 73%;
	padding: 60px 2% 45px 2%;
	background: #fff;
	border-radius: 5px;
	box-sizing: border-box;
	margin: 0 10px;

}
#top_link_banner ul li.adv {
	width: 23%;
	padding: 0px 2% 45px 2%;
	background: #fff;
	border-radius: 5px;
	box-sizing: border-box;
	text-align: center;
	margin-left: 10px;
}
#top_link_banner ul li ul li img{
	width: 90%;
	height: auto;
	border: 1px solid #ddd;
}

}


/*更新日*/
@media screen and (max-width:768px) {
    .content_header_wrap .date {
        font-size: 12px;
    }

    /* 追記2023年4月14日 */
    #container {
        overflow: hidden;
    }

    .detail_map,
    .detail_movie {
        aspect-ratio: 16/9;
        width: 40%;
        margin: 1rem 0 3rem;
    }

    .detail_map iframe,
    .detail_movie iframe {
        width: 100%;
        height: 100%;
    }
}


.adv img{
  width:100%;
  padding:5px;
}

@media screen and (max-width:1023px) {
  .adv img{
    width:250px;
  }
}

.gsc-resultsbox-visible{
  text-align:left;
  line-height:1.8;
}