@charset "UTF-8";
/* ==========================================================================
//
// COMPANY
//
========================================================================== */
/* hero-page
---------------------------------------------------------- */
.hero-page{
  margin: 0 0 100px;
  background-image: url(../img/mainimg_01.jpg);
  background-position: center center;
}
/* ==========================================================================
// area-greeting
========================================================================== */
.area-greeting{
  padding: 110px 0 105px;
  background-image: linear-gradient(0deg, #e8e8e8, #f7f7f7);
  /* background-size: cover; */
  color: #212529;
}
.area-greeting .inner{
  max-width: 800px;
  /* max-width: 1064px; */
  margin: 0 auto;
  padding: 0 20px;
}
.area-greeting .ttl-area{
  margin: 0 0 25px;
  font-size: 22px;
  letter-spacing: 0.1em;
}
.area-greeting .txt,
.area-greeting .txt-name{
}
.area-greeting .txt{
  margin: 0 0 45px;
}
.area-greeting .txt-name{
  display: flex;
  justify-content: flex-end;
  gap: 0 20px;
  align-items: center;

}
.area-greeting .txt-name span{
}
.area-greeting .txt-name span.name{
}
.area-greeting .txt-name img{
  vertical-align: middle;
}
/* ==========================================================================
// area-motto
========================================================================== */
.area-motto{
  padding-top: 150px;
  text-align: center;
}
/* ==========================================================================
// area-overview
========================================================================== */
.area-overview{
  padding: 150px 0 100px;
}
.area-overview .ttl-area{
  margin: 0 0 100px;
  text-align: center;
  font-size: 22px;
  letter-spacing: 0.1em;
}
.area-overview .tbl-overview{
  width: 100%;
  border-top: 1px solid #646464;
  border-bottom: 1px solid #646464;
}
.area-overview .tbl-overview > tbody > tr > th,
.area-overview .tbl-overview > tbody > tr > td{
  padding: 35px 0;
  border-bottom: 1px solid #646464;
  line-height: 1.5;
}
.area-overview .tbl-overview > tbody > tr > th{
  width: 41.5%;
  text-align: left;
  vertical-align: top;
  letter-spacing: 0.1em;
}
.area-overview .tbl-overview > tbody > tr.founded div{
  display: flex;
  justify-content: space-between;
}
.area-overview .tbl-overview > tbody > tr.founded .txt{
  min-width: 100px;
}
.area-overview .tbl-overview > tbody > tr.founded .photo{
}
.area-overview .tbl-overview > tbody > tr.founded .photo img{
  vertical-align: bottom;
  border: 1px solid #ccc;
}
/* list */
.area-overview .tbl-overview .list li + li{
  margin-top: 3px;
}

/* tbl-sub
---------------------------------------------------------- */
.area-overview .tbl-overview .tbl-sub th{
  text-align: left;
  font-weight: normal;
}
.area-overview .tbl-overview .tbl-sub th,
.area-overview .tbl-overview .tbl-sub td{
  padding: 0 0 3px;
}
/* tbl-sub-01 */
.area-overview .tbl-overview .tbl-sub-01 th{
  padding: 0 70px 0 0;
}
.area-overview .tbl-overview .tbl-sub-01 td .small{
  font-size: 12px;
}
/* tbl-sub-02 */
.area-overview .tbl-overview .tbl-sub-02 th{
  padding: 0 35px 0 0;
}
.area-overview .tbl-overview .tbl-sub-02 tr td:nth-child(2){
  padding: 0 5px 0 0;
}
.area-overview .tbl-overview .tbl-sub-02 tr:nth-child(1) .space,
.area-overview .tbl-overview .tbl-sub-02 tr:nth-child(4) .space{
  display: inline-block;
  letter-spacing: 2em;
  margin-right: -2em;
}

/* tbl-sub-03 */
.area-overview .tbl-overview .tbl-sub-03 th{
  padding: 0 55px 0 0;
}
/* tbl-sub-04 */
.area-overview .tbl-overview .tbl-sub-04 th{
  padding: 0 20px 0 0;
}

/* sec-address
---------------------------------------------------------- */
.area-overview .sec-address{
  padding: 40px 0 100px;
  border-bottom: 1px solid #646464;
}
.area-overview .sec-address .ttl-sec{
  margin: 0 0 95px;
  letter-spacing: 0.1em;
}
.area-overview .sec-address .box-no-photo{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 90px;
}
.area-overview .sec-address .box-no-photo .gmap,
.area-overview .sec-address .box-photo .gmap{
  width: 48%;
}
.area-overview .sec-address .box-no-photo .gmap div,
.area-overview .sec-address .box-photo .gmap div {
  position: relative;
  width: 100%;
  padding-top: 60.41%;
}
.area-overview .sec-address .box-no-photo .gmap div iframe,
.area-overview .sec-address .box-photo .gmap div iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* list */
.area-overview .sec-address .box-no-photo .list dt,
.area-overview .sec-address .box-photo .list dt{
  margin: 0 0 5px;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.area-overview .sec-address .box-no-photo .list dt .space,
.area-overview .sec-address .box-photo .list dt .space{
  letter-spacing: 1.5em;
}
.area-overview .sec-address .box-no-photo .list dd,
.area-overview .sec-address .box-photo .list dd{
  line-height: 1.7;
}
.area-overview .sec-address .box-no-photo .list a,
.area-overview .sec-address .box-photo .list a{
  color: #000;
}
/* box-photo */
.area-overview .sec-address .box-photo .list{
  margin: 0 0 30px;
}
.area-overview .sec-address .box-photo .img-photo{
  width: 48%;
  float: left;
}
.area-overview .sec-address .box-photo .img-photo img{
  vertical-align: bottom;
}
.area-overview .sec-address .box-photo .gmap{
  float: right;
}
/* headOffice */
/* hakodate */
.area-overview .sec-address .headOffice,
.area-overview .sec-address .hakodate,
.area-overview .sec-address .sapporo{
  margin: 0 0 70px;
}
/* obihiro */
.area-overview .sec-address .obihiro .gmap{
}
/* ==========================================================================
// area-affiliated
========================================================================== */
.area-affiliated{
  position: relative;
  margin: 0 0 100px;
  padding: 145px 20px 100px;
  text-align: center;
  color: #fff;
  overflow: hidden;
}
.area-affiliated:after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  transition: transform .5s ease;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: url(../img/bg_affiliated_01.jpg) center center no-repeat; 
  background-size: cover;
}
.area-affiliated:hover:after{
  transform: scale(1.05);
}
.area-affiliated .ttl-area{
  margin: 0 0 30px;
  font-size: 20px;
  font-weight: normal;
  letter-spacing: 0.1em;
}
.area-affiliated .ttl-area span{
  display: inline-block;
  margin: 0 0 10px;
  font-size: 40px;
  font-family: 'Teko', sans-serif;
  letter-spacing: 0.1em;
}
.area-affiliated .logo-sanwa{
  margin: 0 0 10px;
  line-height: 1;
}
.area-affiliated .logo-sanwa img{
  max-height: 60px;
}
.area-affiliated .txt-name{
  margin: 0 0 15px;
  font-weight: bold;
}
.area-affiliated .list li + li{
  margin: 15px 0 0;
}
.area-affiliated .list .txt-address{
  margin: 0 0 5px;
  font-size: 14px;
}
.area-affiliated .list .txt-tel{
  font-size: 27px;
  font-weight: 700;
  font-family: 'Roboto Condensed', sans-serif;
  line-height: 1;
  letter-spacing: 0.01em;
}
.area-affiliated .list .txt-tel a{
  font-size: 32px;
  color: #fff;
}