@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;
}

@media only screen and (min-width: 737px) {

}

body * {
	box-sizing: border-box;
}


li {
	list-style: none;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

a {
	color: #1265D6;
	text-decoration: underline;
}



/*--------------------------------------------------------------------------------
	header
--------------------------------------------------------------------------------*/

.header {
	position: relative;
	width: 100%;
	height: 114px;
	background: #ffffff;
}

.header-logo {
	position: absolute;
	top: 17px;
	left: 20px;
	width: 139px;
	z-index: 2;
}

.header-logo.header-logo--alt {
	left: 10px;
	width: 120px;
}

.header-logorakuten {
	position: absolute;
	top: 17px;
	left: 140px;
	width: 120px;
	z-index: 2;
}

.header-nav {
	position: absolute;
	box-sizing: border-box;
	top: 50px;
	left: 0;
	width: 100%;
	height: 64px;
	padding: 0 20px;
}

.header-nav > ul {
	display: table;
	width: 100%;
	height: 64px;
}

.header-nav > ul > li {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}

.header-nav > ul > li > a {
	display: block;
	width: 100%;
	padding: 24px 0 0 0;
	text-align: center;
	font-size: 1.2rem;
	line-height: 14px;
	font-weight: bold;
	color: #222222;
	text-decoration: none;
	position: relative;
}

.header-nav > ul > li:nth-of-type(1) > a:before {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,0);
	width: 20px;
	height: 20px;
	content: "";
	background: url(/special/fang/images/fang/g_icon_img_01_20230913.svg) no-repeat center center / contain;
}

.header-nav > ul > li:nth-of-type(2) > a:before {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,0);
	width: 20px;
	height: 20px;
	content: "";
	background: url(/special/fang/images/fang/g_icon_img_02_20230913.svg) no-repeat center center / contain;
}

.header-nav > ul > li:nth-of-type(3) > a:before {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,0);
	width: 20px;
	height: 20px;
	content: "";
	background: url(/special/fang/images/fang/g_icon_img_13_20251014.svg) no-repeat center center / contain;
}

.header-nav.header--rakuten > ul > li:nth-of-type(3) > a:before {
	background: url(/special/fang/rakuten/images/fang/g_icon_img_03_20241015.svg) no-repeat center center / contain;
}

.header-btn {
	position: absolute;
	top: 0;
	right: 0;
	width: 104px;
	height: 37px;
}

.header-btn.header-btn--alt {
	width: 94px;
}

.header-btn > a {
	display: flex;
	width: 100%;
	height: 37px;
	background: #222222;
	align-items: center;
	font-size: 1.2rem;
	line-height: 1.6;
	font-weight: bold;
	color: #ffffff;
	text-decoration: none;
}

.header-btn > a > span {
	display: block;
	width: 100%;
	text-align: center;
}

@media screen and (min-width: 768px) and (max-width: 1023.99px) {

	.header {
		height: 114px;
	}

}

@media screen and (min-width: 1024px) {

	.header {
		height: 80px;
	}

	.header-logo {
		top: 22px;
		left: 30px;
		width: 189px;
	}

	.header-logo.header-logo--alt {
		top: 22px;
		left: 30px;
		width: 180px;
	}

	.header-logorakuten {
		top: 22px;
		left: 240px;
		width: 180px;
	}

	.header-nav {
		top: 28px;
		left: 0;
		width: 100%;
		height: 52px;
		padding: 0 0;
	}

	.header-nav.header-nav--alt {
		padding: 0 144px 0 420px;
	}

	.header-nav > ul {
		width: initial;
		height: 52px;
		margin: 0 auto;
	}

	.header-nav > ul > li {
		padding: 0 15px;
		vertical-align: top;
	}

	.header-nav > ul > li > a {
		padding: 0 0 0 30px;
		height: 52px;
		font-size: 1.4rem;
		line-height: 24px;
		position: relative;
		transition: all 0.1s;
	}

	.header-nav > ul > li > a:hover {
		color: #1265D6;
	}

	.header-nav > ul > li > a:after {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 0;
		content: "";
		background: #1265D6;
		transition: all 0.1s;
	}

	.header-nav > ul > li > a:hover:after {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 5px;
		content: "";
		background: #1265D6;
	}

	.header-nav > ul > li:nth-of-type(1) > a:before {
		top: 0;
		left: 0;
		width: 24px;
		height: 24px;
		transform: translate(0,0);
	}

	.header-nav > ul > li:nth-of-type(2) > a:before {
		top: 0;
		left: 0;
		width: 24px;
		height: 24px;
		transform: translate(0,0);
	}

	.header-nav > ul > li:nth-of-type(3) > a:before {
		top: 0;
		left: 0;
		width: 24px;
		height: 24px;
		transform: translate(0,0);
	}

	.header-btn {
		width: 144px;
		height: 80px;
	}

	.header-btn.header-btn--alt {
		width: 144px;
	}

	.header-btn > a {
		height: 80px;
		font-size: 1.4rem;
	}

}


/*--------------------------------------------------------------------------------
	main
--------------------------------------------------------------------------------*/

main {
	width: 100%;
	overflow-x: hidden;
	position: relative;
}


main:before{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height:300px;
	content: "";
	background: linear-gradient(to bottom, #94C9EA, #FFF);
	z-index: -2;
}

@media screen and (min-width: 768px) {
	main:before{
		content: none;
	}
}
/* sp/pc */

.sp-v {

}

.ml-v {
	display: none;
}

.sp-v.ml-v {
	display: block;
}

.lp-v {
	display: none;
}

.sp-v.lp-v {
	display: block;
}

@media screen and (min-width: 768px) {

	.sp-v {
		display: none;
	}

}

@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;
	}

}



/* ttl */

.ttl-01 {
	position: relative;
	text-align: center;
	margin: 0 0 24px 0;
}

.ttl-01:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 4px;
	transform: translate(0,-50%);
	content: "";
	background: url(/special/fang/images/fang/g_icon_img_04_20230913.png) repeat-x center center / auto 4px;
	z-index: -1;
}

.ttl-01-inner {
	box-sizing: border-box;
	display: inline-block;
	height: 40px;
	border: solid 2px #1265D6;
	border-radius: 20px;
	background: #ffffff;
	padding: 0 20px;
	font-size: 1.4rem;
	line-height: 36px;
	font-weight: bold;
	color: #1265D6;
}

@media screen and (min-width: 768px) {

	.ttl-01 {
		margin: 0 0 32px 0;
	}

	.ttl-01-inner {
		height: 57px;
		border-radius: 28.5px;
		padding: 0 30px;
		font-size: 2.6rem;
		line-height: 53px;
	}

}

.ttl-02 {
	font-size: 3.0rem;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
	margin: 0 0 16px 0;
}

.ttl-02.ttl-02--01 {
	font-size: 3.2rem;
}

.ttl-02-01-ltxt {
	font-size: 10.0rem;
	display: inline-block;
	margin: -10px;
}

.ttl-02.ttl-02--02 {
	font-size: 2.1rem;
	margin: 0 0 24px 0;
}

.ttl-02-02-ltxt {
	font-family: 'Montserrat', sans-serif;
	font-size: 5.6rem;
	color: #1265D6;
}

.ttl-02.ttl-02--03 {

}

@media screen and (min-width: 768px) {

	.ttl-02 {
		font-size: 6.4rem;
		margin: 0 0 24px 0;
	}

	.ttl-02.ttl-02--01 {
		font-size: 4.5rem;
	}

	.ttl-02-01-ltxt {
		font-size: 12.6rem;
		margin: 0;
	}

	.ttl-02.ttl-02--02 {
		font-size: 3.6rem;
		margin: 0 0 48px 0;
	}

	.ttl-02-02-ltxt {
		font-size: 8.8rem;
		color: #1265D6;
	}

	.ttl-02.ttl-02--03 {
		letter-spacing: -3px;
	}

}

.ttl-03 {
	font-size: 1.4rem;
	line-height: 1.6;
	font-weight: bold;
	padding: 0 0 0 17px;
	position: relative;
	margin-top: 32px;
}

.ttl-03:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 7px;
	height: 1.6em;
	content: "";
	background: #1265D6;
	border-radius: 20px;
}

.ttl-03.ttl-03--01:before {
	background: #E00E97;
}

.ttl-03.ttl-03--02:before {
	background: #088B42;
}

.ttl-03.ttl-03--ms {
	margin-top: 16px;
}

@media screen and (min-width: 768px) {

	.ttl-03 {
		font-size: 2.0rem;
		padding: 0 0 0 21px;
		margin-top: 48px;
	}

	.ttl-03:before {
		width: 9px;
	}

	.ttl-03-stxt {
		font-size: 1.2rem;
	}

	.ttl-03.ttl-03--ms {
		margin-top: 24px;
	}
}



/* txt */

.txt-01 {
	font-size: 1.4rem;
	line-height: 1.6;
}

@media screen and (min-width: 768px) {

	.txt-01 {
		font-size: 1.6rem;
	}

}

.txt-bold {
	font-weight: bold;
}

.txt-red {
	color: #DD1B1B;
	font-weight: bold;
}

.txt-blue {
	color: #1265D6;
}

.txt-pink {
	color: #E00E97;
}


.txt-green {
	color: #088B42;
}



/* graph */

.graph {
	margin: 24px 0;
}

.graph-txt {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	width: 234px;
	height: 32px;
	padding: 0 15px 0 15px;
	margin: 0 0 24px 0;
	border-radius: 16px;
	background: #E9ECF0;
}

.graph-txt > span {
	display: inline-block;
	padding: 0 0 0 24px;
	position: relative;
}

.graph-txt > span:before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0,-50%);
	width: 16px;
	height: 17px;
	content: "";
	background: url(/special/fang/images/fang/g_icon_img_05_20230913.svg) no-repeat center center / contain;
}

@media screen and (min-width: 768px) {

	.graph-txt {
		display: none;
	}

	.graph {
		margin: 40px 0;
	}

}



/* note */

.note-01 {
	font-size: 1.0rem;
	line-height: 1.6;
	color: #222222;
}

@media screen and (min-width: 768px) {

	.note-01 {
		font-size: 1.2rem;
	}

}



/*--------------------------------------------------------------------------------
	movie
--------------------------------------------------------------------------------*/

.movie {
	max-width: 800px;
	margin: 40px auto 0;
	overflow: hidden;
	border-radius: 10px;
	line-height: 0;
	position: relative;
	width: 90%;
	padding-top: 51.10%;
	cursor: pointer;
}

