@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 ButtonText}[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}


html {
	font-size: 62.5%;
}

body {
	font-family: "Noto Sans JP", "游ゴシック体","Yu Gothic","YuGothic","メイリオ","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	color: #222222;
}

body * {
	box-sizing: border-box;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
}

li {
	list-style: none;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

a {
	color: #E80D00;
	text-decoration: underline;
}

.prime150 {
	overflow: hidden;
}

.prime150 sup {
	top: -.5em;
	font-size: .9rem;
}

.prime150 a.textlink {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	padding-right: 1.5em;
	background: url(/special/prime150/images/g_icon_img_12_20231025.svg) no-repeat 100% 3px;
	background-size: 1em;
}

@media screen and (min-width: 768px) {
	.prime150 a.textlink:hover {
		text-decoration: none;
	}
}

.prime150 a.link {
	display: block;
}

.prime150 a.link {
	transition: opacity .3s ease;
}

@media screen and (min-width: 768px) {
	.prime150 a.link:hover {
		opacity: .75;
	}
}

/*--------------------------------------------------------------------------------
	header
--------------------------------------------------------------------------------*/

.header {
	position: relative;
	width: 100%;
	height: 85px;
	background: #ffffff;
}

.header-logo {
	position: absolute;
	top: 32px;
	left: 37px;
	width: 188px;
	z-index: 2;
}

.header-logo2 {
	width: 215px;
	margin: 0 auto;
	padding: 20px 0;
}

.header-btn {
	position: absolute;
	top: 0;
	right: 0;
	width: 110px;
	height: 85px;
}

.header-btn > a {
	display: flex;
	width: 100%;
	height: 100%;
	background: #DD2525;
	align-items: center;
	font-size: 1.2rem;
	line-height: 1.416;
	font-weight: 700;
	color: #ffffff;
	text-decoration: none;
	transition: opacity .3s ease;
}

.header-btn > a > span {
	position: relative;
	display: block;
	width: 100%;
	text-align: center;
}

.header-btn > a > span::after {
	content: '';
	display: block;
	width: 18px;
	height: 18px;
	margin: 8px auto 0;
	background: url(/special/prime150/images/g_icon_img_01_20231025.svg) no-repeat 0 0;
	background-size: cover;
}

.header-btn > a:hover {
	opacity: .7;
}

@media screen and (max-width: 767px) {
	.header {
		display: flex;
		height: 68px;
	}

	.header-logo {
		position: static;
		display: block;
		padding: 23px 0 0 14px;
		width: 138px;
	}

	.header-logo2 {
		width: 125px;
		margin-left: 15px;
	}

	.header-btn {
		width: 80px;
		height: 68px;
	}

	.header-btn > a {
		background: linear-gradient(135deg, rgba(198,0,0,1) 0%, rgba(219,0,118,1) 100%);
		font-size: 1.0rem;
	}

	.header-btn > a > span::after {
		width: 12px;
		height: 12px;
		margin-top: 5px;
	}
}


/*--------------------------------------------------------------------------------
	main
--------------------------------------------------------------------------------*/

main {
	width: 100%;
	overflow-x: hidden;
}

/* sp/pc */
.ml-v {
	display: none;
}

.sp-v.ml-v {
	display: block;
}

.lp-v {
	display: none;
}
.pc-v {
	display: none;
}
.sp-v.lp-v {
	display: block;
}

@media screen and (min-width: 768px) {
	.sp-v {
		display: none;
	}

	.pc-v {
		display: block;
	}
}

@media screen and (min-width: 768px) and (max-width: 1023.99px) {
	.ml-v {
		display: block;
	}

	.sp-v.ml-v {
		display: block;
	}

	.sp-v.lp-v {
		display: none;
	}

}

@media screen and (min-width: 1024px) {
	.ml-v {
		display: none;
	}

	.sp-v.ml-v {
		display: none;
	}

	.lp-v {
		display: block;
	}

	.sp-v.lp-v {
		display: block;
	}

}

.txt-bold {
	font-weight: 700;
}

.txt-red {
	color: #E80D00;
	font-weight: 700;
}

.txt-center {
	text-align: center;
}

/* cts-h2 */
.cts-h2 {
	position: relative;
	margin-bottom: 30px;
	color: #E80D00;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.cts-h2-white {
	color: #fff;
}

.cts-h2-white::before {
	border: 4px solid #fff;
}

@media screen and (min-width: 768px) {
	.cts-h2 {
		font-size: 4.5rem;
	}

	.cts-h2-white::before {
		border: 6px solid #fff;
	}
}

/* cts-h3 */
.cts-h3 {
	position: relative;
	padding-left: 30px;
	margin-bottom: 30px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
	overflow: hidden;
}

.cts-h3::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 5px;
	height: 4px;
	background-color: #E80D00;
}

.cts-h3::after {
	content: '';
	display: block;
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 12px;
	height: 4px;
	background-color: #E80D00;
	transform: skew(20deg);
}

@media screen and (min-width: 768px) {
	.cts-h3 {
		margin-bottom: 40px;
		font-size: 2.8rem;
	}

	.cts-h3::after {
		width: 15px;
	}
}

/*--------------------------------------------------------------------------------
	mainvis
--------------------------------------------------------------------------------*/
.mainvis {
	position: relative;
	width: 100%;
	height: 647px;
}

@media screen and (max-width: 380px) {
	.mainvis {
		height: 98vh;
	}
}

.mainvis-inner {
	position: relative;
	width: 100%;
	height: 100%;
	background: url(/special/prime150/images/g_mainvis_img_01_20231025.png) no-repeat 50% 50%;
	background-size: cover;
	overflow: hidden;
}

.mainvis-titleset {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}

.mainvis-titleset::before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 60%;
	background-color: rgba(27, 77, 179, .9);
	transform: skewX(20deg);
	transform-origin: bottom right;
}

.mainvis-titleset-inner {
	position: relative;
	z-index: 1;
	padding: calc(40 / 375 * 100%) calc(73 / 375 * 100%) calc(40 / 375 * 100%) calc(25 / 375 * 100%);
}

