/*全デバイス共通*/
*{
  margin: 0;
  padding: 0
}

html {
 box-sizing: border-box;
}
*, *:before, *:after {
 box-sizing: inherit;
}


body{
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
}

li{
  list-style: none
}

a{
  text-decoration: none;
}

#container{
　width: 1920px;
  margin: 0 auto;
  background-color: #fff;
  color: #150035;
}


/*header--------------------*/
header {
  width: 100%;
  margin: 0 auto;
  height: 90px;
  position: relative;
}

.h1 {
  font-size: 14px;
  font-weight: lighter;
  padding-left:65px;
  margin-bottom: -8px;
}

.logo {
  width: 300px;
  margin-left: 100px;
  display: table-cell;
  vertical-align: middle;
}

.header_logo{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50px;
  margin: auto;
  width: 500px;
  height: 3.2rem;
}

.header_span {
  display: none;
}

nav {
  position: relative;

}

.global-nav {
  position: absolute;
  display: block;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 1rem;
  text-align:right;
}

.global-nav__list {
  position: absolute;
  right: 50px;
  align-items: center;
  display: flex;
  font-size: 16px;
  color: #150035;
}

.global-nav__item {
  margin: 1vw;
}

.header_a {
  color: #150035;
}

.gnav_button {
  background-color: #17adc6; /*ターコイズ*/
  padding: 3px 20px;
  border-radius: 30px;
  font-size: 16px;
  display: block;
  line-height: 32px;
  transition: 0.2s ;
  color: #fff;
}

.button_top:hover {
  background-color: #61b8c6;
}

.button_img {
  width: 25px;
  padding-right: 10px;
}

/*contact--------------------*/
.contact_container {
  width: 70%;
  margin: 0 auto;
}

#contact {
  width: 100%;
  height: 370px;
  background-image: url("../images/image_contact.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  text-align: center;
}

.contact_h2 {
  color: #fff;
  padding-top: 55px;
  padding-bottom: 55px;
  font-size: 42px;
}

.contact_flex {
  display: flex;
  justify-content: space-around;
}

.contact_p {
  font-size: 14px;
  margin-top: 10px;
  color: #fff;
}

.button_contact {
  background-color: #17adc6; /*ターコイズ*/
  color: #fff;
  padding: 10px 30px;
  border-radius: 30px;
  display: block;
  transition: 0.2s ;
  font-size: 24px;
  width: 420px;
  line-height: 50px;
}

.button_contact:hover {
    background-color: #61b8c6;
}

.contact_smp {
  width: 20px;
  margin-right: 10px;
}

.contact_mail {
  width: 30px;
  margin-right: 10px;
}
/*Logo-----------------------*/
#logo {
  width: 100%;
  height: 105px;
  background-color: #fff;
  position: relative;
}

.logo_container {
  width: 70%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 margin: auto;
 height: 3.2rem;
}

.logo_logo {
  display: block;
}

.gototop {
  display: block;
}

/*footer--------------------*/
footer {
  width: 100%;
  height: 360px;
  background-color: #041b24;
  color: #fff;
}

.footer_h2 {
  padding-bottom: 10px;
  font-size: 20px;
}

.footer_p {
  font-size: 16px;
  color: #fff;
}

.footer_a {
  color: #fff;
}

.footer_container {
  width: 70%;
  margin: 0 auto;
  text-align: right;
}

.footer_flex {
  display: flex;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  padding-top: 50px;
}

.info {
  text-align: left;
}

.sns_icon_ul {
  display: flex;
}

.sns_icon_ul_li {
   margin: 10px;
}

.footer_menu_ul {
  display: block;
  display: flex;
  justify-content: center;
  padding-top: 30px;
  padding-bottom: 30px;
}

.footer_menu_ul_li:nth-child(even) {
   padding: 0 2vw;
   font-size: 14px;
}

.footer_menu_a{
  color: #fff;
}

.small {
  font-size: 12px;
}


@media only screen and (max-width:1500px){
  .h1 {
    padding-left: 60px;
  }

  header .logo {
    margin-left: 10px;
  }

  .global-nav {
    margin-top: 50px;
    margin-right: -80px;
  }

  .global-nav__list {
    font-size: 14px;
  }

  .button_top {
    font-size: 14px;
  }

  .contact_container {
    width: 95%;
  }

  .footer_container {
    width: 95%;
  }

}



