@charset "UTF-8";
.bg-through {
    position: relative;
    display: inline-block;
    overflow: hidden;
    z-index: 1;
    color: #fff; 
    border-radius: 200px;
 }
 .bg-through::before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    left: -100%;
    top: 0;
    transition: .8s;
    z-index: 2;
 }
 .bg-through span {
    position: relative;
    z-index: 3;
    mix-blend-mode: difference;
 }
 .bg-through:hover::before {
    left: 100%;
 }
    
/* ========================================
  @media screen and (min-width: 768px), print
======================================== */
@media screen and (min-width: 768px), print {
.util-btn {
    width: min(95%, 340px);
    margin-inline: auto;
    background: #1a1a1a;
    border-radius: 200px;
}
.util-btn a {
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 2.142857;
    color: #fff;
    padding: 15px 29px;
    position: relative;
    display: block;
}
.util-btn a::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background: url(../images/index/btn-arrow-w.svg)no-repeat;
    background-size: contain;
    width: 12px;
    height: 10px;
}
.util-btn a:hover::after {
    right: 15px;
    transition: all 0.3s ease;
}
     

/* mv
-------------------------------------*/
.mv {
    max-width: 1920px;
    width: 100%;
    margin-inline: auto;
}
.mv .inner {
    width: 96.875%;
    margin-left: auto;
    background: #D75B43;
    padding: 87px 0 51px;
    display: grid;
    grid-template-columns: 46.25% 1fr;
}
.mv .txt-box {padding: 0 0 0 100px;}
.mv h2 {
    font-weight: bold;
    font-size: 39px;
    letter-spacing: 0.1em;
    line-height: 1;
    color: #d75b43;
    margin-bottom: 12px;
}
.mv h2 span {
    background: #FFFFFF;
    display: inline-block;
    padding: 9px 17px 12px 13px;
    margin: 0 0 13px;
}
.mv .txt {
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 0.1em;
    line-height: 1.75;
    text-align: left;
    color: #fff;
}
.mv .photo {position: relative;top: -224px;margin-bottom: -224px;}


/* worries
-------------------------------------*/
.worries .inner {
    width: min(95%, 1100px);
    margin-inline: auto;
    padding: 111px 0 174px;
}
.worries h2 {
    font-weight: bold;
    font-size: 40px;
    letter-spacing: 0.02em;
    line-height: 1.025;
    text-align: center;
    margin-bottom: 46px;
}
.worries .content {
    background: #E2E2E2;
    padding: 67px 0 26px;
    position: relative;
    margin-bottom: 91px;
}
.worries .content::before {
    position: absolute;
    content: "";
    top: -38px;
    left: -151px;
    background: url(../images/land/worries-img01.png)no-repeat;
    background-size: contain;
    width: 266px;
    height: 266px;
    mix-blend-mode: luminosity;
}
.worries .content::after {
    position: absolute;
    content: "";
    bottom: -24px;
    right: -115px;
    background: url(../images/land/worries-img02.png)no-repeat;
    background-size: contain;
    width: 235px;
    height: 217px;
    mix-blend-mode: luminosity;
}
.worries .content .list{
    width: min(95%, 816px);
    margin-inline: auto;
    display: grid;
    gap: 24px;
    margin-bottom: 7px;
}
.worries .content .list li{
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.02em;
    line-height: 1.7;
    border-bottom: 1px solid #E29384;
    position: relative;
    padding: 0 0 16px 63px;
}
.worries .content .list li::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 31px;
    width: 19px;
    height: 20px;
    background: url(../images/page-common/check-icon.svg)no-repeat;
    background-size: contain;
}
.worries .content .list li span{
    color: #D75B43;
}
.worries .content .etc {
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0.02em;
    line-height: 2.25;
    text-align: right;
    width: min(95%, 816px);
    margin-inline: auto;
}
.worries .subt {
    font-weight: bold;
    font-size: 32px;
    letter-spacing: 0.02em;
    line-height: 2.1875;
    text-align: center;
    margin-bottom: 7px;
    position: relative;
}
.worries .subt::before {
    position: absolute;
    content: "";
    background: url(../images/page-common/worries-arrow.svg)no-repeat;
    background-size: contain;
    top: -111px;
    left: 50%;
    transform: translateX(-50%);
    width: 146px;
    height: 73px;
}
.worries .lead {
    font-weight: bold;
    font-size: 40px;
    letter-spacing: 0.02em;
    line-height: 2;
    text-align: center;

}
.worries .lead span {
    border-bottom: 2px solid #D75B43;
    padding-bottom: 9px;
}

