@charset "UTF-8";

@import url("./product.css");
@import url("./sub_text.css");
.features_head {
    font-size: 21px;
    padding: 10px 0;
}
.type_box:after {
    display: none;
}
#type0 , #type1, #type2 {
    margin-bottom: 60px;
    padding-bottom: 50px;
}
.btn_pdf a {
    margin-bottom: 0;
}
#recommend .btn_pdf2 a {
    margin-bottom: 0;
}
@media screen and (max-width:768px) {
    #topPlan .headline_top1 {
        line-height: 1.3;
    }
    #topPlan .w1200,
    #productfeature .w1200 {
        width: 100%;
    }
    #type0 , #type1, #type2 {
        margin-top: 50px;
        margin-bottom: 30px;
        padding-bottom: 30px;
    }
    #type2 {
        margin-bottom: 80px;
    }
    #topPlan #type2 { /* 20240619追記　トップページ　プラン詳細ページへのリンク設置 */
        margin-bottom: 0px;
        padding-bottom: 40px;
    }
    .btn_pdf a,
    .btn_pdf2 a {
        width: 75%;
    }
}

/*-------メインイメージ-------------*/

#kv{
	background-image: url(../img/index/main_img2024.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	width: 100%;
	height: 680px;
}
#kv_inner{
	text-align: left;
	padding-top: 80px;
    position: relative;
}

/* スマホ表示用の資料請求CTA */
#kv_top_cta_wrap{
	display: none;
}

.kv_inner_info {
    position: absolute;
    top: 50px;
/*
    right: 120px;
*/
    max-width: 445px;
    right: 8.6%;
    width: 31.8%;
/*    min-width: 370px;*/
}
.kv_inner_info img {
    width: 100%;
    height: auto;
}
.kv_inner_info_btn {
    position: absolute;
/*    bottom: 20px;*/
/*    right: 100px;*/
    right: 7%;
    width: 81px;
}

.kv_inner_info_btn a {
    display: block;
}
.kv_inner_info_btn a:hover {
    opacity: 0.8;
}
.kv_inner_info_btn img {
    width: 100%;
    height: auto;
}

@media screen and (max-width:640px) {
    .kv_inner_info {
        max-width: 297px;
        width: 80%;
        top: 19px;
        right: 39px;
    }
    .kv_inner_info_btn {
        width: 71px;
        top: 270px;
        right: 190px;
        height: 71px;
    }
    /* スマホ表示用の資料請求CTA */
    #kv_top_cta_wrap{
        display: block;
    }
    #kv_inner #kv_top_cta_wrap{
        margin: -40px 0 15px 0;
    }
}


/*-------メインイメージ　正月用-------------*/

#kv_newyear{
	background-image: url(../img/index/2025back.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	width: 100%;
	height: 680px;
}
.newyear_text{
	width: 45%;
	position: absolute;
	right: 0;
	top: 50px;
}
.newyear_text img{
	width: 100%;
}
.newyear_inner{
	position: relative;
}


@media screen and (max-width:768px) {

#kv{
	height: 500px;
}
#kv_inner{
	padding-top: 50px;
}


/*----メインイメージ　正月用----*/
#kv_newyear{
	height: 500px;
}


}

@media screen and (max-width:640px) {
#kv{
/*	height: 740px;*/
    /* height: 980px; */
    height: 1045px;
    padding-bottom: 40px;
/*	background-position: -600px 70px;*/
    background-image: url(../img/index/main_img2024.jpg);
    background-position: -430px -50px, bottom 0px left 0px;
    background-size: auto 510px, auto;
}
#kv_inner{
/*	background: linear-gradient( #fff 20%,transparent 42% );*/
	text-align: center;
    /* 20230104 以下、正月時のTOPメイン画像CSS */
	/* padding-top: 40px; */
    /* 20230104 以下、通常時のTOPメイン画像CSS */
	padding-top: 500px;
}

/*----メインイメージ　正月用----*/
#kv_newyear{
	height: 980px;
}

/* 20230104　お正月用修正 */
.newyear_text{
	width: 85%;
	right: 30px;
	top: 510px;
}
.newyear_inner{
	padding-top: 0px;
}
}

@media screen and (max-width:500px) {
/*----メインイメージ　正月用----*/
#kv_newyear{
	height: 880px;
}
}

@media screen and (max-width:430px) {
#kv{
	background-position: -470px -40px, bottom 0px left 0px;
}
/* スマホ表示用の資料請求CTA */
#kv_inner #kv_top_cta_wrap{
    margin: -30px 0 15px 0;
}
}

@media screen and (max-width:400px) {
#kv{
	background-position: -475px -40px, bottom 0px left 0px;
}
}

/*-------かんたん見積り-------------*/
#estimate{
	width: 48%;
	background-color: rgba(255,255,255,0.9);
	text-align: center;
	padding: 40px 0;
	height: 450px;
}
.estimate_head{
	border-top: solid 1px #5cad86;
	border-bottom: solid 1px #5cad86;
	width: 55%;
	padding: 16px 0;
	margin: 0 auto;
}
.estimate_head p{
	font-size: 13px;
	color: #5cad86;
	letter-spacing: 0.3em;
	font-weight: bold;
}
.estimate_head h2{
	font-size: 32px;
	color: #ef4300;
	letter-spacing: 0.08em;
	margin-top: 12px;
	font-weight: bold;
}
.estimate_desc{
	margin: 40px auto 30px auto;
}
.estimate_desc .estimate_catch{
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.25em;
	margin-bottom: 10px;
}
.estimate_desc .estimate_catch span{
	color: #ef4300;
}
.estimate_desc p{
	font-size: 15px;
	letter-spacing: 0.1em;
}
.estimate_form{
	width: 72%;
	margin: 0 auto;
}
.estimate_form th{
	width: 30%;
	font-weight: bold;
	font-size: 18px;
	letter-spacing: 0.25em;
	text-align: left;
	padding: 15px 0;
}
.estimate_form td{
	font-weight: bold;
	font-size: 17px;
	letter-spacing: 0.25em;
	text-align: left;
	padding: 15px 0;
}
.btn-submit{
  width: 350px;
  height: 68px;
  padding: 5px 8px;
  border: none;
  background-color: #5cad86;
  font-size: 17px;
  color: #fff;
  letter-spacing: 0.2em;
  margin-top: 20px;
  position: relative;
}
.btn-submit:hover{
	background-color: #7cbc9d;
}
.btn-submit:before{
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 10px;
	border-color: transparent transparent transparent #ffffff;
	margin-right: 15px;
}
.result,.result_error{
	display: none;
}

.btn-reset{
  width: 150px;
  height: auto;
  padding: 1px 8px;
  border: none;
  background-color: #c8c8c8;
  font-size: 12px;
  color: #fff;
  letter-spacing: 0em;
  margin: 4px auto 0 auto;
  position: relative;
  display: block;
  border-radius: 15px;
  cursor: pointer;
}
.btn-reset:hover{
	background-color: #a5a5a5;
}