.movie .movie_thumb {
	position: absolute;
	top: 0;
	z-index: 5;
	cursor: pointer;
}

.movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 768px) {
	.movie {
		width: 800px;
		height: 450px;
		padding: 0;
		margin: 60px auto 0;}

}


/*--------------------------------------------------------------------------------
	mainv
--------------------------------------------------------------------------------*/

.mainv {
	position: relative;
	width: 100%;
/*	height: 688px;*/
}

.mainv:after{
	position: absolute;
	top: 40px;
	left: 0;
	width: 100%;
	height: 527px;
	content: "";
	background: #ffffff;
	border-radius: 50%;
	filter: blur(50px);
	opacity: 0.8;
	z-index: -1;
}

@media screen and (min-width: 768px) {

	.mainv:before{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height:768px;
		content: "";
		background: linear-gradient(to bottom, #94C9EA 0%, #FFF 70%);
		z-index: -2;
	}

	.mainv:after{
		position: fixed;
		top: 177px;
		left: 0;
		width: 100%;
		height: 527px;
		content: "";
		background: #ffffff;
		border-radius: 50%;
		filter: blur(50px);
		opacity: 0.8;
		z-index: -1;
	}

}



/* mainv-01 */

.mainv-01 {
	box-sizing: border-box;
	width: auto;
	max-width: 415px;
	margin: 0 auto;
	padding: 40px 20px 0 20px;
}

.mainv-01-01 {
	display: inline-block;
	height: 30px;
	background: #1265D6;
	padding: 0 15px;
	border-radius: 15px;
	font-size: 1.5rem;
	line-height: 30px;
	font-weight: bold;
	color: #ffffff;
	white-space: nowrap;
}

.mainv-01-02 {
	margin: 16px 0 10px 0;
	text-align: center;
}

.mainv-01-02 img {
	max-width: 415px;
}

.mainv-01-03 {
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
}

/* mainv-02 */

.mainv-02 {
	margin: 10px -44px 0 -24px;
	overflow: hidden;
}

.mainv-02-inner {
	width: 100%;
	margin: 0 auto;
	padding-top: 90.1315%;
	position: relative;
	z-index: 3;
}

.mainv-02-00 {
	position: absolute;
	top: 23.2384%;
	left: 18.7838%;
	width: 62.4324%;
}

.mainv-02-01 {
	position: absolute;
	top: 64.7676%;
	left: 56.7568%;
	width: 24.3243%;
	transform: rotate(-7deg);
}

.mainv-02-02 {
	position: absolute;
	top: 29.3853%;
	left: 19.5946%;
	width: 22.7027%;
	transform: rotate(-15deg);
}

.mainv-02-03 {
	position: absolute;
	top: 39.2804%;
	left: 44.7297%;
	width: 18.1081%;
	transform: rotate(15deg);
}

.mainv-02-04 {
	position: absolute;
	top: 57.7211%;
	left: 8.6486%;
	width: 16.2162%;
	transform: rotate(-21deg);
}

.mainv-02-05 {
	position: absolute;
	top: 61.4693%;
	left: 30.8108%;
	width: 18.2432%;
	transform: rotate(11deg);
}

.mainv-02-06 {
	position: absolute;
	top: 11.2444%;
	left: 52.2973%;
	width: 15.2703%;
	transform: rotate(12deg);
}

.mainv-02-07 {
	position: absolute;
	top: 36.7316%;
	left: 68.9189%;
	width: 23.7838%;
	transform: rotate(22deg);
}

.mainv-02-08 {
	position: absolute;
	top: 1.7991%;
	left: 22.9730%;
	width: 17.8378%;
	transform: rotate(-18deg);
}

.mainv-02-09 {
	position: absolute;
	top: 23.5382%;
	left: 1.8919%;
	width: 12.4324%;
	transform: rotate(26deg);
}

.mainv-02-21 {
	position: absolute;
	top: 48.2759%;
	left: 10.0%;
	width: 7.2973%;
	transform: rotate(-25deg);
}

.mainv-02-22 {
	position: absolute;
	top: 13.3433%;
	left: 13.6486%;
	width: 5.0%;
	transform: rotate(-22deg);
}

.mainv-02-23 {
	position: absolute;
	top: 34.1829%;
	left: 58.5135%;
	width: 5.0%;
	transform: rotate(-12deg);
}

.mainv-02-24 {
	position: absolute;
	top: 26.2369%;
	left: 78.2432%;
	width: 5.0%;
	transform: rotate(32deg);
}

.mainv-02-11 {
	position: absolute;
	top: 23.2384%;
	left: 18.7838%;
	width: 62.4324%;
}

.mainv-02-12 {
	position: absolute;
	top:1.7991%;
	left: 1.8919%;
	width: 96.0811%;
}

@media screen and (min-width: 768px) {

	.mainv-01 {
		max-width: 450px;
		padding: 80px 0 0 0;
	}

	.mainv-01-01 {
		height: 44px;
		padding: 0 20px;
		border-radius: 22px;
		font-size: 2.2rem;
		line-height: 44px;
	}

	.mainv-01-02 {
		margin: 24px 0 16px 0;
	}

	.mainv-01-02 img {
		max-width: 423px;
	}

	.mainv-01-03 {
		font-size: 2.0rem;
		line-height: 1.6;
		text-align: left;
	}

}

@media screen and (min-width: 768px) and (max-width: 1023.99px) {

	.mainv-02 {
		max-width: 600px;
		margin: 10px auto 0 auto;
		overflow: hidden;
	}

	.mainv-02-inner {
		width: 100%;
		padding-top: 90.1315%;
		position: relative;
	}

}

@media screen and (min-width: 1024px) and (max-width: 1279.99px) {

	.mainv {
		overflow: hidden;
		padding: 0 60px;
	}

	.mainv-wrap {
		display: flex;
		align-items: center;
		width: 100%;
		max-width: 1100px;
		margin: 0 auto;
	}

	.mainv-01 {
		flex: 1;
		max-width: initial;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
	}

	.mainv-01-02 {
		width: 415px;
	}

	.mainv-02 {
		width: 520px;
		margin: 0 -60px 0 0;
	}

}

@media screen and (min-width: 1280px) {

	.mainv-wrap {
		display: flex;
		align-items: center;
		width: 100%;
		max-width: 1100px;
		margin: 0 auto;
	}

	.mainv-01 {
		width: 460px;
		padding: 0 0 0 0;
	}

	.mainv-01-02 {
		text-align: left;
		padding: 0 0 0 0;
	}

	.mainv-01-03 {
		text-align: left;
	}

	.mainv-01-02 {
		width: 415px;
	}

	.mainv-02 {
		width: 740px;
		margin:0 -100px 0 0;
	}
}
.manv-btn-wrap {
	width: 100%;
	margin: 20px auto 0;
	text-align: center;
}
.mainv-btn {
	position: relative;
	display: inline-block;
	width: auto;
	height: auto;
	box-shadow: 0 3px 20px rgba(0,39,72,0.12);
	border-radius: 10px;
}
.mainv-btn::before {
	position: absolute;
	top: -11px;
	left: -22px;
    width: 64px;
    height: 53px;
    content: "";
    background: url(/special/fang/images/fang/g_mainv_img_01_20251014.png) no-repeat center center / contain;
	z-index: 1;
}
.mainv-btn::after {
	position: absolute;
	bottom: -15px;
	right: -27px;
    width: 51px;
    height: 69px;
    content: "";
    background: url(/special/fang/images/fang/g_mainv_img_03_20251014.png) no-repeat center center / contain;
	z-index: 1;
}
.mainv-btn a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 18px 20px;
	background-color: #E00E97;
	border: 3px solid #fff;
	text-decoration: none;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	border-radius: 10px;
	text-align: left;
	overflow: hidden;
	transition: all .4s;
}
.mainv-btn a::before {
	position: relative;
	width: 20px;
	height: 20px;
	margin-right: 8px;
	content: "";
	background: url(/special/fang/images/fang/g_arrow_img_03_20230913.svg) no-repeat center center / contain;
	transition: all 0.4s;
}
@media screen and (min-width: 768px) {
	.manv-btn-wrap {
		width: 100%;
		margin: 40px 0 40px;
		text-align: left;
	}
	.mainv-btn {
		width: 476px;
	}
	.mainv-btn::before {
		top: -17px;
		left: -25px;
		width: 93px;
		height: 80px;
	}
	.mainv-btn::after {
		bottom: -19px;
		right: -37px;
		width: 75px;
		height: 102px;
	}
	.mainv-btn a {
		width: 100%;
		font-size: 2.2rem;
		padding: 18px 28px 18px 30px;
		text-indent: .5em;
	}
	.mainv-btn a::before {
		width: 27px;
		height: 27px;
		margin-right: 0;
	}

	.mainv-btn a:hover {
		opacity: .7;
	}
}




/*--------------------------------------------------------------------------------
	feature
--------------------------------------------------------------------------------*/

.feature {
	margin: -60px 0 0 0;
	padding: 0 20px;
	position: relative;
}

.feature:before {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 70%;
	content: "";
	background: linear-gradient(to bottom, #FFF, #C2E0F3);
	z-index: -2;
}

.feature-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: 1100px;
	background: #ffffff;
	border-radius: 20px;
	padding: 56px 20px 20px 20px;
	box-shadow: 0 3px 20px rgba(0,39,72,0.12);
	margin: 0 auto;
}

.feature-ttl-01 {
	font-size: 3.4rem;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
	margin: 0 0 32px 0;
}

.feature-ttl-01-01 {
	font-size: 5.6rem;
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
}

.feature-ttl-01-02 {
	font-size: 3.0rem;
}

.feature-check {
	margin: 32px 0 0 0;
}
.feature-check-col-item.feature-check-col-item02 .block-fund-head {
	border-color: #E689C6;
}
.feature-check-col-item.feature-check-col-item02 .block-fund-head-title .title {
	background-color: #E689C6;
}
.feature-check-col-item.feature-check-col-item02 .block-fund .block-fund-inner {
	background-color: #E689C6;
}
.feature-check-col-item.feature-check-col-item02 .block-fund .text-link a:after {
	background: url(/special/fang/images/fang/g_arrow_img_04_20230913.svg) no-repeat center center / contain;
}
.feature-check .block-fund-head {
	padding: 18px 20px;
}
.feature-check .block-fund-head h3 {
	text-align: center;
	font-size: 24px;
	line-height: 1;
	font-weight: 900;
}
.feature-check .block-fund-head h3 .txt-m {
	font-size: 20px;
	line-height: 1;
}
.feature-check .block-fund-head h3 .txt-s {
	font-size: 14px;
	line-height: 1.5;
}

