@charset "UTF-8";

html {
  scroll-behavior:smooth;
}
body {
	line-height: 180%;
    overflow-x: hidden;
	font-family:'Noto Sans JP', sans-serif,"Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
	color: #000;
	letter-spacing : 0.05em;
	font-size: 1em;
	line-height: 200%;
	font-feature-settings: "palt";
	background: url("../images/back22.png") repeat ;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
   -webkit-animation: fadeIn 1.5s ease 0s 1 normal;
    animation: fadeIn 1.5s ease 0s 1 normal;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
 /* @keyframes fadeIn {
    0% {
      opacity: 0
    }
    100% {
      opacity: 1
    }
  }
  @-webkit-keyframes fadeIn {
    0% {
      opacity: 0
    }
    100% {
      opacity: 1
    }
  } */
h1,h2,h3,h4,.item .title,.item .buy .price,.setitem .tit,.setitem .price{
	font-weight: normal;
	font-family:'Noto Sans JP', sans-serif,"Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
	color: #000;
}
ul,li{
	list-style: none;
}
a {
  text-decoration: none;
  color: inherit;
}
a:hover {
  color: #0082B5;
}
.text-wide{
	transform: scale(1.05, 1);
}
.br-pc{
	display:inline;
}
.br-sp{
	display:none;
}

@media screen and (max-width:780px) {
.br-pc{
	display:none;
}
.br-sp{
	display:inline;
}
}

/* ふわっと
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}
 */
#logo img{
	width: 15vw;
}
.nav-h{
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 100%;
	z-index: 2;
}
.nav-h .h-ul{
	display: flex;
	margin: 1.8vw;
	right: 10px;
	text-align: right;
}
.nav-h .h-li{
	padding: 1vw;
}
.slider{
	position: relative;
	top:-7vh;
}
/* ================================
  swiper
================================ */

.swiper{
	position: relative;
}
.swiper .logo{
	position: absolute;
	z-index: 1;
	bottom: -1.7vh;
	right:8vw;
}
.swiper .logo img{
	width: 28vw;
}
.swiper--wrapper {
	position: absolute;
	width: 100%;
	top:0;
	z-index: 0;
}

.swiper-slide img {
  width: 100%;
}

/* ================================
  iframe-wrapper
================================ */
.iframe-wrapper {
  position: relative;
  padding-bottom: 35%;
  height: 0;
  overflow: hidden;
}

.iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.banner{
	margin: auto;
	text-align: center;
}
.banner2{
	margin: auto auto 30px;
	text-align: center;
}
.banner2 img{
	width: 500px;
}
@media screen and (max-width:1080px) {

.iframe-wrapper {
  padding-bottom: 45%;
}
.banner img{
	max-width: 100%;
	height: auto;
	font-size: 0.9em;
	}
.banner2 img{
	max-width: 70%;
	height: auto;
	}
}		

/* ================================
  banner
================================ */

a:hover img{
  opacity: 0.95;
}

.bn a:hover img{
  transform: translateY(-5px);
  transition-duration: 0.5s;
}

.banner{
	margin: auto;
}

/* ================================
  ハンバーガーボタン
================================ */

.hamburger{
	display: none;
}
nav.globalMenuSp{
	display: none;
}
@media screen and (max-width:780px) {
.slider{
	top:-5vh;
}
.swiper .logo{
	right:18vw;
}
.swiper .logo img{
	width: 57vw;
}
#logo img{
	width: 33vw;
}
nav{
	display: none;	
}
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 13px;
  top   : 10px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
  -webkit-transition: 0.5s all;
  -moz-transition   : 0.5s all;
  transition        : 0.5s all;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #0082B5;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active{
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
}
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}
.hamburger.active span:nth-child(2) {
  top: 16px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}
.hamburger.active span:nth-child(3) {
  opacity: 0;
}

nav.globalMenuSp {
	display : block;
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #000;
  background: #eee;
  text-align: center;
  transform: translateY(-100%);
  transition: all 0.6s;
  width: 100%;
padding:60px 0;
	font-size: 1.1em;
}

nav.globalMenuSp ul {
  background: #eee;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 0px solid #fff;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #000;
  padding: 1em 0;
  text-decoration :none;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateY(0%);
}
}



