/* CSS Document */

body {
 background: #fff;
 color: #333;
	font-family: 'M PLUS Rounded 1c', sans-serif;
 font-weight: 400;
 font-style: normal;
	font-size: 16px;
 font-size: 100%;
 line-height: 1.875;
 margin: 0 0;
	position: relative;
	height: auto;
	display: block;
	overflow-x: hidden;
}

body.fixed {
 width: 100%;
 height: 100%;
	overflow: hidden;
} 

*, *: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;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-box-shadow: none;
            box-shadow: none;   
            outline: none;
}

a {
 color: #1C4B82;
	text-decoration: underline;
}

a:hover {
 color: #1C4B82;
 text-decoration: none;
}

a img { outline:none;}
h1,h2,h3,h4 {
	color: #333;
	font-weight: 400;
}
#pagetop {}
nav { background: none;}

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

dl, dt, dd {
	margin: 0;
	padding: 0;
}
.margin-bottom { margin-bottom: 0.65rem;}
.margin-top { margin-top: 0.65rem;}

img {
 border: 0;
 display: block;
 height: auto;
 width: auto;
	max-width: 100%;
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

h1, h2, h3, h4, h5, h6 {
 margin: 0 0;
}

p {
	margin-top: 0;
}

article p {
	margin-bottom: 20px;
}

article p.center {
	text-align: center;
}

table {
 border-collapse: collapse;
 border-spacing: 0;
	width: 100%;
}

/* warp */

.bg-left {
	width: 18.91vw;
	max-width: 280px;
	background: url("../img/bg-head-left.png") center center no-repeat;
	background-size: cover;
	position: absolute;
	left: -90px;
	top: -98px;
	z-index: 1;
}

.bg-right {
	width: 19.53vw;
	max-width: 375px;
	background: url("../img/bg-head-right.png") center center no-repeat;
	background-size: cover;
	position: absolute;
	right: -90px;
	top: -98px;
	z-index: 1;
}


/* header */

header#pc h1 {
	width: 270px;
	height: 81px;
}

/* gnav */

header#pc .gnav {
	position: relative;
 z-index: 2;
}

header#pc .gnav ul {
	display: flex;
 align-items: center;
 justify-content: center;
	padding-top: 30px;
	margin-bottom: 20px;
	margin-left: auto;
	margin-right: auto;
}

header#pc .gnav ul li {
	width: 220px;
	height: 110px;
	border-left: #999 dotted 1px;
}

header#pc .gnav ul li:first-child {
	border-left: none;
}

header#pc .gnav ul li.top {
	width: 400px;
}

header#pc .gnav ul li a {
	display: flex;
 justify-content: center;
 align-items: center;
 flex-direction: column;
	width: 100%;
	height: 100%;
	text-decoration: none;
	font-size: 24px;
	font-weight: 700;
	color: #333;
	line-height: 1.4;
	transition: 0.3s;
}

header#pc .gnav ul li a:hover {
	color: #009463;
	transition: 0.3s;
}

header#pc .gnav-1 a:before {
	content: '';
	display: block;
	width: 112px;
	height: 79px;
	background: url("../img/icon-institution.png") center center no-repeat;
	background-size: cover;
}

header#pc .gnav-2 a:before {
	content: '';
	display: block;
	width: 112px;
	height: 79px;
	background: url("../img/icon-life.png") center center no-repeat;
	background-size: cover;
}

header#pc .gnav-3 a:before {
	content: '';
	display: block;
	width: 112px;
	height: 79px;
	background: url("../img/icon-info.png") center center no-repeat;
	background-size: cover;
}

header#pc .gnav-4 a:before {
	content: '';
	display: block;
	width: 112px;
	height: 79px;
	background: url("../img/icon-contact.png") center center no-repeat;
	background-size: cover;
}

/* footer */

footer {
	width: 100%;
	padding-top: 130px;
	background: #e6efd0 url("../img/bg-footer.png") top left repeat-x;
	background-size: contain;
	position: relative;
}