.mainvis-nisa {
	position: absolute;
	top: calc(40vw / 3.75);
	right: calc(73 / 375 * 100%);
	width: 44%;
}

.mainvis-title {
	margin-bottom: 20px;
}

.mainvis-scroll {
	display: none;
}

@media screen and (min-width: 768px) {
	.mainvis {
		height: 800px;
	}

	.mainvis-titleset {
		width: 59.72%;
		max-width: 840px;
	}

	.mainvis-titleset::before {
		width: 100%;
		min-width: 1070px;
		padding-top: 65.9047%;
		transform: skewX(18deg);
	}

	.mainvis-titleset-inner {
		position: relative;
		z-index: 1;
		/* padding: 50px 160px 98px 135px; */
		padding: 45px 0 68px 16.07%;
	}

	.mainvis-title {
		max-width: 776px;
		margin-bottom: 26px;
	}

	.mainvis-logotext {
		width: 102.43%;
		margin: -5px auto 0;
	}

	.mainvis-nisa {
		top: 45px;
		right: 0;
		width: 48%;
	}

	.mainvis-leadtext {
		max-width: 848px;
	}

	.mainvis-scroll {
		display: block;
		position: absolute;
		right: 30px;
		bottom: -24px;
		width: 25px;
		height: 106px;
		padding: 8px 0;
		background-color: #000;
		border-radius: 1px;
		color: #fff;
		line-height: 1;
		writing-mode: vertical-lr;
	}

	.mainvis-scroll-inner {
		display: flex;
		justify-content: center;
		position: relative;
		padding: 0 3px 0 11px;
		font-size: .8rem;
		font-weight: 700;
	}

	.mainvis-scroll-inner::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 7px;
		width: 1px;
		height: 100%;
		background-color: #fff;
	}

	.mainvis-scroll-inner::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 6px;
		width: 3px;
		height: 3px;
		background-color: #fff;
		border-radius: 100%;
		animation: scrollline 3s infinite linear 1s;
	}

	@keyframes scrollline {
		0% {
			top: 0;
		}
		100% {
			top: 87px;
		}
	}
}

@media screen and (min-width: 768px) and (max-width: 1140px) {
	.mainvis-titleset::before {
		padding-top: 0;
		height: 370px;
		min-width: 790px;
	}

	.mainvis-titleset-inner {
		padding: 45px 0 58px 16.07%;
	}

	.mainvis-scroll {
		display: none;
	}
}

/*--------------------------------------------------------------------------------
	about
--------------------------------------------------------------------------------*/
.about {
	position: relative;
	margin-top: 40px;
}

.about-upper {
	position: relative;
}

.about-detail {
	background-color: #fff;
	padding: 0 calc(20 / 375 * 100%) 30px;
}

.about-text {
	font-size: 1.6rem;
	line-height: 1.725;
	letter-spacing: 0.05em;
}

.about-lower {
	padding: 0 calc(20 / 375 * 100%) 40px;
	background-color: #F9F7F4;
}

.about-lower-banner {
	position: relative;
	margin-top: -52px;
	z-index: 1;
}

.about-note {
	margin-top: 14px;
	color: #666666;
	font-size: 1rem;
	line-height: 1.4;
}

.about-note span {
	display: inline-block;
	margin-right: 1em;
}

.about-title {
	margin-bottom: 14px;
}

.about-subtitle {
	margin-bottom: 20px;
	color: #E80D00;
	font-size: 1.8rem;
	line-height: 1.53;
	letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
	.about-upper {
		height: 560px;
		overflow: hidden;
	}

	.about-upper-image {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 560px;
		overflow: hidden;
	}

	.about-upper-image img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.about-detail {
		position: relative;
		z-index: 1;
		width: 60.42%;
		padding-top: 44.83%;
		max-width: 870px;
		min-width: 650px;
		background-color: transparent;
		padding: 0;
	}

	.about-detail::before {
		display: block;
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
		background-color: #fff;
		transform: skewX(-20deg);
		transform-origin: top right;
	}

	.about-detail-inner {
		position: relative;
		z-index: 1;
		padding: 30px 13.24% 70px 18.54%;
	}

	.about-title {
		margin-bottom: 24px;
	}

	.about-subtitle {
		margin-bottom: 32px;
		font-size: 2.4rem;
	}

	.about-text {
		font-size: 1.8rem;
		line-height: 2;
	}

	.about-lower {
		padding-bottom: 100px;
	}

	.about-lower-banner {
		max-width: 1100px;
		margin: -86px auto 0;
	}

	.about-note {
		max-width: 1100px;
		margin: 20px auto 0;
	}
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
	.about-title {
		padding-left: 24px;
		font-size: 3rem;
	}

	.about-title::before {
		width: 10px;
		height: 10px;
		border: 4px solid #E80D00;
	}

	.about-text {
		font-size: 1.4rem;
	}

	.about-detail-inner {
		padding-left: 10%;
	}
}


/*--------------------------------------------------------------------------------
	quality
--------------------------------------------------------------------------------*/
.quality-titleset {
	position: relative;
	height: 220px;
	padding: 38px calc(20 / 375 * 100%) 40px;
	background: rgb(234,14,1);
	background: linear-gradient(180deg, rgba(234,14,1,1) 0%, rgba(142,0,0,1) 100%);
	overflow: hidden;
}

.quality-title {
	color: #fff;
	margin-bottom: 0;
}

.quality-body {
	position: relative;
	background-color: #000;
	padding-bottom: 70px;
	color: #fff;
}

.quality-body::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding-top: 45.641%;
	background: url(/special/prime150/images/g_bg_img_01_20231025.png) no-repeat 50% 0;
	background-size: cover;
}

.quality-leadarea {
	position: relative;
	transform: translateY(-80px);
	padding: 0 calc(20 / 375 * 100%);
	z-index: 1;
}

.quality-wrp-leadtext {
	position: relative;
}

