@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Hind:wght@400;700&family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@400;500;700&display=swap');

/*!
* ress.css • v4.0.0
* MIT License
* github.com/filipelinhares/ress
*/
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; word-break: normal; -moz-tab-size: 4; tab-size: 4; } *,::before,::after { background-repeat: no-repeat; box-sizing: inherit; } ::before,::after { text-decoration: inherit; vertical-align: inherit; } * { padding: 0; margin: 0; } hr { overflow: visible; height: 0; color: inherit; } details,main { display: block; } summary { display: list-item; } small { font-size: 80%; } [hidden] { display: none; } abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; } a { background-color: transparent; } a:active,a:hover { outline-width: 0; } code,kbd,pre,samp { font-family: monospace, monospace; } pre { font-size: 1em; } b,strong { font-weight: bolder; } sub,sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } table { border-color: inherit; text-indent: 0; } input { border-radius: 0; } [disabled] { cursor: default; } [type='number']::-webkit-inner-spin-button,[type='number']::-webkit-outer-spin-button { height: auto; } [type='search'] { -webkit-appearance: textfield; outline-offset: -2px; } [type='search']::-webkit-search-decoration { -webkit-appearance: none; } textarea { overflow: auto; resize: vertical; } button,input,optgroup,select,textarea { font: inherit; } optgroup { font-weight: bold; } button { overflow: visible; } button,select { text-transform: none; } button,[type='button'],[type='reset'],[type='submit'],[role='button'] { cursor: pointer; color: inherit; } button::-moz-focus-inner,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner { border-style: none; padding: 0; } button:-moz-focusring,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner { outline: 1px dotted ButtonText; } button,html [type='button'],[type='reset'],[type='submit'] { -webkit-appearance: button; } button,input,select,textarea { background-color: transparent; border-style: none; } a:focus,button:focus,input:focus,select:focus,textarea:focus { outline-width: 0; } select { -moz-appearance: none; -webkit-appearance: none; } select::-ms-expand { display: none; } select::-ms-value { color: currentColor; } legend { border: 0; color: inherit; display: table; max-width: 100%; white-space: normal; } ::-webkit-file-upload-button { -webkit-appearance: button; color: inherit; font: inherit; } img { border-style: none; } progress { vertical-align: baseline; } [aria-busy='true'] { cursor: progress; } [aria-controls] { cursor: pointer; } [aria-disabled='true'] { cursor: default; }

