/* common / inner */
.inner {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
}
.block-ttl {
    color: var(--main);
    font-size: var(--fs-3xl);
    margin-bottom: 37px;
    text-align: center;
}
.block-ttl.w {
    color: #fff;
}
@media screen and (max-width: 1600px) {
    .block-ttl {
        font-size: var(--fs-2xl);
    }
}
@media screen and (max-width: 680px) {
    .block-ttl {
        font-size: var(--fs-xl);
        line-height: 1.4;
    }
}

/* fv */
.fv {
    background: url(../img/page/fv1.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    height: 570px;
}
.page1 {
    background-image: url(../img/page/fv1.jpg);
}
.page2 {
    background-image: url(../img/page/fv2.jpg);
}
.page3 {
    background-image: url(../img/page/fv3.jpg);
}
.page4 {
    background-image: url(../img/page/fv4.jpg);
}
.page5 {
    background-image: url(../img/page/fv5.jpg);
}
.page6 {
    background-image: url(../img/page/fv6.jpg);
}
.page7 {
    background-image: url(../img/page/fv7.jpg);
}
.page8 {
    background-image: url(../img/page/fv8.jpg);
}
.fv-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
.fv-text {
    text-align: center;
}
.fv-text h1 {
    color: var(--main);
    font-size: 76px;
}
.fv-text.w h1 {
    color: #fff;
}
@media screen and (max-width: 1600px) {
    .fv-text h1 { 
        font-size: 65px;
    }
}
@media screen and (max-width: 960px) {
    .fv {
        height: 480px;
    }
    .fv-text h1 {
        font-size: 3rem;
        line-height: 1.3;
    }
}
@media screen and (max-width: 680px) {
    .fv {
        height: 450px;
    }
    .fv-text h1 {
        font-size: var(--fs-2xl);
        line-height: 1.4;
    }
}

/* about */
.about {
    background: url(../img/page/about-bg.jpg) no-repeat;
    background-position: right center;
    background-size: cover;
    padding: 128px 0;
}
.about.floorregin {
    background-image: url(../img/page/about2-bg.jpg);
}
.about.strengths {
    background-image: url(../img/page/strengths.jpg);
}
.about.company {
    background-image: url(../img/page/company-bg.jpg);
}
.about-head h2 {
    text-align: left;
}
.about-body p,
.about-body ul li {
    font-size: 28px;
    color: var(--main);
    line-height: 1.7;
    width: 100%;
    max-width: 700px;
}
.about-body.w100 p {
    max-width: none;
}
.about-body ul {
    margin: 1em 0;
}

@media screen and (max-width: 1600px) {
    .about-body p,
    .about-body ul li {
        font-size: 20px;
    }
}
@media screen and (max-width: 960px) {
    .about {
        padding: 96px 0 80px;
        background-size: cover;
    }
    .about-body p,
    .about-body ul li {
        max-width: 100%;
        font-size: 20px;
    }
}
@media screen and (max-width: 680px) {
    .about {
        padding: 72px 0 64px;
    }
    .about-body p,
    .about-body ul li {
        font-size: var(--fs-md);
        line-height: 1.7;
    }
}

/* architect */
.architect {
    padding: 220px 0;
    background-color: var(--main);
    position: relative;
}
.architect.nobg {
    background: none;
    padding: 120px 0;
}
.architect::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 162px;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(https://longlife-pljapan.jp/wp-content/themes/PL%E3%82%B7%E3%82%99%E3%83%A3%E3%83%8F%E3%82%9A%E3%83%B3/img/point-deco.svg);
}
.architect::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 162px;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(https://longlife-pljapan.jp/wp-content/themes/PL%E3%82%B7%E3%82%99%E3%83%A3%E3%83%8F%E3%82%9A%E3%83%B3/img/point-deco.svg);
    transform: rotate(180deg);
}
.architect.nobg::before,
.architect.nobg::after {
    display: none;
}
.architect-head {
    margin: 0 0 35px;
    text-align: center;
}
.architect-head p {
    color: #fff;
    font-size: var(--fs-md);
    line-height: 1.5;
    font-weight: 500;
}
@media screen and (max-width: 960px) {
    .architect {
        padding: 160px 0;
    }
    .architect::before, .architect::after {
        height: 120px;
    }
}
@media screen and (max-width: 680px) {
    .architect {
        padding: 120px 0;
    }
    .architect::before, .architect::after {
        height: 80px;
    }
}

/* process */
.process {
    padding: 100px 0;
}
.process.bg {
    background: #DEE0E4;
    position: relative;
    z-index: 0;
}
.process.bg::before {
    content: "PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN";
    width: 158px;
    height: 100%;
    font-size: 128px;
    color: rgba(25, 29, 85, 0.08);
    font-family: "Source Serif 4", serif;
    font-weight: 600;
    writing-mode: vertical-rl;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 30px;
    letter-spacing: 0.05em;
    z-index: -1;
}
.process-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 38px;
    margin: 0 0 79px;
}
.process-image {
    width: 498px;
}
.process-text {
    width: calc(100% - (38px + 498px));
}
.process-text h3 {
    font-size: var(--fs-xl);
    margin-bottom: 22px;
    border-bottom: 4px solid var(--sub);
    display: inline-block;
}
.process-text p {
    font-size: var(--fs-md);
    font-weight: 500;
    line-height: 1.85;
    color: #191D55;
    letter-spacing: 0.02em;
}

