@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 16px;
    vertical-align: baseline;
}

html {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

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

caption,
th,
td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

q,
blockquote {
    quotes: none;
}

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

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

a img {
    border: none;
}

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

area {
    border: none;
    outline: none;
}

/*-------------------------------------------

  PC 共通部分

  -------------------------------------------*/
/* for button animations */
/* ------------------------ */
* {
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

img {
    border-style: none;
    display: block;
    vertical-align: bottom;
}

a {
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

a img {
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

button {
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

a img:hover {
    opacity: 0.7;
}

a:link {
    color: #222;
    text-decoration: none;
}

a:visited {
    color: #222;
}

a:hover,
a:active {
    color: #e60012;
}

.clearfix {
    overflow: hidden;
    *zoom: 1;
}

.floatL {
    float: left;
}

.floatR {
    float: right;
}

.tR {
    text-align: right;
}

.fntSz18 {
    font-size: 18px;
}

.fntWB {
    font-weight: bold;
}

span.supText {
    font-size: 75.5%;
    vertical-align: top;
    position: relative;
    top: -0.1em;
}

span.subText {
    font-size: 75.5%;
    vertical-align: bottom;
    position: relative;
    top: 0.1em;
}

body {
    position: relative;
    /*padding-bottom: 45px;*/
    font-family: "Meiryo", "メイリオ", "游ゴシック体", "Yu Gothic", YuGothic, 'Noto Sans Japanese', sans-serif, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
    font-size: 14px;
    line-height: 1.8;
    min-width: 960px;
    /*--- button ---*/
    /* Shrink */
}

body header {
    border-top: solid 4px #e60012;
    background-color: #fff;
    width: 100%;
}

body header .inner {
    padding: 10px 0 0;
}

body header .inner .logoHolder {
    float: left;
}

body header .inner .head-info {
    float: right;
    position: relative;
    padding: 7px 0;
}

body header .inner .head-info p {
    float: left;
}

body header .inner .head-info p.headcontact,
body header .inner .head-info p.headsitemap {
    margin-right: 10px;
    padding-right: 10px;
    border-right: 1px solid #999;
}

body header .inner .head-info p.headcontact i {
    color: #e60012;
    margin-right: 10px;
    font-size: 18px;
}

body header .inner .head-info p.emediceo {
    padding: 0 10px;
    height: 25px;
    background-color: #e60012;
    margin: 0 10px;
}

body header .inner .head-info p.emediceo a {
    color: #fff;
    display: block;
}

body header .inner .head-info p.search {
    height: 25px;
    width: 250px;
    background: #f5f3f3;
}

body header .inner .head-info #___gcse_0 {
    width: 250px;
    position: absolute;
    right: 0;
    top: 3px;
}

body header .inner .gNavi {
    line-height: 1.5;
    position: relative;
}

body header .inner .gNavi ul {
    margin: 0px;
    padding: 0px;
}

body header .inner .gNavi ul li {
    width: calc(20%);
    float: left;
    text-align: center;
}

body header .inner .gNavi ul li i {
    color: #e60012;
    padding: 8px 0px;
    font-size: 14px;
    display: block;
}

body header .inner .gNavi ul li a {
    padding: 8px 0px;
    font-size: 14px;
    display: block;
}

body header .inner .gNavi ul li a span {
    font-size: 16px;
    color: #e60012;
    display: block;
}

body header .inner .gNavi ul li:last-child a {
    /*padding: 7px 0px;*/
    font-size: 16px;
    color: #FFF;
}

body header .inner .gNavi ul li:hover {
    background-color: #e60012;
}

body header .inner .gNavi ul li:hover i,
body header .inner .gNavi ul li:hover a,
body header .inner .gNavi ul li:hover i span,
body header .inner .gNavi ul li:hover a span {
    color: #fff !important;
}

body#consumers header .inner .gNavi ul li:hover i span {
    color: #fff !important;
}

body header .inner .gNavi .gNavi_MenuBox {
    background-color: #000 !important;
    width: 100% !important;
    position: absolute;
    top: 40px;
    left: 0;
    text-align: left;
    padding: 15px 10px 15px 10px;
    z-index: 10;
    display: none;
}

.gNavi ul li:nth-child(4) .gNavi_MenuBox a:first-child i {
    padding-right: 20px;
    background: url(../img/external-link-icons2_white.png) right 50% no-repeat;
}

body header .inner .gNavi .gNavi_MenuBox p a {
    color: #FFF;
    font-size: 20px !important;
    /*background-image:url(../img/button-arrow2.png);*/
    background-repeat: no-repeat;
    background-position: center left;
    text-indent: 20px;
    font-weight: bold;
}

body header .inner .gNavi .Wbox a {
    width: 100px;
}

body header .inner .gNavi .Wbox a.gNavi_MenuBox_Company01 {
    width: 170px;
}

body header .inner .gNavi .Wbox a.gNavi_MenuBox_Company02 {
    width: 90px;
}

body header .inner .gNavi .Wbox a.gNavi_MenuBox_Company03 {
    width: 140px;
}

body header .inner .gNavi .Wbox a.gNavi_MenuBox_Company04 {
    width: 100px;
}

body header .inner .gNavi .Wbox a.gNavi_MenuBox_Company05 {
    width: 160px;
}

body header .inner .gNavi a.w03 {
    width: 170px;
}

body header .inner .gNavi a.w04 {
    width: 190px;
}

body header .inner .gNavi .gNavi_MenuBox a {
    display: inline-block;
    margin-left: 10px;
    margin-right: 40px;
    background-image: url(../img/button-arrow2.png);
    background-repeat: no-repeat;
    background-position: center left;
    text-indent: 15px;
    vertical-align: top;
}

body header .inner .gNavi .gNavi_MenuBox a.external {
    background: url(../img/button-arrow2.png) center left no-repeat, url(../img/external-link-icons_white.png) right 50% no-repeat;
    padding-right: 15px;
}

body header .inner .gNavi .gNavi_MenuBox a.external.w04 {
    background: url(../img/button-arrow2.png) center left no-repeat, url(../img/external-link-icons_white.png) 43% 50% no-repeat;
}

body header .inner .gNavi .gNavi_MenuBox a#medipal_group_csr {
    background: url(../img/button-arrow2.png) left 17px no-repeat;
}

body header .inner .gNavi .gNavi_MenuBox a#medipal_group_csr i span {
    background: url(../img/external-link-icons_white.png) 50% 50% no-repeat;
}

body header .inner .gNavi .minibox .gNavi_MenuBox a {
    margin-right: 25px;
}

body header .inner .gNavi .gNavi_MenuBox a:hover {
    /*background-image:url(../img/button-arrow2_red.png);*/
}

body header .inner .gNavi .gNavi_MenuBox p a:hover,
body header .inner .gNavi .gNavi_MenuBox a i:hover {
    color: #FFF !important;
    text-decoration: underline;
}

body header .inner .gNavi .gNavi_MenuBox.gNavi_MenuBoxCompany a {
    margin-right: 20px;
}

body header .inner .gNavi .gNavi_MenuBox.gNavi_MenuBoxCompany a br {
    display: none;
}

body header .inner .gNavi .gNavi_MenuBox.gNavi_MenuBoxCompany a span {
    display: inline;
    text-align: left;
    background-position: right center !important;
    padding-right: 18px;
}

body header .inner .gNavi .gNavi_MenuBox.gNavi_MenuBoxCompany a.gNavi_MenuBox_Company01 {
    width: 150px;
}

body header .inner .gNavi .gNavi_MenuBox.gNavi_MenuBoxCompany a.gNavi_MenuBox_Company02 {
    width: 180px;
    margin-left: 0;
}

body header .inner .gNavi .gNavi_MenuBox.gNavi_MenuBoxCompany a.gNavi_MenuBox_Company03 {
    width: 80px;
    margin-left: 0;
}

body header .inner .gNavi .gNavi_MenuBox.gNavi_MenuBoxCompany a.gNavi_MenuBox_Company04 {
    width: 130px;
    margin-left: 0;
}

body header .inner .gNavi .gNavi_MenuBox.gNavi_MenuBoxCompany a.gNavi_MenuBox_Company05 {
    width: 215px;
    margin-right: 0;
    margin-left: 0;
}

body header .inner gNavi ul li a {
    color: #ffffff !important;
}

body header.header3 .logoHolder {
    margin-bottom: 10px;
}

body header.header3 .gNavi li:nth-child(4) a {
    padding: 7px 0px !important;
    font-size: 16px !important;
    color: #e60012;
}

body header.header2 .logoHolder {
    margin-bottom: 10px;
}

body header.header2 .gNavi {
    line-height: 1.5;
}

body header.header2 .gNavi ul {
    margin: 0px;
    padding: 0px;
}

body header.header2 .gNavi ul li {
    width: calc(16.39344262%);
    float: left;
    text-align: center;
}

body header.header2 .gNavi ul li a {
    padding: 8px 0px;
    font-size: 14px;
    display: block;
}

body header.header2 .gNavi ul li a span {
    font-size: 16px;
    color: #e60012;
    display: block;
}

body header.header2 .gNavi ul li:last-child a {
    padding: 7px 0px;
    font-size: 16px;
    color: #e60012;
}

body header.header2 .gNavi ul li:hover {
    background-color: #e60012;
}

body header.header2 .gNavi ul li:hover a {
    color: #fff;
}

body header.header2 .gNavi ul li:hover a span {
    color: #fff;
}

body .breadcrumbs {
    margin: 15px 0px;
}

body div#wrapper div.breadcrumbs div.inner {
    font-size: 14px !important;
}

