/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
body {
    line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}
ul, ol {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
#container hr{margin:6px 0 !important;}
#container hr.break{height:1px;margin:.5rem 0 !important;border-top:none;border-right:none;border-bottom:1px solid transparent;border-left:none;}
#container hr.dotted{height:1px;margin:.5rem 0 !important;border-top:none;border-right:none;border-bottom:1px dotted #ddd;border-left:none;}
input, select {
    vertical-align:middle;
}
.clearfix:after {
    content:" ";
    display:block;
    clear:both;
}
/* /reset */

/* images */
img{max-width: 100%;}
.aligncenter, .aligncenter img, .attachment-post-thumbnail{display:block !important; margin:0 auto !important; text-align: center !important;}
.alignright, .alignleft, .aligncenter, .alignright img, .alignleft img, .aligncenter img{margin-bottom:16px; display: block;}
.alignright{float:right;margin-left:16px; text-align: right;}
.alignleft{float:left;margin-right:16px; text-align: left;}
/*div.alignright, div.alignleft, div.aligncenter{text-align:center;}:*/
.entry-content img{max-width:100%;height:auto;}
.entry-content img.frame{padding:3px;border:1px #e8e8e8 solid;}
img.attachment-thumbnail{display:block;float:left;margin-bottom:1em;margin-right:1.4em;}
.wp-caption{max-width:100%;height:auto;}
.wp-caption-text{text-align:center;margin-top:0;font-size:90%;}
.caption{padding-bottom: 24px; display: inline-block;}
.clear{clear:both;}
.img-round{border-radius: 10px;}
.img-responsive {display: block; height: auto; max-width: 100%;}
video {width: 100%; height: auto;}
figcaption{text-align: center; font-size: 12px;}

/* table */
table {
	width: 100%;
	border-collapse: collapse;
}
table.tblOutline {
	width: 100%;
	border-collapse: separate;
	border-spacing: 5px;
	margin: 0 auto;
	margin-bottom: 32px;
}
table.tblOutline th{
	background: rgb(20,121,190);
	background: -moz-linear-gradient(-45deg, rgba(20,121,190,.8) 0%, rgba(48,171,148,.8) 100%);
	background: -webkit-linear-gradient(-45deg, rgba(20,121,190,.8) 0%,rgba(48,171,148,.8) 100%);
	background: linear-gradient(135deg, rgba(20,121,190,.8) 0%,rgba(48,171,148,.8) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1479be', endColorstr='#30ab94',GradientType=1 );
	color: #fff;
}
table.tblOutline td{
	background: #f1fafe;
}
table.tblOutline th, table.tblOutline td {
	padding: 10px;
	vertical-align: middle;
}

dl.lstWelfare {
	width: 100%;
	border-collapse: collapse;
	margin: 0 auto;
	margin-bottom: 32px;
}
dl.lstWelfare dt{
	background: rgb(20,121,190);
	background: -moz-linear-gradient(-45deg, rgba(20,121,190,.8) 0%, rgba(48,171,148,.8) 100%);
	background: -webkit-linear-gradient(-45deg, rgba(20,121,190,.8) 0%,rgba(48,171,148,.8) 100%);
	background: linear-gradient(135deg, rgba(20,121,190,.8) 0%,rgba(48,171,148,.8) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1479be', endColorstr='#30ab94',GradientType=1 );
	color: #fff;
}
dl.lstWelfare dd{
	background: #f1fafe;
}
dl.lstWelfare dt, dl.lstWelfare dd {
	padding: 10px;
	vertical-align: middle;
}

#container ul, #container ol{
    margin-left: 20px;
}
#container ul.lstDisc{
	list-style-type: disc;
}
#container ol.lstDecimal{
	list-style-type: decimal;
}

#main ul#sitemap_list{margin-left: 0;}


/* font */
html {
    font-size: 15px;
}
body {
	font-size: 16px;
    font-family: "a-otf-ud-reimin-pr6n",sans-serif; 
    line-height: 1.85;
	color: #333;
	-webkit-text-size-adjust: 100%;
}
/* /font */


/* heading */
#main h1{
}
#main h2{
}
#main h3 {
}
#main h4{
}
/* heading */

