a:hover {
  opacity: 0.5;
}

.pc {
	display: block;
}
.sp {
	display: none;
}

.header {
	position: fixed;
	top: 0;
	left: 0;
	clear: both;
	width: 100%;
	z-index: 25;
	height: auto;
	background:rgba(255,255,255,1);
	box-shadow: 0 3px 5px -0px rgba(0, 0, 0, .2);
	font-feature-settings: "palt";
	letter-spacing: 0.1rem;
	line-height: 2.1;
}
.sphead-button {
	display: none;
}
.headtitle {
	float: left;
}
header h1 {
	font-size: 14px;
    font-size:min(0.8vw,14px);
	font-weight: normal;
	margin: 10px 0 0 20px;
	padding: 0;
	width: 750px;
}
.header_logo img {
	width: 355px;
	transition: all 0.3s ease;
    margin-left:20px;
    margin-top:10px;	
}

.headright {
	float: right;
	width: 600px;
	margin-right: 10px;
}
.headbutton {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}
.headbutton li {
	width: 32%;
	color:#fff;
	text-align: center;
	padding: 5px;
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;
	display: inline-block;
}
.headbutton li a {
	color:#fff;
	font-weight: 600;
	 display: block;
}

.hb01 {
	background: #b3b3b3;
	position: relative;
}
.hb02 {
	background: #1cb871;
}
.hb03 {
	background: #4187f0;
}
.hb04 {
	background: #4187f0;
    width:45% !important;
	position: relative;
	font-weight: 600;
}
.hb04:before {
	content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    width: 20px;
    height: 20px;
    background-image: url("../../images/common/user-doctor-solid.png");
    background-size: contain;
    vertical-align: middle;
	position: absolute;
	left:10px;
	top:10px;
	background-repeat: no-repeat;
}
.hb04:after {
	content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    width: 15px;
    height: 9px;
    background-image: url("../../images/common/caret-down-solid.png");
    background-size: contain;
    vertical-align: middle;
	position: absolute;
	right:10px;
	top:17px;
	background-repeat: no-repeat;
}
.hb05 {
	background: #262626;
	position: relative;
	padding: 0 5px !important;
    width:20% !important;
	display: inline-block;
}

.hb05 i {
	font-size: 2.4rem !important;
	position: relative;
	top:8px;
}


.headbutton .hb05 span  {
	position: relative;
	display: inline-block;
	top:3px;
	margin: 0;
	margin-left: 5px;
	color: #fff;
	width: 30px;
    height: 30px;
	border-radius: 50%;
    background: #db0182;
    text-align:center;
    line-height: 30px;
	font-size: 1.2rem;
	letter-spacing: 0;
}


.hb01:before {
	content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
 width: 20px;
  height: 25px;
   background-image: url("../../images/common/syosinsya.png");
  background-size: contain;
  vertical-align: middle;
	position: absolute;
	left:15px;
	top:8px;
}

.headbutton02 {
	display: flex;
	justify-content: space-between;
	
}
.headbutton02 li {
	 display: inline-block;
}
.headbutton02 li a {
	font-weight: 600;
	display: block;
	text-align: center;
	color: #fff; 
	width:100%;

}
.history {
	background: #262626;
	position: relative;
	width: 180px;
	height: 40px;
	line-height: 40px;
    display: flex;
    justify-content: center;
    align-items: right;
	padding-left: 15px;
	font-size: 1.4rem;
}
.favorite {
	background: #262626;
	position: relative;
	width: 180px;
	height: 40px;
	line-height: 40px;
    display: flex;
    justify-content: center;
    align-items: right;
	padding-left: 15px;
	font-size: 1.4rem;
}
.headtel {
    font-size: 2.8rem;
	font-family: 'Roboto', sans-serif;
	line-height: 0.6;
	margin-top: 5px;
	letter-spacing: 0;
}
.headtel span {
	font-size: 10px;
	line-height:0.6;
	font-family: "Yu Gothic","游ゴシック",YuGothic,"Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"MS Pゴシック",Helvetica,Arial,Verdana,sans-serif;
	letter-spacing: 0.05rem;
}
.headtel a {
color:#222 !important;
}

.history:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;/*←ココ*/
  content: "\f017";
  position: absolute;
  left : 0.5em; 
  color: #fff; 
  font-size: 1.8rem;
}
.favorite:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;/*←ココ*/
  content: "\f004";
  position: absolute;
  left : 0.5em; 
  color: #fff; 
  font-size: 1.8rem;
}
.history .headcount,
.favorite .headcount {
	color:#fc1466;
	font-size: 2.2rem;
}


