@charset "utf-8";


/*resetCSS*/
html{
font-size: 62.5%;
-webkit-text-size-adjust: 100%;
color:#1D1C1C;
background:#FFF;
}
body,div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
form,fieldset,input,textarea,
p,
th,td{
margin:0;
padding:0;
}
table{
border-collapse:collapse;
border-spacing:0;
}
fieldset,
img{ border:0; }
address,
caption,
em{
font-style:normal;
font-weight:normal;
}
ol,ul{ list-style:none; }
caption, th{ text-align:left; }
h1,h2,h3,h4,h5,h6{
font-size:100%;
font-weight:normal;
}
q:before,q:after{ content:''; }
abbr,acronym{
border:0;
font-variant:normal;
}
sup{ vertical-align:text-top; }
sub{ vertical-align:text-bottom; }
input,textarea,select{
font-family:inherit;
font-size:inherit;
font-weight:inherit;
*font-size:100%;
}
*{
margin:0;
padding:0;
}
strong,
th{ font-weight:bold;}

#content{ }
.section{
clear:both;
margin-bottom:30px;
}

body{
font-size:1.6rem;
font-family: "Noto Sans Japanese";
}

*, *:before, *:after{
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
-o-box-sizing:border-box;
-ms-box-sizing:border-box;
box-sizing:border-box;
}

h1{
font-size:6.2rem;
font-weight:bold;
margin-bottom:30px;
}
h2{
font-size:4.2rem;
font-weight:bold;
margin-bottom:1.5em;
}
h2 span{ }
h3{
font-size:24px;
font-weight:bold;
margin-bottom:15px;
}
h3 span{ }
h4{
font-size:95%;
font-weight:bold;
margin-bottom:15px;
}
h5{
font-size:90%;
font-weight:bold;
margin-bottom:10px;
}
p,ul,ol,dl{
font-size:16px;
margin-bottom:1.5em;
line-height:160%; }
.anchor a{ }

a{
text-decoration: none;
color: #00A0E6;
}
a:hover{
text-decoration:underline;
}
a:hover img{
opacity: 0.7;
transition: all .3s;
}

/*clear Fix*/
.clearFix:after{
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}
.clearFix{
display:inline-table;
min-height:1%;
}
* html .clearFix{
height:1%;
}
.clearFix{
display:
block;
}
/* フォント指定
=========================================================================================== */
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/NotoSansCJKjp-Medium.woff2') format('woff2'),
	     url('../fonts/NotoSansCJKjp-Medium.woff') format('woff'),
	     url('../fonts/NotoSansCJKjp-Medium.ttf')  format('truetype'),
         url('../fonts/NotoSansCJKjp-Medium.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/NotoSansCJKjp-Bold.woff2') format('woff2'),
	     url('../fonts/NotoSansCJKjp-Bold.woff') format('woff'),
	     url('../fonts/NotoSansCJKjp-Bold.ttf')  format('truetype'),
         url('../fonts/NotoSansCJKjp-Bold.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/NotoSansCJKjp-Black.woff2') format('woff2'),
	     url('../fonts/NotoSansCJKjp-Black.woff') format('woff'),
	     url('../fonts/NotoSansCJKjp-Black.ttf')  format('truetype'),
         url('../fonts/NotoSansCJKjp-Black.eot') format('embedded-opentype');
}
/*--------------------ここまで-----------------------------------*/
/* Header Setting
=========================================================================================== */
#headerSet{
	position:fixed;
	top:0;
	left:0;
	width: 100%;
	z-index:999;
	padding:0 0 0 4%;
	display: flex;
    justify-content: flex-end;
	align-items: center;
	transition: all .3s;
}
#headerSet #headerLogoSet{
	margin-right:auto;
}
#headerSet #headerLogoSet #headerLogo{
	margin-bottom: 0;
    position: relative;
    z-index: 9999;
}
#headerSet #headerLogoSet #headerLogo a{
    display: flex;
    align-items: center;
    color: #FFF;
	text-decoration:none;
    font-size: 24px;
	transition: all .3s;
}
#headerSet #headerLogoSet #headerLogo a img{
    margin-right: 0.5em;
}
#headerSet #headerLogoSet #headerLogo a:hover{
	opacity:0.7;
}



#headerSet #headerMenuSet{
    display: flex;
    align-items: center;
    padding: 0 3em 0 2em;
}
#headerSet #headerMenuSet .gnav ul{
	display: flex;
    align-items: center;
	justify-content: flex-end;
	font-size:16px;
    margin-bottom: 0;
}
#headerSet #headerMenuSet .gnav ul li{
	padding:1em 1.5em;
    display: flex;
    align-items: center;
    justify-content: center;
}
#headerSet #headerMenuSet .gnav ul li:last-child{
    padding-right: 0;
}
#headerSet #headerMenuSet .gnav ul li a{
	color:#FFF;
	text-decoration:none;
	position: relative;
	transition: all .3s;
}
#headerSet #headerMenuSet .gnav ul li a:hover{
	color:#00A0E6;
}

