@charset "utf-8";

html, body {
	width: 100%;
}

html {
	font-size: 14px;
}

li {
	list-style-type: none;
}
img {
	box-sizing: content-box;
	vertical-align: bottom;
}
a:link {
	color: #09C;
}
a:visited {
	color: #000080;
}
a:hover {
	color: #09C;
}
a:active {
	color: #09C;
}
a:focus {
	outline: none;
}
area:focus {
	outline: none;
}
a:hover img {
	filter: alpha(opacity=60);
	opacity: 0.6;
}
@media screen and (min-width:960px) {
	a[href^="tel:"] {
		cursor: default;
	    pointer-events: none;
	}
}

.suptext {
	display: inline;
	position: relative;
	font-size: 8px;
	top: -1ex;
	color: #000;
}
.ib {
	display: inline-block !important;
}
.red {
	color: #F00;
}
.acc {
	display: none;
}

/* mobile */
p {
	max-height: 100%;
}
li {
	max-height: 100%;
}
dt {
	max-height: 100%;
}
dd {
	max-height: 100%;
}
body {
    -webkit-text-size-adjust: 100%;
}


/* =====================================================================
    基本装飾設定
======================================================================*/

img {
	max-width: 100%;
	height: auto;
}
@media screen and (max-width:959px) {
	.img_pc {
		display: none;
	}
}
@media screen and (min-width:960px) {
	.img_sp {
		display: none;
	}
}
table {
	box-sizing: border-box;
	width: 99%;
	margin: 1rem auto;
	border: 1px solid #999;
}
table th,
table td {
	box-sizing: border-box;
	padding: 0.5rem;
	border: 1px solid #999;
	line-height: 1.4;
}
table > thead > tr > th,
table > thead > tr > td {
	white-space: nowrap;
	background-color: #515050;
	vertical-align: middle;
	text-align: center;
	font-weight: bold;
	color: #FFF;
}
table > tbody > tr > th {
	white-space: nowrap;
	background-color: #EBF8FE;
	text-align: center;
	font-weight: normal;
}
table > tbody > tr > td {
	text-align: left;
	font-weight: normal;
}

table.va_m th,
table.va_m td {
	vertical-align: middle;
}
table th.ws_nr,
table td.ws_nr {
	white-space: nowrap;
}
table > tbody > tr.r1 > th,
table > tbody > tr.r1 > td {
	background-color: #FFEBEB;
}
table > tbody > tr.r2 > th,
table > tbody > tr.r2 > td {
	background-color: #FCB6B6;
}
table > thead > tr > th.wrap,
table > thead > tr > td.wrap,
table > tbody > tr > th.wrap {
	white-space: normal;
}
table > thead > tr > th.t_left,
table > thead > tr > td.t_left,
table > tbody > tr > th.t_left {
	text-align: left;
}
table > tbody > tr > th.t_right,
table > tbody > tr > td.t_right {
	text-align: right;
}
table.t_center td {
	text-align: center;
}
table > tbody > tr > td.t_center {
	text-align: center;
}
table.v_mid th,
table.v_mid td {
	vertical-align: middle;
}
table > tbody > tr > th.v_mid,
table > tbody > tr > td.v_mid {
	vertical-align: middle;
}

ol {
	counter-reset: number 0;
}
ol > li {
	position: relative;
	padding-left: 1.3em;
}
ol > li:before {
	position: absolute;
	counter-increment: number 1;
	content: counter(number) ".";
	top: 0;
	left: 0.1em;
}

ul.mp > li {
	display: block;
	position: relative;
	padding-left: 1.2em;
}
ul.mp > li:before {
	position: absolute;
	content: "●";
	top: 0;
	left: 0.1em;
}

.m_page p,
.m_page dl,
.m_page ul,
.m_page ol {
	margin: 0.5rem 0.2rem;
}

.asterisk {
	display: block;
	position: relative;
	padding-left: 1.2em;
}
.asterisk:before {
	position: absolute;
	content: "※";
	top: 0;
	left: 0.1em;
}
.asterisk_ {
	display: block;
	position: relative;
	padding-left: 1.2em;
	font-size: 0.9rem;
	line-height: 1.5;
}
.asterisk_:before {
	position: absolute;
	content: "※";
	top: 0;
	left: 0.1em;
}
.asterisk_2 {
	display: inline-block;
	position: relative;
	padding-left: 1.2em;
	line-height: 1.5;
}
.asterisk_2:before {
	position: absolute;
	content: "※";
	top: 0;
	left: 0.1em;
}
.midpoint {
	display: block;
	position: relative;
	padding-left: 1.2em;
}
.midpoint:before {
	position: absolute;
	content: "●";
	top: 0;
	left: 0.1em;
}
.numbers {
	counter-reset: number 0;
}
.numbers li {
	position: relative;
	padding-left: 1.3em;
}
.numbers li:before {
	position: absolute;
	counter-increment: number 1;
	content: counter(number) ".";
	top: 0;
	left: 0.1em;
}

