/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */

@charset "utf-8";
@import url('//fonts.googleapis.com/earlyaccess/notosansjp.css');
@font-face {
 font-family: "icons";
 src: url("https://www.shimadzu.com/an/themes/custom/shimadzu_an/fonts/icons.eot");
 src: url("https://www.shimadzu.com/an/themes/custom/shimadzu_an/fonts/icons.eot?#iefix") format("eot"), url("https://www.shimadzu.com/an/themes/custom/shimadzu_an/fonts/icons.woff2") format("woff2"), url("https://www.shimadzu.com/an/themes/custom/shimadzu_an/fonts/icons.woff") format("woff"), url("https://www.shimadzu.com/an/themes/custom/shimadzu_an/fonts/icons.ttf") format("truetype"), url("https://www.shimadzu.com/an/themes/custom/shimadzu_an/fonts/icons.svg#icons") format("svg");
}

html {
 -webkit-text-size-adjust: 100%;
 box-sizing: border-box;
 -moz-tab-size: 4;
 tab-size: 4;
 word-break: normal
}
*, :after, :before {
 background-repeat: no-repeat;
 box-sizing: inherit
}
:after, :before {
 text-decoration: inherit;
 vertical-align: inherit
}
* {
 margin: 0;
 padding: 0
}
hr {
 color: inherit;
 height: 0;
 overflow: visible
}
main {
 display: block
}
summary {
 display: list-item
}
small {
 font-size: 80%
}
[hidden] {
 display: none
}
abbr[title] {
 border-bottom: none;
 text-decoration: underline;
 text-decoration: underline dotted
}
a {
 background-color: transparent
}
a:active, a:hover {
 outline-width: 0
}
code, kbd, pre, samp {
 font-family: monospace, monospace
}
pre {
 font-size: 1em
}
b, strong {
 font-weight: bolder
}
sub, sup {
 font-size: 75%;
 line-height: 0;
 position: relative;
 vertical-align: baseline
}
sub {
 bottom: -.25em
}
sup {
 top: -.5em
}
table {
 border-color: inherit;
 text-indent: 0
}
iframe {
 border-style: none
}
input {
 border-radius: 0
}
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
 height: auto
}
[type=search] {
 -webkit-appearance: textfield;
 outline-offset: -2px
}
[type=search]::-webkit-search-decoration {
 -webkit-appearance: none
}
textarea {
 overflow: auto;
 resize: vertical
}
button, input, optgroup, select, textarea {
 font: inherit
}
optgroup {
 font-weight: 700
}
button {
 overflow: visible
}
button, select {
 text-transform: none
}
[role=button], [type=button], [type=reset], [type=submit], button {
 cursor: pointer
}
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
 border-style: none;
 padding: 0
}
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
 outline: 1px dotted ButtonText
}
[type=reset], [type=submit], button, html [type=button] {
 -webkit-appearance: button
}
button, input, select, textarea {
 background-color: transparent;
 border-style: none
}
a:focus, button:focus, input:focus, select:focus, textarea:focus {
 outline-width: 0
}
select {
 -moz-appearance: none;
 -webkit-appearance: none
}
select::-ms-expand {
 display: none
}
select::-ms-value {
 color: currentColor
}
legend {
 border: 0;
 color: inherit;
 display: table;
 max-width: 100%;
 white-space: normal
}
::-webkit-file-upload-button {
 -webkit-appearance: button;
 color: inherit;
 font: inherit
}
[disabled] {
 cursor: default
}
img {
 border-style: none
}
progress {
 vertical-align: baseline
}
[aria-busy=true] {
 cursor: progress
}
[aria-controls] {
 cursor: pointer
}
[aria-disabled=true] {
 cursor: default
}
/* container */
html {
 height: 100%;
 font-size: 62.5%;
 scroll-behavior: smooth;
 background-color: #fff;
}
body {
 overflow-x: hidden;
 position: relative;
 max-width: 100vw;
 color: #464646;
 font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
 font-size: 1.4rem;
 font-weight: 400;
 -webkit-text-size-adjust: 100%;
 -webkit-font-smoothing: antialiased;
}
body.fixed {
 width: 100%;
 height: 100%;
 position: fixed;
}
@media all and (min-width: 750px) {
 html {
  min-width: 1160px;
 }
 body {
  min-width: 1040px;
 }
}
a {
 color: #464646;
 text-decoration: underline;
 cursor: pointer;
}
a:hover {
 text-decoration: none;
}
label, button {
 cursor: pointer;
}
strong {
 font-weight: bold;
}
img {
 max-width: 100%;
 height: auto;
}
table img {
 max-width: none;
}
ul {
 list-style: none;
}
sup {
 height: 0px;
 line-height: 1;
 font-size: 0.75em;
 vertical-align: baseline;
 position: relative;
 bottom: 0.75ex;
}
sub {
 height: 0px;
 line-height: 1;
 font-size: 0.75em;
 vertical-align: baseline;
 position: relative;
 top: 0.5ex;
}

