@charset "utf-8";
/*reset-------------------------------------------------*/
body,div,h1,h2,h3,h4,h5,h6,p,dl,dt,dd {
  margin: 0;
  padding: 0;
	font-weight:normal;
}

*, *:before, *:after {
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 -o-box-sizing: border-box;
 -ms-box-sizing: border-box;
 box-sizing: border-box;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  border: none;
  vertical-align: top;
  -webkit-backface-visibility: hidden;
}

h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
	font-weight: normal;
}

header,section,article,aside,footer,nav {
 display: block;
}

/*-------------------------------------------------reset*/

/*common-------------------------------------------------*/
body {
 margin: 0;
 padding: 0;
 color: #333;
 font-size: 15px;
	font-family:"ヒラギノ角ゴ Std W3", "Hiragino Kaku Gothic Std", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 line-height: 1.8;
	-webkit-text-size-adjust: 100%;
}

a {
 text-decoration: underline;
 cursor: pointer;
	color:inherit;
	-webkit-transition: .4s;
 -moz-transition: .4s;
	-o-transition: .4s;
	color: #A05D98;
}

a:visited {
	color: #A05D98;
}

a:hover,
a:active {
	color: #5D98A1;
}

ul,li,ol {
  margin: 0px;
  padding: 0px;
  list-style: none;
}

address {
  font-style: normal;
}

.clear:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clear {
  display: inline-table;
  overflow: hidden;
	clear:both;
}

/* mac \*/
* html .clear {
  height: 1%;
}

.clear {
  display: block;
}

.alignleft {
	float: left;
	margin: 0 30px 30px 0;
}

.alignright {
	float: right;
	margin: 0 0 30px 30px;
}

.aligncenter {
	display: block;
	margin: 0 auto 30px;
}

.colorRed {
	color: #F00;
}

.orange {
	color: #FF6600;
}

/*-------------------------------------------------common*/


/*-----------------------------------------------------------
  header
-----------------------------------------------------------*/
header {
	border-bottom:solid 1px #DDDDDD;
	box-shadow:0 1px 0 #F6F6F6;
}

header .container {
	overflow:hidden;
	position:relative;
	margin: 0 auto;
}

header .logo {
	position:absolute;
	top: 34px;
	left:0;
}

header .container .cls {
	float:right;
	border-bottom:solid 2px #EFEFEF;
	padding:10px 0 0;
}

header .container .cls a {
	float:left;
	font-size:14px;
	font-weight:500;
	padding:0 20px;
	margin-left:10px;
	border:solid 1px #4C4D9C;
	line-height:24px;
	color: #4C4D9C;
	text-decoration: none;
}

header .container .cls a:hover {
	background:#4C4D9C;
	color:#FFF;
}

header .container .cls a:first-of-type {
	background:#A15D98;
	color:#FFF;
	border:solid 1px #A15D98;
}

header .container .cls a:first-of-type:hover {
	background-color: #FFF;
	color:#A15D98; 
}

header .container .cls form {
	float:left;
	margin:0 15px 0 22px;
	font-size:14px;
}

header .container .cls form input[type="text"] {
	border:solid 1px #CCCCCC;
	height:26px;
	outline:none;
	font-family:inherit;
	float:left;
	padding:0 3px;
}

header .container .cls form input[type="submit"] {
	background:none;
	border:none;
	margin:0 0 0 8px;
	font:inherit;
	outline:none;
	width: 42px;
	height: 26px;
	background: url(../image/search.gif);
	cursor:pointer;
}

header ul {
	float:right;
	margin:30px 0 10px;
	font-size:17px;
	font-weight:500;
}

header  li {
	float:left;
	border-left:solid 1px #CCCCCC;
}

header li:last-child {
	border-right:solid 1px #CCCCCC;
}

header li a {
	display: block;
	padding:0 18px;
}

header li a:link, header li a:visited {
	color: #333;
	text-decoration: none;
}

header li a:hover, header li a:active {
	color: #A15D98;
}


/*-----------------------------------------------------------
  content
-----------------------------------------------------------*/
.container {
	width:1120px;
	margin:0 auto 60px;
}

