.s-main {
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-size: var(--fz-16);
}

.s-lowerTitle {
    font-size: 32px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 950 / 200;
    background-color: var(--c-yellow01);
    text-align: center;
    padding-inline: 10px;
}

.s-lowerSectinTitle {
    font-size: 32px;
    font-weight: bold;
    padding-top: var(--spc-20);
    margin-bottom: var(--spc-lg);
    text-align: center;
    position: relative;
}

.s-lowerSectinTitle span {
    width: 60px;
    height: 2px;
    background-color: #F6FF2F;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.s-lowerSectinTitle span::before,
.s-lowerSectinTitle span::after {
    content: "";
    width: 20px;
    height: 2px;
    background-color: var(--c-yellow-400);
    position: absolute;
    top: 0;
}

.s-lowerSectinTitle span::before {
    background-color: var(--c-blue02);
    left: 0;
}

.s-lowerSectinTitle span::after {
    background-color: var(--c-red01);
    right: 0;
}

.s-heading__fz24 {
    font-size: var(--fz-24);
    font-weight: bold;
    margin-bottom: var(--spc-20);
}

.s-heading__fz24.--s-mb30 {
    margin-bottom: var(--spc-30);
}

.s-textCenter {
    text-align: center;
}

.s-textBold {
    font-weight: bold;
}

.s-textSmall {
    font-size: var(--fz-14);
}

.s-textSmall__box{
    display: block;
    margin-top: var(--spc-15);
}

.s-mgb--10 {
    margin-bottom: var(--spc-10);
}

.s-mgb--20 {
    margin-bottom: var(--spc-20);
}

.s-mgb--30 {
    margin-bottom: var(--spc-30);
}

.s-headingNumber {
    line-height: 1.4;
    font-size: var(--fz-50);
    color: var(--ranking-c-1st);
    font-family: var(--ff-zen-mincho);
}

.s-headingNumber.--blue {
    color: var(--c-blue01);
}

.s-btn {
    margin-top: var(--spc-lg);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spc-lg);
}

.s-btn a {
    color: var(--c-white);
    font-size: var(--fz-14);
    font-weight: bold;
    max-width: 250px;
    width: 100%;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--c-blue01);
    border-radius: 25px;
}

.s-image {
    position: relative;
}

.s-image img {
    border-radius: var(--bdrs-md);
    aspect-ratio: 1;
    object-fit: cover;
}

.s-image.--3x2 img {
    aspect-ratio: 3/2;
}

.s-image__badge {
    width: 100px;
    aspect-ratio: 1;
    position: absolute;
    bottom: 10px;
    right: 10px;
}

.s-image__badge img {
    border-radius: 50%;
}

.s-image.--arrow {
    position: relative;
}

.s-image.--arrow::after {
    content: "";
    width: clamp(20px, 2vw, 30px);
    height: clamp(20px, 2vw, 30px);
    border-right: 2px solid var(--c-blue01);
    border-bottom: 2px solid var(--c-blue01);
    position: absolute;
    top: 50%;
    right: -3%;
    transform: translateY(-50%) rotate(-45deg);
}

.s-movie {
    max-width: 750px;
    margin-inline: auto;
}

.s-movie iframe {
    max-width: 750px;
    width: 100%;
    height: auto;
    aspect-ratio: 530 /315;
    border: none;
}

.s-bg {
    padding: var(--spc-lg);
    background-color: var(--c-yellow01);
    border-top-left-radius: 50px;
    border-bottom-right-radius: 50px;
}

/* flex */
.s-flex {
    display: flex;
    gap: var(--spc-20);
}

.s-flex.--reverse {
    flex-direction: row-reverse;
}

.s-flex_Equal {
    flex: 1 1 0%;
}

.s-flex_w33 {
    width: 33%;
}

.s-flex_w40 {
    width: 40%;
}

.s-flex_w50 {
    width: 50%;
}

.s-flexStep {
    display: flex;
    gap: var(--spc-50);
}

.s-flexStep > * {
    width: 50%;
}

.s-flexStep > :first-child {
    position: relative;
}

.s-flexStep > :first-child::after {
    content: "";
    width: clamp(20px, 2vw, 30px);
    height: clamp(20px, 2vw, 30px);
    border-right: 2px solid var(--c-blue01);
    border-bottom: 2px solid var(--c-blue01);
    position: absolute;
    top: 50%;
    right: -7%;
    transform: translateY(-50%) rotate(-45deg);
}

/* 点線ボーダー */
.s-borderDot {
    margin-top: var(--spc-20);
    padding-top: var(--spc-20);
    border-top: 1px solid transparent;
    border-image: repeating-linear-gradient(to right,var(--c-blue01) 0 2px,transparent 0 6px) 3;
}

/* バナーアイテム */
.s-bnrItems {
    display: flex;
    gap: var(--spc-20);
}

.s-bnrItems__left,
.s-bnrItems__right {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: var(--spc-20);
    justify-content: space-between;
    margin-inline: auto;
}

/* LINEボタン */
.s-bnrLine {
    display: flex;
    padding: var(--spc-20);
    align-items: center;
    gap: var(--spc-10);
    background-color: var(--c-yellow01);
    max-width: 468px;
    aspect-ratio: 465 / 150;
    margin-inline: auto;
    justify-content: center;
}

.s-bnrLine__icon {
    width: 20%;
}

.s-bnrLine__qr {
    width: 23%;
}

.s-bnrLine__icon img {
    border-radius: 20%;
}

.s-bnrLine__text {
    font-size: var(--fz-18);
    font-weight: bold;
    color: var(--c-green01);
    letter-spacing: 0;
    white-space: nowrap;
}

.s-bnrLine_id {
    color: var(--c-green01);
    font-weight: bold;
    background-color: var(--c-white);
    text-align: center;
    margin-top: var(--spc-10);
    border-radius: var(--bdrs-md);
    padding: 4px;
}

/* メールボタン */
.s-bnrMail {
    max-width: 468px;
    width: 100%;
    height: 100px;
    margin-inline: auto;
}

.s-bnrMail a {
    margin-inline: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--c-yellow01);
    padding: var(--spc-20);
    gap: var(--spc-30);
    font-size: var(--fz-18);
    font-weight: bold;
    height: 100%;
    letter-spacing: 0;
}

.s-bnrMail a::before {
    content: "";
    display: inline-block;
    width: 17%;
    min-width: 30px;
    aspect-ratio: 31 / 23;
    background: var(--mail) no-repeat center center / 100%;
}

/* CEO */
.s-bnrCeo {
    max-width: 468px;
    height: 100%;
    margin-inline: auto;
    padding-top: var(--spc-15);
    padding-inline: var(--spc-15);
    display: flex;
    background:
    linear-gradient(
      90deg,
      rgba(0,0,0,0) 0%,
      var(--c-yellow01) 100%
    );
    gap: 10%;
}

.s-bnrCeo__img {
    margin-top: auto;
    width: 60%;
}

.s-bnrCeo__text {
    width: 40%;
    justify-content: end;
    display: flex;
    gap: 5%;
}

.s-bnrCeo__textSmall {
    font-weight: bold;
    font-size: var(--fz-18);
    text-orientation: upright;
    line-height: 1.5;
}

.s-bnrCeo__textBig {
    font-family: var(--ff-zen-mincho);
    font-size: var(--fz-28);
    letter-spacing: 0.15em;
    line-height: 1.5;
}

/* TELボタン */
.s-bnrTel {
    background-color: var(--c-yellow01);
    max-width: 468px;
    width: 100%;
    aspect-ratio: 465 / 150;
    margin-inline: auto;  
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.s-bnrTel a {
    height: 100%;
}

.s-bnrTel__num {
    display: flex;
    gap: var(--spc-10);
    font-size: var(--fz-43);
    font-weight: bold;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
}

.s-bnrTel__num::before {
    content: "";
    display: inline-block;
    width: 14%;
    min-width: 30px;
    aspect-ratio: 131 / 75;
    background: url(../images/common/t-contactTel-deco.svg) no-repeat center center / 100%;
}

.s-bnrTel__text {
    font-weight: bold;
    text-align: center;
    font-size: var(--fz-18);
}

/* FAXボタン */
.s-bnrFax {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spc-15);
    background-color: var(--c-yellow01);
    max-width: 468px;
    width: 100%;
    height: 100px;
    margin-inline: auto;  
}

.s-bnrFax::before {
    content: "";
    display: inline-block;
    width: 14%;
    min-width: 30px;
    aspect-ratio: 1;
    background: url(/asset2025/images/freepage/icon-fax.svg) no-repeat center center / 100%;
}

