@charset "UTF-8";

/* -------------------------------
	基本設定
-------------------------------- */
/*
 * Noto Serif(源ノ明朝)
 * https://www.google.com/get/noto/#serif-jpan
 */
@font-face {
	font-family: 'notoserifjp';
	font-style: normal;
	font-weight: 400;
	/* normal */
	font-display: swap;
	src: url(../fonts/notoserifjp/notoserifjp-regular.woff2) format("woff2"), url(../fonts/notoserifjp/notoserifjp-regular.woff) format("woff"), url(../fonts/notoserifjp/notoserifjp-regular.otf) format("opentype");
}

@font-face {
	font-family: 'notoserifjp';
	font-style: normal;
	font-weight: 700;
	/* bold */
	font-display: swap;
	src: url(../fonts/notoserifjp/notoserifjp-bold.woff2) format("woff2"), url(../fonts/notoserifjp/notoserifjp-bold.woff) format("woff"), url(../fonts/notoserifjp/notoserifjp-bold.otf) format("opentype");
}

.noto {
	font-family: 'notoserifjp';
}

/* -------------------------------
	default
-------------------------------- */
html,
body {
	height: 100%;
}

/* hh */
p+h4,
p+h5,
ol+h4,
ol+h5,
ul+h4,
ul+h5,
dl+h4,
dl+h5,
table+h4,
table+h5,
.htmlarea+h4,
.htmlarea+h5 {
	margin-top: 2em;
}

@media only screen and (max-width: 1199px) {

	h1,
	.h1 {
		font-size: 26px;
		font-size: calc(30px + 12 * (100vw - 320px) / 880);
	}

	h2,
	.h2 {
		font-size: 25px;
		font-size: calc(25px + 13 * (100vw - 320px) / 880);
	}

	h3,
	.h3 {
		font-size: 20px;
		font-size: calc(20px + 8 * (100vw - 320px) / 880);
	}

	h4,
	.h4 {
		font-size: 16px;
		font-size: calc(16px + 4 * (100vw - 320px) / 880);
	}

	h5,
	.h5 {
		font-size: 14px;
		font-size: calc(14px + 2 * (100vw - 320px) / 880);
	}
}

/* -------------------------------
	row
-------------------------------- */
.row-0 {
	margin-left: 0px;
	margin-right: 0px;
}

.row-0>[class^="col-"],
.row-0>[class*=" col-"] {
	padding-left: 0px;
	padding-right: 0px;
}

.row-10 {
	margin-left: -10px;
	margin-right: -10px;
}

.row-10>[class^="col-"],
.row-10>[class*=" col-"] {
	padding-left: 10px;
	padding-right: 10px;
}

.row-inline {
	letter-spacing: -.40em;
}

.row-inline * {
	letter-spacing: normal;
}

.row-inline>[class^="col-"],
.row-inline>[class*=" col-"] {
	float: none;
	letter-spacing: normal;
	display: inline-block;
	vertical-align: middle;
}

.row-inline.va-top>[class^="col-"],
.row-inline.va-top>[class*=" col-"] {
	vertical-align: top;
}

@media only screen and (max-width: 767px) {
	.row-xs-5 {
		margin-left: -5px;
		margin-right: -5px;
	}

	.row-xs-5>[class^="col-"],
	.row-xs-5>[class*=" col-"] {
		padding-left: 5px;
		padding-right: 5px;
	}
}

/* -------------------------------
	google サイト内検索
-------------------------------- */
.gsc-control-cse {
	padding: 0 !important;
}

.gsc-input {
	font-size: 14px !important;
	line-height: 21px !important;
	padding-right: 2px !important;
}

.gsc-search-button-v2 {
	padding: 6px !important;
}

/* -------------------------------
	header
-------------------------------- */
#header {
	padding: 0;
	background-color: #fff;
}

#header h1 {
	font-size: 14px;
	margin: 0;
	padding: 12px 0;
	width: 200px;
}

#header .google_search {
	margin-bottom: 10px;
}

#header #textresizer {
	margin-bottom: 10px;
}

#header #textresizer p {
	color: #838383;
	font-size: 13px;
	line-height: 24px;
	margin: 0;
	float: left;
}

#header #textresizer ul {
	font-size: 12px;
	list-style: none;
	padding: 0;
	margin: 0;
	padding-left: 6em;
}

#header #textresizer ul li {
	display: inline;
}

#header #textresizer ul li a {
	color: #838383;
	text-align: center;
	line-height: 24px;
	text-decoration: none;
	outline: none;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	display: inline-block;
	background-color: #f2f2f2;
}

#header #textresizer ul li a:hover,
#header #textresizer ul li a:focus {
	color: #666;
	background-color: #E3E3E3;
}

#header #textresizer ul li a.textresizer-active {
	color: #fff;
	background-color: #003279;
}

#header .headnavi {
	width: 100%;
	float: right;
	text-align: right;
}

#header .headnavi ul {
	list-style: none;
	letter-spacing: -.4em;
	padding: 0;
	margin: 0 -1em;
}

#header .headnavi ul li {
	font-size: 12px;
	line-height: 1.333;
	display: inline;
	letter-spacing: normal;
	margin: 0 1em;
}

#header .headnavi ul li a {
	color: #222;
	text-decoration: none;
	display: inline-block;
	padding-bottom: 2px;
	position: relative;
}

#header .headnavi ul li a i {
	color: #003279;
}

#header .headnavi ul li a:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	transform: scaleX(0);
	background-color: #003279;
	transition: all .3s ease;
}

#header .headnavi ul li a:hover,
#header .headnavi ul li.active a {
	text-decoration: none;
}

#header .headnavi ul li a:hover:after,
#header .headnavi ul li.active a:after {
	transform: scaleX(1);
}

@media print,
screen and (min-width: 768px) {
	#header {
		padding: 25px 0 20px;
	}

	#header h1 {
		width: auto;
		padding: 4px 0;
	}

	#header .google_search {
		float: right;
		width: 180px;
		margin: 0;
	}

	#header #textresizer {
		float: right;
		padding-top: 3px;
		padding-right: 10px;
	}
}

/* -------------------------------
 gNavi
-------------------------------- */
#gNavi {
	border-top: solid 2px #e1e1e1;
	border-bottom: solid 1px #e1e1e1;
	background-color: #fff;
	position: relative;
}

.home #gNavi {
	border-top: none;
}

#gNavi ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

#gNavi>ul {
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
}

#gNavi>ul>li {
	float: left;
	width: 14.2857%;
	border-right: solid 1px #e1e1e1;
}

#gNavi>ul>li:first-child {
	border-left: solid 1px #e1e1e1;
}

#gNavi>ul>li>a {
	text-align: center;
	text-decoration: none;
	display: block;
	padding: 20px 0 0;
	height: 126px;
}

#gNavi>ul>li>a,
#gNavi>ul>li>a>i,
#gNavi>ul>li>a .text,
#gNavi>ul>li>a .text:before {
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

#gNavi>ul>li>a>i {
	color: #333;
	font-size: 47px;
	display: block;
	margin: 0 auto;
}

#gNavi>ul>li>a .text {
	color: #222;
	font-size: 12px;
	line-height: normal;
	padding-top: 10px;
	margin-top: 10px;
	display: block;
	position: relative;
}

#gNavi>ul>li>a .text:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 78px;
	margin-left: -39px;
	border-top: dotted 1px #003279;
}

#gNavi>ul>li>a .text>i {
	padding-right: 5px;
}

#gNavi>ul>li>a:hover,
#gNavi>ul>li>a:focus {
	text-decoration: none;
}

#gNavi>ul>li.gnavi01>a>i {
	color: #cb7373;
}

#gNavi>ul>li.gnavi01.active>a,
#gNavi>ul>li.gnavi01>a:hover,
#gNavi>ul>li.gnavi01>a:focus {
	background-color: #cb7373;
}

#gNavi>ul>li.gnavi02>a>i {
	color: #5396c3;
}

