@charset "UTF-8";

/* common =================================================================================================================*/

* {
	box-sizing: border-box;
}

body {
/* 	font-family: Arial, Roboto, “Droid Sans”, “游ゴシック”, YuGothic, “ヒラギノ角ゴ ProN W3”, “Hiragino Kaku Gothic ProN”, “メイリオ”, Meiryo, sans-serif;	===*/
font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;　	
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;　}　
	line-break:normal;
	letter-spacing: 0.5px;
	line-height: 1.7;
	color: #666;
	background: #fff;
	width:100%;
	overflow-x:hidden;
	position: relative;

	@media screen and (min-width: 771px) {
		body {
			font-size:1.4rem;
		}
	}
	@media screen and (max-width: 770px) {
		body {
			font-size:1.3rem;
			padding-top:0px;
			min-width:320px;
		}
	}

a {
	text-decoration: none;
	color: #515151;
}

/* 木原先生リクエストにつき追加　楫野*/
div.gallery-font a{
	color: #6496fa;
}

main {
	position: relative;
	width: 100%;
}
	@media screen and (min-width: 771px) {
		main {
			margin: 0 auto 100px;
		}
	}
	@media screen and (max-width: 770px) {
		main {
			margin: 0 auto 50px;
		}
	}
	
ul {
    padding: 0;
    margin: 0;
}

#wrap {
	/* display: none; */
}
/* ヘッダー =================================================================================================================*/
/* Hoverアクション =================================================================================================================*/
a.hoverALine {
	position: relative;
	padding: 0 0 10px;
}

	a.hoverALine.current::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 2px;
	}

	@media screen and (min-width: 771px) {
		a.hoverALine:not(.current)::after {
			content: "";
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			height: 2px;
			background: #51bed5;
			-webkit-transform-origin: right top;
			transform-origin: right top;
			-webkit-transform: scaleX(0);
			transform: scaleX(0);
			-webkit-transition: transform .3s cubic-bezier(.25,.46,.45,.94) 0ms;
			transition: transform .3s cubic-bezier(.25,.46,.45,.94) 0ms;
		}
		a.hoverALine:not(.current):hover::after {
			-webkit-transform-origin: left top;
			transform-origin: left top;
			-webkit-transform: scale(1);
			transform: scale(1);
		}

		a.hoverALine.current::after {
			background: #51bed5;
		}
	}
	@media screen and (max-width: 770px) {
		a.hoverALine:not(.current):active::after {
			-webkit-transform-origin: left top;
			transform-origin: left top;
			-webkit-transform: scale(1);
			transform: scale(1);
		}
	}


/* siteHeader =================================================================================================================*/
.siteHeader {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 30;
	background:#fff;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
}
	@media screen and (min-width: 771px) {
		.siteHeader {
			height: 80px;
			-webkit-align-items: center;
			align-items: center;
		}
	}
	@media screen and (max-width: 770px) {
		.siteHeader {
			height: 50px;
			-webkit-align-items: stretch;
			align-items: stretch;
		}
	}

.siteHeaderInner {
	width: 100%;
	position: relative;
	background:#fff;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
	-webkit-align-items: stretch;
	align-items: stretch;
	padding: 0px 0 0px 3%;
	margin: auto;
}
	@media screen and (max-width: 770px) {
		.siteHeader .siteHeaderInner {
			margin: 0 auto;
		}
	}

.logo {
	margin: 0 auto 0 0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
	-webkit-align-items: center;
	align-items: center;
}

.logo a {
	display:block;
	line-height:1;
	margin: auto 0;
}
.mainNav {
	width: calc(100% - 160px);
	margin: 0;
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
	-webkit-align-items: center;
	align-items: center;
	font-family: "Candara";
}

.mainNav ul.humNavi {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
}

.mainNav ul.humNavi li {
	vertical-align:middle;
	list-style: none;
}


/* ハンバーガーナビ部分 -----------------------------------------------------------------------------------*/
.hamburger{
	display: none;
}

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

.hamburger{
	display: inline;
}

.hamburger-button {
  display: flex; /* media query時にはflexでもどして */
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 7px;
  right: 20px;
  z-index: 1002;
  background-color: #fff;
  border: 1px solid #EEE;
  cursor: pointer;
  width: 40px;
  height: 40px;
  outline: none;
}

