@charset "UTF-8";
/* ------------------------------
BASE
------------------------------ */
html {
	font-size: 62.5%;
}
body{
	position: relative;
	margin:0;
	padding:0;
	font-family:'Roboto',"游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","ＭＳ ゴシック",sans-serif;
/*	font-weight: 300;*/
	color:#000;
	background:#fff ;
	text-align:center;
}
div ,p ,h1 ,h2 ,h3 ,h4 ,h5 ,h6 ,form ,li ,ul ,ol ,dl ,dd ,dt ,table {
	margin: 0;
	padding: 0;
}
.clear{
	clear:both;
}

/* Micro clearfix */
.clearfix { zoom: 1; }
.clearfix:before,
.clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }

.wrap { zoom: 1; }
.wrap:before,
.wrap:after { content: ""; display: table; }
.wrap:after { clear: both; }

/* サイズ調整用 */
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

/* ------------------------------
汎用
------------------------------ */
.hid{
	display:none;
}
p{
	line-height:1.8;
}
.smallFont{
	font-size:12px;
	font-size:1.2rem;
}
.largeFont{
	font-size:20px;
	font-size: 2.0rem;
}
.right{
	text-align:right;
}
.center{
	text-align:center;
}
.left{
	text-align:left;
}
.red{
	color:#FF3300;
}

.sp{
	display: none;
}
.tablet{
	display: none;
}

.serif{ font-family:"游明朝","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","ＭＳ 明朝",serif; }

.caution{
	font-size:12px;
	font-size:1.2rem;
}

/* エラーメッセージ */
.error{
	color:#FF3300;
	margin:1em 0px 1.5em 45px;
	line-height: 1.3;
}
.error li{
	margin:0.5em 0;
	font-weight: bold;
}

/* ------------------------------
リンクの基本色
------------------------------ */
a:link { text-decoration:underline; color:#95039a; }
a:visited { text-decoration:underline; color:#95039a; }
a:active { text-decoration:none; color:#b597b6; }
a:hover { text-decoration:none; color:#b597b6;}

/* ------------------------------
画像共通
------------------------------ */
img{
	vertical-align:top;
	max-width: 100%;
}
a:hover img{
	opacity:0.7;
}
img.alignright{
	float:right;
	margin:0px 0px 5px 10px;
}
img.alignleft{
	float:left;
	margin:0px 10px 5px 0px;
}

/* ------------------------------
フォーム共通
------------------------------ */
input[type="submit"]:hover{
	opacity: 0.7;
}
input[type="text"],
input[type="password"],
textarea{
	width: 100%;
	max-width: 100%;
	border: solid 1px #ccc;
	background: #fff;
	border-radius: 2px;
}
input[type="text"],
input[type="password"]{
	height: 30px;
}
input[type="text"].age{
	width: 50px;
}
input[type="text"].name{
	width: 240px;
}
input[type="text"].tel{
	width: 200px;
}
input[type="text"].pass,
input[type="password"].pass{
	width: 240px;
}

textarea{
	height: 200px;
}
button{
	min-width: 170px;
	padding: 10px 15px;
	background: #9b609d;
	border: solid 0px #000;
	border-radius: 5px;
	color: #fff;
	font-size:16px;
	font-size:1.6rem;
}
button:hover{
	opacity: 0.8;
}
label, input[type='checkbox'] {
    cursor: pointer;
}
input[type='checkbox'] ,
input[type='radio'] {
	display: inline-block;
	margin-right: 0.5em;
}
label{
	margin-right: 2em;
}
label.center{
	margin-right: 0em;
}

/* --------------------------------------------------------- 枠組み共通 */
.wrap{
	position: relative;
	width:1060px;
	margin:0 auto;
}
/* --------------------------------------------------------- header */
#header{
	width: 100%;
	min-height: 95px;
	background-color: #fff;
	border-top:solid 3px #bd8cbf;
	border-bottom:solid 1px #e5d7e6;
	text-align: center;
}
#header .wrap{
	height: 95px;
}
#header .headline{
	position: absolute;
	width: 520px;
	top:10px;
	left: 220px;
	text-align: left;
}
#header .headline h1,
#header .headline h2,
#header .headline p{
	display: inline;
	font-size:10px;
	font-size:1.0rem;
	line-height: 1.4;
	color: #333;
}
#header .logo {
	float: left;
	width: 183px;
	padding-top: 14px;
}

