@charset "utf-8";

/*-----------------------------------------------------------------
　　　固定ページ共通
*-----------------------------------------------------------------*/
.home #wrapper, 
.page-template-page-business #wrapper, 
.page-template-page-company #wrapper, 
.page-template-page-greeting #wrapper {
  width: 100%!important;
  margin: 0;
  padding: 0 0 50px;
}
.footercontact {
  margin: 0 0 -50px;
  padding: 100px 0;
  text-align: center;
  background-color: #eee;
}
/*--- フッターのCONTACT ---*/
.footer_contact {
  width: 100%;
  max-width: 600px;
  min-width: 250px;
  margin: 50px auto;
  padding: 50px;
  text-align: center;
  background-color: #FF9372;
  border-radius: 75px 0;
}
.footer_contact h2 {
  text-align: center !important;
  color: #c00;
  font-weight: 500;
}
.footer_contact p {
  margin: 0 0 30px !important;
}
.footer_contact ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.footer_contact ul li {
  display: inline-block;
  position: relative;
  width: 45%;
  height: 3em;
  margin: 0;
  padding: 0;
  font-size: 16px;
  list-style-type: none;
  background: #fff;
  border: 1px solid #333;
  transition: .3s;
}
.footer_contact ul li::after {
  position: absolute;
  right: 1px;
  bottom: 1px;
  content: '';
  border-top: 10px solid transparent;
  border-left: 10px solid transparent;
  border-right: 10px solid #FF8300;
  border-bottom: 10px solid #FF8300;
  box-sizing: border-box;
}
.footer_contact ul li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  padding: 0;
  vertical-align: middle;
  text-decoration: none;
  color: #333;
  line-height: 3em;
}
.footer_contact .material-icons {
  margin: 0 5px 0 0;
}
.footer_contact ul li:hover {
  transform: scale(1.1);
  transition: .3s;
}
/*-----------------------------------------------------------------
　　　トップページ
*-----------------------------------------------------------------*/
.toppage01 {
  position: relative;
  margin: 0;
  padding: 350px 0;
  color: #fff;
  background: url("images/b001_03.jpg") top no-repeat;
  background-size: cover;
  background-attachment: fixed;
  z-index: -50;
}
.toppage01 h1 {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  color: #000;
  font-size: 100px;
  text-align: center;
  font-weight: bold;
  line-height: 3.5rem;
}
.toppage01 h1 span {
  font-size: 24px;
}
.toppage02 {
width: 50%;
margin: 100px auto;
padding: 0;
}
.toppage_nav {
  margin: 0;
  padding: 100px 0;
}
.toppage_nav ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: stretch;
  margin: 0;
  padding: 0;
}
.toppage_nav ul li {
  position: relative;
  width: 25%;
  height: 350px;
  margin: 0;
  padding: 0;
  text-align: center;
}
.toppage_nav ul li img {
  width: 100%;
height: 250px;
object-fit: cover;
overflow: hidden;
}
.toppage_nav_photo {
object-fit: cover;
overflow: hidden;
}
.toppage_nav ul li img:hover {
  transform: scale(1.2);
  transition-duration: 0.5s;
}
.toppage_nav ul li p {
  position: absolute;
  margin: 1rem 0;
  line-height: 1.2rem;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  overflow: visible;
}
.toppage_nav ul li p span {
  font-size: 12px;
  coloer: #444;
}

.toppage_nav ul li a {
  color: #000;
}
.toppage_nav ul li a:hover {
  color: #c00;
}
.dengonban, .sintyaku {
  width: 1200px;
  margin: 100px auto;
  padding: 0;
}
.dengonban dl dt, .sintyaku dl dt {
  margin: 0;
  padding: 0;
}
.dengonban dl dd, .sintyaku dl dd {
  width: 75%;
  margin: 0 0 0 auto;
  padding: 0;
}
.sintyaku_blog {
	display: inline-block;
	margin: 50px 0 0;
	padding: .5rem 1rem;
	color: #fff;
	background-color: #ff6633;
}
.sintyaku_blog:hover {
	transform: scale(1.2);
	color: #fff;
}
.toppage04 {
  position: relative;
  width: 75vw;
  height: 75vh;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.toppage04 img {
  width: 100%;
  position: absolute;
  bottom: 0;
}
.toppage05 {
  position: relative;
  width: 75vw;
  height: 75vh;
  margin: 0 0 0 auto;
  padding: 0;
  overflow: hidden;
}
.toppage05 img {
  width: 100%;
  position: absolute;
  bottom: 0;
}
.toppage03 {
  margin: 200px 0 100px;
  padding: 0;
  text-align: center;
}
.toppage03 ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: stretch;
}
.toppage03 ul li {
  width: 20%;
  margin: 1%;
  padding: 1%;
}

/*-----------------------------------------------------------------
　　　事業内容
*-----------------------------------------------------------------*/
.business {
	margin: 100px 0 0;
	padding: 0;
}
.business h2 {
	margin: 100px 0 0;
	padding: 0;
	text-align: center;
}
.business p {
	width: 60%;
	margin: 100px auto;
}
.business01,
.business03 {
  width: 75vw;
  height: 75vh;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.business02,
.business04 {
  width: 75vw;
  height: 75vh;
  margin: 0 0 0 auto;
  padding: 0;
  overflow: hidden;
}
/*-----------------------------------------------------------------
　　　会社概要
*-----------------------------------------------------------------*/
.company01 {
  width: 100%;
  max-width: 1080px;
  min-width: 250px;
  margin: 0 auto;
  padding: 0;
}
.company01 table {
  width: 100%;
  margin: 0 0 50px;
  padding: 0;
  border-collapse: collapse;
}
.company01 table tbody tr th {
  width: 20%;
  margin: 0;
  padding: 15px 5px;
  font-weight: normal;
  text-align: center;
  background-color: #f1f1f1;
  border: 1px solid #CCC;
}
.company01 table tbody tr td {
  width: 80%;
  margin: 0;
  padding: 15px 5px 15px 20px;
  border: 1px solid #CCC;
}
.map { /*地図をレスポンシブ化*/
  position: relative;
  width: 100%;
  padding-bottom: 75%;
  height: 0;
  overflow: hidden;
  margin-bottom: 50px;
}
.map iframe, .mapr object, .map embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*-----------------------------------------------------------------
　　　代表者挨拶
*-----------------------------------------------------------------*/
.greeting_photo {
  width: 75vw;
  height: 75vh;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.greeting01 {
	width: 50%;
	margin: 100px 200px 100px auto;
	padding: 0;
}
.greeting02 {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto 80px;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.greeting02L {
  width: 45%;
  margin: 0;
  padding: 0;
}
.greeting02L table {
  width: 100%;
  margin: 0;
  padding: 0;
  border-collapse: collapse;
}
.greeting02L table tbody tr th {
  width: 25%;
  margin: 0;
  padding: 5px 20px;
  font-weight: normal;
  text-align: center;
  background-color: #f1f1f1;
  border: 1px solid #CCC;
}
.greeting02L table tbody tr td {
  margin: 0;
  padding: 5px 20px;
  border: 1px solid #CCC;
}
.greeting02R {
  width: 45%;
  margin: 0;
  padding: 0;
}
.greeting02R ul {
  margin: 0 0 0 15px;
  padding: 0;
}
.greeting02R ul li {
  margin: 0;
  padding: 0;
  list-style: none;
}
