/*
theme Name: fanca
Author: Payx
Description: original theme
version： 1.0.0
*/

/* =============================================================================================================================================
															PC
============================================================================================================================================= */


@charset "UTF-8";
* {
	box-sizing: border-box;
}

html {
 overflow-x: hidden;
}

.cf:after{
    content: "."; 
    display: block; 
    height: 0; 
    font-size:0;	
    clear: both; 
	visibility:hidden;
}
.cf{
	display: inline-block;
} 
/* Hides from IE Mac */
* html .cf{
	height: 1%;
}
.cf{
	display:block;
}

.is_sp {
	display: none;
}

a {
	text-decoration: none;
	transition: all .3s;
}


 body {
	 width: 100%;
	 min-width: 1280px;
	 font-family: 'Noto Sans JP', sans-serif　!important;
	 font-size: .95rem;
	 line-height: 1.7;
	 margin: 0;
	 padding: 0;
	 color: #333;
	 -webkit-text-size-adjust: 100%;
	 overflow: hidden;
}

#wrap {
	width: 100%; 
	margin-left: auto; 
	margin-right: auto; 
}


.wrap1 {
	width: 1000px; 
	margin-left: auto; 
	margin-right: auto; 
}

.grecaptcha-badge { visibility: hidden; }
.recapcha {
    margin-top: 40px;
    font-size: 10px;
    text-align: center;
	line-height: 1.6;
}


h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

img {
  max-width: 100%;
}
 
/* fadein up */
.fadein-up {
	transition: .5s;
	opacity: 0;
	transform: translate(0,60px); 
	-webkit-transform: translate(0,60px); 
}
.fadein-up.on {
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}


a {
	text-decoration: none;
	transition: all .3s;
}


a.btn {
	display: inline-block;
	background-color: #EC6755;
	color: #FFF;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	min-width: 260px;
	min-height: 60px;
	line-height: 60px;
	text-decoration: none;
	position: relative;
	transition: all .3s;
	overflow: hidden;
	border-radius: 100px;
}
a.btn,
a.slide {
	overflow: hidden;
	position: relative;
}
a.btn span,
a.slide span {
	position: relative;
	z-index: 1;
}
a.btn::before,
a.slide::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	content: '';
	width: 120%;
	height: 100%;
	background: #000;
	transform-origin: right top;
	transform: skewX(-30deg) scale(0, 1);
	transition: transform .3s;
}
a.btn:hover::before,
a.slide:hover::before {
	transform-origin: left top;
	transform: skewX(-30deg) scale(1, 1);
}
a.slide::before {
	background: #000;
}
nav#gnav a.slide::before {
	width: 130%;
}

a.btn .fa-angle-left {
	position: absolute;
    font-size: 1.2em;
    left: 0.8em;
    top: 50%;
    margin-top: -.5em;
}
a.btn .fa-angle-right {
	position: absolute;
    font-size: 1.2em;
    right: 0.8em;
    top: 50%;
    margin-top: -.5em;
}
a.btn:hover {
}
a.btn:hover::after {
    right: -2px;
}

a.fade {
	transition: all 0.1s ease;
    -webkit-transition: all 0.1s ease;
    -moz-transition: all 0.1s ease;
}

/*span.anchor {
	position: absolute;
	top: -200px;
}*/

span.anchor {
	position: absolute;
}

span.anchor#page-wedo {
    top: -80px;
}
span.anchor#page-effects_1 {
    top: -80px;
}
span.anchor#page-effects_2 {
    top: -80px;
}
span.anchor#page-service {
    top: -80px;
}
span.anchor#page-plan {
    top: -80px;
}
span.anchor#page-flow {
    top: -80px;
}

span.anchor#page-faq {
    top: -80px;
}

span.anchor#page-contact {
    top: -80px;
}


/* --------------- HEADER --------------- */

.header_fixed header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 20;
	width: 100%;
}

body.header_fixed {
	padding-top: 80px;
}
header {
	min-width: 1280px;
	position: relative;
	z-index: 10;
}
header nav#gnav {
	height: 80px;
    background-color: #FFF;
}
header nav#gnav > ul {
	display: flex;
	justify-content: space-between;
	height: 100%;
}
header nav#gnav > ul > li {
	padding: 0 1em;
}
header nav#gnav > ul > li {
	align-self: center;
}
header nav#gnav > ul > li.logo {
	flex-grow: 1;
	padding-left: 50px;
}
header nav#gnav > ul > li.logo img {
	display: block;
	width: 100px;
}
header nav#gnav > ul > li a {
	display: inline-block;
	font-size: 14px;
	color: #333;
	text-decoration: none;
	text-align: center;
	height: 100%;
	transition: all .3s;
}
header nav#gnav > ul > li a:hover {
	opacity: .8;
}
header nav#gnav > ul > li.menu a {
	padding: .5em 0;
	transition: all .3s;
	position: relative;
}
header nav#gnav > ul > li.menu a:hover,
header nav#gnav > ul > li.menu.on a {
}
header nav#gnav > ul > li.menu a::after {
	content: '';
	display: block;
    width: 0%;
    height: 1px;
    background-color: #EC6755;
    margin: .5em auto -0.5em;
	transition: all .3s;
	position: absolute;
	left: 0;
}
header nav#gnav > ul > li.menu.on a::after,
header nav#gnav > ul > li.menu a:hover::after {
	width: 100%;
}
header nav#gnav > ul > li:nth-last-child(2) {
	padding-right: 2em;
}
header nav#gnav > ul > li.contact {
	padding-right: 50px;
}
header nav#gnav > ul > li.contact a {
	background-color: #EC6755;
	color: #FFF;
	width: 200px;
	height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
	transition: all .3s;
	    border-radius: 50px;
}
header nav#gnav > ul > li.contact a:hover {
	opacity: 1;
}

/*
header,
header nav#gnav,
header nav#gnav > ul > li,
header nav#gnav > ul > li.logo,
header nav#gnav > ul > li a,
header nav#gnav > ul > li.logo > a img,
header nav#breadcrumb ul{
	transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}
*/


/*
.header_fixed header nav#gnav {
	height: 60px;
}
.header_fixed header nav#gnav > ul > li > a {
    height: 60px;
    line-height: 60px;
}
*/
/*
.header_fixed header nav#gnav > ul > li.logo {
	width: 130px;
}
.header_fixed header nav#gnav > ul > li.logo > a img {
    width: 100px;
}
.header_fixed header nav#breadcrumb ul {
	padding: 5px 0;
}
*/

/* --------------- /HEADER --------------- */


/* ------------------- FV -------------------*/
body.home #hero {
	height: 700px;
	background-image: url("images/fv.jpg");
	background-size: cover;
	background-position: center;
	position: relative;
	color: #FFF;
	/* margin-bottom: 100px;*/
}
/*
body.home #hero::before {
	content: '';
	position: absolute;
	top: 0;
    left: 0;
	z-index: 2;
	width: 830px;
	height: 1150px;
	background-color: #0c265dd9;
	clip-path: polygon(100% 0, 0 0, 0 100%);
}
*/
body.home #hero h1 {
    position: absolute;
    top: 35%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%);
}
body.home #hero  p {
	/*position: absolute;
	left: 50%;
    margin-right: -50%;*/
	z-index: 3;
	font-size: 18px;
	line-height: 1.7;
	letter-spacing: .1em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.16);
}
/* ------------------- /FV -------------------*/


/* ------------------- MAIN -------------------*/
main {
	position: relative;
}

