/* base.css */
/*// <uniquifier>: Use a unique and descriptive class name
// <weight>: Use a value from 100 to 900

.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}*/

body {
  margin:0;
  padding:0;
  }

h1,h2,h3,h4,h5,h6,
div,p,pre,ul,li,ol,dl,dt,dd,
address,form,blockquote {
  margin:0;
  padding:0;
  }

p {
  }

li {
  list-style:none;
  }
	
dl,dt,dd {
  }
	
table,tr,td,th {
  }

input, textarea {
  }

img {
  border:none;
  }
  
  
  
/* CSS Document */
html,
body {
    font-family: "ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",Osaka,"メイリオ","Meiryo",verdana,Sans-Serif;
    /*font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",Osaka,"メイリオ","Meiryo",verdana,sans-serif;*/
    font-weight: normal;
	line-height: 2;
	margin: 0px;
	padding: 0px;
  	-webkit-text-size-adjust: 100%;
    color: #555;
	background: #F4F4F4;
    box-sizing: content-box;
    /*overflow-x: hidden;*/
    height: 100%;
}
html{
	/*font-size: 62.5%;*/
}body {
	/*font-size: 1.6rem;*/
    font-size:18px;
    font-weight: bold;
}
@media print{
html,
body {
    width: 1200px;
}
}

@media screen and (max-width: 860px) {
html,
body {
    font-size:15px;
	/*font-size: 1em;*/
}
	
}


.clear {
    clear: both;
}
.clearfix {
    zoom: 100%;
}
.clearfix:after {
    content: "";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}
a:link {
    color: #333;
    text-decoration: none;
}
a:visited {    
    color: #333;
}
a:hover {
}
a:active {
}

img {
    vertical-align: middle;
}
a { /* FireFox リンク選択時の点線を消す　*/
    overflow: hidden;
    outline: none;
}







  
/* page-top */

.page-top
{
	margin: 0 ;
	padding: 0 ;
}
 
.page-top p
{
	margin: 0 0 0 0 ;
	padding: 0 ;

	position: fixed ;
	right: 10px ;
	bottom: 10px ;
	z-index:50;
}
 
a.move-page-top
{
	display: block ;
	background: #333;
	width: 40px ;
	height: 40px ;

	color: #fff ;
	line-height: 40px ;
	text-decoration: none ;
	text-align: center ;

	-webkit-transition:all 0.3s ;
	-moz-transition:all 0.3s ;
	transition:all 0.3s ;
	
	opacity: 0.5 ;
	cursor: pointer;
}

a.move-page-top:hover
{
	opacity: 1 ;
    border-radius: 50%;
}



@media screen and (max-width: 860px) {	
.page-top p
{
	margin: 0 0 0 0 ;
	padding: 0 ;

	position: fixed ;
	right: 10px ;
	bottom: 10px;
	z-index:100;
}
 
a.move-page-top
{
	display: block ;
	width: 30px ;
	height: 30px ;

	color: #fff ;
	line-height: 30px ;
	text-decoration: none ;
	text-align: center ;

	-webkit-transition:all 0.3s ;
	-moz-transition:all 0.3s ;
	transition:all 0.3s ;
	
	opacity: 0.5 ;
	cursor: pointer;
}
}




.page-wrap{
	width: 100%;
	margin: 0 auto;
}



/* ヘッダー */
header {
    position: fixed !important; 
	position: relative;
	position: absolute;
	top: 0;
	z-index:50;
	width:100%;
  transition: .3s cubic-bezier(.4, 0, .2, 1);
   filter: drop-shadow(0px 5px 5px rgba(0,0,0,0.5));
}

@media print{
header {
    position: relative !important;
    margin-bottom: -120px;
}
} 


.header-top{
    width : -webkit-calc( 100% - 60px );
    width : calc( 100% - 60px );
    padding: 20px 30px 10px 30px;
	background:rgba(255,255,255,1);
    display:flex;
    flex-wrap:wrap;
    position: relative;
}

.header-logo{
    padding: 0 20px 0 0;
    width: 300px;
    line-height: 1.1;
}

.header-logo-box{
	margin:0 0 0 0;
    padding: 0 0 0 0;
    display: inline-block;
}
.header-logo img{
    width: 70px;
	margin:0 10px 0 0;
	float:left;
}

.header-logo p{
	float:left;
		font-size:12px;
	padding:0 0 0 0;
    line-height: 1.1;
    font-weight: normal;
}

.header-site{
    margin-left: 80px;
    line-height: 1.1;
		font-size:11px;
    background: #000;
    border-radius: 50vh;
    color: #fff;
    padding:.4em 1em;    
    display: inline-block;
}


.site-title{
    width : -webkit-calc( 100% - 90px );
    width : calc( 100% - 90px );
    font-weight: bold;
    font-size: 2rem;
    color: #245e97;
    text-align: center;
    line-height: 1.4;
}


.header-btn{
    position: absolute;
    top:20px;
    right: 30px;
}
.header-btn a{
    padding: 10px 20px;
    background: #245e97;
    color: #fff;
    border-radius: 100vh;
}
.header-btn a:hover{
    background: #7EAFE0;
}


@media screen and (max-width: 750px) {

.header-logo img{
    width: 60px;
	margin:0 10px 0 0;
	float:left;
}

.header-logo p{
	float:left;
		font-size:11px;
	padding:0 0 0 0;
    line-height: 1.1;
    font-weight: normal;
}

.header-site{
    margin-left: 70px;
    line-height: 1.1;
		font-size:10px;
    background: #000;
    border-radius: 50vh;
    color: #fff;
    padding:.4em 1em;    
    display: inline-block;
}

}


