@charset "utf-8";

/*==============================================================
BASE layout PC
================================================================*/
* {
  margin:0; padding:0; 		/*全要素のマージン・パディングをリセット*/
}

header {
  max-width:1000px;
  margin: 0 auto;
  background: fff;
  height:120px;
  position: relative;
}
.visual-main{
  width:100%;
  background: #eaeaea;
  height:auto;
}
main {
  background: #fff;
}
footer {
  width:100%;
  background: #33A8D5;
}
img {
max-width: 100%;
height: auto;
vertical-align: bottom;
}
img.hov{
  text-decoration: none;
  opacity: 1;
  -webkit-transition: .1s ease-in-out;
  transition: .1s ease-in-out;
}
  img.hov:hover {
    opacity: 0.5;
}

/*============================================
header PC
============================================*/
.logo{
  margin-top:20px;
  margin-left:20px;
}
.icon{
  position: absolute;
  top: 20px;
  right: 20px;
}
h1 {
  position: absolute;
  top: 20px;
  right: 175px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height:1.5em;
  color: #595757;
}
ul.g-nav {
  position: absolute;
  bottom: 0px;
  right: 0px;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
ul.g-nav li {
  margin-bottom: 20px;
  margin-right: 30px;
}
ul.g-nav li:last-of-type {
    margin-right: 20px;
}
ul.g-nav li a {
  display: block;
  margin: 0px;
  padding: 0px;
  color: #595757;
  text-decoration: none;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 15px;
}
.type2 .type2-menu a {
  position: relative;
  border-bottom: 0px solid #b2b2b2;
}
.type2 .type2-menu a::after {
  position: absolute;
  bottom: -6px;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 3px;
  background: #33A8D5;
  transform: scaleX(0);
  transform-origin: top;
  transition: transform 0.3s;
}
.type2 .type2-menu a:hover::after {
  transform: scaleX(1);
  transform-origin: top;
}
.home-top-image {/*親div*/
  position: relative;/*相対配置*/
  }

.home-top-image h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  color: white;/*文字は白に*/
  font-size: 1.5em;/*サイズ2倍*/
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  line-height:1.6em;
  text-align:center;
  letter-spacing: 0.09em;
  }

.home-top-image img {
  width: 100%;
  max-height: 730px;
  vertical-align: bottom;
  object-fit: contain;
}

/*============================================
main  PC
============================================*/




/*エンドブロック*/
.block-end{
  padding:10px 10px;
}
main section .inner-flex-start {
  display: -webkit-flex;
  display: flex;
}
main section .inner-flex-start .banner-box {
  background: #fff;
  width: 50%;
}
ul.f-nav {
  margin-top:120px;
  padding-left:20px;
  bottom: 0px;
  right: 0px;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
ul.f-nav li {
  margin-bottom: 10px;
  margin-right: 30px;
}
ul.f-nav li:last-of-type {
    margin-right: 20px;
}
ul.f-nav li a {
  display: block;
  margin: 0px;
  padding: 0px;
  color: #595757;
  text-decoration: none;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 15px;
}
bottom.toppage {
  display:block;
  margin-right:10px;
  padding:60px 0 ;
  text-align:right;
}
bottom.toppage a{
    opacity: 1;
  -webkit-transition: .1s ease-in-out;
  transition: .1s ease-in-out;
}
  bottom.toppage a:hover {
    opacity: 0.5;
}
img.banner-img{
  max-width: 96%;
  margin: 2% 2%;
}
/*============================================
footer  PC
============================================*/
footer .inner {
  max-width:1000px;
  margin:0 auto;
  padding:15px 0 ;
}
.copyright {
  padding-left:20px;
  font-size:13px;
  letter-spacing: -0.01em;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
}

/*============================================
PC&SP 表示ーON-OFF
============================================*/

@media screen and (min-width:601px){

.view-pc-on{
  display:block;
}
.view-pc-off{
  display:none;
}

.br-sp {
display: none;
}
}

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


.view-sp-off{
  display:none;
}
.view-sp-on{
  display:block;
}
}