@charset "UTF-8";

/* ==========================================================
 【 共通Header css - レスポンシブ - 】

 レスポンシブの共通ヘッダーcssを記述

 ========================================================== */

/* ----------------------------------------
	Over Write Base Setting
---------------------------------------- */

@media screen and (max-width: 767px) {
	body {
		min-width: 0;
	}
	.container {
		width: auto;
		padding-right: 4.6875%;
		padding-left: 4.6875%;
	}
}


/* ----------------------------------------
	header
---------------------------------------- */
.header {
	width: 100%;
	border-bottom: 3px solid #ddd;
	background: #fff;
}
@media screen and (max-width: 767px) {
	.header {
		position: fixed;
		z-index: 999;
	}
}

/* container */
.header .container {
	padding-top: 15px;
	padding-bottom: 12px;
}
@media screen and (max-width: 767px) {
	.header .container {
		padding-top: 10px;
		padding-bottom: 8px;
	}
}

/* header_logo
---------------------------------------- */
.header_logo {
	float: left;
	width: 294px;
	padding: 16px 0;
}
@media screen and (max-width: 767px) {
	.header_logo {
		width: 179px;
		padding: 4px 0;
	}
}

@media screen and (max-width: 299px) {
   .header_logo {
		width: calc(100% - 90px);
   }
}

/* a */
.header_logo a {
	display: block;
}


.header_logo_right {
	width: 100%;
	text-align: right;
	padding: 16px 0;
}

.header_logo_right img {
    width: 160px;
}

@media screen and (max-width: 767px) {
	.header_logo_right {
		width: 179px;
		padding: 4px 0;
	}
}

/* a */
.header_logo_right a {
	display: block;
}



/* header_menus
---------------------------------------- */
.header_menus {
	float: right;
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	.header_menus {
		display: none;
	}
}

.header_sp {
    display: none;
	float: right;
}

@media screen and (max-width: 767px) {
	.header_sp {
		display: block;
		width: 90px;
		height: auto;
		padding-top: 0;
		-webkit-background-size: 100% auto;
		background-size: 100% auto;
		overflow: hidden;
	}
}

@media screen and (max-width: 299px) {
    .header_sp {
        width: 85px;	
    }
}


/* header_menu_sp
---------------------------------------- */
.header_language {
	display: none;
	float: left;
}
@media screen and (max-width: 767px) {
	.header_language {
		display: block;
		width: 40px;
		height: 43px;
		background: url(../../images/sp/header/btn_sp_english.png) 0 50% no-repeat;
		-webkit-background-size: 100% auto;
		background-size: 100% auto;
		overflow: hidden;
	}
	
	.header_language  > a {
	  display: block ;
	  width: 100%;
	  height: 100%;	
	}
}


/* header_menu_sp
---------------------------------------- */
.header_menu_sp {
	display: none;
	float: right;
}
@media screen and (max-width: 767px) {
	.header_menu_sp {
		display: block;
		width: 43px;
		height: 42px;
		 background: url(../../images/sp/header/btn_menu.png) 0 50% no-repeat;
		-webkit-background-size: 100% auto;
		background-size: contain;
		overflow: hidden;		
	}
	
	.header_menu_sp.is_open  {
		background: url(../../images/sp/header/btn_menu_close.png) 0 50% no-repeat;
		background-size: contain;
	}
	
}

/* ----------------------------------------
	hnav
---------------------------------------- */
.hnav {
	float: right;
}
@media screen and (max-width: 767px) {
	.hnav {
		display: none;
	}
}

/* gnav_lists
---------------------------------------- */
.hnav_lists {
	font-size: 1em;
	overflow: hidden;
	margin-right: 200px;
}

/* item_list */
.hnav_lists .item_list {
	float: left;
	margin-left: 12px;
}
.hnav_lists .item_list:before {
	content: "/";
	display: inline-block;
	color: #cbcbcb;
	margin-right: 10px;
}
.hnav_lists .item_list:first-child:before {
	display: none;
}


/* a */
.hnav_lists .item_list a:hover {
	color: #80c6db;
	text-decoration: none;
}


