/*
theme Name: EDGE
Author: VERSE
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: #000;
	 -webkit-text-size-adjust: 100%;
	 overflow: hidden;
}

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

body.header_fixed {
	padding-top: 0px;
}

.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: 1s;
	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 .5s;
}


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;
}





/* ------------------- FV -------------------*/

body.home .mainVisual {
	/*position: relative;
    display: flex;
    width: 100%;
    height: calc(-80px + 100vh);*/
    min-height: 500px;
	position: relative;
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 100dvh;
    background: #fff;
    padding: 4% 4% 4% 4%;
	box-sizing: border-box;
	overflow: hidden;
}

body.home .mainVisual .main__logo{
	position: relative;
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    width: 50%;
    text-align: center;
}

body.home .mainVisual .main__logo .main__logo__inner{
	width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

body.home .mainVisual .mainVisual-visual{
	width: 50%;
	height: 100%;
}

body.home .mainVisual .mainVisual-visual .mainVisual-slider{
	width: 100%;
	height: 100%;
}

body.home .mainVisual .mainVisual-visual .mainVisual-img {
    height: calc(100dvh - 8vw);
    width: 100%;
    object-fit: cover;
    object-position: center;
}





/* ------------------- /FV -------------------*/


/* ------------------- MAIN -------------------*/
main {
	position: relative;
	/*display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    width: 100%;
    height: 100vh;
    background: #fff;
    padding: 4% 0 4% 4%;*/
}

.homeConcept {
    min-height: 690px;
    position: relative;
    padding: 10% 20% 10% 20%;
}

.homeConcept-section {
	display: flex;
    justify-content: space-between;
    min-width: 800px;
}

.homeConcept-container {
	width: 50%;
}

.homeConcept-container-box-jp {
	font-family: "Noto Serif JP", serif;
    letter-spacing: 0.05em;
}

.homeConcept-ttl-jp {
    font-size: 18px;
    font-weight: normal;
    line-height: 2.0;
    margin-bottom: 40px;
}

.l-textMain-jp {
    font-size: 14px;
    font-weight: lighter;
    line-height: 2.2;
    margin-bottom: 80px;
}

.homeConcept-container-box-en {
    font-family: futura-pt, sans-serif;
    letter-spacing: 0.05em;
}

.homeConcept-ttl-en {
    font-size: 16px;
    font-weight: normal;
    line-height: 1.7;
    margin-bottom: 20px;
}

.l-textMain-en {
    font-size: 12px;
    font-weight: lighter;
    line-height: 1.7;
}

.homeSection {
    min-height: 420px;
    position: relative;
    display: flex;
}

.homeSection-inner {
    width: 50%;
    padding-left: 4vw;
    padding-right: 4vw;
	padding-top: 9vw;
    padding-bottom: 9vw;
}

.homeSection-container {
    height: 100%;
    /*display: flex;
    flex-direction: column;*/
}

/*.homeSection-container-block {
    flex: 1;
    padding-bottom: 4em;
    display: flex;
    flex-direction: column;
    justify-content: center;
}*/

.homeSection-container-box {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.homeSection-title, .homeConcept-heading {
    font-size: 30px;
    line-height: 1.7;
    padding-bottom: 4em;
    font-family: futura-pt, sans-serif;
    font-weight: bold;
	letter-spacing: 0.05em;
}

.homeDirector-heading, .homeShop-heading {
    font-size: 30px;
    line-height: 1.7;
    padding-bottom: 1em;
    font-family: futura-pt, sans-serif;
    font-weight: bold;
	letter-spacing: 0.05em;
}

.homeSection-link {
    padding-top: 5em;
}


.homeInstagram {
    min-height: 540px;
    position: relative;
    display: flex;
    justify-content: space-between;
}

/*.homeDirector {
    min-height: 420px;
    position: relative;
    display: flex;
    justify-content: space-between;
    padding: 4% 4% 4% 4%;
}*/

.homeShop-section-sp {
    display: flex;
    justify-content: space-around;
}

.homeDirector-section-sp,.homeShop-section-sp {
    display: flex;
    justify-content: space-around;
	gap: 3em;
}

.homeShop{
	width: 35%;
	padding-left: 4vw;
    padding-right: 4vw;
    padding-top: 8vw;
    padding-bottom: 8vw;
}

.homeDirector{
	width: 65%;
	padding-left: 4vw;
    padding-right: 4vw;
    padding-top: 8vw;
    padding-bottom: 8vw;
}

.c-btn {
    align-items: center;
    background: 0 0;
    border: 1px solid #fff;
    border-radius: 50%;
    box-shadow: .5rem .5rem 1rem rgba(0, 0, 0, .08);
    box-sizing: border-box;
    color: currentColor;
    cursor: pointer;
    display: flex;
    font-family: futura-pt, sans-serif;
    font-size: 0.75rem;
    width: 6.25rem;
    height: 6.25rem;
    justify-content: center;
    letter-spacing: .04em;
    line-height: 1.5;
    margin: 0 1rem 0 0;
    padding: 0;
    position: relative;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: box-shadow .5s 
    cubic-bezier(.215, .61, .355, 1) 0s;
}

.c-btn__txt {
    display: block;
    position: relative;
    white-space: nowrap;
}

 .c-btn .letter {
    display: inline-block;
}

.c-btn .over .letter {
    opacity: 0;
    transform: translateY(20px);
    visibility: hidden;
}

.c-btn:hover {
    box-shadow: none;
}

.c-btn:hover:after {
    animation: c-btn-line .5s cubic-bezier(.215,.61,.355,1) 0s
}

.c-btn:hover .letter {
    transition: all .5s cubic-bezier(.215,.61,.355,1) 0s;
    transition-property: transform,visibility,opacity;
    will-change: transform,visibility,opacity;
}

.c-btn:hover .default .letter {
    opacity: 0;
    transform: translateY(-1rem);
    transition-delay: var(--delay);
    visibility: hidden;
}

.c-btn:hover .over .letter {
    opacity: 1;
    transform: translateY(0);
    transition-delay: calc(.125s + var(--delay));
    visibility: visible;
}




.c-btn:after {
    background: #000;
    bottom: 50%;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    right: -1rem;
    width: 2rem;
}

.c-btn .default, .c-btn .over {
    display: block;
}

.c-btn .over {
    left: 0;
    position: absolute;
    top: 0
}


.homeDirector-title ,.homeShop-title{
	font-size: 20px;
    line-height: 1.7;
    padding-bottom: 9em;
    font-family: futura-pt, sans-serif;
    font-weight: bold;
    letter-spacing: 0.05em;
}

/*.homeDirector .left {
	width: 30%;
}*/

.homeShop-section-sp a.l-hoverLine{
    width: 100%;
    min-height: 310px;
    padding: 3vw;
    border: solid 1px #000;
	background: #fff;
	color: #000;
	position: relative;
}

.homeDirector-section-sp a.l-hoverLine{
    width: 100%;
    min-height: 310px;
    padding: 3vw;
    border: solid 1px #000;
	background: #fff;
	color: #000;
	position: relative;
}

.homeShop-section-sp .l-hoverLine:hover {
	color: #fff;
	background: #000;
}
.homeDirector-section-sp .l-hoverLine:hover {
	color: #fff;
	background: #000;
}


.homeDirector-inner,.homeShop-inner {
	display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
}


.homeDirector-data {
	content: '';
    display: block;
    background-image: url(images/icon_instagram.svg);
	background-position: right;
    background-repeat: no-repeat;
    position: relative;
    transition: all .5s;
}





/***********
line
************/

.l-line-top{
  position: relative;
}
.l-line-top::before{
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #000;
  z-index: 9;
  transform: scaleX(0);
  transition: 2s;
  transition-delay: 0.2s;
}
.l-line-top.is-show::before{
  transform: scaleX(1);
}



.l-line-right{
  position: relative;
}
.l-line-right:not(:last-child)::after{
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background-color: #000;
  z-index: 9;
  transform-origin: top;
  transform: scaleY(0);
  transition: transform 1.5s linear;
  transition-delay: 0.2s;
}
.is-show .l-line-right::after{
  transform: scaleY(1);
}

.l-line-right:nth-child(1)::before{ transition-delay: 0.3s ;}
.l-line-right:nth-child(2)::before{ transition-delay: 0.6s ;}
.l-line-right:nth-child(3)::before{ transition-delay: 0.9s ;}
















/* ------------------- 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 .reservation {
    background-image: url(images/bg_reservation.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
}*/

footer .reservation a {
    display: block;
    overflow: hidden;
    position: relative;
}

footer .reservation a::before {
	content: '';
    display: block;
    background-image: url(images/bg_reservation.jpg);
	background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    border: 0;
    z-index: 0;
    transition: all .5s;
}

footer .reservation a:hover::before {
    transform: scale(1.05);
    transition: 0.4s;
}


/*footer .reservation_inner {
	min-height: 420px;
    display: flex;
    justify-content: space-between;
    padding: 8% 4%;
    position: relative;
    z-index: 2;
}*/

footer .reservation_inner {
	min-height: 420px;
	display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    padding: 8% 4%;
    position: relative;
    z-index: 2;
}

footer .reservation a::after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    border: 0;
    z-index: 1;
    background-color: #242424;
    opacity: .8;
    transition: all .5s;
}

footer .reservation a:hover::after {
    opacity: .4;
}

footer .reservation_txt{
	font-size: 30px;
    line-height: 1.7;
    padding-bottom: 5em;
    font-family: futura-pt, sans-serif;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #fff;
}

@keyframes c-btn-line {
	0% {transform: scale(1);transform-origin: right center}
	50% {transform: scale(0);transform-origin: right center}
	50.1% {transform: scale(0);transform-origin: left center}
	to {transform: scale(1);transform-origin: left center}
}

@keyframes c-btn-back-line {
	0% {transform: scale(1);transform-origin: left center}
	50% {transform: scale(0);transform-origin: left center}
	50.1% {transform: scale(0);transform-origin: right center}
	to {transform: scale(1);transform-origin: right center}
}

@keyframes c-btn-more-line {
	0% {transform: scale(1);transform-origin: center bottom}
	50% {transform: scale(0);transform-origin: center bottom}
	50.1% {transform: scale(0);transform-origin: center top}
	to {transform: scale(1);transform-origin: center top}

}
.c-btn2 {
    align-items: center;
    background: 0 0;
    border: 1px solid #fff;
    border-radius: 50%;
    box-shadow: .5rem .5rem 1rem rgba(0, 0, 0, .08);
    box-sizing: border-box;
    color: currentColor;
    cursor: pointer;
    display: flex;
    font-family: futura-pt, sans-serif;
    font-size: 0.75rem;
    width: 6.25rem;
    height: 6.25rem;
    justify-content: center;
    letter-spacing: .04em;
    line-height: 1.5;
    margin: 0 1rem 0 0;
    padding: 0;
    position: relative;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: box-shadow .5s 
    cubic-bezier(.215, .61, .355, 1) 0s;
}

.c-btn2__txt {
    display: block;
    position: relative;
    white-space: nowrap;
    color: #fff;
}

.c-btn2 .letter {
    display: inline-block;
}

.c-btn2 .over .letter {
    opacity: 0;
    transform: translateY(20px);
    visibility: hidden;
}

.c-btn2:hover {
    box-shadow: none;
}

.c-btn2:hover:after {
    animation: c-btn-line .5s cubic-bezier(.215,.61,.355,1) 0s
}

.c-btn2:hover .letter {
    transition: all .5s cubic-bezier(.215,.61,.355,1) 0s;
    transition-property: transform,visibility,opacity;
    will-change: transform,visibility,opacity;
}

.c-btn2:hover .default .letter {
    opacity: 0;
    transform: translateY(-1rem);
    transition-delay: var(--delay);
    visibility: hidden;
}

.c-btn2:hover .over .letter {
    opacity: 1;
    transform: translateY(0);
    transition-delay: calc(.125s + var(--delay));
    visibility: visible;
}




.c-btn2:after {
    background: #fff;
    bottom: 50%;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    right: -1rem;
    width: 2rem;
}

.c-btn2 .default, .c-btn .over {
    display: block;
}

.c-btn2 .over {
    left: 0;
    position: absolute;
    top: 0
}


footer #footer {
    padding: 300px 80px 80px;
    background-color: #000000;
	color: #fff;
}

