@charset "utf-8";

/***********
	clearfix
 ***********/
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.clearfix {
	display: block;
}

hr{
	clear:both;
	visibility:hidden;
	height:0;
	margin:0;
	padding:0;
	border:none;
}

/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
	共通設定およびスマートフォン向けのスタイル
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/
body {
	min-width:320px;
	background-color:rgb(230, 235, 250);
}

#wrapper{
	width:100%;
	max-width:1000px;
	margin:0 auto;
	background-color:rgb(253,251,251);
}

/* 基本のフォント*/
p, a, li, th, td, dt, dd{
	font-family: "Hiragino Kaku Gothic ProN",
		"Hiragino Kaku Gothic Pro",
		"ヒラギノ角ゴProN W3",
		"ヒラギノ角ゴ Pro W3",
		"メイリオ",
		Meiryo,
		Osaka,
		"ＭＳ Ｐゴシック",
		"MS PGothic",
		sans-serif;
		color:rgb(130,97,125);
		font-size:14px;
}

p, a, li, th, td, dt,dd{
	line-height:2em;
}

a{
	color:rgb(90,100,170);
	-webkit-transition:300ms 0 ease;
	-moz-transition:300ms 0 ease;
	-o-transition:300ms 0 ease;
	-ms-transition:300ms 0 ease;
	transition:300ms 0 ease;
}

a:hover{
	color:rgb(126,140,238);
	-webkit-transition:300ms 0 ease;
	-moz-transition:300ms 0 ease;
	-o-transition:300ms 0 ease;
	-ms-transition:300ms 0 ease;
	transition:300ms 0 ease;

}

a:hover img{
	-webkit-opacity:0.7;
	-moz-opacity:0.7;
	-o-opacity:0.7;
	-ms-opacity:0.7;
	opacity:0.7;
}

dt,dd{
	float:left;
}

h2,h3,h4,h5{
	color:rgb(110,80,95);
	margin-bottom:1em;
}

h2{
	font-size:18px;
	font-weight:bold;
	
	line-height:52px;
	background-image:url(../img/h2bg.png);
	background-repeat:no-repeat;
	padding-left:60px;
}

h3{
	font-size:16px;
	font-weight:bold;
	line-height:2em;
}

h3.type2{
	background-image:url(../img/h3bg.png);
	background-repeat:no-repeat;
	padding-left:40px;	
	background-color:rgb(255,240,247);
	margin-top:28px;
	line-height:32px;
	-webkit-border-radius:16px;
	-moz-border-radius:16px;
	-o-border-radius:16px;
	-ms-border-radius:16px;
	border-radius:16px;
}

h4{
	font-size:14px;
	font-weight:bold;
	line-height:2em;
}

ol, ul {
	list-style:inside disc;
	margin-left:14px;
}

p{
	margin-bottom:1em;
}

p.indent1{
	text-indent:-1em;
	margin-bottom:0;
}

span.del_when_sp{
	display:none;
}


header, footer, #contents{
	width:100%;
}

header, footer{
	background-color:rgb(255,255,250);
}

img{
	vertical-align:bottom;
}

span.sfz{
	color:rgb(220,50,50);
}

/************************************************/
/* header */
/************************************************/
header{
	height:auto;
}

header a#logo{
	display:none;
}

header #title_area{
	position:relative;
	width:100%;
	height:135px;
	text-align:center;
	vertical-align:middle;
}

header #title_area span#left_bg{
	position:absolute;
	display:block;
	height:135px;
	width:91px;
	background-image:url(../img/title_bg_sp_l.png);
	background-repeat:no-repeat;
}

header #title_area span#right_bg{
	position:absolute;
	right:0px;
	top:0px;
	display:block;
	width:91px;
	height:135px;
	background-image:url(../img/title_bg_sp_r.png);
	background-repeat:no-repeat;
}

header #title_area h1{
	top:0;
	right:0;
	left:0;
	bottom:0;
	margin:auto;
}

header #title_area h1 a img{
	margin-top:48px;
	width:70%;
	max-width:300px;
}

header #title_area #title_tel{
	margin-right:101px;
	text-align:right;
	font-size:14px;
}

/** menu_bar **/
#menu_bar{
	position:relative;
	width:100%;
	height:55px;
	max-width:1000px;
	background-color:rgb(130,97,125);
	margin:0px auto;
}