.quality-wrp-leadtext::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgb(150,0,0);
	background: linear-gradient(180deg, rgba(150,0,0,1) 0%, rgba(26,26,26,1) 60%, rgba(0,0,0,1) 100%);
}

.quality-leadtext {
	position: relative;
	padding: 20px;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.6;
	z-index: 1;
}

.quality-body-inner {
	position: relative;
	z-index: 1;
	margin-top: -50px;
}

.quality-subtitleset {
	position: relative;
	padding: 20px calc(20 / 375 * 100%) 0;
	z-index: 1;
}

.quality-graph-items {
	padding: 0 calc(20 / 375 * 100%) 0;
}

.quality-graph-item {
	margin-top: 30px;
}

.quality-graph-title {
	padding-top: 15px;
	margin-bottom: 17px;
	border-top: 2px solid #fff;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.34;
}

.quality-graph-detail {
	margin-top: 30px;
}

.quality-graph-text {
	padding: 0 calc(20 / 375 * 100%);
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.68;
	letter-spacing: .05em;
}

.quality-catch {
	position: relative;
	text-align: center;
	padding: 0 calc(10 / 375 * 100%);
	margin-top: 20px;
}

.quality-catch::before {
	content: '';
	display: block;
	width: 50px;
	height: 20px;
	margin: 0 auto 30px;
	background: url(/special/prime150/images/g_icon_img_11_20231025.svg) no-repeat 0 0;
	background-size: cover;
}

.quality-catch strong {
	position: relative;
	display: block;
	max-width: 360px;
	margin: 0 auto;
	padding: 0 30px;
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1.42;
	letter-spacing: .05em;
}

.quality-catch strong::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 112px;
	background: url(/special/prime150/images/g_icon_img_05_20231025.svg) no-repeat 0 0;
	background-size: cover;
}

.quality-catch strong::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	height: 112px;
	background: url(/special/prime150/images/g_icon_img_06_20231025.svg) no-repeat 0 0;
	background-size: cover;
}

.quality-graph-note {
	padding: 0 calc(20 / 375 * 100%);
	margin: 20px auto 0;
}

.quality-graph-note li {
	color: #fff;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.66;
}

@media screen and (min-width: 768px) {
	.quality-titleset {
		padding: 70px 40px;
		height: 282px;
	}

	.quality-titletext {
		bottom: -.18em;
		font-size: 14rem;
		line-height: 1;
	}

	.quality-title {
		max-width: 1100px;
		margin: 0 auto;
		text-align: center;
	}

	.quality-mainimage {
		height: 430px;
	}

	.quality-body {
		padding-bottom: 160px;
	}

	.quality-body::after {
		padding-top: 48.6111%;
	}

	.quality-leadarea {
		padding: 0 40px;
		max-width: 1180px;
		margin: 0 auto;
		transform: translateY(-77px);
	}

	.quality-wrp-leadtext {
		max-width: 1045px;
	}

	.quality-wrp-leadtext::before {
		transform: skewX(20deg);
	}

	.quality-leadtext {
		padding: 40px 62px 37px;
		font-size: 2.4rem;
		text-align: center;
	}

	.quality-body-inner {
		margin-top: -57px;
	}

	.quality-subtitleset {
		max-width: 1110px;
		padding: 42px 20px 0;
		margin: 0 auto;
	}

	.quality-graph-items {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 60px 50px;
		padding: 0 20px;
		max-width: 1110px;
		margin: -30px auto 0;
	}

	.quality-graph-item {
		width: calc(50% - 25px);
	}

	.quality-graph-detail {
		margin-top: 70px;
	}

	.quality-graph-text {
		font-size: 1.8rem;
		text-align: center;
	}

	.quality-catch {
		margin-top: 40px;
	}

	.quality-catch strong {
		max-width: 728px;
		padding: 0 36px;
		font-size: 2.8rem;
		line-height: 1.71;
	}

	.quality-catch strong::before,
	.quality-catch strong::after {
		top: 8px;
		width: 36px;
		height: 132px;
	}

	.quality-graph-note {
		display: flex;
		justify-content: space-between;
		width: 1110px;
		padding: 0 20px;
		margin-top: 43px;
	}
}

/*--------------------------------------------------------------------------------
	comparison
--------------------------------------------------------------------------------*/
.comparison {
	padding-bottom: 50px;
	background-color: #F9F7F4;
}

.comparison-inner {
	padding-top: 50px;
}

.comparison-header {
	padding: 0 calc(20 / 375 * 100%);
}

.comparison-graph-header {
	padding-right: calc(20 / 375 * 100%);
}

.comparison-graph-summary {
	margin-bottom: 10px;
	font-size: 1.4rem;
	line-height: 1.7;
}

.comparison-graph-summary + .comparison-graph-title {
	margin-top: 30px;
}

.comparison-body {
	padding-left: calc(20 / 375 * 100%);
}

.comparison-block + .comparison-block,
.comparison-graph-body + .comparison-graph-header {
	margin-top: 30px;
}

.comparison-graph-title {
	padding: 15px calc(20 / 375 * 100%) 0 0;
	margin-bottom: 24px;
	border-top: 2px solid #000;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.34;
}

.comparison-graph-catch {
	position: relative;
	text-align: center;
	margin-bottom: 30px;
}

.comparison-graph-catch strong {
	position: relative;
	display: block;
	max-width: 360px;
	margin: 0 auto;
	padding: 0 30px;
	color: #E80D00;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.11;
	letter-spacing: .02em;
}

.comparison-graph-catch strong::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 7px;
	height: 22px;
	background: url(/special/prime150/images/g_icon_img_08_20231025.svg) no-repeat 0 0;
	background-size: cover;
	transform: translateY(-50%);
}

.comparison-graph-catch strong::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 7px;
	height: 22px;
	background: url(/special/prime150/images/g_icon_img_09_20231025.svg) no-repeat 0 0;
	background-size: cover;
	transform: translateY(-50%);
}

.comparison-graph-items {
	margin-bottom: 30px;
}

.comparison-graph-image {
	padding-right: calc(20 / 375 * 100%);
}

.comparison-graph-item {
	margin-top: 5px;
}