/* ================================
  button
================================ */
.btn {
  position: relative;
  width: 320px;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  margin: 50px auto 30px;
}

.btn a {
	display: inline-block;
	width: 100%;
	padding: 20px 0;
	border-radius: 50px;
	cursor: pointer;
	line-height: 1;
	text-decoration: none;
	font-size: 1em;
	border:#0082B5 solid 2px;
	background: #fff;
}
.btn::after {
	position:absolute;
	content:url("../images/btn_yaji.png");
	display: inline-block;
	top: 12px;
    right: 15px;
}
.btn a:hover{
	border:#00AFE5 solid 2px;
}
.btn .mail{
	margin-left:40px;
}

.btn:hover {
}

/* ================================
  お問い合わせ button
================================ */

.contact_bn{
	margin: 35px auto;
	padding: 30px 40px;
	border-radius: 18px;
	border: solid 2px #0082B5;
	background-color: #fff;
	background-image:radial-gradient(#d5e5ee 10%, transparent 30%);
	background-size: 5px 5px;
	font-size: 1em;
	display: flex;
	color:#0082B5;
	justify-content: space-between;
}
.contact_bn .label{
	background-color:#0082B5;
	border-radius: 30px;
	color: #fff;
	font-size: 1.1em;
	padding: 0 15px;
	font-weight: bold;
	margin: 3px 0;
}
.contact_bn .tel{
	font-size: 2.2em;
	letter-spacing: .09em;
	font-weight: bold;
}
.contact_bn .tel::before{
	content: url("../images/telicon.png");
	display: inline-block;
	margin-right:10px;
}
.contact_bn .name{
	font-weight: bold;
	font-size: .5em;
	letter-spacing: normal;
	margin:20px 0;
	vertical-align:top;
}
@media screen and (max-width:1080px) {
	.contact_bn{
	display: block;
	text-align: center;
	padding: 10px 20px 5px;
	font-size: .8em;
}
	.contact_bn .tel{
		margin: 12px auto 0px;
		font-size: 1.9em;
		line-height: 100%;
	}
	.contact_bn .label{
		font-size: .95em;
		border-radius: 20px;
	}
}
@media screen and (max-width:780px) {
	.contact_bn{
		border-radius: 8px;
	}
}
/* ページTOPに戻る 
------------------------------------ */
#page_top {
position: fixed;
right: 20px;
bottom: 30px;
z-index: 30;
	line-height: 90%;
}
#page_top a{
border-style: solid;
border-width: 0 45px 75px 45px;
border-color: transparent transparent #05abc4 transparent;
position: relative;
right: 0px;
bottom: 0px;
width: 0;
height: 0;
display: block;
text-decoration: none;
color: #fff;
text-align: center;
}
#page_top a:hover{
border-color: transparent transparent #5BC4D5 transparent;
}
#page_top a:before{
	width: 50px;
	white-space:pre;
	content:'お問い\A合わせ';
	font-size: 11px;
	color: #fff;
	right: 17px;
    top: 37px;
	position: relative;
	z-index: 40;
}
.page-top {
	position: relative;
	top: 0px;
	left: 50%;
	width: 10px;
	height: auto;
	margin-left: -5px;
	transition: all .3s;
}

.page-top img {
	position: relative;
	width: 10px;
	left:48%;
	bottom:0;
	margin: auto;
}
.page-top:hover {
	position: relative;
	top: -3px;
	left: 50%;
}

