@charset "UTF-8";
/* CSS Document */
/*---------------------

下層共通

---------------------*/
/*---------------------

病院の方へ

---------------------*/
#about-letter .txt{
    line-height: 2.6;
}
#use-image .inner{
    grid-template-columns: repeat(4, 1fr);
}
#use-image .item{
    text-align: center;
    position: relative;
}
#use-image .number{
    position: absolute;
    top: -40px;
    right: 0;
    left: 0;
    margin: auto;
}
#use-image .item img{
    border-radius: 20px;
    margin-bottom: 20px;
}
#merit .inner{
    gap:20px;
}
#merit .item{
    justify-content: space-between;
    align-items: center;
}
#merit img{
    border-radius: 20px;
}
#merit h3{
    font-size: 2.6rem;
    margin: 5px 0 10px;
    line-height: 1.6;
}
#merit .txt{
    font-size: 1.8rem;
    width: 60%;
}
#merit .img{
    width: 35%;
}
#merit .item:nth-child(2n) .txt{
    order:1;
}
#merit .item:nth-child(2n) .img{
    order:2;
}
#hospital-logo .inner{
    display: flex;
    justify-content: center;
    gap:10px;
    padding: 0 10%;
}
#hospital-logo .inner img{
    width: 18%;
}
#support .grid{
    grid-template-columns: repeat(2, 1fr);
    gap:20px;
    padding: 0 5%;
}
#support li{
    display: flex;
    background: var(--white-color);
    padding: 40px;
    justify-content: space-between;
    align-items: center;
}
#support li p{
    width: calc(100% - 100px);
    text-align: center;
    line-height: 2;
}
#safety ul{
    gap:8px;
    max-width: 750px;
    margin: 0 auto;
}
#safety li{
    background: var(--white-color);
    padding: 35px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#safety li p:nth-child(2){
    width: 92%;
    line-height: 1.8;
}
#safety li .sky{
    padding-right: 0;
    width: 8%;
}
#safety .subcopy{
    margin-top: 40px;
}
/*---------------------

手紙を残したい方へ

---------------------*/
#mian .inner{
    justify-content: space-between;
    align-items: center;
    padding: 0 5%;
}
#mian .img{
    width: 35%;
} 
#mian img{
    border-radius: 20px;
}
#mian .txt{
    width: 60%;
}
#mian h3{
    font-size: 3rem;
    margin-bottom: 20px;
}
#mian .txt p{
    line-height: 2.6;
}
#use-image-letter{
    position: relative;
}
#use-image-letter p{
    margin-top: 60px;
    line-height: 2.6;
}
#hikaku .txt p{
    line-height: 2.6;
}
.letter-img{
    position: absolute;
    right: 0;
    left: -40px;
    top: -60px;
    margin: auto;
    z-index: -1;
    text-align: center;
}
/* テーブル */
.comparison-table {
  width: 100%;
    max-width: 778px;
    margin: 0 auto 60px;
  border-collapse: separate;
  border-spacing: 6px;
}

.comparison-table th,
.comparison-table td {
    height: 93px;
/*    padding: 14px;*/
    width: 28%;
  text-align: center;
  vertical-align: middle;
    margin: 3px;
  background-color: var(--white-color);
    line-height: 1.6;
}
/* 左列(項目名) */
.comparison-table .label-col {
  width: 16%;
}
 /* ラストレター列(青色) */
.comparison-table .highlight-col {
    background-color: var(--main-color);
  color: var(--white-color);
}
#price .inner{
    padding: 0 10%;
}
.price-img{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 60px;
}
.price-img .img{
    width: 45%;
}
.price-img .img img{
    border-radius: 20px;
}
.price-img .txt{
    width: 50%;
    line-height: 1;
}
.price-img .txt p{
    font-size: 4rem;
    padding: 36px 0;
}
.price-img .txt p span{
    font-size: 60%;
    padding-left: 5px;
}
/* テーブル */
.plan-table {
  width: 100%;
}
.plan-table th,
.plan-table td {
  border: 1px solid var(--main-color);
    background-color: var(--white-color);
  padding: 20px;
  text-align: left;
  vertical-align: middle;
    line-height: 1.8;
    font-size: 2rem;
}
.plan-table th {
  width: 25%;
    text-align:left;
}
.plan-table .note {
  font-size: 80%;
}
#safety .subcopy2{
    margin-bottom: 40px;
}
/*---------------------

ラストレターとは？

---------------------*/
#profile .inner{
/*    justify-content: space-between;*/
    justify-content: center;
}
.profilebox {
/*    width: 30%;*/
    order: 1;
    display: none;
}
#profile .txt{
/*    width: 65%;*/
/*    padding-top: 30px;*/
    line-height: 2.6;
