.reno_wp{
grid-area:auto;
}
#sec_01,#sec_02,#sec_03,#sec_04,#sec_05{
margin: 0;
background: white;
}
/*キャッチコピー*/
#sec_01{
padding: 100px 0;
margin-top: -65px;
}
#sec_01 .grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
max-width: 1200px;
margin: 0 auto;
}
#sec_01 .card {
background-color: #fff;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease;
display: flex;
flex-direction: column;
}
#sec_01 .card:hover {
transform: translateY(-5px);
}
#sec_01 .card img {
width: 100%;
height: 200px;
object-fit: cover;
}
#sec_01 .card-text {
padding: 1.5rem;
}
#sec_01 .card-text h2 {
font-size: 1.2rem;
margin-bottom: 0.8rem;
color: #FF7C6B;
}
#sec_01 .card-text p {
font-size: 0.95rem;
line-height: 1.6;
color: #333;
}
@media (max-width: 500px) {
#sec_01 .card-text h2 {
font-size: 1rem;
}
}

/*院長あいさつ*/
#sec_02{
background-color: #ffefe8;
padding: 50px 0;
width: 100%;
}
.director-section {
display: flex;
flex-direction: row-reverse;
max-width: 1200px;
min-height: 700px;
margin: 60px auto;
background-color: #ffffff;
box-shadow: 0 0 15px rgba(0,0,0,0.05);
border-radius: 12px;
overflow: hidden;
}
.director-text {
flex: 1;
padding: 40px 50px;
display: flex;
flex-direction: column;
justify-content: center;
}
.director-text h2 {
font-size: 2.7em;
margin-bottom: 10px;
color: #FF7C6B;
}
.director-text h3 {
font-size: 24px;
margin-bottom: 5px;
}
.director-text .title {
font-size: 17px;
color: #666;
margin-bottom: 20px;
}
.director-text .profile {
font-size: 16px;
line-height: 1.8;
}
.director-image {
flex: 1;
background-image: url('http://umygame8.xsrv.jp/tomo-dent/wp-content/uploads/2023/04/eb281e_73662e1fe0af444e89ac3267d6250b2emv2.webp');
background-size: cover;
background-position: center;
min-height: 400px;
}
/* レスポンシブ対応 */
@media (max-width: 768px) {
.director-section {
flex-direction: column;
}
.director-image {
height: 300px;
}
.director-text {
padding: 30px;
}
}

/*ボタン*/
.button-wrapper {
margin-top: 30px;
display: flex;
justify-content: center;
}
.intro-button {
display: inline-block;
padding: 10px 20px;
background-color: #1e90ff;
color: white;
text-decoration: none;
font-size: 14px;
border-radius: 20px;
transition: all 0.2s ease, visibility 0s;
border-radius: 20px;
background: 0% 0% / auto auto linear-gradient(90deg, #fbb8e8 0%, #f98576 100%);
box-shadow: 1.41px 1.41px 5px #B6B6B6;
max-width: 170px;
width: 100%;
text-align: center;
}
.intro-button:hover {
opacity: .7;
}

.features-alt-section {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px 60px;
display: flex;
flex-direction: column;
gap: 30px;
}
.feature-alt {
display: flex;
align-items: center;
gap: 40px;
flex-wrap: wrap;
background: white;
padding: 50px;
border-radius: 12px;
}
.feature-alt.reverse {
flex-direction: row-reverse;
}
.feature-image {
flex: 1;
min-width: 280px;
}
.feature-image img {
width: 100%;
border-radius: 16px;
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
object-fit: cover;
}
.feature-text {
flex: 1;
}
.feature-text h4 {
font-size: 24px;
margin-bottom: 16px;
color: #FF7C6B;
}
.feature-text p {
font-size: 16px;
line-height: 1.8;
}
/* レスポンシブ対応 */
@media (max-width: 768px) {
.feature-alt,
.feature-alt.reverse {
flex-direction: column;
}
.features-alt-section {
padding: 0 15px 60px;
}
.feature-alt{
padding: 25px;
}
}

/*当院が皆様から選ばれる　ポイント*/
#sec_03{
padding-top: 100px;
}
#sec_03 .heading__title{
margin-bottom: 80px;
}
#sec_03 .section {
display: flex;
width: 100vw;
height: 500px;
}
#sec_03 .section:nth-child(even) {
flex-direction: row-reverse;
}
.image-half {
width: 50%;
background-size: cover;
background-position: center;
}
.text-half {
width: 50%;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
padding: 40px;
}
#sec_03 .section:nth-child(even) .text-half{
background: #fff0e8;
}
.text-half .content {
max-width: 500px;
}
.text-half h3 {
font-size: 24px;
margin-bottom: 15px;
color: #333;
}
.text-half p {
font-size: 16px;
line-height: 1.6;
}
.section-number {
font-size: 40px;
font-weight: bold;
color: #F0ACA3;
text-align: center;
margin-bottom: 10px;
font-family: 'Segoe UI', sans-serif;
}
@media (max-width: 768px) {
#sec_03 .section {
flex-direction: column !important;
height: auto;
}
.text-half{
padding: 25px;
}
.image-half,
.text-half {
width: 100%;
height: auto;
}
.image-half {
height: 200px;
}
#sec_03 .section:last-of-type .image-half{
background-position: 50% 20%;
}
#sec_03 {
padding-top: 50px;
}
#sec_03 .heading__title {
margin-bottom: 30px;
padding: 0 15px;
}
}

