@charset "UTF-8";
/***********************************************/
/*FONT*/
/***********************************************/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
/***********************************************/
/*RESET*/
/***********************************************/
@import url(destyle.css);
@media print, screen and (min-width: 600px) {
  .only_sp {
    display: none !important; } }

.only_pc {
  display: none; }
  @media print, screen and (min-width: 600px) {
    .only_pc {
      display: block !important; } }

/***********************************************/
/* ANIMATION */
/***********************************************/
@keyframes PageFadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/***********************************************/
/*BASE*/
/***********************************************/
img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto; }

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

html {
  font-size: 62.5%;
  text-size-adjust: 100%;
  height: 100%; }
  html.backfixed {
    overflow: hidden;
    height: 100vh; }

body {
  animation: PageFadeIn 0.8s ease-in 0s 1 normal;
  font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  width: 100vw;
  min-height: 100%;
  font-size: 4.8vw;
  line-height: 2;
  letter-spacing: 0.05em;
  font-feature-settings: "palt" 1;
  color: #000000;
  background-color: #ffffff; }
  @media print, screen and (min-width: 600px) {
    body {
      width: 100%;
      font-size: 1.875vw; } }
  @media print, screen and (min-width: 960px) {
    body {
      font-size: 1.8rem; } }

#wrapper {
  width: 100vw;
  position: relative;
  overflow: hidden; }
  @media print, screen and (min-width: 600px) {
    #wrapper {
      width: 100%; } }

/***********************************************/
/* LINK */
/***********************************************/
/* IMAGE LINK */
.img_alpha:hover {
  opacity: 0.7; }

@media print, screen and (min-width: 600px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
a {
  color: #45BDCF;
  text-decoration: underline; }
  a:hover {
    color: #235E69; }

.link-btn {
  display: inline-flex;
  align-items: center;
  font-size: 4.2666666667vw;
  letter-spacing: 0.2em;
  color: #ffffff;
  background-color: #45BDCF;
  height: 3em;
  padding: 0 1em;
  border-radius: 1.6vw;
  text-decoration: none;
  margin: 0 auto; }
  @media print, screen and (min-width: 600px) {
    .link-btn {
      font-size: 1.6666666667vw;
      border-radius: 0.625vw; } }
  @media print, screen and (min-width: 960px) {
    .link-btn {
      font-size: 1.6rem;
      border-radius: 6px; } }
  .link-btn:hover {
    color: #ffffff;
    background-color: #235E69; }

/***********************************************/
/* ACTION */
/***********************************************/
/* FULL WIDTH */
.full_width {
  margin: 0 calc( 50% - 50vw ); }

/* 診療予約 */
#reserve {
  cursor: pointer;
  position: fixed;
  bottom: 16vw;
  right: 0;
  width: 16.8vw;
  height: 55.4666666667vw;
  background-image: url("../img/reserve@2x.png");
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap; }
  @media print, screen and (min-width: 600px) {
    #reserve {
      top: 37.0666666667vw;
      bottom: auto;
      right: 0;
      width: 6.5625vw;
      height: 21.6666666667vw; } }
  @media print, screen and (min-width: 960px) {
    #reserve {
      top: 354px;
      bottom: auto;
      right: 0;
      width: 63px;
      height: 208px; } }
  #reserve:hover {
    background-image: url("../img/reserve-o@2x.png"); }
  #reserve a {
    display: block;
    height: 100%; }

/* PAGE TOP */
#pagetop {
  cursor: pointer;
  position: fixed;
  z-index: 10; }
  #pagetop.pagetop {
    bottom: 2.1333333333vw;
    right: 8.5333333333vw;
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    background-image: url("../img/pagetop@2x.png");
    background-repeat: no-repeat;
    background-size: cover; }
    #pagetop.pagetop:hover {
      background-image: url("../img/pagetop-o@2x.png"); }
    @media print, screen and (min-width: 600px) {
      #pagetop.pagetop {
        width: 4.1666666667vw;
        height: 4.1666666667vw;
        bottom: 5vw;
        right: 5vw; } }
    @media print, screen and (min-width: 960px) {
      #pagetop.pagetop {
        width: 40px;
        height: 40px;
        bottom: 48px;
        right: 48px; } }

