﻿@charset "utf-8";
/* --------------------------------------------------------
	reset
-------------------------------------------------------- */

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
	margin: 0;
	padding: 0;
}
address,caption,cite,code,dfn,em,strong,th,var {
	font-style: normal;
}

body {
	color: #333333;
	font-size: 100%;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",verdana,"メイリオ", Meiryo, sans-serif;
	line-height: 1.5;
	background: url(null) fixed;
	background-color: #fff;
}

html {
	overflow-y: scroll;
}

article,aside,canvas,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,summary { 
	display:block;
}
img {
	border: 0;
	vertical-align: bottom;
}
ul, ol {
	list-style: none;
}
table {
	border-spacing: 0;
	empty-cells: show;
}
a,a:link,a:visited,a:hover,a:active{
	color:#054691;
	text-decoration:none;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

h2 {
	margin:2em auto 1em auto;
	text-align: center;
	border-bottom;1px solid #333;
}

ul.list00 {
	margin:1em auto 2em auto;
	text-align: center;
}
ul.list00 li {
	display: inline;
	padding:0.5em 2em 0.5em 1em;
	width:12em;
	padding-left:2em;
	background-color: #f3f3f3;
}

ul.list01 {
	margin:1em auto;
	text-align: center;
}
ul.list01 li {
	display: inline;
	margin:1em 0.5em;
	padding-right:2em;
	width:12em;
	border-right:1px solid #999;
}
ul.list01 li.first {
	border-left:1px solid #999;
	padding-left:2em;
}

ul.list02 {
	margin:1em auto;
	text-align: center;
}
ul.list02 li {
	display: inline;
	margin:1em 0.5em;
	padding-right:1em;
	width:12em;
	border-right:1px solid #999;
}
ul.list02 li.first {
	border-left:1px solid #999;
	padding-left:2em;
}

/* --------------------------------------------------------
	flex
-------------------------------------------------------- */

.oc_detail dl {
	display: flex;
	flex-flow: row wrap;
	width: 90%;
	margin: 50px auto;
}
.oc_detail dt {
	flex-basis: 35%;
	padding: 20px;
	background-color: #f1f1f1;
	border-bottom: 1px solid #ccc;
}
.oc_detail dd {
	flex-basis: 65%;
	padding: 20px;
	background-color: #fff;
	border-bottom: 1px solid #ccc;
}

.oc_detail dt:first-child {
 	border-top: 1px solid #ccc;
}

.oc_detail dd:nth-child(2) {
 	border-top: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
	.oc_detail dl {
		flex-flow: column;
		width: 100%;
		padding: 0 20px;
		border: 0;
	}
	.oc_detail dt, .oc_detail dd {
		padding: 10px;
		border-bottom: 1px solid #ccc;
	}
	.oc_detail dd:nth-child(2) {
	 	border-top: 0;
	}
}

.oc_detail h3{
	border-left:10px solid #999;
	border-bottom:1px solid #999;
	margin:1em 2em;
	padding:0.5em 1em;
	font-weight:normal;
}
.oc_detail table {
	width:90%;
	padding:2em;
	margin:2em auto;
	boeder:0;
}

.oc_detail table th{
	background-color: #333;
	color:#fff;
	padding:0.5em;
	font-weight:normal;
}

.oc_detail table tr,
.oc_detail table td{
	padding:0.5em;
}
.oc_detail table tr.gray{
	background-color: #f6f6f6;
}


--------------------------------
.page_top{
	padding:1em;
	margin:10em;
	border:10px solid #ccc;

}
#page_top{
  /*width: 50px;
  height: 50px;*/
	width:100%;
  position: fixed;
	bottom:50px;
	right:0;
  /*bottom: -150px !important;
  /*background: #ef3f98;*/
  opacity: 0.6;
  border-radius: 50%;

}
#page_top a{
  position: relative;
  display: block;
  /*width: 50px;
  height: 50px;*/
  text-decoration: none;
}
#page_top a::before{
  content: '↑PageTop';
  font-size: 15px;
	text-decoration: underline;
	/*font-size: 25px;*/
  color: #999;
  position: absolute;
  /*width: 25px;
  height: 25px;*/
  top: -5px;
  bottom: 0;
  right: 50px;
  left: 0;
  margin: auto;
  text-align: right;
	float:right;
}
-------------------------------