@charset "utf-8";

/*===cariier===cariier===cariier===
...................................

-------------------------- SP ONLY

...................................
===cariier===cariier===cariier===*/

@media screen and (max-width:599px) {
	.pc_only,
	.pctb_only,
	.sp_none,
	.tb_only {
		display: none !important;
	}
	html {
		font-size: 2.4vw;
	}
	.inner,
	.inner_s {
		width: 90vw;
		margin-left: 5vw;
		margin-right: 5vw;
	}
	.mtll {
		margin-top: 15vw !important;
	}
	.mbll {
		margin-bottom: 15vw !important;
	}
	.ptll {
		padding-top: 15vw !important;
	}
	.pbll {
		padding-bottom: 15vw !important;
	}
	.mtl {
		margin-top: 13vw !important;
	}
	.mbl {
		margin-bottom: 13vw !important;
	}
	.ptl {
		padding-top: 13vw !important;
	}
	.pbl {
		padding-bottom: 13vw !important;
	}
	.mtml {
		margin-top: 10vw !important;
	}
	.mbml {
		margin-bottom: 10vw !important;
	}
	.ptml {
		padding-top: 10vw !important;
	}
	.pbml {
		padding-bottom: 10vw !important;
	}
	.mtm {
		margin-top: 8vw !important;
	}
	.mbm {
		margin-bottom: 8vw !important;
	}
	.ptm {
		padding-top: 8vw !important;
	}
	.pbm {
		padding-bottom: 8vw !important;
	}
	.mtms {
		margin-top: 5vw !important;
	}
	.mbms {
		margin-bottom: 5vw !important;
	}
	.ptms {
		padding-top: 5vw !important;
	}
	.pbms {
		padding-bottom: 5vw !important;
	}
	.mts {
		margin-top: 3vw !important;
	}
	.mbs {
		margin-bottom: 3vw !important;
	}
	.pts {
		padding-top: 3vw !important;
	}
	.pbs {
		padding-bottom: 3vw !important;
	}
	.mtss {
		margin-top: 2vw !important;
	}
	.mbss {
		margin-bottom: 2vw !important;
	}
	.ptss {
		padding-top: 2vw !important;
	}
	.pbss {
		padding-bottom: 2vw !important;
	}
}

@media screen and (max-width:365px) {
	header .logo {
		margin-left: 35px;
		width: 85px;
	}
	header .h_btn {
		margin-right: 7px;
	}
	header .h_btn a {
		padding-left: 7px;
		padding-right: 7px;
	}
}


/*===cariier===cariier===cariier===
...................................

-------------------------- PC ONLY

...................................
===cariier===cariier===cariier===*/

@media screen and (min-width: 1239px),
print {
	.pc_none,
	.pctb_none,
	.sp_only,
	.tb_only {
		display: none !important;
	}
	.inner {
		width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}
	.inner_s {
		max-width: 800px;
		margin-left: auto;
		margin-right: auto;
	}
	a:hover {
		text-decoration: none;
		opacity: 0.7;
		transition: 0.5s ease;
		-webkit-transition: 0.5s ease;
	}
	header .h_inner {
		height: 80px;
		padding: 0 165px 0 375px;
		justify-content: flex-start;
	}
	header .logo {
		margin: 0;
		width: 328px;
		position: absolute;
		top: 50%;
		left: 35px;
		-webkit-transform: translate(0%, -50%);
		transform: translate(0%, -50%);
	}
	header .hamburger {
		display: none;
	}
	header nav {
		display: block;
	}
	header nav ul {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}
	header nav ul li {
		position: relative;
		padding-left: 15px;
		margin-right: 15px;
	}
	header nav ul li + li:before {
		background: #CECECE;
		content: "";
		left: 0;
		top: 4px;
		width: 1px;
		height: 20px;
		position: absolute;
	}
	header nav ul a {
		text-decoration: none;
		color: #000;
	}
	header .logo_jcr {
		position: absolute;
		top: 50%;
		right: 30px;
		-webkit-transform: translate(0%, -50%);
		transform: translate(0%, -50%);
		width: 95px;
	}
	header .h_btn {
		margin-right: 0;
		margin-left: 10px;
	}
	header .h_btn ul {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}
	header .h_btn .contact {
		display: block;
	}
	header .h_btn .contact a {
		background: #22AEAA;
		color: #fff;
	}
	header .h_btn a {
		font-size: 1.4rem;
		padding: 4px 17px;
		border-radius: 20px;
	}
	header .h_btn .login a {
		padding: 4px 14px;
	}
	header .h_btn li + li {
		margin-left: 10px;
	}
	header .h_lead {
		font-size: 1.6rem;
		padding: 14px 30px;
	}
/*	header .nav_fixed {
		display: none !important;
	}*/
}