.lead {
     text-align: center;
    position: relative;
    z-index: 2;
    top: 55%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%);
}

body.home #hero .lead_btn{
    display: inline-block;
    position: relative;
	border-radius: 50px;
	top: 60%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%);
}

body.home #hero .lead_btn a {
    background-color: #EC6755;
    color: #FFF;
    width: 260px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s;
    border-radius: 50px;
}
.headline {
    text-align: center;
}
.headline small {
    display: block;
    z-index: 1;
    position: relative;
    font-weight: 600;
    line-height: 1;
    font-family: 'Jost', sans-serif;
    letter-spacing: .12em;
	font-size: 18px;
	color: #EC6755;
}
.headline span {
    display: block;
    z-index: 1;
    position: relative;
    font-weight: 600;
    line-height: 2.5;
	font-size: 28px;
    letter-spacing: .2em;
}

.top_what_text{
	font-size: 18px;
    line-height: 1.7;
    letter-spacing: .1em;
    width: 95%;
    margin: 60px auto;
}
.top_what_image{
	text-align: center;
}
body.home #wedo {
	background: #F8F9F9;
	     padding: 100px 0;
}
.inner{
	    width: 1000px;
    margin: 0 auto;
}

#effects_1 .effects_box .effects-body {
    padding: 70px 30px 80px;
}

#effects_1 .effects_box .effects-body .bold {
    font-size: 1.5em;
}

#effects_1 {
    background-image: url(images/bg_effect.png);
    background-position: center;
    background-size: cover;
    text-align: center;
}
.top__effects{
	padding-top: 100px;
}
.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -16px;
    margin-left: -16px;
}

@media (min-width: 992px){
.row_w {
    flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
	    position: relative;
}
}

.effects_box{
    word-wrap: break-word;
    display: flex;
    flex-direction: column;
    min-width: 0;
    border-radius: 10px;
    background-clip: border-box;
    background-color: #fff;
	box-shadow: 0 10px 10px rgb(51 51 51 / 14%);
}

.container {
        margin: 40px 0 100px;
}
.justify-content-end {
    justify-content: flex-end!important;
}
.ttl {
    z-index: 3;
    position: absolute;
    right: 20px;
    bottom: -50px;
    width: 100%;
    text-align: right;
    opacity: 0;
	font-family: 'Rock Salt', cursive;
}

.effects-content{
	font-size: .95rem;
	margin-top: 3rem;
}

.effects-title{
margin-bottom: 1rem;
    font-weight: 600;
    line-height: 1.2;
}

.effects-title::after {
    content: "";
    position: absolute;
    width: 40px;
    height: 4px;
    background-color: #EC6755;
    left: 50%;
    bottom: 50%;
}

.home-solution-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    color: #EC6755;
	padding-top: 100px;
}
.home-solution-list__item {
    width: 33%;
    margin-bottom: 70px;
	    position: relative;
}

.home-solution-list__num-area {
    position: absolute;
    top: 18%;
    left: 50%;
    -webkit-transform: translate(-50%, -52%);
    -ms-transform: translate(-50%, -52%);
    transform: translate(-50%, -52%);
    text-align: center;
}
.home-solution-list__num {
    margin-right: 5px;
    line-height: 1.2;
    font-size: 3.5rem;
    font-weight: 800
}
.home-solution-list__unit {
    font-size: 1.5rem;
	vertical-align: text-bottom;
    display: inline-block;
}

.home-solution-list__txt-area {
    position: relative;
    text-align: center;
	padding: 25px 0;
	    font-size: 24px;
    font-weight: 600;
}

.home-solution-list__txt-area .em {
	    font-size: 14px;
}

.home-solution-list__img-area .ef3{
    width: 132px;
}


.home-solution-list__img-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}


.home-solution-list__detail-area{
	width: 80%;
    margin: 30px auto 0;
    padding: 40px 30px;
    background-color: #fff;
    color: #000;
    line-height: 1.6;
    letter-spacing: .1em;
    font-size: 16px;
    font-weight: 400;
	position: relative;
	text-align: left;
}
.home-solution-list__detail-area:nth-child(2n+1):before {
    content: "";
    position: absolute;
    /* top: -10px; */
    left: 110px;
    width: 30px;
    height: 30px;
    margin-top: -60px;
    box-sizing: border-box;
    border-right: 20px solid transparent;
    border-bottom: 30px solid #fff;
    border-left: 20px solid transparent;
    -ms-transform: scale(1.4, 1);
    transform: scale(1.4, 1);
    z-index: 10;
}

.basis{
	text-align: left;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: .1em;
	padding: 0 30px 100px;
}

body.home #effects_2 {
    background: #FAF8F8;
    padding: 100px 0;
}

.effects2_items {
    margin-top: 100px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.effects2_items li {
    width: calc(33.33% - 0px);
    margin-left: 0px;
    padding: 0 20px;
}

.effects2_items li .effects2_image{
    width: 150px;
	height:150px;
    margin: 0 auto 30px;
}

.effects2_texts h4 {
    text-align: center;
    font-size: 24px;
    line-height: 28px;
    font-weight: bold;
	color:#EC6755;
}

.ef2_item .effects2_ttl {
    display: block;
    z-index: 1;
    position: relative;
    font-weight: 600;
    line-height: 1;
    font-family: 'Jost',sans-serif;
    letter-spacing: .12em;
    font-size: 16px;
    color: #000;
	text-align: center;
	margin-bottom: 30px;
}

.top_effects2{
	margin-top:60px;
	position: relative;
}

.bracket.pos-start {
    position: absolute;
    top: 30px;
    left: 0px;
    border-width: 10px 0 0 10px;
}
.bracket.pos-start2 {
    position: absolute;
    top: 30px;
    right: 0;
    border-width: 10px 10px 0 0;
}

.bracket.pos-end {
    position: relative;
    top: 205px;
    left: 0px;
    border-width: 0px 0px 10px 10px;
    display: inline-block;
}
.bracket.pos-end2 {
position: absolute;
    top: 205px;
    right: 0px;
    border-width: 0px 10px 10px 0px;
    display: inline-block;
}
.bracket {
    border-color: #EC6755;
    border-style: solid;
    width: 40px;
    height: 40px;
}

.top_effects2_text{
	width: 980px;
    background: #fff;
    padding: 40px;
    text-align: left;
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: .1em;
    font-weight: 600;
    margin: 0 auto;
	position: relative;
}

.top_effects2_text .cl{
	color: #EC6755;
}



body.home #service {
    padding: 100px 0 0;
}

.top__support__list {
    max-width: 1000px;
    margin: 60px auto;
	-ms-flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
}

.top__support__listbox {
    width: calc(100%/4);
    padding: 30px 30px 80px;
	position: relative;
    overflow: hidden;
    text-align: center;
}

.top__support__listbox img {
     width: 80px;
    height: 80px;
    margin: 40px auto 28px;
    display: block;
}

.top__support__listbox b {
    margin-bottom: 16px;
    padding-bottom: 11px;
    font-size: 14px;
     line-height: 1.4;
	display: block;
    position: relative;

}
.top__support__listbox h4 {
    margin-bottom: .8em;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.5;
	letter-spacing: .2em;
}

.top__support__listbox:nth-child(1){
    background: #F6F6F6;
	border-radius: 10px;
}

.top__support__listbox:nth-child(3) {
    background: #F6F6F6;
	border-radius: 10px;
}

