@charset "utf-8";

/* ------------ 緑内障サポートナビ ------------ */

@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&display=swap");

#ryokunaisho {
	font-family: "Zen Maru Gothic", sans-serif;
}
#ryokunaisho .inner {
	padding: 0 15px;
}
#ryokunaisho br.pc {
	display: none;
}
@media (min-width: 750px) {
	#ryokunaisho .inner {
		max-width: 970px;
		margin: 0 auto;
	}
	#ryokunaisho br.sp {
		display: none;
	}
	#ryokunaisho br.pc {
		display: block;
	}
}

.support_nav_header {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding-top: 1px;
	background-image: url("../img/common/head_bg.svg");
	background-position: center;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	color: #fff;
}
.support_nav_header_title {
	max-width: 178px;
}
.support_nav_header_title a {
	display: block;
	transition: all .5s ease;
}
.support_nav_header_title a:hover {
	opacity: .8;
}
@media (min-width: 750px) {
	.support_nav_header {
		height: 78px;
		padding-bottom: 3px;
	}
	.support_nav_header_title {
		max-width: 346px;
	}
}

.page_nav {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	margin-top: 34px;
	margin-bottom: 40px;
	gap: 11px 1em;
	font-size: clamp(13px, 3.47vw, 18px);
	line-height: 1.31;
	text-align: center;
}
.page_nav li {
	position: relative;
	min-width: 6.2em;
}
.page_nav li::before {
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 6.2em;
	height: 1px;
	margin: 0 auto;
	background-color: #00a16c;
	content: "";
}
.page_nav li:nth-child(4), .page_nav li:nth-child(5) {
	padding: 0 3px;
}
.page_nav a {
	color: inherit;
}
.page_nav a, .page_nav li > span {
	display: block;
	width: 100%;
}
.page_nav a span, .page_nav span span {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 2.62em;
}
.page_nav a::after, .page_nav li > span::after {
	content: "";
	display: block;
	width: 100%;
	background-position: center bottom;
	background-size: contain;
	background-repeat: no-repeat;
}
.page_nav a::after {
	height: 14px;
}
.page_nav li > span::after {
	display: block;
	width: 100%;
	height: 34px;
	margin-top: 5px;
	background-image: url("../img/common/nav_current_2.png");
}
.page_nav li:nth-child(5) > span::after {
	background-image: url("../img/common/nav_current_3.png");
}