.comparison-table-detail {
	margin: 20px auto 0;
	padding-right: 20px;
}

.comparison-table-notes {
	margin-top: -5px;
}

.comparison-table-notes li {
	position: relative;
	color: #666;
	padding-left: 1.5em;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.66;
}

.comparison-table-notes li {
	margin-top: 5px;
}

.comparison-table-notes li::before {
	content: '※';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	color: inherit;
	font-size: inherit;
}

.comparison-table-note {
	margin-top: 5px;
	color: #666;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.66;
	text-align: right;
}

.comparison-graph-type {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 30px;
	padding: 10px 0;
	background-color: #fff;
}

.comparison-graph-type li {
	position: relative;
	display: flex;
	align-items: center;
	font-size: 1.4rem;
}

.comparison-graph-type li:nth-child(1)::before {
	display: inline-block;
	content: '';
	width: 20px;
	height: 4px;
	background-color: #E80D00;
	margin-right: 10px;
}

.comparison-graph-type li:nth-child(2)::before {
	display: inline-block;
	content: '';
	width: 20px;
	height: 4px;
	background-color: #A6A6A6;
	margin-right: 10px;
}

@media screen and (min-width: 768px) {
	.comparison {
		padding-bottom: 107px;
	}

	.comparison-inner {
		padding-top: 90px;
	}

	.comparison-header,
	.comparison-body {
		max-width: 1180px;
		padding: 0 40px;
		margin: 0 auto;
	}

	.comparison-title {
		margin-bottom: 60px;
		text-align: center;
	}

	.comparison-block + .comparison-block,
	.comparison-graph-body + .comparison-graph-header {
		margin-top: 60px;
	}

	.comparison-graph .block-scrollable {
		margin-left: 0;
	}

	.comparison-graph-header {
		padding-right: 0;
	}

	.comparison-graph-summary {
		text-align: right;
		font-size: 1.6rem;
	}

	.comparison-graph {
		padding: 0;
	}

	.comparison-graph-items {
		display: flex;
		justify-content: space-between;
		gap: 0 60px;
		margin-top: 0;
		margin-bottom: 60px;
	}

	.comparison-graph-image {
		padding-right: 0;
	}

	.comparison-graph-item {
		flex: 1 1 calc(50% - 30px);
		margin-top: 10px;
	}

	.comparison-graph-title {
		margin-bottom: 35px;
	}

	.comparison-graph-catch strong {
		display: inline-block;
		max-width: 1100px;
		font-size: 2.2rem;
	}

	.comparison-table-detail {
		padding-right: 0;
	}

	.comparison-table-notes {
		display: flex;
		justify-content: space-between;
	}

	.comparison-table-notes.block {
		display: block;
	}

	.comparison-graph-type {
		padding: 18px 0;
	}

	.comparison-graph-type li {
		font-size: 1.6rem;
	}

	.comparison-graph-type li:nth-child(1)::before {
		width: 30px;
	}

	.comparison-graph-type li:nth-child(2)::before {
		width: 30px;
	}
}

/*--------------------------------------------------------------------------------
	table
--------------------------------------------------------------------------------*/
.table {
	overflow: hidden;
	padding-bottom: 1px;
}

.table-content {
	width: 100%;
	text-align: left;
	border: none;
	font-size: 1.6rem;
	line-height: 1.37;
	letter-spacing: .05em;
}

.table-layouter--for-pc {
	display: none;
}

.table-layouter--for-sp {
	display: table-column-group;
}

.table-header {
	border: 1px solid #DEDEDE;
	vertical-align: top;
	padding: 15px;
	background-color: #000;
	font-weight: 500;
	text-align: center;
	color: #fff;
}

.table-header span {
	display: block;
	font-size: 1.4rem;
	font-weight: 400;
}

.table-header-red {
	background: #C61E1E;
}

.table-header-gray {
	background: #808080;
}

.table-subheader {
	border: 1px solid #DEDEDE;
	vertical-align: middle;
	padding: 15px;
	background-color: #F7F7F7;
	font-weight: 400;
	text-align: center;
}

.table-cell {
	padding: 15px;
	background-color: #fff;
	border: 1px solid #DEDEDE;
	vertical-align: middle;
	text-align: center;
}

.table-cell > a {
	text-decoration: underline;
	transition: color 0.3s ease;
}

.table-cell > a[class^=c-icontext] {
	text-decoration: none;
}

.table-cell > a:hover {
	color: var(--color-txt-hover);
}

@media (min-width: 768px) {
	.table-layouter--for-pc {
		display: table-column-group;
	}
	.table-layouter--for-sp {
		display: none;
	}

	.table-performance .table-content {
		font-size: 1.4rem;
	}

	.table-performance .table-subheader,
	.table-performance .table-cell {
		padding: 11.5px 5px;
	}

	.table-performance .table-subheader span {
		font-weight: 700;
	}
}

/*--------------------------------------------------------------------------------
	scrollable
--------------------------------------------------------------------------------*/
@media (max-width: 767px) {
	.block-scrollable {
		position: relative;
		overflow: auto;
	}

	.block-scrollable .block-scrollable-inner {
		/* margin-left: -5.3333333333%; */
		/* margin-right: -5.3333333333%;
		padding-left: 5.3333333333%; */
	}

	.block-scrollable .block-scrollable-body {
		width: 1000px;
		padding-bottom: 10px;
		padding-right: 5.3333333333%;
	}

	.block-scrollable .block-scrollable-body::before {
		content: "";
		display: block;
		background: url(/special/prime150/images/g_icon_img_07_20231025.png) no-repeat center;
		background-size: contain;
		width: 135px;
		position: absolute;
		left: 50%;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 5;
		transform: translateX(-50%);
	}

	.block-scrollable.is-active .block-scrollable-body::before {
		display: none;
	}
}

.comparison-block {
	position: relative;
}


/*--------------------------------------------------------------------------------
	もっと見る
--------------------------------------------------------------------------------*/

tr.hidden:nth-child(n+10) {
	display: none;
}