.hamburger-button:hover{
	opacity: 0.6;
	box-shadow: 2px 2px 4px gray;
}

.hamburger-button svg {
  height: 25px; /* autoではなく同じ数字で */
  width: 25px; /* autoではなく同じ数字で */
}

.hamburger-button path {
  fill: #000;
}

.hamburger-nav {
  position: fixed;
  width: 250px;
  height: 100%;
  background-color: #DDD;
  text-align: center;
  z-index: 1001;
  display: none;
  overflow: auto;
}

.hammenu-ul{
	list-style:none;
}

.hammenu img{
	  height: auto;
	  width:50%;
}

.hammenu{
	display: inline-block;
	width: 100%;
	border:1px solid #DDD;
	padding: 50px 20px 20px 20px;
}

.hammenu:hover{
	opacity: 0.6;
	background-color: #BBB
}

#hamburger-overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0,0,0,.8);
  pointer-events: none;
  opacity: 0;
  z-index: 1000;
}

	

	#hum {
		display:none;
	}
}

/* ライン部分 -----------------------------------------------------------------------------------*/
.mainVisualLine {
	max-width: 1000px;
	min-height: 100%;
	position: absolute;
	top: 0;
	bottom: -50%;
	z-index: -1;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
}
	@media screen and (min-width: 771px) {
		.mainVisualLine {
			width: 80%;
		}
		.mainVisual.index .mainVisualLine {
			left: 2%;
		}
		.mainVisual.page .mainVisualLine {
			left: 5%;
		}
	}
	@media screen and (max-width: 770px) {
		.mainVisualLine {
			width: 40%;
			right: 5%;
		}
	}

