@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');
html {
	font-family: "Kosugi Maru", "メイリオ", Meiryo, sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	letter-spacing: 0.08em;
	color:#011627;
	line-height:1.8em;
	text-align:justify;
 	text-justify:distribute;
}

body { background-image:url("../img/bg.png"); background-repeat: no-repeat; background-color: #fffae4; background-position: top left; }

.wrapper { width:1200px; margin: 0 auto; }

/* -------------------------------------------------------------- 
header
-------------------------------------------------------------- */
header { padding:5px 30px; position: relative; }
header #logo { text-align: center; }
header .address { position: absolute; top: 10%;  right: 0; transform: translateY(-10%); font-size:0.8em; text-align: right; margin-right:10px; } 
header .contact { background: #54b344; padding:10px 20px; border-radius: 5px; }
header .contact a { color:#FFFFFF; }
nav { width:1200px; margin:0 auto; }
nav ul li {
	float:left;
	display:block;
	width:200px;
	text-align: center;
}
nav ul li img { display: block; margin: 0 auto 5px auto; }
nav ul li a:link, header nav ul li a:visited, header nav ul li a:active {
	color:#3e3e3e;
    text-decoration: none;
    position: relative;
}
nav ul li a .font { color:#3e3e3e; }
nav ul li a:hover { opacity: 0.7 ; }
nav ul li img:hover { opacity: 0.7 ; }
nav ul li ul  { display: none; }

/* 見出し
-----------------------------------------------------------------　*/
h1.h1style01 {
    font-size: 3rem;
  position: relative;
  padding: 1.0rem;
  text-align: center;
	background-color:none;
	color:#000000;
	margin:1.3em 0;
}

h1.h1style01 span {
    font-size: 1.2rem;
  display: block;
	color:#000000;
	margin-top:20px;
}

h1.h1style01:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #54b344;
}

h1.h1style02 {
  position: relative;
  display: block;
  padding: 0 65px;
  text-align: center;
    color:#54b344;
    font-size:1.6em;
    margin:0 0 20px 0;
}

h1.h1style02:before,
h1.h1style02:after {
  position: absolute;
  top: calc(50% - 3px);
  width: 70px;
  height: 6px;
  content: '';
  border-top: solid 2px #54b344;
  border-bottom: solid 2px #54b344;
}

h1.h1style02:before {
  left: 0;
}

h1.h1style02:after {
  right: 0;
}

h1.h1style03 {
	padding: 1rem 1.5rem;
	font-size:1.5rem;
  color: #2e6930;
  border-radius: 50vh;
  background-image: -webkit-gradient(linear, right top, left top, from(#9be15d), to(#00e3ae));
  background-image: -webkit-linear-gradient(right, #9be15d 0%, #00e3ae 100%);
  background-image: linear-gradient(to left, #9be15d 0%, #00e3ae 100%);
	margin:0 20px 20px 0;
}

h2.h2style01 {
    position: relative;
    padding: .3em 0 .2em 1em;
    border-bottom: 3px solid #307672;
    font-size:1.5em;
    color:#307672;
}

h2.h2style01::before {
    position: absolute;
    top: 0;
    left: .3em;
    transform: rotate(55deg);
    height: 11px;
    width: 12px;
    background: #307672;
    content: '';
}

h2.h2style01::after {
    position: absolute;
    transform: rotate(15deg);
    top: .6em;
    left: 0;
    height: 8px;
    width: 8px;
    background: #307672;
    content: '';
}

h2.h2style02 {
  position: relative;
  font-weight:bold;
  border-bottom: solid 3px #d5d5d5;
  margin: 0 auto 50px;
  padding: 5px 0 5px 0;
}
h2.h2style02::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #77bcff;
  bottom: -3px;
  width: 30%;
}
h3.h3style01 {
  border-bottom: 1px dotted #73a365;
  position: relative;
    margin:10px 20px 20px 0;
    font-size:1.2em;
	font-weight:900;
    color:#69995c;
    padding:10px 0;
    text-align: center;
}

h3.h3style01:before {
      font-family: "Font Awesome 6 Free";
      font-weight: 900;
      content: "\f0e0";
      margin-right: 10px;
}
h3.h3style02 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.5rem;
	text-align: center;
	margin:40px;
}

h3.h3style02::before,
h3.h3style02::after {
	content: '';
	width: 3px;
	height: 30px;
	background-color: #3fc1c9;
}

h3.h3style02::before {
	margin-right: 30px;
	transform: rotate(-35deg)
}
h3.h3style02::after {
	margin-left: 30px;
	transform: rotate(35deg)
}
h3.h3style03 {
    border-bottom: 3px solid #111111;
	margin:15px;
	padding:10px;
	color:#111111;
	font-weight:bold;
}

h4.h4style01 {
    background: linear-gradient(transparent 60%, #6ED3CF 60%);
    color:#003366;
    padding:8px 0 8px 15px;
    font-weight:bold;
    font-size:1.1em;
    margin-bottom: 15px;
}

/*トップページ内「新着情報」
---------------------------------------------------------------------------*/
#news ul {
    margin:10px;
	border-top:1px solid #D3D3D3;
	padding:1em 0;
}
#news ul li {
	border-bottom:1px solid #D3D3D3;
	padding:1em;
	height: 30px;
}
#news ul li time {
	float:left;
	width:90px;
	font-size:0.8em;
}
#news ul li div {
	display: inline-block;
	float:left;
	color:#FFFFFF;
	border-radius: 5px;
	width:90px;
	text-align: center;
	font-size:0.8em;
}
#news ul li div.cat01 { background-color: #E06377; }
#news ul li div.cat02 { background-color: #457B9D; }
#news ul li h4 { float:left; font-size:1.15em; text-indent: 1em; }

/* メディアとテキスト
--------------------------------------------------------------　*/
.mediatext {
	margin:30px 0;
}
.mediatext img {
	border-radius: 25px;
	width:50%;
}
.mediatext div {
	padding:10px;
	width:48%;
}

/* パンくずリスト
---------------------------------------------------------------------------*/
#breadcrumb {
	background: url("../img/bg_breadcrumb.png")repeat-x left bottom;
    margin:20px 0;
}
#breadcrumb ul li {
	display: inline;
	background:url("../img/listmark05.png") no-repeat 0px 3px;
	padding:2px 0 0 20px;
	color:#336600;
	font-size:0.8em;
    padding-right: 5px;
}
#breadcrumb ul li.home {
	background:none;
    padding:2px 0;
}
#breadcrumb ul li a {
	color:#336600;
	text-decoration: none;
}
#breadcrumb ul li a:hover {
	color:#336600;
}

