@charset "UTF-8";
/* local styles for MARUHO Medical Site */
/* ---- Reset default styles ---- */
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, medium, strong, sub, sup, 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;
}

ul {
    list-style: none;
}

a {
    vertical-align: baseline;
    background: transparent;
}

button {
    appearance: none;
    outline: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-family: inherit;
    cursor: pointer;
}

sup {
    vertical-align: super;
}

sub {
    vertical-align: sub;
}

*, *::before, *::after {
    box-sizing: border-box;
}

*::before, *::after {
    display: inline-block;
}

/* ---- Common settings ---- */
/* Common - basic */
body {
    position: relative;
    min-width: 320px;
    background: #3D3D3D;
    color: #333333;
    font-family: "FOT-ニューロダン Pro M", "Open Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif;
    font-size: 100%;
    line-height: 1.5;
    text-size-adjust: 100%;
}

body.body--fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
}

h1 {
    font-size: 137.5%;
}

@media print, screen and (min-width: 768px) {
    h1 {
        font-size: 162.5%;
    }
}

h2 {
    font-size: 125%;
}

@media print, screen and (min-width: 768px) {
    h2 {
        font-size: 150%;
    }
}

h3 {
    font-size: 112.5%;
}

@media print, screen and (min-width: 768px) {
    h3 {
        font-size: 125%;
    }
}

h4, h5, h6 {
    font-size: 100%;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
    font-family: "FOT-ニューロダン Pro DB", "Open Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W6", Meiryo, "メイリオ", sans-serif;
    line-height: 1.3;
}

strong {
    font-weight: bold;
    font-family: "FOT-ニューロダン Pro DB", "Open Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W6", Meiryo, "メイリオ", sans-serif;
}

a:not(.button) {
    color: #1B5F8E;
    text-decoration: none;
}

a:not(.button):hover {
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
    text-decoration: underline;
}

a.js-for-login {
    cursor: pointer;
}

/* Common - layout */
#wrapper {
    background: #FFFFFF;
}

#content {
    position: relative;
    display: block;
}

#content .content__overlay {
    z-index: 100;
    position: fixed;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
}

.container {
    width: 95%;
    margin: 0 auto;
}

@media print, screen and (min-width: 1041px) {
    .container {
        width: 1040px;
    }
}

.block .container,
.article__wrapper .container {
    width: 92%;
}

@media print, screen and (min-width: 768px) {
    .block .container,
    .article__wrapper .container {
        width: 95%;
    }
}

@media print, screen and (min-width: 1041px) {
    .block .container,
    .article__wrapper .container {
        width: 1040px;
    }
}

.block .container--wide,
.article__wrapper .container--wide {
    width: 100%;
}

.block .container {
    padding: 2em 0;
}

.feature .container {
    padding: 3.5em 0;
}

/* ---- Header ---- */
#header {
    position: relative;
}

#header .container {
    display: flex;
    justify-content: space-between;
}

/* Header - global */
#header-global {
    background: #003B8F;
    color: #FFFFFF;
    padding: 0.3em 0;
}

@media print, screen and (min-width: 768px) {
    #header-global {
        padding: 0.3em 0;
    }
}

#header-global a:hover {
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
    text-decoration: none;
}

.header__logo {
    width: 120px;
    overflow: hidden;
}

@media print, screen and (min-width: 768px) {
    .header__logo {
        width: auto;
        margin: 0;
        padding: 0;
    }
}

.header__logo img {
    vertical-align: bottom;
}

.header__side {
    display: flex;
    justify-content: space-between;
    padding: 0.2em 0.1em;
    border-radius: 0.3em;
    background: #012964;
    line-height: 1.3;
}

.header__side ul {
    display: flex;
    justify-content: start;
}

.header__side a {
    display: block;
    padding: 0.4em 1em;
    color: #FFFFFF;
    font-size: 87.5%;
    line-height: 1;
    text-decoration: none;
}

@media print, screen and (min-width: 768px) {
    .header__side a {
        padding: 0.4em 1.5em;
        font-size: 75%;
    }
}

.header__side a:hover {
    color: #BFBFBF;
}

.header__search {
    position: relative;
    display: none;
}

@media print, screen and (min-width: 768px) {
    .header__search {
        display: block;
        width: 9.25em;
        margin: 0 0.75em 0 0;
    }
}

.header__search input[type="submit"] {
    display: none;
}

.header__search i {
    position: absolute;
    top: 0.4em;
    left: 0.5em;
    color: #003B8F;
    font-size: 87.5%;
}

@media print, screen and (min-width: 768px) {
    .header__search i {
        top: 0.4em;
        left: 0.3em;
        font-size: 75%;
    }
}

