@keyframes fadeInDown {
    0% {
        -webkit-transform: translate3d(0, 50%, 0);
        opacity: 0;
        transform: translate3d(0, 50%, 0)
    }

    to {
        -webkit-transform: translateZ(0);
        opacity: 1;
        transform: translateZ(0)
    }
}

.home_page .key {
    --height: 56vw;
    --min-height: 550px;
    --max-height: 946px;
    height: var(--height);
    min-height: var(--min-height);
    max-height: var(--max-height)
}

.home_page .key .inner_max {
    position: relative;
    padding: 0;
    width: 100%
}

.home_page .key .mv_slider:not(.slick-slider) {
    display: flex;
    overflow: hidden;
    opacity: 0
}

.home_page .key .s1 {
    background-image: url(../images/idx_mv01.jpg)
}

.home_page .key .slick-initialized .s2 {
    background-image: url(../images/idx_mv02.jpg)
}

.home_page .key .slick-initialized .s3 {
    background-image: url(../images/idx_mv03.jpg)
}

.home_page .key .key_text {
    position: relative;
    overflow: hidden;
    font-size: min(10px, 1.4vw)
}

.home_page .key .key_text .item {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    height: var(--height);
    min-height: var(--min-height);
    max-height: var(--max-height);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
    padding-top: 24.9em
}

.home_page .key .key_text .item:after,
.home_page .key .key_text .item:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.home_page .key .key_text .item:before {
    background-color: rgba(67, 60, 54, 0.26);
    mix-blend-mode: multiply
}

.home_page .key .key_text .item:after {
    background: url(../images/idx_key_bg.png) no-repeat center/cover
}

.home_page .key .catch {
    position: relative;
    padding-left: 10.2em
}

.home_page .key h2,
.home_page .key p {
    color: #fff
}

.home_page .key h2 {
    margin-bottom: 0.2391304348em;
    font-size: 4.6em;
    font-weight: 600;
    line-height: 2;
    letter-spacing: 0.3em;
    line-height: 1.4;
    animation: fadeInDown 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.home_page .key p {
    font-size: 3em;
    font-weight: 500;
    letter-spacing: 0.28em;
    line-height: 1.5333333;
    animation: fadeInDown 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.home_page .key_catch {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: 24.9em;
    display: flex;
    align-items: center
}

.home_page .topic_path {
    display: none
}

@media screen and (min-width:1921px) {
    .home_page .key {
        --max-height: 1600px;
        --height: 50vw
    }
}

@media only screen and (max-width:1560px) and (min-width:769px) and (orientation:landscape) {
    .home_page .key {
        --max-height: calc(100vh - 20px)
    }

    .home_page .key .key_text {
        font-size: min(0.625em, 1.4vw, 1.5vh)
    }

    .home_page .key_catch {
        padding-top: 16.9em
    }
}

@media only screen and (max-width:1170px) and (min-width:769px) {
    .home_page .key .key_text {
        font-size: min(0.8vw, 1.5vh)
    }
}

.wrap_tl {
    text-align: center
}

.wrap_tl .en {
    font-size: 90px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.05em;
    color: var(--main-color);
    margin-bottom: -1px
}

.wrap_tl h3 {
    font-size: 26px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--cl_tl)
}

.wrap_tl.tl_white h3,
.wrap_tl.tl_white p {
    color: #fff
}

@media only screen and (min-width:769px) {
    .b_grid {
        display: grid;
        justify-content: space-between
    }

    .b_grid .column-star1 {
        grid-row: 1/span 3
    }

    .b_grid .column-star2 {
        grid-column-start: 2;
        grid-row: 1/span 3
    }
}

@media (min-width:769px) and (max-height:650px),
only screen and (min-width:769px) and (max-width:1366px) {
    .wrap_tl .en {
        font-size: 70px
    }

    .wrap_tl h3 {
        font-size: 22px
    }
}

.idx01 {
    padding: 127px 0px 84px;
    background-image: url(../images/idx01_bg01.png), url(../images/idx01_bg02.png);
    background-position: top -49px right, bottom left;
    background-repeat: no-repeat
}

.idx01 .wrap_tl {
    margin-bottom: 66px
}

.idx01 .block_trouble {
    font-size: 10px
}

.idx01 .block_trouble .trouble_item {
    max-width: 42em;
    position: relative;
    min-height: 36em;
    /* color: #fff; */
    text-align: center;
    z-index: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0.4em 2em 7.2em
}

.idx01 .block_trouble .trouble_item:after {
    content: "";
    position: absolute;
    bottom: 2.9em;
    right: 0;
    left: 0;
    margin: auto;
    mask-image: url(../images/ic_arr.png);
    -webkit-mask-image: url(../images/ic_arr.png);
    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;
    background-color: var(--clr2);
    width: 4.7em;
    height: 1.2em
}

.idx01 .block_trouble .trouble_item.item01 .trouble_icon img {
    max-width: 9.3em
}

.idx01 .block_trouble .trouble_item.item02 .trouble_icon img {
    max-width: 11.4em
}

.idx01 .block_trouble .trouble_item.item03 .trouble_icon img {
    max-width: 11.3em
}

.idx01 .block_trouble .trouble_item.item04 .trouble_icon img {
    max-width: 11.2em
}

.idx01 .block_trouble .trouble_item.item05 .trouble_icon img {
    max-width: 10.7em
}

.idx01 .block_trouble .trouble_item.item06 .trouble_icon img {
    max-width: 13.7em
}

.idx01 .block_trouble .trouble_item.item07 .trouble_icon img {
    max-width: 10.1em
}

.idx01 .block_trouble .trouble_item.item08 .trouble_icon img {
    max-width: 11.3em
}

.idx01 .block_trouble .trouble_item.item09 .trouble_icon img {
    max-width: 8.7em
}

.idx01 .block_trouble .link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.idx01 .block_trouble .link a {
    width: 100%;
    height: 100%
}

.idx01 .block_trouble h4 {
    color: var(--main-color);
    font-size: 2.4em;
    font-weight: 500;
    line-height: 1.4583;
    letter-spacing: 0.1em;
    margin-bottom: 0.625em
}

.idx01 .block_trouble p {
    line-height: 1.6111;
    font-size: 1.8em
}

.idx01 .block_trouble .fz_sm01 {
    font-size: 1.6em;
    line-height: 1.666875
}

.idx01 .block_trouble .fz_sm02 {
    font-size: 0.666666667em
}

.idx01 .block_trouble .trouble_icon {
    margin: 0 auto 1.1em;
    display: table;
    position: relative
}

.idx01 .block_trouble .trouble_content {
    max-width: 297px;
    width: 100%
}
.idx01 .block_trouble .trouble_content::before{
    content: '';
    position: absolute;
    inset: 1em;
    background-color: rgba(255, 255, 255, 0.85);
    z-index: -1;
}

.idx01 .block_trouble .trouble_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    border-radius: 5px;
    overflow: hidden
}

