@charset "UTF-8";


/*---------------------------
　　　　　　　共通
----------------------------*/

body {
    margin: 0 auto;
    font-feature-settings: "palt";
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    color: #444444;
}

a,
a:hover,
a:visited {
    color: inherit;
}

img {
    max-width: 100%;
}

img,
#btn,
.detail-btn,
#banner {
    -webkit-filter: drop-shadow(2px 2px 2px rgba(150, 150, 150, 1));
    /* SafariなどのWebkitブラウザ用 */
    filter: drop-shadow(2px 2px 2px rgba(150, 150, 150, 1));
}

.report_wrapper h2 img,
.single-seminar_content-wrapper h2 img,
.single-seminar_info-wrapper h2 img {
    filter: none;
}


h1 {
    color: #fff;
    font-size: clamp(20px, 4vw, 45px);
    font-weight: 400;
    line-height: 1.2em;
}

.dummy {
    font-size: 20px;
    color: #444444;
    text-align: center;
    margin: 50px auto;
}

/* オレンジ丸の見出し画像 */
h2 {
    text-align: center;
}

h2 img {
    height: clamp(20px, 4vw, 30px);
    padding-bottom: clamp(10px, 4vw, 80px);
}

/* オレンジ丸の見出し画像おわり */


/* 講習会タイトル */
h3 {
    font-size: clamp(17px, 4vw, 25px);
    font-weight: 400;
    line-height: 1.3em;
}

p {
    font-size: clamp(12px, 2vw, 16px);
    line-height: 1.7em;
    text-align: justify;
}

#seminar,
#report,
#mov,
#single-seminar_content,
#single-seminar_info,
#single-seminar_mov,
#banner {
    padding: min(15vw, 120px) min(5vw, 200px);
}

#single-seminar_content,
#single-seminar_info,
#single-seminar_mov {
    padding-bottom: 0;
}

.seminar_wrapper,
.report_wrapper,
.mov_wrapper,
#mov .attention,
.single-seminar_content-wrapper,
.single-seminar_info-wrapper,
.single-seminar_mov_wrapper {
    max-width: 1200px;
    margin: 0 auto;
}


/* 詳しく見るボタン */
.detail-btn {
    width: 120px;
    background-image: linear-gradient(40deg, #f7931e, #f3b624);
    border-radius: 5px;
    padding: 5px 10px;
    text-align: center;
    margin-left: auto;
}


.seminar_item-detail .detail-btn p,
.detail-btn p {
    color: #fff;
    font-size: 12px;
    text-align: center;
}


@media screen and (max-width: 768px) {
    .detail-btn {
        width: 70px;
    }

    .seminar_item-detail .detail-btn p,
    .detail-btn p {
        font-size: 10px;
    }
}



html {
    scroll-behavior: smooth;
}

a,
#expansion {
    transition-duration: 0.5s;
    /*動く時間(なめらかになる)*/
}

/*ホバー*/
a:hover,
#expansion:hover {
    transform: scale(1.05);
    /*拡大*/
    transition: transform 0.5s;
    /*動く時間(なめらかになる)*/
    opacity: 0.9;
    /*半透明になる*/
}

span.sp-br,
li.sp-br {
    display: inline-block !important;
}



/* グラデ背景 */
/* #gradation_g {
    background-image: linear-gradient(40deg, #00a244, #abc240);
}

#gradation_o {
    background-image: linear-gradient(40deg, #f7931e, #f3b624);
} */



/*---------------------------
　　　ヘッダー
----------------------------*/

header {
    background-image: url(../img/kv.jpg);
    background-position: center;
    background-size: cover;
    height: min(60vw, 100vh);
    position: relative;
}

header img {
    width: min(20vw, 300px);
    margin: 20px 0 20px 20px;
}

header .main_ttl {
    position: absolute;
    width: clamp(250px, 50vw, 500px);
    height: clamp(50px, 8vw, 90px);
    top: 0;
    bottom: 10vh;
    margin: auto 0;
    align-content: center;
    background-image: linear-gradient(40deg, #00a244 60%, #abc240);
}

header h1 {
    text-align: center;
}

header .btn_banner {
    position: absolute;
    bottom: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.8);
}

header .btn_banner div {
    display: flex;
    width: 100%;
    max-width: 1000px;
    margin: 30px;
    gap: 30px;
}

header .btn_banner div a {
    width: 100%;
}

