.home_page .key {
    background-color: #fffaf4;
    --height: 50vw;
    --min-height: 62.125em;
    --max-height: 62.125em;
    height: var(--height);
    min-height: var(--min-height);
    max-height: var(--max-height);
    overflow: hidden;
}

.home_page .key .inner_big {
    display: flex;
    justify-content: space-between;
    max-width: 1300px;
}

.home_page .key .mv_slider {
    display: flex;
}

.home_page .key .key_text {
    margin-right: 1.875em;
    padding-left: 5.125em;
    padding-top: 8.25em;
    position: relative;
    z-index: 1;
}

.home_page .key .key_text:before {
    content: "";
    position: absolute;
    right: -9.6875em;
    bottom: 5.9375em;
    background: url(../images/idx-main-ico01.png) no-repeat center;
    background-size: contain;
    width: 33.3125em;
    height: 44.3125em;
}

.home_page .key .key_text .catch {
    padding: 10px 10px 13px;
    display: flex;
    align-items: flex-end;
    position: relative;
}

.home_page .key .key_text .catch .title,
.home_page .key .key_text .catch p {
    color: #946134;
    font-weight: 600;
    letter-spacing: 0.1em;
    writing-mode: tb-rl;
}

.home_page .key .key_text .catch .title {
    margin-bottom: 0;
    font-size: 1.8em;
    line-height: 1.9;
    letter-spacing: 0.15em;
    font-weight: bold;
    order: 2;
}

.home_page .key .key_text .catch p {
    font-size: 1.1em;
    line-height: 1.8em;
    letter-spacing: 0.07em;
}

.home_page .key .key_text .catch p:last-child {
    position: relative;
    bottom: 0.25em
}

.home_page .key .key_text .idx-main-bnr {
    margin-left: -3.25em;
    margin-top: 1.875em;
}

.home_page .key .key_text .idx-main-bnr a {
    width: 16.0625em;
    height: 4.5em;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    position: relative;
    background: #fff;
    overflow: hidden;
    border-radius: 10px;
    color: #946134;
    font-size: 1.25em;
    z-index: 1;
    text-decoration: none;
    font-family: var(--f-jp);
    font-weight: 600;
    padding-right: 1.2em;
    letter-spacing: 0.07em;
    padding-bottom: 0.2em;
    box-shadow: 0 0 5px 3px rgba(35, 24, 21, 0.07);
    transition: 0.3s all;
}

.home_page .key .key_text .idx-main-bnr a .btn {
    font-size: 0.85em;
    font-family: var(--f-en);
    color: #f294a5;
    line-height: 1em;
    letter-spacing: 0.01em;
    padding-right: 0.4em;
    position: relative;
    padding-left: 2.5em;
    font-weight: 500;
}

.home_page .key .key_text .idx-main-bnr a .btn:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.5em;
    background: #f294a5;
    width: 2.25em;
    height: 0.0625em;
}

.home_page .key .key_text .idx-main-bnr a:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.03em;
    background: url(../images/idx-main-bnr-img.png) no-repeat center;
    background-size: contain;
    width: 6.4em;
    height: 4.6em;
    z-index: -1;
}

.home_page .key .key_text .idx-main-bnr a:after {
    content: "";
    position: absolute;
    right: -0.03em;
    bottom: -0.03em;
    background: url(../images/idx-main-bnr-bg.png) no-repeat center;
    background-size: contain;
    width: 20.25em;
    height: 5.9375em;
    z-index: -2;
}

.home_page .key .key_text .img02 {
    margin-top: 1.25em;
    position: relative;
    width: 41.875em;
    height: 20.375em;
    margin-left: -25.0625em;
    --mask: url(../images/idx-main-mask02.png);
    mask-image: var(--mask);
    -webkit-mask-image: var(--mask);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: 100% auto;
    -webkit-mask-size: 100% auto;
    mask-position: center;
    -webkit-mask-position: center;
}

.home_page .key .key_text .img02 img {
    object-position: top;
}

.home_page .key .key_img {
    flex-shrink: 0;
    margin-right: -0.625em;
    position: relative;
    z-index: 1;
}

.home_page .key .key_img {
    width: 76.5em;
    height: 43.125em;
}

.home_page .key .key_img .img.bg02 .bg {
    background-image: url(../images/idx-main-img03.jpg);
    background-position: center center;
    background-size: 100% auto;
}

.home_page .key .key_img .img.bg03 .bg {
    background-image: url(../images/idx-main-img04.jpg);
    background-position: center center;
    background-size: 100% auto;
}

.home_page .key .key_img .img.slick-current.slick-active .bg {
    transition-delay: 0s;
    transform: scale(1.15) translate(-2.5%);
}

.home_page .key .key_img .img .bg {
    background-image: url(../images/idx-main-img01.jpg);
    background-position: center center;
    background-size: 100% auto;
    transform: scale(1.15);
    transition: all 10s 1s linear;
    width: 100%;
    height: 100%;
}

.home_page .key .key_img .img {
    width: 100%;
    height: 43.125em;
    --mask: url(../images/idx-main-mask01.png);
    mask-image: var(--mask);
    -webkit-mask-image: var(--mask);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: 100% auto;
    -webkit-mask-size: 100% auto;
    mask-position: center;
    -webkit-mask-position: center;
}