#gNavi>ul>li.gnavi02.active>a,
#gNavi>ul>li.gnavi02>a:hover,
#gNavi>ul>li.gnavi02>a:focus {
	background-color: #5396c3;
}

#gNavi>ul>li.gnavi03>a>i {
	color: #db9c23;
}

#gNavi>ul>li.gnavi03.active>a,
#gNavi>ul>li.gnavi03>a:hover,
#gNavi>ul>li.gnavi03>a:focus {
	background-color: #db9c23;
}

#gNavi>ul>li.gnavi04>a>i {
	color: #4cc146;
}

#gNavi>ul>li.gnavi04.active>a,
#gNavi>ul>li.gnavi04>a:hover,
#gNavi>ul>li.gnavi04>a:focus {
	background-color: #4cc146;
}

#gNavi>ul>li.gnavi05>a>i {
	color: #70c0b4;
}

#gNavi>ul>li.gnavi05.active>a,
#gNavi>ul>li.gnavi05>a:hover,
#gNavi>ul>li.gnavi05>a:focus {
	background-color: #70c0b4;
}

#gNavi>ul>li.gnavi06>a>i {
	color: #b6cd49;
}

#gNavi>ul>li.gnavi06.active>a,
#gNavi>ul>li.gnavi06>a:hover,
#gNavi>ul>li.gnavi06>a:focus {
	background-color: #b6cd49;
}

#gNavi>ul>li.gnavi07>a>i {
	color: #d07fc7;
}

#gNavi>ul>li.gnavi07.active>a,
#gNavi>ul>li.gnavi07>a:hover,
#gNavi>ul>li.gnavi07>a:focus {
	background-color: #d07fc7;
}

#gNavi>ul>li.active>a>i,
#gNavi>ul>li>a:hover>i,
#gNavi>ul>li>a:focus>i {
	color: #fff;
}

#gNavi>ul>li.active>a .text,
#gNavi>ul>li.active>a .text>i,
#gNavi>ul>li>a:hover .text,
#gNavi>ul>li>a:hover .text>i,
#gNavi>ul>li>a:focus .text,
#gNavi>ul>li>a:focus .text>i {
	color: #fff;
}

#gNavi>ul>li.active>a .text:before,
#gNavi>ul>li>a:hover .text:before,
#gNavi>ul>li>a:focus .text:before {
	border-top-color: #fff;
}

/* 下層 */
#gNavi .child {
	position: relative;
}

#gNavi li ul {
	display: none;
	position: absolute;
	left: 0;
	min-width: 100%;
	border-top: solid 1px #e1e1e1;
	background-color: #fff;
	z-index: 999;
}

#gNavi li ul li {
	border: solid 1px #e1e1e1;
	border-top: none;
}

#gNavi li ul li a {
	color: #222;
	font-size: 13px;
	display: block;
	white-space: nowrap;
	padding: 10px 15px;
}

#gNavi li ul li.active a,
#gNavi li ul li a:hover,
#gNavi li ul li a:focus {
	text-decoration: none;
	background-color: #D4E6FF;
}

/* ﾌﾞﾚｲｸﾎﾟｲﾝﾄ */
@media print,
screen and (min-width: 992px) {
	#gNavi>ul>li>a .text {
		font-size: 14px;
	}
}

/* -------------------------------
 スマホ　サイドメニュー
-------------------------------- */
/* ----- ボタン ----- */
#panel-btn {
	display: block;
	position: relative;
	width: 43px;
	height: 43px;
	margin: 0;
	border-radius: 5px 0 0 5px;
	border-top: solid 1px #e1e1e1;
	border-left: solid 1px #e1e1e1;
	border-bottom: solid 1px #e1e1e1;
	background: #fff;
	overflow: hidden;
}

#panel-btn:hover {
	background: #fff;
}

#panel-btn .panel-txt {
	color: #333;
	font-family: Arial, Helvetica, "sans-serif";
	font-size: 10px;
	line-height: 1;
	-moz-transform: scale(0.8, 0.8);
	-ms-transform: scale(0.8, 0.8);
	-webkit-transform: scale(0.8, 0.8);
	transform: scale(0.8, 0.8);
	text-decoration: none;
	text-align: center;
	position: absolute;
	bottom: 0;
	width: 100%;
	margin-bottom: 2px;
}

#panel-btn-icon {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 28px;
	height: 2px;
	margin: -6px 0 0 -14px;
	background: #333;
	transition: .2s;
}

#panel-btn-icon:before,
#panel-btn-icon:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 28px;
	height: 2px;
	background: #333;
	transition: .3s;
}

#panel-btn-icon:before {
	margin-top: -8px;
}

#panel-btn-icon:after {
	margin-top: 6px;
}

#panel-btn .close {
	background: transparent;
}

#panel-btn .close:before,
#panel-btn .close:after {
	margin-top: 0;
}

#panel-btn .close:before {
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}

#panel-btn .close:after {
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
}

/* ----- サイドメニュー　基本設定 ----- */
/* 初期設定 */
.overlay {
	content: '';
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: transparent;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	z-index: 3;
}

/* 開閉用ボタンの位置 */
.side-menu-btn {
	position: fixed;
	top: 5px;
	right: 0;
	z-index: 999;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

/**/
#sidebar {
	position: fixed;
	top: 0;
	right: 0;
	width: 260px;
	height: 100%;
	text-align: left;
	border-left: solid 1px #e1e1e1;
	background: #fff;
	-webkit-transform: translate3d(260px, 0, 0);
	transform: translate3d(260px, 0, 0);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	overflow-y: auto;
	z-index: 990;
}

/* サイドメニューオープン */
.side-open #sidebar {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.side-open #panel-btn {
	border-right: solid 1px #e1e1e1;
	border-radius: 0px;
}

.side-open .side-menu-btn {
	-webkit-transform: translate3d(-265px, 0, 0);
	transform: translate3d(-265px, 0, 0);
}

.side-open .overlay {
	visibility: visible;
	cursor: pointer;
	background: rgba(0, 0, 0, 0.7);
}

/* 768以上で解除 */
@media print,
screen and (min-width: 768px) {

	#sidebar,
	.side-menu-btn,
	.overlay {
		display: none;
	}
}

/* ----- design ----- */
.side-menu .navmenu {
	list-style: none;
	padding: 0;
	margin: 0;
}

.side-menu .navmenu a {
	color: #222;
	text-decoration: none;
}

.side-menu .navmenu a:hover,
.side-menu .navmenu a:focus {
	text-decoration: none;
}

.side-menu .navmenu>li {
	border-bottom: solid 1px #ddd;
}

.side-menu .navmenu>li>a {
	padding: 10px 1.5em 10px 15px;
	display: block;
	position: relative;
}

.side-menu .navmenu>li>a:before {
	content: "\f054";
	color: #003279;
	font-family: 'FontAwesome';
	line-height: 1;
	position: absolute;
	right: 0.5em;
	top: 50%;
	margin-top: -.5em;
}

.side-menu .submenu>a:before {
	content: "\f0c9" !important;
}

.side-menu .submenu ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: none;
}

.side-menu .submenu ul li {
	font-size: 0.92em;
	border-top: dashed 1px #ddd;
}

.side-menu .submenu ul li a {
	display: block;
	padding: 12px 8px 12px 2em;
	position: relative;
}

.side-menu .submenu ul li a:before {
	content: "\f0da";
	font-family: 'FontAwesome';
	line-height: 1;
	position: absolute;
	left: 1em;
	top: 50%;
	margin-top: -.5em;
}

/* -------------------------------
	footer
-------------------------------- */
.foot_home {
	background-color: #003279;
}

.foot_home a {
	color: #fff;
	line-height: 30px;
}

/**/
.foot_content {
	padding: 36px 0;
	background-color: #fff;
	background-image: url(../images/common/foot_bg.png);
	background-repeat: no-repeat;
	background-position: center bottom;
}

.foot_content .foot_address h3 {
	margin: 0 0 10px;
}

.foot_content .foot_address .address a {
	color: #222;
	text-decoration: underline;
	display: inline-block;
}