.process-cards {
    display: flex;
    flex-direction: column;
    gap: 54px;
    counter-reset: number 0 number2 0;
}
.process-card {
    position: relative;
    background: #fff;
    border-radius: 8px 0 0 8px;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    /* filter: drop-shadow(0 0 20px rgb(0 0 0 / 20%)); */
}
.process-card:not(:last-child)::after {
    background: url(../img/page/triangel.png) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 28px;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -44px;
    width: 92px;
}
.process-card__text {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px;
    width: calc(100% - 460px);
}
.process-card.w100 .process-card__text {
    justify-content: flex-start;
    width: 100%;
}
.process-card__image {
    height: auto;
    width: 460px;
}
.process-card__image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.process-card__text .ttl {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.process-card__text .ttl::before {
    color: var(--sub);
    counter-increment: number2 1;
    content: "0" counter(number2);
    display: block;
    font-size: var(--fs-xl);
    font-weight: 700;
    margin-right: 20px;
    position: relative;
    bottom: 10px;
}
.process-card__text h3 {
    font-size: var(--fs-xl);
    margin-bottom: 22px;
    border-bottom: 4px solid var(--sub);
    display: inline-block;
}
.process-card__text h3::before {
    color: var(--sub);
    counter-increment: number 1;
    content: "0"counter(number);
    display: block;
    font-size: var(--fs-xl);
    margin: 0 0 15px;
}
.process-card__text .ttl h3::before {
    display: none;
}
.process-card__text p {
    font-size: var(--fs-md);
    font-weight: 500;
    line-height: 1.85;
    color: #191D55;
    letter-spacing: 0.02em;
}
.process-card__text p.tel,
.process-card__text p.tel a {
    color: var(--main);
    font-size: 32px;
    font-weight: 700;
}
.process-card__text p.tel span {
    font-size: var(--fs-md);
    font-weight: 500;
}
.process-card__text p.tel br {
    display: none;
}
.process-card__text p.notice {
    font-size: 18px;
    margin: 25px 0 0;
}
.process-card__text .btn {
    height: 57px;
    padding: 0;
    width: 100%;
    max-width: 274px;
}
.process-card__text .btn a {
    background: var(--main);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--fs-md);
    font-weight: 700;
    height: 100%;
    width: 100%;
}
@media screen and (max-width: 1600px) {
    .process-card__text h3 {
        font-size: var(--fs-lg);
    }
    .process-card__text h3::before {
        font-size: var(--fs-lg);
    }
    .process-card__text p {
        font-size: var(--fs-sm);
        font-weight: 400;
    }
}
@media screen and (max-width: 960px) {
    .process {
        padding: 75px 0;
    }
    .process-flex {
        gap: 25px;
        margin: 0 0 50px;
    }
    .process-image {
        width: 250px;
    }
    .process-text {
        width: calc(100% - (25px + 250px));
    }
    .process-cards {
        gap: 50px;
    }
    .process-card:not(:last-child)::after {
        bottom: -42px;
    }
    .process-card__text {
        padding: 30px;
        width: calc(100% - 250px);
    }
    .process-card__image {
        width: 250px;
    }
    .process-card__text p.notice {
        font-size: 16px;
        margin: 20px 0 0;
    }
    .process-card__text p.tel {
        margin: 10px 0 15px;
    }
    .process-card__text p.tel,
    .process-card__text p.tel a {
        font-size: 26px;
        line-height: 1;
    }
    .process-card__text p.tel br {
        display: block;
    }
    .process-card__text p.tel span {
        font-size: var(--fs-md);
    }
}
@media screen and (max-width: 680px) {
    .process {
        padding: 65px 0;
    }
    .process.bg::before {
        display: none;
    }
    .process-image {
        width: 100%;
    }
    .process-text {
        width: 100%;
    }
    .process-text h3 {
        font-size: var(--fs-lg);
        margin-bottom: 12px;
    }
    .process-card__text {
        padding: 20px;
        width: 100%;
    }
    .process-card__image {
        width: 100%;
    }
    .process-card__text .ttl::before {
        font-size: var(--fs-lg);
        margin-right: 10px;
        bottom: 8px;
    }
    .process-card__text h3 {
        font-size: var(--fs-lg);
        margin-bottom: 12px;
    }
    .process-card__text h3::before {
        font-size: var(--fs-lg);
    }
    .process-card__text p.notice {
        font-size: 14px;
        margin: 15px 0 0;
    }
}

/* features */
.features {
    background: #000;
}
.features-inner {
    width: 100%;
    max-width: 1492px;
    margin: 0 auto;
    padding: 0 20px;
}
.features-image {
    line-height: 0;
    margin: 0 0 72px;
    position: relative;
}
.features-image::before,
.features-image::after {
    background: #000;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    left: 0;
    width: 100%;
}
.features-image::before {
    top: 0;
}
.features-image::after {
    bottom: 0;
}
.features-card {
    background: #fff;
    border-radius: 8px 0 0 8px;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    filter: drop-shadow(0 0 20px rgb(0 0 0 / 20%));
}
.features-card__text {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px;
    width: calc(100% - 460px);
}
.features-card__image {
    background: #000;
    height: 100%;
    line-height: 0;
    width: 460px;
}
.features-card__image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.features-card__text h3 {
    color: #000;
    font-size: var(--fs-xl);
    margin-bottom: 22px;
    border-bottom: 4px solid #C9B16E;
    display: inline-block;
}
.features-card__text p {
    font-size: var(--fs-md);
    font-weight: 500;
    line-height: 1.85;
    color: #000;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 960px) {
    .features-card__text {
        padding: 30px;
        width: calc(100% - 250px);
    }
    .features-card__image {
        width: 250px;
    }
}
@media screen and (max-width: 680px) {
    .features-card {
        flex-direction: column-reverse;
    }
    .features-card__text {
        padding: 20px;
        width: 100%;
    }
    .features-card__image {
        width: 100%;
    }
    .features-card__text h3 {
        font-size: var(--fs-lg);
        margin-bottom: 12px;
    }
}

/* bg-cards */
.bg-cards {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 24px 20px;
}
.bg-card {
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 22px;
    padding: 27px;
    width: calc((100% - (20px * 1)) / 2);
}
.bg-card__image {
    line-height: 0;
    width: 135px;
}
.bg-card__text {
    width: calc(100% - (135px + 22px));
}
.bg-card__text p {
    color: var(--main);
    font-size: var(--fs-md);
    line-height: 1.5;
    font-weight: 500;
}
@media screen and (max-width: 960px) {
    .bg-cards {
        gap: 20px;
    }
    .bg-card {
        gap: 15px;
        padding: 20px;
    }
    .bg-card__image {
        width: 100px;
    }
    .bg-card__text {
        width: calc(100% - (100px + 15px));
    }
}
@media screen and (max-width: 680px) {
    .bg-card {
        width: 100%;
    }
    .bg-card__image {
        width: 85px;
    }
    .bg-card__text {
        width: calc(100% - (85px + 15px));
    }
}

/* card */
.card {
    background: #fff;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 38px;
    padding: 40px;
}
.card.nopad {
    /* filter: drop-shadow(0 0 20px rgb(0 0 0 / 20%)); */
    padding: 0;
}
.card-text {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(100% - (498px + 38px));
}
.card.nopad .card-text {
    padding: 40px 0 40px 40px;
}
.card.w100 .card-text {
    width: 100%;
}
.card-image {
    height: auto;
    width: 498px;
}
.card-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
    max-width: none;
}
.card-ttl {
    font-size: var(--fs-xl);
    margin-bottom: 22px;
    border-bottom: 4px solid var(--sub);
    display: inline-block;
}
.card-txt {
    font-size: var(--fs-md);
    font-weight: 500;
    line-height: 1.85;
    color: #191D55;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 1600px) {
    .card-ttl {
        font-size: var(--fs-lg);
    }
    .card-txt {
        font-size: var(--fs-sm);
        font-weight: 400;
    }
}
@media screen and (max-width: 960px) {
    .card {
        gap: 25px;
        padding: 30px;
    }
    .card-image {
        width: 250px;
    }
    .card-text {
        width: calc(100% - (25px + 250px));
    }
    .card.nopad .card-text {
        padding: 30px 0 30px 30px;
    }
}
@media screen and (max-width: 680px) {
    .card {
        gap: 20px;
        padding: 20px;
    }
    .card-image {
        width: 100%;
    }
    .card-text {
        width: 100%;
    }
    .card.nopad .card-text {
        padding: 20px;
    }
}

