@charset "Shift_JIS";
/* 文字コードセット */

/* reset　
---------------------------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, /*sup,*/ var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
body {
	line-height:1;
}

article, aside, dialog, figure, footer, header,
hgroup, nav, section {
	display:block;
}

nav ul {
	list-style:none;
}

blockquote, q {
	quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

a {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom:1px dotted #000;
	cursor:help;
}

table {
	border-collapse:collapse;
}

hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #ddd;
    margin:0;
    padding:0;
	margin-bottom:30px
}

input, select {
	vertical-align:middle;
}


/* 全体構造
---------------------------------------------------- */
.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
    zoom:1;/*for IE 5.5-7*/
	overflow:hidden;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

a,input[type="submit"],input[type="button"]{
	outline:none;
    -webkit-transition: 0.6s; 
    -moz-transition: 0.6s; 
    -o-transition: 0.6s; 
    -ms-transition: 0.6s; 
    transition: 0.6s; 
} 
a:hover,input[type="submit"]:hover,input[type="button"]:hover{opacity:0.6;filter: alpha(opacity=60);}

body{
	font-size:95%;
	line-height:1.7em;
	font-family:Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	color:#333;
	background-color:#fff;
}



/* link
---------------------------------------------------- */
a:link,a:visited{color:#666;text-decoration:underline;}
a:hover,a:active{color:#666;text-decoration:none;}


/* font
---------------------------------------------------- */
.webfont{font-family: 'Cabin', sans-serif;}


/* header,nav
---------------------------------------------------- */
header{
	background:url(../images/bg_header.jpg) no-repeat top center;
	width:100%;
	height:160px;
}
nav{width:1000px;margin:0px auto;}

.nav{
	width:420px;
	height:95px;
}
.nav li{
	display:inline;
	float:left;
	list-style:none;
	height:95px;
	width:140px;	
}
header h1{
	margin-top:16px;
	float:left;
	width:154px;
	height:133px;
}
#header_nav{
	margin:0px 35px 4px 203px;
	width:182px;
	height:20px;
}
#header_nav li{
	display:inline;
	float:left;
	list-style:none;
	margin-left:15px;
	height:20px;
	margin-top:-5px;
}

header h1 a:hover,
nav li a:hover{opacity:1;filter: alpha(opacity=100);}


/* main, contents, side
---------------------------------------------------- */
#main{
	width:1000px;
	margin:0px auto;
	text-align:left;
	padding-bottom:40px;
}

#contents{ width:720px; float:left}
#side{ width:240px; float:right}

#side a:link,
#side a:visited{ color:#00449b;}

.side_category{list-style:none;}
.side_category li{
	position: relative;
	padding: .2em;
	border:1px solid #00449b;
	border-radius:7px;
	margin-bottom:10px;
}
.side_category li span {
	display: block;
	padding: .50em 1em;
	border: 1px dashed #00449b;
	border-radius:7px;
}
.side_category li a{
	text-align:center;
	text-decoration:none;
	font-weight:bold;
}


/* footer
---------------------------------------------------- */
footer{
	background:url(../images/bg_footer.jpg) no-repeat top center;
	width:100%;
	height:183px;
	color:#00449b;
}
#footer{
	width:1000px;
	margin:0px auto;
	padding:73px 0px 0px 0px;
	font-size:90%;
	line-height:1.8em;
}

#footer ul{
	float:right;
	list-style:none;
	margin:0px 70px 0px 30px;
}
#footer li:before{ content:" \f005";font-family: FontAwesome; line-height:1.5em; padding-right:5px} 
#footer li a{color:#00449b; text-decoration:none;}


/* copyright
---------------------------------------------------- */
#copyright{
	background-color:#00449b;
	text-align:center;
	padding:30px 0px;
	color:#fff;
}
#copyright p{
	font-size:150%;
	padding:15px 0px 10px;
}


/* pagetop
---------------------------------------------------- */
#pageTop{
position: fixed;
bottom:30px;
right:30px;
cursor:pointer; opacity:0;
z-index:9999;
}

#pageTop.moveTop{
	animation: moveTop 2s linear; opacity:0;
	}