/* 結果 */
.result_top{
	display: flex;
	justify-content: center;
	align-items: flex-end;
}
.result_top .age{
	margin-right: 20px;
	text-align: left;
}
.result_top .age .age_top{
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 0.2em;
	margin-bottom: 5px;
}
.result_top .age .age_post{
	font-size: 25px;
	font-weight: bold;
}
.result_top .age .age_post span{
	font-size: 45px;
	font-weight: bold;
}
.result_top .sex{
	font-size: 28px;
	font-weight: bold;
	letter-spacing: 0.2em;
}
.plan_result{
	margin: 35px auto;
	width: 92%;
	border-top: solid 1px #b2b2b2;
	border-left: solid 1px #b2b2b2;
}
.plan_result th{
	padding: 10px 0;
	text-align: center;
	border-bottom: solid 1px #b2b2b2;
	border-right: solid 1px #b2b2b2;
	color: #fff;
	font-weight: bold;
	background-color: #3994c8;
	font-size: 20px;
}
.plan_result th span{
	font-size: 15px;
	display: block;
}
.plan_result td{
	font-weight: bold;
	font-size: 19px;
	text-align: center;
	padding: 20px 0;
	border-bottom: solid 1px #b2b2b2;
	border-right: solid 1px #b2b2b2;
}
.plan_result td.td_head{
	background-color: #f6e3d1;
	font-size: 17px;
}
.conv_btn{
	margin: 10px auto;
	width: 80%;
}
.conv_btn_in{
	display: flex;
	justify-content: space-between;
}

a.appli{
	display: block;
	color: #fff;
	text-align: center;
	background-color: #d83800;
	padding: 15px 0;
	border-radius: 8px;
	width: 48%;
	font-size: 17px;
}
a.request{
	display: block;
	color: #fff;
	text-align: center;
	background-color: #ed832e;
	padding: 15px 0;
	border-radius: 8px;
	width: 48%;
	font-size: 17px;
}
a.other{
	display: block;
	color: #fff;
	text-align: center;
	background-color: #5cad86;
	padding: 15px 0;
	border-radius: 8px;
	width: 100%;
	font-size: 17px;
	margin: 12px 0;
}
a.tel{
	display: block;
	color: #fff;
	text-align: center;
	background-color: #b09a4f;
	padding: 15px 0;
	border-radius: 8px;
	width: 100%;
	font-size: 17px;
	pointer-events: none;
}
a.ret{
	display: block;
	color: #fff;
	text-align: center;
	background-color: #979797;
	padding: 15px 0;
	border-radius: 8px;
	width: 100%;
	font-size: 17px;
}
.conv_btn a:before{
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 10px;
	border-color: transparent transparent transparent #ffffff;
	margin-right: 15px;
}
.conv_btn a:hover{
	opacity: 0.7;
}
.error{
	font-weight: bold;
	font-size: 20px;
	width: 75%;
	margin: 100px auto;
	line-height: 160%;
}

.rtn{
	font-size: 13px;
	margin-top: 12px;
	text-align: center;
}

@media screen and (max-width:1025px) {
a.tel{
	pointer-events: auto;
}
}

@media screen and (max-width:769px) {

#estimate{
	width: 52%;
	padding: 20px 0;
	height: 380px;
}
.estimate_head{
	width: 70%;
	padding: 12px 0;
}

.estimate_head h2{
	font-size: 24px;
	margin-top: 8px;
}
.estimate_desc{
	margin: 25px auto 12px auto;
}
.estimate_desc .estimate_catch{
	font-size: 18px;
	letter-spacing: 0.15em;
	margin-bottom: 5px;
}
.estimate_form{
	width: 85%;
	margin: 0 auto;
}
.estimate_form th{
	width: 28%;
	font-weight: bold;
	font-size: 16px;
	letter-spacing: 0.12em;
	text-align: left;
	padding: 10px 0;
}
.estimate_form td{
	font-weight: bold;
	font-size: 17px;
	letter-spacing: 0.25em;
	text-align: left;
	padding: 15px 0;
}
.btn-submit{
  width: 86%;
  height: 54px;
  padding: 5px 8px;
    font-size: 15px;
  letter-spacing: 0.2em;
  margin-top: 15px;
}
.btn-reset{
  width: 40%;
  padding: 2px 8px;
  font-size: 11px;
  margin: 2px auto 0 auto;
}

/* 結果 */

.result_top .age{
	margin-right: 15px;
}
.result_top .age .age_top{
	font-size: 13px;
}
.result_top .age .age_post{
	font-size: 20px;
	font-weight: bold;
}
.result_top .age .age_post span{
	font-size: 40px;
}
.result_top .sex{
	font-size: 22px;
}
.plan_result{
	margin: 20px auto;
	width: 98%;
}
.plan_result th{
	padding: 8px 0;
	font-size: 16px;
}
.plan_result th span{
	font-size: 13px;
}
.plan_result td{
	font-size: 16px;
	padding: 15px 0;
}
.plan_result td.td_head{
	font-size: 14px;
}
.conv_btn{
	margin: 10px auto;
	width: 90%;
}
.conv_btn_in{
	display: flex;
	justify-content: space-between;
}

a.appli{
	padding: 11px 0;
	font-size: 15px;
}
a.request{
	padding: 11px 0;
	font-size: 15px;
}
a.other{
	padding: 11px 0;
	font-size: 15px;
	margin: 10px 0;
}
a.tel,a.ret{
	padding: 11px 0;
	font-size: 15px;
}
a.tel{
	pointer-events: auto;
}
.error{
	margin: 60px auto;
}



}

@media screen and (max-width:640px) {
#estimate{
	width: 100%;
	height: auto;
	padding: 20px 0;
	margin: 0 auto;
}
.estimate_form th{
	width: 28%;
	letter-spacing: 0.01em;

}
}
@media screen and (max-width:320px) {
.estimate_desc h4{
	font-size: 16px;
	letter-spacing: 0.15em;
}

.estimate_desc p{
	font-size: 13px;
	letter-spacing: 0.05em;
}
.estimate_form th{
	width: 30%;
	font-weight: bold;
	font-size: 16px;
	letter-spacing: 0.05em;
	text-align: left;
	padding: 15px 0;
}
.btn-submit{
  width: 88%;
    font-size: 14px;
  letter-spacing: 0.1em;
  margin-top: 10px;
}
.estimate_form td{
	font-size: 15px;
}
}

/*-------フォーム装飾-------------*/

.estimate_radio {
  display: none;
}

.estimate_radio + span {
  cursor: pointer;
  display: inline-block;
  margin: 0 0.2em 0;
  padding: 0 0 0 1.2em;
  position: relative;
}

