﻿img {
  display: block;
}

.right_photo {
	float: left;
	width: 45% !important;
	margin: 0 20px 0 0;
}


.product_box img {
	float: left;
	width: 47% !important;
	margin: 5px;
}
.floatend {
	clear: both;
}

body {
	color: 444;
	font-size: 100%;
	font-family : "メイリオ","Meiryo","ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック", "MS P Gothic","Osaka",
 Verdana,Arial, Helvetica, sans-serif;
	text-align : center;
	margin : 0 auto;
}

body::before {
    position:fixed;
    top:0;
    left:0;
    z-index:-1;
    width:100vw;
    height:100vh;
    background: #000;
    -webkit-background-size:contain;
    background-size:contain;
    content:"";
	background-size: 100%;
}
#content img {
	width: 100%;
	border : none;
}
section {
	margin-bottom: 75px;
}
#content {
	width: 100%;
	max-width: 750px;
	text-align: left;
	margin: 0 auto;
	padding: 0;
}
.entry {
	margin: 0;
	padding: 0;

	border-radius: 5px;
}
a {
	color: #FFF;
}
b {
	color: #e61673;
}
hr {
	margin: 50px 0 35px;
}
.logo_box {
	width: 80%;
	max-width: 500px;
	margin: 250px auto;
	padding: 0 0 0 18px;
}

h2 {
	color: #FFF;
	font-size: 1rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
	padding: 0 0 10px 0;
	border-bottom: 1px solid #CCC;
	text-shadow: 0.5px 0.5px 5px rgba(0, 0, 0, 1.0);
}
h3 {
	color: #FFF;
	font-size: 1rem;
	font-weight: bold;
	text-align: left;
	margin-bottom: 20px;
	padding: 7px 20px;
	background: #106683;
}
h4 {
	color: #444;
	font-size: .9rem;
	font-weight: normal;
	text-align: left;
	line-height: 1.35em;
	margin: 5px 0;
	padding: 0 0 7px;
	border-bottom:1px solid #CCC;
}
.name {
	font-size: .75rem;
	margin: 0 0 15px;
	padding: 0;
}
p {
	color: #FFF;
	font-size: 1rem;
	line-height: 1.8em;
	margin-bottom: 35px;
	text-shadow: 0.5px 0.5px 5px rgba(0, 0, 0, 1.0);
}
p.mini {
	color: #FFF;
	font-size: .85rem;
	line-height: 1.75em;
}
.caption_box {
	text-align: center;
	margin: 0 0 30px;
	padding: 0;
}
.caption {
	font-size: .75rem;
	text-align: left;
	padding-bottom: 5px;
	border-bottom: 1px solid #CCC;
}
.sponsorbox {
	text-align: left;
	font-size: .75rem;
	margin: 10px 0 30px;
	padding: 15px 30px;
	background: #FFF;
	border: 1px solid #CCC;
}
.sponsorbox p {
	margin: 50px 0;
}
.normal_flex {
	display: flex;
	justify-content: space-between;
}
.normal_item {
	width: 50%;
	font-size: .85rem;
	text-align: center;
	margin: 0 0 10px;
	padding: 0;
}
.normal_item img {
	border: 1px solid #CCC !important;
}
.sponsor_flex {
	display: flex;
	justify-content: space-between;
}
.sponsor_item {
	width: 50%;
	font-size: .85rem;
	text-align: center;
	margin: 0 0 10px;
	padding: 35px 15px;
	background: #FFF;
	border: 1px solid #CCC;
}
p a {
	color: #FFF;
}
img.naviphto {
	width: 600px; 
}
ul {
	margin: 0 0 30px;
	padding: 0 0 0 25px;
}
ul li {
	font-size: 1rem;
	line-height: 1.8em;
	text-decoration: underline dotted #CCC;
}
ul.simple_text {
	margin: 0;
	padding: 0 0 0 25px;
}
ul.simple_text li {
	font-size: .85rem;
	line-height: 1.7em;
	text-decoration: none;
	padding: 0 0 15px;
}
ul.simple_text li:last-child {
	padding: 0;
}
.btn_box {
	font-size: 1rem;
	text-align: center;
	padding: 15px 30px;
	border-radius: 100vh;
	background: #eb6100;
	margin-bottom: 30px;
}
.btn_box a {
	color: #FFF;
}

