@charset "utf-8";
/*
	o2 Group v1.0
	 http://theme.o2gp.com/

	This theme was designed and built by o2 Group,
	whose blog you will find at http://theme.o2gp.com/

	The CSS, XHTML and design is released under GPL:
	http://www.opensource.org/licenses/gpl-license.php

*/

/* =Reset default browser CSS.
Based on work by Eric Meyer:http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td{border:0;font-family:inherit;font-size:100%;font-style:inherit;font-weight:inherit;margin:0;outline:0;padding:0;vertical-align:baseline;}
:focus{outline:0;}

ol, ul{list-style:none;}
table{border-collapse:separate;border-spacing:0;}
caption, th, td{font-weight:normal;text-align:left;}
blockquote:before, blockquote:after,q:before, q:after{content:"";}
blockquote, q{quotes:"" "";}
a img{border:0;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{display:block;}
/* -------------------------------------------------------------- */

/* 基本リンク設定
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
a {color:blue;	text-decoration:none;}
a:hover{background:#FDE8EA;}


/* 全体
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
body{
color:#444;
font-size:1em;
font-family:verdana,"ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
line-height:1.5;
-webkit-text-size-adjust:100%;
}

#wrapper{
margin:0 auto;
padding:0 1%;
width:98%;
position:relative;
}

.inner{
margin:0 auto;
width:100%;
}


/* 画像・動画系
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.post img{max-width:100%;height:auto;}

body {background:url(../img/bg.jpg) no-repeat right top fixed;} /* 背景画像 */

img.aligncenter{
display:block;
margin:5px auto;
}

img.alignright, img.alignleft{
padding:4px;
margin:0 0 2px 7px;
display:inline;
}

img.alignleft{margin:0 7px 2px 0;}

.chirashi img { border:1px solid #ccc;} /* チラシ */

/* YouTube埋め込みのレスポンシブ化 */
.youtube {
  max-width: 560px;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

/* トップ画像
━━━━━━━━━━━━━*/
#mainBanner{
clear:both;
margin:35px auto 0px;
padding:0;
position:relative;
text-align:center;
}
#mainBanner .inner{position:relative;}

#mainBanner img{
max-width:100%;
height:auto;
}


/* ヘッダー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#header{
height:170px;
}

#header h1{
padding:5px 0 10px;
font-size:12px;
font-weight:normal;
}

/* ロゴ
━━━━━━━━━━━━━*/
.logo{float:left;}
.logo p{float:left;}
.logo a:hover{background:none;} 


/* 電話番号
━━━━━━━━━━━━━*/
.info{
float:right;
text-align:right;
}

#header .tel{
margin-top:6px;
font-size:22px;
font-weight:bold;
}

#header .info .open,
#header .info span {
font-size:14px;
font-weight:normal;
}


/*メインコンテンツ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
section.content article{
padding:30px 0 20px 0;
margin-bottom:10px;
overflow:hidden;
}

section.toppage article,section.content .archive{border:0;}

section.content p{margin-bottom:5px;}

h3.heading{ /* 大見出し */
font-size:23px;
font-weight:bold;
padding:15px 0;
text-align: center;
margin-bottom:5px;
border-top:2px dashed #94d8f8;
border-bottom:2px dashed #94d8f8;
/* ▼背景斜めボーダー */
background-color: #f5faff;
background-image:repeating-linear-gradient(-45deg,#fff, #fff 7px, transparent 0, transparent 14px);
}

h4 { /* 中見出し */
font-size:17px;
font-weight:bold;
padding:0 0 10px;
margin-bottom:15px;
border-bottom:2px dotted #df94f8;
	}
	
section.content img{
max-width:90%;
height:auto;
}

.alignleft{
float:left;
clear:left;
margin:3px 10px 10px 0;
}

.alignright{
float:right;
clear:right;
margin:3px 0 10px 10px;
}


