@charset "UTF-8";

/* =BreakPoint
--------------------------------------------------------------
PC and TABLET ( and SP landscape )
@media ( min-width: 601px ){

PC ( and TABLET landscape )
@media ( min-width: 961px ){

TABLET ( and SP landscape )
@media ( min-width: 601px ) and ( max-width: 960px ){

TABLET and SP ( not TABLET landscape )
@media ( max-width: 960px ){

SP ( only portrait )
@media ( max-width: 600px ){

over
@media ( min-width: 1101px ){

under
@media ( max-width: 1100px ){
--------------------------------------------------------------
*/

/* =Reset
-------------------------------------------------------------- */
html,body,
#trust_login div,#trust_login span,#trust_login applet,
#trust_login object,#trust_login iframe,#trust_login h1,
#trust_login h2,#trust_login h3,#trust_login h4,
#trust_login h5,#trust_login h6,#trust_login p,
#trust_login blockquote,#trust_login pre,#trust_login a,
#trust_login abbr,#trust_login acronym,#trust_login address,
#trust_login big,#trust_login cite,#trust_login code,
#trust_login del,#trust_login dfn,#trust_login em,
#trust_login img,#trust_login ins,#trust_login kbd,
#trust_login q,#trust_login s,#trust_login samp,
#trust_login small,#trust_login strike,#trust_login strong,
#trust_login sub,#trust_login sup,#trust_login tt,
#trust_login var,#trust_login b,#trust_login u,
#trust_login i,#trust_login center,#trust_login dl,
#trust_login dt,#trust_login dd,#trust_login ol,
#trust_login ul,#trust_login li,#trust_login fieldset,
#trust_login form,#trust_login label,#trust_login legend,
#trust_login table,#trust_login caption,#trust_login tbody,
#trust_login tfoot,#trust_login thead,#trust_login tr,
#trust_login th,#trust_login td,#trust_login article,
#trust_login aside,#trust_login canvas,#trust_login details,
#trust_login embed,#trust_login figure,#trust_login figcaption,
#trust_login footer,#trust_login header,#trust_login hgroup,
#trust_login menu,#trust_login nav,#trust_login output,
#trust_login ruby,#trust_login section,#trust_login summary,
#trust_login time,#trust_login mark,#trust_login audio,
#trust_login video{margin:0;padding:0;word-wrap:break-word;overflow-wrap:break-word;}
#trust_login article,#trust_login aside,#trust_login details,
#trust_login figcaption,#trust_login figure,#trust_login footer,
#trust_login header,#trust_login hgroup,#trust_login menu,
#trust_login nav,#trust_login section {display: block;}
#trust_login table{border-collapse:collapse;border-spacing:0;}
#trust_login fieldset,#trust_login img{border:0;}
#trust_login address,#trust_login caption,#trust_login cite,
#trust_login code,#trust_login dfn,#trust_login em,
#trust_login th,#trust_login var{font-style:normal;font-weight:normal;}
#trust_login li{list-style:none;}
#trust_login caption,#trust_login th{text-align:left;}
#trust_login h1,#trust_login h2,#trust_login h3,
#trust_login h4,#trust_login h5,#trust_login h6{font-size:100%;font-weight:inherit;}
#trust_login q:before,#trust_login q:after{content:'';}
#trust_login abbr,#trust_login acronym{border:0;font-variant:normal;}
#trust_login sup{vertical-align:super;}
#trust_login sub{vertical-align:text-bottom;}
#trust_login input,#trust_login textarea,
#trust_login select,#trust_login button{font-family:inherit;font-size:inherit;font-weight:inherit;}
#trust_login input,#trust_login textarea,
#trust_login select,#trust_login button{*font-size:100%;}
#trust_login legend{color:#333333;}
#trust_login img {vertical-align:top;}
#trust_login input[type="radio"],
#trust_login input[type="checkbox"] {vertical-align: -2px;}
#trust_login label {cursor: pointer;}

/*---------------------------
#trust_login common
---------------------------*/
#trust_login {
	text-align: center;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
	font-family: 'Roboto', 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif;
	color: #333333;
	background: #fff;
}
#trust_login img {
	max-width: 100%;
	height: auto;
}
#trust_login input[type="submit"],
#trust_login input[type="reset"] {
	appearance: none;
	cursor: pointer;
}
#trust_login a {
	text-decoration: none;
	color: #333333;
}
@media ( min-width: 601px ){
	#trust_login {
		font-size: 15px;
		padding: 73px 0 0;
	}
	#trust_login .sp {
		display: none !important;
	}
	#trust_login .inner {
		max-width: 900px;
		margin: 0 auto;
		padding: 0 20px;
	}
}
@media ( min-width: 961px ){
	#trust_login .sptab {
		display: none !important;
	}
}
@media ( max-width: 960px ){
	#trust_login .pc {
		display: none !important;
	}
}
@media ( max-width: 600px ){
	#trust_login {
		font-size: 4vw;
		padding: 0;
	}
	#trust_login .pctab {
		display: none !important;
	}
	#trust_login .inner {
		padding: 0 5.33vw;
	}
}
/* clearfix */
#trust_login .cf:before,
#trust_login .cf:after {
	content:'';
	display:table;
}
#trust_login .cf:after {clear:both;}
#trust_login .clr {clear: both;}

#trust_login .noto {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
/*---------------------------
.head
---------------------------*/
#trust_login .head {
	position: fixed;
	left: 0;
	width: 100%;
	background: #fff;
	z-index: 999;
}
#trust_login .head.fix {
	position: fixed;
}
#trust_login .head .inn {
	display: flex;
	align-items: center;
}
#trust_login .head .content {
	display: inline-flex;
	align-items: center;
	margin: 0 0 0 auto;
}
#trust_login .head .contact_btn a {
	box-sizing: border-box;
	border: 1px solid #005bac;
	color: #fff;
	background: #005bac;
	display: flex;
	align-items: center;
}
@media ( min-width: 601px ) {
	#trust_login .head .inn {
		padding: 0 22px 0 43px;
	}
	#trust_login .head .content {
		height: 73px;
		gap: 0 32px;
	}
	#trust_login .head .navi {
		display: flex;
		gap: 0 34px;
	}
	#trust_login .head .navi li a {
		color: #333333;
		font-weight: 700;
		transition: color 0.2s;
	}
	#trust_login .head .navi li a:hover {
		background: none;
		color: #005bac;
	}
	#trust_login .head .tel {
		margin: 0 34px 0 53px;
	}
	#trust_login .head .tel a[href^="tel:"] {
		pointer-events: none;
	}
	#trust_login .head .tel span {
		display: block;
		margin: 7px 0 0;
		font-size: 12px;
	}
	#trust_login .head .contact_btn {
		width: auto;
	}
	#trust_login .head .contact_btn a {
		justify-content: center;
		font-size: 14px;
		font-weight: 700;
		padding: 0 28px;
		height: 44px;
		border-radius: 9999px;
		transition: background 0.2s, transform 0.2s;
		box-shadow: 0 4px 12px rgba(0,91,172,0.3);
	}
	#trust_login .head .contact_btn a:hover {
		color: #fff;
		background: #005bac;
		transform: scale(1.04);
	}
}
@media ( min-width: 769px ) {
	#trust_login .head {
		top: 29px;
	}
	#trust_login .head.fix {
		top: 29px;
	}
}
@media ( max-width: 768px ) {
	#trust_login .head {
		top: 0;
	}
	#trust_login .head.fix {
		top: 0;
	}
}
@media ( min-width: 601px ) and ( max-width: 1100px ) {
	#trust_login .head .contact_btn {
		margin: 0 40px 0 0;
	}
	#trust_login .head .menu_btn {
		width: 30px;
		height: 24px;
	}
	#trust_login .head .menu_btn span {
		height: 4px;
	}
}
@media ( max-width: 600px ) {
	#trust_login .head .inn {
		height: 13.33vw;
		padding: 0 4.67vw 0 3.33vw;
	}
	#trust_login .head .logo {
		width: 31.87vw;
	}
	#trust_login .head .contact_btn {
		width: auto;
		margin: 0 4.27vw 0 0;
	}
	#trust_login .head .contact_btn a {
		font-size: 2.93vw;
		height: 8.67vw;
		border-radius: 4.33vw;
		padding: 0 4vw;
	}
	#trust_login .head .contact_btn a::before {
		display: none;
	}
	#trust_login .head .menu_btn {
		width: 4vw;
		height: 3.2vw;
	}
	#trust_login .head .menu_btn span {
		height: 0.53vw;
	}
}
@media ( min-width: 1101px ) {
	#trust_login .head .menu_btn {
		display: none;
	}
}
@media ( max-width: 1100px ) {
	#trust_login .head .navi,
	#trust_login .head .tel {
		display: none;
	}
	#trust_login .head .menu_btn {
		position: relative;
		cursor: pointer;
		z-index: 1001;
	}
	#trust_login .head .menu_btn span {
		display: block;
		width: 100%;
		background: #666666;
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 auto;
		transition: transform 0.3s,opacity 0.3s;
	}
	#trust_login .head .menu_btn span:nth-of-type(1) {
		top: 0;
	}
	#trust_login .head .menu_btn span:nth-of-type(2) {
		top: 0;
		bottom: 0;
		margin: auto;
	}
	#trust_login .head .menu_btn span:nth-of-type(3) {
		bottom: 0;
	}
	#trust_login .head .menu_btn.on span {
		top: 0;
		bottom: 0;
		margin: auto;
	}
	#trust_login .head .menu_btn.on span:nth-of-type(1) {
		transform: rotate(-45deg);
	}
	#trust_login .head .menu_btn.on span:nth-of-type(3) {
		transform: rotate(45deg);
	}
	#trust_login .head .menu_btn.on span:nth-of-type(2) {
		opacity: 0;
	}
}
/*---------------------------
.foot_navi
---------------------------*/
#trust_login .foot_navi {
	background: #e2e2e2;
}
#trust_login .foot_navi ul {
	display: flex;
	justify-content: center;
}
#trust_login .foot_navi li {
	position: relative;
}
#trust_login .foot_navi li:not(:last-child)::after {
	content: '';
	display: block;
	width: 1px;
	background: #666666;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