.arrow::before {
	content:'\f061';
	font-family:'Font Awesome 5 Free';
	font-weight:600;
	color:rgba(76,77,156,0.5);
	-webkit-transition: .4s;
  -moz-transition: .4s;
	-o-transition: .4s;
}

.main .title {
	background:linear-gradient(to right, rgba(181,74,168,0.2) 20%, rgba(74,168,181,0.2) 80%);
	height:160px;
	position:relative;
	margin: 1px 0 0;
}

.main h1 {
	font-size:26px;
	font-weight:500;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	line-height:normal;
}

.main h1::after {
	content:'';
	width:40px;
	height:3px;
	background:#A15D98;
	display:block;
	margin:10px auto 0;
}

.main .bread {
	background:#4C4D9C;
	border-top:solid 1px #FFF;
}

.main .bread ul {
	width:1120px;
	margin:0 auto;
	padding:4px 10px;
	background:#DBDBEB;
	overflow:hidden;
	font-size:14px;
}

.main .bread li {
	float:left;
}

.main .bread li::after {
	content:'＞';
	margin:0 0.5em;
}

.main .bread li:last-child::after {
	display:none;
}

.main .bread li a {
	display:inline;
	text-decoration: none;
	color: #333;
}

.main .bread li a:hover {
	text-decoration:underline;
}

.sidebar {
	margin-right:20px;
	border-top:solid 8px #4C4D9C;
	width:280px;
	float:left;
}

.sidebar p {
	font-size:18px;
	font-weight:500;
}

.sidebar p a {
	display: block;
	padding: 24px 0;
	text-decoration: none;
	color: #333;
}

.sidebar p.nolink {
	display: block;
	padding: 24px 0;
	text-decoration: none;
	color: #333;
}

.sidebar ul {
	margin-bottom:40px;
}

.sidebar li {
	border:solid 1px #DDDDDD;
	border-bottom:none;
}

.sidebar li:last-child {
	border-bottom:solid 1px #DDDDDD;
}

.sidebar li.now,
.sidebar li a:hover {
	background:#DBDBEB;
}

.sidebar li a {
	display: block;
	padding:10px 0 10px 10px;
	text-decoration: none;
	color: #333;
}

.sidebar ul li ul {
	margin: 0;
}

.sidebar ul li ul li {
	border: none;
}

.sidebar ul li ul li:last-child {
	border-bottom: none;
}

.sidebar ul li ul li a {
	padding: 2px 0 2px 34px;
	background: url(../image/arrow-01.png) no-repeat 18px 9px;
	background-size: 8px;
}

.sidebar ul li ul li a:hover {
	background: url(../image/arrow-01.png) #DBDBEB no-repeat 18px 9px;
	background-size: 8px;
}

.sidebar .arrow {
	border:solid 1px #DDD;
	height:54px;
	line-height:56px;
	margin-bottom:8px;
	font-size:18px;
	display: block;
	text-decoration: none;
	color: #333;
}

.sidebar .arrow::before {
	color:#A15D98;
	font-size:15px;
	margin:0 10px;
}

.sidebar .arrow:first-of-type {
	background:url(../image/side-1.png) right 12px center no-repeat;
}

.sidebar .arrow:last-of-type {
	background:url(../image/side-2.png) right 12px center no-repeat;
}

.sidebar .arrow:hover {
	border: 1px solid #A15D98;
	background-color: #A15D98;
	color: #FFF;
}

.sidebar .arrow:hover::before {
	color: #FFF;
}

.content {
	float: right;
	width: 820px;
	margin-top:20px;
}

.content h2 {
	border-left:solid 8px #A15D98;
	padding-left:18px;
	font-size:22px;
	font-weight:500;
	margin:0 0 18px;
	display:flex;
	align-items:center;
}

.content h2::after {
	content:'';
	border-top:double #CCC;
	flex-grow:1;
	margin-left:1em;
}

.content h3 {
	position: relative;
	margin: 0 0 10px;
	padding: 2px 12px;
	font-size: 18px;
	font-weight: 600;
	background-color: #EAEAEA;
}

.content h3::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 16px;
	border-top: 2px solid #A15D98;
	content: "";
}

.content h3::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 16px;
	border-left: 2px solid #A15D98;
	content: "";
}