footer:before {
	content: '';
	background: url("../img/bg-footer-inner.png") center left no-repeat;
	background-size: contain;
	display: block;
	width: 100%;
	height: 33.65vw;
	/* width: 1920px;
	height: 646px; */
	position: absolute;
 left: 50%;
 transform: translateX(-50%);
 -webkit-transform: translateX(-50%);
 -ms-transform: translateX(-50%);
	top: -60px;
}

.footer-inner {
 display: flex;
 align-items: center;
 justify-content: center;
}

.footer-cont {
	display: flex;
 justify-content: center;
}

.footer-cont dl {}

.footer-cont dl dt {
	display: flex;
	justify-content: center;
}

.footer-cont dl dd {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.footer-cont dl dd p {
	margin-bottom: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	color: #4d4d4d;
}

.footer-cont dl dd div {
	display: flex;
	justify-content: center;
	margin-top: 15px;
	transform:rotate(0.03deg);
}

.link-contact {}
.link-contact a {
	width: 372px;
	border: #009463 solid 3px;
	border-radius: 999px;
	background: #fff;
	font-size: 21px;
	color: #009463;
	text-decoration: none;
	line-height: 54px;
	text-align: center;
	transition: 0.3s;
}

.link-contact a:hover {
	opacity: 0.75;
	transition: 0.3s;
}

.link-contact a span {
	display: inline-block;
	padding-right: 48px;
	position: relative;
}

.link-contact a span:after {
	content: '';
	background: url("../img/arrow-green.png") center center no-repeat;
	background-size: cover;
	width: 24px;
	height: 20px;
	position: absolute;
	right: 0;
	top: 16px;
}

.link-tel {}
.link-tel a {
	padding-left: 36px;
	text-decoration: none;
	font-size: 40px;
	font-weight: 700;
	color: #4D4D4D;
	position: relative;
	pointer-events: none;
}

.link-tel a:before {
	content: '';
	margin-right: 10px;
	background: url("../img/icon-tel.png") center center no-repeat;
	background-size: cover;
	width: 28px;
	height: 35px;
	position: absolute;
	left: 0;
	top: 20px;
}

.link-googlemap a {
	display: block;
	border: #000 solid 2px;
	border-radius: 999px;
	width: 192px;
	background: #fff;
	text-decoration: none;
	text-align: center;
	font-size: 18px;
	color: #4d4d4d;
	line-height: 36px;
	transition: 0.3s;
}

.link-googlemap a:hover {
	opacity: 0.75;
	transition: 0.3s;
}

.link-googlemap a span {
	position: relative;
	padding-right: 30px;
}

.link-googlemap a span:after {
	display: block;
	content: '';
	background: url("../img/arrow-black.png") center center no-repeat;
	background-size: cover;
	margin-left: 15px;
	width: 17px;
	height: 14px;
	position: absolute;
	top: 6px;
	right: 0;
}

.copyright {
	background: #009463;
	margin-top: 50px;
}

.copyright p {
	margin-bottom: 0;
	color: #fff;
	font-size: 14px;
	text-align: center;
	line-height: 40px;
}

.footer-link {
	margin-top: 50px;
	transform:rotate(0.03deg);
}

.footer-link ul {
	display: flex;
	justify-content: center;
}

.footer-link ul li {
	margin: 0 18px;
}

.footer-link ul li a {
	padding-right: 45px;
	text-decoration: none;
	font-weight: 600;
	font-size: 20px;
	color: #333;
	position: relative;
}

.footer-link ul li a:after {
	content: '';
	background: url("../img/icon-link-footer.png") center center no-repeat;
	background-size: cover;
	width: 23px;
	height: 23px;
	display: block;
	position: absolute;
	top: 2px;
	right: 0;
}

.footer-link ul li a:hover {
	text-decoration: underline;
}

header#sp {
	display: none;
	padding: 0 15px;
	height: 76px;
	background: #fff;
}

header#sp .header-inner {
	display: flex;
 align-items: center;
	height: 76px;
	justify-content: space-between;
}

header#sp .header-inner h1 {
	width: 156px;
}

.sp-menu {
	margin-right: 8px;
	font-size: 10px;
	cursor: pointer;
}

.sp-menu:before {
	content: url("../img/sp-menu.png");
}

.sp-menu span {
	display: block;
	text-align: center;
	line-height: 1.0;
}

