html {
	font-size: 62.5%;
}
body {
	font-size: 1.6rem;
	line-height: 1.8;
	background: #000;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
}
main {
	overflow: hidden;
}
#container .forSP{
	display: none;
}
.c-inner {
	max-width: 1120px;
	margin: 0 auto;
}
.c-flex {
	display: flex;
	justify-content: space-between;
}
.c-title {
	font-weight: 700;
}
.c-link,
.c-submit input,
.wpfs-form-actions button {
	color: #000;
	background: #fff;
	text-align: center;
	width: 275px;
	height: 56px;
	line-height: 56px;
	font-size: 2rem;
	font-weight: 700;
	position: relative;
	display: block;
	background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, #E4E4E4 50%);
    background-position: 0 0;
    background-size: 200% auto;
    transition: all .3s ease 0s;
}
.c-submit input,
.wpfs-form-actions button {
	margin: 0 auto;
}
.c-link:before {
	display: block;
    content: "";
    position: absolute;
    background: url(/wp-content/img/arrow-right.png) no-repeat;
    top: 50%;
    transform: translatey(-50%);
    right: 16px;
    width: 25px;
    height: 5px;
    background-size: contain;
}
.c-link:hover,
.c-submit input:hover,
.wpfs-form-actions button:hover {
	background-position: -100% 0;
}
.c-border {
	position: relative;
}
.c-border:before{
	position: absolute;
	content: "";
	display: block;
	background: linear-gradient(90deg, #000000 0%, rgba(255, 255, 255, 0.515625) 53.12%, #000000 100%);
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
}
.swiper-container-horizontal>.swiper-pagination-bullets, 
.swiper-pagination-custom, .swiper-pagination-fraction {
	bottom: 90px;
}
.swiper-pagination {
	text-align: left;
}
.swiper-pagination-bullet {
	background: #525252;
	opacity: 1;
	width: 32px;
	height: 6px;
	border-radius: 0;
}
.swiper-pagination-bullet-active {
	background: #fff;
}


.header {
	padding: 16px 0;
	width: 100%;
	background: #000;
}
.home .header {
	position: fixed;
	z-index: 10000;
	top: 0;
	display: none;
}
.header .c-inner{
	max-width: 1200px;
	justify-content: flex-start;
}
.home .header .c-inner{
	justify-content: space-between;
}
.header .c-flex{
	align-items: center;
}
.header-logo {
	display: flex;
	align-items: center;
	width: 272px;
	margin-right: 48px;
}
.home .header-logo {
	margin-right: 0;
}
.header-content .text {
	font-size: 1.2rem;
	margin-right: 24px;
}
.header .c-link {
	display: none;
}
.home .header .c-link {
	display: block;
}
.footer {
	margin-bottom: 80px;
}
.footer .footer-nav{
	letter-spacing: 40px;
	text-align: center;
	margin-bottom: 80px;
}
.footer .footer-nav li{
	letter-spacing: 0;
	display: inline-block;
}
.footer .footer-nav li a{
	display: block;
	font-size: 13px;
	text-decoration: underline;
	padding-left:20px;
	position: relative;
}
.footer .footer-nav li a:hover{
	text-decoration: none;
}
.footer .footer-nav li a:after{
	content:"";
	width: 10px;
	height: 10px;
	border:1px solid #fff;
	background: #fff;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	margin: auto;
}
.footer .c-inner {
	margin-bottom: 111px;
}
.footer .site-link {
	width: 128px;
	margin-top: 10px;
	margin-right: 40px;
}
.footer .address span {
	font-size: 1.2rem;
	display: block;
	margin-top: 4px;
}
.footer .social-link {
	width: 48px;
	height: 48px;
	margin: 0 8px;
}
.footer .copyright{
	text-align: center;
	font-size: 1.4rem;
}
/* sub-page */
.sub-page {
	margin-top: 40px;
	margin-bottom: 64px;
}
.sub-page h1{
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 16px;
}
.thanks h1{
	margin-bottom: 40px;
}
.thanks .p-heading {
	margin-bottom: 72px;
}
.thanks .p-heading p {
	font-size: 10rem;
	font-family: lato, sans-serif;
	font-weight: 600;
	line-height: 1;
	padding-bottom: 40px;
	text-align: center;
}
.thanks .p-content p {
	line-height: 2;
	margin-bottom: 80px;
}
.thanks .p-content .c-link {
	margin: 0 auto;
}

.p-mv {
	margin-bottom: 140px;
}
.p-mv > .c-inner {
	padding: 40px 0 80px;
}
.p-mv__header {
	margin-bottom: 40px;
	align-items: center;
}
.p-mv__header .logo {
	width: 340px;
	justify-items: center;
}
.p-mv__content h1 {
	margin-bottom: 68px;
	font-size: 4rem;
	letter-spacing: 0.03em;
	font-weight: 700;
}
.p-mv__content h1 span {
	font-size: 6.4rem;
	letter-spacing: 0;
}
.p-mv__content .wrap {
	justify-content: flex-start;
	position: relative;
	width: 100%;
}
.p-mv__content .wrap .point {
	width: 215px;
	margin-right: 48px;
}
.p-mv__content .wrap .text {
	width: 354px;
	line-height: 2.6;
}
.p-mv__content .wrap .image{
	position: absolute;
	top: -18px;
	right: -170px;
	width: 560px;
}
.p-mv .line{
	background: #E8E8E8;
	color: #000;
}
.p-mv .line .c-inner{
	height: 56px;
	line-height: 56px;
	max-width: 1200px;
}
.p-mv .line span{
	text-decoration: underline;
}

.p-problem {
	margin-bottom: 104px;
}
.p-problem h2{
	border-bottom: 1px solid #fff;
	margin-bottom: 32px;
	padding-bottom: 6px;
	font-weight: 500;
}
.p-problem ul {
	position: relative;
}
.p-problem ul:before {
	display: block;
	content: "";
	position: absolute;
	background: url(/wp-content/img/bg-problem.png);
	width: 659px;
	height: 255px;
	background-size: contain;
	right: -55px;
	bottom: -66px;
}
.p-problem ul li{
	font-size: 2rem;
	font-weight: 500;
	padding-left: 24px;
	position: relative;
}
.p-problem ul li:not(:last-child){
	margin-bottom: 32px;
}
.p-problem ul li:before{
	content: "";
	position: absolute;
	display: block;
	background: #fff;
	width: 12px;
	height: 2px;
	bottom: 10px;
	left: 0;
}

.p-merit {
	margin-bottom: 104px;
}
.p-merit .c-inner{
	max-width: 1056px;
}
.p-merit .c-title {
	max-width: 1120px;
	margin: 0 auto 8px;
}
.p-merit .merit {
	width: 304px;
}
.p-merit .merit__no {
	font-family: oswald, sans-serif;
	font-size: 6.4rem;
	letter-spacing: 0.08em;
	text-align: center;
	color: #000;
	text-align: center;
}
.p-merit .merit:nth-child(1) .merit__no {
	text-shadow:0 0 3px #2196F3,0 0 3px #2196F3,0 0 3px #2196F3,0 0 3px #2196F3,0 0 3px #2196F3,0 0 3px #2196F3,0 0 3px #2196F3,0 0 3px #2196F3,0 0 3px #2196F3,0 0 3px #2196F3,0 0 3px #2196F3,0 0 3px #2196F3,0 0 3px #2196F3,0 0 3px #2196F3,0 0 3px #2196F3,0 0 3px #2196F3;
}
.p-merit .merit:nth-child(2) .merit__no {
	text-shadow:0 0 3px #FFD54F,0 0 3px #FFD54F,0 0 3px #FFD54F,0 0 3px #FFD54F,0 0 3px #FFD54F,0 0 3px #FFD54F,0 0 3px #FFD54F,0 0 3px #FFD54F,0 0 3px #FFD54F,0 0 3px #FFD54F,0 0 3px #FFD54F,0 0 3px #FFD54F,0 0 3px #FFD54F,0 0 3px #FFD54F,0 0 3px #FFD54F,0 0 3px #FFD54F;
}
.p-merit .merit:nth-child(3) .merit__no {
	text-shadow:0 0 3px #F00095,0 0 3px #F00095,0 0 3px #F00095,0 0 3px #F00095,0 0 3px #F00095,0 0 3px #F00095,0 0 3px #F00095,0 0 3px #F00095,0 0 3px #F00095,0 0 3px #F00095,0 0 3px #F00095,0 0 3px #F00095,0 0 3px #F00095,0 0 3px #F00095,0 0 3px #F00095,0 0 3px #F00095;
}
.p-merit .merit h3 {
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
	margin-top: -10px;
	margin-bottom: 32px;
	position: relative;
}
.p-merit .merit h3:before {
	display: block;
	content: "";
	position: absolute;
	width: 156px;
	height: 156px;
	left: 50%;
	transform: translatex(-50%) rotate(45deg); 
	top: -20px;
	z-index: -1;
}
.p-merit .merit:nth-child(1) h3:before {
	border: 4px solid rgba(33, 150, 243, 0.56);
}
.p-merit .merit:nth-child(2) h3:before {
	border: 4px solid rgba(255, 213, 79, 0.56);
}
.p-merit .merit:nth-child(3) h3:before {
	border: 4px solid rgba(240, 0, 149, 0.56);
}
.p-merit .merit__text {
	line-height: 2;
}

.p-point {
	margin-bottom: 88px;
}
.p-point .swiper-slide .content {
	width: 512px;
}
.p-point .swiper-slide .image {
	width: calc(100% - 560px);
}
.p-point .swiper-slide .content-title {
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 20px;
}
.p-point .swiper-slide .text {
	line-break: 2;
}
.p-experience{
	margin-bottom: 120px;
}
.p-experience h2{
	font-weight: bold;
	font-size: 24px;
	line-height: 180%;
	margin-bottom: 20px;
}

.p-experience .copy{
	margin-bottom: 48px;
}
.p-experience .copy a{
	text-decoration: underline;
}
.p-experience .copy a:hover{
	text-decoration: none;
}
.p-experience .btn-area{
	text-align: center;
	letter-spacing: 30px;
}
.p-experience .btn-area .btn{
	display: inline-block;
	letter-spacing: 0;
	margin-bottom: 20px;
}
.p-experience .btn-area .btn a{
	color: #000;
    background: #fff;
    text-align: center;
    width: 275px;
    height: 56px;
    line-height: 56px;
    font-size: 20px;
    font-weight: bold;
    position: relative;
    display: block;
    background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, #E4E4E4 50%);
    background-position: 0 0;
    background-size: 200% auto;
    transition: all .3s ease 0s;
}
.p-experience .btn-area .btn a:hover{
    background-position: -100% 0;
}
.p-addition {
	background: #272727;
	padding: 24px 0;
	margin-bottom: 110px;
}
.p-addition .c-inner{
	position: relative;
	padding-left: 104px;
}
.p-addition .emphasis {
	position: absolute;
	left: 0;
	top: -40px;
}
.p-addition .emphasis p{
	padding-top: 12px;
	position: relative;
	writing-mode: vertical-rl;
	background: #fff;
	color: #272727;
	width: 48px;
	height: 340px;
	font-size: 3.2rem;
	letter-spacing: 0.14em;
	line-height: 1.5;
}
.p-addition .emphasis p:before,
.p-addition .emphasis p:after {
	position: absolute;
	display: block;
	content: "";
	right: -16px;
}
.p-addition .emphasis p:before {
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px 0 0 16px;
	border-color: transparent transparent transparent #BABABA;
}
.p-addition .emphasis p:after {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px 16px 0 0;
	border-color: #BABABA transparent transparent transparent;
	bottom: 0;
}
.p-addition .wrap .image {
	width: 210px;
}
.p-addition .wrap .content {
	width:calc(100% - 266px);
	position: relative;
}
.p-addition .wrap {
	align-items: center;
}
.p-addition .wrap .content__title {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 20px;
}
.p-addition .content__title span{
	text-decoration: underline;
}
.p-addition .content > div > p {
	margin-bottom: 16px;
}
.p-addition .content > div > ul li {
	padding-left: 20px;
	font-size: 1.2rem;
	line-height: 2.2;
	position: relative;
}
.p-addition .content > div > ul li:before {
	position: absolute;
	content: "";
	display: block;
	width: 8px;
	height: 2px;
	background: #fff;
	left: 0;
	bottom: 8px;
}
.p-addition .content .notice{
	font-size: 1.2rem;
	position: absolute;
	left: 0;
	bottom: -60px;
}

.p-price {
	margin-bottom: 42px;
}
.p-price .c-title {
	text-align: center;
	margin-bottom: 32px;
}
.p-price .c-inner{
	max-width: 832px;
	padding-bottom: 104px;	
}
.p-price .prices{
	margin-bottom: 16px;
}
.p-price .price{
	width: 400px;
	height: 104px;
	padding: 8px 16px;
	border: 1px solid #fff;
}
.p-price .price p:last-child span{
	font-size: 8rem;
	line-height: 1;
}
.p-price .option-wrap {
	background: #272727;
	padding: 12px 12px 18px 12px;
	font-size: 1.2rem;
}
.p-price .options {
	justify-content: flex-start;
}
.p-price .option-title {
	margin-bottom: 12px;
	font-weight: 700;
}
.p-price .option {
	position: relative;
}
.p-price .option:nth-child(1),
.p-price .option:nth-child(2){
	margin-right: 48px;
}
.p-price .option:nth-child(3){
	margin-right: 32px;
}
.p-price .option:nth-child(1):before,
.p-price .option:nth-child(2):before{
	position: absolute;
	content: "";
	display: block;
	width: 1px;
	height: 48px;
	background: #fff;
	transform: rotate(30deg);
	right: -20px;
	top: -2px;
}

.p-flow {
	margin-bottom: 72px;
}
.p-flow .c-inner {
	padding-bottom: 48px;
}
.p-flow .c-title {
	margin-bottom: 32px;
}
.p-flow .flow {
	justify-content: flex-start;
}
.p-flow .flow:not(:last-child) {
	margin-bottom: 48px;
}
.p-flow .flow__no {
	line-height: 1.1;
	margin-right: 16px;
	color: #000;
	font-family: oswald, sans-serif;
	font-size: 8rem;
	text-shadow:0 0 3px #1BD084,0 0 3px #1BD084,0 0 3px #1BD084,0 0 3px #1BD084,0 0 3px #1BD084,0 0 3px #1BD084,0 0 3px #1BD084,0 0 3px #1BD084,0 0 3px #1BD084,0 0 3px #1BD084,0 0 3px #1BD084,0 0 3px #1BD084,0 0 3px #1BD084,0 0 3px #1BD084,0 0 3px #1BD084,0 0 3px #1BD084;
}
.p-flow .flow__content {
	width: calc(100% - 32px);
}
.p-flow .flow h3 {
	font-size: 3.2rem;
	font-weight: 700;
	margin-bottom: 18px;
	padding-bottom: 4px;
	border-bottom: 2px solid #19BB7B;
}
.p-flow .flow .text {
	font-size: 1.4rem;
}

.p-application {
	margin-bottom: 88px;
}
.p-application .c-inner {
	max-width: 960px;
	padding-bottom: 72px;
}
.p-application .content {
	margin-bottom: 16px;
	letter-spacing: 0.04em;
	margin-bottom: 48px;
}
.p-application .content span {
	font-size: 4rem;
	font-weight: 700;
	letter-spacing: 0;
}
.p-application .c-flex {
	align-items: center;
}
.p-application .logo {
	width: 456px;
} 

/* apply-page, request-page */
.apply-page .p-heading,
.request .p-heading {
	margin-bottom: 48px;
}
.apply-page .p-heading .c-inner,
.request .p-heading .c-inner{
	padding-bottom: 80px;
}
.apply-page .p-heading p,
.request .p-heading p {
	line-height: 2;
}
.apply-page .p-heading p span {
	color: #FFE609;
}
.request .p-form h2 {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 2;
	margin-bottom: 32px;
}
.request form > p {
	margin-bottom: 48px;
	position: relative;
	padding-bottom: 20px;
}
.request form > p:before {
	position: absolute;
	content: "";
	display: block;
	background: linear-gradient(90deg, #000000 0%, rgba(255, 255, 255, 0.515625) 53.12%, #000000 100%);
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
}
.request form > p input,
.request form > p textarea,
.request form > p .select-box {
	margin-top: 10px;
	margin-bottom: 56px;
}
.request form > p input {
	width: 100%;
	height: 48px;
	line-height: 48px;
	background: #fff;
	color: #000;
	padding: 8px;
}
.request form > p textarea {
	width: 100%;
	padding: 8px;
	background: #fff;
	color: #000;
}
.request .select-box {
	position: relative;
	display: block;
	font-size: 1.6rem;
}
.request-page .select-box:before {
	position: absolute;
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 4px 0 4px;
	border-color: #fff transparent transparent transparent;
	left: 305px;
	top: 18px;
	z-index: -1;
}
.request .select-box select {
	width: 320px;
	border-bottom: 1px solid #fff;
	height: 40px;
	font-size: 1.6rem;
}
.request form > p > .note{
	font-size: 1.2rem;
	line-height: 2;
}
.request form > p > .title {
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 2;
	margin-bottom: 4px;
}
.request form > p > .input {
	font-size: 1.6rem;
	position: relative;
}
.request form > p > .input .error{
	position: absolute;
	top: 24px;
	left: 0;
}
.request-confirm-page form > p > .input {
	display: block;
	background: #ccc;
	color: #000;
	padding: 10px 8px;
	margin: 16px 0;
}
.request-page .agree-wrap {
	text-align: center;
}
.request-confirm-page .agree-wrap {
	display: none;
}
.request-page .agree-wrap .link-privacy{
	text-decoration: underline;
}
.request-page .mwform-checkbox-field {
	line-height: 3;
}
.request-page #agree-1 {
	width: 20px;
	height: 20px;
	border-radius: 2px;
}
.c-submit {
	text-align: center;
	display: flex;
	justify-content: center;
}
.c-submit input{
	margin: 16px;
}
/* 決済フォーム */
[class*=" wpfs-"], .wpfs-form-check-input + .wpfs-form-check-label{
	color: #fff!important;
	font-family: 'Noto Sans JP', sans-serif!important;
}
/*
[class^="wpfs-"], [class*=" wpfs-"],
.ElementsApp, .ElementsApp .InputElement,
input:-internal-autofill-selected {
	color: #fff!important;
}
*/
.wpfs-form-label, .wpfs-form-check-group-title {
	font-size: 1.6rem!important;
	color: #fff!important;
}
.wpfs-form-control {
	font-size: 1.8rem!important;
	border: none!important;
	border-bottom: 1px solid #fff!important;
	border-radius: 0!important;
	/*background: transparent!important;*/
	padding: 10px!important;
}
.wpfs-w-60 {
	display: flex;
	flex-direction: column;
	max-width: 1120px!important;
}
.wpfs-form-label {
	display: inline-block!important;
	margin-bottom: 12px!important;
	position: relative;
}
.request form .title {
	position: relative;
	display: inline-block;
}
.request form .title:before,
.wpfs-form-label:before {
	content: "必須";
	display: block;
	position: absolute;
	color: #FF5A26;
	background: #fff;
	border: 1px solid #FF5A26;
	text-align: center;
	width: 64px;
	height: 22px;
	line-height: 19px;
	font-size: 1.2rem;
	right: -88px;
	top: 0;
}
.request form .title:before {
	top: 6px;
}
.request form > p:nth-of-type(5) .title:before {
	display: none;
}
.wpfs-form-group {
	margin-bottom: 40px!important;
}
.description-group:nth-of-type(1) {
	order: 1;
}
.wpfs-form-group:nth-of-type(2) {
	order: 3;
}
.wpfs-form-group:nth-of-type(3) {
	order: 4;
}
.wpfs-form-group:nth-of-type(4) {
	order: 5;
}
.wpfs-form-group:nth-of-type(5) {
	order: 2;
}
.description-group:nth-of-type(6) {
	order: 6;
	margin-top: 66px;
}
.wpfs-form-group:nth-of-type(7) {
	order: 7;
	margin-bottom: 80px;
}
.wpfs-form-check {
	order: 8;
	padding-top: 45px;
	text-align: center;
	margin-bottom: 0!important;
}
.wpfs-form-actions {
	order: 9;
}
.description-group h2 {
	font-weight: 700;
	font-size: 2.4rem;
	margin-bottom: 32px;
}
.description-group .plan .wrap {
	background: #272727;
	padding: 16px 24px;
	font-weight: 700;
	margin-bottom: 56px;
}
.description-group .plan .wrap p:last-child{
	font-size: 3.2rem;
}
.plan .wpfs-form-label:before {
	display: none;
}
.description-group .card {
	margin-bottom: 56px;
}
.description-group .card > p {
	font-weight: 700;
	margin-bottom: 24px;
}
.description-group .card-img {
	display: flex;
}
.description-group .card-img > p{
	width: 85px;
}
.description-group .card-img > p:first-child{
	margin-right: 24px;
}
.wpfs-form-check.c-border:before {
	bottom: auto;
	top: 0;
}
.wpfs-form-actions button:active {
	color: #000!important;
	padding: 0!important;
	text-align: center!important;
}
.wpfs-form-actions button[disabled] {
	opacity: 0.8;
}
.wpfs-form-actions button[disabled]:hover {
	background-position: 0 0;
}
.wpfs-form-check-input + .wpfs-form-check-label:before {
	top: 5px!important;
}
.wpfs-form-label a:not(.wpfs-btn), .wpfs-form-check-label a:not(.wpfs-btn) {
	color: #fff!important;
	text-decoration: underline!important;
}
.wpfs-form-group input{
	height: 48px!important;
}
#email_check {
	margin-top: 8px!important;
	font-size: 1.4rem!important;
	font-weight: 700;
}
#email_check.wpfs-form-success-message {
	color: #18a348;
}
/* 利用規約 */
#privacy .p-heading .c-border{
	overflow: hidden;
}
#privacy .sec-content .c-border{
	padding-bottom: 60px;
}
#privacy .sec-content a{
	text-decoration: underline;
}
#privacy .sec-content a:hover{
	text-decoration: none;
}
#privacy .sec-content .catch{
	margin-bottom: 50px;
}
#privacy .sec-content .date{
	text-align: right;
}
#privacy .sec-content .section{
	margin-bottom: 50px;
}
#privacy .sec-content .section .copy{
	margin-bottom: 20px;
}
#privacy .sec-content .section h2{
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 15px;
}
#privacy .sec-content .section .list li{
	margin-bottom: 15px;
}
#privacy .sec-content .section .list .child{
	margin-top: 10px;
	margin-left: 20px;
}
#law .p-heading .c-border{
	overflow: hidden;
}
#law .sec-content .c-border{
	padding-bottom: 60px;
}
#law .sec-content a{
	text-decoration: underline;
}
#law .sec-content a:hover{
	text-decoration: none;
}
#law .sec-content .section{
	margin-bottom: 50px;
}
#law .sec-content .section .copy{
	margin-bottom: 20px;
}
#law .sec-content .section .note{
	margin-bottom: 20px;
}
#law .sec-content .section h2{
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 15px;
}