@media screen and (min-width:1185px) {
/* ここにPC向けのCSS指定 */
  #ham-menu {
	display: none;
 }
 
  body {
      font-size: 17px;
  }
  
  #notpc {
   display: none;
  }
  
}

@media screen and (max-width: 1600px) {
  .site-branding-sub #titlemargin {
   height: 6vw;
  }
}



@media screen and (max-width: 1450px) {
  #site-header-logo {
   padding-left: 10px;
   font-size: 2.2rem;  
  }
  
  #global-nav ul li a {
   padding: 14px 0.6em;
  }
  
  .site-branding-text {
   width: 550px;
   height: 145px;
   margin-top: 20vw;
  }
  
  .home .site-title {
     font-size: 1.7rem;
    line-height: 2rem;
  }
}

@media screen and (max-width: 1184px) {
/* ここにpad向けのcss */
  body {
      font-size: 17px;
  }
  
  #global-nav {
   display: none;
  }
  
  #notsp {
   display: none;
  }
  
  #ham-menu h3 {
   font-size: 1.8rem;
  }
  
  #ham-menu li {
   font-size: 1.5rem;
  }
    
  .site-title {
   font-size: 2.5rem;
   line-height: 3rem;
   width: 90%;
   margin-left: auto;
   margin-right: auto;
  }
  
  .site-title #site-title-en {
   font-size: 1.8rem;
  }
  
  #topimg {
    clear: both;
    width: 100%;
    margin-top: -1vw;
  }
    
  .inner-wrap {
    clear: both;
    float: right;
    width: 100%;
    margin-top: -18vw;
    text-align: center;
  }
  
  .site-branding-text {
   margin-top: 0px;
   width: 100%;
   background: linear-gradient(to top, #002d93 55%, #fff0 100%);
   float: none;
   clear: both;
    height: auto;
    padding-top: 6%;
    padding-bottom: 0;
  }
  
  .home .site-title {
     font-size: 1.6rem;
    line-height: 2rem;
    height: auto;
     margin-bottom: 0;
     padding-bottom: 20px;
  }
      
  #logo {
   height: auto;
   padding-top: 35px;
   padding-bottom: 10px;
  }
	
	#logo img {
 width: 50%;
 max-width: 300px;
 margin-left: auto;
 margin-right: auto;
 text-align: center;
 padding-left: 1vw;
}
  
  #topback01 {
   background-size: 80%;
  }
  
  #topback03 {
   background-size: 80%;
  }
  
  #contentspageback01 {
   background-size: 80%;
  }
  
  #progresspageback01 {
   background-size: 80%;
  }
  
  #progresspageback02 {
   background-size: 80%;
  }
  
  #trafficpageback01 {
   background-size: 80%;
  }
	
  #zumenback {
   background-size: 80%;
  }
  
  #kouteiback {
   background-size: 80%;
  }
  
  #mailback {
   background-size: 80%;
  }
  
  #topimg-sub {
   float: none;
   width: 100%;
   height: auto;
  }
  
  .site-branding-sub {
   padding-top: 20px;
   height: auto;
   max-height: 100%;
  }
  
  .site-branding-sub #titlemargin {
   display: none;
  }
  
  .site-branding-sub .inner-wrap {
   float: none;
  }
  
  p#kjinfo {
      width: 94%;
      margin-left: 3%;
      margin-right: 3%;
      font-size: 23px;
      text-align: center;
  }

  #topback02 .news dd {
   width: 90%;
  }
  
  #ft {
	margin-top: 2vw;
  }
  
  #topcontents-sub {
   margin-top: 0;
   padding-top: 50px;
  }
  
  #page-top{
      width: 7%;
  }
	
  .heading06_con2 {
        position: relative;
        padding-top: 5vw;
        padding-bottom: 10px;
        text-align: center;
	    font-size: 42px;
    }

  .heading06_con2::before {
		content: attr(data-en);
		position: absolute;
		top: 18px;
		left: 50%;
		transform: translateX(-50%);
		color: rgba(51, 184, 187, 0.39);
		font-size: 5rem;
		width: 100%;
	}
	
  #site-header-logo {
   	font-size: 2.0rem;
  }
	
	#ham-menu li {
   font-size: 1.8rem;
   padding: 30px;
  }
  
  
} 