.estimate_radio + span::before {
  -webkit-transform: translateY(-50%);
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 50%;
  content: "";
  display: block;
  height: 16px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
}

.estimate_radio + span::after {
  -webkit-transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.32);
  border: 1px solid transparent;
  border-radius: 50%;
  content: "";
  height: 4px;
  left: 4px;
  opacity: 0;
  padding: 2px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease 0s;
  width: 4px;
}

.estimate_radio:checked + span::after {
  opacity: 1;
}

.estimate_select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: transparent url(../img/common/form-css-arrow.png) no-repeat center right 8px/16px 16px;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: 1em;
  padding: 0.3em 0.3em;
  width: 22%;
}
.ye{
  width: 28%;
}
.mo{
	width: 19%;
}
.da{
	width: 19%;
}


@media screen and (max-width:640px) {
    .ye{
      width: 80%;
        margin-bottom: 5px;
    }
    .mo{
        width: 80%;
        margin-bottom: 5px;
    }
    .da{
        width: 80%;
    }
}
	
.estimate_select::-ms-expand {
  display: none;
}

.estimate_select:focus {
  border: 1px solid rgba(0, 0, 0, 0.32);
  box-shadow: none;
  outline: none;
}

@media screen and (max-width:768px) {
.estimate_select {
  background: transparent url(../img/common/form-css-arrow.png) no-repeat center right 4px/8px 8px;
}

}
	
/*-------トピック-------------*/
#topic{
	width: 100%;
	margin: 30px 0;
}
#topic li{
	width: 100%;
	margin: 10px 0;
}
#topic li img{
	width: 100%;
}

/*-------トップインフォ-------------*/

#top_info{
	margin: 100px auto;
}
.info{
	display: flex;
}
.info div{
	width: 50%;
}
.info div img{
	width: 100%;
}

.btn_detail a{
	display: block;
	width: 260px;
	background-color: #5cad86;
	color: #fff;
	letter-spacing: 0.15em;
	text-align: center;
	margin: 55px auto 0 auto;
	padding: 12px 0;
	border-radius: 32px;
	font-size: 14px;
}
.btn_detail a:before{
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 8px;
	border-color: transparent transparent transparent #ffffff;
	margin-right: 10px;
	margin-bottom: 1px;
}
@media screen and (max-width:768px) {
#top_info{
	margin: 40px auto;
}
.btn_detail a{
	margin: 25px auto 0 auto;
}
}
@media screen and (max-width:640px) {

.info{
	display: block;
}
.info div{
	width: 100%;
}

}


/*-------私たちについて-------------*/

#aboutus{
	text-align: center;
	margin: 50px 0 90px 0;
}

#top_entrance{
	text-align: center;
	margin: 120px 0 90px 0;
}

.headline_block1{
	text-align: center;
}

.headline_eng{
	color: #5cad86;
	letter-spacing: 0.25em;
	font-size: 15px;
	font-weight: bold;
}
.headline_top1{
	letter-spacing: 0.2em;
	font-size: 27px;
	font-weight: bold;
	margin: 10px 0;
}
.greeting{
	text-align: left;
	font-size: 16px;
	line-height: 210%;
	margin: 45px auto;
}


/*--続きを読む-*/

button.readmore ,button.readmore::after,
button.readmorev2 ,button.readmorev2::after {
    display: none;
}
.show-text,.hide-text,.hide-text-v2{
	font-size: 16px;
}
.hide-text {
    display: block;
}
.hide-text-v2 {
    display: table-footer-group;
}

/*--続きを読むend-*/

#enter{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.enter_block{
	width: 31%;
	margin-bottom: 30px;
	border: solid 2px #b1dec9;
	text-align: center;
	padding: 8px 0;
}
.enter_img{
	width: 96%;
	position: relative;
	margin: 0 auto;
}
.enter_img img{
	width: 100%;
	height:auto;
}

.enter_img .enter_icon{
	width: 70px;
	height: 70px;
	border-radius: 40px;
	position: absolute;
	bottom: -35px;
	left:50%;
	margin-left: -35px;
	background-color: #5ca782;
	border: solid 3px #fff;
}
.enter_img .enter_icon img{
	width: 50%;
	padding-top: 25%;
}

.enter_block h3{
	font-size: 17px;
	color: #242424;
	margin: 50px auto 14px auto;
	font-weight: bold;
	width: 90%;
	letter-spacing: 0.04em;
}
.enter_block h3:after{
	content: "";
	display: inline-block;
     width: 10px;
     height: 10px;
     border-top: solid 2px #5ca782;
     border-right: solid 2px #5ca782;
     -webkit-transform: rotate(45deg);
     transform: rotate(45deg);
     margin-left: 15px;
 }
  .enter_block p{
	font-size: 15px;
	color: #242424;
	text-align: left;
	margin: 0px auto 10px auto;
	width: 90%;
	letter-spacing: 0.04em;
}

@media screen and (max-width:768px) {
#aboutus{
	margin: 45px 0 40px 0;
}
#top_entrance{
	text-align: center;
	margin: 70px 0 40px 0;
}

.enter_block h3:after{
     width: 7px;
     height: 7px;
     margin-bottom: 1px;
 }
}
	
@media screen and (max-width:640px) {
#aboutus{
	margin: 25px 0 40px 0;
}
.greeting{

	font-size: 15px;
}
.enter_block{
	width: 100%;
}
.enter_block h3{
	font-size: 16px;
}
.enter_block h3:after{
     margin-left: 8px;
 }
 
/*--続きを読む-*/

.hide-text,.hide-text-v2 {
    display: none;
}

button.readmore ,button.readmore::after,
button.readmorev2 ,button.readmorev2::after {
    display: block;
}
 
button.readmore,
button.readmorev2 {
	font-size: 12px;
    position: relative;
    height: 80px;
    width: 90px;
    margin: 20px auto 40px auto;
    display: block;
    background-color: transparent;
    color: #666;
    padding-bottom: 40px;
    border: none;
    outline: 0;
    transition: .5s;
    -erbkit-transition: .5s;
}
 
button.readmore::after,
button.readmorev2::after {
    content: " ";
    position: absolute;
    width: 30px;
    height: 30px;
    border-top: solid 3px #666;
    border-right: solid 3px #666;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    right: 28px;
    top: 25px;
    transition: .5s;
    -erbkit-transition: .5s;
}
 
button.readmore:hover::after,
button.readmorev2:hover::after {
    top: 25px;
}
 
.on-click {
    color: transparent!important;
}
 
.on-click {
    transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
}
/*--続きを読むend-*/



}


