@charset "UTF-8";

:root {
    --mainWhite: #FFFFFF;
    --mainRed: #FE4936;
    --mainBlack: #1A1C1F;
    --mainBule: #434A90;
    --bgcBule: #E6F2F6;
    --buttonBule: #027EA5;
}

/* 画像sp/pc表示切り替えclass */
.sp-none{
    display: none;
}
    @media(min-width:768px){
    .sp-none{
        display: block;
    }
}

.pc-none{
    display: block;
}
    @media(min-width:768px){
    .pc-none{
        display: none;
    }
}

/* 改行class */
.pc_br {
    display: none;
}
@media (min-width: 768px) {
    .pc_br {
        display: inline-block;
    }
}

.sp_br {
    display: inline-block;
}
@media (min-width: 768px) {
    .sp_br {
        display: none;
    }
}

/* 背景色 */
.bgc_white{
    background-color: var(--mainWhite);
}

.bgc_bule{
    background-color: var(--bgcBule);
}

/* 左右のpaddingやwidthを決める */
.main-container{
    padding: 0 15px;
    margin: 0 auto;
}
@media(min-width:768px){
    .main-container{
       max-width: calc(1140px + 30px);
       padding: 0 15px;
    }
}

/* パンクズメニュー余白 */
.breadcrumbs__padding{
    padding: 70px 0 22px;
}

@media(min-width:1120px){
    .breadcrumbs__padding{
        padding: 140px 0 67px;
    }
}


/* h1と、サイトの説明テキスト */
.main__header-group{
    margin-bottom: 40px;
}

.main__header{
    color: var(--mainBule);
    font-family: "M PLUS Rounded 1c", "メイリオ", "sans-serif";
    font-size: 30px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 3px;
    text-align: center;
    margin-bottom: 15px;
}

.main__description-txt{
    color: var(--mainBlack);
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 1.1px;
}

@media(min-width:768px){
    .main__header-group{
    margin-bottom: 56px;
    }

    .main__header{
        font-size: 40px;
        line-height: 1.4;
        letter-spacing: 4px;
        margin-bottom: 36px;
    }

    .main__description-txt{
        font-size: 20px;
        line-height: 1.8;
        letter-spacing: 2px;
        text-align: center;
    }

}


/* 今やってほしい対策 */
.safety-guidelines{
    padding-bottom: 30px;
}

.safety-guidelines__bgc{
    background-color: var(--mainWhite);
    padding: 20px 30px 30px;
    border-radius: 20px;
    margin: 0 auto;
}

.safety-guidelines__header{
    color: var(--mainRed);
    font-family: "M PLUS Rounded 1c", "メイリオ", "sans-serif";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 1px;
    text-align: center;
    margin-bottom: 10px;
}

.safety-guidelines__item{
    border-bottom: 2px solid #D1D8DE;
}

.safety-guidelines__item:first-of-type{
    border-top: 2px solid #D1D8DE;
}

.safety-guidelines__txt{
    display: flex;
    color: var(--mainBlack);
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 2px;
    padding: 8px 0 8px 41px;
    position: relative;
}