#trust_login .foot_navi li a {
	color: #333333;
}
@media ( min-width: 601px ) {
	#trust_login .foot_navi {
		padding: 14px 0 13px;
	}
	#trust_login .foot_navi ul {
		gap: 0 37px;
	}
	#trust_login .foot_navi li a {
		position: relative;
		font-size: 12px;
	}
	#trust_login .foot_navi li a::before {
		content: '';
		display: block;
		width: 100%;
		height: 1px;
		background: #333333;
		position: absolute;
		bottom: -2px;
		left: 0;
		opacity: 0;
		transition: opacity 0.3s;
	}
	#trust_login .foot_navi li a:hover::before {
		opacity: 1;
	}
	#trust_login .foot_navi li::after {
		height: 12px;
		right: -19px;
	}
}
@media ( max-width: 600px ) {
	#trust_login .foot_navi {
		padding: 5.07vw 0;
	}
	#trust_login .foot_navi ul {
		gap: 0 9.33vw;
	}
	#trust_login .foot_navi li a {
		font-size: 2.93vw;
	}
	#trust_login .foot_navi li::after {
		height: 2.93vw;
		right: -4.27vw;
	}
}
/*---------------------------
#footer
---------------------------*/
#trust_login #footer {
	background: #5c5c5c;
	padding: 0;
	margin: 0;
	overflow: hidden;
	font-weight: 300;
}
#trust_login #footer .inner {
	box-sizing: border-box;
	position: relative;
	max-width: 1020px;
	min-height: auto;
	width: 95%;
}
#trust_login #footer .clear:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
#trust_login #footer .link {
	margin: 0;
	display: -ms-flexbox;
	-js-display: flex;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	margin-bottom: 40px;
}
#trust_login #footer .link ul {
	display: block;
	float: none;
	width: auto;
}
#trust_login #footer ul li {
	text-align: left;
}
#trust_login #footer ul li a {
	color: #fff;
}
#trust_login #footer ul li a.blank {
	position: relative;
}
#trust_login #footer .footer_bottom {
	position: relative;
}
#trust_login #footer .siteseal {
	position: static;
}
#trust_login #footer .copyright {
	display: block;
	position: absolute;
	left: 50%;
	right: auto;
	text-align: center;
	margin: 0 auto;
	transform: translateX(-50%);
	bottom: 0;
	color: #9a9a9a;
	font-size: 10px;
	letter-spacing: 1px;
}
#trust_login #footer .sns_menu {
	position: absolute;
	right: 0;
	bottom: 0;
}
#trust_login #footer .footer_sns {
	position: static;
	display: inline-block;
	vertical-align: middle;
	top: auto;
	right: auto;
	width: auto;
	margin-right: 20px;
}
#trust_login #footer .footer_sns ul li {
	display: inline-block;
	vertical-align: middle;
	margin-right: 20px;
	opacity: 1;
	-moz-transition: all .5s ease;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}
#trust_login #footer .pageup.footerpageup {
	cursor: pointer;
	position: relative;
	display: inline-block;
	vertical-align: middle;
	top: auto;
	right: auto;
	left: auto;
	bottom: auto;
	background: 0 0;
	width: auto;
	height: auto;
	opacity: 1;
	-moz-transition: all .5s ease;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}
@media ( min-width: 861px ) {
	#trust_login #footer .inner {
		padding: 25px 0 35px;
		margin: auto;
	}
	#trust_login #footer .link li {
		margin: 15px 0 0 25px;
		font-size: .84em;
		line-height: 1.5em;
	}
	#trust_login #footer .link li a.blank:before {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: -15px;
		margin: -4px 0 0;
		width: 11px;
		height: 11px;
		background: url('img/ico_link.png') no-repeat;
	}
	#trust_login #footer .siteseal {
		width: 235px;
		margin-left: 25px;
	}
	#trust_login #footer .siteseal ul {
		margin: 0 0 0 -16px;
	}
	#trust_login #footer .siteseal li {
		float: left;
		position: relative;
		margin: 0 0 0 16px;
	}
}
@media ( max-width: 860px ) {
	#footer .inner {
		height: auto;
		padding: 4% 0;
		margin: 0 12px;
	}
	#trust_login #footer .link {
		display: none;
	}
	#trust_login #footer .footer_bottom {
		height: 70px;
	}
	#trust_login #footer .siteseal {
		width: 147px;
		margin-left: 0;
	}
	#trust_login #footer .siteseal li {
		position: relative;
		top: 5px;
		float: left;
		margin: 0 8px 0 0;
	}
	#trust_login #footer .siteseal li img {
		margin: 0;
		padding: 0;
		width: auto!important;
		height: 30px;
	}
	#trust_login #footer .copyright {
		width: 100%;
	}
	#trust_login #footer .sns_menu {
		bottom: auto;
		top: 0;
	}

}

#trust_login .gmo_security {
	margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 1180px;
    text-align: right;
    line-height: 60px;
    display: block;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-family: "游ゴシック", "Yu Gothic", "YuGothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Arial", sans-serif;
	font-weight: normal;
}
#trust_login .gmo_security a {
	color:#005cab;
	font-size: 0.8em;
	font-weight: 700;
}
#trust_login .gmoBannerBox {
	display: inline-block;
}
.gmoGroupFooter {
    padding-top: 0px;
    border: 0;
}
.gmoGroupFooter_inner {
    margin: 0 auto;
    display: block;
    padding: 0 10px;
}
@media (max-width: 768px) {
	#trust_login .gmo_security {
		margin-left: unset;
        text-align: center;
	}
}

/*-------------------------------
.sp_menu
-------------------------------*/
#trust_login .sp_menu {
	display: none;
	position: fixed;
	left: 0;
	width: 100%;
	height: 100%;
	background: #333333;
	z-index: 999;
}
#trust_login .sp_menu .navi li{
	font-size: 1.25em;
	position: relative;
	border-bottom: 1px solid #666666;
	text-align: left;
}
#trust_login .sp_menu .navi li:before,
#trust_login .sp_menu .navi li:after  {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 22px;
	width: 10px;
	height: 2px;
	background: #666666;
}
#trust_login .sp_menu .navi li:before {
	margin: -3px 0 0;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
#trust_login .sp_menu .navi li:after  {
	margin: 3px 0 0;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#trust_login .sp_menu a {
	display: block;
	color: #fff;
	padding: 18px 22px;
}
@media ( min-width: 769px ) {
	#trust_login .sp_menu {
		top: 102px;
	}
}
@media ( min-width: 601px ) and ( max-width: 768px ) {
	#trust_login .sp_menu {
		top: 73px;
	}
}
@media ( max-width: 600px ) {
	#trust_login .sp_menu {
		top: 13.33vw;
	}
}




/* =============================================================
   main_content セクション共通スタイル
   ============================================================= */

/* カラー変数 */
#trust_login {
  --lp-color-red: #d93932;
  --lp-color-navy:    #005bac;
  --lp-color-gold:    #c8b175;
  --lp-color-gold-light: #c8b175;
  --lp-color-dark:    #005bac;
  --lp-color-gray:    #f5f7fa;
  --lp-color-white:   #ffffff;
  --lp-color-bg-pale: #e8f1fb;
  --lp-color-support: #3c95c1;
  --lp-color-text:    #333333;
  --lp-color-text-mid:#666666;
}

/* ---- 共通レイアウト ---- */
#trust_login .main_content section {
  padding: 80px 0;
  box-sizing: border-box;
}
#trust_login .main_content .lp-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}
#trust_login .main_content .lp-container-narrow {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

/* ---- セクション背景 ---- */
#trust_login .main_content .lp-bg-light  { background: var(--lp-color-gray); }
#trust_login .main_content .lp-bg-white { background: var(--lp-color-white); }
#trust_login .main_content .lp-bg-dark  { background: var(--lp-color-dark); color: #fff; }

/* ---- セクション見出し ---- */
#trust_login .main_content .lp-heading {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3;
  color: #333333;
  margin-bottom: 24px;
  letter-spacing: 0.05em;
}
#trust_login .main_content .lp-heading .lp-accent-red,
#trust_login .main_content .lp-card-title .lp-accent-red { color: var(--lp-color-red); }
#trust_login .main_content .lp-heading .lp-accent-gold    { color: var(--lp-color-gold-light); }
#trust_login .main_content .lp-bg-dark .lp-heading      { color: #fff; }
#trust_login .main_content .lp-heading-sub {
  font-size: 13px;
  font-weight: 700;
  color: #666666;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
#trust_login .main_content .lp-lead {
  font-size: 16px;
  font-weight: 400;
  color: #666666;
  line-height: 1.8;
  margin-bottom: 32px;
}