/* worries */
.worries {
    background: url(../img/page/worries-bg.jpg) no-repeat;
    background-color: #DEE0E4;
    background-position: center;
    background-size: cover;
    padding: 120px 0;
}
.worries-items {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 24px;
}
.worries-item {
    background: #fff;
    border-radius: 8px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    filter: drop-shadow(0 0 15px rgb(0 0 0 / 5%));
    padding: 24px;
    width: calc((100% - (24px * 1)) / 2);
}
.worries-item p {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
}
.worries-item p::before {
    background: url(../img/page/check.png) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 32px;
    width: 32px;
}
.worries-item p span {
    display: block;
    font-size: var(--fs-md);
    line-height: 1.5;
    font-weight: 500;
    width: calc(100% - (32px + 16px));
}
@media screen and (max-width: 960px) {
    .worries-item {
        padding: 20px;
    }
    .worries-item p {
        gap: 12px;
    }
    .worries-item p::before {
        height: 30px;
        width: 30px;
    }
    .worries-item p span {
        width: calc(100% - (30px + 12px));
    }
}
@media screen and (max-width: 680px) {
    .worries-item {
        width: 100%;
    }
}

/* solution */
.solution {
    background-color: #DEE0E4;
    padding: 100px 0;
    position: relative;
    z-index: 0;
}
.solution::before {
    content: "PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN";
    width: 158px;
    height: 100%;
    font-size: 128px;
    color: rgba(25, 29, 85, 0.08);
    font-family: "Source Serif 4", serif;
    font-weight: 600;
    writing-mode: vertical-rl;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 30px;
    letter-spacing: 0.05em;
    z-index: -1;
}
.solution-inner {
    width: 100%;
    max-width: calc(1294px + 40px);
    margin: 0 auto;
    padding: 0 20px;
}
.solution-head {
    margin: 0 0 50px;
    text-align: center;
}
.solution-head p {
    font-size: var(--fs-md);
    line-height: 1.5;
    font-weight: 500;
}
.solution-flex {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 50px;
    margin: 84px 0 115px;
}
.solution-text {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 46px;
    width: calc(50% - 50px);
}
.solution-image {
    width: 50%;
}
.solution-text h3 {
    font-size: var(--fs-xl);
    margin-bottom: 35px;
    display: inline-block;
}
.solution-text ul {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.solution-text ul li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
}
.solution-text ul li::before {
    background: url(../img/page/check.png) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 32px;
    width: 32px;
}
.solution-text ul li p {
    font-size: var(--fs-md);
    line-height: 1.5;
    font-weight: 500;
    width: calc(100% - (32px + 16px));
}
.solution-strength__ttl {
    margin: 0 0 45px;
    text-align: center;
}
.solution-strength__ttl h3 {
    font-size: 40px;
    font-weight: 500;
    line-height: 1.85;
    color: var(--main);
    letter-spacing: 0.02em;
}
.solution-strength__cards {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 25px;
    margin: 0 auto;
    width: 100%;
    max-width: 1163px;
}
.solution-strength__card {
    background: #fff;
    border-radius: 8px;
    padding: 67px 47px 47px;
    width: calc((100% - (25px * 2)) / 3);
    max-width: 371px;
}
.solution-strength__cards.col2 {
    justify-content: center;
    max-width: 767px;
}
.solution-strength__cards.col2 .solution-strength__card {
    width: calc((100% - (25px * 1)) / 2);
}
.solution-strength__image {
    line-height: 0;
    margin: 0 auto;
    position: relative;
    width: 100%;
    max-width: 207px;
}
.solution-strength__image p {
    color: var(--sub);
    font-size: var(--fs-xl);
    font-weight: 700;
    position: absolute;
    left: 0;
    top: -20px;
}
.solution-strength__text {
    margin: 15px auto 0;
    width: 100%;
    max-width: 207px;
}
.solution-strength__text.c {
    text-align: center;
}
.solution-strength__text p {
    font-size: var(--fs-md);
    line-height: 1.5;
    font-weight: 500;
}
@media screen and (max-width: 1600px) {
    .solution-strength__ttl h3 {
        font-size: 35px;
    }
}
@media screen and (max-width: 960px) {
    .solution {
        padding: 70px 0;
    }
    .solution-head {
        margin: 0 0 35px;
    }
    .solution-flex {
        gap: 25px;
        margin: 60px 0 85px;
    }
    .solution-text {
        padding: 0;
        width: calc(50% - 25px);
    }
    .solution-image {
        width: 50%;
    }
    .solution-text h3 {
        margin-bottom: 25px;
    }
    .solution-text ul li {
        gap: 12px;
    }
    .solution-text ul li::before {
        height: 30px;
        width: 30px;
    }
    .solution-text ul li p {
        width: calc(100% - (30px + 12px));
    }
    .solution-strength__cards {
        gap: 20px;
    }
    .solution-strength__card {
        padding: 50px 35px 35px;
        width: calc((100% - (20px * 2)) / 3);
    }
    .solution-strength__image p {
        top: -15px;
    }
    .solution-strength__ttl {
        margin: 0 0 20px;
    }
    .solution-strength__ttl h3 {
        font-size: 32px;
    }
}
@media screen and (max-width: 680px) {
    .solution {
        padding: 60px 0;
    }
    .solution::before {
        display: none;
    }
    .solution-flex {
        gap: 20px;
        margin: 50px 0 70px;
    }
    .solution-text {
        margin: 0 0 20px;
        width: 100%;
    }
    .solution-image {
        width: 100%;
    }
    .solution-text ul li {
        gap: 10px;
    }
    .solution-text ul li p {
        width: calc(100% - (30px + 10px));
    }
    .solution-strength__card {
        padding: 50px 15px 35px;
        width: 100%;
    }
    .solution-strength__ttl h3 {
        font-size: 26px;
    }
}

/* material */
.material {
    padding: 85px 0;
}
.material-head {
    margin: 0 0 85px;
}
.spec {
    margin: 35px auto 0;
    width: 100%;
    max-width: 704px;
}
.spec-ttl {
    margin: 0 0 15px;
    text-align: center;
}
.spec-ttl h3 {
    color: var(--sub);
    font-size: 24px;
    font-weight: 700;
}
.spec-table {
    border: 1px solid var(--sub);
    border-collapse: collapse;
    width: 100%;
}
.spec-table th {
    background: var(--sub);
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}
.spec-table th,
.spec-table td {
    border: 1px solid var(--sub);
    padding: 15px;
    text-align: center;
}
.spec-table tr:not(:first-child) th {
    background: #DAEFF6;
    color: var(--sub);
    font-size: 25px;
    font-weight: 700;
}
.spec-table td {
    background: #fff;
    color: #2B2B2B;
    font-size: 25px;
    font-weight: 700;
}
.spec-table td span {
    font-size: 18px;
}
@media screen and (max-width: 960px) {
    .material {
        padding: 70px 0;
    }
    .material-head {
        margin: 0 0 65px;
    }
    .spec {
        margin: 30px auto 0;
    }
    .spec-ttl h3 {
        font-size: 21px;
    }
    .spec-table th {
        font-size: 16px;
    }
    .spec-table th,
    .spec-table td {
        padding: 12px;
    }
    .spec-table tr:not(:first-child) th {
        font-size: 21px;
    }
    .spec-table td {
        font-size: 21px;
    }
    .spec-table td span {
        font-size: 16px;
    }
}
@media screen and (max-width: 680px) {
    .material {
        padding: 60px 0;
    }
    .material-head {
        margin: 0 0 50px;
    }
    .spec {
        margin: 25px auto 0;
    }
    .spec-ttl h3 {
        font-size: 18px;
    }
    .spec-table th {
        font-size: 14px;
    }
    .spec-table th,
    .spec-table td {
        padding: 10px;
    }
    .spec-table tr:not(:first-child) th {
        font-size: 18px;
    }
    .spec-table td {
        font-size: 18px;
    }
    .spec-table td span {
        font-size: 14px;
    }
}

