﻿@charset "utf-8";
/* CSS Document */

#main_v{
  margin-top:3rem;
  margin-bottom:8rem;
  position:relative;
}
#main_v:before {
    position: absolute;
    left: 0px;
    width: 27%;
    height: 22rem;
    content: "";
    background-color: #f3f2ea;
    top: 42rem;
    z-index: -1;
    border-top-right-radius: 1em;
    border-bottom-right-radius: 1em;
}
#main_v:after {
    position: absolute;
    right: 0px;
    width: 62%;
    height: 22rem;
    content: "";
    background-color: #e50011;
    top: 27rem;
    z-index: -1;
    border-top-left-radius: 1em;
    border-bottom-left-radius: 1em;
}
#main_v .left{
  width:40%;
}
#main_v .left h1{
  font-size:3.6rem;
  margin-bottom:1em;
}
#main_v .left h1 + p{
  font-size:2.4rem;
  font-weight:bold;
  /*↓採用なし時のみ*/
  margin-bottom:14rem;
}
#main_v .btn a {
    background: url(/common/img/btn_arrow3.png) 0.7em center/1.278em no-repeat;
    background-color: #1f94d0;
    font-size: 1.8rem;
    color: #FFF;
    padding: 0.8em 0em;
    border-radius: 0.5em;
    width: 70%;
    display: block;
    text-align: center;
    margin-top: 2em;
  margin-bottom:3em;
}
#main_v .right{
  width:57.182%;
}
#news{
  border-top:1px solid #CCC;
  border-bottom:1px solid #CCC;
  margin-bottom:5.5rem;
  padding-top:2rem;
}
#news .flex{
  flex-wrap:nowrap;
}
#news h2{
  font-size:1.8rem;
  color:#e50b21;
  padding-left:0.8em;
  border-left:0.15em solid;
  min-width:7em;
  font-weight:normal;
}
#news dl{
  width:88%;
}
#news dl div{
  display:flex;
  margin-bottom:0.8em;
}
#news dl div:last-of-type{
  margin-bottom:2rem;
}
#news dl div dt{
  min-width:7em;
}
#news dl div dd a{
  text-decoration:underline;
}
#news dl div dd a:hover{
  text-decoration:none;
  opacity:1;
}
#map ul{
  width:105%;
  justify-content: flex-start;
  align-items: stretch;
}
#map ul li{
  width: 46.2%;
  margin-right:3%;
  margin-bottom:3%;
  background-color:#f3f2ea;
}
#map iframe{
  width:100%;
  height:40rem;
}
#map ul li div{
  padding:1.5em;
  font-size:1.8rem;
}
#map ul li div h3{
  font-size:2.8rem;
  margin-bottom:0.3em;
}

#map.others {
  
   background:#f3f2ea; 
  
}

#map.others .flex{
  
align-items: center;
  
}

#map.others iframe{
  
width:50%;
  
}

#map.others iframe +div{
  width:50%;
padding-left:5vw;
  line-height:1.8;
  font-size:1.8rem;
}

#map.others iframe +div p{
padding:1.5rem 0;
}

#map.others iframe +div p a{
font-size:2.2rem;
  font-weight:bold;
}

#map.others iframe +div p a{
pointer-events:none;
}


#strength h3{
  font-size:2.8rem;
  margin-top:1.5em;
  margin-bottom:0.8em;
}
#strength ul{
  background-color:#f3f2ea;
  padding:3rem 5% 4rem 5%;
  margin-bottom:6rem;
}
#strength ul li{
  font-size:1.8rem;
  background:url(../img/icon_factory.png) left 0.5vw /3.556em no-repeat;
  padding-left:4.5em;
  padding-top:1em;
  margin-bottom:1em;
}
#strength ul li:last-child{
  margin-bottom:0em;

}

#strength ul li .caption{
font-size: 1.6rem;
}

#bottom li{
  width:31.546%;
}
.btn_back{
  text-align:center;
}
.btn_back a {
    background: url(/common/img/btn_arrow.png) 0.7em center/1.278em no-repeat;
    background-color: #e50011;
    font-size: 1.8rem;
    color: #FFF;
    padding: 0.8em 0em;
    border-radius: 0.5em;
    width: 18em;
    display: inline-block;
    text-align: center;
    margin-top: 4em;
  margin-bottom:4em;
}

/*---------------------------------------------------------------
横幅768px～1100pxまでのレイアウト
---------------------------------------------------------------*/
@media screen and (min-width: 768px) and (max-width: 1100px) {
  #main_v .left h1 {
    font-size: 3vw;
}
  #main_v .left h1 + p {
    font-size: 2vw;
}
  #main_v .left .btn a {
    font-size: 1.6vw;
}
  #main_v:before {
    height: 20vw;
    top: 38vw;
}
  #main_v:after {
    height: 20vw;
    top: 23vw;
}
  #map iframe {
    height: 35vw;
}
  #map ul li div h3 {
    font-size: 2.4vw;
}
  
  
  
}

/*---------------------------------------------------------------
スマホレイアウト
---------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  
  #main_v .inner{
    display:block;
  }
  #main_v .left {
    width: 100%;
}
  #main_v {
    margin-top: 2rem;
    margin-bottom: 0rem;
}
  #main_v .left h1 {
    font-size: 2.6rem;
}
  #main_v .btn a{
    font-size:1.6rem;
  }
#main_v .left h1 + p {
    font-size: 1.8rem;
  margin-bottom:1.5em;
}
  #main_v .right {
    width: 100%;
    margin-bottom:4em;
}
  #main_v .right img:nth-of-type(1){
    width: 90%;
    margin-left: 10%;
  }
  #main_v .right img:nth-of-type(2){
    width:71%;
    margin-top:1.3em;
    margin-left:-3%;
  }
  
  #main_v .btn{
    margin-top:4em;
    height:1em;}
  
  
#main_v:after {
    width: 93%;
    height: 27vw;
    /*bottom: 77vw;*/
    /*top: auto;*/
  
  top:77vw;
}
#main_v:before {
    width: 81%;
    height: 34vw;
  top: 114vw;
    /*top: auto;
    bottom: 34vw;*/
}
  #main_v .btn{
    text-align:center;
  }
  #main_v .btn a{
    display:inline-block;
    /*margin-top:4em;*/
  }

  #news h2 {
    margin-bottom:1em;
}
  #news .flex {
    display:block;
}
  #news dl {
    width: 100%;
}
  #map ul {
    width: 100%;
    display:block;
}
  #map ul li {
    width: 100%;
    margin-right:0px;
    margin-bottom: 1.5em;
}
  #map iframe {
    height: 65vw;
}
  #map ul li div {
    font-size: 1.6rem;
}
  #map ul li div h3 {
    font-size: 2rem;
}
  
#map.others iframe{
  
width:100%;
  
} 
  
#map.others iframe + div{
  
width:100%;
  padding:1.5rem;
  font-size:1.6rem;
} 
  
#map.others iframe + div p a{
  
pointer-events:auto;
}   
  
  #strength h3 {
    font-size: 2.2rem;
}
  #strength ul {
    padding: 2rem 5% 3rem 5%;
    margin-bottom: 5rem;
}
  #strength ul li {
    font-size: 1.6rem;
    background-position:left center;
}
  
#strength ul li .caption{
font-size: 1.4rem;
}  
  
  #bottom{
    display:block;
  }
  #bottom li {
    width: 100%;
    margin-bottom:1em;
}
  #bottom li:last-child {
    margin-bottom:0em;
}
  .btn_back a {
    font-size: 1.6rem;
    margin-top: 4em;
    margin-bottom: 4em;
}
  
  
}
