@charset "utf-8";
/*--京pages.css--*/
/* ##########PC########## */
/*----------header----------*/

/*----------contents----------*/
.contents{
	background-image: url("../shared/bg_contents.png");
	background-repeat: no-repeat;
	background-size: 550px auto;
	background-position: right top;
	min-height: 500px;
}

	.topicpath{
		position: relative;
		font-size: 0.76rem;
		padding: 1.5em 2em;
	}

		.topicpath ul{}

			.topicpath ul li{
				display: inline;
				position: relative;
			}

			.topicpath ul li:last-child{
				font-weight: bold;
				color: #093b6c;
			}

				.topicpath ul li:after{
					font-family: FontAwesome;
					content:"\f105";
					margin: 0 0.5em 0 1em;
				}

				.topicpath ul li:last-child:after{
					content:none;
				}

				.topicpath ul li a{
					color: #333;
					text-decoration: none;
				}

					.topicpath ul li a:hover{
						text-decoration: underline;
					}

	.content_title{
		display: flex;
		justify-content: center;
		margin: 3em 0 2em;
	}

		.content_title h1{
			width: 920px;
			font-size: 2.1rem;
			font-weight: bold;
			color: #093b6c;
		}

            .content_title h1.page_2nd{
                display: flex;
                align-items: center;
            }

                .content_title h1.page_2nd .lbl1{
                    font-size: 0.6em;
                    margin-right: 1em;
                    padding-top: 0.3em;
                    position: relative;
                    padding-right: 1em;
                }

                .content_title h1.page_2nd .lbl1:before{
                    font-family: FontAwesome;
                    content:"\f0da";
                    display: inline-block;
                    position: absolute;
                    right: 0;
                    top: 0.3em;
                    font-weight: normal;
                }





	.content_body{
		line-height: 1.8;
		font-size: 0.97rem;
		position: relative;
		z-index: 3;
		min-height: 500px;
	}

		.page_title{
			position: relative;
			display: flex;
			justify-content: center;
			border-bottom: 1px solid #ccc;
			padding: 1.2em 0 0.8em;
			margin-bottom: 3em;
		}
		
		.page_body{
			width: 920px;
			margin: 0 auto;
			padding-bottom: 5em;
		}

        .page_nav{
            line-height: 1.2;
            margin: 1em 0 2em;
            font-size: 0.92rem;
        }

            .page_body .page_nav ul{
                margin: 0;
                display: flex;
                justify-content: flex-end;
            }

                .page_body .page_nav ul li{
                    padding: 0;
                    margin: 0 0.5em 0 0;
                }

                .page_body .page_nav ul li:last-child{
                    margin-right: 0;
                }

                .page_body .page_nav ul li.current_page_item{

                }

                    .page_body .page_nav ul li:before{
                        content: none;
                    }

                        .page_body .page_nav ul li a{
                            box-sizing: border-box;
                            border-radius: 16px;
                            text-decoration: none;
                            display: flex;
                            align-items: center;
                            height: 32px;
                            border: 2px solid #ccc;
                            background: #fff;
                            line-height: 1;
                            padding: 0 1em;
                            transition: .3s all ease;
                        }

                        .page_body .page_nav ul li a:hover{
                            color: #093b6c;
                            border: 2px solid #093b6c;
                        }

                        .page_body .page_nav ul li.current_page_item a{
                            background: #093b6c;
                            color: #fff;
                            border: 2px solid #093b6c;
                        }

		/*.page_body内汎用指定*/
		.page_body h2 {
			box-sizing: border-box;
			background-image: url("../shared/bg_hdg_h2.png");
			background-size: 100% auto;
			background-repeat: no-repeat;
			background-position: center center;
			border-radius: 6px;
			font-size: 1.3rem;
			font-weight: bold;
			padding: 0.4em 0 0.5em 1em;
			color: #fff;
			margin: 3em 0 1.5em;
		}

		.page_body h2.ns{
			background: none;
			border-radius: 0;
			font-size: 1em;
			font-weight: normal;
			padding: 0;
			color: #04396d;
			margin: 0;
		}


		.page_body h3 {
			font-size: 1.24em;
			font-weight: bold;
			color: #333;
			position: relative;
			margin-top: 3em;
			margin-bottom: 1.5em;
			line-height: 1.4;
			background-color: rgba(124,229,99,0.1);
			padding: 0.4em 0.8em;
			border-radius: 4px;
		}

		.page_body h3.mt0{
			margin-top: 0;
		}



		.page_body a{
			color:#00416b;
		}

		.page_body a:hover{
			color:#0b6b54;
		}

		/*#####段落#####*/
		.page_body p,
		.entry_detail_box > .box_inner p{
			margin: 0 1em 1em 1em;
		}

		/*汎用指定解除*/
		.page_body p.ns{
			margin: 0;
		}

		/*#####リスト#####*/
		.page_body ul,
		.entry_detail_box > .box_inner ul{
			margin: 1em;
			line-height: 1.6;
		}
		
			.page_body ul li,
			.entry_detail_box > .box_inner ul li{
				margin-bottom: 0.6em;
				padding-left: 1em;
				position: relative;
			}

			.page_body ul li:last-child,
			.entry_detail_box > .box_inner ul li:last-child{
				margin-bottom: 0;
			}

				.page_body ul li:before,
				.entry_detail_box > .box_inner ul li:before{
					display: inline-block;
					content:"";
					width: 6px;
					height: 6px;
					border-radius: 3px;
					position: absolute;
					top: 0.65em;
					left: 0;
					background: #aaa;
				}

		/*汎用指定解除*/
		.page_body ul.ns{
			margin: 0;
			line-height: inherit;
		}

			.page_body ul.ns li{
				margin-bottom: 0;
				padding-left: 0;
			}

				.page_body ul.ns li:before{
					content:none;
				}

		/*#####番号リスト#####*/
		.page_body ol,
		.entry_detail_box > .box_inner ol{
			margin: 1em 2em;
			list-style: decimal;
			line-height: 1.6;
		}

			.page_body ol li,
			.entry_detail_box > .box_inner ol li{
				margin-bottom: 0.6em;
				margin-left: 2em;
			}

			.page_body ol li:last-child,
			.entry_detail_box > .box_inner ol li:last-child{
				margin-bottom: 0;
			}

			.page_body ol > li:before{
				content: none;
			}

		/*汎用指定解除*/
		.page_body ol.ns{
			margin: 0;
			list-style: none;
			line-height: inherit;
		}

			.page_body ol.ns li{
				margin: 0;
			}

		.page_body img{
			max-width: 100%;
			height: auto;
		}


		/*#####H4#####*/
		.page_body h4{
			padding: 0.3em 0.7em;
			position: relative;
			margin: 3em 0 1.5em;
			color: #333;
			font-size: 1.15em;
			font-weight: bold;
			background: #fcf8ec;
		}

		.page_body h4.mt0{
			margin-top: 0;
		}

		/*汎用指定解除*/
		.page_body h4.ns{
			border-top: none;
			background: none;
			font-size: 1em;
			font-weight: normal;
			color: #000;
			margin: 0;
			padding: 0;
		}

			.page_body h4.ns:before{
				content: none;
			}

		/*#####H5#####*/
		.page_body h5{
			font-size: 1.05em;
			font-weight: bold;
			margin: 2em 0.5em 1em 0.5em;
			border-bottom: 1px dotted #aaa;
			position: relative;
			padding: 0 0 0.3em 1em;
			line-height: 1.5;
			clear: both;
		}

			.page_body h5:before{
				content: "";
				display: block;
				width: 0;
				height: 1em;
				border-left: 5px solid #212164;
				position: absolute;
				top: 0.3em;
				left: 0;
			}

		/*汎用指定解除*/
		.page_body h5.ns{
			font-size: 1em;
			font-weight: normal;
			color: #000;
			margin: 0;
			padding: 0;
		}

		.page_body h5.ns:before{
			content: none;
		}


		/*#####table#####*/
		.page_body table{
			margin: 1em;
		}

			.page_body table th,
			.page_body table td{
				border: 1px solid #ddd;
				padding: 0.5em 0.7em;
				line-height: 1.5;
			}

			.page_body table th{
				background: #f5f5f5;
			}

			/*table内のもろもろ調整*/
			.page_body table th p,
			.page_body table td p{
				margin: 0 0 0.5em 0;
			}

			.page_body table th p:last-child,
			.page_body table td p:last-child,
			.entry_detail_box > .box_inner table th p:last-child,
			.entry_detail_box > .box_inner table td p:last-child{
				margin: 0;
			}

			.page_body table ul,
			.page_body table ol{
				margin: 0.5em;
			}

		/*汎用指定解除*/
		.page_body table.ns{
			margin: 0;
		}

			.page_body table.ns th,
			.page_body table.ns td{
				border: none;
				padding: 0;
			}

			.page_body table.ns th{
				background: none;
			}

		.page_body strong,
		.entry_detail_box > .box_inner strong{
			font-weight: bold;
		}

		.page_body em,
		.entry_detail_box > .box_inner em{
			font-style: italic;
		}

		/*anc_nav*/
		.page_body ul.anc_nav{
			display: flex;
			justify-content: center;
			margin: 0;
			line-height: 1.3;
		}

			.page_body ul.anc_nav li{
				margin: 0;
				padding: 0 0.5em;
			}

			.page_body ul.anc_nav li:last-child{
				margin: 0;
				border-right: none;
			}

				.page_body ul.anc_nav li:before{
					content: none;
				}

				.page_body ul.anc_nav li a{
					color: #111;
					display: block;
					font-size: 1.02rem;
					padding: 0.1em 0.6em;
					text-decoration: none;
					text-align: center;
					position: relative;
				}

					.page_body ul.anc_nav li a:before{
						font-family: FontAwesome;
						content:"\f0d7";
						display: inline-block;
						width: 1em;
						text-align: center;
						position: absolute;
						bottom: -0.9em;
						left: 0;
						right: 0;
						margin: auto;
						color: #ccc;
						transition: .3s all ease;
					}

					.page_body ul.anc_nav li a:hover:before{
						color: #f0353e;
						transform: translateY(0.2em);
					}

		/*img_box系*/
		.page_body table.img_box1,
		.page_body table.img_box2{
			display: block;
		}

			.page_body table.img_box1 tbody,
			.page_body table.img_box2 tbody{
				display: block;
			}

			.page_body table.img_box1 tbody tr,
			.page_body table.img_box2 tbody tr{
				display: flex;
				justify-content: center;
			}

				.page_body table.img_box1 tbody tr td,
				.page_body table.img_box2 tbody tr td{
					display: block;
					border: none;
					padding: 0;
					margin-right: 20px;
				}

				.page_body table.img_box1 tbody tr td{
					border-radius: 10px;
					overflow: hidden;
				}

				.page_body table.img_box1 tbody tr td:last-child,
				.page_body table.img_box2 tbody tr td:last-child{
					margin-right: 0;
				}

			.page_body hr{
				border:0;
				border-top: 1px solid #ccc;
				margin: 3em 0;
			}

			/*WP汎用指定*/
			.aligncenter {
				display: block;
				margin: 0 auto;
			}

			.alignright {
				float: right;
				margin-left: 2em;
			}
			.alignleft {
				float: left;
				margin-right: 2em;
			}

			.wp-caption{
				margin-top: 1em;
				margin-bottom: 1.5em;
			}

				.page_body .wp-caption p.wp-caption-text{
					margin: 0;
					font-size:0.9em;
					line-height: 1.6;
					padding-top: 0.5em;
				}

		/*.page_body内汎用指定ここまで*/

		/*カラム割版*/
		.column_wrapper{
			display: flex;
			justify-content: space-between;
			width: 920px;
			margin: 0 auto;
		}

			.column_wrapper .column_main{
				width: 660px;
			}

			.column_wrapper .column_sub{
				width: 200px;
			}


	/*スクロール可能table*/
	.scrollable_msg{
		display: none;
	}

	/*画像横並びボックス*/
	.page_body table.imgs_sbs{
		display: block;
		width: auto !important;
	}

		.page_body table.imgs_sbs tbody{
			display: block;
		}

			.page_body table.imgs_sbs tbody tr{
				display: flex;
			}

				.page_body table.imgs_sbs tbody tr td{
					box-sizing: border-box;
					display: block;
					border: none;
					width: 100% !important;
					text-align: center;
				}