header .btn_banner div a img {
    margin: 0;
    width: 100%;
}

@media screen and (max-width: 768px) {
    header {
        height: min(80vh, 600px);
    }

    header img {
        width: max(45vw, 130px);
        margin: 10px 0 10px 10px;
    }
}

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

    header .btn_banner div {
        display: grid;
        width: 100%;
        margin: 20px;
        gap: 10px;
    }

    header .main_ttl {
        top: 0;
        right: 0;
        bottom: 25vh;
        left: 0;
        margin: auto;
    }
}



/*---------------------------
　　　　講習会・セミナー情報
----------------------------*/
#seminar {
    background-image: linear-gradient(40deg, #00a244 60%, #abc240);
}


.seminar_wrapper h2 img {
    padding-bottom: 20px;
}

.seminar_wrapper .attention {
    text-align: center;
    color: #fff;
    margin-bottom: 3vw;
}

.seminar_list {
    /*     display: grid; */
    grid-template-columns: 1fr 1fr;
    gap: min(2vw, 20px);

}

.seminar_item {
    display: flex;
    background-color: #fff;
    border-radius: 20px;
    padding: min(3vw, 20px);
    flex-direction: column;
}



/* 募集中アイコン */
.circle_wanted {
    display: inline-block;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #ed1c24;
    text-align: center;
    line-height: 60px;
    color: #fff;
}

/* 締切アイコン */
.circle_unwanted {
    display: inline-block;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #999999;
    text-align: center;
    line-height: 60px;
    color: #fff;
}

.seminar_item-title {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: min(3vw, 15px);
    border-bottom: 1px dotted #444444;
    margin-bottom: min(3vw, 15px);
}

.seminar_item-title h3 {
    flex: 1;
}

.seminar_item-detail {
    display: flex;
    align-items: center;
    margin-top: auto;
}

.seminar_item-detail p {
    flex: 1;
    font-size: clamp(12px, 1.5vw, 16px);
}

#btn {
    display: block;
    padding: clamp(10px, 1vw, 80px);
    text-align: center;
    background-image: linear-gradient(40deg, #f7931e, #f3b624);
    color: #fff;
    width: clamp(300px, 40vw, 500px);
    margin: 50px auto 0;
    border-radius: 5px;
}

#btn p {
    font-size: clamp(12px, 2vw, 25px);
    text-align: center;
}

@media screen and (max-width: 768px) {
    .seminar_list {
        display: block;
    }

    .seminar_item {
        margin-bottom: 20px;
        border-radius: 10px;
    }


    .seminar_item-detail {
        display: block;
    }
}





/*---------------------------
　　　新着情報
----------------------------*/
.report_item {
    display: flex;
    align-items: center;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: min(3vw, 25px);
    border-bottom: 1px dotted #444444;
    margin-bottom: min(3vw, 25px);
}

.report_item a .report_summary {
    text-decoration: underline;
}


/* newアイコン */
.circle_new {
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #ed1c24;
    text-align: center;
    line-height: 30px;
    color: #fff;
    margin: auto 10px;
}

/* newアイコンの表示がない場合余白を空ける */
.circle_new:empty {
    background-color: transparent;
}

#report .circle_new {
    font-size: 12px;
}

.report_summary {
    flex: 1;
    line-height: 1.5em;
    margin-right: 10px;
}

/* 動画アイコン */
p span.mov_btn {
    display: inline-block;
    color: #ed1c24;
    border: 1px solid #ed1c24;
    border-radius: 3px;
    padding: 0 10px;
    margin-left: 5px;
}

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

    .report_item,
    .single-seminar_content_item {
        flex-wrap: wrap;
        padding-left: 0;
        padding-right: 0;
    }

    .report_item a.detail-btn,
    .single-seminar_content_item .detail-btn {
        margin-left: auto;
        color: #fff;
    }

    .report_item .detail-btn img,
    .single-seminar_content_item .detail-btn img {
        width: 20%;
    }

    .report_summary {
        flex: none;
        width: 100%;
        margin: 10px 0;
    }

    .circle_new {
        width: 23px;
        height: 23px;
        line-height: 24px;
    }

    #report .circle_new {
        font-size: 9px;
    }
}

/*---------------------------
　　　　　　講習会動画一覧
----------------------------*/
#mov {
    background-image: linear-gradient(40deg, #00a244 60%, #abc240);
}