.top__support__listbox:nth-child(6) {
    background: #F6F6F6;
	border-radius: 10px;
}

.top__support__listbox:nth-child(8) {
    background: #F6F6F6;
	border-radius: 10px;
}
.top__support__listbox:after {
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0 auto;
    content: "01";
    color: #EBEBEB;
    font-weight:800;
    line-height: .7;
    font-family: 'Montserrat Alternates', sans-serif;
	font-size: 100px;
}
.top__support__listbox:nth-child(2):after {
    content: "02";
}
.top__support__listbox:nth-child(3):after {
    content: "03";
}
.top__support__listbox:nth-child(4):after {
    content: "04";
}
.top__support__listbox:nth-child(5):after {
    content: "05";
}
.top__support__listbox:nth-child(6):after {
    content: "06";
}
.top__support__listbox:nth-child(7):after {
    content: "07";
}
.top__support__listbox:nth-child(8):after {
    content: "08";
}
.service_basis {
    text-align: right;
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: .1em;
    padding-bottom: 60px;
}

.post_contents_wrap {
    background-image: url(images/bg_post.jpg);
    background-position: center;
    background-size: cover;
    text-align: center;
}
.inner_large{
	 padding: 60px 0 100px;
    color: #fff;
    width: 1000px;
    margin: 0 auto;
}
.post_contents_title{
	font-size: 22px;
	margin-bottom: 25px;
	letter-spacing: .1em;
	font-weight: 600;
}
.post_contents_catch{
	padding-bottom: 30px;
    font-size: 16px;
    line-height: 1.6;
	letter-spacing: .1em;
}
.genre_list{
	max-width: 1000px;
    margin: 0 auto;
	padding: 0px 100px;
	-ms-flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.fade_item{
	 width: 45%;
    background: #fff;
    margin-bottom: 15px;
    padding: 30px;
}


/* -------------------プラン-------------------*/
body.home #plan {
    background: #FCF9E4;
    padding: 100px 0;
}

.top__plan__cp {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    justify-content: space-between;
    width: 100%;
     margin: 60px auto;
}

.top__plan__cpbox { 
    z-index: 2;
    position: relative;
    overflow: hidden;
	/*-webkit-box-shadow: 8px 8px 0 #a4a4a4;
    box-shadow: 8px 8px 0 #a4a4a4;*/
}

.top__plan__cpbox {
    background: #fff;
    color: #212121;
	    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 0;
   padding: 44px 40px;
	box-shadow: 0 10px 10px rgb(51 51 51 / 14%);
}

.cv__plan__cp__place{
	    align-self: center;
}

.top__plan__cpbox .cv__plan__cp__headline {
    position: relative;
    width: 130px;
    min-width: 130px;
    max-width: 130px;
    text-align: right;
}

.top__plan__cpbox .cv__plan__cp__headline:before {
    position: absolute;
    right: 0;
    width: 1px;
    height: 100%;
    background: #000;
    content: "";
}

.top__plan__cpbox b {
    display: inline-block;
    position: relative;
    margin-bottom: 56px;
    padding-bottom: 8px;
    font-weight: 700;
    line-height: 1;
     font-family: 'Jost',sans-serif;
	font-size: 13px;
    letter-spacing: .1em;
}

.top__plan__cpbox .cv__plan__cp__headline b {
    -webkit-transform: translateY(-50%);
    display: block;
    position: relative;
    top: 50%;
    margin-right: 30px;
    margin-bottom: 0;
    padding-bottom: 0;
    transform: translateY(-50%);
    border-bottom: none;
    line-height: 1.5;
}

.cv__plan__cp__place h3 {
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: 0;
    font-weight: 800;
    color: #EC6755;
}

.top__plan__cpbox__text {
    padding-right: 0;
    font-size: 18px;
	    margin-bottom: 0;
    line-height: 1.6;
	    letter-spacing: .1em;
}

.top__plan__cpbox__text .cl {
    font-size: 28px;
	color: #EC6755;
	font-weight: bold;
}


.home-plan-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 100px 0 0;
	text-align: center;
}

.home-plan-list__item {
    position: relative;
    box-sizing: border-box;
    width: calc(50% - 7px);
    margin-bottom: 20px;
    /*padding: 0 15px 15px;*/
    background-color: #fff;
    border-radius: 5px;
    /*box-shadow: 2px 4px 10px 0px rgb(143 148 157 / 25%);*/
}
.home-plan-list__item {
    width: 230px;
    border-radius: 10px;
    /*padding: 0 30px 28px;*/
    /*box-shadow: 5px 8px 20px 0px rgb(143 148 157 / 25%);*/
}
 /*.home-plan-list__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 80px;
    margin-bottom: 20px;
    -webkit-transform: translateY(2px);
    -ms-transform: translateY(2px);
    transform: translateY(2px);
    line-height: 1.6;
    font-weight: 900;
    font-size: 1.5rem;
}*/

.home-plan-list__head {
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    width: 100%;
    height: 50px;
    background-color: #35D37F;
    border-radius: 5px 5px 0px 0px;
    color: #fff;
	font-size: 16px;
    font-weight: 600;
}

.home-plan-list__head2  {
	  display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    width: 100%;
    height: 50px;
    background-color: #EC6755;
    border-radius: 5px 5px 0px 0px;
    color: #fff;
	font-size: 16px;
    font-weight: 600;
}

.home-plan-list__head3  {
	  display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    width: 100%;
    height: 50px;
    background-color: #3F91BA;
    border-radius: 5px 5px 0px 0px;
    color: #fff;
	margin-top: -20px;
	font-size: 16px;
    font-weight: 600;
}
.home-plan-list__head4  {
	  display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    width: 100%;
    height: 50px;
    background-color: #DCCB33;
    border-radius: 5px 5px 0px 0px;
    color: #fff;
	font-size: 16px;
    font-weight: 600;
}

.home-plan-list__txt {
    margin-bottom: 3px;
    line-height: 1.78;
    font-weight: 700;
}
.home-plan-list__price {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    font-weight: 900;
    font-size: 1rem;
	    letter-spacing: .1em;
}
.home-plan-list__num {
    line-height: 2.4em;
    font-size: 2rem;
}

 /*.home-plan-list__price .under {
    background: linear-gradient( transparent 1.2em, #f00 0, #f00 calc(1.2em + 6px),transparent 0);
}*/
.home-plan-list__price .under::before {
	 content: '';
    position: absolute;
    top: 19%;
    display: inline-block;
    width: 60px;
    left: 15px;
    height: 4px;
    background-color: #f00;
    transform: rotate( -30deg );
}

._ttl::after, ._ttl::before {
    content: '';
    display: inline-block;
    margin: 0 15px;
    width: 2px;
    height: 20px;
    background-color: #3F91BA;
    vertical-align: bottom;
}
._ttl::before {
    -webkit-transform: skew(30deg);
    transform: skew(30deg);
}
._ttl::after {
    -webkit-transform: skew(-30deg);
    transform: skew(-30deg);
}

._ttl {
    color: #3F91BA;
    font-size: 1.2rem;
    font-weight: 700;
	position: relative;
    top: -40px;
}
.home-plan-list__period{
    border-bottom: 1px solid #707070;
	    width: 76%;
    margin: 0 auto;
	font-size: 0.7rem;
    padding-bottom: 20px;
	}

.home-plan-list__story{
	border-bottom: 1px solid #707070;
	    width: 76%;
    margin: 0 auto;
	font-size: 0.7rem;
	color: #EC6755;
	    font-weight: 900;
    letter-spacing: .1em;
}