/***********************************************/
/* HEADER */
/***********************************************/
header#header {
  width: 100vw;
  position: fixed;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  z-index: 1000; }
  @media print, screen and (min-width: 600px) {
    header#header {
      width: 100%;
      height: 11.0416666667vw;
      padding: 2.0833333333vw 0 0 0; } }
  @media print, screen and (min-width: 960px) {
    header#header {
      height: 106px;
      padding: 20px 0 0 0; } }
  header#header.active {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    z-index: 500; }
  header#header .header {
    width: 100%;
    position: relative;
    height: 21.8666666667vw;
    padding: 2.4vw 4.2666666667vw 0; }
    @media print, screen and (min-width: 600px) {
      header#header .header {
        display: flex;
        height: auto;
        align-items: flex-end;
        padding: 0 1.6666666667vw; } }
    @media print, screen and (min-width: 960px) {
      header#header .header {
        height: 64px;
        max-width: 1120px;
        margin: 0 auto;
        padding: 0 16px; } }
    @media print, screen and (min-width: 1366px) {
      header#header .header {
        padding: 0;
        max-width: 1088px; } }
  @media print, screen and (min-width: 600px) {
    header#header .logo {
      flex: 0 1 14.8958333333vw; } }
  @media print, screen and (min-width: 960px) {
    header#header .logo {
      flex: 0 0 143px; } }
  header#header .main_navi {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 200;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s; }
    @media print, screen and (min-width: 600px) {
      header#header .main_navi {
        position: static;
        opacity: 1;
        visibility: visible;
        height: auto; } }
    header#header .main_navi-btn {
      position: absolute;
      top: 6.6666666667vw;
      right: 4.2666666667vw;
      display: block;
      width: 8.5333333333vw;
      height: 8.5333333333vw;
      cursor: pointer;
      z-index: 300; }
      header#header .main_navi-btn span {
        display: block;
        position: absolute;
        width: 6.4vw;
        border-bottom: solid 2px #000000;
        transition: .35s ease-in-out;
        left: 1.0666666667vw; }
        header#header .main_navi-btn span:nth-child(1) {
          top: 2.1333333333vw; }
        header#header .main_navi-btn span:nth-child(2) {
          top: 4vw; }
        header#header .main_navi-btn span:nth-child(3) {
          top: 6.1333333333vw;
          left: 3.2vw;
          width: 4.2666666667vw; }
    header#header .main_navi-list {
      margin: 10.6666666667vw 0; }
      @media print, screen and (min-width: 600px) {
        header#header .main_navi-list {
          display: flex;
          justify-content: flex-end;
          margin: 0; } }
      header#header .main_navi-list li {
        margin: 6.6666666667vw;
        font-size: 4.8vw;
        line-height: 1.6; }
        @media print, screen and (min-width: 600px) {
          header#header .main_navi-list li {
            font-size: 1.6666666667vw;
            font-weight: 500;
            margin: 0 0 0 2em; } }
        @media print, screen and (min-width: 960px) {
          header#header .main_navi-list li {
            font-size: 1.6rem;
            margin: 0 0 0 2.5em; } }
        header#header .main_navi-list li a {
          display: block;
          width: 64vw;
          padding: 0.4em 0;
          margin: 0 auto;
          color: #000000;
          text-align: center;
          text-decoration: none; }
          @media print, screen and (min-width: 600px) {
            header#header .main_navi-list li a {
              width: auto;
              margin: 0;
              padding: 0; }
              header#header .main_navi-list li a:hover {
                text-decoration: underline; } }
          @media print, screen and (min-width: 960px) {
            header#header .main_navi-list li a {
              font-size: 1.6rem; } }
    header#header .main_navi .logo {
      padding: 2.4vw 4.2666666667vw 0; }
    header#header .main_navi .copyright {
      font-family: Helvetica, "sans-serif";
      font-size: 3.2vw;
      text-align: center;
      margin-top: auto; }
    header#header .main_navi-youtube {
      text-align: center; }
      header#header .main_navi-youtube a {
        font-size: 3.7333333333vw;
        color: #000000;
        text-decoration: none; }
        header#header .main_navi-youtube a::after {
          display: inline-block;
          content: '';
          background-image: url("../img/footer-icon-youtube@2x.png");
          width: 8.5333333333vw;
          height: 6vw;
          background-size: cover;
          vertical-align: middle;
          margin-top: -0.1em;
          margin-left: 1.2em; }
    header#header .main_navi-sns {
      display: flex;
      justify-content: space-between;
      width: 42.6666666667vw;
      margin: 8vw auto 10.6666666667vw; }
    header#header .main_navi-bg {
      position: fixed;
      left: 0;
      top: 0;
      width: 100vw;
      height: 100vh;
      z-index: 100;
      -webkit-backdrop-filter: blur(6px);
      backdrop-filter: blur(4px);
      background-color: rgba(255, 255, 255, 0.9);
      opacity: 0;
      visibility: hidden;
      transition: all .3s; }
  header#header.active .main_navi {
    opacity: 1;
    visibility: visible; }
    header#header.active .main_navi-btn span:nth-child(1) {
      top: 4vw;
      left: 0.9333333333vw;
      width: 6.6666666667vw;
      transform: rotate(-45deg); }
    header#header.active .main_navi-btn span:nth-child(2) {
      transform: scale(0, 0); }
    header#header.active .main_navi-btn span:nth-child(3) {
      top: 4vw;
      left: 0.9333333333vw;
      width: 6.6666666667vw;
      transform: rotate(45deg); }
    header#header.active .main_navi-bg {
      opacity: 1;
      visibility: visible; }

