@charset "utf-8";

/******************************************************************** index
*/
.index .catch .ttl-area {
 padding: 135px 2.5%;
}

.index .catch .ttl-area h2 {
 text-align: left;
 margin-bottom: 0.5em;
 font-size: 4rem;
}

.index .catch:after {
 display: none;
}

.slider {
 width: 90%;
 height: 100%;
 margin: 0 auto;
 position: absolute;
 right: 0;
 top: 0;
 overflow: hidden;
 border-radius: 12px 0 0 12px;
}

.slider ul {
 margin: 0;
 padding: 0;
 list-style: none;
 width: 100%;
 height: 100%;
}

.slider ul li {
 position: absolute;
 top: 0;
 right: 0;
 animation-iteration-count: infinite;
 /*animation-duration:32s;*/
 animation-duration: 24s;
 width: 100%;
 height: 100%;
}

.slider ul li img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}

.slider ul li:nth-child(1) {
 animation-name: slider-zoomin;
 animation-delay: -3s;
}

.slider ul li:nth-child(2) {
 animation-name: slider-zoomout;
 animation-delay: 5s;
 opacity: 0;
}

.slider ul li:nth-child(3) {
 animation-name: slider-zoomin;
 animation-delay: 13s;
 opacity: 0;
}

/*.slider ul li:nth-child(4){
    animation-name:slider-zoomout;
    animation-delay:21s;
    opacity:0;
}*/

@keyframes slider-zoomin {
 0% {
  opacity: 0;
  transform: scale(1);
 }

 20.83% {
  opacity: 1;
 }

 33.33% {
  opacity: 1;
 }

 45.83% {
  opacity: 0;
 }

 100% {
  opacity: 0;
  transform: scale(1.3);
 }
}

@keyframes slider-zoomout {
 0% {
  opacity: 0;
  transform: scale(1.3);
 }

 20.83% {
  opacity: 1;
 }

 33.33% {
  opacity: 1;
 }

 45.83% {
  opacity: 0;
 }

 100% {
  opacity: 0;
  transform: scale(1);
 }
}

.main > section.about-contents {
 padding: 104px 0 80px;
 position: relative;
}

.about-contents:before {
 display: inline-block;
 content: "";
 background: #e4f5f2;
 width: 56%;
 height: 66%;
 position: absolute;
 left: -5%;
 top: 20%;
 border-radius: 16px;
}

.about-contents:after {
 display: inline-block;
 content: "";
 background: #43b19f;
 width: 8px;
 height: 170px;
 position: absolute;
 left: 0;
 top: 104px;
}

.about-contents .wrapper {
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
}

.about-contents .wrapper .detail {
 width: 34.375%;
}

.about-contents .wrapper .detail h2 {
 font-size: 2.5rem;
 margin-bottom: 0.8em;
 text-align: left;
}

.about-contents .wrapper .detail h2 span {
 color: #43b19f;
}

.about-contents .wrapper .detail .txt {
 margin-bottom: 3em;
}

.about-contents .wrapper .detail ul {
 width: 90%;
 margin: 0 auto;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}

.about-contents .wrapper .detail ul li.btn02 {
 width: 100%;
 margin-bottom: 4%;
}

.about-contents .wrapper .detail ul li.btn {
 width: 48%;
}

.about-contents .wrapper .detail ul li.btn a {
 text-align: left;
 padding-left: 1em;
 font-size: 1rem;
}

.about-contents .wrapper .photos {
 width: 60.625%;
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 align-items: baseline;
 padding-top: 64px;
}

.about-contents .wrapper .photos figure {
 margin: 0;
 line-height: 0;
}

.about-contents .wrapper .photos figure:nth-of-type(1) {
 position: relative;
 margin-left: 8%;
 width: 31%;
}

.about-contents .wrapper .photos figure:nth-of-type(1):before {
 display: block;
 content: "";
 background: url(../img/index/p_about_img03_01.png) no-repeat center center;
 width: 225px;
 height: 164px;
 position: absolute;
 left: -104px;
 top: -170px;
}

.about-contents .wrapper .photos figure.animation.active:before {
 animation: anim-scale 0.5s ease-out 0.2s;
 transform-origin: 50% 50%;
}

.about-contents .wrapper .photos figure:nth-of-type(1):after {
 display: block;
 content: "";
 background: url(../img/index/p_about_img03_02.png) no-repeat center center;
 width: 145px;
 height: 127px;
 position: absolute;
 right: -68px;
 top: -88px;
}

.about-contents .wrapper .photos figure.animation.active:after {
 animation: anim-scale 0.5s ease-out 1s;
 transform-origin: 50% 50%;
}

.about-contents .wrapper .photos figure:nth-of-type(1) img {
 width: 100%;
 max-width: 100%;
 object-fit: cover;
}

.about-contents .wrapper .photos figure:nth-of-type(2) {
 position: relative;
 width: 48%;
}

.about-contents .wrapper .photos figure:nth-of-type(2) img {
 border-radius: 16px;
 width: 100%;
 object-fit: cover;
 margin-bottom: 24px;
}

.about-contents .wrapper .photos figure:nth-of-type(2):after {
 display: block;
 content: "";
 background: url(../img/index/p_about_img01.png) no-repeat center center;
 width: 194px;
 height: 127px;
 position: absolute;
 right: 0;
 top: -105px;
}

.about-contents .wrapper .photos figure:nth-of-type(3) {
 position: relative;
}

.about-contents .wrapper .photos figure:nth-of-type(3) img {
 border-radius: 16px;
 width: 100%;
 object-fit: cover;
}

.about-contents .wrapper .photos figure:nth-of-type(3):after {
 display: block;
 content: "";
 background: url(../img/index/p_about_img02.png) no-repeat center center;
 width: 165px;
 height: 167px;
 position: absolute;
 left: -40px;
 bottom: -18px;
}

.main > section.news-contents {
 padding: 0 0 104px;
 position: relative;
}

.news-contents .wrapper {
 display: flex;
 justify-content: space-between;
 align-items: stretch;
}

.news-contents .wrapper .ttl-area {
 width: 25%;
 position: relative;
 text-align: center;
}

.news-contents .wrapper .ttl-area:after {
 display: block;
 content: "";
 background: url(../img/index/p_news.png) no-repeat center center;
 width: 126px;
 height: 202px;
 position: absolute;
 left: 50%;
 bottom: -107px;
 margin-left: -63px;
 z-index: 1;
}

.news-contents .wrapper .ttl-area h3 {
 margin-bottom: 0.2em;
 padding-top: 82px;
}

.news-contents .wrapper .ttl-area h3:before {
 display: block;
 content: "";
 background: url(../img/index/ico_info.svg) no-repeat center center;
 width: 76px;
 height: 83px;
 position: absolute;
 left: 50%;
 top: 0;
 margin-left: -38px;
}

.news-contents .wrapper .side-column {
 width: 70%;
}

.news-contents .wrapper .news-frame {
 background: #fbf7ea;
 border-radius: 16px;
 box-sizing: border-box;
 padding: 3.125%;
}

.news-contents .wrapper .news-frame iframe {
 width: 100%;
 height: 262px;
 border: none;
}

.news-contents .wrapper .side-column .notice {
 margin-top: 3.125%;
 border: #43b19f 2px solid;
 border-radius: 8px;
 padding: 3.125%;
 font-size:1.4rem;
 font-weight:600;
 color: #43b19f;
}

.news-contents .wrapper .side-column .notice h4 {
 margin:0 0 16px;
 border-bottom:1px solid;
 font-weight: bold;
}

.news-contents .wrapper .side-column .notice .small {
 font-size: 0.8em;
}

.main > section.feature-contents {
 background: url(../img/index/bg_feature.svg) no-repeat 95% -60%, url(../img/index/bg_feature.svg) no-repeat 5% 140% #43b19f;
 background-size: 497px auto, 497px auto;
 color: #fff;
 position: relative;
 text-align: center;
 overflow: hidden;
}

.feature-contents h2:before {
 display: block;
 content: "";
 background: url(../img/index/ico_feature.svg) no-repeat center center;
 width: 69px;
 height: 72px;
 margin: 0 auto;
}

.feature-contents h2 span {
 border-bottom: #fff 3px solid;
}

.feature-contents ul {
 display: flex;
 justify-content: space-between;
 margin-bottom: 64px;
}

.feature-contents ul li {
 width: 22.6%;
 counter-increment: section;
}

.feature-contents ul li figure {
 margin: 0;
 line-height: 0;
 width: 100%;
}

.feature-contents ul li figure img {
 border-radius: 50%;
 width: 100%;
}

.feature-contents ul li h3 {
 font-size: 1.5rem;
}

.feature-contents ul li h3:before {
 display: block;
 content: counter(section, decimal);
 font-size: 2.2rem;
 font-weight: 500;
 background: url(../img/index/ico_tooth.svg) no-repeat center center;
 background-size: 74px auto;
 line-height: 75px;
 color: #43b19f;
 margin-top: -56px;
 position: relative;
 z-index: 1;
}

.feature-contents ul li .txt {
 text-align: center;
}

.feature-contents .btn03 {
 width: 400px;
 margin: 0 auto;
}

.feature-contents ul.list {
 display: block;
 width: 900px;
 max-width: 100%;
 margin: 0 auto 40px;
}
.feature-contents ul.list li {
 display: flex;
 width: 100%;
}
.feature-contents ul.list li::before {
 content: "- ";
 margin-right: 4px;
}

.main > section.treatment-contents {
 padding: 104px 0 0;
}

.treatment-contents h2:before {
 display: block;
 content: "";
 background: url(../img/index/ico_treatment.svg) no-repeat center center;
 width: 72px;
 height: 72px;
 margin: 0 auto;
}

.treatment-contents ul {
 display: flex;
 justify-content: space-between;
 align-items: stretch;
}

.treatment-contents ul li {
 width: 22.6%;
 counter-increment: number;
 position: relative;
}

.treatment-contents ul li:before {
 display: inline-block;
 content: "";
 background: url(../img/common/ico_arrow.svg) no-repeat center 95%;
 background-size: 22px auto;
 width: 22px;
 height: 22px;
 position: absolute;
 left: 50%;
 top: 86%;
 margin-left: -11px;
 z-index: 1;
}

.treatment-contents ul li:after {
 display: inline-block;
 content: "";
 background: #e4f5f2;
 padding: 50%;
 border-radius: 50%;
 position: absolute;
 left: 0;
 top: 50%;
 margin-top: -50%;
 z-index: 0;
}

.treatment-contents ul li:hover:after {
 opacity: 0.5;
}

.treatment-contents ul li a {
 display: block;
 position: relative;
 z-index: 1;
 padding: 3vw 0;
}

.treatment-contents ul li a:link,
.treatment-contents ul li a:visited {
 text-decoration: none;
}

.treatment-contents ul li h3 {
 font-size: 1.5rem;
 margin-bottom: 0.3em;
}

.treatment-contents ul li h3:before {
 display: block;
 content: counter(number, decimal);
 font-size: 4rem;
 font-weight: 500;
 color: #43b19f;
 line-height: 1;
}

.treatment-contents ul li a:link h3,
.treatment-contents ul li a:visited h3 {
 color: #391f1f;
}

.treatment-contents ul li .txt {
 text-align: center;
 color: #43b19f;
 line-height: 1.6;
}

.main > section.information-contents {
 padding: 0 0 104px;
 position: relative;
}

.information-contents .wrapper {
 display: flex;
 flex-direction: row-reverse;
 justify-content: space-between;
 align-content: stretch;
}

.information-contents .wrapper .detail {
 width: 48.4375%;
}

.information-contents .wrapper .detail h2 {
 color: #43b19f;
 font-size: 1.8rem;
 text-align: left;
 margin-bottom: 0.5em;
 padding-right: 27%;
}

.information-contents .wrapper .detail h2 span {
 border-bottom: #43b19f 1px dotted;
}

.information-contents .wrapper .detail .txt {
 padding-right: 27%;
}

.information-contents .wrapper .detail .time {
 position: relative;
 margin: 1em 0 0.4em;
}

.information-contents .wrapper .detail .time:before {
 display: block;
 content: "";
 background: url(../img/index/p_info01.png) no-repeat center bottom;
 background-size: 100% auto;
 width: 25%;
 height: 15vw;
 position: absolute;
 right: 6px;
 top: -15vw;
}

.information-contents .wrapper .detail .time:after {
 display: block;
 content: "";
 background: url(../img/index/p_info02.png) no-repeat center bottom;
 background-size: 100% auto;
 width: 14%;
 height: 44%;
 position: absolute;
 right: 10%;
 top: -200%;
 animation: vertical 1s ease-in-out infinite alternate;
}

.information-contents .wrapper .detail .time table {
 font-size: 1.2rem;
}

.information-contents .wrapper .detail .time table th,
.information-contents .wrapper .detail .time table td {
 padding: 0.4em 0;
}

.information-contents .wrapper .detail .notice {
 margin-bottom: 40px;
}

.information-contents .wrapper .detail .tel-btn {
 display: none;
}

