body{
	margin:0;
	background-color: #232323; 
	color: #ffffff;
	font: 16px/1.6 "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
} 
p{
	text-align: center;
}

img{
    width:100%;
  }

#clear{
	clear: both;
}


/* ========== id_ここから ========== */
#container{	
	width: 100%;
}

.menu_button{
	float: right;
	height: 90px;
	width: 200px;
	position: fixed;
	top: 15px;
	right: 18px;
	z-index: 60;
}

.menu_button > .btn{
	width: 200px;
	border-radius: 100px;
	z-index: 60;
	padding:1rem 0 ;
	text-align: center;
	font-weight:bold;
	background-color:black;
}
.btn a{
	font-size: 2rem;
	color: #fff;
}


.logo{
	height: 90px;
	width: 50%;
	max-width: 330px;
	margin: 30px auto 0;
	background-image: url("img/logo.png");
	background-size: cover;
	background-position: center;
	z-index: 60;
}

@media (min-width: 1024px){
	.menu_button > .btn{
		margin: 5px;
		padding:.5rem 0 ;
	}
	.btn a{
		font-size: 1.3rem;
	}
	
}



/* ========== ハンバーガーメニュー ========== */

*:before, *:after {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
ol, ul {
	list-style: none;
	padding:20px;
}
a {
	text-decoration: none;
	color: inherit;
}
.cp_cont {
	height: 90px;
}
/* menu */
.cp_offcm02 {
	position: fixed;
	z-index: 5;
	left: -500px;
	overflow-y: hidden;
	width: 500px;
	height: 100%;
	padding-top: 150px;
	color: #ffffff;
	background-color: #B2C685;
	-webkit-transition: transform .3s ease-in;
	transition: transform .3s ease-in;
		-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}
.cp_offcm02 nav {
	background:#B2C685;/*drawer内背景色*/
}
.cp_offcm02 li {
	display: block;
	margin-right: 0;
	height: 150px;
	margin: 0;
	color: #FFFFFF;
	border-bottom: 8px dotted white;/*drawer内ライン色*/
	font-size: 5vw;
	text-align: center;
}
.cp_offcm02 a {
	color:black;
	line-height: 150px;
}
.cp_offcm02 li:hover {
	background-color: #37BEC8;/*drawer内選択時色*/
}
/* menu toggle */
.cp_mobilebar {
	display: block;
	z-index: 10;
	position: fixed;
	top: 0;
	left: 0;
	padding: 0 25px;
	width: 100%;
	height: 150px;
	background-color: #90417D;
	-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}
.cp_menuicon {
	display: block;
	position: relative;
	width:80px;
	height: 100%;
	cursor: pointer;	
	-webkit-transition: transform .3s ease-in;
	transition: transform .3s ease-in;
}
.cp_menuicon > span {
	display: block;
	position: absolute;
	top: 55%;
	margin-top: -0.3em;
	width: 100%;
	height: 0.2em;
	border-radius: 1px;
	background-color: black;/*真ん中ボーダー色*/
	-webkit-transition: transform .3s ease-in;
	transition: transform .3s ease-in;
}
.cp_menuicon > span:before, .cp_menuicon > span:after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 1px;
	background-color: black;/*上下ボーダー色*/
	-webkit-transition: transform .3s ease;
	transition: transform .3s ease;
}
.cp_menuicon > span:before {
	-webkit-transform: translateY(-0.6em);
	transform: translateY(-2.0em);/*上ボーダー間隔*/
}
.cp_menuicon > span:after {
	-webkit-transform: translateY(0.6em);
	transform: translateY(2.0em);/*下ボーダー間隔*/
}
#cp_toggle02:checked + .cp_mobilebar .cp_menuicon {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#cp_toggle02:checked + .cp_mobilebar span:before,
#cp_toggle02:checked + .cp_mobilebar span:after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
#cp_toggle02:checked ~ .cp_offcm02 {
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
}
#cp_toggle02:checked ~ .cp_container {
	-webkit-transform: translateX(250px);
	transform: translateX(250px);
}

.logo{
	z-index: 60;
	position: fixed;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
}

.link_box{   
    font-size: 60px;
    background-color: transparent;
    color: #fff;
    border: 0px;
    padding: 10px 110px;
    outline: none;
}

.link_box a:hover {
    color: #C3BB93;
}
	#cp_toggle02 {
		display: none;
	}