#headerSet #headerMenuSet .gnav ul li a:after {
	position: absolute;
	bottom: -0.5em;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #00A0E6;
	transform: scale(0, 1);
	transform-origin: center top;
	transition: transform .3s;
}
#headerSet #headerMenuSet .gnav ul li a:hover:after {
	transform-origin: center top;
	transform: scale(1, 1);
}


#headerSet #headerContactSet .headerContactBtnList{
	display: flex;
    margin-bottom: 0;
}
#headerSet #headerContactSet .headerContactBtnList li{
	display: flex;
	justify-content: center;
}
#headerSet #headerContactSet .headerContactBtnList li a{
	display: flex;
    align-items: center;
	justify-content: center;
	width:100%;
	text-align:center;
	padding:1.5em 2em;
}
#headerSet #headerContactSet .headerContactBtnList li.headerContact a{
	background: #00A0E6;
	text-decoration:none;
	color:#FFF;
	transition: all .3s;
}
#headerSet #headerContactSet .headerContactBtnList li.headerContact a:hover{
	background:#036894;
}
#headerSet #headerContactSet .headerContactBtnList li.headerContact a:before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url(../images/icon_mail.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 1em;
}


.current #headerSet{
	background: rgba(0, 0, 0, 0.6);
}

/* ALL Setting
=========================================================================================== */
/***メインビジュアル***/
#subContentsHead{
	background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
	margin-bottom:1em;
    position: relative;
    background-image:url("../images/mainvisual.jpg");
}


#subContentsHead .mainVisual{
	height: 54vh;
	position:relative;
	min-height: 380px;
	max-width: 1100px;
    margin: 0 auto;
}
#subContentsHead .mainVisual .mainTitle{
	font-size:9.6rem;
	white-space: nowrap;
	font-family: "Montserrat", sans-serif;
    font-weight: 400;
	margin-bottom:0;
	text-shadow:4px 4px 6px rgba(0,0,0,0.8);
	color:#00A0E6;
	text-transform: uppercase;
	position: absolute;
    left:0;
    top: 50%;
    transform:translateY(-50%);
}
#subContentsHead .mainVisual .mainTitle span{
	font-size:3.2rem;
	display:block;
    font-weight: 600;
    color: #FFF;
    font-family: "Noto Sans Japanese";
}
/**パンくず**/
#path{
	max-width:1100px;
	margin:0 auto;
	display: flex;
    align-items: center;
	justify-content: flex-start;
	font-size:14px;
	margin-bottom: 1em;
}
#path li a{
	color:#00A0E6;
}
#path li:after{
	content:"/";
    color: #036894;
	padding:0 1em;
}
#path li:last-child:after{
	content:none;
}



article section{
	padding:60px 0;
	width:1100px;
	margin:0 auto;
}
main article:last-child section{
    padding-bottom: 100px;
}
.ttlStyle1{
    font-size: 4.6rem;
    font-weight: 900;
}
.ttlStyle1 span{
    color: #00A0E6;
    display: block;
    font-size: 18px;
}

.ttlStyle2{
    margin-bottom: 0.5em;
}
.ttlStyle2 span{
    font-size: 3.4rem;
    color: #036894;
    border-left: 10px solid #036894;
    padding: 0.2em 0 0.2em 0.5em;  
}

.ttlStyle3{
    font-size: 20px;
    font-weight: 900;
    color: #00A0E6;
}

.ttlStyle4{
    color: #036894;
    font-size: 3.8rem;
    font-weight: 900;
}
.bgPatternA{
    background: #036894;
    color: #FFF;
}
.rightAdjust{
    text-align: right;
}
.centerAdjust{
    text-align: center;
}
.imgOnlyStyle img{
    max-width: 100%;
}
.anchor{
    display: block;
    padding-top: 100px;
    margin-top: -100px;
	pointer-events: none;
}

