@charset "UTF-8";
/* CSS Document */

body {
  padding: 0;
  margin: 0;
  height:100%;
	line-height: 1.5em;
	font-size: 15px;
}
img {
	max-width:100%;
	max-height: 100%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}
html,body {
  height:100%;
}

/*
body {
  overflow-x:hidden;
}
*/ 
.wrapper{
	width: 100%;
	max-width: 100%;
  display: block;
}
   

/*リンク*/

#yoyaku{
	margin-top: -50px;
	padding-top: 50px;
}

#menumenu{
	background-color: #DFDFDF;
	width: 100%;
	height: 100px;
}
.menu{
	background-color: #DFDFDF;
	width: 100%;
	height: 50px;
	position: fixed;
	z-index: 9999;
	top: 0px;
}

.item-fix{
	position: fixed;
	width: 100%;
	height: 100vh;
	z-index: 0;
	top: 0px;
	bottom: 0px;
	padding-top: 0px;
	background-image: url(../_img/para/top-start-bk.png);
	background-size: 120% auto;
	background-repeat: no-repeat;
	background-position: center 175px;
	background-attachment: scroll;
}
.sky{
	position: fixed;
	/*background-image: url(../_img/para/sky.png);*/
	background-repeat: no-repeat;
	background-position: center 150px;
	background-size: 100% auto;
	background-attachment: fixed;
	
	width: 100%;
	height: 100vh;
	top: 0px;
	z-index: 0;
}

.start-box{
	left: 0px;
	position: relative;
	text-align: center;
	height: auto;
	width: 100%;
	top: auto;
	bottom: auto;
}




p.intoro{
	font-size: 13px;
	margin-left: 15px;
	margin-right: 15px;
	line-height: 2em;
	margin-top: 1em;
	text-align: center;
}



.imgblock{
	width: 100%;
	z-index: 999;
	margin-top: 50px;
}

.imgblock  div{
	
}




/*マイラッコ、ももラッコバルーン*/
.racco01{
	width: 50% !important;
	height: auto;
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	top: 150px;
}

img.scroll{
	width: 70px !important;
	height: auto !important;

}


/*おにラッコバルーン*/
.oni{
	width: 30% !important;
	height: auto;
	
}
.youkoso{
	width: 60% !important;
	height: auto;
	margin-top: -50px;
}

.otoku{
	width: 100% !important;
	height: auto;
	margin-top: -25px;	
}
.otoku img{
	width: 90% !important;
	height: auto;
	margin-left: 5%;
	margin-right: 0%;
}



.cheese{
	width: 100% !important;
	height: auto;
	text-align: right;
	float: right;
	margin-top: -40px;
	margin-bottom: 10px;
}
.cheese img{
	width: 100% !important;
	height: auto;
}

.odemukae{
	width: 100% !important;
	height: auto;
	text-align: right;
	float: right;
	margin-top: -40px;
	margin-bottom: 10px;
}
.odemukae img{
	width: 90% !important;
	height: auto;
	margin-left: 5%;
	margin-right: 5%;
}

/*ラッコ手つなぎ*/
.tetsunagi{
	width: 100% !important;
	height: auto;
	margin-top: -40px;
	text-align: right;
	float: right;
}
.tetsunagi img{
	width: 90% !important;
	height: auto;
	margin-left: 5%;
	margin-right: 5%;
}

.imgblock p{
	font-size: 17px;
	margin-left: 15px;
	margin-right: 15px;
	line-height: 1.7em;
}

#bg1 p{
	
}



#bg0{
	
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100vh;
	background-attachment: fixed;
	z-index: 2;
}



/*外観*/
#bg1 {
	background-position: 0% 0px;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	background-attachment: scroll;
	background-color: rgba(255,255,255,0.7);
	padding-bottom: 100px;
	
}


/*エントランス*/
#bg2 {
	
	background-position: 0% 0px;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	
	background-attachment: scroll;
	background-color:rgba(255,255,255,0.7);
	padding-bottom: 100px;	
	
}

/*風除室*/
#bg3{
	
	background-position: 0% 0px;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	background-attachment: scroll;
	background-color:rgba(255,255,255,0.7);
	padding-bottom: 100px;	
}



/*部屋*/
#bg4{
	
	background-position: 0% 0px;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	background-attachment: scroll;
	background-color:rgba(255,255,255,0.7);
	padding-bottom: 100px;	
}

#bg1 img, #bg2 img, #bg3 img, #bg4 img{
	width: 100%;
	height: auto;
	
}

#bg1, #bg2, #bg3, #bg4 { width: 100%; max-width:100%; }


div#main{
	width: 100%;
	background-attachment: scroll;
	margin-top: 0px;
	padding-top: 50px !important;
}
ul.mainimg{
	background-color: rgba(255,255,255,1);
	
}