/* fixed header */
#fixedbar{
	/*display: none;*/

	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 50px;
	z-index: -10;


	-webkit-transition: all 0.7s;
	-moz-transition: all 0.7s;
	-ms-transition: all 0.7s;
	-o-transition: all 0.7s;
	transition: all 0.7s;
	opacity: 0;
}

#fixedbar .logo {
	display: none;
}
#fixedbar #nav{
	display: none;
}

#fixedbar.fixed{
	display: block;
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 50px;
	z-index: 1000;

	border-bottom:solid 1px #e5d7e6;
	background: rgba(255,255,255,.9);

	overflow: hidden;
	text-align: left;

	opacity: 1;
}
#fixedbar.fixed .logo {
	display: block;
	float: left;
}
#fixedbar .logo img{
	width: auto;
	height: 40px;
	margin-top: 5px;
}
#fixedbar.fixed #nav{
	display: block;
	float: right;
}
#fixedbar #nav ul{
	display: table;
	width: 100%;
	height: 50px;
	font-size:14px;
	font-size:1.4rem;
}
#fixedbar #nav li{
	display: table-cell;
	padding: 0 0.5em;
	list-style: none;
	vertical-align: middle;
	text-align: center;
}
#fixedbar #nav a{
	display: block;
	text-decoration: none;
	color: #9b609d;
}
#fixedbar #nav li:last-child a{
	margin-right: 0px;
}
#fixedbar #nav li.inquiry {
	padding-right: 0;
	font-size:14px;
	font-size:1.4rem;
}
#fixedbar #nav li.inquiry a{
	display: block;
	padding: 0.8em 1em;
	border-radius: 3px;
	background-color: #ede3ee;
	color: #8b0f8f;
}
#fixedbar #nav li.inquiry a:hover{
	background-color: #e2bfe4;
}

/* グローバルナビ */
#gNav{
	position: absolute;
	width: 530px;
	bottom:18px;
	left: 220px;
}
#gNav ul{
	text-align: left;
}
#gNav li{
	display: inline-block;
	/*	float: left;*/
	/*min-width:19%;*/
	list-style: none;
	font-size:14px;
	font-size:1.4rem;
}
#gNav li.home{
	display: none;
}
#gNav a{
	display: block;
	/*height: 80px;*/
	margin-right: 25px;
	/*padding: 65px 0 0 0;*/
	text-decoration: none;
	color: #9b609d;
	/*background: url(../img/ic_book.png) no-repeat 50% 0%;*/
}
#gNav li:last-child a{
	margin-right: 0px;
}
#gNav .search a{
	/*background-image: url(../img/ic_search.png) ;*/
}
#gNav .login {
	/*min-width:23%;*/
} 
#gNav .login a{
	/*background-image: url(../img/ic_key.png) ;*/
} 
#gNav .read a{
	/*background-image: url(../img/ic_book.png) ;*/
} 
#gNav .add a{
	/*background-image: url(../img/ic_shake.png) ;*/
} 
#gNav .contact a{
	/*background-image: url(../img/ic_mail.png) ;*/
	/*background-position: 50% 7px;*/
} 

#gNav .btn{
	display: none;
}
#gNav a:hover{
	opacity: 0.6;

}

#header .contactBlock{
	position: absolute;
	width: 300px;
	height: 80px;
	top:-3px;
	right: 0px;
	z-index: 100;
}
#header .contactBlock .text{
	display: none;
}


/* --------------------------------------------------------- contents */
#main{
	clear:both;
	padding: 40px 0;
}
#contents{
	width:730px;
	float: right;
	text-align: left;
	font-size:16px;
	font-size:1.6rem;
}

#side{
	width:300px;
	float: left;
	text-align: left;
	font-size:14px;
	font-size:1.4rem;
}
/* ------------------------sideパーツ */
#side li{
	list-style:none;
}
#side a:link { text-decoration:underline; color:#9b609d; }
#side a:visited { text-decoration:underline; color:#9b609d; }
#side a:active { text-decoration:none; color:#b597b6; }
#side a:hover { text-decoration:none; color:#b597b6;}

#side .block{
	margin: 0px 0 30px 0;
	padding: 0 0 15px 0;
	background: #efeded;
	border-radius: 5px;
}
#side .block h3{
	padding: 20px 20px 15px 20px;
	border-bottom: solid 1px #e6dfe5;
	color: #9b609d;
	font-size:20px;
	font-size:2.0rem;
	font-weight: normal;
	background: url(../img/comon_flower_side_white60.png) no-repeat 95% 100%;
}
#side .block p{
	margin: 15px 20px 0px 20px;
	font-size:14px;
	font-size:1.4rem;
}