/*------------------------------------------------------
　　　　　　　＊ よく寄せられる質問　＊
-------------------------------------------------------*/
dl.question{
     overflow: hidden;
     _zoom: 1;
}

dl.question dd,
dl.question dt{
     padding: 0 0 0px 20px;
}

dl.question dt{
     margin:10px 0 0 0;
	 color:#0F78E1;
	 font-weight:bold;
}

dl.question dd:first-letter,
dl.question dt:first-letter{
     font-size: 1.6em;
     font-weight: bold;
     margin-right:10px;
     font-family: 'Nunito', sans-serif;
}


dl.question dd{
     margin: 10px 0 -1px 2px;
     padding-bottom:15px;
     border-bottom: 1px #000 dotted;
}


dl.question dt:first-letter{
     color: #0F78E1;
}
dl.question dd:first-letter{
     color: #ff6767;
}

/*--------------------------------
目次
---------------------------------*/
.mokujibox {
	float:left;
	width:350px;
	margin:15px;
}
.mokujibox img {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border:1px solid #999;
    vertical-align:top;
}
.mokujibox img:hover {
    opacity: 0.6;
filter: alpha(opacity=60);
-moz-opacity:0.6;
}

.mokujibox .naiyo {
    background-color:#FFF;
    border-right:1px solid #CCC;
    border-left:1px solid #CCC;
    border-bottom:1px solid #CCC;
    width:320px;
    padding:10px 15px;
}

/*--------------------------------
PAGE TOP
---------------------------------*/
#page-top {
	text-align: right;
    padding-top:30px;
    padding-right:20px;
}