.idx01 .block_trouble .trouble_bg:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.3);
    transition: opacity 0.4s ease;
    opacity: 1
}

.idx01 .block_trouble .trouble_bg img {
    object-fit: cover;
    width: 100%;
    height: 100%
}

.idx01 .trouble_note {
    margin-top: 39px;
    background-image: linear-gradient(90deg, rgba(149, 7, 50, 0) 0%, rgba(141, 6, 61, 0.04) 10%, rgba(132, 5, 73, 0.2) 50%, rgba(141, 6, 61, 0.04) 90%, rgba(149, 7, 50, 0) 100%);
    text-align: center;
    padding: 31px 0 38px
}

.idx01 .trouble_note p {
    font-size: 20px;
    font-weight: 600;
    color: #404040;
    letter-spacing: 0.18em;
    line-height: 2.1
}

.idx01 .trouble_note p .line {
    font-size: 1.2em;
    font-weight: bold;
    color: #6c043b;
    letter-spacing: 0.18em;
    position: relative;
    z-index: 0
}

.idx01 .trouble_note p .line:before {
    content: "";
    position: absolute;
    bottom: -0.0416666667em;
    left: 0;
    width: 100%;
    height: 0.6666666667em;
    border-radius: 8px;
    background-color: #fff;
    z-index: -1
}

.idx01 .trouble_note p .line.pb {
    margin: 0 0.4166666667em
}

@media only screen and (min-width:769px) {
    .idx01 .block_trouble .trouble_bg:after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(0deg, rgba(182, 14, 64, 0.7) 0%, rgba(132, 5, 73, 0.7) 100%);
        transform-origin: right center;
        transition: transform 0.4s ease, opacity 0.4s ease;
        transform: scaleX(0);
        opacity: 0
    }

    .idx01 .block_trouble .trouble_item {
        width: calc((100% - 2em) / 3);
        margin-bottom: 1em;
        margin-right: 1em
    }

    .idx01 .block_trouble .trouble_item.item01 {
        padding: 0.4em 2em 5.5em
    }

    .idx01 .block_trouble .trouble_item.item02 {
        padding-bottom: 7.5em
    }

    .idx01 .block_trouble .trouble_item.item02 .trouble_icon {
        margin-bottom: 2.1em
    }

    .idx01 .block_trouble .trouble_item.item02 h4 {
        margin-bottom: 0.5em
    }

    .idx01 .block_trouble .trouble_item.item03 {
        padding-bottom: 7.5em
    }

    .idx01 .block_trouble .trouble_item.item03 .trouble_icon {
        margin-bottom: 1.5em
    }

    .idx01 .block_trouble .trouble_item.item03 h4 {
        margin-bottom: 0.5em
    }

    .idx01 .block_trouble .trouble_item.item04 .trouble_icon {
        margin-bottom: 1.5em
    }

    .idx01 .block_trouble .trouble_item.item05 .trouble_icon {
        margin-bottom: 1.5em
    }

    .idx01 .block_trouble .trouble_item.item06 {
        padding-bottom: 7.8em
    }

    .idx01 .block_trouble .trouble_item.item06 .trouble_icon {
        margin-bottom: 2.1em
    }

    .idx01 .block_trouble .trouble_item.item07 .trouble_icon {
        margin-bottom: 1.5em
    }

    .idx01 .block_trouble .trouble_item.item08 .trouble_icon {
        margin-bottom: 2.1em
    }

    .idx01 .block_trouble .trouble_item.item09 .trouble_icon {
        margin-bottom: 1.4em
    }

    .idx01 .block_trouble .trouble_item:last-child,
    .idx01 .block_trouble .trouble_item:nth-child(3n+3) {
        margin-right: 0
    }

    .idx01 .block_trouble .trouble_item:hover .trouble_bg:after {
        opacity: 1;
        transform: scaleX(1);
        transform-origin: left center
    }
}

@media (min-width:769px) and (max-height:650px),
only screen and (min-width:769px) and (max-width:1366px) {
    .idx01 {
        padding-top: 80px;
        background-size: 60% auto, 70% auto
    }

    .idx01 .wrap_tl {
        margin-bottom: 25px
    }

    .idx01 .block_trouble {
        font-size: min(10px, 0.9vw)
    }

    .idx01 .trouble_note p {
        font-size: 18px
    }
}

.idx02 {
    padding: 158px 0 108px;
    position: relative;
    z-index: 0
}

.idx02:before {
    content: "";
    position: absolute;
    bottom: 22px;
    left: 0;
    width: 105.8em;
    height: 113em;
    background: url(../images/idx02_bg.png) no-repeat center/cover;
    opacity: 0.26;
    mix-blend-mode: multiply;
    z-index: -1;
    font-size: 10px
}

.idx02 .b_wrap {
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
    position: relative
}

.idx02 .b_title {
    position: relative;
    z-index: 1;
    margin-bottom: 67px
}

.idx02 .b_title .tt_big {
    color: rgba(232, 227, 229, 0.23);
    font-weight: 400;
    font-size: 120px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1.2;
    position: absolute;
    bottom: -0.6em;
    left: -156px;
    white-space: nowrap
}

.idx02 .b_title h3 {
    line-height: 1.3888888889;
    font-size: 36px;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #404040
}