.information-contents .wrapper .detail .tel {
 font-size: 2.6rem;
 font-weight: 500;
 margin-bottom: 10px;
}

.information-contents .wrapper .detail .tel:before {
 width: 39px;
 height: 32px;
 margin-right: 0.1em;
}

.information-contents .wrapper .detail .tel span {
 font-size: 1.1rem;
 vertical-align: 0.5em;
 padding: 0.2em 0.5em;
 margin-left: 0.5em;
}

.information-contents .wrapper .detail .access {
 display: flex;
 align-items: center;
}

.information-contents .wrapper .detail .access .car {
 background: #bee7df;
 border-radius: 8px;
 text-align: center;
 line-height: 1.4;
 font-weight: bold;
 padding: 16px;
 margin-right: 2%;
}

.information-contents .wrapper .detail .access .car:before {
 display: block;
 content: "";
 background: url(../img/index/ico_car.svg) no-repeat center center;
 background-size: 100% auto;
 width: 44px;
 height: 36px;
 margin: 0 auto 4px;
}

.information-contents .wrapper .detail .access .address p {
 font-weight: bold;
}

.information-contents .wrapper .detail .access .address ul li {
 margin-left: 1.5em;
 list-style: disc;
}

.information-contents .wrapper .map {
 width: 46.825%;
}

.information-contents .wrapper .map iframe {
 width: 100%;
 height: 100%;
}

@media screen and (max-width: 1160px) {
 .about-contents .wrapper .detail h2 br {
  display: none;
 }
}

/******************************************************************** about
*/
.about .catch:before {
 display: block;
 content: "";
 background: url(../img/about/catch.jpg) no-repeat center center;
 background-size: cover;
 width: 90%;
 height: 100%;
 position: absolute;
 left: 10%;
 top: 0;
 border-radius: 12px 0 0 12px;
}

.about .catch:after {
 background: rgba(255, 255, 255, 0.2);
}

.director-contents {
 position: relative;
}

.director-contents:before {
 display: inline-block;
 content: "";
 background: #e4f5f2;
 width: 56%;
 height: 66%;
 position: absolute;
 right: -5%;
 top: 20%;
 border-radius: 16px;
}

.director-contents .wrapper {
 display: flex;
 justify-content: space-between;
 align-items: stretch;
}

.director-contents .wrapper .detail {
 width: 34.375%;
}

.director-contents .wrapper .detail h2 {
 font-size: 2.5rem;
 margin-bottom: 0.8em;
 text-align: left;
}

.director-contents .wrapper .detail h2 span {
 color: #43b19f;
}

.director-contents .wrapper .detail .txt {
 margin-bottom: 3em;
}

.director-contents .wrapper .detail .btn {
 width: 90%;
 margin: 0 auto;
}

.director-contents .wrapper .photos {
 width: 60.625%;
 position: relative;
}

.director-contents .wrapper .photos figure {
 margin: 0;
 width: 51.5%;
 min-width: 400px;
 line-height: 0;
}

.director-contents .wrapper .photos figure img {
 width: 100%;
 border-radius: 16px;
}

.director-contents .wrapper .photos .card {
 background: #43b19f;
 border-radius: 16px;
 color: #fff;
 padding: 7% 8%;
 position: absolute;
 right: 0;
 bottom: -8%;
}

.director-contents .wrapper .photos .card:before {
 background: url(../img/about/p_tooth.png) no-repeat center center;
 display: block;
 content: "";
 width: 105px;
 height: 119px;
 position: absolute;
 top: -80px;
 right: 40px;
}

.director-contents .wrapper .photos .card .position {
 font-family: "Rounded Mplus 1c";
 letter-spacing: 0.1em;
 margin-bottom: 0.5em;
}

.main section.director-contents .wrapper .photos .card h3 {
 text-align: left;
 line-height: 1.4;
}

.main section.director-contents .wrapper .photos .card .en {
 font-family: "Rounded Mplus 1c";
 letter-spacing: 0.1em;
 font-size: 0.8rem;
 margin-bottom: 1.5em;
}

.main section.director-contents .wrapper .photos .card table tr th {
 padding-right: 1em;
}

.main > section.attention-contents {
 padding: 64px 0 104px;
}

.main > section.attention-contents .wrapper {
 display: flex;
 justify-content: space-between;
}

.attention-contents .wrapper .photos {
 width: 60.625%;
 position: relative;
}

.attention-contents .wrapper .photos:before {
 display: inline-block;
 content: "";
 background: #e4f5f2;
 width: 100%;
 height: 100%;
 position: absolute;
 right: -16%;
 bottom: -8%;
 border-radius: 16px;
 z-index: 0;
}

.attention-contents .wrapper .photos figure {
 margin: 0;
 line-height: 0;
 position: relative;
 z-index: 1;
}

.attention-contents .wrapper .photos figure img {
 width: 100%;
 border-radius: 16px;
}

.attention-contents .wrapper .detail {
 width: 34.375%;
 position: relative;
 z-index: 1;
 padding-top: 48px;
}

.main section.attention-contents .wrapper .detail h3 {
 color: #43b19f;
 font-size: 1.8rem;
 text-align: left;
 margin-bottom: 1.2em;
 padding-right: 27%;
 position: relative;
}

.main section.attention-contents .wrapper .detail h3:after {
 display: block;
 content: "";
 background: url(../img/about/bg_attention.png) no-repeat center bottom;
 background-size: 100% auto;
 position: absolute;
 right: 0;
 bottom: 0;
 width: 37%;
 max-width: 164px;
 height: 14vw;
}

.main section.attention-contents .wrapper .detail h3 span {
 border-bottom: #43b19f 1px dotted;
}

.main section.attention-contents .wrapper .detail h4 {
 font-size: 1.2rem;
 margin-bottom: 0.5em;
 color: #ff8e00;
 font-weight: bold;
}

.main section.attention-contents .wrapper .detail .txt:first-of-type {
 margin-bottom: 1em;
}

.about .main section.feature-contents {
 margin-bottom: 3px;
}

.about .feature-contents ul {
 display: block;
 margin-bottom: 0;
}

.about .feature-contents ul li {
 width: 100%;
 display: flex;
 justify-content: space-between;
 counter-increment: section;
 margin-bottom: 64px;
}

.about .feature-contents ul li:nth-child(2n) {
 flex-direction: row-reverse;
}

.about .feature-contents ul li:last-child {
 margin-bottom: 0;
}

.about .feature-contents ul li figure {
 width: 50%;
}

.about .feature-contents ul li figure img {
 border-radius: 16px;
 width: 100%;
}

.about .feature-contents ul li .detail {
 width: 45%;
}

.about .feature-contents ul li h3 {
 text-align: left;
 font-size: 2.6rem;
 margin-bottom: 0.5em;
}

.about .feature-contents ul li h3:before {
 display: inline-block;
 margin: 0;
 width: 74px;
 text-align: center;
 margin-right: 0.5em;
}

.about .feature-contents ul li .txt {
 text-align: left;
}

@media screen and (max-width: 1400px) {
 .attention-contents .wrapper .detail {
  padding-top: 0;
 }

 .director-contents .wrapper .photos .card {
  bottom: 0;
 }
}

/******************************************************************** treatment
*/
.treatment .catch:before {
 display: block;
 content: "";
 background: url(../img/treatment/index/catch.jpg) no-repeat center center;
 background-size: cover;
 width: 90%;
 height: 100%;
 position: absolute;
 left: 10%;
 top: 0;
 border-radius: 12px 0 0 12px;
}

.treatment .catch:after {
 background: rgba(255, 255, 255, 0.2);
}

.treatment-head-contents .wrapper {
 display: flex;
 justify-content: space-between;
}

.treatment-head-contents .wrapper .photos {
 width: 60.625%;
 position: relative;
}

.treatment-head-contents .wrapper .photos:after {
 display: block;
 content: "";
 background: url(../img/index/p_about_img01.png) no-repeat center bottom;
 background-size: 100% auto;
 width: 25%;
 max-width: 194px;
 height: 24%;
 position: absolute;
 left: -12%;
 top: -6%;
 z-index: 3;
}

.treatment-head-contents .wrapper .photos figure {
 margin: 0;
 line-height: 0;
 position: relative;
 z-index: 1;
}

.treatment-head-contents .wrapper .photos figure:before {
 display: inline-block;
 content: "";
 background: #e4f5f2;
 width: 100%;
 height: 100%;
 position: absolute;
 left: -16%;
 bottom: -16%;
 border-radius: 16px;
 z-index: 0;
}

.treatment-head-contents .wrapper .photos figure:after {
 display: block;
 content: "";
 background: url(../img/index/p_info01.png) no-repeat center bottom;
 background-size: 100% auto;
 width: 30%;
 max-width: 155px;
 height: 50%;
 position: absolute;
 right: 20%;
 bottom: -16%;
 z-index: 3;
}

.treatment-head-contents .wrapper .photos figure img {
 width: 100%;
 border-radius: 16px;
 position: relative;
 z-index: 1;
 object-fit: cover;
}

.treatment-head-contents .wrapper .detail {
 width: 34.375%;
 position: relative;
 z-index: 2;
 padding-top: 48px;
}

.treatment-head-contents .wrapper .detail h2 {
 font-size: 2.5rem;
 margin-bottom: 0.8em;
 text-align: left;
}

.treatment-head-contents .wrapper .detail .txt {
 margin-bottom: 3em;
}

.treatment-head-contents .wrapper .detail ul {
 width: 90%;
 margin: 0 auto;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}

.treatment-head-contents .wrapper .detail ul li {
 width: 48%;
}

.treatment-end-contents .wrapper {
 text-align: center;
}

.treatment-end-contents .wrapper .txt {
 margin-bottom: 50px;
}

.treatment-end-contents .wrapper img {
 max-width: 100%;
}

.main > section.treatment-inner-contents {
 padding: 0 0 104px;
}

.treatment-inner-contents h2:before {
 display: block;
 content: "";
 background: url(../img/index/ico_treatment.svg) no-repeat center center;
 width: 72px;
 height: 72px;
 margin: 0 auto;
}

.treatment-inner-contents ul {
 display: flex;
 justify-content: space-between;
 align-items: stretch;
}

.treatment-inner-contents ul li {
 width: 22.6%;
 counter-increment: number;
 position: relative;
 padding-bottom: 80px;
}

.treatment-inner-contents ul li figure {
 margin: 0;
 line-height: 0;
}

.treatment-inner-contents ul li figure img {
 border-radius: 16px;
 width: 100%;
}

.treatment-inner-contents ul li h3 {
 font-size: 1.5rem;
 margin-bottom: 0.3em;
}

.treatment-inner-contents ul li h3:before {
 display: block;
 content: counter(number, decimal);
 font-size: 4rem;
 font-weight: 500;
 color: #43b19f;
 line-height: 1;
 margin-top: -0.4em;
}

.treatment-inner-contents ul li .txt {
 color: #43b19f;
 text-align: center;
}

.treatment-inner-contents ul li .btn {
 position: absolute;
 left: 0;
 bottom: 0;
}

.main > section.examination-contents {
 background: url(../img/index/bg_feature.svg) no-repeat 95% -60%, url(../img/index/bg_feature.svg) no-repeat 5% 140% #43b19f;
 background-size: 497px auto, 497px auto;
 color: #fff;
 position: relative;
 text-align: center;
 overflow: hidden;
}

.examination-contents h2:before {
 display: block;
 content: "";
 background: url(../img/treatment/index/ico_examination.svg) no-repeat center center;
 width: 72px;
 height: 72px;
 margin: 0 auto;
}

.examination-contents ul {
 display: flex;
 justify-content: space-between;
}

.examination-contents ul li {
 width: 22.6%;
 counter-increment: section;
}

.examination-contents ul li figure {
 margin: 0;
 line-height: 0;
 width: 100%;
}

.examination-contents ul li figure img {
 border-radius: 16px;
 width: 100%;
}

.examination-contents ul li h3 {
 font-size: 1.5rem;
 margin-bottom: 0.3em;
}

.examination-contents ul li h3 span {
 font-size: 1.2rem;
}

.examination-contents ul li h3:before {
 display: block;
 content: counter(section, decimal);
 font-size: 2.2rem;
 font-weight: 500;
 background: url(../img/index/ico_tooth.svg) no-repeat center center;
 background-size: 74px auto;
 line-height: 75px;
 color: #43b19f;
 margin-top: -24px;
 position: relative;
 z-index: 1;
}

.flow-contents h2:before {
 display: block;
 content: "";
 background: url(../img/treatment/index/ico_flow.png) no-repeat center center;
 width: 110px;
 height: 96px;
 margin: 0 auto;
}

.flow-contents .inner {
 position: relative;
}

.flow-contents .inner:before {
 display: block;
 content: "";
 background: #43b19f;
 width: 8px;
 height: 96%;
 position: absolute;
 left: 50%;
 top: 2%;
 z-index: 0;
 margin-left: -4px;
}

.flow-contents .inner:after {
 display: block;
 content: "";
 background: url(../img/treatment/index/ico_flow_goal.png) no-repeat center center #43b19f;
 border-radius: 50%;
 width: 80px;
 height: 80px;
 margin: 0 auto;
 box-sizing: border-box;
 position: relative;
 z-index: 2;
}

