@charset "UTF-8";
/* ================================================
  Layout
================================================ */
/* Body
---------------------------------------*/
body{
	width:100% ;
	-webkit-text-size-adjust: 100%;
	font-size:18px;
	line-height:1.8;
	font-family: "Noto Serif JP","Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 500;
}

/* Base
---------------------------------------*/
.wrap{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto ;}
.wrap.wr02 {
	max-width: 860px;}


/* Header
---------------------------------------*/
a:hover {
  text-decoration: none !important;
}
main a {
  text-decoration: underline;
}
.sp,.sp1 {display: none;}

.hover {
	display: none;
	position: absolute;}

.flex {display: flex;}
.flexNW {display: flex;}
.flex.Jsb {justify-content: space-between;}
.flexNW.Jsb {justify-content: space-between;}
.flex.Jcn {justify-content: center;}
.flex.Jsa {justify-content: space-around;;}
.flex.Jfe {justify-content: flex-end;}
.flex.Aicn {align-items: center;}
.alignL {text-align: left;}
.alignC {text-align: center;}
.mt10,.umt10 > *{margin-top: 10px;}
.mt20{margin-top: 20px;}
.mt30{margin-top: 30px;}
.mt40{margin-top: 40px;}
.umt40 > *{margin-top: 40px;}
.mt50{margin-top: 50px;}
.mt60{margin-top: 60px;}
.mt70{margin-top: 70px;}
.mt80{margin-top: 80px;}
.mt90{margin-top: 90px;}
.mt100{margin-top: 100px;}
.mt110{margin-top: 110px;}
.mt120{margin-top: 120px;}
.mt150{margin-top: 150px;}
.mb10{margin-bottom: 10px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mb40{margin-bottom: 40px;}
.mb50{margin-bottom: 50px;}
.mb60{margin-bottom: 60px;}
.mb70{margin-bottom: 70px;}
.mb80{margin-bottom: 80px;}
.mb90{margin-bottom: 90px;}
.mb100{margin-bottom: 100px;}
.mb110{margin-bottom: 110px;}
.mb120{margin-bottom: 120px;}
.mb150{margin-bottom: 150px;}
.mr1p,.umr1p > * {margin-right: 1%;}
.mr10,.umr10 > * {margin-right: 10px;}
.mr20,.umr20 > * {margin-right: 20px;}
.mr30,.umr30 > * {margin-right: 30px;}
.mr40,.umr40 > * {margin-right: 40px;}
.mr50,.umr50 > * {margin-right: 50px;}
.gp10 {gap: 10px;}
.gp20 {gap: 20px;}
.gp30 {gap: 30px;}
.gp40 {gap: 40px;}
.gp50 {gap: 50px;}
.gpv10 {gap:10px 0;}
.gpv20 {gap:20px 0;}
.gpv30 {gap:30px 0;}
.gpv40 {gap:40px 0;}
.gpv50 {gap:50px 0;}
.flex.fwrap { flex-wrap: wrap;}
.Jsb.uw33.fwrap::after {
	content: "";
	display: block;
	width: 33%;
}
.Jsb.uw25.fwrap::before {
	content: "";
	width: 23%;
	order: 1;
}
.Jsb.uw25.fwrap::after {
	content: "";
	width: 23%;
}
.w30, .uw30 > * {width: 29%;}
.w33, .uw33 > * {width: 32%;}
.w50, .uw50 > * {width: 49%;}
.w20, .uw20 > * {width: 19%;}
.w25, .uw25 > * {width: 23%;}
.w70, .uw70 > * {width: 69%;}
.w75, .uw75 > * {width: 75%;}
.lead {font-size: 1.1em;}
.red {color: #DC4F4F;}

main {text-align: center;}

img {
	max-width: 100%;
	height: auto ;}
img.imgWaH100,
.imgWaH100 img {
	max-width: auto;
	width: auto;
	height: 100%;
}

ul {
	list-style: none;}

	ul.list01 li {
		padding-left: 20px;
		position: relative;
		margin-bottom: 10px;
	}
		ul.list01 li::before {
			content: "";
			background: #005B94;
			width: 0.5em;
			height: 0.5em;
			display: block;
			position: absolute;
			border-radius: 100px;
			left: 0;
			top: 0.6em;
		}
		ul.list01 ul li::before {
			content: "";
			background: #FFF;
			border: solid 2px #005B94;
			width: 0.4em;
			height: 0.4em;
			display: block;
			position: absolute;
			border-radius: 100px;
			left: 0;
			top: 0.4em;
		}

ul.list02 li {
	text-align: center;
	background: #EBF1F8;
 display: flex;
 justify-content: center;
 align-items: center;
 width: 30%;
}

ol{
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
	margin-left: 0;
	margin: 30px 0;
}
ol > ol{
  padding-left: 1em;
}
ol > li{
  text-indent: -1.3em;
  padding-left: 1.3em;
	margin-bottom: 10px;
}
ol ul li {
	text-indent: 0;
}
ol > li:before {
  counter-increment: item;
  content: counter(item)'.';
  padding-right: .5em;
	width: 17px;
	display: inline-flex;
	text-indent: 0;
	text-align: center;
	justify-content: center;
}

a:hover {
	transition: 0.3s;
	text-decoration: underline;
}
table {
	border-collapse: collapse;
	width: 100%;
	margin-top: 0px;
}
	table caption {
		font-size: 1.2em;
		font-weight: bold;
		color: #8098A7;
	}
	table th{
		text-align: left;
    background: #e6e6e6;
		color: #000;
		padding: 5px;
		font-weight: normal;
		border: solid 1px #b5b5b6;
    vertical-align: middle;
    text-align: center;
	}
	table td {
		padding: 5px;
		text-align: left;
		border: solid 1px #b5b5b6;
    vertical-align: middle;
    text-align: center;
	}
  table.table02 tr {
    border-bottom: solid 10px #FFF;
  }
  table.table02 th{
    border: 0;
    background: #e6e6e6;
    text-align: center;
    padding: 20px;
    vertical-align: middle;
    width: 255px;
  }
  table.table02 td {
    border: 0;
		background: #f7f8f8;
    padding: 20px;
    vertical-align: middle;
    text-align: left;

	}
  table th {
    background: #f7f8f8;
  }
  table thead th {
    background: #e6e6e6;
  }
  table.tbC01 td:nth-child(even){
    background: #f2dfd5;
    text-align: center;
  }
  table.tbC01 td:nth-child(odd){
    background: #ddf5fa;
    text-align: center;
  }


small {
	font-size: 0.9rem;
}


.hover {
	display: none;
	position: absolute;
}

.btn01 {
  display: inline-block;
	border: solid 1px #005032;
  color: #005032;
  padding: 5px 20px;
  min-width: 190px;
  box-sizing: border-box;
  width: auto;
  text-decoration: none;
}
.btn02 {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 1px #005032;
  color: #005032;
  padding: 20px 5px;
  box-sizing: border-box;
  text-decoration: none;
}
.btn03 {
	display: block;
	width: 100%;
	max-width: 200px;
	border: 0;
	text-align: center;
	background: #1B2B53;
	color: #FFF;
	padding: 5px;
	box-sizing: border-box;
	margin: auto;
	border-radius: 5px;
  text-decoration: none;
}
.btn04 {
  display: inline-block;
	border: solid 1px #005032;
  background: #005032;
  color: #FFF;
  padding: 13px 20px;
  width: 100%;
  max-width: 400px;
  box-sizing: border-box;
  text-decoration: none;
}
.btn01:hover,
.btn02:hover,
.btn03:hover {
  background: #005032;
  color: #FFF;
  opacity: 1;
  text-decoration: none;
}
.btn04:hover {
  background: #FFF;
  color: #005032;
  opacity: 1;
  text-decoration: none;
}

.bBox01 {
	border: solid 1px #CCC;
	padding: 1px;
	display: block;
  padding: 10px;
  box-sizing: border-box;
}


.slide01 {
	max-width: 1100px;
	padding: 0 40px;
	margin: auto;
	position: relative;
}
.slide01 .slick-prev.slick-arrow {
	width: 22px;
	height: 22px;
	background: url(../img/top/icoPrev.svg) no-repeat;
	position: absolute;
	left: 0;
	top: 35%;
	text-indent: -9999px;
	border: 0;
}
.slide01 .slick-next.slick-arrow {
	width: 22px;
	height: 22px;
	background: url(../img/top/icoNext.svg) no-repeat;
	position: absolute;
	right: 0;
	top: 30%;
	text-indent: -9999px;
	border: 0;
}

.gBox {
  background: #f7f8f8;
  padding: 30px;
  font-size: 0.9em;
  box-sizing: border-box;
}
  .gBox h4{
    font-size: 1.2em;
	font-weight:bold;
  }
  .red {
    color: #f15a24;
  }

.fss {
  font-size: 0.9em;
}
.fss h4 {
  font-size: 1.1em;
}

.bgR {
  background: #f2dfd5;
}

.h401 {
  font-size: 1.5em;
  color: #005032;
}

header {
  padding-bottom: 20px;
  margin: auto;
}
header.fix {
  position: fixed;
  left: 0;
  right: 0;
  margin: auto;
  background: rgba(255,255,255,0.8)
}
	header .flex {
		align-items: flex-end;
	}
  header .hsNav {
    margin-bottom: 10px;
  }
  header .hsNav li {
    margin: 0 2px;
  }
    header .hsNav a {
      background: #005032 url(../img/icoH02.svg) no-repeat 10px center;
      background-size: 20px;
      display: inline-block;
      color: #FFF;
      padding: 3px 20px 3px 40px;
      font-size: 0.85em;
    }
    header .hsNav li:first-child a {
      background: #005032 url(../img/icoH01.svg) no-repeat 10px center;
      background-size: 20px;
    }
		header .hsNav li:nth-child(4) a {
      background: #005032 url(../img/icoH03.svg) no-repeat 10px center;
      background-size: 20px;
    }
    header .hsNav li:last-child a {
      background: #005032 url(../img/icoH04.svg) no-repeat 10px center;
      background-size: 20px;
    }
  header .hLogo img{
    width: 275px;
  }
  header .hBtn a{
    display: block;
    background: #005032;
    color: #FFF;
    font-size: 0.9em;
    padding: 2px 10px;
    margin-left: 2px;
  }
  header.fix {
		position: fixed;
		z-index: 10;
		top:0;
	}
	.hNav li{
    padding: 0 10px;
	}
    .hNav li a {
      color: #005032;
    }




h2 {
	text-align: center;
	margin-bottom: 20px;
	width: 100%;
  color: #005032;
	font-size: 1.9em;
	font-weight: 600;
  font-family: "Vollkorn","Noto Serif JP","Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
  h2 small{
    display: block;
  }
h3 {
	font-size: 1.9em;
}
.reservation h3,
.page01 h3{
  color: #005032;
  border-bottom: solid 1px #005032;
  padding: 10px;
  font-size: 1.5em;
  display: inline-block;
  margin-bottom: 30px;
}
.link h3{
  color: #005032;
  border-bottom: solid 1px #005032;
  padding: 10px;
  font-size: 1.5em;
  margin-bottom: 20px;
  margin-top: 40px;
  text-align: left;
}


.pageNav a {
  display: inline-block;
  padding: 10px 14px;
  text-align: center;
  color: #005032;
  border: solid 1px #005032;
  margin: 0 4px;
  min-width: 150px; /*230403修正*/
  text-decoration: none;
  transition: 0.3s;
}
.pageNav a:hover {
  background: #005032;
  color: #FFF;
  opacity: 1;
}

.pagination a,
.pagination span {
  display: inline-block;
  padding: 5px 14px;
  text-align: center;
  color: #005032;
  border: solid 1px #005032;
  margin: 0 4px;
}



footer {
  background: #ccdcd6;
  line-height: 2.5;
}
  footer .wrap {
  	max-width: 720px;
  }
  .fNav {
    padding: 50px 0;
  }
  .fNav li {
    padding: 0 10px;
    text-align: center;
    border-left: solid 1px #005032;
    flex: auto;
    line-height: normal;
  }
  .fNav li:first-child {
    border-left: 0;
  }
    .fNav li a {
      color: #005032;
      font-size: 1.2em;
    }
  .copy {
    text-align: center;
    font-size: 0.8em;
    padding: 50px 0;
  }



.pageTop {
	/* display: none; */
	height: 50px;
	width: 50px;
	background: url(../img/pageTop.svg) no-repeat center center;
	margin-top: 30px;
	cursor: pointer;
	position: fixed;
	z-index: 9;
	right: 20px;
	bottom: 30px;
}


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

}
@media screen and (max-width:1000px) {
  header {
    padding: 20px;
  }
	.hLogo {
		font-size: 2.2vw;
	}
  .hsNav {
    display: none;
  }
	.hamburger {
		display : block;
		position: fixed;
		z-index : 110;
		right: 13px;
		top: 30px;
		width: 45px;
		height: 18px;
		cursor: pointer;
		text-align: center;
	}
		.hamburger > span {
			display: block;
			position: absolute;
			width: 26px;
			height: 2px ;
			left: 6px;
			background: #231815;
			-webkit-transition: 0.3s ease-in-out;
			-moz-transition: 0.3s ease-in-out;
			transition: 0.3s ease-in-out;
		}
		.hamburger > span:nth-child(1) {
			top: 0px;
		}
		.hamburger > span:nth-child(2) {
			top: 10px;
		}
		.hamburger > span:nth-child(3) {
			top: 20px;
		}

		/* ナビ開いてる時のボタン */
		.hamburger.active {
			position: fixed;
			top: 7px;
			z-index: 90;
		}
		.hamburger.active > span:nth-child(1) {
			top : 16px;
			left: 6px;
			-webkit-transform: rotate(-45deg);
			-moz-transform   : rotate(-45deg);
			transform        : rotate(-45deg);
			background: #FFF;
		}

		.hamburger.active > span:nth-child(2),
		.hamburger.active > span:nth-child(3) {
			top: 16px;
			-webkit-transform: rotate(45deg);
			-moz-transform   : rotate(45deg);
			transform        : rotate(45deg);
			background: #FFF;
		}

		/*  nav  */
		header .flex.Jsb {
			width: 100%;
			margin: auto;
		}
		.hNav{
			width: 100% ;
			position: fixed;
			background: #005032;
			height: 100vh;
			top: 0;
			left: 0;
			margin: 0;
			z-index: 50;
			padding: 60px 3vw;
			box-sizing: border-box;
			display: none !important;
			text-align: center;
      overflow-y: scroll;
		}
		.hNav.active {
			display: block !important;
		}
		.hNav ul {
			border: 0;
			display: block;
			margin-bottom: 20px;
			background: 0;
		}
			.hNav ul li{
				padding: 0px 0 ;
				font-size: 20px;
				display: block;
				border-bottom: 0;
				text-align: center;
				color: #FFF;
				width: 100%;
			}

			.hNav ul li a {
				color: #FFF !important;
        font-size: 0.8em;
        padding: 15px 0;
        display: block;
			}

      .sp.hsspNav li a{
        background: #FFF;
        padding: 10px;
        box-sizing: border-box;
        color: #005032 !important;
        margin: 10px 0;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
      }
        .sp.hsspNav li a::before {
          content: "";
          display: block;
          margin-right: 10px;
          width: 24px;
          height: 22px;
          background: url(../img/icoH02sp.svg) no-repeat center center;
        }
        .sp.hsspNav li:first-child a::before {
          content: "";
          display: block;
          margin-right: 10px;
          width: 30px;
          height: 22px;
          background: url(../img/icoH01sp.svg) no-repeat center center;
        }
        .sp.hsspNav li:nth-child(4) a::before {
          content: "";
          display: block;
          margin-right: 10px;
          width: 22px;
          height: 22px;
          background: url(../img/icoH03sp.svg) no-repeat center center;
        }
				.sp.hsspNav li:last-child a::before {
          content: "";
          display: block;
          margin-right: 10px;
          width: 30px;
          height: 22px;
          background: url(../img/icoH04sp.svg) no-repeat center center;
        }


	header .flex.Jsb {
		flex-wrap: wrap;
	}
	header .flex.Jfe {
		justify-content: space-between;
		width: 100%;
		margin-top: 20px;
	}
	.hTel {
		margin-left: 10px;
	}
	.hMail {
		margin-left: auto;
	}
	.btnF01 {
		font-size: 1rem;
		max-width: 300px;
		margin: auto;
		padding: 10px 10px 10px 70px;
		text-align: center;
	}
	.btnF01.icoMail {
		background:#FFF url(../img/icoMail02.svg) no-repeat 20px center;
	}
	.btnF01.icoFile {
		background:#FFF url(../img/icoFile02.svg) no-repeat 20px center;
	}
	.btnF01.icoQa {
		background:#FFF url(../img/icoQa.svg) no-repeat 20px center;
	}

}
@media screen and (max-width:768px) {
  header .hLogo img{
    width: 225px;
  }
  .pageNav {
    display: flex; /*230403修正*/
  }
  .pageNav li {
    margin:0 10px 10px; /*230403修正*/
  }
  .pageNav a {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
  }
	.wrap {
		width: 95%;
	}
	.sp {
		display: block;
	}
	.pc {
		display: none !important;
	}
	.flex {
		flex-wrap: wrap;
		justify-content: center;
	}
	body {
		font-size: 14px;
	}
	h2 {
		font-size: 1.4em;
	}
	h3 {
		font-size: 1.4em;
	}

	/* header {
    padding: 10px;
	} */
	.hLogo {
		font-size: 3.5vw;
	}
	.hYamaura {
		width: 150px;
		margin-left: 10px;
	}
	.hYamaura img{
		width: 80px;
		margin-left: 10px;
	}
	.hMail,.hFile {
		width: auto;
		width: 18%;
	}
	.hMail a,.hFile a {
		background-size: 20px;
		padding-top: 30px;
		text-indent: -9999px;
	}


	.fNav li a {
    font-size: 1em;
    display: flex;
    justify-content: center;
    width: 100%;
  }


	.w30,.uw30 > * {width: 100%;}
	.w33, .uw33 > *{width: 100%;}
	.w50, .uw50 > * {width: 100%;}
	.w25, .uw25 > * {width: 100%;}
	.w70, .uw70 > * {width: 100%;}
	.w75, .uw75 > * {width: 100%;}
  .suw33 > * {width: 33%;}
  .suw50 > * {width: 49%;}

	:not(.scrollBox) table th,
	:not(.scrollBox) table td,
	:not(.notspblock) table th,
	:not(.notspblock) table td {
		display: block;
		border-top: 0;
		border-right: 0;
		border-left: 0;
		width: 100%;
		box-sizing: border-box;
		padding: 10px;
	}
	.smt10{margin-top: 10px;}
	.smt20{margin-top: 20px;}
	.smt30{margin-top: 30px;}
	.smt40{margin-top: 40px;}
	.smt50{margin-top: 50px;}
	.smt90{margin-top: 90px;}
	.smA{margin-left: auto;margin-right: auto;}
	.scrollBox {
		width: 100%;
		overflow-x: scroll;
	}
      .smt50:nth-child(2) {
          display: flex;
          flex-direction: column-reverse;
      }
	.scrollBox table {
		min-width: 800px;
	}
	.scrollBox table th,
	.scrollBox table td,
  .sptable table th,
  .sptable table td{
		display: table-cell;
		width: auto;
		border: solid 1px #B5BFC5;
	}
	.tablepc {display: none !important;}
	.fw25 > *,
	.fw33 > *{width: 49%;}
	.fw50 > *{width: 100%;}
	.flex.wid475 div{
		width: 100%;
		margin-bottom: 20px;
	}
	.flex.sJcn {
		justify-content: center;
		flex-wrap: wrap;
	}
	.flex.sJcn > * {
		width: 100%;
	}
	.flex.flexNW {
		flex-wrap: nowrap;
	}

	.tag li{
		width: 49%;
		margin: auto;
		box-sizing: border-box;
		margin-bottom: 10px;
	}
	.tag::after {
		content: "";
		width: 49%;
		display: block;
	}

  footer .fNav {
    flex-wrap: wrap;
  }
    footer .fNav li {
      width: 50%;
      box-sizing: border-box;
      margin-bottom: 10px;
    }
    footer .fNav li:nth-child(3) {
      border-left: 0;
    }

}
