.main {
	width: 100%;
	height: 665px;
	position: relative
}

.main__inner {
	width: 100%;
	height: 100%
}

.main-bg {
	background: url("/img/home/home_main_kv.jpg") no-repeat center top;
	background-size: cover;
	width: 100%;
	height: 100%
}
.main-bg__double {
	display: flex;
}
.main-bg__left {
	background: url("/img/home/home_main_kv__left.jpg") no-repeat center top;
	background-size: cover;
	width: 50%;
	height: 100%;
	position: relative;
}
.main-bg__right {
	background: url("/img/home/home_main_kv__right.jpg") no-repeat center top;
	background-size: cover;
	width: 50%;
	height: 100%;
	position: relative;
}

.main-box {
	font-family: "Noto Serif", serif;
	color: #fff;
	text-align: center;
	position: absolute;
	width: 100%;
	height: 440px;
	left: 50%;
	top: 50%;
	z-index: 1;
	transform: translate3d(-50%, -50%, 0)
}

.main-box__logo {
	display: block
}

.main-content__btn__left,
.main-content__btn__right{
	height: 46px;
	width: 260px;
	text-align: center;
	position: absolute;
	bottom: 48px;
	left: 50%;
	transform: translateX(-50%);
	border: 2px solid #fff;
}
.main-content__btn__left{
	background-color: rgba(67,172,159,0.5);
}
.main-content__btn__right{
	background-color: rgba(0,92,167,0.2);
}
.main-content__btn__left a,
.main-content__btn__right a {
	color: #fff;
	font-size: 17px;
	width: 100%;
	height: 100%;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	align-items: center;
	border: 1px solid #fff;
	transition: .3s
}

.main-content__btn__left a:hover,
.main-content__btn__right a:hover {
	opacity: 0.5
}
.main-box__copy {
	font-size: 50px;
	letter-spacing: .1em;
	text-indent: 1em;
	margin: 30px 0 20px;
	display: block
}

.main-box__text {
	font-size: 17px;
	letter-spacing: .1em;
	line-height: 30px;
	display: block
}

.main-scroll {
	position: absolute;
	right: 0;
	bottom: 60px;
	width: 110px;
	height: 1em;
	transform: rotate(-90deg)
}

.main-scroll__text {
	color: #fff;
	font-family: "Josefin Sans", sans-serif;
	font-size: 11px;
	letter-spacing: .1em;
	position: absolute;
	left: 70px
}

.main-scroll__line {
	background: #fff;
	height: 1px;
	width: 65px;
	position: absolute;
	left: 0;
	top: calc(50% - 1px);
	animation: loopbar 3s cubic-bezier(0.77, 0.01, 0.7, 1) 0s infinite
}

@media screen and (max-width: 767px) {
	.main {
		height: auto
	}
	.main-bg__double {
	    display: block;
	}
	.main-bg {
		background: url("/img/home/home_main_kv_sp.jpg") no-repeat center top;
		background-size: cover;
		height: 118.93vw
	}
	.main-bg__left {
		margin-top: 16.40625vw;
		width: 100%;
		background: url(/img/home/home_main_kv__left_sp.jpg) no-repeat center top;
		background-size: cover;
		height: 55vw;
	}
	.main-bg__right {
		width: 100%;
		background: url(/img/home/home_main_kv__right_sp.jpg) no-repeat center top;
		background-size: cover;
		height: 55vw;
	}
	.main-box {
		color: #4F4F50;
		position: relative;
		width: 100%;
		height: auto;
		left: auto;
		top: auto;
		transform: none;
	}
	.main-box__logo {
		width: 184px;
		margin: 0 auto;
		position: absolute;
		top: -107vw;
		left: 0;
		right: 0;
	}
	.main-box__logo img {
		width: 100%;
		height: auto
	}
	.main-box__copy {
		font-size: 8vw;
		margin: 25vw 0 5.33vw;
	}

	.main-content__btn__left{
		top: 2.34375vw;
		background-color: #559b91;
		height: 11.71875vw;
		width: 70vw;
	}
	.main-content__btn__right{
		top: 2.34375vw;
		background-color: #2a6698;
		height: 11.71875vw;
		width: 70vw;
	}
	.main-content__btninner__left {
		background-color: #6abdb3;
		width: 100%;
		height: 16.40625vw;
		position: absolute;
		top: -16.40625vw;
	}
	.main-content__btninner__right {
		background-color: #337eb8;
		width: 100%;
		height: 16.40625vw;
		position: absolute;
		bottom: -16.40625vw;
	}
	.main-content__btn {
		font-size: 16px;
		width: 248px;
		height: 42px;
		margin: 5.33vw auto 0 auto;
		position: static;
		transform: translateX(0)
	}
	.main-content__btn a {
		background: #01B3E3;
		color: #fff;
		width: 100%;
		height: 100%;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: center;
		justify-content: center;
		-ms-flex-align: center;
		align-items: center;
		border: 1px solid #01B3E3;
		transition: .3s
	}
	.main-content__btn a:hover {
		color: #01B3E3;
		background: #fff
	}
	.main-content__btn a:after {
		content: ">";
		display: inline-block;
		margin-left: 20px
	}
	.main-content__btn__left a{

	}
	.main-box__text {
		font-size: 4vw;
		line-height: 6.4vw
	}
	.main-scroll {
		text-align: center;
		position: relative;
		right: auto;
		bottom: auto;
		width: auto;
		height: 18.67vw;
		margin: 8vw 0 0;
		transform: none
	}
	.main-scroll__text {
		color: #4F4F50;
		font-size: 2.4vw;
		margin: 0 auto 1.33vw;
		position: relative;
		left: auto;
		white-space: nowrap
	}
	.main-scroll__line {
		background: #515152;
		width: 1px;
		height: 65px;
		position: relative;
		left: 0;
		right: 0;
		margin: auto;
		top: auto;
		bottom: 0;
		animation: loopbar-sp 3s cubic-bezier(0.77, 0.01, 0.7, 1) 0s infinite
	}
}