@media screen and (min-width: 1024px){
	.cp_cont {
		height: 70px;
	}
	/* menu */
	.cp_offcm02 {
		position: fixed;
		z-index: 59;
		left: 0;
		visibility: visible;
		overflow: auto;
		width: 100%;
		height: 80px;
		padding-top: 0;
		text-align: center;
		opacity: 1;
		top: 0;
		background-color: #90417D;
	}
	.cp_offcm02 nav {
		background: #90417D;
	}
	.cp_offcm02 nav, .cp_offcm02 ul {
		height: 10px;
		margin: 0;
		padding: 0;
	}
	.cp_offcm02 li {
		display: inline-block;
		margin-right: -6px;
		border: none;
		color: #ffffff;
		font-size: 25px;
		height: 70px;
		margin-top: 10px;
	}
	.cp_offcm02 a {
		line-height: 80px;
		display: block;
		height: 50px;
		padding: 0 15px;
		-webkit-transition: background-color .3s ease-in;
		transition: background-color .3s ease-in;
		/*height: 80px;*/
	}
	.cp_offcm02 li:hover {
		background-color: green;/*drawer内選択時色*/
	}
	.cp_offcm02 a:hover {
		background-color: #B2C685;
		color:black;
	}
	/* menu toggle */
	#cp_toggle02 {
		display: none;
	}
	.cp_mobilebar {
		display: none;
	}
	/* content */
	.cp_container {
		position: relative;
		top: 0px;
		margin-top: 0;
		padding: 35px auto;
		-webkit-transition: transform .3s ease-in;
		transition: transform .3s ease-in;
	}
	.cp_content {
		margin: 0 auto;
		padding: 20px;
		height: 70px;
		text-align: center;
	}
	.logo{
		width: 20%;
		max-width: 150px;
		z-index: 60;
		position: fixed;
		top: 0;
		left: 100px;
		margin: 10px 2%;
		height: 60px;
	}
.link_box{   
    font-size: 25px;
    background-color: transparent;
    color: #000;
    border: 0px;
    padding: 10px 0;
    outline: none;
}
}


@media screen and (min-width: 1366px){
.link_box{   
    font-size: 25px;
    background-color: transparent;
    color: #000;
    border: 0px;
    padding: 10px 0;
    outline: none;
}
}
/* 一番上のメニュー ここまで　*/


/* ファーストビュー */

@media (max-width: 1023px){
#firstview{
	height: 1210px;
	background:#f2efec;
	width: auto;
	padding-bottom: 20px;
	position: relative;
	padding:50px 0 30px;
}
.firstview_sp{
	width: 100%;
	margin-top:-70px;
}
.firstview_pc{
	display: none;
}

.item_sp{
  width: 100%;
  height: 60px;
  color: #9E9082;
  font-size:60px;
  font-weight:bold;
  font-family:cooper-black-std, serif;
  list-style: none;
  text-align: center;
  line-height: 60px;
  text-shadow:3px 7px 6px rgba(0, 0, 0, 0.16);
  position:relative;
  opacity: 0;    
}

.text_01{
  width: 100%;
  height: 60px;
  color: #1C5200;
  font-size:60px;
  margin-top:60px;
  font-weight:bold;
  font-family:cooper-black-std, serif;
  text-align: center;
  line-height: 1.2;
  text-shadow:3px  3px 8px rgba(255, 255, 255, 0.5),
      -3px  3px 8px rgba(255, 255, 255, 0.5),
       3px -3px 8px rgba(255, 255, 255, 0.5),
      -3px -3px 8px rgba(255, 255, 255, 0.5),
       3px  0px 8px rgba(255, 255, 255, 0.5),
       0px  3px 8px rgba(255, 255, 255, 0.5),
      -3px  0px 8px rgba(255, 255, 255, 0.5),
       0px -3px 8px rgba(255, 255, 255, 0.5);
  position:relative;
}

/*.logo_01{
  width: 40%;
  color: #9E9082;
  font-size:60px;
  margin-top:-140px;
  font-weight:bold;
  font-family:cooper-black-std, serif;
  text-align: center;
  line-height: 1.2;
  text-shadow:3px 7px 6px rgba(0, 0, 0, 0.16);
/*   position:relative; 
}*/

.item_sp:nth-child(1) {
  -webkit-animation: example 5s ease 5s 1 forwards;
  animation: example 0.5s ease 0.5s 1 forwards;
}
.item_sp:nth-child(2) {
  -webkit-animation: example 0.5s ease 1s 1 forwards;
  animation: example 0.5s ease 1s 1 forwards;
}
.item_sp:nth-child(3) {
  -webkit-animation: example 0.5s ease 1.5s 1 forwards;
  animation: example 0.5s ease 1.5s 1 forwards;
}

