﻿@charset "utf-8";


/* ------------------------------------------------------------------------
    BASE
------------------------------------------------------------------------  */
html{
  text-size-adjust: 100%;
  -webkit-font-smoothing: subpixel-antialiased;
}
body{
	margin:0;
	padding:0;
	color:#323232;
	font-weight:normal;
	line-height:1.8em;
	font-family: 'Noto Sans JP', sans-serif;
}
/*
@media all and (-ms-high-contrast:none) {
	body {
		font-family: "メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	}
}
*/

html {
  font-size: 62.5%;
}
body {font-size: 1.4em;}
@media screen and (min-width:769px){
	body {font-size: 1.6em;}
}
html, body{
	height:100%;
}
a{
	display:inline-block;
	text-decoration:	none;
	color:#323232;
}
a:focus, *:focus { outline:none; }
a:active{
	text-decoration:	none;
}
@media screen and (max-width:768px){
}
@media screen and (min-width:769px){
	a.hov:hover{
		opacity:.5;
		-webkit-transition: all .6s;
		transition: all .6s;
	}
}
a.data {
	cursor:pointer;
}


li {
	list-style:none;
}
li a {
	text-decoration:none;
}
address, div, form, fieldset, legend, h1, h2, h3, h4, h5, h6, img, ol, ul, li, dl, dt, dd, p, img, strong, em, span, blockquote,iframe, q {
	margin: 			0;
	padding:			0;
	border:				none;
	font-size: 			1em;
	font-style: 		normal;
	font-weight: 		normal;
	vertical-align:		top;
}

table, tr, th, td{
	font-size: 			1em;
	margin:				0;
	padding:			0;
	border:				0 none;
	border-spacing:		0;
	border-collapse:	collapse;
}
object, embed{
	vertical-align: top;
}
p{
	word-break:break-all;
}
sup,
sub {
    height: 0;
    line-height: 1;
    vertical-align: baseline;
    _vertical-align: bottom;
    position: relative;
	font-size:.8em;
	padding-left:.5em;
     
}
 
sup {
    bottom: 1ex;
	padding-left:.3em;
}
 
sub {
    top: .1ex;
	padding-left:.3em;
}
img {
	width:100%;
	max-width:100%;
	height:auto;
}
img[src$=".svg"] {
	width: 100%;
	height:100%;
	max-width:100%;
	max-height:100%;
}

/* ------------------------------------------------------------------------
    clearfix / float
------------------------------------------------------------------------  */
.clearfix:after {content: ".";display: block;height: 0; clear: both; visibility: hidden;}
.clearfix {display: inline-table;min-height: 1%; /* IE 7対策 */}
/* Hides from IE-mac \*/* html .clearfix{height:1%;}.clearfix{display:block;}/* End hide from IE-mac */

.fl{float:left;}
.fr{float: right;}
.cb{clear:both;}

/* ------------------------------------------------------------------------
    text
------------------------------------------------------------------------  */
/* align */
.tal{ text-align: left; }
.tac{ text-align:center; }
.tar{ text-align:right; }
.fw5 {font-weight:500;}
.fwb {font-weight:bold;}
.ti1 {
	text-indent:-1em;
	padding-left:1em;
}
.ti1half {
	text-indent:-1.5em;
	padding-left:1.5em;
}
.ti2 {
	text-indent:-2em;
	padding-left:2em;
}
.tdu {
	text-decoration:underline;
}

/* under line */
.unl-dots{
	padding-bottom: 15px;
	margin-bottom: 15px;
	border-bottom: 1px dotted #999;
}
.unl-line{
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #999;
}

