@charset "utf-8";

/*========================================================================================================================


  ◇◆◇ 会社概要 ◇◆◇
  
  
========================================================================================================================*/

/*----------------------------------------------------------------------------------------------------

  創業から
  
----------------------------------------------------------------------------------------------------*/

.years {
  line-height:1.4;
  text-align:center;
}

.years--res {
  display:inline-block;
  position:relative;
  padding-bottom:0.5em;
  margin-bottom:0.25em;
}

.years small {
  display:inline-block;
}

.years  br {
  display:none;
}

.years span {
  display:inline-block;
  font-weight:bold;
  margin-left:0.15em;
  margin-right:0.15em;
}

.years-ki {
  width:100%;
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  text-align:center;
  font-weight:normal !important;
}

@media (max-width:767px) {
  .years  br {
    display:inherit;
  }
}


/*----------------------------------------------------------------------------------------------------

  挨拶
  
----------------------------------------------------------------------------------------------------*/

.mess {
  padding-top:1em;
}

.mess .photo {
  max-width:380px;
  float:left;
  vertical-align:bottom;
}

.mess p {
  padding-left:420px;
}

.mess p {
  padding-top:1em;
}

@media (max-width:767px) {
  .mess { text-align:center; }
  
  .mess .photo {
    width:100%;
    max-width:400px;
    float:none;
  }
  
  .mess p {
    padding-left:0;
    text-align:left;
  }
}


/*----------------------------------------------------------------------------------------------------

  ロゴ
  
----------------------------------------------------------------------------------------------------*/

.gLogo {
  border-top:1px solid #dcdcdc;
  text-align:center;
  letter-spacing:-0.5em;
  padding-top:2em;
  padding-bottom:2em;
}

.gLogo img {
  vertical-align:bottom;
  height:200px;
  margin:0 3%;
}

@media (max-width:767px) {
  .gLogo {
    padding-top:1.5em;
    padding-bottom:1.5em;
  }
  
  .gLogo img {
    height:160px;
    margin:0 6%;
  }
}

@media (max-width:500px) {  
  .gLogo img {
    height:120px;
  }
}


/*----------------------------------------------------------------------------------------------------

  写真
  
----------------------------------------------------------------------------------------------------*/

.photoG1 { padding-bottom:0; }

.photoBlock {
  text-align:center;
}

.photoG .photoBlock,
.photoCols { padding-top:50px; }
.photoG .photoBlock:first-child { padding-top:0; }

.photoG img.photo { margin-bottom:1em; vertical-align:bottom; }

.photoGP { letter-spacing:-0.5em; }
.photoGP img { width:540px; }
.photoGP img:first-child { margin-right:20px; }

.photoCols {
  max-width:800px;
  margin-left:auto;
  margin-right:auto;
}
.photoCols .photoBlock {
  width:380px;
  float:left;
  padding-top:0 !important;
}
.photoCols .photoBlock:first-child { margin-right:40px; }

@media (max-width:767px) {
  .photoG .photoBlock { text-align:left; }
  .photoG .photoBlock,
  .photoCols { padding-top:2em; }
  
  .photoGP img { width:49%; }
  .photoGP img:first-child { margin-right:2%; }
  
  .photoCols .photoBlock {
    width:48%;
    text-align:center;
  }
  .photoCols .photoBlock:first-child { margin-right:4%; }
}


/*----------------------------------------------------------------------------------------------------

  会社概要
  
----------------------------------------------------------------------------------------------------*/

.about {
  background-color:#f2f2f2;
}

.about dl {
  width:47.27272%;
  float:left;
  text-align:left;
}

.about dl:last-child {
  float:right;
}

.about dt {
  width:5em;
  float:left;
  clear:both;
  margin-right:-5em;
  padding-top:0.75em;
  padding-bottom:0.75em;
}

.about dd {
  padding-left:5em;
  padding-top:0.75em;
  padding-bottom:0.75em;
  border-bottom:1px dotted #969696;
}

.about dt:first-child,
.about dt:first-child + dd {
  border-top:1px dotted #969696;
}

.about dd ul {
  list-style:inherit;
  margin-left:1.25em;
}

.about dd .ad-b {
  display:block;
}

@media (max-width:767px) {
  .about dl {
    width:100%;
    float:none;
  }
  
  .about dl:last-child {
    margin-top:0;
  }
  
  .about dl:last-child dt:first-child,
  .about dl:last-child dt:first-child + dd {
    border-top:none;
  }
  
  .about dd .ad-b {
    display:inline-block;
    margin-right:1em;
  }
}


