/* --------------- lower（共通） --------------- */

#lower-section-kv {
    max-width: 100%;
    height: 200px;
    position: relative;
    background-image: url(/wp-content/uploads/2023/12/lower-kv.jpg);
    background-size: cover;
    background-position: center;
}

.lower-kv-inner {
    width: 100%;
    margin-top: 100px;
}

img.lower-kv-ph {
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center;

}

.lower-kv-title-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%)translateY(-50%);
}

.lower-kv-copy01 {
    font-size: 4rem;
    line-height: 1.6;
    font-weight: 400;
    color: #2B69BC;
    text-align: center;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-feature-settings: 'palt';
    letter-spacing: 0.05em;
    white-space: nowrap;
}

.lower-kv-copy02 {
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 600;
    color: #C4003C;
    text-align: center;
}

@media screen and (max-width: 1120px) {
    .lower-kv-inner {
        width: 100%;
        margin-left: 0;
        margin-top: 70px;
    }

    .lower-kv-copy01 {
        font-size: 3.4rem;
    }

    #lower-section-kv {
        margin-top: 80px;
    }

    .lower-kv-title-wrap {
        padding: 4px 12px 8px 40px;
    }

}

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


    #lower-section-kv {
        height: 180px;
        margin-top: 60px;
    }

    .lower-kv-inner {
        margin-top: 70px;
        height: 180px;
    }

    .lower-kv-title-wrap {
        padding: 6px 8px 8px 15px;
    }

    .lower-kv-copy01 {
        font-size: 2.6rem;
        line-height: 1.4;
    }

    .lower-kv-copy02 {
        font-size: 1.3rem;
    }
}

/* --------------- about01 --------------- */

/* ----- about01-section01 ----- */

#about01-section01 {
    background-color: #F7F8FA;
    padding: 180px 0 100px 0;
    margin-top: -80px;
}

.about01-sec01-wrap {
    display: flex;
    gap: 30px;
}

.about01-sec01-left {
    width: calc(100% - 495px);
}

.about01-sec01-right {
    width: 495px;
}

@media screen and (max-width: 1120px) {
    .about01-sec01-left {
        width: 50%
    }

    .about01-sec01-right {
        width: 50%
    }
}

@media screen and (max-width: 600px) {
    #about01-section01 {
        padding: 110px 0 40px 0;
        margin-top: -70px;
    }
}

/* ----- about01-section02 ----- */

#about01-section02 {
    padding: 0 0 100px 0;
}

h3 {
    font-size: 2.6rem;
    line-height: 1.4;
    font-weight: 400;
    color: #333;
    text-align: left;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-feature-settings: 'palt';
    letter-spacing: 0.05em;
}

.about-num {
    font-size: 3rem;
    line-height: 1;
    line-height: 60px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    font-family: 'jost', sans-serif;
    background-color: #2B69BC;
    width: 56px;
    height: 56px;
    margin: 0 20px 0 0;
    display: inline-block;
}

.title-wrap {
    border-bottom: 1px solid #2B69BC;
    margin: 80px 0 0 0;
}

h5 {
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 500;
    color: #2B69BC;

}

#about02-section04 h5 {
    display: table-cell;
    vertical-align: middle;
}

.h5-outer {
    display: table;
}

.about01-sec02-left {
    width: 640px;
}

.about01-sec02-wrap {
    display: flex;
    gap: 30px;
}

.about01-sec03-wrap {
    display: flex;
    gap: 36px;
}

#contact-info {
    text-align: left;
    margin-top: 20px;
}

#contact-info dl {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #333;
    padding: 10px 20px;
}

#contact-info dt {
    width: 25%;
}

#contact-info dd {
    width: 75%;
}

.attention {
    font-size: 12px;
    text-align: left;
}

.support-wrap {
    display: inline-flex;
    width: 600px;
    padding: 20px;
    background-color: #D3EAFD;
    text-align: left;
}

.support-item {
    width: 50%;
    text-align: left;
}

.main-color {
    color: #2B69BC;
}


.about01-sec02-right {
    width: calc(100% - 640px);
}

.about01-sec03-left {
    width: 537px;
}

.about01-sec03-right {
    width: 547px;
}

img.about01-ph,
img.about02-ph,
img.about03-ph,
img.about04-ph {
    width: 100%;
}

img.about01-ph-en {
    display: none;
}

img.about02-ph-en {
    display: none;
}

@media screen and (max-width: 1120px) {
    .about01-sec02-wrap {
        flex-direction: column;
    }

    img.about02-ph {
        width: 100%;
    }

    .about01-sec02-wrap {
        gap: 20px;
    }

    .about01-sec02-left {
        width: 100%;
    }

    img.about02-ph {
        max-width: 640px;
    }

    .about01-sec02-right {
        width: 100%
    }
}

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


    h5 {
        font-size: 1.6rem;
    }

    #about01-section02 .title-wrap {
        margin: 40px 0 0 0;
    }

    .about-num {
        font-size: 3.6rem;
        line-height: 50px;
        width: 50px;
        height: 50px;
        margin: 0 10px 0 0;
    }

    h3 {
        font-size: 2.4rem;
    }

    #about01-section02 li {
        text-indent: -1em;
        padding-left: 1em;
    }

    .support-wrap {
        width: 100%;
        padding: 15px;
    }

    #about01-section02 {
        padding: 0 0 40px 0;
    }

    .about01-sec01-wrap {
        flex-direction: column;
        gap: 10px;
    }

    .about01-sec02-wrap {
        flex-direction: column-reverse;
        gap: 10px;
    }

    .about01-sec03-wrap {
        flex-direction: column;
        gap: 10px;
    }

    .about01-sec01-left {
        width: 100%;
    }

    .about01-sec01-right {
        width: 100%;
    }

    .about01-sec02-left {
        width: 100%;
    }

    .about01-sec02-right {
        width: 100%;
    }

    .about01-sec03-left {
        width: 100%;
    }

    .about01-sec03-right {
        width: 100%;
    }
}

/* ----- about01-button-area ----- */

#about01-button-area {
    width: 100%;
    padding: 40px 0 80px 0;
}

.about01-button-wrap {
    display: flex;
    gap: 40px;
}

.about01-button-item {
    width: 540px;
    height: 100px;
}

a.button03 {
    font-size: 1.8rem;
    line-height: 100px;
    width: 100%;
    background-color: #fff;
    color: #2B69BC;
    display: inline-block;
    text-decoration: none;
    font-weight: 500;
    border: 1px solid #2B69BC;
    text-align: center;
}

.button03-inner {
    width: 100%;
    height: 100px;
    position: relative;
}

@media screen and (max-width: 1120px) {
    .about01-button-item {
        width: calc(50% - 20px);
    }
}

@media screen and (max-width: 600px) {
    #about01-button-area {
        padding: 0 0 30px 0;
    }

    .about01-button-wrap {
        gap: 20px;
    }

    .about01-button-item {
        width: calc(50% - 10px);
        height: 60px;
    }

    a.button03 {
        font-size: 1.6rem;
        line-height: 60px;
        width: 100%;
        height: 60px;
        margin: 10px 0;
    }

    .button03-inner {
        height: 60px;
    }

}