.home_page .key .key_img .img img {
    transform: scale(1.15);
    transition: all 10s 1s linear;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home_page .topic_path {
    display: none;
}

.home_page h2 {
    font-size: 3.75em;
    font-family: var(--f-en);
    color: #f7c8dc;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0;
    margin-bottom: 0;
}

.home_page .idx-ttl-jp {
    text-align: center;
    font-size: 1.25em;
    color: var(--main-color);
    font-weight: 600;
    font-family: var(--f-jp);
    line-height: 1.1em;
}

.home_page h3 {
    color: var(--clr1);
    font-family: var(--f-jp);
    font-size: calc(var(--ttl_size) + 0px);
}

.idx-recommend {
    position: relative;
    z-index: 1;
    padding-top: 4.2em;
    margin-top: -6.875em;
    padding-bottom: 6.26em;
}

.idx-recommend:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    background: url(../images/idx-bg-recommend.png) no-repeat top center;
    background-size: 100% auto;
    min-height: 110%;
    width: 120em;
    top: -1.875em;
    z-index: -1;
}

.idx-recommend h2 {
    position: relative;
}

.idx-recommend h2:before {
    content: "";
    position: absolute;
    left: 3.4em;
    top: -0.58em;
    background: url(../images/idx-recommend-ico01.svg) no-repeat center;
    background-size: contain;
    width: 3.0335em;
    height: 2.5em;
}

.idx-recommend h2:after {
    content: "";
    position: absolute;
    right: 3.25em;
    top: -1.98em;
    background: url(../images/idx-recommend-ico02.svg) no-repeat center;
    background-size: contain;
    width: 3.2335em;
    height: 3.54em;
}

.idx-recommend .idx-list-recommend {
    display: flex;
    position: relative;
    width: 100%;
    left: 50%;
    transform: translate(-50%);
    margin-top: 3.6875em;
}

.idx-recommend .idx-list-recommend li {
    margin: 0 0.875em;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e4e4e4;
}

.idx-recommend .idx-list-recommend li .ttl {
    text-align: center;
    padding: 0.625em;
    background: #fff;
    letter-spacing: 0;
    font-weight: 600;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.idx-recommend .idx-list-recommend .slick-arrow {
    background: #fff;
    width: 5em;
    height: 6.25em;
    z-index: 1;
    top: 50%;
    box-shadow: 0 0 5px 0 rgba(35, 24, 21, 0.1);
}

.idx-recommend .idx-list-recommend .slick-arrow:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 1.1875em;
    height: 0.875em;
    background: url(../images/idx-ico-prev.svg) no-repeat center;
    background-size: contain;
}

.idx-recommend .idx-list-recommend .slick-prev {
    left: 0;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
}

.idx-recommend .idx-list-recommend li {
    width: 18.75em;
}

.idx-recommend .idx-list-recommend li a {
    text-decoration: none;
    width: 100%;
    display: block;
}

.idx-recommend .idx-list-recommend li .img {
    background: #d4d4d4;
}

.idx-recommend .idx-list-recommend .slick-prev:before {
    left: -0.8em;
}

.idx-recommend .idx-list-recommend .slick-next {
    right: 0;
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px;
}

.idx-recommend .idx-list-recommend .slick-next:before {
    background: url(../images/idx-ico-next.svg) no-repeat center;
    background-size: contain;
    right: -0.8em;
}

.index01 {
    padding-bottom: 13em;
}

.index01-list {
    display: flex;
    position: relative;
    z-index: 1;
}

.index01-list li {
    width: 33.3333333333%;
    position: relative;
    transition: 0.3s all;
}

.index01-list li:nth-child(2) .btn-arr {
    left: 0;
}

.index01-list li:nth-child(2)>a {
    background: url(../images/idx-bg-list02.png) no-repeat center;
    background-size: 100% 100%;
}

.index01-list li:nth-child(2)>a:after {
    background: url(../images/idx-list-ico02.svg) no-repeat center;
    background-size: 100% auto;
    width: 10em;
    height: 10.5625em;
    left: -0.4375em;
    bottom: -5.5625em;
}

.index01-list li:nth-child(3) .btn-arr {
    left: 0;
}

.index01-list li:nth-child(3)>a {
    background: url(../images/idx-bg-list03.png) no-repeat center;
    background-size: 100% 100%;
}

.index01-list li:nth-child(3)>a:after {
    background: url(../images/idx-list-ico03.svg) no-repeat center;
    background-size: 100% auto;
    width: 14.625em;
    height: 14.25em;
    left: -6.5525em;
    bottom: -7em;
}

.index01-list li .btn-arr {
    position: absolute;
    left: 0.8125em;
    right: 0;
    bottom: -2.025em;
    margin: 0 auto;
    text-align: center;
    width: 4em;
    height: 4em;
}

.index01-list li .btn-arr img {
    width: 100%;
    height: 100%;
}

.index01-list li>a {
    width: 100%;
    height: 100%;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    background: url(../images/idx-bg-list01.png) no-repeat center;
    background-size: 100% 100%;
    min-width: 26.75em;
    min-height: 26.8125em;
    padding-top: 3.1875em;
    position: relative;
    overflow: hidden;
}

.index01-list li>a:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 99%;
    height: 99%;
    background: url(../images/idx-bg-list01-01.png) no-repeat center;
    background-size: cover;
    mix-blend-mode: overlay;
    opacity: 1;
}