.page_title {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 153px;
	padding: 15px 5px 29px;
	background-image: url("../img/common/bg_sp.svg");
	background-position: center bottom;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	color: #fff;
	font-size: 26px;
	text-align: center;
}
.page_title h2 {
	font-weight: bold;
}
.page_title h2 span {
	display: inline-block;
}
.page_intro_box {
	position: relative;
	margin-top: 87px;
	padding: 45px 15px 37px 22px;
	border: 1px solid #00a16c;
	border-radius: 20px;
	font-size: 20px;
}
.page_intro_box::before {
	display: block;
	position: absolute;
	top: -90px;
	right: 0;
	left: 0;
	height: 122px;
	background-image: url("../img/common/submenu_doctor.png");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	content: "";
}
.page_menu__toptxt{
	font-weight: normal;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #00a16c;
}
.page_menu {
	font-size: 18px;
	line-height: 1.5;
}
.page_menu li:not(:last-child) {
	margin-bottom: 12px;
}
.page_menu a {
	display: inline-block;
	position: relative;
	padding-left: 1em;
	color: currentColor;
}
.page_menu a::before {
	position: absolute;
	left: 0;
	content: "・";
}
.page_menu a::after {
	position: absolute;
	top: 50%;
	left: 100%;
	padding-left: 8px;
	transform: translateY(-50%);
	content: "▼";
	color: #00a16c;
}
.page_sec_title {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 1.8em;
	margin-bottom: 23px;
	border-radius: 42px;
	background: linear-gradient(90deg, #009094 0%, #01886a 36%, #037c23 100%);
	color: #fff;
	font-weight: 500;
	font-size: 22px;
	line-height: 1.36;
	letter-spacing: .059090909090909em;
	text-align: center;
}
.page_sec_title.large {
	min-height: 3.6em;
}
.page_btn {
	height: 4em;
	margin: 0 auto;
	overflow: hidden;
	border-radius: 8px;
	background-color: #fff;
	box-shadow: 5px 5px 0 rgba(0,0,0,.161);
	font-weight: bold;
	font-size: 24px;
	line-height: 1.5;
	text-align: center;
	position: relative;
    z-index: 1;
}
.page_btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding-bottom: 4px;
	background: linear-gradient(180deg, #fdce22 0%, #fdc01c 7%, #f70 31%, #e5581f 60%, #eea11f 100%);
	color: #fff;
	transition: all .5s ease;
}
.page_btn a:hover {
	opacity: .8;
}
@media (min-width: 375px) {
	.page_nav li {
		min-width: 100px;
	}
	.page_nav li::before {
		width: 100px;
	}
	.page_menu {
		font-size: inherit;
	}
}
@media (min-width: 750px) {
	.page_nav {
		flex-wrap: no-wrap;
		margin-top: 32px;
		margin-bottom: 16px;
		gap: 15px;
		font-size: clamp(15px, 2.1vw, 20px);
		line-height: 1.4;
	}
	.page_nav li {
		min-width: 8em;
	}
	.page_nav li::before {
		width: 8em;
	}
	.page_nav li:not(:nth-child(2)) {
		padding: 0 5px;
	}
	.page_nav a span, .page_nav span span {
		min-height: 2.8em;
	}
	.page_nav a::after {
		height: 23px;
	}
	.page_nav a:hover::after, .page_nav li > span::after {
		height: 55px;
		margin-top: 5px;
	}
	.page_nav a:hover::after {
		background-image: url("../img/common/nav_current_2.png");
	}
	.page_nav li:nth-child(5) a:hover::after {
		background-image: url("../img/common/nav_current_3.png");
	}

	.page_title {
		min-height: 235px;
		padding: 15px 15px 58px;
		background-image: url("../img/common/bg.svg");
		background-size: unset;
		font-size: 40px;
	}
	.page_intro_box {
		margin-top: 59px;
		padding: 35px 30px 40px;
		font-size: 24px;
	}
	.page_intro_box::before {
		top: auto;
		right: 0;
		bottom: 15px;
		left: auto;
		width: 25%;
		max-width: 234px;
		height: 207px;
		background-position: right bottom;
		background-position: center bottom;
	}
	.page_menu li:not(:last-child) {
		margin-bottom: 6px;
	}
	.page_sec_title {
		min-height: 1.9em;
		margin-bottom: 45px;
		border-radius: 30px;
		font-size: 32px;
	}
	.page_sec_title.large {
		min-height: 1.9em;
	}
	.page_btn {
		max-width: 18.7em;
		height: 3.3em;
		font-size: 30px;
	}
}
@media (min-width: 1024px) {
	.page_nav {
		gap: 25px;
	}
	.page_intro_box {
		padding: 54px 64px 58px 64px;
	}
	.page_intro_box::before {
		right: 54px;
	}
}
@media (min-width: 1920px) {
	.page_title {
		background-size: 100% 100%;
	}
}

.sec_about_bottom_outer {
	padding-top: 100px;
	background-image: url("../img/common/bg02_sp.svg");
	background-position: center top;
	background-size: 100% 629px;
	background-repeat: no-repeat;
}
.sec_about_bottom {
	padding: 50px 20px 38px;
	background-image: url("../img/common/teacher_box_sp.svg");
	background-position: center top;
	background-size: 100% 100%;
	background-repeat: no-repeat;
}
.sec_about_bottom_title {
	margin-bottom: 42px;
	color: #00a16c;
	font-weight: bold;
	font-size: 24px;
	line-height: 1.82;
	text-align: center;
}
.sec_about_bottom_title::after {
	display: block;
	width: 182px;
	height: 1px;
	margin: 37px auto 0;
	background-color: #00a16c;
	content: "";
}
.sec_about_bottom_txt {
	font-size: 15px;
	line-height: 2.11;
	text-align: center;
}
.sec_about_bottom_txt .sup {
	font-size: .5em;
	vertical-align: super;
}
.sec_about_bottom_note {
	margin-top: 25px;
	font-weight: normal;
	font-size: 15px;
	line-height: 2.13;
	text-align: center;
}
.sec_about_bottom_teacher {
	max-width: 288px;
	margin: 42px auto 0;
}
.sec_about_bottom_teacher_img {
	max-width: 180px;
	margin: 0 auto 32px;
}
.sec_about_bottom_teacher_name dt {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 2em;
	padding-bottom: 1px;
	border-radius: 1em;
	background-color: #00a16c;
	color: #fff;
	font-size: 22px;
	text-align: center;
}
.sec_about_bottom_teacher_name dd {
	margin-top: 10px;
	padding: 0 9px;
	font-size: 18px;
	line-height: 1.44;
}
.sec_about_bottom_teacher_name dd .name {
	display: inline-block;
	margin-top: 6px;
	margin-right: 10px;
	font-size: 26px;
}
@media (min-width: 375px) {
	.sec_about_bottom_title {
		font-size: 28px;
	}
	.sec_about_bottom_txt {
		font-size: 18px;
	}
	.sec_about_bottom_note {
		font-size: 16px;
	}
}
@media (min-width: 750px) {
	.sec_about_bottom_outer {
		padding-top: 134px;
		background-image: url("../img/common/bg02.svg");
		background-size: 100% 554px;
	}
	.sec_about_bottom_outer {
		background-size: unset;
	}
	.sec_about_bottom {
		padding: 41px 20px 56px;
		background-image: url("../img/common/teacher_box.svg");
	}
	.sec_about_bottom_title {
		margin-bottom: 35px;
		font-size: 44px;
		line-height: 1.41;
	}
	.sec_about_bottom_title::after {
		margin-top: 43px;
	}
	.sec_about_bottom_txt {
		font-size: 24px;
		line-height: 1.79;
	}
	.sec_about_bottom_note {
		font-size: 20px;
		line-height: 1.2;
	}
	.sec_about_bottom_teacher {
		display: flex;
		align-items: center;
		justify-content: center;
		max-width: none;
		margin-top: 44px;
		gap: 25px;
	}
	.sec_about_bottom_teacher_img {
		margin: 0;
	}
	.sec_about_bottom_teacher_name {
		max-width: 360px;
	}
	.sec_about_bottom_teacher_name dt {
		height: 44px;
		border-radius: 22px;
		font-size: 26px;
	}
	.sec_about_bottom_teacher_name dd {
		margin-top: 11px;
		padding: 0 9px;
		font-size: 20px;
		line-height: 1.2;
	}
	.sec_about_bottom_teacher_name dd .name {
		margin-top: 0;
		margin-right: 5px;
		font-size: 32px;
	}
}
@media (min-width: 1920px) {
	.sec_about_bottom_outer {
		background-size: 100% 554px;
	}
}

/* 固定ナビ */
[id^="target"]::before {
	display: block;
	visibility: hidden;
	height: 55px;
	margin-top: -55px;
	content: "";
}
#js-fixed-trigger {
	width: 0;
	height: 0;
	overflow: hidden;
}
#js-fixed-nav {
	z-index: 101;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	transform: translateY(-120%);
	transition: transform .5s;
}
#js-fixed-nav.is-fixed {
	transform: translateY(0);
}
.pc_support_nav {
	display: none;
}
.sp_support_nav {
	width: 100%;
	max-height: 100vh;
	background-image: url("../img/common/head_bg.svg");
	background-position: center;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	color: #fff;
	font-weight: 500;
	font-size: 20px;
	text-align: center;
	box-shadow: 0 3px 6px rgba(0,0,0,.161);
}
.sp_support_nav_inner {
	height: 100%;
	overflow-y: auto;
}
.sp_support_nav a {
	display: block;
	color: inherit;
}
.sp_support_nav_header {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 55px;
	padding-top: 1px;
}
.sp_support_nav_header_title {
	max-width: 178px;
}
.sp_support_nav_btn {
	display: flex;
	z-index: 101;
	position: fixed;
	top: 0;
	right: 0;
	align-items: center;
	justify-content: center;
	width: 55px;
	height: 55px;
	padding-bottom: 11px;
	overflow: hidden;
	border: 0;
	background-color: #fff;
	background-image: url("../img/common/menu.svg");
	background-repeat: no-repeat;
	background-position: center bottom 8px;
	background-size: 41px auto;
}
.sp_support_nav_btn span {
	display: block;
	position: relative;
	width: 27px;
	height: 18px;
	margin: 0 auto;
	border-width: 2px 0;
	border-style: solid;
	border-color: #00a16c;
	color: transparent;
	font-size: 1px;
	text-indent: -9999px;
}
.sp_support_nav_btn span::before, .sp_support_nav_btn span::after {
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 27px;
	height: 2px;
	transform: translateY(-50%);
	transform-origin: center;
	background-color: #00a16c;
	content: "";
}
.sp_support_nav_list_outer {
	visibility: hidden;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: opacity .5s;
}
.sp_support_nav_list {
	padding: 39px 15px;
}
.sp_support_nav_list .current {
	color: #00402e;
}
.sp_support_nav_list a {
	padding: 15px;
}
.is-spnav-open .sp_support_nav {
	height: 100vh;
}
.is-spnav-open .sp_support_nav .sp_support_nav_btn span {
	border-width: 0;
}
.is-spnav-open .sp_support_nav .sp_support_nav_btn span::before {
	transform: translateY(-50%) rotate(45deg);
}
.is-spnav-open .sp_support_nav .sp_support_nav_btn span::after {
	transform: translateY(-50%) rotate(-45deg);
}
.is-spnav-open .sp_support_nav .sp_support_nav_list_outer {
	visibility: visible;
	max-height: none;
	overflow-y: auto;
	opacity: 1;
}
html.is-spnav-open {
	overflow: hidden;
}
@media (min-width: 750px) {
	[id^="target"]::before {
		height: 121px;
		margin-top: -121px;
	}
	.sp_support_nav {
		display: none !important;
	}
	.pc_support_nav {
		display: block;
		height: 121px;
		padding: 13px 5px;
		background-color: #fff;
		box-shadow: 0 3px 6px rgba(0,0,0,.161);
	}
	.pc_support_nav_list {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		width: 100%;
		max-width: 940px;
		margin: 0 auto;
		font-size: 18px;
		font-size: clamp(15px, 2vw, 18px);
		line-height: 1.11;
		text-align: center;
	}
	.pc_support_nav_list li {
		position: relative;
		width: 17%;
	}
	.pc_support_nav_list li::before {
		display: block;
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		height: 1px;
		background-color: #00a16c;
		content: "";
	}
	.pc_support_nav_list a, .pc_support_nav_list li > span {
		display: block;
		width: 100%;
		color: inherit;
	}
	.pc_support_nav_list a span, .pc_support_nav_list span span {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 2.22em;
	}
	.pc_support_nav_list a::after, .pc_support_nav_list li > span::after {
		content: "";
		display: block;
		width: 100%;
	}
	.pc_support_nav_list a::after {
		height: 13px;
	}
	.pc_support_nav_list a:hover::after, .pc_support_nav_list li > span::after {
		display: block;
		width: 100%;
		height: 43px;
		margin-top: 3px;
		background-image: url("../img/common/nav_current_2.png");
		background-position: center bottom;
		background-size: contain;
		background-repeat: no-repeat;
		content: "";
	}
	.pc_support_nav_list li:nth-child(5) a:hover::after, .pc_support_nav_list li:nth-child(5) span::after {
		background-image: url("../img/common/nav_current_3.png");
	}
}