.home-plan-list__head-story{
	font-size: 16px;
    font-weight: 600;
    padding-top: 20px;
}

.home-plan-list__item:first-of-type{
    position: relative;
    border: 3px solid #35D37F;
}

.home-plan-list__item:nth-of-type(2)  {
    border: 3px solid #EC6755;
}

.home-plan-list__item:nth-of-type(3)  {
    border: 3px solid #3F91BA;
}

.home-plan-list__item:nth-of-type(4)  {
    border: 3px solid #DCCB33;
}

.home-plan-list__detail{
	font-size: 0.7rem;
    padding: 20px 0 40px;
    line-height: 2em;
}



/* -------------------フロー-------------------*/
body.home #flow {
    padding: 100px 0 0;
}

.top_flow_image{
	margin: 45px;
	    z-index: 4;
    position: relative;
}

.top__flow__contact {
    margin-top: -220px;
    padding-top: 180px;
    padding-bottom: 100px;
	background: #FFEFED;
    text-align: center;
}

.top__flow__contact h3 {
    font-weight: 700;
    line-height: 1.4;
	    font-size: 32px;
    letter-spacing: .1em;
	    /*border-bottom: 5px solid #000;
    width: 50%;*/
    margin: 1em auto;
	    display: inline-block;
	position: relative;
}

.top__flow__contact h3::after {
    content: '';
    width: 100%;
    height: 5px;
    background-color: #000;
    position: absolute;
    left: 0;
    bottom: -20px;
}

/* ------------------- FAQ -------------------*/
body.home #faq {
    padding: 100px 0 0;
}

/*---------------------------------
アコーディオンボックス
--------------------------------*/
.faq_list { 
	margin: 40px 0 100px;
}
.acbox{
  width: auto;
  font-size:0px; /* ラベルと開く部分を分離する時は数値を入れる */
	  background: #F8F8F8; /* ラベルの背景色 */
}

.acbox label{
  width: auto;
	margin-top: 20px;
  font-size: 16px; /* ラベルの文字サイズ */
  font-weight: bold;
  /*text-align: center;*/

  position: relative;
  display: block;
  padding:30px 65px;
  border-radius: 10px; /* ラベルの角の丸み */
  cursor: pointer;
	background: url(images/bg_q.svg) no-repeat top 25px left 30px;
}

.acbox label:hover{
  background-color: #F8F8F8; /* ラベルにマウスを乗せた時の背景色 */
}

.acbox input{
  display: none;
}

.acbox label:after{
  color: #EC6755;
  content:"＋"; /* ラベルのアイコン */
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -7px;
}

.acbox input:checked ~ label::after {
  content:"－"; /* ラベルをクリックした後のアイコン */
}

.acbox div{
  height: 0px;
  overflow: hidden;
  opacity: 0;
  transition: 0.4s; /* 開閉スピードの設定 */
}

.acbox input:checked ~ div{
  height: auto;
  opacity: 1;
	font-size: 16px;
    border-top: 1px solid #707070;
    padding: 30px 65px 25px;
    background: url(images/bg_a.svg) no-repeat top 35px left 30px;
    border-radius: 0 0 10px 10px;
	line-height: 2.2;
    margin-bottom: 0;
}

.acbox input:checked ~ label {
  background-color: #F8F8F8; /* クリック後のラベルの背景色 */
}



/* ------------------- CONTACT -------------------*/
body.home #contact {
    padding: 100px 0 0;
}

#contact_form {
    margin-bottom: 70px;
    padding: 60px 90px;
    /*margin-top: -30px;*/
	width: 1000px;
    margin: 60px auto;
    border-radius: 10px;
    background-color: #fff;
	z-index: 10;
    position: relative;
}

#contact_form table {
    width: 100%;
    margin-bottom: 40px;
    background-color: #FFF;
}

#contact_form table tbody tr {
    font-size: 16px;
    letter-spacing: 0.1em;
}

#contact_form table tbody tr th {
    width: 240px;
    vertical-align: top;
    text-align: left;
    padding: 20px 0 30px 0;
    font-weight: bold;
}

#contact_form table tbody tr td {
    width: 560px;
    padding: 20px 30px 20px 30px;
}

#contact_form table tbody tr td input[type="text"], #contact_form table tbody tr td input[type="tel"],#contact_form table tbody tr td input[type="email"] {
    width: 100%;
}

#contact_form table tbody tr th .required {
    margin-left: 2em;
}

#contact_form table tbody tr td textarea {
    width: 100%;
    min-height: 240px;
    resize: none;
}

#contact_form table tbody tr td input, #contact_form table tbody tr td select, #contact_form table tbody tr td textarea {
    border: solid 1px #CCCCCC;
    background-color: #F8F8F8;
    padding: 1em 1em;
    font-size: 14px;
}

#contact_form table tbody tr td span.wpcf7-list-item {
    margin: 0 1em 0 0;
}

#contact_form table .required {
    font-size: 13px;
    color: #FFF;
    background-color: #EC6755;
    display: inline-block;
    padding: 0.2em 0.4em;
    text-indent: 0.1em;
    letter-spacing: 0.1em;
    margin-right: 0.5em;
    line-height: 1.0;
    font-weight: normal;
}

#contact_form #terms {
	border: solid 1px #CCCCCC;
    padding: 30px;
    font-size: 14px;
    letter-spacing: 0.1em;
    height: 160px;
    overflow: scroll;
}

#contact_form #terms h4 {
    font-weight: bold;
    margin-bottom: 25px;
}

#contact_form #terms p {
    line-height: 2.0;
}

#contact_form #agree {
    text-align: center;
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0.1em;
    margin: 50px 0;
}

#contact_form #submit {
    text-align: center;
}

#contact_form #submit input {
    width: 320px;
    height: 60px;
    line-height: 60px;
	 border-radius: 30px;
    background-color: #EC6755;
    color: #FFF;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
    margin-left: 20px;
    border: none;
    cursor: pointer;
    -webkit-appearance: none;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.top__contact__bg {
    margin: -180px 0;
    padding-top: 240px;
    padding-bottom: 100px;
    background: #EDF4FF;
    text-align: center;
	z-index: 5;
}

.low__contact__bg {
    margin: -1190px 0;
    padding-top: 240px;
    padding-bottom: 1000px;
    background: #FCF9E4;
    text-align: center;
    z-index: 3;
	    position: absolute;
}


/* -------------------  Contact-thanks -------------------*/
#headline {
    width: 100%;
    background-color: #F8F9F9;
    height: 300px;
    color: #EC6755;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-size: cover;
    background-position: center;
    position: relative;
}

h1.ttl_thanks {
    font-family: 'Jost',sans-serif;
}

#headline h1.ttl_thanks span {
    font-size: 50px;
    line-height: 1.84;
    letter-spacing: 0.03em;
}
#headline p.ttl_cv {
    font-weight: bold;
    line-height: 1.78;
    letter-spacing: 0.1em;
	color: #000;
}

.page.contact main #main, .page.contact-thanks main #main, body.error404 main #main {
    margin: 0 auto;
    padding: 60px 0 100px;
    text-align: center;
}

.page.contact main #main h2, .page.contact-thanks main #main h2, body.error404 main #main h2 {
    font-size: 20px;
    font-weight: bold;
	    line-height: 1.5;
    margin-bottom: 60px;
    letter-spacing: .05em;
}