.feature-check-col-item + .feature-check-col-item {
	margin-top: 24px;
}

/* rakuten */
.rakuten.feature-check {
	background: #F2F3F5;
	padding: 24px 20px;
	margin: 32px 0 0 0;
}
.rakuten.feature-check .feature-check-ttl {
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
}
.rakuten.feature-check .feature-check-btn {
	margin-top: 24px;
}
.rakuten.feature-check .feature-check-btn > a {
	display: flex;
	width: 100%;
	max-width: 386px;
	height: 58px;
	margin: 0 auto;
	align-items: center;
	background: #1265D6;
	border: solid 3px #1265D6;
	border-radius: 6px;
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: bold;
	color: #ffffff;
	text-decoration: none;
}
.rakuten.feature-check .feature-check-btn > a > div {
	width: 100%;
	text-align: center;
}
.rakuten.feature-check .feature-check-btn > a > div > span {
	display: inline-block;
	padding: 0 0 0 20px;
	position: relative;
}
.rakuten.feature-check .feature-check-btn > a > div > span:before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0,-50%);
	width: 18px;
	height: 18px;
	content: "";
	background: url(/special/fang/images/fang/g_arrow_img_01_20230913.svg) no-repeat center center / contain;
}
.rakuten.feature-check .feature-check-btn > a > div > span > span {
	display: block;
	font-size: 1.2rem;
}

@media screen and (min-width: 768px) {

	.feature {
		margin: -60px 0 0 0;
		padding: 0 60px;
	}

	.feature:before {
		display: none;
	}

	.feature-ttl-01 {
		font-size: 6.4rem;
		line-height: 1.4;
		font-weight: bold;
		text-align: center;
	}

	.feature-ttl-01-01 {
		font-size: 8.8rem;
		font-family: 'Montserrat', sans-serif;
		font-weight: 800;
	}

	.feature-ttl-01-02 {
		font-size: 4.8rem;
	}

	.feature-check {
		margin: 40px 0 0 0;
	}
	.feature-check-col {
		max-width: 988px;
		display: flex;
		flex-wrap: nowrap;
		margin: 0 auto;
		gap: 28px;
	}
	.feature-check-col-item {
		flex: 0 0 calc(50% - 14px);
		width: calc(50% - 14px);
	}
	.feature-check-col-item + .feature-check-col-item {
		margin-top: 0;
	}
	.feature-check .block-fund-head {
		min-height: 184px;
		padding: 25px 20px;
		justify-content: center;
	}
	.feature-check .block-fund-head h3 {
		font-size: 40px;
	}
	.feature-check .block-fund-head h3 .txt-m {
		font-size: 30px;
	}
	.feature-check .block-fund-head h3 .txt-s {
		font-size: 20px;
	}

	/* rakuten */
	.rakuten.feature-check {
		padding: 40px;
		margin: 40px 0 0 0;
	}
	.rakuten.feature-check .feature-check-ttl {
		font-size: 2.4rem;
	}
	.rakuten.feature-check .feature-check-btn > a {
		height: 82px;
		font-size: 2.2rem;
		transition: all 0.4s;
	}
	.rakuten.feature-check .feature-check-btn > a:hover {
		color: #1265D6;
		background: #FFFFFF;
	}
	.rakuten.feature-check .feature-check-btn > a > div > span {
		display: inline-block;
		padding: 0 0 0 28px;
		position: relative;
	}
	.rakuten.feature-check .feature-check-btn > a > div > span:before {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0,-50%);
		width: 20px;
		height: 20px;
		content: "";
		background: url(/special/fang/images/fang/g_arrow_img_01_20230913.svg) no-repeat center center / contain;
		transition: all 0.4s;
	}
	.rakuten.feature-check .feature-check-btn > a > div > span:after {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0,-50%);
		width: 20px;
		height: 20px;
		content: "";
		background: url(/special/fang/images/fang/g_arrow_img_02_20230913.svg) no-repeat center center / contain;
		opacity: 0;
		transition: all 0.4s;
	}
	.rakuten.feature-check .feature-check-btn > a:hover > div > span:before {
		opacity: 0;
	}
	.rakuten.feature-check .feature-check-btn > a:hover > div > span:after {
		opacity: 1;
	}
	.rakuten.feature-check .feature-check-btn > a > div > span > span {
		font-size: 1.4rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1023.99px) {

	.feature {

	}

	.feature-wrap {
		padding:80px 55px 40px 55px;
	}

}

@media screen and (min-width: 1024px) {

	.feature {
		margin: -48px 0 0 0;
	}

	.feature-wrap {
		padding:80px 56px 100px 56px;
	}

}

@media screen and (min-width: 1280px) {

	.feature {
		margin: -90px 0 0 0;
	}

}



/*--------------------------------------------------------------------------------
	about
--------------------------------------------------------------------------------*/

/* about */

.about {
	padding: 80px 20px;
	position: relative;
}

.about:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 20%;
	content: "";
	background: linear-gradient(to bottom, #C2E0F3, #FFF);
	z-index: -2;
}

.about:after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 75%;
	content: "";
	background: linear-gradient(to bottom, #FFF, #94C9EA);
	z-index: -2;
}

.about-wrap {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.about .ttl-01-inner > span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 20px;
}

.about .ttl-01-inner > span:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 18px;
	height: 18px;
	transform: translate(0,-50%);
	content: "";
	background: url(/special/fang/images/fang/g_icon_img_01_20230913.svg) no-repeat center center / contain;
}

@media screen and (min-width: 768px) {

	.about {
		padding: 140px 60px;
	}

	.about:before {
		display: none;
	}

	.about:after {
		display: none;
	}

	.about .ttl-01-inner > span {
		padding: 0 0 0 24px;
	}

	.about .ttl-01-inner > span:before {
		width: 24px;
		height: 24px;
	}

}



/* about-01 */

.about-01 {

}



/* about-01-bottom */

.about-01-bottom {
	margin: 16px -40px 0 -40px;
}

.about-01-bottom-wrap {
	max-width: 800px;
	margin: 0 auto;
}

.about-01-bottom-wrap2 {
	width: 100%;
	padding-top:49.5%;;
	overflow: hidden;
	margin: 0 auto;
	position: relative;
}

.about-01-bottom-11 {
	position: absolute;
	top: 0;
	left: 50%;;
	transform: translate(-50%,0);
	width: 97.5%;
}

.about-01-bottom-00 {
	position: absolute;
	top: 27.2727%;
	left: 6.125%;
	width: 88.5%;
}

.about-01-bottom-01 {
	position: absolute;
	top: 51.5151%;
	left: 80.125%;
	width: 17%;
	transform: rotate(-7deg);
}

.about-01-bottom-02 {
	position: absolute;
	top: 51.5151%;
	left: 36.0%;
	width: 15.875%;
	transform: rotate(-15deg);
}

.about-01-bottom-03 {
	position: absolute;
	top: 27.2727%;
	left: 70.0%;
	width: 12.625%;
	transform: rotate(15deg);
}

.about-01-bottom-04 {
	position: absolute;
	top: 55.5556%;
	left: 1.125%;
	width: 11.375%;
	transform: rotate(-21deg);
}

.about-01-bottom-05 {
	position: absolute;
	top: 57.3232%;
	left: 18.5%;
	width: 12.75%;
	transform: rotate(11deg);
}

.about-01-bottom-06 {
	position: absolute;
	top: 11.8687%;
	left: 54.75%;
	width: 12.25%;
	transform: rotate(12deg);
}

.about-01-bottom-07 {
	position: absolute;
	top: 57.3232%;
	left: 58.5%;
	width: 16.625%;
	transform: rotate(22deg);
}

.about-01-bottom-08 {
	position: absolute;
	top: 5.0505%;
	left: 27.75%;
	width: 15.875%;
	transform: rotate(-18deg);
}

.about-01-bottom-09 {
	position: absolute;
	top: 20.2020%;
	left: 8.625%;
	width: 8.625%;
	transform: rotate(26deg);
}

.about-01-bottom-21 {
	position: absolute;
	top: 34.0909%;
	left: 3.375%;
	width: 4.125%;
	transform: rotate(25deg);
}

.about-01-bottom-22 {
	position: absolute;
	top: 46.7172%;
	left: 23.75%;
	width: 4.125%;
	transform: rotate(-12deg);
}

.about-01-bottom-23 {
	position: absolute;
	top: 46.2121%;
	left: 55.75%;
	width: 4.125%;
	transform: rotate(33deg);
}

.about-01-bottom-24 {
	position: absolute;
	top: 34.0909%;
	left: 87.125%;
	width: 4.125%;
	transform: rotate(-8deg);
}

@media screen and (min-width: 768px) {

	.about-01-bottom {
		margin: 16px 0 0 0;
	}

}



/* about-02 */

.about-02 {
	box-sizing: border-box;
	width: 100%;
	max-width: 1100px;
	background: #ffffff;
	border-radius: 20px;
	padding: 40px 20px 20px 20px;
	box-shadow: 0 3px 20px rgba(0,39,72,0.12);
	margin: 0 auto;
}

.about-02-list {
	display: flex;
	flex-wrap: wrap;
	margin-left: -6.5px;
	margin-right: -6.5px;
}

.about-02-list > li {
	width: 50%;
	padding: 0 6.5px;
	margin: 0 0 13px 0;
}

.about-02-list-item-box {
	border: solid 4px #E9ECF0;
}