@-webkit-keyframes example {
  100% {
    opacity: 1;
  }
}
@keyframes example {
  100% {
    opacity: 1;
  }
}
}

/* 上部空白を消す */
@media (min-width: 1024px){
#firstview{
	height: 497px;
	background:#f2efec;
	width: auto;
	position: relative;
}
.firstview_sp{
	display: none;
}
.firstview_pc{
width: 100%;
height: 500px;
}
.item_pc{
  width: 100%;
  height: 10px;
  color: #9E9082;
  font-size:60px;
  font-weight:bold;
  font-family:cooper-black-std, serif;
  list-style: none;
  text-align: center;
  line-height: 60px;
  text-shadow:3px 7px 6px rgba(0, 0, 0, 0.16);
  position:relative;
  opacity: 0;    
}

.text_01{
  width:90%;
  height: 60px;
  color: #1C5200;
  font-size:43px;
  margin-top:250px;
  padding-left:25px;
  font-weight:bold;
  font-family:cooper-black-std, serif;
  text-align: left;
  line-height: 1.2;
  text-shadow: 3px  3px 8px rgba(255, 255, 255, 0.5),
      -3px  3px 8px rgba(255, 255, 255, 0.5),
       3px -3px 8px rgba(255, 255, 255, 0.5),
      -3px -3px 8px rgba(255, 255, 255, 0.5),
       3px  0px 8px rgba(255, 255, 255, 0.5),
       0px  3px 8px rgba(255, 255, 255, 0.5),
      -3px  0px 8px rgba(255, 255, 255, 0.5),
       0px -3px 8px rgba(255, 255, 255, 0.5);
  position:relative;
}

/*.logo_01{
  width: 35%;
  color: #9E9082;
  margin-top:-60px;
  margin-left:-730px;
  text-align: center;
  line-height: 1.2;
  text-shadow:3px 7px 6px rgba(0, 0, 0, 0.16);
/*   position:relative; 
}
*/
.item_pc:nth-child(4) {
  -webkit-animation: example 5s ease 5s 1 forwards;
  animation: example 0.5s ease 0.5s 1 forwards;
}
.item_pc:nth-child(5) {
  -webkit-animation: example 0.5s ease 1s 1 forwards;
  animation: example 0.5s ease 1s 1 forwards;
}
.item_pc:nth-child(6) {
  -webkit-animation: example 0.5s ease 1.5s 1 forwards;
  animation: example 0.5s ease 1.5s 1 forwards;
}

@-webkit-keyframes example {
  100% {
    opacity: 1;
  }
}
@keyframes example {
  100% {
    opacity: 1;
  }
}
}

/* 上部空白を消す */
@media (min-width: 1366px){
#firstview{
	height: 656px;
	background:#f2efec;
	width: auto;
	position: relative;
	
}
.firstview_sp{
	display: none;
}
.firstview_pc{
	width: 100%;
	height: 656px;

}
.item_pc{
  width: 100%;
  height: 10px;
  color: #9E9082;
  font-size:60px;
  font-weight:bold;
  font-family:cooper-black-std, serif;
  list-style: none;
  text-align: center;
  line-height: 60px;
  text-shadow:3px 7px 6px rgba(0, 0, 0, 0.16);
  position:relative;
  opacity: 0;    
}

.text_01{
  width:90%;
  height: 60px;
  color: #1C5200;
  font-size:63px;
  margin-top:380px;
  padding-left:75px;
  font-weight:bold;
  font-family:cooper-black-std, serif;
  text-align: left;
  line-height: 1.2;
  text-shadow: 3px  3px 8px rgba(255, 255, 255, 0.5),
      -3px  3px 8px rgba(255, 255, 255, 0.5),
       3px -3px 8px rgba(255, 255, 255, 0.5),
      -3px -3px 8px rgba(255, 255, 255, 0.5),
       3px  0px 8px rgba(255, 255, 255, 0.5),
       0px  3px 8px rgba(255, 255, 255, 0.5),
      -3px  0px 8px rgba(255, 255, 255, 0.5),
       0px -3px 8px rgba(255, 255, 255, 0.5);
  position:relative;
}

/*.logo_01{
  width: 20%;
  color: #9E9082;
  margin-top:-20px;
  margin-left:-1020px;
  text-align: center;
  line-height: 1.2;
  text-shadow:3px 7px 6px rgba(0, 0, 0, 0.16);
/*   position:relative; 
}*/