.foot_navi .columns {
	margin-bottom: 25px;
}

.foot_navi .columns h4 {
	color: #003279;
	font-size: 14px;
	font-weight: bold;
}

.foot_navi .columns h5 {
	font-size: 14px;
	font-weight: normal;
	margin: 0;
}

.foot_navi .columns ul+h4 {
	margin-top: 2em;
}

.foot_navi .columns ul+h5 {
	margin-top: 1.5em;
}

.foot_navi .columns ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.foot_navi .columns ul li {
	line-height: 1.57;
}

.foot_navi .columns ul li a {
	color: #222;
	padding-left: 0.7em;
	position: relative;
}

.foot_navi .columns ul li a:before {
	content: "\f105";
	font-family: 'FontAwesome';
	position: absolute;
	left: 0px;
}

.foot_navi .columns ul.col3 {
	overflow: hidden;
}

.foot_navi .columns ul.col3 li {
	float: left;
	width: 33.333%;
	padding-right: 1em;
}

.copyright {
	color: #fff;
	font-size: 12px;
	line-height: 30px;
	text-align: right;
	background-color: #003279;
}

@media print,
screen and (min-width: 768px) {
	.foot_content .foot_address {
		width: 100%;
		display: table;
		margin-bottom: 25px;
	}

	.foot_content .foot_address h3,
	.foot_content .foot_address .address,
	.foot_content .foot_address .btns {
		display: table-cell;
		vertical-align: middle;
	}

	.foot_content .foot_address h3 {
		width: 222px;
	}

	.foot_content .foot_address .address {
		padding: 10px 25px 0;
	}

	.foot_content .foot_address .btns {
		width: 240px;
	}

	.foot_navi {
		overflow: hidden;
	}

	.foot_navi .columns {
		float: left;
		width: 50%;
		margin-bottom: 0;
	}
}

@media print,
screen and (min-width: 992px) {
	.foot_navi .type_1 {
		width: 25%;
	}

	.foot_navi .type_2 {
		width: 30%;
	}

	.foot_navi .type_3 {
		width: 23%;
	}

	.foot_navi .type_4 {
		width: 22%;
	}
}

/* -------------------------------
	pagetop
-------------------------------- */
#pagetop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	display: none;
}

@media only screen and (max-width: 767px) {
	#pagetop {
		right: 0;
		bottom: 0;
	}

	#pagetop img {
		width: 23px;
	}
}

/* -------------------------------
	main
-------------------------------- */
/* ----- main title ----- */
.main_ttl {
	background-color: #ccc;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.main_ttl .container {
	height: 360px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: center;
}

.main_ttl .container h2 {
	color: #fff;
	font-family: 'notoserifjp';
	font-weight: 400;
	font-size: 42px;
	text-align: center;
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.8);
	margin: 0;
}

.main_ttl .container h2 .en {
	font-size: 14px;
	display: block;
}

@media only screen and (max-width: 1199px) {
	.main_ttl .container {
		height: 150px;
		height: calc(150px + 210 * (100vw - 320px) / 880);
	}

	.main_ttl .container h2,
	.main_ttl .container .h2 {
		font-size: 21px;
		font-size: calc(21px + 21 * (100vw - 320px) / 880);
	}
}

body.osirase .main_ttl {
	background-image: url(../images/title/main_ttl_osirase.jpg);
}

body.shisetsu .main_ttl {
	background-image: url(../images/title/main_ttl_shisetsu.jpg);
}

body.koutuu .main_ttl {
	background-image: url(../images/title/main_ttl_koutuu.jpg);
}

body.toiawase .main_ttl {
	background-image: url(../images/title/main_ttl_toiawase.jpg);
}

body.contact .main_ttl {
	background-image: url(../images/title/main_ttl_contact.jpg);
}

body.collaboration .main_ttl {
	background-image: url(../images/title/main_ttl_collaboration.jpg);
}

/* -------------------------------
	2カラムデザイン
-------------------------------- */
.site_2col {
	border-bottom: solid 1px #e1e1e1;
}

#site_wrap {
	*zoom: 1;
}

#site_wrap:after {
	content: "";
	display: table;
	clear: both;
}

#site_wrap .sidebar {
	margin: 0 -15px;
	padding: 15px 15px 30px;
	;
	background-color: #ecf4fa;
}

#site_wrap .sidebar h2 {
	font-family: 'notoserifjp';
	font-weight: 400;
	font-size: 22px;
	text-align: center;
	padding: 15px;
	margin: 0;
	background-color: #dbeaf6;
}

#site_wrap .sidebar h2 .en {
	font-size: 14px;
	display: block;
}

#site_wrap .sidebar h3 {
	font-family: 'notoserifjp';
	font-size: 20px;
	text-align: center;
	margin-top: 10px;
}

#site_wrap .site_contents {
	padding: 25px 0 0;
}

@media print,
screen and (min-width: 992px) {
	#site_wrap {
		width: 100%;
		background-image: url(../images/common/bg02.png);
		background-position: left top;
		background-repeat: repeat-y;
	}

	#site_wrap .sidebar {
		float: left;
		width: 262px;
		padding: 50px 15px;
		margin: 0;
	}

	#site_wrap .site_contents {
		float: right;
		width: 648px;
		padding: 50px 0 0;
	}
}

@media print,
screen and (min-width: 1200px) {
	#site_wrap .site_contents {
		width: 848px;
	}
}

/* レスポンシブメニュー */
.catbtn {
	padding: 5px 10px;
	cursor: pointer;
	background-color: #147dc2;
	overflow: hidden;
}

.catbtn .ttl {
	float: left;
	color: #fff;
	font-weight: bold;
	line-height: 36px;
}

.catWrapper {
	float: right;
	position: relative;
	z-index: 0;
	width: 36px;
	height: 36px;
}

#catButton {
	overflow: hidden;
	display: block;
	position: relative;
	z-index: 0;
	width: 36px;
	height: 36px;
}

#catButton span,
#catButton::before,
#catButton::after {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 24px;
	height: 2px;
	margin: auto;
	background: #fff;
}

#catButton span {
	overflow: hidden;
	z-index: 1;
	color: #fff;
}

#catButton::before {
	z-index: 2;
	transform: translate(0, -8px);
	content: "";
}

#catButton::after {
	z-index: 2;
	transform: translate(0, 8px);
	content: "";
}

#catButton span {
	opacity: 1;
	transition: opacity 150ms 50ms;
}

#catButton::before,
#catButton::after {
	transition: transform 200ms;
}

#catButton.active span {
	opacity: 0;
	transition: opacity 150ms;
}

#catButton.active::before {
	transform: rotate(45deg);
}

#catButton.active::after {
	transform: rotate(-45deg);
}

/**/
.catnavi {
	display: none;
}

.catnavi .ttl {
	color: #003279;
	font-weight: bold;
	text-align: center;
	margin-top: 15px;
	margin-bottom: 0;
	padding: 5px 10px;
	background-color: #B5D3EC;
}

.catnavi ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.catnavi ul li {
	border-bottom: dotted 1px #003279;
}

.catnavi ul li a {
	color: #2f2f2f;
	padding: 10px 15px 10px 1.5em;
	display: block;
	position: relative;
}

.catnavi ul li a:before {
	content: "\f0da";
	font-family: 'FontAwesome';
	position: absolute;
	left: 10px;
}

.catnavi ul li a:hover,
.catnavi ul li a:focus {
	text-decoration: none;
	background-color: #dbeaf6;
}

.catnavi ul li.active a {
	color: #147dc2;
}

.catnavi .ttl+ul {
	border-top: none;
}

@media print,
screen and (min-width: 992px) {
	.catbtn {
		display: none;
	}

	.catnavi {
		display: block;
		margin-top: 25px;
	}

	.catnavi ul {
		border-top: dotted 1px #003279;
	}
}

/* -------------------------------
	title
-------------------------------- */
.hh_ttl_a,
.hh_ttl_b,
.hh_ttl_c,
.hh_ttl_d,
.hh_icon_a {
	font-family: 'notoserifjp';
	font-weight: 400;
}