/*タブレット対応ーーーーーーーーーーーーーーーーーーー*/
@media only screen and (max-width:1024px) {
  #container {
    width: 100%;
  }

  header {
  position: relative;
  }

  .h1 {
    position: absolute;
    left:0;
    top: -10px;
  }

  .header_logo {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 10px;
    left: 5px;
    margin: auto;
    width: 100%;
    height: 1rem;
  }

.global-nav {
  position: fixed;
  right: -420px;
  top: -50px;
  width: 400px;
  height: 100vh;
  background-color: #fff;
  transition: all .6s;
  z-index: 200;
  text-align: center;
}

.hamburger {
  position: absolute;
  right: 15px;
  top: 15px;
  width: 55px;
  height: 55px;
  cursor: pointer;
  z-index: 300;
  position: fixed;
}
.global-nav__list {
  list-style: none;
  display: block;
  width: 380px;
  height: 100vh;
  padding: 30px;
  left: -50px;
  text-align: center;
  background-color: #fff;
}
.global-nav__item {
  text-align: center;
  font-size: 16px;
}
.header_a {
  display: block;
  padding: 8px 0;
  margin-top: 25px;
  text-decoration: none;
  color: #111;
}
.header_a:hover {
  color: #17adc6;
}
.hamburger__line {
  position: absolute;
  right: 20px;
  width: 40px;
  height: 2px;
  background-color: #111;
  transition: all .6s;
}
.hamburger__line--1 {
  top: 20px;
  position: fixed;
}
.hamburger__line--2 {
  top: 35px;
  position: fixed;
  height: 2px;
}
.hamburger__line--3 {
  top: 50px;
  position: fixed;
}
.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all .6s;
  cursor: pointer;
}
/* 表示された時用のCSS */
.nav-open .global-nav {
  right: 0px;
}
.nav-open .black-bg {
  opacity: .8;
  visibility: visible;
}
.nav-open .hamburger__line--1 {
  transform: rotate(45deg);
  top: 30px;
}
.nav-open .hamburger__line--2 {
  width: 0;
  left: 50%;
}
.nav-open .hamburger__line--3 {
  transform: rotate(-45deg);
  top: 30px;
}


.gnav_button {
  font-size: 16px;
  color: #fff;
  width: 100%;
 line-height: 2rem;
  margin-top: 30px;
  text-align: center;
  justify-content: center;
}

.button_img {
  width: 25px;
  display: inline-block;
  text-align: center;
}


/*contact-------------------------*/

#contact {
  height: 530px;
  width: 100%;
}

.contact_container {
  width: 95%;
  margin: 0 auto;
}

.contact_h2 {
  font-size: 42px;
  padding-bottom: 30px;
  padding-top: 100px;
}

.contact_item {
  justify-content: center;
  text-align: center;
}

.button_contact {
  padding: 5px 5px;
  border-radius: 30px;
  display: block;
  transition: 0.2s ;
  font-size: 20px;
  width: 420px;
  line-height: 30px;
}

.button_contact:hover {
    background-color: #61b8c6;
}

.contact_smp {
  width: 18px;
  margin-right: 5px;
}

.contact_mail {
  width: 20px;
  margin-right: 5px;
}

.button_contact_mail {
  padding: 10px 0;
}

/*logo----------------------------*/
#logo {
  width: 100%;
}
.logo_container {
  width: 100%;
}

/*footer-------------------------*/
footer {
  height:720px;
  text-align: center;
}

.footer_container {
  text-align: center;
}

.footer_flex {
  display: block;
}

.info{
  text-align: center;
}

.sns_icon_ul{
  justify-content: center;
}

.sns_icon_ul_li {
   margin: 20px;
}


.footer_menu_ul {
  display: block;
  justify-content: center;
}

.footer_menu_ul_li {
   margin-bottom: 1em;
}

.footer_menu_ul_li:nth-child(even) {
   display: none;
}

}

@media only screen and (max-width:767px) {
  .contact_flex {
    display: block;
  }

  .button_contact {
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    width: 90%;
    font-size: 20px;
  }

  .h1 {
    font-size: 10px;
  }

  .logo {
    width: 200px;
  }

  .logo_container {
    position: relative;
  }

  .logo_img {
    position: absolute;
    width: 60%;
    left: 0;
    top: 50%;
  }

  .gototop {
    position: absolute;
    right: 0;
    top: 50%;
  }
}
