@charset "utf-8";
/* ===================================================================
 style info : ヘッダーやフッターなどサイト内共通
=================================================================== */

/* -----------------------------------------------------------
    header
----------------------------------------------------------- */
header .inner {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	padding: 40px 0;
}

header .inner #utility {
	margin-left: auto;
}

header .inner #utility > div:nth-child(1) {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

header .inner #utility > div:nth-child(1) dl {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

header .inner #utility > div:nth-child(1) dl dt {
	font-size: 14px;
	font-size: 1.4rem;
}

header .inner #utility > div:nth-child(1) dl dt:before {
	content: "［";
	margin: 0 0 0 -0.5em;
}

header .inner #utility > div:nth-child(1) dl dt:after {
	content: "］";
}

header .inner #utility > div:nth-child(1) dl dd {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.2;
}

header .inner #utility > div:nth-child(1) ul {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	margin: 0 0 0 20px;
}

header .inner #utility > div:nth-child(1) ul li {
	xtext-align: center;
	margin: 0 0 0 15px;
}

header .inner #utility > div:nth-child(1) ul li:nth-child(1) {
	margin: 0;
	min-width: 170px;
}

header .inner #utility > div:nth-child(1) ul li:nth-child(2) {
	min-width: 130px;
}

header .inner #utility > div:nth-child(1) ul li a {
	padding: 0.5em;
}

header .inner #utility > div:nth-child(1) ul li a:before {
	font-family: FontAwesome;
	margin: 0 0.5em 0 0;
}

header .inner #utility > div:nth-child(1) ul li:nth-child(1) a:before {
	content: "\f0e0";
}

header .inner #utility > div:nth-child(1) ul li:nth-child(2) a:before {
	content: "\f044";
}

header .inner #utility > div:nth-child(2) {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	margin: 1em 0 0;
}

header .inner #utility > div:nth-child(2) dl {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

header .inner #utility > div:nth-child(2) dl dt {
	background: #328cc1;
	color: #ffffff;
	padding: 0.3em 1em;
}

header .inner #utility > div:nth-child(2) dl dd {
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.2;
	margin: 0 0 0 10px;
}

/* -----------------------------------------------------------
    #gNav
----------------------------------------------------------- */
#gNav {
	position: relative;
	z-index: 0;
}

#gNav:before {
	content: "";
	background: #dddddd;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#gNav > ul {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	width: 980px;
    margin: 0 auto;
}

#gNav > ul li {
	flex: 1;
	-webkit-flex: 1;
	text-align: center;
}

#gNav > ul li a {
	display: block;
	border-right: 1px solid #dddddd;
	padding: 1.5em 0.5em;
}

#gNav > ul li:first-child a {
	border-left: 1px solid #dddddd;
}

#gNav > ul li a.current {
	border-right: 1px solid #0b3c5d;
	background: #0b3c5d;
}

#gNav > ul li:first-child a.current {
	border-left: 1px solid #0b3c5d;
}

#gNav > ul li a.current span {
	color: #ffffff;
}

#gNav > ul li a:hover {
	opacity: 1;
	background: #17547d;
	border-right: 1px solid #17547d;
}

#gNav > ul li a.current:hover {
	background: #17547d;
}

#gNav > ul li:first-child a.current:hover {
	border-left: 1px solid #17547d;
}

#gNav > ul li a:hover span {
	color: #ffffff;
}

#gNav > ul li span {
	display: block;
}

#gNav > ul li span:nth-child(1) {
	font-size: 15px;
	font-size: 1.5rem;
}

#gNav > ul li span:nth-child(2) {
	font-size: 10px;
	font-size: 1.0rem;
	color: #328cc1;
}

#gNav > div {
	display: none;
}

/* -----------------------------------------------------------
    #main
----------------------------------------------------------- */
#main {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	width: 100%;
}

#lower #main {
	background-image: url(../img/common/main_bg.jpg);
	height: 28vh;
}

#lower #main > h1 {
	font-size: 30px;
	font-size: 3.0rem;
	color: #ffffff;
	text-shadow: 0px 0px 10px #7abbde, 0px 0px 10px #7abbde, 0px 0px 10px #7abbde;
}