@keyframes loopbar {
	0% {
		opacity: 0;
		filter: alpha(opacity=0);
		width: 0;
		left: 65px;
		transition-timing-function: ease-out
	}
	34% {
		opacity: 1;
		filter: alpha(opacity=100);
		width: 65px;
		left: 0;
		transition-timing-function: ease-in
	}
	74% {
		width: 65px;
		left: 0;
		transition-timing-function: ease-in
	}
	100% {
		opacity: 1;
		filter: alpha(opacity=100);
		width: 0;
		left: 0;
		transition-timing-function: ease-in
	}
}

@keyframes loopbar-sp {
	0% {
		opacity: 0;
		filter: alpha(opacity=0);
		height: 0;
		bottom: 0vw;
		transition-timing-function: ease-out
	}
	34% {
		opacity: 1;
		filter: alpha(opacity=100);
		height: 16vw;
		bottom: 0;
		transition-timing-function: ease-in
	}
	74% {
		height: 16vw;
		bottom: 0;
		transition-timing-function: ease-in
	}
	100% {
		opacity: 1;
		filter: alpha(opacity=100);
		height: 0;
		bottom: -16vw;
		transition-timing-function: ease-in
	}
}

.philosophy__inner {
	text-align: center;
	padding: 80px 0 100px
}

.philosophy__logo {
	margin: 0 auto 30px
}

.philosophy__text {
	font-size: 17px;
	line-height: 32px;
	letter-spacing: .1em;
	margin: 0 0 60px
}

.philosophy-btn {
	font-size: 16px;
	width: 170px;
	height: 42px;
	margin: auto
}

.philosophy-btn a {
	background: #01B3E3;
	color: #fff;
	width: 100%;
	height: 100%;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	align-items: center;
	border: 1px solid #01B3E3;
	transition: .3s
}

.philosophy-btn a:hover {
	color: #01B3E3;
	background: #fff
}

.philosophy-btn a:after {
	content: ">";
	display: inline-block;
	margin-left: 20px
}

.ie .philosophy-btn a {
	padding-top: 5px
}

.ie .philosophy-btn a:after {
	position: relative;
	top: -4px
}

@media screen and (max-width: 767px) {
	.philosophy__inner {
		padding: 16vw 0 16vw;
		border-bottom: 1px solid #707070
	}
	.philosophy__logo {
		width: 66.67vw;
		margin: 0 auto 8vw
	}
	.philosophy__logo img {
		width: 100%;
		height: auto
	}
	.philosophy__text {
		font-size: 3.73vw;
		line-height: 6.67vw;
		margin: 0 0 10.67vw
	}
	.philosophy-btn {
		font-size: 5.07vw;
		width: 74.13vw;
		height: 14.4vw
	}
	.philosophy-btn a {
		transition: none
	}
	.philosophy-btn a:hover {
		color: #fff;
		background: #01B3E3
	}
}