/* 
------------------------------------------------------------------------ */
.container{
	width: 1080px;
	margin: 20px auto;
	text-align: left;
}
h2{
	font-size: 2em;
	font-weight: bold;
	color: #0082B5;
	margin: 150px auto 10px;
	letter-spacing : 0.1em;
}
h3{
	font-size: 1.3em;
	font-weight: bold;
	color: #0082B5;
	border-bottom: dotted 1px #0082B5;
	padding-bottom: 10px;
	margin:40px auto 10px;
}
.line{
	padding-bottom: 10px;
	border-bottom: 2px solid #0082B5;
	margin-bottom: 40px;
}
.linepink{
	padding-bottom: 10px;
	border-bottom: 2px solid #C74678;
	margin-bottom: 40px;
}
.flex{
	display: flex;
    justify-content: space-between;
}
.tiser{
	text-align: center;
	font-size: 1.7em;
	margin: -20px auto 30px;
}
.concept{
	position: relative;
	background: url("../images/concept_back22.png") bottom right ;
	padding: 40px 0;
}
.concept .flex{
	display: flex;
    justify-content: space-between;
}
.concept .con_ri{
	width: 55%;
	line-height: 250%;
}
.concept .con_ri img{
	margin-bottom: 20px;
}
.concept .con_le{
	display:block;
	width: 55%;
	position: absolute;
	bottom:13vw;
	right: 0;
}
.concept .con_le img{
	width: 100%;
}
.top_biggi{
	margin: 30px auto;
}
@media screen and (max-width:780px) {
.concept{
	position: relative;
	background: url("../images/concept_back2.png") bottom left no-repeat;
	padding: 40px 0;
}
.concept .con_ri{
	display:block;
	width: 100%;
}
.concept .con_le{
	display: none;
	}

.concept .conicon img{
	width: 100%;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	}
.concept .con_ri{
		line-height: 200%;
}
	.welcome img{
		width: 100%;
	}
	#guide .weltxt{
		margin-bottom: 50px;
	}
}
.ig-g{
	background: #EBEBEB;
	padding: 80px 0 80px;
	margin-bottom: 80px;
}
.ig-g h2{
	margin: 0;
	margin-right: 30px;
}
.ig-txt{
	display: flex;
	margin-bottom: 20px;
}
.igbn{
	display: flex;
	justify-content: space-around;
	width: 1280px;
    margin: auto auto auto -100px;
}
.igbn img{
	width: 98%;
	margin: 20px auto;
}

.calendar{
	text-align: left;
}
.calendar .yoyaku {
	margin: 80px auto 25px;
}
.calendar .midashi{
	display: flex;
}
.calendar .midashi img{
	margin-left: 20px;
	height: 100%;
}
.calendar .midashi h2{
	margin: 0;
}
.blue{
	color: #0082B5;
}
.pink{
	color: #C74678;
}
.bold{
	font-weight: bold;
}
.font-st{
	font-size: 1.3em;
}
.font-min{
	font-size: .8em;
}
.calendar .fish{
	width: 37%;
	line-height: 170%;
}
.yoyaku{
	display: flex;
	justify-content: space-between;
}
.price .list{
	display: flex;
	margin-top: 40px;
}
.price .list-m{
	width: 100%;
}
.caption{
	margin-top: 10px;
	font-size: .9em;
	line-height: 160%;
}
#boading{
}
#boading dt{
	font-size: 1.5em;
    font-weight: bold;
    color: #0082B5;
    margin: 50px auto 10px;
}
#boading dd{
	line-height: 160%;
}
#boading .attention{
	margin: 35px auto;
	padding: 20px 40px;
	border-radius: 18px;
	border: solid 2px #0082B5;
	font-size: 1em;
}
#boading .round{
  position: relative;
  padding-left: 15px;
}

#boading hr{
	margin-top: 0px;
	margin-bottom: 40px;
	border-top: 1px solid #0082B5;
	
}
#boading .round:before {
  content: "";
  position: absolute;
  top: .7em;
  left: -.4em;
  width: 13px;
  height: 13px;
  background-color: #0082B5;
  border-radius: 50%;
}
/*アコーディオン全体*/
#boading .menu {
  width: 100%;
	margin: 35px auto;
	border-radius: 18px;
	border: solid 2px #0082B5;
}
#boading .menu h4{
	text-align: center;
	font-size: 1.3em;
    font-weight: bold;
    color: #0082B5;
	margin: 10px auto 0 ;
}
#boading .menu p {
	text-align: center;
	margin-bottom: 10px;
}
#boading .menu input {
  display: none; /*チェックボックスを隠す*/
}
/*バー部分*/
#boading .menu label {
  cursor :pointer;
  display: block;
  text-decoration: none;
  position: relative;

	font-size: 1em;
}
/*開いたときに表示される部分*/
#boading .menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-bottom: 1px;
}
#boading .menu li {
  height: 0;
  overflow-y: hidden;
  transition: padding-bottom 0.5s, padding-top 0.5s; /*閉じるときのアニメーション*/
  -webkit-transition: padding-bottom 0.5s, padding-top 0.5s;
  -moz-transition: padding-bottom 0.5s, padding-top 0.5s;
  -ms-transition: padding-bottom 0.5s, padding-top 0.5s;
  -o-transition: padding-bottom 0.5s, padding-top 0.5s;
}
#boading #menu_bar01:checked ~ #links01 li,
#boading #menu_bar02:checked ~ #links02 li {
  height: auto; /*開いたときに表示されるliの高さ*/
  opacity: 1;
  padding: 0px 80px 50px;
}
 /*開いたときの下の余白*/