/* --------------- about02 --------------- */

/* ----- about02-section01 ----- */

#about02-section01 {
    padding: 180px 0 0 0;
    margin-top: -80px;
}

h4 {
    width: 100%;
    font-size: 2.2rem;
    line-height: 1.4;
    font-weight: 500;
    color: #060606;
    text-align: center;
    padding: 8px 12px 8px 12px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-feature-settings: 'palt';
    letter-spacing: 0.05em;
}



@media screen and (max-width: 600px) {
    #about02-section01 {
        padding: 110px 0 0 0;
        margin-top: -70px;
    }

    h4 {
        font-size: 1.7rem;
        padding: 6px 0 6px 0;
    }
}

/* ----- about02-section02 ----- */
#about02-section02 {
    padding: 80px 0 80px 0;
}

.about02-sec02-wrap {
    display: flex;
    margin: 30px 0 0 0;
}

.about02-sec02-left {
    width: 560px;
    padding: 30px;
    text-align: left;
    background-color: #D3EAFD;
}

.about02-sec02-inner {
    background-color: #fff;
    padding: 20px;
    margin: 20px 0 0 0;
}

.about02-sec02-right {
    width: 410px;
    padding: 30px;
    background-color: #D3EAFD;
}

img.about05-ph {
    margin: 20px 0 0 0;
}

.about02-sec02-center {
    width: 150px;

}

.about02-text01 {
    margin: 110px 0 10px 0;
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 500;
    color: #333;
}

img.about07-ph-en {
    display: none;
}

img.about24-ph-en {
    display: none;
}

@media screen and (max-width: 1120px) {
    .about02-sec02-right {
        width: 40%;
        padding: 20px;
    }

    img.about05-ph {
        width: 100%;
    }

    .about02-sec02-left {
        width: 50%;
        padding: 20px;
    }
}

@media screen and (max-width: 600px) {
    #about02-section02 {
        padding: 40px 0 40px 0;
    }

    .about02-sec02-wrap {
        flex-direction: column;
        align-items: center;
    }

    .about02-sec02-left {
        width: 100%;

    }

    .about02-text01 {
        margin: 10px 0 10px 0;
        font-size: 1.6rem;
    }

    .arrow01 {
        transform: rotate(90deg);
        margin: -20px 0;
    }

    .about02-sec02-right {
        width: 100%;
    }
}

/* ----- about02-section03 ----- */
#about02-section03 {
    padding: 0 0 80px 0;
}

.about02-sec03-item01 {
    width: 250px;
    border: 1px solid #ccc;
    padding: 20px;
}

.about02-sec03-wrap01 {
    width: 100%;
    display: flex;
    margin: 30px 0 0 0;
    gap: 40px;
    flex-wrap: wrap;
}

.about02-sec03-wrap02 {
    display: flex;
    gap: 40px;
}

@media screen and (max-width: 1120px) {
    .about02-sec03-item01 {
        width: 30%;
    }

    .about02-sec03-wrap01 {
        gap: 5%;
        row-gap: 30px;
    }

    .about02-sec03-item02 {
        width: 50%;
    }

    img.about06-ph {
        width: 100%;
    }

    .about02-sec03-wrap02 {
        gap: 30px;
    }

}

@media screen and (max-width: 900px) {
    .about02-sec03-wrap02 {
        display: inline-block;
        row-gap: 20px;
    }

    .about02-sec03-item02 {
        width: 100%;
    }

    img.about06-ph {
        width: 490px;
    }


}

@media screen and (max-width: 600px) {
    .about02-sec03-item01 {
        width: 100%;
        padding: 15px;
    }

    .about02-sec03-wrap01 {
        row-gap: 20px;
    }

    img.about06-ph {
        width: 100%;
    }

    #about02-section03 {
        padding: 0 0 40px 0;
    }
}

/* ----- about02-section04 ----- */
#about02-section04 {
    padding: 0 0 80px 0;
}

.about02-sec04-title {
    display: flex;
}

.about02-sec04-wrap {
    padding: 30px;
    border: 1px solid #ccc;
}

.about02-sec04-inner {
    width: 100%;
    display: flex;
    gap: 30px;
}

.about02-sec04-left01 {
    width: calc(100% - 230px);
}

img.about23-ph {
    display: block;
}

.about02-sec04-left02 {
    width: calc(100% - 460px);
}

img.about24-ph {
    display: block;
}

.sec04-item-inner {
    padding: 20px;
    background-color: #D3EAFD;
    display: inline-block;
}

h6 {
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 500;
    color: #2B69BC;
    background-color: #D3EAFD;
    padding: 4px;
    width: 100%;
}

.about02-sec04-item {
    width: calc(50% - 25px);
}

.about02-sec04-item-inner {
    display: flex;
    gap: 20px;
}

@media screen and (max-width: 1120px) {
    .inner02 {
        display: block;
        width: 100%;
        gap: 30px;
    }

    .about02-sec04-item {
        width: 100%;
    }

    .sec04-item-inner {
        margin: 20px 0;
    }

    .about02-sec04-item-inner {
        display: block;
    }

}

@media screen and (max-width: 800px) {
    .inner01 {
        display: block;
        width: 100%;
        gap: 30px;
    }

    .about02-sec04-left01 {
        width: 100%;
    }

    .about02-sec04-left02 {
        width: 100%;
    }

    img.about23-ph {
        margin: 20px 0 0 0;
        display: inline-block;
    }

    img.about24-ph {
        margin: 20px 0 0 0;
        display: inline-block;
    }

    .about02-sec04-right {
        text-align: center;
    }
}

@media screen and (max-width: 600px) {
    .about02-sec04-item-inner {
        display: block;
        margin-bottom: 20px;
    }

    .about02-sec04-wrap {
        padding: 15px;
    }

    #about02-section04 {
        padding: 0 0 40px 0;
    }

    img.about07-ph {
        width: 100%;
    }

    h6 {
        font-size: 1.5rem;
        padding: 3px;
    }

    img.arrow03 {
        width: 70px;
    }

    .about02-sec04-inner {
        display: block;
    }

    img.about24-ph {
        max-width: 460px;
        width: 100%;
    }
}

/* ----- about02-section05 ----- */
#about02-section05 {
    padding: 0 0 100px 0;
}

.about02-sec05-wrap {
    width: 100%;
    display: flex;
    gap: 50px;
    margin-top: 30px;
}

.about02-sec05-inner {
    margin: 30px;
    display: inline-flex;
    gap: 30px;
}

.about02-text02 {
    font-size: 3rem;
    line-height: 1;
    font-weight: 400;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    color: #C4003C;
    margin: 30px 0 30px 0;
    font-feature-settings: 'palt';
    letter-spacing: 0.08em;
}

img.about10-ph-en,
img.about11-ph-en,
img.about12-ph-en,
img.about13-ph-en {
    display: none;
}

@media screen and (max-width: 1120px) {
    .about02-sec05-wrap {
        width: 100%;
        display: block;
        margin-top: 40px;
    }

    .about02-sec05-item {
        margin-top: 40px;
    }
}