.hh_ttl_a {
	padding-bottom: 0.3em;
	padding-left: 20px;
	border-bottom: solid 1px #e1e1e1;
	position: relative;
}

.hh_ttl_a:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0.3em;
	width: 5px;
	background-color: #003279;
}

.hh_ttl_b {
	padding-left: 10px;
	border-left: solid 5px #147dc2;
}

.hh_ttl_c {
	padding-bottom: 0.3em;
	border-bottom: solid 2px #e1e1e1;
	position: relative;
}

.hh_ttl_c:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 20%;
	height: 2px;
	background-color: #147dc2;
}

.hh_ttl_c small {
	color: #003279;
	font-weight: bold;
	font-size: 0.6em;
	padding: 0.5em 1em;
	border-radius: 3px;
	display: inline-block;
	vertical-align: middle;
	background-color: #dbeaf6;
}

.hh_ttl_c .in {
	display: inline-block;
	vertical-align: middle;
}

.hh_ttl_d {
	color: #fff;
	font-weight: normal;
	padding: 0.5em 1em;
	border: solid 2px #147dc2;
	box-shadow: 0 0 0 1px #BCE0F7 inset;
	background-color: #147dc2;
}

.hh_ttl_d .en {
	font-size: 16px;
	display: block;
}

.hh_icon_a .in {
	padding-left: 10px;
}

/* -------------------------------
	table
-------------------------------- */
/* jquery.basictable.js */
table.bt thead th {
	display: none;
}

table.bt tfoot th,
table.bt tfoot td {
	border: none;
	display: block;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	vertical-align: top;
	/* IE 9 */
	float: left\9;
	width: 100% \9;
}

table.bt tfoot th::before,
table.bt tfoot td::before {
	content: attr(data-th) ": ";
	display: inline-block;
	-webkit-flex-shrink: 0;
	-ms-flex-shrink: 0;
	flex-shrink: 0;
	font-weight: bold;
	width: 6.5em;
}

table.bt tbody tr {
	display: inline;
}

table.bt tbody tr th,
table.bt tbody tr td {
	display: block;
	width: 100% !important;
}

table.bt tbody td:before {
	content: attr(data-th) ": ";
	/*display: block;*/
	font-weight: bold;
}

table.bt tfoot th.bt-hide,
table.bt tfoot td.bt-hide {
	display: none;
}

table.bt tbody td.bt-hide {
	display: none;
}

table.bt tfoot th .bt-content,
table.bt tfoot td .bt-content {
	vertical-align: top;
}

table.bt tbody td .bt-content {
	vertical-align: top;
}


table.bt2 thead th {
	display: none;
}

table.bt2 tfoot th,
table.bt2 tfoot td {
	border: none;
	display: block;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	vertical-align: top;
	/* IE 9 */
	float: left\9;
	width: 100% \9;
}

table.bt2 tfoot th::before,
table.bt2 tfoot td::before {
	content: attr(data-th) ": ";
	display: inline-block;
	-webkit-flex-shrink: 0;
	-ms-flex-shrink: 0;
	flex-shrink: 0;
	font-weight: bold;
	width: 6.5em;
}

table.bt2 tbody tr {
	display: inline;
}

table.bt2 tbody tr th,
table.bt2 tbody tr td {
	display: block;
	width: 100% !important;
}

table.bt2 tbody td:before {
	content: attr(data-th) ": ";
	display: block;
	font-weight: bold;
}

table.bt2 tfoot th.bt-hide,
table.bt2 tfoot td.bt-hide {
	display: none;
}

table.bt2 tbody td.bt-hide {
	display: none;
}

table.bt2 tfoot th .bt-content,
table.bt2 tfoot td .bt-content {
	vertical-align: top;
}

table.bt2 tbody td .bt-content {
	vertical-align: top;
}





.bt-wrapper.active {
	max-height: 310px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

/**/
.table-bordered.bt tbody {
	border-top: solid 1px #e1e1e1;
}

/* 544以下で切り替え */
@media only screen and (max-width: 543px) {
	.table-inline tr {
		width: 100%;
		display: inline-block;
	}

	.table-inline tr th,
	.table-inline tr td {
		width: 100% !important;
		display: block;
	}
}

/* -------------------------------
	list
-------------------------------- */
/* 必須マーク */
.list-none {
	list-style: none;
	padding-left: 0;
}

.list-hisu {
	list-style: none;
	padding-left: 0;
}

.list-hisu>li {
	padding-left: 1em;
	position: relative;
}

.list-hisu>li:before {
	content: "※";
	color: #ff0000;
	position: absolute;
	left: 0;
}

/* 丸アイコン */
.list-circle {
	list-style: none;
	padding-left: 0;
}

.list-circle>li {
	padding-left: 1em;
	margin-bottom: .5em;
	position: relative;
}

.list-circle>li:before {
	content: "";
	position: absolute;
	left: 2px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	top: 0.55em;
	background-color: #222;
}

.list-circle>li:last-child {
	margin-bottom: 0;
}

.list-circle-b {
	list-style: none;
	padding-left: 0;
}

.list-circle-b>li {
	padding-left: 1em;
	position: relative;
}

.list-circle-b>li:before {
	content: "・";
	position: absolute;
	left: 2px;
}

/**/
.list-line {
	list-style: none;
	padding: 0;
}

.list-line li {
	border-bottom: dotted 1px #999;
	padding: 0.2em 0;
}

/**/
.list-num-a {
	padding-left: 0;
	list-style: none;
	counter-reset: number;
}

.list-num-a li {
	padding-left: 2.5em;
	margin-bottom: 5px;
	position: relative;
}

.list-num-a li:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 1.5em;
	text-align: right;
	display: block;
	counter-increment: number;
	content: counter(number);
}

.list-num-a li:after {
	content: "-";
	position: absolute;
	left: 1.7em;
	top: 0;
}

.list-num-b {
	counter-reset: my-counter;
	list-style: none;
	padding: 0;
	margin: 0;
}

.list-num-b li {
	padding-left: 28px;
	position: relative;
}

.list-num-b li:before {
	content: counter(my-counter);
	counter-increment: my-counter;
	border: 1px solid #333;
	border-radius: 50%;
	display: block;
	text-align: center;
	height: 15px;
	width: 15px;
	line-height: 1.2;
	font-size: 85%;
	position: absolute;
	top: 3px;
	left: 10px;
}

/* -------------------------------
	dl
-------------------------------- */
/* 外来受付時間 */
.dl_style_a {
	overflow: hidden;
}

.dl_style_a dt {
	float: left;
	clear: left;
	width: 93px;
	color: #fff;
	font-size: 0.929em;
	font-weight: normal;
	line-height: 1.462;
	text-align: center;
	border-radius: 0.69em;
	background-color: #147dc2;
}

.dl_style_a dd {
	line-height: 1.358;
	padding-left: 103px;
	margin-bottom: 5px;
}

.dl_style_a dd:last-of-type {
	margin-bottom: 0;
}

.dl_style_a.auto dt {
	width: auto;
	padding-left: 1em;
	padding-right: 1em;
	margin-right: 0.5em;
}

.dl_style_a.auto dd {
	padding-left: auto;
}

/**/
.dl_style_b {
	border: solid 1px #e1e1e1;
	border-radius: 3px;
	padding: 5px 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
}

.dl_style_b dt {
	padding: 0 15px;
	border-right: dotted 1px #ccc;
}

.dl_style_b dd {
	padding: 0 15px;
}

/* -------------------------------
	btn
-------------------------------- */
/* 右矢印 */
.btn-a {
	max-width: 360px;
	display: block;
	padding-right: 40px;
	position: relative;
}

.btn-a:before {
	content: "\f105";
	font-family: 'FontAwesome';
	line-height: 1;
	position: absolute;
	right: 20px;
	top: 50%;
	margin-top: -.5em;
}

.btn-block-center {
	margin: 0 auto;
}

.btn-center {
	text-align: center;
}

