@charset "utf-8";

/* 共通 */
.sub_wrapper{
	font-family:'Helvetica Neue',Helvetica,Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "游ゴシック体", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:15px;
	line-height:1.8;
	letter-spacing:0.5pt;
	font-kerning: normal;
	-webkit-font-kerning: normal;
}
.sub_wrapper a:hover{
	opacity:0.7;
}

.flex{
	display: -webkit-flex; /* Safari */
	display: flex;
}
.flex_between{
	-webkit-justify-content: space-between; /* Safari */
  	justify-content:         space-between;
}
.flex_around{
 	-webkit-justify-content: space-around; /* Safari */
  	justify-content:         space-around;
}
.flex_center {
  	-webkit-align-items: center; /* Safari */
  	align-items:         center;
}
.flex_bottom {
  	-webkit-align-items: flex-end; /* Safari */
  	align-items:         flex-end;
}
.border_t{
	border-top:solid 1px #999;
}
.border_b{
	border-bottom:solid 1px #999;
}
.border_tb{
	border-bottom:solid 1px #999;
	border-top:solid 1px #999;
}
.main_color{
	color:#35A7D2;
}
.bg_main_color{
	background-color:#35A7D2;
}
.last{
	margin:0 0 80px;
}
.alignleft{
	float:left;
		margin:0 20px 20px 0;/* 変更箇所 */
}
.alignright{
	float:right;
		margin:0 0 20px 20px;/* 変更箇所 */
}
.clearfix{
	clear:both;
}

.mt_10{margin-top:10px;}
.mt_20{margin-top:20px;}
.mt_30{margin-top:30px;}
.mt_40{margin-top:40px;}
.mt_50{margin-top:50px;}
.mt_60{margin-top:60px;}
.mt_70{margin-top:70px;}
.mt_80{margin-top:80px;}

.mb_10{margin-bottom:10px;}
.mb_20{margin-bottom:20px;}
.mb_30{margin-bottom:30px;}
.mb_40{margin-bottom:40px;}
.mb_50{margin-bottom:50px;}
.mb_60{margin-bottom:60px;}
.mb_70{margin-bottom:70px;}
.mb_80{margin-bottom:80px;}

.pt_10{padding-top:10px;}
.pt_20{padding-top:20px;}
.pt_30{padding-top:30px;}
.pt_40{padding-top:40px;}
.pt_50{padding-top:50px;}
.pt_60{padding-top:60px;}
.pt_70{padding-top:70px;}
.pt_80{padding-top:80px;}

/* モジュール別 
*****************************************************/

/* head */
.head{
	border: solid 1px #999;
	margin:0 0 60px;
}
.head_logo{
	width:200px;
	border-right: solid 1px #999;
}
.head_logo p{
	text-align:center;
}
.head_caption{
	padding:18px 25px;
}
.head_caption_txt{
	font-size:26px;
	font-weight:bold;
	line-height:1.4;
}
.head_caption_cate{
	margin:15px 0 0;
		font-size:12px;
}
.head_txt{
	position:relative;
	width:559px;
}
.feature_icon{
	position:absolute;
	right:20px;
	bottom:30px;
}
.feature{
	padding:18px 25px;
	border-bottom:solid 1px #999;
}
.feature_ttl{
	font-size:17px;
	font-weight:bold;
	float:left;
}
.feature_number{
	font-size:14px;
	margin:0 0 0 10px;
}
.feature_date{
	font-size:10px;
	text-align:right;
	padding:0 0 2px;
	
}
/* txt_box */
.txt_box{
	width:700px;
	margin:0 auto 60px;
}
.txt_box h2{
	font-size:24px;
	font-weight:bolder;
	margin:0 0 25px;
}
.txt_box .ruby{
	font-size:12px;
}
.txt_box .img_box{
	margin:25px 0 0;
}
.txt_box p{
	line-height:1.8;
	text-align:justify;
}
.txt_box figure{
	border:solid 1px #ddd;
}
.txt_box figcaption{
	padding:9px;
	font-size:11px;
	color:#999;
}

