@charset "UTF-8";

#mv {
  height: 137.5vw;
  background-image: url("../img/home/bg_mv_sp@2x.jpg");
}
#mv .text {
  position: static;
  transform: none;
}
#mv .text .slogan {
  padding: 7vw 0 0 7vw;
}
#mv .text .slogan span {
  font-size: 8.4vw;
}
#mv .text .slogan strong {
  font-size: 16.4vw;
  margin: 4.6vw 0;
}
#mv .text .area {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(0,0,0,.6);
  padding: 4.6vw;
  box-sizing: border-box;
}
#mv .text .area h2 {
  font-size: 3.4vw;
}
#mv .text .area p {
  font-size: 2.5vw;
}

#description {
  padding-top: 8vw;
}
#description .inner {
  width: 100%;
  max-width: 100%;
}
#description .message {
  padding-bottom: 4.375vw;
}
#description .message .flex {
  display: block;
}
#description .message .flex .image .img_message {
  position: absolute;
  top: 20vw;
  right: 7vw;
  width: 38.5vw;
  z-index: -1;
}
#description .message .flex .text {
  width: 100%;
}
#description .message .flex .text p {
  font-size: 2.8vw;
}
#description .message .flex .text .youtube {
  position: static;
  margin-top: 4vw;
}
#description .profile {
  padding: 8vw 0;
}
#description .profile h2 strong {
  font-size: 9.375vw;
  margin-left: 17vw;
}
#description .profile h2 span {
  font-size: 5.5vw;
  margin: 3.5vw 0 0 30vw;
}
#description .profile .flex {
  flex-direction: column;
  gap: 0;
  margin-top: 5vw;
}
#description .profile .list_icon {
  gap: 4vw;
}
#description .profile .list_icon li {
  width: 42vw;
}
#description .profile .link_detail {
  text-align: center;
  margin-top: 8vw;
}

#activity {
  padding: 8vw 0;
}
#activity .flex {
  flex-direction: column;
  gap: 8vw;
}
#activity .flex .report {
  width: 100%;
}
#activity .flex .report h2 {
  padding-bottom: 3vw;
}
#activity .flex .report h2 .ja {
  font-size: 4.6vw;
}
#activity .flex .report h2 .en {
  font-size: 2.2vw;
}
#activity .flex .report dl {
  font-size: 2.5vw;
}
#activity .flex .report .link_detail {
  text-align: center;
  margin-top: 4.5vw;
}

#policy-and-repoat {
  padding: 8vw 0;
}
#policy-and-repoat h2 .ja {
  font-size: 4.6vw;
}
#policy-and-repoat h2 .en {
  font-size: 2.2vw;
}
#policy-and-repoat .list_policy-and-repoat {
  flex-direction: column;
  gap: 2.2vw;
  margin-top: 8vw;
}
#policy-and-repoat .list_policy-and-repoat li {
  width: 100%;
}
#policy-and-repoat .list_policy-and-repoat li a .image {
  width: 42vw;
}
#policy-and-repoat .list_policy-and-repoat li a .text {
  padding: 4.6vw;
}
#policy-and-repoat .list_policy-and-repoat li a .text p {
  font-size: 2.8vw;
}
#policy-and-repoat .list_policy-and-repoat li a .text .link_detail span {
  font-size: 2.8vw;
}

#sns {
  padding: 8vw 0;
}
#sns .list_sns {
  gap: 4.6vw;
}
#sns .list_sns li {
  width: 13vw;
}
#sns .list_sns li a {
  gap: 2.2vw;
}
#sns .list_sns li img {
  width: 12vw;
}
#sns .list_sns li span {
  font-size: 2vw;
}

#info {
  padding: 8vw 4.375vw;
}
#info .flex {
  flex-direction: column;
  gap: 6vw;
}
#info .flex .area {
  flex-direction: column;
  gap: 4vw;
  width: 100%;
  padding-right: 0;
  border-right: none;
}
#info .flex .area h2 {
  font-size: 8.75vw;
}
#info .flex .area h3 {
  font-size: 4vw;
}
#info .flex .area p {
  font-size: 2.5vw;
}
#info .flex .address {
  padding: 0;
}
#info .flex .address .list_address {
  gap: 4vw;
}
#info .flex .address h3 {
  font-size: 3vw;
}
#info .flex .address p {
  font-size: 2.6vw;
}
#info .flex .other .list_other {
  gap: 4vw;
  font-size: 2.8vw;
}