@charset "utf-8";
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html {
    font-size: 62.5%;
}
body{
    font-family: -apple-system, BlinkMacSystemFont, GeneralFonts, Hiragino Kaku Gothic ProN, Yu Gothic Medium, YuGothic-Medium, 游ゴシック Medium, YuGothic, 游ゴシック, Meiryo, Helvetica Neue, Segoe UI, sans-serif;
    color: #34333C;
}
.center{text-align:center;}
.left{text-align:left;}
.right{text-align:right;}
.bold{font-weight:700;}
a{
	text-decoration: none;
	color:#3366CF;/* リンク色 */
    word-break: break-all;
    text-indent: 0;}
a:hover{
	text-decoration: none;}

.maker{/* マーカー背景色 */
	background: linear-gradient(transparent 0%, #fff9d5 0%);
}

/* 色設定ここから */

/* 水色 */
.medical .color,
.medical .contents_box .accordion h2,
.medical .contents_box h4 span,
.medical .navi_list li:hover::after,
.medical .navi_list li:hover a,
.medical .navi_list li.btn:after,
.medical .navi_list li.btn a{
	color: #2BA4B7;
}
.medical .bg_color,
.medical .contents_box h4 span:before,
.medical .contents_box h4 span:after{
	background-color: #2BA4B7;
}
.medical .contents_box .accordion section h3:after {
background: -webkit-repeating-linear-gradient(-45deg, #2BA4B7, #2BA4B7 3px, #f1f1f1 3px, #f1f1f1 6px);
  background: repeating-linear-gradient(-45deg, #2BA4B7, #2BA4B7 3px, #f1f1f1 3px, #f1f1f1 6px);
}
/* 赤 */
.life .color,
.life .contents_box .accordion h2,
.life .contents_box h4 span,
.life .navi_list li:hover::after,
.life .navi_list li:hover a,
.life  .navi_list li.btn:after,
.life  .navi_list li.btn a{
	color: #E9393F;
}
.life .bg_color,
.life .contents_box h4 span:before,
.life .contents_box h4 span:after{
	background-color: #E9393F;
}
.life .contents_box .accordion section h3:after {
background: -webkit-repeating-linear-gradient(-45deg, #E9393F, #E9393F 3px, #f1f1f1 3px, #f1f1f1 6px);
  background: repeating-linear-gradient(-45deg, #E9393F, #E9393F 3px, #f1f1f1 3px, #f1f1f1 6px);
}

/* 緑 */
.accident .color,
.accident .contents_box .accordion h2,
.accident .contents_box h4 span,
.accident .navi_list li:hover::after,
.accident .navi_list li:hover a,
.accident .navi_list li.btn:after,
.accident .navi_list li.btn a{
	color: #5ea538;
}
.accident .bg_color,
.accident .contents_box h4 span:before,
.accident .contents_box h4 span:after{
	background-color: #5ea538;
}
.accident .contents_box .accordion section h3:after {
background: -webkit-repeating-linear-gradient(-45deg, #5ea538, #5ea538 3px, #f1f1f1 3px, #f1f1f1 6px);
  background: repeating-linear-gradient(-45deg, #5ea538, #5ea538 3px, #f1f1f1 3px, #f1f1f1 6px);
}
/* 色設定ここまで */

/*************************************************
PC
**************************************************/
.only_pc{display: block!important;}
.only_sp{display: none!important;}
.pd_t_b_50{padding: 50px 0;}
.pd_t_b_40{padding: 40px 0;}
.pd_t_b_30{padding: 30px 0;}
.pd_t_b_20{padding: 20px 0;}
.pd_t_b_10{padding: 10px 0;}
.mt_60{margin-top: 60px;}
.mt_50{margin-top: 50px;}
.mt_40{margin-top: 40px;}
.mt_30{margin-top: 30px;}
.mt_20{margin-top: 20px;}
.mt_15{margin-top: 15px;}
.mt_10{margin-top: 10px;}
.pb_60{padding-bottom: 60px;}
.pb_20{padding-bottom: 20px;}
.w1100{width:1100px;margin:0 auto;}
.w1000{width:1000px;margin:0 auto;}
.w950{width:950px;margin:0 auto;}
.w900{width:900px;margin:0 auto;}

.note,
.notice{
    font-size: 1.4rem;
}
.notice{
    padding-left: 1.5em;
    position: relative;
}
.notice:before{
    content: "※";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
}
.indent{
 padding-left: 1em;
text-indent: -1em;
}

#topiclist_area{
	width:1100px;
	margin: 0 auto;
	padding: 15px 0;
    /*display: flex;
	justify-content: space-between;*/
}

div#topiclist{
    display: block;
    padding: 12px 0;
}
#topiclist ul{
	/*width:1100px;
	margin: 0 auto;*/
    display: flex;
}
#topiclist li{
	font-size: 1.4rem;
}
#topiclist li a{
	color:#333333;
	display:inline-block;
	margin-right:7px;
	padding-right:18px;
	background:url("../../common2/img/common/com_ic12.gif") no-repeat right 50%;
	padding-top:3px;
	padding-bottom:1px;
	text-decoration:none;
}
#topiclist li a:hover{
	text-decoration:underline;
}
#topiclist li span{
	color:#333333;
	display:inline-block;
	padding-top:3px;
	padding-bottom:1px;
	font-weight:bold;
}
 .bnr{
text-align: center;
    }
    .bnr img {
        width: 760px;
    }

