@charset "utf-8";
/* CSS Document */

/*=========================
　　　　基本設定
===========================*/

body{
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	margin:0;
	padding:0;
	font-size:15px;
	color: #000;
}

a,a:hover{
	text-decoration:none;
	border:0;}
	
h1,h2,h3,h4,h5,h6{
	padding:0;
	margin:0;
	font-weight:normal;}
p{padding:0; margin:0;}
	
ul,li{
	list-style:none;
	padding:0;
	margin:0;}

a img:hover{
	text-decoration: underline;
	opacity: 0.7;
	filter:alpha(opacity=70);
	-ms-filter: “alpha( opacity=70 )”;
}

img{
	max-width:100%;
	height:auto;}
	
.clear{
	clear:both;}
	
.centering{
	text-align:center;}
	
.main{
	width:1080px;
	margin:0 auto;
	clear:both;}
	
.block_left{
	float:left;}
	
.block_right{
	float:right;}
	
.inline_cent{
	display:inline-block;
	vertical-align:middle;}
.inline_top{
	display:inline-block;
	vertical-align:top;}
	
.inline_style{
	font-size: 0;
}
.inline_style li{
	display: inline-block;
}

.font_b{
	font-weight:600;}
	
.sp, .sp-tab{
	display:none;}

.margin_t_10{margin-top: 10px!important}
.margin_t_20{margin-top: 20px!important}
.margin_t_30{margin-top: 30px!important}
.margin_t_40{margin-top: 40px!important}
.margin_t_50{margin-top: 50px!important}
.margin_t_60{margin-top: 60px!important}
.margin_t_80{margin-top: 80px!important}
.margin_t_100{margin-top: 100px!important}
.margin_t_150{margin-top: 150px!important}
.margin_t_200{margin-top: 200px!important}
.margin_b_10{margin-bottom: 10px!important;}
.margin_b_20{margin-bottom: 20px!important;}
.margin_b_30{margin-bottom: 30px!important;}
.margin_b_40{margin-bottom: 40px!important;}
.margin_b_50{margin-bottom: 50px!important;}
.margin_b_60{margin-bottom: 60px!important;}
.margin_b_80{margin-bottom: 80px!important;}
.margin_b_100{margin-bottom: 100px!important;}
.margin_b_150{margin-bottom: 150px!important;}
.margin_b_200{margin-bottom: 200px!important;}

.font-12{font-size: 12px;}
.font_18{font-size: 18px;}
.font_21{font-size: 21px;}
.font_30{font-size: 30px;}
.font_40{font-size: 40px;}
.font_right{text-align: right;}
.font_red{color: #FF0004;}
.u_line{text-decoration: underline;}

/*=======================
　　　ヘッダー
=======================*/
#head_text{
	background:#006600;
	color:#fff;
	font-weight:600;
	padding:5px 0;
}
#head_text h1{font-size:12px;}

/*=======================
　　　サブページヘッダー
=======================*/
#sub_head{
	background:url(../img/sub_head_img.jpg) no-repeat top center;
	background-size:cover;
	padding:30px 0 15px 0;
}
#head_navi{
	text-align:right;
	margin-top:30px;
}
#head_navi li{
	font-size:12px;
	font-weight:600;
	padding:5px 2%;
}
.nevi_c{
	border-left:solid 1px #fff;
	border-right:solid 1px #fff;
}
#head_navi a{color:#fff;}
#head_navi a:hover{color:#FF0;}

/*=======================
　　　フッター
=======================*/
#footer{
	margin-top:20px;
	clear:both;
	font-weight:600;
}
.top_title{margin:50px 0;}
.top_color{
	padding:25px 0;
	font-weight:600;
	font-size:17px;
}
#top_color1{
	background:#003366;
	color:#fff;
}
#top_color2{
	background:#FFCC00;
	color:#003366;
}
.top_color_l{
	width:333px;
	padding-right:40px;
}
.top_color_r{
	width:650px;
	margin-top:32px;
}
#top_color1 .top_color_l{border-right:solid 8px #fff;}
#top_color2 .top_color_l{border-right:solid 8px #003366;}
#top_color1 span{color:#FFFF00;}
#foot_logo{
	text-align:center;
	margin:30px 0;
}
.foot_logo_r{
	text-align:left;
	margin-left:2%;
}
.foot_name{font-size:17px;}
#copyright{
	font-size:12px;
	text-align:center;
	padding:10px 0;
	border-top:solid 1px #CCCCCC;
	margin-top:40px;
}