/* 3column */
.col3{
	width:230px;
	margin:0 0 60px;
}
.col3 .ttl{
	font-size:15px;
	font-weight:bold;
	margin: 12px 0 8px;
}
.col3 .place{
	margin: 0 0 14px;
	font-size:14px;
}
.col3 .main_txt{
	text-align:justify;
}
/* 2column */
.spot{
	width:700px;
	padding:15px 0 40px;
	margin:0 auto 60px;
}
.col2{
	width:340px;
}
.col2 .ttl{
	font-size:15px;
	font-weight:bold;
	margin: 12px 0 8px;
}
.col2 .ttl_right{
	font-size:21px;
	font-weight:bold;
	margin:0 0 20px;
}
.col2 h3{
	font-size:20px;
	line-height:1.6;
	font-weight:bold;
	margin:0 0 20px;
}
.col2 .spot_info{
	margin: 0px;
	font-size:12px;
}
.col2 dl {
  width:360px;
  font-size:12px;
  margin:0 0 20px;
}
.col2 dt {
  float:left;
}
.col2 dd {
  margin-left:88px;
}
.col2 .access{
	font-size:12px;
}
.col2 .main_txt{
	text-align:justify;
}
.col2 .main_txt_right{
	text-align:justify;
	margin:0 0 30px;
}
.item{
	margin:0 8px 0 0;
}
.area {
	margin:30px 0 15px;
}
.area span{
	border: solid 1px #ccc;
	padding:5px 10px;
	font-size:14px;
	font-weight:bold; 
}
.g_map{
	position:relative;
}
.g_map span{
	padding:6px 20px;
	font-size:15px;
	font-weight:bold;
	border-radius:20px;
	color:#FFF;
}
.g_map a{
	text-decoration:none;
}
/* shop */
.shop{
	padding:30px 10px;
	margin:0 0 60px;
	border-top:solid 1px #999;
	background-color:#F2EEE1;
}
.shop .shop_info{
	width:300px;
}
.shop .shop_info h4{
	font-size:15px;
	font-weight:bold;
	margin:0 0 17px;
}
.shop .shop_info .area{
	border: solid 1px #999;
	padding:5px 18px;
	font-size:14px;
	font-weight:bold;
	margin:0 20px 0 0; 
}
.shop .shop_info .shop_btn a{
	border: solid 1px #F4BB2E;
	color:#F4BB2E;
	padding:5px 18px;
	border-radius:16px;
	font-size:14px;
	font-weight:bold;
	text-decoration:none;
}
.shop .shop_info .shop_btn a:hover{
	border: solid 1px #F4BB2E;
	background-color:#F4BB2E;
	color:#FFF;
}
.shop .shop_txt{
	width:240px;
	text-align:justify;
}
.shop .main_txt{
	font-size:12px;
}
.shop .address{
	margin:17px 0 0;
	font-size:12px;
}
/* shops */
.shops{
	padding:30px 0;
	margin:0 0 60px;
	border-top:solid 1px #999;
	border-bottom:solid 1px #999;
}
.shops .shop_info{
	width:360px;
	text-align:center;
}
.shops .shop_info .shop_img{
	text-align:center;
}
.shops .shop_info h4{
	font-size:14px;
	font-weight:bold;
	margin:10px 0 17px;
}
.shops .shop_info .area{
	border: solid 1px #999;
	padding:5px 18px;
	font-size:14px;
	font-weight:bold;
	margin:0 20px 0 0; 
}
.shops .shop_info .shop_btn a{
	border: solid 1px #F4BB2E;
	color:#F4BB2E;
	padding:5px 18px;
	border-radius:16px;
	font-size:14px;
	font-weight:bold;
	text-decoration:none;
}
.shops .shop_info .shop_btn a:hover{
	border: solid 1px #F4BB2E;
	background-color:#F4BB2E;
	color:#FFF;
}
.shops .shop_txt{
	width:300px;
	margin:16px auto 0;
	text-align:justify;
}
.shops .main_txt{
	font-size:12px;
}
.shops .address{
	margin:17px 0 0;
	font-size:12px;
}
.centerline{
	width:1px;
	background-color:#999;
	margin:0;
	padding:0;
}