.item_pc:nth-child(4) {
  -webkit-animation: example 5s ease 5s 1 forwards;
  animation: example 0.5s ease 0.5s 1 forwards;
}
.item_pc:nth-child(5) {
  -webkit-animation: example 0.5s ease 1s 1 forwards;
  animation: example 0.5s ease 1s 1 forwards;
}
.item_pc:nth-child(6) {
  -webkit-animation: example 0.5s ease 1.5s 1 forwards;
  animation: example 0.5s ease 1.5s 1 forwards;
}

@-webkit-keyframes example {
  100% {
    opacity: 1;
  }
}
@keyframes example {
  100% {
    opacity: 1;
  }
}
}



/* ------- ABOUT ここから ------- */

#about{
	margin: 0 auto;
	padding: 50px 0 0;
	overflow: hidden;
}
.title{
	width: 90%;
	margin:0 auto;
}
.title_en{
	margin-bottom:1em;
	font-size: 6vmin;
	color: #90417D;
	font-family: "Arial","メイリオ",sans-serif;
	font-weight: bold;
}

.about_detail{
	width: 90%;
	margin:1em 5%;
	font-size: 2vw;
}

#trouble{
 background-image: url(img/6.jpg);
 background-size: cover;
 padding: 30px 0 50px;
}

.trouble{
	margin: 0 auto;
	padding:0;
}

.trouble li {
text-align: center;
  position: relative;
  font-size: 2vmin;
  margin:.5em 5%;
}

 @media (min-width: 1024px){
 	.about_detail{
 		width: 40%;
 		float: left;
 		margin-top: 10%;
 	}
 	#about img{
 		width: 46%;
 		margin:2%;
 		float:left;
 	}
 	.trouble{
 		padding:0; 
 	}

 }


/* ------- ABOUT ここまで ------- */


/* ------- SERVICE ここから ------- */

#service{
	background: -moz-linear-gradient(top, #fff,#D9D9D9); 
background: -webkit-linear-gradient(top, #fff,#D9D9D9); 
background: linear-gradient(to bottom,  #fff,#D9D9D9); 
	padding: 30px 0;
}
.title_en1{
	margin-bottom:1em;
	font-size: 6vmin;
	color:black;
	font-family: "Arial","メイリオ",sans-serif;
	font-weight: bold;
}

.details_01 ,.details_02 ,.details_03{
	margin: 30px 50px 50px;
	text-align: center;
	background-color: #232323;
	padding-bottom: 10px;
}

.details_02 ,.details_03{
	opacity: 0;
	transform : translate(0, 50px);
	transition : all 1500ms;
}
.details_02.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}
.details_03.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}
.details_img{
	min-height: 550px;
}

/*.details_01 > .details_img{
	background-image: url("img/5.jpg");
	background-size: cover;
	background-position: center;
}*/
.details_02 > .details_img{
	background-image: url("img/343912.jpg");
	background-size: cover;
}
.details_03 > .details_img{
	background-image: url("img/3.jpg");
	background-size: cover;
	background-position: center;
}

.detail_title{
	text-align: center;
	padding-top:1em;
	font-size:4vw;
	margin:5px auto;
	font-weight: bold;
}
.service_p{
	color: black;
	text-align: left;
	margin:2% 5% 10%;
}
.details_p{
	text-align: left;
	padding:1rem;
	font-size:3vw;
	margin:2% 5%;
}

@media screen and (min-width: 1024px){
	#service{
		height: 900px;
/*		background-image:url(img/10.jpg) ;
		background-size: cover;*/
	}
	.service_details{
		width: 70% 
		padding:0;
	}
	.details_02 {
		opacity: 0;
		transform : translate(0,50px);
		transition : all 1500ms;
	}

	.details_03 {
		opacity: 0;
		transform : translate(0,50px);
		transition : all 2500ms;
	}

	/*.details_01 ,.details_02 ,.details_03{
		float: left;
		width: 31.2%;
		margin: 0 10px;
		text-align: center;
		height: 500px;
	}*/
	.service_p{
		text-align: center;
		margin:2% 5% 5%;
		font-size: 20px;
		line-height: 1.5rem;
	}
	.details_02 ,.details_03{
		float: left;
		width: 44%;
		margin: 0 3%;
		text-align: center;
		height: 450px;
	}
	.details_img{
		max-width: 660px;
		min-height: 300px;
		text-align: center;
	}
	.detail_title{
		padding:5px 0 0;
		font-size:25px;
		margin:5px auto;
	}
	.details_p{ 
		font-size: 18px; 
		line-height: 20px;
		padding:15px;
		margin:0;	
	}
}
/* ------- SERVICE ここまで ------- */