.listStyle1{
    list-style: disc;
    padding-left: 1em;
    text-align: left;
}
.listStyle1 li{
    margin-bottom: 0.5em;
}
.numberList {
    list-style: none;
    counter-reset: number;
    text-align: left;
}
.numberList li {
    position: relative;
    margin-bottom: 1em;
    display: flex;
}
.numberList li:before {
    counter-increment: number;
    content: counter(number);
    width: 30px;
    height: 30px;
    background: #00A0E6;
    display: inline-block;
    color: #FFF;
    border-radius: 50%;
    font-size: 16px;
    text-align: center;
    line-height: 30px;
    margin-right: 10px;
}
.numberList li span{
    display: inline-block;
    width: calc(100% - 40px);
    
}
.alignLeftContentsCenter{
    text-align: center;
}
.alignLeftContentsCenter ul,
.alignLeftContentsCenter ol{
    display: inline-block;
}
.btnStyle1 a{
	font-size:16px;
	text-decoration:none;
	background:#00A0E6;
	display:inline-block;
	padding:1em 2em;
	color:#FFF;
	min-width: 240px;
    border-radius: 10px;
	text-align: center;
	transition: all .3s;
	position:relative;
}
.btnStyle1 a:before {
    content: "";
    display: inline-block;
    background-image: url(../images/icon_arrow.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 14px;
    height: 14px;
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
}
.btnStyle1 a:hover{
	background: #036894;
}
.halfBtnList{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0;
}
.halfBtnList li{
    width: 48%;
    margin-left: 4%;
}
.halfBtnList li:nth-child(2n+1){
	margin-left:0;
}
.halfBtnList li a{
    background: #00A0E6;
    color: #FFF;
    display: block;
    text-align: center;
    border-radius: 10px;
    padding: 2em 1em;
    text-decoration: none;
    position: relative;
    transition: all .3s;
}
.halfBtnList li a:hover{
    background: #036894;
}
.halfBtnList li a:before {
    content: "";
    display: inline-block;
    background-image: url(../images/icon_arrow.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    transition: all .3s;
}
.tableStyle1{
    width: 100%;
    font-size:16px;
	margin-bottom:1.5em;
}
.tableStyle1 th,
.tableStyle1 td{
	padding:1.5em;
	border:1px solid #B5B5B5;
}
.tableStyle1 th{
	background:#036894;
	color:#FFF;
}
.tableStyle1 .imgOnlyStyle{
    margin-bottom: 0;
}

/* about Setting
=========================================================================================== */
.aboutIntroContents{
    position: relative;
}
.aboutIntroContents:before{
	content:"";
	display:block;
	width:100%;
    /*min-height: 500px;*/
	height:80%;
	position:absolute;
	left:0;
	top:0;
	background-image: url(../images/about/aboutintro_bg.jpg);
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
	z-index:-1;
}
.aboutIntroContents section{
    padding: 340px 0 80px;
}
.aboutIntroContents .aboutIntroSet{
    display: flex;
    padding: 3em 4%;
    background: #FFF;
}
.aboutIntroContents .aboutIntroSet dt{
    width: 20%;
    line-height: normal;
}
.aboutIntroContents .aboutIntroSet dd{
    width: calc(100% - 24%);
    margin-left: 4%;
}



.bgPatternA .ttlStyle1 span{
    color: #FFF;
}


.overviewTableSet{
    text-align: center;
}
.overviewTable{
    display: inline-block;
	font-size: 16px;
    margin: 0 auto;
    text-align: left;
    margin-bottom: 2em;
}
.overviewTable tr:first-child{
    border-top: 1px solid #8CBDD2;
}
.overviewTable tr{
    border-bottom: 1px solid #8CBDD2;
}
.overviewTable th{
	padding:1.5em 1em;
    vertical-align: top;
}
.overviewTable td{
	padding:1.5em 1em;
}



/* activities Setting
=========================================================================================== */
.activitiesList li{
	margin-bottom:4em;
}
.activitiesList li:nth-child(odd) .imgOnlyStyle{
	width:94%;
	margin-bottom:0;
	font-size: 0;
}
.activitiesList li img{
	width:100%;
}
.activitiesList li:nth-child(odd) .textBox{
	background:#FFF;
	display:block;
	padding:2em 3em 2em 0;
	width:70%;
	margin-top:-7em;
}
.activitiesList li .textBox h3{
	font-size:2.4rem;
}
.activitiesList li .textBox p{
	margin-bottom:0;
}


.activitiesList li:nth-child(even) .imgOnlyStyle{
	width:94%;
	margin:0 0 0 auto;
}
.activitiesList li:nth-child(even) .textBox{
	background:#FFF;
	display:block;
	padding:2em 0 2em 3em;
	width:70%;
	margin: -7em 0 0 auto;
}
.activitiesList li:last-child{
    margin-bottom: 0;
}




/* news Setting
=========================================================================================== */
.newsList li{
    border-bottom: 1px solid #B8B8B8;
}
.newsList li:first-child{
    border-top: 1px solid #B8B8B8;
}
.newsList li a{
    display: flex;
    align-items: center;
    padding: 2em 1em;
    color: inherit;
    text-decoration: none;
    transition: all .3s;
}
.newsList li a:hover{
    background: #f6fbfd;
}
.newsList li a .data{
	font-size:14px;
	display:inline-block;
	margin-bottom:0.2em;
    color: #036894;
    border: 1px solid #036894;
    padding: 0 1em;
    line-height: 1.4;
}
.newsList li a p{
    margin-bottom: 0;
    margin-left: 1em;
}
/* report Setting
=========================================================================================== */

.reportList{
	display: flex;
	justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 2em;
}
.reportList li{
	width: 30%;
    margin-left: 5%;
    margin-bottom: 2em;
}
.reportList li:nth-child(3n+1){
	margin-left:0;
}
.reportList li a{
	display:block;
	color: #514333;
	text-decoration:none;
	transition: all .3s;
}
.reportList li a:hover{
	opacity: 0.7;
}
.reportList li a:hover img{
	opacity: 1;
}
.reportList li a .reportImg{
	height:230px;
    overflow: hidden;
	font-size:0;
}
.reportList li a img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.reportList li .reportText{
	padding:1em 0;
}
.reportList li .reportText .data{
	font-size:14px;
	display:inline-block;
	margin-bottom:0.2em;
    color: #036894;
    border: 1px solid #036894;
    padding: 0 1em;
    line-height: 1.4;
}
.reportList li .reportText p{
	font-size:16px;
    margin-bottom: 0;
}


/* single Setting
=========================================================================================== */
.singleDetailList{
	display: flex;
    align-items: center;
    justify-content: flex-start;
	margin-bottom:0;
}
.singleDetailList .data{
	font-size:14px;
    display:inline-block;
	margin-bottom:0.2em;
    color: #036894;
    border: 1px solid #036894;
    padding: 0 1em;
    line-height: 1.4;
}
#singlePage .singleTtl {
    font-size: 2.8rem;
    padding-bottom: 0.5em;
    border-bottom: 2px solid #036894;
}


/***ページネーション***/
.pager{
	padding:0 0 40px;
}
.pager  ul.pagination {
	display: flex;
    align-items: center;
    justify-content: center;
}

.pager .pagination li {
	font-size:14px;
	margin: 0 10px;
	padding: 0;
	display: inline-block;
	width: 60px;
	height: 60px;
}
.pager .pagination li.back{
	width: 140px;
}
.pager .pagination li.back a{
	background: #00A0E6;
	color:#FFF;
}
.pager .pagination li.back a:hover{
	background:#036894;
}
.pager .pagination li.next{
	width: 140px;
	position:relative;
}
.pager .pagination li.next a{
	background: #00A0E6;
	color: #FFF;
}
.pager .pagination li.next a:hover{
	background:#036894;
	color: #FFF;
}
.pager .pagination li a{
	width: 100%;
	height: 100%;
	color: #FFF;
	background: #00A0E6;
	text-decoration: none;
	display: flex;
    align-items: center;
    justify-content: center;
}

.pager .pagination li a:hover{
	background: #036894;
	transition: all .3s;
}
.pager .pagination li.active a{
	color: #FFF;
	background: #CCCCCC;
	transition: all .3s;
}
/***singleページネーション***/
.page-nav{
	margin:4em 0;
}
.pageColumnSet:after{
	content: "";
    display: block;
    clear: both;
}
.pageColumnSet a{
	color: #FFF;
	font-size:16px;
	background:#00A0E6;
	padding:1em 3em;
	text-decoration:none;
	display: block;
}
.pageColumnSet a:hover{
	color: #FFF;
	background: #036894;
	transition: all .3s;
}
.pageColumnSet .prev-link{
	float:left;
}
.pageColumnSet .next-link{
	float:right;
}


/* trouble Setting
=========================================================================================== */
.troubleColumnSet{
    display: flex;
    margin-bottom: 4em;
}
.troubleColumnSet .troubleColumnImg{
    width: 40%;
}
.troubleColumnSet .troubleColumnText{
    width: 56%;
    margin-left: 4%;
}

.troubleBox{
    border: 2px solid #036894;
    padding: 2em 4%;
}
.troubleBox h3{
    font-size: 20px;
}
.troubleBox dl{
    display: flex;
    align-items: center;
}
.troubleBox dl dt{
    margin-right: 1em;
}
.troubleBox dl dt a{
	font-size:3.8rem;
	color:#000;
	line-height: 160%;
	text-decoration:none;
    margin-bottom: 0.2em;
    display: inline-block;
}
.troubleBox dl dt a:hover{
	opacity: 0.7;
	transition: all .3s;
}
.troubleBox dl dt a:before {
    content: "";
    display: inline-block;
    width: 42px;
    height: 42px;
    background-image: url(../images/icon_tel.svg);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 15px;
    filter: invert(57%) sepia(63%) saturate(4528%) hue-rotate(167deg) brightness(94%) contrast(104%);
}
.troubleBox dl dt a strong{
	display:inline-block;
	vertical-align:middle;
}

.troubleBox dl dd span{
    display:inline-block;
	margin-bottom:0.2em;
    color: #00A0E6;
    border: 1px solid #00A0E6;
    padding: 0 1em;
    line-height: 1.4;
    margin-right: 1em;
}

/* meterbox Setting
=========================================================================================== */
.meterboxAddition{
    background: #EEEEEE;
    padding: 2em 4%;
}
.meterboxAddition dl{
    display: flex;
    align-items: center;
    margin-bottom: 0;
}
.meterboxAddition dl dt .imgOnlyStyle{
    margin-bottom: 0;
}
.meterboxAddition dl dd{
    font-size: 20px;
    margin-left: 2em;
}
/* contact Setting
=========================================================================================== */
.telBox{
    text-align: center;
}
.telBox a{
	font-size:4.2rem;
	color:#000;
	line-height: 160%;
	text-decoration:none;
    margin-bottom: 0.2em;
    display: inline-block;
}
.telBox a:hover{
	opacity: 0.7;
	transition: all .3s;
}
.telBox a:before {
    content: "";
    display: inline-block;
    width: 42px;
    height: 42px;
    background-image: url(../images/icon_tel.svg);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 15px;
    filter: invert(57%) sepia(63%) saturate(4528%) hue-rotate(167deg) brightness(94%) contrast(104%);
}
.telBox a strong{
	display:inline-block;
	vertical-align:middle;
}


.contactTable1{
	width:100%;
	margin-bottom:3em;
}
.contactTable1 th,
.contactTable1 td{
	padding:1em 0;
}
.contactTable1 input[type="text"],
.contactTable1 input[type="email"],
.contactTable1 input[type="tel"],
.contactTable1 input[type="url"],
.contactTable1 select,
.contactTable1 textarea{
	width: 100%;
    padding:1em;
	border:2px solid #00A0E6;
	border-radius: 10px;
}
.contactTable1 .mwform-tel-field input[type="text"]{
	width:20%;
}
.contactTable1 select{
	height:4em;
}
.contactTable1 .required{
	font-size:14px;
	font-weight:normal;
	background:#00A0E6;
	margin-left:0.5em;
	color:#FFF;
	display:inline-block;
	padding:0 0.5em;
	border-radius: 4px;
}

input[type="submit"],
input[type="button"] {
  -webkit-appearance: none;
}



.privacyBox{
    background:#F7F7F7;
    padding: 2em 4%;
    margin-bottom: 3em;
	height: 170px;
    overflow: auto;
}
.privacyBox h3{
    font-size: 20px;
}
.privacyBox p{
    margin-bottom: 2em;
}


/***送信ボタン****/
.formBtnSet{
	margin-top:2em;
}
.formBtn1{
	display: flex;
    align-items: center;
    justify-content: center;
}
.formBtn1 li{
	margin-left:2%;
	margin-right:2%;
}
.formBtn1 input{
	min-width:320px;
	display:block;
	font-size:16px;
	padding:2em 2.5em;
	color: #fff;
    background: #00A0E6;
	border-radius:10px;
	border:none;
}
.formBtn1 input[type="submit"]:hover{
	background: #036894;
	cursor : pointer;
	transition: all .3s;
}



/*.contactColumnSet{
    display: flex;
}
.contactColumnSet .contactColumn2{
    width: 48%;
    margin-left: 4%;
    text-align: center;
    border: 2px solid #2CBB99;
    border-radius: 40px;
    padding: 2em 4%;
}
.contactColumnSet .contactColumn2:first-child{
    margin-left: 0;
}
.contactColumnSet .contactColumn2 h3{
    background: #2CBB99;
    padding: 0.5em 2em;
    font-size: 20px;
    color: #FFF;
    border-radius: 3em;
    margin-bottom: 1.5em;
}
.contactColumnSet .contactColumn2 .tel{
    font-size: 2.8rem;
    display: inline-block;
    margin-bottom: 1em;
    color: #333;
    font-weight: bold;
    transition: all .3s;
}
.contactColumnSet .contactColumn2 .tel span{
    display: flex;
    align-items: center;
    justify-content: center;
}
.contactColumnSet .contactColumn2 .tel span:before{
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 24px;
    height: 24px;
    margin-right: 0.5em;
    background-image: url(../images/icon_tel.svg);
}
.contactColumnSet .contactColumn2 p{
    margin-bottom: 0;
}


.contactTable1{
	font-size:16px;
	width:100%;
	margin-bottom:3em;
}
.contactTable1 th,
.contactTable1 td{
	padding:1em 0;
}
.contactTable1 input[type="text"],
.contactTable1 input[type="email"],
.contactTable1 select,
.contactTable1 textarea{
	width: 100%;
    padding:1em;
	border:2px solid #2CBB99;
	border-radius: 10px;
}
.contactTable1 .mwform-tel-field input[type="text"]{
	width:20%;
}
.contactTable1 select{
	height:4em;
}
.contactTable1 .required{
	font-size:14px;
	font-weight:normal;
	background:#2CBB99;
	margin-left:0.5em;
	color:#FFF;
	display:inline-block;
	padding:0 0.5em;
	border-radius: 4px;
}
input[type="submit"],
input[type="button"] {
  -webkit-appearance: none;
}*/





/*
.formTable{
    font-size: 16px;
	width:100%;
	margin-bottom:1em;
}
.formTable th,
.formTable td{
	padding:1em 0;
}
.formTable input[type="text"],
.formTable input[type="tel"],
.formTable input[type="email"],
.formTable select,
.formTable textarea{
	width: 100%;
    padding:1em;
	border:2px solid #007998;
	border-radius: 10px;
}
.formTable select{
	height:4em;
}
.formTable input.whalf{
	width:auto;
	margin-right:1em;
}
.formTable .required{
    color: #C50303;
}
input[type="submit"],
input[type="button"] {
  -webkit-appearance: none;
}
*/
/***送信ボタン****/
/*.formBtn1{
	text-align:center;
}
.formBtn1 #submit_button{
	background: #007998;
	color:#FFF;
	font-size:18px;
	font-weight:bold;
	padding:1.5em 4em;
	border: none;
    cursor: pointer;
}
.formBtn1 #submit_button:hover{
	opacity: 0.7;
	transition: all .3s;
}*/
/***確認・完了画面****/
/*.checkFormBtnSet ul{
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
	margin:2em 0;
}
.checkFormBtnSet ul li{
	margin:0 1em;
}
.checkFormBtnSet ul .checkFormBtn{
	background:#007998;
	color:#FFF;
	font-size:18px;
	font-weight:bold;
	padding:1.5em 4em;
	border: none;
    cursor: pointer;
	transition: all .3s;
}
.checkFormBtnSet ul .checkFormBtn:hover{
	opacity: 0.7;
}
*/
/* =========================================================
	index Setting
========================================================= */
/***オープニングアニメーション***/
.start {
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 9000;
}
.start p {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 9999;
	width: 472px;
}
.wrap_all path {
    fill: #036894;
    stroke: #036894;
    stroke-width: 1px;
    stroke-dasharray: 2000px;
    stroke-dashoffset: 0;
    animation: svg 3s ease-in 0s forwards;
  }

  @keyframes svg {
    0% {
      stroke-dashoffset: 2000;
      fill: transparent;
    }
    20% {
      stroke-dashoffset: 2000;
      fill: transparent;
    }
    50% {
      fill: transparent;
    }
    100% {
      stroke-dashoffset: 0;
      fill: #036894;
    }
  }


/***メインビジュアル***/
#indexContentsHead{
	position:relative;
    overflow: hidden;
}
#indexContentsHead #mainVisual{
	position: relative;
    width: 100vw;
    height: 100vh;
}
#indexContentsHead #mainVisual video{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
}

