@charset "UTF-8";

/*--------------------------------------------------------------------------------
	reset
--------------------------------------------------------------------------------*/

html{-webkit-text-size-adjust:100%;box-sizing:border-box;-moz-tab-size:4;tab-size:4;word-break:normal}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{margin:0;padding:0}hr{color:inherit;height:0;overflow:visible}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}
h1,h2,h3,h4,h5,h6 {font-size: inherit;}

html {
	font-size: 62.5%;
}
html.locked {
	overflow-y: hidden;
}
body {
	color: #343434;
	font-size: 1.6rem;
	font-family: "Noto Sans JP", "游ゴシック体","Yu Gothic","YuGothic","メイリオ","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	line-height: 1.8;
	letter-spacing: .06em;
}
body * {
	box-sizing: border-box;
}
li {
	list-style: none;
}
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
a {
	text-decoration: underline;
}
@media screen and (min-width: 768px) {
	body {
		font-size: 1.8rem;
	}
}


/* common
--------------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	.u-sp-v {display: block !important;}
	.u-pc-v {display: none !important;}
}
@media screen and (min-width: 768px) {
	.u-sp-v {display: none !important;}
	.u-pc-v {display: block !important;}
}

/* 汎用マージン */
.u-mt-10 {margin-top: 10px!important;}
.u-mt-xs {margin-top: 20px!important;}
.u-mt-s {margin-top: 30px!important;}
.u-mt-m {margin-top: 40px!important;}
.u-mt-l {margin-top: 50px!important;}
.u-mt-xl {margin-top: 60px!important;}
.u-mt-xxl {margin-top: 80px!important;}
.u-mt-none {margin-top: 0!important;}
@media screen and (min-width: 768px) {
	.u-mt-xs {margin-top: 30px!important;}
	.u-mt-s {margin-top: 40px!important;}
	.u-mt-m {margin-top: 50px!important;}
	.u-mt-l {margin-top: 60px!important;}
	.u-mt-xl {margin-top: 80px!important;}
	.u-mt-xxl {margin-top: 120px!important;}
}

/* header */
.header {
	position: fixed;
	top: 0;
	z-index: 10;
	width: 100%;
	height: 100px;
	background: #fff;
	box-shadow: 0 -1px 0 rgba(0, 0, 0, .25) inset;
 	transition: all .3s;
}

.header.is-viewout {
	top: -100px;
}

.header-logo {
	position: absolute;
	top: 15px;
	left: 15px;
	height: 20px;
	z-index: 2;
	display: flex;
	justify-content: flex-start;
	gap: 15px;
	width: calc(100% - 180px);
}

.header-logo a {
	display: flex;
	align-items: center;
	width: auto;
	height: 100%;
}

.header-logo img {
	display: block;
	width: auto;
	margin-block: auto;
}

.header-logo .logo-etf img,
.header-logo .logo-sbi img {
	height: 18px;
}

.header-nav {
	position: absolute;
	right: 17px;
	bottom: 10px;
	left: 17px;
}
.header-nav > ul {
	display: flex;
	justify-content: center;
	width: 100%;
}
.header-nav__item {
	position: relative;
	flex: 1;
	padding-right: 12px;
	padding-left: 13px;
}

.header-nav__item:not(:first-child) {
	border-left: 1px solid rgba(0, 0, 0, .1);
}

.header-nav__item:first-child {
	padding-left: 0;
}

.header-nav__item:last-child {
	padding-right: 0;
}

.header-nav__item:nth-of-type(2) a {
	white-space: nowrap;
}

.header-nav__item > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: inherit;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
}

.header-btn {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
}

.header-btn a {
	display: flex;
	padding: 6px 15px;
	background: #222;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: .025em;
	text-align: center;
	text-decoration: none;
}

@media screen and (min-width: 1130px) {
	.header {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 30px;
		height: 85px;
		padding-left: 40px;
	}

	.header.is-viewout {
		top: -85px;
	}

	.header-logo {
		position: static;
		top: auto;
		left: auto;
		gap: 40px;
		width: auto;
		height: 36px;
		padding-inline: 0;
		margin-right: auto;
	}

	.header-logo .logo-etf img,
	.header-logo .logo-sbi img {
		height: 32px;
	}

	.header-nav {
		flex: 0 0 auto;
		position: static;
		top: auto;
		right: auto;
		left: auto;
		margin-inline: 0;
	}
	.header-nav > ul {
		align-items: center;
	}
	.header-nav__item {
		flex: 0 0 auto;
		padding-right: 15px;
		padding-left: 16px;
	}
	.header-nav__item > a {
		font-size: 1.6rem;
		font-weight: 700;
	}

	.header-nav__item > a:hover {
		color: #006BCE;
	}

	.header-btn {
		flex: 0 0 auto;
		position: static;
		top: auto;
		right: auto;
		width: 120px;
		height: 100%;
		padding: 0;
	}
	.header-btn > a {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		height: 100%;
		font-size: 1.4rem;
		transition: all 0.4s;
	}
	.header-btn > a:hover {
		opacity: 0.8;
	}
}

@media screen and (min-width: 1200px) {
	.header-logo .logo-etf img,
	.header-logo .logo-sbi img {
		height: 32px;
	}
}

@media screen and (min-width: 1100px) and (max-width: 1199px) {
	.header-logo {
		gap: 20px;
	}

	.header-logo .logo-etf img,
	.header-logo .logo-sbi img {
		height: 28px;
	}
}

/* @media screen and (min-width: 1024px) and (max-width: 1120px) {
		.header-logo {
			width: 240px;
		}
		.header-nav {
			padding-left: 226px;
		}
		.header-nav__item > a::before {
	        margin-top: -3px;
			font-size: 1.7rem;
		}
	    .header-nav__item > a {
			font-size: 1.5rem;
		}
		.header-nav__item > a span {
		    padding-left: 40px;
		}
} */

