@charset "UTF-8";

html {
  font-size: 62.5%;
}

*, *::before, *::after {
  box-sizing: border-box;
}

body {
  background-color: #fff;
  color: #281F1C;
  text-align: center;
  font-size: 1.5rem;
  font-family: "Meiryo", "Hiragino Kaku Gothic ProN",  sans-serif;
  line-height: 1.8;
}

ul {
  list-style: none;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

a {
  text-decoration: none;
  color: #000;
}


/* 共通 */

#page-top {
 display:inline-block;
 position:fixed;
 bottom:0;
 right:1%;
  z-index: 9999;
}

#page-top img {
  height: 52px;
}

.contents {
  width: 1000px;
  margin: 0 auto;
}

.heading-wrapper {
}

.heading-top {
  padding-top: 70px;
}

.heading {
  font-size: 3rem;
  font-weight: normal;
  line-height: 1;
  margin-bottom: 25px;
}

.second-heading {
  font-size: 2.1rem;
  line-height: 1;
  font-weight: normal;
}

.section-general {
  border-bottom: 3px solid #000;
  margin-bottom: 100px;
}


/* 共通のフェードインアニメーション */

.fade-in-animation {
	opacity : 0;
	visibility: hidden;
	transition: 1.5s;
	transform: translateY(30px);
}

.fade-in-animation-right {
	opacity : 0;
	visibility: hidden;
	transition: 1.5s;
	transform: translateX(60px);
}

.fade-in-animation-left {
	opacity : 0;
	visibility: hidden;
	transition: 1.5s;
	transform: translateX(-60px);
}

.active {
	opacity: 1;
	visibility: visible;
	 transform: translateY(0) translateX(0);
  -webkit- transform: translateY(0) translateX(0);
}


/* 共通 access */

.access {
  margin-bottom: 150px;
}

.map {
  margin: 40px auto 30px;
}

.address {
  display: flex;
  flex-wrap: wrap;
}

.address dt {
  font-size: 2.1rem;
  width: 450px;
  text-align: right;
  margin-right: 50px;
}

.address-detail {
  text-align: left;
}

.address-detail dd {
  margin-top: 8px;
  margin-bottom: 15px;
}


/* header */

.header-first {
  width: 550px;
  height: 50px;
  background-color: #26B7BC;
}

.header-first p {
  display: inline-block;
  font-size: 2.1rem;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  padding: 17px 0
}


.header-first img {
  width: 20px;
  margin: 0 20px;
}

.current {
  background-color: #9FA0A0;
  color: #fff;
}

.header-second {
  height: 50px;
  width: 100%;
}

.header-list {
  display: flex;
  width: 100%;
  height: 50px;
}

.header-list li {
  line-height: 1;
  width: 12.5%;
  border-top: 3px solid #000;
  border-bottom: 3px solid #000;
  border-left: 3px solid #000;
  transition: 0.5s;
}

.header-list li:first-child {
  border-left: none;
}

.header-list li:hover {
  background-color: rgba(38, 183, 188, 0.5);
}

.header-list li a {
  display: inline-block;
  height: 100%;
  width: 100%;
  padding: 17.5px 0;
}

@media screen and (max-width:1250px) {
  .header-list li a {
    font-size: 1.2vw;
}
}




/* footer */