.content h4 {
	position: relative;
	font-weight: 600;
	margin: 0 0 10px;
	padding: 0 0 0 10px;
	font-size: 16px;
}

.content h4:before {
	position: absolute;
	content: "";
	background-color: #ECDFEA;
	width: 20px;
	height: 20px;
	top: -6px;
	left: 0;
	z-index: -1;
}

.content p {
	margin: 0 0 40px;
}

.content ul {
	margin: 0 10px 40px;
	padding: 0;
	list-style: none;
}

.content ul li {
	margin: 0 0 10px;
	padding: 0 0 0 22px;
	background: url(../image/arrow-02.png) no-repeat 8px 10px;
	background-size: 6px;
}

.content ol {
	margin: 0 10px 40px;
	padding: 0 0 0 20px;
	line-height: 1.4;
}

.content ol li {
	margin: 0 0 20px;
	list-style: decimal;
}

.content ol li ol {
	margin: 10px 10px 10px;
	padding: 0 0 0 10px;
}

.content ol li ol li {
	margin: 0 0 5px;
}

.content table {
	margin: 0 0 40px;
}

.content table th,
.content table td {
	padding: 8px;
	border: 1px solid #CCC;
}

.btn {
	margin: 0 auto 40px;
}

.btn a {
	display: block;
	padding: 8px 8px 8px 0;
	border: 1px solid #CCCCCC;
	color: #333;
	text-decoration: none;
}

.btn a::before {
	margin: 0 10px;
	content:'\f061';
	font-family:'Font Awesome 5 Free';
	font-weight:600;
	color:rgba(76,77,156,0.5);
	-webkit-transition: .4s;
  -moz-transition: .4s;
	-o-transition: .4s;
}

.btn a:hover {
	background-color: #4C4D9C;
	color: #FFF;
}

.btn a:hover::before {
	color: #FFF;
}

.btnInq {
	width: 300px;
	margin: -20px 0 40px;
}

.btnInq a {
	display: block;
	padding: 8px 8px 8px 0;
	border: 1px solid #A15D98;
	color: #FFF;
	text-decoration: none;
	background-color: #A15D98;
}

.btnInq a::before {
	margin: 0 10px;
	content:'\f061';
	font-family:'Font Awesome 5 Free';
	font-weight:600;
	color: #FFF;
}

.btnInq a:hover {
	background-color: #FFF;
	color: #A15D98;
}

.btnInq a:hover::before {
	color: #A15D98;
}

.date {
	margin:20px auto 0;
	padding:0 10px;
	text-align:right;
	font-size:12px;
}

.date::before {
	content:url(../image/date_s.png);
	margin-right:0.5em;
	vertical-align:middle;
}

.date.none::before {
	content:'';
}