.s-bnrFax__num {
    font-size: var(--fz-43);
    font-weight: bold;
    line-height: 1.2;
}

.s-bnrFax__text {
    font-size: var(--fz-14);
    font-weight: bold;
}

/* about */

.s-aboutIntro {
    background: url(/asset2025/images/top/g-philosophy-bg.jpg) center top / cover no-repeat;
    padding-inline: var(--spc-30);
    padding-bottom: var(--spc-50);
}

.s-aboutIntro__titleEn {
    margin-inline: auto;
    width: 95%;
    transform: translateY(-2px);
}

.s-aboutIntro__title {
    text-align: center;
    margin-top: var(--spc-40);
}

.s-aboutIntro__lead {
    text-align: center;
    font-size: var(--fz-32);
}

.s-aboutIntro__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--spc-25);
    row-gap: var(--spc-30);
}

.s-aboutIntro__list__item {
    background-color: var(--c-white);
    padding: var(--spc-25) var(--spc-30);
    border-radius: var(--bdrs-md);
}

.s-aboutIntro__list__itemTitle {
    font-size: var(--fz-28);
    color: var(--c-blue01);
    font-family: var(--ff-zen-mincho);
    text-align: center;
    line-height: 1.5;
}

.s-aboutIntro__list__itemText {
    font-size: var(--fz-14);
    margin-top: var(--spc-20);
}

.s-aboutQuality__item {
    width: 50%;
}

.s-aboutQuality__itemText {
    margin-top: var(--spc-20);
    letter-spacing: 0.1em;
}

.s-aboutReasons__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--spc-20);
}

.s-aboutReasons__list__item {
    width: calc(20% - var(--spc-20));
    max-width: 180px;
}

.s-aboutReasons__list__item a {
    width: 100%;
    aspect-ratio: 1 / 1;
    color: var(--c-blue01);
    text-align: center;
    font-family: var(--ff-zen-mincho);
    background-color: var(--c-yellow01);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--fz-18);
    position: relative;
    line-height: 1.4;
}

.s-aboutReasons__list__item a::after {
    content: "";
    width: 12px;
    height: 12px;
    border-right: 1px solid var(--c-blue01);
    border-bottom: 1px solid var(--c-blue01);
    position: absolute;
    bottom: 16%;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
}

.s-aboutFaith__bodyText {
    line-height: 1.9;
    letter-spacing: 2;
}

.s-aboutOrder__gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spc-20);
    row-gap: var(--spc-50);
}

.s-aboutOrder__gallery.s-bg {
    padding: var(--spc-lg) var(--spc-30);
}

.s-aboutOrder__galleryItemTitle {
    font-size: var(--fz-18);
    font-weight: bold;
    margin: var(--spc-20) 0;
}

.s-aboutOrder__galleryItemText {
    font-size: var(--fz-14);
    margin-top: 8px;
}

.s-aboutAftercare__slidePagination {
    margin-top: 12px;
    position: static;
    display: flex;
    justify-content: center;
    gap: var(--spc-10);
}

.s-aboutAftercare__slidePagination .swiper-pagination-bullet {
    width: var(--spc-30);
    height: 1px;
    background-color: var(--c-gray01);
    border-radius: 0;
    opacity: 1;
}

.s-aboutAftercare__slidePagination .swiper-pagination-bullet-active {
    background-color: var(--c-dark-700);
}

.s-aboutSupport {
    color: var(--c-white);
    position: relative;
    background-color: var(--c-blue01);
}

.s-aboutSupport::before {
    content: "";
    width: 150vw;
    height: 100%;
    background-color: var(--c-blue01);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.s-aboutSupport__left {
    width: 20%;
    display: flex;
    justify-content: center;
    align-items: baseline;
}

.s-aboutSupport__title {
    font-size: var(--fz-32);
    font-weight: bold;
    letter-spacing: 0.5em;
}

.s-aboutSupport__right {
    width: 73%;
    margin-left: auto;
}

.s-aboutSupport__linkItems {
    aspect-ratio: 677 / 522;
    position: relative;
    max-width: 677px;
    margin-left: auto;
    margin-top: var(--spc-65);
    position: relative;
}

.s-aboutSupport__linkItems::before {
    content: "";
    width: 70%;
    aspect-ratio: 438 / 280;
    background: url(/asset2025/images/freepage/about-support-triangle.svg) center center / contain no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.s-aboutSupport__linkItem {
    position: absolute;
    width: clamp(160px, 20vw, 224px);
    aspect-ratio: 1;
    z-index: 1;
}

.s-aboutSupport__linkItem::after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: var(--c-blue01);
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.s-aboutSupport__linkItem:first-child {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.s-aboutSupport__linkItem:nth-child(2) {
    bottom: 0;
    left: 0;
}

.s-aboutSupport__linkItem:nth-child(3) {
    bottom: 0;
    right: 0;
}

.s-aboutSupport__linkItem:nth-child(2) .s-aboutSupport__linkItemfoot,
.s-aboutSupport__linkItem:nth-child(3) .s-aboutSupport__linkItemfoot {
    padding-bottom: 6px;
    position: relative;
}

.s-aboutSupport__linkItem:nth-child(2) .s-aboutSupport__linkItemfoot::after,
.s-aboutSupport__linkItem:nth-child(3) .s-aboutSupport__linkItemfoot::after {
    content: "";
    width: 24px;
    height: 5px;
    background: url(/asset2025/images/common/g-cate-arrow.svg) center center / contain no-repeat;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.s-aboutSupport__linkItem a {
    color: var(--c-blue01);
    background-color: var(--c-white);
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    border-radius: 50%;
    gap: var(--spc-15);
}

.s-aboutSupport__linkItemHead {
    font-size: var(--fz-25);
    font-family: var(--ff-zen-mincho);
    display: flex;
    flex-direction: column;
    height: 77px;
    justify-content: center;
    align-items: center;
}

.s-aboutSupport__linkItemHead span {
    display: block;
    font-size: var(--fz-18);
}

.s-aboutGoal__item {
    width: 33%;
    padding: var(--spc-lg) var(--spc-30);
}

.s-aboutGoal__itemImg {
    width: 80%;
    margin-inline: auto;
}

.s-aboutGoal__itemTitle {
    text-align: center;
    font-size: var(--fz-18);
    font-weight: bold;
}

.s-aboutGoal__itemText {
    font-size: var(--fz-14);
}

.s-aboutCta__title {
    font-size: var(--fz-32);
    text-align: center;
}

/* kodawari */

.s-kodawariCommitment__title {
    font-size: var(--fz-32);
    font-weight: bold;
    text-align: center;
}

.s-kodawariCommitment__item {
    margin-top: var(--spc-30);
}

.s-kodawariCommitment__item:first-child {
    margin-top: 0;
}

.s-kodawariCommitment__itemTitle {
    font-size: var(--fz-24);
    font-weight: bold;
}

.s-kodawariCommitment__item.s-flex {
    justify-content: space-between;
}

.s-kodawariCommitment__itemBnr {
    width: 47%;
    height: fit-content;
    margin-top: auto;
}

.s-kodawariCommitment__itemBnr a {
    display: block;
    background-color: var(--c-white);
    display: flex;
    border-radius: var(--bdrs-md);
    overflow: hidden;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
}

.s-kodawariCommitment__itemBnrImg {
    width: 50%;
}

.s-kodawariCommitment__itemBnrText {
    width: 50%;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.6;
}

.s-kodawariCommitment__itemImgs {
    margin-top: var(--spc-25);
}

.s-kodawariCommitment__pickUp {
    padding: var(--spc-lg);
    border: 2px solid var(--c-blue01);
    border-top-left-radius: 50px;
    border-bottom-right-radius: 50px;
}

.s-kodawariCommitment__pickUp__labelWrap {
    width: 33%;
    display: flex;
    justify-content: center;
}

.s-kodawariCommitment__pickUp__label {
    padding-inline: var(--spc-15);
    padding-bottom: var(--spc-10);
    position: relative;
}

.s-kodawariCommitment__pickUp__label::before,
.s-kodawariCommitment__pickUp__label::after {
    content: "";
    width: 1px;
    height: 14px;
    background-color: var(--c-dark-700);
    position: absolute;
    bottom: 0;
}

.s-kodawariCommitment__pickUp__label::before {
    left: 0;
    transform: rotate(-30deg);
}

.s-kodawariCommitment__pickUp__label::after {
    right: 0;
    transform: rotate(30deg);
}

.s-kodawariCommitment__foot {
    text-align: center;
}

.s-kodawariProductLineup__itemText {
    text-align: center;
    margin-top: var(--spc-10);
    margin-bottom: 0;
}

.s-kodawariCta__textArea {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: end;
    gap: var(--spc-20);
}

.s-kodawariCta__line {
    display: inline-block;
    font-size: var(--fz-18);
}

.s-kodawariCta__line a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--ff-zen-mincho);
    background-color: var(--c-white);
    padding: var(--spc-15) var(--spc-20);
    border-radius: var(--bdrs-lg);
    gap: var(--spc-10);
}

.s-kodawariCta__line a span {
    position: relative;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.s-kodawariCta__line a span::before {
    content:"";
    display: inline-block;
    width: 37px;
    aspect-ratio: 1;
    background: url(/asset2025/images/common/line-pic.jpg) center center / contain no-repeat;
}

/* ordermade */

.s-ordermadeConsult__title {
    font-size: var(--fz-28);
    font-family: var(--ff-zen-mincho);
    margin-bottom: var(--spc-30);
}

.s-ordermadeConsult__list__item {
    margin-top: var(--spc-25);
    font-weight: bold;
    padding-left: 24px;
    position: relative;
}

.s-ordermadeConsult__list__item:first-child {
    margin-top: 0;
}

.s-ordermadeConsult__list__item::before {
    content:"";
    width: 18px;
    height: 18px;
    background-color: var(--c-white);
    border: 1px solid var(--c-dark-700);
    position: absolute;
    top: 4px;
    left: 0;
}

.s-ordermadeConsult__list__item::after {
    content:"";
    width: 12px;
    height: 8px;
    background: url(/asset2025/images/freepage/icon-check.svg) center center / contain no-repeat;
    position: absolute;
    top: 10px;
    left: 4px;
}

.s-ordermadeConsult__img {
    width: 34%;
    transform: translateY(calc(var(--spc-lg)));
}

.s-ordermadeConsult__foot {
    text-align: center;
}

.s-ordermadeConsult__footText {
    margin-bottom: var(--spc-30);
}

.s-ordermadeConsult__footEmphasis span {
    display: inline-block;
    font-size: var(--fz-28);
    font-family: var(--ff-zen-mincho);
    color: var(--c-blue01);
    text-decoration-line: underline;
    text-decoration-color: #FFD500;
    text-decoration-thickness: 1px;
    text-underline-offset: var(--spc-10);
}

.s-ordermadeContact__item {
    width: 50%;
}

.s-ordermadeContact__item a {
    display: flex;
    background: var(--c-yellow01);
    padding: var(--spc-20);
    align-items: center;
}

.s-ordermadeGallery__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spc-20);
}

.s-ordermadeProduction__box.s-borderDot {
    padding-top: var(--spc-60);
    margin-top: var(--spc-60);
}

.s-ordermadeProduction__title {
    margin-bottom: var(--spc-30);
}

.s-ordermadeProduction__lead {
    text-align: center;
}

.s-ordermadeProduction__heading {
    margin-bottom: var(--spc-30);
}

.s-ordermadeProduction__materialList {
    margin-top: var(--spc-30);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--spc-20);
}