/* -----------------------------------------------------------
    #tabNav
----------------------------------------------------------- */
main > #tabNav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 0 100px 0;
}

main > #tabNav li a{
	font-size: 15px;
	letter-spacing: 3px;
	width: 230px;
	padding: 22px 0;
	background: #FFF;
	border: solid 1px #e6e6e6;
	display: block;
	text-align: center;
}

main > #tabNav li a:hover{
	color: #FFF;
	background: #0b3c5d;
	opacity: 1;
}

main > #tabNav li.active a{
	color: #FFF;
	background: #0b3c5d;
	opacity: 1;
}

/* -----------------------------------------------------------
    #philosophyBox
----------------------------------------------------------- */
#descriptionBox {
	overflow: hidden;
}

#descriptionBox > img {
	float: right;
	margin-left: 50px;
}

#descriptionBox h2 {
	text-align: left;
	font-size: 24px;
	font-weight: bold;
	color: #d9b310;
	margin-bottom: 24px;
}

#descriptionBox h3 {
	font-size: 15px;
	font-weight: bold;
	color: #383838;
	margin-bottom: 24px;
}

#descriptionBox > p {
	font-size: 13px;
	line-height: 24px;
}

/* -----------------------------------------------------------
    .underLine
----------------------------------------------------------- */
.underLine {
	text-align: left;
	background: url(../img/common/bg_underline.jpg) bottom no-repeat;
	padding-bottom: 20px;
}

.underLine h2:after {
	bottom: 0;
	border-bottom: solid 1px #0b3c5d;
	position: absolute;
    font-size: 24px;
    line-height: 24px;
    font-weight: bold;
}

/* -----------------------------------------------------------
    main section > h2
----------------------------------------------------------- */
main section > h2 {
	text-align: center;
	font-size: 24px;
	line-height: 24px;
	font-weight: bold;
	margin-bottom: 30px;
}

main section > h2 span {
	margin-top: 10px;
	display: block;
	font-size: 13px;
	font-weight: normal;
	padding: 0px 16px;
}

main section > h2 span:before, main section > h2 span:after{
	content: "―";
	margin: 0 10px;
}

/* -----------------------------------------------------------
    .explanatory
----------------------------------------------------------- */
.explanatory {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

.explanatory > div {
	flex: 1;
	-webkit-flex: 1;
}

.explanatory > div h2 {
}

.explanatory > div h3 {
}

.explanatory > div p {
}

.explanatory > figure {
	width: 350px;
	margin: 0 0 0 50px;
}

/* -----------------------------------------------------------
    .inner
----------------------------------------------------------- */
.inner {
    width: 980px;
    margin: 0 auto;
}

/* -----------------------------------------------------------
    #box
----------------------------------------------------------- */
#box {
	background: #f5f5f5;
	padding: 20px 0;
}

#box .inner {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

#lower #box .inner {
	align-items: center;
	-webkit-align-items: center;
}

#box .inner article {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}

#box .inner article h2 {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 1.2;
	background: #328cc1;
	color: #ffffff;
	min-width: 180px;
	text-align: center;
}

#box .inner article dl {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	background: #ffffff;
	padding: 1.5em;
	min-width: 620px;
}

#box .inner article dl dt {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bolder;
	color: #328cc1;
}

#box .inner article dl dd {
	margin: 0 0 0 1.5em;
}

#box .inner > nav ul {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
}

#box .inner > nav ul li a {
	text-decoration: underline;
}

#box .inner > nav ul li:after {
	font-family: FontAwesome;
	font-size: 15px;
	font-size: 1.5rem;
	content: "\f105";
	margin: 0 1em;
}

#box .inner > nav ul li:last-child:after {
	content: "";
}

#box .inner > p {
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bolder;
	text-align: center;
	background: #d9b310;
	min-width: 160px;
}

#box .inner > p a {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
	background: #d9b310;
	color: #ffffff;
	padding: 0.5em;
	height: 100%;
}

#box .inner > p a:before {
	font-family: FontAwesome;
	font-weight: normal;
	content: "\f15c";
	margin: 0 0.5em 0 0;
}