/*=======================
　　　トップ
=======================*/
#top_back{
    position: relative;
    z-index: 1;
	background:url(../img/top-back.jpg) no-repeat top right 30%;
	background-size:cover;
	padding:50px 0 100px 0;
	text-align:center;
	font-weight:600;
    overflow: hidden;
}
#top_back_2{
    position: relative;
    z-index: 1;
	background:url(../img/top-back_2.jpg) no-repeat bottom right 30%;
	background-size:cover;
	padding:50px 0 100px 0;
	text-align:center;
	font-weight:600;
    overflow: hidden;
}
#top_back_gradation{
    position: absolute;
    z-index: -1;
    left: -5%;
    bottom: -15px;
    width: 110%;
    height: 25%;
    background: linear-gradient(360deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 20%, rgba(255,255,255,0.7973564425770308) 50%, rgba(255,255,255,0.39539565826330536) 80%, rgba(255,255,255,0.19791666666666663) 100%);
    filter: blur(5px);
}

#logo{
	margin:50px 0;
}
.top_main_text{margin:100px 0;}
.top_btn{
	width:473px;
	border-radius:20px;
	font-size:34px;
	font-weight:600;
	padding:25px 0;
	margin:30px 2%;
	color:#fff;
}
.top_btn1{background:#CC0047;}
.top_btn1:hover{background:#FF5591;}
.top_btn2{background:#003366;}
.top_btn2:hover{background:#3C9DFF;}
#top_gray{
	background:#F6F6F6;
	font-weight:600;
	margin-top:150px;
	padding:20px 0;
}
#at-home{
	margin-top:-70px;
}
.gray_title{
	font-size:36px;
	margin:50px 0 40px 0;
}
#top_post, #top_table{
	width:800px;
	margin:0 auto;
}
#top_post li{
	border-bottom:dotted 2px #D7D7D7;
	padding:10px 2% 10px 8%;
	margin-bottom:10px;
}
.top_post_day, .about_table_l{width:18%;}
.top_post_title{margin-left:2%;}
#top_green{
	background:#006600;
	color:#fff;
	font-weight:600;
	padding:80px 0;
}
.about_title{
	font-size:36px;
	text-shadow: 1px 2px 3px #000000;
	margin-bottom:50px;
}
.about_l{
	width:533px;
	margin-bottom:20px;
}
.about_r{margin-bottom:80px;}
#top_table li{
	border-bottom:dotted 2px #ffffff;
	padding:10px 2% 10px 8%;
	margin-bottom:10px;
}
.result_title{
	text-align:center;
	font-size:30px;
	font-weight:600;
	margin:80px 0;
}
.result_title span{
	display:block;
	border-bottom:solid 1px #000;
	width:112px;
	margin:30px auto;
}
.category{
	width:148px;
	padding:5px 0;
	color:#fff;
	font-size:12px;
	margin-right:3%;
	text-align:center;
}
.cate_1{background:#2B9AD3;}
#result_slide{margin:50px 0;}
.result_title2{font-weight:600;}
.cm-catch {
    color: #fefe08;
    text-align: center;
    font-size: 51px;
    font-weight: 500;
    margin-bottom: 45px;
	line-height: 1.75;
}
.cm-catch br{display:none;}
/*=========================
　　メインページ　区画図
===========================*/
.kukaku_img {
    margin: 100px auto 0;
    width: 60%;
}
/*=========================
　　　お問い合わせ
===========================*/
#sub_title.reservation{
    background-color: #660000;
}
.cherry_caution.reservation{
    border-left: 20px solid #660000;
}
.caution_title.reservation{
    color: #660000;
}
#formWrap {
	width:790px;
	margin:0 auto;
	font-size:14px;
}
table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
table.formTable th,table.formTable td{
	border:1px solid #CCC;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#F1F1F1;
	text-align:left;
    vertical-align:top;
    padding: 20px 10px 20px 30px;
}
table.formTable td{
    padding: 20px 30px;
}
input[type="text"], textarea {
    width:100%;
    padding:5px 0;
}
.required{
    color: #FFF;
    background: #FF0000;
    padding: 5px 15px;
    display: inline-block;
    float: right;
}
p.error_messe{
	margin:5px 0;
	color:red;
}
.form_caution{
    line-height: 1.7;
}
input[type="submit"], input[type="button"] {
    background: #F1F1F1;
    border: solid 1px #CCC;
    width: 40%;
    height: 40px;
}
		
/*===========================================================================
　　レスポンシブ設定
=============================================================================*/
   /*=====タブレット=====*/
@media(max-width: 900px){
	.main{width:96%;}
	
	/*---フッター----*/
	.top_color_l{
		width:30%;
		padding-right:3%;
	}
	.top_color_r{
		width:62%;
		margin-top:0;
	}
	
	/*----トップ----*/
	.top_btn{
		width:40%;
		padding:25px 2%;
	}
	#top_post, #top_table{width:100%;}
	#top_post li, #top_table li{padding:10px 2% 10px 5%;}
	.top_post_day{width:20%;}
	.about_l{width:50%;}
	.about_r{width:47%;}
	.about_table_r{width:80%;}
    .cm-catch {
    font-size: 37px;
    max-width: 95%;
    margin: 45px auto;
    }
    /*----ご予約----*/
    #formWrap {
        width:100%;
    }
}

  /*=====スマホ=====*/