@media screen and (max-width:1100px) {
	
	.home .site-title {
     font-size: 2.0rem;
    line-height: 2.5rem;
    height: auto;
     margin-bottom: 0;
     padding-bottom: 20px;
  }
	
	#site-header-logo {
   	font-size: 2.3rem;
  }
	#logo {
   height: auto;
   padding-top: 25px;
   padding-bottom: 10px;
  }
	
	#logo img {
 width: 50%;
 max-width: 300px;
 margin-left: auto;
 margin-right: auto;
 text-align: center;
 padding-left: 1vw;
}
}

@media screen and (max-width:900px) {
	#logo {
   height: auto;
   padding-top: 15px;
   padding-bottom: 10px;
  }
	
	#logo img {
 width: 50%;
 max-width: 300px;
 margin-left: auto;
 margin-right: auto;
 text-align: center;
 padding-left: 1vw;
}
}
@media screen and (max-width:610px) {
	
	.home .site-title {
     font-size: 1.7rem;
    line-height: 2.5rem;
    height: auto;
     margin-bottom: 0;
     padding-bottom: 20px;
  }
	
	.backptop {
	background-color: #003BA4;
	background-size: contain;
	width: 100%;
	height: 200px;
	clip-path: polygon(0 50px, 100% 0, 100% calc(100% - 50px), 0 100%);
	margin-top: -15vw;
	}

	
	.heading06_con2 {
        position: relative;
        padding-top: 5vw;
        padding-bottom: 10px;
        text-align: center;
		font-size: 33px;
    }

  .heading06_con2::before {
		content: attr(data-en);
		position: absolute;
		top: 8px;
		left: 50%;
		transform: translateX(-50%);
		color: rgba(51, 184, 187, 0.39);
		font-size: 4rem;
		width: 100%;
	}
	
	#site-header-logo {
        padding-left: 10px;
        font-size: 1.5rem;
    }
	
	#ham-menu li {
   font-size: 1.5rem;
   padding: 20px;
  }
	
  #logo {
   height: auto;
   padding-top: 0px;
   padding-bottom: 10px;
  }
	
	#logo img {
 width: 45%;
 max-width: 300px;
 margin-left: auto;
 margin-right: auto;
 text-align: center;
 padding-left: 1vw;
}
	
}