@media print, screen and (min-width: 600px) {
  body.profile header#header .header .main_navi .main_navi-list li.profile a,
  body.dryeye header#header .header .main_navi .main_navi-list li.dryeye a,
  body.activity header#header .header .main_navi .main_navi-list li.activity a,
  body.papers header#header .header .main_navi .main_navi-list li.papers a,
  body.contact header#header .header .main_navi .main_navi-list li.contact a {
    color: #BFD833; } }
/***********************************************/
/* FOOTER */
/***********************************************/
footer#footer {
  background-color: #E4E4E4;
  padding: 16vw 0 26.6666666667vw;
  text-align: center;
  margin-top: 34.1333333333vw;
  line-height: 1.6; }
  @media print, screen and (min-width: 600px) {
    footer#footer {
      padding: 6.25vw 0 1.6666666667vw;
      margin-top: 17.0666666667vw; } }
  @media print, screen and (min-width: 960px) {
    footer#footer {
      padding: 60px 0 16px;
      margin-top: 128px; } }
  @media print, screen and (min-width: 600px) {
    footer#footer .footer {
      padding: 0 1.6666666667vw; } }
  @media print, screen and (min-width: 960px) {
    footer#footer .footer {
      max-width: 1120px;
      margin: 0 auto;
      padding: 0 16px; } }
  @media print, screen and (min-width: 1366px) {
    footer#footer .footer {
      padding: 0;
      max-width: 1088px; } }
  @media print, screen and (min-width: 600px) {
    footer#footer .footer-logo {
      float: left;
      width: 16.6666666667vw;
      height: auto; } }
  footer#footer .footer-list {
    margin: 6.6666666667vw 0 9.3333333333vw;
    font-size: 3.7333333333vw; }
    @media print, screen and (min-width: 600px) {
      footer#footer .footer-list {
        font-size: 1.4583333333vw;
        display: flex;
        justify-content: space-between;
        margin: 5.8333333333vw 0 4.1666666667vw; } }
    @media print, screen and (min-width: 960px) {
      footer#footer .footer-list {
        margin: 56px 0 40px; } }
    footer#footer .footer-list li {
      margin: 2.6666666667vw; }
      @media print, screen and (min-width: 600px) {
        footer#footer .footer-list li {
          margin: 0; } }
      footer#footer .footer-list li a {
        display: block;
        width: 64vw;
        padding: 0.4em 0;
        margin: 0 auto;
        color: #000000;
        text-align: center;
        text-decoration: none; }
        footer#footer .footer-list li a:hover {
          text-decoration: underline; }
        @media print, screen and (min-width: 600px) {
          footer#footer .footer-list li a {
            width: auto;
            padding: 0; } }
        @media print, screen and (min-width: 960px) {
          footer#footer .footer-list li a {
            font-size: 1.4rem; } }
  footer#footer .footer-youtube {
    text-align: center; }
    @media print, screen and (min-width: 600px) {
      footer#footer .footer-youtube {
        text-align: right;
        float: left; } }
    footer#footer .footer-youtube a {
      font-size: 3.7333333333vw;
      color: #000000;
      text-decoration: none; }
      footer#footer .footer-youtube a:hover {
        text-decoration: underline; }
      @media print, screen and (min-width: 600px) {
        footer#footer .footer-youtube a {
          font-size: 1.4583333333vw; } }
      @media print, screen and (min-width: 960px) {
        footer#footer .footer-youtube a {
          font-size: 1.4rem; } }
      footer#footer .footer-youtube a::after {
        display: inline-block;
        content: '';
        background-image: url("../img/footer-icon-youtube@2x.png");
        width: 8.5333333333vw;
        height: 6vw;
        background-size: cover;
        vertical-align: middle;
        margin-top: -0.1em;
        margin-left: 1.2em; }
        @media print, screen and (min-width: 600px) {
          footer#footer .footer-youtube a::after {
            width: 3.3333333333vw;
            height: 2.34375vw;
            margin-left: 2.2916666667vw; } }
        @media print, screen and (min-width: 960px) {
          footer#footer .footer-youtube a::after {
            width: 32px;
            height: 22.5px;
            margin-left: 22px; } }
  footer#footer .footer-sns {
    display: flex;
    justify-content: space-between;
    width: 42.6666666667vw;
    margin: 8vw auto; }
    @media print, screen and (min-width: 600px) {
      footer#footer .footer-sns {
        width: 16.6666666667vw;
        margin: 0;
        float: right; } }
    @media print, screen and (min-width: 960px) {
      footer#footer .footer-sns {
        width: 160px;
        margin: 0 auto; } }
  @media print, screen and (min-width: 600px) {
    footer#footer .footer-menu {
      float: right;
      width: 60%; } }
  footer#footer .copyright {
    font-family: Helvetica, "sans-serif";
    font-size: 3.2vw;
    text-align: center; }
    @media print, screen and (min-width: 600px) {
      footer#footer .copyright {
        text-align: right;
        font-size: 1.25vw;
        margin: 13.3333333333vw auto 0;
        padding: 0 1.6666666667vw; } }
    @media print, screen and (min-width: 960px) {
      footer#footer .copyright {
        font-size: 1.2rem;
        max-width: 1088px;
        margin: 128px auto 0; } }