.s-ordermadeProduction__materialList__itemImage img {
    border-radius: 50%;
}

.s-ordermadeProduction__materialList__itemName {
    text-align: center;
    font-size: var(--fz-20);
    margin-top: var(--spc-10);
}

.s-ordermadeFolw__item {
    margin-bottom: var(--spc-50);
}

.s-ordermadeFolw__item:last-child {
    margin-bottom: 0;
}

.s-ordermadeFolw__itemTitle {
    font-size: var(--fz-24);
    font-weight: bold;
    margin-bottom: var(--spc-30);
}

.s-ordermadeFolw__closingText {
    text-align: center;
    font-size: var(--fz-20);
    font-weight: bold;
}

.s-ordermadeCustomize__box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spc-20);
}

.s-ordermadeCustomize__boxCustomizeTitle {
    font-size: var(--fz-20);
    font-weight: bold;
    padding-bottom: var(--spc-15);
    margin-bottom: var(--spc-15);
    border-bottom: 1px solid var(--ranking-c-1st);
}

.s-ordermadeCustomize__closing {
    font-size: var(--fz-20);
    font-weight: bold;
    text-align: center;
}

.s-ordermadeRemake {
    padding-top: var(--sec-spc);
    margin-top: 0;
}

/* reuse */

.s-reuseReason__lead {
    text-align: center;
}

.s-reuseReason__promiseItemImg {
    width: 22%;
}

.s-reuseReason__promiseItemText {
    letter-spacing: 0;
}

.s-reuseReason__flowItem {
    text-align: center;
    font-size: var(--fz-24);
    font-weight: bold;
    text-align: center;
    position: relative;
}

.s-reuseReason__flowItemImg  {
    position: relative;
}

.s-reuseReason__flowItemImg::after {
    content: "";
    width: 15%;
    height: 15%;
    border-right: 2px solid var(--c-blue01);
    border-bottom: 2px solid var(--c-blue01);
    position: absolute;
    top: 50%;
    right: -7px;
    transform: translateY(-50%) rotate(-45deg);
}

.s-reuseReason__flowItem:last-child .s-reuseReason__flowItemImg::after {
    display: none;
}

.s-reuseReason__flowItemImg {
    margin-bottom: var(--spc-10);
}

.s-reuseKokuzo__items {
    gap: var(--spc-30);
}

.s-reuseKokuzo__item {
    width: 50%;
    background-color: var(--c-white);
    border-radius: var(--bdrs-md);
    padding: var(--spc-50) var(--spc-50) var(--spc-50);
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.s-reuseKokuzo__itemHeading {
    font-size: 120px;
    font-family: var(--ff-zen-mincho);
    line-height: 0.8;
    color: var(--c-blue01);
}

.s-reuseKokuzo__item:first-child .s-reuseKokuzo__itemHeading {
    color: var(--ranking-c-1st);
}

.s-reuseKokuzo__item:first-child .s-reuseKokuzo__itemBody {
    border-top: 1px solid var(--ranking-c-1st);
}

.s-reuseKokuzo__item:first-child .s-btn a {
    background-color: var(--ranking-c-1st);
}

.s-reuseKokuzo__itemHeading span {
    display: block;
    font-size: var(--fz-24);
    line-height: 2;
}

.s-reuseKokuzo__itemBody {
    margin-top: var(--spc-30);
    padding-top: var(--spc-30);
    border-top: 1px solid var(--c-blue01);

}

.s-reuseKokuzo__itemEmphasis {
    font-size: var(--fz-28);
    font-family: var(--ff-zen-mincho);
    line-height: 2;
}

.s-reuseKokuzo__itemBodyBtn {
    margin-top: var(--spc-30);
}

.s-reuseKokuzo__check {
    padding-inline: var(--spc-30);
}

.s-reuseKokuzo__checkList {
    margin-top: var(--spc-30);
    padding-top: var(--spc-30);
    border-top: 1px solid var(--c-blue01);
}

.s-reuseKokuzo__checkList__item {
    margin-top: var(--spc-10);
    padding-left: 28px;
    position: relative;
}

.s-reuseKokuzo__checkList__item:first-child {
    margin-top: 0;
}

.s-reuseKokuzo__checkList__item::before {
    content:"";
    width: 18px;
    height: 18px;
    background-color: var(--c-white);
    border: 1px solid var(--c-dark-700);
    position: absolute;
    top: 4px;
    left: 0;
}

.s-reuseKokuzo__checkList__item::after {
    content:"";
    width: 12px;
    height: 8px;
    background: url(/asset2025/images/freepage/icon-check-blue.svg) center center / contain no-repeat;
    position: absolute;
    top: 10px;
    left: 4px;
}

.s-reuseKokuzo__btn {
    margin-top: var(--spc-30);
}

.s-reuseImportant__btn {
    margin-top: var(--spc-30);
}

/* maintenance */

.s-maintenanceSolutions__items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spc-20);
}

.s-maintenanceSolutions__item {
    background-color: var(--c-yellow01);
    padding: var(--spc-20);
}

.s-maintenancePromise__panel__title {
    font-size: var(--fz-28);
    font-family: var(--ff-zen-mincho);
    text-align: center;
}

.s-maintenancePromise__panelStep__item {
    position: relative;
}

.s-maintenancePromise__panelStep__item::after {
    content:"";
    width: 30px;
    height: 30px;
    border-right: 2px solid var(--c-blue01);
    border-bottom: 2px solid var(--c-blue01);
    position: absolute;
    top: 50%;
    right: -4%;
    transform: translateY(-50%) rotate(-45deg);
}

