@charset "utf-8";

small {
	font-size: 80%;
	line-height: 1.2 !important;
}
.cap1 {
	font-size: 86% !important;
	line-height: 1.4;
}
.cap2 {
	font-size: 11px !important;
	line-height: 1.1;
}
#CL {
	width: 100%;
	background: #ff6ea0 url(/shared/img/bg.png) !important;
	background-size: auto 40px !important;
}
.fR {
	float: right;
	margin-left: 8px;
}
.fL {
	float: left;
	margin-right: 8px;
}
#primary .multi {
	border-collapse: collapse;
	box-sizing: border-box;
	width:100%;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	list-style-type:none;
}

#primary .multi li {
	text-align: center;
	list-style-type: none;
	padding: 6px;
	box-sizing: border-box;
	vertical-align: top;
}
.multi.n2 li { width: 50%; }
.multi.n3 li { width: calc(100% / 3); }
.multi.n4 li { width: 25%; }

.kei { border: 1px solid #cdcdcd; }
.notax { border: 1px solid #d0a7b9; 
	padding: 2px 2px 1px;
	line-height: 1;
	 font-size: 94%;
	 display: inline-block;
}
.map {
	width: 7em;
	display: inline-block;
	text-align: center;
}
.map a {
	width: 100%;
	display: block;
	background: #1191FB;
	color: #fff !important;
	border: 3px solid #fff;
	font-weight: bold;
	border-radius: 30px;
	padding: 2px 0 0;
}
.blank {
	background-image: url(/shared/img/_blank.png) !important;
	background-repeat: no-repeat !important;
	padding: 0 20px 0 4px !important;
	background-size: 12px auto !important;
	background-position:  center right !important;
	color: inherit !important;
}
.heysay { 
	font-family: century gothic,STSong; 
	font-size: 105%;
 }
 
ruby {
  position: relative;
}
rb {
 	line-height: 1;
 }
rt {
	position: relative;
	top: 0.9ex;
	padding: 0 5px;
 }
/* ---------------------------------------------- */
#primary > header {
	text-align: center;
	padding-bottom: 10px;
}
#primary > header h1 {
	margin: 0 auto 8px;
}
#primary > header p {
	font-weight: bold;
}
/* ---------------------------------------------- */
#secondary .cover {
	float: left;
	padding-right: 6px;
}
#secondary .cover img {
	border: 1px solid #fff;
	box-sizing: border-box;
}
#secondary .bnr {
	max-width: 100%;
}
#secondary .bnr img {
	border: 1px solid #fff;
	width: calc( 100% - 2px);
}
#CL .ut {
	position: relative;
	width: 100%;
 	padding-top: 56.25%;
 }
#CL .ut iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% - 2px) !important;
	height: 100% !important;
	border: 1px solid #fff;
 }
#secondary .c1 {
	color: #9bfdfa;
}
#secondary .yt-ch {
	max-width: 400px;
	text-align: center;
	margin: 10px auto 0;
	padding: 0 10px;
}
/* ---------------------------------------------- */
footer#CLfooter {
	position: relative;
	background: #ff3289;
	clear: both;
	text-align:left;
	border-top: 1px solid #fb036d;
	width: 100%;
	position: relative;
	height: 22px;
}
footer#CLfooter a {
	position:absolute;
	right: 14px;
	top: -18px;
	width: 229px;
	height:39px;
	background-image: url(/shared/img/toppage.png);
	background-size: 229px auto;
	display:block;
	overflow:hidden;
	height:0 !important;
	height /* */:39px;
	padding-top:39px;
}