#menu_bar span{
	position:absolute;
	text-align:center;
	display:block;
	width:100%;
	height:55px;
	z-index:10;
}

#menu_bar span a img{
	width:45px;
	height:auto;
	margin-top:6px;
}

#menu_bar img#main_open_btn,
#menu_bar img#main_close_btn{
	position:absolute;
	right:7px;
	z-index:20;
	width:45px;
	height:45px;
	cursor:pointer;
	margin-left:auto;
	margin-top:6px;
	margin-bottom:6px;
	vertical-align:bottom;
}

#menu_bar img#main_close_btn{
	display:none;
	background-color:rgba(80,50,65,0.5);
	-webkit-border-radius:10px;
	-moz-border-radius:10px;
	-o-border-radius:10px;
	-ms-border-radius:10px;
	border-radius:10px;
}

nav#gnavi{
	width:100%;
	display:none;
}

/** main_menu **/
nav#gnavi > ul{
	list-style:none;
	margin-left:0;
}

nav#gnavi > ul > li{
	border-top:2px rgb(190,130,155) solid;
}

nav#gnavi > ul > li > div.sub_menu_bar p{
	display:block;
	width:80%;
	font-size:16px;
	line-height:50px;
	text-align:center;
	text-decoration:none;
	color:rgb(130,97,125);
	background-color:rgb(245,204,222);
	float:left;
}

nav#gnavi > ul > li > a:hover{
	color:rgb(110,36,77);
}

/** sub_menu_bar **/
nav#gnavi ul li div.sub_menu_bar{
	width:100%;
	cursor:pointer;
	height:50px;
	float:right;
	background-color:rgb(245,204,222);
	text-align:center;
}

nav ul li div.sub_menu_bar img{
	cursor:pointer;
	width:30px;
	height:30px;
	margin:10px 0;
}

nav ul li div.sub_menu_bar img:hover{
	-webkit-opacity:0.7;
	-moz-opacity:0.7;
	-o-opacity:0.7;
	-ms-opacity:0.7;
	opacity:0.7;
}

nav ul li div.sub_menu_bar img.sub_close_btn{
	display:none;
}

/** sub_menu **/
ul.sub_menu{
	clear:both;
	display:none;
	list-style:none;
	margin-left:0;
	z-index:30;
}

ul.sub_menu li a{
	display:block;
	width:95%;
	padding-left:5%;
	height:50px;
	line-height:50px;
	background-color:rgb(255,220,236);
	text-decoration:none;
	border-top:1px rgb(253,251,251) solid;
	color:rgb(130,97,125);
}

ul.sub_menu li a:hover{
		color:rgb(110,36,77);
}

header ol{
	list-style:none;
	padding:14px 8% 0 8%;
	width:84%;
	background-color:rgb(253,251,251);
	margin-left:0;
}

header ol li{
	float:left;
}

header ol li.add_arrow{
	padding-right:28px;
	background-image:url(../img/arrow-r.png);
	background-repeat:no-repeat;
	background-position:right;
}

/************************************************/
/* contents */
/************************************************/
#contents{
	width:100%;
	max-width:1000px;
	margin:0 auto;
}


#main{
	width:84%;
	padding:24px 8%;
}

section{
	width:100%;
	margin-bottom:10%;
}

aside{
	width:84%;
	padding:0 8% 5% 8%;
}

aside a{
	display:block;
}

aside a img{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;

	border:1px dotted rgb(245,204,222);
	border-bottom:none;
	padding:1%;
	width:100%;
}

aside a img.last_img{
	border-bottom:1px dotted rgb(245,204,222);
}

aside a#fb_bnr{
	height:60px;
	width:100%;
	background-color:aqua;
}

aside a#fb_bnr img{
	width:50px;
	height:50px;
}

/************************************************/
/* footer */
/************************************************/
#totop{
	width:84%;
	text-align:right;
	padding:2% 8%;
	background-color:rgb(253,251,251);
}

#totop a{
	line-height:35px;
	text-decoration:none;
}

#totop a img{
	width:35px;
	height:35px;
	margin-left:10px;
}

#footer_contents{
	padding:2em 8% 1em 8%;
	width:84%;
	background-color:rgb(255,240,247);
	background-image:url(../img/footer_bg.png);
	background-repeat:repeat-x;
}

#footer_links{
	float:left;
	margin:1em 0;
	width:55%;
}