/* フッター
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#footer{clear:both;}
#footer{border-top:2px dashed #e18d90 !important;}

#footer .inner{
padding:40px 0;
overflow:hidden;
}

#footer .grid{margin:0;}

#footer #info{float:left;}

#footer h1{
font-size:20px;
font-weight: bold;
margin-bottom: 10px;}

#footer {
font-size:14px;
font-weight:normal !important;
}

#copyright{
clear:both;
padding:20px 0 10px 0;
text-align:center;
font-style:normal;
font-size:12px;
color:#555;
}	

/* ページトップ */
#page-top { 
position: fixed;
bottom: 20px;
right: 20px;
font-size: 77%;
}


/* タイポグラフィ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.dateLabel{
margin:0 0 10px;
text-align:right;
font:italic 1em "Palatino Linotype", "Book Antiqua", Palatino, serif;
}

.post p{padding-bottom:10px;}

.post ul{margin:0 0 10px 10px;}

.post ul li{
margin-bottom:5px;
padding-left:15px;
background:url(images/bullet.png) no-repeat 0 8px;
}

.post ol{margin:0 0 10px 30px;}

.post ol li{list-style:decimal;}

.post h1{
margin:20px 0;
padding:5px 0;
font-size:150%;
color:#000;
border-bottom:3px solid #cf6a88;
}

.post h2{
margin:10px 0;
padding-bottom:2px;
font-size:130%;
font-weight:normal;
color:#333;
border-bottom:2px solid #cf6a88;
}

.post h3{
margin:10px 0 25px 0;
padding:10px 0 10px 0;
font-size:120%;
font-weight:normal;
border-bottom:1px solid #ddd;
}

.post blockquote{
clear:both;
padding:10px 0 10px 15px;
margin:10px 0 25px 30px;
border-left:5px solid #ccc;
}
 
.post blockquote p{padding:5px 0;}

/* テーブルデザイン
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.post table{
border-collapse:collapse;
margin:5px 0 15px;
}

.post table td{
border-collapse:collapse;
background-color:#fafafa;
text-align:left;
padding:8px;
border:1px solid #D6D6D6;
line-height:20px;
width:100%;
}

.post table th{
background-color:#F5F5F5;
padding:8px;
white-space:nowrap;
color: #151515;
border-top:1px solid #D4D4D4;
border-right:4px solid #D4D4D4;
border-bottom:1px solid #D4D4D4;
border-left:1px solid #D4D4D4;
font-weight:normal;
letter-spacing:1px;
background-repeat:repeat-x;
background-position:top;
width:30%;
}


/* お知らせ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.new{
	overflow:auto;
	height:150px;
	border:1px solid #ccc;
	padding:15px 20px 20px;
	background:#fff;
	margin-bottom: 20px;
}

.new li {
	margin-left:-20px;
	font-size:14px;
}

.new span {
	color:#e6677a;
	padding-right:20px;
}


/* メンバー紹介・協力店
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#member div,
#member2 div {
	margin-right:20px;
	font-size:14px;
}

#member h4,
#member2 h4 {
	margin-top:20px;
}

/* 続きを読むボタン
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.readmore{
    position: relative;
    box-sizing: border-box;
	margin-top:-12px;
}

.readmore-content{
    position: relative;
    overflow: hidden;
    /*以下お好み*/
    /*高さの初期値*/
    height: 150px;
}

div.readmore,
div.readmore-content { width:100% !important; }

.readmore-content::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    content: "";
    /*以下お好み グラデーションの色と高さ 高さはreadmoreのheight以下にすること*/
    height: 50px;
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0.8) 50%, #fff 100%);
    background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0.8) 50%, #fff 100%);
}

/* ボタン */
.readmore-label{
	cursor:pointer;
    display: table;
    bottom: 5px;
    position: absolute;
    bottom: 5px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    margin: 0 auto;
    z-index: 2;
    padding: 0 10px;
    background-color: #ff7777;
    border-radius: 10px;
    color: #FFF;
}
.readmore-label:before{
    content: '続きを読む';
}

