@charset "UTF-8";
/* CSS Document */ :root {
  /* txt-color */
  --basic-color: #BEA735;
  --sub-color: #DDD4A7;
  --txt-color: #003876;
  --basic-txt-size: 1rem;
}
@media screen and (max-width: 768px) {
  :root {
    /* txt-size */
    --logo-txt-size: 3.4vw;
  }
}
@media screen and (max-width: 425px) {
  :root {}
}
body {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: #1B3145;
  font-size: 16px;
}

.wrapper {
  width: 100%;
}
p {
  line-height: 2.3;
  font-size: 1rem;
}
.sp_break {
  display: none;
}
div, ul, li, a, header {
  box-sizing: border-box;
}
a {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
header {
  width: 100%;
  position: fixed;
  z-index: 10;
  -webkit-transition: all 0.6s;
  -moz-transition: all 0.6s;
  -ms-transition: all 0.6s;
  -o-transition: all 0.6s;
  transition: all 0.6s;
  left: 50%;
  transform: translateX(-50%);
  background: transparent;
}
@media screen and (max-width:768px) {
  p {
    font-size: clamp(14px, 3.5vw, 16px);
  }
}

/* ------------------------
  header
--------------------------- */

.logo_box {
  display: block;
  padding-inline-start: 3vw;
}



.onlySp {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp_break {
    display: inline-block;
  }
  
  .onlySp {
    display: inline;
    color: inherit;
    line-height: 1.06;
  }
  
}

@media screen and (max-width: 768px) {
  .pc-visible {
    display: none;
  }
}

/* top */
.top_group {
  overflow: hidden;
}
.topMain {
  height: 100vh;
  width: 100vw;
  background: url("../img/mainV.jpg") no-repeat center right;
  background-size: cover;
  opacity: 0;
  transform: scale(1.3, 1.3);
  transition: 1.6s ease;
}
.topMain.active {
  opacity: 1;
  transform: scale(1, 1);
}
.top_inner {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.top_txt_box {
    display: flex;
    align-items: center;
    color: #fff;
    font-weight: 700;
    margin-block: 0;
  text-shadow: 0px 0px 12px #1b3145, 0px 0px 12px #1b3145;
    margin-block-start: 3vw;
    font-size: 30px;
}
.top_txt_box_inner {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 10;
  background-color: #DCE3E2;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fadeOut 1.5s 2.5s forwards;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    visibility: hidden;
  }
}

.loading__logo {
  opacity: 0;
  animation: logo_fade 2s 0.5s forwards;
  width: 175px;
}

@keyframes logo_fade {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  60% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 0;
  }
}

@media screen and (max-width:768px) {
  .topMain {
    height: 100vh;
    width: 100vw;
    background: url("../img/mainV_sp.jpg") no-repeat center right;
    background-size: cover;
   }
  img.main_logo {
    width: 56vw;
  }
  .top_txt_box {
    font-size: 7vw;
  }
    
}

/* -------------------------------
    top section style
-------------------------------- */
section {}
.top_secTtl {
  font-size: 30px;
  color: #3d5972;
  letter-spacing: 0.07em;
  font-weight: 600;
  margin-block: 4rem;
  position: relative;
}
.top_secTtl::after {
  content: "";
  width: 2.5vw;
    height: 3px;
  background: #3d5972;
  position: absolute;
  bottom: -20px;
  left: 0;
}
.subTtl {
    color: rgb(120 142 184 / 30%);
    font-size: 100px;
    position: relative;
    top: 0;
    left: -2vw;
    line-height: 0.9;
}
.secInner {
  max-width: 1200px;
  margin-inline: auto;
  padding-block: 5vw;
}
.mission .sec_inner {
  display: flex;
  justify-content: center;
}
.mission .sec_inner .imgArea {
  width: 50%;
  background: url("../img/top_sec1.jpg") no-repeat;
  background-size: cover;
}
.mission .sec_inner .txtArea {
  width: 50%;
  padding: 7vw;
  background: #DCE3E2;
}
.about {
  background: url("../img/about_bg.jpg") repeat-y #d4dce6;
  background-size: 100% auto;
}
.about .subTtl {
    color: rgb(255 255 255 / 73%);
}
.two-columns {
  display: flex;
  column-gap: 2vw;
  align-items: flex-start;
  justify-content: space-between;
}
.about_info {width: 50%;}
.about_info dl {
  padding: 6vw 5vw;
}
.map {
    width: 45%;
}
.map iframe {
    display: block;
    width: 100%;
    border-radius: 10px;
  height: 390px;
}
.sdgs {
    margin-block: 40px;
    text-align: center;
}
.sdgs img {
  max-width: 300px;
    width: 80%;
}
.apdx {
    font-family: sans-serif;
    margin-inline-start: 0.6em;
    display: inline-block;
    font-size: 0.8em;
    font-weight: bold;
    color: #1b3145;
}
.exLink a {
    color: #0c5ea8;
    text-decoration: underline;
    position: relative;
}
dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  column-gap: 2%;
  background: #fff;
  border-radius: 10px;
  padding: 2vw 5vw;
  margin-block: 0;
  box-shadow: 2px 3px 13px -5px rgb(16 35 60 / 26%);
}
dt {
  width: 25%;
  display: block;
  position: relative;
  padding: 0.3em 0.5em;
  color: #3d5972;
  font-weight: 600;
  border-bottom: 1px dashed #3d5972;
  margin-block-end: 15px;
}

