@charset "UTF-8";

/* プランメインビジュアル　ここから*/
#page_plan_visual{
    background:url("../img/plan/plan_list_sp_bg.jpg") no-repeat center top;
    padding: 60px 0;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    width: 100vw;
    background-position-y: top;
}

.plan_title--wrap{
    width: 100%;
    background: rgba(255, 255, 255,0.80);
    text-align: center;
    margin: auto;
    padding: 8px;
}
.plan_list--title{
  font-size: 4.788vw;
  font-weight: 700;
}
.plan_list--title span{
  font-size: 0.75em;
}
.plan_list--title br{
  display: none;
}

#page_plan_visual .title_waku{
    background: rgba(255, 255, 255,0.80);
    text-align: center;
    margin: auto;
    /* border-top: 3px solid #ff7675; */
    padding: 9px;
}
#page_plan_visual .title_waku h1{
    font-size: 32px;
    line-height: 1.2;
}
#page_plan_visual .title_waku p{
    font-size: 15px;
}
/* プランメインビジュアル　ここまで*/

/* セットプラン　ここから*/

#set_plan ul.set_plan_list{
    display: flex;
    justify-content: flex-start;
    list-style: disc;
    list-style-position: inside;
    margin-top: 7px;
    padding: 0 0 0 20px;
    line-height: 1.4;
    width: 80vw;
}
#set_plan ul.set_plan_list li{
    width: auto;
    margin: 0 20px 0 0;
    font-size: 18px;
    border: 0;
}
#set_plan ul.set_plan_list li.yokohaba{
    width: 100px;
}
#set_plan ul.set_plan_list li + li{
    margin-left: 0px;
}
#set_plan ul.set_plan_list li:hover{
    opacity:initial;
}
/* セットプラン　ここまで*/

/* セットプラン比較　ここから*/
#set_plan .set_plan_hikaku_h2{
    margin-bottom: 21px;
}
#set_plan ul#set_plan_hikaku li h3::after{
    font-family: none;
    content: '';
    width: initial;
    margin: 0;
}
#set_plan ul li figure.hikaku_flow{
    border-top: 1px dashed;
    border-bottom: 1px dashed;
    padding: 18px 0;
    margin: 12px auto;
    /* height: 102px; */
    text-align: center;
}
#set_plan ul.hikaku_icon{
    padding: 9px;
    justify-content: space-between;
}
#set_plan ul.hikaku_icon li{
    width: 21%;
    border: none;
    text-align: center;
    padding: 0;
    margin-bottom: 10px;
}
#set_plan ul li ul.hikaku_icon li figure img{
  padding: 5px;
  width: auto;
}
#set_plan ul.hikaku_icon li:nth-child(4n){
    margin-right: 0;
}
#set_plan ul.hikaku_icon li figure{
    width: initial;
    height: initial;
    margin: 0;
}
#set_plan ul.hikaku_icon li figure figcaption{
    line-height: 1.2;
    font-size: 11px;
    font-weight: 700;
    margin-top: 3px;
}
#set_plan ul.hikaku_icon li figure figcaption.icon_small{
    font-size: 10px;
    letter-spacing: -1px;
}
#set_plan .check_btn{
    display: none !important;
}
#set_plan .check_label{
    position: relative;
    display: block;
    background: #ff7675;
    color: #fff;
    margin: 0px;
    padding: 10px;
}
#set_plan .check_label::before{
    position: absolute;
    content: "";
    display: block;
    top: 16px;
    right: 24px;
    width: 2px;
    height: 10px;
    background: #ffffff;
    transition: all 0.5s ease;
    opacity: 1;
}
#set_plan .check_label::after{
    position: absolute;
    content: "";
    display: block;
    top: 20px;
    right: 20px;
    width: 10px;
    height: 2px;
    background: #ffffff;
}
#set_plan .plan_contents{
    height: 0;
    opacity: 0;
    padding: 0 10px;
    transition: all .5s ease;
    visibility: hidden;
}
#set_plan .check_btn:checked + .check_label + .plan_contents{
    height: auto;
    opacity: 1;
    padding: 10px 0;
    visibility: visible;
}
#set_plan .check_btn:checked + .check_label::before{
    opacity: 0;
}
/* セットプラン比較　ここまで*/

