@charset "utf-8";

/* ========================================================
	template.css => テンプレート用CSS
======================================================== */

html {
	font-size: 62.5%;
}
body {
	background-color: #fff;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.7;
	color: #2D2D2D;
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana,Arial, Helvetica, sans-serif;
	-webkit-text-size-adjust: 100%;
}
body.m {
	font-family: "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", Verdana,Arial, Helvetica, sans-serif;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.7;
}
a {
	color: #000;
	text-decoration: none;
	-webkit-transition: color 0.15s, background-color 0.15s, background-image 0.15s, border 0.15s, opacity 0.15s;
	-o-transition: color 0.15s, background-color 0.15s, background-image 0.15s, border 0.15s, opacity 0.15s;
	transition: color 0.15s, background-color 0.15s, background-image 0.15s, border 0.15s, opacity 0.15s;
}
a:hover {
}
a.a_reverse,
.a_reverse a {
	text-decoration: none;
}
a.a_reverse[href]:hover,
.a_reverse a[href]:hover {
	text-decoration: underline;
}

label {
	cursor: pointer;
}
input, select, textarea, button {
	margin: 0;
	vertical-align: middle;
	font-family: inherit;
	outline: none;
	font-size: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

button {
	cursor: pointer;
}
iframe {
	vertical-align: middle;
}
@media screen and (max-width: 680px) {
	img {
		max-width: 100%;
		height: auto;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	iframe {
		max-width: 100%;
		/*height: 200px;*/
	}
}



/* pc / sp
============================================================================================================ */
.sp,
.sps {
	display: none !important;
}
@media screen and (max-width: 680px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	img.sp, span.sp, br.sp, em.sp, strong.sp {
		display: inline !important;
	}
}
@media screen and (max-width: 370px) {
	.sps {
		display: block !important;
	}
	img.sps, spsan.sps, br.sps, em.sps, strong.sps {
		display: inline !important;
	}
}


/* sp
============================================================================================================ */
@media screen and (max-width: 680px) {
	*[data-label] img {
		display: none;
	}
	*[data-label]:before {
		content: attr(data-label);
	}
	*[data-label-r]:after {
		content: attr(data-label-r);
	}

	.sp_mincho {
		font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	}
}

/* font-size
============================================================================================================ */
.fz_s {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.5;
}
.fz_m {
}
.fz_l {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.6;
}
.fz_ll {
}
@media screen and (max-width: 680px) {
	.fz_s {
		font-size: 1.1rem;
	}
	.fz_l {
		font-size: 1.5rem;
	}
}

/* font-weight
============================================================================================================ */
.fwn {
	font-weight: normal !important;
}



/* w
============================================================================================================ */
.w {
	position: relative;
	display: block;
	width: 1240px;
	margin: 0 auto;
}
.pl {
	width: 700px;
	padding: 0 0 0 280px;
}
.mw {
	min-width: 1000px;
}
.w:after,
.mw:after {
	content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0; overflow: hidden;
}
@media screen and (max-width: 680px) {
	.w {
		width: auto;
		padding: 0;
	}
	.mw {
		min-width: 0;
	}
	.pl {
		width: auto;
		padding: 0 10px;
	}
}



/* hv_wh
============================================================================================================ */
a.hv_wh,
button.hv_wh,
a .hv_wh,
.hv_wh a {
	position: relative;
	display: inline-block;
}
a.hv_wh:after,
button.hv_wh:after,
a .hv_wh:after,
.hv_wh a:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255,255,255,0);
	-webkit-transition: background 0.15s;
	-o-transition: background 0.15s;
	transition: background 0.15s;
	z-index: 3;
}
a.hv_wh:hover:after,
button.hv_wh:hover:after,
a:hover .hv_wh:after,
.hv_wh a:hover:after {
	background-color: rgba(255,255,255,0.3);
}
@media screen and (max-width: 680px) {
	a.hv_wh:after,
	button.hv_wh:after,
	a .hv_wh:after,
	.hv_wh a:after {
		content: none;
	}
}

/* コンテナ
============================================================================================================ */
#container {
	position: relative;
	font-size: 14px;
	font-size: 1.4rem;
}
@media screen and (max-width: 680px) {
	#container {
		font-size: 1.5rem;
	}
}


/* header
============================================================================================================ */
#header {
	background: #fff;
    width: 100%;
    z-index: 100;
    padding-top: 15px;
}
#head {
	width: 1240px;
	margin: 0 auto;
	position: relative;
}
#head .logo:after{
	content:" "; display: block; clear: both; height: 0;
}
#head .logo .text{
	font-size: 15px;
	font-size: 1.5rem;
	display: inline-block;
	line-height: 1.5;
	letter-spacing: 1px;
}
#head .logo .text span{
	font-size: 23px;
	font-size: 2.3rem;
	color:#cc0033;
	font-weight: bold;
	display: block;
}
#head .logo .img{
	display: none;
	float: right;
	padding-top: 5px;
}

@media screen and (max-width: 680px) {
	#header {
		padding-top: 5px;
	}
	#head {
		width: auto;
		margin: 0 auto;
		position: relative;
	}
	#head .logo{
		padding: 0 10px;
		position: relative;
	}
	#head .logo .text{
		font-size: 1.1rem;
	}
	#head .logo .img{
		display: none;
		float: none;
		padding-top: 5px;
		position: absolute;
		right: 10px;
		width: 20%;
	}
}

/* main_img
============================================================================================================ */
.main_txt{
	margin-top: 0px;
	color:#186ED2;
	width:100%;
	height:100px;
	line-height: 100px;
	text-align: center;
	font-size: 30px;
	font-size: 3.0rem;
	letter-spacing:0.1em;
	background:#F0FBFF;
-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
margin-top:20px;
}