.readmore-check{
    display: none;
}
/*チェック時にボタンを非表示*/
.readmore-check:checked ~ .readmore-label{
    position: static;
    transform: translateX(0);
    -webkit-transform: translateX(0);
    /* 「続きを読む」を押した後、元に戻す必要がない場合は、上のオプションを消してこの1行だけにする */
    /* display: none; */
}
.readmore-check:checked ~ .readmore-label:before{
    content: '閉じる';
}
/*チェック時に高さを自動に戻す*/
.readmore-check:checked ~ .readmore-content{
    height: auto;
}
/*チェック時グラデーション等を削除*/
.readmore-check:checked ~ .readmore-content::before {
    display: none;
}


/* パソコンサイズでの表示(960px以上)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
@media only screen and (min-width:960px){

	#wrapper{clear:both;padding:20px 0;}

	#header,#wrapper,.inner{
	width:960px;
	padding:0;
	margin:0 auto;
	}

	#header .info {padding-top:30px;}
	
	#main{
	float:right;
	width:680px;
	padding:15px 0 0 0;
	}
	
	.logo{width:500px;}
	
	.grid{
	width:320px;
	display:table-cell;
	}
	
	/* メインメニュー
	━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
	nav div.panel{
	display:block !important;
	float:left;
	}

	a#menu{display:none;}
	
	#mainNav{
	clear:both;
	z-index:200;
	position:relative;
	height:60px;
	width:960px;
	margin:0 auto 0;
	border-top:2px dashed #e18d90 !important;
	border-bottom:2px dashed #e18d90 !important;
	}

	#mainNav li{
	float:left;
	position:relative;
	}

	#mainNav li a{
	color:#000;
	display: block;
	text-align: center;
	_float:left;
	font-size:16px;
	width:160px;
	height:28px;
	padding:17px 0 15px;
	}
	#mainNav li a:hover{background:#fff7f5;}

	#mainNav li a span,#mainNav li a strong{display:block;}

	#mainNav li a span{
	color:#bababa;
	font-size:10px;
	}
	
	#mainNav ul ul{width:160px;background:#fff;}
	#mainNav li ul{display:none;}

	#mainNav li:hover ul{
	display:block;
	position:absolute;
	top:64px;
	z-index:500;
	}
	
	#mainNav li li{
	margin:0;
	float:none;
	width:160px;
	border:0;
	}
	#mainNav li li:last-child{border:0;}
	
	#mainNav li li a{
	width:auto;
	height:auto;
	padding:10px;
	font-size:95%;
	text-align:left;
	border:0;
	}

	#mainNav li li span{padding:0 10px;}
	
	#mainNav li.current-menu-item a{
	border-color:#555;
	}

	#mainNav li.current-menu-item a,#mainNav li a:hover,#mainNav li.current-menu-item li a:hover{
	color:#444;
	}

	/* メンバー紹介 */
	#member{
	display:flex;
	flex-wrap: wrap;
	}
	
	#member div {
	width: 31%  !important; /*カラム3列*/
	}
	
	/* 協力店 */
	#member2{
	display:flex;
	flex-wrap: wrap;
	}
	
	#member2 div {
	width: 47% !important; /*カラム2列*/
	}
	
}

