@charset "UTF-8";
main ul{margin:0!important; padding:0!important;}
main ul li{list-style: none!important;}
main .inner{width: 100%; max-width: 1040px; margin: 0 auto; padding: 0 20px;}
main .--btn{transition: all 0.3s ease-out;}
main .--btn:hover{opacity: .7;}

main h2.--line{font-size:3.6rem; font-weight: 700; letter-spacing:.1rem; line-height: 1; color:#03457a; text-align: center; margin-bottom: 40px;}
main h2.--line span{position: relative; border-bottom: 2px #03457a solid; padding: 0.8rem 0;}
main h2.--side{border-left: 4px solid #c60e3b; padding: 10px 0 10px 14px; font-weight: 600; line-height: 1.4; text-align: left; color: #152a3b; margin-bottom: 40px;}
main h2.--side .title{font-size: 3.2rem; display: block;}
main h2.--side .sub{font-size: 1.6rem; display: block;}

main ul.--3col1{display: flex; /*justify-content: center;*/ gap: 30px; flex-wrap: wrap; margin-bottom: 24px;}
main ul.--3col1 li{width:calc(100% / 3 - 20px);}
main ul.--4col2{display: flex; /*justify-content: center;*/ gap: 30px; flex-wrap: wrap; margin-bottom: 24px!important;}
main ul.--4col2 li{width:calc(100% / 4 - 22.5px);}

main #hsp-kv{margin: 0 0 120px 0;/*margin: 92px 0 120px 0;*/}

main #hsp-mes{margin-bottom: 120px;}
main #hsp-mes .lead{font-size:1.6rem; line-height: 1.5; color:#03457a; text-align: center; margin-bottom: 30px;}
main #hsp-mes .img{width: 528px; margin: 0 auto;}

main #hsp-partner{margin-bottom: 96px; padding-top: 110px; margin-top: -110px;}
main #hsp-partner ul li img{margin-bottom: 20px;}
main #hsp-partner ul li .title{font-size: 1.2rem; font-weight: 600; color: #152a3b; line-height: 1.4; display: block; margin-bottom: 10px;}
main #hsp-partner ul li .title span{font-size: 2.4rem; display: block;}
main #hsp-partner ul li .title small{font-size: 1.6rem;}
main #hsp-partner ul li .link a{font-size:1.2rem; font-weight: 600; line-height: 1; color:#fff; text-align: center; border: 1.5px #fff solid; width: 195px; height: 36px; line-height: 34px; border-radius: 18px; background: #03457a; display: block;}
main #hsp-partner ul li .link a span{background: url(../images/healthy-sleep-project_new/icon_r_w.webp) 100% 50%/auto 8px no-repeat; padding: 0 28px 0 10px;}

main #hsp-report{margin-bottom: 96px;}

main #hsp-study{margin-bottom: 96px;}

main #hsp-concierge{margin-bottom: 96px;}
main #hsp-concierge ul li img{display: block; margin-bottom: 12px;}
main #hsp-concierge ul li .date{display: block; margin-bottom: 10px; font-size: 1.4rem; line-height: 1.5; color:#152a3b;}
main #hsp-concierge ul li .title{display: block; font-size: 1.4rem; line-height: 1.5; color:#152a3b; font-weight: 600;}
main #hsp-concierge p a{font-size:1.8rem; font-weight: 600; color:#03457a; text-align: center; border: 1.5px #03457a solid; width: 172px; height: 42px; line-height: 40px; border-radius: 21px; display: block; margin: 0 auto;}
main #hsp-concierge p a span{background: url(../images/top_new/icon_r_n.webp) 100% 50%/auto 11px no-repeat; padding: 0 34px 0 10px;}


@media screen and (min-width:768px){
    main .--sp{display: none;}
}

@media screen and (max-width:767px){
    #main{margin: 0!important;}
    body{padding-top:56px!important;}

    main .--pc{display: none;}
    main a.btn:hover img{opacity: 1;}

    main h2.--line{font-size:2.4rem; font-weight: 700; letter-spacing:.1rem; line-height: 1; color:#03457a; text-align: center; margin-bottom: 24px;}
    main h2.--line span{position: relative; border-bottom: 2px #03457a solid; padding: 0.6rem 0; line-height: 1.2;}
    main h2.--side{padding: 5px 0 5px 14px; margin-bottom: 24px;}
    main h2.--side .title{font-size: 2.4rem; display: block;}
    main h2.--side .sub{font-size: 1.2rem; display: block;}

    main ul.--3col1{display: block;}
    main ul.--3col1 li{width:100%; margin-bottom: 30px;}
    main ul.--3col1 li:nth-last-child(1){margin-bottom: 0;}
    main ul.--4col2{gap: 12px;}
    main ul.--4col2 li{width:calc(100% / 2 - 6px); margin-bottom: 12px;}

    main #hsp-kv{margin: 0 0 80px 0;}
    main #hsp-kv .inner{padding: 0;}

    main #hsp-mes{margin-bottom: 80px;}
    main #hsp-mes .lead{font-size:1.4rem; margin-bottom: 12px;}
    main #hsp-mes .img{width: 100%;}

    main #hsp-partner{margin-bottom: 80px; padding-top: 80px; margin-top: -80px;}

    main #hsp-report{margin-bottom: 80px;}

    main #hsp-study{margin-bottom: 80px;}

    main #hsp-concierge{margin-bottom: 80px;}
    main #hsp-concierge ul{margin-bottom: 24px;}
    main #hsp-concierge ul li{margin-bottom: 0;}
    main #hsp-concierge ul li img{margin-bottom: 10px;}
    main #hsp-concierge ul li .date{margin-bottom: 8px; font-size: 1.2rem;}
    main #hsp-concierge ul li .title{font-size: 1.2rem;}
    main #hsp-concierge p a{font-size:1.2rem; width: 116px; height: 28px; line-height: 26px; border-radius: 13px;}
    main #hsp-concierge p a span{background: url(../images/top_new/icon_r_n.webp) 100% 50%/auto 8px no-repeat; padding: 0 24px 0 10px;}
}