#boading #menu_bar01:checked ~ #links01 li:last-child,
#boading #menu_bar02:checked ~ #links02 li:last-child {
}
/*閉じた状態の矢印描画*/
#boading .menu label:after{
  content:"";
  display:block;
  width:10px;
  height:10px;
  border-top: #0C7BAB 2px solid;
  border-right: #0C7BAB 2px solid;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  position:absolute;
  right: 3%;
  top: 0;
  bottom: 15%;
  margin: auto;
}
/*開いた状態の矢印描画*/
#boading .menu input[type=checkbox]:checked + label:after{
  content:"";
  display:block;
  width:10px;
  height:10px;
  border-top: #0C7BAB 2px solid;
  border-right: #0C7BAB 2px solid;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position:absolute;
  right: 3%;
  top: 7%;
  bottom: 0;
  margin: auto;
}

@media screen and (max-width:780px) {
	#boading dt{
		font-size: 1.1em;
		margin:30px auto 7px;
	}
	#boading .menu {
	border-radius: 8px;
	}
	#boading .menu p{
		font-size: .9em;
		line-height: 150%;
	}
	#boading #menu_bar01:checked ~ #links01 li, #boading #menu_bar02:checked ~ #links02 li{
		padding: 0px 30px 30px;
	}
}
#access .map{
	display: flex;
	justify-content: space-between;
}
.access_tit{
	display: flex;
	line-height: 150%;
	margin:60px auto 30px;
}
.access_tit img{
	height: 100%;
	margin:5px 30px 0 0;
}
.obi_01{
	background: url("../images/obi_01.png") no-repeat center;
	width: 100%;
	height: 200px;
	color: #fff;
	font-weight: bold;
	font-size: 2em;
	display: flex;
	align-items: center;
	margin-top: 150px;
}
.obi_02{
	background: url("../images/obi_02.png") no-repeat center;
	width: 100%;
	height: 200px;
	color: #fff;
	font-weight: bold;
	font-size: 2em;
	display: flex;
	align-items: center;
	margin-top: 150px;
}



/*　　sub
------------------------------------------------------------------------ */
.subtop img{
width: 100%;
	margin-top: -60px;
}
.submiddle img{
  margin: 0 calc(50% - 50vw);
  width: 100vw;
	margin-top: 10vw;
	margin-bottom: 7vw;
	
}
.sub h1{
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
	color: #0082B5;
    margin: 50px auto 100px;
    letter-spacing: 0.1em;
	position: relative;
}
.sub h1::after{
	content: "";
	position: absolute;
	border-bottom: 2px solid #0082B5;
	width: 100px;
	bottom:-30px;
	left: 50%;
	transform: translate(-50%, -50%);
}

/*　　privacy
------------------------------------------------------------------------ */
#privacy .intro{
	color: #0082B5;	
	font-size: 1.1em;
}
#privacy ol{
	margin: 40px auto;
}
#privacy li{
	list-style: decimal;
	margin-left:20px;
	margin-bottom:10px;
}
#privacy li::marker{
	color: #0082B5;
	font-size: 1.2em;
}

/*　　link
------------------------------------------------------------------------ */
#link .obi{
	background: #efefef;
	padding: 5px 15px;
	margin: 30px auto 10px;
	color: #0082B5;
	font-weight: bold;
}
#link .list{
	display: flex;
	flex-wrap: wrap;
	align-items:flex-start;
}
#link .list li{
	width: 50%;
	margin:10px 0;
}
#link .list li a{
	text-decoration:underline;
}
#link .point{
	position: relative;
}
#link .point img{
	position: absolute;
	display: inline-block;
	width: 80px;
	top:-17px;
	padding-left: 10px;
}