/*    order: 2;*/
    
    text-align: center;
}
#profile .name{
    font-size: 3rem;
    padding: 15px 0;
}
#profile .career p{
    padding: 0 0 15px;
    border-bottom: solid 1px var(--text-color);
    margin-bottom: 10px;
    font-size: 2rem;
}
#profile .career dl{
    display: flex;
    flex-wrap: wrap;
}
#profile .career dt{
    width: 50%;
    text-align: right;
}
#profile .career dd{
    width: 50%;
    text-align: left;
}
#profile .career dd,
#profile .career dt{
    padding: 10px 10px 0;
    box-sizing: border-box;
}
.policy-list{
    margin-top: 60px;
}
.policy-list h3{
    color: var(--main-color);
}
.policy-list li{
    font-size: 2rem;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.policy-list li h3{
    width: 14%;
    position: relative;
}
.policy-list li h3::before{
    width: 24px;
    height: 1px;
    background: var(--main-color);
    right: 30px;
    top: 0;
    bottom: 0;
    margin: auto;
    position: absolute;
    content: "";
}
.policy-list li p{
    width: 80%;
}
.support-list {
    grid-template-columns: repeat(3, 1fr);
}
.support-list li p{
    font-size: 2rem;
    line-height: 2.6;
    margin-top: 20px;
}
.whitebox{
    background: var(--white-color);
    border-radius: 20px;
    padding: 20px;
    text-align: center;
    color: var(--main-color);
    font-size: 2rem;
    line-height: 2;
    max-width: 600px;
    margin: 60px auto 0;
}
.media-list{
    grid-template-columns: repeat(3, 1fr);
}
.media-list img{
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 20px;
    max-width: 300px;
    width: 100%;
}
.media-list p{
    font-size: 2rem;
}
/*---------------------

ポリシー

---------------------*/
.policy h3{
    font-size: 1.8rem;
    margin:30px 0 15px;
    color: var(--main-color);
}
.policy h3:first-child{
    margin-top: 0;
}
.policy li{
    list-style: disc;
    list-style-position: inside;
}
.policy ul{
    padding: 15px 0;
}
.policy {
    padding: 0 10%;
}

/*---------------------

会社概要

---------------------*/
#rinen {
    position: relative;
}
#rinen .photo{
    position: absolute;
    left: 0;
    top: 160px;
    width: 35%;
    max-width: 800px;
}
#rinen .inner{
    width: 50%;
    margin-left: auto;
    text-align: left;
}
#rinen .ttlarea{
    text-align: left;
}
#rinen .inner p{
    line-height: 2.6;
}
.companybox{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 1000px;
    margin: 0 auto;
}
.companybox dt{
    width: 20%;
    font-weight: 500;
}
.companybox dd{
    width: 80%;
}
.companybox dt,
.companybox dd{
    border-bottom: solid 1px #b4b4b4;
    padding: 30px 0 30px 20px;
    box-sizing: border-box;
    font-size: 1.6rem;
}
.companybox dt{
    border-bottom: solid 1px var(--main-color);
}


/*---------------------

よくある質問

---------------------*/
#faq .inner{
    padding: 0 10%;
}
#faq h3{
    font-size: 2rem;
}
#faq .inner ul{
    display: grid;
    gap:20px;
}
#faq .item{
    background: rgba(255,255,255,0.76);
    border-radius: 20px;
    box-shadow: 0px 0px 29px -5px rgba(105,185,221,0.7);
    padding: 40px;
}
#faq .box{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#faq .qbox{
    margin-bottom: 30px;
}
#faq img{
/*    margin-right: 30px;*/
}
#faq .qbox h3,
#faq .abox p{
    width: calc(100% - 60px);
}

