@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');

/* IE10以降でのみ有効 */
/*@media all and (-ms-high-contrast: none) {*/
	/*html {*/
		/*height: 100%;*/
		/*overflow: hidden;*/
	/*}*/
	/*body {*/
		/*height: 100%;*/
		/*overflow: scroll;*/
	/*}*/
/*}*/

.m-section::before {
	display: none;
}

.m-section__bg[data-type="other"] {
	height: 100px;
}

.m-section__bg[data-type="other"] .m-section__bg__item {
	height: 100px;
}

@media screen and (max-width:1060px){

	.m-section__bg[data-type="other"],
	.m-section__bg[data-type="other"] .m-section__bg__item {
		display: none;
		height: 35px;
	}
}

/**********************************

 ヘッダーの調整

***********************************/
.l-header .m-icn-blank {
	background: url(../assets/img/icn_blank.svg) no-repeat center / contain;
}

.l-header .m-icn-blank img {
	display: none;
}

@media screen and (max-width:1360px){
	.l-header .m-icn-blank {
		background: url(../assets/img/icn_blank_o.svg) no-repeat center / contain;
	}

}

/**********************************

 フッターの調整

***********************************/
.l-footer {
	margin-top: 0 !important;
}
.l-footer-content {
	background: #fff;
}

.m-footer-copy {
	color: #000000;
	font-size: 1.4rem;
}

@media screen and (max-width:767px){

	.m-footer-copy {
		font-size: 1rem;
	}
}

/**********************************

 pageContent

***********************************/
.pageContent {
	/*max-width: 980px;*/
	/*padding-top: 90px;*/
	/*padding-top: 150px;*/
	/*padding-top: 128px;*/
	/*padding-top: 50px;*/
	margin: 0 auto 0;
}

.pageContent .ov {
	transition: opacity 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.pageContent .ov:hover {
	opacity:0.7;
	filter: alpha(opacity=70);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=70)";  /* ie 8 */
	-moz-opacity:0.7;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.7;              /* Safari 1.x */
}

.pageContent .oswald {
	font-family: 'Oswald', sans-serif;
}