.flow-contents .inner ul {
 position: relative;
 z-index: 1;
 padding: 0 1.875%;
}

/* .flow-contents .inner ul:before {
	display: block;
	content: "";
	background: url(../img/treatment/index/ico_flow_start.png) no-repeat center center #E4F5F2;
	border: #43B19F 5px solid;
	border-radius: 50%;
	width: 80px;
	height: 80px;
	margin: 0 auto;
	box-sizing: border-box;
	z-index: 2;
} */

.flow-contents .inner ul li {
 width: 50%;
 padding-right: 9.5%;
 float: left;
 box-sizing: border-box;
 margin-top: 5%;
 position: relative;
 z-index: 2;
 counter-increment: number;
}

.maintenance .flow-contents .inner ul li {
 margin-top: 10%;
}

.flow-contents .inner ul li:before {
 display: block;
 content: "";
 background: #e4f5f2;
 width: 30%;
 height: 8px;
 z-index: 0;
 position: absolute;
 right: 0;
 top: 50%;
 margin: -4px 0 0 -4px;
}

.flow-contents .inner ul li:after {
 display: block;
 content: "";
 background: #e4f5f2;
 border: #43b19f 5px solid;
 border-radius: 50%;
 width: 24px;
 height: 24px;
 box-sizing: border-box;
 z-index: 2;
 position: absolute;
 right: -12px;
 top: 50%;
 margin: -12px 0 0 0;
}

.flow-contents .inner ul li:first-child {
 margin-top: 0;
}

.flow-contents .inner ul li:nth-child(2n) {
 float: right;
 margin-top: 7%;
 padding: 0 0 0 9.5%;
 clear: right;
}

.flow-contents .inner ul li:nth-child(2n + 1) {
 clear: left;
}

.flow-contents .inner ul li:nth-child(2n):before {
 display: block;
 content: "";
 background: #e4f5f2;
 width: 30%;
 height: 8px;
 z-index: 0;
 position: absolute;
 left: 0;
 right: 0;
 top: 50%;
 margin: -4px -4px 0 0;
}

.flow-contents .inner ul li:nth-child(2n):after {
 display: block;
 content: "";
 background: #e4f5f2;
 border: #43b19f 5px solid;
 border-radius: 50%;
 width: 24px;
 height: 24px;
 box-sizing: border-box;
 z-index: 2;
 position: absolute;
 left: -12px;
 right: 0;
 top: 50%;
 margin: -12px 0 0 0;
}

.flow-contents .inner ul li .card {
 background: #e4f5f2;
 border-radius: 16px;
 padding: 5% 5% 10% 3vw;
 position: relative;
}

/* .flow-contents .inner ul li:nth-child(3) .card,
.flow-contents .inner ul li:nth-child(6) .card,
.flow-contents .inner ul li:nth-child(7) .card {
	padding: 5% 35% 5% 15%;
} */

.flow-contents .inner ul li:nth-child(3) .card,
.flow-contents .inner ul li:nth-child(6) .card,
.flow-contents .inner ul li:nth-child(7) .card {
 padding: 5% 5% 12% 20%;
}

.flow-contents .inner ul li .card:before {
 display: block;
 content: counter(number, decimal);
 font-family: "Rounded Mplus 1c";
 font-size: 2.2rem;
 font-weight: 500;
 background: url(../img/treatment/index/ico_tooth.svg) no-repeat center center;
 background-size: 74px auto;
 width: 74px;
 text-align: center;
 line-height: 75px;
 color: #fff;
 position: absolute;
 left: -10%;
 top: -4.3vw;
 z-index: 3;
}

/* .flow-contents .inner ul li:nth-child(3) .card:after {
	display: block;
	content: "";
	background: url(../img/index/p_news.png) no-repeat center bottom;
	background-size: 100% auto;
	width: 22%;
	max-width: 126px;
	height: 130%;
	position: absolute;
	right: 5%;
	bottom: 0;
	z-index: 3;
} */

/* .flow-contents .inner ul li:nth-child(6) .card:after {
	display: block;
	content: "";
	background: url(../img/index/p_info01.png) no-repeat center bottom;
	background-size: 100% auto;
	width: 30%;
	max-width: 155px;
	height: 165%;
	position: absolute;
	right: 5%;
	bottom: 0;
	z-index: 3;
} */

/* .flow-contents .inner ul li:nth-child(7) .card:after {
	display: block;
	content: "";
	background: url(../img/index/p_about_img02.png) no-repeat center center;
	background-size: 100% auto;
	width: 30%;
	max-width: 165px;
	height: 110%;
	position: absolute;
	right: 5%;
	bottom: 0;
	z-index: 3;
} */

.flow-contents .inner ul li h3 {
 font-size: 1.5rem;
 text-align: left;
}

.flow-contents .card.list p {
 position: relative;
 text-indent: -1.6em;
 padding-left: 2.6em;
}

.flow-contents .card img {
 width: 180px;
 display: block;
 left: 5vw;
 right: 0;
 top: 20px;
 position: relative;
}

@media screen and (max-width: 960px) {
 .flow-contents .card img {
  left: 2vw;
 }

 .flow-contents .inner ul li .card {
  padding: 5% 5% 12% 18% !important;
 }

 .flow-contents .inner ul li:nth-child(3) .card,
 .flow-contents .inner ul li:nth-child(6) .card,
 .flow-contents .inner ul li:nth-child(7) .card {
  padding: 5% 5% 12% 18% !important;
 }
}

@media screen and (max-width: 600px) {
 .flow-contents .card img {
  position: static;
  margin: 20px 26vw 0 auto;
 }
}

@media screen and (max-width: 460px) {
 .flow-contents .card img {
  position: static;
  margin: 20px 20vw 0 auto;
 }
}

@media screen and (max-width: 1160px) {
 .treatment-head-contents .wrapper .photos:after {
  width: 50%;
 }

 .treatment-head-contents .wrapper .photos figure {
  height: 80%;
 }

 .treatment-head-contents .wrapper .photos figure img {
  height: 100%;
 }

 .treatment-head-contents .wrapper .detail ul {
  display: block;
 }

 .treatment-head-contents .wrapper .detail ul li {
  width: 100%;
 }

 .treatment-head-contents .wrapper .detail ul li:first-child {
  margin-bottom: 4%;
 }
}

.treatment-new-contents img {
 max-width: 100%;
 display: block;
 margin: auto;
}

.treatment-new-contents .ttl_txt {
 font-family: "Rounded Mplus 1c";
 font-size: 40px;
 line-height: 60px;
 text-align: center;
 margin: 40px 0;
}

.treatment-new-contents .details {
 margin: 40px 0;
 font-size: 24px;
 line-height: 40px;
}

.treatment-new-contents ul {
 margin: auto;
 width: 1000px;
 max-width: 100%;
}

.treatment-new-contents ul li {
 margin-bottom: 20px;
 clear: both;
}

.treatment-new-contents ul li span {
 border-bottom: 2px dotted orange;
}

.treatment-new-contents ul li:before {
 content: "";
 width: 50px;
 height: 50px;
 background: url(../img/treatment/maintenance/txt_icon.png);
 background-size: contain;
 background-repeat: no-repeat;
 margin-right: 10px;
 float: left;
}

.treatment-new-contents .flex {
 display: flex;
 justify-content: space-around;
 align-items: center;
 max-width: 90%;
 margin: auto;
 font-size: 24px;
}

.treatment-new-contents .flex .box1 {
 margin-right: 20px;
}

.treatment-new-contents .flex .box2 {
 margin-left: 20px;
}

.treatment-new-contents .flex p {
 margin: 10px 0 30px;
 text-align: center;
}

/********************************** 01 cavity
*/
.cavity .catch:before {
 display: block;
 content: "";
 background: url(../img/treatment/cavity/catch.jpg) no-repeat center center;
 background-size: cover;
 width: 90%;
 height: 100%;
 position: absolute;
 left: 10%;
 top: 0;
 border-radius: 12px 0 0 12px;
}

.cavity .catch:after {
 background: rgba(255, 255, 255, 0.2);
}

.cavity .treatment-head-contents .wrapper .photos:after {
 display: block;
 content: "";
 background: url(../img/index/p_about_img02.png) no-repeat center bottom;
 background-size: 100% auto;
 width: 25%;
 max-width: 165px;
 height: 28%;
 position: absolute;
 left: -12%;
 top: -6%;
 z-index: 3;
}

.cavity .treatment-head-contents .wrapper .photos figure:after {
 display: block;
 content: "";
 background: url(../img/index/p_news.png) no-repeat center bottom;
 background-size: 100% auto;
 width: 30%;
 max-width: 126px;
 height: 50%;
 position: absolute;
 right: 20%;
 bottom: -16%;
 z-index: 3;
}

.main > section.progress-contents {
 background: url(../img/index/bg_feature.svg) no-repeat 95% -30%, url(../img/index/bg_feature.svg) no-repeat 5% 100% #43b19f;
 background-size: 497px auto, 497px auto;
 color: #fff;
 position: relative;
 text-align: center;
 overflow: hidden;
}

.progress-contents h2:before {
 display: block;
 content: "";
 background: url(../img/treatment/cavity/ico_progress.png) no-repeat center center;
 width: 60px;
 height: 60px;
 margin: 0 auto;
}

.progress-contents ul {
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
}

.progress-contents ul li {
 width: 31.25%;
 margin-right: 3.125%;
 margin-bottom: 3.125%;
}

.progress-contents ul li:nth-child(3n),
.progress-contents ul li:last-child {
 margin-right: 0;
}

.progress-contents ul li:nth-child(4),
.progress-contents ul li:last-child {
 margin-bottom: 0;
}

.progress-contents ul li figure {
 margin: 0;
 line-height: 0;
 width: 100%;
}

.progress-contents ul li figure img {
 border-radius: 16px;
 width: 100%;
}

.progress-contents ul li h3 {
 font-size: 1.5rem;
 margin-bottom: 0.3em;
}

.progress-contents ul li h3 span {
 font-size: 1.2rem;
}

.progress-contents ul li h3:before {
 display: block;
 content: "CO";
 font-size: 2.2rem;
 font-weight: 500;
 background: url(../img/index/ico_tooth.svg) no-repeat center center;
 background-size: 74px auto;
 line-height: 75px;
 color: #43b19f;
 margin-top: -24px;
 position: relative;
 z-index: 1;
}

.progress-contents ul li:nth-child(2) h3:before {
 content: "C1";
}

.progress-contents ul li:nth-child(3) h3:before {
 content: "C2";
}

.progress-contents ul li:nth-child(4) h3:before {
 content: "C3";
}

.progress-contents ul li:nth-child(5) h3:before {
 content: "C4";
}

.progress-contents ul li:nth-child(6) h3:before {
 content: "C5";
}

.cavity .flow-contents .wrapper > .txt {
 text-align: center;
 margin-bottom: 2em;
}

.cavity .flow-contents .inner ul li:nth-child(3) .card {
 padding: 5% 5% 5% 15%;
}

.cavity .flow-contents .inner ul li:nth-child(3) .card:after {
 display: none;
}

/********************************** 02 periodontal-disease
*/
.periodontal-disease .catch:before {
 display: block;
 content: "";
 background: url(../img/treatment/periodontal-disease/catch.jpg) no-repeat center center;
 background-size: cover;
 width: 90%;
 height: 100%;
 position: absolute;
 left: 10%;
 top: 0;
 border-radius: 12px 0 0 12px;
}

.periodontal-disease .catch:after {
 background: rgba(255, 255, 255, 0.2);
}

.periodontal-disease .treatment-head-contents .wrapper {
 flex-direction: row-reverse;
}

.periodontal-disease .treatment-head-contents .wrapper .photos:after {
 left: inherit;
 right: 8%;
 top: -20%;
}

.periodontal-disease .treatment-head-contents .wrapper .photos figure:before {
 left: inherit;
 right: -16%;
 bottom: -16%;
}

.periodontal-disease .treatment-head-contents .wrapper .photos figure:after {
 background: url(../img/index/p_about_img03.png) no-repeat center bottom;
 background-size: 100% auto;
 width: 30%;
 max-width: 234px;
 height: 44%;
 left: 20%;
 right: inherit;
}

.periodontal-disease .examination-contents h2:before {
 display: block;
 content: "";
 background: url(../img/treatment/cavity/ico_progress.png) no-repeat center center;
 width: 73px;
 height: 73px;
 margin: 0 auto;
}

.periodontal-disease .main > section.treatment-inner-contents .inner {
 display: flex;
 justify-content: space-between;
}

.periodontal-disease .main > section.treatment-inner-contents {
 padding: 104px 0;
}

.periodontal-disease .treatment-inner-contents ul {
 display: block;
 width: 51.25%;
}

.periodontal-disease .treatment-inner-contents ul li {
 width: 100%;
 counter-increment: number;
 position: relative;
 padding-bottom: 40px;
 margin-bottom: 40px;
 border-bottom: #43b19f 2px dotted;
 z-index: 2;
}