#search__word {
    width: 100%;
    height: 1.8em;
    padding: 0.2em 0 0.2em 2.3em;
    border: none;
    border-radius: 1.2em;
    background-color: #C9D2E4;
    color: #003B8F;
}

@media print, screen and (min-width: 768px) {
    #search__word {
        height: 1.2em;
        padding: 0 0 0 1.4em;
    }
}

/* Header - local for medical */
#header-local {
    padding: 0.8em 0;
    line-height: 1;
    box-shadow: 0 1px 0 0 #BFBFBF;
}

@media print, screen and (min-width: 768px) {
    #header-local {
        border-bottom: 1px solid #BFBFBF;
    }
}

#header-local .container {
    align-items: center;
}

.header__title {
    padding: 0.2em 0;
    font-size: 100%;
    font-weight: bold;
    font-family: "FOT-ニューロダン Pro DB", "Open Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W6", Meiryo, "メイリオ", sans-serif;
    line-height: 1.3;
}

@media print, screen and (min-width: 768px) {
    .header__title {
        min-width: 14em;
        padding: 0;
        font-size: 125%;
    }
}

.header__title h1 {
    font-size: 100%;
}

.header__title a {
    color: #333333 !important;
}

.header__title a:hover {
    text-decoration: none;
}

@media print, screen and (min-width: 768px) {
    .header__title br {
        display: none;
    }
}

.header__member {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.header__member > p {
    display: none;
}

@media print, screen and (min-width: 768px) {
    .header__member > p {
        display: inline-block;
        padding: 0.6em 0;
    }
}

.header__toggle--main {
    width: 3em;
    padding: 0.6em;
    background: #0F69BF;
    color: #FFFFFF;
    text-align: center;
}

@media print, screen and (min-width: 768px) {
    .header__toggle--main {
        visibility: hidden;
        display: none;
    }
}

.header__toggle--main span {
    display: none;
}

.header__toggle--main i {
    margin: 0;
    font-size: 150%;
}

.header__toggle--member {
    visibility: hidden;
    display: none;
}

@media print, screen and (min-width: 768px) {
    .header__toggle--member {
        visibility: visible;
        display: inline-block;
        min-width: 7.5em;
        margin-left: 0.75em;
    }
}

.header__toggle--member span {
    display: inline-block;
    padding: 0.75em;
    border: 1px solid #BFBFBF;
    background: transparent;
    color: #0F69BF;
    font-size: 87.5%;
    cursor: pointer;
}

.header__toggle--member i {
    display: inline-block;
    margin-left: 0.4em;
}

.header__visitor {
    display: block;
    width: 100%;
    text-decoration: none;
}

@media print, screen and (min-width: 768px) {
    .header__visitor {
        display: inline-block;
        width: auto;
    }
}

@media print, screen and (min-width: 768px) {
    #header-navi .header__visitor {
        display: none;
    }
}

.header__member .header__visitor {
    display: none;
}

@media print, screen and (min-width: 768px) {
    .header__member .header__visitor {
        display: inline-block;
    }
}

.header__visitor span {
    display: block;
    padding: 1em 5%;
    background: #EFEFEF;
    color: #0F69BF;
    font-size: 87.5%;
    text-align: center;
}

@media print, screen and (min-width: 768px) {
    .header__visitor span {
        display: inline-block;
        padding: 0.75em;
        border: 1px solid #BFBFBF;
        background: #FFFFFF;
    }
}

/* Header - navi */
#header-navi {
    z-index: 1000;
    position: absolute;
    display: none;
    width: 100%;
    border-top: 1px solid #0F69BF;
    background: #FFFFFF;
}

@media print, screen and (min-width: 768px) {
    #header-navi {
        z-index: inherit;
        position: relative;
        display: block;
        width: auto;
        margin: 0;
        border: 0;
        box-shadow: 0 1px 0 0 #BFBFBF;
    }
}

#header-navi .container {
    position: relative;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    width: 100%;
}

@media print, screen and (min-width: 768px) {
    #header-navi .container {
        display: block;
        width: 95%;
    }
}

@media print, screen and (min-width: 1041px) {
    #header-navi .container {
        width: 1040px;
    }
}

#header-navi > p {
    padding: 0.5em 0.75em;
    font-size: 87.5%;
}

@media print, screen and (min-width: 768px) {
    #header-navi > p {
        display: none;
    }
}

.header__list li {
    position: relative;
}

.header__list a {
    display: block;
    text-decoration: none;
}

.header__list i {
    position: absolute;
    top: 50%;
    right: 0.75em;
    transform: translate(0, -50%);
    pointer-events: none;
}

@media print, screen and (min-width: 768px) {
    .header__list i {
        visibility: hidden;
        display: none;
    }
}

