@charset "utf-8";
/* CSS Document */
/******▼reset▼******/
html, body, div, p, a, blockquote, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, td, th, form, input, fieldset, textarea {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
header, nav, article, aside, section, footer {
	display: block;
	margin: 0;
	padding: 0;
}
html, h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}
ul, ol, li {
	list-style: none;
}
img, fieldset, abbr {
	border: 0;
}
img {
	-ms-interpolation-mode: bicubic;
}
br {
	letter-spacing: normal;
}
a {
	color: #000000;
	text-decoration: none;
}
a:hover {
	color: #20a562;/*#90963b*/
	text-decoration: underline;
}
.bold {
	font-weight: bold;
}
table {
	border-collapse: separate;
	border-spacing: 0;
	font-size: 100%;
}
caption, th {
	text-align: left;
}
q:after, q:before {
	content:'';
}

input ,textarea, button {
	font-family: 'Open Sans', 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, sans-serif;
}
input[type="button"] ,input[type="text"] , input[type="password"] , input[type="reset"] , input[type="submit"] , textarea {
	-webkit-appearance: none;
}
/*-----▼clearfix▼-----*/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-block;
}
/* Hides from IE Mac */
* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}
.clear {
	clear: both;
}
/******▼html・body・wrapper▼******/
html, body {
	position: relative;
	width: 100%;
}
body {
	color: #353535;
	font-family: 'Open Sans', 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', sans-serif;
	font-size: 62.5%;
	font-weight: 400;
	line-height: 1;
	-webkit-text-size-adjust: none;
}
#wrapper {
	font-size: 1.700em;
	line-height: 2.0;
	position: relative;
}
/****▼　header　▼****/
header{
	width: 1010px;
	margin: 0 auto;
	background-color: #ffffff;
	padding: 0 35px;
	position: relative;
	z-index: 1000;
	border-bottom: 5px solid #55bd89;
}
#header-logo {
	position: absolute;
	top: 34px;
	left: 35px;
	width: 210px;
}
#header-logo a,
#header-logo img {
	display: block;
	width: 100%;
}
#global-menu {
	margin-left: 250px;
	font-size: 0;
}
#global-menu li{
	display: inline-block;
	width: 16.666666%;
	font-size: 17px;
	text-align: center;
}
#global-menu li a {
	display: block;
	padding: 45px 0 40px;
	text-align: center;
	transition: all .4s;
	border-bottom: 5px solid #FFFFFF;
}
#global-menu li a:hover,
#global-menu li.active a {
	border-bottom: 5px solid #55bd89;
	text-decoration: none;
    color: #20a562;
}
#sp-btn{
	display: none;
}
/****▼　contents　▼****/
.contents {
	width: 1080px;
	margin: 0 auto 50px;
	position: relative;
	clear: both;
	overflow: hidden;
}
.head-title{
	padding: 10px 0px 15px 20px;
	line-height: 1.4;
	font-size: 1.6em;
	font-weight: bold;
	margin-bottom: 50px;
	border-bottom: 1px solid #55bd89;
	position: relative;
}
.head-title:before{
	content: ' ';
	height: 95%;
	width: 5px;
	display: block;
	background-color: #55bd89;
	position: absolute;
	top: 0px;
	left: 0px;
}
.contents-head {
	font-size: 1.6em;
	line-height: 1.5;
	font-weight: bold;
	border-top: 2px solid #55bd89;
	border-bottom: 2px solid #55bd89;
	padding: 15px 10px;
	margin-bottom: 25px;
}
.contents-title {
	font-weight: bold;
	font-size: 1.2em;
	padding-bottom: 20px;
}
.contents-title span {
	border-bottom: 2px solid #55bd89;
}
/****▼　home-contents　▼****/
#home-contents {
	width: 100%;
	display: block;
	position: relative;
	bottom: 130px;
	margin-bottom: -80px;
	clear: both;
	overflow: hidden;
}
#slide-text {
	width: 100%;
	text-align: center;
	font-size: 2.8em;
	font-weight: bold;
	color: #ffffff;
	text-shadow: 1px 1px 15px #000000;
	position: absolute;
	top: 48%;
	z-index: 1;
	line-height: 1.4;
}
#home-contents img {
	min-width: 100%;
	display: block;
}
/****▼　home-page-img　▼****/
#home-page-img {
	font-size: 0;
}
#home-page-img li{
	display: inline-block;
	margin-left: 3%;
	width: 31.333333%;
}
#home-page-img li.first{
	margin-left: 0;
}
#home-page-img img{
	width: 100%;
	display: block;
}
#home-page-img li a {
	transition: all .4s;
}
#home-page-img li a:hover {
	opacity: 0.6;
}
/****▼　home-news　▼****/
#home-news {
	position: relative;
}
.head-title-btn {
	display: block;
	padding: 15px 45px 15px 15px;
	border: 1px solid #55bd89;
	border-radius: 6px;
	line-height: 1;
	position: absolute;
	top: 0;
	right: 0;
	transition: all .4s;
	background-color: #55bd89;
	border: 1px solid #55bd89;
	color: #ffffff;
}
.head-title-btn:after {
	content:'';
	height: 8px;
	width: 8px;
	display: block;
	border: 3px solid #ffffff;
	border-left-width:0;
	border-top-width:0;
	transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	-o-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	position:absolute;
	top: 18px;
	right: 18px;
}
.head-title-btn:hover {
	background-color: #ffffff;
	color: #55bd89;
}
.head-title-btn:hover:after {
	border-color: #55bd89;
}
/****▼　news-list　▼****/
#news-list {
	border-top: 2px dotted #a0a0a0;
}
#news-list li{
	padding: 30px 10px;
	border-bottom: 2px dotted #a0a0a0;
	position: relative;
}
#news-list li p {
	margin: 0 0 0 120px;
}
#news-list li p.date {
	margin: 0;
	position: absolute;
	top: 30px;
	left: 10px;
}
#news-list li p.new {
	padding-left: 80px;
	position: relative;
}
#news-list li p.new::before {
	content:'NEW';
	position: absolute;
	top: 0;
	left: 0px;
	padding: 0px 10px;
	background-color: #ea3636;
	color: #ffffff;
	font-weight: bold;
	border-radius: 4px;
}
#news-list li a {
	display: block;
}
#news-list li p.home-news-text a:hover{
	color: #55bd89;
}
/****▼　page-head　▼****/
#page-head {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 110px;
	overflow: hidden;
	background: url(../images/page-top-img01.jpg) no-repeat;
	background-size: cover;
	font-size: 2.4em;
	line-height: 1.4;
	font-weight: bold;
	color: #ffffff;
	text-shadow: 0 0 15px rgba(0,0,0,0.5);
	margin: 0 auto 50px;
	padding: 180px 0 0;
}
#page-head.type02 {
	background-image: url(../images/page-top-img02.jpg);
}
#page-head.type03 {
	background-image: url(../images/page-top-img03.jpg);
}
#page-head span {
	display: block;
	margin: 0 auto;
	width: 1060px;
	padding: 0 10px;
	text-align: right;
}
/****▼　pan-list　▼****/
#pan-list {
	width: 1080px;
	margin: 15px auto 200px;
	font-size: 0.9em;
	color: #ffffff;
	position: relative;
	z-index: 1;
	text-shadow: 0 0 10px rgba(0,0,0,0.3);
}
#pan-list a{
	color: #ffffff;
	text-decoration: underline;
}
/****▼　contents p　▼****/
.contents p {
	margin-bottom: 30px;
}
.contents p.space-mini {
	margin-bottom: 15px;
}
.contents p.right-text {
	text-align: right;
	font-size: 1.2em;
}
.contents p.center-text {
	text-align: center;
}
.contents p.bold {
	font-weight: bold;
}
/****▼　right-img　▼****/
.right-img {
	display: block;
	float: right;
	margin-left: 60px;
}
.right-img img {
	margin-bottom: 30px;
}
/****▼　half-list　▼****/
.half-list {
	overflow: hidden;
	margin: 0 0 30px;
}
.half-list li {
	float: left;
	width: 49%;
	margin: 0 0 24px 2%;
}
.half-list li:nth-child(2n+1) {
	margin-left: 0;
	clear: both;
}
.half-list.wide-list li {
	width: 35%;
}
.half-list.wide-list li.wide {
	width: 63%;
}
.max-img {
	width: 100%;
	display: block;
}
.googlemap{
	width: 100%;
	height: 332px;
	border: 0;
}
/****▼ img-list ▼****/
.image-list {
	display: flex;
	gap: 1rem;
}
.image-list li {
	width: calc((100% - 1rem)/3);
}
.image-list li img {
	width: 100%;
}
/****▼　table　▼****/
table{
	width: 100%;
	border-top: 1px solid #acacac;
	margin-bottom: 50px;
}
table tr{
	width: 100%;
}
table tr th{
	padding: 16px;
	background-color: #e0f3ea;
	border-bottom: 1px solid #acacac;
}
table tr td{
	padding: 16px;
	border-bottom: 1px solid #acacac;
}
.text-red{
	color: #d30000;
	padding-bottom: 10px;
}
.required {
	background-color: #E50012;
	color: #FFFFFF;
	margin-right:10px;
	padding: 3px 5px;
}
.any {
	background-color: #DDDDDD;
	color: #212121;
	margin-right:10px;
	padding: 3px 5px;
}
/****▼　number-list　▼****/
.number-list {
}
.number-list li {
	list-style-type: decimal;
	margin: 0 0 10px 22px;
}
.number-list li.space {
	margin-bottom: 30px;
}
.number-list li ul li {
	list-style-type: none;
	margin: 0 0 10px;
}
/****▼　contact　▼****/
.contact-text{
	display: block;
	text-align: center;
}
input {
	width: 100%;
	height: 20px;
}
.check {
	width: 13px;
	position: relative;
	top: 2px;
	right: 5px;
}
textarea{
	width: 100%;
}
.system-btn{
	padding: 15px 0;
	color: #ffffff;
	border-radius: 10px;
	font-size: 1.2em;
	background-color: #55bd89;
	border: 1px solid #55bd89;
	display: block;
	margin: 0 auto;
	width: 180px;
	text-align: center;
}
.system-btn:hover{
	background-color: #ffffff;
	color: #55bd89;
	text-decoration: none;
}
#submit{
	width: 200px;
	height: 60px;
	padding: 15px 0px;
	color: #ffffff;
	border-radius: 10px;
	font-size: 1.2em;
	background-color: #55bd89;
	border: 1px solid #55bd89;
}
#back{
	width: 200px;
	height: 60px;
	padding: 15px 0px;
	color: #ffffff;
	border-radius: 10px;
	font-size: 1.2em;
	background-color: #b8b9ab;
	border: 1px solid #b8b9ab;
}
#submit:hover{
	background-color: #ffffff;
	color: #55bd89;
	cursor: pointer;
}
#back:hover{
	background-color: #ffffff;
	color: #b8b9ab;
	cursor: pointer;
}
/****▼　sitemap　▼****/
.sitemap{
	margin-bottom: 30px;
}
.sitemap li {
	float: left;
	width: 28.33333333%;
	margin-bottom: 30px;
	position: relative;
}
.sitemap li.wide {
	width: 43.33333333%;
}
.sitemap li a {
	display: block;
	padding-left: 25px;
}
.sitemap li a:before{
	content: ' ';
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-right: 10px;
	background-color: #55bd89;
	position: absolute;
	top: 10px;
	left: 0;
	border-radius: 50%;
}
.sitemap li a:after{
	content:'';
	height: 4px;
	width: 4px;
	display: block;
	border: 1px solid #FFFFFF;
	border-left-width:0;
	border-top-width:0;
	transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	-o-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	position:absolute;
	top: 15px;
	left: 4px;
	z-index: 10;
}

