/* CSS Document */
@import url(navi.css);
@import url(common.css);
/* 2023.02.04 マイナンバーカードバナー導入のためflexに変更 */

#header {
		display: flex;
		justify-content: space-between;
		width: 100%;
		height: 178px;
		margin: 0 auto;
  	min-width: 1200px;
}

#headl {
		width: 230px;
		padding:  25px 0 0 0;
		text-align: center;
}


#headl img {
    width: 121px;
    height: auto;
}
#headc {
    width: auto;
    /*float: left;  -------- flexに変更のため削除 */
    padding: 90px 0 0 0;
}
#headl h1, #headl h4 {
    width: 155px;
    height: 21px;
    text-indent: 110%;
    white-space: nowrap;
    overflow: hidden;
    font-size: 1.1em;
    margin: 0 auto;
    padding: 0;
    background: url(../img/common/title.png) no-repeat;
    background-size: contain;
}
#headl h1 a, #headl h4 a {
    width: 155px;
    height: 21px;
    display: block;
}



/*ーーーーーーーここからーーーーーーーーー*/

.my-number-pc {
	width: 250px;
	padding: 95px 20px 0 0;
	margin: 0 auto;
    margin-right: 0px;
}

.my-number-pc img {
		width: 100%;	
}

.my-number-sp {
	display: none;
}


/*  ここまで  */

#headr {
    width: 244px;
    /*float: right;  -------- flexに変更のため削除 */
    padding: 20px 45px 0 0;
}
#headr p {
    margin: 0;
    padding: 0;
}
#headr p.btnc a {
    background-color: #1E752D;
    width: 100%;
    text-align: center;
    color: #ffffff;
    padding: 5px 0;
    display: block;
    text-decoration: none;
}
#headr p.btnc a:hover {
    background-color: #134D1D;
}
/*#headr p.btnr a {
			background-color: #A3B333;
			width: 49.5%;
			float: left;
			text-align: center;
			color: #ffffff;
			padding: 5px 0;
			display: block;
			text-decoration: none;
		}
		
		#headr p.btnr a:hover {background-color: #88952B;}*/
#headr img.yoyaku {
    width: 244px;
    height: 38px;
}
.center {
    text-align: center;
}
/*-------smp------------------------*/
@media screen and (max-width: 640px) {
/*    #header {
        width: 100%;
        height: auto;
        min-width: 200px;
    }
    #headl {
        width: 60%;
        float: none;
        margin: 0 auto;
        padding: 0;
        text-align: center;
        position: absolute;
        left: 0;
        top: 15px;
    }*/
	
		#header {
				flex-wrap: wrap;
				width: 100%;
        height: auto;
        min-width: 200px;
		}
	
		#headl {
        width: 60%;
				text-align: center;
			
		}
	
    #headl img {
        display: none;
    }
    #headc {
        width: auto;
        float: left;
        padding: 90px 0 0 0;
    }
    #headl h1, #headl h4 {
        font-size: 1em;
        line-height: 100%;
    }
	
	/*ーーーーーーーここからーーーーーーーーー*/
		.my-number-pc {
				display: none;
				padding: 0;
		}
		
		.my-number-sp {
				display: block;
				width: 90%;
				margin: 0 auto;
		}
	
		.my-number-sp img {
				width: 100%;
		}
	
	/*ーーーーーーーここまでーーーーーーーーー*/
	
	
    #headr {
        width: 90%;
        /*float: none;  -------- flexに変更のため削除 */
        margin: 0 auto;
        padding: 0;
        text-align: center;
    }
    #headr img, #headr img.yoyaku {
        width: 49%;
        height: auto;
    }
    #headr p.btnc a {
        width: 100%;
        text-align: center;
        padding: 5px 0;
        display: block;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        text-decoration: none;
    }
    #headr p.btnc a:hover {
        background-color: #134D1D;
    }
}
/*------------------------------
求人ボタン部分
2018.06.05
------------------------------*/
#headr p.index {
    margin: 0;
    padding: 0;
    width: 50%;
    float: left;
}
#headr p.btnc2 a {
    background-color: #FF8000;
    width: 100%;
    text-align: center;
    color: #ffffff;
    padding: 5px 0;
    display: block;
    text-decoration: none;
    transition-duration: 0.3s; /*変化に掛かる時間*/
}
#headr p.btnc2 a:hover {
    background-color: #B25900;
    transition-duration: 0.3s; /*変化に掛かる時間*/
}
/*-------smp------------------------*/
@media screen and (max-width: 640px) {
    #headr p.btnc2 a {
        width: 100%;
        text-align: center;
        padding: 5px 0;
        display: block;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        text-decoration: none;
    }
}
/*--求人↑↑↑↑↑↑↑↑↑↑↑↑-----------*/
#main {
    width: 100%;
    height: 490px;
}
/*	#main.clin {background: url(../img/clinic/main.jpg) no-repeat; background-size: cover;}
	#main.exam {background: url(../img/exam/main.jpg) no-repeat; background-size: cover;}
	#main.tour {background: url(../img/tour/main.jpg) no-repeat; background-size: cover;}
	#main.cont {background: url(../img/contact/main.jpg) no-repeat; background-size: cover;}
	#main.tooth {background: url(../img/mushi/main.jpg) no-repeat; background-size: cover;}
	*/