/* support
-------------------------------------*/
.support {
    position: relative;
    padding-bottom: 140px;
    z-index: 0;
    max-width: 1920px;
    width: 100%;
    margin-inline: auto;
}
.support::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(#d75b43 0%, #f46161 100%);
    width: 100%;
    height: 100%;
    z-index: 3;
    pointer-events: none;
}
.support .inner {
    width: min(95%, 1600px);
    margin-inline: auto;
    position: relative;
    background: #D75B43;
}
.support h2 {
    position: relative;
    top: -39px;
    left: 58%;
    transform: translateX(-50%);
    margin-bottom: -56px;
    z-index: 4;
}
.support .human {
    position: absolute;
    top: -181px;
    right: 276px;
    z-index: -1;
}
.support .list {
    display: grid;
    gap: 80px;
    position: relative;
    z-index: 5;
}
.support .list li{
    background: #FFFFFF;
    padding: 78px 0;
    position: relative;
}
.support .list li::before {
    position: absolute;
    content: "";
    background: url(../images/page-common/support-list-deco.png)no-repeat;
    top: 60px;
    left: 0;
    width: 20px;
    height: 140px;
    background-size: contain;
}
.support .list li .enttl{
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.02em;
    text-align: center;
    color: #d75b43;
    margin-bottom: 34px;
}
.support .list li h3{
    font-weight: bold;
    font-size: 46px;
    letter-spacing: 0.02em;
    line-height: 0.891304;
    text-align: center;
    margin-bottom: 33px;
}
.support .list li h3 span{
    background: linear-gradient(transparent 80%, #EEFF00 20%);
}
.support .list li h4{
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 0.1em;
    line-height: 1.83333;
    text-align: center;
    color: #d75b43;
    margin-bottom: 42px;
}
.support .list li .inBox {
    width: min(95%, 1200px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 50.83333% 1fr;
    align-items: center;
    gap: 50px;
}
.support .list li .inBox .txt-box .txt {
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-bottom: 22px;
}
.support .list li .inBox .txt-box .txt.bold {
    font-weight: 700;
}
.support .list li .inBox .txt-box .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}

.support .list li:nth-child(even) .inBox{
    grid-template-columns: 1fr 50.83333%;
}
.support .list li:nth-child(even) .photo{
    order: 2;
}
.support .list li:nth-child(even) .txt-box{
    order: 1;
}

/* partner
-------------------------------------*/
.partner {
    padding-top: 160px;
}
.partner .enttl {
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 1.3;
    text-align: center;
    color: #d75b43;
    margin-bottom: 15px;
}
.partner h2 {
    font-weight: 900;
    font-size: 40px;
    letter-spacing: 0.1em;
    line-height: 1.75;
    text-align: center;
    margin-bottom: 21px;
}
.partner h3 {
    font-weight: 500;
    font-size: 24px;
    letter-spacing: 0.1em;
    line-height: 1.6666;
    text-align: center;
    margin-bottom: 51px;
}
.partner .content {
    width: min(95%, 1400px);
    margin-inline: auto;
    background: #FFFFFF;
    padding: 59px 0;
}
.partner .content .list {
    width: min(95%, 1000px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px;
    padding-bottom: 38px;
}
.partner .content .list li .photo {
    margin-bottom: 13px;
}
.partner .content .list li .name {
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 0.04em;
    line-height: 1.75;
}
.partner .content .list li .address {
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 0.04em;
    line-height: 1.75;
}
.partner .util-btn a::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background: url(../images/page-common/open-icon.svg)no-repeat;
    background-size: contain;
    width: 14px;
    height: 15px;
}

/* voice -------------------------------------*/
#voice .inner {
    padding: 159px 0;
 }
 #voice .inner .enttl {
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 26px;
    text-align: center;
    color: #d75b43;
    margin-bottom: 16px;
 }
 #voice .inner h2 {
    font-weight: 900;
    font-size: 40px;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 58px;
 }
 #voice .system-list {
    width: min(95%, 1160px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
    margin-bottom: 40px;
 }
 #voice .system-list .system-pic {
    margin-bottom: 0;
    width: 100%;
    height: 260px;
    text-align: center;
 }  
 #voice .system-list .system-pic img{
    width: auto;
    height: 100%;
    max-width: 100%;
 }
 #voice .system-list li:nth-child(4) {
    display: none;
 }
 #voice .system-list li .content{
    background: #e3e3e3;
    padding: 8px 0 0;
 }
 #voice .system-list li .content .name-wrap {
    display: flex;
    gap: 9px;
    border-bottom: 1px solid #FFFFFF;
    padding: 0 20px 5px;
 }
 #voice .system-list li .content .name-wrap .system-area {
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 2.16666;
    color: #d75b43;
 }
 #voice .system-list li .content .name-wrap .system-name {
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 2.16666;
    color: #1a1a1a;
 }
 #voice .system-list li .content .system-ttl-01 {
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.7142857;
    color: #1a1a1a;
    border-top: 1px solid #AAAAAA;
    padding: 15px 20px 20px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
 }
 

 /* link
 -------------------------------------*/
 #link {
    margin-bottom: 70px;
 }
 #link .list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(95%, 760px);
    margin-inline: auto;
 }
 #link .list img {
    margin: 0;
 }

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1890px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1890px) {
/* mv
-------------------------------------*/
.mv .inner {
    padding: 4.603vw 0 2.698vw;
}
.mv .txt-box {padding: 0 0 0 5.291vw;}
.mv h2 {
    font-size: 2.063vw;
    margin-bottom: 0.635vw;
}
.mv h2 span {
    padding: 0.476vw 0.899vw 0.635vw 0.688vw;
    margin: 0 0 0.688vw;
}
.mv .txt {
    font-size: clamp(0.813rem, 0.342rem + 0.98vw, 1.5rem);
}
.mv .photo {position: relative;top: -11.852vw;margin-bottom: -11.852vw;}
.mv .photo img {
    width: 100%;
    height: auto;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px)
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {

/* worries
-------------------------------------*/
.worries .inner {
    width: 76.389vw;
}
.worries h2 {
    font-size: 2.778vw;
    margin-bottom: 3.194vw;
}
.worries .content {
    padding: 4.653vw 0 1.806vw;
    margin-bottom: 6.319vw;
}
.worries .content::before {
    top: -2.639vw;
    left: -10.486vw;
    width: 18.472vw;
    height: 18.472vw;
}
.worries .content::after {
    bottom: -1.667vw;
    right: -7.986vw;
    width: 16.319vw;
    height: 15.069vw;
}
.worries .content .list{
    width: 56.667vw;
    gap: 1.667vw;
    margin-bottom: 0.486vw;
}
.worries .content .list li{
    font-size: clamp(0.75rem, 0.179rem + 1.19vw, 1.25rem);
    padding: 0 0 1.111vw 4.375vw;
}
.worries .content .list li::before {
    top: 0.347vw;
    left: 2.153vw;
    width: 1.319vw;
    height: 1.389vw;
}
.worries .content .etc {
    font-size: clamp(0.75rem, 0.179rem + 1.19vw, 1.25rem);
    width: 56.667vw;
}
.worries .subt {
    font-size: 2.222vw;
    margin-bottom: 0.486vw;
}
.worries .subt::before {
    top: -7.708vw;
    width: 10.139vw;
    height: 5.069vw;
}
.worries .lead {
    font-size: 2.778vw;
}
.worries .lead span {
    padding-bottom: 0.625vw;
}

}


/* ========================================
@media screen and (min-width:768px) and (max-width:1640px)
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {
/* support
-------------------------------------*/
.support {
    padding-bottom: 8.537vw;
}
.support .inner {
    width: 97.561vw;
}
.support h2 {
    top: -2.378vw;
    margin-bottom: -3.415vw;
}
.support h2 img {
    width: 82.378vw;
}
.support .human {
    top: -11.037vw;
    right: 16.829vw;
}
.support .human img {
    width: 8.049vw;
}
.support .list {
    gap: 4.878vw;
}
.support .list li{
    padding: 4.756vw 0;
}
.support .list li::before {
    top: 3.659vw;
    width: 1.22vw;
    height: 8.537vw;
}
.support .list li .enttl{
    font-size: clamp(0.875rem, 0.655rem + 0.46vw, 1.125rem);
    margin-bottom: 2.073vw;
}
.support .list li h3{
    font-size: clamp(2rem, 1.229rem + 1.61vw, 2.875rem);
    margin-bottom: 2.012vw;
}
.support .list li h4{
    font-size: clamp(1.25rem, 1.03rem + 0.46vw, 1.5rem);
    margin-bottom: 2.561vw;
}
.support .list li .inBox {
    width: 73.171vw;
    gap: 3.049vw;
}
.support .list li .inBox .txt-box .txt {
    font-size: clamp(0.75rem, 0.53rem + 0.46vw, 1rem);
    margin-bottom: 1.341vw;
}
.support .list li .inBox .photo img {
    width: 100%;
    height: auto;
}


}