#side .block .more{
	margin: 15px 20px 0px 20px;
	font-size:14px;
	font-size:1.4rem;
	text-align: center;
}

/* 広告エリア */
#side .addBlock{
	margin: 0;
}
#side .addBlock li:last-child{
	margin-bottom: 30px;
}

/* ログイン中 */
#side .login{
	padding: 10px 10px 0px 10px;
}
#side .login ul{
	padding: 10px 10px 10px 10px;
	font-size:12px;
	font-size:1.2rem;
}
#side .login li{
}
#side .login .ttl{
	padding:5px 40px;
	background: url(../img/ic_key.png) no-repeat 10px 50%;
	background-size: 20px auto;
	color: #9b609d;
	font-size:16px;
	font-size:1.6rem;
	line-height: 1;
	font-weight: normal;
}
#side .login li.menu{
	display: inline-block;
	padding-right: 1em;
}
#side .login li.menu a{
	display: block;
	max-width: 100%;
	padding: 7px 7px;
	background: #9b609d;
	border-radius: 5px;
	color: #fff;
	text-decoration: none;
}
#side #side .login li.menu a{
	color: #fff;
	text-decoration: none;
}

/* 読み物一覧 */
#side .read ul{
	padding: 0px 10px 10px 10px;
	font-size:16px;
	font-size:1.6rem;
}
#side .read li{
	margin:1em 0;
	text-indent:-1em;
	padding-left:1em;
}
#side .read li:before{
	content: "・";
	margin: 0 0em 0 0em;
	color: #9b609d;
}

/* link一覧 */
#side .link ul{
	padding: 0px 20px 0px 20px;
}
#side .link li{
	margin:0.3em 0;
	text-indent:-1em;
	padding-left:1em;
}
#side .link li:before{
	content: "・";
	margin: 0 0em 0 0em;
	color: #9b609d;
}

/* リンクボタン */
span.button{
	display: block;
	text-align: center;
}
span.button a{
	display: block;
	max-width: 100%;
	margin: 0 auto;
	padding: 10px 15px;
	background: #9b609d;
	border-radius: 5px;
	color: #fff;
	text-decoration: none;
}
#side span.button a{
	color: #fff;
	text-decoration: none;
}
span.button .short{
	display: inline-block;
	min-width: 170px;
}
span.button .left{
	text-align: left;
}
span.button a:hover{
	opacity: 0.6;
}


#side .sns{
	padding-bottom: 0;
	background-color: transparent;
}
#side .sns ul{
	padding: 10px 0px 10px 0px;
}
#side .sns ul { zoom: 1; }
#side .sns ul:before,
#side .sns ul:after { content: ""; display: table; }
#side .sns ul:after { clear: both; }

#side .sns li{
	display: block;
	float: left;
	padding: 0 0.5em 0 0;
}
#side .sns li.twitter{
}
#side .mailto a{
	display: inline-block;
	padding: 5px 10px 5px 25px;
	border:solid 1px #bd8cbf;
	background: #fff;
	border-radius: 4px;
	font-size:12px;
	font-size:1.2rem;
	line-height: 1;
	text-decoration: none;
	background-image: url("../img/ic_mail.png");
	background-size: auto 10px;
    background-position: 5px 50%;
    background-repeat: no-repeat;
}
#side .mailto a:hover{
	opacity: 0.7;
}

/* --------------------------------------------------------- to PageTop */
#toTop{
	clear:both;
	position: relative;
	max-width: 1060px;
	height: 95px;
	margin: 0 auto;
	font-size:14px;
	font-size:1.4rem;
	text-align:center;
}
#toTop a{
	position: absolute;
	bottom:0;
	right: 85px;
	display: block;
	width: 110px;
	height: 95px;
	padding: 30px 0 0 0 ;
	background:url(../img/comon_flower_purple10.png) no-repeat 100% 0%;

	text-decoration: none;
}
#toTop a:hover{
	opacity:0.6;
}


/* --------------------------------------------------------- to PageTop Fixed */
#toTopFixed{
	display: none;
}
#toTopFixed > a{
	display: none;
}