/* specification */
.specification {
    padding: 100px 0;
}
.specification-inner {
    width: 100%;
    max-width: calc(1451px + 40px);
    margin: 0 auto;
    padding: 0 20px;
}
.specification-head {
    margin: 0 0 45px;
}
.specification-head h2 {
    color: var(--sub);
}
.specification-tables {
    display: flex;
    flex-direction: column;
    gap: 55px;
}
.specification-table__item h3 {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 20px;
}
.specification-card {
    filter: drop-shadow(0 0 20px rgb(0 0 0 / 20%));
    margin: 74px auto 0;
}
.specification-card__text {
    padding: 40px 0 40px 40px;
}
.specification-items {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.specification-item {
    width: 50%;
}
@media screen and (max-width: 960px) {
    .specification {
        padding: 75px 0;
    }
    .specification-head {
        margin: 0 0 35px;
    }
    .specification-tables {
        gap: 40px;
    }
    .specification-table__item h3 {
        font-size: 21px;
        margin: 0 0 15px;
    }
    .specification-card {
        margin: 60px auto 0;
    }
    .specification-card__text {
        padding: 30px 0 30px 30px;
    }
}
@media screen and (max-width: 680px) {
    .specification {
        padding: 60px 0;
    }
    .specification-head {
        margin: 0 0 30px;
    }
    .specification-tables {
        gap: 25px;
    }
    .specification-table__item h3 {
        font-size: 18px;
    }
    .specification-card {
        flex-direction: column;
        margin: 50px auto 0;
    }
    .specification-card__text {
        padding: 20px;
    }
    .specification-items {
        gap: 20px;
    }
    .specification-item {
        width: 100%;
    }
}

/* bgsec */
.bgsec {
    background-color: #DEE0E4;
    padding: 85px 0;
    position: relative;
    z-index: 0;
}
.bgsec::before {
    content: "PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN";
    width: 158px;
    height: 100%;
    font-size: 128px;
    color: rgba(25, 29, 85, 0.08);
    font-family: "Source Serif 4", serif;
    font-weight: 600;
    writing-mode: vertical-rl;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 30px;
    letter-spacing: 0.05em;
    z-index: -1;
}
@media screen and (max-width: 960px) {
}
@media screen and (max-width: 680px) {
}

/* archi */
.archi {
    background-color: #DEE0E4;
    padding: 85px 0;
    position: relative;
    z-index: 0;
}
.archi::before {
    content: "PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN PAINT LINE JAPAN";
    width: 158px;
    height: 100%;
    font-size: 128px;
    color: rgba(25, 29, 85, 0.08);
    font-family: "Source Serif 4", serif;
    font-weight: 600;
    writing-mode: vertical-rl;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 30px;
    letter-spacing: 0.05em;
    z-index: -1;
}
.archi-inner {
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
    max-width: calc(1152px + 40px);
}
.archi-head {
    margin: 0 0 50px;
}
.archi-items {
    counter-reset: archi 0;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 35px 18px;
}
.archi-item {
    width: calc((100% - (18px * 1)) / 2);
}
.archi-item__ttl {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 0 20px;
}
.archi-item__ttl::before {
    color: var(--sub);
    counter-increment: archi 1;
    content: "0" counter(archi);
    display: block;
    font-size: var(--fs-xl);
    font-weight: 700;
    margin-right: 20px;
    position: relative;
    bottom: 10px;
}
.archi-item__ttl h3 {
    font-size: var(--fs-xl);
    margin-bottom: 22px;
    border-bottom: 4px solid var(--sub);
    display: inline-block;
}
.archi-item__ttl h3 span {
    font-size: .8em;
}
.archi-item__image {
    line-height: 0;
}
@media screen and (max-width: 960px) {
    .archi {
        padding: 70px 0;
    }
    .archi-head {
        margin: 0 0 40px;
    }
    .archi-items {
        gap: 25px 15px;
    }
    .archi-item {
        width: calc((100% - (15px * 1)) / 2);
    }
    .archi-item__ttl::before {
        font-size: var(--fs-xl);
        margin-right: 20px;
        bottom: 10px;
    }
    .archi-item__ttl h3 {
        font-size: var(--fs-xl);
        margin-bottom: 22px;
    }
}
@media screen and (max-width: 680px) {
    .archi {
        padding: 60px 0;
    }
    .archi-head {
        margin: 0 0 35px;
    }
    .archi::before {
        display: none;
    }
    .archi-item {
        width: 100%;
    }
    .archi-item__ttl h3 {
        font-size: var(--fs-lg);
        margin-bottom: 12px;
    }
    .archi-item__ttl::before {
        font-size: var(--fs-lg);
        margin-right: 10px;
        bottom: 8px;
    }
}

/* block */
.ingredient {
    padding: 85px 0 100px;
    position: relative;
}
.ingredient-inner {
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
    max-width: calc(1452px + 40px);
}
.ingredient-head {
    margin: 0 0 85px;
}
.ingredient-card {
    filter: drop-shadow(0 0 20px rgb(0 0 0 / 20%));
    margin: 74px auto 0;
}
.ingredient-card__text {
    padding: 40px 0 40px 40px;
}
@media screen and (max-width: 960px) {
    .ingredient {
        padding: 75px 0;
    }
    .ingredient-head {
        margin: 0 0 35px;
    }
    .ingredient-card {
        margin: 60px auto 0;
    }
    .ingredient-card__text {
        padding: 30px 0 30px 30px;
    }
}
@media screen and (max-width: 680px) {
    .ingredient {
        padding: 60px 0;
    }
    .ingredient-head {
        margin: 0 0 30px;
    }
    .ingredient-card {
        flex-direction: column;
        margin: 50px auto 0;
    }
    .ingredient-card__text {
        padding: 20px;
    }
}

/* flex-cards */
.flex-cards {
    display: flex;
    flex-direction: column;
    gap: 88px;
    margin: 0 auto;
    width: 100%;
    max-width: 1146px;
}
.flex-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1em;
}
.flex-card:nth-child(even) {
    flex-direction: row-reverse;
}
.flex-card__text {
    width: calc(100% - (498px + 38px));
}
.flex-card__text h3 {
    font-size: var(--fs-xl);
    margin-bottom: 22px;
    border-bottom: 4px solid var(--sub);
    display: inline-block;
}
.flex-card__text p {
    font-size: var(--fs-md);
    font-weight: 500;
    line-height: 1.85;
    color: #191D55;
    letter-spacing: 0.02em;
}
.flex-card__image {
    line-height: 0;
    width: 498px;
}
@media screen and (max-width: 1600px) {
    .flex-card__text h3 {
        font-size: var(--fs-lg);
    }
    .flex-card__text p {
        font-size: var(--fs-sm);
        font-weight: 400;
    }
}
@media screen and (max-width: 960px) {
    .flex-cards {
        gap: 25px;
        padding: 30px;
    }
    .flex-card__image {
        width: 250px;
    }
    .flex-card__text {
        width: calc(100% - (25px + 250px));
    }
}
@media screen and (max-width: 680px) {
    .flex-cards {
        gap: 20px;
        padding: 20px;
    }
    .flex-card__image {
        width: 100%;
    }
    .flex-card__text {
        width: 100%;
    }
}