.table-more {
	position: relative;
	margin-top: -220px;
	padding-top: 220px;
	padding-bottom: 60px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(249, 247, 244, 0.7) 30%, rgba(249, 247, 244, 1) 50%, rgba(249, 247, 244, 1) 100%);
	z-index: 10;
}

.table-more-inner {
	max-width: 315px;
	margin: 0 auto;
}

.button-down a {
	position: relative;
	display: block;
	padding: 15px 10px 8px;
	background-color: #000;
	border-radius: 5px;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-align: center;
	text-decoration: none;
}

.button-down a:after {
	content: '';
	display: block;
	width: 12px;
	height: 5px;
	margin: 8px auto 0;
	background: url(/special/prime150/images/g_icon_img_03_20231025.svg) no-repeat 0 0;
	background-size: cover;
}


@media (max-width: 767px) {
	.table-more {
		padding-bottom: 20px;
	}
}


/*--------------------------------------------------------------------------------
	jpxprime150
--------------------------------------------------------------------------------*/

.jpxprime150-titlearea {
	padding: 50px calc(20 / 375 * 100%) 0;
}

.jpxprime150-body {
	position: relative;
	background-color: #fff;
	padding-bottom: 50px;
}

.jpxprime150-wrp-leadtext {
	position: relative;
	padding: 20px 0;
}

.jpxprime150-wrp-leadtext::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
}

.jpxprime150-leadtext {
	position: relative;
	padding: 0 20px;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.68;
	z-index: 1;
}

.jpxprime150-subtitle {
	position: relative;
	margin-bottom: 20px;
	text-align: center;
}

.jpxprime150-subtitle p {
	position: relative;
	display: inline-block;
	padding: 0 27px;
}

.jpxprime150-subtitle p::before {
	content: '';
	display: block;
	position: absolute;
	top: 1.5em;
	left: 0;
	width: 100%;
	height: 2px;
	background-color:#E80D00;
}

.jpxprime150-subtitle em {
	position: relative;
	display: inline-block;
	padding: 0 15px;
	font-style: normal;
}

.jpxprime150-subtitle em::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 2px;
	width: 100%;
	height: 100%;
	transform: skew(20deg);
	background-color: #fff;
	z-index: 1;
}

.jpxprime150-subtitle span {
	position: relative;
	z-index: 1;
	color: #E80D00;
	font-size: 2rem;
	font-weight: 700;
	z-index: 2;
}

.jpxprime150-body-inner {
	margin-top: 45px;
}

.jpxprime150-body-block {
	padding: 0 calc(20 / 375 * 100%);
}

.jpxprime150-border {
	padding: 20px;
	border: 1px solid #707070;
}

.jpxprime150-imageset-title {
	margin-bottom: 20px;
}

.jpxprime150-imageset-note {
	padding: 10px 12px;
	margin-bottom: 20px;
	background-color: #000;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .05em;
}

.jpxprime150-imageset-notes li {
	position: relative;
	padding-left: 39px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
}

.jpxprime150-imageset-notes li:not(:last-child) {
	margin-bottom: 16px;
}

.jpxprime150-imageset-notes li::before {
	content: '';
	display: block;
	position: absolute;
	top: 2px;
	left: 0;
	width: 24px;
	height: 24px;
	background: url(/special/prime150/images/g_icon_img_04_20231025.svg) no-repeat 0 0;
	background-size: cover;
}

.jpxprime150-imageset-image {
	margin-top: 30px;
}

.jpxprime150-more {
	width: 50px;
	height: 20px;
	margin: 20px auto;
	background: url(/special/prime150/images/g_icon_img_13_20231025.svg) no-repeat 0 0;
	background-size: cover;
}

.jpxprime150-basis-item {
	padding: 20px 0 0;
	border-top: 1px solid #999;
}

.jpxprime150-basis-titleset {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}

.jpxprime150-basis-num {
	width: 54px;
	height: 54px;
	padding: 9px 0 0;
	background-color: #C61E1E;
	color: #fff;
	font-size: 1.1rem;
	line-height: 1.2;
	text-align: center;
}

.jpxprime150-basis-num span {
	font-size: 2.1rem;
}

.jpxprime150-basis-titletext {
	margin-left: 16px;
	font-weight: 700;
	line-height: 1.71;
}

.jpxprime150-basis-lead {
	font-size: 1.4rem;
}

.jpxprime150-basis-title {
	font-size: 1.8rem;
	line-height: 1.66;
	letter-spacing: .05em;
}

.jpxprime150-basis-text {
	font-size: 1.4rem;
	line-height: 1.71;
}

.jpxprime150-basis-note {
	color: #666;
	font-size: 1.2rem;
	margin-top: 16px;
}

.jpxprime150-banner-note {
	margin-top: 16px;
	font-size: 1.4rem;
	line-height: 1.71;
}

.jpxprime150-btn {
	position: relative;
	padding: 40px;
	width: 100%;
	margin: 50px 0 0;
}

.jpxprime150-btn::after {
	content: '';
    display: block;
    position: absolute;
    top: 0;
    left: -5%;
    width: 110%;
    height: 100%;
    background-color: #C61E1E;
	transform: skew(12deg);
}

.jpxprime150-btn .jpxprime150-btn-inner {
	z-index: 10;
	position: relative;
	max-width: 980px;
	margin: auto;
}

.jpxprime150-btn .jpxprime150-btn-header {
	text-align: center;
}

.jpxprime150-btn .jpxprime150-btn-header .cts-h2 {
	color: #fff;
	margin-bottom: 10px;
}

.jpxprime150-btn-list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 20px 0 0 0;
}

.jpxprime150-btn-list-01,
.jpxprime150-btn-list-02,
.jpxprime150-btn-list-03 {
	width: 100%;
}

.jpxprime150-btn-list .jpxprime150-btn-list-01 img {
	width: 40%;
	vertical-align: middle;
}
.jpxprime150-btn-list .jpxprime150-btn-list-02 img,
.jpxprime150-btn-list .jpxprime150-btn-list-03 img {
	width: 60%;
	vertical-align: middle;
}