@media screen and (max-width: 600px) {
    .about02-text02 {
        font-size: 2rem;
        margin: 20px 0 20px 0;
    }

    .about02-sec05-inner {
        display: inline-block;
        margin: 20px;
    }

    .about02-sec05-wrap {

        display: block;
        margin-top: 0;

    }

    .about02-sec05-item {
        margin-top: 30px;
    }

    img.about12-ph {
        margin-bottom: 10px;
    }

    #about02-section05 {
        padding: 0 0 40px 0;
    }
}

/* --------------- about03 --------------- */
#about03-section01 img,
#about03-section02 img,
#about03-section03 img {
    max-width: 100%;
    height: auto;
}


/* ----- about03-section01 ----- */

#about03-section01 {
    padding: 180px 0 0 0;
    margin-top: -80px;
}

.about03-sec01-wrap {
    display: inline-flex;
    margin: 80px 0 0 0;
    gap: 50px;
}

#about03-section01 .h5-outer {
    display: table;
    width: 100%;
}

.about14-ph-en,
.about15-ph-en,
.about16-ph-en,
.about17-ph-en {
    display: none;
}

@media screen and (max-width: 1120px) {
    .about03-sec01-wrap {
        width: 100%;
        flex-direction: column;
        align-items: center;
        margin: 40px 0 0 0;
    }

    .about03-sec01-wrap .about03-sec01-item img {
        width: 100%;
        height: auto;
        display: block;
    }
}

@media screen and (max-width: 600px) {
    #about03-section01 {
        padding: 110px 0 0 0;
        margin-top: -70px;
    }

    .about03-sec01-wrap {
        gap: 20px;
        margin: 40px 0 0 0;
    }
}

/* ----- about03-section02 ----- */
#about03-section02 {
    padding: 100px 0 0 0;
}

.about03-text01 {
    font-size: 2.4rem;
    line-height: 1.4;
    font-weight: 500;
    color: #C4003C;
}

.about03-sec02-item {
    width: 100%;
}

@media screen and (max-width: 600px) {
    .about03-text01 {
        font-size: 1.8rem;
    }
}

/* ----- about03-section03 ----- */
#about03-section03 {
    padding: 80px 0 100px 0;
}

.about03-sec02-wrap {
    display: flex;
    gap: 50px;
    margin: 30px 0 0 0;
}

.about03-sec03-wrap {
    padding: 40px;
    margin: 30px 0 0 0;
    border: 1px solid #ccc;
}

.about03-sec03-inner {
    display: inline-flex;
    margin: 20px 0 0 0;
    gap: 40px;
}

.about03-img-wrap {
    border: 1px solid #ccc;
    padding: 10px 10px 0 10px;
}

.caption {
    font-size: 1.4rem;
    line-height: 1.4;
}

.about18-ph-en,
.about19-ph-en {
    display: none;
}

@media screen and (max-width: 1120px) {
    .about03-sec02-wrap {
        flex-direction: column;
        text-align: center;

    }

    .about03-sec03-inner {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }

    .about03-img-wrap {
        width: 330px;
    }

    .caption {

        text-align: left;
    }

    .about03-sec03-wrap {
        padding: 20px;
        margin: 20px 0 0 0;
    }
}

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

    #about03-section02 {
        padding: 40px 0 0 0;
    }

    img.about14-ph {
        width: 100%;
    }

    .about03-sec01-wrap {
        margin: 20px 0 0 0;
    }

    .about03-img-wrap {
        width: 100%;
    }

    #about03-section03 {
        padding: 40px 0 40px 0;
    }

    .about03-sec02-wrap {
        gap: 20px;
    }
}

/* --------------- about04 --------------- */

/* ----- about04-section01 ----- */

#about04-section01 {
    padding: 180px 0 0 0;
    margin-top: -80px;
}

img.about20-ph {
    width: 800px;
}

.about04-sec01-wrap {
    width: 100%;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 40px;
    margin: 80px 0 0 0;

}

.about04-sec01-item {
    width: 250px;
    text-align: justify;
    word-break: break-all;
    padding: 60px 20px 20px 20px;
    border: 1px solid #ccc;
    position: relative;
}

.about04-sec01-item::before {
    content: "";
    font-size: 3rem;
    line-height: 58px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    font-family: 'jost', sans-serif;
    background-color: #2B69BC;
    width: 56px;
    height: 56px;
    margin: -90px 0px 20px 0;
    display: inline-block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);

}

#about04-section01 .item01::before {
    content: "01";
}

#about04-section01 .item02::before {
    content: "02";
}

#about04-section01 .item03::before {
    content: "03";
}

#about04-section01 .item04::before {
    content: "04";
}

@media screen and (max-width: 1120px) {
    .about04-sec01-wrap {
        gap: 4%;
    }

    .about04-sec01-item {
        width: 22%;
    }
}

@media screen and (max-width: 900px) {
    .about04-sec01-wrap {
        gap: 40px;
    }

    .about04-sec01-item {
        width: 260px;
    }

    .about04-sec01-wrap {
        width: 560px;

    }

    img.about20-ph {
        width: 100%;
    }
}

@media screen and (max-width: 600px) {
    #about04-section01 {
        padding: 110px 0 0 0;
        margin-top: -70px;
    }

    .about04-sec01-wrap {
        gap: 4%;
    }

    .about04-sec01-item {
        width: 48%;
        padding: 40px 10px 10px 10px;
        margin-bottom: 30px;
    }

    .about04-sec01-wrap {
        width: 100%;

    }

    .about04-sec01-item::before {
        content: "";
        font-size: 3.2rem;
        line-height: 50px;

        width: 50px;
        height: 50px;
        margin: -60px 0px 20px 0;
        display: inline-block;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);

    }

    #about04-section01 .item01::before {
        content: "01";
    }

    #about04-section01 .item02::before {
        content: "02";
    }

    #about04-section01 .item03::before {
        content: "03";
    }

    #about04-section01 .item04::before {
        content: "04";
    }

    .about04-sec01-wrap {
        margin: 40px 0 0 0;
    }
}


/* ----- about04-section02 ----- */

#about04-section02 {
    padding: 180px 0 100px 0;
    margin-top: -80px;
}

.about04-sec02-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
    margin: 30px 0 0 0;
}

.about03-sec02-left {
    width: 460px;
}

.about03-sec02-right {
    width: 600px;
}

.border-box {
    font-size: 1.8rem;
    border: 1px solid #2B69BC;
    color: #2B69BC;
    ;
    padding: 30px;
    margin: 30px 0 0 0;
}

.about22-ph-en {
    display: none;
}

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

    #about04-section02 {
        padding: 100px 0 40px 0;
        margin-top: -90px;
    }

    .about03-sec02-right {
        width: 100%;
    }

    img.about21-ph {
        width: 100%;
    }

    .border-box {
        font-size: 1.6rem;
        padding: 15px;
        margin: 20px 0 0 0;
    }

    .about04-sec02-wrap {
        gap: 30px
    }
}

/* --------------- product01 --------------- */

/* ----- product01-section01 ----- */

