@charset "UTF-8";
/********************************************************************
 * 汎用 base color 4166b1
 ********************************************************************/
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: inherit;
	font-size: 1rem;
	vertical-align: baseline;
	font-family: MyYuGothicM, YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
@media screen and (max-width: 750px) {

	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 {
		font: inherit;
		font-size: 0.92rem;
	}
}
@media print{	header,footer {display: none !important;}}
a:link {color:#232323;}
a:visited {color:#232323;}
a:hover {color:#232323;}
a:active {color:#232323;}
a {text-decoration:none;}
@media screen and (max-width: 750px) {
	a {text-decoration:underline;}
}
a img {border:none;}
img {max-width:100%;height:auto;padding:0;margin:0;border:0;vertical-align:top;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
html { height: 100%;
scroll-behavior: smooth; }
body {
	height: 100%;
	-webkit-text-size-adjust: 100%;
	background-color: #fff;
}
ol, ul { list-style: none; }
blockquote, q {	quotes: none; }
table {	border-collapse: collapse; border-spacing: 0; }
select {
	cursor: pointer;
	outline: 0;
	border: 1px solid rgba(0, 0, 0, 0.4);
	background-color: rgba(255, 255, 255, 0.6);
	padding: 3px 5px;
	box-sizing: border-box;
	border-radius:5px;
}
/* input */
input[type=text],
input[type=password],
input[type=number],
input[type=file],
input[type=date],
textarea{
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  	outline: 0;
	border: 1px solid rgba(0, 0, 0, 0.4);
  	background-color: rgba(255, 255, 255, 0.6);
	padding: 4px 8px;
	box-sizing: border-box;
	border-radius:3px;
}
input[type=text][name='item_weight']{
	width: 50px;
}
textarea[name='explanetion']{
	min-width: 150px;
}
input[type=text]:hover,
input[type=password]:hover,
input[type=date]:hover,
input[type=file]:hover,
textarea {
	background-color: rgba(255, 255, 255, 0.85);
}
input[type=text]:focus,
input[type=password]:focus,
input[type=date]:focus,
input[type=file]:focus,
textarea {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
	background-color: rgba(255, 255, 255, 0.85);
}

/*-- button style --*/
button,
.button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: inline-block;
	cursor: pointer;
	outline: 0;
	padding: 2px 12px;
	margin: 0 5px;
	white-space: nowrap;
	color: #4166b1 ;
	background: #ffffff ;
	border: solid 1px #4166b1;
	border-radius: 5px;
	transition: .4s;
	box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3);
}
button:hover,
.button:hover {
	transition-duration: 0.2s;
	box-shadow: 0px 1px 3.5px rgba(0, 0, 0, 0.6);
}
button:active,
.button:active {
	transition-duration: 0.3s;
	box-shadow: none;
}
button.return_button {
    padding: 5px 30px;
}
/* checkbox */
.checkbox_outer label {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}
.checkbox_outer label:hover {
  cursor: pointer;
}
.checkbox_outer input[type=checkbox] {
  display: none;
}
input[type=checkbox] + .checkbox {
  height: 15px;
  width: 15px;
  border: 1px solid rgba(0, 0, 0, 0.6);
  background-color: rgba(245, 245, 245, 0.8);
  border-radius: 3px;
  position: relative;
  display: inline-block;
  cursor: pointer;
}
input[type=checkbox] + .checkbox + span {
  margin-left: 5px;
}
input[type=checkbox] + .checkbox::before, .checkbox::after {
  position: absolute;
  height: 0;
  width: 4px;
  background-color: #4166b1;
  display: inline-block;
  -moz-transform-origin: left top;
  -ms-transform-origin: left top;
  -o-transform-origin: left top;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  border-radius: 2px;
  content: ' ';
  -webkit-transition: opacity ease 0.2s;
  -moz-transition: opacity ease 0.2s;
  transition: opacity ease 0.2s;
}
input[type=checkbox] + .checkbox::before {
  top: 12px;
  left: 7px;
  -moz-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
input[type=checkbox] + .checkbox::after {
  top: 4px;
  left: -3px;
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

input[type=checkbox]:checked + .checkbox::after {
  height: 13px;
  -moz-animation: dothabottomcheck 0.1s ease 0s forwards;
  -o-animation: dothabottomcheck 0.1s ease 0s forwards;
  -webkit-animation: dothabottomcheck 0.1s ease 0s forwards;
  animation: dothabottomcheck 0.1s ease 0s forwards;
}
input[type=checkbox]:checked + .checkbox::before {
  height: 20px;
  -moz-animation: dothatopcheck 0.1s ease 0s forwards;
  -o-animation: dothatopcheck 0.1s ease 0s forwards;
  -webkit-animation: dothatopcheck 0.1s ease 0s forwards;
  animation: dothatopcheck 0.1s ease 0s forwards;
}
@keyframes dothatopcheck {
  0% {height: 0;}
  50% {height: 0;}
  100% {height: 18px;}
}
@-webkit-keyframes dothatopcheck {
  0% {height: 0;}
  50% {height: 0;}
  100% {height: 18px;}
}
@-moz-keyframes dothatopcheck {
  0% {height: 0;}
  50% {height: 0;}
  100% {height: 18px;}
}

h1 {
	align-items: center;
	padding: 0.5rem 1rem 0.5rem 1rem;
	margin-top: 3rem;
	margin-bottom: 1rem;
	border: solid 1px #4166b1;
	border-radius: 5px;
}
h1 span {
	font-size: 1.2rem;
	font-weight: bold;
	font-family: StoneSansITCPro-Medium,"FP-こぶりなゴシック StdN W3","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,"メイリオ",Meiryo,sans-serif;
}
h2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.5rem 1.5rem 0.5rem 2.5rem;
	margin-bottom: 1rem;
	border-bottom: solid 1px #888;
}
h2 span {
	font-size: 1.2rem;
	font-weight: bold;
	font-family: StoneSansITCPro-Medium,"FP-こぶりなゴシック StdN W3","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,"メイリオ",Meiryo,sans-serif;
}
h3 {
	display: block;
	margin: 2rem 0 0.5rem 0rem;
	padding-left: 1rem;
	border-left: solid 3px #4166b1;
	border-bottom:1px solid #4166b1;
	font-weight: bold;
	font-family: StoneSansITCPro-Medium,"FP-こぶりなゴシック StdN W3","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,"メイリオ",Meiryo,sans-serif;
	color:#0b234e;
}
/* インデント */
.indent1{ padding-left:1rem; }
.indent2{ padding-left:2rem; }
.indent3{ padding-left:3rem; }
.indent4{ padding-left:4rem; }
.indent5{ padding-left:5rem; }

/* テキスト関連 */
.underline_none { text-decoration: none; }
.underline { text-decoration: underline; }
.center {	text-align:center; }
.right { text-align:right; }
.left { text-align:left; }
.bold {
	font-weight:bold;
	font-family: StoneSansITCPro-Medium,"FP-こぶりなゴシック StdN W3","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,"メイリオ",Meiryo,sans-serif;
}
.red { color:#FF0000; }
.blue { color:#0000FF; }
.orange { color:#EC662C; }
.comment { color:#008800; }
.size2rem { font-size:2rem; }
.size3rem { font-size:3rem; }
.wrap { white-space: normal; }
.nowrap { white-space: nowrap; }

/* 強調テキスト */
.sub_title {
	font-family: "Times New Roman", "游明朝", "YuMincho", "Hiragino Mincho ProN", "HG明朝E", "Noto Serif JP", Meiryo, serif;
	font-size: 1.8rem;
	text-align: center;
	margin-bottom: 30px;
	line-height: 1.2;
}
.emphasis_blue {
	color: #002fa6;
	font-weight: bold;
}
.emphasis_red {
	color: #fb1308;
	font-weight: bold;
}
.emphasis_published {
	position: relative;
	display: inline-block;
	padding: 0.5rem 2rem;
	color: #fb1308;
	font-size: 1.2rem;
	font-weight: bold;
	background-color: #fff0f0;
	border: solid 1px #fb1308;
	border-radius: 5px;
}
.emphasis_private {
	position: relative;
	display: inline-block;
	padding: 0.5rem 2rem;
	color: #00126b;
	font-size: 1.2rem;
	font-weight: bold;
	background-color: #dbe5ff;
	border: solid 1px #00126b;
	border-radius: 5px;
}
.emphasis_rejected {
	position: relative;
	display: inline-block;
	padding: 0.5rem 2rem;
	color: #4f4f4f;
	font-size: 1.2rem;
	font-weight: bold;
	background-color: #e7e7e7;
	border: solid 1px #4f4f4f;
	border-radius: 5px;
}
/* 画像の角丸み度合 */
.border_radius3 {border-radius: 3px;}
.border_radius5 {border-radius: 5px;}
.border_radius8 {border-radius: 8px;}

/* メモ書きエリア */
.note_area {
	padding :15px 30px;
	border:1px dashed #CCC;
	border-radius: 5px;
}
.information_area {
	align-items: center;
	padding: 0.5rem 1rem 0.5rem 1rem;
	margin-top: 3rem;
	margin-bottom: 1rem;
	border: solid 1px #4166b1;
	border-radius: 5px;
}
/********************************************************************
 * メインフレームエリア共通
 ********************************************************************/
#wrapper {
	min-height: 100%;
}
@media screen and (min-width: 751px) {
	main.public_outer {
		display:flex;
	}
	.left_contents {
		flex-basis:20%;
		min-width: 350px;
	}
}
/* 検索エリア */
.search_area {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	margin:20px 20px 5px 20px;
}
/*
.search_area button.search_button {
	background:url(../img/icon_search.png) no-repeat;
	background-position: center center;
	background-size: contain;
}
*/
/* タグボタン用 */
.tag_title {
	margin:15px 20px 3px 20px;
	padding:2px 10px;
	border-bottom:1px solid #4166b1;
	font-size: 0.92rem;
	color:#0b234e;
	font-weight: bold;
}
.tags {
	display: flex;
	flex-wrap: wrap;
	padding: 5px 20px;
}
.tags a,
.tags span {
	display: inline-block;
	padding: 0.1rem 0.6rem;
	margin: 0.18rem;
	white-space: nowrap;
	color: #26265e;
	font-size: 0.94rem;
	font-weight: normal;
	text-decoration: none !important;
	border: solid 1px #b3c4dd;
	border-radius: 6px;
	background: #f8fffc;
}
.tags a.current_tag,
.tags a:hover,
.tags input + span:hover,
.tags input[type=checkbox]:checked + span {
	cursor: pointer;
	color:#ffffff;
	background: #4166b1;
	transition: 0.2s;
}
.tags a.current_tag:hover {
	transition-duration: 0.2s;
	box-shadow: 1px 1px 3.5px rgba(0, 0, 0, 0.4);
}
.tags input[type=checkbox] {
	display: none;
}
.tags span.tag_selected {
	color:#ffffff;
	background: #4166b1;
}

/*------ posts menu style ---------------------------------------------*/
.posts_menu_container li {
	background: #fff;
	list-style: none;
	flex-wrap: wrap;
	margin: 0px 20px;
	font-size: 0.935rem;
	border-bottom: 1px solid ;
	border-bottom-color: rgba(0,0,0,.2);
}
.posts_menu_container li a {
	display: block;
	padding: 5px 10px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-decoration:none;
	cursor: pointer;
	border-radius: 6px;
}
.posts_menu_container li a:hover,
.posts_menu_container li a:focus {
	color:#ffffff;
	background: #4166b1;
}
/********************************************************************
 * メインコンテンツエリア共通
 ********************************************************************/
 .main_contents {
	width: 100%;
 	padding: 20px;
 	-webkit-box-sizing: border-box; /* Webkit */
 	-moz-box-sizing: border-box; /* Firefox */
 	box-sizing: border-box; /* 標準 */

 }
.main_outer {
	min-height: 100%;
	margin: 0 auto;
	width:100%;
	background-color: #fff;
	background-color: rgba( 255, 255, 255, 0.85 );
}
.main_inner {
	max-width: 1400px;
	margin: 0 auto;
	padding-top: 1.5rem;
	padding-bottom: 1px;
}
.contents {
	margin: 0 5%;
	padding: 1.5rem;
	margin-bottom: 1.5rem;
	background-color: #fff;
	border-radius: 8px;
}
.contents_outer {
	padding: 20px;
}
.contents_inner {
	width: 100%;
	padding-bottom: 3rem;
}
.main_contents p,
.contents p {
	margin-bottom: 1.0rem;
}
.contents_right {
  text-align: right;
}
.contents_center {
    text-align: center;
    margin: 0 auto;
    justify-content: center;
}
.contents_image {
	padding: 2%;
}
/* -----------------------------------------------------
	mobile
 ----------------------------------------------------- */
@media screen and (max-width: 750px) {
	main.public_outer {
		flex-wrap:wrap;
	}
	main .tags_outer {
		flex-basis:100%;
	}
}

/* page title */
body:not(#top) .top_title {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 14rem;
	background-color: rgba( 255, 255, 255, 0.4 );
}
body:not(#top) .top_title h1 {
	color: #fff;
	font-size: 3.28rem;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
	font-family: "Times New Roman", "游明朝", "YuMincho", "Hiragino Mincho ProN", "HG明朝E", "Noto Serif JP", Meiryo, serif;
	letter-spacing: 0.3rem;
}
@media screen and (max-width: 750px) {
	body:not(#top) .top_title {
		height: 30vw;
		max-height: 15rem;
	}
	body:not(#top) .top_title h1 {
		font-size: max(6.5vw,2rem);
		text-shadow: 2px 2px 6px rgba(0,0,0,0.8);
	}
}
/* パンくずリスト */
.crumbs ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	align-content: space-around;
	margin: 0 5%;
	padding-left: 1.5rem;
	padding-bottom: 1.5rem;
}
.crumbs ul li {
	padding-right: 30px;
}
.crumbs ul li:not(:last-child) {
  display: block;
  transform: scale(var(--ggs,1));
}
.crumbs ul li:not(:last-child)::after {
  content: "";
  display: block;
  box-sizing: border-box;
  position: absolute;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #555;
  border-right: 2px solid #555;
  transform: rotate(-45deg);
  right: 12px;
  top: 7px;
}
.crumbs ul li a {
	text-decoration: underline;
}
/* ページナビ */
.page_navi_outer {
	display: flex;
	flex-direction: row;
	flex-wrap:wrap;
	justify-content: flex-end;
	align-items: center;
	padding:15px 0;
}
.page_navi {
	margin:0 10px;
	cursor: pointer;
	text-decoration: underline;
}
.current_page_navi {
  margin: 0 10px;
  padding: 0rem 0.6rem;
  border-radius: 5px;
  border: solid 1px #AAA;
  background: #f1f1f1;
}

/* -----------------------------------------------------
	mobile
 ----------------------------------------------------- */
@media screen and (max-width: 750px) {
	.main_inner {
		padding-top: 1rem;
	}
	.contents {
		margin: 0 0;
		margin-bottom: 2rem;
		border-radius: 0;
	}
	.contents h2 {
		font-size: clamp(0.89rem, 4vw, 1.3rem);
		padding: 0.25rem 1rem;
		margin-bottom: 1rem;
	}
}

/********************************************************************
 * ヘッダー共通
 ********************************************************************/
header {
  position: sticky;
  position: -webkit-sticky;
  z-index: 100;
  top: 0px;
  background-color: #fff;
}

/********************************************************************
 * メインメニュー共通
 ********************************************************************/
nav .menu_outer {
	border-bottom:1px solid #ddd;
}
nav .menu_outer div.logo_title {
 padding:5px 20px;
}
nav .logo_title{width:180px;}
/* -----------------------------------------------------
   PC メインメニュー
 ----------------------------------------------------- */
@media screen and (min-width: 751px) {
	nav .ac_menu,nav .mobile_top_menu { display: none !important; }
	nav .pc_menu { width:300px;}
	nav .menu_outer {
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		align-items: center;
	}
	nav .menu_outer > ul {
		display: flex;
		justify-content: center;
		flex-basis: 80%;
		min-width: 0;
		padding: 0;
	}
	nav .menu_outer > ul.menu_items {
		display: flex;
		justify-content: flex-start;
	}
	nav .menu_outer > ul.menu_items > li {
		position: relative;
		min-width: 0;
		margin: 0 2%;
		text-align: center;
		--white-space: nowrap;
	}
	/* メニューアンダーライン 初期表示*/
	nav .menu_outer > ul.menu_items > li > a:after {
		content: '';
		position: absolute;
		margin: 5px auto 0;
		bottom: 0;
		left: 0%;
		width: 100%;
		height: 1px;
		background: #4166b1;
	}
	/* メニューアンダーライン */
	nav .menu_outer > ul.menu_items > li:after {
		content: '';
		position: absolute;
		margin: 5px auto 0;
		bottom: 0;
		left: 0%;
		width: 100%;
		height: 3px;
		background: #4166b1;
		-webkit-transform: scale3d(0, 1.5, 1); transform: scale3d(0, 1.5, 1);
		-webkit-transform-origin: 100% 100%; -ms-transform-origin: 100% 100%; transform-origin: 100% 100%;
		-webkit-transition: -webkit-transform 0.5s; transition: -webkit-transform 0.5s;
		-o-transition: transform 0.5s;
		transition: transform 0.5s, -webkit-transform 0.5s;
		-webkit-transition-timing-function: cubic-bezier(0.8, 0, 0.2, 1);
		-o-transition-timing-function: cubic-bezier(0.8, 0, 0.2, 1);
		transition-timing-function: cubic-bezier(0.8, 0, 0.2, 1);
	}
	nav .menu_outer > ul.menu_items > li:hover:after {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
		-webkit-transform-origin: 50% 50%; -ms-transform-origin: 50% 50%; transform-origin: 50% 50%;
	}
	nav .menu_outer > ul.menu_items > li span.en_title {
		display: block;
		color: #4166b1;
		font-size: 12px;
	}
	/* popup menu */
	nav .menu_outer > ul.menu_items > li .ac_menu_items {
		position: absolute;
		top:100%;
		min-width: 160px;
		margin-top: -0.5rem;
		margin-left: -1rem;
		background: #fff;
		border-radius: 0.2rem;
		line-height: 1.46667;
		box-shadow: 0 0 10px rgba(0,0,0,0.5);
		opacity:0;
		pointer-events: none;
		z-index: 999;
	}
	nav .menu_outer > ul.menu_items > li:hover .ac_menu_items,
	nav .menu_outer > ul.menu_items > li .ac_menu_items:hover  {
		opacity: 1;
		pointer-events: auto;
		-webkit-transform: translate(0, 5px) scale(1);
		transform: translate(0, 5px) scale(1);
		transition: transform 0.15s ease-out, opacity 0.15s ease-out;
	}
	nav .menu_outer > ul > li .ac_menu_items ul li:hover {
		background: #fff9f9;
	}
	nav .menu_outer > ul > li .ac_menu_items ul li a {
		display: block;
		position: relative;
		padding: 0.9rem 3.8rem 0.8rem 2rem;
		text-decoration: none;
		text-align: left;
		font-size: clamp(0.5rem, 1.5vw, 1rem);
		white-space: nowrap;
	}
	/* popup menu under line */
	nav .menu_outer > ul > li .ac_menu_items ul li a::after {
	  position: absolute;
	  bottom: 0;
	  left: 0;
	  content: '';
	  width: 100%;
	  height: 1px;
	  background: #4166b1;
	  transform: scale(0, 1);
	  transform-origin: center top;
	  transition: transform .3s;
	}
	nav .menu_outer > ul > li .ac_menu_items ul li a:hover::after {
	  transform: scale(1, 1);
	}

	/* Company LOGO */
	nav .menu_outer > div.pc_menu > div.company_logo {
		width: 250px;
	}
	/* other menus */
	nav .other_menus {
		margin: auto 20px;
	}
}
nav .menu_outer > div.pc_menu,
nav .menu_outer > div.mobile_top_menu {
	display: flex;
	flex-direction: row;
	flex-wrap:nowrap;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
}
/* -----------------------------------------------------
	mobile メインメニュー
 ----------------------------------------------------- */
@media screen and (max-width: 750px) {
	nav .pc_menu { display: none !important;}
	nav .menu_outer > div.mobile_top_menu {
		display: flex;
		flex-direction: row;
		flex-wrap:nowrap;
		justify-content: space-between;
		align-items: center;
		cursor: pointer;
	}
	/* Company LOGO */
	nav .menu_outer > div.mobile_top_menu > div.company_logo img {
		width: 200px ;
	}
	/* menu icon */
	nav .mobile_menu_icon {
		flex-basis: 50px;
		max-width: 100px;
	}
	nav .mobile_menu_icon svg {
		padding: 0.4em 1.5em 0 1.5em;
		width: 1.8rem; height: 1.8rem; opacity: 1;
	}
	nav .mobile_menu_icon rect {
		fill: rgb(105, 105, 105);
		border-radius: 50px;
	}
	/* other menus */
	nav .other_menus {
		display: none;
	}

/* -----------------------------------------------------
	 accordion menu
 ----------------------------------------------------- */
	nav .menu_outer > ul.menu_items {
		opacity: 0;
		overflow: hidden;
		max-height: 0;
		-webkit-transition: max-height 0.35s;
						transition: max-height 0.35s;
	}
	nav .menu_outer.is_show > ul.menu_items {
		opacity: 1;
		max-height: 1000px;
		border-bottom:1px solid #ccc;
		-webkit-transition: max-height 0.35s;
						transition: max-height 0.35s;
	}
 	nav .menu_outer > ul.menu_items a {
 		display: block;
 		padding:0.9rem 4rem 0.9rem 2rem;
 		text-align: left;
 		white-space: nowrap;
		text-decoration: none;
 	}
	nav .menu_outer > ul.menu_items li {
		position: relative;
		display: block;
		white-space: nowrap;
	}
	nav .menu_outer > ul.menu_items li:hover {
		background: #fff9f9;
	}
	nav .menu_outer > ul.menu_items > li .ac_menu_items {
		opacity: 0;
		overflow: hidden;
		max-height: 0;
		padding:0 1.5rem;
		-webkit-transition: max-height 0.35s;
						transition: max-height 0.35s;
	}
	nav .menu_outer > ul.menu_items > li.is_show .ac_menu_items {
		opacity: 1;
		max-height: 1000px;
		-webkit-transition: max-height 0.35s;
						transition: max-height 0.35s;
	}
	nav .menu_outer > ul.menu_items > li .ac_menu_items ul li:hover {
		background: #fff;
	}
	/* accordion menu under line */
	nav .menu_outer > ul.menu_items li::before {
		position: absolute;
		top: 0;
		left: 0;
		content: '';
		width: 100%;
		height: 1px;
		background: #ccc;
		transform: scale(1, 1);
		transform-origin: center top;
		transition: transform .3s;
	}
	nav .menu_outer > ul.menu_items li::after {
		position: absolute;
		bottom: 0;
		left: 0;
		content: '';
		width: 100%;
		height: 1px;
		background: #4166b1;
		transform: scale(0, 1);
		transform-origin: center top;
		transition: transform .3s;
	}
	nav .menu_outer > ul.menu_items li:hover::after {
		transform: scale(1, 1);
	}
}

/********************************************************************
 * フッター共通
 ********************************************************************/
 /* -----------------------------------------------------
    PC フッター
  ----------------------------------------------------- */
footer {
	padding: 3.5rem 0;
  background-color: #fff;
}
footer hr {
	border: 0;
	height: 1px;
	margin: 80px 10vw;
	background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
	background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
	background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
	background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
}
footer .footer_links {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
}
footer .footer_links > li {
	padding: 0 1rem 0 1rem;
}
footer .footer_links > li > ul > li {
	margin: 0 1rem 1rem 1rem;
	white-space: nowrap;
}
footer .footer_links > li img {
	width: 200px;
	transition-duration: 0.5s;
	border-radius: 10px;
}

footer .footer_links > li img:hover{
	transform: translateY(-4px);
	transition-duration: 0.5s;
	box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.4);
	border-radius: 30px;
}
footer .footer_contents {
	margin-bottom: 2rem;
	text-align: center;
}
footer .footer_contents {
	margin-bottom: 2rem;
	text-align: center;
}
footer .footer_contents p { margin: 1rem; }
footer .footer_copyright {
	margin-top: 30px;
	font-size: 0.725rem;
	text-align: center;
	color: #A0A0A0;
}
/* page up menu */
footer #page_up {
	position: fixed;
	display: none;
	right: 30px;
	bottom: 80px;
	z-index: 999;
}
footer #page_up.is_show {
	display: block;
}
footer #page_up .page_up_arrow {
  box-sizing: border-box;
  position: relative;
  display: block;
  width: 60px;
  height: 60px;
	color: #999;
  transform: scale(var(--ggs,1));
  border-radius: 4px;
	background-color: rgba( 245,245,245, 0.6 );
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}
footer #page_up .page_up_arrow:hover {
	background-color: rgba( 255,255,255, 0.6 );
}
footer #page_up .page_up_arrow::after,
footer #page_up .page_up_arrow::before {
  content: "";
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: 17px;
}
footer #page_up .page_up_arrow::after {
  width: 20px;
  height: 20px;
  border-top: 4px solid;
  border-left: 4px solid;
  transform: rotate(45deg);
  left: 19px;
}
footer #page_up .page_up_arrow::before {
  width: 4px;
  height: 26px;
  left: 27px;
  background: currentColor;
}
/* -----------------------------------------------------
   mobile フッター
 ----------------------------------------------------- */
