body {
    background: #F2E8D7;
}
/* foot symbol */
.foot-symbol {
    display: block;
    height: 466px;
    opacity: 1;
    position: absolute;
	clip-path: inset(100% 0 0 0); /* 全部隠す（下から） */
	transition: clip-path 1s ease-out;
    width: 416px;
    z-index: 1;
}
.fv .foot-symbol {
    right: 30px;
    bottom: -26px;
}
.time .foot-symbol {
    right: 0;
    top: 200px;
}
.access .foot-symbol {
    right: 0;
    top: -350px;
}
@media screen and (max-width: 968px) {
    .time .foot-symbol,
    .access .foot-symbol {
        display: none;
    }
}
/* 表示領域に入ったら発火 */
.foot-symbol.is-show {
	clip-path: inset(0 0 0 0);
}
/* fv */
.fv {
    /*padding: 26px 30px 0 0;*/
    padding: 26px 30px 0;
    position: relative;
}
.fv-image {
    /*border-radius: 0 30px 30px 0;*/
    border-radius: 30px;
    line-height: 0;
    overflow: hidden;
}
.fv-text {
    position: absolute;
    top: calc(30px + 37px);
    left: 0;
    width: 100%;
    max-width: max-content;
}
.fv-text h1 {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.fv-text h1 span {
    background: #fff;
    color: #AC8F5E;
    font-family: var(--ft-zen);
    font-size: 63.5px;
    font-weight: 700;
    letter-spacing: 0.18em;
    padding: 8px 10px 8px 35px;
    width: 100%;
    max-width: max-content;
}
.fv-text p {
    color: #fff;
    font-family: var(--ft-out);
    font-size: 34px;
    font-weight: 400;
    letter-spacing: 0.04em;
    margin: 15px 0 0;
    text-align: center;
}
.fv-eyecatch {
    line-height: 0;
    position: absolute;
    left: 48px;
    bottom: 30px;
    width: 100%;
    max-width: 830px;
}
@media screen and (max-width: 1268px) {
    .foot-symbol {
        height: 395px;
        right: 30px;
        bottom: -26px;
        width: 355px;
    }
    .fv-text {
        top: calc(30px + 37px);
    }
    .fv-text h1 {
        gap: 10px;
    }
    .fv-text h1 span {
        font-size: 40px;
        padding: 8px 10px 8px 25px;
    }
    .fv-text p {
        font-size: 22px;
        margin: 12px 0 0;
        
    }
    .fv-eyecatch {
        left: 48px;
        bottom: 30px;
        max-width: 560px;
    }
}
@media screen and (max-width: 968px) {
    .fv {
        margin: 0;
        padding: 84px 0 0 0;
    }
    .foot-symbol {
        height: 190px;
        right: 10px;
        bottom: 0;
        top: 285px;
        width: 164px;
    }
    .fv-image {
        height: 371px;
        width: 94%;
        margin: 0 auto;
    }
    .fv-image__in {
        height: 100%;
        width: 100%;
    }
    .fv-image img {
        height: 100%;
        object-fit: cover;
        width: 100%;
    }
    .fv-text {
        top: 58px;
    }
    .fv-text h1 {
        gap: 10px;
    }
    .fv-text h1 span {
        font-size: 30px;
        padding: 5px 0 5px 12px;
    }
    .fv-text p {
        font-size: 14px;
        margin: 10px 0 0;
    }
    .fv-eyecatch {
        margin: 25px auto 0;
        position: static;
        width: 80%;
        max-width: 100%;
    }
}
@media screen and (max-width: 368px) {
    .fv-text h1 span {
        font-size: 26px;
    }
}

/* newstop */
.newstop {
    background: url(../../images/new/wave-bg.png) no-repeat;
    background-position: center bottom;
    background-size: 1920px;
    padding: 100px 0 calc(100px + 143px);
}
.newstop-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 1011px;
}
.newstop-item {
    border-bottom: 1px solid #948E87;
}
.newstop-item a {
    display: block;
    padding: 24px 0 14px;
}
.newstop-item__top,
.newstop-cat {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.newstop-date {
    color: #524F4D;
    font-family: var(--ft-out);
    font-size: 16px;
    font-weight: 400;
    margin-right: 15px;
}
.newstop-cat {
    gap: 8px;
}
.cat {
    background: #BBB1A0;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    height: 24px;
    padding: 0 20px;
    width: 100%;
    max-width: max-content;
}
.newstop-ttl {
    font-size: 16px;
    font-weight: 500;
    overflow: hidden;
    padding: 10px 34px 10px 0;
    position: relative;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.newstop-ttl::after {
    background: url(../../images/new/icon-solid-arrow-r-w.svg) no-repeat;
    background-position: center;
    background-size: 6px;
    background-color: var(--main-theme-color);
    border-radius: 50%;
    content: "";
    height: 24px;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 24px;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {
    .newstop {
        background-image: url(../../images/new/wave-bg-sp.png);
        background-size: 100% 50px;
        padding: 55px 0 calc(70px + 50px);
    }
    .newstop-date {
        font-size: 12px;
        margin-right: 12px;
    }
    .newstop-cat {
        gap: 8px;
    }
    .cat {
        font-size: 12px;
        height: 20px;
        padding: 0 15px;
    }
    .newstop-ttl {
        font-size: 12px;
        font-weight: 500;
    }
}

/* time */
.time {
    background: #F9F3EB;
    padding: 60px 0;
    position: relative;
}
.time-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 809px;
}
.time-image {
    line-height: 0;
    margin: 0 0 15px;
}
.time-body p {
    color: #524F4D;
    font-size: 14px;
    font-weight: 500;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* loopslider */
.loopsliders {
    background: url(../../images/new/wave-bg2.png) no-repeat;
    background-color: #F9F3EB;
    background-position: center bottom;
    background-size: 1920px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 0 0 223px;
	position: relative;
	overflow: hidden;
	width: 100%;
}
.loopslider-top,
.loopslider-bottom {
	display: flex;
	white-space: nowrap;
    gap: 40px;
}
.loopslider {
	flex: 0 0 auto;
}
.loopslider img {
	display: block;
	width: 2356px;
	height: auto;
}
.loopslide {
    line-height: 0;
}
.loopslider-top {
	animation: loopRightToLeft 30s linear infinite;
}
.loopslider-bottom {
	animation: loopLeftToRight 30s linear infinite;
}
@keyframes loopRightToLeft {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}
@keyframes loopLeftToRight {
	from {
		transform: translateX(-50%);
	}
	to {
		transform: translateX(0);
	}
}
@media screen and (max-width: 968px) {
    .loopsliders {
        background: url(../../images/new/wave-bg2-sp.png) no-repeat;
        background-color: #F9F3EB;
        background-position: center bottom;
        background-size: 100%;
        padding: 0 0 148px;
    }
    .loopslider {
        width: 820px;
    }
}
@media screen and (max-width: 768px) {}

/* block */
.block-head {
    margin: 0 0 50px;
    text-align: center;
}
.block-head p {
    color: var(--main-theme-color);
    font-family: var(--ft-out);
    font-size: 56px;
    font-weight: 600;
}
.block-head h2 {
    font-size: 16px;
    font-weight: 700;
}
@media screen and (max-width: 968px) {
    .block-head {
        margin: 0 0 35px;
    }
    .block-head p {
        font-size: 36px;
    }
    .block-head h2 {
        font-size: 12px;
    }
}
@media screen and (max-width: 768px) {}

/* greeting */
.greeting {
    background: #F9F3EB;
    padding: 100px 0 200px;
}
.greeting-inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1520px;
}
.greeting-head {
    margin: 0 0 75px;
    text-align: left;
}
.greeting-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.greeting-image {
    flex: 1;
    line-height: 0;
    margin-left: calc(50% - 50vw);
    margin-right: 50px;
}
.greeting-text {
    padding-right: 4%;
    width: 60%;
}
.greeting-text h3 {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0 0 50px;
}
.greeting-text h3 span {
    background: #fff;
    color: var(--main-theme-color);
    display: inline-block;
    font-family: var(--ft-zen);
    font-size: 40px;
    font-weight: 700;
    padding: 5px 15px;
    width: 100%;
    max-width: max-content;
}
.greeting-txt {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.7em;
}
.signiture {
    display: flex;
    justify-content: flex-end;
    margin: 40px 0 0;
}
.signiture p {
    font-size: 22px;
    font-weight: 500;
}
.signiture span {
    font-size: 14px;
    font-weight: 500;
}
.greeting-profile {
    background: #fff;
    border-radius: 30px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 70px;
    margin: 70px auto 0;
    padding: 80px 75px;
    width: 100%;
}
.greeting-profile__column h3 {
    border-bottom: 1px dotted var(--main-theme-color);
    color: var(--main-theme-color);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 15px;
    padding: 0 0 5px;
}
.greeting-profile__column h3::before {
    background: url(../../images/new/icon-foot-symbol-g.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 23px;
    margin-right: 10px;
    width: 23px;
}
.greeting-profile__column ul {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.greeting-profile__column ul li dl {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
}
.greeting-profile__column ul li {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 5px;
}
.greeting-profile__column ul li::before {
    content: "・";
    color: #E9DBC2;
}
.greeting-profile__column ul li p,
.greeting-profile__column ul li dt,
.greeting-profile__column ul li dd {
    font-size: 16px;
    font-weight: 500;
}
.greeting-profile__column ul li dt {
    width: 80px;
}
.greeting-profile__column ul li dd {
    width: calc(100% - 80px);
}
@media screen and (max-width: 1468px) {
    .greeting-text {
        width: 40%;
    }
    .greeting-text h3 span {
        font-size: 32px;
    }
    .greeting-txt {
        font-size: 16px;
    }
    .greeting-profile {
        gap: 50px;
        margin: 50px auto 0;
        padding: 50px 45px;
    }
}
@media screen and (max-width: 968px) {
    .greeting {
        padding: 70px 0 100px;
    }
    .greeting-head {
        margin: 0 0 45px;
        text-align: center;
    }
    .greeting-image {
        flex: inherit;
        margin: 0 0 50px;
        width: 100%;
    }
    .greeting-text {
        margin: 0 auto;
        width: 92%;
    }
    .greeting-text h3 {
        margin-left: -4%;
        gap: 12px;
    }
    .greeting-text h3 span {
        font-size: 24px;
    }
    .greeting-txt {
        font-size: 14px;
    }
    .signiture p {
        font-size: 16px;
    }
    .greeting-profile {
        grid-template-columns: 1fr;
        margin: 40px auto 0;
        padding: 50px 25px;
        width: 92%;
    }
    .greeting-profile__column h3 {
        font-size: 16px;
    }
    .greeting-profile__column ul li p,
    .greeting-profile__column ul li dt,
    .greeting-profile__column ul li dd {
        font-size: 14px;
    }
    .greeting-profile__column ul li dt,
    .greeting-profile__column ul li dd {
        width: 100%;
    }
}
@media screen and (max-width: 768px) {}

/* price */
.price {
    padding: 65px 0 115px;
}
.price-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 1036px;
}
.price-head {
    margin: 0 auto 80px;
}
.price-tab__head {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 20px;
}
.price-tab__btn {
    background: #fff;
    border: 1px solid #AC8F5E;
    border-bottom: 0;
    border-radius: 20px 20px 0 0;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 86px;
    width: 233px;
}
.price-tab__btn.active {
    background: var(--main-theme-color);
}
.price-tab__btn p {
    color: var(--main-theme-color);
    font-size: 22px;
    font-weight: 700;
}
.price-tab__btn.active p {
    color: #fff;
}
.price-tab__body {
    border: 1px solid var(--main-theme-color);
    border-radius: 0 32px 32px 32px;
    overflow: hidden;
}
.price-tab__panel {
    background: #fff;
    display: none;
    padding: 5px 0 30px;
}
.price-tab__panel.show {
    display: block;
}
.price-tab__panel ul li {
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 69px;
    padding: 0 40px;
    width: 100%;
}
.price-tab__panel ul li:nth-child(even) {
    background: #F9F3EB;
}
.price-tab__panel ul li p {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 22px;
    font-weight: 500;
}
.price-tab__panel ul li p:first-child::before {
    background: url(../../images/new/icon-foot-symbol-g.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 12px;
    margin-right: 10px;
    width: 14px;
}
@media screen and (max-width: 968px) {
    .price {
        padding: 70px 0 100px;
    }
    .price-head {
        margin: 0 auto 45px;
    }
    .price-tab__head {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 7px;
        row-gap: 5px;
        margin: 0 0 15px;
    }
    .price-tab__btn {
        border-bottom: 1px solid #AC8F5E;
        border-radius: 50px;
        height: 35px;
        width: 100%;
    }
    .price-tab__btn p {
        font-size: 14px;
    }
    .price-tab__body {
        border-radius: 20px;
    }
    .price-tab__panel ul li {
        height: 49px;
        padding: 0 25px;
    }
    .price-tab__panel ul li p {
        font-size: 10px;
    }
}
@media screen and (max-width: 768px) {}

/* access */
.access {
    background: #F9F3EB;
    padding: 125px 0 115px;
    position: relative;
}
.access-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 1520px;
}
.access-head {
    margin: 0 auto 80px;
}
.access-body {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.access-left {
    border-radius: 30px;
    overflow: hidden;
    margin-right: 70px;
    width: calc(100% - 670px);
}
.access-right {
    width: 600px;
}
.access-map,
.access-map iframe {
    height: 100%;
    width: 100%;
}
.access-info {
    font-size: 18px;
    font-weight: 500;
    line-height: 2em;
    margin: 0 0 15px;
}
.access-map__link {
    color: #948E87;
    display: flex;
    justify-content: flex-start;
    align-items: center; 
    font-family: var(--ft-out);
    font-size: 16px;
    font-weight: 400;
}
.access-map__link::after {
    background: url(../../images/new/icon-arrow-link.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 11px;
    margin-left: 10px;
    width: 10px;
}
.access-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin: 40px 0 0;
}
.access-list__item dt {
    border-bottom: 1px dashed var(--main-theme-color);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 0 15px;
    padding: 0 0 10px;
}
.access-list__item dt::before {
    background: url(../../images/new/icon-foot-symbol-g.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 17px;
    margin-right: 10px;
    width: 19px;
}
.access-list__item dt p {
    color: var(--main-theme-color);
    font-size: 18px;
    font-weight: 500;
}
.access-list__item dd {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.access-list__item dd p {
    font-size: 16px;
    font-weight: 500;
}
@media screen and (max-width: 1268px) {
    .access-left {
        margin-right: 35px;
        width: calc(100% - 435px);
    }
    .access-right {
        width: 400px;
    }
}
@media screen and (max-width: 968px) {
    .access {
        padding: 70px 0 95px;
    }
    .access-head {
        margin: 0 auto 40px;
    }
    .access-left {
        aspect-ratio: 16 / 9;
        margin: 0 0 25px;
        width: 100%;
    }
    .access-right {
        width: 100%;
    }
    .access-info {
        font-size: 14px;
    }
    .access-list {
        gap: 45px;
        margin: 70px 0 0;
    }
    .access-list__item dt p {
        font-size: 16px;
    }
    .access-list__item dd p {
        font-size: 14px;
    }
}
@media screen and (max-width: 768px) {}

.access-streetviews {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    margin: 70px 0 0;
}

.access-streetviews__item {
    flex: 1;
    border-radius: 30px;           /* ←アクセス画像と統一 */
    overflow: hidden;              /* ←角丸反映ここで必要 */
    aspect-ratio: 16/9;            /* 高さ揃う */
}

.access-streetviews__item iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

/* SP */
@media screen and (max-width: 968px) {
    .access-streetviews {
        flex-direction: column;
        gap: 25px;
        margin: 40px 0 0;
    }
}


/* flow */
.flow {
    background: url(../../images/new/wave-bg3.png) no-repeat, url(../../images/new/flow-bg.jpg) no-repeat;
    background-position: center bottom, center top;
    background-size: 1920px, cover;
    padding: 100px 0 223px;
}
.flow-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 1120px;
}
.flow-head {
    margin: 0 0 60px;
}
.flow-items {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 28px;
}
.flow-item {
    background: #fff;
    border-radius: 30px;
    padding: 65px 30px 60px;
    position: relative;
    width: calc((100% - (28px * 2)) / 3);
}
.flow-item__eyecatch {
    background: var(--main-theme-color);
    border-radius: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 58px;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: calc((58px / 2) * -1);
    text-align: center;
    width: 212px;
}
.flow-item__eyecatch p {
    color: #fff;
    font-size: 26px;
    font-weight: 600;
}
.flow-item__image {
    line-height: 0;
    height: 290px;
    margin: 0 auto 25px;
    text-align: center;
    width: 100%;
}
.flow-item__image img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}
.flow-item__text p {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.7em;
}
.flow-item__text p span {
    color: var(--main-theme-color);
    font-weight: 900;
}
@media screen and (max-width: 968px) {
    .flow {
        background: url(../../images/new/wave-bg3-sp.png) no-repeat, url(../../images/new/flow-bg.jpg) no-repeat;
        background-position: center bottom, center top;
        background-size: 100%, cover;
        padding: 80px 0 100px;
    }
    .flow-head {
        margin: 0 0 92px;
    }
    .flow-items {
        gap: 48px;
    }
    .flow-item {
        padding: 48px 30px 40px;
        width: 100%;
    }
    .flow-item__eyecatch {
        height: 52px;
        top: calc((52px / 2) * -1);
        width: 193px;
    }
    .flow-item__eyecatch p {
        font-size: 20px;
    }
    .flow-item__text p {
        font-size: 14px;
    }
}
@media screen and (max-width: 768px) {}

/* news */
.news {
    background: url(../../images/new/wave-bg4.png) no-repeat, #fff;
    background-position: center bottom, center;
    background-size: 1920px, cover;
    margin-top: -1px;
    padding: 66px 0 223px;
}
.news-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 998px;
}
.news-head {
    margin: 0 0 58px;
}
.news-items {
    border-top: 1px dashed #948E87;
}
.news-item {
    border-bottom: 1px dashed #948E87;
}
.news-item a {
    display: block;
    padding: 24px 110px 14px 20px;
    position: relative;
}
.news-item a::after {
    background: url(../../images/new/icon-solid-arrow-r-w.svg) no-repeat;
    background-position: center;
    background-size: 10.5px;
    background-color: var(--main-theme-color);
    border-radius: 50%;
    content: "";
    height: 42px;
    margin: auto;
    position: absolute;
    right: 60px;
    top: 0;
    bottom: 0;
    width: 42px;
}
.news-item__top {
    margin: 0 0 15px;
}
.news-item__top,
.news-cat {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.news-date {
    color: #524F4D;
    font-family: var(--ft-out);
    font-size: 16px;
    font-weight: 400;
    margin-right: 15px;
}
.news-cat {
    gap: 8px;
}
.news-ttl {
    font-size: 16px;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.news-btn {
    height: 78px;
    margin: 55px 0 0 auto;
    width: 239px;
}
.news-btn a {
    background: var(--main-theme-color);
    border-radius: 50px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    font-weight: 500;
    height: 100%;
    width: 100%;
}
.news-btn a::after {
    background: url(../../images/new/icon-solid-arrow-r-g.svg) no-repeat;
    background-position: center;
    background-size: 10.5px;
    background-color: #fff;
    border-radius: 50%;
    content: "";
    display: block;
    height: 42px;
    margin-left: 20px;
    width: 42px;
}
@media screen and (max-width: 968px) {
    .news {
        background: url(../../images/new/wave-bg4-sp.png) no-repeat, #fff;
        background-position: center bottom, center;
        background-size: 100%, cover;
        padding: 55px 0 130px;
    }
    .news-head {
        margin: 0 0 55px;
    }
    .news-item a {
        padding: 24px 45px 14px 0;
    }
    .news-item a::after {
        background-size: 6px;
        height: 24px;
        right: 0;
        width: 24px;
    }
    .news-item__top {
        margin: 0 0 12px;
    }
    .news-date {
        font-size: 12px;
    }
    .news-ttl {
        font-size: 12px;
    }
    .news-btn {
        height: 64px;
        width: 213px;
    }
    .news-btn a {
        font-size: 16px;
    }
    .news-btn a::after {
        background-size: 7px;
        height: 28px;
        width: 28px;
    }
}

.footer-payment-blocks {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 90px auto 0;
    width: 92%;
    max-width: 1400px;
    gap: 80px;
}

/* 左（決済）を大きめエリア / 右（保険）を細めエリアにする */
.footer-pay {
    flex: 2;
}
.footer-insurance {
    flex: 1;
}

/* 見出し */
.footer-pay h3,
.footer-insurance h3 {
    color: var(--main-theme-color);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 28px;
}

/* ←ここが本命：決済ロゴ大きめ */
.footer-pay__logos img {
    height: 200px;        /* ←指定どおり 200px */
    object-fit: contain;
}

/* 保険はそのままより少し控えめ */
.footer-insurance__logos img {
    height: 60px;
    object-fit: contain;
}

/* SP */
@media (max-width: 768px) {
    .footer-payment-blocks {
        flex-direction: column;
        gap: 50px;
    }
    .footer-pay__logos img {
        height: 120px;
    }
    .footer-insurance__logos img {
        height: 48px;
    }
}

/* PC：左側を上の要素と揃える（＝左寄せ）*/
.footer-payment-blocks {
    justify-content: flex-start; /* ←中央→左寄せ */
}

/* footer-pay のロゴも中央寄せじゃなく左揃え */
.footer-pay__logos {
    text-align: left;
}


/* SP：footer-pay を 100%幅 */
@media (max-width: 768px) {
    .footer-pay {
        width: 100%;
    }
}

/* 保険ロゴの間隔 広げる */
.footer-insurance__logos {
    display: flex;
    flex-wrap: wrap;
    padding-top: 20px;
    gap: 35px; /* ← 間隔ここで調整。もっと広ければ40〜50でもOK */
}


/* SP：中央揃えにする */
@media (max-width: 768px) {
    .footer-insurance__logos {
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 768px) {

    /* 支払い方法：２段／幅広げる */
    .footer-pay__logos {
        display: flex;
        flex-wrap: wrap;            /* ←２段化 */
        justify-content: center;
        gap: 24px;
    }

    .footer-pay__logos img {
        flex: 0 0 45%;              /* ←１列２個並び → 45%幅 */
        height: 200px;              /* SPの時でも大きめ */
        object-fit: contain;
    }


    /* 保険：大きく＆中央 */
    .footer-insurance__logos {
        justify-content: center;
        gap: 30px;
    }

    .footer-insurance__logos img {
        height: 80px;               /* ←今より大きい */
        object-fit: contain;
    }
}

/* ================================
   ACCESS 動画（SPで隠れない安定バージョン）
================================ */
.access-video {
    width: 100%;
    margin-bottom: 20px;
}

.access-video__frame {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}

/* 高さは aspect-ratio のみで決定 → positionは使わない */
.access-video__frame iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    display: block;
    border: none;
}


/* ================================
   Google Map（動画と統一・同じ仕組み）
================================ */
.access-map {
    width: 100%;
    margin-top: 20px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}

.access-map iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    display: block;
    border: none;
}
/* SPで .access-left の aspect-ratio を無効化する（最重要） */
@media screen and (max-width: 968px) {
    .access-left {
        aspect-ratio: auto !important;
        height: auto !important;
    }
}


@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}