@media screen and (max-width: 640px) {
.site-title{
    width : 100%;
    font-size: 1.5rem;
}

}







.bg01{
	background: #F4F4F4;
}


.bg02{
	background: #82c8ef;
}


.bg03{
	background: #FFF9B2;
}


.bg04{
	background: #1B7BF2;
    color: #fff;
}


.bg05{
	background: #DDDDDD;
}

.contents-top{
	width:100%;
	padding:0 0 0 0;
	margin:0 0 0 0;
    /*display: inline-block;
    background-image: linear-gradient(165deg, rgba(4, 202, 255, 1), rgba(144, 245, 154, 1));
    border-radius: 0% 0% 10% 10%;*/
}

.contents-top-box{
 width: 100%;
 height: 100vh;
    overflow: hidden;
position: relative;
}


.contents-box{
	width:100%;
	padding:0 0 0 0;
	margin: 0 0 0 0;
    /*display: inline-block;*/
}


.contents00-top{
	width:100%;
	margin:0 auto;
	padding:0;
    overflow-x: hidden;
}

.contents00{
	width:100%;
	margin:0 auto;
	padding:10vh 0 20vh 0;
    overflow-x: hidden;
}

.contents00-box{
    width : 100%;
	margin:0;
}



.contents-box-head{
	width:100%;
	padding:0 0 20vh 0;
	margin: 0 0 0 0;
    /*display: inline-block;*/
}





.contents01{
	width:100%;
    max-width: 1500px;
	margin:0 auto;
	padding:10vh 0 20vh 0;
}

.contents01-box{
    width : -webkit-calc( 100% - 100px );
    width : calc( 100% - 100px );
	margin:0 50px 0 50px;
}


@media screen and (max-width: 860px) {

/*
.contents01{
	width:100%;
	margin:0 auto;
	padding:0 0 30px 0;
}*/
    
.contents01-box{
    width : -webkit-calc( 100% - 40px );
    width : calc( 100% - 40px );
	margin:0 20px;
}
}




.contents02{
	width:100%;
	margin:0 auto;
}

.contents02-box{
    width : 100%;
    width : 100%;
    max-width: 1500px;
	/*margin:50px auto;
	padding:50px 0;*/
	margin:0 auto;
	padding:10vh 0;
}


.contents02-bg1{
	background: #13ae67;
    color: #fff;
}

@media screen and (max-width: 860px) {
/*

.contents02{
	width:100%;
    max-width: 1500px;
	margin:0 auto;
	padding:170px 0 30px 0;
}*/
    
.contents02-box{
    width : -webkit-calc( 100% - 40px );
    width : calc( 100% - 40px );
	margin:0 20px;
}
}



.contents03{
	width:100%;
    max-width: 1500px;
	margin:0 auto;
	padding:5vh 0 10vh 0;
}

.contents03-box{
    width : -webkit-calc( 100% - 100px );
    width : calc( 100% - 100px );
	margin:0 50px 0 50px;
}


@media screen and (max-width: 860px) {


    
.contents03-box{
    width : -webkit-calc( 100% - 40px );
    width : calc( 100% - 40px );
	margin:0 20px;
}
}







.contents04{
	width:100%;
	margin:0 auto;
	padding:10vh 0 20vh 0;
}

.contents04-box{
    max-width: 1500px;
    width : -webkit-calc( 100% - 100px );
    width : calc( 100% - 100px );
	margin:0 auto;
	padding:0 50px 0 50px;
}

.contents04-box2{
    width : 100%;
}


@media screen and (max-width: 860px) {

/*
.contents01{
	width:100%;
	margin:0 auto;
	padding:0 0 30px 0;
}*/
    
.contents04-box{
    width : -webkit-calc( 100% - 40px );
    width : calc( 100% - 40px );
	padding:0 20px;
}
}




.pc{
	display: block;
}
.sp{
	display:none;
}
.sp2{
	display:none;
}
@media screen and (max-width: 860px) {
.pc{
	display:none;
}
.sp{
	display: block;
}
.sp2{
	display:none;
}
}
@media screen and (max-width: 640px) {
.pc{
	display:none;
}
.sp{
	display: block;
}
.sp2{
	display: block;
}
}







footer {
	width: 100%;
    padding:0 0 0 0;
    display: flex;
}

.footer-top{
    width : -webkit-calc( 100% - 100px );
    width : calc( 100% - 100px );
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 50px;
    text-align: left;
}

.footer-sitemap{
    width : -webkit-calc( 100% - 80px );
    width : calc( 100% - 80px );
    padding: 0 40px;
    display: inline-block;
    text-align: center;
}

.footer-sitemap li{
    padding: 0 20px;
    display: inline-block;
	font-size: 0.9em;
}

.footer-sitemap li:first-child{
    border-right: 1px solid #333;
}


@media screen and (max-width: 860px) {


.footer-top{
    width : -webkit-calc( 100% - 20px );
    width : calc( 100% - 20px );
	padding:40px 10px;
}
    
.footer-sitemap{
    width : 100%;
    padding: 0;
}
}


.copyright{
	width: 100%;
	padding:10px 0 0 0;
	text-align: center;
	font-size: 0.8em;
    color: #333;
}