@media print, screen and (min-width:769px){
	/* ---------------------------------------------- */
	.sp { display: none !important; }
	/* ---------------------------------------------- */
	#gf_mediaconts { width: 100% !important; }
	#CLWrap {
		width: 100%;
		min-width: 1120px;
		/*background: #eeeeee;*/
	}
	#CL { 
		/*margin: 0 auto;
		width: 1120px !important;
		border-right: 1px solid #b4b4b4;
		border-left: 1px solid #b4b4b4;*/
	}

	/* ---------------------------------------------- */
	#pgtop {
		position: fixed;
		right: -40px;
		bottom: 150px;
		width: 34px;
		height:110px;
		z-index: 10000;
	}
	#pgtop a {
		display:block;
		overflow:hidden;
		height:0 !important;
		height /* */:110px;
		padding-top:110px;
		background-image: url(/shared/img/pc/pgtop.png);
	}
	/* ---------------------------------------------- */
	#Wrapper {
		width: 1120px;
		margin: 0 auto;
		text-align: left;
	}
	#primary {
		float: left;
		width: 768px;
		padding: 16px 14px 32px;
	}
	#secondary {
		width: 322px;
		float:right;
		text-align: left;
		background: #ff4b93;
		border: 1px solid #fb036d;
		/*padding-bottom: 16px;*/
		margin: 16px 0 32px;
	}
	#secondary>div {
		margin: 10px;
		width: 300px;
	}
	#secondary .news h2 {
		width: 300px;
		height:32px;
		background-image: url(/shared/img/pc/latest.png);
		font-size: 8px;
		text-indent: -9999px;
		margin-bottom: 8px;
	}
	#secondary .latest {
		padding: 0 0 10px ;
		line-height: 1.2;
	}
	#secondary .latest a {
		text-decoration: none;
		display: block;
		color: #fff;
	}
	#secondary .latest h3 {
		font-size: 18px;
		color: #fff;
	}
	#secondary .latest h3 big {
		color: #ff0;
		font-size: 30px;
	}
	#secondary .latest h4 {
		color: #ff0;
		padding-top: 6px;
		font-size: 18px;
	}
	#secondary .news ul {
		list-style-position: outside;
		padding: 6px 2px 6px 1.7em;
		margin: 8px 0;
		font-size: 12px;
		color: #fff;
		border: 1px solid #fb036d;
		background: #ff6ea0;
	}
	#secondary .news li {
		padding: 2px 0;
		line-height: 1.3;
	}
	#secondary .news li a {
		color: #fff;
		text-decoration: none;
	}
	#secondary .news li a:hover {
		color: #ff0;
	}
	#secondary .news img {
		margin: 3px 0;
	}
	#secondary .news section {
		padding: 8px;
		margin: 10px 0;
		font-size: 11px;
		line-height: 1.2;
		background: #ff6ea0;
	}
	#secondary .bnr .ut {
		margin: 0px 0 6px 2px;
		width: calc(100% - 2px);
	}
	/* ---------------------------------------------- */
	header#CLheader {
		position:relative;
		width: 100%;
		margin: 0 auto;
		height:95px;
		background:url(/shared/img/pc/header_bg.png);
		padding: 10px 0 0;
		min-width: 1120px;
	}
	header#CLheader h1 {
		position:relative;
		width: 408px;
		height: 87px;
		font-size: 8px;
		display: block;
		margin: 0 auto 0;
		z-index: 2;
	}
	header#CLheader h1 a {
		display:block;
		overflow:hidden;
		height:0 !important;
		height /* */:87px;
		padding-top:87px;
		background-image: url(/shared/img/pc/header_logo.png);
	}
	header#CLheader .pin {
		position:absolute;
		top: 0;
		left: 50%;
		margin-left: -560px;
	}
	/* ---------------------------------------------- */
	#mainNav {
		position:relative;
		height: 83px;
		background-image: url(/shared/img/pc/navi_bg.png);
		width: 100%;
		min-width: 1120px;
		margin: 0 auto;
	}
	#mainNav>ul {
		position: relative;
		margin: auto;
	}
	#mainNav>ul>li {
		position: absolute;
		list-style-type: none;
		height: 40px;
		text-align: center;
		margin-right: 20px;
	}
	#mainNav>ul>li>a {
		display:block;
		overflow:hidden;
		height:0 !important;
		height /* */: 40px;
		padding-top: 40px;
		background-image: url(/shared/img/pc/nav.png);
		font-size: 8px;
		width: 100%;
	}
	#mainNav>ul>li>p {
		display:block;
		background-image: url(/shared/img/pc/nav.png);
		text-indent: -9999px;
		height: 40px;
		width: 150px;
	}
	#mainNav .nav1 {
		height: 40px;
		width: 830px;
	}
	#mainNav .nav1>li {
		top: -9px;
		width: 150px;
	}
	#mainNav .nav1 .n11 { left: 0; }
	#mainNav .nav1 .n12 { left: 170px; }
	#mainNav .nav1 .n13 { left: 340px; }
	#mainNav .nav1 .n14 { left: 510px; }
	#mainNav .nav1 .n15 { left: 680px; }
	#mainNav .nav1 .n11 a { background-position: 0 0; }
	#mainNav .nav1 .n12 a { background-position: -150px 0; }
	#mainNav .nav1 .n13 a { background-position: -300px 0; }
	#mainNav .nav1 .n14 p { background-position: -450px 0; }
	#mainNav .nav1 .n15 a { background-position: -600px 0; }
	#mainNav .nav1 .n11 a:hover { background-position: 0 -40px; }
	#mainNav .nav1 .n12 a:hover { background-position: -150px -40px; }
	#mainNav .nav1 .n13 a:hover { background-position: -300px -40px; }
	#mainNav .nav1 .n14 p:hover { background-position: -450px -40px; }
	#mainNav .nav1 .n15 a:hover { background-position: -600px -40px; }
	
	#mainNav .nav2 {
		height: 40px;
		width: 1036px;
	}
	#mainNav .nav2>li {
		width: 136px;
		margin-right: 14px;
		top: -4px;
	}
	#mainNav .nav2 .n21 { left: 0; }
	#mainNav .nav2 .n22 { left: 150px; }
	#mainNav .nav2 .n23 { left: 300px; }
	#mainNav .nav2 .n24 { left: 450px; }
	#mainNav .nav2 .n25 { left: 600px;}
	#mainNav .nav2 .n26 { left: 750px;}
	#mainNav .nav2 .n27 { left: 900px;}
	#mainNav .nav2 .n21 a { background-position: 0 -80px; }
	#mainNav .nav2 .n22 a { background-position: -150px -80px; }
	#mainNav .nav2 .n23 a { background-position: -300px -80px; }
	#mainNav .nav2 .n24 p { background-position: -450px -80px; }
	#mainNav .nav2 .n25 p { background-position: -600px -80px; }
	#mainNav .nav2 .n26 a { background-position: -750px -80px; }
	#mainNav .nav2 .n27 a { background-position: -900px -80px; }
	#mainNav .nav2 .n21 a:hover { background-position: 0 -120px; }
	#mainNav .nav2 .n22 a:hover { background-position: -150px -120px; }
	#mainNav .nav2 .n23 a:hover { background-position: -300px -120px; }
	#mainNav .nav2 .n24 p:hover { background-position: -450px -120px; }
	#mainNav .nav2 .n25 p:hover { background-position: -600px -120px; }
	#mainNav .nav2 .n26 a:hover { background-position: -750px -120px; }
	#mainNav .nav2 .n27 a:hover { background-position: -900px -120px; }
	
	#mainNav>ul>li>div {
		position: absolute;
		left:50%;
		display: none;
		padding-top: 10px;
		z-index: 2;
	}
	#mainNav>ul>li ul {
		padding: 6px;
		background: #fff;
		border-radius: 12px;
		list-style-type: none;
		-moz-box-shadow: 3px 3px 3px 3px rgba(0,0,0,0.4);
		-webkit-box-shadow: 3px 3px 3px 3px rgba(0,0,0,0.4);
		-o-box-shadow: 3px 3px 3px 3px rgba(0,0,0,0.4);
		box-shadow: 3px 3px 3px 3px rgba(0,0,0,0.2);
		font-weight: bold;
	}
	#mainNav>ul>li ul a {
		display: block;
		background: #fb036d;
		margin: 2px;
		padding: 3px 8px;
		color: #fff;
		font-size: 12px;
		text-decoration: none;
	}
	#mainNav>ul>li ul a:hover  {
		background: #ff6ea0;
		color: #ff0;
	}
	#mainNav .nav1 .n14 div { width: 12em; margin-left: -6em;}
	#mainNav .nav2 .n21 div { width: 9em; margin-left: -4.5em; }
	#mainNav .nav2 .n22 div { width: 9em; margin-left: -4.5em; }
	#mainNav .nav2 .n24 div { width: 14em; margin-left: -7em;}
	#mainNav .nav2 .n25 div { width: 14em; margin-left: -7em;}
	
	#mainNav li div span {
		position: absolute;
		left: 50%;
		margin-left: -8px;
		top: 0px;
		display: none;
		width: 16px;
		height: 16px;
		background-image: url(/shared/img/arr.png);
		background-position: 16px 16px;
	}
	
}