.header_btn {
	overflow: hidden;
	clear: both;
	width: 1120px;
	margin: auto;
	display: flex;
	justify-content: space-between;
}
.header_btn li {
	width: 18%;
}
.header_btn li a {
	display: block;
    padding: 0px 0;
	font-size: 1.5rem;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0;
	border-right: 1px solid #dcdcdc;
	margin: 15px 0 10px 0;
	color:#212121;
}
.header_sp_btn {
	display: none;
}
.menutel-box {
		display: none;
}

@media screen and (max-width: 1500px) {
	

	
.header_logo img {
	width: 300px;
	transition: all 0.3s ease;
	-webkit-transition: .35s ease-in-out;
	    -moz-transition: .35s ease-in-out;
	    transition: .35s ease-in-out;
}
header h1 {
	font-size: 14px;
    font-size:min(0.8vw,14px);
	font-weight: normal;
	margin: 10px 0 0 20px;
	padding: 0;
	width: 500px;
	line-height: 1.7;
}
	
.headright {
	float: right;
	width: 630px;
	margin-right: 10px;
}
.headbutton {
	display: flex;
	justify-content: space-between;
	margin-bottom: 5px;
}
.headbutton li {
	width: 31%;
	color:#fff;
	text-align: center;
	padding: 5px;
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;
	display: inline-block;
}
.headbutton li a {
	color:#fff;
	font-weight: 600;
	 display: block;
}

.hb01:before {
	content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
 width: 20px;
  height: 25px;
   background-image: url("../../images/common/syosinsya.png");
  background-size: contain;
  vertical-align: middle;
	position: absolute;
	left:15px;
	top:8px;
}

.headbutton02 li a {
	font-weight: 600;
	 display: block;
	text-align: center;
	color: #fff; 
}
.history {
	background: #262626;
	position: relative;
	width: 180px;
	height: 40px;
	line-height: 40px;
display: flex;
  justify-content: center;
  align-items: right;
	padding-left: 15px;
	font-size: 1.4rem;
}
.favorite {
	background: #262626;
	position: relative;
	width: 180px;
	height: 40px;
	line-height: 40px;
display: flex;
  justify-content: center;
 align-items: right;
	padding-left: 15px;
	font-size: 1.4rem;
}
.headtel {
    font-size: 2.8rem;
	font-family: 'Roboto', sans-serif;
	line-height: 0.6;
	margin-top: 5px;
	letter-spacing: 0;
}
.headtel span {
	font-size: 10px;
	line-height:0.6;
	font-family: "Yu Gothic","游ゴシック",YuGothic,"Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"MS Pゴシック",Helvetica,Arial,Verdana,sans-serif;
	letter-spacing: 0.05rem;
}
.headtel a {
color:#222 !important;
}

.history:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;/*←ココ*/
  content: "\f017";
  position: absolute;
  left : 0.5em; 
  color: #fff; 
  font-size: 1.8rem;
}
.favorite:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;/*←ココ*/
  content: "\f004";
  position: absolute;
  left : 0.5em; 
  color: #fff; 
  font-size: 1.8rem;
}

.header_btn {
	overflow: hidden;
	clear: both;
	width: 1120px;
	margin: auto;
	display: flex;
	justify-content: space-between;
}

.header_btn li a {
	display: block;
    padding: 0px 0;
	font-size: 1.5rem;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0;
	border-right: 1px solid #dcdcdc;
	margin: 15px 0 10px 0;
	color:#212121;
}
.header_btn li a {
	display: block;
    padding: 0px 0;
	font-size: 1.4rem;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0;
	border-right: 1px solid #dcdcdc;
	margin: 15px 0 10px 0;
	color:#212121;
}
	
	


	
}