@media screen and (max-width: 750px) {
	footer {
		padding: 2rem 0;
		font-size: 0.788rem;
	}
	footer .footer_links {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		justify-content: center;
	}
	footer .footer_links > li {
		padding: 0 1rem 0rem 1rem;
		text-align: center;
	}
	footer .footer_links > li > a {
		display: inline-block;
		margin-bottom: 1.5rem;
	}
	footer .footer_links > li > ul > li {
		margin: 0 1rem 1.5rem 1rem;
	}
	footer .footer_copyright {
		font-size: 0.563rem;
	}
	footer #page_up {
		right: 20px;
		bottom: 20px;
		z-index: 999;
		transform: scale(0.8);
	}
}

/********************************************************************
 * 個別設定
 ********************************************************************/
 /* 検索結果画像一覧 */
.image_area {
	display: flex;
	flex-wrap: wrap;
	align-items:  flex-start;
}
.image_area li {
	margin: 20px;
	text-align: center;
}
.image_area li > div > a {
	display: inline-block;
	border-radius: 5px;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}
.image_area li a {
	position: relative;
	overflow: hidden;
	box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}
.image_area img:hover {
	overflow: hidden;
	transform: scale(1.05);
	transition-duration: 0.5s;
}
.image_area img {
	max-width:200px;
	max-height:200px;
	background: #fff;
}
.image_area p {
	overflow: hidden;
	max-width:200px;
	padding: 5px 0px;
	margin: 0;
	font-size: 0.85rem;
	text-overflow: ellipsis;
	text-align: center;
	white-space: nowrap;
}
@media screen and (max-width: 750px) {
	.image_area img {
		max-width:150px;
		max-height:150px;
		background: #fff;
	}
	.image_area p {
		overflow: hidden;
		max-width:150px;
		padding: 5px 0px;
		margin: 0;
		font-size: 0.85rem;
		text-overflow: ellipsis;
		text-align: center;
		white-space: nowrap;
	}
}
/* サムネイル画像 -------------------------------------------*/
#thumbnail_container img,
.thumbnail_container img {
	display: inline-block;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	cursor: pointer;
}
img.thumbnail {
    max-width: 70px;
    max-height: 70px;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}