.sp-gnav {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	background: #fff;
	z-index: 2;
	width: 230px;
	box-shadow: 5px 3px 5px 3px rgba(0, 0, 0, .50);
}

.sp-close {
 display: flex;
 height: 40px;
 line-height: 40px;
 background: #fff;
 justify-content: flex-end;
 align-items: center;
	padding-right: 13px;
}

.sp-close img {
	cursor: pointer;
}

.sp-gnav ul li {
	background: #FFEEBE;
	line-height: 40px;
}

.sp-gnav ul li:nth-child(odd) {
	background: #E6FAFF;
}

.sp-gnav ul li a {
	display: block;
	padding: 0 16px;
	font-size: 13px;
	font-family: 'Noto Sans JP', sans-serif;
	color: #4d4d4d;
	text-decoration: none;
}

/* コンテンツタイトル */

.title-warp {
	height: 450px;
	position: relative;
}

.title-warp:before {
 display: block;
 content: '';
	background: url("../img/bg-header.png") top center no-repeat;
	background-size: cover;
	width: 100%;
	height: 3.23vw;
 position: absolute;
 top: -1px;
 left: -4px;
}

.title-inner h1 {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 430px;
	height: 85px;
	background: rgba(57,181,74,0.8);
	border-radius: 999px;
	color: #fff;
	font-size: 32px;
	font-weight: 700;
}

.title-inner h1 span {
	display: block;
}

.title-inner h1 span.en {
	font-size: 14px;
	font-weight: 400;
	transform:rotate(0.03deg);
}

main section {}
main section h2 {
	margin-top: 60px;
	margin-bottom: 40px;
	text-align: center;
	font-size: 43px;
	font-weight: bold;
	color: #009463;
}

main section h2.black {
	color: #4d4d4d;
	transform:rotate(0.03deg);
}

main section h2 span {
	display: block;
}

main section h2 span.en {
	font-size: 17px;
	transform:rotate(0.03deg);
}

.border-none {
	border: none!important;
}

/* archive */

.archive-title-warp {
	margin-top: 190px;
}

.archive-title h1 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 45px;
	font-weight: 700;
	color: #009463;
}

.archive-title h1 .en {
	font-weight: 400;
	font-size: 17px;
}

.archive-list-warp {
	margin-top: 140px;
	margin-bottom: 0;
}

.archive .pager-warp {
	margin-bottom: 90px;
}

.archive .home-news-box dl {
	margin-bottom: 125px;
}

/* pager */

.pager-inner {
	display: flex;
	justify-content: center;
	align-items: center;
}

.pre-page-list,
.next-page-list {
	display: flex;
}

.pager-list {
	display: flex;
}

.pager-list li {
	margin: 0 10px;
}

.pager-list li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 53px;
 height: 53px;
	font-size: 21px;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	transition: 0.3s;
}

.pager-list li a:hover {
	opacity: 0.75;
	transition: 0.3s;
}

.pager-list li:nth-child(1) a {
	background: url("../img/bg-pager-1.png") center center no-repeat;
}
.pager-list li:nth-child(2) a {
	background: url("../img/bg-pager-2.png") center center no-repeat;
}
.pager-list li:nth-child(3) a {
	background: url("../img/bg-pager-3.png") center center no-repeat;
}
.pager-list li:nth-child(4) a {
	background: url("../img/bg-pager-4.png") center center no-repeat;
}
.pager-list li:nth-child(5) a {
	background: url("../img/bg-pager-5.png") center center no-repeat;
}
.pager-list li:nth-child(6) a {
	background: url("../img/bg-pager-1.png") center center no-repeat;
}
.pager-list li:nth-child(7) a {
	background: url("../img/bg-pager-2.png") center center no-repeat;
}
.pager-list li:nth-child(8) a {
	background: url("../img/bg-pager-3.png") center center no-repeat;
}
.pager-list li:nth-child(9) a {
	background: url("../img/bg-pager-4.png") center center no-repeat;
}
.pager-list li:nth-child(10) a {
	background: url("../img/bg-pager-5.png") center center no-repeat;
}

.pre-page-list li,
.next-page-list li {
	margin: 0 10px;
}