@media(max-width: 700px){
	.pc_tab{display:none;}
	.sp{display:block;}
	
	/*---フッター----*/
	.top_color_l, .top_color_r, .about_l, .about_r{
		width:100%;
		float:none;
	}
	.top_color_l{
		padding-right:0;
		padding-bottom:25px;
		text-align:center;
	}
	.top_color_r{margin:25px 0 20px 0;}
	#top_color1 .top_color_l{
		border-right:0;
		border-bottom:solid 8px #fff;
	}
	#top_color2 .top_color_l{
		border-right:0;
		border-bottom:solid 8px #003366;
	}
	.foot_logo_l, foot_logo_r{
		display:block;
		margin:15px 0;}
		
	/*----トップ----*/
	.top_btn{
		display:block;
		width:90%;}
	.top_post_day{width:35%;}
	.top_post_title{margin-left:0;}
	.about_table_l, .result_title2{
		display:block;
		width:100%;}
	.result_title2{margin-top:5px;}
    
    /*----ご予約----*/
    table.formTable th, table.formTable td {
        padding: 10px 30px;
        width:auto;
        display:block;
    }
    table.formTable th {
        margin-top:5px;
        border-bottom:0;
    }
    input[type="submit"], input[type="button"] {
        width:100%;
    }
    .required{
        padding: 0 15px;
    }

	/*----メインページ　区画図----*/
    .kukaku_img{
	    margin: 100px auto 0;
	    width: 90%;
    }
}
@media(max-width:599px){
	.cm-catch br{display: block;}
	.cm-catch {
        font-size: 5.76vw;
    }
}

/* ========== privacy policy ========== */
.privacypolicy p,.privacypolicy ol li,.privacypolicy ul li{
    font-size: 1rem;
	font-weight: 600;
}
.privacypolicy h2{
    margin: 2rem 0 1.5rem 0;
    padding: 15px 20px 15px 20px;
    font-size: 1.35rem;
    border-left: 5px solid #003366;
    line-height: 1.5;
	font-weight: 600;
}
.privacypolicy h2.policy_item{
    margin: 2rem 0;
    padding: 0;
    border-left: none;
    font-size: 1.45rem;
	font-weight: 600;
}
.privacypolicy ol{
    margin: 0.5rem 0;
}
.privacypolicy ol li{
    list-style: decimal!important;
}
.privacypolicy ol li::marker {
    font-size: 120%;
    font-weight: 700;
    color: #003366;
}
.privacypolicy p.privacy_contact{
    margin-top: 1rem;
}
.privacypolicy .tR{
    text-align: right;
    margin-top: 0.5rem;
}
.privacypolicy .hina-layTblTyp01{
    width: 100%;
    margin-top: 1rem;
    font-size: 1rem;
}
.privacypolicy .hina-layTblTyp01 th {
    width: 25%;
    padding:1rem;
    white-space: nowrap;
    border-bottom: 1px solid #dfdfcd;
    font-weight: 600;
}
.privacypolicy .hina-layTblTyp01 td {
    padding:1rem;
    border-bottom: 1px solid #dfdfcd;
    font-weight: 600;
}
.privacypolicy .hina-layTblTyp01 td a{
    text-decoration: underline;
}
@media (any-hover: hover){
    .privacypolicy .hina-layTblTyp01 td a:hover{
        text-decoration: none;
    }
}
/* ========== privacy policy ========== */
/* ------------ cookie ------------- */
.cookie-consent {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  bottom: 0;
  width: 100%;
  font-size: 13px;
  gap:0 1.15em;
  color: #fff;
  background: rgba(0,0,0,.7);
  padding: 0.75em 1.2em;
  box-sizing: border-box;
  z-index: 100;
  visibility: hidden;
}
.cookie-consent.is-show {
  visibility: visible;
}
.cookie-consent a {
  color: #fff !important;
}
.cookie-consent{
  line-height:1.5;
}
.cookie-agree {
  color: #fff;
  background: dodgerblue;
  padding: .5em 1.5em;
  border-radius: 3px;
}
.cookie-agree:hover {
  cursor: pointer;
}
/* パッと消える */
.cc-hide1 {
  display: none;
}
@media (any-hover: hover){
    .cookie-text > a:hover{text-decoration: underline;}
}

@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}

@media screen and (max-width: 600px) {
  .cookie-consent{
    font-size:12px;
  }
}
/* -------------- cookie -------------- */