/* 共通 */


body,html {
  font-size:1vw;
  margin:0;
  padding:0;
  background-color: #fff;
  color:#000;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

div{box-sizing: border-box;}

.container{
  position:relative;
  width: 70em;
  margin:0 auto;
  height:60em;
}

img{width:100%;height:auto;}

h2{font-size:2.5em;margin-bottom: 1em;line-height: 1.5em;}

p,td{font-size:1.3em;line-height: 2em;}

.logo{
  position: absolute;
  left:0;
  top:-5.5em;
  width:60%;
}


/* トップビジュアル */

.stagger-visualizer {
  position: absolute;
  left: 50%;
  top:50%;
  transform: translate(-50%,-50%);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 9rem;
  height: 9rem;
  overflow: hidden;
}

.stagger-visualizer div {
  /*position: absolute;*/
  width: 1rem;
  height: 1rem;
  border: 1px solid #FFF;
  background-color: #FFF;
}


.top-mv{
  width:80%;
  position:absolute;
  left: 50%;
  top:50%;
  transform: translate(-50%,-50%);
  background-color: #FFF;
  background-image: url(bg_sorairo.jpg);background-size: cover;
	height: 25em;
  width:100%;
  margin:0 auto;
  padding:0;
}

.top-mv h2{
  display: block;
  position: absolute;
  bottom: -3em;
  text-align: right;
  width: 100%;
}
.top-mv h2 br{display:none;}

section{position: relative;}

.main-box{
  display: flex;
  flex-wrap: wrap;
  padding:0 0 15em 0;
  width: 70em;
  margin:0 auto;
}

.revers{flex-direction: row-reverse;}

.main-box > div{
  width:50%;
}

.main-box > div:first-child{
  padding-right:2em;
  z-index: 0;
}
.main-box > div:last-child{
  padding-left:2em;
  position:relative;
  z-index: 2;
}

.value > .main-box > div:first-child{width:40%;}
.value > .main-box > div:last-child{width:60%;}



.value > .main-box > div:first-child > img{position: absolute;left: 0;width:35em;bottom:3em;}

.value > .revers  > div:first-child > img{position: absolute;left:auto;right:0;width:35em;bottom:3em;}

.about h2{text-align: right;}

.about{margin:2em 0 0;}

.flex-box{display:flex;flex-wrap: wrap;}


.business,.company{text-align: center;}

.business .flex-box > div {width:25%;padding:3em;}
.business > div {max-width:70em;margin:0 auto;}
.business p {line-height: 1.5em;margin-top: 1em;}
.business {display: block; padding-bottom:10em;}

.company table{
  display: block;
  max-width:70em;
  margin: 0 auto;
}

.company {display:block;padding-bottom:15em;}
.company table td{padding:1em;text-align: left;border-top:1px solid #ccc;}
.company table td:first-child{min-width:200px;}
.company table td:last-child{width:100%;}

.company table tr:last-child td{border-bottom:1px solid #ccc;}

footer{
  display: block;
  padding: 0;
  font-size:1em;
  text-align: center;
  background:#eee;
}

footer p{ padding:0.5em;margin:0;}

span{
  display: block;
  font-size:2em;
  color: #DAE9ED;
  background: -webkit-linear-gradient(45deg, #F6E3E8, #f3db91);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 0.5;
  position:absolute;
  z-index: 0;
  top:-0.4em;
}

h2{display: block;position: relative;}
.main-box h2{text-align: right;}
.main-box h2 span{right:0;}
.revers h2{text-align: left;}
.revers h2 span{left:0;right:auto}
h2 div{position:relative;z-index: 1;}


.company h2 span,.business h2 span{
  left:50%;transform: translateX(-50%);
}



@media screen and (max-width:768px) {
  body{font-size: 1.25vw;}
}


@media screen and (max-width:425px) {
  .logo{top:-4.1em;}
  body{font-size:2vw;}
  .container{height:40em;}
  .container,.main-box{width:94%;}
  p{font-size:13px;}
  h2{font-size:2.6em;}

  .value > .main-box > div:last-child{width:80%;background-color: rgba(255, 255, 255, 0.8);}
  .value > .main-box > div:first-child{width:20%;}

.top-mv h2 br{display:block;}
.about > div > div{width:100%;}
.about > div > div:first-child{padding:0 0% 0 3% ;margin-bottom:-3em;}

.business .flex-box > div {width:50%;padding:3em 6em;}

.company div{max-width: 94%;margin:0 auto;}

.company td{font-size:13px;}
.company table tr td:first-child{min-width:120px;}
}