/* ------- おすすめ ここから ------- */
#welcome{
	background-color: white;
}

.welcome_detail span{
	color: #1C5200;
	font-size: 5vmin; 
	font-weight: bold;
}

.welcome_detail{
	color: black;
	font-size: 3vw;
	margin:0;
	padding: 3em;
}


@media screen and (min-width:1024px){
	
}

/* ------- おすすめ ここまで ------- */



/* ------- MENU ここから ------- */
#menu{
	background-image:url(img/2.png);
	background-size: cover;
	background-position: center;
	padding: 4em 0;
}

.menu_border{
	margin: 0 30px;
	background-color: white;
	height: auto;
	padding:2rem;
}

.cost{
	color: black;
	font-size: 2rem;
	margin:0 auto;
}
.cost td{
	text-align: right;
	padding:1em; 
	font-weight: bold;
}
.menu_detail{
	color: black;
	font-size: 2rem;
}


@media screen and (min-width: 1024px){
	.cost{
		font-size: 1.5rem;
	}
	.cost td{
		padding:1.5em; 
	}
	.menu_detai{
		font-size: 1rem;
	}
	
}

/* ------- MENU ここまで ------- */


/* ------- 一言 ここから ------- */

#word{
	background-color: white;
	padding:50px 0 0;
}

.word_by_owner{
	color: black;
	text-align:left;
	padding:0 3rem;  
}
.name{
	text-align: right;
	color: black;
	padding:0 3rem; 
}
.word_img{
	height: 600px;
	background-image: url("img/7.jpg");
	background-size: cover;
	background-position: center;
}


@media (min-width: 1024px){
	#word{
		margin:0 auto;
		padding:30px 0;
	}
	.word_by_owner{  
		padding:0;
	}
	.name{
		padding:0;
	}

	.word_pc{
		padding:0 0 0 10%;
		width: 40%;
		float:left;
		text-align: left;
	}

	.word_img{
		float:left;
		width: 40%;
		height: 400px;
		margin:0 5%;
	}
}

/* ------- 一言 ここまで ------- */


/* ------- CONATCT ここから ------- */

/* CONTACT*/
#contact{
	margin: 0;
	padding:80px auto;
	background-image: url(img/8.jpg);
	background-size: cover;
}

.access{
	font-size: 2rem;
	margin: 50px auto;
}

th{
	padding: 8px 15px;
	text-align: left;
}


.map{
	height: 500px;
	width: 800px;
	margin: 10px auto;
}

@media screen and (min-width: 1024px){
	#contact{
		padding:30px 0;
		height: auto;
		overflow: hidden;
	}

	.contact_detail{
		float: left;
		width: 50%;
		margin: 0px auto;
	}

	.access{
		font-size: 18px;
	}
	.map{
		width: 50%;
		float:left;
	}

	.map iframe{
		height: 400px;
		width: 600px;
		margin: 50px 0 0px;
	}
}


/* ------- CONATCT ここまで ------- */

/* ------- Footer ここから ------- 

#footer{
	width: 100%;
	height: 200px;
	background-color: #90417D
}
#footer > p{
	font-size: 35px;
	font-weight: bold;
	text-align: right;
	margin-right: 15px;
}

.footer_main > img{
	width: 100px;
	float: left;
	padding-left: 5%;
}
.footer_main > p{
	font-size: 45px;
	font-weight: bold;
	text-align: center;
	padding: 20px;
	margin:0;
}


 ------- Footer ここまで ------- */


/* ========== class_ここまで ========== */




/*ボタン装飾*/
#reservation{
	padding: 50px 0;
}

.button {
    display: block;
    position: relative;
    width: 60%;/*ボタンの幅*/
    padding: 10px 0;
    margin: 30px auto;
    background-color:#B50250;/*ボタンの色*/
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);/*影の色(rgbaの値を変更)*/
    border-radius: 100px;
    font-weight: bold;
    font-size: 4vw;
    color: #fff;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
}
.button:hover {
    text-decoration: none;
    color: #fff;
    box-shadow: none;
    -webkit-transform: translateY(3px);
}
.button::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    transition: 0.2s;
    animation: shiny-btn2 3s ease-in-out infinite;
}
@-webkit-keyframes shiny-btn2 {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

@media (max-width: 1023px){
	.button {
		width:50%;
	    border-radius: 100px;
	    margin: 10px auto;
	    font-size: 5vw;
	}
}
/* ------- ボタン装飾ここまで ------- */