#indexContentsHead #mainVisual:after{
    content: "";
    background-image: url("../images/index/hamon.svg");
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translateY(30%);
    display: block;
    width: 50vw;
    height: 50vw;
    background-repeat: no-repeat;
    pointer-events: none;
    background-position: center ;
    opacity: 0.6;
}


#indexContentsHead .mainCatch{
    width:100%;
	margin-bottom:0;
    max-width: 1100px;
	position:absolute;
	top:50%;
	left:50%;
    transform:translateY(-50%) translateX(-50%);
    color: #FFF;
    text-shadow:4px 4px 6px rgba(0,0,0,0.8);
	font-size: 6.0rem;
    font-weight: bold;
    letter-spacing: 0.2em;
}
#indexContentsHead .mainCatch span{
    font-size: 2.0rem;
    display: block;
    letter-spacing: normal;
    line-height: 1.8;
}




/***TOPお知らせ***/
.topNewsArea {
    position: relative;
    z-index:1;
}
.topNewsArea .inner{
    position: absolute;
    top: 0;
    left: 50%;
    width: 1100px;
    margin: 0 auto;
    transform: translateY(-50%) translateX(-50%);
}
.topNewsArea .inner .topNewsSet{
    display: flex;
    justify-content: space-between;
    background: #00A0E6;
}
.topNewsArea .inner .topNewsSet h2{
    font-size: 24px;
    color: #FFF;
    margin-bottom: 0;
    padding: 0 40px;
    white-space: nowrap;
    display: flex;
    align-items: center;
}
.topNewsArea .inner .topNewsSet .topNewsList{
    margin-bottom: 0;
    margin-right: auto;
    display: flex;
    align-items: center;
}
.topNewsArea .inner .topNewsSet .topNewsList li{
    padding: 1em 1em 1em 0;
}
.topNewsArea .inner .topNewsSet .topNewsList li a{
    color: #FFF;
    display: flex;
    align-items: center;
}
.topNewsArea .inner .topNewsSet .topNewsList li a span{
    margin-right: 2em;
}
.topNewsArea .inner .topNewsSet .newsBtn a{
    background: #036894;
    color: #FFF;
    padding: 2em 3em 2em 1em;
    white-space: nowrap;
    height: 100%;
    font-size: 14px;
    display: flex;
    align-items: center;
    position: relative;
    text-decoration: none;
    transition: all .3s;
}
.topNewsArea .inner .topNewsSet .newsBtn a:hover{
    background: #074a67;
}
.topNewsArea .inner .topNewsSet .newsBtn a:before {
    content: "";
    display: inline-block;
    background-image: url(../images/icon_arrow.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 14px;
    height: 14px;
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
}




/***contents01***/
.contents01 {
	position:relative;
}
.contents01:before{
	content:"";
	display:block;
	width:70%;
	height:64%;
	position:absolute;
	left:0;
	top:0;
	background-color: #F4F4F4;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
	z-index:-1;
}
.contents01 section{
    padding-top: 120px;
}
.contents01 .aboutColumnSet{
	display: flex;
    align-items: center;
    justify-content: center;
}
.contents01 .aboutColumnSet .columnImg{
	width:40%;
    margin-left:6%;
}
.contents01 .aboutColumnSet .columnImg img{
	max-width:100%;
}
.contents01 .aboutColumnSet .columnText{
	width:54%;
}
.contents01 .aboutColumnSet .columnText h2{
    font-size: 3.4rem;
    margin-bottom: 1em;
}
.contents01 .aboutColumnSet .columnText h2 span{
    font-size: 1.8rem;
    color: #036894;
    padding: 0 1em;
    border-radius: 3em;
    display: inline-block;
    border: 2px solid #036894;
    font-weight: normal;
    margin-bottom: 1em;
}
.contents01 .aboutColumnSet .columnText h2 strong{
    display: block;
    font-weight: 900;
}
.contents01 .aboutColumnSet .columnText p{
    line-height: 200%;
}

/***contents02***/
.contents02{
    overflow: hidden;
    /*position: relative;*/
    background-image: url("../images/index/initiatives_bg.svg");
    background-repeat: no-repeat;
    background-size: 50vw 50vw;
}
/*.contents02:before{
    content: "";
    background-image: url("../images/index/hamon.svg");
    position: absolute;
    top:-20%;
    left: 0;
    display: block;
    width: 50vw;
    height: 50vw;
    background-repeat: no-repeat;
    pointer-events: none;
    background-position: center ;
    opacity: 0.3;
    transform: scale(-1, 1);
    z-index: -1;
}*/
.contents02 .topInitiativesArea{
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
}

.contents02 .topInitiativesArea .slick-list{
    overflow: visible;
}
.contents02 .topInitiativesArea .topInitiativesList{
    margin-bottom: 0;
    padding-bottom: 2em;
}
.contents02 .topInitiativesArea .topInitiativesList li {
    font-size: 20px;
    position: relative;
}
.contents02 .topInitiativesArea .topInitiativesList li a{
    color: inherit;
    text-decoration: none;
}
.contents02 .topInitiativesArea .topInitiativesList li a .imgOnlyStyle{
    margin-bottom: 1em;
}
.contents02 .topInitiativesArea .topInitiativesList .slick-list {
  margin: 0 -15px;
}
.contents02 .topInitiativesArea .topInitiativesList .slick-slide {
  margin: 0 15px;
}
.contents02 .topInitiativesArea .slide-arrow{
    width: 50px;
    position: absolute;
    bottom: -50px;
    cursor: pointer;
    background: #FFF;
    border-radius: 50%;
    transition: all .3s;
}
.contents02 .topInitiativesArea .slide-arrow:hover{
    background: #AAE4FE;
}

.contents02 .topInitiativesArea .slide-arrow.prev-arrow{
    right: 60px;
}
.contents02 .topInitiativesArea .slide-arrow.next-arrow{
    right: 0;
}

/***contents03***/
.contents03{
    background: #00A0E6;
    position: relative;
}
.contents03 .bgTextSet{
    display: flex;
    overflow: hidden;
    width: 100%;
    white-space: nowrap;
    position: absolute;
    bottom: 0;
}
.contents03 .bgTextSet .bgTextList{
    display: flex;
    animation: scroll 50s linear infinite;
    margin-bottom: 0;
}
@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}
.contents03 .bgTextSet .bgTextList li{
    opacity: 0.16;
    color: #FFF;
    font-weight: 900;
    font-size: 240px;
    padding: 0 0.5em;
    flex: 0 0 auto;
    line-height: 180px;
    white-space: nowrap;
}

