@charset "utf-8";

/*****************************************************************

	SP 共通レイアウト定義

*****************************************************************/

/* ====== BASE Module SET ===== */
html.menu_on{
	overflow: hidden;
}
body{
}

img{
	max-width: 100%;
}

.tel_dis{ cursor: pointer; }

.sp_i{ display: inline; }
.sp_b{ display: block; }

.pc_i{ display: none; }
.pc_b{ display: none; }

.pc_ib{ display: none; }
.sp_ib{ display: inline-block; *display: inline; zoom: 1; }

#sub ul a,
.link{
	display: block;
	position: relative;
	text-decoration: none;
	overflow: hidden;
}

#sub ul a::after,
.link::after{
	content:"";
	display: block;
	width:10px;
	height:10px;
	border-top:1px solid #999;
	border-right:1px solid #999;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right:10px;
	top:50%;
	margin-top:-7px;
}

/*============================================================
	Page / column
============================================================*/
#page{
	min-width: 320px;
	overflow: hidden;
}

.inner{
	width: 80%;
}
.inner.inner_single{
	padding: 0 0 50px;
}

/*============================================================
	Page / column
============================================================*/
/* Main Design */

.sec_page #main{ padding-bottom: 20px;}
#main p,
#main ul,
#main dl,
#main ol,
#main blockquote,
#main pre,
#main td,
#main th{

}
/* default */
#main ul ul,
#main ul p,
#main ul blockquote,
#main ul pre,
#main ul dl,
#main dl dl,
#main dl p,
#main dl ul,
#main dl ol,
#main blockquote p,
#main blockquote ul,
#main blockquote dl,
#main blockquote ol,
#main ol blockquote,
#main ol pre,
#main ol p,
#main td p,
#main td ul,
#main td dl{
	font-size: 100%;
}
#main .top_menu_btn .txt{ padding: 15px}

/*============================================================
	TOP
============================================================*/
#main .top_image_main .txt{
	padding: 22px 27px;
	width: auto;
	margin: auto;
	left: 0;
}

#main .top_sec{
	padding: 70px 0;
}

#main .sec_info_top{
	padding: 50px 0 50px 0;
}

#main .top_head{
	color: #003988;
	font-size: 20px;
	margin-bottom: 2em;
}
#main .sec_info_top h2{
	font-size: 20px;
	background-size: 30px 30px;
	padding: 5px 0 5px 35px;
	margin-bottom: 0.5em;
}
#main .top_sec_menu{ padding-top: 10px;}
/* ===== into ===== */

#main .sec_info_top{
	padding: 70px 0;
}
	#main .top_menu_btns,
	#main .top_menu_btns+div{
		padding: 0;
	}
	#main .top_menu_btn_map{
		margin-top: 50px;
	}
	#main .top_menu_btn_map a{
		display: block;
		background: url(../images/menu_n_3.jpg) no-repeat right top ;
		background-size: contain;
		padding:35% 20px 0  20px;
	}
	#main .top_menu_btn_map .txt{
		padding: 60px 30px 35px 30px;
		width: 100%;
		background-color: #003988;
	 
	}
	#main .top_menu_btn_map .pic{
		display: none;
	}
	#main .top_menu_btn_map .batch{
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
	#main .top_menu_btn_map h2{
		font-size: 125%;
		margin-bottom: 1em;
	}
	#main .top_menu_btn_map h2+p{
		margin-bottom: 2em;
	}

#main .top_menu_btn_map a{
	padding-top: 109px;
	padding-left: 35px;
	padding-right: 35px;
	background-image: url(../images/menu_n_3_sp.jpg);
}
.top_menu_btn_map {
    margin-top: 80px !important;
}
/* ===== news ===== */
#main .top_tab_news .tab_area{
	margin-bottom: 40px;
	position: relative;
}
#main .top_tab_news .tab_area li{
	width: 100%;
	float: none;
	margin-bottom: 5px;
}

