@charset "UTF-8";
/*スマホメニューの色*/
/*スマホメニューの色*/
@import url(//use.fontawesome.com/releases/v5.7.2/css/all.css);
.slick-prev {
  left: 85px;
}
.slick-prev:before {
  background: url(../images/common/prev2.svg) 0 0 no-repeat;
  background-size: contain;
}

.slick-next {
  right: 85px;
}
.slick-next:before {
  background: url(../images/common/next2.svg) 0 0 no-repeat;
  background-size: contain;
}

.btnbox {
  width: 240px;
  height: 44px;
  margin-top: 40px;
}
.btnbox a {
  display: block;
  padding: 10px 20px;
  position: relative;
  -webkit-transition: ease 0.2s;
  transition: ease 0.2s;
}
.btnbox a span {
  position: relative;
  z-index: 2;
}
.btnbox a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: #fff;
  width: 100%;
  height: 44px;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s, -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: right top;
          transform-origin: right top;
  z-index: 1;
}
.btnbox a:hover {
  opacity: 1;
}
.btnbox a:hover:before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.btnbox a:hover span {
  color: #223238;
}
.btnbox a.onmouse {
  opacity: 1;
}
.btnbox a.onmouse:before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.btnbox a.onmouse span {
  color: #223238;
}
.btnbox a:after {
  content: "";
  width: 24px;
  height: 17px;
  background: url(../images/common/arrow02.svg) 0 0 no-repeat;
  background-size: contain;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  z-index: 2;
}

#section01 .mainimgbox {
  position: relative;
}
#section01 .mainimgbox img {
  width: 100%;
}
#section01 .mainimgbox .labelbox {
  max-width: 1093px;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-align: left;
  width: 100%;
}
#section01 .mainimgbox .labelbox.label01 span {
  background-color: #8BC0D6;
}
#section01 .mainimgbox .labelbox.label02 span {
  background-color: #94B186;
}
#section01 .mainimgbox .labelbox.label03 span {
  background-color: #B1A9C1;
}
#section01 .mainimgbox .labelbox h2 {
  margin-bottom: 0;
}
#section01 .mainimgbox .labelbox span {
  padding: 10px 20px;
  font-size: 33px;
  letter-spacing: 10px;
  color: #003333;
  display: inline-block;
  font-family: "ＭＳ ゴシック", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-weight: 200;
  letter-spacing: 10px;
}
#section01 .mapbgarea {
  background-color: #444451;
  color: #fff;
  padding-bottom: 80px;
}
#section01 .mapbgarea .itemboxover .txtbox {
  padding-top: 80px;
  max-width: 1100px;
  margin: 0 auto 40px auto;
}
#section01 .mapbgarea .itemboxover .txtbox .namebox {
  margin-bottom: 20px;
}
#section01 .mapbgarea .itemboxover .txtbox .namebox .name_subttl {
  text-align: left;
  margin-bottom: 20px;
  font-family: "Helvetica Neue", "Arial", sans-serif;
}
#section01 .mapbgarea .itemboxover .txtbox .namebox dl {
  text-align: left;
}
#section01 .mapbgarea .itemboxover .txtbox .namebox dl dt {
  font-size: 30px;
  margin-bottom: 20px;
}
#section01 .mapbgarea .itemboxover .txtbox .namebox dl dd {
  font-size: 14px;
}
#section01 .mapbgarea .itemboxover .txtbox .commentsbox {
  max-width: 580px;
}
#section01 .mapbgarea .itemboxover .txtbox .commentsbox .txt01 {
  font-size: 21px;
  margin-bottom: 20px;
}
#section01 .mapbgarea .itemboxover .txtbox .commentsbox .txt02 {
  line-height: 2;
}
#section01 .mapbgarea .itemboxover .mapimgbox img {
  width: 100%;
}
#section01 .mapbgarea .flowboxover {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 80px 1fr;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 80px;
     -moz-column-gap: 80px;
          column-gap: 80px;
  max-width: 1100px;
  margin: 100px auto 0 auto;
}
#section01 .mapbgarea .flowboxover .flowitemboxover {
  position: relative;
}
#section01 .mapbgarea .flowboxover .flowitemboxover.flow02 {
  padding-top: 100px;
}
#section01 .mapbgarea .flowboxover .arrowbox {
  position: relative;
  width: 1px;
  top: 0px;
  left: 70px;
}
#section01 .mapbgarea .flowboxover .arrowbox .dli-arrow {
  display: inline-block;
  vertical-align: middle;
  color: #D3D9E2;
  line-height: 1;
  position: relative;
  width: 0.1em;
  background: currentColor;
}
#section01 .mapbgarea .flowboxover .arrowbox .dli-arrow:before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  border: 0.1em solid currentColor;
  border-top: 0;
  border-right: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
  position: absolute;
  left: 50%;
  bottom: -0.05em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#section01 .mapbgarea .flowboxover .arrowbox.arrow01 .dli-arrow {
  height: 100px;
}
#section01 .mapbgarea .flowboxover .arrowbox.arrow02 .dli-arrow {
  height: 30px;
}
#section01 .mapbgarea .flowboxover .arrowbox.arrow03 .dli-arrow {
  height: 60px;
}
#section01 .mapbgarea .flowboxover .itembox {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 140px 20px 1fr;
  grid-template-columns: 140px 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
