@charset "utf-8";
/* CSS Document */

/* www.nipro.co.jp
-----------------------------------------------------*/
@media screen and (min-width: 701px) {
    #headerMenu li:nth-of-type(2) a {
        color: #fff;
        background: #6e6e6e;
        font-weight: 500;
    }
}

@media screen and (min-width: 1301px) {
    #corporate #cornerImg > img,
	#compliance #cornerImg > img {
        top: 0;
        transform: translateX(-50%);
    }
}
@media screen and (min-width: 1701px) {
    #cm #cornerImg > img {
        top: -39px;
        transform: translateX(-50%);
    }
}

a.btn_google,
a[href="rental.html"] {
    display: inline-block;
    padding: 2px 10px 1px;
    background: #004386;
    color: #fff;
    font-size: 0.75em;
    line-height: 1.1;
    transform: translateY(-3px);
}
a[href="rental.html"] {
    padding: 6px 10px 4px;
}
a.btn_google:hover,
a[href="rental.html"]:hover {
    text-decoration: none;
}
a.btn_google::before {
    content: "";
    background: url("image/corporate_map.png") no-repeat;
    background-size: 100% auto;
    display: inline-block;
    width: 14px;
    height: 20px;
    vertical-align: middle;
    margin-right: 4px;
}
a.btn_google::after {
    content: none !important;
}

#naviImageStyle li:nth-of-type(1) a { background-image: url(image/corporate_profile.jpg) }
#naviImageStyle li:nth-of-type(2) a { background-image: url(image/corporate_message.jpg) }
#naviImageStyle li:nth-of-type(3) a { background-image: url(image/corporate_policy.jpg) }
#naviImageStyle li:nth-of-type(4) a { background-image: url(image/corporate_biography.jpg) }
#naviImageStyle li:nth-of-type(5) a { background-image: url(image/corporate_network.jpg) }
#naviImageStyle li:nth-of-type(6) a { background-image: url(image/corporate_rd-production.jpg) }
#naviImageStyle li:nth-of-type(7) a { background-image: url(image/corporate_imep.jpg) }
#naviImageStyle li:nth-of-type(8) a { background-image: url(image/corporate_compliance.jpg) }
#naviImageStyle li:nth-of-type(9) a { background-image: url(image/corporate_cm.jpg) }
body#profile #naviImageStyle li:nth-of-type(1) a,
body#message #naviImageStyle li:nth-of-type(2) a,
body#mvv #naviImageStyle li:nth-of-type(3) a,
body#biography #naviImageStyle li:nth-of-type(4) a,
body.network #naviImageStyle li:nth-of-type(5) a,
body.rd-production #naviImageStyle li:nth-of-type(6) a,
body.imep #naviImageStyle li:nth-of-type(7) a,
body#compliance #naviImageStyle li:nth-of-type(8) a,
body#cm #naviImageStyle li:nth-of-type(9) a {
    margin-top: -2px;
    border-top: 3px solid #004386;
    background-color: #f2f5f9;
    color: #004386;
    font-weight: 700;
}

#mvv #pageNavi li:nth-of-type(1) a,
#institute #pageNavi li:nth-of-type(1) a,
.factory #pageNavi li:nth-of-type(2) a,
#imep.imep #pageNavi li:nth-of-type(1) a,
#floor.imep #pageNavi li:nth-of-type(2) a,
#access.imep #pageNavi li:nth-of-type(3) a {
    background: #004386;
    color: #fff;
}
#mvv #pageNavi li:nth-of-type(1) a::after,
#institute #pageNavi li:nth-of-type(1) a::after,
.factory #pageNavi li:nth-of-type(2) a::after,
#imep.imep #pageNavi li:nth-of-type(1) a::after,
#floor.imep #pageNavi li:nth-of-type(2) a::after,
#access.imep #pageNavi li:nth-of-type(3) a::after {
    filter: brightness(0) invert(1);
}

/* ==============================================
    index
============================================== */
main #index h2 {
    margin-bottom: 3.5em;
	font-size: 1.375em;
    line-height: 1.6;
    text-align: center;
}
@media screen and (max-width: 1020px) {
    main #index h2 {
        font-size: 1.25em;
        line-height: 1.5;
    }
}
@media screen and (max-width: 600px) {
    main #index h2 {
        line-height: 1.4;
        text-align: justify;
    }
    main #index h2 br {
        display: none;
    }
}
@media screen and (max-width: 400px) {
    main #index h2 {
        font-size: 1.125em;
    }
}

main #index .col4 li a strong {
    font-feature-settings: "palt";
}

/* ==============================================
    profile
============================================== */
#profile .tit {
    margin-bottom: 1.3em;
}
#profile .tableLineStyle {
    width: 100%;
}
#profile .tableLineStyle th,
#profile .tableLineStyle td {
    font-size: 1.125em;
}
#profile .tableLineStyle th {
    width: 10em;
    padding-right: 0;
    vertical-align: middle;
}

#profile #outline {
    position: relative;
    margin-bottom: 6em;
    /* padding-right: 310px; */
}
#profile #outline figure {
    text-align: center;
    margin-top: 60px;
    /*position: absolute;
    top: 25px;
    right: 0; */
}
#profile #outline figure img {
    max-width: 100%;
}
#profile #outline td p {
    margin-top: 0.1em;
    margin-left: -0.5em;
    text-align: left;
}
#profile #outline td span {
    font-size: 0.875em;
}
/*@media screen and (max-width: 920px) {
    #profile #outline {
        padding-right: 0;
    }
    #profile #outline figure {
        position: static;
        text-align: center;
        margin-top: 20px;
    }
}*/
@media screen and (max-width: 840px) {
    #profile #outline figure {
        margin-top: 40px;
    }
}
@media screen and (max-width: 550px) {
    #profile #outline figure {
        margin-top: 30px;
    }
}

#profile #officer {
    margin-bottom: 5em;
}
#profile #officer .tableLineStyle td {
    padding-left: 0;
    padding-right: 0;
}
#profile #officer .tableLineStyle td ul {
    margin: -14px 0 -14px;
}
#profile #officer .tableLineStyle td li {
    list-style: none;
    display: inline-block;
    vertical-align: middle;
    width: 20%;
    padding: 15px 0 15px 25px;
    border-bottom: 1px solid #ddd;
}
#profile #officer .tableLineStyle tr:last-of-type td li {
    border-bottom: none;
}
@media screen and (max-width: 1000px) {
    #profile #officer .tableLineStyle td li {
        width: 25%;
    }
}
@media screen and (max-width: 800px) {
    #profile #officer .tableLineStyle td li {
        width: 33.3%;
    }
}
@media screen and (max-width: 700px) {
    #profile #officer .tableLineStyle td {
        padding-left: 10px;
    }
    #profile #officer .tableLineStyle td ul {
        margin: 0;
    }
    #profile #officer .tableLineStyle td li {
        padding: 0 0 10px;
        border-bottom: none;
    }
}
@media screen and (max-width: 420px) {
    #profile #officer .tableLineStyle td li {
        width: 50%;
    }
}

#profile #officer .notice {
    margin-top: 30px;
}
#profile #officer .notice p,
#profile #officer .notice ol {
    display: inline-block;
    vertical-align: top;
}
#profile #officer .notice p {
    width: 5em;
}
#profile #officer .notice ol {
    width: calc(100% - 5.5em);
}
@media screen and (max-width: 700px) {
    #profile #officer .notice p,
    #profile #officer .notice ol {
        display: block;
    }
    #profile #officer .notice ol {
        margin-left: 1.8em;
        width: auto;
    }
}

#profile main #office .tableLineStyle th {
    width: 13em;
}
#profile #office .tit {
    margin-bottom: 65px;
}
@media screen and (max-width: 700px) {
    #profile #office .tit {
        margin-bottom: 45px;
    }
}
@media screen and (max-width: 500px) {
    #profile #office .tit {
        margin-bottom: 35px;
    }
}

@media screen and (max-width: 640px) {
    #profile .tableLineStyle th,
    #profile .tableLineStyle td {
        display: block;
        width: 100% !important;
    }
    #profile .tableLineStyle th {
        padding: 10px;
    }
    #profile .tableLineStyle td {
        border-top: none;
    }
}

/* ==============================================
    rental
============================================== */
#rental section:first-of-type {
    margin-bottom: 2em;
    padding-bottom: 8em;
    border-bottom: 1px solid #dcdcdc;
}
#rental th,
#rental td {
    font-size: 1.125em;
}
#rental .titIcn + .titLeftBorder {
    margin-top: 1em;
}
#rental .titLeftBorder {
    margin-top: 2em;
}
#rental section:first-of-type table {
    width: 100%;
}
#rental section:first-of-type table td {
    text-align: center;
}
#rental dl {
    margin-top: 1em;
}
#rental dd {
    margin-top: -1.6em;
    padding-left: 4.5em;
}
#rental .time dd {
    padding-left: 5em;
}
#rental .tableHeaderBlue th br,
#rental .tableHeaderBlue td br {
    display: none;
}
@media screen and (max-width: 900px) {
    #rental .tableHeaderBlue th br {
        display: block;
    }
    #rental .tableHeaderBlue tbody th {
        white-space: nowrap;
    }
}
@media screen and (max-width: 820px) {
    #rental .tableHeaderBlue td br {
        display: block;
    }
}
@media screen and (max-width: 820px) and (min-width: 700px) {
    #rental .tableHeaderBlue th,
    #rental .tableHeaderBlue td {
        padding: 13px;
    }
}
@media screen and (max-width: 700px) {
    #rental dd {
        margin-top: -1.4em;
    }
}
@media screen and (max-width: 600px) {
    #rental .tableHeaderBlue thead th br {
        display: block;
    }
    #rental .tableHeaderBlue th,
    #rental .tableHeaderBlue td {
        padding: 8px 5px;
    }
}
@media screen and (max-width: 520px) {
    #rental section:first-of-type table {
        width: 480px;
    }
}

#rental .tel {
    margin-bottom: 0.2em;
    background-size: 1.8em auto;
    line-height: 1em;
    font-size: 2em;
    letter-spacing: 0.05em;
}
#rental .tel em {
    font-style: normal;
    font-size: 0.875em;
    font-weight: 700;
    vertical-align: middle;
}
#rental .tel strong {
    font-weight: 900;
}
#rental .tel span {
    padding-left: 0.2em;
    font-size: 0.625em;
    vertical-align: middle;
}
#rental .tel span {
}
@media screen and (max-width: 550px) {
    #rental .tel span {
        display: block;
        padding-left: 0;
    }
}


