@charset "utf-8";
/* Common */
.is--pc {display: block !important;}
.is--sp {display: none !important;}
.bold{font-weight: bold !important;}
*[animation]{visibility: hidden;}

/* Print */
@media print{
body {zoom: 0.45;}
*[animation]{visibility: visible !important;}
}
/* Common */


/* All */
html{
   font-size: 62.5%;
}
body {
   position: relative;
   font-family: "Zen Kaku Gothic Antique", sans-serif;
   font-weight: 400;
   font-size: 1.6rem;
   line-height: 3.0rem;
   min-height: 100vh;
   color: #000;
}
main{
   position: relative;
   padding-bottom: 100px;
   margin: 0 auto;
   /* overflow: hidden; */
}
.header{
   position: relative;
   width: 100%;
   max-width: 1260px;
   min-width: 60vw;
   margin: 0 auto;
   padding: 18px;
   display: flex;
   justify-content: space-between;
   z-index: 10;
}

.header_logo p {
   display: block;
   position: relative;
   padding-left: 26px;
   font-size: 19px;
   white-space: nowrap;
   cursor: default;
   user-select: none;
}
.header_logo p:before{
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   display: block;
   width: 10px;
   height: 65px;
   background: linear-gradient(to bottom, #3aaadc ,#a6b9fe);
}
.header_menubtn{
   display: none;
}
.header_area2{
   width: 100%;
   max-width: 760px;
}
.header_area2 ul{
   display: flex;
   justify-content: space-around;
}
.header_area2 ul li a{
   text-decoration: none;
   color: #000;
}
.header_menuclose_wrap{
   display: none;
}
.top_kv{
   position: relative;
   background: linear-gradient(to bottom, #fff,#f6faff 20%,#dfecff);
   padding: 0 25px 320px;
   overflow: hidden;
}
.top_kv:after{
   content: "";
   position: absolute;
   bottom: -1px;
   left: 0;
   display: block;
   width: 100%;
   height: 320px;
   background: url(/general-medical-recurrent/img/top/bg_01.svg) center bottom no-repeat;
   background-size: 100%;
}
.top_kv_inner{
   display: grid;
   grid-template-columns: repeat(2,1fr);
   gap: 50px;
   width: 100%;
   max-width: 1260px;
   margin: 0 auto;
}
.top_kv_txt{
   display: flex;
   justify-content: center;
   align-items: flex-start;
   flex-direction: column;
}
.top_kv_txt h1{
   margin-bottom: 26px;
   font-family: "Zen Kaku Gothic New", sans-serif;
   font-size: 38px;
   color: #083660;
   line-height: 1.8em;
   letter-spacing: 4px;
}
.top_kv_txt h1 span{
   font-size: 48px;
   color: #005da3;
}
.top_kv_txt h2{
   margin-bottom: 50px;
   padding: 5px 30px 8px;
   font-size: 23px;
   color: #fff;
   background: linear-gradient(to right, #4996ff ,#65c9ea);
   font-weight: normal;
}
.top_kv_txt p{
   line-height: 1.75em;
   font-size: 24px;
   color: #083660;
}
.top_info{
   position: relative;
   display: grid;
   grid-template-columns: repeat(3,1fr);
   gap: 36px;
   width: 100%;
   max-width: 1260px;
   padding: 0 20px;
   margin: -300px auto 60px;
   z-index: 5;
}
.top_info_box{
   padding: 25px 25px 30px;
   border-radius: 20px;
   background-color: #fff;
   box-shadow: 4px 4px 10px #00000022;
}
.top_info_box h3{
   position: relative;
   padding: 10px 0 10px 60px;
   margin-bottom: 16px;
   font-size: 24px;
   color: #00599b;
}

.top_info_box h3:before{
   content: "";
   position: absolute;
   top: 50%;
   left: 0;
   display: block;
   width: 40px;
   height: 40px;
   transform: translateY(-50%);
}
.top_info_box h3.top_info_ttl_01:before{
   background: url(/general-medical-recurrent/img/top/top_info_box01.svg) center no-repeat;
   background-size: contain;
}
.top_info_box h3.top_info_ttl_02:before{
   background: url(/general-medical-recurrent/img/top/top_info_box02.svg) center no-repeat;
   background-size: contain;
}
.top_info_box h3.top_info_ttl_03:before{
   background: url(/general-medical-recurrent/img/top/top_info_box03.svg) center no-repeat;
   background-size: contain;
}
.contents_wrap{
   padding: 80px 0;
}
.contents_wrap--lower{
   padding: 40px 0;
}
.bg1{
   position: relative;
   overflow: hidden;
}
.bg1:before{
   content: "";
   position: absolute;
   top: 0;
   right: 0;
   display: block;
   width: 300px;
   height: 600px;
   background: url(/general-medical-recurrent/img/common/bg1.png) center right no-repeat;
   background-size: contain;
   z-index: -1;
}
.bg1:after{
   content: "";
   position: absolute;
   top: 30%;
   left: 0;
   display: block;
   width: 300px;
   height: 500px;
   background: url(/general-medical-recurrent/img/common/bg2.png) center left no-repeat;
   background-size: contain;
   z-index: -1;
}
.bg1 .bg_parts{
   content: "";
   position: absolute;
   bottom: 0;
   right: 0;
   display: block;
   width: 200px;
   height: 600px;
   background: url(/general-medical-recurrent/img/common/bg3.png) center right no-repeat;
   background-size: contain;
   z-index: -1;
}
.contents_inner{
   width: 100%;
   max-width: 1260px;
   margin: 0 auto;
   padding: 0 15px;
}
.contents_ttl{
   padding: 10px;
   margin-bottom: 30px;
}
.contents_ttl h2{
   font-size: 34px;
   letter-spacing: 4px;
   text-align: center;
   color: #005da3;
}
.contents_intro{
   padding: 10px;
   margin-bottom: 30px;
}
.contents_intro p{
   font-size: 17px;
   text-align: center;
}
.top_seminar__table table{
   width: 100%;
}
.top_seminar__table tr{
   border-bottom: 1px solid #f1f1f1;
}
.top_seminar__table tr:last-child{
   border-bottom: none;
}
.top_seminar__table th{
   width: 170px;
   padding: 20px;
   font-size: 19px;
   text-align: center;
   color: #00599b;
   font-weight: normal;
}
.top_seminar__table td{
   padding: 20px;
   font-size: 15px;
}
.top_seminar__table td .semittl{
   font-size: 17px;
}
.top_seminar__table tr td:nth-child(2n){
   background-color: #f9f9f9;
}
.top_seminar__table tr:first-child td:nth-child(2n){
   background-color: transparent;
}
.top_seminar__table ul{
   padding-left: 20px;
}
.top_seminar__table li{
   position: relative;
   margin-bottom: 5px;
}
.top_seminar__table li:before{
   content: "";
   position: absolute;
   top: 11px;
   left: -14px;
   display: block;
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background-color: #0070cc;
}
.business{
   display: block;
   padding: 20px 15px;
   border-radius: 20px;
   line-height: 36px;
   font-size: 23px;
   text-align: center;
   text-decoration: none;
   color: #fff;
   background-color: #aaa;
}
.business_01{
   background: linear-gradient(135deg,#00c971,#02704e);
}
.business_02{
   background: linear-gradient(135deg,#009ad8,#02488f);
}
.business_03{
   background: linear-gradient(135deg,#ff8f1f,#bf3600);
}
.btnwrap{
   text-align: center;
}
.btn_01{
   display: inline-block;
   width: 180px;
   padding: 8px 20px;
   font: 17px;
   line-height: 22px;
   border-radius: 19px;
   text-align: center;
   text-decoration: none;
   color: #fff;
   background: linear-gradient(135deg , #3abcdc,#3e80dd,#a685fe);
}
.btnarea{
   text-align: center;
   width: 100%;
   max-width: 1260px;
   margin: 0 auto;
   padding: 30px 0;
}
.btn_more{
   position: relative;
   display: inline-block;
   width: 220px;
   line-height: 22px;
   text-align: center;
   color: rgb(255, 255, 255);
   padding: 12px 40px;
   margin: 0 10px;
   border-radius: 23px;
   text-decoration: none;
   background: linear-gradient(135deg , #3abcdc,#3e80dd,#a685fe);
}
.btn_more:after{
   content: "";
   position: absolute;
   top: 50%;
   right: 24px;
   transform: translateY(-50%);
   display: block;
   border-style: solid;
   border-width: 6px 0 6px 6px;
   border-color: transparent transparent transparent #fff;
}
.news_wrap{
   width: 100%;
   max-width: 1000px;
   margin: 0 auto;
}
.news_box{
   display: grid;
   grid-template-columns: 140px 1fr;
   padding: 15px;
   border-bottom: 1px solid #f1f1f1;
   font-size: 16px;
}
.news_box:first-child{
   border-top: 1px solid #f1f1f1;
}
.news_ttl a{
   color: #000;
}

.pagetop_wrap {
   position: fixed;
   bottom: 0;
   right: 0;
   display: block;
   width: 50px;
   height: 50px;
   margin-left: auto;
   overflow: hidden;
   z-index: 6;
}
.btn__pagetop {
   position: relative;
   bottom: -50px;
   display: block;
   width: 50px;
   height: 50px;
   background: linear-gradient(to right, #4996ff ,#65c9ea);
   transition: all 0.3s;
}
.btn__pagetop.hover{
   opacity: 0.8;
}
.btn__pagetop:after{
   content: "";
   position: absolute;
   top: 20px;
   left: 0;
   right: 0;
   display: block;
   width: 20px;
   height: 20px;
   margin: auto;
   border-width: 2px 2px 0 0;
   border-style: solid;
   border-color: #fff;
   transform: rotate(-45deg);
}
.btn__pagetop.btn__pagetop--show{
   bottom: 0;
}
.footer{
   padding: 90px 20px 50px;
   background: linear-gradient(to bottom, transparent,#ebebeb);
}
.footer_logo{
   margin-bottom: 35px;
   text-align: center;
   font-size: 19px;
   color: #005da3;
}
.footer_logo p{
   cursor: default;
   user-select: none;
}
.footer_nav{
   width: 100%;
   max-width: 800px;
   margin: 0 auto;
   display: flex;
   justify-content: space-around;
}
.footer_nav a{
   color: #000;
   text-decoration: none;
}
.lower{
   position: relative;
   overflow: hidden;
   padding-bottom: 40px;
}
.lower:before{
   content: "";
   position: absolute;
   top: 0;
   right: 0;
   display: block;
   width: 300px;
   height: 600px;
   background: url(/general-medical-recurrent/img/common/bg3.png) center right no-repeat;
   background-size: contain;
   z-index: -1;
}
.lower:after{
   content: "";
   position: absolute;
   top: 200px;
   left: 0;
   display: block;
   width: 300px;
   height: 500px;
   transform: rotate(180deg);
   background: url(/general-medical-recurrent/img/common/bg1.png) center right no-repeat;
   background-size: contain;
   z-index: -1;
}
.lower_ttl{
   width: 100%;
   max-width: 1260px;
   margin: 0 auto;
   padding: 100px 15px;
}
.lower_ttl h1{
   text-align: center;
   font-size: 34px;
   font-weight: bold;
   color: #005da3;
}
.lower_txt{
   padding: 30px 0;
}
.lower_txt h2{
   margin-top: 2em;
   margin-bottom: 1em;
   font-size: 28px;
   font-weight: normal;
   color: #005da3;
}
.lower_txt h2:first-child{
   margin-top: 0;
}
.lower_txt h4{
   margin-top: 2em;
   margin-bottom: 0.8em;
   font-size: 19px;
}
.lower_txt p{
   margin-bottom: 1em;
}
.lower_txt a{
   word-break: break-all;
}
.lower_txt ul{
   padding-left: 28px;
}
.lower_txt li{
   position: relative;
   margin-bottom: 5px;
}
.lower_txt li:before{
   content: "";
   position: absolute;
   top: 11px;
   left: -18px;
   display: block;
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background-color: #0070cc;
}
.lower_txt table{
   width: 70%;
}
.lower_txt .js-scrollable table{
   min-width: 500px;
}
.lower_txt th{
   text-align: left;
   font-weight: normal;
   padding: 6px 15px;
   width: 45%;
}
.lower_txt tr:nth-child(2n + 1){
   background-color: #effbff;
}
.lower_txt td{
   padding: 6px 15px;
}


@media screen and (max-width: 1024px) {
   .is--pc {display: none !important;}
   .is--sp {display: block !important;}

   body {
      font-size: 1.5rem;
   }
   main{
      padding-bottom: 60px;
   }
   .header{
      padding: 10px;
   }
   .header_area1{
      display: grid;
      grid-template-columns: 1fr 50px;
      width: 100%;
   }
   .header_logo p{
      padding-left: 18px;
      font-size: 15px;
   }
   .header_menubtn{
      position: relative;
      display: block;
      width: 50px;
      height: 50px;
   }
   .header_menubtn:before{
      content: "";
      position: absolute;
      top: 8px;
      left: 6px;
      display: block;
      width: 38px;
      height: 2px;
      background-color: #00599b;
      transition: all 0.3s;
   }
   .header_menubtn:after{
      content: "";
      position: absolute;
      bottom: 8px;
      left: 6px;
      display: block;
      width: 38px;
      height: 2px;
      background-color: #00599b;
      transition: all 0.3s;
   }
   .header_menubtn .header_menubtn__parts{
      position: absolute;
      top: calc(50% - 1px);
      left: 6px;
      display: block;
      width: 38px;
      height: 2px;
      background-color: #00599b;
   }
   .header_menubtn.is--active:before{
      content: "";
      position: absolute;
      top: calc(50% - 1px);
      transform: rotate(45deg);
   }
   .header_menubtn.is--active:after{
      content: "";
      position: absolute;
      top: calc(50% - 1px);
      transform: rotate(-45deg);
   }
   .header_menubtn.is--active .header_menubtn__parts{
      display: none;
   }
   .header_area2{
      position: absolute;
      top: 80px;
      left: 0;
      z-index: 20;
      display: none;
   }
   .header_area2.is--open{
      display: block;
   }
   .header_area2 ul{
      padding: 0;
      flex-direction: column;
      background-color: #fff;
   }
   .header_area2 ul li{
      width: 100%;
      padding: 15px;
      border-bottom: 1px solid #eee;
      text-align: center;
   }
   .header_area2 ul li:first-child{
      border-top: 1px solid #eee;
   }
   .top_kv{
      padding: 0 15px 80px;
   }
   .top_kv:after{
      height: 80px;
   }
   .top_kv_inner{
      gap: 20px;
      grid-template-columns: 390px 1fr;
   }
   .top_kv_img{
      padding: 10px;
   }
   .top_kv_txt{
      padding: 40px 0;
   }
   .top_kv_txt h1{
      font-size: 26px;
      letter-spacing: 2px;
      margin-bottom: 18px;
   }
   .top_kv_txt h1 span{
      font-size: 32px;
   }
   .top_kv_txt h2{
      width: 100%;
      max-width: 352px;
      margin-bottom: 30px;
      padding: 5px 10px 7px;
      font-size: 15px;
   }
   .top_kv_txt p{
      font-size: 18px;
   }
   .top_info{
      margin-top: 30px;
      margin-bottom: 30px;
      padding: 15px;
      grid-template-columns: 1fr;
   }
   .top_info_box{
      padding: 20px;
   }
   .top_info_box h3{
      padding: 6px 0 6px 50px;
      font-size: 20px;
   }
   .top_info_box h3:before{
      width: 30px;
      height: 30px;
   }
   .bg1:before{
      width: 30%;
      max-width: 160px;
   }
   .bg1:after{
      width: 30%;
   }
   .bg1 .bg_parts{
      width: 26%;
      max-width: 120px;
   }
   .contents_wrap{
      padding: 50px 0;
   }
   .contents_ttl h2{
      font-size: 26px;
   }
   .contents_intro p{
      font-size: 16px;
   }
   .top_seminar__table{
      overflow-x: scroll;
   }
   .top_seminar__table table{
      width: 900px;
   }
   .top_seminar__table tr{
      border-bottom: 1px solid #ccc;
   }
   .top_seminar__table th{
      position: sticky;
      left: 0;
      background-color: #f9f9f9;
      width: 50px;
      font-size: 16px;
      padding: 8px;
      writing-mode: tb;
      z-index: 1;
   }
   .top_seminar__table td{
      padding: 8px;
      border-right: 1px solid #ccc;
      font-size: 14px;
   }
   .top_seminar__table tr td:nth-child(2n){
      background-color: transparent;
   }
   .business{
      font-size: 20px;
      line-height: 28px;
      padding: 15px 12px;
   }
   .news_box{
      grid-template-columns: 1fr;
   }
   .news_ttl{
      padding-left: 2em;
   }
   .footer{
      padding: 40px 20px 55px;
   }
   .footer_logo{
      font-size: 17px;
   }
   .footer_nav{
      display: block;
      text-align: center;
   }
   .footer_nav a{
      display: inline-block;
      margin: 5px 10px;
   }
   .lower_ttl{
      padding: 100px 15px 45px;
   }
   .lower_ttl h1{
      font-size: 25px;
   }
   .lower_txt h2{
      font-size: 23px;
   }
   .lower_txt h4{
      font-size: 17px;
   }
   .lower:before{
      width: 35%;
      height: 400px;
      background-position: top right;
   }
   .lower:after{
      top: 140px;
      width: 20%;
      height: 300px;
      background-position: bottom right;
   }

}


@media screen and (max-width: 680px){
   .top_kv_inner {
      padding: 20px 0 0;
      grid-template-columns: 1fr;
      gap: 10px;
      place-items: center;
   }
   .top_kv_txt{
      width: 100%;
      padding: 0;
      order: 2;
   }
   .top_kv_img{
      width: 300px;
      max-width: 70%;
      order: 1;
   }
}