/* セットプランの選び方　ここから*/
#choice{}
#choice h3{
    font-size: 7.5vw;
    margin: 5px;
}
.choice_point{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 20px 0 0;
    padding: 0;
    font-weight: 700;
    list-style: none;
    text-align: left;
}
.choice_point li{
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}
.point_decoration{
    position: relative;
    border-top: 2px solid #ff7675;
    border-bottom: 2px solid #ff7675;
    margin: 0 10px 0 0;
    padding: 2px 10px;
    line-height: 1.2;
    font-size: 4vw;
    color: #ff7675;
    text-align: center;
}
.point_decoration span{
    display: block;
    font-size: 6vw;
}
.point_description{
  font-size: 4vw;
}
.choice_table{
    border-top: 2px solid #ff7675;
    border-bottom: 2px solid #ff7675;
}
.choice_table ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    margin: 15px 0;
    list-style: none;
    border-bottom: 1px dashed #000000;
}
.choice_table ul.border_none{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    margin: 20px 0 0;
    list-style: none;
    border-bottom: none;
}
.choice_table ul li,
.choice_table ul.border_none li{
    padding: 0 0 15px;
}
.choice_table ul li.sp_width{
    width: 100vw;
}
.choice_table ul li.choice_human{
    text-align: left;
}
.choice_table ul li p{
    min-width: 200px;
    text-align: right;
}
#choice .choice_table ul li figure{
    display: inline-block;
}
#choice .choice_table ul li a .plan_btn{
    margin: 0;
    padding: 0;
    border: 3px solid #000000;
    border-radius: 3px;
    color: #ffffff;
    background: #000000;
}
#choice .choice_table ul li a .plan_btn span{
    position: relative;
    display: block;
    margin: 0;
    padding: 5px;
    text-align: left;
    border: 2px solid #ffffff;
    border-radius: 3px;
    color: #ffffff;
    background: #000000;
}
#choice .choice_table ul li a .plan_btn span::after{
    position: absolute;
    top: 2vh;
    right: 2vw;
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    transform: rotate(45deg);
}
#choice .gp_dp_block{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 20px;
    text-align: left;
    background: #ffffff;
    border: 2px solid #9a9a9a;
}

#choice .gp_dp_block p{
    width: 100%;
}

/*201021未使用なら削除OK*/
#choice .gp_dp_block h4{
    position: relative;
    margin: 0;
    padding: 0 0 0 10px;
    width: 100%;
    font-weight: 700;
}

#choice .gp_dp_block h4::before{
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    width: 4px;
    height: 20px;
    display: inline-block;
    border-left: 4px solid #ff7675;
}
/*ここまで*/

/*201021追加*/
#choice .gp_dp_block .gp_dp_title {
    position: relative;
    margin: 0;
    padding: 0 0 0 10px;
    width: 100%;
    font-weight: 700;
}

#choice .gp_dp_block .gp_dp_title::before{
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    width: 4px;
    height: 20px;
    display: inline-block;
    border-left: 4px solid #ff7675;
}
/*ここまで*/

#choice .gp_dp_block dl{
    max-width: 460px;
    text-align:left;
}
#choice .gp_dp_block dl dt{
    margin: 10px 0 5px;
    font-weight: 700;
    color: #ffffff;
    max-width: 100px;
    text-align:center;
    border: 1px solid #ff7675;
    border-radius: 3px;
    background: #ff7675;
}
#choice .gp_dp_block dl dd{
    line-height: 1.4;
    margin-bottom: 15px;
    position: relative;
    padding: 0 0 0 25px;
}
#choice .gp_dp_block dl dd::before{
    position: absolute;
    top: 6px;
    left: 0px;
    content: url(../img/top/check.gif);
    display: inline-block;
}
/* セットプランの選び方　ここまで*/