/*診療項目*/
#sec_04{
background: #ffefe8;
padding: 100px 0;
}
#sec_04 .heading__title{
margin-bottom: 80px;
}
#sec_04 h2 {
text-align: center;
font-size: 32px;
margin-bottom: 40px;
}
#sec_04 .services {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 20px;
max-width: 1000px;
margin: auto;
}
.service-card {
background-color: #fff;
border-radius: 12px;
box-shadow: 0 2px 10px rgb(240 172 164);
padding: 20px;
text-align: center;
transition: transform 0.2s, box-shadow 0.2s;
text-decoration: none;
color: inherit;
position: relative;
min-height: 365px;
}
.service-card:hover {
transform: translateY(-4px);
box-shadow: 0 6px 16px #F0ACA3;
}
.service-card .fas {
font-size: 30px;
color: #F0ACA3;
margin: 0 auto 10px;
}
.fa-tooth{
background: url(../images/fa-tooth.webp);
background-size: 30px;
width: 30px;
height: 30px;
}
.fa-child{
background: url(../images/fa-child.webp);
background-size: 30px;
width: 30px;
height: 30px;
}
.fa-teeth,.fa-user-md{
background: url(../images/fa-teeth.webp);
background-size: 30px;
width: 30px;
height: 30px;
}
.fa-heartbeat{
background: url(../images/fa-heartbeat.webp);
background-size: 30px;
width: 30px;
height: 30px;
}
.fa-teeth{
background: url(../images/fa-teeth.webp);
background-size: 30px;
width: 30px;
height: 30px;
}
.fa-shield-alt{
background: url(../images/fa-shield-alt.webp);
background-size: 30px;
width: 30px;
height: 30px;
}
.fa-screwdriver{
background: url(../images/fa-screwdriver.webp);
background-size: 30px;
width: 30px;
height: 30px;
}
.fa-star{
background: url(../images/fa-star.webp);
background-size: 30px;
width: 30px;
height: 30px;
}
.fa-smile{
background: url(../images/fa-smile.webp);
background-size: 30px;
width: 30px;
height: 30px;
}
.service-title {
font-size: 18px;
font-weight: bold;
margin-bottom: 8px;
}
.service-desc {
font-size: 14px;
color: #555;
line-height: 1.5;
text-align: left;
}
.service-card span{
color: #F0ACA3;
font-size: 14px;
font-weight: bold;
position: absolute;
bottom: 21px;
left: 0;
right: 0;
margin: auto;
}
@media (max-width: 600px) {
.service-card .fas {
font-size: 26px;
}
#sec_04 {
padding: 50px 0;
}
#sec_04 .heading__title {
margin-bottom: 30px;
padding: 0 15px;
}
}


#sec_05{
width: 100%;
margin-bottom: 0;
}
#sec_05 .concept {
position: relative;
width: 100%;
height: auto;
display: flex;
align-items: center;
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
background-image: url('../images/sec_05.jpg');
}

#sec_05 .concept-content {
margin-left: auto;
width: 50%;
background: rgba(255,255,255,0.85);
padding: 30px 70px;
box-sizing: border-box;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
}

#sec_05 .concept h2 {
font-size: 25px;
margin-top: 15px;
color: #ff6a57;
}
#sec_05 .concept h2.font_9{
color: #2e2e2e;
}

#sec_05 .concept p {
font-size: 15px;
line-height: 1.6;
}