/* ----------------------------------------
	gnav
---------------------------------------- */
.gnav {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.gnav_inner {
		position: relative;
	}

.gnav_list_wrapper {
		width: 100%;
	}

.header_search {
		position: absolute;
		right:0;
		top: -40px;
}
.header_search form {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.header_search input[type=search] {
	height: 30px; 
	margin-left: 20px;
	padding-left: 5px;
	border: 1px solid #222222;
	width: 140px;
	font-size: 14px;
	box-shadow: none;
	transition: none;
}

.header_search input[type=search]:focus {
	border-radius: 4px;
	border: 2px solid #000;
	outline: 0;
}

.header_search input[type=search]::placeholder {
   color: #888;
}

.header_search .form-actions {
   height: 30px;
}

.header_search input[type=submit]  {
	height: 30px ;
	margin-left: -1px;
	width: 30px ;
	padding: 0 !important;
	border:  1px solid #222222;
	background: none;
	background-image: url("../../images/pc/header/search_icon.png");
	background-size: contain;
}

@media screen and (min-width: 768px) {
     .gnav {
     	 display: block !important;  
     }
}

@media screen and (max-width: 767px) {
	.gnav {
		position: fixed;
		top: 57px;
		left: 0;
		right: 0;
		bottom: 0;
		display: none;
		width: 100%;
		overflow-y: scroll;		
		background: rgba(92,92,92,0.7);
		white-space: nowrap;
  	   -ms-overflow-style: none;
  	    scrollbar-width: none;
	}
	
	.gnav::-webkit-scrollbar {
		 display:none;	
	}

	.gnav_list_wrapper {
		background-color: #d7d7d7;
		width: auto;
		padding-right: 4.6875%;
		padding-left: 4.6875%;
		padding: 1.5625%;
	}

	.header_search_wrapper {
        background-color: #d7d7d7;
		width: auto;
		padding: 1.5625% 0; 
	}

	.header_search {
		position: relative;
		top: 0;
		padding: 30px 0 20px 0;
		background: #FFF;
	}

	.header_search form {
       width: 94%;
       justify-content: center;
       padding: 0 3%;
    }

   	.header_search form .form-item {
       width:  calc(100% - 60px);
    }
 

   .header_search form input[type=search]  {
	  width: 100%;
	  margin-left: 0;
    }
   .header_search form input[type=search]:focus  {
		border: 2px solid #f09140;
    }

}

/* container */
.gnav .container {
	padding-top: 0;
	padding-bottom: 16px;
}
@media screen and (max-width: 767px) {
	.gnav .container {
		padding: 0;
	}
}

/* gnav_lists
---------------------------------------- */
.gnav_lists {
	line-height: 2.2;
}
@media screen and (max-width: 767px) {
	.gnav_lists {
		background-color: #fff;
		padding: 1.5625%;
	}
}

/* item_list */
.gnav_lists .item_list {
	float: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	text-align: center;
	position: relative;
}
.gnav_lists .item_list a {
	display: block;
	
}
.gnav_lists .item_list > a {
	border-right: 1px solid #c6c6c6;
}
.gnav_lists .item_list:first-child > a {
	border-left: 1px solid #c6c6c6;
}
.gnav_lists .item_list:hover > a {
	color: #80c6db; 
	text-decoration: none;
}

.gnav_lists .item_list span:after {
	content: "";
	display: inline-block;
	width: 11px;
	height: 11px;
	background: url(../../images/pc/header/icon_link_sprite.png) 0 0 no-repeat;
	margin-left: 3px;
}
.gnav_lists .item_list:hover span:after {
	background-position: 0 100%;
}

.gnav_lists .item_list.item_03 .sublist_open_button,
.gnav_lists .item_list.item_05 .sublist_open_button {
    display: block;
	position: absolute;
	width: 20px;
	height: 11px;
	background: url(../../images/pc/header/arrow_down.png) 0 0 no-repeat;
	top: 35px;
}

.gnav_lists .item_list.is_open .sublist_open_button {
   transform: scale(1, -1);
   top: 30px !important;

}

.gnav_lists .item_list.item_03 .sublist_open_button {
	left: 95px;
}
.gnav_lists .item_list.item_05 .sublist_open_button {
	left: 65px;
} 


@media screen and (max-width: 767px) {
	.gnav_lists .item_list {
		float: none;
		border-top: 1px solid #d7d7d7;
		text-align: left;
	}
	.gnav_lists .item_list a {
		padding: 1.5625% 7.258064516%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		background: url(../../images/sp/header/arrow_menu_pink_l.png) 94.35483871% 50% no-repeat;
		-webkit-background-size: 18px 18px;
		background-size: 18px 18px;
	}
	.gnav_lists .item_list > a {
		border-right: 0;
		font-size: 1.07em;
	}
	.gnav_lists .item_list:hover > a {
		color: #000;
		text-decoration: none;
	}
	.gnav_lists .item_list:hover > a:after {
		background-position: 0 100%;
	}
	.gnav_lists .item_list:hover span:after {
	background-position: 0 0;
    }
}

@media screen and (max-width: 299px) {
  	.gnav_lists .item_list > a {
		font-size: 0.85em;
	}
}


/* items */
.gnav_lists .item_01 {
	width: 260px;
}
.gnav_lists .item_02 {
	width: 230px;
}
@media screen and (max-width: 767px) {
	.gnav_lists .item_01,
	.gnav_lists .item_02 {
		position: relative;
		width: auto;
		padding: 3.225806451% 1.612903225% 1.612903225% 3.225806451%;
		border: 0;
	}
	.gnav_lists .item_02 {
		padding: 1.612903225% 1.612903225% 3.225806451% 3.225806451%;
	}
	.gnav_lists .item_01 a,
	.gnav_lists .item_02 a {
		position: relative;
		border: 1px solid #c6c6c6;
		-webkit-border-radius: 3px;
		-moz-border-radius: 3px;
		border-radius: 3px;
		background: #f1f1f1 url(../../images/sp/header/bg_menu_patient.png) 100% 0 no-repeat;
		-webkit-background-size: auto 100%;
		background-size: auto 100%;
	}
	.gnav_lists .item_02 a {
		background-image: url(../../images/sp/header/bg_menu_medicalexpert.png);
	}
	.gnav_lists .item_01 a:before,
	.gnav_lists .item_02 a:before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		display: block;
		border-left: 4px solid #e975ba;
		height: 40px;
		margin-top: -20px;
	}
	.gnav_lists .item_01 a:after,
	.gnav_lists .item_02 a:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		display: block;
		width: 16px;
		height: 16px;
		background: url(../../images/sp/header/arrow_menu_pink_s.png) 100% 50% no-repeat;
		-webkit-background-size: 100% auto;
		background-size: 100% auto;
		margin-top: -8px;
	}
}