.index01-list li>a:after {
    content: "";
    position: absolute;
    left: -9.8125em;
    bottom: -10.375em;
    background: url(../images/idx-list-ico01.svg) no-repeat center;
    background-size: 100% auto;
    width: 19em;
    height: 19.6875em;
    z-index: 1;
    mix-blend-mode: color-dodge;
}

.index01-list li>a .img {
    margin-bottom: 0.9375em;
    position: relative;
    z-index: 1;
}

.index01-list li>a .img img {
    border-radius: 1.25em;
}

.index01-list li>a .ttl {
    font-size: 3.125em;
    font-family: var(--f-en);
    font-weight: 500;
    text-align: center;
    line-height: 1em;
    color: #fff;
    letter-spacing: 0;
    margin-bottom: 0.35em;
}

.index01-list li>a .idx-ttl-jp {
    color: #fff;
    font-size: 1em;
}

.idx-trouble {
    background: #fef7fa;
    position: relative;
    padding-bottom: 11.5em;
}

.idx-trouble:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    background: url(../images/idx-trouble-bg.png) no-repeat center;
    background-size: 100% auto;
    width: 120em;
    height: 3.875em;
    top: -3.875em;
}

.idx-trouble .inner {
    max-width: 1100px;
}

.idx-trouble .box-ttl {
    display: flex;
    align-items: center;
    position: relative;
    top: -6.6875em;
    margin-bottom: -4.125em;
}

.idx-trouble .box-ttl h2 {
    margin-bottom: 0;
}

.idx-trouble .box-ttl .idx-ttl-jp {
    margin-left: 20px;
    position: relative;
    top: 5px;
    margin-bottom: 0;
}

.idx-trouble-list {
    display: flex;
    flex-wrap: wrap;
    border-radius: 1.25em;
    background: #fff;
    position: relative;
}

.idx-trouble-list:after {
    content: "";
    position: absolute;
    top: -8.67em;
    right: 2.75em;
    background: url(../images/idx-trouble-ico-list.svg) no-repeat center;
    background-size: 100% auto;
    width: 25.875em;
    height: 19.6875em;
}

.idx-trouble-list li {
    width: 25%;
    border: 1px solid #f7c8dc;
    border-right: 0;
    border-bottom: 0;
    position: relative;
    background: #fff;
    z-index: 1;
}

.idx-trouble-list li:nth-child(4),
.idx-trouble-list li:nth-child(8),
.idx-trouble-list li:nth-child(12) {
    border-right: 1px solid #f7c8dc;
}

.idx-trouble-list li:nth-child(9),
.idx-trouble-list li:nth-child(10),
.idx-trouble-list li:nth-child(11),
.idx-trouble-list li:nth-child(12) {
    border-bottom: 1px solid #f7c8dc;
}

.idx-trouble-list li:first-child {
    border-top-left-radius: 1.25em;
}

.idx-trouble-list li:nth-child(4) {
    border-top-right-radius: 1.25em;
}

.idx-trouble-list li:nth-child(9) {
    border-bottom-left-radius: 1.25em;
}

.idx-trouble-list li:last-child {
    border-bottom-right-radius: 1.25em;
}

.idx-trouble-list li:nth-child(6) a .ico {
    margin-bottom: 0.55em;
    padding-right: 0.625em;
}

.idx-trouble-list li:nth-child(6) a .ttl {
    margin-bottom: 0.1em;
}

.idx-trouble-list li:nth-child(10) a .ico {
    padding-right: 0;
    margin-bottom: 1em;
    padding-left: 0.5em;
}

.idx-trouble-list li:nth-child(10) a .ico img {
    height: 7.625em;
}

.idx-trouble-list li:nth-child(10) a .btn {
    bottom: -1px;
}

.idx-trouble-list li a {
    display: block;
    text-decoration: none;
    padding: 1.25em 2.0625em 1.25em;
    font-family: var(--f-jp);
    position: relative;
}

.idx-trouble-list li a .ico {
    line-height: 0;
    margin-bottom: 1.3em;
}

.idx-trouble-list li a .ico img {
    width: auto;
    height: 7.25em;
}

.idx-trouble-list li a .ttl {
    letter-spacing: 0;
    color: var(--clr1);
    font-weight: 600;
    font-size: 1.25em;
    display: block;
    text-align: center;
    line-height: 1.35em;
    margin-bottom: 0.85em;
}

.idx-trouble-list li a .txt {
    letter-spacing: -0.1em;
    font-size: 0.875em;
    color: var(--clr1);
    line-height: 1.3em;
    font-weight: 600;
}

.idx-trouble-list li a .btn {
    position: absolute;
    right: -1px;
    bottom: -2px;
}

.idx-treatment {
    position: relative;
    background: #fff;
    padding-bottom: 10.1em;
}

.idx-treatment:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    width: 1920px;
    height: 62px;
    background: url(../images/idx-bg-treatment.png) no-repeat center;
    background-size: 100% auto;
    top: -3.875em;
}

.idx-treatment .box-ttl {
    display: flex;
    align-items: center;
    position: relative;
    top: -6.7em;
    padding-left: 2.8em;
    margin-bottom: -4em;
}

.idx-treatment .box-ttl h2 {
    color: #f1dda1;
    margin-bottom: 0;
}

.idx-treatment .box-ttl .idx-ttl-jp {
    margin-bottom: 0;
    margin-left: 1.1em;
    letter-spacing: 0.1em;
    margin-top: 0.4em;
    font-weight: bold;
}