/* ==============================================
    message
============================================== */
#message #cornerImg {
    margin-bottom: 100px;
}
#message .catch {
    display: block;
    width: 100%;
    margin-bottom: 60px;
}
#message .catch img {
    max-width: 100%;
}
#message main section.inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 1100px;
}
#message main section#crd.inner {
    margin-bottom: 190px;
}
#message main section.inner p {
    font-size: 1.125em;
}
#message main section#crd.inner p {
    width: calc(100% - 345px);
}
#message main section#prd.inner p {
    width: calc(100% - 390px);
}
#message #prd .photo {
    order: 2;
}
@media screen and (max-width: 1000px) {
    #message #cornerImg {
        margin-bottom: clamp(3.75rem, -6.25rem + 20vw, 6.25rem);
    }
    #message .catch {
        margin-bottom: clamp(2.5rem, -2.5rem + 10vw, 3.75rem);
    }
    #message main section#crd.inner {
        margin-bottom: clamp(3.75rem, -4.375rem + 26vw, 11.875rem);
    }
    #message main section#crd.inner .photo img {
        width: 29vw;
    }
    #message main section#prd.inner .photo img {
        width: 29vw;
    }
    #message main section#crd.inner p {
        width: calc(100% - 34.5vw);
    }
    #message main section#prd.inner p {
        width: calc(100% - 39vw);
    }
}
@media screen and (max-width: 800px) {
    #message main section.inner p {
        font-size: 1em;
    }
}
@media screen and (max-width: 640px) {
    #message .catch {
        margin-bottom: 20px;
    }
    #message main section.inner {
        display: block;
    }
    #message main section.inner .photo {
        margin-bottom: 2em;
        text-align: center;
    }
    #message main section#crd.inner .photo img,
    #message main section#prd.inner .photo img {
        width: 55%;
        max-width: 220px;
    }
    #message main section#crd.inner p,
    #message main section#prd.inner p {
        width: 100%;
    }
}

/* ==============================================
    mvv
============================================== */
#mvv h1.inner strong,
#mvv .tit strong,
#mvv h3 strong {
    color: #004386;
}
#mvv .tit {
    margin-bottom: 60px;
}
#mvv main figure {
    margin-top: 50px;
    text-align: right;
}
#mvv main figure img {
    max-width: 100%;
}

#value,
#vision {
    margin-bottom: 100px;
}
#mission {
    margin-bottom: 150px;
}
#value h3 {
    margin-bottom: 35px;
    font-size: 2.25em;
}
#value p,
#value li,
#mission li {
    font-size: 1.25em;
}
#value p {
    margin-bottom: 45px;
}
#value li,
#mission li {
    list-style: none;
    padding-left: 40px;
    background: url("image/icn_square.png") no-repeat left 0.4em;
}
#value li {
    margin-bottom: 18px;
}
#mission li {
    margin-bottom: 25px;
}
#mission ul {
    width: 1070px;
}
#vision h3 {
    font-size: 1.5em;
    line-height: 1.75;
}
@media screen and (max-width: 1090px) {
    #mission ul {
        width: 100%;
    }
}
@media screen and (max-width: 900px) {
    #mvv .tit {
        margin-bottom: 40px;
    }
    #mvv main figure {
        margin-top: 40px;
    }
    #value,
    #vision {
        margin-bottom: 80px;
    }
    #mission {
        margin-bottom: 130px;
    }
    #value h3 {
        margin-bottom: 25px;
        font-size: 2em;
    }
    #value p,
    #value li,
    #mission li {
        font-size: 1.125em;
    }
    #value p {
        margin-bottom: 35px;
    }
    #value li,
    #mission li {
        list-style: none;
        padding-left: 30px;
        background-size: 13px 13px;
    }
    #value li {
        margin-bottom: 15px;
    }
    #mission li {
        margin-bottom: 20px;
    }
    #vision h3 {
        font-size: 1.375em;
    }
}
@media screen and (max-width: 620px) {
    #mvv .tit {
        margin-bottom: 30px;
    }
    #mvv main figure {
        margin-top: 30px;
    }
    #value,
    #vision {
        margin-bottom: 60px;
    }
    #mission {
        margin-bottom: 80px;
    }
    #value li {
        margin-bottom: 15px;
    }
    #mission li {
        margin-bottom: 15px;
    }
    #value h3 {
        margin-bottom: 25px;
        font-size: 2em;
    }
    #vision h3 br.sp {
        display: block;
    }
}

/* ==============================================
    biography
============================================== */
#biography #catch {
    display: block;
	font-size: 1.625em;
}
@media screen and (max-width: 750px) {
    #biography #catch {
        font-size: 1.5em;
    }
}
@media screen and (max-width: 600px) {
    #biography #catch {
        font-size: 1.375em;
    }
}
@media screen and (max-width: 560px) {
    #biography #catch {
        padding: 0 20px;
        text-align: left;
    }
}

#biographyNavi.inner {
    list-style: none;
    max-width: 1030px;
    margin: 50px auto 70px;
    text-align: center;
}
#biographyNavi li {
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 15px;
    margin-right: 25px;
    padding-right: 25px;
    font-size: 1.125em;
    border-right: 1px solid #c3c3c3;
    line-height: 1.1;
}
#biographyNavi li:nth-child(3n) {
    margin-right: 0;
    padding-right: 0;
    border-right: none;
}
#biographyNavi li a {
    color: #6e6e6e;
}
@media screen and (max-width: 1030px) {
    #biographyNavi li {
        margin-right: 15px;
        padding-right: 15px;
    }
}
@media screen and (max-width: 700px) {
    #biographyNavi.inner {
        margin: 30px auto;
    }
    #biographyNavi li {
        margin-right: 10px;
        padding-right: 10px;
    }
}
@media screen and (max-width: 630px) {
    #biographyNavi.inner {
        text-align: left;
    }
}

#biography [id^="period"] {
    padding-top: 70px;
}
#biography #period01,
#biography #period05 {
    padding-top: 0;
}
#biography #period02,
#biography #period04,
#biography #period06 {
    background: #f6f6f6;
}

#biography [id^="period"] .inner {
    position: relative;
    max-width: 1000px;
    padding-bottom: 70px;
    border-top: 2px solid #004386;
}
#biography [id^="period"] .inner::before {
    position: absolute;
    top: -72px;
    left: 65px;
    bottom: -200px;
    content: "";
    display: block;
    width: 1px;
    background: #454545;
}
#biography #period01 .inner::before,
#biography #period05 .inner::before {
    top: 0;
}
#biography #period04 .inner::before,
#biography #period06 .inner::before {
    bottom: 0;
}
#biography [id^="period"] h2,
#biography [id^="period"] h3 {
    color: #004386;
}
#biography [id^="period"] h2 {
    position: absolute;
    left: 0;
    top: 35px;
    writing-mode: vertical-rl;
    text-orientation: upright;
	font-size: 1.625em;
}
#biography [id^="period"] section {
    margin-left: 140px;
}
#biography [id^="period"] h3 {
    margin: 35px 0 30px;
	font-size: 2em;
}
#biography .intro {
    color: #454545;
    font-size: 1.25em;
    /* font-feature-settings: "palt"; */
}
#biography .list > dt {
    position: relative;
    margin: 55px 0 20px;
    font-size: 1.625em;
    font-weight: 700;
    color: #323232;
}
#biography .list > dt::before {
    position: absolute;
    left: -75px;
    top: 50%;
    content: "";
    display: block;
    width: 50px;
    height: 1px;
    background: #454545;
}
@media screen and (max-width: 1020px) {
    /*#biography [id^="period"] .inner {
        width: calc(100vw - 20px);
    }*/
    #biography [id^="period"] h3 {
        font-size: 1.75em;
    }
    #biography .intro {
        font-size: 1.125em;
    }
}
@media screen and (max-width: 700px) {
    #biography [id^="period"] .inner::before {
        left: 40px;
    }
    #biography [id^="period"] h2 {
        top: 25px;
        font-size: 1.5em;
    }
    #biography [id^="period"] section {
        margin-left: 75px;
    }
    #biography [id^="period"] h3 {
        margin: 25px 0 20px;
    }
    #biography .list > dt {
        margin: 30px 0 10px;
        font-size: 1.5em;
    }
    #biography .list > dt::before {
        left: -35px;
        width: 20px;
    }
}
@media screen and (max-width: 360px) {
    #biography [id^="period"] .inner::before {
        left: 30px;
    }
    #biography [id^="period"] h2 {
        top: 15px;
        font-size: 1.375em;
    }
    #biography [id^="period"] section {
        margin-left: 55px;
    }
    #biography [id^="period"] h3 {
        margin: 15px 0;
        font-size: 1.375em;
    }
    #biography .list > dt {
        margin-top: 20px;
        font-size: 1.375em;
    }
    #biography .list > dt::before {
        left: -25px;
        width: 15px;
    }
}

#biography .list dd {
    color: #454545;
}
#biography .list dd a {
    color: #005ead;
}
#biography .list dd a[href^="http"][target="_blank"]::after {
    background-image: url("image/icn_window_blue.svg");
}

#biography .list dd[class^="photo"] {
    position: relative;
    min-height: 200px;
}
#biography .list dd.photo1 {
    padding-right: 260px;
}
#biography .list dd.photo2 {
    padding-right: 515px;
}
#biography .list dd > figure,
#biography .list dd .figure {
    position: absolute;
    top: 0;
    right: 0;
}
#biography .list dd figure {
    width: 237px;
    margin-left: 8px;
    line-height: 1.3;
}
#biography .list dd figcaption {
    margin-top: 5px;
    font-size: 0.875em;
    text-align: justify;
    font-feature-settings: "palt";
}
#biography .figure figure {
    display: inline-block;
    vertical-align: middle;
}
#biography .list dd dl {
    display: grid;
    grid-template-columns: 2.3em auto;
    row-gap: 5px;
    column-gap: 1.2em;
}
#biography .list dd dt {
	text-align: right;
}
@media screen and (max-width: 900px) {
    #biography .list dd.photo2 {
        padding-right: 0;
    }
    #biography .list dd.photo2 .figure {
        position: static;
        display: block;
        width: 100%;
        margin-left: 0;
        text-align: center;
    }
    #biography .list dd.photo2 .figure figure {
        margin-top: 10px;
    }
}
@media screen and (max-width: 600px) {
    #biography .list dd.photo1 {
        padding-right: 0;
    }
    #biography .list dd > figure {
        position: static;
        display: block;
        margin: 10px auto;
    }
    #biography .list dd.photo1 figure {
        width: 100%;
        margin-left: 0;
        text-align: center;
    }
    #biography .list dd figure {
        margin-left: 0;
    }
    #biography .list dd figcaption {
        text-align: center;
    }
}

