html {
	scroll-behavior: smooth;
}

/* =========================================================
	 design tokens
	 ========================================================= */
:root{
	--gold:#A67C29;
	--gold-light:#BF9643;
	--gold-pale:#E5DDC3;
	--green:#33664D;
	--green-tab:#2F3B33;
	--orange-1:#FB9017;
	--orange-2:#FFAD0D;
	--red:#BF3030;
	--red-accent:#E54545;
	--red-logo:#C8161D;
	--cream:#FFFEF0;
	--bg:#F7F4ED;
	--bg-beige:#F2ECDA;
	--ink:#333333;
	--line:#CCCCCC;
	--footer-nav:#666666;
	--white:#FFFFFF;
	--container:1100px;
}

.txt-kojin {
		color: #A67C29;
}
.txt-hojin {
		color: #33664D;
}

/* =========================================================
	 reset
	 ========================================================= */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
	margin:0;
	color:var(--ink);
	background:#fff;
	line-height:1.6;
	font-size:16px;
	-webkit-font-smoothing:antialiased;
	overflow-x: hidden;
}
img,svg{display:block;max-width:100%;height:auto;}
a{text-decoration:none;}
ul,ol{margin:0;padding:0;list-style:none;}
table{border-collapse:collapse;}
p{margin:0;}

/* =========================================================
	 layout helpers
	 ========================================================= */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:0;margin-bottom: 60px;}
.hero .container{margin-bottom: 0px;}
.section:not(:last-child) {
	margin-bottom: 120px;
}
.section.block-cos, .section:last-child {
	margin-bottom: 0;
}
.sec-title{
	text-align:center;
	font-size:32px;
	font-weight:700;
	color:var(--gold);
	letter-spacing:.04em;
	margin:0 0 15px;
}
.sec-lead{
	text-align:center;
	font-size:16px;
	color:var(--ink);
	margin:0 auto 30px;
}
.f-security__ul {
	display: flex;
	justify-content: center;
}

@media (max-width: 767px) {
	.container {
		margin: 40px 0;
	}
	.section:not(:last-child) {
		margin-bottom: 60px;
	}
}

/* ※部分共通化 */
/* 共通 */
.note-s {
    font-size: 12px;
	line-height: 1.6;
}
.kome-left,
.kome-center {
	display: block;
	margin-top: 10px;
}
.kome-left::before,
.kome-center::before {
	content: "※";
}
/* 左揃え */
.kome-left {
	position: relative;
	padding-left: 1.3em;
	text-align: left;
}
.kome-left::before {
	position: absolute;
	left: 0;
	top: 0;
}
/* 中央揃え */
.kome-center {
    text-align: center;
	padding-left: 0;
}
.note-s.kome-left {
    padding-left: 1.1em;
}
table .kome-left,
table .kome-center {
	margin-top: 0;
}
.block-kojin-trouble .kome-center,
.block-hojin-trouble .kome-center {
	margin-top: -15px;
}
a.link-bd {
	color: #1d3994;
}
.link-bd {
    text-decoration: underline;
}
.link-bd:hover {
    text-decoration: none;
}

@media (max-width: 767px) {
	.kome-center {
		position: relative;
		text-align: left;
		padding-left: 1.3em;
	}
	.kome-center::before {
		position: absolute;
		left: 0;
		top: 0;
	}
	.note-s.kome-center {
		position: relative;
		text-align: left;
		padding-left: 1.1em;
	}
}

/* =========================================================
	 buttons
	 ========================================================= */
.btn{
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	font-weight:700;color:#fff;text-align:center;
	border:none;border-radius:6px;cursor:pointer;
	line-height:1.3;
}
.btn .ico{flex:0 0 auto;}
.btn-gold{background:var(--gold);}
.btn-green{background:var(--green);}
.btn-orange{
	background:linear-gradient(180deg,var(--orange-2),var(--orange-1));
	box-shadow:0 3px 0 #d97a0a;
}
.btn-lg{font-size:18px;padding:16px 28px;}

/* circle chevron used on hero/category buttons */
.chip-chevron {
	display: inline-flex;
	align-items: center;
	gap: 12px;
}
.chip-chevron-icon {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	position: relative;
	flex-shrink: 0;
	margin-top: -1px;
}
.chip-chevron-sub{
	display:contents;
	font-size:20px;
}


/* =========================================================
	 header
	 ========================================================= */
.site-header{background:var(--white);}
.header-top{
	display:flex;align-items:center;justify-content:space-between;
	height:80px;
}
.logo{display:flex;align-items:center;gap:10px;}
.logo-text{font-size:23px;font-weight:700;color:var(--ink);letter-spacing:.02em;}
.header-brand{display:flex;flex-direction:column;align-items:center;line-height:1;}
.ihoken{font-size:26px;font-weight:900;color:var(--red-logo);letter-spacing:.02em;}
.ihoken b{
	display:inline-block;background:var(--red-logo);color:#fff;
	padding:0 4px;border-radius:3px;margin-right:2px;font-style:normal;
}
.ihoken-sub{font-size:11px;color:var(--ink);margin-top:3px;letter-spacing:.3em;}

/* gold rule full width under header-top */
.site-header::after{content:none;}
.header-rule{height:2px;background:var(--gold);width:100%;}

.gnav{background:var(--white);}
.gnav-list{
	display:flex;align-items:center;justify-content:center;
	height:56px;font-size:14px;color:var(--ink);font-weight:500;
}
.gnav-list li{
	padding:0 22px;border-right:1px solid var(--line);white-space:nowrap;
	display:flex;align-items:center;gap:6px;
}
.gnav-list li:last-child{border-right:none;}
.gnav-list .gnav-find{color:var(--ink);}
.gnav-list .bars{color:var(--gold);font-weight:700;}
.gnav-list .caret{color:var(--gold);font-size:11px;}

.fix-header {
	background-color: #fff;
}
.nav-ac__item span {
	position: relative;
	display: inline-block;
	padding-right: 16px;
}
.nav-ac__item span::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 9px;
	height: 9px;
	border-top: 2px solid #ccc;
	border-right: 2px solid #ccc;
	transform: translateY(-50%) rotate(135deg);
	margin: -2px -2px 0;
}
.mega-menu-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-left: 0;
}
.gnav__item .mega-menu-list a::before, .gnav__item .mega-menu-list:last-child a::after {
	background-color: #fff;
}
/* 個人向け */
.gnav__item:nth-child(2) .mega-menu-wrap {
	left: -182px;
	padding: 0;
}
/* 法人向け */
.gnav__item:nth-child(3) .mega-menu-wrap {
	left: -364px;
	padding: 0;
}

.mega-menu-list li {
	flex: 1;
	margin: 0 !important;
}
.mega-menu-list li:last-child {
	border-right: none;
}
.mega-menu-box .mega-menu-list li {
	border-right: none !important;
	flex: 0 0 calc(50% - 10px);
	width: calc(50% - 10px);
	margin: 0 !important;
}
.mega-menu-box .mega-menu-list li:nth-child(odd) {
	margin-right: 10px !important;
}
.mega-menu-box .mega-menu-list li:nth-child(n+3) {
	margin-top: 10px !important;
}
.gnav__item:nth-child(2) .mega-menu-list li,
.gnav__item:nth-child(3) .mega-menu-list li {
    padding: 0;
}
.gnav__item:nth-child(2) .mega-menu-list li > a,
.gnav__item:nth-child(3) .mega-menu-list li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 16px 40px;
    box-sizing: border-box;
    position: relative;
}
.gnav__item:nth-child(2) .mega-menu-list li > a:hover,
.gnav__item:nth-child(3) .mega-menu-list li > a:hover {
    background: #F2ECDA;
    color: #333;
}
.gnav__item:nth-child(2) .mega-menu-list li:first-child > a:hover,
.gnav__item:nth-child(3) .mega-menu-list li:first-child > a:hover {
    border-radius: 0 0 0 8px;
}
.gnav__item:nth-child(2) .mega-menu-list li:last-child > a:hover,
.gnav__item:nth-child(3) .mega-menu-list li:last-child > a:hover {
    border-radius: 0 0 8px 0;
}
.gnav__item:nth-child(2) .mega-menu-list li:hover > a,
.gnav__item:nth-child(3) .mega-menu-list li:hover > a {
    color: #333;
}

.gnav__item:hover > a span.hamburger span {
    background: #ccc;
}

.mega-menu-wrap {
	left: 0px;
}