.periodontal-disease .treatment-inner-contents ul li:last-child {
 padding-bottom: 0;
 margin-bottom: 0;
 border-bottom: none;
}

.periodontal-disease .main section.treatment-inner-contents h3 {
 text-align: left;
}

.periodontal-disease .treatment-inner-contents ul li h3::before {
 display: inline-block;
 margin-top: 0;
 vertical-align: -0.2em;
 margin-right: 0.2em;
}

.periodontal-disease .treatment-inner-contents ul li .txt {
 text-align: left;
 color: #3a2323;
 padding: 0 0.5em;
}

.periodontal-disease .main > section.treatment-inner-contents .photos {
 width: 43.75%;
 position: relative;
}

.periodontal-disease .main > section.treatment-inner-contents .photos:before {
 display: inline-block;
 content: "";
 background: #e4f5f2;
 width: 100%;
 height: 80%;
 position: absolute;
 right: -16%;
 top: 10%;
 border-radius: 16px;
 z-index: 0;
}

.periodontal-disease .main > section.treatment-inner-contents .photos:after {
 display: block;
 content: "";
 background: url(../img/about/bg_attention.png) no-repeat center bottom;
 background-size: 100% auto;
 position: absolute;
 z-index: 2;
 right: 0;
 bottom: 10%;
 width: 37%;
 max-width: 164px;
 height: 26%;
}

.periodontal-disease .main > section.treatment-inner-contents .photos figure {
 margin: 0;
 line-height: 0;
 position: relative;
 z-index: 1;
}

.periodontal-disease .main > section.treatment-inner-contents .photos figure:first-of-type {
 margin: 0 0 24px;
}

.periodontal-disease .main > section.treatment-inner-contents .photos figure img {
 border-radius: 16px;
 position: relative;
 z-index: 1;
 width: 100%;
}

.periodontal-disease .main > section.treatment-inner-contents .photos figure figcaption {
 display: block;
 background: #43b19f;
 color: #fff;
 padding: 0.5em 1em;
 border-radius: 1em;
 position: absolute;
 z-index: 2;
 left: 8px;
 bottom: 8px;
 line-height: 1;
}

/********************************** 03 implant
*/
.implant .catch:before {
 display: block;
 content: "";
 background: url(../img/treatment/implant/catch.jpg) no-repeat center center;
 background-size: cover;
 width: 90%;
 height: 100%;
 position: absolute;
 left: 10%;
 top: 0;
 border-radius: 12px 0 0 12px;
}

.implant .catch:after {
 background: rgba(255, 255, 255, 0.2);
}

.implant .treatment-head-contents .detail {
 width: 34.375%;
}

.implant .treatment-head-contents .wrapper .points {
 background: #43b19f;
 border-radius: 16px;
 color: #fff;
 padding: 6%;
 position: absolute;
 right: 0;
 bottom: -8%;
 z-index: 2;
 box-sizing: border-box;
 width: 56%;
}

.implant .treatment-head-contents .wrapper .points:before {
 background: url(../img/about/p_tooth.png) no-repeat center center;
 display: block;
 content: "";
 width: 105px;
 height: 119px;
 position: absolute;
 top: -80px;
 right: 40px;
}

.implant .treatment-head-contents .wrapper .points ol li {
 background: url(../img/common/ico_check.svg) no-repeat left center;
 background-size: 20px auto;
 font-size: 1rem;
 padding: 0.5em 0 0.5em 32px;
 border-bottom: #fff 1px dotted;
}

.implant .treatment-head-contents .photos {
 width: 60.625%;
}

.implant .treatment-head-contents .wrapper .photos:after {
 display: none;
}

.implant .treatment-head-contents .photos figure {
 margin: 0;
 width: 51.5%;
 min-width: 400px;
 line-height: 0;
}

.implant .treatment-head-contents .wrapper .photos figure:before {
 width: 100vw;
 height: 100%;
 left: inherit;
 right: -16%;
 bottom: -16%;
 border-radius: 16px;
 z-index: 0;
}

.implant .treatment-head-contents .wrapper .photos figure:after {
 left: 0;
 right: inherit;
}

.implant .treatment-head-contents .photos figure img {
 width: 100%;
 border-radius: 16px;
}

.overview-contents h2:before {
 display: block;
 content: "";
 background: url(../img/treatment/implant/ico_overview.png) no-repeat center center;
 width: 111px;
 height: 60px;
 margin: 0 auto;
}

.overview-contents ul {
 display: flex;
 justify-content: space-between;
 align-items: stretch;
 margin-bottom: 64px;
}

.overview-contents ul li {
 width: 22.6%;
 counter-increment: number;
 position: relative;
}

.overview-contents ul li figure {
 margin: 0;
 line-height: 0;
 width: 100%;
 position: relative;
}

.overview-contents ul li figure:after {
 display: block;
 content: "";
 width: 0;
 border-color: #43b19f;
 border-style: solid;
 border-width: 1em;
 border-top-color: transparent;
 border-bottom-color: transparent;
 border-right-color: transparent;
 margin: -1em 0 0 0;
 position: absolute;
 right: -16%;
 top: 50%;
}

.overview-contents ul li:last-child figure:after {
 display: none;
}

.overview-contents ul li figure img {
 border-radius: 16px;
 width: 100%;
}

.overview-contents ul li h3 {
 font-size: 1.5rem;
 margin-top: 0.5em;
}

.overview-contents ul li .txt {
 text-align: center;
}

.overview-contents .point {
 border: #43b19f 2px dotted;
 border-radius: 16px;
 padding: 3%;
 box-sizing: border-box;
 max-width: 90%;
 margin: 0 auto;
 position: relative;
}

.overview-contents .point:after {
 display: block;
 content: "";
 background: url(../img/index/p_about_img02.png) no-repeat center bottom;
 background-size: 100% auto;
 width: 25%;
 max-width: 165px;
 height: 28%;
 position: absolute;
 right: 3%;
 top: -6%;
 z-index: 3;
}

.overview-contents .point .module {
 display: flex;
 margin-bottom: 3%;
}

.overview-contents .point .module figure {
 margin: 0 3% 0 0;
 line-height: 0;
}

.overview-contents .point .module figure img {
 border-radius: 16px;
 width: 100%;
}

.overview-contents .point h3 {
 margin-bottom: 1em;
 color: #43b19f;
 text-align: left;
 padding-right: 20%;
}

.overview-contents .point ol {
 background: #e4f5f2;
 padding: 3%;
 border-radius: 16px;
 font-size: 1.1rem;
}

.overview-contents .point ol li {
 counter-increment: number;
 margin-bottom: 0.5em;
}

.overview-contents .point ol li:last-child {
 margin-bottom: 0;
}

.overview-contents .point ol li:before {
 content: counter(number, decimal);
 color: #43b19f;
 font-family: "Rounded Mplus 1c";
 font-size: 1.6rem;
 font-weight: bold;
 margin-right: 0.5em;
 vertical-align: -0.1em;
}

.main > section.comparison-contents {
 background: url(../img/index/bg_feature.svg) no-repeat 95% -60%, url(../img/index/bg_feature.svg) no-repeat 5% 140% #43b19f;
 background-size: 497px auto, 497px auto;
 color: #fff;
 position: relative;
 text-align: center;
 overflow: hidden;
}

.comparison-contents h2:before {
 display: block;
 content: "";
 background: url(../img/treatment/index/ico_examination.svg) no-repeat center center;
 width: 72px;
 height: 72px;
 margin: 0 auto;
}

.comparison-contents ul {
 display: flex;
 justify-content: space-between;
}

.comparison-contents ul > li {
 width: 22.6%;
}

.comparison-contents ul li figure {
 margin: 0;
 line-height: 0;
 width: 100%;
}

.comparison-contents ul li figure img {
 border-radius: 16px;
 width: 100%;
}

.comparison-contents ul li h3 {
 font-size: 1.5rem;
 margin: 0.3em 0;
}

.comparison-contents ul li h3 span {
 font-size: 1.2rem;
}

.comparison-contents ul li .txt {
 margin-bottom: 1em;
 line-height: 1.6;
}

.comparison-contents ul li .icons {
 display: flex;
 justify-content: space-between;
 margin-bottom: 1em;
}

.comparison-contents .icons > li {
 width: 30%;
 background: #fff;
 color: #3a2323;
 text-align: center;
 font-size: 0.8rem;
 line-height: 1.2;
 border-radius: 8px;
 padding: 0.8em 0 0.2em;
}

.comparison-contents .icons > li span {
 display: block;
 font-size: 2rem;
 font-weight: bold;
 color: #43b19f;
 margin-top: 0.1em;
}

.comparison-contents ul li h4 {
 font-weight: bold;
 font-size: 1.2rem;
 text-align: center;
 margin-bottom: 0.3em;
}

.comparison-contents ul li .feature {
 background: #e4f5f2;
 border-radius: 8px;
 padding: 1em;
 color: #3a2323;
 line-height: 1.6;
 font-size: 0.9rem;
}

.comparison-contents ul li .feature li {
 list-style: disc;
 margin-left: 1.2em;
 margin-bottom: 0.5em;
}

.comparison-contents ul li .feature li:last-child {
 margin-bottom: 0;
}

.flow-contents .inner ul li figure {
 margin: 0;
 line-height: 0;
 position: absolute;
 right: -8%;
 top: -2vw;
 width: 39.135%;
}

.flow-contents .inner ul li figure img {
 border-radius: 16px;
 width: 100%;
}

.implant .flow-contents .inner ul li .card:before {
 top: -1.3vw;
}

.implant .flow-contents .inner ul li:nth-child(3) .card:after {
 display: none;
}

.implant .flow-contents .inner ul li:nth-child(2n) {
 margin-top: 14%;
}

.implant .flow-contents .inner ul li .card {
 padding: 5% 35% 5% 15%;
}

.implant .flow-contents .inner ul li .point {
 background: #43b19f;
 color: #fff;
 border-radius: 16px;
 padding: 1em 50% 1em 1em;
 box-sizing: border-box;
 width: 140%;
 margin-top: 1em;
 position: relative;
}

.implant .flow-contents .inner ul li .point figure {
 right: -8%;
 top: 0;
 width: 39.135%;
 height: 100%;
}

.implant .flow-contents .inner ul li .point figure img {
 border-radius: 0 16px 16px 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
}

.implant .flow-contents .inner ul li .point h4 {
 font-weight: bold;
}

.implant .flow-contents .inner ul li .point p {
 font-size: 0.9rem;
 line-height: 1.6;
}

/********************************** 04 maintenance
*/
.maintenance .catch:before {
 display: block;
 content: "";
 background: url(../img/treatment/maintenance/catch.jpg) no-repeat center center;
 background-size: cover;
 width: 90%;
 height: 100%;
 position: absolute;
 left: 10%;
 top: 0;
 border-radius: 12px 0 0 12px;
}

.maintenance .catch:after {
 background: rgba(255, 255, 255, 0.2);
}

.maintenance .treatment-head-contents .wrapper .detail .txt {
 margin-bottom: 0;
}

.maintenance .treatment-head-contents .wrapper .photos:after {
 display: block;
 content: "";
 background: url(../img/index/p_about_img02.png) no-repeat center bottom;
 background-size: 100% auto;
 width: 25%;
 max-width: 165px;
 height: 28%;
 position: absolute;
 left: -12%;
 top: -6%;
 z-index: 3;
}

.maintenance .treatment-head-contents .wrapper .photos figure:after {
 display: none;
}

/*.maintenance .treatment-head-contents .wrapper .photos figure:after {
	display: block;
	content: "";
	background: url(../img/about/bg_attention.png) no-repeat center bottom;
	background-size: 100% auto;
	width: 30%;
	max-width: 164px;
	height: 50%;
	position: absolute;
	right: 20%;
	bottom: -16%;
	z-index: 3;
}*/

.main > section.purpose-contents {
 background: url(../img/index/bg_feature.svg) no-repeat 95% -60%, url(../img/index/bg_feature.svg) no-repeat 5% 260% #43b19f;
 background-size: 497px auto, 497px auto;
 color: #fff;
 position: relative;
 text-align: center;
 overflow: hidden;
}

.purpose-contents h2:before {
 display: block;
 content: "";
 background: url(../img/index/ico_feature.svg) no-repeat center center;
 width: 69px;
 height: 72px;
 margin: 0 auto;
}

.purpose-contents ul {
 display: flex;
 justify-content: space-between;
 width: 80%;
 margin: 10% auto 5%;
}

.purpose-contents ul li {
 width: 31.2%;
 counter-increment: section;
 position: relative;
 color: #3a2323;
 font-size: 2rem;
 text-align: center;
}

.purpose-contents ul li:before {
 display: inline-block;
 content: "";
 background: #fff;
 padding: 50%;
 border-radius: 50%;
 position: absolute;
 left: 0;
 top: 50%;
 margin-top: -50%;
 z-index: 0;
}

.purpose-contents ul li p {
 font-family: "Rounded Mplus 1c";
 position: relative;
 z-index: 1;
 line-height: 1.6;
}