@media screen and (max-width:768px) {
    #enter {
        display: block;
    }
    #enter.slick_enter{
        display: none;
    }
    #enter.slick_enter.slick-initialized{
        display: block; /*slick-initializedが付与されたら表示*/
    }
    .slick_enter {
        width: 100%;
    }
    .slick_enter .slick-myprev,
    .slick_enter .slick-mynext {
        position: absolute;
        top: 50%;
        transform: translateY(calc(-50% - 7px));
        z-index: 10;
        padding: 0;
        border: none;
        outline: none;
        line-height: 0px;
        font-size: 0px;
        
        width: 40px;
        height: 40px;
        margin: 10px;
        background: #e8e8e8;
        border-radius: 50%;
    }
    .slick_enter .slick-myprev {
        left: 3%;
    }
    .slick_enter .slick-mynext {
        right: 3%;
    }
    .slick_enter .slick-myprev:before,
    .slick_enter .slick-mynext:before {
        color: #839089;
        font-size: 40px;
        opacity: 1;
        
        content: "";
        display: inline-block;
        width: 10px;
        height: 10px;
        border-top: solid 2px #666;
        border-right: solid 2px #666;
        box-sizing: border-box;
    }
    .slick_enter .slick-myprev:before {
        transform: rotate(-135deg);
    }
    .slick_enter .slick-mynext:before {
        transform: rotate(45deg);
    }
    .slick_enter .enter_block {
        max-width: 345px;
        margin: 0 .05%;
    }
    .slick_enter .enter_img .enter_icon img {
        position: absolute;
        left: 50%;
        top: 0%;
        transform: translate(-50%, 0%);
    }
    *:focus {
        outline: none;
    }
}





/*-------NEWS-------------*/

#news{
	background-color: #ebf8f2;	
	width: 100%;
	padding: 130px 0;
}
.news_inner{
	display: flex;
	justify-content:space-between;
}

.link_btn1 a{
	display: block;
	background-color: #5cad86;
	color: #fff;
	padding: 2px 0;
	width: 200px;
	text-align: center;
	font-size: 14px;
	border-radius: 5px;
	letter-spacing: 0.1em;
}
.link_btn1 a:before{
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 8px;
	border-color: transparent transparent transparent #ffffff;
	margin-right: 10px;
	margin-bottom: 1px;
}
.headline_block2{
	width: 30%;
	text-align: left;
}
.headline_block2 h2{
	margin-bottom: 100px;
}

.news_list{
	width: 70%;
}
.news_list li{
	font-size: 16px;
	padding: 16px 0;
	border-bottom: solid 1px #c8c8c8;
	display: flex;
	position: relative;
}
.news_list li a{
	color: #242424;
	width: 80%;
	display: inline-block;
}
.news_list li a:hover{
	color: #5cad86;
}
.news_list li span{
	width: 15%;
	display: inline-block;
	font-size: 13px;
	color: #828282;
}

.arrow1{
    width: 9px;
    height: 9px;
    border-top: 2px solid #5cad86;
    border-right: 2px solid #5cad86;
    transform: rotate(45deg);
    transition:.2s;
    margin-right: 6px;
    margin-top: -9px;
    position: absolute;
    right: 15px;
    top:50%;
}
a:hover .arrow1{
    margin-right: 0px;
}

.important{
	background-color: #fff;
	width: 100%;
	margin: -40px 0 60px 0;
	padding: 20px 0 12px 0;
}

.important_list{
	width: 90%;
	margin: 0 auto;
}
.important_list li{
	font-size: 16px;
	padding: 16px 0;
	border-bottom: solid 1px #c8c8c8;
	display: flex;
	position: relative;
}
.important_list li:last-child{
	border-bottom: none;
}
.important_list li a{
	color: #242424;
	width: 88%;
	display: inline-block;
}
.important_list li a:hover{
	color: #5cad86;
}

.important_tag{
	margin-left: 5%;
	background-color: #cb0000;
	padding: 1px 20px;
	color: #fff;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
	margin-bottom: 10px;
}


@media screen and (max-width:768px) {
#news{
	padding: 60px 0;
}
.news_inner{
	display: block;
}
.headline_block2{
	width: 100%;
	text-align: center;
}
.headline_block2 h2{
	margin-bottom: 40px;
}
.news_list{
	width: 80%;
	margin: 40px auto 0 auto;
}
.news_list li{
	display: block;
}
.news_list li span{
	width: 110px;
	display: block;

}
.news_list li a{
	width: 93%;
}
.link_btn1 a{
	margin: 0 auto;
}

.arrow1{
    margin-right: 0px;
    right: 0px;
}
}
	
@media screen and (max-width:640px) {

.news_list{
	width: 90%;
}

}

/*-------MOVIE-------------*/

#movie{
	width: 100%;
	padding: 130px 0;
	background-color: #fafafa;
}
.movie_inner{
	display: flex;
	justify-content:space-between;
}
.movie{
width:760px;
}
.youtube{
width:100%;
padding-bottom: 56.25%;
height:0px;
position: relative;
}
.youtube > iframe{
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}

@media screen and (max-width:768px) {
#movie{
	padding: 60px 0;
}
.movie_inner{
	display: block;
}
.headline_block2{
	width: 100%;
	text-align: center;
}
.headline_block2 h2{
	margin-bottom: 40px;
}
.movie{
width:80%;
margin: 0 auto;
}
}



/*-------COLUMN-------------*/

#column{
	width: 100%;
	padding: 130px 0;
}
.column_inner{
	display: flex;
	justify-content:space-between;
}
.column_list{
	width: 70%;
}
.column_list article{
	width: 100%;
	padding: 25px 0;
	border-bottom: solid 1px #c1c1c1;
}

.column_list_inner{
	display: flex;
	justify-content: space-between;
}
.column_thum{
	/* width: 185px; */
    width: 23%; /*追加分*/
	height: auto;
	overflow: hidden;
	text-align: center;
	position: relative;
}
.column_thum:before{
	content: "";
	display: block;
	padding-top: 62%;
}
.column_thum img{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
	
	/*IE edg用*/
	object-position: center;
	font-family: 'object-fit: cover; object-position: bottom;';
}
.column_info{
	width: 75%;
}
.column_tag{
	border: solid 1px #5cad86;
	font-size: 12px;
	padding: 0 30px;
	color: #5cad86;
	text-align: center;
	display: inline-block;
}
.column_info .date{
	display: inline-block;
	font-size: 13px;
	font-weight: bold;
	color: #8f8f8f;
	margin-left: 20px;
}

.column_info h3{
	font-size: 18px;
	color: #242424;
	line-height: 160%;
	margin-top: 12px;
}

@media screen and (max-width:768px) {
#column{
	padding: 60px 0;
}
.column_inner{
	display: block;
}
.column_list{
	/* width: 88%; */
	/* margin: 40px auto 0 auto; */
    width: 100%;
	margin: 28px auto 0 auto;
}
.column_info{
	/* width: 65%; */
    width: 60%;
}
.column_thum{
    align-self: baseline;
    width: 36%;
}
.column_info .date {
    font-size: 12px;
}
.column_info h3{
    font-size: 14px;
    font-weight: bold;
}
}





