@charset "UTF-8";
@keyframes mvImgScale {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.08);
  }
}
.tsume500 {
  letter-spacing: -0.5em;
}

.tsume250 {
  letter-spacing: -0.25em;
}

.tsume125 {
  letter-spacing: -0.125em;
}

.aki500 {
  letter-spacing: 0.5em;
}

.aki250 {
  letter-spacing: 0.25em;
}

.aki125 {
  letter-spacing: 0.125em;
}

@media screen and (min-width: 768px), print {
  main {
    overflow: hidden;
  }
  .link-btn {
    border-bottom: 1px solid #666666;
    line-height: 1;
    color: inherit;
  }
  .link-btn::after {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    background-image: url(../images/top/link-btn-arrow.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center center;
    transition: transform 0.4s ease 0s;
  }
  .link-btn:hover {
    text-decoration: none;
  }
  .link-btn:hover::after {
    transform: translateX(33%);
  }
  .link-btn img:hover {
    opacity: 1;
  }
  .mv {
    position: relative;
    width: 100%;
    z-index: 1;
  }
  .mv .mvInner {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 2;
    color: white;
    pointer-events: none;
  }
  .mv .mvInner > * {
    pointer-events: all;
  }
  .mv .mvMainText {
    position: absolute;
    width: -moz-fit-content;
    width: fit-content;
    height: 1em;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    font-size: clamp(19px, (100vw - 1280px) / (640) * 4 + 19px, 23px);
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.5em;
    transform: translate(-7px, -3px);
  }
  .mv .mvMainText > span:not([class]) {
    letter-spacing: -0.5em;
  }
  .mv .mvSubText {
    position: absolute;
    top: 17.2222222222%;
    right: 70px;
    width: 14px;
    height: 438px;
  }
  .mv .mvSubText > img {
    display: block;
    max-width: 100%;
  }
  .mv .mvLBText {
    position: absolute;
    width: clamp(297px, (100vw - 1280px) / (640) * 126 + 297px, 423px);
    aspect-ratio: 423/108;
    left: 25px;
    bottom: clamp(23px, (100vw - 1280px) / (640) * 3 + 23px, 26px);
  }
  .mv .mvLBText > img {
    display: block;
    max-width: 100%;
  }
  .mv .mvSliderWrap {
    position: relative;
    z-index: 1;
  }
  .mv .topNav {
    position: absolute;
    top: clamp(214px, (100vw - 1280px) / (640) * 80 + 214px, 294px);
    left: 39px;
  }
  .mv .topNavList {
    display: flex;
    flex-direction: column;
    gap: 35px;
    padding: 0;
    margin: 0;
  }
  .mv .topNavList > li {
    padding: 0;
    margin: 0;
  }
  .mv .topNavList > li > a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 10px;
  }
  .mv .topNavList > li > a > img {
    display: block;
    max-width: 100%;
    transition: opacity 0.2s ease 0s;
  }
  .mv .mvSlider {
    position: relative;
  }
  .mv .mvSlider.slick-dotted {
    margin-bottom: 0;
  }
  .mv .mvSlider > .slick-list {
    padding-top: 0;
  }
  .mv .mvSlider > .slick-dots {
    display: block;
    padding: 0;
    margin: 0;
    width: auto;
    position: absolute;
    display: flex;
    bottom: 30px;
    right: 30px;
    gap: 20px;
  }
  .mv .mvSlider > .slick-dots > li {
    padding: 0;
    margin: 0;
    width: auto;
    height: auto;
    display: block;
    overflow: hidden;
  }
  .mv .mvSlider > .slick-dots > li.slick-active > button {
    background-color: #fff;
  }
  .mv .mvSlider > .slick-dots > li > button {
    box-sizing: content-box;
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    display: block;
    width: 6.3px;
    height: auto;
    aspect-ratio: 1/1;
    text-indent: 100%;
    overflow: hidden;
    border-radius: 50%;
    border: 1px solid #fff;
    text-decoration: none !important;
  }
  .mv .mvSlideItem {
    width: 100%;
    height: clamp(720px, (100vw - 1280px) / (640) * 180 + 720px, 900px);
    overflow: hidden;
  }
  .mv .mvSlideItem > img {
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
    -o-object-position: center center;
       object-position: center center;
  }
  .mv .mvSlideItem.add-animation > img {
    animation: mvImgScale 9s linear 0s infinite;
  }
  .mv .mvSlideItem.a-5 > img {
    -o-object-position: center bottom;
       object-position: center bottom;
  }
  .mv .mvSubTextSp {
    display: none;
  }
  .sec-pickup {
    margin-top: clamp(120px, (100vw - 1280px) / (640) * 40 + 120px, 160px);
    margin-bottom: clamp(240px, (100vw - 1280px) / (640) * 40 + 240px, 280px);
  }
  .sec-pickup > .inner {
    width: 1200px;
    display: flex;
    margin-left: auto;
    margin-right: auto;
    justify-content: space-between;
    align-items: flex-start;
  }
  .sec-pickup .pickup-text {
    width: -moz-fit-content;
    width: fit-content;
    padding-top: 28px;
  }
  .sec-pickup .pickup-text > h2 {
    width: 85px;
    margin-left: 2px;
    margin-bottom: 21px;
  }
  .sec-pickup .pickup-text > h2 > img {
    display: block;
    max-width: 100%;
  }
  .sec-pickup .pickup-text > p {
    font-size: 16px;
    line-height: 1.625;
    letter-spacing: 0.05em;
    color: #666666;
  }
  .sec-pickup .pickup-links {
    display: flex;
    justify-content: space-between;
    gap: 40px;
  }
  .sec-pickup .pickup-links > .pickup-link {
    position: relative;
    display: block;
    width: 280px;
  }
  .sec-pickup .pickup-links > .pickup-link > img {
    display: block;
    max-width: 100%;
    transition: opacity 0.4s ease 0s;
  }
  .sec-pickup .pickup-links > .pickup-link > img:hover {
    opacity: 1;
  }
  .sec-pickup .pickup-links > .pickup-link::after {
    content: "";
    display: block;
    position: absolute;
    width: 15px;
    height: 15px;
    background-image: url(../images/top/arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    right: 19px;
    bottom: 17px;
    transition: transform 0.4s ease 0s;
  }
  .sec-pickup .pickup-links > .pickup-link:hover > img {
    opacity: 0.8;
  }
  .sec-pickup .pickup-links > .pickup-link:hover::after {
    transform: translateX(30%);
  }
  .sec-concept {
    position: relative;
  }
  .sec-concept .concept-image {
    position: absolute;
    transition: transform 0.6s ease 0s;
  }
  .sec-concept .concept-image > img {
    display: block;
    max-width: 100%;
  }
  .sec-concept .concept-top-images {
    position: relative;
    width: 91.67%;
    aspect-ratio: 1760/890;
    margin-left: auto;
    margin-right: 0;
    z-index: 2;
  }
  .sec-concept .concept-top-images > .image01 {
    width: 64.7727272727%;
    aspect-ratio: 1140/740;
    top: 0;
    right: 0;
    z-index: 1;
  }
  .sec-concept .concept-top-images > .image02 {
    width: 15.9090909091%;
    aspect-ratio: 280/400;
    top: 15.7303370787%;
    left: 0;
    z-index: 2;
  }
  .sec-concept .concept-top-images > .image03 {
    width: 15.9090909091%;
    aspect-ratio: 280/400;
    bottom: 0;
    left: 11.3636363636%;
    z-index: 3;
  }
  .sec-concept .concept-contents {
    position: relative;
    display: flex;
    width: clamp(1168px, (100vw - 1280px) / (640) * 242 + 1168px, 1410px);
    margin-left: auto;
    margin-right: auto;
    margin-top: clamp(63px, (100vw - 1280px) / (640) * 32 + 63px, 95px);
    margin-bottom: calc(clamp(0px, (100vw - 1280px) / (640) * 29 + 0px, 29px) - 50px);
    justify-content: space-between;
    color: #666666;
    z-index: 4;
  }
  .sec-concept .concept-contents .concept-contents__h {
    padding-left: max(47px - clamp(3px, (100vw - 1280px) / (640) * 44 + 3px, 47px), 3px);
  }
  .sec-concept .concept-contents .concept-contents__h > h2 {
    font-size: clamp(24px, (100vw - 1280px) / (640) * 5 + 24px, 29px);
    letter-spacing: 0.5em;
    line-height: 2.1379310345;
  }
  .sec-concept .concept-contents .concept-contents__text {
    margin-top: 10px;
  }
  .sec-concept .concept-contents .concept-contents__text > p {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2.5625;
  }
  .sec-concept .concept-contents .concept-contents__text > p + p {
    margin-top: 2.5625em;
  }
  .sec-concept .concept-contents .concept-contents__text > .link-btn {
    width: 220px;
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    letter-spacing: 0.05em;
    padding: 0 20px 22px 9px;
    white-space: nowrap;
    margin-top: 64px;
    margin-left: -3px;
  }
  .sec-concept .concept-bottom-images {
    position: relative;
    width: 100%;
    aspect-ratio: 1920/790;
    margin-left: auto;
    margin-right: 0;
    z-index: 3;
  }
  .sec-concept .concept-bottom-images > .image04 {
    width: 46.875%;
    aspect-ratio: 900/600;
    top: 0;
    left: 0;
    z-index: 2;
  }
  .sec-concept .concept-bottom-images > .image05 {
    width: 31.7708333333%;
    aspect-ratio: 610/620;
    bottom: 0;
    right: 0;
    z-index: 2;
  }
  .sec-concept .concept-bottom-images > .concept-bottom-text {
    position: absolute;
    width: 273.4px;
    bottom: clamp(0px, (100vw - 1280px) / (640) * 18 + 0px, 18px);
    left: clamp(105px, (100vw - 1280px) / (640) * 148 + 105px, 253px);
    z-index: 1;
  }
  .sec-concept .concept-bottom-images > .concept-bottom-text > img {
    display: block;
    max-width: 100%;
  }
  .sec-concept .concept-bg {
    position: absolute;
    z-index: 1;
    left: 0;
    top: clamp(260px, (100vw - 1280px) / (640) * 130 + 260px, 390px);
  }
  .sec-concept .concept-bg > .bg-logo > img {
    display: block;
    max-width: 100%;
  }
  .sec-concept .concept-bg > .bg-text {
    position: absolute;
    width: 517px;
    left: clamp(111px, (100vw - 1280px) / (640) * 146 + 111px, 257px);
    bottom: calc(0px - (200px - clamp(0px, (100vw - 1280px) / (640) * 140 + 0px, 140px)));
    z-index: 2;
  }
  .sec-concept .concept-bg > .bg-text > img {
    display: block;
    max-width: 100%;
  }
  .event-news-wrap {
    position: relative;
    padding-left: 5px;
    padding-top: 149px;
    padding-bottom: 140px;
    color: #666666;
  }
  .event-news-wrap::after {
    content: "";
    display: block;
    width: 100%;
    min-width: 1692px;
    aspect-ratio: 1920/1430;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../images/top/post-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
    z-index: 1;
  }
  .event-news-wrap > .inner {
    display: flex;
    justify-content: space-between;
    gap: 110px;
    width: 1070px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 2;
  }
  .event-news-wrap .post-block {
    display: flex;
    flex-direction: column;
    flex: 1;
  }
  .event-news-wrap .post-block-h {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: -14px;
    width: 130px;
    height: 25px;
    z-index: 2;
  }
  .event-news-wrap .post-block-h > img {
    display: block;
    max-width: 100%;
  }
  .event-news-wrap .post-block-content {
    position: relative;
    flex: 1;
    padding: 70px 60px 50px 60px;
    background-color: #fff;
    z-index: 1;
  }
  .event-news-wrap .post-link-btn {
    width: 180px;
    display: flex;
    justify-content: space-between;
    font-size: 15px;
    padding: 0 13px 22px 8px;
    white-space: nowrap;
    margin-top: 42px;
    margin-left: auto;
    margin-right: 0;
    letter-spacing: 0.05em;
  }
  .sec-event .event-item.icon-accepting .event-item__title, .sec-event .event-item.icon-finish .event-item__title {
    display: flex;
    align-items: center;
  }
  .sec-event .event-item.icon-accepting .event-item__title > span, .sec-event .event-item.icon-finish .event-item__title > span {
    flex: 1;
  }
  .sec-event .event-item.icon-accepting .event-item__title::before, .sec-event .event-item.icon-finish .event-item__title::before {
    font-size: 80%;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0.05em;
    font-weight: 500;
    width: 60px;
    aspect-ratio: 1/1;
    margin-right: 12px;
  }
  .sec-event .event-item.icon-accepting .event-item__title::before {
    border: 1px solid #666666;
    content: "受付中";
  }
  .sec-event .event-item.icon-finish .event-item__title::before {
    background-color: #666;
    color: white;
    content: "終了";
  }
  .sec-event .event-item__link img:hover {
    opacity: 1;
  }
  .sec-event .event-item__link:hover {
    text-decoration: none;
  }
  .sec-event .event-item__link:hover .event-item__thumb > img {
    transform: scale(1.08);
  }
  .sec-event .event-item__link:hover .event-item__title > span {
    text-decoration: underline;
    text-underline-offset: 0.25em;
    text-decoration-thickness: 1px;
  }
  .sec-event .event-item__thumb {
    width: 100%;
    aspect-ratio: 3/2;
    margin-bottom: 12px;
    overflow: hidden;
  }
  .sec-event .event-item__thumb > img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center center;
       object-position: center center;
    transition: transform 0.4s ease 0s;
    transform-origin: center center;
  }
  .sec-event .event-item__title {
    margin-bottom: 12px;
    font-size: 16px;
    line-height: 1.625;
    letter-spacing: 0.05em;
    padding-bottom: 16px;
    border-bottom: 1px solid #D0D0D0;
  }
  .sec-event .event-item__infolist {
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    line-height: 1.9230769231;
  }
  .sec-event .event-item__infolist > dt {
    color: #B3B3B3;
    width: 2em;
    margin-right: 19px;
  }
  .sec-event .event-item__infolist > dd {
    letter-spacing: 0.05em;
    width: calc(100% - (2em + 19px));
  }
  .sec-news .news-posts-outer {
    padding-left: 1px;
    overflow: auto;
    max-height: 420px;
  }
  .sec-news .news-list {
    padding-right: 14px;
  }
  .sec-news .news-item {
    margin-top: 24px;
    padding-bottom: 23px;
    border-bottom: 1px solid #D0D0D0;
    letter-spacing: 0.05em;
  }
  .sec-news .news-item + .news-item {
    margin-top: 29px;
  }
  .sec-news .news-item__link:hover {
    text-decoration: none;
  }
  .sec-news .news-item__link:hover > .news-item__title {
    text-decoration: underline;
    text-underline-offset: 0.25em;
    text-decoration-thickness: 1px;
  }
  .sec-news .news-item__date {
    margin-left: 1px;
    margin-bottom: 12px;
    color: #999999;
    font-size: 13px;
    line-height: 1;
  }
  .sec-news .news-item__title {
    font-size: 16px;
    line-height: 1.625;
  }
  .sec-lifestyle {
    position: relative;
    padding-top: clamp(120px, (100vw - 1280px) / (640) * 56 + 120px, 176px);
    padding-bottom: clamp(189px, (100vw - 1280px) / (640) * 60 + 189px, 249px);
    color: #666666;
    z-index: 2;
  }
  .sec-lifestyle > .inner {
    padding: 0 60px;
    max-width: 1480px;
    margin-left: auto;
    margin-right: auto;
  }
  .sec-lifestyle .lifestyle-header {
    margin-bottom: 88px;
  }
  .sec-lifestyle .lifestyle-h-eng {
    width: 104px;
    margin-bottom: 24px;
    margin-left: 1px;
  }
  .sec-lifestyle .lifestyle-h-eng > img {
    display: block;
    max-width: 100%;
  }
  .sec-lifestyle .lifestyle-h {
    font-family: "Shippori Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Sawarabi Mincho", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    margin-left: -10px;
    font-size: 39px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.1em;
  }
  .sec-lifestyle .lifestyle-h > .tsume {
    letter-spacing: -0.25em;
  }
  .sec-lifestyle .lifestyle-subh {
    margin-bottom: 23px;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0.1em;
    font-weight: 600;
  }
  .sec-lifestyle .lifestyle-subh + p {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.875;
  }
  .sec-lifestyle .link-btn {
    width: 220px;
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    letter-spacing: 0.05em;
    padding: 0 20px 22px 9px;
    white-space: nowrap;
    margin-top: 60px;
  }
  .sec-lifestyle .lifestyle-scroll-block {
    position: absolute;
    width: calc(50% + clamp(50px, (100vw - 1280px) / (640) * 70 + 50px, 120px));
    height: 540px;
    top: clamp(265px, (100vw - 1280px) / (640) * 55 + 265px, 320px);
    right: 0;
  }
  .sec-lifestyle .lifestyle-scroll-block::before {
    content: "";
    display: block;
    position: absolute;
    width: 392px;
    top: -112px;
    right: clamp(41px, (100vw - 1280px) / (640) * 20 + 41px, 61px);
    aspect-ratio: 392/134;
    background-image: url(../images/top/one-scene.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    z-index: 2;
  }
  .sec-lifestyle .lifestyle-scroll-inner {
    position: relative;
    height: 100%;
    z-index: 1;
  }
  .sec-lifestyle .lifestyle-scroll-list {
    height: 100%;
  }
  .sec-lifestyle .lifestyle-scroll-list .slick-list {
    padding-top: 0;
  }
  .sec-lifestyle .lifestyle-scroll-list li {
    width: 720px;
    height: 540px;
    aspect-ratio: 720/540;
  }
  .sec-lifestyle .lifestyle-scroll-list li > img {
    display: block;
    max-width: 100%;
  }
  .sec-policy {
    position: relative;
    margin-top: -50px;
    padding-bottom: 152px;
    z-index: 1;
    background-image: url(../images/top/policy-bg.jpg);
    background-repeat: repeat;
    background-size: 1920px 960px;
    background-position: center center;
    color: #666666;
  }
  .sec-policy .policy-header {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 640px;
    padding-bottom: 58px;
    gap: 31px;
    background-image: url(../images/top/policy-h-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    z-index: 1;
  }
  .sec-policy .policy-h-eng {
    width: 55px;
    height: 15px;
    margin-left: -3px;
  }
  .sec-policy .policy-h-eng > img {
    display: block;
    max-width: 100%;
  }
  .sec-policy .policy-h {
    font-size: 25px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.3em;
    color: white;
    padding-left: 5px;
  }
  .sec-policy .policy-subh {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
  }
  .sec-policy .policy-subh + p {
    font-size: 16px;
    line-height: 1.625;
    letter-spacing: 0.05em;
  }
  .sec-policy > .inner {
    position: relative;
    z-index: 2;
    margin-top: -100px;
    width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .sec-policy .policy-design {
    background-color: #fff;
    padding: 64px 51px 54px 55px;
  }
  .sec-policy .policy-design > .policy-subh {
    margin-bottom: 25px;
  }
  .sec-policy .policy-design > .link-btn {
    display: flex;
    justify-content: space-between;
    width: auto;
    margin-left: -7px;
    margin-top: 67px;
    padding: 0 20px 23px 9px;
    font-size: 16px;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .sec-policy .policy-link-wrap {
    display: flex;
    gap: 80px;
    margin-top: 130px;
  }
  .sec-policy .policy-link {
    display: block;
    flex: 1;
    transition: opacity 0.4s ease 0s;
    color: inherit;
  }
  .sec-policy .policy-link:hover {
    text-decoration: none;
    opacity: 0.75;
  }
  .sec-policy .policy-link > .policy-subh {
    margin-bottom: 30px;
  }
  .sec-policy .policy-link__pic {
    margin-bottom: 33px;
  }
  .sec-policy .policy-link__pic > img {
    display: block;
    max-width: 100%;
  }
  .sec-policy .policy-link__pic > img:hover {
    opacity: 1;
  }
  .kominka-block {
    padding: 100px 0;
    background-image: url(../images/top/kominka-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }
  .kominka-block .kominka-banner {
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
  .kominka-block .kominka-banner__link {
    font-family: "Shippori Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Sawarabi Mincho", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: white;
    line-height: 1;
    text-decoration: none;
  }
  .kominka-block .kominka-banner__link:hover {
    text-decoration: none;
  }
  .kominka-block .kominka-banner__link:hover > .kominka-banner__bottom::after {
    transform: translateX(33%);
  }
  .kominka-block .kominka-banner__link:hover > .kominka-banner__img {
    filter: brightness(1.4);
  }
  .kominka-block .kominka-banner__title {
    position: absolute;
    font-size: 39px;
    font-weight: 500;
    letter-spacing: 0.1em;
    z-index: 2;
    top: 98px;
    left: 33px;
  }
  .kominka-block .kominka-banner__sub {
    position: absolute;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.05em;
    top: 121px;
    left: 269px;
    z-index: 2;
  }
  .kominka-block .kominka-banner__bottom {
    position: absolute;
    left: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 60px;
    padding-left: 38px;
    padding-right: 30px;
    padding-bottom: 4px;
    background-color: #523934;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.1em;
    z-index: 2;
  }
  .kominka-block .kominka-banner__bottom::after {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    background-image: url(../images/top/link-btn-arrow-w.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center center;
    transition: transform 0.4s ease 0s;
  }
  .kominka-block .kominka-banner__img {
    position: relative;
    z-index: 1;
    transition: filter 0.4s ease 0s;
  }
  .kominka-block .kominka-banner__img > img {
    display: block;
    max-width: 100%;
  }
  .kominka-block .kominka-banner__img > img:hover {
    opacity: 1;
  }
  .sec-works {
    max-width: 1620px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 101px;
    padding-bottom: 80px;
    border-bottom: 1px solid #D0D0D0;
    color: #666666;
  }
  .sec-works > .inner {
    width: 1120px;
    margin-left: auto;
    margin-right: auto;
  }
  .sec-works .works-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 44px;
  }
  .sec-works .works-h-eng {
    width: 113px;
    margin-bottom: 23px;
  }
  .sec-works .works-h-eng > img {
    display: block;
    max-width: 100%;
  }
  .sec-works .works-h {
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.3em;
  }
  .sec-works .works-list {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  .sec-works .works-item {
    width: 320px;
  }
  .sec-works .works-item:nth-child(n+4) {
    display: none;
  }
  .sec-works .works-item__link {
    display: block;
    width: 100%;
    height: 100%;
    color: inherit;
  }
  .sec-works .works-item__link:hover {
    text-decoration: none;
  }
  .sec-works .works-item__link:hover > .works-item__pic > img {
    transform: scale(1.08);
  }
  .sec-works .works-item__link:hover > .works-item__title {
    text-decoration: underline;
    text-underline-offset: 0.25em;
    text-decoration-thickness: 1px;
  }
  .sec-works .works-item__pic {
    margin-bottom: 14px;
    aspect-ratio: 320/210;
    overflow: hidden;
  }
  .sec-works .works-item__pic > img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center center;
       object-position: center center;
    transform-origin: center center;
    transition: transform 0.4s ease 0s;
  }
  .sec-works .works-item__pic > img:hover {
    opacity: 1;
  }
  .sec-works .works-item__area {
    margin-bottom: 13px;
    font-size: 13px;
    line-height: 1;
    color: #999999;
    letter-spacing: 0.05em;
  }
  .sec-works .works-item__title {
    font-size: 16px;
    line-height: 1.6875;
    letter-spacing: 0.05em;
  }
  .sec-works .link-btn {
    width: 220px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    letter-spacing: 0.05em;
    padding: 0 20px 22px 9px;
    white-space: nowrap;
    margin-top: 75px;
  }
  .sec-flow,
  .sec-maintenance {
    margin-top: 131px;
    padding-left: 40px;
    padding-right: 40px;
    color: #666666;
  }
  .sec-flow > .inner,
  .sec-maintenance > .inner {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    max-width: 1620px;
    margin-left: auto;
    margin-right: auto;
    gap: clamp(112px, (100vw - 1280px) / (640) * 122 + 112px, 234px);
    border-bottom: 1px solid #D0D0D0;
  }
  .sec-flow .title-block,
  .sec-maintenance .title-block {
    display: flex;
    justify-content: space-between;
    padding-top: 15px;
    gap: 25px;
  }
  .sec-flow .sec-title-eng,
  .sec-maintenance .sec-title-eng {
    order: 2;
    width: 11px;
    padding-top: 5px;
  }
  .sec-flow .sec-title-eng > img,
  .sec-maintenance .sec-title-eng > img {
    display: block;
    max-width: 100%;
  }
  .sec-flow .sec-title,
  .sec-maintenance .sec-title {
    order: 1;
    font-size: 22px;
    letter-spacing: 0.36em;
    line-height: 2.2727272727;
    font-weight: 500;
    writing-mode: vertical-rl;
  }
  .sec-flow .content-block,
  .sec-maintenance .content-block {
    width: clamp(920px, (100vw - 1280px) / (640) * 210 + 920px, 1130px);
  }
  .sec-flow .mainimg,
  .sec-maintenance .mainimg {
    width: 100%;
    position: relative;
  }
  .sec-flow .mainimg__img,
  .sec-maintenance .mainimg__img {
    overflow: hidden;
    height: 430px;
  }
  .sec-flow .mainimg__img > img,
  .sec-maintenance .mainimg__img > img {
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
    width: 100%;
    height: 100%;
  }
  .sec-flow .mainimg__text,
  .sec-maintenance .mainimg__text {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Verdana, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    position: absolute;
    color: white;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.3em;
    line-height: 2.0588235294;
  }
  .sec-flow .content-p,
  .sec-maintenance .content-p {
    margin-top: 28px;
    width: 600px;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.625;
  }
  .sec-flow .link-btn,
  .sec-maintenance .link-btn {
    display: flex;
    justify-content: space-between;
    width: 240px;
    margin-top: 63px;
    margin-left: auto;
    margin-right: 0;
    margin-bottom: -1px;
    font-size: 16px;
    letter-spacing: 0.05em;
    color: inherit;
    padding: 0 20px 23px 4px;
  }
  .sec-flow .mainimg__text {
    top: 79px;
    right: calc(58px - clamp(0px, (100vw - 1280px) / (640) * 9 + 0px, 9px));
  }
  .sec-maintenance .mainimg__text {
    bottom: 74px;
    left: 59px;
  }
  .sec-voice {
    margin-top: 134px;
    margin-bottom: 130px;
    padding-left: 40px;
    padding-right: 40px;
    color: #666666;
  }
  .sec-voice > .inner {
    max-width: 1620px;
    margin-left: auto;
    margin-right: auto;
  }
  .sec-voice .voice-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 57px;
  }
  .sec-voice .voice-h-eng {
    width: 44px;
    margin-bottom: 28px;
    transform: translateX(-3px);
  }
  .sec-voice .voice-h-eng > img {
    display: block;
    max-width: 100%;
  }
  .sec-voice .voice-h {
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.1em;
  }
  .sec-voice .voice-list {
    display: flex;
    width: 100%;
  }
  .sec-voice .voice-item {
    border: 1px solid #D0D0D0;
    border-right: none;
    flex: 1;
  }
  .sec-voice .voice-item:last-child {
    border-right: 1px solid #D0D0D0;
  }
  .sec-voice .voice-item__link {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 110px 0 40px;
    min-height: 558px;
    transition: background-color 0.4s ease 0s;
    color: inherit;
  }
  .sec-voice .voice-item__link:hover {
    text-decoration: none;
    background-color: #f6f6f6;
  }
  .sec-voice .voice-item__link:hover > .voice-item__pic > img {
    transform: scale(1.08);
  }
  .sec-voice .voice-item__link::after {
    content: "";
    display: block;
    position: absolute;
    top: 113px;
    right: clamp(35px, (100vw - 1280px) / (640) * 58 + 35px, 93px);
    width: 8px;
    height: 105px;
    background-image: url(../images/top/renovation-story.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
  }
  .sec-voice .voice-item__pic {
    width: 280px;
    aspect-ratio: 280/200;
    margin-bottom: 24px;
    overflow: hidden;
  }
  .sec-voice .voice-item__pic > img {
    display: block;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center center;
       object-position: center center;
    width: 100%;
    height: 100%;
    max-width: 100%;
    transition: transform 0.4s ease 0s;
  }
  .sec-voice .voice-item__pic > img:hover {
    opacity: 1;
  }
  .sec-voice .voice-item__areaname {
    margin-bottom: 24px;
    font-size: 13px;
    letter-spacing: 0.05em;
    line-height: 1.2;
  }
  .sec-voice .voice-item__title {
    width: clamp(324px, (100vw - 1280px) / (640) * 56 + 324px, 380px);
    font-size: 16px;
    line-height: 1.625;
    letter-spacing: 0.05em;
  }
  .sec-voice .link-btn {
    width: 220px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    letter-spacing: 0.05em;
    padding: 0 20px 22px 9px;
    white-space: nowrap;
    margin-top: 53px;
  }
  .sec-staff {
    position: relative;
    margin-bottom: 154px;
    color: #666666;
  }
  .sec-staff::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: clamp(537px, (100vw - 1280px) / (640) * 103 + 537px, 640px);
    top: clamp(149px, (100vw - 1280px) / (640) * 51 + 149px, 200px);
    left: 0;
    background-image: url(../images/top/staff-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    z-index: 1;
  }
  .sec-staff .staff-mainimg {
    position: relative;
    margin-right: 0;
    margin-left: auto;
    margin-bottom: 120px;
    width: clamp(960px, (100vw - 1280px) / (640) * 320 + 960px, 1280px);
    z-index: 2;
  }
  .sec-staff .staff-mainimg > img {
    display: block;
    max-width: 100%;
  }
  .sec-staff .staff-header {
    position: absolute;
    z-index: 3;
    top: clamp(58px, (100vw - 1280px) / (640) * 92 + 58px, 150px);
    right: calc(min(50%, 960px) + clamp(300px, (100vw - 1280px) / (640) * 140 + 300px, 440px));
  }
  .sec-staff .staff-title {
    width: 199px;
    margin-bottom: 60px;
  }
  .sec-staff .staff-title > img {
    display: block;
    max-width: 100%;
  }
  .sec-staff .staff-header-inner {
    margin-left: clamp(27px, (100vw - 1280px) / (640) * 12 + 27px, 39px);
  }
  .sec-staff .staff-h {
    margin-bottom: 28px;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.3em;
    line-height: 1.9;
  }
  .sec-staff .staff-lead {
    width: 282px;
    margin-bottom: 84px;
  }
  .sec-staff .staff-lead > img {
    display: block;
    max-width: 100%;
  }
  .sec-staff .staff-slider-control {
    display: flex;
    gap: 10px;
  }
  .sec-staff .staff-slider-control__item {
    width: 60px;
    cursor: pointer;
    transition: filter 0.4s ease 0s;
  }
  .sec-staff .staff-slider-control__item:hover {
    filter: brightness(0.6);
  }
  .sec-staff .staff-slider-control__item > img {
    display: block;
    max-width: 100%;
  }
  .sec-staff .staff-slider-wrapper {
    position: relative;
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    z-index: 2;
    transform: translateX(-10px);
  }
  .sec-staff .staff-item {
    width: 300px;
    text-align: center;
  }
  .sec-staff .staff-item__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
    color: inherit;
  }
  .sec-staff .staff-item__link:hover {
    text-decoration: none;
  }
  .sec-staff .staff-item__link:hover .staff-item__photo > img {
    opacity: 0.8;
    transform: scale(1.08);
  }
  .sec-staff .staff-item__photo {
    width: 160px;
    margin-bottom: 15px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    overflow: hidden;
    background-color: #fff;
  }
  .sec-staff .staff-item__photo > img {
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
    width: 100%;
    height: 100%;
    max-width: 100%;
    transition: transform 0.4s ease 0s, opacity 0.4s ease 0s;
  }
  .sec-staff .staff-item__photo > img:hover {
    opacity: 1;
  }
  .sec-staff .staff-item__deptpos {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    font-size: 13px;
    line-height: 1.4615384615;
    min-height: 2.9230769231em;
    letter-spacing: 0.05em;
    color: #999999;
  }
  .sec-staff .staff-item__name {
    font-size: 17px;
    line-height: 1;
    letter-spacing: 0.1em;
  }
  .sec-staff .link-wrap {
    position: relative;
    z-index: 2;
    margin-top: 59px;
    padding-left: 40px;
    padding-right: 40px;
  }
  .sec-staff .link-inner {
    max-width: 1620px;
    margin-left: auto;
    margin-right: auto;
    border-bottom: 1px solid #D0D0D0;
  }
  .sec-staff .link-btn {
    display: flex;
    justify-content: space-between;
    width: 240px;
    margin-left: auto;
    margin-right: 0;
    margin-bottom: -1px;
    font-size: 16px;
    letter-spacing: 0.05em;
    color: inherit;
    padding: 0 20px 23px 4px;
  }
  .blog-banner-block {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 238px;
    padding-left: 60px;
    padding-right: 60px;
    color: #666666;
  }
  .blog-banner-block > .inner {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
    gap: clamp(60px, (100vw - 1280px) / (640) * 80 + 60px, 140px);
    padding-right: clamp(10px, (100vw - 1280px) / (640) * 10 + 10px, 20px);
  }
  .blog-banner-block .sec-blog {
    margin-top: 9px;
    flex: 1;
  }
  .blog-banner-block .sec-blog .blog-h {
    width: 86px;
    margin-left: 3px;
    margin-bottom: 41px;
  }
  .blog-banner-block .sec-blog .blog-h > img {
    display: block;
    max-width: 100%;
  }
  .blog-banner-block .sec-blog .blog-item {
    border-bottom: 1px solid #D3D3D3;
  }
  .blog-banner-block .sec-blog .blog-item:first-child {
    border-top: 1px solid #D3D3D3;
  }
  .blog-banner-block .sec-blog .blog-item__link {
    display: block;
    padding-top: 39px;
    padding-bottom: 39px;
    color: inherit;
    transition: background-color 0.4s ease 0s;
  }
  .blog-banner-block .sec-blog .blog-item__link:hover {
    text-decoration: none;
    background-color: #f6f6f6;
  }
  .blog-banner-block .sec-blog .blog-item__link:hover .blog-item__title {
    text-decoration: underline;
    text-underline-offset: 0.25em;
    text-decoration-thickness: 1px;
  }
  .blog-banner-block .sec-blog .blog-item__link::after {
    content: "";
    clear: both;
    display: block;
    width: 100%;
    height: 0;
  }
  .blog-banner-block .sec-blog .blog-item__pic {
    width: 120px;
    aspect-ratio: 4/3;
    float: left;
  }
  .blog-banner-block .sec-blog .blog-item__pic > img {
    display: block;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center center;
       object-position: center center;
    width: 100%;
    height: 100%;
    max-width: 100%;
  }
  .blog-banner-block .sec-blog .blog-item__pic > img:hover {
    opacity: 1;
  }
  .blog-banner-block .sec-blog .blog-item__date {
    margin-top: 6px;
    margin-left: 160px;
    font-size: 13px;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #999999;
  }
  .blog-banner-block .sec-blog .blog-item__title {
    display: -webkit-box;
    margin-top: 17px;
    margin-left: 160px;
    font-size: 16px;
    line-height: 1.625;
    letter-spacing: 0.05em;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .blog-banner-block .sec-blog > .link-btn {
    width: 180px;
    display: flex;
    justify-content: space-between;
    font-size: 15px;
    padding: 0 13px 22px 6px;
    white-space: nowrap;
    margin-top: 45px;
    margin-left: auto;
    margin-right: 0;
    letter-spacing: 0.05em;
  }
  .blog-banner-block .banner-block {
    width: 570px;
  }
  .blog-banner-block .banner-block .banner {
    display: block;
    color: inherit;
  }
  .blog-banner-block .banner-block .banner + .banner {
    margin-top: 54px;
  }
  .blog-banner-block .banner-block .banner:hover {
    text-decoration: none;
  }
  .blog-banner-block .banner-block .banner:hover .banner__image {
    opacity: 0.8;
  }
  .blog-banner-block .banner-block .banner:hover .banner__text::after {
    transform: translateX(33%);
  }
  .blog-banner-block .banner-block .banner__image {
    transition: opacity 0.4s ease;
  }
  .blog-banner-block .banner-block .banner__image > img {
    display: block;
    max-width: 100%;
  }
  .blog-banner-block .banner-block .banner__image > img:hover {
    opacity: 1;
  }
  .blog-banner-block .banner-block .banner__text {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.625;
    padding: 14px 20px 0 5px;
  }
  .blog-banner-block .banner-block .banner__text::after {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    margin-bottom: 14px;
    background-image: url(../images/top/link-btn-arrow.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center center;
    transition: transform 0.4s ease 0s;
  }
}
@media screen and (max-width: 767px) {
  .link-btn {
    border-bottom: 1px solid #666666;
    line-height: 1;
    color: inherit;
  }
  .link-btn::after {
    content: "";
    display: block;
    width: 3.6231884058vw;
    height: 3.6231884058vw;
    background-image: url(../images/top/link-btn-arrow.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center center;
    transition: transform 0.4s ease 0s;
  }
  .link-btn:hover {
    text-decoration: none;
  }
  .link-btn:hover::after {
    transform: translateX(33%);
  }
  .link-btn img:hover {
    opacity: 1;
  }
  .mv {
    position: relative;
    width: 100%;
    z-index: 1;
  }
  .mv .mvInner {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 2;
    color: white;
    pointer-events: none;
  }
  .mv .mvInner > * {
    pointer-events: all;
  }
  .mv .mvMainText {
    text-align: center;
    position: absolute;
    width: -moz-fit-content;
    width: fit-content;
    top: 47.1014492754vw;
    left: 0;
    right: 0;
    margin: 0 auto;
    font-size: 4.5893719807vw;
    line-height: 1.74;
    font-weight: 500;
    letter-spacing: 0.3em;
  }
  .mv .mvMainText > span {
    letter-spacing: -0.5em;
  }
  .mv .mvMainText > .tsumesp {
    letter-spacing: -0.5em;
  }
  .mv .mvSubText {
    display: none;
  }
  .mv .mvLBText {
    position: absolute;
    width: 53.6231884058vw;
    aspect-ratio: 423/108;
    left: 3.8647342995vw;
    bottom: 5.0724637681vw;
  }
  .mv .mvLBText > img {
    display: block;
    max-width: 100%;
  }
  .mv .mvSliderWrap {
    position: relative;
    z-index: 1;
  }
  .mv .topNav {
    display: none;
  }
  .mv .mvSlider {
    position: relative;
  }
  .mv .mvSlider.slick-dotted {
    margin-bottom: 0;
  }
  .mv .mvSlider > .slick-list {
    padding-top: 0;
  }
  .mv .mvSlider > .slick-dots {
    display: block;
    padding: 0;
    margin: 0;
    width: auto;
    position: absolute;
    display: flex;
    bottom: 5.0724637681vw;
    right: 4.8309178744vw;
    gap: 4.8309178744vw;
  }
  .mv .mvSlider > .slick-dots > li {
    padding: 0;
    margin: 0;
    width: auto;
    height: auto;
    display: block;
    overflow: hidden;
  }
  .mv .mvSlider > .slick-dots > li.slick-active > button {
    background-color: #fff;
  }
  .mv .mvSlider > .slick-dots > li > button {
    box-sizing: content-box;
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    display: block;
    width: 1.5217391304vw;
    height: auto;
    aspect-ratio: 1/1;
    text-indent: 100%;
    overflow: hidden;
    border-radius: 50%;
    border: 1px solid #fff;
    text-decoration: none !important;
  }
  .mv .mvSlideItem {
    width: 100%;
    height: 164.2512077295vw;
    overflow: hidden;
  }
  .mv .mvSlideItem > img {
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
    -o-object-position: center center;
       object-position: center center;
  }
  .mv .mvSlideItem.add-animation > img {
    animation: mvImgScale 9s linear 0s infinite;
  }
  .mv .mvSubTextSp {
    width: -moz-fit-content;
    width: fit-content;
    color: #666666;
    top: calc(100% + 3.8647342995vw);
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    font-size: 3.6231884058vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    text-align: center;
  }
  .sec-pickup {
    margin-top: 38.6473429952vw;
    margin-bottom: 38.6473429952vw;
  }
  .sec-pickup > .inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    justify-content: flex-start;
    align-items: center;
  }
  .sec-pickup .pickup-text {
    display: contents;
  }
  .sec-pickup .pickup-text > h2 {
    width: 20.5314009662vw;
    margin-bottom: 2.8985507246vw;
  }
  .sec-pickup .pickup-text > h2 > img {
    display: block;
    max-width: 100%;
  }
  .sec-pickup .pickup-text > p {
    font-size: 3.1400966184vw;
    line-height: 1.625;
    letter-spacing: 0.05em;
    color: #666666;
  }
  .sec-pickup .pickup-text > p > br {
    display: none;
  }
  .sec-pickup .pickup-links {
    width: 100%;
    margin-top: 5.7971014493vw;
  }
  .sec-pickup .pickup-links .pickup-link {
    position: relative;
    display: block;
    width: 54.1062801932vw;
    margin-left: 1.2077294686vw;
    margin-right: 1.2077294686vw;
  }
  .sec-pickup .pickup-links .pickup-link > img {
    display: block;
    max-width: 100%;
    transition: opacity 0.4s ease 0s;
  }
  .sec-pickup .pickup-links .pickup-link > img:hover {
    opacity: 1;
  }
  .sec-pickup .pickup-links .pickup-link::after {
    content: "";
    display: block;
    position: absolute;
    width: 3.6231884058vw;
    height: 3.6231884058vw;
    background-image: url(../images/top/arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    right: 4.5893719807vw;
    bottom: 4.1062801932vw;
    transition: transform 0.4s ease 0s;
  }
  .sec-pickup .pickup-links .pickup-link:hover > img {
    opacity: 0.8;
  }
  .sec-pickup .pickup-links .pickup-link:hover::after {
    transform: translateX(30%);
  }
  .sec-concept {
    position: relative;
    z-index: 2;
  }
  .sec-concept .concept-image {
    position: absolute;
    transition: transform 0.6s ease 0s;
  }
  .sec-concept .concept-image > img {
    display: block;
    max-width: 100%;
  }
  .sec-concept .concept-top-images {
    position: relative;
    width: 100%;
    aspect-ratio: 414/340;
    margin-left: auto;
    margin-right: 0;
    z-index: 2;
  }
  .sec-concept .concept-top-images > .image01 {
    width: 82.1256038647%;
    aspect-ratio: 1140/740;
    top: 0;
    right: 0;
    z-index: 1;
  }
  .sec-concept .concept-top-images > .image02 {
    width: 24.154589372%;
    aspect-ratio: 280/400;
    top: 29.4117647059%;
    left: 0;
    z-index: 2;
  }
  .sec-concept .concept-top-images > .image03 {
    width: 24.154589372%;
    aspect-ratio: 280/400;
    bottom: 0;
    left: 14.4927536232%;
    z-index: 3;
  }
  .sec-concept .concept-contents {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 88.1642512077vw;
    margin-left: auto;
    margin-right: auto;
    margin-top: 12.077294686vw;
    margin-bottom: 9.6618357488vw;
    justify-content: space-between;
    color: #666666;
    z-index: 4;
  }
  .sec-concept .concept-contents .concept-contents__h > h2 {
    font-size: 4.5893719807vw;
    letter-spacing: 0.3em;
    line-height: 2.1052631579;
  }
  .sec-concept .concept-contents .concept-contents__text {
    margin-top: 8.4541062802vw;
  }
  .sec-concept .concept-contents .concept-contents__text > p {
    font-size: 3.3816425121vw;
    letter-spacing: 0.04em;
    line-height: 2.3571428571;
  }
  .sec-concept .concept-contents .concept-contents__text > p + p {
    margin-top: 2.3571428571em;
  }
  .sec-concept .concept-contents .concept-contents__text > .link-btn {
    width: 53.1400966184vw;
    display: flex;
    justify-content: space-between;
    font-size: 3.3816425121vw;
    letter-spacing: 0.05em;
    padding: 0 4.8309178744vw 5.3140096618vw 2.1739130435vw;
    white-space: nowrap;
    margin-top: 14.4927536232vw;
  }
  .sec-concept .concept-bottom-images {
    position: relative;
    width: 100%;
    aspect-ratio: 414/350;
    margin-left: auto;
    margin-right: 0;
    z-index: 3;
  }
  .sec-concept .concept-bottom-images > .image04 {
    width: 82.1256038647%;
    aspect-ratio: 900/600;
    bottom: 0;
    left: 0;
    z-index: 2;
  }
  .sec-concept .concept-bottom-images > .image05 {
    width: 31.4009661836%;
    aspect-ratio: 610/620;
    top: 0;
    right: 0;
    z-index: 2;
  }
  .sec-concept .concept-bottom-images > .concept-bottom-text {
    position: absolute;
    width: 52.6570048309vw;
    top: calc(100% + 3.3816425121vw);
    left: 5.7971014493vw;
    z-index: 1;
  }
  .sec-concept .concept-bottom-images > .concept-bottom-text > img {
    display: block;
    max-width: 100%;
  }
  .sec-concept .concept-bg {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 67.6328502415vw;
  }
  .sec-concept .concept-bg > .bg-logo {
    width: 100%;
    height: 132.8502415459vw;
    overflow: hidden;
  }
  .sec-concept .concept-bg > .bg-logo > img {
    aspect-ratio: 960/550;
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
  }
  .sec-concept .concept-bg > .bg-text {
    position: absolute;
    width: 55.7971014493vw;
    left: 5.7971014493vw;
    top: calc(100% + 69.5652173913vw);
    z-index: 2;
  }
  .sec-concept .concept-bg > .bg-text > img {
    display: block;
    max-width: 100%;
  }
  .event-news-wrap {
    position: relative;
    margin-top: calc(0px - 26.5700483092vw);
    padding-top: 49.5169082126vw;
    padding-bottom: 26.5700483092vw;
    color: #666666;
    background-color: #E4E4E4;
    z-index: 1;
  }
  .event-news-wrap::after {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 414/715;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../images/top/post-bg-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
    z-index: 1;
  }
  .event-news-wrap > .inner {
    width: 86.9565217391vw;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 2;
  }
  .event-news-wrap .post-block {
    display: flex;
    flex-direction: column;
    flex: 1;
  }
  .event-news-wrap .post-block + .post-block {
    margin-top: 15.7004830918vw;
  }
  .event-news-wrap .post-block-h {
    position: relative;
    margin-bottom: 4.347826087vw;
    height: 2.1739130435vw;
    z-index: 2;
  }
  .event-news-wrap .post-block-h > img {
    display: block;
    width: auto;
    height: 100%;
  }
  .event-news-wrap .post-block-content {
    position: relative;
    flex: 1;
    padding: 7.2463768116vw;
    background-color: #fff;
    z-index: 1;
  }
  .event-news-wrap .post-link-btn {
    width: 43.4782608696vw;
    display: flex;
    justify-content: space-between;
    font-size: 3.1400966184vw;
    padding: 0 3.1400966184vw 3.8647342995vw 1.9323671498vw;
    white-space: nowrap;
    margin-top: 7.729468599vw;
    margin-left: auto;
    margin-right: 0;
    letter-spacing: 0.05em;
  }
  .sec-event .event-item.icon-accepting .event-item__title, .sec-event .event-item.icon-finish .event-item__title {
    display: flex;
    align-items: center;
  }
  .sec-event .event-item.icon-accepting .event-item__title > span, .sec-event .event-item.icon-finish .event-item__title > span {
    flex: 1;
  }
  .sec-event .event-item.icon-accepting .event-item__title::before, .sec-event .event-item.icon-finish .event-item__title::before {
    font-size: 65%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0.05em;
    font-weight: 500;
    width: 5em;
    aspect-ratio: 1/1;
    margin-right: 1em;
    line-height: 1;
  }
  .sec-event .event-item.icon-accepting .event-item__title::before {
    border: 1px solid #666666;
    content: "受付中";
  }
  .sec-event .event-item.icon-finish .event-item__title::before {
    background-color: #666;
    color: white;
    content: "終了";
  }
  .sec-event .event-item__link img:hover {
    opacity: 1;
  }
  .sec-event .event-item__link:hover {
    text-decoration: none;
  }
  .sec-event .event-item__link:hover .event-item__thumb > img {
    transform: scale(1.08);
  }
  .sec-event .event-item__link:hover .event-item__title > span {
    text-decoration: underline;
    text-underline-offset: 0.25em;
    text-decoration-thickness: 1px;
  }
  .sec-event .event-item__thumb {
    width: 100%;
    aspect-ratio: 3/2;
    margin-bottom: 2.8985507246vw;
    overflow: hidden;
  }
  .sec-event .event-item__thumb > img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center center;
       object-position: center center;
    transition: transform 0.4s ease 0s;
    transform-origin: center center;
  }
  .sec-event .event-item__title {
    margin-bottom: 2.8985507246vw;
    font-size: 3.8647342995vw;
    line-height: 1.625;
    letter-spacing: 0.05em;
    padding-bottom: 3.8647342995vw;
    border-bottom: 1px solid #D0D0D0;
  }
  .sec-event .event-item__infolist {
    display: flex;
    flex-wrap: wrap;
    font-size: 3.1400966184vw;
    line-height: 1.9230769231;
  }
  .sec-event .event-item__infolist > dt {
    color: #B3B3B3;
    width: 2em;
    margin-right: 4.5893719807vw;
  }
  .sec-event .event-item__infolist > dd {
    letter-spacing: 0.05em;
    width: calc(100% - (2em + 4.5893719807vw));
  }
  .sec-news .news-posts-outer {
    padding-left: 1px;
    overflow: auto;
    max-height: 74.8792270531vw;
  }
  .sec-news .news-list {
    padding-right: 1.9323671498vw;
  }
  .sec-news .news-item {
    margin-top: 1.9323671498vw;
    padding-bottom: 4.1062801932vw;
    border-bottom: 1px solid #D0D0D0;
    letter-spacing: 0.05em;
  }
  .sec-news .news-item + .news-item {
    margin-top: 4.347826087vw;
  }
  .sec-news .news-item__link:hover {
    text-decoration: none;
  }
  .sec-news .news-item__link:hover > .news-item__title {
    text-decoration: underline;
    text-underline-offset: 0.25em;
    text-decoration-thickness: 1px;
  }
  .sec-news .news-item__date {
    margin-left: 1px;
    margin-bottom: 2.8985507246vw;
    color: #999999;
    font-size: 3.1400966184vw;
    line-height: 1;
  }
  .sec-news .news-item__title {
    font-size: 3.3816425121vw;
    line-height: 1.5714285714;
  }
  .sec-lifestyle {
    display: flex;
    flex-direction: column;
    position: relative;
    padding-top: 19.806763285vw;
    padding-bottom: 25.3623188406vw;
    padding-left: 6.5217391304vw;
    padding-right: 6.5217391304vw;
    color: #666666;
    z-index: 2;
  }
  .sec-lifestyle > .inner {
    display: contents;
  }
  .sec-lifestyle .lifestyle-header {
    margin-bottom: 13.5265700483vw;
    order: 1;
  }
  .sec-lifestyle .lifestyle-h-eng {
    width: 20.2898550725vw;
    margin-bottom: 4.8309178744vw;
    margin-left: 1px;
  }
  .sec-lifestyle .lifestyle-h-eng > img {
    display: block;
    max-width: 100%;
  }
  .sec-lifestyle .lifestyle-h {
    font-family: "Shippori Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Sawarabi Mincho", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 6.2801932367vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.1em;
    margin-left: -0.2em;
  }
  .sec-lifestyle .lifestyle-h > .tsume {
    letter-spacing: -0.25em;
  }
  .sec-lifestyle .lifestyle-subh {
    margin-bottom: 4.347826087vw;
    font-size: 3.8647342995vw;
    line-height: 1;
    letter-spacing: 0.1em;
    font-weight: 600;
    order: 3;
  }
  .sec-lifestyle .lifestyle-subh + p {
    order: 4;
    font-size: 3.3816425121vw;
    letter-spacing: 0.05em;
    line-height: 1.8571428571;
  }
  .sec-lifestyle .lifestyle-subh + p > br {
    display: none;
  }
  .sec-lifestyle .link-btn {
    order: 5;
    width: 53.1400966184vw;
    display: flex;
    justify-content: space-between;
    font-size: 3.6231884058vw;
    letter-spacing: 0.05em;
    padding: 0 4.8309178744vw 5.3140096618vw 2.1739130435vw;
    white-space: nowrap;
    margin-top: 12.077294686vw;
  }
  .sec-lifestyle .lifestyle-scroll-block {
    position: relative;
    order: 2;
    margin: 0 -6.5217391304vw 8.6956521739vw;
    width: auto;
    height: 65.2173913043vw;
  }
  .sec-lifestyle .lifestyle-scroll-block::before {
    content: "";
    display: block;
    position: absolute;
    width: 52.8985507246vw;
    top: -8.9371980676vw;
    right: 3.1400966184vw;
    aspect-ratio: 392/134;
    background-image: url(../images/top/one-scene.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    z-index: 2;
  }
  .sec-lifestyle .lifestyle-scroll-inner {
    position: relative;
    height: 100%;
    z-index: 1;
  }
  .sec-lifestyle .lifestyle-scroll-list {
    height: 100%;
  }
  .sec-lifestyle .lifestyle-scroll-list .slick-list {
    padding-top: 0;
  }
  .sec-lifestyle .lifestyle-scroll-list li {
    width: 86.9565217391vw;
    height: 65.2173913043vw;
    aspect-ratio: 720/540;
  }
  .sec-lifestyle .lifestyle-scroll-list li > img {
    display: block;
    max-width: 100%;
  }
  .sec-policy {
    position: relative;
    padding-bottom: 20.7729468599vw;
    z-index: 1;
    background-image: url(../images/top/policy-bg.jpg);
    background-repeat: repeat;
    background-size: 463.768115942vw 231.884057971vw;
    background-position: center center;
    color: #666666;
  }
  .sec-policy .policy-header {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 91.7874396135vw;
    padding-top: 1.4492753623vw;
    gap: 5.3140096618vw;
    background-image: url(../images/top/policy-h-bg-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    z-index: 1;
  }
  .sec-policy .policy-h-eng {
    width: 10.6280193237vw;
  }
  .sec-policy .policy-h-eng > img {
    display: block;
    max-width: 100%;
  }
  .sec-policy .policy-h {
    font-size: 4.1062801932vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.2em;
    color: white;
    padding-left: 0.7em;
  }
  .sec-policy .policy-subh {
    font-size: 3.8647342995vw;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
  }
  .sec-policy .policy-subh + p {
    font-size: 3.3816425121vw;
    line-height: 1.8571428571;
    letter-spacing: 0.05em;
  }
  .sec-policy > .inner {
    position: relative;
    z-index: 2;
    margin-top: -7.2463768116vw;
    width: 94.2028985507vw;
    margin-left: auto;
    margin-right: auto;
  }
  .sec-policy .policy-design {
    background-color: #fff;
    padding: 12.077294686vw 6.038647343vw;
  }
  .sec-policy .policy-design > .policy-subh {
    margin-bottom: 6.038647343vw;
    line-height: 1.875;
  }
  .sec-policy .policy-design > .link-btn {
    display: flex;
    justify-content: space-between;
    width: auto;
    margin-left: -2.4154589372vw;
    margin-right: -2.4154589372vw;
    margin-top: 14.4927536232vw;
    padding: 0 4.8309178744vw 5.5555555556vw 2.1739130435vw;
    font-size: 3.6231884058vw;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .sec-policy .policy-link-wrap {
    display: flex;
    flex-direction: column;
    gap: 19.3236714976vw;
    width: 91.7874396135vw;
    margin: 14.0096618357vw auto 0;
  }
  .sec-policy .policy-link {
    display: block;
    flex: 1;
    transition: opacity 0.4s ease 0s;
    color: inherit;
  }
  .sec-policy .policy-link:hover {
    text-decoration: none;
    opacity: 0.75;
  }
  .sec-policy .policy-link > .policy-subh {
    margin-bottom: 5.3140096618vw;
  }
  .sec-policy .policy-link__pic {
    margin-bottom: 7.2463768116vw;
  }
  .sec-policy .policy-link__pic > img {
    display: block;
    max-width: 100%;
  }
  .sec-policy .policy-link__pic > img:hover {
    opacity: 1;
  }
  .kominka-block {
    padding: 19.3236714976vw 0;
    background-image: url(../images/top/kominka-bg-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }
  .kominka-block .kominka-banner {
    width: 91.7874396135vw;
    margin-left: auto;
    margin-right: auto;
  }
  .kominka-block .kominka-banner__link {
    font-family: "Shippori Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Sawarabi Mincho", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    color: white;
    line-height: 1;
    text-decoration: none;
  }
  .kominka-block .kominka-banner__link:hover {
    text-decoration: none;
  }
  .kominka-block .kominka-banner__link:hover > .kominka-banner__bottom::after {
    transform: translateX(33%);
  }
  .kominka-block .kominka-banner__link:hover > .kominka-banner__img {
    filter: brightness(1.4);
  }
  .kominka-block .kominka-banner__title {
    position: absolute;
    font-size: 7.0048309179vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    z-index: 2;
    top: 16.4251207729vw;
    left: 4.347826087vw;
  }
  .kominka-block .kominka-banner__sub {
    position: absolute;
    font-size: 2.4154589372vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    top: 26.5700483092vw;
    left: 5.0724637681vw;
    z-index: 2;
  }
  .kominka-block .kominka-banner__bottom {
    order: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 14.4927536232vw;
    padding-left: 4.1062801932vw;
    padding-right: 4.347826087vw;
    padding-bottom: 0.9661835749vw;
    background-color: #523934;
    font-size: 2.8985507246vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    z-index: 2;
  }
  .kominka-block .kominka-banner__bottom::after {
    content: "";
    display: block;
    width: 3.6231884058vw;
    height: 3.6231884058vw;
    background-image: url(../images/top/link-btn-arrow-w.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center center;
    transition: transform 0.4s ease 0s;
  }
  .kominka-block .kominka-banner__img {
    order: 1;
    position: relative;
    z-index: 1;
    transition: filter 0.4s ease 0s;
  }
  .kominka-block .kominka-banner__img > img {
    display: block;
    max-width: 100%;
  }
  .kominka-block .kominka-banner__img > img:hover {
    opacity: 1;
  }
  .sec-works {
    width: 91.7874396135vw;
    margin-left: auto;
    margin-right: auto;
    padding-top: 17.3913043478vw;
    padding-bottom: 14.4927536232vw;
    border-bottom: 1px solid #D0D0D0;
    color: #666666;
  }
  .sec-works > .inner {
    width: 90.3381642512vw;
    margin-left: auto;
    margin-right: auto;
  }
  .sec-works .works-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 9.1787439614vw;
  }
  .sec-works .works-h-eng {
    width: 23.6714975845vw;
    margin-bottom: 4.8309178744vw;
  }
  .sec-works .works-h-eng > img {
    display: block;
    max-width: 100%;
  }
  .sec-works .works-h {
    font-size: 5.3140096618vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.3em;
  }
  .sec-works .works-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 9.6618357488vw 0;
    justify-content: space-between;
  }
  .sec-works .works-item {
    width: 43.4782608696vw;
  }
  .sec-works .works-item__link {
    display: block;
    width: 100%;
    height: 100%;
    color: inherit;
  }
  .sec-works .works-item__link:hover {
    text-decoration: none;
  }
  .sec-works .works-item__link:hover > .works-item__pic > img {
    transform: scale(1.08);
  }
  .sec-works .works-item__link:hover > .works-item__title {
    text-decoration: underline;
    text-underline-offset: 0.25em;
    text-decoration-thickness: 1px;
  }
  .sec-works .works-item__pic {
    margin-bottom: 3.3816425121vw;
    aspect-ratio: 320/210;
    overflow: hidden;
  }
  .sec-works .works-item__pic > img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center center;
       object-position: center center;
    transform-origin: center center;
    transition: transform 0.4s ease 0s;
  }
  .sec-works .works-item__pic > img:hover {
    opacity: 1;
  }
  .sec-works .works-item__area {
    margin-bottom: 2.4154589372vw;
    font-size: 2.8985507246vw;
    line-height: 1;
    color: #999999;
    letter-spacing: 0.05em;
  }
  .sec-works .works-item__title {
    font-size: 3.3816425121vw;
    line-height: 1.7142857143;
    letter-spacing: 0.05em;
  }
  .sec-works .link-btn {
    width: 53.1400966184vw;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
    font-size: 3.6231884058vw;
    letter-spacing: 0.05em;
    padding: 0 4.8309178744vw 5.3140096618vw 2.1739130435vw;
    white-space: nowrap;
    margin-top: 12.5603864734vw;
  }
  .sec-flow,
  .sec-maintenance {
    margin-top: 18.115942029vw;
    padding-left: 4.1062801932vw;
    padding-right: 4.1062801932vw;
    color: #666666;
  }
  .sec-flow > .inner,
  .sec-maintenance > .inner {
    padding-bottom: 15.7004830918vw;
    border-bottom: 1px solid #D0D0D0;
  }
  .sec-flow .title-block,
  .sec-maintenance .title-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 7.729468599vw;
  }
  .sec-flow .sec-title-eng,
  .sec-maintenance .sec-title-eng {
    height: 2.1739130435vw;
    margin-bottom: 4.8309178744vw;
  }
  .sec-flow .sec-title-eng > img,
  .sec-maintenance .sec-title-eng > img {
    display: block;
    height: 100%;
    width: auto;
  }
  .sec-flow .sec-title,
  .sec-maintenance .sec-title {
    font-size: 4.8309178744vw;
    font-weight: 500;
    letter-spacing: 0.3em;
    line-height: 1.7;
    text-align: center;
    font-feature-settings: "halt";
  }
  .sec-flow .mainimg,
  .sec-maintenance .mainimg {
    position: relative;
    margin-left: calc(0px - 4.1062801932vw);
    margin-right: calc(0px - 4.1062801932vw);
  }
  .sec-flow .mainimg__img,
  .sec-maintenance .mainimg__img {
    overflow: hidden;
    height: 57.9710144928vw;
  }
  .sec-flow .mainimg__img > img,
  .sec-maintenance .mainimg__img > img {
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
    width: 100%;
    height: 100%;
  }
  .sec-flow .mainimg__text,
  .sec-maintenance .mainimg__text {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Verdana, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    position: absolute;
    color: white;
    font-size: 3.6231884058vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.7333333333;
  }
  .sec-flow .content-p,
  .sec-maintenance .content-p {
    margin-top: 6.7632850242vw;
    width: 86.9565217391vw;
    margin-left: auto;
    margin-right: auto;
    font-size: 3.3816425121vw;
    letter-spacing: 0.05em;
    line-height: 1.7142857143;
  }
  .sec-flow .link-btn,
  .sec-maintenance .link-btn {
    display: flex;
    justify-content: space-between;
    width: 53.1400966184vw;
    margin-top: 14.4927536232vw;
    margin-left: auto;
    margin-right: auto;
    font-size: 3.6231884058vw;
    letter-spacing: 0.05em;
    color: inherit;
    padding: 0 4.8309178744vw 5.5555555556vw 0.9661835749vw;
  }
  .sec-flow .mainimg__text {
    top: 6.038647343vw;
    right: 2.4154589372vw;
  }
  .sec-maintenance .mainimg__img > img {
    -o-object-position: left center;
       object-position: left center;
    transform-origin: left center;
    transform: scale(1.13);
  }
  .sec-maintenance .mainimg__text {
    bottom: 6.038647343vw;
    left: 2.4154589372vw;
  }
  .sec-voice {
    margin-top: 18.5990338164vw;
    margin-bottom: 20.2898550725vw;
    color: #666666;
  }
  .sec-voice .voice-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 8.6956521739vw;
  }
  .sec-voice .voice-h-eng {
    width: 9.1787439614vw;
    margin-bottom: 5.7971014493vw;
    transform: translateX(-0.7246376812vw);
  }
  .sec-voice .voice-h-eng > img {
    display: block;
    max-width: 100%;
  }
  .sec-voice .voice-h {
    font-size: 3.8647342995vw;
    font-weight: 500;
    line-height: 1.5625;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .sec-voice .voice-list {
    width: 100%;
  }
  .sec-voice .voice-item {
    box-sizing: border-box;
    width: 72.4637681159vw;
    border: 1px solid #D0D0D0;
    border-right: none;
  }
  .sec-voice .voice-item:last-child {
    border-right: 1px solid #D0D0D0;
  }
  .sec-voice .voice-item__link {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 7.2463768116vw 6.038647343vw 9.6618357488vw;
    transition: background-color 0.4s ease 0s;
    color: inherit;
  }
  .sec-voice .voice-item__link:hover {
    text-decoration: none;
    background-color: #f6f6f6;
  }
  .sec-voice .voice-item__link:hover > .voice-item__pic > img {
    transform: scale(1.08);
  }
  .sec-voice .voice-item__link::after {
    content: "";
    display: block;
    position: absolute;
    top: 7.2463768116vw;
    right: 4.347826087vw;
    width: 1.9323671498vw;
    height: 25.3623188406vw;
    background-image: url(../images/top/renovation-story.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
  }
  .sec-voice .voice-item__pic {
    width: 53.1400966184vw;
    aspect-ratio: 280/200;
    margin-bottom: 3.6231884058vw;
    overflow: hidden;
  }
  .sec-voice .voice-item__pic > img {
    display: block;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center center;
       object-position: center center;
    width: 100%;
    height: 100%;
    max-width: 100%;
    transition: transform 0.4s ease 0s;
  }
  .sec-voice .voice-item__pic > img:hover {
    opacity: 1;
  }
  .sec-voice .voice-item__areaname {
    margin-bottom: 4.8309178744vw;
    font-size: 3.1400966184vw;
    letter-spacing: 0.05em;
    line-height: 1.2;
  }
  .sec-voice .voice-item__title {
    font-size: 3.3816425121vw;
    line-height: 1.7142857143;
    letter-spacing: 0.05em;
  }
  .sec-voice .link-btn {
    width: 53.1400966184vw;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
    font-size: 3.6231884058vw;
    letter-spacing: 0.05em;
    padding: 0 4.8309178744vw 5.3140096618vw 2.1739130435vw;
    white-space: nowrap;
    margin-top: 12.077294686vw;
  }
  .sec-staff {
    display: flex;
    flex-direction: column;
    position: relative;
    margin-bottom: 24.154589372vw;
    color: #666666;
  }
  .sec-staff::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 156.2801932367vw;
    top: 0;
    left: 0;
    background-image: url(../images/top/staff-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    z-index: 1;
  }
  .sec-staff .staff-mainimg {
    order: 2;
    position: relative;
    margin-right: 0;
    margin-left: auto;
    margin-bottom: 9.6618357488vw;
    width: 100%;
    height: 62.8019323671vw;
    z-index: 2;
    overflow: hidden;
  }
  .sec-staff .staff-mainimg > img {
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
    width: 100%;
    height: 100%;
    max-width: 100%;
  }
  .sec-staff .staff-header {
    order: 1;
    position: relative;
    z-index: 3;
    padding-top: 16.4251207729vw;
    padding-bottom: 13.0434782609vw;
  }
  .sec-staff .staff-title {
    position: absolute;
    bottom: calc(0px - 12.3188405797vw);
    right: 5.0724637681vw;
    width: 36.7149758454vw;
  }
  .sec-staff .staff-title > img {
    display: block;
    max-width: 100%;
  }
  .sec-staff .staff-header-inner {
    margin-left: clamp(27px, (100vw - 1280px) / (640) * 12 + 27px, 39px);
  }
  .sec-staff .staff-h {
    margin-bottom: 3.8647342995vw;
    font-size: 4.5893719807vw;
    font-weight: 500;
    letter-spacing: 0.3em;
    line-height: 1.6842105263;
  }
  .sec-staff .staff-lead {
    width: 54.347826087vw;
  }
  .sec-staff .staff-lead > img {
    display: block;
    max-width: 100%;
  }
  .sec-staff .staff-slider-control {
    display: flex;
    gap: 2.4154589372vw;
    display: none;
  }
  .sec-staff .staff-slider-control__item {
    width: 14.4927536232vw;
    cursor: pointer;
    transition: filter 0.4s ease 0s;
  }
  .sec-staff .staff-slider-control__item:hover {
    filter: brightness(0.6);
  }
  .sec-staff .staff-slider-control__item > img {
    display: block;
    max-width: 100%;
  }
  .sec-staff .staff-slider-wrapper {
    order: 3;
    position: relative;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    z-index: 2;
  }
  .sec-staff .staff-item {
    width: 53.1400966184vw;
    text-align: center;
  }
  .sec-staff .staff-item__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
    color: inherit;
  }
  .sec-staff .staff-item__link:hover {
    text-decoration: none;
  }
  .sec-staff .staff-item__link:hover .staff-item__photo > img {
    opacity: 0.8;
    transform: scale(1.08);
  }
  .sec-staff .staff-item__photo {
    width: 38.6473429952vw;
    margin-bottom: 3.6231884058vw;
    aspect-ratio: 1/1;
    border-radius: 50%;
    overflow: hidden;
    background-color: #fff;
  }
  .sec-staff .staff-item__photo > img {
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
    width: 100%;
    height: 100%;
    max-width: 100%;
    transition: transform 0.4s ease 0s, opacity 0.4s ease 0s;
  }
  .sec-staff .staff-item__photo > img:hover {
    opacity: 1;
  }
  .sec-staff .staff-item__deptpos {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 3.8647342995vw;
    font-size: 2.8985507246vw;
    line-height: 1.5833333333;
    min-height: 3.1666666667em;
    letter-spacing: 0.05em;
    color: #999999;
  }
  .sec-staff .staff-item__name {
    font-size: 3.8647342995vw;
    line-height: 1;
    letter-spacing: 0.1em;
  }
  .sec-staff .link-wrap {
    order: 4;
    position: relative;
    z-index: 2;
    margin-top: 14.2512077295vw;
  }
  .sec-staff .link-btn {
    display: flex;
    justify-content: space-between;
    width: 53.1400966184vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: -0.2415458937vw;
    font-size: 3.6231884058vw;
    letter-spacing: 0.05em;
    color: inherit;
    padding: 0 4.8309178744vw 5.5555555556vw 2.4154589372vw;
  }
  .blog-banner-block {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 36.231884058vw;
    color: #666666;
  }
  .blog-banner-block > .inner {
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 24.154589372vw;
  }
  .blog-banner-block .sec-blog {
    width: 91.7874396135vw;
    margin-left: auto;
    margin-right: auto;
  }
  .blog-banner-block .sec-blog .blog-h {
    width: 18.115942029vw;
    margin-bottom: 8.4541062802vw;
  }
  .blog-banner-block .sec-blog .blog-h > img {
    display: block;
    max-width: 100%;
  }
  .blog-banner-block .sec-blog .blog-item {
    border-bottom: 1px solid #D3D3D3;
  }
  .blog-banner-block .sec-blog .blog-item:first-child {
    border-top: 1px solid #D3D3D3;
  }
  .blog-banner-block .sec-blog .blog-item__link {
    display: block;
    padding-top: 5.7971014493vw;
    padding-bottom: 5.7971014493vw;
    color: inherit;
    transition: background-color 0.4s ease 0s;
  }
  .blog-banner-block .sec-blog .blog-item__link:hover {
    text-decoration: none;
    background-color: #f6f6f6;
  }
  .blog-banner-block .sec-blog .blog-item__link:hover .blog-item__title {
    text-decoration: underline;
    text-underline-offset: 0.25em;
    text-decoration-thickness: 1px;
  }
  .blog-banner-block .sec-blog .blog-item__link::after {
    content: "";
    clear: both;
    display: block;
    width: 100%;
    height: 0;
  }
  .blog-banner-block .sec-blog .blog-item__pic {
    width: 24.154589372vw;
    aspect-ratio: 4/3;
    float: left;
  }
  .blog-banner-block .sec-blog .blog-item__pic > img {
    display: block;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center center;
       object-position: center center;
    width: 100%;
    height: 100%;
    max-width: 100%;
  }
  .blog-banner-block .sec-blog .blog-item__pic > img:hover {
    opacity: 1;
  }
  .blog-banner-block .sec-blog .blog-item__date {
    margin-top: 1.2077294686vw;
    margin-left: 28.9855072464vw;
    font-size: 2.8985507246vw;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #999999;
  }
  .blog-banner-block .sec-blog .blog-item__title {
    display: -webkit-box;
    margin-top: 1.9323671498vw;
    margin-left: 28.9855072464vw;
    font-size: 3.3816425121vw;
    line-height: 1.7142857143;
    letter-spacing: 0.05em;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .blog-banner-block .sec-blog > .link-btn {
    width: 38.6473429952vw;
    display: flex;
    justify-content: space-between;
    font-size: 3.1400966184vw;
    padding: 0 3.1400966184vw 3.8647342995vw 1.9323671498vw;
    white-space: nowrap;
    margin-top: 9.1787439614vw;
    margin-left: auto;
    margin-right: 0;
    letter-spacing: 0.05em;
  }
  .blog-banner-block .banner-block {
    width: 89.3719806763vw;
    margin-left: auto;
    margin-right: auto;
  }
  .blog-banner-block .banner-block .banner {
    display: block;
    color: inherit;
  }
  .blog-banner-block .banner-block .banner + .banner {
    margin-top: 17.6328502415vw;
  }
  .blog-banner-block .banner-block .banner:hover {
    text-decoration: none;
  }
  .blog-banner-block .banner-block .banner:hover .banner__image {
    opacity: 0.8;
  }
  .blog-banner-block .banner-block .banner:hover .banner__text::after {
    transform: translateX(33%);
  }
  .blog-banner-block .banner-block .banner__image {
    transition: opacity 0.4s ease;
  }
  .blog-banner-block .banner-block .banner__image > img {
    display: block;
    max-width: 100%;
  }
  .blog-banner-block .banner-block .banner__image > img:hover {
    opacity: 1;
  }
  .blog-banner-block .banner-block .banner__text {
    margin-top: 3.3816425121vw;
    padding-left: 1.2077294686vw;
    padding-right: 1.4492753623vw;
    font-size: 3.3816425121vw;
    letter-spacing: 0.05em;
    line-height: 1.7142857143;
  }
  .blog-banner-block .banner-block .banner__text::after {
    content: "";
    display: block;
    width: 3.6231884058vw;
    height: 3.6231884058vw;
    margin-top: 1px;
    margin-left: auto;
    margin-right: 0;
    background-image: url(../images/top/link-btn-arrow.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center center;
    transition: transform 0.4s ease 0s;
  }
}