@media screen and (max-width: 1200px) {
	
.pc {
	display: none;
}
.sp {
	display: block;
}
	
.header {
		height: auto;
		overflow: initial;
	    background:rgba(255,255,255,1);	
	position: relative;
	position: fixed;
}
.sphead-button {
	display: block;
	clear: both;
}

.headtitle {
	float: left;
}
header h1 {
	display: none;
}
.header_logo img {
	width: 235px;
	transition: all 0.3s ease;
    margin-left:10px;
	margin-top: 15px;
}
.headright {
	display: none;
}
.headbutton {
	display: flex;
	justify-content: space-between;
	margin-bottom: 0px;
}
.headbutton li {
	width: 50%;
	color:#fff;
	text-align: center;
	padding: 2px;
	border-bottom-right-radius: 0px;
	border-bottom-left-radius: 0px;
	display: inline-block;
	font-size: 1.5rem
}
.headbutton li a {
	color:#fff;
	font-weight: 600;
	 display: block;
}


.header_sp_btn {
		position: relative;
		float: right;
		display: block;
		width: 60px;
		height: 60px;
		margin-right: -10px;
}
.header_sp_btn span {
	    display: block;
	    position: absolute;    /* .navToggleに対して */
	    width: 30px;
	    border-bottom: solid 3px #222;
	    -webkit-transition: .35s ease-in-out;
	    -moz-transition: .35s ease-in-out;
	    transition: .35s ease-in-out;
	    left: 6px;
}
.header_sp_btn span:nth-child(1) { top: 18px;}
.header_sp_btn span:nth-child(2) { top: 28px;}
.header_sp_btn span:nth-child(3) { top: 38px;}
.header_sp_btn.active span:nth-child(1) {
	    top: 28px;
	    left: 6px;
	    -webkit-transform: rotate(-45deg);
	    -moz-transform: rotate(-45deg);
	    transform: rotate(-45deg);
}
.header_sp_btn.active span:nth-child(2),
.header_sp_btn.active span:nth-child(3) {
	    top: 28px;
	    -webkit-transform: rotate(45deg);
	    -moz-transform: rotate(45deg);
	    transform: rotate(45deg);
}
.header_nav {
		position: fixed;
		top: 60px;
		left: 0;
		width: 100%;
		float: none;
		height: 0px;
		overflow: hidden;
		background:#4285f3;
		transition: all 0.3s ease;
	    z-index: 2000;
}
.header_nav.active {
		height: 100vh;
		transition: all 0.3s ease;
}
.header_btn {
	overflow: hidden;
	clear: both;
	width: auto;
	margin: auto;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	margin: 10px;
}
.header_btn li {
		float: none;
		width: 100%;
		border-bottom: 1px #fff solid;
}
.header_btn li a {
		padding: 0px;
		text-align: center;
		font-size: 1.6rem;
		color: #fff;
	    border-right: 0px;
	margin: 5px 0 5px 0;
}

	
.header_btn li a:after {
    color: #fff;
}
li.mainbutton {
	background: #fff;
	border-bottom: 0px #fff solid !important;
	margin-bottom: 10px;
	padding: 5px 0;
	box-shadow:0px -8px 8px -1px #dadada inset;
}
li.mainbutton a {
	color: #4187f0 !important;
	font-size: 1.8rem;
	
}
	
.menutel-box {
		width: 95%;
		margin: 10px auto;
	display: block;
}

a.menutel {
	position: relative;
	color: #fff;
	text-align: center;
	text-decoration: none;
	transition: all .3s;
	font-size:3rem;
	font-weight: bold;
	background: #1cb871;
	line-height: 0.7;
	width: auto;
	box-sizing: border-box;
	color: #fff !important;	
	letter-spacing: 0;
	margin: auto;
	padding: 20px 15px;
	font-family: 'Roboto', sans-serif;
	box-shadow:0px -8px 8px -1px #019f57 inset;
}
.menutel span {
	font-size: 1.2rem;
	font-family: "Yu Gothic","游ゴシック",YuGothic,"Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"MS Pゴシック",Helvetica,Arial,Verdana,sans-serif;
	}
a.menutel:after {
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 10px;
    height: 10px;
    margin-top: -5px;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
}
a.menutel  {
	color: #fff !important;	
	display: block;
	width: 100%;
}
	
.hb04 {
width:70% !important;
}
.hb04:before {
	content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    width: 17px;
    height: 17px;
    background-image: none;
    background-size: contain;
    vertical-align: middle;
	position: absolute;
	left:10px;
	top:9px;
	background-repeat: no-repeat;
	background-image: url("../../images/common/user-doctor-solid.png");
}
.hb04:after {
	content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    width: 12px;
    height: 7px;
   background-image: none;
    background-size: contain;
    vertical-align: middle;
	position: absolute;
	right:10px;
	top:15px;
	background-repeat: no-repeat;
	 background-image: url("../../images/common/caret-down-solid.png");
}

.hb05 {
	background: #262626;
	position: relative;
	padding: 0 5px !important;
    width:30% !important;
	display: inline-block;
}

.hb05 i {
	font-size: 2rem !important;
	position: relative;
	top:3px;
}


.headbutton .hb05 span  {
	position: relative;
	display: inline-block;
	top:0px;
	margin: 0;
	margin-left: 5px;
	color: #fff;
	width: 25px;
    height: 25px;
	border-radius: 50%;
    background: #db0182;
    text-align:center;
    line-height: 25px;
	font-size: 1rem;
	letter-spacing: 0;
}


}