/*-----------------------------------------------------------------------------------
  沿革
-----------------------------------------------------------------------------------*/

.history-warp {
  max-width:100%;
  text-align:center;
  background-color:#f2f2f2;
  padding-top:0;
}

.history {
  text-align:center;
  background-color:#fff;
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
}

.history--headline {
  background-color:#2c77c2;
  color:#fff;
  font-weight:normal;
  line-height:1;
  padding:0.75em 1em;
  box-sizing:border-box;
}

.history dl {
  text-align:left;
  display:inline-block;
  margin-left:auto;
  margin-right:auto;
  padding:1.5em;
}

.history dt,
.history dd span {
  color:#0f64b9;
}

.history dt {
  font-size:106.3%;
  font-weight:bold;
  width:6em;
  float:left;
  margin-right:-6em;
  margin-top:0.35em;
  box-sizing:border-box;
  position:relative;
}

.history dt:first-child {
  margin-top:0;
}

.history dt span {
  display:inline-block;
  text-align:right;
  width:4em;
}

.history dt span:after {
  content:"";
  width:10px;
  height:10px;
  background-color:#2c77c2;
  border:4px solid #fff;
  border-radius:10px;
  display:inline-block;
  position:absolute;
  right:0;
  top:0.35em;
  margin-right:-2.5px;
  z-index:3;
}
  
.history dd {
  margin-left:6em;
  padding-left:4.5em;
  padding-top:0.5em;
  border-left:1px solid #b7d0ea;
  position:relative;
}

.history dt:first-child+dd {
  padding-top:0.15em;
}

.history dd span {
  width:2.5em;
  text-align:right;
  display:inline-block;
  margin-left:-3.5em;
  margin-right:1em;
}

.history dd.history--start:before,
.history dd.history--end:before {
  content:"";
  width:1em;
  display:inline-block;
  position:absolute;
  left:-0.5em;
  z-index:2;
  background-color:#fff;
}

.history dd.history--start:before {
  top:0;
  height:1.5em;
}

.history dd.history--end:before {
  top:1.5em;
  height:50%;
}

@media (max-width:767px) {
  .history dl {
    display:block;
    padding:1.25em;
  }
  
  .history dt span:after {
    top:0.3em;
  }
}

@media (max-width:640px) {
  .history dl {
    padding:1em;
  }
  
  .history dt span:after {
    top:0.15em;
    left:0;
  }
  
  .history dt {
    display:block;
    float:none;
    margin-left:0;
    margin-bottom:0;
    margin-top:0;
    padding-left:1.25em;
  }

  .history dd,
  .history dt:first-child+dd {
    display:block;
    float:none;
    padding-top:0;
    margin-left:8px;
    padding-bottom:1em;
  }
  
  .history dt span:after {
    top:0.35em;
  }
  
  .history dd:last-child {
    padding-bottom:0.25em;
  }
  
  .history dd span {
    margin-left:-3.65em;
  }
  
  .history dd.history--start:before {
    display:none;
  }

  .history dd.history--end:before {
    top:0;
    height:100%;
  }
}

@media (max-width:500px) {  
  .history dt span:after {
    top:0.15em;
  }
}


/*-----------------------------------------------------------------------------------
  マップ
-----------------------------------------------------------------------------------*/

#gmap-warp {
  max-width:100%;
  padding-bottom:0;
  box-sizing:border-box;
}

@media (min-width:768px) {
  #gmap-warp {
    max-width:100%;
    padding-left:30px;
    padding-right:30px;
  }
}

#gmap {
	width:100%;
	height:500px;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
  background-color:#fff;
}

#infowindow {
  margin:0;
  padding:0.75em 0 0 0;
  font-size:90%;
  text-align:left;
}

#infowindow h6 {
  font-weight:normal;
  font-size:135%;
}

@media (max-width:767px) {
  #gmap-warp {
  }
  
  #gmap {
    height:400px;
  }
}

@media (max-width:500px) {
	#gmap {
		height:300px;
	}
}


/*----------------------------------------------------------------------------------------------------

  スタッフ
  
----------------------------------------------------------------------------------------------------*/

.staff {
  border-top:1px solid #dcdcdc;
  max-width:100%;
}

.staff p {
  text-align:center;
}

.film {
  margin-top:2em;
  margin-bottom:2em;
  line-height:0;
  text-align:center;
}

@media (max-width:767px) {
  .staff p {
    text-align:left;
  }

  .staff p br.sp-none {
    display:none;
  }
}