.s-maintenancePromise__panelStep__item:last-child::after {
    display: none;
}

.s-maintenancePossible__foot {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spc-10);
    font-size: var(--fz-28);
    font-family: var(--ff-zen-mincho);
    color: var(--c-blue01);
    padding-block: var(--spc-30);
    border: 1px solid var(--c-blue01);
}

.s-maintenancePossible__foot::before {
    content:"";
    width: 34px;
    height: 40px;
    background: url(/asset2025/images/freepage/icon-calculator.jpg) center center / contain no-repeat;
}

/* guarantee */

.s-guaranteeAbout__lead {
    text-align: center;
}

.s-guaranteeAbout__item:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.s-guaranteeAbout__items .s-borderDot {
    margin-top: var(--spc-30);
    padding-top: var(--spc-30);
}

.s-guaranteeAbout__itemHead {
    display: flex;
    align-items: center;
    gap: var(--spc-10);
}

.s-guaranteeAbout__itemHeadJa {
    color: var(--c-blue01);
    font-size: var(--fz-28);
    border-bottom: 1px solid var(--c-blue01);
    height: fit-content;
    font-family: var(--ff-zen-mincho);
}

.s-guaranteeAbout__itemBody span {
    color: var(--c-red01);
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
}

.s-guaranteeAbout__itemBody {
    font-size: var(--fz-24);
    font-weight: bold;
}

.s-guaranteeAbout__itemAttention {
    font-size: var(--fz-14);
}

.s-guaranteeAbout__closing {
    font-size: var(--fz-24);
    font-weight: bold;
}

.s-guaranteeAbout__disclaimers {
    font-size: var(--fz-14);
}

.s-guaranteePolicy__headingText {
    color: var(--c-red01);
    font-size: var(--fz-20);
    text-align: center;
}

.s-guaranteePolicy__list {
    padding-left: var(--spc-30);
}

.s-guaranteePolicy__list li {
    list-style: decimal;
    padding-left: 0.4rem;
    font-size: var(--fz-20);
}

.s-guaranteePolicy__headingTitle {
    color: var(--c-blue01);
    font-size: var(--fz-20);
    padding-bottom: var(--spc-20);
    margin-bottom: var(--spc-20);
    border-bottom: 1px solid transparent;
    border-image: repeating-linear-gradient(to right,var(--c-blue01) 0 2px,transparent 0 4px) 2;
}

.s-guaranteePolicy__postageText {
    font-size: var(--fz-20);
}

/* buying */

.s-buyingNeeds__voice {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spc-20);
}

.s-buyingNeeds__point {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spc-20);
}

.s-buyingNeeds__point__item {
    color: var(--c-blue01);
    background-color: var(--c-yellow01);
    aspect-ratio: 1;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    align-items: center;
    font-family: var(--ff-zen-mincho);
    font-size: var(--fz-18);
}

.s-buyingNeeds__point__item span {
    text-align: center;
    font-size: var(--fz-25);
    line-height: 1.5;
}

.s-buyingRates__lead {
    text-align: center;
}

.s-buyingRates__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spc-20);
}

.s-buyingFlow__lists {
    padding-left: var(--spc-30);
}

.s-buyingFlow__lists__item {
    padding-left: 5px;
    list-style: decimal;
    font-size: var(--fz-20);
    letter-spacing: 0;
}

.s-buyingFlow__lists__item span {
    font-size: var(--fz-14);
    display: block;
}

.s-buyingRates__items__itemImg {
    position: relative;
}

.s-buyingRates__items__itemTag {
    font-size: var(--fz-35);
    font-family: var(--ff-zen-mincho);
    color: var(--c-white);
    background-color: var(--ranking-c-1st);
    border-radius: 50%;
    aspect-ratio: 1;
    width: 50px;
    padding-bottom: 1%;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    position: absolute;
    bottom: -10px;
    left: 10px;
}

.s-buyingRates__items__itemTitle {
    font-size: var(--fz-24);
    font-weight: bold;
    text-align: center;
    margin-top: var(--spc-15);
    margin-bottom: var(--spc-10);
}

.s-buyingRates__items__itemPrice {
    font-weight: bold;
    text-align: center;
    margin-bottom: var(--spc-20);
}

.s-buyingRates__ruleTitle {
    font-size: var(--fz-28);
    color: var(--c-blue01);
    font-family: var(--ff-zen-mincho);
    padding-bottom: var(--spc-20);
    margin-bottom: var(--spc-20);
    border-bottom: 1px solid transparent;
    border-image: repeating-linear-gradient(to right,var(--c-blue01) 0 2px,transparent 0 4px) 2;
}

.s-buyingRates__rule__notApplicableTitle {
    margin-top: var(--spc-40);
    color: var(--c-blue01);
    font-size: var(--fz-20);
    font-weight: 500;
}

.s-buyingRates__ruleLists {
    padding-left: 1rem;
}

.s-buyingRates__ruleLists__list {
    list-style: disc;
    padding-left: 0.5rem;
    font-size: var(--fz-20);
}

li.s-buyingRates__ruleLists__list::marker {
  font-size: 0.5em;
}

.s-buyingRates__rule__btn {
    justify-content: flex-start;
    margin-top: var(--spc-30);
}

.s-buyingRates__rule__attention {
    margin-top: var(--spc-30);
    font-size: var(--fz-14);
}

.s-buyingRates__rule__btn a {
    max-width: 412px;
}

.s-buyingRates__rule__consentForm {
    text-align: center;
}

.s-buyingRates__rule__consentForm__heading {
    font-family: var(--ff-zen-mincho);
    font-size: var(--fz-32);
    margin-bottom: var(--spc-30);
}

.s-buyingRates__rule__consentBtn {
    margin-top: var(--spc-30);
}

.s-buyingRates__rule__consentBtn a {
    font-size: var(--fz-16);
    max-width: 294px;   
}

.s-buyingFlow__images {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spc-20);
}

/* disposal */

.s-disposalIntro__lead {
    text-align: center;
}

.s-disposalIntro__step.s-bg {
    padding-inline: 0;
}

.s-disposalIntro__stepTitle {
    font-size: var(--fz-24);
    font-weight: bold;
    margin-bottom: var(--spc-50);
    padding-inline: var(--spc-50);
}

.s-disposalIntro__stepitems {
    padding-inline: var(--spc-50);
}

.s-disposalIntro__stepitems__item {
    align-items: center;
    margin-top: var(--spc-30);
    padding-top: var(--spc-30);
    border-top: 1px solid transparent;
    border-image: repeating-linear-gradient(to right,var(--c-blue01) 0 2px,transparent 0 4px) 2;
}

.s-disposalIntro__stepitems__item:first-child {
    border-top: none;
    margin-top: 0;
    padding-top: 0;
}

.s-disposalIntro__stepitems__item.s-flex {
    justify-content: space-between;
}

.s-disposalIntro__stepitems__itemTextArea {
    display: flex;
    gap: 10px;
}

.s-disposalIntro__stepitems__itemText {
    font-size: var(--fz-24);
    font-weight: bold;
    margin-top: var(--spc-25);
}

.s-disposalIntro__stepitems__itemText span {
    display: block;
    font-size: var(--fz-14);
    font-weight: 400;
}

.s-disposalIntro__stepitems__itemBtn {
    display: inline-flex;
    align-items: center;
}

.s-disposalIntro__stepitems__itemBtn a {
    font-weight: bold;
    margin-inline: auto;
    height: 60px;
    background-color: var(--c-white);
    padding: var(--spc-15) var(--spc-20);
    border-radius: var(--bdrs-lg);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.s-disposalIntro__stepitems__itemBtn a span {
    align-items: center;
    display: flex;
    gap: var(--spc-10);
    height: 100%;
}

.s-disposalIntro__stepitems__itemBtn:first-child a span::before {
    content:"";
    display: inline-block;
    width: 14%;
    min-width: 30px;
    aspect-ratio: 1;
    background: url(/asset2025/images/common/line-pic.jpg) center center / contain no-repeat;
}

.s-disposalIntro__stepitems__itemBtn:last-child a span::before {
    content:"";
    display: inline-block;
    width: 14%;
    min-width: 30px;
    aspect-ratio: 31 / 23;
    background: var(--mail) no-repeat center center / 100%;
}

.s-disposalIntro__stepitems__itemBtn__icon {
    width: 31px;
}

.s-disposalIntro__include {
    padding-inline: var(--spc-65);
    padding-top: var(--spc-50);
}

.s-disposalIntro__includeLists__list {
    font-weight: bold;
    padding-left: 24px;
    position: relative;
    margin-bottom: var(--spc-15);
}

.s-disposalIntro__includeLists__list:last-child {
    margin-bottom: 0;
}

.s-disposalIntro__includeLists__list::before {
    content:"";
    width: 18px;
    height: 18px;
    background-color: var(--c-white);
    border: 1px solid var(--c-dark-700);
    position: absolute;
    top: 4px;
    left: 0;
}

.s-disposalIntro__includeLists__list::after {
    content:"";
    width: 12px;
    height: 8px;
    background: url(/asset2025/images/freepage/icon-check.svg) center center / contain no-repeat;
    position: absolute;
    top: 10px;
    left: 4px;
}

.s-disposalPoint__items {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spc-10);
}