/* ---- 3カラムカード（セクション1） ---- */
#trust_login .main_content .lp-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
#trust_login .main_content .lp-card {
  background: #fff;
  border-radius: 32px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  text-align: left;
}
#trust_login .main_content .lp-card-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 28px;
  flex-shrink: 0;
}
#trust_login .main_content .lp-card-icon-red { background: var(--lp-color-red); }
#trust_login .main_content .lp-card-icon-gold    { background: var(--lp-color-gold-light); }
#trust_login .main_content .lp-card-icon-slate   { background: #f5f7fa; border: 1px solid #e0e0e0; }
#trust_login .main_content .lp-card-icon i       { color: #fff; font-size: 24px; }
#trust_login .main_content .lp-card-icon-slate i { color: var(--lp-color-navy); }

#trust_login .main_content .lp-card-heading {
  border-left: 4px solid var(--lp-color-red);
  padding-left: 20px;
  margin-bottom: 20px;
}
#trust_login .main_content .lp-card-heading-gold {
  border-left-color: #005bac;
}
#trust_login .main_content .lp-card-heading-slate {
  border-left-color: #999999;
}
#trust_login .main_content .lp-card-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  color: #333333;
}
#trust_login .main_content .lp-card-body {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  color: #666666;
  margin-bottom: 24px;
  flex: 1;
}
#trust_login .main_content .lp-card-note {
  background: #fdf2f2;
  border: 1px solid #fdd;
  border-radius: 16px;
  padding: 16px;
  margin-top: auto;
}
#trust_login .main_content .lp-card-note-gold {
  background: #f0f5fb;
  border-color: #a8caf0;
}
#trust_login .main_content .lp-card-note-slate {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}
#trust_login .main_content .lp-card-note-inner {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
#trust_login .main_content .lp-card-note-badge {
  width: 18px;
  height: 18px;
  background: var(--lp-color-red);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 2px;
}
#trust_login .main_content .lp-card-note-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--lp-color-red);
  display: block;
  margin-bottom: 4px;
}
#trust_login .main_content .lp-card-note-label-gold    { color: #005bac; }
#trust_login .main_content .lp-card-note-body {
  font-size: 13px;
  font-weight: 400;
  color: #666666;
  line-height: 1.7;
}
#trust_login .main_content .lp-card-badge {
  position: absolute;
  top: 20px;
  right: 20px;
  background: #ffffff;
  color: var(--lp-color-navy);
  font-size: 13px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 4px;
}

/* ---- 2カラム横並び（セクション2・3） ---- */
#trust_login .main_content .lp-two-col {
  display: flex;
  align-items: center;
  gap: 64px;
}
#trust_login .main_content .lp-two-col-reverse {
  flex-direction: row-reverse;
}
#trust_login .main_content .lp-two-col-text,
#trust_login .main_content .lp-two-col-visual {
  flex: 1;
  min-width: 0;
}


/* SSOビジュアル（セクション3） */
#trust_login .main_content .lp-sso-visual {
  background: var(--lp-color-gray);
  border-radius: 40px;
  padding: 40px;
  position: relative;
  overflow: hidden;
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#trust_login .main_content .lp-sso-app-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  position: relative;
  z-index: 1;
}
#trust_login .main_content .lp-sso-app-item {
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  width: 140px;
  height: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  opacity: 0.7;
}
#trust_login .main_content .lp-sso-app-item i {
  font-size: 28px;
  color: #666666;
  margin-bottom: 8px;
}
#trust_login .main_content .lp-sso-app-item span {
  font-size: 11px;
  font-weight: 700;
  color: #aaa;
}
#trust_login .main_content .lp-sso-key {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
#trust_login .main_content .lp-sso-key-circle {
  width: 80px;
  height: 80px;
  background: #005bac;
  border-radius: 50%;
  border: 8px solid var(--lp-color-gray);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(0,91,172,0.2);
}
#trust_login .main_content .lp-sso-key-circle i {
  font-size: 28px;
  color: #fff;
}

/* ---- レスポンシブ ---- */
@media (max-width: 960px) {
  #trust_login .main_content .lp-card-grid {
    grid-template-columns: 1fr;
  }
  #trust_login .main_content .lp-two-col,
  #trust_login .main_content .lp-two-col-reverse {
    flex-direction: column;
    gap: 40px;
  }
  #trust_login .main_content .lp-heading {
    font-size: 28px;
  }
}
@media (max-width: 600px) {
  #trust_login .main_content section {
    padding: 56px 0;
  }
  #trust_login .main_content .lp-heading {
    font-size: 22px;
  }
  #trust_login .main_content .lp-sso-app-item {
    width: 120px;
    height: 100px;
  }
  #trust_login .main_content .lp-auth-badge {
    font-size: 13px;
    padding: 14px 18px;
    bottom: -16px;
    left: -12px;
  }
}

/* ---- キャンペーンセクション（セクション6） ---- */
#trust_login .main_content .lp-campaign-section {
  padding: 120px 0;
  background: #f5f7fa;
  border-top: 1px solid #e0e0e0;
}
#trust_login .main_content .lp-campaign-container {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 24px;
  text-align: center;
}
#trust_login .main_content .lp-campaign-heading {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.4;
  color: #333333;
  margin-bottom: 48px;
  letter-spacing: 0.05em;
}
#trust_login .main_content .lp-campaign-card {
  background: #fff;
  padding: 40px 80px;
  border-radius: 64px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.12);
  border: 4px solid #005bac;
  position: relative;
  overflow: hidden;
  text-align: center;
}
#trust_login .main_content .lp-campaign-deco-line {
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 100%;
  background: #005bac;
}
#trust_login .main_content .lp-campaign-badge {
  display: inline-block;
  background: #d93932;
  color: #fff;
  padding: 8px 32px;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 32px;
  box-shadow: 0 8px 24px rgba(120,40,42,0.3);
  letter-spacing: 0.05em;
}
#trust_login .main_content .lp-campaign-offer-box {
  padding: 24px 28px 28px;
  margin-bottom: 32px;
  color: #333333;
}
#trust_login .main_content .lp-campaign-offer-price-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 18px;
  font-weight: 700;
  color: #333333;
  margin-bottom: 8px;
}
#trust_login .main_content .lp-campaign-offer-price-old {
  color: #333333;
}
#trust_login .main_content .lp-campaign-offer-price-old s {
  text-decoration: line-through;
}
#trust_login .main_content .lp-campaign-offer-price-arrow {
  color: #333333;
}
#trust_login .main_content .lp-campaign-offer-price-new {
  color: #333333;
}
#trust_login .main_content .lp-campaign-offer-title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 12px;
}
#trust_login .main_content .lp-campaign-offer-num {
  color: #d93932;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
}
#trust_login .main_content .lp-campaign-offer-period {
  font-size: 20px;
  font-weight: 700;
  color: #333333;
  margin-bottom: 0;
}
#trust_login .main_content .lp-campaign-condition {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #e0e0e0;
  text-align: left;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
#trust_login .main_content .lp-campaign-condition-label {
  font-size: 13px;
  font-weight: 700;
  color: #333333;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
#trust_login .main_content .lp-campaign-condition-label i {
  color: #005bac;
}
#trust_login .main_content .lp-campaign-condition-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
#trust_login .main_content .lp-campaign-condition-list li {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #666666;
  line-height: 1.6;
  margin-bottom: 6px;
}
#trust_login .main_content .lp-campaign-condition-bullet {
  color: #005bac;
  font-weight: 700;
  flex-shrink: 0;
}
#trust_login .main_content .lp-campaign-condition-note {
  opacity: 0.75;
  font-style: italic;
  font-size: 11px !important;
  margin-top: 4px;
}
#trust_login .main_content .lp-campaign-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
#trust_login .main_content .lp-campaign-btn {
  display: block;
  width: 100%;
  max-width: 600px;
  background: #005bac;
  color: #fff;
  padding: 32px 24px;
  border-radius: 24px;
  font-weight: 700;
  font-size: 30px;
  text-decoration: none;
  text-align: center;
  box-shadow: 0 12px 40px rgba(0,91,172,0.35);
  transition: background 0.2s, transform 0.2s;
}
#trust_login .main_content .lp-campaign-btn:hover {
  background: #005bac;
  transform: scale(1.02);
  color: #fff;
}
#trust_login .main_content .lp-campaign-trust {
  font-size: 14px;
  font-weight: 700;
  color: #666666;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
#trust_login .main_content .lp-campaign-trust i {
  color: #005bac;
}

@media (max-width: 960px) {
  #trust_login .main_content .lp-campaign-heading {
    font-size: 28px;
  }
  #trust_login .main_content .lp-campaign-card {
    padding: 40px 32px;
    border-radius: 40px;
  }
  #trust_login .main_content .lp-campaign-offer-title {
    font-size: 22px;
  }
  #trust_login .main_content .lp-campaign-offer-num {
    font-size: 40px;
  }
  #trust_login .main_content .lp-campaign-btn {
    font-size: 22px;
    padding: 24px 16px;
  }
}
@media (max-width: 600px) {
  #trust_login .main_content .lp-campaign-section {
    padding: 48px 0;
  }
  #trust_login .main_content .lp-campaign-heading {
    font-size: 22px;
    margin-bottom: 32px;
  }
  #trust_login .main_content .lp-campaign-card {
    padding: 32px 20px;
    border-radius: 24px;
  }
  #trust_login .main_content .lp-campaign-badge {
    font-size: 13px;
    padding: 8px 24px;
    margin-bottom: 24px;
  }
  #trust_login .main_content .lp-campaign-offer-box {
    padding: 24px 16px;
    margin-bottom: 32px;
  }
  #trust_login .main_content .lp-campaign-offer-title {
    font-size: 18px;
  }
  #trust_login .main_content .lp-campaign-offer-num {
    font-size: 36px;
  }
  #trust_login .main_content .lp-campaign-offer-period {
    font-size: 14px;
  }
  #trust_login .main_content .lp-campaign-btn {
    font-size: 20px;
    padding: 20px 12px;
    border-radius: 14px;
    width: 90%;
  }
}