/* トップインフォメーション　*/

.top_info {
    display: flex;
    justify-content: center;
    align-items: center;
/*    width: 1000px;*/
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", 'Avenir', 'Heebo', 'Helvetica',"Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Meiryo", "メイリオ", sans-serif;
    white-space: nowrap;
}
.top_info_left {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 40px;
}
.top_info_left_inner_l {
    margin-right: 12px;
}
.inner_l_top {
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.005em;
    line-height: 1;
    color: #ffffff;
    padding: 2px 6px;
    background: #e26084;
}
.inner_l_top span {
    font-size: 46px;
    margin-right: 3px;
}
.inner_l_bottom {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.001em;
    line-height: 1;
    margin-top: 6px;
    margin-left: 3px;
}
.inner_l_bottom span {
    font-size: 30px;
    margin-left: 5px;
}
.top_info_left_inner_r {}
.inner_r_top {
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 0.005em;
    line-height: 0.8;
    color: #2d83bc;
}
.inner_r_top span {
    font-size: 70px;
    letter-spacing: -2px;
    margin-right: 5px;
}
.inner_r_bottom {
    font-size: 18px;
    letter-spacing: 0.001em;
    line-height: 1;
    margin-top: 6px;
    margin-left: 3px;
}
.top_info_right {}
.top_info_right_inner_top {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1;
    margin-bottom: 10px;
}
.top_info_right_inner_top span {
    font-size: 35px;
    color: #e26084;
    display: inline-block;
    margin-top: 10px;
/*    margin-right: 10px;*/
}
.top_info_right_inner_top span span {
    font-size: 28px;
    margin-top: -5px;
    margin-left: 4px;
    margin-right: 6px;
}
.top_info_right_inner_bottom {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.001em;
    line-height: 1;
}
.top_info_right_inner_bottom span {
    font-size: 29px;
    color: #e26084;
    margin-left: 3px;
    margin-right: 3px;
    letter-spacing: -2px;
}
@media screen and (max-width:767px) {
    .top_info {
        display: block;
        width: 100%;
        white-space: nowrap;
    }
    .top_info_left {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-right: 0;
        margin-bottom: 3px;
    }
    .top_info_left_inner_l {
/*        margin-right: 8px;*/
        margin-right: 4px;
    }
    .inner_l_top {
        font-size: 18px;
        letter-spacing: 0.005em;
        line-height: 1;
        padding: 2px 6px;
    }
    .inner_l_top span {
/*        font-size: 36px;*/
        font-size: 34px;
        margin-right: 3px;
    }
    .inner_l_bottom {
        font-size: 18px;
        letter-spacing: 0.001em;
        line-height: 1;
        margin-top: 6px;
        margin-left: 3px;
    }
    .inner_l_bottom span {
        font-size: 22px;
        margin-left: 5px;
    }
    .top_info_left_inner_r {}
    .inner_r_top {
        font-size: 31px;
        font-weight: 800;
        letter-spacing: -2px;
        line-height: 0.8;
    }
    .inner_r_top span {
/*        font-size: 54px;*/
        font-size: 53px;
    }
    .inner_r_bottom {
        font-size: 15px;
        letter-spacing: 0.001em;
        line-height: 1;
        margin-top: 8px;
        margin-left: -3px;
    }
    .top_info_right {
        display: table;
        margin: auto;
        text-align: center;
    }
    .top_info_right_inner_top {
        font-size: 18px;
        letter-spacing: -1px;
        line-height: 1;
        margin-bottom: 10px;
    }
    .top_info_right_inner_top span {
        font-size: 30px;
        margin-top: 10px;
    }
    .top_info_right_inner_top span span {
/*        font-size: 25px;*/
        font-size: 23px;
        letter-spacing: -1px;
        margin-top: -5px;
        margin-left: 2px;
        margin-right: 4px;
    }
    .top_info_right_inner_bottom {
        font-size: 14px;
        letter-spacing: -1px;
        line-height: 1;
    }
    .top_info_right_inner_bottom span {
/*        font-size: 21px;*/
        font-size: 20px;
        margin-left: 3px;
        margin-right: 3px;
        letter-spacing: -1px;
    }
}
@media screen and (max-width:390px) {
    .top_info_right_inner_bottom {
        font-size: 13px;
    }
}
@media screen and (max-width:374px) {
    .top_info {}
    .top_info_left {
        margin-right: 0;
        margin-bottom: 3px;
    }
    .top_info_left_inner_l {
        margin-right: 5px;
    }
    .inner_l_top {
        font-size: 12px;
        letter-spacing: 0.005em;
        line-height: 1;
        padding: 1px 4px;
    }
    .inner_l_top span {
        font-size: 29px;
        margin-right: 3px;
    }
    .inner_l_bottom {
        font-size: 14px;
        letter-spacing: 0.001em;
        line-height: 1;
        margin-top: 4px;
        margin-left: 3px;
    }
    .inner_l_bottom span {
        font-size: 18px;
        margin-left: 5px;
    }
    .top_info_left_inner_r {}
    .inner_r_top {
        font-size: 23px;
        font-weight: 800;
        letter-spacing: -2px;
        line-height: 0.8;
    }
    .inner_r_top span {
        font-size: 43px;
        margin-right: 3px;
    }
    .inner_r_bottom {
        font-size: 12px;
        letter-spacing: 0.001em;
        line-height: 1;
        margin-top: 8px;
        margin-left: -3px;
    }
    .top_info_right {}
    .top_info_right_inner_top {
        font-size: 12px;
        letter-spacing: -1px;
        line-height: 1;
        margin-bottom: 4px;
    }
    .top_info_right_inner_top span {
        font-size: 23px;
        margin-top: 8px;
    }
    .top_info_right_inner_top span span {
        font-size: 18px;
        letter-spacing: -1px;
        margin-top: -5px;
        margin-left: 2px;
        margin-right: 4px;
    }
    .top_info_right_inner_bottom {
        font-size: 10px;
        letter-spacing: -1px;
        line-height: 1;
    }
    .top_info_right_inner_bottom span {
        font-size: 16px;
        margin-left: 3px;
        margin-right: 3px;
        letter-spacing: -1px;
    }
}