.idx02 .b_title .tt_en {
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    color: var(--main-color);
    margin-top: 14px
}

.idx02 .b_cont p {
    line-height: 2.1111;
    letter-spacing: 0.14em;
    margin-bottom: 10px
}

.idx02 .b_cont p:last-child {
    margin-bottom: 0
}

.idx02 .block_prosthetics {
    position: relative;
    z-index: 1;
    margin-top: 7em;
    font-size: 10px
}

.idx02 .block_prosthetics .en {
    font-size: 1.5em;
    font-weight: 300;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    line-height: 1;
    margin-bottom: 0.6em;
    color: #fff
}

.idx02 .block_prosthetics h4 {
    font-size: 2.2em;
    font-weight: 400;
    line-height: 1.45455;
    letter-spacing: 0.1em;
    color: #fff
}

.idx02 .block_prosthetics .prosthetics_item {
    position: relative;
    min-height: 30em;
    padding: 6em 4em;
    z-index: 0
}

.idx02 .block_prosthetics .prosthetics_item:after {
    content: "";
    position: absolute;
    bottom: 2em;
    right: 1.9em;
    width: round(4em, 1px);
    height: round(4em, 1px);
    background: rgba(255, 255, 255, 0.2) url(../images/ic_arr02.png) no-repeat center/contain;
    border-radius: 50%
}

.idx02 .block_prosthetics .link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.idx02 .block_prosthetics .link a {
    width: 100%;
    height: 100%
}

.idx02 .block_prosthetics .prosthetics_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden
}

.idx02 .block_prosthetics .prosthetics_bg:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(108, 103, 91, 0.6);
    transition: opacity 0.4s ease;
    opacity: 1
}

.idx02 .block_prosthetics .prosthetics_bg img {
    object-fit: cover;
    width: 100%;
    height: 100%
}

@media only screen and (min-width:1921px) {
    .idx02:before {
        width: 205.8em;
        background-position: top center
    }
}

@media only screen and (min-width:769px) {
    .idx02 .b_img {
        position: absolute;
        top: -158px;
        right: -19px;
        width: 50%
    }

    .idx02 .b_cont,
    .idx02 .b_title {
        width: 50%;
        padding-right: 35px
    }

    .idx02 .block_prosthetics .prosthetics_bg:after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        transform-origin: right center;
        transition: transform 0.4s ease, opacity 0.4s ease;
        transform: scaleX(0);
        background: linear-gradient(0deg, rgba(182, 14, 64, 0.769) 0%, rgba(132, 5, 73, 0.769) 100%);
        opacity: 0
    }

    .idx02 .block_prosthetics .prosthetics_item {
        margin-bottom: 1.2em
    }

    .idx02 .block_prosthetics .prosthetics_item:hover .prosthetics_bg:before {
        opacity: 0
    }

    .idx02 .block_prosthetics .prosthetics_item:hover .prosthetics_bg:after {
        opacity: 1;
        transform: scaleX(1);
        transform-origin: left center
    }

    .idx02 .block_prosthetics .prosthetics_item.w_big {
        max-width: 420px;
        width: calc((100% - 2em) / 3);
        margin-right: 1em
    }

    .idx02 .block_prosthetics .prosthetics_item.w_big:nth-of-type(3n+3) {
        margin-right: 0
    }

    .idx02 .block_prosthetics .prosthetics_item.w_small {
        width: calc((100% - 3.6em) / 4);
        margin-right: 1.2em
    }

    .idx02 .block_prosthetics .prosthetics_item.w_small:last-child,
    .idx02 .block_prosthetics .prosthetics_item.w_small:nth-of-type(7) {
        margin-right: 0
    }
}

@media only screen and (min-width:769px) and (max-width:1650px) {
    .idx02 .b_title {
        margin-bottom: 40px
    }

    .idx02 .b_title .tt_big {
        font-size: min(90px, 7vw);
        left: -5vw
    }

    .idx02 .b_img picture {
        max-height: 700px;
        height: 50vw
    }

    .idx02 .b_img picture img {
        object-fit: cover;
        width: 100%;
        height: 100%
    }
}

@media (min-width:769px) and (max-height:650px),
only screen and (min-width:769px) and (max-width:1366px) {
    .idx02:before {
        width: 55%;
        background-size: 100% auto
    }

    .idx02 .b_title .tt_big {
        left: -20px
    }

    .idx02 .b_title h3 {
        font-size: 30px
    }

    .idx02 .b_title .tt_en {
        font-size: 18px;
        margin-top: 8px
    }

    .idx02 .block_prosthetics {
        font-size: min(10px, 0.8vw)
    }

    .idx02 .block_prosthetics .prosthetics_item {
        padding: 5em 2em
    }
}

@media only screen and (min-width:769px) and (max-width:1200px) {
    .idx02 {
        padding-top: 8vw;
        padding-bottom: 80px
    }

    .idx02 .b_cont,
    .idx02 .b_title {
        padding-right: 20px
    }

    .idx02 .b_title {
        margin-bottom: 25px
    }

    .idx02 .b_img {
        top: -8vw
    }

    .idx02 .b_cont p {
        letter-spacing: 0.05em;
        line-height: 2
    }

    .idx02 .block_prosthetics {
        margin-top: 5em
    }
}

.idx03 {
    padding: 85px 0 94px;
    background-image: url(../images/idx03_bg02.png), url(../images/idx03_bg.jpg);
    background-position: top right, center left;
    background-repeat: no-repeat;
    background-size: auto, cover
}

.idx03 .wrap_tl {
    text-align: left;
    margin-bottom: 34px
}

.idx03 .block_denture {
    color: #fff;
    max-width: 735px;
    width: 61%
}

.idx03 .block_denture>p {
    font-size: 17px;
    line-height: 2.039411;
    margin-bottom: 34px;
    letter-spacing: 0.12em
}

.idx03 .block_denture>p:last-child {
    margin-bottom: 0
}

.idx03 .btn {
    max-width: 320px;
    width: 100%;
    margin-top: 49px
}

