html {
  scroll-behavior: smooth; }

#TopPage .M_Visual {
  z-index: -10; }
  #TopPage .M_Visual .swiper-container {
    height: auto;
    max-height: 700px; }
    #TopPage .M_Visual .swiper-container .swiper-slide .slide-img {
      max-height: unset;
      min-height: unset; }
      @media screen and (max-width: 640px) {
        #TopPage .M_Visual .swiper-container .swiper-slide .slide-img img {
          margin-left: -97%;
          min-width: 1262px; } }
  #TopPage .M_Visual .catch {
    position: absolute;
    z-index: 1;
    width: 40%;
    min-width: 620px;
    top: 10vh;
    left: 0;
    background: rgba(20, 57, 120, 0.02);
    background-image: radial-gradient(#fff 30%, transparent 90%);
    background-size: 2px 2px;
    padding: 60px 55px 70px; }
    @media screen and (max-width: 640px) {
      #TopPage .M_Visual .catch {
        top: 16vh;
        min-width: 100%;
        padding: 50px; } }
#TopPage #topics {
  margin-top: -90px;
  padding: 0em; }
  @media screen and (max-width: 640px) {
    #TopPage #topics {
      padding: 10em 0 8em; } }
  #TopPage #topics .topics_box {
    box-shadow: 10px 10px 40px -20px #00001a;
    padding: 50px 70px;
    background-color: #fff; }
    @media screen and (max-width: 800px) {
      #TopPage #topics .topics_box {
        display: block;
        padding-bottom: 100px; } }
    @media screen and (max-width: 640px) {
      #TopPage #topics .topics_box {
        padding: 50px 50px;
        margin-bottom: 0px !important; } }
    #TopPage #topics .topics_box a {
      color: #000; }
      @media screen and (max-width: 640px) {
        #TopPage #topics .topics_box a {
          border-bottom: 1px solid rgba(51, 68, 85, 0.1); } }
    #TopPage #topics .topics_box .topics_title {
      padding-right: 1.25em;
      margin-bottom: 30px; }
      #TopPage #topics .topics_box .topics_title .topics_ttl_en {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: nowrap;
        white-space: nowrap;
        font-size: 1.4rem;
        letter-spacing: .04em;
        font-weight: normal;
        line-height: 2em; }
        #TopPage #topics .topics_box .topics_title .topics_ttl_en:before {
          content: '';
          display: block;
          width: 100%;
          height: 1px;
          background: #fc7c04;
          margin-right: 1em; }
      @media screen and (max-width: 640px) {
        #TopPage #topics .topics_box .topics_title {
          display: none; } }
    @media screen and (max-width: 800px) {
      #TopPage #topics .topics_box ul {
        width: 100%; } }
    #TopPage #topics .topics_box ul li {
      border-bottom: 1px solid rgba(51, 68, 85, 0.1);
      height: 1.875em;
      margin-bottom: 1.25em; }
      #TopPage #topics .topics_box ul li:last-child {
        margin-bottom: 0em; }
      @media screen and (max-width: 640px) {
        #TopPage #topics .topics_box ul li {
          border-bottom: 0px; } }
      @media screen and (max-width: 640px) {
        #TopPage #topics .topics_box ul li time {
          font-size: 1.3rem;
          padding-right: 10px; } }
    @media screen and (max-width: 1100px) {
      #TopPage #topics .topics_box .topics_box1 {
        width: 28%; } }
    @media screen and (max-width: 800px) {
      #TopPage #topics .topics_box .topics_box1 {
        margin: auto;
        margin-bottom: 20px; } }
  @media screen and (max-width: 800px) and (max-width: 640px) {
    #TopPage #topics .topics_box .topics_box1 {
      width: 100%; } }

    @media screen and (max-width: 1100px) {
      #TopPage #topics .topics_box .topics_box2 {
        width: 100%; } }
    #TopPage #topics .topics_box .button {
      bottom: 3.75em;
      position: absolute; }
      @media screen and (max-width: 640px) {
        #TopPage #topics .topics_box .button {
          left: 35%;
          bottom: 2.5em; } }
    #TopPage #topics .topics_box iframe {
      border: 1px solid #ddd; }
#TopPage #reception {
  position: relative;
  background-image: url(../img/top/schedule_bg.jpg);
  background-size: cover; }
  @media screen and (max-width: 640px) {
    #TopPage #reception {
      background-color: rgba(255, 255, 255, 0.5);
      background-blend-mode: lighten;
      background-position: right; } }
  @media screen and (max-width: 1100px) {
    #TopPage #reception .reception_box {
      width: 90%; } }
  @media screen and (max-width: 640px) {
    #TopPage #reception .reception_box {
      width: 80% !important; } }
  #TopPage #reception .button {
    width: 16.75em;
    box-shadow: 10px 10px 40px -20px #00001a;
    padding: 30px 0; }
    #TopPage #reception .button .btn-arw {
      padding-left: 0em; }