.header__list br {
    display: none;
}

@media print, screen and (min-width: 768px) {
    .header__list br {
        display: inline;
    }
}

.header__list--main {
    width: 100%;
    border-top: 1px solid #0F69BF;
}

@media print, screen and (min-width: 768px) {
    .header__list--main {
        border: 0;
    }
}

.header__list--main ul:not(.contextual-links) {
    display: list-item;
    font-size: 100%;
}

@media print, screen and (min-width: 768px) {
    .header__list--main ul:not(.contextual-links) {
        display: flex;
        flex-wrap: wrap;
        justify-content: start;
        font-size: 87.5%;
    }
}

@media print, screen and (min-width: 1041px) {
    .header__list--main ul:not(.contextual-links) {
        font-size: 100%;
    }
}

.header__list--main .header__link {
    display: block;
    padding: 0;
    border-top: 1px solid #BFBFBF;
}

.header__list--main .header__link:first-of-type {
    border: 0;
}

.header__list--main .header__link:hover {
    background: #0F69BF;
    color: #FFFFFF;
    transition: all .25s ease;
}

.header__list--main .header__link:hover a {
    color: #FFFFFF;
}

@media print, screen and (min-width: 768px) {
    .header__list--main .header__link {
        width: 20%;
        padding: 0.75em 0;
        border: 0;
        text-align: center;
    }
    .header__list--main .header__link:first-of-type a {
        border-left: 1px solid #BFBFBF;
    }
}

.header__list--main .header__link a {
    padding: 0.75em;
    color: #333333;
}

@media print, screen and (min-width: 768px) {
    .header__list--main .header__link a {
        padding: 0.75em 0.5em;
        border-right: 1px solid #BFBFBF;
    }
}

.header__list--main .header__link a:hover {
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
    text-decoration: none;
}

@media print, screen and (min-width: 768px) {
    .header__list--main .header__link--active {
        filter: alpha(opacity=100);
        -moz-opacity: 1;
        opacity: 1;
        background: #0F69BF;
    }
    .header__list--main .header__link--active a {
        color: #FFFFFF;
    }
}

@media print, screen and (min-width: 768px) {
    .header__list--main .header__link--tall a {
        padding: 0 0.5em;
    }
}

.header__list--main .header__link--close {
    background: #0F69BF;
    color: #FFFFFF;
}

@media print, screen and (min-width: 768px) {
    .header__list--main .header__link--close {
        visibility: hidden;
        display: none;
    }
}

.header__list--main .header__link--close a {
    color: #FFFFFF;
}

.header__list--member {
    z-index: inherit;
    display: block;
    background: #FFFFFF;
    text-align: center;
}

@media print, screen and (min-width: 768px) {
    .header__list--member {
        z-index: 10;
        position: absolute;
        top: calc(-1em + 1px);
        right: 0;
        display: none;
        border: 1px solid #BFBFBF;
        text-align: left;
    }
}

.header__list--member ul:not(.contextual-links) {
    display: flex;
    flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
    .header__list--member ul:not(.contextual-links) {
        display: list-item;
    }
}

.header__list--member .header__link {
    width: 50%;
    border-top: 1px solid #BFBFBF;
    background: #EFEFEF;
    font-size: 87.5%;
}

.header__list--member .header__link:first-of-type {
    border-right: 1px solid #BFBFBF;
}

.header__list--member .header__link:not(:last-of-type) a {
    color: #0F69BF;
}

.header__list--member .header__link:last-of-type {
    width: 100%;
}

.header__list--member .header__link:last-of-type a {
    color: #333333;
}

@media print, screen and (min-width: 768px) {
    .header__list--member .header__link {
        width: auto;
        background: transparent;
    }
    .header__list--member .header__link:first-of-type {
        border: 0;
    }
}

.header__list--member .header__link a {
    padding: 1em 5%;
}

@media print, screen and (min-width: 768px) {
    .header__list--member .header__link a {
        padding: 0.5em;
    }
    .header__list--member .header__link a:hover {
        text-decoration: underline;
    }
}

.header__list--hide {
    display: none;
}

/* ---- Main contents ---- */
/* Main - page title */
.content-header {
    padding: 1em 0;
    border: 1px solid #003B8F;
    border-width: 5px 0 1px;
}

@media print, screen and (min-width: 768px) {
    .content-header {
        padding: 1.5em 0;
    }
}

.content-header .tag {
    display: inline-block;
    margin-bottom: 0.5em;
    padding: 0.25em;
    border: 1px solid #333333;
    font-family: "FOT-ニューロダン Pro M", "Open Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif;
    line-height: 1;
}