.s-disposalPoint__items__item {
    color: var(--c-blue01);
    font-family: var(--ff-zen-mincho);
    font-size: var(--fz-28);
    background: var(--c-yellow01);
    aspect-ratio: 1;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: var(--spc-10);
    max-width: 260px;
    width: 100%;
    margin-inline: auto;
}

.s-disposalPoint__items__item p span {
    display: inline-block;
    line-height: 1.8;
}

.s-disposalPoint__items__itemNarrow {
    letter-spacing: -16px;
}

.s-disposalFlow__lists {
    padding-left: var(--spc-30);
}

.s-disposalFlow__lists__list {
    font-size: var(--fz-20);
    margin-bottom: var(--spc-20);
    list-style: decimal;
    padding-left: var(--spc-15);
}

.s-disposalFlow__lists__list:last-child {
    margin-bottom: 0;
}

.s-disposalFlow__lists__list span {
    font-size: var(--fz-14);
    display: block;
}

.s-disposalCost__plusIcon {
    margin: var(--spc-30) auto;
    width: 50px;
    height: 50px;
    position: relative;
}

.s-disposalCost__plusIcon::before,
.s-disposalCost__plusIcon::after {
    content: "";
    width: 100%;
    height: 2px;
    background: var(--c-blue01);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.s-disposalCost__plusIcon::after {
   transform: translate(-50%, -50%) rotate(90deg);
}

.s-disposalCost__box__title {
    color: var(--c-blue01);
    font-size: var(--fz-28);
    font-family: var(--ff-zen-mincho);
    margin-bottom: var(--spc-20);
}

.s-disposalCost__box__textRight {
    text-align: right;
    margin-bottom: var(--spc-10);
    font-size: var(--fz-14);
}

.s-disposalCost__table {
    text-align: center;
    margin-top: var(--spc-10);
    font-size: var(--fz-14);
    width: 100%;
    letter-spacing: 0.05em;
    border-collapse: collapse;
}

.s-disposalCost__table th,
.s-disposalCost__table td {
    background-color: var(--c-white);
    font-weight: 400;
    padding-block: var(--spc-10);
    border: 0;
}

.s-disposalCost__table tr > * + * {
  border-left: 1px solid var(--c-gray01);
}

.s-disposalCost__table tr + tr > * {
    border-top: 1px solid var(--c-gray01);
}

.s-disposalCost__table thead + tbody tr:first-child > * {
    border-top: 1px solid var(--c-gray01);
}

th.s-disposalCost__table__leftHead {
    border-right: 1px solid var(--c-gray01);
}

.s-disposalCost__box__attention {
    font-size: var(--fz-14);
}

.s-disposalCost__attention {
    margin-top: var(--spc-10);
    font-size: var(--fz-14);
}

.s-disposalConfirmation__lists {
    counter-reset: num;
    list-style: none;
}

.s-disposalConfirmation__lists__list {
    font-size: var(--fz-18);
    margin-top: var(--spc-30);
    padding-left: var(--spc-30);
    counter-increment: num;
    position: relative;
}

.s-disposalConfirmation__lists__list::before {
    content: counter(num) ".";
    position: absolute;
    left: 0;
    font-weight: bold;
}

.s-disposalConfirmation__lists__list:first-child {
    margin-top: 0;
}

/* showroom */

.s-showroomIntro__heading {
    padding-left: var(--spc-20);
}

.s-showroomIntro__heading__item {
    list-style: disc;
    font-size: var(--fz-30);
    font-weight: bold;
}

.s-showroomIntro__heading__item:nth-child(2) {
    line-height: 1.2;
    margin-block: var(--spc-10);
}

li.s-showroomIntro__heading__item::marker {
  font-size: 0.6em;
}

.s-showroomIntro__heading__item span {
    font-size: var(--fz-20);
    white-space: nowrap;
}

.s-showroomIntro__list {
    display: flex;
    flex-wrap: wrap;
    font-size: var(--fz-14);
    border-top: 1px solid var(--c-gray01);
}

.s-showroomIntro__list__dt {
    width: 20%;
    text-align: center;
    padding-block: var(--spc-25);
    background-color: var(--c-yellow01);
    border-bottom: 1px solid var(--c-gray01);
    display: flex;
    align-items: center;
    justify-content: center;
}

.s-showroomIntro__list__dd {
    width: 80%;
    padding-block: var(--spc-25);
    padding-inline: var(--spc-20);
    border-bottom: 1px solid var(--c-gray01);
}

.s-showroomIntro__list__dd span {
    font-size: var(--fz-12);
}

.s-showroomReservation__title {
    margin-bottom: var(--spc-10);
}

.s-showroomReservation__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--spc-20);
}

.s-showroomReservation__list__item {
    aspect-ratio: 304 / 100;
    max-width: 304px;
    width: 100%;
    margin: 0;
}

.s-showroomReservation__list__item .s-bnrLine {
    aspect-ratio: auto;
    height: 100%;
}

.s-showroomReservation__list__item .s-bnrLine__text {
    display: flex;
    align-items: center;
    gap: 5px;
}

.s-showroomReservation__list__item .s-bnrLine__text::before {
    content: "";
    display: inline-block;
    width: 14%;
    min-width: 30px;
    aspect-ratio: 1;
    background: url(../images/common/line-pic.jpg) no-repeat center center / 100%;
}

.s-showroomReservation__list__item .s-bnrTel__text {
    font-size: var(--fz-14);
}

.s-showroomReservation__list__item .s-bnrTel__num {
    font-size: var(--fz-35);
}

.s-showroomReservation__list__item .s-bnrTel__num::before {
    width: 18%;
}

.s-showroomReservation__list__item.s-bnrMail {
    height: 100%;
}

.s-showroomReservation__list__item.s-bnrMail a {
    gap: var(--spc-10);
    letter-spacing: normal;
    justify-content:flex-start;
}

.s-showroomReservation__list__item.s-bnrMail a::before {
    width: 18%;
}

.s-showroomAccess__car__flex {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spc-20);
}

.s-showroomAccess__busTrain__flex {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spc-20);
    margin-bottom: var(--spc-20);
}

.s-showroomAccess__stationBus__title {
    font-size: var(--fz-28);
    font-family: var(--ff-zen-mincho);
    text-align: center;
}

.s-showroomAccess__stationBus__busImage img {
    border-radius: var(--bdrs-md);
    margin-bottom: var(--spc-20);
}

.s-showroomAccess__stationBus__annotation {
    font-size: var(--fz-20);
    font-family: var(--ff-zen-mincho);
    text-align: center;
    margin-bottom: var(--spc-15);
}

.s-showroomAccess__stationBus__timetableTitle {
    text-align: center;
}

.s-showroomAccess__stationBus__timetableBtn {
    margin-top: var(--spc-25);
}

.s-showroomConsult__lead {
    margin-bottom: var(--spc-40);
}

.s-showroomConsult__recommendTitleWrap {
    text-align: center;
    margin-right: 25%;
}

.s-showroomConsult__recommendTitle {
    display: inline-block;
    font-family: var(--ff-zen-mincho);
    font-size: var(--fz-32);
    font-weight: bold;
    position: relative;
    padding-inline: 20px;
    padding-bottom: 10px;
}

.s-showroomConsult__recommendTitle::before,
.s-showroomConsult__recommendTitle::after {
    content:"";
    width: 1px;
    height: 36px;
    background-color: var(--c-dark-700);
    position: absolute;
    bottom: 0;
}

.s-showroomConsult__recommendTitle::before {
    transform: rotate(-30deg);
    left: 0;
}

.s-showroomConsult__recommendTitle::after {
    transform: rotate(30deg);
    right: 0;
}

.s-showroomConsult__recommendList {
    margin-top: -40px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spc-20);
}

