@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main {
	overflow: hidden;
}
/* mainVisual */
#main .mainVisual {
	position: relative;
}
#main .mainVisual .titleBox {
	position: absolute;
	right: calc((100% - 120rem) / 2);
	top: 14.93vw;
	width: 53.3rem;
}
#main .mainVisual .pageTitle {
	margin-bottom: 0.8rem;
	font-size: 6.8rem;
	line-height: 1.3;
	letter-spacing: 0.2em;
	font-weight: 700;
	font-feature-settings: "palt";
}
#main .mainVisual .pageTitle h1 {
	margin: 0 1.4rem 2rem;
	display: block;
	font-size: 2.4rem;
	letter-spacing: 0.2em;
}
#main .mainVisual .col {
	color: var(--red);
	border-bottom: 0.3rem dotted;
}
#main .mainVisual .txtUl {
	display: flex;
	flex-wrap: wrap;
	row-gap: 10.4rem;
	position: relative;
}
#main .mainVisual .txtUl::after {
	width: 55.7rem;
	height: 42.3rem;
	content: "";
	position: absolute;
	left: 47%;
	top: 50%;
	transform: translate(-50%,-50%);
	background: url(../img/index/bg01.webp) no-repeat left top / 100%;
	pointer-events: none;
}
#main .mainVisual .txtUl li {
	font-size: 2.64rem;
	font-weight: bold;
	width: 50%;
	text-align: center;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
	position: relative;
	z-index: 1;
}
#main .mainVisual .txtUl li:nth-child(2n) {
	padding-right: 5.4rem;
}
#main .mainVisual .txtUl .sml {
	font-size: 2rem;
	display: block;
	letter-spacing: 0.1em;
}
#main .mainVisual .slideBox li {
	display: block !important;
	height: 104.9rem;
	height: 76.79vw;
}
#main .mainVisual .slideBox li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: bottom;
}
#main .mainVisual::before,
#main .mainVisual::after,
#main .mainVisual .titleBox::after {
	content: "";
	width: 17.1rem;
	height: 17.1rem;
	top: -5.2rem;
	left: calc(50% - 29.6rem);
	position: absolute;
	z-index: 87;
	overflow: hidden;
	border-radius: 100%;
	background: url(../img/common/dot_bg.webp) repeat left top / 100%;
	pointer-events: none;
}
#main .mainVisual::after {
	width: 19.5rem;
	height: 19.5rem;
	top: auto;
	bottom: 18rem;
    left: -5.8rem;
}
#main .mainVisual .titleBox::after {
	right: -12.8rem;
	top: 0.8rem;
	left: auto;
}
#main .mainVisual .titleBox .image {
	margin: 0 -0.9rem 0.6rem auto;
	width: 12.9rem;
	position: relative;
	z-index: 1;
}
#main .mainVisual .slick-dots {
	width: 0.4rem;
	height: auto;
	left: 2.9rem;
	bottom: 50%;
	transform: translateY(-9.3%);
	z-index: 89;
}
#main .mainVisual .slick-dots li {
	margin: 0 0 1.2rem;
	width: 100% !important;
	height: 4rem !important;
	border-radius: 0;
}
#main .mainVisual .slick-dots li:last-of-type {
	margin-bottom: 0;
}
#main .mainVisual .slick-dots .slick-active button {
	background: var(--red);
}
#main .mainVisual .slick-dots li button {
	width: 100%;
	height: 100%;
	border-radius: 0;
	background: var(--base-color);
}
@media all and (max-width: 896px) {
	#main .mainVisual .slick-dots {
		width: 0.3rem;
		height: auto;
		left: auto;
		right: 1.3rem;
		bottom: 42%;
	}
	#main .mainVisual .slick-dots li {
		margin: 0 0 0.9rem;
		height: 3rem !important;
	}
	#main .mainVisual {
		margin-bottom: 12.3rem;
	}
	#main .mainVisual .slideBox li {
		height: 160.8vw;
	}
	#main .mainVisual .pageTitle h1 {
		margin-bottom: 1rem;
		font-size: 1.4rem;
	}
	#main .mainVisual .pageTitle {
		margin-bottom: 6.8rem;
		font-size: 3.769rem;
		line-height: 1.294;
		text-align: center;
	}
	#main .mainVisual .titleBox {
		width: 100%;
		right: 0;
		top: auto;
		bottom: -1.1rem;
	}
	#main .mainVisual .titleBox .image {
		width: 8.4rem;
        right: 0.5rem;
        bottom: 3.7rem;
        position: absolute;
        margin: 0;
	}
	#main .mainVisual .txtUl {
		margin: 0 auto;
		max-width: 23.8rem;
		row-gap: 4.6rem;
	}
	#main .mainVisual .txtUl li {
		font-size: 1.7rem;
	}
	#main .mainVisual .txtUl li:nth-child(2n) {
		padding-right: 0.6rem;
	}
	#main .mainVisual .txtUl .sml {
		margin-bottom: 0.2rem;
		font-size: 1.43rem;
		line-height: 0.9;
	}
	#main .mainVisual .txtUl::after {
		width: 26.8rem;
		height: 21.3rem;
		background-image: url(../img/index/bg01_sp.webp);
		left: 50%;
		top: 49%;
	}
	#main .mainVisual .titleBox::after {
        width: 10.5rem;
        height: 10.5rem;
        right: -6rem;
        top: -1.8rem;
		left: auto;
	}
	#main .mainVisual::after {
		width: 12.1rem;
        height: 12.1rem;
        bottom: 1.7rem;
        left: -7.7rem;
	}
	#main .mainVisual::before {
		width: 10.6rem;
		height: 10.6rem;
		left: -6.8rem;
		top: 5.4rem;
	}
}
/* newsBox */
#main .newsBox {
	margin: -2rem 0 5.7rem;
	position: relative;
	z-index: 1;
}
#main .newsBox .newsUl {
	padding: 2.2rem 0;
	width: 83.8rem;
	border-top: 1px solid var(--base-color);
	border-bottom: 1px solid var(--base-color);
}
#main .newsBox .newsUl a {
	padding: 0.6rem 5rem 0.6rem 0;
	display: flex;
	align-items: center;
	font-weight: 500;
	gap: 1.2rem;
	background: url(../img/common/arrow_img01.webp) no-repeat right 0.2rem center / 3rem;
}
#main .newsBox .newsUl span {
	display: block;
}
#main .newsBox .newsUl .time {
	width: 10.5rem;
	font-family:"ten-mincho-text",serif;
	font-weight: normal;
	letter-spacing: 0.1em;
}
#main .newsBox .newsUl .info {
	width: 6.4rem;
	font-size: 1.1rem;
	text-align: center;
}
#main .newsBox .newsUl .info span {
	padding: 0.15rem;
	background: var(--bg04);
	border-radius: 2rem;
}
#main .newsBox .newsUl .info .bg01 {
	background: var(--bg05);
}
#main .newsBox .newsUl .info span + span {
	margin-top: 0.5rem;
}
#main .newsBox .newsUl .txt {
	flex: 1;
	letter-spacing: 0.03em;
}
#main .newsBox .heading {
	margin: -1.5rem 0 1.2rem;
	font-size: 3rem;
	font-weight: normal;
}
@media all and (min-width: 1025px) {
	#main .newsBox .newsUl a:hover {
		opacity: 0.6;
	}
}
@media all and (max-width: 896px) {
	#main .newsBox {
		margin-bottom: 5.5rem;
	}
	#main .newsBox .heading {
		margin: 0;
	}
	#main .newsBox .content {
		display: block;
	}
	#main .newsBox .ttlBox {
		margin-bottom: 1.6rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	#main .newsBox .newsUl {
		padding: 2.2rem 0 1.7rem;
		width: 100%;
	}
	#main .newsBox .newsUl li + li {
		margin-top: 1rem;
	}
	#main .newsBox .newsUl a {
		padding: 0.2rem 0rem 0.6rem 0;
		flex-wrap: wrap;
		background: none;
		gap: 0.6rem 0.4rem;
	}
	#main .newsBox .newsUl .txt {
		width: 100%;
		flex: inherit;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}