#product01-section01 {
    padding: 100px 0 100px 0;
}

.product01-sec01-wrap {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
    margin: 50px 0 0 0;
    padding: 0 0 0 20px;
}

.product01-sec01-item {
    width: 520px;
    padding: 30px;
    border: 1px solid #ccc;
    position: relative;
}

.product-circle-wrap {
    position: absolute;
    top: -20px;
    left: -20px;

}

.product-circle {
    width: 100px;
    height: 100px;
    background-color: #073284;
    border-radius: 50px;
    position: relative;
}

.product-circle-inner {
    color: #fff;
    line-height: 1.3;
    white-space: nowrap;
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translateX(-50%)translateY(-50%);
}

.h7heading {
    font-size: 1.8rem;
    line-height: 1.6;
    color: #073284;
    font-weight: 500;
    display: block;

}

@media screen and (max-width: 1120px) {
    .product01-sec01-item {
        width: 48%;
        padding: 20px;
    }

    .product01-sec01-wrap {
        gap: 4%;
        row-gap: 40px;
    }
}

@media screen and (max-width: 600px) {
    #product01-section01 {
        padding: 40px 0 40px 0;
        margin-top: 0;
    }

    .product01-sec01-item {
        width: 100%;
        padding: 15px;
    }

    .product01-sec01-wrap {
        flex-direction: column;
        gap: 4%;
        row-gap: 40px;
        margin: 30px 0 0 0;
    }

    img.product01-ph,
    img.product02-ph,
    img.product03-ph,
    img.product04-ph {
        height: 160px;
    }

    #product01-section01 a.button01 {
        line-height: 50px;
        width: 100%;
        height: 50px;
    }

    .h7heading {
        font-size: 1.5rem;
    }
}

/* --------------- product02 --------------- */

/* ----- product02-section01 ----- */
#product02-section01 {
    padding: 100px 0 100px 0;
    margin-top: -100px;
}

#product02-section01 h2 {
    padding-top: 80px;
    /* margin-top: -80px; */
}

.product05-ph {
    width: 900px;
}

.content-inner {
    width: 900px;
    display: inline-block;
}

@media screen and (max-width: 900px) {
    .content-inner {
        width: 100%;
    }

    img.product05-ph {
        width: 100%;
    }
}

@media screen and (max-width: 600px) {
    #product02-section01 {
        padding: 100px 0 40px 0;
    }

    #product02-section01 h2 {
        padding-top: 60px;
        margin-top: -60px;
    }
}

/* --------------- product03 --------------- */

/* ----- product03-section01 ----- */
#product03-section01 {
    padding: 200px 0 100px 0;
    margin-top: -100px;
}

.tool01-wrap {
    width: 100%;
    display: flex;
}

img.product17-ph {
    width: 470px;
}

.tool01-right {
    width: 600px;
    margin-left: 50px;
}

.tool02-wrap {
    display: flex;
    gap: 47px;
}

.tool02-left {
    width: 60%;
}

.tool02-right {
    flex: 1;
}


@media screen and (max-width: 1120px) {
    .product16-ph {
        width: 100%;
    }

    .tool02-wrap {
        display: inline-block;
    }

    .tool02-left {
        width: 100%;
    }

    img.product17-ph {
        width: 420px;
    }

    img.product19-ph {
        margin-top: 30px;
    }
}

@media screen and (max-width: 600px) {
    #product03-section01 {
        padding: 80px 0 40px 0;
        margin-top: -40px;
    }

    .tool01-wrap {
        display: block;
    }

    img.product17-ph {
        width: 90%;
    }

    .tool01-right {
        width: 100%;
        margin-left: 0;
        margin-top: 20px;
    }

    .indent04 {
        padding-left: 0.6em;
        text-indent: -0.6em;
    }

    img.product18-ph {
        width: 100%;
    }

    img.product19-ph {
        width: 100%;
    }
}

/* --------------- history --------------- */

/* ----- history-section01 ----- */

#history01-section01 {
    padding: 100px 0 100px 0;
}

.history-wrap {
    width: 100%;
    display: flex;
}

.h-year {
    width: 100px;
    text-align: left;
}

.h-timeline {
    border: 2px solid #ddd;
    position: relative;
    padding: 20px 0;
}

.h-timeline::before {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #666;
    display: inline-block;
    position: absolute;
    top: 7px;
    left: -5px;
}

.h-event {
    width: calc(100% - 106px);
    margin-left: 20px;
    text-align: justify;
    word-break: break-all;
    padding-bottom: 20px;
}

.blue {
    color: #0B7EBA;
}

.green {
    color: #007B09;
}

.orange {
    color: #FFBA00;
}

@media screen and (max-width: 600px) {
    #history01-section01 {
        padding: 40px 0 40px 0;
        margin-top: 0;
    }

    .h-year {
        width: 50px;
        text-align: left;
    }

    .h-event {
        width: calc(100% - 56px);
        padding-top: 3px;
    }
}

/* --------------- facilities --------------- */

/* ----- facilities ----- */

#facilities {
    padding: 100px 0 100px 0;
}

.facilities01-wrap {
    width: 100%;
    display: flex;
}

.facilities01-left {
    margin-right: 40px;
    width: 300px;
}

.facilities01-right {
    width: calc(100% - 340px);
    position: relative;
}

.facilities02-wrap {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

.facilities02-left {
    width: calc(100% - 170px);
}

.facilities03-wrap {
    width: 100%;
    background-color: #F7F8FA;
    padding: 50px 0;
}

.facilities03-inner {
    display: inline-flex;
    width: 850px;
    flex-wrap: wrap;
    justify-content: center;
    gap: 60px;
}

.facilities-item {
    width: 240px;
}

img.facilities-ph {
    width: 240px;
}

.h8heading {
    font-size: 1.6rem;
    line-height: 1.6;
    color: #073284;
    font-weight: 500;
}


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


    .facilities03-inner {
        width: 100%;
        gap: 50px;
    }
}

@media screen and (max-width: 600px) {
    #facilities {
        padding: 40px 0 40px 0;
        margin-top: 0;
    }

    .facilities01-wrap {
        display: inline-block;
    }


    .facilities01-right {
        width: 100%;
        position: relative;
        margin-top: 10px;
    }

    .facilities01-left {
        width: 100%;
    }

    .facilities02-right {
        width: 100%;
        margin-top: 10px;
    }

    .facilities02-left {
        width: 100%;
    }

    .facilities02-wrap {
        gap: 10px;
    }

    .facilities03-inner {
        gap: 30px;
    }

    .h8heading {
        font-size: 1.5rem;
    }
}

/* --------------- seminar --------------- */

/* ----- seminar-section01 ----- */

#seminar-section01 {
    padding: 100px 0 100px 0;
}

.cat {
    padding: 2px 6px;
    color: #fff;
    font-size: 1.4rem;
    display: inline-block;
    text-align: left;
}

img.seminar-ph {
    width: 100%;
}

.cat01 {
    background-color: #2BB1A6;
}

.cat02 {
    background-color: #8C61D0;
}

.seminar-sec01-wrap {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
}