.content-header .appendix {
    display: block;
    margin-bottom: 0.1em;
    font-size: 75%;
    font-weight: bold;
    font-family: "FOT-ニューロダン Pro DB", "Open Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W6", Meiryo, "メイリオ", sans-serif;
}

/* Main - headings */
.products h2,
.diseases h2,
.block--support h2,
.index .products-shortcut h2 {
    margin: 0;
    padding: 0 0 0.2em 0.8em;
    border-left: 0.4em solid #003B8F;
    font-size: 137.5%;
}

@media print, screen and (min-width: 768px) {
    .products h2,
    .diseases h2,
    .block--support h2,
    .index .products-shortcut h2 {
        font-size: 175%;
    }
}

.products h2.block__title--hidden,
.diseases h2.block__title--hidden,
.block--support h2.block__title--hidden,
.index .products-shortcut h2.block__title--hidden {
    display: none;
}

.feature h2 {
    margin-bottom: 0.8em !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: 0 -2px #EFEFEF inset;
    font-size: 137.5% !important;
    text-align: center;
}

@media print, screen and (min-width: 768px) {
    .feature h2 {
        font-size: 175% !important;
    }
}

.feature h2 span {
    display: inline-block;
    padding: 0 0 0.4em;
    border-bottom: 2px solid #003B8F;
}

.feature h2 i {
    margin-right: 0.3em;
    font-size: 125%;
    vertical-align: top;
}

.feature--seminars h2 {
    box-shadow: 0 -2px #FFFFFF inset;
}

.heading--follower {
    margin-top: 1.5em;
}

.heading--annotated {
    display: flex;
    flex-direction: column;
}

@media print, screen and (min-width: 1041px) {
    .heading--annotated {
        flex-direction: row;
        align-items: center;
    }
}

@media print, screen and (min-width: 768px) {
    .heading--annotated h2 {
        white-space: nowrap;
    }
}

.heading--annotated .par--footnote {
    margin: 0.5em 0 0;
}

@media print, screen and (min-width: 1041px) {
    .heading--annotated .par--footnote {
        margin: 0 0 0 1em;
    }
}

.heading--annotated .par--footnote br {
    display: none;
}

@media print, screen and (min-width: 768px) {
    .heading--annotated .par--footnote br {
        display: inline;
    }
}

.heading--annotated-flat {
    flex-direction: column;
    align-items: inherit;
}

.heading--annotated-flat .par--footnote {
    margin: 0.5em 0 0;
}

@media print, screen and (min-width: 1041px) {
    .heading--annotated-flat .par--footnote br {
        display: none;
    }
}

/* Decoration - hide for retrieving font */
.display-none {
    display: none !important;
}

/* ---- Main contents : Tab & Accordion ---- */
/* Tab */
.tab {
    margin: 1em 0 2em;
}

.tab > ol {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    border-bottom: 1px solid #BFBFBF;
}

.tab > ol > li:first-of-type {
    margin-left: 1em;
}

.tab a:hover {
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
}

/* ---- Main contents : Form & Button ---- */
/* Form - custom appearance */
.choice {
    list-style: none;
    margin: 0;
    padding: 0;
}

.choice__radio,
.choice__checkbox {
    position: relative;
}

.choice__radio input,
.choice__checkbox input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: circle(0% at 50% 50%);
}

.choice__radio input + label,
.choice__checkbox input + label {
    position: relative;
    display: inline-block;
    width: auto;
    padding: 0.25em;
    border: 1px solid transparent;
    cursor: pointer;
}

.choice__radio input + label::before,
.choice__checkbox input + label::before {
    display: inline-block;
    width: 1.125em;
    height: 1.125em;
    margin: 0 0.4em 0.2em 0;
    border: 1px solid #333333;
    background: #FFFFFF;
    line-height: 1;
    vertical-align: middle;
    content: '';
}

.choice__radio input + label::after,
.choice__checkbox input + label::after {
    position: absolute;
    top: 50%;
    border: 0;
    line-height: 1;
    transform: translate(0, -50%);
}

.choice__radio input:focus + label,
.choice__checkbox input:focus + label {
    border-color: #1B5F8E;
}

.choice__radio input:checked + label::before,
.choice__checkbox input:checked + label::before {
    border-color: #1B5F8E;
}

.choice__radio input:checked + label::after,
.choice__checkbox input:checked + label::after {
    font-family: 'icomoon';
}

.choice__radio input:disabled + label::before,
.choice__checkbox input:disabled + label::before {
    border-color: #707070;
    background: #BFBFBF;
}

.choice__radio input + label::before {
    border-radius: 50%;
}

.choice__radio input + label::after {
    left: 0.65em;
}