/*------------------------------------------------------------------------*/
@media screen and (min-width:768px){

body{
	width: 100%;	
}

.wrapper{
	width: 950px;
	margin-left: auto;
	margin-right: auto;
	overflow-x: visible;
	
}

.item-fix{
	position: fixed;
	width: 950px;
	height: 100vh;
	z-index: 0;
	top: 0px;
	bottom: 0px;
	padding-top: 0px;
	margin-left: auto;
	margin-right: auto;
	background-image: url(../_img/para/top-start-bk.png);
	background-size: 80% auto;
	background-repeat: no-repeat;
	background-position: center 185px;
	background-attachment: scroll;
}

.top-start-bk{
	max-height: 100vh;
}
.start-box{
	left: 0px;
	position: relative;
	text-align: center;
	height: auto;
	width: 100%;
	top: auto;
	bottom: auto;
}

.sky{
	position: absolute;
	/*background-image: url(../_img/para/sky.png);*/
	background-repeat: no-repeat;
	background-position: center 200px;
	background-size: 40% auto;
	background-attachment: fixed;
	
	width: 100%;
	height: 100vh;
	top: 0px;
	z-index: 0;
}

/*マイラッコ、ももラッコバルーン（最下部にie11ハックあり*/
.racco01{
	width: 250px !important;
	height: auto;
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	top: 220px;
}

.imgblock{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 950px;
	margin-top: 200px;
	margin-bottom: 100px;
	background-color: #ffffff;
}

#bg1 img, #bg2 img, #bg3 img, #bg4 img{
	width: 100%;
	height: auto;
	border-radius: 10px;
}
#bg1, #bg2, #bg3, #bg4{
	flex-basis: 450px;
}

/*外観*/
#bg1 {
	background-position: 0% 0px;
	background-repeat: no-repeat;
	background-size: cover;
	
	background-attachment: scroll;
	background-color: rgba(255,255,255,0.7);
	padding-bottom: 0px;
}

/*エントランス*/
#bg2 {
	
	background-position: 0% 0px;
	background-repeat: no-repeat;
	background-size: contain;
	background-attachment: scroll;
	background-color: rgba(255,255,255,0.7);
	padding-bottom: 0px;
	margin-top: 400px;	
}

/*風除室*/
#bg3{
	background-position: 0% 0px;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	background-attachment: scroll;
	background-color: rgba(255,255,255,0.7);
	padding-bottom: 0px;
	margin-top: -150px;
}



/*部屋*/
#bg4{
	
	background-position: 0% 0px;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	background-attachment: scroll;
	background-color:rgba(255,255,255,0.7);
	padding-bottom: 0px;
	margin-top: 200px;	
}
.imgblock p{
	font-size: 17px;
	margin-left: 15px;
	margin-right: 15px;
	line-height: 2em;
	margin-top: 1em;
}
div#main{
	width: 100%;
	padding-top: 0px !important;
}

}


/*-------------------------------------------------------------------------------------------ヘッダー*/

header{
	height: 70px;
	width: 100%;
	position: fixed;
	z-index: 9999;
	background-color: rgba(255,255,255,1.0) !important;
	opacity: 1;
	top: 0;              /* または bottom: 0 */
  left: 0;
  right: 0; 

}

/* 追加（モバイル向けの上書き） */
@media (max-width: 767px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;      /* ← これで viewport 幅にストレッチ（100vw不要） */
    width: auto;   /* ← 明示しておくと安定 */
    box-sizing: border-box;
    /* 既存の高さや背景などはそのまま */
  }
  header img, header .maira-logo, header .hamburger, header .yoyaku_btn {
    max-width: 100%;
  }
}




.maira-logo{
	position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.maira-logo img{
	height: 25px;
	width: auto;
}
header .gotoinfo{
	margin-top: 50px;
	background-color: rgba(255,255,255,1.00);
}
header .gotoinfo p{
	text-align: center;
	color: #B10003;
	font-size: 20px;
	font-weight: bold;
}


/* メニューボタン */
#btn-menu {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  
  
  z-index: 1000;
  transition: all .2s ease-in;
}

 
/* メニュー */
#sp-menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.95);
	overflow: auto;
	z-index: 998;
	transition: all .3s ease-in;
	visibility: hidden;
	opacity: 0;
}
 
.open-menu #sp-menu {
	visibility: visible;
	opacity: 1;
	z-index: 999;
}
 
#sp-menu-position {
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translate(0%,-50%);
  width: 100%;
}
 
.sp-menu-list {
  list-style: none;
}

.sp-menu-list li{
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	text-align: center;
}
.sp-menu-list a {
	font-size: 16px;
	color: #e73363;
	text-decoration: none;
	
	line-height: 1em;
}


.snsbanner{display:flex;
justify-content:center;}

.snsbanner li img{width:36px;margin:20px;}


/*海外予約*/
.kaigai{
	margin-top: 30px;
}
.kaigai p{
	text-align: center;
}
.kaigai img{
	margin-left: 20px;
	margin-right: 20px;
}