@media (max-width: 780px) {
#topiclist_area{
	width:auto;
	margin: 0 15px;
    display: block;
	padding: 8px 0;
}
#topiclist ul{
	width:auto;
	margin: 0;
}
	#topiclist li{
	font-size: 1.1rem;
}
    .bnr img {
        width: 95%;
    }
}

/*contents-------------*/
#mv{
	width: 1100px;
	margin: 0 auto;
}
.btn_pink{
	text-align: center;
}
.btn_pink a {
    width: 700px;
    display: block;
    margin: 0 auto;
    padding: 18px 0 15px;
    /*background: linear-gradient(80deg, #ff418d 0%, #b60081 100%);*/
	background: #b50081;
    color: #ffffff;
    font-weight: bold;
    font-size: 2.4rem;
    position: relative;
    border-radius: 999px;
    text-decoration: none;
     box-shadow: 0px 3px 4px #cdc2c8; 
}
a.btn_pink_white {
	background: #ffffff;
    color: #b50081;
	border: 4px solid #b50081;
}
a.btn_blue {
	background: #65a8dc;
}
a.btn_green {
	background: #8cc76d;
}
a.btn_orange {
	background: #f08537;
}
.btn_pink a:hover{
	opacity: 0.8;
}
.btn_pink_half{
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
}
.btn_pink_half a {
    width: 48%;
    font-size: 1.8rem;
	margin: 0;
}
.contents_box{
	width: 1100px;
	margin: 0 auto;
}
.contents_box .accordion h2 {
    display: flex;
    font-size: 5.5rem;
    font-weight: bold;
    justify-content: center;
    align-items: center;
	margin: 100px 0 25px;
}
.contents_box .accordion h2 img {
  width: 145px;
	margin-left: 20px;
}
.contents_box .accordion section{
  background: #F1f1f1;
  padding: 50px;
}
.contents_box .accordion section h3 {
	position: relative;
  margin-bottom: 25px;
  padding-bottom: 40px;
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: -1px;
text-align: center;
  line-height: 1.5;
}

.contents_box .accordion section h3:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 7px;
}
.contents_box .accordion section h3 + p {
  text-align: left;
  font-size: 1.8rem;
  line-height: 1.8;
}
.contents_box .accordion section h3 + p span {
  color: #E9393F;
  font-weight: bold;
}

.space-between_list{
	display: flex;
	gap:15px;
	justify-content: space-between;
	flex-wrap: wrap;
}
.space-between_list li{
	width: 48%;
}
.space-between_list li.w_p_30{
	width: 30%
}

.contents_box h4 {
  position: relative;
font-size: 2.8rem;
	font-weight: bold;
	text-align: center;
	margin: 50px auto 30px;
}
.contents_box h4 span{
	position: relative;
	padding: 0 55px;
	display: inline-block;
}
.contents_box h4 span:before,
.contents_box h4 span:after{
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 2px;
  background-color: black;
}

.contents_box h4 span:before {
  left:0;
}
.contents_box h4 span:after {
  right: 0;
}