/* cvstyle.min.css */
.toolBox01 {
	background-color: #481c86;
}
#cvban {
	display: flex;
	justify-content: space-between;
	max-width: 940px;
	margin: 0 auto;
	padding: 80px 0 60px;
	text-align: center;
}
#cvban a {
	display: block;
	width: 49%;
	transition: all .5s ease;
}
#cvban a:hover {
	opacity: .8;
}
@media screen and (max-width: 970px) {
	#cvban {
		padding: 6% 15px 6% 15px;
	}
}
@media screen and (max-width: 480px) {
	#cvban {
		display: block;
	}
	#cvban a {
		width: auto;
		margin-bottom: 10px;
	}
	#cvban a:last-child {
		margin-bottom: 0;
	}
}

.top-link a {
	background-position: top 15px center;
	width: 70px;
	height: 70px;
}

.top-link a::after {
	content: 'ページ\A上部へ';
	position: absolute;
	bottom: 3px;
	left: 0;
	text-align: center;
	width: 100%;
	line-height: 1.1;
	font-size: 13px;
	white-space: pre;
}


#column_main{
	width: 100% !important;
}


/*横２列バナー*/
.bnr_lnk .page_btn:not(:last-of-type){
	margin-bottom: 20px;
}
@media (min-width: 750px) {
	.bnr_lnk{
		display: flex;
		justify-content: space-between;
	}
	.bnr_lnk .page_btn{
		flex: 0 0 49%;
		margin: 0;
	}
	.bnr_lnk .page_btn:not(:last-of-type){
		margin-bottom: 0;
	}
}
@media (min-width: 900px) {
	.bnr_lnk  .page_btn{
		flex: 0 0 46.2%;
	}
}