@charset "UTF-8";

/*==================================================

    1.モーダルウィンドウ
    2.h2の装飾
    3.PC版のテーブル表示
    4.スクロールバーのCSS
    5.スマホのCSS
    6.新レイアウトのCSS

==================================================*/


/*==================================================
    1.モーダルウィンドウ
==================================================*/

.modal-wrapper {
    display: none;
}

.modal-button {
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
    /*display: block;*/
    padding: 2px;
    margin-right: 10px;
    text-decoration: underline;
}

.modal-button:active {
    /*ボタンを押したとき*/
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
    /*下に動く*/
}


/*アイコンを表示*/

.modal-button:before {
    font-family: "Font Awesome 5 Free";
    content: "\f35d";
    padding-right: 5px;
    font-weight: 900;
    color: #abcd02;
    text-decoration: none;
}

.modal-button2 {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 10px;
}

.modal-button2:before {
    font-family: "Font Awesome 5 Free";
    content: "\f35d";
    padding-right: 5px;
    font-weight: 900;
    color: #abcd02;
    text-decoration: none;
}


/*ラベルホバー時*/

.modal-button:hover {
    color: #c7d17d;
    transition: .6s;
}

.modal-wrapper::after {
    display: inline-block;
    height: 100%;
    margin-left: -.05em;
    vertical-align: middle;
    content: ""
}

.md-overlay{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .7;
    z-index: 9999;
}

a.md-overlay:hover{
    opacity: .6;
}

.md-contents{
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    width: 70%;
    max-width: 600px;
    height: auto;
    overflow: hidden;
    z-index: 10000;
    transform: translate(-50%, -50%);
  }

.modal-content {
    max-height: 80vh;
    padding: 5px 10px;
    overflow-y: auto;
    text-align: left;
    background-color: #fff;
}

.modal_title {
    font-size: 1.5em;
    position: relative;
    overflow: hidden;
    padding: 0 0 10px;
}

.modal_title::before,
.modal_title::after {
    content: "";
    position: absolute;
    bottom: 0;
}


/* h2 プライマリカラー*/

.modal_title:before {
    border-bottom: 4px solid #176a22;
    width: 100%;
}


/* h2 セカンダリカラー*/

.modal_title:after {
    border-bottom: 4px solid #abcd02;
    width: 100%;
}

.modal-content p {
    margin: 10px 0 0 0;
}

.modal-overlay {
    z-index: 10;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, .8)
}

.modal-wrapper .modal-close {
    z-index: 20;
    position: absolute;
    top: 5px;
    right: 5px;
    width: 35px;
    color: #95979c !important;
    font-size: 30px;
    font-weight: 700;
    line-height: 35px;
    text-align: center;
    text-decoration: none;
    text-indent: 0
}

.modal-wrapper .modal-close:hover {
    color: #2b2e38 !important
}


/*==================================================
    2.h2の装飾
==================================================*/

.course2 .page-tit {
    background: url("../img/checkups/course/page-tit_bg.png") no-repeat top center;
    background-size: cover;
}


/*==================================================
    3.PC版のテーブル表示
==================================================*/

.pc-table table,
.pc-table table th,
.pc-table table td {
    border: 1px solid #777777;
    border-collapse: collapse;
    font-family: "Noto Sans JP", "メイリオ", sans-serif;
    text-align: center;
}

.pc-table table th {
    vertical-align: middle;
    background: #c3d825;
    font-weight: bold;
    padding: 0 4px;
    line-height: 22px;
}

.pc-table table td {
    padding: 0 4px;
    vertical-align: middle;
    line-height: 22px;
}

.pc-table table td.detail {
    text-align: left;
}

.side_midasi {
    background: #fafafa;
    width: 62px;
}

.midasi3 {
    width: 62px;
}

.detail-title {
    width: 400px;
}

.pc-table {
    width: 1000px;
    margin: auto;
    font-size: 0.85em;
    overflow-x: scroll;
    padding-bottom: 10px;
}

.pc-table table {
    width: 1500px;
}

.sp-table {
    display: none;
}

@media screen and (max-width: 1050px) {
    .sp-table {
        display: block;
    }
    .pc-table {
        display: none;
    }
}


/*==================================================
    4.スクロールバーのCSS
==================================================*/

.pc-table {
    transform: rotateX(180deg);
}

.pc-table .tabe-in {
    transform: rotateX(180deg);
}

.pc-table::-webkit-scrollbar {
    width: 16px;
    height: 25px;
}

.pc-table::-webkit-scrollbar-track {
    background: url("../dock/common/img/checkups/kwsk.png") no-repeat right center #efefef;
    border-radius: 100px;
}

