:root {
    /* 03_base */
    --base: #FFF;
    /* Color/Text  */
    --txt: #374151;
    --dg-blue: #0050A4;
    /* 02_card_fill */
    --accent: #F4F7F9;
    /* Color/Card_Stroke */
    --line: #A0AEC0;
    /* 03_accent */
    --accent: #111827;
    --gray: #F2F2F2;
    --gray-line: #B9B9B9;
    --dgray: #E1E1E1;
    --dgray-line: #AFAFAF;

}

/* headerのバー削除 */
.c-header.c-body {
    display: none;
}


.view_pc {
    display: block;

    @media screen and (max-width:770px) and (orientation:portrait) {
        display: none;
    }
}

.view_sp {
    display: none;

    @media screen and (max-width:770px) and (orientation:portrait) {
        display: block;
    }
}

.header_bar {
    background: black;
    height: 40px;
    padding: 12px 70px;

    @media screen and (max-width:770px) and (orientation:portrait) {
        padding: 11px 25px;
    }
}

.header_bar_logo {
    width: 153px;

    @media screen and (max-width:770px) and (orientation:portrait) {
        width: 198px;
    }
}

.header_dgt {
    position: relative;
    height: 45vh;
}

.header_bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    overflow: hidden;
    /* z-index: -1; */
}

.header_bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;

}

.dgt_ttl {
    width: 500px;
    text-align: center;
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--base);
    font-size: 52px;

    @media screen and (max-width:770px) and (orientation:portrait) {
        top: 50%;
        font-size: 28px;
        width: 320px;
    }
}

.gnav {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 70px;

    @media screen and (max-width:770px) and (orientation:portrait) {
        top: 0;
        bottom: auto;
        padding: 24px 18px;
    }
}

.gnav_logo {
	display: block;
    @media screen and (max-width:770px) and (orientation:portrait) {
        width: 100px;
    }
}

.dgt_nav ul {
    display: flex;
    gap: 32px;

    @media screen and (max-width:770px) and (orientation:portrait) {
        gap: 12px;
    }

}

.dgt_nav_list a {
    color: var(--text);
    text-decoration: none;

    @media screen and (max-width:770px) and (orientation:portrait) {
        font-size: 12px;
    }
}

.dgt_nav_btn a {
	display: block;
	width: 122px;
    background: var(--dg-blue);
    border-radius: 30px;
    border: 1px solid var(--dg-blue);
    text-align: center;
    color: var(--base);
    text-decoration: none;
	transition: .4s;

    @media screen and (max-width:770px) and (orientation:portrait) {
		width: 78px;
        font-size: 12px;
    }
}

.dgt_nav_btn a:hover {
	color: var(--dg-blue);
	background: var(--base);
}

/* 背景色 */
html body {
    font-size: 16px;
    background: var(--base);
    color: var(--txt);
    font-family: 'Inter', "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

    @media screen and (max-width:770px) and (orientation:portrait) {
        font-size: 14px;
    }
}

html a {
    color: var(--accent);
    text-decoration: underline;
    font-size: 16px;

    @media screen and (max-width:770px) and (orientation:portrait) {
        font-size: 14px;
    }
}

/* aのときのマージン */
p.wp-block-paragraph {
    margin-bottom: 1.5em;
}

/* tableの中のaはunderlineなし */
html table a {
    /* table内のaは--txt, その他のaは--accent */
    color: var(--txt);
    text-decoration: none;
}

.wp-block-image img {
    border-radius: 10px;
}

/* 画像系 */
img,
picture,
video,
canvas,
svg {
    object-fit: contain;
    margin: 0 auto;
}

p img {
	display: inline-block;
	width: 18px;
}

/* 太字 */
strong {
    font-weight: 550;
    letter-spacing: 0.3px;
}


/* ul li */
.wp-block-list li {
    padding-left: 1em;
	margin-bottom: 1em;
	line-height: 1.6em;
}

.wp-block-list li::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: .5em;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-left: -1.5em;
    vertical-align: middle;
    position: relative;
    top: -1px;
}

ul.wp-block-list li::before {
    background-image: url('img/Clist.png');
}

ol.wp-block-list li::before {
    background-image: url('img/Blist.png');
}

/* コールアウト風 */
.wp-block-group {
    background: var(--gray);
    border: 1px solid var(--gray-line);
    padding: 2em;
}