.mainVisualLine .lineLeft {
	width: 60%;
	max-width: 400px;
	background: #FFCC66;
	background: -moz-linear-gradient(left, #FFCC66 0%, #7aea9a 75%, #e3faeb 75%, #e3faeb 100%);
	background: -webkit-linear-gradient(left, #FFCC66 0%,#7aea9a 75%,#e3faeb 75%,#e3faeb 100%);
	background: linear-gradient(to right, #FFCC66 0%,#7aea9a 75%,#e3faeb 75%,#e3faeb 100%);
}
.mainVisualLine .lineRight {
	width: 40%;
	max-width: 280px;
	background: #fff;
}
	.mainVisualLine span {
		height: 100%;
		display: inline-block;
		margin: 0;
		opacity: 0.7;
		-webkit-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
	}

.mainVisual .mainVisualImage {
	display: inline-block;
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
	position: relative;
}
	@media screen and (min-width: 771px) {
		.mainVisual .mainVisualImage::before,
		.mainVisual .mainVisualImage::after {
			content: "";
			width: 150px;
			position: absolute;
			top: 0;
			bottom: 0;
			z-index: 1;
		}
		.mainVisual .mainVisualImage::before {
			left: 0;
			background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
			background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
		}
		.mainVisual .mainVisualImage::after {
			right: 0;
			background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
			background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
		}
	}

@-webkit-keyframes fadeInRight20 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRight20 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInRight20 {
	-webkit-animation-name: fadeInRight20;
	animation-name: fadeInRight20;
}

@-webkit-keyframes blur {
	from {
		opacity: 0;
		transform: translate3d(0px,0px,0px) scale(1.2);
		filter: blur(15px);
	}
	to {
		opacity: 1;
		transform: translate3d(0px,0px,0px) scale(1);
		filter: blur(0px);
	}
}
@keyframes blur {
	from {
		opacity: 0;
		transform: translate3d(0px,0px,0px) scale(1);
		filter: blur(15px);
	}
	to {
		opacity: 1;
		transform: translate3d(0px,0px,0px) scale(1);
		filter: blur(0px);
	}
}
.blur {
	-webkit-animation-name: blur;
	animation-name: blur;
}





@media screen and (max-width:770px) {
	#indexBlogSection::after {
		top:40px;
	}
}

.logo {
	display:inline;
}
.logo {
	max-width: 200px;
	width:100%;
}
.logo a {
	display:block;
	line-height:1;
	margin: auto 0;
}
.logo img {
	max-height:50px;
	height:auto;
}
.siteHeader {
	height:80px;
}
.siteHeaderInner {
	-webkit-align-items: center;
	align-items: center;
}
.siteHeader .siteHeaderInner {
	padding: 0px 3.5em;
	margin: 0;
}
.mainNav ul.humNavi {
	margin-right:0;
}
.mainNav ul.humNavi li {
	margin-right: 2em;
}
.mainNav ul.humNavi li a {
	font-size: 1.6rem;
}

@media screen and (max-width: 1200px) {
	.logo {
		margin:0px;
		text-align: center;
	}
	.logo a img {
		margin-top: 50px;
		max-height: 50px;
	}
	.siteHeader {
		height: 100px;
	}
	.siteHeaderInner {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: center;
		justify-content: center;
	}
	.siteHeader .siteHeaderInner {
		padding: 20px 1em;
	}
	.order_top {
		order:-1;
	}
	.snsList {
		position: absolute;
		right: 0;
		top: 0;
	}
	.mainNav {
		width:100%;
		margin:1em auto 0 auto;
		position: static;
	}
	.mainNav ul.humNavi{
		-webkit-justify-content: space-around;
		justify-content: space-around;
	}
	.mainNav ul.humNavi li {
		margin-right: 0;
	}
}
@media screen and (max-width: 770px) {
	.logo {
		margin:0;
		text-align: left;
	}
	.logo a {
		display: flex;
		align-items: center;
		padding: 5px 0 5px;
	}
	.logo a img {
		max-width:200px;
		max-height:40px;
		height:auto;
		margin-top: 0;
	}
	.siteHeader {
		height: 50px;
	}
	.siteHeader .siteHeaderInner {
		margin: 0 auto;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
	}



@media screen and (min-width: 771px){
	.siteHeaderInner .logo{
		max-width: 240px;
	}
	.siteHeaderInner .logo a{
		vertical-align: middle;
	}
	
}
}

/* ヘッダー（ここまで） =================================================================================================================*/
body {
    margin:100px 0;
    padding: 0;
}

@media screen and (max-width: 1200px) {
	body {
    margin-top:175px
}
}

@media screen and (max-width: 770px) {
body {
    margin-top:70px
}
}

ul {
    padding: 0;
    margin: 0;
}


/* スライダー =================================================================================================================*/
 
.slider img {
    width: 100%;
    height: 38vw;
    object-fit: cover;
    margin: 0 auto;
    z-index: 1;
    
}

.slider {
    max-width: 100%;
    height: 38vw;
    margin: 0 auto;
}

.slick-prev,.slick-next{
    width: 40px;
    height: 40px;
    margin: 0 50px;
    z-index: 5;
}

.slick-prev:hover,.slick-next:hover{
    opacity: 1;
}
 
.slick-prev:before, .slick-next:before {
    opacity: 0.4;/*デフォルトは.75が指定されている*/
    font-size: 40px;/*少し大きくする*/
    z-index: 1
}



@media screen and (max-width: 770px) {
.slider img {
 /*    height: 300px;  */
    }
    
.slider {
/*     height: 300px;　*/
}

.slick-prev,.slick-next{
    width: 60px;
    height: auto;
    margin:0 50px;
    z-index: 5;
}

.slick-prev:before, .slick-next:before {
    opacity: 0.4;/*デフォルトは.75が指定されている*/
    font-size: 60px;/*少し大きくする*/
    z-index: 1
}
}
 





/*ギャラリー（見出し） =================================================================================================================*/

.yohaku{
	padding-top: 30px;
	padding-bottom: 0px;
	/*copyright の下の幅===*/
	background-color: black;
	margin: 0;
}

.gallery-font h1{
	margin-top: 80px;
}

.gallery-font h1, h2{
  text-align:center;
  font-weight:normal;
  font-family: "Candara";
  font-size:38px;
  text-shadow:0 1px 1px black;
  color:white;
  z-index: 3
}

.gallery-font h2{
  font-size:28px;
  font-family: "Candara", Gadget, sans-serif;
}

.gallery-font p{
  color:white;
  text-align:center;
  font-size:18px;
  margin-top: 50px;
  margin-bottom: 80px; 
  z-index: 3
}

.gallery-font{
	position: relative;
}

.back-photo1 img{
	position: absolute;
	top:0;
	left:20%;
	z-index: 1;
	width:20%;
	height: 12vw;
}

.back-photo2 img{
	position: absolute;
	top:0;
	right:20%;
	z-index: 1;
	width:20%;
	height: 12vw;
}

@media screen and (max-width: 1200px) {
	.back-photo1 img{
	position: absolute;
	top:0;
	left:0;
	z-index: 1;
	width:30%;
	height: 100%;
}
    .back-photo2 img{
	position: absolute;
	top:0;
	right:0;
	z-index: 1;
	width:30%;
	height: 100%;
}
}


@media screen and (max-width: 770px) {
.gallery-font h1{
  font-size:7vw;
}

.gallery-font h2{
  font-size:5vw;
}

.gallery-font p{
  font-size:3vw;
}

}



/*ロングスライド(横比率)=================================================================================================================*/
.slideshow li{
	list-style: none;
}

/* スライドする要素 */
.content {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 10px;
  z-index: 5;
}

/* スライドレールの枠 */
.wrap {
  overflow: hidden;
  display: flex;
  align-items: center;
  z-index: 5;
}
/* content4つをまとめたスライドブロック */
.slideshow {
  display: flex;
  -webkit-animation: loop-slide 50s infinite linear 0.1s both;
  animation: loop-slide 50s infinite linear 0.3s both;
  z-index: 5;
}

.slideshow img{
  width: 20vw;
  height: 15vw;
  z-index: 5;
}

@-webkit-keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
/* ホバー時に動きを止める*/
.slide-paused:hover .slideshow {
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
}

/* ホバー時の装飾 */
.content-hover {
  transition: all 0.2s;
}

.content-hover:hover {
  transform: translateY(-20px);
  border-radius: 0 10%;
  box-shadow: 0 3px 10px 0 #333;
  opacity: 0.8;
  cursor: pointer;
}

.name,.name2{
  display: inline-block;
  width: 100%;
  text-align: center;
  color: white;
  font-size: 15px;
  margin: 0;
  padding: 0;
}

.name:hover{
	color:#51bed5;
}
.name2{
	opacity: 0.6;
}

@media screen and (max-width: 1200px) {
	
.name,.name2{
  display: block;
  font-size: 13px;
}
}


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

.slideshow img{
  width: 40vw;
  height: 35vw;
  z-index: 5;
}

}

/*拡大スライダー =================================================================================================================*/
    
.modaal-gallery-item img{
}

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

.modaal-gallery-item img{
}
}