/* -----------------------------------------------------------
    .heading
----------------------------------------------------------- */
.heading01 {
	text-align: center;
}

.heading01 span {
	display: block;
}

.heading01 span:nth-child(1) {
	font-size: 24px;
	font-size: 2.4rem;
}

.heading01 span:nth-child(2) {
	font-weight: normal;
	display: inline-block;
	position: relative;
}

.heading01 span:nth-child(2):before,
.heading01 span:nth-child(2):after {
	content: "";
	background: #393939;
	width: 15px;
	height: 1px;
	position: absolute;
	top: 50%;
}

.heading01 span:nth-child(2):before {
	left: -2em;
}

.heading01 span:nth-child(2):after {
	right: -2em;
}

.heading03 {
	font-size: 24px;
	font-size: 2.4rem;
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
}

.heading03:after {
	content: "";
	background: #e6e6e6;
	height: 1px;
	display: inline;
	flex: 1;
	-webkit-flex: 1;
	margin: 0 0 0 1em;
}

/* -----------------------------------------------------------
    #wrapper
----------------------------------------------------------- */
#wrapper {
}

/* -----------------------------------------------------------
    main
----------------------------------------------------------- */
#lower main {
	width: 980px;
    margin: 95px auto 0;
	padding: 0 0 95px;
	border-bottom: 1px solid #e6e6e6;
}

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

/* -----------------------------------------------------------
    #contents
----------------------------------------------------------- */
#contents {
}

/* -----------------------------------------------------------
    section
----------------------------------------------------------- */
section {
}

/* -----------------------------------------------------------
    aside
----------------------------------------------------------- */
#subNav {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	width: 980px;
    margin: 100px auto;
}

#subNav article {
	width: 230px;
}

#subNav article img {
	opacity: 1;
}

#subNav article p {
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bolder;
	text-align: center;
	background: #0b3c5d;
	color: #ffffff;
	padding: 1em;
}

#bnrBox {
	width: 980px;
    margin: 0 auto;
	padding: 20px;
	background: #f5f5f5;
}

#bnrBox ul {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

/* -----------------------------------------------------------
   #pageTop
----------------------------------------------------------- */
#pageTop {
	text-align: center;
	margin: 20px 0;
}

#pageTop a {
	color: #0b3c5d;
}

#pageTop a i {
	font-size: 50px;
	font-size: 5.0rem;
}

/* -----------------------------------------------------------
    footer
----------------------------------------------------------- */
footer {
	border-top: 1px solid #e6e6e6;
}

footer > div .inner {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

footer > div:nth-child(1) {
	padding: 40px 0;
}

footer > div:nth-child(1) .inner address {
	font-style: normal;
	position: relative;
	padding: 0 0 0 80px;
}

footer > div:nth-child(1) .inner address:before {
	content: url(../img/common/logo_foot.jpg);
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

footer > div:nth-child(1) .inner address dl {
}

footer > div:nth-child(1) .inner address dl dt {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bolder;
}

footer > div:nth-child(1) .inner address dl dd {
	margin: 0.2em 0 0;
}

footer > div:nth-child(1) .inner > div {
	display: flex;
	display: -webkit-flex;
}

footer > div:nth-child(1) .inner > div #tel {
}

footer > div:nth-child(1) .inner > div #tel dl {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	margin: 5px 0 0;
}

footer > div:nth-child(1) .inner > div #tel dl:first-child {
	margin: 0;
}

footer > div:nth-child(1) .inner > div #tel dl dt {
	background: #328cc1;
	color: #ffffff;
	padding: 0.3em 1em;
}

footer > div:nth-child(1) .inner > div #tel dl dd {
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.2;
	margin: 0 0 0 10px;
}

footer > div:nth-child(1) .inner > div > p {
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bolder;
	xtext-align: center;
	min-width: 200px;
	margin: 0 0 0 15px;
}

footer > div:nth-child(1) .inner > div > p a {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
	xcolor: #ffffff;
	height: 100%;
}

footer > div:nth-child(1) .inner > div > p a:before {
	font-family: FontAwesome;
	font-weight: normal;
	content: "\f0e0";
	margin: 0 0.5em 0 0;
}

