@charset "utf-8";
header {
	position: relative;
	width: 100%;
	background: var(--sub3-color);
	border-top: 4px solid #EA3C1D;
	z-index: 99;
}
.header_main_wrap {
	align-items: center;
	justify-content: space-between;
	background: #F0F1F3;
	padding: 8px;
}
.header_main_logo {
	width: 86px;
}
.header_main_wrap .header_text {
	font-size: 12px;
	color: var(--sub4-color);
}
.header_wrap {
	position: relative;
}
.header_logo_wrap {
	align-items: center;
	padding: 20px 15px;
}
.header_logo_wrap .header_logo {
	display: block;
	width: 230px;
	margin-right: 30px;
}
.header_text {
	font-size: 16px;
	font-weight: 400;
	color: var(--sub3-color);
}
.header_logo_wrap .header_text {
	font-size: 17px;
	color: #1866AF;
}
.header_menu_wrap {
	width: 100%;
	background: #6780B4;
	padding: 8px 15px 0;
}
.header_menu_content {
	-webkit-align-items: center;
	        align-items: center;
	-webkit-justify-content: center;
		    justify-content: center;
	gap: 20px;
}
.header_pankusu {
	display: block;
}
.list_header_menu {
	-webkit-align-items: center;
	        align-items: center;
	gap: 4px;
}
.header_menu_item {
	width: 168px;
	height: 100%;
}
.header_menu_item .header_menu_link {
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-justify-content: center;
	        justify-content: center;
	-webkit-align-items: center;
	        align-items: center;
	height: 100%;
	font-size: 18px;
	font-weight: 400;
	color: var(--sub3-color);
	-webkit-border-radius: 10px 10px 0 0;
	        border-radius: 10px 10px 0 0;
	border: 1px solid var(--sub3-color);
	border-bottom: 0;
	padding: 12px 0;
}
.junior_menu_item .header_menu_link {
	background: var(--sub1-color);
}
.senior_menu_item .header_menu_link {
	background: var(--main-color);
}
.dental_menu_item .header_menu_link {
	background: var(--sub2-color);
}
.list_header_other_menu {
	-webkit-align-items: center;
	        align-items: center;
}
.list_header_other_menu li {
	position: relative;
	margin-right: 13px;
	padding-right: 13px;
}
.list_header_other_menu li::after {
	content: '';
	position: absolute;
	width: 1px;
	height: 26px;
	background: var(--sub3-color);
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.list_header_other_menu li:last-child {
	margin-right: 0;
	padding-right: 0;
}
.list_header_other_menu li:last-child::after {
	content: none;
}
.list_header_other_menu a {
	-webkit-align-items: center;
	        align-items: center;
}
.list_header_other_menu li a img {
	width: 12px;
	margin-left: 5px;
}
.header_button {
	position: absolute;
	top: 22px;
	right: 15px;
	gap: 10px;
}
.header_button a {
	-webkit-align-items: center;
	        align-items: center;
	-webkit-justify-content: center;
	        justify-content: center;
	background: #6971A2;
	padding: 8px 14px;
	border-radius: 4px;
}
.header_button a .header_text {
	font-size: 15px;
}
.header_button a img {
	width: 12px;
	margin-left: 5px;
}
.junior_sub_menu,
.junior_sub_menu .menu_children ol {
	background: var(--sub1-color);
}
.senior_sub_menu,
.senior_sub_menu .menu_children ol {
	background: var(--main-color);
}
.dental_sub_menu,
.dental_sub_menu .menu_children ol {
	background: var(--sub2-color);
}
.sub_menu_wrap {
	padding: 20px 0;
}
.sub_menu_wrap ul {
	-webkit-align-items: center;
	        align-items: center;
	justify-content: center;
	gap: 30px;
}
.sub_menu_wrap ul li {
	position: relative;
}
.sub_menu_wrap ul li .sub_menu_link {
	position: relative;
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: var(--sub3-color);
	padding: 10px 0;
}
.sub_menu_wrap ul li .sub_menu_link::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 2px;
	background: var(--sub3-color);
	left: 0;
	right: 0;
	margin: 0 auto;
	bottom: 0;
	opacity: 0;
}
.sub_menu_wrap ul li .sub_menu_link:hover::after,
.sub_menu_wrap ul li .sub_menu_link.menu_active::after {
	opacity: 1;
}
.sub_menu_wrap ul > li:not(:hover) .menu_children {
	opacity: 0;
  	visibility: hidden;
}
.menu_children {
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	   -moz-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	     -o-transform: translateX(-50%);
	        transform: translateX(-50%);
	top: 34px;
	padding-top: 40px;
	z-index: 9;
}
.menu_children ol {
	position: relative;
	-webkit-border-radius: 10px;
	        border-radius: 10px;
	padding: 15px;
	gap: 15px;
}
.junior_sub_menu .menu_children ol {
	width: 405px;
}
.senior_sub_menu .menu_children ol {
	width: 795px;
	width: 600px;
}
.dental_sub_menu .menu_children ol {
	width: 210px;
}
.menu_children ol::before {
	content: '';
  	position: absolute;
  	top: -15px;
  	left: 50%;
  	-webkit-transform: translateX(-50%);
  	   -moz-transform: translateX(-50%);
  	    -ms-transform: translateX(-50%);
  	     -o-transform: translateX(-50%);
  	        transform: translateX(-50%);
  	border-style: solid;
  	border-width: 0 10px 16px 10px;
}
.junior_sub_menu .menu_children ol::before {
	border-color: transparent transparent var(--sub1-color) transparent;
}
.senior_sub_menu .menu_children ol::before {
	border-color: transparent transparent var(--main-color) transparent;
}
.dental_sub_menu .menu_children ol::before {
	border-color: transparent transparent var(--sub2-color) transparent;
}
.menu_children ol li {
	position: relative;
	width: 180px;
}
.menu_children ol li a {
	display: block;
	width: 100%;
}
.menu_children ol li a img {
	-webkit-border-radius: 5px;
	        border-radius: 5px;
}
.menu_children ol li a p {
	position: absolute;
  	font-size: 16px;
  	color: var(--sub3-color);
  	letter-spacing: 2px;
  	writing-mode: vertical-lr;
  	text-shadow: 0px 0px 4px var(--sub5-color);
  	right: 5px;
  	top: 5px;
}