@media only screen and (min-width:1921px) {
    .idx03 {
        background-size: 61% auto, cover
    }
}

@media only screen and (min-width:769px) and (max-width:1600px) {
    .idx03 {
        background-size: auto 100%, cover;
        background-position: right -70% center, center
    }
}

@media (min-width:769px) and (max-height:650px),
only screen and (min-width:769px) and (max-width:1366px) {
    .idx03 {
        background-position: right top, center
    }

    .idx03 .wrap_tl {
        margin-bottom: 20px
    }

    .idx03 .btn {
        margin-top: 30px
    }

    .idx03 .block_denture {
        max-width: 745px;
        padding-left: 40px
    }

    .idx03 .block_denture>p {
        font-size: 16px;
        line-height: 2;
        letter-spacing: 0.05em;
        margin-bottom: 18px
    }
}

@media only screen and (min-width:769px) and (max-width:1300px) {
    .idx03 {
        background-position: right -50% top, center
    }
}

@media only screen and (min-width:769px) and (max-width:1200px) {
    .idx03 {
        background-position: right 190% top, center
    }
}

@media only screen and (max-width:1000px) {
    .idx03 {
        padding-top: 44vw;
        padding-bottom: 70px;
        background-size: 100% auto, cover;
        background-image: url(../images/idx03_bg02_sp.png), url(../images/idx03_bg.jpg)
    }

    .idx03 .wrap_tl {
        text-align: center
    }

    .idx03 .btn {
        margin-left: auto;
        margin-right: auto
    }

    .idx03 .block_denture {
        width: 100%;
        max-width: 100%;
        padding-left: 0
    }
}

.idx04 {
    padding: 135px 0 0;
    background-color: #f8f7f4
}

.idx04 .wrap_tl {
    margin-bottom: 57px
}

.idx04 .TabContainer .TabContent {
    overflow: visible
}

.idx04 .TabContainer .TabContent:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    right: 50%;
    margin: 0 -50vw;
    width: 100vw;
    height: 100%;
    background-color: #fff;
    z-index: -1
}

.idx04 .TabContainer .TabContent .content>div {
    padding: 71px 0 118px
}

.idx04 .b_grid,
.idx04 .block_menu {
    max-width: 1280px;
    width: 100%;
    margin-left: auto;
    margin-right: auto
}

.idx04 p {
    color: #4a4a4a
}

.idx04 .bx_title {
    margin-bottom: 32px
}

.idx04 .bx_title .en {
    font-weight: 400;
    font-size: 14px;
    line-height: 1;
    color: var(--main-color);
    margin-bottom: 7px;
    text-transform: uppercase
}

.idx04 .bx_title h4 {
    color: #4a4a4a;
    font-size: 30px;
    line-height: 1.4;
    letter-spacing: 0.1em;
    font-weight: 500
}

.idx04 .block_menu {
    margin-top: -58px;
    position: relative;
    z-index: 1;
    font-size: 10px
}

.idx04 .block_menu .menu_item {
    position: relative;
    z-index: 0;
    min-height: 36em;
    padding: 4em 3.7em 7.7em 3.5em;
    display: flex;
    align-items: flex-end;
    justify-content: center
}

.idx04 .block_menu .menu_item:before {
    content: "";
    position: absolute;
    transition: 0.4s all ease;
    opacity: 1;
    inset: 1em;
    background: rgba(255, 255, 255, 0.85);
    transition: all 0.4s ease;
    z-index: -1;
}

.idx04 .block_menu .menu_item:after {
    content: "";
    position: absolute;
    bottom: 2.4em;
    left: 0;
    right: 0;
    width: 1.2em;
    height: 1.3em;
    margin: auto;
    mask-image: url(../images/ic_arr03.png);
    -webkit-mask-image: url(../images/ic_arr03.png);
    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;
    background-color: var(--clr2);
}

.idx04 .block_menu .link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.idx04 .block_menu .link a {
    width: 100%;
    height: 100%
}

.idx04 .block_menu p {
    font-size: 1.6em;
    line-height: 2.166875
}

.idx04 .block_menu .bx_title {
    text-align: center;
    margin-bottom: 2em;
    margin-top: 0
}

.idx04 .block_menu .bx_title h4 {
    font-size: 2.4em;
    font-weight: 500;
    line-height: 1.4583;
    letter-spacing: 0.1em;
}

.idx04 .block_menu .bx_title .en {
    font-size: 1.2em;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 0;
    margin-top: 0.8333333em;
}


.idx04 .block_menu .menu_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    overflow: hidden
}

.idx04 .block_menu .menu_bg:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(108, 103, 91, 0.6);
    transition: opacity 0.4s ease;
    opacity: 1
}

.idx04 .block_menu .menu_bg img {
    object-fit: cover;
    width: 100%;
    height: 100%
}

@media only screen and (min-width:769px) {
    .idx04 .b_grid {
        grid-template-columns: 50% calc(50% + 80px)
    }

    .idx04 .b_grid .b_img {
        margin-right: -80px
    }

    .idx04 .b_grid .b_content,
    .idx04 .b_grid .bx_title {
        padding-right: 40px
    }

    .idx04 .b_grid .bx_title {
        margin-top: 48px
    }

    .idx04 .block_menu .menu_bg:after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(0deg, rgba(182, 14, 64, 0.769) 0%, rgba(132, 5, 73, 0.769) 100%);
        transform-origin: right center;
        transition: transform 0.4s ease, opacity 0.4s ease;
        transform: scaleX(0);
        opacity: 0
    }

    .idx04 .block_menu .menu_item {
        margin-right: 1.2em;
        margin-bottom: 1.2em
    }


    .idx04 .block_menu .menu_item:hover .menu_bg:after {
        opacity: 1;
        transform: scaleX(1);
        transform-origin: left center
    }

    .idx04 .block_menu .menu_item:hover .menu_bg:before {
        opacity: 0
    }

    .idx04 .block_menu.col4 .menu_item {
        max-width: 311px;
        width: calc((100% - 3.6em) / 4)
    }

    .idx04 .block_menu.col4 .menu_item:nth-child(4n+4) {
        margin-right: 0
    }

    .idx04 .block_menu.col3 .menu_item {
        width: calc((100% - 2.4em) / 3);
        max-width: 420px
    }

    .idx04 .block_menu.col3 .menu_item:nth-child(3n+3) {
        margin-right: 0
    }

    .idx04 .TabContainer:not(.tab-initialized) .TabContent .content {
        height: 71.888888889em
    }
}

