@charset "utf-8";
@media (min-width: 480px) {
	.sp_only {
		display: none!important;
	}
}
@media screen and (max-width: 960px) {
	/* 960px以下に適用されるCSS（タブレット用） */
	body {
		font-size: 17px;
	}
	
	h2 {
		font-size: 32px;
		margin: 0 25px;
	}
	.container {
		width: 95%;
	}
	.header_reserve li {
		padding: 10px;
	}
	.header_logo {
		width: 15%;
	}
	.header_reserve ul li + li {
		margin-left: 30px;
	}
	.header_reserve_btn {
		height: 40px;
	}
	#mv_message {
		top: 300px;
		left: 24px;
		padding: 20px 25px;
	}
	#mv_message p {
    font-size: 25px;
	}
	#concept_inner {
		width: 95%;
		padding: 4rem 0;
	}
	#concept_inner::before {
		top: 266px;
	}
	.concept_text {
		width: 52%;
		padding: 40px 20px;
	}
	.worry_content {
		flex-direction: column;
		align-items: center;
	}
	.worry_img {
		margin-bottom: 10px;
		width: 50%;
	}
	.worry_text {
		padding: 20px;
		width: 85%;
	}
	.worry_title {
		padding-bottom: 20px;
	}
	.worry_description {
		padding-top: 20px;
	}
	#reserve_message_top p {
		font-size: 30px;
	}
	.reserve_inner {
		width: 90%;
	}
	.reserve_flex {
		flex-direction: column;
	}
	.reserve_btn_tel {
		margin: 0;
	}
	.reserve_btn_web {
		margin-left: 0;
		margin: 15px 0 0 0;
	}
	h3 {
		font-size: 28px;
	}
	.kodawari01_content {
		flex-direction: column-reverse;
	}
	.kodawari01_flex {
		margin-top: 40px;
	}
	.kodawari01_text {
		margin-top: 30px;
		width: 90%;
	}
	.kodawari01_title {
		align-items: center;
	}
	.kodawari01_title_txt {
		font-size: 28px;
	}
	.kodawari01_point {
		width: 47%;
	}
	.kodawari01_img {
		width: 70%;
	}
	.rgba {
		padding: 20px;
	}
	.kodawari02_point_inner {
		width: 47%;
	}
	.kodawari02_content_text span {
		font-size: 32px;
	}
	.kodawari02_content_title {
		font-size: 25px;
	}
	.kodawari02_point_description {
		padding: 40px 20px;
	}
	#teethcleaning {
		padding-top: 80px;
	}
	#teethcleaning h2 {
		margin-bottom: 50px;
	}
	#teethcleaning .teethcleaning_description {
		padding: 20px 0;
	}
	#teethcleaning .teethcleaning_img {
		width: 100%;
	}
	.forkids_content {
		width: 90%;
		padding: 13rem 0 3rem;
	}
	.forkids_content_txt {
		width: 85%;
		margin: 8rem auto 0 auto;
	}
	.forkids_fea_title span {
		font-size: 35px;
	}
	.forkids_content_txt_description {
		padding: 0 35px;
	}
	.forkids_fea_content, .foradult_content {
		width: 90%;
		margin: 90px auto 0 auto;
	}
	.forkids_fea_content_flex {
		flex-direction: column;
		padding: 50px;
	}
	.forkids_fea_content_flex_txt {
		width: 85%;
		margin-left: 0;
		margin-top: 15px;
	}
	.forkids_fea_content_flex_img {
		display: flex;
		width: 70%;
		margin: 0 auto;
	}
	.forkids_fea_content_flex_img img {
		width: 50%;
	}
	.forkids_fea_content_flex_img img+img {
		margin: 0 0 0 10px;
		width: 50%;
	}
	#foradults_feature {
		margin-top: 0;
	}
	.foradults_fea_content {
		width: 90%;
		margin: 0 auto 50px auto;
	}
	.foradults_fea_title {
		font-size: 32px;
	}
	.foradults_fea_content_title {
		padding: 30px;
		font-size: 28px;
	}
	.foradults_fea_flex {
		margin: 20px;
	}
	.foradults_fea_img {
		width: 50%;
		margin-right: 10px;
	}
	.reserve_message_bottom_txt {
		width: 680px;
		height: 210px;
	}
	.reserve_message_bottom_txt span {
		font-size: 23px;
	}
	#footer {
		padding-top: 60px;
	}
	#footer_flex {
		flex-direction: column;
	}
	#footer_right {
		width: 100%;
	}
	.footer_reserve {
		margin: 40px auto;
	}
	.footer_web_reserve {
		padding: 20px 20px 10px;
	}
	.tbl_info {
		margin: 40px 0;
	}
	.tbl_txt {
		margin-bottom: 50px;
	}
	.parking {
		margin: 0 auto 30px;
		font-size: 32px;
		padding: 15px 0;
	}
	.site-link {
		width: 67%;
	}
	.youtube {
		padding: 40px 0;
	}
	.youtube-ttl {
		width: 45%;
	}
	.youtube-movie {
		width: 80%;
	}
	.youtube::before,
	.youtube::after {
		width: 95%;
	}
	.youtube::after {
		bottom: 70px;
	}
	.reserve_message_top_img img {
		width: 100%;
	}
}

