@charset "utf-8";
/* CSS Document */
/* ------------------------------------------------------------------------ */

/*  Reset

/* ------------------------------------------------------------------------ */

html {
	overflow-y	: scroll;
	height		: 100%;
	font-size	: 62.5%;
	-Webkit-text-size-adjust: 100%;
}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,form,fieldset,p,blockquote {
	margin 	: 0;
	padding : 0;
}

fieldset {
	display	: inline;
}

address,caption,cite,code,dfn,em,strong,th,var {
	font-style : normal;
}

body/**/table {
	line-height	: 1.5;
}

q:before,
q:after {
	content : '';
}

object,embed {
	vertical-align : top;
}

hr,legend	{
	display : none;
}

h1,h2,h3,h4,h5,h6 {
	font-size : 100%;
}

img,abbr,acronym,fieldset {
	border : 0;
}

li {
	list-style-type : none;
}

img[usemap] {
	border		: none;
	height		: auto;
	max-width	: 100%;
	width		: auto;
}

img {
	border		: 0;
	max-width	: 100%;
    -Webkit-touch-callout:none;
    -Webkit-user-select:none;
    -moz-touch-callout:none;
    -moz-user-select:none;
    user-select:none;
}

i {
	padding	: 5px 5px 2px 0;
}

p {
	word-break	: break-all;
}

/* Flexible Images */
img{
    max-width	: 100%;
    height		: auto;
    width /***/	: auto;
}

submit	{ -Webkit-appearance : none;}

/* ------------------------------------------------------------------------ */

/*  Basic Style

/* ------------------------------------------------------------------------ */
body {
	margin		: 0;
	padding		: 0;
	height		: 100%;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 500;
	/* font-size	: 1.3rem; */
	/* font-size	: 13px; */
	font-size	: 1.5rem;
	font-size	: 15px;
	line-height	: 1.8;
	color		: #083352;
	-Webkit-text-size-adjust	: 100%;
	font-smoothing	: auto;
	font-feature-settings: "palt";
}

@media screen and (max-width: 480px){
	body {
		font-size	: 1.4rem;
		font-size	: 14px;
		line-height	: 1.8;
	}
}

#wrap{
	margin		: 0 auto;
}

body > #wrap { height : auto;}


/* Link
--------------------------------------------------------------------------- */

.opacity a:hover img{
	opacity: 0.85;
}

a	{
	color: #083352;
}
a:link	{
	text-decoration	: none;
}
a:link[class*="link"]	{
	text-decoration	: underline;
}

a:visited	{
	text-decoration	: none;
}

a:hover,
a:link[class*="link"]:hover	{
	text-decoration	: none;
}

#contentsBlock a{
	transition: 0.5s;
}
#contentsBlock a:hover{
	opacity: 0.8;
}


/* ------------------------------------------------------------------------ */

/* Hedaer

/* ------------------------------------------------------------------------ */

header {
	background: linear-gradient(to right, #17214d, #15afae);
}
header .inner {
	max-width: 1300px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	height: 104px;
	padding: 0 15px 10px;
	box-sizing: border-box;
}
header a img {
	max-width: 185px;
	width: 100%;
}

header .header_right{
	text-align: right;
}
header .header_right .header_right_sub{
	display: flex;
    align-items: flex-start;
	justify-content: flex-end;
	margin-bottom: 10px;
}
header .header_right .header_right_sub .fontsize{
	display: flex;
	margin-right: 10px;
}
header .header_right .header_right_sub .fontsize li a{
	border: 1px solid #fff;
	background-color: #fff;
	color: #009291;
	transition: 0.3s;
	padding: 3px;
	font-weight: 700;
}
header .header_right .header_right_sub .fontsize li a:hover,
header .header_right .header_right_sub .fontsize li a.textresizer-active{
	background-color: #009291;
	color: #fff;
}
header .header_right .header_right_sub .tel{
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}
header .header_right .header_right_sub .tel span{
	font-size: 20px;
	display: block;
}

header nav {
	margin-bottom: 7px;
	margin-left: 10px;
	word-break: keep-all;
}
	header nav ul {
		display: flex;
	}
		header nav ul li {
			position: relative;
		}
		header nav ul li:not(:last-child) {
			margin-right: 15px;
		}
			header nav ul li a {
				color: #fff;
				font-weight: 700;
				position: relative;
				text-decoration: none;
			}
			header .inner nav ul li:not(.btn) a:after {
				content: "";
				position: absolute;
				bottom: -10px;
				left: 0;
				width: 100%;
				height: 2px;
				background: #fff;
				visibility: hidden;
				opacity: 0;
				transition: .3s;
			}
			header .inner nav ul li:not(.btn) a:hover::after {
				visibility: visible;
				opacity: 1;
				bottom: -4px;
			}
			header nav ul li.btn a {
				background-color: #fff;
				border: 1px solid #fff;
				color: #009291;
				padding: 9px 7px;
				box-sizing: border-box;
				border-radius: 3px;
				transition: 0.5s;
			}
			_:lang(x)+_:-Webkit-full-screen-document, header nav ul li.btn a {
				padding: 11px 7px 9px;
			}
			header nav ul li.btn a:hover {
				background-color: #009291;
				border: 1px solid #fff;
				color: #fff;
			}

#spNav {
    display: none;
}