/* ---- プランカードv2（セクション5 リニューアル） ---- */
#trust_login .main_content .lp-plan2-card {
  background: #fff;
  border-radius: 48px;
  box-shadow: 0 16px 64px rgba(0,0,0,0.12);
  overflow: hidden;
  position: relative;
  border: 1px solid #e8e8e8;
}
#trust_login .main_content .lp-plan2-top-bar {
  height: 12px;
  background: #005bac;
}
#trust_login .main_content .lp-plan2-inner {
  padding: 56px 64px;
}
#trust_login .main_content .lp-plan2-label-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 24px;
}
#trust_login .main_content .lp-plan2-specialty-label {
  display: inline-block;
  background: rgba(0,91,172,0.08);
  color: #005bac;
  border: 1px solid rgba(0,91,172,0.2);
  padding: 6px 28px;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
#trust_login .main_content .lp-plan2-title {
  font-size: 40px;
  font-weight: 700;
  color: #333333;
  text-align: center;
  margin-bottom: 20px;
  letter-spacing: 0.05em;
}
#trust_login .main_content .lp-plan2-desc {
  font-size: 16px;
  font-weight: 400;
  color: #666666;
  text-align: center;
  line-height: 1.7;
  max-width: 640px;
  margin: 0 auto 48px;
}
#trust_login .main_content .lp-plan2-desc .lp-plan2-accent-red {
  color: #d93932;
}
/* プラン構成ハイライト */
#trust_login .main_content .lp-plan2-composition {
  display: grid;
  grid-template-columns: 1fr 40px 1fr;
  gap: 16px;
  align-items: center;
  margin-bottom: 48px;
}
#trust_login .main_content .lp-plan2-comp-base {
  background: #f8f9fa;
  border: 1px solid #e8e8e8;
  border-radius: 24px;
  padding: 32px 24px;
  text-align: center;
}
#trust_login .main_content .lp-plan2-comp-base-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: #005bac;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
#trust_login .main_content .lp-plan2-comp-base-title {
  font-size: 20px;
  font-weight: 700;
  color: #333333;
  margin: 0 0 6px;
  padding: 0;
  line-height: 1.3;
}
#trust_login .main_content .lp-plan2-comp-base-sub {
  font-size: 12px;
  font-weight: 700;
  color: #888;
  margin: 0;
  padding: 0;
  line-height: 1.4;
}
#trust_login .main_content .lp-plan2-comp-plus {
  text-align: center;
  font-size: 28px;
  color: #005bac;
}
#trust_login .main_content .lp-plan2-comp-premium {
  background: #005bac;
  border-radius: 24px;
  padding: 32px 24px;
  text-align: center;
  box-shadow: 0 8px 24px rgba(0,91,172,0.25);
}
#trust_login .main_content .lp-plan2-comp-premium-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
#trust_login .main_content .lp-plan2-comp-premium-title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 6px;
  padding: 0;
  line-height: 1.3;
}
#trust_login .main_content .lp-plan2-comp-premium-sub {
  font-size: 12px;
  font-weight: 700;
  color: #e8f1fb;
  margin: 0;
  padding: 0;
  line-height: 1.4;
}
/* 詳細機能リスト */
#trust_login .main_content .lp-plan2-features-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 48px;
  margin-bottom: 48px;
  padding: 0 16px;
  text-align: left;
}
#trust_login .main_content .lp-plan2-feature-col {
  display: flex;
  flex-direction: column;
}
#trust_login .main_content .lp-plan2-feature-col-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #005bac;
  border-bottom: 1px solid rgba(0,91,172,0.15);
  padding-bottom: 10px;
  margin-bottom: 24px;
}
#trust_login .main_content .lp-plan2-feature-col-heading--red {
  color: #d93932;
  border-bottom-color: rgba(120,40,42,0.15);
}
#trust_login .main_content .lp-plan2-feature-col--red .lp-plan2-feature-item .lp-plan2-check-icon {
  color: #d93932;
}
#trust_login .main_content .lp-plan2-feature-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#trust_login .main_content .lp-plan2-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
#trust_login .main_content .lp-plan2-feature-item > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
#trust_login .main_content .lp-plan2-feature-item .lp-plan2-check-icon {
  color: #005bac;
  font-size: 15px;
  margin-top: 2px;
  flex-shrink: 0;
}
#trust_login .main_content .lp-plan2-feature-item .lp-plan2-opt-icon {
  color: #bbb;
  font-size: 15px;
  margin-top: 2px;
  flex-shrink: 0;
}
#trust_login .main_content .lp-plan2-feature-name {
  font-size: 14px;
  font-weight: 700;
  color: #333333;
  line-height: 1.4;
  margin: 0 0 4px;
  padding: 0;
}
#trust_login .main_content .lp-plan2-feature-name-opt {
  font-size: 14px;
  font-weight: 700;
  color: #777;
  font-style: italic;
  line-height: 1.4;
  margin: 0 0 4px;
  padding: 0;
}
#trust_login .main_content .lp-plan2-feature-sub {
  font-size: 11px;
  font-weight: 700;
  color: #999;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}
#trust_login .main_content .lp-plan2-opt-badge {
  display: inline-block;
  font-size: 11px;
  background: #e8f1fb;
  color: #666666;
  padding: 2px 8px;
  border-radius: 4px;
  font-style: normal;
  margin-left: 6px;
}
/* 価格・CTAエリア */
#trust_login .main_content .lp-plan2-price-area {
  background: #f8f9fa;
  border-radius: 40px;
  padding: 48px 40px;
  text-align: center;
  border: 1px solid #e2e6ea;
}
#trust_login .main_content .lp-plan2-price-label {
  font-size: 18px;
  font-weight: 700;
  color: #888;
  font-style: italic;
  letter-spacing: 0.05em;
  margin: 0 0 8px;
  padding: 0;
  line-height: 1.4;
}
#trust_login .main_content .lp-plan2-price-cond {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  background: #e8f1fb;
  color: #666666;
  padding: 4px 16px;
  border-radius: 9999px;
  margin-bottom: 24px;
}
#trust_login .main_content .lp-plan2-price-row {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 8px;
  margin-bottom: 24px;
}
#trust_login .main_content .lp-plan2-price-prefix {
  font-size: 20px;
  font-weight: 700;
  color: #333;
}
#trust_login .main_content .lp-plan2-price-number {
  font-size: 80px;
  font-weight: 700;
  color: var(--lp-color-dark);
  line-height: 1;
  letter-spacing: -0.03em;
}
#trust_login .main_content .lp-plan2-price-suffix {
  font-size: 20px;
  font-weight: 700;
  color: #333;
}
#trust_login .main_content .lp-plan2-price-tax {
  font-size: 13px;
  font-weight: 700;
  color: #999;
}
#trust_login .main_content .lp-plan2-campaign-badge {
  display: inline-block;
  background: rgba(120,40,42,0.06);
  color: #d93932;
  border: 1px solid rgba(120,40,42,0.15);
  padding: 10px 28px;
  border-radius: 9999px;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 36px;
}
#trust_login .main_content .lp-btn-plan2 {
  display: inline-block;
  background: #005bac;
  color: #fff;
  padding: 22px 64px;
  border-radius: 20px;
  font-weight: 700;
  font-size: 22px;
  text-decoration: none;
  box-shadow: 0 8px 28px rgba(0,91,172,0.3);
  transition: background 0.2s, transform 0.2s;
}
#trust_login .main_content .lp-btn-plan2:hover {
  background: #005bac;
  transform: translateY(-2px);
  color: #fff;
}

/* ---- プランカードv2 レスポンシブ ---- */
@media (max-width: 960px) {
  #trust_login .main_content .lp-plan2-inner {
    padding: 40px 28px;
  }
  #trust_login .main_content .lp-plan2-title {
    font-size: 30px;
  }
  #trust_login .main_content .lp-plan2-composition {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }
  #trust_login .main_content .lp-plan2-comp-plus {
    transform: none;
  }
  #trust_login .main_content .lp-plan2-features-grid {
    grid-template-columns: 1fr;
    gap: 40px 0;
    padding: 0;
  }
  #trust_login .main_content .lp-plan2-price-number {
    font-size: 64px;
  }
  #trust_login .main_content .lp-btn-plan2 {
    font-size: 18px;
    padding: 18px 40px;
  }
}
@media (max-width: 600px) {
  #trust_login .main_content .lp-plan2-inner {
    padding: 32px 20px;
  }
  #trust_login .main_content .lp-plan2-title {
    font-size: 24px;
  }
  #trust_login .main_content .lp-plan2-desc {
    font-size: 14px;
  }
  #trust_login .main_content .lp-plan2-price-area {
    padding: 32px 20px;
    border-radius: 24px;
  }
  #trust_login .main_content .lp-plan2-price-number {
    font-size: 56px;
  }
  #trust_login .main_content .lp-btn-plan2 {
    font-size: 16px;
    padding: 16px 32px;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
  }
}