.btn-center .btn {
	margin: 0 auto;
}

/* map*/
.btn-map {
	color: #222;
	font-size: 0.92857em;
	display: inline-block;
	text-decoration: underline;
}

/* サムネイル付き */
.btn-thumbnail {
	width: 100%;
	display: table;
	border: solid 1px #e1e1e1;
	border-radius: 0 5px 5px 0;
	margin-bottom: 5px;
	position: relative;
}

.btn-thumbnail:before {
	content: "\f105";
	color: #003279;
	font-family: 'FontAwesome';
	font-size: 20px;
	line-height: 1;
	position: absolute;
	right: 15px;
	top: 50%;
	margin-top: -.5em;
}

.btn-thumbnail .imgs,
.btn-thumbnail .in {
	display: table-cell;
	vertical-align: middle;
}

.btn-thumbnail .imgs {
	width: 70px;
	height: 70px;
	background-color: #f8f8f8;
}

.btn-thumbnail .imgs>img {
	max-width: inherit;
	max-height: inherit;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

.btn-thumbnail .in {
	color: #222;
	font-weight: bold;
	padding: 7px 30px 7px 15px;
	border-radius: 0 5px 5px 0;
}

.btn-thumbnail:hover,
.btn-thumbnail:focus {
	text-decoration: none;
	background-color: #ecf4fa;
}

/* -------------------------------
	box
-------------------------------- */
/* 上下50px余白 */
.box-style-a {
	padding: 25px 0 12px;
}

.box-style-a .pb {
	padding-bottom: 13px;
}

.box-style-b {
	padding: 15px 5px;
	background-color: #e5f0f9;
}

.box-style-c {
	padding: 25px 0;
}

@media print,
screen and (min-width: 768px) {
	.box-style-a {
		padding: 50px 0 25px;
	}

	.box-style-a .pb {
		padding-bottom: 25px;
	}
	.box-style-c {
		padding: 50px 0;
	}
}

/* -------------------------------
	flex
-------------------------------- */
.box-flex {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.flex-wrap-nowrap {
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}

/* 縦中央 */
.flex-items-center {
	align-items: center;
}

/* 寄せ */
.flex-content-center {
	justify-content: center;
}

.flex-content-right {
	justify-content: flex-end;
}

/* 右から */
.flex-direction-right {
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

/**/
.c-flex-auto {
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	max-width: auto;
}

/* -------------------------------
	photo
-------------------------------- */
/* ----- 画像を枠に収める ----- */
.photo-ofi {
	height: 0;
	padding-bottom: 75%;
	position: relative;
}

.photo-ofi .in {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
}

.photo-ofi .in img {
	max-width: inherit;
	max-height: inherit;
	width: 100%;
	height: 100%;
	object-fit: scale-down;
	font-family: 'object-fit: scale-down;';
}

/* トリミング */
.cover .in img {
	object-fit: scale-down;
	font-family: 'object-fit: cover;';
}

/* caption付き */
.gallery {
	margin-bottom: 20px;
}

.gallery .photo-ofi {
	background-color: #e1e1e1;
}

.gallery .caption {
	font-size: 0.929em;
	margin-top: 5px;
}

/* -------------------------------
	基本パーツ
-------------------------------- */
/**/
.htmlarea {
	line-height: normal;
	word-wrap: break-word;
	overflow-wrap: break-word;
	overflow: hidden;
}

.html-style-a {
	padding: 15px;
	border-top: dotted 1px #999;
	border-bottom: dotted 1px #999;
	background-color: #f8f8f8;
}

/**/
.telephone {
	text-align: center;
	max-width: 360px;
	width: 100%;
	border: solid 1px #003279;
	border-radius: 7px;
	background-color: #fff;
	overflow: hidden;
}

.telephone .ttl,
.telephone .tel {
	padding: 7px 0;
	display: block;
}

.telephone .ttl {
	color: #003279;
	font-size: 14px;
	line-height: 24px;
	float: left;
	width: 42%;
	position: relative;
}

.telephone .ttl:after {
	content: "";
	position: absolute;
	right: 0;
	top: 7px;
	bottom: 7px;
	width: 1px;
	background: url(../images/common/dot01.png) no-repeat right center;
}

.telephone .tel {
	float: left;
	width: 58%;
}

.telephone .ttl2,
.telephone .tel2 {
	padding: 12px 0;
	display: block;
}

.telephone .ttl2 {
	color: #003279;
	font-size: 14px;
	line-height: 24px;
	float: left;
	width: 42%;
	position: relative;
}

.telephone .ttl2:after {
	content: "";
	position: absolute;
	right: 0;
	top: 7px;
	bottom: 7px;
	width: 1px;
	background: url(../images/common/dot01.png) no-repeat right center;
}

/* googlemap スマホ用 */
.googlemap {
	position: relative;
	padding-bottom: 75%;
	/*これが縦横比*/
	height: 0;
	overflow: hidden;
}

.googlemap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

/* ----- テーブルブロック ----- */
.div_table .image {
	max-width: 360px;
	margin: 0 auto 15px;
}

@media print,
screen and (min-width: 768px) {
	.div_table {
		display: table;
	}

	.div_table .image {
		width: 300px;
		margin: 0;
	}

	.div_table .cell {
		display: table-cell;
		vertical-align: middle;
		padding-left: 30px;
	}
}

/* 時間 */
.time_schedule {
	border: solid 1px #e1e1e1;
	padding: 10px;
	border-radius: 7px;
}

.time_schedule .title {
	font-family: 'notoserifjp';
	font-weight: normal;
	padding-bottom: 0.5em;
	border-bottom: dotted 1px #003279;
}

/* ----- hr ----- */
.hr-style-a {
	border-top: dotted 2px #003279;
}

/* ----- ページング ----- */
.paging {
	font-size: 14px;
	line-height: normal;
	letter-spacing: -.4em;
	text-align: center;
	margin: 0 -5px 50px;
}

@media screen and (max-width: 991px) {
	.paging {
		margin: 0 -5px 25px;
	}
}

.paging span {
	letter-spacing: normal;
	display: inline-block;
	margin: 0 5px;
	overflow: hidden;
}

.paging span.current {
	margin: 0px 2px;
	color: #333;
	border: 1px solid #ccc;
}

.paging span.paging-text {
	margin: 0px 2px;
	color: #333;
	border: 1px solid #ccc;
	text-decoration: none;
}

.paging span.paging-text a {
	padding: 3px 8px;
	display: block;
	text-decoration: none;
}

.paging span.current {
	color: #fff;
	background: #147dc2;
	border: 1px solid #147dc2;
	padding: 3px 8px;
	cursor: pointer;
}

.paging span.paging-text a:hover {
	background: #CCC;
	color: #fff;
	text-decoration: none;
	cursor: pointer;
}

/* ----- set ----- */
figure,
figcaption {
	padding: 0;
	margin: 0;
}

.grid {
	position: relative;
	clear: both;
	list-style: none;
}

.grid figure {
	position: relative;
	width: 100%;
	overflow: hidden;
	cursor: pointer;
}

.grid figure img {
	position: relative;
	display: block;
}

.grid figure figcaption {
	text-transform: uppercase;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.grid figure figcaption::before,
.grid figure figcaption::after {
	pointer-events: none;
}

.grid figure figcaption>a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-size: 0;
	opacity: 0;
}

/* -------------------------------
	common
-------------------------------- */
.clearfix {
	*zoom: 1;
}

.clearfix:after {
	content: "";
	display: table;
	clear: both;
}

.ov_hi {
	overflow: hidden;
}

.in-bk {
	display: inline-block;
}

.clear {
	clear: both;
}

.f-left {
	float: left;
}

.f-right {
	float: right;
}

/* anchor */
[id^="anchor-"],
[id^="Floor-"] {
	margin-top: -30px;
	padding-top: 30px;
}

/* 画像回り込み */
img.aligncenter,
img.alignright,
img.alignleft {
	display: block;
	margin: 0 auto 15px;
}

@media print,
screen and (min-width: 480px) {
	img.alignright {
		max-width: 38%;
		margin-left: 30px;
		display: inline;
	}

	img.alignleft {
		max-width: 38%;
		margin-right: 30px;
		display: inline;
	}

	.alignright {
		float: right;
	}

	.alignleft {
		float: left;
	}
}

@media print,
screen and (min-width: 1200px) {

	/* 画像回り込み */
	img.alignright {
		max-width: 100%;
	}

	img.alignleft {
		max-width: 100%;
	}
}

/* --▼color-- */
.red {
	color: #ff0000 !important;
}

/* --▼font-- */
.fs_12 {
	font-size: 0.857em;
}

.fs_13 {
	font-size: 0.929em;
}

.fs_14 {
	font-size: 1.000em;
}

.fs_15 {
	font-size: 1.071em;
}

.fs_16 {
	font-size: 1.143em;
}

.fwn {
	font-weight: normal;
}

.fwb {
	font-weight: bold;
}

.lh_sm {
	line-height: 1.358 !important;
}

/* --▼width-- */
.ww8em {
	width: 8em;
}

/* --▼text-- */
.text-justify {
	text-align: justify;
	text-justify: inter-ideograph;
}

/* --▼margin-- */
/* top */
.mt10 {
	margin-top: 10px !important;
}

.mt30 {
	margin-top: 30px !important;
}

/*bottom*/
.mb00 {
	margin-bottom: 0 !important;
}

.mb05 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.margin-bottom {
	margin-bottom: 25px !important;
}

@media print,
screen and (min-width: 768px) {
	.margin-bottom {
		margin-bottom: 50px !important;
	}
}

.hgt72 {
	height: 72px !important;
}



/*20200325 増設*/
.txt-d-u {
	text-decoration: underline !important;
}

body.partner .main_ttl {
	background-image: url(../images/title/main_ttl_collaboration.jpg);
}

.posi-r {
	position: relative !important;
}

.catbtn .triangle {
	position: absolute;
	right: 3%;
	top: 25%;
	color: #fff;
}

.catnavi .freeword {
	margin: 2rem 0 2.5rem;
}

.catnavi .ariasearch,
.catnavi .consultation {
	margin: 0 0 2.5rem;
}

@media print,
screen and (min-width: 992px) {

	.catnavi .freeword,
	.catnavi .ariasearch,
	.catnavi .consultation {
		margin: 0 0 2.5rem;
	}
}

.catnavi .freeword h3,
.catnavi .ariasearch h3,
.catnavi .consultation h3 {
	font-size: 1.6rem !important;
	font-family: inherit !important;
	text-align: left !important;
	margin: 0 0 5px !important;
}

.catnavi .freeword h3::before {
	content: "";
	background-image: url(../images/common/serch.png);
	display: inline-block;
	width: 30px;
	height: 30px;
	background-size: contain;
	vertical-align: middle;
	margin-right: 10px;
}

.catnavi .ariasearch h3::before {
	content: "";
	background-image: url(../images/common/ariasearch.png);
	display: inline-block;
	width: 30px;
	height: 30px;
	background-size: contain;
	vertical-align: middle;
	margin-right: 10px;
}

.catnavi .consultation h3::before {
	content: "";
	background-image: url(../images/common/consultation.png);
	display: inline-block;
	width: 30px;
	height: 30px;
	background-size: contain;
	vertical-align: middle;
	margin-right: 10px;
}

.catnavi .freeword div {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.catnavi .freeword div .search {
	width: 100%;
}

/*.catnavi .freeword div .submit{width: 25%;}*/

.partner-list {
	border-bottom: 1px solid #ccc;
}

.partner-list .genre {
	max-width: 100%;
}

@media print,
screen and (min-width: 992px) {
	.partner-list .genre {
		width: 300px;
	}
}

.partner-list .genre p {
	display: inline-block;
	padding: 5px 20px;
	border-radius: 3px;
	text-align: center;
	font-size: 90%;
}

.partner-list .genre div {
	margin: 0 -5% 0 0;
}

.partner-list .table {
	width: 100%;
	table-layout: fixed;
	border: none;
	margin: 0 0 40px;
}

.partner-list .table tr {}

.partner-list .table td {
	border: none;
	word-wrap: break-word;
	/*vertical-align: middle;*/
}

.partner-list .table td:nth-child(1) {
	width: 10%;
}

.partner-list .table td:nth-child(2) {
	width: 15%;
}

.partner-list .table td:nth-child(3) {
	width: 75%;
}

@media print,
screen and (max-width: 991px) {
	.partner-list .table td:nth-child(1) {
		width: 6%;
	}

	.partner-list .table td:nth-child(2) {
		width: 16%;
	}

	.partner-list .table td:nth-child(3) {
		width: 78%;
	}
}

@media print,
screen and (max-width: 767px) {
	.partner-list .table td:nth-child(1) {
		width: 45px;
	}

	.partner-list .table td:nth-child(2) {
		width: 60px;
	}

	.partner-list .table td:nth-child(3) {
		width: auto;
	}
}


.partner-list .table td img {
	width: auto;
	height: auto;
}

@media print,
screen and (min-width: 992px) {
	.partner-list .table td img {
		width: 30px;
		height: 30px;
	}
}


.mappin:before {
	content: "";
	background-image: url(../images/common/mappin.png);
	display: inline-block;
	width: 25px;
	height: 25px;
	background-size: contain;
	vertical-align: middle;
	margin-right: 10px;
}

/*.mappin:after{
  content: "";
  background-image: url(../images/common/list-map.png);
  display: inline-block;
  width: 38px;
  height: 25px;
  background-size: contain;
  vertical-align: middle;
  margin-left: 10px;
}*/
.mappin a {
	display: inline-block;
	margin-left: 10px;
}

.mappin a img {
	width: 38px !important;
	max-width: 100%;
	height: auto !important;
}


/*ページング*/
div.paging span.current,
div.paging span.paging-text {
	margin: 0px 2px;
	color: #333;
	border: 1px solid #ccc;
	display: inline;
	zoom: 1;
	display: inline-block;
	overflow: hidden;
	text-decoration: none;
}

div.paging span.paging-text a {
	padding: 3px 8px;
	display: block;
}

div.paging span.current {
	background: #147DC2;
	border: 1px solid #636;
	color: #fff;
	display: inline;
	zoom: 1;
	padding: 3px 8px;
	text-decoration: none;
	display: inline-block;
	cursor: pointer;
}

div.paging span.paging-text a:hover {
	background: #CCC;
	color: #fff;
	text-decoration: none;
	cursor: pointer;
}

.mb50-xs {
	margin-bottom: 25px !important;
}

@media print,
screen and (min-width: 992px) {

	div.paging span.current,
	div.paging span.paging-text {
		margin: 0px 5px;
		color: #333;
		border: 1px solid #ccc;
		display: inline;
		zoom: 1;
		display: inline-block;
		overflow: hidden;
		text-decoration: none;
	}

	div.paging span.paging-text a {
		padding: 10px 18px;
		display: block;
	}

	div.paging span.current {
		background: #147DC2;
		border: 1px solid #636;
		color: #fff;
		display: inline;
		zoom: 1;
		padding: 10px 18px;
		text-decoration: none;
		display: inline-block;
		cursor: pointer;
	}

	div.paging span.paging-text a:hover {
		background: #CCC;
		color: #fff;
		text-decoration: none;
		cursor: pointer;
	}

	.mb50-xs {
		margin-bottom: 50px !important;
	}
}


/*診療科　選択項目*/
.aside .down-box {
	position: relative;
}

.aside .select-btn {
	cursor: pointer;
	font-size: 14px;
	border-radius: 4px;
	color: #666;
	border: 1px solid #ddd;
	padding: 8px 15px 8px 15px;
	width: 100%;
	line-height: 1.5;
	background: #fff;
	margin-bottom: 5px;
}

.aside .select-btn:after {
	display: block;
	content: '\f107';
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	color: #1d6eb6;
	position: absolute;
	right: 10px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	pointer-events: none;
}

.aside .down-box .pull-down {
	display: none;
	max-height: 0;
	border: 1px solid #ddd;
	border-top: none;
	border-radius: 0 0 4px 4px;
	padding: 0;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

.aside .down-box .pull-down.active {
	display: block;
	max-height: 250px;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #fff;
	padding: 10px 10px 5px;
	margin-bottom: 30px;
	z-index: 9989;
}

.aside .down-box .pull-down.active .inner {
	max-height: 200px;
	overflow-y: scroll;
	padding: 0;
}

@media print,
screen and (min-width: 992px) {
	.aside .down-box .pull-down.active {
		display: block;
		max-height: 350px;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: #fff;
		padding: 10px 10px 5px;
		margin-bottom: 30px;
		z-index: 9989;
	}

	.aside .down-box .pull-down.active .inner {
		max-height: 300px;
		overflow-y: scroll;
		padding: 0;
	}
}

.aside .down-box .pull-down.active .inner:before,
aside .down-box .pull-down.active .inner:after {
	content: " ";
	display: table;
}

input[type="radio"].radio01,
input[type="checkbox"].radio01 {
	display: none;
	position: absolute;
}

input[type="checkbox"],
input[type="radio"] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
}

.aside .down-box .pull-down.active .inner>label {
	display: block;
	float: left;
	width: 50%;
}

.aside input[type="checkbox"]+label {
	font-size: 13px;
	margin: 0 0 5px 0;
}

.radio01_label {
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	position: relative;
	font-size: 13px;
	color: #1a1a1a;
	margin: 0 25px 10px 0;
	letter-spacing: 0;
}

input[type="radio"].radio01,
input[type="checkbox"].radio01 {
	display: none;
	position: absolute;
}

input[type="checkbox"],
input[type="radio"] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
}

content: "";
background: #fff;
border: 1px solid #dbdbdb;
border-radius: 4px;
display: inline-block;
vertical-align: middle;
width: 14px;
height: 14px;
margin-right: 6px;
text-align: center;
line-height: 12px;
}

input[type="radio"].radio01:checked+label:before,
input[type="checkbox"].radio01:checked+label:before {
	content: "\f00c";
	font-size: 10px;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	border-radius: 4px;
	color: #fff;
	border: 1px solid #1d6eb6;
	background: #1d6eb6;
}

input[type="radio"].radio01+label:before,
input[type="checkbox"].radio01+label:before {
	content: "";
	background: #fff;
	border: 1px solid #dbdbdb;
	border-radius: 4px;
	display: inline-block;
	vertical-align: middle;
	width: 14px;
	height: 14px;
	margin-right: 6px;
	text-align: center;
	line-height: 12px;
}

input[type="radio"].radio01:checked+label::before,
input[type="checkbox"].radio01:checked+label::before {
	content: "\f00c";
	font-size: 10px;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	border-radius: 4px;
	color:
		#fff;
	border: 1px solid #1d6eb6;
	background:
		#1d6eb6;
}

aside .select-btn:after {
	display: block;
	content: '\f107';
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	color: #1d6eb6;
	position: absolute;
	right: 10px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	pointer-events: none;
}


/*
.aside .form-control {
  cursor: pointer;
  font-size: 12px;
  border-radius: 4px;
  color: #666;
  border: 1px solid #ddd;
  padding: 3px 15px 3px 10px;
  width: 100%;
  line-height: 1.5;
  background: #fff;
  margin-bottom: 5px;
}
.aside .form-control:after {
  display: block;
  content: '\f107';
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  color: #1d6eb6;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  pointer-events: none;
}
aside .form-control:after {
  display: block;
  content: '\f107';
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  color: #1d6eb6;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  pointer-events: none;
}*/

.width-100 {
	width: 100% !important;
}

.width-xs100 {
	width: 50% !important;
}

@media print,
screen and (min-width: 992px) {
	.width-xs100 {
		width: 100% !important;
	}
}


/*20200421*/
.tbl-r02 {
	width: 50%;
	float: left;
}

.tbl-r02 th {
	background: #147DC2;
	border: solid 1px #ccc;
	color: #fff;
	padding: 10px;
	text-align: center;
}

.tbl-r02 td {
	border: solid 1px #ccc;
	padding: 10px;
	text-align: left;
}

@media screen and (max-width: 991px) {
	.last td:last-child {
		border-bottom: solid 1px #ccc;
		width: 100%;
	}

	.tbl-r02 {
		width: 100%;
		float: none;
	}

	.tbl-r02 th,
	.tbl-r02 td {
		border-bottom: none;
		display: block;
		width: 100%;
		text-align: center;
	}
}

.form-btn {
	display: flex;
	justify-content: space-between;
}

.form-btn .submit {
	width: 48%;
}

.effect01 {
	height: 350px;
	overflow: auto;
}

.tac-xs-left {
	text-align: center !important;
}

.txt-1 {
	margin-bottom: 5rem;
	font-size: 1.2em;
	letter-spacing: 0.05em;
}

.txt-1 a {
	font-weight: bold;
	text-decoration: underline;
}

.txt-1 a:hover {
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	.effect01 {
		height: 210px;
		overflow: auto;
	}

	.tac-xs-left {
		text-align: left !important;
	}

	.txt-1 {
		margin-bottom: 25px;
		font-size: 1em;
	}
}

.list-01 {
	margin-left: -20px;
}

@media screen and (max-width: 767px) {
	.list-01 {}
}

.ml-xs-20 {
	margin-left: 0;
}

@media screen and (max-width: 767px) {
	.ml-xs-20 {
		margin-left: -20px;
	}
}

.m0 {
	margin: 0 !important;
}

/*--------2020/10/20 shinryo_list.html-------------*/

/* 印刷改行----------*/
.page-break-before {
	page-break-before: always
}

/**/
.list_pg {
	list-style: none;
	padding: 0;
}

.list_pg li {
	padding: 0.2em 0;
}

/**/

.sp_mb10 {
	margin-bottom: 10px;
}

@media print,
screen and (min-width: 768px) {
	.sp_mb10 {
		margin-bottom: 0px;
	}
}

.sp_mb10pc_mb20 {
	margin-bottom: 10px;
}

@media print,
screen and (min-width: 768px) {
	.sp_mb10pc_mb20 {
		margin-bottom: 20px;
	}
}

/**/



.title1 {
	font-family: 'notoserifjp';
	font-weight: 400;
	background-color: #dbeaf6;
	padding: 0.4em 1em;
	color: #003279;
}

.title2 {
	font-family: 'notoserifjp';
	font-weight: 400;
	color: #147dc2;
}

.title3 {
	font-family: 'notoserifjp';
	font-weight: 600;
	color: #003279;
}


/**/
.list_staff {
	position: relative;
}

.list_staff .btns,
.list_staff .btns-b {
	margin-bottom: 25px;
}

.list_staff .btns .btn,
.list_staff .btns-b .btn {
	width: 260px;
	margin: 0 auto;
}

.list_staff .columns {
	/*  border-top: solid 2px #147dc2;*/
	padding-top: 15px;
}

.list_staff .columns .staffname {
	display: table;
	margin-bottom: 15px;
}

.list_staff .columns .staffname .photo,
.list_staff .columns .staffname .cell {
	display: table-cell;
	vertical-align: top;
}

.list_staff .columns .staffname .photo {
	width: 97px;
}

.list_staff .columns .staffname .photo img {
	width: 100%;
}

.list_staff .columns .staffname .cell {
	padding-left: 20px;
}

.list_staff .columns .staffname .cell .htmlarea {
	font-size: 0.92857em;
	padding: 2px 1.2em;
	border-radius: 0.8em;
	display: inline-block;
	background-color: #dbeaf6;
}

.list_staff .columns .staffname .cell h4 {
	color: #003279;
	line-height: normal;
	margin-top: 5px;
	margin-bottom: 0;
}

.shinryo_staff .columns .staffname .cell h4 small {
	color: #222;
	font-weight: normal;
	font-size: 0.76em;
}

.list_staff .columns .staffprofile table tbody tr th {
	width: 9em;
}

@media print,
screen and (min-width: 992px) {
	.list_staff .btns .btn {
		position: absolute;
		right: 0;
		top: 5px;
	}
}

.list-style_num {
	list-style-type: decimal;
	padding-left: 5px;
}

.list-style_ak {
	list-style-type: "※";
	padding-left: 5px;
}

.question {
	margin-bottom: 5px;
}

.answer {
	margin-bottom: 30px;
	padding-left: 10px;
}

.dpc_coefficient {
	width: 100%;
	max-width: 400px;
	text-align: center;
}

.dpc_coefficient,
.dpc_coefficient th,
.dpc_coefficient td {
	border: 1px solid #333;
	border-collapse: collapse;
}

.dpc_coefficient th,
.dpc_coefficient td {
	padding: 10px;
}

.dpc_coefficient_ttl {
	text-align: center;
	font-size: 16px;
	background-color:#EDF4FA ;
}

/* -------------------------------
　カテゴリー
-------------------------------- */
/*
.cat_navi_pg {
padding: 40px 0;
}

.catbtn_pg {
color: #fff;
font-size: 16px;
font-weight: bold;
line-height: 2.25;
padding: 5px 10px;
cursor: pointer;
background-color: #1d6eb9;
position: relative;
overflow: hidden;
}
@media print, screen and (min-width: 768px) {
.catbtn_pg {
  display: none;
}
}

#catButton_pg {
overflow: hidden;
display: block;
position: absolute;
right: 5px;
top: 5px;
z-index: 0;
width: 36px;
height: 36px;
}
#catButton_pg span, #catButton_pg::before, #catButton_pg::after {
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: 24px;
height: 2px;
margin: auto;
background: #fff;
}
#catButton_pg span {
overflow: hidden;
z-index: 1;
color: #fff;
opacity: 1;
transition: opacity 150ms 50ms;
}
#catButton_pg::before, #catButton_pg::after {
transition: transform 200ms;
}
#catButton_pg::before {
z-index: 2;
transform: translate(0, -8px);
content: "";
}
#catButton_pg::after {
z-index: 2;
transform: translate(0, 8px);
content: "";
}
#catButton_pg.active span {
opacity: 0;
transition: opacity 150ms;
}
#catButton_pg.active::before {
transform: rotate(45deg);
}
#catButton_pg.active::after {
transform: rotate(-45deg);
}
*/

/* カテゴリー　一覧 */
.catnavi_pg {
	display: none;
}

.catnavi_pg .cat_navi_list_pg {
	list-style: none;
	padding: 0;
	margin: 0;
}

.catnavi_pg .cat_navi_list_pg>li {
	margin-top: 1px;
}

.catnavi_pg .cat_navi_list_pg>li>a {
	color: #258cec;
	text-align: left;
	text-decoration: none;
	border: solid 1px #258cec;
	display: block;
	padding: 0.714rem 2rem 0.714rem 1rem;
	background-color: #fff;
	position: relative;
}

.catnavi_pg .cat_navi_list_pg>li>a:after {
	content: "";
	content: "\f105";
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	line-height: 1;
	margin-top: -.5em;
	position: absolute;
	right: 15px;
	top: 50%;
	-moz-transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.catnavi_pg .cat_navi_list_pg>li>a>img {
	position: absolute;
	right: 25px;
	top: 50%;
}

.catnavi_pg .cat_navi_list_pg>li>a:hover {
	color: #fff;
	background-color: #258cec;
}

.catnavi_pg .cat_navi_list_pg>li>a:hover:after {
	color: #fff;
}

.catnavi_pg .cat_navi_list_pg>li.active>a {
	color: #fff;
	background-color: #258cec;
}

.catnavi_pg .cat_navi_list_pg>li.active>a:after {
	display: none;
}

@media print,
screen and (min-width: 768px) {
	.catnavi_pg {
		display: block;
	}

	.catnavi_pg .cat_navi_list_pg {
		letter-spacing: -.4em;
		margin: 0 -10px;
	}

	.catnavi_pg .cat_navi_list * {
		letter-spacing: 0.05em;
	}

	.catnavi_pg .cat_navi_list_pg>li {
		display: inline-block;
		vertical-align: top;
		padding: 0 10px;
		margin: 3px 0;
		min-width: 50%;
	}
}

@media print,
screen and (min-width: 1200px) {
	.catnavi_pg .cat_navi_list_pg>li {
		min-width: 33.33333%;
	}
}

/*---------*/



/* カテゴリー　一覧 */
/*
.catnavi {
display: none;
}
*/
.catnavi2 .cat_navi_list2 {
	list-style: none;
	padding: 0;
	margin: 0;
}

.catnavi2 .cat_navi_list2>li {
	border: solid 1px #0a4a92;
	margin-bottom: 10px;
}

.catnavi2 .cat_navi_list2>li>a {
	color: #0a4a92;
	text-align: left;
	text-decoration: none;
	display: block;
	padding: 10px 25px 10px 10px;
	background-color: #fff;
	position: relative;
	/*
-moz-transition: color 0.3s ease, background 0.3s ease;
-webkit-transition: color 0.3s ease, background 0.3s ease;
transition: color 0.3s ease, background 0.3s ease;
*/
}

.catnavi2 .cat_navi_list2>li>a:after {
	/*
content: '\f105';
font-family: 'Font Awesome 5 Free';
*/
	font-weight: 900;
	line-height: 1;
	position: absolute;
	right: 15px;
	top: 50%;
	margin-top: -.5em;
}

.catnavi2 .cat_navi_list2>li>a>img {
	position: absolute;
	right: 25px;
	top: 50%;
}

.catnavi2 .cat_navi_list2>li.active>a,
.catnavi2 .cat_navi_list2>li>a:hover {
	color: #fff;
	background-color: #0a4a92;
}

@media print,
screen and (min-width: 768px) {
	.catnavi2 {
		display: block;
	}

	.catnavi2 .cat_navi_list2 {
		letter-spacing: -.4em;
		/*    border-top: solid 1px #489bd7;*/
	}

	.catnavi2 .cat_navi_list2 * {
		letter-spacing: 0.05em;
	}

	.catnavi2 .cat_navi_list2>li {
		display: inline-block;
		vertical-align: top;
		width: 50%;
	}

	.catnavi2 .cat_navi_list2>li>a {
		/*
  line-height: 1.624;
  min-height: 4em;
*/
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
	}
}

@media print,
screen and (min-width: 768px) {
	.catnavi2 .cat_navi_list2>li {
		width: 31%;
		margin: 0 13px 10px 0;
	}
}

/*
@media print, screen and (min-width: 992px) {
.catnavi .cat_navi_list > li {
  width: 23.5%;
  margin:0 15px 10px 0;
}
}
*/

@media print,
screen and (min-width: 1200px) {
	.catnavi2 .cat_navi_list2>li {
		width: 31%;
		margin: 0 15px 10px 0;
	}
}



@media print,
screen and (min-width: 1500px) {
	.catnavi2 .cat_navi_list2>li {
		width: 31%;
		margin: 0 15px 10px 0;
	}
}

.cat_navi_list2 .fa {
	margin-right: 5px;
}

.text-indent {
	padding-left: 1em;
	text-indent: -1em;
}

.d-inline-1 {
	display: inline;
}

.d-inline-2 {
	display: inline;
}

.font-adj {
	font-size: 0.9em;
	margin-left: 1em;
}

.f-red {
	color: #ff0000;
}

@media screen and (max-width: 991px) {
	.d-inline-2 {
		display: block;
	}

	.font-adj {
		margin-left: 0em;
		font-size: 14px;
	}
}

.sp-break {
	display: none;
}

@media screen and (max-width: 575px) {
	.sp-break {
		display: block;
	}
}

/*2023/8/3追加*/
.list-p-tyousei {
	padding-left: 20px;
}

.box-cont__use ul{
	padding-left: 20px;
}
ul.box-cont__use ul li{}