.img_cent {
	padding: 0 0.5rem 1rem;
	text-align: center;
}
.img_cent img {
	width: 100%;
}
.img_fr30 {
	overflow: hidden;
}
.img_fr30 img {
	float: right;
	max-width: 30%;
	padding-left: 1rem;
}
.img_fr40 {
	overflow: hidden;
}
.img_fr40 img {
	float: right;
	max-width: 40%;
	padding-left: 1rem;
}
.div_fr30, .div_fr40 {
	overflow: hidden;
}
.div_fr {
	float: right;
	padding-left: 1.5rem;
}
.div_fr30 > .div_fr {
	width: 30%;
}
.div_fr40 > .div_fr {
	width: 40%;
}

.f_box_2, .f_box_3 {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
.f_box_2 > li {
	flex: 0 0 48%;
	margin-bottom: 1rem;
}
.f_box_3 > li {
	flex: 0 0 32%;
	margin-bottom: 1rem;
}

.box01 {
	margin: 0.5rem 1rem;
    padding: 1rem 1.5rem;
	background-color: #D2E9FF;
    border: 2px dashed #FFF;
    box-shadow: 0px 0px 0px 0.5rem #D2E9FF;
}

/*縦書き*/
.vr {
	-webkit-writing-mode: vertical-lr;
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;
	text-orientation: upright;
}


/* =====================================================================
    マージン設定
======================================================================*/
.mb0 {
	margin-bottom: 0 !important;	
}
.mb02 {
	margin-bottom: 0.2rem !important;	
}
.mb05 {
	margin-bottom: 0.5rem !important;	
}
.mb08 {
	margin-bottom: 0.8rem !important;	
}
.mb1 {
	margin-bottom: 1rem !important;	
}
.mb1_5 {
	margin-bottom: 1.5rem !important;	
}
.mb2 {
	margin-bottom: 2rem !important;	
}
.mb3 {
	margin-bottom: 3rem !important;	
}
.mb4 {
	margin-bottom: 4rem !important;	
}
.mb6 {
	margin-bottom: 6rem !important;	
}
.mb6_ {
	margin-bottom: 6rem !important;	
}
.mb8 {
	margin-bottom: 8rem !important;	
}
.mt05 {
	margin-top: 0.5rem !important;
}
.mt1 {
	margin-top: 1rem !important;
}
.mt2 {
	margin-top: 2rem !important;
}
@media screen and (min-width: 897px) {
	.mb02 {
		margin-bottom: 0.5rem !important;	
	}
	.mb05 {
		margin-bottom: 1rem !important;	
	}
	.mb08 {
		margin-bottom: 1.5rem !important;	
	}
	.mb1 {
		margin-bottom: 2rem !important;	
	}
	.mb1_5 {
		margin-bottom: 3rem !important;	
	}
	.mb2 {
		margin-bottom: 4rem !important;	
	}
	.mb3 {
		margin-bottom: 6rem !important;	
	}
	.mb4 {
		margin-bottom: 8rem !important;	
	}
	.mb6 {
		margin-bottom: 12rem !important;	
	}
	.mb6_ {
		margin-bottom: 8rem !important;	
	}
	.mb8 {
		margin-bottom: 16rem !important;	
	}
	.mt05 {
		margin-top: 1rem !important;
	}
	.mt1 {
		margin-top: 2rem !important;
	}
	.mt2 {
		margin-top: 4rem !important;
	}
}


/* common */
/*h1 {
	font-size: 3.052rem;
}
h2 {
	font-size: 2.441rem;
}
h3 {
	font-size: 1.953rem;
}
h4 {
	font-size: 1.563rem;
}
h5 {
	font-size: 1.25rem;
}*/

/* blink */
/*.blink {
	-webkit-animation: blink 1s ease-in-out infinite alternate;
	animation: blink 1s ease-in-out infinite alternate;
}
@-webkit-keyframes blink {
	0% {opacity: 0;}
	30% {opacity: 0.5;}
	100% {opacity: 1;}
}
@keyframes blink {
	0% {opacity: 0;}
	30% {opacity: 0.5;}
	100% {opacity: 1;}
}*/