.wp-block-group .wp-block-heading {
    font-size: 16px;
    font-weight: normal;
    margin-bottom: .5em;

    @media screen and (max-width:770px) and (orientation:portrait) {
        font-size: 14px;
    }
}

.wp-block-group .wp-block-paragraph {
    font-size: 16px;
    margin-bottom: 0;

    @media screen and (max-width:770px) and (orientation:portrait) {
        font-size: 14px;
    }
}

.wp-block-group img {
	height: auto;
}

/* 引用テキスト */
.wp-block-pullquote {
    background: var(--dgray);
    border: 1px solid var(--dgray-line);
    padding: 1em 2em;
    font-weight: 500;
}

/* table */
table {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid var(--line);
}

thead tr {
    background: var(--gray);
}

.has-text-align-left {
    font-weight: normal;
}

tr {
    display: block;
    padding: 1.4em .6em;
    border-bottom: 1px solid var(--line);

    @media screen and (max-width:770px) and (orientation:portrait) {
        padding: 1.2em 0em;
    }
}

th,
td {
    padding: 0 .5em;
}

.dgt-main {
    margin: 140px auto;
    display: flex;
    justify-content: center;
    align-items: flex-start;

    @media screen and (max-width:770px) and (orientation:portrait) {
        display: block;
        margin-top: 80px;
    }
}

/* コンテンツ幅 */
.dgt-con {
    width: 100%;
    max-width: 900px;
    padding: 0 20px;

    @media screen and (max-width:770px) and (orientation:portrait) {
        max-width: 346px;
        margin: 80px auto 0;
        padding: 0 20px;
        padding: 0 8px;
    }
}


h2.wp-block-heading {
    font-size: 28px;
    border-left: 5px solid var(--dg-blue);
    padding-left: 18px;
    margin-bottom: 1.2em;
    font-weight: 550;
    letter-spacing: .4px;

    @media screen and (max-width:770px) and (orientation:portrait) {
        font-size: 20px;
    }
}

h3.wp-block-heading {
    font-size: 24px;
    border-left: 5px solid var(--dg-blue);
    padding-left: 18px;
    margin-bottom: 1.2em;

    @media screen and (max-width:770px) and (orientation:portrait) {
        font-size: 20px;
    }
}

h4.wp-block-heading {
    font-size: 20px;
    border-left: 5px solid var(--dg-blue);
    padding-left: 18px;
    margin-bottom: 1.2em;

    @media screen and (max-width:770px) and (orientation:portrait) {
        font-size: 18px;
    }
}

h5.wp-block-heading {
    font-size: 16px;
    border-left: 5px solid var(--dg-blue);
    padding-left: 18px;
    margin-bottom: 1.2em;
    font-weight: 500;

    @media screen and (max-width:770px) and (orientation:portrait) {
        font-size: 16px;
    }
}

p {
    font-size: 16px;
    line-height: 1.8em;

    @media screen and (max-width:770px) and (orientation:portrait) {
        font-size: 14px;
    }
}

/* ライン */
hr.wp-block-separator.has-alpha-channel-opacity {
    margin: 32px 0;
}


/* 1. 親のカラムブロック：全体の幅の中に絶対に収める */
html body .wp-block-columns.is-layout-flex {
    display: flex;
    gap: 1em;

    @media screen and (max-width:770px) and (orientation:portrait) {
        flex-wrap: wrap;
    }
}

.wp-block-column {
    @media screen and (max-width:770px) and (orientation:portrait) {
        flex-basis: 100% !important;
    }
}


/* pdf */
.wp-block-file__button.wp-element-button {
    visibility: hidden;
}

/* ======================================================================
   ファイルブロックのPDF埋め込みに対するセキュリティ対策
   ====================================================================== */

/* 1. PDFの埋め込み要素とその親要素のクリック・右クリックを完全禁止にする */
.wp-block-file object div#toolbar {
    display: none !important;
    visibility: hidden;
}

/* 2. ファイルブロック全体の囲みに対して、右クリック（コンテキストメニュー）を禁止にする */
.wp-block-file {
    -webkit-touch-callout: none;
    /* iOSでの長押しメニュー禁止 */
    -webkit-user-select: none;
    /* テキスト選択禁止 */
    user-select: none;
}

