@charset "utf-8";

/*------------------------------------------------------------
	top
------------------------------------------------------------*/

#main {
    margin-bottom: 0px;
}

.mainVisual {
    /* margin-top: 25px; */
}

.topMain {
    /* background: url("../img/top/bg_topMain2.jpg") no-repeat center center / cover; */
    background: url("../img/top/bg_topMain2.jpg");
    width: 92%;
    height: 1600px;
    height: 1080px;
    position: relative;
    margin-bottom: 30px;
    margin: 0 auto;
    background-size: contain;
    background-position: top center;
    ;
    background-repeat: no-repeat;
}

.content_top_m {
    margin: 0 auto;
    width: 95%;
    max-width: 1920px;
    box-sizing: border-box;
}

.content_top {
    margin: 0 auto;
    width: 95%;
    max-width: 1200px;
    box-sizing: border-box;
}

.sp_topTitleImg {
    display: none;
}

.top_headLine {
    float: left;
}

.top_sideImgBox {
    position: relative;
}

.top_sideImgBox {
    position: absolute;
    top: 120px;
    right: 0px;
}

.top_txtImgBox {
    text-align: right;
    padding-top: 3%;
    margin-right: 5%;
}

.pc_top_txtImg {
    width: 43%;
}


.clear {
    clear: both;
}

.topBoxContainer {
    /* display: flex;
    flex-direction: column;
    justify-content: flex-end; */
    /* 垂直方向の下揃え */
    /* align-items: center; */
    /* 水平方向の中央揃え */
    /* min-height: 95.5vh; */
    /* 画面の高さ全体をカバー */
    /* margin: 0; */
}

.topBox {
    margin: 0 auto;
    text-align: center;
    display: flex;
    margin-top: 625px;
    gap: 30px;
    justify-content: center;
    /* position: absolute;
    bottom: 20px; */
}

.ac_flex {
    display: flex;
    gap: 55px;
    justify-content: center;
    margin-left: 60px;
}

.ac_flex_l {
    padding-top: 50px;
}

.achievements {
    height: auto;
    background: #ffffff;
    margin-top: 80px;
}

.content_ach_m {
    margin: 0 auto;
    /* width: 95%; */
    /* max-width: 2378px; */
    box-sizing: border-box;
}

.ac_imgList {
    display: flex;
    gap: 55px;
}

.ac_flex_l_textBox {
    font-size: 4.7rem;
    /* font-weight: 600; */
    font-family: "ヒラギノ明朝 Pro";
    color: #202124;
    text-align: center;
    /* padding-top: 30px; */
    margin-top: -10px;
    margin-right: -255px;
}

.ac_flex_l_imgBottom {
    /* margin-top: 35px; */
}

.ac_flex_l_imgBottom img {
    width: 100%;
}

.ac_flex_r {
    margin-top: 50px;
}

.ac_flex_r_imgBox {
    position: relative;
    z-index: 2;
}

.ac_flex_r_imgBox img {
    width: 95%;
}

.ac_imgBottom {
    margin-top: -30px;
}

.ac_imgBottom img {
    height: 55px;
}

.about_us {
    background: url("../img/top/au_bg.png") no-repeat center center / cover;
    width: 100%;
    height: 850px;
}

.au_headline {
    /* font-size: 4.6rem; */
    font-size: 38pt;
    /* font-family: "ヒラギノ明朝 Pro"; */
    font-family: "ヒラギノ明朝 Pro", "Yu Mincho", "MS PMincho", "Noto Serif JP", serif;
    color: #202124;
    text-align: center;
    /* padding-top: 160px; */
    font-weight: bold;
}

.au_txt {
    font-size: 3.4rem;
    /* font-family: "ヒラギノ明朝 Pro"; */
    font-family: "ヒラギノ明朝 Pro", "Yu Mincho", "MS PMincho", "Noto Serif JP", serif;
    color: #202124;
    text-align: center;
    padding-top: 40px;
    font-weight: 100;
}

.au_txt_sBox {
    margin: 0 auto;
}