.gnav_lists .item_03 {
	width: 210px;
}
.gnav_lists .item_04 {
	width: 150px;
	letter-spacing: .05em;
}
.gnav_lists .item_05 {
	width: 150px;
	letter-spacing: .1em;
}
.gnav_lists .item_06 {
	display: none;
}
@media screen and (max-width: 767px) {
	.gnav_lists .item_03 {
		width: auto;
	}
	.gnav_lists .item_04 {
		width: auto;
		letter-spacing: .05em;
	}
	.gnav_lists .item_05 {
		width: auto;
		letter-spacing: .1em;
	}
	.gnav_lists .item_06 {
		display: block;
		width: auto;
		color: #e975ba;
		letter-spacing: .1em;
	}
	.gnav_lists .item_list.skin_has_sublist > a {
		background-image: url(../../images/sp/header/icon_plus.png);
	}

	.gnav_lists .item_list.skin_has_sublist.is_open  > a {
		background-image: url(../../images/sp/header/icon_minus.png) !important;
	}

	.gnav_lists .item_list.item_03 .sublist_open_button,
    .gnav_lists .item_list.item_05 .sublist_open_button {
        display: none;  
    } 
    
}

/* gnav_sublists
---------------------------------------- */
.gnav_sublists {
	position: absolute;
	width: 210px;
	border-top: 2px solid #008bb6;
	text-align: left;
	font-size: .94em;
	background-color: #fff;
	-webkit-box-shadow: 0 2px 1px rgba( 155,155,155,0.3);
	-moz-box-shadow: 0 2px 1px rgba( 155,155,155,0.3);
	box-shadow: 0 2px 2px 1px rgba( 155,155,155,0.3);
	top: 50px;
}

.gnav_sublists .item_sublist > a:focus {
    text-decoration: underline !important;
}

.gnav_lists .item_list.is_open .gnav_sublists {
   	  display: block !important;
  }

@media screen and (min-width: 768px) {
	.gnav_sublists {
		overflow: hidden;
		display: none;
	}
	.gnav_sublists .item_sublist {
		height: 40px;
		line-height: 40px;
		overflow: hidden;
	}
}
@media screen and (max-width: 767px) {
	.gnav_sublists {
		display: none;
		position: static;
		width: auto;
		border-top: 1px solid #d7d7d7;
		text-align: left;
		font-size: 1.0em;
		background-color: #fff;
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		box-shadow: none;
	}
}
@media print {
	.gnav_sublists {
		display: none;
	}
}

/* item_sublist */
.gnav_sublists .item_sublist {
	border: 1px solid #bbb;
	border-top: 0;
}
.gnav_sublists .item_sublist a {
	padding: 2px 2px 2px 18px;
}
.gnav_sublists .item_sublist a:before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	background: url(../../images/pc/header/nav_arrow_sprite.png) 0 0 no-repeat;
	margin-right: 5px;
}
.gnav_sublists .item_sublist:hover a {
	color: #595757;
	text-decoration: none;
}
.gnav_sublists .item_sublist:hover a:before {
	background-position: 0 100%;
}
@media screen and (max-width: 767px) {
	.gnav_sublists .item_sublist {
		border: 0;
		border-top: 2px solid #fff;
		background-color: #ededed;
	}
	.gnav_sublists .item_sublist:first-child {
		border: 0;
	}
	.gnav_sublists .item_sublist a {
		padding: 0.806451612% 7.258064516% 0.806451612% 14.516129032%;
		background-image: url(../../images/sp/header/arrow_menu_blue.png);
	}
	.gnav_sublists .item_sublist a:before {
		display: none;
	}
}

.hidden {
	display: none;
} 