/* ==========================================================
   キービジュアル
========================================================== */
#trust_login .kv-section {
  position: relative;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  padding-top: 40px;
  min-height: calc(100vh - 101px);
}

#trust_login .kv-bg-img {
  position: absolute;
  inset: 0;
  background-image: url('https://images.unsplash.com/photo-1516549655169-df83a0774514?auto=format&fit=crop&q=80&w=2000');
  background-size: 120%;
  background-position: center;
  opacity: 0.3;
  z-index: 0;
}

@media (max-width: 600px) {
  #trust_login .kv-section {
    padding-top: 32px;
    min-height: 100svh;
  }
  #trust_login .kv-bg-img {
    background-size: cover;
  }
}

#trust_login .kv-overlay {
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.8);
  z-index: 1;
}

#trust_login .kv-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 60px 24px;
  position: relative;
  z-index: 2;
  width: 100%;
  box-sizing: border-box;
}

/* ガイドライン対応バッジ（上段・フル幅） */
#trust_login .kv-guideline-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #fff;
  padding: 12px 24px;
  background: #005bac;
  border-radius: 4px;
  box-shadow: 0 4px 20px rgba(0,91,172,0.25);
  margin: 0 auto 40px;
  max-width: 80%;
}

#trust_login .kv-guideline-badge .kv-badge-label {
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  background: #ffffff;
  color: #005bac;
  white-space: nowrap;
  letter-spacing: 0.05em;
}

#trust_login .kv-guideline-badge .kv-badge-text {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #ffffff;
}

/* 2カラムレイアウト */
#trust_login .kv-two-col {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
}

/* 左カラム */
#trust_login .kv-col-left {
  min-width: 0;
  text-align: left;
}

/* 右カラム */
#trust_login .kv-col-right {
  flex: 0 0 260px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  padding-top: 8px;
}

/* SP用右カラム複製：PC時は非表示 */
#trust_login .kv-col-right-sp {
  display: none;
}

/* SP用バッジテキスト切り替え */
#trust_login .kv-heading-br-pc {
  display: block;
}
#trust_login .kv-badge-label-sp {
  display: none;
}
#trust_login .kv-badge-text-sp {
  display: none;
}

/* サブタイトル＋価格 横並び行 */
#trust_login .kv-subtitle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

/* サブタイトル */
#trust_login .kv-subtitle-heading {
  font-weight: 700;
  font-size: 28px;
  letter-spacing: 0.05em;
  color: #005bac;
  line-height: 1.35;
  margin-bottom: 0;
}

#trust_login .kv-subtitle-heading span {
  color: #333333;
}

#trust_login .kv-subtitle-br {
  display: none;
}

@media (max-width: 600px) {
  #trust_login .kv-subtitle-br {
    display: block;
  }
}

@media (min-width: 768px) {
  #trust_login .kv-subtitle-heading {
    font-size: 32px;
  }
}

/* 価格表示 */
#trust_login .kv-price-badge {
  border: 2px solid #005bac;
  padding: 12px 16px;
  border-radius: 8px;
  background: rgba(0,91,172,0.06);
  color: #005bac;
  text-align: center;
  flex-shrink: 0;
}

#trust_login .kv-price-badge .kv-price-label {
  font-size: 13px;
  font-weight: 700;
  display: block;
  line-height: 1;
  margin-bottom: 4px;
}

#trust_login .kv-price-badge .kv-price-num {
  font-size: 28px;
  font-weight: 700;
}

#trust_login .kv-price-badge .kv-price-unit {
  font-size: 14px;
  font-weight: 700;
}

@media (max-width: 600px) {
  #trust_login .kv-price-badge {
    padding: 12px;
  }
}

/* 機能バッジ（縦並び） */
#trust_login .kv-feature-badges {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#trust_login .kv-feature-badge {
  background: rgba(255,255,255,0.9);
  border: 2px solid #005bac;
  color: #005bac;
  padding: 14px 20px;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 700;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  display: flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
}

#trust_login .kv-feature-badge i {
  color: #005bac;
  font-size: 18px;
  flex-shrink: 0;
}

/* メインコピー */
#trust_login .kv-heading {
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 16px;
  color: #333333;
  font-size: clamp(1.6rem, 4vw, 2.25rem);
  letter-spacing: 0.05em;
}

#trust_login .kv-heading .kv-accent-red {
  font-style: italic;
  color: #d93932;
}

#trust_login .kv-heading .kv-accent-gold {
  color: #005bac;
}

/* リード文 */
#trust_login .kv-lead {
  margin-bottom: 36px;
  color: #666666;
  line-height: 1.8;
  font-weight: 400;
  font-size: 18px;
}

#trust_login .kv-lead strong {
  font-weight: 700;
  color: #333333;
  border-bottom: 2px solid #d93932;
}

/* CTA */
#trust_login .kv-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

#trust_login .kv-cta-btn {
  display: inline-block;
  color: #fff;
  font-weight: 700;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,91,172,0.3);
  background: #005bac;
  padding: 18px 80px;
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  text-decoration: none;
  transition: transform 0.2s ease, background 0.2s ease;
}

#trust_login .kv-cta-btn:hover {
  transform: translateY(-3px);
  background: #004a8c;
  color: #fff;
}

#trust_login .kv-cta-note {
  color: #666666;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  margin: 0;
}

#trust_login .kv-cta-note i {
  color: #005bac;
}

#trust_login .kv-lead-br {
  display: none;
}

@media (min-width: 768px) {
  #trust_login .kv-lead-br {
    display: block;
  }
}

/* レスポンシブ：タブレット以下 */
@media (max-width: 767px) {
  #trust_login .kv-inner {
    padding: 0 16px 48px;
  }
  #trust_login .kv-guideline-badge {
    gap: 8px;
    padding: 10px 14px;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    margin-bottom: 16px;
  }
  #trust_login .kv-guideline-badge {
    flex-direction: column;
    gap: 6px;
    text-align: center;
    max-width: 100%;
  }
  #trust_login .kv-guideline-badge .kv-badge-text {
    font-size: 16px;
  }
  #trust_login .kv-badge-text-pc {
    display: none;
  }
  #trust_login .kv-badge-text-sp {
    display: block;
  }
  #trust_login .kv-badge-label-pc {
    display: none;
  }
  #trust_login .kv-badge-label-sp {
    display: inline-block;
  }
  /* SP：見出しの1行目改行を無効化して2行表示に */
  #trust_login .kv-heading-br-pc {
    display: none;
  }
  #trust_login .kv-subtitle-row {
    gap: 8px;
    margin-bottom: 16px;
  }
  #trust_login .kv-two-col {
    flex-direction: column;
    gap: 32px;
  }
  /* SP：PC用右カラムを非表示、kv-leadを非表示 */
  #trust_login .kv-col-right {
    display: none;
  }
  #trust_login .kv-lead {
    display: none;
  }
  /* SP：左カラム内の右カラム複製を表示 */
  #trust_login .kv-col-right-sp {
    display: block;
    width: 100%;
    margin-bottom: 16px;
  }
  #trust_login .kv-col-right-sp .kv-feature-badges {
    flex-direction: row;
    flex-wrap: wrap;
  }
  #trust_login .kv-col-right-sp .kv-feature-badge {
    flex: 1 1 calc(50% - 5px);
  }
  #trust_login .kv-cta {
    align-items: stretch;
  }
  #trust_login .kv-cta-btn {
    text-align: center;
  }
}

@media (max-width: 600px) {
  #trust_login .kv-subtitle-heading {
    font-size: 5vw;
  }
  #trust_login .kv-feature-badge {
    flex: 1 1 100%;
  }
}

/* ---- セクション1 リニューアル用追加スタイル ---- */

/* 見出しエリア中央寄せ */
#trust_login .main_content .lp-section-header-center {
  text-align: center;
  margin-bottom: 2rem;
}

/* カードhoverエフェクト（白カード用） */
#trust_login .main_content .lp-card-hover {
  transition: box-shadow 0.3s ease;
}
#trust_login .main_content .lp-card-hover:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.14);
}

/* 3枚目カード用：ネイビーの細いボーダー強調 */
#trust_login .main_content .lp-card-border-navy {
  border: 2px solid rgba(0, 91, 172, 0.2);
  background: var(--lp-color-dark);
  color: #ffffff;
}
#trust_login .main_content .lp-card-border-navy.lp-card-hover:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
  border-color: rgba(0, 91, 172, 0.6);
}
#trust_login .main_content .lp-card-border-navy .lp-card-title,
#trust_login .main_content .lp-card-border-navy .lp-card-body {
  color: #ffffff;
}

#trust_login .main_content .lp-card-border-navy .lp-card-note-label,
#trust_login .main_content .lp-card-border-navy .lp-card-note-body {
  color: rgba(255, 255, 255, 0.85);
}


/* アイコン：ゴールドグラデーション */
#trust_login .main_content .lp-card-icon-gold-grad {
  background: #005bac;
  box-shadow: 0 4px 12px rgba(0, 91, 172, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
#trust_login .main_content .lp-card-icon-gold-grad i {
  color: #fff;
  filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.5));
}

/* アクセントカラー（ネイビー） */
#trust_login .main_content .lp-accent-gold-dark {
  color: #005bac;
}

@media (max-width: 768px) {
  #trust_login .main_content .lp-section-header-center {
    margin-bottom: 40px;
  }
}

/* ---- セクション2 リニューアル用スタイル ---- */

#trust_login .main_content .lp-section-overflow {
  overflow: hidden;
}

