@media only screen and (max-width: 768px) {
	.home_page .key {
		--height: calc(100vh - 60px);
		--max-height: 156vw;
		--min-height: 69vw;
		font-size: min(8px, 1.3vmin);
	}
	.home_page .key .key_text .item {
		padding: 10px;
		align-items: flex-end;
		padding-bottom: 19em;
	}
	.home_page .key .en {
		bottom: -1px;
		left: -0.45em;
		right: 0;
		font-size: 7.8vw;
	}
	.home_page .key .ai_chat {
		right: 20px;
		bottom: 7em;
	}
	.home_page .key .ai_chat.active {
		right: var(--wrapper);
		bottom: 60px;
	}
	.home_page .key .inner {
		padding: 0;
	}
	.home_page .key .catch {
		text-align: center;
		padding-bottom: 0;
	}
	.home_page .key .catch h2,
	.home_page .key .catch .jp {
		letter-spacing: 0;
	}
	.home_page .key .catch h2 span,
	.home_page .key .catch .jp span {
		letter-spacing: 0;
	}
	.home_page .key h2 {
		font-size: 5em;
		margin-bottom: 5px;
		filter: unset;
		text-shadow:
			1px 0 #fff,
			-1px 0 #fff,
			0 1px #fff,
			0 -1px #fff,
			1px 1px #fff,
			-1px 1px #fff,
			1px -1px #fff,
			-1px -1px #fff;
	}
	.home_page .key .jp {
		font-size: 2.7em;
	}
	.home_page .key .slick-initialized .s3 {
		background-image: url(../images/idx_key_s3_sp750.jpg);
	}
	.home_page .key .slick-initialized .s3 .inner {
		margin: auto;
	}
	.home_page .key .slick-initialized .s6 {
		background-image: url(../images/idx_key_s6_sp750.jpg);
	}
}
@media only screen and (max-width: 768px) and (max-aspect-ratio: 768/600) {
	.home_page .key {
		font-size: 1vmin;
	}
}
@media only screen and (max-width: 480px) {
	.home_page .key .key_text .item {
		padding-bottom: 30em;
	}
	.home_page .key .en {
		color: var(--main-color);
	}
	.home_page .key h2 {
		font-size: 6.7em;
		margin-bottom: 10px;
	}
	.home_page .key .jp {
		font-size: 4.25em;
	}

	.home_page .key .slick-initialized .s1 {
		background-image: url(../images/idx_key_s1_sp.jpg);
	}
	.home_page .key .slick-initialized .s2 {
		background-image: url(../images/idx_key_s2_sp.jpg);
	}
	
	
	.home_page .key .slick-initialized .s4 {
		background-image: url(../images/idx_key_s4_sp.jpg);
	}
	.home_page .key .slick-initialized .s5 {
		background-image: url(../images/idx_key_s5_sp.jpg);
	}
	.home_page .key .slick-initialized .s6 {
		background-image: url(../images/idx_key_s6_sp.jpg);
	}
	.home_page .key .ai_chat {
		font-size: 1.5em;
	}
}
@media only screen and (max-width: 480px) {
	.home_page .key .slick-initialized .s3 {
		background-image: url(../images/idx_key_s3_sp.jpg);
	}
}
@media only screen and (max-width: 768px) {
	.home_page h3 {
		font-size: min(7vw, var(--ttl_size));
		letter-spacing: 0;
	}
	.home_page h3.large {
		font-size: min(8vw, var(--ttl_size) + 4px);
		letter-spacing: 0;
	}
	.home_page h3.med {
		font-size: min(7vw, var(--ttl_size) - 2px);
		letter-spacing: 0;
	}
	.home_page .h_en {
		font-size: 18px;
		letter-spacing: 0;
	}
	.home_page .h_en.large {
		font-size: 20px;
		letter-spacing: 0;
	}
	.home_page .wrap_h3.flex {
		display: block;
		text-align: center;
	}
	.home_page .inner,
	.home_page .inner_max,
	.home_page .inner_big {
		max-width: 610px;
	}
}
@media only screen and (max-width: 768px) {
	.idx1 {
		padding: 40px 0;
	}
	.idx1 h3 {
		font-size: min(7vw, var(--ttl_size) - 2px);
		letter-spacing: 0;
	}
	.idx1 .wrap_h3 {
		text-align: center;
		margin: 0 auto 30px;
	}
	.idx1 .TabContainer .TabPager {
		max-width: 100%;
		width: 100%;
		margin: 0 auto;
	}
	.idx1 .TabContainer .TabPager > div p {
		padding: 1em;
		font-size: 18px;
		letter-spacing: 0;
	}
	.idx1 .idx1_btn {
		margin: 25px auto 0;
	}
	.idx1 .idx1_btn a {
		font-size: 18px;
		letter-spacing: 0;
	}
	.idx1 ul {
		margin-top: 0;
	}
	.idx1 ul li a {
		font-size: 14px;
		letter-spacing: 0;
		padding-top: 1.5em;
		flex-wrap: wrap;
		padding-bottom: 1.5em;
	}
	.idx1 ul li a .cat {
		font-size: 14px;
		width: auto;
		padding: 5px 10px;
	}
	.idx1 ul li a::after {
		right: 10px;
	}
	.idx1 ul li a .title {
		padding-right: 3em;
		width: 100%;
		margin-top: 10px;
		padding-left: 0;
	}
	.idx1 ul li a .date {
		width: auto;
		text-align: left;
		padding-left: 0;
		margin-right: 10px;
	}
}
@media only screen and (max-width: 480px) {
	.idx1 .TabContainer .TabPager > div p {
		font-size: min(4.3vw, 16px);
		padding-left: 0;
		padding-right: 0;
	}
}
@media only screen and (max-width: 768px) {
	.idx2 {
		padding: 40px 0;
	}
	.idx2::before {
		height: 46.875vw;
	}
	.idx2 .TabContainer {
		margin-top: 40px;
	}
	.idx2 .TabContainer .TabPager {
		width: 88%;
	}
	.idx2 .TabContainer .TabPager > div p {
		font-size: 20px;
		letter-spacing: 0;
		padding: 1em 0;
	}
	.idx2 .TabContainer .TabPager > div p::after {
		border-top: 8px solid #fff;
		border-left: 6px solid transparent;
		border-right: 6px solid transparent;
		bottom: 4px;
		left: calc(50% - 6px);
	}
	.idx2 .idx2_tab {
		padding: 40px 0 0;
	}
	.idx2 .btn-group {
		margin-top: 0;
		padding: 30px 0 40px;
	}
	.idx2 .left,
	.idx2 .right {
		max-width: 100%;
		width: 100%;
	}
	.idx2 .flex {
		display: block;
		padding: 0;
	}
	.idx2 .idx2_logo {
		max-width: 150px;
		width: 100%;
		display: table;
		margin: 0 auto;
	}
	.idx2 .idx2_txt {
		max-width: 100%;
		width: 100%;
	}
	.idx2 .idx_tel {
		margin: 0 auto;
	}
	.idx2 .idx_tel a {
		justify-content: center;
	}
	.idx2 .idx2_map {
		height: 299px;
	}
	.idx2 .idx2_ul li {
		margin-bottom: 15px;
		letter-spacing: 0;
	}
}
@media only screen and (max-width: 480px) {
	.idx2::before {
		height: 55vw;
	}
}
@media only screen and (max-width: 768px) {
	.idx3 {
		padding: 40px 0 80px;
	}
	.idx3::after {
		background-size: 100%;
		width: calc(100% - 40px);
		height: calc(100% - 40px);
		background-color: #f4fdfc;
	}
	.idx3 .inner {
		display: block;
	}
	.idx3 .wrap_h3,
	.idx3 .txt {
		padding: 0;
		text-align: center;
	}
	.idx3 h3.large::after {
		margin-left: auto;
		margin-right: auto;
	}
	.idx3 .h_en {
		margin-top: 0.5em;
		font-size: 22px;
	}
	.idx3 .idx3_img {
		margin: 50px auto 16vw;
	}
	.idx3 .idx3_img .img1 {
		margin-top: 20px;
	}
	.idx3 .idx3_img .img1::before,
	.idx3 .idx3_img .img1::after {
		font-size: min(0.8vw, 5px);
	}
	.idx3 .idx3_img .img2 {
		margin-top: -20px;
	}
	.idx3 .txt p {
		letter-spacing: 0;
		font-size: 16px;
		text-align: left;
	}
	.idx3 .btn-group {
		margin: 40px auto 0;
		justify-content: center;
	}
}
@media only screen and (max-width: 480px) {
	.idx3::after {
		background-size: 140%;
		width: calc(100% - 10px);
	}
}
@media only screen and (max-width: 768px) {
	.idx4 {
		padding: 40px 0;
		background-size: 100%;
		background-repeat: repeat;
	}
	.idx4 .idx4_img {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 40px auto;
	}
	.idx4 .idx4_img picture {
		inset: unset;
		position: relative;
		aspect-ratio: 1/1;
		height: auto;
		width: calc(50% - 10px);
	}
	.idx4 .idx4_img picture::before {
		font-size: 4px;
	}
	.idx4 .idx4_img .img1,
	.idx4 .idx4_img .img2 {
		inset: unset;
	}
	.idx4 .idx4_ttl {
		margin: 0 auto;
	}
	.idx4 .idx4_ttl p {
		letter-spacing: 0;
		font-size: min(6.7vw, 22px);
	}
	.idx4 .txt {
		margin: 25px auto 40px;
	}
	.idx4 .btn-group {
		margin-top: 0;
	}
}
@media only screen and (max-width: 768px) {
	.idx_en {
		letter-spacing: 0;
		font-size: 9vw;
	}
	.idx5 {
		padding: 40px 0;
		position: relative;
		z-index: 1;
	}
	.idx5::after {
		content: "";
		display: block;
		position: absolute;
		transition: all 0.3s;
		z-index: -1;
		background: url(../images/idx5_bg.jpg) no-repeat top center/cover;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-size: 100%;
	}
	.idx5 .inner {
		padding-left: 20px;
		padding-right: 20px;
	}
	.idx5 .h_en {
		font-size: 22px;
	}
	.idx5 .idx5_list {
		margin-top: 40px;
	}
	.idx5 .idx5_list::before {
		display: none;
	}
	.idx5 .idx5_list .item {
		max-width: 100%;
		width: 100%;
	}
	.idx5 .idx5_list .item:not(:last-child) {
		margin-bottom: 40px;
	}
	.idx5 .idx5_list .item .idx5_img,
	.idx5 .idx5_list .item .idx5_txt {
		max-width: 100%;
		width: 100%;
		margin: 0;
	}
	.idx5 .idx5_list .item .idx5_img {
		margin: 25px 0;
	}
	.idx5 .idx5_list .item .idx5_txt {
		background-size: 100px;
		padding: 40px;
		box-shadow: 11.213px 11.213px 10px 0px rgba(200, 214, 61, 0.3);
	}
	.idx5 .idx5_list .item .idx5_txt .ttl1 {
		text-align: center;
		font-size: 24px;
		letter-spacing: 0;
	}
	.idx5 .idx5_list .item .idx5_txt .ttl1::after {
		margin-left: auto;
		margin-right: auto;
	}
	.idx5 .btn-group {
		margin-top: 40px;
	}
	.idx5 .idx5_banner {
		margin-top: 40px;
		aspect-ratio: unset;
	}
	.idx5 .idx5_banner .txt {
		padding: 40px;
		width: 100%;
	}
	.idx5 .idx5_banner .txt .ttl {
		letter-spacing: 0;
		font-size: 24px;
		margin-bottom: 0;
		line-height: 1.4;
		text-shadow:
			0 0 2px #fff,
			0 0 4px #fff,
			-1px 0 #fff,
			1px 0 #fff,
			0 -1px #fff,
			0 1px #fff;
	}
	.idx5 .idx5_banner .txt .btn-group {
		margin-top: 20px;
	}
	.idx5 .idx5_banner .txt .btn-group .btn {
		max-width: 260px;
	}
}
@media only screen and (max-width: 480px) {
	.idx5 .idx5_list .item .idx5_txt {
		padding: 20px;
		background-size: 70px;
	}
	.idx5 .idx5_list .item .idx5_img p {
		font-size: 7vw;
	}
	.idx5 .idx5_banner {
		margin-top: 40px;
		aspect-ratio: unset;
		background-image: url(../images/idx5_banner_sp.jpg);
	}
	.idx5 .idx5_banner .txt {
		padding: 20px;
		width: 100%;
	}
	.idx5 .idx5_banner .txt .ttl {
		letter-spacing: 0;
		font-size: 28px;
		margin-bottom: 0;
		text-shadow:
			0 0 2px #fff,
			0 0 4px #fff,
			-1px 0 #fff,
			1px 0 #fff,
			0 -1px #fff,
			0 1px #fff;
	}
	.idx5 .idx5_banner .txt .btn-group {
		margin-top: 20px;
	}
	.idx5 .idx5_banner .txt .btn-group .btn {
		max-width: 260px;
	}
}
@media only screen and (max-width: 768px) {
	.idx6 {
		padding: 40px 0;
	}
	.idx6 .idx6_bg {
		margin-top: 40px;
		padding: 50px 0 40px;
	}
	.idx6 .idx6_bg::before {
		bottom: calc(100% - 1em);
	}
	.idx6 .idx6_bg::after {
		clip-path: shape(
			from 0% 0%,
			line to 50.05% 1.84%,
			line to 100% 0%,
			line to 100% 97.98%,
			curve to 98.48% 100% with 100% 99.13%/99.39% 100%,
			line to 1.52% 100%,
			curve to 0% 97.98% with 0.68% 100%/0% 99.13%,
			line to 0% 0%,
			close
		);
	}
	.idx6 .idx6_bg .fblock {
		gap: 5px;
		display: flex;
	}
	.idx6 .idx6_bg .item {
		width: calc(50% - 5px);
	}
	.idx6 .idx6_bg .item {
		padding: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.idx6 .idx6_bg .item .icon {
		max-width: 80px;
	}
	.idx6 .idx6_bg .item .jp {
		font-size: 20px;
		letter-spacing: 0;
	}
}
@media only screen and (max-width: 480px) {
	.idx6 .idx6_bg::after {
		clip-path: shape(
			from 0% 0%,
			line to 50.05% 2%,
			line to 100% 0%,
			line to 100% 97.98%,
			curve to 98.48% 100% with 100% 99.13%/99.39% 100%,
			line to 1.52% 100%,
			curve to 0% 97.98% with 0.68% 100%/0% 99.13%,
			line to 0% 0%,
			close
		);
	}
	.idx6 .idx6_bg .item {
		padding: 25px 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		aspect-ratio: unset;
	}
	.idx6 .idx6_bg .item .icon {
		max-width: 40px;
	}
	.idx6 .idx6_bg .item .jp {
		font-size: min(3.8vw, 14px);
		letter-spacing: 0;
	}
	.idx6 .idx6_bg .item .jp small {
		letter-spacing: 0;
		font-size: 0.7143em;
	}
	.idx6 .idx6_bg .item .arrow {
		font-size: 0.5em;
	}
}
@media only screen and (max-width: 345px) {
	.idx6 .idx6_bg .item .jp {
		font-size: min(3.3vw, 14px);
		letter-spacing: 0;
	}
}
@media only screen and (max-width: 768px) {
	.idx7 {
		padding: 40px 0;
	}
	.idx7::before {
		display: none;
	}
	.idx7 .idx7_bg {
		padding: 40px;
		margin: 20px auto 0;
		width: 100%;
		max-width: 100%;
	}
	.idx7 h3.med.border {
		text-align: center;
		margin-top: 15px;
	}
	.idx7 h3.med.border::after {
		margin-left: auto;
		margin-right: auto;
	}
	.idx7 picture {
		margin: 25px auto;
	}
	.idx7 .idx7_btn {
		margin: 25px auto;
	}
	.idx7 .idx7_btn a {
		letter-spacing: 0;
		font-size: 18px;
	}
}
@media only screen and (max-width: 480px) {
	.idx7 .idx7_bg {
		padding: 20px;
	}
}
@media only screen and (max-width: 768px) {
	.idx8 {
		padding: 40px 0;
	}
	.idx8 .TabContainer .TabPager > div p {
		letter-spacing: 0;
		font-size: min(4.8vw, 16px);
	}
	.idx8 .idx8_tab {
		padding: 40px 0;
	}
	.idx8 .idx8_list {
		gap: 20px;
	}
	.idx8 .idx8_list .item {
		width: calc(50% - 10px);
		min-height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.idx8 .idx8_list .item a {
		width: 100%;
		min-height: 100%;
		padding-top: 10px;
		padding-bottom: 10px;
		letter-spacing: 0;
		font-size: min(4vw, 14px);
		height: auto;
	}
	.idx8 .idx8_list .item a::after {
		right: 0.3571em;
		width: 0.5714em;
		height: 0.8571em;
		top: calc(50% - 0.4286em);
	}
}
@media only screen and (max-width: 345px) {
	.idx8 .idx8_list .item a {
		font-size: min(3.5vw, 14px);
	}
}
@media only screen and (max-width: 768px) {
	.idx9 .inner_max {
		padding: 0;
		max-width: 100%;
	}
	.idx9 {
		padding: 40px 0;
	}
	.idx9 .idx9_slider .slick-slide {
		width: 60vw !important;
	}
	.idx9 .idx9_prev,
	.idx9 .idx9_next {
		width: 40px;
		height: 40px;
	}
	.idx9 .h_em {
		font-size: 22px;
	}
	.idx9 .idx9_slider .item {
		padding: 20px;
	}
	.idx9 .idx9_slider .item .idx9_img .en {
		font-size: 14px;
	}
	.idx9 .idx9_slider .item .ttl1 {
		letter-spacing: 0;
		font-size: 18px;
	}
	.idx9 .idx9_next {
		right: 18vw;
	}
	.idx9 .idx9_prev {
		left: 18vw;
	}
	.idx9 .slick-dots {
		font-size: 7px;
	}
}
@media only screen and (max-width: 480px) {
	.idx9 .idx9_slider .slick-slide {
		width: 80vw !important;
	}
	.idx9 .idx9_next {
		right: 7vw;
	}
	.idx9 .idx9_prev {
		left: 7vw;
	}
}
@media only screen and (max-width: 360px) {
	.idx9 .idx9_slider .item .ttl1 {
		letter-spacing: 0;
		font-size: min(4.6vw, 18px);
	}
	.idx9 .idx9_next {
		right: 5vw;
	}
	.idx9 .idx9_prev {
		left: 5vw;
	}
}
@media only screen and (max-width: 768px) {
	.idx10 {
		padding: 40px 0;
	}
	.idx10 .idx10_list {
		display: flex;
		gap: 20px;
	}
	.idx10 .idx10_list .item {
		width: calc(50% - 10px);
		font-size: 14px;
	}
}
@media only screen and (max-width: 480px) {
	.idx10 {
		padding: 40px 0;
	}
	.idx10 .idx10_list {
		display: flex;
		gap: 20px;
		margin: 0 auto;
		max-width: 280px;
	}
	.idx10 .idx10_list .item {
		width: 100%;
		font-size: 14px;
	}
}
@media only screen and (max-width: 768px) {
	.idx11 {
		padding: 40px 0;
	}
	.idx11 .left,
	.idx11 .right {
		max-width: 100%;
		width: 100%;
	}
	.idx11 .wrap_h3.t_center {
		margin: 0 auto 40px;
		font-size: 1vw;
	}
	.idx11 .idx11_list .item {
		display: block;
		padding: 40px;
	}
	.idx11 .idx11_list .item .ttl1 {
		text-align: center;
		font-size: 20px;
		letter-spacing: 0;
	}
	.idx11 .idx11_list .item .ttl1::after {
		margin-left: auto;
		margin-right: auto;
	}
	.idx11 .idx11_list .item .img {
		margin: 30px auto;
	}
	.idx11 .btn-group {
		margin-top: 40px;
	}
}
@media only screen and (max-width: 480px) {
	.idx11 .wrap_h3.t_center {
		font-size: 1.6vw;
	}
	.idx11 .idx11_list .item {
		display: block;
		padding: 20px;
	}
	.idx11 .idx11_list .item .ttl1 {
		text-align: center;
		font-size: min(5vw, 20px);
		margin-top: 0;
		letter-spacing: 0;
	}
	.idx11 .idx11_list .item .ttl1::after {
		margin-left: auto;
		margin-right: auto;
	}
	.idx11 .idx11_list .item .img {
		margin: 30px auto;
	}
	.idx11 .idx11_list .item .img::after {
		font-size: 70px;
		letter-spacing: 0;
	}
}
@media only screen and (max-width: 768px) {
	.idx12 {
		padding: 40px 0;
	}
	.idx12 .idx12_banner {
		aspect-ratio: unset;
	}
	.idx12 .idx12_banner .idx_en {
		font-size: 12vw;
	}
	.idx12 .idx12_banner .txt {
		padding: 40px;
		width: 100%;
	}
	.idx12 .idx12_banner .txt .ttl {
		letter-spacing: 0;
		font-size: 24px;
		margin-bottom: 0;
		line-height: 1.4;
		text-shadow:
			0 0 2px #fff,
			0 0 4px #fff,
			-1px 0 #fff,
			1px 0 #fff,
			0 -1px #fff,
			0 1px #fff;
	}
	.idx12 .idx12_banner .txt .btn-group {
		margin-top: 20px;
	}
	.idx12 .idx12_banner .txt .btn-group .btn {
		max-width: 260px;
	}
	.idx12 .idx12_banner .txt .h_en {
		font-size: 18px;
	}
	.idx12 .idx12_banner .txt .h_en .en {
		font-size: 36px;
	}
}
@media only screen and (max-width: 480px) {
	.idx12 .idx12_banner {
		background-image: url(../images/idx12_banner_sp.png);
		background-size: 100%;
		background-color: #f4fdfc;
	}
	.idx12 .idx12_banner .txt {
		padding: 60vw 20px 20px 20px;
		width: 100%;
	}
}
@media only screen and (max-width: 768px) {
	.idx13 {
		padding: 0 0 40px;
	}
	.idx13::after {
		height: 100%;
	}
	.idx13 .idx13_ins,
	.idx13 .idx13_txt {
		max-width: 100%;
		width: 100%;
	}
	.idx13 .idx13_ins .wrap,
	.idx13 .idx13_txt .wrap {
		max-width: 100%;
		margin-top: 40px;
	}
	.idx13 .wrap_h3 {
padding-left: 70px;
        margin-left: auto;
        margin-right: auto;
        max-width: fit-content;
	}
	.idx13 .wrap_h3::before {
    width: 60px;
    height: 60px;
    top: calc(50% - 30px);
	}
	.idx13 h3 {
		font-size: 24px;
	}
	.idx13 .h_en.large {
		margin: 0;
	}
	.idx13 .idx13_btn {
		margin-top: 40px;
	}
	.idx13 .idx13_btn a {
		font-size: 18px;
	}
	.idx13 #sb_instagram #sbi_images .sbi_item {
		width: 200px !important;
		height: 200px !important;
		margin-right: 5px !important;
	}
}