img.small_thumbnail {
    max-width: 120px;
    max-height: 120px;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}
img.medium_thumbnail {
    max-width: 200px;
    max-height: 200px;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}
img.large_thumbnail {
    max-width: 400px;
    max-height: 400px;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}
img.table_thumbnail {
    max-width: 70px;
    max-height: 70px;
	margin: 5px;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}

/* サムネイルプレビュー画像 -----------------------------------*/
#preview_overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	--background-color: rgba(0, 0, 0, 0.1);
	display: none;
	justify-content: center;
	align-items: center;
	z-index: 999;
}
#preview_overlay.show_preview {
	display: flex;
}
#preview_overlay img {
	display: none;
}
#preview_overlay.show_preview img {
	display: flex;
	overflow: hidden;
	--padding: 7px;
	background-color: white;
	--border:#c9c9c9 solid 1px;
	border-radius: 4px;
	box-shadow: 12px 18px 15px rgba(0, 0, 0, 0.49);
	animation-name: previewImage;
	animation-duration: 0.3s;
}
#preview_image {
    max-width: 90%;
    max-height: 90%;
}
/* PDF添付ファイル */
.pdf_link {
	padding: 20px 10px;
	text-decoration: underline;
}
 /* ページ内リンク */
.anchor {
	display: block;
	padding-top: 100px;
	margin-top: -100px;
}
 /* 写真外枠 */