.contents03 .panelLinkList{
    display: flex;
    flex-wrap: wrap;
}
.contents03 .panelLinkList li{
    width: 48%;
    margin-left: 4%;
    display: flex;
}
.contents03 .panelLinkList li:first-child{
    margin-left: 0;
}
.contents03 .panelLinkList li a{
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: center;
    flex-flow: column;
    width: 100%;
    font-size: 2.8rem;
    color: #FFF;
    font-weight: 900;
    padding: 3em 2em;
    min-height: 300px;
    text-decoration: none;
    z-index: 0;
}
.contents03 .panelLinkList li a:before {
    content: "";
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: transform .6s ease;
    width: 100%;
    height: 100%;
    position: absolute;
    top:0;
    left: 0;
    z-index: -1;
}
.contents03 .panelLinkList li.report a:before{
    background-image: url("../images/index/panel_bg01.jpg");
}
.contents03 .panelLinkList li.trouble a:before{
    background-image: url("../images/index/panel_bg02.jpg");
}
.contents03 .panelLinkList li a:hover:before {
    transform: scale(1.1);
}
.contents03 .panelLinkList li a span{
    font-size: 16px;
    display: block;
}
.contents03 .panelLinkList li a:after{
    content: "";
    background-image: url("../images/icon_arrow_circle.svg");
	background-size: cover;
	background-repeat: no-repeat;
	display: inline-block;
	width:40px;
	height:40px;
	position:absolute;
    top: 50%;
	right:4%;
    transform: translateY(-50%);
    border-radius: 50%;
    transition: all .3s;
}
.contents03 .panelLinkList li a:hover:after{
    background-color: rgba(170,228,254,0.5);
    
}