/* --------------------------------------------------------- footer */
#footer{
	clear:both;
	padding: 30px 0 0 0;
	background: #bd8cbf;
	color: #fff;
	font-size:12px;
	font-size:1.2rem;
	letter-spacing: 1px;
}
#footer li{
	list-style:none;
}
#footer a:link { text-decoration:underline; color:#fff; }
#footer a:visited { text-decoration:underline; color:#fff; }
#footer a:active { text-decoration:none; color:#9b609d; }
#footer a:hover { text-decoration:none; color:#9b609d;}

/* --------------------footerLOGO */
#footer .logo{
	float: left;
	width: 160px;
	border-right: solid 1px #ddbddf;
}
#footer .logo img{
	width:86px;
}
/* --------------------footerNav */
#footerNav {
	float: right;
	width: 80%;
}
#footerNav > ul{
	float: left;
	width: 25%;
	text-align: left;
}
#footerNav li > ul {
	margin:0 0 0.5em 1em;
}

#footerNav li a{
	display: inline-block;
}
/* --------------------copyright */
.copyright{
	background:#ae79b1;
	margin-top: 30px;
	padding: 10px 0px;
	text-align: center;
}
address{
	display: block;
	color: #fff;
	font-family: 'Roboto', Helvetica, Arial, Verdana, sans-serif;
	font-size:10px;
	font-size: 1.0rem;
	font-style:normal;
}


#footer .rwd{
	clear:both;
	margin:1em auto 0 auto;
	padding:1em 3em;
	border-radius: 5px;
	background-color: #eee;
	color:#666;
}
#footer .rwd a{
	color: #95039a;
}
/* ---------------------------------------------------------------------------- 

▼▼▼ ウィンドウサイズ1024px以下にのみ適用されるcss ▼▼▼

---------------------------------------------------------------------------- */
@media only screen and (max-width: 1024px) {

/* --------------------------------------------------------- 汎用パーツ */
.pc{
	display: none;
}
.tablet{
	display: block;
}



/* --------------------------------------------------------- header */
#header .logo {
	width: 11%;
	padding-top: 25px;
}
#header .headline{
	width: 55%;
	left:13%;
	line-height: 1;
}

/* fixedbar */
#fixedbar #nav ul{
	font-size:12px;
	font-size:1.2rem;
}
#fixedbar #nav li.inquiry{
	font-size:12px;
	font-size:1.2rem;
}


#gNav{
	width: 55%;
	left:13%;
}
#gNav ul{
	display: table;
}
#gNav li{
	display: table-cell;
	float: none;
	width: auto;
	min-width:20%;
	padding-right:1em; 
	font-size:12px;
	font-size:1.2rem;
	white-space: nowrap;
	/*text-align: center;*/
}
#gNav a{
	margin-right: 0;
	background-image: none;
}
#gNav .login {
	min-width:20%;
} 

#header .contactBlock {
	width: 30%;
}

/* --------------------------------------------------------- 枠組み共通 */
.wrap{
	width:96%;
	margin: 0 auto;
}
/* --------------------------------------------------------- contents */
#main{
	padding: 40px 0;
}
#contents{
	width:100%;
	float: none;
}

#side{
	width:100%;
	float: none;
}
#side .block .more .left{
	text-align: center;
}
span.button .short,
span.button .wide{
	min-width: 70%;
	max-width: 70%;
}
#side .fav{
	display: none;
}

/* --------------------------------------------------------- footer */

/* --------------------footerLOGO */
#footer .logo{
	width: 20%;
}
/* --------------------footerNav */
#footerNav ul{
	font-size:12px;
	font-size:1.2rem;
}
#footerNav li {
	margin-left: 1em;
}





}



/* ---------------------------------------------------------------------------- 

▼▼▼ ウィンドウサイズ690px以下にのみ適用されるcss ▼▼▼

---------------------------------------------------------------------------- */

@media screen and (max-width: 690px){

.sp{
	display: block;
}
br.sp{
	display: inline;
}


img{
	max-width: 100%;
}

.caution{
	font-size:10px;
	font-size:1.0rem;
}

/* エラーメッセージ */
.error{
	color:#FF3300;
	margin:1em 0px 1.5em 25px;
	line-height: 1.3;
	font-size:14px;
	font-size:1.4rem;
}


/* ------------------------------
フォーム共通
------------------------------ */
input[type="text"],
input[type="password"],
input[type="text"].pass,
input[type="password"].pass,
textarea{
	width: 100%;
}
button{
	min-width: 100%;
	padding: 0.5em;
	font-size:14px;
	font-size:1.4rem;
}
button:hover{
	opacity: 0.8;
}


/* --------------------------------------------------------- 枠組み共通 */
.wrap{
}


/* --------------------------------------------------------- header */
#header {
	min-height: 1px;
	height: auto;
}
#header .wrap{
	width:100%;
	height: auto;
	min-height: 100px;
}

