@charset "utf8";

/*------------------------
reset
------------------------*/
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, dialog, figure, footer, header,hgroup, menu, nav, section,time, mark, audio, video
{
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-weight:normal;
	list-style:none;
}

/*------------------------
base
------------------------*/
html {
	font-size: 100%;
	/* background-color: #000; */
}
body {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-family: 'Noto Sans JP', "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 16px;
	line-height: 1.75;
	background-color: #fff;
}

.pagetop {
	position: fixed;
	width: 60px;
	height: 60px;
	bottom: 80px;
	right: 40px;
	z-index: 2;
}

.pagetop:hover {
	opacity: 0.7;
}


#header {
  padding-top: 24px;
  background: url(../img/header_bg.jpg) center no-repeat;
  background-size: cover;
}

#header h1,
#header nav,
#header article,
#main_contents,
#footer .inner {
  max-width: 1200px;
  margin: 0 auto;
}
 @media only screen and (max-width: 1240px){
	 #header h1,
	 #header nav,
	 #header article,
	 #main_contents,
	 #footer .inner {
	   max-width: 92%
	 }
 }


#gnav {
  display: flex;
  justify-content: space-between;
  align-items: end;
}

#gnav li {
  text-align: center;
  flex-grow: 1;
	position: relative;
  padding-bottom: 4px;
}

#gnav li:not(:first-child)::before {
	content: "";
	width: 1px;
	height: 16px;
	background-color: #68abcc;
	position: absolute;
	bottom: 10px;
	left: 0;
}

#gnav li:first-child::after {
	content: "";
	width: 1px;
	height: 16px;
	background-color: #68abcc;
	position: absolute;
	bottom: 10px;
	left: 0;
}

#gnav li:last-child::after {
	content: "";
	width: 1px;
	height: 16px;
	background-color: #68abcc;
	position: absolute;
	bottom: 10px;
	right: 0;
}

#gnav li:hover::after {
	content: "";
	width: 100%;
	height: 2px;
	background-color: #2b9622;
	position: absolute;
	bottom: 0;
	left: 0;
}

#gnav a {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.25;
	position: relative;
	display: block;
	text-decoration: none;
	color: #000;
}

#gnav a.blank::after {
	content: "";
	display: block;
	width: 16px;
	height: 15px;
	background: url(../img/blank01.png) no-repeat;
	position: absolute;
	top: 0;
	right: 30px;
}

#gnav li a.blank.link05::after {
	right: 20px;
}

#gnav .sup {
  font-size: 0.85rem;
  font-weight: bold;
  display: block;
}

#mv_info {
  padding: 50px 0 50px;
}

#mv_info .title {
  color: #f58a0c;
  font-size: 2.25rem;
  font-weight: bold;
  text-align: center;
	letter-spacing: 3px;
}

#mv_info .text_box {
  margin: 30px auto 0;
  padding: 30px 30px calc(30px - 0.5em);
  width: 1000px;
	background-color: rgba(255,255,255,0.7);
  border-radius: 16px;
  box-sizing: border-box;
  font-size: 13px;
}

#mv_info a.text_box {
    color: -webkit-link;
    cursor: pointer;
    text-decoration: underline;
}

#mv_info .text {
	font-weight: bold;
  margin-bottom: 0.5em;
}

#mv_info .text .color01 {
	color: #2b9622;
}

#mv_info .text a {
	color: #2b9622;
}

#mv_info .text a:hover {
	text-decoration: underline;
}

#main_contents {
  margin: 60px auto 100px;
}

.link_box {
	margin-bottom: 30px;
	background-color: #e8f8de;
	border-radius: 20px;
	overflow: hidden;
}

.link_box .title-holder {
  padding: 0.375rem 0;
	text-align: center;
	background-color: #2b9622;
}

.link_box .title-holder .title {
	font-weight: bold;
	position: relative;
}

.link_box .title-holder .title::after {
	content: "";
	display: block;
	width: 16px;
	height: 15px;
	background: url(../img/blank02.png) no-repeat;
	position: absolute;
	top: 2px;
	right: -22px;
}

.link_box .title-holder .sup {
	font-size: 1rem;
	font-weight: bold;
	vertical-align: middle;
}