@media screen and (max-width: 680px) {
	.main_txt{
		font-size: 24px;
		font-size: 2.4rem;
	}
}

/* navi
============================================================================================================ */
#header nav{
	position: relative;
}
#header nav:after {
	content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0; overflow: hidden;
}
#header nav .global {
	font-size: 14px;
	font-size: 1.4rem;
	position: relative;
	background: #CCEDFC;
}
#header nav .global:after {
	content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0; overflow: hidden;
}
#header nav .global li {
	position: relative;
	float: left;
	z-index: 2;
}
#header nav .global li.home a:before{
	content: url(../images/icon_home.png);
	margin-right: 10px;
}
#header nav .global li > a {
	position: relative;
	display: block;
	padding: 10px 28px;
	color: #000000;
	text-align: center;
	text-decoration: none;
	letter-spacing: 0.05em;
	line-height: 1.5;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#header nav .global li a:hover,
#header nav .global li.current a {
	background-color: #186ED2;
	color: #fff;
}

@media screen and (max-width: 680px) {
	#header nav{
		background: #CCEDFC;
		position: relative;
		height: 38px;
	}
	#header nav .home a { color:#CCEDFC;}
	#header nav .global li.home{
		display: block;
	}
	#header nav .global {
		position: relative;
		background: #FFFFFF;
		font-size: 1.3rem;
	}
	#header nav .global ul{
		position: absolute;
		z-index: 100;
		opacity: 0;
		height: 0;
		overflow: hidden !important;
	}
	#header nav .global li{
		border-bottom: 1px solid #186ED2;
		width: 50%;
		float: left;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
	}
	#header nav .global li:nth-of-type(odd){
		border-right: 1px solid #186ED2;
	}
	#header nav .global li a{
		color:#000;
		background: url(../images/aroow_right.gif) 3% center no-repeat;
		text-align: left;
	}
	#header nav .global li a:hover{
		background:#186ED2 url(../images/aroow_right_over.gif) 3% center no-repeat;
	}
	#header nav .global li > a {
		padding: 10px 5px 10px 25px;
	}
	#header nav .global li.current a{
		background-image: none;
		text-align: left;
	}
	#header nav .hover,
	#header nav .global .current a:before {
		display: none;
	}
	#header .nav_btn_block {
		background: #186ED2;
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		text-align: center;
		width: 110px;
		height: 38px;
	}
	#header .nav_btn_block a{
		color: #fff;
		font-size: 1.4rem;
		display: block;
		padding: 5px 0 5px 30px;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		letter-spacing: 1px;
	}
	#header .nav_btn{
		width: 40px;
		display: inline-block;
		position: relative;
		margin-left: -40px;
	}
	#header .nav_btn:before,
	#header .nav_btn a:before,
	#header .nav_btn a:after {
		content: "";
		position: absolute;
		left: 5px;
		right: 20px;
		top: 50%;
		height: 2px;
		margin-top: -1px;
		background-color: #fff;
		-webkit-transition: all 0.2s;
		-o-transition: all 0.2s;
		transition: all 0.2s;
	}
	#header .nav_btn a:before {
		-webkit-transform: translateY(-6px);
		-ms-transform: translateY(-6px);
		-o-transform: translateY(-6px);
		transform: translateY(-6px);
	}
	#header .nav_btn a:after {
		-webkit-transform: translateY(6px);
		-ms-transform: translateY(6px);
		-o-transform: translateY(6px);
		transform: translateY(6px);
	}

	/* open */
	#header.open .nav_btn:before {
		opacity: 0;
	}
	#header.open .nav_btn a:before {
		-webkit-transform: translateY(0) rotate(45deg);
		-ms-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}
	#header.open .nav_btn a:after {
		-webkit-transform: translateY(0) rotate(-45deg);
		-ms-transform: translateY(0) rotate(-45deg);
		transform: translateY(0) rotate(-45deg);
	}

	/* open */
	#header.open .global{
		position: absolute;
		z-index: 100;
		top: 38px;
	}
	#header.open .global ul{
		position: static;
		height: 100%;
		opacity: 1;
		-webkit-transition: opacity 0.3s;
		-o-transition: opacity 0.3s;
		transition: opacity 0.3s;
	}


}


/* container
============================================================================================================ */
#container {
	padding-top: 90px;
}
@media screen and (max-width: 680px) {
	#container {
		padding-top: 30px;
	}
}

/* main_content
------------------------------------------------------------- */
#main_content {
	width: 831px;
	float: left;
	position: relative;
	padding-right: 18px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
#main_content:before {
	content:" ";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	height: 94%;
	border-right: 1px solid #d0d3d4;
}
#main_content:after {
	content:" "; display: block; clear: both; height: 0;
}
@media screen and (max-width: 680px) {
	#main_content {
		width: auto;
		float: none;
		padding: 0 10px;
	}
	#main_content:before {
		content:" ";
		display: none;
	}
}


/* aside
------------------------------------------------------------- */
aside {
	width: 360px;
	float: right;
}
aside:after {
	content:" "; display: block; clear: both; height: 0;
}
@media screen and (max-width: 680px) {
	aside {
		width: auto;
		float: none;
		margin-top: 30px;
		padding: 0 10px;
	}
}



