*,
::before,
::after {
    margin: 0;
    padding: 0;
}
body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "BIZ UDPGothic", Meiryo, sans-serif;
    line-height: 1;
    color: rgb(68,68,68);
    text-align: justify;
    font-size: 15px;
    letter-spacing: 0.08em;
}
h1, h2, h3, h4, h5 {
    font-feature-settings: "palt";
}
p {
    line-height: 200%;
}
* > p:not(:last-of-type) {
    margin-bottom: 1em;
}
li {
    line-height: 160%;
}
ul > li:not(:last-of-type) {
    margin-bottom: 0.8em;
}
figure > img,
picture > img {
    width: 100%;
    display: block;
}
p > a {
    color: rgba(148,112,10,1);
    text-decoration: underline;
}
.sp {
    display: block;
}
.pc {
    display: none;
}
.abr {
    display: inline-block;
}
.bbr {
    display: block;
}
.bg-botted {
	background-color: #f6f6f6;
    background-image: linear-gradient(-90deg, rgba(255,255,255,0) 3px, rgba(255,255,255,.88) 3px), linear-gradient(rgba(255,255,255,0) 3px, rgba(255,255,255,.88) 3px);
    background-position: 4px 0;
    background-size: 8px 8px;
}
.bg01 {
    background: rgba(244,244,248,1)
}
.bg02 {

}
.bg03 {

}
.txt-center {
    text-align: center;
}
.txt-left {
    text-align: left;
}
.txt-right {
    text-align: right;
}
.serif {
    font-family: 游明朝, YuMincho, "Hiragino Mincho ProN", "MS P明朝", serif;
}
.font-en01 {
    font-family: 'Jost', "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
}
.font-en02 {
    font-family: 'Merriweather', YuMincho, "Hiragino Mincho ProN", serif;
}
.font-jp01 {
    font-family: 'Zen Maru Gothic', sans-serif;
}
.fs-l {
    font-size: 1.28em;
}
.fs-s {
    font-size: 0.72em;
}
.fs-14 {
    font-size: 14px;
}
.cl01 {
    color: #442d1d;
}
.cl02 {
    color: #ab8d7e;
}
.cl03 {
    color: rgba(160,168,176,1);
}
.flex {
    display: flex;
    flex-wrap: wrap;
}
.sc-in {
    width: calc(100% - 32px);
    max-width: 1280px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 48px;
    padding-bottom: 48px;
}
header {
    padding-top: 12px;
    padding-bottom: 16px;
}
.hdr-logo picture {
    display: block;
    width: 50%;
    max-width: 256px;
    margin: auto;
}
.sc-kv .flex {
    margin-bottom: 16px;
    justify-content: center;
}
.sc-kv .flex > picture {
    width: calc(50% - 16px);
}
.sc-kv .flex .mv_left {
    clip-path: polygon(0 0, 100% 0%, 92% 100%, 0% 100%);
}
.sc-kv .flex .mv_right {
    clip-path: polygon(8% 0, 100% 0%, 100% 100%, 0% 100%);
    margin-top: 32px;
}
.sub h1 {
    font-size: 6.4vw;
    line-height: 1.28;
    margin-left: 16px;
    margin-bottom: 24px;
}
.sub h1 > span {
    display: block;
}
.sub h1 .font-en01 {
    color: #ab8d7e;
    font-size: 15px;
    padding-left: 4px;
}
.sc-intro {
    max-width: calc(100% - 32px);
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 48px;
}
.sc-intro .txt-box {
    background-color: rgba(240,240,248,1);
    border-radius: 5px;
    padding: 16px 24px;
}
body.fixed {
    width: 100%;
    height: 100%;
    position: fixed;
}
nav.sp {
    background-color: rgba(255,255,255,.8);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    height: 60px;
    width: 100vw;
    position: fixed;
    bottom: -80px;
    z-index: 100;
}
nav.sp.show {
    bottom: 0;
}
nav.sp .nav {
    display: flex;
    position: relative;
    z-index: 100;
}
.nav-active_delete {
    display: none;
    width: 100vw;
    height: calc(100vh);
    position: absolute;
    top: calc((100vh - 56px) * -1);
    left: 0;
    z-index: 1;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}