/***********************************************/
/* TOP */
/***********************************************/
body.home header#header {
  background-color: rgba(165, 197, 34, 0.9); }
  @media print, screen and (min-width: 600px) {
    body.home header#header .main_navi-list li a {
      color: #ffffff; } }
body.home main#main {
  margin-top: 0; }
  body.home main#main .top-keyvisual {
    background-image: url("../img/pc-top-main-bg.png");
    background-size: contain;
    background-repeat: repeat-x;
    background-color: #BFD833; }
    body.home main#main .top-keyvisual-img {
      max-width: 1366px;
      margin: 0 auto; }
  body.home main#main .top-topics {
    position: relative;
    margin-top: -26.6666666667vw; }
    @media print, screen and (min-width: 600px) {
      body.home main#main .top-topics {
        margin-top: -20.8333333333vw; } }
    @media print, screen and (min-width: 960px) {
      body.home main#main .top-topics {
        margin-top: -200px; } }
    body.home main#main .top-topics dl {
      font-size: 3.7333333333vw;
      line-height: 1.6;
      background-color: rgba(255, 255, 255, 0.75);
      margin: 0 4.2666666667vw;
      padding: 4.2666666667vw;
      overflow-y: auto;
      height: 66.6666666667vw; }
      @media print, screen and (min-width: 600px) {
        body.home main#main .top-topics dl {
          font-size: 1.4583333333vw;
          height: 20.8333333333vw;
          width: 66.6666666667vw;
          margin: 0 auto;
          padding: 3.3333333333vw 3.3333333333vw 1.6666666667vw 5.8333333333vw; } }
      @media print, screen and (min-width: 960px) {
        body.home main#main .top-topics dl {
          font-size: 1.4rem;
          height: 200px;
          padding: 32px 32px 16px 56px;
          width: 720px; } }
      body.home main#main .top-topics dl dt {
        margin: 1em 0 0; }
        @media print, screen and (min-width: 600px) {
          body.home main#main .top-topics dl dt {
            float: left;
            margin: 0 0 1.2em 0; } }
      body.home main#main .top-topics dl dd {
        margin: 0 0 1em; }
        @media print, screen and (min-width: 600px) {
          body.home main#main .top-topics dl dd {
            margin: 0 0 1.2em 10em; } }
  body.home main#main .top-oil {
    background-image: linear-gradient(to bottom, #bdda1f, #ffffff);
    padding-top: 19.2vw;
    padding-bottom: 12.8vw; }
    @media print, screen and (min-width: 600px) {
      body.home main#main .top-oil {
        padding-top: 12.5vw;
        padding-bottom: 6.6666666667vw; } }
    @media print, screen and (min-width: 960px) {
      body.home main#main .top-oil {
        padding-top: 120px;
        padding-bottom: 64px; } }
    body.home main#main .top-oil h2 {
      width: 57.6vw;
      margin: 0 auto 12.8vw; }
      @media print, screen and (min-width: 600px) {
        body.home main#main .top-oil h2 {
          width: 22.5vw;
          margin: 0 auto 5vw; } }
      @media print, screen and (min-width: 960px) {
        body.home main#main .top-oil h2 {
          width: 216px;
          margin: 0 auto 48px; } }
    body.home main#main .top-oil picture {
      display: block;
      margin: 0 auto;
      width: 91.6vw; }
      @media print, screen and (min-width: 600px) {
        body.home main#main .top-oil picture {
          max-width: 79.375vw; } }
      @media print, screen and (min-width: 960px) {
        body.home main#main .top-oil picture {
          max-width: 763px; } }
    body.home main#main .top-oil-btn {
      margin-top: 12.8vw;
      text-align: center; }
      @media print, screen and (min-width: 600px) {
        body.home main#main .top-oil-btn {
          margin-top: 5vw; } }
      @media print, screen and (min-width: 960px) {
        body.home main#main .top-oil-btn {
          margin-top: 48px; } }
  body.home main#main .top-dryeye {
    padding: 12.8vw 0 0; }
    @media print, screen and (min-width: 600px) {
      body.home main#main .top-dryeye {
        padding: 6.6666666667vw 0 0; } }
    @media print, screen and (min-width: 960px) {
      body.home main#main .top-dryeye {
        padding: 64px 0 0; } }
    body.home main#main .top-dryeye h2 {
      width: 90.9333333333vw;
      margin: 0 auto; }
      @media print, screen and (min-width: 600px) {
        body.home main#main .top-dryeye h2 {
          width: 38.8541666667vw; } }
      @media print, screen and (min-width: 960px) {
        body.home main#main .top-dryeye h2 {
          width: 373px; } }
    body.home main#main .top-dryeye-youtube {
      margin-top: 8.5333333333vw; }
      @media print, screen and (min-width: 600px) {
        body.home main#main .top-dryeye-youtube {
          margin: 5vw auto -20.3125vw;
          width: 75vw; } }
      @media print, screen and (min-width: 960px) {
        body.home main#main .top-dryeye-youtube {
          width: 720px;
          margin: 48px auto -195px; } }
    body.home main#main .top-dryeye-btn {
      padding: 8.5333333333vw 0 7.4666666667vw;
      text-align: center;
      background-color: rgba(191, 216, 51, 0.25); }
      @media print, screen and (min-width: 600px) {
        body.home main#main .top-dryeye-btn {
          padding: 25.3125vw 0 0; } }
      @media print, screen and (min-width: 960px) {
        body.home main#main .top-dryeye-btn {
          padding: 243px 0 0; } }
    body.home main#main .top-dryeye-oil {
      background-color: rgba(191, 216, 51, 0.25);
      padding-left: 2vw; }
      @media print, screen and (min-width: 600px) {
        body.home main#main .top-dryeye-oil {
          padding-left: 3.3333333333vw; } }
      @media print, screen and (min-width: 960px) {
        body.home main#main .top-dryeye-oil {
          padding-left: 56px; } }
      body.home main#main .top-dryeye-oil img {
        width: 60vw; }
        @media print, screen and (min-width: 600px) {
          body.home main#main .top-dryeye-oil img {
            width: 40vw; } }
        @media print, screen and (min-width: 960px) {
          body.home main#main .top-dryeye-oil img {
            width: 384px; } }
  body.home main#main .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%; }
    body.home main#main .youtube iframe {
      position: absolute;
      top: 0;
      right: 0;
      width: 100%;
      height: 100%; }