.mega-menu-wrap .mega-menu-list > li {
    position: relative;
}
.mega-menu-wrap .mega-menu-list > li > a::before {
    background-color: #ccc;
    bottom: 0;
    content: "";
    display: block;
    height: calc(100% - 34px);
    margin: auto 0;
    position: absolute;
    top: 0;
    width: 1px;
    left: 0;
}
.mega-menu-wrap .mega-menu-list > li:first-child > a::before {
    content: none;
}
@media (max-width: 767px) {
	.mega-menu-wrap {
		left: 20px;
	}
	.mega-menu-list li {
        flex: 0 0 calc(100% / 2 - 10px);
        width: calc(100% / 2 - 10px);
    }
}

/* =========================================================
	 パンくず
	 ========================================================= */
.pan {
    width: 100%;
    font-size: 1.2rem;
    background: var(--bg);
    padding: 0 10px;
	color: #666666;
}
.pan__list {
    position: relative;
    overflow: hidden;
    padding-top: 6px;
    padding-bottom: 4px;
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
    .pan {
        margin-top: 60px;
    }
	.pan__list {
		padding-top: 4px;
		padding-bottom: 2px;
	}
}

/* =========================================================
	 hero
	 ========================================================= */
.hero{
	position:relative;
	margin-top:0;
	min-height:450px;
	color:#fff;
	overflow:hidden;
}
.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: #2E1F11 url(../assets/hero_full_pc.png)
			center center / 1920px auto no-repeat;
}
@media (max-width: 767px) {
	.hero::before {
		background: #2E1F11 url(../assets/hero_full_sp.png)
				center -50px / 800px auto no-repeat
	}
}