#biography .bottomBtn {
    margin-top: 50px;
}
#biography .bottomBtn a {
    position: relative;
    display: inline-block;
    width: 400px;
    padding: 20px 55px 20px;
    background: #004387;
    font-size: 1.125em;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
}
#biography .bottomBtn a::after {
    position: absolute;
    top: 50%;
    content: "";
    background: url("image/icn_arrow.svg") no-repeat center right;
    background-size: contain;
    display: block;
    width: 1em;
    height: 1em;
    filter: brightness(0) invert(1);
    transition: all .4s;
}
#biography .bottomBtn a:hover {
    text-decoration: none;
}

#biography .bottomBtn.left a {
    padding-right: 10px;
}
#biography .bottomBtn.left a::after {
    left: 18px;
    transform: translateY(-50%) rotate(180deg);
}
#biography .bottomBtn.left a:hover::after {
    left: 17px;
}

#biography .bottomBtn.right {
    text-align: right;
}
#biography .bottomBtn.right a {
    padding-left: 10px;
}
#biography .bottomBtn.right a::after {
    right: 18px;
    transform: translateY(-50%);
}
#biography .bottomBtn.right a:hover::after {
    right: 17px;
}
@media screen and (max-width: 420px) {
    #biography .bottomBtn a {
        width: 100%;
    }
    #biography .bottomBtn.left a {
        padding-left: 45px;
    }
    #biography .bottomBtn.left a::after {
        left: 15px;
    }
    #biography .bottomBtn.left a:hover::after {
        left: 14px;
    }

    #biography .bottomBtn.right a {
        padding-right: 45px;
    }
    #biography .bottomBtn.right a::after {
        right: 15px;
    }
    #biography .bottomBtn.right a:hover::after {
        right: 14px;
    }
}

/* ==============================================
    network / rd-production
============================================== */
#titTab {
    display: flex;
}
.rd-production #titTab {
    margin-bottom: 85px;
}

#titTab h2,
#titTab p {
    width: 50%;
}
#titTab h2,
#titTab p a {
    display: block;
    height: 70px;
    font-feature-settings: "palt";
    line-height: 1.1;
    text-align: center;
}
#titTab h2 {
    padding-top: 20px;
    background: #004387;
    font-weight: 700;
    font-size: 1.375em;
    color: #fff;
}
#titTab p a {
    position: relative;
    padding-top: 23px;
    border: solid #d7d7d7;
    font-size: 1.25em;
    color: #464646;
}
.network #titTab p a {
    border-width: 1px 1px 0;
}
.rd-production #titTab p a {
    border-width: 1px;
}
#titTab p a::after {
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    content: "";
    background: url("image/icn_arrow.svg") no-repeat center right;
    background-size: contain;
    display: block;
    width: 1em;
    height: 1em;
    transition: all .4s;
}
#titTab p a:hover {
    text-decoration: none;
}
#titTab p a:hover::after {
    right: 17px;
}
@media screen and (max-width: 800px) {
    .rd-production #titTab {
        margin-bottom: 65px;
    }
    #titTab h2,
    #titTab p a {
        height: 60px;
    }
    #titTab h2 {
        padding-top: 15px;
    }
    #titTab p a {
        padding-top: 18px;
        font-size: 1.125em;
    }
}
@media screen and (max-width: 740px) {
    .network #titTab {
        flex-direction: column;
    }
    #oversea.network #titTab {
        flex-direction: column-reverse;
    }
    .network #titTab h2,
    .network #titTab p {
        width: 100%;
    }
    .network #titTab h2,
    .network #titTab p a {
        height: auto;
    }
    .network #titTab h2 {
        padding: 10px 5px 10px 15px;
        text-align: justify;
    }
    .network #titTab p {
        text-align: right;
    }
    .network #titTab p a {
        display: inline-block;
        padding: 10px 30px 10px 0;
        border: none;
    }
    .network #titTab p a::after {
        right: 3px;
    }
    .network #titTab p a:hover::after {
        right: 4px;
    }
}
@media screen and (max-width: 700px) {
    .rd-production #titTab {
        margin-bottom: 50px;
    }
    .rd-production #titTab h2,
    .rd-production #titTab p a {
        height: 53px;
    }
}
@media screen and (max-width: 500px) {
    #titTab h2 {
        font-size: 1.25em;
    }
    .network #titTab h2 {
        padding: 10px 10px 15px;
    }
    .rd-production #titTab {
        margin-bottom: 40px;
    }
    .rd-production #titTab h2,
    .rd-production #titTab p a {
        height: 45px;
    }
    .rd-production #titTab h2 {
        padding-top: 12px;
    }
    .rd-production #titTab p a {
        padding-top: 13px;
    }
    .rd-production #titTab p a::after {
        right: 6px;
    }
    .rd-production #titTab p a:hover::after {
        right: 5px;
    }
}

/* ==============================================
    network
============================================== */
#networkNavi {
    list-style: none;
    display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
    margin: 65px 0;
}
#networkNavi li a {
    position: relative;
    padding: 0 1.5em 0 5px;
    line-height: 1.1;
    text-decoration: none;
}
#networkNavi li a:not([target=_blank])::after {
    position: absolute;
    content: "";
    background: url("image/icn_arrow.svg") no-repeat center right;
    background-size: contain;
    display: block;
    width: 1em;
    height: 1em;
    top: 50%;
    transform: translateY(-50%);
    right: 1px;
}
#networkNavi li a:hover::after {
    right: 0;
}
@media screen and (max-width: 1200px) {
    #networkNavi {
        justify-content: flex-start;
    }
    #networkNavi li {
        margin-right: 15px;
        margin-bottom: 15px;
    }
}
@media screen and (max-width: 700px) {
    #networkNavi {
        margin: 50px 0 40px;
    }
    #networkNavi li {
        font-size: 1.125em;
        margin-bottom: 10px;
    }
}
@media screen and (max-width: 520px) {
    #networkNavi {
        flex-direction: column;

    }
}

.network .tableLineStyle {
    width: 100%;
}
.network .tableLineStyle th,
.network .tableLineStyle td {
    padding-top: 8px;
    padding-bottom: 8px;
}
.network .tableLineStyle th {
    width: 21em;
    line-height: 1.3;
    font-feature-settings: "palt";
}
#oversea.network .tableLineStyle th {
    width: 23em;
}
.network .tableLineStyle th.indent {
    position: relative;
    padding-left: calc(15px + 2em);
}
.network .tableLineStyle th.indent::before,
.network .tableLineStyle th.indent::after {
    content: "";
    display: block;
    background: #9f9f9f;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: calc(15px + 1em);
}
.network .tableLineStyle th.indent::before {
    width: 1px;
    height: 60%;
}
.network .tableLineStyle th.indent.last::before {
    top: 20%;
    transform: none;
    height: 30%;
}
.network .tableLineStyle th.indent::after {
    width: 11px;
    height: 1px;
}
.network .tableLineStyle td p {
    margin-top: 5px;
    padding-top: 7px;
    padding-left: 88px;
    text-indent: -88px;
    border-top: 1px solid #ececec;
    line-height: 1.3;
}
.network .tableLineStyle p span {
    display: inline-block;
    width: 80px;
    margin-right: 8px;
    padding: 2px 0;
    background: #ddd;
    text-align: center;
    text-indent: 0;
    font-size: 0.875em;
}
@media screen and (max-width: 1000px) {
    .network .tableLineStyle th {
        width: 16em;
    }
}
@media screen and (max-width: 700px) {
    .network .tableLineStyle th,
    .network .tableLineStyle td {
        display: block;
        width: 100% !important;
    }
    .network .tableLineStyle th,
    .network .tableLineStyle th.indent {
        padding: 10px;
    }
    .network .tableLineStyle td {
        border-top: none;
    }
    .network .tableLineStyle th br {
        display: none;
    }
    .network .tableLineStyle th.indent::before,
    .network .tableLineStyle th.indent::after {
        content: none;
    }
}

.network .btn {
    margin-top: 30px;
}

#network #map {
	position: relative;
    height: 0;
    padding-top: calc(65% - 60px);
    overflow: hidden;
}
#network #map iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: calc(100% + 60px);
    border: none;
    margin-top: -60px;
}
#network #map iframe.sp {
    display: none;
}
@media screen and (max-width: 700px) {
    #network #map {
        padding-top: 320px;
    }
    #network #map iframe.pc {
        display: none;
    }
    #network #map iframe.sp {
        display: block;
    }
}

p#mapBtn.btn a::after {
    position: static;
    transform: none;
}

.network section.borderTop {
    margin-top: 80px;
}
.network .titSubBlue {
    font-size: 1.625em;
}

#network #sales .titSub {
    margin: 60px 3px 15px;
    font-size: 1.375em;
}
#network #sales .titSubBlue + section .titSub {
    margin-top: 0;
}
@media screen and (max-width: 700px) {
    .network section.borderTop {
        margin-top: 60px;
    }
    .network .titSubBlue {
        margin-top: 20px;
    }
}

#overseaMap {
    position: relative;
}
#overseaMap img {
    max-width: 100%;
}
#overseaMap li {
    position: absolute;
    list-style: none;
    transform: translate(-50%, -50%);
}
#overseaMap li#btnAmerica {
    top: 60%;
    left: 87%;
}
#overseaMap li#btnEurope {
    top: 48%;
    left: 12%;
}
#overseaMap li#btnEurope span {
    display: none;
}
#overseaMap li#btnAsia {
    top: 41%;
    left: 33%;
}
#overseaMap li a {
    display: block;
    min-width: 140px;
    padding: 3px 30px 3px 20px;
    background: #fff;
    border: 2px solid #1e1e1e;
    font-weight: 700;
    color: #1e1e1e;
    line-height: 1.1;
    text-align: center;
}
#overseaMap li a::after {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    content: "";
    background: url("image/icn_arrow.svg") no-repeat center right;
    background-size: contain;
    display: block;
    width: 1em;
    height: 1em;
}
#overseaMap li a:hover {
    text-decoration: none;
}
#overseaMap li a:hover::after {
    right: 9px;
}
@media screen and (max-width: 970px) {
    #overseaMap li a {
        min-width: 120px;
        padding: 3px 20px 3px 10px;
    }
    #overseaMap li a::after {
        right: 6px;
    }
    #overseaMap li a:hover::after {
        right: 5px;
    }
}
@media screen and (max-width: 700px) {
    #overseaMap {
        overflow-x: scroll;
    }
    #overseaMap ul {
        display: flex;
        justify-content: center;
        margin: 20px 0 50px;
    }
    #overseaMap li {
        position: static;
        margin-right: 20px;
        transform: none;
        font-size: 1.125em;
    }
    #overseaMap li a {
        position: relative;
        min-width: auto;
        padding: 0 2em 0 5px;
        border: none;
        font-weight: 500;
    }
    #overseaMap li#btnEurope br {
        display: none;
    }
    #overseaMap li#btnEurope span {
        display: inline;
    }
}
@media screen and (max-width: 460px) {
    #overseaMap ul {
        justify-content: flex-start;
        flex-direction: column;
    }
    #overseaMap li {
        margin-bottom: 10px;
    }
    #overseaMap li a {
        display: inline-block;
        min-width: auto;
    }
}