.content ul.tobira {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.content ul.tobira li {
	margin: 0 1% 20px;
	padding: 0;
	float: left;
	width: 48%;
	background-image: none;
}

.content ul.tobira li.l {
	width: 98%;
}

.content ul.tobira li a {
	display: block;
	text-decoration: none;
	color: #333;
	border: 1px solid #CCC;
	padding: 8px 8px 8px 0;
}

.content ul.tobira li a::before {
	margin: 0 10px;
	content:'\f067';
	font-family:'Font Awesome 5 Free';
	font-weight: 600;
	color:rgba(76,77,156,0.5);
	-webkit-transition: .4s;
  -moz-transition: .4s;
	-o-transition: .4s;
}

.content ul.tobira li a:hover {
	background-color: #9191CA;
	color: #FFF;
}

.content ul.tobira li a:hover::before {
	color: #FFF;
}

.content ul.tobira:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.mokuji_wrap {
	position: relative;
	overflow: hidden;
	margin: 0 0 40px;
}

.mokuji_wrap ul.pager {
	position: relative;
	left: 50%;
	float: left;
}

.mokuji_wrap ul.pager li {
	position: relative;
	left: -50%;
	float: left;
}

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

.mokuji_wrap ul.pager li {
	display: inline;
	margin: 0 5px 4px 0;
	padding: 0 !important;
	width: 270px;
	border: 1px solid #CCC;
	background-color: #FFFFFF;
	font-size: 14px;
	background-image: none;
}

.mokuji_wrap ul.pager li a::before {
	margin: 0 3px 0 0;
	content:'\f067';
	font-family:'Font Awesome 5 Free';
	font-weight: 600;
	color:rgba(76,77,156,0.5);	
}

.mokuji_wrap ul.pager li:nth-child(3n) {
	margin: 0 0 4px;
}

.mokuji_wrap ul.pager li a {
	display: block;
	padding: 10px 4px 10px 8px;
	color: #333333;
	text-decoration: none;
}

.mokuji_wrap ul.pager li a:hover {
	background-color: #9191CA;
	color: #FFF;
}

.mokuji_wrap ul.pager li a:hover::before {
	color: #FFF;
}


/*-----------------------------------------------------------
  footer
-----------------------------------------------------------*/
footer {
	background:rgba(76,77,156,0.1);
	overflow:hidden;
}

footer .container {
	margin-bottom: 30px;
}

footer a {
	display: block;
	text-decoration: none;
}

footer .line {
	display:block;
	height:8px;
	background:#4C4D9C;
	position:relative;
}

footer .line span {
	position:absolute;
	width:280px;
	height:100%;
	background:#A15D98;
	left:40px;
}

footer .line span::before,
footer .line span::after {
	content:'';
	position:absolute;
	top:0;
	right:0;
	width:0;
	height:0;
	border-bottom:solid 4px #4C4D9C;
	border-right:solid 6px #4C4D9C;
	border-top:solid 4px transparent;
  border-left: solid 6px transparent;
}

footer .line span::before {
	left:0;
	border-top:solid 4px #4C4D9C;
	border-left:solid 6px #4C4D9C;
	border-bottom:solid 4px transparent;
  border-right: solid 6px transparent;
}

footer .top {
	margin:25px 0 40px;
	padding:0 20px;
	overflow:hidden;
}

footer a:link, footer a:visited  {
	color: #333;
}

footer a:hover, footer a:active  {
	color: #333;
	text-decoration: underline;
}

footer .top .left {
	float:left;
}

footer .top .left p {
	font-size:22px;
	font-weight:500;
}

footer .top .left a {
	padding:0 8px;
	font-size:14px;
	border-left:solid 1px;
	float:left;
	line-height:normal;
}

footer .top .left a:last-child {
	border-right:solid 1px;
}

footer .top .right {
	float:right;
}

footer .top .right a {
	float:left;
	margin-right:8px;
}

footer .top .right a:nth-child(3) {
	margin-left:8px;
	padding: 1px 0;
}

footer .top .right a:nth-child(4) {
	padding: 1px 0;
}

footer .top .right a.arrow {
	width:160px;
	background:#FFF;
	border:solid 1px #CCC;
	text-align:center;
	position:relative;
	font-size:16px;
	text-decoration: none;
}

footer .top .right a.arrow:hover {
	background-color: #4C4D9C;
	color: #FFF;
}

footer .top .right a.arrow::before {
	position:absolute;
	left:6px;
}

footer .top .right a.arrow:hover::before {
	color: #FFF;
}

footer .bottom {
	clear:both;
	padding:0 20px;
	overflow:hidden;
}

footer .bottom .fmenu {
	width: 25%;
	float: left;
}

footer .bottom .fmenu ul {
	width: 240px;
	margin: 0 auto 0 0;
}

footer .bottom .fmenu ul li {
	margin: 0;
	padding: 0;
	font-size: 16px;
}

footer .bottom .fmenu ul li ul {
	margin-top: 2px;
	border-top: 1px solid #CCC;
}

footer .bottom .fmenu ul li ul li {
	font-size: 14px;
	margin-bottom: 2px;
}

footer .bottom .fmenu ul li ul li:nth-child(1) {
	padding-top: 12px;
}

footer .bottom .fmenu ul.one {
	margin-top: 32px;
}

footer .bottom .fmenu ul.one li {
	border-bottom: 1px solid #CCC;
	padding-bottom: 2px;
}

footer .copy {
	background:#4C4D9C;
	height:56px;
	line-height:56px;
	clear:both;
	position:relative;
}

footer .copy p {
	color:#FFF;
	font-size:12px;
	font-weight:500;
	margin-left:8px;
}

footer .pagetop {
	position:absolute;
	bottom:0;
	right:0;
	cursor:pointer;
}