.frame_photo {
	display: inline-block;
	position: relative;
	min-width:80px;
	margin-right:1rem;
	margin-bottom:1rem;
}
.frame_photo:after {
	position: absolute;
	display: block;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 1);
	transform: rotate(3deg); /* 回転させる */
	background: #fff;
	z-index: -1;
}
/*  イメージバナー */
.image_banner_outer > p {
	text-align: center;
	padding: 5px;
	margin: 0;
}
.image_banner_outer > .image_banner {
	display: inline-block;
	position: relative;
	overflow: hidden;
	cursor: pointer;
	background: #fff;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}
:not(.image_banner_outer) > .image_banner {
	display: inline-block;
	position: relative;
	overflow: hidden;
	cursor: pointer;
	margin: 1rem;
}
.image_banner img {
	transition-duration: 0.5s;
}
.image_banner:hover img {
	opacity: 0.8;
	overflow: hidden;
	transform: scale(1.05);
	transition-duration: 0.5s;
}
.image_banner_text_bg {
	position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
	bottom: 0;
	height: 40%;
	width: 100%;
  background-color: rgba( 0, 0, 0, 0.45 );
}
.image_banner_text_bg span  {
	overflow: hidden;
	margin: 0 !important;
	color: #fff;
	white-space: nowrap;
	font-size: clamp(1rem, 2vw, 1.8rem);
	font-family :Quicksand, sans-serif;
	text-shadow: 1px 2px 2px rgba(0,0,0,0.8);
}
@media screen and (max-width: 750px) {
	.image_banner_text_bg span {	font-size: max(1rem, 5vw); }
}

/* リンクボタン */
a.link_btn {
	display:inline-table;
	padding: 0.15rem 1rem;
	white-space: nowrap;
	color: #4166b1;
	font-weight: normal;
	text-decoration: none;
	border: solid 1px #4166b1;
	border-radius: 5px;
	background: #ffffff;
	transition: .4s;
}
a.link_btn:hover {
	color: white;
	background: #4166b1;
}
@media screen and (min-width: 751px) {
	a.link_btn {
		padding: 0.15rem 1rem;
	}
}
/* リンク アンダーライン */
@media screen and (min-width: 751px) {
	.link_underline a > span {
	  position: relative;
	}
	.link_underline a > span::after {
	  position: absolute;
	  bottom: 0;
	  left: 0;
	  content: '';
	  width: 100%;
	  height: 1px;
	  background: #333;
	  transform: scale(0, 1);
	  transform-origin: center top;
	  transition: transform .3s;
	}
	.link_underline a > span:hover::after {
	  transform: scale(1, 1);
	}
}
/* PDF icon */
a.icon_pdf {
	padding-right: 20px;
	background:url(../img/icon_pdf.png) no-repeat;
	background-position: right 0% top 50%;
	background-attachment: scroll;
	background-size: auto;
}
/* flex box */
.flex_container {
	display: flex;
	flex-wrap: wrap;
}
@media screen and (min-width: 751px) {
	.flex_space_between {
		display: flex;
		justify-content: space-between;
	}
	.flex_space_around {
		display: flex;
		align-items: center;
		justify-content: space-around;
	}
}
@media screen and (max-width: 750px) {
	.flex_space_between,
	.flex_space_around {
		display: flex;
		flex-wrap:wrap;
		align-items: center;
		justify-content: column;
		justify-content: center;
	}
}
.flex_start {
	display: flex;
	flex-direction: row;
	flex-wrap:wrap;
	justify-content: flex-start;
}
.flex_center {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}
.flex_start_center {
	display: flex;
	flex-direction: row;
	flex-wrap:wrap;
	justify-content: flex-start;
	align-items: center;
}
.flex_end_center {
	display: flex;
	flex-direction: row;
	flex-wrap:wrap;
	justify-content: flex-end;
	align-items: center;
}
.flex_nowrap {
	display: flex;
	white-space: nowrap;
}

/* grid tables -------------------------------------------------------------- */
table.grid {
	width: 100%;
	margin:0 auto 4px auto;
	border-top: 1px solid rgba(2, 26, 51, 0.3);
	border-left: 1px solid rgba(2, 26, 51, 0.3);
	border-bottom: 1px solid rgba(2, 26, 51, 0.3);
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	box-shadow: 0px 1px 1px 1px rgba(0, 0, 0, 0.55);
	word-break: break-all;
	border-radius: 6px;
	--overflow: hidden;
}
table.grid:not(.header_fixed) {
	overflow: hidden;
}
table.grid ul:not(.tags) a {
  text-decoration: underline;
}
table.grid a:hover,
table.grid a:focus {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.66);
}
table.grid tbody > tr td,
table.grid tbody > tr th {
  padding:3px 8px;
  vertical-align: middle;
}
table.grid tbody > tr {
  border-collapse: collapse;
}
table.grid tbody > tr:last-child td:first-child {
	border-bottom-left-radius: 6px;
}
table.grid tbody > tr:last-child td:last-child {
	border-bottom-right-radius: 6px;
}
table.grid thead > tr th:first-child {
	border-top-left-radius: 6px;
}
table.grid thead > tr th:last-child {
	border-top-right-radius: 6px;
}
table.grid thead > tr th,
table.grid tbody > tr th {
	min-width: 60px;
	text-align: center;
	align-items: center;
	vertical-align: middle;
	border-bottom:1px solid rgba(2, 26, 51, 0.3);
	border-right:1px solid rgba(2, 26, 51, 0.3);
	background: #efefef;
	background: -moz-linear-gradient(top, #feffff 0%, #d7e2f3 100%); /* FF3.6+ */
	background: -webkit-linear-gradient(top, #feffff 0%,#d7e2f3 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #feffff 0%,#d7e2f3 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #feffff 0%,#d7e2f3 100%); /* IE10+ */
	background: linear-gradient(top, #feffff 0%,#d7e2f3 100%); /* W3C */
}
table.grid.detail_list th:first-child {width: 15%;}
table.grid.detail_list th:nth-child(2){width: 15%;}
table.grid.detail_list th:nth-child(3){width: 8%;}
table.grid.detail_list th:nth-child(4){width: 10%;}
table.grid.detail_list th:nth-child(5){width: 8%;}
table.grid.detail_list th:nth-child(6){width: 12%;}
table.grid.detail_list .grid_sub_title {max-height: 1rem;}
table.grid.area_list th:first-child {width: 20%;}
table.grid.area_list th:nth-child(2){width: 20%;}
table.grid.area_list .grid_sub_title {max-height: 1rem;}
table.grid.area_list .thumbnail {padding: 5%;}
table.grid th,
table.grid td {
	padding:5px;
	vertical-align: middle;
	font-size: 0.92rem;
	border-bottom:1px solid rgba(2, 26, 51, 0.3);
	border-right:1px solid rgba(2, 26, 51, 0.3);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#feffff', endColorstr='#e6f1f7',GradientType=0 ); /* IE6-9 */
}
table.grid thead > tr th.th_image {
	width: 10%;
}
table.grid thead > tr th.th_name {
	width: 15%;
}
@media screen and (max-width: 750px) {
	table.grid td {
		padding:1px 5px;
		vertical-align: middle;
		font-size: 0.92rem;
	}
}
table.grid tbody {
	overflow-x: auto;
	/*white-space: nowrap;*/
	width: auto;
}
table.grid tbody tr:last-child th,
table.grid tbody tr:last-child td {
	border-bottom: none;
}
table.grid tbody > tr:nth-child(odd):not(.bg_white) td {
	background: #feffff; /* Old browsers */
	background: -moz-linear-gradient(top, #feffff 0%, #e9f1f5 100%); /* FF3.6+ */
	background: -webkit-linear-gradient(top, #feffff 0%,#e9f1f5 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #feffff 0%,#e9f1f5 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #feffff 0%,#e9f1f5 100%); /* IE10+ */
	background: linear-gradient(top, #feffff 0%,#e9f1f5 100%); /* W3C */
}
/* td結合ありtable用 */
table.grid tbody > tr.bg_blue td,
table.grid tbody > tr.bg_blue:hover td {
	background: #feffff; /* Old browsers */
	background: -moz-linear-gradient(top, #feffff 0%, #e9f1f5 100%); /* FF3.6+ */
	background: -webkit-linear-gradient(top, #feffff 0%,#e9f1f5 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #feffff 0%,#e9f1f5 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #feffff 0%,#e9f1f5 100%); /* IE10+ */
	background: linear-gradient(top, #feffff 0%,#e9f1f5 100%); /* W3C */
}
table.grid tbody > tr.bg_white td,
table.grid tbody > tr.bg_white:hover td {
	background: #feffff;
}
table.grid tbody > tr.tr-last td:first-child {
	border-bottom: none;
}
table.grid tbody > tr.tr-last td:last-child {
	border-bottom: none;
}
table.grid tbody > tr.tr-last td[rowspan] {
	border-bottom: none;
}

/* ソート表示 */
table.grid thead > tr th.sort:hover {
	cursor: pointer;
	text-shadow: 0px 1px 1px rgba(0,0,0,0.3);
}
table.grid thead > tr .sort.desc,
table.grid thead > tr .sort.asc {
	text-shadow: 0px 1px 1px rgba(0,0,0,0.3);
}
table.grid thead > tr .sort.desc:after {
	display: inline-block;
	margin-left: 7px;
	font-size: 14px;
	content:"▼";
	text-decoration: none;
	text-shadow: 0px 2px 2px rgba(0,0,0,0.8);
}
table.grid thead > tr .sort.asc:after {
	display: inline-block;
	margin-left: 7px;
	font-size: 14px;
	content:"▲";
	text-decoration: none;
	text-shadow: 0px 2px 2px rgba(0,0,0,0.8);
}
/* フッタ行がある場合の表示 */
table.grid tfoot > tr td {
	border-top:2px solid rgba(2, 26, 51, 0.3);
	background: #FFFFFF;
}
/* styleなしtable */
table.nostyle,
table.nostyle tbody > tr,
table.nostyle tbody > tr th,
table.nostyle tbody > tr td {
	border: initial;
	background: initial;
	border-radius: initial;
	box-shadow: initial;
}
table.nostyle tbody input[type=radio] {
	width: inherit;
}
table.nostyle {
	width: 100%;
}
table.nostyle .tags {
	padding:0;
	margin:0;
}
/* 編集テーブル用 */
table.edit_table tbody > tr td,
table.edit_table tbody > tr th {
	padding:3px 8px;
	vertical-align: middle;
}
table.edit_table tbody > tr th:first-child {min-width: 100px;}
table.edit_table tbody > tr th:not([colspan]) {width: 25%;}
table.edit_table tbody > tr td {
	word-break: break-all;
}
/* テーブルヘッダ行固定表示 */
table.header_fixed th {
	position: -webkit-sticky;
	position: sticky;
	z-index: 100;
	top: 62px;
}
/* テキストボックス */
table.edit_table .form_text_box {
	min-width: 100%;
}
table.grid .form_textarea {
	min-width: 100%;
	min-height: 6rem;
}
table.edit_table .form_textarea {
	min-width: 100%;
	min-height: 8rem;
}
table.edit_table .form_textarea:focus {
	border-color: #ccc;
}
/* -----------------------------------------------------
   mobile
 ----------------------------------------------------- */
@media screen and (max-width: 750px) {
	/* テーブルヘッダ行固定表示 */
	table.header_fixed th {
	    top: 0;
	}
}
@media print{table.header_fixed th {position: static;z-index:0;}}

/* simple tables */
table.simple_table {
  table-layout: fixed;
  width: 100%;
}
table.simple_table th {
	width: 30%;
	padding: 10px;
	text-align: left;
	vertical-align: middle;
}
table.simple_table td {
	padding: 20px 10px 20px 20px;
}
table.simple_table tr:not(:last-child ) {
	border-bottom: dotted 1px #ccc;
}
@media screen and (max-width: 750px) {
	.simple_table {
		width: 100%;
	}
	table.simple_table th {
		display: block;
		width: 100%;
	}
	table.simple_table td {
		display: block;
		padding: 0px 10px 20px 20px;
	}
}

/* accordion table */
.actable_title {
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 1rem 1.8rem 1rem 3rem;
  border-bottom: 1px solid #e1e1e1;
}
.actable_title p {
	margin: 0;
	font-size: 1rem;
	font-weight: bold;
	font-family: StoneSansITCPro-Medium,"FP-こぶりなゴシック StdN W3","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,"メイリオ",Meiryo,sans-serif;
}
.actable_title span {
	position: relative;
	top: -0.5rem;
	font-size: 0.9rem;
	font-weight: normal;
}
.actable_title:hover {
	transition: 0.5s;
	background: #fff4f4;
}
.is_show .actable_title {
	background: #fff4f4;
	margin-bottom: 1px;
	border-bottom: 0px solid #e1e1e1;
	transition: .1s;
}
/* accordion table icon */
.actable_icon {
  box-sizing: border-box;
  position: relative;
  display: block;
  transform: scale(var(--ggs,1));
  width: 25px;
  height: 25px;
}
.actable_icon::after,
.actable_icon::before {
  content: "";
  display: block;
  box-sizing: border-box;
  position: absolute;
  width: 12px;
  height: 12px;
  border-bottom: 2px solid #4166b1;
  border-right: 2px solid #4166b1;
  transform: rotate(45deg);
  left: 7px;
  top: 10px;
}
.is_show .actable_icon::after,
.is_show .actable_icon::before {
	border-bottom: 0px;
	border-right: 0px;
	border-top: 2px solid #4166b1;
	border-left: 2px solid #4166b1;
	transform: rotate(45deg);
	left: 7px;
	top: 20px;
}
.actable_icon::after,
.is_show .actable_icon::after {top: 15px;}
.acmenu_description {
	opacity: 0;
	overflow: hidden;
	max-height: 0;
	padding:0 1.5rem;
	-webkit-transition: max-height 0.35s;
					transition: max-height 0.35s;
}
.is_show .acmenu_description {
	opacity: 1;
	max-height: 3000px;
	-webkit-transition: max-height 0.35s;
					transition: max-height 0.35s;
}
.dropdown_menu:not(:last-child).is_show .acmenu_description {
  border-bottom: 1px solid #e1e1e1;
}
@media screen and (max-width: 750px) {
	.is_show .acmenu_description {max-height: 5000px;}
}

/*-- displays style --*/
.hidden_el {
	display: none;
}
.hidden_tr {
	visibility: collapse;
	height: 0;
	opacity: 0;
}
.show_inline {
	display: inline;
	visibility: visible;
	opacity: 1;
}
.show_block {
	display: block;
	visibility: visible;
	opacity: 1;
}
.show_tr {
	display: table-row;
	visibility: visible;
	opacity: 1;
}
/*-- 通知用 -----------------------------------------*/
.info_message {
    box-sizing: border-box;
    padding: 20px 30px;
    margin: 15px 0;
    width: 100%;
    color: #001333;
    border: solid 1px #ccc;
    border-radius: 5px;
}
/*-- for javascript --*/
/*-- popup-message popup window by XMLHttpRequest --*/
#view-xml-http-request .view-xml-http-request-popup-message {
  position: fixed;
  display: flex;
  opacity: 1;
  top: 45vh;
  left: 50%;
  max-height: 80vh;
  min-width: 500px;
  max-width: 700px;
  overflow: auto;
  -webkit-transform: translate(-50%,0);
     -moz-transform: translate(-50%,0);
      -ms-transform: translate(-50%,0);
       -o-transform: translate(-50%,0);
          transform: translate(-50%,0);
  flex-wrap: wrap;
  align-items: center;
  text-align: center;
  border-radius: 5px;
  background-color: #fff0f0;
  box-shadow: 8px 18px 15px rgba(0, 0, 0, 0.49);
  padding: 0px;
  border: solid 1px #e4e4e4;
  z-index: 200;
}
#view-xml-http-request .view-xml-http-request-popup-message .popup-inner {
  width: 100%;
}
#view-xml-http-request .error-message-popup {
  position: relative;
  max-width: 700px;
  padding: 20px 30px;
  margin: 0px;
  text-align: left;
  color: #D50E0E;
  border-radius: 5px;
}
@media screen and (max-width: 750px) {
	#view-xml-http-request .view-xml-http-request-popup-message {min-width: 90%;}
}

#popup-inner-html {
    position: fixed;
		height:0;
    top: 12vh;
    left: 50%;
    max-height: 75vh;
    width: 90%;
    max-width: 900px;
    overflow: auto;
    -webkit-transform: translate(-50%,0);
       -moz-transform: translate(-50%,0);
        -ms-transform: translate(-50%,0);
         -o-transform: translate(-50%,0);
            transform: translate(-50%,0);
    flex-wrap: wrap;
    align-items: center;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.4);
    z-index: 200;
}
#popup-inner-html.is_show {
	border: solid 1px #999;
	-webkit-animation: popUp 0.5s ease 0 forwards;
	animation: popUp 0.5s ease 0s forwards;
}
@-webkit-keyframes popUp {
	0% { height: 0; }
	70% { height: 80%; }
	100% { height: auto; }
}
@keyframes popUp {
	0% { height: 0; }
	70% { height: 80%; }
	100% { height: auto; }
}
#popup-inner-html .close_btn_outer {
	position: -webkit-sticky;
  position: sticky;
  top: 0;
  text-align: right;
  background: #fff;
  padding: 10px 15px;
	box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.4);
  z-index: 201;
}
#popup-inner-html .icon_close {
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 22px;
	height: 22px;
	border: 2px solid;
	border-radius: 3px;
	cursor: pointer;
	color: #777;
	transform: scale(var(--ggs,1));
}
#popup-inner-html .icon_close:hover {
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
	transition-duration: 0.3s;
}
#popup-inner-html .icon_close::after,
#popup-inner-html .icon_close::before {
  content: "";
  display: block;
  box-sizing: border-box;
  position: absolute;
  width: 12px;
  height: 2px;
  background: currentColor;
  transform: rotate(45deg);
  border-radius: 5px;
  top: 8px;
  left: 3px
}
#popup-inner-html .icon_close::after {
  transform: rotate(-45deg)
}