.seminar-sec01-item {
    width: 530px;
    border: 1px solid #ccc;
}

#seminar-section01 dl {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    text-align: left;
}

#seminar-section01 dt {
    width: 20%;
    padding: 10px 0;
    border-bottom: 1px solid #ccc;
    font-weight: 500;
}

#seminar-section01 dd {
    width: 80%;
    padding: 10px 0;
    border-bottom: 1px solid #ccc;
}

.seminar-item-wrap {
    padding: 30px;
    text-align: left;
}

.seminar-sec01-inner {
    width: 100%;
    display: flex;
}

.seminar-sec01-inner {
    width: 100%;
    display: flex;
    margin-top: 20px;
}

.seminar-inner-left {
    width: 30%;
}

.seminar-inner-right {
    width: 70%;
    text-align: right;
}

.seat {
    width: 140px;
    height: 40px;
    display: inline-flex;
    line-height: 40px;
    text-align: center;
}

.seat-left {
    width: 50%;
    background-color: #D3EAFD;
    border: 1px solid #ccc;
}

.seat-right {
    width: 50%;
    border: 1px solid #ccc;
    border-left: 0;
}

a.button04 {
    font-size: 1.4rem;
    line-height: 50px;
    width: 270px;
    height: 50px;
    background-color: #2B69BC;
    border: 1px solid #2B69BC;
    color: #fff;
    display: inline-block;
    text-decoration: none;
    font-weight: 500;
    text-align: center;
    transition: all .3s ease-out;
}

a.button04.is-passive {
    background-color: #aaa;
    border: none;
    pointer-events: none;
}

a.button04:hover {
    background-color: #fff;
    color: #2B69BC;

}

.button04-inner {
    width: 100%;
    height: 50px;
    position: relative;
}

.button04-inner {
    width: 100%;
    height: 50px;
    position: relative;
}

.cta-button-area {
    width: 100%;
    background-color: #D3EAFD;
    padding: 30px;
    display: flex;
    gap: 30px;
    margin-top: 80px;
}

.cta-button-title {
    width: 450px;
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 500;
    text-align: left;
    margin-top: 16px;
}

.button05 {
    width: 350px;
    height: 90px;
    background-color: #fff;
    border: 1px solid #2B69BC;
    color: #2B69BC;
    display: inline-block;
}

.btn05-mail {
    font-size: 1.8rem;
    position: relative;
    padding: 28px 0 0 40px;
}

.btn05-tel {
    font-size: 2.4rem;
    font-family: 'jost', sans-serif;
    position: relative;
    padding: 22px 0 0 12px;
    font-feature-settings: 'palt';
    letter-spacing: 0.05em;
}

.btn05-tel::before {
    content: url(/wp-content/uploads/2023/07/tel-icon.svg);
    position: absolute;
    display: inline-block;
    vertical-align: middle;
    margin-left: -106px;

}

.btn05-mail::before {
    content: url(/wp-content/uploads/2023/07/mail-icon.svg);
    position: absolute;
    display: inline-block;
    vertical-align: middle;
    margin-left: -136px;
    margin-top: 2px;
}

.cta-button-wrap {
    display: inline-flex;
    gap: 40px;
}


@media screen and (max-width: 1120px) {
    .seminar-sec01-inner {
        display: block;
        text-align: center;
    }

    .seminar-sec01-item {
        width: 48%;
        border: 1px solid #ccc;
    }

    .seminar-item-wrap {
        padding: 15px;
    }

    .seminar-inner-right {
        text-align: center;
        margin-top: 20px;
        width: initial;
    }

    .seminar-inner-left {
        width: initial;
    }

    .seminar-sec01-wrap {
        gap: 4%;
        row-gap: 30px;
    }

    .cta-button-area {
        display: block;
    }

    .cta-button-title {
        width: 100%;
        text-align: center;
        margin-top: 0;
    }

    .button05 {
        width: 100%;
    }

    .cta-button-wrap {
        gap: 4%;
        width: 100%;
        margin-top: 20px;
    }

    .cta-button-item {
        width: 48%;
    }

}

@media screen and (max-width: 600px) {
    #seminar-section01 {
        padding: 40px 0 40px 0;
        margin-top: 0;
    }

    .seminar-sec01-wrap {
        flex-direction: column;
        align-items: center;
    }

    #seminar-section01 dl {
        display: inline-block;
    }

    .seminar-sec01-item {
        width: 100%;
    }

    #seminar-section01 dt {
        width: 100%;
        padding: 8px 0 0 0;
        border-bottom: 0;
    }

    #seminar-section01 dd {
        width: 100%;
        padding: 0 0 8px 0;

    }

    .cta-button-title {
        width: 100%;
        font-size: 1.7rem;
    }

    .cta-button-area {
        padding: 15px;
        margin-top: 40px;
    }

    .cta-button-wrap {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .cta-button-item {
        width: 310px;
    }

    .button05 {
        height: 70px;
    }

    .btn05-mail {
        font-size: 1.6rem;
        padding: 22px 0 0 0;
    }

    .btn05-tel {
        font-size: 2.2rem;
        padding: 18px 0 0 12px;
    }

    .seminar-button-wrap {
        margin-top: 10px;
    }
}

/* --------------- company --------------- */

/* ----- company-section01 ----- */

#company-section01 {
    padding: 180px 0 100px 0;
    margin-top: -80px;
}

#company-section01 dl {
    width: 100%;
    display: flex;
    flex-wrap: wrap;

}

#company-section01 dt {
    width: 25%;
    border: 1px solid #ccc;
    border-bottom: 0;
    padding: 28px 10px;
    background-color: #D3EAFD;
}

#company-section01 dd {
    width: 75%;
    border: 1px solid #ccc;
    border-bottom: 0;
    border-left: 0;
    padding: 28px;
    text-align: left;
}

#company-section01 dt:last-child {
    border-bottom: 1px solid #ccc;
}

#company-section01 dd:last-child {
    border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 600px) {
    #company-section01 {
        padding: 100px 0 40px 0;
        margin-top: -60px;
    }

    #company-section01 dt {
        width: 100%;
        padding: 4px;
    }

    #company-section01 dd {
        width: 100%;
        padding: 10px;
        border-top: 0;
        border-left: 1px solid #ccc;
    }
}

/* --------------- sctd --------------- */

/* ----- sctd ----- */

#sctd {
    padding: 180px 0 100px 0;
    margin-top: -80px;
}

#sctd dl {
    width: 100%;
    display: flex;
    flex-wrap: wrap;

}

#sctd dt {
    width: 25%;
    border: 1px solid #ccc;
    border-bottom: 0;
    padding: 28px 10px;
    background-color: #D3EAFD;
}

#sctd dd {
    width: 75%;
    border: 1px solid #ccc;
    border-bottom: 0;
    border-left: 0;
    padding: 28px;
    text-align: left;
}

#sctd dt:last-child {
    border-bottom: 1px solid #ccc;
}

#sctd dd:last-child {
    border-bottom: 1px solid #ccc;
}

#sctd .indent01 {
    padding-left: 4.7em;
    text-indent: -4.7em;
}