footer > div:nth-child(2) {
	font-size: 12px;
	font-size: 1.2rem;
	background: #f5f5f5;
	padding: 1.5em 0;
}

footer > div ul.sub-menu {
	padding-left: 1.5em;
}

div.menu-footerlink-container {
	width: 980px;
	margin: 0 auto;
}

#menu-footerlink {
	display: none;
}

div#footerMapWrap {
	width: 980px;
	margin: 0 auto;
	overflow: hidden;
	padding-top: 15px;
}

div#footerMap {
	float: left; width: 250px;
	background-color: #f5f5f5;
	padding-bottom: 32767px;
	margin-bottom: -32767px;
	border-radius: 10px 0;
}

div#footerMap2 {
	float: left;
	width: 250px;
	background-color: #f5f5f5;
	padding-bottom: 32767px;
	margin-bottom: -32767px;
	border-radius: 0 10px;
}

div#footerMap3 {
	float: left;
	padding-bottom: 32767px;
	margin-bottom: -32767px;
	margin-left: 20px;
}

#footerMap li::before, #footerMap2 li::before, #footerMap3 li::before {
	font-family: FontAwesome;
	font-weight: normal;
	content: "\f061";
	margin: 0 0.5em 0 0;
}

#footerMap a, #footerMap2 a, #footerMap3 a {
	text-decoration: underline;
}
	
#footerMap ul li ul li {
	text-indent: 1em;
}

#footerMap ul li ul li::before {
	font-family: FontAwesome;
	font-weight: normal;
	content: "\f0da";
	margin: 0 0.5em 0 0;
}

#footerMap > ul, #footerMap2 > ul {
	padding: 10px;
}

#footerMap3 a.btn::before {
    font-family: FontAwesome;
    font-weight: normal;
    content: "\f0e0";
    margin: 0 0.5em 0 0;
}

#footerMap3 a.btn {
	margin-top: 20px;
	padding: 10px;
}

#footerMap3 p {
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bolder;
	xtext-align: center;
	min-width: 200px;
	margin: 0 0 0 15px;
}

#footerMap3 .tel dl dt {
    background: #328cc1;
    color: #ffffff;
    padding: 0.3em 1em;
}

#footerMap3 .tel dl {
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    margin: 5px 0 0;
}

#footerMap3 .tel dl dd {
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.2;
    margin: 0 0 0 10px;
}

#footerMap3 address {
    font-style: normal;
    position: relative;
    padding: 0 0 0 80px;
    margin-bottom: 12px;
}

#footerMap3 address::before {
    content: url(../img/common/logo_foot.jpg);
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

#footerMap3 address dl dt {
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bolder;
}

#footerMap3 address dl dd {
    margin: 0.2em 0 0;
}

#footerMap3 address dl dd {
    margin: 0.2em 0 0;
}

#telnum {
	width: 250px;
	margin: 0 auto;
}

/* -----------------------------------------------------------
    .btn
----------------------------------------------------------- */
.btn {
	display: block;
	background: #0b3c5d;
	text-align: center;
	color: #ffffff !important;
}

.btn01 {
	min-width: 300px;
	padding: 1em;
}

/* -----------------------------------------------------------
    img:hover
----------------------------------------------------------- */
a img:hover {
	opacity: 0.7;
	-webkit-transition: all .3s;
	transition: all .3s;
}

/* -----------------------------------------------------------
ギャラリー
----------------------------------------------------------- */
.gallery {
    overflow: hidden;
}
.gallery-item {
    float: left;
    margin-top: 0;
    margin-bottom: 20px;
    margin-left: 0;
}
.gallery-icon {
    text-align: center;
}
.gallery-caption {
    color: #21759B;
    font-size: 0.8em;
    margin: 0;
    text-align: center;
}
.gallery-columns-1 .gallery-item {
    width: 100%;
    margin-right: 0;
}
.gallery-columns-2 .gallery-item {

    margin-right: 1%;
}
.gallery-columns-3 .gallery-item {

    margin-right: 1%;
}
.gallery-columns-4 .gallery-item {

    margin-right: 1%;
}