/*ただいま準備中です。*/
.uc_msg_box{
	background-image: url("../shared/fig_puresuke_run_s.png");
	background-repeat: no-repeat;
	background-size: 80px auto;
	background-position: right top;
	padding-right: 100px;
	width: 240px;
	height: 100px;
	margin: 8em auto 0;
}

	.uc_msg_box > .box_inner{
		position: relative;
	}

		.page_body .uc_msg_box > .box_inner:before{
			content: "";
			display: block;
			width: 20px;
			height: 20px;
			position: absolute;
			top: 0.5em;
			right: -15px;
			z-index: 1;
			background: #ddf0f7;
			transform: skewX(45deg);
			transform-origin: right bottom;
		}

		.page_body .uc_msg_box > .box_inner p{
			background: #ddf0f7;
			margin: 0;
			padding: 0.5em 1em;
			text-align: center;
			border-radius: 5px;
			position: relative;
			z-index: 2;
		}

@media screen and (min-width:1px) and (max-width:1024px) {
}

@media screen and (min-width:1px) and (max-width:768px) {
}

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {
	.contents{
		background-size: 55% auto;
		min-height: 85vh;
	}
	
	.topicpath{
		height: auto;
		padding: 5vw 0 0 0;
	}

		.topicpath ul{
			box-sizing: border-box;
			width: 100%;
			font-size: 0.64rem;
			padding: 0 3vw;
			white-space: nowrap;
			overflow: hidden;
			position: relative;
		}
	
			.topicpath ul:after{
				content: "";
				display: block;
				width: 6vw;
				height: 100%;
				position: absolute;
				top: 0;
				right: 0;
				z-index: 2;
				background: rgb(255,255,255);
				background: -moz-linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
				background: -webkit-linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
				background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
				filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1);
			}
	
			.topicpath ul li{
				position: relative;
				z-index: 1;
			}

			.topicpath ul li:after{
				margin: 0 0.3em 0 0.6em;
			}
	
	.content_title{
		margin: 2em 0;
		padding: 0 4vw;
		justify-content: flex-start;
	}

		.content_title h1{
			width: auto;
			font-size: 1.3rem;
			line-height: 1.2;
		}
	
	.content_body{
		line-height: 1.6;
		font-size: 0.84rem;
		min-height: 50vh;
	}

		.page_nav{
			box-sizing: border-box;
			width: 100%;
			margin: 1em auto;
			padding: 0 5vw;
		}

			.page_body .page_nav ul{
				font-size: 0.8rem;
                justify-content: center;
			}

				.page_nav ul li{
					margin-right: 4vw;
					margin-bottom: 0.7em;
				}

					.page_nav ul li a{
						align-items: flex-start;
						height: 4vw;
						line-height: 1.2;
					}

						.page_nav ul li a:before{
							width: 4vw;
							height: 4vw;
							border-radius: 2vw;
							margin-top: 0.1vw;
						}

						.page_nav ul li a:after{
							width: 4vw;
							height: 4vw;
							padding: 0 0 0 0;
							font-size: 2.4vw;
						}
	
		.page_title{
			justify-content: flex-start;
			padding: 0.5em 0 0.3em;
			margin: 0 4vw 2em 4vw;
		}

			.page_title h2{
				font-size: 1.2rem;
				line-height: 1.5;
				width: auto;
			}
	
		.page_body{
			width: auto;
			margin: 0 4vw;
			padding-bottom: 3em;
		}


			/*.page_body内汎用指定*/
			.page_body h2 {
				background-size: 100% auto;
				border-radius: 6px;
				font-size: 1.05rem;
				padding: 0.4em 0 0.5em 1em;
				margin: 2em 0 1em;
			}
	
			.page_body h3{
				font-size: 1.05em;
				margin-top: 2em;
				margin-bottom: 1em;
			}
	
			.page_body p{
				margin: 0 0.5em 1em 0.5em;
			}
	
			.page_body table,
			.entry_detail_box > .box_inner table{
				margin: 1em 0.5em;
				word-break: break-all;/*暫定*/
			}

			/*anc_nav*/
			.page_body ul.anc_nav li a{
				font-size: 0.9rem;
			}
	
			/*img_box系*/
			.page_body table.img_box1 tbody tr td,
			.page_body table.img_box2 tbody tr td{
				width: calc((100% - 3vw) / 2);
				margin-right: 3vw;
			}

			.page_body table.img_box1 tbody tr td{
				border-radius: 6px;
			}
	
		/*カラム割版*/
		.column_wrapper{
			display: block;
			width: auto;
			margin: 0;
		}

			.column_wrapper .column_main{
				width: auto;
				margin-bottom: 2em;
			}

				.column_wrapper .column_main .page_body{
					width: auto;
				}

			.column_wrapper .column_sub{
				width: auto;
				margin: 0 4vw;
			}

	/*スクロール可能table*/
	.scrollable_msg{
		display: block;
		text-align: center;
		margin-bottom: 0.5em;
	}

		.scrollable_msg:before,
		.scrollable_msg:after{
			font-family: FontAwesome;
			color: #aaa;
		}

		.scrollable_msg:before{
			content:"\f104";
			margin-right: 0.5em;
		}

		.scrollable_msg:after{
			content:"\f105";
			margin-left: 0.5em;
		}

	.scrollable_table {
		overflow: auto;
		white-space: nowrap;
		margin-bottom: 1em;
	}
	.scrollable_table ::-webkit-scrollbar{
		height: 5px;
	}
	.scrollable_table ::-webkit-scrollbar-track{
		background: #F1F1F1;
	}
	.scrollable_table ::-webkit-scrollbar-thumb {
		background: #BCBCBC;
	}
		.scrollable_table table{
			width:100%;
			margin: 0;
		}

	/*画像横並びボックス*/
	.page_body table.imgs_sbs tbody tr td{
		padding: 1vw;
	}
	
	/*ただいま準備中です。*/
	.uc_msg_box{
		background-size: 14vw auto;
		padding-right: 18vw;
		width: 46vw;
		height: calc(14vw / 80 * 99);
		margin: 5em auto 0;
	}

		.page_body .uc_msg_box > .box_inner:before{
			width: 4vw;
			height: 4vw;
			right: -2vw;
		}
	
	.page_body hr{
		margin: 2em 0;
	}
	
	/*WP汎用指定*/
	.aligncenter,
	.alignright,
	.alignleft{
		box-sizing: border-box;
		width: auto !important;
		padding: 0 2em;
	}
	
	.alignright {
		text-align: center;
		float: none;
		margin-left: 0;
	}
	.alignleft {
		text-align: center;
		float: none;
		margin-right: 0;
	}
	
	.page_body .wp-caption p.wp-caption-text{
		text-align: left;
	}


}

/* ##########印刷用########## */
@media print{
	.content_title h2,
	.page_body h3,
	.page_body h3:before,
	.page_body h3:after,
	.page_body h4{
		opacity: 1 !important;
		transform: none !important;
	}
	
	.contents {
		padding-top: 0;
	}
	
	.cloned_anc_nav{
		display: none;
	}
}