/* breadcrumb */
#breadcrumb{border-bottom: 1px solid #efefef; clear: both; margin-bottom: 24px; font-size: 11px; background-color: #fff;}
#breadcrumb ol{list-style-type: none;}
#breadcrumb ol li{display: inline; font-size: 12px;}
#breadcrumb ol li::before{content:">"; padding: 0 4px; color: #333;}
#breadcrumb ol li:first-child::before{content: "現在位置："; padding-left: 0;}
#breadcrumb ol li a{color: #004098; text-decoration: none;}
#breadcrumb ol li a:hover{text-decoration: underline;}
/* breadcrumb */

/* sidebar */
#main aside h3{
}


/* #main */
#main{display: block;}
#main section{clear: both;}
#main small, #container small{font-size: 80%;}
/* /#main */


/* header */
#header{position: relative; background-color: #fff; position: fixed; width: 100%; z-index: 100; border-bottom: 1px solid #efefef; padding-top: 8px; padding-bottom: 8px;}
#header .row{align-items: center;}
body#home #header{border-bottom: 0;}
/* /header */

/* navPc */
nav#navPc{display: none;}
nav#navPc>ul{
	display: flex;
    justify-content: space-between;
}
nav#navPc ul li{}
nav#navPc ul li a{
    padding: 1rem;	
	color: #004098;
	text-decoration: none;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
nav#navPc ul li a:hover, nav#navPc ul li a.navActive{
	background-color: #004098;
	color: #fff;
}
nav#navPc ul li:last-child a{
	background-color: #004098;
	color: #fff;
	text-decoration: none;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
nav#navPc ul li:last-child a:hover{
	background-color: #df4382;
}
nav#navPc ul li:last-child a::after{
	font-family: "Font Awesome 5 Free";
	content: "\f35d";
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	font-weight: 600;
	margin-left: 10px;
}


li.megaMenu ul.subMenu {
    position: absolute;
    left: 5%;
	width: 90%;
    box-sizing: border-box;
    padding: 24px 2% 0;
	background: rgb(20,121,190);
	background: -moz-linear-gradient(-45deg, rgba(20,121,190,.8) 0%, rgba(48,171,148,.8) 100%);
	background: -webkit-linear-gradient(-45deg, rgba(20,121,190,.8) 0%,rgba(48,171,148,.8) 100%);
	background: linear-gradient(135deg, rgba(20,121,190,.8) 0%,rgba(48,171,148,.8) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1479be', endColorstr='#30ab94',GradientType=1 );
	display: none;
	top: 76px;
	z-index: 100;
}
li.megaMenu ul.subMenu > li {
    float: left;
    border: none;
	padding-bottom: 24px;
}
li.megaMenu ul.col3 > li {width: 32%;}
li.megaMenu ul.col2 > li {width: 49%;}
li.megaMenu ul.subMenu li a {display: block; margin: 0 2%; -webkit-transition: all .4s ease; transition: all .4s ease;}
li.megaMenu ul.lstParson li a {display: inline; margin: 0;}
li.megaMenu ul.lstParson li {line-height: 1.5;}
li.megaMenu ul.lstParson li a:hover {background-color: transparent; text-decoration: underline;}
li.megaMenu ul.subMenu li a img {float: left; margin-right: 8px;}
nav#navPc ul li ul.subMenu li a{padding: 10px 0; color: #fff;}
nav#navPc ul li ul.subMenu li a::before{
	font-family: "Font Awesome 5 Free";
	content: "\f152";
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	font-weight: 600;
	margin-right: 8px;
	margin-left: 8px;
}
nav#navPc ul li ul.lstParson li a::before{margin-right: 0; content: ""; margin: 0;}
nav#navPc ul li ul.lstParson li a span{font-size: .8rem;}
nav#navPc ul li ul.subMenu li:last-child a{background-color: transparent;}
nav#navPc ul li ul.subMenu li a:hover {background-color: rgba(0,64,152,.8);}
nav#navPc ul li ul.lstParson li a:hover {background-color: transparent; text-decoration: underline;}
nav#navPc ul li ul.subMenu li:last-child a::after, nav#navPc ul li ul.lstParson li:last-child a::after{content: ""; margin-left: 0;}
/* /navPc */

