@charset "UTF-8";
/*
Theme Name: プロジェクト研究センター
*/
/* ----------------------------- リセット */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, var, b, i, dl dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; vertical-align: baseline; background: transparent; font-size: 100%; }

body { line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ""; content: none; }

a { margin: 0; padding: 0; vertical-align: baseline; background: transparent; }

ins { background-color: #ff9; color: #000; text-decoration: none; }

mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

table { border-collapse: collapse; border-spacing: 0; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }

input, select { vertical-align: middle; }

img { vertical-align: top; font-size: 0; line-height: 0; }

sup { font-size: 8px; }

em { font-style: normal; }

div:before, div:after, ul:before, ul:after, ol:before, ol:after, dl:before, dl:after { content: ""; display: block; }

div:after, ul:after, ol:after, dl:after { clear: both; }

div, ul, ol, dl { zoom: 1; }

ul#wp-admin-bar-root-default:after { clear: none; }

/* ----------------------------- 全体 */
html { font-size: 62.5%; }

body { font-size: 17px; font-size: 1.7rem; font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif; line-height: 180%; color: #333; background-color: #fff; position: relative; -webkit-text-size-adjust: 100%; min-width: 1000px; }
body br { font-family: sans-serif; }

::-webkit-input-placeholder { color: #dbdbdb; }

:-ms-input-placeholder { color: #dbdbdb; }

::-moz-placeholder { color: #dbdbdb; }

::-placeholder { color: #dbdbdb; }

a:link, a:visited { color: #296A9A; text-decoration: underline; }
a:hover, a:active { color: #296A9A; text-decoration: none; }
a, a img { -webkit-transition: 0.2s ease all; transition: 0.2s ease all; }
a:hover { opacity: 0.65; -ms-filter: "alpha(opacity=65)"; filter: alpha(opacity=65); }

@media screen and (min-width: 768px) { .sp-only { display: none !important; } }
@media screen and (max-width: 767px) { .pc-only { display: none !important; } }
img, .bx-wrapper img { max-width: 100%; height: auto; }

.bx-wrapper img { display: inline !important; }

/* ----------------------------- 0. 共通パーツ */
.u-mt0 { margin-top: 0px !important; }

.u-mt5 { margin-top: 5px !important; }

.u-mt10 { margin-top: 10px !important; }

.u-mt15 { margin-top: 15px !important; }

.u-mt20 { margin-top: 20px !important; }

.u-mt25 { margin-top: 25px !important; }

.u-mt30 { margin-top: 30px !important; }

.u-mt40 { margin-top: 40px !important; }

.u-mt50 { margin-top: 50px !important; }

.u-mt60 { margin-top: 60px !important; }

.u-mt70 { margin-top: 70px !important; }

.u-mt80 { margin-top: 80px !important; }

.u-mt90 { margin-top: 90px !important; }

.u-mr0 { margin-right: 0px !important; }

.u-mr5 { margin-right: 5px !important; }

.u-mr10 { margin-right: 10px !important; }

.u-mr15 { margin-right: 15px !important; }

.u-mr20 { margin-right: 20px !important; }

.u-mr25 { margin-right: 25px !important; }

.u-mr30 { margin-right: 30px !important; }

.u-mr40 { margin-right: 40px !important; }

.u-mr50 { margin-right: 50px !important; }

.u-mr60 { margin-right: 60px !important; }

.u-mr70 { margin-right: 70px !important; }

.u-mr80 { margin-right: 80px !important; }

.u-mr90 { margin-right: 90px !important; }

.u-mb0 { margin-bottom: 0px !important; }

.u-mb5 { margin-bottom: 5px !important; }

.u-mb10 { margin-bottom: 10px !important; }

.u-mb15 { margin-bottom: 15px !important; }

.u-mb20 { margin-bottom: 20px !important; }

.u-mb25 { margin-bottom: 25px !important; }

.u-mb30 { margin-bottom: 30px !important; }

.u-mb40 { margin-bottom: 40px !important; }

.u-mb50 { margin-bottom: 50px !important; }

.u-mb60 { margin-bottom: 60px !important; }

.u-mb70 { margin-bottom: 70px !important; }

.u-mb80 { margin-bottom: 80px !important; }

.u-mb90 { margin-bottom: 90px !important; }

.u-ml0 { margin-left: 0px !important; }

.u-ml5 { margin-left: 5px !important; }

.u-ml10 { margin-left: 10px !important; }

.u-ml15 { margin-left: 15px !important; }

.u-ml20 { margin-left: 20px !important; }

.u-ml25 { margin-left: 25px !important; }

.u-ml30 { margin-left: 30px !important; }

.u-ml40 { margin-left: 40px !important; }

.u-ml50 { margin-left: 50px !important; }

.u-ml60 { margin-left: 60px !important; }

.u-ml70 { margin-left: 70px !important; }

.u-ml80 { margin-left: 80px !important; }

.u-ml90 { margin-left: 90px !important; }

.u-pt0 { padding-top: 0px !important; }

.u-pt5 { padding-top: 5px !important; }

.u-pt10 { padding-top: 10px !important; }

.u-pt15 { padding-top: 15px !important; }

.u-pt20 { padding-top: 20px !important; }

.u-pt25 { padding-top: 25px !important; }

.u-pt30 { padding-top: 30px !important; }

.u-pt40 { padding-top: 40px !important; }

.u-pt50 { padding-top: 50px !important; }

.u-pt60 { padding-top: 60px !important; }

.u-pt70 { padding-top: 70px !important; }

.u-pt80 { padding-top: 80px !important; }

.u-pt90 { padding-top: 90px !important; }

.u-pr0 { padding-right: 0px !important; }

.u-pr5 { padding-right: 5px !important; }

.u-pr10 { padding-right: 10px !important; }

.u-pr15 { padding-right: 15px !important; }

.u-pr20 { padding-right: 20px !important; }

.u-pr25 { padding-right: 25px !important; }

.u-pr30 { padding-right: 30px !important; }

.u-pr40 { padding-right: 40px !important; }

.u-pr50 { padding-right: 50px !important; }

.u-pr60 { padding-right: 60px !important; }

.u-pr70 { padding-right: 70px !important; }

.u-pr80 { padding-right: 80px !important; }

.u-pr90 { padding-right: 90px !important; }

.u-pb0 { padding-bottom: 0px !important; }

.u-pb5 { padding-bottom: 5px !important; }

.u-pb10 { padding-bottom: 10px !important; }

.u-pb15 { padding-bottom: 15px !important; }

.u-pb20 { padding-bottom: 20px !important; }

.u-pb25 { padding-bottom: 25px !important; }

.u-pb30 { padding-bottom: 30px !important; }

.u-pb40 { padding-bottom: 40px !important; }

.u-pb50 { padding-bottom: 50px !important; }

.u-pb60 { padding-bottom: 60px !important; }

.u-pb70 { padding-bottom: 70px !important; }

.u-pb80 { padding-bottom: 80px !important; }

.u-pb90 { padding-bottom: 90px !important; }

.u-pl0 { padding-left: 0px !important; }

.u-pl5 { padding-left: 5px !important; }

.u-pl10 { padding-left: 10px !important; }

.u-pl15 { padding-left: 15px !important; }

.u-pl20 { padding-left: 20px !important; }

.u-pl25 { padding-left: 25px !important; }

.u-pl30 { padding-left: 30px !important; }

.u-pl40 { padding-left: 40px !important; }

.u-pl50 { padding-left: 50px !important; }

.u-pl60 { padding-left: 60px !important; }

.u-pl70 { padding-left: 70px !important; }

.u-pl80 { padding-left: 80px !important; }

.u-pl90 { padding-left: 90px !important; }

.u-col { color: #296A9A; }
.u-col__red { color: #F03B6C; }
.u-col__blue { color: #36F; }

.u-mincho { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "リュウミン R-KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

.u-gothic { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif; }

.u-italic { font-style: italic; }

.u-bold { font-style: bold; }

.u-underline { text-decoration: underline; }

.u-center { text-align: center !important; }
.u-center th, .u-center td { text-align: center !important; }

.u-right { text-align: right !important; }
.u-right th, .u-right td { text-align: right !important; }

.u-left { text-align: left !important; }
.u-left th, .u-left td { text-align: left !important; }

.u-top { vertical-align: top !important; }
.u-top th, .u-top td { vertical-align: top !important; }

.u-middle { vertical-align: middle !important; }
.u-middle th, .u-middle td { vertical-align: middle !important; }

.u-bottom { vertical-align: bottom !important; }
.u-bottom th, .u-bottom td { vertical-align: bottom !important; }

.u-indent { text-indent: -1em; padding-left: 1em; }

.u-anchor { position: relative; margin-top: -70px; padding-top: 70px; }

.c-wrap { max-width: 1000px; margin-left: auto; margin-right: auto; padding-left: 20px; padding-right: 20px; }
.c-wrap__840 { max-width: 840px; margin-left: auto; margin-right: auto; padding-left: 20px; padding-right: 20px; }

.c-wrap-separate { padding-left: 15px; padding-right: 15px; }

.u-bg1 { background-color: #F9F9F7; }

.c-separate1 { border-bottom: 2px dotted #bbb; padding-bottom: 50px; margin-bottom: 48px; }

.c-separate2 { border-bottom: 1px dotted #bbb; padding-bottom: 50px; margin-bottom: 35px; }

.c-separate2 { border-bottom: 1px solid #bbb; padding-bottom: 25px; margin-bottom: 35px; }

.c-btn1 { text-align: center; margin-top: 50px; }
.c-btn1 a { display: block; width: 400px; margin-left: auto; margin-right: auto; -webkit-box-sizing: border-box; box-sizing: border-box; border: 1px solid #296A9A; padding: 9px 18px; letter-spacing: 0.1em; color: #296A9A; text-decoration: none; position: relative; }
.c-btn1 a:before { display: block; content: ""; position: absolute; left: 0; top: -1px; width: 0; height: calc(100% + 2px); background: #296A9A; z-index: 0; -webkit-transition: 0.3s ease all; transition: 0.3s ease all; }
.c-btn1 a span { display: block; background: url(img/common/arrow_1.svg) no-repeat right center; background-size: 7px 12px; padding-right: 12px; padding-left: 12px; position: relative; z-index: 1; }
.c-btn1 a:hover { opacity: 1; -ms-filter: "alpha(opacity=100)"; filter: alpha(opacity=100); color: #fff; }
.c-btn1 a:hover:before { width: 100%; }
.c-btn1 a:hover span { background-image: url(img/common/arrow_1-white.svg); }

.c-title1 { text-align: center; margin-bottom: 60px; }
.c-title1 .h { font-size: 43px; font-size: 4.3rem; font-family: "Lato", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif; font-weight: 600; line-height: 120%; letter-spacing: 0.05em; }
.c-title1 .h .small { font-size: 30px; font-size: 3rem; }
.c-title1 .h .blue { color: #296A9A; }
.c-title1 .h .pink { color: #EC4AAC; }

.c-title2 { border-top: 1px solid #91BFE1; border-bottom: 1px solid #91BFE1; padding-top: 11px; padding-bottom: 11px; margin-bottom: 30px; }
.c-title2 .h { font-size: 24px; font-size: 2.4rem; letter-spacing: 0.1em; font-weight: bold; position: relative; padding-left: 30px; }
.c-title2 .h:before { display: block; content: ""; position: absolute; background: #91BFE1; width: 15px; height: 15px; border-radius: 100%; left: 0; top: 7px; }
.c-title2 .h.noicon { padding-left: 0; }
.c-title2 .h.noicon:before { display: none; }

.c-title3 { margin-bottom: 18px; font-size: 23px; font-size: 2.3rem; line-height: 130%; color: #296A9A; letter-spacing: 0.05em; }

.c-list1 li { margin-bottom: 15px; position: relative; padding-left: 25px; }
.c-list1 li:last-child { margin-bottom: 0; }
.c-list1 li:before { display: block; content: ""; position: absolute; width: 15px; height: 15px; background: #296A9A; border-radius: 100%; left: 0; top: 7px; }

.c-table1, .c-table1 table { width: 100%; }
.c-table1 th, .c-table1 td { padding: 22px 25px; -webkit-box-sizing: border-box; box-sizing: border-box; line-height: 160%; border-bottom: 1px solid #DFDFDF; }
.c-table1 th { color: #296A9A; width: 200px; vertical-align: middle; text-align: left; }
.c-table1 tr:first-child th, .c-table1 tr:first-child td { border-top: 3px solid #296A9A; }
.c-table1 tr:nth-child(2n+1) th, .c-table1 tr:nth-child(2n+1) td { background: #F6F9FD; }
.c-table1 .w50 { width: 50%; }
.c-table1 .pre { color: #EC4AAC; }
.c-table1 li { margin-bottom: 12px; }
.c-table1 li:last-child { margin-bottom: 0; }
.c-table1 ol li { text-indent: -2em; padding-left: 2em; }

.c-table2, .c-table2 table { width: 100%; }
.c-table2 th, .c-table2 td { padding: 18px 20px; border: 1px solid #DFDFDF; vertical-align: middle; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; }
.c-table2 thead th { background: #F6F9FD; font-weight: normal; }
.c-table2 thead th.w22 { width: 22%; }
.c-table2 thead th.w44 { width: 44%; }
.c-table2 thead th.w34 { width: 34%; }
.c-table2 tbody th { font-weight: bold; color: #296A9A; }
.c-table2 tbody td p { text-align: left; display: inline-block; *display: inline; *zoom: 1; }

.c-table__nostyle { width: 100%; }
.c-table__nostyle th, .c-table__nostyle td { padding: 2px 0 !important; border: 0; font-weight: normal; text-align: left; vertical-align: top; background: transparent; }

.c-pagination { clear: both; position: relative; padding-top: 60px; text-align: center; display: flex; align-items: center; justify-content: center; }
.c-pagination:before, .c-pagination:after { display: none; }
.c-pagination .prev, .c-pagination .next { display: block; width: 50px; height: 60px; line-height: 58px; text-align: center; overflow: hidden; white-space: nowrap; font-size: 16px; font-size: 1.6rem; letter-spacing: 0.01em; text-decoration: none; color: #666; -webkit-box-sizing: border-box; box-sizing: border-box; border: 1px solid #fff; }
.c-pagination .prev img, .c-pagination .next img { vertical-align: middle; }
.c-pagination .prev:hover, .c-pagination .next:hover { border-color: #296A9A; }
.c-pagination .pages { text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; }
.c-pagination .pages a, .c-pagination .pages span { display: inline-block; *display: inline; *zoom: 1; font-size: 16px; font-size: 1.6rem; padding-top: 17px; padding-bottom: 16px; width: 60px; -webkit-box-sizing: border-box; box-sizing: border-box; cursor: pointer; text-decoration: none; color: #296A9A; -webkit-box-sizing: border-box; box-sizing: border-box; }
.c-pagination .pages a:hover, .c-pagination .pages span.current { background: #296A9A; color: #fff; }
.c-pagination .pages span.dot { cursor: auto; }

.js-tab__content { display: none; }
.js-tab__content.is-active { display: block; }

.u-googlecalendar-wrap { position: relative; padding-bottom: 100%; height: 0; overflow: hidden; }
.u-googlecalendar-wrap iframe { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }

.u-youtube-wrap { position: relative; width: 100%; padding-top: 56.25%; }
.u-youtube-wrap iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

/* フェードインしながら少し上へ */
@-webkit-keyframes fadeInUp { 0% { opacity: 0; -webkit-transform: translateY(20px); }
  100% { opacity: 1; -webkit-transform: translateY(0); } }
@keyframes fadeInUp { 0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); } }
.js-animate { opacity: 0; -ms-filter: "alpha(opacity=0)"; filter: alpha(opacity=0); }
.js-animate.is--animate { -webkit-animation: fadeInUp 0.8s 1 ease-in-out; animation: fadeInUp 0.8s 1 ease-in-out; -webkit-animation-fill-mode: backwards; animation-fill-mode: backwards; opacity: 1; -ms-filter: "alpha(opacity=100)"; filter: alpha(opacity=100); }
.js-animate--delay1 { -webkit-animation-delay: 0.1s !important; animation-delay: 0.1s !important; }
.js-animate--delay2 { -webkit-animation-delay: 0.2s !important; animation-delay: 0.2s !important; }
.js-animate--delay3 { -webkit-animation-delay: 0.3s !important; animation-delay: 0.3s !important; }
.js-animate--delay4 { -webkit-animation-delay: 0.4s !important; animation-delay: 0.4s !important; }
.js-animate--delay5 { -webkit-animation-delay: 0.5s !important; animation-delay: 0.5s !important; }
.js-animate--delay6 { -webkit-animation-delay: 0.6s !important; animation-delay: 0.6s !important; }
.js-animate--delay7 { -webkit-animation-delay: 0.7s !important; animation-delay: 0.7s !important; }
.js-animate--delay8 { -webkit-animation-delay: 0.8s !important; animation-delay: 0.8s !important; }
.js-animate--delay9 { -webkit-animation-delay: 0.9s !important; animation-delay: 0.9s !important; }
.js-animate--delay10 { -webkit-animation-delay: 1s !important; animation-delay: 1s !important; }
.js-animate--delay11 { -webkit-animation-delay: 1.1s !important; animation-delay: 1.1s !important; }
.js-animate--delay12 { -webkit-animation-delay: 1.2s !important; animation-delay: 1.2s !important; }
.js-animate--delay13 { -webkit-animation-delay: 1.3s !important; animation-delay: 1.3s !important; }
.js-animate--delay14 { -webkit-animation-delay: 1.4s !important; animation-delay: 1.4s !important; }
.js-animate--delay15 { -webkit-animation-delay: 1.5s !important; animation-delay: 1.5s !important; }
.js-animate--delay16 { -webkit-animation-delay: 1.6s !important; animation-delay: 1.6s !important; }
.js-animate--delay17 { -webkit-animation-delay: 1.7s !important; animation-delay: 1.7s !important; }
.js-animate--delay18 { -webkit-animation-delay: 1.8s !important; animation-delay: 1.8s !important; }
.js-animate--delay19 { -webkit-animation-delay: 1.9s !important; animation-delay: 1.9s !important; }
.js-animate--delay20 { -webkit-animation-delay: 2s !important; animation-delay: 2s !important; }
.js-animate--delay21 { -webkit-animation-delay: 2.1s !important; animation-delay: 2.1s !important; }
.js-animate--delay22 { -webkit-animation-delay: 2.2s !important; animation-delay: 2.2s !important; }
.js-animate--delay23 { -webkit-animation-delay: 2.3s !important; animation-delay: 2.3s !important; }
.js-animate--delay24 { -webkit-animation-delay: 2.4s !important; animation-delay: 2.4s !important; }
.js-animate--delay25 { -webkit-animation-delay: 2.5s !important; animation-delay: 2.5s !important; }
.js-animate--delay26 { -webkit-animation-delay: 2.6s !important; animation-delay: 2.6s !important; }
.js-animate--delay27 { -webkit-animation-delay: 2.7s !important; animation-delay: 2.7s !important; }
.js-animate--delay28 { -webkit-animation-delay: 2.8s !important; animation-delay: 2.8s !important; }
.js-animate--delay29 { -webkit-animation-delay: 2.9s !important; animation-delay: 2.9s !important; }
.js-animate--delay30 { -webkit-animation-delay: 3s !important; animation-delay: 3s !important; }
.js-animate--delay31 { -webkit-animation-delay: 3.1s !important; animation-delay: 3.1s !important; }
.js-animate--delay32 { -webkit-animation-delay: 3.2s !important; animation-delay: 3.2s !important; }
.js-animate--delay33 { -webkit-animation-delay: 3.3s !important; animation-delay: 3.3s !important; }
.js-animate--delay34 { -webkit-animation-delay: 3.4s !important; animation-delay: 3.4s !important; }
.js-animate--delay35 { -webkit-animation-delay: 3.5s !important; animation-delay: 3.5s !important; }
.js-animate--delay36 { -webkit-animation-delay: 3.6s !important; animation-delay: 3.6s !important; }
.js-animate--delay37 { -webkit-animation-delay: 3.7s !important; animation-delay: 3.7s !important; }
.js-animate--delay38 { -webkit-animation-delay: 3.8s !important; animation-delay: 3.8s !important; }
.js-animate--delay39 { -webkit-animation-delay: 3.9s !important; animation-delay: 3.9s !important; }
.js-animate--delay40 { -webkit-animation-delay: 4s !important; animation-delay: 4s !important; }
.js-animate--duration1 { -webkit-animation-duration: 0.1s !important; animation-duration: 0.1s !important; }
.js-animate--duration2 { -webkit-animation-duration: 0.2s !important; animation-duration: 0.2s !important; }
.js-animate--duration3 { -webkit-animation-duration: 0.3s !important; animation-duration: 0.3s !important; }
.js-animate--duration4 { -webkit-animation-duration: 0.4s !important; animation-duration: 0.4s !important; }
.js-animate--duration5 { -webkit-animation-duration: 0.5s !important; animation-duration: 0.5s !important; }
.js-animate--duration6 { -webkit-animation-duration: 0.6s !important; animation-duration: 0.6s !important; }
.js-animate--duration7 { -webkit-animation-duration: 0.7s !important; animation-duration: 0.7s !important; }
.js-animate--duration8 { -webkit-animation-duration: 0.8s !important; animation-duration: 0.8s !important; }
.js-animate--duration9 { -webkit-animation-duration: 0.9s !important; animation-duration: 0.9s !important; }
.js-animate--duration10 { -webkit-animation-duration: 1s !important; animation-duration: 1s !important; }
.js-animate--duration11 { -webkit-animation-duration: 1.1s !important; animation-duration: 1.1s !important; }
.js-animate--duration12 { -webkit-animation-duration: 1.2s !important; animation-duration: 1.2s !important; }
.js-animate--duration13 { -webkit-animation-duration: 1.3s !important; animation-duration: 1.3s !important; }
.js-animate--duration14 { -webkit-animation-duration: 1.4s !important; animation-duration: 1.4s !important; }
.js-animate--duration15 { -webkit-animation-duration: 1.5s !important; animation-duration: 1.5s !important; }
.js-animate--duration16 { -webkit-animation-duration: 1.6s !important; animation-duration: 1.6s !important; }
.js-animate--duration17 { -webkit-animation-duration: 1.7s !important; animation-duration: 1.7s !important; }
.js-animate--duration18 { -webkit-animation-duration: 1.8s !important; animation-duration: 1.8s !important; }
.js-animate--duration19 { -webkit-animation-duration: 1.9s !important; animation-duration: 1.9s !important; }
.js-animate--duration20 { -webkit-animation-duration: 2s !important; animation-duration: 2s !important; }
.js-animate--duration21 { -webkit-animation-duration: 2.1s !important; animation-duration: 2.1s !important; }
.js-animate--duration22 { -webkit-animation-duration: 2.2s !important; animation-duration: 2.2s !important; }
.js-animate--duration23 { -webkit-animation-duration: 2.3s !important; animation-duration: 2.3s !important; }
.js-animate--duration24 { -webkit-animation-duration: 2.4s !important; animation-duration: 2.4s !important; }
.js-animate--duration25 { -webkit-animation-duration: 2.5s !important; animation-duration: 2.5s !important; }
.js-animate--duration26 { -webkit-animation-duration: 2.6s !important; animation-duration: 2.6s !important; }
.js-animate--duration27 { -webkit-animation-duration: 2.7s !important; animation-duration: 2.7s !important; }
.js-animate--duration28 { -webkit-animation-duration: 2.8s !important; animation-duration: 2.8s !important; }
.js-animate--duration29 { -webkit-animation-duration: 2.9s !important; animation-duration: 2.9s !important; }
.js-animate--duration30 { -webkit-animation-duration: 3s !important; animation-duration: 3s !important; }
.js-animate--duration31 { -webkit-animation-duration: 3.1s !important; animation-duration: 3.1s !important; }
.js-animate--duration32 { -webkit-animation-duration: 3.2s !important; animation-duration: 3.2s !important; }
.js-animate--duration33 { -webkit-animation-duration: 3.3s !important; animation-duration: 3.3s !important; }
.js-animate--duration34 { -webkit-animation-duration: 3.4s !important; animation-duration: 3.4s !important; }
.js-animate--duration35 { -webkit-animation-duration: 3.5s !important; animation-duration: 3.5s !important; }
.js-animate--duration36 { -webkit-animation-duration: 3.6s !important; animation-duration: 3.6s !important; }
.js-animate--duration37 { -webkit-animation-duration: 3.7s !important; animation-duration: 3.7s !important; }
.js-animate--duration38 { -webkit-animation-duration: 3.8s !important; animation-duration: 3.8s !important; }
.js-animate--duration39 { -webkit-animation-duration: 3.9s !important; animation-duration: 3.9s !important; }
.js-animate--duration40 { -webkit-animation-duration: 4s !important; animation-duration: 4s !important; }

/* 5px */
@-webkit-keyframes fadeInUp2 { 0% { opacity: 0; -webkit-transform: translateY(2px); }
  100% { opacity: 1; -webkit-transform: translateY(0); } }
@keyframes fadeInUp2 { 0% { opacity: 0; transform: translateY(2px); }
  100% { opacity: 1; transform: translateY(0); } }
.js-animateFadeInUp { opacity: 0; -ms-filter: "alpha(opacity=0)"; filter: alpha(opacity=0); }
.js-animateFadeInUp.is--animate { -webkit-animation: fadeInUp2 alternate 0.8s 1 ease-in-out; animation: fadeInUp2 alternate 0.8s 1 ease-in-out; -webkit-animation-fill-mode: backwards; animation-fill-mode: backwards; opacity: 1; -ms-filter: "alpha(opacity=100)"; filter: alpha(opacity=100); }

/* フェードインしながら少し右へ */
@-webkit-keyframes fadeInRight { 0% { opacity: 0; -webkit-transform: translateX(-20px); }
  100% { opacity: 1; -webkit-transform: translateX(0); } }
@keyframes fadeInRight { 0% { opacity: 0; transform: translateX(-20px); }
  100% { opacity: 1; transform: translateX(0); } }
.js-animateFadeInRight { opacity: 0; -ms-filter: "alpha(opacity=0)"; filter: alpha(opacity=0); }
.js-animateFadeInRight.is--animate { -webkit-animation: fadeInRight 0.8s 1 ease-in-out; animation: fadeInRight 0.8s 1 ease-in-out; -webkit-animation-fill-mode: backwards; animation-fill-mode: backwards; opacity: 1; -ms-filter: "alpha(opacity=100)"; filter: alpha(opacity=100); }

/* フェードインしながら少し左へ */
@-webkit-keyframes fadeInLeft { 0% { opacity: 0; -webkit-transform: translateX(20px); }
  100% { opacity: 1; -webkit-transform: translateX(0); } }
@keyframes fadeInLeft { 0% { opacity: 0; transform: translateX(20px); }
  100% { opacity: 1; transform: translateX(0); } }
.js-animateFadeInLeft { opacity: 0; -ms-filter: "alpha(opacity=0)"; filter: alpha(opacity=0); }
.js-animateFadeInLeft.is--animate { -webkit-animation: fadeInLeft 0.8s 1 ease-in-out; animation: fadeInLeft 0.8s 1 ease-in-out; -webkit-animation-fill-mode: backwards; animation-fill-mode: backwards; opacity: 1; -ms-filter: "alpha(opacity=100)"; filter: alpha(opacity=100); }

/* フェードインしながら少し上へ */
@-webkit-keyframes fadeInUp { 0% { opacity: 0; -webkit-transform: translateY(40px); }
  100% { opacity: 1; -webkit-transform: translateY(0); } }
@keyframes fadeInUp { 0% { opacity: 0; transform: translateY(40px); }
  100% { opacity: 1; transform: translateY(0); } }
.js-animateFadeInUp { opacity: 0; -ms-filter: "alpha(opacity=0)"; filter: alpha(opacity=0); }
.js-animateFadeInUp.is--animate { -webkit-animation: fadeInUp 0.8s 1 ease-in-out; animation: fadeInUp 0.8s 1 ease-in-out; -webkit-animation-fill-mode: backwards; animation-fill-mode: backwards; opacity: 1; -ms-filter: "alpha(opacity=100)"; filter: alpha(opacity=100); }

/* フェードインのみ */
@-webkit-keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
.js-animateFadeIn { opacity: 0; -ms-filter: "alpha(opacity=0)"; filter: alpha(opacity=0); }
.js-animateFadeIn.is--animate { -webkit-animation: fadeIn 0.8s 1 ease-in-out; animation: fadeIn 0.8s 1 ease-in-out; -webkit-animation-fill-mode: backwards; animation-fill-mode: backwards; opacity: 1; -ms-filter: "alpha(opacity=100)"; filter: alpha(opacity=100); }

/* ----------------------------- スマホ */
@media screen and (max-width: 767px) { .c-btn1 a { width: 100%; }
  .c-title1 { margin-bottom: 35px; }
  .c-title1 .h { font-size: 34px; font-size: 3.4rem; }
  .c-title2 { margin-bottom: 20px; }
  .c-title2 .h { font-size: 20px; font-size: 2rem; }
  .c-separate1 { padding-bottom: 25px; margin-bottom: 25px; }
  .c-table1 { font-size: 14px; font-size: 1.4rem; }
  .c-table1 th, .c-table1 td { padding: 10px 8px; }
  .c-table1 th { width: 90px; }
  .c-table2 { font-size: 14px; font-size: 1.4rem; line-height: 160%; }
  .c-table2 th, .c-table2 td { padding: 10px 8px; }
  .c-pagination { padding-top: 20px; }
  .c-pagination .prev, .c-pagination .next { width: 30px; height: 30px; line-height: 28px; margin-bottom: 0; }
  .c-pagination .prev img, .c-pagination .next img { width: 8px; }
  .c-pagination .pages { border-left: 0; border-right: 0; }
  .c-pagination .pages a, .c-pagination .pages span { width: 30px; padding-top: 3px; padding-bottom: 2px; font-size: 14px; font-size: 1.4rem; margin-left: 3px; margin-right: 3px; }
  [class*="c-wrap"] { padding-left: 10px; padding-right: 10px; }
  [class*="c-wrap"] [class*="c-wrap"] { padding-left: 0; padding-right: 0; }
  .js-table-xscroll__wrap { width: 100%; overflow-x: auto; }
  .js-table-xscroll__in { width: 1000px; }
  .u-googlemap-wrap { position: relative; padding-bottom: 75%; height: 0; overflow: hidden; }
  .u-googlemap-wrap iframe, .u-googlemap-wrap object, .u-googlemap-wrap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } }
/* ----------------------------- 1. 各ページ共通 */
/*=======================================
ヘッダー
=========================================*/
.l-header { padding-top: 8px; padding-bottom: 8px; position: fixed; left: 0; top: 0; width: 100%; z-index: 999; -webkit-transition: 0.3s ease all; transition: 0.3s ease all; }
.l-header.is-scrolled { background: rgba(255, 255, 255, 0.85); }
.l-header .c-wrap { display: flex; align-items: center; justify-content: space-between; }
.l-header .c-wrap:before, .l-header .c-wrap:after { display: none; }
.l-header__nav ul { display: flex; align-items: center; justify-content: flex-end; }
.l-header__nav ul:before, .l-header__nav ul:after { display: none; }
.l-header__nav li a { color: #333; text-decoration: none; font-weight: bold; padding: 18px; display: block; }
.l-header__nav li a:hover { opacity: 1; -ms-filter: "alpha(opacity=100)"; filter: alpha(opacity=100); }
.l-header__nav li span { display: block; position: relative; padding-top: 4px; padding-bottom: 4px; }
.l-header__nav li span:before { position: absolute; content: ""; width: 0; bottom: 0; left: 0; height: 2px; -webkit-transition: 0.3s ease all; transition: 0.3s ease all; background: #296A9A; }
.l-header__nav li a:hover, .l-header__nav li.is-active { color: #296A9A; }
.l-header__nav li a:hover span:before, .l-header__nav li.is-active span:before { width: 100%; }

/*=======================================
ページタイトル
=========================================*/
.l-pagetitle { background: url(img/common/pagetitle_bg1.jpg) no-repeat center; background-size: cover; text-align: center; margin-bottom: 10px; -webkit-box-sizing: border-box; box-sizing: border-box; height: 200px; display: flex; align-items: center; justify-content: center; }
.l-pagetitle:before, .l-pagetitle:after { display: none; }
.l-pagetitle h2 { font-size: 30px; font-size: 3rem; letter-spacing: 0.1em; line-height: 140%; color: #296A9A; }

/*=======================================
パンくず
=========================================*/
.l-breadcrumb { margin-bottom: 60px; }
.l-breadcrumb ol { display: flex; align-items: center; }
.l-breadcrumb ol:before, .l-breadcrumb ol:after { display: none; }
.l-breadcrumb li { background: url(img/common/arrow_1-gray.svg) no-repeat left center; background-size: 5px 9px; padding-left: 13px; margin-left: 10px; font-size: 15px; font-size: 1.5rem; line-height: 100%; }
.l-breadcrumb li.home { background: none; padding-left: 0; margin-left: 0; }
.l-breadcrumb li img { vertical-align: top; }
.l-breadcrumb li a { color: #333; }

/*=======================================
サイドバー
=========================================*/
/*=======================================
コンテンツ
=========================================*/
.l-contents { padding-top: 90px; }

/* ----------------------------- タブレット */
/* ----------------------------- スマホ */
@media screen and (max-width: 767px) { .l-header { position: fixed; left: 0; top: 0; width: 100%; }
  .l-header .c-wrap { display: block; }
  .l-header__logo { float: left; width: 80%; padding-top: 2px; }
  .l-header__btn { float: right; width: 15%; text-align: center; padding-top: 6px; padding-bottom: 7px; }
  .l-header__btn span { display: inline-block; *display: inline; *zoom: 1; width: 22px; height: 3px; background: #000; vertical-align: middle; position: relative; -webkit-transition: 0.3s ease all; transition: 0.3s ease all; }
  .l-header__btn span:before, .l-header__btn span:after { content: ""; display: block; position: absolute; width: 100%; height: 3px; background: #000; -webkit-transition: 0.3s ease all; transition: 0.3s ease all; transform-origin: center; }
  .l-header__btn span:before { top: -8px; }
  .l-header__btn span:after { bottom: -8px; }
  .l-header__btn.is-open span { background: transparent; }
  .l-header__btn.is-open span:before { -webkit-transform: rotate(45deg); transform: rotate(45deg); transform-origin: center; top: 0; }
  .l-header__btn.is-open span:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); transform-origin: center; bottom: 0; }
  .l-header__nav { display: none; clear: both; float: none; width: auto; padding-top: 15px; text-align: center; position: relative; margin-left: -15px; margin-right: -15px; }
  .l-header__nav ul { display: block; }
  .l-header__nav li { display: block; -webkit-box-sizing: border-box; box-sizing: border-box; border-top: 1px solid rgba(0, 0, 0, 0.3); margin-left: 0; text-align: left; background: rgba(255, 255, 255, 0.8); }
  .l-header__nav li a { display: block; padding: 10px; }
  .l-header__nav li a span { padding-left: 18px; }
  .l-header__nav li a span:before { width: 4px; height: 0; top: 0; }
  .l-header__nav li.is-active span:before { width: 4px; height: 100%; }
  .l-pagetitle { padding-top: 40px; padding-left: 15px; padding-right: 15px; }
  .l-pagetitle h2 { font-size: 22px; font-size: 2.2rem; }
  .l-breadcrumb { margin-bottom: 30px; }
  .l-breadcrumb li { font-size: 12px; font-size: 1.2rem; background-size: 3px 6px; padding-left: 10px; margin-left: 8px; }
  .l-breadcrumb li img { width: 10px; }
  .l-contents { padding-top: 0; } }
/*=======================================
フッター
=========================================*/
.l-footer { margin-top: 100px; border-top: 1px solid #CECECE; padding-top: 70px; }
.l-footer__logo { display: flex; }
.l-footer__logo:before, .l-footer__logo:after { display: none; }
.l-footer__logo h1 { margin-right: 75px; }
.l-footer__logo p { font-size: 15px; font-size: 1.5rem; line-height: 150%; }
.l-footer__copyright { margin-top: 70px; background: #eee; text-align: center; }
.l-footer__copyright p { font-size: 15px; font-size: 1.5rem; line-height: 140%; padding-top: 8px; padding-bottom: 8px; }

/*=======================================
ページトップ
=========================================*/
/* ----------------------------- タブレット */
/* ----------------------------- スマホ */
@media screen and (max-width: 767px) { .l-footer { margin-top: 50px; padding-top: 35px; text-align: center; }
  .l-footer__logo { display: block; }
  .l-footer__logo h1 { margin-right: 0; margin-bottom: 15px; }
  .l-footer__copyright { margin-top: 35px; }
  .l-footer__copyright p { font-size: 12px; font-size: 1.2rem; padding-top: 4px; padding-bottom: 4px; } }
/* ----------------------------- 2. トップページ */
/*=======================================
トップページ
=========================================*/
.l-kv { background: url(img/top/kv_bg1.jpg) no-repeat center; background-size: cover; position: relative; padding: 65px 20px; margin-bottom: 78px; }
.l-kv-wrap { position: relative; }
.l-kv__heading { padding-top: 190px; padding-bottom: 60px; position: relative; z-index: 9; }
.l-kv__heading h1 { position: relative; margin-top: -35px; z-index: 1; }
.l-kv__heading h1 span { display: inline-block; *display: inline; *zoom: 1; background: #296A9A; color: #fff; font-size: 50px; font-size: 5rem; line-height: 120%; padding: 4px 15px; margin-top: 15px; }
.l-kv__heading h1 span:first-child { margin-top: 0; }
.l-kv__img1 { display: flex; align-items: center; justify-content: center; position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.l-kv__img1:before, .l-kv__img1:after { display: none; }
.l-kv__img1 > div { width: 610px; height: 100%; margin-left: 25px; }
.l-kv__img1 > div img { width: 100%; height: 100%; object-fit: cover; }
.l-kv__img1 > div:nth-child(3n+1) { margin-left: 0; }

.p-top__topics { margin-bottom: 80px; }
.p-top__topics .content { margin-bottom: 60px; }
.p-top__topics .content a { border-bottom: 1px solid #CECECE; padding-bottom: 15px; margin-bottom: 15px; display: block; text-decoration: none; color: #333; }
.p-top__topics .content a:hover { text-decoration: none; opacity: 1; -ms-filter: "alpha(opacity=100)"; filter: alpha(opacity=100); }
.p-top__topics .content a:hover p { color: #296A9A; text-decoration: underline; }
.p-top__topics .content time, .p-top__topics .content .date, .p-top__topics .content .date span { display: inline-block; *display: inline; *zoom: 1; }
.p-top__topics .content .date span { margin-left: 20px; font-size: 15px; font-size: 1.5rem; color: #fff; background: #91BFE1; letter-spacing: 0.1em; padding: 6px 17px; line-height: 120%; background: #91BFE1; }
.p-top__topics .content .date span.press { background: #F7A8D7; }
.p-top__topics .content p, .p-top__topics .content dd { margin-top: 5px; }
.p-top__nav ul { display: flex; flex-wrap: wrap; }
.p-top__nav ul:before, .p-top__nav ul:after { display: none; }
.p-top__nav li { width: 47.6190%; margin-left: 4.762%; margin-bottom: 20px; }
.p-top__nav li:nth-child(2n+1) { margin-left: 0; }
.p-top__nav li a { display: block; color: #fff; background: #EF929D; text-decoration: none; text-align: center; padding: 20px; }
.p-top__nav li span { display: block; background: url(img/common/arrow_2-white.svg) no-repeat right center; background-size: 9px 15px; }

/* ----------------------------- スマホ */
@media screen and (max-width: 767px) { .l-kv { padding: 15px; padding-top: 45px; }
  .l-kv__heading { padding-top: calc(47vh - 168px); padding-bottom: 35vh; }
  .l-kv__heading .en { position: relative; margin-left: -25px; margin-right: -25px; }
  .l-kv__heading h1 { position: relative; margin-left: -25px; }
  .l-kv__heading h1 span { font-size: 30px; font-size: 3rem; margin-top: 8px; }
  .l-kv__img1 { flex-direction: column; flex: 1; }
  .l-kv__img1 > div { width: 100%; height: 35vh; margin-left: 0; margin-top: 15px; }
  .l-kv__img1 > div:first-child { margin-top: 0; } }
/* ----------------------------- 3. 下層ページ */
/*=======================================
ご挨拶
=========================================*/
.p-aisatu .content p { line-height: 220%; }
.p-aisatu .content .name { display: flex; justify-content: flex-end; margin-top: 30px; }
.p-aisatu .content .name:before, .p-aisatu .content .name:after { display: none; }
.p-aisatu .content .name p { font-size: 15px; font-size: 1.5rem; line-height: 160%; }
.p-aisatu .content .name p strong { font-size: 21px; font-size: 2.1rem; }

/* ----------------------------- スマホ */
@media screen and (max-width: 767px) { .p-aisatu .content p { line-height: 200%; }
  .p-aisatu .content .name { justify-content: center; text-align: center; }
  .p-aisatu .content .name p { font-size: 13px; font-size: 1.3rem; }
  .p-aisatu .content .name p strong { font-size: 18px; font-size: 1.8rem; } }
/*=======================================
研究紹介
=========================================*/
.p-c__list .lead { margin-bottom: 45px; }
.p-c__list .box1 { margin-bottom: 60px; }
.p-c__list .box1:last-child { margin-bottom: 0; }
.p-c__detail .info { margin-bottom: 50px; }
.p-c__detail .c-table1 .indent { position: relative; padding-left: 58px; }
.p-c__detail .c-table1 .indent2 { padding-left: 90px; }

/* ----------------------------- スマホ */
/*=======================================
受託・共同研究について
=========================================*/
.p-d__lead { margin-bottom: 45px; }
.p-d__flow h4 { color: #296A9A; font-size: 19px; font-size: 1.9rem; margin-bottom: 48px; }
.p-d__flow .content { display: flex; flex-wrap: wrap; margin-bottom: 40px; }
.p-d__flow .content:before, .p-d__flow .content:after { display: none; }
.p-d__flow .content .type1 { width: 48%; }
.p-d__flow .content .type2 { margin-left: 4%; width: 48%; }
.p-d__flow .content .type1 li, .p-d__flow .content .type2 li { padding: 15px; height: 100px; -webkit-box-sizing: border-box; box-sizing: border-box; display: flex; align-items: center; justify-content: center; margin-bottom: 50px; position: relative; }
.p-d__flow .content .type1 li p, .p-d__flow .content .type2 li p { text-align: left; max-width: 580px; }
.p-d__flow .content .type1 li:before, .p-d__flow .content .type2 li:before { display: block; position: absolute; content: ""; background: url(img/common/arrow_3-down.svg) no-repeat center bottom; width: 60px; height: 20px; left: 0; right: 0; margin-left: auto; margin-right: auto; bottom: -36px; }
.p-d__flow .content .type1 li.bg1, .p-d__flow .content .type2 li.bg1 { background: #F6F9FD; }
.p-d__flow .content .type1 li.bg1 h5, .p-d__flow .content .type2 li.bg1 h5 { background: #296A9A; }
.p-d__flow .content .type1 li.bg2, .p-d__flow .content .type2 li.bg2 { background: #FEEFF8; }
.p-d__flow .content .type1 li.bg2 h5, .p-d__flow .content .type2 li.bg2 h5 { background: #EC4AAC; }
.p-d__flow .content .type1 li.box1, .p-d__flow .content .type2 li.box1 { display: block; height: auto; padding: 32px 38px 22px; min-height: 252px; }
.p-d__flow .content .type1 li.box1 h5, .p-d__flow .content .type2 li.box1 h5 { text-align: center; color: #fff; font-size: 19px; font-size: 1.9rem; margin-bottom: 18px; padding: 10px 5px; }
.p-d__flow .content .type1 li.box1 p, .p-d__flow .content .type2 li.box1 p { max-width: initial; font-size: 16px; font-size: 1.6rem; }
.p-d__flow .content .type1 li.box1 dl, .p-d__flow .content .type2 li.box1 dl { margin: 0; margin-top: 22px; display: flex; align-items: center; flex-wrap: wrap; }
.p-d__flow .content .type1 li.box1 dl:before, .p-d__flow .content .type1 li.box1 dl:after, .p-d__flow .content .type2 li.box1 dl:before, .p-d__flow .content .type2 li.box1 dl:after { display: none; }
.p-d__flow .content .type1 li.box1 dt, .p-d__flow .content .type2 li.box1 dt { width: 80px; margin-right: 12px; -webkit-box-sizing: border-box; box-sizing: border-box; background: #fff; text-align: center; border: 1px solid #333; font-size: 15px; font-size: 1.5rem; line-height: 120%; margin-bottom: 8px; padding: 3px 2px; font-weight: bold; }
.p-d__flow .content .type1 li.box1 dd, .p-d__flow .content .type2 li.box1 dd { width: calc(100% - 12px - 80px); margin-bottom: 8px; }
.p-d__flow .content .type2 { background: url(img/common/arrow_3-down-sep.svg) repeat-y center calc(100% - 16px); background-size: 60px 49px; }
.p-d__flow .content .type2 li:before { display: none; }
.p-d__flow .content .type3 { width: 100%; }
.p-d__flow .content .type3 li { border: 1px solid #296A9A; padding: 15px; height: 100px; -webkit-box-sizing: border-box; box-sizing: border-box; display: flex; align-items: center; justify-content: center; margin-bottom: 50px; position: relative; }
.p-d__flow .content .type3 li p { text-align: left; max-width: 580px; }
.p-d__flow .content .type3 li:before { display: block; position: absolute; content: ""; background: url(img/common/arrow_3-down.svg) no-repeat center bottom; width: 60px; height: 20px; left: 0; right: 0; margin-left: auto; margin-right: auto; bottom: -36px; }
.p-d__flow .content .type3 li:last-child { margin-bottom: 0; }
.p-d__flow .content .type3 li:last-child:before { display: none; }
.p-d__format { margin-bottom: 60px; }

/* ----------------------------- スマホ */
@media screen and (max-width: 767px) { .p-d__lead { margin-bottom: 30px; }
  .p-d__flow .content { display: block; }
  .p-d__flow .content .type1, .p-d__flow .content .type2 { width: 100%; }
  .p-d__flow .content .type1 li.box1, .p-d__flow .content .type2 li.box1 { min-height: initial; padding: 15px; }
  .p-d__flow .content .type2 { margin-top: 80px; margin-left: 0; position: relative; }
  .p-d__flow .content .type2:before { display: block; position: absolute; content: ""; background: url(img/common/arrow_3-down.svg) no-repeat center bottom; width: 60px; height: 20px; left: 0; right: 0; margin-left: auto; margin-right: auto; bottom: -36px; } }
/*=======================================
研究支援・寄付
=========================================*/
.p-e__lead { margin-bottom: 32px; }
.p-e__type { margin-bottom: 70px; }
.p-e__type h4 { color: #296A9A; font-size: 20px; font-size: 2rem; margin-bottom: 30px; }
.p-e__type li { margin-top: 22px; }
.p-e__type li h5 { color: #EC4AAC; font-weight: bold; line-height: 140%; font-size: 19px; font-size: 1.9rem; margin-bottom: 8px; }
.p-e__treatment h4 { color: #296A9A; font-size: 19px; font-size: 1.9rem; margin-bottom: 30px; }
.p-e__treatment .txt1 { margin-top: 28px; margin-bottom: 42px; }
.p-e__flow { margin-bottom: 60px; }
.p-e__flow .lead { margin-bottom: 45px; }
.p-e__flow .block1 { display: flex; flex-wrap: wrap; justify-content: space-between; }
.p-e__flow .block1:before, .p-e__flow .block1:after { display: none; }
.p-e__flow .block1 h4 { width: 100%; color: #296A9A; font-size: 19px; font-size: 1.9rem; margin-bottom: 20px; }
.p-e__flow .block1 .box1 { width: 71.4%; }
.p-e__flow .block1 .box1 ol { margin-right: 84px; }
.p-e__flow .block1 .box1 li { margin-bottom: 50px; border: 1px solid #296A9A; padding: 28px 60px 25px; position: relative; }
.p-e__flow .block1 .box1 li:last-child { margin-bottom: 0; }
.p-e__flow .block1 .box1 li:last-child:before { display: none; }
.p-e__flow .block1 .box1 li:before, .p-e__flow .block1 .box1 li:after { display: block; content: ""; position: absolute; }
.p-e__flow .block1 .box1 li:before { background: url(img/common/arrow_3-down.svg) no-repeat center bottom; background-size: 60px 20px; width: 60px; height: 20px; left: 0; right: 0; margin-left: auto; margin-right: auto; bottom: -40px; }
.p-e__flow .block1 .box1 li:after { background: url(img/common/arrow_4.svg) no-repeat right center; width: 50px; height: 28px; right: -84px; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; }
.p-e__flow .block1 .box1 h4 { font-size: 19px; font-size: 1.9rem; line-height: 160%; font-weight: bold; color: #296A9A; margin-bottom: 12px; }
.p-e__flow .block1 .box1 .address { color: #296A9A; font-size: 15px; font-size: 1.5rem; line-height: 150%; margin-top: 10px; }
.p-e__flow .block1 .box2 { width: 25%; background: #F6F9FD; display: flex; align-items: center; justify-content: center; }
.p-e__flow .block1 .box2:before, .p-e__flow .block1 .box2:after { display: none; }
.p-e__flow .block1 .box2 p { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings: "vrt2" on; font-size: 19px; font-size: 1.9rem; font-weight: bold; color: #296A9A; }
.p-e__flow .block1 .box2 p h1, .p-e__flow .block1 .box2 p h2, .p-e__flow .block1 .box2 p h3, .p-e__flow .block1 .box2 p h4, .p-e__flow .block1 .box2 p h5, .p-e__flow .block1 .box2 p h6 { font-feature-settings: "vrt2" on; }
.p-e__flow .block1 .note { margin-top: 25px; width: 100%; }
.p-e__flow .block1 .note img { vertical-align: -2px; }

/* ----------------------------- スマホ */
@media screen and (max-width: 767px) { .p-e__flow .block1 .box1 { width: 84%; margin-bottom: 30px; }
  .p-e__flow .block1 .box1 ol { margin-right: 30px; }
  .p-e__flow .block1 .box1 li { padding: 13px 15px 10px; }
  .p-e__flow .block1 .box1 li:after { width: 20px; right: -30px; }
  .p-e__flow .block1 .box2 { width: 12%; } }
/* ----------------------------- スマホ */
@media screen and (max-width: 767px) { body { font-size: 15px; font-size: 1.5rem; line-height: 175%; min-width: initial; } }