.hero-inner{position:relative;z-index:1;padding-top:100px;}
.hero-ttl-block {
	display: block;
	max-width: 960px;
	margin: 0 auto;
	text-shadow: 0 0 15px rgba(0, 0, 0, 1);
}
.hero-tabs{display:flex;align-items:center;gap:10px;}
.hero-tabs .tab{
	border:2px solid rgba(255,255,255,.85);
	background:rgba(0,0,0,0.3);
	border-radius:8px;padding:3px 13px 0;font-size:24px;font-weight:700;color:#fff;line-height: 1.5;
}
.hero-tabs .tab-plain{font-size:24px;font-weight:700;color:#fff;margin-left:2px;}
.hero-tabs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.tab-copy {
	font-size: 24px;
	font-weight: 700;
	color: #fff;
}
.hero-title{
	font-size:48px;font-weight:900;color:#fff;margin:10px 0 0;letter-spacing:.04em;
	line-height: 1.4;
}
.hero-cards{
	display:flex;
	justify-content: center;
	align-items: center;
	gap: 80px;
	width: 100%;
	max-width: 1041px;
	height: 143px;
	margin:45px auto 0;
	padding-inline:28px;
	background: var(--white);
	border-radius: 12px;
	padding: 12px 22px 22px;
	text-align: center;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
}
.hero-card{
	flex: 1 1 400px;
    max-width: 400px;
    position: relative;
}
.hero-card + .hero-card{
	margin-left: 0;
    padding-left: 0;
    border-left: none;
}
.hero-card + .hero-card::before {
    content: "";
    position: absolute;
    left: -40px;
    top: 10px;
    bottom: 0;
    width: 1px;
    background: #ccc;
}
@media (max-width: 767px) {
    .hero-cards {
        flex-direction: column;
        gap: 24px;
        width: auto;
        height: auto;
    }
    .hero-card {
        width: 100%;
        flex: none;
    }
    .hero-card + .hero-card::before {
        display: none;
    }
	.hero-ttl-block {
		text-shadow: 0 0 10px rgba(0, 0, 0, 1);
	}
}
.hero-card-label{font-size:18px;margin-bottom:5px;}
.hero-card-label .hl{color:var(--gold);}
.hero-card .btn-cat{width:100%;height: 60px;font-size:22px;padding:15px 10px;border-radius:10px;}

.hero-card .btn {
	display: inline-flex;
	box-shadow: 0 3px 0 #8C6415;
	transition: all .2s ease;
}
.hero-card .btn.btn-green {
	display: inline-flex;
	box-shadow: 0 3px 0 #1E4C35;
	transition: all .2s ease;
}
.hero-card .btn:hover {
	box-shadow: 0 0 0 rgba(0, 0, 0, 0.2);
	transform: translateY(3px);
}

/* hero intro */
.hero-intro{background:var(--bg);padding:10px 0 50px;margin-bottom: 80px;}
.hero-intro p{font-size:16px;color:var(--ink);}
.hero-intro .update-date{text-align:right;font-size:13px;color:#999999;margin-bottom:30px;}
.hero-intro b{font-weight:700;}
.hero-intro .container {
	display: block;
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
}

@media (max-width: 767px) {
    .hero-intro{
		margin-bottom: 40px;
	}
}

/* =========================================================
	 category title / table title band
	 ========================================================= */
.cat-title{
	text-align:center;font-size:32px;font-weight:bold;letter-spacing:.04em;margin:0 0 20px;
}
.cat-title-gold{color:var(--gold);}
.cat-title-green{color:var(--green);}
.cat-lead{text-align:center;font-size:16px;color:var(--ink);margin:0 0 60px;}
.cat-lead b{font-weight:700;}

.table-title-band{
	text-align:center;font-size:24px;font-weight:700;color:var(--ink);letter-spacing:.04em;
	padding:12px 0 10px;border-top:4px solid var(--gold);border-bottom:2px solid var(--gold);
	margin-bottom:30px;
}
.table-title-band.green{border-top-color:var(--green);border-bottom-color:var(--green);}

/* help icon */
.qmark{
	display:inline-flex;align-items:center;justify-content:center;
	width:22px;height:22px;border-radius:5px;background:#BA9B5D;color:#fff;
	font-size:16px;font-weight:700;line-height:1;margin-left:5px;vertical-align:middle;
}

@media (max-width: 767px) {
    .cat-title {
		margin: 0 0 15px;
	}
}

/* =========================================================
	 comparison table
	 ========================================================= */
.cmp-scroll{
	overflow-x: auto;
	width:100%;
}
.cmp{width:100%;table-layout:fixed;font-size:13.5px;color:var(--ink);background:var(--white);}
.cmp col.c-v{width:30px;}
.cmp col.c-l{width:170px;}
.cmp th,.cmp td{
	border:1px solid var(--line);padding:10px 10px;vertical-align:middle;
	font-size: 16px;
}
.cmp .product-top th,.cmp .product-top td{
	padding:15px 10px 8px;
}
.cmp .group-coverage td{
	padding: 6px 10px 8px;
}
/* ================================================================
   比較表 ○×マークの太さ・大きさ統一
   ================================================================ */
.cmp .mark.mark-x{
	position:relative;
	display:inline-block;
	width:1em;
	height:1em;
	vertical-align:middle;
	color:transparent;
	--mark-x-offset-y:-1px; /* ×マークの上下位置の微調整用。負値で上へ、正値で下へ */
}
.cmp .mark.mark-x::before,
.cmp .mark.mark-x::after{
	content:"";
	position:absolute;
	top:55%;
	left:50%;
	width:0.5em;
	height:0.05em;
	background:var(--ink);
	border-radius:2px;
}
.cmp .mark.mark-x::before{
	transform:translate(-50%,calc(-50% + var(--mark-x-offset-y))) rotate(45deg);
}
.cmp .mark.mark-x::after{
	transform:translate(-50%,calc(-50% + var(--mark-x-offset-y))) rotate(-45deg);
}


/* label cells */
.cmp .lbl{
	background:#F2ECDA;color:var(--ink);font-weight:700;text-align:left;font-size:16px;line-height: 1.5;
}
.cmp .vlbl{
	background:#F2ECDA;color:var(--ink);font-weight:700;text-align:center;font-size:16px;padding:4px;line-height: 1.4;
}
.cmp .group-coverage .lbl, .cmp .group-coverage .vlbl {
	font-size: 15px;
}
.cmp .group-coverage .lbl {
	background-color: #FAF5E6;
	border-left: none;
	border-bottom: none;
}
#hojin .cmp .group-coverage .lbl {
	background-color: #F0FAF5;
	border-left: none;
	border-bottom: none;
}
/* 法人 variant: green-tinted label cells */
.cmp-hojin .lbl{background:#E4F2EB;}
.cmp-hojin .vlbl{background:#E4F2EB;}
.cmp-hojin .lbl-price{background:var(--red);}
#hojin .cmp .lbl .qmark {
	background: #6BB28F;
}
/* value cells */
.cmp td{text-align:center;background:var(--white);}
.cmp td.tl{text-align:left;vertical-align: baseline;}
.cmp .prod-name{
	font-weight:700;
	font-size:18px;
	margin-top:6px;
	display: block;
}
.cmp .prod-name:hover{
	text-decoration: underline;
}
.cmp .logo-box{
	width:160px;height: 90px;margin:0 auto;border:1px solid var(--line);
	display:flex;align-items:center;justify-content:center;color:#bbb;font-size:14px;background:#fff;
}
.cmp .logo-box img{
    width: 120px;
    height: auto;
}
/* price rows */
.cmp .lbl-price{background:var(--red);color:#fff;}
.cmp .row-price-bot .lbl-price{border-bottom: 2px solid var(--red);}

.cmp .cell-price .price{font-size:24px;font-weight:bold;line-height: 1.4;font-family: Meiryo, "メイリオ", sans-serif;}
.cmp .cell-price .plan-note{display:block;font-size:14px;color:var(--ink);font-weight:bold;line-height: 1.5;}
.cmp .price-yen{font-size:18px;}
.row-price-bot td,.row-price-bot th{border-bottom:2px solid var(--red);}
.cmp .cell-price.edge-r{border-right:2px solid var(--red);}
.cmp .plan-note {
	display: block;
	font-weight: bold;
	font-size: 14px;
}

/* lists inside cells */
.cmp .dot::before, .plan .dot::before {
	content: "";
}
.cmp ul.dot, .plan ul.dot{text-align:left;margin:0 0 0 5px;padding:0;}
.cmp ul.dot li, .plan ul.dot li{position:relative;padding-left:16px;margin:2px 0;}
.cmp ul.dot li::before, .plan ul.dot li::before{content:"";position:absolute;left:2px;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--ink);}
.cmp .mark{font-size:3.5rem;}

/* cta cell */
.cmp .cell-cta{padding:10px;}
.btn-cmp{
	width:100%;display:flex;align-items:center;justify-content:center;gap:10px;
	background:linear-gradient(180deg,var(--orange-2),var(--orange-1));
	color:#fff;font-weight:700;font-size:18px;border-radius:8px;padding:14px 8px;
	box-shadow:0 3px 0 #d97a0a;line-height:1.4;
}
.btn-cmp small{display:block;font-size:11px;font-weight:500;}
.btn-cmp .ext{font-size:15px;opacity:.9;}

.cmp .lbl {
		position: sticky;
		left: 0;
		z-index: 2;
		padding-right: 34px;
}
.cmp .lbl .qmark {
		position: absolute;
		top: 50%;
		right: 8px;
		transform: translateY(-50%);
		display: flex;
		align-items: center;
		justify-content: center;
		width: 22px;
		height: 22px;
		margin: 0;
		border-radius: 5px;
		background: #BA9B5D;
		color: #fff;
		font-size: 16px;
		font-weight: 700;
		line-height: 1;
}
.cmp .cell-cta.btn-block{padding:10px 10px 13px;}
.btn-net, .btn-net--icon, .btn-request, .btn-more, .btn-search, .btn-next, .btn-net--icon-l, .btn-ranking, .card-cta .btn-cmp {
    padding: 8px 0;
    width: 100%;
    text-align: center;
    border-radius: 8px;
    display: block;
    font-weight: bold;
    -webkit-transition: all .1s ease;
    transition: all .1s ease;
}
.btn-net, .btn-net--icon, .btn-net--icon-l, .card-cta .btn-cmp {
    background: #ffa900;
    background: -moz-linear-gradient(top, #ffa900 0%, #ff8000 100%);
    background: -webkit-linear-gradient(top, #ffa900 0%, #ff8000 100%);
    background: linear-gradient(to bottom, #ffa900 0%, #ff8000 100%);
    box-shadow: 0 3px 0 #ff5e0d;
    color: #fff;
    padding: 9px 0 8px;
}
.btn-net:hover, .btn-net--icon:hover, .card-cta .btn-cmp:hover {
		background: -moz-linear-gradient(top, #ff8000 0%, #ff8000 100%);
		background: -webkit-linear-gradient(top, #ff8000 0%, #ff8000 100%);
		background: linear-gradient(to bottom, #ff8000 0%, #ff8000 100%);
		box-shadow: none;
		transform: translate3d(0, 3px, 0);
}
.cell-cta .product-cv-btn, .card-cta .btn-cmp {
    width: 100%;
    text-align: center;
}
.cell-cta .product-cv-btn .btn-net, .card-cta .btn-cmp {
    position: relative;
    line-height: 1.1;
    padding: 13px 10px;
    font-size: 2.0rem;
}
.cell-cta .product-cv-btn .btn-net > span span, .card-cta .btn-cmp >  span{
    font-size: 12px;
    font-weight: normal;
}
.cell-cta .product-cv-btn .btn-net:after, .card-cta .btn-cmp:after {
    content: url(/lawyer/img/ico/ico_blank_w.svg);
    width: 18px;
    height: 18px;
    display: block;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translate(0, -50%);
}

.cmp tbody.head-area th.lbl {
    background: #E5DDC3;
}
.cmp-hojin tbody.head-area th.lbl {
    background: #CFE5D9;
}

/**** 赤枠の設定 ****/
.row-price-top td,
.row-price-top th {
    border-top: 2px solid var(--red);
}
.row-price-top th:first-of-type,.row-price-bot th:first-of-type{
	border-right:1px solid var(--red);
}
.cmp .price-area .cell-price {
    background: var(--cream);
    color: #CC2929;
    font-weight: 700;
	border-bottom: 2px solid var(--red);
}
.cmp .price-area .lbl-price {
    position: sticky;
    left: 0;
    z-index: 20;
	border-left: 2px solid var(--red);
}
.cmp .price-area .row-price-top .lbl-price {
    box-shadow:
        inset 0 -1px 0 #fff;
}

@media (max-width: 767px) {
	.cmp .lbl, .cmp .vlbl, .cmp th, .cmp td, .cmp ul.dot li  {
		font-size:14px;
	}
	.cmp th, .cmp td { padding: 10px 8px; }
	.cmp .logo-box img {
		width: 100px;
		height: auto;
	}
	.cell-cta .product-cv-btn .btn-net, .card-cta .btn-cmp {
		font-size: 1.6rem;
		line-height: 1.2;
	}
	.cell-cta .product-cv-btn .btn-net:after {
		display: none;
	}
	.cmp .row-price-bot + tr th,
    .cmp .row-price-bot + tr td {
        border-top: none;
    }
	.cmp .row-price-bot .cell-price {
        border-top: none;
    }
	.cmp .lbl-price.edge-l{
		border-left:2px solid var(--red);
	}
	.cmp .price-area tr + tr th,
    .cmp .price-area tr + tr td {
        border-top: none;
    }
	.cmp .price-area + tbody tr:first-child th,
    .cmp .price-area + tbody tr:first-child td {
        border-top: none;
    }
	.cmp .price-area .row-price-top .lbl-price {
		box-shadow:
			inset 0 -2px 0 #fff,
			6px 0 4px -0.1em rgba(0, 0, 0, .1);
	}
	.cmp .price-area .row-price-bot .lbl-price {
		box-shadow:
			6px 0 4px -0.1em rgba(0, 0, 0, .1);
	}
	.cell-cta .product-cv-btn .btn-net, .card-cta .btn-cmp {
		padding: 16px 2px;
	}
	.cmp .mark{font-size:2.0rem;}
		.cmp .group-coverage .lbl, .cmp .group-coverage .vlbl {
		font-size: 14px;
	}
}


/* =========================================================
	 注目商品 cards
	 ========================================================= */
.pcard{
	border:3px solid #F2ECDA;background:#fff;
	padding:30px 30px 20px;margin-bottom:30px;
}
.block-hojin-pickup .pcard{
	border:3px solid #E1F0E9;background:#fff;
	padding:30px 30px 20px;margin-bottom:30px;
}
.pcard-top{display:flex;align-items:center;gap:20px;margin-bottom:30px;position: relative;}
.pcard-top .logo-box{
	flex:0 0 160px;
	height:90px;
	border: 1px solid #ccc;
	display: flex;
    justify-content: center;
    align-items: center;
}
.pcard-top .logo-box img {
    width: 120px;
    height: auto;
}
.pcard-left, .type-left {
    display: flex;
    align-items: center;
    max-width: 420px;
	width: 100%;
    gap: 20px;
}
.pcard-pitch {
    border-left: 1px solid #E8DFC1;
    padding-left: 35px;
}
.block-hojin-pickup .pcard-pitch {
    border-left: 1px solid #B8D9C8;
}

.pcard-name .co{display:block;font-size:16px;color:var(--ink);}
.pcard-name .pn{display:block;font-size:22px;font-weight:700;color:var(--ink);margin-top:4px;line-height: 1.2;}
.pcard-pitch{flex:1;}
.pitch-h{font-size:18px;font-weight:700;color:var(--gold);margin-bottom:10px;line-height:1.5;}
.block-hojin-pickup .pitch-h{color:var(--green);}
.pitch-list li{position:relative;padding-left:20px;margin:5px 0;font-size:15px;line-height: 1.6;}
.pitch-list li:last-child{margin:5px 0 0;}
.pitch-list li::before{content:"";position:absolute;left:2px;top:.4em;width:10px;height:10px;border-radius:50%;background:#D9B56C;}
.block-hojin-pickup .pitch-list li::before{background:#6BB28F;}

/* plan table */
.plan{
	width:100%;
	min-width: 760px;
	table-layout:fixed;
	font-size:15px;
}
.plan col.p-plan{width:180px;}
.block-hojin-pickup .plan col.p-plan{width:150px;}
.plan col.p-fee{width:160px;}
.plan col.p-soudan{width:160px;}
.block-hojin-pickup .plan col.p-soudan{width:170px;}
.plan col.p-machi{width:170px;}
.plan col:nth-child(4) {
    width: 360px;
}
.plan th,.plan td{border:1px solid var(--line);padding:10px 12px 6px;vertical-align:middle;line-height:1.6;font-size: 15px;}
.plan thead th{background:var(--bg-beige);color:var(--ink);text-align:center;font-size:16px;font-weight: normal;}
.block-hojin-pickup .plan thead th{background:#E4F2EB;}
.plan .pl-name{font-weight:700;text-align:left;font-size: 15px;}
.plan .pl-fee{background:var(--cream);text-align:center;color:var(--red-accent);font-weight:700;}
.plan .pl-fee .price{font-size:24px;font-family: Meiryo, "メイリオ", sans-serif;}
.plan .pl-fee .yen{font-size:16px;}
.plan td.tl{text-align:left;}
.plan .machi{text-align:left;}
.plan .machi .note-s{font-size:12px;display:block;margin-top:4px;}
.plan .grp {
    writing-mode: vertical-rl;
    text-orientation: upright;
    text-align: center;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0.3em;
    background: #fff;
    width: 38px;
    line-height: 1;
}
.plan .grp .ls-fix {
    letter-spacing: -0.3em;
}
.plan .grp .ls-fix:last-child {
    letter-spacing: -0.5em;
}
.plan col.p-grp{width:38px;}
.plan thead th.tbl-bg01  {
    background: #EBE2C7;
}
.block-hojin-pickup .plan thead th.tbl-bg02  {
    background: #D8EBE1;
}
/* addon tags */
.addon {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 15px;
    align-items: start;
	margin: 20px 0;
}
.addon-label {
    align-self: start;
    /* タグ1行分(32px)の中央に合わせる */
    margin-top: 17px;
    transform: translateY(-50%);
    white-space: nowrap;
	font-weight:700;
	font-size:16px;
}
.addon-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
	align-items: center;
}
.tag{
	border:1px solid #A67C29;
	border-radius:6px;
	font-size:15px;
	color:var(--gold);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    padding: 0 10px;
    box-sizing: border-box;
}
.block-hojin-pickup .tag{
	border:1px solid #33664D;
	color:var(--green);
}
.addon .etc{font-size:14px;color: var(--gold);}

/* card cta */
.card-cta{display:flex;justify-content:center;}
.card-cta .btn-cmp{width:520px;font-size:22px;padding:15px 0 12px;line-height: 1;}
.bobun{text-align:right;font-size:12px;color:#808080;margin-top:-10px;}

/* gold/green wide pill button (比較へ誘導) */
.btn-pill .ar{font-size:16px;}
.center-cta{display:flex;justify-content:center;gap:28px;margin-top:10px;}
.center-cta-col2 .center-cta{
	gap:30px;
}
.btn-pill {
    max-width: 480px;
	width: 100%;
    position: relative;
	margin: 0 auto;
}
.center-cta-col2 .btn-pill {
    max-width: 430px;
	width: 100%;
	margin: 0;
}
.btn-pill .btn-cat {
    width: 100%;
    height: 60px;
    font-size: 22px;
    padding: 15px 10px 12px;
    border-radius: 10px;
}
.btn-pill .btn {
    display: inline-flex;
    box-shadow: 0 3px 0 #8C6415;
    transition: all .2s ease;
}
.btn-pill .btn:hover,
.btn-pill .btn:active {
    box-shadow: none;
    transform: translateY(3px);
}
.chip-chevron-icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 7px;
    height: 7px;
    border-right: 2px solid #A67C29;
    border-bottom: 2px solid #A67C29;
    transform: translate(-60%, -50%) rotate(-45deg);
}
.hero-cards .chip-chevron-icon::before {
    transform: translate(-50%, -60%) rotate(45deg);
}
.btn-pill .btn.btn-green {
    display: inline-flex;
    box-shadow: 0 3px 0 #1E4C35;
    transition: all .2s ease;
}
.btn-pill .btn.btn-green:hover,
.btn-pill .btn.btn-green:active {
    box-shadow: none;
    transform: translateY(3px);
}
.btn-green .chip-chevron-icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 7px;
    height: 7px;
    border-right: 2px solid var(--green);
    border-bottom: 2px solid var(--green);
    transform: translate(-60%, -50%) rotate(-45deg);
}
.hero-cards .btn-green .chip-chevron-icon::before {
    transform: translate(-50%, -60%) rotate(45deg);
}
.chip-chevron-sub{
	display:contents;
	font-size:20px;
}
.plan .dot::before {
	content: "";
}
.plan ul.dot {
	text-align: left;
	margin: 0 0 0 5px;
	padding: 0;
}
.plan ul.dot li {
	position: relative;
	padding-left: 16px;
	margin: 2px 0;
}
.plan ul.dot li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: .6em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--ink);
}

/* =========================================================
	 タイプ別 cards
	 ========================================================= */
.type-card-block{
	background:#F7F4ED;
	padding: 40px 70px;
	border-radius: 10px;
}
.block-hojin-type .type-card-block{
	background:#EDF5F1;
}
.type-card{
	background:#fff;border-radius:12px;
	padding:25px 40px 20px;margin-bottom:24px;
}
.type-head{
	font-size:22px;font-weight:700;color:var(--gold);
	padding-bottom:10px;border-bottom:2px solid var(--gold);margin-bottom:20px;
}
.type-body{display:flex;gap:30px;align-items:flex-start;}
.type-text{flex:1;font-size:16px;line-height:1.6;}
.type-text b{font-weight:700;color:var(--ink);}
.type-illust{flex:0 0 260px;}
.type-illust img{width:100%;}
.muki {
    position: relative;
    border: 1px dashed #D9B56C;
    border-radius: 8px;
    padding: 16px 30px 12px;
    margin-top: 26px;
    max-width: 600px;
}
.muki-h {
    position: absolute;
    top: -0.8em; 
    left: 20px;
    padding: 0 .5em;
    background: #fff; /* 背景色を付けて線を隠す */
    font-size: 18px;
    font-weight: 700;
    color: var(--gold);
    margin: 0;
}
.muki ul li{position:relative;padding-left:20px;margin:4px 0;font-size:16px;}
.muki li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: .4em;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #D9B56C;
}
.block-hojin-type .muki {
    position: relative;
    border: 1px dashed #6BB28F;
    border-radius: 8px;
    padding: 16px 30px 12px;
    margin-top: 26px;
    max-width: 600px;
}
.block-hojin-type .muki-h {
    position: absolute;
    top: -0.8em; 
    left: 20px;
    padding: 0 .5em;
    background: #fff; /* 背景色を付けて線を隠す */
    font-size: 18px;
    font-weight: 700;
    color: var(--green);
    margin: 0;
}
.block-hojin-type .muki ul li{position:relative;padding-left:20px;margin:4px 0;font-size:16px;}
.block-hojin-type .muki li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: .4em;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #6BB28F;
}
.type-note{font-size:12.5px;color:#333;margin-top:14px;}
.type-arrow{display:flex;justify-content:center;margin:4px 0 0;}
.type-arrow i{
	width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;
	border-top:9px solid #E6DCC6;
}
.type-foot .logo-box{flex:0 0 158px;height:76px;}
.type-foot {
    position: relative;
    display: flex;
    align-items: center;
	justify-content: space-between;
    gap: 24px;
    margin-top: 40px;
    background: #fff;
    border-radius: 8px;
    padding: 5px 0 0;
}
.type-foot::before {
    content: "";
    position: absolute;
    top: -16px;
    left: -40px;
     width: calc(100% + 80px);
    height: 1px;
    background: #E8DFC1;
}
.block-hojin-type .type-foot::before {
    background: #B8D9C8;
}
.type-foot::after {
    content: "";
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 20px;
    background: #fff url("../assets/arrow.svg") center / 100% 100% no-repeat;
}
.block-hojin-type .type-foot::after {
    background: #fff url("../assets/arrow-green.svg") center / 100% 100% no-repeat;
}
.type-foot .logo-box {
    flex: 0 0 160px;
    height: 90px;
    border: 1px solid #ccc;
    display: flex;
    justify-content: center;
    align-items: center;
}
.type-foot .logo-box img {
    width: 120px;
    height: auto;
}
.type-foot .btn-cmp {
	display: block;
	max-width: 400px;
	margin: 0 auto;
}
@media (min-width: 768px) {
	.pc-indent-1em {
		display: inline-block;
		text-indent: 1em;
	}
}

/* =========================================================
	 トラブル事例
	 ========================================================= */
.trouble-icons{display:flex;gap:18px;margin:24px 0 26px;}
.ti-card{
	flex:1;background:#F7F4ED;border-radius:10px;
	padding:18px 8px 14px;text-align:center;
}
.ti-card img{height:130px;margin:0 auto 10px;width:auto;}
.ti-card .label{font-size:16px;font-weight:700;color:var(--ink);line-height:1.4;}
.note-box{
	border:2px dotted #D9B56C;
	padding:20px 30px;font-size:16px;color:var(--ink);margin-bottom:30px;
}
.block-hojin-trouble .note-box{
	border:2px dotted #6BB28F;
}
.note-small {
    letter-spacing: -0.01em;
}
/* 法人 variants */
.block-hojin-type .type-text{line-height:1.62;}
.block-hojin-type .type-head{color:var(--green);border-bottom-color:var(--green);}
.block-hojin-trouble .ti-card{background:#EDF4EE;border-color:#CFE0D2;}

/* =========================================================
	 弁護士保険とは
	 ========================================================= */
.toha-grid{display:flex;gap:28px;}
.toha-card{flex:1;background:#fff;border:2px solid #EBDFBC;border-radius:15px;overflow:hidden;}
.toha-card .th{background:var(--bg-beige);text-align:center;font-weight:700;font-size:22px;padding:10px 8px;color:var(--ink);}
.toha-card .bd{padding:20px 30px;font-size:16px;}
.tag-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  margin-top: 15px;
}
.tag-grid .tag{padding:9px 18px;font-size:16px;height: 46px;}
.toha-note{text-align:right;font-size:12px;color:#333;margin-top:15px;}
.toha-illust{margin:13px auto 0;text-align:center;}
.toha-illust img{display:inline-block;max-width:420px;width: 100%;}

/* =========================================================
	 選び方 steps
	 ========================================================= */
.steps-wrap{background:#F7F4ED;border-radius:12px;padding:40px 70px;}
.step-item{display:flex;gap:18px;align-items:flex-start;background:#fff;border-radius:8px;padding:25px 35px;margin-bottom:14px;position: relative;}
.step-item:last-child{margin-bottom:0;}
.step-num{
    width: 58px;
    height: 58px;
	border: 4px solid #fff;
    border-radius: 50%;
    background: linear-gradient(
    135deg,
	#c2a262 0 50%,
    #BF9643 50% 100%
	);
    color: #fff;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    position: absolute;
    top: 50%;
    left: -12px;
    transform: translateY(-50%);
}
.step-body{flex:1; padding-left: 28px;}
.step-body h4{font-size:20px;font-weight:700;margin:0 0 6px;color:var(--ink);}
.step-body p{font-size:16px;}
.confirm-label{text-align:center;font-size:20px;color:var(--ink);margin:30px 0 8px;}
.confirm-label span{position:relative;padding:0 40px;}
.confirm-label span::before,.confirm-label span::after{
	content:"";position:absolute;top:50%;width:2px;height:26px;background:var(--gold);
}
.confirm-label span::before{left:14px;transform:translateY(-50%) rotate(-40deg);}
.confirm-label span::after{right:14px;transform:translateY(-50%) rotate(40deg);}

/* =========================================================
	 加入前の注意点
	 ========================================================= */
.block-chui .container{max-width:960px;}
.chui-item{margin:30px 0 40px;}
.chui-head{
	background:var(--bg-beige);border-left:6px solid var(--gold);
	padding:10px 16px 6px;font-size:22px;font-weight:700;color:var(--ink);
}
.chui-body{padding:18px 0 0;font-size:16px;}

/* =========================================================
	 申込までの流れ
	 ========================================================= */
.flow{display:flex;gap:20px;margin:0 auto 30px;}
.flow-step{
	position: relative;
	flex: 1;
	border: 3px solid #E5D6B8;
	padding: 50px 20px 15px;
	background: #fff;
}
.flow-step .lbl{
    position: absolute;
    top: 0;
    left: -3px;
    transform: translateY(-7%);
    display: flex;
    align-items: center;
    height: 38px;
    padding: 0 18px;
    background: #BF9643;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    border-radius: 0 0 10px 0;
}
.flow-step .lbl::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 38px solid rgba(255,255,255,.1);
	border-right: 38px solid transparent;
}
.flow-step p{
	font-size:16px;
	line-height:1.7;
	margin:0;
}
.flow-step:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -18px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
    border-left: 18px solid #E5D6B8;
}
.flow-note{text-align:center;font-size:16px;margin-bottom:30px;}

/* =========================================================
	 FAQ
	 ========================================================= */
.faq-wrap{background:#F7F4ED;border-radius:14px;padding:40px 70px;}
.faq-item{margin-bottom:15px;}
.faq-item:last-child{margin-bottom:0;}
.faq-q{
	display:flex;align-items:center;background:#fff;border:1px solid #ccc;
	padding:8px 15px 5px;font-size:18px;font-weight:700;color:var(--ink);
}
.faq-q .qm{color:var(--gold);font-size:22px;margin-right:12px;margin-top:-1px;}
.faq-q .toggle{
	margin-left:auto;flex:0 0 auto;width:22px;height:22px;border:1px solid #CFCFCF;border-radius:4px;
	display:flex;align-items:center;justify-content:center;color:#999;font-size:15px;background:#fafafa;
}
.faq-a {
    display: flex;
    align-items: flex-start;
	gap: 10px;
    padding: 16px;
}
.faq-a p {
    margin: 0;
}
.faq-a .am {
    font-size: 22px;
    font-weight: 700;
    color: var(--red-accent);
    display: flex;
    align-items: center;
    height: calc(.7em * 1.6); /* 1行分の高さ */
}


/* =========================================================
	 保険会社から選ぶ
	 ========================================================= */
.cos-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;background: #F7F4ED;
    padding: 20px;}
.cos-card{
	display: flex;
    flex-direction: column;
    justify-content: center;
    background: #fff;
    padding: 26px 28px;
    text-align: center;
    align-items: center;
}
.cos-card .logo-box {
    width: 160px;
    height: 90px;
    border: 1px solid #ccc;
    display: flex;
    justify-content: center;
    align-items: center;
}
.cos-card .logo-box img {
    width: 120px;
    height: auto;
}
.cos-card .co{font-size:16px;color:var(--ink);margin:10px 0;}
.cos-btns{display:flex;gap:16px;justify-content:center;}
.cos-btn{
	flex:1;max-width:220px;border:1px solid #D8C9A8;border-radius:6px;background:#fff;
	padding:12px;font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ink);
}
.cos-btn{
    display:flex;
    align-items:center;
    background-color: #fff;
    border: 1px solid #ccc;
	width: 214px;
	height: 48px;
	border-radius: 6px;
	box-shadow: 0 2px 0 0 #ccc;
	transition: all .2s ease;
}
.cos-btn:hover{
    box-shadow: none;
    transform: translateY(3px);
}
.cos-btn.kojin .chip-chevron-icon {
	display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #A67C29;
    position: relative;
    flex-shrink: 0;
}
.cos-btn.hojin .chip-chevron-icon {
    background: #33664d;
}
.cos-btn.kojin .chip-chevron-icon::before, .cos-btn.hojin .chip-chevron-icon::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 7px;
    height: 7px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translate(-60%, -50%) rotate(-45deg);
}

/* =========================================================
	 最終CTA
	 ========================================================= */
.final-cta{background:#fff;border:3px solid #F2ECDA;border-radius:20px;padding:30px 48px 40px;text-align:center;}
.final-cta h3{font-size:24px;font-weight:700;color:var(--gold);margin:0 0 10px;}
.final-cta .lead{font-size:16px;margin-bottom:8px;}
.cv-grid{display:flex;gap:44px;margin-top:10px;}
.cv-item{flex:1;}
.cv-item img{width:100%;display:block;}
.cv-item .btn-pill{width:100%;margin-top:-14px;position:relative;z-index:1;}
.block-finalcta .btn-pill .btn {
    margin-top: -3px;
}
.block-finalcta .btn-pill img {
	width: 340px;
	margin: 0 auto;
}
.block-finalcta .center-cta {
    margin-top: 20px;
}

/* =========================================================
	 i保険シリーズ band
	 ========================================================= */
.ihoken-band{background:var(--bg-beige);padding:24px 40px 30px;margin-top: 120px;}
.ih-head{text-align:center;color:var(--gold);font-weight:700;margin-bottom:18px;line-height:1.4;}
.ih-head .s{display:block;font-size:20px;}
.ih-head .l{display:block;font-size:22px;letter-spacing:.04em;}
.ih-head .l span{font-size:18px;}
.ih-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:16px;
	max-width: 1100px;
	margin: 0 auto;
}
.ih-link .ic{font-size:20px;line-height:1;}
.f-ihoken__item {
    background: #fff;
    border-radius: 5px;
    padding: 10px 5px 10px 50px;
    display: block;
    background-repeat: no-repeat;
    background-size: 25px 25px;
    background-position: 15px center;
}
.f-ihoken__life {
    background-image: url(/lawyer/img/ico/ico_ihoken_life.svg);
}
.f-ihoken__ota {
    background-image: url(/lawyer/img/ico/ico_ihoken_ota.svg);
}
.f-ihoken__fire {
    background-image: url(/lawyer/img/ico/ico_ihoken_fire.svg);
}
.f-ihoken__car {
    background-image: url(/lawyer/img/ico/ico_ihoken_car.svg);
}
.f-ihoken__bike {
    background-image: url(/lawyer/img/ico/ico_ihoken_bike.svg);
}
.f-ihoken__pet {
    background-image: url(/lawyer/img/ico/ico_ihoken_pet.svg);
}
.f-ihoken__bicycle {
    background-image: url(/lawyer/img/ico/ico_ihoken_bicycle.svg);
}
.f-ihoken__kokunai {
    background-image: url(/lawyer/img/ico/ico_ihoken_kokunai.svg);
}

/* =========================================================
	 footer
	 ========================================================= */
.site-footer{background:#fff;margin-top:10px;}
.footer-marks{display:flex;justify-content:center;align-items:center;gap:20px;padding:14px 0 6px;}
.mark-box{border:1px solid #c9c9c9;border-radius:4px;width:74px;height:54px;display:flex;align-items:center;justify-content:center;color:#aaa;font-size:11px;text-align:center;line-height:1.2;}
.footer-text{font-size:13.5px;line-height:1.85;color:var(--ink);padding:14px 0 6px;}
.footer-hr{border:0;border-top:1px solid var(--line);margin:8px 0 14px;}
.footer-shonin{font-size:13.5px;color:var(--ink);margin-bottom:6px;}
.footer-shonin .ttl{display:block;margin-bottom:8px;}
.footer-shonin .nums{display:flex;flex-wrap:wrap;gap:34px;}
.footer-nav{background:var(--footer-nav);margin-top:14px;position:relative;}
.footer-nav ul{display:flex;justify-content:center;flex-wrap:wrap;}
.footer-nav li{color:#fff;font-size:13.5px;padding:14px 20px;border-right:1px solid rgba(255,255,255,.25);}
.footer-nav li:first-child{border-left:1px solid rgba(255,255,255,.25);}
.footer-totop{
	position:absolute;right:18px;top:50%;transform:translateY(-50%);
	width:34px;height:34px;border-radius:50%;border:1px solid #bbb;background:#fff;
	display:flex;align-items:center;justify-content:center;color:#888;
}
.footer-bottom{display:flex;justify-content:space-between;align-items:flex-end;padding:12px 0 16px;font-size:12.5px;color:var(--ink);}
.footer-bottom .copy{color:#666;}

/* header right / breadcrumb (SP用、PCでは非表示) */
.header-right{display:flex;align-items:center;gap:18px;}
.logo-mark{width:36px;height:36px;}

/* =========================================================
	 レスポンシブ（SP / タブレット）
	 ========================================================= */
@media (max-width:767px){
	body{font-size:14px;}
	.container{padding-inline:10px;}
	.sec-title{font-size:24px;line-height: 1.4;}
	.cat-title{font-size:24px;line-height: 1.4;}
	.cat-lead,.sec-lead,.hero-intro p,.flow-note,.final-cta .lead{font-size:14px; text-align: left;}
	/*.cat-lead br,.sec-lead br,.hero-intro br,.type-text br,.flow-note br,.final-cta .lead br{display:none;}*/
	.table-title-band{font-size:20px;padding:11px 0;margin-bottom:22px;line-height: 1.5;}

	/* header */
	.header-top{height:56px;}
	.logo-mark{width:28px;height:28px;}
	.logo-text{font-size:16px;}
	.ihoken{font-size:19px;}
	.ihoken-sub{font-size:9px;letter-spacing:.2em;}
	.gnav{display:none;}
	.hamburger{display:flex;}
	.breadcrumb{height:auto;background:#F0EDE6;color:#666;font-size:11px;padding:7px 0;}

	/* hero */
	.hero{min-height:0;margin-top:0;}
	.hero-inner{padding:0 15px 15px;}
	.hero-tabs{flex-wrap:wrap;gap:6px;line-height: 1.4;}
	.hero-tabs .tab{font-size:16px;padding:3px 9px;border-radius: 6px;}
	.hero-tabs .tab-plain{font-size:16px;}
	.hero-tabs .tab-copy {
		flex-basis: 100%;
		margin-left: 0;
		font-size: 18px;
	}
	.hero-title{font-size:36px;margin: 0;}
	.hero-cards{flex-direction:column;gap:10px;padding:12px 16px 16px;border-radius:14px;
	width: 100%;height: auto;}
	.hero-card{padding:0 0 6px;background:transparent;box-shadow:none;}
	.hero-card + .hero-card {
			border-left: none;
			padding-left: 0;
			margin-left: 0;
	}
	.hero-card-label {
			font-size: 15px;
			margin-bottom: 5px;
	}
	.hero-card .btn-cat{font-size:20px;padding:13px 8px;}
	.hero-intro{padding:14px 0 20px;}

	/* 比較表：横スクロール（左ラベル列をsticky固定） */
	.cmp-scroll {
		overflow-x: auto;
		display: block;
		width: 100%;
	}
	.cmp {
		width: 660px;
		border-collapse: separate;
		border-spacing: 0;
	}
	.cmp th,.cmp td{
		padding:12px 8px;
		border-left: none;
		border-bottom: none;
	}
	.cmp .product-top th,.cmp .product-top td{
		padding:15px 10px 9px;
	}

	/* 一番左だけ左線を付ける */
	.cmp th:first-child,
	.cmp td:first-child {
		border-left: 1px solid var(--line);
	}
	/* 一番下の行だけ下線を付ける */
	.cmp tbody:last-of-type tr:last-child td {
		border-bottom: 1px solid var(--line);
	}
	/* 最後の行がthの場合も */
	.cmp tbody:last-of-type tr:last-child th {
		border-bottom: 1px solid var(--line);
	}

	.cmp col.c-v{width:25px;}
	.cmp col.c-l{width:105px;}
	.cmp .logo-box{width:120px;height:68px;}
	/* 横スクロール時もラベル列が見えるよう固定（背景色は維持） */
	.cmp .lbl,.cmp .vlbl{position:sticky;left:0;z-index:2;}
	/* 補償範囲グループ：縦ラベル(32px)の右隣りに来る行ラベルは32pxオフセット */
	.cmp .lbl-sub{left:25px;}
	.cmp .prod-name {
		font-size: 15px;
	}
	.cmp .cell-price .price{
		font-size:20px;
		font-weight:bold;
		line-height: 1.1;
	}
	.cmp th.lbl {
		box-shadow: 6px 0 4px -0.1em rgba(0, 0, 0, .1);
	}

	/* 注目商品カード */
	.pcard{
		padding:18px 14px;
		margin-bottom: 10px;
	}
	.block-hojin-pickup .pcard {
		padding:18px 14px;
		margin-bottom: 10px;
	}
	.block-hojin-pickup .pcard-pitch {
		border-left: none;
	}
	.pcard-top{flex-direction:column;gap:12px;margin-bottom: 15px;}
	.pcard-top .logo-box,.type-foot .logo-box{flex-basis:auto;width:160px;height:90px;}
	.pcard-name{flex-basis:auto;padding-top:0;text-align:center;}
	.pcard-name .pn{font-size:20px;}
	.pitch-h{font-size:16px;}
	.pitch-list li,.muki ul li,.block-hojin-type .muki ul li,.type-text,.toha-card .bd{font-size:14px;}
	.card-cta .btn-cmp,.cv-item .btn-pill{width:100%;font-size:20px;}
	.card-cta{margin-top:5px;}
	.pcard-left {
		flex-direction: column;
		gap: 10px;
	}
	.pcard-pitch {
		border-left: none;
		padding-left: 0;
	}
	.addon {
        display: block;
		margin: 10px 0;
    }
	.addon-tags {
		margin-top: 5px;
	}
	.bobun {
		margin-top: 10px;
	}
	.tag {
		font-size: 14px;
		padding: 0 6px;
	}

	/* プランのテーブルスクロール */
	.plan-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .plan {
        table-layout: fixed;
        border-collapse: separate;
        border-spacing: 0;
    }
	.plan th,
	.plan td {
		border: 0;
		border-right: 1px solid var(--line);
		border-bottom: 1px solid var(--line);
		box-sizing: border-box;
		padding: 5px;
	}
	.plan tr th:first-child,
	.plan tr td:first-child {
		border-left: 1px solid var(--line);
	}
	.plan th:first-child,
    .plan td:first-child {
        position: sticky;
        left: 0;
        background: #fff;
        z-index: 20;
        border-right: none;
		border-left: 1px solid var(--line);
		border-right: 1px solid var(--line);
		box-shadow: 6px 0 4px -0.1em rgba(0, 0, 0, .1);
    }
    .plan th:nth-child(2),
    .plan td:nth-child(2) {
        border-left: none;
    }
	.plan thead th:first-child {
        z-index: 21;
    }
	.plan thead tr:first-child th {
		border-top: 1px solid var(--line);
		background: var(--bg-beige);
	}
	.plan thead tr:first-child th.tbl-bg01 {
		background: #EBE2C7;
	}
	.block-hojin-pickup .plan thead tr:first-child th {
		background: #E4F2EB;
	}
	.block-hojin-pickup .plan thead tr:first-child th.tbl-bg02 {
		background: #D8EBE1;
	}
	.plan thead th {
		border-bottom: 0;
		font-size: 14px;
	}
	.plan tbody tr:first-child td {
		border-top: 1px solid var(--line);
	}
	.plan .pl-name, .plan td {
		font-size: 14px;
	}
	.plan col.p-plan {
		width: 120px;
	}
	.plan col.p-fee {
		width: 140px;
	}
	.plan col.p-soudan {
		width: 140px;
	}
	.plan col:nth-child(4) {
		width: 220px;
	}
	.plan col.p-machi {
		width: 140px;
	}
	#hojin-asiro .grp {
        position: sticky;
        left: 0;
        z-index: 30;
        background: #fff;
    }
    #hojin-asiro .pl-name {
        position: sticky;
        left: 38px;
        z-index: 31;
        background: #fff;
		border-right: 1px solid #ccc;
		border-left: none;
        box-shadow:4px 0 6px -0.1em rgba(0, 0, 0, .1);
    }
    /* 固定エリアの右端だけ影 */
    #hojin-asiro .pl-name::after {
        content: "";
        position: absolute;
        top: 0;
        right: -6px;
        width: 6px;
        height: 100%;
        pointer-events: none;
    }
	#hojin-asiro .plan col.p-plan {
		width: 110px;
	}

	/* タイプ別 */
	.type-body{flex-direction:column-reverse;gap:14px;}
	.type-illust{flex-basis:auto;max-width:260px;margin:0 auto;}
	.type-foot{flex-direction:column;gap:12px;text-align:center;}
	.type-card-block {
		border-radius: 0;
		padding: 12px 14px;
	}
	.block-kojin-type, 
	.block-hojin-type, 
	.block-erabikata .container,
	.block-faq .container {
        padding-inline: 0;
    }
    .block-kojin-type .table-title-band,
    .block-kojin-type .sec-lead,
	.block-hojin-type .table-title-band,
    .block-hojin-type .sec-lead,
	.choose-block .sec-lead,
	.block-erabikata .sec-lead {
        padding-inline: 14px;
    }
	.muki, .block-hojin-type .muki{
		max-width:none;
		padding: 16px 18px 12px;
	}
	.muki-h, .block-hojin-type .muki-h{
		left: 10px;
		font-size: 16px;
	}
	.type-left{
		justify-content: center;
		text-align: left;
		gap: 15px;
		margin-top: 10px;
	}
	.type-foot .type-left .logo-box img {
		width: 90px;
		height: auto;
	}
	.type-left .logo-box{
		gap: 10px;
		width:120px;height:60px;
	}
	.type-left .pcard-name {
		text-align: left;
	}
	.type-left .pcard-name .co {
		font-size: 12px;
	}
	.type-left .pcard-name .pn {
		font-size: 16px;
	}
	.type-card{
        padding:15px 15px 20px;
    }
    .type-foot::before{
        left:-15px;
        width:calc(100% + 30px);
    }
	.card-cta {
        width: 100%;
    }
    .type-foot .btn-cmp {
        display: block;
        width: 100%;
        max-width: none;
    }
	.type-head {
		font-size: 18px;
		line-height: 1.4;
	}
	#hojin-yell .grp {
		position: sticky;
		left: 0;
		z-index: 30;
		background: #fff;
	}
	#hojin-yell .pl-name {
		position: sticky;
		left: 38px;
		z-index: 31;
		background: #fff;
		border-right: 1px solid #ccc;
		border-left: none;
		box-shadow: 4px 0 6px -0.1em rgba(0, 0, 0, .1);
	}
	#hojin-yell .pl-name::after {
		content: "";
		position: absolute;
		top: 0;
		right: -6px;
		width: 6px;
		height: 100%;
		pointer-events: none;
	}
	#hojin-yell .plan col.p-plan {
		width: 110px;
	}

	/* トラブル事例：3列折返し */
	.trouble-icons{flex-wrap:wrap;gap:10px;}
	.ti-card{flex:0 0 calc(50% - 7px);}
	.ti-card img{height:100px;}
	.ti-card .label{font-size:16px;}

	/* center cta / flow / steps */
	.center-cta{flex-direction:column;gap:14px;align-items:stretch;}
	.flow{flex-direction:column;gap:20px;margin: 0 auto 20px}
	.flow-step:not(:last-child)::after{
		right:50%;top:auto;bottom:-15px;transform:translateX(50%);
		border-left:20px solid transparent;border-right:20px solid transparent;
		border-top:14px solid #E5D6B8;border-bottom:0;
	}
	.block-erabikata .sec-lead {
		text-align: center;
	}
	.steps-wrap, .faq-wrap{
		padding:18px 10px;
	    border-radius: 0;
	}
	.step-item{padding:42px 14px 14px;}
	.btn-pill {
		width: 100%;
		margin: 20px auto;
	}
	.btn-pill .btn-cat {
		font-size: 20px;
	}
	.block-kojin-trouble .btn-pill .btn-cat,
	.block-hojin-trouble .btn-pill .btn-cat {
		height: 73px;
	}
	.chip-chevron {
		gap: 10px;
	}
	.note-box {
		padding: 12px 10px;
		font-size: 14px;
	}
	.flow-step{
        padding: 40px 15px 10px;
    }
    .flow-step .lbl{
        left: 50%;
        top: -3px;
        transform: translateX(-50%);
		border-radius: 0 0 10px 10px;
		height: 32px;
    }
	.flow-step .lbl::after {
		background: none;
		border-left: none;
	}
	.flow-step p {
		font-size: 14px;
		line-height: 1.7;
		margin: 0;
		text-align: center;
	}
	.flow-note {
		margin-bottom: 20px;
	}
    .step-num {
        top: 14px;
        left: 50%;
        transform: translate(-50%, -50%);
		width: 40px;
		height: 40px;
		border: 2px solid #fff;
		font-size: 20px;
    }
	.step-body {
		padding-left: 0;
	}
	.step-body h4 {
		font-size: 18px;
		text-align: center;
		line-height: 1.4;
		margin: 0 0 8px;
	}
	.step-body p {
		font-size: 14px;
	}
	.center-cta-col2 .center-cta {
		gap: 15px;
	}
	.confirm-label {
		font-size: 18px;
		margin: 20px 0 0;
	}
	.center-cta {
		margin-top: 5px;
	}

	/* とは / 保険会社 / iほけん / cv：1カラム */
	.toha-grid{flex-direction:column;gap:18px;}
	.cos-grid{
		grid-template-columns:1fr;
		gap:10px;
		padding: 10px;
	}
	.ih-grid{grid-template-columns:repeat(1, 1fr);gap:10px;}
	.ih-link{font-size:14px;}
	.ih-head {
		margin-bottom: 10px;
	}
	.cv-grid{flex-direction:column;gap:24px;}
	.final-cta{padding:24px 18px 28px;}
	.final-cta h3{font-size:20px;line-height: 1.5;}
	.block-finalcta .container {
		margin: 0;
	}
	.cos-card {
		padding: 18px;
	}
	.cos-card a {
		align-self: stretch;
		width: 100%;
	}
	.cos-card > a {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: auto;
        align-self: center;
    }
	.toha-card .th {
		font-size: 18px;
		padding: 8px;
	}
	.toha-card .bd {
		padding: 8px 14px 14px;
	}
	.tag-grid {
		gap: 10px;
		margin-top: 10px;
	}
	.tag-grid .tag {
		padding: 5px 10px;
		font-size: 15px;
		height: 42px;
	}
	.cos-btns {
        gap: 10px;
        width: 100%;
	}
	.cos-btns .cos-btn {
        display: flex;
        width: 100%;
        max-width: none;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        flex: 1;
    }
	.cos-btn {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
    }
	.block-cos.section {
		margin-bottom: 15px;
	}
	.toha-note {
		margin-top: 12px;
	}

	/* FAQ */
	.faq-wrap{padding:18px 14px;}
	.faq-q {
        font-size: 16px;
        padding: 10px 34px 8px 14px;
        line-height: 1.5;
        align-items: flex-start;
    }
    .faq-q .qm {
		line-height: 1;
		flex-shrink: 0;
		margin-top: 1px;
	}
	.faq-a {
		padding: 10px 16px;
		line-height: 1.6;
	}

	/* 注意点 */
	.chui-head{
		font-size:18px;
		padding:10px 10px 8px;
		line-height: 1.5;
		border-left: 5px solid var(--gold);
	}
	.chui-item {
		margin: 20px 0 20px;
	}
	.chui-body {
		padding: 14px 0 0;
		font-size: 14px;
		line-height: 1.6;
	}

	.ihoken-band {
		margin-top: 80px;
		padding: 15px;
	}

	/* footer */
	.footer-nav ul{flex-wrap:wrap;}
	.footer-nav li{flex:1 0 45%;border-right:none;border-bottom:1px solid rgba(255,255,255,.2);text-align:center;padding:12px 8px;font-size:12.5px;}
	.footer-nav li:first-child{border-left:none;}
	.footer-totop{right:8px;width:30px;height:30px;}
	.footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;font-size:11.5px;}
	.footer-shonin .nums{gap:6px 20px;}

	.hero-intro .update-date {
			margin-bottom: 20px;
	}
	.cat-lead {
		margin: 0 0 40px;
	}
	.sec-lead {
		margin: 0 auto 20px;
		line-height: 1.6;
	}
	.f-security .inner {
		padding: 0;
	}
	.footer address {
        background: #666666;
    }
	.txt-note{
		text-align:left;
		margin: -10px 0 8px;
	}
}


/*------------------------------------------------------------------------------
吹き出し(popup.js)設定
------------------------------------------------------------------------------*/
.hotspot {
	padding-bottom: 1px;
	cursor: pointer;
}

#tt {
	position: absolute;
	display: block;
	background: url(/lawyer/img/popup_tt_left.gif) top left no-repeat;
	z-index: 100;
}

#tttop {
	display: block;
	height: 5px;
	margin-left: 5px;
	background: url(/lawyer/img/popup_tt_top.gif) top right no-repeat;
	overflow: hidden
}