/* footer */
.footer {
	background-color: #222;
	color: #fff;
	padding: 60px 20px 82px 20px;
}
.footer-wrap {
}
.footer-01 {
}
.footer-01 > ul {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
}
.footer-01 > ul > li + li {
	margin-top: 24px;
}
.footer-01 > ul > li > a {
	position: relative;
	color: #fff;
	text-decoration: none;
}
.footer-02 {
	display: flex;
	flex-wrap: wrap;
	margin-top: 48px;
	border-top: solid 1px #707070;
}
.footer-02-01 {
	order: 1;
	margin: 24px 0 0 0;
}
.footer-02-01-inner > dl {
	font-size: 1.0rem;
	line-height: 1.6;
}
.footer-02-01-inner > dl > dt {
	font-weight: 500;
}
.footer-02-01-inner > dl > dt > span {
	padding: 0 0 0 1em;
}
.footer-02-01-inner-copyright {
	margin-top: 16px;
	font-size: 1.0rem;
	line-height: 1.5;
	font-weight: 500;
}
.footer-02-02 {
	order: 0;
	margin: 48px auto 0 auto;
	width: 189px;
}
.footer-02 {
	display: flex;
	flex-wrap: wrap;
	margin-top: 48px;
	border-top: solid 1px #707070;
}
@media screen and (min-width: 768px) {
	.footer {
		padding: 64px 60px 48px 60px;
	}
	.footer-wrap {
		width: 100%;
		max-width: 1100px;
		margin: 0 auto;
	}
	.footer-01 > ul {
		margin: -16px -20px 0 0;
		line-height: 32px;
	}
	.footer-01 > ul > li {
		display: inline-block;
		padding: 0 40px 0 0;
		margin: 16px 40px 0 0;
		border-right: solid 1px #fff;
	}
	.footer-01 > ul > li + li {
		padding: 0 40px 0 0;
		margin: 16px 40px 0 0;
	}
	.footer-01 > ul > li:last-child {
		padding: 0 0 0 0;
		margin: 16px 0 0 0;
		border-right: none;
	}
	.footer-01 > ul > li > a {
		transition: all 0.4s;
	}
	.footer-01 > ul > li > a:hover {
		color: #006BCE;
	}
	.footer-02 {
		display: flex;
		width: 100%;
		padding: 50px 0 0 0;
		margin: 0 0 0 0;
		border-top: none;
	}
	.footer-02-01 {
		order: 1;
		flex: 1;
		margin: 0 0 0 0;
		padding: 0 0 0 60px;
		text-align: right;
	}
	.footer-02-01-inner {
		display: inline-block;
		text-align: left;
	}
	.footer-02-01-inner > dl {
		font-size: 1.2rem;
		line-height: 1.6;
	}
	.footer-02-02 {
		order: 0;
		width: 189px;
		margin: 0 0 0 0;
	}
}


body:has(.footer-wrap.is-actio) .l-sticky-btn {
	opacity: 0;
	pointer-events: none;
}
.l-sticky-btn {
	opacity: 1;
	transition: opacity 0.2s ease-in-out;
}


/* layout
--------------------------------------------------------------------------------*/
main {
	overflow-x: hidden;
	position: relative;
	width: 100%;
}
@media screen and (min-width: 768px) {
}

/* ご購入はこちらボタン */
.l-sticky-btn {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 10;
	transition: all 0.2s ease-in-out;
	width: 115px;
	height: 115px;
	padding-right: 15px;
}

.l-sticky-btn.is-hide {
	bottom: -100%;
}

.l-sticky-btn__inner {
	position: relative;
}

.l-sticky-btn__hide {
	position: absolute;
	top: -5px;
	right: -5px;
	z-index: 2;
	display: block;
	width: 20px;
	height: 20px;
	background: url(../images/base/g_hide_icon_01_20260220.svg) no-repeat 0 0 / contain;
	color: transparent;
	font-size: 0;
	cursor: pointer;

}

.l-sticky-btn.is-hide .l-sticky-btn__hide {
	transform:rotate(180deg);
}

.l-modal-trigger {
	position: relative;
	width: 100px;
	height: 100px;
	padding: 2px;
	border-radius: 50%;
	visibility: visible;
	transition: all 0.2s ease-in-out;
}

.l-modal-trigger__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #f7fff5 15%, #e5c22f 47%, #db8613 85%);
	border-radius: 50%;
	color: #33260C;
	font-size: 1.6rem;
	font-weight: 900;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

.l-sticky-btn.is-hide .l-modal-trigger {
	visibility: hidden;
	opacity: 0;
}

@media screen and (max-width: 767px) {
	.l-sticky-btn.is-hide {
    	bottom: -90px;
	}
}

@media screen and (min-width: 768px) {
	.l-sticky-btn {
		position: fixed;
		right: 0;
		bottom: 0;
		width: 240px;
		height: 240px;
		padding-right: 40px;
	}

	.l-sticky-btn.is-hide {
    	bottom: -180px;
	}

	.l-sticky-btn__hide {
		top: 0;
		right: 0;
		width: 30px;
		height: 30px;
	}

	.l-modal-trigger {
		width: 200px;
		height: 200px;
	}

	.l-modal-trigger__inner {
		font-size: 3rem;
	}
}


/* ------------------------------------------------------------------------------------------
共通
------------------------------------------------------------------------------------------ */
/* 見出し2 */
.c-heading-lv2 {
	margin-bottom: 40px;
	color: #FED742;
	text-align: center;
}

.c-heading-lv2__shoulder {
	position: relative;
	align-items: center;
	justify-content: center;
	display: flex;
	gap: 6px;
	margin-bottom: 20px;
	font-size: 2rem;
	font-weight: 700;
}