/* comment_A col1 */
.comment_a{
	margin:0 0 60px;
}
.comment_a .col1{
	padding:14px;
	background-repeat:no-repeat;
	font-size:14px;
	width:100%;
}
.comment_a .pattern_a{
	background-color:#EAE6D9;
}
.comment_a .pattern_b{
	background-color:#ECEDEF;
}
/* comment_B */
.comment_b{
	margin:0 0 60px;
	font-size:12px;
}
.cm_w700{
	width:700px;
	margin:0 auto 60px;
}
.comment_b .person{
	font-size:13px;
	font-weight:bold;
}
.comment_b .comment_info{
	width:110px;
}
.comment_b .comment_info h4{
	font-size:14px;
	font-weight:bold;
	margin:0 0 17px;
}
.comment_b  .comment_info .area{

	margin:0 20px 0 0; 
}
.comment_b  .comment_info .name{
	margin:10px 0 0;
	font-size:13px;
	font-weight:bold;
}
.comment_b  .comment_info .ruby{
	margin:0 0 10px;
}
.comment_b  .comment_txt p{
	width:460px;
	text-align:justify;
	padding:5px 15px;
	margin:6px 0 0;
	background-image:url(images/comment_start.png),
					 url(images/comment_end.png);
	background-repeat:no-repeat,
					  no-repeat;
	background-position:left top,
						right bottom;
}
/* comment_B short*/
.comment_border{
	padding:16px 0;
	border-top:solid 1px #999;
	border-bottom:solid 1px #999;
}
.comment_b .comment_txt_l p{
	width:540px;
	text-align:justify;
	padding:0 15px;
	background-image:url(images/comment_start.png),
					 url(images/comment_end.png);
	background-repeat:no-repeat,
					  no-repeat;
	background-position:left top,
						right bottom;
}
.comment_b .comment_info .ruby_b{
	margin:0 0 10px;
	font-size:10px;
}
/* maincontent */
.main_content{
	margin:0 0 60px;
	position:relative;
	border:solid 1px #999;
}
.main_content .number{
	position:absolute;
	top:0;
	left:0;
}
.main_content .main_photos{
	width:150px;/* = 個数 × 50 - 10 */
	margin:10px auto 15px;
}
.main_content .inner{
	width:700px;
	margin:0 auto;
	padding:10px 20px 30px;
}
.main_content .inner_left h3{
	font-size:18px;
	font-weight:bold;
	color:#525252;
}
.main_content .inner_left .ruby{
	font-size:14px;
	font-weight:bold;
	margin:0 0 15px;
	
}
.main_content .inner_left .area span{
	border: solid 1px #999;
	padding:5px 10px;
	font-size:14px;
	font-weight:bold; 
}
.main_content .inner_left address{
	margin:17px 0;
	font-size:12px;
}
.main_content .inner_left .shop_link a{
	font-size:14px;
	text-decoration:none;
	padding:7px 20px;
	border-radius:22px;
	color:#FFF;
}
.main_content .inner_right{
	width:440px;
}
.main_content .inner_right h3{
	font-size:18px;
	font-weight:bold;
	margin:0 0 20px;
}
.main_content .inner_right .main_txt{
	font-size:14px;
	text-align:justify;
}
/* maincontent C */
.main_content_c{
	border:solid 1px #999;
	margin:40px 0 60px;
	position:relative;
}
.main_content_c .new_icon{
	position:absolute;
	left:0;
	top:0;
	z-index:999;
}
.main_content_c .inner{
	margin:40px 0 40px;
}
.main_content_c .main_txt{
	width:430px;
	margin:0 0 25px 25px;
}
.main_content_c .date{
	font-size:15px;
	margin:0 0 15px;
}
.main_content_c .caption{
	font-size:18px;
	font-weight:bold;
	margin:0 0 30px;
}
.main_content_c .shop_info{
	margin: 0 0 0 60px;
}
.main_content_c .shop_name{
	font-size:19px;
	font-weight:bold;
	margin:0 0 10px;
}
.main_content_c .shop_ruby{
	font-size:14px; 
	font-weight:bold;
	margin:0 0 20px;
}
.main_content_c .shop_area{
	margin:0 0 20px;
}
.main_content_c .shop_area span{
	border: solid 1px #999;
	padding:5px 10px;
	font-size:14px;
	font-weight:bold;
}
.main_content_c .shop_link a{
	font-size:14px;
	text-decoration:none;
	padding:7px 20px;
	border-radius:22px;
	color:#FFF;
}
.main_content_c address{
	margin:0 0 20px;
}

/* maincontent D */
.main_content_d{
	border:solid 1px #999;
	margin:0 0 60px;
}
.main_content_d .inner{
	padding:40px 24px;
}
.main_content_d .date{
	font-size:15px;
	margin:0 0 15px;
}
.main_content_d .caption{
	font-size:18px;
	font-weight:bold;
	margin:0 0 15px;
}
.main_content_d .txt{
	text-align:justify;
}
/* maincontent E */
.main_content_e{
	border:solid 1px #999;
	margin:0 0 60px;
}
.main_content_e .main_txt{
	padding:35px;
}
.main_content_e .date{
	font-size:15px;
	margin:0 0 15px;
}
.main_content_e .caption{
	font-size:18px;
	font-weight:bold;
	margin:0 0 15px;
}
.main_content_e .txt{
	text-align:justify;
}

/* dam */
.sub .inner{
	background-color:#F2EEE1;
	padding:30px 30px 0;
}
.sub p{
	font-size:12px;
	text-align:justify;
}