/* block */
.block-sub__ttl {
    margin: 0 0 20px;
    text-align: center;
}
.block-sub__ttl.mb {
    margin-bottom: 50px;
}
.block-sub__ttl.left {
    text-align: left;
}
.block-sub__ttl h2 {
    font-size: 40px;
    font-weight: 500;
    line-height: 1.85;
    color: var(--main);
    letter-spacing: 0.02em;
    margin-bottom: 37px;
}
.block-sub__ttl p {
    font-size: var(--fs-lg);
    font-weight: 500;
    line-height: 1.85;
    color: #191D55;
    letter-spacing: 0.02em;
    margin: 20px 0 0;
}
@media screen and (max-width: 960px) {
    .block-sub__ttl h2 {
        font-size: 32px;
    }
}
@media screen and (max-width: 680px) {
    .block-sub__ttl h2 {
        font-size: 26px;
    }
}

/* background */
.background {
    padding: 0 0 85px;
}
.background-card__text {
    width: calc(100% - (400px + 38px));
}
.background-card__image {
    background: #201211;
    width: 400px;
}
.background-card__image img {
    object-fit: contain;
}
.background-card__text h3 {
    border-color: #C9B16E;
}
.background-card__text h4 {
    font-size: var(--fs-lg);
    font-weight: 700;
    margin: 0 0 25px;
}
@media screen and (max-width: 960px) {
    .background {
        padding: 0 0 70px;
    }
    .background-card__text {
        width: calc(100% - (250px + 25px));
    }
    .background-card__image {
        width: 250px;
    }
    .background-card__text h4 {
        margin: 0 0 20px;
    }
}
@media screen and (max-width: 680px) {
    .background {
        padding: 0 0 60px;
    }
    .background-card {
        gap: 0;
    }
    .background-card__text {
        width: 100%;
    }
    .background-card__image {
        width: 100%;
    }
}

/* merit */
.merit {
    padding: 0 0 85px;
}
.merit-items {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 24px;
}
.merit-item {
    background: #fff;
    border-radius: 8px;
    padding: 38px;
    width: calc((100% - (24px * 1)) / 2);
}
.merit-item h3 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: var(--fs-lg);
    font-weight: 400;
}
.merit-item h3 span {
    font-size: 1.3em;
    font-weight: 700;
    margin-left: 5px;
}
.merit-item p {
    font-size: var(--fs-md);
    font-weight: 500;
    line-height: 1.85;
    color: #191D55;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 960px) {
    .merit {
        padding: 0 0 70px;
    }
    .merit-items {
        gap: 20px;
    }
    .merit-item {
        padding: 25px;
        width: calc((100% - (20px * 1)) / 2);
    }
}
@media screen and (max-width: 680px) {
    .merit {
        padding: 0 0 60px;
    }
    .merit-item {
        padding: 20px;
        width: 100%;
    }
}

/* hope */
.hope-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.hope-flex__image {
    width: 500px;
}
.hope-flex__text {
    width: calc(100% - (500px + 40px));
}
.hope-flex__text p {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.85;
    color: #191D55;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 960px) {
    .hope-flex {
        align-items: flex-start;
    }
    .hope-flex__image {
        width: 300px;
    }
    .hope-flex__text {
        width: calc(100% - (300px + 20px));
    }
    .hope-flex__text p {
        font-size: 18px;
    }
}
@media screen and (max-width: 680px) {
    .hope-flex__image {
        margin: 0 0 15px;
        width: 100%;
    }
    .hope-flex__text {
        width: 100%;
    }
    .hope-flex__text p {
        font-size: 16px;
    }
}

/* content */
.content-body {
    margin-top: 50px 0 0;
}
.content {
    display: flex;
    flex-direction: column;
    gap: 38px;
}
.content p {
    font-size: var(--fs-lg);
    font-weight: 500;
    line-height: 1.85;
    color: #fff;
    letter-spacing: 0.02em;
}
.nobg .content p {
    color: var(--main);
}
.content-img {
    line-height: 0;
}
@media screen and (max-width: 960px) {
    .content {
        gap: 30px;
    }
    .content p {
        font-size: var(--fs-md);
    }
}
@media screen and (max-width: 680px) {
    .content {
        gap: 25px;
    }
}

/* lineup */
.lineup {
    background: none;
}
.lineup::before {
    display: none;
}
@media screen and (max-width: 960px) {
}
@media screen and (max-width: 680px) {
}

/* moreinfo */
.moreinfo {
    padding: 85px 0;
}
.moreinfo-head {
    margin: 0 0 35px;
    text-align: center;
}
.moreinfo-head p {
    font-size: var(--fs-md);
    line-height: 1.5;
    font-weight: 500;
}
.moreinfo-btns {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 40px;
    margin: 0 auto;
    width: 100%;
    max-width: 840px;
}
.moreinfo-btn {
    height: 72px;
    width: calc((100% - (40px * 1)) / 2);
}
.moreinfo-btn a {
    background: var(--main);
    border: 2px solid var(--main);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--fs-md);
    font-weight: 500;
    height: 100%;
    width: 100%;
}
.moreinfo-btn.solid a {
    background: #fff;
    color: var(--main);
}
.moreinfo-btn a:hover {
    transform: scale(1.02);
    transition: transform 0.3s ease-in-out;
}
@media screen and (max-width: 960px) {
    .moreinfo-btns {
        gap: 25px;
    }
    .moreinfo-btn {
        height: 72px;
        width: calc((100% - (25px * 1)) / 2);
    }
}
@media screen and (max-width: 680px) {
    .moreinfo-btns {
        gap: 20px;
    }
    .moreinfo-btn {
        width: 100%;
    }
}