.au_txt_s {
    font-size: 2.2rem;
    font-family: "ヒラギノ明朝 Pro";
    color: #fff;
    text-align: left;
    padding-top: 40px;
    line-height: 40px;
}

.signboard {
    background: url("../img/top/sb_bg2.png") no-repeat center center;
    width: 100%;
    /* height: 2220px; */
    height: auto;
    /* padding-bottom: 100px; */
    /* padding-bottom: 75px; */
    margin: 0 auto;
    margin-top: 130px;
}

.au_headlineTxt {
    border-bottom: 3px solid #3aa1ef;
    width: 35%;
    margin: 0 auto;
}

.sb_headline {
    text-align: center;
    margin: 0 auto;
    padding-top: 50px;
}

.sb_hl_txt {
    /* font-size: 5.6rem; */
    /* font-size: 43pt; */
    font-size: 38pt;
    /* font-family: "ヒラギノ明朝 Pro"; */
    font-family: "ヒラギノ明朝 Pro", "Yu Mincho", "MS PMincho", "Noto Serif JP", serif;
    text-align: center;
    font-weight: 600;
    color: #202124;
    padding-top: 150px;
}

.sb_hl_bottom {
    text-align: center;
    margin: 0 auto;
    padding-top: 20px;
}

.sb_listBox {
    margin-top: 65px;
}

.sb_list {
    display: flex;
    justify-content: center;
    gap: 35px;
    flex-wrap: wrap;
}

.sb_list li {
    width: calc(30% - 10px);
    /* max-width: 350px; */
    padding: 10px;
}



.listItem {
    list-style: none;
    margin: 20px 0;
    background: #fff;
    text-align: center;
}

.sb_list_photo {}

.sb_list_txt {
    font-size: 20px;
    font-weight: 500;
    width: 98%;
    text-align: center;
    margin: 0 auto;
    margin-top: 20px;
    color: #202124;
}

.detailsButtonBox {
    padding-top: 30px;
    padding-bottom: 35px;
}

.detailsButton {
    cursor: pointer;
    /* ボタンのカーソルをポインターに変更 */
}

.details {
    display: none;
}

.details.open {
    display: block;
}



/*====================================================================
 .accordion_one
====================================================================*/
.accordion_one {
    margin: 0 auto;
    margin-top: 30px;
    margin-bottom: 40px;
}


.accordion_one .accordion_header:hover {
    opacity: .8;
}



.accordion_one .accordion_inner {
    display: none;
    padding: 35px 30px 5px 30px;
    box-sizing: border-box;
}



.accordion_one .accordion_inner .box_one {
    height: 180px;
}

.accordion_one .accordion_inner p.txt_a_ac {
    margin: 0;
    font-size: 20px;
    font-weight: 500;
    overflow: hidden;
    height: 180px;
    text-align: left;
}

.accordion_header.open .btn_open {
    display: none;
}

.btn_open {
    padding: 5px 15px 5px;
    display: block;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: -0.015em;
    border-radius: 10px;
    background: #FED36B;
    width: 38%;
    margin: 0 auto;
    color: #1A4E7C;
    font-weight: 600;
    cursor: pointer;
}

.btn_close {
    padding: 5px 15px 5px;
    display: block;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: -0.015em;
    border-radius: 10px;
    background: #FED36B;
    width: 38%;
    margin: 0 auto;
    display: none;
    color: #1A4E7C;
    font-weight: 600;
    cursor: pointer;
}

.accordion_header.open .btn_close {
    display: block;
}





.contributions {
    background: url("../img/top/ctb_bg2.png") no-repeat center center;
    width: 100%;
    /* height: 1300px; */
    /* height: 1080px; */
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    padding-bottom: 232px;
}

.contributionsinner {
    margin: 0 auto;
    width: 95%;
    max-width: 1225px;
    box-sizing: border-box;
}