.idx-treatment-fx {
    display: flex;
    position: relative;
    z-index: 1;
}

.idx-treatment-fx:before {
    content: "";
    position: absolute;
    left: -13.75em;
    bottom: -6.1875em;
    background: url(../images/idx-treatment-ico03.svg) no-repeat center;
    background-size: contain;
    width: 14.5625em;
    height: 14.25em;
    z-index: -1;
}

.idx-treatment-fx .img {
    width: 55em;
    height: 45.3125em;
    flex-shrink: 0;
    border-top-right-radius: 200px;
    border-bottom-right-radius: 20px;
    margin-left: -23.4375em;
    overflow: hidden;
    border: 1px solid #f1dda1;
}

.idx-treatment-fx .img img {
    width: 100%;
    height: auto;
}

.idx-treatment-list {
    width: 46.0625em;
    flex-shrink: 0;
    display: flex;
    flex-wrap: wrap;
    margin-left: -7.25em;
    margin-top: 3.75em;
    position: relative;
}

.idx-treatment-list:before {
    content: "";
    position: absolute;
    left: 10.1875em;
    top: -13.0625em;
    background: url(../images/idx-treatment-ico01.png) no-repeat center;
    background-size: contain;
    width: 14.375em;
    height: 15.125em;
}

.idx-treatment-list:after {
    content: "";
    position: absolute;
    right: -1.3125em;
    bottom: -8.9375em;
    background: url(../images/idx-treatment-ico02.png) no-repeat center;
    background-size: contain;
    width: 10em;
    height: 10.5em;
}

.idx-treatment-list li {
    width: calc(33.3333333333% - 0.875em);
    margin-right: 1.25em;
    margin-bottom: 1.25em;
}

.idx-treatment-list li:nth-child(3n) {
    margin-right: 0;
}

.idx-treatment-list .idx-btn a span {
    letter-spacing: 0.03em;
}

.idx-treatment-list .idx-btn:nth-child(11) a span {
    letter-spacing: -1px;
}

.idx-treatment-list .idx-btn a {
    padding-top: 1em;
    padding-bottom: 1em;
    line-height: 0;
    display: flex;
    text-decoration: none;
    color: var(--clr1);
    min-height: 4.375em;
    border: 1px solid #f1dda1;
    border-radius: 5px;
    padding-left: 1.2em;
    letter-spacing: -0.015em;
	line-height:1.3em;
    background: #fff;
    font-family: var(--f-jp);
    position: relative;
    padding-right: 2em;
    font-weight: 600;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
}

.idx-treatment-list .idx-btn a:before {
    content: "";
    position: absolute;
    right: 1.2em;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 0.625em;
    height: 0.5em;
    background: url(../images/idx-treatment-ico-btn.svg) no-repeat center;
    background-size: contain;
}

.idx-equi {
    position: relative;
    background: #f8faf1;
    padding-bottom: 6.2em;
}

.idx-equi:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    background: url(../images/idx-equi-bg.png) no-repeat center;
    background-size: cover;
    width: 120em;
    height: 3.875em;
    top: -3.875em;
}

.idx-equi .box-ttl {
    display: flex;
    align-items: center;
    position: relative;
    top: -6.5em;
    margin-left: 2.8em;
    margin-bottom: -3.1em;
}

.idx-equi .box-ttl h2 {
    margin-bottom: 0;
    color: #d3dda1;
}

.idx-equi .box-ttl .idx-ttl-jp {
    margin-bottom: 0;
    margin-left: 1.1em;
    position: relative;
    top: 0.2em;
}

.idx-equi-list {
    padding-left: 6.2125em;
    position: relative;
    width: 100%;
}

.idx-equi-list:before {
    content: "";
    position: absolute;
    left: -6.6em;
    top: -3.285em;
    background: url(../images/idx-equi-ico.svg) no-repeat center;
    background-size: contain;
    width: 14.625em;
    height: 14.25em;
}

.idx-equi-list li {
    max-width: 19.6875em;
    margin: 0 1.25em;
    min-height: 28.3125em;
    width: 100%;
    border-radius: 20px;
}

.idx-equi-list li a {
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 28.3125em;
    overflow: hidden;
    z-index: 2;
    justify-content: flex-end;
    text-decoration: none;
    padding-bottom: 3.2em;
    border: 1px solid #d3dda1;
    line-height: 0;
}

.idx-equi-list li a:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    top: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    background: url(../images/idx-equi-list-bg.png) no-repeat center;
    background-size: 100% auto;
    mix-blend-mode: multiply;
    z-index: 1;
}

.idx-equi-list li a .img {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    line-height: 0;
}

.idx-equi-list li a .ttl {
    position: relative;
    z-index: 2;
    color: #fff;
    font-size: 1.75em;
    font-family: var(--f-jp);
    text-align: center;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.3em;
    margin-bottom: 0.6em;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    min-height: 2.4em;
    text-shadow: 0 0 10px rgba(35, 24, 21, 0.9);
}

.idx-equi-list li a .ttl .sm {
    font-size: 0.715em;
    line-height: 0.7em;
    margin-top: 0.4em;
    margin-bottom: 0.5em;
}

.idx-equi-list li a .btn-link {
    min-width: 7.6875em;
    min-height: 2em;
    color: #fff;
    display: flex;
    align-items: center;
    margin: 0 auto;
    border: 1px solid #fff;
    border-radius: 16px;
    font-size: 1em;
    position: relative;
    z-index: 2;
    letter-spacing: -0.12em;
    padding-left: 0.8em;
}