.page.contact main #main p, .page.contact-thanks main #main p, body.error404 main #main p {
    text-align: center;
    line-height: 2.2;
    margin-bottom: 80px;
}

/* -------------------  FOOTER -------------------*/
footer #footer {
    padding: 100px 50px;
    display: flex;
        justify-content: start;
	    background-color: #EC6755;
	color: #fff;
}

footer #footer a  {
	text-decoration: none;
	color: #fff;
}

#footer div img.logo {
    display: block;
    width: 140px;
}

footer #footer ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
	  font-size: 14px;
}

footer #footer ul li {
    margin-left: 3em;
    margin-top: 1.5em;
}

/* ----------------------------------------------------------
.pagetop
---------------------------------------------------------- */


#page_top{
    position: fixed;
    right: 10px;
    bottom: 10px;
    z-index: 9999;
/*bottom: 10px;*/
/*opacity: 0.6;*/
}
#page_top a{
position: relative;
display: block;
width: 100px;
    height: 120px;
text-decoration: none;
}

 #page_top a::after{
/*content: '↑ PAGE TOP';
font-size: 14px;
font-weight: bold;
color: #fff;*/
position: absolute;
top: 10px;
bottom: 0;
right: 0;
left: 0;
margin: auto;
text-align: center;
}



/* ------------------- DOWNLOAD -------------------*/
#download{
	padding-top: 80px;
}

#download .low{
	display: flex;
    flex-wrap: wrap;
    /*margin-right: -15px;
    margin-left: -15px;*/
}

#download .dl__box{
	    flex: 0 0 50%;
    max-width: 50%;
}

#download .dl_left{
	      position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
}

#download h2{
	 font-size: 1.6rem;
    margin-bottom: 0.5rem;
    font-family: inherit;
    font-weight: 600;
    line-height: 1.5;
    color: inherit;
}

#download p,#download ol,#download ul,#download dl{
	margin-top: 0;
    margin-bottom: 1rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.85;
}

#download_form {
    /*margin-bottom: 70px;*/
    padding: 0 60px 80px;
    /*margin-top: -30px;*/
	width: 100%;
    margin: 30px auto;
    border-radius: 10px;
    background-color: #fff;
	z-index: 10;
    position: relative;
}

#download_form table {
    width: 100%;
    margin-bottom: 40px;
    background-color: #FFF;
}

#download_form table tbody tr {
    font-size: 16px;
    letter-spacing: 0.1em;
}

#download_form table tbody tr th {
    width: 100%;
    vertical-align: top;
    text-align: left;
    padding: 20px 0 10px 0;
    font-weight: bold;
	display: block;
}

#download_form table tbody tr td {
        width: 100%;
    display: block;
}

#download_form table tbody tr td input[type="text"], #download_form table tbody tr td input[type="tel"],#download_form table tbody tr td input[type="email"] {
    width: 100%;
}

#download_form table tbody tr th .required {
    margin-left: 1em;
}

#download_form table tbody tr td textarea {
    width: 100%;
    min-height: 240px;
    resize: none;
}

#download_form table tbody tr td input, #download_form table tbody tr td select,#download_form table tbody tr td textarea {
    border: solid 1px #CCCCCC;
    background-color: #F8F8F8;
    padding: 1em 1em;
    font-size: 14px;
}

#download_form table tbody tr td span.wpcf7-list-item {
    margin: 0 1em 0 0;
}

#download_form table .required {
    font-size: 13px;
    color: #FFF;
    background-color: #EC6755;
    display: inline-block;
    padding: 0.2em 0.4em;
    text-indent: 0.1em;
    letter-spacing: 0.1em;
    margin-right: 0.5em;
    line-height: 1.0;
    font-weight: normal;
}

#download_form #terms {
	border: solid 1px #CCCCCC;
    padding: 30px;
    font-size: 14px;
    letter-spacing: 0.1em;
    height: 160px;
    overflow: scroll;
}
#download_form #terms p,#download_form .recapcha {
    font-size: 12px !important;
}

#download_form #terms h4 {
    font-weight: bold;
    margin-bottom: 25px;
}

#download_form #terms p {
    line-height: 2.0;
}

#download_form #agree {
    text-align: center;
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0.1em;
    margin: 50px 0;
}

#download_form #submit {
    text-align: center;
}

#download_form #submit input {
    width: 320px;
    height: 60px;
    line-height: 60px;
	 border-radius: 30px;
    background-color: #EC6755;
    color: #FFF;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
    margin-left: 20px;
    border: none;
    cursor: pointer;
    -webkit-appearance: none;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.top__contact__bg {
    margin: -180px 0;
    padding-top: 240px;
    padding-bottom: 100px;
    background: #EDF4FF;
    text-align: center;
	z-index: 5;
}

.low__contact__bg {
    margin: -1190px 0;
    padding-top: 240px;
    padding-bottom: 1000px;
    background: #FCF9E4;
    text-align: center;
    z-index: 3;
	    position: absolute;
}
.page.download-page main #main, .page.download-thanks main #main, .page.download-service-materials main #main, .page.download-wp-saiyoukouhou-start main #main, .page.download-service-materials2 main #main {
    margin: 0 auto;
    padding: 60px 0 100px;
    text-align: center;
}

.page.download-page main #main h2, .page.download-thanks main #main h2, .page.download-service-materials main #main h2, .page.download-wp-saiyoukouhou-start main #main h2, .page.download-service-materials2 main #main h2 {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 60px;
    letter-spacing: .05em;
}

.page.download-page main #main p, .page.download-thanks main #main p, .page.download-service-materials main #main p, .page.download-wp-saiyoukouhou-start main #main p, .page.download-service-materials2 main #main p {
    text-align: center;
    line-height: 2.2;
    margin-bottom: 80px;
}
a.btn-2 .fa-download {
	position: absolute;
    font-size: 1.2em;
    left: 0.8em;
    top: 50%;
    margin-top: -.5em;
}
a.btn-2 {
    overflow: hidden;
    position: relative;
}

a.btn-2 {
    display: inline-block;
    background-color: #EC6755;
    color: #FFF;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    min-width: 360px;
    min-height: 80px;
    line-height: 80px;
    text-decoration: none;
    position: relative;
    transition: all .3s;
    overflow: hidden;
    border-radius: 100px;
    margin-bottom: 80px;
}