#TopPage #medicalcare {
  background-color: #f7fcfa; }
  @media screen and (max-width: 640px) {
    #TopPage #medicalcare .medicalcare_box {
      padding-top: 35px; } }
  #TopPage #medicalcare .medicalcare_box .mcal_box_inner .mcal_box_right {
    padding: 5% 6% 10% 6%;
    background-color: #fff;
    box-shadow: 10px 10px 20px -20px #00001a;
    margin-left: -30%;
    width: calc(100% - 43% + 40px); }
    @media screen and (max-width: 640px) {
      #TopPage #medicalcare .medicalcare_box .mcal_box_inner .mcal_box_right {
        padding: 5% 4% 15% 4%;
        margin-bottom: 40px; } }
    #TopPage #medicalcare .medicalcare_box .mcal_box_inner .mcal_box_right .button {
      right: 9%;
      position: absolute; }
      @media screen and (max-width: 640px) {
        #TopPage #medicalcare .medicalcare_box .mcal_box_inner .mcal_box_right .button {
          right: 6%; } }
  @media screen and (max-width: 640px) {
    #TopPage #medicalcare .medicalcare_box .mcal_box_inner .mcal_box_left {
      margin-top: -30%; } }
  #TopPage #medicalcare .medicalcare_box .mcal_box_inner:nth-child(even) .mcal_box_right {
    margin-left: 0%;
    margin-right: -30%;
    z-index: 10; }
    #TopPage #medicalcare .medicalcare_box .mcal_box_inner:nth-child(even) .mcal_box_right .button {
      right: 9%; }
      @media screen and (max-width: 640px) {
        #TopPage #medicalcare .medicalcare_box .mcal_box_inner:nth-child(even) .mcal_box_right .button {
          right: 6%; } }
#TopPage #others .box-list {
  background-color: #f8f8f8;
  padding: 10% 12% 8% 12%; }
  @media screen and (max-width: 640px) {
    #TopPage #others .box-list {
      padding: 7%; } }
@media screen and (max-width: 640px) {
  #TopPage #others .box-left_text {
    width: 100%;
    padding-top: 52%; } }
@media screen and (max-width: 640px) {
  #TopPage #others .box-right_obj {
    width: 100%;
    padding: 70px 0 0; } }
@media screen and (max-width: 640px) {
  #TopPage #others .box-right {
    width: 100%;
    margin: 0;
    padding-top: 52%; } }
@media screen and (max-width: 640px) {
  #TopPage #others .box-left {
    width: 100%;
    padding: 0px; } }

.box_inner .box {
  position: relative; }
  .box_inner .box .box-left {
    position: absolute;
    width: 43%;
    padding: 40px 0 0; }
    @media screen and (max-width: 640px) {
      .box_inner .box .box-left {
        width: 48%; } }
  .box_inner .box .box-right {
    width: calc(100% - 43% + 40px);
    margin: 0 0px 0 39%;
    padding: 80px 0 0; }
  .box_inner .box .box-list {
    text-align: justify;
    box-shadow: 10px 10px 20px -20px #00001a; }
    @media screen and (max-width: 640px) {
      .box_inner .box .box-list {
        padding: 10% 10% 20% 10%; } }
    .box_inner .box .box-list .button {
      position: absolute;
      right: 71px; }
      @media screen and (max-width: 640px) {
        .box_inner .box .box-list .button {
          right: 29px;
          bottom: 36px;
          width: 6.5em;
          height: 3.5rem; } }
  .box_inner .box .box-left_text {
    width: calc(100% - 43% + 40px);
    padding: 90px 0 0; }
    .box_inner .box .box-left_text .button {
      position: absolute;
      right: 71px; }
      @media screen and (max-width: 640px) {
        .box_inner .box .box-left_text .button {
          right: 28px; } }
  .box_inner .box .box-right_obj {
    position: absolute;
    top: 0;
    right: 0;
    width: 43%;
    padding: 40px 0 0; }
    @media screen and (max-width: 640px) {
      .box_inner .box .box-right_obj {
        width: 46%; } }
    .box_inner .box .box-right_obj .box-img {
      background-size: cover; }

#company .company_box {
  background: #fff; }
  #company .company_box .column1,
  #company .company_box .column2 {
    box-shadow: 10px 10px 20px -20px #00001a; }
  #company .company_box .column1 {
    z-index: 10; }
  #company .company_box a {
    color: #000; }
  #company .company_box dl dt {
    position: relative; }
    #company .company_box dl dt .button {
      right: 0;
      bottom: -4%;
      height: 5.5rem;
      width: 9.75em;
      position: absolute; }
      @media screen and (max-width: 1100px) {
        #company .company_box dl dt .button {
          bottom: -6%; } }
      @media screen and (max-width: 640px) {
        #company .company_box dl dt .button {
          bottom: -5%; } }
  #company .company_box dl dd {
    padding: 40px; }

#access {
  background-color: #ecf7fb; }
  #access h2.HalfSingle {
    margin-bottom: 9rem; }
    @media screen and (max-width: 640px) {
      #access h2.HalfSingle {
        margin-bottom: 7rem; } }
  @media screen and (max-width: 800px) {
    #access .access_box {
      display: block; } }
  @media screen and (max-width: 1100px) {
    #access .access_read {
      width: 70%; } }
  @media screen and (max-width: 640px) {
    #access .access_read {
      width: 100%; } }
  #access .access_read .Logo h1 {
    max-width: 300px; }
  #access .access_read .download {
    padding-top: 0px; }
  #access .access_read .gr1 {
    background-color: #1779c5; }
  #access .access_read .gr2 {
    background-color: #fc7c04; }
  #access .access_read .map_pin {
    background-color: #fff;
    padding: 30px;
    text-align: center; }
    @media screen and (max-width: 640px) {
      #access .access_read .map_pin {
        text-align: left; } }
  @media screen and (max-width: 1100px) {
    #access .access_map {
      width: 70%; } }
  @media screen and (max-width: 640px) {
    #access .access_map {
      width: 100%; } }
  #access .access_map img {
    border: 1px solid #ddd; }