/* ========================================
@media screen and (min-width:768px) and (max-width:1640px)
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {
/* voice -------------------------------------*/
#voice .inner {
    padding: 8.537vw 0;
}
#voice .inner .enttl {
    font-size: 1.22vw;
    margin-bottom: 0.976vw;
}
#voice .inner h2 {
    font-size: 2.439vw;
    margin-bottom: 3.537vw;
}
#voice .system-list {
    width: 95.122vw;
    gap: 2.439vw;
    margin-bottom: 3.659vw;
}
#voice .system-list .system-pic img{
    /* height: 15.854vw; */
}
#voice .system-list li .content{
    padding: 0.488vw 0;
}
#voice .system-list li .content .name-wrap {
    gap: 0.549vw;
    padding: 0 1.22vw 0.305vw;
}
#voice .system-list li .content .name-wrap .system-area {
    font-size: clamp(0.625rem, 0.515rem + 0.23vw, 0.75rem);
}
#voice .system-list li .content .name-wrap .system-name {
    font-size: clamp(0.625rem, 0.515rem + 0.23vw, 0.75rem);
}
#voice .system-list li .content .system-ttl-01 {
    font-size: clamp(0.688rem, 0.632rem + 0.11vw, 0.75rem);
    padding: 0.915vw 1.22vw 0.22vw;
}


}