.ctb_headline {
    text-align: center;
    padding-top: 180px;
    font-size: 38pt;
    font-weight: bold;
    /* font-family: "ヒラギノ明朝 Pro"; */
    font-family: "ヒラギノ明朝 Pro", "Yu Mincho", "MS PMincho", "Noto Serif JP", serif;
}

.ctb_headlineTxt {
    border-bottom: 3px solid #3aa1ef;
    width: 55%;
    margin: 0 auto;
    color: #202124;
    padding-bottom: 4px;
}

.ctb_txt_sBox {
    margin: 0 auto;
}

.ctb_txt_s {
    font-size: 20px;
    /* font-family: "ヒラギノ明朝 Pro"; */
    color: #202124;
    text-align: left;
    padding-top: 40px;
    /* line-height: 40px; */
    font-weight: 500;
}

.ctb_imgBox {
    display: flex;
    gap: 42px;
    justify-content: center;
    margin-top: 40px;
}

.ctb_imgBox img {
    max-width: 115%;
}


/*****************
    スライド部分
*******************/
#top_slider {
    height: 300px;
    position: relative;
}

.swiper-container {
    width: 90%;
    max-width: 100%;
    height: 500px;
    /* 必要に応じて高さを調整 */
    overflow: visible !important;
    position: initial !important;
}

.swiper {
    overflow: visible !important;
}

.swiper-slide {
    flex-shrink: 0;
    /* width: 480px !important; */
    height: 100%;
    position: relative;
    transition-property: transform;
}

.swiper-slide img {
    height: auto;
    width: 100%;
}

.swiper_title.active {
    width: 100%;
    height: 60px;
    z-index: 0;
}

.swiper_title {
    /* position: absolute; */
    width: 0;
    /* top: 355px; */
    /* right: 275px; */
    /* z-index: 10; */
    /* letter-spacing: -.5em; */
    color: #fff;
    /* font-size: 25px; */
    font-size: 4.7rem;    
    overflow: hidden;
    /* padding-right: 2.5px 0; */
    width: 100%;
    height: 80px;
    text-align: center;
    background: linear-gradient(to right, #37526e 30%, #101010 100%);
    /* font-family: "ヒラギノ明朝 Pro"; */
    font-family: "ヒラギノ明朝 Pro", "Yu Mincho", "MS PMincho", "Noto Serif JP", serif;
    padding-top: 8px;
    margin: 0 auto;
    text-align: center;
    margin-top: 25px;

}

#top_slider .swiper-slide-active {
    /* width: 592px !important; */
    /* height: 490px; */
    /* margin-right: 30px !important;
    margin-left: 30px !important; */
}

.swiper_title::before {
    /* content: ""; */
    /* background: rgba(245, 70, 60, 0.7); */
    /* background: #000; */
    /* background: linear-gradient(to right, #37526e 30%, #101010 100%); */
    /* position: absolute; */
    /* top: 0; */
    /* bottom: 0; */
    /* right: 0px; */
    /* left: 0px; */
    /* z-index: -1; */
    /* transform: skew(-45deg); */
}

.top_slider .swiper_title .title_inner {
    width: 710px;
}

.top_slider .swiper_title .title_inner>* {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
}

#top_slider .swiper-slide .slide_inner .image {
    height: 100%;
    -webkit-transition: transform .5s ease;
    transition: transform .5s ease;
    position: relative;
}

#top_slider .swiper_title .label_text {
    /* margin-left: 330px; */
    padding-top: 9px;
}

#top_slider .swiper-button-next {
    background: url("../img/top/right_arw.jpg") no-repeat center center;
}

#top_slider .swiper-button-prev {
    background: url("../img/top/left_arw.jpg") no-repeat center center;
}

.swiper-button-prev::after,
.swiper-button-next::after {
    content: "" !important;
}

#top_slider .swiper-button-prev {
    width: 64px;
    height: 64px;
    left: 40px;
    /* border-radius: 40px; */
}

#top_slider .swiper-button-next {
    width: 64px;
    height: 64px;
    right: 40px;
    /* border-radius: 40px; */
}

.swiper-slide.highlight {
    /* border: 2px solid red; */
    width: 562px !important;
    height: 100%;
}

