/* CSS Document */
.desktop{
	display: none;
}
body,
form input{
	font:16px/1.5 "メイリオ", "Meiryo", ryumin,Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
	-webkit-text-size-adjust: 100% !important;
}
.openbtn1{
	background:var(--white-color);
	cursor: pointer;
    width: 50px;
    height:50px;
    position: absolute;
    top:0;
    bottom:0;
    margin:auto;
    right:10px;
    transform: scale(0.88) !important;
}

/*ボタン内側*/
.openbtn1 span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 3px;
	background: var(--main-color);
  	width: 45%;
  }

.openbtn1 span:nth-of-type(1) {
	top:15px;	
}

.openbtn1 span:nth-of-type(2) {
	top:23px;
}

.openbtn1 span:nth-of-type(3) {
	top:31px;
}

/*activeクラスが付与されると線が回転して×に*/

.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
	opacity: 0;/*真ん中の線は透過*/
}

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
#headerWrapper {
	width:100%;
	height: 70px;
	border-bottom:4px solid var(--main-color);
	position: fixed;
	top:0;
	background:#fff;
	z-index: 10;
}
div#header{
	width:100%;
	height: 100%;
	min-width:100%;
	max-width:100%;
	position: relative;
	margin:auto;
}

div#header h1 a{
	display: block;
	background:url("../images/logo.svg") no-repeat;
	width:232px;
	height: 50px;
	background-size:232px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
		margin:10px;
}
ul#nav{
	width:440px;
	box-sizing: border-box;
	padding:20px;
	background:#fff;
	box-shadow: 3px 3px 9px rgba(0,0,0,0.35);
	border-radius: 4px;
	position: absolute;
	right:30px;
	top:90px;
	z-index: 1000;
	display: none;
}
ul#nav::after{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 25px 30px 25px;
	border-color: transparent transparent #ff0 transparent;
	position: absolute;
	top:-25px;
	right:25px;
}
ul#nav{
	width:100%;
	box-sizing: border-box;
	padding:20px;
	background:#fff;
	box-shadow: 3px 3px 9px rgba(0,0,0,0);
	border-radius: 4px;
	position: absolute;
	right:0;
	top:70px;
	z-index: 1000;
	/*display: none;*/
}
ul#nav li{
	height: 45px;
	line-height: 45px;
	position: relative;
	padding-left:20px;
	font-size:16px;
	border-bottom:1px solid var(--main-color);
}
div.contents {
	width:calc(100%);
	margin:10px auto;
	margin-top:-70px;
	padding-top:70px;
}
h2.catch{
	text-align: center;
	color:#fff;
	color:var(--main-color);
	font-size:20px;
	margin:170px 10px 0;
	font-weight: bold;
	font-family: serif;
	text-shadow: 3px 3px 9px rgba(0,0,0,0.3);
}
div.topWrapper{
	width:calc(100vw - 100px);
	margin:50px auto;
}
div.top{
	width:100%;
	text-align: center;
	color:#000;
	font-size:18px;
	font-weight: bold !important;
	margin:auto auto 20px;
}
div.top img{
	width:calc(100% - 20px);
	border:10px solid #fff;
	box-shadow: 3px 3px 9px rgba(0,0,0,0.35);
	margin-bottom: 10px;
}
div.generalWrapper{
	padding-top:140px;
	margin-top:-140px;
}
h2.general{
	width:100%;
	min-width: 100%;
	height: 50px;
	background:var(--main-color);
	line-height: 50px;
	color:#fff;
	text-align: center;
	font-size:18px;
}
div.section {
	width:calc(100% - 20px);
	min-width: 100%;
	margin:50px auto 0;
	box-sizing: border-box;
	padding:25px;
	background:#fff;
	border-radius: 4px;
}
h3.general{
	font-size:18px;
	margin-bottom:10px;
	font-weight: bold;
	border-bottom: 2px solid var(--main-color);
}
div.section p{
	margin:auto auto 10px;
	color:#000;
}
div.section p img{
	width:100%;
	height: auto;
}
div.section p.profile{
	line-height: 2em;
	margin-bottom:0;
}
div.section ul.general{
	margin:auto 10px 10px;
}
div.section ul.general li{
	position: relative;
	margin-bottom: 1em;
	color:#000;
}
div.section li:before{
	content: "";
	width:12px;
	height: 12px;
	border-radius:12px;
	background:var(--main-color);
	position: absolute;
	top:0.25em;
	left:-20px;
}

