.sub_ttl_family {
    border-left: 4px solid #FC1052;
    padding-left: 4px;
    line-height: 1.5;
}
.sub_ttl_student{
    border-left: 4px solid #0F3573;
    padding-left: 4px;
    line-height: 1.5;
}
.sub_ttl_adult{
    border-left: 4px solid #FE693B;
    padding-left: 4px;
    line-height: 1.5;
}
.sub_ttl_couple{
    border-left: 4px solid #EBC2CC;
    padding-left: 4px;
    line-height: 1.5;
}

.space-20{
    margin-top: 20px!important;
}
.space-45{
    margin-top: 45px!important;
}

.img_radius{
    border-radius: 15px;
}

.wave_section{
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 50px;
}
.wave_family{
    height: 70px;
    background-image: url(/passport/active/plan/img/wave_family.svg);
    width: 1000px;
    background-size: 100%;
}

/*～編タイトル*/
.ttl_contents{
    position: relative;
    display: flex;
    justify-content: space-between;
    border: 3px solid;
    border-radius: 15px;
    overflow: hidden;
    padding: 20px;
    margin-top: 38px;
}
/*～編タイトル調整*/
.text_contents{
    margin: auto;
}
.button_hov:hover{
    transform: translateY(4px);
    box-shadow: none;
    transition: 0.2s;
}
/*各カテゴリごとの色制御*/
.family{
    background-color: #FEE6EC4D;
    border-color: #FC1052;
}
.student{
    background-color: #E7EAF14d;
    border-color: #0F3573;
}
.couple{
    background-color: #FDF8F94d;
    border-color: #EBC2CC;
}
.adult{
    background-color: #FEF0EB4d;
    border-color: #FE693B;
}
/*clock*/
.time_block{
    display: flex;
    align-items: center;
    margin-top:20px;
}
.clock{
    position: relative;
    width: 50px;
}
.box_ttl{
    margin: 10px 0px;
    font-size: 27px;
    font-weight: 900;
    text-align: left;
}
.box_subttl{
    font-size: 20px;
    font-weight: 700;
    text-align: left;
}
.color_f{
    color: #FC1052;
}
.color_h{
    color: #ED7D31;
}
.back_h{
    background-color: #ED7D31;
}
.color_r{
    color: #0072BC;
}
.back_r{
    background-color: #0072BC;
}
.box_text{
    text-align: left;
}
/*矢印*/
.mark{
    margin: 36px 0px;
    padding-bottom: 5px;
}
/*家族*/
.mark_f::after{
  content: "";
  position: absolute;
  vertical-align: middle;
  color: #FC1052;
  line-height: 1;
  width: 2em;
  height: 2em;
  border: 0.2em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
  left: 48.5%;
}

.red{
    box-shadow: 0 4px 0 #FC1052;
    transition: 0.2s;
}
.orange{
    box-shadow: 0 4px 0 #FE693B;
    transition: 0.2s;
}
.blue{
    box-shadow: 0 4px 0 #0F3573;
    transition: 0.2s;
}
.pink{
    box-shadow: 0 4px 0 #EBC2CC;
    transition: 0.2s;
}
.guide_link:hover{
    transform: translateY(4px);
    box-shadow: none;
    transition: 0.2s;
}
/*PC画面制御*/
@media screen and (min-width: 600px){
    /*～編タイトル調整*/
    .category_ttl{
        font-size: 42px;
        font-family: "Kosugi Maru", sans-serif;
        font-weight: 600;
        font-style: normal;
    }
    /*～編画像スペース*/
    .img_contents_box{
        width: 285px;
        transform: translateY(-10px);
        height: min(122px);
    }
    /*～編画像調整*/
    .img_contents{
        display: block;
        margin-left: auto;
        max-width: 250px;
    }
    /*項目のテキストスペース*/
    .card_contents{
        padding: 20px 5px 20px 20px;
        width: 54%
    }

    
}
/*スマホ画面制御*/
@media screen and (max-width: 599px){
    /*～編並び調整*/
    .ttl_contents{
        flex-direction: column;
    }
    /*～編画像スペース*/
    .img_contents_box{
        margin-top: 15px;
        width: 100%;
        transform: translateY(-10px);
        height: min(105px);
    }
    .img_contents{
        display: block;
        margin: 0 auto;
        width: 210px;
    }
    .mark_f::after{
        left: 45.5%;
    }
    .mark_h::after{
        left: 45.5%;
    }
    .mark_r::after{
        left: 45.5%;
    }
    /*～編文字調整*/
    .category_ttl{
        font-size: 25px;
        font-family: "Kosugi Maru", sans-serif;
        font-weight: 600;
        font-style: normal;
    }
    /*項目テキストスペース*/
    .card_contents{
        padding: 0px 20px 20px;
    }
}
/*リンク専用PC*/
@media screen and (min-width: 809px){
     /*～編選択ボタン用*/
    .guide_txt{
        margin: auto;
        width: 313px;
    }
    .guide_link_block{
        display: flex;
        flex-direction: row;
        gap: 23px;
    }
    .guide_link{
        width: calc(100% / 2);
        align-items: center;
        margin-top:10px;
    }
    .guide_link-pc{
        width: 100%;
    }
    .guide_link_ttl{
        font-size: 22px;
        top: 24px;
    }
    .pc-font{
        font-size: 30px;
    }
    .guide_line_ispace{
        width: 314px;
        height: min(90px);
        margin: auto;
    }
    .guide_line_img{
        max-width: 198px;
    }
}
/*リンク専用タブレット以下*/
@media screen and (max-width: 810px){
    .category_ttl{
        font-size: 30px;
    }
    /*～編リンクボタン用*/
    .guide_txt{
        margin: auto;
    }
    .guide_link{
        flex-direction: row;
        margin-top: 20px;
    }
    .guide_link_ttl{
        font-size: 20px;
    }
    .guide_line_ispace{
        width: 136px;
        height: min(64px);
        margin: auto;
    }
    .guide_line_img{
        width: 203px;
    }
}

@media screen and (max-width: 1279px) {
    .c-ttl-cmn-02:first-child {
        margin-top: -85px;
        padding-top: 85px;
    }
}