/* 葬儀社選びのステップ　ここから*/
#choice_step{}
#choice_step .step_list{
    position: relative;
    padding: 20px 10px;
    text-align: left;
    border: 2px solid #9a9a9a;
}

/*201021未使用なら削除OK*/
#choice_step .step_list h4{
    font-size: 22px;
    margin: 0 0 10px;
}
/*ここまで*/

/*201021追加*/
#choice_step .step_list .step_title{
    font-size: 22px;
    margin: 0 0 10px;
}
/*ここまで*/

#choice_step .step_list dl dt span{
    position: absolute;
    top: -15px;
    left: -10px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    font-size: 20px;
    color: #ffffff;
    border-radius: 50%;
    background: #ff7675;
}
#choice_step .step_list dl dd .step_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px auto 0;
    padding: 10px 0;
    max-width:  468px;
    color: #ffffff;
    border-radius: 3px;
    background: #000000;
}
/* 葬儀社選びのステップ　ここまで*/

/* 葬儀の流れ　ここから*/
#funeral_flow{
    position: relative;
    z-index: 10;
}
#funeral_flow ul{
    list-style: none;
}
#funeral_flow ul li{
    border: 2px solid #9a9a9a;
    background: #ffffff;
}
#funeral_flow ul li dl{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0;
    padding: 10px 10px;
    text-align: left;
}
#funeral_flow ul li dl dt{}
#funeral_flow ul li dl dt figure img{
    width: 100vw;
}
#funeral_flow ul li dl dd{
    position: relative;
    max-width: 680px;
}


/*201021未使用なら削除OK*/
#funeral_flow ul li dl dd h4{
    margin: 10px 0 10px;
    padding: 0 0 0 10px;
    font-size: 20px;
}
/*ここまで*/
/*201021追加*/
#funeral_flow ul li dl dd .info_title{
    margin: 10px 0 10px;
    padding: 0 0 0 10px;
    font-size: 20px;
}
/*ここまで*/


#funeral_flow ul li dl dd .info_announce .info_block{
    margin: 10px 0 0;
    padding: 5px 10px 0;
    text-align: center;
    font-size: 18px;
    color: #ffffff;
    border-radius: 4px;
    background: #ff7675;
    width: 100%;
}
#funeral_flow ul li dl dd .info_announce .tel_number{
    margin: 0;
    padding: 0;
    font-size: 15vw;
    font-weight: 700;
    font-family: 'Oswald', sans-serif;
    line-height: 1.2;
}
#funeral_flow ul li dl dd::before{
    position: absolute;
    top: 10px;
    left: 0px;
    content: "";
    display: inline-block;
    width: 4px;
    height: 25px;
    background: #ff7675;
}
#funeral_flow .line_mark{
    position: relative;
    margin: 0;
    padding: 0;
}
#funeral_flow .line_set{
    margin: 0;
    padding: 20px 0 0 45px;
    font-size: 18px;
    text-align:left;
    line-height: 1.6;
}
#funeral_flow .line_mark .line_set::before{
    position: absolute;
    bottom: 0px;
    left: 15px;
    content: "";
    width: 10px;
    height: 100%;
    background: #ff7675;
    z-index: -1;
}
#funeral_flow .line_mark .line_set::after{
    position: absolute;
    bottom: -2px;
    left: 2px;
    content: "";
    display: inline-block;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: #ff7675;
}
.grayout{
  opacity: 0.3;
}
.hikaku_cta_btn{
  text-align: center;
}
.sp_text_left br{
  display: none;
}
#choice .choice_table ul li,
#choice .choice_table ul.border_none li{
    padding: 0 0 15px;
}
#choice .choice_table ul li.choice_human{
    width: 24%;
    text-align: left;
}
#choice .choice_table ul li.choice_table_txt{
  text-align: left;
  width: 76%;
}
#choice .choice_table ul li.choice_table_txt p{
  font-size: 17px;
  text-align: right;
}
#choice .choice_table ul li p{
    min-width: 200px;
    text-align: left;
    position: relative;
}
#choice .choice_table ul li p i{
  position: absolute;
  right: 10px;
  top: 11px;
}
#choice .choice_table ul li figure{
    display: inline-block;
}
#choice .choice_table ul li a .plan_btn{
    margin: 0;
    padding: 8px 10px;
    position: relative;
    border: 3px solid #2d2d2d;
    border-radius: 2px;
    color: #ffffff;
    background: #2d2d2d;
}
#choice .choice_table ul li a .plan_btn::before{
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  display: block;
  border: 2px solid #fff;
}
.choice_human i{
  color: #ff7675;
  font-size: 21px;
  margin-right: 5px;
}
.funeral_flow_title{
  margin-bottom: 20px;
}
.choice_point_span{
  font-size: 3.5vw;
}
/* プラン比較 */
.comparison_title{
  font-size: 7.5vw;
  margin-bottom: 20px;
  text-align: center;
}
.comparison_pc__list{
  display: none;
}
.comparison_sp__list{
  margin-bottom: 10vw;
}