/* navSp */
#navDrawer {position: relative; text-align: center; display: block;}
nav#navSp ul{border-bottom: 1px solid rgba(121,168,129,.8); text-align: left;}
nav#navSp ul li{display: inline; line-height: 1.4;}
nav#navSp ul li span{display: block; font-weight: normal; margin-left: 21px;}
nav#navSp ul li a, #header nav#navSp h3{font-weight: 300; text-decoration: none; color: #fff; padding-bottom: 8px; display: block; border-bottom: 1px solid rgba(0,64,152,.8); border-top: 1px solid rgba(121,168,129,.8); transition: .8s ease-in-out; padding: 20px;}
nav#navSp ul li a:hover{background-color: rgba(0,64,152,.8);}
nav#navSp ul li a::before{
    font-family: "Font Awesome 5 Free";
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    padding-right: 8px;
    font-weight: 600;
	min-width: 20px;
}
nav#navSp ul li a::after{
    font-family: "Font Awesome 5 Free";
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
	font-weight: 600;
	float: right;
}
nav#navSp ul li:nth-child(1) a::before{content: "\f015";}
nav#navSp ul li:nth-child(2) a::before{content: "\f1ad";}
nav#navSp ul li:nth-child(3) a::before{content: "\f0c0";}
nav#navSp ul li:nth-child(4) a::before{content: "\f469";}
nav#navSp ul li:nth-child(5) a::before{content: "\f303";}
nav#navSp ul li:nth-child(6) a::before{content: "\f0ae";}
nav#navSp ul li:nth-child(7) a::before{content: "\f52b";}
nav#navSp ul li:nth-child(8) a::before{content: "\f057";}

nav#navSp ul li ul.subMenu{}
nav#navSp ul li ul.subMenu li{line-height: 1.7;}
nav#navSp ul li ul.subMenu li a{padding-left: 32px; background-color: rgba(50,162,221,.6)}
nav#navSp ul li:nth-child(2) a::after, nav#navSp ul li:nth-child(3) a::after, nav#navSp ul li:nth-child(6) a::after{content: "\f0fe";}
nav#navSp ul li:nth-child(2) a.active::after, nav#navSp ul li:nth-child(3) a.active::after, nav#navSp ul li:nth-child(6) a.active::after{content: "\f146";}
nav#navSp ul li ul.subMenu li a::before{content: "\f152"; min-width: 0;}
nav#navSp ul li ul.subMenu li a::after{content: "";}
nav#navSp ul li ul.subMenu li a span{font-size: .8rem;}

/*チェックボックス等は非表示に*/
.navUnshown {
    display:none;
}

/*アイコンのスペース*/
#navOpen {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#navOpen span, #navOpen span:before, #navOpen span:after {
    position: absolute;
    height: 3px;/*線の太さ*/
    width: 28px;/*長さ*/
    border-radius: 3px;
    background: #555;
    display: block;
    content: '';
    cursor: pointer;
    transition: .5s ease-in-out;
}
#navOpen span:before {
    bottom: -8px;
    background: #555;
}
#navOpen span:after {
    bottom: -16px;
    background: #555;
}

#navInput:checked + #navOpen span {
    /*background: transparent;*/
    -webkit-transform: rotate(-45deg) translateY(7px) translateX(-6px);
    -ms-transform: rotate(-45deg) translateY(7px) translateX(-6px);
    transform: rotate(-45deg) translateY(7px) translateX(-6px);
}
#navInput:checked + #navOpen span:before {
    background: transparent;
}
#navInput:checked + #navOpen span:after{
    -webkit-transform: rotate(90deg) translateY(1px) translateX(-15px);
    -ms-transform: rotate(90deg) translateY(1px) translateX(-15px);
    transform: rotate(90deg) translateY(1px) translateX(-15px);
}
/* /navSp */