@media only screen and (min-width:769px) and (max-width:1500px) {
    .idx04 .b_grid {
        grid-template-columns: 53% 48%
    }

    .idx04 .b_grid .b_img {
        margin-right: 0;
        max-height: 600px;
        height: 35vw
    }

    .idx04 .b_grid .b_img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: right
    }
}

@media (min-width:769px) and (max-height:650px),
only screen and (min-width:769px) and (max-width:1366px) {
    .idx04 {
        padding-top: 90px
    }

    .idx04 .wrap_tl {
        margin-bottom: 30px
    }

    .idx04 .b_grid .bx_title {
        margin-top: 25px;
        margin-bottom: 20px
    }

    .idx04 .b_grid .bx_title .en {
        font-size: 12px
    }

    .idx04 .b_grid .bx_title h4 {
        font-size: 26px
    }

    .idx04 .block_menu {
        font-size: min(10px, 0.8vw)
    }

    .idx04 .block_menu .menu_cont>p {
        min-height: 6.5em
    }

    .idx04 .block_menu .bx_title {
        margin-bottom: 2em
    }

    .idx04 .block_menu .bx_title h4 {
        letter-spacing: 0
    }

    .idx04 .block_menu .menu_item {
        padding: 4em 2em 7.7em
    }

    .idx04 .block_menu .menu_item:before {
        inset: 0.8em
    }

    .idx04 .TabContainer .TabContent .content>div {
        padding: 55px 0 75px
    }
}

@media only screen and (min-width:769px) and (max-width:1200px) {
    .idx04 .b_grid .bx_title {
        margin-top: 0;
        margin-bottom: 10px
    }

    .idx04 .b_grid .b_img {
        margin-bottom: -2em
    }

    .idx04 .block_menu {
        margin-top: 3.2em
    }

    .idx04 .block_menu p {
        line-height: 2;
        font-size: 1.8em
    }
}

@media only screen and (min-width:769px) and (max-width:1000px) {
    .idx04 .block_menu {
        margin-top: 4em
    }
}

.idx05 {
    padding: 98px 0 99px;
    background-image: url(../images/idx05_bg01.png), url(../images/idx05_bg02.png), url(../images/idx05_bg.jpg);
    background-repeat: no-repeat;
    background-size: auto, auto, cover;
    background-position: top left, bottom 542px right, center
}

.idx05 .wrap_tl {
    position: relative;
    margin-bottom: 74px
}

.idx05 .wrap_tl:before {
    content: "";
    position: relative;
    display: block;
    width: 54px;
    height: 53px;
    background: url(../images/ic_logo.png) no-repeat center/contain;
    margin: 0 auto 17px
}

.idx05 .btn {
    max-width: 320px;
    width: 100%;
    margin-top: -41px;
    position: relative;
    z-index: 2
}

.idx05 .block_feature .feature_img {
    position: relative;
    z-index: 0;
    font-size: 10px
}

.idx05 .block_feature .feature_img:before {
    content: "";
    position: absolute;
    top: -1.9em;
    left: -18.8em;
    background: url(../images/idx05_img_bf.png) no-repeat center/contain;
    width: 68.6em;
    height: 59.4em;
    z-index: -1
}

.idx05 .block_feature h4 {
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0.1em;
    color: #fff;
    margin-bottom: 1.7083333333em
}

.idx05 .block_feature h4 span {
    padding: 0.25em 0.9166666667em 0.375em;
    background-color: var(--main-color);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    display: inline
}

.idx05 .block_feature p {
    color: var(--cl_tl)
}

.idx05 .block_feature .feature_point {
    color: #fff;
    font-family: var(--f-en);
    font-weight: 400;
    letter-spacing: 0;
    line-height: 0.5;
    position: absolute;
    z-index: -1
}

.idx05 .block_feature .feature_cont {
    position: relative;
    z-index: 0
}

.idx05 .block_feature .st01 .feature_img {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    max-width: 73.4em
}

.idx05 .block_feature .st01 .feature_img:after {
    content: "";
    position: absolute;
    bottom: -7.3em;
    z-index: -2;
    background-color: rgba(255, 255, 255, 0.7);
    width: 86.5em;
    height: 49.5em
}

.idx05 .block_feature .st01 .feature_img .gr_img,
.idx05 .block_feature .st01 .feature_img .img01 {
    width: calc(50% - 0.5em);
    max-width: 36.2em
}

.idx05 .block_feature .st01 .feature_img .img02 {
    margin-bottom: 0.8em
}

.idx05 .block_feature .st01 .feature_img .gr_img {
    margin-top: 4em
}

.idx05 .block_feature .st01 .feature_img.img_st {
    max-width: 65.8em
}

.idx05 .block_feature .st01 .feature_img.img_st .f_img {
    position: relative;
    overflow: hidden
}

.idx05 .block_feature .st01 .feature_img.img_st .f_img picture {
    width: 65.8em;
    height: 54em;
    position: absolute
}

.idx05 .block_feature .st01 .feature_img.img_st .f_img picture img {
    object-fit: cover;
    width: 100%;
    height: 100%
}

.idx05 .block_feature .st01 .feature_img.img_st .img02,
.idx05 .block_feature .st01 .feature_img.img_st .img03 {
    height: 24.6em
}

.idx05 .block_feature .st01 .feature_img.img_st .img01 {
    max-width: 28.6em;
    width: calc(45% - 0.5em);
    height: 50em
}

.idx05 .block_feature .st01 .feature_img.img_st .img01 picture {
    left: 0;
    top: 0
}

.idx05 .block_feature .st01 .feature_img.img_st .gr_img {
    width: 55%
}

.idx05 .block_feature .st01 .feature_img.img_st .img02 picture {
    top: -4em;
    right: 0
}

