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

html, body {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline; 
font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI', 'Noto Sans Japanese', sans-serif;
line-height: 1; 
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: #636363;
overflow-x:hidden;
width: 100%;
}

body{
width: 100%;
}

p{
margin-top: 0;
margin-bottom: 0;
}

.pcView {
display: block !important; }
@media (max-width: 568px) {
.pcView {
display: none !important; } }

.spView {
display: none !important; }
@media (max-width: 568px) {
.spView {
display: block !important; } }

a{
color: #636363
}

h2{
margin-top: 0;
margin-bottom: 3%;
font-weight: normal;
}

u{
border-bottom: 2px #636363 dotted;
text-decoration: none;
}

.section-title {
    display: flex;
    justify-content: center;
	align-items: center;
	text-align: center;
    font-size: 30px;
}

.section-title::before ,
.section-title::after {
    content: '';
	width: 70px;
	height: 1px;
	background-color: #8a8a8a;
}

.section-title::before {
    margin-right: 20px;
}

.section-title::after {
    margin-left: 20px;
}

@media (max-width: 800px) {
.section-title {
font-size: 24px;
margin-bottom: 20px;
}

.section-title::before ,
.section-title::after {
    width: 50px;
}
.section-title::before {
    margin-right: 10px;
}

.section-title::after {
    margin-left: 10px;
}
}

#header{
width: 100%;
}

.right {
float: right;
width: 50%;
text-align: right;
padding-top: 5px;
}

.right img{
width: 50%;
}

.left {
float: left;
width: 50%;
}

.left img{
width: 30%;
padding-top: 10px;
}

.header-top{
max-width: 1100px;
margin:0% auto;
width: 100%;
}

.header-main{
width: 100%;
}

.ib {
display: inline-block;
}

#greeting{
max-width: 1100px;
margin:5% auto;	
text-align: center;
width: 100%;
}

#greeting h2{
margin-bottom: 5%;	
}

#greeting p{
margin:2% auto;	
}

#corporate{
max-width: 1100px;
margin:10% auto;	
text-align: center;
line-height: 1.5em;
width: 100%;
}

#corporate table{
width: 80%;
border-collapse: collapse;
border-width: 1px;
margin:2% auto 5% auto;
}

#corporate table tr th{
padding: 2% 1% 2% 2% ;
text-align: left;
border: solid #fff;
border-width: 4px;
vertical-align: middle;
}

#corporate table tr td{
padding: 2% 1% 2% 2% ;
text-align: left;
border: solid #eee;
border-width: 4px;
vertical-align: middle;
}

#corporate table tr th{
width: 25%;
background: #eee;
text-align: center;
}

@media (max-width:768px){
#corporate{
width: 100%;
}
	
#corporate table,
#corporate table tbody,
#corporate table tr,
#corporate table tr th,
#corporate table tr td{
display: block;
}
	
#corporate table{
width: 95%;
border-width: 0 0 1px 0;
margin:0% auto 0% auto;
}
	
#corporate table tr th,
#corporate table tr td{
width: 90%;
padding: 3% 5%;
text-align: left;
border-width: 0px;
}
	
#corporate table tr td{
border-width: 0px 1px 1px 1px;
font-size: 85%;
}
}

#accessmap{
width: 100%;
text-align: center;
}

#contact{
max-width: 1100px;
margin:10% auto;	
width: 100%;
}

#contact h2{
text-align: center;
}

#contact p{
text-align: center;
}

#footer{
width: 100%;
background-color: #636363;
color: #fff;
text-align: center;
padding: 2% 0% 2% 0%;
font-size: 80%;
}

.googlemaps iframe,
.googlemaps object,
.googlemaps embed {
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter: grayscale(100%);
}

.pcView th{
font-weight: normal;
}


@media (max-width: 568px){
.left img{
width: 70%;
}

.right img{
width: 100%;
}

h2 {
margin-bottom:3%;
margin-top: 12%;
font-size: 120%;
text-align: center;
}

#greeting{
width: 90%;
margin:5% auto;	
}
	
#greeting p {
margin: 4% auto;
line-height: 1.5em;
}
}

/* */
#works {
width: 95%;
margin: 10% auto;
text-align: center;
padding-top: 30px;
}

#works .worksBox {
    display: flex;
    flex-wrap: wrap;
}

#works .worksBox .worksItem {
padding-top: 20px;
width: calc(24.3% - 10px *1 / 4);
}

#works .worksBox .worksItem:not(:nth-child(4n + 1)) {
    margin-left: 10px;
}

#works .worksBox .worksItem a {
    text-decoration: none;
}


#works .worksBox .worksItem .worksItemImg img {
width: 100%;
}

#works .worksBox .worksItem .worksItemTD h3 {
font-size: 12px;
text-align: left;
margin: 1em 0.5em 0 0.5em;
line-height: 1.5;
text-decoration: none;
padding-bottom: 20px;
position: relative;
}

#works .worksBox .worksItem .worksItemTD h3::before {
  content: '';
  position: absolute;
  top: calc(37% - 2px);
  right: 0.5px;
  transform: translateY(calc(-50% - 1px)) rotate(30deg);
  width: 12px;
  height: 1px;
  background-color: #636363;
  transition: 0.3s;
}

#works .worksBox .worksItem .worksItemTD h3::after {
  content: '';
  position: absolute;
  top: 37%;
  right: 1.5px;
  transform: translateY(-50%);
  width: 25px;
  height: 1px;
  background-color: #636363;
  transition: 0.3s;
}

#works .worksBox .worksItem .worksItemTD h3:hover::before,
#works .worksBox .worksItem .worksItemTD h3:hover::after {
right: -0.5em;
}

@media (max-width: 800px){
#works {
    padding-top: 15px;
}

#works .worksBox .worksItem {
    width: calc(50% - 10px *1 / 2);
}

#works .worksBox .worksItem:not(:nth-child(4n + 1)) {
    margin-left: 0;
}
#works .worksBox .worksItem:not(:nth-child(2n + 1)) {
    margin-left: 10px;
}
}

@media (max-width: 568px) {
#works {
padding-top: 0;
}

#works .worksBox .worksItem {
    width: 100%;
}

#works .worksBox .worksItem:not(:nth-child(4n + 1)) {
    margin-left: 0;
}
#works .worksBox .worksItem:not(:nth-child(2n + 1)) {
    margin-left: 0;
}


#works .worksBox .worksItem .worksItemImg {
    width: 95%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
}
#works .worksBox .worksItem .worksItemImg img {
    width: 95%;
    height: auto;
}
#works .worksBox .worksItem .worksItemTD h3 {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
}
}

/* */
#workDetail {
width: 95%;
max-width: 1200px;
margin: 0 auto;
text-align: center;
padding-top: 15px;
}

#workDetail .imgBox img {
width:95%;
padding: 15px 0;
}


#instalogo,
#dolivelogo {width: auto; height: 35px; padding: 2px; margin-top: 6px; margin-right: 6px;}
#dolivelogo {border: 1px solid black;}
@media (max-width: 568px){
    #instalogo,
    #dolivelogo {height: 25px;}
}