/* ========================================
@media screen and (min-width:768px) and (max-width:1140px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1140px) {
    .partner .content .list li .photo img {
        width: 100%;
        height: auto;
    }
}


/* ========================================
@media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
.util-btn {
    width: 82.2vw;
    margin-inline: auto;
    background: #1a1a1a;
    border-radius: 8vw;
}
.util-btn a {
    font-weight: bold;
    font-size:3.382vw;
    letter-spacing: 0.1em;
    line-height: 2.142857;
    color: #fff;
    padding: 3.7vw 7vw;
    position: relative;
    display: block;
}
 .util-btn a::after {
    content: "";
    position: absolute;
    right: 4.8vw;
    top: 50%;
    transform: translateY(-50%);
    background: url(../images/index/btn-arrow-w.svg)no-repeat;
    background-size: contain;
    width: 2.9vw;
    height: 2.419vw;
}
 .util-btn a:hover::after {
    right: 1.21vw;
    transition: all 0.3s ease;
    
}
/* mv
-------------------------------------*/
.mv .inner {
    display: grid;
}
.mv .txt-box {
    background: #D75B43;
    order: 2;
    padding: 7vw 8.94vw 6.5vw;
}
.mv h2 {
    font-weight: bold;
    font-size:5.797vw;
    letter-spacing: 0.1em;
    line-height: 1;
    color: #d75b43;
    margin-bottom: 2vw;
}
.mv h2 span {
    background: #FFFFFF;
    display: inline-block;
    margin: 2px 0 1vw;
    padding: 2vw 1vw 2vw 2vw;
}
.mv h2 span:nth-of-type(2) {
    padding: 2vw 0 2vw 0;
    text-indent: -2vw;
}
.mv .txt {
    font-weight: bold;
    font-size:4.348vw;
    letter-spacing: 0.1em;
    line-height: 1.7777;
    text-align: left;
    color: #fff;
}
.mv .photo {
    order: 1;
}