/* iPadくらいのサイズでの表示(959px以下)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
@media only screen and (max-width:959px){
	*{
    -webkit-box-sizing:border-box;
       -moz-box-sizing:border-box;
         -o-box-sizing:border-box;
        -ms-box-sizing:border-box;
            box-sizing:border-box;
	}

	#main{padding-top:15px;}
	section.toppage{margin:0;}
	
	.grid{
	float:left;
	width:32%;
	margin:10px 0 0 1%;
	}

	#header {padding: 0 20px;}
	#header .info {padding-top:30px;}
	
	/* メインメニュー(MENUボタンで開くタイプに)
	━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
	#mainNav{
	clear:both;
	width:100%;
	margin:0 auto;
	padding:0;
	border-top:2px dashed #e18d90 !important;
	border-bottom:2px dashed #e18d90 !important;
	border-left:0;
	border-right:0;
	}

	#mainNav a.menu{
	color:#555;
	width:100%;
	display:block;
	height:40px;
	line-height:40px;
	font-weight: bold;
	text-align:left;
	}

	#mainNav a#menu span{
	padding-left:10px;
	}
	#mainNav a.menu span:before{content:"≡ ";}
	#mainNav a.menuOpen span:before{content:"× ";}

	#mainNav a#menu:hover{cursor:pointer;}

	nav .panel{
	display:none;
	width:100%;
	position:relative;
	right:0;
	top:0;
	z-index:1;
	}
	
	#mainNav ul{margin:0;padding:0;}

	#mainNav li{
	float:none;
	clear:both;
	width:100%;
	height:auto;
	line-height:1.2;
	}

	#mainNav li a,#mainNav li.current-menu-item li a{
	color:#555;
	display: block;
	padding:15px 10px;
	text-align:left;
	border-bottom:1px dashed #ccc;
	}
	
 	#mainNav li a span{padding-left:10px;}
	
	
	#mainNav ul > li:last-child a{border:0;}
	#mainNav li li:last-child a{border-bottom:1px dashed #ccc;}
 
	#mainNav li.current-menu-item a,#mainNav li a:hover,#mainNav li.current-menu-item a,#mainNav li a:active, #mainNav li li.current-menu-item a, #mainNav li.current-menu-item li a:hover, #mainNav li.current-menu-item li a:active{
	color:#555;
	}

	#mainNav li li{
	float:left;
	border:0;
	}

	#mainNav li li a, #mainNav li.current-menu-item li a, #mainNav li li.current-menu-item a{
	padding-left:40px;
	}

	#mainNav li li.current-menu-item a,#mainNav li li a:hover, #mainNav li.current-menu-item li a:hover{background:url(images/sub1.png) no-repeat 20px -62px;}

	#mainNav li li:last-child a{background:url(images/subLast.png) no-repeat 20px 20px;}
	#mainNav li li:last-child.current-menu-item a,#mainNav li li:last-child a:hover,#mainNav li.current-menu-item li:last-child a:hover{background:url(images/subLast.png) no-repeat 20px -65px;}

	nav div.panel{float:none;}
	
	/* Googleマップ */
	#access h3 {color:#fff;}
	
	.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%;
	}
	
	/* フッター表示切り替え */
	#footer .grid,#footer ul.footnav{float:none;width:100%;text-align:center;}
	ul.footnav li{float:none;display:inline-block;}
	#footer .inner{margin-top:-20px !important;}
	#footer .grid img,#footer .info{float:none;}
	#footer .grid p{display:block;}
	#footer.logo,#footer.info{width:100%;float:none;}
	
	/* メンバー紹介・協力店 */
	#member,#member2{
	display:flex;
	flex-wrap: wrap;
	}
	
	#member div,
	#member2 div{
	width: 45%; /* カラムを2列に */
	}
	
	/* お知らせ */
	.new{height:150px;}

	.new h4 {
	padding: 0 0 5px;
	font-size: 15px;}

	.chirashi img {width:31%;} /* チラシ */

}

/* スマホくらいのサイズでの表示(767px以下・480px以下)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
@media only screen and (max-width:767px){
	/* ヘッダー切り替え */
	/* ロゴ真ん中寄せ、電話番号非表示 */
	#header{height:auto;padding-bottom:20px;}
	#header .info {display: none;}
	#header{text-align:center;}
	.logo,.info{clear:both;width:100%;float:none;}

	body {background:none;} /* 背景 */
	.alignleft,.alignright,img.alignleft,img.alignright{float:none;display:block;margin:0 auto 10px;}
}

@media only screen and (max-width:480px){
	.grid{width:100%;margin:10px 0;}
	
	/* メンバー紹介・協力店 */
	#member div,
	#member2 div{
	width: 100%; /* カラムを1列に */
	}
	
	/* お知らせ */
	.new{padding:10px 10px 10px;}
}