@media screen and (max-width: 500px){
/* ここにスマホ向けのcss */
  body {
      font-size: 14px;
  }

  #global-nav {
   display: none;
  }

  #notsp {
   display: none;
  }

  .inner-wrap {
    margin-top: -30vw;
  }
  
  .site-branding-text {
    padding-top: 6%;
    padding-bottom: 0;
  }
  
  .home .site-title {
     font-size: 1.1rem;
    line-height: 1.4rem;
    height: auto;
    padding-bottom: 10px;
    margin-bottom: 0;
  }

  .site-title {
   font-size: 1.2rem;
   line-height: 1.5rem;
  }
  
  .site-title #site-title-en {
   font-size: 1rem;
  }
  
  .site-branding {
   padding-top: 40px;
  }
  
  #ham-menu h3 {
   font-size: 1.2rem;
  }
  
  #ham-menu li {
   font-size: 1rem;
  }
  
  #topcontents h2 {
   margin-top: 10px;
   font-size: 1.5rem;
  }
  
  #backblue {
   margin-top: 50px;
  }
  
  #topback02 dl {
   margin-top: -2vw;
  }
  
  #topcontents {
   padding-bottom: 20px;
  }  

  #topback01 {
   background-size: 90%;
  }
  
  #topback03 {
   background-size: 90%;
   margin-top: 80px;
  }
  
  #contentspageback01 {
   background-size: 90%;
  }
  
  #progresspageback01 {
   background-size: 90%;
  }
  
  #progresspageback02 {
   background-size: 90%;
  }
  
  #trafficpageback01 {
   background-size: 90%;
  }
	
  #zumenback {
   background-size: 90%;
  }
  
  #kouteiback {
   background-size: 90%;
  }
  
  #mailback {
   background-size: 90%;
  }
  
  #topcontents-sub h2 {
   font-size: 1.2rem;
   margin-top: 10px;
  }
	
  .heading06_con2 {
        position: relative;
        padding-top: 7vw;
        padding-bottom: 10px;
        text-align: center;
    }

  .heading06_con2::before {
		content: attr(data-en);
		position: absolute;
		top: 18px;
		left: 50%;
		transform: translateX(-50%);
		color: rgba(51, 184, 187, 0.39);
		font-size: 40px;
		width: 100%;
	}
	
	.heading06_pro2::before {
		content: attr(data-en);
		display: block;
		color: #7AC5FC;
		font-size: 35px;
	}

	.heading06_pro1::before {
		content: attr(data-en);
		display: block;
		color: #ffffff;
		font-size: 35px;
	}

  p#kjinfo{
  font-size: 16px;
  }
  
  #site-header-logo {
   font-size: 1.2rem;
  }
  
  #backblue {
   padding-top: 10px;
   padding-bottom: 10px;
   background-position: center top;
  }
  
  .banner30 {
   width: 80%;
   margin-left: auto;
   margin-right: auto;
   float: none;
   clear: both;
   margin-top: 10px;
   margin-bottom: 10px;
  }
  
  #topback02 .news dt {
   font-size: 15px;
  }
  
  #topback02 .news dd {
   padding-left: 5px;
   padding-right: 5px;
   font-size: 14px;
   line-height: 20px;
   margin-left: 15px;
   margin-bottom: 20px;
  }
  
  #w50 {
   width: 99%;
   margin-left: 0.5%;
   margin-right: 0.5%;
   margin-top: 15px;
   margin-bottom: 2px;
   float: none;
   clear: both;
  }
  
  #pickup h3 {
   font-size: 1.3rem;
  }
  
  .btn, a.btn, button.btn {
   font-size: 14px;
  }
  
  #topcontents-sub {
   padding-bottom: 20px;
   padding-top: 50px;
  }
  
  #ft .banner30 h3 {
   font-size: 15px;
   line-height: 20px;
   margin-top: 0px;
   margin-bottom: 10px;
   padding-top: 30px;
  }
	
  #topimg-sub {
   float: none;
   width: 100%;
   height: auto;
  }
  
  .site-branding-sub {
   padding-top: 20px;
   height: auto;
  }
  
  .site-branding-sub .inner-wrap {
   float: none;
   margin-top: -20vw;
  }
  
  th {
   font-size: 15px;
   width: 50%;
   line-height: 23px;
   display: block;
   padding-left: 5px;
   margin-top: 5px;
   margin-bottom: 5px;
  }
  
  td {
   font-size: 14px;
   width: 92%;
   line-height: 23px;
   display: block;
   padding-left: 5px;
   margin-top: 5px;
   margin-bottom: 15px;
   margin-left: 5%;
  }
  
  #photo30 {
   width: 99%;
   margin-left: 0.5%;
   margin-right: 0.5%;
   margin-top: 15px;
   margin-bottom: 2px;
   float: none;
   clear: both;
  }
  
  h3 {
   font-size: 16px;
  }
  
  #page-top{
      width: 10%;
  }
	
  #logo {
   height: auto;
   padding-top: 5px;
   padding-bottom: 10px;
  }
	
	#logo img {
 width: 50%;
 max-width: 350px;
 margin-left: auto;
 margin-right: auto;
 text-align: center;
 padding-left: 1vw;
}
	
#topback02 dl dt {
 font-weight: bold;
 padding-left: 10px;
 padding-right: 20px;
 font-size: 15px;
 line-height: 35px;
}

#topback02 dl dd {
 width: 90%;
 font-weight: normal;
 border-bottom: 1px solid #000000;
 padding-left: 5px;
 padding-right: 5px;
 font-size: 14px;
 line-height: 20px;
 margin-bottom: 20px;
	margin-left: 5%;
}
	
.fth3 {
		width: 80%;
   margin-left: auto;
   margin-right: auto;
   float: none;
   clear: both;
   margin-top: 10px;
   margin-bottom: 10px;
	}
	
}