.link_box .title-holder .sup.margin-r {
	margin-right: 1em;
}

.link_box .title-holder .sup.margin-l {
	margin-left: 1em;
}

.link_box .title-holder a {
	display: block;
	font-size: 1.5rem;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
}

.link_box .title-holder a:hover .title {
	border-bottom: 2px solid #fff;
}

.link_box .content {
	display: flex;
	align-items: center;
	padding: 30px 40px;
}

.link_box .pic {
	width: 100px;
	text-align: center;
	margin-right: 20px;
}

.link_box .text {
	font-size: 1.15em;
}

.link_button {
	margin: 80px auto;
	display: flex;
	justify-content: space-between;
}

.link_button li {
	width: calc((100% - 40px) / 2);
}

.link_button li a {
	display: block;
	margin: 0 auto;
	padding: 1.25rem 0;
  text-align: center;
	border: solid 3px #2b9622;
	border-radius: 60px;
	color: #000;
}

.link_button li a:hover {
	text-decoration: none;
	color: #fff;
	background-color: #2b9622;
}

.link_button li .ttl {
	font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.35;
	display: inline-block;
	text-align: left;
	position: relative;
}

.link_button li .ttl::before {
	content: "";
	display: block;
	position: absolute;
}

.link_button li.link01 .ttl::before {
	width: 39px;
	height: 39px;
	background: url(../img/link_icon05.png) no-repeat;
	top: calc(50% - 21px);
	left: -51px;
}

.link_button li.link02 .ttl::before {
	width: 40px;
	height: 37px;
	background: url(../img/link_icon06.png) no-repeat;
	top: calc(50% - 19px);
	left: -52px;
}

.link_button li .ttl::after {
	content: "";
	display: block;
	width: 23px;
	height: 22px;
	background: url(../img/blank03.png) no-repeat;
	position: absolute;
	top: 0;
	right: -30px;
}

.link_button li.link01 a:hover .ttl::before {
	background: url(../img/link_icon05_hov.png) no-repeat;
}

.link_button li.link02 a:hover .ttl::before {
	background: url(../img/link_icon06_hov.png) no-repeat;
}

.link_button li a:hover .ttl::after {
	background: url(../img/blank03_hov.png) no-repeat;
}

.info_box {
	margin-bottom: 30px;
}

.info_box .title {
	margin: 0 0 0.75rem;
  font-size: 1.25rem;
	font-weight: bold;
	line-height: 2;
  background: url(../img/h2_border.png) no-repeat bottom left;
}

.info_box .link_list {
	display: flex;
}

.info_box .link_list a {
	color: #336633;
	text-decoration: underline;
	padding: 0 0.5em;
}

.info_box .link_list a:hover {
	color: #2b9622;
}

.info_box .link_list li {
	position: relative;
}

.info_box .link_list li:not(:last-child)::after {
	content: "";
	display: block;
	width: 1px;
	height: 14px;
	background-color: #333;
	position: absolute;
	top: 7px;
	right: 0;
}

.info_box .link_list li:first-child a {
	padding-left: 0;
}

#footer {
	color: #fff;
	background-color: #000;
}

#footer .inner {
	display: flex;
  justify-content: space-between;
  padding: 20px 0;
}

#footer .link_list {
	display: flex;
}

#footer .link_list li {
	position: relative;
}

#footer .link_list li:not(:last-child)::after {
	content: "";
	display: block;
	width: 1px;
	height: 14px;
	background-color: #fff;
	position: absolute;
	top: 7px;
	right: 0;
}

#footer .link_list a {
	color: #fff;
	font-size: 0.875rem;
  padding: 0 0.5em;
  text-decoration: none;
}

#footer .link_list li:first-child a {
	padding-left: 0;
}

#footer .link_list a:hover {
	text-decoration: underline;
}

#footer .text {
	font-size: 0.875rem;
}

font{
	color:#ff0000;
	outline:none;
}

/*
font1 {
    color: #ff0000;
    outline: none;
    font-size: large;
}
*/
/* 20231201 メンテナンスに関するお知らせ用（期間20231207 1700~2400） */
font1 {
    color: #000;
    outline: none;
    font-size: large;
    font-weight: bold;
}

font3 {
	color: #ff0000;
	outline: none;
	font-weight: bold;
}