.s-showroomConsult__recommendList__item {
    font-size: var(--fz-22);
    font-family: var(--ff-zen-mincho);
    color: var(--c-blue01);
    text-align: center;
    background-color: var(--c-yellow01);
    border-radius: 50%;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
}

.s-showroomConsult__pointLabel {
    font-size: var(--fz-24);
    font-weight: bold;
    font-family: var(--ff-zen-mincho);
    color: var(--ranking-c-1st);
    margin-bottom: var(--spc-10);
}

.s-showroomIntroduction__lead {
    max-width: 750px;
    margin-inline: auto;
}

.s-showroomIntroduction__movie {
    margin-bottom: var(--spc-20);
}

.s-showroomIntroduction__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spc-30);
    row-gap: var(--spc-50);
}

.s-showroomOnlineCustomerService__point__heading {
    align-items: center;
    gap: var(--spc-10);
    margin-bottom: var(--spc-20);
}

.s-showroomOnlineCustomerService__point:nth-child(2),
.s-showroomOnlineCustomerService__line {
    margin-top: var(--spc-30);
    padding-top: var(--spc-30);
}

.s-showroomOnlineCustomerService__line {
    display: flex;
    align-items: flex-start;
    gap: var(--spc-20);
}

.s-showroomOnlineCustomerService__line__text {
    display: flex;
    align-items: flex-start;
    gap: var(--spc-20);
    font-size: var(--fz-24);
    font-weight: bold;
    margin-inline: auto;
}

.s-showroomOnlineCustomerService__line__pic {
    width: 73px;
}

.s-showroomOnlineCustomerService__line__pic img {
    border-radius: var(--bdrs-lg);
}

.s-showroomOnlineCustomerService__line__qrWrap {
    width: 133px;
    margin-inline: auto;
}

.s-showroomOnlineCustomerService__line__qr {
    background-color: var(--c-white);
    padding: var(--spc-10);
    border-radius: var(--bdrs-md);
}

.s-showroomOnlineCustomerService__line__qrText {
    margin-top: var(--spc-10);
    font-size: var(--fz-12);
    font-weight: bold;
    text-align: center;
}

.s-showroomOnlineCustomerService__list__title {
    font-size: var(--fz-24);
    font-weight: bold;
}

.s-showroomOnlineService__closing__text {
    width: 70%;
}

.s-showroomOnlineService__closing__img {
    width: 30%;
}

/* aboutus */

.s-aboutusMessage {
    background: url(/asset2025/images/top/g-philosophy-bg.jpg) center top / cover no-repeat;
    padding-inline: var(--spc-50);
    padding-bottom: var(--spc-50);
}

.s-aboutusMessage__decorationText {
    width: 95%;
    margin-inline: auto;
    transform: translateY(-2px);
}

.s-aboutusMessage__name {
    margin-top: var(--spc-30);
    font-size: var(--fz-32);
    font-weight: bold;
    font-family: var(--ff-zen-mincho);
    text-align: center;
}

.s-aboutusMessage__title {
    text-align: center;
    margin-top: var(--spc-40);
    font-size: var(--fz-28);
    color: var(--c-blue01);
    font-family: var(--ff-zen-mincho);
    text-decoration: underline;
    text-decoration-color: var(--ranking-c-1st);
    text-decoration-thickness: 1px;
    text-underline-offset: 10px;
}

.s-aboutusMessage__flexText {
    font-size: var(--fz-20);
}

.s-aboutusMessage__ceoImg {
    max-width: 360px;
    width: 37%;
    margin-left: auto;
    position: relative;
}

.s-aboutusMessage__ceoImg img {
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translateY(var(--spc-50)) translateX(var(--spc-30));
}

.s-aboutusHistory.s-bg {
    padding-inline: 0;
}

.s-aboutusHistory__head,
.s-aboutusHistory__foot {
    padding-inline: var(--spc-50);
}

.s-aboutusHistory__list {
    margin-top: var(--spc-50);
    position: relative;
}

.s-aboutusHistory__list::before {
    content:"";
    width: 1px;
    height: calc(100% - 10px);
    background-color: var(--ranking-c-1st);
    position: absolute;
    top: 10px;
    left: 9px;

}

.s-aboutusHistory__list__item {
    display: flex;
    font-size: var(--fz-20);
    margin-top: var(--spc-20);
    position: relative;
    padding-left: 40px;
}

.s-aboutusHistory__list__item::before {
    content:"";
    width: 18px;
    height: 18px;
    background-color: var(--ranking-c-1st);
    border-radius: 50%;
    position: absolute;
    top: 10px;
    left: 0;
}

.s-aboutusHistory__list__item:first-child {
    margin-top: 0;
}

.s-aboutusHistory__foot {
    padding-top: var(--spc-50);
    margin-top: var(--spc-50);
    border-top: 1px solid transparent;
    border-image: repeating-linear-gradient(to right,var(--c-blue01) 0 2px,transparent 0 4px) 2;
}

.s-aboutusDocumentary__movie {
    max-width: 750px;
    margin-inline: auto;
}

.s-aboutusDocumentary__text {
    text-align: center;
}

.s-aboutusDocumentary__foot__title {
    font-family: var(--ff-zen-mincho);
    font-size: var(--fz-28);
    text-align: center;
}

.s-aboutusPhilosophy__foot__images {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spc-20);
}

.s-aboutusVoice__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spc-20);
}

.s-aboutusVoice__list__itemTitle {
    font-size: var(--fz-18);
    font-weight: bold;
    margin-block: var(--spc-20);
}

.s-aboutusVoice__list__itemText {
    font-size: var(--fz-14);
}

.s-aboutusThoughts__images {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spc-20);
}

.s-aboutusThoughts__stories2 {
    margin-top: var(--spc-50);
    padding-top: var(--spc-50);
    border-top: 1px solid transparent;
    border-image: repeating-linear-gradient(to right,var(--c-blue01) 0 2px,transparent 0 4px) 2;
}

.s-aboutusThoughts__stories2__images {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spc-20);
}

.s-aboutusClosing__images {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spc-20);
}

/* choice */

.s-choicelineUp__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spc-20);
}

.s-choicelineUp__list__itemText {
    font-size: var(--fz-24);
    font-weight: bold;
    margin-top: var(--spc-10);
    text-align: center;
}

.s-choicelSelection__list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--spc-20);
}

.s-choicelSelection__list__itemText {
    font-weight: bold;
    text-align: center;
    margin-top: var(--spc-10);
}

.s-choicelOriginal__flex {
    align-items: center;
}

.s-choicelOriginal__flex__title {
    font-size: var(--fz-18);
    color: var(--c-blue01);
    font-weight: bold;
}

.s-choicelOriginal__gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spc-20);
}

.s-choicelOriginal__btn a {
    max-width: 278px;
}

.s-choicelSelection__closingTitle {
    font-size: var(--fz-28);
    font-family: var(--ff-zen-mincho);
    text-align: center;
}

.s-choicelSelection__closingBtn a {
    max-width: 278px;
}

.s-choicelReplacement__heading {
    align-items: end;
}

.s-choicelReplacement__comicbnr {
    max-width: 600px;
    margin-inline: auto;
}

.s-choicelReplacement__comicbnr  img {
    aspect-ratio: auto;
}

.s-choicelMessage__closingBtn {
    margin-top: var(--spc-30);
    justify-content: flex-start;
}

.s-choicelMessage__closingImgWrap {
    width: 45%;
    position: relative;
    transform: translateY(var(--spc-50));
}

.s-choicelMessage__closingImg {
    position: absolute;
    bottom: 0;
    left: 0;
}

/* faq */

.s-faq__nav {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spc-20);
}

.s-faq__nav__item a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    font-size: var(--fz-18);
    font-weight: bold;
    text-align: center;
    color: var(--c-blue01);
    border: 1px solid var(--c-blue01);
    padding: var(--spc-20);
    line-height: 1.4;
}

@media (hover: hover){
    .s-faq__nav__item a:hover {
        color: var(--c-white);
        background-color: var(--c-blue01);
        opacity: 1;
    }
}

.s-faq__secTitle {
    font-size: var(--fz-32);
    color: var(--c-blue01);
    font-weight: bold;
}

.s-faq__dd {
    padding-top: var(--spc-20);
    border-top: 1px solid transparent;
    border-image: repeating-linear-gradient(to right,var(--c-blue01) 0 2px,transparent 0 4px) 2;
}

.s-faq__dd__text a {
    font-weight: bold;
    text-decoration: underline;
}