/*　　about
------------------------------------------------------------------------ */
#about .labels{
	width: 30%;
	margin:20px auto 5px;
	position: relative;
}
#about .plofimg-s{
	position: absolute;
	top:180px;
	left: -100px;
	z-index: -1;
}
#about .plofimg-l{
	position: absolute;
	top:110px;
	left: -100px;
	z-index: -1;
}
#about .abotxt{
	width: 70%;
	margin-left: 50px;
}
#about h2{
	font-weight: bold;
	color: #000;
	font-size: 1em;
	margin:20px auto 5px;
}
#about .names{
	font-size: 1.2em;
}
#about .photo{
	margin: 70px auto 150px;
}

#about .kaiyou{
	text-align: center;
	margin: 35px auto -200px;
	padding: 30px 40px;
	border-radius: 18px;
	border: solid 2px #0082B5;
	background-color: #fff;
	background-image:radial-gradient(#d5e5ee 10%, transparent 30%);
	background-size: 5px 5px;
	font-size: 1em;
}
#about .kaiyou h1{
	margin: 10px auto 70px;
}
#about .kaiyou h4{
	margin: 0px auto 20px;
	font-size: 1.7em;
	font-weight: bold;
	line-height: 200%;
}
#about .kaiyou .miu{
	margin-bottom: 20px;
}
#about .kaiyouimg{
margin-top: 160px;
    width: 1400px;
    left: 50%;
    transform: translate(-50%, -50%);
    position: relative;
    margin-bottom: -60px;
}
#about .kaiyou .produced{
	margin: 40px auto 10px;
	position: relative;
}
#about .kaiyou .produced::after{
	padding-bottom: 10px;
	content: "";
	position: absolute;
	border-bottom: 1px solid #000;
	width: 30px;
	bottom:-10px;
	left: 50%;
	transform: translate(-50%, -50%);
}
@media screen and (max-width:780px) {
	#about .flex{
		display: block;
	}
	#about .abotxt{
		width: 100%;
		margin-left: 0;
	}
	#about .labels{
		width: 100%;
		text-align: center;
	}
	#about .photo{
		text-align: center;
	}
	#about .plofimg-s ,#about .plofimg-l{
		position: inherit;
		top:0;
		left: 0;
		width: 80%;
	}
	#about .kaiyouimg{
		width: 100%;
		left:0;
		transform: none;
		margin: 0;
}
	#about .kaiyouimg img{
		width:30%;
	}
	#about .kaiyou h4{
		font-size: 1.3em;
		line-height: 150%;
	}
	#about .kaiyou .miu img{
		width: 100%;
	}
	#about .kaiyou .produced{
		margin-top: 40px;
	}
}

/*　　guide
------------------------------------------------------------------------ */
#guide .weltxt{
	width: 60%;
	text-align: left;
	margin: auto;
	margin-bottom: 100px;
}
#guide .weltxt p{
	margin-top: 30px;
	line-height: 240%;
	font-size: 1.1em;
}
#guide .welcome{
	position: relative;
}
#guide .welimg1{
	position: absolute;
	left:-170px;
	bottom: -120px;
}
#guide .welimg2{
	position: absolute;
	right:-60px;
	bottom: -180px;
}
#guide .plan{
	background: #EBEBEB;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
	padding: 100px 0 100px;
}
#guide .plantit{
	border-bottom: 2px solid #0082B5;
	color: #0082B5;
	font-size: 1.4em;
	font-weight: bold;
	margin: 30px 0 20px;
	padding-bottom: 10px;
	display: inline-block;
    vertical-align: middle;
    background: url("../images/guide_mark.png") no-repeat center left;
	background-size: 25px auto;
    padding-left: 40px;
	width: 93%;
}
#guide .otokus{
	content: "";
	display: block;
	position: relative;
    vertical-align: top;
    background: url("../images/guide_otokus.png") no-repeat top right;
	top:-100;
}
#guide .otokul{
	content: "";
	display: block;
	position: relative;
    vertical-align: top;
    background: url("../images/guide_otokul.png") no-repeat top right;
	top:-100;
}
#guide .plan-l{
	width:48%;
}
#guide .planimg img{
	width: 100%;
}
#guide .price{
	font-size: 1.1em;
	margin: 5px 0;
}
#guide .tit-l{
	color: #C74678;
	border-bottom:2px solid #C74678;
}
#guide .plan-h{
	margin-top: 70px;
}
@media screen and (max-width:780px) {
	#guide .plan .plan-l{
		width: 100%;
	}
	#guide .plan .flex{
	display: block;
	}
	#guide .weltxt{