#mov .attention {
    color: #fff;
    text-align: center;
    padding-bottom: clamp(10px, 4vw, 80px);
}

.mov_wrapper {
    display: flex;
}



.mov_wrapper h2 img {
    padding-bottom: 20px;
}

.mov_wrapper .attention {
    text-align: center;
    color: #fff;
    margin-bottom: 3vw;
}

.year_list {
    width: 300px;
    color: #fff;
    line-height: 2em;
}

.year_list p {
    color: #21ac3e;
    background-color: #fff;
    text-align: center;
    padding: 5px;
}

.year_list ul {
    padding: 0 0 5px 20px;
    margin: 0;
}

.year_list div {
    padding: 5px;
}

.year_list details ul p {
    color: #fff;
    background-color: transparent;
    text-align: left;
    padding: 0;
    font-size: 13px;
}

details {
    width: 200px;
}

details ul li {
    border-bottom: 1px dotted #fff;
    line-height: 1.5em;
    padding: 5px 0;
}

details ul li #expansion:hover {
    opacity: 0.5;
    transition-duration: 0.5s;
}

details ul li:first-child {
    padding-top: 0;
}

details ul li:last-child {
    border-bottom: none;
}

summary {
    cursor: pointer;
    position: relative;
    font-size: 20px;
}


.mov_list {
    margin: 0;
}

.mov_item {
    flex: 1;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 20px;
    padding: min(4vw, 30px);
    margin: 0 0 30px 30px;
}

.mov_seminar_title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-image: linear-gradient(40deg, #00a244 60%, #abc240);
    padding: 10px 20px;
    margin-bottom: 20px;
}

.mov_seminar_title h3,
.mov_seminar_title p {
    color: #fff;
    text-align: center;
}

.mov_seminar_thumb {
    display: flex;
}

.mov_seminar_thumb .mov_seminar_left {
    width: 40%;
}

.mov_seminar_thumb .mov_seminar_left img {
    width: 100%;
    height: auto;
}


.mov_seminar_agenda {
    margin-left: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.mov_seminar_agenda ol {
    margin-bottom: 10px;
}

.mov_seminar_thumb .mov_seminar_agenda .more {
    width: calc(100% - 20px);
    text-align: center;
    margin-top: auto;
    color: #fff;
}

.more {
    display: flex;
    background-image: linear-gradient(40deg, #f7931e, #f3b624);
    border-radius: 5px;
    padding: 10px;
    margin-top: auto;
    justify-content: center;
    color: #fff;
    filter: drop-shadow(2px 2px 5px rgba(150, 150, 150, 0.5));
}

.arrow {
    position: relative;
    display: inline-block;
    width: 120px;
    height: 2px;
    margin-left: 20px;
    margin-top: 13.5px;
    border-radius: 9999px;
    background-color: #ffffff;
}

.arrow::before {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 0;
    width: 15px;
    height: 2px;
    border-radius: 9999px;
    background-color: #ffffff;
    transform: rotate(45deg);
    transform-origin: calc(100% - 0.5px) 50%;
}

@media screen and (max-width: 1080px) {
    .mov_seminar_thumb {
        display: block;
    }

    .mov_seminar_thumb .mov_seminar_left {
        width: 100%;
    }

    .mov_seminar_agenda {
        margin: 10px 0 0 0;
    }

    .year_list {
        width: 300px;
    }

    .mov_seminar_title {
        display: block;
        text-align: center;
        line-height: 2em;
    }
}

@media screen and (max-width: 768px) {
    .mov_item {
        border-radius: 10px;
        margin: 0 0 5vw 0;
    }

    .year_list {
        width: 100%;
        margin-top: 30px;
        text-align: center;
    }

    .year_list ul {
        text-align: center;
        display: inline-block;
    }

    .year_list ul li {
        margin: 0 auto;
    }

    .year_list ul li p {
        text-align: center;
    }

    .mov_wrapper article {
        display: block;
    }

    .mov_item:last-child {
        margin: 0;
    }

    .mov_seminar_agenda {
        margin: 10px 0 0 0;
    }

    .mov_seminar_thumb img {
        width: 100%;
    }

    details {
        width: 100%;
    }

    summary {
        text-align: center;
        font-size: clamp(15px, 3vw, 26px);
    }

    .mov_wrapper {
        flex-direction: column-reverse;
    }

}



/*---------------------------
　ページネーション
----------------------------*/
.nav-links ul {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 50px;
}

.nav-links li>* {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    height: 45px;
}

.nav-links li>*:not(.dots) {
    width: 45px;
    border-radius: 50%;
    color: #9b8245;
    background: #efefef;
    transition: color 0.3s ease, background 0.3s ease;
}

.nav-links li>.current,
.nav-links li>a:hover {
    color: #ffffff;
    background: #9b8245;
}






/*---------------------------
ボタン（投稿ページも含む）
----------------------------*/
#btn_wrapper,
#single-btn_wrapper {
    padding: min(7vw, 200px) min(5vw, 200px) min(5vw, 200px);
    display: flex;
    justify-content: center;
    gap: 20px;
}

#btn_wrapper #btn {
    margin-top: 0;
}