.purpose-contents ul li p:before {
 font-family: "Rounded Mplus 1c";
 display: block;
 content: counter(section, decimal);
 font-size: 4rem;
 font-weight: 500;
 color: #43b19f;
 line-height: 1;
}

.gbt-contents h2:before {
 display: block;
 content: "";
 background: url(../img/index/ico_treatment.svg) no-repeat center center;
 width: 72px;
 height: 72px;
 margin: 0 auto;
}

.gbt-contents .flex {
 display: flex;
 gap: 50px;
 width: 1000px;
 margin: 0 auto;
}

@media screen and (max-width: 1024px) {
 .gbt-contents .flex {
  display: block;
 }
}

.gbt-contents .flex div {
 width: 40%;
}

@media screen and (max-width: 1024px) {
 .gbt-contents .flex div {
  width: 100%;
  max-width: 90vw;
 }
}

.gbt-contents .flex .txt {
 width: 60%;
}

@media screen and (max-width: 1024px) {
 .gbt-contents .flex .txt {
  width: 100%;
 }
}

.gbt-contents .flex div img {
 width: 100%;
 max-width: 90vw;
 margin: 0 auto;
}

.flow-contents .flow {
 display: block;
 margin: 0 auto 45px;
 width: fit-content;
 max-width: 90vw;
}

.maintenance .flow-contents .inner ul li:nth-child(2n) {
 margin-top: 12%;
}

.maintenance .flow-contents .inner ul li:nth-child(3) .card {
 padding: 5% 5% 5% 15%;
}

.maintenance .flow-contents .inner ul li:nth-child(3) .card:after {
 display: none;
}

/******************************************************************** access
*/
.access .catch:before {
 display: block;
 content: "";
 background: url(../img/access/catch.jpg) no-repeat center center;
 background-size: cover;
 width: 90%;
 height: 100%;
 position: absolute;
 left: 10%;
 top: 0;
 border-radius: 12px 0 0 12px;
}

.access .catch:after {
 background: rgba(255, 255, 255, 0.2);
}

.main > section.information-contents {
 padding: 104px 0;
}

.access .information-contents .wrapper {
 display: block;
}

.access .information-contents h2:before {
 display: block;
 content: "";
 background: url(../img/access/ico_hospital.png) no-repeat center center;
 background-size: 100% auto;
 width: 66px;
 height: 56px;
 margin: 0 auto;
}

.access .information-contents .wrapper .inner {
 display: flex;
 flex-direction: row-reverse;
 justify-content: space-between;
 align-content: stretch;
}

.access .information-contents .wrapper .detail {
 padding: 40px 0 0;
}

.access .information-contents .wrapper .detail .clinic {
 width: 70%;
 border-top: #43b19f 1px dashed;
}

.access .information-contents .wrapper .detail .clinic tr {
 border-bottom: #43b19f 1px dashed;
}

.access .information-contents .wrapper .detail .clinic tr th {
 vertical-align: top;
 padding: 0.5em;
 font-weight: bold;
}

.access .information-contents .wrapper .detail .clinic tr td {
 vertical-align: top;
 padding: 0.5em;
}

.information-contents .wrapper .detail .time {
 margin: 2em 0 0.4em;
}

.access .information-contents .wrapper .inner .photos {
 width: 46.825%;
}

.access .information-contents .wrapper .inner .photos figure {
 margin: 0 0 24px;
 line-height: 0;
}

.access .information-contents .wrapper .inner .photos figure:nth-child(2) {
 margin: 0;
}

.access .information-contents .wrapper .inner .photos figure img {
 width: 100%;
 border-radius: 16px;
}

.main > section.map-contents {
 background: url(../img/index/bg_feature.svg) no-repeat 95% -60%, url(../img/index/bg_feature.svg) no-repeat 5% 140% #43b19f;
 background-size: 497px auto, 497px auto;
 color: #fff;
 position: relative;
 text-align: center;
 overflow: hidden;
 margin-bottom: 3px;
}

.access .map-contents h2:before {
 display: block;
 content: "";
 background: url(../img/access/ico_map.png) no-repeat center center;
 background-size: 100% auto;
 width: 64px;
 height: 54px;
 margin: 0 auto;
}

.access .map-contents iframe {
 margin-bottom: 24px;
}

.access .map-contents .inner {
 display: flex;
 justify-content: space-between;
 align-content: center;
}

.access .map-contents .inner ul {
 background: url(../img/common/ico_map_white.svg) no-repeat center left;
 background-size: 64px auto;
 width: 50%;
 padding-left: 80px;
}

.access .map-contents .inner ul li {
 list-style: disc;
 margin-left: 1.5em;
}

.access .map-contents .inner .btn03 {
 width: 50%;
}

.access .photos-contents h2:before {
 display: block;
 content: "";
 background: url(../img/access/ico_photo.png) no-repeat center center;
 background-size: 100% auto;
 width: 60px;
 height: 45px;
 margin: 0 auto;
}

.access .photos-contents .txt {
 margin-bottom: 2em;
 text-align: center;
}

.access .photos-contents ul {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}

.access .photos-contents ul li {
 width: 22.6%;
 counter-increment: number;
 position: relative;
 line-height: 0;
 margin-bottom: 3.2%;
}

.access .photos-contents ul li img {
 border-radius: 16px;
 width: 100%;
}

/******************************************************************** contact
*/
.contact .catch:before {
 display: block;
 content: "";
 background: url(../img/contact/catch.jpg) no-repeat center center;
 background-size: cover;
 width: 90%;
 height: 100%;
 position: absolute;
 left: 10%;
 top: 0;
 border-radius: 12px 0 0 12px;
}

.form-contents .wrapper {
 max-width: 800px;
}

.form-contents .txt {
 text-align: center;
 margin-bottom: 2em;
}

.form-contents table tr th {
 padding: 0.5em;
 vertical-align: top;
 width: 12em;
 font-weight: bold;
}

.form-contents table tr td {
 padding: 0.5em;
}

.form-contents table tr th.required p:before {
 display: inline-block;
 content: "必須";
 background: #c00;
 color: #fff;
 font-size: 0.8em;
 padding: 0.1em 0.5em;
 border-radius: 4px;
 margin-right: 0.5em;
}

.form-contents table tr th.option p:before {
 display: inline-block;
 content: "任意";
 background: #ccc;
 font-size: 0.8em;
 padding: 0.1em 0.5em;
 border-radius: 4px;
 margin-right: 0.5em;
}

.form-contents .btn {
 width: 60%;
 margin: 0 auto;
}

.tel-contents .txt {
 text-align: center;
 margin-bottom: 4em;
}

.tel-contents .tel {
 text-align: center;
 font-size: 4rem;
}

.tel-contents .tel:before {
 width: 60px;
 height: 48px;
}

.tel-contents .tel span {
 display: block;
 font-size: 1.8rem;
 padding: 0.3em;
 margin: 0.5em auto 0;
 width: 16em;
}

.tel-contents .tel-btn {
 display: none;
}

/******************************************************************** privacy
*/
.privacy .catch:before {
 display: block;
 content: "";
 background: url(../img/privacy/catch.jpg) no-repeat center center;
 background-size: cover;
 width: 90%;
 height: 100%;
 position: absolute;
 left: 10%;
 top: 0;
 border-radius: 12px 0 0 12px;
}

.privacy .catch:after {
 background: rgba(255, 255, 255, 0.4);
}

.privacy-contents .wrapper {
 max-width: 800px;
 font-size: 0.95rem;
}

.privacy-contents .txt {
 margin-bottom: 2em;
}

.privacy-contents dt {
 font-size: 1.2rem;
 font-weight: bold;
 margin-bottom: 0.5em;
}

.privacy-contents dd {
 padding-left: 1em;
 margin-bottom: 2em;
}

.privacy-contents dd ul li {
 margin-left: 1em;
 list-style: disc;
 font-weight: bold;
}

.privacy-contents .admin {
 background: #faf8f1;
 padding: 2em;
 border-radius: 8px;
}

.privacy-contents .admin .sub {
 font-weight: bold;
}

/*************************************************************************************************************************

■ タブレット(960px以下)向けスタイル

*************************************************************************************************************************/