/* infomaition */
#main .information {
	padding: 14.8rem 0 9.5rem;
	position: relative;
}
#main .information .content {
	position: relative;
}
#main .information::after,
#main .information .content::before,
#main .information .content::after {
	content: "";
	width: 22.1rem;
	height: 22.1rem;
	top: 30.5%;
	right: -26.8rem;
	position: absolute;
	z-index: 87;
	overflow: hidden;
	border-radius: 100%;
	background: url(../img/common/dot_bg.webp) no-repeat center center / 100% 100%;
}
#main .information::after {
	width: 11.3rem;
	height: 11.3rem;
	top: calc(100% - 8.6rem);
	right: calc(50% + 9.3rem);
}
#main .information .content::before {
	top: -10.1rem;
	width: 18.6rem;
	height: 18.6rem;
	right: 100%;
}
#main .information .headLine01 {
	position: relative;
}
#main .information .headLine01::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 0.2rem;
	left: 0;
	top: 37%;
	transform: translateY(-50%);
	border-top: 0.3rem dotted var(--red);
}
#main .information .headLine01 .en {
	margin: 0 auto 1.2rem;
	padding: 0 4rem;
	width: fit-content;
	background: var(--bg06);
	position: relative;
	z-index: 1;
	font-size: 4.8rem;
}
@media all and (max-width: 896px) {
	#main .information {
		padding: 9rem 0 5.6rem;
	}
	#main .information .headLine01 {
		margin-bottom: 2.3rem;
		font-size: 1.6rem;
	}
	#main .information .headLine01 .en {
		padding: 0;
	}
	#main .information .headLine01::after  {
		top: 31%;
	}
	#main .information::after {
		width: 7.3rem;
        height: 7.3rem;
        right: auto;
        left: -1.6rem;
        bottom: -4.6rem;
        top: auto;
	}
	#main .information .content::before {
		top: auto;
        bottom: 6.8rem;
        right: -1rem;
		width: 11rem;
		height: 11rem;
	}
	 #main .information .content::after {
		top: -11.6rem;
		left: -6.8rem;
		width: 12rem;
		height: 12rem;
	 }
}
/* about */
#main .about {
	padding: 11.5rem 0 11.4rem;
	position: relative;
    z-index: 2;
    background: var(--white);
}
#main .about .imgBox {
	position: relative;
}
#main .about .headLine01 {
	margin-bottom: 4.5rem;
	padding-right: 17rem;
	width: fit-content;
	text-align: left;
	background: url(../img/common/icon05.webp) no-repeat right top 2.9rem / 13rem;
}
#main .about .heading {
	margin-bottom: 3.9rem;
	padding-right: 8.4rem;
	width: fit-content;
	font-size: 3.8rem;
	letter-spacing: 0.22em;
	line-height: 1.605;
	font-feature-settings: "palt";
	position: relative;
}
#main .about .heading .img {
	width: 7.8rem;
	position: absolute;
	right: 0;
	top: -0.6rem;
}
#main .about .textBox p {
	margin-bottom: 1.7rem;
	font-weight: 500;
	line-height: 2.25;
	letter-spacing: 0.14em;
	font-feature-settings: "palt";
}
#main .about .textBox p:last-of-type {
	margin-bottom: 0;
}
#main .about .textBox {
	position: relative;
	z-index: 4;
}
#main .about .photo {
	position: absolute;
	left: calc(50% - 12.8rem);
	top: -0rem;
	width: 104.6rem;
	z-index: 3;
}
@media all and (max-width: 896px) {
	#main .about {
		padding: 1px 0 5rem;
	}
	#main .about .photo {
		margin: -2rem auto 2.8rem;
		width: 33.5rem;
		position: initial;
	}
	#main .about .heading {
		margin-bottom: 1.9rem;
		padding: 0;
		font-size: 2.8rem;
		letter-spacing: 0.2em;
	}
	#main .about .heading .img {
		width: 6rem;
		right: 0.6rem;
		top: -12rem;
		z-index: 3;
	}
	#main .about .headLine01 {
		margin-bottom: 2.4rem;
		padding-right: 11.6rem;
		background-size: 10.3rem;
	}
	#main .about .textBox p {
		margin-bottom: 1.3rem;
		line-height: 2;
		text-align: justify;
		letter-spacing: 0.1em;
	}
}
/* feature */
#main .feature {
	padding: 20.2rem 0 19.9rem;
	position: relative;
	background: var(--bg08);
}
#main .feature p {
	font-weight: 500;
	line-height: 1.875;
	letter-spacing: 0.1em;
	text-align: justify;
	font-feature-settings: "palt";
	position: relative;
	z-index: 2;
}
#main .feature::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 9.736vw;
	background: url(../img/index/bg02.webp) no-repeat center top / 100%;
	z-index: 1;
}
#main .feature::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	opacity: 0.35;
	mix-blend-mode: multiply;
	background: url(../img/index/bg03.webp) no-repeat center top / cover;
	filter: blur(9px);
}
#main .feature .topBox {
	margin: -6.6rem calc((100% - 130rem) / 2) 9.3rem 0;
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
	align-items: center;
}
#main .feature .topBox .photo {
	width: calc(50% + 8.8rem);
	border-radius: 0  40rem 40rem 0;
	overflow: hidden;
}
#main .feature .topBox .textBox {
	margin: 0 auto;
	padding: 11rem 0 0;
	width: 43.5rem;
	flex: initial;
}
#main .feature .textBox {
	flex: 1;
	position: relative;
	text-align: justify;
}
#main .feature .point {
	position: absolute;
	left: 1rem;
	top: 0.9rem;
	font-size: 9.9rem;
	letter-spacing: 0.1em;
	color: var(--white);
	line-height: 0.5;
	font-family: "elina",sans-serif;
}
#main .feature .title {
	margin: 0 -2rem 2.5rem 0;
	font-size: 2.8rem;
	letter-spacing: 0.12em;
	line-height: 1.2;
	position: relative;
	z-index: 2;
	font-weight: 500;
	font-feature-settings: "palt";
}
#main .feature .topBox .title::after {
	width: 10.6rem;
	height: 6.8rem;
	content: "";
	position: absolute;
	left: calc(100% - 2.4rem);
	top: -3.7rem;
	background: url(../img/index/icon01.webp) no-repeat center top / 100%;
}
#main .feature .content {
	position: relative;
	z-index: 3;
}
#main .feature .topBox .point {
	font-size: 14.2rem;
	letter-spacing: 0.08em;
	left: -1rem;
	top: 7rem;
}
#main .feature .imgUl {
	margin-bottom: 5.5rem;
	row-gap: 7.7rem;
}
#main .feature .imgUl li {
	width: calc(50% - 2.8rem);
}
#main .feature .imgUl .photo {
	margin-bottom: 3.8rem;
	position: relative;
	z-index: 2;
}
#main .feature .imgUl li img {
	width: 100%;
	border-radius: 2rem;
}
#main .feature .imgUl .item01 {
	margin: 3.8rem 0 0;
	position: relative;
}
#main .feature .imgUl .item01::after {
	content: "";
	position: absolute;
	left: -19.7rem;
	right: -999rem;
	opacity: 0.7;
	top: 0;
	bottom: -2.7rem;
	background-image: linear-gradient(0deg, transparent 0%, transparent calc(100% - 1px),var(--border-col03) 100%),linear-gradient(90deg, transparent 0%, transparent calc(100% - 1px),var(--border-col03) 100%);
	background-size: 1.8rem 1.8rem;
	background-color: var(--white);
	border-radius: 2rem 0 0 2rem;
}
#main .feature .imgUl .item01 .head {
	margin: 0 0 3.3rem -5.6rem;
	padding: 2.3rem 9rem 2.2rem 5.6rem;
	width: fit-content;
	font-size: 2.4rem;
	color: var(--white);
	background: var(--bg03);
	position: relative;
	letter-spacing: 0.14em;
	font-feature-settings: "palt";
	z-index: 2;
}
#main .feature .imgUl .item01 .head .img {
	width: 9.8rem;
	display: block;
	position: absolute;
	top: -2.2rem;
	left: calc(100% - 6.6rem);
}
#main .feature .imgUl dl {
	margin-left: 4.3rem;
	position: relative;
	z-index: 2;
}
#main .feature .imgUl dt {
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	color: var(--col03);
	position: relative;
}
#main .feature .imgUl dt::before {
	content: "";
	position: absolute;
	left: -4.3rem;
	top: 0.8rem;
	width: 3.3rem;
	height: 1rem;
	background: url(../img/common/icon06.webp) no-repeat left top / 100%;
	transform: rotate(180deg);
}
#main .feature .imgUl dd {
	margin: 0.3rem 0 2.3rem;
	font-size: 1.4rem;
	font-weight: 500;
	min-height: 3.2rem;
}
#main .feature .imgUl dd:last-of-type {
	margin-bottom: 0;
}
#main .feature .imgUl .item02 {
	margin-top: 2.2rem;
	width: 100%;
}
@media all and (max-width: 896px) {
	#main  .feature {
		padding: 7.8rem 0 14.6rem;
	}
	#main .feature .topBox {
		margin: 0 0 5.3rem;
		display: block;
	}
	#main .feature .topBox .photo {
		width: 100%;
		border-radius: 0;
		aspect-ratio: 375/261;
	}
	#main .feature .topBox .photo img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#main .feature .topBox .textBox {
		padding: 2.6rem 1.5rem 0;
		width: 100%;
	}
	#main .feature .imgUl {
		margin-bottom: 3.2rem;
		display: block;
	}
	#main .feature .imgUl li {
		width: 100%;
	}
	#main .feature .title {
		margin: 0 0 1.6rem;
		letter-spacing: 0;
	}
	#main .feature .topBox .title::after {
		display: none;
	}
	#main .feature .imgUl li + li {
		margin-top: 5rem;
	}
	#main .feature .imgUl .photo {
		margin-bottom: 2.6rem;
	}
	#main .feature .imgUl .title {
		margin-bottom: 1.4rem;
		letter-spacing: 0.1em;
		line-height: 1.3;
	}
	#main .feature .imgUl .item01 {
		margin-top: 2.9rem;
	}
	#main .feature .topBox .point {
		font-size: 9.01rem;
		left: 1rem;
		top: 0.3rem;
	}
	#main .feature .point {
		font-size: 7.01rem;
        left: -1rem;
        top: -1rem;
	}
	#main .feature .imgUl .item01 .head {
		margin-bottom: 2.6rem;
		padding: 1.3rem 6rem 1.6rem 5.6rem;
		font-size: 1.522rem;
		background: linear-gradient(-58deg,transparent 15%,var(--bg03) 0%);
	}
	#main .feature .imgUl .item01 .head .img {
		width: 7.7rem;
		top: -1.6rem;
  		left: calc(100% + 0.6rem);
	}
	#main .feature .imgUl dt::before {
		width: 1rem;
		height: 1rem;
		left: -2rem;
		background-size: 4rem;
		background-position: right center;
	}
	#main .feature .imgUl dl {
		margin-left: 2rem;
	}
	#main .feature .imgUl dd {
		margin: 0.4rem 0 1.8rem;
		letter-spacing: 0.06em;
		font-feature-settings: "palt";
	}
	#main .feature .imgUl .item01::after {
		bottom: -4.2rem;
	}
	#main .feature .imgUl .item02 {
		margin-top: 9.2rem;
	}
}
/* treatment */
#main .treatment {
	margin-top: -9rem;
	padding: 1px 0 16.8rem;
	background: var(--bg06);
}
#main .treatment .headLine01 {
	margin-bottom: 9.8rem;
	position: relative;
}
#main .treatment .headLine01::before,
#main .treatment .headLine01::after {
	content: "";
	width: 7.9rem;
	height: 7.9rem;
	top: 13.3rem;
	left: 10.8rem;
	position: absolute;
	z-index: 87;
	background: url(../img/common/dot_bg02.webp) no-repeat center center / 100% 100%;
}
#main .treatment .headLine01::after {
	width: 4.2rem;
	height: 4.2rem;
	left: auto;
	top: 6.2rem;
	right: 13.2rem;
}
#main .treatment .image {
	margin-bottom: 3rem;
	height: 49.6rem;
	mask: url(../img/index/mask_bg01.webp) no-repeat center top / 100% 100%;
	position: relative;
}
#main .treatment .linkBox {
	margin-bottom: 4rem;
	position: relative;
	z-index: 88;
}
#main .treatment .linkBox.link01::after {
	content: "";
	position: absolute;
	width: 2rem;
	height: 7.9rem;
	right: -8rem;
	top: -6.4rem;
	background: url(../img/index/icon02.webp) no-repeat center top / 100%;
}
#main .treatment .linkBox a {
	min-height: 25.7rem;
	display: flex;
	border-radius: 16rem;
	overflow: hidden;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
	line-height: 2;
	font-weight: 500;
	text-align: justify;
	background: var(--bg09) url(../img/common/arrow_img01.webp) no-repeat right 4rem center / 4rem;
	box-shadow: 1.2rem 1.2rem 2.5rem var(--shadow-col);
}
#main .treatment .linkBox.link03 {
	margin-bottom: 8.7rem;
}
#main .treatment .linkBox.link02 a {
	background-color: var(--bg10);
}
#main .treatment .linkBox.link03 a {
	background-color: var(--bg11);
}
#main .treatment .linkBox .img {
	width: 31.2rem;
	height: 100%;
	mask: url(../img/index/mask_bg02.webp) no-repeat center center / 100%;
}
#main .treatment .linkBox .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .treatment .linkBox .textBox {
	margin:4.6rem 11.5rem 4.5rem -4.2rem;
	flex: 1;
	position: relative;
	z-index: 2;
}
#main .treatment .linkBox .title {
	margin-bottom: 0.8rem;
	font-size: 3rem;
	padding-left: 3.6rem;
	letter-spacing: 0.2rem;
	line-height: 1.5;
	font-family:"ten-mincho-text",serif;
	background: url(../img/common/star_icon.webp) no-repeat left center / 2.7rem;
	font-weight: normal;
}
#main .treatment .linkList {
	margin-bottom: 5rem;
	gap: 3.7rem 4.6rem;
}
#main .treatment .linkList li {
	width: calc((100% - 9.2rem) / 3);
}
#main .treatment .linkList a {
	padding: 2.5rem 3.1rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-radius: 8rem;
	background: linear-gradient(to bottom,#fff 22%,transparent 100%);
}
#main .treatment .linkList .img {
	margin: 0 auto;
	width: 7.3rem;
}
#main .treatment .linkList .textBox {
	margin-left: 0.6rem;
	width: 17.3rem;
}
#main .treatment .linkList .sml {
	padding-bottom: 2.5rem;
	font-size: 1.574rem;
	line-height: 1.353;
	font-weight: 500;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
	background: url(../img/common/arrow_icon03.webp) no-repeat left bottom 0.2rem / 100%;
}
#main .treatment .linkList .ttl {
	margin-right: -3rem;
	font-size: 2.2rem;
	letter-spacing: 0;
	font-family:"ten-mincho-text",serif;
	font-feature-settings: "palt";
	font-weight: normal;
}
#main .treatment .linkList .ttl.spec {
	letter-spacing: -0.04em;
}
#main .treatment .content {
	position: relative;
}
#main .treatment .content::before,
#main .treatment .content::after {
	content: "";
	width: 18.5rem;
	height: 18.5rem;
	top: 1.3rem;
	left: -18.8rem;
	position: absolute;
	z-index: 87;
	overflow: hidden;
	border-radius: 100%;
	background: url(../img/common/dot_bg.webp) no-repeat center center / 100% 100%;
}
#main .treatment .content::after {
	width: 16.1rem;
	height: 16.1rem;
	top: -10.6rem;
	left: auto;
	right: -6.8rem;
}
#main .treatment .content .posImg {
	display: block;
	position: absolute;
	top: -22.4rem;
	left: 12.5rem;
	width: 10.5rem;
	z-index: 6;
}
#main .treatment .content .posImg::before {
	content: "";
	position: absolute;
	width: 1.4rem;
	height: 11.5rem;
	left: -5.8rem;
	top: 10.8rem;
	background: url(../img/index/icon03.webp) no-repeat center top / 100%;
}
@media all and (min-width: 897px) {
	#main .treatment .linkBox a:hover,
	#main .treatment .linkList a:hover {
		opacity: 0.6;
	}
}
@media all and (max-width: 896px) {
	#main .treatment {
		padding-bottom: 22rem;
	}
	#main .treatment .linkBox {
		margin-bottom: 16.7rem;
	}
	#main .treatment .linkBox a {
		padding: 1px 2rem 4.2rem;
        display: block;
        border-radius: 2rem;
        overflow: visible;
        background-position: right 2.3rem bottom 2.2rem;
        background-size: 2.8rem;
	}
	#main .treatment .linkBox .img {
		margin: -13.5rem auto 1.6rem;
		width: 18rem;
		height: 18rem;
		border-radius: 100%;
		overflow: hidden;
		mask: none;
	}
	#main .treatment .linkBox .img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#main .treatment .linkBox .textBox {
		margin: 0;
	}
	#main .treatment .linkBox .title {
		margin: 0 auto 0.7rem;
		padding-left: 2.8rem;
		width: fit-content;
		font-size: 2.4rem;
		letter-spacing: 0.2em;
		background-size: 2.2rem;
	}
	#main .treatment .linkList {
		margin: 0 auto 2.5rem;
		max-width: 33.5rem;
		justify-content: space-between;
		gap: 0.6rem 0;
	}
	#main .treatment .linkList li {
		margin: 0 0.5rem;
		width: calc(50% - 1.3rem);
	}
	#main .treatment .linkList a {
		padding: 1.6rem 1.4rem 2.3rem; 
		display: block;
		border-radius: 100%;
	}
	#main .treatment .image {
		margin-bottom: 5rem;
		height: 14.4rem;
	}
	#main .treatment .content .posImg {
		top: -14.3rem;
		left: 3rem;
		width: 7rem;
	}
	#main .treatment .content .posImg::before {
		width: 0.7rem;
		height: 5.7rem;
		left: 4.2rem;
		top: 4.6rem;
	}
	#main .treatment .linkBox.link01::after {
		width: 1rem;
		height: 4.3rem;
		right: 1.5rem;
		top: -18.2rem;
	}
	#main .treatment .headLine01 .en {
		margin-bottom: 1rem;
	}
	#main .treatment .headLine01 {
		margin-bottom: 16rem;
	}
	#main .treatment .linkList .textBox {
		width: auto;
	}
	#main .treatment .linkList .sml {
		padding: 0.2rem 0 1.5rem;
		font-size: 1rem;
		text-align: center;
		line-height: 1.2;
		letter-spacing: 0.2em;
		background: url(../img/common/arrow_icon03_sp.webp) no-repeat center bottom 0.5rem / 100% 0.9rem;
	}
	#main .treatment .linkList .ttl {
		margin: 0 -1.6rem;
		font-size: 1.6rem;
		text-align: center;
		letter-spacing: 0.02em;
	}
	#main .treatment .linkBox.link03 {
		margin-bottom: 4.3rem;
	}
	#main .treatment .linkList .img {
		width: 6rem;
	}
	#main .treatment .content::before {
		width: 9.2rem;
		height: 9.2rem;
		left: -5.4rem;
		top: -3.6rem;
	}
	#main .treatment .content::after {
		width: 8rem;
		height: 8rem;
		top: -8.9rem;
  		right: -1.3rem;
	}
	#main .treatment .headLine01::before {
		width: 3.9rem;
		height: 3.9rem;
		left: 0.7rem;
		top: 6.4rem;
	}
	#main .treatment .headLine01::after {
		width: 2.1rem;
		height: 2.1rem;
		right: 7.2rem;
		top: -2.8rem;
	}
}
/* clinic */
#main .clinic {
	padding: 18rem 0 10.5rem;
	margin: -5rem 0 0;
	position: relative;
}
#main .clinic .content::after,
#main .clinic .content::before {
	content: "";
	position: absolute;
	width: 18.6rem;
	height: 18.6rem;
	left: -22.7rem;
	top: 22.4rem;
	background: url(../img/common/dot_bg.webp) no-repeat center center / 100% 100%;
	border-radius: 100%;
	z-index: 2;
}
#main .clinic .content::after {
	width: 25.8rem;
	height: 25.8rem;
	left: auto;
	right: -27.4rem;
	top: -20.9rem;
}