.highlight img {
    /* margin-right: 30px !important;
    margin-left: 30px !important; */
}


.slick-track {
    display: flex !important;
    /* 要素をflexにして余白を適用しやすくする */
}

.top_slick_slider {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

.slide_img {
    margin: 0 auto;
    text-align: center;
}

.top_slick_slider img {
    width: 100%;
    max-width: 95%;
    margin: 0 auto;
    text-align: center;
}

.slick-prev,
.slick-next {
    position: absolute;
    top: 50%;
    /* 垂直方向の中央に配置 */
    transform: translateY(-50%);
    background: none;
    border: none;
    z-index: 1;
}

.slick-prev {
    /* left: 18px !important; */
    left: 13px !important;
}

.slick-next {
    /* right: 18px !important; */
    right: 12px !important;
}

.slick-prev:before,
.slick-next:before {
    display: none;
}

.slick-prev,
.slick-next {
    top: 42% !important;
    width: 90px !important;
}



@media all and (max-width: 1700px) {

    .swiper-slide.highlight {
        width: 480px !important;
    }

    #top_slider .swiper_title {
        top: 315px;

    }

    .ac_flex_l_textBox {
        margin-top: -46px;
        margin-right: -150px;
    }

}


@media all and (max-width: 1550px) {

    .swiper-slide.highlight {
        width: 450px !important;
    }

    #top_slider .swiper_title {
        top: 300px;

    }

    .ac_flex_l_textBox {
        margin-top: -63px;
        margin-right: -80px;
    }


}


@media all and (max-width: 1400px) {

    .swiper-slide.highlight {
        width: 410px !important;
    }

    #top_slider .swiper_title {
        top: 285px;

    }

    .ac_flex_l_textBox {
        margin-top: -77px;
        margin-right: -75px;
        font-size: 4rem;
    }

    #top_slider .swiper-button-prev {
        top: 40%;
    }

    #top_slider .swiper-button-next {
        top: 40%;
    }

    .slick-prev,
    .slick-next {
        top: 40% !important;
        width: 80px !important;
    }

    .slick-prev {
        left: 13px !important;
    }

    .slick-next {
        right: 13px !important;
    }

}


@media all and (max-width: 1200px) {

    .swiper-slide.highlight {
        width: 370px !important;
    }

    #top_slider .swiper_title {
        top: 230px;

    }

    .ac_flex_l_textBox {
        margin-top: -121px;
        margin-right: -45px;
        font-size: 3.8rem;
    }

    #top_slider .swiper-button-prev {
        top: 30%;
    }

    #top_slider .swiper-button-next {
        top: 30%;
    }

    .top_Box img {
        width: 90%;
    }

    .slick-prev,
    .slick-next {
        top: 40% !important;
        width: 75px !important;
    }

    .slick-prev {
        /* left: 10px !important; */
        left: 8px !important;
    }

    .slick-next {
        /* right: 10px !important; */
        right: 5px !important;
    }

}

@media all and (max-width: 950px) {

    .btn_open {
        font-size: 1.4rem;
    }

    btn_close {
        font-size: 1.4rem;
    }


}




@media all and (max-width: 1000px) {

    .swiper-slide.highlight {
        width: 280px !important;
    }

    #top_slider .swiper_title {
        top: 200px;

    }

    .ac_flex_l_textBox {
        margin-top: -153px;
        margin-right: 40px;
        font-size: 3.5rem;
    }

    #top_slider .swiper-button-prev {
        top: 25%;
    }

    #top_slider .swiper-button-next {
        top: 25%;
    }

    #top_slider .swiper-button-prev {
        width: 45px;
        height: 45px;
        left: 40px;
    }

    #top_slider .swiper-button-next {
        width: 45px;
        height: 45px;
        right: 40px;
    }

    .ctb_headlineTxt {
        border-bottom: 3px solid #3aa1ef;
        width: 67%;
        margin: 0 auto;
    }

}

