@charset "UTF-8";
@keyframes conceptImageReel {
  from {
    transform: translateY(-50%);
  }
  to {
    transform: translateY(0%);
  }
}
@keyframes conceptImageReelH {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0%);
  }
}
.kerning_m500 {
  letter-spacing: -0.5em;
}

.kerning_m300 {
  letter-spacing: -0.3em;
}

@media screen and (min-width: 768px), print {

.onPageTop .pc-menu-btn img{ filter: invert(100%) brightness(1000%) contrast(1000%); }
.onPageTop .fix-sns-menu img{ filter: invert(100%) brightness(1000%) contrast(1000%); }

  .top-mv {
    position: relative;
    max-width: 1920px;
    margin: 0 auto;
  }
  .top-mv-title {
    position: absolute;
    width: 351px;
    left: 30px;
    top: 30px;
    z-index: 4;
  }
  .top-mv-title > img {
    display: block;
    max-width: 100%;
  }
  .top-mv-slider-wrap {

  }
  .top-mv-slider-wrap.hide {
    opacity: 0;
  }
  .top-mv-slider-wrap .bx-wrapper {
    position: relative;
    filter: drop-shadow(0 30px 30px rgba(0, 0, 0, 0.2));
    z-index: 3;
  }
  .top-mv-slider-wrap .bx-controls > .bx-pager {
    display: flex;
    width: -moz-fit-content;
    width: fit-content;
    right: clamp(0px, calc((100vw - 1280px) / 640 * 21), 21px);
    bottom: 19px;
    gap: 12px;
  }
  .top-mv-slider-wrap .bx-controls > .bx-pager > .bx-pager-item > a {
    background-color: #fff;
    width: 6px;
    height: 6px;
  }
  .top-mv-slider-wrap .bx-controls > .bx-pager > .bx-pager-item > a.active {
    background-color: #4B8198;
  }


  .top-mv-slider {
    width: 100%;
    aspect-ratio: 1920/900;
    -webkit-clip-path: url(#mv-pc);
            clip-path: url(#mv-pc);
    background-color: #fff;
  }
.top-mv-slider::before {
  content: ""; /* 空文字にする */
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;  /* 親の幅いっぱいに広げる */
  height: 100%; /* 親の高さいっぱいに広げる */
  
  /* 画像の設定 */
  background-image: url(../images/index/sra-hover01.png);
  background-size: contain;    /* 画像全体が収まるように調整 */
  background-repeat: no-repeat;
  background-position: center;
  
  z-index: 52; /* 重なり順の調整（必要に応じて） */
  pointer-events: none; /* 透かし画像の下の要素をクリックできるようにする場合 */
}
  .top-mv-slider li {
    aspect-ratio: 1920/900;
  }
  .top-mv-slider li img {
    display: block;
    max-width: 100%;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .top-mv-text {
    position: absolute;
    z-index: 4;
    top: 190px;
    right: calc(clamp(473px, calc((100vw - 1280px) / 640 * 191 + 473px), 664px) + 50%);
    width: 80px;
  }
  .top-mv-text > img {
    display: block;
    max-width: 100%;
  }
  .top-mv-new-old-days {
    position: absolute;
    z-index: 4;
    bottom: 40px;
    right: 34px;
  }
  .top-mv-new-old-days > img {
    display: block;
    max-width: 100%;
    filter: drop-shadow(0 0 12px #052902);
  }
  .top-mv-sciencehome {
    display: flex;
    align-items: flex-end;
    position: absolute;
    left: 30px;
    bottom: 30px;
    gap: 18px;
  }
  .top-mv-sciencehome__logo {
    width: 70px;
  }
  .top-mv-sciencehome__logo > img {
    display: block;
    max-width: 100%;
  }
  .top-mv-sciencehome__text {
    line-height: 1;
    font-size: 17px;
    padding-bottom: 6px;
    font-weight: 600;
  }
  .top-mv-sciencehome__text > .sub {
    font-size: 9px;
    margin-bottom: 9px;
    font-weight: 400;
    letter-spacing: 0.05em;
  }
  /* LINEでのお問い合わせ -------------------------------------*/
  .line-iquiry {
    padding: 60px 0;
  }
  .line-inquiry-btn {
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 640px;
    height: 80px;
    margin-left: auto;
    margin-right: auto;
    background-color: #19AD7B;
    transition: opacity 0.2s ease 0s;
  }
  .line-inquiry-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 23px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .line-inquiry-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .line-inquiry-btn > img {
    width: 294px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .line-inquiry-btn:hover {
    opacity: 0.8;
  }
  /* information -------------------------------------*/
  .top-sec-information {
    margin-top: 45px;
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 90px;
  }
  .information-inner {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
  }
  .h-information {
    width: 282px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 55px;
  }
  .h-information > img {
    display: block;
    max-width: 100%;
  }
  .top-information-list {
    display: flex;
    gap: 50px;
    list-style-type: none;
  }
  .top-information-item {
    flex: 1;
  }
  .top-information-item__link {
    display: block;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .top-information-item__link img:hover {
    opacity: 1;
  }
  .top-information-item__link:hover {
    opacity: 0.8;
    text-decoration: none;
  }
  .top-information-item__status {
    font-weight: 500;
    font-family: "Shippori Mincho", serif;
    width: 50px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
    background-color: #1A1A1A;
    line-height: 1;
    font-size: 10px;
    color: #fff;
  }
  .top-information-item__status.accepting {
    background-color: #124C65;
  }
  .top-information-item__thumb {
    margin-bottom: 15px;
    aspect-ratio: 340/255;
  }
  .top-information-item__thumb > img {
    display: block;
    max-width: 100%;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .top-information-item__title {
    font-size: 16px;
    line-height: 1.6875;
    padding-bottom: 13px;
    margin-bottom: 13px;
    border-bottom: 1px solid #E6E6E6;
  }
  .top-information-item__detail {
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    padding-left: 3px;
    line-height: 1.5833;
  }
  .top-information-item__detail > dt {
    box-sizing: content-box;
    width: 2em;
    padding-right: 15px;
    color: #4B8199;
  }
  .top-information-item__detail > dd {
    width: calc(100% - (2em + 15px));
    color: #666666;
  }
  .information-more {
    margin-top: 62px;
  }
  .information-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    height: 50px;
    font-size: 15px;
    line-height: 1;
    margin-left: auto;
    margin-right: auto;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .information-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .information-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .information-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }

#con01{ width: 100%; max-width: 1920px; margin: 0 auto; padding: 82px 0 109px; background: url(../images/index/con01-bg01.png) no-repeat center top; }
#con01 .inner-Box{ width: 1039px; margin: 0 auto; }
#con01 .txt{ text-align: center; margin-bottom: 39px; }
#con01 .ttl{ font-size: 44px; font-weight: 550; line-height: 57px; text-align: center; margin-bottom: 64px; font-family: "Shippori Mincho", serif; }
#con01 .subttl{ font-size: 34px; font-weight: 550; line-height: 57px; color: #124C65; margin-bottom: 36px; font-family: "Shippori Mincho", serif; }
#con01 .txt1{ font-size: 16px; line-height: 28px; letter-spacing: 0; }
#con01 .txt1.mb1{ margin-bottom: 28px; }
#con01 .txt1.mb2{ margin-bottom: 49px; }
  .con01-more {
    margin-top: 0px;
  }
  .con01-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 280px;
    height: 50px;
    font-size: 15px;
    line-height: 1;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .con01-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .con01-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .con01-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }
  .con01-more2 {
    margin-top: 29px;
  }
  .con01-more-btn2 {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 280px;
    height: 50px;
    font-size: 15px;
    line-height: 1;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .con01-more-btn2::after {
    content: "";
    display: block;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .con01-more-btn2:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .con01-more-btn2:hover {
    opacity: 0.8;
    text-decoration: none;
  }










  /* PICKUP　CONTENTS -------------------------------------*/
  .top-sec-pickup {
    margin-top: 92px;
    padding-left: 10px;
    padding-right: 10px;
  }
  .pickup-inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .h-pickup {
    width: 167px;
    margin-bottom: 26px;
    padding-left: 3px;
  }
  .h-pickup > img {
    display: block;
    max-width: 100%;
  }
  .pickup-contents-links {
    display: flex;
    gap: 40px;
  }
  .pickup-contents-link {
    width: calc(50% - 20px);
    transition: opacity 0.2s ease 0s;
  }
  .pickup-contents-link:hover {
    opacity: 0.8;
  }
  .pickup-contents-link > img {
    display: block;
    max-width: 100%;
  }
  .pickup-contents-link > img:hover {
    opacity: 1;
  }
  /* CONCEPT -------------------------------------*/
  .top-sec-concept {
    position: relative;
    margin-top: 0px;
    margin-bottom: 120px;
    height: clamp(720px, calc((100vw - 1280px) / 640 * 120 + 720px), 840px);
    width: 100%;
    overflow: hidden;
  }
  .top-sec-concept::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;  /* 親の幅いっぱいに広げる */
    height: 100%; /* 親の高さいっぱいに広げる */
    background-image: url(../images/index/concept-hover01.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: 3;
  }
  .concept-inner {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: auto;
    height: 100%;
    aspect-ratio: 1920/840;
    padding-left: 10px;
    padding-right: 10px;
    background-image: url(../images/index/concept-bg.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    -webkit-clip-path: url(#top_concept_clip);
            clip-path: url(#top_concept_clip);
    z-index: 2;
  }
  .concept-content {
    display: flex;
    width: clamp(1120px, calc((100vw - 1280px) / 640 * 300 + 1120px), 1420px);
    margin-left: auto;
    margin-right: auto;
    gap: clamp(65px, calc((100vw - 1280px) / 640 * 5 + 65px), 70px);
  }
  .concept-images {
    display: flex;
    gap: 8px;
    width: clamp(592px, calc((100vw - 1280px) / 640 * 178 + 592px), 770px);
  }
  .concept-images__reel {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: calc((100% - 8px) / 2);
    opacity: 0;
    transition: opacity 0.2s ease 0s;
  }
  .concept-images__reel > img {
    display: block;
    max-width: 100%;
  }
  .concept-images__reel.start {
    opacity: 1;
    animation-name: conceptImageReel;
    animation-duration: 120s;
    animation-timing-function: linear;
    animation-delay: 0s;
    animation-iteration-count: infinite;
  }
  .concept-images__reel.bottom_to_top {
    animation-direction: reverse;
  }
  .concept-images__reel--sp {
    display: none;
  }
  .concept-text {
    margin-top: 19.014084507%;
  }
  .h-concept {
    width: 80px;
    margin-bottom: 33px;
  }
  .h-concept > img {
    display: block;
    max-width: 100%;
  }
  .concept-theme-sub {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    margin-bottom: 32px;
    font-size: 23px;
    line-height: 1;
    color: #fff;
  }
  .concept-theme {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 30px;
    font-size: clamp(28px, calc((100vw - 1280px) / 640 * 8 + 28px), 36px);
    color: #1A1A1A;
    line-height: 1;
  }
  .concept-theme__line {
    display: flex;
    justify-content: center;
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    height: 2.2222em;
    padding-left: 0.6em;
    padding-right: 0.8em;
    background-color: #fff;
  }
  .concept-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    height: 50px;
    font-size: 15px;
    line-height: 1;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .concept-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .concept-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .concept-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }
  .concept-bottom-text {
    position: absolute;
    width: 297px;
    right: 50%;
    bottom: 0px;
    transform: translate(calc(0px - clamp(310px, calc((100vw - 1280px) / 640 * 112 + 310px), 422px)), calc(0px - clamp(30px, calc((100vw - 1280px) / 640 * -9 + 39px), 39px)));
  }
  .concept-bottom-text > img {
    display: block;
    max-width: 100%;
  }

#con02{ width: 100%; max-width: 1920px; margin: 0 auto; padding: 73px 0 65px; background: url(../images/index/con02-bg01.png) repeat-y center top; }
#con02 .ttl{ text-align: center; margin-bottom: 57px; }
#con02 .list{ width: 1030px; margin: 0 auto 55px; display: -webkit-box;display: -webkit-flex;display: -moz-flex;display: -ms-flex;display: -o-flex;display: flex;-webkit-box-lines: multiple;-moz-box-lines: multiple;-webkit-flex-wrap: wrap;-moz-flex-wrap: wrap;-ms-flex-wrap: wrap;flex-wrap: wrap;-webkit-justify-content: center;-moz-justify-content: center;-ms-justify-content: center;justify-content: center;}
#con02 .list li{ width: 292px; margin-right: 77px; margin-bottom: 47px;}
#con02 .list li:nth-child(3n){ margin-right: 0; }
#con02 .list li:nth-child(n+4){ margin-bottom: 0; }
#con02 .list li .pic{ margin-bottom: 12px; }
#con02 .list li h3{ background-color: #124C65; padding: 8px 0; text-align: center; color: #fff; font-size: 18px; font-weight: 550; line-height: 36px; letter-spacing: 0; margin-bottom: 10px; }
#con02 .list li p{ font-size: 14px; line-height: 28px; text-align: center;}
  .reason-more {
    margin-top: 0px;
  }
  .reason-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    height: 50px;
    font-size: 15px;
    line-height: 1;
    margin-left: auto;
    margin-right: auto;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .reason-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .reason-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .reason-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }




  /* MODEL HOUSE -------------------------------------*/
  .top-sec-modelhouse {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding-left: 10px;
    padding-right: 10px;
    height: clamp(683px, calc((100vw - 1280px) / 640 * 137 + 683px), 820px);
  }
  .top-sec-modelhouse::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    min-width: 1920px;
    height: 100%;
    transform: translateX(-50%);
    background-image: url(../images/index/modelhouse-bg.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    z-index: 1;
  }
  .modelhouse-inner {
    position: relative;
    display: flex;
    width: 1200px;
    padding: 60px 41px 36px 87px;
    background-color: #fff;
    z-index: 2;
  }
  .modelhouse-text {
    padding-top: 20px;
    flex: 1;
  }
  .h-modelhouse-sub {
    width: 114px;
    margin-bottom: 22px;
    margin-left: 5px;
  }
  .h-modelhouse-sub > img {
    display: block;
    max-width: 100%;
  }
  .h-modelhouse {
    width: 419px;
    margin-bottom: 14px;
    margin-left: 7px;
  }
  .h-modelhouse > img {
    display: block;
    max-width: 100%;
  }
  .modelhouse-image {
    width: 519px;
  }
  .modelhouse-image > img {
    display: block;
    max-width: 100%;
  }
  .modelhouse-comment {
    font-weight: 500;
    font-family: "Shippori Mincho", serif;
    font-size: 18px;
    line-height: 1.889;
    margin-bottom: 39px;
    margin-left: 5px;
  }
  .modelhouse-addr {
    position: absolute;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
    text-align: center;
    top: calc(100% + 43px);
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
  }
  .modelhouse-addr > a {
    color: #C19736;
  }
  .modelhouse-btn {
    font-weight: 500;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    height: 50px;
    margin-left: 2px;
    font-size: 15px;
    line-height: 1;
    background-color: #CE940D;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .modelhouse-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .modelhouse-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .modelhouse-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }
  /* POLICY -------------------------------------*/
  .top-sec-policy {
    margin-top: 159px;
    margin-bottom: 170px;
    padding-left: 10px;
    padding-right: 10px;
  }
  .policy-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1740px;
    margin-left: auto;
    margin-right: auto;
  }
  .policy-text {
    padding-left: 48px;
    margin-top: 8px;
  }
  .h-policy {
    width: clamp(66px, calc((100vw - 1280px) / 640 * 36 + 66px), 102px);
    margin-bottom: 34px;
    margin-left: 8px;
  }
  .h-policy > img {
    display: block;
    max-width: 100%;
  }
  .policy-title {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    margin-bottom: 59px;
    line-height: 1;
    color: #1A1A1A;
    font-size: clamp(41px, calc((100vw - 1280px) / 640 * 23 + 41px), 64px);
  }
  .policy-comment {
    margin-left: 2px;
    font-size: clamp(14px, calc((100vw - 1280px) / 640 * 2 + 14px), 16px);
    line-height: 2.125;
    color: #1A1A1A;
  }
  .policy-list {
    display: flex;
    flex-wrap: wrap;
    width: clamp(770px, calc((100vw - 1280px) / 640 * 320 + 770px), 1090px);
    gap: 101px clamp(50px, calc((100vw - 1280px) / 640 * 20 + 50px), 70px);
  }
  .policy-item {
    width: calc(50% - clamp(50px, calc((100vw - 1280px) / 640 * 20 + 50px), 70px) / 2);
  }
  .policy-item:nth-child(1) .policy-item__picture {
    -webkit-clip-path: url(#policy_clippath01);
            clip-path: url(#policy_clippath01);
  }
  .policy-item:nth-child(2) .policy-item__picture {
    -webkit-clip-path: url(#policy_clippath02);
            clip-path: url(#policy_clippath02);
  }
  .policy-item:nth-child(3) .policy-item__picture {
    -webkit-clip-path: url(#policy_clippath03);
            clip-path: url(#policy_clippath03);
  }
  .policy-item:nth-child(4) .policy-item__picture {
    -webkit-clip-path: url(#policy_clippath04);
            clip-path: url(#policy_clippath04);
  }
  .policy-item:nth-child(2n-1) {
    margin-top: 60px;
  }
  .policy-item__link {
    position: relative;
    display: block;
    transition: opacity 0.2s ease 0s;
  }
  .policy-item__link:hover {
    opacity: 0.8;
  }
  .policy-item__title {
    position: absolute;
    z-index: 2;
    width: 50px;
    height: auto;
    top: 15px;
    right: -15px;
  }
  .policy-item__title > img {
    display: block;
    max-width: 100%;
  }
  .policy-item__title > img:hover {
    opacity: 1;
  }
  .policy-item__title-eng {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    padding: 0 0.84615em;
    bottom: -15px;
    left: 10px;
    font-size: 26px;
    line-height: 1;
    background-color: #fff;
    color: #1A1A1A;
    z-index: 2;
  }
  .policy-item__note {
    bottom: -70px;
    left: 20px;
    position: absolute;
    font-size: clamp(12px, calc((100vw - 1280px) / 640 * 2 + 12px), 14px);
    line-height: 1.7143;
    color: #666666;
    z-index: 2;
    white-space: nowrap;
  }
  .policy-item__note.position {
    bottom: -95px;
    left: 20px;
    position: absolute;
    font-size: clamp(12px, calc((100vw - 1280px) / 640 * 2 + 12px), 14px);
    line-height: 1.7143;
    color: #666666;
    z-index: 2;
    white-space: nowrap;
  }
.policy-item__picture {
    position: relative;
    width: 100%;
    /* 高さも固定ではなく、横幅に応じた比率（アスペクト比）にするとより綺麗です */
    height: auto; 
    aspect-ratio: 510 / 360; /* 元のサイズ比率を維持 */
    z-index: 1;
    overflow: hidden;
  }
  .policy-item__picture > figure {
    position: relative; /* absoluteから変更 */
    top: 0;
    left: 0; /* 0に変更 */
    transform: none; /* 解除 */
    width: 100%; /* 510pxから100%に変更 */
    height: 100%;
  }
  .policy-item__picture > figure > img {
    display: block;
    width: 100%; /* max-widthだけでなくwidth: 100%で枠に合わせる */
    height: 100%;
    object-fit: cover; /* 枠に合わせて綺麗に収める */
  }
  /* LINK BANNER -------------------------------------*/
  .top-link-banner-block {
    margin-top: 170px;
    margin-bottom: 90px;
  }
  .top-link-banner-list {
    max-width: 1740px;
    padding: clamp(70px, calc((100vw - 1280px) / 640 * 8 + 70px), 78px) 0;
    margin-left: auto;
    margin-right: auto;
    background-color: #F4F4F4;
    display: flex;
    gap: 40px;
    justify-content: center;
  }
  .top-link-banner-item {
    width: clamp(543px, calc((100vw - 1280px) / 640 * 37 + 543px), 580px);
  }
  .top-link-banner-item__link {
    display: block;
    margin-bottom: 20px;
    transition: opacity 0.2s ease 0s;
  }
  .top-link-banner-item__link > img {
    display: block;
    max-width: 100%;
  }
  .top-link-banner-item__link:hover {
    opacity: 0.8;
  }
  .top-link-banner-item__text {
    font-size: clamp(12px, calc((100vw - 1280px) / 640 * 2 + 12px), 14px);
    line-height: 1.6;
    color: #666666;
  }
  /* WORKS -------------------------------------*/
  .works-interview-wrap {
    padding: 1px 0;
    background-image: url(../images/index/works-bg.png);
    background-repeat: repeat;
    background-size: 200px 200px;
  }
  .top-sec-works {
    margin-top: 122px;
    margin-bottom: 120px;
    padding-left: 10px;
    padding-right: 10px;
  }
  .works-inner {
    max-width: 1260px;
    margin-left: auto;
    margin-right: auto;
  }
  .h-works {
    width: 61px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 25px;
  }
  .h-works > img {
    display: block;
    max-width: 100%;
  }
  .works-title {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    margin-bottom: 44px;
    text-align: center;
    font-size: 34px;
    color: #fff;
    line-height: 1;
  }
  .top-works-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 62px;
    gap: 75px 20px;
  }
  .top-works-item {
    width: calc((100% - 60px) / 4);
  }
  .top-works-item__link {
    display: block;
    text-decoration: none;
  }
  .top-works-item__link:hover {
    text-decoration: none;
  }
  .top-works-item__link:hover > .top-works-item__picture > img {
    opacity: 0.8;
  }
  .top-works-item__picture {
    margin-bottom: 16px;
    background-color: #fff;
    aspect-ratio: 300/220;
  }
  .top-works-item__picture > img {
    display: block;
    max-width: 100%;
    transition: opacity 0.2s ease 0s;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .top-works-item__customer {
    margin-bottom: 12px;
    line-height: 1.2;
    font-size: 14px;
    color: #CE940C;
  }
  .top-works-item__title {
    font-size: 14px;
    line-height: 1.7143;
    color: #CCCCCC;
  }
  .works-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    height: 50px;
    margin-left: auto;
    margin-right: auto;
    font-size: 15px;
    line-height: 1;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .works-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .works-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .works-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }
  /* INTERVIEW -------------------------------------*/
  .top-sec-interview {
    position: relative;
    padding-top: 103px;
    padding-bottom: 130px;
    padding-left: 10px;
    padding-right: 10px;
  }
  .top-sec-interview::before {
    content: "";
    display: block;
    position: absolute;
    background-image: url(../images/index/interview-bg.png);
    background-repeat: repeat;
    background-size: 300px 300px;
    height: 100%;
    width: clamp(1220px, calc((100vw - 1280px) / 640 * 440 + 1220px), 1660px);
    border-radius: 30px 0 0 30px;
    top: 1px;
    right: 0;
    z-index: 2;
  }
  .top-sec-interview::after {
    content: "";
    display: block;
    position: absolute;
    background-image: url(../images/index/interview-bottom-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left 50% bottom 21%;
    height: calc(50% + 130px);
    width: clamp(1230px, calc((100vw - 1280px) / 640 * 430 + 1230px), 1660px);
    border-radius: 0 0 30px 0;
    top: 50%;
    left: 0;
    z-index: 1;
  }
  .interview-inner {
    position: relative;
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
    z-index: 3;
  }
  .h-interview {
    width: 108px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 32px;
  }
  .h-interview > img {
    display: block;
    max-width: 100%;
  }
  .interview-title {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    margin-bottom: 62px;
    text-align: center;
    font-size: 34px;
    line-height: 1;
  }
  .top-interview-list {
    display: flex;
    margin-bottom: 50px;
    gap: clamp(40px, calc((100vw - 1280px) / 640 * 10 + 40px), 50px);
  }
  .top-interview-item {
    flex: 1;
  }
  .top-interview-item__link {
    display: block;
    text-decoration: none;
  }
  .top-interview-item__link:hover {
    text-decoration: none;
  }
  .top-interview-item__link:hover > .top-interview-item__picture > img {
    opacity: 0.8;
  }
  .top-interview-item__picture {
    position: relative;
    border-radius: 10px;
    background-color: #fff;
    overflow: hidden;
    aspect-ratio: 500/360;
    z-index: 1;
  }
  .top-interview-item__picture > img {
    transition: opacity 0.2s ease 0s;
    display: block;
    max-width: 100%;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .interview-text-box {
    position: relative;
    width: 360px;
    min-height: 160px;
    margin-top: -60px;
    margin-left: auto;
    margin-right: auto;
    padding: 29px 30px;
    background-color: #fff;
    z-index: 2;
    border-radius: 10px;
  }
  .interview-text-box__customer {
    font-size: 14px;
    line-height: 1.1;
    color: #4B8199;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid #E6E6E6;
  }
  .interview-text-box__title {
    font-size: 16px;
    line-height: 1.5625;
  }
  .interview-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    height: 50px;
    margin-left: auto;
    margin-right: auto;
    font-size: 15px;
    line-height: 1;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .interview-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .interview-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .interview-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }
  /* LINEUP -------------------------------------*/
  .top-sec-lineup {
    margin-top: 160px;
    margin-bottom: 125px;
    padding-left: 10px;
    padding-right: 10px;
  }
  .lineup-inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .h-lineup {
    width: 205px;
    margin-bottom: 42px;
    margin-left: auto;
    margin-right: auto;
  }
  .h-lineup > img {
    display: block;
    max-width: 100%;
  }
  .lineup-title {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    font-size: 34px;
    line-height: 1;
    margin-bottom: 46px;
    text-align: center;
  }
  .lineup-title > .spbr {
    display: none;
  }
  .lineup-items {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 62px;
  }
  .lineup-item {
    width: 560px;
    height: 570px;
    padding: 74px 70px 70px 70px;
    display: block;
    position: relative;
    text-decoration: none;
    transition: opacity 0.2s ease 0s;
  }
  .lineup-item:hover {
    text-decoration: none;
    opacity: 0.8;
  }
  .lineup-item:hover > .lineup-item__btn::after {
    transform: translateY(-50%) translateX(25%);
  }
  .lineup-item.fullorder {
    background-color: #A24B36;
  }
  .lineup-item.semiorder {
    background-color: #287496;
  }
  .lineup-item__subh {
    width: 124px;
    margin-bottom: 22px;
    margin-left: 2px;
  }
  .lineup-item__subh > img {
    display: block;
    max-width: 100%;
  }
  .lineup-item__image {
    margin-bottom: 30px;
  }
  .lineup-item__image > img {
    display: block;
    max-width: 100%;
  }
  .lineup-item__text {
    margin-bottom: 35px;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    line-height: 1;
    text-align: center;
  }
  .lineup-item__btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    height: 50px;
    font-size: 15px;
    padding-right: 4px;
    padding-bottom: 5px;
    line-height: 1;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
  }
  .lineup-item__btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow_blk.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .lineup-item__sub {
    position: absolute;
    top: 12px;
    right: 12px;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
    writing-mode: vertical-lr;
  }
  .banner-flow {
    display: block;
    width: 700px;
    margin-left: auto;
    margin-right: auto;
    transition: opacity 0.2s ease 0s;
  }
  .banner-flow > img {
    display: block;
    max-width: 100%;
  }
  .banner-flow:hover {
    opacity: 0.7;
  }
  /* ABOUT US -------------------------------------*/
  .top-sec-aboutus {
    margin-top: 125px;
    background-image: url(../images/index/about-bg.png);
    background-repeat: repeat;
    background-size: 200px 200px;
    padding-top: 153px;
    padding-bottom: 140px;
  }
  .aboutus-inner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
  }
  .aboutus-header {
    margin-left: clamp(30px, calc((100vw - 1280px) / 640 * 290 + 30px), 320px);
  }
  .h-aboutus {
    width: 406px;
    margin-left: 45px;
    margin-bottom: 36px;
  }
  .h-aboutus > img {
    display: block;
    max-width: 100%;
  }
  .aboutus-title {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-left: 40px;
    font-size: 28px;
    line-height: 1;
    z-index: 2;
  }
  .aboutus-title > span {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    padding: 0 0.5em;
    background-color: #fff;
  }
  .aboutus-images {
    position: relative;
    z-index: 1;
    margin-top: -30px;
  }
  .aboutus-images__main {
    width: 510px;
    position: relative;
    z-index: 1;
    margin-left: 110px;
  }
  .aboutus-images__main > img {
    display: block;
    max-width: 100%;
  }
  .aboutus-images__sub {
    width: 290px;
    position: relative;
    z-index: 2;
    margin-top: -150px;
  }
  .aboutus-images__sub > img {
    display: block;
    max-width: 100%;
  }
  .aboutus-images__logo {
    width: 135px;
    position: absolute;
    bottom: 50px;
    right: 12px;
  }
  .aboutus-images__logo > img {
    display: block;
    max-width: 100%;
  }
  .aboutus-subsec-message {
    margin-top: 117px;
    margin-left: auto;
    margin-right: clamp(70px, calc((100vw - 1280px) / 640 * 312 + 70px), 382px);
  }
  .subh-message {
    width: 75px;
    margin-bottom: 28px;
  }
  .subh-message > img {
    display: block;
    max-width: 100%;
  }
  .message-content { width: 509px; }
  .message-paragraph {
    font-size: 16px;
    line-height: 1.8;
  }
  .message-paragraph + .message-paragraph {
    margin-top: 2.125em;
  }
  .message-links {
    width: 320px;
    margin-top: 40px;
    margin-bottom: 60px;
  }
  .message-link-item {
    border-bottom: 1px solid #666666;
  }
  .message-link-item > a {
    position: relative;
    padding-right: 0px;
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    display: block;
    font-size: 17px;
    line-height: 1;
    padding: 21px 0 21px 8px;
    text-decoration: none;
  }
  .message-link-item > a::after {
    content: "";
    display: block;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .message-link-item > a:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .message-link-item > a::after {
    background-image: url(../images/common/btn_arrow_blk.svg);
  }
  .message-link-item > a:hover {
    text-decoration: underline;
    text-underline-offset: 0.25em;
    text-decoration-thickness: 1px;
  }
  .message-link-item + .message-link-item {
    margin-top: 10px;
  }
  .aboutus-subsec-blog {
    margin-top: 100px;
    padding-left: 10px;
    padding-right: 10px;
  }
  .blog-inner {
    max-width: 1160px;
    margin-left: auto;
    margin-right: auto;
  }
  .subh-blog {
    width: 95px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 18px;
  }
  .subh-blog > img {
    display: block;
    max-width: 100%;
  }
  .subh-blog-ja {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    margin-bottom: 34px;
    font-size: 20px;
    line-height: 1;
    text-align: center;
  }
  .blog-list {
    display: flex;
    margin-bottom: 50px;
    gap: 40px;
  }
  .blog-item {
    width: calc((100% - 120px) / 4);
  }
  .blog-item__link {
    display: block;
    text-decoration: none;
    background-color: #fff;
    height: 100%;
    min-height: 320px;
    padding-bottom: 16px;
  }
  .blog-item__link:hover {
    text-decoration: none;
  }
  .blog-item__link:hover > .blog-item__picture > img {
    opacity: 0.8;
  }
  .blog-item__picture {
    margin-bottom: 19px;
    background-color: #fff;
    width: 100%;
    aspect-ratio: 260/180;
  }
  .blog-item__picture > img {
    display: block;
    max-width: 100%;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: opacity 0.2s ease 0s;
  }
  .blog-item__date {
    margin-bottom: 14px;
    line-height: 1;
    font-size: 14px;
    color: #4B8199;
    padding-left: 20px;
    padding-right: 20px;
  }
  .blog-item__title {
    font-size: 14px;
    line-height: 1.57143;
    color: #666666;
    padding-left: 20px;
    padding-right: 20px;
  }
  .blog-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    height: 50px;
    margin-left: auto;
    margin-right: auto;
    font-size: 15px;
    line-height: 1;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .blog-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .blog-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .blog-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }

#faq {width: 800px; margin: 100px auto 150px; position: relative;}
#faq .en-txt{ text-align: center; margin-bottom: 10px; }
#faq h2{ text-align: center; font-size: 41px; font-weight: 550; line-height: 49px; padding-bottom: 48px; margin-bottom: 20px; border-bottom: 1px solid #999999; font-family: "Shippori Mincho", serif; }
#faq .faq-sy-box {width: 800px; margin: 0 auto 80px;}
#faq .faq-sy-box .list .wysiwyg {margin-bottom: 0;}
#faq .faq-sy-box .list li {border-bottom: 1px solid #999; border-top: 1px solid #fff;}
/* 質問エリア */
#faq .faq-sy-box .list .sy-ttl {padding: 15px 61px 15px 50px; font-weight: 400; position: relative; font-size: 18px; letter-spacing: 0.05em; line-height: 38px; text-align: left; color: #2b2827; cursor: pointer;}
#faq .faq-sy-box .list .sy-ttl::before {content: "Q"; position: relative; display: inline-block; padding: 5px 10px; color: #fff; background: #124C65; font-size: 16px; font-weight: bold; letter-spacing: 0.8px; line-height: 24px; margin-right: 20px; vertical-align: middle; }
/* 回答エリア（初期は非表示） */
#faq .faq-sy-box .sy-a-txt {display: none; padding: 21px 70px 21px 140px; border-bottom: 1px solid #999; font-weight: 400; font-size: 16px; letter-spacing: 0.05em; line-height: 30px; text-align: left; color: #2b2827; position: relative;}
#faq .faq-sy-box .sy-a-txt::before {content: "A"; position: absolute; left: 90px; padding: 5px 10px; color: #124C65; background: #fff; font-size: 18px; font-weight: bold; letter-spacing: 0.8px; line-height: 24px; margin-right: 20px; border: 2px solid #124C65;}
/* アイコン・アニメーション */
#faq .faq-sy-box .sy-ttl .toggle_btn {background-image: url(../images/page-common/sy-icon-b.png); background-repeat: no-repeat; background-position: center 0; width: 41px; height: 41px; position: absolute; top: 16px; right: 9px; transition: transform 0.3s;}
#faq .faq-sy-box .sy-ttl.selected .toggle_btn {transform: rotate(180deg);}
#faq .faq-sy-box .sy-a-ttl {font-size: 24px; font-weight: bold; letter-spacing: 1px; line-height: 1.8; text-align: center; margin-bottom: 10px;}
  .faq-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    height: 50px;
    margin-left: auto;
    margin-right: auto;
    font-size: 15px;
    line-height: 1;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .faq-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .faq-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .faq-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }

#con03{ width: 997px; margin: 0 auto 150px; }
#con03 .en-txt{ text-align: center; margin-bottom: 10px; }
#con03 .ttl{ text-align: center; font-size: 41px; font-weight: 550; line-height: 49px; margin-bottom: 64px; font-family: "Shippori Mincho", serif;  }
#con03 .box1, #con03 .box2 { display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 32px; }
#con03 .pic { width: 230px; margin: 0; line-height: 0; }
#con03 .pic img { width: 100%; height: auto; object-fit: cover; }
#con03 .map-box { width: 230px; height: 230px; }
#con03 .map-box iframe { width: 100%; height: 100%; border: none; }
#con03 .txt-box { width: 482px; }
#con03 .box2 .txt-box { width: 482px; padding-top: 25px; }
#con03 .txt1 { font-size: 16px; font-weight: 400; margin-bottom: 10px; line-height: 1.6; }
#con03 .txt2 { font-size: 16px; line-height: 1.6; margin-top: 15px; }
#con03 .txt3 { font-size: 16px; line-height: 1.6; margin-top: 30px; }

}
@media screen and (min-width: 1920px) {
  .concept-inner {
    position: static;
    width: 100%;
    height: 100%;
    transform: none;
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media screen and (max-width: 767px) {
.onPageTop .h-logo img{ filter: invert(100%) brightness(1000%) contrast(1000%); }
.onPageTop .h-menu img{ filter: invert(100%) brightness(1000%) contrast(1000%); }

  .top-mv {
    box-sizing: content-box;
    position: relative;
    height: 173.9130434783vw;
    padding-bottom: 7.1835748792vw;
  }
  .top-mv-title {
    display: none;
  }
  .top-mv-slider-wrap {
    position: absolute;
    z-index: 3;
    width: 100%;
    height: auto;
    aspect-ratio: 414/720;
    top: 0;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    opacity: 1;
    transition: opacity 0.2s ease 0s;
  }
  .top-mv-slider-wrap.hide {
    opacity: 0;
  }
  .top-mv-slider-wrap .bx-wrapper {
    position: relative;
    filter: drop-shadow(0 4.8309178744vw 4.8309178744vw rgba(0, 0, 0, 0.2));
    z-index: 3;
  }
  .top-mv-slider-wrap .bx-controls {
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    width: -moz-fit-content;
    width: fit-content;
    top: calc(100% + -6.618357vw);
    left: 0;
    right: 0;
  }
  .top-mv-slider-wrap .bx-controls > .bx-pager {
    position: static;
    display: flex;
    width: -moz-fit-content;
    width: fit-content;
    gap: 4.347826087vw;
    padding-top: 0;
    bottom: 0;
  }
  .top-mv-slider-wrap .bx-controls > .bx-pager > .bx-pager-item > a {
    background-color: #fff;
    width: 1.4492753623vw;
    height: 1.4492753623vw;
  }
  .top-mv-slider-wrap .bx-controls > .bx-pager > .bx-pager-item > a.active {
    background-color: #4B8198;
  }


  .top-mv-slider {
    width: 100%;
    aspect-ratio: 414/720;
    -webkit-clip-path: url(#mv-sp);
            clip-path: url(#mv-sp);
    background-color: #fff;
  }

.top-mv-slider::before {
  content: ""; /* 空文字にする */
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;  /* 親の幅いっぱいに広げる */
  height: 100%; /* 親の高さいっぱいに広げる */
  
  /* 画像の設定 */
  background-image: url(../images/index/sp-sra-hover01.png);
  background-size: contain;    /* 画像全体が収まるように調整 */
  background-repeat: no-repeat;
  background-position: center;
  
  z-index: 60; /* 重なり順の調整（必要に応じて） */
  pointer-events: none; /* 透かし画像の下の要素をクリックできるようにする場合 */
}

  .top-mv-slider li {
    aspect-ratio: 414/720;
  }
  .top-mv-slider li img {
    display: block;
    max-width: 100%;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .top-mv-text {
    position: absolute;
    z-index: 4;
    top: 26.3285024155vw;
    right: 0;
    left: 0;
    margin-left: auto;
    margin-right: auto;
    width: 15.2173913043vw;
  }
  .top-mv-text > img {
    display: block;
    max-width: 100%;
  }
  .top-mv-new-old-days {
    position: absolute;
    z-index: 4;
    bottom: 22.2222222222vw;
    right: 4.8309178744vw;
    width: 32.8502415459vw;
  }
  .top-mv-new-old-days > img {
    display: block;
    width: 100%;
    filter: drop-shadow(0 0 2.8985507246vw #052902);
  }
  .top-mv-sciencehome {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    bottom: 0;
    gap: 4.1062801932vw;
  }
  .top-mv-sciencehome__logo {
    width: 9.6618357488vw;
  }
  .top-mv-sciencehome__logo > img {
    display: block;
    max-width: 100%;
  }
  .top-mv-sciencehome__text {
    line-height: 1;
    font-size: 3.8647342995vw;
    padding-bottom: 1.4492753623vw;
    font-weight: 600;
  }
  .top-mv-sciencehome__text > .sub {
    font-size: 2.1739130435vw;
    margin-bottom: 2.1739130435vw;
    font-weight: 400;
    letter-spacing: 0.05em;
  }

.science-bnr{ margin: 0 14vw; }
  /* LINEでのお問い合わせ -------------------------------------*/
  .line-iquiry {
    padding: 18.3574879227vw 0;
  }
  .line-inquiry-btn {
    position: relative;
    padding-right: 2.8985507246vw;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 82.1256038647vw;
    height: 14.4927536232vw;
    margin-left: auto;
    margin-right: auto;
    background-color: #19AD7B;
    transition: opacity 0.2s ease 0s;
  }
  .line-inquiry-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 3.8647342995vw;
    top: 50%;
    transform: translateY(-50%);
    width: 3.3816425121vw;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .line-inquiry-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .line-inquiry-btn > img {
    width: 55.0724637681vw;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .line-inquiry-btn:hover {
    opacity: 0.8;
  }
  /* information -------------------------------------*/
  .top-sec-information {
    margin-top: 7.0821256039vw;
    margin-bottom: 12vw;
  }
  .information-inner {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .h-information {
    width: 47.5845410628vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 7.2463768116vw;
  }
  .h-information > img {
    display: block;
    max-width: 100%;
  }
  .top-information-list {
    display: flex;
    flex-direction: column;
    gap: 13.5265700483vw;
    list-style-type: none;
  }
  .top-information-item {
    flex: 1;
  }
  .top-information-item__link {
    display: block;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
    padding-bottom: 6vw;
  }
  .top-information-item__link img:hover {
    opacity: 1;
  }
  .top-information-item__link:hover {
    opacity: 0.8;
    text-decoration: none;
  }
  .top-information-item__status {
    font-weight: 500;
    font-family: "Shippori Mincho", serif;
    width: 12.077294686vw;
    height: 7.2463768116vw;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2.4154589372vw;
    background-color: #1A1A1A;
    line-height: 1;
    font-size: 2.4154589372vw;
    color: #fff;
  }
  .top-information-item__status.accepting {
    background-color: #124C65;
  }
  .top-information-item__thumb {
    margin-bottom: 2.8985507246vw;
    aspect-ratio: 340/255;
  }
  .top-information-item__thumb > img {
    display: block;
    max-width: 100%;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .top-information-item__title {
    font-size: 3.8647342995vw;
    line-height: 1.6875;
    padding: 0 5vw 0.8125em;
    margin-bottom: 0.8125em;
    border-bottom: 1px solid #E6E6E6;
  }
  .top-information-item__detail {
    display: flex;
    flex-wrap: wrap;
    font-size: 2.8985507246vw;
    padding: 0 5vw;
  }
  .top-information-item__detail > dt {
    box-sizing: content-box;
    width: 2em;
    padding-right: 3.6231884058vw;
    color: #4B8199;
  }
  .top-information-item__detail > dd {
    width: calc(100% - (2em + 3.6231884058vw));
    color: #666666;
  }
  .information-more {
    margin-top: 13.5265700483vw;
  }
  .information-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 77.2946859903vw;
    height: 12.077294686vw;
    font-size: 3.6231884058vw;
    line-height: 1;
    margin-left: auto;
    margin-right: auto;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .information-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 3.1400966184vw;
    top: 50%;
    transform: translateY(-50%);
    width: 2.8985507246vw;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .information-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .information-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }

/* スライダー全体のコンテナ */
.top-information-list {
  /* 左右に隙間を作って、はみ出したスライドが見えるようにする */
  overflow: visible !important;
}

/* 各スライドアイテム */
.top-information-item {
  /* 画面幅の約80%をアイテム幅にする（左右10%ずつ余る計算） */
  width: 90vw;
  margin: 0 auto 10px; /* アイテム同士の隙間 */
  box-sizing: border-box;
}

/* slickの仕様上、中央の要素以外を少し薄くするとより「お客様の声」風になります */
.top-information-item {
  transition: opacity 0.3s ease;
}

.top-information-item.slick-center {
  opacity: 1; /* 中央だけハッキリ */
}

/* aタグや中身のスタイル（必要に応じて） */
.top-information-item__link {
  display: block;
}

#con01{ margin: 0 auto; padding: 9vw 0 110vw; background: url(../images/index/sp-con01-bg01.png) no-repeat center top; background-size: 100%; }
#con01 .inner-Box{ margin: 0 4.8vw; position: relative; }
#con01 .txt{ text-align: center; margin: 0 8vw 4vw; }
#con01 .ttl{ font-size: 7.8vw; font-weight: 550; line-height: 1.6; text-align: center; margin-bottom: 6vw; font-family: "Shippori Mincho", serif; }
#con01 .subttl{ font-size: 4.8vw; font-weight: 550; line-height: 1.8; color: #124C65; margin-bottom: 4vw; font-family: "Shippori Mincho", serif; }
#con01 .txt1{ font-size: 3.6vw; line-height: 1.8; letter-spacing: 0; }
#con01 .txt1.mb1{ margin-bottom: 0; }
#con01 .txt1.mb2{ margin-bottom: 8vw; }

  .con01-more {
    margin-top: 6vw;
  }
  .con01-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 43vw;
    height: 12.077294686vw;
    font-size: 3.6231884058vw;
    line-height: 1;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .con01-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 3.1400966184vw;
    top: 50%;
    transform: translateY(-50%);
    width: 2.8985507246vw;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .con01-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .con01-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }

  .con01-more2 {
    margin-top: 13.5265700483vw;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .con01-more-btn2 {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 43vw;
    height: 12.077294686vw;
    font-size: 3.6231884058vw;
    line-height: 1;
    margin-left: auto;
    margin-right: auto;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .con01-more-btn2::after {
    content: "";
    display: block;
    position: absolute;
    right: 3.1400966184vw;
    top: 50%;
    transform: translateY(-50%);
    width: 2.8985507246vw;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .con01-more-btn2:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .con01-more-btn2:hover {
    opacity: 0.8;
    text-decoration: none;
  }





  /* PICKUP　CONTENTS -------------------------------------*/
  .top-sec-pickup {
    margin-top: 20.7729468599vw;
    padding-left: 2.4154589372vw;
    padding-right: 2.4154589372vw;
  }
  .pickup-inner {
    max-width: 86.9565217391vw;
    margin-left: auto;
    margin-right: auto;
  }
  .h-pickup {
    width: 39.61352657vw;
    margin-bottom: 7.4879227053vw;
    margin-left: auto;
    margin-right: auto;
  }
  .h-pickup > img {
    display: block;
    max-width: 100%;
  }
  .pickup-contents-links {
    display: flex;
    flex-direction: column;
    gap: 4.8309178744vw;
  }
  .pickup-contents-link {
    width: 100%;
    transition: opacity 0.2s ease 0s;
  }
  .pickup-contents-link:hover {
    opacity: 0.8;
  }
  .pickup-contents-link > img {
    display: block;
    max-width: 100%;
  }
  .pickup-contents-link > img:hover {
    opacity: 1;
  }
  /* CONCEPT -------------------------------------*/
  .top-sec-concept {
    position: relative;
    margin-top: 0vw;
    margin-bottom: 19.9178743961vw;
    height: 169.0821256039vw;
    width: 100%;
  }
.top-sec-concept::before {
  content: ""; /* 空文字にする */
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;  /* 親の幅いっぱいに広げる */
  height: 100%; /* 親の高さいっぱいに広げる */
  
  /* 画像の設定 */
  background-image: url(../images/index/sp-concept-hover01.png);
  background-size: contain;    /* 画像全体が収まるように調整 */
  background-repeat: no-repeat;
  background-position: center;
  z-index: 60; /* 重なり順の調整（必要に応じて） */
  pointer-events: none; /* 透かし画像の下の要素をクリックできるようにする場合 */
}
  .concept-inner {
    width: 100%;
    height: 100%;
    background-image: url(../images/index/concept-bg.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    -webkit-clip-path: url(#top_concept_clip-sp);
            clip-path: url(#top_concept_clip-sp);
    z-index: 2;
  }
  .concept-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 25.3623188406vw;
  }
  .concept-images {
    display: block;
    width: 100%;
    height: 43.4782608696vw;
    order: 4;
  }
  .concept-images__reel {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 2.4154589372vw;
    width: -moz-max-content;
    width: max-content;
    opacity: 0;
    transition: opacity 0.2s ease 0s;
  }
  .concept-images__reel > img {
    display: block;
    width: 57.9710144928vw;
    aspect-ratio: 240/180;
  }
  .concept-images__reel.start {
    opacity: 1;
    animation-name: conceptImageReelH;
    animation-duration: 60s;
    animation-timing-function: linear;
    animation-delay: 0s;
    animation-iteration-count: infinite;
    animation-direction: reverse;
  }
  .concept-images__reel--pc {
    display: none;
  }
  .concept-text {
    display: contents;
  }
  .h-concept {
    width: 18.8405797101vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 6.7632850242vw;
    order: 1;
  }
  .h-concept > img {
    display: block;
    max-width: 100%;
  }
  .concept-theme-sub {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    margin-bottom: 7.2463768116vw;
    font-size: 4.1062801932vw;
    line-height: 1;
    color: #fff;
    order: 2;
  }
  .concept-theme {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.4154589372vw;
    margin-bottom: 7.2463768116vw;
    font-size: 5.3140096618vw;
    color: #1A1A1A;
    line-height: 1;
    order: 3;
  }
  .concept-theme__line {
    display: flex;
    justify-content: center;
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    height: 2.2222em;
    padding-left: 0.75em;
    padding-right: 0.75em;
    background-color: #fff;
  }
  .concept-more {
    order: 5;
    margin-top: 4.8309178744vw;
  }
  .concept-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 77.2946859903vw;
    height: 12.077294686vw;
    font-size: 3.6231884058vw;
    line-height: 1;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .concept-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 3.1400966184vw;
    top: 50%;
    transform: translateY(-50%);
    width: 2.8985507246vw;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .concept-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .concept-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }
  .concept-bottom-text {
    position: absolute;
    width: 81.884057971vw;
    top: calc(100% + 4.347826087vw);
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
  }
  .concept-bottom-text > img {
    display: block;
    max-width: 100%;
  }

#con02{ margin: 0 auto; padding: 12vw 0 14vw; background: url(../images/index/sp-con02-bg01.png) no-repeat center top; }
#con02 .ttl{ text-align: center; margin: 0 7vw 8vw; }
#con02 .reason-slider {
    overflow: visible !important;
    display: block; /* slick適用前の崩れ防止 */
  }

  /* 各スライドアイテムの幅指定 */
  #con02 .reason-slider li {
    width: 80vw; /* 画面幅の80%に設定 */
    margin: 0 10px; /* アイテム間の隙間 */
    list-style: none;
    outline: none;
  }

  /* 画像のスタイル微調整 */
  #con02 .reason-slider li .pic img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* テキスト部分の調整 */
  #con02 .subttl {
    background: #16536e; /* 画像のような紺背景 */
    color: #fff;
    text-align: center;
    padding: 10px;
    font-size: 1.4rem;
    margin-top: 10px;
  }
  
  #con02 .txt {
    text-align: center;
    font-size: 1.2rem;
    margin-top: 10px;
    line-height: 1.6;
  }

  /* 非アクティブなスライドを少し薄くする場合（お好みで） */
  #con02 .reason-slider li {
    transition: opacity 0.3s ease;
    opacity: 0.4;
  }
  #con02 .reason-slider li.slick-center {
    opacity: 1;
  }

  /* #con02スライダー矢印ラッパー */
  .reason-slider-wrap {
    position: relative;
  }
  /* #con02スライダー矢印 */
  .reason-slider-wrap .slick-prev,
  .reason-slider-wrap .slick-next {
    position: absolute;
    width: 44px;
    height: 44px;
    z-index: 10;
    top: 30vw; /* 画像縦中央付近 */
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.92);
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    font-size: 0;
    cursor: pointer;
  }
  .reason-slider-wrap .slick-prev {
    left: 2vw;
    right: auto;
  }
  .reason-slider-wrap .slick-next {
    right: 2vw;
    left: auto;
  }
  .reason-slider-wrap .slick-prev:before,
  .reason-slider-wrap .slick-next:before {
    content: "";
    display: block;
    width: 11px;
    height: 11px;
    border-style: solid;
    border-color: #1A1A1A;
    opacity: 1;
    font-family: unset;
    font-size: 0;
    position: absolute;
    top: 50%;
  }
  .reason-slider-wrap .slick-prev:before {
    border-width: 0 0 2px 2px;
    transform: translateY(-50%) rotate(45deg);
    left: 17px;
  }
  .reason-slider-wrap .slick-next:before {
    border-width: 2px 2px 0 0;
    transform: translateY(-50%) rotate(45deg);
    right: 17px;
    left: auto;
  }

    .reason-more {
    order: 5;
    margin-top: 4.8309178744vw;
  }
  .reason-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 77.2946859903vw;
    height: 12.077294686vw;
    margin: 0 auto;
    font-size: 3.6231884058vw;
    line-height: 1;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .reason-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 3.1400966184vw;
    top: 50%;
    transform: translateY(-50%);
    width: 2.8985507246vw;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .reason-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .reason-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }
  .reason-bottom-text {
    position: absolute;
    width: 81.884057971vw;
    top: calc(100% + 4.347826087vw);
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
  }
  .reason-bottom-text > img {
    display: block;
    max-width: 100%;
  }

  /* MODEL HOUSE -------------------------------------*/
  .top-sec-modelhouse {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding-top: 21.7391304348vw;
    padding-bottom: 33.8164251208vw;
    background-image: url(../images/index/modelhouse-bg-sp.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
  }
  .modelhouse-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 91.7874396135vw;
    padding: 8.9371980676vw 4.8309178744vw 9.6618357488vw 4.8309178744vw;
    background-color: #fff;
    z-index: 2;
  }
  .modelhouse-inner::after {
    content: "";
    display: block;
    position: absolute;
    top: -2.4154589372vw;
    right: 4.8309178744vw;
    width: 9.6618357488vw;
    aspect-ratio: 40/140;
    background-image: url(../images/index/modelhouse-badge-yoyaku.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
  }
  .modelhouse-text {
    display: contents;
  }
  .h-modelhouse-sub {
    width: 27.5362318841vw;
    margin-bottom: 3.8647342995vw;
    order: 1;
  }
  .h-modelhouse-sub > img {
    display: block;
    max-width: 100%;
  }
  .h-modelhouse {
    width: 48.0676328502vw;
    margin-bottom: 6.038647343vw;
    order: 2;
  }
  .h-modelhouse > img {
    display: block;
    max-width: 100%;
  }
  .modelhouse-image {
    width: 100%;
    order: 4;
    margin-bottom: 6.2801932367vw;
  }
  .modelhouse-image > img {
    display: block;
    max-width: 100%;
  }
  .modelhouse-comment {
    font-weight: 500;
    font-family: "Shippori Mincho", serif;
    font-size: 3.6231884058vw;
    line-height: 1.867;
    margin-bottom: 6.038647343vw;
    text-align: center;
    order: 3;
  }
  .modelhouse-addr {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    font-size: 3.3816425121vw;
    line-height: 1.643;
    letter-spacing: 0.05em;
    color: #fff;
    text-align: center;
    top: calc(100% + 6.7632850242vw);
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
  }
  .modelhouse-addr > a {
    color: #C19736;
  }
  .modelhouse-btn {
    font-weight: 500;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 77.2946859903vw;
    height: 12.077294686vw;
    font-size: 3.6231884058vw;
    line-height: 1;
    background-color: #CE940D;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
    order: 5;
  }
  .modelhouse-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 3.1400966184vw;
    top: 50%;
    transform: translateY(-50%);
    width: 2.8985507246vw;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .modelhouse-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .modelhouse-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }
  /* POLICY -------------------------------------*/
  .top-sec-policy {
    margin-top: 19.3236714976vw;
    margin-bottom: 0vw;
  }
  .policy-inner {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .policy-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 5vw 15.7004830918vw;
  }
  .h-policy {
    width: 19.806763285vw;
    margin-bottom: 7.2463768116vw;
  }
  .h-policy > img {
    display: block;
    max-width: 100%;
  }
  .policy-title {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    margin-bottom: 10.8695652174vw;
    line-height: 1;
    color: #1A1A1A;
    font-size: 8.6956521739vw;
  }
  .policy-comment {
    font-size: 3.3816425121vw;
    line-height: 1.786;
    color: #1A1A1A;
  }
  .policy-comment > br {
    display: none;
  }
  .policy-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 17.3913043478vw;
  }
  .policy-item {
    width: 86.9565217391vw;
  }
  .policy-item:nth-child(1) .policy-item__picture {
    -webkit-clip-path: url(#policy_clippath01);
            clip-path: url(#policy_clippath01);
  }
  .policy-item:nth-child(2) .policy-item__picture {
    -webkit-clip-path: url(#policy_clippath02);
            clip-path: url(#policy_clippath02);
  }
  .policy-item:nth-child(3) .policy-item__picture {
    -webkit-clip-path: url(#policy_clippath03);
            clip-path: url(#policy_clippath03);
  }
  .policy-item:nth-child(4) .policy-item__picture {
    -webkit-clip-path: url(#policy_clippath04);
            clip-path: url(#policy_clippath04);
  }
  .policy-item__link {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: opacity 0.2s ease 0s;
  }
  .policy-item__link:hover {
    opacity: 0.8;
  }
  .policy-item__title {
    position: absolute;
    z-index: 2;
    width: 12.077294686vw;
    height: auto;
    top: 3.3816425121vw;
    right: -1.2077294686vw;
  }
  .policy-item__title > img {
    display: block;
    max-width: 100%;
  }
  .policy-item__title > img:hover {
    opacity: 1;
  }
  .policy-item__title-eng {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 12.077294686vw;
    padding: 0 0.84615em;
    top: 53.1400966184vw;
    left: 4.8309178744vw;
    font-size: 6.2801932367vw;
    line-height: 1;
    background-color: #fff;
    color: #1A1A1A;
    z-index: 2;
  }
  .policy-item__note {
    width: calc(100% - 9.6618357488vw);
    margin-top: 8.4541062802vw;
    font-size: 3.3816425121vw;
    line-height: 1.7143;
    color: #666666;
    z-index: 2;
    order: 2;
  }
  .policy-item__note > br {
    display: none;
  }
  .policy-item__picture {
    position: relative;
    width: 100%;
    height: 60.38647343vw;
    z-index: 1;
    order: 1;
  }
  .policy-item__picture > figure > img {
    display: block;
    max-width: 100%;
  }

  /* スライダー外枠：左右チラ見せ設定 */
  .policy-list {
    display: block !important; /* flexを解除 */
    overflow: visible !important;
  }

  /* 各スライドアイテム */
  .policy-item {
    width: 80vw !important; /* 画面幅の80% */
    margin: 0 10px;
    padding-bottom: 40px; /* 下部テキストの余白確保 */
  }

  /* 画像コンテナの高さ・アスペクト比固定 */
  .policy-item__picture {
    width: 100%;
    height: auto;
    aspect-ratio: 510 / 360;
    position: relative;
    overflow: hidden;
  }

  .policy-item__picture figure,
  .policy-item__picture figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: static; /* 以前の absolute / left: 50% を打ち消し */
    transform: none;
  }

  /* 縦の配置を top基準から画像の下(bottom)基準に変更 */
  .policy-item__title-eng {
    position: absolute;
    top: auto; /* 以前の top: 320px を解除 */
    bottom: 78px; /* 画像の下端付近に固定 */
    left: 10px;
    z-index: 3;
  }

  /* 縦の配置を top基準から画像の下(bottom)基準に変更 */
  .policy-item__title-eng.position {
    position: absolute;
    top: auto; /* 以前の top: 320px を解除 */
    bottom: 98px; /* 画像の下端付近に固定 */
    left: 10px;
    z-index: 3;
  }

  .policy-item__note {
    position: static; /* absoluteを解除して画像の下に流す */
    margin-top: 15px;
    padding: 0 10px;
    white-space: normal; /* 改行を許可 */
    text-align: center;
  }

  /* バッジ（Designなどの画像アイコン）の位置微調整 */
  .policy-item__title {
    top: 10px;
    right: 10px;
    width: 40px;
  }

  /* 非アクティブなスライドを少し薄く（必要に応じて） */
  .policy-item {
    transition: opacity 0.3s;
    opacity: 0.5;
  }
  .policy-item.slick-center {
    opacity: 1;
  }

  /* POLICYスライダー矢印ラッパー */
  .policy-slider-wrap {
    position: relative;
  }
  /* POLICYスライダー矢印 */
  .policy-slider-wrap .slick-prev,
  .policy-slider-wrap .slick-next {
    position: absolute;
    width: 44px;
    height: 44px;
    z-index: 10;
    top: 28vw; /* 画像高さ(約56vw)の中央 */
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.92);
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    font-size: 0; /* "Previous"/"Next"テキストを非表示 */
    cursor: pointer;
  }
  .policy-slider-wrap .slick-prev {
    left: 2vw;
    right: auto;
  }
  .policy-slider-wrap .slick-next {
    right: 2vw;
    left: auto;
  }
  .policy-slider-wrap .slick-prev:before,
  .policy-slider-wrap .slick-next:before {
    content: "";
    display: block;
    width: 11px;
    height: 11px;
    border-style: solid;
    border-color: #1A1A1A;
    opacity: 1;
    font-family: unset;
    font-size: 0;
    position: absolute;
    top: 50%;
  }
  .policy-slider-wrap .slick-prev:before {
    border-width: 0 0 2px 2px;
    transform: translateY(-50%) rotate(45deg);
    left: 17px;
  }
  .policy-slider-wrap .slick-next:before {
    border-width: 2px 2px 0 0;
    transform: translateY(-50%) rotate(45deg);
    right: 17px;
    left: auto;
  }
  /* LINK BANNER -------------------------------------*/
  .top-link-banner-block {
    margin-top: 5vw;
    margin-bottom: 0;
  }
  .top-link-banner-list {
    width: 100%;
    padding: 19.3236714976vw 6.5217391304vw 20.5314009662vw;
    margin-left: auto;
    margin-right: auto;
    background-color: #F4F4F4;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10.6280193237vw;
  }
  .top-link-banner-item {
    width: 100%;
  }
  .top-link-banner-item__link {
    display: block;
    margin-bottom: 3.8647342995vw;
    transition: opacity 0.2s ease 0s;
  }
  .top-link-banner-item__link > img {
    display: block;
    max-width: 100%;
  }
  .top-link-banner-item__link:hover {
    opacity: 0.8;
  }
  .top-link-banner-item__text {
    font-size: 3.1400966184vw;
    line-height: 1.692;
    color: #666666;
  }
  /* WORKS -------------------------------------*/
  .works-interview-wrap {
    background-image: url(../images/index/works-bg.png);
    background-repeat: repeat;
    background-size: 200px 200px;
  }
  .top-sec-works {
    padding-top: 18.5990338164vw;
    margin-bottom: 26.5700483092vw;
    padding-left: 2.8985507246vw;
    padding-right: 2.8985507246vw;
  }
  .h-works {
    width: 14.7342995169vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 5.7971014493vw;
  }
  .h-works > img {
    display: block;
    max-width: 100%;
  }
  .works-title {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    margin-bottom: 8.2125603865vw;
    text-align: center;
    font-size: 5.7971014493vw;
    color: #fff;
    line-height: 1;
  }
  .top-works-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 12.077294686vw;
    gap: 12.077294686vw 2.4154589372vw;
  }
  .top-works-item {
    width: calc((100% - 2.4154589372vw) / 2);
  }
  .top-works-item__link {
    display: block;
    text-decoration: none;
  }
  .top-works-item__link:hover {
    text-decoration: none;
  }
  .top-works-item__link:hover > .top-works-item__picture > img {
    opacity: 0.8;
  }
  .top-works-item__picture {
    margin-bottom: 3.3816425121vw;
    background-color: #fff;
    aspect-ratio: 300/220;
  }
  .top-works-item__picture > img {
    display: block;
    max-width: 100%;
    transition: opacity 0.2s ease 0s;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .top-works-item__customer {
    margin-bottom: 2.8985507246vw;
    line-height: 1.2;
    font-size: 2.8985507246vw;
    color: #CE940C;
  }
  .top-works-item__title {
    font-size: 2.8985507246vw;
    line-height: 1.8333333333;
    color: #CCCCCC;
  }
  .works-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 77.2946859903vw;
    height: 12.077294686vw;
    margin-left: auto;
    margin-right: auto;
    font-size: 3.6231884058vw;
    line-height: 1;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .works-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 3.1400966184vw;
    top: 50%;
    transform: translateY(-50%);
    width: 2.8985507246vw;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .works-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .works-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }
  /* INTERVIEW -------------------------------------*/
  .top-sec-interview {
    position: relative;
    padding-top: 20.5314009662vw;
    padding-bottom: 24.154589372vw;
    background-image: url(../images/index/interview-bg.png);
    background-repeat: repeat;
    background-size: 72.4637681159vw 72.4637681159vw;
  }
  .interview-inner {
    position: relative;
  }
  .h-interview {
    width: 26.0869565217vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 5.7971014493vw;
  }
  .h-interview > img {
    display: block;
    max-width: 100%;
  }
  .interview-title {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    margin-bottom: 12.077294686vw;
    text-align: center;
    font-size: 5.7971014493vw;
    line-height: 1;
  }
  .top-interview-list {
    margin-bottom: 12.077294686vw;
  }
  .top-interview-item {
    margin-left: 2.4154589372vw;
    margin-right: 2.4154589372vw;
    width: 77.2946859903vw;
  }
  .top-interview-item__link {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-decoration: none;
  }
  .top-interview-item__link:hover {
    text-decoration: none;
  }
  .top-interview-item__link:hover > .top-interview-item__picture > img {
    opacity: 0.8;
  }
  .top-interview-item__picture {
    position: relative;
    border-radius: 2.4154589372vw;
    background-color: #fff;
    overflow: hidden;
    aspect-ratio: 320/220;
    z-index: 1;
  }
  .top-interview-item__picture > img {
    transition: opacity 0.2s ease 0s;
    display: block;
    max-width: 100%;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .interview-text-box {
    position: relative;
    width: 72.4637681159vw;
    min-height: 41.0628019324vw;
    margin-top: -4.8309178744vw;
    margin-left: auto;
    margin-right: auto;
    padding: 7.2463768116vw 3.6231884058vw;
    background-color: #fff;
    z-index: 2;
    border-radius: 2.4154589372vw;
  }
  .interview-text-box__customer {
    font-size: 3.3816425121vw;
    line-height: 1.1;
    color: #4B8199;
    padding-bottom: 3.8647342995vw;
    margin-bottom: 4.8309178744vw;
    border-bottom: 1px solid #E6E6E6;
  }
  .interview-text-box__title {
    font-size: 3.8647342995vw;
    line-height: 1.5625;
  }
  .interview-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 77.2946859903vw;
    height: 12.077294686vw;
    margin-left: auto;
    margin-right: auto;
    font-size: 3.6231884058vw;
    line-height: 1;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .interview-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 3.1400966184vw;
    top: 50%;
    transform: translateY(-50%);
    width: 2.8985507246vw;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .interview-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .interview-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }
  /* LINEUP -------------------------------------*/
  .top-sec-lineup {
    margin-top: 21.7391304348vw;
    margin-bottom: 28.9855072464vw;
  }
  .lineup-inner {
    width: 94.2028985507vw;
    margin-left: auto;
    margin-right: auto;
  }
  .h-lineup {
    width: 35.7487922705vw;
    margin-bottom: 6.038647343vw;
    margin-left: auto;
    margin-right: auto;
  }
  .h-lineup > img {
    display: block;
    max-width: 100%;
  }
  .lineup-title {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    font-size: 5.7971014493vw;
    line-height: 1.5;
    margin-bottom: 9.1787439614vw;
    text-align: center;
  }
  .lineup-items {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 9.6618357488vw;
    margin-bottom: 19.3236714976vw;
  }
  .lineup-item {
    width: 100%;
    padding: 10.8695652174vw 7.2463768116vw 12.077294686vw 7.2463768116vw;
    display: block;
    position: relative;
    text-decoration: none;
    transition: opacity 0.2s ease 0s;
  }
  .lineup-item:hover {
    text-decoration: none;
    opacity: 0.8;
  }
  .lineup-item:hover > .lineup-item__btn::after {
    transform: translateY(-50%) translateX(25%);
  }
  .lineup-item.fullorder {
    background-color: #A24B36;
  }
  .lineup-item.semiorder {
    background-color: #287496;
  }
  .lineup-item__subh {
    width: 42.5120772947vw;
    margin-bottom: 5.3140096618vw;
  }
  .lineup-item__subh > img {
    display: block;
    width: 100%;
    height: auto;
  }
  .lineup-item__image {
    margin-bottom: 5.7971014493vw;
  }
  .lineup-item__image > img {
    display: block;
    max-width: 100%;
  }
  .lineup-item__text {
    margin-bottom: 7.729468599vw;
    font-size: 3.6231884058vw;
    font-weight: 600;
    color: #fff;
    line-height: 1;
    text-align: center;
  }
  .lineup-item__btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 77.2946859903vw;
    height: 12.077294686vw;
    font-size: 3.6231884058vw;
    line-height: 1;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
  }
  .lineup-item__btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 3.1400966184vw;
    top: 50%;
    transform: translateY(-50%);
    width: 2.8985507246vw;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow_blk.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .lineup-item__sub {
    position: absolute;
    top: 3.1400966184vw;
    right: 2.1739130435vw;
    font-size: 1.9323671498vw;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
    writing-mode: vertical-lr;
  }
  .banner-flow {
    display: block;
    width: 91.7874396135vw;
    margin-left: auto;
    margin-right: auto;
    transition: opacity 0.2s ease 0s;
  }
  .banner-flow > img {
    display: block;
    max-width: 100%;
  }
  .banner-flow:hover {
    opacity: 0.7;
  }
  /* ABOUT US -------------------------------------*/
  .top-sec-aboutus {
    margin-top: 28.9855072464vw;
    background-image: url(../images/index/about-bg.png);
    background-repeat: repeat;
    background-size: 200px 200px;
    padding-top: 24.154589372vw;
    padding-bottom: 24.154589372vw;
  }
  .aboutus-inner {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .aboutus-header {
    display: flex;
    flex-direction: column;
  }
  .h-aboutus {
    width: 55.0724637681vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 12.077294686vw;
  }
  .h-aboutus > img {
    display: block;
    max-width: 100%;
  }
  .aboutus-title {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.4154589372vw;
    margin-left: 2.4154589372vw;
    font-size: 5.7971014493vw;
    line-height: 1;
    z-index: 2;
  }
  .aboutus-title > span {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 12.077294686vw;
    padding: 0 0.5em;
    background-color: #fff;
  }
  .aboutus-images {
    position: relative;
    z-index: 1;
    margin-top: -3.8647342995vw;
  }
  .aboutus-images__main {
    width: 91.7874396135vw;
    position: relative;
    z-index: 1;
    margin-left: auto;
    margin-right: 0;
  }
  .aboutus-images__main > img {
    display: block;
    max-width: 100%;
  }
  .aboutus-images__sub {
    width: 36.231884058vw;
    position: relative;
    z-index: 2;
    margin-top: -14.4927536232vw;
  }
  .aboutus-images__sub > img {
    display: block;
    max-width: 100%;
  }
  .aboutus-images__logo {
    width: 26.3285024155vw;
    position: absolute;
    bottom: 4.1062801932vw;
    right: 5.3140096618vw;
  }
  .aboutus-images__logo > img {
    display: block;
    max-width: 100%;
  }
  .aboutus-subsec-message {
    margin-top: 10.6280193237vw;
  }
  .subh-message {
    width: 18.115942029vw;
    margin-bottom: 7.4879227053vw;
    margin-left: auto;
    margin-right: auto;
  }
  .subh-message > img {
    display: block;
    max-width: 100%;
  }
  .message-content {
    width: 86.9565217391vw;
    margin-left: auto;
    margin-right: auto;
  }
  .message-paragraph {
    font-size: 3.3816425121vw;
    line-height: 1.786;
  }
  .message-paragraph + .message-paragraph {
    margin-top: 1.786em;
  }
  .message-paragraph > br {
    display: none;
  }
  .message-paragraph > br.spbr {
    display: inline;
  }
  .message-links {
    width: 77.2946859903vw;
    margin-top: 15.7004830918vw;
    margin-left: auto;
    margin-right: auto;
  }
  .message-link-item {
    border-bottom: 1px solid #666666;
  }
  .message-link-item > a {
    position: relative;
    padding-right: 0px;
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    display: block;
    font-size: 4.1062801932vw;
    line-height: 1;
    padding: 5.0724637681vw 0 5.0724637681vw 1.9323671498vw;
    text-decoration: none;
  }
  .message-link-item > a::after {
    content: "";
    display: block;
    position: absolute;
    right: 3.8647342995vw;
    top: 50%;
    transform: translateY(-50%);
    width: 2.8985507246vw;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .message-link-item > a:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .message-link-item > a::after {
    background-image: url(../images/common/btn_arrow_blk.svg);
  }
  .message-link-item > a:hover {
    text-decoration: underline;
    text-underline-offset: 0.25em;
    text-decoration-thickness: 1px;
  }
  .message-link-item + .message-link-item {
    margin-top: 2.4154589372vw;
  }
  .aboutus-subsec-blog {
    margin-top: 21.7391304348vw;
  }
  .blog-inner {
    width: 94.2028985507vw;
    margin-left: auto;
    margin-right: auto;
  }
  .subh-blog {
    width: 22.9468599034vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4.347826087vw;
  }
  .subh-blog > img {
    display: block;
    max-width: 100%;
  }
  .subh-blog-ja {
    font-weight: 600;
    font-family: "Shippori Mincho", serif;
    margin-bottom: 7.729468599vw;
    font-size: 4.8309178744vw;
    line-height: 1;
    text-align: center;
  }
  .blog-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 9.6618357488vw;
    gap: 4.8309178744vw 2.4154589372vw;
  }
  .blog-item {
    width: calc(50% - 1.2077294686vw);
  }
  .blog-item__link {
    display: block;
    text-decoration: none;
    background-color: #fff;
    height: 100%;
    min-height: 64.2512077295vw;
    padding-bottom: 3.8647342995vw;
  }
  .blog-item__link:hover {
    text-decoration: none;
  }
  .blog-item__link:hover > .blog-item__picture > img {
    opacity: 0.8;
  }
  .blog-item__picture {
    margin-bottom: 4.347826087vw;
    background-color: #fff;
    width: 100%;
    aspect-ratio: 190/136;
  }
  .blog-item__picture > img {
    display: block;
    max-width: 100%;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: opacity 0.2s ease 0s;
  }
  .blog-item__date {
    margin-bottom: 2.8985507246vw;
    line-height: 1;
    font-size: 2.8985507246vw;
    color: #4B8199;
    padding-left: 3.8647342995vw;
    padding-right: 3.8647342995vw;
  }
  .blog-item__title {
    font-size: 2.8985507246vw;
    line-height: 1.667;
    color: #666666;
    padding-left: 3.8647342995vw;
    padding-right: 3.8647342995vw;
  }
  .blog-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 77.2946859903vw;
    height: 12.077294686vw;
    margin-left: auto;
    margin-right: auto;
    font-size: 3.6231884058vw;
    line-height: 1;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .blog-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 3.1400966184vw;
    top: 50%;
    transform: translateY(-50%);
    width: 2.8985507246vw;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .blog-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .blog-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }

#faq {width: 92.8%; margin: 12vw auto 15vw; position: relative;}
#faq .en-txt{ margin: 0 39vw 3vw; }
#faq h2 {font-size: 8vw; line-height: 1.6; font-weight: 300; letter-spacing: 0.3vw; text-align: center; margin-bottom: 3vw; padding-bottom: 10vw; border-bottom: 1px solid #999; font-family: "Shippori Mincho", serif;}
#faq .top-bx {margin-top: 15vw; margin-bottom: 20vw;}
#faq .top-ttl {font-size: 4.6vw; font-weight: bold; letter-spacing: 0.2vw; line-height: 1.8; background: #f2f2f2; display: block; width: 90%; margin: 0 auto 2vw; text-align: center; padding: 2vw 0;}
#faq .faq-sy-box {width: 90vw; margin: 0 auto 10vw;}
#faq .faq-sy-box .list .wysiwyg {margin-bottom: 0;}
#faq .faq-sy-box .list li {border-bottom: 1px solid #999; border-top: 1px solid #fff;}
/* 質問エリア */
#faq .faq-sy-box .list .sy-ttl {padding: 4.106vw 14.734vw 3.623vw 15vw; position: relative; font-weight: 400; font-size: 3.8vw; letter-spacing: 0.05em; line-height: 1.8; text-align: left; color: #2b2827; cursor: pointer;}
#faq .faq-sy-box .list .sy-ttl::before {content: "Q"; position: absolute; left: 3vw; padding: 1vw 2vw; color: #fff; background: #124C65; font-size: 4vw; font-weight: bold; letter-spacing: 0.2vw; line-height: 1.6;}
/* 回答エリア（初期は非表示） */
#faq .faq-sy-box .sy-a-txt {display: none; padding: 5.072vw 5.797vw 5.072vw 18vw; font-weight: 400; font-size: 3.665vw; letter-spacing: 0.05em; line-height: 1.6; text-align: left; color: #2b2827; position: relative;}
#faq .faq-sy-box .sy-a-txt::before {content: "A"; position: absolute; left: 8vw; padding: 1vw 2vw; color: #124C65; background: #fff; border: 1px solid #124C65; font-size: 4vw; font-weight: bold; letter-spacing: 0.2vw; line-height: 1.6;}
/* アイコン・アニメーション */
#faq .faq-sy-box .sy-ttl .toggle_btn {background-image: url(../images/page-common/sp-sy-icon-b.png); background-repeat: no-repeat; background-position: center 0; background-size: cover; width: 9.903vw; height: 9.903vw; position: absolute; top: 2.806vw; right: 2.657vw; transition: transform 0.3s;}
#faq .faq-sy-box .sy-ttl.selected .toggle_btn {transform: rotate(180deg);}
#faq .faq-sy-box .sy-a-ttl {font-size: 5.6VW; font-weight: bold; letter-spacing: 0.2vw; line-height: 1.8; text-align: center; margin-bottom: 2vw;}
  .faq-more-btn {
    font-weight: 400;
    font-family: "Shippori Mincho", serif;
    position: relative;
    padding-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 77.2946859903vw;
    height: 12.077294686vw;
    margin-left: auto;
    margin-right: auto;
    font-size: 3.6231884058vw;
    line-height: 1;
    background-color: #1A1A1A;
    color: #fff;
    transition: opacity 0.2s ease 0s;
    text-decoration: none;
  }
  .faq-more-btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 3.1400966184vw;
    top: 50%;
    transform: translateY(-50%);
    width: 2.8985507246vw;
    aspect-ratio: 1/1;
    background-image: url(../images/common/btn_arrow.svg);
    background-size: contain;
    background-position: center center;
    transition: transform 0.2s ease 0s;
  }
  .faq-more-btn:hover::after {
    transform: translateY(-50%) translateX(25%);
  }
  .faq-more-btn:hover {
    opacity: 0.8;
    text-decoration: none;
  }

#con03{ width: 88vw; margin: 0 auto 14vw; }
#con03 .en-txt{ text-align: center; margin: 0 32vw 0vw; }
#con03 .ttl{ text-align: center; font-size: 7.8vw; font-weight: 550; line-height: 1.8; margin-bottom: 6vw; font-family: "Shippori Mincho", serif;  }
#con03 .box1, #con03 .box2 { margin-bottom: 8vw; }
#con03 .pic { width: 100%; margin: 0 0 3vw; line-height: 0; }
#con03 .pic img { width: 100%; height: auto; object-fit: cover; }
#con03 .map-box { width: 100%; height: 43vw; margin-bottom: 3vw; }
#con03 .map-box iframe { width: 100%; height: 100%; border: none; }
#con03 .txt-box { width: 100%; }
#con03 .txt1 { font-size: 3.5vw; font-weight: 400; margin-bottom: 1.2vw; line-height: 1.6; letter-spacing: 0.1vw; }
#con03 .txt2 { font-size: 3.5vw; line-height: 1.6; margin-top: 2.4vw; }
#con03 .txt3 { font-size: 3.5vw; line-height: 1.6; margin-top: 2.4vw; }


}