footer .footMessage-block {
    display: flex;
    justify-content: space-between;
    margin-bottom: 130px;
	align-items: flex-end;
}

footer .footMessage-container-box-jp {
    font-family: "Noto Serif JP", serif;
    letter-spacing: 0.05em;
}

footer .footMessage-l-textMain-jp {
    font-size: 14px;
    font-weight: lighter;
    line-height: 2.2;
}

footer .footMessage-container-box-en {
    font-family: futura-pt, sans-serif;
    letter-spacing: 0.05em;
}

footer .footMessage-l-textMain-en {
    font-size: 12px;
    font-weight: lighter;
    line-height: 1.7;
	text-align: right;
}

footer .footInfo {
    display: flex;
    justify-content: space-between;
}

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: 12px;
	font-family: futura-pt, sans-serif;
    letter-spacing: 0.05em;
	align-items: center;
}

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

footer #footer .foot_txt .l-footer-copyright {
    padding-top: 1em;
    display: block;
    font-family: futura-pt, sans-serif;
    font-size: 60%;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding-bottom: 0.5em;
	text-align: end;
}

/* ----------------------------------------------------------
.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;
}





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

	body.header_fixed {
		padding-top: 0;
	}
	
	body.home .mainVisual{
		display: block;
		height: auto;
		padding: 0;
		min-height: 100vh;
	}
	body.home .mainVisual .main__logo .main__logo__inner{
	width: 40%;
}
	body.home .mainVisual .main__logo{
		width: 100%;
		padding: 32% 4% 32% 4%;
	}
	
	body.home .mainVisual .mainVisual-visual{
		width: 100%;
		height: auto;
	}
	body.home .mainVisual .mainVisual-visual .mainVisual-slider {
    height: auto;
}
	body.home .mainVisual .mainVisual-visual .mainVisual-img {
    height: auto;
}
	.homeConcept {
    min-height: 615px;
    padding: 22% 11% 22% 11%;
}
	.homeConcept-section {
    display: block;
    min-width: 100%;
}
	.homeConcept-heading {
    font-size: 20px;
    text-align: center;
    padding-bottom: 2em;
}
	.homeConcept-container {
    width: 100%;
}
	.homeConcept-ttl-jp {
    font-size: 16px;
    margin-bottom: 30px;
}
	.l-textMain-jp {
    font-size: 12px;
    line-height: 2.0;
}
	.homeConcept-ttl-en {
    font-size: 14px;
}
	.l-textMain-en {
    font-size: 11px;
}
	
	
	
	.homeSection {
		min-height: 270px;
		position: relative;
		display: block;
}
	
	.homeSection-inner {
		width: 100%;
		border-bottom: 1px solid #000;
		padding-left: 8vw;
    padding-right: 8vw;
    padding-top: 12vw;
    padding-bottom: 12vw;
}
	.homeSection-inner:last-child {
  border-bottom: none;
}
	.homeSection-title, .homeDirector-heading,.homeShop-heading {
		font-size: 20px;
}
	.homeDirector-heading,.homeShop-heading {
		padding-bottom: 1em;
}
	.homeInstagram {
        display: block;
}
	.homeShop {
    width: 100%;
    padding-left: 8vw;
    padding-right: 8vw;
    padding-top: 12vw;
    padding-bottom: 16vw;
    border-bottom: 1px solid #000;
}
	.homeShop-section-sp a.l-hoverLine {
    min-height: 150px;
    padding: 8vw;
}
	.c-btn {
		font-size: 0.65rem;
		width: 5rem;
		height: 5rem;
	}
	
	.l-line-right:not(:last-child)::after {
    display: none;
}
	.homeDirector {
		width: 100%;
    display: block;
		padding-left: 8vw;
        padding-right: 8vw;
        padding-top: 16vw;
        padding-bottom: 16vw;
}
	
	.homeDirector-section-sp {
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 1.25em;
}
	
	.homeDirector-section-sp .l-hoverLine {
    min-height: 240px !important;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
	
	.homeDirector-title{
    padding-bottom: 6em;
    font-size: 18px;
}
	.homeShop-title{
    padding-bottom: 3em;
    font-size: 18px;
}
	.homeDirector-inner {
    display: block;
}
	
	footer .reservation_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 370px;
}
	
	footer .reservation_txt {
    font-size: 20px;
}
	
	footer #footer {
		padding: 50vw 10vw 10vw 10vw;
		display: block;
	}
	footer .footMessage-l-textMain-jp {
    font-size: 12px;
    line-height: 2.0;
    margin-bottom: 80px;
}
	footer .footMessage-l-textMain-en {
    font-size: 11px;
    line-height: 1.6;
    text-align: left;
}
	footer .footInfo {
        display: block;
}
		footer #footer div img.logo {
		display: block;
		width: 26vw;
		margin: 0;
	}
	
	footer #footer .foot_txt .l-footer-copyright {
        margin-top: -6vw;
}
		footer #footer ul {
		justify-content: left;
			display: flex;
        flex-direction: column;
			align-items: flex-start;
	}
	
		footer #footer ul li {
		min-width: 25vw;
		width: auto;
		margin-left: 0;
		margin-top: 1.6em;
	}
	footer .footMessage-block {
    display: block;
}
	
	
	
	
	
	/* 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;
	}

	
	#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 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;
}
	
}