nav.sp .nav > a,
nav.sp .nav > div {
    font-size: 11px;
    letter-spacing: 0.05em;
    width: calc(100% / 5);
    padding: 8px;
    padding-bottom: 10px;
    text-align: center;
    cursor: pointer;
    transition: all 0.1s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
}
nav.sp .nav .nav-active {
    background-color: rgba(200,176,168,1);
    margin-top: -6px;
    padding-top: 10px;
    height: 68px;
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
}
nav.sp .nav > a:first-of-type.nav-active {
    border-top-left-radius: 0;
}
nav.sp .nav > div.nav-active {
    border-top-right-radius: 0;
}
nav.sp .pnl-icon {
    position: relative;
}
nav.sp .pnl-icon::before {
    content: '';
    background-repeat: no-repeat;
    background-size: 100%;
    display: block;
    width: 24px;
    height: 24px;
    margin-bottom: 8px;
    position: relative;
}
nav.sp .icon01::before {
    background-image: url(/230706/img/pnl-icon01a.svg);
    width: 28px;
    height: 28px;
}
nav.sp .icon02::before {
    background-image: url(/230706/img/pnl-icon02a.svg);
    width: 21px;
    height: 23px;
}
nav.sp .icon03::before {
    background-image: url(/230706/img/pnl-icon03a.svg);
    width: 23px;
}
nav.sp .icon04::before {
    background-image: url(/230706/img/pnl-icon04a.svg);
    width: 22px;
    height: 22px;
}
nav.sp .icon05::before {
    background-image: url(/230706/img/pnl-icon05a.svg);
    margin: 0 auto 8px;
}
nav.sp .icon06::before {
    background-image: url(/230706/img/pnl-icon06.svg);
}
nav.sp .icon07::before {
    background-image: url(/230706/img/pnl-icon07.svg);
}
nav.sp .icon08::before {
    background-image: url(/230706/img/pnl-icon08.svg);
}
nav.sp .icon09::before {
    background-image: url(/230706/img/pnl-icon09.svg);
}
nav.sp .icon10::before {
    background-image: url(/230706/img/pnl-icon10.svg);
}
nav.sp .icon11::before {
    background-image: url(/230706/img/pnl-icon11.svg);
}
nav.sp .icon12::before {
    background-image: url(/230706/img/pnl-icon12.svg);
}
nav.sp .icon13::before {
    background-image: url(/230706/img/pnl-icon13.svg);
}
nav.sp .icon14::before {
    background-image: url(/230706/img/pnl-icon14.svg);
}
nav.sp .icon21::before {
    background-image: url(/230706/img/pnl-icon21.svg);
}
/*
nav.sp .icon22 {
    background-image: url(/230706/img/pnl-icon.svg);
}
nav.sp .icon23 {
    background-image: url(/230706/img/pnl-icon.svg);
}
nav.sp .icon24 {
    background-image: url(/230706/img/pnl-icon.svg);
}
nav.sp .icon25 {
    background-image: url(/230706/img/pnl-icon.svg);
}
nav.sp .icon26 {
    background-image: url(/230706/img/pnl-icon.svg);
}
*/
nav.sp .icon27::before {
    background-image: url(/230706/img/pnl-icon02b.svg);
}
nav.sp .icon28::before {
    background-image: url(/230706/img/pnl-icon28b.svg);
}
nav.sp .nav-hid {
    background-color: rgba(244,236,234,.96);
    background-color: rgba(208,200,196,.92);
    border-radius: 5px;
    font-size: 14px;
    max-width: 392px;
    width: 88%;
    padding: 28px 24px 32px;
    position: absolute;
    bottom: 76px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    cursor: pointer;
    transition: all 0.3s ease;
    height: 85vh;
}
nav.sp .nav-hid {
    display: none;
}
nav.sp .scroll {
    max-height: 456px;
    max-height: calc(100% - (88px + 48px));
    overflow-y: scroll;
}
nav.sp .nav-active .nav-hid {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
nav.sp .nav > a.nav-active:nth-of-type(3)::after,
nav.sp .nav > div.nav-active::after {
    content: '';
    border-top: solid rgba(208,200,196,.92) 16px;
    border-right: solid rgba(255,255,255,0) 16px;
    border-left: solid rgba(255,255,255,0) 16px;
    width: 32px;
    height: 18px;
    position: absolute;
    top: -18%;
    right: calc(((100% / 5) / 2) + 16px);
    transform: translateX(50%);
}
nav.sp .nav-logo {
    width: 80%;
    margin: 0 auto 24px;
}
nav.sp .nav-tab {
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
nav.sp .nav-tab > div {
    background-color: rgba(236,236,236,.84);
    font-size: 17px;
    letter-spacing: 0.1em;
    width: calc(50% - 6px);
    height: 44px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
nav.sp .nav-tab div.tab-active {
    background-color: #442d1d;
    color: #fff;
    height: 48px;
}
nav.sp .nav-panel {
    margin-top: 8px;
    padding-top: 24px
}
nav.sp .nav-panel > div {
    display: none;
    visibility: hidden;
}
nav.sp .nav-panel > div.tab-active {
    display: block;
    visibility: visible;
}
nav.sp .nav-panel > div .pnl-child:not(:last-of-type) {
    margin-bottom: 32px;
} 
nav.sp .nav-panel h3 {
    font-size: 5.6vw;
    margin-bottom: 24px;
}
nav.sp .nav-panel h3 > span {
    display: block;
}
nav.sp .nav-panel h3 .font-en01 {
    color: #fff;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.1em;
    max-width: fit-content;
    margin: 8px auto 0;
    padding: 4px 16px;
}
nav.sp .nav-panel h3 .cl02 + .font-en01 {
    background-color: #ab8d7e;
}
nav.sp .nav-panel h3 .cl01 + .font-en01 {
    background-color: #442d1d;
}
.sc-kv nav.sp .nav-panel .flex {
    margin-bottom: unset;
    align-items: stretch;
    justify-content: space-between;
}
.sc-kv nav.sp .pnl-block > div:not(:last-of-type) {
    margin-bottom: 16px;
}
nav.sp .pnl-block .col1 > a {
    width: 100%;
}
nav.sp .pnl-block .col2 > a {
    width: calc(100% / 2 - 8px);
}
nav.sp .pnl-block .col3 > a {
    width: calc(100% / 3 - 8px);
}
nav.sp .pnl-block .col1 > a,
nav.sp .pnl-block .col2 > a,
nav.sp .pnl-block .col3 > a {
    background-color: rgba(255,255,255,.96);
    box-shadow: 3px 3px 5px rgba(160,160,168,.24);
    border-radius: 5px;
    color: #ab8d7e;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
nav.sp .pnl-block .col1 > a:not(:last-of-type) {
    margin-bottom: 12px;
}
nav.sp .pnl-block .col2 > a:not(:nth-last-of-type(-n+2)) {
    margin-bottom: 16px;
}
nav.sp .pnl-block .col1 > a {
    padding: 16px 8px;
}
nav.sp .pnl-block .col2 > a,
nav.sp .pnl-block .col3 > a {
    padding: 16px 4px 12px;
}
nav.sp #nav-panel01 > div:first-of-type .pnl-icon::before {
    width: 44px;
    height: 44px;
}
nav.sp #nav-panel01 > div:first-of-type .icon06::before {
    background-position-y: center;
}
nav.sp #nav-panel01 > div:last-of-type .pnl-icon::before {
    width: 36px;
    height: 36px;
    margin-bottom: 10px;
}
nav.sp #nav-panel01 > div:last-of-type .icon12::before {
    width: 34px
}
nav.sp #nav-panel01 > div:last-of-type .icon14::before {
    width: 44px
}
nav.sp .nav-panel .pnl-icon span {
    font-size: 12px;
    line-height: 1.2em;
}
nav.sp .nav-panel .pnl-icon span.fs-14 {
    font-size: 14px;
}
nav.sp #nav-panel02 .pnl-block .col2 > a {
    color: #442d1d;
}
nav.sp #nav-panel02 > div:last-of-type,
nav.sp #nav-panel02 > div:last-of-type > div:last-of-type {
    margin-top: 32px;
}
nav.sp #nav-panel02 > div:last-of-type > div:last-of-type a {
    background-color: #442d1d;
    border: solid 1px #442d1d;
    border-radius: 5px;
    color: #fff;
    padding: 16px 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