#main .top_sec_news .btn_more{
	width: 100%;
	padding: 20px;
}

#main .top_menu_tab .tab_area{	font-size: 88%;}
#main .top_menu_tab .tab_area li a {
padding: 28px 10px;
    display: flex;
    align-items: center;
    line-height: 1.5;
		justify-content: center;
}
#main .top_menu_tab .tab_area li a:before{
	border-width: 16px;
	bottom: -32px;
	margin-left: -16px;
}
#main .top_tab_news .tab_area_sp{
	margin-bottom: 10px;
}
#main .top_tab_news .tab_area_sp a{
	display: block;
	padding: 12px;
	text-align: center;
	font-weight: bold;
	color: #003988;
	background: #f2f3f3;
	text-decoration: none;
}

#main .top_tab_news .tab_area_sp li{
	position: relative;
}
#main .top_tab_news .tab_area_sp ul{
	position: absolute;
	width: 100%;
	z-index: 2;
	display: none;
}
#main .top_tab_news .tab_area_sp .select_on+ul{
	display: block;
}
#main .top_tab_news .tab_area_sp .select{
	position: relative;
}
#main .top_tab_news .tab_area_sp .select::before{
	display: block;
	content:"▼";
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -0.5em;
}
/*============================================================
	2nd Page
============================================================*/
#main .path{
	font-size: 68%;
	padding: 0;
	text-align: left;
}

#main .s_page_head{
	padding:  calc( 53% - 77px ) 0 0 0;
	margin-bottom:  10%;
}

#main .s_page_head .in{
	display: inline-block;
	transform: translate(0, 34px);
	padding: 20px 30px;
}

#main .s_page_head h1{
	font-size: 25px;
	margin-bottom: 0;
}

#main .s_page_head .sub{
	display:  none;
}

#main .sec_page_item{
	margin-bottom:  50px;
	padding-bottom:  50px;
}
.information_page #main .sec_page_item,
.about_page #main .sec_page_item{
	margin-bottom:  50px;
	padding-bottom:  50px;
}

#main .sec_page_item:last-child{ margin-bottom: 0;}

#main .entry h2,
#main .page_title{
	font-size: 20px;
	margin-bottom: 13px;
}
.privacy_page #main .page_title{
	margin-bottom: 20px;
}
#main .entry h2,
#main .entry h3,
#main .data_head,
#main .page_title_sub{
	font-size: 14px;
}
/*
#main .entry h3,
#main .page_title_sub{
	font-size: 16px;
}
*/
.journal_page #main .page_title_sub{
	font-size: 19px;
}
#main h4.page_title_sub{
	font-size: 16px;
}


#main p+.sec_page_item{ margin-top: 50px;}
#main .sec_page_item:last-child{ margin-bottom: 0; border: 0; padding-bottom: 0;}

#main .link_area .btn_dl_pdf{ background-size: 12px auto;}
/*============================================================
	Download Page
============================================================*/
#main .link_btn_area li,
#main .link_area li{
	width:  49%;
}
.pamphlet_page #main .link_area.link_area_02 li{
	width:  100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.leaflet_ttl, .leaflet_img {
	width: 100%;
}
.leaflet_btn {
	width: calc(50% - 5px);
}
#main .link_btn_area li{ width:  100%; }
/*============================================================
	roster_search_box Page
============================================================*/
#main .roster_search_box{
	display: block;
}
#main .roster_search_box section{
	padding:  7% 3% 20px 3%;
	width:  100%;
}

#main .sec_roster_search_box_2 ul{
	display:  block;
}
#main .sec_roster_search_box_2 li{
	width:  100%;
}

.roster #main p{
	font-size: 13px;
}

#main .link_btn_area a {
    padding: 1em 10px;
    text-align: center;
}

/*============================================================
	roster
============================================================*/
#main .tbl_search_roster_head{display:  none; }