/****▼　privacy　▼****/
.contact-btn{
	display: block;
	width: 220px;
	padding: 10px 15px;
	margin: 0 auto;
	border: 1px solid #55bd89;
	background-color: #55bd89;
	border-radius: 10px;
	color: #ffffff;
	text-align: center;
}
.contact-btn:hover {
	background-color: #ffffff;
	color: #55bd89;
}
.color-green{
	color: #55bd89;
	font-weight: bold;
	padding-right: 5px;
}
/****▼　footer　▼****/
footer {
	text-align: center;
}
#footer-contact {
	background-color: #5db78a;
	padding: 40px 0px;
	color: #ffffff;
}
#footer-contact-head {
	font-size: 1.15em;
}
#footer-logo {
	margin: 30px 0 10px;
}
footer p span {
	margin-right: 1em;
}
#footer-tel,
#footer-fax {
	font-size: 2.5em;
	padding: 20px 0px 15px;
	font-weight: bold;
	display: inline-block;
	margin: 0 15px;
}
#footer-tel img,
#footer-fax img {
	padding-right: 15px;
	position: relative;
	bottom: -15px;
}
#footer-menu {
	background-color: #e0f3ea;
	padding: 40px 0px;
	color: #000000;
}
#footer-menu-list {
	margin-bottom: 50px;
}
#footer-menu-list li,
#footer-menu-list2 li{
	display: inline-block;
	padding: 0px 30px;
}
#footer-menu-list li a:hover,
#footer-menu-list2 li a:hover {
	color: #55bd89;
}
#footer-menu-list2 li:nth-child(2){
	border-right: 1px solid #000000;
	border-left: 1px solid #000000;
}
#copy {
	background-color: #5b5b5b;
	padding: 40px 0px;
	color: #ffffff;
}
.print {
	display: none;
}
/* 20220411 */
.point-list {
	margin-bottom: 2em;
}
.point-list li {
	position: relative;
	padding-left: 1.2em;
}
.point-list.arrow li::before {
	content: "";
    height: 6px;
    width: 6px;
    display: block;
    border: 2px solid #55bd89;
    border-left-width: 0;
    border-top-width: 0;
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    left: 0;
	bottom: 0;
	margin: auto;
}
.pdf-icon {
	width: 24px;
	display: inline-block;
	vertical-align: text-bottom;
	margin-left: 0.5em;
}