/* 2カラムレイアウト */
#trust_login .main_content .lp-ransom-layout {
  display: flex;
  align-items: center;
  gap: 64px;
}

/* 左カラム */
#trust_login .main_content .lp-ransom-left {
  flex: 1;
  min-width: 0;
}

/* 右カラム */
#trust_login .main_content .lp-ransom-right {
  flex: 1;
  min-width: 0;
  position: relative;
}

/* セクションタグ */
#trust_login .main_content .lp-ransom-tag {
  display: inline-block;
  padding: 6px 20px;
  background: #e8f1fb;
  border: 1px solid rgba(0,91,172,0.2);
  border-radius: 9999px;
  font-weight: 700;
  font-size: 12px;
  color: #005bac;
  margin-bottom: 24px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* 統計グリッド */
#trust_login .main_content .lp-stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 40px;
}

#trust_login .main_content .lp-stat-card {
  background: #fff;
  border: 1px solid #e0e0e0;
  padding: 24px;
  border-radius: 20px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
#trust_login .main_content .lp-stat-card:hover {
  transform: translateY(-5px);
  border-color: #005bac;
  box-shadow: 0 10px 15px rgba(0, 91, 172, 0.1);
}

#trust_login .main_content .lp-stat-card-wide {
  grid-column: 1 / -1;
}

#trust_login .main_content .lp-stat-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

#trust_login .main_content .lp-stat-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(120,40,42,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
#trust_login .main_content .lp-stat-icon i {
  color: #d93932;
  font-size: 13px;
}

#trust_login .main_content .lp-stat-label {
  font-size: 13px;
  font-weight: 700;
  color: #666666;
  letter-spacing: 0.08em;
}

#trust_login .main_content .lp-stat-num {
  font-size: 30px;
  font-weight: 700;
  color: #333333;
  line-height: 1;
}
#trust_login .main_content .lp-stat-num span {
  font-size: 13px;
  font-weight: 700;
  color: #666666;
}
#trust_login .main_content .lp-stat-num-sm {
  font-size: 22px;
}

#trust_login .main_content .lp-stat-source {
  font-size: 11px;
  color: #666666;
  margin-top: 12px;
  font-style: italic;
}

/* 右側：光彩エフェクト */
#trust_login .main_content .lp-ransom-glow {
  position: absolute;
  inset: -16px;
  background: rgba(0, 91, 172, 0.06);
  filter: blur(48px);
  border-radius: 50%;
  pointer-events: none;
}

/* 解決策カード */
#trust_login .main_content .lp-solution-card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 24px;
  padding: 32px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
  position: relative;
  z-index: 1;
  text-align: left;
}

#trust_login .main_content .lp-solution-card-title {
  font-size: 18px;
  font-weight: 700;
  color: #333333;
  margin-bottom: 24px;
}

#trust_login .main_content .lp-solution-items {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

#trust_login .main_content .lp-solution-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

#trust_login .main_content .lp-solution-icon {
  width: 48px;
  height: 48px;
  background: #f5f7fa;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.06);
}
#trust_login .main_content .lp-solution-icon i {
  color: #005bac;
  font-size: 20px;
}

#trust_login .main_content .lp-solution-item-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

#trust_login .main_content .lp-solution-item-title {
  font-size: 16px;
  font-weight: 700;
  color: #333333;
  margin-bottom: 4px;
}

#trust_login .main_content .lp-solution-item-title-row .lp-solution-item-title {
  margin-bottom: 0;
}

#trust_login .main_content .lp-solution-opt-badge {
  font-size: 11px;
  font-weight: 700;
  background: #e0e0e0;
  color: #666666;
  padding: 2px 8px;
  border-radius: 4px;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

#trust_login .main_content .lp-solution-item-body {
  font-size: 13px;
  color: #666666;
  line-height: 1.75;
}

#trust_login .main_content .lp-solution-item--border-bottom {
  padding-bottom: 24px;
  border-bottom: 1px solid rgb(241, 245, 249);
}

#trust_login .main_content .lp-solution-divider {
  border: none;
  border-top: 1px solid #e8f1fb;
}

/* サマリーボックス */
#trust_login .main_content .lp-solution-summary {
  margin-top: 28px;
  padding: 20px;
  background: #f5f7fa;
  border: 1px solid #e0e0e0;
  border-radius: 16px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
#trust_login .main_content .lp-solution-summary-icon {
  color: #005bac;
  font-size: 24px;
  flex-shrink: 0;
  margin-top: 2px;
}
#trust_login .main_content .lp-solution-summary-title {
  font-size: 13px;
  font-weight: 700;
  color: #333333;
  margin-bottom: 4px;
}
#trust_login .main_content .lp-solution-summary-body {
  font-size: 13px;
  color: #666666;
  line-height: 1.7;
}

/* レスポンシブ */
@media (max-width: 960px) {
  #trust_login .main_content .lp-ransom-layout {
    flex-direction: column;
    gap: 48px;
  }
  #trust_login .main_content .lp-ransom-left,
  #trust_login .main_content .lp-ransom-right {
    width: 100%;
  }
}

@media (max-width: 600px) {
  #trust_login .main_content .lp-stat-grid {
    grid-template-columns: 1fr;
  }
  #trust_login .main_content .lp-stat-card-wide {
    grid-column: auto;
  }
  #trust_login .main_content .lp-stat-num {
    font-size: 24px;
  }
}

/* ---- セクション3 リニューアル用スタイル ---- */

/* 上段：2カラムグリッド */
#trust_login .main_content .lp-sso-top-grid {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 32px;
  align-items: center;
  margin-bottom: 72px;
}

/* 上段左テキスト */
#trust_login .main_content .lp-sso-top-text .lp-heading {
  margin-bottom: 20px;
}

/* ハイライトボックス（ブルーグラデ） */
#trust_login .main_content .lp-sso-highlight-box {
  background: #005bac;
  border-radius: 40px;
  padding: 32px;
  color: #fff;
  position: relative;
  box-shadow: 0 20px 40px rgba(0, 91, 172, 0.3);
}


#trust_login .main_content .lp-sso-highlight-inner {
  text-align: center;
}

#trust_login .main_content .lp-sso-highlight-label {
  font-size: 12px;
  font-weight: 700;
  opacity: 0.8;
  margin-bottom: 8px;
}

#trust_login .main_content .lp-sso-highlight-num {
  position: relative;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
  min-height: 64px;
}

#trust_login .main_content .lp-sso-highlight-badge {
  position: absolute;
  left: 10px;
  bottom: 6px;
  background: #d93932;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  white-space: nowrap;
}

#trust_login .main_content .lp-sso-highlight-big {
  font-size: 64px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.03em;
}

#trust_login .main_content .lp-sso-highlight-unit {
  font-size: 24px;
  font-weight: 700;
}

#trust_login .main_content .lp-sso-highlight-footer {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.2);
  font-size: 13px;
  line-height: 1.8;
}

#trust_login .main_content .lp-sso-highlight-gold {
  color: #ffffff;
  font-weight: 700;
}

/* 下段サブ見出し */
#trust_login .main_content .lp-sso-subheading {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.35;
  color: #333333;
  margin-bottom: 32px;
  text-align: left;
}

#trust_login .main_content .lp-sso-subheading .lp-accent-gold {
  color: #005bac;
}

/* チェックリスト（新スタイル） */
#trust_login .main_content .lp-sso-checklist {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

#trust_login .main_content .lp-sso-check-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

#trust_login .main_content .lp-sso-check-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(0, 91, 172, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

#trust_login .main_content .lp-sso-check-icon i {
  color: #005bac;
  font-size: 14px;
}

#trust_login .main_content .lp-sso-check-title {
  font-size: 16px;
  font-weight: 700;
  color: #333333;
  margin-bottom: 6px;
  text-align: left;
}

#trust_login .main_content .lp-sso-check-body {
  text-align: left;
  font-size: 13px;
  color: #666666;
  line-height: 1.75;
}

/* レスポンシブ */
@media (max-width: 960px) {
  #trust_login .main_content .lp-sso-top-grid {
    grid-template-columns: 1fr;
    margin-bottom: 48px;
  }
  #trust_login .main_content .lp-sso-subheading {
    font-size: 22px;
  }
}

@media (max-width: 600px) {
  #trust_login .main_content .lp-sso-highlight-big {
    font-size: 48px;
  }
  #trust_login .main_content .lp-sso-highlight-num {
    min-height: 48px;
  }
  #trust_login .main_content .lp-sso-highlight-badge {
    left: -20px;
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
  }
  #trust_login .main_content .lp-sso-subheading {
    font-size: 20px;
  }
}

/* ---- セクション4 ガイドライン リニューアル用スタイル ---- */

/* コンテナ幅制限 */
#trust_login .main_content .lp-container-narrow-md {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

/* セクションタグ（ガイドライン） */
#trust_login .main_content .lp-guideline-tag {
  display: inline-block;
  padding: 4px 16px;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 4px;
  font-weight: 700;
  font-size: 11px;
  color: #ffffff;
  margin-bottom: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* 見出しサブテキスト（ガイドライン） */
#trust_login .main_content .lp-guideline-heading-sub {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,255,0.7);
  margin-top: 8px;
}

#trust_login .main_content #guideline .lp-heading {
  font-size: 1.875rem;
}

/* テーブルカード（白・ガラス風） */
#trust_login .main_content .lp-guideline-glass {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 58, 111, 0.15);
  overflow: hidden;
}

/* テーブル本体 */
#trust_login .main_content .lp-guideline-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