.idx-equi-list li a .btn-link:before {
    content: "";
    position: absolute;
    right: 0.9em;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 0.625em;
    height: 0.5em;
    background: url(../images/idx-treatment-ico-btn.svg) no-repeat center;
    background-size: contain;
    filter: brightness(0) invert(1);
}

.idx-equi-list .slick-arrow {
    background: #fff;
    width: 5em;
    height: 6.25em;
    z-index: 1;
    top: 50%;
    box-shadow: 0 0 5px 0 rgba(35, 24, 21, 0.1);
}

.idx-equi-list .slick-arrow:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 1.1875em;
    height: 0.875em;
    background: url(../images/idx-ico-green-prev.svg) no-repeat center;
    background-size: contain;
}

.idx-equi-list .slick-prev {
    left: 0;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
}

.idx-equi-list .slick-prev:before {
    left: -0.8em;
}

.idx-equi-list .slick-next {
    right: 0;
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px;
}

.idx-equi-list .slick-next:before {
    background: url(../images/idx-ico-green-next.svg) no-repeat center;
    background-size: contain;
    right: -0.8em;
}

.idx-bnr {
    padding-top: 6.25em;
    padding-bottom: 4.7em;
}

.idx-bnr-list {
    display: flex;
    max-width: 67.5em;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.idx-bnr-list:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%);
    width: 100vw;
    background: #fffaf4;
    height: 100%;
    z-index: -1;
}

.idx-bnr-list li {
    width: 50%;
    position: relative;
}

.idx-bnr-list li:not(:last-child) {
    margin-right: 6.25em;
}

.idx-bnr-list li:not(:last-child):before {
    content: "";
    position: absolute;
    right: -3.125em;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 1px;
    height: 15.625em;
    background: url(../images/idx-hr-bnr.svg) no-repeat center;
    background-size: cover;
}

.idx-bnr-list li:last-child a .ttl {
    min-width: 11.11em;
    padding-left: 0.2em;
    letter-spacing: 0;
}

.idx-bnr-list li a {
    text-decoration: none;
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 15.625em;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    overflow: hidden;
}

.idx-bnr-list li a .img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.idx-bnr-list li a .ttl {
    font-size: 1.75em;
    font-weight: 600;
    color: var(--clr1);
    position: relative;
    z-index: 1;
    background: #fff;
    min-width: 7.858em;
    min-height: 2.61em;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    letter-spacing: 0.1em;
    padding-right: 0.5em;
    padding-left: 0.5em;
}

.idx-bnr-list li a .ttl:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: calc(100% + 0.75em);
    height: calc(100% + 0.75em);
    border: 1px solid #fff;
    border-radius: 7px;
}

.idx-bnr-list li a .ttl:after {
    content: "";
    position: relative;
    background: url(../images/idx-bnr-ico-btn.svg) no-repeat center;
    background-size: contain;
    width: 0.893em;
    height: 0.893em;
    right: 0;
    top: 0;
    margin-left: 0.5em;
}

.idx-feature {
    position: relative;
    z-index: 1;
    background: #fffaf4;
}

.idx-feature:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    bottom: -17.6875em;
    background: url(../images/idx-feature-bg03.png) no-repeat center;
    background-size: 100% auto;
    width: 120em;
    height: 20.5625em;
    z-index: -1;
}

.idx-feature .img-full {
    --mask: url(../images/idx-feature-mask01.svg);
    mask-image: var(--mask);
    -webkit-mask-image: var(--mask);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: 100% auto;
    -webkit-mask-size: 100% auto;
    mask-position: center;
    -webkit-mask-position: center;
    position: relative;
    width: 100%;
    height: 46.875em;
    margin-bottom: 0.2em;
}

.idx-feature .img-full .img img {
    display: none;
}

.idx-feature .img-full .img {
    background-image: url(../images/idx-feature-img01.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    height: 100%;
}

.idx-feature-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 3.7em;
    position: relative;
}

.idx-feature-list:after {
    content: "";
    position: absolute;
    right: -15.125em;
    bottom: -25.125em;
    background: url(../images/idx-feature-ico03.svg) no-repeat center;
    background-size: contain;
    width: 36.75em;
    height: 27.125em;
}

.idx-feature-list li {
    width: calc(50% - 2.0625em);
    margin-right: 4.125em;
    margin-bottom: 3.86em;
    position: relative;
}

.idx-feature-list li:first-child:before {
    content: "";
    position: absolute;
    left: -18.75em;
    top: 11.375em;
    background: url(../images/idx-feature-ico01.svg) no-repeat center;
    background-size: contain;
    width: 26.75em;
    height: 20em;
    z-index: -1;
}

.idx-feature-list li:nth-child(4):before {
    content: "";
    position: absolute;
    right: -4.75em;
    top: 2.8125em;
    background: url(../images/idx-feature-ico04.svg) no-repeat center;
    background-size: contain;
    width: 22.9375em;
    height: 24.5625em;
    z-index: -1;
}

.idx-feature-list li:nth-child(5):before {
    content: "";
    position: absolute;
    left: -18.75em;
    top: 7.8125em;
    background: url(../images/idx-feature-ico02.svg) no-repeat center;
    background-size: contain;
    width: 27.5625em;
    height: 18.3125em;
    z-index: -1;
}

.idx-feature-list li:nth-child(2n) {
    margin-right: 0;
}