@media screen and (max-width: 960px) {
 /******************************************************************** index
*/
 .index .catch .ttl-area h2 {
  margin-bottom: 0;
 }

 .main > section.about-contents {
  padding: 12% 0 8%;
 }

 .about-contents:before {
  width: 66%;
 }

 .about-contents:after {
  height: 12em;
  top: 12%;
 }

 .about-contents .wrapper {
  align-items: stretch;
 }

 .about-contents .wrapper .detail {
  width: 46%;
 }

 .about-contents .wrapper .detail h2 {
  font-size: 4vw;
 }

 .about-contents .wrapper .detail h2 br {
  display: block;
 }

 .about-contents .wrapper .detail ul {
  width: 100%;
 }

 .about-contents .wrapper .photos {
  width: 50%;
  padding-top: 14%;
  align-content: flex-start;
 }

 .about-contents .wrapper .photos figure:nth-of-type(1) {
  width: 45%;
  margin-left: 16%;
 }

 .about-contents .wrapper .photos figure:nth-of-type(1):before {
  background: url(../img/index/p_about_img03_01.png) no-repeat center center;
  background-size: 100% auto;
  width: 80%;
  height: 68%;
  position: absolute;
  left: -52%;
  top: -60%;
 }

 .about-contents .wrapper .photos figure:nth-of-type(1):after {
  background: url(../img/index/p_about_img03_02.png) no-repeat center center;
  background-size: 100% auto;
  width: 70%;
  height: 73%;
  position: absolute;
  right: -34%;
  top: -54%;
 }

 .about-contents .wrapper .photos figure:nth-of-type(2) {
  width: 100%;
  height: 40%;
  margin-bottom: 4%;
 }

 .about-contents .wrapper .photos figure:nth-of-type(2) img {
  height: 100%;
  object-fit: cover;
 }

 .about-contents .wrapper .photos figure:nth-of-type(3) {
  height: 40%;
 }

 .about-contents .wrapper .photos figure:nth-of-type(3) img {
  height: 100%;
  object-fit: cover;
 }

 .main > section.news-contents {
  padding: 0 0 12%;
 }

 .news-contents .wrapper .ttl-area {
  width: 35%;
 }

 .news-contents .wrapper .ttl-area:after {
  background: url(../img/index/p_news.png) no-repeat center bottom;
  background-size: 100% auto;
  width: 36%;
  height: 60%;
  position: absolute;
  left: 50%;
  bottom: -36%;
  margin-left: -20%;
 }

 .news-contents .wrapper .ttl-area h3 {
  font-size: 3.4vw;
 }

 .news-contents .wrapper .side-column {
  width: 60%;
 }

 .news-contents .wrapper .news-frame iframe {
  height: 27vw;
 }

 .news-contents .wrapper .side-column .notice br {
  display: block;
 }

 .main > section.feature-contents {
  background: url(../img/index/bg_feature.svg) no-repeat 95% -60%, url(../img/index/bg_feature.svg) no-repeat 5% 140% #43b19f;
  background-size: 60% auto, 60% auto;
 }

 .feature-contents h2 {
  font-size: 4vw;
 }

 .feature-contents ul {
  flex-wrap: wrap;
  margin-bottom: 4%;
 }

 .feature-contents ul li {
  width: 22.6%;
 }

 .feature-contents .btn03 {
  width: 70%;
 }

 .main > section.treatment-contents {
  padding: 12% 0 0;
 }

 .treatment-contents ul li {
  position: relative;
  background: #e4f5f2;
  border-radius: 16px;
 }

 .treatment-contents ul li:after {
  display: none;
 }

 .treatment-contents ul li a {
  padding: 3vw 4% 5vw;
 }

 .treatment-contents ul li a:link,
 .treatment-contents ul li a:visited {
  text-decoration: none;
 }

 .treatment-contents ul li h3 {
  font-size: 2.6vw;
 }

 .treatment-contents ul li h3:before {
  font-size: 6vw;
 }

 .main > section.information-contents {
  padding: 0 0 12%;
 }

 .information-contents .wrapper .detail h2 {
  font-size: 3.2vw;
  padding-right: 0;
 }

 .information-contents .wrapper .detail .txt {
  padding-right: 37%;
 }

 .information-contents .wrapper .detail .time:before {
  width: 35%;
  height: 20vw;
  top: -20vw;
 }

 .information-contents .wrapper .detail .time:after {
  width: 18%;
  height: 6vw;
  right: 12%;
  top: -27vw;
 }

 .information-contents .wrapper .detail .time table {
  font-size: 1rem;
 }

 .information-contents .wrapper .detail .notice {
  margin-bottom: 8%;
 }

 .information-contents .wrapper .detail .tel {
  font-size: 3.2vw;
  margin-bottom: 4%;
 }

 .information-contents .wrapper .detail .tel:before {
  width: 1em;
  height: 1em;
  vertical-align: -0.1em;
 }

 .information-contents .wrapper .detail .tel span {
  font-size: 1.4vw;
  padding: 0.2em;
  margin-left: 0.2em;
 }

 .information-contents .wrapper .detail .access {
  display: flex;
  align-items: center;
 }

 .information-contents .wrapper .detail .access .car {
  padding: 8% 4%;
 }

 .information-contents .wrapper .detail .access .address p {
  line-height: 1.4;
  margin-bottom: 4%;
 }

 .information-contents .wrapper .detail .access .address ul li {
  font-size: 0.9rem;
  line-height: 1.4;
 }

 .information-contents .wrapper .map {
  width: 46.825%;
 }

 .information-contents .wrapper .map iframe {
  width: 100%;
  height: 100%;
 }

 /******************************************************************** about
*/
 .director-contents:before {
  width: 36%;
 }

 .director-contents .wrapper .detail {
  width: 46%;
 }

 .director-contents .wrapper .detail h2 {
  font-size: 4vw;
 }

 .director-contents .wrapper .detail .btn {
  width: 100%;
 }

 .director-contents .wrapper .photos {
  width: 50%;
 }

 .director-contents .wrapper .photos figure {
  width: 100%;
  min-width: auto;
 }

 .director-contents .wrapper .photos .card {
  right: -4%;
  bottom: 0;
 }

 .main section.director-contents .wrapper .photos .card table tr th {
  width: 3.5em;
 }

 .main > section.attention-contents {
  padding: 0 0 12%;
 }

 .main > section.attention-contents .wrapper {
  display: block;
 }

 .attention-contents .wrapper .photos {
  width: 100%;
 }

 .attention-contents .wrapper .photos figure img {
  width: 100%;
  height: 30vw;
  object-fit: cover;
 }

 .attention-contents .wrapper .detail {
  width: 100%;
  padding-top: 4%;
 }

 .main section.attention-contents .wrapper .detail h3 {
  font-size: 3.2vw;
 }

 .main section.attention-contents .wrapper .detail h3:after {
  height: 28vw;
 }

 .about .feature-contents ul li {
  margin-bottom: 8%;
 }

 .about .feature-contents ul li figure img {
  height: 100%;
  object-fit: cover;
 }

 .about .feature-contents ul li h3 {
  font-size: 4vw;
 }

 .about .feature-contents ul li h3:before {
  display: inline-block;
  margin: 0;
  width: 74px;
  text-align: center;
  margin-right: 0.5em;
 }

 .about .feature-contents ul li .txt {
  text-align: left;
 }

 /******************************************************************** treatment
*/
 .treatment-head-contents .wrapper .photos {
  width: 50%;
 }

 .treatment-head-contents .wrapper .detail {
  width: 46%;
  padding-top: 0;
 }

 .treatment-head-contents .wrapper .detail h2 {
  font-size: 4vw;
 }

 .main > section.treatment-inner-contents {
  padding: 0 0 12%;
 }

 .treatment-inner-contents ul {
  flex-wrap: wrap;
 }

 .treatment-inner-contents ul li {
  width: 48%;
  padding-bottom: 80px;
  margin-bottom: 8%;
 }

 .treatment-inner-contents ul li:nth-last-child(2),
 .treatment-inner-contents ul li:last-child {
  margin-bottom: 0;
 }

 .treatment-inner-contents ul li figure img {
  height: 30vh;
  object-fit: cover;
 }

 .treatment-inner-contents ul li h3 {
  font-size: 4vw;
 }

 .treatment-inner-contents ul li .btn {
  width: 90%;
  left: 5%;
 }

 .main > section.examination-contents {
  background: url(../img/index/bg_feature.svg) no-repeat 95% -60%, url(../img/index/bg_feature.svg) no-repeat 5% 140% #43b19f;
  background-size: 60% auto, 60% auto;
 }

 .examination-contents ul {
  flex-wrap: wrap;
 }

 .examination-contents ul li {
  width: 48%;
  margin-bottom: 4%;
 }

 .examination-contents ul li:nth-last-child(2),
 .examination-contents ul li:last-child {
  margin-bottom: 0;
 }

 .examination-contents ul li h3 {
  font-size: 4vw;
 }

 .examination-contents ul li h3 span {
  font-size: 2.6vw;
 }

 .flow-contents .inner ul {
  padding: 0;
 }

 .flow-contents .inner ul li .card {
  padding: 5% 5% 5% 18%;
 }

 .flow-contents .inner ul li:nth-child(3) .card,
 .flow-contents .inner ul li:nth-child(6) .card,
 .flow-contents .inner ul li:nth-child(7) .card {
  padding: 5% 35% 5% 18%;
 }

 .flow-contents .inner ul li h3 {
  font-size: 3vw;
 }

 .flow-contents .inner ul li .card::before {
  font-size: 4vw;
  background: url(../img/treatment/index/ico_tooth.svg) no-repeat center center;
  background-size: 100% auto;
  width: 2em;
  line-height: 2.2em;
  top: -1.3vw;
 }

 /********************************** 01 cavity
*/
 .cavity .treatment-head-contents .wrapper .photos:after {
  width: 40%;
 }

 .main > section.progress-contents {
  background: url(../img/index/bg_feature.svg) no-repeat 95% -30%, url(../img/index/bg_feature.svg) no-repeat 5% 100% #43b19f;
  background-size: 60% auto, 60% auto;
 }

 .progress-contents ul {
  display: block;
 }

 .progress-contents ul li {
  width: 100%;
  margin-right: 0;
  margin-bottom: 5%;
  display: flex;
  justify-content: space-between;
 }

 .progress-contents ul li:nth-child(4) {
  margin-bottom: 5%;
 }

 .progress-contents ul li figure {
  width: 40%;
 }

 .progress-contents ul li figure img {
  height: 100%;
  object-fit: cover;
 }

 .progress-contents ul li .detail {
  width: 55%;
 }

 .progress-contents ul li h3 {
  text-align: left;
  font-size: 2.8vw;
 }

 .progress-contents ul li h3:before {
  display: inline-block;
  font-size: 4vw;
  background: url(../img/index/ico_tooth.svg) no-repeat center center;
  background-size: 100% auto;
  line-height: 2em;
  margin: 0 0.2em 0 0;
  padding: 0 0.2em;
 }

 .cavity .flow-contents .wrapper > .txt {
  text-align: center;
  margin-bottom: 2em;
 }

 .cavity .flow-contents .inner ul li:nth-child(2n) {
  margin-top: 10%;
 }

 .cavity .flow-contents .inner ul li:nth-child(3) .card {
  padding: 5% 5% 5% 18%;
 }

 /********************************** 02 periodontal-disease
*/
 .periodontal-disease .treatment-head-contents .wrapper .photos figure:after {
  width: 50%;
 }

 .periodontal-disease .main > section.treatment-inner-contents {
  padding: 12% 0;
 }

 .periodontal-disease .treatment-inner-contents ul {
  width: 46%;
 }

 .periodontal-disease .treatment-inner-contents ul li {
  padding-bottom: 5%;
  margin-bottom: 5%;
 }

 .periodontal-disease .main > section.treatment-inner-contents .photos {
  width: 50%;
 }

 .periodontal-disease .main > section.treatment-inner-contents .photos:after {
  display: block;
  content: "";
  background: url(../img/about/bg_attention.png) no-repeat center bottom;
  background-size: 100% auto;
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 10%;
  width: 37%;
  max-width: 164px;
  height: 26%;
 }

 .periodontal-disease .main > section.treatment-inner-contents .photos figure {
  height: 40%;
 }

 .periodontal-disease .main > section.treatment-inner-contents .photos figure:first-of-type {
  margin: 0 0 4%;
 }

 .periodontal-disease .main > section.treatment-inner-contents .photos figure img {
  height: 100%;
  object-fit: cover;
 }

 .periodontal-disease .main > section.treatment-inner-contents .photos figure:first-of-type img {
  object-position: 30% 50%;
 }

 .periodontal-disease .main > section.treatment-inner-contents .photos figure:nth-of-type(2) img {
  object-position: 0 50%;
 }

 /********************************** 03 implant
*/
 .implant .treatment-head-contents .detail {
  width: 40%;
 }

 .implant .treatment-head-contents .wrapper .points {
  padding: 6%;
  position: absolute;
  right: 0;
  bottom: -8%;
  z-index: 2;
  box-sizing: border-box;
  width: 100%;
 }

 .implant .treatment-head-contents .wrapper .points:before {
  background-size: 100% auto;
  width: 20%;
  height: 24%;
  position: absolute;
  top: -15%;
  right: 8%;
 }

 .implant .treatment-head-contents .photos {
  width: 54%;
 }

 .implant .treatment-head-contents .photos figure {
  width: 100%;
  min-width: auto;
 }

 .implant .treatment-head-contents .photos figure img {
  height: 70%;
  object-fit: cover;
 }

 .implant .main > section.attention-contents {
  padding: 0;
 }

 .overview-contents ul {
  flex-wrap: wrap;
 }

 .overview-contents ul li {
  width: 48%;
 }

 .overview-contents ul li:first-child,
 .overview-contents ul li:nth-child(2) {
  margin-bottom: 4%;
 }

 .overview-contents ul li figure:after {
  right: -12%;
 }

 .overview-contents ul li h3 {
  font-size: 3vw;
 }

 .overview-contents .point {
  max-width: 100%;
 }

 .overview-contents .point .module {
  align-items: stretch;
 }

 .overview-contents .point:after {
  background-size: cover;
  width: 20%;
 }

 .overview-contents .point .module figure {
  width: 30%;
  max-width: 160px;
 }

 .overview-contents .point .module figure img {
  height: 100%;
  object-fit: cover;
 }

 .overview-contents .point h3 {
  padding-right: 33%;
  font-size: 3vw;
 }

 .main > section.comparison-contents {
  background: url(../img/index/bg_feature.svg) no-repeat 95% -60%, url(../img/index/bg_feature.svg) no-repeat 5% 140% #43b19f;
  background-size: 60% auto, 60% auto;
 }

 .comparison-contents ul {
  flex-wrap: wrap;
 }

 .comparison-contents ul > li {
  width: 48%;
 }

 .comparison-contents ul > li:first-child,
 .comparison-contents ul > li:nth-child(2) {
  margin-bottom: 8%;
 }

 .comparison-contents ul li h3 {
  font-size: 4vw;
 }

 .flow-contents .inner ul li figure {
  position: relative;
  right: inherit;
  top: inherit;
  width: 60%;
  margin: 0 auto 4%;
 }

 .flow-contents .inner ul li figure img {
  border-radius: 16px;
  width: 100%;
 }

 .implant .flow-contents .inner ul li h3 {
  text-align: center;
 }

 .implant .flow-contents .inner ul li .card:before {
  top: -1.3vw;
 }

 .implant .flow-contents .inner ul li .card {
  padding: 8%;
 }

 .implant .flow-contents .inner ul li .point {
  padding: 1em;
  width: 100%;
  margin-top: 1em;
  position: relative;
 }

 .implant .flow-contents .inner ul li .point figure {
  right: inherit;
  width: 60%;
  height: 100%;
 }

 .implant .flow-contents .inner ul li .point figure img {
  border-radius: 16px;
 }

 /********************************** 04 maintenance
*/
 .maintenance .treatment-head-contents .wrapper .detail .txt {
  margin-bottom: 0;
 }

 .maintenance .treatment-head-contents .wrapper .photos:after {
  width: 40%;
 }

 .maintenance .treatment-head-contents .wrapper .photos figure:after {
  width: 37%;
  height: 50%;
 }

 .main > section.purpose-contents {
  background: url(../img/index/bg_feature.svg) no-repeat 95% -60%, url(../img/index/bg_feature.svg) no-repeat 5% 140% #43b19f;
  background-size: 60% auto, 60% auto;
 }

 .purpose-contents ul {
  width: 100%;
  margin: 10% auto 5%;
 }

 .purpose-contents ul li {
  font-size: 3.6vw;
 }

 .purpose-contents ul li p:before {
  font-size: 7vw;
 }

 /******************************************************************** access
*/

 .main > section.information-contents {
  padding: 12% 0;
 }

 .access .information-contents .wrapper .detail {
  padding: 0;
 }

 .access .information-contents .wrapper .inner .photos {
  width: 46.825%;
 }

 .access .information-contents .wrapper .inner .photos figure {
  margin: 0 0 3%;
 }

 .main > section.map-contents {
  background: url(../img/index/bg_feature.svg) no-repeat 95% -60%, url(../img/index/bg_feature.svg) no-repeat 5% 140% #43b19f;
  background-size: 60% auto, 60% auto;
 }

 .access .map-contents iframe {
  margin-bottom: 2%;
 }

 .access .map-contents .inner {
  display: block;
 }

 .access .map-contents .inner ul {
  width: 100%;
  padding-left: 80px;
  box-sizing: border-box;
 }

 .access .map-contents .inner .btn03 {
  width: 80%;
  margin: 4% auto 0;
 }

 /******************************************************************** contact
*/
 .contact-us .main section {
  padding: 8% 0;
 }

 .contact .sub-content {
  padding: 4%;
 }

 .tel-contents .tel {
  font-size: 8vw;
 }

 .tel-contents .tel:before {
  width: 1em;
  height: 0.8em;
 }

 .tel-contents .tel span {
  font-size: 3vw;
  width: 70%;
 }
}

