/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
汎用
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/
main {position: relative; display: block;}

/*clearfix*/
.cf:after {content: ""; display: block; clear: both; visibility: hidden;}

/*源重ゴシック*/
.genjyu,
.genjyu * {font-family: GenJyuuGothic-Bold,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif; font-weight: 700;}

/*コンテナ*/
.container {margin: 0 auto;}
.bg-inner {position: relative; background: #fff; z-index: 2;}
.bg-inner.front {margin-top: 100vh;}
.bg-inner.notfound {margin-top: 0;}

/*ローディング*/
#loading {position: fixed; top: 0; left: 0; bottom: 0; right: 0; background: #fff; opacity: 1; visibility: visible; transition: .3s ease; z-index: 9999;}
.loaded #loading {opacity: 0; visibility: hidden;}

/*--------------------------------------------------------------------------
パララックス＆ホバーアニメーション
--------------------------------------------------------------------------*/
/*------------------------------------
アンダーライン
------------------------------------*/
.u-l {position: relative; display: inline-block;}
.u-l:hover {opacity: 1;}
.u-l:after {content: ""; position: absolute; bottom: -4px; left: auto; right: 0; width: 0; height: 1px; background: #000; transition: .3s ease;}
.u-l:hover:after {width: 100%; left: 0; right: auto;}

.u-l.white:after {background: #fff;}

/*------------------------------------
フェード
------------------------------------*/
.fade {opacity: 0; transform: translateY(10%); will-change: transform;}
.fade.active {animation: fadein .5s ease-in-out forwards; opacity: 1;}

@keyframes fadein {0% {opacity: 0; transform: translateY(10%);} 100% {opacity: 1; transform: translateY(0);}}

/*------------------------------------
カバー
------------------------------------*/
.cover {position: relative; display: block; overflow: hidden;}
.cover:before {content: ""; display: block; position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 1; background: #fff; transition: transform ease-out 1s; will-change: transform;}
.cover.active:before {transform: translate3d(100%, 0, 0);}

.fade.cover:before {transition-delay: .25s;}

/*--------------------------------------------------------------------------
部品
--------------------------------------------------------------------------*/
/*------------------------------------
汎用見出し
------------------------------------*/
.g-h {font-weight: 700; line-height: 1; text-align: center; padding: 3em 0 2em;}

/*------------------------------------
汎用TOP見出し
------------------------------------*/
.page-heading {position: fixed; top: 0; left: 0; width: 100%; background: #bddcf3; z-index: 1;}
.page-heading .container {position: relative; display: flex; justify-content: space-between; align-items: center;}
.page-heading h1 span {white-space: nowrap;}
.page-heading .img {height: auto;}

/*フロントページ*/
.page-heading.front {display: flex; justify-content: center; align-items: center; height: 100vh;}
.page-heading.front .inner {width: auto; height: auto;}
.page-heading.front .inner .txt,
.page-heading.front .inner .img {width: 100%; height: auto;}

/*------------------------------------
ページネーション
------------------------------------*/
.pagination {justify-content: center;}
.pagination * {font-weight: 700; line-height: 1; background: #fff; margin: 0 2px; border: 1px solid #333; border-radius: 4px;}
.pagination a:hover,
.pagination .current {background: #bddcf3; border-color: #bddcf3;; opacity: 1;}

/*------------------------------------
MORE
------------------------------------*/
.more {position: relative; display: flex; justify-content: center; align-items: center; color: #333; background: #bddcf3; border: 1px solid #bddcf3; margin: 0 auto; z-index: 1;}
.more span {position: relative; line-height: 1; transition: .3s ease;}
.more span:before,
.more span:after {content: ''; position: absolute; height: 1px; background: #333; transition: .3s ease; z-index: 2;}
.more span:before {transform: translateY(-50%) rotate(35deg);}
.more span:after {transform: translateY(-50%) rotate(-35deg);}
.more:hover span:before {transform: translateX(4px) translateY(-50%) rotate(35deg);}
.more:hover span:after {transform: translateX(4px) translateY(-50%) rotate(-35deg);}

/*------------------------------------
スクロールダウン
------------------------------------*/
.scroll-down {position: absolute; display: flex; flex-direction: column; justify-content: center; align-items: center; height: auto;}
.scroll-down .avenir {display: block; color: #666; font-weight: 700; line-height: 1; letter-spacing: .25em;}
.scroll-down .arrow {height: auto;}

/*------------------------------------
TOPに戻る
------------------------------------*/
#scroll {display: block; position: fixed; z-index: 1000; opacity: 0; visibility: hidden;}
#scroll img {width: 100%; height: 100%; transform: rotate(180deg);}
#scroll.active {opacity: 1; visibility: visible;}

/*------------------------------------
ボーダーセクション
------------------------------------*/
.border-sec {position: relative;}
.border-sec .sec-title {position: absolute; padding: 0; width: 100%; text-align: center;}
.border-sec .sec-title span {display: inline-block; background: #fff; padding: 0 .25em; box-sizing: border-box;}
.border-sec .sec-inner {margin: 0 auto; border: solid #beddf4; box-sizing: border-box;}
.border-sec .sec-head {}
.border-sec .sec-head .num {display: flex; justify-content: center; align-items: center; background: #bddcf3; border-radius: 50%;}
.border-sec p,
.border-sec ul,
.border-sec ol {margin-bottom: 1em;}
.border-sec ul,
.border-sec ol {text-indent: -1.25em; padding-left: 1.25em;}

/*--------------------------------------------------------------------------
ヘッダー
--------------------------------------------------------------------------*/
header .fix-logo {position: fixed; z-index: 2;}
header .fix-logo a {align-items: flex-end;}
header .fix-logo .img,
header .fix-logo .txt {height: auto;}

/*------------------------------------
トグル
------------------------------------*/
header #nav-toggle {position: fixed; top: 0; right: 0; justify-content: center; align-items: center; z-index: 1002;}
header #nav-toggle:hover {cursor: pointer;}
header #nav-toggle div {position: absolute; background: #333; overflow: hidden; transition: all .3s ease;}

/*------------------------------------
オープン時
------------------------------------*/
.open-menu header #nav-toggle div:nth-child(1) {transform: rotate(225deg)!important;}
.open-menu header #nav-toggle div:nth-child(2) {opacity: 0;}
.open-menu header #nav-toggle div:nth-child(3) {transform: rotate(-225deg)!important;}

/*------------------------------------
グローバルナビゲーション
------------------------------------*/
header #nav-drawer {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #fff; transform-origin: center; visibility: hidden; overflow-y: auto; z-index: 1001; opacity: 0; transform: scale(1.05); transition: .3s ease-in-out;}
header #nav-drawer .inner {position: relative; justify-content: center; box-sizing: border-box;}

header #nav-drawer .site-info .logo {align-items: flex-end;}
header #nav-drawer .site-info .img,
header #nav-drawer .site-info .txt {height: auto;}

header #nav-drawer .site-info .address .num dl {align-items: flex-end; margin-bottom: .625em;}
header #nav-drawer .site-info .address .num dl dt {margin-right: .375em;}
header #nav-drawer .site-info .address .num dl dt,
header #nav-drawer .site-info .address .num dl dd {line-height: 1;}
header #nav-drawer .site-info .address .num dl dd a {display: inline-block;}

header #nav-drawer .site-info .sns-list a img {height: auto;}

header #nav-drawer .global-nav .nav-list > li {position: relative;}
header #nav-drawer .global-nav .nav-list > li:before {content: ""; position: absolute; left: 0; display: block; height: 2px; border-radius: 1.5px; background: #333;}
header #nav-drawer .global-nav .nav-list > li a {display: block;}
header #nav-drawer .global-nav .nav-list > li a:hover {background: #bddcf3; border-radius: .25em; opacity: 1;}
header #nav-drawer .global-nav .nav-list > li > span {display: inline-block; position: relative; cursor: pointer;}
header #nav-drawer .global-nav .nav-list > li > span:before,
header #nav-drawer .global-nav .nav-list > li > span:after {content: ""; position: absolute; display: block; width: 10px; height: 3px; background: #333; border-radius: 1.5px; transition: .3s ease;}
header #nav-drawer .global-nav .nav-list > li > span:before {right: -10px; transform: rotate(45deg);}
header #nav-drawer .global-nav .nav-list > li > span:after {right: -15.5px; transform: rotate(-45deg);}
header #nav-drawer .global-nav .nav-list > li > span.open:before {transform: rotate(-45deg);}
header #nav-drawer .global-nav .nav-list > li > span.open:after {transform: rotate(45deg);}
header #nav-drawer .global-nav .nav-list > li > .sub-nav {display: none;}
header #nav-drawer .global-nav .nav-list > li > .sub-nav li a {padding: .375em .5em;}

/*------------------------------------
オープン時
------------------------------------*/
.open-menu header #nav-toggle .border div {background: #fff!important;}
.open-menu header #nav-toggle .border.closed div {transform: scale(0,1);}
.open-menu header #nav-toggle .border.opened div:nth-child(1) {transform: scale(1,1) rotate(45deg);}
.open-menu header #nav-toggle .border.opened div:nth-child(2) {transform: scale(1,1) rotate(-45deg);}

.open-menu header #nav-drawer {visibility: visible; opacity: 1; transform: scale(1);}

/*--------------------------------------------------------------------------
フッター
--------------------------------------------------------------------------*/
footer {position: relative; background: #333; z-index: 2;}
footer * {color: #fff;}
footer .logo {display: inline-flex; justify-content: center; align-items: flex-end;}

footer .site-info .address .num dl {align-items: flex-end; margin-bottom: .625em;}
footer .site-info .address .num dl dt {margin-right: .375em;}
footer .site-info .address .num dl dt,
footer .site-info .address .num dl dd {line-height: 1;}
footer .site-info .address .num dl dd a {display: inline-block;}

footer .site-info .sns-list a img {width: 24px; height: auto;}

footer .global-nav .nav-list > li .parent {margin-bottom: .5em; padding: 0 1em .5em .5em; border-bottom: 1px solid #fff;}
footer .global-nav .nav-list > li:last-child .parent {padding-right: .5em;}
footer .global-nav .nav-list > li .sub-nav {margin: 0 1em 0 .5em;}

footer .copyright {font-size: 11px; text-align: center; line-height: 1;}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
フロントページ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/

/*------------------------------------
SERVICE
------------------------------------*/
#front .service .service-list li {justify-content: space-between; align-items: center;}
#front .service .service-list li .icon {position: relative;}
#front .service .service-list li .icon .img {position: absolute; bottom: 0; right: 0; height: auto; z-index: 2;}
#front .service .service-list li .icon .num {display: block; position: relative; color: #bddcf3; line-height: 1; letter-spacing: -.025em; z-index: 1;}
#front .service .service-list li:nth-child(odd) .icon .num {left: 0;}
#front .service .service-list li:nth-child(even) .icon .num {right: 0;}
#front .service .service-list li .txt h3 {position: relative;}
#front .service .service-list li .txt h3 span {display: inline-block; line-height: 1; vertical-align: baseline; background: #fff; z-index: 2;}
#front .service .service-list li .txt h3 .jp {position: relative; padding-right: 5px;}
#front .service .service-list li .txt h3 .en {position: absolute; bottom: .75em; white-space: nowrap; letter-spacing: 0;}
#front .service .service-list li .txt h3:before {position: absolute; bottom: .75em; content: ""; display: block; width: 100%; height: 1px; background: #333; z-index: 1;}
#front .service .service-list li .txt .more {margin: 0;}

/*------------------------------------
FLOW
------------------------------------*/
#front .flow .flow-list li {position: relative; background: #fff; box-shadow: 3px 4px 5px rgba(0,0,0, .2);}
#front .flow .flow-list li:before,
#front .flow .flow-list li:after {content: ""; position: absolute; display: block; width: 1px; background: #333;}
#front .flow .flow-list li .num {position: absolute; color: #bddcf3; line-height: 1; letter-spacing: -.025em; z-index: 2;}
#front .flow .flow-list li .img {width: 100%; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;'}
#front .flow .flow-list li .txt h3 {text-align: center;}

/*------------------------------------
CASESTUDY
------------------------------------*/
#front .casestudy .casestudy-list li .img {width: 100%; object-fit: cover; object-position: 50%; font-family: 'object-fit: cover; object-position: 50%;'}
#front .casestudy .casestudy-list li .txt {position: relative; top: -50px; left: 8px; width: calc(100% - 16px); margin-bottom: -50px; background: #fff; box-shadow: 3px 4px 5px rgba(0,0,0, .2); box-sizing: border-box;}
#front .casestudy .casestudy-list li .txt time {display: block; text-align: center;}

/*------------------------------------
NEWS
------------------------------------*/
#front .news .news-inner {border: 1px solid #333; margin: 0 auto; box-sizing: border-box;}
#front .news .news-inner .news-list .entry {display: inline-flex; flex-wrap: wrap; width: 100%; padding: .85em .125em; border-bottom: 1px solid #333;}
#front .news .news-inner .news-list .entry time {margin-right: 1.25em;} 
#front .news .news-inner .news-list .entry .cate {color: #fff; margin-right: 1.25em; padding: 0 .25em; background: #333;}
#front .news .news-inner .link {position: relative; float: right;}
#front .news .news-inner .link:after {content: ""; position: relative; display: inline-block; width: 12px; height: 12px; margin-left: 3px; border-top: 1px solid  #333; border-right: 1px solid #333; transform: rotate(45deg); transition: .3s ease;}

/*------------------------------------
ACCESS
------------------------------------*/
#front .access .g-h span {display: block; margin-top: .75em;}
#front .access .googlemap {width: 100%; overflow: hidden; position: relative;}
#front .access .googlemap iframe {position: absolute; left: 0; top: 0; height: 100%; width: 100%;}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
テンプレ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------
お知らせ個別ページ (single.php)
--------------------------------------------------------------------------*/
#single .inner {position: relative; margin: 0 auto; border: solid #beddf4; box-sizing: border-box;}

#single h1.title {position: relative; width: 90%; margin: 0 auto; text-align: center; transform: translateY(-50%);}
#single h1.title span {position: relative; display: inline-block; font-size: inherit; background: #fff; padding: 0 .25em; box-sizing: border-box;}
#single .single-info .cate {color: #fff; margin-right: 1.25em; padding: 0 .25em; background: #333;}
#single .single-info time {margin-right: 1em;}

#single .postlink {justify-content: center;}
#single .postlink div {width: calc(8em + 5px); margin: 0 .5em; box-sizing: border-box;}
#single .postlink div a {display: block; text-align: center; background: #bddcf3; padding: .75em 1.5em; box-sizing: border-box;}

/*--------------------------------------------------------------------------
お知らせアーカイブページ (archive.php)
--------------------------------------------------------------------------*/
#archive .inner {margin: 0 auto; border: 1px solid #333; box-sizing: border-box;}
#archive .news-list .entry {display: inline-flex; flex-wrap: wrap; width: 100%; padding: .85em .125em; border-bottom: 1px solid #333;}
#archive .news-list .entry time {margin-right: 1.25em;}
#archive .news-list .entry .cate {color: #fff; margin-right: 1.25em; padding: 0 .25em; background: #333;}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
固定ページ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------
サービス (service.php)
--------------------------------------------------------------------------*/
#service .date-list li {position: relative; margin-bottom: 1em;}
#service .date-list li:last-child {margin-bottom: 0;}
#service .date-list li h4 {font-weight: 700; margin-bottom: .5em;}
#service .date-list li h4:before {content: ""; position: relative; display: inline-block; width: 10px; height: 10px; background: #bddcf3; margin-right: .5em; border-radius: 50%;}

#service .something {margin: 0 auto;}
#service .something .check-list li {border-bottom: 1px solid #333; background-image: url(../img/common/check_icon.svg); background-repeat: no-repeat;}

#service .type {margin: 0 auto;}
#service .type .about h3 {text-align: center; margin-bottom: .75em;}
#service .type .type-list .entry .img {margin: 0 auto;}
#service .type .type-list .entry h3 {text-align: center; padding: 1.25em 0 1em;}

#service .construct .construct-list .entry {position: relative;}
#service .construct .construct-list .entry .img {height: auto;}
#service .construct .construct-list .entry .txt h3 {margin-bottom: .375em;}
#service .construct .construct-list .entry .txt h3 .num {position: relative; color: #bddcf3; margin-right: -.25em; z-index: -1;}
#service .construct .construct-list .entry .txt p {text-align: justify; margin-bottom: 1em;}

#service .construct.flow .construct-list .entry:before,
#service .construct.flow .construct-list .entry:after {content: ""; position: absolute; display: block; background: #333; height: 3px; border-radius: 1.5px;}
#service .construct.flow .construct-list .entry:before {transform: rotate(-35deg);}
#service .construct.flow .construct-list .entry:after {transform: rotate(35deg);}
#service .construct.flow .construct-list .entry:last-child:before,
#service .construct.flow .construct-list .entry:last-child:after {display: none;}
#service .construct.flow .construct-list .entry .img {margin: auto;}

#service .works-list .works-entry p {margin-bottom: 2em;}
#service .works-list .works-entry .img.before-after li {position: relative;}
#service .works-list .works-entry .img.before-after li:before,
#service .works-list .works-entry .img.before-after li:after {content: ""; position: absolute; display: block; background: #333; width: 2px; border-radius: 1px;}
#service .works-list .works-entry .img.before-after li:last-child:before,
#service .works-list .works-entry .img.before-after li:last-child:after {display: none;}
#service .works-list .works-entry .img.before-after li figure figcaption {margin-top: .25em;}
#service .works-list .works-entry .const-details {position: relative; border: 2px solid #333; box-sizing: border-box;}
#service .works-list .works-entry .const-details h3 {position: absolute; width: 100%; text-align: center;}
#service .works-list .works-entry .const-details h3 span {display: inline-block; line-height: 1; background: #fff; padding: 0 .25em;}
#service .works-list .works-entry .const-details .details-list li:before {content: ""; position: relative; display: inline-block; width: 10px; height: 10px; background: #bddcf3; margin-right: .5em; border-radius: 50%;}

#service .message {text-align: center;}
#service .message p {display: inline-block; text-align: left;}

#service .damage-case li figure figcaption {margin-top: .375em;}

/*--------------------------------------------------------------------------
会社概要 (company.php)
--------------------------------------------------------------------------*/
#company .g-h {text-align: left;}

#company .greeting .txt p {line-height: 1.75; margin-bottom: 1.5em;}
#company .greeting .txt:last-child {margin-bottom: 0;}
#company .greeting .txt .signature {margin-top: 3em; text-align: right;}

#company .philosophy .list li {text-indent: -1.375em; margin-bottom: .75em; padding-left: 1.375em;}

#company .table-content dl {border-bottom: 1px solid #333;}

/*--------------------------------------------------------------------------
お問い合わせ (contact.php)
--------------------------------------------------------------------------*/
#contact .form dl dt {display: flex; justify-content: space-between; align-items: center;}
#contact .form dl dt .title {letter-spacing: -.5px;}
#contact .form dl dt .title .en {display: block; color: #bddcf3; line-height: 1; margin-left: .25em;}
#contact .form dl dt .required {padding: .125em 1.5em; border-radius: 4px; background: #bddcf3;}

#contact .form input[type="text"],
#contact .form input[type="email"],
#contact .form input[type="tel"],
#contact .form input[type="date"],
#contact .form input[type="datetime-local"],
#contact .form textarea,
#contact .form select {display: block; width: 100%; background: #fff; padding: 8px 12px; border: 1px solid #333; border-radius: 5px; box-sizing: border-box; resize: vertical;}
#contact .form select {position: relative; border: none; cursor: pointer; overflow: hidden; z-index: 1;}
#contact .form .select {display: block; position: relative; border: 1px solid #333; border-radius: 5px; z-index: 1;}
#contact .form .select:before {content: ""; position: absolute; right: 20px; top: 9px; width: 12px; height: 12px; display: block; border-top: 1px solid #333; border-right: 1px solid #333; transform: rotate(135deg); z-index: 2;}

#contact .form input[type="radio"],
#contact .form input[type="checkbox"],
#contact .form input[type="acceptance"] {display: none;}
#contact .form input[type="radio"] + span.wpcf7-list-item-label,
#contact .form input[type="checkbox"] + span.wpcf7-list-item-label,
#contact .form input[type="acceptance"]+ span.wpcf7-list-item-label {display: inline-flex; align-items: flex-start; cursor: pointer;}
#contact .form input[type="checkbox"] + span.wpcf7-list-item-label:before,
#contact .form input[type="acceptance"]+ span.wpcf7-list-item-label:before,
#contact .form input[type="radio"] + span.wpcf7-list-item-label:before {position: relative; display: block; background: #fff; border: 1px solid #333; margin-right: 10px; transition: .3s ease;}

#contact .form input[type="checkbox"] + span.wpcf7-list-item-label:before,
#contact .form input[type="acceptance"]+ span.wpcf7-list-item-label:before {width: 20px; height: 20px;}
#contact .form input[type="radio"] + span.wpcf7-list-item-label:before {top: 2px; width: 15px; height: 15px; border-radius: 50%; transition: .3s ease;}

#contact .form span.wpcf7-list-item-label {display: block; position: relative;}
#contact .form input[type="checkbox"] + span.wpcf7-list-item-label:after {width: 12px; height: 6px; transform: rotate(-45deg); content: ''; position: absolute; top: 4px; left: 3px; border: 3px solid #fff; border-top: none; border-right: none; transition: .3s ease; opacity: 0;}
#contact .form input[type="radio"] + span.wpcf7-list-item-label:after {width: 11px; height: 11px; content: ''; position: absolute; left: 3px; top: 5px; background: #333; border-radius: 50%; transition: .3s ease; opacity: 0;}

#contact .form input[type="checkbox"]:checked + span.wpcf7-list-item-label:after,
#contact .form input[type="radio"]:checked + span.wpcf7-list-item-label:after {opacity: 1;}
#contact .form input[type="checkbox"]:checked + span.wpcf7-list-item-label:before,
#contact .form input[type="acceptance"]:checked + span.wpcf7-list-item-label:before {background: #333;}

#contact .form input[type="submit"] {transition: .3s ease;}
#contact .form input[type="submit"]:hover {opacity: .7;}

#contact .form .consent {text-align: center;}
#contact .form .consent p {margin-bottom: 1em;}
#contact .form .consent a {text-decoration: underline;}
#contact .form .consent a:hover {text-decoration: none;}
#contact .form .consent h2 {margin-bottom: .75em;}
#contact .form .wpcf7-spinner {display: none;}

/*--------------------------------------------------------------------------
プライバシーポリシー (privacy.php)
--------------------------------------------------------------------------*/
#privacy .company-date dt {font-weight: 700; margin-bottom: .5em;}
#privacy .company-date dd p {margin-bottom: .25em;}

/*--------------------------------------------------------------------------
404.php
--------------------------------------------------------------------------*/
#notfound {display: flex; flex-direction: column; justify-content: center; align-items: center;}
#notfound h1 span {display: block; font-weight: 700; text-align: center; line-height: 1.25;}
#notfound h1 .jp {font-size: 8em; letter-spacing: .075em;}
#notfound h1 .en {letter-spacing: .5em;}
#notfound p {text-align: center;}

/*--------------------------------------------------------------------------
投稿汎用要素
--------------------------------------------------------------------------*/
.post_doc {word-wrap: break-word;}
.post_doc * {text-align: initial;}

.post_doc h2,
.post_doc h3,
.post_doc h4,
.post_doc h5,
.post_doc h6 {position: relative; font-weight: 700;}

.post_doc p {line-height: 1.75; margin: 0 0 30px 0;}
.post_doc a {text-decoration: underline;}
.post_doc em {font-style: italic;}
.post_doc strong {font-weight: 700;}
.post_doc sup, .post_doc sub {font-size: .5em;}
.post_doc sup {vertical-align: top;}
.post_doc sub {vertical-align: bottom;}
.post_doc blockquote {position: relative; margin: 0 0 30px 0; padding: 30px; background: #eee;}
.post_doc blockquote p {margin-bottom: 0;}
.post_doc blockquote.wp-block-quote cite {display: block; text-align: right;}
.post_doc .wp-block-pullquote {width: 100%;}
.post_doc .wp-block-pullquote blockquote {padding: 30px;}
.post_doc .wp-block-pullquote cite {display: block; text-align: right;}
.post_doc code {display: block; color: #fff; margin: 0 0 30px 0; padding: 20px; background: #364549;}
.post_doc hr {border-top-color: #000;}
.post_doc pre {margin: 0 0 30px 0;}

.post_doc ul,
.post_doc ol {margin: 0 0 30px 0;}
.post_doc ul li,
.post_doc ol li {margin-left: 1.5em; line-height: 2.5;}
.post_doc ul {list-style-type: disc;}
.post_doc ul li {list-style-type: inherit;}
.post_doc ol {list-style-type: decimal;}
.post_doc ol li {list-style-type: inherit;}
.post_doc ul ul,
.post_doc ol ol,
.post_doc ul ol,
.post_doc ol ul {margin: 0 0 0 1.75em;}

.post_doc table {border-collapse: collapse; text-align: left; line-height: 1.5;}
.post_doc table thead th,
.post_doc table thead td,
.post_doc table tfoot th,
.post_doc table tfoot td {background: #eee; font-weight: 700;}
.post_doc table tr {border-bottom: 1px solid #000;}
.post_doc table tr:last-child {border-bottom: none;}
.post_doc table thead th,
.post_doc table thead td {padding: 1rem 1rem;}
.post_doc table th,
.post_doc table td {font-family: initial; padding: 0.75rem 1rem;}
.post_doc table th {background: #eee;}

.post_doc .wp-block-table {width: 100%;}
.post_doc .scroll-table {margin: 0 0 30px 0;}

.post_doc .wp-caption {display: block; max-width: 100%; margin: 0 0 30px 0;}
.post_doc .wp-caption img {display: block;}
.post_doc .wp-caption-text {font-size: .95rem; line-height: 1.5; text-align: left; padding: 10px 15px;}

.post_doc .aligncenter {display: block; margin: 0 0 30px 0;}
.post_doc .alignright {float: right;}
.post_doc .alignleft {float: left;}
.post_doc img.aligncenter {margin: 0 auto;}
.post_doc img.alignleft {margin-right: auto;}
.post_doc img.alignright {margin-left: auto;}

.post_doc figure {display: inline-block; margin: 0 0 30px 0;}
.post_doc figcaption {font-size: .85rem; text-align: center;}
.post_doc figure.wp-block-image figcaption {margin: 0; padding: 8px 0;}
.post_doc .wp-block-gallery {margin: 0 0 30px 0;}
.post_doc .wp-block-gallery .blocks-gallery-grid {margin-bottom: 0;}
.post_doc .wp-block-gallery .blocks-gallery-item {margin: 10px 10px;}
.post_doc .wp-block-gallery .blocks-gallery-item figure {margin: 0;}
.post_doc .wp-block-gallery .blocks-gallery-item .blocks-gallery-item__caption {width: calc(100% - 20px); font-size: .85rem; text-align: left; background: rgba(0,0,0, .3); margin: 0; padding: 8px 10px;}

.post_doc .wp-block-media-text {align-items: start; margin: 0 0 30px 0;}
.post_doc .wp-block-media-text figure.wp-block-media-text__media {display: block; margin: 0; padding: 0;}
.post_doc .wp-block-media-text figure.wp-block-media-text__media img {width: auto; max-width: 100%;}
.post_doc .wp-block-media-text .wp-block-media-text__content {text-align: center; padding: 0 20px;}
.post_doc .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {padding: 0 20px 0 0;}
.post_doc .wp-block-media-text p.has-large-font-size {margin: 0!important;}

.post_doc .wp-block-cover {margin: 0 0 30px 0;}

.post_doc .wp-block-pullquote {position: relative; margin: 0 0 30px 0; padding: 20px 0;}
.post_doc .wp-block-pullquote blockquote {background: #fff; margin: 0; padding: 30px 0; border: 2px solid #333!important; border-left: none!important; border-right: none!important;}
.post_doc .wp-block-pullquote blockquote p {font-size: 1.35rem; margin: 0 0 20px 0;}

.post_doc .wp-block-button {margin: 0 0 30px 0;}
.post_doc .wp-block-button a {display: inline-block; color: #fff; background: #333; padding: 8px 20px; text-decoration: none!important; border-radius: 36px;}
.post_doc .wp-block-button a:hover {color: #333; background: #fff; opacity: 1;}

.post_doc .wp-block-file {margin: 0 0 30px 0;}
.post_doc .wp-block-file__button,
.post_doc .wp-block-button__link {display: inline-block; color: #fff; background: #333; padding: 8px 14px; text-decoration: none!important; border-radius: 36px;}
.post_doc .wp-block-file__button:hover,
.post_doc .wp-block-button__link:hover {color: #333; background: #fff; opacity: 1;}

.post_doc .wp-block-columns {}
.post_doc .wp-block-column {margin: 0 16px 20px 0;}
.post_doc .wp-block-column:last-child {margin: 0 0 20px 0;}

.post_doc .wp-block-embed {display: block;}

.post_doc .wp-block-embed__wrapper {position: relative; width: 100%; height: 0; padding-top: 56.25%;}
.post_doc .wp-block-embed__wrapper iframe {position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important;}