/*  20221104追記 各種お手続きについて   */
.bg_c_gray {
    background: #f0f0f0;
}
.in_arrow_2 {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 0 30px 20px;
    border-color: transparent transparent transparent #4c8dcb;
    margin: auto;
}
.wfull {
    margin: 20px 0 60px 0;
    padding: 2em 0em;
}
.main_area {
    display: flex;
    margin: 40px 0;
    counter-reset:number; /*数字をリセット*/
    list-style-type: none!important; /*数字を一旦消す*/
}
.main_box {
    width: 20%;
    margin: 15px;
    background-color: #4c8dcb;
    border: solid 4px #4c8dcb;
}
.main_box p:last-child {
    padding: 15px;
    background: #fff;
    border-top: solid 3px #4c8dcb;
}
.main_box_title {
    position: relative;
    padding: 0.5em;
    line-height: 1.5em;
    font-weight: bold;
    color: #fff;
    background: #4c8dcb;
    border-left : solid 35px #fff;
}
.main_box_title:before{
    /* 以下数字をつける */
    position: absolute;
    counter-increment: number 1;
    content: counter(number);
    /*数字のデザイン変える*/
    display:inline-block;
    color: #4c8dcb;
    font-family: 'Avenir','Arial Black','Arial',sans-serif;
    font-weight:bold;
    font-size: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: -35px;
    width: 35px;
    height: 1em;
    line-height: 1;
    text-align: center;
  }
@media screen and (max-width: 680px) {
    .main_area {
        display: block;
    }
    .main_box {
        width: 85%;
        margin: 0 auto;
    }
    .in_arrow_2 {
        border-width: 20px 30px 0 30px;
        border-color: #4c8dcb transparent transparent transparent;
        margin: 10px auto;
    }
}

/* 20221108追記　トップページ　葬儀にかかる費用 */
.top_show-text{
    margin-bottom: 20px;
	font-size: 16px;
}


/* 20231124追記　トップページ　保険の責任開始／ご契約の流れ */
#insurance,
#flow {
    margin-bottom: 80px;
    padding-bottom: 50px;
}
.top_point_inner {
	margin-left: 20px;
}
#flow .top_flow_block .main_area {
	margin-bottom: 0px;
}
.top_flow_block h3 {
	color: #5cad86;
	font-size: 20px;
    font-weight: bold;
	margin-top: 40px;
}
.flow_main_box {
    width: 30%;
    margin: 0 10px 15px 10px;
}
.flow_main_box_title {
    position: relative;
    padding-bottom: 0.5em;
    border-left: solid 40px #fff;
    font-weight: 500;
}
.flow_main_box_title:before {
    /* 以下数字をつける */
    position: absolute;
    counter-increment: number 1;
    content: counter(number) "、";
    display:inline-block;
    font-size: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: -20px;
    width: 20px;
    height: 1.1em;
    line-height: 0.5;
    text-align: center;
}
.flow_in_arrow {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 0 30px 20px;
    border-color: transparent transparent transparent #5cad86;
    margin: 4em auto;
}
.top_flow_block .flow_icon {
	width: 100px;
	height: 100px;
	border: solid 1px #ececec;
	text-align: center;
}
.top_flow_block .flow_icon img {
	width: 50%;
	margin-top: 25%;
}

@media screen and (max-width: 1101px) and (min-width: 768px) {
    .flow_main_box_title.exc_first {
        margin-bottom: 32px;
    }
}
@media screen and (max-width: 722px) and (min-width: 681px) {
    .flow_main_box_title.exc_first {
        margin-bottom: 32px;
    }
}

@media screen and (max-width: 680px) {
    #flow .top_flow_block .main_area {
        margin-bottom: 180px;
    }
    .flow_main_box {
        width: 95%;
    }
    .flow_in_arrow {
        border-width: 20px 30px 0 30px;
        border-color: #5cad86 transparent transparent transparent;
        margin: 2em auto;
    }
    .flow_main_box_title {
        border-left: solid 80px #fff;
    }
    .flow_main_box_title:before {
		height: 0.1em;
    }
    .flow_p {
        margin: 15px 0 20px 0;
        float: left;
        width: calc(100% - 120px);
    }
    .top_flow_block .flow_icon {
        float: left;
        margin-right: 15px;
    }
    .f_clear {
		clear: both;
	}
}

@media screen and (max-width:767px) {
    .flow_main_box_title:before {
        top: 30%;
    }
}

@media screen and (max-width:736px) {
    #insurance,
    #flow {
        padding-bottom: 10px;
    }
    .top_point_inner {
        margin-left: 1%;
    }
}


/* 20240208追記　トップページ　トピック追加 */
#topSummary {
	margin: 80px 0 -20px 0;
}
#contents_head {
	font-weight: bold;
	font-size: 36px;
	line-height: 160%;
}
#contents_head span {
	color: #e37116;
}
/* こんな方におすすめ */
#recommend {
    margin-bottom: 60px;
	padding-bottom: 50px;
	background-color: #FFF0D5;
    width: 100%;
	text-align: center;
}
/* ご検討に際してご留意いただきたい事項 */
#notes {
	margin: 120px 0 90px 0;
}
.notes_head {
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	background-color: #5cad86;
    width: 350px;
    border-radius: 8px;
    text-align: center;
	padding: 8px 12px;
	margin-bottom: 30px;
	line-height: 160%;
}
.notes_desc {
	font-size: 18px;
    width: 99%;
}
.notes_desc li {
	text-indent: -1em;
	margin-left: 1.5em;
	list-style-type: none;
	margin-bottom: 28px;
    line-height: 130%;
}
.notes_desc .notes_indent {
	text-indent: 1em;
}
.under {
    text-decoration: underline;
}
/* お客様の声 */
#topVoice {
	margin-top: 50px;
}
#topVoice .customer_attention {
	text-align: center;
}
#topVoice .customer_attention a {
	color: #5cae86;
	font-size: 18px;
	text-decoration: underline;
}
#topVoice .customer_image {
	background-color: #ffffff;
}
.slide-wrapper {
    width: 100%;
    position: relative;
    overflow: hidden; /* はみ出したスライドを隠す */
    margin-bottom: 20px;
}
.slide {
    width: 300%;
    display: flex;
    transition: all 0.3s;
}
.slide article {
    width: 33.33%;
    height: 100%;
	margin: 30px 5px 60px 5px;
	border: solid 1px #dfdfdf;
	padding: 20px 0;
	display: flex;
	justify-content: space-between;
    background-color: #ffffff;
}
/* スライドさせるために必要なクラス */
.slide1 {
    transform: translateX(0);
}
.slide2 {
    transform: translateX(-33.33%);
}
.slide3 {
    transform: translateX(-66.66%);
}
/* 左右のボタン */
.next {
    position: absolute;
    right: 10px;
    bottom: 5%;
    z-index: 10;
    cursor: pointer;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 0 15px 26px;
    border-color: transparent transparent transparent #5cae86;
}
.prev {
    position: absolute;
    left: 10px;
    bottom: 5%;
    z-index: 10;
    cursor: pointer;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 26px 15px 0;
    border-color: transparent #5cae86 transparent transparent;
}
.next:hover,
.prev:hover {
    opacity: 0.6;
}

@media screen and (max-width:768px) {
    #productRecommend .w1200 {
        width: 100%;
    }
    #recommend {
        margin-top: 40px;
        margin-bottom: 30px;
        padding-bottom: 30px;
    }
    #notes{
        margin: 70px 0 40px 0;
    }
    #topVoice {
    	margin: 50px 0 -35px 0;
    }
}