.c-heading-lv2__shoulder::before,
.c-heading-lv2__shoulder::after {
	flex-grow: 1;
	flex-shrink: 1;
	display: block;
	content: '';
	height: 4px;
	background: radial-gradient(circle closest-side, #FED742, #FED742 100%, transparent 100%) repeat-x center center / 7.76px 4px;
}

.c-heading-lv2__shoulder > span {
	position: relative;
	flex-grow: 0;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 7px 30px 9px;
	background: rgba(0, 0, 0, .5);
	border: 3px solid;
	line-height: 1;
	clip-path: polygon(0 50%, 16px 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 16px 100%);
	box-sizing: border-box;
}

.c-heading-lv2__shoulder > span::before {
	position: absolute;
	top: -3px;
	bottom: -3px;
	left: -2px;
	display: block;
	content: '';
	width: 29px;
	min-height: 40px;
	background: #FED742;
	clip-path: polygon(0 0, 19px 0, 3px 50%, 19px 100%, 0 100%);
}

.c-heading-lv2__shoulder > span::after {
	position: absolute;
	top: -3px;
	bottom: -3px;
	right: -2px;
	display: block;
	content: '';
	width: 29px;
	min-height: 40px;
	background: #FED742;
	clip-path: polygon(calc(100% - 19px) 0, 100% 0, 100% 100%, calc(100% - 19px) 100%, calc(100% - 3px) 50%);
}

.c-heading-lv2__text {
	color: #fff;
	font-size: 2rem;
	font-weight: 900;
	letter-spacing: .06em;
	line-height: 1.4;
}

.c-heading-lv2__text strong {
	display: inline-block;
	color: #FED742;
	font-size: 4.4rem;
	line-height: 1.35;
}

.c-heading-lv2__text strong:not(:last-child) {
	margin-bottom: 6px;
}

@media screen and (min-width: 768px) {
	.c-heading-lv2 {
		margin-bottom: 94px;
	}

	.c-heading-lv2__shoulder {
		gap: 10px;
		margin-bottom: 45px;
		font-size: 2.8rem;
	}

	.c-heading-lv2__shoulder::before,
	.c-heading-lv2__shoulder::after {
		height: 6px;
		background-position: -3px 0;
		background-size: 11.64px 6px;
	}

	.c-heading-lv2__shoulder > span {
		padding: 12px 47px 14px;
		clip-path: polygon(0 50%, 22px 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 22px 100%);
	}

	.c-heading-lv2__shoulder > span::before {
		width: 30px;
		min-height: 54px;
		clip-path: polygon(0 0, 25px 0, 3px 50%, 25px 100%, 0 100%);
	}

	.c-heading-lv2__shoulder > span::after {
		width: 30px;
		min-height: 54px;
		clip-path: polygon(calc(100% - 25px) 0, 100% 0, 100% 100%, calc(100% - 25px) 100%, calc(100% - 3px) 50%);
	}

	.c-heading-lv2__text {
		color: #fff;
		font-size: 5rem;
		line-height: 1.25;
	}

	.c-heading-lv2__text strong {
		display: inline-block;
		color: #FED742;
		font-size: 9.6rem;
		line-height: 1.35;
	}

	.c-heading-lv2__text strong:not(:last-child) {
		margin-bottom: 10px;
	}
}

/* 見出し3 */
.c-heading-lv3 {
	position: relative;
	display: flex;
	gap: 12px;
	margin-bottom: 30px;
	color: inherit;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
}

.c-heading-lv3::before {
	display: block;
	content: '';
	width: 8px;
	background: #C5911A;
	border-radius: 10px;
}

.c-heading-lv3--underline {
	padding-bottom: 15px;
}

.c-heading-lv3--underline::after {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	content: '';
	width: 100%;
	height: 2px;
	background: rgba(255, 255, 255, .25);
}

.c-heading-lv3 > * {
	color: inherit;
}

@media screen and (min-width: 768px) {
	.c-heading-lv3 {
		gap: 18px;
		margin-bottom: 40px;
		font-size: 3rem;
	}

	.c-heading-lv3::before {
		width: 12px;
	}

	.c-heading-lv3--underline {
		padding-bottom: 22px;
	}
}

/* リード */
.c-lead {
	margin-top: 30px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}

@media screen and (min-width: 768px) {
	.c-lead {
		margin-top: 60px;
		font-size: 2.4rem;
	}
}

/* リスト */
.c-list--check {
	font-size: 1.4rem;
}

.c-list--check .c-list__item {
	display: flex;
	gap: 10px;
}

.c-list--check .c-list__item:not(:first-child) {
	margin-top: 6px;
}

.c-list--check .c-list__item::before {
	flex: 0 0 auto;
	display: block;
	content: '';
	width: 2rem;
	height: 1lh;
	margin-bottom: auto;
	background: url(../images/base/g_check_icon_01_20260220.svg) no-repeat center center / contain;
}

@media screen and (min-width: 768px) {
	.c-list--check {
		font-size: 1.8rem;
	}

	.c-list--check .c-list__item:not(:first-child) {
		margin-top: 15px;
	}
}

/* 分割 */
.g-grid__item:not(:first-of-type) {
	margin-top: 60px;
}

@media screen and (min-width: 768px) {
	.g-grid {
		display: flex;
		gap: 22px;
	}

	.g-grid__item {
		margin-top: 0 !important;
		width: calc((100% - 22px * 2)/3);
	}
}

/* イメージセット */
.c-imageset {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.c-imageset__title {
	font-size: 2rem;
}

.c-imageset__text {
	font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
	.c-imageset__title {
		font-size: 2.4rem;
	}

	.c-imageset__text {
		font-size: 1.8rem;
		line-height: 2;
	}
}

/* テーブル */
.c-table {
	margin-top: 20px;
	letter-spacing: .025em;
}

.c-table__table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0;
}
.c-table__table th,
.c-table__table td {
	padding: 6px;
	border: 1px solid #aaa;
	text-align: center;
	vertical-align: middle;
}

.c-table__table td:empty {
	border: none;
}

.c-table__head-fill,
.c-table__body-fill {
	background-color: #F7F7F7;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5;
}

.c-table__head-fill--highlight {
	background: #12607D;
	color: #fff;
}

.c-table__head-fill span {
	display: inline-block;
	font-size: .9rem;
	line-height: 1.66;
}

.c-table__cell {
	background: #fff;
	font-size: 1.6rem;
}

.c-table__cell--highlight {
	background: #E5F9FF;
	color: #12607D;
	font-size: 1.8rem;
	font-weight: 700;
}

@media screen and (min-width: 768px) {
	.c-table {
		margin-top: 40px;
	}

	.c-table__table th,
	.c-table__table td {
		padding: 12px;
	}

	.c-table__head-fill,
	.c-table__body-fill {
		font-size: 1.8rem;
	}

	.c-table__head-fill span {
		font-size: 1.3rem;
		line-height: 1.2;
	}

	.c-table__cell {
		font-size: 3rem;
	}

	.c-table__cell--highlight {
		font-size: 4rem;
	}
}

/* コンテンツ */
.cts {
	padding: 60px 10px;
}

.cts-inner {
	position: relative;
	z-index: 2;
	margin-inline: auto;
	max-width: 1220px;
}

.cts-head {
	margin-bottom: 40px;
}

@media screen and (min-width: 768px) {
	.cts {
		padding-block: 120px;
	}

	.cts-head {
		margin-bottom: 100px;
	}
}

/* ボード */
.c-boad {
	padding: 30px 20px;
	background: #fff;
	border-radius: 20px;
}

.c-boad + .c-boad {
	margin-top: 20px;
}

.c-boad--black {
	background: #000;
	color: #fff;
}

.c-boad--gray {
	background: #E8ECF0;
}

@media screen and (min-width: 768px) {
	.c-boad {
		padding: 60px;
		border-radius: 40px;
	}

	.c-boad__inset {
		margin-inline: auto;
		max-width: 980px;
	}

	.c-boad + .c-boad {
		margin-top: 60px;
	}
}

/* ボード見出し */
.c-boad__title {
	margin-bottom: 20px;
	font-weight: 900;
	text-align: center;
}

.c-boad__title__shoulder {
	font-size: 1.8rem;
	line-height: 1.5;
}

.c-boad__title__text {
	font-size: 2.4rem;
	line-height: 1.3;
	font-weight: 900;
}

.c-boad__title__text strong {
	display: block;
	margin-top: 8px;
	font-size: 3.6rem;
}

.c-boad__title__text-s strong {
	margin-top: 10px;
	font-size: 3.6rem;
}

.c-boad__title__text-l strong {
	font-size: 4.8rem;
}

.c-boad__title__text em {
	color: #C5911A;
	font-style: normal;
}

@media screen and (min-width: 768px) {
	.c-boad__title {
		margin-bottom: 40px;
	}

	.c-boad__title__shoulder {
		font-size: 3rem;
	}

	.c-boad__title__text {
		font-size: 4.4rem;
	}

	.c-boad__title__text strong {
		font-size: 7.2rem;
	}

	.c-boad__title__text-s strong {
		font-size: 6.4rem;
	}

	.c-boad__title__text-l strong {
		font-size: 9.6rem;
	}

	.c-boad__title__text em {
		color: #C5911A;
		font-style: normal;
	}
}

/* 枠 */
.c-borderbox {
	margin-top: 20px;
	padding: 15px;
	border: 4px solid;
	border-radius: 10px;
	color: #C5911A;
	font-weight: 700;
}

.c-borderbox--coefficient {
	padding: 20px 15px;
}

.c-borderbox__text {
	font-size: 1.8rem;
	line-height: 1.5;
	text-align: center;
}

.c-borderbox--coefficient .c-borderbox__title {
	font-size: 1.6rem;
	letter-spacing: .025em;
	line-height: 1.5;
	text-align: center;
}

.c-borderbox--coefficient .c-borderbox__title span {
	font-size: 1.4rem;
}

.c-borderbox--coefficient .c-borderbox__text {
	margin-top: 5px;
	font-size: 6rem;
	line-height: 1.1;
}

@media screen and (min-width: 768px) {
	.c-borderbox {
		margin-top: 30px;
		padding: 16px 40px;
	}

	.c-borderbox--coefficient {
		display: flex;
		align-items: center;
		padding: 30px 40px;
	}

	.c-borderbox__text {
		font-size: 2.8rem;
		line-height: 1.5;
		text-align: center;
	}

	.c-borderbox--coefficient .c-borderbox__title {
		font-size: 2.8rem;
		letter-spacing: .06em;
		line-height: 1.5;
		text-align: left;
	}

	.c-borderbox--coefficient .c-borderbox__title span {
		font-size: 2.4rem;
	}

	.c-borderbox--coefficient .c-borderbox__title span:last-child {
		font-size: 2rem;
	}

	.c-borderbox--coefficient .c-borderbox__text {
		margin: 0 0 0 auto;
		font-size: 8rem;
		line-height: 1.1;
	}
}

/* ピンチイン・アウト */
.c-pinchinout {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 6px;
	margin-bottom: 20px;
	background: #EBECF0;
	border-radius: 40px;
	font-size: 1.2rem;
	letter-spacing: 0;
	line-height: 1;
}

.c-pinchinout::before {
	display: block;
	content: '';
	width: 28px;
	aspect-ratio: 1 / 1;
	background: url(../images/base/g_pinchinout_icon_01_20260220.svg) no-repeat 0 0 / contain;
}

.c-boad--black .c-pinchinout,
.c-boad--gray .c-pinchinout {
	background: #fff;
}


@media screen and (min-width: 768px) {
	.c-pinchinout {
		display: none;
	}
}

/* フィギュア */
.c-figure {
	margin-top: 30px;
}

.c-figure__title {
	padding: 6px 10px;
	margin-bottom: 20px;
	background: #000;
	border-radius: 5px;
	color: #fff;
	font-weight: 700;
	text-align: center;
}

.c-figure__title--white {
	background: #fff;
	color: inherit;
}

.c-figure__title > span:not([class*="u-font-montserrat"]) {
	font-size: 1.4rem;
}

@media screen and (min-width: 768px) {
	.c-figure {
		margin-top: 40px;
	}

	.c-figure__title {
		font-size: 2.4rem;
	}

	.c-figure__title > span:not([class*="u-font-montserrat"]) {
		font-size: inherit;
	}
}

/* 注釈 */
.c-remarks {
	margin-top: 20px;
	font-size: 1.2rem;
	letter-spacing: .04em;
	line-height: 1.6;
}

@media screen and (min-width: 768px) {
	.c-remarks {
		font-size: 1.4rem;
		line-height: 1.8;
	}
}

/* 動画 */
.c-youtube {
	position: relative;
}

.c-youtube::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}