/* footer
------------------------------------------------------------- */
#footer {
	position: relative;
	margin-top: 25px;
}
#footer .foot_map{
	background: #186ED2 url(../images/foober_bg.png) right bottom no-repeat;
	padding: 30px 0 60px;
}
#footer .foot_map .title_ss{
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	display: block;
	margin-bottom: 10px;
}
#footer .foot_map ul+.title_ss{
	margin-top: 40px;
}
#footer .foot_map li{
	font-size: 14px;
	display: inline-block;
}
#footer .foot_map li:first-child:before{
	content:"└";
	color:#fff;
	padding-right: 13px;
}
#footer .foot_map li:after{
	content:"|";
	color:#fff;
	padding: 0 13px;
}
#footer .foot_map a{
	color: #fff;
	text-decoration: underline;
}
#footer .foot_map a:hover{
	text-decoration: none;
}
@media screen and (max-width: 680px) {
	#footer {
		margin-top: 20px;
	}
	#footer .foot_map{
		padding: 20px 10px 30px;
		background: #186ED2 url(../images/foober_bg.png) center no-repeat;
	}
	#footer .foot_map .title_ss{
		margin-bottom: 0;
	}
	#footer .foot_map ul+.title_ss{
		margin-top: 30px;
	}
	#footer .foot_map li{
		font-size: 1.2rem;
		line-height: 2;
	}
	#footer .foot_map li:first-child:before{
		padding-right: 6px;
	}
	#footer .foot_map li:after{
		padding: 0 6px;
	}
}
.foot_logo{
	padding: 15px 0;
}
.foot_logo .text{
	font-size: 15px;
	font-size: 1.5rem;
	display: inline-block;
	line-height: 1.5;
	letter-spacing: 1px;
	float: left;
	margin-right: 40px;
	color: #737373;
}
.foot_logo .text span{
	font-size: 23px;
	font-size: 2.3rem;
	color:#cc0033;
	font-weight: bold;
	display: block;
}
address{
	float: left;
	font-size: 15px;
	font-size: 1.5rem;
	margin-top: 10px;
}
.audi_logo{
	float: right; display:none;
}
@media screen and (max-width: 680px) {
	.foot_logo{
		padding: 15px 10px;
		position: relative;
	}
	.foot_logo .text{
		font-size: 1.2rem;
		margin-right: 0;
		float: none;
	}
	address{
		float: none;
		font-size: 1.2rem;
	}
	.left_box{
		float: left;
	}
	.right_box{
		position: absolute;
		top: 20px;
		right: 10px;
	}
	.right_box span{
		display: inline-block;
		vertical-align: middle;
	}
	.right_box .icon_f{
		height: auto;
		background:#CCC;
	}
	.right_box .audi_logo{
		height: auto;
		margin-top: 5px;
		display:none;
	}
}



/* copyright
------------------------------------------------------------- */
#footer .copyright {
	padding: 5px 0 15px;
	background-color: #fff;
	text-align: right;
}
#footer .copyright small {
	font-size: 12px;
	font-size: 1.2rem;
}
#footer .copyright small a{
	color:#cc0033;
}

@media screen and (max-width: 680px) {
	#footer .copyright {
		line-height: 1.5;
		padding: 0 10px 10px 0;
	}
	#footer .copyright small {
		font-size: 1.1rem;
	}
}





/* ===================================================================================================================

	コンテンツ

=================================================================================================================== */