@media screen and (max-width: 768px) {
    #btn_wrapper #btn {
        width: 100%;
    }
}


/* 
#single-btn_wrapper {
    padding-top: 0;
}

#single-btn_wrapper a img,
#btn_wrapper a img {
    display: block;
    height: min(10vw, 60px);
    padding-top: 0;
    margin: 0 auto;
}



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

    #btn_wrapper,
    #single-btn_wrapper {
        display: block;
    }

    #single-btn_wrapper a img,
    #btn_wrapper a img {
        margin-bottom: 20px;
    }


} */

/*---------------------------
　　　　　　  フッター
----------------------------*/
#banner {
    padding-top: 0;
    text-align: center;
}

#banner img {
    width: max(600px, 70%);
}


.footer_content {
    background-image: linear-gradient(40deg, #00a244 60%, #abc240);
    display: flex;
    color: #fff;
    padding: min(5vw, 100px) min(5vw, 200px);
    justify-content: space-between;
    align-items: center;
}

.footer_inner_left img {
    padding-bottom: min(3vw, 15px);
    border-bottom: 1px dotted #fff;
    margin-bottom: min(3vw, 12px);
}

.footer_inner_left p {
    line-height: 2em;
    text-align: center;
}

.footer_inner_right .sns {
    display: flex;
    gap: 20px;
    align-items: center;
}

.footer_inner_right .sns img {
    width: 40px;
}

.copyright {
    text-align: right;
    font-size: 12px;
    margin: 10px 10px 10px;
}

@media screen and (max-width: 768px) {
    .footer_content {
        display: block;
        text-align: center;
        margin: 0 auto;
    }

    .footer_inner_left,
    .footer_inner_right {
        width: 90%;
        margin: 20px auto;
    }


    .footer_inner_right .sns {
        justify-content: center;
        margin-top: 20px;
    }

    .footer_inner_right .sns img {
        width: 30px;
    }

    .copyright {
        text-align: center;
    }
}











/*------------------------------------------------------------------------------------------------------------
　　　　　　

　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　投稿ページ


-------------------------------------------------------------------------------------------------------------*/


/*---------------------------
　　　　ヘッダー(top以外)
----------------------------*/
.single_header {
    background-image: none;
    height: auto;
    position: static;
}

.single_header img {
    width: min(20vw, 300px);
    margin: 20px 0 20px 20px;
}

.single_header .main_ttl {
    position: relative;
    width: calc(100% - 40px);
    height: clamp(100px, 20vw, 300px);
    padding: 20px;
    align-content: end;
    background-image: linear-gradient(40deg, #00a244 60%, #abc240);
}

.single_header h1 {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
}

.single_header .main_ttl p {
    color: #fff;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .single_header img {
        width: max(30vw, 130px);
        margin: 10px 0 10px 10px;
    }
}


/*---------------------------
　　　　　　開催報告
----------------------------*/
.single-seminar_content-wrapper,
.single-seminar_info-wrapper {
    max-width: 1100px;
}

.single-seminar_content_item {
    display: flex;
    align-items: center;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: min(3vw, 25px);
    border-bottom: 1px dotted #444444;
    margin-bottom: min(3vw, 25px);
}



/* Noアイコン */
.circle_no {
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid #21ac3e;
    text-align: center;
    line-height: 30px;
    color: #21ac3e;
    margin: auto 10px;
    font-size: 12px;
}

.single-seminar_content_summary {
    flex: 1;
    line-height: 1.5em;
    margin-right: 10px;
}

.single-seminar_content_summary img {
    height: 25px;
    margin-bottom: -8px;
    margin-left: 10px;
    filter: none;
}

.single-seminar_content_item .detail-btn img {
    width: 100%;
}


@media screen and (max-width: 768px) {
    .single-seminar_content_item {
        padding-left: 0;
        padding-right: 0;
    }

    .single-seminar_content_summary img {
        height: 15px;
        margin-bottom: -3px;
    }

    .single-seminar_content_item .detail-btn img {
        width: 20%;
    }
}




/*---------------------------
　　　講習会情報
----------------------------*/


.single-seminar_info-wrapper article {
    border: 1px solid #21ac3e;
    padding: min(3vw, 20px);
    margin-top: 1.5em;
}

.single-seminar_info-wrapper article ul {
    margin: 0;
    line-height: 1.5em;
}

.single-seminar_info-wrapper article ul .info_ttl {
    background-image: linear-gradient(40deg, #00a244 60%, #abc240);
    font-size: 12px;
    color: #fff;
    padding: 0 10px;
    margin-right: 10px;
}

.single-seminar_info-wrapper article ul .sp-br {
    margin-right: 20px;
}

.single-seminar_info-wrapper article p {
    line-height: 2em;
    text-align: left;
}

/* .single-seminar_info-wrapper article span:first-child,
.single-seminar_info-wrapper article span:last-child{
    margin-left: 0;
} */



@media screen and (max-width: 768px) {
    .single-seminar_info-wrapper article {
        margin-top: 20px;
    }
}


/*---------------------------
　　　　　　講習会動画一覧
----------------------------*/


.single-seminar_mov_list {
    margin: 0;
}

.single-seminar_mov_item {
    background-image: linear-gradient(40deg, #00a244 60%, #abc240);
    border-radius: 20px;
    padding: min(4vw, 30px);
    margin: 0 0 30px 0;
    color: #fff;
}

.single-seminar_mov_item:last-child {
    margin: 0;
}


.single-seminar_mov_title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px dotted #fff;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.single-seminar_mov_thumb {
    display: flex;
}

.single-seminar_mov_thumb a {
    width: 40%;
}

.single-seminar_mov_thumb a img {
    width: 100%;
}

.single-seminar_mov_content {
    margin-left: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;

}

.instructor {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
}

.instructor span.ins_ttl {
    border: 1px solid #fff;
    color: #fff;
    padding: 5px;
    margin-right: 10px;
    width: 7vw;
    text-align: center;
}

.instructor h4 {
    font-size: clamp(15px, 1.5vw, 20px);
    font-weight: 400;
    line-height: 1.7em;
    margin-bottom: 1em;
    width: 90%;
}

.single-seminar_mov_content .pdf_dl {
    text-align: right;
    width: 100%;
    margin-top: auto;

}

.single-seminar_mov_content .pdf_dl img {
    width: 50%;
}

@media screen and (max-width: 768px) {
    .single-seminar_mov_title {
        display: block;
        border: none;
        margin-bottom: 0;
    }

    .single-seminar_mov_title p {
        text-align: right;
    }

    .single-seminar_mov_thumb {
        display: block;
    }

    .single-seminar_mov_content {
        margin: 20px 0 0 0;
    }

    .instructor {
        display: block;
    }

    .instructor span.ins_ttl {
        padding: 0 10px;
    }

    .instructor h4 {
        width: 100%;
        margin: 10px 0;
        padding-bottom: 10px;
        line-height: 1.3em;
        text-align: justify;
        border-bottom: 1px dotted #fff;
    }

    .single-seminar_mov_content .pdf_dl {
        margin-top: 20px;
    }
}

/* ページネーション */
.pagination {
    text-align: center;
    color: #fff;
    text-align: center;
    line-height: 40px;
    font-size: 20px;
}

.pagination span:not(.prev):not(.next) {
    display: inline-block;
    color: #8cc63f;
    background-color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 10px;
}

.pagination a {
    display: inline-block;
    color: #fff;
    border: solid 1px #fff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 10px;
}

.pagination a span.prev,
.pagination a span.next {
    display: inline-block;
}

.pagination a:last-child,
.pagination a:first-child {
    margin-right: 0;
    border: 0;
}

.pagination .prev::before,
.pagination .next::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.pagination .prev::before {
    transform: rotate(-135deg);
}

.pagination .next::before {
    transform: rotate(45deg);
}

.pagination .prev,
.pagination .next {
    background: none;
    width: auto;
    height: auto;
}

@media screen and (max-width: 768px) {
    .pagination {
        margin-top: 5vw;
    }
}