/*************************************************
SP
**************************************************/
@media screen and (max-width: 780px) {
.only_sp{display: block!important;}
.only_pc{display: none!important;}
.pd_t_b_50{padding: 35px 0;}
.pd_t_b_40{padding: 30px 0;}
.pd_t_b_30{padding: 20px 0;}
.pd_t_b_20{padding: 15px 0;}
.pd_t_b_10{padding: 5px 0;}
.mt_50{margin-top: 30px;}
.mt_40{margin-top: 25px;}
.mt_30{margin-top: 20px;}
.mt_20{margin-top: 15px;}
.mt_15{margin-top: 10px;}
.mt_10{margin-top: 5px;}
.pb_60{padding-bottom: 40px;}
.pb_30{padding-bottom: 20px;}
.pb_20{padding-bottom: 15px;}
.w1100,.w1000,.w950,.w900{
	width:auto;
	margin:0 15px;
}
.note,
.notice{
    font-size: 1.2rem;
}
.notice{
    padding-left: 1.5em;
}
	
/* 色設定ここから */

/* 水色 */
.medical .contents_box .accordion section h3{
		color: #2BA4B7;
	}
.medical .contents_box .accordion h2,
.medical .contents_box .accordion h2.on{
	background-color: #2BA4B7;
}
/* 赤 */
.life .contents_box .accordion section h3{
		color: #E9393F;
	}
.life .contents_box .accordion h2,
.life .contents_box .accordion h2.on{
	background-color: #E9393F;
}

/* 緑 */
.accident .contents_box .accordion section h3{
		color: #5ea538;
	}
.accident .contents_box .accordion h2,
.accident .contents_box .accordion h2.on{
	background-color: #5ea538;
}
/* 色設定ここまで */
/*contents-------------*/
#mv{
	width: 100%;
}
a.btn_pink_white {
	border: 2px solid #b50081;
}
.btn_pink{
	text-align: center;
}
.btn_pink a {
    width: 100%;
    margin: 0 auto;
    padding: 15px 10px 13px 0;
    font-size: 1.4rem;
}
.btn_pink_half{
	display: block;
}
.btn_pink_half a {
    width: auto;
    font-size: 1.4rem;
	margin: 20px 0 0;
}
.contents_box {
    width: auto;
    margin: 0 15px;
}

.contents_box .accordion h2 {
    display: block;
    background: url(../img/ico_plus_h2.png) no-repeat right 17px top 50%;
    background-size: 20px 20px;
	padding: 20px 15px;
    font-size: 1.8rem;
	margin: 15px 0 0;
	box-shadow: 0 1px 3px #cdc2c8;
  }
	.contents_box .accordion h2 img {
    display: none;
}
	
  .contents_box .accordion h2.on {
    background: url(../img/ico_minus_h2.png) no-repeat right 17px top 50%;
    background-size: 20px 20px;
  }
  .contents_box .accordion h2 span {
    padding: 0;
	 color: #ffffff;
  }
  .contents_box .accordion h2 span:after {
    background: none;
  }
	  .contents_box .accordion > div {
	  padding-bottom: 15px;
  }
  .contents_box .accordion section {
	  padding: 20px 15px;
  }
  .contents_box .accordion section h3 {
    background: none;
    margin-bottom: 0;
    padding: 0 0 20px;
    text-align: left;
    font-size: 2.0rem;
	  line-height: 1.8;
  }
.contents_box .accordion section h3:after {
display: none;
}
  .contents_box .accordion section h3 + p {
    font-size: 1.5rem;
  }

.space-between_list{
	gap:10px;
}
.space-between_list li,
.space-between_list li.w_p_30{
	width: 100%;
}

.contents_box h4 {
font-size: 1.8rem;
	margin: 30px auto 15px;
}
.contents_box h4 span{
	padding: 0 32px;
}
.contents_box h4 span:before,
.contents_box h4 span:after{
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 25px;
  height: 2px;
}



}/*SP体裁ここまで--------------------------------------------- */

/*メニュー*/
.navi_area{
	padding: 20px 0;
	background: #f1f1f1;
	margin-top: 25px;
}
/*pcmenu*/
.navi_list{
	display: flex;
	flex-wrap: wrap;
	background: #ffffff;
	border-radius: 999px;
	padding:10px 0;
}

.navi_list li{
	width: 20%;
	position: relative;
	font-size: 1.4rem;
	font-weight: bold;
}
.accident .navi_list li{
	width: 25%;
}
.navi_list li + li{
	border-left: #e7e7e7 dotted 3px;
}
.navi_list li::after {
    position: absolute;
    display: inline-block;
    content: "";
    line-height: 1;
    right: 20px;
    top:calc(50% - 0.3em);
    width: 0.6em;
    height: 0.6em;
    border: 3px solid currentColor;
    border-top: 0;
    border-right: 0;
    box-sizing: border-box;
    transform: rotate(-45deg);
}
.navi_list li.btn::after{
	transform: rotate(-135deg);
}
.navi_list li a{
	color: #525252;
	padding: 8px 30px 6px 5px;
	text-decoration:none;
	position:relative;
	display:flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    box-sizing: border-box;
}