@media screen and (max-width: 1299px){
	header {
		position: relative;
	}
	header .inner {
		height: 80px;
		padding-bottom: 0;
		align-items: center;
		position: relative;
		z-index: 10000;
	}
	header .header_right .header_right_sub{
		position: absolute;
		right: 65px;
		top: 50%;
		transform: translateY(-50%);
		-Webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		margin-bottom: 0;
	}
	header .header_right .header_right_sub .fontsize{
	}
	header .header_right .header_right_sub .tel{
		color: #fff;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.2;
	}
	header .header_right .header_right_sub .tel span{
		font-size: 20px;
		display: block;
	}
	.nav-open {
		overflow: hidden;
	}
	#pcNav {
		display: none !important;
	}
	header .hamburger {
		position: absolute;
		top: 50%;
		right: 15px;
		transform: translateY(-50%);
		-Webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		width: 60px;
		height: 60px;
		cursor: pointer;
		z-index: 10000;
	}
	header .hamburger .hamburger_border {
		position: absolute;
		left: 18px;
		width: 24px;
		height: 2px;
		background-color: #fff;
		transition: all .6s;
	}
	header .hamburger .hamburger_border_top {
		top: 22px;
	}
	header .hamburger .hamburger_border_center {
		top: 29px;
	}
	header .hamburger .hamburger_border_bottom {
		top: 36px;
	}

	#spNav .black_bg {
		left: 0;
		top: 0;
		width: 100%;
		height: 100vh;
		z-index: -1;
		background: linear-gradient(to right, #17214d, #15afae);
		visibility: hidden;
		transition: 0.5s;
	}
	#spNav nav {
		z-index: -1;
		width: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-Webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		margin: 0 auto;
		text-align: center;
		display: block;
	}
	
	header #spNav nav ul {
		display: block;
	}
	.nav-open #spNav nav {
		z-index: 10001;
	}
	.nav-open #spNav .black_bg {
		z-index: 1000;
		visibility: visible;
	}
	.nav-open header .black_bg {
		opacity: 1;
		visibility: visible;
	}
	.nav-open header .hamburger_border_top {
		transform: rotate(45deg);
		top: 29px;
	}
	.nav-open header .hamburger_border_center {
		width: 0;
		left: 50%;
	}
	.nav-open header .hamburger_border_bottom {
		transform: rotate(-45deg);
		top: 29px;
	}
	#spNav {
		width: 100%;
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-Webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		opacity: 0;
		transition: 0.5s;
		margin: 0 auto;
		text-align: center;
		display: block;
		z-index: -1;
	}
	.nav-open #spNav {
		opacity: 1;
		z-index: 9999;
	}
	header nav ul li:not(.btn) {
		margin-right: 0;
	}
	header #spNav nav ul {
		padding-left: 0;
		list-style: none;
		display: inline-block;
	}
	header #spNav nav ul li {
		display: block;
		padding: 10px;
		font-size: 20px;
		font-weight: 700;
		text-align: left;
	}
}
@media screen and (max-width: 1299px){
	header .inner {
		height: 60px;
	}
	header .hamburger {
		right: 5px;
	}
}
@media screen and (max-width: 1299px){
	header .header_right .header_right_sub{
		display: none;
	}
	#spNav{
		position: absolute;
		top: 60px;
		transform: none;
		left: 0;
	}
	#spNav nav{
		position: relative;
		transform: none;
		top: 0;
		left: 0;
	}
	#spNav .black_bg{
		position: absolute;
	}
	header #spNav nav ul{
		display: block;
		height: calc(100vh - 110px);
		padding: 0px 20px;
		overflow-y: scroll;
		/*スクロールバー非表示（IE・Edge）*/
		-ms-overflow-style: none;
		/*スクロールバー非表示（Firefox）*/
		scrollbar-width: none;
	}
	header #spNav nav ul::-webkit-scrollbar{
		display:none;
	}
	header #spNav nav ul li:not(.btn){
		color: #fff;
		border-bottom: 1px solid #fff;
		font-size: 100%;
		line-height: 1.2;
		padding: 0;
	}
	header #spNav nav ul li.btn{
		font-size: 110%;
	}
	header #spNav nav ul li:not(.btn) a{
		color: #fff;
		line-height: 1.4;
		text-decoration: none;
		padding: 15px 10px;
		display: block;
		text-align: left;
		position: relative;
	}
	header #spNav nav ul li.btn{
		line-height: 1.4;
		padding: 20px 0 0;
	}
	header nav ul li:not(:last-child){
		margin-right: 0;
	}
	header #spNav nav ul li.btn a{
		display: block;
		text-align: center;
		font-size: 100%;
		max-width: 400px;
		margin: 0 auto;
	}
	header #spNav nav ul li:not(.btn) a:after{
		content: '';
		display: block;
		width: 10px;
		height: 10px;
		border: 2px solid;
		border-color: #fff #fff transparent transparent;
		transform: rotate(45deg);
		position: absolute;
		right: 10px;
		top: 40%;
	}
}