#page-top a:hover {
	text-decoration: none;	
	-moz-opacity: 0.6;
	opacity: 0.6;
}

/* -------------------------------------------------------------- 
footer
-------------------------------------------------------------- */
footer {
	background: url("../img/bg_footer.png") bottom left repeat-x #FFECDC;
	clear: both;
	padding-top:30px;
    border-top:3px solid #F8B195;
}
.footer_left { width: 574px; float: left; line-height: 1.5em; }
.footer_right { width: 450px; float: right; }
.footer_left a { color:#111111; }
.footer_left a.white { color:#FFFFFF; font-size:0.8em;}
.address {
	margin:10px 30px;
}
.access { 
    border-radius: 5px;
    background-color: #54b344;
    padding:5px 10px;
}
.copy { 
	font-size:0.75em;
	text-align:right;
	clear:both;
	color:#111;
    padding-bottom:80px;
}
.privacy {
    font-size:0.8em;
    text-align: right;
    line-height: normal;
}
.privacy a { color:#111111; }
footer .address .access a { color:#111; text-decoration: none; cursor:pointer; }
footer ul { margin-top:20px; }
footer ul li {
    display: inline-block;
    font-size:0.8em;
}


/* その他
--------------------------------------------------------------　*/
.pageback {
    border-bottom:1px dotted #1C5B15;
    color:#1da1f3;
    font-size:0.85em;
    width:180px;
    margin:20px auto;
    text-align: center;
}
.pageback a { color:#1C5B15; }
.pageback a:hover { text-decoration:none; color:#ff4500; }
.pageback:hover { border-bottom:1px dotted #ff4500; }
.nopc { display:none; }
.mapstyle { width:98%; height:450px; border:1px solid #CCC; margin:15px auto; padding:3px; }
.kadomaru { border-radius: 10px; }

/*　メインビジュアル　*/
#mainvisual {
    width:100%;
	text-align: center;
}
#mainvisual img { width:98%; margin: 60px auto 10px auto; }
#mainvisual h1 {
    font-size:2.0em;
    text-align: center;
	position: absolute;
	top:18%;
	left: 28%;
	z-index: 9999999;
}

/*　1日の流れ　*/
.time-schedule {
  min-width: 480px;
  max-width: 480px;
  list-style: none;
  margin: 0 auto 0 6em;
  padding-left: 20px;
  border-left: 6px solid #a7be18;
  box-sizing: border-box;
}

.time-schedule li {
  width: 100%;
  margin: 0 0;
  padding: 5px 0;
  position: relative;
}

.time-schedule span.time {
  width: 5em;
  display: inline-block;
  margin-left: -8em;
  padding: 0 0 5px;
  margin-top: 15px;
  vertical-align: top;
  position: relative;
  text-align: right;
  box-sizing: border-box;
}

.time-schedule span.time::after {
  content: "";
  position: absolute;
  right: -35px;
  top: 0;
  background: #a7be18;
  width: 20px;
  height: 20px;
  border-radius: 10px;
}

.time-schedule .sch_box {
  display: inline-block;
  width: 100%;
  margin-left: 30px;
  padding: 15px 10px 15px 10px;
  vertical-align: middle;
  background: #efefef;
  box-sizing: border-box;
  border-radius: 6px;
}

.time-schedule .sch_title {
  font-size: 16px;
  font-weight: 700;
}

.time-schedule .sch_tx {
  font-size: 14px;
  font-weight: normal;
}

/*　スライドショー　*/
#slidebox .lbox {
    padding:5em;
    width:40%;
    float:left;
	text-align: center;
}
#slidebox .lbox h1 {
    font-size:2.0em;
	line-height: 1.5em;
}

#slidebox .rbox {
    width:50%;
    float:right;
}

.slide {
  position: relative;
  width: 85%;
  padding-top: 72.5%;
  overflow: hidden;
}

@keyframes slideshow {
  0% {
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  28% {
    opacity: 1
  }

  38% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.slide img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  opacity: 0;
  animation: slideshow 24s linear infinite;
}

.slide img:nth-child(2) {
  animation-delay: 8s;
}

.slide img:last-child {
  animation-delay: 16s;
}