:root{
	--base-font: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	--sub-font: ten-mincho, serif;
	--en-font: ten-mincho, serif;
	--base-color: #382714;
	--sub-color01: #c44e6d; /* ピンク */
	--sub-color02: #738b1a; /* みどり */
	--sub-color03: #ae7e1a; /* 黄土色 */
}

*{ box-sizing: border-box; }
html { font-size: 62.5%; }
body{
	font-family: var(--base-font);
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--base-color);	
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.05em;
	text-align: justify;
}

h1,h2,h3,h4,h5,h6{ font-family: var(--sub-font); font-weight: 400; line-height: 1.556; }

a{ transition: .5s; }
a:hover{ opacity: .6; }
br{ line-height: inherit; }
span, a, strong, small, address{ color: inherit; font-size: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; letter-spacing: inherit; }

@media(min-width: 769px){
	.sp{ display: none !important; }
}

.js-bg-lazy{ background-image: none !important; }


/* ==========================================================================//
// Layout
// ==========================================================================*/

.l-body-inner{ position: relative; }

.l-header{ position: absolute; top: 1.3rem; left: 1rem; z-index: 10; }

.l-nav{ width: 30rem; height: 100vh; background: var(--base-color); color: #fff; position: fixed; top: 0; right: -30rem; z-index: 9989; padding-top: 13rem; transition: .5s; }
.l-nav.is-active{ right: 0; }
.l-nav-list__item{ font-size: 1.8rem; padding: 1.5rem 6rem; border-top: solid 1px #4c3d2b; }
.l-nav-list__item:last-of-type{ border-bottom: solid 1px #4c3d2b; }

.l-wrapper{ width: 80rem; margin: 0 auto; position: relative; }
.l-wrapper--midium{ width: 90rem; }
.l-wrapper--large{ width: 100rem; }

.l-overflow{ overflow: hidden; }

.l-footer{ background: url(../images/webp/bg-paper03.webp); }
.l-footer__wrapper{ padding-top: 5rem; }
.l-footer__bg1{ position: absolute; top: 10rem; left: /*-23.5rem*/calc(-50vw + 40rem - 3.5rem);  }
.l-footer__bg2{ position: absolute; top: 1.2rem; right: /*26.5rem*/calc(-50vw + 40rem - 4.2rem); }
.l-footer__logo{ display: block; width: fit-content; margin: 0 auto 5rem; }
.l-footer__nav{ display: flex; justify-content: center; font-size: 1.2rem; margin-bottom: 4rem; position: relative; }
.l-footer__nav-item + .l-footer__nav-item{ margin-left: 1.2em; }
.l-footer__copy{ display: block; background: var(--base-color); color: #aa9580; font-size: 1rem; text-align: center; padding: .5rem 0; }

@media(min-width: 769px){
	.l-float-btn{ position: absolute; top: 1.5rem; left: 21.5rem; z-index: 9979; display: flex; align-items: center; }
	.l-float-btn__item:nth-of-type(1){ order: 3; margin-left: .5rem; }
	.l-float-btn__item:nth-of-type(2){ order: 2; margin-left: .5rem; }
	.l-float-btn__item:nth-of-type(3){ order: 1; }
	.l-float-btn__link{ display: block; }
	.l-float-btn__inner--app{ width: 16rem; height: 4rem; display: flex; justify-content: center; align-items: center; border-radius: 2rem; background: var(--base-color); font-size: 1.6rem; color: #fff; }
	.l-float-btn__inner--tel{ font-size: 1.8rem; }
}

.l-menu-btn{ width: 6rem; height: 6rem; background: var(--base-color); position: fixed; top: 0; right: 0; z-index: 9990; cursor: pointer; padding-top: 1.6rem; }
.l-menu-btn__inner{ width: 1.6rem; height: 1.1rem; position: relative; margin: 0 auto .2rem; }
.l-menu-btn__border{ width: 100%; height: 1px; background: #fff; position: absolute; left: 0; transition: .5s; }
.l-menu-btn__border:nth-of-type(1){ top: 0; }
.l-menu-btn__border:nth-of-type(2){ top: 50%; transform: translateY(-50%); }
.l-menu-btn__border:nth-of-type(3){ bottom: 0; }
.l-menu-btn__text{ display: block; font-size: 1.2rem; color: #fff; letter-spacing: 0; text-align: center; }
.l-menu-btn.is-active .l-menu-btn__border:nth-of-type(1){ transform: translateY(5px) rotate(45deg); }
.l-menu-btn.is-active .l-menu-btn__border:nth-of-type(2){ opacity: 0; }
.l-menu-btn.is-active .l-menu-btn__border:nth-of-type(3){ transform: translateY(-5px) rotate(-45deg); }

.l-shishiodoshi{ display: block; position: fixed; bottom: -12rem; right: 0; z-index: 9970; width: 14.5rem; transition: .5s; cursor: pointer; }
.l-shishiodoshi.is-active{ bottom: -.1rem; }
.l-shishiodoshi__item1{ max-width: none; }
.l-shishiodoshi__item2{ position: absolute; top: 0; left: 0; transform-origin: /*5rem 6rem*/4.5rem 6.8rem; transition: .8s; z-index: 2; max-width: none; }
.l-shishiodoshi__item3{ position: absolute; top: 0; left: 0; z-index: 2; max-width: none; }
.l-shishiodoshi__item4{ position: absolute; top: 0; left: 0; z-index: -1; width: 21.5rem; height: 4.2rem; object-fit: cover; object-position: top left; transition: .8s; max-width: none; }
.l-shishiodoshi:hover{ opacity: 1; }
.l-shishiodoshi:hover .l-shishiodoshi__item2{ transform: rotate(36deg);  }
.l-shishiodoshi:hover .l-shishiodoshi__item4{ height: 8.5rem; }


/* ==========================================================================//
// Object
// ==========================================================================*/

.c-btn-gohst{ width: 33.5rem; max-width: 100%; height: 6rem; border-radius: 3rem; font-size: 1.6rem; display: flex; justify-content: center; align-items: center; border: solid 1px; position: relative; }
.c-btn-gohst:after{ content: ''; width: .6rem; height: .6rem; border-right: solid 1px; border-bottom: solid 1px; position: absolute; top: 50%; right: 1.2rem; transform: translateY(-50%) rotate(-45deg); transition: .5s; }
.c-btn-gohst:hover{ background: #fff; opacity: 1; }
.c-btn-gohst:hover:after{ border-color: var(--base-color); }
.c-btn-gohst--small{ width: 16rem; }
.c-btn-gohst__inner{ position: relative; transition: .5s; }
.c-btn-gohst:hover .c-btn-gohst__inner{ color: var(--base-color); }
.c-btn-gohst__inner--big{ font-size: 2.2rem; margin-left: .4rem; }
.c-btn-gohst__inner--tel{ padding-left: 2.4rem; background: url(../images/icon-tel01.svg) no-repeat left center/1.8rem; display: flex; align-items: center; transition: .5s; }
.c-btn-gohst__inner--app{ padding-left: 2.9rem; background: url(../images/icon-app01.svg) no-repeat left center/2rem; }
/*.c-btn-gohst__inner--line{ padding-left: 2.9rem; background: url(../images/icon-line01.svg) no-repeat left center/2.2rem; }*/
.c-btn-gohst__inner--line{ padding-left: 2.9rem; background: url(../images/icon-app01.svg) no-repeat left center/2rem; font-size: 1.4rem; }
.c-btn-gohst:hover .c-btn-gohst__inner--tel{ background-image: url(../images/icon-tel02.svg); }
.c-btn-gohst:hover .c-btn-gohst__inner--app{ background-image: url(../images/icon-app02.svg); }
/*.c-btn-gohst:hover .c-btn-gohst__inner--line{ background-image: url(../images/icon-line02.svg); }*/
.c-btn-gohst:hover .c-btn-gohst__inner--line{ background-image: url(../images/icon-app02.svg); }

.c-logo-head{ font-size: 3.6rem; font-family: var(--base-font); font-weight: 700; text-align: center; line-height: 1.333; padding-top: 4.8rem; background: url(../images/ttl01.svg) no-repeat top center/3.66rem; margin-bottom: 4rem; }
.c-logo-head--pink{ background-image: url(../images/ttl02.svg); }
.c-logo-head--green{ background-image: url(../images/ttl03.svg); }
.c-logo-head__small{ display: block; font-size: 1.4rem; margin-bottom: .6rem; padding-top: .7rem; }

.c-hour-table{ width: 33.5rem; table-layout: fixed; font-size: 1.5rem; margin-bottom: .5rem; }
.c-hour-table__head-th{ width: 11.5rem; height: 4rem; background: var(--base-color); color: #fff; vertical-align: middle; text-align: center; font-weight: 400; }
.c-hour-table__head-td{ background: var(--base-color); color: #fff; text-align: center; vertical-align: middle; }
.c-hour-table__head-td:last-of-type{ width: 3.8rem; padding-right: .9rem; }
.c-hour-table__body-th{ height: 4.5rem; vertical-align: middle; font-weight: 400; border-bottom: solid 1px; text-align: right; padding-right: .4rem; }
.c-hour-table__body-td{ text-align: center; vertical-align: middle; border-bottom: solid 1px var(--base-color); color: #aa9580; }
.c-hour-table__body-td:last-of-type{ padding-right: .9rem; }
.c-hour-table__body-td--pink{ color: var(--sub-color01); }
.c-hour-table__note{ font-size: 1.5rem; display: flex; justify-content: space-between; margin-bottom: 1rem; padding-left: .7rem; }
.c-hour-table__note-day{ font-weight: 700; }
.c-hour-table__note-time--pink{ color: var(--sub-color01); }

.c-text__tel{ display: block; width: fit-content; font-size: 4.2rem; white-space: nowrap; line-height: 1; }
.c-text__tel--small{ font-size: 2.8rem; }

.p-mv{ width: 100%; height: max(100vh, 70rem); position: relative; background: url(../images/webp/mv-bg01.webp) no-repeat center/cover; }
.p-mv-inner{ width: 61.1rem; position: absolute; bottom: 0; right: 3.3rem; padding: 0 0 11.5rem 40rem; }
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  _::-webkit-full-page-media, _:future, .p-mv-inner {
    right: 43rem;
  }
}
.p-mv-text-box{ position: absolute; top: 50%; right: 3.3rem; transform: translateY(-50%); white-space: nowrap; }
.p-mv-inner__catch{ font-size: 2.1rem; letter-spacing: .1em; border-left: solid 1px; height: fit-content; margin-left: 1rem; position: relative; z-index: 2; }
.p-mv-inner__head{ font-size: 4.4rem; line-height: 1.8; position: relative; z-index: 2; }
.p-mv-inner__head--strong{ font-size: 7.6rem; line-height: 1; }
.p-mv-inner__head--green{ color: var(--sub-color02); }
.p-mv-inner__head--pink{ color: var(--sub-color01); }
.p-mv-inner__img1{ position: absolute; bottom: .8rem; left: 0; }
.p-mv-inner__img2{ position: absolute; bottom: 0; right: 0; }

.p-worry{ position: relative; z-index: 0; }
.p-worry:before{ content: ''; width: 100%; height: 35rem; border-radius: 0 0 10rem 10rem; background: url(../images/webp/bg-paper01.webp) no-repeat center bottom/cover; position: absolute; top: 0; left: 0; z-index: -1; }
.p-worry__wrapper{ height: 56.4rem; }
.p-worry__wrapper:after{ content: ''; width: 11.5rem; height: 7.8rem; background: url(../images/webp/worry-arrow01.webp) no-repeat top center/contain; position: absolute; top: 34.8rem; right: 3.5rem; }
.p-worry__head{ font-size: 3.6rem; line-height: 1.444; letter-spacing: .1em; color: #fff; width: 20.3rem; height: 40rem; display: flex; justify-content: center; align-items: center; background: url(../images/worry-ttl01.svg) no-repeat center/contain; position: absolute; bottom: 11.8rem; left: 50%; transform: translateX(-50%); }
.p-worry__head:after{ content: ''; width: 17.2rem; height: 27.7rem; background: url(../images/webp/worry-ttl02.webp) no-repeat bottom center/contain; position: absolute; bottom: -11.8rem; right: -7.5rem; }
.p-worry__head-inner{ display: block; }
.p-worry__head-small{ display: block; font-size: 2rem; margin-left: 1rem; }
.p-worry__head-border{ position: relative; }
.p-worry__head-border:before{ content: ''; width: .6rem; height: 100%; border-left: solid 1px; border-right: solid 1px; position: absolute; top: 0; right: -.6rem; box-sizing: border-box; }
.p-worry-list__item{ font-size: 1.8rem; font-weight: 700; width: 30rem; height: 5.2rem; border-radius:  2.6rem; display: flex; justify-content: center; align-items: center; background: #fff; position: absolute; }
.p-worry-list__item:nth-of-type(1){ top: 6rem; left: 0; }
.p-worry-list__item:nth-of-type(2){ top: 14.5rem; left: 6.5rem }
.p-worry-list__item:nth-of-type(3){ top: 23rem; left: 0; }
.p-worry-list__item:nth-of-type(4){ top: 11rem; right: 0; }
.p-worry-list__item:nth-of-type(5){ top: 19rem; right: 6.5rem; }
.p-worry-list__item:after{ content: ''; width: 1.74rem; height: 1.3rem; background: url(../images/balloon01.svg) no-repeat top center/contain; position: absolute; bottom: -1.3rem; right: 3.2rem; }
.p-worry-list__item:nth-of-type(n+4):after{ background-image: url(../images/balloon02.svg); right: auto; left: 3.2rem; }
.p-worry-list__inner:first-letter{ font-size: 3.2rem; color: var(--sub-color03); line-height: 1; vertical-align: middle; }

.p-resolve__wrapper{ height: 42.5rem; }
.p-resolve__head{ font-size: 3.6rem; line-height: 1.444; letter-spacing: .1em; position: absolute; top: -10rem; left: 0; z-index: 0; }
.p-resolve__head:before{ content: ''; width: 15rem; height: 17.3rem; background: url(../images/resolve-ttl01.svg) no-repeat center/contain; position: absolute; top: -8.5rem; left: 50%; transform: translateX(-50%); z-index: -1; }
.p-resolve__head-small{ display: block; font-size: 2rem; margin-left: 1rem; }
.p-resolve__head--yellow{ color: var(--sub-color03); }
.p-resolve-list__item{ position: absolute; }
.p-resolve-list__item:nth-of-type(1){ top: 0; right: 14rem; }
.p-resolve-list__item:nth-of-type(2){ top: 12.5rem; right: 31.3rem; }
.p-resolve-list__item:nth-of-type(3){ top: 12.5rem; right: -5rem; }
.p-resolve-list__item:nth-of-type(4){ top: 25rem; left: 0; }
.p-resolve-list__item:nth-of-type(5){ top: 25rem; right: 12rem; }
.p-resolve__bg1{ position: absolute; top: -6.5rem; left: /*-23.5rem*/calc(-50vw + 40rem - 3.8rem); mix-blend-mode: multiply; }
.p-resolve__bg2{ position: absolute; top: -20rem; right: /*-26.5rem*/calc(-50vw + 40rem - 7rem); mix-blend-mode: multiply; }

.p-worry-list__head{ width: 23rem; height: 4rem; border-radius: 2rem; background: #be9848; color: #fff; font-weight: 700; display: flex; justify-content: center; align-items: center; margin: 0 auto; position: relative; z-index: 1; margin-bottom: -1.2rem; }
.p-worry-list__head:after{ content: ''; width: 1.74rem; height: 1.3rem; background: url(../images/balloon03.svg) no-repeat top center/contain; position: absolute; right: 4rem; bottom: -1.3rem; }
.p-worry-list__head-inner:first-letter{ font-size: 2.4rem; line-height: 1; vertical-align: top; }
.p-worry-list__text{ width: 31.5rem; height: 7rem; background: #fff; display: flex; justify-content: center; align-items: center; margin: 0 auto; border: solid 1px; position: relative; z-index: 0; font-size: 2rem; padding-top: 1rem; }
.p-worry-list__text:before{ content: ''; width: calc(100% - 1rem); height: calc(100% - 1rem); box-sizing: border-box; border: solid 1px; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1; }
.p-worry-list__text--marker{ background:linear-gradient(transparent 60%, #eee5d0 60%); }

.p-contact{ background: url(../images/webp/contact-bg01.webp) no-repeat center/cover; position: relative; z-index: 0; }
.p-contact--bg2{ background-image: url(../images/webp/contact-bg02.webp); }
.p-contact--bg3{ background-image: url(../images/webp/contact-bg03.webp); }
.p-contact__bg{ width: calc(50vw + 10rem); height: 100%; background: linear-gradient(90deg, rgba(170,149,128,0) 0%, rgba(130,100,69,1) 35%, rgba(130,100,69,1) 100%); mix-blend-mode: multiply; position: absolute; top: 0; right: calc(-50vw + 50rem); z-index: -1; }
.p-contact__bg--left{ right: auto; left: calc(-50vw + 50rem); transform: scale(-1,-1); }
.p-contact__inner{ width: 42rem; margin-left: auto; padding: 6rem 0 5.5rem; position: relative; z-index: 0; color: #fff; }
.p-contact__inner--left{ margin-left: 0; }
.p-contact__head{ font-size: 2.8rem; text-align: center; line-height: 1.429; margin-bottom: 1.3rem; }
.p-contact__text{ max-width: 33.5rem; margin: 0 auto 2.7rem; }

.p-btn-box{ display: flex; flex-wrap: wrap; justify-content: space-between; width: 33.5rem; margin: 0 auto; }
.p-btn-box .c-btn-gohst:nth-of-type(1){ margin-bottom: 1.5rem; }

.p-doctor{ position: relative; z-index: 0; margin-bottom: 7rem; }
.p-doctor:before{ content: ''; width: 100%; height: 100%; background: linear-gradient(180deg, rgba(200,167,99,0) 0%, rgba(200,167,99,0) 25%, rgba(227,211,177,1) 100%); mix-blend-mode: multiply; position: absolute; top: 0; left: 0; }
.p-doctor__wrapper{ padding-top: 11rem; padding-bottom: 4.5rem; display: flex; flex-direction: row-reverse; }
.p-doctor__bg1{ position: absolute; bottom: 0; right: /*-26.5rem*/calc(-50vw + 40rem - 7rem); mix-blend-mode: multiply; }
.p-doctor__bg2{ position: absolute; top: 0; left: /*-26rem*/calc(-50vw + 40rem - 6.5rem); mix-blend-mode: multiply; }
.p-doctor__bg3{ position: absolute; bottom: 0; left: -20rem; }
.p-doctor__image{ position: absolute; bottom: 0; left: -4.6rem; }
.p-doctor__head-box{ margin-right: -1.2rem; }
.p-doctor__head{ font-size: 3.6rem; letter-spacing: .1em; line-height: 1.333; width: fit-content; margin: 0 auto 2rem; }
.p-doctor-name{ background: #fff; line-height: 1.8; padding: 1.8rem 1rem; border: solid 1px; position: relative; z-index: 0; }
.p-doctor-name:before{ content: ''; width: calc(100% - 1rem); height: calc(100% - 1rem); box-sizing: border-box; border: solid 1px; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1; }
.p-doctor-name__right{ font-size: 1.6rem; }
.p-doctor-name__left{ font-size: 2rem; height: fit-content; margin-top: auto; }
.p-doctor-name__right-small{ font-size: 1.2rem; margin-bottom: 1em; }
.p-doctor__inner{ width: 28rem; min-height: 51rem; margin: 0 9rem 0 auto; position: relative; }
.p-doctor__head2{ font-size: 2rem; line-height: 1.6; border-bottom: solid 1px var(--sub-color03); padding-bottom: 1.5rem; margin-bottom: 2rem; }
 
.p-teeth{ margin-bottom: 12.4rem; }
.p-teeth-list{ width: 110rem; background: url(../images/webp/teeth-bg01.webp); position: relative; left: 50%; transform: translateX(-50%); display: flex; border-radius: 2rem; padding: 5rem 4rem 4.4rem; }
.p-teeth-list__item{ width: 100%; background: url(../images/teeth-bg02.svg) no-repeat top center/13.4rem; padding-top: 3.8rem; }
.p-teeth-list__img{ display: block; margin: 0 auto 1.3rem; }
.p-teeth-list__head{ font-size: 1.8rem; font-weight: 700; text-align: center; }
.p-teeth-list__text{ color: #aa9580; text-align: center; }

.p-feature{ display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 11rem; }
.p-feature__head{ width: fit-content; position: sticky; top: 0; left: 0; padding-top: 7.5rem; }
.p-feature-list__item + .p-feature-list__item{ margin-top: 3.8rem; }
.p-feature-list{ width: 60rem; counter-reset: feature; }
.p-feature-list__head{ width: 55rem; height: 10.6rem; display: flex; align-items: center; padding-left: 15rem; margin: 0 0 1.8rem auto; font-size: 1.8rem; font-weight: 700; border-left: solid 1px var(--sub-color03); border-bottom: solid 1px var(--sub-color03); position: relative; }
.p-feature-list__head:before{ counter-increment: feature; content: counter(feature,decimal-leading-zero); font-size: 7.2rem; font-family: var(--sub-font); font-weight: 400; line-height: 1; letter-spacing: 0; color: var(--sub-color03); position: absolute; top: 50%; left: 5rem; transform: translateY(-50%); }
.p-feature-list__text{ max-width: 50rem; margin-left: auto; }

.p-difference{ background: url(../images/webp/teeth-bg01.webp); padding: 3.6rem 5rem 5rem; border-radius: 2rem; }

.p-choise{ padding-top: 4.5rem; }
.p-choise-box{ display: flex; }
.p-choise-box__link{ display: block; width: 100%; position: relative; z-index: 0; overflow: hidden; }
.p-choise-box__img{ width: 100%; height: 100%; object-fit: cover; object-position: center; position: absolute; top: 0; left: 0; z-index: -1; transition: .5s; }
.p-choise-box__inner{ width: 60rem; max-width: 50vw; height: 30rem; display: flex; align-items: center; justify-content: center; }
.p-choise-box__inner--leftauto{ margin-left: auto; }
.p-choise-box__text{ font-size: 4rem; line-height: 1.8; color: #fff; display: block; padding-bottom: 5rem; background: url(../images/arrow01.svg) no-repeat bottom center/4.1rem; }
.p-choise-box__link:hover{ opacity: 1; }
.p-choise-box__link:hover .p-choise-box__img{ transform: scale(1.1); }

.p-overbiew{ margin-bottom: 7.5rem; padding-top: 29rem; background: url(../images/overbiew-bg01.svg) no-repeat top 9rem center/15rem; }
.p-overbiew--green{ background-image: url(../images/overbiew-bg02.svg); }
.p-overbiew__head{ font-size: 3.6rem; letter-spacing: .1em; border: solid 1px; padding: 2.2rem 1.2rem; position: relative; z-index: 0; margin: 0 auto 5rem; }
.p-overbiew__head:before{ content: ''; width: calc(100% - 1rem); height: calc(100% - 1rem); border: solid 1px; box-sizing: border-box; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1; }
.p-overbiew__text{ position: absolute; top: 33rem; right: 46rem; }
.p-overbiew__img{ width: calc(50vw + 50rem); max-width: none; height: 30rem; object-fit: cover; object-position: center; display: block; transform: translateX(-10rem); }

.p-mouthpiece-point{ margin-bottom: 11rem; }

.p-head-image-list{ display: flex; justify-content: space-around; }
.p-head-image-list__item{ width: 26rem; }
.p-head-image-list__head{ width: 100%; height: 5rem; display: flex; justify-content: center; align-items: center; font-size: 1.8rem; font-weight: 700; background: var(--sub-color01); color: #fff; letter-spacing: .1em; }
.p-head-image-list__head--thick{ height: 6rem; }
.p-head-image-list--green .p-head-image-list__head{ background: var(--sub-color02); }
.p-head-image-list__head-inner{ display: block; }
.p-head-image-list__head-small{ display: block; font-size: 1.2rem; text-align: center; line-height: 1; }
.p-head-image-list__img{ display: block; width: 100%; margin-bottom: 1.6rem; }

.p-side-image{ display: flex; justify-content: space-between; align-items: flex-end; }
.p-side-image + .p-side-image{ margin-top: 6.5rem; }
.p-side-image__content{ width: 54.5rem; }
.p-side-image__content > *{ margin-bottom: 1.5rem; }
.p-side-image__content > *:last-child{ margin-bottom: 0; }
.p-side-image__head{ font-size: 2rem; line-height: 1.6; font-weight: 700; color: var(--sub-color01); letter-spacing: .1em; border-left: solid .4rem; padding-left: 1.5rem; margin-bottom: 2rem; }
.p-side-image__head--green{ color: var(--sub-color02); }
.p-side-image__list{ background: #fbf3f5; padding: 1rem 2rem; border-radius: 1rem; }
.p-side-image__list--green{ background: #f5f7ef; }
.p-side-image__list-item{ font-weight: 700; line-height: 1.571; padding-left: 1.8rem; position: relative; }
.p-side-image__list-item:before{ content: '\025cf'; color: var(--sub-color01); position: absolute; left: 0; }
.p-side-image__list--green .p-side-image__list-item:before{ color: var(--sub-color02); }
.p-side-image__list-item + .p-side-image__list-item{ margin-top: .7rem; }

.p-side-image2{ display: flex; }
*:not(h2) + .p-side-image2{ margin-top: 12rem; }
.p-side-image2__content{ width: 50rem; }
.p-side-image2__head{ font-size: 2.4rem; font-weight: 700; letter-spacing: .1em; color: #fff; padding: 2rem 5rem; background: url(../images/ttl04.svg) var(--sub-color02) no-repeat right 4rem center/15.6rem; margin-bottom: 4rem; }
.p-side-image2__text{ max-width: 40rem; margin: 0 5rem 0 auto; }
.p-side-image2__image{ width: 50rem; }
.p-side-image2__img{ width: 100%; height: 100%; object-fit: cover; object-position: center; }

.p-side-image-list{ display: flex; justify-content: space-between; }
.p-side-image-list__flex{ width: 42.5rem; display: flex; justify-content: space-between; align-items: flex-end; }
.p-side-image-list__image{ width: 15rem; }
.p-side-image-list__content{ width: 25rem; }
.p-side-image-list__head{ font-size: 1.8rem; font-weight: 700; color: var(--sub-color02); padding-left: 1.2em; position: relative; margin-bottom: 1rem; }
.p-side-image-list__head:before{ content: '\025a0'; position: absolute; left: 0; }
.p-side-image + .p-side-image-list{ margin-top: 5rem; }

.p-mouthpiece-orth{ margin-bottom: 7.5rem; }

.p-comparison{ background: url(../images/webp/teeth-bg01.webp); padding: 3.5rem 5rem 5rem; border-radius: 2rem; margin-bottom: 17rem; }

.p-flow{ padding-bottom: 12rem; }
.p-flow__wrapper{ display: flex; justify-content: space-between; }
.p-flow__slidewrapper{ width: 62rem; }
.p-flow-slide{ overflow: hidden; }
.p-flow-slide__img{ width: 100%; display: block; margin-bottom: 3.5rem; }
.p-flow-slide__head{ font-size: 1.8rem; font-weight: 700; padding-left: 4.5rem; position: relative; margin-bottom: 1.5rem; }
.p-flow-slide__head:before{ content: attr(data-num); font-family: var(--sub-font); width: 3.7rem; height: 4.2rem; display: flex; justify-content: center; align-items: center; font-size: 2.4rem; font-weight: 400; color: #fff; clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0% 25%); background: var(--sub-color01); position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
.p-flow-slide__scroll{ background: #efefef; width: calc(50vw + 12rem); height: .2rem; position: relative; margin: 4.3rem 0 4.5rem; }
.p-flow-slide__scroll-bar{ width: 15rem; height: .4rem; background: var(--sub-color01); position: absolute; top: -.1rem; left: 0; transition: .8s; }
.p-flow-slide__arrow-box{ display: flex; justify-content: space-between; width: 8.5rem; }
.p-flow-slide__arrow{ width: 2.1rem; height: 1.41rem; display: block; cursor: pointer; background: no-repeat center/contain; }
.p-flow-slide__arrow--next{ background-image: url(../images/arrow03.svg); }
.p-flow-slide__arrow--prev{ background-image: url(../images/arrow02.svg); }
.p-flow-slide--green .p-flow-slide__head:before{ background: var(--sub-color02); }
.p-flow-slide--green .p-flow-slide__scroll-bar{ background: var(--sub-color02); }

.p-price{ background: url(../images/webp/teeth-bg01.webp); padding: 5rem 0 7.5rem; }
.p-price__img{ position: absolute; top: -8.8rem; right: -6rem; }
/*.p-price-first{ width: 30rem; height: 8rem; display: flex; justify-content: center; align-items: center; background: #fff; border: solid 1px var(--sub-color01); margin: 0 auto 5rem; font-size: 2rem; color:  #fff; position: relative; z-index: 0; }*/
.p-price-first{ width: 30rem; height: 12rem; display: flex; justify-content: center; align-items: center; background: #fff; border: solid 1px var(--sub-color01); margin: 0 auto 5rem; font-size: 2rem; color:  #fff; position: relative; z-index: 0; }
.p-price-first:before{ content: ''; width: calc(100% - 1rem); height: calc(100% - 1rem); background: var(--sub-color01); position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1; }
.p-price-first--green{ border-color: var(--sub-color02); }
.p-price-first--green:before{ background: var(--sub-color02); }
/*.p-price-first__inner{ display: block; padding-left: 3.6rem; background: url(../images/icon-counseling01.svg) no-repeat left center/2.5rem; }*/
.p-price-first__inner{ display: block; padding-left: 3.6rem; background: url(../images/icon-counseling01.svg) no-repeat left center/2.5rem; position: relative; top: -1.5rem; }
/*.p-price-first__big{ font-size: 4.2rem; margin-left: .4rem; }*/
.p-price-first__big{ font-size: 4.2rem; margin-left: .4rem; position: relative; top: -1.5rem; }
.p-price-first__small { position: relative; top: -9.5rem; left: 36rem; color: white; }
.p-price-table{ width: 100%; table-layout: fixed; }
.p-price-table__head{ background: var(--sub-color01); color: #fff; border: solid 1px var(--base-color); border-left: none; border-right: none; font-size: 1.6rem; font-weight: 700; padding: 1.4rem 2rem; text-align: center; vertical-align: middle; }
.p-price-table__body-head{ border: solid 1px; border-left: none; border-right: none; font-size: 1.6rem; font-weight: 700; vertical-align: middle; padding: 1.4rem 2.5rem; background: #f6e4e9; }
.p-price-table__body-head--center{ text-align: center; }
.p-price-table__body-head-note{ display: block; font-size: 1.4rem; font-weight: 400; line-height: 1.714; }
.p-price-table__body-text{ border: solid 1px; border-left: none; border-right: none; font-size: 1.8rem; font-weight: 700; text-align: right; vertical-align: middle; padding: 1.4rem 2rem; background: #fff; }
.p-price-table__body-text--center{ text-align: center; }
.p-price-table__body-tax{ font-size: 1.2rem; }
.p-price-table--green .p-price-table__head{ background: var(--sub-color02); }
.p-price-table--green .p-price-table__body-head{ background: #e3e8d1; }
.p-price__head{ font-size: 2rem; font-weight: 700; width: fit-content; padding-left: 1.2em; position: relative; margin: 0 auto 1.8rem; }
.p-price__head:before{ content: '\025a0'; color: var(--sub-color01); position: absolute; left: 0; }
.p-price__head--green:before{ color: var(--sub-color02); }
* + .p-price__head{ margin-top: 6.5rem; }

.p-wire-orth{ margin-bottom: 7.5rem; }

.p-wire-visual{ margin-bottom: 7.5rem; }

.p-appliance{ margin-bottom: 7.5rem; }

.p-case{ padding-top: 7rem; padding-bottom: 20rem; }
.p-case-name{ font-size: 1.8rem; font-weight: 700; background: #c8a763; text-align: center; color: #fff; padding: 1.5rem 1em; margin-bottom: 5rem; }
*:not(h2) + .p-case-name{ margin-top: 12rem; }
.p-ba{ width: 75rem; margin: 0 auto 5rem; display: flex; justify-content: space-between; align-items: flex-start; position: relative; }
.p-ba:before{ content: ''; width: 2rem; height: 2rem; background: url(../images/arrow04.svg) no-repeat center/contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.p-ba__before{ position: relative; }
.p-ba__before:after{ content: '治療前'; font-size: 1.6rem; font-weight: 700; line-height: 1; position: absolute; bottom: -2.6rem; right: 0; }
.p-ba__after{ position: relative; }
.p-ba__after:after{ content: '治療後'; font-size: 1.6rem; font-weight: 700; line-height: 1; position: absolute; bottom: -2.6rem; right: 0; }
.p-case-table{ width: 100%; }
.p-case-table__head{ border: solid 1px; border-left: none; border-right: none; font-size: 1.6rem; font-weight: 700; padding: 1.4rem 2.5rem; background: #f4ede0; width: 30rem; }
.p-case-table__text{ border: solid 1px; border-left: none; border-right: none; vertical-align: middle; padding: 1.4rem 2rem; background: #fff; }
.p-case-table__text--bold{ font-size: 1.6rem; font-weight: 700; }
.p-case-table__text--small{ font-size: 1.2rem; }

.p-info-box{ display: flex; justify-content: space-between; margin-bottom: 4rem; position: relative; }
.p-info-box__left{ width: 33.5rem; }
.p-info-box__head{ font-size: 2.2rem; }
.p-info-box__head-small{ display: block; font-size: 1rem; }
.p-info-box__address{ font-size: 1.2rem; margin-bottom: 2.8rem; }
.p-info-box__right{ width: 40rem; }
.p-info-box__row{ display: flex; justify-content: space-between; align-items: flex-start; }
.p-info-box__map{ display: block; margin-bottom: 1.4rem; }
.p-info-box__access-item{ font-size: 1.8rem; font-weight: 700; line-height: 1.333; padding-left: 1.9rem; }
.p-info-box__access-item + .p-info-box__access-item{ margin-top: .5rem; }
.p-info-box__access-item--train{ background: url(../images/icon-train01.svg) no-repeat left center/1.4rem; }
.p-info-box__access-item--park{ background: url(../images/icon-park01.svg) no-repeat left center/1.4rem; }
.p-info-box__linkmap{ display: block; width: fit-content; position: relative; padding-right: 3.6rem; }
.p-info-box__linkmap:after{ content: ''; width: 3.1rem; height: 3.1rem; background: url(../images/arrow05.svg) no-repeat center/contain; position: absolute; right: 0; top: 50%; transform: translateY(-50%); }

.u-vertical{ -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings: initial; }

.u-base-font{ font-family: var(--base-font); }
.u-sub-font{ font-family: var(--sub-font); font-weight: 400; }
.u-en-font{ font-family: var(--en-font); font-weight: 400; }

.u-bg-paper{ background: url(../images/webp/bg-paper02.webp); }
.u-bg-fixed{ background-image: url(../images/fixbg01.svg), url(../images/fixbg02.svg); background-repeat: no-repeat, no-repeat; background-position: top left -3.5rem, bottom right -11rem; background-size: 53.2rem, 30.7rem; background-attachment: fixed, fixed; padding-bottom: 5rem; }
.u-bg-fixed2{ background-image: url(../images/fixbg03.svg), url(../images/fixbg04.svg); background-repeat: no-repeat, no-repeat; background-position: top 19rem left -3.7rem, top 5.4rem right -3.7rem; background-size: 30.7rem, 30.7rem; background-attachment: fixed, fixed; }
.u-bg-fixed3{ background-image: url(../images/fixbg05.svg), url(../images/fixbg06.svg); background-repeat: no-repeat, no-repeat; background-position: top 19rem left -3.7rem, top 5.4rem right -3.7rem; background-size: 30.7rem, 30.7rem; background-attachment: fixed, fixed; }
.u-bg-fixed4{ background-image: url(../images/fixbg07.svg), url(../images/fixbg08.svg); background-repeat: no-repeat, no-repeat; background-position: top 19rem left -3.7rem, top 5.4rem right -3.7rem; background-size: 30.7rem, 30.7rem; background-attachment: fixed, fixed; }



/* ==========================================================================//
	// webp
// ==========================================================================*/

.no-webp .p-mv{ background-image: url(../images/mv-bg01.jpg); }

.no-webp .p-worry:before{ background-image: url(../images/bg-paper01.jpg); }
.no-webp .p-worry__wrapper:after{ background-image: url(../images/worry-arrow01.png); }
.no-webp .p-worry__head:after{ background-image: url(../images/worry-ttl02.png); }

.no-webp .p-contact{ background-image: url(../images/contact-bg01.jpg); }
.no-webp .p-contact--bg2{ background-image: url(../images/contact-bg02.jpg); }
.no-webp .p-contact--bg3{ background-image: url(../images/contact-bg03.jpg); }

.no-webp .p-teeth-list,
.no-webp .p-difference,
.no-webp .p-comparison,
.no-webp .p-price{ background-image: url(../images/teeth-bg01.jpg); }

.no-webp .u-bg-paper{ background-image: url(../images/bg-paper02.jpg); }
.yt_banner{text-align: center; margin-top: 8rem;}
.yt_banner2{text-align: center;margin-bottom: 9rem;}