@keyframes moveTop { 
  0%   { transform:  translate(0px, 0px) rotate(0deg) ; opacity:1;   } 
  25%   { transform:  translate(10px, -100px)  rotate(-10deg);   }
  50%   { transform:  translate(-10px, -250px) rotate(10deg); opacity:1;  }
  75%   { transform:  translate(10px, -450px) rotate(-10deg);   }
  100%  { transform:  translate(0px, -650px)  rotate(10deg);opacity:0 ;display:none;  } 
}

#pageTop.moveIn{
	animation: moveIn 1s ease-in-out;opacity:1;
}

@keyframes moveIn { 
  0%   { transform: rotate(0deg) translate(0px, 0px)  ; opacity:0 ;  } 
  25%   { transform: rotate(-10deg);   }
  50%   { transform: rotate(0deg) translate(0px, -20px);  }
  75%   { transform: rotate(10deg);   }
  100%  { transform: rotate(0deg) translate(0px, 0px) ;opacity:1;  } 
}


/* index.html
---------------------------------------------------- */
.top_news{
	border:2px solid #f4cff4;
	border-radius:15px;
	background:url(../images/bg_news.jpg) repeat;
	padding:13px 28px 15px 25px;
}
.top_news2{
	border:2px solid #e91c2c;
	border-radius:15px;
	padding:13px 28px 15px 25px;
}
.top_news h2{ float:left; width:225px; margin-bottom:10px;}
.top_news div{ float:right; width:100px; margin-top:7px}
.top_news table{
	clear:both;
	width:100%;
}
.top_news th{
	font-size:90%;
	width:20%;
	text-align:left;
	padding-left:3px;
}
.top_news th img{ vertical-align:middle; margin-left:5px;}

.top_event{
	background-color:#fffcc7;
	border-radius:10px;
	padding:15px;
	margin-bottom:20px;
}
.top_event div{ line-height:normal; margin-top:10px;}


/* event_detail.html,news_detail.html
---------------------------------------------------- */
.detail table{
	width:100%;
	margin-bottom:30px;
}
.detail th{
	font-size:90%;
	width:20%;
	text-align:left;
	padding-left:3px;
}
.detail th img{ vertical-align:middle; margin-left:5px;}
.detail .twitter{ vertical-align:top; text-align:right; margin-left:10px;}
.detail .facebook{ vertical-align:top; text-align:right; margin-left:10px;}
.detail .line{ vertical-align:top; text-align:right; margin-left:10px;}

.detail_img{
	list-style: none;
	margin: 0px -25px 20px;
	overflow: hidden;
}
.detail_img li{
	float: left;
	width: 300px;
	margin: 0px 25px;
	text-align:center;
}


/* store.html
---------------------------------------------------- */
/*---- 日本地図 ----*/
.store_map{
  width: 520px;
  margin:0px auto 30px;
}
.store_area{
  width: 520px;
  height: 520px;
  position: relative;
}
.store_area li{
	list-style:none;
	font-weight:bold;
	position: absolute;
}
.store_area li a{
	background-color: #fff;
	border:1px solid #55c3e9;
	padding: 7px 20px;
	border-radius: 30px;
	color:#00449b;
	text-decoration:none
}
.store_area li a:hover{
	background-color:#00449b;
	border:1px solid #00449b;
	color:#fff;
	opacity:1;filter: alpha(opacity=100);
}
.store_area .area_1 { top: 140px; right: -60px; /* 北海道・東北 */}
.store_area .area_2 { top: 280px; right: 20px; /* 関東 */}
.store_area .area_3 { top: 250px; right: 180px; /* 北陸・甲信越 */}
.store_area .area_4 { top: 320px; right: 140px; /* 東海 */}
.store_area .area_5 { top: 370px; right: 190px; /* 近畿 */}
.store_area .area_6 { top: 300px; left: -10px; /* 中国・四国 */}
.store_area .area_7 { top: 420px; left: 70px; /* 九州・沖縄 */}


