body {
    min-width: 320px;
}

.main {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 .9375rem;
    background-color: #fff;
}

a {
    color: #0c7dba;
    transition: color .2s, background-color .2s ease;
}

a:hover,
a:focus {
    color: #53a7dc;
}

*:not(._image) > a[href$=".pdf"] {
    padding-left: 3.25em;
    position: relative;
}

*:not(._image) > a[href$=".pdf"]:before {
    content: '';
    position: absolute;
    width: 2em;
    display: block;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto .5em;
    background: url("../images/pdf_icon.svg") transparent left center no-repeat;
    background-size: contain;
}

article,
.main > aside {
    padding: .9375rem;
}

section,
section aside,
article aside{
    padding: .9375rem 0;
}

/* ヘッダー部 */
header {
    display: flex;
    flex-wrap: wrap-reverse;
}

header .wrapper {
    width: 100%;
    display: flex;
    margin: 0;
}

header .item._image img {
    display: block;
    width: inherit;
    height: inherit;
}

header .item._title {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    padding-left: .9375rem;
}

header .item._title,
header .text {
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
}

header .wrapper::before {
    content: " ";
    display: block;
    max-width: 300px;
    width: 100%;
    flex: 1 0 auto;
    height: 135px;
    background: url("https://www.haart-support.jp/psychology/images/bg_header_l.jpg") transparent center no-repeat;
}

header .text._project {
    width: 100%;
    font-size: .875rem;
    color: #0c7dba;
    font-weight: bold;
    margin: 0;
    line-height: 1.5;
}

header .text._title {
    width: 100%;
    font-size: 1.3125rem;
    font-weight: bold;
    color: #0c7dba;
    margin: .5rem 0 0;
    line-height: 1.15;
}

header .text a,
header .text span {
    display: inline-block;
}

.main h1,
h2 {
    border-bottom: .25rem solid #0c7dba;
    padding: 0 0 .5rem;
    font-size: 1.75rem;
    margin: 0 0 .5rem;
}

h3 {
    padding-left: 1rem;
    border-left: .625rem solid #0c7dba;
    font-size: 1.3125rem;
    margin: 0 0 1rem;
}

h5 {
    margin-top: 1.5rem;
    margin-bottom: .5rem;
}

p {
    line-height: 1.4;
}

small {
    font-size: .8rem;
}