.idx-feature-list li .box-img {
    border-radius: 20px;
    background: #fffaf4;
}

.idx-feature-list li .img {
    position: relative;
    border-radius: 20px;
    mix-blend-mode: multiply;
    z-index: 1;
}

.idx-feature-list li .img:before,
.idx-feature-list li .img:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.idx-feature-list li .img:before {
    top: -0.9375em;
    left: -0.9375em;
    background: url(../images/idx-feature-bg01.png) no-repeat center;
    background-size: 100% 100%;
}

.idx-feature-list li .img:after {
    bottom: -0.9375em;
    right: -0.9375em;
    background: url(../images/idx-feature-bg02.png) no-repeat center;
    background-size: 100% 100%;
}

.idx-feature-list li .img img {
    border-radius: 20px;
}

.idx-feature-list li .stt {
    margin-top: -0.36em;
    margin-right: 0.52em;
    font-size: 5.625em;
    font-family: var(--f-en);
    text-align: right;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1em;
    color: var(--clr2);
    position: relative;
    z-index: 1;
    margin-bottom: -0.34em;
    text-shadow: rgb(255, 250, 244) 6px 0px 0px, rgb(255, 250, 244) 5.91686px 0.995377px 0px, rgb(255, 250, 244) 5.66974px 1.96317px 0px, rgb(255, 250, 244) 5.2655px 2.87655px 0px, rgb(255, 250, 244) 4.71532px 3.71022px 0px, rgb(255, 250, 244) 4.03447px 4.44106px 0px, rgb(255, 250, 244) 3.24181px 5.04883px 0px, rgb(255, 250, 244) 2.35931px 5.51667px 0px, rgb(255, 250, 244) 1.41143px 5.83163px 0px, rgb(255, 250, 244) 0.424423px 5.98497px 0px, rgb(255, 250, 244) -0.574341px 5.97245px 0px, rgb(255, 250, 244) -1.55719px 5.79441px 0px, rgb(255, 250, 244) -2.49688px 5.45578px 0px, rgb(255, 250, 244) -3.36738px 4.96596px 0px, rgb(255, 250, 244) -4.14455px 4.33852px 0px, rgb(255, 250, 244) -4.80686px 3.59083px 0px, rgb(255, 250, 244) -5.33596px 2.74364px 0px, rgb(255, 250, 244) -5.71718px 1.8204px 0px, rgb(255, 250, 244) -5.93995px 0.84672px 0px, rgb(255, 250, 244) -5.99811px -0.150428px 0px, rgb(255, 250, 244) -5.89004px -1.14341px 0px, rgb(255, 250, 244) -5.61874px -2.1047px 0px, rgb(255, 250, 244) -5.19172px -3.00766px 0px, rgb(255, 250, 244) -4.62082px -3.82727px 0px, rgb(255, 250, 244) -3.92186px -4.54081px 0px, rgb(255, 250, 244) -3.11421px -5.12852px 0px, rgb(255, 250, 244) -2.22026px -5.57409px 0px, rgb(255, 250, 244) -1.26477px -5.86518px 0px, rgb(255, 250, 244) -0.274238px -5.99373px 0px, rgb(255, 250, 244) 0.723898px -5.95617px 0px, rgb(255, 250, 244) 1.70197px -5.75355px 0px, rgb(255, 250, 244) 2.63288px -5.39147px 0px, rgb(255, 250, 244) 3.49082px -4.87998px 0px, rgb(255, 250, 244) 4.25202px -4.23324px 0px, rgb(255, 250, 244) 4.89538px -3.46919px 0px, rgb(255, 250, 244) 5.40307px -2.60899px 0px, rgb(255, 250, 244) 5.76102px -1.67649px 0px, rgb(255, 250, 244) 5.95932px -0.697531px 0px;
}

.idx-feature-list li .ttl {
    line-height: 1.65em;
    font-size: 1.875em;
    color: #f294a5;
    margin-bottom: 0.4em;
    letter-spacing: -0.025em;
}

.idx-feature-list li .txt {
    letter-spacing: -0.03125em;
    padding-right: 2em;
}

.idx-greeting {
    position: relative;
    z-index: 1;
    padding-top: 5.5625em;
    padding-bottom: 7.5em;
}

.idx-greeting-fx {
    display: flex;
}

.idx-greeting-cnt {
    width: 25em;
    flex-shrink: 0;
    margin-right: 3.7em;
}

.idx-greeting-cnt h2,
.idx-greeting-cnt .idx-ttl-jp {
    text-align: left;
}

.idx-greeting-cnt h2 {
    margin-bottom: -0.02em;
}

.idx-greeting-cnt .idx-ttl-jp {
    margin-bottom: 2.4em;
}

.idx-greeting-cnt h3 {
    letter-spacing: -0.03125em;
    color: #f294a5;
    line-height: 1.65em;
    margin-bottom: 0.35em;
    font-size: 1.875em;
}

.idx-greeting-cnt .txt {
    letter-spacing: -0.03125em;
    font-weight: 600;
    margin-bottom: 1.37em;
}

.idx-greeting-cnt .idx-list-btn li {
    margin-bottom: 1em;
}

.idx-greeting-cnt .idx-list-btn li a {
    margin-right: auto;
    margin-left: 0;
    min-width: 15.6875em;
    letter-spacing: 0;
}

.idx-greeting-img {
    flex-shrink: 0;
    position: relative;
    height: max-content;
}