nav.sp #nav-panel02 > div:last-of-type > div:last-of-type a:hover {
    background-color: #fff;
    color: #442d1d;
}
nav.sp #nav-panel02 > div:last-of-type > div:last-of-type a:not(:last-of-type) {
    margin-bottom: 12px;
}
nav.sp #nav-panel02 > div:last-of-type > div:last-of-type .pnl-icon span {
    font-size: 18px;
    font-weight: 300;
}
nav.sp #nav-panel02 > div:last-of-type > div:last-of-type .pnl-icon span:last-of-type {
    font-size: 20px;
    letter-spacing: 0.1em;
}
nav.sp #nav-panel02 > div:last-of-type .pnl-icon::before {
    margin-bottom: unset
}
nav.sp #nav-panel02 > div:last-of-type .icon27::before {
    width: 21px;
    height: 22px;
    margin-right: 8px;
}
nav.sp #nav-panel02 > div:last-of-type .icon28::before {
    width: 32px;
    margin-right: 8px;
}
nav.sp #nav-panel02 > div:last-of-type .icon27:hover::before {
    background-image: url(/230706/img/pnl-icon02a.svg);
}
nav.sp #nav-panel02 > div:last-of-type .icon28:hover::before {
    background-image: url(/230706/img/pnl-icon28a.svg);
}
.btn-wrap {
    display: flex;
    align-items: stretch;
    justify-content: space-between; 
}
.hdr-link.btn-wrap {
    display: none;
}
.btn-wrap a {
    border: solid 2px rgba(172,144,128,1);
    border-radius: 5px;
    width: calc(50% - 8px);
    padding: 20px 8px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    transition: all 0.3s ease;
}
.btn-wrap a > span {
    display: block;
}
.btn01 {
    background-color: rgba(255,255,255,.8);
    color: rgba(172,144,128,1);
}
.btn02 {
    background-color: rgba(172,144,128,1);
    color: rgba(255,255,255,1);
    text-align: center;
    margin-left: 16px;
}
.btn01::before {

}
.btn01:hover {
}
.btn02:hover {
    background-color: rgba(255,255,255,.8);
    color: rgba(172,144,128,1);
}
.btn01 > span:first-of-type {
    font-size: 4.8vw;
    margin-bottom: 8px;
    padding-left: 16px;
}
.btn01 > span:last-of-type {
    font-size: 12px;
}
.btn02 > span:first-of-type {
    font-size: 20px;
}
.btn02 > span:last-of-type {
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 0.2em;
    margin-top: 8px;
}
.btn-icon01 {
    position: relative;
}
.btn-icon01::before {
    content: '';
    background-image: url(/230706/img/tel-icon.svg);
    background-repeat: no-repeat;
    background-size: cover;
    width: 14px;
    height: 20px;
    position: absolute;
    left: 0;
}
#PageTop {
    visibility: hidden;
    opacity: 0;
}
#PageTop.show {
    visibility: visible;
    opacity: 1;
}
footer > .sc-in {
    padding-bottom: unset;
    position: relative;
    z-index: 1;
}
.ftr {
}
#ftr-logo {
    max-width: 256px;
    margin: 0 auto 32px;
}
.ftr-content figure {
    margin-bottom: 32px;
}
.ftr-content dl {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}
.ftr-content dl > div:not(:last-of-type) {
    margin-bottom: 24px;
}
.ftr-content .dl01,
.ftr-content .dl04 {
    width: 100%;
}
.ftr-content .dl02 {
    width: calc(68% - 8px);
}
.ftr-content .dl03 {
    width: calc((100% - 68%) - 8px);
}
.ftr-content dt {
    border-bottom: solid 1px rgba(200,200,200,1);
    margin-bottom: 12px;
    padding-bottom: 12px;
    padding-left: 32px;
    position: relative;
}
.ftr-content dt::before {
    content: '';
    background-repeat: no-repeat;
    background-size: 100%;
    width: 24px;
    height: 24px;
    position: absolute;
    top: -4px;
    left: 12px;
    transform: translateX(-50%);
}
.ftr-content dt.ftr-icon01::before {
    background-image: url(/230706/img/ftr-icon01.svg);
    width: 26px;
    height: 26px;
}
.ftr-content dt.ftr-icon02::before {
    background-image: url(/230706/img/ftr-icon02.svg);
}
.ftr-content dt.ftr-icon03::before {
    background-image: url(/230706/img/ftr-icon03.svg);
}
.ftr-content dt.ftr-icon04::before {
    background-image: url(/230706/img/ftr-icon04.svg);
    width: 28px;
    height: 24px;
}
.ftr-content dd {
    line-height: 1.36;
}
.ftr-content .dl02 dd {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
}
.ftr-content .dl02 dd > span:first-of-type {
    background-color: #ddd;
    font-size: 12px;
    width: 30%;
    margin-right: 16px;
    padding: 4px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ftr-content .dl02 dd > span:last-of-type {
    width: 70%;
    text-align: left;
}
.ftr-content .dl04 dd:last-of-type {
    margin-top: 16px;
}
.ftr-content .li-arrow > li {
    line-height: 128%;
}
.ftr-content .li-arrow > li:not(:last-of-type) {
    margin-bottom: 0.5em;
}
.ftr-content .li-arrow > li::before,
.ftr-content .li-arrow > li::after {
    border-top-color: rgba(172,144,128,1);
}
.ftr-content .li-arrow > li::before {
    top: calc((1.28em * 0.5) - 2px);
    transform: rotate(45deg) scale(0.8);
}
.ftr-content .li-arrow > li::after {
    top: calc((1.28em * 0.5) - 2px);
    transform: rotate(-45deg) translatex(-30%) translateY(115%) scale(0.8);
}
#ftr-gmap {
    margin-top: 32px;
    margin-bottom: -88px;
}
#ftr-gmap iframe {
    border: none;
    width: 100%;
    height: 256px;
}
small {
    display: block;
    background-color: rgba(68,48,32,.96);
    color: #fff;
    font-family: 'Jost', "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.1em;
    padding: 144px 0 80px;
    text-align: center;
    position: relative;
}
small::before {
    content: '';
    border-top: solid 1px rgba(255,255,255,.8);
    width: 24px;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
}
.btn {
    background-color: #442d1d;
    border: solid 1px #442d1d;
    border-radius: 8px;
    color: #fff;
    display: block;
    max-width: 832px;
    margin: 0 auto;
    padding: 18px 8px 10px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
    transition: all 0.3s ease;
}
.btn::after {
    content: '';
    border: solid 1px rgba(240,240,240,1);
    border-radius: 10px;
    border-top-left-radius: 6px;
    width: calc(100% + 3px);
    height: calc(100% + 3px);
    position: absolute;
    top: 4px;
    left: 4px;
}
.btn .fs-14 {
    font-size: 3.4vw;
    margin-bottom: 10px;
    padding-bottom: 14px;
    position: relative;
}
.btn .fs-14::after {
    content: '';
    border-bottom: solid 1px rgba(255,255,255,.8);
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
}
.btn .bbr {
    font-size: 22px;
    font-weight: 100;
    line-height: 1.28em;
}
.btn:hover {
    background-color: rgba(255,255,255,0);
    color: #442d1d;;
}
.btn:hover::after {
    border-color: #442d1d;
}
.btn:hover .fs-14::after {
    border-color: #442d1d;
}
.sc-h2 {
    font-size: 7.2vw;
    margin-bottom: 40px;
    text-align: center;
}
.sc-h2 > span {
    display: block;
}
.h2-cap {
    font-size: 4.8vw;
    margin-bottom: 32px;
    position: relative;
}
.h2-cap::before,
.h2-cap::after {
    content: '';
    border-bottom: solid 1px rgba(172,144,128,1);
    width: 16px;
    height: 1px;
    position: absolute;
    bottom: calc((88% * -1.4) / 1.4 + 1px);
}
.h2-cap::before {
    transform: translateX(-50%) rotate(45deg);
    left: calc((100% - (8px * 1.4)) / 2 + 0.5px);
}
.h2-cap::after {
    transform: translateX(50%) rotate(-45deg);
    right: calc((100% - (8px * 1.4)) / 2 + 0.5px);
}
.h2-cap > span {
    position: relative;
}
.h2-cap > span::before,
.h2-cap > span::after {
    content: '';
    border-bottom: solid 1px rgba(172,144,128,1);
    width: calc((100% / 2) - (8px * 1.4));
    height: 1px;
    position: absolute;
    bottom: -8px;
}
.h2-cap > span::before {
    left: 0;
}
.h2-cap > span::after {
    right: 0;
}
.h2-btm {
    font-weight: 300;
}
.h3-std {
    font-size: 5.6vw;
    line-height: 1.36;
    margin-bottom: 48px;
    position: relative;
}
.h3-std::before,
.h3-std::after {
    content: '';
    border-top: solid 1px rgba(172,144,128,1);
    width: 48px;
    height: 1px;
    position: absolute;
    left: 0;
}
.h3-std::before {
    bottom: -16px;
}
.h3-std::after {
    bottom: -20px;
}
.h4-std {
    font-size: 4.8vw;
    line-height: 1.28;
    width: 80%;
    margin: 0 auto 16px;
    padding: 24px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    flex-direction: column;
}
.h4-std::before,
.h4-std::after {
    content: '';
    border-bottom: solid 1px rgba(172,144,128,1);
    width: 56px;
    height: 1px;
    position: absolute;
    top: 48%;
    transform: rotate(-65deg);
}
.h4-std::before {
    left: -48px;
}
.h4-std::after {
    right: -48px;
}
.h4-std .font-en01 {
    font-size: 15px;
    margin-top: 8px;
}
.h5-std {
    font-size: 4.4vw;
    line-height: 1.28;
    margin-bottom: 40px;
    position: relative;
}
.h5-std::after {
    content: '';
    border-bottom: solid 1px rgba(172,144,128,1);
    width: 32px;
    height: 1px;
    position: absolute;
    bottom: -20px;
    left: 0;
}
.count-point {
    counter-reset: count-point;
}
.count-point > div {
    counter-increment: count-point;
}
.h-point {
    margin-bottom: 8px;
    height: 72px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.h-point > span {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.36;
    position: relative;
    left: 88px;
}
.h-point::before,
.h-point::after {
    color: #fff;
    font-family: 'Jost', "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
    text-align: center;
    position: absolute;
}
.h-point::before {
    content: 'point';
    background: linear-gradient(135deg,#a7897e 0%,#a7897e 50%,#cebbb3 50%,#cebbb3 100%);
    border-radius: 50%;
    font-size: 12px;
    font-weight: 400;
    padding-top: 12px;
    width: 72px;
    height: 72px;
    top: 0;
    left: 0px;
}
.h-point::after {
    content: "0" counter(count-point);
    font-size: 36px;
    font-weight: 300;
    width: 72px;
    top: calc((72px / 2) + 8px);
    left: calc(72px / 2);
    transform: translateX(-50%) translateY(-50%);
    z-index: 1;
}
.layer-bg {
    width: 100%;
    margin-bottom: 56px;
}
.layer-bg01,
.layer-bg02 {
    display: block;
    width: 95%;
    position: relative;
}
.layer-bg01::before,
.layer-bg02::before {
    content: "";
    height: 100%;
    width: 100%;
    position: absolute;
    bottom: -5vw;
}
.layer-bg01::before {
    background-color: rgba(255,255,255,.8);
    left: -8vw;
}
.layer-bg02::before {
    background-color: rgba(216,232,232,.8);
    right: -8vw;
}
.pic-center .layer-bg01,
.pic-center .layer-bg02 {
    margin: 0 auto;
}
.layer-bg01 img,
.layer-bg02 img {
    position: relative;
    z-index: 1;
}
.box01 {
    border: solid 1px rgba(172,144,128,.75);
    border-radius: 5px;
    padding: 32px;
    padding-bottom: 24px;
}
.box02 {
    background-color: rgba(255,255,255,1);
    border-radius: 8px;
    box-shadow: 4px 4px 8px rgba(232,232,232,.5);
    padding: 32px 24px 24px;
}
.box03 {
    background-color: rgba(192,224,224,.64);
    border-radius: 4px;
    padding: 16px 24px;
}
.pic-center {
    margin-top: 32px;
}
.count-box {
    counter-reset: count-box;
}
.count-box > .count-child {
    counter-increment: count-box;
    position: relative;
}
.count-box > .count-child::before {
    content: "0" counter(count-box);
    color: #fff;
    font-family: 'Jost', "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
    font-size: 40px;
    position: absolute;
    top: calc(64px / 2);
    left: calc(64px / 2);
    transform: translateX(-50%) translateY(-50%);
    z-index: 1;
}
.count-box > .count-child::after {
    content: '';
    background: linear-gradient(135deg,#bbe0e0 0%,#bbe0e0 50%,#9ed3d3 50%,#9ed3d3 100%);
    border-radius: 50%;
    width: 64px;
    height: 64px;
    position: absolute;
    top: 0;
    left: 0px;
}
.txt-box {
    background-color: rgba(255,255,255,.5);
    padding: 40px 32px 32px;
}
.parallax {
    clip-path: polygon(0 4%, 100% 0%, 100% 96%, 0% 100%);
    padding: 168px 0 56px;
}
.parallax::before {
    content: "";
    background: url(/230706/img/sub-bg02-sp.webp) no-repeat center;
    background-size: cover;
    display: block;
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: -1;
}
.parallax .txt-box {
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    width: calc(100% - 32px);
    margin-right: auto;
    margin-left: auto;
}
.parallax.rev {
    clip-path: polygon(0 0, 100% 4%, 100% 100%, 0 96%);
    flex-direction: row-reverse;
}
.add_sc-top {
    padding-top: 48px;
}
.marker {
}
.li-kome {
    max-width: 872px;
    margin-right: auto;
    margin-left: auto;
}
.li-kome li {
    padding-left: 24px;
    position: relative;
}
.li-kome li:not(:last-of-type) {
    margin-bottom: 8px;
}
.li-kome li::before {
    content: '※';
    color: #936f0a;
    position: absolute;
    left: 4px;
}
.li-arrow > li {
    max-width: 98%;
    margin-right: auto;
    margin-left: auto;
    padding-left: 16px;
    position: relative;
}
.li-arrow > li:not(:last-of-type) {
    margin-bottom: 0.8em;
}
.li-arrow > li::before,
.li-arrow > li::after {
    content: '';
    border-top: solid 2px rgba(128,176,188,1);
    width: 8px;
    height: 2px;
    position: absolute;
    left: 0;
}
.li-arrow > li::before {
    transform: rotate(45deg);
    top: calc((1.6em * 0.5) - 2px);
}
.li-arrow > li::after {
    transform: rotate(-45deg) translateY(-50%);
    top: calc(((1.6em * 0.5) - 2px) * 1.6);
}
.li-arrow > li span {}
.tab-content {}
.tab-box {
    width: 100%;
    height: 76px;
    margin-bottom: 8px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.tab {
    background-color: #eee;
    border-radius: 8px;
    color: #888;
    font-size: 3.6vw;
    line-height: 1.36;
    width: calc(100% / 3 - 4px);
    padding: 16px 2px;
    text-align: center;
    cursor: pointer;
    transition: all 0.1s ease;
}
.tab.active {
    background-color: #442d1d;
    color: #fff;
    padding: 18px 2px;
    position: relative;
}
.tab.active::after {
    content: '';
    border-top: solid 8px #442d1d;
    border-right: solid 8px rgba(255,255,255,0);
    border-left: solid 8px rgba(255,255,255,0);
    width: 16px;
    height: 8px;
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%) scale(1.2);
}
.panel-box > div {
    display: none;
    visibility: hidden;
    flex-direction: column;
}
.panel-box > div.active {
    display: flex;
    visibility: visible;
}
.panel-box .box > div {
    position: relative;
}
.panel-box .box > div:not(:last-of-type) {
    margin-bottom: 48px;
}
.panel-box .box > div:not(:last-of-type)::after {
    content: '';
    border-bottom: dotted 1px rgba(176,144,128,.5);
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: -28px;
    left: 50%;
    transform: translateX(-50%);
}
.cf-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}
.cf-wrap > div {
    width: calc(50% - 8px);
}
.cf-box {
    background-color: rgba(254,254,254,.8);
    border-radius: 12px;
    padding: 16px 16px 12px;
}
.cf-content > div:not(:last-of-type) {
    margin-bottom: 16px;
}
.cf-box dt {
    font-size: 17px;
    letter-spacing: 0.03em;
    line-height: 1.28em;
    margin-bottom: 8px;
    text-align: left;
}
.cf-box dd {
    line-height: 1.44em;
}
.cf01 .cf-box {}
.cf01 .cf-box:nth-of-type(2n) {
    background-color: rgba(240,236,236,.8);
}
.cf02 .cf-box {}
.cf02 .cf-box:nth-of-type(2n+1) {
    background-color: rgba(228,232,236,.8);
}
.cf02 .cf-box dt .fs-l {
    color: #777;
}
.cf-wrap .h5-std {
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 32px;
    text-align: center;
}
.cf-wrap .h5-std::after {
    content: '';
    border-top: solid 8px rgba(172,144,128,1);
    border-right: solid 6px rgba(255,255,255,0);
    border-bottom: none;
    border-left: solid 6px rgba(255,255,255,0);
    width: 12px;
    height: 8px;
    position: absolute;
    bottom: -16px;
    left: 50%;
    transform: translateX(-50%);
}

.cf-wrap .h5-std .fs-l {
    font-weight: 300;
}
.cf-wrap .cf02 .h5-std::after {
    border-top-color: #a6a8a9;
}

.orthodontic-block-05__title-wrap {
    font-size: 28px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 40px;
    margin-left: auto;
    margin-right: auto;
    max-width: calc(100% - 32px);
} 
.orthodontic-block-05__title-sub {
    position: relative;
    display: block;
    font-size: 20px;
    margin-bottom: 32px;
}  
.orthodontic-block-05__title-sub--uppercase {
    text-transform: uppercase;
}  
.orthodontic-block-05__title-sub::before,
.orthodontic-block-05__title-sub::after {
    content: "";
    position: absolute;
    bottom: -15px;
    border-bottom: solid 2px rgb(172, 144, 128);
    width: 17px;
    height: 1px;
}  
.orthodontic-block-05__title-sub::before {
    -webkit-transform: translateX(-50%) rotate(45deg);
            transform: translateX(-50%) rotate(45deg);
    left: calc(50% - 6px);
}  
.orthodontic-block-05__title-sub::after {
    -webkit-transform: translateX(50%) rotate(-45deg);
            transform: translateX(50%) rotate(-45deg);
    left: calc(50% - 11px);
}  
.orthodontic-block-05__title-sub--border {
    position: relative;
    display: block;
    padding-bottom: 10px;
}  
.orthodontic-block-05__title-sub--border::before,
.orthodontic-block-05__title-sub--border::after {
    content: "";
    position: absolute;
    bottom: -9px;
    border-bottom: solid 2px rgb(172, 144, 128);
    width: calc(10rem + (1vw - 3.75px) * 50);
    height: 1px;
    min-height: 0vw;
}  
.orthodontic-block-05__title-sub--border::before {
    left: 0;
}  
.orthodontic-block-05__title-sub--border::after {
    right: 0;
}

@media screen and (min-width:414px) {
.sub h1 {
    font-size: 28px;
}
.sub h1 .font-en01 {
    font-size: 18px;
}
nav.sp .nav-panel h3 {
    font-size: 22px;
}
.sc-intro .txt-box {
    padding: 32px 48px;
}
.sc-h2 {
    font-size: 32px;
}
.h2-cap {
    font-size: 20px;
}
.h3-std {
    font-size: 24px;
}
.h4-std,
.h5-std {
    font-size: 22px;
}
.btn01 > span:first-of-type {
    font-size: 21px;
}
.tab {
    font-size: 16px;
}
.btn .fs-14 {
    font-size: 16px;
}
}



/*    ■■■■■■■■■■■■    ■■■■■■■■■■■■    ■■■■■■■■■■■■    */
/*    ■■        ■■    ■■              ■■        ■■    */
/*    ■■        ■■    ■■              ■■        ■■    */
/*             ■■■    ■■■■■■■■■■■■    ■■■■■■■■■■■■    */
/*            ■■■     ■■        ■■    ■■        ■■    */
/*           ■■■      ■■        ■■    ■■        ■■    */
/*          ■■■       ■■■■■■■■■■■■    ■■■■■■■■■■■■    */
/*         ■■■■       ■■■■■■■■■■■■    ■■■■■■■■■■■■    */



@media screen and (min-width: 768px) {
.sc-intro {
    padding-bottom: 64px;
}
.add_sc-top {
    padding-top: 64px;
}
.sc-in {
    padding-top: 64px;
    padding-bottom: 64px;
    padding-bottom: 88px;
}
.sub h1 {
    font-size: 36px;
    font-weight: 300;
}
.sub h1 .font-en01 {
    font-size: 22px;
}
#ftr-logo {
    margin: 0 auto 56px;
}
.ftr-content {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 24px;
}
.ftr-content figure {
    margin-bottom: unset;
    width: 45%;
}
.ftr-content figure img {
    height: 100%;
    object-fit: cover;
    object-position: 36% top;
}
.ftr-content dl {
    width: 55%;
}
.ftr-content .btn-wrap a {
    padding: 12px 8px;
}
.ftr-content .btn02 > span:last-of-type {
    margin-top: 4px;
}
.ftr-content .btn-icon01::before {
    top: 4px;
}
#ftr-gmap {
    margin-top: 48px;
}
.sc-h2 {
    font-size: 36px;
    margin-bottom: 56px;
}
.h2-cap::before,
.h2-cap::after {
    bottom: calc((84% * -1.4) / 1.4 + 1px);
}
.h3-std {
    font-size: 28px;
    margin-bottom: 64px;
}
.h3-std::before {
    bottom: -28px;
}
.h3-std::after {
    bottom: -32px;
}
.h4-std {
    font-size: 26px;
    max-width: 432px;
    margin-bottom: 64px;
    padding: 0;
}
.h4-std::before,
.h4-std::after {
    width: 72px;
}
.h4-std .font-en01 {
    font-size: 18px;
}
.h5-std {
    font-size: 24px;
    margin-bottom: 56px;
}
.flx-c {
    flex-direction: column;
}
.flx-cr {
    flex-direction: column-reverse;
}
.flx-r {
    flex-direction: row;
    justify-content: space-around;
}
.flx-rr {
    flex-direction: row-reverse;
    justify-content: space-around;
}
.col2 > div,
.col2 > figure,
.col2 > picture {
    width: calc(50% - 16px);
}
.col3 {
    gap: 24px;
}
.col3 > div {
    width: calc(100% / 3 - 16px);
}
.txt-box {
    padding: 40px 48px;
}
.layer-bg01,
.layer-bg02 {
    top: 16px;
}
.layer-bg01::before,
.layer-bg02::before {
    bottom: -24px;
}
.layer-bg02::before {
    right: -40px;
}
.layer-bg.pic-center {
    margin-bottom: 104px;
}
.pic-center img {
    object-fit: cover;
    width: 99%;
    height: 208px;
}
.pic-center .layer-bg01,
.pic-center .layer-bg02 {
    width: 100%;
}
.box01 {
    padding: 48px;
    padding-bottom: 36px;
}
.box02 {
    padding: 40px 32px;
}
.box03 {
    border-radius: 8px;
    padding: 32px 48px;
}
.panel-box > div {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}
.panel-box.box01 {
    border-radius: 8px;
}
.panel-box > div.col2 {
    gap: 32px;
}
.panel-box > div.col3 {
    gap: 32px;
}
.panel-box > div.col2 > div {
    width: calc(100% / 2 - 24px);
}
.panel-box > div.col3 > div {
    width: calc(100% / 3 - 24px);
}
.panel-box .box > div:not(:last-of-type) {
    margin-bottom: unset;
}
.panel-box .box > div:not(:last-of-type)::after {
    content: none;
}
.tab {
    font-size: 16px;
    padding: 24px 4px;
    width: calc(100% / 3 - 8px);
}
.tab.active {
    padding: 28px 4px;
}
.cf-wrap > div {
    width: calc(50% - 16px);
}
.cf-wrap .h5-std {
    margin-bottom: 24px;
}
.cf-wrap .h5-std::after {
    border-top-width: 1px;
    border-right: none;
    border-left: none;
    width: 100%;
    height: 1px;
    bottom: -8px;
}
.cf-box {
    padding: 20px 20px 16px;
}
.orthodontic-block-05__title-wrap {
    font-size: 3.75vw;
    margin-bottom: 8.75vw;
    width: calc(21.875rem + (1vw - 7.68px) * 60.5469);
    max-width: 660px;
    min-height: 0vw;
}
.orthodontic-block-05__title-sub {
    font-size: 2.109375vw;
}
.orthodontic-block-05__title-sub::before,
.orthodontic-block-05__title-sub::after {
    border-bottom: solid 2px rgb(172, 144, 128);
}
.orthodontic-block-05__title-sub--border::before,
.orthodontic-block-05__title-sub--border::after {
    border-bottom: solid 2px rgb(172, 144, 128);
    width: calc(10.25rem + (1vw - 7.68px) * 30.0781);
}
}
@media screen and (min-width:768px) and (max-width:1023px) {}