/*====================================

	0. General

====================================*/
html { font-size: 62.5%; }
body { background: #fff; color: #333; font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; font-size: 16px; font-weight: 500; position: relative; }
img { max-width: 100%; vertical-align: bottom; }
a { color: #253692; cursor: pointer; text-decoration: none; transition: all .3s; }
a:hover { color: #e83e33; }
input[type=submit] { cursor: pointer; }
table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: auto;
}
ul,
ol { list-style: none; }
.sp_only{display: none;}
.t-r{text-align: right;}
.t-l{text-align: left;}
.t-c{text-align: center;}

@media (max-width: 680px) {
	.pc_only{
		display: none !important;
	}
	.sp_only{
		display: block;
	}
}
:root {
	--clr-wt: #fff;
	--clr-bk: #000;
	--clr-mainC: #253692;
	--clr-subC: #ff6644;
	--shadow: 0 5px 5px rgba(1, 80, 71, 1);
}
.contents_inner {
	display: block;
	max-width: 1020px;
	margin: 0 auto;
	padding: 50px 5px;
}
@media (max-width: 768px) {
	.contents_inner {
		padding: 30px 10px;
	}
}
/*====================================

	Header

====================================*/
header{
	width: 1020px;
	padding: 10px;
	margin: 0 auto;
}
.header_inr{
	display: flex;
	justify-content: space-between;
	align-items: center; 
}
.header_inr .site_logo{
	width: 440px;
}
@media (max-width: 640px) {
	header{
		width: 96%;
	}
	.header_inr{
		display: block;
	}
	.header_inr .site_logo{
		width: 100%;
		margin-bottom: 10px;
	}
}
/*====================================

	Footer

====================================*/
footer{
	background: #ededed;
	padding: 30px 10px;
	min-width: 1020px;
}
.footer_inr{
	width: 1000px;
	margin: 0 auto;
}
footer p{
	font-size: 1.2rem;
	margin-top: 20px;
}
footer ul{
	display: flex;
	justify-content: center;
	margin-top: 20px;
}
footer ul li{
	font-size: 1.4rem;
	text-align: center;
}
footer ul li a{
	padding: 0 10px;
	border-left: 1px solid #ccc;
}
footer ul li:first-of-type a{
	border-left: none;
}
footer .copyright{
	text-align: center;
}
@media (max-width: 640px) {
	footer{
		min-width: 100%;
		padding: 30px 10px;
	}
	.footer_inr{
		width: 100%;
	}
	footer ul{
		display: block;
	}
	footer ul li a{
		border: none;
		margin-bottom: 5px;
		text-decoration: underline;
		font-size: 1.2rem;
	}
}

/** ===========================================================
 * $
 * 共通定義
 * ========================================================= */
.t-c{text-align:center;}
.t-r{text-align:right;}
.t-l{text-align:left;}
.fw-bold{font-weight:bold;}
.indent-1{
	text-indent: -1em;
	padding-left: 1em;
}
.indent-1_5{
	text-indent: -1.5em;
	padding-left: 1.5em;
}
.indent-2{
	text-indent: -2em;
	padding-left: 2em;
}
.indent-3{
	text-indent: -3em;
	padding-left: 3em;
}
.indent-3_5{
	text-indent: -3.5em;
	padding-left: 3.5em;
}
.mgt0 {margin-top:	 0 !important;}
.mgt10{margin-top: 10px !important;}
.mgt20{margin-top: 20px !important;}
.mgt30{margin-top: 30px !important;}
.mgt40{margin-top: 40px !important;}
.mgt50{margin-top: 50px !important;}
.mgt60{margin-top: 60px !important;}
.mgt70{margin-top: 70px !important;}
.mgt80{margin-top: 80px !important;}
.mgt90{margin-top: 90px !important;}
.mgl0 {margin-left:	 0 !important;}
.mgl10{margin-left: 10px !important;}
.mgl20{margin-left: 20px !important;}
.mgl30{margin-left: 30px !important;}
.mgl40{margin-left: 40px !important;}
.mgl50{margin-left: 50px !important;}
.mgr0 {margin-right:	 0 !important;}
.mgr10{margin-right: 10px !important;}
.mgr20{margin-right: 20px !important;}
.mgr30{margin-right: 30px !important;}
.mgr40{margin-right: 40px !important;}
.mgr50{margin-right: 50px !important;}
.mgb0 {margin-bottom:	 0 !important;}
.mgb10{margin-bottom: 10px !important;}
.mgb20{margin-bottom: 20px !important;}
.mgb30{margin-bottom: 30px !important;}
.mgb40{margin-bottom: 40px !important;}
.mgb50{margin-bottom: 50px !important;}
.per20{width: 20%;}
.per30{width: 30%;}
.per40{width: 40%;}
.per50{width: 50%;}
.per60{width: 60%;}
.per70{width: 70%;}
.per80{width: 80%;}
.per90{width: 90%;}
.per100{width: 100%;}

@media screen and (max-width: 767px) {
	.per20{width: 50%;}
	.per30{width: 60%;}
	.per40{width: 70%;}
	.per50{width: 80%;}
	.per60{width: 90%;}
	.per70{width: 90%;}
	.per80{width: 90%;}
	.per90{width: 90%;}
	.per100{width: 100%;}
}
/*====================================

	main

====================================*/
.main_visual{
	padding: 0;
	background: url(/assets/img/main_visual_bg01.png) no-repeat center top #f6f7f9;
	min-width: 1020px;
}
.main_visual.mv01{
	background: url(/assets/img/main_visual_bg01.png) no-repeat center top #f6f7f9;
}
.main_visual.mv02{
	background: url(/assets/img/main_visual_bg02.png) no-repeat center top #f6f7f9;
}
.main_visual_inr{
	width: 1020px;
	height: 382px;
	margin: 0 auto;
	text-align: right;
	padding-top: 75px;
}


@media (max-width: 768px) {
	.main_visual{
		background: url(/assets/img/main_visual_bg01.png) no-repeat center bottom;
		background-size: cover;
		min-width: 100%;
	}
	.main_visual.mv01{
		background: url(/assets/img/main_visual_bg01-sp.png) no-repeat center top / contain;
	}
	.main_visual.mv02{
		background: url(/assets/img/main_visual_bg02-sp.png) no-repeat center top / contain;
	}
	.main_visual_inr{
		display: flex;
		align-items: flex-end;
		justify-content: center;
		width: 100%;
		height: 300px;
		padding: 0 0 20px;
	}
}

/*====================================

	nav

====================================*/
.category_nav.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
	background: #fff;
}
.category_nav h2{
	width: 1020px;
	padding: 20px 10px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	color: var(--clr-mainC);
}
.category_nav h2 img{
	width: 360px;
	margin-right: 10px;
}
.category_nav nav{
	width: 100%;
	background: var(--clr-mainC);
}
.category_nav nav ul{
	width: 1020px;
	margin: 0 auto;
	display: flex;
}
.category_nav nav ul li{
	width: 25%;
}
.category_nav nav ul li a{
	color: var(--clr-wt);
	font-weight: 500;
	text-align: center;
	padding: 20px 30px 20px 0;
	position: relative;
	display: inline-block;
}
.category_nav nav ul li a::before {
	content: '';
	width: 10px;
	height: 10px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	position: absolute;
	right: 9px;
	top:32%;
	transform: rotate(135deg) translateY(-32%);
}
.category_nav nav ul li a:hover{
	color: #e83e33;
}
@media (max-width: 768px) {
	.category_nav h2{
		width: 100%;
		font-size: 16px;
	}
	.category_nav h2 img{
		width: 230px;
		margin-right: 5px;
	}

	.category_nav nav ul{
		display: flex;
		flex-wrap: wrap;
		width: 100%;
	}
	.category_nav nav ul li{
		width: 50%;
	}
	.category_nav nav ul li a{
		width: 100%;
		padding: 8px 25px 8px 15px;
		font-size: 14px;
	}
	.category_nav nav ul li a::before{
		right: 18px;
		width: 8px;
		height: 8px;
	}
	.category_nav nav ul li a:hover{
		color: #fff;
	}
}

/*====================================

	各保険から選ぶ

====================================*/
.insurance_category h2{
	padding-left: 70px;
	min-height: 48px;
	display: flex;
	align-items: center;
}
/*損害保険から選ぶ*/
#sonpo h2{
	background: url(/assets/img/icon_sonpo.png) no-repeat left center;
}
/*生命保険から選ぶ*/
#seimei h2{
	background: url(/assets/img/icon_seimei.png) no-repeat left center;
}
/*医療保険から選ぶ*/
#iryou h2{
	background: url(/assets/img/icon_iryou.png) no-repeat left center;
}
/*がん保険から選ぶ*/
#gan h2{
	background: url(/assets/img/icon_gan.png) no-repeat left center;
}
.insurance_block{
	border-radius: 10px;
	border: 1px solid #c5c5c5;
	margin-top: 20px;
}
.insurance_block_head{
	background: #f5f2ee;
	border-radius: 10px 10px 0 0;
	padding: 20px;
	display: flex;
	align-items: center;
}
.insurance_block_head h3{
	font-size: 24px;
	font-weight: normal;
	margin: 0 20px;
	width: calc(100% - 590px);
}
.insurance_block_head h3 span{
	font-size: 16px;
	display: block;
}
.insurance_block_head h3 strong{
	display: block;
	font-size: 26px;
}
.insurance_block_head .btn_wrap{
	width: 300px;
}
.insurance_block_head .btn_wrap a{
	display: block;
	color: #fff;
	padding: 10px;
	text-align: center;
	border-radius: 10px;
}
.insurance_block_head .btn_wrap a:hover{
	opacity: .75;
}
.insurance_block_head .btn_wrap .product_btn{
	background: url(/assets/img/icon_blank.png) no-repeat right 15px center #4170b7;
	margin-bottom: 10px;
}
.insurance_block_head .btn_wrap .apply_btn{
	background: url(/assets/img/icon_blank.png) no-repeat right 15px center var(--clr-subC);
}
.insurance_block_body{
	padding: 20px;
}
.insurance_block_body .catch{
	color: var(--clr-mainC);
	font-weight: bold;
	font-size: 24px;
}
.insurance_block_body dl{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 10px;
}
.insurance_block_body dt{
	width: 140px;
	background: #4170b7;
	border-radius: 5px;
	color: #fff;
	margin: 0 10px 5px 0;
	padding: 5px;
	text-align: center;
	font-size: 14px;
}
.insurance_block_body dd{
	width: calc(100% - 150px);
	border-bottom: 1px dotted #c5c5c5;
	padding: 0 10px;
}