@media screen and (max-width: 600px) {
    #sctd {
        padding: 100px 0 40px 0;
        margin-top: -60px;
    }

    #sctd dt {
        width: 100%;
        padding: 4px;
    }

    #sctd dd {
        width: 100%;
        padding: 10px;
        border-top: 0;
        border-left: 1px solid #ccc;
    }
}


/* --------------- distributors --------------- */

/* ----- distributors-section ----- */
#distributors {
    padding: 180px 0 100px 0;
    margin-top: -80px;
}

#distributors table {
    width: 100%;
}

#distributors td,
#distributors th {
    border: 1px solid #ccc;
}

#distributors td {
    padding: 10px 20px;
    text-align: left;
}

#distributors th {
    padding: 6px 20px;
    background-color: #D3EAFD;
    font-weight: 500;
}

a.area-link {
    background-color: #2B69BC;
    color: #fff;
    line-height: 1.6;
    padding: 10px 24px;
    display: table;
}

.area-link-inner {
    display: table-cell;
    vertical-align: middle;
}

#area01,
#area02,
#area03,
#area04,
#area05,
#area06,
#area07,
#area08 {
    padding-top: 140px;
    margin-top: -90px;
}

.area-link-wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
}

@media screen and (max-width: 1120px) {
    .area-link-wrap {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }

    a.area-link {
        width: 23%;
        margin-top: 20px;

    }

    #area01,
    #area02,
    #area03,
    #area04,
    #area05,
    #area06,
    #area07,
    #area08 {
        padding-top: 110px;
        margin-top: -60px;
    }
}

@media screen and (max-width: 600px) {
    #distributors {
        padding: 100px 0 40px 0;
        margin-top: -100px;
    }

    a.area-link {
        width: 48%;

    }

    #distributors th {
        padding: 4px 10px;
    }

    #distributors td {
        padding: 4px 10px;
    }

    .area-link-wrap {
        margin-top: 0px;
    }
}

/* --------------- associated --------------- */

/* ----- associated-section01 ----- */

#associated-section01 {
    padding: 80px 0 0 0;
    margin-top: -80px;
}

.associated-dammy {
    padding: 100px 0 100px 0;
    background-color: #F7F8FA;
}

#associated-section01 dl {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
}

#associated-section01 dt {
    width: 25%;
    border: 1px solid #ccc;
    border-bottom: 0;
    padding: 28px 10px;
    background-color: #D3EAFD;
}

#associated-section01 dd {
    width: 75%;
    border: 1px solid #ccc;
    border-bottom: 0;
    border-left: 0;
    padding: 28px;
    background-color: #fff;
    text-align: left;
}

#associated-section01 dd:last-child {
    border-bottom: 1px solid #ccc;
}

#associated-section01 dt:last-child {
    border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 600px) {
    #associated-section01 {
        padding: 70px 0 0 0;
        margin-top: -70px;
    }

    .associated-dammy {
        padding: 40px 0 40px 0;
    }

    #associated-section01 dl {
        margin-top: 20px;
    }

    #associated-section01 dt {
        width: 100%;
        padding: 4px;
    }

    #associated-section01 dd {
        width: 100%;
        padding: 10px;
        border-top: 0;
        border-left: 1px solid #ccc;
    }
}


/* --------------- newslist --------------- */

/* ----- newslist-section01 ----- */

#newslist-section01 {
    padding: 100px 0 100px 0;
}

#newslist-section01 dl {
    width: 100%;
    display: flex;
    flex-wrap: wrap;

}

#newslist-section01 dt {
    width: 15%;
    border-bottom: 1px solid #333;
    padding: 28px 10px;
    text-align: center;
}

#newslist-section01 dd {
    width: 85%;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #ccc;
    padding: 28px;
    text-align: left;
}



@media screen and (max-width: 600px) {
    #newslist-section01 {
        padding: 40px 0 40px 0;
        margin-top: 0;
    }

    #newslist-section01 dl {
        display: inline-block;
    }

    #newslist-section01 dt {
        width: 100%;
        border-bottom: 0;
        padding: 10px 0 0 0;
        text-align: left;
    }

    #newslist-section01 dd {
        width: 100%;
        padding: 0 0 10px 0;
    }
}

/* --------------- news --------------- */

/* ----- news-section01 ----- */

#news-section01 {
    padding: 100px 0 50px 0;
}

#news-section01 h2 {
    font-size: 2.4rem;
    line-height: 1.4;
    text-align: left;
    font-weight: 500;
    font-family: YakuHanJP_Narrow, "Inter", "Noto Sans JP", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

#news-section01 h3 {
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 500;
    font-family: YakuHanJP_Narrow, "Inter", "Noto Sans JP", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

#news-section01 .news-date {
    margin-left: 0;
}

.news-wrap {
    width: 870px;
    display: inline-block;
    text-align: left;
}

.content-wrap {
    margin: 30px 0 0 0;
    text-align: left;
}

.news-button-area {
    width: 100%;
    background-color: #D3EAFD;
    padding: 30px;
    margin-top: 50px;
}

.news-button-title {
    width: 100%;
    font-size: 2.2rem;
    line-height: 1.4;
    font-weight: 500;
    margin: 0 0 20px 0;
}

.news-button-wrap {
    display: flex;
    gap: 30px;
}

.news-return {
    padding: 10px 40px;
    border: 1px solid #ccc;
    margin: 0 40px;
}

.article-navi {
    text-align: center;
}

@media screen and (max-width:1120px) {
    .news-wrap {
        width: 90%;
        display: inline-block;
    }
}

@media screen and (max-width: 600px) {
    #news-section01 {
        padding: 40px 0 30px 0;
        margin-top: 0;
    }

    #news-section01 h2 {
        font-size: 2rem;
    }

    #news-section01 h3 {
        font-size: 1.6rem;
    }
}

/* --------------- voice --------------- */

/* ----- voice-section01 ----- */

#voice-section01 {
    padding: 100px 0 100px 0;
}

.voice-sec01-wrap {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
}

.voice-sec01-item {
    width: 340px;
    border: 1px solid #2B69BC;
    padding: 20px;
}

#voice-section01 h3 {
    font-size: 2.6rem;
    line-height: 1.4;
    text-align: center;
    padding-bottom: 20px;
    border-bottom: 1px solid #ccc;
    width: 100%;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-feature-settings: 'palt';
    letter-spacing: 0.05em;
}

#voice-section01 h4 {
    font-size: 1.8rem;
    line-height: 1.6;
    text-align: center;
    border: 0;
}

.doctor {
    font-size: 1.6rem;
    line-height: 1.4;
}

.clinic-name {
    font-size: 1.4rem;
    line-height: 1.6;
}


/* --------------- sitepolicy --------------- */

/* ----- sitepolicy-section01 ----- */
#sitepolicy-section01 {
    padding: 100px 0 100px 0;
}

.indent01 {
    padding-left: 1.7em;
    text-indent: -1.7em;
}

.indent02 {
    margin-left: 2.7rem;
    padding-left: 1.2em;
    text-indent: -1.2em;
}

.indent03 {
    margin-left: 6.7rem;
    padding-left: 1.4em;
    text-indent: -1.4em;
}