/*============================================================
	result Page
============================================================*/
#main .tbl_search_roster{
	display:  block;
	border:  0;
}
#main .tbl_search_roster tr,
#main .tbl_search_roster tbody{ display:  block; }
#main .tbl_search_roster th,
#main .tbl_search_roster td{
/*
	display:  block;
*/
	padding:  5px;
	border:  0;
	border-bottom:  1px solid #003988;
	margin:  0;
	min-height: 40px;
	line-height: 1.5em;
	display: flex;
	justify-content: center;
	align-items: center;
}


#main .tbl_search_roster tr{
	margin-bottom:  30px;
	border:  1px solid #003988;
	border-top-width:  3px;
	border-bottom-width:  2px;
}
#main .tbl_search_roster th,
#main .tbl_search_roster .td_type,
#main .tbl_search_roster td{
	text-align:  center;
}
#main .tbl_search_roster th{
	background:  #F2F3F3;
}

#main .ico_roster{
	width:  7em;
	font-size:  78%;
}
#main .tbl_search_roster .ico_roster{
display: inline-block;
margin:  auto;
}
#main .tbl_search_roster .tbl_search_roster_head{ display:  none}
#main .tbl_search_roster .tbl_search_roster_head_sp{
/*
	display: block;
*/
	display: flex;
	justify-content: center;
	align-items: center;
}
#main .area_link a{
	font-size: 15px;
}
/*============================================================
	info
============================================================*/
.information_page #main .link_area{
	margin-bottom: -50px;
    margin-top: 30px;
}

#main .tbl_meet,
#main .tbl_history{
	width:  100%;
/*
	border-top:  0;
*/
}
#main .entry .tbl_meet{
	border-top:  0;
}
#main .entry .tbl_meet td{
	border-bottom:  0;
}

#main .tbl_meet,
#main .tbl_meet tbody,
#main .tbl_meet tr,
#main .tbl_meet td,
#main .tbl_meet th{
	width:  100%;
	display:  block;
}
#main .tbl_meet th,
#main .tbl_meet td{
	padding:  12px 0;
	border:  0;
}
#main .tbl_meet th{
	border-top:  1px solid #003988;
	text-align: 	center;
}
#main .tbl_meet tr:first-of-type th{
	border-top-width: 3px;
}

#main .tbl_meet td,
#main .tbl_history td{
}
.information_page .info_bana_btnbox{
	width: 100%;
	font-size: 13px;
	margin: 100px 0 0;
}
.information_page #main .info_bana_btnbox .infobtn_com_arw{
	width: 30px;
	height: 30px;
	background-size: 8px;
}

.information_page #main .info_bana_btnbox .infobtn_com_txt{
	line-height: 30px;
}


.meeting .ico_cate{
	font-size: 11px;
}
#main .meet_data dt,#main .meet_data dd{
	font-size: 11px;
}
#main .tbl_join th,
#main .tbl_join td{ text-align:  center;}

#main .about_box{
	display:  block;
}
#main .about_box .pic{
	width:  100%;
	padding-top:  35%;
	background-size: cover;
}
#main .about_box .txt{
	width:  100%;
}

#main .about_box .txt{
	padding:  20px;
}
#main .profile_box{ margin-bottom:  30px; }
#main .profile_box .txt{
	padding:  20px 20px;
}
#main .profile_box .txt h3{
	font-size:  100%;
	margin-bottom:  0;
}
#main .profile_box .txt h3{
	margin-top: 20px;
}
#main .link_area_book .link_title,
#main .link_area .link_title{
	font-size: 13px;
	margin:  0 0 15px 0;/*1em*/
	padding-bottom:  15px;/*1em*/
}
#main .link_area li{
		margin-bottom: 2em;
}
.information_page #main .history_txt{
	font-size: 14px;
}
#main .about_box {
    margin-top: 30px;
}


/*============================================================
	officer Page
============================================================*/
#main .officer_tb th,
#main .officer_tb td{
	padding:  15px 10px;
	font-size: 14px;
}
.officer #main .page_title_sub{
	margin-bottom: 15px;
	margin-top: 40px;
}