/*event_box
------------------------------------------------------------- */
.event_box:after{
	content:" "; display: block; clear: both; height: 0;
}
.event_box{
	background: url(../images/line.jpg) repeat-x bottom;
	background-size:  auto 4px;
	padding-bottom: 20px;
}
.event_box .img_border{
	width: 430px;
	height: 320px;
	float: left;
	margin-right: 19px;
	overflow: hidden;
}
.event_box .textblock a{
	color: #000;
}
.event_box .textblock a:hover{
	text-decoration: underline;
}
.event_box .text{
	margin: 50px 0 40px;
}
.event_box .event_block:after{
	content:" "; display: block; clear: both;
}
.event_box .event_block + .event_block{
	margin-top: 40px;
}
.img_border{
	border: 5px solid #e7e9ea;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
.img_border img{
	max-width:140%;
	min-width:100%;
	width:auto;
	min-height:100%;
	max-height:140%;
	height:auto;
	position:absolute;
	top:-40%;
	right:-40%;
	bottom:-40%;
	left:-40%;
	margin:auto;
}
.img_border a{
	display: block;
	position: relative;
	/*height: 100%;*/
	min-height: 100%;
}
.zoom{
	zoom: 1; overflow: hidden;
}
.category{
	background: #e7e9ea;
	color: #000;
	display: inline-block;
	padding: 5px 10px;
	font-size: 13px;
	font-size: 1.3rem;
}
.info{
	text-align: right;
}
.info > p{
	display: inline-block;
	vertical-align: middle;
}
.info > .face{
	width: 54px;
	height: 54px;
	border: 2px solid #d0d3d4;
	border-radius: 100%;
	overflow: hidden;
	position: relative;
	margin: 0 10px 0 15px;
}
.info > .face img{
	max-width:140%;
	min-width:100%;
	width:auto;
	min-height:100%;
	max-height:140%;
	height:auto;
	position:absolute;
	top:-20%;
	right:-20%;
	bottom:-20%;
	left:-20%;
	margin:auto;
}
.info > .name {
	position: relative;
	background: #ffffff;
	padding: 2px 6px;
	border: 1px solid #0a0204;
	font-size: 13px;
	font-size: 1.3rem;
	border-radius: 2px;
}
.info > .name:after, .info > .name:before {
	right: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

.info > .name:after {
	border-color: rgba(255, 255, 255, 0);
	border-right-color: #ffffff;
	border-width: 5px;
	margin-top: -5px;
}
.info > .name:before {
	border-color: rgba(10, 2, 4, 0);
	border-right-color: #0a0204;
	border-width: 6px;
	margin-top: -6px;
}
@media screen and (max-width: 680px) {
	.event_box .img_border{
		width: 40%;
		height: 90px;
		margin-right: 10px;
	}
	.event_box .text{
		margin: 10px 0 10px;
	}
	.single_event.event_box{
		margin-top: 40px;
	}
	.single_event.event_box .img_border{
		width: 40%;
		height: 90px;
		margin-right: 10px;
	}
	.img_border{
		border: 2px solid #e7e9ea;
	}
	.img_border img{
		max-width: 100%;
		max-height: 100%;
	}
	.img_border a{
		display: block;
		height: auto;
	}
	.category{
		padding: 2px 5px;
		font-size: 1.2rem;
	}
	.info > .face{
		width: 34px;
		height: 34px;
		border: 2px solid #d0d3d4;
		margin: 0 5px 0 5px;
	}
	.info > .name {
		padding: 2px 4px;
		font-size: 1.2rem;
	}
	.info > .date{
		display: block;
		margin-bottom: 5px;
	}
}
@media screen and (max-width: 320px) {
	.event_box .info .date{
		display: block;
	}
}



/*list_box
------------------------------------------------------------- */
.list_box li:after {
	content: " "; display: block; clear: both; height: 0;
}
.list_box li{
	border-bottom: 1px solid #e7e9ea;
	padding-bottom: 25px;
	margin-top: 25px;
	position: relative;
}
.list_box .img{
	border: 1px solid #e7e9ea;
	width: 240px;
	height: 180px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	position: relative;
	overflow: hidden;
	float: left;
	margin-right: 27px;
}
.list_box .img img{
	max-width:140%;
	min-width:100%;
	width:auto;
	min-height:100%;
	max-height:140%;
	height:auto;
	position:absolute;
	top:-40%;
	right:-40%;
	bottom:-40%;
	left:-40%;
	margin:auto;
}
.list_box .img:hover{
	border: 1px solid #186ED2;
}
.list_box dl{
	zoom: 1;
	overflow: hidden;
}
.list_box dt{
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.4;
}
.list_box dt a:hover{
	color: #E40210;
}
.list_box dd{
	position: absolute;
	bottom: 15px;
	width: 67%;
	display: block;
}
.list_box dd:after{
	content: " "; display: block; clear: both; height: 0;
}
.list_box .category{
	float: left;
	margin-top: 10px;
}
@media screen and (max-width: 680px) {
	.list_box li{
		padding-bottom: 15px;
		margin-top: 15px;
	}
	.list_box .img{
	  width: 150px;
	  height: 150px;
		object-fit: cover; 
		margin-right: 10px;
	}
	.list_box dt{
		font-size: 1.5rem;
	}
	.list_box dd{
		position: relative;
		bottom: 0;
		width: 100%;
		display: block;
	}
	.list_box .category{
		margin-top: 5px;
	}
	.list_box .info .date{
		display: block;
		text-align: right;
		margin: 10px 0 5px;
	}
	.list_box .info{
		display: block;
		position: relative;
	}
}
@media screen and (max-width: 320px) {
	.list_box dd{
		position: relative;
		bottom: 0;
		width: auto;
	}
	.list_box .category{
		float: none;
		display: inline-block;
		margin-top: 10px;
	}
}


/*paging
------------------------------------------------------------- */
.pagination{
	margin-top: 28px;
	text-align: center;
}
.pagination span,.pagination a{
	display: inline-block;
	background: #CCEDFC;
	margin-right: 5px;
	padding: 10px 15px;
	border: 1px solid #e8e4e4;
}
.pagination .current{
	border: 1px solid #186ED2;
	background: #fff;
}
.pagination a:hover{
	border: 1px solid #186ED2;
	background: #fff;
}
@media screen and (max-width: 680px) {
	.pagination{
		margin-top: 20px;
	}
	.pagination li{
		margin-right: 2px;
	}
	.pagination span,.pagination a{
		display: inline-block;
		padding: 5px 8px;
		border: 1px solid #e8e4e4;
	}
	.pagination .current{
		padding: 5px 8px;
	}
}


/* topicpath
============================================================================================================ */
@media screen and (min-width: 680px) {
	.topicpath{
		margin-bottom: 40px;
		margin-top: -50px;
	}
	.topicpath li{
		display: inline-block;
	}
	.topicpath li a{
		text-decoration: underline;
	}
	.topicpath li:after{
		content:">";
		padding: 0 10px;
	}
	.topicpath li:last-child:after{
		content:"";
	}
}

@media screen and (max-width: 680px) {
	.topicpath {
		background-color: #000;
		font-size: 1.1rem;
		color:#fff;
		height: 38px;
		padding: 5px 0 5px 10px;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		overflow: hidden;
	}
	.topicpath li{
		display: inline-block;
	}
	.topicpath a {
		text-decoration: none;
		color: #fff;
	}
	.topicpath li a:after {
		content:">";
		padding-left: 5px;
	}
	.topicpath .home a{
		color: #fff;
	}
	.topicpath .home{
		padding: 4px 0 3px 15px;
		background: url(../images/icon_home.png) no-repeat;
		background-position: 0;
		-webkit-background-size: 12px;
		background-size: 12px;
	}
}

/*article
============================================================================================================ */
article h1 {
	font-size: 26px;
	font-size: 2.6rem;
	line-height: 1.5;
	color: #212121;
	border-bottom: 1px solid #186ED2;
	margin-bottom: 10px;
	color:#186ED2;
}
article h1:after {
	content:" ";
	height: 4px;
	background: #CCEDFC;
	display: block;
	margin-top: 10px;
}

article .clearfix{
	margin-bottom: 30px;
}
article .info{
	text-align: left;
	display: block;
	float: left;
}
article .sns{
	float: right;
	display: block;
	margin-top: 10px;
}
.sns > p{
	display: inline-block;
	vertical-align: top;
}
.sns > .fb{
	margin-top: 2px;
}

article h2 {
	font-size: 25px;
	font-size: 2.5rem;
	line-height: 1.5;
	padding-left: 10px;
	border-left: 8px solid #186ED2;
	border-bottom: 1px dotted #186ED2;
	margin-bottom: 25px;
}
article h3 {
	font-size: 21px;
	font-size: 2.1rem;
	background: #f1f1f1;
	padding: 15px;
	border-radius: 8px;
	margin-bottom: 30px;
}
article h4 {
	font-size: 18px;
	font-size: 1.8rem;
	margin-bottom: 20px;
	border-bottom: 1px solid #e7e9ea;
	position: relative;
	padding-bottom: 5px;
}
article h4:after {
	content:" ";
	border-bottom: 1px dotted #000;
	display: block;
	width: 54%;
	position: absolute;
	margin-top: 5px;
}
article > p {
	padding: 0 10px;
	margin:0 0 20px 0;
}
article > p img{
	border: 3px solid #e8eaeb;
	max-width: 100%;
	height: auto;
}
article > div img{
	border: 3px solid #e8eaeb;
	max-width: 100%;
	height: auto;
}
article > blockquote{
	background: #f2f4f3;
	padding: 20px;
}

article > ul {
	margin: 25px 0 25px 30px;
	padding: 0;
}

article > ul li {
	margin: 5px 10px;
	padding: 0;
	line-height: 1.5;
	list-style-type: disc;
}
article a{
	/*border-style:outset;*/
	color: #0000ff;
	text-decoration: underline;
}

@media screen and (max-width: 680px) {
	article h1 {
		font-size: 2rem;
	}
	article h2 {
		font-size: 1.8rem;
		margin-bottom: 15px;
		border-left: 4px solid #186ED2;
	}
	article h3 {
		font-size: 1.6rem;
		margin-bottom: 20px;
		padding: 10px;
	}
	article h4 {
		font-size: 1.4rem;
		margin-bottom: 10px;
	}
	article .info{
		margin-bottom: 10px;
		display: block;
		position: relative;
	}
	.sns{
		float: none;
		display: block;
		width: 100%;
		height: 25px;
		position: relative;
		margin-top: 0;
		text-align: right;
	}
}

.auther {
    margin: 30px 0 25px;
    padding: 10px;
    position: relative;
    z-index: 100;
    background:url(../images/line_black.gif);
}
.auther .inner{
    background: #fff;
    padding: 20px;
}
.auther .inner:after{
    content:" "; display: block; clear: both; height: 0;
}
.auther .img{
    position: relative;
    width: 114px;
    height: 114px;
    overflow: hidden;
    float: left;
    margin-right: 60px;
    border-radius: 100%;
}
/*
.auther .img img{
	min-width:100%;
	min-height: 100%;
	width:auto;
	height:auto;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	display: block;
	margin:auto;
}
*/

.auther .img img{
	max-width:140%;
	min-width:100%;
	width:auto;
	min-height:100%;
	max-height:140%;
	height:auto;
	position:absolute;
	top:-40%;
	right:-40%;
	bottom:-40%;
	left:-40%;
	margin:auto;
}
.auther dl{
    position: relative;
    zoom: 1;
    overflow: hidden;
}
.auther dt{
	font-size: 15px;
	font-size: 1.5rem;
	margin-bottom: 10px;
	font-weight: bold;
}
.auther dd{
	font-size: 14px;
	font-size: 1.4rem;
}
@media screen and (max-width: 680px) {
	.auther {
	    padding: 5px;
	}
	.auther .inner{
	    padding: 15px;
	}
	.auther .img{
	    position: relative;
	    width: 74px;
	    height: 74px;
	    overflow: hidden;
	    float: left;
	    margin-right: 20px;
	    border-radius: 100%;
	}

	.auther dl{
	    position: relative;
	    zoom: 1;
	    overflow: hidden;
	}
	.auther dt{
		font-size: 15px;
		font-size: 1.5rem;
		margin-bottom: 10px;
		font-weight: bold;
	}
	.auther dd{
		font-size: 14px;
		font-size: 1.4rem;
	}
}


.prevnext {
    font-size: 1.3rem;
    line-height: 1.6;
    margin-top: 35px;
}
.prevnext ul {
    display: table;
    table-layout: fixed;
    width: 100%;
}
.prevnext li {
    display: table-cell;
    vertical-align: middle;
}
.prevnext li.prev {
    padding-right: 40px;
}
.prevnext li.next {
    border-left: 1px solid #818181;
    padding-left: 40px;
    text-align: right;
}
.prevnext li a {
    display: table;
    height: 76px;
    text-decoration: underline;
    width: 100%;
}
.prevnext li a span {
    display: table-cell;
    vertical-align: middle;
}
.prevnext li.prev a span {
    background: url("../images/arrow_l.gif") no-repeat 0 center;
    padding-left: 40px;
}
.prevnext li.next a span {
    background: url("../images/arrow_r.gif") no-repeat 100% center;
    padding-right: 30px;
}
.prevnext li.next > span {
    text-align: center;
}
/*.prevnext li.next > span {
    background: url("../images/arrow_r_gr.gif") no-repeat 100% center;
    padding-right: 30px;
    display: table-cell;
    width: 100%;
    text-align: right;
}*/
.prevnext li a:hover {
    text-decoration: none;
}
@media screen and (max-width: 680px) {
	.prevnext {
	    font-size: 1.2rem;
	    margin-top: 20px;
	}
	.prevnext li.prev {
	    padding-right: 10px;
	}
	.prevnext li.next {
	    padding-left: 10px;
	}
	.prevnext li a {
	    border-bottom-width: 1px;
	    height: 76px;
	}
}

.relation{
	margin-top: 70px;
}
.relation > .title_s {
	padding-left: 15px;
}
.relation li {
    border-bottom: 1px dashed #e7e9ea;
    padding: 15px;
}
.relation li:after {
    content:" "; display: block; clear: both; height: 0;
}
.relation .img{
    width: 100px;
    height: 100px;
    overflow: hidden;
    float: left;
    margin-right: 25px;
    position: relative;
}
.relation .img img{
	max-width:140%;
	min-width:100%;
	width:auto;
	min-height:100%;
	max-height:140%;
	height:auto;
	position:absolute;
	top:-40%;
	right:-40%;
	bottom:-40%;
	left:-40%;
	margin:auto;
}


.relation dt{
	font-size: 18px;
	font-size: 1.8rem;
}
.relation .info{
	text-align: left;
	margin-top: 15px;
}

@media screen and (max-width: 680px) {
	.relation {
		background: url(../images/bg_pattern.gif);
		margin: 25px -10px;
		padding: 10px 0;
	}
	.relation > .title_s {
		padding-left: 10px;
	}
	.relation li {
	    border-bottom: 1px solid #fff;
	    padding: 10px;
	}
	.relation li:last-child {
	    border-bottom: none;
	}
	.relation dt{
		font-size: 1.4rem;
	}
}


/* 本文内画像センター寄せ */
img.aligncenter{
display: block;
margin-left: auto;
margin-right: auto;
}







/* ===================================================================================================================

	サイドバーコンテンツ

=================================================================================================================== */

/*lank
------------------------------------------------------------- */
.lank{
	margin-bottom: 20px;
}
.lank li{
	border-bottom: 1px dotted #186ED2;
	padding: 20px 0;
}
.lank li:after{
	content:" "; display: block; clear: both; height: 0;
}
.lank .thum{
	width: 100px;
	height: 100px;
	overflow: hidden;
	position: relative;
	float: left;
	margin-right: 12px;
}
.lank .thum img.wpp_def_noPath{
	border: 1px solid #E7E9EA;
	box-sizing: border-box;
}
.thum img{
	max-width:160%;
	min-width:100%;
	width:auto;
	min-height:100%;
	max-height:160%;
	height:auto;
	position:absolute;
	top:-40%;
	right:-40%;
	bottom:-40%;
	left:-40%;
	margin:auto;
}
.lank .text{
	zoom: 1;
	overflow: hidden;
}
.lank .text:before{
	font-size: 20px;
	font-size: 2rem;
	display: block;
	margin-bottom: 10px;
}
.lank li:nth-of-type(1) .text:before{
	content:"1位";
	background: url(../images/icon_1.jpg) no-repeat 20% center;
}
.lank li:nth-of-type(2) .text:before{
	content:"2位";
	background: url(../images/icon_2.jpg) no-repeat 20% center;
}
.lank li:nth-of-type(3) .text:before{
	content:"3位";
	background: url(../images/icon_3.jpg) no-repeat 20% center;
}

.bn{
	margin-bottom: 20px;
}
@media screen and (max-width: 680px) {
	.lank li{
		padding: 10px 0;
	}
	.lank li:first-child{
		padding: 0 0 10px;
	}
	.bn,.facebook{
		display: none;
	}
}
@media screen and (max-width: 320px) {
	.lank li:nth-child(1) .text:before{
		background: url(../images/icon_1.jpg) no-repeat 25% center;
	}
	.lank li:nth-child(2) .text:before{
		background: url(../images/icon_2.jpg) no-repeat 25% center;
	}
	.lank li:nth-child(3) .text:before{
		background: url(../images/icon_3.jpg) no-repeat 25% center;
	}
}

/*arrow_list
------------------------------------------------------------- */
.arrow_list li{
	position: relative;
	padding: 0 0 5px 5px;
	margin-bottom: 5px;
}
.arrow_list li:before{
	content:"\0025B6";
	font-size: 10px;
	color:#cc0033;
	margin-right: 5px;
}
.arrow_list li:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 1px;
    margin: 0 auto;
    text-align: center;
    background-image: -webkit-linear-gradient(left, transparent, #000 0%, #000 35%, transparent);
    background-image: linear-gradient(to right, transparent, #000 0%, #000 35%, transparent);
    background-position: center;
    background-repeat: no-repeat;
}



/*side_event
------------------------------------------------------------- */
.side_event{
}
.side_event .img_border a{
	min-height: 100%;
}
.side_event > .clearfix a:hover{
	text-decoration: underline;
}
.side_event > .clearfix + .clearfix{
	margin-top: 10px;
}
.side_event .btn01{
    display: block;
    text-align: center;
    margin: 10px auto 0;
}
.side_event .btn01 a{
    display: inline-block;
    background: #e8e4e4;
    margin-right: 5px;
    padding: 10px 15px;
    border: 1px solid #e8e4e4;
    text-align: center;
}
.side_event .btn01 a:hover{
	border: 1px solid #000;
	background: #fff;
}
.side_event .img_border{
	width: 160px;
	height: 120px;
	overflow: hidden;
	float: left;
	margin-right: 10px;
}
.side_event .img_border a{
	height:100%;
}
.side_event .img_border img{

}
.side_event .more_link{
	display: block;
	margin-top: 60px;
	text-align: right;
	text-decoration: underline;
}
@media screen and (max-width: 680px) {
	.side_event .img_border{
		width: 40%;
		height: 90px;
	}

	.side_event .btn01 a{
	    display: block;
	    margin-right: 0;
	}
}

/* side list_box
------------------------------------------------------------- */
aside .list_box li{
	border-bottom: 2px dotted #e7e9ea;
}
aside .list_box .img{
width: 100px;
height: 100px;
}
aside .list_box .img img{
	;
}
aside .list_box dt{
	font-size: 15px;
	font-size: 1.5rem;
}
aside .info{
	margin-top: 10px;
	text-align: right;
}
aside .info > .date{
	display: block;
	margin-top: 10px;
}
aside .info > .face{
	width: 42px;
	height: 42px;
}


/* ===================================================================================================================

	モジュール

=================================================================================================================== */

/* section
============================================================================================================ */
.section + .section,
.section_m + .section,
.section_s + .section {
	margin-top: 40px;
}
@media screen and (max-width: 680px) {
	.section + .section {
		margin-top: 30px;
	}
}

.section + .section_m,
.section_m + .section_m,
.section_s + .section_m {
	margin-top: 30px;
}

.section + .section_s,
.section_m + .section_s,
.section_s + .section_s {
	margin-top: 20px;
}
@media screen and (max-width: 680px) {
}

.pb_sec {
	padding-bottom: 60px;
}
@media screen and (max-width: 680px) {
	.pb_sec {
		padding-bottom: 30px;
	}
}


/* title
============================================================================================================ */
.title_l,
.title_m,
.title_s {
	line-height: 1.5;
	font-weight: bold;
}
.title_l {
	font-size: 30px;
	font-size: 3rem;
	margin-bottom: 15px;
	background:#CCEDFC;
	padding:10px 20px;
	color:#186ED2;
	font-weight:normal;
	border-left:5px solid #186ED2;
}
.title_m {
	font-size: 30px;
	font-size: 3rem;
	margin-bottom: 15px;
	background:#CCEDFC;
	padding:10px 20px;
	color:#000000;
	font-weight:normal;
	border-left:5px solid #186ED2;
}
.title_s {
	margin-bottom: 14px;
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 1.4;
}

@media screen and (max-width: 680px) {
	.title_l {
		font-size: 2rem;
	}
	.title_m {
		font-size: 1.8rem;
	}
	.title_s {
		font-size: 1.6rem;
	}
}
.title_dot {
	position: relative;
	margin-bottom: 20px;
	padding-left: 26px;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.4;
}
.title_dot:before,
.title_dot:after {
	content: "";
	position: absolute;
	width: 8px;
	height: 8px;
}
.title_dot:before {
	top: 2px;
	left: 0;
	background-color: #CC0033;
}
.title_dot:after {
	top: 10px;
	left: 8px;
	background-color: #cccccc;
}

@media screen and (max-width: 680px) {
	.title_dot {
		margin-bottom: 15px;
		font-size: 1.4rem;
	}
}


aside .title_m {
	font-size: 20px;
	font-size: 2.0rem;
	margin-bottom: 15px;
	background:#CCEDFC;
	padding:10px 20px;
	color:#000000;
	font-weight:normal;
	border-left:5px solid #186ED2;
}



/* bg
============================================================================================================ */
.bg_yellow {
	background: #ffe146 url(../images/parts/bg_pattern_yellow.jpg) 50% 0;
}

@media screen and (max-width: 680px) {
	.bg_yellow {
		-webkit-background-size: 140px;
		background-size: 140px;
	}
}

/* column_section
============================================================================================================ */
.column_section:after {
	content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0; overflow: hidden;
}
.column_section > * {
	float: left;
}

/* column2 */
.column_section.column2 > * {
	width: 330px;
}
.column_section.column2 > * + * {
	float: right;
}
@media screen and (max-width: 680px) {
	.column_section.column2 > *,
	.column_section.column2 > * + * {
		float: none;
		width: auto;
	}
	.column_section.column2 > * + * {
		margin-top: 30px;
	}
}

/* column3 */
.column_section.column3 > * {
	width: 270px;
}
.column_section.column3 > * + * {
	padding-left: 35px;
}
@media screen and (max-width: 680px) {
	.column_section.column3 > *,
	.column_section.column3 > * + * {
		float: none;
		width: auto;
		padding: 0;
	}
	.column_section.column3 > * + * {
		margin-top: 30px;
	}
}

/* column4 */
.column_section.column4 > * {
	width: 154px;
}
.column_section.column4 > * + * {
	padding-left: 28px;
}
@media screen and (max-width: 680px) {
	.column_section.column4 {
		margin-left: -5px;
		margin-right: -5px;
		margin-bottom: -30px;
	}
	.column_section.column4 > *,
	.column_section.column4 > * + * {
		width: 50%;
		padding: 0 5px 30px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.column_section.column4 > *:nth-child(2n+1) {
		clear: both;
	}
}


/* ph_float_column
============================================================================================================ */
.ph_float_column:after {
	content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0; overflow: hidden;
}
.ph_float_column.ph_left .ph {
	float: left;
}
.ph_float_column.ph_left .ph ~ * {
	margin-left: 260px;
}
.ph_float_column.ph_right .ph {
	float: right;
}
.ph_float_column.ph_right .ph ~ * {
	margin-right: 260px;
}

.ph_float_column.ph_left.m .ph ~ * {
	margin-left: 230px;
}
.ph_float_column.ph_right.m .ph ~ * {
	margin-right: 230px;
}

.ph_float_column.ph_left.sm .ph ~ * {
	margin-left: 160px;
}
.ph_float_column.ph_right.sm .ph ~ * {
	margin-right: 160px;
}

.ph_float_column.ph_left.s .ph ~ * {
	margin-left: 170px;
}
.ph_float_column.ph_right.s .ph ~ * {
	margin-right: 170px;
}


@media screen and (max-width: 680px) {
	.ph_float_column.ph_left .ph,
	.ph_float_column.ph_right .ph {
		float: none;
		margin-bottom: 10px;
		text-align: center;
	}
	.ph_float_column.ph_left .ph ~ * {
		margin-left: 0;
	}
	.ph_float_column.ph_right .ph ~ * {
		margin-right: 0;
	}
	.ph_float_column.ph_left.m .ph,
	.ph_float_column.ph_left.sm .ph,
	.ph_float_column.ph_left.s .ph {
		float: left;
		width: 100px;
	}
	.ph_float_column.ph_right.m .ph,
	.ph_float_column.ph_right.sm .ph,
	.ph_float_column.ph_right.s .ph {
		float: right;
		width: 100px;
	}
	.ph_float_column.ph_left.m .ph ~ *,
	.ph_float_column.ph_left.sm .ph ~ *,
	.ph_float_column.ph_left.s .ph ~ * {
		margin-left: 110px;
	}
	.ph_float_column.ph_right.m .ph ~ *,
	.ph_float_column.ph_right.sm .ph ~ *,
	.ph_float_column.ph_right.s .ph ~ * {
		margin-right: 110px;
	}
}


/* link
============================================================================================================ */
a.blank {
	padding: 3px 26px 3px 0;
	background: url(../images/parts/ico_blank.png) 100% no-repeat;
}
a.pdf {
	padding: 3px 22px 3px 0;
	background: url(../images/parts/ico_pdf.png) 100% no-repeat;
}

@media screen and (max-width: 680px) {
	a.blank {
		background-image: url(../images/parts/ico_blank_sp.png);
		-webkit-background-size: 16px;
		background-size: 16px;
	}
	a.pdf {
		background-image: url(../images/parts/ico_pdf_sp.png);
		-webkit-background-size: 16px;
		background-size: 16px;
	}
}


/* block_link
============================================================================================================ */
.block_link {
	display: block;
	text-decoration: none;
	color: #000;
}


/* li
============================================================================================================ */
ul.inline {
	text-align: center;
}
ul.inline li {
	display: inline-block;
	margin: 0 5px;
}
@media screen and (max-width: 680px) {
	ul.inline {
		margin: 0 -3px;
	}
	ul.inline:after {
		content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0;
	}
	ul.inline li {
		float: left;
		margin: 0;
		padding: 0 3px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	ul.inline.column4 li {
		width: 25%;
	}
}


/* square
------------------------------------------------------------- */
ul.square li {
	position: relative;
	padding-left: 1em;
}
ul.square li:before {
	content: "■";
	position: absolute;
	left: 0;
}

/* disc
------------------------------------------------------------- */
ul.disc li {
	position: relative;
	padding-left: 1em;
}
ul.disc li:before {
	content: "・";
	position: absolute;
	left: 0;
}

/* notes
------------------------------------------------------------- */
ul.notes li {
	position: relative;
	padding-left: 1em;
}
ul.notes li:before {
	content: "※";
	position: absolute;
	left: 0;
}

/* decimal
------------------------------------------------------------- */
ol.decimal {
	list-style-type: decimal;
}
ol.decimal li {
	margin-left: 2em;
}

/* parentheses
------------------------------------------------------------- */
ol.parentheses li {
	position: relative;
	padding-left: 2em;
}
ol.parentheses li .num {
	position: absolute;
	left: 0;
}



/* dl
============================================================================================================ */
dl.float {
}
dl.float dt {
	float: left;
}
dl.float dd {
	margin-left: 14em;
	padding-bottom: 1em;
}

@media screen and (max-width: 680px) {
	dl.float {
	}
	dl.float dt {
		float: none;
	}
	dl.float dd {
		margin-left: 0;
	}
}
dl.dl_sec dd ~ dt {
	margin-top: 25px;
}


/* img
============================================================================================================ */
@media screen and (max-width: 680px) {
	.sp_img50p img {
		max-width: 50%;
	}
}


/* img.radius
============================================================================================================ */
img.radius {
	border-radius: 1000px;
}


/* text_color
============================================================================================================ */
.green{
	color: #7d9d00;
}
.orange{
	color: #e87400;
}
.brown{
	color: #644a31;
}

.btm_dot span{
	border-bottom: 3px dotted #c96b15;
	color: #c96b15;
}
@media screen and (max-width: 680px) {
	.btm_dot span{
		border-bottom: 1px dotted #c96b15;
	}
}
.fw_n{
	font-weight: normal;
}


/* shop
============================================================================================================ */
.shop h1 {
	font-size: 26px;
	font-size: 2.6rem;
	line-height: 1.5;
	color: #212121;
	border-bottom: 1px solid #cdcdcd;
	margin-bottom: 10px;
}
.shop h1:after {
	content:" ";
	height: 4px;
	background: #e7e9ea;
	display: block;
	margin-top: 10px;
}
.shop dt {
	font-size: 21px;
	font-size: 2.1rem;
	margin-top: 30px;
	margin-bottom: 5px;
}
.shop dd {
	font-size: 16px;
	font-size: 1.6rem;
}
.shop .map{
	margin-top: 30px;
}
@media screen and (max-width: 680px) {
	.shop h1 {
		font-size: 2rem;
	}
	.shop dt {
		font-size: 1.6rem;
	}
	.shop dd {
		font-size: 1.4rem;
	}
	.shop .map{
		margin-top: 20px;
	}
}