.support-head {
	background-size: cover;
	text-align: center;
	width: 100%;
	padding: 90px 0 0;
	position: relative
}

.support-title {
	font-size: 35px;
	letter-spacing: .1em;
	margin-bottom: 30px
}

.support-lead {
	font-size: 17px;
	letter-spacing: .1em;
	line-height: 32px
}

.support__inner {
	padding: 80px 0 60px
}

.support-tab-wrapper {
	color: #fff;
	width: 920px;
	height: 200px;
	display: -ms-flexbox;
	display: flex;
	margin: auto
}

.support-tab {
	text-align: center;
	width: 50%;
	height: 100%;
	padding: 36px 0;
	cursor: pointer;
	position: relative;
	transition: .3s
}

.support-tab:hover {
	opacity: .7
}

.support-tab:after {
	content: "";
	background: url("/img/common/arrow_under.svg") no-repeat center;
	background-size: contain;
	position: absolute;
	bottom: 30px;
	left: 0;
	right: 0;
	margin: auto;
	width: 22px;
	height: 22px;
	pointer-events: none;
	transition: .3s
}

.support-tab.is-active {
	pointer-events: none
}

.support-tab.is-active:after {
	transform: rotate(180deg)
}

.support-tab--medical {
	background: #005CA7
}

.support-tab--clinic {
	background: #43AC9F
}

.support-tab__title {
	font-size: 27px;
	margin-bottom: 20px
}

.support-tab__text {
	font-size: 14px;
	line-height: 24px
}

.support-content-wrapper {
	width: 920px;
	margin: 0 auto
}

.support-content {
	padding: 0 0 50px;
	display: none
}

.support-content.is-active {
	display: block
}

.support-content--medical {
	background: #005CA7
}

.support-content--clinic {
	background: #43AC9F
}

.support-content__list {
	font-size: 0;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 780px;
	margin: 0 auto;
	padding: 50px 0 40px
}

.support-content__item {
	background: #fff;
	width: 252px;
	height: 122px;
	overflow: hidden;
	margin: 0 0 12px 0;
	transform: translate3d(0, 0, 0);
	will-change: transform;
	transition: .3s
}

li.support-content__item:not(:nth-child(3n + 1)) {
	margin-left: 12px;
}

.support-content__item a {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 15px;
	transition: opacity .3s
}

.support-content__item a img {
	width: 100%;
	height: auto;
	transition: opacity .3s;
	transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden
}

.support-content__item.plus a img {
	width: 80%;
}

.support-content__item:hover {
	transform: translate3d(-2px, -2px, 0);
	box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.2)
}

.support-content__item:hover img {
	opacity: .7
}

.support-content__item.blank {
	opacity: 0
}

.support-content__btn {
	width: 270px;
	height: 46px;
	margin: 0 auto
}

.support-content__btn a {
	color: #fff;
	font-size: 17px;
	width: 100%;
	height: 100%;
	padding-left: 20px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	align-items: center;
	border: 1px solid #fff;
	transition: .3s
}

.support-content__btn a:hover {
	background: #fff
}

.support-content__btn a:after {
	content: ">";
	display: inline-block;
	margin-left: 20px
}

.support-content--medical .support-content__btn a:hover {
	color: #005CA7
}