.officer #main {
	padding-bottom: 50px;
}
/*
#main .officer_tb{
	width: 	 100%;
	border:  1px solid #003988;
	table-layout: auto;
	border-top-width:  2px;
}
#main .officer_tb th,
#main .officer_tb td{
	padding:  15px 15px;5px
	border:  1px solid #003988;
	border-right:  1px solid #707070;
	border-left:  1px solid #707070;
	min-height:60px;
	vertical-align: middle;
	background: #fff;
}

#main .officer_tb th{
	width: 7em;
}

#main .officer_tb td{
	width: calc( 100% - 7em );
}


#main .officer_tb th{
	text-align:  center;
}
#main .officer_tb tr:first-child{
	border:  1px solid #003988;
	border-top-width:  3px;
}
#main .officer_tb tr:last-child{
	border:  1px solid #003988;
	border-bottom-width:  3px;
}


.officer #main .page_title_sub{
	margin-bottom: 15px;
	margin-top: 40px;
}
*/


/*============================================================
	abuot Page
============================================================*/
span.ilbk{
	display: inline-block;
}


#main .point_list{
	margin-bottom: 4em;
}

#main .point_list li{
	width: 100%;/*49%*/
	margin-bottom:  2%;
}
#main .page_about_menu{
	display: block;
}

#main .page_about_menu li{
	width:  100%;
	margin-bottom: 2%;
	font-size: 13px;
}
#main .page_about_menu li br{
	display: none;
}

#main .page_about_menu a{
	display: block;
	padding: 15px 10px;
}

#main .page_about_menu a::before{
}

#main .sec_about .pic{ float: none; width:  100%; margin-bottom: 1em;}
#main .sec_about .txt{ float: none; width:  100%;}

#main .sec_about_anime{
	display: block;
}
/*
#main .sec_about .page_title_sub{
	font-size: 16px;	
}
*/
.about_page #main .page_about_menu {
    margin: 1.5em 0 3em;
}
.about_page #main .btn_more_b{
	line-height: 1.5em;
	width: 100%;
}

#main .sec_about_anime_item:nth-of-type(1){ width: 100%; margin-bottom: 1em;}
#main .sec_about_anime_item:nth-of-type(2){ width: 100%; margin-bottom: 1em;}
#main .sec_about_anime_item:nth-of-type(3){ width: 100%;}
#main .list_qa { margin-bottom:  3em;}
#main .list_qa li{
	padding-left: 40px;
}
#main .list_qa li::before{
	width:  35px;
}
#main .q_head{
	padding:  10px;
}

#main .faq_cate_item header{
	padding:  15px 30px 15px 70px;
}

#main .q_head::before,
#main .faq_cate_item header::after{
	top: 50%;
	right:  10px;
	font-display: 20px;
}
#main .faq_cate_item header:before{
	top:  20px;
	left: 10px;
	font-size: 40px;
}

#main .faq_cate_item_a{
	padding:  15px 30px 15px 70px;
	position: relative;
}
#main .faq_cate_item_a::before{
	top:  20px;
	left: 10px;
	font-size: 40px;
}
#main .t_page_head h1{
	font-size: 20px;
	padding:  40px 0 50px;
	text-align:  left;
	text-indent: 0;
}

/*============================================================
	abuot Page
============================================================*/
.facility_page #main p{
	font-size: 13px;
}
.facility_page #main h3{
	font-size: 14px;
}
.facility_page #main .btn_dl_pdf{
	font-size: 14px;
}
#main .link_area .btn_dl_pdf {
	background: url(../images/ico_dl_pdf.svg) no-repeat 97% 50% #fff;
	background-size: 12px auto;
}