.tel_sp {
	display: block;
	background: -moz-linear-gradient(top,#FFC959 0%,#FF9900);
	background: -webkit-gradient(linear,left top,left bottom,from(#FFC959),to(#FF9900));
	border: 1px solid #DDD;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	width: 100%;
	text-align: center;
	margin: 0 auto 15px;
	padding: 0;
}
.tel_sp a {
	color: #FFF;
	font-size: .95rem;
	display: block;
	text-decoration: none;
	padding: 15px 0;
	border: none;
}
.tel_sp a:hover {
	color: #FFF;
	background: -moz-linear-gradient(top,#FFD275 0%,#FFAE35);
	background: -webkit-gradient(linear,left top,left bottom,from(#FFD275),to(#FFAE35));
}


/*table
--------------------------------------------------------*/
table.online {
	width: 100%;
	font-size: 0.85rem;
	line-height: 1.5em;
	font-weight: normal;
	margin: 0 0 30px 0;
	padding: 0;
	border-collapse: collapse;
}
table.online th {
	width: 25%;
	font-size: 0.75rem;
	font-weight: normal;
	text-align: center;
	padding: 10px;
	border: 1px solid #CCC;
	background: #EEE;
}
table.online td {
	text-align: left;
	padding: 10px;
	background: #FFF;
	border: 1px solid #CCC;
}
table.online td a {
	color: #000;
}

.yellow_box {
	color: #333;
	font-size: 0.75em;
	line-height: 1.5em;
	margin: 0 0 20px 0;
	padding: 20px;
	background: #FFFEEC;
	border: 1px solid #CCC;
}

.yellow_box li {
	font-size: 0.75rem;
	line-height: 1.5em;
	text-decoration: none;
	margin: 0 0 15px;
	padding: 0;
}

.info_box {
	color: #333;
	font-size: .85em;
	line-height: 1.5em;
	text-align: center;
	margin: 0 0 20px 0;
	padding: 20px;
	background: none;
	border: 1px solid #CCC;
}
.info_box a {
	display: block;
}

.white_box {
	color: #333;
	font-size: .85em;
	line-height: 1.75em;
	margin: 0 0 20px 0;
	padding: 20px;
	background: #FFF;
	border: 1px solid #CCC;
	border-radius: 5px;
}

/*ご予約エリア
--------------------------------------------------------*/
.contact_box {
	text-align: center;
	margin: 0 0 25px;
	padding: 10px 20px;
	background: #f7f7f7;
	border: 1px solid #AAA;
}
.click_button {
	display: block;
	background: -moz-linear-gradient(top,#FFC959 0%,#FF9900);
	background: -webkit-gradient(linear,left top,left bottom,from(#FFC959),to(#FF9900));
	border: 1px solid #DDD;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	width: 100%;
	text-align: center;
	margin: 0 auto 20px;
	padding: 0;
}
.click_button a {
	color: #FFF;
	font-size: .95rem;
	display: block;
	text-decoration: none;
	padding: 15px 0;
	border: none;
}
.click_button a:hover {
	color: #FFF;
	background: -moz-linear-gradient(top,#FFD275 0%,#FFAE35);
	background: -webkit-gradient(linear,left top,left bottom,from(#FFD275),to(#FFAE35));
}


/*google map
--------------------------------------------------------*/
.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

#floatingmenu {
	display: none;
}


/* 続きを読む */
.cp_box *, .cp_box *:before, .cp_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box {
	width: auto;
	margin: 0;
}
.cp_box label {
	position: relative;
	display: block;
	font-size: .75rem;
	margin: 0 0 15px;
	padding: 10px;
	cursor: pointer;
	transition: all 0.3s;
	text-align: center;
	border: 1px solid #CCC;
}
.cp_box label:hover {
	transition: all 0.3s;
}
.cp_box input:checked ~ label:hover::after {
	color: #ffffff;
}
.cp_box input {
	display: none;
}
.cp_box .cp_container {
	position: relative;
	z-index: 10;
	overflow: hidden;
	height: 0;
	margin-top: -1px;
	transition: height 0.3s ease-in-out,box-shadow 0.6s linear;
}
.cp_box input:checked ~ div {
	transition: height 0.5s ease-in-out,box-shadow 0.1s linear;
}
/* 続きを読むを押すと表示されるテキストの高さ */
.cp_box input:checked ~ div.cp_container {
	height: auto;
}


/*レスポンシブデザイン
--------------------------------------------------------*/
@media screen and (max-width:944px) {
section {
	margin-bottom: 30px;
}
#content {
	width: auto;
}
h2 {
	font-size: 1.2rem;
}
.contact_box {
	text-align: center;
	margin: 0 0 25px;
	padding: 10px 20px;
	background: #f7f7f7;
	border: 1px solid #AAA;
}
.click_button {
	width: 100%;	
}
img.sp_image {
	width: 90%;
}
.pc_phone {
	display: none;
}



 #floatingmenu{
    display:flex;
    align-items:center;

    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;

    z-index: 9999;
    background-color:#1f2c5c;

    /* ホームバー分まで“背景を塗る” */
    padding: 10px 8px calc(10px + env(safe-area-inset-bottom));
    box-sizing: border-box;

    /* iOSのfixed安定化 */
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
  }

  /* safe-areaを確実に塗りつぶす保険（これが効く） */
  #floatingmenu::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom: 0;
    height: env(safe-area-inset-bottom);
    background:#1f2c5c;
  }

  /* 4 : 2 : 2 : 2 */
  #floatingmenu a{
    flex: 2 1 0;
    display:flex;
    justify-content:center;
    align-items:center;
    min-width:0;
  }
  #floatingmenu a:first-child{
    flex: 4 1 0;
    justify-content:flex-start; /* ロゴ左寄せ */
    padding-left:12px;
  }

  /* float禁止 + 画像を枠にフィット（HTMLのwidth指定も潰す） */
  #floatingmenu img{
    float:none;
    display:block;
    width:100% !important;
    height:auto;
    margin:0;
    padding:0;
  }

  /* 本文がナビに隠れないように（必要なら） */
  body{
    padding-bottom: calc(70px + env(safe-area-inset-bottom));
  }

}