body div#wrapper div.breadcrumbs div.inner a {
    font-size: 14px !important;
}

body .heading {
    border-bottom: 3px solid #e60012;
    padding: 40px 0px;
    text-align: center;
    margin-bottom: 35px;
    padding-top: 0;
    padding-bottom: 20px;
}

body .heading h3 {
    font-size: 46px;
    color: #333333;
    font-weight: bold;
}

body .heading .h3size {
    font-size: 46px !important;
    color: #333333;
    font-weight: bold;
}

body .content h4 {
    font-size: 24px;
    color: #e60012;
    border-bottom: 1px solid #e60012;
    margin: 18px 0px;
}

body .inner {
    max-width: 960px;
    margin: 0 auto;
}

body .button {
    position: relative;
    background-color: #e60012;
    padding: 5px 0;
    width: 400px;
    text-align: center;
    font-size: 24px;
    vertical-align: middle;
    overflow: hidden;
    -webkit-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}

body .button a {
    color: #fff;
    display: block;
    padding: 10px 0 4px;
    z-index: 1;
    position: relative;
}

body .button:after {
    content: ' ';
    background: url(../img/button-arrow.png);
    position: absolute;
    top: 30%;
    right: 20px;
    display: block;
    width: 24px;
    height: 24px;
}

body .button:before {
    content: '';
    position: absolute;
    -webkit-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    width: 0;
    height: 100%;
    left: -20%;
    top: 0;
    -webkit-transform: skew(133deg, 0deg);
    transform: skew(133deg, 0deg);
    -moz-transform: skew(133deg, 0deg);
    -o-transform: skew(133deg, 0deg);
    -ms-transform: skew(133deg, 0deg);
    z-index: 0;
    background: #fff;
}

