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


@media screen and (min-width:768px), print{
/*----------------------------------------------------------------------
PC Style
----------------------------------------------------------------------*/

/********** メインビュー **********/

.main_img {
  background: url("../images/company/main_img.jpg") no-repeat center / cover;
}


/**********  メインエリア ***********/

/* 代表挨拶 */

.greeting {
  padding-bottom: calc(100px + 18.594%);
}
.greeting:after {
  content: "";
  width: 100%;
  height: 0;
  background: url("../images/bg_gray01.png") no-repeat left top / 100%;
  padding-bottom: 18.594%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.greeting .inner {
  display: flex;
  justify-content: space-between;
}
.greeting .txt_box {
  width: 605px;
}
.greeting .txt_box h3 {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.66;
  letter-spacing: 0.08em;
  margin-bottom: 40px;
}
.greeting .txt_box p:not(:last-of-type) {
  letter-spacing: 0;
  margin-bottom: 30px;
}
.greeting .img_box {
  width: 425px;
}
.greeting .img_box img {
  width: 100%;
  display: block;
  margin-bottom: 5px;
}
.greeting .img_box p.sig {
  font-weight: 500;
}


/* 会社概要 */

.overview {
  background: #F3F3F3;
  padding-bottom: 30px;
}
.overview .inner {
}
.overview dl {
  width: 900px;
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
}
.overview dl dt{
  width: 240px;
  font-weight: 500;
  padding: 1em 0 1em 0.5em;
  border-bottom: solid 1px var(--red);
}
.overview dl dd{
  width: 660px;
  padding: 1em 0 1em 1em;
  border-bottom: solid 1px #A5A5A5;
}
	.overview dl dt:last-of-type,.overview dl dd:last-of-type{
		border-bottom: none;
	}


/* 沿革 */

.history {
  padding-top: 18.594%;
  padding-bottom: calc(100px + 18.594%);
}
.history:before {
  content: "";
  width: 100%;
  height: 0;
  background: url("../images/bg_gray02.png") no-repeat left bottom / 100%;
  padding-bottom: 18.594%;
  position: absolute;
  top: -1px;
  left: 0;
}
.history:after {
  content: "";
  width: 100%;
  height: 0;
  background: url("../images/bg_gray01.png") no-repeat left top / 100%;
  padding-bottom: 18.594%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.history h2 {
  margin-bottom: 60px;
}
.history .inner {
}
.history dl {
  width: 900px;
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
}
.history dl dt {
  width: 240px;
  font-weight: 500;
  padding: 1em 0 1em 0.5em;
  border-bottom: solid 1px var(--red);
}
.history dl dd {
  width: 660px;
  padding: 1em 0 1em 1em;
  border-bottom: solid 1px #A5A5A5;
}


/* アクセス */

.access {
  background: #F3F3F3;
  padding-bottom: 180px;
}
.access .gmap {
  margin-bottom: 30px;
}
.access .address {
  display: flex;
}
.access .address dl {
  margin-right: 105px;
}
.access .address dl dt {
  font-size: 1.8rem;
  font-weight: 700;
}
.access .address ul {
}
.access .address ul li:nth-child(1) {
  background: url("../images/company/access_car.svg") no-repeat left center / 22px;
  padding-left: 32px;
}
.access .address ul li:nth-child(2) {
  background: url("../images/company/access_bus.svg") no-repeat left center / 22px;
  padding-left: 32px;
}

}




@media screen and (max-width:767px){
/*----------------------------------------------------------------------
SP Style
----------------------------------------------------------------------*/


/********** メインビュー **********/

.main_img {
  background: url("../images/company/main_img.jpg") no-repeat center / cover;
  width: 100%;
  height: 150px;
  margin-top: 60px;
  position: relative;
}
.main_img .inner {
  width: 90%;
  height: 100%;
  position: relative;
}


/**********  メインエリア ***********/

/* 代表挨拶 */

.greeting {
  padding-bottom: calc(50px + 18.594%);
}
.greeting:after {
  content: "";
  width: 100%;
  height: 0;
  background: url("../images/bg_gray01.png") no-repeat left top / 100%;
  padding-bottom: 18.594%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.greeting .inner {
  display: block;
}
.greeting .txt_box {
  width: 100%;
}
.greeting .txt_box h3 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.66;
  letter-spacing: 0.04em;
  margin-bottom: 30px;
}
.greeting .txt_box p:not(:last-of-type) {
  margin-bottom: 20px;
}
.greeting .img_box {
  width: 100%;
  margin-bottom: 30px;
}
.greeting .img_box img {
  width: 100%;
  display: block;
  margin-bottom: 5px;
}
.greeting .img_box p.sig {
  font-weight: 500;
}


/* 会社概要 */

.overview {
  background: #F3F3F3;
  padding: 30px 0 50px;
}
.overview .inner {
}
.overview dl {
  display: block;
  margin: 0 auto;
}
.overview dl dt {
  font-weight: 700;
  position: relative;
  padding-top: 0.5em;
  padding-left: 0.5em;
  margin-bottom: 0.5em;
}
.overview dl dt:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 32%;
  border-top: 1px solid var(--red);
  z-index: 1;
}
.overview dl dt:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  border-top: 1px solid #A5A5A5;
}
.overview dl dd {
  padding-bottom: 0.5em;
  padding-left: 0.5em;
}


/* 沿革 */

.history {
  padding-top: 18.594%;
  padding-bottom: calc(50px + 18.594%);
}
.history:before {
  content: "";
  width: 100%;
  height: 0;
  background: url("../images/bg_gray02.png") no-repeat left bottom / 100%;
  padding-bottom: 18.594%;
  position: absolute;
  top: -1px;
  left: 0;
}
.history:after {
  content: "";
  width: 100%;
  height: 0;
  background: url("../images/bg_gray01.png") no-repeat left top / 100%;
  padding-bottom: 18.594%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.history .inner {
}
.history dl {
  display: block;
  margin: 0 auto;
}
.history dl dt {
  font-weight: 700;
  position: relative;
  padding-top: 0.5em;
  padding-left: 0.5em;
  margin-bottom: 0.5em;
}
.history dl dt:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 32%;
  border-top: 1px solid var(--red);
  z-index: 1;
}
.history dl dt:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  border-top: 1px solid #A5A5A5;
}
.history dl dd {
  padding-bottom: 0.5em;
  padding-left: 0.5em;
}


/* アクセス */

.access {
  background: #F3F3F3;
  padding-bottom: 80px;
}
.access .inner {
  width: 100%;
}
.access .gmap {
  margin-bottom: 30px;
  padding-bottom: 85%;
}
.access .address {
  width: 90%;
  margin: 0 auto;
}
.access .address dl {
  margin-bottom: 20px;
}
.access .address dl dt {
  font-size: 1.8rem;
  font-weight: 700;
}
.access .address dl dd {
}
.access .address ul {
  line-height: 1.8;
}
.access .address ul li {
  margin-bottom: 0.5em;
}
.access .address ul li:nth-child(1) {
  background: url("../images/company/access_car.svg") no-repeat left top 5px / 22px;
  padding-left: 32px;
}
.access .address ul li:nth-child(2) {
  background: url("../images/company/access_bus.svg") no-repeat left top 5px / 22px;
  padding-left: 32px;
}




}