@media screen and (max-width: 768px){
	/* ---------------------------------------------- */
	.pc { display: none !important; }
	img { 
		max-width: 100%;
		height: auto;
	}
	#Wrapper * {
		box-sizing: border-box;
	}
	/* ---------------------------------------------- */
	#pgtop {
		position: fixed;
		right: -40px;
		bottom: 66px;
		width: 40px;
		height: 40px;
	}
	#pgtop a {
		display:block;
		overflow:hidden;
		height:0 !important;
		height /* */:40px;
		padding-top:40px;
		background-image: url(/shared/img/sp/pgtop.png);
		background-size: 40px auto;
	}
	/* ---------------------------------------------- */
	#Wrapper {
		margin: 0 auto;
	}
	/* ---------------------------------------------- */
	#primary {
		padding: 8px 8px 20px;
	}
	/* ---------------------------------------------- */
	#secondary {
		background: #ffd4e3;
		padding: 8px 0px 56px;
	}
	#secondary > div {
		margin: 8px;
	}
	#secondary .news {
		color: #752811;
	}
	#secondary .news h2 {
		color:#ff6ea0;
		font-size: 20px;
		border-bottom: 1px solid #ff6ea0;
		padding: 4px 6px;
	}
	#secondary .latest { 
		padding: 6px;
		font-size: 14px;
	}
	#secondary .news a {
		text-decoration: none;
		display: block;
		color: #752811;
	}
	#secondary .latest h3 {
		font-size: 21px;
		line-height: 1.2;
	}
	#secondary .latest h3 big {
		color: #f00;
		font-size: 40px;
	}
	#secondary .latest h4 {
		color: #ff4b93;
		font-size: 18px;
	}
	#secondary .latest .cover img {
		float:left;
		margin-right: 10px;
	}
	
	#secondary .bnr p {
		padding: 2px 2px;
		display: inline-block;
		width: 50%;
	}
	#secondary .news ul {
		padding: 4px 0px 4px;
		list-style-type: none;
	}
	#secondary .news li {
		border-bottom: 1px solid #ff6ea0;
		font-size: 14px;
	}
	#secondary .news li:first-child {
		border-top: 1px solid #ff6ea0;
	}
	#secondary .news li a {
		padding: 10px 0px;
	}
	#secondary .bnr img {
		width: 100%;
	}
	#secondary .news section {
		width: 100%;
		padding: 8px;
		margin: 10px auto;
		font-size: 11px;
		background: #fff;
		max-width: 480px;
	}
	#secondary .news section img {
		width: 100%;
	}
	/* ---------------------------------------------- */
	header#CLheader {
		position: relative;
		width: 100%;
		height: 48px;
		background:url(/shared/img/sp/header_bg.png) repeat-x;
		background-size: auto 56px;
		padding: 8px 0 0;
		z-index: 100;
	}
	header#CLheader h1 {
		height: 42px;
		width: 198px;
		margin-left: 8px;
	}
	header#CLheader h1 a {
		display:block;
		overflow:hidden;
		height:0 !important;
		height /* */:42px;
		padding-top:42px;
		background-image: url(/shared/img/sp/header_logo.png);
		background-size: auto 42px;
	}
	header#CLheader h2 {
		position: absolute;
		right: 8px;
		top:12px;
		width:80px;
		height:30px;
		background:url(/shared/img/sp/header_menu.png);
		background-size: auto 30px;
		text-indent: -9999px;
	}
	/* ---------------------------------------------- */
	footer#CLfooter {
		height: auto;
		text-align: center;
	}
	footer#CLfooter .copy {
		padding: 20px 0 10px;
		color: #fff;
		font-size: 10px;
	}
	/* ---------------------------------------------- */
	#mainNav {
		background: #ff6ea0;
		font-size: 13px;
		display: none;
	}
	#mainNav li {
		list-style-type: none;
	}
	#mainNav a {
		border-bottom: 1px solid #e70264;
		display:block;
		padding: 16px 10px;
		color: #fff;
		text-decoration: none;
	}
	#mainNav > ul > li p {
		position: relative;
		border-bottom: 1px solid #e70264;
		clear: both;
		padding: 14px 10px;
		background: #fc1676;
		color: #fff;
	}
	#mainNav > ul > li p span {
		position: absolute;
		right: 10px;
		top: 50%;
		margin-top: -4px;
		display: block;
		width: 8px;
		height: 8px;
		background-image: url(/shared/img/arr.png);
		background-size: 16px auto;
		background-position: -8px -16px;
	}
	#mainNav > ul > li p.open span { background-position: -8px -24px; }
	#mainNav > ul > li div {
		display: none;
	}
	#mainNav > ul > li div {
		display: none;
		background: #fdaec9;
	}
	#mainNav > ul > li ul a {
		color: #fc1676;
	}
	.fR,
	.fL {
		max-width: 100%;
	}
	
	#secondary .bnr .ut {
		display: block;
		margin: 4px 2px;
		width: calc(100% - 4px);
	}
}

@media screen and (max-width:480px) {
	#primary p {
		line-height: 1.4;
	}
	#secondary .bnr p {
		display: block;
		width: 100%;
		padding: 4px 0px;
	}
	#secondary .bnr .ut {
		display: block;
		margin: 4px 0px;
		width: 100%;
	}
	.fR, .fL {
		float: none;
		margin: 4px 0;
	}
	#pBody .multi li {
		width: 100%;
	}
}