body .button:hover::before {
    width: 150%;
    left: -19%;
    background: #fff;
    cursor: pointer;
}

body .button:hover a {
    color: #e60012;
}

body .button:hover a:after {
    background: url(../img/button-arrow-red.png);
}

body .shrink {
    display: inline-block;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-tap-highlight-color: transparent;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-box-shadow: 0 0 1px transparent;
    box-shadow: 0 0 1px transparent;
}

body .shrink:hover {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
}

body .button2 {
    position: relative;
    background-color: #e60012;
    padding: 5px 0;
    width: 460px;
    margin: 30px auto 0;
    text-align: center;
    font-size: 24px;
    vertical-align: middle;
    overflow: hidden;
    -webkit-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}

body .button2 a {
    color: #fff;
    display: block;
    padding: 10px 0 4px;
    z-index: 1;
    position: relative;
}

body .button2:after {
    content: ' ';
    background: url(../img/button-arrow.png);
    position: absolute;
    top: 30%;
    right: 20px;
    display: block;
    width: 24px;
    height: 24px;
}

body .button2:before {
    content: '';
    position: absolute;
    -webkit-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    width: 0;
    height: 100%;
    left: -20%;
    top: 0;
    -webkit-transform: skew(133deg, 0deg);
    transform: skew(133deg, 0deg);
    -moz-transform: skew(133deg, 0deg);
    -o-transform: skew(133deg, 0deg);
    -ms-transform: skew(133deg, 0deg);
    z-index: 0;
    background: #fff;
}