#footer_icons{
	float:left;
	margin:1em 0;
	width:45%;
}

#footer_icons a{
	disoplay:block;
	margin-right:10px;
	height:40px;
	width:40px;
}

#footer_icons a img{
	height:40px;
	width:40px;
}

#copyright{
	padding:0;
	background-color:rgb(130,97,125);
	text-align:center;
}

#copyright p{
	font-size:12px;
	color:rgb(253,251,251);
	margin:0;
}

address{
	font-size:14px;
	line-height:1.7em;
	font-weight:bold;
	color:rgb(130,97,125);
}

/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
	タイトル切替：500px～
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/
@media only screen and (min-width: 501px) {
br.if_w_del{
	display:none;
}

header #title_area h1 a img{
	margin-top:42px;
	max-width:360px;
}

header #title_area #title_tel{
	font-size:16px;
}

}

/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
	タブレット向けのレイアウトの指定：601px～
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/
@media only screen and (min-width: 601px) {
br.if_w_del{
	display:inline;
}

header{
	position:relative;
}

header a#logo{
	display:block;
	position:absolute;
	width:135px;
	height:135px;
	z-index:20;
	background-image:url(../img/logo_tb.jpg);
	background-repeat:no-repeat;
	background-size:contain;
}

header a#logo:hover{
	-webkit-opacity:0.7;
	-moz-opacity:0.7;
	-o-opacity:0.7;
	-ms-opacity:0.7;	
	opacity:0.7;
}

header #title_area{
	position:relative;
	padding-left:135px;

	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}

header #title_area h1{
	position:static;
}

header #title_area h1 a img{
	margin-top:40px;
	width:70%;	
	max-width:400px;
}

header #title_area #title_tel{
	margin-right:20%;
}

#menu_bar{
	display:none;
}

nav#gnavi{
	display:block;
	border-top:none;
}

nav#gnavi > ul > li{
	width:25%;
	float:left;
	border-top:none;
	position:relative;
	border-right:1px solid rgb(253,251,251);
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}

nav#gnavi > ul > li:last-child{
	border:none;
}

ul.sub_menu{
	position:absolute;
	top:50px;
	width:100%;
	clear:both;
	background-color:rgb(200,180,180);
	-webkit-box-shadow:1px 3px 3px rgb(120,90,110);
	-moz-box-shadow:1px 3px 3px rgb(120,90,110);
	-o-box-shadow:1px 3px 3px rgb(120,90,110);
	-ms-box-shadow:1px 3px 3px rgb(120,90,110);
	box-shadow:1px 3px 3px rgb(120,90,110);
}

header ol{
	padding:7px 5% 0 5%;
	width:90%;
}

#main{
	width:50%;
	padding:24px 5% 0 5%;
	float:left;
}

aside{
	width:40%;
	padding:24px 0;
	float:left;
}

#totop{
	padding:1% 14px;
	width:100%;

	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;	
}

#footer_contents{
	width:90%;
	padding:2em 5% 1em 5%;
}

}

/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
	PC向けのレイアウトの指定：801px～
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/
@media only screen and (min-width: 801px) {
body{
	background-image:url(../img/body_bg.jpg);
	background-repeat:repeat-x;
}

header #title_area #title_tel{
	margin-right:200px;
	font-size:18px;
}

span.del_when_sp{
	display:inline;
}
	
br.if_w_del{
	display:none;
}


header a#logo{
	display:block;
	position:absolute;
	width:160px;
	height:240px;
	background-image:url(../img/logo_pc.jpg);
}

header #title_area{
	padding-left:160px;
	height:190px;
}

header #title_area h1 a img{
	margin-top:60px;
	width:60%;
	max-width:500px;
}

header #title_area span#left_bg{
	width:190px;
	height:190px;
	background-image:url(../img/title_bg_pc_l.png);
	background-repeat:no-repeat;
}

header #title_area span#right_bg{
	width:190px;
	height:190px;
	background-image:url(../img/title_bg_pc_r.png);
	background-repeat:no-repeat;
}

nav#gnavi{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
	padding-left:160px;
}

#main{
	width:55%;
}

aside{
	width:35%;
}


#footer_contents address{
	float:left;
	width:51%;
}

#footer_contents #footer_links{
	width:24%;
	margin:0;
}

#footer_contents #footer_icons{
	width:15%;
	margin:0;
}

}