dd {
  width: 70%;
  display: block;
  margin-inline-start: 0;
  margin-block-end: 15px;
  position: relative;
  padding: 0.3em 0.5em;
  border-bottom: 1px dashed #3d5972;
}
.group .subTtl {
    font-size: 80px;
}
.property .subTtl {
    font-size: 80px;
}
.property .secInner {
    padding-block: 8vw;
}
.propertyBox {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 4%;
  row-gap: 3vw;
}
.propertyItem {
    width: 28%;
}
img.p-img {
    display: inline-block;
    width: 100%;
  border-radius: 4px;
}
.p-txt {
    margin-block: 1rem;
    letter-spacing: 0.05em;
    font-weight: 300;
}

.teaser {
  width: 100%;
  height: 30vw;
  background: url("../img/teaser_01.jpg") no-repeat;
  background-size: cover;
}
.group {
    background: #f1f1f1;
}
.groupInfo {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    column-gap: 4%;
}
.groupItem {
  width: 48%;
  height: auto;
}

@media screen and (max-width:1200px) {
  .secInner {
    padding-inline: 4vw;
  }
}

@media screen and (max-width:768px) {
    .secInner {
      padding-inline: 4vw;
      padding-block: 13vw;
    }
  .property .secInner {
    padding-block: 13vw;
}
  .subTtl {
    font-size: 17vw;
  }
  .group .subTtl,
  .property .subTtl {
    font-size: 11vw;
}
  .top_secTtl {
    font-size: 6.5vw;
    margin-block: 9vw;
  }
  .top_secTtl::after {
    content: "";
    width: 6.5vw;
    height: 2px;
    background: #3d5972;
    position: absolute;
    bottom: -15px;
    left: 0;
  }
  .mission .sec_inner {
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
  .mission .sec_inner .imgArea {
    width: 100%;
    height: 100vw;
    background: url(../img/top_sec1_sp.jpg) no-repeat;
    background-size: cover;
  }
  .mission .sec_inner .txtArea {
    width: 100%;
    height: auto;
  }
  .two-columns {
    flex-wrap: wrap;
  }
  .about_info {
    width: 100%;
  }
  dt {
    font-size: 3.7vw;
  }
  dd {
    font-size: 3.9vw;
  }
  .map {
    width: 100%;
  }
  .groupInfo {
    flex-wrap: wrap;
    row-gap: 11vw;
  }
  .groupItem {
    width: 100%;
  }
  .propertyItem {
    width: 44%;
  }
  .teaser {
    height: 50vw;
    background: url("../img/teaser_01_sp.jpg") no-repeat;
    background-size: cover;
  }
  .teaser img {
    width: 100%;
    display: inline-block;
  }
  
}
.linkBox {
  display: flex;
  column-gap: 2vw;
  background: rgb(255 255 255 / 40%);
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  padding-block: 14px 10px;
}
.linkBox img {
  width: 43%;
  display: block;
}
.linkBox img.link_txt {
    width: 33%;
}
.linkBox p {
  width: 50%;
  line-height: 1.5;
  margin-block: 0;
  font-size: clamp(14px, 2vw, 22px);
}
.exLink > p {
    padding-inline: 2vw;
}
@media screen and (max-width:768px) {
  .linkBox {
    column-gap: 5vw;
    justify-content: center;
    margin-block-end: 7vw;
  }
}
@media screen and (max-width:620px) {
  .linkBox img {
    width: 40vw;
  }
  .linkBox p {
  width: 50%;
  line-height: 1.5;
  margin-block: 0;
  font-size: clamp(14px, 2.4vw, 22px);
  }
}
/* -------------------------------
    footer
-------------------------------- */
footer {
  background: url("../img/footer_bg.jpg") no-repeat;
  background-size: cover;
  position: relative;
  color: #fff;
  width: 100%;
  height: 50vw;
}
.footer_logo {
    width: 18vw;
    margin-block-start: 2vw;
}
.footer_logo img {
  width: 100%;
  display: inline-block;
}
.footer_inner {
  display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}
.footer_subInfo {
    background: #3d5972;
}
.copyright {
  font-family: sans-serif;
  color: #fff;
  font-size: 12px;
  margin-block: 0;
  text-align: center;
  padding: 0.5em;
}
@media screen and (max-width: 768px) {
  
  footer {
    background: url(../img/footer_bg_sp.jpg) no-repeat center;
    background-size: cover;
    position: relative;
    color: #fff;
    width: 100%;
    height: 100vw;
}
  .footer_logo {
    width: 21vw;
    margin-block-start: 5vw;
}
  .subInfo_link, .copyright {
    padding: 0;
  }
  .subInfo_link {
    margin-bottom: 12vw;
  }
}


.contents {
  border-bottom: 20px solid var(--basic-color);
  background: url("../img/sns_corner_1.svg") no-repeat bottom -1px left;
  background-size: 20vw auto;
  padding-block-end: 5vw;
}
.subpageHeader_cover {
  padding-block: clamp(125px, 10vw, 150px);
  background: url("../img/subPage_bg.svg") no-repeat left top;
  background-size: auto 100%;
}
.subpageHeader {
    font-size: 18px;
    color: var(--txt-color);
}

.subHeader {
  color: var(--txt-color);
  border-bottom: 6px solid var(--basic-color);
  font-size: 24px;
  font-weight: bold;
  padding-block-end: 0.3em;
  margin-block-end: 40px;
}
.sec.inner {
    margin-block-end: 80px;
}
.flexbox {
  display: flex;
  justify-content: space-between;
}
.flex-reverse {
  flex-direction: row-reverse;
}
.txtColumn {
  width: 60%;
}
.imgColumn {
  width: 47%;
  padding: 0 2vw;
}
.imgColumn img {
  display: inline-block;
  width: 100%;
}
p.logoEx_txt {
    font-size: 18px;
    padding-inline-start: 7vw;
}
.org_table dl {
    display: flex;
    width: 100%;
  flex-wrap: wrap;
  align-items: center;
}
.org_table dt {
  width: 20%;
  color: var(--txt-color);
  font-weight: 700;
  padding-block: 0.8em;
}
.org_table dd {
  width: 70%;
  margin-inline-start: 0;
  line-height: 1.4;
  padding-block: 0.8em;
}
.org_table dd a {
  color: var(--basic-color);
  text-decoration: underline;
}
/* -------------
page-members
-------------- */
.members_secCover {
    background: #ebece2;
    border-radius: 10px;
    padding: 5rem 4rem;
  margin-top: 2rem;
}
.chairmanImg {
  width: 40%;
  padding: 50px 0 0 4vw;
}
.chairmanImg img {
  display: inline-block;
  width: 100%;
}
.chairmanGreeting {
  width: 70%;
}
.sign {
    color: var(--txt-color);
    font-weight: bold;
    font-size: 18px;
    text-align: right;
}

.flexbox.managerList {
    flex-wrap: wrap;
  row-gap: 4rem;
}
.managerItem {
  width: 27%;
}
.managerItem > img {
  width: 100%;
  display: inline-block;
  margin-block-end: 1.3rem;
}
.managerName {
  font-size: 18px;
  font-weight: 700;
}
.managerName .position {
  color: var(--txt-color);
  font-weight: bold;
  display: inline-block;
  margin-inline-end: 1rem;
  font-size: 18px;
}
.flexbox.memberList {
    flex-wrap: wrap;
  row-gap: 2rem;
  justify-content: flex-start;
}
.memberItem {
  width: 25%;
}
.coName {
    color: var(--txt-color);
    font-size: 17px;
    margin-block-end: 0.5em;
}
.fade_in {
  transition: 1s ease-in-out;
  transform: translateY(20px);
  opacity: 0;
}
.fade_in.on {
  transform: translateY(0);
  opacity: 1.0;
}
.fade_in2 {
  transition: 0.7s ease;
  opacity: 0;
  transform: translateX(-100vw);
}
.fade_in2.on {
  opacity: 1.0;
  transform: translateX(0);
}
.delay02 {
  transition-delay: .3s;
}
.delay03 {
  transition-delay: .6s;
}
.delay04 {
  transition-delay: .9s;
}
.delay05 {
  transition-delay: 1.2s;
}
.delay06 {
  transition-delay: 1.5s;
}
.delay07 {
  transition-delay: 1.8s;
}
@media screen and (max-width:768px) {
  
  
}