/* siteHeader */
.siteHeader {
 position: fixed;
 top: 0;
 left: 0;
 z-index: 100;
 width: 100%;
 height: 68px;
 background-color: #fff;
}
.siteHeader:before {
 display: block;
 width: 100%;
 height: 3px;
 background: linear-gradient(to right, #ff0000 20px, #adadad 20px);
 content: '';
}
.siteHeader_body {
 display: flex;
 justify-content: space-between;
 padding: 17px 20px 0 17px;
}
.siteHeader_logo {
 display: block;
}
.siteHeader_logo svg {
 width: 140px;
 height: auto;
}
.siteHeader_rightblock {
 display: flex;
 justify-content: right;
}
.logoMesse {
 padding-top: 15px;
 font-size: 1.2rem;
 letter-spacing: 1px;
 color: #333;
 text-decoration: none;
}
@media screen and (min-width: 750px), print {
 .siteHeader {
  height: 90px;
   border-bottom: 1px solid #d8d8d8;
}
 .siteHeader:before {
  height: 5px;
  background: linear-gradient(to right, #ff0000 30px, #adadad 30px);
 }
 .siteHeader_body {
  width: 1040px;
  margin: 0 auto;
  padding: 21px 0 19px 30px;
 }
 .siteHeader_logo svg {
  width: 170px;
 }
 .logoMesse {
  padding-top: 23px;
  letter-spacing: 0.6px;
 }
}
@media screen and (max-width: 749px), print {
 .pcDisp {
  display: none;
 }
}
@media screen and (min-width: 750px), print {
 .spDisp {
  display: none;
 }
}
/* footer */
@media all and (min-width: 740px) {
 footer .container {
  width: 1040px;
  margin-right: auto;
  margin-left: auto;
 }
}
footer {
 border-top-color: #adadad;
 border-top-width: 3px;
 border-top-style: solid;
 position: relative;
 letter-spacing: 0;
}
footer.with_fixed-page-top-link {
 padding-bottom: 110px;
}
@media all and (min-width: 740px) {
 footer {
  padding: 9px 0px 11px;
  margin-top: 0;
  border-top-color: #999999;
  border-top-width: 5px;
  border-top-style: solid;
  background-color: #ebebeb;
 }
 footer.with_fixed-page-top-link {
  padding-bottom: 11px;
 }
}
footer::before {
 left: 0px;
 top: -3px;
 width: 20px;
 height: 3px;
 display: block;
 position: absolute;
 content: "";
 background-color: #ff0000;
}
@media all and (min-width: 740px) {
 footer::before {
  top: -5px;
  width: 30px;
  height: 5px;
 }
}
@media all and (min-width: 740px) {
 footer .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
 }
}
footer .container .links {
 background-color: #ebebeb;
}
@media all and (min-width: 740px) {
 footer .container .links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: transparent;
 }
}
footer .container .links li {
 text-transform: uppercase;
 line-height: 1;
 font-size: 1.2rem;
 border-bottom-color: #b3b2b2;
 border-bottom-width: 1px;
 border-bottom-style: solid;
}
@media all and (min-width: 740px) {
 footer .container .links li {
  border: currentColor;
  -o-border-image: none;
  border-image: none;
  line-height: 1;
  letter-spacing: 0px;
  font-size: 1.3rem;
  margin-right: 1em;
 }
}
@media all and (min-width: 740px) {
 footer .container .links li::before {
  margin-right: 1em;
  vertical-align: 1px;
  content: "|";
 }
}
@media all and (min-width: 740px) {
 footer .container .links li:last-child::after {
  margin-left: 1em;
  vertical-align: 1px;
  content: "|";
 }
}
footer .container .links li a {
 padding: 25px 0px;
 text-align: center;
 text-decoration: none;
 display: block;
 position: relative;
}
footer .container .links li a::before {
 color: #ff0000;
 top: 50%;
 font-size: 12px;
 right: 20px;
 margin-top: -5px;
 display: inline-block;
 position: absolute;
 border: 0;
 content: "";
 border-right: solid 1px #dd0000;
 border-top: solid 1px #dd0000;
 transform: rotate(45deg);
 height: 8px;
 width: 8px;
}
@media all and (min-width: 740px) {
 footer .container .links li a::before {
  display: none;
 }
}
@media all and (min-width: 740px) {
 footer .container .links li a {
  padding: 0px;
  text-align: left;
  color: #005a99;
  display: inline;
 }
 footer .container .links li a:hover {
  text-decoration: underline;
 }
}