.idx05 .block_feature .st01 .feature_img.img_st .img03 picture {
    bottom: 0;
    right: 0
}

.idx05 .block_feature .st_left .feature_img:before {
    top: -12.2em;
    left: -15.9em;
    width: 81em;
    height: 96.4em;
    background-image: url(../images/idx05_img_bf02.png)
}

.idx05 .block_feature .st_left .feature_img:after {
    right: 13.9em;
    bottom: -10.2em
}

.idx05 .block_feature .st_right .feature_img:before {
    top: 6em;
    left: -8.2em;
    width: 75.6em;
    height: 65.1em
}

.idx05 .block_feature .st_right .feature_img:after {
    left: 22.2em
}

.idx05 .block_feature .st02 .feature_img {
    margin-left: 2em
}

.idx05 .block_feature .st02 .feature_point {
    top: -0.1111111111em;
    right: -0.1444444444em;
    font-size: 180px
}

@media only screen and (min-width:769px) {
    .idx05 .block_feature .feature_item:nth-child(3) {
        position: relative;
        z-index: 1
    }

    .idx05 .block_feature .feature_item:nth-child(4) {
        margin-top: 96px
    }

    .idx05 .block_feature .st01 {
        margin-bottom: 75px;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between
    }

    .idx05 .block_feature .st01 .feature_point {
        font-size: 240px;
        bottom: -0.4708333333em
    }

    .idx05 .block_feature .st01 .feature_img {
        width: 60%
    }

    .idx05 .block_feature .st01 .feature_cont {
        width: 40%
    }

    .idx05 .block_feature .st02 {
        width: 48%;
        max-width: 600px
    }

    .idx05 .block_feature .st02 h4 span {
        padding: 0.25em 1.0833333333em 0.375em 0.9166666667em
    }

    .idx05 .block_feature .st02 .feature_cont {
        margin-top: -22px
    }

    .idx05 .block_feature .st02 .feature_cont h4,
    .idx05 .block_feature .st02 .feature_cont>p:not(.feature_point) {
        max-width: 490px;
        width: 100%
    }

    .idx05 .block_feature .st_left {
        margin-bottom: 211px
    }

    .idx05 .block_feature .st_left .feature_point {
        right: -0.02083333em
    }

    .idx05 .block_feature .st_left .feature_cont {
        width: 45.35%;
        padding-right: 83px;
        padding-left: 31px;
        padding-top: 147px
    }

    .idx05 .block_feature .st_right {
        flex-direction: row-reverse
    }

    .idx05 .block_feature .st_right .feature_point {
        left: -0.0666666667em
    }

    .idx05 .block_feature .st_right .feature_cont {
        padding-right: 30px;
        padding-left: 80px;
        padding-top: 70px
    }

    .idx05 .block_feature .st_right .feature_point {
        letter-spacing: -5px
    }
}

@media (min-width:769px) and (max-height:650px),
only screen and (min-width:769px) and (max-width:1366px) {
    .idx05 .block_feature h4 {
        font-size: 22px
    }

    .idx05 .block_feature .feature_img {
        font-size: min(10px, 0.8vw)
    }

    .idx05 .block_feature .st01 .feature_point {
        font-size: min(200px, 18vw)
    }

    .idx05 .block_feature .st02 .feature_point {
        font-size: min(150px, 12vw)
    }
}

@media only screen and (min-width:769px) and (max-width:1300px) {
    .idx05 .block_feature .feature_item:nth-child(3) {
        padding-left: 1%
    }

    .idx05 .block_feature .feature_item:nth-child(4) {
        padding-right: 5%
    }

    .idx05 .block_feature .feature_item:nth-child(4) .feature_point {
        right: -0.4em
    }

    .idx05 .btn {
        margin-left: 1%
    }
}

@media only screen and (min-width:769px) and (max-width:1200px) {
    .idx05 .btn {
        margin-top: -70px
    }

    .idx05 .block_feature h4 {
        margin-bottom: 1em
    }

    .idx05 .block_feature h4 span {
        padding: 0.25em 0.4em 0.375em;
        letter-spacing: 0.01em
    }

    .idx05 .block_feature .st01 .feature_img {
        width: 50%;
        font-size: min(10px, 0.7vw)
    }

    .idx05 .block_feature .st01 .feature_cont {
        width: 50%
    }

    .idx05 .block_feature .st_right .feature_cont {
        padding-right: 30px;
        padding-left: 3%;
        padding-top: 5vw
    }

    .idx05 .block_feature .st_left {
        margin-bottom: 130px
    }

    .idx05 .block_feature .st_left .feature_cont {
        padding-right: 35px;
        padding-left: 30px;
        padding-top: 6vw
    }

    .idx05 .block_feature .st02 h4 span {
        padding: 0.25em 0.5em 0.375em
    }

    .idx05 .block_feature .st02 .feature_point {
        right: -0.3em;
        font-size: min(150px, 11vw)
    }
}

.idx06 {
    padding: 158px 0 139px;
    position: relative;
    z-index: 0;
    max-width: 1920px;
    width: 100%;
    margin: 0 auto
}

.idx06 .wrap_tl {
    margin-bottom: 53px;
    position: relative;
    z-index: 0
}

.idx06 .wrap_tl:before {
    content: "";
    position: absolute;
    top: -10.1em;
    left: -16.2em;
    width: 35.5em;
    height: 34.7em;
    background: url(../images/ic_logo.svg) no-repeat center/contain;
    opacity: 0.04;
    z-index: -1;
    font-size: 10px
}

.idx06 .greeting_img {
    font-size: 10px
}

.idx06 .greeting_img .img_bf01 {
    position: absolute;
    right: 0;
    top: 198px;
    z-index: -1;
    max-width: 48.6em
}

.idx06 .greeting_img .img_bf02 {
    position: absolute;
    bottom: -19em;
    right: -25.7em;
    width: 81em;
    height: 69.4em;
    background: url(../images/idx06_img_bf02.png) no-repeat center/cover;
    z-index: -2
}

.idx06 .greeting_img .gr_img {
    position: relative
}