/* モバイル対応 */
@media (max-width: 768px) {
#sec_05 .concept {
flex-direction: column;
height: auto;
background-attachment: scroll;
}
#sec_05 .concept-content {
width: 100%;
margin: 0;
padding: 20px;
}
#sec_05 .concept {
background-image: none;
}
#sec_05:after{
content: '';
background: url('../images/sec_05.jpg');
background-size: cover;
display: block;
width: 100%;
height: 300px;
}
}

/* モバイル対応 */
@media (max-width: 768px) {
#sec_01 .grid,
#sec_02 .director-section,
#sec_04 .services {
margin-left: 15px;
margin-right: 15px;
}
}
.sm-none{
display: none;
}
@media (max-width: 576px) {
.sm-none{
display: block;
}
}

/* 小児矯正 */
#child_correction{
	font-size:14px;
	line-height: 1.8rem;
}
#child_correction h2 {
      font-family: avenir-lt-w01_35-light1475496, avenir-lt-w05_35-light, sans-serif;
	font-size: 25px;
	color:rgb(46, 46, 46);
	    text-align: center;
	font-weight:normal;
	margin:5rem auto 3rem;
    }
#child_correction .flow-container {
max-width: 1000px;
margin: 0 auto;
position: relative;
}

#child_correction .step {
background: #fff;
border-radius: 20px;
padding: 1.5rem;
margin-bottom: 3rem;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
position: relative;
}
#child_correction .step::after {
    content: '';
    width: 32px;
    height: 16px;
    margin-left: -16px;
    background: url(../images/arrow-down.png) no-repeat center center;
    position: absolute;
    bottom: -34px;
    left: 50%;
}
#child_correction .step:last-child::after{
	display:none;
}

/* #child_correction .step::before {
content: "";
position: absolute;
top: 0;
left: -1.5rem;
width: 12px;
height: 12px;
background: #ff7c6b;
border-radius: 50%;
border: 4px solid #fff;
box-shadow: 0 0 0 2px #ff7c6b;
}

#child_correction .step::after {
content: "";
position: absolute;
top: 30px;
left: -0.9rem;
width: 2px;
height: 95%;
background: #ccc;
}

#child_correction .step:last-child::after {
display: none;
} */

#child_correction .step-number {
font-size: 1.2rem;
font-weight: bold;
color: #ff7c6b;
margin-bottom: 0.5rem;
	font-family:'メイリオ', meiryo, 'ヒラギノ角ゴ pro w3', 'hiragino kaku gothic pro', sans-serif;
	font-weight:normal;
}

#child_correction .step-title {
font-size: 1.5rem;
color: #2c3e50;
margin-bottom: 0.5rem;
}

#child_correction .step-content {
color: #555;
line-height: 1.8;
}

@media (max-width: 600px) {

#child_correction .step {
padding: 1rem;
}

#child_correction .step-title {
font-size: 1.3rem;
}
}
    #child_correction section {
      background: white;
      margin: 2rem auto;
      padding: 2rem;
      border-radius: 20px;
      max-width: 1000px;
      box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    }
    #child_correction .qa {
      background: #fefefe;
      border-left: 5px solid #ff7c6b;
      padding: 1rem;
      margin: 1rem 0 2rem;
    }
    #child_correction .qa strong {
      display: block;
      margin-bottom: 0.5rem;
      color: #ff7c6b;
		font-size: 18px;
		font-family:'メイリオ', meiryo, 'ヒラギノ角ゴ pro w3', 'hiragino kaku gothic pro', sans-serif;
	font-weight:normal;
    }
