/* CSS Document */

@charset "utf-8";

/****************************** adding ******************************/

.topHeader {
	margin-bottom: 30px;
    font-size: 170%;
    border-left: #861c3c 6px solid;
	padding: 0px 8px;
}

.anchor {
    display: block;
    padding-top: 190px;
    margin-top: -190px;
}

@media only screen and (max-width: 767px) {
	.anchor {
		display: inherit;
		padding-top: inherit;
		margin-top: inherit;
	}
}

.textherader {
    padding-top: 60px;
    margin-top:-60px;
}

.link--hover02 {
    position: relative;
    overflow: hidden;
}

.link--hover02::before {
    content: "";
    position: absolute;
    border-bottom: 1px solid #3e3a39;
    bottom: 0;
    left: 0;
    display: block;
    -webkit-transition: .5s;
    transition: .5s;
    width: 100%;
    height: 1px;
}

.japan__inner + .japan__inner {
  margin-top: 60px;
}

.japan__inner a {
	text-decoration: none;
}

@media only screen and (max-width: 767px) {
	.japan__inner + .japan__inner {
		margin-top: 50px;
	}
	.japan__inner {
		margin-bottom: 30px;
	}
}

@media print, screen and (min-width: 768px) {
  .japan__inner--link {
    margin-bottom: 40px;
    margin-top: -10px;
  }
}

.japan__inner--link ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
  .japan__inner--link ul {
    margin-bottom: -20px;
  }
}

.japan__inner--link li {
  margin-right: 30px;
  margin-bottom: 10px;
}

@media print, screen and (min-width: 768px) {
  .japan__inner--link li {
    min-width: 110px;
  }
}

@media only screen and (max-width: 767px) {
  .japan__inner--link li {
    width: calc(50% - 5px);
    margin-right: 10px;
    margin-bottom: 18px;
  }
  .japan__inner--link li:nth-child(2n) {
    margin-right: 0;
  }
  .japan__inner--link li:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}

.japan__inner--link li a {
  display: block;
  padding-right: 30px;
  padding-bottom: 5px;
  position: relative;
}

.japan__inner--link li a::after {
  content: '';
  position: absolute;
  width: 9px;
  height: 9px;
  border-right: 1px solid #3e3a39;
  border-bottom: 1px solid #3e3a39;
  top: 2px;
  right: 2px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.japan__contents--image, .japan__contents--map {
  display: inline-block;
}

.japan__contents__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px;
}

@media only screen and (max-width: 767px) {
  .japan__contents__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media print, screen and (min-width: 768px) {
  .japan__contents--image {
    width: 305px;
  }
}

@media only screen and (max-width: 767px) {
  .japan__contents--image {
    text-align: center;
  }
}

.japan__contents--image img {
  max-width: 100%;
}

@media print, screen and (min-width: 768px) {
  .japan__contents--image + .japan__contents--map {
    margin-left: 30px;
  }
}

@media only screen and (max-width: 767px) {
  .japan__contents--image + .japan__contents--map {
    margin-top: 20px;
  }
}

.japan__contents--map {
  position: relative;
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .japan__contents--map {
    width: 495px;
  }
}

@media only screen and (max-width: 767px) {
  .japan__contents--map {
    height: 260px;
  }
}

.japan__contents--map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.japan__contents .googlemap {
  margin-bottom: 20px;
}

@media only screen and (max-width: 767px) {
  .japan__contents .googlemap {
    margin-bottom: 15px;
  }
}

.japan__contents--address {
  margin-bottom: 20px;
}

.japan__contents p {
  line-height: 1.5;
}

@media only screen and (max-width: 767px) {
  .title--arrowBefore::after {
    top: 8px;
  }
}

#company dl{
  padding-bottom: 2px;
    border-bottom: 1px dotted #A2A2A2;
    margin-bottom: 0.4em;
}