.support-content--clinic .support-content__btn a:hover {
	color: #43AC9F
}
@media screen and (max-width: 767px) {
	.support-head {
		height: 61.33vw;
		padding: 10.67vw 0 0
	}
	.support-title {
		font-size: 5.87vw;
		margin-bottom: 8vw
	}
	.support-lead {
		font-size: 3.73vw;
		line-height: 6.67vw
	}
	.support__inner {
		padding: 0
	}
	.support-tab-wrapper {
		display: none
	}
	.support-toggle {
		color: #fff;
		text-align: center;
		width: 100%;
		height: 100%;
		padding: 10.67vw 0 21.33vw;
		position: relative
	}
	.support-toggle:after {
		content: "";
		background: url("/img/common/arrow_under.svg") no-repeat center;
		background-size: contain;
		position: absolute;
		bottom: 8vw;
		left: 0;
		right: 0;
		margin: auto;
		width: 6.67vw;
		height: 6.67vw;
		pointer-events: none;
		transition: .3s
	}
	.support-toggle.is-active:after {
		transform: rotate(180deg)
	}
	.support-toggle--medical {
		background: #005CA7
	}
	.support-toggle--clinic {
		background: #43AC9F
	}
	.support-toggle__title {
		font-size: 6.67vw;
		line-height: 9.87vw;
		margin-bottom: 5.33vw
	}
	.support-toggle__text {
		font-size: 3.73vw;
		line-height: 6.67vw
	}
	.support-content-wrapper {
		width: 100%;
		margin: 0 auto
	}
	.support-content {
		padding: 0 0 50px
	}
	.support-content--medical {
		background: #005CA7
	}
	.support-content--clinic {
		background: #43AC9F
	}
	.support-content__list {
		-ms-flex-pack: justify;
		justify-content: space-between;
		width: 85.33vw;
		padding: 0 0 10.67vw
	}
	.support-content__item {
		width: 41.33vw;
		height: 21.33vw;
		transition: none
	}
	li.support-content__item:not(:nth-child(3n + 1)) {
		margin-left: 0;
	}
	.support-content__item img {
		width: 100%;
		max-width: 100%;
		height: auto
	}
	.plus img {width: 85%;}
	.support-content__item a {
		transition: none
	}
	.support-content__item a img {
		transition: none
	}
	.support-content__item:hover {
		transform: none;
		box-shadow: none
	}
	.support-content__item:hover img {
		opacity: 1
	}
	.support-content__item.blank {
		display: none
	}
	.support-content__btn {
		width: 85.33vw;
		height: 14.4vw
	}
	.support-content__btn a {
		font-size: 5.07vw;
		padding-left: 5.33vw;
		transition: none
	}
	.support-content__btn a:hover {
		background: initial;
		color: initial;
		opacity: 1
	}
	.support-content__btn a:after {
		margin-left: 5.33vw
	}
	.support-content--medical .support-content__btn a:hover {
		color: #fff
	}
	.support-content--clinic .support-content__btn a:hover {
		color: #fff
	}
}

.modal-wrapper {
  z-index: 999;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 60px 10px;
  text-align: center
}

.modal-wrapper:not(:target) {
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
}

.modal-wrapper:target {
  opacity: 1;
  visibility: visible;
  transition: opacity .4s, visibility .4s;
}

.modal-wrapper::after {
  display: inline-block;
  height: 100%;
  margin-left: -.05em;
  vertical-align: middle;
  content: ""
}

.modal-wrapper .modal-window {
  box-sizing: border-box;
  display: inline-block;
  z-index: 20;
  position: relative;
  width: 90%;
  max-width: 1000px;
  padding: 40px 30px 40px;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, .6);
  vertical-align: middle
}

.modal-wrapper .modal-window .modal-content {
  max-height: 80vh;
  overflow-y: auto;
}

.modal-wrapper .modal-window .modal-content .pop_logo {
	max-width: 350px;
	width: 90%;
	margin: 2em auto 3em;
}
.modal-wrapper .modal-window .modal-content .pop_logo img {
	width: 100%;
}

.modal-wrapper .modal-window .modal-content .btn_link {
	max-width: 670px;
	width: 80%;
	margin: 0 auto;
	overflow: hidden;
	text-align: center;
}
.modal-wrapper .modal-window .modal-content .btn_link li {
	float: left;
	width: 47%;
	color: #fff;
	background: #43ac9f;
	margin-left: 6%;
	transition: .3s;
}
.modal-wrapper .modal-window .modal-content .btn_link li:hover {
	opacity: .7;
}
.modal-wrapper .modal-window .modal-content .btn_link li:first-child {
	margin-left: 0;
}
.modal-wrapper .modal-window .modal-content .btn_link li a {
	display: block;
	width: 100%;
	font-size: 16px;
	padding: 1.5em 0;
}

.modal-overlay {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, .8)
}

.modal-wrapper .modal-close {
  z-index: 20;
  position: absolute;
  top: 0;
  right: 0;
  width: 81px;
  /*color: #fff !important;*/
  font-size: 71px;
  font-weight: 100;
  line-height: 81px;
  text-align: center;
  text-decoration: none;
  text-indent: 0;
  background: #005ca7;
  transition: .3s;
}