.c-youtube > iframe {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* 掲示 */
.c-notice {
	padding-top: 30px;
}

.c-notice__title {
	position: relative;
	padding: 9px 30px;
	margin: 0 auto;
	width: max-content;
	min-width: 222px;
	background: #fff;
	border: 1px solid;
	border-radius: 80px;
	color: #343434;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}

.c-notice__content {
	margin-top: -30px;
	padding: 45px 15px 15px;
	background: #fff;
	border: 1px solid #fff;
	border-radius: 20px;
	color: #343434;
}

.c-notice .c-list {
	font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
	.c-notice {
		padding-top: 40px;
	}

	.c-notice__title {
		padding: 8px 29px;
		min-width: 400px;
		font-size: 1.6rem;
	}

	.c-notice__content {
		margin-top: -20px;
		padding: 40px 30px 30px;
	}

	.c-notice .c-list {
		font-size: 1.4rem;
		line-height: 1.8;
	}
}

/* ------------------------------------------------------------------------------------------
MV
------------------------------------------------------------------------------------------ */
.cts-mv {
	padding-top: 74px;
	background: #126280;
}

@media screen and (min-width: 768px) {
	.cts-mv {
		position: relative;
		z-index: 2;
		padding-top: 28.31px;
		background: #126280 url(../images/base/g_kvpc_bg_01_20260220.png) no-repeat center 4px;
		background-size: auto 100%;
	}

	.cts-mv-inner {
		position: relative;
		max-width: 1366px;
		margin-inline: auto;
	}

	.cts-mv::before {
		position: absolute;
		top: max( -595px, calc(-595 / 1366 * 100%));
		left: 50%;
		transform: translateX(max(-1193px, calc(-1193 / 1366 * 100vw)));
		display: block;
		content: '';
		width: min(1500px,  calc(1500 / 1366 * 100vw));
		aspect-ratio: 1 / 1;
		background: radial-gradient(circle, #000 0%, transparent 70%);
		opacity: 0.4;
	}

	.cts-mv img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
}

/* ------------------------------------------------------------------------------------------
投資成果
------------------------------------------------------------------------------------------ */
.cts-commitment {
	position: relative;
	overflow: hidden;
	background: #442006;
}

.cts-commitment::before {
	position: absolute;
	top: calc((100dvw - 375px) * -0.78);
	left: 0;
	display: block;
	content: '';
	width: 100%;
	aspect-ratio: 375 / 450;
	background: #000 url(../images/base/g_bgsp_bg_01_20260220.jpg) no-repeat 0 0 / 100% auto;
}

.cts-commitment::after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '';
	width: 100%;
	height: 150px;
	background: linear-gradient( to bottom, #126280, rgba(18, 98, 128, 0) 100%)
}

.cts-commitment .cts-head {
	margin-bottom: 96px;
}

.cts-commitment .c-boad__title__shoulder {
	margin-bottom: 4px;
	font-size: 2.4rem;
	line-height: 1.4;
}

.cts-commitment .c-figure__title {
	background: #442006;
}

@media screen and (min-width: 768px) {
	.cts-commitment {
		padding-top: 60px;
	}

	.cts-commitment::before {
		top: calc((100dvw - 1366px) * -0.34338358);
		min-height: 800px;
		aspect-ratio: 1366 / 800;
		background: url(../images/base/g_bgpc_bg_01_20260220.jpg) no-repeat 0 0 / 100% auto;
	}

	.cts-commitment::after {
		z-index: 1;
		width: 100%;
		height: 240px;
	}

	.cts-commitment .cts-head {
		min-height: 400px;
	}

	.cts-commitment-structure .c-boad__title__shoulder {
		margin-bottom: 0;
		font-size: 4.4rem;
		line-height: 1.6;
	}

 .cts-commitment-structure .c-boad__title__text strong {
		font-size: 6rem;
	}
}

@media screen and (min-width: 1367px) {
	.cts-commitment::before {
		top: calc((100dvw - 1366px) * -0.34338358);
	}
}


/* ------------------------------------------------------------------------------------------
パフォーマンス
------------------------------------------------------------------------------------------ */
.cts-performance {
	position: relative;
	background: #3D074A url(../images/base/g_bgsp_bg_02_20260220.jpg) no-repeat 0 0 / 100% auto;
	background-size: 100% auto;
}

.cts-performance-table-unit {
	font-size: 1rem;
}

.cts-performance-graphlist {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 15px;
	margin-top: 20px;
}

.cts-performance-graphlist__item {
	width: calc((100% - 15px) / 2);
}

.cts-performance-graphlist__title {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-bottom: 10px;
	font-size: 1.2rem;
	letter-spacing: .02em;
}

.cts-performance-graphlist__title-num {
	flex: 0 0 auto;
	display: block;
	width: 20px;
	height: 20px;
	background: #CB0228;
	border-radius: 50%;
	color: #fff;
	font-family: Monsterrat, sans-serif;
	font-weight: 600;
	line-height: 20px;
	text-align: center;
}

.cts-performance-graphlist__title-txt {
	font-weight: 500;
}

.cts-performance-graphlist__title-time {
	width: 100%;
	font-size: 1rem;
}

.cts-performance .c-figure__title {
	background: #3D074A;
}

@media screen and (max-width: 767px) {
	.cts-performance .c-boad:not(.c-boad--gray) .c-boad__title__text {
		font-size: 1.8rem;
		line-height: 1.5;
	}

	.cts-performance .c-boad:not(.c-boad--gray) .c-boad__title__text strong {
		margin-top: 5px;
	}

	.cts-performance .c-boad--gray {
		font-size: 1.4rem;
	}
}

@media screen and (min-width: 768px) {
	.cts-performance {
		background-image: url(../images/base/g_bgpc_bg_02_20260220.jpg);
	}

	.cts-performance .cts-performance-good .c-boad__title__text {
		font-size: 3rem;
		line-height: 1.5;
	}

	.cts-performance-set .c-boad__title__text strong {
		font-size: 6.4rem;
	}

	.cts-performance-table-unit {
		font-size: 2rem;
	}

	.cts-performance-graphlist {
		flex-wrap: nowrap;
		gap: 20px;
	}

	.cts-performance-graphlist__item {
		width: calc((100% - 20px * 3) / 4);
	}

	.cts-performance-graphlist__title {
		display: grid;
		grid-template-columns: 36px auto;
		grid-template-areas: 'num txt'
												 'num time';
		gap: 0 14px;
		margin-bottom: 10px;
		font-size: 1.2rem;
		letter-spacing: .02em;
	}

	.cts-performance-graphlist__title-num {
		grid-area: num;
		width: 36px;
		height: 36px;
		font-size: 1.8rem;
		line-height: 36px;
	}

	.cts-performance-graphlist__title-txt {
		grid-area: txt;
		font-size: 1.6rem;
	}

	.cts-performance-graphlist__title-time {
		grid-area: time;
		font-size: 1.4rem;
		text-indent: -.5em;
	}
}

/* ------------------------------------------------------------------------------------------
とは
------------------------------------------------------------------------------------------ */

.cts-outline {
	position: relative;
	background: #0D1263 url(../images/base/g_bgsp_bg_03_20260220.jpg) no-repeat 0 0 / 100% auto;
	background-size: 100% auto;
}

.cts-outline-list {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	color: #333;
}

.cts-outline-box {
	background: #fff;
	border: 4px solid #E9ECF0;
}

.cts-outline-list__item:nth-of-type(-n+6).cts-outline-box {
	border-color: #F55032;
	border-width: 8px;
}

@media screen and (max-width: 767px) {
	.cts-outline-list__item {
		width: calc((100% - 15px) / 2);
	}

	.cts-outline-list__item:nth-of-type(-n+4) {
		width: 100%;
	}

	.cts-outline-box {
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding: 30px 10px 25px;
	}

	.cts-outline-list__item:nth-of-type(-n+4).cts-outline-box {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
		padding: 20px 10px;
	}

	.cts-outline-box__image {
		flex-shrink: 0;
		flex-grow: 0;
		text-align: center;
	}

	.cts-outline-list__item:nth-of-type(-n+4) .cts-outline-box__image {
		padding: 0 10px;
	}

	.cts-outline-box__image img {
		width: 60px;
		height: 60px;
	}

	.cts-outline-list__item:nth-of-type(-n+4) .cts-outline-box__image img {
		width: 70px;
		height: 70px;
	}

	.cts-outline-list__item:nth-of-type(-n+4) .cts-outline-box__text {
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 8.5em;
	}

	.cts-outline-box__text-txt01 {
		font-family: 'Montserrat', sans-serif;
		font-size: 1.8rem;
		line-height: 27px;
		font-weight: 800;
		text-align: center;
		letter-spacing: 0;
	}

	.cts-outline-list__item:nth-of-type(-n+4) .cts-outline-box__text-txt01 {
		font-size: 2.6rem;
	}

	.cts-outline-box__text-txt01 > span {
		color: #F55032;
	}

	.cts-outline-box__text-txt02 {
		font-size: 1rem;
		line-height: 15px;
		font-weight: bold;
		margin: 5px 0 0 0;
		text-align: center;
	}

	.cts-outline-list__item:nth-of-type(-n+4) .cts-outline-box__text-txt02 {
		font-size: 1.4rem;
	}

}

@media screen and (min-width: 768px) {
	.cts-outline {
		background-image: url(../images/base/g_bgpc_bg_03_20260220.jpg);
	}

	.cts-outline-list {
		gap: 20px;
	}

	.cts-outline-list__item {
		width: calc((100% - 20px * 2) / 3);
	}

	.cts-outline-list__item:nth-of-type(-n+4) {
		width: calc((100% - 20px * 3) / 4);
	}

	.cts-outline-box {
		display: flex;
		align-items: center;
		gap: 20px;
		padding: 20px;
	}

	.cts-outline-list__item:nth-of-type(-n+4).cts-outline-box {
		flex-direction: column;
		flex-wrap: wrap;
		justify-content: center;
		gap: 13px;
		padding: 30px 20px;
	}

	.cts-outline-box__image {
		flex-shrink: 0;
		flex-grow: 0;
		text-align: center;
	}

	.cts-outline-list__item:nth-of-type(-n+4) .cts-outline-box__image {
		order: 2;
	}

	.cts-outline-box__image img {
		width: 70px;
		height: 70px;
	}

	.cts-outline-list__item:nth-of-type(-n+4) .cts-outline-box__image img {
		width: 80px;
		height: 80px;
	}

	.cts-outline-list__item:nth-of-type(-n+4) .cts-outline-box__text {
		order: 1;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.cts-outline-box__text-txt01 {
		font-family: 'Montserrat', sans-serif;
		font-size: 2.6rem;
		line-height: 32px;
		font-weight: 800;
		letter-spacing: 0;
	}

	.cts-outline-list__item:nth-of-type(-n+4) .cts-outline-box__text-txt01 {
		font-size: 3rem;
	}

	.cts-outline-box__text-txt01 > span {
		color: #F55032;
	}

	.cts-outline-box__text-txt02 {
		font-size: 1.4rem;
		line-height: 20px;
		font-weight: bold;
	}

	.cts-outline-list__item:nth-of-type(-n+4) .cts-outline-box__text-txt02 {
		margin-top: 5px;
		font-size: 1.4rem;
		text-align: center;
	}

}

@media screen and (min-width: 768px) and (max-width: 1300px) {
	.cts-outline-list__item {
		width: calc((100% - 20px) / 2);
	}

	.cts-outline-list__item:nth-of-type(-n+4) {
		width: calc((100% - 20px) / 2);
	}

	.cts-outline-box {
		flex-wrap: wrap;
		padding: 20px 2%;
	}

	.cts-outline-list__item:nth-of-type(-n+4).cts-outline-box {
		padding: 30px 2%;
	}

	.cts-outline-box__image {
		flex-shrink: 1;
	}

	.cts-outline-list__item:nth-of-type(-n+4) .cts-outline-box__image {
		width: 100%;
		max-width: 70px;
	}

	.cts-outline-list__item:nth-of-type(-n+4) .cts-outline-box__text {
		order: 1;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.cts-outline-box__text-txt01 {
		font-family: 'Montserrat', sans-serif;
		font-size: 2.6rem;
		line-height: 32px;
		font-weight: 800;
		letter-spacing: 0;
	}
}


/* ------------------------------------------------------------------------------------------
魅力
------------------------------------------------------------------------------------------ */

.cts-point {
	position: relative;
	background: #000 url(../images/base/g_bgsp_bg_04_20260220.jpg) no-repeat 0 0 / 100% auto;
	background-size: 100% auto;
}

.cts-point .c-heading-lv2__text strong {
	font-size: 4rem;
}

.cts-point .c-boad__title__text strong {
	font-size: 4.8rem;
}

.cts-point-list {
	display: flex;
	flex-wrap: wrap;
	gap: min( 110px, calc(110 / 375 * 100vw + 4px)) 5px;
	padding-top: min( 89.6px, calc(65 / 375 * 100vw + 4px));
}

.cts-point-list__item {
	position: relative;
	padding: min( 89.6px, calc(65 / 375 * 100vw + 4px)) 5px 12px;
	width: calc((100% - 5px) / 2);
	min-height: 180px;
	background: linear-gradient(to bottom right, #FFD52C, #975B0B);
	border-radius: 10px;
	text-align: center;
}

.cts-point-list__item::before {
	position: absolute;
	top: max(-89.6px, calc(-70 / 375 * 100vw));
	left: 50%;
	transform: translateX(-50%);
	display: block;
	content: '';
	width: calc(125 / 375 * 100vw);
	max-width: 160px;
	aspect-ratio: 1 / 1;
	background: #fff no-repeat 0 0 / cover;
	border-radius: 50%;
	border: 4px solid #C5911A;
}

.cts-point-list__item:nth-of-type(1):before {
	background-image: url(../images/base/g_rare_bg_01_20260220.jpg);
}

.cts-point-list__item:nth-of-type(2):before {
	background-image: url(../images/base/g_rare_bg_02_20260220.jpg);
}

.cts-point-list__item:nth-of-type(3):before {
	background-image: url(../images/base/g_rare_bg_03_20260220.jpg);
}

.cts-point-list__item:nth-of-type(4):before {
	background-image: url(../images/base/g_rare_bg_04_20260220.jpg);
}

.cts-point-list__item dt {
	color: #372801;
	font-weight: 700;
	line-height: 1;
}

.cts-point-list__item dt span {
	font-size: 1rem;
}

.cts-point-list__item dd {
	color: #fff;
	font-size: 2rem;
	font-weight: 900;
	line-height: 1.5;
}

.cts-point-list__item dd strong {
	font-size: 3rem;
}

@media screen and (min-width: 768px) {
	.cts-point {
		background-image: url(../images/base/g_bgpc_bg_04_20260220.jpg);
	}

	.cts-point .c-heading-lv2__text strong {
		font-size: 9.6rem;
	}

	.cts-point .c-boad__title__text strong {
		font-size: 9.6rem;
	}

	.cts-point-list {
		gap: 20px;
		padding-top: min(80px, calc(80 / 1366 * 100vw));
	}

	.cts-point-list__item {
		padding: min(100px, calc(100 / 1366 * 100vw)) 10px 30px;
		width: calc((100% - 20px * 3) / 4);
	}

	.cts-point-list__item::before {
		top: max(-80px, calc(-80 / 1366 * 100vw));
		width: min(160px, calc(160 / 1366 * 100vw));
	}

	.cts-point-list__item dt {
		font-size: 1.8rem;
		line-height: 1.5;
	}

	.cts-point-list__item dt span {
		font-size: inherit;
	}

	.cts-point-list__item dd {
		margin-top: 0;
		font-size: 2.4rem;
		line-height: 1.5;
	}

	.cts-point-list__item dd strong {
		font-size: 3.6rem;
	}

}


/* ------------------------------------------------------------------------------------------
特徴
------------------------------------------------------------------------------------------ */
.cts-feature {
	padding: 60px 15px;
	background: #1B3E55;
	color: #fff;
}

.cts-feature-inner {
	margin-inline: auto;
	max-width: 1100px;
}

@media screen and (min-width: 768px) {
	.cts-feature {
		padding-block: 120px;
	}
}

/* ------------------------------------------------------------------------------------------
基本情報
------------------------------------------------------------------------------------------ */
.cts-spec {
	padding: 60px 15px;
}

.cts-spec-inner {
	margin-inline: auto;
	max-width: 1100px;
}

.cts-spec-title {
	margin-bottom: 30px;
	font-size: 2.4rem;
}

.cts-spec-deflist {
	border-top: 1px solid #aaa;
	border-right: 1px solid #aaa;
}

.cts-spec-deflist__item dt,
.cts-spec-deflist__item dd {
	padding: 10px 15px;
	border-bottom: 1px solid #aaa;
	border-left: 1px solid #aaa;
}

.cts-spec-deflist__item dt {
	background: #F7F7F7;
	font-weight: bold;
}

@media screen and (min-width: 768px) {
	.cts-spec {
		padding-block: 120px;
	}

	.cts-spec-title {
		margin-bottom: 40px;
		font-size: 3.2rem;
	}

	.cts-spec-deflist__item {
		display: flex;
	}

	.cts-spec-deflist__item dt,
	.cts-spec-deflist__item dd {
		padding: 10px 20px;
	}

	.cts-spec-deflist__item dt {
		flex: 0 0 320px;
	}

	.cts-spec-deflist__item dd {
		flex-shrink: 1;
		flex-grow: 1;
	}
}


/* ------------------------------------------------------------------------------------------
ディスクレーマー
------------------------------------------------------------------------------------------ */
.cts-disclaimer {
	padding: 120px 15px;
	background: #ECECEC;
	color: #222;
	letter-spacing: .05em;
}

.cts-disclaimer-inner {
	margin-inline: auto;
	max-width: 980px;
}

.cts-disclaimer-heading-lv1 {
	margin-block: 70px 30px;
	font-size: 2rem;
}

.cts-disclaimer-heading-lv1:first-child {
	margin-top: 0;
}

.cts-disclaimer-heading-lv1 span {
	display: block;
	margin-top: 16px;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.6;
}

.cts-disclaimer-heading-lv2 {
	margin-block: 32px 14px;
	font-size: 1.6rem;
}

.cts-disclaimer-heading-lv2 > *::before {
	content: '＜';
}

.cts-disclaimer-heading-lv2 > *::after {
	content: '＞';
}

.cts-disclaimer-text {
	font-size: 1.4rem;
	line-height: 1.6;
}

.cts-disclaimer-text + .cts-disclaimer-text {
	margin-top: 2rem;
}

.cts-disclaimer-text a {
	color: #CC0000;
	text-decoration: underline;
}

.cts-disclaimer-text a:hover {
	text-decoration: none;
}

.cts-disclaimer-list {
	margin-top: 16px;
	font-size: 1.4rem;
}

.cts-disclaimer-list--square .cts-disclaimer-list__item {
	text-indent: -1em;
	margin-left: 1em;
}

.cts-disclaimer-list--separate .cts-disclaimer-list__item:not(:first-child) {
	margin-top: 16px;
}

.cts-disclaimer-list--square .cts-disclaimer-list__item::before {
	content: '■';
	width: 1em;
}

.cts-disclaimer-deflist__title {
	font-size: 1.4rem;
	font-weight: 700;
}

.cts-disclaimer-deflist__title::before {
	content: '●';
}

.cts-disclaimer-deflist__content {
	font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
	.cts-disclaimer {
		padding-block: 60px;
	}
}

/* ------------------------------------------------------------------------------------------
ユーティリティ
------------------------------------------------------------------------------------------ */
.u-txt-red {
	color: #CC0000 !important;
}

.u-txt-orange {
	color: #F55033 !important;
}

.u-txt-gold {
	color: #C5911A !important;
}

.u-txt-bold {
	font-weight: 700 !important;
}

.u-before-circle,
.u-before-dot,
.u-before-square {
	text-indent: -1em;
	margin-left: 1em;
}

.u-before-circle::before,
.u-before-dot::before,
.u-before-square::before {
	display: inline-block;
	width: 1em;
	text-align: center;
	text-indent: 0;
}

.u-before-circle::before {
	content: '●';
}

.u-before-dot::before {
	content: '・';
}

.u-before-square::before {
	content: '■';
}

.u-beforeafter-kakko::before {
	content: '＜';
}

.u-beforeafter-kakko::after {
	content: '＞';
}

.u-txt-noindent {
	margin-left: 0 !important;
	text-indent: 0 !important;
}

.u-mt-none {
	margin-top: 0 !important;
}

.u-mt20 {
	margin-top: 20px;
}

.u-mt30 {
	margin-top: 30px;
}

.u-txt-letter-spacing-none {
	letter-spacing: 0 !important;
}

.u-font-montserrat {
	font-family: Montserrat;
}

.u-font-montserrat-num {
	font-family: Montserrat;
	font-size: 1.12em;
}

@media screen and (max-width: 767px) {
	[pc] {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	[sp] {
		display: none;
	}
}

/* fade */
.js-inone {
	position: relative;
	opacity: 0;
}
.js-inone.is-actone {
	opacity: 1;
	animation: to-visible 0.4s ease-in forwards;
}
@keyframes to-visible {
  0% {
    opacity: 0;
		top: 10px;
  }
  40% {
    opacity: 0;
		top: 10px;
  }
  100% {
    opacity: 1;
		top: 0;
  }
}


/* モーダル */
.modal-portfolio {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 150;
	width: 100%;
	height: 100dvh;
	background-color: rgba(0, 0, 0, .8);
	opacity: 0;
	/* visibility: hidden; */
	pointer-events: none;
	transition: opacity 0.2s linear, visibility 0.2s;
	overflow-y: auto;
	-webkit-overflow-scrolling: auto;
	overflow-scrolling: auto;
}

.modal-portfolio__inner {
	position: relative;
	max-width: 1080px;
	padding: 70px 15px;
	margin-block: auto;
	z-index: 1;
}

.modal-portfolio__close {
	position: absolute;
	top: 12px;
	right: 2px;
	width: 44px;
	height: 44px;
	background: url(../images/base/g_close_icon_01_20260220.svg) no-repeat 50% 50% / 18px 18px;
	color: transparent;
	font-size: 0;
	cursor: pointer;
	z-index: 3;
}

.modal-portfolio__content {
	/* display: none; */
	width: 100%;
	/* height: 0; */

	/* pointer-events: none; */
}

.modal-portfolio__content.is-show {
	display: block;
	height: auto;
	pointer-events: all;
}

.modal-portfolio.is-show {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}

.modal-portfolio__title {
	padding: 20px 15px;
	background: #126280;
	border-radius: 30px 30px 0 0;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: .025em;
	line-height: 1.6;
	text-align: center;
}

.modal-portfolio__body {
	padding: 20px 15px 30px;
	background: #fff;
	border-radius: 0 0 30px 30px;
}

.modal-portfolio__list > li:not(:first-child) {
	margin-top: 10px;
}

.modal-portfolio__list > li a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 11px 40px;
	border: 4px solid #eee;
	border-radius: 15px;
}

.modal-portfolio__list > li a[target="_blank"]::before {
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	display: block;
	content: '';
	width: 18px;
	height: 18px;
	background: url(../images/base/g_external_icon_01_20260220.svg) no-repeat 0 0 / contain;
}

.modal-portfolio__list > li a img {
	width: auto;
	height: 50px;
}

.modal-portfolio__lead {
	margin-top: 20px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.modal-portfolio__reamks {
	margin-top: 10px;
	line-height: 1.6;
}

@media screen and (min-width: 768px) {
	.modal-portfolio {
		display: flex;
	}

	.modal-portfolio__inner {
		margin: auto;
	}

	.modal-portfolio__close {
		top: 10px;
		right: 15px;
		width: 40px;
		height: 40px;
		background-size: contain;
	}

	.modal-portfolio__content {
		margin: auto;
	}
	.modal-portfolio__title {
		padding: 26px 60px 28px;
		font-size: 3.2rem;
	}

	.modal-portfolio__body {
		padding: 60px 5% 60px;
	}

	.modal-portfolio__list  {
		display: flex;
		width: 100%;
		flex-wrap: wrap;
		gap: 30px;
	}

	.modal-portfolio__list > li {
		width: calc((100% - 30px) / 2);
	}

	.modal-portfolio__list > li:not(:first-child) {
		margin-top: 0;
	}

	.modal-portfolio__list >li a {
		padding: 16px 60px;
	}

	.modal-portfolio__list >li a img {
		height: 60px;
		min-height: 48px;
	}

	.modal-portfolio__lead {
		margin-top: 30px;
		font-size: 3rem;
	}

	.modal-portfolio__reamks {
		margin-top: 20px;
		font-family: 1.4rem;
		text-align: center;
	}
}