@media all and (max-width: 896px) {

    .pc_top_txtImg {
        width: 60%;
    }

    .top_txtImgBox {
        margin-right: 3%;
    }

    .swiper-slide.highlight {
        width: 280px !important;
    }

    #top_slider .swiper_title {
        top: 180px;

    }

    .ac_flex_l_textBox {
        margin-top: -192px;
        margin-right: 40px;
        font-size: 3rem !important;
    }

    .top_slick_slider img {
        max-width: 94%;
    }

    .slick-next {
        /* right: 13px !important; */
        /* right: 9px !important; */
    }

    .slick-prev {
        /* left: 13px !important; */
        /* left: 9px !important; */
    }

    .sb_list li {
        height: 630px;
    }


}

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

    .topMain {
        height: 870px;
        /* height: auto; */
    }

    .top_txtImgBox {
        margin-right: 0% !important;

    }

    .top_txtImgBox img {
        width: 65%;
    }

    .swiper-slide.highlight {
        width: 240px !important;
    }

    #top_slider .swiper_title {
        top: 167px;
    }

    .ac_flex_l_textBox {
        margin-top: -205px;
        margin-right: 85px;
        font-size: 2.6rem !important;
    }

    #top_slider .swiper-button-prev {
        top: 25%;
        left: 10px;
    }

    #top_slider .swiper-button-next {
        top: 25%;
        right: 10px;
    }

    .topBox {
        /* display: block; */
        /* margin-top: 520px; */
        margin-top: 770px !important;
    }

    .top_Box img {
        width: 90% !important;
    }

    .achievements {
        margin-top: 30px;
    }

    .accordion_one {
        margin-top: 5px !important;
    }

    .ctb_headline {
        font-size: 30pt;
    }

    .ctb_headlineTxt {
        width: 60%;

    }

    .slick-prev,
    .slick-next {
        top: 40% !important;
        width: 75px !important;
    }

    .sb_list li {
        width: calc(40% - 10px);
        height: 660px;
    }

    .slick-prev {
        left: 6px !important;
    }

    .slick-next {
        right: 7px !important;
    }

}


@media all and (max-width: 720px) {

    .swiper-slide.highlight {
        width: 230px !important;
    }

    #top_slider .swiper_title {
        top: 145px;

    }

    .ac_flex_l_textBox {
        margin-top: -223px;
        margin-right: 35px;
        font-size: 2.3rem !important;
    }

    #top_slider .swiper-button-prev {
        top: 25%;
    }

    #top_slider .swiper-button-next {
        top: 25%;
    }

    #top_slider .swiper-button-prev {
        width: 45px;
        height: 45px;
        left: 40px;
    }

    #top_slider .swiper-button-next {
        width: 45px;
        height: 45px;
        right: 40px;
    }

    .ctb_headlineTxt {
        width: 70%;
    }

}

@media all and (max-width: 650px) {


    .accordion_one .accordion_inner p.txt_a_ac {
        text-align: left;
    }

    .ctb_txt_s {}

    .sb_list_txt {}

    .sb_list_txt {
        height: 75px !important;
    }

    .swiper_title {
        font-size: 3.5rem;
        height: 58px;
        padding-top: 4px;
    }

    .slick-prev,
    .slick-next {
        top: 40% !important;
        width: 60px !important;
    }

    .slick-next {
        right: 10px !important;
    }

    .slick-prev {
        left: 10px !important;
    }

    .accordion_one {
        margin-top: 50px !important;
    }

}


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

    .ctb_headlineTxt {
        width: 75%;
    }

}