@media screen and (min-width:1241px) and ( max-width:1260px) {
	header nav ul a {
		font-size: 1.4rem;
	}
}


/*===cariier===cariier===cariier===
...................................

----------------------- TB/SP ONLY

...................................
===cariier===cariier===cariier===*/

@media screen and (max-width:1240px) {}


/*===cariier===cariier===cariier===
...................................

-------------------------- TB ONLY

...................................
===cariier===cariier===cariier===*/

@media screen and (min-width:600px) and ( max-width:1240px) {
	.pc_only,
	.pctb_none,
	.sp_only,
	.tb_none {
		display: none !important;
	}
	.inner,
	.inner_s {
		width: 90vw;
		margin-left: 5vw;
		margin-right: 5vw;
	}
	header .nav_fixed_list li a {
		padding: 20px 50px 20px 20px;
	}
	header .nav_fixed_list li a:after {
		width: 14px;
		height: 14px;
		right: 20px;
	}
	.nav_fixed_btn {
		margin: 50px auto 30px;
		max-width: 335px;
	}
	.nav_fixed_bnr {
		max-width: 335px;
		margin: 0 auto;
	}
	.level_01 {
		font-size: 2.5rem;
		margin-bottom: 30px;
	}
	.level_01 + .hosoku {
		margin-top: 0;
	}
	.green_bg {
		margin-top: 50px;
		padding-top: 50px;
	}
	.main_wrap {
		padding-bottom: 100px;
	}
	.front_page .level_01 {
		margin-bottom: 30px;
	}
	footer .f_logo {
		width: 200px;
	}
	footer .f_nav_wrap nav {
		width: 100%;
		margin-top: 50px;
	}
	footer .f_nav_wrap nav ul {
		justify-content: center;
	}
	footer .f_nav_wrap li {
		padding-left: 15px;
		margin-right: 15px;
	}
	footer .f_nav_wrap li a {
		font-size: 1.3rem;
	}
	footer .f_btn {
		margin: 30px auto 0;
	}
	footer .f_jcr_wrap {
		justify-content: center;
		flex-direction: column;
	}
	footer .bnr {
		width: 100%;
		margin: 0 auto 40px;
	}
	footer .f_jcr_nav li {
		font-size: 1.3rem;
	}
	footer .f_jcr_block {
		text-align: center;
	}
	.form_layout > dt {
		font-size: 1.4rem;
	}
	.p_other {
		margin-top: 50px;
	}
	.detail_linku {
		margin-top: 50px;
	}
	.detail_linku li,
	.detail_linku li + li {
		width: 100%;
		font-size: 1.5rem;
	}
	.detail_linku li a {
		font-size: 1.4rem;
	}
	.detail_linku li + li {
		margin-top: 20px;
	}
	.list_layout a {
		padding: 15px 15px 70px 29%;
		padding-left: -webkit-calc(24.6% + 30px);
		padding-left: calc(24.6% + 30px);
	}
	.list_layout figure {
		top: 15px;
		left: 15px;
	}
	.list_layout dt {
		margin-bottom: 5px;
		line-height: 1.4;
	}
	.list_layout a .btn_style {
		top: inherit;
		bottom: 15px;
		right: 15px;
		-webkit-transform: inherit;
		transform: inherit;
		position: absolute;
	}
	.list_layout .time_block {
		margin-bottom: 5px;
	}

	.front_new {
		margin-top: 50px;
	}
	.front_new .level_01 {
		width: 160px;
	}
	.front_new .con {
		width: 70%;
		width: -webkit-calc(100% - 190px);
		width: calc(100% - 190px);
	}
	.front_new .con .txt {
		width: 100%;
		padding-left: 0;
		margin-top: 10px;
	}
	.front_product {
		margin-top: 50px;
	}
	.front_product .con a {
		padding: 25px 15px 70px 29%;
		padding-left: -webkit-calc(25.1% + 30px);
		padding-left: calc(25.1% + 30px);
		align-items: flex-start;
		min-height: 190px;
	}
	.front_product .con dt {
		font-size: 1.4rem;
		margin-bottom: 15px;
	}
	.front_product .con dd {
		margin-bottom: 0;
	}
	.front_product .con .img {
		top: 14px;
		left: 15px;
	}
	.front_product .con dt {
		margin-bottom: 5px;
		line-height: 1.4;
	}
	.front_product .con a .btn_style {
		top: inherit;
		bottom: 15px;
		right: 15px;
		-webkit-transform: inherit;
		transform: inherit;
		position: absolute;
	}
	.front_product .con a .btn_style {
		bottom: 15px;
	}
	.front_support .con figure {
		top: 15px;
		left: 15px;
	}
	.front_support .con a {
		padding: 15px 15px 70px 185px;
	}
	.front_support a .btn_style {
		top: inherit;
		bottom: 15px;
		right: 15px;
		-webkit-transform: inherit;
		transform: inherit;
		position: absolute;
	}
	.front_support .con dt {
		margin-bottom: 5px;
		line-height: 1.4;
		}
	.front_support .con dd.sub {
		margin-bottom: 5px;
		margin-top: -2px;
	}
	.front_support .con .time_block {
		margin-bottom: 5px;
	}
	.front_report {
		margin-top: 50px;
	}
	.front_report .report_item {
		width: 410px;
	}
	.front_textinfo {
		margin-top: 80px;
	}
	.front_textinfo .tl_block {
		width: 160px;
	}
	.front_textinfo .con {
		width: 70%;
		width: -webkit-calc(100% - 190px);
		width: calc(100% - 190px);
	}
	.front_textinfo .con .txt_block p {
		-webkit-flex: inherit;
		flex: inherit;
		width: 100%;
		margin-top: 10px;
		line-height: 1.4;
	}
	.front_materials {
		margin-top: 50px !important;
	}
	.front_materials .tl_block {
		width: 100%;
	}
	.front_materials a {
		flex-direction: column;
		padding: 40px 40px 0;
	}
	.front_materials .txt {
		width: 100%;
	}
	.front_materials figure {
		width: 80%;
	}
}