@media (max-width: 768px) {
	.insurance_category h2{
		min-height: 40px;
		padding-left: 58px;
		background-size: contain!important;
		font-size: 20px;
	}
	.insurance_block_head{
		flex-wrap: wrap;
		padding: 15px;
	}
	.insurance_block_head .logo{
		width: 30%;
	}
	.insurance_block_head h3{
		width: calc(70% - 10px);
		margin: 0 0 0 10px;
		font-size: 18px;
	}
	.insurance_block_head h3 strong{
		font-size: 20px;
	}
	.insurance_block_head .btn_wrap{
		display: flex;
		justify-content: space-between;
		gap: 10px;
		width: 100%;
		margin: 10px 0 0;
	}
	.insurance_block_head .btn_wrap a{
		position: relative;
		padding: 10px 27px 10px 13px;
		font-size: 15px;
	}
	.insurance_block_head .btn_wrap a::after{
		position: absolute;
		top: 50%;
		right: 10px;
		transform: translateY(-50%);
		content: "";
		display: inline-block;
		background: url(/assets/img/icon_blank.png) no-repeat right center / contain;
		width: 12px;
		height: 12px;
	}
	.insurance_block_head .btn_wrap .product_btn{
		width: calc(38% - 5px);
		margin: 0;
		background-image: none;
	}

	.insurance_block_head .btn_wrap .apply_btn{
		width: calc(62% - 5px);
		background-image: none;
	}

	.insurance_block_body{
		padding: 15px;
	}
	.insurance_block_body .catch{
		font-size: 20px;
	}
	.insurance_block_body .txt{
		margin-top: 10px;
	}

	.insurance_block_body .more_tbl{
		margin-top: 10px;
	}
	.insurance_block_body .more_tbl.is-hide{
		position: relative;
		max-height: 50px;
		overflow: hidden;
	}
	.insurance_block_body .more_tbl.is-hide::after{
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 30px;
		background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
		background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
	}
	.insurance_block_body .more_tbl dl{
		align-items: flex-start;
		margin-top: 0;
	}
	.insurance_block_body dt{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 110px;
		min-height: 26px;
		padding: 3px;
		font-size: 12px;
	}
	.insurance_block_body dd{
		width: calc(100% - 120px);
		min-height: 26px;
		padding-bottom: 3px;
	}

	.more_btn{
		margin: 10px 0 0;
		text-align: center;
	}
	.more_btn span{
		position: relative;
		display: inline-block;
		padding-right: 14px;
	}
	.more_btn span::after{
		position: absolute;
		top: calc(50% - 2px);
		right: 0;
		transform: translateY(-50%) rotate(135deg);
		content: "";
		display: inline-block;
		width: 8px;
		height: 8px;
		border-top: 2px solid #4170b7;
		border-right: 2px solid #4170b7;
	}
	.more_btn.is-show span::after{
		top: calc(50% + 2px);
		transform: translateY(-50%) rotate(-45deg);
	}

}


/* 2025年7月24日 赤字 */
.force-red {
  color: #d32f2f !important;     /* 赤 */
  font-size: inherit !important; /* 元のサイズを維持 */
  font-weight: bold !important;  /* 太字にする */
}