.subpage .header {
	
	background: #fff !important;
}


.subpage .header_contact {
	background:rgba(12,107,40,1) !important;
	color: #fff;
	margin-left: 30px;
	margin-top:15px;
	margin-right:15px;
	padding: 20px 20px !important;	
}

.subpage .min_header .header_contact {
	background:rgba(0,100,40,1);
	color: #fff;
	margin-left: 30px;
	margin-top:0px;
	margin-right:0px;
	padding: 20px 20px !important;	
}





/* --------------------------　ログイン時のメニュー　-------------------------- */

.panel-wrap{
  position: relative;
  padding: 0;
}
.panel-wrap a{
  text-decoration: none;
  color: #fff;
}

a.panel-btn{
  display: block;
  position: relative;
  z-index: 100;
  text-decoration: none;
}
a.panel-btn:before {
	content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    width: 20px;
    height: 20px;
    background-image: url("../../images/common/user-doctor-solid.png");
    background-size: contain;
    vertical-align: middle;
	position: absolute;
	left:10px;
	top:5px;
}
a.panel-btn:after {
	content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    width: 15px;
    height: 9px;
    background-image: url("../../images/common/caret-down-solid.png");
    background-size: contain;
    vertical-align: middle;
	position: absolute;
	right:10px;
	top:12px;
	background-repeat: no-repeat;
}

.panel {
  display: none;
  position: absolute;
  top: 45px;
  right: -5px;
  z-index: 1000;
  width: 250px;
  margin-left: -10px;
  padding: 0px 10px;
  background: #fff;
  border: 5px solid #93bcfb;
  border-radius: 3px;
  box-shadow: 0 2px 5px 1px rgba(0,0,0,.2);
	color:#000 !important;
	text-align: left !important;
	font-size:1.5rem !important;
}
.panel:after,#panel:before {
  content: "";
  position: absolute;
  height: 0;
  width: 0;
}
.panel:after {
  top: -35px;
  right: 80px;
  border: 15px solid transparent;
  border-bottom: 15px solid #93bcfb;
}

.panel a {
	color:#0146ab !important;
	text-align: left !important;
}

.opm01 {
	border-bottom: 1px solid #d2d2d2;
	font-weight: 600;
}

.opm01 a {
	position: relative;
	display: inline-block;
	color: #0146ab;
	font-size:1.5rem;
	padding: 5px 0;
	text-align: left !important;
	width: 100%;
}
.opm01 a:after {
    display: block;
    position: absolute;
    top: 50%;
    right: 0px;
    width: 6px;
    height: 6px;
    margin-top: -5px;
    border-top: solid 2px #0146ab;
    border-right: solid 2px #0146ab;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
}

.opm02 a {
	position: relative;
	display: inline-block;
	color: #0146ab;
	font-size:1.5rem;
	padding: 0px 0;
	text-align: left !important;
	font-weight: 600;
	width: 100%;
}
.opm02 a:after {
    display: block;
    position: absolute;
    top: 50%;
    right: 0px;
    width: 6px;
    height: 6px;
    margin-top: -5px;
    border-top: solid 2px #0146ab;
    border-right: solid 2px #0146ab;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
}
.opnbox {
	border-bottom: 1px solid #d2d2d2;
	padding-bottom: 5px;
}
.opnbox h3 {
	font-size: 1.5rem;
	padding: 10px 0 0;
	margin: 0;
}