width: 90%;
	}
	#guide .weltxt img{
		width: 100%;
	}
	#guide .welimg1 ,#guide .welimg2{
		display: none;
	}
	#guide .plantit{
		font-size: 1.2em;
	}
	#guide .otokus ,#guide .otokul {
		background-size: 20%;
	}
}
/*　　footer
------------------------------------------------------------------------ */

footer{
	background: url("../images/backimg2.png") no-repeat bottom center;
	height: 1120px;
	position: relative;
}
.footerarea .bncon{
	width: 1080px;
	margin: auto;
	position: absolute;
	bottom:900px;
	left: 50%;
    transform: translate(-50%, 0);
}
.footerarea .bncon img{
	width: 100%;
}
.footerarea{
	padding: 20px 0 20px;
	z-index: 0;
}
.footerarea .bn{
	position: absolute;
	bottom: 490px;
	left: 50%;
	width: 900px;
	display: flex;
	justify-content: space-around;
    transform: translate(-50%, 0);
}
.footerarea .bn img{
	width: 98%;
}
.footerarea .bn2{
	position: absolute;
	bottom: 380px;
	left: 50%;
	width: 450px;
	display: flex;
	justify-content: space-around;
    transform: translate(-50%, 0);
}
.footerarea .bn2 img{
	width: 98%;
}
.calendar .groupbn{
	width: 1100px;
	margin: 50px auto;
	display: flex;
	justify-content: space-around;
	text-align: center;
}
.calendar .groupbn img{
	width: 55%;
	margin: auto;
}
footer{
	color: #fff;
}
footer a:hover{
	color: #B3E5F4;
}