/* ------------------------------------------------------------------------ */

/* Contents

/* ------------------------------------------------------------------------ */

#mainBlock {
	clear : both;
	/* padding-top: 104px; */
}

#contentsBlock .inner{
	/* max-width: 702px; */
	max-width: 1030px;
	width: 100%;
	margin: 50px auto 75px;
    padding: 0 15px;
	box-sizing: border-box;
}
#contentsBlock .inner section{
	margin-top: 40px;
}

@media screen and (max-width: 1299px){
	#mainBlock {
		/* padding-top: 60px; */
	}
}
@media screen and (max-width: 768px){
	#contentsBlock .inner{
		margin: 30px auto 60px;
	}
}
@media screen and (max-width: 480px){
	#contentsBlock .inner{
		margin: 20px auto 60px;
	}
}

/* mainVisual
-----------------------------------------------*/
#mainVisual{
    position: relative;
	width: 100%;
    margin: 0 auto;
    height: 480px;
    /* height: calc(100vh - 104px - 60px); */
    display: flex;
	justify-content: center;
    align-items: center;
	box-sizing: border-box;
	overflow: hidden;
}
.menu #mainVisual{
    max-width: 100%;
    height: 180px;
}
#Medical #mainVisual{
	background-image: url('../img/main/img_main_medical.png');
	background-size: cover;
	background-position: center;
}
#About #mainVisual{
	background-image: url('../img/main/img_main_about.png');
	background-size: cover;
	background-position: center;
}
#Network #mainVisual{
	background-image: url('../img/main/img_main_network.png');
	background-size: cover;
	background-position: center;
}
#mainVisual h1{
	font-size: 320%;
	line-height: 1.4;
}
.menu #mainVisual h1{
	color: #fff;
	text-shadow: 0 0 6px #004b72;
}
#mainVisual .mainVisual_txt{
    max-width: 1030px;
    padding: 0 15px;
    width: 100%;
}
#mainVisual.mv_img .mainVisual_txt{
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.menu #mainVisual .mainVisual_txt{
	position: absolute;
	max-width: 1030px;
	width: 100%;
    top: 50%;
    transform: translateY(-50%);
    -Webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: left;
	padding: 0 15px;
	box-sizing: border-box;
}
#mainVisual .mainVisual_txt h2{
	font-size: 48px;
	color: #004b72;
}
#mainVisual .mainVisual_txt p{
	color: #004b72;
}
#mainVisual .mainVisual_txt h1 + p{
	margin-top: 10px;
}

#mainVisual.mv_img .mainVisual_txt h1,
#mainVisual.mv_img .mainVisual_txt h2,
#mainVisual.mv_img .mainVisual_txt p{
    width: calc(50% - 20px);
}

@media screen and (max-width: 768px){
	#mainVisual{
		height: 250px;
	}
	.menu #mainVisual{
		height: 130px;
	}
	#mainVisual h1{
		font-size: 30px;
		line-height: 1.4;
	}
	#mainVisual .mainVisual_txt{
		padding-right: 20px;
		box-sizing: border-box;
	}
	#mainVisual .mainVisual_txt h2{
		font-size: 30px;
	}
	#mainVisual .mainVisual_txt p br{
		display: none;
	}
}