/* ==============================================
    rd-production ( institute / factory )
============================================== */
.rd-production #intro.inner {
    width: 1060px;
    margin-bottom: 140px;
}
.rd-production #intro h2 {
    margin-bottom: 30px;
    font-size: 2.25em;
}
.rd-production #intro h2 strong {
    color: #004386;
}
.rd-production #intro p {
    font-size: 1.25em;
}
@media screen and (max-width: 1080px) {
    .rd-production #intro.inner {
        width: calc(100vw - 30px);
        margin-bottom: 100px;
    }
    .rd-production #intro h2 {
        font-size: 2em;
    }
}
@media screen and (max-width: 870px) {
    .rd-production #intro h2 {
        font-size: 1.75em;
    }
    .rd-production #intro p {
        font-size: 1.125em;
    }
}
@media screen and (max-width: 700px) {
    .rd-production #intro.inner {
        margin-bottom: 70px;
    }
    .rd-production #intro h2 {
        margin-bottom: 20px;
    }
}
@media screen and (max-width: 400px) {
    .rd-production #intro.inner {
        margin-bottom: 50px;
    }
    .rd-production #intro h2 {
        font-size: 1.375em;
    }
}

/* ==============================================
    institute
============================================== */
#institute01,
#institute02 {
    margin-bottom: 120px;
}

#institute .intro {
	display: flex;
	flex-wrap: wrap;
}
#institute main figure {
    margin-right: 100px;
}
#institute main figure img {
    max-width: 100%;
}
#institute main .list li {
    list-style: none;
    margin-bottom: 20px;
    padding-left: 40px;
    background: url("image/icn_square.png") no-repeat left 0.2em;
	font-size: 1.5em;
    font-weight: 700;
    line-height: 1.1;
    color: #1e1e1e;
}
#institute03 .intro div,
#institute .intro > .list {
    width: calc(100% - 510px)
}
#institute03 .intro div strong {
	font-size: 1.625em;
    color: #1e1e1e;
}
#institute03 .intro div p {
    margin: 30px 0 40px;
}
@media screen and (max-width: 1080px) {
    #institute main .list li {
    	font-size: 1.375em;
    }
}
@media screen and (max-width: 870px) {
    #institute main figure {
        margin-right: 40px;
    }
    #institute main figure img {
        width: 46vw;
    }
    #institute03 .intro div,
    #institute .intro > .list {
        width: calc(100% - calc(46vw + 40px))
    }
    #institute main .list li {
        margin-bottom: 15px;
        padding-left: 35px;
    	font-size: 1.25em;
    }
}
@media screen and (max-width: 700px) {
    #institute main figure,
    #institute03 .intro div,
    #institute .intro > .list {
        width: 100%;
    }
    #institute main figure {
        margin-bottom: 25px;
        margin-right: 0;
        text-align: center;
    }
    #institute main figure img {
        width: 100%;
        max-width: 400px;
    }
    #institute03 .intro div p {
        margin: 20px 0 30px;
    }
    #institute main .list li {
        margin-bottom: 10px;
    }
}

#institute p.detailBtn {
    position: relative;
    margin-top: 20px;
    padding: 8px 30px 8px 55px;
    background: #ececec;
    color: #1e1e1e;
    font-weight: 500;
    font-size: 1em;
    cursor: pointer;
}
#institute p.detailBtn::before {
    content: "＋";
    position: absolute;
    top: 8px;
    left: 30px;
	transition: 0.3s;
}
#institute p.detailBtn.active::before {
    content: "ー";
    /* transform: rotate(45deg); */
}
@media screen and (max-width: 700px) {
    #institute p.detailBtn {
        margin-top: 40px;
        padding: 8px 0 8px 50px;
    }
    #institute p.detailBtn::before {
        left: 20px;
    }
}
@media screen and (max-width: 400px) {
    #institute p.detailBtn {
        font-size: 1.125em;
    }
}

#institute .detail {
    display: none;
    padding: 55px;
    background: #f6f6f6;
    border: 1px solid #dcdcdc;
}
#institute .detail h3 {
    margin-bottom: 20px;
    color: #004386;
    font-size: 1.5em;
}
#institute .detail p:not(.notice),
#institute03 .intro div p {
    font-size: 1.125em;
    color: #505050;
}
#institute .detail p.notice {
    margin-top: 25px;
}
#institute .detail p sup {
    font-size: 0.75em;
}
#institute .detail ul.figure {
    list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
    width: 940px;
    margin: 40px auto 80px;
    text-align: center;
    color: #505050;
}
#institute .detail ul.figure.col1 {
	justify-content: center;
}
#institute .detail ul.figure.col2 {
    width: 780px;
}
#institute .detail .figure li {
    text-align: center;
}
#institute .detail .figure li img {
    max-width: 100%;
    margin-bottom: 7px;
}
#institute .detail .figure li span {
    display: inline-block;
    text-align: justify;
    margin: 0 auto;
}
@media screen and (max-width: 1060px) {
    #institute .detail {
        padding: 50px 30px;
    }
}
@media screen and (max-width: 1020px) {
    #institute .detail ul.figure {
        width: 100%;
    }
}
@media screen and (max-width: 970px) {
    #institute .detail .figure li {
        width: 31%;
    }
    #institute .detail .figure.col1 li {
        width: 100%;
    }
    #institute .detail .figure.col2 li {
        width: 360px;
    }
}
@media screen and (max-width: 880px) {
    #institute .detail ul.figure {
        margin: 30px auto 60px;
    }
    #institute .detail ul.figure.col1,
    #institute .detail ul.figure.col2 {
        width: 100%;
    }
    #institute .detail .figure.col1 li img,
    #institute .detail .figure.col2 li {
        width: 47%;
    }
}
@media screen and (max-width: 750px) {
    #institute .detail .figure li,
    #institute .detail .figure::after {
        width: 47%;
    }
    #institute .detail .figure li {
        margin-bottom: 25px;
    }
    #institute .detail .figure:not(.col1)::after {
        content: "";
        height: 0;
    }
}
@media screen and (max-width: 600px) {
    #institute .detail {
        padding: 40px 20px;
    }
    #institute .detail ul.figure {
        margin: 20px auto 40px;
    }
    #institute .detail .figure li,
    #institute .detail .figure::after,
    #institute .detail .figure.col1 li img,
    #institute .detail .figure.col2 li {
        width: 48%;
    }
    #institute .detail .figure:not(.col2) li {
        margin-bottom: 20px;
    }
}
@media screen and (max-width: 440px) {
    #institute .detail {
        padding: 30px 20px;
    }
    #institute .detail .figure {
        flex-direction: column;
    }
    #institute .detail .figure li img,
    #institute .detail .figure.col1 li img {
        width: 250px;
    }
    #institute .detail .figure li,
    #institute .detail .figure::after,
    #institute .detail .figure.col2 li {
        width: 100%;
    }
}

#relationNavi {
    list-style: none;
    margin: 100px 0 70px;
    padding: 45px 0;
    background: #ccdfef;
    text-align: center;
}
#relationNavi li {
    display: inline-block;
    vertical-align: middle;
    width: 500px;
    margin: 0 5px;
}
#relationNavi li a {
    position: relative;
	display: flex;
	align-items: center;
    height: 120px;
    padding: 0 5px 0 60px;
    background: #fff;
    color: #1e1e1e;
    font-size: 1.25em;
    text-align: left;
    font-weight: 500;
}
#relationNavi li a:hover {
    text-decoration: none;
}
#relationNavi li a::before {
    position: absolute;
    top: 50%;
    left: 18px;
    transform: translateY(-50%);
    content: "";
    background: url("image/icn_arrow.svg") no-repeat center right;
    background-size: contain;
    display: block;
    width: 1em;
    height: 1em;
}
@media screen and (max-width: 1050px) {
    #relationNavi li {
        width: 47.6vw;
    }
}
@media screen and (max-width: 960px) {
    #relationNavi li a br.sp {
        display: block;
    }
}
@media screen and (max-width: 740px) {
    #relationNavi {
        padding: 20px 0 10px;
    }
    #relationNavi li {
        width: calc(100% - 20px);
        margin: 0 0 10px;
    }
    #relationNavi li a {
        height: 80px;
        padding-right: 20px;
    }
    #relationNavi li a br.sp {
        display: none;
    }
}
@media screen and (max-width: 430px) {
    #relationNavi li a {
        padding-left: 40px;
    }
    #relationNavi li a::before {
        left: 9px;
    }
    #relationNavi li a br.sp {
        display: block;
    }
}
@media screen and (max-width: 325px) {
    #relationNavi li a br.sp {
        display: none;
    }
}

/* ==============================================
    factory
============================================== */
.factory #tab {
    display: grid;
    grid-template-columns: 1fr 1fr 300px 1fr;
    column-gap: 10px;
}
.factory #tab h2,
.factory #tab p a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 64px;
    padding-left: 10px;
    font-size: 1.375em;
    font-weight: 700;
    line-height: 1.1;
}
.factory #tab h2 {
    color: #fff;   
}
.factory #tab p a {
    background: #f6f6f6;
    border: 1px solid #d7d7d7;    
}
.factory #tab p a:hover {
    text-decoration: none;
}
.factory #tab p a br {
    display: none;
}
.factory #tab h2:nth-child(1) { background: #1571ba; }
.factory #tab h2:nth-child(2) { background: #11ad65; }
.factory #tab h2:nth-child(3) { background: #ea5550; }
.factory #tab h2:nth-child(4) { background: #915da3; }
.factory #tab p:nth-child(1) a { color: #1571ba; }
.factory #tab p:nth-child(2) a { color: #11ad65; }
.factory #tab p:nth-child(3) a { color: #ea5550; }
.factory #tab p:nth-child(4) a { color: #915da3; }

.factory #tab h2::before,
.factory #tab p a::before {
    width: 49px;
    height: 49px;
    margin-right: 12px;
}
.factory #tab h2:nth-child(1)::before { content: url("image/icn_device_w.svg") }
.factory #tab h2:nth-child(2)::before { content: url("image/icn_pharma_w.svg") }
.factory #tab h2:nth-child(3)::before { content: url("image/icn_pharmapackaging_w.svg") }
.factory #tab h2:nth-child(4)::before { content: url("image/icn_regenerativemedicine_w.svg") }
.factory #tab p:nth-child(1) a::before { content: url("image/icn_device.svg") }
.factory #tab p:nth-child(2) a::before { content: url("image/icn_pharma.svg") }
.factory #tab p:nth-child(3) a::before { content: url("image/icn_pharmapackaging.svg") }
.factory #tab p:nth-child(4) a::before { content: url("image/icn_regenerativemedicine.svg") }