#header .logo{
	position: absolute;
	top:10px;
	left: 10px;
	width: 140px;
	padding: 0;
	text-align: center;
	float: none;
	z-index: 2000;
}

#header .logo img{
	display: block;
	width: 140px;
	height: auto;
	margin:0px auto;
}
#header .headline{
	position: static;
	top:70px;
	left: 0px;
	width: 100%;
	height: auto;
	margin-top: 70px;
	padding: 0 10px 10px 10px;
	z-index: 1000;
}
#header .contactBlock{
	display: none;
	width: 100%;
	position: static;
}
#header .contactBlock .text{
	height: auto;
}
#header .contactBlock .text li.mail{
	position: static;
}


/* fixedbar */
#fixedbar.fixed{
	display: none;
}



#gNav .btn{
	display: block;
}

#gNav {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	/*background: #fff;*/
}
#gNav .btn{
	position: absolute;
	top: 10px;
	right: 10px;
	width: 45px;
	height: 45px;
	display: inline-block;
	margin: 0 0 0 auto;
	background: #9b609d;
	color: #fff;
	font-size: 1rem;
	letter-spacing: .21m;
	line-height: 45px;
	/*border-radius: 50%;*/
}
#gNav .btn:hover{
	cursor: pointer;
}
#gNav ul{
	display: none;
	position: absolute;
	top: 65px;
	bottom: auto;
	left: 0;
	width: 100%;
	padding: 0;
	background: #fff;
	border-bottom: solid 1px #eee;
}
#gNav li{
	display: block;
	width: 100%;
	padding: 0;
	float: none;
	text-align: left;
	border-top: solid 1px #eee;
}
#gNav li.home{
	display: block;
}
#gNav a{
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 2em .5em 2em 3.5em;
	background-position: 10px 50%;
	background-size: 20px auto;
	background-repeat: no-repeat;
}
#gNav a:hover{
	background-color: #f7f2f7;
}
#gNav .home a{
	background-image: url(../img/ic_home.png) ;
}
#gNav .search a{
	background-image: url(../img/ic_search.png) ;
}
#gNav .login {
	min-width:23%;
} 
#gNav .login a{
	background-image: url(../img/ic_key.png) ;
} 
#gNav .read a{
	background-image: url(../img/ic_book.png) ;
} 
#gNav .add a{
	background-image: url(../img/ic_shake.png) ;
} 
#gNav .contact a{
	background-image: url(../img/ic_mail.png) ;
	background-position: 10px 50%;
} 

#overlay{
	display: none;
	position: fixed;
	top: 90px;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0.5;
	z-index: 10;
}

/* --------------------------------------------------------- contents */
#main{
	padding: 20px 0;
}


span.button .short,
span.button .wide{
	min-width: 100%;
	max-width: 100%;
}
/* --------------------------------------------------------- footer */
#toTop{
	height: auto;
}
#toTop a {
	position: static;
	width:100%;
	height: auto;
	padding: 1em 0;
	background-image: none;
	background-color: #eee;
}

/* --------------------------------------------------------- to PageTop Fixed */
#toTopFixed{
	display: block;
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 10000;
}
#toTopFixed a{
	display: block;
	width: 50px;
	height: 50px;
	font-size: 16px;
	line-height: 50px;
	background-color: rgba(189, 140, 191, 0.6);
	color: #fff;
	text-decoration: none;
	border-radius: 3px;
}
#toTopFixed a:hover{
	opacity: 0.8;
}

#footer {
}
#footer .wrap{
	width: 100%;
}
#footer .logo{
	float: none;
	width: 100%;
	border:none; 
}
#footer .logo img{
	width:50px;
}
#footerNav{
	float: none;
	width: 100%;
}
#footerNav ul{
	float: none;
	width: 100%;
}
#footerNav li{
	padding: 1em;
	margin: 0;
}
#footerNav li a{
	display: block;
	/*border-bottom: solid 1px #9b609d;*/
}
#footerNav li > ul{
	margin: 0;
}

.copyright{
	font-size:10px;
	font-size:1.0rem;
}


#footer .rwd{
	clear:both;
	width:96%;
	margin:1em auto 0 auto;
}


}