.choice__radio input:checked + label::after {
    color: #1B5F8E;
    font-size: 75%;
    content: '\e90c';
}

.choice__checkbox input + label::after {
    left: 0.2em;
}

.choice__checkbox input:checked + label::before {
    background: #1B5F8E;
}

.choice__checkbox input:checked + label::after {
    color: #FFFFFF;
    font-size: 112.5%;
    content: '\e91a';
}

/* Button - variation */
.button {
    display: block;
    max-width: 506px;
    margin: 0 auto;
    padding: 0.75em;
    border: 1px solid transparent;
    background: #0F69BF;
    color: #FFFFFF;
    font-size: 100%;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.button:hover {
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
    text-decoration: none;
}

.button span {
    display: inline-block;
}

.button i {
    margin: 0 0 0 0.5em;
}

.button--off {
    background: #BFBFBF;
    color: #333333;
}

.button--off:disabled {
    border-color: #BFBFBF;
    background: #FFFFFF;
    color: #BFBFBF;
    pointer-events: none;
}

.button--off:disabled:hover {
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
}

.button--back i {
    margin: 0 0.5em 0 0;
}

.action {
    display: inline-block;
    width: 100%;
    padding: 0.5em 1em;
    border: 1px solid #0F69BF;
    background: #FFFFFF;
    font-size: 100%;
    text-align: center;
}

@media print, screen and (min-width: 768px) {
    .action {
        width: auto;
        min-width: 15em;
    }
}

.action span {
    display: block;
    color: #0F69BF;
}

.action span:hover {
    text-decoration: underline;
}

.action i {
    margin-left: 0.5em;
}

.action i:not(.icon-caret-right) {
    margin-left: 0.3em;
    font-size: 150%;
    vertical-align: top;
}

/* Button - block bottom */
.block--bottom {
    margin: 2em 0;
    border-top: 1px solid #BFBFBF;
}

.tools__wrapper .block--bottom {
    margin-bottom: -2em;
}

.block--bottom .container {
    padding: 1.5em 0;
}

.block--bottom p {
    margin-top: 2em;
}

/* ---- Main contents : Menu-bar ---- */
.menu-keeper {
    visibility: hidden;
    margin: 0;
    border: 0;
}

.menu-bar {
    position: relative;
    padding: 0;
}

@media print, screen and (min-width: 1041px) {
    .menu-bar {
        border-top: 4px solid #003B8F;
    }
}

.menu-bar h2 {
    position: relative;
    padding: 1em 2.5% !important;
    border: 0 !important;
    background: #003B8F;
    color: #FFFFFF;
    font-size: 100% !important;
    font-family: "FOT-ニューロダン Pro M", "Open Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif;
}

@media print, screen and (min-width: 1041px) {
    .menu-bar h2 {
        display: none;
    }
}

.menu-bar h2 span {
    display: block;
}

.menu-bar h2 i {
    position: absolute;
    top: 50%;
    right: 2.5%;
    transform: translate(0, -50%);
}

.menu-bar-news {
    border: 0;
}

.menu-bar--fixed {
    z-index: 10;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    margin: 0;
}

.menu__select {
    z-index: 10;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #FFFFFF;
    overflow-y: auto;
}

@media print, screen and (min-width: 1041px) {
    .menu__select {
        z-index: inherit;
        display: block;
        position: relative;
        width: auto;
        border-bottom: 1px solid #003B8F;
    }
}

.menu__select-news {
    border: 0;
}

.menu__select .container {
    width: 100%;
}

@media print, screen and (min-width: 1041px) {
    .menu__select .container {
        width: 1040px;
    }
}

.menu__list {
    position: relative;
}

@media print, screen and (min-width: 1041px) {
    .menu__list {
        display: flex;
        flex-wrap: wrap;
    }
}

.menu__list li {
    margin: 0;
}

@media print, screen and (min-width: 1041px) {
    .menu__list li {
        padding: 0.75em 0;
    }
    .menu__list li:last-of-type a {
        border: 0;
    }
}

.menu__list a {
    position: relative;
    display: block;
    padding: 1em 2.5%;
    border-bottom: 1px solid #BFBFBF;
    color: #333333;
}

@media print, screen and (min-width: 1041px) {
    .menu__list a {
        display: inline-block;
        padding: 0 3em 0 2em;
        border: 0;
        border-right: 1px solid #BFBFBF;
        background: transparent;
    }
}

.menu__list a:hover {
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
}

.menu__list a i {
    position: absolute;
    top: 50%;
    right: 2.5%;
    transform: translate(0, -50%);
}

@media print, screen and (min-width: 1041px) {
    .menu__list a i {
        right: 1.5em;
    }
}

.menu__list li:hover, .menu__list--active {
    background: rgba(0, 59, 143, 0.25);
}

.menu__list--tall::after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: #BFBFBF;
    content: '';
}