.sitepolicy-wrap {
    width: 800px;
    display: inline-block;
}

/* --------------- contact --------------- */

/* ----- contact-section01 ----- */
#contact-section01 {
    padding: 100px 0 100px 0;
}

#contact-section01 dl {
    width: 100%;
    position: relative;
    border-bottom: 0px;
    display: inline-flex;
    flex-wrap: wrap;
    text-align: left;
}

#contact-section01 dt {
    width: 300px;
    margin: 20px 0 20px 0;
}

#contact-section01 dd {
    width: calc(100% - 300px);
    margin: 14px 0 26px 0;
}

.text-area01,
.text-area04,
.date-area01 {
    font-size: 1.6rem;
    line-height: 1.4;
    background-color: #EAEAEA;
    padding: 6px 10px;
    border: 1px solid #999;
    border-radius: 3px;
    height: 40px;
    width: 100%;
}

.text-area02 {
    width: 100%;
    background-color: #EAEAEA;
    border: 0;
    border-radius: 3px;
    height: 200px;
    border: 1px solid #999;
}

form .contact-item p {
    display: flex;
    gap: 30px;
}

form .contact-item p span:first-child {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 23px;
    margin-right: 0;
}

form .contact-item p span:last-child {
    flex: 1;
}

form .contact-item02 p {
    display: flex;
    gap: 30px;
}

form .contact-item02 p span:first-child {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 23px;
    margin-right: 0;
}

form .contact-item02 p span:last-child {
    flex: 1;
}

form .item01 p {
    display: flex;
    gap: 30px;
}

form .item01 p span:first-child {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 23px;
    margin-right: 0;
}

form .item01 p span:last-child {
    flex: 1;
}

form .item02 p {
    display: flex;
    gap: 30px;
}

form .item02 p span:first-child {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 23px;
    margin-right: 0;
}

form .item02 p span:last-child {
    flex: 1;
}

.required {
    font-size: 1.4rem;
    line-height: 1.4rem;
    /* padding: 2px 6px 2px 6px; */
    color: #fff;
    background-color: #DC000C;
    border-radius: 2px;
}

.any {
    font-size: 1.4rem;
    line-height: 1.4rem;
    /* padding: 2px 6px 2px 6px; */
    color: #fff;
    background-color: #1C63AA;
    border-radius: 2px;
}

.submit01 {
    font-size: 1.4rem;
    width: 300px;
    height: 60px;
    background-color: #2B69BC;
    color: #fff;
    display: inline-block;
    text-decoration: none;
    font-weight: 500;
    text-align: center;
    border: 0;
}

.wpcf7-list-item {
    margin: 0 20px 0 0 !important;
}

.radio-area01 {
    padding: 0;
}

[data-class="wpcf7cf_group"] {
    width: 100%;
}

.file-area {
    margin: 24px 0 -10px 0;
}

#contact-section01 .first {
    width: auto;
}

#contact-section01 .ad-area {
    margin: 0 0 10px 0;
}

.text01 {
    font-size: 12px;
    margin: 4px 0 0 -20px;
    display: inline-block;
    vertical-align: middle;
}

@media screen and (max-width: 1120px) {
    #contact-section01 dt {
        width: 240px;
    }

    #contact-section01 dd {
        width: calc(100% - 240px);
    }
}

@media screen and (max-width: 600px) {
    #contact-section01 {
        padding: 40px 0 40px 0;
    }

    #contact-section01 dt {
        width: 100%;
        margin: 0;
    }

    #contact-section01 dd {
        width: 100%;
    }

    .wpcf7-list-item-label {
        font-size: 1.4rem;
    }

    .required,
    .any {
        margin-right: 10px;
    }

    .text01 {
        margin: 4px 0 0 10px;
    }

    .contact-item p {
        gap: 15px;
    }

    .contact-item02 p {
        gap: 15px;
    }
}



/* --------------- contact-form --------------- */

/* ----- contact-complete ----- */
.contact-complete {
    margin: 200px 0 200px 0;
}

.complete-text-wrap {
    margin: 100px 0 100px 0;
    text-align: center;
}

form.wpcf7-form {
    text-align: center;
}

#complete-text {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 600;
}


@media screen and (max-width: 600px) {
    .contact-complete {
        margin: 100px 0 0 0;
    }
}

/* --------------- manual --------------- */

/* ----- manual-section01 ----- */

#manual-section01 {
    padding: 80px 0 0 0;
}

ul.manual-wrap {
    width: 900px;
    text-align: left;
    display: inline-block;
}

li.manual-item {
    width: 100%;
    padding: 16px 20px;
    border-bottom: 1px solid #ccc;
    position: relative;
}

.m-icon {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

.manual-title {
    font-weight: 600;
    color: #000;
}

@media screen and (max-width: 900px) {
    ul.manual-wrap {
        width: 100%;
    }

    .manual-title {
        width: calc(100% - 50px);
        display: inline-block;
    }
}

@media screen and (max-width: 600px) {
    #manual-section01 {
        padding: 40px 0 0 0;
    }

    li.manual-item {
        padding: 16px 10px;
    }

    .m-icon {
        right: 10px;
    }
}

/* ----- manual-section02 ----- */

#manual-section02 {
    padding: 80px 0 0 0;
}

.toc {
    width: 900px;
    display: inline-flex;
    flex-wrap: wrap;
}

.toc-title {
    width: 80px;
    height: 28px;
    border: 1px solid #ccc;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-left: 20px;

}

.page-list {
    text-align: left;
    margin-left: 20px;
}

.list-detail::before {
    content: '';
    border-top: 1px solid #ccc;
    width: 20px;
    display: inline-block;
    margin: 0 6px 0 0;
    vertical-align: middle;
}

@media screen and (max-width: 900px) {
    .toc {
        width: 100%;
    }
}

@media screen and (max-width: 600px) {
    #manual-section02 {
        padding: 40px 0 0 0;
    }
}

/* ----- manual-section03 ----- */

#manual-section03 {
    padding: 80px 0 0 0;
}

@media screen and (max-width: 600px) {
    #manual-section03 {
        padding: 40px 0 0 0;
    }
}

/* ----- manual-section04 ----- */

#manual-section04 {
    padding: 80px 0 0 0;
}

@media screen and (max-width: 600px) {
    #manual-section04 {
        padding: 40px 0 0 0;
    }
}

/* ----- manual-section05 ----- */

#manual-section05 {
    padding: 80px 0 100px 0;
}

@media screen and (max-width: 600px) {
    #manual-section05 {
        padding: 40px 0 50px 0;
    }
}

/* --------------- movies --------------- */

/* ----- movies-section01 ----- */

#movies-section01 {
    padding: 80px 0 0 0;
}

h2.movies-h2 {
    font-size: 22px;
    margin: 0;
}

.h2-small {
    font-size: 18px;
    display: block;
}

.m-title-wrap {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #ccc;
}

.m-title-item {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px;
}

.m-name {
    font-size: 16px;
    font-weight: 500;
    color: #000;
}

#movies p {
    font-size: 14px;
    text-align: justify;
}