.jpxprime150-btn-list a.jpxprime150-btn-list-btn {
	display: flex;
	align-items: center;
	width: 100%;
	height: calc( 58vw / 3.75);
	background: #ffffff;
	border: solid 3px #E9ECF0;
	border-radius: 6px;
	font-size: 1.8rem;
	line-height: 1.6;
	font-weight: bold;
	color: #222222;
}

.jpxprime150-btn-list a.jpxprime150-btn-list-btn.jpxprime150-btn-list-btn--02 {
	background: #E80D00;
	border: solid 3px #E80D00;
	color: #ffffff;
}

.jpxprime150-btn-list a.jpxprime150-btn-list-btn > div {
	width: 100%;
	text-align: center;
	line-height: 1;
}

.jpxprime150-btn-list a.jpxprime150-btn-list-btn > div > span {
	display: inline-block;
	padding: 0 0 0 24px;
	position: relative;
}

.jpxprime150-btn-list a.jpxprime150-btn-list-btn {
	position: relative;
}

.jpxprime150-btn-list a.jpxprime150-btn-list-btn:before {
	position: absolute;
	top: 50%;
	right: 15px;
	width: 18px;
	height: 18px;
	transform: translate(0,-50%);
	content: "";
	background: url(/special/prime150/images/g_icon_img_10_20231025.svg) no-repeat center center / contain;
}

.jpxprime150-btn-list a.jpxprime150-btn-list-btn.jpxprime150-btn-list-btn--02 > div > span > span {
	display: block;
	font-size: 1.2rem;
}

.jpxprime150-btn-list-ver2 {
	display: flex;
	flex-wrap: wrap;
	margin: 10px 0 0 0;
}
.jpxprime150-btn-list-ver2 .jpxprime150-btn-list-ver2-item {
	width: 100%;
}
.jpxprime150-btn-list-ver2 .jpxprime150-btn-list-ver2-item a {
	display: block;
	color: #fff;
	font-size: 1.4rem;
	text-decoration: none;
	padding: 20px 0;
	border-bottom: 1px solid #fff;
}
.jpxprime150-btn-list-ver2 a.jpxprime150-btn-list-btn {
	position: relative;
}
.jpxprime150-btn-list-ver2 a.jpxprime150-btn-list-btn:before {
	position: absolute;
	top: 50%;
	right: 15px;
	width: 18px;
	height: 18px;
	transform: translate(0,-50%);
	content: "";
	background: url(/special/prime150/images/g_icon_img_14_20260616.svg) no-repeat center center / contain;
}

@media (max-width: 767px) {

	.jpxprime150-basis-item + .jpxprime150-basis-item {
		margin-top: 30px;
	}
}

@media (min-width: 768px) {
	.jpxprime150-titlearea {
		max-width: 1180px;
		padding: 80px 40px 0;
		margin: 0 auto;
	}

	.jpxprime150-title {
		margin-bottom: 60px;
	}

	.jpxprime150-body {
		position: relative;
		background-color: #fff;
		padding-bottom: 120px;
	}

	.jpxprime150-wrp-leadtext {
		position: relative;
	}

	.jpxprime150-wrp-leadtext::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #fff;
	}

	.jpxprime150-wrp-leadtext {
		max-width: 1045px;
		padding: 40px 0 37px;
	}

	.jpxprime150-wrp-leadtext::before {
		transform: skewX(20deg);
	}

	.jpxprime150-leadtext {
		position: relative;
		padding: 0 62px;
		font-size: 2.2rem;
		z-index: 1;
	}

	.jpxprime150-subtitle {
		margin-bottom: 50px;
	}

	.jpxprime150-wrp-leadtext .jpxprime150-subtitle {
		margin-bottom: 30px;
	}

	.jpxprime150-subtitle p {
		padding: 0 48px;
	}

	.jpxprime150-subtitle p::before {
		top: 2em;
	}

	.jpxprime150-subtitle em {
		padding: 0 30px;
	}

	.jpxprime150-subtitle span {
		font-size: 2.8rem;
	}


	.jpxprime150-body-block {
		max-width: 1180px;
		padding: 0 40px 0;
		margin: 0 auto;
	}

	.jpxprime150-body-inner {
		margin-top: 105px;
	}

	.jpxprime150-column-items {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0 40px;
	}

	.jpxprime150-column-items.jpxprime150-imageset {
		gap: 0 50px;
	}

	.jpxprime150-column-item {
		flex: 1 1 calc(50% - 40px);
	}

	.jpxprime150-border {
		padding: 50px;
	}

	.jpxprime150-border.jpxprime150-imageset {
		padding: 40px;
	}

	.jpxprime150-imageset-title {
		margin-bottom: 40px;
	}

	.jpxprime150-imageset-image {
		margin-top: 0;
	}

	.jpxprime150-imageset-note {
		padding-left: 12px;
		padding-right: 12px;
		margin-bottom: 30px;
		font-size: 1.6rem;
	}

	.jpxprime150-basis-items {
		align-items: flex-start;
	}

	.jpxprime150-basis-item {
		padding-top: 40px;
	}

	.jpxprime150-basis-titleset {
		margin-bottom: 25px;
	}

	.jpxprime150-basis-num {
		width: 70px;
		height: 70px;
		padding-top: 10px;
		font-size: 1.4rem;
	}

	.jpxprime150-basis-num span {
		font-size: 2.8rem;
	}

	.jpxprime150-basis-lead {
		font-size: 1.6rem;
	}

	.jpxprime150-basis-title {
		font-size: 2rem;
	}

	.jpxprime150-basis-text {
		font-size: 1.6rem;
		line-height: 1.4;
	}

	.jpxprime150-basis-note {
		font-size: 1.4rem;
	}

	.jpxprime150-banner-note {
		font-size: 1.6rem;
		margin-top: 20px;
	}
	

	.jpxprime150-btn {
		padding: 50px 50px 70px;
		width: 90%;
		margin: 80px auto 0;
	}

	.jpxprime150-btn::after {
		left: 0;
		width: 100%;
		transform: skew(20deg);
	}

	.jpxprime150-btn-list {
		gap: 30px;
	}

	.jpxprime150-btn-list .jpxprime150-btn-list-01,
	.jpxprime150-btn-list .jpxprime150-btn-list-02,
	.jpxprime150-btn-list .jpxprime150-btn-list-03 {
		width: calc((100% - 60px) / 3);
		margin: 0;
	}

	.jpxprime150-btn-list a.jpxprime150-btn-list-btn {
		height: 82px;
		font-size: 2.2rem;
		transition: all 0.4s;
	}

	.jpxprime150-btn-list a.jpxprime150-btn-list-btn:hover {
		color: #E80D00;
		border: solid 3px #E80D00;
	}

	.jpxprime150-btn-list a.jpxprime150-btn-list-btn.jpxprime150-btn-list-btn--02:hover {
		color: #E80D00;
		background: #FFFFFF;
	}

	.jpxprime150-btn-list a.jpxprime150-btn-list-btn > div > span {
		padding: 0 0 0 28px;
	}

	.jpxprime150-btn-list a.jpxprime150-btn-list-btn > div > span:before {
		width: 20px;
		height: 20px;
	}

	.jpxprime150-btn-list a.jpxprime150-btn-list-btn.jpxprime150-btn-list-btn--01 > div > span:before {
		width: 16px;
		height: 16px;
	}

	.jpxprime150-btn-list a.jpxprime150-btn-list-btn.jpxprime150-btn-list-btn--02 > div > span:before {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0,-50%);
		width: 20px;
		height: 20px;
		content: "";
		background: url(/special/prime150/images/g_arrow_img_01_20230913.svg) no-repeat center center / contain;
		transition: all 0.4s;
	}

	.jpxprime150-btn-list a.jpxprime150-btn-list-btn.jpxprime150-btn-list-btn--02 > div > span:after {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0,-50%);
		width: 20px;
		height: 20px;
		content: "";
		background: url(/special/prime150/images/g_arrow_img_02_20230913.svg) no-repeat center center / contain;
		opacity: 0;
		transition: all 0.4s;
	}

	.jpxprime150-btn-list a.jpxprime150-btn-list-btn.jpxprime150-btn-list-btn--02:hover > div > span:before {
		opacity: 0;
	}

	.jpxprime150-btn-list a.jpxprime150-btn-list-btn.jpxprime150-btn-list-btn--02:hover > div > span:after {
		opacity: 1;
	}

	.jpxprime150-btn-list a.jpxprime150-btn-list-btn.jpxprime150-btn-list-btn--02 > div > span > span {
		font-size: 1.4rem;
	}

	.jpxprime150-btn-list-ver2 {
		gap: 30px;
	}
	.jpxprime150-btn-list-ver2 .jpxprime150-btn-list-ver2-item {
		width: calc((100% - 30px) / 2);
	}
	.jpxprime150-btn-list-ver2 .jpxprime150-btn-list-ver2-item a {
		font-size: 1.6rem;
		opacity: 1;
		transition: opacity .3s ease;
	}
	.jpxprime150-btn-list-ver2 .jpxprime150-btn-list-ver2-item a:hover {
		opacity: 0.8;
	}
}