/*************************************************************************************************************************

■ スマホ(600px以下)向けスタイル

*************************************************************************************************************************/

@media screen and (max-width: 600px) {
 /******************************************************************** index
*/

 .index .catch .ttl-area h2 {
  font-size: 9vw;
 }

 .index .slider {
  width: 96%;
 }

 .main > section.about-contents {
  padding: 12% 0 8%;
 }

 .about-contents:before {
  width: 86%;
  height: 80%;
  top: 10%;
 }

 .about-contents:after {
  height: 7em;
  width: 4px;
  top: 10vw;
 }

 .about-contents .wrapper {
  display: block;
  position: relative;
 }

 .about-contents .wrapper .detail {
  width: 100%;
  margin: 0 auto 12%;
 }

 .about-contents .wrapper .detail h2 {
  font-size: 7vw;
 }

 .about-contents .wrapper .detail .txt {
  margin-bottom: 4%;
 }

 .about-contents .wrapper .detail ul {
  width: 90%;
 }

 .about-contents .wrapper .photos {
  width: 100%;
  margin: 0 auto;
  padding-top: 0;
 }

 .about-contents .wrapper .photos figure:nth-of-type(1) {
  width: 30%;
  margin-left: 16%;
 }

 .about-contents .wrapper .photos figure:nth-of-type(1):before {
  background: url(../img/index/p_about_img03_01.png) no-repeat center center;
  background-size: 100% auto;
  width: 80%;
  height: 68%;
  position: absolute;
  left: -52%;
  top: -60%;
 }

 .about-contents .wrapper .photos figure:nth-of-type(1):after {
  background: url(../img/index/p_about_img03_02.png) no-repeat center center;
  background-size: 100% auto;
  width: 70%;
  height: 73%;
  position: absolute;
  right: -34%;
  top: -54%;
 }

 .about-contents .wrapper .photos figure:nth-of-type(2) {
  width: 48%;
 }

 .about-contents .wrapper .photos figure:nth-of-type(2) img {
  margin-bottom: 4%;
 }

 .about-contents .wrapper .photos figure:nth-of-type(2):after {
  background-size: 100% auto;
  width: 80%;
  height: 84%;
  position: absolute;
  right: 0;
  left: -2%;
  top: 44%;
  z-index: 2;
 }

 .about-contents .wrapper .photos figure:nth-of-type(3) {
  width: 100%;
 }

 .about-contents .wrapper .photos figure:nth-of-type(3):after {
  background: url(../img/index/p_about_img02.png) no-repeat center center;
  background-size: 100% auto;
  width: 23%;
  height: 38%;
  position: absolute;
  left: -4%;
  bottom: -4%;
 }

 .news-contents .wrapper {
  display: block;
 }

 .news-contents .wrapper .ttl-area {
  width: 100%;
  margin-bottom: 4%;
 }

 .news-contents .wrapper .ttl-area:after {
  display: none;
 }

 .news-contents .wrapper .ttl-area h3 {
  font-size: 6vw;
  padding-top: 16vw;
 }

 .news-contents .wrapper .ttl-area h3:before {
  background: url(../img/index/ico_info.svg) no-repeat center center;
  background-size: 100% auto;
  width: 14vw;
  height: 15vw;
  margin-left: -7vw;
 }

 .news-contents .wrapper .side-column {
  width: 90%;
  position: relative;
  margin: 0 0 0 10%;
 }

 .news-contents .wrapper .side-column:after {
  display: block;
  content: "";
  background: url(../img/index/p_news.png) no-repeat center bottom;
  background-size: 100% auto;
  width: 24%;
  height: 61%;
  position: absolute;
  left: -12%;
  bottom: -20%;
 }

 .news-contents .wrapper .news-frame iframe {
  height: 50vw;
 }

 .news-contents .wrapper .side-column .notice {
  font-size: 4.8vmin;
 }

 .main > section.feature-contents {
  background: url(../img/index/bg_feature.svg) no-repeat 80% -20%, url(../img/index/bg_feature.svg) no-repeat 5% 140% #43b19f;
  background-size: 80% auto, 50% auto;
 }

 .feature-contents h2:before {
  background: url(../img/index/ico_feature.svg) no-repeat center center;
  background-size: 100% auto;
  width: 14vw;
  height: 14.5vw;
 }

 .feature-contents ul {
  margin-bottom: 0;
 }

 .feature-contents ul li {
  width: 48%;
  margin-bottom: 4%;
 }

 .feature-contents ul li h3 {
  font-size: 5.4vw;
 }

 .feature-contents ul li h3:before {
  font-size: 7vw;
  font-weight: 500;
  background: url(../img/index/ico_tooth.svg) no-repeat center center;
  background-size: 14vw auto;
  line-height: 14vw;
  margin-top: -7vw;
 }

 .feature-contents ul li .txt {
  line-height: 1.4;
 }

 .feature-contents .btn03 {
  width: 90%;
 }

 .treatment-contents h2:before {
  background: url(../img/index/ico_treatment.svg) no-repeat center center;
  background-size: 100% auto;
  width: 14vw;
  height: 14.5vw;
 }

 .treatment-contents ul {
  flex-wrap: wrap;
 }

 .treatment-contents ul li {
  width: 48%;
  margin-bottom: 4%;
 }

 .treatment-contents ul li:nth-last-child(2),
 .treatment-contents ul li:last-child {
  margin-bottom: 0;
 }

 .treatment-contents ul li:before {
  top: inherit;
  bottom: 6%;
 }

 .treatment-contents ul li a {
  padding: 4vw 4% 12vw;
 }

 .treatment-contents ul li h3 {
  font-size: 5.4vw;
 }

 .treatment-contents ul li h3:before {
  font-size: 10vw;
 }

 .treatment-end-contents .wrapper .txt {
  text-align: start;
 }

 .information-contents .wrapper {
  display: block;
 }

 .information-contents .wrapper .detail {
  width: 100%;
 }

 .information-contents .wrapper .detail h2 {
  font-size: 5.8vw;
 }

 .information-contents .wrapper .detail .txt {
  padding-right: 37%;
 }

 .information-contents .wrapper .detail .time:before {
  height: 41vw;
  top: -41vw;
 }

 .information-contents .wrapper .detail .time:after {
  height: 12vw;
  top: -60vw;
 }

 .information-contents .wrapper .detail .tel {
  display: none;
 }

 .information-contents .wrapper .detail .tel-btn {
  display: block;
  width: 90%;
  margin: 0 auto 8%;
 }

 .information-contents .wrapper .detail .tel-btn a {
  display: block;
  line-height: 1.2;
  font-size: 7vw;
  padding: 0.3em 0;
  border-bottom: solid 4px #43b19f;
 }

 .information-contents .wrapper .detail .tel-btn a:before {
  background: url(../img/common/ico_tel.svg) no-repeat 5% center;
  background-size: 100% auto;
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: -0.1em;
  margin-right: 0.3em;
 }

 .information-contents .wrapper .detail .tel-btn a:hover:before {
  background: url(../img/common/ico_tel_white.svg) no-repeat 5% center;
  background-size: 100% auto;
 }

 .information-contents .wrapper .detail .tel-btn a span {
  display: block;
  font-size: 0.8rem;
 }

 .information-contents .wrapper .detail .access {
  background: #e4f5f2;
  display: block;
  border-radius: 8px 8px 0 0;
 }

 .information-contents .wrapper .detail .access .car {
  padding: 4%;
  margin: 0;
  border-radius: 8px 8px 0 0;
 }

 .information-contents .wrapper .detail .access .car:before {
  display: inline-block;
  margin: 0 0.3em 0 0;
  width: 2em;
  height: 1.6em;
  vertical-align: middle;
 }

 .information-contents .wrapper .detail .access .car br {
  display: none;
 }

 .information-contents .wrapper .detail .access .address {
  padding: 4%;
 }

 .information-contents .wrapper .detail .access .address p {
  line-height: 1.4;
  margin-bottom: 4%;
 }

 .information-contents .wrapper .detail .access .address ul li {
  font-size: 0.9rem;
  line-height: 1.4;
 }

 .information-contents .wrapper .map {
  width: 100%;
 }

 .information-contents .wrapper .map iframe {
  width: 100%;
  height: 50vh;
 }

 /******************************************************************** about
*/
 .director-contents:before {
  width: 56%;
 }

 .director-contents .wrapper {
  display: block;
 }

 .director-contents .wrapper .detail {
  width: 100%;
  margin-bottom: 12%;
 }

 .director-contents .wrapper .detail h2 {
  font-size: 7vw;
 }

 .director-contents .wrapper .detail .btn {
  width: 90%;
 }

 .director-contents .wrapper .photos {
  width: 100%;
  display: flex;
  align-items: stretch;
 }

 .director-contents .wrapper .photos figure {
  width: 50%;
 }

 .director-contents .wrapper .photos figure img {
  height: 100%;
  object-fit: cover;
  border-radius: 16px 0 0 16px;
 }

 .director-contents .wrapper .photos .card {
  border-radius: 0 16px 16px 0;
  position: relative;
  padding: 4%;
  right: 0;
 }

 .director-contents .wrapper .photos .card:before {
  background: url(../img/about/p_tooth.png) no-repeat center center;
  background-size: 100% auto;
  width: 30%;
  height: 20vw;
  position: absolute;
  top: -8vw;
  right: -5%;
 }

 .main section.director-contents .wrapper .photos .card .position {
  font-size: 0.8rem;
 }

 .main section.director-contents .wrapper .photos .card h3 {
  font-size: 7vw;
 }

 .main section.director-contents .wrapper .photos .card table {
  font-size: 0.8rem;
 }

 .main section.attention-contents .wrapper .detail h3 {
  font-size: 6vw;
 }

 .main section.attention-contents .wrapper .detail h3:after {
  height: 42vw;
 }

 .about .feature-contents ul li {
  display: block;
 }

 .about .feature-contents ul li figure {
  width: 100%;
  margin-bottom: 4%;
 }

 .about .feature-contents ul li figure img {
  height: 40vw;
  object-fit: cover;
 }

 .about .feature-contents ul li .detail {
  width: 100%;
 }

 .about .feature-contents ul li h3 {
  font-size: 6vw;
 }

 .about .feature-contents ul li h3:before {
  width: 14vw;
 }

 .about .feature-contents ul li .txt {
  text-align: left;
 }

 /******************************************************************** treatment
*/
 .treatment-head-contents .wrapper {
  display: block;
 }

 .treatment-head-contents .wrapper .photos {
  width: 100%;
 }

 .treatment-head-contents .wrapper .photos:after {
  background: url(../img/index/p_about_img01.png) no-repeat center bottom;
  background-size: cover;
  width: 40%;
  height: 24vw;
  left: -2%;
  top: -11vw;
 }

 .treatment-head-contents .wrapper .photos figure:before {
  bottom: -8%;
 }

 .treatment-head-contents .wrapper .photos figure:after {
  background: url(../img/index/p_info01.png) no-repeat center bottom;
  background-size: cover;
  width: 30%;
  height: 34.5vw;
  right: 20%;
  bottom: -8%;
 }

 .treatment-head-contents .wrapper .detail {
  width: 100%;
  margin-bottom: 12%;
 }

 .treatment-head-contents .wrapper .detail h2 {
  font-size: 7vw;
 }

 .treatment-inner-contents h2:before {
  background: url(../img/index/ico_treatment.svg) no-repeat center center;
  background-size: 100% auto;
  width: 14vw;
  height: 14.5vw;
 }

 .treatment-inner-contents ul li figure img {
  height: 20vh;
  object-fit: cover;
 }

 .treatment-inner-contents ul li h3 {
  font-size: 5.4vw;
 }

 .treatment-inner-contents ul li h3:before {
  font-size: 10vw;
 }

 .treatment-inner-contents ul li .txt {
  line-height: 1.6;
 }

 .treatment-inner-contents ul li .btn a {
  font-size: 4vw;
  text-align: left;
  padding-left: 0.5em;
 }

 .main > section.examination-contents {
  background: url(../img/index/bg_feature.svg) no-repeat 80% -20%, url(../img/index/bg_feature.svg) no-repeat 5% 140% #43b19f;
  background-size: 80% auto, 50% auto;
 }

 .examination-contents h2::before {
  background: url(../img/index/ico_feature.svg) no-repeat center center;
  background-size: 100% auto;
  width: 14vw;
  height: 14.5vw;
 }

 .examination-contents ul {
  display: block;
 }

 .examination-contents ul li {
  width: 100%;
  margin-bottom: 8%;
 }

 .examination-contents ul li:nth-last-child(2) {
  margin-bottom: 8%;
 }

 .examination-contents ul li h3 {
  font-size: 5.4vw;
 }

 .examination-contents ul li h3 span {
  font-size: 4vw;
 }

 .examination-contents ul li h3:before {
  font-size: 7vw;
  background: url(../img/index/ico_tooth.svg) no-repeat center center;
  background-size: 14vw auto;
  line-height: 14vw;
  margin-top: -7vw;
 }

 .examination-contents ul li .txt {
  line-height: 1.6;
 }

 .flow-contents h2::before {
  background-size: 100% auto;
  width: 21vw;
  height: 18.5vw;
 }

 .flow-contents .inner ul {
  padding: 0;
 }

 .flow-contents .inner ul li,
 .flow-contents .inner ul li:nth-child(2n) {
  width: 100%;
  padding: 0;
  float: none;
  margin-top: 5%;
 }

 .flow-contents .inner ul li:first-child {
  margin-top: 5%;
 }

 .flow-contents .inner ul li:last-child {
  margin-bottom: 5%;
 }

 .flow-contents .inner ul li:before,
 .flow-contents .inner ul li:after,
 .flow-contents .inner ul li:nth-child(2n):before,
 .flow-contents .inner ul li:nth-child(2n):after {
  display: none;
 }

 .flow-contents .inner ul li .card {
  padding: 5% 5% 5% 15%;
 }

 .flow-contents .inner ul li .card:before {
  font-size: 7vw;
  background: url(../img/treatment/index/ico_tooth.svg) no-repeat center center;
  background-size: 14vw auto;
  line-height: 14vw;
  width: 14vw;
  left: -2%;
  top: -2%;
 }

 .flow-contents .inner ul li:nth-child(3) .card,
 .flow-contents .inner ul li:nth-child(6) .card,
 .flow-contents .inner ul li:nth-child(7) .card {
  padding: 5% 35% 5% 15%;
 }

 .flow-contents .inner ul li h3 {
  font-size: 5.4vw;
 }

 .flow-contents .inner ul li .txt {
  line-height: 1.6;
 }

 .treatment-new-contents .ttl_txt {
  font-size: 18px;
  line-height: 24px;
  margin: 20px 0;
 }

 .treatment-new-contents .details {
  margin: 40px 0;
  font-size: 16px;
  line-height: 25px;
 }

 .treatment-new-contents ul li {
  margin-bottom: 20px;
 }

 .treatment-new-contents ul li:before {
  height: 80px;
 }

 .treatment-new-contents .flex {
  max-width: 100%;
  font-size: 14px;
 }

 .treatment-new-contents .flex .box1 {
  margin-right: 20px;
 }

 .treatment-new-contents .flex .box2 {
  margin-left: 20px;
 }

 .treatment-new-contents .flex p {
  font-weight: 600;
  margin-bottom: 30px;
  text-align: center;
 }

 /********************************** 01 cavity
*/
 .cavity .treatment-head-contents .wrapper .photos:after {
  width: 40%;
 }

 .cavity .treatment-head-contents .wrapper .photos:after {
  background: url(../img/index/p_about_img02.png) no-repeat center bottom;
  background-size: cover;
  width: 30%;
  height: 16vh;
  left: inherit;
  right: 5%;
  top: -5vh;
 }

 .cavity .treatment-head-contents .wrapper .photos figure:after {
  background: url(../img/index/p_news.png) no-repeat center bottom;
  background-size: cover;
  width: 20%;
  height: 30vw;
  left: 8%;
  right: 0;
  bottom: -8%;
 }

 .main > section.progress-contents {
  background: url(../img/index/bg_feature.svg) no-repeat 80% -20%, url(../img/index/bg_feature.svg) no-repeat 5% 140% #43b19f;
  background-size: 80% auto, 50% auto;
 }

 .progress-contents h2::before {
  background: url(../img/treatment/cavity/ico_progress.png) no-repeat center center;
  background-size: 100% auto;
  width: 14vw;
  height: 14vw;
 }

 .progress-contents ul li {
  display: block;
  margin-bottom: 8%;
 }

 .progress-contents ul li:nth-child(4) {
  margin-bottom: 8%;
 }

 .progress-contents ul li figure {
  width: 100%;
  margin-bottom: 3.125%;
 }

 .progress-contents ul li .detail {
  width: 100%;
 }

 .progress-contents ul li h3 {
  text-align: center;
  font-size: 5vw;
 }

 .progress-contents ul li h3:before {
  display: block;
  font-size: 7vw;
  background: url(../img/index/ico_tooth.svg) no-repeat center center;
  background-size: 14vw auto;
  line-height: 14vw;
  margin: -7vw 0 0;
  padding: 0;
 }

 .progress-contents ul li .txt {
  line-height: 1.6;
 }

 .cavity .flow-contents .inner ul li:nth-child(2n) {
  margin-top: 5%;
 }

 .cavity .flow-contents .inner ul li:nth-child(3) .card {
  padding: 5% 5% 5% 15%;
 }

 /********************************** 02 periodontal-disease
*/
 .periodontal-disease .treatment-head-contents .wrapper .photos figure::before {
  bottom: -8%;
 }

 .periodontal-disease .treatment-head-contents .wrapper .photos figure:after {
  width: 40%;
  height: 32vw;
 }

 .periodontal-disease .examination-contents h2::before {
  background: url(../img/treatment/cavity/ico_progress.png) no-repeat center center;
  background-size: 100% auto;
  width: 14vw;
  height: 14vw;
 }

 .periodontal-disease .main > section.treatment-inner-contents .inner {
  display: block;
 }

 .periodontal-disease .treatment-inner-contents ul {
  width: 100%;
  margin-bottom: 10%;
 }

 .periodontal-disease .main > section.treatment-inner-contents .photos {
  width: 100%;
 }

 .periodontal-disease .main > section.treatment-inner-contents .photos:after {
  bottom: 0;
  height: 42vw;
 }

 /********************************** 03 implant
*/

 .implant .treatment-head-contents .photos figure img {
  height: 70vw;
 }

 .implant .treatment-head-contents .wrapper .points {
  position: relative;
  bottom: inherit;
 }

 .implant .main section.treatment-head-contents .wrapper .points h3 {
  font-size: 7vw;
 }

 .overview-contents h2:before {
  background-size: 100% auto;
  width: 25vw;
  height: 14vw;
 }

 .overview-contents ul {
  display: block;
 }

 .overview-contents ul li {
  width: 100%;
  padding-bottom: 1em;
  position: relative;
 }

 .overview-contents ul li:first-child,
 .overview-contents ul li:nth-child(2) {
  margin-bottom: 0;
 }

 .overview-contents ul li:last-child {
  padding-bottom: 0;
 }

 .overview-contents ul li:after {
  display: block;
  content: "";
  width: 0;
  border-width: 1em;
  border-top-color: #43b19f;
  border-left-color: transparent;
  border-bottom-color: transparent;
  border-right-color: transparent;
  border-style: solid;
  margin: 0 0 0 -1em;
  position: relative;
  left: 50%;
  bottom: -1em;
  z-index: 2;
 }

 .overview-contents ul li:last-child:after {
  display: none;
 }

 .overview-contents ul li figure:after {
  display: none;
 }

 .overview-contents ul li figure {
  background: #e4f5f2;
  border-radius: 16px;
  text-align: center;
 }

 .overview-contents ul li figure img {
  width: 60%;
 }

 .overview-contents ul li h3 {
  font-size: 5vw;
 }

 .overview-contents .point .module {
  display: block;
  padding: 2%;
 }

 .overview-contents .point:after {
  background-size: 100% auto;
  width: 30%;
  height: 16vh;
 }

 .overview-contents .point .module figure {
  display: none;
 }

 .overview-contents .point h3 {
  padding-right: 30%;
  font-size: 5vw;
  margin-bottom: 2%;
 }

 .overview-contents .point ol {
  font-size: 1rem;
 }

 .main > section.comparison-contents {
  background: url(../img/index/bg_feature.svg) no-repeat 80% -20%, url(../img/index/bg_feature.svg) no-repeat 5% 140% #43b19f;
  background-size: 80% auto, 50% auto;
 }

 .comparison-contents h2:before {
  width: 14vw;
  height: 14vw;
 }

 .comparison-contents ul > li {
  width: 100%;
  border-bottom: #fff 1px dashed;
  padding-bottom: 8%;
  margin-bottom: 8%;
 }

 .comparison-contents ul > li:first-child,
 .comparison-contents ul > li:nth-child(2) {
  margin-bottom: 8%;
 }

 .comparison-contents ul > li:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
 }

 .comparison-contents ul li figure {
  background: #fff;
  border-radius: 16px;
  text-align: center;
 }

 .comparison-contents ul li figure img {
  width: 60%;
 }

 .comparison-contents ul li h3 {
  font-size: 6vw;
 }

 .comparison-contents ul li .icons {
  width: 94%;
  margin: 0 auto 1em;
 }

 .comparison-contents ul li .feature {
  width: 94%;
  margin: 0 auto;
  box-sizing: border-box;
 }

 .implant .flow-contents .inner ul li:nth-child(2n) {
  margin-top: 5%;
 }

 .flow-contents .inner ul li figure {
  position: relative;
  right: inherit;
  top: inherit;
  width: 60%;
  margin: 0 auto 4%;
 }

 .flow-contents .inner ul li figure {
  max-width: 160px;
 }

 .implant .flow-contents .inner ul li .card {
  padding: 5%;
 }

 /********************************** 04 maintenance
*/
 .maintenance .treatment-head-contents .wrapper .photos:after {
  background-size: cover;
  width: 30%;
  height: 16vh;
  left: -2%;
 }

 .maintenance .treatment-head-contents .wrapper .photos figure:after {
  background-size: cover;
  width: 30%;
  height: 55.5%;
  bottom: -8%;
 }

 .main > section.purpose-contents {
  background: url(../img/index/bg_feature.svg) no-repeat 95% -60%, url(../img/index/bg_feature.svg) no-repeat 5% 300% #43b19f;
  background-size: 60% auto, 60% auto;
 }

 .purpose-contents ul {
  width: 100%;
  margin: 10% auto 5%;
 }

 .purpose-contents ul li {
  font-size: 3.6vw;
 }

 .purpose-contents ul li p:before {
  font-size: 7vw;
 }

 /******************************************************************** access
*/

 .access .information-contents h2:before {
  width: 14vw;
  height: 12vw;
 }

 .access .information-contents .wrapper .inner {
  display: block;
 }

 .access .information-contents .wrapper .inner .photos {
  width: 100%;
  display: flex;
 }

 .access .information-contents .wrapper .inner .photos figure {
  margin: 0;
 }

 .access .information-contents .wrapper .inner .photos figure img {
  border-radius: 0 0 0 8px;
 }

 .access .information-contents .wrapper .inner .photos li:nth-child(2) figure img {
  border-radius: 0 0 8px 0;
 }

 .access .information-contents .wrapper .detail .access .address p {
  margin-bottom: 0;
 }

 .main > section.map-contents {
  background: url(../img/index/bg_feature.svg) no-repeat 80% -20%, url(../img/index/bg_feature.svg) no-repeat 5% 140% #43b19f;
  background-size: 80% auto, 50% auto;
 }

 .access .map-contents h2:before {
  width: 14vw;
  height: 12vw;
 }

 .access .map-contents iframe {
  height: 50vh;
 }

 .access .map-contents .inner .btn03 {
  width: 90%;
  margin: 4% auto 0;
 }

 .access .photos-contents h2:before {
  width: 14vw;
  height: 11vw;
 }

 .access .photos-contents ul li {
  width: 31%;
  margin-bottom: 3.5%;
 }

 /******************************************************************** contact
*/

 .form-contents table tr th {
  padding: 1em 0.5em 0.5em;
  width: 100%;
  display: block;
 }

 .form-contents table tr td {
  padding: 0.5em 0.5em 1em;
  display: block;
  border-bottom: #392222 1px dotted;
 }

 .form-contents table tr th.required p:before {
  display: inline-block;
  content: "必須";
  background: #c00;
  color: #fff;
  font-size: 0.8em;
  padding: 0.1em 0.5em;
  border-radius: 4px;
  margin-right: 0.5em;
 }

 .form-contents table tr th.option p:before {
  display: inline-block;
  content: "任意";
  background: #ccc;
  font-size: 0.8em;
  padding: 0.1em 0.5em;
  border-radius: 4px;
  margin-right: 0.5em;
 }

 .form-contents .txt:nth-of-type(2) br {
  display: none;
 }

 .form-contents .btn {
  width: 90%;
 }

 .tel-contents .tel {
  display: none;
 }

 .tel-contents .tel-btn {
  display: block;
 }

 .tel-contents .tel-btn {
  display: block;
  width: 90%;
  margin: 0 auto 4%;
 }

 .tel-contents .tel-btn a {
  line-height: 1.2;
  font-size: 7vw;
  padding: 0.3em 0;
  border-bottom: solid 4px #43b19f;
 }

 .tel-contents .tel-btn a:before {
  background: url(../img/common/ico_tel.svg) no-repeat 5% center;
  background-size: 100% auto;
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
  vertical-align: -0.1em;
  margin-right: 0.3em;
 }

 .tel-contents .tel-btn a:hover:before {
  background: url(../img/common/ico_tel_white.svg) no-repeat 5% center;
  background-size: 100% auto;
 }

 .tel-contents .tel-btn a span {
  display: block;
  font-size: 0.8rem;
 }
}