/* =============================================================================================================================================
															SMARTPHONE
============================================================================================================================================= */
@media screen and (max-width : 767px) {
header {
    min-width: 100% !important;
}
	/* display:none */
	.is_pc {
		display: none!important;
	}
	.is_sp {
		display: inherit!important;
	}

	/* drawer */
	/*
	.drawer--navbarTopGutter {
		padding-top: 3.2rem;
	}
	.drawer-navbar-header {
		height: 3.2rem;
	}
	*/
	.drawer-nav {
		width: 100%;
		color: #FFF;
		background-color: #FFF;
		overflow: scroll;
	}
	.drawer--right .drawer-nav {
		right: -100%;
	}
	.drawer-navbar .drawer-brand {
		width: 55vw;
		max-width: 55vw;
		display: block !important;
		padding: 1vw 1vw 0 !important;
	   height: 3.75rem!important;
    line-height: 3.75rem!important;
	}
	.drawer-navbar .drawer-brand img {
		width: 40%;
    max-width: 140px;
	}
	.drawer-hamburger {
		width: 1.5rem !important;
	   /* padding-right: 5vw !important;*/
		padding: 1.5rem 1rem !important;
	}
	.drawer-hamburger-icon {
		height: 0 !important;
	}
	.drawer-hamburger-icon:after {
		/*top: 1vw ;*/
		top: 0 !important;
	}
	.drawer-hamburger-icon:before {
		/*top: -1vw ;*/
	}
	.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
		background-color: #EC6755 !important;
	}
	.drawer-navbar .drawer-menu {
		padding: 5vw 0 !important;
		position: relative;
	}

	.drawer-menu-item {
		color: #FFF !important;
		padding: 1.4em 0 !important;
		margin: 0 10vw;
		letter-spacing: .05em;
	    text-align: center;
		border-bottom: solid 1px #ffffff;
	}
	.drawer-navbar .drawer-menu li:last-child .drawer-menu-item {
		border-bottom: none;
	}
	.drawer-menu-item:hover {
		color: #FFF;
		text-decoration: none;
	}
	.drawer-navbar .drawer-navbar-header {
		border-bottom: solid 1px #EEE!important;
		background-color: #FFF;
		    text-align: left;
	}
	.drawer--top .drawer-nav {
		-webkit-transition: background .36s cubic-bezier(0.32, 0.08, 0.24, 1),top .56s cubic-bezier(0.52, 0.16, 0.24, 1);
		transition: background .36s cubic-bezier(0.32, 0.08, 0.24, 1),top .56s cubic-bezier(0.52, 0.16, 0.24, 1);
	}
	.drawer-open .drawer-nav {
		background-color: #EC6755;
	}
	.drawer-nav > div {
		/*background-image: url(images/contact_bg.jpg);
		background-position: center;
		background-size: cover;*/
		background: url(images/logo_w.svg) no-repeat top 70% left 50%;
    background-color: #000;
    background-size: 20%;
		background-color:#000;
		color: #FFF;
		text-align: center;
		padding: 8vw 10vw 10vw;
		/*border-top: solid 2px #FFF;*/
	}
	.drawer-nav > div > p:first-child {
		/*border-bottom: solid 1px #ffffff;*/
		padding-bottom: 1.8em;
		width: 74vw;
		margin: 0 auto 1.8em;
	}
	.drawer-nav > div > div a {
		color: #FFF;
		display: block;
	}
	.drawer-nav > div > div a.tel {
		color: #FFF;
		letter-spacing: .1em;
		margin: 0 auto;
	}
	.drawer-nav > div > div a.tel img {
		width: 6.4vw;
		margin-right: 2vw;
		position: relative;
		top: 2vw;
	}
	.drawer-nav > div > div a.tel span {
		font-size: 7.2vw;
		margin-bottom: 2vw;
		display: inline-block;
		font-weight: bold;
		font-family: 'Noto Sans JP', sans-serif;
		line-height: 1.375;
	}
	.drawer-nav > div > div a.tel small {
		display: block;
		line-height: 1.7;
		text-align: center;
		font-size: 3.2vw;
		margin-bottom: 10vw;
	}
	.drawer-nav > div > div a.form {
		display: inline-block;
		width: 100%;
		height: 13.3vw;
		line-height: 13.3vw;
		background-color: #A89265;
		color: #FFF;
		text-align: center;
		font-weight: bold;
		position: relative;
	}
	.drawer-nav > div > div a.form i {
		position: absolute;
		right: 0.8em;
		top: 50%;
		bottom: 0;
		margin-top: -.5em;
		font-size: 1.2em;
	}



	/*span.anchor {
		top: -.75rem;
	}*/

	span.anchor {
	position: absolute;
}

span.anchor#page-wedo {
    top: -80px;
}
span.anchor#page-effects_1 {
    top: -80px;
}
span.anchor#page-effects_2 {
    top: -80px;
}
span.anchor#page-service {
    top: -80px;
}
span.anchor#page-plan {
    top: -80px;
}
span.anchor#page-flow {
    top: -80px;
}

span.anchor#page-faq {
    top: -80px;
}

span.anchor#page-contact {
    top: -80px;
}
	
	

	body {
		min-width: inherit;
		font-size: 4.3vw;
	}

	a.btn,
	.wrap1,
	.wrap2,
	#reservation a.btn,
	body.error404 main > section {
		width: auto;
		min-width: auto;
	}

	img {
		max-width: 100%;
	}

	.catch em {
		font-size: 6.5vw;
	}
	a.txt, a p.txt {
    	font-size: 4.3vw;
	}
	a.btn {
		min-width: 53.3vw;
		min-height: 13.3vw;
	    line-height: 13.3vw;
		font-size: 4.3vw;
	}
	a.btn::after {
		right: 1vw;
	    width: 5.5vw;
	}
	
	h1.ttl {
		margin-bottom: 8vw;
	}
	h1.ttl span {
		font-size: 8vw;
	}	
	h1.ttl em {
		font-size: 3.2vw;
	}
	h2.ttl {
		margin-bottom: 10vw;
	}

	
	.breadcrumbs {
		padding: 4vw 5vw;
		font-size: 3.2vw;
	}

	.drawer-navbar {
		z-index: 100;
		opacity: 1;
	}
	body.header_fixed {
		padding-top: 3.75rem;
	}
	
	#headline {
		height: 53.3vw;
	}
	#headline.v2 {
		background-position: 20%;
	}
	#headline h1.ttl {
	    margin-bottom: -1vw;
	}
	#headline h1.ttl span {
		font-size: 8.5vw;
	}
	#headline p.ttl {
		font-size: 3vw;
	}
	#headline.v1::before {
		width: auto;
		height: auto;
		padding-top: 0;
		top: 0;
		left: 0;
		right: 57vw;
		bottom: -5.3vw;
		z-index: 2;
		background-image: none;
		background-color: rgba(12, 38, 93, 0.85);
		clip-path: polygon(0 0, 0% 100%, 100% 0);
	}

	body.home #hero {
		height: 130vw;
		background-image: url(images/fv_sp.jpg);
		position: relative;
		/*margin-bottom: 12.5vw;*/
	}
	body.home #hero::before {
		right: 5vw;
		bottom: -10vw;
		width: auto;
		height: auto;
	}
	body.home #hero h1 {
		width: 90vw;
		    top: 30%;
	}
	body.home #hero .lead_btn {
    top: 80%;

}
	body.home #hero .lead_btn a {
    width: 220px;
    height: 50px;

}

.lead{
		position: absolute;
		z-index: 2;
		text-align: left;
	    width: 80%;
	}
	
	body.home #wedo {
    padding: 60px 0;
}
	.top_what_text {
    font-size: 3.6vw;
    line-height: 2.0;
    letter-spacing: .1em;
    width: 90%;
    margin: 30px auto;
}
body.home #hero p {
     font-size: 3.6vw;
}

	.top_what_image {
    width: 90%;
    margin: 0 auto;
}
	
.inner {
    width: 100%;
}

	.headline small {
    margin-bottom: 4px;
    font-size: 12px;
}
	.headline span {
    font-size: 24px;
    letter-spacing: .1em;
		    line-height: 1.6;
}

	.top__effects {
    padding-top: 60px;
}
	