@media only screen and (min-width: 1200px) and (max-width: 1349px) {
	.header_menu_wrap {
		padding: 8px 10px 0;
	}
	.header_menu_content {
		gap: 15px;
	}
	.header_text {
		font-size: 15px;
	}
	.header_menu_item {
		width: 150px;
	}
	.list_header_other_menu li {
		margin-right: 10px;
		padding-right: 10px;
	}
	.junior_sub_menu .menu_children ol {
		width: 365px;
	}
	.senior_sub_menu .menu_children ol {
		width: 715px;
		width: 540px;
	}
	.dental_sub_menu .menu_children ol {
		width: 190px;
	}
	.menu_children ol li {
		width: 160px;
	}
}

/*Tablet*/
@media only screen and (min-width: 768px) and (max-width: 1199px) {
	header {
		border-width: 0.334vw;
	}
	.header_main_wrap {
		padding: 0.667vw;
	}
	.header_main_logo {
		width: 7.173vw;
	}
	.header_main_wrap .header_text {
		font-size: 1.001vw;
	}
	.header_logo_wrap {
		padding: 1.668vw 1.251vw;
	}
	.header_logo_wrap .header_logo {
		width: 19.183vw;
		margin-right: 2.502vw;
	}
	.header_text {
		font-size: 1.251vw;
	}
	.header_logo_wrap .header_text {
		font-size: 1.418vw;
	}
	.header_menu_wrap {
		padding: 0.667vw 0.834vw 0;
	}
	.header_menu_content {
		gap: 1.251vw;
	}
	.list_header_menu {
		gap: 0.334vw;
	}
	.header_menu_item {
		width: 12.510vw;
	}
	.header_menu_item .header_menu_link {
		font-size: 1.501vw;
		-webkit-border-radius: 0.834vw 0.834vw 0 0;
				border-radius: 0.834vw 0.834vw 0 0;
		border-width: 0.083vw;
		padding: 1.001vw 0;
	}
	.list_header_other_menu li {
		margin-right: 0.834vw;
		padding-right: 0.834vw;
	}
	.list_header_other_menu li::after {
		width: 0.083vw;
		height: 2.168vw;
	}
	.list_header_other_menu li a img {
		width: 1.001vw;
		margin-left: 0.417vw;
	}
	.header_button {
		top: 1.835vw;
		right: 1.251vw;
		gap: 0.834vw;
	}
	.header_button a {
		padding: 0.667vw 1.168vw;
		border-radius: 0.334vw;
	}
	.header_button a .header_text {
		font-size: 1.251vw;
	}
	.header_button a img {
		width: 1.001vw;
		margin-left: 0.417vw;
	}
	.sub_menu_wrap {
		padding: 1.668vw 0;
	}
	.sub_menu_wrap ul {
		gap: 2.502vw;
	}
	.sub_menu_wrap ul li .sub_menu_link {
		font-size: 1.334vw;
		padding: 0.834vw 0;
	}
	.sub_menu_wrap ul li .sub_menu_link::after {
		height: 0.167vw;
	}
	.menu_children {
		top: 2.836vw;
		padding-top: 3.336vw;
	}
	.menu_children ol {
		-webkit-border-radius: 0.834vw;
		        border-radius: 0.834vw;
		padding: 1.251vw;
		gap: 1.251vw;
	}
	.junior_sub_menu .menu_children ol {
		width: 30.442vw;
	}
	.senior_sub_menu .menu_children ol {
		width: 59.633vw;
		width: 45.038vw;
	}
	.dental_sub_menu .menu_children ol {
		width: 15.847vw;
	}
	.menu_children ol::before {
	  	top: -1.251vw;
	  	border-width: 0 0.834vw 1.334vw 0.834vw;
	}
	.menu_children ol li {
		width: 13.344vw;
	}
	.menu_children ol li a img {
		-webkit-border-radius: 0.417vw;
		        border-radius: 0.417vw;
	}
	.menu_children ol li a p {
		font-size: 1.334vw;
		letter-spacing: 0.167vw;
		text-shadow: 0px 0px 0.334vw var(--sub5-color);
		right: 0.417vw;
		top: 0.417vw;
	}
}