.s-faq__dd__movie {
    margin-top: var(--spc-20);
    width: 80%;
}

.s-faq__dd__movie iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 530 /315;
}

.s-faq__dd__houToList--item {
    padding-left: 18px;
    position: relative;
}

.s-faq__dd__houToList--item span {
    position: absolute;
    top: 0;
    left: 0;
}

/* kokuuzusi */

.s-kokuuzusiHeading__img {
    max-width: 750px;
    margin-inline: auto;
}

.s-kokuuzusiHeading__nav {
    display: flex;
    gap: var(--spc-30);
    justify-content: center;
    align-items: center;
}

.s-kokuuzusiHeading__nav__item {
    max-width: 250px;
    width: 100%;
    margin-top: 0;
}

.s-kokuuzusiHeading__nav__item a {
    color: var(--c-blue01);
    background-color: var(--c-white);
    border: 1px solid var(--c-blue01);
}

.s-kokuuzusiPoint__ledFoot {
    margin-top: var(--spc-30);
    text-align: center;
    gap: var(--spc-50);
}

.s-kokuuzusiPoint__ledFoot__item {
    display: flex;
    gap: var(--spc-20);
}

.s-kokuuzusiPoint__trademark {
    gap: var(--spc-50);
}

.s-kokuuzusiOrdermade__type__list {
    margin-top: var(--spc-30);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spc-15);
    row-gap: var(--spc-30);
}

.s-kokuuzusiOrdermade__type__name {
    margin-top: var(--spc-10);
    font-weight: bold;
    text-align: center;
}

.s-kokuuzusiOrdermade__type__name span {
    display: block;
    font-size: var(--fz-14);
}

.s-kokuuzusiOrdermade__style__material__flex {
    margin-top: var(--spc-30);
    gap: var(--spc-30);
    align-items: center;
}

.s-kokuuzusiOrdermade__coloring__title {
    font-size: var(--fz-20);
    font-weight: bold;
}

.s-kokuuzusiOrdermade__coloring__list {
    margin-top: var(--spc-20);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spc-15);
}

.s-kokuuzusiOrdermade__coloring__list__itemImage img {
    border-radius: 50%;
}

.s-kokuuzusiOrdermade__coloring__list__itemText {
    font-size: var(--fz-14);
    font-weight: bold;
    margin-top: 6px;
    text-align: center;
}

.s-kokuuzusiImmediateDelivery__plice span {
    font-size: var(--fz-20);
}

.s-kokuuzusiImmediateDelivery__reason {
    background-color: var(--c-yellow01);
    border-radius: var(--bdrs-lg);
    padding: var(--spc-15) var(--spc-30);
    display: flex;
    align-items: center;
    font-weight: bold;
    gap: var(--spc-30);
    margin-top: var(--spc-20);
}

.s-kokuuzusiImmediateDelivery__reason__list {
    padding-left: var(--spc-15);
}

.s-kokuuzusiImmediateDelivery__reason__list__item {
    list-style: disc;
}

.s-kokuuzusiImmediateDelivery__reason__list__item::marker {
    font-size: 0.5rem;
}

.s-kokuuzusiContact__bottom {
    align-items: center;
}

.s-kokuuzusiContact__bottom__title {
    font-size: var(--fz-32);
    font-weight: bold;
    text-align: center;
}

.s-kokuuzusiVoice__image__bottom {
    margin-top: var(--spc-20);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spc-10);
}

.s-kokuuzusiVoice__comment {
    margin-top: var(--spc-10);
    font-size: var(--fz-14);
}

.s-kokuuzusiVoice__card {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spc-50);
    row-gap: var(--spc-20);
}

.s-kokuuzusiVoice__card__name {
    margin-top: var(--spc-10);
    font-weight: bold;
    font-size: var(--fz-18);
}

.s-kokuuzusiVoice__card__comment {
    margin-top: var(--spc-10);
    font-size: var(--fz-14);
}