.factory #tab h2:nth-child(3),
.factory #tab p:nth-child(3) a {
    font-size: 1.25em !important;
    letter-spacing: -0.03em;
}
.factory #tab h2:nth-child(3)::before,
.factory #tab p:nth-child(3) a::before {
    margin-right: 8px;
}
@media screen and (max-width: 900px) {
    .factory #tab {
        grid-template-columns: 1fr 1fr 280px 1fr;
        column-gap: 7px;
    }
    .factory #tab h2,
    .factory #tab p a {
        height: 55px;
        padding-left: 7px;
        font-size: 1.25em;
    }
    .factory #tab h2::before,
    .factory #tab p a::before {
        width: 40px;
        height: 40px;
        margin-right: 8px;
    }
}
@media screen and (max-width: 770px) {
    .factory #tab {
        grid-template-columns: 1fr 1fr 245px 1fr;
        column-gap: 5px;
    }
    .factory #tab h2,
    .factory #tab p a {
        height: 50px;
        padding-left: 5px;
    }
    .factory #tab h2,
    .factory #tab p a,
    .factory #tab h2:nth-child(3),
    .factory #tab p:nth-child(3) a {
        font-size: 1.125em !important;
    }
    .factory #tab h2::before,
    .factory #tab p a::before,
    .factory #tab p:nth-child(3) a::before {
        width: 35px;
        height: 35px;
        margin-right: 5px;
    }
}
@media screen and (max-width: 700px) {
    .factory #tab {
        grid-template-columns: 1fr 1fr 160px 1fr;
    }
    .factory #tab p a br {
        display: block;
    }
}
@media screen and (max-width: 550px) {
    .factory #tab {
        grid-template-columns: 1fr 1fr 140px 1fr;
        column-gap: 0;
    }
    .factory #tab h2,
    .factory #tab p a {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 85px;
        padding-left: 0;
        text-align: center;
    }
    .factory #tab h2::before,
    .factory #tab p a::before {
        margin-bottom: 3px;
    }
}
@media screen and (max-width: 440px) {
    .factory #tab {
        grid-template-columns: 1fr 1fr 105px 1fr;
    }
    .factory #tab h2,
    .factory #tab p a,
    .factory #tab h2:nth-child(3),
    .factory #tab p:nth-child(3) a {
        font-size: 1em !important;
    }
}
@media screen and (max-width: 350px) {
    .factory #tab {
        grid-template-columns: 1fr 1fr 100px 1fr;
    }
    .factory #tab h2,
    .factory #tab p a,
    .factory #tab h2:nth-child(3),
    .factory #tab p:nth-child(3) a {
        font-size: 0.875em !important;
    }
}

.factory #factoryMap {
    position: relative;
    margin-bottom: 80px;
}
#regenerativemedicine #tab {
    margin-bottom: 110px;
}
.factory #factoryMap #mapBase img {
    max-width: 100%;
}
.factory #factoryMap #mapMessage {
    position: absolute;
    top: 30px;
    left: 30px;
    padding: 15px 20px 15px 60px;
    background: url("image/icn_map.svg") no-repeat left 20px center #fff;
    background-size: 25px auto;
    line-height: 1.5;
    color: #454545;
}
.factory #pin li {
    position: absolute;
    list-style: none;
    width: 18px;
    transform: translate(-9px, 0);
    cursor: pointer;
    transition: all .4s;
    line-height: 1;
}
.factory #pin li img {
    width: 100%;
}
.factory #pin li:not(.active):hover {
    width: 20px;
    transform: translate(-10px, 0);
    /* animation: balloonHover .3s alternate infinite; */
    z-index: 1;
}
/* @keyframes balloonHover {
    0% { transform: translate(-9px, 0); }
    100% { transform: translate(-9px, -3px); }
} */

.factory #pin li.active {
    width: 34px;
    transform: translate(-17px, 0);
    z-index: 1;
}
.factory #pin li#device_odate { left: 68.8%; bottom: 41.6%; }/* 824px 284px */
.factory #pin li#device_aichi { left: 60.6%; bottom: 13.6%; }/* 60.4% 725px 93px 愛知県瀬戸市塩草町128 */
.factory #pin li#device_kondo { left: 65.6%; bottom: 18.3%; }/* 798px 125px */
.factory #pin li#device_tatebayashi { left: 66.9%; bottom: 18.3%; }/* 798px 125px */
.factory #pin li#device_seto { left: 59.5%; bottom: 13.1%; }/* 59.7% 717px 90px 愛知県瀬戸市井戸金町276番１号の方が西 */
.factory #pin li#device_yamanashi { left: 64.2%; bottom: 15.9%; }/* 771px 109px */
.factory #pin li#device_thailand { left: 34.6%; bottom: 40.9%; }/* 416px 279px */
.factory #pin li#device_shanghai { left: 40%; bottom: 48.8%; }/* 479px 334px */
.factory #pin li#device_india { left: 27.6%; bottom: 41.6%; }/* 332px 284px */
.factory #pin li#device_indonesia-jaya { left: 37.1%; bottom: 30.3%; }/* 445px 207px */
.factory #pin li#device_medical-ltda { left: 91.6%; bottom: 22.7%; }/* 1100px 155px */
.factory #pin li#device_hefei { left: 38.6%; bottom: 48.5%; }/* 463px 331px */
.factory #pin li#device_vietnam { left: 36.2%; bottom: 38.1%; }/* 434px 260px */

.factory #pin li#pharma_odate { left: 68.7%; bottom: 41.7%; }/* 830px 275px */
.factory #pin li#pharma_ise { left: 58.5%; bottom: 10.3%; }/* 698px 73px */
.factory #pin li#pharma_kagamiishi { left: 68.7%; bottom: 24.6%; }/* 825px 168px */
.factory #pin li#pharma_saitama { left: 67.1%; bottom: 19.5%; }/* 806px 133px */
.factory #pin li#pharma_ohmi { left: 57%; bottom: 12%; }/* 806px 133px */
.factory #pin li#pharma_vietnam { left: 36%; bottom: 43.8%; }/* 433px 299 px */
.factory #pin li#pharma_hida { left: 60.3%; bottom: 18.6%; }/* 724px 127px */

.factory #pin li#pharmapackaging_biwako { left: 44.4%; bottom: 51.4%; }/* 533px 351px */
.factory #pin li#pharmapackaging_americas { left: 83.8%; bottom: 53.8%; }/* 1006px 367px */
.factory #pin li#pharmapackaging_croatia { left: 11.4%; bottom: 58%; }/* 137px 396px */
.factory #pin li#pharmapackaging_france { left: 8%; bottom: 60.4%; }/* 96px 412px */
.factory #pin li#pharmapackaging_germany { left: 10%; bottom: 61.2%; }/* 120px 418px */
.factory #pin li#pharmapackaging_meerut { left: 28.7%; bottom: 46%; }/* 345px 314px */
.factory #pin li#pharmapackaging_india { left: 27.7%; bottom: 40.7%; }/* 333px 278px */
.factory #pin li#pharmapackaging_ural { left: 22.6%; bottom: 63.9%; }/* 272px 436px */
.factory #pin li#pharmapackaging_chengdu { left: 33.7%; bottom: 51.1%; }/* 405px 349px */
.factory #pin li#pharmapackaging_anyang { left: 38%; bottom: 52%; }/* 457px 355px */

.factory #pin li#regenerativemedicine_sapporo { left: 55.6%; bottom: 80.9%; }/* 668px 552px */

.factory #factoryMap section {
    position: absolute;
    right: 20px;    
    width: 500px;
    padding: 15px 0 15px 15px;
    background: #fff;
    border: 1px solid #dcdcdc;
    text-align: left;
	opacity : 0;
	visibility: hidden;
	transition: 0.5s;
}
#device.factory #factoryMap section,
#pharma.factory #factoryMap section {
    top: 20px;
}
#pharmapackaging.factory #factoryMap section,
#regenerativemedicine.factory #factoryMap section {
    bottom: 20px;
}
.factory #factoryMap section.active {
	opacity: 1;
	visibility: visible;
}
.factory #factoryMap section h3 {
    margin-bottom: 10px;
    font-size: 1.25em;
    color: #004386;
    letter-spacing: -0.03em;
    font-feature-settings: "palt";
}
.factory #factoryMap section figure,
.factory #factoryMap section p:not(.btn) {
    display: inline-block;
    vertical-align: top;
}
.factory #factoryMap section figure {
    width: 215px;
    margin-right: 10px;
}
.factory #factoryMap section figure img {
    width: 100%;
}
.factory #factoryMap section p:not(.btn) {
    width: calc(100% - 240px);
    font-size: 0.875em;
    line-height: 1.4;
    text-align: left;
}
.factory #factoryMap section p.btn,
.factory #factoryMap section span {
    position: absolute;
}
.factory #factoryMap section p.btn {
    position: absolute;
    right: 12px;
    bottom: 12px;
}
.factory #factoryMap section p.btn a {
    width: 170px;
    padding: 7px;
    font-size: 0.875em;
}
.factory #factoryMap section span {
    top: 1px;
    right: 1px;
    display: block;
    width: 30px;
    height: 30px;
    padding-top: 8px;
    color: #fff;
    background: #004386;
    font-weight: 900;
    font-size: 1.25em;
    text-align: center;
    cursor: pointer;
}
@media screen and (max-width: 1000px) {
    .factory #factoryMap li {
        width: 14px;
        transform: translateX(-7px);
    }
    .factory #factoryMap li:hover {
        width: 16px;
        transform: translateX(-8px);
    }
    .factory #factoryMap li.active {
        width: 28px;
        transform: translateX(-14px);
    }
    .factory #factoryMap #mapMessage {
        top: 20px;
        left: 20px;
        padding: 10px 15px 10px 45px;
        background-position: left 15px center;
        background-size: 20px auto;
        line-height: 1.4;
        font-size: 0.875em;
    }
    .factory #factoryMap section {
        right: 10px;    
    }
    #device.factory #factoryMap section,
    #pharma.factory #factoryMap section {
        top: 10px;
    }
    #pharmapackaging.factory #factoryMap section,
    #regenerativemedicine.factory #factoryMap section {
        bottom: 10px;
    }
    .factory #factoryMap section figure {
        width: 180px;
        margin-right: 5px;
    }
    .factory #factoryMap section p:not(.btn) {
        width: calc(100% - 210px);
    }
}
@media screen and (max-width: 900px) {
    .factory #factoryMap li {
        width: 12px;
        transform: translateX(-6px);
    }
    .factory #factoryMap li:hover {
        width: 14px;
        transform: translateX(-7px);
    }
    .factory #factoryMap li.active {
        width: 24px;
        transform: translateX(-12px);
    }
    #device.factory #factoryMap #mapMessage,
    #pharma.factory #factoryMap #mapMessage {
        top: auto;
        bottom: 20px;
    }
    .factory #factoryMap section {
        width: 460px;
        padding: 11px 0 12px 15px;
    }
    .factory #factoryMap section h3 {
        font-size: 1.125em;
    }
    .factory #factoryMap section figure {
        width: 150px;
    }
    .factory #factoryMap section p:not(.btn) {
        width: calc(100% - 180px);
    }
    .factory #factoryMap section p.btn a {
        width: 130px;
        padding: 5px;
        font-size: 0.875em;
    }
    .factory #factoryMap section p.btn a::after {
        right: 6px;
    }
}
@media screen and (max-width: 700px) {
    .factory #factoryMap li,
    .factory #factoryMap li:hover,
    .factory #factoryMap li.active {
        width: 10px;
        transform: translateX(-5px);
        cursor: default;
    }
    .factory #factoryMap #mapMessage {
        display: none;
    }
}
@media screen and (max-width: 500px) {
    .factory #factoryMap li,
    .factory #factoryMap li:hover,
    .factory #factoryMap li.active {
        width: 8px;
        transform: translateX(-4px);
    }
}