#ttcont {
	display: block;
	padding: 2px 12px 3px 7px;
	margin-left: 5px;
	background: #666;
	color: #FFF;
	text-align: left;
}

#ttbot {
	display: block;
	height: 5px;
	margin-left: 5px;
	background: url(/lawyer/img/popup_tt_bottom.gif) top right no-repeat;
	overflow: hidden
}


/*------------------------------------------------------------------------------
モーダル（magnific-popup）
------------------------------------------------------------------------------*/
.mfp-inline-holder .mfp-content {
	position: relative;
	max-width: 960px;
	margin: 0 auto;
	padding: 25px 40px 30px;
	background: #fff;
	border-radius: 12px;
	box-sizing: border-box;
}
.mfp-content .mfp-close {
	color: #B3B3B3;
	font-size: 50px;
	top: 6px;
    right: 4px;
}
.help_ttl {
	font-weight: bold;
	color: #A67C29;
    border-bottom: 2px solid #A67C29;
    padding-bottom: 10px;
    text-align: left;
	font-size: 22px;
	margin: 0 0 15px;
}
.help_hojin .help_ttl {
	color: var(--green);
    border-bottom: 2px solid var(--green);
}
.help_text {
	font-size: 16px;
}
.popup-box li{
	padding-bottom: 10px;
	line-height: 1.6;
}
.ttl-square {
	color: #333;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4;
    margin: 15px 0 0 0;
    text-indent: -1em;
    padding-left: 1em;
    padding-bottom: 5px;
}
.ttl-square::before {
    content: "■";
    color: #A67C29;
    margin-right: 5px;
    font-size: inherit;
    font-family: "メイリオ", Meiryo;
}
.help_hojin .ttl-square::before {
	color: var(--green);
}
.maru:before {
    top: 0.15em;
	color: #D9B56C;
}
.help_hojin .maru:before {
	color: #6BB28F;
}
#help_option ul ,#help_hojin_option ul {
	padding-left: 1.2rem;
}
@media screen and (max-width: 767px) {
	.mfp-inline-holder .mfp-content {
		width: calc(100% - 30px);
		padding: 15px;
		border-radius: 10px;
	}
	.mfp-content .mfp-close {
		font-size: 40px;
		top: -6px;
		right: -6px;
	}
	.help_ttl {
		font-size: 18px;
		padding-bottom: 8px;
		margin: 0 0 12px;
	}
	.help_text {
		font-size: 14px;
	}
	.ttl-square {
		font-size: 1.6rem;
	}
}

