@charset "UTF-8";
/*
	Theme Name: 岡矯正歯科
	Description: ゴルフゾン専用のテンプレートファイルです。
	Author: Fellow System
	Version: 1.0
*/
/*******************************************************************************
	サイト名：
	作成会社：Fellow System
--------------------------------------------------------------------------------
 No.│   日付   │区分│						内  容
━━┿━━━━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 001│2022.11│新規│[V1.00]
*******************************************************************************/

/*******************************************************************************
	デフォルトセッティング
--------------------------------------------------------------------------------
	適応：全部
*******************************************************************************/
/*@import url("https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700;800&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");*/
@font-face {
	font-family: "impact";
	src: url("./fonts/impact.woff") format("woff"), url("./fonts/impact.eot") format("eot");
	font-display: swap;
}

html , body {
	height: 100%;
}

body {
	color: #1a1f19;
	font-family: "Noto Sans JP", serif;
	font-size: 14pt;

	font-optical-sizing: auto;
	-webkit-text-size-adjust: 100%;
}


.font_bebas {
	font-family: "Bebas Neue", serif;
	font-style: normal;
}

.font_sans {
	font-family: "Noto Sans JP", serif;

	font-optical-sizing: auto;
}
.font_serif {
	font-family: "Noto Serif JP", serif;

	font-optical-sizing: auto;
}
.font_zen {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-style: normal;
}
.font_emoji {
	font-family: "Noto Emoji", sans-serif;
}

@media screen and (min-width: 768px) {
	body:not(.home) {
		background-color: #fbfbfb;
	}
}

body.active {
	overflow: hidden;
}


* {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	background: transparent;
	font-size: 100%;
	vertical-align: baseline;
	text-decoration: none;
	outline: 0;
}

figure {
	margin: 0;
}

* , *::before , *::after {
	box-sizing: border-box;
}

a , a[href^=tel] {
	color: #1a1f19;
}

ul , ol {
	list-style: none;
}

img , video , iframe {
	display: block;
}

.clearfix:after {
	display: block;
	clear: both;
	text-decoration: none;
	content: "";
}

::placeholder {
	font-weight: 500;
}

input:not([type="radio"], [type="checkbox"], [type="file"]) , textarea , select {
	display: block;
	width: 100%;
	padding: 0.5em;
	border-width: 1px;
	border-style: solid;
	border-color: #e6e6e6;
	border-radius: 0;
	outline: none;

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

textarea {
	resize: vertical;
}

input:not([type="submit"]):focus , textarea:focus , select:focus {
	border-width: 2px;
	border-color: #313131;
	border-radius: 5px;
}

select {
	background-repeat: no-repeat;
	background-position: right 10px center;
}

select::-ms-expand {
	display: none;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"] , input[type="reset"] , input[type="button"] {
	box-sizing: border-box;
	cursor: pointer;

	-webkit-appearance: button;
	appearance: button;
}

input[type="submit"]::-webkit-search-decoration , input[type="reset"]::-webkit-search-decoration , input[type="button"]::-webkit-search-decoration {
	display: none;
}

input[type="submit"]::focus , input[type="reset"]::focus , input[type="button"]::focus {
	outline-offset: -2px;
}

.container {
	position: relative;
	overflow: hidden;
}

/* ローダー */
#loader {
	display: flex;
	position: fixed;
	top: 0;
	z-index: 100000;
	width: 100%;
	height: 100vh;
	background-color: #ffffff;
	justify-content: center;
	align-items: center;
}
/*.loader {
	height: 80px;
	background: var(--c),var(--c),var(--c),var(--c);
	background-size: 72% 26%;
	animation: l28 1.2s infinite;

	aspect-ratio: 1.5;
	--c: no-repeat repeating-linear-gradient(90deg,#db192a 0 20%,#0000 0 40%);
}*/






