@charset "UTF-8";

@media (max-width: 1300px) {	
	.side-address {
		position: inherit;
		bottom: auto;
		right: auto;
		margin: 3vw 0 0 2.5vw;
	}
}
@media (max-width: 1040px) {
	/* ========== MENU ========== */
	.menu-content-txt-info.-blank {
		min-height: 15vw;
	}
	
	/* ========= FOOTER ========= */
	.footer-links {
		margin-top: 0;
	}
	.footer-links-phone,
	.footer-links-contact { 
		width: 100%;
	}
	.footer-links-contact {
		border-top: 1px solid #FFF;
	}
	.footer-links-phone::after {
		display: none;
	}

}

@media (max-width: 920px) {
	/* ========== HEADER ========== */
	header {
		display: flex;
		align-items: center;
	  width: 100%;
	  padding: 0;
		height: 60px;
		border-bottom: 1px solid var(--primary);
	}
	.header-wrap.-flex {
		display: block;
		margin: auto;
	}
	.header-logo img {
		  height: 25px;
	}
	.header-nav {
		display: none;
	}
	/* ========== SIDEBAR ========== */
	#sidebar {
	  position: fixed;
	  top: 5px !important;
	  right: 5px;
		height: 50px;
		width: 50px;
		border-radius: 3px;
		opacity: 1;
	}
	.sidebar-wrap {
	  height: 100%;
	  padding: 0;
	}
	.sidebar-menu-burger {
		width: 60px;
		height: 60px;
	}
	.sidebar-menu-burger span {
		top: 25%;
		left: 22px;
	  height: 50%;
	}
	.sidebar-menu-burger span:nth-child(1) { height: 10%; }
	.sidebar-menu-burger span:nth-child(2) { height: 25%; left:28px; }
	.sidebar-menu-burger span:nth-child(3) { left:34px; }

	.sidebar-menu-burger.is-open span:nth-child(1) { height: 50%; left: 50%;  transform: translateX(-50%) rotate(45deg); }
	.sidebar-menu-burger.is-open span:nth-child(2) { opacity: 0; }
	.sidebar-menu-burger.is-open span:nth-child(3) { height: 50%; left: 50%; transform: translateX(-50%) rotate(-45deg); }
	.sidebar-logo {
		display: none;
	}
	.sidebar-links {
		display: none;
	}

	/* ========== SIDE MENU MODAL ========== */
	.side-menu-modal {
		top: 5px;
		right: 5px;
		width: calc(100vw - 10px);
		height: calc(100vh - 10px);
		border-radius: 3px;
	}
	.side-menu-modal::after {
		right: 50px;
	}
	.side-menu-modal-wrap {
		padding: 7vw 0;
	}
	.side-menu-modal-Nav {
		padding: 0 calc(7vw + 50px) 0 7vw;
	}
	.side-menu-modal-Nav a {
		width: 100%;
  	padding: 2vw 1.5vw;
	}
	.side-menu-modal-about {
		margin-top: 10vw;
		padding: 7vw 7vw 0 7vw;
		margin-right: 50px;
	}
	.side-menu-modal-about-logo {
		width: 55%;
		margin: 0 0 8vw;
	}
	.side-address {
		margin-left: 0;
	}
	.side-open-close {
		margin-left: 0;
		font-size: 11px;
	}
	.side-open-close > div {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 2em;
	}
	.side-open-close > div strong {
		display: block;
		width: 5em;
	}
	.side-open-close dl.-flex {
		flex-wrap: wrap;
		width: calc(100% - 6em);
		margin-left: 1em;
	}
	.side-open-close dl dt {
		position: relative;
    	padding-left: 0;
    	margin: 0;
		width: 4.5em;
	}
	.open-close dt::before, .side-open-close dt::before {
		display: none;
	}
	.side-open-close dl dd {
		width: calc(100% - 4.5em);
	}
	.side-open-close p {
		margin-left: 1em;
	}
	.side-address {
		font-size: 11px;
	}

	/* ========== HERO ========== */
	.hero {
		background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 35%, rgba(246, 248, 247, 1) 35%, rgba(246, 248, 247, 1) 100%);
	} 
	.hero::before {
		top: calc(35% - 100px);
		height: 100px;
	}
	.hero-wrap {
		position: relative;
	  display: block;
	  height: auto;
		margin-left: 0;
	}
	.hero-mess {
		display: block;
		margin: auto;
		text-align: center;
		padding-top: 15vw;
		padding-left: 0;
		margin-bottom: 15vw;
	}
	.hero-mess strong {
	  writing-mode: horizontal-tb;
		letter-spacing: .1em;
	}
	.hero-mess strong span {
	  margin-top: 0;
	}
	.hero-img-wrap {
		border-radius: 3px;
		margin: 0 5px;
	}
	.hero-links {
		position: fixed;
	  gap: 0;
	 bottom: 5px;
		left: 5px;
		width: calc(100% - 10px);
	  z-index: 10;
	}
	.hero-links a {
		width: 50%;
		justify-content: center;
		border-radius: 3px 0 0 3px;
	}
	.hero-links a:not(.en) {
		border-radius: 0 3px 3px 0;
	}
	.hero-parallax {
	  left: 40vw;
	  top: 5%;
	  width: 50vw;
	}
	/* ========== hero-sub-text ========== */
	.hero-sub-text.content {
		padding: 75px 0 50px;
	}
	.hero-img-txt p {
		line-height: 2.5;
	}
	/* ========== NEWS ========== */
	#NEWS {
		padding-top: 150px;
	}
	#NEWS::before {
	  top: -75px;
	  height: 150px;
	}
	#NEWS .outer {
		margin: 0;
	}
	#NEWS .inner {
		width: 95%;
		margin: 0 0 0 5%;
	}
	#NEWS .inner h2::before {
		right: -12vw;
	}
	.news-content {
		width: calc(100% - 27.5vw);
	}
	.page .news-content {
		width: 100%;
		padding-left: 7.5vw;
	}
	.news-content dl {
	  display: block;
	  padding: 1.5em 0;
	}
	.news-content-link {
	  justify-content: flex-start;
	  margin-top: 4em;
	}
	.news-content-link a {
		border-radius: 3px;
	}
	/* ========== ABOUT ========== */
	#ABOUT {
		padding-bottom: 150px;
	}
	#ABOUT::before {
	  left: 2.5%;
	  width: 105%;
	  height: 100px;
	}
	#ABOUT .outer {
		padding-right: 0;
	}
	#ABOUT .inner {
		padding-top: 65vw;
		width: 90%;
		margin: 0 5%;
	}
	#ABOUT .inner h2 {
		margin-left: 35vw;
	}
	.about-txt-inner p {
		margin-top: 20px;
	}
	.content-photo-top,
	.content-photo-bottom {
	  border-radius: 3px;
	}
	#ABOUT .content-photo-top {
		margin-left: 5%;
	}
	#ABOUT .content-photo-top p {
		-webkit-mask-image: none;
    	mask-image: none;
	}
	#ABOUT .content-photo-bottom {
		margin-top: -15vw;
	}
	/* ========== INFORMATION ========== */
	#INFORMATION {
		padding-top: 0;
	}
	#INFORMATION .inner {
		padding-top: 55vw;
	}
	#INFORMATION .inner h2::before {
		left: 8em;
	}
	#INFORMATION .content-photo-top {
	  width: 77.5%;
		margin-top: -8vw;
	}
	#INFORMATION .content-photo-bottom {
	  	width: 60%;
		margin-top: 150vw;
	}
	.information-txt h3::before {
		top: calc(5vw + 1em);
		left: -10vw;
		width: 14.5vw;
	}
	.information-txt-inner {
		margin-left: 4.5%;
		padding: 5.5% 0 5.5% 5.5%;
		border-radius: 0 3px 0 3px;
		line-height: 2;
	}
	/* ========== MENU ========== */
	#MENU {
		padding-top: 150px;
	}
	#MENU::before {
	  height: 75px;
	}
	#MENU .inner { 
		width: 90%;
		margin: auto;
	}
	.menu-head {
		position: inherit;
		right: auto;
		background: transparent;
		padding: 0;
		height: auto;
	}
	.menu-head-nav {
		right: 5%;
		top: 13vw;
	}
	.menu-content-wrap {
	  position: relative;
	  overflow: hidden;
		padding-top: 30px;
	}
	.menu-num {
		left: auto;
		right: 0;
	}
	.menu-content-slider {
		align-items: flex-start;
	}
	.menu-content {
		grid-template-columns: 1fr;
		grid-template-rows: 1fr;
	  	gap: 0;
	}
	.menu-content-photo {
	  grid-column: 1;
	  grid-row: 1;
        aspect-ratio: 9 / 16;
		height: auto;
		min-height: initial;
		max-height: initial;
	  border-radius: 3px;
		margin-top: 23vw;
	}
	.menu-content-photo p {
		width: 100%;
		height: 100%;
	}
	.menu-content-txt {
		position: relative;
	  grid-column: 1;
	  grid-row: 1;
		padding-top: 3.5em;
		z-index: 3;
	}
	.menu-content-txt h3 { 
		text-align: center;
	}
	.menu-content-txt h3::before {
		width: 15vw;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	.menu-content-txt h3::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		width: 15vw;
		height: 1px;
		background: var(--primary);
		transform: translateY(-50%);
	}
	.menu-content-txt-inner {
		background: rgba(255,255,255,.75);
		border-radius: 3px;
		margin: 8vw 5% 0 5%;
		padding: 5%;
		min-height: initial;
		letter-spacing: 0;
	}
	.menu-content-txt-info {
	  border-radius: 3px;
	  padding: 5%;
		margin: 5%;
		background: rgba(255,255,255,.75);
		min-height: initial;
		letter-spacing: 0;
	}
	.menu-content-txt-info.-blank {
		background: rgba(255,255,255, 0);
	}
	.menu-content-txt-info h4 {
		padding-right: 0;
		width: 100%;
	}
	.menu-content-txt-info h4::after {
		left: 0;
	}
	.menu-content-txt-info dl {
		flex-wrap: wrap;
		padding: 5px 0;
		font-size: 11px;
	}
	.menu-content-txt-info dl dt {
		width: 6em;
		text-align: left;
	}
	.menu-content-txt-info dl dt::before {
		left: -5vw;
	}
	.menu-content-txt-info dl dt::after {
		display: none;
	}
	.menu-content-txt-info dl dd {
		width: calc(100% - 6em);
		padding-left: 1.5em;
	}
	.menu-content-flow {
		width: 100%;
		margin-left: 0;
	  border-radius: 3px;
	  padding: 5% 5% 10vw;
	}
	.menu-content-flow-list {
	  grid-template-columns: 1fr;
	}

	.flowbox {
		margin-left: 0;
		margin-bottom: 10px;
	}
	.flowbox::after {
		display: none;
	}
	.flowbox:last-child::after { display: none; }

	.flowbox-num {
		border-radius: 3px 3px 0 0;
	}
	.flowbox h5 {
		border-radius: 0 0 0 3px;
	}
	.flowbox p {
		min-height: initial;
		margin-top: -5px;
		padding: 1.3em 2em;
		border-radius: 3px;
	}
	.menu-content-flow-comment {
		margin-top: 25px;
		padding-top: 25px;
	}
	.menu-content-dotnav {
	  display: flex!important;
	}
	
	/* ========== DOCTOR ========== */
	#DOCTOR .outer {
	  padding: 15vw 0;
		margin: 0 0 0 5px;
		border-radius: 3px 0 0 3px;
	}
	#DOCTOR .inner {
		width: 95%;
		margin-right: 0;
	}
	#DOCTOR .inner h2::before {
		right: -11vw;
	}
	.doctor-content {
		flex-wrap: wrap;
		width: calc(100% - 8em);
		margin-left: 8em;
	}
	.doctor-card {
		width: 100%;
		margin-left: 0;
		margin-top: 10px;
	}
	.doctor-card-photo {
		display: flex;
		align-items: flex-end;
		padding: 4vw;
		border-radius: 3px 0 0 3px;
	}
	.doctor-card-photo p {
		width: 50%;
	}
	.doctor-card-photo p, .doctor-card-profile-photo p {
		border-radius: 3px;
	}
	.doctor-card-photo span {
		right: 15px;
		bottom: 15px;
	}
	.doctor-card-name {
		width: 50%;
		padding-left: 7.5%;
		text-align: left;
		margin-top: 0;
	}
	.doctor-card-profile {
	  border-radius: 3px;
	  overflow-y: scroll;
	  -webkit-overflow-scrolling: touch;
	}
	.doctor-card-profile-photo {
		width: 100%;
		margin-bottom: 5vw;
		padding-bottom: 5vw;
		border-bottom: 1px solid var(--primary);
	}
	.doctor-card-profile-photo p {
		display: none;
	}
	.doctor-card-profile-block {
	  width: 100%;
	  font-size: 11px;
	  max-height: 70vh;
	  overflow-y: auto;
	  -webkit-overflow-scrolling: touch;
	  overscroll-behavior: contain;
	}	
	.doctor-card-profile-block dl dt {
		width: 6em;
	}
	.doctor-card-profile-block dl dd {
		width: calc(100% - 6em);
	}
	.doctor-card-profile-block ul {
		display: block;
	}
	.doctor-card-profile-block ul li {
		display: inline;
		padding-left: 0;
		margin-left: 0;
	}
	.doctor-card-profile-block ul li::before {
		content: ' / ';
		position: inherit;
		top: auto;
		left: auto;
		width: auto;
		height: auto;
		background: transparent;
		transform: translateY(0) skewX(0);
	}
	.doctor-card-profile-block ul li:first-child {
		padding-left: 0;
		margin-left: 0;
	}
	.doctor-card-profile-block ul li:first-child::before {
		display: none;
	}
	.doctor-card-profile-name {
		margin-top: 1em;
		font-size: 12px;
		line-height: 1.5;
	}
	.doctor-card-profile-name strong {
		font-size: 16px;
	}
	.doctor-card-profile-close {
	  top: 5px;
	  right: 5px;
	  width: 25px;
	  height: 25px;
		border-radius: 3px;
	}
	.doctor-card-profile-close::before,
	.doctor-card-profile-close::after {
	  width: 25px;
	}
	
	/* ========== CONTACT ========== */
	#CONTACT h2 {
		margin-bottom: 50px;
	}
	#CONTACT .inner {
		width: 90%;
	}
	.contact-content-txt {
	  margin-bottom: 50px;
		line-height: 1.8;
	}
	.contanct-content-form dl {
	  display: flex;
		flex-wrap: wrap;
	  margin-bottom: 30px;
		border-top: 3px solid var(--primary);
		padding: 0 10%;
	}
	.contanct-content-form dt {
	  width: 100%;
		padding: 20px 0 5px;
	}
	.contanct-content-form dd {
	  padding: 10px 0 20px;
		width: 100%;
		border-bottom: 1px dotted var(--primary);
	}
	.privacypolicy {
	  border-radius: 3px;
	  padding: 5%;
	  margin-bottom: 50px;
	}
	.privacypolicy strong {
	  margin-bottom: 15px;
	}
	.privacypolicy p {
	  line-height: 1.8;
		font-size: 12px;
	}
	.contanct-content-form button[type="submit"],
	.confirmandsend input[type="submit"] {
		font-size: 16px;
	  padding: 12px 75px;
	  border-radius: 3px;
	}
	.confirmandsend input[type="submit"] {
		padding: 12px 0;
	}
	
	.contact-parallax-circle:nth-child(1) { width: 10vw; aspect-ratio: 1; left: 8vw; top: 10%; }
	.contact-parallax-circle:nth-child(2) { width: 12vw; aspect-ratio: 1; right: 4vw; top: 45%; }
	.contact-parallax-circle:nth-child(3) { width: 10vw; aspect-ratio: 1; right: 10vw; bottom: 5%; }
	.btn-wrapper::after {
		right: 10px;
		width: 22px;
		height: 22px;
	} 
	
	/* ========== ACCESS ========== */
	#ACCESS {
		padding-top: 200px;
		background-image: repeating-linear-gradient(60deg, rgba(70, 110, 75, .65), rgba(70, 110, 75, .65) 1px, transparent 1px, transparent 11px);
	}
	#ACCESS::before {
		height: 100px;
	}
	#ACCESS h2 { margin-bottom: 50px; }
	.access-content-googlemap {
	  height: 350px;
		border-radius: 3px 3px 0 0;
	}
	.access-content-txt {
		position: relative;
		flex-wrap: wrap;
	  padding: 8vw 5vw;
		border-radius: 0 0 3px 3px;
	}
	.access-content-txt::before {
		top: calc(8vw + 1px);
		width: calc(100% - 10vw);
	}
	.address {
		width: 100%;
	}
	.address strong {
	  font-size: 16px;
	  margin-bottom: 1.5em;
	}
	.address p {
	  line-height: 1.8;
	}
	.train {
	  text-align: left;
	  display: block;
		margin-top: 30px;
	}
	.train::after {
		display: none;
	}
	/* ========== FOOTER ========== */
	footer {
		margin: 5px;
		border-radius: 3px;
	}
	.footer-wrap {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		padding: 0 5% 10px;
	}
	.footer-logo {
		grid-column: 1;
		grid-row: auto;
		margin-top: 10vw;
		margin-bottom: 15vw;
		height: 35px;
	}
	.footer-nav-block {
		grid-column: 1;
		grid-row: auto;
		justify-content: flex-start;
	}
	.footer-nav {
		flex-wrap: wrap;
		margin-left: 20px;
		margin-bottom: 30px;
	}
	.footer-nav a {
		writing-mode: horizontal-tb;
		padding: 12px;
		margin: 0;
		font-size: 14px;
	}
	.footer-nav a::before {
		height: 50%;
		top: 50%;
		right: 0;
		left: auto;
		transform: translateY(-50%) skewX(-15deg);
	}
	.open-close {
		grid-column: 1;
		grid-row: auto;
		margin-left: 30px;
	}
	.open-close dl,	.open-close p {
		flex-wrap: wrap;
		margin-left: 1em;
	}
	.open-close dl dt {
		width: 4em;
		margin: 0 0 10px;
		padding: 0;
	}
	.open-close dl dd {
		width: calc(100% - 4em);
		margin: 0 0 10px;
		padding: 0;
	}
	.footer-links {
		display: none;
	}
	.footer-address {
		grid-column: 1;
		grid-row: auto;
		text-align: left;
		margin: 30px 0 50px 30px;
	}
	.copyright {
		grid-column: 1;
		grid-row: auto;
		text-align: center;
		padding-top: 2em;
	}

}