@media screen and (max-width: 767.99px) {

	.about-02-list {
		margin-bottom: 11px;
	}

	.about-02-list > li:nth-of-type(-n+4) {
		width: 100%;
	}

	.about-02-list-item-box {
		padding: 20px 0;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box {
		padding: 12px 20px 12px 20px;
		display: flex;
		justify-content: center;
	}

	.about-02-list-item-box-01 {
		text-align: center;
	}

	.about-02-list-item-box-01 img {
		width: 50px;
		height: 50px;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box img {
		width: 80px;
		height: 80px;
	}

	.about-02-list-item-box-02 {
		padding: 8px 0 0 0;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box-02 {
		padding: 0 0 0 17px;
		display: flex;
		align-items: center;
	}

	.about-02-list-item-box-02-txt-01 {
		font-family: 'Montserrat', sans-serif;
		font-size: 1.8rem;
		line-height: 34px;
		font-weight: 800;
		text-align: center;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box-02-txt-01 {
		font-size: 2.4rem;
	}

	.about-02-list-item-box-02-txt-01 > span {
		color: #1265D6;
	}

	.about-02-list-item-box-02-txt-02 {
		font-size: 1.2rem;
		line-height: 20px;
		font-weight: bold;
		margin: 2px 0 0 0;
		text-align: center;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box-02-txt-02 {
		font-size: 1.4rem;
	}

}

@media screen and (min-width: 768px) {

	.about-02-list {
		margin-left: -14px;
		margin-right: -14px;
		margin-bottom: 7px;
	}

	.about-02-list > li {
		padding: 0 14px;
		margin: 0 0 25px 0;
	}

	.about-02-list-item-box {
		padding: 12px 10px;
		display: flex;
		align-items: center;
	}

	.about-02-list-item-box-01 {
		text-align: center;
	}

	.about-02-list-item-box-01 img {
		width: 80px;
		height: 80px;
	}

	.about-02-list-item-box-02 {
		padding: 0 0 0 10px;
	}

	.about-02-list-item-box-02-txt-01 {
		font-family: 'Montserrat', sans-serif;
		font-size: 2.8rem;
		line-height: 34px;
		font-weight: 800;
	}

	.about-02-list-item-box-02-txt-01 > span {
		color: #1265D6;
	}

	.about-02-list-item-box-02-txt-02 {
		font-size: 1.4rem;
		line-height: 20px;
		font-weight: bold;
		margin: 3px 0 0 0;
	}

}

@media screen and (min-width: 768px) and (max-width: 1023.99px) {

	.about-02 {
		padding: 56px 40px 40px 40px;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box {
		flex-wrap:wrap;
		padding: 28px 20px 12px 20px;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box-01 {
		order: 1;
		width: 100%;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box-02 {
		order: 0;
		width: 100%;
		padding: 12px 0 0 0;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box-02-txt-01 {
		text-align: center;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box-02-txt-02 {
		text-align: center;
	}

}

@media screen and (min-width: 1024px) and (max-width: 1279.99px) {

	.about-02 {
		padding:56px 56px 56px 56px;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box {
		flex-wrap:wrap;
		padding: 28px 20px 12px 20px;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box-01 {
		order: 1;
		width: 100%;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box-02 {
		order: 0;
		width: 100%;
		padding: 12px 0 0 0;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box-02-txt-01 {
		text-align: center;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box-02-txt-02 {
		text-align: center;
	}

}

@media screen and (min-width: 1280px) {

	.about-02 {
		padding:56px 56px 56px 56px;
	}

	.about-02-list > li:nth-of-type(-n+4) {
		width: 25%;
	}

	.about-02-list > li:nth-of-type(n+5) {
		width: 33.3333%;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box {
		flex-wrap:wrap;
		padding: 28px 20px 12px 20px;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box-01 {
		order: 1;
		width: 100%;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box-02 {
		order: 0;
		width: 100%;
		padding: 12px 0 0 0;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box-02-txt-01 {
		text-align: center;
	}

	.about-02-list > li:nth-of-type(-n+4) .about-02-list-item-box-02-txt-02 {
		text-align: center;
	}

}


/*--------------------------------------------------------------------------------
	charm
--------------------------------------------------------------------------------*/

.charm {
	padding: 56px 20px 0 20px;
}

.charm-wrap {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.charm .ttl-01-inner > span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 24px;
}

.charm .ttl-01-inner > span:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 18px;
	height: 18px;
	transform: translate(0,-50%);
	content: "";
	background: url(/special/fang/images/fang/g_icon_img_02_20230913.svg) no-repeat center center / contain;
}

.charm-subt {
	width: 100%;
	height: 46px;
	background: #E00E97;
	border-radius: 23px;
	margin: 0 0 40px 0;
}

.charm-subt-inner {
	display: table;
	height: 24px;
	margin: 0 auto;
	padding: 11px 0 0 0;
}

.charm-subt-inner-01 {
	display: table-cell;
	vertical-align: middle;
	font-size: 1.4rem;
	line-height: 24px;
	font-weight: bold;
	color: #ffffff;
}

.charm-subt-inner-01 > span {
	display: inline-block;
	font-family: 'Montserrat', sans-serif;
	width: 24px;
	height: 24px;
	background: #ffffff;
	border-radius: 12px;
	font-size: 1.4rem;
	line-height: 24px;
	font-weight: 800;
	color: #E00E97;
	text-align: center;
	margin: 0 12px 0 6px;
}

.charm-subt-inner-02 {
	display: table-cell;
	vertical-align: middle;
	font-size: 2.0rem;
	line-height: 24px;
	font-weight: bold;
	color: #ffffff;
}

.charm-subt.charm-subt--01 {
	background: #088B42;
}

.charm-subt.charm-subt--01 .charm-subt-inner-01 > span {
	color: #088B42;
}

.charm-02 {
	border-top: solid 3px #E9ECF0;
	margin-top: 48px;
	padding-top: 48px;
}

.charm-02-head {
	display: flex;
	position: relative;
	margin: 32px 0 0 0;
	padding: 10px 0;
}

.charm-02-head:before {
	position: absolute;
	top: 0;
	left: 50%;
	width: 4px;
	height: 100%;
	transform: translate(-50%,0);
	content: "";
	background: url(/special/fang/images/fang/g_icon_img_06_20230913.png) repeat-y center top / contain;
}

.charm-02-head:after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 42px;
	height: 60px;
	transform: translate(-50%,-50%);
	content: "";
	background: url(/special/fang/images/fang/g_icon_img_07_20230913.svg) #ffffff no-repeat center center / contain;
}

.charm-02-head .charm-02-head-item {
	width: 50%;
	text-align: center;
}

.charm-02-head .charm-02-head-item:nth-of-type(1) {
	padding: 0 28px 0 0;
}

.charm-02-head .charm-02-head-item:nth-of-type(2) {
	padding: 0 0 0 28px;
}

.charm-02-head-item-ttl {
	display: inline-block;
	background: #E00E97;
	height: 34px;
	border-radius: 17px;
	padding: 0 5px 0 12px;
	font-size: 1.4rem;
	line-height: 34px;
	font-weight: bold;
	color: #ffffff;
	margin: 0 0 16px 0;
}

.charm-02-head-item-ttl > span {
	display: inline-block;
	width: 24px;
	height: 24px;
	background: #ffffff;
	border-radius: 50%;
	font-size: 1.3rem;
	line-height: 24px;
	font-weight: 800;
	color: #E00E97;;
	text-align: center;
	margin: 0 0 0 5px;
}

.charm-02-head-item-ttl.charm-02-head-item-ttl--01 {
	background: #088B42;;
}

.charm-02-head-item-ttl.charm-02-head-item-ttl--01 > span {
	color: #088B42;
}

.charm-02-head-item-ltxt {
	font-size: 2.0rem;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
}

.charm-02-head-item-stxt {
	font-size: 1.4rem;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
	margin: 3px 0 0 0;
}

.charm-02-head-item-pic{
	width: 120px;
	margin: 24px auto 0 auto;
}

.charm-02-list {
	display: flex;
	flex-wrap: wrap;
	margin-left: -12px;
	margin-right: -12px;
	margin-bottom: -20px;
	margin-top: 40px;
}

.charm-02-list-item {
	width: 100%;
	padding: 0 12px;
	margin-bottom: 20px;
}

.charm-02-list-item-box {
	border: solid 1px #E1E5EB;
	padding: 24px 20px 16px 20px;
}

.charm-02-list-item-box-ttl {
	display: table;
	margin: 0 auto;
}

.charm-02-list-item-box-ttl.charm-02-list-item-box-ttl--01  {
	display: block;
	margin: 0 0 16px 0;
}

.charm-02-list-item-box-ttl-pic {
	display: table-cell;
	width: 56px;
}

.charm-02-list-item-box-ttl-pic img {

}

.charm-02-list-item-box-ttl-txt {
	display: table-cell;
	vertical-align: middle;
	padding: 0 0 0 10px;
	font-size: 2.4rem;
	font-weight: bold;
}

.charm-02-list-item-box-ttl-stxt {
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: bold;
	text-align: center;
}

.charm-02-list-item-box-ttl-ltxt {
	font-size: 2.4rem;
	line-height: 1.6;
	font-weight: bold;
	text-align: center;
}

.charm-02-list-item-box-graph {
	margin: 24px 0 0 0;
}

.charm-02-list-item-box-graph-note {
	margin: 8px 0 0 0;
	display: table;
	width: 100%;
}

.charm-02-list-item-box-graph-note > div {
	display: table-cell;
	vertical-align: top;
}

.charm-02-list-item-box-graph-note > div:nth-of-type(2) {
	text-align: right;
	padding: 0 0 0 15px;
	white-space: nowrap;
}

.charm-02-list-item-box-graph-note > div.note-01--01 {
	white-space: normal;
}

.charm-02-01 {
	margin: 48px 0 0 0;
}

.charm-02-02 {
	margin: 64px 0 0 0;
}

@media screen and (min-width: 768px) {

	.charm {
		padding: 140px 60px 0 60px;
		background: #ffffff;
	}

	.charm .ttl-01-inner > span {
		padding: 0 0 0 30px;
	}

	.charm .ttl-01-inner > span:before {
		width: 24px;
		height: 24px;
	}

	.charm-subt {
		height: 60px;
		border-radius: 30px;
		margin: 0 0 48px 0;
	}

	.charm-subt-inner {
		height: 40px;
		padding: 10px 0 0 0;
	}

	.charm-subt-inner-01 {
		font-size: 2.4rem;
		line-height: 40px;
	}

	.charm-subt-inner-01 > span {
		width: 40px;
		height: 40px;
		border-radius: 20px;
		font-size: 2.8rem;
		line-height: 40px;
		margin: 0 20px 0 10px;
	}

	.charm-subt-inner-02 {
		font-size: 3.2rem;
		line-height: 40px;
	}

	.charm-02-head {
		padding: 32px 0;
	}

	.charm-02-head:after {
		width: 56px;
		height: 72px;
	}

	.charm-02-head-item-ttl {
		height: 48px;
		border-radius: 24px;
		padding: 0 8px 0 20px;
		font-size: 2.0rem;
		line-height: 48px;
		margin: 0 0 24px 0;
	}

	.charm-02-head-item-ttl > span {
		width: 32px;
		height: 32px;
		font-size: 1.9rem;
		line-height: 32px;
		margin: 0 0 0 12px;
	}

	.charm-02-head-item-ltxt {
		font-size: 3.4rem;
	}

	.charm-02-head-item-stxt {
		font-size: 2.0rem;
		margin: 8px 0 0 0;
	}

	.charm-02-head-item-pic{
		width: 200px;
	}

	.charm-02-list-item-box-ttl-txt {
		font-size: 3.6rem;
	}

	.charm-02-list-item-box-ttl.charm-02-list-item-box-ttl--01  {
		margin: 0 0 24px 0;
	}

	.charm-02-list-item-box-ttl-stxt {
		font-size: 2.0rem;
		line-height: 1.5;
	}

	.charm-02-list {
		margin-top: 48px;
	}

	.charm-02-list-item-box-ttl-ltxt {
		font-size: 3.6rem;
		line-height: 1.5;
	}

	.charm-02-list-item-box-ttl-pic {
		width: 88px;
	}

	.charm-02-list-item-box-graph {
		margin: 32px 0 0 0;
	}

	.charm-02-list-item-box-graph-note {
		margin: 16px 0 0 0;
	}

	.charm-02-list-item-box-graph-note > div:nth-of-type(2) {
		padding: 0 0 0 0;
	}

	.charm-02-01 {
		margin: 64px 0 0 0;
	}

	.charm-02-02 {
		margin: 100px 0 0 0;
	}

}

@media screen and (min-width: 768px) and (max-width: 1023.99px) {

	.charm-02 {
		margin-top: 80px;
		padding-top: 80px;
	}

	.charm-02-list-item-box {
		padding: 32px 40px 24px 40px;
	}

}

@media screen and (min-width: 1024px) {

	.charm-02 {
		margin-top: 80px;
		padding-top: 80px;
	}

	.charm-02-list-item {
		width: 50%;
		padding: 0 12px;
		margin-bottom: 24px;
	}

	.charm-02-list-item-box {
		padding: 32px 40px 24px 40px;
		height: 100%;
	}

}



/*--------------------------------------------------------------------------------
	simulation
--------------------------------------------------------------------------------*/

.simulation {
	padding: 48px 20px 0 20px;
}

.simulation-wrap {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.simulation .ttl-01-inner > span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 24px;
}

.simulation .ttl-01-inner > span:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 18px;
	height: 18px;
	transform: translate(0,-50%);
	content: "";
	background: url(/special/fang/images/fang/g_icon_img_03_20230913.svg) no-repeat center center / contain;
}

.simulation-01 {
	border-top: solid 3px #E9ECF0;
	padding-top: 48px;
}

.simulation-02 {
	border-top: solid 3px #E9ECF0;
	margin-top: 48px;
	padding-top: 48px;
}

@media screen and (min-width: 768px) {

	.simulation {
		padding: 120px 60px 100px 60px;
		background: #ffffff;
	}

	.simulation .ttl-01-inner > span {
		padding: 0 0 0 32px;
	}

	.simulation .ttl-01-inner > span:before {
		width: 24px;
		height: 24px;
	}

}

@media screen and (min-width: 768px) and (max-width: 1023.99px) {
	.simulation-01 {
		padding-top: 100px;
	}
	.simulation-02 {
		margin-top: 80px;
		padding-top: 80px;
	}

}

@media screen and (min-width: 1024px) {
	.simulation-01 {
		padding-top: 100px;
	}
	.simulation-02 {
		margin-top: 80px;
		padding-top: 80px;
	}

}



/*--------------------------------------------------------------------------------
	bottom
--------------------------------------------------------------------------------*/

.bottom {
	padding: 0 0 80px;
}

.bottom-wrap {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
}

.bottom-wrap:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50%;
	content: "";
	background: linear-gradient(to bottom, #A5D6F4, #FFF);
}

.bottom-head {
	display: flex;
	flex-wrap: wrap;
}

.bottom-head-01 {
	box-sizing: border-box;
	width: 100%;
	padding: 20px 20px 12px 20px;
}

.bottom-head-02 {
	box-sizing: border-box;
	width: 100%;
	padding: 0 20px;
}

.bottom-head-02-subt {

}

.bottom-head-02-subt > span {
	display: inline-block;
	background: #1265D6;
	padding: 0 15px;
	height: 28px;
	border-radius: 14px;
	font-size: 1.3rem;
	line-height: 28px;
	color: #ffffff;
	font-weight: bold;
}

.bottom-head-02-ttl {
	margin: 16px 0;
}

.bottom-head-02-ttl > img {
	width: 100%;
	/* max-width: 287px; */
}

.bottom-head-02-txt {

}

.bottom-head-02-txt-01 {
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: bold;
	margin: 0 0 8px 0;
}

.bottom-head-02-txt-02 {
	font-size: 1.4rem;
	line-height: 1.6;
}

.bottom-info {
	display: flex;
	flex-wrap: wrap;
	margin: 32px 0 0 0;
}

.bottom-info-01 {
	width: 100%;
}

.bottom-info-02 {
	width: 100%;
	margin: 16px 0 0 0;
}

.bottom-info-03 {
	width: 100%;
	max-width: 386px;
	margin: 0 auto;
}

.bottom-info a.bottom-info-btn {
	display: flex;
	align-items: center;
	width: 100%;
	height: 58px;
	background: #ffffff;
	border: solid 3px #E9ECF0;
	border-radius: 6px;
	font-size: 1.8rem;
	line-height: 1.6;
	font-weight: bold;
	color: #222222;
}

.bottom-info a.bottom-info-btn.bottom-info-btn--02 {
	background: #1265D6;
	border: solid 3px #1265D6;
	color: #ffffff;
}

.bottom-info a.bottom-info-btn > div {
	width: 100%;
	text-align: center;
}

.bottom-info a.bottom-info-btn > div > span {
	display: inline-block;
	padding: 0 0 0 24px;
	position: relative;
}

.bottom-info a.bottom-info-btn > div > span:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 18px;
	height: 18px;
	transform: translate(0,-50%);
	content: "";
	background: url(/special/fang/images/fang/g_arrow_img_02_20230913.svg) no-repeat center center / contain;
}

.bottom-info a.bottom-info-btn.bottom-info-btn--01 > div > span:before {
	width: 16px;
	height: 16px;
	background: url(/special/fang/images/fang/g_icon_img_09_20230913.svg) no-repeat center center / contain;
}

.bottom-info a.bottom-info-btn.bottom-info-btn--02 > div > span:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 18px;
	height: 18px;
	transform: translate(0,-50%);
	content: "";
	background: url(/special/fang/images/fang/g_arrow_img_01_20230913.svg) no-repeat center center / contain;
}

.bottom-info a.bottom-info-btn.bottom-info-btn--02 > div > span > span {
	display: block;
	font-size: 1.2rem;
}

.bottom-bottom {
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: 500;
	margin: 32px 0 0 0;
}
.bottom-lead-title h2 {
	position: relative;
	text-align: center;
	font-size: 2.4rem;
	color: #000000;
	font-weight: 900;
}
.bottom-lead-title h2 span {
	color: #1265D6;
}

/* rakuten */
.rakuten.bottom {
	padding: 40px 20px 80px 20px;
	background-color: #fff;
}
@media screen and (min-width: 768px) {
	.bottom-wrap {

	}

	.bottom-head-02-subt > span {
		padding: 0 20px;
		height: 40px;
		border-radius: 20px;
		font-size: 2.0rem;
		line-height: 40px;
	}

	.bottom-head-02-ttl {
		margin: 24px 0;
	}

	.bottom-head-02-ttl > img {
		max-width: 415px;
	}

	.bottom-head-02-txt-01 {
		font-size: 1.8rem;
		margin: 0 0 16px 0;
	}

	.bottom-head-02-txt-02 {
		font-size: 1.6rem;
		line-height: 1.6;
	}

	.bottom-info-02 {
		margin: 20px 0 0 0;
	}

	.bottom-info a.bottom-info-btn {
		height: 82px;
		font-size: 2.2rem;
		transition: all 0.4s;
	}

	.bottom-info a.bottom-info-btn:hover {
		color: #1265D6;
		border: solid 3px #1265D6;
	}

	.bottom-info a.bottom-info-btn.bottom-info-btn--02:hover {
		color: #1265D6;
		background: #FFFFFF;
	}

	.bottom-info a.bottom-info-btn > div > span {
		padding: 0 0 0 28px;
	}

	.bottom-info a.bottom-info-btn > div > span:before {
		width: 20px;
		height: 20px;
	}

	.bottom-info a.bottom-info-btn.bottom-info-btn--01 > div > span:before {
		width: 16px;
		height: 16px;
	}

	.bottom-info a.bottom-info-btn.bottom-info-btn--02 > div > span:before {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0,-50%);
		width: 20px;
		height: 20px;
		content: "";
		background: url(/special/fang/images/fang/g_arrow_img_01_20230913.svg) no-repeat center center / contain;
		transition: all 0.4s;
	}

	.bottom-info a.bottom-info-btn.bottom-info-btn--02 > div > span:after {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0,-50%);
		width: 20px;
		height: 20px;
		content: "";
		background: url(/special/fang/images/fang/g_arrow_img_02_20230913.svg) no-repeat center center / contain;
		opacity: 0;
		transition: all 0.4s;
	}

	.bottom-info a.bottom-info-btn.bottom-info-btn--02:hover > div > span:before {
		opacity: 0;
	}

	.bottom-info a.bottom-info-btn.bottom-info-btn--02:hover > div > span:after {
		opacity: 1;
	}

	.bottom-info a.bottom-info-btn.bottom-info-btn--02 > div > span > span {
		font-size: 1.4rem;
	}

	.bottom-bottom {
		font-size: 2.0rem;
		text-align: center;
	}

	/* rakuten */
	.rakuten.bottom {
		padding: 0 60px 120px 60px;
	}
}

@media screen and (min-width: 768px) and (max-width: 1023.99px) {

	.bottom-head {
		padding: 0 70px;
	}

	.bottom-head-01 {
		padding: 40px 0 0 0;
	}

	.bottom-head-02 {
		margin-top: -40px;
	}

	.bottom-info {
		padding: 0 40px;
	}

	.bottom-info-02 {
		margin: 24px 0 0 0;
	}

}

@media screen and (min-width: 1024px) {

	.bottom-head {
		padding: 0 56px 0 56px;
		align-items: center;
	}

	.bottom-head-01 {
		order: 1;
		width: 50%;
		box-sizing: border-box;
		padding: 0 0 0 0;
		margin-top: -40px;
	}

	.bottom-head-02 {
		order: 0;
		width: 50%;
		box-sizing: border-box;
		padding: 0 0 0 40px;
		margin: 0 0 0 0;
	}

	.bottom-head-02-txt {
		white-space: nowrap;
	}

	.bottom-info {
		margin-left: -14px;
		margin-right: -14px;
		padding: 0 60px;
	}

	.bottom-info-01 {
		width: 50%;
		padding: 0 14px;
	}

	.bottom-info-02 {
		width: 50%;
		padding: 0 14px;
		margin: 0 0 0 0;
	}

	/* rakuten */
	.rakuten.bottom .bottom-head {
		padding: 50px 56px 0 56px;
	}
}


/*--------------------------------------------------------------------------------
	disclaimer
--------------------------------------------------------------------------------*/

.disclaimer {
	background: #F5F5F5;
	padding: 80px 20px;
}
.rakuten.disclaimer {
	padding-bottom: 20px;
}

.disclaimer-wrap {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.disclaimer-ttl-01 {
	position: relative;
	margin: 0 0 24px 0;
}

.disclaimer-ttl-01:before {
	position: absolute;
	top: 12px;
	left: 0;
	width: 100%;
	height: 1px;
	content: "";
	background: #222222;
	z-index: 1;
}

.disclaimer-ttl-01-inner {
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: bold;
}

.disclaimer-ttl-01-inner > span {
	display: inline-block;
	padding: 0 15px 0 0;
	background: #F5F5F5;
	position: relative;
	z-index: 2;
}

.disclaimer-ttl-02 {
	font-size: 1.4rem;
	line-height: 1.6;
	font-weight: bold;
	margin: 16px 0 16px 0;
}

.disclaimer-ttl-02.disclaimer-ttl-02--01 {
	margin: 24px 0 16px 0;
}

.disclaimer-ttl-03 {
	font-size: 1.2rem;
	line-height: 1.6;
	font-weight: bold;
	margin: 8px 0 4px 0;
}

.disclaimer-ttl-04 {
	font-size: 1.2rem;
	line-height: 1.6;
	font-weight: bold;
	position: relative;
	padding: 0 0 0 1.5em;
	margin: 0 0 12px 0;
}

.disclaimer-ttl-04:before {
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 9px;
	height: 9px;
	content: "";
	background: #222222;
}

.disclaimer-txt-01 {
	font-size: 1.2rem;
	line-height: 1.6;
}

.disclaimer-txt-01 + .disclaimer-txt-01 {
	margin-top: 4px;
}

.disclaimer-list-01 {
	font-size: 1.2rem;
	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: 9px;
	height: 9px;
	content: "";
	background: #222222;
}

.disclaimer-list-01.disclaimer-list-dot > li:before {
	border-radius: 50%;
}
.disclaimer-list-01.disclaimer-list-dot-s > li:before {
	border-radius: 50%;
	width: 3px;
	height: 3px;
	top: 12px;
	left: 3px;
	transform: translateY(-50%);
}

.disclaimer-list-01 > li.disclaimer-list-01-red {
	color: #DD1B1B;
	font-weight: bold;
}

.disclaimer-list-01 > li.disclaimer-list-01-red:before {
	background: #DD1B1B;
}

.disclaimer-list-02 {
	font-size: 1.0rem;
	line-height: 1.6;
	margin-top: 12px;
}

.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-01 {

}

.disclaimer-02 {
	margin-top: 40px;
}

.disclaimer-03 {
	margin-top: 40px;
}

.disclaimer-04 {
	margin-top: 40px;
}

.contact {
	margin-top: 16px;
    font-size: 1.2rem;
}
.contact-inner {
	display: flex;
    flex-flow: column;
    align-items: center;
}

.contact-textlink {
	text-decoration: none;
	position: relative;
    display: inline-block;
    color: inherit;
    font-weight: 400;
    padding: 4px 0 4px 1.45em;
}

.contact-textlink::before {
	content: "";
    position: absolute;
    top: 0.4em;
    left: 0;
    width: 1.35em;
    height: 1.35em;
    background-image: url(/special/fang/rakuten/images/fang/icon_arrow_r.svg);
    background-size: 60%;
    background-position: center;
    background-repeat: no-repeat;
}
.contact-tel {
	position: relative;
    letter-spacing: .03em;
    display: flex;
    width: 100%;
    flex-flow: column;
    align-items: center;
    margin-top: 6px;
    padding-top: 7px;
}
.contact-tel::before {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
	background: #CCC9C6;
}
.contact-tel-icon {
	margin: 0 .4em 0 1.1em;
}
.contact-tel-icon::before {
	content: "";
    position: relative;
    display: inline-block;
    vertical-align: top;
    background-image: url(/special/fang/rakuten/images/fang/icon_tel.svg);
    background-repeat: no-repeat;
    background-size: contain;
    top: -.1em;
    width: 1.6em;
    height: 1.6em;
}
.contact-note {
	margin-top: 5px;
	color: #706B66;
}
.contact-note li {
	position: relative;
	padding-left: 1.4em;
}
.contact-note li::before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}

@media screen and (min-width: 768px) {

	.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;
		padding: 0 0 0 1.5em;
		margin: 0 0 12px 0;
	}

	.disclaimer-ttl-04:before {
		width: 11px;
		height: 11px;
	}

	.disclaimer-txt-01 {
		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 {
		font-size: 1.2rem;
		margin-top: 24px;
	}

	.disclaimer-list-02 > li + li {
		margin-top: 8px;
	}

	.disclaimer-02 {
		margin-top: 60px;
	}

	.disclaimer-03 {
		margin-top: 60px;
	}

	.disclaimer-04 {
		margin-top: 60px;
	}

	.contact {
		margin-top: 24px;
        font-size: 1.4rem;
	}
	.contact-inner {
		gap: 50px;
        display: grid;
        grid-template-columns: 110px auto;
	}

	.contact-tel {
		display: block;
        margin-top: 0;
        padding-top: 0;
	}
	.contact-textlink:hover {
	color: #D93B1E;
	}
	.contact-textlink > span {
		position: relative;
		background-image: linear-gradient(#D93B1E, #D93B1E);
		background-size: 0% 1px;
		background-position: bottom left;
		background-repeat: no-repeat;
		transition: background-size .3s ease;
	}
	.contact-textlink:hover > span {
		background-size: 100% 1px;
	}

	.contact-tel::before {
		left: -26px;
        width: 1px;
        height: 100%;
	}
	.contact-note a {
		text-decoration: none;
		background-image: linear-gradient(#123882, #123882);
		background-size: 100% 1px;
		background-position: bottom right;
		background-repeat: no-repeat;
	}
	.contact-note a:hover {
		background-size: 100% 1px;
        background-position: bottom left;
        animation-duration: .3s;
        animation-name: linkLine;
        animation-timing-function: ease;
	}
	@keyframes linkLine {
		0% {
			background-size: 100% 1px;
			background-position: bottom right;
		}
		50% {
			background-size: 0% 1px;
			background-position: bottom right;
		}
		51% {
			background-size: 0% 1px;
			background-position: bottom left;
		}
		100% {
			background-size: 100% 1px;
			background-position: bottom left;
		}
	}
}


/*--------------------------------------------------------------------------------
	footer
--------------------------------------------------------------------------------*/

.footer {
	background: #222222;
	color: #ffffff;
	padding: 60px 20px 150px 20px;
}

.footer-wrap {

}

.footer-01 {

}

.footer-01 > ul {
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: bold;
}

.footer-01 > ul > li {

}

.footer-01 > ul > li + li {
	margin-top: 24px;
}

.footer-01 > ul > li > a {
	position: relative;
	color: #ffffff;
	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: bold;
}

.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: bold;
}

.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;
}

/* ロゴ&ナビ無し */
.footer.footer-v2 {
	padding: 60px 20px;
}

.footer-03-inner > dl {
	font-size: 1.0rem;
	line-height: 1.6;
}

.footer-03-inner > dl > dt {
	font-weight: bold;
}

.footer-03-inner > dl > dt > span {
	padding: 0 0 0 1em;
}

.footer-03-inner > dl > dt > br,
.footer-03-inner > dl > dd > br {
	display: none;
}

.footer-03-inner > dl > dd {
	margin: 16px 0 0 0;
}

.footer-03-inner-copyright {
	margin-top: 16px;
	font-size: 1.0rem;
	line-height: 1.5;
	font-weight: bold;
}

@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 #ffffff;
	}

	.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: #1265D6;
	}

	.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;
	}

	/* ロゴ&ナビ無し */
	.footer.footer-v2 {
		padding: 64px 60px 48px 60px;
		text-align: center;
	}

	.footer-03-inner > dl {
		font-size: 1.2rem;
		line-height: 1.6;
	}

	.footer-03-inner > dl > dt > br,
	.footer-03-inner > dl > dd > br {
		display: block;
	}
}



/*--------------------------------------------------------------------------------
	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;
}

.js-float {

}



/* 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;
}

/*--------------------------------------------------------------------------------
	ファンドの詳細
--------------------------------------------------------------------------------*/

.bottom-block-fund {
	position: relative;
	margin-top: 32px;
}
.block-fund-head {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	border: 3px solid #1265D6;
	background-color: #fff;
	border-radius: 6px 6px 0 0;
	overflow: hidden;
	padding: 40px 20px 20px;
}
.block-fund-head img {
	width: 70%;
	margin: 0 auto;
	text-align: center;
}
.block-fund-head-ttlwrap {
	display: flex;
	flex-direction: column;
	gap: 5px 0;
}
.block-fund-head-text {
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
}
.block-fund-head-title {
	width: 100%;
	margin: 0 auto -20px;
	text-align: center;
}
.block-fund-head-title .title {
	display: inline-block;
	background-color: #1265D6;
	color: #ffffff;
	font-size: 1.4rem;
	font-weight: 700;
	padding: 9px 20px;
	border-radius: 50px;
}
.block-fund-note {
	margin-top: 25px;
}
.block-fund-head .note-01 {
	margin-top: 20px;
}
.bottom-block-fund.bottom-block-fund02 .block-fund-head {
	border-color: #E689C6;
}
.bottom-block-fund.bottom-block-fund02 .block-fund-head-title .title {
	background-color: #E689C6;
}
.bottom-block-fund.bottom-block-fund02 .block-fund .block-fund-inner {
	background-color: #E689C6;
}
.bottom-block-fund.bottom-block-fund02 .block-fund .text-link a:after {
	background: url(/special/fang/images/fang/g_arrow_img_04_20230913.svg) no-repeat center center / contain;
}
.block-fund-note li {
	position: relative;
	padding-left: 25px;
	font-size: 1.8rem;
	font-weight: 700;
}
.block-fund-note li + li {
	margin-top: 10px;
}
.block-fund-note li::before {
	position: absolute;
	top: 5px;
	left: 0;
	width: 15px;
	height: 15px;
	content: "";
	background: url(/special/fang/images/fang/g_icon_img_12_20251014.svg) no-repeat;
}
.block-fund .block-fund-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1100px;
	background-color: #1265D6;
	padding: 16px 20px 20px;
	border-radius: 0 0 6px 6px;
}
.block-fund .block-fund-title {
	margin-bottom: 20px;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	color: #FFFFFF;
}
.block-fund .button-link {
	margin-left: auto;
	margin-right: auto;
	width: 400px;
	max-width: 100%;
}
.block-fund .button-link a {
	padding-right: 76px;
	padding-left: 56px;
	min-height: 70px;
	border-radius: 6px;
	border: 3px solid #E9ECF0;
	color: #222222;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
	font-weight: bold;
	position: relative;
	text-decoration: none;
	overflow: hidden;
	transition: all .3s;
}
.block-fund .button-link.border {
	padding: 2px;
	background: #1265D6;
	border-radius: 40px;
	transition: all .3s;
	opacity: 1;
}
.block-fund .button-link.border-black {
	background: #222222;
}
.block-fund .button-link.border a {
	height: 100%;
	background: #fff;
	color: #222222;
}
.block-fund .button-link.border .sbi {
	display: block;
	width: 150px;
}
.block-fund .button-link.border .rakuten {
	display: block;
	margin-top: 5px;
	width: 218px;
}
.block-fund .button-link.border .manex {
	display: block;
	width: 189px;
}
.block-fund .button-link.border a::after {
	background: url(/special/fang/images/fang/g_icon_img_01_20241015.png) no-repeat 0 0 / cover;
}
.block-fund .button-link.border-black a::after {
	background: url(/special/fang/images/fang/g_icon_img_02_20241015.png) no-repeat 0 0 / cover;
}
.block-fund .button-link span {
	position: relative;
	display: block;
	text-align: center;
}
.block-fund .button-link span img {
	width: 60%;
}
.block-fund .button-link span.sbi img {
	width: 40%;
}
.block-fund .button-link small {
	position: relative;
	display: block;
	font-size: 0.6em;
	text-align: center;
}
.block-fund .button-link a:after {
	position: absolute;
	display: block;
	content: '';
	top: 50%;
	right: 24px;
	z-index: 1;
	transform: translateY(-50%);
	height: 24px;
	width: 24px;
	background: url(/special/fang/images/fang/g_icon_img_09_20230913.svg) no-repeat 0 0 / cover;
}
.block-fund .text-link {
	margin-top: 30px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	transition: all .3s;
}
.block-fund .text-link a {
	position: relative;
	padding-right: 26px;
	min-height: 70px;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	text-decoration: underline;
	overflow: hidden;
	transition: all .3s;
}
.block-fund .text-link a:after {
	position: absolute;
	display: block;
	content: '';
	top: 5px;
	right: 0;
	z-index: 1;
	height: 20px;
	width: 20px;
	background: url(/special/fang/images/fang/g_arrow_img_01_20230913.svg) no-repeat center center / contain;
	transition: all .3s;
}
.block-fund .button-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}
.block-fund .button-links .button-link {
	margin: 0;
}
@media screen and (min-width: 768px) {
	.bottom-block-fund-col {
		max-width: 988px;
		display: flex;
		flex-wrap: nowrap;
		margin: 0 auto;
		gap: 28px;
	}
	.bottom-block-fund {
		flex: 0 0 calc(50% - 14px);
		width: calc(50% - 14px);
	}
	.block-fund .button-link a:hover:before {
		opacity: 1;
	}
	.block-fund .button-link.border:has(a:hover) {
		opacity: 0.6;
	}
	.block-fund .button-link.border a:hover:before {
		opacity: 0;
	}
	.block-fund .text-link a:hover {
		opacity: .8;
	}

	.block-fund .button-link a:hover {
		opacity: .8;
	}
	.block-fund-head-title {
		margin-bottom: -25px;
	}
	.block-fund-head-title .title {
		font-size: 2.4rem;
	}
	.block-fund-head-text {
		font-size: 2rem;
		line-height: 1.2;
	}
	.block-fund-head img {
		max-width: 273px;
	}
	.block-fund-head {
		min-height: 438px;
		padding: 60px 40px 20px;
	}
	.block-fund-note {
		margin-top: 35px;
	}
	.block-fund-head-ttlwrap + .block-fund-note {
		margin-top: 20px;
	}
	.block-fund-note li {
		font-size: 2rem;
	}
	.block-fund-note li::before {
		top: 8px;
	}
	.block-fund-head .note-01 {
		font-weight: 700;
	}
	.block-fund .button-link a:after {
		width: 16px;
		height: 16px;
	}
	.block-fund .button-link span img {
		width: 80%;
	}
	.block-fund .button-link span.sbi img {
		width: 50%;
	}
	.bottom-block-fund.bottom-block-fund02 .block-fund-head {
		padding-top: 46px;
	}
}
@media screen and (max-width: 767px) {
	.block-fund .block-fund-title {
		font-size: 1.6rem;
	}
	.block-fund .button-link {
		width: 100%;
		min-width: 240px;
	}
	.block-fund .button-link a {
		padding-right: 35px;
		padding-left: 25px;
		min-height: 58px;
		font-size: 1.4rem;
	}
	.block-fund .button-link a:after {
		right: 16px;
		height: 16px;
		width: 16px;
	}
	.block-fund .button-link.border {
		width: 71.794871795vw;
		min-width: 280px;
	}
	.block-fund .button-link.border .sbi {
		width: 110px;
	}
	.block-fund .button-link.border .rakuten {
		margin-top: 2px;
		width: 152px;
	}
	.block-fund .button-link.border .manex {
		width: 132px;
	}
	.block-fund .text-link {
		margin-top: 20px;
	}
	.block-fund .text-link a {
		padding-right: 19px;
		font-size: 1.4rem;
	}
	.block-fund .text-link a:after {
		width: 14px;
		height: 14px;
	}
	.block-fund .button-links {
		flex-direction: column;
		align-content: center;
		gap: 10px;
	}
}
/* その他のFANG+シリーズ */
.bottom-block-fund-other {
	margin-top: 24px;
}
.other-inner {
	background-color: #F2F3F5;
	padding: 16px 20px 20px;
}
.other-inner .other-inner-title {
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
}
.other-inner .other-inner-item {
	margin-top: 16px;
	background-color: #fff;
	padding: 16px 20px 20px;
	text-align: center;
}
.other-inner .other-inner-item img {
	width: calc(243 / 295 * 100%);
}
.other-inner .other-inner-item:nth-of-type(2) img {
	width: calc(196 / 295 * 100%);
}
.other-inner-button-list .other-inner-button {
	position: relative;
	margin-top: 16px;
}
.other-inner-button a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	background-color: #fff;
	border: 2px solid #E9EBF0;
	border-radius: 5px;
	padding: 14px;
	box-sizing: border-box;
	text-decoration: none;
	transition: all 0.3s ease-out;
}
.other-inner-button a span {
	position: relative;
	display: inline-block;
	font-size: 18px;
	font-weight: bold;
	color: #222222;
}
.other-inner-button a::before {
    position: relative;
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 8px;
	content: "";
	background: url(/special/fang/images/fang/g_arrow_img_02_20230913.svg) no-repeat center center / contain;
	transform: translateY(2px);
}
@media screen and (min-width: 768px) {
	.bottom-block-fund-other {
		margin-top: 60px;
	}
	.other-inner {
		max-width: 988px;
        margin: 0 auto;
		padding: 24px 40px 40px;
	}
	.other-inner .other-inner-title {
		font-size: 2.4rem;
	}
	.other-inner .other-inner-items {
        display: flex;
        flex-wrap: nowrap;
        gap: 28px;
	}
	.other-inner .other-inner-item {
		flex: 0 0 calc(50% - 14px);
		width: calc(50% - 14px);
		padding: 20px 20px 30px;
	}
	.other-inner-button-list {
		display: flex;
		flex-wrap: wrap;
        gap: 0 20px;
	}
	.other-inner-button-list .other-inner-button {
		margin-top: 20px;
		flex: 1 0 auto;
	}
	.other-inner-button a {
		padding: 20px 10px;
		transition: all .3s;
	}
	.other-inner-button a span {
		font-size: 22px;
	}
	.other-inner-button a::before {
		width: 20px;
		height: 20px;
		padding-right: 6px;
	}
	.other-inner-button a:hover {
		opacity: .7;
	}
}

/*--------------------------------------------------------------------------------
	new-course
--------------------------------------------------------------------------------*/
.new-course-inner {
	position: relative;
	background-image: linear-gradient(0deg, #ffffff, #cbe2f1 30%, #97c4e2 49%, #2e8ac4);
	margin-top: 90px;
}
.new-course-wrap {
	margin-top: -50px;
}
.new-course-wrap .feature {
	margin-top: 0;
}
.new-course-wrap .charm-02-01 {
	margin-top: 64px;
}
.new-course-wrap .charm-02-01:first-child {
	margin-top: 10px;
}
.new-course-wrap .txt-01 {
	margin-top: 16px;
	margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
	.new-course-wrap .charm-02-list-item-box-ttl-stxt {
		text-align: left;
	}
}
.new-course-mv {
	position: relative;
	z-index: 1;
}
.new-course-mv .new-course-mv__img img {
	margin-top: -60px;
}
.new-course-mv .new-course-mv__inner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	max-width: 1140px;
	padding: 70px 20px 90px;
	transform: translate(-50%, -50%);
	margin: auto;
	text-align: center;
}
.new-course-mv .new-course-mv__title {
	position: relative;
	display: inline-block;
}
.new-course-mv .new-course-mv__title img {
	display: inline-block;
	width: 55px;
	margin-left: 10px;
}
.new-course-mv .new-course-mv__title h2 {
	font-weight: 900;
	font-size: 3.6rem;
	color: #FFF500;
	line-height: 1.5;
	margin-bottom: 20px;
}
.new-course-mv .new-course-mv__title h2 span {
	display: block;
	font-size: 2rem;
	color: #FFFFFF;
	line-height: 1.5;
}
.new-course-mv .new-course-mv__text {
	font-weight: 700;
	font-size: 1.4rem;
	color: #FFFFFF;
	line-height: 1.8;
	text-align: left;
}
.new-course .table-wrap {
	margin-top: 32px;
	margin-bottom: 24px;
}
.new-course .table-wrap + .table-wrap {
	margin-top: 0;
}
.new-course .table_layout {
	width: 100%;
	border-spacing: 0;
}
.new-course .table_layout th {
	text-align: center;
	font-size: 1.4rem;
	font-weight: 500;
	color: #FFFFFF;
	background-color: #999999;
	border-right: 1px solid #B9B9B9;
	padding: 12px 10px;
}

.new-course .table_layout tbody td{
	position: relative;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 500;
	color: #000000;
	background-color: #fff;
	padding: 12px 10px;
}
.new-course .table_layout tbody td.noempty {
	background-color: #F2F3F5;
}
.new-course .table_layout tbody td.yellow-01{
	background-color: #FFFEEA;
}
.new-course .table_layout tbody td.yellow-02{
	background-color: #FFFCB5;
}
.new-course .table_layout tbody td.yellow-03{
	background-color: #FFF96C;
}
.new-course .table_layout tbody td.yellow-04{
	background-color: #FFF500;
}
.new-course .table_layout tbody td.yellow-05{
	background-color: #FFE200;
	font-weight: 700;
}
.new-course .table_layout tbody th.subheader {
	font-weight: 700;
	color: #000;
	background-color: #F2F3F5;
	border-right: 1px solid #B9B9B9;
}
/* Sサイズ */
.new-course .table_layout.table_layout0--s {
	width: 100%;
}
.new-course .table_layout.table_layout0--s tbody td {
	border: 1px solid #E9ECF0;
	text-align: right;
	font-size: 1.8rem;
}
.new-course .table_layout.table_layout0--s tbody td:not(:first-child) {
	border-left: none;
}
@media screen and (min-width: 768px) {
	.new-course .table_layout.table_layout0--s {
		margin-left: auto;
		width: 45%;
		min-width: 478px;
	}
	.new-course .table_layout.table_layout0--s tbody td {
		font-size: 2rem;
	}
}
/* layout01 */
.new-course .table_layout.table_layout01 tbody td {
	text-align: right;
}
/* layout02 */
.new-course .table_layout.table_layout02 th {
	background-color: #E00E97;
}
.new-course .table_layout.table_layout02 tbody tr td:first-child {
	border-right: 1px solid #B9B9B9;
}
.new-course .table_layout.table_layout02 tr:nth-of-type(odd) td {
	background-color: #F2F3F5;
}
@media screen and (max-width: 767px) {
	.new-course .table_layout.table_layout02 tr td {
		font-size: 1.4rem;
	}
}
@media screen and (min-width: 768px) {
	.new-course-inner {
		margin-top: 0;
	}
	.new-course-wrap {
		margin-top: -110px;
	}
	.new-course-wrap .charm-02-01 {
		margin-top: 100px;
	}
	.new-course-mv .new-course-mv__inner {
		padding: 145px 20px 200px;
	}
	.new-course-mv .new-course-mv__title img {
		width: 128px;
		transform: translateY(10px);
	}
	.new-course-mv .new-course-mv__text {
		font-size: 2rem;
		text-align: center;
	}
	.new-course-mv .new-course-mv__title h2 {
		font-size: 7.2rem;
	}
	.new-course-mv .new-course-mv__title h2 span {
		display: block;
		font-size: 4.5rem;
	}
	.new-course-wrap .txt-01 {
		font-weight: 500;
		margin-top: 32px;
		margin-bottom: 40px;
	}
	.new-course .table-wrap {
		margin-top: 40px;
	}
	.new-course .table_layout th {
		font-size: 1.6rem;
	}
}

.scroll_x_wrap .scroll_x_hint {
	display: none;
}
@media screen and (max-width: 900px) {
	/************************
	scroll_x
	************************/
	.sp_900{
		width: 900px!important;
	}
	.sp_scrolling {
		overflow-x: scroll;
		padding-bottom: 10px;
	}
	.scroll_x_wrap {
        position: relative;
        margin: 0;
        overflow: hidden;
        -webkit-overflow-scrolling: touch;
        width: 100%;
	}
	.scroll_x_wrap .sp_scrolling {
		width: 100%;
		padding: 0 0 10px;
		overflow: auto;
	}
	.scroll_x_wrap::-webkit-scrollbar {
		height: 5px;
	}
	.scroll_x_wrap .scroll_x_hint {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.1);
	z-index: 10;
	justify-content: center;
	align-items: center;
	text-align: center;
	pointer-events: none;
	}
	.scroll_x_wrap.is-scroll .scroll_x_hint {
	display: flex;
	}
	.scroll_x_wrap .scroll_x_hint img {
	max-width: 135px;
	height: auto;
	margin: auto;
	display: block;
	}
}

/*--------------------------------------------------------------------------------
	course
--------------------------------------------------------------------------------*/
.course {
	background-color: #fff;
	padding: 80px 20px 0 20px;
}
.course-wrap {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}
.course .ttl-01-inner > span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 29px;
}
.course .ttl-01-inner > span:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 24px;
	height: 24px;
	transform: translate(0,-50%);
	content: "";
	background: url(/special/fang/images/fang/g_icon_img_13_20251014.svg) no-repeat center center / contain;
}
/*--------------------------------------------------------------------------------
	float link
--------------------------------------------------------------------------------*/
.float-link.is-hidden {
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
}
.float-link .float-link_title {
	font-size: 1.6rem;
	font-weight: 700;
	color: #222;
	text-align: center;
	margin-bottom: 10px;
}
.float-link .float-link_close {
	position: absolute;
	top: 11px;
	right: 7px;
	cursor: pointer;
	z-index: 2;
	display: inline-block;
	width: 26px;
	height: 26px;
	background: url(/special/fang/images/fang/g_icon_img_11_20251014.svg) no-repeat center center / contain;
}
.float-link .float-link_cv {
	position: relative;
	margin-bottom: 5px;
}
.float-link .btn_cv_inner {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	background-color: #1265D6;
	border: 2px solid #1265D6;
	border-radius: 5px;
	padding: 5px 7px 6px 20px;
	box-sizing: border-box;
}
.float-link .float-link_inner .btn_cv_title {
	position: relative;
	display: inline-block;
	font-size: 12px;
	font-weight: bold;
	color: #fff;
}
.float-link .btn_cv_inner .btn_cv_text::after ,
.float-link .btn_cv_inner .btn_cv_title::after {
	position: absolute;
	right: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #0076A9;
	bottom: 1px;
	transform: scale(0, 1);
	transform-origin: right top;
}
.float-link .float-link_inner .btn_cv_icon {
	position: absolute;
	top: calc(50% - 7px);
	left: 4px;
	color: #217DC2;
}
.float-link .float-link_inner .btn_cv_icon::before {
	position: relative;
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 8px;
	content: "";
	background: url(/special/fang/images/fang/g_icon_img_02_20241015.png) no-repeat center center / contain;
	transform: rotate(90deg);
}
.float-link .float-link_cv:nth-of-type(2) .btn_cv_inner {
	background-color: #E689C6;
	border-color: #E689C6;

}
.float-link .float-link_cv:nth-of-type(2) .btn_cv_icon::before {
	background: url(/special/fang/images/fang/g_icon_img_14_20251014.svg) no-repeat center center / contain;
	transform: rotate(0);
}
.float-link .float-link_txtlink {
	text-align: center;
}
.float-link .float-link_txtlink a {
	color: #222;
	font-size: 1.4rem;
	font-weight: 700;
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
	.float-link {
		position: fixed;
		bottom: 0;
		position: fixed;
		bottom: 0;
		left: 50%;
		width: 100%;
		visibility: visible;
		pointer-events: auto;
		opacity: 1;
		z-index: 200;
		transform: translate(-50%, 0);
	}
	.float-link .float-link_inner {
		position: relative;
		background-color: #fff;
		padding: 10px 15px;
		box-shadow: 0px 3px 20px 0px rgba(0, 39, 72, .12);
	}
	.float-link_buttons {
		display: flex;
		justify-content: center;
		gap: 10px;
	}
	.float-link .float-link_inner .btn_cv_icon::before {
		width: 14px;
		height: 14px;
		margin-right: 0;
	}
}
@media screen and (min-width: 768px) {
	.float-link {
		position: fixed;
		bottom: 85px;
		right: 0;
		visibility: visible;
		pointer-events: auto;
		opacity: 1;
		z-index: 200;
	}
	.float-link .float-link_inner {
		position: relative;
		width: 100%;
		max-width: 330px;
		background-color: #fff;
		border-right: none;
		border-radius: 10px 0 0 10px;
		box-shadow: 0px 3px 20px 0px rgba(0, 39, 72, .12);
		padding: 37px 20px 17px;
		transition: transform 0.2s;
	}
	.float-link .float-link_close {
		position: absolute;
		top: 11px;
		right: 7px;
		cursor: pointer;
		z-index: 2;
		display: inline-block;
		width: 26px;
		height: 26px;
		background: url(/special/fang/images/fang/g_icon_img_11_20251014.svg) no-repeat center center / contain;
		transition: all 0.4s;
	}
	.float-link .float-link_cv {
		margin-bottom: 10px;
	}
	.float-link .float-link_inner .btn_cv_icon {
		top: calc(50% - 10px);
		left: 10px;
	}
	.float-link .btn_cv_inner {
		padding: 11px 12px 12px 34px;
		transition: all 0.2s ease-out;
	}
	.float-link .float-link_title {
		font-size: 2rem;
		margin-bottom: 10px;
	}
	.float-link .float-link_inner .btn_cv_title {
		font-size: 15px;
	}

	.float-link .btn_cv_inner .btn_cv_text::after ,
	.float-link .btn_cv_inner .btn_cv_title::after {
		position: absolute;
		right: 0;
		content: '';
		width: 100%;
		height: 1px;
		background: #0076A9;
		bottom: 1px;
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform 0.2s;
	}
	.float-link .float-link_inner .btn_cv_icon::before {
		width: 18px;
		height: 18px;
	}
	.float-link .float-link_txtlink a {
		font-size: 1.6rem;
		transition: opacity .2s;
	}

	/* hover */
	.float-link .float-link_close:hover {
		opacity: .7;
	}
	.float-link .btn_cv_inner:hover {
		opacity: .7;
	}
	.float-link .float-link_txtlink a:hover {
		opacity: .7;
	}
}

/* comingsoon */
.comingsoon {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	padding: 40px;
	font-size: 2rem;
	font-weight: 700;
	min-height: 340px;
}