.idx-greeting-img:before {
    content: "";
    position: absolute;
    left: -8.3125em;
    top: -1.0625em;
    background: url(../images/idx-greeting-ico01.svg) no-repeat center;
    background-size: contain;
    width: 12.125em;
    height: 13.3125em;
}

.idx-greeting-img:after {
    content: "";
    position: absolute;
    left: 31.1875em;
    bottom: -2.6875em;
    background: url(../images/idx-greeting-ico02.svg) no-repeat center;
    background-size: contain;
    width: 10.5625em;
    height: 8.125em;
}

.idx-greeting-img .img {
    --mask: url(../images/idx-greeting-mask01.svg);
    mask-image: var(--mask);
    -webkit-mask-image: var(--mask);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: 100% auto;
    -webkit-mask-size: 100% auto;
    mask-position: center;
    -webkit-mask-position: center;
}

.idx-greeting-img .box-name {
    background: url(../images/idx-bg-name.svg) no-repeat center;
    background-size: 100% 100%;
    width: 12.5em;
    height: 12.5em;
    display: flex;
    flex-direction: column;
    text-align: center;
    position: absolute;
    left: 0.75em;
    bottom: 0px;
    padding-top: 2.74em;
}

.idx-greeting-img .box-name .sub-ttl,
.idx-greeting-img .box-name .sub-name {
    letter-spacing: 0;
    font-size: 0.875em;
    margin-bottom: 0;
}

.idx-greeting-img .box-name .sub-ttl {
    padding-bottom: 0.475em;
    margin-bottom: 0.5375em;
    background: url(../images/idx-hr-name.svg) no-repeat bottom center;
    background-size: 5.8em 0.25em;
}

.idx-greeting-img .box-name .name {
    font-size: 1.375em;
    font-weight: 600;
    margin-bottom: 0;
    line-height: 1.35em;
}

.idx-greeting-img .box-name .sub-name {
    line-height: 1.6em;
}

.idx-greeting-img .box-name .sub-name02 {
    font-size: 0.84375em;
    font-family: var(--f-en);
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #f294a5;
    line-height: 1.35em;
}

.idx-blog {
    position: relative;
    background: #fffaf4;
    padding-top: 0.35em;
    padding-bottom: 14em;
}

.idx-blog:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    background: url(../images/idx-bg-blog.png) no-repeat center;
    background-size: 100% auto;
    width: 1920px;
    height: 62px;
    top: -62px;
}

.idx-blog-fx {
    display: flex;
    position: relative;
    z-index: 1;
}

.idx-blog-fx:before {
    content: "";
    position: absolute;
    left: -27.9375em;
    bottom: -9.625em;
    background: url(../images/idx-ico-blog.svg) no-repeat center;
    background-size: contain;
    width: 36.75em;
    height: 27.125em;
    z-index: -1;
}

.idx-blog-fx .box-left,
.idx-blog-fx .box-right {
    width: 50%;
}

.idx-blog .idx-fx-ttl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2.9em;
}

.idx-blog .box-ttl {
    text-align: left;
    display: flex;
    align-items: center;
}

.idx-blog .box-ttl h2 {
    font-size: 2.5em;
    line-height: 1em;
}

.idx-blog .box-ttl .idx-ttl-jp {
    font-size: 1em;
    margin-left: 1.25em;
    padding-top: 1em;
}

.idx-blog .box-left {
    padding-right: 4.1em;
    background: url(../images/idx-hr-blog.svg) no-repeat right center;
    background-size: 3px 423px;
}

.idx-blog .box-left ul li a .ttl:before {
    display: none;
}

.idx-blog .box-right {
    padding-left: 4.1em;
}

.idx-blog .box-right .idx-fx-ttl {
    margin-bottom: 2.68em;
}

.idx-blog .box-right ul li {
    margin-bottom: 1.4375em;
}

.idx-blog .box-right ul li a {
    padding-bottom: 1.625em;
    border-bottom: 1px solid #ffebd3;
    flex-direction: column;
}

.idx-blog .box-right ul li a .ttl {
    margin-bottom: 0;
    padding-right: 2em;
}

.idx-blog .idx-btn a {
    text-decoration: none;
    display: flex;
    align-items: center;
    padding-left: 1em;
    color: #f294a5;
    font-size: 0.8125em;
    min-width: 8.85em;
    min-height: 2.31em;
    border-radius: 15px;
    background: #fff;
    letter-spacing: 0;
    border: 1px solid #f294a5;
    position: relative;
}

.idx-blog .idx-btn a:before {
    content: "";
    position: absolute;
    right: 0.8em;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 0.8em;
    height: 0.8em;
    background: url(../images/idx-arr-pink.svg) no-repeat center;
    background-size: contain;
}

.idx-blog ul li {
    margin-bottom: 1.2em;
}

.idx-blog ul li a {
    text-decoration: none;
    display: flex;
}

.idx-blog ul li a .img {
    width: 9.9375em;
    height: 6.25em;
    flex-shrink: 0;
    background: #d4d4d4;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    margin-right: 1.5em;
}

.idx-blog ul li a .img img {
    border-radius: 10px;
}

.idx-blog ul li a .date {
    font-size: 0.75em;
    color: #f294a5;
    letter-spacing: 0.05em;
}