@media print, screen and (min-width: 1041px) {
    .menu__list-news {
        flex-wrap: nowrap;
        border-bottom: 2px solid #003B8F;
    }
}

@media print, screen and (min-width: 1041px) {
    .menu__list-news li {
        padding: 0;
        border: 1px solid #003B8F;
        border-bottom: 0;
        border-radius: 0.3em 0.3em 0 0;
    }
    .menu__list-news li:not(.menu__list-news--active) {
        background: rgba(0, 59, 143, 0.125);
    }
}

@media print, screen and (min-width: 1041px) {
    .menu__list-news a {
        display: block;
        padding: 0.6em 1em;
        border: 0;
        color: #707070;
        font-weight: bold;
        font-family: "FOT-ニューロダン Pro DB", "Open Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W6", Meiryo, "メイリオ", sans-serif;
        text-align: center;
        white-space: nowrap;
    }
}

@media print, screen and (min-width: 1041px) {
    .menu__list-news a i {
        position: relative;
        right: 0;
        transform: none;
        margin-left: 0.5em;
        font-family: "FOT-ニューロダン Pro M", "Open Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif;
    }
}

.menu__list-news li:hover, .menu__list-news--active {
    background: rgba(0, 59, 143, 0.25);
}

.menu__list-news li:hover a, .menu__list-news--active a {
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
    color: #333333;
}

/* ---- Main contents : List ---- */
/* List - general settings */
.list {
    display: flex;
    flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
    .list {
        margin-top: -0.25em;
    }
}

@media print, screen and (min-width: 1041px) {
    .list {
        margin-top: -0.75em;
    }
}

.list > li {
    margin-top: 1em;
}

@media print, screen and (min-width: 768px) {
    .list > li {
        margin-top: 1.25em;
    }
}

@media print, screen and (min-width: 1041px) {
    .list > li {
        margin-top: 1.75em;
    }
}

.list img {
    display: inline-block;
    vertical-align: top;
}

.list span {
    display: inline-block;
}

.list i {
    margin-left: 0.5em;
    font-size: 125%;
    vertical-align: top;
}

.list .list__item {
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
    visibility: visible;
    height: auto;
    transition: all .5s ease 0s;
}

.list .list__item--hidden {
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0;
    visibility: hidden;
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.list-footer {
    display: block;
    margin-top: 0.5em;
    text-align: right;
}

.list-footer i {
    margin-left: 0.5em;
}

/* Page-bottom - contact */
#contact {
    margin: 0;
    border-top: 1px solid #EFEFEF;
    text-align: center;
}

@media print, screen and (min-width: 768px) {
    #contact br {
        display: none;
    }
}

#contact .button {
    margin-top: 1.5em;
    border-radius: 0.3em;
}

/* Page-bottom - banners */
#banners {
    padding: 0;
    background: #707070;
}

#banners .container {
    display: block;
    padding: 0.1em 0;
}

@media print, screen and (min-width: 768px) {
    #banners .container {
        display: flex;
        justify-content: space-between;
        padding: 0;
    }
}

#banners p {
    width: 100%;
    margin: 1.4em 0;
}

@media print, screen and (min-width: 768px) {
    #banners p {
        width: 48%;
        margin: 2em 0;
    }
    #banners p:nth-child(odd) {
        margin-right: 2%;
    }
    #banners p:nth-child(even) {
        margin-left: 2%;
    }
}

#banners a {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 1;
}

#banners a:hover {
    filter: alpha(opacity=90);
    -moz-opacity: 0.9;
    opacity: 0.9;
}

#banners img {
    width: 100%;
    height: auto;
    vertical-align: top;
}

/* Page-bottom - warp to page top */
#pagetop {
    z-index: 5;
    right: 0.6em;
    padding-bottom: 0.5em;
}

@media print, screen and (min-width: 768px) {
    #pagetop {
        right: 1.3em;
        padding-bottom: 1em;
    }
}

#pagetop.pagetop--fixed {
    position: fixed;
    bottom: 0;
}

#pagetop.pagetop--absolute {
    position: absolute;
    bottom: 0;
}

#pagetop a {
    display: inline-block;
}

/* ---- Footer ---- */
#footer {
    color: #FFFFFF;
}

#footer .container {
    display: flex;
    justify-content: space-between;
}

#footer a:hover {
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
}

/* Footer - menu */
#footer-menu {
    padding: 0;
    background: #333333;
}

@media print, screen and (min-width: 1041px) {
    #footer-menu {
        padding: 1.6em 0;
    }
}

#footer-menu .container {
    display: block;
    width: 100%;
    font-size: 75%;
}