footer .f-blue{
	position: absolute;
	margin-top: 30px;
	padding: 120px 0 80px;
	left: 0;
	bottom:0;
	width: 100%;
}
footer .pagetop{
	width: 50px;
    position: absolute;
    right: 10px;
    top: 100px;
	z-index:10;
}
footer .pagetop::before{
	content: "";
	width: 1px;
	height:70px;
	position: absolute;
	background: #fff;
	top: -55px;
	overflow:hidden;
	left: 44%;
}
footer .pagetop a:hover img{
	transform: translateY(5px);
	transition-duration: 0.5s;
}
footer .f-blue .container{
	margin-right: 150px;
}
footer .f-logo{
	flex-basis: 30%;
	margin-right: 3vw;
	align-items:flex-start;
}
footer .f-logo img{
	width: 200px;
}
footer .f-link{
	position: relative;
	display: flex;
	justify-content: space-between;
}
footer .f-links{
	flex-basis: 70%;
}
footer .f-gloup{
	position: relative;
	display: flex;
	justify-content: space-between;
}
footer .footerfoot{
	display: flex;
	justify-content:space-between;
	margin-top: 30px;
	font-size: .85em;
}
footer .follow{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
footer .copy{
	font-size: 0.8em;
	color: #fff;
}
footer .footicon{
	width: 30px;
	margin: 0 10px;
}
footer .followtxt{
	font-size: .8em;
	font-size: .8em;
	margin-bottom:7px;
	margin-right:5px;
}
@media screen and (max-width:780px) {
	footer .f-gloup{
		display: block;
		font-size: .9em;
	}
	footer .f-logo{
		margin: auto;
	}
	footer .f-blue{
		padding-bottom: 20px;
	}
	footer .copy{
		letter-spacing: 0;
	}
	footer .f-blue .container{
	margin-right: 20px;
	}
	footer .pagetop{
		top:150px;
	}
}

/* レスポンシブ
------------------------------------------------------------------------ */
@media screen and (max-width:1080px) {
.container{
	width: 95%;
}
.nav-h .h-ul {
    font-size: .8em;
    margin-bottom: 70px;
}
.ig-txt h2{
	margin-bottom: 20px;
	}
.ig-txt{
	display: block;
	line-height: 150%;
}
.igbn{
	width: 100%;
	margin: auto;
}
.access_tit{
		display: block;
	}
#access .map {
    display: block;
	}
#access .map img{
    width: 100%;
}
.calendar .yoyaku{
	display: block;
	margin:40px auto 20px;
}
.calendar .fish{
	width: 100%;
}
.footerarea .bncon{
	width: 100%;
}
.footerarea .bn{
    width: 90%;
    z-index: 100;
	bottom: 440px;
}
.footerarea .bn2{
	bottom: 330px;
    width: 50%;
    z-index: 100;
}
.calendar .groupbn{
	width: 100%;	
}
.obi_01{
	background: url("../images/obi_01.png") no-repeat center;
	width: 100%;
	height: 130px;
	color: #fff;
	font-weight: bold;
	font-size: 1.5em;
	display: flex;
	align-items: center;
	margin-top: 90px;
}
.obi_02{
	background: url("../images/obi_02.png") no-repeat center;
	width: 100%;
	height: 130px;
	color: #fff;
	font-weight: bold;
	font-size: 1.5em;
	display: flex;
	align-items: center;
}
}
@media screen and (max-width:780px) {
.subtop img{
	margin-top: -40px;
}
	.sub h1{
	margin: 30px auto 60px;
	}
	.sub h1::after{
	width: 50px;
	bottom:-15px;
	}
	footer{
	background: url("../images/backimg_s.png") no-repeat bottom center;
	height: 850px;
	position: relative;
}
.swiper-slide img {
  width: 100%;
}
body{
	font-size: 0.9em;
	}
h2{
	font-size: 1.5em;
	margin: 80px auto 10px;
	}
.container{
	width: 92%;
}
	.igbn{
		display: block;
	}
	.igbn img{
		margin: 10px auto;
	}
.back{
		padding-top: 20px;
	}
.containers{
	width: 90%;
}
.tiser{
	margin: 0px auto 10px;
	font-size: 1.3em;
	}
.calendar .midashi{
		display: block;
	}
.calendar .midashi img{
	margin:10px 0 5px;
	width: 260px;
	}
.price .list{
	display: block;
}
.font-st{
	font-size: 1.1em;
}
#access .map {
    display: block;
}
.access_tit{
		margin:50px auto 30px;
	}
.list-m{
		margin:30px auto;
}
.list-m img{
	width: 260px;
	}
.access_tit img{
	width: 260px;
	}
.ig-g{
	padding: 40px 0 20px;
	margin-bottom:50px;
	}
footer .f-logo{
	margin: auto;
	width: 150px;
}
footer .f-logo img{
	width: 150px;
	margin-bottom: 30px;
}
.obi_01{
	background: url("../images/obi_01ss.png") no-repeat center;
	width: 100%;
	height: 130px;
	color: #fff;
	font-weight: bold;
	font-size: 1.5em;
	display: flex;
	align-items: center;
	margin-top: 80px;
}
.obi_02{
	background: url("../images/obi_02s.png") no-repeat center;
	width: 100%;
	height: 130px;
	color: #fff;
	font-weight: bold;
	font-size: 1.5em;
	display: flex;
	align-items: center;
	margin-top: 80px;
}
.footerarea .bn2{
	bottom: 370px;
}
}

.anchor {
    display: block;
    padding-top: 5px;
    margin-top: -5px;
}


/* 動き
------------------------------------------------------------------------ */
.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(30px);
 	  animation-timing-function : ease-in-out;
 }
  to {
	  opacity: 1;
  transform: translateY(0);
  }
}

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  0% {
   opacity: 0;
   transform: translate(600px,-200px) rotate(5deg);
	  animation-timing-function : ease-in-out;
  }


100% {
    opacity: 1;
  transform: translate(0px,0px) ;
  }
}