/*閉じる用の薄黒カバー*/
#navClose {
    display: none;/*はじめは隠しておく*/
    position: fixed;
    z-index: 99;
    top: 0;/*全体に広がるように*/
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
}

/*中身*/
#navContent {
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;/*最前面に*/
    width: 90%;/*右側に隙間を作る*/
    max-width: 320px;/*最大幅*/
    height: 100%;	
	background: rgb(20,121,190);
	background: -moz-linear-gradient(-45deg, rgba(20,121,190,.8) 0%, rgba(48,171,148,.8) 100%);
	background: -webkit-linear-gradient(-45deg, rgba(20,121,190,.8) 0%,rgba(48,171,148,.8) 100%);
	background: linear-gradient(135deg, rgba(20,121,190,.8) 0%,rgba(48,171,148,.8) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1479be', endColorstr='#30ab94',GradientType=1 );
	
    transition: .3s ease-in-out;/*滑らかに表示*/
    -webkit-transform: translateX(-105%);
    transform: translateX(-105%);/*左に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
#navInput:checked ~ #navClose {
    display: block;/*カバーを表示*/
    opacity: .5;
}

#navInput:checked ~ #navContent {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);/*中身を表示*/
    box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

/* #container */
#container{}
/* /#container */

/* footer */
#footer{
	clear: both;
	background: rgb(20,121,190);
	background: -moz-linear-gradient(-45deg, rgba(20,121,190,.8) 0%, rgba(48,171,148,.8) 100%);
	background: -webkit-linear-gradient(-45deg, rgba(20,121,190,.8) 0%,rgba(48,171,148,.8) 100%);
	background: linear-gradient(135deg, rgba(20,121,190,.8) 0%,rgba(48,171,148,.8) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1479be', endColorstr='#30ab94',GradientType=1 );
	font-size: 1rem;
	color: #fff;
}
#footer .row{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding-top: 38px;
	padding-bottom: 38px;
}
#footer span{display: block; text-align: center; margin-top: 28px;}
#footer small{font-size: 10px;}
/* /footer */


/* topbtn */
#top_btn {position: fixed; right: 1rem; bottom: 60px; z-index: 99; font-size: 2.5rem;}
#top_btn a {color: #004098; text-decoration: none;}
/* /topbtn */

/* btn */
a.btnBlock, a.btnLinkOut{
	background-color: #004098;
	color: #fff;
	padding: 1rem;
	text-decoration: none;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
    display: inline-block;
    margin-bottom: 32px;
}
a.btnBlock:hover, a.btnLinkOut:hover{
	background-color: #df4382;
}
a.btnBlock::after{
	font-family: "Font Awesome 5 Free";
	content: "\f054";
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	font-weight: 600;
	margin-left: 10px;
}
a.btnLinkOut::after{
	font-family: "Font Awesome 5 Free";
	content: "\f35d";
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	font-weight: 600;
	margin-left: 10px;
}
/* btn */

/* heading */
.pageTitle, body#home h2{
	position: relative;
	display: block;
	padding: 0 55px;
	text-align: center;
	font-size: 20px;
	margin-bottom: 20px;
}
.pageTitle:before, .pageTitle:after, body#home h2:before, body#home h2:after{
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	height: 1px;
	background-color: black;
	width: 24%;
}
.pageTitle:before, body#home h2:before {left:0;}
.pageTitle:after, body#home h2:after {right: 0;}
#container h2{border-bottom: #004098 solid 3px; padding-bottom: 4px; margin-bottom: 18px; font-size: 20px; font-weight: 600;}
#container h3{
	background: linear-gradient(transparent 70%, #e0f1ef 70%);
	margin-bottom: 16px; font-size: 18px;
	display: table;
}
/* heading */

.row p{padding-bottom: 1em;}
.spOnly{display: none;}

@media only screen and (-webkit-min-device-pixel-ratio: 2) { 
}

/*==================
 ▼ブレイクポイントのルール▼
 -スマホを基本設計にする-
 *〜479px：SP縦
 *480px〜：SP横
 *600px〜タブレット
 *960px〜小型PC
 *1280px〜大型PC
==================*/