hr {
    margin: .5rem 0;
    border: none;
    height: 3px;
    background: linear-gradient(to right, #0c7dba 20%, #61c5e1 40%, rgba(0, 0, 0, 0));
}

.main p:first-child {
    margin-top: 0;
}

.main p:last-child {
    margin-bottom: 0;
}

.content-wrapper {
    padding-top: 1.5rem;
    background-color: #0c7dba;
}

.toppage {
    margin: 0 .9375rem 0;
    padding-bottom: .9375rem;
    text-align: right;
}

/* ぱんくずリスト */
.bread {
    padding: .625em .9375rem 0;
}

.bread ul {
    line-height: 1.5;
    display: flex;
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.bread li {
    font-size: .9375rem;
    display: flex;
    align-items: center;
    transition: color .2s, background-color .2s;
    white-space: nowrap;
}

.bread li.current {
    display: inline-block;
    margin: 0 .5rem;
    color: #3f3f3f;
}

.bread li a {
    margin: 0 .5rem;
    display: inline-block;
    text-decoration: none;
    color: #0c7dba;
}

.bread li:first-child a {
    margin-left: 0;
}

.bread li span {
    height: 100%;
    width: 1rem;
    text-align: center;
}

.bread li a:hover,
.bread li a:focus {
    color: #90c7ee;
}

.btn {
    display: inline-block;
}

.btn a {
    text-decoration: none;
    padding: .5em 1em;
    border-radius: 5px 5px;
    display: inline-block;
    transition: border .2s, color .2s, background-color .2s ease;
}

.btn.-outline a {
    border: 1px solid rgba(12, 125, 186, 1);
    color: #0c7dba;
}

.btn.-outline a:hover,
.btn.-outline a:focus {
    border: 1px solid rgba(12, 125, 186, 0);
    background-color: #60859f;
    color: #fff;
}

.btn.-color a {
    font-size: 1.25rem;
    border: none;
    color: #fff;
    background-color: #0c7dba;
}

.btn.-color a:hover,
.btn.-color a:focus {
    background-color: #53a7dc;
}

.btn a span {
    display: inline-block;
}

._image a {
    display: inline-block;
    height: 100%;
    transition: background-color .2s, opacity .2s ease;
    background: #fff;
}

.main ._image a:hover,
.main ._image a:focus {
    opacity: .65;
}

.main ._image img {
    max-width: 200px;
    height: auto;
}

.main .wrapper {
    margin: 0 0 1rem;
}

.document .main .wrapper,
.consideration .main .wrapper {
    display: flex;
    justify-content: center;
}

.main .wrapper .item {
    margin-bottom: 1rem;
}

.wrapper .item._first._image {
    text-align: center;
    padding-right: .9375rem;
}

.wrapper .item._second {
    border-left: 5px solid #0c7dba;
    padding-left: .9375rem;
}

/* 研究班メンバー */
.research_group > div {
    margin-bottom: 1.5em;
}

.research_group .member_name {
    display: grid;
    grid-template-areas: "name       research  " "hr         hr        " "researchBR researchBR";
    grid-template-columns: 8.5rem 1fr;
    display: -ms-grid;
    -ms-grid-rows: auto auto auto;
    -ms-grid-columns: auto 1fr;
}

.research_group h4 {
    font-size: 1.3125rem;
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: name;
    width: 8.5rem;
    line-height: 1.428571;
    margin: 0;
}

.research_group h4:first-letter {
    font-size: 1.25em;
}

.research_group > div > p {
    margin: 0 0 .5em;
    line-height: 1.4375;
}

.research_group .member_name p {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    color: #fff;
    margin: 0;
    font-size: 1.25rem;
    background: linear-gradient(to right, #0c7dba 50%, #41a5d6 85%);
    padding: 0 1em 0 .5em;
    line-height: 1.8;
}

.research_group > p:last-child {
    margin: .5em 0 .5em;
}

.research_group .member_name hr {
    grid-area: hr;
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
}

/* 資料 */
.document .small {
    display: inline-block;
    border: 1px solid #666666;
    padding: .25rem .5rem;
}

/* アンケート */
.enquete_container {
    max-width: 1200px;
    margin: 0 auto;
    background-color: #fff;
    display: flex;
    justify-content: center;
}

.enquete {
    display: inline-block;
    max-width: 460px;
    flex: 0 1 auto;
    margin: 0 .9375rem 0;
    padding: 1em;
    background-color: #fffae8;
    border: solid 1px #999;
    font-size: .95em;
    line-height: 1.6;
    width: 100%;
}

.enquete h2 {
    color: #f60;
    font-size: 1em;
    background: none #fff;
    border: 1px solid #ffc013;
    margin: 0;
    padding: .5em;
}

.enquete p {
    margin-top: 1em;
}

.enquete p textarea {
    font-size: .9375rem;
    height: 4.8em;
    padding: .5em;
    width: 90%;
    display: block;
}

.enquete p span {
    margin-top: .5rem;
    display: flex;
    flex-wrap: wrap;
}

.enquete label {
    display: inline-block;
    margin-left: .5em;
}

.enquete input {
    margin: 0 .5rem;
}

.error {
    color: #ff0000;
}

/* フッター部 */
footer {
    padding: 1rem 0;
}

footer .wrapper {
    max-width: 1170px;
    margin: 0 auto;
    padding: .5rem .9375rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
}

footer .item {
    background-color: #fff;
    margin: 0 .9375rem;
}

footer .item._copyright {
    width: 100%;
}

footer .item._copyright span {
    margin-right: .25rem;
    font-size: 1.25rem;
    vertical-align: middle;
    position: relative;
    bottom: .125rem;
}

footer .item._redribbon img {
    vertical-align: middle;
}

.icon-red::before,
.icon-red::after {
    color: #d02e2c;
}

/****************************************
 レスポンシブ対応 */
@media only screen and (max-width: 425px) {
    header .text._project {
        justify-content: center;
    }

    .enquete p span {
        flex-direction: column;
    }
}

@media only screen and (max-width: 610px) {
    header .wrapper {
        flex-wrap: wrap;
    }

    header .item._image img {
        width: 100%;
    }

    header .wrapper::before {
        content: " ";
        display: block;
        max-width: 610px;
        width: 100%;
        max-height: 165px;
        background: url("../images/bg_header_s.jpg") transparent center no-repeat;
        background-size: cover;
    }

    header .item._title {
        border-top: .75rem solid #0c7dba;
        padding: .9375rem;
    }

    header .text._project {
        justify-content: center;

    }

    header .text._title {
        text-align: center;
    }

    .content-wrapper {
        padding-top: .75rem;
    }

    section {
        padding-left: 0;
        padding-right: 0;
    }

}

@media only screen and (max-width: 768px) {
    header h1 {
        margin-left: .5rem;
    }

    nav.bread ul li {
        max-width: 6rem;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .research_group .member_name p {
        grid-area: researchBR;
        -ms-grid-row: 3;
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
        margin-bottom: .5em;
    }

    .research_group hr {
        margin-top: 0;
    }

    .main .wrapper {
        flex-wrap: wrap;
        padding-left: 0;
        padding-right: 0;
    }
    .wrapper .item._first._image {
        padding-right: 0;
    }
    .main .wrapper .item._second {
        padding-left: 0;
        padding-top: 1rem;
        border-top: 5px solid #0c7dba;
        border-left: none;
    }

    .main .wrapper .item._image {
        width: auto;
    }
    footer {
        padding-bottom: 0;
    }

    footer .wrapper {
        flex-direction: column;
    }

    footer .item._copyright {
        text-align: center;
        margin-top: 0;
    }
}

@media only screen and (max-width: 990px) {
}