body.home footer#footer {
  margin-top: 0; }

/***********************************************/
/* MAIN */
/***********************************************/
main#main {
  width: 100%;
  margin: 21.8666666667vw auto 0;
  padding: 0 4.2666666667vw; }
  @media print, screen and (min-width: 600px) {
    main#main {
      margin: 11.0416666667vw auto 0;
      padding: 0 1.6666666667vw; } }
  @media print, screen and (min-width: 960px) {
    main#main {
      max-width: 1120px;
      margin: 106px auto 0;
      padding: 0 16px; } }
  @media print, screen and (min-width: 1366px) {
    main#main {
      padding: 0;
      max-width: 1088px; } }
  main#main .keyvisual {
    width: 100vw;
    height: 80vw;
    margin-top: 31.7333333333vw;
    background-size: cover;
    background-position: center center; }
    @media print, screen and (min-width: 600px) {
      main#main .keyvisual {
        margin-top: 12.5vw;
        height: 45.8333333333vw; } }
    main#main .keyvisual.profile {
      background-image: url(../img/profile-keyvisual@2x.png); }
      @media print, screen and (min-width: 600px) {
        main#main .keyvisual.profile {
          background-image: url("../img/pc-profile-keyvisual@2x.png"); } }
    main#main .keyvisual.dryeye {
      background-image: url(../img/dryeye-keyvisual@2x.png); }
      @media print, screen and (min-width: 600px) {
        main#main .keyvisual.dryeye {
          background-image: url("../img/pc-dryeye-keyvisual@2x.png"); } }
    @media print, screen and (min-width: 960px) {
      main#main .keyvisual {
        margin-top: 120px;
        height: 440px; } }
  main#main .content .page-title {
    padding-top: 6.6666666667vw;
    padding-bottom: 6.4vw; }
    @media print, screen and (min-width: 600px) {
      main#main .content .page-title {
        padding-top: 9.6875vw;
        padding-bottom: 12.5vw;
        margin-left: 19.1666666667vw; } }
    @media print, screen and (min-width: 960px) {
      main#main .content .page-title {
        padding-top: 93px;
        padding-bottom: 120px;
        margin-left: 184px; } }
    main#main .content .page-title-keyvisual {
      padding-top: 10.6666666667vw;
      padding-bottom: 6.4vw; }
      @media print, screen and (min-width: 600px) {
        main#main .content .page-title-keyvisual {
          padding-top: 4.6875vw;
          padding-bottom: 5.2083333333vw;
          margin-left: 19.1666666667vw; } }
      @media print, screen and (min-width: 960px) {
        main#main .content .page-title-keyvisual {
          padding-top: 45px;
          padding-bottom: 50px;
          margin-left: 184px; } }
  main#main .content .title-h2 {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 6.4vw;
    line-height: 1.6;
    margin-top: 25.6vw;
    margin-bottom: 8.5333333333vw;
    border-bottom: solid 2px #BFD833; }
    @media print, screen and (min-width: 600px) {
      main#main .content .title-h2 {
        font-size: 2.5vw;
        padding-left: 19.1666666667vw;
        margin-top: 10vw;
        margin-right: 19.1666666667vw;
        margin-bottom: 3.3333333333vw; } }
    @media print, screen and (min-width: 960px) {
      main#main .content .title-h2 {
        font-size: 24px;
        padding-left: 368px;
        margin-top: 96px;
        margin-right: 0;
        margin-bottom: 32px; } }
  main#main .content .block p {
    margin: 1em 0; }
  main#main .content .block dl.layout {
    border-top: dashed 1px #000000;
    margin: 4.2666666667vw 0 0 0;
    padding: 4.2666666667vw 0 0 0; }
    @media print, screen and (min-width: 600px) {
      main#main .content .block dl.layout {
        margin: 4.1666666667vw 0 0 0;
        padding: 4.1666666667vw 0 0 0; } }
    @media print, screen and (min-width: 960px) {
      main#main .content .block dl.layout {
        margin: 40px 0 0 0;
        padding: 40px 0 0 0; } }
    main#main .content .block dl.layout:first-child {
      border-top: none;
      padding-top: 0;
      margin-top: 0; }
    main#main .content .block dl.layout dt {
      margin-bottom: 0.5em; }
      @media print, screen and (min-width: 600px) {
        main#main .content .block dl.layout dt {
          float: left;
          margin-bottom: 0; } }
    @media print, screen and (min-width: 600px) {
      main#main .content .block dl.layout dd {
        margin-left: 5em; } }
    main#main .content .block dl.layout dd p {
      line-height: 1.6;
      margin-top: 0.25em; }
  main#main .content .block dl.layout-year {
    margin: 4.2666666667vw 0 0 0; }
    @media print, screen and (min-width: 600px) {
      main#main .content .block dl.layout-year {
        margin: 3.3333333333vw 0 0 0; } }
    @media print, screen and (min-width: 960px) {
      main#main .content .block dl.layout-year {
        margin: 32px 0 0 0; } }
    main#main .content .block dl.layout-year dt {
      float: left;
      font-size: 4.2666666667vw;
      padding-top: 0.18em; }
      @media print, screen and (min-width: 600px) {
        main#main .content .block dl.layout-year dt {
          font-size: 1.6666666667vw; } }
      @media print, screen and (min-width: 960px) {
        main#main .content .block dl.layout-year dt {
          font-size: 1.6rem; } }
    main#main .content .block dl.layout-year dd {
      margin-left: 4em; }
      @media print, screen and (min-width: 600px) {
        main#main .content .block dl.layout-year dd {
          margin-left: 5em; } }
      main#main .content .block dl.layout-year dd p {
        line-height: 1.6;
        margin-top: 0.25em; }
  main#main .content .block dl.layout-patent {
    line-height: 1.6; }
    main#main .content .block dl.layout-patent dt {
      font-weight: normal;
      margin-top: 8.5333333333vw;
      margin-bottom: 0.8em; }
      @media print, screen and (min-width: 600px) {
        main#main .content .block dl.layout-patent dt {
          margin-top: 3.3333333333vw; } }
      @media print, screen and (min-width: 960px) {
        main#main .content .block dl.layout-patent dt {
          margin-top: 32px; } }
      main#main .content .block dl.layout-patent dt::before {
        display: inline-block;
        content: '';
        background-image: url("../img/profile-list-icon@2x.png");
        background-size: cover;
        width: 4.2666666667vw;
        height: 2.1333333333vw;
        vertical-align: middle;
        margin-top: -0.1em;
        margin-right: 2.1333333333vw; }
        @media print, screen and (min-width: 600px) {
          main#main .content .block dl.layout-patent dt::before {
            width: 1.6666666667vw;
            height: 0.8333333333vw;
            margin-right: 0.8333333333vw; } }
        @media print, screen and (min-width: 960px) {
          main#main .content .block dl.layout-patent dt::before {
            width: 16px;
            height: 8px;
            margin-right: 8px; } }
    main#main .content .block dl.layout-patent dd {
      margin-left: 6.4vw; }
      @media print, screen and (min-width: 600px) {
        main#main .content .block dl.layout-patent dd {
          margin-left: 2.5vw; } }
      @media print, screen and (min-width: 960px) {
        main#main .content .block dl.layout-patent dd {
          margin-left: 24px; } }
      main#main .content .block dl.layout-patent dd.notitle {
        margin-top: -2.5em; }
  main#main .content .block .en {
    font-size: 4.2666666667vw;
    line-height: 1.6; }
    @media print, screen and (min-width: 600px) {
      main#main .content .block .en {
        font-size: 1.6666666667vw; } }
    @media print, screen and (min-width: 960px) {
      main#main .content .block .en {
        font-size: 1.6rem; } }
  @media print, screen and (min-width: 600px) {
    main#main .content .w720 {
      margin: 0 19.1666666667vw; } }
  @media print, screen and (min-width: 960px) {
    main#main .content .w720 {
      margin: 0 184px; } }
  @media print, screen and (min-width: 600px) {
    main#main .content .w536 {
      width: 55.8333333333vw; } }
  @media print, screen and (min-width: 960px) {
    main#main .content .w536 {
      width: 536px; } }
  main#main .content .mt0 {
    margin-top: 0; }
  main#main .content .mt32 {
    margin-top: 2em;
    margin-bottom: 2em; }
  @media print, screen and (min-width: 600px) {
    main#main .content .ml368 {
      margin-left: 19.1666666667vw; } }
  @media print, screen and (min-width: 960px) {
    main#main .content .ml368 {
      margin-left: 368px; } }