/* ご依頼の流れ ここから*/

.request__img {
  padding: 40px 0 0 0;
  margin: 0 0 40px 0;
  border-top: #efefef 1px solid;
}

.request__box {
  border: #707070 1px solid;
  padding: 20px 24px;
}

.request__info {
  margin: 0 0 20px 0;
  padding: 0 0 20px 0;
  border-bottom: #efefef 1px solid;
}

.request__info:last-child {
  margin: 0;
  padding: 0;
  border-bottom: none;
}

.request__info--head {
  margin: 0 0 10px 0;
  display: flex;
}

.request__info--number {
  width: 30px;
  height: 30px;
  border: #2d2d2d 1px solid;
  text-align: center;
  vertical-align: middle;
  font-size: 18px;
  font-weight: bold;
  border-radius: 3px;
  margin: 0 16px 0 0;
}

.request__info--title {
  font-size: 5.86vw;
  font-weight: bold;
  padding: 0;
}

.request__info--txt {
  font-size: 4.7vw;
  text-align: left;
}

/*ご依頼の流れ ここまで*/

/*家族葬とは？ ここから*/

.family__caption {
  background: #FFF3F2;
  border-left: #FF7676 3px solid;
  padding: 25px;
}

.family__caption--title {
  font-size: 7.5vw;
}

.family__content {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 40px 0;
}

.family__content--img {
  width: 100%;
  margin: 0 0 10px 0;
}

.family__content--box {
  width: 100%;
}

.family__content--title {
  font-size: 5.86vw;
  font-weight: bold;
  margin: 0 0 10px 0;
}

.family__content--txt {
  font-size: 4.7vw;
  margin: 0 0 20px 0;
  text-align: left;
}

.family__content--txt:last-child {
  margin: 0;
}

/*家族葬とは？ ここまで*/


/*平均葬儀費用 ここから*/

.plice__txt {
  margin: 0 0 20px 0;
  font-size: 4.7vw;
  text-align: left;
}

.plice__txt--notice {
  font-weight: bold;

}

/*平均葬儀費用 ここまで*/


/*よくある質問 ここから*/

.faq__container {
  width: 100%;
  margin: 0;
}

.faq__content {
  display: flex;
  margin: 0 0 30px 0;
}

.faq__content:last-child {
  margin: 0;
}

.faq__icon {
  margin: 0 10px 0 0;
}

.faq__icon--txt {
  font-size: 32px;
  font-weight: bold;
  color: #FF7675;
  font-family: "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}

.faq__content--box {
}

.faq__content--title {
  font-size: 5.33vw;
  font-weight: bold;
  border-bottom: #707070 1px dashed;
  padding: 8px 0;
  margin: 0 0 10px 0;
  text-align: left;
}

.faq__content--txt {
  font-size: 4.7vw;
  text-align: left;
}

/*よくある質問 ここまで*/