.sp-menu-add{
margin-top: 30px;
}
.sp-menu-add p{
	text-align: center;
}
.sp-menu-add p.telno{
	font-size: 18px;
}

.sp-menu-add p.telno a:link{
	font-size: 18px;
	color: #000000;
	font-style: normal !important;
	text-decoration: none;
}


.hamburger {
	position: absolute;
	right: 0;
	top: 0;
	width: 50px; /* クリックしやすいようにちゃんと幅を指定する */
	height: 50px; /* クリックしやすいようにちゃんと高さを指定する */
	cursor: pointer;
	z-index: 300;
	background-color: rgba(177,0,3,1.00);
}

.hamburger__line {
	position: absolute;
	left: 11px;
	width: 18px;
	height: 1px;
	background-color: #FFFFFF;
	transition: all .6s;
}
.hamburger__line--1 {
  top: 10px;
}
.hamburger__line--2 {
  top: 16px;
}
.hamburger__line--3 {
  top: 22px;
}
.hamburger p{
	text-align: center;
	margin-top: 25px;
	font-size: 8px;
	color: rgba(255,255,255,1.00);
}

/* 表示された時用のCSS */
.open-menu .hamburger__line--1 {
  transform: rotate(45deg);
  top: 20px;
}
.open-menu .hamburger__line--2 {
  width: 0;
  left: 50%;
}
.open-menu .hamburger__line--3 {
  transform: rotate(-45deg);
  top: 20px;
}





/* フッター */
.footer	{
	padding-top: 15px;
	padding-bottom: 15px;
	background-color: #dddddd;
	margin-top: 30px;
	width: 100%;
	}

.footer-inner{
	max-width: 950px;
	margin-left: auto;
	margin-right: auto
	}


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

/* ヘッダー*/
header .gotoinfo p{
	text-align: left;
	margin-left: 10px;
	margin-right: 10px;
	font-size: 14px;
	color: #B10003;
	line-height: 1.55em;
}

.yoyaku_btn{
	display: none
}

.footer-navi-sp {
     width: 100%;
     height: 40px;
     position: fixed;
     z-index: 99;
     left: 0;
     bottom: 0;
     line-height: 1;
   }

   .footer-navi-sp ul {
     display: flex;
     height: 40px;
     justify-content: space-between;
   }

   .footer-navi-sp li {
     display: flex;
     align-items: center;
     justify-content: center;
	 flex-basis: 50%;
   }

   .footer-navi-sp ul li:first-child {
	background-color: #B10003;
	flex-grow: 1;
	border-right: 1px solid rgba(255,255,255,1.00);
   }

   .footer-navi-sp ul li:nth-child(2) {
     background-color: #B10003;
     flex-grow: 1;
	 border-right: 1px solid rgba(255,255,255,1.00);
   }

   .footer-navi-sp ul li:nth-child(3) {
	background-color: #ebecec;
	width: 15%;
	height: 40px;
   }
   .footer-navi-sp ul li:nth-child(3) a:link,  .footer-navi-sp ul li:nth-child(3) a:visited{
   color: rgba(69,69,69,1.00) !important;
   }
   
   .footer-navi-sp a:link, .footer-navi-sp a:visited{
	color: rgba(255,255,255,1.00);
	text-decoration: none;
}
}


/*------------------------------------------------------------------------*/
@media screen and (min-width:768px){

/*-------------------------------------------------------------------------------------------ヘッダー*/
header{
	width: 100%;
		
}
#btn-menu {
	right: 0 !important;
	left: auto !important;
	width: 60px;
	height: 60px;
	background-color: rgba(177,0,3,1.00);
}
.hamburger__line {
  width: 35px;
  left: 12px;
  
}
.hamburger__line--1 {
  top: 12px !;
}
.hamburger__line--2 {
  top: 20px ;
}
.hamburger__line--3 {
  top: 30px ;
}
/* 表示された時用のCSS */
.open-menu .hamburger__line--1 {
  transform: rotate(45deg);
  top: 20px;
}
.open-menu .hamburger__line--2 {
  width: 0;
  left: 50%;
}
.open-menu .hamburger__line--3 {
  transform: rotate(-45deg);
  top: 20px;
}

.hamburger p{
	margin-top: 35px;
	font-size: 12px;
	color: rgba(255,255,255,1.00);
}


.maira-logo img{
	height: 35px;
	width: 210px;
	margin-top: 5px;
}

.yoyaku_btn{
	width: 55px;
	height: 55px;
	position: absolute;
	top: 2px;
	right: 60px;
	z-index: 300;
}

.footer-navi-sp{
	display: none;
}

}

/*マイラッコ、ももラッコバルーン ie11ハック*/
@media all and (-ms-high-contrast:none){

  *::-ms-backdrop, .racco01{
	width: 250px !important;
	height: auto;
	position: relative;
	left: 120px;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	top: 220px;
}

}