.container {
    width: 90%;
        margin: 60px auto;
    padding-right: 16px;
    padding-left: 16px;
}
	
	#effects_1 .effects_box .effects-body {
    padding: 40px 20px 50px;
}
	#effects_1 .row_w img {
		    height: 60px !important;
	}
	
	.ttl{
    bottom: -40px;
    right: 10px;
}
	
	.effects-content {
    font-size: .7rem;
    line-height: 1.8;
		    margin-top: 2rem;
}
	
	.effects-title {
    font-size: .95em;
}
		.row {
    display: block;
}
	
	.effects-title::after {
		    width: 20px;
    left: 47%;
    bottom: 55%;
}
	
	
#effects_1 .effects_box .effects-body .bold {
        font-size: 1.2em;
}
	
	.home-solution-list {
    padding-top: 40px;
}
	.home-solution-list__item {
    width: 100%;
    margin-bottom: 60px;
}
	.home-solution-list__txt-area {
    padding: 20px 0 50px;
    font-size: 20px;
}
	.home-solution-list__detail-area {
    width: 90%;
    margin: 0 auto;
    padding: 30px 20px;
    line-height: 1.4;
    font-size: 14px;
}
	
	.home-solution-list__detail-area:nth-child(2n+1):before {
    left: 42%;
}
	
	.home-solution-list__num-area {
    top: 25%;
}
	
	.basis {
    font-size: 10px;
    line-height: 1.2;
    padding-bottom: 60px;
    width: 90%;
    margin: 0 auto;
}
	
	
	.effects2_items {
        margin-top: 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
}
	
	.top_effects2 {
    margin-top: 30px;
}
	
	.effects2_items li {
        width: 100%;
}
	.ef2_item{
		display: flex;
    padding: 20px 0 25px;
    position: relative;
	}
	
	.effects2_items li .effects2_image {
    width: 100px;
    height: 80px;
    text-align: center;
    padding-top: 5px;
    margin: 0 auto;
}
		.effects2_items li .effects2_image img {
    width: 70px;
}
	
	.effects2_texts{
		margin-top: 10px;
		flex: 1;
    padding-right: 10px;
	}
	
	
	.ef2_item .effects2_ttl {
    text-align: left;
    margin-bottom: 10px;
}
	
	.effects2_texts h4 {
    font-size: 20px;
		text-align: left;
}
	
	.bracket.pos-start {
     left: 5%;
}
	.bracket.pos-start2 {
        right: 5%;
}
	
	.bracket.pos-end {
     left: 5%;
    top: 453px;
}
	
	.bracket.pos-end2 {
    right: 5%;
    top: 453px;
}
	.top_effects2_text {
    width: 85%;
		font-size: 16px;
		line-height: 1.8;
}
	
	.top__support__list {
    margin: 40px auto;
}
	
	.top__support__listbox {
     width: 50%;
    padding: 30px 20px 60px;
}
	.top__support__listbox:nth-child(3) {
    background: none;
}
		.top__support__listbox:nth-child(4) {
    background: #F6F6F8;
}
			.top__support__listbox:nth-child(5) {
    background: #F6F6F8;
}
		.top__support__listbox:nth-child(6) {
    background: none;
}
	body.home #service {
    padding: 60px 0 0;
}
	
	.service_basis {
    text-align: left;
    width: 90%;
    margin: 0 auto;
}
	
	.inner_large {
    width: 100%;
		padding: 60px 0;
}
	
	.post_contents_catch {
        width: 90%;
    margin: 0 auto;
    text-align: left;
    font-size: 14px;
}
	
	.genre_list {
    padding: 0;
    width: 90%;
}
	.fade_item {
    padding: 20px;
}
	
	.top__plan__cpbox{
		width: 80vw;
    min-width: 80vw;
    max-width: 80vw;
    display: block;
    margin: 0 auto;
		padding: 50px 30px;
		box-shadow: 0 10px 10px rgb(51 51 51 / 14%);
	}
	.top__plan__cpbox .cv__plan__cp__headline {
    text-align: left;
}
	.top__plan__cpbox .cv__plan__cp__headline:before {
    display: none;
}
	.top__plan__cpbox .cv__plan__cp__headline b:after{
	   content: '';
    width: 30%;
    height: 5px;
    background-color: #000;
    position: absolute;
    left: 0;
    bottom: -20px;
	}
	
	.top__plan__cpbox .cv__plan__cp__headline b {
    margin-bottom: 30px;
}
	
	.cv__plan__cp__place h3 {
    font-size: 30px;
}
	.top__plan__cpbox__text {
    font-size: 15px;
    line-height: 1.3;
    margin-top: 20px;
}
	
	.top__plan__cpbox__text .cl {
    font-size: 24px;
}
	
	.home-plan-list {
        padding-left: 15px;
    padding-right: 15px;
		    margin: 60px 0 0;
}
	/*plan_sp*/
	.home-plan-list__item:nth-of-type(5) {
    width: 100%;
		display: inline-block !important;
		margin-bottom: 80px;
}
	.plan_sp_box{
		display: flex;
	}
		.home-plan-list__item .plan_sp {
    /*display: flex;*/
	 padding:20px;
			    width: 50%;
}
	.home-plan-list__item .plan_sp .home-plan-list__period{
    align-self: center;
    width: 100%;
		/*border-left: 1px solid #707070;*/
		border-bottom: none;
        padding-bottom: 25px;
}
	.home-plan-list__item .plan_sp .home-plan-list__story {
    align-self: center;
    width: 100%;
		border-bottom: none;
    padding-bottom: 0;
}
		.home-plan-list__item .plan_sp .home-plan-list__price{
    align-self: center;
    /*width: 50%;*/
}
	.home-plan-list__item .plan_sp .home-plan-list__head-story{
    align-self: center;
    width: 100%;
		/*border-right: 1px solid #707070;*/
		line-height: 1.4;
    padding-top: 0;
}
	
	.plan_sp_box .home-plan-list__detail {
    width: 50%;
		    line-height: 2.2em;
		    padding: 30px 0;
}
	
.home-plan-list__item .plan_sp:before {
    position: absolute;
    top: 30%;
    left: 50%;
    width: 1px;
    height: 60%;
    background: #000;
    content: "";
}
	
	.home-plan-list__item .home-plan-list__detail .detail{
		display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-align: center;
    display: flex;
    padding: 0 20px;
	}
	
	.home-plan-list__item .home-plan-list__detail .detail li{
		width: 30%;
	}
	
	
.home-plan-list__item {
	width: 31%;
        /*width: 48%;*/
	margin-bottom: 40px;
}
	
	._ttl {
    font-size: 0.75rem;
    top: -30px;
}
	/*._ttl::after, ._ttl::before {
    margin: 0px 10px;
    height: 15px;
}*/
	._ttl::after {
    margin: 0 0 0 10px;
    height: 10px;
}
	._ttl::before {
    margin: 0 10px 0 0;
    height: 10px;
}
	
.home-plan-list__period {
	line-height: 1.4;
}
	
.home-plan-list__head-story {
    font-size: 12px;
}
	.home-plan-list__num {
    line-height: 2.2em;
    font-size: 1.6rem;
}
	.home-plan-list__price {
    font-size: 0.75rem;
		display: inline-block;
}
.home-plan-list .home-plan-list__price .camp{
		font-size: 0.8em;
	}
	.home-plan-list__head3 {
    margin-top: -16px;
	margin-bottom: 10px;
}
	.home-plan-list__price .under::before {
    content: '';
    position: absolute;
    top: 13%;
    display: inline-block;
    width: 50px;
    left: 20px;
    height: 4px;
    background-color: #f00;
    transform: rotate( 
-30deg
 );
}
	.home-plan-list__head4 {
	 margin-bottom: 10px;
}
	
	body.home #plan {
        padding: 60px 0 0;
}
	
