:target {
  scroll-margin-top: 70px; /* 上に100px余白を取る */
}

.wrapper .links {
    margin-top: 0;
}
body.graduate .wrapper h3 {
    font-size: 22px;
}
body.graduate .wrapper h4 {
    line-height: 1.5;
    text-wrap: wrap;
}
body.graduate .wrapper section:has(> h4),
body.graduate .wrapper section:has(> h5) {
    margin-left: 1em;
}

.content > section > section p { font-size: 16px;}
.content > section > section p a,
.content > section > section ul a,
.content > section > section ol a {
    color:var(--main-purple);
    border-bottom: 1px solid var(--main-purple);
}

body.graduate .wrapper .links > ul > li {
    font-size: 16px;
    border-bottom: 1px solid var(--main-purple);
    padding: 0 ;
    margin-bottom: 10px;
}
body.graduate .wrapper .links > ul > li > a::after {
    color: var(--main-purple);
    content: '\25bc';
}
body.graduate .wrapper ol li { list-style-type: decimal;}


body.graduate .content > section {
    margin: 60px 0 80px;
}
body.graduate .content > section > section {
    margin-top: 40px;
}
#Dousoukai a {
    display: block;
    text-align: center;
    font-family: 'Lato', 'Noto Serif JP', serif;
    color: white;
    font-size: 24px;
    padding: 30px 0;
    background-color: #a2bbd4;
    background-image: url("data:image/svg+xml,%3Csvg width='44' height='12' viewBox='0 0 44 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 12v-2L0 0v10l4 2h16zm18 0l4-2V0L22 10v2h16zM20 0v8L4 0h16zm18 0L22 8V0h16z' fill='%236699cc' fill-opacity='0.2' fill-rule='evenodd'/%3E%3C/svg%3E");
}

#Dousoukai a span {
    display: block;
    width: 260px;
    font-size: 16px;
    padding: .3em 0;
    border-radius: 20px;
    margin: 6px auto 0;
    background: #6699CC;
}

table {
    width: 100%;
    color: #464646;
    font-size: 14px;
    border-collapse: collapse;
    margin: 10px 0 0;
}

table tr,
table th,
table td {
    text-align: center;
    border: 1px solid #CCC;
    padding: 10px 5px;
    font-family: 'Lato',"Noto Sans JP", sans-serif;
}

table th {
    text-align: center;
    background: #EDEDED;
}
table td {
    background: #f9f9f9;
}

table th span,
table td span {
    display: block;
}
.table-scroll table {
    margin: 16px 0;
    width: 800px;
}

.table-scroll table tr th {
    width: 80px;
    background: #efefef;
}

.table-scroll {
    position: relative;
    width: 100%;
    overflow-x: scroll;
}

table tr th ~ td:nth-of-type(odd) { border-right: dashed 1px #CCC;}
table tr th ~ td:nth-of-type(even) { border-left: dashed 1px #CCC;}


table td a {
    color: #9b2e55;
    border-bottom: 1px solid;
}
table td a.pdf::after {
    content: "\e415";
    font-family: "Material Symbols Outlined";
    font-size: 15px;
    margin-left: .3em;
    position: relative;
    top: .12em;
    font-weight: 100;
}
table td span:has(a) {
    margin-bottom: 14px;
    line-height: 1.3;
}
table sup {
    color: #9b2e55;
}
#cantDL {
    padding-bottom: 2em;
    border-bottom: 1px solid #CCC;
    margin-left: 1em;
    margin-bottom: 2em;
}
#accordion_block {
    summary {
        position: relative;
        max-width: 500px;
        font-weight: 700;
        color: #FFF!important;
        list-style: none;
        cursor: pointer;
        padding: 1em .5em;
        border-radius: 10px;
        background: #9b2e55;

        span::after {
            position: absolute;
            content: "\e5c5";
            font-family: "Material Symbols Outlined";
            font-weight: 100;
            font-size: 30px;
            line-height: 80%;
            right: .5em;
            transition: .3s;
        }
    }
    section { padding: 0 .5rem 1rem 1rem;}
}

#accordion_block[open] summary span::after {
    transform: rotate(180deg);
    transition: .3s;
}

#AttentionPoint {
    table caption {
        margin-bottom: .5em;

        span {
            display: inline-block;
            color: #FFF;
            padding: 0 .5em;
            margin-right: .5em;
            background: var(--main-purple);
        }
    }
}
body.graduate .wrapper #point4 {
    em {
        font-style: normal;
        background: linear-gradient(transparent 40%, rgba(191, 105, 148, 0.3) 40%);
    }
    table td { text-align: left;}
}

body.graduate .wrapper #License #CWR {
    text-align: center;
    padding: 1em;
    border: 1px solid #CCC;
    margin: 1em;
}