#main #map_canvas2 {
    width: 100%;
    height: 490px;
}
/*スポーツマウスガード追記　20240624*/
#clin1 h1, #clin2 h2, #dr h1, #exam h1, #tour1 h1, #tour2 h2, #contact h1, #acs h1, #exam2 h2, #exam3 h2, #tooth h1, #tooth h2, #pp h1, #cerec h1, #cerec h2, #cdme h1, #sportsmouthguard h1, #sportsmouthguard h2 {
    font-size: 1.8em;
    margin: 0 auto;
    text-align: center;
    padding: 0 0 15px 0;
    border-bottom: 1px solid #d6d6d6;
    font-weight: normal;
}
#clin1 h1, #clin2 h2, #dr h1, #exam h1, #tour1 h1, #tour2 h2, #contact h1, #acs h1, #exam2 h2, #cerec h1, #tooth h1 {
    width: 260px;
}
#tooth h2 {
    width: 300px;
}
#tooth h2#wid {
    width: 350px;
}
#pp h1 {
    width: 380px;
}
#cdme h1 {
    width: 500px;
}
.themewaku1 {
    width: 300px;
    margin: 0 auto 30px auto;
    padding: 15px 0 0px 0;
    background-color: #F3F5E5;
}
.themewaku3 {
    width: 420px;
    margin: 0 auto 30px auto;
    padding: 15px 0 0px 0;
    background-color: #F3F5E5;
}
/*スポーツマウスガード追記　20240624*/
#clin1 p.eng, #clin2 p.eng, #dr p.eng, #exam p.eng, #tour p.eng, #contact p.eng, #acs p.eng, #tooth p.eng, #pp p.eng, #cerec p.eng, #sportsmouthguard p.eng {
    font-size: 0.8em;
    text-align: center;
    padding: 10px 0 10px 0;
    letter-spacing: 0.3em;
    margin: 0;
}
#tooth p.jpn {
    font-size: 1em;
    text-align: center;
    padding: 10px 0 10px 0;
    letter-spacing: 0.3em;
    margin: 0;
}
.gr {
    color: #20983A;
    font-size: 1.2em;
    border: 3px solid #d6d6d6;
    padding: 15px;
}
.yell {
    background: linear-gradient(transparent 70%, yellow 70%);
}
/*-------smp------------------------*/
@media screen and (max-width: 640px) {
    #main {
        width: 100%;
        height: 200px;
    }
    #main #map_canvas2 {
        height: 200px;
    }
    #clin1 h1, #clin2 h2, #dr h1, #exam h1, #tour1 h1, #tour2 h2, #contact h1, #acs h1, #exam2 h2, #exam3 h2, #tooth h1, #tooth h2, #pp h1 {
        font-size: 1.4em;
        margin: 0 auto;
        text-align: center;
        padding: 0 0 15px 0;
        border-bottom: 1px solid #d6d6d6;
        font-weight: normal;
    }
    #clin1 h1, #clin2 h2, #dr h1, #exam h1, #tour1 h1, #tour2 h2, #contact h1, #acs h1, #exam2 h2, #tooth h1, #tooth h2, #pp h1, #cerec h1, #cerec h2 {
        width: 90%;
    }
    #clin1 p.eng, #clin2 p.eng, #dr p.eng, #exam p.eng, #tour p.eng, #contact p.eng, #acs p.eng, #tooth p.eng, #pp p.eng, #cerec p.eng {
        padding: 10px 0 20px 0;
    }
    #tooth p.jpn {
        padding: 10px 0 20px 0;
    }
    .themewaku1 {
        width: 100%;
        margin: 0 auto 30px auto;
        padding: 20px 0 0px 0;
        background-color: #F3F5E5;
    }
    .themewaku3 {
        width: 100%;
        margin: 0 auto 30px auto;
        padding: 20px 0 0px 0;
        background-color: #F3F5E5;
    }
}
/*--個人情報保護方針-------------------------------------------------------*/
#pp {
    width: 800px;
    margin: 0 auto;
    padding: 53px 0 40px 0;
}
#pp p.name {
    text-align: right;
    padding: 0 0 20px 0;
}
#pp h2 {
    font-size: 1.2em;
    padding: 20px 0;
    margin: 0;
}
/*-------smp------------------------*/
@media screen and (max-width: 640px) {
    #pp {
        width: 90%;
        margin: 0 auto;
        padding: 30px 0 20px 0;
    }
    #pp p.name {
        text-align: left;
        padding: 0;
        margin: 0 0 20px 0;
    }
}
/*--虫歯についてほか-------------------------------------------------------*/
#tooth {
    width: 100%;
}
#tooth1, #tooth2, #tooth3, #tooth4 {
    width: 985px;
    margin: 0 auto;
    text-align: center;
    padding: 53px 0 0 0;
    max-width: 1500px;
}
#tooth .waku {
    width: 100%;
    padding: 20px 0 30px 0;
    text-align: left;
}
#tooth .wakul {
    width: 500px;
    float: left;
    text-align: left;
}
#tooth h3 {
    font-size: 1.6em;
    color: #1E742C;
    margin: 0;
    padding: 0 0 20px 0;
    font-weight: normal;
}
#tooth p {
    margin: 0;
    padding: 0;
}
#tooth p.big {
    font-size: 1.6em;
    color: #1E742C;
    margin: 0;
    padding: 20px 0;
    text-align: center;
}
#tooth .center {
    text-align: center;
}
#tooth p.clr {
    padding: 20px;
    clear: both;
    box-sizing: border-box;
}
#tooth p.clr strong {
    font-size: 1.4em;
    color: #ED6191;
}
#tooth .waku .sbox {
    width: 20%;
    margin: 10px 0;
    padding: 10px;
    box-sizing: border-box;
    float: left;
    border: 1px solid #d6d6d6;
    text-align: center;
}
#tooth .waku img.imgl {
    float: left;
    margin: 0 30px 0 0;
}
#tooth .waku .sboxr {
    width: 20%;
    margin: 10px 0;
    padding: 10px;
    box-sizing: border-box;
    float: left;
    border: 1px solid #d6d6d6;
    border-left: none;
    text-align: center;
}
#tooth .waku .sboxr p, #tooth .waku .sbox p {
    font-size: 0.9em;
}
#tooth .waku .sboxr img, #tooth .waku .sbox img {
    margin: 15px 0;
}
#tooth p {
    text-align: left;
    font-size: 0.95em;
}
#tooth .waku p.big {
    font-size: 1.5em;
    color: #1E742C;
    margin: 0;
    padding: 0;
}
#tooth .waku p.mbig {
    font-size: 1em;
    color: #1E742C;
    margin: 0 0 5px 0;
    padding: 5px 0;
    text-align: center;
    background-color: #f6f6f6;
}
#tooth .wakur {
    width: 430px;
    float: right;
    text-align: center;
}
#tooth .wakur .btn1 {
    display: block;
    text-align: center;
}
#tooth .wakur p.big {
    font-size: 1.4em;
    color: #1E742C;
    margin: 0;
    padding: 20px 0;
    text-align: center;
}
#tooth table {
    width: 800px;
    margin: 0 auto 30px auto;
    background-color: #d6d6d6;
    border-spacing: 1px;
}
#tooth table td, #tooth table th {
    background-color: #ffffff;
    padding: 3px 5px;
    text-align: left;
    font-weight: normal;
}
#tooth table td p, #tooth table th p {
    font-size: 1.2em;
    text-align: center;
}
#tooth table th p.tt {
    font-size: 1.2em;
    text-indent: 15px;
    text-align: left;
}
#tooth table th {
    background-color: #f6f6f6;
}
#tooth table td.bg {
    background-color: #FBEFEF;
}
#tooth p.w800 {
    width: 800px;
    margin: 0 auto 20px auto;
}
#tooth .iwaku {
    width: 100%;
    border: 3px solid #d6d6d6;
    clear: both;
    margin: 0 0 40px 0;
}
#tooth .iwakul {
    width: 20%;
    padding: 15px;
    box-sizing: border-box;
    float: left;
    background-color: #f6f6f6
}
#tooth .iwakuc {
    width: 40%;
    float: left;
    padding: 15px;
    box-sizing: border-box;
    text-align: center;
}
#tooth .iwakuc p {
    text-align: left;
    padding: 5px 10px;
}
#tooth .iwaku img {
    width: auto;
    max-width: 100%;
    height: auto;
}
#tooth .iwaku h3 {
    font-size: 1em;
    color: #1E742C;
    margin: 0 0 5px 0;
    padding: 5px 0;
    text-align: center;
    background-color: #f6f6f6;
}
#tooth .iwaku p.md {
    font-size: 1em;
    color: #1E742C;
    margin: 0;
    padding: 5px 10px 0 10px;
    text-align: left;
}
#tooth .iwaku ul {
    text-align: left;
}
#tooth .iwaku ul li {
    list-style: circle;
    margin: 0 0 0 30px;
}
#tooth .iwaku ul li p {
    margin: 0;
    padding: 0;
}
#tooth #flow {
    width: 700px;
    margin: 0 auto;
    padding-bottom: 150px;
}
#tooth #flow .gwaku {
    width: 100%;
    padding: 20px;
    border: 3px solid #65B672;
    background-color: #F7F7F7;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    box-sizing: border-box;
    text-align: left;
}
#tooth #flow .gwaku img {
    float: right;
    margin: 0 0 0 30px;
}
#tooth #flow h3 {
    color: #006633;
    font-size: 1.6em;
    margin: 0;
    padding: 0 0 10px 0;
    font-weight: bold;
}
#tooth1 p.w700 {
    width: 700px;
    margin: 0 auto;
    padding: 0;
}
/*--smp----------------------------------*/
@media screen and (max-width: 640px) {
    #tooth {
        width: 100%;
    }
    #tooth1, #tooth2, #tooth3, #tooth4 {
        width: 90%;
        margin: 0 auto;
        text-align: center;
        padding: 30px 0 0 0;
        max-width: 640px;
    }
    #tooth1 p.w700 {
        width: 90%;
        margin: 0 auto;
        padding: 0;
    }
    #tooth img {
        max-width: 100%;
        height: auto;
    }
    #tooth .waku {
        padding: 0 0 30px 0;
    }
    #tooth .wakul {
        width: 100%;
        float: none;
        text-align: left;
    }
    #tooth h3 {
        font-size: 1.4em;
        padding: 10px 0 20px 0;
    }
    #tooth p.clr {
        padding: 20px;
        clear: both;
        box-sizing: border-box;
    }
    #tooth p.clr strong {
        font-size: 1.4em;
        color: #ED6191;
    }
    #tooth .waku .sbox {
        width: 100%;
        margin: 10px 0;
        padding: 10px;
        box-sizing: border-box;
        float: none;
    }
    #tooth .waku img.imgl {
        float: left;
        margin: 0 30px 0 0;
    }
    #tooth .waku .sboxr {
        width: 100%;
        margin: 10px 0;
        padding: 10px;
        box-sizing: border-box;
        float: none;
        border: 1px solid #d6d6d6;
        text-align: center;
    }
    #tooth .waku .sboxr p, #tooth .waku .sbox p {
        font-size: 0.9em;
    }
    #tooth .waku .sboxr img, #tooth .waku .sbox img {
        margin: 15px 0;
    }
    #tooth p {
        text-align: left;
        font-size: 0.95em;
    }
    #tooth .waku p.big {
        font-size: 1.2em;
        color: #1E742C;
        margin: 0;
        padding: 0;
    }
    #tooth .waku p.mbig {
        font-size: 1em;
        color: #1E742C;
        margin: 0 0 5px 0;
        padding: 5px 0;
        text-align: center;
        background-color: #f6f6f6;
    }
    #tooth .wakur {
        width: 100%;
        float: none;
        padding: 20px 0;
    }
    #tooth .wakur .btn1 {
        display: block;
        text-align: center;
    }
    #tooth .wakur p.big {
        font-size: 1.4em;
        color: #1E742C;
        margin: 0;
        padding: 20px 0;
        text-align: center;
    }
    #tooth table {
        width: 100%;
        margin: 0 auto 30px auto;
        background-color: #d6d6d6;
        border-spacing: 1px;
    }
    #tooth table td, #tooth table th {
        background-color: #ffffff;
        padding: 3px 5px;
        vertical-align: top;
        text-align: left;
        font-weight: normal;
    }
    #tooth table th {
        background-color: #f6f6f6;
    }
    #tooth p.w800 {
        width: 100%;
        margin: 0 auto 20px auto;
    }
    #tooth .iwaku {
        width: 100%;
        border: 3px solid #d6d6d6;
        clear: both;
        margin: 0 0 40px 0;
    }
    #tooth .iwakul {
        width: 100%;
        text-align: center;
        padding: 15px;
        box-sizing: border-box;
        float: left;
        background-color: #f6f6f6
    }
    #tooth .iwakuc {
        width: 100%;
        float: left;
        padding: 15px;
        box-sizing: border-box;
        text-align: center;
    }
    #tooth .iwakuc p {
        text-align: left;
        padding: 5px 10px;
    }
    #tooth .iwaku img {
        width: auto;
        max-width: 100%;
        height: auto;
    }
    #tooth .iwaku h3 {
        font-size: 1em;
        color: #1E742C;
        margin: 0 0 5px 0;
        padding: 5px 0;
        text-align: center;
        background-color: #f6f6f6;
    }
    #tooth .iwaku p.md {
        font-size: 1em;
        color: #1E742C;
        margin: 0;
        padding: 5px 10px 0 10px;
        text-align: left;
    }
    #tooth .iwaku ul {
        text-align: left;
    }
    #tooth .iwaku ul li {
        list-style: circle;
        margin: 0 0 0 30px;
    }
    #tooth .iwaku ul li p {
        margin: 0;
        padding: 0;
    }
    #tooth #flow {
        width: 100%;
        margin: 0 auto;
        padding-bottom: 150px;
    }
    #tooth #flow .gwaku {
        width: 100%;
        padding: 20px;
    }
    #tooth #flow .gwaku img {
        float: right;
        margin: 0 0 0 15px;
        max-width: 45%;
        height: auto;
    }
    #tooth #flow h3 {
        color: #006633;
        font-size: 1.3em;
    }
}
/*--アクセス-------------------------------------------------------*/
#acs {
    width: 1270px;
    margin: 0 auto;
    text-align: center;
    padding: 53px 0 0 0;
    max-width: 1500px;
}
#acs .riben {
    width: 1270px;
    margin: 0 auto;
    padding: 0 0 0 0;
}
#acs .ribenl {
    width: 30%;
    float: left;
    text-align: left;
}
#acs .ribenl h3 {
    font-size: 1.6em;
    text-align: center;
    margin: 0;
    padding: 0 0 20px 0;
}
#acs .ribenl h4 {
    font-size: 1.4em;
    color: #27993A;
    margin: 0 0 20px 0;
    padding: 0 10px;
    font-weight: normal;
}
#acs .ribenl p {
    margin: 0 10px;
    padding: 0 0 20px 0;
}
#acs .riben .img {
    width: 100%;
    white-space: nowrap;
}
#acs .ribenl .img img {
    max-width: 20%;
    height: auto;
    display: block;
    float: left;
}
#acs .ribenl table {
    width: 100%;
    border-spacing: 1px;
    background-color: #d6d6d6;
    margin: 0 0 20px 0;
}
#acs .ribenl table p {
    margin: 0;
    padding: 0;
}
#acs .ribenl table th, #acs .ribenl table td {
    padding: 3px 5px;
    background-color: #ffffff;
    font-size: 0.95em;
    text-align: center;
    font-weight: normal;
}
#acs .ribenl table th {
    background-color: #f6f6f6;
}
#acs .ribenr {
    width: 65%;
    float: right;
}
#acs .ribenr #map_canvas {
    width: 100%;
    height: 300px;
}
#acs .ribenr .cal {
    border: 5px solid #f6f6f6;
    padding: 40px;
    margin: 0 0 30px 0;
}
#acs .ribenr .cal iframe {
    width: 100%;
}
/*------smp---------------------------*/
@media screen and (max-width: 640px) {
    #acs {
        width: 100%;
        margin: 0 auto;
        text-align: center;
        padding: 30px 0 0 0;
        max-width: 640px;
    }
    #acs .riben {
        width: 90%;
        margin: 0 auto;
        padding: 0 0 0 0;
    }
    #acs .ribenl {
        width: 100%;
        float: none;
        text-align: left;
        font-size: 0.9em;
    }
    #acs .ribenl table {
        width: 100%;
        border-spacing: 1px;
        background-color: #d6d6d6;
        margin: 0 0 20px 0;
    }
    #acs .ribenl table th, #acs .ribenl table td {
        padding: 3px 3px;
    }
    #acs .ribenr {
        width: 100%;
        float: none;
    }
    #acs .ribenr #map_canvas {
        width: 100%;
        height: 300px;
    }
    #acs .ribenr .cal {
        border: 5px solid #f6f6f6;
        padding: 10px;
        margin: 0 0 30px 0;
    }
}
/*--お問合せ-------------------------------------------------------*/
#contact {
    width: 700px;
    margin: 0 auto;
    text-align: center;
    padding: 53px 0 0 0;
    max-width: 1500px;
}
#contact h2 {
    font-size: 2em;
    margin: 0 0 10px 0;
    padding: 0;
}
#contact p {
    margin: 0;
    padding: 0 0 10px 0;
    font-size: 1em;
}
.telc a {
    color: #006633;
    text-decoration: none;
}
#contact dl {
    width: 700px;
    margin: 0;
    text-align: left;
}
#contact #dc2 dl {
    float: right;
    width: 400px;
    margin: 0;
    text-align: right;
}
#contact dt {
    float: left;
    width: 150px;
    clear: both;
    padding: 5px 0;
    border-top: 1px dotted #cccccc;
}
#contact dd {
    width: auto;
    padding: 5px 0;
    margin-left: 150px;
    border-top: 1px dotted #cccccc;
}
#contact dd p, #contact dt p {
    margin: 0;
    padding: 0;
}
/* 20211013 hakuho */
@media (max-width: 767px) {
    #contact .wrap {
        padding: 1em 0 2em;
    }
    #contact .wrap br {
        didplay: none;
    }
}
@media (min-width: 768px) {
    #contact .wrap {
        padding: 2em 0 5em;
    }
}
#contact a.telnum {
    font-size: 120%;
    font-weight: bold;
    color: #006633 !important;
}
/* PCでは電話発信しない */
@media (max-width: 767px) {
    #contact a.telnum[href^="tel:"] {
        color: blue;
        text-decoration: underline;
    }
}
@media (min-width: 768px) {
    #contact a.telnum[href^="tel:"] {
        pointer-events: none;
        color: #000;
        text-decoration: none;
    }
}
/*------smp---------------------------*/
@media screen and (max-width: 640px) {
    #contact {
        width: 100%;
        margin: 0 auto;
        text-align: center;
        padding: 53px 0 0 0;
        max-width: 1500px;
    }
    #contact p {
        margin: 0 5%;
        text-align: left;
    }
    #contact dl {
        width: 90%;
        margin: 0 auto 30px auto;
        text-align: left;
    }
    #contact #dc2 dl {
        float: none;
        width: 100%;
    }
    #contact dt {
        float: none;
        width: 100%;
        clear: both;
        padding: 5px 0;
        border-top: 1px dotted #cccccc;
    }
    #contact dd {
        width: auto;
        padding: 0 0 5px 0;
        margin-left: 0;
        border-top: none;
    }
}
/*---採用案内用　2018.06.05-------*/
#contact p.rect {
    margin: 0;
    padding: 30px 0;
    font-size: 1em;
    text-align: left;
}
#contact h2.rec {
    font-size: 1.8em;
    margin: 0 0 10px 0;
    padding: 20px 0 20px 0;
    font-weight: 500;
}
#contact p.tnum a {
    padding: 0 0 30px 0;
    margin: 0 auto 20px auto;
    display: block;
    font-weight: 500;
    font-size: 26px;
    color: #006633;
}
#contact p.tnum a strong {
    font-size: 1.2em;
}
/*------smp---------------------------*/
@media screen and (max-width: 640px) {
    #contact p.rect {
        padding: 30px 5%;
    }
    #contact h2.rec {
        font-size: 1.4em;
    }
}
/*----院内ツアー-----------------------------------------------------*/
#tour {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
#tour1 {
    width: 80%;
    padding: 53px 0 70px 0;
    margin: 0 auto;
}
#tour1 .box {
    width: 23%;
    margin: 10px 1%;
    float: left;
}
#tour1 .box img {
    width: 100%;
    height: auto;
}
#tour2 {
    width: 985px;
    padding: 53px 0 70px 0;
    margin: 0 auto;
}
#tour .wbox {
    width: 985px;
    margin: 40px auto;
    padding: 0;
    background-color: #ffffff;
    text-align: left;
    -webkit-box-shadow: 0px 0px 3px #ccc;
    -moz-box-shadow: 0px 0px 3px #ccc;
    box-shadow: 0px 0px 3px #ccc;
}
#tour .wbox img {
    float: left;
    margin: 0 30px 0 0;
    display: block;
}
#tour .wbox .txt {
    width: 650px;
    float: right;
}
#tour .wbox h3 {
    font-size: 1.4em;
    margin: 0;
    padding: 20px 0 20px 0;
}
#tour .wbox p {
    margin: 0;
    padding: 0 20px 20px 0;
}
/*------smp---------------------------*/
@media screen and (max-width: 640px) {
    #tour {
        width: 100%;
        margin: 0 auto;
        text-align: center;
    }
    #tour1 {
        width: 90%;
        padding: 30px 0 40px 0;
        margin: 0 auto;
    }
    #tour1 .box {
        width: 48%;
    }
    #tour2 {
        width: 100%;
        padding: 30px 0 40px 0;
    }
    #tour .wbox {
        width: 90%;
        margin: 20px auto;
        padding: 10px;
        box-sizing: border-box;
    }
    #tour .wbox img {
        float: none;
        margin: 0 0 10px 0;
        width: 100%;
        height: auto;
    }
    #tour .wbox .txt {
        width: 100%;
        float: none;
    }
    #tour .wbox h3 {
        font-size: 1.2em;
        margin: 0;
        padding: 10px 0 10px 0;
    }
    #tour .wbox p {
        margin: 0;
        padding: 0 0 5px 0;
    }
}
/*----クリニック-----------------------------------------------------*/
#clin {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
#clin1, #clin2 {
    width: 700px;
    padding: 53px 0 70px 0;
    margin: 0 auto;
}
#clin1 p, #clin2 p {
    margin: 0;
    padding: 0;
    line-height: 200%;
    text-align: left;
}
#clin2 dl {
    width: 100%;
    margin: 0;
    text-align: left;
}
#clin2 dt {
    float: left;
    width: 120px;
    clear: both;
    padding: 5px 0;
}
#clin2 dd {
    width: auto;
    padding: 5px 0;
    margin-left: 120px;
}
/*------smp---------------------------*/
@media screen and (max-width: 640px) {
    #clin1, #clin2 {
        width: 90%;
        padding: 30px 0 40px 0;
        margin: 0 auto;
    }
    #clin1 p, #clin2 p {
        margin: 0;
        padding: 0;
        line-height: 200%;
        text-align: left;
    }
    #clin2 dl {
        font-size: 0.9em;
    }
    #clin2 dt {
        width: 100px;
    }
    #clin2 dd {
        margin-left: 100px;
    }
}
/*--ドクター紹介-------------------------------------------------------*/
#dr {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 53px 0 0 0;
    max-width: 1500px;
}
#dr #dc1 {
    width: 50%;
    height: 337px;
    background: url(../img/dr/d1.jpg) no-repeat right;
    padding: 100px 50% 0 0;
    text-align: right;
}
#dr #dc2 {
    width: 50%;
    height: 337px;
    background: url(../img/dr/d2.jpg) no-repeat left #EEEEEE;
    padding: 100px 0 0 50%;
    text-align: left;
}
#dr #dc3 {
    width: 50%;
    height: 337px;
    background: url(../img/dr/d3.jpg) no-repeat right;
    padding: 100px 50% 0 0;
    text-align: right;
}
#dr h2 {
    font-size: 2em;
    margin: 0 0 10px 0;
    padding: 0;
}
#dr p {
    margin: 0;
    padding: 0 0 10px 0;
    font-size: 1em;
}
#dr dl p {
    margin: 0;
    padding: 0;
}
#dr dl {
    width: 400px;
    margin: 0;
    text-align: right;
    float: right;
}
#dr #dc2 dl {
    float: left;
    width: 400px;
    margin: 0;
    text-align: left;
}
#dr dt {
    float: left;
    width: 120px;
    clear: both;
    padding: 5px 0;
    border-top: 1px dotted #cccccc;
}
#dr dd {
    width: auto;
    padding: 5px 0;
    margin-left: 120px;
    border-top: 1px dotted #cccccc;
}
#dr .dot {
    background: url(../img/common/back.jpg) repeat;
    padding: 20px 0;
}
#dr .dot p {
    padding: 10px 30px;
    border: 1px solid #d6d6d6;
    width: 940px;
    margin: 0 auto;
    text-align: left;
}
/*------smp---------------------------*/
@media screen and (max-width: 640px) {
    #dr {
        padding: 30px 0 0 0;
        max-width: 640px;
    }
    #dr dl {
        float: none;
    }
    #dr #dc1 {
        width: 90%;
        height: auto;
        padding: 230px 5% 30px 5%;
        text-align: left;
        background-size: auto 200px;
        background-position: center top;
    }
    #dr #dc2 {
        clear: both;
        width: 90%;
        height: auto;
        padding: 230px 5% 30px 5%;
        text-align: left;
        background-size: auto 200px;
        background-position: right top;
    }
    #dr #dc3 {
        clear: both;
        width: 90%;
        height: auto;
        padding: 30px 5% 30px 5%;
        text-align: left;
        background: none;
    }
    #dr h2 {
        font-size: 1.6em;
        margin: 0 0 10px 0;
        padding: 0;
    }
    #dr p {
        margin: 0;
        padding: 0 0 10px 0;
        font-size: 1em;
    }
    #dr dl {
        width: 100%;
        margin: 0;
        text-align: left;
    }
    #dr #dc2 dl {
        float: none;
        width: 100%;
        margin: 0;
        text-align: left;
    }
    #dr dt {
        float: left;
        width: 100px;
        clear: both;
        padding: 5px 0;
        border-top: 1px dotted #cccccc;
    }
    #dr dd {
        width: auto;
        padding: 5px 0;
        margin-left: 100px;
        border-top: 1px dotted #cccccc;
    }
    #dr .dot {
        background: url(../img/common/back.jpg) repeat;
        padding: 20px 0;
    }
    #dr .dot p {
        padding: 10px;
        border: 1px solid #d6d6d6;
        width: 90%;
        margin: 0 auto;
        box-sizing: border-box;
        text-align: left;
    }
}
/*----診療のご案内-----------------------------------------------------*/
#exam {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 0 0 30px 0;
}
#exam1 {
    width: 700px;
    padding: 53px 0 30px 0;
    margin: 0 auto;
}
#exam1 p {
    margin: 0;
    padding: 0;
    line-height: 200%;
    text-align: left;
}
#exam1 p.rrigh {
    text-align: right;
    padding: 10px 0 0 0;
}
#exam .box {
    width: 985px;
    height: auto;
    clear: both;
    margin: 40px auto;
    background-color: #FBFBFE;
    text-align: left;
}
#exam .box h2 {
    font-size: 1.4em;
    margin: 0;
    padding: 20px 0 0 0;
}
#exam .box img {
    float: left;
    margin: 0 30px 0 0;
    display: block;
}
#exam .txt {
    width: 650px;
    float: right;
    padding-bottom: 20px;
}
#exam .box p {
    float: left;
    width: 612px;
    margin: 0;
    padding: 20px 10px 0 0;
}
#exam h3 {
    font-size: 1.6em;
    text-align: center;
    padding: 30px 0;
}
#exam .dot {
    background: url(../img/common/back.jpg) repeat;
    padding: 10px 0 40px 0;
    width: 985px;
    margin: 0 auto;
}
#exam2, #exam3 {
    width: 985px;
    padding: 80px 0 30px 0;
    margin: 0 auto;
}
#exam2 p {
    margin: 0;
    padding: 0;
    line-height: 200%;
    text-align: left;
}
#exam2 p strong {
    font-size: 1.4em;
    line-height: 220%;
    color: #1E752D;
}
#exam2 img.imgr {
    float: right;
    margin: 0 0 0 30px;
}
/*------smp---------------------------*/
@media screen and (max-width: 640px) {
    #exam {
        width: 90%;
        padding: 0 0 30px 0;
    }
    #exam1 {
        width: 100%;
        padding: 30px 0 20px 0;
        margin: 0 auto;
    }
    #exam img {
        max-width: 100%;
        height: auto;
    }
    #exam .box {
        width: 100%;
        height: auto;
        margin: 30px auto;
        padding: 0 0 20px 0;
    }
    #exam .txt {
        width: 100%;
        float: none;
    }
    #exam .box img {
        float: none;
        width: 100%;
        height: auto;
        margin: 0 auto 10px auto;
        display: block;
    }
    #exam .box p {
        float: none;
        width: 90%;
        margin: 0 5% 10px 5%;
        padding: 0;
    }
    #exam .box .btn1 {
        display: block;
        margin: 0 0 5px 0;
    }
    #exam .box h2 {
        font-size: 1.4em;
        margin: 0;
        padding: 20px 5% 20px 5%;
    }
    #exam h3 {
        font-size: 1.4em;
        padding: 10px 0 20px 0;
    }
    #exam .dot {
        padding: 10px 5% 20px 5%;
        width: 90%;
        margin: 0 auto;
    }
    #exam2, #exam3 {
        width: 100%;
        padding: 80px 0 30px 0;
        margin: 0 auto;
    }
    #exam2 img, #exam3 img {
        max-width: 100%;
        height: auto;
    }
    #exam2 p strong {
        font-size: 1.3em;
    }
    #exam2 img.imgr {
        float: none;
        width: 100%;
        height: auto;
        margin: 0 0 10px 0;
    }
}
/*-------------------------------------------------*/
/*---------お知らせ--------------------------------------------------------*/
#info {
    width: 1000px;
    padding: 30px 0;
    margin: 0 auto;
}
/*--smp----------------------------------*/
@media screen and (max-width: 640px) {
    #info {
        width: 100%;
        margin: 0 auto;
        background-size: 70%;
        border-top: 1px solid #d6d6d6;
    }
}
/*--------お知らせの段組み---------*/
#infor {
    width: 230px;
    float: right;
    text-align: left;
}
#infol {
    width: 720px;
    float: left;
    padding: 0 0 0 0;
    text-align: left;
}
#infol p {
    margin: 0;
    padding: 0;
}
#infol h1 {
    margin: 0;
    padding: 0 0 20px 0;
    font-size: 1.8em;
    line-height: 140%;
}
#infol img {
    width: auto;
    max-width: 100%;
    margin: 20px 0;
    height: auto;
}
#infor h2 {
    font-size: 1.6em;
    padding: 10px 0 20px 0;
    font-weight: normal;
    text-align: left;
    color: #1A9EA1;
}
#infor p {
    margin: 0 0 5px 0;
    padding: 5px;
    font-size: 0.9em;
}
#infor p a {
    text-decoration: underline;
}
#infor p.slc {
    margin: 0 0 5px 0;
    padding: 5px;
    border: 1px solid #d6d6d6;
    text-decoration: none;
}
#infor p.slc a {
    text-decoration: none;
}
#infol p .small {
    margin: 0;
    padding: 5px 10px;
    font-size: 0.85em;
}
#infol .pixw {
    width: 100%;
    padding: 20px 0 0 0;
}
#infol .pixw img {
    height: 115px;
    width: auto;
}
#infol dl {
    width: 100%;
    padding: 0;
    margin: 0;
    text-align: left;
    font-size: 1em;
    border-bottom: 1px dotted #cccccc;
}
#infol dt {
    float: left;
    border-top: 1px dotted #cccccc;
    width: 180px;
    padding: 5px 0 5px 0;
    clear: both;
}
#infol dd {
    margin-left: 180px;
    border-top: 1px dotted #cccccc;
    padding: 5px 0 5px 5px;
}
/*--smp----------------------------------*/
@media screen and (max-width: 640px) {
    #infor {
        width: 100%;
        float: none;
        padding: 20px;
        box-sizing: border-box;
        text-align: left;
    }
    #infol {
        width: 100%;
        float: none;
        padding: 20px;
        box-sizing: border-box;
        text-align: left;
    }
    #infol h1 {
        margin: 0;
        padding: 0 0 20px 0;
        font-size: 1.2em;
        line-height: 160%;
        font-weight: normal;
    }
    #infol dl {
        width: 100%;
        padding: 0;
        margin: 0;
        text-align: left;
        font-size: 0.9em;
        border-bottom: 1px dotted #cccccc;
    }
    #infol dt {
        float: none;
        border-top: 1px dotted #cccccc;
        width: 100%;
        padding: 5px 0 0 0;
        clear: both;
    }
    #infol dd {
        margin-left: 0;
        border-top: none;
        padding: 0 0 5px 0;
    }
    #infol img {
        max-width: 100%;
        height: auto;
    }
    #infor h2 {
        font-size: 1.6em;
        padding: 10px 0 20px 0;
        font-weight: normal;
        text-align: left;
    }
    #infor p {
        margin: 0 0 5px 0;
        padding: 5px;
        border: 1px solid #ffffff;
    }
    #infor p.slc {
        margin: 0 0 5px 0;
        padding: 5px;
        border: 1px solid #d6d6d6;
        text-decoration: none;
    }
    #infor p.slc a {
        text-decoration: none;
    }
    #infol p .small {
        margin: 0;
        padding: 5px 10px;
        font-size: 0.85em;
    }
    #infol .pixw {
        width: 100%;
        padding: 20px 0 0 0;
    }
    #infol .pixw img {
        height: 80px;
        width: auto;
    }
}
/*-----------------------セレック治療--------------------------------------------*/
.cerec_wrap {
    width: 880px;
    margin: 0 auto;
    padding: 20px 0 60px 0;
    text-align: center;
}
.cerecl {
    width: 400px;
    float: left;
}
.cerecr {
    width: 460px;
    float: right;
    text-align: left;
}
.cerec_wrap h3 {
    font-size: 1.3em;
    margin: 0;
    padding: 20px 0 20px 0;
}
.cerec_wrap p {
    font-size: 1em;
    margin: 0;
    padding: 0;
}
.cerec_wrap iframe {
    margin: 5px;
}
.cerec_f {
    width: 840px;
    margin: 0 auto 20px auto;
    padding: 20px;
    -webkit-box-shadow: 0px 0px 3px #888;
    -moz-box-shadow: 0px 0px 3px #888;
    box-shadow: 0px 0px 3px #888;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background-color: #ffffff;
    text-align: left;
}
.cerec_f p {
    overflow: auto;
}
.cerec_fl {
    width: 840px;
    margin: 0 auto 0px auto;
    padding: 20px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background-color: #ffffff;
    text-align: left;
    border: 3px solid #27993A;
}
.cerec_f img {
    float: left;
    margin: 20px 30px 20px 0;
}
.cerec_fl img {
    float: left;
    margin: 0px 30px 0px 0;
}
.cerec_f h3, .cerec_fl h3 {
    font-size: 1.5em;
    margin: 0;
    padding: 0 0 10px 0;
}
.cerec_wrap video {
    width: 45%;
    height: auto;
}
/*--smp----------------------------------*/
@media screen and (max-width: 640px) {
    #cerec {
        padding: 30px 0 0 0;
        width: 90%;
        margin: 0 auto;
    }
    #cerec img {
        max-width: 100%;
        height: auto;
    }
    .cerec_wrap {
        width: 100%;
        margin: 0 auto;
        padding: 0px 0 30px 0;
        text-align: center;
    }
    .cerec_wrap iframe {
        margin: 0 5px;
        max-width: 100%;
    }
    .cerecl, .cerecr {
        width: 100%;
        float: none;
    }
    .cerecl img {
        width: 100%;
        height: auto;
    }
    .cerec_wrap h3 {
        font-size: 1.1em;
        margin: 0;
        padding: 0px 0 20px 0;
    }
    .cerec_wrap p {
        font-size: 0.9em;
        margin: 0;
        padding: 0;
        text-align: left;
    }
    .cerec_f {
        width: 100%;
        margin: 0 auto 20px auto;
        padding: 15px;
        text-align: left;
        box-sizing: border-box;
    }
    .cerec_f p {
        overflow: inherit;
    }
    .cerec_fl {
        width: 100%;
        box-sizing: border-box;
        margin: 0 auto 0px auto;
        padding: 20px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        background-color: #ffffff;
        text-align: left;
        border: 3px solid #27993A;
    }
    .cerec_f img {
        float: none !important;
        margin: 0px 0px 10px 0;
        max-width: 30%;
        height: auto;
    }
    .cerec_fl img {
        float: none;
        margin: 0px 0px 10px 0;
        max-width: 100%;
        height: auto;
    }
    .cerec_f h3, .cerec_fl h3 {
        font-size: 1.2em;
        margin: 0;
        padding: 0 0 10px 0;
    }
}
/*-----------------------セレック治療追加--------------------*/
.serecimg {
    background: url(../img/cerec/demerit/back.jpg) no-repeat bottom right;
    padding-bottom: 60px;
}
#cdme {
    width: 850px;
    margin: 0 auto;
    padding: 50px 0 100px 0;
    text-align: center;
}
.cerec_f img {
    float: left;
    margin: 10px 30px 10px 0;
}
#cdme p {
    margin: 0 30px;
    padding: 10px 0;
    text-align: left;
}
#cdme h3 {
    margin: 30px 30px;
    padding: 10px 20px;
    background-color: #f6f6f6;
    -webkit-border-radius: 35px;
    -moz-border-radius: 35px;
    border-radius: 35px;
    text-align: center;
    font-size: 1.1em;
}
/*--smp----------------------------------*/
@media screen and (max-width: 640px) {
    .serecimg {
        background: none;
        padding-bottom: 20px;
    }
    #cdme {
        width: 100%;
        margin: 0 auto;
        padding: 30px 0 100px 0;
    }
    #cdme h3 {
        padding: 5px 0;
        line-height: 160%;
        font-size: 1.2em;
        font-weight: 500;
        margin-bottom: 0;
        background-color: #ffffff;
        ;
        width: auto;
    }
    #cdme p {
        margin: 0;
        padding: 0 0 20px 0;
        text-align: left;
    }
    #cdme p.nami {
        padding: 10px 10px 20px 10px;
        font-size: 0.95em;
        margin: 0;
    }
    #cdme p.grw {
        margin: 30px 0px;
        padding: 10px 20px;
        text-align: left;
        background-color: #f6f6f6;
        -webkit-border-radius: 15px;
        -moz-border-radius: 15px;
        border-radius: 15px;
    }
    #cdme p.grw img {
        height: 40vw;
        width: auto;
    }
}
/*--2022.12.04 矯正治療追加----------------*/
.icon {
    font-family: "Font Awesome 5 Free";
    padding-right: 6px;
    color: #1e742c;
    font-style: normal;
}
.orthodontics {
    letter-spacing: 0.05rem;
}
#tooth .orthodontics h2 {
    width: 100%;
    margin-bottom: 30px;
    color: #1e742c;
}
#tooth .orthodontics h3 {
    color: #1e742c;
    padding-bottom: 10px;
}
.flex-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.flex-box .flex-txt {
    width: calc(100% - 480px);
}
.prob-wrap .flex-box li {
    width: calc(20% - 16px);
    margin-right: 20px;
}
.prob-wrap .flex-box li:last-child {
    margin-right: 0;
}
.prob-wrap .flex-box img {
    width: 100%;
}
#tooth .prob-wrap ul p {
    text-align: center;
}
#tooth .prob-wrap .prob-txt {
    padding-top: 30px;
}
.effects {
    padding: 0 20px;
    margin: 40px 0;
}
.effects h4 {
    color: #1e742c;
    font-size: 18px;
    font-weight: 400;
    padding-bottom: 10px;
}
.effects ul {
    margin-left: 14px;
}
.effects ul li {
    list-style: inherit;
}
.pros {
    margin: 40px 0;
}
#tooth .pros p {
    padding-bottom: 10px;
}
.pros i {
    font-weight: 600;
}
.variety-box {
    margin-top: 24px;
}
.variety-box h4 {
    background-color: #b1dab6;
    color: #1e742c;
    font-size: 18px;
    padding: 14px;
}
.variety .flex-box {
    align-items: center;
}
.variety-box .flex-box p {
    width: calc(100% - 300px);
}
.flex-box img {
    object-fit: cover;
}
.variety-box .flex-box div {
    width: calc(50% - 10px);
    border: 1px solid #1e742c;
    padding: 10px;
    box-sizing: border-box;
    margin-bottom: 24px;
}
.variety-child {
    height: 130px;
}
.variety-child2 {
    height: 155px;
}
.variety-child3 {
    height: 180px;
}
.flex-box h5 {
    font-size: 18px;
    font-weight: 400;
    padding-bottom: 10px;
}
.variety-box .flex-box li {
    list-style: inherit;
    margin-left: 14px;
}
/* kids */
.kids-prob {
    width: calc(100% - 475px);
}
.kids-prob h4 {
    padding: 24px 14px;
}
.kids-prob ul {
    padding: 0 14px 14px;
}
.flex-box .caution {
    width: 100%;
}
#tooth .flex-box .caution p {
    font-weight: 500;
    text-align: center;
    padding-top: 20px;
    padding-bottom: 60px;
    color: #1e742c;
    font-size: 16px;
}
.caution p i {
    font-weight: 600;
    font-size: 18px;
}
.green {
    color: #1e742c;
}
.flex-kids {
    justify-content: center;
    margin-top: 24px;
}
.kids-pros, .kids-cons {
    border: 1px solid #1e742c;
    padding: 14px 0;
    line-height: 2;
    width: calc(50% - 2px);
}
.kids-cons {
    margin-left: -1px;
}
.flex-kids h4 {
    padding: 0 14px 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid #1e742c;
    text-align: center;
}
.kids-cons ul, .kids-pros ul {
    padding: 0 14px;
}
.kids-pros ul li, .kids-cons ul li {
    list-style: inherit;
    margin-left: 20px;
}
.orthodontist {
    text-align: right;
    font-size: 0.95em;
}
#tooth #flow .gwaku {
    background-color: #fcfcfc;
    border-color: #1e742c;
}
/*--smp----------------------------------*/
@media screen and (max-width: 640px) {
    .reverse h2 {
        order: 1;
    }
    .reverse img {
        order: 2;
    }
    .reverse p {
        order: 3;
    }
    #tooth .flex-box p, .variety-box .flex-box p {
        width: auto;
    }
    #tooth .flex-box h2 {
        margin-bottom: 20px;
    }
    .flex-box img {
        margin: 0 auto;
        padding: 20px 0;
    }
    .flex-box ul {
        font-size: 0.95em;
    }
    .prob-wrap .flex-box li {
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
        width: calc(50% - 10px);
        margin-right: 0;
        padding: 15px 0 0;
    }
    .variety-box {
        margin-top: 0;
    }
    .variety-box h4 {
        margin-top: 20px;
    }
    .variety-box .reverse img {
        padding: 0;
    }
    .variety-box .flex-box div {
        margin-bottom: 0;
    }
    .variety-box .flex-box .variety-child, .variety-box .flex-box .variety-child2, .variety-box .flex-box .variety-child3 {
        margin: 20px 0;
    }
    .variety-box .flex-box .variety-child:first-child, .variety-box .flex-box .variety-child2:first-child, .variety-box .flex-box .variety-child3:first-child {
        margin-bottom: 0;
    }
    .variety-child2 {
        height: auto;
    }
    .variety-box .flex-box img {
        height: 150px;
    }
    .variety-box .flex-box .plate {
        height: 190px;
    }
    .variety-box .flex-box div {
        width: 100%;
    }
    .flex-box h5 {
        font-size: 16px;
        padding-bottom: 5px;
    }
    .kids-prob {
        width: 100%;
        order: 3;
    }
    .caution {
        order: 4;
    }
    #tooth .flex-box .caution p {
        padding-bottom: 20px;
    }
    .kids-pros, .kids-cons {
        width: 100%;
        margin: 0;
    }
    .kids-cons {
        margin-top: -1px;
    }
    .orthodontics h2 span {
        display: block;
        padding-top: 3px;
    }
    .orthodontist {
        text-align: left;
        padding: 10px 0;
    }
    #tooth .orthodontics #flow {
        padding-bottom: 60px;
    }
}
/*スポーツマウスガード追加　20240624*/
#sportsmouthguard {
    width: 80%;
    max-width: 814px;
    padding-top: 53px;
    margin: 0 auto;
}
.sportsmouthguard h1, .sportsmouthguard h2, .sportsmouthguard h3, .sportsmouthguard h4 {
    letter-spacing: 1px;
}
#sportsmouthguard h1 {
    font-size: clamp(1.4rem, 2.8vw, 1.8rem);
}
#sportsmouthguard h2 {
    width: fit-content;
    font-size: clamp(1.4rem, 2.8vw, 1.8rem);
    font-weight: 500;
}
.sportsmouthguard h3 {
    font-size: clamp(1.05rem, 2.4vw, 1.5rem);
    font-weight: 500;
}
.sportsmouthguard h4 {
    font-size: clamp(0.95rem, 1.8vw, 1.15rem);
    font-weight: 500;
}
.sportsmouthguard .underline {
    background: linear-gradient(transparent 50%, #CCE5FF 50%);
}
.sportsmouthguard p {
    font-size: 0.9rem;
}
.pc_none {
    display: none;
}
.smg_lead_container {
    display: flex;
    justify-content: space-between;
}
.smg_lead_container .text {
    width: 55%;
    line-height: 180%;
}
.smg_lead_container h5 {
    padding-bottom: 5px;
    font-size: 0.95rem;
    color: #1E742C;
    font-weight: 500;
}
.smg_lead_container .graph_img {
    display: block;
    width: 166px;
    height: auto;
    margin: 0 auto;
}
.smg_lead_container .graph small {
    display: block;
    width: fit-content;
    margin: 0 auto;
    font-size: 0.8rem;
}
.smg_significance_container h4 {
    width: fit-content;
    padding: 5px 0;
    margin-bottom: 5px;
    background: linear-gradient(transparent 50%, #E5E9C6 50%);
}
.smg_merit_container {
    display: flex;
    margin-top: 38px;
    border: solid 2px #1E742C;
    border-radius: 15px;
    overflow: hidden;
}
.smg_merit_inner {
    width: 35%;
    padding: 10px 0;
    background-color: #1E742C;
}
.smg_merit_container h4 {
    text-align: center;
    color: #fff;
}
.smg_merit_container h4 .small {
    font-size: clamp(0.9rem, 1.5vw, 0.95rem);
}
.smg_merit_container ul {
    display: flex;
    width: 65%;
    padding: 10px 0;
    flex-wrap: wrap;
    justify-content: center;
}
.smg_merit_container li {
    width: 40%;
    font-size: 0.9rem;
}
.smg_merit_container ul li::before {
    content: "⚫︎";
    padding-right: 5px;
    color: #1E742C;
}
.smg_sports_container {
    padding-top: 100px;
}
.smg_sports_container h3, .smg_dentist_importance h3 {
    padding-left: 5px;
    margin-bottom: 15px;
    border-left: solid 12px #1E742C;
    line-height: 40px;
}
.smg_sports_wrapper {
    display: flex;
    margin-top: 24px;
    justify-content: space-between;
}
.smg_sports_frame {
    position: relative;
    width: 49%;
    height: 280px;
    border: solid 2px #E5E9C6;
    border-radius: 15px;
    overflow: hidden;
}
.smg_sports_frame h4 {
    padding: 10px;
    text-align: center;
    background-color: #E5E9C6;
}
.smg_sports_frame h4 span {
    font-size: clamp(0.9rem, 1.5vw, 0.95rem);
}
.smg_sports_frame p {
    padding: 10px 12px;
    text-align: justify;
}
.boxing, .karate, .rugby1, .rugby2, .soccer, .cycling, .basketball, .baseball {
    position: absolute;
    bottom: 7%;
}
.boxing {
    left: 5%;
    width: 29%;
}
.karate {
    left: 34%;
    width: 19%;
}
.rugby1 {
    left: 57%;
    width: 17%;
}
.rugby2 {
    left: 72%;
    width: 26%;
}
.soccer {
    left: 5%;
    width: 20%;
}
.cycling {
    left: 26%;
    width: 22%;
}
.basketball {
    left: 50%;
    width: 16%;
}
.baseball {
    left: 70%;
    width: 22%;
}
.smg_dentist_importance {
    padding-top: 70px;
}
.smg_via {
    padding-top: 85px;
}
.via_img {
    width: 272px;
    border-radius: 15px;
    object-fit: cover;
}
.smg_via_lead_container {
    display: flex;
    padding-top: 20px;
    justify-content: space-between;
}
.smg_via_lead_container p {
    width: 60%;
    line-height: 180%;
}
.smg_via ol {
    list-style: none;
    padding: 0;
}
.smg_via li {
    padding-bottom: 32px;
}
.smg_via_about_title {
    display: flex;
    align-items: center;
    padding-bottom: 5px;
}
.smg_via_about_number {
    width: fit-content;
    padding: 10px 5px;
    margin-right: 10px;
    background-color: #1E742C;
    font-size: clamp(1.6rem, 3vw, 1.9rem);
    color: #fff;
}
.smg_via h3 {
    color: #1E742C;
}
.smg_via li p {
    padding-left: 55px;
}
.smg_how_to_make {
    padding-top: 68px;
}
.smg_how_to_make ol {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}
.smg_how_to_make li {
    width: 30%;
    padding: 10px;
    border-radius: 15px;
    background-color: #E5E9C6;
}
.smg_how_to_make li h4 {
    padding-bottom: 3px;
    margin-bottom: 5px;
    border-bottom: solid 1px #CACACA;
    text-align: center;
}
.smg_how_to_make li:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
}
.smg_how_to_make li:first-child h4 {
    border-bottom: none;
}
.smg_how_to_make li p {
    text-align: left;
}
.smg_how_to_make .arrow_wrapper {
    width: 30px;
    height: 40px;
    margin: auto 0;
    background-color: #fff;
}
.smg_how_to_make .arrow {
    width: 100%;
    height: 100%;
    background-color: #CACACA;
    clip-path: polygon(100% 50%, 0 0, 0 100%);
}
.smg_price {
    padding-top: 100px;
}
.smg_price_grid {
    display: grid;
    grid-template-columns: 2% 46% 50% 2%;
    grid-template-rows: auto;
    width: 73%;
    padding-top: 20px;
    margin: 0 auto;
    text-align: center;
}
.grid_name_bg {
    grid-area: 1 / 1 / 3 / 3;
    background-color: #1E742C;
}
.grid_price_bg {
    grid-area: 1 / 3 / 3 / 5;
    background-color: #F3F5E5;
}
.normal {
    grid-area: 1 / 2 / 2 / 3;
    border-bottom: solid 1px #fff;
}
.normal_price {
    grid-area: 1 / 3 / 2 / 4;
    margin: auto 0;
}
.marble {
    grid-area: 2 / 2 / 3 / 3;
}
.marble_price {
    grid-area: 2 / 3 / 3 / 4;
    margin: auto 0;
    border-top: solid 1px #1E742C;
}
.normal h4, .marble h4 {
    padding: 5px;
    color: #fff;
    font-weight: 400;
}
.normal h4 small, .marble h4 small {
    font-size: 0.8rem;
}
.normal_price p, .marble_price p {
    line-height: 60px;
    font-size: clamp(0.95rem, 1.8vw, 1.1rem);
}
.sportsmouthguard .closing_words {
    position: relative;
    width: fit-content;
    margin: 100px auto 85px;
    font-size: clamp(0.95rem, 1.8vw, 1.15rem);
    text-align: center;
}
.closing_words::before {
    content: "";
    position: absolute;
    top: 10px;
    left: -35px;
    width: 30px;
    height: 3px;
    background-color: #1E742C;
    transform: rotate(65deg);
}
.closing_words::after {
    content: "";
    position: absolute;
    top: 10px;
    right: -35px;
    width: 30px;
    height: 3px;
    background-color: #1E742C;
    transform: rotate(-65deg);
}
@media screen and (max-width: 640px) {
    #sportsmouthguard {
        width: 90%;
    }
    .pc_none {
        display: block;
    }
    .sp_none {
        display: none;
    }
    .smg_lead_container {
        display: block;
    }
    .smg_lead_container .text {
        width: 100%;
    }
    .smg_lead_container .graph {
        padding-top: 20px;
    }
    .smg_lead_container h5 {
        text-align: center;
    }
    .smg_significance_container {
        padding-top: 40px;
    }
    .smg_significance_container h4 {
        margin: 0 auto 8px;
    }
    .smg_merit_container {
        display: block;
        margin-top: 60px;
        border-radius: 10px;
    }
    .smg_merit_inner {
        width: 100%;
    }
    .smg_merit_container h4 {
        line-height: 145%;
    }
    .smg_merit_container ul {
        display: block;
        width: fit-content;
        margin: 0 auto;
    }
    .smg_merit_container li {
        width: 100%;
    }
    .smg_sports_container {
        padding-top: 50px;
    }
    .smg_sports_container h3, .smg_dentist_importance h3 {
        margin-bottom: 13px;
        border-left: solid 8px #1E742C;
        line-height: 28px;
    }
    .smg_sports_wrapper {
        display: block;
        margin-top: 15px;
    }
    .smg_sports_frame {
        position: static;
        width: 100%;
        height: fit-content;
        margin-bottom: 15px;
        border-radius: 10px;
    }
    .smg_sports_frame h4 {
        padding: 10px;
        text-align: center;
        background-color: #E5E9C6;
    }
    .smg_sports_img {
        position: relative;
        width: 100%;
        height: 100px;
    }
    .boxing, .karate, .rugby1, .rugby2, .soccer, .cycling, .basketball, .baseball {
        max-height: 100px;
    }
    .smg_dentist_importance {
        padding-top: 35px;
    }
    .smg_via {
        padding-top: 60px;
    }
    .via_img {
        display: block;
        width: 90%;
        margin: 15px auto;
        border-radius: 10px;
    }
    .smg_via_lead_container {
        display: block;
        padding-top: 20px;
    }
    .smg_via_lead_container p {
        width: 100%;
    }
    .smg_via li {
        padding-bottom: 25px;
    }
    .smg_via li p {
        padding-left: 10px;
    }
    .smg_how_to_make {
        padding-top: 35px;
    }
    .smg_how_to_make ol {
        display: block;
        padding: 0;
    }
    .smg_how_to_make li {
        width: 90%;
    }
    .smg_how_to_make li h4 {
        margin-bottom: 3px;
    }
    .smg_how_to_make .arrow_wrapper {
        width: 30px;
        height: 22px;
        margin: 0 auto;
    }
    .smg_how_to_make .arrow {
        clip-path: polygon(50% 100%, 0 0, 100% 0);
    }
    .smg_price {
        padding-top: 44px;
    }
    .smg_price_grid {
        width: 100%;
    }
    .closing_words::before {
        top: 25px;
        left: -28px;
        width: 50px;
        height: 2px;
    }
    .closing_words::after {
        top: 25px;
        right: -28px;
        width: 50px;
        height: 2px;
    }
}