/***contents04***/
.contents04{
    position: relative;
    overflow: hidden;
}
.contents04 section{
    height: 380px;
    display: flex;
    align-items: center;
}
.contents04 section .inner{
    
}
.contents04 .ttlStyle1{
    margin-bottom: 0.5em;
    color: #FFF;
}
.contents04 .ttlStyle1 span{
    color: #FFF;
}
.contents04 .btnStyle1 a{
    background-color: inherit;
    border:2px solid #FFF;
}
.contents04 .btnStyle1 a:hover{
    background: #00A0E6;
}
.contents04 .bgImgScrollSet{
    display: flex;
    overflow: hidden;
    width: 100%;
    white-space: nowrap;
    position: absolute;
    top: 0;
    z-index: -1;
}
.contents04 .bgImgScrollSet .bgImgScrollList{
    display: flex;
    animation: scrollreturn 50s linear infinite;
    margin-bottom: 0;
}
@keyframes scrollreturn {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(0);
    }
}
.contents04 .bgImgScrollSet .bgImgScrollList li{
    color: #FFF;
    font-weight: 900;
    font-size: 240px;
    flex: 0 0 auto;
    line-height: 180px;
}
/***contents05***/
.contents05 .companyLogoList{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 0;
}
.contents05 .companyLogoList li{
    width: calc(100% / 6);
    padding: 0 1%;
    margin-bottom: 1em;
}
.contents05 .companyLogoList li a img{
    width: 100%;
}