#inline-frame{
	border:none;
}


/*テーブルー =================================================================================================================*/

table {
  margin: 20px auto;
}
 .tbl-r02 {
    width: 80%;
   font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 60px auto 40px;
  }

.tbl-r02 th {
  width: 15%;
  background: #660000;
  border: solid 1px #ccc;
  color: #fff;
  padding: 10px;
}

.td1 {
  width: 20%;
  border: solid 1px #ccc;
  padding: 10px;
}
 .td2 {
  border: solid 1px #ccc;
  padding: 10px;
}
@media screen and (max-width: 980px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }

.tbl-r02 th,.tbl-r02 td {
    border-bottom: none;
    display: block;
    width: 100%;
}
}

/* submenu 20220526 kajino 追加
****************************************************/

.menuSub {
  position: absolute;
  margin-left: -6px;
  padding: 0;
  display: none;
}

.menuSub li a {
  width: 200px;
  padding: 5px;
  margin-left: 0px;
  margin-right: -5px;
  margin-bottom: -5px;
  display: block;
  color: black;
  text-decoration: none;
  background-color: #CCC;
  opacity: 0.8;
  margin-top: 10px;
}

.menuSub li a:hover {
  background: #C2EEFF;
  opacity: 1;
  font-weight: normal;
}

.menuSub span{
	font-family: "小塚ゴシック Pro EL";
	font-size: 18px;
	letter-spacing: 2px;
}

.en li:hover{
  opacity: 0.7;
}

.en li:hover ul{
  display: block;
}