/*============================================================
	meeting Page
============================================================*/
.meeting .ico_cate{
	font-size: 11px;
}
.meeting #main .news_list_top li{
		width: 100%;
		float: none;
		border-right:none;
		padding: 0;
		margin-bottom: 30px;
}
#main .meet_list dl dt{
	font-size: 11px;
	padding: 5px 2em;
}
#main .meet_list dl dd{
	font-size: 12px;
}
.meeting #main .main_area p{
	font-size: 14px;
}
.medical #main .meet_list .title,
.meeting #main .meet_list .title{
	font-size: 13px;
}
.medical #main .meet_list time{
	font-size: 11px;
}

/*============================================================
	join Page
============================================================*/
.join_page #main .sec_page_item p{
	font-size: 14px;
}

/*============================================================
	journal Page
============================================================*/
.journal_page #main .link_area_book li {
	width: 100%;
	margin-bottom: 2em;
}

/*============================================================
	publication page
============================================================*/
#main .pub_nav ul{ margin-bottom:  30px;}
#main .pub_nav li{ width:  100%;
	margin-bottom: 5%;
}
#main .pub_nav{
	margin-top: 30px;
}
.publication_page #main .batch{
	margin-right: 7px;
}

/*============================================================
	privacy page
============================================================*/
.privacy_page #main .page_title {
    font-size: 17px;
}

/*============================================================
	English
============================================================*/
#main .sec_page_item_en{
	margin-bottom: 50px;
}
#main .en_inner{
	padding: 20px;
	background: #fff;
}
#main .sec_memlist_en .col,
#main .sec_memlist_en{
	float: none;
	width: 100%;
	margin-bottom: 1em;
}
#main .sec_memlist_en .col{ margin: 0; }
#main .sec_memlist_en .col:nth-of-type(2n),
#main .sec_memlist_en:nth-of-type(2n){
	float: none;
}
#main .sec_memlist_en .col:nth-of-type(2n+1),
#main .sec_memlist_en:nth-of-type(2n+1){
	clear: both;
}


#main .profile_box{
	flex-direction:  row;
}
#main .profile_box .pic{
    width: 50%;
    padding-top: 50%;
}
#main .profile_box .pic,
#main .profile_box .txt{
	width:  50%;
}

/*============================================================
	Link Page
============================================================*/
#main .link_page_list li {
    width: 100%;
}

/*============================================================
	form
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/

/*============================================================
	XXXX
============================================================*/


/*============================================================
	Footer
============================================================*/
#page_footer{
	padding: 30px 0 20px 0;
	font-size: 12px;
}

#page_footer dl{
	margin-bottom: 3em;
}
#page_footer dt,
#page_footer dd{
	display: block;
}

#page_footer dt{
	font-weight: bold;
	margin-right: 0;
	margin-bottom: 1em;
}
#page_footer dl li{
	display: inline-block;
	line-height: 2;
}

#page_footer .foot_utl_menu{
	margin: 2em 0 0 0;
}
#page_footer .copy{
	width: 100%;
	float: none;
	margin-top: 4em;
	text-align: center;
}
#page_footer .foot_logo{
	width: 60px;
	margin: 0 auto 20px auto;
}


.tg_bt{
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

.tg_bt i:before,
.tg_bt i:after{
	right: 7%;
}

.tg_ttl{
	padding-left: 7%;
	padding-right: 7%;
}

.tg_item_wrap {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	background-color: #fff;
}


.tg_bt2{
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

.tg_bt2 i:before,
.tg_bt2 i:after{
	right: 7%;
}

.member .tg_item_wrap {
	padding-left: 7%;
	padding-right: 7%;
}

.member #main .tg_wrap .link_area .link_title{
	font-size: 13px;
}


#main .info_list_bana_top{
	margin: 0;
	background: #f2f3f3;
	padding: 20px 4.8558%;
	font-weight: bold;
	display: flex;
	flex-flow: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .info_list_bana_top li{
	width: 98%;
	max-width: 572px;
	margin: 10px 0 0;
}

#main .info_list_bana_top li:first-of-type{
	margin: 0;
}