.safety-guidelines__txt::before{
    display: block;
    content: "";
    background-image: url(0602b4541dc23da3.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    position: absolute;
    left: 8px;
}

.safety-guidelines__detail-txt{
    color: var(--mainBlack);
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 2px;
    margin-top: 20px;
}

.safety-guidelines__detail-txt-attention{
    font-size: 9px;
    vertical-align: top;
}

@media(min-width:768px){
    .safety-guidelines{
        padding-bottom: 50px;
    }
    
    .safety-guidelines__bgc{
        padding: 46px 90px 64px;
        max-width: 960px;
    }
    
    .safety-guidelines__header{
        font-size: 28px;
        line-height: 1.28;
        letter-spacing: 1.4px;
        margin-bottom: 24px;
    }

    .safety-guidelines__txt{
        font-size: 20px;
        letter-spacing: 1.8px;
        padding: 15px 50px;
    }

    .safety-guidelines__txt::before{
        width: 30px;
        height: 30px;
        left: 11px;
    }
}



/* 注釈 */
.common__attentions{
    margin-top: 20px;
}

.common__attentions--small-mt{
    margin-top: 10px;
}

.common__attention{
    color: var(--mainBlack);
    font-family: "Noto Sans JP";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}

.common__attention-flex{
    display: flex;
}

.common__attention-mr{
    margin-right: 3px;
}

@media(min-width:768px){
    .common__attentions{
        margin-top: 10px;
    }

    .common__attentions--large-mt{
        margin-top: 10px;
    }

    .common__attention--caution-large{
        font-size: 14px;
        letter-spacing: 1.7px;
    }

    .common__attention-flex--center{
        justify-content: center;
    }
}


/* 注意のヒント */
.caution-tips{
    padding-top: 30px;
    padding-bottom: 30px;
}

.caution-tips__list{
    display: grid;
    grid-row-gap: 60px;
}

.caution-tips__title{
    color: var(--mainBule);
    font-family: "M PLUS Rounded 1c", "メイリオ", "sans-serif";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 1.2px;
    text-align: center;
    margin-bottom: 20px;
}

.caution-tips__header-group{
    display: flex;
    background-color: var(--mainBule);
    border-radius: 16px;
    padding: 8px 20px 8px 14px;
    margin-bottom: 20px;
}

.caution-tips__header-group::before{
    display: block;
    content: "";
    background-image: url(0602b4541dc23da3.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    margin-right: 4px;
}

.caution-tips__header{
    color: var(--mainWhite);
    font-family: "M PLUS Rounded 1c", "メイリオ", "sans-serif";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 1.6px;
    margin: auto;
    width: 100%;
}

.caution-tips__txt{
    color: var(--mainBlack);
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.9px;
    margin: 0 auto;
}

.caution-tips__txt--caution-tips{
    margin-bottom: 20px;
}

@media(min-width:768px){
    .caution-tips{
        padding-top: 50px;
        padding-bottom: 60px;
    }

    .caution-tips__list{
        grid-row-gap: 120px;
    }

    .caution-tips__title{
        font-size: 32px;
        letter-spacing: 1.6px;
        margin-bottom: 40px;
    }

    .caution-tips__header-group{
        border-radius: 20px;
        padding: 14px 40px;
        margin-bottom: 40px;
    }

    .caution-tips__header-group::before{
        width: 36px;
        height: 36px;
        margin-right: 13px;
    }

    .caution-tips__header{
        font-size: 20px;
        letter-spacing: 2px;
    }


    .caution-tips__txt{
        letter-spacing: 2px;
        max-width: 958px;
    }

    .common__attentions--caution-tips-max-width{
        max-width: 958px;
        margin: 0 auto;
        margin-top: 20px;
    }

    .common__attention--caution-tips{
        font-size: 14px;
        letter-spacing: 0.7px;
    }

    .caution-tips__txt--caution-tips{
        margin-bottom: 32px;
    }
}


/* 共通ボタン */
.common-button__link{
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--mainWhite);
    font-family: "M PLUS Rounded 1c", "メイリオ", "sans-serif";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.7px;
    text-align: center;
    background-color: var(--buttonBule);
    border-radius: 50px;
    padding: 17px 18px;
    position: relative;
    width: 100%;
}

.common-button__link::after{
    display: block;
    content: "";
    background-image: url(c2f02592a17bd588.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 6px;
    height: 12px;
    flex-shrink: 0;
    position: absolute;
    right: 18px;
}

@media(min-width:768px){
    .common-button__link{
        font-size: 18px;
        line-height: 1;
        letter-spacing: 0.9px;
        border-radius: 40px;
        padding: 21px 20px;
        transition: 0.25s ease-out;
        border: 2px solid #027EA5;
    }
    .common-button__link:hover{
        color: #027EA5;
        background-color: #ffffff;
    }
    .common-button__link::after{
        right: 20px;
        transition: 0.25s ease-out;
    }
    .common-button__link:hover::after{
        background-image: url(b3c9b38c89b94c2b.png);
    }
}

/* チェックポイント */
.check-point__bgc{
    background-color: var(--mainWhite);
    padding: 20px 30px 40px 30px;
    border-radius: 20px;
    margin: 0 auto;
}

.check-point__header{
    color: #01A5C9;
    font-family: "Quicksand";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.check-point__item{
    border-bottom: 2px solid #D1D8DE;
}

.check-point__item:first-of-type{
    border-top: 2px solid #D1D8DE;
}


.check-point__txt{
    color: var(--mainBlack);
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 2.2px;
    padding: 8px 0 8px 41px;
    position: relative;
}

.check-point__txt--caution-tips{
    line-height: 1.3
}

.check-point__txt::before{
    display: block;
    content: "";
    background-image: url(9738c2f605e96ecd.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    position: absolute;
    left: 11px;
}

@media(min-width:768px){
    .check-point__bgc{
        padding: 34px 90px 40px 90px;
        max-width: 960px;
    }

    .check-point__bgc--caution-tips{
        padding: 34px 90px 48px 90px;
    }

    .check-point__header{
        margin-bottom: 16px;
    }

    .check-point__txt{
        padding: 14px 0 14px 50px;
    }

    .check-point__txt::before{
        left: 19px;
    }
}

.check-point__txt--bold{
    font-weight: 700;
}

/* SE対応 */
@media(max-width:320px) {
    .main__header {
        font-size: 26px;
    }
    .caution-tips__title {
        font-size: 20px;
    }
}