/* PROFILE */
.profile-photo {
  float: left;
  width: 25vw;
  margin: -1em 1em 1em 0; }
  @media print, screen and (min-width: 600px) {
    .profile-photo {
      width: 16.6666666667vw;
      margin: -0.5em 2em 1em 0; } }
  @media print, screen and (min-width: 960px) {
    .profile-photo {
      position: relative;
      margin: 0;
      float: none; }
      .profile-photo img {
        position: absolute;
        width: 182px;
        top: 12em;
        left: -368px; } }

/* DRYEYE */
.dryeye-title-h2 {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-size: 6.4vw;
  margin: 1.5em 0 0.25em; }
  @media print, screen and (min-width: 600px) {
    .dryeye-title-h2 {
      font-size: 2.5vw; } }
  @media print, screen and (min-width: 960px) {
    .dryeye-title-h2 {
      font-size: 2.4rem; } }
.dryeye-dl {
  font-size: 4.2666666667vw;
  line-height: 1.5;
  margin: 0 0 1.5em 0;
  padding: 0 0 1em 0;
  border-bottom: dashed 1px #000000; }
  @media print, screen and (min-width: 600px) {
    .dryeye-dl {
      font-size: 1.6666666667vw; } }
  @media print, screen and (min-width: 960px) {
    .dryeye-dl {
      font-size: 1.6rem; } }
  .dryeye-dl dt {
    margin: 0.5em 0 0; }
  .dryeye-dl dd {
    margin: 0.5em  0 1em; }
.dryeye-footer {
  font-weight: bold;
  text-align: center;
  margin-top: 2.5em; }

/* PAPERS */
ol.papers {
  display: flex;
  flex-direction: column-reverse;
  line-height: 1.5;
  list-style-type: decimal;
  margin-left: 2.25em; }
  ol.papers li {
    margin-bottom: 2.5em; }

/* CONTACT */
.contact_form_small {
  font-size: 3.7333333333vw;
  line-height: 1.6; }
  @media print, screen and (min-width: 600px) {
    .contact_form_small {
      font-size: 1.4583333333vw; } }
  @media print, screen and (min-width: 960px) {
    .contact_form_small {
      font-size: 1.4rem; } }
.contact_form_red {
  color: #D92F2F;
  line-height: 1.6;
  font-size: 3.7333333333vw;
  line-height: 1.6; }
  @media print, screen and (min-width: 600px) {
    .contact_form_red {
      font-size: 1.4583333333vw; } }
  @media print, screen and (min-width: 960px) {
    .contact_form_red {
      font-size: 1.4rem; } }
.contact .smf-form {
  font-size: 4.2666666667vw;
  line-height: 1.6; }
  @media print, screen and (min-width: 600px) {
    .contact .smf-form {
      font-size: 1.6666666667vw;
      margin: 2em 0; } }
  @media print, screen and (min-width: 960px) {
    .contact .smf-form {
      font-size: 1.6rem; } }
  .contact .smf-form input, .contact .smf-form textarea, .contact .smf-form smf-text-control__control, .contact .smf-form smf-textarea-control__control {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    width: 100% !important; }
  .contact .smf-form .smf-placeholder {
    border: solid 1px #bbbbbb;
    border-radius: 0.25em;
    width: 100%;
    padding: 0.5em; }
  .contact .smf-form .smf-item {
    overflow: hidden;
    *zoom: 1; }
  .contact .smf-form .smf-item__col--label {
    margin: 1em 0 0 0; }
    @media print, screen and (min-width: 600px) {
      .contact .smf-form .smf-item__col--label {
        float: left;
        margin: 0 0 2em 0;
        padding: 0.5em 0; } }
  .contact .smf-form .smf-item__col--controls {
    margin: 0.5em 0 1.5em 0; }
    @media print, screen and (min-width: 600px) {
      .contact .smf-form .smf-item__col--controls {
        margin: 0 0 2em 12em; } }
  .contact .smf-form .smf-error-messages {
    color: #D92F2F;
    line-height: 1.6;
    font-size: 3.7333333333vw;
    line-height: 1.6; }
    @media print, screen and (min-width: 600px) {
      .contact .smf-form .smf-error-messages {
        font-size: 1.4583333333vw; } }
    @media print, screen and (min-width: 960px) {
      .contact .smf-form .smf-error-messages {
        font-size: 1.4rem; } }
.contact .smf-action {
  text-align: center; }
  .contact .smf-action .smf-button-control__control {
    font-size: 4.2666666667vw;
    letter-spacing: 0.2em;
    color: #ffffff;
    background-color: #45BDCF;
    height: 3.5em;
    padding: 0 3em;
    border-radius: 1.6vw;
    text-decoration: none;
    border: none;
    background-image: none; }
    @media print, screen and (min-width: 600px) {
      .contact .smf-action .smf-button-control__control {
        font-size: 1.6666666667vw;
        border-radius: 0.625vw; } }
    @media print, screen and (min-width: 960px) {
      .contact .smf-action .smf-button-control__control {
        font-size: 1.6rem;
        border-radius: 6px; } }
    .contact .smf-action .smf-button-control__control:hover {
      color: #ffffff;
      background-color: #235E69; }
.contact .smf-system-error-content-ready {
  text-align: center;
  font-size: 4.2666666667vw;
  line-height: 1.6;
  margin: 1em 0;
  padding: 1em 0;
  color: #D92F2F; }
  @media print, screen and (min-width: 600px) {
    .contact .smf-system-error-content-ready {
      font-size: 1.6666666667vw; } }
  @media print, screen and (min-width: 960px) {
    .contact .smf-system-error-content-ready {
      font-size: 1.6rem; } }

/***********************************************/
/* PRINT */
/***********************************************/
@media print {
  header#header {
    position: relative; }

  #reserve {
    position: absolute; }

  #wrapper {
    width: 1366px; } }