@media screen and (max-width:767px) {
    #topSummary {
    	margin: 40px 0 -15px 0;
    }
    #contents_head {
        font-size: 25px;
    }
    .notes_desc {
        font-size: 16px;
    }
    #topVoice .customer_image {
        width: 20%;
    }
}

@media screen and (max-width:640px) {
    #topSummary {
        margin: 40px 0px -10px 0px;
    }
    #contents_head {
        font-size: 21px;
        line-height: 140%;
    }
    #topVoice {
    	margin: 30px 0 0px 0;
    }
    #topVoice .customer_attention a {
		font-size: 17px;
	}
    #topVoice .customer_image {
        width: 30%;
    }
    .prev,
    .next {
        bottom: 4%;
    }
}

@media screen and (max-width:450px) {
    #contents_head {
        font-size: 18px;
    }
    .notes_head {
        width: 342px;
        padding: 8px 5px;
        margin-bottom: 28px;
        line-height: 130%;
        font-size: 17px;
    }
    #topVoice .customer_image {
        width: 35%;
    }
    #topVoice .customer_info {
        margin-right: 5%;
    }
    .prev,
    .next {
        bottom: 3.5%;
    }
}


/* 20240417追記　トップページ　加入実績 */
.achievement_head {
	width: 80%;
	font-size: 30px;
	line-height: 1.2em;
	font-weight: bold;
	color: #444444;
	margin: auto;
	padding: 15px;
	text-align: center;
	border-top: solid 2px #5cad86;
    border-bottom: solid 2px #5cad86;
    margin-bottom: 20px;
}
#achievement {
	margin: 90px 0 80px 0;
}
#achievement .achieve_flex {
	width: 100%;
    display: flex;
	justify-content: space-between;
}
#achievement .graph {
	width: 80%;
	margin: 40px auto;
}
#achievement .graph img {
	width: 100%;
}
#achievement .graph h3 {
	font-size: 19px;
	font-weight: bold;
	padding: 12px 0;
	margin-bottom: 10px;
}
#achieve_example {
	margin: 80px 0 90px 0;
}
#achieve_example .achieve {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin: 50px 0 80px 0;
}
#achieve_example .achieve_image {
	margin-top: 15px;
}
#achieve_example .achieve_text {
	margin-left: 3%;
}
#achieve_example .achieve_text h3 {
    font-size: 1.2em;
    font-weight: bold;
    margin-top: 18px;
}
#achieve_example .achieve_text p {
	margin: 16px 0;
}
#achieve_example .achieve_voice {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
}
#achieve_example .voice_image {
	width: 30%;
	border-radius: 100%;
}
#achieve_example .voice_image .image {
	width: 100%;
	border-radius: 100%;
}
#achieve_example .voice_text {
	margin-left: 3%;
}
#achieve_example .voice_text h3 {
    font-size: 1.4em;
    font-weight: bold;
    margin: 20px 0;
}
#achieve_example .voice_text p {
	margin: 16px 0;
}
/* 加入実績例スライダー */
.achieve-slide-wrapper {
    width: 100%;
    position: relative;
    overflow: hidden; /* はみ出したスライドを隠す */
}
.achieve_slide {
    width: 300%;
    display: flex;
    transition: all 0.3s;
}
.achieve_slide .ac_item {
    width: 33.33%;
    height: 100%;
	/* border: solid 1px #dfdfdf; */
	padding: 0px 1px;
}
/* スライドさせるために必要なクラス */
.achieve_slide1 {
    transform: translateX(0);
}
.achieve_slide2 {
    transform: translateX(-33.33%);
}
.achieve_slide3 {
    transform: translateX(-66.66%);
}
/* 左右のボタン */
.achieve_next {
    position: absolute;
    right: 10px;
    bottom: 5%;
    z-index: 10;
    cursor: pointer;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 0px 30px 30px;
    border-color: transparent transparent transparent #5cae86;
}
.achieve_prev {
    position: absolute;
    left: 10px;
    bottom: 5%;
    z-index: 10;
    cursor: pointer;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 30px 30px 0;
    border-color: transparent #5cae86 transparent transparent;
}
.achieve_next:hover,
.achieve_prev:hover {
    opacity: 0.6;
}

@media screen and (max-width:767px) {
    .achievement_head {
        width: 90%;
        padding: 10px;
        font-size: 18px;
    }
    #achievement {
        margin: 40px 0 40px 0;
    }
    #achievement .graph h3 {
        font-size: 15px;
    }
    #achievement .achieve_flex {
        margin: 40px auto;
        width: 100%;
        display: block;
    }
    #achieve_example {
        margin: 50px 0 40px 0;
    }
    #achieve_example .achieve {
        display: block;
        width: 100%;
        margin: 0px auto;
    }
    #achieve_example .achieve_image img {
        width: 60%;
    }
    #achieve_example .achieve_text p {
        font-size: 1em;
        margin: 10px auto;
    }
    #achieve_example .achieve_text h3 {
        font-size: 1.1em;
        margin-top: 13px;
    }
    #achieve_example .achieve_voice {
        display: block;
        width: 100%;
        margin: 0px auto;
    }
    #achieve_example .voice_image .image {
        margin-top: 15px;
    }
    #achieve_example .voice_text p {
        font-size: 1em;
        margin: 10px auto;
    }
    #achieve_example .voice_text h3 {
        font-size: 1.1em;
    }
    .achieve-slide-wrapper {
        padding-bottom: 60px;
    }
    .achieve_prev,
    .achieve_next {
        bottom: 1%;
    }
}


/* 20240823追記　ファーストビュー検証①の結果本番反映 */
#kv_inner .w1200{
    margin: 0 80px;
}
#kv_inner .newyear_inner{
	margin: 0 auto;
}

/* 資料請求ボタン */
#top_cta_wrap{
    text-align: center;
    padding-top: 9px;
}
#top_cta_wrap p{
    font-size: 18px;
    font-weight: bold;
}
#top_cta_wrap a{
    font-size: 19px;
    font-weight: bold;
    color: #fff;
    background-color: #ed832e;
    border-radius: 5px;
    display: block;
	margin: 0 auto;
	padding: 18px 0;
	width: 500px;
}
#top_cta_wrap a:hover{
    background-color: #f39448;
}
#top_cta_wrap a.shiryo span{
    background-image: url(../img/common/icon_shiryo.png);
	padding: 20px 0 20px 45px;
	background-size: 30px auto;
	background-repeat: no-repeat;
	background-position: left center;
	white-space: nowrap;
}

@media screen and (max-width:767px) {
#top_cta_wrap p{
    font-size: 15px;
}
#top_cta_wrap a{
	font-size: 16px;
	width: 330px;
}
#top_cta_wrap a.shiryo span{
	background-size: 25px auto;
	padding: 20px 0 20px 40px;
}
}