@media screen and (max-width: 1200px) {
	
/* --------------------------　ログイン時のメニュー　-------------------------- */

.panel-wrap{
  position: relative;
  padding: 0;
}
.panel-wrap a{
  text-decoration: none;
  color: #fff;
}

a.panel-btn{
  display: block;
  position: relative;
  z-index: 100;
  text-decoration: none;
}
a.panel-btn:before {
	content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    width: 20px;
    height: 20px;
    background-image: url("../../images/common/user-doctor-solid.png");
    background-size: contain;
    vertical-align: middle;
	position: absolute;
	left:10px;
	top:5px;
	background-repeat: no-repeat;
}
a.panel-btn:after {
	content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    width: 10px;
    height: 6px;
    background-image: url("../../images/common/caret-down-solid.png");
    background-size: contain;
    vertical-align: middle;
	position: absolute;
	right:10px;
	top:12px;
	background-repeat: no-repeat;
}

.panel {
  display: none;
  position: absolute;
  top: 45px;
  left: auto;
  right:5px;
  z-index: 1000;
  width: 92vw;
  margin-left: 0px;
  padding: 0px 10px;
  background: #fff;
  border: 5px solid #93bcfb;
  border-radius: 3px;
  box-shadow: 0 2px 5px 1px rgba(0,0,0,.2);
	color:#000 !important;
	text-align: left !important;
	font-size:1.5rem !important;
	box-sizing: border-box;
}
.panel:after,#panel:before {
  content: "";
  position: absolute;
  height: 0;
  width: 0;
}
.panel:after {
  top: -35px;
  left: auto;
	right:35px;
  border: 15px solid transparent;
  border-bottom: 15px solid #93bcfb;
}

.panel a {
	color:#0146ab !important;
	text-align: left !important;
}

.opm01 {
	border-bottom: 1px solid #d2d2d2;
}

.opm01 a {
	position: relative;
	display: inline-block;
	color: #0146ab;
	font-size:1.4rem;
	padding: 8px 0;
	text-align: left !important;
}
.opm01 a:after {
    display: block;
    position: absolute;
    top: 50%;
    right: 0px;
    width: 6px;
    height: 6px;
    margin-top: -5px;
    border-top: solid 2px #0146ab;
    border-right: solid 2px #0146ab;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
}

.opm02 a {
	position: relative;
	display: inline-block;
	color: #0146ab;
	font-size:1.4rem;
	padding: 0px 0;
	text-align: left !important;
}
.opm02 a:after {
    display: block;
    position: absolute;
    top: 50%;
    right: 0px;
    width: 6px;
    height: 6px;
    margin-top: -5px;
    border-top: solid 2px #0146ab;
    border-right: solid 2px #0146ab;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
}
.opnbox {
	border-bottom: 1px solid #d2d2d2;
	padding-bottom: 5px;
}
.opnbox h3 {
	font-size: 1.4rem;
	padding: 10px 0 3px;
	margin: 0;
}


	
}





/* --------------------------　ログイン時のメニュー 改　-------------------------- */

.modal-open{
	cursor: pointer;
}

.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
    box-sizing: border-box;
	z-index: 2;
}

/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
	opacity: 1;
	visibility: visible;
}
/*モーダル枠の指定*/
.modal-body{
	position: absolute;
	width: 270px;
	top: 60px;
	right: 10px;
}

/*モーダル内のコンテンツの指定*/
.modal-content{
	background: #fff;
	text-align: left;
	border: 5px solid #93bcfb;
    border-radius: 3px;
	padding: 0px 10px;
}
.modal-content:after,#panel:before {
  content: "";
  position: absolute;
  height: 0;
  width: 0;
}
.modal-content:after {
  top: -30px;
  right: 80px;
  border: 15px solid transparent;
  border-bottom: 15px solid #93bcfb;
}

@media screen and (max-width: 1200px) {
	
/* --------------------------　ログイン時のメニュー　-------------------------- */

.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
    box-sizing: border-box;
	z-index: 2;
}

/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
	opacity: 1;
	visibility: visible;
}
/*モーダル枠の指定*/
.modal-body{
	position: absolute;
	width: 90%;
	right: auto;
	box-sizing: border-box;
	top: 110px;
    left: 50%;
    transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
}

/*モーダル内のコンテンツの指定*/
.modal-content{
	background: #fff;
	text-align: left;
	border: 5px solid #93bcfb;
    border-radius: 3px;
	padding: 0px 10px;
	box-sizing: border-box;
}
.modal-content:after,#panel:before {
  content: "";
  position: absolute;
  height: 0;
  width: 0;
}
.modal-content:after {
  top: -30px;
  right: 80px;
  border: 15px solid transparent;
  border-bottom: 15px solid #93bcfb;
}

	
}