.pre-page-list li a,
.next-page-list li a {
	transition: 0.3s;
}

.pre-page-list li a:hover,
.next-page-list li a:hover {
	opacity: 0.75;
	transition: 0.3s;
}


/* page */

.sp-title {
	display: none;
}

@media screen and (max-width: 1699px) {
	header#pc .gnav ul {
		width: 1100px;
	}
}

@media screen and (max-width: 1279px) {
	header#pc {
		display: none;
	}
	header#sp {
		display: block;
	}
	.bg-left,
	.bg-right {
		display: none;
	}
	.title-warp::before,
	.title-warp::after {
		display: none!important;
	}
}

@media screen and (max-width: 1199px) {
 .footer-inner {
		height: auto;
	}
	.footer-link ul {
		flex-wrap: wrap;
	}
	.footer-link ul li {
		width: 50%;
		margin: 0 0;
	}
}

@media screen and (max-width: 991px) {}

@media screen and (max-width: 767px) {
	footer {
		background: none;
		padding-top: 10px;
	}
	footer::before {
		content: '';
		display: none;
	}
	.copyright {
		margin-top: 0;
	}
	.footer-inner {
		padding-top: 125px;
		padding-bottom: 20px;
		background: url("../img/bg-sp-footer.png") top center no-repeat;
		background-size: cover;
		margin-top: 30px;
	}
	.footer-cont dl dd p {
		font-size: 10px;
	}
	.footer-cont dl dt img {
		width: 158px;
		height: auto;
	}
	.link-contact a {
		width: 218px;
		font-size: 12px;
		line-height: 35px;
	}
	.link-contact a span {
		padding-right: 24px;
	}
	.link-contact a span:after {
  content: '';
	 background: url("../img/arrow-green.png") center center no-repeat;
	 background-size: cover;
	 width: 14px;
	 height: 12px;
	 position: absolute;
	 right: 0;
	 top: 11px;
 }
	.link-tel a {
  padding-left: 22px;
  font-size: 25px;
		pointer-events: auto!important;
 }
	.link-tel a:before {
	 content: '';
	 margin-right: 10px;
	 background: url("../img/icon-tel.png") center center no-repeat;
	 background-size: cover;
	 width: 18px;
	 height: 21px;
	 position: absolute;
	 left: 0;
	 top: 13px;
 }
	.link-googlemap a {
		width: 113px;
		line-height: 23px;
		font-size: 11px;
	}
	.link-googlemap a span {
  padding-right: 20px;
 }
	.link-googlemap a span::after {
		width: 10px;
		height: 8px;
		top: 4px;
	}
	.footer-link {
		margin-top: 5px;
	}
	.footer-link ul li a {
		padding-right: 25px;
		font-size: 12px;
	}
	.footer-link ul li a::after {
		content: '';
		background: url("../img/icon-link-footer.png") center center no-repeat;
		background-size: cover;
		width: 13px;
		height: 13px;
		display: block;
		position: absolute;
		top: 2px;
		right: 0;
	}
	.copyright p {
		line-height: 24px;
		font-size: 8px;
	}
	.title-warp {
		height: 178px;
	}
	.title-inner h1 {
		height: 75px;
		font-size: 26px;
	}
	.title-inner h1 span.en {
		font-size: 12px;
	}
	main section h2 {
		margin-top: 30px;
		margin-bottom: 20px;
		font-size: 25px;
	}
	main section h2 span.en {
		font-size: 12px;
	}
	.archive-title-warp {
		margin-top: 30px;
	}
	.archive-title h1 {
		font-size: 25px;
	}
	.archive-title h1 .en {
		font-size: 12px;
	}
	.archive-list-warp {
		margin-top: 100px;
	}
	.archive .home-news-box dl {
		margin-bottom: 95px;
	}
	.archive .pager-warp {
		margin-bottom: 45px;
	}
	.sp-title {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		position: relative;
	}
	.sp-title span {
		display: inline-block;
		position: relative;
	}
	.pager-list li {
		margin: 0 1px;
	}
	.pager-list li a {
		font-size: 16px;
	}
	.pre-page-list li,
	.next-page-list li {
  margin: 0 3px;
 }
}