@media screen and (max-width: 360px){
/* ここにスマホ向けのcss */
  body {
      font-size: smaller;
  }

  #global-nav {
   display: none;
  }

  #notsp {
   display: none;
  }

  
  .home .site-title {
     font-size: 1rem;
    line-height: 1.2rem;
    height: auto;
    padding-bottom: 10px;
    margin-bottom: 0;
  }
  
  .site-title #site-title-en {
   font-size: 0.86rem;
  }
  
  #ham-menu h3 {
   font-size: 1.0rem;
  }
  
  #ham-menu li {
   font-size: 1rem;
  }
  
  #topcontents h2 {
   margin-top: 10px;
   font-size: 1.2rem;
  }
  
  #backblue {
   margin-top: 50px;
  }
  
  #topback02 dl {
   margin-top: -2vw;
  }
  
  #topcontents {
   padding-bottom: 20px;
  }  

  #topback01 {
   background-size: 90%;
  }
  
  #topback03 {
   background-size: 90%;
   margin-top: 80px;
  }
  
  #contentspageback01 {
   background-size: 90%;
  }
  
  #progresspageback01 {
   background-size: 90%;
  }
  
  #progresspageback02 {
   background-size: 90%;
  }
  
  #trafficpageback01 {
   background-size: 90%;
  }
	
  #zumenback {
   background-size: 90%;
  }
  
  #kouteiback {
   background-size: 90%;
  }
  
  #mailback {
   background-size: 90%;
  }
  
  #topcontents-sub h2 {
   font-size: 1.2rem;
   margin-top: 10px;
  }
	
  .heading06_con2 {
        position: relative;
        padding-top: 8vw;
        padding-bottom: 10px;
        text-align: center;
    }

  .heading06_con2::before {
		content: attr(data-en);
		position: absolute;
		top: 18px;
		left: 50%;
		transform: translateX(-50%);
		color: rgba(51, 184, 187, 0.39);
		font-size: 35px;
		width: 100%;
	}
	
	.heading06_pro2::before {
		content: attr(data-en);
		display: block;
		color: #7AC5FC;
		font-size: 35px;
	}

	.heading06_pro1::before {
		content: attr(data-en);
		display: block;
		color: #ffffff;
		font-size: 35px;
	}

  p#kjinfo{
  font-size: 16px;
  }
  
  #site-header-logo {
   font-size: 1.0rem;
  }
  
  #backblue {
   padding-top: 10px;
   padding-bottom: 10px;
   background-position: center top;
  }
  
  .banner30 {
   width: 80%;
   margin-left: auto;
   margin-right: auto;
   float: none;
   clear: both;
   margin-top: 10px;
   margin-bottom: 10px;
  }
  
  #topback02 .news dt {
   font-size: 15px;
  }
  
  #topback02 .news dd {
   padding-left: 5px;
   padding-right: 5px;
   font-size: 14px;
   line-height: 20px;
   margin-left: 15px;
   margin-bottom: 20px;
  }
  
  #w50 {
   width: 99%;
   margin-left: 0.5%;
   margin-right: 0.5%;
   margin-top: 15px;
   margin-bottom: 2px;
   float: none;
   clear: both;
  }
  
  #pickup h3 {
   font-size: 1.3rem;
  }
  
  .btn, a.btn, button.btn {
   font-size: 14px;
  }
  
  #topcontents-sub {
   padding-bottom: 20px;
   padding-top: 50px;
  }
  
  #ft .banner30 h3 {
   font-size: 15px;
   line-height: 20px;
   margin-top: 0px;
   margin-bottom: 10px;
   padding-top: 30px;
  }
	
  #topimg-sub {
   float: none;
   width: 100%;
   height: auto;
  }
  
  .site-branding-sub {
   padding-top: 20px;
   height: auto;
  }
  
  .site-branding-sub .inner-wrap {
   float: none;
   margin-top: -20vw;
  }
  
  th {
   font-size: 15px;
   width: 50%;
   line-height: 23px;
   display: block;
   padding-left: 5px;
   margin-top: 5px;
   margin-bottom: 5px;
  }
  
  td {
   font-size: 14px;
   width: 92%;
   line-height: 23px;
   display: block;
   padding-left: 5px;
   margin-top: 5px;
   margin-bottom: 15px;
   margin-left: 5%;
  }
  
  #photo30 {
   width: 99%;
   margin-left: 0.5%;
   margin-right: 0.5%;
   margin-top: 15px;
   margin-bottom: 2px;
   float: none;
   clear: both;
  }
  
  h3 {
   font-size: 16px;
  }
  
  #page-top{
      width: 10%;
  }
	

  .backptop {
	background-color: #003BA4;
	background-size: contain;
	width: 100%;
	height: 150px;
	clip-path: polygon(0 50px, 100% 0, 100% calc(100% - 50px), 0 100%);
	margin-top: -17vw;
	}
	
	#logo {
   height: auto;
   padding-top: 0px;
   padding-bottom: 10px;
  }
	
	#logo img {
 width: 50%;
 max-width: 350px;
 margin-left: auto;
 margin-right: auto;
 text-align: center;
 padding-left: 1vw;
}
	
#topback02 dl dt {
 font-weight: bold;
 padding-left: 10px;
 padding-right: 20px;
 font-size: 15px;
 line-height: 35px;
}

#topback02 dl dd {
 width: 90%;
 font-weight: normal;
 border-bottom: 1px solid #000000;
 padding-left: 5px;
 padding-right: 5px;
 font-size: 14px;
 line-height: 20px;
 margin-bottom: 20px;
}
	
	.fth3 {
		width: 80%;
   margin-left: auto;
   margin-right: auto;
   float: none;
   clear: both;
   margin-top: 10px;
   margin-bottom: 10px;
	}

}