.pageContent .mincho {
	font-family: 'Noto Serif JP', '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}

.pageContent img {
	max-width: 100%;
	width: auto;
	height: auto;
}

.pageContent .define_wrap {
	padding: 0 24px;
}

.pageContent .define_inner {
	max-width: 100%;
	width: 990px;
	margin: 0 auto;
}

.pageContent .m-icn-blank {
	display: none;
}

@media screen and (min-width:768px){
	.pageContent .spOnly {
		display: none !important;
	}
}

@media screen and (max-width:1060px){
	.pageContent {
	}
}

@media screen and (max-width:979px){
	.pageContent {
	}
}

@media screen and (max-width:1060px){

	.pageContent {
		padding-top: 50px;
	}
}

@media screen and (max-width:767px){

	.pageContent {
		padding-top: 50px;
		/*padding-top: 120px;*/
		/*padding-top: 15px;*/
	}

	.pageContent .pcOnly {
		display: none !important;
	}

	.pageContent .define_wrap {
		padding: 0 4%;
	}
}


/**********************************

 hero

***********************************/
.pageContent .hero {
	background: #000 url(../images/hero.png) no-repeat center -3em;
	background-size: 100% auto;
}

.pageContent .hero__inner {
	padding-top: 4.231vw;
	padding-bottom: 6.923vw;
}

.pageContent .hero__inner-ttl {
	width: 32vw;
	margin: 0 auto;
}

.pageContent .hero__inner-txt01 {
	margin-top: 4.154vw;
	color: #fff;
	font-size: 1.385vw;
	font-weight: 500;
	text-align: center;
}

.pageContent .hero__inner-caution {
	width: 51.769vw;
	padding: 1.538vw 0;
	margin: 3.846153846153846vw auto 0;
	color: #000;
	font-size: 1.615vw;
	font-weight: bold;
	text-align: center;
	line-height: 1.666666666666667;
	text-decoration: underline;
	background: #fff;
	border-top: 0.692307692307692vw solid #00A33E;
	border-bottom: 0.692307692307692vw solid #008CD6;
}

.pageContent .hero__inner-btn {
	margin-top: 3.077vw;
	text-align: center;
}

.pageContent .hero__inner-btn a {
	display: inline-block;
	padding: 10px 50px;
	color: #fff;
	font-size: 17px;
	font-weight: 500;
	text-align: center;
	border: 1px solid #fff;
}

.pageContent .hero__inner-btn a:hover {
	color: #0055A7;
	text-decoration: none;
	background: #fff;
	opacity: 1;
}

.pageContent .hero__inner-btn a span {
	padding-right: 22px;
	position: relative;
	z-index: 1;
}

.pageContent .hero__inner-btn a span:before {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	background: url(../images/icon_arr01.png) no-repeat center / contain;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

@media screen and (max-width:1089px){

	.pageContent .hero__inner-btn a {
		padding: 0.917vw 4.587vw;
		font-size: 1.56vw;
	}

	.pageContent .hero__inner-btn a span {
		padding-right: 2.018vw;
	}

	.pageContent .hero__inner-btn a span:before {
		width: 1.284vw;
		height: 1.284vw;
	}

}

@media screen and (max-width:767px){

	.pageContent .hero {
		background: #000 url(../images/hero.png) no-repeat center top;
		background-size: 200% auto;
	}

	.pageContent .hero__inner {
		padding-top: 6vw;
		padding-bottom: 8.462vw;
	}

	.pageContent .hero__inner-ttl {
		width: 70vw;
		margin: 0 auto;
	}

	.pageContent .hero__inner-txt01 {
		margin-top: 8vw;
		font-size: 3.2vw;
	}

	.pageContent .hero__inner-caution {
		width: 92vw;
		padding: 2.667vw 0;
		margin: 30px auto 0;
		font-size: 4.267vw;
		border-top: 1.333333333333333vw solid #00A33E;
		border-bottom: 1.333333333333333vw solid #008CD6;
	}

	.pageContent .hero__inner-btn {
		margin-top: 8vw;
	}

	.pageContent .hero__inner-btn a {
		padding: 1.6vw 6.667vw;
		font-size: 3.733vw;
	}

	.pageContent .hero__inner-btn a span {
		padding-right: 4.8vw;
	}

	.pageContent .hero__inner-btn a span:before {
		width: 3.2vw;
		height: 3.2vw;
	}

}


/**********************************

 famipay

***********************************/
.pageContent .famipay {
	background: #E0E0E0;
}

.pageContent .famipay__inner {
	padding: 56px 0 80px;
}

/*.pageContent .famipay__inner-logo {*/
 .pageContent .famipay__inner-txt01 img{
	width: 180px;
	margin: 0 0.5em 12px auto;
}

.pageContent .famipay__inner-txt01 {
	color: #000;
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	margin-bottom: 40px;
}

.pageContent .famipay__inner-btn {
	display: flex;
	justify-content: center;
}

.pageContent .famipay__inner-btn .apple {
	width: 217px;
	margin: 0 19px;
}

.pageContent .famipay__inner-btn .google {
	width: 217px;
	margin: 0 19px;
}

@media screen and (max-width:1089px){

	.pageContent .famipay__inner {
		padding: 5.138vw 0 7.339vw;
	}

	/*.pageContent .famipay__inner-logo {*/
    .pageContent .famipay__inner-txt01 img{
		width: 16.514vw;
		margin-bottom: 0.385vw;
	}

	.pageContent .famipay__inner-txt01 {
		font-size: 2.294vw;
		margin-bottom: 3.67vw;
	}

	.pageContent .famipay__inner-btn .apple {
		width: 19.908vw;
		margin: 0 1.743vw;
	}

	.pageContent .famipay__inner-btn .google {
		width: 19.908vw;
		margin: 0 1.743vw;
	}

}

@media screen and (max-width:767px){

	.pageContent .famipay__inner {
		padding: 8vw 0 10.667vw;
	}

	/*.pageContent .famipay__inner-logo {*/
    .pageContent .famipay__inner-txt01 img{
		width: 32vw;
		margin-bottom: 2vw;
	}

	.pageContent .famipay__inner-txt01 {
		font-size: 4.267vw;
		margin-bottom: 5.333vw;
	}

	.pageContent .famipay__inner-btn .apple {
		width: 40vw;
		margin: 0 2.133vw;
	}

	.pageContent .famipay__inner-btn .google {
		width: 40vw;
		margin: 0 2.133vw;
	}
}


/**********************************

 model

***********************************/
.pageContent .model {
	background: #fff;
}

.pageContent .model__inner {
	padding: 72px 0 30px;
}

.pageContent .model__inner-ttl {
	padding: 40px 0;
	margin-bottom: 0px;
	color: #000;
	font-size: 23px;
	font-weight: 500;
	text-align: center;
	line-height: 1.391304347826087;
	position: relative;
	z-index: 1;
}

.pageContent .model__inner-ttl:before {
	content: "";
	display: block;
	width: 164px;
	height: 25px;
	background: url(../images/model_ttl_bg01.png) no-repeat center / contain;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 1;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.pageContent .model__inner-ttl:after {
	content: "";
	display: block;
	width: 164px;
	height: 25px;
	background: url(../images/model_ttl_bg02.png) no-repeat center / contain;
	position: absolute;
	bottom: 0;
	left: 50%;
	z-index: 1;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.pageContent .model__inner-pic {
	width: 500px;
	margin: 0 auto;
}

.pageContent .model__inner-btn {
	margin-top: 0px;
	text-align: center;
}

.pageContent .model__inner-btn a {
	display: inline-block;
	padding: 10px 50px;
	color: #000;
	font-size: 17px;
	font-weight: 500;
	text-align: center;
	background: #fff;
	border: 1px solid #000;
}

.pageContent .model__inner-btn a:hover {
	color: #fff;
	text-decoration: none;
	background: #0055A7;
	opacity: 1;
}

.pageContent .model__inner-btn a span {
	padding-right: 22px;
	position: relative;
	z-index: 1;
}

.pageContent .model__inner-btn a span:before {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	background: url(../images/icon_arr01.png) no-repeat center / contain;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.pageContent .model__inner-btn a:hover span:before {
	background: url(../images/icon_arr04.png) no-repeat center / contain;
}

.pageContent .model__inner-btn a .m-icn-blank {
	display: none;
}

@media screen and (max-width:1089px){

	.pageContent .model__inner {
		padding: 6.606vw 0 2.752vw;
	}

	.pageContent .model__inner-ttl {
		padding: 3.67vw 0;
		margin-bottom: 0vw;
		font-size: 2.11vw;
	}

	.pageContent .model__inner-ttl:before {
		width: 15.046vw;
		height: 2.294vw;
	}

	.pageContent .model__inner-ttl:after {
		width: 15.046vw;
		height: 2.294vw;
	}

	.pageContent .model__inner-pic {
		width: 45.872vw;
	}

	.pageContent .model__inner-btn {
		/*margin-top: 3.67vw;*/
		margin-top: 0;
	}

	.pageContent .model__inner-btn a {
		padding: 0.917vw 4.587vw;
		font-size: 1.56vw;
	}

	.pageContent .model__inner-btn a span {
		padding-right: 2.018vw;
	}

	.pageContent .model__inner-btn a span:before {
		width: 1.284vw;
		height: 1.284vw;
	}
}

@media screen and (max-width:767px){

	.pageContent .model__inner {
		padding: 9.6vw 0 5.333vw;
	}

	.pageContent .model__inner-ttl {
		padding: 9.333vw 0;
		margin-bottom: 0;
		font-size: 5.333vw;
	}

	.pageContent .model__inner-ttl:before {
		width: 38.4vw;
		height: 5.867vw;
	}

	.pageContent .model__inner-ttl:after {
		width: 38.4vw;
		height: 5.867vw;
	}

	.pageContent .model__inner-pic {
		width: 94%;
		margin: 0 auto;
	}

	.pageContent .model__inner-btn {
		margin-top: 0;
	}

	.pageContent .model__inner-btn a {
		padding: 2.133vw 5.333vw;
		font-size: 3.733vw;
		line-height: 1.5;
	}

	.pageContent .model__inner-btn a span {
		display: inline-block;
		padding-right: 4.8vw;
	}

	.pageContent .model__inner-btn a span:before {
		width: 3.2vw;
		height: 3.2vw;
	}
}

/**********************************

 flow

***********************************/
.pageContent .flow {
	background: #fff;
}

.pageContent .flow__inner {
	padding-top: 80px;
	padding-bottom: 100px;
}

.pageContent .flow__inner-txt01 {
	margin-bottom: 16px;
	color: #000;
	font-size: 18px;
	font-weight: 500;
	text-align: center;
}

.pageContent .flow__inner-txt01 span {
	display: inline-block;
	padding: 0 34px;
	position: relative;
	z-index: 1;
}

.pageContent .flow__inner-txt01 span:before {
	content: "";
	display: block;
	width: 17px;
	height: 25px;
	background: url(../images/flow_line01.png) no-repeat center / contain;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.pageContent .flow__inner-txt01 span:after {
	content: "";
	display: block;
	width: 17px;
	height: 25px;
	background: url(../images/flow_line02.png) no-repeat center / contain;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.pageContent .flow__inner-ttl {
	margin-bottom: 46px;
	color: #fff;
	font-size: 21px;
	font-weight: bold;
	text-align: center;
	background: #69BE28;
}

.pageContent .flow__inner-ttl span {
	position: relative;
	z-index: 1;
}

.pageContent .flow__inner-list {
	display: flex;
	justify-content: space-between;
	overflow: hidden;
}

.pageContent .flow__inner-list-box {
	width: 33%;
	padding: 10px 15px 0;
	position: relative;
	z-index: 1;
}

.pageContent .flow__inner-list-box:after {
	content: "";
	display: block;
	width: 17px;
	height: 500px;
	margin-right: -15px;
	background: url(../images/flow_arr01.png) no-repeat center / contain;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.pageContent .flow__inner-list-box:last-child:after {
	display: none;
}

.pageContent .flow__inner-list-box .num {
	width: 76px;
	margin: 0 auto;
	text-align: center;
}

.pageContent .flow__inner-list-box .txt01 {
	margin-top: 45px;
	color: #000;
	font-size: 17px;
	font-weight: 500;
	text-align: center;
	line-height: 1.647058823529412;
}

.pageContent .flow__inner-btn01 {
	width: 456px;
	margin: 66px auto 0;
}

.pageContent .flow__inner-btn01 a {
	display: block;
	padding: 11px 15px;
	color: #fff;
	font-size: 21px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	background: #000;
	border: 1px solid #000;
}

.pageContent .flow__inner-btn01 a:hover {
	color: #000;
	background: #fff;
	opacity: 1;
}

.pageContent .flow__inner-btn01 a span .m-icn-blank,
.pageContent .flow__inner-btn01 a span .m-icn-blank:before {
	display: none !important;
}

.flow__inner-info {
	margin: 80px 0;
}

.flow__inner-info-inner {
	width: 600px;
	max-width: 100%;
	padding: 50px 0;
	margin: 0 auto;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}

.flow__inner-info-inner dl {
	margin-bottom: 2em;
}

.flow__inner-info-inner dl:last-child {
	margin-bottom: 0;
}

.flow__inner-info-inner dl dt {
	color: #000;
	font-size: 14px;
	font-weight: 500;
    padding-bottom: 1em;
	letter-spacing: -.03em;
	line-height: 1.5;
}

.flow__inner-info-inner dl dd {
	margin-left: 1em;
	color: #000;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: -.03em;
	line-height: 1.5;
}

.flow__inner-info-inner dl dd a {
	color: #000;
}

.flow__inner-info-inner dl dd ul {
}

.flow__inner-info-inner dl dd ul li {
	text-indent: -1em;
	margin-left: 1em;
}


@media screen and (max-width:1089px){

	.pageContent .flow__inner {
		padding-top: 2.752vw;
		padding-bottom: 9.174vw;
	}

	.pageContent .flow__inner-txt01 {
		margin-bottom: 1.468vw;
		font-size: 1.651vw;
	}

	.pageContent .flow__inner-txt01 span {
		padding: 0 3.119vw;
	}

	.pageContent .flow__inner-txt01 span:before {
		width: 1.56vw;
		height: 2.294vw;
	}

	.pageContent .flow__inner-txt01 span:after {
		width: 1.56vw;
		height: 2.294vw;
	}

	.pageContent .flow__inner-ttl {
		margin-bottom: 4.22vw;
		font-size: 1.927vw;
	}

	.pageContent .flow__inner-list-box {
		padding: 0.917vw 1.376vw 0;
	}

	.pageContent .flow__inner-list-box:after {
		width: 1.56vw;
		height: 45.872vw;
		margin-right: -1.376vw;
	}

	.pageContent .flow__inner-list-box .num {
		width: 6.972vw;
	}

	.pageContent .flow__inner-list-box .txt01 {
		margin-top: 4.128vw;
		font-size: 1.56vw;
	}

	.pageContent .flow__inner-btn01 {
		width: 41.835vw;
		margin-top: 6.055vw;
	}

	.pageContent .flow__inner-btn01 a {
		padding: 1.009vw 1.376vw;
		font-size: 1.927vw;
	}
}

@media screen and (max-width:767px){

	.pageContent .flow__inner {
		padding-top: 10.333vw;
		padding-bottom: 13.333vw;
	}

	.pageContent .flow__inner-txt01 {
		margin-bottom: 2.133vw;
		font-size: 4.267vw;
	}

	.pageContent .flow__inner-txt01 span {
		padding: 0 6.667vw;
	}

	.pageContent .flow__inner-txt01 span:before {
		width: 3.733vw;
		height: 5.333vw;
	}

	.pageContent .flow__inner-txt01 span:after {
		width: 3.733vw;
		height: 5.333vw;
	}

	.pageContent .flow__inner-ttl {
		margin-bottom: 10.667vw;
		font-size: 4.8vw;
	}

	.pageContent .flow__inner-ttl span {
	}

	.pageContent .flow__inner-list {
		display: block;
		overflow: visible;
	}

	.pageContent .flow__inner-list-box {
		width: 80vw;
		max-width: 100%;
		padding: 0 0 12vw;
		margin: 0 auto 6.666666666666667vw;
		position: relative;
		z-index: 1;
		overflow: hidden;
	}

	.pageContent .flow__inner-list-box:last-child {
		margin-bottom: 0;
	}

	.pageContent .flow__inner-list-box:after {
		content: "";
		display: block;
		width: 133.333vw;
		height: 4.533vw;
		margin-right: 0;
		background: url(../images/flow_arr02.png) no-repeat center / contain;
		position: absolute;
		top: auto;
		bottom: 0;
		right: auto;
		left: 50%;
		z-index: 1;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
	}

	.pageContent .flow__inner-list-box:last-child:after {
		display: none;
	}

	.pageContent .flow__inner-list-box .num {
		width: 20.267vw;
		margin: 0 auto;
		text-align: center;
	}

	.pageContent .flow__inner-list-box .txt01 {
		margin-top: 8vw;
		font-size: 4.267vw;
	}

	.pageContent .flow__inner-btn01 {
		width: 80vw;
		max-width: 100%;
		margin: 0 auto 0;
	}

	.pageContent .flow__inner-btn01 a {
		padding: 2.133vw 4vw;
		font-size: 4.267vw;
	}

	.flow__inner-info {
		margin: 10.667vw 0;
	}

	.flow__inner-info-inner {
		width: auto;
		padding: 4vw 0;
	}

	.flow__inner-info-inner dl dt {
		font-size: 2.667vw;
	}

	.flow__inner-info-inner dl dd {
		font-size: 2.667vw;
	}
}


/**********************************

 xxxx

***********************************/

@media screen and (max-width:767px){
}


/**********************************

 pageTopSec

***********************************/
.pageContent .pageTopSec {
	background-color: #000;
}

.pageContent .pageTopSec__inner {
	padding-top: 180px;
	/*padding: 0 0 75px 0;*/
}

.pageContent .pageTopSec__inner__txt {
	width: 104px;
	margin: 0 auto;
}

@media screen and (max-width:767px){

	.pageContent .pageTopSec__inner {
		padding-top: 90px;
		/*padding: 0 0 35px 0;*/
	}

	.pageContent .pageTopSec__inner__txt {
		width: 64px;
		margin: 0 auto;
	}
}