/*
* top.css
*
*/
.family {
  position: relative;
}
.family .family_mv {
  position: relative;
}
.family .family_mv .family_mv_content {
  display: grid;

  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_content {
    grid-template-columns: auto;
  }
}
.family .family_mv .family_mv_top {
  display: grid;
  opacity: 0;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #f9f8f5;

  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_top {
    grid-template-columns: auto;
  }
}
.family .family_mv .family_mv_top .family_mv_top_image {
  position: relative;
}
@media (min-width: 768px) {
  .family .family_mv .family_mv_top .family_mv_top_image {
    height: 100vh;
  }
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_top .family_mv_top_image {
    display: none;
  }
}
@media (min-width: 768px) {
  .family .family_mv .family_mv_top .family_mv_detail_wrap {
    padding-top: clamp(69px,9.02778vw, 130px);
    padding-left: clamp(77px,10.06945vw, 145px);
  }
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_top .family_mv_detail_wrap .family_mv_detail_text {
    height: calc(100vh + clamp(0px,65.10417vw, 250px));
  }
}
.family .family_mv .family_mv_images {
  position: sticky;
  top: 0;
  height: 100vh;
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_images {
    display: none;
  }
}
.family .family_mv .family_mv_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.family .family_mv .family_mv_image_outer {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_image_outer {
    height: 87.1794871795vw;
  }
}
.family .family_mv .family_mv_image_outer.family_mv_image_outer--view img {
  opacity: 1 !important;
}
.family .family_mv .family_mv_image_outer img,
.family .family_mv .family_mv_image_outer video {
  margin: -0.1px;
  width: 100%;
  height: 100%;

  -o-object-fit: cover;

     object-fit: cover;
}
.family .family_mv .family_mv_image_outer_random {
  overflow: hidden;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.family .family_mv .family_mv_image_outer_random.is-active {
  z-index: 2;
}
.family .family_mv .family_mv_detail_wrap {
  display: flex;
  position: relative;
}
@media (min-width: 768px) {
  .family .family_mv .family_mv_detail_wrap {
    align-items: center;
    padding-top: clamp(69px,9.02778vw, 130px);
    padding-left: clamp(98px,12.84723vw, 185px);
    height: 80vh;
  }
  .family .family_mv .family_mv_detail_wrap:last-child {
    padding-top: 0;
  }
  .family .family_mv .family_mv_detail_wrap.family_mv_detail_wrap--first {
    align-items: center;
    justify-content: center;
    padding-top: 20%;
    padding-left: clamp(10px,1.38889vw, 20px);
  }
  .family .family_mv .family_mv_detail_wrap.family_mv_detail_wrap--first .family_mv_detail_text {
    max-width: clamp(277px,36.11112vw, 520px);
  }
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_wrap {
    background-color: #f9f8f5;
  }
  .family .family_mv .family_mv_detail_wrap:first-child {
    margin-top: clamp(0px,23.4375vw, 90px);
  }
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_content {
    padding: clamp(0px,13.02084vw, 50px) clamp(0px,2.60417vw, 10px) clamp(0px,15.625vw, 60px);
  }
  .family .family_mv .family_mv_detail_content.family_mv_detail_content--first {
    padding: clamp(0px,3.90625vw, 15px) clamp(0px,5.20834vw, 20px) clamp(0px,18.22917vw, 70px);
  }
  .family .family_mv .family_mv_detail_content.family_mv_detail_content--last {
    padding: clamp(0px,15.625vw, 60px) clamp(0px,5.20834vw, 20px) clamp(0px,13.02084vw, 50px) clamp(0px,5.20834vw, 20px);
  }
}
.family .family_mv .family_mv_detail_content_anchor {
  margin-top: clamp(16px,2.08334vw, 30px);
  margin-right: clamp(-40px,-2.77777vw, -22px);
  text-align: right;
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_content_anchor {
    margin-top: clamp(0px,6.51042vw, 25px);
    margin-right: 0;
  }
}
.family .family_mv .family_mv_detail_content_anchor img {
  width: 334px;
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_content_anchor img {
    width: 100%;
    max-width: clamp(0px,86.97917vw, 334px);
  }
}
.family .family_mv .family_mv_detail_image {
  overflow: hidden;
}
.family .family_mv .family_mv_detail_image img {
  margin-top: 0 !important;
  width: 100%;
}
.family .family_mv .family_mv_detail_text {
  margin-top: clamp(-30px,-2.08333vw, -16px);
  max-width: clamp(234px,30.55556vw, 440px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text {
    z-index: 2;
    margin-top: 0;
    width: 100%;
    max-width: 100%;
    background-color: #f9f8f5;
  }
}
.family .family_mv .family_mv_detail_text h2 {
  display: flex;
  align-items: flex-end;
  font-size: clamp(28px,3.75vw, 54px);
  font-weight: normal;
  line-height: 1;

  gap: 0 clamp(3px,0.48612vw, 7px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text h2 {
    margin-top: clamp(0px,3.125vw, 12px);
    padding-left: clamp(0px,2.60417vw, 10px);
    width: clamp(0px,76.5625vw, 294px);

    gap: 0 clamp(0px,1.5625vw, 6px);
  }
}
.family .family_mv .family_mv_detail_text h2 + p {
  margin-top: clamp(10px,1.38889vw, 20px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text h2 + p {
    margin-top: clamp(0px,5.20834vw, 20px);
  }
}
.family .family_mv .family_mv_detail_text h2 img {
  position: relative;
}
.family .family_mv .family_mv_detail_text h2 img:nth-of-type(1) {
  width: clamp(17px,2.24237vw, 32.29px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text h2 img:nth-of-type(1) {
    width: clamp(0px,5.71875vw, 21.96px);
  }
}
.family .family_mv .family_mv_detail_text h2 img:nth-of-type(2) {
  top: clamp(6px,0.83334vw, 12px);
  left: clamp(2px,0.27778vw, 4px);
  width: clamp(19px,2.5vw, 36px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text h2 img:nth-of-type(2) {
    top: clamp(0px,2.34375vw, 9px);
    left: clamp(0px,0.26042vw, 1px);
    width: clamp(0px,6.29167vw, 24.16px);
  }
}
.family .family_mv .family_mv_detail_text h2 img:nth-of-type(3) {
  top: clamp(-2px,-0.13888vw, -2px);
  left: 0;
  width: clamp(16px,2.20903vw, 31.81px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text h2 img:nth-of-type(3) {
    top: clamp(0px,0.13021vw, 0.5px);
    left: clamp(-2px,-0.52083vw, 0px);
    width: clamp(0px,5.63542vw, 21.64px);
  }
}
.family .family_mv .family_mv_detail_text h2 img:nth-of-type(4) {
  top: clamp(-1px,-0.06944vw, -1px);
  left: clamp(1px,0.13889vw, 2px);
  width: clamp(14px,1.89584vw, 27.3px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text h2 img:nth-of-type(4) {
    top: 0;
    left: clamp(-2px,-0.52083vw, 0px);
    width: clamp(0px,4.83594vw, 18.57px);
  }
}
.family .family_mv .family_mv_detail_text h2 img:nth-of-type(5) {
  margin-left: clamp(13px,1.73612vw, 25px);
  width: clamp(25px,3.30764vw, 47.63px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text h2 img:nth-of-type(5) {
    top: clamp(0px,0.26042vw, 1px);
    margin-left: clamp(0px,3.125vw, 12px);
    width: clamp(0px,8.4375vw, 32.4px);
  }
}
.family .family_mv .family_mv_detail_text h2 img:nth-of-type(6) {
  top: clamp(-2px,-0.13888vw, -2px);
  left: clamp(1px,0.20834vw, 3px);
  width: clamp(15px,2.03542vw, 29.31px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text h2 img:nth-of-type(6) {
    top: 0;
    left: clamp(0px,0.26042vw, 1px);
    width: clamp(0px,5.19271vw, 19.94px);
  }
}
.family .family_mv .family_mv_detail_text h2 img:nth-of-type(7) {
  margin-right: clamp(-2px,-0.13888vw, -2px);
  margin-left: clamp(12px,1.59723vw, 23px);
  width: clamp(23px,3.0757vw, 44.29px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text h2 img:nth-of-type(7) {
    margin-right: clamp(-2px,-0.52083vw, 0px);
    margin-left: clamp(0px,3.125vw, 12px);
    width: clamp(0px,7.84375vw, 30.12px);
  }
}
.family .family_mv .family_mv_detail_text h2 img:nth-of-type(8) {
  left: clamp(-4px,-0.27777vw, -3px);
  width: clamp(17px,2.24584vw, 32.34px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text h2 img:nth-of-type(8) {
    left: clamp(-3px,-0.78125vw, 0px);
    width: clamp(0px,5.72917vw, 22px);
  }
}
.family .family_mv .family_mv_detail_text h2 img:nth-of-type(9) {
  left: clamp(-2px,-0.13888vw, -2px);
  width: clamp(15px,2.03195vw, 29.26px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text h2 img:nth-of-type(9) {
    left: clamp(-2px,-0.52083vw, 0px);
    width: clamp(0px,5.20834vw, 20px);
  }
}
.family .family_mv .family_mv_detail_text h2 img:nth-of-type(10) {
  left: clamp(2px,0.34723vw, 5px);
  width: clamp(4px,0.60139vw, 8.66px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text h2 img:nth-of-type(10) {
    left: clamp(0px,0.52084vw, 2px);
    width: clamp(0px,1.53386vw, 5.89px);
  }
}
.family .family_mv .family_mv_detail_text p {
  display: flex;
  flex-flow: column;
  position: relative;
  letter-spacing: 2.6px;
  font-size: clamp(8px,1.11112vw, 16px);
  font-weight: 500;
  line-height: 2;

  gap: clamp(2px,0.34723vw, 5px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text p {
    padding-left: clamp(0px,2.60417vw, 10px);
    letter-spacing: 1.5px;
    font-size: clamp(0px,3.64584vw, 14px);
    line-height: 1.7142857143;
  }
}
.family .family_mv .family_mv_detail_text p span {
  display: inline-block;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.family .family_mv .family_mv_detail_text p span::before {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  width: 110%;
  height: 2px;
  transform: scaleX(100%);
  transform-origin: right;
  background: #f9f8f5;
}
.family .family_mv .family_mv_detail_text p span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 110%;
  height: 2px;
  background-image: url(/ichigan/special/family/assets/img/common/line_normal.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.family .family_mv .family_mv_detail_text p span.is-start::before {
  -webkit-animation: line 1.8s cubic-bezier(0.785, 0.135, 0.15, 0.86) forwards;
          animation: line 1.8s cubic-bezier(0.785, 0.135, 0.15, 0.86) forwards;
}
@-webkit-keyframes line {
  to {
    transform: scaleX(0);
  }
}
@keyframes line {
  to {
    transform: scaleX(0);
  }
}
.family .family_mv .family_mv_detail_text .img {
  position: relative;
  margin-top: clamp(13px,1.73612vw, 25px);
  margin-left: clamp(-8px,-0.55555vw, -5px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text .img {
    margin-top: clamp(0px,3.90625vw, 15px);
    margin-left: 0;
  }
}
.family .family_mv .family_mv_detail_text .img2 {
  position: relative;
}
@media (min-width: 768px) {
  .family .family_mv .family_mv_detail_text .img2 {
    margin-bottom: clamp(0px,5.20834vw, 20px);
  }
}
.family .family_mv .family_mv_detail_text .logo {
  position: relative;
  margin-top: clamp(40px,5.20834vw, 75px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_text .logo {
    margin-top: clamp(0px,20.83334vw, 80px);
  }
}
.family .family_mv .family_mv_detail_large {
  font-size: clamp(8px,1.11112vw, 16px);
  font-weight: 500;
  line-height: 2.4 !important;
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_large {
    margin-top: clamp(0px,9.11459vw, 35px) !important;
    padding-left: 0 !important;
    font-size: clamp(0px,4.16667vw, 16px) !important;
  }
}
.family .family_mv .family_mv_detail_last {
  padding-bottom: clamp(53px,6.94445vw, 100px);
}
@media (max-width: 767.98px) {
  .family .family_mv .family_mv_detail_last {
    margin-top: clamp(0px,2.60417vw, 10px);
    padding: 0 clamp(0px,5.20834vw, 20px) !important;
  }
  .family .family_mv .family_mv_detail_last p {
    margin-top: clamp(0px,5.20834vw, 20px) !important;
    padding-left: 0 !important;
    font-size: clamp(0px,4.16667vw, 16px) !important;
  }
}
.family .family_mv_opening {
  overflow: hidden;
  position: absolute;
  z-index: 3000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #f9f8f5;
  pointer-events: none;
}
@media (max-width: 767.98px) {
  .family .family_mv_opening {
    height: calc(100vh + clamp(0px,26.04167vw, 100px));
  }
}
.family .family_mv_opening::before {
  content: "";
  position: fixed;
  left: 0;
  width: 100%;
  height: 1000vh;
  background-color: inherit;
  pointer-events: none;
}
.family .family_mv_opening .family_mv_opening_logo {
  position: absolute;
  z-index: 1;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.family .family_mv_opening .family_mv_opening_logo::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: -50vw;
  width: calc(100vw + clamp(0px,7.8125vw, 30px));
  height: 3px;
  transform: translateY(-50%) scaleX(100%);
  transform-origin: right;
  background: #f9f8f5;
}
.family .family_mv_opening .family_mv_opening_logo::after {
  content: "";
  position: absolute;
  z-index: -2;
  top: 50%;
  left: -50vw;
  width: calc(100vw + clamp(0px,7.8125vw, 30px));
  height: 2px;
  transform: translateY(-50%);
  background-image: url(/ichigan/special/family/assets/img/common/line_mv.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.family .family_mv_opening .family_mv_opening_logo.is-active::before {
  -webkit-animation: mvline 1.5s 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86) forwards;
          animation: mvline 1.5s 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86) forwards;
}
@-webkit-keyframes mvline {
  to {
    transform: translateY(-50%) scaleX(0%);
  }
}
@keyframes mvline {
  to {
    transform: translateY(-50%) scaleX(0%);
  }
}
.family .family_mv_opening .family_mv_opening_image {
  overflow: hidden;
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
}
.family .family_mv_opening .family_mv_opening_image img {
  position: absolute;
  top: 0;
  left: 0;
  margin: -0.1px;
  width: 100%;
  height: 100%;

  -o-object-fit: cover;

     object-fit: cover;
}
.family .family_mv_opening .family_mv_opening_image.is-active {
  top: 0;
  left: 0;
  transform: translate(0) !important;
}
.family .family_hug .family_hug_image {
  height: clamp(370px,48.26389vw, 695px) !important;
}
@media (max-width: 767.98px) {
  .family .family_hug .family_hug_image {
    height: clamp(0px,180.98959vw, 695px) !important;
  }
}
.family .family_hug .family_hug_image img {
  height: 100%;
}
.family .family_hug .family_hug_message {
  display: flex;
  flex-flow: column;
  position: relative;
  margin: 0 auto;
  padding: clamp(113px,14.72223vw, 212px) clamp(10px,1.38889vw, 20px) clamp(120px,15.625vw, 225px);
  max-width: clamp(421px,54.86112vw, 790px);
  font-weight: normal;
}
@media (max-width: 767.98px) {
  .family .family_hug .family_hug_message {
    padding: clamp(0px,39.0625vw, 150px) clamp(0px,5.20834vw, 20px) clamp(0px,15.625vw, 60px);
  }
}
.family .family_hug .family_hug_message span {
  display: inline-block;
  width: 100%;
  text-align: center;
}
.family .family_hug .family_hug_message span:nth-of-type(1) {
  letter-spacing: 5px;
  font-family: "Lexend Exa", sans-serif;
  font-size: clamp(25px,3.33334vw, 48px);
  line-height: 1.0416666667;
}
@media (max-width: 767.98px) {
  .family .family_hug .family_hug_message span:nth-of-type(1) {
    letter-spacing: 3px;
    font-size: clamp(0px,8.33334vw, 32px);
    line-height: 0.875;
  }
}
.family .family_hug .family_hug_message span:nth-of-type(2) {
  margin-top: clamp(5px,0.69445vw, 10px);
  margin-bottom: clamp(16px,2.08334vw, 30px);
  letter-spacing: 2px;
  font-family: "Lexend Exa", sans-serif;
  font-size: clamp(9px,1.25vw, 18px);
  line-height: 2.3333333333;
}
@media (max-width: 767.98px) {
  .family .family_hug .family_hug_message span:nth-of-type(2) {
    margin-bottom: clamp(0px,4.16667vw, 16px);
    letter-spacing: 1px;
    font-size: clamp(0px,3.125vw, 12px);
    line-height: 2.3333333333;
  }
}
.family .family_hug .family_hug_message span:nth-of-type(3) {
  position: relative;
  padding-top: clamp(13px,1.73612vw, 25px);
  letter-spacing: 3px;
  font-size: clamp(12px,1.66667vw, 24px);
  font-weight: 500;
  line-height: 1.8;
}
@media (max-width: 767.98px) {
  .family .family_hug .family_hug_message span:nth-of-type(3) {
    letter-spacing: 1px;
    font-size: clamp(0px,4.16667vw, 16px);
  }
}
.family .family_hug .family_hug_message span:nth-of-type(3)::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 1px;
  transition: width 0.45s cubic-bezier(0, 0, 0.58, 1);
  background-color: #5e5e5e;
}
.family .family_hug .family_hug_message span:nth-of-type(3).is-start::after {
  width: 100%;
}
.family .family_gallery {
  position: relative;
  z-index: 1;
}
@media (max-width: 767.98px) {
  .family .family_gallery {
    overflow: hidden;
  }
}
.family .family_gallery .family_gallery_content {
  position: relative;
}
.family .family_gallery .family_gallery_camera {
  position: absolute;
  right: clamp(58px,7.63889vw, 110px);
  bottom: calc(100% - clamp(32px,4.16667vw, 60px));
  width: clamp(150px,19.58334vw, 282px);
  height: clamp(150px,19.58334vw, 282px);
}
@media (max-width: 767.98px) {
  .family .family_gallery .family_gallery_camera {
    right: clamp(-20px,-5.20833vw, 0px);
    bottom: calc(100% - clamp(0px,10.41667vw, 40px));
    width: clamp(0px,33.85417vw, 130px);
    height: clamp(0px,33.85417vw, 130px);
  }
}
.family .family_gallery .family_gallery_camera_main {
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(106px,13.88889vw, 200px);
  height: clamp(106px,13.88889vw, 200px);
  transform: translate(-50%, -50%);
}
@media (max-width: 767.98px) {
  .family .family_gallery .family_gallery_camera_main {
    width: clamp(0px,24.73959vw, 95px);
    height: clamp(0px,24.73959vw, 95px);
  }
}
.family .family_gallery .family_gallery_camera_text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-animation: rotate 40s infinite linear;
          animation: rotate 40s infinite linear;
}
.family .family_gallery .family_gallery_camera_text img {
  width: 100%;
}
@-webkit-keyframes rotate {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(-360deg);
  }
}
@keyframes rotate {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(-360deg);
  }
}
.family .family_gallery .family_gallery_swiper {
  margin-top: clamp(26px,3.47223vw, 50px);
}
@media (max-width: 767.98px) {
  .family .family_gallery .family_gallery_swiper {
    margin-top: clamp(0px,10.41667vw, 40px);
  }
}
.family .family_gallery .family_gallery_swiper .swiper-slide {
  width: clamp(384px,50vw, 720px);
}
@media (max-width: 767.98px) {
  .family .family_gallery .family_gallery_swiper .swiper-slide {
    width: auto;
  }
}
.family .family_gallery .family_gallery_swiper .swiper-slide p {
  margin-top: clamp(1px,0.20834vw, 3px);
  letter-spacing: 0.5px;
  font-size: clamp(6px,0.83334vw, 12px);
  font-weight: 500;
}
@media (max-width: 767.98px) {
  .family .family_gallery .family_gallery_swiper .swiper-slide p {
    margin-top: clamp(0px,1.5625vw, 6px);
    font-size: clamp(0px,2.60417vw, 10px);
  }
}
.family .family_gallery .family_gallery_movie_thumb {
  display: flex;
  align-items: center;
  position: relative;
  margin: auto;
}
@media (max-width: 767.98px) {
  .family .family_gallery .family_gallery_movie_thumb img {
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
  }
}
.family .family_gallery .family_gallery_movie_thumb::before {
  content: "";
  opacity: 0.25;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 1s cubic-bezier(0.075, 0.82, 0.165, 1);
  background-color: #000;
}
.family .family_gallery .family_gallery_movie_thumb > span {
  position: absolute;
  top: 55%;
  right: clamp(96px,12.5vw, 180px);
  padding-top: clamp(5px,0.69445vw, 10px);
  transform: translateY(-50%);
  color: #fff;
  font-family: "Lexend Exa", sans-serif;
  font-size: clamp(5px,0.76389vw, 11px);
  font-weight: bold;
}
@media (max-width: 767.98px) {
  .family .family_gallery .family_gallery_movie_thumb > span {
    top: calc(50% + clamp(0px,10.41667vw, 40px));
    right: clamp(0px,10.41667vw, 40px);
    padding-top: clamp(0px,2.60417vw, 10px);
    font-size: clamp(0px,3.125vw, 12px);
  }
}
.family .family_gallery .family_gallery_movie_thumb > span > span {
  position: absolute;
  bottom: 100%;
  left: 50%;
  border-radius: 50%;
  width: clamp(38px,5vw, 72px);
  height: clamp(38px,5vw, 72px);
  transition: transform 0.45s cubic-bezier(0.075, 0.82, 0.165, 1);
  transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.73);
}
@media (max-width: 767.98px) {
  .family .family_gallery .family_gallery_movie_thumb > span > span {
    width: clamp(0px,18.75vw, 72px);
    height: clamp(0px,18.75vw, 72px);
  }
}
.family .family_gallery .family_gallery_movie_thumb > span > span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(5px,0.69445vw, 10px);
  height: clamp(5px,0.69445vw, 10px);
  transform: translate(-50%, -50%);
  background-image: url(/ichigan/special/family/assets/img/common/icon_movie.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 767.98px) {
  .family .family_gallery .family_gallery_movie_thumb > span > span::before {
    width: clamp(0px,2.60417vw, 10px);
    height: clamp(0px,2.60417vw, 10px);
  }
}
.family .family_gallery .family_gallery_movie_thumb > span > span::after {
  content: "";
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(5px,0.69445vw, 10px);
  height: clamp(5px,0.69445vw, 10px);
  transition: opacity 0.55s cubic-bezier(0.075, 0.82, 0.165, 1);
  transform: translate(-50%, -50%);
  background-image: url(/ichigan/special/family/assets/img/common/icon_movie_black.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 767.98px) {
  .family .family_gallery .family_gallery_movie_thumb > span > span::after {
    width: clamp(0px,2.60417vw, 10px);
    height: clamp(0px,2.60417vw, 10px);
  }
}
.family .family_gallery .family_gallery_movie_thumb:hover::before {
  opacity: 0;
}
.family .family_gallery .family_gallery_movie_thumb:hover > span > span {
  transform: translateX(-50%) scale(1.1);
}
.family .family_gallery .family_gallery_movie_thumb:hover > span > span::before {
  opacity: 0;
}
.family .family_gallery .family_gallery_movie_thumb:hover > span > span::after {
  opacity: 1;
}
.family .family_gallery .family_gallery_pagenation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: clamp(21px,2.77778vw, 40px) auto 0;
  border: 1px solid #5e5e5e;
  border-radius: 33px;
  width: clamp(138px,18.05556vw, 260px);
  height: clamp(34px,4.44445vw, 64px);
}
@media (max-width: 767.98px) {
  .family .family_gallery .family_gallery_pagenation {
    margin: clamp(0px,6.51042vw, 25px) auto 0;
    width: clamp(0px,56.25vw, 216px);
    height: clamp(0px,12.5vw, 48px);
  }
}
.family .family_gallery .family_gallery_pagenation_prev,
.family .family_gallery .family_gallery_pagenation_next {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: clamp(34px,4.44445vw, 64px);
  height: 100%;
}
@media (max-width: 767.98px) {
  .family .family_gallery .family_gallery_pagenation_prev,
  .family .family_gallery .family_gallery_pagenation_next {
    width: clamp(0px,16.66667vw, 64px);
  }
}
@media (min-width: 768px) {
  .family .family_gallery .family_gallery_pagenation_prev:hover::before,
  .family .family_gallery .family_gallery_pagenation_next:hover::before {
    width: 100%;
    height: 100%;
    transition: width 0.3s cubic-bezier(0.19, 1, 0.22, 1), height 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  }
}
.family .family_gallery .family_gallery_pagenation_prev::before,
.family .family_gallery .family_gallery_pagenation_next::before {
  content: "";
  opacity: 0.25;
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  width: 0;
  height: 0;
  transition: width 0.4s cubic-bezier(0.19, 1, 0.22, 1), height 0.4s cubic-bezier(0.19, 1, 0.22, 1);
  transform: translate(-50%, -50%);
  background-color: #ccc;
}
.family .family_gallery .family_gallery_pagenation_prev span,
.family .family_gallery .family_gallery_pagenation_next span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(16px,2.08334vw, 30px);
}
@media (max-width: 767.98px) {
  .family .family_gallery .family_gallery_pagenation_prev span,
  .family .family_gallery .family_gallery_pagenation_next span {
    width: clamp(0px,7.8125vw, 30px);
  }
}
.family .family_gallery .family_gallery_pagenation_prev span img,
.family .family_gallery .family_gallery_pagenation_next span img {
  width: 100%;
}
.family .family_gallery .family_gallery_pagenation_number {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: clamp(34px,4.44445vw, 64px);
  font-family: "Lexend Exa", sans-serif;
  font-size: clamp(8px,1.11112vw, 16px);
  font-weight: 300;
}
@media (max-width: 767.98px) {
  .family .family_gallery .family_gallery_pagenation_number {
    width: clamp(0px,17.1875vw, 66px);
    font-size: clamp(0px,4.16667vw, 16px);
  }
}
.family .family_gallery .family_gallery_pagenation_number .slash {
  font-size: clamp(13px,1.80556vw, 26px);
  font-weight: 200;
}
@media (max-width: 767.98px) {
  .family .family_gallery .family_gallery_pagenation_number .slash {
    font-size: clamp(0px,6.25vw, 24px);
  }
}
.family .family_gallery .family_gallery_link {
  display: flex;
  margin: clamp(32px,4.16667vw, 60px) auto 0;
  padding: clamp(13px,1.80556vw, 26px);
  border-radius: clamp(3px,0.41667vw, 6px);
  max-width: clamp(580px,75.55556vw, 1088px);
  background-color: #eaeaea;

  gap: clamp(20px,2.63889vw, 38px);
}
.family .family_gallery .family_gallery_link_detail {
  display: flex;
  flex-flow: column;
  justify-content: center;
}
.family .family_gallery .family_gallery_link_title {
  font-size: clamp(9px,1.25vw, 18px);
  font-weight: bold;
}
.family .family_gallery .family_gallery_link_text {
  font-size: clamp(8px,1.11112vw, 16px);
}
.family .family_scene {
  position: relative;
  z-index: 2;
  margin-top: clamp(65px,8.54167vw, 123px);
  background-color: #f9f8f5;
}
@media (max-width: 767.98px) {
  .family .family_scene {
    margin-top: clamp(0px,24.21875vw, 93px);
  }
}
.family .family_scene .family_scene_bg {
  position: relative;
  margin-top: clamp(25px,3.33334vw, 48px);
  height: clamp(906px,118.05556vw, 1700px);
}
@media (max-width: 767.98px) {
  .family .family_scene .family_scene_bg {
    margin-top: clamp(0px,10.41667vw, 40px);
    height: clamp(0px,171.09375vw, 657px);
  }
}
.family .family_scene .family_scene_images {
  display: flex;
  margin-top: clamp(-800px,-55.55555vw, -427px);
}
@media (max-width: 767.98px) {
  .family .family_scene .family_scene_images {
    flex-flow: column;
    margin-top: 0;
  }
}
.family .family_scene .family_scene_image {
  overflow: hidden;
  position: relative;
}
@media (min-width: 768px) {
  .family .family_scene .family_scene_image {
    width: 33.3333333333%;
    height: clamp(266px,34.72223vw, 500px);
    transition: width 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .family .family_scene .family_scene_image:first-child {
    width: 66.6666666667%;
  }
  .family .family_scene .family_scene_image:first-child .family_scene_image_detail .slash,
  .family .family_scene .family_scene_image:first-child .family_scene_image_detail .class {
    opacity: 1;
    transform: translateX(0%);
  }
  .family .family_scene .family_scene_image:first-child .family_scene_image_title,
  .family .family_scene .family_scene_image:first-child .family_scene_image_message {
    opacity: 1;
    transform: translateX(0%);
  }
  .family .family_scene .family_scene_image.is-hover {
    width: 66.6666666667%;
    transition: width 0.85s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .family .family_scene .family_scene_image.is-hover .family_scene_image_detail .slash,
  .family .family_scene .family_scene_image.is-hover .family_scene_image_detail .class {
    opacity: 1;
    transform: translateX(0%);
  }
  .family .family_scene .family_scene_image.is-hover .family_scene_image_title,
  .family .family_scene .family_scene_image.is-hover .family_scene_image_message {
    opacity: 1;
    transform: translateX(0%);
  }
  .family .family_scene .family_scene_image.is-hover .family_scene_image_arrow {
    opacity: 1;
  }
  .family .family_scene .family_scene_image.is-hover .family_scene_image_arrow::before {
    opacity: 0;
    transition: transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
    transform: translate(35%, -50%);
  }
  .family .family_scene .family_scene_image.is-hover .family_scene_image_arrow::after {
    opacity: 1;
    transition: transform 0.3s 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.35s 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
    transform: translate(0, -50%);
  }
  .family .family_scene .family_scene_image.is-hover::after {
    opacity: 0;
  }
  .family .family_scene .family_scene_image.is-hover img {
    transform: scale(1.06);
  }
  .family .family_scene .family_scene_image.is-not-hover {
    width: 33.3333333333% !important;
  }
  .family .family_scene .family_scene_image.is-not-hover .family_scene_image_detail .slash,
  .family .family_scene .family_scene_image.is-not-hover .family_scene_image_detail .class {
    opacity: 0;
  }
  .family .family_scene .family_scene_image.is-not-hover .family_scene_image_title,
  .family .family_scene .family_scene_image.is-not-hover .family_scene_image_message {
    opacity: 0;
  }
}
@media (max-width: 767.98px) {
  .family .family_scene .family_scene_image {
    height: clamp(0px,141.40625vw, 543px);
  }
}
.family .family_scene .family_scene_image::after {
  content: "";
  opacity: 0.25;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 1s cubic-bezier(0.075, 0.82, 0.165, 1);
  background-color: #000;
}
@media (max-width: 767.98px) {
  .family .family_scene .family_scene_image::after {
    display: none;
  }
}
.family .family_scene .family_scene_image img {
  position: relative;
  z-index: -1;
  width: 100%;
  height: 100%;
  transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);

  -o-object-fit: cover;

     object-fit: cover;
}
.family .family_scene .family_scene_image_arrow {
  opacity: 0;
  position: absolute;
  z-index: 1;
  right: clamp(29px,3.88889vw, 56px);
  bottom: clamp(18px,2.43056vw, 35px);
  width: clamp(37px,4.86112vw, 70px);
  height: clamp(37px,4.86112vw, 70px);
  transition: opacity 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  background-image: url(/ichigan/special/family/assets/img/common/icon_link.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 767.98px) {
  .family .family_scene .family_scene_image_arrow {
    opacity: 1;
    right: clamp(0px,7.8125vw, 30px);
    bottom: clamp(0px,10.41667vw, 40px);
    width: clamp(0px,14.58334vw, 56px);
    height: clamp(0px,14.58334vw, 56px);
  }
}
.family .family_scene .family_scene_image_arrow::before,
.family .family_scene .family_scene_image_arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: clamp(10px,1.38889vw, 20px);
  width: clamp(16px,2.08334vw, 30px);
  height: clamp(2px,0.34723vw, 5px);
  transform: translateY(-50%);
  background-image: url(/ichigan/special/family/assets/img/common/icon_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 767.98px) {
  .family .family_scene .family_scene_image_arrow::before,
  .family .family_scene .family_scene_image_arrow::after {
    right: clamp(0px,2.60417vw, 10px);
    width: clamp(0px,7.8125vw, 30px);
    height: clamp(0px,1.04167vw, 4px);
  }
}
.family .family_scene .family_scene_image_arrow::after {
  opacity: 0;
  transform: translate(-35%, -50%);
}
.family .family_scene .family_scene_image_text {
  position: absolute;
  z-index: 1;
  top: clamp(14px,1.94445vw, 28px);
  left: clamp(20px,2.63889vw, 38px);
}
@media (max-width: 767.98px) {
  .family .family_scene .family_scene_image_text {
    top: clamp(0px,8.33334vw, 32px);
    left: clamp(0px,5.20834vw, 20px);
  }
}
.family .family_scene .family_scene_image_detail {
  display: flex;
  align-items: center;
  color: #fff;
  line-height: 1;
}
.family .family_scene .family_scene_image_detail .age {
  padding-right: clamp(2px,0.34723vw, 5px);
  font-family: "Lexend Exa", sans-serif;
  font-size: clamp(11px,1.52778vw, 22px);
  font-weight: 200;
}
@media (max-width: 767.98px) {
  .family .family_scene .family_scene_image_detail .age {
    padding-right: clamp(0px,3.125vw, 12px);
    font-size: clamp(0px,4.6875vw, 18px);
  }
}
.family .family_scene .family_scene_image_detail .number {
  padding-left: clamp(3px,0.41667vw, 6px);
  letter-spacing: 2px;
  font-family: "Lexend Exa", sans-serif;
  font-size: clamp(19px,2.5vw, 36px);
  font-weight: 300;
}
@media (max-width: 767.98px) {
  .family .family_scene .family_scene_image_detail .number {
    padding-left: 0;
    letter-spacing: 0;
    font-size: clamp(0px,7.8125vw, 30px);
  }
}
.family .family_scene .family_scene_image_detail .slash {
  opacity: 0;
  padding: 0 clamp(6px,0.83334vw, 12px) 0 clamp(3px,0.41667vw, 6px);
  transition: opacity 0.65s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.65s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translateX(-15px);
  font-family: "Lexend Exa", sans-serif;
  font-size: clamp(17px,2.22223vw, 32px);
  font-weight: 300;
}
@media (max-width: 767.98px) {
  .family .family_scene .family_scene_image_detail .slash {
    opacity: 1;
    padding: 0 clamp(0px,2.60417vw, 10px) 0 clamp(0px,5.20834vw, 20px);
    font-size: clamp(0px,6.77084vw, 26px);
  }
}
.family .family_scene .family_scene_image_detail .class {
  opacity: 0;
  transition: opacity 0.65s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.65s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translateX(-15px);
  letter-spacing: 1px;
  font-size: clamp(8px,1.11112vw, 16px);
  font-weight: 400;
}
@media (max-width: 767.98px) {
  .family .family_scene .family_scene_image_detail .class {
    opacity: 1;
    font-size: clamp(0px,3.125vw, 12px);
  }
}
.family .family_scene .family_scene_image_title {
  opacity: 0;
  margin-top: clamp(12px,1.66667vw, 24px);
  transition: opacity 0.65s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.65s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translateX(-15px);
  letter-spacing: 1px;
  color: #fff;
  font-size: clamp(12px,1.66667vw, 24px);
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .family .family_scene .family_scene_image_title {
    opacity: 1;
    margin-top: clamp(0px,3.125vw, 12px);
    margin-left: clamp(0px,3.90625vw, 15px);
    font-size: clamp(0px,5.72917vw, 22px);
    line-height: 1.7;
  }
}
.family .family_scene .family_scene_image_message {
  opacity: 0;
  position: absolute;
  z-index: 1;
  bottom: clamp(14px,1.94445vw, 28px);
  left: clamp(20px,2.63889vw, 38px);
  transition: opacity 0.65s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.65s cubic-bezier(0.215, 0.61, 0.355, 1);
  letter-spacing: 1px;
  color: #fff;
  font-size: clamp(8px,1.11112vw, 16px);
  font-weight: 500;
  line-height: 1.7;
}
@media (max-width: 767.98px) {
  .family .family_scene .family_scene_image_message {
    opacity: 1;
    bottom: clamp(0px,14.0625vw, 54px);
    left: clamp(0px,5.20834vw, 20px);
    margin-top: clamp(0px,36.45834vw, 140px);
    letter-spacing: 0.5px;
    font-size: clamp(0px,3.64584vw, 14px);
    line-height: 1.9;
  }
}
.family .family_scene .family_scene_image_message.family_scene_image_message--visible {
  opacity: 1;
  bottom: clamp(640px,83.33334vw, 1200px);
  left: 50%;
  width: 100%;
  max-width: clamp(640px,83.33334vw, 1200px);
  transform: translateX(-50%);
  letter-spacing: 3px;
  font-size: clamp(10px,1.38889vw, 20px);
  line-height: 3;
}
@media (max-width: 767.98px) {
  .family .family_scene .family_scene_image_message.family_scene_image_message--visible {
    top: 50%;
    bottom: initial;
    left: clamp(0px,5.20834vw, 20px);
    margin: 0;
    transform: translateY(-50%);
    letter-spacing: 1.5px;
    font-size: clamp(0px,4.6875vw, 18px);
    line-height: 2.4;
  }
}
.family .family_point {
  overflow: hidden;
  position: relative;
  z-index: 1;
  margin-top: clamp(144px,18.75vw, 270px);
  padding-top: 150vh;
  background-color: #f6f2ee;
}
@media (max-width: 767.98px) {
  .family .family_point {
    margin-top: 0;
  }
}
.family .family_point .family_point_bg {
  overflow: hidden;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}
.family .family_point .family_point_bg_main {
  position: relative;
  z-index: -1;
  top: 0;
  left: 0;
  margin: -10px;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  background-image: url(/ichigan/special/family/assets/img/top/point_bg_lg.png);
  background-repeat: no-repeat;
  background-size: cover;
  pointer-events: none;
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_bg_main {
    background-image: url(/ichigan/special/family/assets/img/top/point_bg_sm.png);
  }
}
.family .family_point .family_point_list {
  display: flex;
  flex-flow: column;
  position: relative;
  margin: clamp(48px,6.25vw, 90px) auto 0;
  max-width: clamp(768px,100vw, 1440px);

  gap: clamp(40px,5.20834vw, 75px);
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_list {
    gap: clamp(0px,9.11459vw, 35px);
  }
}
.family .family_point .family_point_item {
  display: flex;
  padding: 0 clamp(10px,1.38889vw, 20px) clamp(29px,3.81945vw, 55px) 0;
  width: 100%;
  background-color: #fff;

  gap: clamp(32px,4.16667vw, 60px);
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item {
    flex-flow: column;
    padding: 0 0 clamp(0px,16.40625vw, 63px);

    gap: 0;
  }
}
@media (min-width: 768px) {
  .family .family_point .family_point_item:nth-of-type(even) {
    flex-flow: row-reverse;
    padding: 0 0 clamp(29px,3.81945vw, 55px) clamp(77px,10.06945vw, 145px);
  }
}
.family .family_point .family_point_item_image {
  margin-top: clamp(-30px,-2.08333vw, -16px);
  width: clamp(350px,45.69445vw, 658px);
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_image {
    margin-top: 0;
    width: 100%;
  }
}
.family .family_point .family_point_item_detail {
  padding-top: clamp(42px,5.55556vw, 80px);
  width: clamp(366px,47.70834vw, 687px);
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_detail {
    padding: clamp(0px,9.63542vw, 37px) clamp(0px,5.20834vw, 20px) 0;
    width: 100%;
  }
}
.family .family_point .family_point_item_title {
  display: flex;
  align-items: center;

  gap: clamp(32px,4.16667vw, 60px);
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_title {
    gap: clamp(0px,14.32292vw, 55px);
  }
}
.family .family_point .family_point_item_point {
  display: flex;
  align-items: center;
  flex-flow: column;
  position: relative;
  color: #ebd4b9;
  font-family: "Lexend Exa", sans-serif;
  font-size: clamp(25px,3.33334vw, 48px);
  font-weight: 300;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_point {
    justify-content: center;
    font-size: clamp(0px,10.9375vw, 42px);
  }
}
.family .family_point .family_point_item_point span {
  letter-spacing: 2px;
  font-size: clamp(6px,0.83334vw, 12px);
  line-height: 1.8;
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_point span {
    font-size: clamp(0px,2.60417vw, 10px);
  }
}
.family .family_point .family_point_item_point::after {
  content: "";
  position: absolute;
  top: 50%;
  right: clamp(-30px,-2.08333vw, -16px);
  width: 2px;
  height: clamp(42px,5.55556vw, 80px);
  transform: translateY(-50%) rotate(25deg);
  background-color: #ebd4b9;
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_point::after {
    right: clamp(-30px,-7.8125vw, 0px);
    height: clamp(0px,20.83334vw, 80px);
    transform: translateY(-50%) rotate(28deg);
  }
}
.family .family_point .family_point_item_heading {
  letter-spacing: 1.5px;
  font-size: clamp(12px,1.66667vw, 24px);
  font-weight: 500;
  line-height: 1.6;
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_heading {
    letter-spacing: 1px;
    font-size: clamp(0px,5.20834vw, 20px);
    line-height: 1.6;
  }
}
.family .family_point .family_point_item_text {
  margin-top: clamp(16px,2.08334vw, 30px);
  width: clamp(309px,40.27778vw, 580px);
  letter-spacing: 0.5px;
  font-size: clamp(8px,1.11112vw, 16px);
  font-weight: 500;
  line-height: 1.7;
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_text {
    margin-top: clamp(0px,6.25vw, 24px);
    width: 100%;
    letter-spacing: 1px;
    font-size: clamp(0px,4.16667vw, 16px);
  }
}
.family .family_point .family_point_item_text span {
  display: block;
  margin-top: clamp(13px,1.73612vw, 25px);
  font-size: clamp(6px,0.83334vw, 12px);
  line-height: 1.8;
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_text span {
    margin-top: clamp(0px,7.8125vw, 30px);
    font-size: clamp(0px,3.125vw, 12px);
  }
}
.family .family_point .family_point_item_text_movie {
  margin-top: clamp(16px,2.08334vw, 30px);
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_text_movie {
    margin-top: clamp(0px,7.8125vw, 30px);
  }
}
.family .family_point .family_point_item_text_movie_image {
  margin-top: clamp(8px,1.04167vw, 15px);
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_text_movie_image {
    margin-top: clamp(0px,3.90625vw, 15px);
    text-align: center;
  }
}
.family .family_point .family_point_item_text_movie_image_button {
  display: inline-block;
  position: relative;
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_text_movie_image_button {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.family .family_point .family_point_item_text_movie_image_button::before {
  content: "";
  opacity: 0.25;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 1s cubic-bezier(0.075, 0.82, 0.165, 1);
  background-color: #000;
}
.family .family_point .family_point_item_text_movie_image_button .family_point_item_text_movie_image_icon {
  position: absolute;
  top: calc(50% + clamp(9px,1.25vw, 18px));
  right: clamp(40px,5.20834vw, 75px);
  transform: translateY(-50%);
  letter-spacing: 2px;
  color: #fff;
  font-family: "Lexend Exa", sans-serif;
  font-size: clamp(6px,0.83334vw, 12px);
  font-weight: bold;
  line-height: 3;
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_text_movie_image_button .family_point_item_text_movie_image_icon {
    top: calc(50% + clamp(0px,4.6875vw, 18px));
    right: clamp(0px,7.8125vw, 30px);
    font-size: clamp(0px,3.125vw, 12px);
  }
}
.family .family_point .family_point_item_text_movie_image_button .family_point_item_text_movie_image_icon > span {
  position: absolute;
  bottom: 100%;
  left: 50%;
  margin-top: 0;
  border-radius: 50%;
  width: clamp(38px,5vw, 72px);
  height: clamp(38px,5vw, 72px);
  transition: transform 0.55s cubic-bezier(0.075, 0.82, 0.165, 1);
  transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.73);
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_text_movie_image_button .family_point_item_text_movie_image_icon > span {
    width: clamp(0px,18.75vw, 72px);
    height: clamp(0px,18.75vw, 72px);
  }
}
.family .family_point .family_point_item_text_movie_image_button .family_point_item_text_movie_image_icon > span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(5px,0.69445vw, 10px);
  height: clamp(5px,0.69445vw, 10px);
  transform: translate(-50%, -50%);
  background-image: url(/ichigan/special/family/assets/img/common/icon_movie.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_text_movie_image_button .family_point_item_text_movie_image_icon > span::before {
    width: clamp(0px,2.60417vw, 10px);
    height: clamp(0px,2.60417vw, 10px);
  }
}
.family .family_point .family_point_item_text_movie_image_button .family_point_item_text_movie_image_icon > span::after {
  content: "";
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(5px,0.69445vw, 10px);
  height: clamp(5px,0.69445vw, 10px);
  transition: opacity 0.55s cubic-bezier(0.075, 0.82, 0.165, 1);
  transform: translate(-50%, -50%);
  background-image: url(/ichigan/special/family/assets/img/common/icon_movie_black.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_text_movie_image_button .family_point_item_text_movie_image_icon > span::after {
    width: clamp(0px,2.60417vw, 10px);
    height: clamp(0px,2.60417vw, 10px);
  }
}
.family .family_point .family_point_item_text_movie_image_button:hover::before {
  opacity: 0;
}
.family .family_point .family_point_item_text_movie_image_button:hover > span > span {
  transform: translateX(-50%) scale(1.1);
}
.family .family_point .family_point_item_text_movie_image_button:hover > span > span::before {
  opacity: 0;
}
.family .family_point .family_point_item_text_movie_image_button:hover > span > span::after {
  opacity: 1;
}
.family .family_point .family_point_item_link {
  margin: clamp(10px,1.38889vw, 20px) auto;
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_item_link {
    margin-top: clamp(0px,5.20834vw, 20px);
    max-width: clamp(0px,56.25vw, 216px);
  }
}
.family .family_point .family_point_more {
  margin-top: clamp(-500px,-34.72222vw, -267px);
  width: 100%;
  height: clamp(328px,42.70834vw, 615px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 61%);
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_more {
    margin-top: clamp(-263px,-68.48958vw, 0px);
    height: clamp(0px,117.1875vw, 450px);
  }
}
.family .family_point .family_point_more_button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: clamp(40px,5.20834vw, 75px);
  left: 50%;
  border-radius: 50%;
  width: clamp(72px,9.44445vw, 136px);
  height: clamp(72px,9.44445vw, 136px);
  transform: translateX(-50%);
  font-family: "Lexend Exa", sans-serif;
  font-size: clamp(6px,0.83334vw, 12px);
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_more_button {
    bottom: clamp(0px,21.875vw, 84px);
    width: clamp(0px,35.41667vw, 136px);
    height: clamp(0px,35.41667vw, 136px);
    font-size: clamp(0px,3.125vw, 12px);
  }
}
.family .family_point .family_point_more_button::before {
  content: "";
  position: absolute;
  bottom: clamp(-25px,-1.73611vw, -14px);
  left: 50%;
  width: clamp(2px,0.34723vw, 5px);
  height: clamp(26px,3.47223vw, 50px);
  transition: bottom 0.3s;
  transform: translateX(-50%);
  background-image: url(/ichigan/special/family/assets/img/common/icon_more_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 767.98px) {
  .family .family_point .family_point_more_button::before {
    bottom: clamp(-25px,-6.51041vw, 0px);
    width: clamp(0px,1.30209vw, 5px);
    height: clamp(0px,13.02084vw, 50px);
  }
}
.family .family_point .family_point_more_button::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #000;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  transition: transform 0.3s;
}
.family .family_point .family_point_more_button:hover::before {
  bottom: clamp(-30px,-2.08333vw, -16px);
}
.family .family_point .family_point_more_button:hover::after {
  transform: scale(1.05);
}
.family .family_event .family_event_tags {
  display: flex;
  align-items: center;
  position: relative;
  margin-top: clamp(34px,4.51389vw, 65px);
  padding: clamp(9px,1.25vw, 18px) 0;
  border-top: 1px solid #a8a8a8;
  border-bottom: 1px solid #a8a8a8;
}
@media (max-width: 767.98px) {
  .family .family_event .family_event_tags {
    align-items: initial;
    flex-flow: column;
    margin-top: clamp(0px,11.71875vw, 45px);
    padding: clamp(0px,6.77084vw, 26px) 0 clamp(0px,2.08334vw, 8px);
  }
  .family .family_event .family_event_tags::after {
    content: "";
    position: absolute;
    top: clamp(-4px,-1.04166vw, 0px);
    right: clamp(-20px,-5.20833vw, 0px);
    width: clamp(0px,18.22917vw, 70px);
    height: 100%;
    background: linear-gradient(90deg, rgba(249, 248, 245, 0) -11.43%, #f9f8f5 65.71%);
  }
}
.family .family_event .family_event_tagList {
  display: flex;
  align-items: center;
  position: relative;

  gap: clamp(4px,0.55556vw, 8px);
}
@media (max-width: 767.98px) {
  .family .family_event .family_event_tagList {
    overflow-x: auto;
    padding-right: clamp(0px,7.8125vw, 30px);
    padding-bottom: clamp(0px,2.08334vw, 8px);

    gap: clamp(0px,2.08334vw, 8px);
  }
}
.family .family_event .family_event_tags_text {
  margin-right: clamp(10px,1.38889vw, 20px);
  font-size: clamp(9px,1.25vw, 18px);
  line-height: 1;
}
@media (max-width: 767.98px) {
  .family .family_event .family_event_tags_text {
    margin-right: clamp(0px,5.20834vw, 20px);
    font-size: clamp(0px,3.64584vw, 14px);
  }
}
.family .family_event .family_event_tag {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 clamp(6px,0.83334vw, 12px);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #aa8c6a;
  font-size: clamp(7px,0.97223vw, 14px);
}
@media (max-width: 767.98px) {
  .family .family_event .family_event_tag {
    padding: 0;
    border-radius: clamp(0px,10.41667vw, 40px);
    white-space: nowrap;
    font-size: clamp(0px,3.64584vw, 14px);
  }
}
.family .family_event .family_event_list {
  display: flex;
  flex-flow: wrap;
  margin-top: clamp(32px,4.16667vw, 60px);

  gap: clamp(16px,2.08334vw, 30px);
}
@media (max-width: 767.98px) {
  .family .family_event .family_event_list {
    margin-top: clamp(0px,10.41667vw, 40px);

    gap: clamp(0px,10.41667vw, 40px) clamp(0px,4.6875vw, 18px);
  }
}
.family .family_event .family_event_item {
  width: calc(20% - clamp(64px,8.33334vw, 120px) / 5);
}
@media (max-width: 767.98px) {
  .family .family_event .family_event_item {
    width: calc(50% - clamp(0px,4.6875vw, 18px) / 2);
  }
}
.family .family_event .family_event_item_image img {
  width: 100%;
}
.family .family_event .family_event_item_title {
  display: flex;
  flex-flow: column;
  margin-top: clamp(10px,1.38889vw, 20px);
  font-size: clamp(6px,0.83334vw, 12px);
  font-weight: bold;
  line-height: 1.8;
}
@media (max-width: 767.98px) {
  .family .family_event .family_event_item_title {
    margin-top: clamp(0px,2.60417vw, 10px);
    font-size: clamp(0px,3.125vw, 12px);
  }
}
.family .family_event .family_event_item_title span {
  font-size: clamp(9px,1.25vw, 18px);
  line-height: 1.6;
}
@media (max-width: 767.98px) {
  .family .family_event .family_event_item_title span {
    font-size: clamp(0px,4.16667vw, 16px);
  }
}
.family .family_event .family_event_item_text {
  margin-top: clamp(5px,0.69445vw, 10px);
  letter-spacing: 0.5px;
  font-size: clamp(6px,0.83334vw, 12px);
  font-weight: 500;
  line-height: 1.8;
}
@media (max-width: 767.98px) {
  .family .family_event .family_event_item_text {
    margin-top: clamp(0px,3.125vw, 12px);
    font-size: clamp(0px,3.125vw, 12px);
  }
}
.family .family_event .family_event_item_tags {
  display: flex;
  flex-flow: column;
  margin-top: clamp(10px,1.38889vw, 20px);
  padding-top: clamp(8px,1.04167vw, 15px);
  border-top: 1px dashed #cdcdcd;
}
@media (max-width: 767.98px) {
  .family .family_event .family_event_item_tags {
    margin-top: clamp(0px,4.6875vw, 18px);
    padding-top: clamp(0px,3.125vw, 12px);
  }
}
.family .family_event .family_event_list_more_link {
  display: none;
}
@media (max-width: 767.98px) {
  .family .family_event .family_event_list_more_link {
    display: flex;
    margin: clamp(0px,10.41667vw, 40px) auto 0;
    width: clamp(0px,56.25vw, 216px);
  }
}
.family .family_link {
  padding-top: clamp(90px,11.80556vw, 170px);
}
@media (max-width: 767.98px) {
  .family .family_link {
    padding-top: clamp(0px,26.04167vw, 100px);
  }
}
.family .family_link .family_link_banner {
  display: grid;
  margin: clamp(32px,4.16667vw, 60px) auto 0;
  padding-bottom: clamp(90px,11.80556vw, 170px);
  width: clamp(546px,71.18056vw, 1025px);

  grid-template-columns: repeat(2, 1fr);
  gap: clamp(10px,1.38889vw, 20px) clamp(13px,1.73612vw, 25px);
}
@media (max-width: 767.98px) {
  .family .family_link .family_link_banner {
    margin: clamp(0px,13.02084vw, 50px) auto 0;
    padding: 0 clamp(0px,2.60417vw, 10px) clamp(0px,26.04167vw, 100px);
    width: 100%;

    gap: clamp(0px,2.60417vw, 10px);
    grid-template-columns: initial;
    grid-template-rows: repeat(1, 1fr);
  }
}
.family .family_link .family_link_banner img {
  width: 100%;
}