@media screen and (max-width: 480px) {
	/* 480px以下に適用されるCSS（スマホ用） */
	.pc_only {
		display: none!important;
	}
	body {
		font-size: 15px;
	}
	h2 {
		font-size: 20px;
		padding-top: 2rem;
	}
	h2::after {
		content: url("../img/h2_bg_sp.png");
		top: 54px;
	}
	.container {
		padding-top: 30px;
	}
	#header {
		padding: 0;
	}
	#header_inner {
		position: fixed;
		z-index: 20;
		background-color: rgba(205,248,188,0.45);
		width: 100%;
		padding: 10px;
        top: 0;
	}
	.header_logo {
		margin: 0 auto;
	}
	.header_reserve {
		display: none;
	}
	#mv_message {
		top: 230px;
		left: 10px;
		padding: 4px;
		width: 63%;
	}
	#mv_message p {
		font-size: 16px;
	}
	#mv_message::before {
		content: url("../img/mv_icon01_sp.png");
	}
	#mv_message::after {
		content: url("../img/mv_icon02_sp.png");
		top: 0;
	}
	#concept {
		background-image: url("../img/concept_background_sp.png");
	}
	#concept_inner {
		padding: 1rem 0;
	}
	.concept_ttl {
		width: 100%;
		margin: 0 auto;
	}
	#concept_inner::before,
	#concept_inner::after {
		display: none;
	}
	.concept_img_top, .concept_img_bottom {
		width: 60%;
		padding: 10px 0;
	}
	.concept_img_bottom {
		margin-left: auto;
	}
	.concept_text {
		width: 90%;
		padding: 10px;
	}
	.concept_text_description {
		margin: 20px auto 0 auto;
	}
	.worry_ttl::after {
		top: 68px;
	}
	.worry_img {
		width: 80%;
	}
	.worry_title {
		font-size: 18px;
		padding-bottom: 10px;
	}
	.worry_text {
		width: 95%;
		padding: 10px;
		border-radius: 30px;
	}
	#reserve_message_top p {
		font-size: 16px;
		width: 57%;
	}
	.reserve_wrapper {
		padding: 50px 0;
	}
	.reserve_inner {
		padding: 30px 0;
	}
	.reserve_title {
		font-size: 20px;
	}
	.reserve_flex {
		margin: 20px auto 0 auto;
	}
	.reserve_btn {
		width: auto;
		font-size: 20px;
		padding: 10px;
	}
	.reserve_icon {
		padding: 10px;
		margin-right: 15px;
	}
	.reserve_btn_web span {
		font-size: 15px;
		max-width: 90px;
	}
	#kodawari01 {
		padding-top: 80px;
	}
	.kodawari01_description {
		padding: 30px 0;
	}
	h3 {
		font-size: 18px;
		height: 27px;
	    border-bottom: 10px solid #CCCCFF;
	}
	.kodawari01_img {
		width: 100%;
	}
	.kodawari01_text {
		width: 95%;
	}
	.kodawari01_number {
		margin-right: 10px;
		width: 15%;
	}
	.kodawari01_title_txt {
		font-size: 17px;
	}
	.kodawari01_flex {
		margin-top: 20px;
	}
	.kodawari01_point {
		padding: 15px;
		margin: 15px auto;
		width: 100%;
		border-radius: 25px;
	}
	.rgba {
		padding: 20px;
		flex-direction: column;
	}
	.kodawari02_content_img, .kodawari02_content_text {
		width: 100%;
	}
	.kodawari02_content_title {
		font-size: 17px;
	}
	.kodawari02_point_inner {
		margin: 30px 0;
		width: 100%;
	}
	.kodawari02_point_description {
		padding: 20px 10px;
	}
	.kodawari02_content_txt {
		margin-top: 20px;
	}
	.kodawari02_point_title {
		height: 50px;
	}
	.kodawari02_list ul li {
		font-size: 17px;
	}
	.forkids_content::before,
	.foradult_content::before {
		display: none;
	}
	.forkids_content_txt {
		width: 100%;
		position: static;
		margin-top: 2rem;
	}
	.forkids_content_txt_title {
		margin-top: 30px;
		font-size: 22px;
	}
	.forkids_content_txt_description {
		margin: 30px auto;
		padding: 0px 20px;
	}
	.forkids_content {
		padding: 3rem 0;
	}
	.forkids_fea_title {
		background: none;
		padding: 25px;
		position: static;
	}
	.forkids_fea_title::before {
		content: url("../img/forkids_fea_title_sp.png");
	}
	.forkids_fea_title span {
		display: block;
		font-size: 17px;
	}
	.forkids_fea_content_flex_img,
	.forkids_fea_content_flex_txt {
		width: 90%;
	}
	.forkids_fea_content {
		margin: 40px auto 0 auto;
	}
	.forkids_fea_content_flex {
		padding: 30px;
	}
	.forkids_fea_content_flex_txt_title {
		font-size: 20px;
	}
	.forkids_fea_content_flex_txt_title span {
		font-size: 15px;
	}
	.foradult_content {
		padding: 0;
	}
	.foradults_fea_title::before {
		content: url("../img/forkids_fea_title_sp.png");
		top: 9px;
	}
	.foradults_fea_title {
		font-size: 17px;
		margin-bottom: 40px;
		padding: 25px;
	}
	.foradults_fea_content {
		border-radius: 30px;
	}
	.foradults_fea_content_title {
    	padding: 10px;
    	font-size: 16px;
		border-radius: 30px 30px 0 0;
	}
	.foradults_fea_flex {
		flex-direction: column;
	}
	.foradults_fea_img {
		margin-right: 0;
		margin-bottom: 10px;
		width: 100%;
	}
	.foradults_fea_txt {
		width: 100%;
	}
	#reserve_message_bottom {
		margin-top: 70px;
		padding: 10px 0;
	}
	.reserve_message_bottom_txt {
		width: 300px;
    	height: 190px;
	}
	.reserve_message_bottom_txt span {
		font-size: 18px;
	}
	#footer_flex {
		margin: 0 15px;
	}
	.footer_reserve {
		margin: 25px auto;
		font-size: 20px;
		padding: 10px;
		width: 80%;
	}
	.footer_web_reserve {
		padding: 10px 5px;
    	margin: 10px auto;
		font-size: 15px;
		max-width: 145px;
	}
	.reserve01::after {
		left: 55px;
		top: 20px;
		font-size: 13px;
	}
	.reserve02::after {
		left: 55px;
		top: 20px;
		font-size: 13px;		
	}
	.footer_web_txt {
		font-size: 15px;
		margin-top: 15px;
	}
	.tbl_info {
		margin: 20px 0;
	}
	.tbl_info th, .tbl_info td {
		font-size: 15px;
	}
	.tbl_txt {
		margin-bottom: 0;
	}
	.footer_right_title {
		font-size: 18px;
		margin-top: 40px;
		margin-bottom: 15px;
	}
	.footer_right_flex {
		flex-wrap: wrap;
	}
	.footer_right_flex li {
		margin-bottom: 10px;
		width: 45%;
	}
	.footer_right_flex li img {
		width: 100%;
	}
	.parking {
		font-size: 16px;
		width: 95%;
		padding: 5px;
	}
	.site-link {
		width: 95%;
	}
	.youtube {
		padding: 0;
	}
	.youtube::after {
		bottom: 35px;
	}
	.youtube-ttl {
		width: 70%;
	}
	.youtube-movie {
		width: 90%;
		margin: 25px auto;
	}
    #mv_img {
    height: 30vh;
        margin-top: 43px;
}
    #mv_img img {
    height: 30vh;
    object-fit: cover;
}
}