@media screen and (max-width: 1023px) {
    .s-lowerTitle {
        font-size: 20px;
    }

    .s-lowerSectinTitle {
        font-size: var(--fz-32);
    }

    .s-bnrItems {
        flex-direction: column;
    }
    
    .s-bnrItems__left,
    .s-bnrItems__right {
        width: 100%;
    }

    .s-aboutReasons__list__item {
        width: calc(30% - var(--spc-20));
    }

    .s-kodawariCommitment__item:nth-child(2) .s-kodawariCommitment__itemTextArea {
        width: 100%;
    }
    
    .s-kodawariCommitment__item {
        flex-direction: column;
    }

    .s-kodawariCommitment__itemBnr {
        margin-inline: auto;
        width: 60%;
    }

    .s-disposalIntro__stepitems__item.s-flex {
        flex-direction: column;
        align-items: baseline;
    }

    .s-disposalPoint__items {
        grid-template-columns: repeat(2, 1fr);
        max-width: 550px;
        margin-inline: auto;
    }

    .s-disposalPoint__items__item {
        padding: var(--spc-10);
    }

    .s-showroomConsult__recommendList {
        margin-top: 0;
    }

    .s-showroomReservation__list {
        grid-template-columns: repeat(1, 1fr);
        gap: var(--spc-20);
        max-width: 400px;
        margin-inline: auto;
    }

    .s-showroomReservation__list__item .s-bnrLine {
        justify-content: center;
    }

    .s-showroomReservation__list__item .s-bnrLine__qr {
        max-width: 80px;
        width: 25%;
        flex-grow: inherit;
    }

    .s-showroomReservation__list__item.s-bnrMail a {
        justify-content: center;
    }

    /* faq */
    .s-faq__nav {
        grid-template-columns: repeat(3, 1fr);
    }
}

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

    .s-lowerTitle {
        aspect-ratio: 950 / 400;
        text-align: center;
    }

    .s-btn {
        flex-direction: column;
    }

    .s-flex {
        flex-direction: column;
    }

    .s-flex.--reverse {
        flex-direction: column;
    }
    
    .s-flex > * {
        width: 100%;
    }

    .s-flexStep {
        flex-direction: column;
    }

    .s-flexStep > * {
        width: 100%;
    }

    .s-image.--arrow::after {
        top: auto;
        bottom: -5px;
        right: auto;
        left: 50%;
        transform: translateX(-50%) rotate(45deg);
    }

    .s-flexStep > :first-child::after {
        top: auto;
        bottom: -20px;
        right: auto;
        left: 50%;
        transform: translateX(-50%) rotate(45deg);
    }

    .s-bnrLine__qr {
        width: 20%;
    }

    /* about */
    .s-aboutIntro__titleEn {
        width: 100%;
    }
    
    .s-aboutIntro__list {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .s-aboutReasons__list {
        gap: var(--spc-10);
    }
    
    .s-aboutReasons__list__item {
        width: calc(33.3% - var(--spc-10));
    }

    .s-aboutReasons__list__item a {
        font-size: var(--fz-15);
        padding-bottom: var(--spc-10);
        letter-spacing: 0;
    }

    .s-aboutFaith__bodyTitle {
        text-align: center;
    }

    .s-aboutOrder__gallery {
        grid-template-columns: repeat(1, 1fr);
    }

    .s-aboutSupport__linkItems {
        aspect-ratio: 1;
    }

    .s-aboutSupport__linkItems::before {
        width: 95%;
    }

    .s-aboutSupport__linkItem {
        width: clamp(140px, 26vw, 224px);
    }

    .s-aboutSupport__linkItem a {
        gap: 0;
    }

    .s-aboutSupport__linkItemHead {
        line-height: 1.5;
        height: 60px;
    }
    
    .s-aboutSupport__linkItem:first-child {
        top: 6%;
    }

    .s-aboutSupport__linkItem:nth-child(2),
    .s-aboutSupport__linkItem:nth-child(3) {
        bottom: 2%;
    }

    .s-aboutGoal__item {
        display: flex;
        gap: var(--spc-20);
        align-items: center;
    }

    .s-aboutGoal__item  > * {
        width: 50%;
    }

    .s-aboutGoal__itemImg {
        margin-bottom: 0;
    }

    /* kodawari */
    .s-kodawariCommitment__itemBnr {
        max-width: 360px;
    }

    .s-kodawariCommitment__itemBnrText {
        font-size: var(--fz-12);
    }

    .s-kodawariCommitment__pickUp__labelWrap {
        width: 100%;
    }

    .s-kodawariCta__line {
        width: 100%;
        max-width: 400px;
    }

    .s-kodawariCta__line a span {
        text-align: center;
    }

    /* ordermade */
    .s-ordermadeConsult__img {
        width: 70%;
        margin-inline: auto;
    }

    .s-ordermadeConsult__footText {
        text-align: left;
    }

    .s-ordermadeConsult__footEmphasis span {
        display: inline;
    }

    .s-ordermadeConsult__footEmphasis span:nth-child(2) {
        margin-left: -5px;
    }

    .s-ordermadeGallery__items {
        grid-template-columns: repeat(2, 1fr);
    }

    .s-ordermadeProduction__materialList {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--spc-15);
    }

    .s-ordermadeCustomize__box {
        grid-template-columns: repeat(1, 1fr);
    }

    /* reuse */
    .s-reuseReason__lead {
        text-align: left;
    }

    .s-reuseReason__flowItems {
        gap: var(--spc-65);
    }

    .s-reuseReason__flowItemImg::after {
        width: 20px;
        height: 20px;
        top: auto;
        bottom: -64px;
        right: auto;
        left: 50%;
        transform: translateX(-50%) rotate(45deg);
    }

    .s-reuseKokuzo {
        padding: var(--spc-20);
    }

    .s-reuseKokuzo__check {
        padding-inline: 0;
    }

    .s-reuseKokuzo__items {
        gap: var(--spc-15);
    }

    .s-reuseKokuzo__item {
        padding: 20px;
    }

    .s-reuseKokuzo__itemHeading {
        font-size: var(--fz-70);
    }

    .s-reuseKokuzo__itemEmphasis {
        line-height: 1.5;
        display: inline-block;
        margin-block: var(--spc-10);
    }

    /* maintenance */
    .s-maintenanceSolutions__items {
        grid-template-columns: repeat(1, 1fr);
    }

    .s-maintenancePromise__panelStep__item::after {
        width: 20px;
        height: 20px;
        top: auto;
        right: auto;
        bottom: -4%;
        left: 50%;
        transform: translateX(-50%) rotate(45deg);
    }

    /* buying */
    .s-buyingNeeds__voice {
        grid-template-columns: repeat(2, 1fr);
    }

    .s-buyingNeeds__point {
        grid-template-columns: repeat(2, 1fr);
    }

    .s-buyingRates__items {
        grid-template-columns: repeat(1, 1fr);
    }

    .s-buyingFlow__images {
        grid-template-columns: repeat(1, 1fr);
    }

    /* disposal */
    .s-disposalIntro__lead {
        text-align: left;
    }

    .s-disposalIntro__stepitems__itemTextArea {
        align-items: baseline;
    }

    .s-disposalIntro__stepitems__itemText {
        margin-top: 0;
        transform: translateY(-4px);
    }

    .s-disposalIntro__stepitems__itemBtn a {
        max-width: 300px;
        width: 100%;
    }

    .s-disposalIntro__stepitems__itemBtn a span {
        justify-content: center;
    }

    .s-disposalIntro__include {
        padding-inline: var(--spc-50);
    }

    .s-disposalCost__box__textRight {
        text-align: left;
    }

    .s-disposalCost__table th,
    .s-disposalCost__table td {
        padding: var(--spc-10);
    }

    th.s-disposalCost__table__leftHead {
        border-right: none;
    }

    /* showroom */
    .s-showroomIntro__heading__item:nth-child(2) {
        line-height: 1.8;
    }

    .s-showroomIntro__heading__item span {
        display: block;
        letter-spacing: 0;
        transform: translateY(-5px) translateX(-5px);
    }

    .s-showroomIntro__list__dt {
        width: 30%;
    }

    .s-showroomIntro__list__dd {
        width: 70%;
    }

    .s-showroomReservation__list {
        grid-template-columns: repeat(1, 1fr);
    }

    .s-showroomAccess .g-inner--ss {
        width: 100%;
    }

    .s-showroomAccess__car__flex {
        grid-template-columns: repeat(1, 1fr);
    }

    .s-showroomAccess__busTrain__flex {
        grid-template-columns: repeat(1, 1fr);
    }

    .s-showroomConsult__recommendTitleWrap {
        width: 100%;
        text-align: center;
    }
    
    .s-showroomConsult__recommendTitle {
        text-align: center;
        padding-inline: 10px;
    }
    
    .s-showroomConsult__recommendList {
        margin-top: var(--spc-20);
        grid-template-columns: repeat(2, 1fr);
    }
    
    .s-showroomConsult__recommendList__item {
        margin-top: 0;
    }

    .s-showroomIntro .g-inner--ss {
        width: 100%;
    }

    .s-showroomIntroduction__list {
        grid-template-columns: repeat(1, 1fr);
    }

    .s-showroomOnlineCustomerService__line {
        flex-direction: column;
    }

    .s-showroomOnlineCustomerService__line__text {
        flex-direction: column;
        align-items: center;
    }

    .s-showroomOnlineCustomerService__line__pic {
        width: 120px;
    }

    .s-showroomOnlineCustomerService__line__pic img {
        border-radius: 30px;
    }

    /* aboutus */
    .s-aboutusMessage__decorationText {
        width: 100%;
    }

    .s-aboutusMessage__ceoImg {
        width: 70%;
    }

    .s-aboutusMessage__ceoImg img {
        position: static;
    }

    .s-aboutusHistory__list__item {
        flex-direction: column;
    }

    .s-aboutusPhilosophy__foot__images {
        grid-template-columns: repeat(1, 1fr);
    }
    
    .s-aboutusVoice__list {
        grid-template-columns: repeat(1, 1fr);
    }
    
    .s-aboutusThoughts__images {
        grid-template-columns: repeat(1, 1fr);
    }

    .s-aboutusThoughts__stories2__images {
        grid-template-columns: repeat(1, 1fr);
    }
    
    .s-aboutusClosing__images {
        grid-template-columns: repeat(2, 1fr);
    }


    /* choice */
    .s-choicelineUp__list {
        grid-template-columns: repeat(2, 1fr);
    }

    .s-choicelSelection__list {
        grid-template-columns: repeat(2, 1fr);
    }

    .s-choicelOriginal__gallery {
        grid-template-columns: repeat(1, 1fr);
    }

    .s-choicelReplacement__ceoImg {
        max-width: 200px;
        width: 60%;
        margin-inline: auto;
    }

    .s-choicelMessage__closingImg {
        position: static;
    }

    /* faq */
    .s-faq__nav {
        grid-template-columns: repeat(2, 1fr);
    }

    .s-faq__dd__movie {
        width: 100%;
    }

    /* kokuuzusi */
    .s-kokuuzusiHeading__nav {
        flex-direction: column;
    }

    .s-kokuuzusiImmediateDelivery__reason {
        flex-direction: column;
        align-items: baseline;
        gap: var(--spc-10);
    }

    .s-kokuuzusiOrdermade__type__list {
        grid-template-columns: repeat(2, 1fr);
    }

    .s-kokuuzusiOrdermade__style__material_list {
        padding-inline: var(--spc-30);
    }

    .s-kokuuzusiOrdermade__coloring__list {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--spc-15);
    }

    .s-kokuuzusiVoice__card {
        grid-template-columns: repeat(1, 1fr);
    }

}


/* 修正 */
li.s-showroomReservation__list__item.s-bnrTel a{
    height: auto;
}
iframe{
    display: block;
    width: 100%;
    height: auto;
}
.s-kokuuzusiOrdermade__size .s-flexStep > :first-child::after,
ul.s-kokuuzusiKaitenEkisyou.s-flexStep > :first-child::after{
    display: none;
}

/* ショールーム */
.s-showroomAccess__car__text{
    margin-top: 10px;
}
.s-showroomAccess--map{
    max-width: 750px;
    margin-inline: auto;
}
.s-showroomAccess--map iframe{
    aspect-ratio: 750/496;
}
.s-showroomAccess__car img{
    aspect-ratio: initial !important;
}
.s-image--showroomAccess__stationBus iframe{
    aspect-ratio: 1;
}

/* ショールームのご案内 */
@media screen and (min-width: 768px){
    .s-showroomConsult__customize__flex > *{
        flex: 1;
    }
}


/* 仏壇の選び方 */
.s-choicelSelection__text{
    background: var(--c-yellow01);
    padding: var(--spc-40);
    border-top-left-radius: 50px;
    border-bottom-right-radius: 50px;
}

.s-choicelSelection__listWrap{
    padding: var(--spc-50) var(--spc-30);
    background: var(--c-yellow01);
}
@media screen and (min-width: 768px){
    .s-choicelSelection__list__itemText{
        font-size: var(--fz-13);
    }
}
@media screen and (max-width: 767px){
    .s-choicelSelection__listWrap{
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    }
}