/*---- エリアナビ固定 ----*/
.fixed-top {
	margin-top: 55px !important;
}
.store_anchorlinks{
	width: 100%;
	margin-bottom:10px;
	z-index:9999;
}
.store_anchorlinks ul{
	width: 999px;
	margin: 0px auto;
	border-right: solid 1px #fff;
	display:table;
}
.store_anchorlinks li{
	font-weight:bold;
	display:table-cell;
}
.store_anchorlinks li a {
	color: #fff;
	text-align: center;
	line-height: 20px;
	text-decoration: none;
	padding: 10px 0px;
	display: block;
	border-left: solid 1px #fff;
	background-color: #00449b;
}
.store_anchorlinks li a:hover {
	background-color: #55c3e9;
}
.fixed-top .store_anchorlinks {
	position: fixed;
	top: 0;
	left: 0;
	background-color: #00449b;
}

/*---- 店舗情報 ----*/
.store_box {
	padding-top: 60px;
}


/* store_detail.html
---------------------------------------------------- */
#photo_container {
  width: 100%;
}
#photo_container img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  vertical-align: middle;
}
#photo_container .thumbnail {
  float: right;
  width: 109px;
  margin: 0;
  background-color: #ccc;
}
#photo_container .thumbnail li {
  line-height: 70px;
  text-align: center;
  width: 109px;
  height: 70px;
  border-bottom:1px solid #fff;
  background-color: #ccc;
  overflow: hidden;
  list-style:none;
}
#photo_container .thumbnail li img { opacity: 0.5; filter: alpha(opacity=50);}
#photo_container .thumbnail li.current img,
#photo_container .thumbnail li a:hover img { opacity: 1; filter: alpha(opacity=100);}
#photo_container .main_photo {
  width: 430px;
  height: 354px !important;
  line-height: 352px;
  text-align: center;
  background-color: #eee;
  overflow: hidden;
  position: relative;
}
#photo_container .caption {
  font-size: 13px;
  width: 464px;
  padding: 10px;
  background-color: #ccc;
}

.store_detail_ico{
	clear:both;
	list-style: none;
	margin: 0px -5px 20px;
	overflow: hidden;
}
.store_detail_ico li {
	float: left;
	width: 91px;
	margin: 0px 5px 10px;
}


/* faq.html
---------------------------------------------------- */
.faq_box{
	border:1px solid #55c3e9;
	border-radius:10px;
	padding:29px 29px 20px;
	position:relative;
	margin-bottom:30px;
}
.faq_box span{
	position: absolute;
	left:25px;
	top:-15px;
	width:63px;
	height:48px;
	padding-top:15px;
	border-radius:50%;
	background: #7ddfe2;
	color:#fff;
	line-height:normal;
	font-family:Century Gothic,Futura,sans-serif;
	font-weight:normal;
	text-align:center;
	font-size:28px;
}
.faq_box h3{
	padding-left:70px;
}