#section01 .mapbgarea .flowboxover .itemmain {
  width: 140px;
  height: 140px;
  position: relative;
  display: -ms-grid;
  display: grid;
  justify-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.2em;
}
#section01 .mapbgarea .flowboxover .itemmain span {
  font-size: 14px;
}
#section01 .mapbgarea .flowboxover .itemmain:before {
  content: "";
  width: 140px;
  height: 140px;
  border: 1px #D3D9E2 solid;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  z-indez: 0;
}
#section01 .mapbgarea .flowboxover .itemmain dl dt {
  margin-bottom: 10px;
}
#section01 .mapbgarea .flowboxover .itemtxt {
  text-align: left;
  font-size: 13px;
}

#section02 {
  padding-bottom: 100px;
}
#section02 .itemboxover {
  padding-top: 100px;
}
#section02 .itemboxover .itembox {
  max-width: 720px;
  margin: 0 auto;
}
#section02 .itemboxover h3 {
  font-size: 21px;
  padding-bottom: 50px;
  margin-bottom: 50px;
  border-bottom: 1px #253137 solid;
  text-align: center;
  letter-spacing: 3px;
}
#section02 .itemboxover .txt01 {
  text-align: center;
  font-size: 32px;
  margin-bottom: 20px;
  letter-spacing: 3px;
}
#section02 .itemboxover .txt02 {
  line-height: 1.8;
  letter-spacing: 3px;
}

.slidebox {
  max-width: 100vw;
  margin-top: 100px;
}
.slidebox .slider img {
  width: 100%;
  height: auto;
}
.slidebox .slick-slide img {
  display: block;
  width: 100%;
}

#section03 {
  background-color: #F0EEED;
  padding: 100px 0;
}
#section03 .h3box {
  margin: 0 auto 100px auto;
  max-width: 800px;
}
#section03 .h3box h3 {
  font-size: 66px;
  font-family: "Helvetica Neue", "Arial", sans-serif;
  line-height: 1;
  letter-spacing: 5px;
  font-weight: 200;
}
#section03 .h3box .h3txt {
  font-size: 24px;
  letter-spacing: 3px;
  margin-bottom: 20px;
}
#section03 .h3box .txt_caption {
  line-height: 1.8;
  letter-spacing: 3px;
  width: 70%;
}
#section03 .itemboxover {
  padding-bottom: 100px;
  margin: 0 auto;
  max-width: 800px;
}
#section03 .itemboxover h4 {
  width: 80%;
  margin: 0 auto 60px auto;
  background-color: #fff;
  border-radius: 30px;
  padding: 10px;
  font-size: 21px;
  text-align: center;
  letter-spacing: 3px;
}
#section03 .itemboxover .imgbox {
  margin-bottom: 20px;
}
#section03 .itemboxover .imgbox img {
  width: 100%;
}
#section03 .itemboxover .comments {
  line-height: 2;
}
#section03 .itemboxover .dataimgbox {
  margin-top: 40px;
  text-align: left;
}

#contentsnav {
  background-color: #444451;
  padding: 100px 0;
}
#contentsnav h3 {
  font-size: 21px;
  text-align: center;
  color: #fff;
  margin-bottom: 60px;
}
#contentsnav .itemboxover {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 20px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 40px 20px;
  color: #fff;
}
#contentsnav .itemboxover .itembox .imgbox {
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
}
#contentsnav .itemboxover .itembox .imgbox img {
  width: 100%;
  -webkit-transition: 1s all;
  transition: 1s all;
}
#contentsnav .itemboxover .itembox .imgbox.onmouse img {
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1);
  -webkit-transition: 1s all;
  transition: 1s all;
}
#contentsnav .itemboxover .itembox .imgbox .labelbox {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 10px 20px 10px 30px;
  font-size: 33px;
  color: #003333;
  font-family: "ＭＳ ゴシック", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-weight: 200;
  letter-spacing: 10px;
}
#contentsnav .itemboxover .itembox .imgbox .labelbox.label01 {
  background-color: #8BC0D6;
}
#contentsnav .itemboxover .itembox .imgbox .labelbox.label02 {
  background-color: #94B186;
}
#contentsnav .itemboxover .itembox .imgbox .labelbox.label03 {
  background-color: #B1A9C1;
}
#contentsnav .itemboxover .itembox .txtbox .txt01 {
  font-size: 15px;
  font-family: "Helvetica Neue", "Arial", sans-serif;
}
#contentsnav .itemboxover .itembox .txtbox .txt02 {
  font-size: 24px;
  margin-bottom: 10px;
  letter-spacing: 3px;
}
#contentsnav .itemboxover .itembox .txtbox .txt03 {
  font-size: 14px;
}
#contentsnav .itemboxover .itembox .btnbox {
  width: 240px;
}
#contentsnav .itemboxover .itembox .btnbox a {
  display: block;
  background-color: #223238;
  padding: 10px 20px;
  color: #fff;
  position: relative;
}
#contentsnav .itemboxover .itembox .btnbox a:after {
  content: "";
  width: 24px;
  height: 17px;
  background: url(../images/common/arrow02.svg) 0 0 no-repeat;
  background-size: contain;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
}