/* pcontact */
.pcontact {
    margin: 50px 0 0;
    text-align: center;
}
.pcontact-head {
    margin: 0 0 10px;
}
.pcontact-head h3 {
    color: var(--main);
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 20px;
}
.pcontact-head p {
    color: var(--main);
    font-size: var(--fs-md);
    font-weight: 500;
}
.pcontact-body p.tel,
.pcontact-body p.tel a {
    color: var(--main);
    font-size: 32px;
    font-weight: 700;
}
.pcontact-body p.tel span {
    font-size: var(--fs-md);
    font-weight: 500;
}
.pcontact-body p.tel br {
    display: none;
}
.pcontact-btn {
    height: 57px;
    margin: 45px auto 0;
    width: 100%;
    max-width: 274px;
}
.pcontact-btn a {
    background: var(--main);
    border: 2px solid var(--main);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--fs-md);
    font-weight: 500;
    height: 100%;
    width: 100%;
}
.pcontact-btn a:hover {
    transform: scale(1.02);
    transition: transform 0.3s ease-in-out;
}
@media screen and (max-width: 960px) {
    .pcontact-body p.tel,
    .pcontact-body p.tel a {
        font-size: 26px;
    }
    .pcontact-body p.tel br {
        display: block;
    }
}
@media screen and (max-width: 680px) {
}

/* reasons */
.reasons-head {
    margin: 0 0 100px;
}
.reasons-items {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 100px 63px;
}
.reasons-item {
    position: relative;
    width: calc((100% - (63px * 1)) / 2);
}
.reasons-item:first-child {
    width: 100%;
}
.reasons-item__image {
    line-height: 0;
}
.reasons-item__text {
    margin: 20px 0 0;
}
.reasons-item__text p {
    color: var(--main);
    font-size: var(--fs-md);
    font-weight: 500;
}
@media screen and (max-width: 960px) {
    .reasons-head {
        margin: 0 0 80px;
    }
    .reasons-items {
        gap: 50px 25px;
    }
    .reasons-item {
        position: relative;
        width: calc((100% - (25px * 1)) / 2);
    }
}
@media screen and (max-width: 680px) {
    .reasons-head {
        margin: 0 0 60px;
    }
    .reasons-items {
        gap: 45px;
    }
    .reasons-item {
        width: 100%;
    }
}