.idx-blog ul li a .ttl {
    display: block;
    color: #946134;
    letter-spacing: -1px;
    margin-bottom: 0.5em;
    position: relative;
    font-weight: 600;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.idx-blog ul li a .ttl:before {
    content: "";
    position: absolute;
    right: 0;
    top: 0.3125em;
    bottom: 0;
    margin: auto 0;
    width: 0.725em;
    height: 0.55em;
    background: url(../images/idx-blog-ico-arr.svg) no-repeat center;
    background-size: contain;
    transition: 0.3s all;
}

.idx-blog ul li a .desc {
    color: #946134;
    font-size: 0.8125em;
    letter-spacing: -1px;
    line-height: 1.5em;
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.idx_gallery {
    position: relative;
    z-index: 1;
}

.idx_gallery .list {
    margin-top: -11.25em;
}

.idx_gallery .list .item {
    margin: 0 0.9375em;
}

.idx_gallery .list .item:nth-child(odd) {
    margin-top: 3.125em;
}

.idx_gallery .list .item img {
    border-radius: 20px;
}

@media only screen and (min-width: 769px) {
    .idx-equi-list li a:hover:before {
        opacity: 0.5;
        transition: 0.3s all;
    }
    .idx-blog .idx-btn a:hover {
        background: #f294a5;
        transition: 0.3s all;
        color: #fff;
    }
    .idx-blog .box-right ul li a:hover .ttl:before {
        right: 10px;
        transition: 0.3s all;
    }
    .idx-blog .idx-btn a:hover:before {
        filter: brightness(0) invert(1);
    }
    .idx-bnr-list li a:hover {
        opacity: 1;
        transition: 0.3s all;
    }
    .idx-bnr-list li a:hover .ttl {
        background: var(--clr1);
        color: #fff;
        transition: 0.3s all;
    }
    .idx-bnr-list li a:hover .ttl:after {
        filter: brightness(0) invert(1);
        transition: 0.3s all;
    }
    .idx-equi-list li a:hover {
        opacity: 1;
    }
    .idx-equi-list li a:hover .btn-link {
        background: #d3dda1;
        transition: 0.3s all;
    }
    .idx-equi-list .slick-arrow:hover {
        transition: 0.3s all;
        background: #d3dda1;
        transition: 0.3s all;
    }
    .idx-equi-list .slick-arrow:hover:before {
        filter: brightness(0) invert(1);
    }
    .idx-treatment-list .idx-btn a:hover {
        background: #f1dda1;
        opacity: 1;
        transition: 0.3s all;
    }
    .home_page .key .key_text .idx-main-bnr a:hover {
        opacity: 1;
        transition: 0.3s;
        transform: translateY(-5px);
    }
    .idx-recommend .idx-list-recommend .slick-arrow:hover {
        background: #f294a5;
        transition: 0.3s all;
        opacity: 1;
    }
    .index01-list li a:hover {
        opacity: 1;
    }
    .index01-list li:hover {
        opacity: 1;
        transform: translateY(-5px);
        transition: 0.3s all;
    }
    .idx-trouble-list li a:hover .ttl {
        color: #f294a5;
    }
}

section {
    background-size: cover;
    background-repeat: no-repeat;
}

.index0 {
    padding: 100px 0px 100px;
}

.idx_map {
    height: 450px;
}

.idx_map iframe {
    height: 100%;
}

@media only screen and (min-width: 769px) and (max-width: 1440px) {
    .fixed_banner {
        bottom: 10px;
        right: 30px;
    }
}

@media only screen and (min-width: 769px) and (max-width: 1280px) {
     :root {
        --ttl_size: 24px;
    }
    .home_page .key,
    .index01 {
        font-size: 1.25vw;
    }
    .home_page .key .inner_big,
    .index01 .inner_big {
        padding: 0;
    }
    .idx-recommend,
    .idx-trouble,
    .idx-treatment,
    .idx-equi,
    .idx-bnr,
    .idx-feature,
    .idx-greeting,
    .idx-blog,
    .idx_gallery {
        font-size: 1.25vw;
    }
    .index01-list li>a .img img {
        width: 20.375em;
        height: auto;
    }
    .idx-recommend .idx-list-recommend li img {
        width: 18.75em;
        height: auto;
    }
    .idx-trouble-list li a .btn {
        position: absolute;
        right: -1px;
        bottom: -2px;
    }
    .idx-equi-list li a .img img {
        width: 19.6875em;
        height: auto;
    }
    .idx-bnr-list li a .img img {
        width: 30.625em;
        height: auto;
    }
    .idx-feature .img-full img {
        width: 120em;
        height: auto;
    }
    .idx-greeting-img .img img {
        width: 67.125em;
        height: auto;
    }
    .idx_gallery .list .item img {
        width: 30.625em;
        height: auto;
    }
    .idx-recommend .idx-list-recommend .slick-prev {
        left: 10.625em;
    }
    .idx-recommend .idx-list-recommend .slick-next {
        right: 10.625em;
    }
    .idx-recommend .idx-list-recommend {
        width: 101.25em;
    }
}

@media only screen and (max-width: 1080px) and (min-width: 769px) {
    .idx-treatment-fx {
        justify-content: center;
    }
    .idx-greeting-cnt {
        width: 28em;
    }
}

@media only screen and (max-width: 992px) and (min-width: 769px) {
     :root {
        --ttl_size: 22px;
    }
    .idx-blog {
        font-size: 1.6vw;
    }
}


/*# sourceMappingURL=index_pc.css.map */