/********************************************************************
 * animation fadeInOut
 ********************************************************************/
@-webkit-keyframes fadeIn {
	0% { opacity: 0 }
	100% { opacity: 1 }
}
@keyframes fadeIn {
	0% { opacity: 0 }
	100% { opacity: 1 }
}
@-webkit-keyframes fadeInOut {
	0% {
		-webkit-animation-timing-function: ease-in;
		-webkit-transform: scale(1.18);
		opacity: 0;
	}
	5% {
		-webkit-transform: scale(1.2);
		opacity: 1;
	}
	20% {
		-webkit-animation-timing-function: ease-out;
		-webkit-transform: scale(1.3);
		opacity: 1;
	}
	25% {
		-webkit-transform: scale(1.3);
		opacity: 0;
	}
	100% { opacity: 0 }
}
@keyframes fadeInOut {
	0% {
		animation-timing-function: ease-in;
		transform: scale(1.18);
		opacity: 0;
	}
	5% {
		transform: scale(1.2);
		opacity: 1;
	}
	20% {
		animation-timing-function: ease-out;
		transform: scale(1.3);
		opacity: 1;
	}
	25% {
		transform: scale(1.3);
		opacity: 0;
	}
	100% { opacity: 0 }
}

/* ------------------------------------------- 以下個別設定 ------------------------------------------- */
.main_contents_inner {
 	margin:0 auto 4px auto;
  width: 95%;
  min-width: 700px;
}
@media screen and (max-width: 750px) {
	.main_contents_inner {
    width: 100%;
    min-width: 100%;
	}
}