/* types */
.types {
    background: linear-gradient(180deg, #005AB3 0%, #090D3B 100%);
    padding: 65px 0;
}
.types-inner {
    width: 100%;
    max-width: 1568px;
    margin: 0 auto;
    padding: 0 20px
}
.types-head {
    margin: 0 0 25px;
    text-align: center;
}
.types-head h2 {
    font-family: "Noto Sans JP", sans-serif;
    font-size: var(--fs-xl);
    color: #fff;
    text-align: center;
}
.types-blocks {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.types-block__ttl {
    border: 1px solid #fff;
    margin: 0 auto 25px;
    width: 100%;
    max-width: max-content;
}
.types-block__ttl p {
    color: #fff;
    font-size: var(--fs-md);
    font-weight: 500;
    padding: 2px 20px;
}
.types-items {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 16px;
}
.types-item {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 280px;
    width: calc((100% - (16px * 1)) / 2);
}
.types-item:last-child {
    width: 100%;
}
.types-item:nth-child(1) {
    background-image: url(../img/page/type1.jpg);
}
.types-item:nth-child(2) {
    background-image: url(../img/page/type2.jpg);
}
.types-item:nth-child(3) {
    background-image: url(../img/page/type3.jpg);
}
.types-item:nth-child(4) {
    background-image: url(../img/page/type4.jpg);
}
.types-item:nth-child(5) {
    background-image: url(../img/page/type5.jpg);
}
.types-item:nth-child(6) {
    background-image: url(../img/page/type6.jpg);
}
.types-item:nth-child(7) {
    background-image: url(../img/page/type7.jpg);
}
.types-item:nth-child(8) {
    background-image: url(../img/page/type8.jpg);
}
.types-item:nth-child(9) {
    background-image: url(../img/page/type9.jpg);
}
.types-item:nth-child(10) {
    background-image: url(../img/page/type10.jpg);
}
.types-item p {
    background: #fff;
    color: var(--main);
    font-size: var(--fs-lg);
    font-weight: 700;
    padding: 3px 10px;
}
@media screen and (max-width: 960px) {
    .types {
        padding: 50px 0;
    }
    .types-head {
        margin: 0 0 25px;
    }
    .types-head h2 {
        font-size: var(--fs-lg);
    }
    .types-blocks {
        gap: 30px;
    }
    .types-block__ttl {
        margin: 0 auto 25px;
    }
    .types-block__ttl p {
        padding: 2px 15px;
    }
    .types-items {
        gap: 10px;
    }
    .types-item {
        height: 280px;
        width: calc((100% - (10px * 1)) / 2);
    }
    .types-item p {
        font-size: var(--fs-md);
    }
}
@media screen and (max-width: 680px) {
    .types-item {
        height: 150px;
        width: 100%;
    }
}

/* breadcrumbs */
.breadcrumbs {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    margin: 0 auto;
    padding: 10px 20px;
    width: 100%;
    max-width: calc(1106px + 40px);
}
.breadcrumbs-item:not(:last-child)::after {
    content: "／";
    margin-left: 10px;
}
.breadcrumbs-item span,
.breadcrumbs-item a,
.breadcrumbs-item:not(:last-child)::after {
    color: #000;
    font-size: 14px;
    font-weight: 400;
}
@media screen and (max-width: 960px) {
}
@media screen and (max-width: 680px) {
    .breadcrumbs {
        gap: 5px;
        padding: 5px 20px;
    }
    .breadcrumbs-item:not(:last-child)::after {
        margin-left: 5px;
    }
}

/* company */
.company__inner {
    width: 100%;
    max-width: 1200px;
    margin: 100px auto;
    padding: 0 20px;
}
.company__table {
    width: 87%;
    margin: 5rem auto;
    display: flex;
    flex-wrap: wrap;
}
.company__table dt {
    width: 30%;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.125rem;
    padding: 1.8rem;
}
.company__table dt {
    border-bottom: 1px solid;
}
.company__table dd {
    width: 70%;
    text-align: left;
    padding: 2.4rem;
}
.company__table dd {
    border-bottom: 1px solid lightgray;
}

.company__map {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.company__map dl {
  margin: 0;
}
.company__map dt {
    font-weight: bold;
    margin-bottom: 12px;
    padding-bottom: 7px;
    border-bottom: 1px solid;
    font-size: var(--fs-md);
}
.company__map dd {
  margin: 0;
}
.company__map iframe {
  display: block;
  width: 100%;
  height: 300px;
  border: 0;
}

@media screen and (max-width: 960px) {
    .company__table {
        width: 100%;
        margin: 3rem auto;
    }
}
@media (max-width: 768px) {
  .company__map {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
@media screen and (max-width: 680px) {
    .company__inner {
        padding: 0 16px;
        margin: 70px auto;
    }
    .company__table dt {
        display: block;
        margin-bottom: 8px;
        width: 100%;
        padding: 1rem;
        border-bottom: 1px solid;
    }
    .company__table dd {
        margin-bottom: 10px;
        width: 100%;
        padding: 1rem;
        border-bottom: none;
    }
}

/* 加盟店紹介 */
.members-inner {
  padding-block: 60px;
}
.members-nav {
  margin-bottom: 48px;
}
.members-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.members-nav__link {
  display: inline-block;
  padding: 6px 16px;
  border: 1px solid var(--main);
  color: var(--main);
  text-decoration: none;
  border-radius: 2px;
  transition: background-color 0.2s, color 0.2s;
}

.members-nav__link:hover {
  background-color: var(--main);
  color: #fff;
}

.members-block {
  margin-bottom: 64px;
}

.members-block__ttl {
    font-size: var(--fs-xl);
  border-left: 4px solid;
  padding-left: 12px;
  margin-bottom: 24px;
  line-height: 1.5;
}

.members-block__sub {
  display: block;
  font-size: 0.5em;
  font-family: auto;
  font-weight: normal;
  color: var(--color-text-sub, #666);
  margin-top: 6px;
}

.members-card {
  border-bottom: 1px solid var(--color-border, #ddd);
  padding-block: 20px;
}

.members-card:first-of-type {
  border-top: 1px solid var(--color-border, #ddd);
}

.members-card__name {
  color: var(--sub);
  margin: 0 0 12px;
}

.members-card__info {
  display: grid;
  grid-template-columns: 5em 1fr;
  gap: 4px 8px;
  margin: 0;
}

.members-card__info dt {
  color: var(--color-text-sub, #666);
  white-space: nowrap;
}

.members-card__info dd {
  margin: 0;
  word-break: break-all;
}

.members-card__info a {
  color: var(--sub);
  word-break: break-all;
  text-decoration: underline;
}

@media (max-width: 768px) {
  .members-inner {
    padding-block: 40px;
  }
  .members-block__ttl {
    font-size: var(--fs-lg);
    }
    .members-block__sub {
    font-size: 0.7em;
    }
}

/* privacy */
.privacy__inner {
    width: 100%;
    max-width: 1200px;
    margin: 100px auto;
    padding: 0 20px;
}
.privacy__inner h3 {
    margin: 3em 0 1em;
    font-size: var(--fs-lg);
}
.privacy__inner p {
    padding: 1% 0;
}
@media screen and (max-width: 680px) {
    .privacy__inner {
        padding: 0 16px;
        margin: 70px auto;
    }
    .privacy__inner h3 {
    margin: 1.4em 0 1em;
}
}


/* inquiry-us */
.inquiry__txt {
    text-align:center;
}
.inquiry .contact {
    position: relative;
    width: 50%;
    margin: 2em auto 4em;
}
@media screen and (max-width: 680px) {
    .inquiry .contact {
    width: 100%;
}
}
.inquiry .contact:after, .inquiry .contact:before {
    border-color: var(--main);
    content: "";
    display: inline-block;
    height: 100%;
    position: absolute;
    width: .75em;
}
.inquiry .contact:before {
    border-bottom: 1px solid;
    border-left: 1px solid;
    border-top: 1px solid;
    bottom: 0;
    left: 0;
}
.inquiry .contact:after {
    border-bottom: 1px solid;
    border-right: 1px solid;
    border-top: 1px solid;
    bottom: 0;
    right: 0;
}
.inquiry .contact a {
    color: var(--main);
    padding: 1.5em;
    text-align: center;
}
.inquiry .contact a .tel {
    font-weight: bold;
    font-size: var(--fs-2xl);
}
.contact_ttl {
    margin-top: 2em;
}
.contact_details{
    margin-bottom:7px;
}
p.syodaku {
    border-top: 1px solid #d5d5d5;
    padding-top: 1.4em;
}
/* フォームのテンプレート template01 */
.form__wrap {
    width: 90%;
    max-width: 900px;
    margin-right: auto;
    margin-left: auto;
}
.wpcf7 .template01 {
    color: #333;
    font-size: 16px;
}
.wpcf7 .template01 a {
    margin: 0;
    padding: 0;
    text-decoration: underline;
    color: inherit;
    transition: opacity .25s;
}
.wpcf7 .template01 a:hover {
    opacity: .5;
    transition: opacity .25s;
}
.wpcf7 .template01 div.form__row {
    margin: 0;
    padding: 0;
    margin-top: 2em;
}
.wpcf7 .template01 div.form__row.row-privacy {
    margin-top: 3.5em;
    text-align: center;
}
.wpcf7 .template01 p.form__label,
.wpcf7 .template01 p.form__body {
    margin: 0;
    margin-bottom: 7px;
    box-sizing: border-box;
}
.wpcf7 .template01 p.form__label label {
    position: relative;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.wpcf7 .template01 p.form__label.is-required label,
.wpcf7 .template01 p.form__label.is-optional label {
    padding-left: 45px;
}
.wpcf7 .template01 p.form__label.is-required label::after,
.wpcf7 .template01 p.form__label.is-optional label::after {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 36px;
    color: #fff;
    text-align: center;
    font-size: 11px;
    padding: 2px;
    border-radius: 3px;
    box-sizing: border-box;
}
.wpcf7 .template01 p.form__label.is-required label::after {
    content: "必須";
    background: #f00;
}
.wpcf7 .template01 p.form__label.is-optional label::after {
    content: "任意";
    background: #5c5c5c;
}
.wpcf7 .template01 p.form__zip {
    width: 140px;
}
.wpcf7 .template01 p.form__short {
    width: 50%;
}
.wpcf7 .template01 p.form__short span {
    display: inline-block;
    width: 50%;
}
.wpcf7 .template01 p.form__short02 {
    width: 70%;
}
.wpcf7 .template01 p.form__short02 span {
    display: inline-block;
    width: 80px;
}
@media only screen and (max-width: 768px) {
    .wpcf7 .template01 p.form__short {
        width: 100%;
    }
    .wpcf7 .template01 p.form__short02 {
        width: 100%;
    }
}
/* チェックボックス */
.wpcf7 .template01 input[type=checkbox] {
    display: none;
}
.wpcf7 .template01 input[type=checkbox]+span {
    cursor: pointer;
    position: relative;
    margin: 0;
    padding: 0 1em 0 1.8em;
    font-size: inherit;
    box-sizing: border-box;
    transition: opacity .25s ease;
    line-height: 1.5;
}
.wpcf7 .template01 input[type=checkbox]+span::before {
    content: "";
    opacity: 1;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 1.24em;
    height: 1.24em;
    border: 1px solid #ccc;
    border-radius: 0;
    background-color: #fff;
    box-sizing: border-box;
    transition: opacity .25s ease;
    z-index: 1;
}
.wpcf7 .template01 input[type=checkbox]+span::after {
    content: "";
    opacity: 0;
    display: block;
    position: absolute;
    top: 0.15em;
    left: 0.44em;
    width: 0.4em;
    height: .8em;
    border-bottom: 3px solid #000;
    border-right: 3px solid #000;
    box-sizing: border-box;
    transform: rotate(40deg);
    transition: opacity .25s ease;
    z-index: 10;
}
.wpcf7 .template01 input[type=checkbox]:checked+span::before {
    opacity: 1;
    transition: opacity .25s ease;
}
.wpcf7 .template01 input[type=checkbox]:checked+span::after {
    opacity: 1;
    border-bottom: 2px solid #306ad4;
    border-right: 2px solid #306ad4;
    transition: opacity .25s ease;
}
/* テキストフィールド */
.wpcf7 .template01 input[type=text],
.wpcf7 .template01 input[type=tel],
.wpcf7 .template01 input[type=email],
.wpcf7 .template01 input[type=url],
.wpcf7 .template01 input[type=date],
.wpcf7 .template01 input[type=number],
.wpcf7 .template01 textarea {
    width: 100%;
    margin: 0;
    padding: .5em 1em;
    border: 1px solid #ccc;
    border-radius: 0;
    box-shadow: none;
    background-color: #fff;
    color: var(--bg-color);
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
/* テキストフィールド placeholder */
.wpcf7 .template01 input[type=text]::placeholder,
.wpcf7 .template01 input[type=tel]::placeholder,
.wpcf7 .template01 input[type=email]::placeholder,
.wpcf7 .template01 input[type=url]::placeholder,
.wpcf7 .template01 input[type=date]::placeholder,
.wpcf7 .template01 input[type=number]::placeholder,
.wpcf7 .template01 textarea::placeholder {
    color: #ccc;
}
.wpcf7 .template01 input[type=text]:-ms-input-placeholder,
.wpcf7 .template01 input[type=tel]:-ms-input-placeholder,
.wpcf7 .template01 input[type=email]:-ms-input-placeholder,
.wpcf7 .template01 input[type=url]:-ms-input-placeholder,
.wpcf7 .template01 input[type=date]:-ms-input-placeholder,
.wpcf7 .template01 input[type=number]:-ms-input-placeholder,
.wpcf7 .template01 textarea:-ms-input-placeholder {
    color: #ccc;
}
.wpcf7 .template01 input[type=text]::-ms-input-placeholder,
.wpcf7 .template01 input[type=tel]::-ms-input-placeholder,
.wpcf7 .template01 input[type=email]::-ms-input-placeholder,
.wpcf7 .template01 input[type=url]::-ms-input-placeholder,
.wpcf7 .template01 input[type=date]::-ms-input-placeholder,
.wpcf7 .template01 input[type=number]::-ms-input-placeholder,
.wpcf7 .template01 textarea::-ms-input-placeholder {
    color: #ccc;
}
/* テキストフィールド フォーカス時 */
.wpcf7 .template01 input[type=text]:focus,
.wpcf7 .template01 input[type=tel]:focus,
.wpcf7 .template01 input[type=email]:focus,
.wpcf7 .template01 input[type=url]:focus,
.wpcf7 .template01 input[type=date]:focus,
.wpcf7 .template01 input[type=number]:focus,
.wpcf7 .template01 textarea:focus {
    outline: 0;
    border: 1px #080808 solid;
}
/* ラジオボタン */
.wpcf7 .template01 input[type=radio] {
    display: none;
}
.wpcf7 .template01 input[type=radio]+span {
    cursor: pointer;
    position: relative;
    margin: 0;
    padding: 0 1em 0 1.8em;
    font-size: inherit;
    transition: opacity .25s ease;
}
.wpcf7 .template01 input[type=radio]+span::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 1em;
    height: 1em;
    border: 1px solid #ccc;
    border-radius: 50%;
    background-color: #fff;
    box-sizing: border-box;
    transition: opacity .25s ease;
}
.wpcf7 .template01 input[type=radio]+span::after {
    content: "";
    display: block;
    opacity: 0;
    position: absolute;
    box-sizing: border-box;
    transition: opacity .25s ease;
}
.wpcf7 .template01 input[type=radio]:checked+span::after {
    opacity: 1;
    top: .2em;
    left: .2em;
    width: .6em;
    height: .6em;
    background-color: #306ad4;
    border-radius: 50%;
    box-sizing: border-box;
    transition: opacity .25s ease;
}
/* セレクト */
.wpcf7 .template01 span.select-wrap {
    position: relative;
    width: 250px;
    margin: 0;
    padding: 0;
}
.wpcf7 .template01 select {
    cursor: pointer;
    max-width: 100%;
    margin: 0;
    padding: .5em 2.5em .5em 1em;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: none;
    background-color: #fff;
    color: #000;
    font-size: inherit;
    line-height: 1;
    box-sizing: border-box;
    transition: border-color 0.2s ease, outline 0.2s ease;
}
.wpcf7 .template01 span.select-wrap::after {
    content: "";
    pointer-events: none;
    position: absolute;
    display: block;
    width: .6em;
    height: .6em;
    top: 50%;
    right: 1.5em;
    margin-top: -3px;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    transform: rotate(45deg) translateY(-50%);
    transform-origin: 50% 0;
    box-sizing: border-box;
}
.wpcf7 .template01 select:focus {
    outline: 0;
    border: 1px #080808 solid;
}
.wpcf7 .template01 span.select-wrap:focus-within::after {
    border-bottom: 1px solid #080808;
    border-right: 1px solid #080808;
}
/* 送信ボタン */
.wpcf7 .template01 .submit-btn {
    position: relative;
    width: 320px;
    height: 65px;
    max-width: 100%;
    margin: 0;
    padding: 0;
    margin-left: auto;
    margin-right: auto;
}
.wpcf7 .template01 input[type="submit"] {
    cursor: pointer;
    width: 320px;
    max-width: 100%;
    padding: 18px;
    border-radius: 0;
    box-shadow: none;
    border: 1px solid #000;
    background-color: #000;
    color: #fff;
    font-size: 18px;
    text-align: center;
    box-sizing: border-box;
    transition: opacity .25s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.wpcf7 .template01 input[type="submit"]:disabled {
    cursor: not-allowed;
    box-shadow: none !important;
    border: 1px solid #dad9d9 !important;
    background-color: #f8f8f8 !important;
    color: #999 !important;
}
.wpcf7 .template01 input[type="submit"]:hover {
    background-color: #fff;
    color: #000;
    transition: opacity .25s, background-color .25s;
}
.wpcf7 .template01 input[type="submit"]:focus {
    outline: 1px #eee solid;
    border: 1px #080808 solid;
}
.wpcf7 .template01 span.wpcf7-list-item {
    margin: 0 1em .2em 0;
}
.wpcf7 .template01 .ajax-loader {
    display: block;
}
@media only screen and (max-width: 768px) {
    .wpcf7 .template01 span.wpcf7-list-item {
        display: block;
    }
}
/* Text meant only for screen readers. */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}



/* block */
@media screen and (max-width: 960px) {
}
@media screen and (max-width: 680px) {
}

/* block */
@media screen and (max-width: 960px) {
}
@media screen and (max-width: 680px) {
}