#people01 #section01 .mapbgarea .itemboxover {
  background: url(../images/people01/bgmap.png) top 0 right 40px no-repeat;
}

#people02 #section01 .mapbgarea .itemboxover {
  background: url(../images/people02/bgmap.png) top 0 right 0px no-repeat;
}
#people02 #section01 .mapbgarea .flowboxover .flowitemboxover.flow02 {
  padding-top: 0px;
}

#people03 #section01 .mapbgarea .itemboxover {
  background: url(../images/people03/bgmap.png) top 0 right 0px no-repeat;
}

#people04 #section01 .mapbgarea .itemboxover {
  background: url(../images/people04/bgmap.png) top 0 right 0px no-repeat;
}

@media screen and (max-width: 842px) {
  .sectioninner {
    padding-left: 20px;
    padding-right: 20px;
  }
  #section01 .sp_nameboxover {
    background-color: #2D2D3C;
    padding: 40px 20px;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 0.4fr 20px 1fr;
    grid-template-columns: 0.4fr 1fr;
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
  }
  #section01 .sp_nameboxover .labelbox.label01 span {
    background-color: #8BC0D6;
  }
  #section01 .sp_nameboxover .labelbox.label02 span {
    background-color: #94B186;
  }
  #section01 .sp_nameboxover .labelbox.label03 span {
    background-color: #B1A9C1;
  }
  #section01 .sp_nameboxover .labelbox span {
    padding: 10px 10px 10px 20px;
    font-size: 20px;
    letter-spacing: 10px;
    color: #003333;
    display: inline-block;
  }
  #section01 .sp_nameboxover .namebox dl {
    text-align: left;
    margin: 0 0 0 auto;
  }
  #section01 .sp_nameboxover .namebox dl dt {
    font-size: 26px;
    margin-bottom: 20px;
  }
  #section01 .sp_nameboxover .namebox dl dd {
    font-size: 14px;
  }
  #section01 .mapbgarea .itemboxover {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    margin-bottom: 30px;
    padding-left: 20px;
    padding-right: 20px;
  }
  #section01 .mapbgarea .flowboxover {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    row-gap: 0px;
    width: 90%;
    margin: 0 auto;
  }
  #section01 .mapbgarea .flowboxover .flowitemboxover.flow02 {
    padding-top: 0;
  }
  #section01 .mapbgarea .flowboxover .flowitemboxover.flow02 .arrow01 {
    display: none;
  }
  #section01 .mapbgarea .flowboxover .arrowbox {
    left: 50px;
  }
  #section01 .mapbgarea .flowboxover .itembox {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 100px 10px 1fr;
    grid-template-columns: 100px 1fr;
    gap: 60px 10px;
  }
  #section01 .mapbgarea .flowboxover .itembox .itemtxt {
    font-size: 0.9em;
  }
  #section01 .mapbgarea .flowboxover .itemmain {
    width: 100px;
    height: 100px;
  }
  #section01 .mapbgarea .flowboxover .itemmain:before {
    width: 100px;
    height: 100px;
  }
  #section02 .itemboxover {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 40px;
  }
  #section02 .itemboxover h3 {
    font-size: 16px;
    padding-bottom: 20px;
    margin-bottom: 30px;
  }
  #section02 .itemboxover .txt01 {
    font-size: 18px;
    letter-spacing: 0;
    font-weight: bold;
  }
  .slidebox {
    margin-top: 40px;
  }
  #section03 {
    padding: 40px 0;
  }
  #section03 .h3box {
    margin-bottom: 40px;
    width: 100%;
  }
  #section03 .h3box h3 {
    font-size: 34px;
    line-height: 1.2;
  }
  #section03 .h3box .txt_caption {
    width: 100%;
  }
  #section03 .itemboxover {
    padding-bottom: 40px;
  }
  #section03 .itemboxover h4 {
    width: 90%;
    margin: 0 auto 30px auto;
  }
  #contentsnav {
    padding: 40px 0;
  }
  #contentsnav .itemboxover {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  #contentsnav .itemboxover .itembox .btnbox {
    width: 100%;
    margin: 20px 0 0 0;
  }
  #contentsnav .itemboxover .itembox .btnbox a {
    text-align: left;
    font-size: 12px;
  }
  #contentsnav .itemboxover .itembox .imgbox .labelbox {
    font-size: 22px;
  }
  #section01 .mapbgarea .flowboxover .arrowbox.arrow03 .dli-arrow {
    height: 30px;
  }
  #people01 #section01 .mapbgarea .itemboxover, #people02 #section01 .mapbgarea .itemboxover, #people03 #section01 .mapbgarea .itemboxover, #people04 #section01 .mapbgarea .itemboxover {
    background-size: 70% !important;
  }
}
@media screen and (max-width: 842px) {
  #section01 .mapbgarea .flowboxover .itembox .itemtxt {
    font-size: 0.82em;
  }
}