#trust_login .main_content .lp-guideline-table thead tr {
  background: #f5f7fa;
  border-bottom: 1px solid #e0e0e0;
}

#trust_login .main_content .lp-guideline-table thead th {
  padding: 16px 24px;
  font-size: 13px;
  font-weight: 700;
  color: #333333;
}

#trust_login .main_content .lp-guideline-th-check {
  width: 56px;
  padding: 16px 8px !important;
  text-align: center;
}

#trust_login .main_content .lp-guideline-table thead th:last-child {
  width: 510px;
}

#trust_login .main_content .lp-guideline-table tbody tr {
  border-bottom: 1px solid #e8f1fb;
}
#trust_login .main_content .lp-guideline-table tbody tr:nth-child(even) {
  background: #f5f7fa;
}

#trust_login .main_content .lp-guideline-table tbody td {
  padding: 16px 24px;
  font-size: 15px;
  color: #333333;
  line-height: 1.75;
  vertical-align: middle;
}

#trust_login .main_content .lp-guideline-td-check {
  padding: 16px 8px !important;
  text-align: center;
  vertical-align: middle;
}

#trust_login .main_content .lp-guideline-check-icon {
  color: var(--lp-color-red);
  font-size: 20px;
}

/* 要求事項セル */
#trust_login .main_content .lp-guideline-req-title {
  font-size: 13px;
  font-weight: 700;
  color: #333333;
  line-height: 1.4;
  margin-bottom: 4px;
}

#trust_login .main_content .lp-guideline-req-sub {
  font-size: 11px;
  color: #666666;
  font-style: italic;
}

/* 免責事項ボックス */
#trust_login .main_content .lp-guideline-disclaimer {
  margin-top: 24px;
  padding: 20px 24px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
}

#trust_login .main_content .lp-guideline-disclaimer-text {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.8;
  text-align: left;
}

#trust_login .main_content .lp-guideline-disclaimer-title {
  color: #ffffff;
  font-weight: 700;
}

/* レスポンシブ */
@media (max-width: 600px) {
  #trust_login .main_content .lp-guideline-table tbody td:last-child,
  #trust_login .main_content .lp-guideline-table thead th:last-child {
    display: none;
  }
  #trust_login .main_content .lp-guideline-table thead th,
  #trust_login .main_content .lp-guideline-table tbody td {
    padding: 12px 16px;
  }
}

/* ---- セクション4.5 信頼指標セクション ---- */

/* 3カラムグリッド */
/* =============================================
   機能紹介セクション (Features)
   ============================================= */
#trust_login .main_content .lp-features-section {
  padding: 96px 0;
  background: #f5f7fa;
  border-top: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
}

#trust_login .main_content .lp-features-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

#trust_login .main_content .lp-features-header {
  text-align: center;
  margin-bottom: 64px;
}

#trust_login .main_content .lp-features-tag {
  display: inline-block;
  padding: 6px 24px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  color: #005bac;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

#trust_login .main_content .lp-features-heading {
  font-size: 36px;
  font-weight: 700;
  color: #333333;
  line-height: 1.3;
  letter-spacing: 0.05em;
  margin-bottom: 16px;
}

#trust_login .main_content .lp-features-accent-red {
  color: #005bac;
}

#trust_login .main_content .lp-features-lead {
  font-size: 15px;
  font-weight: 400;
  color: #666666;
  max-width: 480px;
  margin: 0 auto;
}

/* 機能グリッド */
#trust_login .main_content .lp-feat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

#trust_login .main_content .lp-feat-card {
  background: #fff;
  padding: 28px 24px;
  border-radius: 24px;
  border: 1px solid #e8f1fb;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
  cursor: pointer;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  display: flex;
  flex-direction: column;
  text-align: left;
}

#trust_login .main_content .lp-feat-card:hover {
  box-shadow: 0 12px 32px rgba(0,0,0,0.1);
  transform: translateY(-4px);
}

#trust_login .main_content .lp-feat-card-leak {
  background: #fef2f2;
  border-color: #d93932;
}

#trust_login .main_content .lp-feat-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  transition: background 0.25s ease;
  flex-shrink: 0;
}

#trust_login .main_content .lp-feat-icon i {
  font-size: 20px;
  transition: color 0.25s ease;
}

#trust_login .main_content .lp-feat-icon-red {
  background: #e8f1fb;
}
#trust_login .main_content .lp-feat-icon-red i {
  color: #005bac;
}
#trust_login .main_content .lp-feat-card:hover .lp-feat-icon-red {
  background: #005bac;
}
#trust_login .main_content .lp-feat-card:hover .lp-feat-icon-red i {
  color: #fff;
}

#trust_login .main_content .lp-feat-icon-gold {
  background: #f5f7fa;
}
#trust_login .main_content .lp-feat-icon-gold i {
  color: #d93932;
}
#trust_login .main_content .lp-feat-card:hover .lp-feat-icon-gold {
  background: #d93932;
}
#trust_login .main_content .lp-feat-card:hover .lp-feat-icon-gold i {
  color: #fff;
}

#trust_login .main_content .lp-feat-icon-red-white {
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
#trust_login .main_content .lp-feat-icon-red-white i {
  color: #d93932;
}
#trust_login .main_content .lp-feat-card:hover .lp-feat-icon-red-white {
  background: #d93932;
}
#trust_login .main_content .lp-feat-card:hover .lp-feat-icon-red-white i {
  color: #fff;
}

#trust_login .main_content .lp-feat-title {
  font-size: 15px;
  font-weight: 700;
  color: #333333;
  margin-bottom: 10px;
}

#trust_login .main_content .lp-feat-body {
  font-size: 12px;
  font-weight: 400;
  color: #666666;
  line-height: 1.75;
  flex: 1;
}

#trust_login .main_content .lp-feat-more {
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 16px;
}
#trust_login .main_content .lp-feat-more i {
  font-size: 11px;
}
#trust_login .main_content .lp-feat-more-red { color: #005bac; }
#trust_login .main_content .lp-feat-more-gold { color: #d93932; }

/* =============================================
   モーダル
   ============================================= */
#trust_login .lp-modal-overlay,
.lp-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

#trust_login .lp-modal-backdrop,
.lp-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.6);
  backdrop-filter: blur(4px);
}

#trust_login .lp-modal-dialog,
.lp-modal-dialog {
  position: relative;
  background: #fff;
  width: 100%;
  max-width: 640px;
  border-radius: 40px;
  box-shadow: 0 32px 80px rgba(0,0,0,0.25);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  max-height: 90vh;
  animation: lpModalIn 0.3s ease-out;
}

@keyframes lpModalIn {
  from { opacity: 0; transform: scale(0.95); }
  to   { opacity: 1; transform: scale(1); }
}

/* 閉じるボタン */
#trust_login .lp-modal-close,
.lp-modal-overlay .lp-modal-close {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #f1f5f9;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666666;
  font-size: 16px;
  transition: background 0.2s ease;
  z-index: 10;
}
#trust_login .lp-modal-close:hover,
.lp-modal-overlay .lp-modal-close:hover {
  background: #e2e8f0;
}

/* スクロールエリア */
#trust_login .lp-modal-body,
.lp-modal-overlay .lp-modal-body {
  padding: 48px 48px 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* 各機能パネル（初期は非表示） */
#trust_login .lp-modal-panel,
.lp-modal-overlay .lp-modal-panel {
  display: none;
}
#trust_login .lp-modal-body::-webkit-scrollbar,
.lp-modal-overlay .lp-modal-body::-webkit-scrollbar { width: 6px; }
#trust_login .lp-modal-body::-webkit-scrollbar-track,
.lp-modal-overlay .lp-modal-body::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 10px; }
#trust_login .lp-modal-body::-webkit-scrollbar-thumb,
.lp-modal-overlay .lp-modal-body::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }

/* アイコン */
#trust_login .lp-modal-icon,
.lp-modal-overlay .lp-modal-icon {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  color: #fff;
  margin-bottom: 28px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}
#trust_login .lp-modal-icon-red,
.lp-modal-overlay .lp-modal-icon-red  { background: #005bac; }
#trust_login .lp-modal-icon-gold,
.lp-modal-overlay .lp-modal-icon-gold { background: #d93932; }

/* タイトル */
#trust_login .lp-modal-title,
.lp-modal-overlay .lp-modal-title {
  font-size: 24px;
  font-weight: 700;
  color: #333333;
  margin-bottom: 20px;
  line-height: 1.3;
}

/* コンテンツ wrapper */
#trust_login .lp-modal-content,
.lp-modal-overlay .lp-modal-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  color: #666666;
  font-size: 14px;
  line-height: 1.75;
  font-weight: 400;
}

/* リードテキスト */
#trust_login .lp-modal-lead,
.lp-modal-overlay .lp-modal-lead {
  font-size: 18px;
  color: #333333;
  font-weight: 400;
  margin: 0;
  line-height: 1.75;
}

/* 本文テキスト */
#trust_login .lp-modal-text,
.lp-modal-overlay .lp-modal-text {
  font-size: 13px;
  color: #666666;
  margin: 0;
  line-height: 1.75;
}

/* 注記テキスト */
#trust_login .lp-modal-note,
.lp-modal-overlay .lp-modal-note {
  font-size: 12px;
  color: #666666;
  font-style: italic;
  margin: 0;
}

/* 2カラムグリッド */
#trust_login .lp-modal-two-col,
.lp-modal-overlay .lp-modal-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* 情報ボックス */
#trust_login .lp-modal-info-box,
.lp-modal-overlay .lp-modal-info-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 16px 18px 18px;
}