.factory section[id$="_detail"] {
    margin-bottom: 90px;
}
.factory section[id$="_detail"] .tit {
    letter-spacing: 0.05em;
    font-feature-settings: "palt";
}
.factory section[id$="_detail"] figure {
    float: left;
}
.factory section[id$="_detail"] figure img:nth-of-type(2) {
    margin-top: 10px;
}
.factory section[id$="_detail"] table {
    width: calc(100% - 455px);
    margin-left: 455px;
    margin-bottom: 20px;
}
.factory section[id$="_detail"] th,
.factory section[id$="_detail"] td,
.factory section[id$="_detail"] p {
    font-size: 1.125em;
}
.factory section[id$="_detail"] th {
    width: 200px;
}
.factory section[id$="_detail"] td {
    text-align: left;
}
.factory section[id$="_detail"] td dt {
    font-weight: 500;
}
.factory section[id$="_detail"] td dd {
    margin-left: 1em;
}
.factory section[id$="_detail"] p {
    margin-left: 460px;
    padding-left: 1em;
    text-indent: -1em;
}
@media screen and (max-width: 1230px) {
    .factory section[id$="_detail"] table {
        width: calc(100% - 435px);
        margin-left: 435px;
    }
    .factory section[id$="_detail"] p {
        margin-left: 440px;
    }
    .factory section[id$="_detail"] th {
        width: 8em;
    }
}
@media screen and (max-width: 1000px) {
    .factory section[id$="_detail"] figure img {
        width: 40vw;
    }
    .factory section[id$="_detail"] table {
        width: calc(100% - 42vw);
        margin-left: 42vw;
        margin-bottom: 10px;
    }
    .factory section[id$="_detail"] th,
    .factory section[id$="_detail"] td,
    .factory section[id$="_detail"] p {
        font-size: 1em;
    }
    .factory section[id$="_detail"] p {
        margin-left: 42.5vw;
    }
}
@media screen and (max-width: 850px) and (min-width: 641px) {
    .factory section[id$="_detail"] th,
    .factory section[id$="_detail"] td {
        display: block;
        width: 100% !important;
        padding: 10px;
    }
    .factory section[id$="_detail"] td {
        border-top: none;
        
    }
}
@media screen and (max-width: 700px) {
    .factory section[id$="_detail"] th,
    .factory section[id$="_detail"] td,
    .factory section[id$="_detail"] p {
        font-size: 1.125em;
    }
}
@media screen and (max-width: 640px) {
    .factory section[id$="_detail"] figure {
        float: none;
        width: 100%;
        margin-bottom: 15px;
        text-align: center;
    }
    .factory section[id$="_detail"] figure img {
        width: 300px;
    }
    .factory section[id$="_detail"] table,
    .factory section[id$="_detail"] p {
        width: 100%;
        margin-left: 0;
    }
}
@media screen and (max-width: 500px) {
    .factory section[id$="_detail"] th,
    .factory section[id$="_detail"] td,
    .factory section[id$="_detail"] p {
        font-size: 1em;
    }
}
@media screen and (max-width: 460px) {
    .factory section[id$="_detail"] th,
    .factory section[id$="_detail"] td {
        display: block;
        width: 100% !important;
        padding: 10px;
    }
    .factory section[id$="_detail"] td {
        border-top: none;
        
    }
}

/* ==============================================
    imep - index
============================================== */
#imep #cornerImg {
    margin-bottom: 0;
}
#imep #tit {
    display: flex;
    align-items: center;
    font-size: 1.25em;
}
#imep #tit #logo {
    position: relative;
    width: 189px;
    height: 252px;
}
#imep #tit #logo img {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
#imep #tit h2 {
    margin-bottom: 0.4em;
    font-size: 1.9em;
    font-weight: 400;
    letter-spacing: 0.02em;
}
#imep #tit strong {
    color: #004386;
}
@media screen and (min-width: 1127px) {
    #imep #tit {
        width: 1000px;
    }
}
@media screen and (max-width: 1126px) {
    #imep #tit.inner {
        width: 100%;
    }
    #imep #tit #logo {
        width: 252px;
    }
    #imep #tit #logo img {
        left: 50%;
        transform: translate(-50%, -50%);
    }
}
@media screen and (max-width: 900px) {
    #imep #tit h2 {
        font-size: 1.8em;
    }
}
@media screen and (max-width: 750px) {
    #imep #tit {
        font-size: 1.125em;
    }
    #imep #tit #logo {
        width: 33vw;
        height: 33vw;
    }
    #imep #tit #logo img {
        width: 50%;
    }
}
@media screen and (max-width: 580px) {
    #imep #tit h2 {
        font-size: 1.7em;
    }
}
@media screen and (max-width: 550px) {
    #imep #tit {
        font-size: 1em;
    }
    #imep #tit h2 {
        font-size: 1.6em;
    }
}
@media screen and (max-width: 420px) {
    #imep #tit h2 {
        font-size: 1.5em;
    }
}
@media screen and (max-width: 400px) {
    #imep #tit h2 {
        letter-spacing: 0;
    }
    #imep #tit #logo {
        width: 30vw;
        height: 30vw;
    }
}
@media screen and (max-width: 374px) {
    #imep #tit {
        font-size: 0.9em;
    }
}
@media screen and (max-width: 340px) {
    #imep #tit h2 br {
        display: block;
    }
}


#imep .btnBlue {
    text-align: right;
}
#imep .btnBlue a {
    position: relative;
    display: inline-block;
    width: 380px;
    padding: 16px 20px;
    background: #004386;
    color: #fff;
    text-align: left;
    font-size: 1.25em;
    line-height: 1.3;
}
#imep .btnBlue a span {
    display: block;
    font-size: 0.8em;
    font-feature-settings: "palt";
}
#imep .btnBlue a:hover {
    text-decoration: none;
}
#imep .btnBlue a::after {
    position: absolute;
    top: 50%;
    right: 25px;
    margin-top: -0.5em;
    filter: brightness(0) invert(1);    
}
@media screen and (max-width: 900px) {
    #imep .btnBlue a {
        width: 300px;
    }
}
@media screen and (max-width: 700px) {
    #imep .btnBlue a {
        width: 240px;
        padding: 14px 15px;
    }
    #imep .btnBlue a::after {
        right: 20px;
    }
}
@media screen and (max-width: 500px) {
    #imep .btnBlue a {
        width: 220px;
        padding: 12px 15px;
        font-size: 1.125em;
    }
}
@media screen and (max-width: 400px) {
    #imep .btnBlue a {
        width: 200px;
        padding: 10px 15px;
        font-size: 1em;
    }
}

#imep #index {
    margin: 90px auto 100px;
}
@media screen and (min-width: 1081px) {
    #imep #index {
        width: 1000px;
    }
}
#imep #index #catch {
    display: block;
    margin-bottom: 1em;
    font-size: 1.75em;
}
#imep #index p {
    font-size: 1.25em;
}
#imep #index p.notice {
    text-align: left;
}
#imep #index p.notice span {
    color: #ff0000;
}
#imep #index figure.center {
    margin: 30px 0 90px;
}
@media screen and (max-width: 1100px) {
    main #index .col2 > li {
        width: calc(calc(100% - 16px)/2);
    }
}
@media screen and (max-width: 900px) {
    #imep #index {
        margin: 70px auto 80px;
    }
    #imep #index #catch {
        font-size: 1.625em;
    }
    #imep #index p {
        font-size: 1.125em;
    }
    #imep #index figure.center {
        margin-bottom: 70px;
    }
}
@media screen and (max-width: 700px) {
    #imep #index {
        margin: 60px auto;
    }
    #imep #index figure.center {
        margin-bottom: 50px;
    }
}
@media screen and (max-width: 570px) {
    #imep #index {
        margin-bottom: 0;
    }
}
@media screen and (max-width: 340px) {
    #imep #index #catch {
        font-size: 1.5em;
    }
}

/* ==============================================
    imep - floor
============================================== */
#naviBtn {
    list-style: none;
    text-align: center;
}
#naviBtn li {
    display: inline-block;
    vertical-align: top;
    width: 280px;
    margin: 0 5px;
    text-align: center;
}
#naviBtn a {
    display: block;
    padding: 15px;
    background: #004386;
    color: #fff;
	font-size: 1.375em;
}
#naviBtn a:hover {
    text-decoration: none;
}
#naviBtn a::before {
    content: "";
    background: url("image/icn_arrow.svg") no-repeat center right;
    background-size: contain;
    display: inline-block;
    vertical-align: middle;
    width: 0.8em;
    height: 0.8em;
    transform: rotate(90deg);
    filter: brightness(0) invert(1);
}
#naviBtn + p {
    display: inline-block;
    margin: 30px auto 60px;
    padding: 0 10px;
    text-align: left;
}
@media screen and (max-width: 890px) {
    #naviBtn li {
        width: calc(calc(100% - 30px)/3);
    }
    #naviBtn a {
        padding: 12px;
        font-size: 1.25em;
    }
    #naviBtn + p {
        margin: 20px auto 50px;
    }
}
@media screen and (max-width: 550px) {
    #naviBtn li {
        width: calc(calc(100% - 18px)/3);
        margin: 0 3px;
    }
    #naviBtn a {
        padding: 10px;
        font-size: 1.125em;
    }
    #naviBtn + p {
        margin: 15px auto 40px;
    }
}

