/*--------------------
基本設定
---------------------*/
:root{
  --header-h: 54px;
}
body{
  font-size: 2.5vw;
}
.pc{
  display: none;
}
.tab{
  display: block;
}
.mobi{
  display: none;
}
.pc.tab{
  display: block;
}
.tab.mobi{
  display: block;
}
h2 span[lang="ja"]{
  font-size: 3vw;
}
h2 span[lang="en"]{
  font-size: 2.4vw;
}
.wrapper{
  padding: 0 2vw;
}
/*--------------------
header
---------------------*/
.header-sp-inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 2.5%;
}
.header-sp-inner .logo{
  height: 40px;
}
.hamburger{
  width: 44px;
  height: 44px;
  position: relative;
}
.hamburger span{
  width: 30px;
  height: 2px;
  background: #333;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: all ease .3s;
}
.hamburger span:first-of-type{
  top: 12px;
}
.hamburger span:nth-of-type(2){
  top: 50%;
  transform: translate(-50%,-50%);
}
.hamburger span:last-of-type{
  bottom: 12px;
}
.hamburger span:first-of-type.active{
  transform: rotate(-45deg) translateX(-50%);
  top: 10px;
}
.hamburger span:nth-of-type(2).active{
  opacity: 0;
}
.hamburger span:last-of-type.active{
  transform: rotate(45deg) translateX(-50%);
  bottom: 10px;
}
.header-sp ul{
  position: fixed;
  transform: translateX(100%);
  background: #fff;
  padding: 80px 0;
  width: 100%;
  transition: all ease .3s;
  height: calc(100vh - 54px);
}
.header-sp ul li a{
  font-size: 3vw;
  display: block;
  width: 100%;
  height: 100%;
  padding: 10px;
}
.header-sp ul li:last-of-type a{
  border: 0;
  background: #3a62ad;
  color: #fff;
  width: 90%;
  margin: 30px auto 0;
  border-radius: 5px;
  text-align: center;
}
.header-sp ul li span[lang="en"]{
  font-size: .8em;
  color: #888;
}
.header-sp ul li:last-of-type span[lang="en"]{
  color: #fff;
}
.header-sp ul.active{
  transform: translateX(0);
}
/*----------------
fv
-----------------*/
.top{
  margin-top: 54px;
}
.top-ttl{
  left: 30px;
}
.top-ttl p{
  font-size:2.5vw;
}
.top-news{
  width: 38%;
  padding: 10px;
}
/*----------------
overview
-----------------*/
.overview-lead span[lang="ja"]{
  font-size: 3vw;
}
.overview .wrapper > img{
  width: 100%;
}

/*----------------
value
-----------------*/
.value-con{
  margin: 30px 0 50px;
}
.value-con-txt{
  width: 95%;
}
.value-con-txt h3 span[lang="ja"]{
  font-size: 3vw;
}
/*----------------
service
-----------------*/
.service-con{
  padding: 20px;
}
.service-con h3{
  top: -40px;
}
.service-con:last-of-type h3{
  top: -30px;
}
.service-con h3 span[lang="en"]{
  font-size: 6vw;
}
.service-con:last-of-type h3 span[lang="en"]{
  font-size: 4.5vw;
}
.service-con img{
  width: 30%;
  margin-left: 20px;
}
/*----------------
company
-----------------*/
.company h2{
  margin-bottom: 40px;
}
.company table th,
.company table td{
  padding: 20px 10px;
}
.company table th{
  width: 30%;
}
/*----------------
message
-----------------*/
.message-img{
  width: 100%;
  position: static;
  margin: 50px auto 0;
}
.message-img img{
  margin: auto;
  display: block;
}
.wrapper .message-img + .message-txt{
  width: 100%;
  min-height: auto;
}
/*----------------
members
-----------------*/
.members{
  padding: 80px 0;
}
.members-wrap{
  margin-bottom: 50px;
}
.members-container{
  width: 100%;
}
.members-container{
  width: calc(100% - 4vw);
  height: auto;
}
.members-wrap.last{
  padding-bottom: 53%;
}
.members-img{
  width: calc(50% - 2vw);
}
.members-full{
  margin: 0 2vw;
}
.members-txt{
  font-size: 1.5vw;
  margin-top: 20px;
}
/*----------------
page
-----------------*/
.page{
  margin: 54px 0 50px;
}
.page h1{
  font-size: 3.5vw;
}
.page h1 span[lang="en"]{
  font-size: 3vw;
}
.title2{
  font-size: 4vw;
}
.title3{
  font-size: 3.5vw;
}
.title4{
  font-size: 3vw;
}
.title5{
  font-size: 3vw;
}
/*----------------
contact page
-----------------*/
.contact-form{
  padding: 20px 10px;
}
.contact-form table th,
.contact-form table td{
  padding: 10px;
}
.contact-form table th{
  width: 35%;
  font-size: 2.3vw;
}
.form-check{
  margin-top: 30px;
}