.idx06 .greeting_cont>p {
    line-height: 1.9261111;
    color: var(--cl_tl)
}

.idx06 .gr_btn {
    margin-top: 68px
}

.idx06 .gr_btn .btn {
    max-width: 320px;
    margin: 16px 0
}

.idx06 .box_name {
    position: absolute;
    right: 0;
    bottom: -6.5em;
    max-width: 32em;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.58);
    z-index: 0;
    text-align: center;
    padding: 4.3em 2em 4.4em
}

.idx06 .box_name:before {
    content: "";
    position: absolute;
    inset: 1em;
    background-color: #fff;
    z-index: -1
}

.idx06 .box_name p {
    line-height: 1;
    margin-bottom: 0;
    font-weight: 500
}

.idx06 .box_name .name_jp {
    font-size: 1.6em;
    color: var(--cl_tl);
    margin-bottom: 1.25em
}

.idx06 .box_name .name_jp span {
    font-size: 1.875em;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #333;
    margin-left: 0.466666667em
}

.idx06 .box_name .name_en {
    font-size: 1.3em;
    text-transform: uppercase;
    color: var(--main-color);
    margin-left: 1.8461538462em
}

@media only screen and (min-width:769px) {
    .idx06 .wrap_tl {
        text-align: left
    }

    .idx06 .block_greeting {
        grid-template-columns: 50% 50%
    }

    .idx06 .greeting_img {
        margin-top: 55px
    }

    .idx06 .greeting_cont,
    .idx06 .wrap_tl {
        padding-right: 89px
    }
}

@media only screen and (min-width:769px) and (max-width:1600px) {
    .idx06 .wrap_tl:before {
        left: unset;
        right: 25.5vw;
        font-size: min(9px, 0.8vw)
    }

    .idx06 .greeting_img .gr_img {
        width: 80%;
        padding-right: 8%
    }
}

@media (min-width:769px) and (max-height:650px),
only screen and (min-width:769px) and (max-width:1366px) {
    .idx06 .wrap_tl {
        margin-bottom: 25px
    }

    .idx06 .wrap_tl:before {
        right: 23.5vw
    }

    .idx06 .btn {
        margin-top: 30px
    }

    .idx06 .block_greeting {
        padding: 0 3%
    }

    .idx06 .greeting_img {
        font-size: min(10px, 0.8vw)
    }
}

@media only screen and (min-width:769px) and (max-width:1200px) {
    .idx06 {
        padding: 14vw 0 80px
    }

    .idx06 .wrap_tl:before {
        right: 24vw
    }

    .idx06 .wrap_tl .en {
        letter-spacing: 0
    }

    .idx06 .block_greeting {
        grid-template-columns: 55% 45%
    }

    .idx06 .gr_btn {
        margin-top: 40px
    }

    .idx06 .greeting_img .img_bf01 {
        width: 40%;
        top: 16vw
    }

    .idx06 .greeting_cont,
    .idx06 .wrap_tl {
        padding-right: 5%
    }
}

@media only screen and (min-width:769px) and (max-width:1000px) {
    .idx06 .greeting_img .gr_img {
        width: 95%
    }

    .idx06 .greeting_img .img_bf01 {
        width: 31%
    }
}

.idx07 {
    padding: 128px 0 100px;
    background-image: linear-gradient(180deg, rgb(182, 14, 65) 0%, rgb(132, 5, 72) 100%);
    position: relative;
    z-index: 0
}

.idx07:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 843px;
    background: url(../images/idx07_bg.png) no-repeat center bottom/cover;
    opacity: 0.29
}

.idx07 .wrap_tl {
    margin-bottom: 64px
}

.idx07 .block_clinic {
    padding: 79px 79px 79px 77px;
    position: relative;
    z-index: 0;
    border: 1px solid #fff
}

.idx07 .block_clinic:before {
    content: "";
    position: absolute;
    inset: 9px;
    background-color: #fff;
    z-index: -1
}

.idx07 .idx_logo {
    display: table;
    margin-top: 1px;
    margin-bottom: 43px
}

.idx07 .idx_logo a:hover {
    opacity: 1
}

.idx07 .address {
    text-align: left;
    position: relative;
    padding-left: 3.6666666667em;
    color: var(--cl_tl);
    border-bottom: 1px solid #e8e8e8;
    padding-bottom: 1.2777777778em;
    margin-bottom: -2px;
    max-width: 482px;
    width: 100%
}

.idx07 .address:before {
    content: "";
    position: absolute;
    top: 0.6111111111em;
    left: 0.111111111em;
    width: round(2.222222222em, 1px);
    height: round(2.222222222em, 1px);
    background: url(../images/ic_map.svg) no-repeat center/contain
}

.idx07 .b_tel {
    margin-left: 0;
    margin-right: 0
}

.idx07 .b_tel a {
    color: var(--main-color);
    font-weight: 700;
    padding-left: 2.7916666667em;
    letter-spacing: 0.04em
}

.idx07 .b_tel a:before {
    background-image: url(../images/ic_tel03.svg);
    top: -0.25em;
    left: 0.0833333333em
}

.idx07 .gr_btn {
    margin-top: 60px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap
}

.idx07 .gr_btn .btn a {
    height: 100%
}

.idx_map {
    height: 280px;
    margin-top: 60px
}

@media only screen and (min-width:769px) {
    .idx07 .col_time {
        max-width: 572px;
        width: 52%
    }

    .idx07 .col_info {
        width: 47%
    }

    .idx07 .gr_btn .btn {
        width: calc((100% - 30px) / 3);
        margin-right: 15px;
        max-width: 320px
    }

    .idx07 .gr_btn .btn:last-child,
    .idx07 .gr_btn .btn:nth-child(3n+3) {
        margin-right: 0
    }
}

@media (min-width:769px) and (max-height:650px),
only screen and (min-width:769px) and (max-width:1366px) {
    .idx07 {
        padding: 90px 0 100px
    }

    .idx07 .wrap_tl {
        margin-bottom: 30px
    }

    .idx07 .col_info {
        width: 45%
    }

    .idx07 .block_clinic {
        padding: 50px 5%
    }

    .idx07 .gr_btn {
        margin-top: 40px
    }

    .idx_map {
        margin-top: 40px
    }
}