footer .container .copyright {
 margin: 20px 0px 23px;
 text-align: center;
 line-height: 1;
 letter-spacing: 0px;
 font-size: 1rem;
 padding-bottom: 0;
}
footer .container .copyright img {
 width: 280px;
 height: 11px;
}
@media all and (min-width: 740px) {
 footer .container .copyright {
  margin: 0px 0px 0px auto;
  line-height: 1;
  font-size: 1.2rem;
 }
 footer .container .copyright img {
  width: 383px;
  height: 13px;
 }
}

[class*=" icon-"], [class^=icon-] {
   font-family: "icons";
   font-style: normal;
   font-weight: 400;
   font-variant: normal;
   text-transform: none;
   line-height: 1;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   display: inline-block;
  }
  .icon-sh-arrowRight:before {
   content: "\E007";
  }
  .icon-sh-arrowTop:before {
   content: "\E009";
  }
  .icon-sh-contact:before {
   content: "\E010";
  }
  @media screen and (min-width: 768px), print {
   .p-followButton__icon--arrowTop:hover::before, .p-followButton__icon--contact:hover::before {
    color: #fff;
    background-color: #000;
    font-size: 1.4rem;
    position: absolute;
    top: -30px;
    padding: 2px 8px;
   }
  }
  .p-followButton__icon--contact {
   -webkit-transition: 0.25s;
   transition: 0.25s;
   position: fixed;
   bottom: 12px;
   left: 12px;
   right: auto;
   z-index: 50;
   cursor: pointer;
   width: 52px;
   height: 52px;
   border-radius: 50%;
   font-size: 25px;
   border: 1px currentColor solid;
   color: #dd0000;
   background-color: #fff;
  }
  .p-followButton__icon--contact:hover {
   color: #fff;
   background-color: #dd0000;
   border-color: #dd0000;
  }
  @media screen and (min-width: 768px), print {
   .p-followButton__icon--contact:hover::before {
    content: 'Contact SHIMADZU';
    min-width: 144px;
    left: -40px;
   }
  }
  @media screen and (min-width: 768px), print {
   .p-followButton__icon--contact {
    bottom: 25px;
    left: auto;
    right: 95px;
    width: 60px;
    height: 60px;
   }
  }
  .p-followButton__icon--contact > a {
   position: relative;
   display: inline-block;
   width: 100%;
   height: 100%;
   color: currentColor;
  }
  .p-followButton__icon--contact > a > i {
   position: absolute;
   top: 50%;
   left: 50%;
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
   font-size: 2.9rem;
  }
  @media screen and (min-width: 768px), print {
   .p-followButton__icon--contact > a > i {
    font-size: 3.2rem;
   }
  }
  .p-followButton__icon--arrowTop {
   -webkit-transition: 0.25s;
   transition: 0.25s;
   display: none;
   position: fixed;
   z-index: 50;
   width: 52px;
   height: 52px;
   border-radius: 50%;
   font-size: 25px;
   border: 1px currentColor solid;
   color: #6e6e6e;
   background-color: #fff;
   bottom: 12px;
   right: 12px;
  }
  @media screen and (min-width: 768px), print {
   .p-followButton__icon--arrowTop {
    bottom: 25px;
    right: 25px;
    width: 60px;
    height: 60px;
   }
  }
  .p-followButton__icon--arrowTop:hover {
   border-color: #6e6e6e;
   color: #fff;
   background-color: #6e6e6e;
  }
  @media screen and (min-width: 768px), print {
   .p-followButton__icon--arrowTop:hover::before {
    content: 'Page top';
    min-width: 75px;
    left: -8px;
   }
  }
  .p-followButton__icon--arrowTop > a {
   position: relative;
   display: inline-block;
   width: 100%;
   height: 100%;
   color: currentColor;
  }
  .p-followButton__icon--arrowTop > a > i {
   position: absolute;
   top: 50%;
   left: 50%;
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
   font-size: 1.2rem;
  }
  /* ==================================================
        
        ページ全般の共通 PC・SP
  
  ================================================== */
  /* --------------------------------------------------
        html, body
  -------------------------------------------------- */
  html, body {
   height: 100%;
   font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", "メイリオ", sansserif;
  }
  body {
   word-wrap: break-word;
   overflow-wrap: break-word;
   color: #4d4d4d;
  }
  a {
   color: #4d4d4d;
  }
  /* --------------------------------------------------
        link
  -------------------------------------------------- */
  a:link, a:visited {
   text-decoration: none;
  }
  a:hover {
   text-decoration: none;
   transition: opacity 0.5s;
   opacity: 0.7;
  }
  /* --------------------------------------------------
        parts
  -------------------------------------------------- */
  /* ==================================================
        
        ページ全般の共通 PC
  
  ================================================== */
  @media screen and (min-width:751px) {
   /* --------------------------------------------------
        SPの要素を非表示
  -------------------------------------------------- */
   .spDisp {
    display: none !important;
   }
   /* --------------------------------------------------
        body
  -------------------------------------------------- */
   body {
    font-size: 14px;
    min-width: 1040px;
   }
   /* --------------------------------------------------
        #contents
  -------------------------------------------------- */
   #contents {
    margin-top: 90px;
    /*margin-bottom: -75px;*/
    background-color: #fff;
   }
   /* --------------------------------------------------
        parts
  -------------------------------------------------- */
   /*	スペース
  -------------------------------------------------- */
   .mt0 {
    margin-top: 0 !important;
   }
   .mt05 {
    margin-top: 5px !important;
   }
   .mt10 {
    margin-top: 10px !important;
   }
   .mt15 {
    margin-top: 15px !important;
   }
   .mt20 {
    margin-top: 20px !important;
   }
   .mt25 {
    margin-top: 25px !important;
   }
   .mt30 {
    margin-top: 30px !important;
   }
   .mt35 {
    margin-top: 35px !important;
   }
   .mt40 {
    margin-top: 40px !important;
   }
   .mt45 {
    margin-top: 45px !important;
   }
   .mt50 {
    margin-top: 50px !important;
   }
   .mt55 {
    margin-top: 55px !important;
   }
   .mt60 {
    margin-top: 60px !important;
   }
   .mt65 {
    margin-top: 65px !important;
   }
   .mt70 {
    margin-top: 70px !important;
   }
   .mt75 {
    margin-top: 75px !important;
   }
   .mt80 {
    margin-top: 80px !important;
   }
   .pb0 {
    padding-bottom: 0 !important;
   }
   .pb05 {
    padding-bottom: 5px !important;
   }
   .pb10 {
    padding-bottom: 10px !important;
   }
   .pb15 {
    padding-bottom: 15px !important;
   }
   .pb20 {
    padding-bottom: 20px !important;
   }
   .pb25 {
    padding-bottom: 25px !important;
   }
   .pb30 {
    padding-bottom: 30px !important;
   }
   .pb35 {
    padding-bottom: 35px !important;
   }
   .pb40 {
    padding-bottom: 40px !important;
   }
   .pb45 {
    padding-bottom: 45px !important;
   }
   .pb50 {
    padding-bottom: 50px !important;
   }
   .pb55 {
    padding-bottom: 55px !important;
   }
   .pb60 {
    padding-bottom: 60px !important;
   }
   .pb65 {
    padding-bottom: 65px !important;
   }
   .pb70 {
    padding-bottom: 70px !important;
   }
   .pb75 {
    padding-bottom: 75px !important;
   }
   .pb80 {
    padding-bottom: 80px !important;
   }
  }
  /* ==================================================
        
        ページ全般の共通 SP
  
  ================================================== */
  @media screen and (max-width:750px) {
   /* --------------------------------------------------
        PCの要素を非表示
  -------------------------------------------------- */
   .pcDisp {
    display: none !important;
   }
   /* --------------------------------------------------
        文字サイズの制御
  -------------------------------------------------- */
   body {
    width: 100%;
    font-size: 13px;
    -webkit-text-size-adjust: 100%;
   }
   /*p {
   font-size: 14px;
  }*/
   /* --------------------------------------------------
        img
  -------------------------------------------------- */
   img {
    width: 100%;
    max-width: 100%;
    height: auto;
   }
   /* --------------------------------------------------
        #contents
  -------------------------------------------------- */
   #contents {
    margin-top: 68px;
    margin-bottom: -18px;
   }
   /* --------------------------------------------------
        parts
  -------------------------------------------------- */
   /*	スペース
  -------------------------------------------------- */
   .spmt0 {
    margin-top: 0 !important;
   }
   .spmt05 {
    margin-top: 5px !important;
   }
   .spmt10 {
    margin-top: 10px !important;
   }
   .spmt15 {
    margin-top: 15px !important;
   }
   .spmt20 {
    margin-top: 20px !important;
   }
   .spmt25 {
    margin-top: 25px !important;
   }
   .spmt30 {
    margin-top: 30px !important;
   }
   .spmt35 {
    margin-top: 35px !important;
   }
   .spmt40 {
    margin-top: 40px !important;
   }
   .spmt45 {
    margin-top: 45px !important;
   }
   .spmt50 {
    margin-top: 50px !important;
   }
   .spmt55 {
    margin-top: 55px !important;
   }
   .spmt60 {
    margin-top: 60px !important;
   }
   .spmt65 {
    margin-top: 65px !important;
   }
   .spmt70 {
    margin-top: 70px !important;
   }
   .spmt75 {
    margin-top: 75px !important;
   }
   .spmt80 {
    margin-top: 80px !important;
   }
   .sppb0 {
    padding-bottom: 5px !important;
   }
   .sppb05 {
    padding-bottom: 5px !important;
   }
   .sppb10 {
    padding-bottom: 10px !important;
   }
   .sppb15 {
    padding-bottom: 15px !important;
   }
   .sppb20 {
    padding-bottom: 20px !important;
   }
   .sppb25 {
    padding-bottom: 25px !important;
   }
   .sppb30 {
    padding-bottom: 30px !important;
   }
   .sppb35 {
    padding-bottom: 35px !important;
   }
   .sppb40 {
    padding-bottom: 40px !important;
   }
   .sppb45 {
    padding-bottom: 45px !important;
   }
   .sppb50 {
    padding-bottom: 50px !important;
   }
   .sppb55 {
    padding-bottom: 55px !important;
   }
   .sppb60 {
    padding-bottom: 60px !important;
   }
   .sppb65 {
    padding-bottom: 65px !important;
   }
   .sppb70 {
    padding-bottom: 70px !important;
   }
   .sppb75 {
    padding-bottom: 75px !important;
   }
   .sppb80 {
    padding-bottom: 80px !important;
   }
  }
  main {
   font-weight: 400;
   line-height: 1.7;
  }
  @media screen and (min-width: 751px) {
   .inner {
    width: 1040px;
    margin: 0 auto;
   }
  }
  @media screen and (max-width: 750px) {
   .inner {
    margin: 0 20px;
   }
  }
  .box {
   padding: 60px 0 70px;
  }
  .box-s {
   padding: 45px 0 35px;
  }
  .box-m {
   padding: 45px 0 60px;
  }
  @media screen and (max-width: 750px) {
   .box {
    padding: 60px 0 70px;
   }
   .box-s {
    padding: 25px 0 20px;
   }
   .box-m {
    padding: 30px 0 50px;
   }
   .gray .box-m {
    padding: 30px 0 0;
   }
   .gray .box-m:not(:first-child) {
      padding: 30px 0 30px;
     }
  }
  .c-shimadzu {
   padding-top: 50px;
   padding-bottom: 50px;
   border-top: 1px solid #e6e6e6;
  }
  @media screen and (max-width: 767px) {
   .c-shimadzu {
    margin-top: 0;
    padding-top: 30px;
    padding-bottom: 0;
   }
  }
  .c-shimadzu .c-shimadzu-icon {
   text-align: center;
   font-size: 45px;
   line-height: 1;
   height: 45px;
   color: #999999;
  }
  .c-shimadzu h4 {
   padding: 10px 0 20px;
   font-size: 32px;
   line-height: 1;
   text-align: center;
  }
  @media screen and (max-width: 767px) {
   .c-shimadzu h4 {
    padding: 10px 0 20px;
    font-size: 20px;
   }
  }
  @media screen and (min-width: 768px) {
   .c-shimadzu ul {
    display: flex;
    justify-content: center;
   }
   .c-shimadzu li {
    margin-right: 20px;
   }
   .c-shimadzu li:last-child {
    margin-right: 0;
   }
  }
  @media screen and (max-width: 767px) {
   .c-shimadzu li {
    border-top: 1px solid #e6e6e6;
   }
   .c-shimadzu li:last-child {
    border-bottom: 1px solid #e6e6e6;
   }
  }
  .c-shimadzu li a {
   color: #dd0000;
   padding: 20px 20px 20px 12px;
   border: none;
   display: flex;
   justify-content: space-between;
   align-items: center;
   background-color: #fff;
   font-size: 14px;
   text-decoration: none;
  }
  .c-shimadzu li a:hover {
   background-color: #dd0000;
   color: #fff;
   opacity: 1;
  }
  @media screen and (min-width: 768px), print {
   .c-shimadzu li a {
    cursor: pointer;
    min-width: 230px;
    min-height: 50px;
    padding: 5px 35px;
    border-radius: 999px;
    border: 1px solid #dd0000;
    justify-content: center;
   }
  }
  @media screen and (min-width: 768px), print {
   .c-shimadzu li a i {
    display: none;
   }
  }
  .c-shimadzu-caution {
   max-width: 1040px;
   margin: 0 auto;
   padding: 25px 0 0 0;
  }
  .c-shimadzu-caution p {
   color: #6e6e6e;
   font-size: 13px;
  }
  @media screen and (max-width: 767px) {
   .c-shimadzu-caution {
    padding: 20px 12px;
   }
  }