@charset "utf-8";
/* Dタイプ 1カラム 幅  900px ( なつお型 ) */

/* 共通CSS 開始 */
* html .clearfix {
	height:1%;
	}

.clearfix {
	display:block;
	}

.clearfix:after {
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
	}

body{
	margin:0px;
	padding:0px;
	text-align:center;
	font-family:Verdana,Arial,"メイリオ",Meiryo,"ヒラギノ角ゴPro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif;
	font-size:14px;
	color:#333333;
	background:#DCDCDC fixed;
	}

img {
	border:0;
	margin:0;
	padding:0;
	}

a {
	margin:0;
	padding:0;
	font-weight:bold;
	color:#0033FF;
	}

a:visited {
	color:#0033FF;
	}

a:hover {
	color:#FF0000;
	}

a img {
	text-decoration:none;
	}

p {
	margin:0;
	padding:0;
	}

.textleft{
	text-align:left;
	color:#666;
	margin:0 20px;
	padding:0 0 15px 0;
	font-size:14px;
	clear:both;
	}

.textright{
	text-align:right;
	color:#666;
	margin:0 20px;
	padding:0 0 15px 0;
	font-size:14px;
	clear:both;
	}

.line_y {
	background: linear-gradient(transparent 60%, #FFFF66 60%);
	font-weight:bold;
	}

.line_b {
	background: linear-gradient(transparent 60%, #66FFFF 60%);
	font-weight:bold;
	}

.line_p {
	background: linear-gradient(transparent 60%, #FF66FF 60%);
	font-weight:bold;
	}

.line_g {
	background: linear-gradient(transparent 60%, #FF66FF 60%);
	font-weight:bold;
	}

.line_o {
	background: linear-gradient(transparent 60%, #FFAA66 60%);
	font-weight:bold;
	}
/* 共通CSS 終了 */

/* PC・タブレット用CSS 開始 */
@media screen and (min-width: 900px) {

.base {
	margin:8px 0;
	padding:0;
	width:900px;
	margin-right:auto;
	margin-left:auto;
	position:relative;
	background-color:#FFF;
	border:#D3D3D3 solid 1px;
	border-radius:15px 15px 0 0;
	font-size:14px;
	color:#666;
	}

.headertop {
	height:150px;
	width:900px;
	background:url("./") 0% 50% no-repeat #FEEDFF;
	background-size:cover;
	border-bottom:1px solid #C3C3C3;
	}

.header {
	min-height:20px;
	width:900px;
	border-bottom:1px solid #C3C3C3;
	border-radius:15px 15px 0 0;
	margin:0;
	padding:0;
	font-size:14px;
	color:#666;
	text-align:left;
	clear:both;
	}

.header h1 {
	width:860px;
	font-size:24px;
	text-align:center;
	line-height:30px;
	margin:0 20px;
	padding-top:10px;
	position:relative;
	}

.header h1 a, .header h1 {
	color:#000000;
	text-decoration:none;
	}

	.header h2 {
	width:860px;
	font-size:12px;
	font-weight:normal;
	text-align:left;
	line-height:18px;
	color:#000000;
	margin:10px 20px;
	position:relative;
	}

.base-2 {
	margin:0px;
	padding:0px 10px;
	width:880px;
	position:relative;
	overflow:hidden;
	}

.navi {
	background-color:#EAEAEA;
	background:linear-gradient(to bottom, #D3D3D3, #EAEAEA, 80%, #D3D3D3);
	float:left;
	width:900px;
	border-bottom:1px solid #C3C3C3;
	padding:0;
	margin:0;
	font-size:14px;
	text-align:left;
	}

.navi ul {
	margin:0;
	padding:0;
	height:40px;
	text-decoration:none;
	display:table;
	}

.navi ul a {
	height:40px;
	text-decoration:none;
	display: table-cell;
	vertical-align: middle;
	}

.navi ul a li {
	margin:0;
	padding:0 5px;
	width:169px;
	height:40px;
	border-right:1px solid #C3C3C3;
	text-decoration:none;
	list-style-type:none;
	display: table-cell;
	text-align:center;
	vertical-align:middle;
	font-size:14px;
	line-height:1em;
	color:#666666;
	}

.navi ul a li:hover {
	background-color:#D3D3D3;
	background:linear-gradient(to bottom, #EAEAEA, #D3D3D3, 80%, #EAEAEA);
	}

.pankuzu {
	float:left;
	width:860px;
	height:30px;
	padding:0;
	margin:10px 10px 0;
	font-size:11px;
	text-align:left;
	}

.maincontent {
	width:860px;
	margin:10px 10px;
	padding:0;
	font-size:14px;
	float:right;
	text-align:left;
	}

.sidecontent {
	width:860px;
	margin:10px 10px;
	padding:0;
	font-size:14px;
	float:left;
	text-align:center;
	}

.side {
	width:425px;
	margin:0;
	padding:0;
	font-size:14px;
	float:left;
	text-align:center;
	}

.side2 {
	width:425px;
	margin:0;
	padding:0;
	font-size:14px;
	float:right;
	text-align:center;
	}

.caption {
	margin:0;
	padding:0;
	text-align:left;
	border-bottom:3px solid #FEEDFF;
	border-radius:0 15px 0 15px;
	background-color:#EAEAEA;
	background:linear-gradient(to bottom, #EAEAEA, #FFFAFA, 70%, #D3D3D3);
	clear:both;
	display: block;
	position: relative;
	}

.caption:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 8px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	border-radius: 50%;
	background: #FEEDFF;
	}

.caption:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 16px;
	width: 0;
	height: 0;
	margin-top: -6px;
	border: 6px solid transparent;
	border-left: 8px solid #FFFFFF;
	}

.caption h2 {
	margin:0;
	padding:0 5px 0 40px;
	font-size:16px;
	font-weight:bold;
	line-height:40px;
	color:#666;
	}

.caption h3 {
	margin:0;
	padding:0 5px 0 40px;
	font-size:16px;
	font-weight:bold;
	line-height:40px;
	color:#666;
	}

.caption p {
	margin:0;
	padding:0 5px 0 40px;
	font-size:16px;
	font-weight:bold;
	line-height:40px;
	color:#666;
	}

.free {
	margin:0;
	padding:0 0 15px 0;
	font-size:14px;
	color:#666;
	text-align:center;
	clear:both;
	}

.subcontent {
	margin:0;
	padding:10px 10px 20px;
	font-size:14px;
	color:#666;
	text-align:left;
	line-height:1.6em;
	}

.subcontent p {
	margin:0 0 30px 0px;
	text-align:left;
	}

.subcontent .icenter {
	margin:7px 0 15px 0;
	text-align:center;
	}

.subcontent .ileft {
	margin:7px 15px 15px 0;
	max-width:345px;
	float:left;
	text-align:center;
	}

.subcontent .iright {
	margin:7px 0 15px 15px;
	max-width:345px;
	float:right;
	text-align:center;
	}

.maincontent ul {
	margin:0;
	padding:0;
	text-decoration:none;
	}

.maincontent ul li{
	margin:0;
	padding:0 0 20px 0;
	text-decoration:none;
	list-style-type:none;
	border-bottom:1px dashed #999;
	text-align:left;
	clear:both;
	}

.maincontent ul li a {
	text-decoration:none;
	display:block;
	padding:10px 10px;
	}

.menucontent {
	margin:0;
	padding:0 0 20px;
	font-size:14px;
	color:#666;
	text-align:left;
	line-height:1.6em;
	}

.menucontent ul {
	margin:0;
	padding:0;
	text-decoration:none;
	}
	
.menucontent ul li{
	margin:0;
	padding:0;
	text-decoration:none;
	list-style-type:none;
	text-align:left;
	display: inline-block;

	}

.menucontent ul li a {
	text-decoration:none;
	display:block;
	padding:10px 15px;
	}

.menucontent p {
	padding:10px 10px;
	text-align:left;
	}

.footer {
	width:870px;
	height:45px;
	margin:0 15px 10px 15px;
	padding:15px 0 0 0;
	background-color:#FEEDFF;
	text-align:center;
	color:#666;
	border-top:1px solid #999;
	border-bottom:1px solid #999;
	clear:both;
	font-size:12px;
	}

.display-pc {
	}

.display-sp {
	display:none;
	}

.tomoki {
	padding:0 30px;
	height:56px;
	overflow:hidden;
	font-size:11px;
	line-height:14px;
	}

}
/* PC・タブレット用CSS 終了 */

/* スマホ用CSS 開始 */
@media screen and (max-width:899px){

.base {
	margin:8px 2%;
	padding:0;
	width:96%;
	margin-right:auto;
	margin-left:auto;
	position:relative;
	background-color:#FFF;
	border:#D3D3D3 solid 1px;
	font-size:16px;
	color:#666;
	}

h2 {
	font-size:16px;
	font-weight:normal;
	text-align:left;
	line-height:1.6em;
	color:#666;
	margin:0;
	padding:0;
	}

.headertop {
	height:80px;
	width:100%;
	background:url("./") 0% 50% no-repeat #FEEDFF;
	background-size:cover;
	border-bottom:1px solid #C3C3C3;
	}

.header {
	width:100%;
	border-bottom:1px solid #C3C3C3;
	margin:0;
	padding:0;
	font-size:16px;
	color:#666;
	text-align:left;
	clear:both;
	}

.header h1 {
	width:96%;
	font-size:22px;
	text-align:center;
	line-height:30px;
	margin:0px 2%;
	padding:5px 0;
	position:relative;
	}

.header h1 a, .header h1 {
	color:#000000;
	text-decoration:none;
	}

.header h2 {
	display:none;
	}

.base-2 {
	margin:0px;
	padding:0px;
	width:100%;
	position:relative;
	overflow:hidden;
	}

.base-2 h2 {
	font-size:16px;
	}

.navi {
	background-color:#EAEAEA;
	background:linear-gradient(to bottom, #D3D3D3, #EAEAEA, 80%, #D3D3D3);
	float:left;
	width:100%;
	padding:0;
	margin:0;
	font-size:16px;
	text-align:left;
	line-height:1.6em;
	}

.navi ul {
	margin:0;
	padding:0;
	text-decoration:none;
	}

.navi ul a {
	text-decoration:none;
	}

.navi ul a li {
	margin:0;
	padding:0;
	text-decoration:none;
	list-style-type:none;
	font-size:16px;
	color:#666666;
	border-bottom:1px solid #C3C3C3;
	text-align:left;
	display:block;
	padding:20px 10px;
	clear:both;
	}

.navi ul a li:hover {
	background-color:#D3D3D3;
	background:linear-gradient(to bottom, #EAEAEA, #D3D3D3, 80%, #EAEAEA);
	}

.navititle {
	margin:0;
	padding:0;
	height:30px;
	text-align:left;
	background-color:#FFFFFF;
	overflow:hidden;
	clear:both;
	display: block;
	position: relative;
	}

.navititle:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 5px;
	width: 50px;
	height: 30px;
	margin-top: -10px;
	background: #666666;
	}

.navititle:after {
	display: block;
	content: "MENU";
	position: absolute;
	top:8px;
	right:10px;
	color:#FFFFFF;
	font-size:14px;
	}

.pankuzu {
	display:none;
	}

	.maincontent {
	width:94%;
	margin:20px 3% 10px;
	padding:0;
	font-size:16px;
	float:left;
	text-align:left;
	}

.sidecontent {
	width:94%;
	margin:10px 3% 10px 3%;
	padding:0;
	font-size:16px;
	float:left;
	text-align:center;
	}

.caption {
	margin:0;
	padding:0;
	text-align:left;
	border-bottom:3px solid #FEEDFF;
	border-radius:0 15px 0 0;
	background-color:#EAEAEA;
	background:linear-gradient(to bottom, #EAEAEA, #FFFAFA, 70%, #D3D3D3);
	clear:both;
	display: block;
	position: relative;
	}

.caption:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 14px;
	height: 6px;
	margin-top: -8px;
	background : #FEEDFF;
	}

.caption:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 0;
	height: 0;
	margin-top: 0px;
	border: 7px solid transparent;
	border-top: 8px solid #FEEDFF;
	}

label {
	display: block;
	cursor: pointer;
	}

input[type="checkbox"].on-off{
	display: none;
	}

input[type="checkbox"].on-off + div{
	display: none;
	}

input[type="checkbox"].on-off:checked + div{
	display: block;
	}

.caption h2 {
	margin:0;
	padding:0 5px 0 35px;
	font-size:16px;
	font-weight:bold;
	line-height:55px;
	color:#666;
	}

.caption h3 {
	margin:0;
	padding:0 5px 0 35px;
	font-size:16px;
	font-weight:bold;
	line-height:55px;
	color:#666;
	}

.caption p {
	margin:0;
	padding:0 5px 0 35px;
	font-size:16px;
	font-weight:bold;
	line-height:55px;
	color:#666;
	}

.free {
	margin:0;
	padding:20px 0 20px 0;
	font-size:16px;
	color:#666;
	text-align:center;
	}

.subcontent {
	margin:0;
	padding:20px 10px 30px;
	font-size:16px;
	color:#666;
	text-align:left;
	line-height:1.8em;
	}

.subcontent p {
	margin:0 0 40px 0px;
	text-align:left;
	}

.subcontent .icenter {
	margin:0 0 15px 0;
	text-align:center;
	}

.subcontent .ileft {
	margin:0 0 15px 0;
	text-align:center;
	}

.subcontent .iright {
	margin:0 0 15px 0;
	text-align:center;
	}

.maincontent ul {
	margin:0;
	padding:0;
	text-decoration:none;
	}
	
.maincontent ul li{
	margin:0;
	padding:0 0 20px 0;
	text-decoration:none;
	list-style-type:none;
	border-bottom:1px dashed #999;
	text-align:left;
	clear:both;
	}

.maincontent ul li a {
	text-decoration:none;
	display:block;
	padding:10px 10px;
	}

.menucontent {
	margin:0;
	padding:0 0 20px;
	font-size:16px;
	color:#666;
	text-align:left;
	line-height:1.8em;
	}

.menucontent ul {
	margin:0;
	padding:0;
	text-decoration:none;
	}
	
.menucontent ul li{
	margin:0;
	padding:0;
	text-decoration:none;
	list-style-type:none;
	border-bottom:1px dashed #999;
	text-align:left;
	clear:both;
	}

.menucontent ul li a {
	text-decoration:none;
	display:block;
	padding:20px 10px;
	}

.menucontent p {
	padding:20px 10px;
	text-align:left;
	}

.footer {
	width:96%;
	height:60px;
	margin:10px 2%;
	padding:5px 0;
	background-color:#FEEDFF;
	text-align:center;
	color:#666;
	border-top:1px solid #999;
	border-bottom:1px solid #999;
	clear:both;
	font-size:12px;
	}

.footer a {
	display:block;

	}
.display-pc {
	display:none;
	}

img {
	max-width:95%;
	height:auto;
	}

#fixed_footer{
	z-index: 1;
	position: fixed;
	bottom: 0;
	left: 0;
	right:0;
	max-width:100%;
	}

.fixed_footer_space{
	height:100px;
	}

.tomoki {
	display:none;
	}

}
/* スマホ用CSS 終了 */