/* worries
-------------------------------------*/
.worries .inner {
    width: 94.375vw;
    margin-inline: auto;
    padding: 9vw 0 26vw;
}
.worries h2 {
    font-weight: bold;
    font-size:4.831vw;
    letter-spacing: 0.02em;
    line-height: 1.7;
    text-align: center;
    margin-bottom: 37vw;
}
.worries .content {
    background: #E2E2E2;
    padding: 7vw 6.1vw 4vw;
    position: relative;
    margin-bottom: 10.5vw;
}
.worries .content::before {
    position: absolute;
    content: "";
    top: -33.8vw;
    left: 6vw;
    background: url(../images/land/worries-img01_sp.png)no-repeat;
    background-size: contain;
    width: 35.266vw;
    height: 35.266vw;
    mix-blend-mode: luminosity;
}
.worries .content::after {
    position: absolute;
    content: "";
    top: -28vw;
    right: 8.7vw;
    background: url(../images/land/worries-img02_sp.png)no-repeat;
    background-size: contain;
    width: 30.6vw;
    height: 30.7vw;
    mix-blend-mode: luminosity;
}
.worries .content .list{
    display: grid;
    gap: 4.5vw;
    margin-bottom: 0.5vw;
}
.worries .content .list li{
    font-weight: bold;
    font-size:3.865vw;
    letter-spacing: 0.1em;
    line-height: 1.75;
    border-bottom: 0.2vw dashed #8F8F8F;
    position: relative;
    padding: 0 0 2.5vw 10.4vw;
}
.worries .content .list li::before {
    content: "";
    position: absolute;
    top: 40%;
    left: 2.5vw;
    width: 4.3vw;
    height: 4.47vw;
    background: url(../images/page-common/check-icon.svg)no-repeat;
    background-size: contain;
    transform: translateY(-50%);
}
.worries .content .list li span{
    color: #D75B43;
}
.worries .content .etc {
    font-weight: bold;
    font-size:3.865vw;
    letter-spacing: 0.1em;
    line-height: 2.55;
    text-align: right;
    margin: 0 1vw 0 0vw;
}
.worries .subt {
    font-weight: bold;
    font-size:4.831vw;
    letter-spacing: 0.02em;
    line-height: 2.1875;
    text-align: center;
    margin-bottom: 0.2vw;
    position: relative;
}
.worries .subt::before {
    position: absolute;
    content: "";
    background: url(../images/page-common/worries-arrow.svg)no-repeat;
    background-size: contain;
    top: -15vw;
    left: 50%;
    transform: translateX(-50%);
    width: 24.4vw;
    height: 12.1vw;
}
.worries .lead {
    font-weight: bold;
    font-size:6.28vw;
    letter-spacing: 0.02em;
    line-height: 1.92307;
    text-align: center;

}
.worries .lead span {
    border-bottom: 0.5vw solid #D75B43;
    padding-bottom: 1vw;
}


/* support
-------------------------------------*/
.support {
    position: relative;
    padding-bottom: 8vw;
    z-index: 0;
}
.support::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(#d75b43 0%, #f46161 100%);
    width: 100%;
    height: 100%;
    z-index: 3;
    pointer-events: none;
}
.support .inner {
    position: relative;
    background: #D75B43;
}
.support h2 {
    position: relative;
    top: -4vw;
    left: -1vw;
    margin-bottom: -1vw;
    z-index: 4;
    width: 102.9vw;
}
.support .human {
    position: absolute;
    top: -27vw;
    left: 39.5vw;
    z-index: -1;
}
.support .human img {
    width: 20.8vw;
    height: auto;
}
.support .list {
    display: grid;
    gap: 9.9vw;
    position: relative;
    z-index: 5;
    width: 89.375vw;
    margin-inline: auto;
    top: -5.2vw;
}
.support .list li{
    background: #FFFFFF;
    padding: 9vw 3.6vw 9.2vw;
    position: relative;
}
.support .list li::before {
    position: absolute;
    content: "";
    background: url(../images/page-common/support-list-deco_sp.png)no-repeat;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 19.325vw;
    height: 2.9vw;
    background-size: contain;
}
.support .list li .enttl{
    font-weight: 500;
    font-size:4.348vw;
    letter-spacing: 0.02em;
    text-align: center;
    color: #d75b43;
    margin-bottom: 2vw;
}
.support .list li h3{
    font-weight: bold;
    font-size:7.246vw;
    letter-spacing: 0.02em;
    line-height: 1.63333;
    margin-bottom: 4vw;
    text-align: center;
}
.support .list li h3 span{
    background: linear-gradient(transparent 80%, #EEFF00 20%);
}
.support .list li h4{
    font-weight: bold;
    font-size:4.348vw;
    letter-spacing: 0.1em;
    line-height: 1.77777;
    color: #d75b43;
    margin-bottom: 6.2vw;
}
.support .list li .inBox {
    display: grid;
    gap: 4.5vw;
}
.support .list li .inBox .txt-box .txt {
    font-weight: 400;
    font-size:3.382vw;
    letter-spacing: 0.1em;
    line-height: 1.7142857;
    margin-bottom: 3.7vw;
}
.support .list li .inBox .txt-box .txt.bold {
    font-weight: 700;
    font-size: 3.865vw;
    line-height: 1.625;
}
.support .list li .inBox .txt-box .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}

