body {
    font-family: ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,メイリオ,Meiryo,ＭＳ\ Ｐゴシック,sans-serif;
    line-height: 1.8;
    color:#282828;
    font-size: 16px;
}

.pc { /* レスポンシブ用。PC表示時はPC用を表示 */
    display: block !important;
}
.sp { /* レスポンシブ用。PC表示時はスマホ用を非表示 */
    display: none !important;
}

header,
main {
    width: 95%;
    margin: 0 auto;
}

h1 {
    font-size: 28px;
    color: #055a0c;
    border-bottom: 3px solid #055a0c;
}

/* 上部（選択ボックス、凡例） */
.description {
    font-size: 16px;
    margin-bottom: 1em;
}

.upper_area {
    display: flex;
}

#course_selection_area {
    margin-bottom: 15px;
    min-width: 260px;
}
#course_selection {
    width: 220px;
    font-size: 15px;
    margin-top: 15px;
}
.search_title {
	font-weight: bold;
}

/* 凡例 */
.legend_wrapper {
    display: flex;
    align-self: flex-end;
    flex-wrap: wrap;
    margin-left: 150px;
}
.legend {
    width: 180px;
    margin-left: 1em;
}
.legend img {
    width: 100%;
}


/* ヘルプ */
.tooltip {
    display: inline-block;
    margin-left: 1em;
    vertical-align: middle;
}
.tooltip_mark {
    display: block;
    width: 20px;
    height: 20px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
    color: #fff;
    border: 2px solid #5B9BD5;
    cursor: default;
	border-radius: 15px;
    background-color: #5B9BD5;
}
.tooltip_content_wrapper {
    position: relative;    
}
.tooltip_content {
	display: none;
    position: absolute;
    top: 10px;
    left: -146px;
    width: 280px;
    font-size: 12px;
    padding: 0.5em;
    border: 1px solid #5B9BD5;
    background-color: #eaf2f9;
    border-radius: 10px;
}
.tooltip_content:before {
    content: "";
    position: absolute;
    top: -24px;
    left: 50%;
    border: 12px solid transparent;
    border-bottom: 12px solid #5B9BD5;
}
.tooltip_content:after {
    content: "";
    position: absolute;
    top: -23px;
    left: 50%;
    border: 12px solid transparent;
    border-bottom: 12px solid #eaf2f9;
}
.tooltip:hover .tooltip_content {
	display: block;
}
.tooltip:hover .gg-info {
    background-color: #eaf2f9;
}

@media screen and (max-width: 767px) {
    /* スマホ用レスポンシブ設定 */
    .sp {
        display: block !important;
    }
    .pc {
        display: none !important;
    }

    h1 {
        font-size: 24px; /* 28px */
        line-height: 1.2;
    }
    
    .upper_area {
        display: block;
    }
    .tooltip_content {
        left: -198px
    }
    .tooltip_content:before,
    .tooltip_content:after {
        left: 68%;
    }

    .legend_wrapper {
        margin-left: 0;
    }
}


.gg-info {
    box-sizing: border-box;
    position: relative;
    display: block;
    transform: scale(var(--ggs,1));
    width: 20px;
    height: 20px;
    border: 2px solid #5B9BD5;
    border-radius: 40px
}
.gg-info::after,
.gg-info::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    border-radius: 3px;
    width: 2px;
    background: #5B9BD5;
    left: 7px
}
.gg-info::after {
    bottom: 2px;
    height: 8px
}
.gg-info::before {
    height: 2px;
    top: 2px
}

.icon-info1 img,
.icon-info2 img {
    width: 20px;
    height: 20px;
}