@media screen and (max-width:1024px) {
    .policy-list li h3{
        width: 20%;
    }
    .policy-list li p{
        width: 80%;
    }
    .policy-list li h3::before{
        right: 20px;
    }
}
@media screen and (max-width:769px) {
    .faq h3{
        font-size: 1.8rem;
    }
    
    #rinen .photo{
        position: static;
        width: 100%;
        margin-top: 60px;
    }
    #rinen .inner{
        width: 100%;
    }
    .profilebox,
    #profile .txt{
        width: 100%;
        padding: 0;
    }
    #profile .txt{
        margin-bottom: 60px;
    }
    #profile .center img{
        width: 80%;
        margin: 0 auto;
    }
    #profile .name{
        font-size: 2.6rem;
        padding: 10px 0 4px;
    }
    #profile .career p{
        padding-bottom: 10px;
    }
    .policy-list li{
        display: block;
    }
    .policy-list li h3{
        width: 100%;
        text-align: center;
        padding: 0 0 26px;
        margin-bottom: 10px;
        font-size: 2rem;
    }
    .policy-list li h3::before{
        width: 1px;
        height: 20px;
        bottom: 0;
        right: 0;
        left: 0;
        top: auto;
    }
    .policy-list li p{
        width: 100%;
        text-align: center;
        font-size: 1.6rem;
    }
    .policy-list{
        margin-top: 40px;
    }
    .support-list{
/*        grid-template-columns: 1fr;*/
    }
    .support-list li p{
        font-size: 1.3rem;
        line-height: 1.8;
        margin-top: 15px;
    }
    .whitebox{
        font-size: 1.5rem;
        padding: 14px;
        margin-top: 40px;
    }
    .media-list{
        grid-template-columns: 1fr;
        padding:  0 10%;
        gap:20px;
    }
    .media-list p{
        font-size: 1.6rem;
    }
    #use-image .inner{
        grid-template-columns: 1fr;
        gap:30px;
    }
    #use-image .item img{
        margin-bottom: 15px;
    }
    #merit .img,
    #merit .txt{
        width: 100%;
    }
    #merit .img{
        margin-bottom: 20px;
    }
    #merit h3{
        font-size: 2rem;
    }
    #merit .img img{
        aspect-ratio: 4 / 2.8;
        object-fit: cover;
    }
    #merit .inner{
        gap:40px;
    }
    #hospital-logo .inner img{
        width: 32%;
    }
    #support .grid{
        grid-template-columns: 1fr;
        padding: 0;
        gap:10px;
    }
    #support li{
        padding: 16px;
    }
    #support li img{
        width: 50px;
    }
    #support li p{
        width: calc(100% - 55px);
    }
    #safety li{
        padding: 16px 20px;
    }
    #safety li .sky{
        padding-right: 8px;
    }
    #safety .subcopy{
        margin-top: 20px;
    }
    #mian .img{
        width: 100%;
        margin-bottom: 30px;
        text-align: center;
    }
    #mian .img img{
        max-width: 400px;
        margin: 0 auto;
        width: 100%;
    }
    #mian .txt{
        width: 100%;
        text-align: center;
    }
    #mian h3{
        font-size: 2rem;
    }
    #use-image-letter .img{
        text-align: center;
    }
    #use-image-letter img{
        max-width: 500px;
        width: 100%;
    }
    .price-img .txt p{
        font-size: 3rem;
        padding: 30px 0 14px;
    }
    .price-img .txt img{
        max-width: 280px;
        width: 100%;
    }
    .price-img{
        padding: 0 40px;
    }
    .letter-img{
        left: 0;
    }
    .comparison-table{
        margin-bottom: 30px;
    }
    #price .inner{
        padding: 0;
    }
    .price-img{
        margin-bottom: 40px;
    }
    .plan-table th{
        width: 28%;
    }
    #safety .subcopy2{
        margin-bottom: 30px;
    }
    


}
@media screen and (max-width:425px) {
    #faq .inner{
        padding: 0;
    }
    #faq .item{
        padding: 20px;
    }
    #faq img{
        width: 33px;
    }
    #faq .qbox h3, #faq .abox p{
        width: calc(100% - 40px);
    }
    #faq .qbox{
        margin-bottom: 15px;
    }
    #faq h3{
        font-size: 1.8rem;
    }
    .companybox dt, .companybox dd{
        font-size: 1.4rem;
        padding: 20px 0 20px 5px;
        line-height: 1.6;
    }
    .companybox dt{
        width: 25%;
    }
    .companybox dd{
        width: 75%;
    }
    #hikaku .wrap{
        padding: 0;
    }
    #hikaku .inner{
        padding: 10px;
    }
    #hikaku .txt{
        padding: 0 30px;
    }
    .comparison-table th,
    .comparison-table td{
        height: 50px;
        font-size: 1.2rem;
        width: 29%;
    }
    .comparison-table .label-col{
        width: 13%;
    }
    .comparison-table{
        border-spacing:3px;
    }
    .plan-table th, .plan-table td{
        font-size: 1.2rem;
        padding: 15px 5px;
    }
    .price-img{
        padding: 0;
    }
    .price-img .txt p{
        font-size: 1.6rem;
        padding: 17px 0 14px;
    }
    
}