/* form
---------------------------------------------------- */
.table_form{width:100%;border-top:1px solid #ddd;}
.table_form th{border-bottom:1px solid #ddd;padding:10px;vertical-align:middle; width:23%; text-align:left; color:#00449b}
.table_form td{border-bottom:1px solid #ddd;padding:10px;}
.table_form .need:after { content: "必須 "; color:#fff; background-color:#ff6a5a; font-size:75%; line-height:normal; padding:5px; border-radius:2px; display:block; float:right}

.form-s{width:150px}
.form-m{width:250px}
.form-l{width:450px}
.form100{width:95%}
.form-h{ height:150px; width:95%}

input{font-size:100%;vertical-align:middle; padding:14px}
input[type="text"], select{ border:1px solid #ddd;/*background:#eee;*/ padding:14px; border-radius:4px}
input:focus[type="text"]{border:1px solid #999;}
input[type="checkbox"], input[type="radio"] {vertical-align:middle}

.required input[type="text"], .required input[type="password"], .required select, .required textarea{ border:1px solid #fcc;/*background-color:#fee; */padding:14px;}
.required input[type="text"]:focus, .required input[type="password"]:focus, .required textarea:focus{border:1px solid #f66; }

textarea{font-size:100%;border:1px solid #ccc;padding:14px;width:99%; border-radius:4px}
input,textarea{ 
  display: inline-block; 
  font-family: FontAwesome; 
  font-style: normal; 
  font-weight: normal; 
  line-height: 1; 
  -Webkit-font-smoothing: antialiased; 
  -moz-osx-font-smoothing: grayscale;
} 

.contact_privacy{
	margin-top:30px;
	height:300px;
	overflow:auto;
	font-size:90%;
	line-height:1.5em;
	border:3px solid #ddd;
	/*border-radius:15px;*/
	margin-bottom:30px;
	padding:20px 27px 27px;
}
/*.contact_privacy_scroll{
	overflow-y: scroll;
	overflow-x: hidden;
	height: 300px;
	padding:20px 27px 27px;
	width: 940px;
}*/
.contact_privacy h3{
	font-size:30px;
	text-align:center;
	line-height:normal;
	color:#00449b;
	margin-bottom:15px;
}
.contact_privacy h3 span{ display:block; margin-top:2px; font-size:12px}
.contact_privacy h4{
	margin-top:15px;
	font-size:110%;
	margin-bottom:10px;
	position: relative;
}
.contact_privacy h4 span {
	position: relative;
	z-index: 2;
	display: inline-block;
	margin-right:2.5em;
	padding-right:1em;
	background-color: #fff;
	text-align: left;
}
.contact_privacy h4::before {
	position: absolute;
	top: 50%;
	z-index: 1;
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-color: #ddd;
}
.contact_privacy ol{ margin-left:20px;margin-bottom:15px}

.submit{
	background-color:#00449b;
    color: #fff;
	border:none;  
	font-size:100%;
	cursor:pointer;
	font-weight:bold;
	padding:15px 40px 15px 50px;
	border-radius:30px;
}


/* table
---------------------------------------------------- */
table{border-spacing:0px;border-collapse:collapse;}
table ul, table ol{margin-left:20px;}

.table{width:100%;border-top:1px solid #ddd;}
.table th{ padding:15px; border-bottom:1px solid #ddd;color:#00449b; text-align:left; width:30%}
.table td{ padding:15px; border-bottom:1px solid #ddd;  vertical-align:top}

.table2{width:100%;}
.table2 th{ padding:5px 15px; border:1px solid #ffbfe5;background-color:#ef7db9; color:#fff !important; vertical-align:middle;}
.table2 td{ padding:5px 10px; border:1px solid #ffbfe5;background-color:#fff;vertical-align:middle;}


/* title
---------------------------------------------------- */
.tit01{
	width:250px;
	position: relative;
	padding: .3em;
	background-color: #55c3e9;
	color:#fff;
	text-align:center;
	font-size:22px;
	line-height:normal;
	margin:0px auto 25px;
}
.tit01 span {
	display: block;
	padding: .50em 1em;
	border: 1px dashed #fff;
}
.tit01::before,
.tit01::after {
	content: '';
	position: absolute;
	top: 100%;
	border-style: solid;
	border-color: transparent;
}
.tit01::before {
	left: 0;
	border-width: 0 15px 15px 0;
	border-right-color: #4cadcf;
}
.tit01::after {
	right: 0;
	border-style: solid;
	border-width: 15px 15px 0 0;
	border-top-color: #4cadcf;
}

.tit02{
	font-size:160%;
	font-weight:normal;
	font-weight:bold;
	color:#00449b;
	margin-bottom:10px;
}
.tit03{
  font-size:120%;
  color:#fff;
  background-color:#7ddfe2;
  padding:10px 15px;
  border-radius:8px;
  margin-bottom:10px;
}


/* link, btn
---------------------------------------------------- */
.btn{
	padding:10px 35px;
	background-color:#00449b;
	border-radius:30px;
	text-align:center;
	font-weight:bold;
}
.border{
border:2px solid #000;	
border-radius:50px;
}
.btn:link,
.btn:visited{ color:#fff; text-decoration:none}

.btn-s{
	font-size:85%;
	padding:0px 10px;
	border:1px solid #00449b;
	text-align:center;
	border-radius:30px;
}
.btn-s:link,
.btn-s:visited{ color:#00449b; text-decoration:none}
.btn-s:hover{ background-color:#00449b; color:#fff; text-decoration:none; opacity:1;filter: alpha(opacity=100);}


/* paging
---------------------------------------------------- */
div.paging{
	clear:both;
	padding-top:30px;
	line-height:1.0em;
	font-size:90%;
	text-align:center;
}
div.paging span.current,
div.paging span a.paging-text{
	margin:5px 1px;
	padding:10px 12px;
	color:#00449b;
	background-color:#fff;
	border:1px solid #55c3e9;
	display:inline;
	zoom:1;
	display:inline-block;
	overflow:hidden;
	text-decoration:none;
	border-radius:50%;
}
div.paging span.current{
	background-color:#00449b;
	border:1px solid #00449b;
	color:#fff;
	display:inline;
	zoom:1;
	text-decoration:none;
	display:inline-block;
}
div.paging span a.paging-text:hover{
	background-color:#55c3e9;
	border:1px solid #55c3e9;
	color: #fff;
	display:inline;
	zoom:1;
	text-decoration:none;
	display:inline-block;
	cursor:pointer;
	opacity:1;filter: alpha(opacity=100);
}


/* box
---------------------------------------------------- */
.box{
	border:1px solid #55c3e9;
	border-radius:15px;
	padding:29px;
}


/* common
---------------------------------------------------- */
img{border:0;vertical-align:bottom;}
h2,h3,h4,h5,h6{clear:both;}

.clear{clear:both;}

.f-left{float:left;}
.f-right{float:right;}
.center-block{ margin:0px auto; display:block}
.center-height{ display:table; background-color:#fff}
.center-height_inr{ display:table-cell; vertical-align:middle}

.img_round{ border-radius:20px; border:5px solid #fcb568}

/* テキスト関係 */
.tal{text-align:left !important}
.tac{text-align:center;}
.tar{text-align:right;}
.fs80{ font-size:80%}
.fs104{font-size:104%;}
.fs120{ font-size:120%}
.fs130{ font-size:130%}
.fs140{ font-size:140%}
.fs150{ font-size:150%}
.fs180{ font-size:180%}
.fs220{ font-size:220%}
.fs250{ font-size:250%}
.lsn{ list-style:none;}
.lhn{ line-height:normal}
.dsb{ display:block}
.red{color:#e91c2c}
.blue{ color:#00449b;}

/* サイズ指定 */
.w70{ width:70px}
.w100{ width:100px}
.w420{ width:420px}
.w470{ width:470px}
.w540{ width:540px}

.mb5{ margin-bottom:5px}
.mb10{ margin-bottom:10px}
.mb15{ margin-bottom:15px}
.mb20{ margin-bottom:20px}
.mb30{ margin-bottom:30px}
.mb40{ margin-bottom:40px}
.mb50{ margin-bottom:50px}
.mt20{ margin-top:20px}
.ml20{ margin-left:20px}
.ml10{ margin-left:10px}
.mr20{ margin-right:20px}
.pt24{ padding-top:24px;}
.pl20{ padding-left:20px;}

.gray {color:#666;}
.fwb{font-weight: bold;}

@media print {
}


#side a:link.insta_btn2{/*ボタンの下地*/
  color: #FFF;/*文字・アイコン色*/
  border-radius: 7px;/*角丸に*/
  position: relative;
  display: inline-block;
  height: 50px;/*高さ*/
  width: 240px;/*幅*/
  text-align: center;/*中身を中央寄せ*/
  font-size: 25px;/*文字のサイズ*/
  line-height: 50px;/*高さと合わせる*/
  vertical-align: middle;/*垂直中央寄せ*/
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション@*/
  overflow: hidden;/*はみ出た部分を隠す*/
  text-decoration:none;/*下線は消す*/
}

.insta_btn2:before{/*グラデーションA*/
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;/*全体を覆う*/
  height: 100%;/*全体を覆う*/
  background: -webkit-linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
  background: linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
}

.insta_btn2 .fa-instagram{/*アイコン*/
  font-size: 35px;/*アイコンサイズ*/
  position: relative;
  top: 4px;/*アイコン位置の微調整*/
}

.insta_btn2 span {/*テキスト*/
  color: #fff;
  display:inline-block;
  position: relative;
  transition: .5s
}

.rikunabi {
  position: relative;
  display: inline-block;
  font-size: 1.2em;
  font-weight: bold;
  padding: 1em 2.4em;
  text-decoration: none !important;
  border: solid 4px #668ad8;
  border-radius:5px;
  color: #01449d !important;
  background: #e1f3ff;
  transition: .4s;
}

.rikunabi:hover {
  filter:alpha(opacity=50);
  -moz-opacity: 0.5;
  opacity: 0.5;
}