@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
html{
  overflow: auto;
  position: relative;
  min-height: 100%;
  scroll-behavior: smooth;
}
body{
  width:100vw;
  font-family: 'Noto Sans JP', sans-serif;
  position:relative;
  font-size: 15px;
  line-height: 1.5;
  color:#1B1B1B;
}
/* width指定 */
#wrap{
  width:980px;
  margin:0 auto;
  font-size:16px;
}
div,p,a,ul,li{
  box-sizing: border-box;
}
a{
  color:#333333;
  text-decoration: none;
  display: block;
}
a:hover{
  opacity: 70%;
}

.inner_width{
  width:100%;
  max-width: 1200px;
  margin: 0 auto;
  padding:0 3%;
  box-sizing: border-box;
}
/* text-align */
.ta_c{
  text-align: center;
}
.ta_l{
  text-align: left;
}
.ta_r{
  text-align: right;
}
/* header */
header{
  width:100vw;
  position:relative;
  z-index: 2;
  margin-bottom:-75px;
}
.header_content{
  padding:0 0 0 2%;
  font-size:0.8vw;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.logo{
  width:128px;
}
ul.nav{
  width:67%;
  background-color: #fff;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  box-sizing: border-box;
}
ul.nav li:not(:last-child){
  padding-top:20px;
}
ul.nav li a{
  position:relative;
  display: inline-block;
  text-decoration: none;
}
ul.nav li a::after{
  position: absolute;
  bottom: -3px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #000000;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
ul.nav li a:hover::after{
  transform: scale(1, 1);
}
ul.nav li.contact_btn a{
  background-color: #4F3A93;
  color:#fff;
  padding:0 5vw;
  line-height: 55px;
}
ul.nav li.contact_btn a:hover{
  background-color: #fff;
  color:#4F3A93;
  padding:0 5vw;
  line-height: 55px;
}
#global-nav.m_fixed {
	right: 0;
	position: fixed;
	top: 0;
}
/* title */

/* footer */
footer{
  background-color: #4F3A93;
  color:#ffffff;
  padding:75px 0 10px;
}
.footer_content{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.footer_address{
  margin-top:55px;
  font-size:13px;
}
.footer_nav_content{
  display: flex;
  align-items: flex-start;
}
ul.footer_nav{
  opacity: 0.8;
  border-left:1px solid #fff;
  padding-left:15px;
}
ul.footer_nav.first{
  margin-right:55px;
}
ul.footer_nav li{
  display: block;
  line-height: 16px;
}
ul.footer_nav li:not(:first-child){
  margin-top:20px;
}
ul.footer_nav li a{
  display: block;
  color:#ffffff;
  line-height: 16px;
  font-size:13px;
}
.copy{
  font-size:12px;
  margin-top:150px;
}
@media screen and (max-width: 750px){
  .logo,
  .footer_logo img{
    width:90px;
  }
  footer{
    background-color: #4F3A93;
    color:#ffffff;
    padding:30px 20px;
  }
  .footer_address{
    margin-top:22.5px;
    padding-left:20px;
  }
  .footer_content,
  .footer_nav_content{
    display: block;
  }
  ul.footer_nav{
    margin-top:20px;
    border-left:none;
  }
}