.pc-table::-webkit-scrollbar-thumb {
    background: #abcd02;
    border-radius: 100px;
    width: 130px;
}


/*==================================================
    5.スマホのCSS
==================================================*/

.sp-only {
    display: none;
}

@media screen and (max-width: 1050px) {
    .pc-table {
        display: none;
    }
    .sp-table {
        display: block;
        padding: 0 5px;
    }
    .sp-table table {
        width: 100%;
        font-size: 0.85em;
    }
    .sp-table table th,
    .sp-table table td {
        border: 1px solid #777777;
        border-collapse: collapse;
        font-family: "Noto Sans JP", "メイリオ", sans-serif;
        text-align: center;
    }
    .sp-table table th {
        font-weight: bold;
        padding: 0 2px;
        line-height: 22px;
    }
    .sp-table table td {
        padding: 0 2px;
        vertical-align: middle;
        line-height: 22px;
    }
}

@media screen and (max-width: 768px) {
    .pc-only {
        display: none;
    }
    .sp-only {
        display: block;
        letter-spacing: 12px;
    }
    .sp-table {
        padding: 0;
    }
    .sp-table table {
        font-size: 0.75em;
    }
    .sp-table table th {
        text-align: center;
        padding: 2px 2px 2px 0;
        vertical-align: top;
    }
    .sp-table table th.v-a-middle {
        vertical-align: middle !important;
    }
    .sp-table table th span {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        -moz-writing-mode: vertical-rl;
        -o-writing-mode: vertical-rl;
        -webkit-writing-mode: vertical-rl;
        text-orientation: upright;
        white-space: pre;
        padding: 0;
    }
    .sp-table table td {
        padding: 0 1px;
    }
    .sp-table table td.tatemoji {
        background: #fafafa;
        text-align: center;
        padding: 2px 2px 2px 0;
    }
    .sp-table table td.tatemoji span {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        -moz-writing-mode: vertical-rl;
        -o-writing-mode: vertical-rl;
        -webkit-writing-mode: vertical-rl;
        white-space: pre;
        text-orientation: upright;
    }
}


/*==================================================
    6.新レイアウトのCSS
==================================================*/

.course-list h5 {
    font-size: 1.2em;
    padding-bottom: 10px;
    margin-bottom: 20px;
    border-bottom: solid 1px #ccc;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.course-list dl {
    display: flex;
    border-bottom: solid 1px #ccc;
    margin-bottom: 20px;
    padding-bottom: 10px;
    width: 100%;
}

.course-list dt {
    width: 20%;
}

.course-list dd {
    width: 80%;
}

.course-list-btn {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 15px;
}

.course-list-btn li {
    width: 24%;
    padding: 5px 0;
    margin: 0 0.5% 10px;
    background: #f7faeb;
    border-radius: 5px;
    text-align: center;
    border: solid 1px #9db545;
}

@media screen and (max-width: 1050px) {
    .course-list-btn li {
        width: 49%;
    }
    .course-list dt {
        width: 30%;
    }
    .course-list dd {
        width: 70%;
    }
}

@media screen and (max-width: 480px) {
    .course-list h5 {
        font-weight: 600;
    }
    article.course-list {
        display: block;
        padding-top: 70px;
        margin-top: -70px;
        font-size: 0.95em;
    }
    .modal-button {
        display: block;
    }
}

.gold-f {
    color: #948109;
}

.silver-f {
    color: #5c5c5b;
}

.blue-f {
    color: #263d66;
}

.red-f {
    color: #813234;
}

.yellow-f {
    color: #9c5d0a;
}

.kimidori-f {
    color: #2f7a65;
}

.dockprice-contents {
    background-color: #f8faf2;
    padding: 30px 40px 10px;
    margin-bottom: 30px;
}

.dockprice-contents h5 {
    font-size: 1.2em;
    padding-bottom: 10px;
    margin-bottom: 20px;
    border-bottom: solid 1px #9db545;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.dockprice-contents li {
    list-style-type: none;
    position: relative;
    padding-left: 0.6em;
    margin-bottom: 15px;
}

.dockprice-contents li:before {
    border-radius: 50%;
    width: 5px;
    height: 5px;
    display: block;
    position: absolute;
    left: 0;
    top: 0.75em;
    content: "";
    background: #abcd02;
}

@media screen and (max-width: 480px) {
    .dockprice-contents {
        padding: 30px 20px 10px;
    }
    .dockprice-contents li a {
        font-size: 1.7rem;
    }
    .dockprice-contents li p {
        font-size: 1.7rem;
    }
}