@media screen and (min-width:600px) and ( max-width:850px) {
	.p_con .con_head {
		flex-direction: column;
	}
	.p_con .products_slider {
		max-width: inherit;
		width: 100%;
		margin-bottom: 20px;
	}
	.p_con .con_head .txt_block {
		width: 100%;
	}
}

/*2024-11-20　header 改修*/
@media screen and (max-width:1400px){
	header .hamburger{display:block;left:2vw;}
	header{position:relative;z-index:100;}
	header.on{z-index:1000;}
	header .h_inner{height:60px;padding:0 120px 0px 360px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:left;position:relative;z-index:10;background:#fff;}
	header .logo{        margin: 0;
        width: 328px;
        position: absolute;
        top: 50%;
        left: 35px;
        -webkit-transform: translate(0%, -50%);
        transform: translate(0%, -50%);}

	
	header .logo a{display:block;}
	header .logo_jcr{width:65px;position:absolute;top:50%;right:30px;-webkit-transform:translate(0%,-50%);transform:translate(0%,-50%);}
	header .logo_jcr a{display:block;}
	header nav{display:block;}
	header nav ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;}
	header nav ul a{text-decoration:none;color:#000;font-size:1.09375vw;vertical-align:baseline;}
	header nav ul li{position:relative;padding-left:1vw;margin-right:1vw;}
	header .h_btn li + li{margin-left:10px;}
	header .h_btn .contact{display:block;}
	header .h_btn{margin-right:4vw;margin-left:10px;}
	header .h_btn ul{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;}
	header .h_btn .contact a{background:#22AEAA;color:#fff;}
	header .h_btn a{border:1px solid #22AEAA;text-decoration:none;display:block;font-size:11px;padding:6px 11px 4px 13px;border-radius:50px;font-weight:500;}
	header .hamburger:before,
	header .hamburger:after,
	header .hamburger span:before{position:absolute;content:"";height:2px;width:100%;background:#22AEAA;transition:0.3s;}
	header .hamburger:before{top:0;}
	header .hamburger:after{top:8px;}
	header .hamburger span:before{bottom:0;}
	header.on .hamburger:before{top:50%;-webkit-transform:rotate(45deg);transform:rotate(45deg);}
	header.on .hamburger span:before{bottom:auto;top:50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);}
	header.on .hamburger:after{opacity:0;}
	header .h_lead{background:#1EA3A0;color:#fff;padding:2vw 5vw;text-align:center;font-size:1.3rem;line-height:1.4;position:relative;z-index:1;}
	header .nav_fixed{position:fixed;z-index:5;top:0;left:0;width:100%;background:#F3F9F9;}
	header .nav_fixed_inner{width:100%;height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:60px;padding-bottom:10vw;}
	header .nav_fixed_list{background:#1EA3A0;display:block;}
	header .nav_fixed_list li{border-bottom:1px solid #fff;}
	header .nav_fixed_list li a:after{position:absolute;content:"";background:url(/assets/images/common/arrow_w_right.svg) no-repeat center center / contain;width:3vw;height:2.6vw;top:50%;right:5vw;-webkit-transform:translate(0%,-50%);transform:translate(0%,-50%);}
	header .nav_fixed_btn a{background:#22AEAA;display:block;color:#fff;font-size:1.6rem;text-decoration:none;text-align:center;font-weight:500;padding:15px;border-radius:6vw;}
	header .nav_fixed_list li a{padding:13px 50px 13px 20px;color: #fff;}
	header .nav_fixed_list li a:after{width:14px;height:14px;right:20px;}
	header .nav_fixed_btn a{background:#2E8CD1;}
	.nav_fixed_btn{margin:8vw 5vw;}
	.nav_fixed_bnr{margin:0 5vw;text-align:center;}
	.nav_fixed_btn{margin:20px auto 30px;max-width:335px;}
	.nav_fixed_bnr{max-width:335px;margin:0 auto;}
}
@media screen and (min-width:1401px){
	header .nav_fixed{display:none!important;}
}
@media screen and (min-width:1024px){
	header .nav_fixed{display:none!important;}
	header .hamburger{display:none;}
	header.on .h_inner{position:relative;}
}
@media screen and (max-width:1023px){
	header .logo{width:112px;margin-left:40px;margin-right:auto;position:static;transform:none;}
	header .logo_jcr{position:static;transform:none;}
	header nav ul li{padding-left:0;margin-right:0;}
	header nav{display:none;}
	header .h_inner{justify-content:flex-end;padding:0 5vw 0 5vw;}
	header .h_btn{margin-right:4vw;margin-left:0;}
	header .h_btn .contact{display:none;}
}
@media screen and (max-width:599px){
	header .nav_fixed_btn a{padding:2vw;}
}


/*2022-11-04　確認画面POPUP*/
.overlay{display: none; background: #191919; width: 100vw; height: 100vh; position: fixed; z-index: 999999999;top: 0;}
.overlay .modal_box{max-width: 900px; background: #FFFFFF; margin:auto; border-radius: 10px; position: absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); -webkit- transform: translateY(-50%) translateX(-50%); padding: 60px;}
.overlay .modal_box a{text-decoration: none;}
.overlay .modal_box p{font-size: 1.6rem; line-height: 1.8;}
.overlay .modal_box span{ color:#22AEAA; font-size: 3.3rem; display: block; margin:50px auto 0; text-align: center;	}
.overlay .modal_box .buttons{ margin: 50px auto 0; display: flex; justify-content: space-between; max-width: 540px;}
.overlay .modal_box .buttons .button { width: 50%; max-width: 260px;}
.overlay .modal_box .buttons .button a{font-size: 1.6rem; padding: 10px 0; color: #22AEAA; border: 2px #22AEAA solid; display: block;border-radius: 100px;text-align: center;}
.overlay .modal_box .buttons small{display: block; font-size: 1.2rem; margin: 10px auto 0; text-align: center;}
@media screen and (max-width:1240px) {
	.overlay .modal_box{width: 90%;}
	.overlay .modal_box .buttons{display: block; }
	.overlay .modal_box .buttons .button { width: 90%; max-width: 100%; margin: auto;}
	.overlay .modal_box .buttons .button.yes{margin-bottom: 20px;}
}
@media screen and (max-width:600px) {
	.overlay .modal_box{width: 90%; padding: 10vw 8vw;}
	.overlay .modal_box span{font-size:2.1rem; margin:8vw auto 0; }
	.overlay .modal_box .buttons{display: block; margin: 9vw auto 0;}
	.overlay .modal_box .buttons .button { width: 90%; max-width: 100%; margin: auto;}
	.overlay .modal_box .buttons .button a{ padding: 3vw 0; }
	.overlay .modal_box .buttons .button.yes{margin-bottom: 5vw;}
	.overlay .modal_box .buttons small{margin: 2.6vw auto 0;}
}
/*2024-09-01 診療サポート　学会・ガイドライン情報追加*/
@media screen and (min-width:600px) and ( max-width:1240px) {
	.btn_style.blank{right: 0;}
	#guideline ul{padding: 0 30px;}
	#guideline dl{display: block;}
	#guideline dd{width: 95%;}
	#guideline li{ padding:30px 0 ; }
	#guideline .li_dot > li{ margin:10px 0 0 0;}
}