/*------------------------------------------------------------------------------
サイトマップ
------------------------------------------------------------------------------*/
.main-column {
	margin-top: 20px;
}
.link-arrow {
	position: relative;
	padding-left: 25px !important;
	display: inline-block;
	text-align: left;
}
.link-arrow:before {
	top: 4px;
	left: 0;
	width: 17px;
	height: 17px;
	background: var(--gold);
	border-radius: 50%;
}
.link-arrow:after {
	width: 7px;
	height: 7px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	top: 9px;
	left: 4px;
}
.link-arrow:after, .link-arrow:before {
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.ttl-bgline {
	display: table;
	width: 100%;
	font-size: 2.2rem;
	color: inherit;
	font-weight: bold;
	margin-bottom: 20px;
	padding: 12px 40px 10px 15px;
	border-left: solid 5px var(--gold);
	background-color: #F7F4ED;
	line-height: 1.4;
}
.ac-arrow::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    content: "";
    display: block;
    width: 28px;
    height: 28px;
    margin: auto;
    background-color: #FFF;
    border: solid 1px #b3b3b3;
    border-radius: 6px;
    box-shadow: 0 2px 0 0 #b3b3b3;
}
.ac-arrow::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 22px;
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	margin: auto;
	border-top: 2px solid var(--gold);
	border-right: 2px solid var(--gold);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.ac-arrow::before,
.ac-arrow::after {
    pointer-events: none;
}
.ttl-main {
	font-size: 2.2rem;
	font-weight: bold;
	margin-bottom: 20px;
	padding: 10px;
	color: #fff;
	background: -moz-linear-gradient(top, #8C6415 0%, #976c17 50%, #8C6415 50%, #976c17 100%);
	background: -webkit-linear-gradient(top, #8C6415 0%, #976c17 50%, #8C6415 50%, #976c17 100%);
	background: linear-gradient(to bottom, #8C6415 0%, #976c17 50%, #8C6415 50%, #976c17 100%);
	line-height: 1.4;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	align-items: center;
	flex-wrap: wrap;
	min-height: 70px;
}
@media screen and (max-width: 767px) {
    .sitemap-list li {
        width: 100%;
    }
	.sitemap-box {
        flex: 1 1 100%;
    }
	.ttl-bgline {
		font-size: 1.8rem;
		padding: 10px 40px 10px 10px;
		line-height: 1.4;
	}
}