.navi_list li:hover::after{
	
	border: 3px solid currentColor;
    border-top: 0;
    border-right: 0;
}
/*pcmenuここまで*/


/* arrow 右向きアロー
------------------------------------------------------------ */
    a.arrow {
    position: relative;
    text-decoration: none;
	}
    a.arrow:hover {
        border-bottom: none;
	}
    .arrow:after {
    position: absolute;
    display: inline-block;
    content: "";
    line-height: 1;
    right: 30px;
    top:calc(50% - 0.3em);
    width: 0.6em;
    height: 0.6em;
    border: 4px solid currentColor;
    border-top: 0;
    border-right: 0;
    box-sizing: border-box;
    transform: rotate(-135deg);
}
@media screen and (max-width: 780px) {
    a.arrow {
    position: relative;
    padding-right: 17px;
    text-decoration: none;
	}
	.arrow:after {
    position: absolute;
    display: inline-block;
    content: "";
    line-height: 1;
    right: 20px;
    top:21px;
    width: 0.6em;
    height: 0.6em;
    border: 2px solid currentColor;
    border-top: 0;
    border-right: 0;
    box-sizing: border-box;
    transform: rotate(-135deg);
}
}
/* 関連記事一覧
------------------------------------------------------------ */
/*-- category color--*/
.money { background-color: #decb62; }
.health { background-color: #96c977; }
.children { background-color: #77c9c6; }
.woman { background-color: #efa3c3; }
.lifestage { background-color: #f3b273; }
.worry { background-color: #5e86b3; }
.insurance { background-color:#0086C6;}
.insurance_car { background-color:#fff; border-radius: 3px; color: #0086C6; margin-left: 5px; padding: 0 3px;}
.carnaNews .life { background-color: #cab5e0; }
.ico-article{
    color: #fff;
    justify-content: center;
    font-size: 1.1rem;
    border-radius: 5px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: nowrap;
    width: 120px;
	padding:5px 13px;
	margin-bottom: 10px;
	margin-left: 10px;
}
section.kanren{
	width: 1100px;
	margin: 80px auto 0;
	padding: 0 0 30px;
	overflow: hidden;
}
section.kanren h2 {
	        border-bottom: 1px solid #333;
	        padding-bottom: 20px;
        text-align: center;
        font-size: 3.6rem;
        font-weight: bold;
        margin-bottom: 30px;
    }
section.kanren h3 {
        text-align: center;
        font-size: 3.6rem;
        font-weight: bold;
        margin-bottom: 30px;
    }
section.kanren .NewsCarnaLogo a{
	background: url(../img/newsCarnaLogo.png) no-repeat center top;
	padding-top: 60px;
	width: 415px;
	text-align: center;
	display: block;
	margin: 0 auto;
	color: #978f85;
	text-decoration: none;
	font-size: 1.7rem;
	font-weight: 500;
	margin-bottom: 30px;
	transition: 0.3s ease;
}
section.kanren .NewsCarnaLogo a:hover{
	opacity: 0.75;
	filter: alpha(opacity=75);
}
section.kanren ul.carnaNews{
	display: flex;
	    justify-content: space-around;
    flex-wrap: wrap;
}
section.kanren ul.carnaNews li{
	width: 230px;
	height: 315px;
	position: relative;
	 box-shadow: 0 0 5px #fff, 0 0 5px #ccc, 0 0 1px #aaa;
}
section.kanren ul.carnaNews .type p{
	text-decoration: none;
	padding: 0 10px;
	font-size: 1.1rem;

}
section.kanren ul.carnaNews li img{
	width: 230px;
	height: auto;
	margin-bottom: 13px;
}
section.kanren ul.carnaNews li a{
	text-decoration: none;
	transition: 0.3s ease;
	color: #333;
}

section.kanren ul.carnaNews li a h4{
	font-weight: bold;
    font-size: 1.3rem;
    padding: 0 10px;
    margin-bottom: 10px;
}
section.kanren ul.carnaNews li a time{
	position: absolute;
	bottom: 13px;
	left: 10px;
	text-decoration: none;
	color: #333;
}
section.kanren ul.carnaNews li a:hover{
	opacity: 0.75;
	filter: alpha(opacity=75);
}
section.kanren p.newsMore a{
	display: block;
	margin: 30px auto 10px;
	text-align: center;
	width: 296px;
	height: 66px;
	border: 2px solid #b50081;
	background: url(../img/PinkBackgroundRightArrow.svg) no-repeat 265px center #fff;
	text-decoration: none;
	color: #b50081;
	font-size: 18px;
	line-height: 66px;
	font-weight: bold;
	transition: 0.3s ease;
}
section.kanren p.newsMore a:hover{
	background-color: #ffe9f9;
}

section.kanren ul.carnaNews li.type{
	height: 285px;
}
section.kanren ul.carnaNews li.type div{
	width: 230px;
	height: 150px;
	background-size: 50% 50%;
	padding: 10px;
	margin-bottom: 13px;
	box-sizing: border-box;
}
section.kanren ul.carnaNews li.type div img{
	display: block;
	width: auto;
	height: 140px;
	margin: 0 auto;
}
section.kanren ul.carnaNews li.type a:hover img{
	opacity: .8;
}
@media screen and (max-width: 780px) {
	section.kanren{
		width: auto;
		margin: 60px 15px 0;
		padding: 0 0 30px;
	}
	section.kanren .NewsCarnaLogo a{
	width: auto;
	margin: 0 15px 15px;
	font-size: 1.5rem;
}
	section.kanren p.newsMore a{
		display: block;
		margin: 6.25% auto 9.375%;
		text-align: center;
		width: 50%;
		height: 40px;
		border: 2px solid #b50081;
		background: url(../common2/img/common/orngeCircleArrow.png) no-repeat 95% center #fff;
		background-size: 8%;
		text-decoration: none;
		color: #b50081;
		font-size: 4vw;
		line-height: 40px;
		font-weight: bold;
	}
	section.kanren h2{
		font-size: 2.8rem;
	}
	section.kanren h3 {
    font-size: 2.8rem;
    margin-bottom: 40px;
}
	section.kanren h4.NewsCarnaLogo a{
		background: url(../img/newsCarnaLogo.png) no-repeat center top;
		background-size: 40%;
		padding-top: 12%;
		width: 100%;
		text-align: center;
		display: block;
		margin: 0 auto;
		color: #978f85;
		text-decoration: none;
		font-size: 3.8vw;
		font-weight: 500;
		margin-bottom: 4%;
	}
	section.kanren ul.carnaNews{
	}
	section.kanren ul.carnaNews li a h4{
    font-size: 1.3rem;
}
	section.kanren ul.carnaNews {
		gap:15px;
	}
	section.kanren ul.carnaNews li{
		width: 47%;
		height: auto;
		min-height: 280px;
	}

	section.kanren ul.carnaNews li img{
		width: 100%;
		height: auto;
		margin-bottom: 13px;
	}

	section.kanren ul.carnaNews li a time{
		position: static;
	    font-size: 1.0rem;
		display: block;
		padding: 10px;
	}
	section.kanren ul.carnaNews li.type {
	    height: auto;
	}
	section.kanren ul.carnaNews li.type div {
	    width: 100%;
	    height: 150px;
	    background-size: 50% 50%;
	    padding: 10px;
	    margin-bottom: 13px;
	    box-sizing: border-box;
	}

}

/* 見積りボタン
------------------------------------------------------------ */
.comparison_insurance {
    padding: 40px 40px 0!important;
	width: 800px;
	border-radius: 40px!important;
	margin: 50px auto 0;
}
.comparison_insurance::before, 
	.comparison_insurance::after {
        display: none!important;
    }
.comparison_insurance > h2 {
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 42.5px;
    text-align: center;
	 margin-bottom: 15px!important;
}
.back_pink_btn{
    max-width: 400px;
    width: 100%;
    padding: 16px;
    border-radius: 4px;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: 0.05em;
    text-align: center;
    background-color: #b50081;
    color: #ffffff;
    position: relative;
    border: none;
}

.back_pink_btn::after{
    content: "";
    display: inline-block;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    width: 20px;
    height: 20px;
    background-image: url('/top/img/WhiteBackgroundRightArrow.svg');
    right: 11px;
}

@media screen and (max-width: 780px) {
	
	.estimate_form {
         padding-bottom: 0!important;
    }
	.comparison_insurance {
    padding: 20px 15px 30px !important;
	width: auto;
	border-radius: 28px!important;
	margin: 30px auto 0!important;
}
.comparison_insurance > h2 {
    font-size: 2.0rem;
    line-height: 42.5px;
	 margin-bottom: 15px!important;
}
	 .estimate_form .form_content .full_box::before{
        right: 9%;
    }

    .estimate_form .form_content .half_box::before{
        right: 20%;
    }

    .comparison_insurance > h2{
        margin-bottom: 18px;

    }

    .comparison_insurance{
        padding: 18px 16px 32px 16px;
        margin: 15px auto 0px;
    }

    .comparison_section{
        margin: 15px auto 30px;

}
	
}