@media only screen and (min-width:769px) and (max-width:1000px) {
    .idx07 .gr_btn .btn {
        width: calc((100% - 16px) / 3);
        margin-right: 8px
    }

    .idx07 .gr_btn .btn a:after {
        right: 10px
    }
}

.idx08 {
    padding: 93px 0 120px
}

.idx08 .wrap_tl {
    margin-bottom: 108px
}

.idx08 .btn_news .btn {
    display: none;
    max-width: 260px
}

.idx08 .btn_news .btn.active {
    display: block
}

.idx08 .block_news .tab_btns {
    display: flex;
    flex-wrap: wrap
}

.idx08 .block_news .tab_btns .tab_it {
    background-color: var(--clr2);
    max-width: 222px;
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 21px 10px;
    cursor: pointer;
    transition: all 0.3s ease-in-out
}

.idx08 .block_news .tab_btns .tab_it .tt {
    position: relative;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
    padding-left: 1.3em;
    color: #fff;
    transition: all 0.3s ease-in-out
}

.idx08 .block_news .tab_btns .tab_it .tt:before {
    content: "";
    position: absolute;
    top: 0.55em;
    left: 0.2em;
    width: round(0.45em, 1px);
    height: round(0.45em, 1px);
    border-radius: 50%;
    background-color: #fff;
    transition: all 0.3s ease-in-out
}

.idx08 .block_news .tab_btns .tab_it.active {
    background-color: #f8f7f4
}

.idx08 .block_news .tab_btns .tab_it.active .tt {
    color: var(--cl_tl);
    font-weight: 500
}

.idx08 .block_news .tab_btns .tab_it.active .tt:before {
    background-color: var(--main-color)
}

.idx08 .block_news .tab_content {
    position: relative;
    z-index: 1;
    overflow: hidden
}

.idx08 .block_news .tab_content .content {
    transition: all 0.3s ease-in-out;
    background-color: #f8f7f4
}

.idx08 .block_news .tab_content .content>div {
    opacity: 0;
    z-index: -10;
    visibility: hidden;
    position: absolute;
    top: 4px;
    left: 0;
    right: 0;
    padding: 18px 60px 44px
}

.idx08 .block_news .tab_content .content>div:first-child {
    opacity: 1;
    z-index: 1;
    visibility: visible;
    position: relative
}

.idx08 .block_news .tab_content .content>div.active {
    opacity: 1;
    z-index: 1;
    visibility: visible;
    position: relative
}

.idx08 .block_news.tab-initialized .tab_content .content>div:first-child:not(.active) {
    opacity: 0;
    z-index: -10;
    visibility: hidden;
    position: absolute
}

.idx08 .list_post li {
    border-bottom: 1px solid #d8d8d8
}

.idx08 .list_post a {
    display: inline-flex;
    text-decoration: none;
    padding: 29px 0px 29px;
    --w: 7.6875em;
    transition: all 0.3s;
    letter-spacing: 0.1em;
    white-space: nowrap;
    width: 100%;
    color: var(--cl_tl);
    font-size: 16px;
    position: relative
}

.idx08 .list_post a:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    width: 0.75em;
    height: 0.8125em;
    background-color: var(--clr2);
    mask-image: url(../images/ic_arr03.png);
    -webkit-mask-image: url(../images/ic_arr03.png);
    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;
    transition: all 0.3s
}

.idx08 .list_post a span {
    display: inline-block
}

.idx08 .list_post a:hover {
    opacity: 1
}

@media only screen and (min-width:769px) {
    .idx08 .list_post a:hover {
        color: var(--clr2)
    }

    .idx08 .list_post a:hover:after {
        right: 5px
    }
}

.idx08 .list_post a .date {
    width: var(--w);
    transition: all 0.3s;
    position: relative
}

.idx08 .list_post a .date:before {
    content: "";
    position: absolute;
    top: 4px;
    bottom: 0;
    right: 0;
    width: 1px;
    height: 18px;
    background-color: var(--cl_tl);
    margin: auto
}

.idx08 .list_post a .title {
    width: calc(100% - var(--w));
    position: relative;
    padding-right: 1.8em;
    padding-left: 27px;
    text-overflow: ellipsis;
    overflow: hidden
}

@media only screen and (min-width:769px) {
    .idx08 .wrap_tl {
        text-align: left
    }

    .idx08 .b_grid {
        grid-template-columns: 24% 74%
    }

    .idx08 .ml {
        margin-left: 5px
    }

    .idx08 .block_news {
        max-width: 936px;
        width: 100%;
        margin-left: auto;
        margin-top: 27px
    }

    .idx08 .block_news .tab_btns .tab_it:not(.active):hover {
        background-color: #edebe6
    }

    .idx08 .block_news .tab_btns .tab_it:not(.active):hover .tt {
        color: var(--cl_tl)
    }

    .idx08 .block_news .tab_btns .tab_it:not(.active):hover .tt:before {
        background-color: var(--main-color)
    }
}

@media (min-width:769px) and (max-height:650px),
only screen and (min-width:769px) and (max-width:1366px) {
    .idx08 .b_grid {
        grid-template-columns: 24% 74%
    }

    .idx08 .block_news {
        max-width: 990px
    }

    .idx08 .block_news .tab_btns .tab_it .tt {
        font-size: 18px
    }

    .idx08 .block_news .tab_content .content>div {
        padding: 15px 6% 40px
    }

    .idx08 .btn_news .btn {
        max-width: 215px
    }

    .idx08 .list_post a {
        font-size: 14px;
        padding: 20px 0px
    }
}

@media only screen and (min-width:769px) and (max-width:1200px) {
    .idx08 {
        padding: 70px 0
    }

    .idx08 .block_news .tab_btns .tab_it {
        max-width: 180px
    }
}

@media only screen and (min-width:769px) and (max-width:1000px) {
    .idx08 .b_grid {
        grid-template-columns: 29% 65%
    }
}

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