ul.seazon {
	width:calc(100% - 20px);
	margin:10px;
	color:#000;
}
ul.seazon li{
	width:calc(100% - 10px);
	box-sizing: border-box;
	padding:20px;
	margin-bottom:20px;
	min-height: 440px;
	border-radius: 4px;
	/*box-shadow: 3px 3px 9px rgba(0,0,0,0.35);*/
	text-align: justify;
}
ul.seazon li.spring{
	background:lightpink;
}
ul.seazon li.summer{
	background:gold;
	background:coral;
}
ul.seazon li.autumn{
	background:seagreen;
}
ul.seazon li.winter{
	background:cornflowerblue;
}
ul.seazon dt{
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: center center;
	background-size:200px;
	padding-top:200px;
}
ul.seazon dt.spring{
	background-image:url("../images/icon_spring.svg");
}
ul.seazon dt.summer{
	background-image:url("../images/icon_summer.svg");
}
ul.seazon dt.autumn{
	background-image:url("../images/icon_autmn.svg");
}
ul.seazon dt.winter{
	background-image:url("../images/icon_winter.svg");
}





dl.museum {
	margin:10px 0;
}
dl.museum dt{
	display: flex;
	align-items: center;
	text-align: center;
	background:teal;
	background:green;
	color:#fff;
	font-size: 18px;
	justify-content: center;
	width:100%;
}
dl.museum.school dt{
	background:maroon;
}
dl.museum dt,
dl.museum dd{
	box-sizing: border-box;
	padding:10px;
}
dl.museum dd{
	width:100%;
	background:#efefef;
	color:#000;
}
dl.museum dd li{
	margin-left:30px;
	position: relative;
}
dl.museum dd li::before{
	background-color:green;
}



div.blogWrapper {
	margin:10px;
}
div.blog{
	margin-bottom: 10px;
}
div.blog div{
	width:100%;
	overflow: hidden;
}
div.blog div img{
	width:100%;
	transform: scale(1);
	transition: all 0.2s;
	margin-bottom:5px;
}
div.blog:hover  div img{
	width:100%;
	transform: scale(1.05);
	transition: all 0.2s;
}
a.tomore{
	display: block;
	width:300px;
	height: 50px;
	line-height: 50px;
	border-radius: 50px;
	text-align: center;
	margin:25px auto;
	background:var(--main-color);
	color:#fff;
}
a.tomore:hover{
	background:darkolivegreen;
}


div#footerWrapper {
	width:100%;
	min-width: 100%;
	background:#ccc;
	border-top:4px solid var(--main-color);
	overflow: hidden;
}
div#footer{
	width:100%;
	max-width:100%;
	margin:25px auto;
}
h2.footer {
	font-size:22px;
	text-align: center;
	margin-bottom:25px;
}
#footer p.address{
	text-align: center;
	margin-bottom:25px;
}
#footer div.map{
	width:calc(100% - 20px);
	height: 250px;
	margin:auto;
	box-sizing: border-box;
	border:5px solid #fff;
	border-radius: 4px;
}