@media all and (max-width: 576px) {

    .topMain {
        height: 750px !important;
    }

    .swiper-slide.highlight {
        width: 175px !important;
    }

    #top_slider .swiper_title {
        top: 115px;
        height: 40px !important;
        font-size: 20px;
    }

    #top_slider .swiper_title .label_text {
        padding-top: 5px;
    }

    .ac_flex_l_textBox {
        margin-top: -247px;
        margin-right: 35px;
        font-size: 2rem !important;
        padding-top: 35px !important;
    }

    #top_slider .swiper-button-prev {
        top: 20%;
    }

    #top_slider .swiper-button-next {
        top: 20%;
    }

    #top_slider .swiper-button-prev {
        width: 35px;
        height: 35px;
        left: 5px;
    }

    #top_slider .swiper-button-next {
        width: 35px;
        height: 35px;
        right: 5px;
    }

    .topBox {
        margin-top: 540px !important;
    }

    .ctb_headlineTxt {
        width: 80%;
    }

    .slick-prev,
    .slick-next {
        top: 40% !important;
        width: 70px !important;
    }

    .slick-next {
        /* right: 18px !important; */
        right: 7px !important;
    }

    .slick-prev {
        /* left: 18px !important; */
        left: 8px !important;
    }

    .sb_list li {
        width: calc(44% - 10px);
        /* max-width: 350px; */
        padding: 10px;
        height: 630px;
    }

    .sb_list_txt {
        font-size: 20px !important;
        height: 70px !important;
    }

    .accordion_one .accordion_inner p.txt_a_ac {
        font-size: 20px;
        margin-top: 50px;
    }

    .accordion_one .accordion_inner {
        padding: 0px 10px 5px 10px;
    }

    .signboard {
        height: 3060px !important;
    }

}

@media all and (max-width: 500px) {

    .ctb_headlineTxt {
        width: 95%;
    }

}


@media all and (max-width: 400px) {

    .swiper-slide.highlight {
        width: 120px !important;
    }

    #top_slider .swiper_title {
        top: 85px;
    }

    .ac_flex_l_textBox {
        margin-top: -253px;
        margin-right: 34px;
        font-size: 1.5rem !important
    }

    #top_slider .swiper-button-prev {
        top: 15%;
    }

    #top_slider .swiper-button-next {
        top: 15%;
    }

    #top_slider .swiper-button-prev {
        width: 25px;
        height: 25px;
        left: 5px;
    }

    #top_slider .swiper-button-next {
        width: 25px;
        height: 25px;
        right: 5px;
    }

    #top_slider .swiper_title.active {
        height: 35px;
    }

    #top_slider .swiper_title {
        font-size: 19px;
    }

    #top_slider .swiper_title .label_text {
        margin-left: 45px;
        padding-top: 5px;
        text-align: left;
    }

    .achievements {
        height: auto;
        background: #ffffff;
        margin-top: -10px;
    }

    .ctb_headlineTxt {
        width: 70%;
    }


}


@media all and (max-width: 1750px) {

    .topMain {
        height: 950px;
    }

    .topBox {
        margin-top: 580px;
    }
}

@media all and (max-width: 1450px) {

    .topMain {
        height: 850px;
    }

    .topBox {
        margin-top: 490px;
    }
}


@media all and (max-width: 1200px) {

    .topMain {
        height: 720px;
    }

    .top_txtImgBox {
        margin-right: 10%;
    }

    .topBox {
        margin-top: 410px;
    }

.sb_list_txt {
  height: 100px;
}
.btn_open,
.btn_close
{
    width:45%;
    font-size: 1.5rem;
    white-space: nowrap;
}
.accordion_one .accordion_inner .box_one,
{
    height: 250px;
}
.accordion_one .accordion_inner p.txt_a_ac {
    height: 250px;
    font-size: 17px;
}

}


@media all and (max-width: 1010px) {

    .signboard {
        height: auto;
    }

}