body .button2:hover::before {
    width: 150%;
    left: -19%;
    background: #fff;
    cursor: pointer;
}

body .button2:hover a {
    color: #e60012;
}

body .button2:hover a:after {
    background: url(../img/button-arrow-red.png);
}

body .button3 {
    background: #e60012;
    color: #fff;
    font-size: 14px;
    width: 160px;
    padding: 4px 5px;
    text-align: center;
}

body .button3 a,
body .button3:hover a {
    color: #fff;
}

body .button4 {
    position: relative;
    background-color: #e60012;
    padding: 0;
    width: 262px;
    margin: 10px auto 0;
    text-align: center;
    font-size: 18px;
    vertical-align: middle;
    overflow: hidden;
    -webkit-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}

body .button4 a {
    color: #fff;
    display: block;
    padding: 10px 0 4px;
    z-index: 1;
    position: relative;
}

body .button4:after {
    content: ' ';
    background: url(../img/button-arrow.png);
    position: absolute;
    top: 30%;
    right: 20px;
    display: block;
    width: 24px;
    height: 24px;
}

body .button4:before {
    content: '';
    position: absolute;
    -webkit-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    width: 0;
    height: 100%;
    left: -20%;
    top: 0;
    -webkit-transform: skew(133deg, 0deg);
    transform: skew(133deg, 0deg);
    -moz-transform: skew(133deg, 0deg);
    -o-transform: skew(133deg, 0deg);
    -ms-transform: skew(133deg, 0deg);
    z-index: 0;
    background: #fff;
}

body .button4:hover::before {
    width: 150%;
    left: -19%;
    background: #fff;
    cursor: pointer;
}

body .button4:hover a {
    color: #e60012;
}

body .button4:hover a:after {
    background: url(../img/button-arrow-red.png);
}

body#numbers .content .cont1 .number_block1 .txt,
body#numbers .content .cont1 .number_block2 .txt {
    text-indent: -999999999px;
    height: 0;
}

body footer {
    z-index: 10000;
    width: 100%;
    background-color: #e60012;
}

body footer ul.footer-nav {
    padding: 10px 0;
    float: left;
}

body footer ul.footer-nav li {
    display: inline;
}

body footer ul.footer-nav li a {
    color: #fff;
    font-size: 12px;
    margin-right: 10px;
}

body footer .copyright {
    padding: 13px 0;
    float: right;
    color: #fff;
    font-size: 12px;
}

body footer .pagetop {
    position: fixed;
    width: 44px;
    margin: 0 auto;
    right: 10%;
    bottom: 60px;
    z-index: 10000000;
}

body footer .inner .clearfix .copyright p {
    font-size: 12px !important;
}

body .sp-on {
    display: none;
}

body .pc-on {
    display: block;
}

span.supText {
    font-size: 75.5%;
    vertical-align: top;
    position: relative;
    top: -0.1em;
}

span.subText {
    font-size: 75.5%;
    vertical-align: bottom;
    position: relative;
    top: 0.1em;
}

/*==============================================
Googleカスタム検索用
==============================================*/
.cse .gsc-control-cse,
.gsc-control-cse {
    padding: 0 1em !important;
}

.head-info .search .gsc-control-cse .gsc-control-wrapper-cse .gsc-search-box .gsc-search-box #gsc-iw-id1 .gsib_a {
    padding-top: 0 !important;
}

.head-info .search .gsc-control-cse .gsc-control-wrapper-cse .gsc-search-box .gsc-search-box #gsc-iw-id1 .gsib_a #gsc-i-id1 {
    vertical-align: top;
}

.head-info .search .gsc-control-cse .gsc-control-wrapper-cse .gsc-search-box .gsc-search-button .gsc-search-button {
    background: url(https://www.google.com/uds/css/v2/search_box_icon.png) 50% 50% #D9D9D9 no-repeat !important;
    padding: 0 27px !important;
    height: 24px;
    vertical-align: top;
}