/* 20250407 */
.link {
	color: #20a562;
	text-decoration: underline;
}
.link:hover {
	text-decoration: none;
}
.link[target="_blank"] {
	position: relative;
	padding-right: 1.5rem;
}
.link[target="_blank"]::before {
	content: "";
    width: 10px;
    height: 10px;
    border: 1px solid #34b373;
    position: absolute;
    top: 0.3rem;
    right: 4px;
}
.link[target="_blank"]::after {
	content: "";
    width: 10px;
    height: 10px;
    border-top: 1px solid #34b373;
    border-right: 1px solid #34b373;
    position: absolute;
    top: 0;
    right: 0;
}
.link-btn{
	display: block;
	width: 220px;
	padding: 10px 15px;
	margin: 0 auto;
	border: 1px solid #55bd89;
	background-color: #55bd89;
	border-radius: 10px;
	color: #ffffff;
	text-align: center;
}
.link-btn:hover {
	background-color: #ffffff;
	color: #20a562
}

.link.pdf::before,
.link.pdf::after {
	display: none;
}
.link.pdf {
	padding-right: 1.8rem;
}
.link.pdf::after {
	content: "";
	width: 24px;
	height: 24px;
	display: inline-block;
	margin: 0 0 0 0.5rem;
	background: url(/images/common/pdf.png) no-repeat;
	background-size: contain;
	background-position: center;
	vertical-align: middle;
	border: none;
}