footer{
  background-color: #26B7BC;
  color: #fff;
  line-height: 2;
  background-image:
    radial-gradient(#fff 1%, transparent 15%),
    radial-gradient(#fff 1%, transparent 15%);
  background-size: 10px 10px;
  background-position: 0 0, 5px 5px;
}

.footer-wrapper{
  display: flex;
  text-align: left;
  padding: 50px 0 35px;
}

.footer-left {
  width: 350px;
  margin-right: 50px;
}

.footer-title-left {
  font-size: 1.5rem;
  font-weight: bold;
  border-bottom: 3px solid #fff;
  margin-bottom: 15px;
}

.footer-left p {
  margin-left: 25px;
}

.footer-title-left-wrapper:first-child {
  margin-bottom: 70px;
}

.footer-right {
  width: 600px;
}

.footer-title-right {
  font-size: 1.5rem;
  font-weight: bold;
  border-bottom: 3px solid #fff;
  margin-bottom: 15px;
}

.footer-right-contents {
  display: flex;
}

.footer-right-contents p:first-child {
  margin-right: 50px;
}

.copy-right {
  background-color: #26B7BC;
  text-align: right;
  padding: 15px 0 20px;
}

.copy-right p {
  margin-right: 50px;
}


/* home ページ */

.illust-top {
  width: 1100px;
  margin: 0 auto;
}

/* home map */

.map-top .heading-wrapper {
  font-weight: bold;
}

.map-top .heading {
  font-weight: bold;
}

.map-click {
  margin: 80px auto 40px;
}

.map-wrapper {
  width: 830px;
  height: 630px;
  position: relative;
  margin: 0 auto;
}

.map-illust {
  margin-top: 40px;
  width: 655px;
  position: absolute;
  top: 67px;
  left: 110px;
}

.wakaba-left {
  width: 226px;
  position: absolute;
  left: 0;
  top: 0px;
}

.wakaba-center {
  width: 140px;
  position: absolute;
  left: 289px;
  top: 0;
}

.wakaba-right {
  width: 260px;
  position: absolute;
  left: 511px;
  top: 15px;
}

.kinjou-map {
  width: 237px;
  position: absolute;
  left: 0;
  top: 366px;
}

.tsubaki-center {
  width: 156px;
  position: absolute;
  left: 310px;
  top: 420px;
}

.tsubaki-right {
  width: 290px;
  position: absolute;
  left: 540px;
  top: 448px;
}

/* home address */

.contact {
  margin-bottom: 160px;
}

.contact-wrapper {
  display: flex;
  flex-wrap: wrap;
}

.contact-left {
  margin-right: 100px;
}

.corporation {
  margin-top: 265px;
}

.corporation p {
  text-align: left;
  margin-top: 40px;
  margin-left: 15px;
}

.contact-title {
  font-size: 2.1rem;
  font-weight: normal;
  list-style: 1;
  width: 450px;
  height: 60px;
  padding: 13px 0;
  border-radius: 60px;
  background-color: #231816;
  color: #fff;
  background-image:
    radial-gradient(#fff 5%, transparent 10%),
    radial-gradient(#fff 5%, transparent 10%);
  background-size: 10px 10px;
  background-position: 0 0, 5px 5px;
}

.kinjou-title {
  background-color: #F6AD3C;
}

.corporation-title {
  background-color: #231816;
  background-image:
    radial-gradient(#57433d 10%, transparent 15%),
    radial-gradient(#57433d 10%, transparent 15%);
}

.wakaba-title {
  background-color: #26B7BC;
}


.contact-content {
  width: 450px;
  text-align: left;
}

.contact-content dt {
  font-size: 2.1rem;
  line-height: 1;
  margin: 40px 0 20px 15px;
}

.contact-content dd {
  margin-left: 15px;
  
}

.dots::after {
  content: "";
  width: 400px;
  height: 3px;
  display: inline-block;
  background-size: 8px 3px;
  background-image: linear-gradient(to right, #000, #000 3px, transparent 3px, transparent 8px);
  margin: 35px auto 0;
}

.border::after {
  content: "";
  width: 450px;
  height: 3px;
  display: inline-block;
  background-color: #000;
  margin: 35px auto 0;
}


/* overview ページ */

.top-border::after {
  content: "";
  width: 1000px;
  height: 3px;
  display: inline-block;
  background-color: #000;
  margin: 0 auto 50px;
}

/* overview ページ policy */

.policy-text {
  display: inline-block;
  text-align: left;
  margin: 0 auto;
  padding: 80px 0;
}

.documento-links {
  padding-bottom: 30px;
}

.documento-list-wrapper {
  display: flex;
  width: 900px;
  margin: 0 auto 80px;
}

.documento-list {
  width: 400px;
  margin-right: 100px;
}

.documento-list:nth-child(3n){
  margin-right: 0;
}

.documento-list dt {
  width: 400px;
  height: 60px;
  line-height: 1;
  font-size: 2.1rem;
  padding: 20px 0;
  border-radius: 60px;
  background-color: #231816;
  color: #fff;
  background-image:
    radial-gradient(#57433d 10%, transparent 15%),
    radial-gradient(#57433d 10%, transparent 15%);
  background-size: 10px 10px;
  background-position: 0 0, 5px 5px;
  margin-bottom: 40px;
}

.documento-list dd {
  text-align: left;
  margin-bottom: 25px;
  margin-left: 30px;
  width: 255px;
}

.documento-list dd:last-child {
  margin-bottom: 0;
}

.documento-list dd span {
  display: inline-block;
  width: 180px;
  float: right;
}

.documento-list dd a {
  display: inline-block;
  border-bottom: 1px solid #000;
  line-height: 0.8;
}

/* organization */

.organization {
  border-top: 3px solid #000;
  width: 100%;
  padding-top: 100px;
}

.organization img {
  width: 980px;
  margin: 80px auto 70px;
}

/* history */

.history-table {
  text-align: left;
  line-height: 2;
  color: #281F1C;
  margin: 0 auto;
  width: 900px;
  padding-top: 30px;
  padding-bottom: 60px;
}

.dotted-border {
  width: 100%;
  height: 1px;
  background-image: url(../images/overview/dotted.jpg);
  background-size: 6px 1px;
  background-repeat: repeat-x;
  margin-bottom: 1px;
}

.history-box {
  display: flex;
  margin: 0 auto;
}

.year-month {
  width: 900px;
}

.year-month .history-left p {
  width: 120px;
  margin-right: 40px;
  margin-left: 30px;
}

.only-month {
  width: 789px;
  margin-left: 111px;
}

.only-month .history-left p {
  margin-right: 40px;
  width: 40px;
}

/* hand book ＆ media */

.hand-book img {
  width: 95px;
  margin: 70px auto 60px;
}


.click-pdf {
  line-height: 1;
  margin-bottom: 50px;
}

.magazine-list {
  display: flex;
  flex-wrap: wrap;
  margin: 70px auto 60px;
  width: 670px;
}

.magazine-list li {
  margin-right: 50px;
}

.magazine-list li:last-child {
  margin-right: 0;
}

.magazine-list a img {
  width: 70px;
}


/* rcruitment */

.recruitment .heading {
  font-weight: bold;
}

.recruitment .heading-wrapper {
  font-weight: bold;
}

.recruitment {
  margin-bottom: 160px;
}

.apply {
  margin-bottom: 80px;
}

.leaflet {
  margin-bottom: 30px;
}

.apply h2 {
  width: 300px;
  height: 60px;
  padding: 18.5px 0;
  color: #231816;
  border-radius: 60px;
  border: 3px solid #231816;
  margin: 80px auto 40px;
  transition: 0.3s;
}

.apply h2:hover {
  background-color: #231816;
  color: #fff;
  background-image:
    radial-gradient(#57433d 10%, transparent 15%),
    radial-gradient(#57433d 10%, transparent 15%);
  background-size: 10px 10px;
  background-position: 0 0, 5px 5px;
}

.contact-recruit h2 {
  width: 300px;
  height: 60px;
  padding: 18.5px 0;
  background-color: #231816;
  border-radius: 60px;
  color: #fff;
  background-image:
    radial-gradient(#57433d 10%, transparent 15%),
    radial-gradient(#57433d 10%, transparent 15%);
  background-size: 10px 10px;
  background-position: 0 0, 5px 5px;
  margin: 0 auto 40px;
}


@media screen and (max-width:1000px) {

.illust-top {
  width: 95%;
  margin: 0 auto;
}
  
}


@media screen and (max-width:780px) {
  
  body {
  font-size: 1.4rem;
  line-height: 1.8;
}
  
  .wrapper {
    width: 100%;
  }
  
  .contents {
    width: 90%;
    margin: 0 5%;
    padding: 0;
  }
  
  .heading-top {
  padding-top: 70px;
}
  
.heading {
  font-size: 2.5rem;
  line-height: 1.1;
}

.second-heading {
  font-size: 1.8rem;
}
  

/* header */

.header-first {
  width: 100%;
  height: auto;
}

.header-first p {
  display: block;
  font-size: 2.1rem;
  line-height: 1;
  padding: 17.5px 0;
}


.header-first img {
  width: 20px;
  margin: 0 auto;
}


.header-second {
  display: block;
  height: auto;
  width: 100%;
}

.header-list {
  display: block;
  width: 100%;
  height: auto;
  background-color: #fff;
}

.header-list li {
  line-height: 1;
  width: 100%;
  border-top: none;
  border-bottom: 3px solid #000;
  border-left: none;
  transition: 0.5s;
}

.header-list li:first-child {
  border-left: none;
}
  
.header-list li a {
  display: inline-block;
  height: 100%;
  width: 100%;
  padding: 17.5px 0;
  font-size: 1.4rem;
}
  
.header-navi-wrapper {
  display: none;
  position: fixed;
  z-index: 9000;
  width: 100%;
  top: 0;
  left: 0;
}  
  
/* header ハンバーガメニュー */
  
  
.header-navi-trigger{
  display: inline-block;
  position: fixed;
  top: 3px;
  right: 3px;
  background-color: #333333;
  border-radius: 2px;
  z-index: 9999;
}
  
.header-menu, .header-menu span {
  display: inline-block;
  transition: all .4s;
}

.header-menu {
  position: relative;
  width: 35px;
  height: 38px;
}

.header-menu span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #fff;
}

.header-menu:nth-of-type(1) {
  top: 6px;
}

.header-menu span:nth-of-type(2) {
  top: 15px;
}

.header-menu span:nth-of-type(3) {
  top: 30px;
}

.header-menu.active span:nth-of-type(1) {
  -webkit-transform: translateY(5px) rotate(-45deg);
  transform: translateY(16px) rotate(-45deg);
}

.header-menu.active span:nth-of-type(2) {
  opacity: 0;
}

.header-menu.active span:nth-of-type(3) {
  -webkit-transform: translateY(-5px) rotate(45deg);
  transform: translateY(-13px) rotate(45deg);
}
  
  
/* footer responsive */
  

.footer-wrapper{
  display: block;
}

.footer-left {
  width: 100%;
  margin-right: 0;
}
  
.footer-title-left-wrapper:first-child {
    margin-bottom: 50px;
  }

.footer-title-left-wrapper {
  margin-bottom: 50px;
}

.footer-right {
  width: 100%;
}

.footer-right-contents {
  display: block;
}

.footer-right-contents p:first-child {
  margin-right: 0;
}

.copy-right {
  text-align: center;
  padding: 15px;
}

.copy-right p {
  margin-right: 0px;
}
  
/* 共通 access responsive */

.access {
  margin-bottom: 150px;
}

.map {
  margin: 40px auto 30px;
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
  
.map iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

.address {
  display: block;
}

.address dt {
  text-align: center;
  width: 100%;
  font-size: 1.8rem;
}

.address-detail {
  text-align: center;
}

.address-detail dd {
  margin: 8px auto 15px;
}
  
/* home ページ */

/* home map */

  
  
.map-click {
  margin: 80px auto 40px;
}

.map-wrapper {
  width: 100%;
  height: auto;
  position: relative;
  margin: 0 auto;
  padding: 70px 0;
}

.map-illust {
  margin-top: 0px;
  width: 100%;
  position: static;
  top: auto;
  left: auto;
  margin-left: 5%;
}

.wakaba-left {
  width: 25%;
  position: absolute;
  left: 0;
  top: 0px;
}

.wakaba-center {
  width: 20%;
  position: absolute;
  left: 40%;
  top: 0;
}

.wakaba-right {
  width: 30%;
  position: absolute;
  left: 70%;
  top: 2%;
}

.kinjou-map {
  width: 30%;
  position: absolute;
  left: 3%;
  bottom: 10%;
  top: auto;
}

.tsubaki-center {
  width: 25%;
  position: absolute;
  left: 36%;
  top: auto;
  bottom: 5%;
}

.tsubaki-right {
  width: 30%;
  position: absolute;
  left: 70%;
  top: auto;
  bottom: 10%;
}

/* home address */

.contact {
  margin-bottom: 160px;
}

.contact-wrapper {
  display: block;
}

.contact-left {
  margin: 0 auto;
}

.corporation {
  margin-top: 100px;
}

.corporation p {
  text-align: left;
  margin: 40px auto 100px;
  width: 90%;
  font-size: 1rem;
}

.contact-title {
  font-size: 1.8rem;
  font-weight: normal;
  list-style: 1;
  width: 95%;
  height: 60px;
  padding: 13px 0;
  border-radius: 60px;
  background-color: #231816;
  color: #fff;
  background-image:
    radial-gradient(#fff 5%, transparent 10%),
    radial-gradient(#fff 5%, transparent 10%);
  background-size: 10px 10px;
  background-position: 0 0, 5px 5px;
  margin: 0 auto;
}

.kinjou-title {
  background-color: #F6AD3C;
}

.corporation-title {
  background-color: #231816;
  background-image:
    radial-gradient(#57433d 10%, transparent 15%),
    radial-gradient(#57433d 10%, transparent 15%);
}

.wakaba-title {
  background-color: #26B7BC;
}


.contact-content {
  width: 90%;
  text-align: left;
  margin: 0 auto;
}

.contact-content dt {
  font-size: 1.6rem;
  line-height: 1.2;
  margin: 40px auto 15px;
}

.contact-content dd {
  margin-left: 0;
  font-size: 1rem;
}

.dots::after {
  content: "";
  width: 100%;
  height: 3px;
  display: inline-block;
  background-size: 8px 3px;
  background-image: linear-gradient(to right, #000, #000 3px, transparent 3px, transparent 8px);
  margin: 35px auto 0;
}

.border::after {
  content: "";
  width: 100%;
  height: 3px;
  display: inline-block;
  background-color: #000;
  margin: 35px auto 0;
}  

  
  /* overview ページ */

.top-border::after {
  content: "";
  width: 90%;
  height: 3px;
  display: inline-block;
  background-color: #000;
  margin: 0 auto 50px;
}
  
  /* overview ページ policy */

.policy-text {
  display: inline-block;
  text-align: left;
  margin: 0 auto;
  padding: 80px 0 70px;
}

.documento-links {
  padding-bottom: 30px;
}

.documento-list-wrapper {
  display: block;
  width: 100%;
  margin: 70px auto 80px;
}

.documento-list {
  width: 100%;
  margin: 0 auto 60px;
}

.documento-list:nth-child(3n){
  margin-right: auto;
}

.documento-list dt {
  width: 95%;
  font-size: 1.6rem;
  padding: 24px 0;
  margin: 0 auto 40px;
}

.documento-list dd {
  width: 85%;
  margin: 0 auto 15px;
}

.documento-list dd:last-child {
  margin-bottom: 0;
}


/* organization */

.organization img {
  width: 100%;
  margin: 80px auto 70px;
}


/* history */

.history-table {
  width: 100%;
}

.year-month {
  width: 100%;
}

.year-month .history-left p {
  margin-right: 10px;
  margin-left: 0px;
}

.only-month {
  width: 100%;
  margin-left: 0;
  padding-left: 81px;
}

.only-month .history-left p {
  margin-right: 10px;
}
  
  
/* hand book ＆ media */

.hand-book img {
  width: 55%;
  margin: 70px auto 60px;
}

.click-pdf {
  line-height: 1;
  margin-bottom: 50px;
}
  
.magazine-list {
  display: block;
  margin: 70px auto 60px;
  width: 100%;
}

.magazine-list li {
  margin: 0 auto;
  margin-bottom: 80px;
}

.magazine-list li:last-child {
  margin-right: auto;
}

.magazine-list a img {
  width: 55%;
}  
  

/* rcruitment */

.recruitment {
  margin-bottom: 160px;
}

.apply {
  margin-bottom: 80px;
}

.apply h2 {
  width: 90%;
  padding: 22px 0;
}

.contact-recruit h2 {
  width: 90%;
  margin: 0 auto 40px;
  padding: 22px 0;
}  

  
}

@media screen and (max-width:450px) {
  
  .wakaba-left {
  width: 25%;
  position: absolute;
  left: 0;
  top: 8%;
}

.wakaba-center {
  width: 20%;
  position: absolute;
  left: 40%;
  top: 8%
}

.wakaba-right {
  width: 30%;
  position: absolute;
  left: 70%;
  top: 10%;
}

.kinjou-map {
  width: 30%;
  position: absolute;
  left: 3%;
  bottom: 18%;
  top: auto;
}

.tsubaki-center {
  width: 25%;
  position: absolute;
  left: 36%;
  top: auto;
  bottom: 15%;
}

.tsubaki-right {
  width: 30%;
  position: absolute;
  left: 70%;
  top: auto;
  bottom: 18%;
}
    
 .resizeimage img { width: 100%;
}
    
.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
 
}