.mt-left {
    background-color: #D3EAFD;
}

ul.movies-wrap {
    width: 900px;
    text-align: left;
    display: inline-block;
}

li.movies-item {
    width: 100%;
    padding: 16px 20px;
    border-bottom: 1px solid #ccc;
    position: relative;
}

@media screen and (max-width: 900px) {
    ul.movies-wrap {
        width: 100%;
    }
}

@media screen and (max-width: 600px) {
    #movies-section01 {
        padding: 40px 0 0 0;
    }

    h2.movies-h2 {
        font-size: 18px;
    }

    .h2-small {
        font-size: 16px;
    }

    .m-title-item {
        width: 100%;
        padding: 20px;
    }

    .m-name {
        font-size: 14px;
    }

    #movies p {
        font-size: 12px;
    }
}

/* ----- movies-section02 ----- */

#movies-section02 {
    padding: 100px 0 0 0;
}

@media screen and (max-width: 600px) {
    #movies-section02 {
        padding: 40px 0 0 0;
    }

    li.movies-item {
        padding: 16px 10px;
    }
}

/* ----- movies-section02 ----- */

#movies-section03 {
    padding: 80px 0 100px 0;
}

@media screen and (max-width: 600px) {
    #movies-section03 {
        padding: 40px 0 50px 0;
    }
}

/* --------------- mem-footer --------------- */

/* ----- mem-footer ----- */
.mem-footer {
    border-top: 1px solid #ccc;
}

.f-mem-right {
    padding-bottom: 60px;
}

@media screen and (max-width: 600px) {
    .f-mem-right {
        padding-bottom: 0;
    }
}

/* --------------- lang --------------- */
.lang {}

.lang-wrap {
    display: flex;
}

#docCheck .lang-wrap {
    justify-content: flex-end;
}

.lang-wrap a {
    transition: all .3s ease-out;
    transform: scale(0.8, 0.8);
}

.lang-wrap a:hover {
    color: #00449b;
    transform: scale(1, 1);
    opacity: 1;
}

.lang-itemWrap {
    position: relative;
    padding: 0 15px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.lang-itemWrap:first-child::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 15px;
    background: #8592a9;
}

.lang-item {
    display: inline-block;
    width: 100%;
    height: 100%;
    font-weight: 700;
    color: #8592a9;
    display: flex;
    justify-content: center;
    align-items: center;
}

.lang-item.is-active {
    color: #00449b;
    transform: scale(1, 1);
}

@media screen and (min-width: 768px) {
    #menu li a {
        transition: all .3s ease-out;
    }

    #menu li a:hover {
        background: #fd4c9b;
    }

    #menu li.is-active a {
        background: #fd4c9b;
    }

    #menu li:not(:last-child) {
        border-right: 1px solid #fff;
    }
}

@media screen and (max-width: 1120px) {
    .lang {
        position: absolute;
        top: 0;
        right: 90px;
        height: 80px;
        display: flex;
        align-items: center;
    }

    #docCheck .lang {
        display: block;
        position: relative;
        top: auto;
        right: auto;
    }
}

@media screen and (max-width: 600px) {
    .lang {
        height: 70px;
    }
}

@media screen and (max-width: 380px) {
    .lang {
        right: 70px;
    }
}


/* ----- 251010追加 イベント情報アーカイブ ----- */
.event-select {
    margin-top: 80px;
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}

.event-select .event-select_item {
    cursor: pointer;
    font-size: 1.8rem;
    color: #919191;
    padding: 1rem;
}

.event-select .event-select_item:hover {
    color: #073284;
    text-decoration: underline;
    font-weight: 700;
    transform: scale(1.2);
}

.event-select .event-select_item.is-active {
    cursor: default;
    color: #073284;
    text-decoration: underline;
    font-weight: 700;
    transform: scale(1.2);
}

.add-event {
    margin-top: 40px;
}

.add-event .event-item:first-child {
    border-top: 1px solid #dbddde;
}

.add-event .event-item {
    text-align: left;
    display: flex;
    align-items: center;
    gap: 30px;
    border-bottom: 1px solid #dbddde;
    padding: 1.4em 1em 1.6em;
}

.add-event .event-item .event-schedule {
    width: 150px;
}

.add-event .event-item .event-name {
    flex: 1;
}

.add-event .event-item .event-name_titleLink {
    position: relative;
    color: #000;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: underline;
    transition: all .3s ease-out;
}

.add-event .event-item .event-name_titleLink:hover {
    opacity: .5;
}

.add-event .event-item .event-name_titleLink .event-linkIcon {
    padding-left: 1rem;
}

.add-event .event-item .event-name_titleLink .event-linkIcon {
    display: inline-block;
    position: relative;
    margin-left: .75rem;
    aspect-ratio: 1 / 1;
    width: 14px;
    height: auto;
}

.add-event .event-item .event-name_titleLink .event-linkIcon img {
    position: absolute;
    top: calc(50% + 2px);
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: auto;
}

.add-event .event-item .event-name_title {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
}

.add-event .event-item .event-name_sub {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
}

.add-event .event-item .event-btnWrap {
    width: 6em;
    display: flex;
    justify-content: center;
}

.add-event .event-item .event-btn {
    font-size: 1.4rem;
    color: #fff;
    background: #073284;
    border: 1px solid #073284;
    transition: all .3s ease-out;
    padding: .5em 1em;
}

.add-event .event-item .event-btn:hover {
    color: #073284;
    background: none;
}

.add-event .event-item .event-btn.no-link {
    pointer-events: none;
    background: #07846b;
    border: 1px solid #07846b;
}

.add-event .event-item .event-area {
    font-size: 1.5rem;
    width: 4em;
}

.add-event .event-item .event-location {
    font-size: 1.5rem;
    width: 20em;
}

@media screen and (max-width: 767px) {
    .add-event .event-item {
        position: relative;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 1.4em 0.5em 1.6em;
    }

    .add-event .event-item .event-schedule {
        width: 100%;
    }

    .add-event .event-item .event-area {
        width: 100%;
    }

    .add-event .event-item .event-location {
        width: 100%;
    }

    .add-event .event-item .event-btnWrap {
        width: 100%;
        margin: 0;
    }

    .add-event .event-item .event-btnWrap {
        order: 10;
    }

    .add-event .event-item .event-name_titleLink {
        font-size: 1.5rem;
    }

    .add-event .event-item .event-name_title {
        font-size: 1.5rem;
    }

    .add-event .event-item .event-name_sub {
        font-size: 1.5rem;
    }
}

.add-event.year-2026,
.add-event.year-2025 {
    transition: all .3s ease-out;
    opacity: 0;
    display: none;
}

.add-event.year-2026.is-active,
.add-event.year-2025.is-active {
    opacity: 1;
    display: block;
}

.add-btnArea {
    position: relative;
}

.add-btnArea .add-eventBtn {
    position: absolute;
    background: #334966;
    width: 260px;
    top: 0;
    right: 0;
}

@media screen and (max-width: 1050px) {
    .add-btnArea {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .add-btnArea .add-eventBtn {
        position: relative;
    }
}