.modal-wrapper .modal-close:hover {
  opacity: .7;
}
.modal-wrapper .modal-close i {
	display: inline-block;
	vertical-align: middle;
	color: #fff !important;
	line-height: 1;
	width: 1em;
	height: 0.01em;
	background: currentColor;
	border-radius: 0.1em;
	position: relative;
	transform: rotate(45deg);
	margin-top: -.3em;
}
.modal-wrapper .modal-close i:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: inherit;
	border-radius: inherit;
	transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
	.modal-wrapper .modal-window {
		padding: 5em 1em;
	}
	.modal-wrapper .modal-window .modal-content .btn_link li {
		width: 100%;
		margin-left: 0;
		margin-bottom: 1em;
	}
	.modal-wrapper .modal-close {
		font-size: 3em;
		width: 2em;
		height: 2em;
	}
	.modal-wrapper .modal-close i {
		margin-top: -1em;
	}
}

.contact {
	border-top: 1px solid #707070
}

.contact__inner {
	text-align: center;
	padding: 120px 0
}

.contact-title {
	font-size: 35px;
	letter-spacing: .1em;
	margin: 0 0 35px
}

.contact-lead {
	font-size: 17px;
	line-height: 32px;
	margin-bottom: 50px
}

.contact-btn {
	font-size: 20px;
	line-height: 1;
	width: 312px;
	height: 52px;
	margin: auto
}

.contact-btn a {
	background: #01B3E3;
	color: #fff;
	width: 100%;
	height: 100%;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	align-items: center;
	border: 1px solid #01B3E3;
	transition: .3s
}

.contact-btn a:hover {
	color: #01B3E3;
	background: #fff
}

.ie .contact-btn a {
	padding-top: 5px
}

@media screen and (max-width: 767px) {
	.contact {
		border-top: 0 none
	}
	.contact__inner {
		padding: 18.67vw 0 24vw
	}
	.contact-title {
		font-size: 6.67vw;
		margin: 0 0 8vw
	}
	.contact-lead {
		font-size: 3.73vw;
		line-height: 6.67vw;
		margin-bottom: 10.67vw
	}
	.contact-btn {
		font-size: 5.07vw;
		min-width: 70.93vw;
		height: 14.4vw
	}
	.contact-btn a {
		transition: none
	}
	.contact-btn a:hover {
		color: #fff;
		background: #01B3E3
	}
}


/*ポップアップここから*/
.popup_wrap input {
  display: none;
}

.popup_overlay {
  display: flex;
  justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
}

.popup_trigger {
  position: absolute;
  width: 100%;
  height: 100%;
}

.popup_content {
  position: relative;
  align-self: center;
  width: 90%;
  max-width: 900px;
  padding: 40px;
  box-sizing: border-box;
  background: #fff;
  line-height: 1.4em;
  transition: 0.5s;
}
@media only screen and (max-width: 736px) {
  .popup_content {
    padding: 20px;
  }
}
.popup_content h4 {
  font-size: 160%;
  text-align: center;
  font-weight: normal;
  margin: 1em 0 1.5em;
}
@media only screen and (max-width: 736px) {
  .popup_content h4 {
    margin: 3em 0 1.5em;
  }
}
.popup_content .box_btn {
  text-align: center;
  margin-bottom: 2em;
}
.popup_content .box_btn p {
  display: inline-block;
}
@media only screen and (max-width: 736px) {
  .popup_content .box_btn p {
    margin-bottom: 1em;
  }
}
.popup_content .box_btn p a {
  height: 4em;
}
@media only screen and (max-width: 736px) {
  .popup_content .box_btn p a {
    width: 24em;
    font-size: 100%;
  }
}
@media only screen and (max-width: 736px) {
  .popup_content .box_btn p a {
    height: 5em;
  }
}
.popup_content .line {
  padding: 20px 46px;
}
.popup_content .txt {
  font-size: 90%;
  margin-bottom: 1.5em;
}

.close_btn {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 40px;
  cursor: pointer;
  color: #fff;
  background: #830051;
  padding: .5em .4em;
}
@media only screen and (max-width: 736px) {
  .close_btn {
    font-size: 30px;
  }
}

.popup_wrap input:checked ~ .popup_overlay {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
}

.open_btn {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  background: #6f654e;
  cursor: pointer;
  transition: .3s ease;
  padding: 16px 60px !important;
  width: 17em;
  display: block;
}
@media only screen and (max-width: 736px) {
  .open_btn {
    margin: 10px auto;
  }
}
@media only screen and (max-width: 736px) {
  .open_btn {
    width: 19em;
  }
}

.open_btn:hover {
  opacity: .7;
  color: #fff;
  transition: .3s ease;
}

/*ポップアップココまで*/