/***contents06***/
.contents06 h2{
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    color: #00A0E6;
    text-align: center;
}

/* footer Setting
=========================================================================================== */
footer #footerContact{
	background-image: url(../images/footer_bg.jpg);
    background-size: cover;
    background-position:  center bottom;
	color:#FFF;
    background-attachment: fixed;
}

footer #footerContact .inner{
	padding: 100px 0;
    width: 1100px;
    margin: 0 auto;
    position: relative;
}
footer #footerContact .inner .footerContactSet{
    width: 80%;
    margin: 0 auto;
    
}
footer #footerContact .inner dl{
    display: flex;
    align-items: center;   
}
footer #footerContact .inner dl dt .ttlStyle1{
	margin-bottom:0;
    line-height: normal;
}
footer #footerContact .inner dl dt .ttlStyle1 span{
	color:#FFF;
}
footer #footerContact .inner dl dd{
    margin-left: 2em;
}
footer #footerContact .inner dl dd{
	font-size:20px;
    line-height: normal;
}
footer #footerContactBtn{
	display: flex;
	justify-content:center;
    flex-wrap: wrap;
	margin-bottom:0;
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 80%;
    transform: translateY(50%) translateX(-50%);
}
footer #footerContactBtn li{
	width:48%;
	display: flex;
	justify-content: center;
	text-decoration:none;
	color:#FFF;
	transition: all .3s;
}
footer #footerContactBtn li:first-child{
	margin-left:0;
}
footer #footerContactBtn li a{
	background: #036894;
	color:#FFF;
	padding:1em 4%;
    text-align: center;
	text-decoration:none;
	width:100%;
	transition: all .3s;
}
footer #footerContactBtn li a img{
    margin-bottom: 0.5em;
}
footer #footerContactBtn li a:hover{
	background:#0B4B67;
}