/*--------------------------------------------------------------------------------
	disclaimer
--------------------------------------------------------------------------------*/
.disclaimer {
	background: #EDEDED;
	padding: 50px calc(20 / 375 * 100%);
}

.disclaimer .txt-red {
	color: #DD2525;
}

.disclaimer-wrap {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.disclaimer-ttl-01 {
	position: relative;
	padding-bottom: 15px;
	margin-bottom: 30px;
	border-bottom: 1px solid #222;
}

.disclaimer-ttl-01-inner {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .05em;
	font-weight: 700;
}

.disclaimer-ttl-01-inner span {
	font-size: 1.2rem;
	font-weight: 400;
}

.disclaimer-ttl-02 {
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: .05em;
	font-weight: 700;
	margin: 30px 0;
}

.disclaimer-ttl-03 {
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: .05em;
	font-weight: 700;
	margin: 15px 0;
}

.disclaimer-ttl-04 {
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: .05em;
	font-weight: 700;
	margin-bottom: 30px;
}

.disclaimer-txt-01 {
	font-size: 1.4rem;
	letter-spacing: .05em;
	line-height: 1.6;
}

.disclaimer-txt-01 + .disclaimer-txt-01 {
	margin-top: 4px;
}

.disclaimer-txt-03 {
	position: relative;
	font-size: 1.4rem;
	letter-spacing: .05em;
	line-height: 1.6;
	padding: 0 0 0 1.5em;
}

.disclaimer-txt-03 + .disclaimer-txt-03 {
	margin-top: 4px;
}

.disclaimer-txt-03::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "※";
}

.disclaimer-list-01 {
	font-size: 1.4rem;
	letter-spacing: .05em;
	line-height: 1.6;
}

.disclaimer-list-01.disclaimer-list-01--01 {
	margin-top: 16px;
}

.disclaimer-list-01 > li {
	position: relative;
	padding: 0 0 0 1.5em;
}

.disclaimer-list-01 > li + li {
	margin-top: 12px;
}

.disclaimer-list-01.disclaimer-list-01--01 > li + li {
	margin-top: 4px;
}

.disclaimer-list-01 > li:before {
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 10px;
	height: 10px;
	content: "";
	background: #999;
	border-radius: 100%;
}

.disclaimer-list-01 > li.disclaimer-list-01-red {
	color: #DD2525;
	font-weight: 700;
}

.disclaimer-list-01 > li.disclaimer-list-01-red:before {
	background: #DD2525;
}

.disclaimer-list-02 {
	color: #666;
	font-size: 1.4rem;
	line-height: 1.6;
	margin-top: 30px;
}

.disclaimer-list-02 > li {
	position: relative;
	padding: 0 0 0 1.5em;
}

.disclaimer-list-02 > li + li {
	margin-top: 4px;
}

.disclaimer-list-02 > li:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "※";
}