p#totop{
	width:50px;
	height: 50px;
	background:url("../images/totop.svg") no-repeat center top;
	background-size:50px;
	position: fixed;
	bottom:50px;
	right: 50px;
	display: none;
	text-indent:100%;
	white-space: nowrap;
	overflow: hidden;
    z-index: 100;
}
p#totop a{
	display: block;
	width:100%;
	height: 100%;
}
p#totop:hover{
	background:url("../images/totop.svg") no-repeat center bottom;
	background-size:50px;

}
p.copy{
	margin:25px auto;
	text-align: center;
	font-size:12px;
}
h2.gallery{
	width:80%;
	height: 40px;
	line-height: 40px;
	background:#fff;
	margin:auto;
	text-align: center;
	font-size:20px;
	font-weight: bold;
	border-radius: 50px;
	box-shadow: 3px 3px 9px rgba(0,0,0,0.35);
}
.slides {
	width:300px;
	height: 245px;
	margin:25px auto;
	border:10px solid #fff;
	position: relative;
	box-sizing: border-box;
	box-shadow: 3px 3px 9px rgba(0,0,0,0.35);
}
.slides img{
	height: 225px;
	width:auto;
}
button.slick-prev {
	background: url("../images/arrow_prev.svg") no-repeat;
	background-size: 30px;
	left: 5px;
}
button.slick-prev:hover {
	background-image: url(../images/arrow_prev_on.svg) !important;
}
button.slick-next {
	background: url("../images/arrow_next.svg") no-repeat;
	background-size: 30px;
	right: 5px;
}
button.slick-next:hover {
	background-image: url(../images/arrow_next_on.svg) !important;
}
button.slick-arrow {
	text-indent: -9999px;
	position: absolute;
	width: 30px;
	height: 50px;
	top: 100px;
	z-index: 1;
	border: none;
	cursor: pointer;
}
ul.slick-dots {
	width: 100%;
	height: 20px;
	text-align: center;
	overflow: hidden;
	position: absolute;
	bottom: 1px;
}
ul.slick-dots li {
	text-indent: -9999px;
	display: inline-block;
	width: 10px;
	height: 10px;
	background-color: var(--main-color);
	border-radius: 10px;
	margin: 5px;
}
li.slick-active {
	background-color: var(--green-color) !important;
}
dl.inquiry {
	width:100%;
	margin:25px auto;
	color:#000;
}
dl.inquiry dt.must::after{
	content: "必須";
	font-size: 12px;
	padding:2px 10px;
	color:#fff;
	background:var(--hover-color);
	margin-bottom: 5px;
	display: inline-block;
	margin-left:20px;
	border-radius: 4px;
}
dl.inquiry dt,
dl.inquiry dd{
	padding:5px 0;
}
dl.inquiry dd{
	border-bottom: 1px solid #ccc;
	margin-bottom:5px;
}
div.submit {
	width: 100%;
	display: flex;
	justify-content: space-around;
	margin:25px auto;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
input[type="password"]{
    border:1px solid #ccc;
    width:calc(100% - 30px);
    margin-left:30px;
    line-height: 2em;
    border-radius: 4px;
    box-sizing: border-box;
    padding:5px 10px;
    margin-bottom:20px;
}
input[type="submit"],
input[type="button"]{
    width:120px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    margin:25px auto;
    border-radius: 4px;
    cursor: pointer;
    color:#fff;
}
input[type="submit"]{
    background:var(--main-color);
}
input[type="submit"]:hover{
	background:var(--hover-color);
}
input[type="button"]{
    background:#333;
}
input[type="button"]:hover{
	background:var(--hover-color);
}
.req {
	color:red;
}

input[type=checkbox]{
	width:16px;
	height: 16px;
	border:2px solid var(--main-color);
	cursor: pointer;
}
input[type=checkbox]:checked{
	background:var(--main-color);
}
.privacyBox {
	text-align: center;
}
.privacyBox label{
	margin-left:20px;
	border-bottom:1px solid var(--main-color);
	cursor: pointer;
}
.privacyBox label:hover{
	color:var(--hover-color);
}
.modal_wrap input {
  display: none;
}

.modal_overlay {
  display: flex;
  justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
}

.modal_trigger {
  position: absolute;
  width: 100%;
  height: 100%;
}

.modal_content {
    align-self: center;
    /*box-sizing: border-box;*/
    line-height: 1.4em;
    background: #fff;
    transform: scale(0.3);
    transition: 0.5s;
    position: absolute;
    overflow: hidden;
    overflow-y: auto;
}

.close_button {
  position: absolute;
  top: 20px;
  right: 16px;
  cursor: pointer;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background:url("../images/close_icon.svg") center center no-repeat;
  background-size:30px;
}
.close_button:hover{
    background-image:url("../images/close_icon_d.svg")
}
.modal_wrap{
	color:#000 !important;
}
.modal_content{
    display: block;
    height: 90vh;
    width:90vw;
}
.modal_wrap input:checked ~ .modal_overlay {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
}

.modal_wrap input:checked ~ .modal_overlay .modal_content {
  transform: scale(1);
    border-radius: 10px;
}
.modal_content h2{
    line-height: 66px;
    text-align: center !important;
    border-bottom:1px solid #ccc !important;
    font-size: 20px;
    font-weight: bold;
}
body.dark .modal_content h2{
    color:#fff;
    border-bottom:1px solid #cc1e1e !important;
}

div.nextSectionWrap {
    width: 100%;
    height: calc(100% - 77px);
    display: flex;
    justify-content: center;
    align-items: center;
}
div.nextSection {
    padding:10px;
    overflow-y: auto;
    width: calc(100% - 10px);
    height: calc(100% - 20px) !important;
    display: block;
    text-align: left;
    padding-right: 20px;
}
div.nextSection h3 {
    font-size:18px;
    font-weight: bold;
    color:var(--main-color);
    margin:40px 0 10px;
}
div.nextSection p{
    margin-left:10px;
}
p.button {
    width: 120px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    border-radius: 4px;
    cursor: pointer;
    color: #fff;
    margin-left:none !important;
}
p.button.close {
    background: gray;
}
p.button.confirm {
    background: green;
}
p.button.confirm:hover {
    background: lightgreen;
    color: #000;
}
p.button.close:hover {
    background: lightgray;
    color: #000;
}