@media screen and (max-width: 480px){
	#mainVisual{
		height: 200px;
	}
	.menu #mainVisual{
		height: 130px;
	}
	#mainVisual h1{
		font-size: 20px;
		line-height: 1.4;
	}
	#mainVisual .mainVisual_txt h2{
		font-size: 20px;
	}
	#mainVisual .mainVisual_txt p{
		font-size: 11px;
	}
}

/* ------------------------------------------------------------------------ */

/* Footer

/* ------------------------------------------------------------------------ */

footer {
	background: linear-gradient(to right, #17214d, #15afae);
	padding: 30px 0 55px;
}
footer .inner {
	max-width: 1230px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	padding: 0 15px;
	box-sizing: border-box;
}
footer .inner > a {
	margin-right: 54px;
}
footer .inner .foot_left img {
	width: 185px;
}

footer .inner .foot_right {
	width: calc(100% - 216px);
	margin-top: 20px;
	font-size: 90%;
}
footer .inner .foot_right .foot_list {
	width: 100%;
	display: flex;
	justify-content: space-between;
}
	footer .inner .foot_list ul{
	}
	footer .inner .foot_list ul li + li {
		margin-top: 10px;
	}
	footer .inner .foot_list ul li a {
		color: #fff;
	}
	footer .inner .foot_list ul li a:hover {
		text-decoration: underline;
	}

footer .inner .foot_right .foot_right_link {
	display: flex;
	margin-top: 30px;
}
footer .inner .foot_right .foot_right_link li {
	border-left: 1px solid #fff;
	text-align: center;
	padding: 0 2.17%;
}
footer .inner .foot_right .foot_right_link li a {
	color: #fff;
}
footer .inner .foot_right .foot_right_link li a:hover {
	text-decoration: underline;
}
footer .inner .foot_right .foot_right_link li:last-child {
	border-right: 1px solid #fff;
}

@media screen and (max-width: 1319px){
	footer .inner .foot_right .foot_right_link {
		flex-wrap: wrap;
	}
	footer .inner .foot_right .foot_right_link li {
		width: calc((100% - 5px) / 4);
		padding: 0;
	}
	footer .inner .foot_right .foot_right_link li:nth-child(4) {
		border-right: 1px solid #fff;
	}
	footer .inner .foot_right .foot_right_link li:nth-child(-n+4) {
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 1060px){
	footer .inner .foot_right {
		width: calc(100% - 206px);
	}
}
@media screen and (max-width: 1023px){
	footer .inner .foot_right .foot_list{
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	footer .inner .foot_list ul {
		width: calc((100% - 70px) / 3);
	}
	footer .inner .foot_list ul:nth-child(-n+3) {
		margin-bottom: 20px;
	}
	footer .inner .foot_list ul:not(:nth-child(3)) {
		margin-right: 35px;
	}
}
@media screen and (max-width: 750px){
	footer .inner {
		display: block;
	}
	footer .inner .foot_left{
		text-align: center;
	}
	footer .inner .foot_right{
		margin: 30px auto 0;
		width: 100%;
	}
	footer .inner .foot_list ul:not(:nth-child(3)) {
		margin-right: 0;
		margin-left: 35px;
	}
}
@media screen and (max-width: 530px){
	footer .inner .foot_list ul {
		width: calc((100% - 30px) / 2);
	}
	footer .inner .foot_list ul:not(:nth-child(3)) {
		margin-left: 0;
	}
	footer .inner .foot_list ul{
		margin-left: 15px !important;
	}

	footer .inner .foot_right .foot_right_link {
		justify-content: space-between;
	}
	footer .inner .foot_right .foot_right_link li:nth-child(4),
	footer .inner .foot_right .foot_right_link li:last-child{
		border-right: none;
	}
	footer .inner .foot_right .foot_right_link li {
		width: calc((100% - 1px) / 2);
		border: none;
	}
	footer .inner .foot_right .foot_right_link li:nth-child(-n+4) {
		margin-bottom: 0;
	}
	footer .inner .foot_right .foot_right_link li:not(:nth-child(-n+2)) {
		margin-top: 15px;
	}
	footer .inner .foot_right .foot_right_link li:nth-child(even) {
		border-left: 1px solid #fff;
	}
}