/*      ■■■■■■    ■■■■■■■■■■■■    ■■■■■■■■■         ■■       */
/*     ■■  ■■■    ■■        ■■   ■■        ■■      ■■        */
/*    ■■   ■■■    ■■        ■■   ■■       ■■      ■■  ■■     */
/*         ■■■    ■■        ■■          ■■■      ■■   ■■     */
/*         ■■■    ■■        ■■        ■■■■      ■■    ■■     */
/*         ■■■    ■■        ■■      ■■■■       ■■■■■■■■■■■■  */
/*        ■■■■    ■■■■■■■■■■■■    ■■■■■    ■■         ■■     */
/*      ■■■■■■■■  ■■■■■■■■■■■■   ■■■■■■■■■■■■        ■■■■    */



@media screen and (min-width: 1024px) {
.pc {
    display: block;
}
.sp {
    display: none;
}
.sc-in {
    padding-top: 80px;
    padding-bottom: 96px;
}
.add_sc-top {
    padding-top: 80px;
}
.sc00 {
    position: relative;
}
header {
    padding: 16px 32px;
    width: 100%;
    position: absolute;
    z-index: 999;
    display: flex;
    justify-content: space-between;
}
.btn01 > span:first-of-type {
    font-size: 24px;
}
.btn-icon01::before {
    width: 16px;
    height: 22px;
}
.hdr-logo picture {
    width: 100%;
    max-width: 288px;
}
.hdr-link.btn-wrap {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.hdr-link.btn-wrap a {
    height: 76px;
    padding-top: 12px;
    padding-bottom: 8px;
}
.hdr-link.btn-wrap a.btn01 > span:first-of-type {
    font-size: 14px;
}
.hdr-link.btn-wrap a.btn01 > span:last-of-type {
    font-size: 24px;
    padding-left: 24px;
}
.hdr-link.btn-wrap .btn-icon01::before {
    left: 2px;
}
.sc-kv {
    height: 45vw;
    max-height: 680px;
    position: relative;
    overflow: hidden;
}
.sc-kv .flex {
    align-items: flex-end;
    justify-content: space-between;
}
.sc-kv .flex > picture {
    position: relative;
}
.sc-kv .flex .mv_right {
    margin-top: unset;
    right: -10vw;
}
.sc-kv .flex .mv_left {
    clip-path: polygon(5% 0, 100% 0, 95% 100%, 0 100%);
    width: 32%;
    bottom: 8vw;
    left: 6vw;
}
.sub h1 {
    font-size: 32px;
    margin: unset;
    margin-top: -8px;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 55%;
    transform: translateX(-50%) translateY(-50%);
}
.sub h1::before {
    content: ''; 
    background-image: url(/230706/img/mv_logo.svg);
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    margin-bottom: 16px;
    width: 80px;
    height: 98px;
    position: relative;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.sub h1 .serif {
    margin-bottom: 16px;
    position: relative;
}
.sub h1 .serif::after {
    content: '';
    border-bottom: solid 1px rgba(172,144,128,.5);
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: -8px;
    left: 0;
}
.sub h1 .font-en01 {
    padding-left: unset;
    font-size: 16px;
}
.sc-intro {
    background: url(/230706/img/sub-bg01.webp) no-repeat;
    background-attachment: fixed;
    background-size: cover;
    background-position-x: center;
    background-position-y: top;
    width: 100%;
    max-width: 100%;
    padding-bottom: 0;
}
.sc-intro > div {
    width: calc(100% - 32px);
    max-width: 1280px;
    margin-right: auto;
    margin-left: auto;
    padding: 80px 0;
}
.sc-intro .txt-box {
    background-color: rgba(255,255,255,.5);
    width: 60%;
    max-width: 632px;
    margin-right: 0;
    margin-left: auto;
    padding: 48px 64px;
}
.sc-intro .txt-box > div {
    padding-top: 32px;
    position: relative;
}
.sc-intro .txt-box > div::before {
    content: 'Introduction';
    color: rgba(72,48,32,1);
    font-family: 'Jost', "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
    font-size: 16px;
    width: 100%;
    height: 24px;
    text-align: right;
    position: absolute;
    top: -4px;
    left: 0;
}
.sc-intro .txt-box > div::after {
    content: '';
    border-top: solid 1px rgba(72,48,32,1);
    width: 100%;
    height: 1px;
    position: absolute;
    top: 9px;
    left: 0;
}
nav.sp {
    display: none;
}
nav {
    background-color: rgba(255,255,255,.8);
    backdrop-filter: blur(8px);
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
}
.nav {
    width: calc(100% - 32px);
    max-width: 1366px;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    align-items: center;
}
.nav > .nav-btn {
    border-bottom: solid 1px rgba(255,255,255,0);
    color: #442d1d;
    font-size: 15px;
    width: calc((100% - 55%) / 3);
    padding: 8px;
    text-align: center;
    height: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: all 0.3s ease;
    cursor: pointer;
}
.nav > .nav-btn.icon01 {
    width: 15%;
    position: relative;
}
.nav > .nav-btn.icon01::before {
    content: '';
    background-image: url(/230706/img/icon-home.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    width: 24px;
    height: 24px;
    position: absolute;
    top: 16px;
    left: 50%;
    transform: translateX(-50%);
}
.nav > .nav-btn:nth-of-type(4),
.nav > .nav-btn:nth-last-of-type(2) {
    width: 20%;
}
.nav > .nav-btn:not(:last-of-type):hover {
    border-bottom-color: rgba(172,144,128,.8);
}
.nav > .nav-btn > span {
    display: block;
}
.nav > .nav-btn.icon01 > span {
    font-size: 14px;
    margin-top: 22px;
}
.nav > .nav-btn .font-en01 {
    font-size: 12px;
    margin-top: 8px;
}
.nav .hid {
    display: none;
}
nav.pc.fixed {
    position: fixed;
    top: 0;
    bottom: unset;
    z-index: 999;
}
nav.pc.fixed .nav > .nav-btn {
    width: calc((100% - (63% + 176px)) / 2);
}
nav.pc.fixed .nav .hid {
    display: flex;
    border: solid 1px rgba(172,144,128,1);
    border-radius: 3px;
    color: rgba(172,144,128,1);
    width: 160px;
    height: 68px;
    margin-left: 16px;
}
nav.pc.fixed .nav > .nav-btn:first-of-type {
    width: 12%;
}
nav.pc.fixed .nav > .nav-btn:nth-of-type(3) {
    width: 15%;
}
nav.pc.fixed .nav > .nav-btn:nth-of-type(4),
nav.pc.fixed .nav > .nav-btn:nth-last-of-type(2) {
    width: 18%;
}
#ftr-logo {
    max-width: 276px;
    margin: 0 auto 32px;
}
footer > .sc-in {
    padding-top: 64px;
}
.ftr-content {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    gap: 32px;
}
.ftr-content figure {
    width: 48%;
}
.ftr-content dl {
    width: 52%;
}
.ftr-content .btn-icon01::before {
    left: -4px;
}
.ftr-content .btn01 > span:first-of-type {
    margin-bottom: 4px;
}
#ftr-gmap {
    margin-top: 64px;
}
small {
    padding-bottom: 32px;
}
small::before {
    top: 62%;
}
.h-point {
    margin-bottom: 12px;
}
.box02 {
    padding: 48px 40px;
}
.txt-box {
    padding: 48px 64px;
}
.parallax {
    padding-top: 16px;
    display: flex;
    flex-wrap: nowrap;
    padding-bottom: 0;
    overflow: hidden;
}
.parallax,
.parallax.rev {
    clip-path: none;
}
.parallax::before {
     content: none;
}
.parallax .txt-box {
    clip-path: polygon(0 0, 100% 0, 95% 100%, 0% 100%);
    margin-top: 32px;
    width: 50%;
    position: relative;
    z-index: 1;
    backdrop-filter: none;
}
.parallax .txt-box::before {
    content: '';
    width: 1200px;
    height: 1200px;
    backdrop-filter: blur(4px);
    position: absolute;
    top: 50%;
    right: 16px;
    z-index: 0;
    display: block;
    transform: translateY(-50%) rotate(3.6deg);
}
.parallax .txt-box > * {
    position: relative;
}
.parallax figure.pc {
    clip-path: polygon(5% 0, 100% 0, 100% 100%, 0% 100%);
    margin-left: -88px;
    width: calc(50% + 88px);
}
.parallax figure.pc img {
    object-fit: cover;
    height: 392px;
}
.parallax.rev .txt-box {
    background-color: rgba(240,240,248,.72);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 5% 100%);
    width: 56%;
    padding-left: 80px;
}
.parallax.rev figure.pc {
    clip-path: polygon(0 0, 95% 0, 100% 100%, 0% 100%);
    margin-left: unset;
    margin-right: -88px;
}
.parallax.rev .txt-box::before {
    right: unset;
    left: 16px;
    transform: translateY(-50%) rotate(-3.6deg);
}
.layer-bg01::before,
.layer-bg02::before {
    width: 200%;
}
.layer-bg01::before {
    left: calc((100% - 1280px) / 2 );
    transform: translateX(-8%);
}
.pic-center .layer-bg01::before,
.pic-center .layer-bg02::before {
    width: 120%;
}
.pic-center .layer-bg02::before {
    right: -25%;
}
.pic-center img {
    height: 256px;
}
.sc-in .h4-std + p {
    text-align: center;
}
.panel-box > div.col2 {
    max-width: 90%;
    margin-right: auto;
    margin-left: auto;
}
.panel-box > div.col2 > div {
    width: calc(100% / 2 - 40px);
}
.tab-box {
    width: 98%;
    height: 80px;
    margin-right: auto;
    margin-left: auto;
}
.tab {
    font-size: 18px;
}
.cf-wrap .h5-std {
    font-size: 24px;
    margin-bottom: 32px;
}
.cf-content {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
}
.cf-content > div:not(:last-of-type) {
    margin-bottom: unset;
}
.cf-content > div:not(:nth-of-type(n + 3)) {
    margin-bottom: 24px;
}
.cf-box {
    width: calc(50% - 12px);
}
.cf01 .cf-box:nth-of-type(2n) {
    background-color: rgba(254,254,254,.8);
}
.cf01 .cf-box:nth-of-type(2),
.cf01 .cf-box:nth-of-type(3) {
    background-color: rgba(240,236,236,.8);
}
.cf02 .cf-box:nth-of-type(2n+1) {
    background-color: rgba(254,254,254,.8);
}
.cf02 .cf-box:nth-of-type(2),
.cf02 .cf-box:nth-of-type(3) {
    background-color: rgba(228,232,236,.8);
}
}