#main .clinic::after {
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	width: 100%;
	height: 65.5rem;
	background: url(../img/index/bg04.webp) no-repeat center top / 100% auto,url(../img/index/photo09.webp) no-repeat center top / cover;
}
#main .clinic .content {
	padding: 1px 7.5rem 0;
	background: var(--white);
	border-radius: 4rem;
	position: relative;
	z-index: 1;
}
#main .clinic .headLine01 {
	margin: -3rem 0 4rem;
}
#main .clinic .clinicUl {
	margin-bottom: 4.7rem;
	gap: 3.9rem;
}
#main .clinic .clinicUl li {
	width: calc((100% - 7.8rem) / 3);
	background: var(--white);
	border-top: 0.3rem dotted var(--red);
	border-bottom: 0.3rem dotted var(--red);
}
#main .clinic .clinicUl li a {
	padding: 2.5rem 0.4rem 1.8rem;
	display: block;
}
#main .clinic .clinicUl a span {
	display: block;
	letter-spacing: 0.1em;
}
#main .clinic .clinicUl .img {
	display: block;
	height: 15.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	/*background: var(--bg06);*/
	border-radius: 2rem;
	overflow: hidden;
}
#main .clinic .clinicUl .img img {
	/*width: 20.2rem;*/
	width: 100%;
}
#main .clinic .clinicUl .time {
	margin: 1.5rem 0 0.7rem;
	font-size: 1.4rem;
	font-family: "elina",sans-serif;
}
#main .clinic .clinicUl .txt {
	font-weight: bold;
}
@media all and (min-width: 896px) {
	#main .clinic .clinicUl li a:hover {
		opacity: 0.6;
	}
}
@media all and (max-width: 896px) {
	#main .clinic {
		margin-top: -16rem;
		padding: 11.2rem 2rem 9rem;
		border-radius: 2rem;
		position: relative;
		overflow: hidden;
	}
	#main .clinic .clinicUl::before,
	#main .clinic .content::after,
	#main .clinic .content::before {
		content: "";
		position: absolute;
		width: 5.9rem;
		height: 5.9rem;
		left: -6.5rem;
		top: -1.4rem;
		background: url(../img/common/dot_bg.webp) no-repeat center center / 100% 100%;
		border-radius: 100%;
		z-index: 2;
	}
	#main .clinic::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 20rem;
		pointer-events: none;
		z-index: 1;
		background: url(../img/index/bg04.webp) no-repeat center top / 100% auto;
	}
	#main .clinic::after {
		height: 31.4rem;
		background: url(../img/index/photo09_sp.webp) no-repeat center top / cover;
		opacity: 0.35;
		filter: blur(0.5rem);
		top: 0.2rem;
	}
	#main .clinic .content::after {
		left: auto;
		right: -4.3rem;
		top: 24.5rem;
	}
	#main .clinic .content::before {
		width: 9.4rem;
		height: 9.4rem;
		left: auto;
		right: -3.7rem;
		top: -12.2rem;
	}
	#main .clinic .content {
		padding: 1px 2rem;
		position: relative;
		border-radius: 2rem;
	}
	#main .clinic .headLine01 {
		margin: -2.6rem -2rem 0;
	}
	#main .clinic .headLine01 .en {
		margin-bottom: 1rem;
	}
	#main .clinic .clinicUl {
		margin-bottom: 2.2rem;
		display: block;
		position: relative;
	}
	#main .clinic .clinicUl li {
		width: 100%;
		border-top: none;
	}
	#main .clinic .clinicUl li:last-of-type {
		border-bottom: none;
	}
	#main .clinic .clinicUl li a {
		padding: 2.5rem 0 2rem;
	}
	#main .clinic .clinicUl .time {
		margin: 1.2rem 0 0.6rem;
	}
	#main .clinic .comBtn {
		margin: 0 -2rem;
	}
	#main .clinic .clinicUl .img img {
		width: 100%;
	}
}
/* doctor */
#main .doctor  {
	margin-bottom: 8.6rem;
}
#main .doctor .content {
	position: relative;
}
#main .doctor .posImg {
	position: absolute;
	right: -15rem;
	top: -3.3rem;
	width: 29.8rem;
}
#main .doctor .posImg.img02 {
	width: 26.8rem;
	top: calc(100% - 1.2rem);
	right: -2rem;
	z-index: 4;
}
#main .doctor .textBox {
	width: 57.3rem;
	font-weight: 500;
	line-height: 2;
	text-align: justify;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
}
#main .doctor .photoBox {
	margin: -7.1rem 0 0 -25.7rem;
	width: 81.3rem;
}
#main .doctor .headLine01 {
	text-align: left;
}
#main .doctor .nameTxt {
	margin: -1.3rem 0 4.2rem;
	width: fit-content;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	position: relative;
}
#main .doctor .nameTxt .name {
	margin-top: 1.8rem;
	font-size: 4.719rem;
	letter-spacing: 0.1em;
	line-height: 1;
	display: block;
	font-family:"ten-mincho-text",serif;
	font-weight: normal;
}
#main .doctor .nameTxt .shakeImg {
	width: 10.7rem;
	display: block;
	position: absolute;
	top: -3.7rem;
	left: calc(100% + 1.5rem);
}
#main .doctor .btn01 a {
	margin: 4.5rem auto 0 0;
}
@media all and (max-width: 896px) {
}
/* policy */
#main .policy {
	padding: 17.3rem 0 12rem;
	position: relative;
	background: var(--bg12);
}
#main .policy::before {
	content: "";
	position: absolute;
	left: -28rem;
    right: -28rem;
	height: 100%;
	top: -1.8rem;
	background: url(../img/index/bg02.webp) no-repeat center top / 100%;
	pointer-events: none;
	z-index: 1;
}
#main .policy::after {
	content: "";
	position: absolute;
	left: 0;
	top: 3.4rem;
	width: 100%;
	aspect-ratio: 2732/2064;
	filter: blur(0.9rem);
	background: url(../img/index/policy_bg.webp) no-repeat left top / cover;
	opacity: 0.35;
	pointer-events: none;
}
#main .policy .imgBox {
	margin: 0 0 -7rem calc((100% - 120rem) / 2);
	position: relative;
	z-index: 2;
	display: flex;
    flex-direction: row-reverse;
	align-items: flex-start;
}
#main .policy .headLine01 {
	margin-bottom: 4.6rem;
}
#main .policy .photoBox {
	width: calc(50% + 11.5rem);
	overflow: hidden;
	border-radius: 30rem 0 0 30rem;
}
#main .policy .textBox {
	margin: 0 -21rem 4.4rem 0;
	padding: 3.2rem 0 7rem;
	position: relative;
	z-index: 2;
	flex: 1;
}
#main .policy .textBox p {
	max-width: 57rem;
	line-height: 2;
	font-weight: 500;
	text-align: justify;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
}
#main .policy .heading {
	margin: 0 -2rem 3rem 0;
	font-size: 3rem;
	line-height: 2.0333;
	letter-spacing: 0.22em;
	font-feature-settings: "palt";
}
#main .policy .botBox {
	position: relative;
	z-index: 2;
}
#main .policy .botBox {
	align-items: flex-end;
}
#main .policy .list {
	width: 75.2rem;
	gap: 2.4rem;
}
#main .policy .list li {
	padding: 3.3rem 3.3rem 0;
	width: 23.4rem;
	height: 23.4rem;
	border-radius: 100%;
	overflow: hidden;
	text-align: center;
	font-weight: 500;
	font-size: 1.31rem;
	line-height: 1.571;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
	background: var(--bg13);
}
#main .policy .list .img {
	margin: 0 auto 1rem;
	width: 8.9rem;
}
#main .policy .list .ttl {
	margin-bottom: 0.6rem;
	font-size: 2.246rem;
	letter-spacing: 0.16em;
}
#main .policy .list .item01 {
	background: var(--bg14);
}
#main .policy .list .item02 {
	background: var(--bg15);
}
@media all and (max-width: 896px) {
	#main .policy .textBox p {
		max-width: inherit;
	}
}
/* visitor */
#main .visitor {
	padding: 14.9rem 0 0;
	position: relative;
	z-index: 4;
}
#main .visitor::after {
	content: "";
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	height: 34.6rem;
	background: linear-gradient(to bottom,var(--bg12) 50%,transparent 100%);
}
#main .visitor .headLine01 {
	margin: -3.8rem 8.5rem 4.3rem;
	text-align: left;
}
#main .visitor .content {
	padding: 1px 0 5rem;
	border-radius: 4rem;
	background: var(--white);
	position: relative;
	z-index: 5;
}
#main .visitor .btnList {
	margin: 0 8.5rem 8.5rem;
	gap: 3.8rem;
	position: relative;
}
#main .visitor .btnList a {
	padding: 3.5rem 2rem 2.7rem;
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 2rem;
	color: var(--white);
	font-size: 2rem;
	letter-spacing: 0.14em;
	font-family:"ten-mincho-text",serif;
	font-weight: normal;
	text-align: center;
}
#main .visitor .btnList a::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	opacity: 0.8;
	background: var(--bg16);
	z-index: 1;
}
#main .visitor .btnList a span {
	display: block;
}
#main .visitor .btnList li {
	width: calc((100% - 11.4rem) / 4);
}
#main .visitor .btnList .image {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#main .visitor .btnList .inner {
	position: relative;
	z-index: 2;
}
#main .visitor .btnList .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .visitor .btnList .img {
	margin: 0 auto 0.5rem;
	width: 5.9rem;
}
#main .visitor .btnList .txt {
	padding-right: 3.4rem;
	width: fit-content;
	margin: 0 auto;
	background: url(../img/common/arrow_icon02.webp) no-repeat right center / 3rem;
}
#main .visitor .linkBox {
	margin: 0 5rem 4.3rem;
}
#main .visitor .linkBox a {
	display: block;
	position: relative;
}
#main .visitor .linkBox a .inner {
	padding: 3.9rem 4rem 0;
	display: block;
	height: 24.2rem;
	position: relative;
	overflow: hidden;
	border-radius: 12rem;
	color: var(--white);
}
#main .visitor .linkBox a .inner::after {
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	position: absolute;
	content: "";
	opacity: 0.62;
	background: var(--red);
}
#main .visitor .linkBox a .img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#main .visitor .linkBox .posImg {
	width: 21.7rem;
	position: absolute;
	z-index: 4;
	left: 6rem;
	bottom: 0;
}
#main .visitor .linkBox .posImg.pos02 {
	left: auto;
	right: 3.5rem;
}
#main .visitor .linkBox .inner {
	position: relative;
	z-index: 2;
}
#main .visitor .title {
	margin-bottom: 3rem;
	position: relative;
	z-index: 3;
	font-size: 5.3rem;
	text-align: center;
	letter-spacing: 0.18em;
	font-weight: 700;
}
#main .visitor .title span {
	margin: 0 auto;
}
#main .visitor .title .jp {
	display: block;
	font-family:"ten-mincho-text",serif;
	font-weight: normal;
}
#main .visitor .title .jp::after {
	margin: 0.2rem auto 0;
	content: "";
	display: block;
	width: 27.7rem;
	height: 1.3rem;
	background: url(../img/index/line.webp) no-repeat left top / 100%;
	font-feature-settings: "palt";
}
#main .visitor .title .sml {
	font-size: 2.2rem;
	letter-spacing: 0.15em;
}
#main .visitor .text {
	padding: 0 5.6rem 0.6rem;
	width: fit-content;
	margin: 0 auto;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.21em;
	background: url(../img/common/arrow_icon02.webp) no-repeat right center / 4rem;
	position: relative;
	font-feature-settings: "palt";
	text-align: center;
	z-index: 3;
}
#main .visitor .linkBox .link .inner {
	padding: 1rem 9.4rem 1rem 6rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#main .visitor .linkBox .link .inner::after {
	background: url(../img/common/arrow_icon02.webp) no-repeat right 3rem center / 4.3rem,url(../img/index/visitor_bg03.webp) no-repeat left top / cover;
	opacity: 1;
}
#main .visitor .linkBox .link .title {
	margin: 0;
	width: fit-content;
	letter-spacing: 0;
	line-height: 1;
}
#main .visitor .linkBox .link .jp::after {
	width: 100%;
}
#main .visitor .linkBox .link .imgUl {
	display: flex;
	position: relative;
	z-index: 3;
	gap: 1rem;
}
#main .visitor .linkBox .link .imgUl li {
	width: 13.6rem;
}
@media all and (min-width: 1025px) {
	#main .visitor .btnList a:hover,
	#main .visitor .linkBox a:hover {
		opacity: 0.6;
	}
}
@media all and (min-width: 897px) {
	#main .visitor .content::before,
	#main .visitor .content::after {
		content: "";
		position: absolute;
		width: 13.6rem;
		height: 13.6rem;
		left: -10rem;
		top: 30rem;
		background: url(../img/common/dot_bg.webp) no-repeat left top / 100% 100%;
		border-radius: 100%;
	}
	#main .visitor .content::after {
		width: 20rem;
		height: 20rem;
		left: auto;
		right: -12.3rem;
		top: -9.1rem;
	}
	#main .visitor .linkBox.link01::before,	
	#main .visitor .btnList::before {
		width: 4.2rem;
		height: 4.2rem;
		content: "";
		position: absolute;
		right: -10.6rem;
		top: 7.5rem;
		background: url(../img/common/dot_bg02.webp) no-repeat left top / 100% 100%;
	}
	#main .visitor .linkBox.link01 {
		position: relative;
	}
	#main .visitor .linkBox.link01::before {
		width: 4.2rem;
		height: 4.2rem;
		left: -7.2rem;
		top: 12.2rem;
	}
	#main .visitor .linkBox .posImg {
		overflow: hidden;
		border-bottom-left-radius: 5rem;
	}
	#main .visitor .linkBox .posImg.pos02 {
		border-radius: 0 0 7.2rem 0;
	}
	#main .visitor .linkBox.insBox .title .jp::after {
		margin: 1rem 0 -0.7rem;
	}
}
@media all and (max-width: 896px) {
	#main .doctor .imgBox {
		display: block;
	}
	#main .doctor .photoBox {
		width: auto;
		margin: -8.5rem 0 2.9rem;
		position: relative;
	}
	#main .doctor .textBox {
		position: relative;
		z-index: 1;
		width: auto;
	}
	#main .doctor .photoBox img {
		width: 100%;
	}
	#main .doctor .subSpan {
		position: absolute;
		width: 47.2%;
		right: -15%;
		bottom: -14.6%;
		display: block;
	}
	#main .doctor .subSpan img {
		width: 100%;
	}
	#main .doctor .posImg.img02 {
		top: 7.2%;
		width: 29.5%;
		right: auto;
		left: -4.0%;
	}
	#main .doctor .posImg.img02 img {
		width: 100%;
	}
	#main .doctor .nameTxt {
		margin-bottom: 2rem;
	}
	#main .doctor .nameTxt .name {
		margin-top: 0.5rem;
		font-size: 	3.78rem;
		font-weight: 500;
	}
	#main .doctor .nameTxt .shakeImg {
		width: 7.0rem;
		top: -1.7rem;
		left: calc(100% + 1.4rem);
	}
	#main .doctor .btn01 a {
		margin: 3.2rem auto 0;
		min-height: 6.8rem;
		font-size: 1.6rem;
		letter-spacing: 0.1em;
	}
	#main .doctor {
		margin-bottom: 5rem;
	}
	#main .policy {
		padding: 6.2rem 0 6rem;
		background: url(../img/index/policy_bg_sp.webp) no-repeat center left;
		background-size: cover;
	}
	#main .policy .photoBox {
		position: relative;
		right: auto;
		top: auto;
		width: auto;
		margin: 0 2rem 2rem;
		padding-top: 0.2rem;
	}
	#main .policy .photoBox img {
		width: 100%;
	}
	#main .policy::before,
	#main .policy::after {
		display: none;
	}
	#main .policy .headLine01 {
		margin-bottom: 3rem;
	}
	#main .policy .textBox {
		margin: 0;
		padding: 0.3rem 2rem 0;
	}
	#main .policy .heading {
		margin: 0 0 1.5rem;
		text-align: center;
		font-size: 2.4rem;
		letter-spacing: 0.22em;
		line-height: 1.625;
	}
	#main .policy .imgBox {
		margin: 0 0 2rem;
		display: block;
	}
	#main .policy .botBox {
		display: block;
	}
	#main .policy .list {
		width: auto;
		display: block;
		margin-bottom: 3.2rem;
	}
	#main .policy .list li {
		margin-bottom: 1rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 2rem 1.6rem 1.8rem 1.3rem;
		font-size: 1.4rem;
		font-weight: 500;
		letter-spacing: 0.06em;
		line-height: 1.57;
		width: auto;
		height: auto;
		align-items: center;
		border-radius : 1rem;
	}
	#main .policy .list li:last-child {
		margin-bottom: 0;
	}
	#main .policy .list li .spBox {
		width: 11rem;
		margin-right: 0.7rem;
		text-align: center;
	}
	#main .policy .list li p:not(.ttl){
		flex: 1;
		text-align: justify;
	}
	#main .policy .list .img {
		margin-bottom: 0.7rem;
		width: 6rem;
	}
	#main .policy .list .ttl {
		font-size: 1.53rem;
		margin-bottom: 0;
	}
	#main .visitor {
		padding: 8rem 2rem 0;
	}
	#main .visitor .bg01 {
		position: absolute;
		top: -3rem;
		right: -2.7rem;
		width: 9.4rem;
		z-index: 1;
	}
	#main .visitor .bg02 {
		position: absolute;
		top: 12.8rem;
		left: -3.2rem;
		width: 6.5rem;
		z-index: 8;
	}
	#main .visitor .content {
		border-radius: 2rem;
		padding: 0 2rem;
	}
	#main .visitor .headLine01 {
		width: fit-content;
		margin: -0 auto 0.6rem;
		top: -2rem;
		position: relative;
	}
	#main .visitor .headLine01 .jp {
		font-weight: 700;
		padding-top: 0.4rem;
		display: block;
	}
	#main .visitor .btnList {
		margin: 0 0 2.6rem;
		gap: 1.3rem 1.8rem;
	}
	#main .visitor .btnList li {
		width: calc((100% - 1.8rem) / 2);
	}
	#main .visitor .btnList a {
		padding: 1.6rem 0.5rem 1.2rem;
		border-radius: 1rem;
	}
	#main .visitor .btnList .img {
		width: 3.7rem;
		margin-bottom: 0.2rem;
	}
	#main .visitor .btnList .txt {
		font-size: 1.3rem;
		letter-spacing: 0;
		padding-right: 2.3rem;
		background-size: 2rem auto;
	}
	#main .visitor .linkBox {
		margin: 0 0 2.6rem;
	}
	#main .visitor .linkBox:last-child {
		margin-bottom: 0;
	}
	#main .visitor .linkBox a {
		overflow: hidden;
	}
	#main .visitor .linkBox .posImg {
		width: 8.5rem;
		bottom: auto;
		top: 0;
		left: -1.5rem;
	}
	#main .visitor .linkBox .posImg.pos02 {
		right: -1.5rem;
	}
	#main .visitor .linkBox a .inner {
		height: auto;
		border-radius: 2rem;
		padding: 3rem 2rem 2.3rem;
	}
	#main .visitor .title {
		margin-bottom: 2.4rem;
		font-size: 3.2rem;
		letter-spacing: 0.1em;
		font-weight: 500;
	}
	#main .visitor .text {
		padding: 0 0.5rem;
		font-size: 1.3rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		line-height: 1.85;
		text-align: justify;
		background: none;
		position: relative;
		font-feature-settings: normal;
	}
	#main .visitor .text:after {
		width: 4rem;  
		height: 1.6rem;
		display: inline-block;
		background: url(../img/common/arrow_icon02.webp) no-repeat;
		background-size: 100% auto;
		content: ""; 
	}
	#main .visitor .linkBox a .img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center center;
		aspect-ratio: 590 / 424;
	}
	#main .visitor .title .sml {
		font-size: 1.3rem;
		font-weight: 700;
		letter-spacing: 0;
		margin-top: 0.4rem;
		display: block;
	}
	#main .visitor .linkBox .link .inner {
		display: block;
		padding: 2rem;
	}
	#main .visitor .linkBox .link .title {
		margin: 0 auto 1.3rem;
	}
	#main .visitor .title .jp {
		font-size: 3.2rem;
		letter-spacing: 0.06em;
	}
	#main .visitor .insBox .title .jp {
		padding-top: 0.5rem;
		background: url(../img/common/arrow_icon02.webp) no-repeat right top calc(50% - 0.3rem);
		margin: 0 -2rem 0rem -1rem;
		padding-right: 5rem;
		background-size: 4rem auto;
	}
	#main .visitor .insBox .title .jp::after {
		margin-top: 1rem;
	}
	#main .visitor .linkBox .link .inner::after {
		background: none,url(../img/index/visitor_bg03.webp) no-repeat left top / cover;
	}
	#main .visitor .linkBox .link .imgUl {
		gap: 1rem 0.4rem;
		padding-bottom: 0.1rem;
	}
	#main .visitor .linkBox .link .imgUl li {
		width: calc((100% - 1.2rem) / 4);
	}
	#main .visitor .linkBox .link .imgUl li img {
		aspect-ratio: 272 / 364;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#main .visitor .linkBox .link .inner::after {
		background-image: url(../img/index/visitor_bg03_sp.webp);
		background-size: cover;
	}
	#main .visitor::after {
		height: 51.6rem;
	}
}