.disclaimer-list-03 {
	counter-reset: counter;
	list-style: none;
	padding: 0;
	margin: 0;
}

.disclaimer-list-03 li {
	position: relative;
	font-size: 1.4rem;
	letter-spacing: .05em;
	line-height: 1.6;
	padding-left: 1.5em;
}

.disclaimer-list-03 > li + li {
	margin-top: 12px;
}

.disclaimer-list-03 li:before {
	content: counter(counter)'.';
	counter-increment: counter;
	position: absolute;
	top: .0;
	left: 0;
	font-size: inherit;
	line-height: inherit;
}

.disclaimer-inner-list {
	margin: 20px 0 12px;
}

.disclaimer-inner-list > li + li {
	margin-top: 12px;
}

.disclaimer-block {
	margin-top: 30px;
}

@media screen and (min-width: 768px) {
	.disclaimer {
		padding: 120px 40px;
	}

	.disclaimer-ttl-01 {
		margin: 0 0 32px 0;
	}

	.disclaimer-ttl-01:before {
		top: 15px;
	}

	.disclaimer-ttl-01-inner {
		font-size: 2.0rem;
	}

	.disclaimer-ttl-01-inner > span {
		padding: 0 20px 0 0;
	}

	.disclaimer-ttl-02 {
		font-size: 1.6rem;
		margin: 24px 0 24px 0;
	}

	.disclaimer-ttl-02.disclaimer-ttl-02--01 {
		margin: 32px 0 24px 0;
	}

	.disclaimer-ttl-03 {
		font-size: 1.4rem;
		margin: 12px 0 8px 0;
	}

	.disclaimer-ttl-04 {
		font-size: 1.4rem;
	}

	.disclaimer-ttl-04:before {
		width: 11px;
		height: 11px;
	}

	.disclaimer-txt-01,
	.disclaimer-txt-03 {
		font-size: 1.4rem;
	}

	.disclaimer-txt-01 + .disclaimer-txt-01 {
		margin-top: 8px;
	}

	.disclaimer-list-01 {
		font-size: 1.4rem;
	}

	.disclaimer-list-01.disclaimer-list-01--01 {
		margin-top: 24px;
	}

	.disclaimer-list-01 > li + li {
		margin-top: 12px;
	}

	.disclaimer-list-01.disclaimer-list-01--01 > li + li {
		margin-top: 8px;
	}

	.disclaimer-list-01 > li:before {
		width: 11px;
		height: 11px;
	}

	.disclaimer-list-02 {
		margin-top: 24px;
	}

	.disclaimer-list-02 > li + li {
		margin-top: 8px;
	}

	.disclaimer-block {
		margin-top: 60px;
	}
}


/*--------------------------------------------------------------------------------
	footer
--------------------------------------------------------------------------------*/
.footer {
	position: relative;
	padding: 80px 0 120px;
	background-color: #4D4D4D;
	color: #ffffff;
	letter-spacing: 0.1em;
	line-height: 1.6;
}
.footer_inner {
	position: relative;
	width: min(100%, 1100px);
	padding: 0 60px;
	margin: 0 auto;
	color: #ffffff;
}

.footer_nav {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
}
.footer_nav li + li {
	border-left: 1px solid #ffffff;
}
.footer_nav li + li a {
	padding-left: 30px;
}
.footer_nav a {
	display: block;
	padding-right: 30px;
	color: #ffffff;
	font-size: 1.4rem;
	line-height: 1;
	text-decoration: none;
	outline: none;
}
.footer_bottom {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 68px;
}
.footer_logo a {
	display: block;
	/* width: 300px; */
	margin: 0 0;
	outline: none;
}
.footer_copyright {
	flex: 0 1 auto;
	margin-left: auto;
	font-size: 1.0rem;
}
.footer_copyright p {
	width: 100%;
}
.footer_copyright p + p {
	margin-top: 20px;
}
.footer_nav a:focus {
	text-decoration: underline;
}
@media (any-hover: hover) {
	.footer_nav a:hover {
		text-decoration: underline;
	}
}
@media (max-width: 767px) {
	.footer {
		padding-top: 48px;
		padding-bottom: 48px;
	}
	.footer_inner {
		padding-left: 5%;
		padding-right: 5%;
	}

	.footer_nav li + li {
		border-left: none;
	}
	.footer_nav li + li a {
		padding-left: 0;
	}
	.footer_nav {
		flex-wrap: wrap;
		gap: 24px 0;
	}
	.footer_nav li {
		width: 100%;
	}
	.footer_nav a {
		line-height: 1.2;
	}
	.footer_bottom {
		display: block;
		margin-top: 48px;
	}
	.footer_logo {
		padding-top: 30px;
		border-top: 1px solid #ffffff;
	}
	.footer_logo a {
		width: 190px;
		margin: 0 auto;
		text-align: center;
	}
	.footer_copyright {
		margin-top: 30px;
	}
}

/*--------------------------------------------------------------------------------
	motion
--------------------------------------------------------------------------------*/

/* mainv */
@keyframes anime-float {
	from {
		margin-top: 0;
	}
	to {
		margin-top: -10px;
	}
}

@keyframes anime-float02 {
	0% {
		margin-top: 0;
	}
	45% {
		margin-top: -15px;
	}
	60% {
		margin-top: -5px;
	}
	75% {
		margin-top: -10px;
	}
	100% {
		margin-top: 0;
	}
}

.js-fadein02 {
	opacity: 0;
	transition: all 1.5s;
}

.js-fadein02-act {
	opacity: 1;
}

.js-fadein01 {
	opacity: 0;
	transition: all 1.5s;
}

.js-fadein01-act {
	opacity: 1;
	animation: anime-float 1.5s infinite alternate ease-in-out 1s;
}

/* inview - slideup */
.js-slideup {
	will-change: translate, opacity;
	transform: translate(0,60px);
	opacity: 0;
	transition: all 0.8s ease-in-out;
}

.js-slideup-act {
	transform: translate(0,0);
	opacity: 1.0;
}

.mt-0 {
	margin-top: 0;
}