footer #footerContactBtn li.tel a span{
	font-size:2.4rem;
    display: block;
}
footer #footerContactBtn li.tel a em{
	font-size:14px;
	display:block;
}
footer #footerContactBtn li.mail{
	font-size:2.0rem;
    margin-left: 4%;
}
footer #footerContactBtn li.mail span{
	display: block;
}


footer #footerArea{
	background:#E5E5E5;
	padding:100px 0 0;
	color:#036894;
}
footer #footerArea a{
	color:#036894;
}
footer #footerArea section{
	width:1100px;
	padding:60px 0;
	margin:0 auto;
}
footer .footerColumnSet{
	display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
footer .footerColumnSet .columnL{
	width:66%;
}
footer .footerColumnSet .columnL #footerLogo{
	margin-bottom:1.5em;
}
footer .footerColumnSet .columnL #footerLogo a{
    display: inline-block;
	text-decoration:none;
	transition: all .3s;
}
footer .footerColumnSet .columnL #footerLogo a:hover{
	opacity:0.7;
}
footer .footerColumnSet .columnL #footerLogo a .inner{
	font-weight:bold;
	text-decoration:none;
	transition: all .3s;
    display: flex;
    align-items: center;
    font-size: 16px;
}
footer .footerColumnSet .columnL #footerLogo a span{
    margin-left: 1em;
}
footer .footerColumnSet .columnL #footerLogo a strong{
    display: block;
    font-size:2.4rem;
}
footer .footerColumnSet .columnR{
	width:30%;
	margin-left:4%;
}
footer .footerColumnSet .columnR .footerNav ul{
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
footer .footerColumnSet .columnR .footerNav ul li{
    width: 48%;
    margin-left: 4%;
    margin-bottom: 1em;
}
footer .footerColumnSet .columnR .footerNav ul li:nth-child(2n+1){
    margin-left: 0;
}
footer .footerColumnSet .columnR .footerNav ul li a{
	text-decoration:none;
	transition: all .3s;
}
footer .footerColumnSet .columnR .footerNav ul li a:hover{
	opacity:0.7;
}
footer #copy{
	background:#036894;
	font-size:14px;
	padding:1em 0;
	text-align:center;
	color:#FFF;
	margin-bottom:0;
}
/* After Setting
=========================================================================================== */
.mt0{margin-top:0;}
.mt20{margin-top:20px;}
.ml0{ margin-left:0;}
.mr2{ margin-right:2em;}
.mb0{margin-bottom:0;}
.mb20{margin-bottom:20px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}
.mb100{margin-bottom:100px;}
.mb2{margin-bottom:2em;}
.mb3{margin-bottom:3em;}
.mb6{margin-bottom:6em;}
.pb0{ padding-bottom:0;}
.pb20{ padding-bottom:20px;}
.pr20{ padding-right:20px;}
.vat{ vertical-align:top;}
.vam{ vertical-align:middle;}