@media all and (max-width: 896px) {

    .topMain {
        background: url("../img/top/sp_bg_topMain.png") no-repeat center center / cover;
        width: 100%;
        height: 1080px;
        /* height: auto; */
    }


    .top_headLine {
        margin-top: 30px;
        width: 70%;
    }

    .top_sideImgBox {
        position: absolute;
        top: 20px;
        right: 0px;
        width: 20%;
    }

    .top_headLine img {
        width: 100%;
    }

    .topBox {
        /* display: block; */
        /* margin-top: 520px; */
        margin-top: 820px;
    }

    .topBox img {
        width: 100%;
    }


    .top_Box_left {
        margin-bottom: 30px;
        width: 49%;
    }

    .top_Box_right {
        width: 49%;
    }

    .ac_flex_l_textBox {
        font-size: 4rem;
        padding-top: 30px;
    }

    .ac_flex_l_imgBottom {
        margin-top: 10px;
    }

    .topBox_sp {
        height: auto;
        text-align: center;
    }

    .topBox_sp img {
        width: 100%;
        height: auto;
        display: block;
    }

    .ac_flex {
        display: block;
        text-align: center;
    }

    .ac_flex_r {
        margin-top: 0px;
        padding-top: 50px;
        /* padding-bottom: 50px; */
    }

    .ac_flex_r_imgBottom img {
        width: 100%;
    }

    .ac_flex_r_textBox {
        font-size: 4rem;
        padding-top: 20px;
        font-family: "ヒラギノ明朝 Pro";
        color: #fff;
        padding-bottom: 20px;
    }

    .achievements {
        height: auto;
    }

    .au_headline {
        font-size: 38pt;
        /* padding-top: 50px; */
    }

    .au_headlineTxt {
        width: 40%;
    }

    .au_txt {
        font-size: 3.2rem;
        padding-top: 20px;
    }

    .au_txt_s {
        font-size: 1.7rem;
        padding-top: 30px;
        line-height: 40px;
    }

    .ac_flex_r_imgBottom {
        padding-bottom: 50px;
    }

    .about_us {
        height: 680px;
    }

    .signboard {
        height: auto;
    }

    .sb_headline {
        padding-top: 60px;
    }

    .sb_hl_txt {
        font-size: 38pt;
        padding-top: 150px;
    }

    .sb_list_txt {
        font-size: 20px;
        width: 98%;
        margin-top: 20px;
        height: 100px
    }

    .accordion_header {
        display: none;
    }

    .accordion_one {
        margin: 0 auto;
        margin-top: 0px;
        margin-bottom: 0px;
    }

    .accordion_one .accordion_inner {
        display: block;
        padding: 0px 0px;
        box-sizing: border-box;
    }

    .btn_open {
        padding: 5px 15px 5px;
        font-size: 1.4rem;
        border-radius: 10px;
        width: 55%;
        font-weight: 600;
    }

    .btn_close {
        padding: 5px 15px 5px;
        font-size: 1.4rem;
        border-radius: 10px;
        width: 55%;
        font-weight: 600;
    }

    .ctb_headline {
        padding-top: 80px;
    }

    .ctb_txt_s {
        font-size: 20px;
        padding-top: 30px;
        /* line-height: 40px; */
        font-weight: 500;
    }

    .ctb_imgBox {
        margin-top: 80px;
        display: block;
        text-align: center;
        margin-top: 30px;
        /* margin-bottom: 40px; */
        padding-bottom: 70px;
    }

    .contributions {
        height: auto;
        /* background: url(../img/top/ctb_bg2.png) no-repeat center bottom; */
        padding-bottom: 180px;
    }

    .ctb_img_l {
        margin-bottom: 30px;
    }


.sb_list li{
    height: auto;
}
    .sb_list_txt {
  height: 100px;
  font-size: 19px;
    }
.accordion_one{
    margin-top: 10px;
    margin-bottom: 20px;
}
.accordion_header{
    display: block;
}
    .accordion_one .accordion_inner{
        display: none;
        padding: 20px 10px 5px 10px;
    }
.accordion_one .accordion_inner p.txt_a_ac {
height:190px;
    font-size: 14px;
}



}

@media all and (max-width: 768px) {
    .au_headlineTxt {
        width: 43%;
    }
}

@media all and (max-width: 576px) {
    .au_headlineTxt {
        width: 55%;
    }
}