/* color */
.cl-900 { color:#900 !important;}
.cl-333 { color:#333 !important;}
.cl-555 { color:#555 !important;}
.cl-666 { color:#666 !important;}
.cl-999 { color:#999 !important;}
.cl-78 { color:#787878 !important;}
.cl-ccc { color:#ccc !important;}
.cl-fff { color:#FFF !important;}
.cl-sona { color: #00b0ff !important;}
hr.hr1 {
	margin-top:3.57em;
	margin-bottom:3.57em;
	height:1px;
	background:#666;
	padding:0;
	border:none;
}


/* ------------------------------------------------------------------------
    Format
------------------------------------------------------------------------  */
/* Title */
.Title-A {
	position: relative;
	padding-bottom: .5em;
}
.Title-A:before {
	position: absolute;
	width: 120px;
	height: 3px;
	content: '';
	left: 50%;
	bottom: 0;
	margin-left: -60px;
	background: #006c61;
}
.Title-A h2{
	font-size:2em;
	line-height:1.2em;
	font-weight:500;
	margin-bottom: .5em;
}
.Title-A p{
	font-size: 1.28em;
	color: #666;
}

@media screen and (max-width:768px){
}
@media screen and (min-width:769px){
}
/* subtitle */
.SubTitle-A {
	font-size: 1.42em;
	font-weight: 500;
	color: #006c61;
	margin-bottom: 1em;
}

@media screen and (max-width:768px){
}
@media screen and (min-width:769px){
}


/* icon */


/* Note */
.NoteS { /* 12 */
	font-size:1.2rem;
	line-height:1.5em;
}
.Note1 { /* 16 */
	font-size:1.142em;
}
.Note2 { /* 18 */
	font-size:1.285em;
	line-height:1.5em;
}
.Note3 { /* 20 */
	font-size:1.42em;
	line-height:1.5em;
}
.Note4 { /* 22 */
	font-size:1.57em;
	line-height:1.5em;
}
.Note5 { /* 24 */
	font-size:1.714em;
	line-height:1.5em;
}

/* display */
.dis-b {
	display:block;
}
.dis-inl {
	display:inline-block;
}
.dis-n {
	display:none;
}

@media screen and (min-width:768px){
}
@media screen and (min-width:769px) and ( max-width:1023px) {
}
@media screen and (min-width:1024px){
}

/* ------------------------------------------------------------------------
    layout
------------------------------------------------------------------------  */
/* fit */
.fit{
	width: 100%;
}
.fit--fixed{
	max-width: 100%;
}
.is--hidden{
/*	display:none;*/
	visibility:hidden;
	position:fixed;
}
.is-fixed {
	position: fixed !important;
	top: 0;
	left:0;
	width: 100%;
	z-index:999;

	border-bottom:1px solid #cfcfcf;
}

.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}


/* ------------------------------------------------------------------------
    Padding / Margin - Box
------------------------------------------------------------------------  */
.CC-M0 { /* 16 */
	margin-top:1em;
	margin-bottom:1em;
}
.CC-M1 { /* 30 */
	margin-top:2.14em;
	margin-bottom:2.14em;
}
.CC-M2 { /* 40 */
	margin-top:2.85em;
	margin-bottom:2.85em;
}
.CC-M3 { /* 50 */
	margin-top:3.57em;
	margin-bottom:3.57em;
}
.CC-M4 { /* 60 */
	margin-top:4.285em;
	margin-bottom:4.285em;
}
.CC-MB0 { /* 16 */
	margin-bottom:1em;
}
.CC-MB1 { /* 30 */
	margin-bottom:2.14em;
}
.CC-MB2 { /* 40 */
	margin-bottom:2.85em;
}
.CC-MB3 { /* 50 */
	margin-bottom:3.57em;
}
.CC-MB4 { /* 60 */
	margin-bottom:4.285em;
}
.CC-MT1 { /* 16 */
	margin-top:1em;
}
.CC-MT1 { /* 30 */
	margin-top:2.14em;
}
.CC-MT2 { /* 40 */
	margin-top:2.85em;
}
.CC-MT3 { /* 50 */
	margin-top:3.57em;
}
.CC-MT4 { /* 60 */
	margin-top:4.285em;
}

.CC-P1 { /* 30 */
	padding-top:2.14em;
	padding-bottom:2.14em;
}
.CC-P2 { /* 40 */
	padding-top:2.85em;
	padding-bottom:2.85em;
}
.CC-P3 { /* 50 */
	padding-top:3.57em;
	padding-bottom:3.57em;
}
.CC-P4 { /* 60 */
	padding-top:4.285em;
	padding-bottom:4.285em;
}
.CC-PB1 { /* 30 */
	padding-bottom:2.14em;
}
.CC-PB2 { /* 40 */
	padding-bottom:2.85em;
}
.CC-PB3 { /* 50 */
	padding-bottom:3.57em;
}
.CC-PB4 { /* 60 */
	padding-bottom:4.285em;
}
@media screen and (min-width:769px){
}
@media screen and (max-width:768px){
}

/* Line */
.CC-Line {
	border-bottom:1px solid #ccc;
}



/* ------------------------------------------------------------------------
    FLEX
------------------------------------------------------------------------  */
.flex{
	display:flex;
}
.inline-flex{
	display: inline-flex;
}
.fx-wrap {
	flex-wrap: wrap;
}
.fx-row {
	flex-direction: row;
}
.fx-column{
	flex-direction: column;
}
/*
 content
*/
.fx-between {
	justify-content: space-between;
}
.fx-c-center {
	justify-content: center;
}
.fx-end {
	justify-content: flex-end;
}
.fx-around {
	justify-content: space-around;
}
.fx-acontents {
	align-content: stretch;
}
/*
 align
*/
.fx-center {
	align-items:center;

}
.fx-itemend {
	align-items:flex-end;

}


/* ------------------------------------------------------------------------
    container
------------------------------------------------------------------------  */
.container,
.r-container {
	width:100%;
	max-width: 			1240px;
	margin-left: 	auto;
	margin-right: 	auto;
	padding-left:20px;
	padding-right:20px;

	box-sizing:border-box;
}
.r-container {
	position: relative;
}


/* ------------------------------------------------------------------------
    table
------------------------------------------------------------------------  */
table {
	width:100%;
	border-top:1px solid #a0a0a0;
	border-right:1px solid #a0a0a0;
	border-collapse:separate;
	border-spacing:0;
	margin:0;
	padding:0;
}
table.b-none {
	border-top:none;
	border-left:none;
	border-right:none;
}
tr {
	margin:0;
	padding:0;
}
td {
	margin:0;
	padding:.5em 1em;
	word-wrap: break-word;
	word-break:break-all;
	border-bottom:1px solid #a0a0a0;
	border-left:1px solid #a0a0a0;
}
table.b-none td {
	padding:0;
}
.bt {
	border-top:1px solid #a0a0a0;
}
.bb {
	border-bottom:1px solid #a0a0a0;
}
.br {
	border-right:1px solid #a0a0a0;
}
.bl {
	border-left:1px solid #a0a0a0;
}
.b {
	background:#0290bf;
	color:#FFFFFF;
}
.bgray1 {
	background:#f2f2f2;
}
.bgray2 {
	background:#b4b4b4;
}
.vam {
	vertical-align:middle !important;
}
.vat {
	vertical-align:top !important;
}
.vab {
	vertical-align: bottom !important;
}




/* ------------------------------------------------------------------------
 	リストスタイル
------------------------------------------------------------------------  */
/* number */
ol{
	counter-reset:number 0;
	list-style:none;
	margin:.5em;
	padding: 0;
	padding-left:1.5em;
}
ol > li{
	position: relative;
	margin-bottom: .5em;
	margin-bottom: .5em;
	line-height: 1.5em;
}
ol li:before{
	counter-increment: number;
	content: counter(number)". ";
	position: absolute;
	top: 0;
	left: -1.5em;
	width: 3em;
	height: 1em;
}
ol > li > ol{
	counter-reset: number;
	margin-top: .5em;
	margin-bottom: .5em;
	margin-left: 1.5em;
}
ol > li > ol > li{
	position: relative;
	list-style: none;
}


/* ul ・ */
ul.disc li{
	position: relative;
	padding-left: 1.3em;
	margin-top: .5em;
	margin-bottom: .5em;
}
ul.disc li:before{
	position: absolute;
	left: 5px;
	top: .8em;
	content: '';
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #323232;
}
/* ------------------------------------------------------------------------
    iframe
------------------------------------------------------------------------  */
.iframe_set1 {
	width: 100%;
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
	height: 500px;
}
.iframe_set1 iframe{
	width: 100%;
	height: 100%;
	border-radius: 3px;
	border:1px solid #ccc;
}

/* ------------------------------------------------------------------------
    print
------------------------------------------------------------------------  */
@media print {
	body{width:1024px;}
	.noprint { display:none;}
	.Box {	opacity: 1;}
}

/* ------------------------------------------------------------------------
    switch
------------------------------------------------------------------------  */
.for--pc{}
.for--sp{}
@media screen and (max-width: 768px){
.for--pc{ display: none !important; }
}
@media screen and (min-width:769px){
.for--sp{ display: none !important; }
}