[id^="floorMap"] h3,
[id^="floorMap"] p {
    display: inline-block;
    vertical-align: middle;
}
[id^="floorMap"] h3 {
    width: 90px;
    height: 90px;
    margin-right: 20px;
    padding-top: 30px;
    border-radius: 50%;
	font-size: 1.5em;
    background: #004386;
    color: #fff;
    text-align: center;
}
[id^="floorMap"] p {
    width: calc(100% - 115px);
    font-size: 1.21em;
}
@media screen and (max-width: 1000px) {
    [id^="floorMap"] h3 {
        width: 80px;
        height: 80px;
        margin-right: 15px;
        padding-top: 25px;
        font-size: 1.5em;
    }
    [id^="floorMap"] p {
        width: calc(100% - 100px);
    }
    [id^="floorMap"] p {
        font-size: 1.125em;
    }
}
@media screen and (max-width: 800px) {
    [id^="floorMap"] h3 {
        width: 75px;
        height: 75px;
        margin-right: 10px;
        padding-top: 20px;
        font-size: 1.5em;
    }
    [id^="floorMap"] p {
        width: calc(100% - 90px);
    }
}
@media screen and (max-width: 700px) {
    [id^="floorMap"] h3 {
        padding-top: 23px;
    }
}
@media screen and (max-width: 540px) {
    [id^="floorMap"] h3 {
        width: 65px;
        height: 65px;
        font-size: 1.375em;
    }
    [id^="floorMap"] p {
        width: calc(100% - 80px);
        line-height: 1.4;
        font-size: 1em;
    }
}
@media screen and (max-width: 440px) {
    [id^="floorMap"] h3 {
        width: 55px;
        height: 55px;
        margin-right: 5px;
        padding-top: 17px;
        font-size: 1.25em;
    }
    [id^="floorMap"] p {
        width: calc(100% - 65px);
    }
}

.floorMap {
    position: relative;
    margin: 30px 0 85px;
}
.floorMap > figure {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
#floorMap1 .floorMap {
    padding-top: 63.3%;/* 760px */
}
#floorMap2 .floorMap {
    padding-top: 65%;/* 780px */
}
#floorMap3 .floorMap {
    padding-top: 43.3%;/* 520px */
}
#floorMap1 .floorMap > figure img {
    width: 521px;
}
#floorMap2 .floorMap > figure img {
    width: 508px;
}
#floorMap3 .floorMap > figure img {
    width: 512px;
}
#floor .list {
    list-style: none;
}
#floor .list li {
    position: absolute;
}
#floor .list li > img {
    width: 100%;
}
#floor .list li a figure img {
    transition: all .4s;
    max-width: 100%;
}
@media screen and (min-width: 701px) {
    #floor .list li#baloon_floor1_101 { left: 52.5%; bottom: 38.2%; width: 44.3%; max-width: 531px; z-index: 1; }
    #floor .list li#baloon_floor1_102 { left: 33%; bottom: 40%; width: 28.2%; max-width: 338px; z-index: 5; }
    #floor .list li#baloon_floor1_103 { right: 63%; bottom: 35.1%; width: 32.2%; max-width: 386px; z-index: 2 }
    #floor .list li#baloon_floor1_cafe { right: 61%; bottom: 7.2%; width: 39.2%; max-width: 470px; z-index: 4; }
    #floor .list li#baloon_floor1_showroom { left: 66.8%; bottom: 4.6%; width: 33.6%; max-width: 403px; z-index: 3 }
    #floor .list li#baloon_floor2_201 { left: 37%; bottom: 43%; width: 28.2%; max-width: 338px; z-index: 5; }
    #floor .list li#baloon_floor2_203 { left: 51%; bottom: 36%; width: 45.8%; max-width: 550px; z-index: 1; }
    #floor .list li#baloon_floor2_205 { right: 52%; bottom: 6.5%; width: 46.25%; max-width: 555px; z-index: 3; }
    #floor .list li#baloon_floor2_206 { right: 60.7%; bottom: 37.5%; width: 31.5%; max-width: 377px; z-index: 2; }
    #floor .list li#baloon_floor2_211 { left: 60.5%; bottom: 10.1%; width: 39%; max-width: 467px; z-index: 4; }
    #floor .list li#baloon_floor3_hall { right: 40%; bottom: 45%; width: 39.7%; max-width: 476px; }
    #floor .list li a {
        position: absolute;
        top: 13px;
        left: 14px;
        width: 304px;
        height: 255px;
        padding-top: 14px;
        text-align: center;
    }
    #floor .list li#baloon_floor1_101 a,
    #floor .list li#baloon_floor1_showroom a,
    #floor .list li#baloon_floor2_203 a,
    #floor .list li#baloon_floor2_211 a {
        left: auto;
        right: 20px;
    }
    #floor .list li a span {
        display: block;
        margin-bottom: 9px;
        text-align: center;
        font-size: 1.25em;
        font-weight: 700;
    }
    #floor .list li a figure {
        width: 264px;
        height: 176px;
        margin: auto;
        overflow: hidden;
    }
    
	#floor .list li a:hover img {
        transform: scale(1.03, 1.03);
    }
    #floor .list li a:hover {
		opacity: 1;
		filter: alpha(opacity=100);
		-ms-filter: "alpha( opacity=100 )";
        text-decoration: none;
	}
}
@media screen and (max-width: 1320px) and (min-width: 701px) {
    #floorMap1 .floorMap > figure img {
        width: 39.4vw;
    }
    #floorMap2 .floorMap > figure img {
        width: 38.4vw;
    }
    #floorMap3 .floorMap > figure img {
        width: 38.7vw;
    }
    #floor .list li a {
        top: 1.1vw;
        left: 1.1vw;
        width: 23.3vw;
        height: 19.4vw;
        padding-top: 1.1vw;
    }
    #floor .list li a span {
        margin-bottom: 0.7vw;
    }
    #floor .list li a figure {
        width: 20vw;
        height: 13.3vw;
    }
    #floor .list li#baloon_floor1_101 a,
    #floor .list li#baloon_floor1_showroom a,
    #floor .list li#baloon_floor2_203 a,
    #floor .list li#baloon_floor2_211 a {
        right: 1.65vw;
    }
}
@media screen and (max-width: 1100px) and (min-width: 701px) {
    #floor .list li a span {
        font-size: 1.125em;
    }
}
@media screen and (max-width: 900px) and (min-width: 701px) {
    #floor .list li a {
        padding-top: 0.9vw;
    }
    #floor .list li a span {
        margin-bottom: 0.6vw;
    }
}
@media screen and (max-width: 800px) and (min-width: 701px) {
    #floor .list li a span {
        font-size: 1em;
    }
}
@media screen and (max-width: 700px) {
    #floor .list li > img,
    #floor .list li a span {
        display: none;
    }

    [id^="floor"] .floorMap {
        padding-top: 0;
    }
    #floorMap1 .floorMap {
        height: 82vw;
    }
    #floorMap2 .floorMap {
        height: 79.7vw;
    }
    #floorMap3 .floorMap {
        height: 80.2vw;
    }
    #floorMap1 .floorMap > figure img {
        width: 89vw;
    }
    #floorMap2 .floorMap > figure img {
        width: 86.8vw;
    }
    #floorMap3 .floorMap > figure img {
        width: 87.5vw;
    }
    #floor .list li {
        width: 14.5vw;
        max-width: 101px;
    }
    #floor .list li#baloon_floor2_203 {
        width: 18.2vw;
        max-width: 127px;
    }
    #floor .list li#baloon_floor1_101 { left: 48%; bottom: 61%; }
    #floor .list li#baloon_floor1_102 { left: 33%; bottom: 68%; }
    #floor .list li#baloon_floor1_103 { left: 13%; bottom: 58%; }
    #floor .list li#baloon_floor1_cafe { left: 16.5%; bottom: 32%; }
    #floor .list li#baloon_floor1_showroom { left: 74%; bottom: 35%; }
    #floor .list li#baloon_floor2_201 { left: 43%; bottom: 73%; }
    #floor .list li#baloon_floor2_203 { left: 46%; bottom: 52%; }
    #floor .list li#baloon_floor2_205 { left: 36%; top: 50%; }
    #floor .list li#baloon_floor2_206 { left: 18%; bottom: 63%; }
    #floor .list li#baloon_floor2_211 { left: 62%; bottom: 64%; }
    #floor .list li#baloon_floor3_hall { left: 66.5%; bottom: 65%; }
}


.slick-prev {
	left: -140px;
}
.slick-next {
	right: -140px;
}
.slick-prev:before,
.slick-next:before {
    background: none;
	width: 16px;
	height: 16px;
    border-top: 2px solid #4b4b4b;
    border-right: 2px solid #4b4b4b;
}
.slick-prev:before {
    transform: rotate(-135deg);
}
.slick-next:before {
    transform: rotate(45deg);
}

#floor #fuwanInline {
	max-width: 1100px;
}
#floor #fuwan .inlineContent {
    width: 750px;
    margin: 0 auto;
    padding: 15px 0 30px;
}
#floor #fuwan .inlineContent h3 {
    margin-bottom: 15px;
    text-align: center;
	font-size: 1.5em;
    color: #454545;
}
#floor #fuwan .inlineContent figure,
#floor #fuwan .inlineContent .inner_slider {
    margin-bottom: 10px;
}
#floor #fuwan .inlineContent img {
    max-width: 100%;
}
@media screen and (max-width: 1070px) {
    #floor #fuwan .inlineContent {
        width: 70vw;
        padding-bottom: 20px;
    }
    .slick-prev {
        left: calc(calc(30vw - 40px)/-2);
    }
    .slick-next {
        right: calc(calc(30vw - 40px)/-2);
    }
    #floor #fuwan .inlineContent h3 {
        font-size: 1.375em;
        margin-bottom: 10px;
    }
}
@media screen and (max-width: 750px) {
    .slick-prev {
        left: calc(calc(100vw - 565px)/-2);
    }
    .slick-next {
        right: calc(calc(100vw - 565px)/-2);
    }
    #floor #fuwan .inlineContent {
        width: 525px;
    }
}
@media screen and (max-width: 630px) {
    .slick-prev {
        left: -36px;
    }
    .slick-next {
        right: -36px;
    }
    #floor #fuwan .inlineContent {
        width: calc(100% - 100px);
    }
}
@media screen and (max-width: 540px) {
    .slick-prev {
        left: -30px;
    }
    .slick-next {
        right: -30px;
    }
    #floor #fuwan .inlineContent {
        width: calc(100% - 80px);
        padding-bottom: 15px;
    }
    #floor #fuwan .inlineContent h3 {
        font-size: 1.25em;
    }
    #floor #fuwan .inlineContent p {
        font-size: 0.875em;
    }
}
@media screen and (max-width: 450px) {
    .slick-prev {
        left: 5px;
    }
    .slick-next {
        right: 5px;
    }
    #floor #fuwan .inlineContent {
        width: 100%;
        padding: 15px 15px 20px;
    }
}