@media all and (max-width: 450px) {

    .topMain {
        height: 520px !important;
    }

    .pc_topTitleImg {
        display: none;
    }

    .sp_topTitleImg {
        display: block;
    }

    .topBox {
        margin-top: 370px !important;
        gap: 10px
    }

    .topBox img {
        width: 85%;
    }

    .top_headLine {
        margin-top: 20px;
        width: 70%;
    }

    .top_sideImgBox {
        position: absolute;
        top: 40px;
        right: 0px;
        width: 24%;
    }

    .ac_flex_l_textBox {
        font-size: 1.8rem;
        /* font-weight: 600; */
        padding-top: 15px;
    }

    .achievements {
        height: auto;
    }

    .ac_flex_l {
        padding-top: 30px;
    }

    .ac_flex_r {
        margin-top: 0px;
    }

    .ac_flex_l_imgBottom {
        margin-top: 5px;
    }

    .au_headline {
        font-size: 20pt;
        /* padding-top: 40px; */
        margin-bottom: 25px;
    }

    .ac_flex_l_textBox {
        margin-top: -275px;
    }

    .au_txt {
        font-size: 2.6rem;
        padding-top: 10px;
    }

    .au_txt_s {
        font-size: 1.6rem;
        padding-top: 25px;
        line-height: 30px;
    }

    .about_us {
        width: 100%;
        height: 720px;
    }

    .signboard {
        height: 2150px;
        width: 100%;
        padding-bottom: 0px;
        height: 2425px !important;
        margin-top: 100px;
    }


    .sb_headline {
        padding-top: 40px;
    }

    .sb_hl_txt {
        font-size: 20pt;
        padding-top: 70px;
    }

    .sb_hl_bottom {
        padding-top: 10px;
        width: 70%;
    }

    .sb_listBox {
        margin-top: 30px;
    }

    .sb_list {
        gap: 20px;
    }

    .sb_list li {
        width: calc(44% - 10px);
        max-width: 350px;
        padding: 10px;
        height: 545px;
    }


    .sb_list_txt {
        /* font-size: 1.6rem; */
        width: 98%;
        margin-top: 20px;
        height: 90px;
    }

    .btn_open {
        padding: 5px 15px 5px;
        font-size: 1.4rem;
        border-radius: 10px;
        width: 65%;
        font-weight: 600;
    }

    .btn_close {
        padding: 5px 15px 5px;
        font-size: 1.4rem;
        border-radius: 10px;
        width: 65%;
        font-weight: 600;
    }

    .sb_list_txt {
        font-size: 1.4rem !important;
    }

    .accordion_one .accordion_inner p.txt_a_ac {
        font-size: 1.4rem;
    }


    .ctb_headline {
        padding-top: 100px;
    }

    .ctb_txt_s {
        font-size: 20px;
        padding-top: 30px;
        /* line-height: 35px; */
        font-weight: 500;
    }

    .ctb_imgBox {
        margin-top: 30px;
        /* margin-bottom: 60px; */
    }

    .ctb_imgBox img {
        width: 95%;
    }

    .contributions {
        height: auto;
        padding-bottom: 20px;
    }

    .ctb_headline {
        font-size: 18pt;
    }

    .ctb_headlineTxt {
        width: 75%;
        padding-bottom: 2px;
    }

    .au_headlineTxt {
        width: 45%;
    }

    .swiper_title {
        font-size: 2rem;
        height: 44px;
        padding-top: 5px;
        margin-top: 10px;
    }

    .slick-prev,
    .slick-next {
        top: 50% !important;
        width: 50px !important;
        height: auto !important;
    }

    .slick-arrow img {
        object-fit: contain
    }

    .slick-next {
        right: 13px !important;
    }

    .slick-prev {
        left: 13px !important;
    }

    .sb_list_txt {
        height: 50px !important;
    }


    .accordion_one .accordion_inner .box_one {
        margin: 0 auto;
        padding-left: 8px
    }

}

@media (min-width: 1920px) {
    .swiper-slide img {
        width: 485px;
        /* 固定サイズ */
        height: auto;
        /* アスペクト比を維持 */
    }

    .swiper-slide.highlight img {
        /* border: 2px solid red; */
        width: 562px !important;
        height: auto;
    }
}