@media print, screen and (min-width: 768px) {
    #footer-menu .container {
        display: flex;
        flex-wrap: wrap;
        width: 95%;
    }
}

@media print, screen and (min-width: 1041px) {
    #footer-menu .container {
        width: 1040px;
        font-size: 87.5%;
    }
}

.footer__list {
    display: flex;
    flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
    .footer__list {
        flex-wrap: nowrap;
    }
}

.footer__list li {
    margin: 0;
}

@media print, screen and (min-width: 768px) {
    .footer__list li {
        margin: 0 0.75em;
    }
    .footer__list li:first-of-type {
        margin-left: 0;
    }
    .footer__list li:last-of-type {
        margin-right: 0;
    }
}

@media print, screen and (min-width: 1041px) {
    .footer__list li {
        margin: 0 1em;
    }
}

.footer__list a {
    position: relative;
    display: block;
    padding: 1.3em 1em;
    border: 1px solid #474747;
    color: #FFFFFF;
    text-decoration: none;
}

@media print, screen and (min-width: 768px) {
    .footer__list a {
        display: inline-block;
        padding: 1.5em 0;
        border: 0;
    }
}

@media print, screen and (min-width: 1041px) {
    .footer__list a {
        padding: 0;
    }
}

.footer__list a:hover {
    background: #333333;
}

@media print, screen and (min-width: 768px) {
    .footer__list a:hover {
        background: transparent;
        text-decoration: underline;
    }
}

.footer__list i {
    position: absolute;
    top: 50%;
    right: 0.5em;
    transform: translate(0, -50%);
}

@media print, screen and (min-width: 768px) {
    .footer__list i {
        visibility: hidden;
        display: none;
    }
}

.footer__list--public li {
    width: 49.9%;
}

@media print, screen and (min-width: 768px) {
    .footer__list--public li {
        width: auto;
    }
}

.footer__list--public a {
    border-width: 0 0 1px 1px;
}

.footer__list--document li {
    width: 33.233%;
}

@media print, screen and (min-width: 768px) {
    .footer__list--document li {
        width: auto;
    }
}

.footer__list--document a {
    border-width: 0 0 0 1px;
}

/* Footer - bottom */
#footer-bottom {
    padding: 1.5em 0 2.3em;
    background: #3D3D3D;
}

@media print, screen and (min-width: 768px) {
    #footer-bottom {
        padding: 1.5em 0 2em;
    }
}

@media print, screen and (min-width: 1041px) {
    #footer-bottom {
        padding: 2.3em 0;
    }
}

#footer-bottom .container {
    flex-wrap: wrap;
    width: 90%;
}

@media print, screen and (min-width: 768px) {
    #footer-bottom .container {
        flex-wrap: nowrap;
        flex-direction: row-reverse;
        width: 95%;
    }
}

@media print, screen and (min-width: 1041px) {
    #footer-bottom .container {
        width: 1040px;
    }
}

.footer__contact {
    width: 100%;
    font-size: 87.5%;
}

@media print, screen and (min-width: 768px) {
    .footer__contact {
        width: 65%;
        font-size: 75%;
    }
}

@media print, screen and (min-width: 1041px) {
    .footer__contact {
        width: auto;
        font-size: 87.5%;
    }
}

.footer__contact dl {
    display: block;
    padding-bottom: 0.9em;
    border-bottom: 1px solid #707070;
    line-height: 1.5;
}

@media print, screen and (min-width: 768px) {
    .footer__contact dl {
        display: flex;
        justify-content: end;
        padding-bottom: 1em;
        line-height: 1.3;
    }
}

@media print, screen and (min-width: 1041px) {
    .footer__contact dl {
        margin-top: 0.7em;
    }
}

.footer__contact dt {
    padding: 0 0 0.5em;
}

@media print, screen and (min-width: 768px) {
    .footer__contact dt {
        padding: 0 1em 0 0;
    }
}

@media print, screen and (min-width: 1041px) {
    .footer__contact dt {
        padding: 0 3em 0 0;
    }
}

.footer__contact dd {
    padding: 0;
}

@media print, screen and (min-width: 1041px) {
    .footer__contact dd {
        padding-right: 4em;
    }
}

.footer__contact a {
    display: block;
    color: #7091C0;
}

@media print, screen and (min-width: 768px) {
    .footer__contact a {
        display: inline-block;
    }
}

.footer__contact a:hover {
    color: #99B9E7;
}

.footer__contact i {
    margin-right: 0.5em;
}

.footer__company {
    margin-top: 1.8em;
    font-size: 75%;
}

@media print, screen and (min-width: 768px) {
    .footer__company {
        width: 40%;
        margin-top: 0;
    }
}