@media screen and (max-width:640px) {
#top_cta.sp_cta_hide{
    display: none;
}
#top_cta_wrap p{
    font-size: 14px;
}
#top_cta_wrap a{
	font-size: 15px;
}
}

/* キャッチコピー */
.catch_block{
    position: absolute;
    top: 15px;
    right: 25%;
}
.catch_block h2{
    text-align: center;
    font-size: 36px;
    font-weight: 900;
    letter-spacing: -0.01em;
    line-height: 1.2;
    text-shadow: 4px 4px 4px #ffffff, -4px -4px 4px #ffffff,
-4px 4px 4px #ffffff,  4px -4px 4px #ffffff,
4px 0 4px #ffffff, -4px  0 4px #ffffff,
0 4px 4px #ffffff,  0 -4px 4px #ffffff;
}
.catch_block h2 p{
    margin-top: -5px;
    margin-bottom: -43px;
}
.catch_block h2 span.catch_accent{
    color: #e26084;
}
.catch_block h2 span.catch_age{
    font-size: 54px;
    letter-spacing: 0em;
}

@media screen and (max-width:1500px) {
    .catch_block{
        right: 18%;
    }
}

@media screen and (max-width:1370px) {
    /* かんたん見積 */
    #kv_inner #estimate{
        width: 39%;
    }
    #kv_inner .estimate_head h2{
        font-size: 25px;
        letter-spacing: 0.01em;
    }
    #kv_inner .estimate_form th{
        width: 25%;
        font-size: 15px;
        letter-spacing: 0.01em;
    }
    #kv_inner .estimate_form td{
        font-size: 15px;
    }
}

@media screen and (max-width:1300px) {
    .catch_block{
        right: 13%;
    }
}
@media screen and (max-width:1200px) {
    #kv_inner .w1200{
        width: 92%;
        margin: 0 10px;
    }
    .catch_block h2{
        font-size: 32px;
    }
    .catch_block h2 p{
        margin-top: -7px;
        margin-bottom: -40px;
    }
    .catch_block h2 span.catch_age{
        font-size: 50px;
    }
    /* かんたん見積 */
    #kv_inner #estimate{
        width: 44%;
    }
}

@media screen and (max-width:770px) {
    .catch_block{
        right: 5%;
    }
}
@media screen and (max-width:769px) {
    /* かんたん見積 */
    #kv_inner #estimate{
        width: 38%;
    }
    #kv_inner .estimate_head h2{
        font-size: 24px;
    }
    #kv_inner .estimate_form th{
        width: 28%;
        font-size: 16px;
        letter-spacing: 0.12em;
    }
    #kv_inner .estimate_form td{
        font-size: 17px;
    }
}

@media screen and (max-width:767px) {
    .catch_block h2{
        font-size: 26px;
        text-shadow: 2px 2px 2px #ffffff, -2px -2px 2px #ffffff,
-2px 2px 2px #ffffff,  2px -2px 2px #ffffff,
2px 0 2px #ffffff, -2px  0 2px #ffffff,
0 2px 2px #ffffff,  0 -2px 2px #ffffff;
    }
    .catch_block h2 p{
        margin-top: -4px;
        margin-bottom: -30px;
    }
    .catch_block h2 span.catch_age{
        font-size: 38px;
    }
    /* かんたん見積 */
    #kv_inner #estimate{
        width: 52%;
    }
    #kv_inner .estimate_head h2{
        letter-spacing: 0.08em;
    }
}

@media screen and (max-width:640px) {
    .catch_block h2{
        font-size: 24px;
    }
    .catch_block h2 p{
        margin-top: -4px;
        margin-bottom: -25px;
    }
    .catch_block h2 span.catch_age{
        font-size: 35px;
    }
    /* かんたん見積 */
    #kv_inner #estimate{
        width: 100%;
        background-color: #ebf8f2;
    }
    #kv_inner .estimate_form th{
        width: 28%;
        letter-spacing: 0.01em;
    }
    #kv_newyear #estimate{
        background-color: rgba(255,255,255,0.9);
    }
}

@media screen and (max-width:490px) {
    .catch_block{
        right: 20%;
    }
}
@media screen and (max-width:450px) {
    .catch_block{
        right: 18%;
    }
}
@media screen and (max-width:400px) {
    .catch_block{
        right: 15%;
    }
}

/* 訴求ポイント */
.appeal_block{
    position: absolute;
    top: 250px;
    right: 30px;
}
.appeal_block .appeal{
    background-color: #ffffff;
    box-shadow: 0 0 8px gray;
	margin: 20px 0px;
	border-radius: 8px;
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 120%;
    padding: 25px 10px;
}
.appeal_block .appeal span{
    font-size: 24px;
    color: #e26084;
    margin-right: 1px;
    letter-spacing: -1px;
}

@media screen and (max-width:1500px) {
    .appeal_block .appeal{
        font-size: 18px;
        font-weight: bold;
        padding: 25px 5px;
    }
    .appeal_block .appeal span{
        font-size: 22px;
    }
}

@media screen and (max-width:1370px) {
    .appeal_block{
        display: flex;
        justify-content: center;
        margin-top: 310px;
    }
    .appeal_block .appeal{
        width: 25%;
        margin: 0px 6px;
        padding: 10px;
    }
    .appeal_block .appeal span{
        font-size: 20px;
    }
    .appeal_block .appeal p{
        padding-top: 23px;
    }
}

@media screen and (max-width:768px) {
    .appeal_block{
        margin-top: 160px;
    }
    .appeal_block .appeal{
        width: 30%;
        font-size: 16px;
        letter-spacing: 0em;
    }
    .appeal_block .appeal span{
        font-size: 18px;
    }
    .appeal_block .appeal p{
        padding-top: 18px;
    }
}

@media screen and (max-width:767px) {
    .appeal_block{
        margin-top: 150px;
        margin-right: -30px;
        width: 355px;
    }
    .appeal_block .appeal{
        margin: 0px 0 0 5px;
        font-size: 15px;
        padding: 15px 2px;
    }
    .appeal_block .appeal span{
        font-size: 16px;
    }
    .appeal_block .appeal p{
        padding-top: 10px;
    }
    .appeal_block .appeal br.pc {
        display: none;
    }
}

@media screen and (max-width:640px) {
    .appeal_block{
        margin-top: 135px;
        width: auto;
    }
    .appeal_block .appeal{
        width: 29%;
        margin: 0px 5px;
        font-size: 14px;
        padding: 15px 5px;
    }
    .appeal_block .appeal span{
        font-size: 15px;
    }
}

@media screen and (min-width:482px) and (max-width:640px) {
    .appeal_block .appeal p{
        padding-top: 0px;
    }
}