.support .list li:nth-child(even) .photo{
    order: 1;
}
.support .list li:nth-child(even) .txt-box{
    order: 2;
}
.support .list li:nth-child(1) .txt:nth-child(2) {
    margin-bottom: 3.7vw;
}

/* partner
-------------------------------------*/
.partner {
    padding-top: 19.2vw;
}
.partner .enttl {
    font-weight: 600;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 1.125;
    text-align: center;
    color: #d75b43;
    margin-bottom: 2.2vw;
}
.partner h2 {
    font-weight: 900;
    font-size:7.246vw;
    letter-spacing: 0.1em;
    line-height: 1.46666;
    text-align: center;
    margin-bottom: 4.4vw;
}
.partner h3 {
    font-weight: 500;
    font-size:3.865vw;
    letter-spacing: 0.1em;
    line-height: 1.75;
    text-align: center;
    margin-bottom: 9vw;
}
.partner .content {
    background: #FFFFFF;
    padding: 7.1vw 0 12vw;
}
.partner .content .list {
    width: 82.2vw;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 6.7vw;
    padding-bottom: 9vw;
}
.partner .content .list li .photo {
    margin-bottom: 4.5vw;
}
.partner .content .list li .name {
    font-weight: 600;
    font-size:4.348vw;
    letter-spacing: 0.04em;
    line-height: 1.75;
}
.partner .content .list li .address {
    font-weight: 600;
    font-size:3.865vw;
    letter-spacing: 0.04em;
    line-height: 1.75;
}
.partner .util-btn a::after {
    content: "";
    position: absolute;
    right: 5vw;
    top: 50%;
    transform: translateY(-50%);
    background: url(../images/page-common/open-icon.svg)no-repeat;
    background-size: contain;
    width: 3.385vw;
    height: 3.625vw;
}

/* voice -------------------------------------*/
#voice .inner {
    padding: 19.5vw 0 19vw;
 }
 #voice .inner .enttl {
    font-weight: 600;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 1.125;
    text-align: center;
    color: #d75b43;
    margin-bottom: 1.5vw;
 }
 #voice .inner h2 {
    font-weight: 900;
    font-size:7.246vw;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 6.5vw;
 }
 #voice .system-list {
    width: 94.205vw;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4.8vw 2.4vw;
    margin-bottom: 9.2vw;
 }
 #voice .system-list .system-pic {
    margin-bottom: 0;
    width: 100%;
    height: 33.335vw;
    text-align: center;
 }  
 #voice .system-list .system-pic img{
    width: auto;
    height: 100%;
    max-width: 100%;
 }
 #voice .system-list li .content{
    background: #e3e3e3;
    padding: 0;
    height: 25.5vw;
 }
 #voice .system-list li .content .name-wrap {
    display: flex;
    gap: 2vw;
    border-bottom: 0.2vw solid #FFFFFF;
    padding: 1.2vw 2.4vw 0.5vw;
 }
 #voice .system-list li .content .name-wrap .system-area {
    font-weight: 500;
    font-size:2.898vw;
    letter-spacing: 0.05em;
    line-height: 2.16666;
    color: #d75b43;
 }
 #voice .system-list li .content .name-wrap .system-name {
    font-weight: 500;
    font-size:2.898vw;
    letter-spacing: 0.05em;
    line-height: 2.16666;
    color: #1a1a1a;
 }
 #voice .system-list li .content .system-ttl-01 {
    font-weight: bold;
    font-size:3.14vw;
    letter-spacing: 0.05em;
    line-height: 1.69230769;
    color: #1a1a1a;
    border-top: 0.2vw solid #AAAAAA;
    padding: 2vw 2.4vw 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
 }
 
/* link
-------------------------------------*/
#link .inner {
    padding: 7vw 0;
}
#link .list {
    gap: 7vw;
}
#link .list img {
    margin-bottom: 0;
}

}