#trust_login .lp-modal-info-title,
.lp-modal-overlay .lp-modal-info-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 8px;
  padding-left: 10px;
  border-left: 3px solid #e2e8f0;
  color: #333333;
}
#trust_login .lp-modal-info-title-navy,
.lp-modal-overlay .lp-modal-info-title-navy {
  color: #005bac;
  border-left-color: #005bac;
}
#trust_login .lp-modal-info-title-red,
.lp-modal-overlay .lp-modal-info-title-red {
  color: #d93932;
  border-left-color: #d93932;
}

#trust_login .lp-modal-info-body,
.lp-modal-overlay .lp-modal-info-body {
  font-size: 12px;
  color: #666666;
  line-height: 1.7;
  margin: 0;
}

/* チェックリスト（apps） */
#trust_login .lp-modal-checklist,
.lp-modal-overlay .lp-modal-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
#trust_login .lp-modal-checklist-item,
.lp-modal-overlay .lp-modal-checklist-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: #333333;
  line-height: 1.65;
}
#trust_login .lp-modal-check-icon-red,
.lp-modal-overlay .lp-modal-check-icon-red  { color: #d93932; margin-top: 2px; flex-shrink: 0; }
#trust_login .lp-modal-check-icon-navy,
.lp-modal-overlay .lp-modal-check-icon-navy { color: #005bac; margin-top: 2px; margin-right: 6px; flex-shrink: 0; }

/* 認証方式リスト（methods） */
#trust_login .lp-modal-method-list,
.lp-modal-overlay .lp-modal-method-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#trust_login .lp-modal-method-item,
.lp-modal-overlay .lp-modal-method-item {
  display: flex;
  align-items: center;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  gap: 18px;
}
#trust_login .lp-modal-method-label,
.lp-modal-overlay .lp-modal-method-label {
  min-width: 90px;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}
#trust_login .lp-modal-method-label-navy,
.lp-modal-overlay .lp-modal-method-label-navy { color: #005bac; }
#trust_login .lp-modal-method-label-red,
.lp-modal-overlay .lp-modal-method-label-red  { color: #d93932; }
#trust_login .lp-modal-method-desc,
.lp-modal-overlay .lp-modal-method-desc {
  font-size: 12px;
  color: #666666;
}

/* MFAグリッド */
#trust_login .lp-modal-mfa-grid,
.lp-modal-overlay .lp-modal-mfa-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
#trust_login .lp-modal-mfa-item,
.lp-modal-overlay .lp-modal-mfa-item {
  background: #f8fafc;
  border-radius: 18px;
  padding: 18px 12px;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  color: #333333;
}
#trust_login .lp-modal-mfa-item i,
.lp-modal-overlay .lp-modal-mfa-item i {
  display: block;
  font-size: 26px;
  margin-bottom: 10px;
}
#trust_login .lp-modal-mfa-icon-red,
.lp-modal-overlay .lp-modal-mfa-icon-red  { color: #d93932; }
#trust_login .lp-modal-mfa-icon-navy,
.lp-modal-overlay .lp-modal-mfa-icon-navy { color: #005bac; }

/* アクセス制限リスト */
#trust_login .lp-modal-access-list,
.lp-modal-overlay .lp-modal-access-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#trust_login .lp-modal-access-item,
.lp-modal-overlay .lp-modal-access-item {
  padding: 18px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
}
#trust_login .lp-modal-access-item-navy,
.lp-modal-overlay .lp-modal-access-item-navy {
  background: #f8fafc;
  border: 2px solid rgba(0,91,172,0.3);
}
#trust_login .lp-modal-access-title,
.lp-modal-overlay .lp-modal-access-title {
  font-size: 13px;
  font-weight: 700;
  color: #005bac;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}
#trust_login .lp-modal-access-title-row,
.lp-modal-overlay .lp-modal-access-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
#trust_login .lp-modal-access-badge,
.lp-modal-overlay .lp-modal-access-badge {
  background: #005bac;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 6px;
}

/* AD連携フロー */
#trust_login .lp-modal-ad-flow,
.lp-modal-overlay .lp-modal-ad-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 28px 16px;
}
#trust_login .lp-modal-ad-step,
.lp-modal-overlay .lp-modal-ad-step {
  text-align: center;
  color: #005bac;
  flex: 1;
}
#trust_login .lp-modal-ad-step i,
.lp-modal-overlay .lp-modal-ad-step i {
  display: block;
  font-size: 24px;
  margin-bottom: 8px;
}
#trust_login .lp-modal-ad-step div,
.lp-modal-overlay .lp-modal-ad-step div {
  font-size: 11px;
  font-weight: 700;
  color: #333333;
}
#trust_login .lp-modal-ad-spin,
.lp-modal-overlay .lp-modal-ad-spin {
  animation: lpAdSpin 5s linear infinite;
}
@keyframes lpAdSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
#trust_login .lp-modal-ad-arrow,
.lp-modal-overlay .lp-modal-ad-arrow {
  color: #cbd5e1;
  font-size: 18px;
  flex-shrink: 0;
}

/* ADシンプルリスト */
#trust_login .lp-modal-list-simple,
.lp-modal-overlay .lp-modal-list-simple {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 13px;
  color: #333333;
}
#trust_login .lp-modal-list-simple p,
.lp-modal-overlay .lp-modal-list-simple p { margin: 0; }

/* 漏洩検知ボックス */
#trust_login .lp-modal-leak-box,
.lp-modal-overlay .lp-modal-leak-box {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 18px;
  padding: 18px;
}
#trust_login .lp-modal-leak-title,
.lp-modal-overlay .lp-modal-leak-title {
  font-size: 13px;
  font-weight: 700;
  color: #d93932;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 0;
  margin-bottom: 8px;
}

/* 漏洩検知ソリューション */
#trust_login .lp-modal-leak-solution,
.lp-modal-overlay .lp-modal-leak-solution {
  background: #005bac;
  color: #fff;
  border-radius: 18px;
  padding: 20px;
}
#trust_login .lp-modal-leak-solution-title,
.lp-modal-overlay .lp-modal-leak-solution-title {
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 0;
  margin-bottom: 12px;
}
#trust_login .lp-modal-leak-list,
.lp-modal-overlay .lp-modal-leak-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 12px;
}
#trust_login .lp-modal-leak-list li,
.lp-modal-overlay .lp-modal-leak-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  opacity: 0.92;
}
#trust_login .lp-modal-leak-list li i,
.lp-modal-overlay .lp-modal-leak-list li i { color: #ffffff; margin-top: 2px; flex-shrink: 0; }

/* フッター */
#trust_login .lp-modal-footer,
.lp-modal-overlay .lp-modal-footer {
  padding: 24px 48px 36px 0;
  border-top: 1px solid #f1f5f9;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  background: #fff;
  position: sticky;
  bottom: 0;
  margin-top: 24px;
}

/* 閉じるボタン */
#trust_login .lp-modal-btn-close,
.lp-modal-overlay .lp-modal-btn-close {
  padding: 12px 32px;
  background: #333333;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  transition: background 0.2s ease;
  min-width: 120px;
}
#trust_login .lp-modal-btn-close:hover,
.lp-modal-overlay .lp-modal-btn-close:hover { background: #0f172a; }

/* 詳細ページリンク */
#trust_login .lp-modal-btn-ref,
.lp-modal-overlay .lp-modal-btn-ref {
  padding: 12px 32px;
  background: #fff;
  color: #005bac;
  font-size: 14px;
  font-weight: 700;
  border: 2px solid #005bac;
  border-radius: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background 0.2s ease, color 0.2s ease;
}
#trust_login .lp-modal-btn-ref:hover,
.lp-modal-overlay .lp-modal-btn-ref:hover {
  background: #005bac;
  color: #fff;
}

/* レスポンシブ */
@media (max-width: 1024px) {
  #trust_login .main_content .lp-feat-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  #trust_login .main_content .lp-features-heading {
    font-size: 26px;
  }
  #trust_login .main_content .lp-feat-grid {
    grid-template-columns: 1fr;
  }
  #trust_login .lp-modal-body,
  .lp-modal-overlay .lp-modal-body {
    padding: 28px 24px 0;
  }
  #trust_login .lp-modal-footer,
  .lp-modal-overlay .lp-modal-footer {
    padding: 16px 24px 28px 0;
  }
  #trust_login .lp-modal-two-col {
    grid-template-columns: 1fr;
  }
  #trust_login .lp-modal-ad-flow {
    flex-direction: column;
    gap: 8px;
  }
  #trust_login .lp-modal-ad-arrow {
    transform: rotate(90deg);
  }
  #trust_login .lp-modal-mfa-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* ---- フォーカススタイル（アクセシビリティ） ---- */
#trust_login a:focus-visible,
#trust_login button:focus-visible,
#trust_login input[type="submit"]:focus-visible,
#trust_login .kv-cta-btn:focus-visible,
#trust_login .lp-btn-plan2:focus-visible,
#trust_login .lp-campaign-btn:focus-visible,
#trust_login .lp-modal-close:focus-visible,
#trust_login .lp-modal-btn-close:focus-visible,
.lp-modal-overlay a:focus-visible,
.lp-modal-overlay button:focus-visible {
  outline: 2px solid #005bac;
  outline-offset: 2px;
}
#trust_login a:focus:not(:focus-visible),
#trust_login button:focus:not(:focus-visible) {
  outline: none;
}