/* ==============================================
    imep - access
============================================== */
#access.imep #map {
    position: relative;
    width: 1100px;
    height: 0;
    margin: 0 auto;
    padding-top: 50%;
}
#access.imep #map iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
#access.imep figure.center {
    margin: 60px 0 75px;
}
#access.imep .tableLineStyle {
    width: 100%;
}
#access.imep .tableLineStyle th,
#access.imep .tableLineStyle td {
    font-size: 1.125em;
}
#access.imep .tableLineStyle th {
    min-width: 7em;
}
@media screen and (max-width: 1130px) {
    #access.imep #map {
        width: 100%;
    }
}
@media screen and (max-width: 700px) {
    #access.imep figure.center {
        margin: 40px 0 55px;
    }
}
@media screen and (max-width: 590px) {
    #access.imep .tableLineStyle td br.sp {
        display: block;
    }
}
@media screen and (max-width: 470px) {
    #access.imep .tableLineStyle th,
    #access.imep .tableLineStyle td {
        display: block;
        width: 100% !important;
    }
    #access.imep .tableLineStyle th {
        padding: 10px;
    }
    #access.imep .tableLineStyle td {
        border-top: none;
    }
}

/* ==============================================
    compliance
============================================== */
#compliance main p, #compliance main li {
	font-size: 1.125em;
}
#compliance main li li {
	font-size: 1em;
}
#compliance main section.inner {
	margin-top: 4.5em;
}
#compliance main p {
	margin-bottom: 25px;
}
#compliance main a {
	text-decoration: underline;
}
#compliance main .titSub {
	margin-top: 1.9em;
	margin-bottom: 1em;
}


#code_of_practice ol {
	margin-left: 30px;
}
#code_of_practice ol ol {
	margin: 10px 0 0 0;
}
#code_of_practice ol li {
	margin-bottom: 0.4em;
}
#compliance main .figure {
	text-align: center;
	margin-bottom: 50px;
}
#compliance main .figure h3 {
	margin: 30px 0 20px;
	font-size: 1.250em;
}

#compliance main .figure img {
    max-width: 100%;
}

@media screen and (max-width: 700px) {
	#code_of_practice ol {
		margin-left: 10px;
	}
}


/* ==============================================
    cm
============================================== */
#cm main p,
#cm main dt,
#cm main dd,
#cm main ol {
    font-size: 1.125em;
}
@media screen and (max-width: 1070px) {
    #cm main p,
    #cm main dt,
    #cm main dd,
    #cm main ol {
        font-size: 1em;
    }
}

#cm main #movie dl {
    margin: 1.3em 0;
}
#cm main dt {
    font-weight: 700;
}
#cm main #movie dt,
#cm main #program dt {
    padding-left: 20px;
    text-indent: -20px;
}
#cm main #movie dt::before,
#cm main #program dt::before {
    content: "";
    display: inline-block;
    width: 0.6em;
    height: 0.6em;
    margin-right: 9px;
    background: #004386;
}
#cm main #movie dd,
#cm main #program dd {
    margin-left: 15px;
    margin-bottom: 0.5em;
}
#cm main #movie dd {
    margin-bottom: 0.5em;
}
#cm main #program dd {
    margin-bottom: 1em;
}
#cm main #faq dl {
    margin-bottom: 1.5em;
    padding: 1em 1.2em 1.2em 1em;
    background: #f6f6f6;
}
#cm main #faq dt {
    margin-bottom: 0.5em;
    padding-left: 1.5em;
    text-indent: -1.5em;
}
#cm main #faq dt::before {
    content: "Q";
    color: #004386;
    padding-right: 0.75em;
    font-weight: 700;
}
#cm main #faq dd {
    margin-left: 1.5em;
}
@media screen and (max-width: 700px) {
    #cm main dt {
        margin-bottom: 0.2em
    }

}

/* intro
---------------------------------- */
#cm #intro {
    margin-bottom: 4.5em;
}
#cm #intro h2 {
    margin-bottom: 1.5em;
    font-size: 1.75em;
    text-align: center;
}
#cm #intro p {
    letter-spacing: 0.05em;
}
#cm #intro h2 br {
    display: none;
}
@media screen and (max-width: 1020px) { 
    #cm #intro h2 {
        font-size: 1.625em;
    }
}
@media screen and (max-width: 500px) {
    #cm #intro h2 {
        font-size: 1.5em;
    }
}
@media screen and (max-width: 390px) {
    #cm #intro h2 {
        font-size: 1.375em;
    }
}
@media screen and (max-width: 360px) {
    #cm #intro h2 br {
        display: block;
    }
}

/* movie
---------------------------------- */
#cm #movie section {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 4em;
}
#cm #movie section .tit {
    width: 100%;
}
#cm #movie section > p {
    width: 470px;
}
#cm #movie section > p img {
    width: 100%;
    max-width: 470px;
}
#cm #movie section div {
    margin-left: 70px;
}
#cm #movie #yell .video_window img {
    border: 1px solid #dfdfdf;
}
@media screen and (max-width: 1160px) {
    #cm #movie section div {
        margin-left: calc(100% - 1010px);
    }
}
@media screen and (max-width: 1120px) {
    #cm #movie section {
        flex-direction: column;
        align-items: center;
    }
    #cm #movie section > p {
        margin-bottom: 1em;
    }
    #cm #movie section div {
        margin-left: 0;
    }
    #cm #movie section div br.pc {
        display: none;
    }
}
@media screen and (max-width: 510px) {
    #cm #movie section > p,
    #cm #movie section div {
        width: 100%;
    }
}
@media screen and (max-width: 425px) {
}

/* h2
---------------------------------- */
#cm h2.icn {
    margin-bottom: 1.5em;
    text-align: center;
	font-size: 1.625em;
}
#cm h2.icn::before {
    content: "";
    width: 2.3em;
    height: 1.6em;
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center left;
    background-size: 44px 41px;
}
#cm #program h2.icn::before { background-image: url("image/corporate_cm_program.svg"); }
#cm #faq h2.icn::before { background-image: url("image/corporate_cm_faq.svg"); }
#cm #song h2.icn::before { background-image: url("image/corporate_cm_song.svg"); }
#cm #profile h2.icn::before { background-image: url("image/corporate_cm_profile.svg"); }
#cm #profile h2.icn br {
    display: none;
}
@media screen and (max-width: 1020px) { 
    #cm h2.icn {
        font-size: 1.5em;
    }
    #cm h2.icn::before {
        background-size: auto 100%;
    }
}
@media screen and (max-width: 600px) {
    #cm h2.icn {
        font-size: 1.375em;
    }
}
@media screen and (max-width: 500px) {
    #cm h2.icn {
        font-size: 1.25em;
    }
}
@media screen and (max-width: 390px) {
    #cm #profile h2.icn br {
        display: block;
    }
}

/* program / faq / song
---------------------------------- */
/* #cm #program-faq, */
#cm #song,
#cm #profile {
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

/*#cm #program,
#cm #faq,*/
#cm #song article,
#cm #profile div {
    width: 49%;
    margin-bottom: 5em;
}
#cm #faq {
    margin-bottom: 5em;
}
@media screen and (max-width: 850px) {
    #cm #program,
    #cm #faq,
    #cm #song article {
        width: 100%;
        margin-bottom: 3em;
    }
}
@media screen and (max-width: 580px) {
    #cm #profile div {
        width: 100%;
        margin-bottom: 3em;
    }
}

/* program
---------------------------------- */
#cm #program p {
    margin-bottom: 2em;
}
@media screen and (max-width: 380px) {
    #cm #program p {
        text-align: left;
    }
}

/* song
---------------------------------- */
#cm #song h2 {
    width: 100%;
}
#cm #song article {
    padding: 2em;
    background: #e9f3ff;
}
#cm #song h3 {
    margin-bottom: 1em;
    font-size: 1.125em;
    text-align: left;
}
#cm #song .audio {
    margin-bottom: 2em;
    padding: 0.8em 1.2em;
    background: #fff;
    text-align: center;
}
#cm #song ol {
    margin-left: 1em;
}
#cm #song li p {
    margin: 1em 0;
    font-size: 1em;
}
@media screen and (max-width: 1070px) {
    #cm #song article {
        padding: 1.5em;
    }
    #cm #song .audio {
        padding: 0.8em;
    }
}
@media screen and (max-width: 385px) {
    #cm #song article {
        padding: 15px 10px;
    }
}
@media screen and (max-width: 365px) {
    #cm #song audio {
        width: 100%;
    }
}

/* profile
---------------------------------- */
#cm #profile h2,
#cm #profile p.center {
    width: 100%;
}
#cm #profile p.center {
    margin-bottom: 4em;
}
#cm #profile div {
    position: relative;
    display: flex;
    flex-direction: column;
    margin-bottom: 10px;
    padding: 20px 20px 50px;
    border: 1px solid #c5c5c5;
    color: #464646;
}
#cm #profile div::before {
    content: "";
    display: block;
    width: 35px;
    height: 6px;
    background: #004386;
    position: absolute;
    top: -6px;
    left: -1px;
}
#cm #profile div h3 {
    margin-bottom: 1.2em;
    margin-right: -10px;
}
#cm #profile div h3 strong {
    display: block;
    margin-top: 0.2em;
    font-size: 1.25em;
}
#cm #profile div.photo {
    position: relative;
    padding-left: 200px;
}
#cm #profile div.photo figure {
    position: absolute;
    top: 20px;
    left: 20px;
}
#cm #profile div.photo figure img {
    border: 1px solid #dcdcdc;
    max-width: 100%;
}
@media screen and (max-width: 1100px) {
    #cm #profile div.photo {
        padding-left: 190px;
    }
    #cm #profile div h3 strong {
        font-size: 1.125em;
        letter-spacing: 0.03em;
    }
}
@media screen and (max-width: 980px) {
    #cm #profile div {
        padding-bottom: 30px;
    }
    #cm #profile div.photo {
        padding-left: 20px;
    }
    #cm #profile div.photo figure {
        position: static;
        margin-top: 20px;
        text-align: center;
    }
}
@media screen and (max-width: 700px) {
    #cm #profile p.center {
        display: inline-block;
        width: auto;
        margin: 0 auto 3em;
        text-align: justify;
    }
}
@media screen and (max-width: 580px) {
    #cm #profile div {
        margin-bottom: 30px;
    }
}
@media screen and (max-width: 410px) {
    #cm #profile h2.icn br {
        display: block;
    }
}