@media screen and (max-width:320px) { 
    /*　画面サイズが320pxまではここを読み込む　*/
	img#hdrLogo{padding-top: 9px;}
 }
@media screen and (max-width:480px) { 
    /*　画面サイズが480pxまではここを読み込む　*/
    body {font-size: 14px;}
    .container{max-width: 90vw;}
	.spOnly{display: block;}
	#imgPersons .pageTitle{font-size: 15px;}
	#header{height: 48px;}
	#breadcrumb{padding-top: 64px;}
	.alignright, .alignleft, .aligncenter, .alignright img, .alignleft img, .aligncenter img{float: none; margin-left: auto; margin-right: auto; display: block; text-align: center;}
	#container table th, #container table td {display: block;}
	#lstSchedule table th, #lstSchedule table td {display: table-cell;}
	#container h2{font-size: 16px;}
}
@media screen and (min-width:480px) and ( max-width:600px) { 
/*　画面サイズが480pxからはここを読み込む　*/
    body {font-size: 16px;}
	.pageTitle, body#home h2{font-size: 24px; margin-bottom: 32px;}
	#breadcrumb{padding-top: 113px;}
	.alignright, .alignleft, .aligncenter, .alignright img, .alignleft img, .aligncenter img{float: none; margin-left: auto; margin-right: auto; display: block; text-align: center;}
}
@media screen and (min-width:600px) and ( max-width:960px) {
/*　画面サイズが600pxから960pxまではここを読み込む　*/
	.alignright, .alignleft, .aligncenter{float: none; margin-left: auto; margin-right: auto; display: block;}
	#header{height: 88px;}
	#breadcrumb{padding-top: 104px;}
	.alignright, .alignleft, .aligncenter, .alignright img, .alignleft img, .aligncenter img{float: none; margin-left: auto; margin-right: auto; display: block; text-align: center;}
	.pageTitle, body#home h2 {font-size: 33px; margin-bottom: 32px;}
}
@media screen and (min-width:960px) and ( max-width:1140px) {
/*　画面サイズが960pxから1280pxまではここを読み込む　*/
	#header nav#navPc{display: block;}
	#header div#navDrawer{display: none;}
	#header{padding-top: 8px; padding-bottom: 4px;}
	nav#navPc ul li a {font-size: 14px;}
	#breadcrumb{padding-top: 96px;}
	.pageTitle, body#home h2 {font-size: 33px; margin-bottom: 32px;}
}
@media screen and (min-width:1140px) {
/*　画面サイズが1280pxからはここを読み込む　*/
	#header nav#navPc{display: block;}
	#header div#navDrawer{display: none;}
	li.megaMenu ul.subMenu {left: 10%; width: 80%; top: 72px;}
	#breadcrumb{padding-top: 113px;}
	.pageTitle, body#home h2 {font-size: 33px; margin-bottom: 32px;}
}

.col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-offset-0, .col-md-offset-1, .col-md-offset-10, .col-md-offset-11, .col-md-offset-12, .col-md-offset-2, .col-md-offset-3, .col-md-offset-4, .col-md-offset-5, .col-md-offset-6, .col-md-offset-7, .col-md-offset-8, .col-md-offset-9, .col-xs, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-offset-0, .col-xs-offset-1, .col-xs-offset-10, .col-xs-offset-11, .col-xs-offset-12, .col-xs-offset-2, .col-xs-offset-3, .col-xs-offset-4, .col-xs-offset-5, .col-xs-offset-6, .col-xs-offset-7, .col-xs-offset-8, .col-xs-offset-9,.col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-offset-0, .col-sm-offset-1, .col-sm-offset-10, .col-sm-offset-11, .col-sm-offset-12, .col-sm-offset-2, .col-sm-offset-3, .col-sm-offset-4, .col-sm-offset-5, .col-sm-offset-6, .col-sm-offset-7, .col-sm-offset-8, .col-sm-offset-9{
    padding-right: 1rem;
    padding-left: 1rem;
}