@media print, screen and (min-width: 1041px) {
    .footer__company {
        width: auto;
    }
}

.footer__company p {
    padding-bottom: 0.5em;
}

@media print, screen and (min-width: 1041px) {
    .footer__company p {
        padding-bottom: 0.8em;
    }
}

.footer__company address {
    font-style: normal;
}

.footer__logo {
    margin: 0;
    padding-bottom: 0.5em;
}

@media print, screen and (min-width: 768px) {
    .footer__logo {
        padding-bottom: 0.75em;
    }
}

@media print, screen and (min-width: 1041px) {
    .footer__logo {
        padding-bottom: 1em;
    }
}

/* ----  Print settings ---- */
@page {
    size: A4;
    margin: 10mm;
}

@media print {
    body {
        background: transparent;
        -webkit-print-color-adjust: exact;
    }
    #contact {
        page-break-inside: avoid;
        break-inside: avoid;
    }
    .pagetop--fixed {
        display: none;
    }
    .menu-bar,
    .menu-bar--fixed {
        position: relative;
        top: auto;
        left: auto;
    }
    .products .menu-bar:not(.menu-bar-news),
    .products .menu-bar--fixed:not(.menu-bar-news) {
        page-break-after: always;
        break-after: page;
    }
    .list:not(.list--card_B):not(.list--tools):not(.list--article-tools) > li {
        display: inline-block;
    }
}

/* ---- Icon ---- */
/* Icon - general settings */
@font-face {
    font-family: 'icomoon';
    src: url("fonts/icomoon.eot?4thut5");
    src: url("fonts/icomoon.eot?4thut5#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?4thut5") format("truetype"), url("fonts/icomoon.woff?4thut5") format("woff"), url("fonts/icomoon.svg?4thut5#icomoon") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Icon - custom colors */
.icon.icon-lock {
    color: #BFBFBF;
}

.icon.icon-download {
    color: #333333;
}

.icon.icon-calendar {
    color: #333333;
}

.icon.icon-external {
    color: #333333;
}

.icon.icon-html {
    color: #1B5F8E;
}

.icon.icon-pdf {
    color: #FD211B;
}

.icon.icon-xlsx {
    color: #217346;
}

.icon.icon-pptx {
    color: #9F4930;
}

/* Icon - font assignment */
.icon-search::before {
    content: "\e900";
}

.icon-bars::before {
    content: "\e901";
}

.icon-close::before {
    content: "\e902";
}

.icon-map-marker::before {
    content: "\e903";
}

.icon-caret-up::before {
    content: "\e904";
}

.icon-caret-down::before {
    content: "\e905";
}

.icon-caret-left::before {
    content: "\e906";
}

.icon-caret-right::before {
    content: "\e907";
}

.icon-angle-up::before {
    content: "\e908";
}

.icon-angle-down::before {
    content: "\e909";
}

.icon-angle-left::before {
    content: "\e90a";
}

.icon-angle-right::before {
    content: "\e90b";
}

.icon-circle::before {
    content: "\e90c";
}

.icon-stop::before {
    content: "\e90d";
}

.icon-lock::before {
    content: "\e90e";
}

.icon-cart::before {
    content: "\e90f";
}

.icon-download::before {
    content: "\e910";
}

.icon-calendar::before {
    content: "\e911";
}

.icon-external::before {
    content: "\e912";
}

.icon-movie::before {
    content: "\e913";
}

.icon-txt::before {
    content: "\e914";
}

.icon-html::before {
    content: "\e915";
}

.icon-pdf::before {
    content: "\e916";
}

.icon-xlsx::before {
    content: "\e917";
}

.icon-seminars::before {
    content: "\e918";
}

.icon-information::before {
    content: "\e919";
}

.icon-check::before {
    content: "\e91a";
}

.icon-question::before {
    content: "\e91b";
}

.icon-answer::before {
    content: "\e91c";
}

.icon-movie-txt::before {
    content: "\e91d";
}

.icon-seminars-dermatology::before {
    content: "\e91e";
}

.icon-seminars-pediatrics::before {
    content: "\e91f";
}

.icon-seminars-pharmacist::before {
    content: "\e920";
}

.icon-slider-prev::before {
    content: "\e921";
}

.icon-slider-next::before {
    content: "\e922";
}

.icon-circle-o::before {
    content: "\e923";
}

.icon-pptx::before {
    content: "\e924";
}

.icon-recommend::before {
    content: "\e925";
}

.icon-contact::before {
    content: "\e926";
}

.icon-exclamation::before {
    content: "\e927";
}

.icon-play::before {
    content: "\e928";
}

.icon-materials::before {
    content: "\e929";
}