object.wp-block-file__embed {
    height: 500px !important;

    @media screen and (max-width:770px) and (orientation:portrait) {
        /* height: 188px !important; */
        height: 165px !important;
    }
}

.wp-block-file__embed[hidden] {
    display: block;
}

.wp-block-file .wp-block-file__embed~a {
    display: none;
}

/* button */
.wp-block-button {
    background: var(--dg-blue);
    border: 2px solid var(--dg-blue);
    border-radius: 30px;
    padding: 1em 1.6em;
    padding: 1em 1.2em;
    min-width: 200px;
    max-width: 240px;
    max-width: 260px;
    margin: 0 auto;
    text-align: center;
    cursor: pointer;
    transition: .4s;
}

.wp-block-button a {
    color: var(--base);
    text-decoration: none;
/*     transition: .4s; */
}

.wp-block-button:hover {
    background: var(--base);
    border: 2px solid var(--dg-blue);
}

.wp-block-button:hover a {
    color: var(--dg-blue);
}

.footer_dgt {
    border-top: 1px solid var(--line);
    text-align: center;
    padding: 48px 30px;

    @media screen and (max-width:770px) and (orientation:portrait) {
        padding: 48px 100px;
    }
}

.footer_logo {
	display: block;
    margin-bottom: 60px;
}

.footer_nav {
    width: 900px;
    margin: 0 auto;

    @media screen and (max-width:770px) and (orientation:portrait) {
        /* width: 346px; */
        width: auto;
    }
}

.footer_nav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px;

    @media screen and (max-width:770px) and (orientation:portrait) {
        flex-wrap: wrap;
    }
}

.footer_nav_list {
    width: 200px;

    @media screen and (max-width:770px) and (orientation:portrait) {
        width: 100%;
    }
}

.footer_nav_list a {
    color: var(--txt);
    text-decoration: none;
}


.footer_bar {
    background: black;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 30px 50px;
    height: 80px;

    @media screen and (max-width:770px) and (orientation:portrait) {
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        padding: 14px 40px;
    }
}

.footer_copy {
    font-size: 12px;
    color: #CECECE;

    @media screen and (max-width:770px) and (orientation:portrait) {
        font-size: 8px;
    }
}



/* 設定が必要か検討する */
.has-text-align-left {
    text-align: left;
}

.has-text-align-center {
    text-align: center;
}

.has-text-align-right {
    text-align: right;
}




/* 目次ボックスのデザイン */
#dgt-toc {
    display: block;
    max-width: 210px;
    width: 100%;
    padding: 0 20px;
    position: sticky;
    top: 140px;

    @media screen and (max-width:770px) and (orientation:portrait) {
        position: static;
        max-width: 370px;
        max-width: 346px;
        margin: 0 auto;
        padding: 0 8px;
    }
}

.dgt-toc-list {
    margin: 0;
    list-style-type: none;

    @media screen and (max-width:770px) and (orientation:portrait) {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
    }
}

.dgt-toc-list li {
    line-height: 2;

    @media screen and (max-width:770px) and (orientation:portrait) {
        width: 50%;
    }
}

.dgt-toc-list li::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    background: var(--dg-blue);
    border-radius: 50%;
    margin-right: .4em;
}

.dgt-toc-list a {
    color: var(--txt);
    text-decoration: none;
    font-size: 12px;
}

.dgt-toc-list a:hover {
    color: var(--dg-blue);
    filter: brightness(1.2);
}





/* wp-admin */
body,
body.wp-autoresize {
    width: 100%;
}

:root :where(.wp-element-button, .wp-block-button__link) {
    padding: 0;
    background-color: inherit;
}

.wp-block-button__link {
    background-color: inherit;
}

.wp-block-table td,
.wp-block-table th {
    border: none;
}

li .block-editor-rich-text__editable.rich-text {
    display: inline-block;
}

.wp-block-table thead {
    border: none;
}


/* is-active */
.dgt-toc-list li.is-active a {
    color: var(--dg-blue);
    font-weight: 500;
}

.dgt-toc-list li.is-active::before {
    width: 14px;
    height: 14px;
    border: 1px solid var(--dg-blue);
    border-radius: 50%;
    background-clip: content-box;
    padding: 2px;
    vertical-align: middle;
}