@media only screen and (min-width: 319px) and (max-width: 768px) {
    .home_page .key {
        --height: 100%;
        --max-height: auto;
        --min-height: 320px;
    }
    .home_page .key:before {
        content: "";
        position: absolute;
        left: 20px;
        right: 0;
        top: min(24vw, 150px);
        margin: 0 auto;
        background: #f3f6fa;
        width: calc(100% - 20px);
        height: 100%;
        border-radius: 30px;
    }
    .home_page .key:after {
        display: none;
    }
    .home_page .key .catch {
        padding: 0 0px 30px min(12vw, 150px);
    }
    .home_page .key .catch .title {
        font-size: min(6.4vw, 28px);
        font-weight: bold;
    }
    .home_page .key .catch>p {
        font-weight: bold;
        font-size: min(4.27vw, 18px);
        line-height: 1.6em;
        text-shadow: 0 0 5px rgba(255, 255, 255, 0.7), 0 0 5px rgba(255, 255, 255, 0.7), 0 0 5px rgba(255, 255, 255, 0.7), 0 0 5px rgba(255, 255, 255, 0.7), 0 0 5px rgba(255, 255, 255, 0.7), 0 0 5px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 15px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255), 0 0 10px rgb(255, 255, 255);
    }
    .home_page .key .key_text .item {
        padding: 10px;
        height: calc(100vh - min(16vw, 110px));
        max-height: 116vw;
        min-height: 320px;
        align-items: flex-end;
    }
    .home_page .key .key_text .item .img {
        position: absolute;
        right: 0;
        top: 0;
        height: min(112vw, 650px);
        --mask: url(../images/idx-main-mask-sp.png);
        mask-image: var(--mask);
        -webkit-mask-image: var(--mask);
        mask-repeat: no-repeat;
        -webkit-mask-repeat: no-repeat;
        mask-size: 100% 100%;
        -webkit-mask-size: 100% 100%;
        mask-position: center;
        -webkit-mask-position: center;
    }
    .home_page .key .key_text .idx-box-news {
        position: relative;
        left: 0;
        min-width: auto;
        font-size: initial;
        padding: min(2.33vw, 20px) 20px 0 40px;
		max-width:100%;
		width:100%;
    }
    .home_page .key .key_text .idx-box-news .idx-fx-news {
        margin-bottom: min(2.13vw, 12px);
    }
    .home_page .key .key_text .idx-box-news .idx-fx-news .ttl {
        margin-right: 20px;
    }
    .home_page .key .key_text .idx-box-news ul li a {
        padding: min(2.13vw, 12px) 20px min(2.13vw, 12px) 0;
    }
    .home_page .key .key_text .idx-box-news ul li a .date {
        font-size: min(2.93vw, 13px);
        margin-right: 9px;
    }
    .home_page .key .key_text .idx-box-news ul li a .ttl {
        font-size: min(3.33vw, 15px);
    }
    .home_page h2 {
        font-size: min(8vw, 32px);
        line-height: 1.4em;
        padding-bottom: 15px;
        letter-spacing: 0.1em;
        margin-bottom: 29px;
    }
    .home_page h2:before {
        width: 50px;
    }
    .home_page .btn-news a {
        min-height: 28px;
        min-width: 107px;
        font-size: 12px;
    }
    .idx-ttl-en {
        font-size: 12px;
        margin-bottom: 0;
        line-height: 1em;
    }
    .idx-ttl-en:before {
        width: 5px;
        height: 5px;
        margin-right: 5px;
        top: 0;
    }
    .idx-list-item li {
        width: calc(50% - 5px);
        margin-right: 10px;
        margin-bottom: 10px;
    }
    .idx-list-item li:nth-child(2n) {
        margin-right: 0;
    }
    .idx-list-item li:nth-child(4) a .ico {
        margin-bottom: 10px;
    }
    .idx-list-item li a {
        min-height: min(33.33vw, 125px);
        flex-direction: column;
        align-items: center;
        padding: 0;
        padding-top: min(4.8vw, 18px);
    }
    .idx-list-item li a:before {
        width: 15px;
        height: 15px;
    }
    .idx-list-item li a .ico {
        margin: 0 auto min(5.33vw, 20px);
    }
    .idx-list-item li a .ico img {
        height: min(9.33vw, 35px);
        width: auto;
    }
    .idx-list-item li a .ttl {
        text-align: center;
        font-size: min(4.8vw, 18px);
        line-height: 1.2em;
    }
    .iMedical {
        padding-top: min(20.2vw, 90px);
        padding-bottom: 100px;
    }
    .iMedical:after {
        content: "";
        position: absolute;
        left: 20px;
        right: 0;
        top: 0;
        margin: 0 auto;
        background: #f3f6fa;
        width: calc(100% - 20px);
        height: 100%;
        z-index: -1;
    }
    .iMedical:before {
        content: "";
        position: absolute;
        right: 0;
        left: 0;
        margin: 0 auto;
        top: initial;
        bottom: 0;
        background: url(../images/idx-medical-bg01-sp.png) no-repeat center;
        background-size: 100% auto;
        width: calc(100% - 40px);
        height: 515px;
    }
    .iMedical-fx {
        flex-direction: column;
        padding: 0 20px;
    }
    .iMedical-l,
    .iMedical-r {
        width: 100%;
    }
    .iMedical-r {
        margin-left: 0;
        padding: 34px 2px 0;
    }
    .iMedical-r h3 {
        font-size: 20px;
        padding-bottom: 14px;
        line-height: 1.7em;
        position: relative;
        margin-bottom: 22px;
    }
    .iMedical-r h3:before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 50px;
        height: 1px;
        background: #d2d7dc;
    }
    .iMedical-r .txt>p {
        font-size: min(4.27vw, 16px);
        letter-spacing: 0;
    }
    .iSpecial {
        margin-top: -50px;
        padding-top: 90px;
        padding-bottom: 70px;
    }
    .iSpecial:before {
        width: calc(100% - 20px);
    }
    .iSpecial:after {
        left: 20px;
        width: calc(100% - 20px);
        height: 100%;
    }
    .iSpecial .inner_big {
        padding: 0 20px;
    }
    .iSpecial-fx02 {
        flex-direction: column;
        padding: 0;
        margin-top: 32px;
        padding-right: 20px;
    }
    .iSpecial-box {
        margin: 0 auto 20px;
        width: 100%;
        padding: 28px 20px 20px;
    }
    .iSpecial-box:last-child {
        margin-bottom: 0;
    }
    .iSpecial-box .ttl {
        font-size: 20px;
        line-height: 1.3em;
        margin-bottom: 18px;
    }
    .iSpecial-box .ttl .ico {
        top: 0;
        width: 50px;
        height: 50px;
        margin-right: 15px;
    }
    .iSpecial-fx {
        flex-direction: column;
        padding: 0;
    }
    .iSpecial-fx .img {
        order: 1;
        margin-left: 0;
        margin-bottom: 30px;
        margin-right: -20px;
    }
    .iSpecial-fx .img img {
        height: min(58.67vw, 300px);
        width: 100%;
        object-fit: cover;
    }
    .iSpecial-cnt {
        order: 2;
        padding-right: 20px;
    }
    .iSpecial-cnt .idx-ttl-en {
        font-size: 12px;
        letter-spacing: 0.08em;
        margin-bottom: 2px;
        padding-left: 0;
    }
    .iSpecial-cnt h2 {
        font-size: 22px;
        padding-bottom: 18px;
        margin-bottom: 22px;
    }
    .iSpecial-cnt .txt>p {
        font-size: min(4.27vw, 16px);
    }
    .iLife {
        background: url(../images/idx-life-bg01-sp.png) no-repeat top center;
        background-size: 100% 100%;
        margin-top: -130px;
        padding-top: 200px;
        padding-bottom: 60px;
    }
    .iLife .inner_big {
        padding: 0 20px;
    }
    .iLife-box {
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 30px;
        max-width: 100%;
    }
    .iLife-box .idx-ttl-en {
        letter-spacing: 0.08em;
        margin-bottom: 2px;
        font-size: 12px;
    }
    .iLife-box h2 {
        font-size: min(5.87vw, 22px);
        line-height: 1.5em;
    }
    .iLife .idx-list-item li {
        margin-right: 10px !important;
        max-width: 162.5px !important;
    }
    .iLife .idx-list-item li:nth-child(2n) {
        margin-right: 0 !important;
    }
    .iLife .idx-list-item li:nth-child(6) a .ico img {
        height: 24px;
        width: auto;
    }
    .iLife .idx-list-item li:nth-child(6) a .ttl {
        letter-spacing: -1.5px;
    }
    .iLife .idx-list-item li a {
        display: flex;
        flex-direction: row;
        padding: 0;
        align-items: center;
        justify-content: flex-start;
        min-height: min(21.87vw, 82px);
        padding-left: min(2.67vw, 10px);
    }
    .iLife .idx-list-item li a .ico {
        margin: 0;
        margin-right: min(2.67vw, 10px);
    }
    .iLife .idx-list-item li a .ico img {
        height: min(8vw, 30px);
        width: auto;
    }
    .iLife .idx-list-item li a .ttl {
        font-size: min(4.27vw, 16px);
        text-align: left;
    }
    .iPrimary {
        padding-top: min(84vw, 450px);
        margin-top: -30px;
        padding-bottom: 113px;
    }
    .iPrimary .inner_big {
        position: relative;
    }
    .iPrimary .idx-list-link {
        padding: 0 20px;
    }
    .iPrimary .idx-list-link li {
        margin-right: 10px !important;
    }
    .iPrimary .idx-list-link li:nth-child(2n) {
        margin-right: 0 !important;
    }
    .iPrimary .idx-list-link li:nth-child(5) {
        margin-right: 10px !important;
    }
    .iPrimary .idx-list-link li:last-child a {
        letter-spacing: -0.2px;
    }
    .iPrimary-box {
        border-radius: 30px;
        padding-bottom: 20px;
        max-width: 100%;
    }
    .iPrimary-fx {
        margin-bottom: 20px;
    }
    .iPrimary-fx .box-cnt {
        margin: 0 20px 5px;
    }
    .iPrimary-fx .box-cnt .idx-ttl-en {
        margin-top: -31px;
        font-size: 12px;
        margin-bottom: 0;
    }
    .iPrimary-fx .box-cnt .idx-ttl-en:after {
        width: 5px;
        height: 5px;
        top: -1px;
    }
    .iPrimary-fx .box-cnt .idx-ttl-en:before {
        top: -1px;
    }
    .iPrimary-fx .box-cnt h2 {
        line-height: 1.55em;
        font-size: min(5.87vw, 22px);
        letter-spacing: 0.05em;
        margin-bottom: 20px;
    }
    .iPrimary-fx .box-cnt .txt>p {
        font-size: min(4.27vw, 16px);
    }
    .iPrimary-fx .img01,
    .iPrimary-fx .img02 {
        position: absolute;
        top: min(-39.73vw, -149px);
        width: min(40vw, 250px);
        height: min(40vw, 250px);
    }
    .iPrimary-fx .img01:before,
    .iPrimary-fx .img02:before {
        bottom: min(-4.27vw, -20px);
        width: min(39.47vw, 200px);
        height: min(8.53vw, 60px);
    }
    .iPrimary-fx .img01 {
        left: 69px;
    }
    .iPrimary-fx .img02 {
        right: 69px;
    }
    .iPrimary .inner_big {
        padding: 0 20px;
    }
    .iInspection {
        border-top-left-radius: 30px;
        border-top-right-radius: 30px;
        padding-top: 69px;
        padding-bottom: 44px;
    }
    .iInspection .inner_big {
        padding: 0 20px;
    }
    .iInspection-fx {
        flex-direction: column;
        padding: 0;
        margin-bottom: 30px;
    }
    .iInspection-fx .box-cnt {
        margin-right: 0;
        padding-right: 0;
    }
    .iInspection-fx .box-cnt .idx-ttl-en {
        margin-bottom: 4px;
    }
    .iInspection-fx .box-cnt h2 {
        padding-bottom: 15px;
    }
    .iInspection-fx .box-cnt h2:before {
        display: block;
    }
    .iInspection-fx .box-cnt:before {
        display: none;
    }
    .iInspection-fx .txt {
        padding-top: 4px;
    }
    .iInspection-fx .txt>p {
        font-size: min(4.27vw, 16px);
    }
    .iInspection-fx .idx-list-link {
        margin-top: 32px;
        width: 100%;
    }
    .iInspection-fx .idx-list-link li {
        width: 100%;
        max-width: 189px;
    }
    .iInspection-fx .idx-list-link li a {
        width: 100%;
    }
    .iInspection-list {
        flex-wrap: wrap;
        justify-content: flex-start;
        max-width: 500px;
        margin: 0 auto;
    }
    .iInspection-list li {
        width: calc(50% - 5px);
        margin-right: 10px;
        margin-top: 0 !important;
        margin-bottom: 24px;
    }
    .iInspection-list li:after {
        width: 182px;
        height: 37px;
        bottom: -15px;
        background: url(../images/idx-inspection-bg-list.svg) no-repeat center;
        background-size: 100% 100%;
    }
    .iInspection-list li a {
        border-radius: 5px;
        display: block;
        width: 100%;
        height: 100%;
    }
    .iInspection-list li a .img {
        height: min(43.33vw, 200px);
    }
    .iInspection-list li a .img img {
        object-position: top;
        height: 100%;
        width: 100%;
        object-fit: cover;
        border-radius: 5px;
    }
    .iInspection-list li a .ttl {
        font-size: min(4.27vw, 16px);
        bottom: 12px;
        left: 15px;
        width: 100%;
    }
    .iInspection-list li a:after {
        width: 15px;
        height: 15px;
    }
    .iInspection-list li:nth-child(2n) {
        margin-right: 0;
    }
    .iFeature {
        padding-top: 15px;
        padding-bottom: 70px;
    }
    .iFeature:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0px;
        margin: 0 auto;
        background: url(../images/idx-feature-bg01-sp.png) no-repeat center;
        background-size: 100% auto;
        width: 290px;
        height: 90px;
        mix-blend-mode: lighten;
        z-index: 1;
    }
    .iFeature h2 {
        font-size: min(4.27vw, 16px);
        margin-bottom: 55px;
    }
    .iFeature h2 span {
        font-size: min(5.87vw, 24px);
        margin-top: 5px;
        display: block;
    }
    .iFeature h2 span label {
        font-size: min(8vw, 32px);
    }
    .iFeature-list {
        max-width: 500px;
        flex-direction: column;
    }
    .iFeature-list li {
        width: 100%;
        margin: 0 auto 31px;
        padding: 30px 20px 20px;
    }
    .iFeature-list li:before {
        content: "";
        position: absolute;
        left: -90px;
        top: -80px;
        background: url(../images/idx-feature-ico01.svg) no-repeat center;
        background-size: contain;
        width: 220px;
        height: 220px;
    }
    .iFeature-list li:last-child {
        margin-bottom: 0;
    }
    .iFeature-list li .box-img {
        margin-bottom: 15px;
    }
    .iFeature-list li .box-img .img img {
        height: 180px;
        width: 100%;
        object-fit: cover;
    }
    .iFeature-list li .box-img .stt {
        font-size: 60px;
        top: -15px;
        left: -10px;
    }
    .iFeature-list li h4 {
        font-size: min(5.33vw, 20px);
    }
    .iFeature-list li .txt>p {
        font-size: min(4.27vw, 16px);
    }
    .iFeature .inner_big {
        padding: 0 20px;
    }
    .txt-animation {
        top: -20px;
    }
    .txt-animation span {
        font-size: 60px;
    }
    .iGreeting {
        position: relative;
        padding-top: min(105.33vw, 500px);
        padding-bottom: 60px;
    }
    .iGreeting .inner_big {
        padding: 0 20px;
    }
    .iGreeting-fx {
        padding: 0;
    }
    .iGreeting .box-img01,
    .iGreeting .box-img02 {
        position: absolute;
        top: 70px;
        width: min(46vw, 300px);
        height: min(74.67vw, 400px);
        margin-top: 0;
    }
    .iGreeting .box-img01 .img,
    .iGreeting .box-img02 .img {
        height: 100%;
    }
    .iGreeting .box-img01 img,
    .iGreeting .box-img02 img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
    .iGreeting .box-img01:before,
    .iGreeting .box-img02:before {
        width: 289px;
        height: 312px;
        bottom: -50px;
    }
    .iGreeting .box-img01:after,
    .iGreeting .box-img02:after {
        width: 220px;
        height: 220px;
    }
    .iGreeting .box-img01 .box-name .name,
    .iGreeting .box-img02 .box-name .name {
        font-size: 20px;
        line-height: 1.3em;
    }
    .iGreeting .box-img01 .box-name .name .jp,
    .iGreeting .box-img02 .box-name .name .jp {
        font-size: 14px;
    }
    .iGreeting .box-img01 .box-name .sub-name,
    .iGreeting .box-img02 .box-name .sub-name {
        font-size: 12px;
    }
    .iGreeting .box-img01 {
        left: 0;
    }
    .iGreeting .box-img01:after {
        right: initial;
        bottom: -100px;
        left: -100px;
    }
    .iGreeting .box-img01 .box-name {
        right: initial;
        bottom: -50px;
        left: 20px;
        padding: 27px 10px 36px;
    }
    .iGreeting .box-img01 .box-name .sub-name {
        position: relative;
        top: 10px;
        right: 2px;
    }
    .iGreeting .box-img01:before {
        left: -118px;
        top: -50px;
    }
    .iGreeting .box-img01 .img img {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }
    .iGreeting .box-img02 {
        right: 0;
    }
    .iGreeting .box-img02:after {
        right: -100px;
        top: -90px;
    }
    .iGreeting .box-img02 .box-name {
        left: initial;
        bottom: -49px;
        right: 20px;
        padding: 12px 10px;
    }
    .iGreeting .box-img02 .box-name .sub-name {
        padding-bottom: 15px;
    }
    .iGreeting .box-img02:before {
        right: -118px;
    }
    .iGreeting .box-img02 .img img {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .iGreeting .box-cnt {
        width: 100%;
        margin: 0;
    }
    .iGreeting .box-cnt .box-ttl {
        margin-bottom: 25px;
    }
    .iGreeting .box-cnt h3 {
        line-height: 1.7em;
        text-align: center;
        font-size: 20px;
        margin-bottom: 15px;
    }
    .iGreeting .box-cnt .txt {
        padding: 0;
        margin-bottom: 32px;
    }
    .iGreeting .box-cnt .txt>p {
        font-size: min(4.27vw, 16px);
        line-height: 2em;
    }
    .iColumn .btn-news {
        margin-left: min(4vw, 15px);
        position: relative;
        bottom: 5px;
    }
    .iColumn .btn-news a {
        padding-left: 10px;
    }
    .iColumn .inner_big {
        padding: 0 20px;
    }
    .iColumn-ttl {
        padding-bottom: 15px;
        margin-bottom: 29px;
    }
    .iColumn-ttl h2 {
        font-size: min(5.87vw, 22px);
        margin-right: 3px;
        margin-bottom: 0;
        padding-bottom: 0;
    }
    .iColumn-ttl .idx-ttl-en {
        font-size: min(3.2vw, 12px);
    }
    .iColumn-frame {
        padding: 52px 20px 20px;
        border-radius: 20px;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
    .iColumn-frame:after {
        content: "";
        position: absolute;
        right: 14px;
        top: -4px;
        background: url(../images/idx-column-ico01.svg) no-repeat center;
        background-size: cover;
        width: min(6.93vw, 26px);
        height: min(14.93vw, 56px);
    }
    .iColumn ul {
        flex-wrap: wrap;
    }
    .iColumn ul li {
        width: calc(50% - 10px);
        margin-right: 20px;
        margin-bottom: 25px;
    }
    .iColumn ul li:nth-child(2n) {
        margin-right: 0;
    }
    .iColumn ul li a .img {
        margin-bottom: 10px;
        width: 100% !important;
        height: min(32vw, 160px) !important;
    }
    .iColumn ul li a .img img {
        height: min(32vw, 160px);
        width: 100%;
        object-fit: cover;
    }
    .iColumn ul li a .txt {
        line-height: 1.7em;
        font-size: min(3.73vw, 14px);
    }
    .idx_gallery {
        position: relative;
        z-index: 2;
    }
    .idx_gallery img {
        height: 300px;
        object-fit: cover;
    }
}

@media only screen and (max-width: 768px) {
    .index0 {
        padding: 60px 0px 60px;
        background-color: #000;
    }
    .index07 {
        padding: 60px 0px 55px;
    }
    .index07 .content {
        flex-direction: column;
        align-items: center;
    }
    .index07 .content .box {
        margin-bottom: 5px;
        width: 100%;
        padding: 40px 5%;
        max-width: 680px;
    }
    .index07 .content .btn-group {
        max-width: 150px;
        width: 44%;
    }
    .index07 .content li {
        max-width: 100%;
    }
    .index07 .content li a {
        padding: 20px 0;
    }
    .index07 .content li a .date {
        width: 7em;
    }
    .index07 .content li a .title {
        width: calc(100% - 7em);
    }
}

@media only screen and (min-width: 639px) and (max-width: 768px) {
    .iPrimary .idx-list-link li,
    .iLife .idx-list-item li,
    .iSpecial .idx-list-link li,
    .iMedical .idx-list-item li {
        margin: 0 5px 10px !important;
    }
    .iPrimary .idx-list-link li:nth-child(5n),
    .iLife .idx-list-item li:nth-child(5n),
    .iSpecial .idx-list-link li:nth-child(5n),
    .iMedical .idx-list-item li:nth-child(5n) {
        margin: 0 5px 10px !important;
    }
    .iPrimary .idx-list-link li:nth-child(2n),
    .iLife .idx-list-item li:nth-child(2n),
    .iSpecial .idx-list-link li:nth-child(2n),
    .iMedical .idx-list-item li:nth-child(2n) {
        margin: 0 5px 10px !important;
    }
    .home_page .key .catch {
             padding: 0px 0px 80px min(34.33vw, 300px);
    }
}


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