.images_{
	position:relative;
	width: 100%;
    max-width: 980px;
    margin: 9.5rem auto 5.5rem;
    position: relative;
    display: -ms-flex;
    display: flex;
		box-sizing: border-box;
}
.images_ .txt{
	width: 55%;
    padding: 50px;
	    left: 0px;
    right: auto;
	bottom: 65px;
    top: auto;
	position:absolute;
	background-color: #fff;
	box-shadow: 0px 0px 16px 1px rgba(251, 184, 232, 0.31);
	    border-radius: 20px;
}
.images_ .txt h3{
	    color: #ff7c6b;
    font-size: 20px;
    margin-bottom: 1.25rem;
	font-family:'メイリオ', meiryo, 'ヒラギノ角ゴ pro w3', 'hiragino kaku gothic pro', sans-serif;
	font-weight:normal;
}
.images_ .img{
	margin-left: auto;
	flex: 0 0 55%;
    max-width: 55%;
}
.images_ .img img{
	    width: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    display: block;
}
.images_.reverse .txt{
	    left: auto;
    right: 0;
}
.images_.reverse .img{
	margin-right: auto;
	margin-left: 0;
}
.images_blocks{
	    background-color: #dec3b8;
	    box-sizing: border-box;
	position:relative;
	margin: 3rem 0;
}
.images_blocks .inner{
		width: 100%;
    max-width: 100%;
    margin: 0;
    position: relative;
    display: -ms-flex;
    display: flex;
}
.images_blocks .txt{
	width: 54%;
    padding: 65px 6%;
    -webkit-box-shadow: none;
    box-shadow: none;
    background-color: #ffe5d9;
    -webkit-border-radius: 0px;
    border-radius: 0px;
    right: 6%;
	top: 50%;
	    transform: translateY(-50%);
    position: absolute;
	z-index: 1;
}
.images_blocks .txt h3{
	    margin-bottom: 1.25rem;
	font-size:20px;
	font-weight:normal;
}
.images_blocks .img{
	    min-height: 816.75px;
	flex: 0 0 56%;
    max-width: 56%;
	position: relative;
}
.images_blocks .img img{
	    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
	width: 100%;
    object-fit: cover;
    object-position: right;
    display: block;
}
#child_correction .box{
	    padding: 55px 75px;
	max-width: 980px;
    margin: 0 auto 2rem;
    background-color: #fff;
    -webkit-border-radius: 20px;
    border-radius: 20px;
	box-shadow: 0px 0px 16px 1px rgba(251, 184, 232, 0.31);
}
#child_correction .box h3{
	color: #ff7c6b;
    font-size: 20px;
    margin-bottom: 1.25rem;
	font-family:'メイリオ', meiryo, 'ヒラギノ角ゴ pro w3', 'hiragino kaku gothic pro', sans-serif;
	font-weight:normal;
}
#child_correction .txts_{
	text-align:center;
}
#child_correction .images_box{
	background-color: #fce3ea;
	padding:3rem 0;
}
#child_correction .images_box .inner{
    max-width: 980px;
    margin: 0px auto 2rem;
    padding: 35px 45px;
    background-color: #fff;
    -webkit-border-radius: 20px;
    border-radius: 20px;
    display: flex;
    align-items: center;
	gap: 25px;
}
#child_correction .images_box .inner:last-child{
	margin-bottom:0;
}
#child_correction .images_box .img{
	max-width: 300px;
	max-height:200px;
	flex:1;
}
#child_correction .images_box .txt{
	flex:3;
}
#child_correction .images_box .img img{
	object-fit:cover;
}
#child_correction .bg_pinks{
	background-color: #fce3ea;
	padding:3rem 0;
}

@media (max-width: 992px) {
	.images_ {
		margin: 3.5rem auto;
	}
	.images_ .txt{
		width:calc(100% - 30px);
		position:unset;
		margin:0 auto 25px;
	}
	.images_{
		flex-wrap:wrap;
	}
	.images_ .img {
    	margin-left: 0;
		flex: 0 0 100%;
		max-width:100%;
	}
	.images_blocks .inner {
		flex-direction: column;
	}
	.images_blocks .img {
    min-height: 100%;
    flex: 0 0 100%;
    max-width: 100%;
    position: relative;
}
	.images_blocks .img img{
		position:unset;
	}
	.images_blocks .txt {
    width:calc(100% - 30px);
    transform: translateY(0);
		position: unset;
		margin:2rem auto;
	}
	#child_correction .images_box .inner {
		width:calc(100% - 30px);
    max-width: 100%;
		flex-direction: column;
	}
	#child_correction .images_box .img {
    max-width: 100%;
    margin-left: 0;
}
	#child_correction .box,#child_correction .step,#child_correction section {
		max-width: 100%;
		width:calc(100% - 30px);
	}
	#child_correction .step{
		margin-left:auto;
		margin-right:auto;
	}
	#child_correction .box,.images_ .txt,#child_correction .images_box .inner {
		padding: 30px 25px;
	}
}

/*mt*/
.mt_2{margin-top:2rem!important;}
.mt_3{margin-top:3rem!important;}
.mt_4{margin-top:4rem!important;}
.mt_5{margin-top:5rem!important;}
/*mb*/
.mb_2{margin-bottom:2rem!important;}
.mb_3{margin-bottom:3rem!important;}
.mb_4{margin-bottom:4rem!important;}
.mb_5{margin-bottom:5rem!important;}

/*インスタ調整*/
@media(max-width:768px){
#sbi_images{
	justify-content: center;
}
.instagram__block #sb_instagram #sbi_images .sbi_item{
	max-width:45%;
}
}