body.home #flow{
    padding: 60px 0 0;
}
	
	
	.top_flow_image {
        margin-top: 20px;
    overflow: scroll;
}
	
	.top_flow_image img {
    width: auto;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    height: 280px;
    padding: 2vw;
		display: block;
}
	
	.top__flow__contact {
    margin-top: -130px;
    padding-top: 80px;
    padding-bottom: 48px;
}
	
	.top__flow__contact h3 {
    font-size: 22px;
    letter-spacing: .1em;
    width: 80%;
}
	
	body.home #faq {
    padding: 60px 0 0;
}
	
	.faq_list {
    padding-left: 15px;
    padding-right: 15px;
}
	
	.acbox label {
    font-size: 14px;
    line-height: 1.4;
    padding: 30px 45px;
    background: url(images/bg_q.svg) no-repeat top 30px left 15px /20px;
}
	
	.acbox input:checked ~ div {
    font-size: 14px;
    line-height: 1.4;
    padding: 30px 45px;
    background: url(images/bg_a.svg) no-repeat top 30px left 15px /17px;
}
	
	
	
	
	
	.faq_list .question {
    padding: 20px 40px 20px 50px;
    font-size: 14px;
		background: url(images/bg_q.svg) no-repeat top 20px left 15px;
}
	
	.faq_list .question:before {
    right: 18px;
    top: 32px;
}
	
	.faq_list .question:after {
    right: 24px;
    top: 26px;
}
	
	.faq_list .answer {
    font-size: 14px;
    padding: 20px 40px 20px 50px;
    background: url(images/bg_a.svg) no-repeat top 25px left 15px;
}
	
	.faq_list .answer p {
    line-height: 1.8;
}
	
	
	body.home #contact {
    padding: 60px 0 0;
}
	
	
#contact_form {
		margin-bottom: 15vw;
		/*padding-top: 10vw;*/
		margin-top: 0;
	    width: 90%;
	    padding:5vw;
	}
 #contact_form table ,
#contact_form table tbody ,
#contact_form table tbody tr,
#contact_form table tbody tr th,
#contact_form table tbody tr td {
		width: auto;
		display: block;
	font-size: 14px;
	}
#contact_form table tbody tr th {
		padding: 3vw 0;
	}
#contact_form table tbody tr td {
		padding: 0 0 5vw 0;
	}
#contact_form #note {
		font-size: 3.7vw;
		margin-bottom: 15vw;
	}

	#contact_form table .required {
    font-size: 11px;
}
	
.top__contact__bg {
    margin: -130px 0;
    padding-top: 200px;
}

#contact_form #submit input {
    width: 260px;
    height: 55px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    margin: 0;
}
	#contact_form #terms {
    padding: 20px;
    font-size: 12px;
	}
	footer #access {
		display: block;
		margin-top: -3.75rem;
		padding-top: 3.75rem;
	}
	footer #access > div:first-child {
		width: auto;
		padding: 14vw 5vw 8vw;
	}
	footer #access > div:first-child h1 {
		margin-bottom: 14vw;
	}
	footer #access > div:first-child h3 {
		font-size: 5vw;
		margin: 1em 0;
	}
	footer #access > div:first-child p {
		margin-bottom: 8vw;
		font-size: 3.7vw;
	}
	footer #access > div:first-child p small {
		font-size: 3.7vw;
	}
	footer #access > div:first-child > div {
		margin-top: 12vw;
		display: block;
	}
	footer #access > div:first-child > div img:first-child {
		margin-right: 0;
	}
	footer #access > div:first-child > div img {
		width: 100%;
	}
	footer #access > div:last-child {
		width: 100%;
		height: 75vw;
	}
	
	footer #foot_contact {
		height: auto;
		padding: 10vw 5vw;
	}
	footer #foot_contact h2 {
		font-size: 5vw;
		margin-bottom: 8vw;
	}
	footer #foot_contact > div {
		flex-wrap: wrap;
	}
	footer #foot_contact > div a {
		margin: 0 auto;
	}
	footer #foot_contact > div a.tel span {
		font-size: 8.8vw;
		margin-bottom: 2vw;
		display: inline-block;
	}
	footer #foot_contact > div a.tel small {
		font-size: 3.4vw;
		margin-bottom: 10vw;
	}
	footer #foot_contact > div a.form {
		width: 100%;
		height: 18.6vw;
		line-height: 18.6vw;
		font-size: 5vw;
	}
	
	footer #footer {
		padding: 10.3vw 17.3vw;
		display: block;
	}
	footer #footer div img.logo {
		display: block;
		width: 30vw;
		margin: 0;
	}

	footer #footer ul {
		justify-content: left;
	}
	footer #footer ul li {
		min-width: 25vw;
		width: auto;
		margin-left: 0;
		margin-top: 2.5em;
	}
	footer #footer ul li a {
		font-size: 3.7vw;
		letter-spacing: .1em;
	}
	footer #footer ul.sub li a {
		font-size: 3.2vw;
	}
	footer #copyright {
		font-size: 2.7vw;
		padding: 0.75em 0;
		text-align: center;
	}

	
	#headline {
    height: 53.3vw;
}
	
	#headline h1.ttl_thanks span {
    font-size: 8.5vw;
}
	#headline p.ttl_cv {
    font-size: 3.4vw;
}
	.page.contact-thanks main #main, body.error404 main #main {
    padding: 10vw 5vw 20vw;
}
	.page.contact main #main h2, .page.contact-thanks main #main h2, body.error404 main #main h2 {
    font-size: 5vw;
    margin-bottom: 15vw;
    text-align: left;
    line-height: 1.7;
}
	
	.page.contact main #main p, .page.contact-thanks main #main p, body.error404 main #main p {
    text-align: left;
    margin-bottom: 10vw;
    font-size: 3.6vw;
		    line-height: 2;
}
	
	/* ------------------- DOWNLOAD -------------------*/
#download{
	padding-top: 40px;
}

#download .low{
	display: block;
    width: 90%;
    margin: 0 auto;
}
	#download .dl__box {
    flex: none;
    max-width: 100%;
}

	#download_form {
    padding: 0px;
    margin: 60px auto;

}
	
#download_form #submit {
    text-align: center;
}
	#download_form #submit input {
     width: 260px;
    height: 55px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    margin: 0;
}
	#download_form .wpcf7 .ajax-loader {
    display: block;

}
	#download_form #terms p, #download_form .recapcha {
    font-size: 10px !important;
}
	
.page.download-page main #main, .page.download-thanks main #main, .page.download-service-materials main #main, .page.download-wp-saiyoukouhou-start main #main, .page.download-service-materials2 main #main {
    padding: 10vw 5vw 20vw;
}
.page.download-page main #main h2, .page.download-thanks main #main h2, .page.download-service-materials main #main h2, .page.download-wp-saiyoukouhou-start main #main h2, .page.download-service-materials2 main #main h2 {
    font-size: 5vw;
    margin-bottom: 15vw;
    text-align: left;
    line-height: 1.7;
}
	
.page.download-page main #main p, .page.download-thanks main #main p, .page.download-service-materials main #main p, .page.download-wp-saiyoukouhou-start main #main p, .page.download-service-materials2 main #main p  {
    text-align: left;
    margin-bottom: 10vw;
    font-size: 3.6vw;
		    line-height: 2;
}
	a.btn-2{
    min-width: 88.3vw;
    min-height: 18.3vw;
    line-height: 18.3vw;
    font-size: 5.3vw;
	margin-bottom: 60px;
}
	
}