@charset "utf-8";

/*----------------------------------------------
	メディアクエリ 1450px以下
---------------------------------------------*/
@media (max-width: 1204px){
  .l_mv {
    background-position: -90px -60px, bottom;
  }

  .l_side_contents > * {
    margin-left: 30%;
  }
  /*  .l_wrap
  ------------------------------------- */
  .l_header .l_wrap {
    padding: 0;
  }
  /*  .l_header
  ------------------------------------- */
  .l_header {
    padding: 0;
  }
  /*  .l_nav
  ------------------------------------- */
  .l_nav.open {
    position: relative;
    flex-direction: column;
    align-items: unset;
    z-index: 999;
  }
  .l_nav .is_sp_nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 15px 10px;
    background: var(--color_white);
    box-shadow: 0px 3px 5px hsla(0, 0%, 20%, 0.16);
    z-index: 999;
  }
  /*  .c_btn
  ------------------------------------- */
  .c_btn.is_mypage a {
    width: 100%;
    padding: 1vh 6vh 1vh 7vh;
    font-size: 2vh;
  }
  /*  .c_logo
  ------------------------------------- */
  .c_logo.is_header {
    width: 45vw;
    margin-bottom: 0;
    max-width: inherit;
  }
  .c_logo.is_footer {
    width: 100%;
    margin-bottom: 8vw;
  }
  /*  .c_menu
  ------------------------------------- */
  .c_menu {
    display: none;
  }
  .open .c_menu {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100vh;
    padding: 12vh 0 13vh 0;
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 1);
    overflow-y: scroll;
  }

  .c_menu a {
    height: auto;
  }
  
  .c_menu li {
    padding: 0 10px;
    text-align: center;
  }

  .c_menu .is_main_menu li {
    width: 100%;
  }
  
  .c_menu .is_main_menu,
  #menu-header_main_nav {
    grid-auto-flow: row;
    justify-items: center;
    gap: 2.5vh;
    width: 100%;
    font-size: 2.5vh;
  }
  .c_menu .is_sub_menu {
    flex-direction: column;
    margin-bottom: 30vw;
    gap: 2.5vh;
    font-size: 2.5vh;
  }
  .c_menu .is_sub_menu a img {
    width: 30px;
    margin: 0 10px;
  }

  .c_menu .is_main_menu li:hover .is_menu_children {
    max-height: inherit;
    padding: 0;
  }
  .c_menu .is_main_menu li .is_menu_children {
    max-height: inherit;
    padding: 0;
    margin-top: 5px;
    border-top: 1px dotted var(--color_green);
  }
  .is_menu_children {
    position: inherit;
    left: inherit;
    top: inherit;
    width: 100%;
    margin-top: 0;
    border-radius: 5px;
    background: #fff;
    box-shadow: none;
  }
  .sub-menu {
    margin-bottom: 0px;
    margin-left: 0px;
  }
  .is_menu_children li a {
    font-size: 2vh;
  }
  .is_menu_children li:not(:last-child) {
    margin-bottom: 5px;
    padding-bottom: 10px;
  }
  .is_menu_children li:first-child {
    padding-top: 10px;
  }

  /*  .c_ham
  ------------------------------------- */
  .c_ham {
    display: block;
    position: relative;
    width: 4vw;
    height: 3vw;
    background: none;
    border: none;
    cursor: pointer;
  }
  .c_ham span {
    position: absolute;
    width: 100%;
    height: .3vw;
    background: var(--color_black);
    transition: .2s;
  }
  .c_ham span:nth-child(1) {
    top: 0;
    left: 0;
  }
  .c_ham span:nth-child(2) {
    top: 50%;
    left: 0;
    translate: 0 -50%;
  }
  .c_ham span:nth-child(3) {
    top: 100%;
    left: 0;
    translate: 0 -100%;
  }
  .open .c_ham span:nth-child(1) {
    top: 50%;
    translate: 0 -50%;
    rotate: 45deg;
  }
  .open .c_ham span:nth-child(2) {
    opacity: 0;
  }
  .open .c_ham span:nth-child(3) {
    top: 50%;
    translate: 0 -50%;
    rotate: -45deg;
  }
}