@media screen and (min-width: 1080px) {
.layer-bg01::before {
    left: calc((100% - 1280px) / 2 );
    transform: translateX(-28%);
}
.box02 {
    padding: 56px 48px;
}
}


/*     ■■■■■■■■■■      ■■■■■■■■■■     */
/*      ■■      ■■■   ■■        ■■    */
/*      ■■       ■■■  ■■        ■■    */
/*      ■■       ■■■  ■■              */
/*      ■■      ■■■   ■■              */
/*      ■■■■■■■■■     ■■        ■■    */
/*      ■■            ■■■■■■■■■■■■    */
/*    ■■■■■■           ■■■■■■■■■■     */



@media screen and (min-width: 1280px) {
body {
    font-size: 16px;
}
.add_sc-top {
    padding-top: 112px;
}
.sc-in {
    padding-top: 112px;
    padding-bottom: 120px;
}
.col3 {
    gap: 48px;
}
.col3 > div {
    width: calc(100% / 3 - 32px);
}
.hdr-logo picture {
    max-width: 304px;
}
.hdr-link.btn-wrap {
    max-width: 544px;
}
.sub h1 {
    font-size: 36px;
    margin-top: -40px;
}
.sub h1::before {
    width: 128px;
    height: 156px;
}
.sub h1 .serif {
    margin-bottom: 24px;
}
.sub h1 .font-en01 {
    font-size: 22px;
}
.sc-kv .flex .mv_left {
    bottom: 0;
    transform: translateY(-45%);
}
.sc-intro .txt-box {
    padding: 64px 80px;
}
.sc-intro > div {
    padding: 104px 0;
}
.nav > .nav-btn {
    font-size: 17px;
    width: calc((100% - 51%) / 3);
    height: 88px;
}
.nav > .nav-btn:nth-of-type(4),
.nav > .nav-btn:nth-last-of-type(2) {
    width: 18%;
}
nav.pc.fixed .nav .hid {
    height: 72px;
    width: 256px;
    margin-left: 24px;
}
nav.pc.fixed .nav > .nav-btn:nth-of-type(3) {
    width: 14%;
}
nav.pc.fixed .nav > .nav-btn:nth-of-type(4),
nav.pc.fixed .nav > .nav-btn:nth-last-of-type(2) {
    width: 16%;
}
nav.pc.fixed .nav > .nav-btn {
    width: calc((100% - (58% + 280px)) / 2);
}
#ftr-logo {
    margin-bottom: 72px;
}
.ftr-content {
    gap: 56px;
}
#ftr-gmap {
    margin-bottom: -128px;
}
#ftr-gmap iframe {
    height: 304px;
}
small {
    padding-top: 208px;
}
small::before {
    top: 68%;
}
.h2-cap {
    font-size: 22px;
    margin-bottom: 40px;
}
.h2-cap::before,
.h2-cap::after {
    bottom: calc((100% * -1.4) / 1.4 + 1px);
}
.h2-cap > span::before,
.h2-cap > span::after {
    bottom: -12px;
}
.h3-std {
    margin-bottom: 88px;
}
.h3-std::before {
    bottom: -44px;
}
.h3-std::after {
    bottom: -48px;
}
.sc-h2 {
    font-size: 40px;
    margin-bottom: 80px;
}
.h4-std {
    font-size: 28px;
    max-width: 456px;
    margin-bottom: 80px;
}
.h5-std {
    margin-bottom: 64px;
}
.h5-std::after {
    bottom: -30px;
}
.box01 {
    padding: 64px 80px;
}
.box02 {
    padding: 56px 48px;
    padding: 72px 80px;
}
.parallax .txt-box {
    padding: 72px 144px 96px;
    width: 56%;
}
.parallax.rev .txt-box {
    padding-left: 144px;
}
.parallax .txt-box > * {
    max-width: 488px;
    margin-right: 0;
    margin-left: auto;
}
.parallax figure.pc img {
    height: 456px;
}
.parallax.rev .txt-box > * {
    margin-right: auto;
    margin-left: 0;
}
.pic-center {
    margin-top: 56px;
}
.layer-bg.pic-center {
    margin-bottom: 128px;
}
.pic-center img {
    width: 100%;
    height: 336px;
}
.tab-box {
    max-width: 1208px;
    margin-bottom: 16px;
}
.tab {
    font-size: 20px;
    width: calc(100% / 3 - 12px);
}
.panel-box.box01 {
    border-radius: 12px;
}
.panel-box > div.col2 > div {
    width: calc(100% / 2 - 72px);
}
.panel-box > div.col3 > div {
    width: calc(100% / 3 - 40px);
}
.cf-wrap .h5-std {
    font-size: 28px;
}
.cf-box {
    padding: 24px 24px 20px;
}
.cf-box dt {
    margin-bottom: 12px;
}
.orthodontic-block-05__title-wrap {
    font-size: 48px;
    margin-bottom: 112px;
}
.orthodontic-block-05__title-sub {
    font-size: 27px;
    margin-bottom: 40px;
}
.orthodontic-block-05__title-sub--border::before,
.orthodontic-block-05__title-sub--border::after {
    width: 318px;
}
}
@media screen and (min-width: 1366px) {}
@media screen and (min-width: 1536px) {
.hdr-logo picture {
    max-width: 336px;
}
.sc-kv {}
.sc-kv > .flex {
    position: relative;
    width: 100%;
}
.sc-kv .flex .mv_right {
    right: -64vw;
}
.sc-kv .flex .mv_left {
    max-width: 520px;
    position: absolute;
    top: calc((680px / 2) + 32px);
    left: 0;
    left: calc(4vw + (100 - 4) *  (100vw - 1536px) / (1920 - 1536));
    bottom: unset;
    transform: translateY(-50%);
}
.sub h1 {
    margin-top: -56px;
}
footer > .sc-in {
    padding-top: 80px;
}
.parallax .txt-box {
    padding-top: 88px;
    padding-right: 176px;
}
.parallax.rev .txt-box {
    padding-right: 144px;
    padding-left: 176px;
}
.pic-center .layer-bg01,
.pic-center .layer-bg02 {
    width: 105%;
    margin-left: -2.5%;
}
}
@media screen and (max-width:374px) {}