/*SP*/
@media only screen and (max-width: 767px) {
	.main {
		padding-top: 1.32rem;
	}
	header {
		position: fixed;
		padding: 0.30rem;
		border-width: 0.04rem;
		top: 0;
	}
	.header_main_wrap {
		display: none;
	}
	.header_wrap {
		position: unset;
		display: flex;
		justify-content: space-between;
		-webkit-align-items: flex-start;
		        align-items: flex-start;
	}
	.header_logo_wrap {
		display: block;
		width: 3rem;
		padding: 0;
	}
	.header_logo_wrap .header_logo {
		width: 100%;
		margin-right: 0;
	}
	.header_text {
		font-size: 0.24rem;
		font-weight: 500;
	}
	.header_logo_wrap .header_text {
		font-size: 0.18rem;
		color: #5c5c5c;
		margin-top: .05rem;
	}
	.header_hamburger_menu_wrap {
		display: flex;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-align-items: center;
		        align-items: center;
		-webkit-justify-content: center;
		        justify-content: center;
		width: 0.58rem;
		height: 0.58rem;
		border: 0.06rem solid var(--sub7-color);
		-webkit-border-radius: 100%;
		        border-radius: 100%;
		cursor: pointer;
    	z-index: 99;
	}
	.header_hamburger_menu {
		position: relative;
		width: 0.29rem;
		height: 0.29rem;
	}
	.header_hamburger_menu span {
		position: absolute;
    	width: 100%;
    	height: 0.06rem;
    	background: var(--sub7-color);
    	left: 0;
    	-webkit-border-radius: 0.06rem;
    	        border-radius: 0.06rem;
    	transition: all 0.6s ease-in-out;
	}
	.header_hamburger_menu span:nth-child(1) {
		top: 0;
	}
	.header_hamburger_menu span:nth-child(2) {
		top: 50%;
		transform: translateY(-50%);
	}
	.header_hamburger_menu span:nth-child(3) {
		bottom: 0;
	}
	header.is-open .header_hamburger_menu_wrap {
		border-color: var(--sub3-color);
	}
	header.is-open .header_hamburger_menu span {
		background: var(--sub3-color);
	}
	header.is-open .header_hamburger_menu span:nth-child(2) {
		opacity: 0;
	}
	header.is-open .header_hamburger_menu span:nth-child(1) {
		top: 0.12rem;
		transform: rotate(45deg);
	}
	header.is-open .header_hamburger_menu span:nth-child(3) {
		bottom: 0.11rem;
		transform: rotate(-45deg);
	}
	.header_menu_wrap {
		position: absolute;
		top: 0.04rem;
		left: 0;
		padding: 0.15rem 0.15rem 0;
		opacity: 0;
    	visibility: hidden;
    	transition: all 0.6s ease-in-out;
		background: transparent;
	}
	header.is-open .header_menu_wrap {
		opacity: 1;
    	visibility: visible;
	}
	.header_menu_content {
	    background: #6780B4;
		gap: 0;
	    max-height: 88vh;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	.header_pankusu {
		width: 100%;
		padding: 0.25rem 0.20rem 0.25rem 0.30rem;
	}
	.list_header_menu {
		width: 100%;
		gap: 0;
	}
	.header_menu_item {
		display: flex;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
		width: 100%;
		height: auto;
	}
	.junior_menu_item{
		background: var(--sub1-color);
	}
	.senior_menu_item{
		background: var(--main-color);
	}
	.dental_menu_item{
		background: var(--sub2-color);
	}
	.header_menu_item .header_menu_link {
		width: 80%;
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		font-size: 0.24rem;
		-webkit-border-radius: 0;
		        border-radius: 0;
		padding: 0.35rem 0.30rem;
		border: 0;
	}
	.header_sub_hamburger_menu {
		position: relative;
		width: 20%;
		cursor: pointer;
	}
	.header_sub_hamburger_menu::after {
		content: '';
		position: absolute;
		border-width: 0.30rem 0.15rem 0 0.15rem;
		border-style: solid;
		border-color: var(--sub3-color) transparent transparent transparent;
		right: 0.20rem;
		top: 50%;
		-webkit-transform: translateY(-50%);
		   -moz-transform: translateY(-50%);
		    -ms-transform: translateY(-50%);
		     -o-transform: translateY(-50%);
		        transform: translateY(-50%);
	}
	.header_menu_item.menu-open .header_sub_hamburger_menu::after {
		transform: translateY(-50%) rotate(180deg);
	}
	.header_sub_menu_wrap {
		width: 100%;
		display: none;
	}
	.senior_menu_item .header_sub_menu_wrap {
		background: var(--sub9-color);
	}
	.junior_menu_item .header_sub_menu_wrap {
		background: var(--sub10-color);
	}
	.dental_menu_item .header_sub_menu_wrap {
		background: var(--sub11-color);
	}
	.header_sub_menu_wrap ul li {
		width: 100%;
		border-bottom: 0.02rem solid var(--sub6-color);
	}
	.header_sub_menu_wrap ul li:last-child {
		border: 0;
	}
	.header_sub_menu_wrap ul li a {
		display: block;
		font-size: 0.28rem;
		font-weight: 700;
		color: var(--sub4-color);
		padding: 0.25rem 0.30rem;
	}
	.list_header_other_menu li {
		width: 100%;
		border-bottom: 0.02rem solid var(--sub3-color);
		margin-right: 0;
		padding-right: 0;
	}
	.list_header_other_menu li::after {
		content: none;
	}
	.list_header_other_menu li:last-child {
		border: 0;
	}
	.list_header_other_menu li a {
		padding: 0.25rem 0.20rem 0.25rem 0.30rem;
	}
	.list_header_other_menu li a img {
		width: 0.20rem;
		margin-left: 0.15rem;
	}
	.header_button {
		position: relative;
		width: 100%;
		top: unset;
		right: unset;
		gap: 0.25rem;
		padding: 0.25rem 0.20rem 0.40rem 0.30rem;
	}
	.header_button a {
		width: 3.20rem;
		padding: 0.17rem 0;
		background: var(--sub3-color);
		-webkit-border-radius: 0.10rem;
		        border-radius: 0.10rem;
	}
	.header_button a .header_text {
		font-size: 0.24rem;
		color: #6971A2;
	}
	.header_button a img {
		width: 0.20rem;
		margin-left: 0.15rem;
	}
	.header_menu_children {
		padding: 0 0.30rem 0.25rem;
	}
	.header_menu_children ol {
		width: 4.50rem;
		gap: 0.10rem;
		margin-left: auto;
	}
	.header_menu_children ol li {
		position: relative;
		width: 2.20rem;
		border: 0;
	}
	.header_menu_children ol li a {
		padding: 0;
	}
	.header_menu_children ol li a img {
		-webkit-border-radius: 0.20rem;
		        border-radius: 0.20rem;
	}
	.header_menu_children ol li a p {
		position: absolute;
		font-size: 0.22rem;
		color: var(--sub3-color);
		letter-spacing: 0.03rem;
		writing-mode: vertical-lr;
		text-shadow: 0px 0px 0.04rem var(--sub5-color);
		right: 0.08rem;
		top: 0.08rem;
	}
}