/*----------------------------------------------
	メディアクエリ 1024px以下
---------------------------------------------*/
@media (max-width: 1024px){
  body { font-size: 16px; }
  .l_wrap,
  .l_wrap2 {
    padding: 0 10px;
  }
  
  /*----------------------------------------------
    共通
  ---------------------------------------------*/
  /*  .u_mab
  ------------------------------------- */
  .u_mab5 { margin-bottom: 0.66vh; }
  .u_mab60 { margin-bottom: 9.27vh; }
  .u_mab70 { margin-bottom: 10.59vh; }
  .u_mab90 { margin-bottom: 12.24vh; }
  .u_mab100 { margin-bottom: 13.56vh; }
  .u_mab200 { margin-bottom: 28.12vh; }
  .u_mab10, .u_sp_mab10 { margin-bottom: 1.32vh; }
	.u_mab15, .u_sp_mab15 { margin-bottom: 1.98vh; }
	.u_mab20, .u_sp_mab20 { margin-bottom: 2.65vh; }
	.u_mab25, .u_sp_mab25 { margin-bottom: 3.31vh; }
	.u_mab30, .u_sp_mab30 { margin-bottom: 3.97vh; }
	.u_mab40, .u_sp_mab40 { margin-bottom: 5.30vh; }
	.u_mab50, .u_sp_mab50 { margin-bottom: 7.95vh; }

  .u_sp_ALcenter { text-align: center!important; }
  
  .u_pc { display: none; }
  .u_sp { display: block; }
  .u_flex.is_sp_column { flex-direction: column; }
  .u_flex.is_sp_column_re { flex-direction: column-reverse; }
  .u_flex.is_sp_ai_center { align-items: center!important; }
  
  /*  .c_ttl_type01
  ------------------------------------- */
  .c_ttl_type01 {
    margin: 40px 0 60px 0;
    font-size: 36px;
  }
  .c_ttl_type01 span {
    font-size: 16px;
  }
  
  /*  .c_ttl_type02
  ------------------------------------- */
  .c_ttl_type02 {
    padding: 7px 5px 7px 7px;
    border-left: 4px solid #359B35;
    font-size: 24px;
    letter-spacing: 0;
  }
  .c_ttl_type02 span {
    font-size: 4vw;
  }
  .c_ttl_type02.is_meeting,
  .c_ttl_type02.is_medical {
	margin-right: 0 !important;
    margin-bottom: 5.5vw;
    font-size: 14vw;
    line-height: 1;
	  text-align: center;
  }
  .c_ttl_type02.is_about,
  .c_ttl_type02.is_journals {
    margin-bottom: 10vw;
    font-size: 12vw;
    text-align: left;
    line-height: 1.2;
  }
  .c_ttl_type02.is_education,
  .c_ttl_type02.is_research {
    margin-bottom: 10vw;
    font-size: 12vw;
    line-height: .8;
    text-align: center;
  }
  
  /*  .c_ttl_type03
  ------------------------------------- */
  .c_ttl_type03 {
    padding-bottom: 7px;
    font-size: 20px;
    letter-spacing: 0;
  }
  .c_ttl_type03::before,
  .c_ttl_type03::after {
    height: 2px;
  }
  
  /*  .c_ttl_type04
  ------------------------------------- */
  .c_ttl_type04 {
    font-size: 18px;
  }
  
  /*  .c_btn_type
  ------------------------------------- */
  .c_btn.is_contact a {
    font-size: 16px;
  }
  #top .c_btn_type01 {
    margin-left: 0!important;
    margin-right: 0;
  }
  #top .c_btn_type02,
  .c_btn_type02 a,
  .is-style-c_btn_type02 a {
    min-width: auto;
    font-size: 16px;
    padding: 15px 40px 15px 20px;
  }
  .c_btn_type02 a,
  .is-style-c_btn_type02 a {
    padding: 15px 40px 15px 20px;
    font-size: 16px;
  }
  .c_btn_type02,
  .c_btn_type02.is_w550 a,
  .is-style-c_btn_type02 a {
    width: 100%;
    min-width: auto;
  }
  #top .c_btn_type02.is_w550,
  .c_btn_type02.is_w550,
  .c_btn_type02.is_w550 a,
  .is-style-c_btn_type02.is_w550 a,
  #top .c_btn_type02.is_w330,
  .c_btn_type02.is_w330,
  .c_btn_type02.is_w330 a,
  .is-style-c_btn_type02.is_w330 a,
  #top .c_btn_type02.is_w200,
  .c_btn_type02.is_w200,
  .c_btn_type02.is_w200 a,
  .is-style-c_btn_type02.is_w200 a,
  #top .c_btn_type02.is_w280,
  .c_btn_type02.is_w280,
  .c_btn_type02.is_w280 a,
  .is-style-c_btn_type02.is_w280  {
    width: 100%;
    font-size: 16px;
  }
  
  .inner .c_btn_type02.is_pdf a::after,
  .block-editor-iframe__html .is-style-c_btn_type02.is_pdf a::after {
    background-image: url(../images/icon_btn_pdf01.png);
    height: 20px;
  }
  #top .c_btn_type02::after,
  .c_btn_type02 a::after,
  .is-style-c_btn_type02 a::after {
    right: 15px;
    width: 20px;
  }
  /*  .c_table_type01
  ------------------------------------- */
  .c_table_type01 thead td {
    padding: 10px;
  }

  .c_table_type01 tbody th,
  .c_table_type01 tbody td:nth-child(1) {
    padding: 10px;
  }
  .c_table_type01 thead th,
  .is-style-c_table_type01 thead th {
    padding: 10px;
  }
  .c_table_type01 tfoot td,
  .is-style-c_table_type01 tfoot td {
    padding: 10px;
  }
  .c_table_type01 tbody td,
  .is-style-c_table_type01 tbody td {
    padding: 10px;
    font-size: 14px;
  }
  .is_history table td:nth-child(2) {
    width: 27%;
  }
  /*  .c_logo
  ------------------------------------- */
  .c_logo.is_header {
    width: 78vw;
  }
  
  /*  .c_ham
  ------------------------------------- */
  .c_ham {
    display: block;
    position: relative;
    width: 12vw;
    height: 10vw;
    background: none;
    border: none;
    cursor: pointer;
  }
  .c_ham span {
    position: absolute;
    width: 100%;
    height: .5vw;
    background: var(--color_black);
    transition: .2s;
  }
  
  
  /*----------------------------------------------
    トップ
  ---------------------------------------------*/
  /*  .l_firstview_area
  ------------------------------------- */
  .l_firstview_area {
    margin-bottom: 850px!important;
  }
  /*  .l_mv
  ------------------------------------- */
  .l_mv {
    height: 100vw;
    background-position: -18vw;
    background-size: cover, cover;
  }
  /*  .l_side_contents
  ------------------------------------- */
  .l_side_contents {
    top: 3vw;
    left: 10px;
    translate: 0;
    width: calc(100% - 20px);
  }
  .l_side_contents > * {
    margin-left: 0;
  }
  /*  .l_link_area
  ------------------------------------- */
  .l_link_area {
    position: absolute;
    left: 50%;
    width: 50%;
    grid-auto-flow: row;
    grid-row-gap: 2vw;
    font-size: 3.3vw;
    grid-template-columns: 1fr;
  }
  .l_link_area > div  {
    cursor: pointer
  }
  .l_link_area img {
    margin-bottom: 1vw;
  }
  .l_link_area p {
    position: relative;
    padding: 2vw 2.3vw 2vw 2.3vw;
  }
  /*.l_link_area p::after {
    content: "";
    position: absolute;
    top: 45%;
    right: 2.3vw;
    translate: 0 -50%;
    width: 12px;
    height: 12px;
    background-image: url("../images/icon_btn_side_white.png");
    background-size: 100%;
    background-repeat: no-repeat;
    transition: .2s;
  }*/
  .l_link_area .is_member p,
  .l_link_area .is_patient p {
    height: inherit;
  }
  /*.l_link_area p.open::after {
    rotate: -90deg;
  }*/
  .l_link_area ul {
    padding: 0 2.3vw 0 2.3vw;;
    /*max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s;*/
  }
  /*.l_link_area ul.open {
    max-height: 200px;
  }*/
  .l_link_area ul li:last-child {
    padding-bottom: 2vw;
  }
  .l_link_area a {
    padding-right: .5vw;
    font-size: 2.3vw;
  }
  .l_link_area a::after {
    width: 2vw;
    height: 2vw;
    margin-left: 1vw;
  }
  .is_member::before {
    width: 14vw;
    height: 10vw;
  }
  .is_doctor::before {
    width: 14vw;
    height: 15vw;
  }
  .is_patient::before {
    width: 14vw;
    height: 10vw;
  }
  /*  .l_news_area
  ------------------------------------- */
  .l_news_and_topics {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  /*  .l_news_area
  ------------------------------------- */
  .l_news_area {
    margin-top: 100vw;
    margin-right: 0;
    padding: 5px;
    background: hsla(0, 0%, 100%, 0.90);
  }
  .l_news_area h2 {
    margin-bottom: 10px;
    padding-top: 10px;
    font-size: 30px;
    line-height: 0.8;
  }
  .l_news_area dl {
    display: block;
  }
  .l_news_area dd:not(:last-child) {
    margin-bottom: 10px;
  }
  .l_news_area dt::before {
    width: 16px;
    height: 16px;
  } 
  /*  .l_topics_area
  ------------------------------------- */
  .l_topics_area {
    margin-right: 0;
    padding: 20px 0 0 20px;
    background: hsla(0, 0%, 100%, 0.90);
  }
  .l_topics_area h2 {
    font-size: 30px;
    line-height: 0.8;
  }
  .l_topics_area dl {
    display: block;
    padding: 0 20px 0px 5px;
  }
  .l_topics_area dd:not(:last-child) {
    margin-bottom: 10px;
  }
  /*  .l_bnr_area
  ------------------------------------- */
  .l_bnr_area {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-right: 0;
  }
  .l_bnr_area p {
    width: 100%;
    text-align: center;
    background: var(--color_white);
  }
  .l_bnr_area p:hover {
    opacity: 0.7;
  }
  .l_bnr_area img {
    width: 100%;
    height: auto;
  }
  .l_bnr_area2 {
    grid-template-columns: 1fr 1fr;
  }
  /*  .l_slide_area
  ------------------------------------- */
  .l_slide_area .is_slide_btn {
    bottom: -160px;
    left: 50%;
    translate: -50% 0;
  }
  .is_slide_dots {
    left: 50%;
    translate: -50% 0;
  }
  .is_slide_dots ul {
    width: 100%;
  }
  .c_top_slidebox h3 {
    font-size: 24px;
  }
  .c_top_slidebox h3::after {
    width: 20px;
    height: 20px;
    top: calc(100% - 6px);
    translate: 0 -100%;
}
  .c_top_slidebox a {
    padding: 20px;
  }

  .c_section .is_top_slide_text {
    width: auto;
    margin-right: 0;
    flex-direction: column;
  }
  
  .top_slider {
    grid-template-columns: 1fr;
  }

  /*  .l_journals_area
  ------------------------------------- */
  .l_journals_area {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 2vw;
    background-position: center 30vw;
  }
  .l_journals_area h3 {
    font-size: 16px;
  }
  /*  .l_medical_main
  ------------------------------------- */
  .l_medical_main {
    width: 96%;
    margin-left: 10px;
    margin-right: 0;
  }
  .is_medical_box {
    width: 100%;
    margin-bottom: 20px;
    padding: 20px;
  }
  .is_medical_image {
    height: inherit;
  }
  .is_medical_image img {
    width: 100%;
    height: auto;
  }
  /*  .l_education_area
  ------------------------------------- */
  .l_education_area {
    flex-direction: column-reverse;
  }
  .is_education_images {
    width: 100%;
    height: auto;
    margin-top: 60px;
  }
  .is_education_images img {
    height: auto;
  }
  .is_education_text {
    width: 100%;
  }
  /*  .l_research_area
  ------------------------------------- */
  .l_research_area {
    flex-direction: column;
  }
  .is_research_images {
    width: 100%;
    height: 50vw;
    margin-top: 60px;
  }
  .is_research_text {
    width: 100%;
  }
  .is_research_images img {
    width: 100%;
    height: auto;
  }
  /*  .l_footer_area
  ------------------------------------- */
  .l_footer_area {
    grid-auto-flow: row;
    column-gap: 2vw;
    padding: 40px 0 20px 0;
  }
  .is_footer_ttl {
    text-align: center;
  }
  .is_footer_sns {
    justify-content: center;
  }
  .is_footer_ttl a:not(.sub-menu > li > a) {
    font-size: 16px;
  }
  /*  .l_copyright
  ------------------------------------- */
  .l_copyright {
    font-size: 2.5vw;
  }

  /*  .u_about_img
  ------------------------------------- */
  .u_about_img {
    position: inherit;
    width: 100%;
    margin-top: 0;
  }

  /*  .c_table_outline01
  ------------------------------------- */
  .c_table_outline01 tr {
    display: grid;
    grid-template-columns: 6em 1fr;
    padding-bottom: 5px;
  }
  .c_table_outline01.is_yakuin tr {
    grid-template-columns: 6em 1fr;
  }
  .c_table_outline01 th {
    padding-top: 5px;
    text-align: left;
    grid-area: 1 / 1 / 2 / 3;
  }
  .c_table_outline01 td:nth-of-type(1) {
    grid-area: 2 / 1 / 3 / 2;
    padding-left: 0;
  }
  .c_table_outline01 td:nth-of-type(2) {
    grid-area: 2 / 2 / 3 / 3;
  }

  .c_list_type01.is_decimal li, .is-style-c_list_type01.is_decimal {
    padding-left: 1.4em;
  }
  .c_list_type01.is_disc li::before, .is-style-c_list_type01.is_disc li::before {
    top: 10px;
  }
  .c_list_type01.is_triangle li::before, .is-style-c_list_type01.is_triangle li::before {
    top: 8px;
  }
  .c_list_type01.is_diamond li::before, .is-style-c_list_type01.is_diamond li::before {
    top: 10px;
  }

  /*  .u_outline_grid
  ------------------------------------- */
  .u_outline_grid > div {
    grid-template-columns: 1fr;
    gap: 0;
  }

  /*  .u_poster_images
  ------------------------------------- */
  .u_poster_images {
    grid-template-columns: 1fr 1fr 1fr;
  }


  /*  中ページ　計算系
  ------------------------------------- */
  #cmas table tr {
    display: grid;
  }
  #cmas table th {
    width: 100%;
    padding: 10px;
  }
  #cmas table td {
    padding: 0 10px 10px 10px;
  }
  #cmas select.chosen1 {
    margin-bottom: 0;
  }

  .tg-0lax:first-child {
    width: 30%;
  }

}