@keyframes l28 {
	0% , 20% {
		background-position: 50% calc(0*100%/3),50% calc(1*100%/3),50% calc(2*100%/3),50% calc(3*100%/3);
	}
	40% {
		background-position: 50% calc(0*100%/3),100% calc(1*100%/3),0 calc(2*100%/3),50% calc(3*100%/3);
	}
	60% {
		background-position: 50% calc(0*100%/3),0 calc(1*100%/3),100% calc(2*100%/3),50% calc(3*100%/3);
	}
	80% , 100% {
		background-position: 50% calc(0*100%/3),50% calc(1*100%/3),50% calc(2*100%/3),50% calc(3*100%/3);
	}
}


@media screen and (max-width: 834px) {
	#loader {
		height: 100vh;
	}
}



.loader {
  width: 80px;
  padding: 8px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #296ecb;
  --_m: 
    conic-gradient(#0000 10%,#000),
    linear-gradient(#000 0 0) content-box;
  -webkit-mask: var(--_m);
          mask: var(--_m);
  -webkit-mask-composite: source-out;
          mask-composite: subtract;
  animation: l3 1s infinite linear;
}
@keyframes l3 {to{transform: rotate(1turn)}}




.load_screen {
	display: flex;
	width: 100%;
	height: 100svh;
	justify-content: center;
	align-items: center;
}

.loaded {
	visibility: hidden;
	opacity: 0;
}

.loader_anime {
	display: flex;
	width: 100px;
	height: 100px;
	justify-content: center;
	align-items: center;
}

.loader_move {
	width: 40px;
	height: 40px;
	border-top: 3px solid #ffffff;
	border-right: 1px solid #15c30e;
	border-bottom: 1px solid #15c30e;
	border-left: 1px solid #15c30e;

/*border-right-color: #000000;
	border-bottom-color: #000000;
	border-left-color: #000000;*/
	border-radius: 50%;
	animation: Load 1s ease infinite;
}

@keyframes Load {
	to {
		transform: rotate(360deg);
	}
}

.container {
	position: relative;
	overflow: hidden;
}

/*******************************************************************************
	デフォルトセッティング
--------------------------------------------------------------------------------
	適応：共通
*******************************************************************************/
.common_logo figure {
	display: flex;
	color: #262626;
	letter-spacing: 0.05em;
	align-items: flex-end;
}

/*******************************************************************************
	デフォルトセッティング
--------------------------------------------------------------------------------
	適応：ヘッダー
*******************************************************************************/

.common_menu-list {
	display: flex;
}


.common_menu-list a {
	transition: all 0.6s;
}

.header_container {
	display: block;
	position: fixed;
	z-index: 200;
	width: 100%;
	background-color: #ffffff;
}

.header_contents {
	display: flex;
	position: relative;
	z-index: 9999;
	max-width: 1820px;
	margin: 0 auto;
	justify-content: space-between;
	align-items: center;
}

.header_logo {
	max-width: fit-content;
	width: 100%;
	font-weight: bold;
	font-size: clamp(0.813rem, 0.645rem + 0.35vw, 1.063rem);
}

.header_logo figure {
	column-gap: clamp(0.625rem, 0.207rem + 0.87vw, 1.25rem);
}

.header_logo img {
	max-width: 60px;
	width: clamp(2.688rem, 1.977rem + 1.48vw, 3.75rem);
}

.header_side-container {
	display: flex;
	column-gap: clamp(0.625rem, -0.42rem + 2.18vw, 2.188rem);
	align-items: center;
}

.header_contact-tel {
	display: flex;
	max-width: fit-content;
	width: 100%;
	font-size: clamp(0.875rem, 0.582rem + 0.61vw, 1.313rem);
	column-gap: clamp(0.188rem, 0.104rem + 0.17vw, 0.313rem);
	align-items: center;
	transition: all 0.3s;
}
.header_contact-tel:hover {
	color: #d8231a;
}

.header_contact-tel i {
	margin-top: clamp(0.125rem, 0.083rem + 0.09vw, 0.188rem);
	font-size: clamp(0.75rem, 0.457rem + 0.61vw, 1.188rem);
}

.navToggle {
	display: flex;
	position: relative;
	overflow: hidden;
	width: 20px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	cursor: pointer;

	aspect-ratio: 4/3;
}


.navToggle span {
	position: absolute;
	width: 100%;
	background-color: #525252;
}

.navToggle span:nth-child(1) {
	top: 0;
}

.navToggle span:nth-child(2) {
	position: relative;
}

.navToggle span:nth-child(3) {
	bottom: 0;
}

.motion_union span:nth-of-type(1) {
	animation: union-bar01 0.75s forwards;
	-webkit-animation: union-bar01 0.75s forwards;
}

.motion_union span:nth-of-type(2) {
	opacity: 1;
	transition: all 0.25s 0.25s;
}

.motion_union span:nth-of-type(3) {
	animation: union-bar02 0.75s forwards;
	-webkit-animation: union-bar02 0.75s forwards;
}


.motion_union.active span:nth-of-type(1) {
	animation: active-union-bar01 0.75s forwards;
	-webkit-animation: active-union-bar01 0.75s forwards;
}

.motion_union.active span:nth-of-type(2) {
	opacity: 0;
}

.motion_union.active span:nth-of-type(3) {
	animation: active-union-bar03 0.75s forwards;
	-webkit-animation: active-union-bar03 0.75s forwards;
}


@media screen and (min-width: 768px) {
	.header_contents {
		width: 95%;
		height: 70px;
	}

	.navToggle span {
		height: 3px;
	}

	@keyframes union-bar01 {
		0% {
			transform: translateY(6px) rotate(30deg);
		}

		50% {
			transform: translateY(6px) rotate(0);
		}

		100% {
			transform: translateY(0) rotate(0);
		}
	}

	@keyframes union-bar02 {
		0% {
			transform: translateY(-6px) rotate(-30deg);
		}

		50% {
			transform: translateY(-6px) rotate(0);
		}

		100% {
			transform: translateY(0) rotate(0);
		}
	}

	@keyframes active-union-bar01 {
		0% {
			transform: translateY(0) rotate(0);
		}

		50% {
			transform: translateY(6px) rotate(0);
		}

		100% {
			transform: translateY(6px) rotate(30deg);
		}
	}

	@keyframes active-union-bar03 {
		0% {
			transform: translateY(0) rotate(0);
		}

		50% {
			transform: translateY(-6px) rotate(0);
		}

		100% {
			transform: translateY(-6px) rotate(-30deg);
		}
	}
}


@media screen and (max-width: 767px) {
	.header_container {
		padding: 0 20px;
	}

	.header_contents {
		width: 100%;
		height: 50px;
	}

	@media screen and (min-width: 601px) {
		.admin-bar .menu_container {
			height: calc(100svh - 46px);
		}
	}

	@media screen and (max-width: 600px) {
		.admin_position .header_container {
			position: absolute;
		}

		.header_container {
			top: 0;
		}

		.admin_position .menu_container {
			height: calc(100svh - 46px);
		}
	}

	.navToggle span {
		height: 2px;
	}

	@keyframes union-bar01 {
		0% {
			transform: translateY(6.5px) rotate(30deg);
		}

		50% {
			transform: translateY(6.5px) rotate(0);
		}

		100% {
			transform: translateY(0) rotate(0);
		}
	}

	@keyframes union-bar02 {
		0% {
			transform: translateY(-6.5px) rotate(-30deg);
		}

		50% {
			transform: translateY(-6.5px) rotate(0);
		}

		100% {
			transform: translateY(0) rotate(0);
		}
	}

	@keyframes active-union-bar01 {
		0% {
			transform: translateY(0) rotate(0);
		}

		50% {
			transform: translateY(6.5px) rotate(0);
		}

		100% {
			transform: translateY(6.5px) rotate(30deg);
		}
	}

	@keyframes active-union-bar03 {
		0% {
			transform: translateY(0) rotate(0);
		}

		50% {
			transform: translateY(-6.5px) rotate(0);
		}

		100% {
			transform: translateY(-6.5px) rotate(-30deg);
		}
	}
}




.scroll_range-container {
	position: relative;
}

.menu_container {
	display: flex;
	visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 100svh;
	padding: 0 20px;
	padding-top: 100px;
	padding-bottom: 26px;
	background-color: #fbfbfb;
	/*background-image: url(./images/menu_container-bg.webp);
	background-repeat: no-repeat;
	background-position: center top 30px;
	background-size: 1920px 905px;*/
	opacity: 0;
	flex-direction: column;
	align-items: center;
	transition: opacity 0.6s ease, visibility 0s linear 0.6s;
}

.menu_container.active {
	overflow-y: scroll;
}

.menu_container.active {
	visibility: visible;
	opacity: 1;
	transition: opacity 0.6s ease; /* active時は即visible */
}

/*******************************************************************************
	デフォルトセッティング
--------------------------------------------------------------------------------
	適応：フッター
*******************************************************************************/

.page_top-container {
	display: flex;
	visibility: hidden;
	position: fixed;
	left: 50%;
	z-index: 10;
	transform: translateX(-50%);
	max-width: 1400px;
	margin: 0 auto;
	justify-content: flex-end;
}

.page_top-container.scroll_end {
	position: absolute;
}

.page_top-container a {
	display: flex;
	visibility: visible;
	overflow: hidden;
	width: clamp(2.5rem, 2.082rem + 0.87vw, 3.125rem);
	border: 1px solid #000000;
	border-radius: 100%;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	background-color: #ffffff;
	color: #000000;
	font-size: clamp(0.625rem, 0.5rem + 0.26vw, 0.813rem);
	justify-content: center;
	align-items: center;
	transition: all 0.6s;

	aspect-ratio: 1/1;
}

.page_top-container a:hover {
	background-color: #000000;
	color: #ffffff;
}

@media screen and (min-width: 768px) {
	.page_top-container {
		bottom: 30px;
		width: 95%;
	}
}

@media screen and (max-width: 767px) {
	.page_top-container {
		bottom: 45px;
		width: calc(100% - 40px);
	}
}





.footer_container {
	display: flex;
	width: 100%;
	background-color: #ffffff;
	flex-direction: column;
}

.footer_contents {
	display: flex;
	max-width: 1710px;
	margin: 0 auto;
	padding: 20px 0;
	justify-content: space-between;
}

.footer_inner {
	display: flex;
	max-width: 1490px;
	width: 100%;
	margin-left: auto;
	justify-content: space-between;
	align-items: center;
}

.footer_head-container {
	display: flex;
	height: 100%;
	justify-content: space-between;
}

.footer_menu-nav {
	display: flex;
	max-width: 320px;
	width: 100%;
	flex-direction: column;
}

.footer_menu-list {
	width: 100%;
	max-height: 145px;
	height: 100%;
	font-weight: 500;
	font-size: clamp(0.875rem, 0.622rem + 0.49vw, 1.063rem);
	letter-spacing: -0.05em;
	column-gap: clamp(0.625rem, -2.753rem + 6.47vw, 3.125rem);
	column-gap: 20px;
	flex-direction: column;
	flex-wrap: wrap;
}






.footer_menu-list li {
	width: fit-content;
}

.footer_menu-list li.current-menu-item a , .footer_menu-list li.hover_item a {
	color: #d23823;
}

.footer_menu-list li.current-menu-item a {
	pointer-events: none;
}

.footer_menu-list li.hover_del a {
	color: #1a1f19;
}

.footer_menu-list li a {
	display: flex;
	column-gap: 10px;
	align-items: center;
}

.footer_menu-list li a::before {
	display: inline-flex;
	width: clamp(0.625rem, -1.687rem + 2.89vw, 0.938rem);
	height: 8px;
	margin-top: 2px;
	border-top: 2px solid #296ecb;
	border-bottom: 2px solid #db262a;
	content: "";
}

.footer_menu-list li:nth-last-of-type(-n+3) {
	font-size: 14px;
}



.footer_logo {
	display: flex;
	max-width: fit-content;
	width: 100%;
	font-weight: bold;
	font-size: clamp(1rem, 0.43rem + 1.19vw, 1.688rem);
	flex-direction: column;

	row-gap: 15px;
}

.footer_logo figure {
	margin-right: -0.05em;
	word-break: keep-all;
	column-gap: 10px;
}


.footer_logo img {
	max-width: 95px;
	width: clamp(2.688rem, -0.005rem + 5.61vw, 5.938rem);
}

.access_visual {
	display: block;
	position: relative;
	max-width: 400px;
	width: 100%;
	margin: 0 auto;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.access_visual img {
	width: 100%;
	opacity: 0.7;
}

.access_visual figcaption {
	display: flex;
	position: absolute;
	top: 0;
	left: 0;
	padding: 10px 15px;
	color: #ffffff;
	font-weight: bold;
	font-size: 15px;
	text-shadow: 0px 0px 3px #000000;
	flex-direction: column;
}

.access_visual figcaption span {
	display: block;
	font-size: 35px;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.access_container {
	font-weight: normal;
	font-size: 14px;
	line-height: 25px;
	text-align: justify;
	letter-spacing: 0.01em;
}

.footer_bottom-container {
	display: flex;
	column-gap: 15px;
	justify-content: space-between;
	align-items: center;

	row-gap: 20px;
}

.access_map-container {
	max-width: 595px;
	width: 100%;
}

.access_map-container iframe {
	width: 100%;
	height: 100%;

	aspect-ratio: 119/86;
}


.footer_about-container {
	display: flex;
	align-items: center;

	row-gap: 25px;
}

.footer_sd-map {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: center;

	row-gap: 5px;
}

.footer_about-title {
	display: flex;
	font-weight: bold;
	font-size: 18px;
	column-gap: 10px;
	justify-content: center;
	align-items: center;
}

.footer_about-title::before , .footer_about-title::after {
	display: block;
	width: 35px;
	height: 1px;
	background-color: #296ecb;
	content: "";
}

.footer_sd-map img {
	width: 100%;
}

@media screen and (min-width: 551px) {
	.footer_bottom-container {
		max-width: 1020px;
		flex-direction: row-reverse;
	}

	.footer_about-container {
		max-width: 335px;
		min-width: 250px;
		width: clamp(16.25rem, -18.432rem + 43.35vw, 20.938rem);
		flex-direction: column-reverse;
	}

	.access_map-container iframe {
		aspect-ratio: 119/86;
	}

	.access_map-container {
		height: 430px;
	}

	.medical_caution-list {
		max-width: 315px;
	}
}

@media screen and (max-width: 550px) {
	.footer_bottom-container {
		max-width: 400px;
		flex-direction: column;
	}

	.footer_about-container {
		width: 100%;
		flex-direction: column;
	}

	.access_map-container iframe {
		min-height: 185px;

		aspect-ratio: 67/37;
	}

	.footer_about-title {
		display: none;
	}
}

.footer_about-contents {
	display: flex;
	width: 100%;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;

	row-gap: 5px;
}

.medical_schedule-contents {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: center;

	row-gap: 5px;
}


.medical_schedule-content {
	width: 100%;
	padding: 15px 0;
	background-color: #dae5f7;
	font-weight: 500;
	font-size: 17px;
}

.medical_schedule-list {
	display: flex;
	position: relative;
	text-align: center;
	column-gap: clamp(1.875rem, -16.622rem + 23.12vw, 4.375rem);
	justify-content: center;
	align-items: center;
}

.medical_schedule-list::before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotateZ(17deg);
	width: 1px;
	height: 60px;
	background-color: #484848;
	content: "";
}

.medical_schedule-list li {
	width: 120px;
}



.medical_caution-list {
	display: flex;
	width: 100%;
	font-weight: normal;
	font-size: 13px;
	flex-direction: column;

	row-gap: 5px;
}

.medical_caution-item {
	display: flex;
	text-align: justify;
}

.medical_caution-item::before {
	content: "※";
}

.footer_final {
	display: flex;
	background-color: #1f3d82;
	color: #ffffff;
	flex-direction: column;
	align-content: center;
}

.footer_final a {
	color: #ffffff;
}

.footer_final .footer_logo {
	display: flex;
	margin: 0 auto;
	text-align: center;
	flex-direction: column;
	align-items: center;

	row-gap: 5px;
}

.footer_final .footer_logo figcaption {
	color: #ffffff;
	font-size: 13px;
}

.footer_final .access_container {
	font-weight: normal;
	font-size: 11px;
}





.footer_making {
	display: flex;
	width: 100%;
	color: #ffffff;
	font-weight: 400;
	font-size: 11px;
	text-align: center;
	justify-content: center;
	align-items: center;
}

@media screen and (min-width: 835px) {
	.footer_head-container {
		max-width: 320px;
		width: clamp(18.125rem, 15.592rem + 4.85vw, 20rem);
		max-height: 395px;
		flex-direction: column;
		justify-content: space-between;
	}

	.footer_bottom-container {
		width: calc(100% - clamp(20rem, 17.813rem + 4.19vw, 22.188rem) - 10px);
		padding: 15px 0 15px clamp(0.938rem, -1.596rem + 4.85vw, 2.813rem);
		border-left: 1px solid;
	}
	.medical_schedule-list {
		column-gap: clamp(0.625rem, -12.551rem + 16.22vw, 4.375rem);
	}
}

@media screen and (max-width: 834px) {
	.footer_inner {
		flex-direction: column;

		row-gap: 20px;
	}

	.footer_head-container {
		max-width: 560px;
		width: 100%;
	}

	.footer_bottom-container {
		width: 100%;
	}

	@media screen and (min-width: 768px) {
		.footer_head-container {
			flex-direction: row-reverse;
		}
	}


	@media screen and (max-width: 767px) {
		.footer_head-container {
			flex-direction: column;
			align-items: center;

			row-gap: 30px;
		}
	}
}


@media screen and (min-width: 768px) {
	.footer_container {
		border-top: 1px solid #878787;
	}

	.display_mb {
		display: none !important;
	}

	.footer_contents {
		width: 95%;
	}

	.footer_menu-list {
		row-gap: 30px;
	}

	/*.footer_menu-list li:nth-last-of-type(-n+3) a::before {
		display: none;
	}*/

	.footer_menu-list li a::before {
		height: 8px;
	}

	.footer_menu-list li:nth-last-of-type(2) , .footer_menu-list li:nth-last-of-type(3) {
		margin-bottom: -20px;
	}

	.footer_about-container {
		row-gap: 25px;
	}

	.footer_final {
		padding: 12px 0;
	}

	.footer_making {
		font-weight: 400;
	}
}

@media screen and (max-width: 1500px) {
	.footer_menu-list {
		row-gap: 22px;
	}
}


@media screen and (max-width: 767px) {
	.display_pc {
		display: none !important;
	}

	.footer_menu-nav {
		max-width: 315px;
	}

	.footer_contents {
		width: calc(100% - 40px);
		border-top: 1px solid #878787;
	}

	.footer_menu-list {
		column-gap: 25px;

		row-gap: 15px;
	}.footer_menu-list li a {
		column-gap: 5px;
	}

	.footer_menu-list li a::before {
		height: 5px;
	}

	.footer_about-container {
		row-gap: 30px;
	}

	.footer_making {
		font-weight: 100;
	}

	.footer_final {
		padding: 11px 0;
	}
}









/*******************************************************************************
	デフォルトセッティング
--------------------------------------------------------------------------------
	適応：共通ボタン
*******************************************************************************/
.common_link {
	display: flex;
	position: relative;
	padding: clamp(0.5rem, -0.174rem + 1.4vw, 0.75rem) clamp(2.188rem, 0.503rem + 3.51vw, 2.813rem);
	border: clamp(0.188rem, -0.149rem + 0.7vw, 0.313rem) solid #252a3e;
	border-radius: 30px;
	background-color: #252a3e;
	color: #ffffff;
	font-weight: 600;
	font-size: clamp(0.875rem, 0.201rem + 1.4vw, 1.125rem);
	justify-content: center;
	align-items: center;
	transition: all 0.6s;
}

.common_link:hover {
	background-color: #ffffff;
	color: #252a3e;
}

.common_link i {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	border-radius: 100%;
	background-color: #ffffff;
	color: #252a3e;
	font-size: clamp(2.188rem, 0.503rem + 3.51vw, 2.813rem);
	line-height: 1;
	transition: all 0.6s;
}

.common_link:hover i {
	left: calc(100% + 1px);
	transform: translate(-100%, -50%);
	background-color: #252a3e;
	color: #ffffff;
}

/*******************************************************************************
	デフォルトセッティング
--------------------------------------------------------------------------------
	適応：共通ボタン
*******************************************************************************/




.back_link {
	display: flex;
	margin-left: auto;
	font-size: clamp(0.938rem, 0.465rem + 0.98vw, 1.125rem);
	column-gap: clamp(0.313rem, -0.474rem + 1.64vw, 0.625rem);
	align-items: center;
}

.icon-back {
	display: block;
	width: 20px;
	background-color: #252a3e;

	/*mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-position: center;
	mask-image: url(./images/back_link-arrow.webp);
	-webkit-mask-image: url(./images/back_link-arrow.webp);*/
	aspect-ratio: 20 / 13;
}

@media screen and (min-width: 768px) {
	.work_foot {
		width: 95%;
	}

	.in_pager .back_link {
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}
}

@media screen and (max-width: 767px) {
	.work_foot {
		width: 100%;
		flex-direction: column;

		row-gap: 10px;
	}
}

.nav-links {
	display: flex;
	width: fit-content;
	margin: 0 auto;
	margin-top: 30px;
	font-size: 14px;
	column-gap: 5px;
}

.page-numbers {
	display: flex;
	width: 100%;
	width: 30px;
	border: 1px solid;
	color: #252a3e;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
	justify-content: center;
	align-items: center;
	transition: all 0.6s;

	aspect-ratio: 1/1;
}

.page-numbers.current , .page-numbers.dots , .page-numbers a , .next a , .prev a {
	display: flex;
	height: 30px;
	justify-content: center;
}

.page-numbers.current , .page-numbers.dots , .page-numbers a {
	align-items: center;
}

.page-numbers.dots {
	color: #cccccc;
}


.archive_pagination {
	display: block;
	margin: 0 auto;
}

.page-numbers.current , .page-numbers a {
	border: 1px solid #252a3e;
}
a.page-numbers:hover {
	background-color: #296ecb;
	color: #ffffff;
}

.page-numbers.current {
	border-color: #db192a;
	background-color: #db192a;
	color: #ffffff;
}

.next a , .prev a {
	width: 70px;
	background-color: #252a3e;
	color: #ffffff;
	font-size: 18px;
	align-items: baseline;
}
a.next.page-numbers , a.prev.page-numbers {
	padding-bottom: 3px;
	font-size: 20px;
	line-height: 1;
}

.set_top-obj {
	transform: translateY(100%) rotateZ(15deg);
	transform-origin: left top;
	opacity: 0;
	transition: all 1s;
	transition-delay: 0.2s;
}

.show_content {
	transform: translateY(0) rotateZ(0);
	opacity: 1;
}




.menu_inner {
	display: flex;
	max-width: 1210px;
	width: 95%;
	column-gap: 10px;
	justify-content: space-between;

	row-gap: 25px;
}


.menu_inner a , .menu_inner a span {
	transition: color 0.6s;
}
.menu_inner a:hover , .menu_inner a:hover span {
	color: #296ecb;
}

.menu_inner a.current-menu-link , .menu_inner a.current-menu-link span {
	color: #296ecb;
	pointer-events: none;
}
.menu_nav-minwide {
	width: 100%;
}
.menu_nav-maxwide {
	display: flex;
	max-width: 540px;
	width: 100%;
	flex-direction: column;
}
.menu_nav-minwide .menu_nav-list {
	height: 100%;
}

.menu_nav-list {
	display: flex;
	width: 100%;
	flex-direction: column;
}
.menu_nav-item > a {
	display: flex;
	color: #d8231a;
	font-weight: bold;
	font-size: 16px;
	letter-spacing: 0.05em;
	flex-direction: column;
}
.menu_nav-item > a span {
	display: block;
	position: relative;
	margin-bottom: -6px;
	color: #d8231a;
	font-weight: normal;
	font-size: 39px;
}

.menu_nav-item p {
	max-width: 310px;
	width: 100%;
	margin-top: 20px;
	font-weight: normal;
	font-size: clamp(0.875rem, 0.511rem + 0.76vw, 1.125rem);
	text-align: justify;
}
.menu_subnav-list {
	display: flex;
	margin-top: 20px;
	font-weight: normal;
	font-size: clamp(0.813rem, 0.357rem + 0.95vw, 1.125rem);
	letter-spacing: 0.05em;
	flex-direction: column;
}
.menu_nav-minlist {
	display: flex;
	padding-top: 25px;
	border-top: 1px solid #dddddd;
	font-weight: 500;
	font-size: 15px;
	letter-spacing: 0.05em;
	text-decoration: underline;
	flex-direction: column;

	row-gap: 35px;
}


.menu_img-bg {
	display: flex;
	visibility: hidden;
	position: absolute;
	bottom: 75px;
	left: 50%;
	z-index: -1;
	transform: translateX(-50%);
	max-width: 2010px;
	width: 104.6875%;
	opacity: 0.1;
	justify-content: flex-end;
}

.menu_img-bg img {
	max-width: 970px;
	min-width: 550px;
	width: 48.25871%;
}

.menu_container.active .menu_img-bg img {
	visibility: visible;
}



@media screen and (min-width: 768px) {
	.menu_inner {
		width: 95%;
	}

	.menu_nav-minwide {
		max-width: 280px;
	}

	.menu_nav-list {
		row-gap: 50px;
	}
	.menu_nav-maxwide {
		row-gap: 60px;
	}.menu_subnav-list br {
		display: none;
	}
	.menu_subnav-list {
		row-gap: 15px;
	}
	.menu_nav-minlist {
		row-gap: 35px;
	}
}

@media screen and (max-width: 767px) {
	.menu_inner {
		width: 100%;
		flex-direction: column;
		flex-wrap: wrap;
	}
	.menu_nav-minwide {
		max-width: 540px;
		margin: 0 auto;
	}
	.menu_nav-maxwide {
		margin: 0 auto;

		row-gap: 25px;
	}
	.menu_subnav-list {
		column-gap: 10px;

		row-gap: 25px;
	}
	@media screen and (max-width: 374px) {
		.menu_subnav-list {
			column-gap: 10px;
		}
	}
	.menu_nav-item {
		padding: 0 10px;
		padding-top: 25px;
		border-top: 1px solid #dddddd;
	}
	.menu_nav-list {
		row-gap: 25px;
	}


	#menu_top
	.menu_nav-item {
		padding-top: 0;
		border-top: none;
	}
	#menu_top .menu_subnav-list {
		max-height: 335px;
		height: 100%;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#menu_clinic .menu_subnav-list {
		max-height: 110px;
		height: 100%;
		flex-wrap: wrap;
	}
	.menu_nav-minlist {
		padding-right: 10px;
		padding-left: 10px;

		row-gap: 25px;
	}
	.menu_img-bg {
		display: none;
	}
}

/*@media screen and (min-width: 1500px) {
	
}*/
.footer_menu-list li a br {
	display: none;
}
@media screen and (max-width: 374px) {
	#menu_clinic .menu_subnav-list {
		max-height: initial;
		height: auto;
	}
	.menu_subnav-list.mb-flex {
		flex-direction: row;
	}
}
