/*
Theme Name: lunafy
Author: tomo
*/


/* ------------------------------------------ reset css ------------------------------------------ */
/*
  Made by Elly Loel - https://ellyloel.com/
*/
*{margin:0;padding:0;line-height:calc(0.25rem+1em+0.25rem)}*,::before,::after{box-sizing:border-box}*:where(:not(fieldset,progress,meter)){border-width:0;border-style:solid;background-origin:border-box;background-repeat:no-repeat}
html{block-size:100%;-webkit-text-size-adjust:none}
@media(prefers-reduced-motion:no-preference){html:focus-within{scroll-behavior:smooth}}
body{text-rendering:optimizeSpeed;min-block-size:100%}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,svg,video){block-size:auto;max-inline-size:100%}:where(svg){stroke:none;fill:currentColor}:where(svg):where(:not([fill])){stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}:where(svg):where(:not([width])){inline-size:5rem}:where(input,button,textarea,select),:where(input[type="file"])::-webkit-file-upload-button{color:inherit;font:inherit;font-size:inherit;letter-spacing:inherit;word-spacing:inherit}:where(textarea){resize:vertical}
@supports(resize:block){:where(textarea){resize:block}}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}
h1{font-size:2em}:where(ul,ol){list-style-position:inside}:where(ul,ol)[role="list"]{list-style:none}
a:not([class]){text-decoration-skip-ink:auto}:where(a[href],area,button,input,label[for],select,summary,textarea,[tabindex]:not([tabindex*="-"])){cursor:pointer;touch-action:manipulation}:where(input[type="file"]){cursor:auto}:where(input[type="file"])::-webkit-file-upload-button,:where(input[type="file"])::file-selector-button{cursor:pointer}
@media(prefers-reduced-motion:no-preference){:focus-visible{transition:outline-offset 145ms cubic-bezier(0.25,0,0.4,1)}:where(:not(:active)):focus-visible{transition-duration:0.25s}}:where(:not(:active)):focus-visible{outline-offset:5px}:where(button,button[type],input[type="button"],input[type="submit"],input[type="reset"]),:where(input[type="file"])::-webkit-file-upload-button,:where(input[type="file"])::file-selector-button{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;text-align:center}:where(button,button[type],input[type="button"],input[type="submit"],input[type="reset"])[disabled]{cursor:not-allowed}

/* ------------------------------------------ // ------------------------------------------ */

@keyframes fadeInUp {
	0% {
		opacity:0; 
		transform:translate3d(0,100px, 0)
	}
	
	to {
		opacity:1;
		transform:translateZ(0)
	}
}

.animation {
	opacity:0; 
		transform:translate3d(0,100px,0)
}

.fadeInUp.scrollIn{
	animation: fadeInUp 0.5s ease-in-out 1 forwards;
	transform: translate3d(0, 100px, 0);
}

/* ------------------------------------------ page 共通 ------------------------------------------ */

body {
	font-family: "Noto Sans JP", sans-serif;
	font-family: "Noto Serif JP", serif;
	letter-spacing: 0.025em;
}

.page-wrap {
	overflow-x: hidden;
    position: relative;
}

.zenhaba {
	position: relative;
	left: 50%;
	width: 100vw;
	transform: translate(-50%, 0);
}

::marker {
	margin-right: 10px;
}

.fot-cezanne {
	font-family: "fot-cezanne-pron", sans-serif;
	font-weight: 500;
	font-style: normal;
}

.fot-acumin {
	font-family: acumin-pro-condensed, sans-serif;
	font-weight: 700;
	font-style: normal;
}

.fot-yugothic {
	font-family: "yu-gothic-pr6n", sans-serif;
font-weight: 400;
font-style: normal;
}

.fot-yumincho {
	font-family: "yu-mincho-pr6n", sans-serif;
font-weight: 400;
font-style: normal;
}

.fot-notosans {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.fot-bebas {
font-family: "bebas-neue", sans-serif;
font-weight: 400;
font-style: normal;
}

.fot-caflisch_script {
	font-family: "caflisch-script-pro", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.lh-1 {
	line-height: 1;
}

.cr-fff {
	color: #fff;
}

.cr-171c61 {
	color: #171c61;
}

.cr-aaa {
	color: #aaaaaa;
}

.bg-f1f1f1 {
	background-color: #f1f1f1;
}

.block {
	display: block;
}

.in-block {
	display: inline-block;
}

.flex {
	display: flex;
}

.align-c {
	text-align: center;
}

.align-r {
	text-align: right;
}

.mg-auto {
	margin: auto;
}

a {
	transition: all 0.5s;
}

a:hover {
	opacity: 0.7;
}

.pc {
	display: block !important;
}

.mb {
	display: none;
}

@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
	
	.mb {
		display: block !important;
	}
}

/* header */
.header {
position: absolute;
z-index: 1000;
width: 100%;
height: 90px;
}

.header__container {
height: 100%;
justify-content:flex-end;
align-items: center;
}

.header__logo {
background-color: #f9cdc9;
width: 270px;
width: 220px;
height: 176px;
}

.header__logo a img {
width: 132px;
margin: 42px auto 0;
}

.headerMenu ul {
list-style-type: none;
align-items: center;
display: flex;
}

.headerMenu ul li {
margin-right: 35px;
}

.headerMenu ul li:last-child {
margin-right: 0;
}

.headerMenu ul li#menu-item-12 {
margin-right: 0;
}

.headerMenu ul li a {
text-decoration: none;
letter-spacing: 0.05em;
font-size: 16px;
color: #fff;
position: relative;
font-family: "poppins", sans-serif;
}

.headerMenu ul li#menu-item-12 a, .headerMenu ul li#menu-item-13 a {
font-size: 0;
width: 90.38px;
height: 90.38px;
background-color: #b4a469;
position: relative;
}

.headerMenu ul li#menu-item-12 a::after {
content: "";
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
background-image: url(/lunafy/assets/img/phone-icon.png);
width: 27px;
height: 35px;
background-size: cover;
}

.headerMenu ul li#menu-item-13 a {
background-color: #1b334b;
}

.headerMenu ul li#menu-item-13 a::after {
content: "";
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
background-image: url(/lunafy/assets/img/mail-icon.png);
width: 35px;
height: 25px;
background-size: cover;
}

.headerMenu ul li a img{
margin: auto;
margin-top: 20px;
}

.headerMenu ul li a img {
margin: 35px auto 0;
}

.headerMenu .menu .menu-item a{
color: #fff;
text-decoration: none;
letter-spacing: 1px;
font-size: 14px;
display: block;
height: 100%;
font-weight: bold;
}

.headerMenu .menu .menu-item a::after {
color: #fff;
font-size: 10px;
line-height: 1;
display: block;
margin-left: 0;
margin-top: 6px;
}

.headerMenu .menu .menu-item-9.menu-item a::after {
	content: "PAGE TOP";
}

.headerMenu .menu .menu-item-10.menu-item a::after {
	content: "INTRODUCTION";
}

.headerMenu .menu .menu-item-11.menu-item a::after {
	content: "COMPANY";
}




/*
.headerMenu__list__item__link.active {
border-left: solid 3px #97001b;
}
*/







@media screen and (max-width: 767px) {
.header {
height: auto;
}	
	
.header__container {
align-items: center;
}
	
.header__logo {
background-color: #f9cdc9;
width: 22vw;
height: 18vw;
margin-left: 0;
}
	
.header__logo a img {
width: auto;
height: 14vw;
margin: 2vw auto 0;
}

.header__logo__link__image {
width: 27.54vw;
}
}


	.headerScroll__nav__openbtn1::before {
    content: "MENU";
    color: #fff;
    font-family: "century-gothic", sans-serif;
    text-align: center;
    width: auto;
    display: block;
    line-height: 1;
    position: absolute;
    right: 0;
    left: 0;
    top: 28px;
    font-size: 16px;
}
	
	.gNav{
position: absolute;
z-index: 999;
top: 73px;
right: -180%;
width: 100%;
/* height: 100%; */
transition: all 0.6s;
}

.gNav {
top: 80px;
}

/*アクティブクラスがついたら位置を0に*/
.gNav.panelactive{
top: 0;
right: 0;
background-color: rgba(110, 116, 183, 0.7);
background-color: rgba(249, 205, 201, 0.9);
width: 100%;
height: 100vh;
position: fixed;
}

/*ナビゲーションの縦スクロール*/
.gNav__wrap{
/*ナビの数が増えた場合縦スクロール*/
/*position: fixed;*/
padding: 17.8666vw 11.72vw 0 8.125vw;
z-index: 999; 
width: 100%;
height: 100vh;/*表示する高さ*/
height: 153.334vw;
overflow: hidden;
-webkit-overflow-scrolling: touch;
}

/*
.gNav__wrap::before {
content: "";
width: 100%;
height: 153.334vw;
background-image: url(images/Mission.webp);
position: absolute;
top: 0;
left: 0;
background-size: cover;
background-position: center;
z-index: -100;
}

.gNav__wrap::after {
content: "";
width: 100%;
height: 153.334vw;
position: absolute;
top: 0;
left: 0;
background-color: rgba(0,0,0,0.9);
z-index: -100;
}
*/

.gNav ul {
/*padding: 5vw;*/
/*height: 50vh;*/
	list-style: none;
}

.gNav ul li {
line-height: 1;
position: relative;
}

.gNav ul li::after {
content: "";
position: absolute;
bottom: -5vw;
left: 0;
width: 100%;
height: 1px;
background-color: #6f74b7;
}

/*
.gNav ul li.menu-item-1132::after, .gNav ul li.menu-item-1133::after {
display: none;
}
*/

.gNav ul li a {
display: block;
padding: 0;
font-size: 4.28vw;
/*line-height: calc(40 / 14);*/
color: #fff;
text-decoration: none;
text-align: center;
writing-mode: lr;
margin-bottom: 10.65vw;
margin-bottom: 9.57vw;
color: #6f74b7;
/*background-color: rgba(110, 116, 183, 0.7);*/
}

.gNav ul li.menu-item-12 a, .gNav ul li.menu-item-13 a {
font-size: 0;
}

.gNav ul li.menu-item-12 a::after {
	content: "お電話でのお問い合わせ";
	font-size: 4.28vw;
}

.gNav ul li.menu-item-13 a::after {
	content: "メールからのお問い合わせ";
	font-size: 4.28vw;
}

.gNav ul li a:hover {
color: #750032;
transition: all 0.5s;
}

.gNav__list__item__logo{
width: 40vw;
margin: 0 auto 10vw;
}

.headerMenu__list__item__link.active {
border-left: none;
}
	
.gNav__wrap img {
width: 35.08vw;
margin: auto;
margin-bottom: 14.4vw;
	}
	
.openbtn1{
position:absolute;
z-index: 9999;/*ボタンを最前面に*/
top:0;
bottom: 0;
right: 0;
margin: 0;
cursor: pointer;
width: 20vw;
height: 20vw;
}
	
.openbtn1.mb::after {
content: "MENU";
font-size: 2.2vw;
text-align: center;
display: block;
position: absolute;
bottom: 2.8vw;
left: 0;
right: 0;
font-weight: bold;
font-family: "Cormorant Garamond", serif;
font-optical-sizing: auto;
letter-spacing: 1px;
	color: #fff;
}

.openbtn1.mb.active::after {
color: #fff;
}
  
/*×に変化*/  
.openbtn1 span{
display: inline-block;
transition: all .4s;
position: absolute;
left: 6.874vw;
border-radius: 2px;
/*width: 45%;*/
background: #fff;
height: 0.4vw;
width: 8.433vw;
left: 0;
right: 0;
top: calc((100% - 0.765vw)/2) !important;
margin: auto;
}

.openbtn1 span:nth-of-type(1) {
/*top:6.874vw;*/
transform: translateY(-2.53vw);
}

.openbtn1 span:nth-of-type(2) {
/*top:10.69vw;*/
transform: translateY(0);
}

.openbtn1 span:nth-of-type(3) {
/*top:14.504vw;*/
transform: translateY(2.53vw);
}

.openbtn1.active span {
background-color: #fff;
}

.openbtn1.active span:nth-of-type(1) {
/*top: 9vw;
left: 7vw;
transform: translateY(6px) rotate(-45deg);
/*width: 30%;*/
transform: rotate(45deg);
}

.openbtn1.active span:nth-of-type(2) {
opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
/*top: 12vw;
left: 7vw;
transform: translateY(-6px) rotate(45deg);
/*width: 30%;*/
transform: rotate(-45deg);
}



.open #global-nav {
  z-index: 1000;
  visibility: visible;
}
#global-nav {
  visibility: hidden;
  position: fixed;
  display: table !important;
  vertical-align: middle;
  color: #fff;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  text-align: center;
  font-size: 16px;
}
#global-nav ul {
  display: table-cell;
  vertical-align: middle;
  list-style: none;
}
#global-nav a {
  color: #fff;
  text-decoration: none;
  display: block;
  padding: 10px 0;
}

/* ***********************************************************
* nav-list
* *********************************************************** */
#global-nav ul li {
  opacity: 0;
  /*
  -webkit-transform: scaleX(0) translateX(-260px);
  transform: scaleX(0) translateX(-260px);
  -webkit-transition: none;
  transition: none;
  */
}
.open #global-nav ul li {
  opacity: 1;
  /*
  -webkit-transform: scaleX(1) translateX(0);
  transform: scaleX(1) translateX(0);

  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;

  -webkit-transition-delay: .1s;
  transition-delay: .1s;
  */
}
/*
.open #global-nav ul li:nth-child(2) {
  -webkit-transition-delay: .2s;
  transition-delay: .2s;
}
.open #global-nav ul li:nth-child(3) {
  -webkit-transition-delay: .3s;
  transition-delay: .3s;
}
.open #global-nav ul li:nth-child(4) {
  -webkit-transition-delay: .4s;
  transition-delay: .4s;
}
.open #global-nav ul li:nth-child(5) {
  -webkit-transition-delay: .5s;
  transition-delay: .5s;
}
*/

/* ***********************************************************
* #nav-bg
* *********************************************************** */
#nav-bg {
  content: "";
  width: 2400px;
  height: 2400px;
  margin-right: -1200px;
  margin-top: -1200px;
  top: 40px;
  right: 40px;
  display: block;
  position: fixed;
  /*background: #17A669;*/
  -webkit-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: scale(.02);
  transform: scale(.02);

}
.open #nav-bg {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all .6s ease-out;
  transition: all .6s ease-out;
  background-color: rgba(0, 0, 0, 0.8);
  background-color: rgba(0, 0, 0, 1);
  background-color: #228594;
  z-index: 999;
}

.open #nav-bg::before {
background-image: url(images/Mission.webp);
}

/* ***********************************************************
* #nav-toggle
* *********************************************************** */
#nav-toggle {
display: block;
position: absolute;
cursor: pointer;
/* padding: 2vw; */
z-index: 1001;
right: 2.5%;
top: 24px;
/* top: 0; */
bottom: auto;
}

#nav-toggle div::after {
    content: "MENU";
    font-size: 14px;
    text-align: center;
    display: block;
    position: absolute;
    /* bottom: -4vw; */
    font-weight: 900;
    font-family: fieldwork, sans-serif;
    font-optical-sizing: auto;
    letter-spacing: 1px;
    /* width: 8.433vw; */
    top: 16px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    color: #228594;
    line-height: 1;
}

#nav-toggle div {
    position: relative;
    width: 80px;
    height: 80px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
}
#nav-toggle span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 6.874vw;
    border-radius: 2px;
    /* width: 45%; */
    background: #228594;
    height: 2px;
    width: 42px;
    left: 0;
    right: 0;
    top: 45px;
    margin: auto;
    /* bottom: auto;*/
}

#nav-toggle span:nth-child(1) {
  transform: translateY(-7px);
}
#nav-toggle span:nth-child(2) {
  transform: translateY(0);
}
#nav-toggle span:nth-child(3) {
  transform: translateY(7px);
}
.open #nav-toggle {
  background: transparent;
}
/*
.open #nav-toggle span {
  background: #fff;
}*/

.open #nav-toggle span:nth-child(1) {
  top: 50px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  zoom: 1;
}
.open #nav-toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}
.open #nav-toggle span:nth-child(3) {
  top: 50px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  zoom: 1;
}

@media screen and (max-width: 767px) {
#nav-toggle {
right: 7.273vw;
top: 4.5456vw;
}

#nav-toggle div {
width: 18.184vw;
height: 18.184vw;
}

#nav-toggle div::after {
top: 3.637vw;
font-size: 3.184vw;
}

#nav-toggle span {
width: 9.546vw;
height: 0.455vw;
top: 10.455vw;
}

#nav-toggle span:nth-child(1) {
transform: translateY(-1.34vw);
}

#nav-toggle span:nth-child(3) {
transform: translateY(1.34vw);
}

.open #nav-toggle span:nth-child(1), .open #nav-toggle span:nth-child(3) {
top: 11.455vw;
}
}
/* // */



/* footer */
footer {
background-color: #171a29;
background-size: cover;
background-position: top;
position: relative;
}

.footer__container {
max-width: 1110px;
padding: 70px 0 10px;
justify-content: space-between;
align-items: flex-end;
}

@media screen and (max-width: 1150px) {
	.footer__container {
		max-width: 90%;
	}
}

.footerMenu__title {
font-size: 24px;
position: relative;
margin-bottom: 60px;
}

.footerMenu__title::after {
content: "";
position: absolute;
bottom: -10px;
left: 0;
right: 0;
width: 100px;
height: 2px;
background-color: #fff;
margin: auto;
}

.footerMenu__list {
justify-content: center;
}

.footerMenu__list__item a{
background-color: #000;
width: 356px;
display: block;
height: 76px;
line-height: 76px;
text-align: center;
text-decoration: none;
}


.footerMenu__list__item:nth-of-type(1) a {
margin-right: 55px;
}

.footerMenu__note {
margin-left: 172px;
margin-top: 14px;
}

.footerCopyright {
height: 58px;
color: #fff;
text-align: center;
line-height: 58px;
letter-spacing: 0.05em;
position: relative;
}

.footerCopyright__text {
font-size: 12px;
padding-top: 0;
line-height: 58px;
margin-top: 37px;
}

@media screen and (max-width: 768px) {
	.footer__container {
		max-width: 90%;
		padding: 11vw 0 5vw;
		flex-wrap: wrap;
	}
	
	.footerMenu__list {
    	flex-wrap: wrap;
}
	
	.footerMenu__title {
		font-size: 4.8vw;
		margin-bottom: 10vw;
}
	
	.footerMenu__title::after {
		content: "";
		position: absolute;
		bottom: -3vw;
		left: 0;
		right: 0;
		width: 25vw;
		height: 2px;
		background-color: #fff;
		margin: auto;
}
	
	.footerMenu__list__item a {
        width: 70vw;
		height: 15vw;
		line-height: 15vw;
		font-size: 3.2vw;
		margin-right: 0;
}
	
	.footerMenu__list__item:nth-of-type(1) a {
		margin-bottom: 4vw;
		margin-right: 0;
}
	
	.footerMenu__note {
		margin-top: 2vw;
		width: 70vw;
		font-size: 2.8vw;
		margin: 2vw auto auto;
}
	
	.footerCopyright {
        width: 100%;
        height: 13vw;
    }
	
	.footerCopyright__text {
    margin-bottom: 0;
    font-size: 2.9vw;
    margin-top: 4vw;
		text-align: center;
		line-height: 13vw;
	}
	
	.footerCopyright__text img {
		width: 84vw;
	}

}
/* // */

.homeSection {
	position: relative;
}

/* linkBtn */
.pageBtn {
	width: 260px;
	height: 56px;
	position: relative;
	margin-top: 26px;
	z-index: 10;
	margin: 26px auto 0;
}

.pageBtn__link {
	width: 100%;
	height: 100%;
	line-height: 56px;
	font-size: 14px;
	letter-spacing: 0.05em;
	text-decoration: none;
	/*background: linear-gradient(to right, #98ab6f, #b0dd50 100%);*/
	background-color: #b68f61;
	border-radius: 5px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.pageBtn {
		width: 50vw;
    	height: 10vw;
	}
	
	.pageBtn__link {
		font-size: 3.2vw;
    line-height: 10vw;
	}
}

/* section title */
.home__heading {
	margin-bottom: 60px !important;
}

.homeHeading {
	position: relative;
	margin-bottom: 30px;
	font-weight: bold;
}

.homeHeading__textImage {
	width: 38px;
	margin: auto;
    margin-bottom: 6px;
}

.homeHeading__textMain {
	font-size: 36px;
    letter-spacing: 0.1em;
    font-weight: 500;
	font-family: "Noto Serif JP", serif;
}


@media screen and (max-width: 767px) {
	.home__heading {
		margin-bottom: 7vw !important;
	}
	
	.homeHeading {
		margin-bottom: 5vw;
	}
	
	.homeHeading__textImage {
    width: 10vw;
    margin-bottom: 1vw;
}
	
	.homeHeading__textMain {
		font-size: 5vw;
	}
	
	.homeHeading__textSub {
    font-size: 3vw;
    height: 3vw;
		margin-top: -3vw;
		margin-top: 4px;
		line-height: 3vw;
		vertical-align: middle;
		display: block;
        padding: 0;
		text-align: center;
        margin: 4px auto 0;
		margin-top: 1.4vw;
	}
	
	.homeHeading__content::before {
    left: -65vw;
    right: 0;
    width: 20vw;
}
	
	.homeHeading__content::after {
    right: -65vw;
    width: 20vw;
}
	
	.home__heading--bg {
		height: 50vw;
		padding-top: 20vw;
	}
	
	.home__heading__intro {
		font-size: 3.2vw;
	}
}

/* ------------------------------------------ // ------------------------------------------ */

/* ------------------------------------------ top page ----------------------------------- */
.sectionWrap {
	position: relative;
}

.sectionWrap::after {
	content: "";
	position: absolute;
	top: 0;
    left: 0;
    height: 100%;
	width: 100%;
	background-image: linear-gradient(#6e74b7, #f9cdc9);
	background-image: linear-gradient(#7a7fba, #f9cdc9);
	z-index: -10;
}

@media screen and (max-width: 767px) {
	.sectionWrap {
		margin-top: -20vw;
	}
}

/* mv */
.mv {
	height: 100vh;
    position: relative;
    background-size: cover;
	background-position: center;
	background-color: #7c82be;
}

.mv::after {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-image: url(/lunafy/assets/img/mv.png);
	background-size: cover;
	opacity: 0.7;
}

.mv__container {
	padding-top: 425px;
}

.mv__logoImage {
	margin: auto;
    max-width: 1128px;
	width: 100%;
}

.mv__text{
    margin: auto;
	max-width: 620px;
	width: 100%;
	position: relative;
	z-index: 10;
}

mv__textWrap__text--jp {
	font-size: 25px;
}

@media screen and (max-width: 767px) {
	.mv {
		height: 140vw;
	}
	
	.mv::after {
		background-image: url(/lunafy/assets/img/mv-mb.png);
		background-position: center;
	}
	
	.mv__container {
    padding-top: 58vw;
}
	.mv__text {
    width: 88vw;
}
}

.homeSection .homeHeading img {
height: 110px;
margin: auto auto -5px;
}

@media screen and (max-width: 767px) {
	
	.homeSection .homeHeading img {
        height: 10vw !important;
        width: auto;
        margin: 0 auto !important;
    }
	
}

/* about */
.homeAbout {
/*background-color: #808080;*/
position: relative;
}

.homeAbout__container, .homeRecruit__container {
padding-top: 70px;
padding-bottom: 0;
position: relative;
}

.homeAbout__container .homeHeading {
margin-bottom: 46px;
z-index: 10;
}

.homeAbout__content__inner {
max-width: 90%;
}

.homeAbout__content__text {
margin-bottom: 140px;
line-height: calc(30 / 16);
letter-spacing: 0.05em;
position: relative;
font-size: 18px;
}

.homeAbout__content__text::after {
content: "";
background-image: url(/lunafy/assets/img/moon.png);
width: 458px;
height: 458px;
background-size: cover;
position: absolute;
top: 0;
left: 0;
right: 0;
margin: auto;
z-index: -1;
}


.homeAbout__content__images {
justify-content: center;
max-width: 1220px;
margin: auto;
}

.homeAbout__content__images__item {
position: relative;
margin-right: 40px;
width: 584px;
height: 250px;
}

.homeAbout__content__images__item div {
background-size: cover;
}

.homeAbout__content__images > .homeAbout__content__images__item:last-child {
margin-right: 0;
}

.homeAbout__content__images__item div {
width: 363px;
width: 100%;
height: 247px;
background-size: cover;
}

@media screen and (max-width: 767px) {
	.homeAbout::before {
		height: 250vw;
	}
	
	.homeAbout::after {
    right: 4.9%;
    top: 80vw;
    width: 40vw;
    height: 9vw;
    left: auto;
}
	
	.homeAbout__container {
		padding: 4vw 4.9% 12vw;
	}
	
	.homeAbout__container .homeHeading {
    margin-bottom: 3vw;
    margin-left: 0;
}
	
	.homeAbout__content__inner {
		max-width: none;
}
	
	.homeAbout__content__text {
		font-size: 3.2vw;
		text-align: left;
		margin-bottom: 17vw;
	}
	
	.homeAbout__content__text::after {
		width: 80vw;
		height: 80vw;
	}
	
	.homeAbout__content__text span {
		font-size: 4vw;
		padding: 0;
}
	
	.homeAbout__content__images {
		flex-wrap: wrap;
	}
	
	.homeAbout__content__images__item {
		margin-right: 0;
		margin-bottom: 4vw;
		width: auto;
		height: auto;
}
	
	.homeAbout__content__images__item div {
        width: 73vw;
        height: 30vw;
    }
	
	.homeAbout__content__images > .homeAbout__content__images__item:last-child {
		margin-bottom: 0;
	}
}

/* strength */
/*
.homeStrength::before, .homeStrength::after {
content: "";
position: absolute;
bottom: 0;
width: 953px;
height: 457px;
z-index: 20;
background-size: cover;
opacity: 0.3;
}
*/

.homeStrength::before, .homeStrength::after {
content: "";
position: absolute;
bottom: 0;
width: 953px;
width: 49.6%;
height: 457px;
z-index: 20;
background-size: cover;
opacity: 0.3;
background-position: right;
}

.homeStrength::after {
background-position: left !important
}

.homeStrength::before {
background-image: url(/lunafy/assets/img/bg-item01.png);
left: 0;
}

.homeStrength::after {
background-image: url(/lunafy/assets/img/bg-item02.png);
right: 0;
}

.homeStrength__container {
max-width: 1000px;
padding: 100px 20px 175px;
}

.homeStrength .homeHeading img {
margin-bottom: -30px !important;
}

.homeStrenght .homeHeading img {
height: 160px;	
}

.strengthList {
position: relative;
z-index: 50;
}

.strengthList__item {
justify-content: space-between;
margin-bottom: 74px;
}

.strengthList__item:last-child {
margin-bottom: 0;
}

.strengthList__item__tbox {
width: 474px;
}

.strengthList__item__tbox__cp {
font-family: "Oswald", sans-serif;
font-size: 25px;
margin-top: 10px;
margin-bottom: 25px;
}

.strengthList__item__tbox__cp__jp{
font-family: "Noto Sans JP", sans-serif;
font-size: 12px;
margin-top: 7px;
}

.strengthList__item__tbox__title{
font-family: "Noto Sans JP", sans-serif;
font-size: 16px;
font-weight: bold;
margin-bottom: 15px;
}

.strengthList__item__tbox__text {
font-size: 14px;
font-family: "Noto Sans JP", sans-serif;
line-height: 1.7;
}

.strengthList__item__image {
width: 400px;
height: 317px;
background-size: cover;
border-radius: 10px;
}

@media screen and (max-width: 767px) {
	.homeStrength::before, .homeStrength::after {
		width: 50vw;
		height: 30vw;
		opacity: 0.3;
}
	
	.homeStrength__container {
    	padding: 8vw 4.9% 28vw;
}
	
	
	.homeStrength .homeHeading img {
		margin-bottom: -2.4vw !important;
	}
	
	.strengthList__item {
		flex-wrap: wrap;
	}
	
	.strengthList__item__image {
		width: 100%;
		height: 55vw;
}
	
	.strengthList__item__tbox {
    	width: 100%;
		order: 2;
}
	
	.strengthList__item__tbox__cp {
		font-size: 3.8vw;
		margin-top: 1vw;
		margin-bottom: 3vw;
}
	
	.strengthList__item__tbox__cp__jp {
		font-size: 2.4vw;
		margin-top: 0.4vw;
}
	
	.strengthList__item__tbox__title {
		font-size: 3.2vw;
		margin-bottom: 1vw;
}
	
	.strengthList__item__tbox__text {
    	font-size: 3vw;
}
}

/* company */
.homeCompany {
background-color: #171a29;
}

.homeCompany__container {
/*max-width: 93%;*/
max-width: 820px;
margin: auto;
padding: 85px 20px 120px;
padding-top: 70px;
position: relative;
}

.homeCompany__heading {
margin-bottom: 0 !important;
position: relative;
z-index: 10;
}

.homeCompany__heading .homeHeading {
margin-bottom: 20px;
}

.homeCompany .homeHeading img {
margin-bottom: -30px;
}

.homeCompany__content {
position: relative;
z-index: 10;
}

.homeCompany__content::after {
content: "";
background-image: url(/lunafy/assets/img/moon.png);
width: 458px;
height: 458px;
background-size: cover;
position: absolute;
top: -160px;
left: 54px;
right: 0;
margin: auto;
z-index: -1;
}

.homeCompany__content__table {
max-width: 1150px;
width: 100%;
margin: auto;
border-collapse: collapse;
}

.homeCompany__content__table__th {
width: 17.4%;
min-width: 185px;
text-align: left;
font-weight: normal;
color: #fff;
height: 120px;
/* vertical-align: top; */
position: relative;
border-bottom: solid 1px #fff;
/* padding-bottom: 48px; */
text-align: center;
}

.homeCompany__content__table__td {
width: calc(100% - 17.4%);
padding: 0 0 0 24px;
font-weight: normal;
color: #fff;
/*vertical-align: top;*/
border-bottom: solid 1px rgba(241, 241, 241, 0.3);
}

@media screen and (max-width: 767px) {	
	.homeCompany::after {
    right: 4.9%;
	left: auto;
    /* bottom: 0vw; */
    top: 119vw;
    height: 9vw;
    width: 42vw;
	}
	
	.homeCompany__container {
    padding: 12vw 4.9% 20vw;
}
	
	.homeCompany__heading {
    margin-bottom: 8vw;
	}
	
	.homeCompany__heading .homeHeading{
    margin-bottom: 3vw;
    margin-left: 0;
}
	
	.homeCompany__heading .homeHeading img {
	height: 15vw;
    width: auto;
    margin: 0;
	}
	
	.homeCompany .homeHeading img {
		margin-bottom: -2.4vw !important;
	}
	
	.homeCompany__heading__intro__text {
		font-size: 3.2vw;
    	text-align: left;
	}
	
	.homeCompany__content {
		padding: 0;
	}
	
	.homeCompany__content__table__th {
		min-width: 0;
    width: 18vw;
		padding: 4vw 0;
    padding-left: 0;
    font-size: 3.2vw;
		height: auto;
}
	
	.homeCompany__content__table__td {
    width: calc(100% - 36.9%);
    padding: 4vw 4vw;
    font-size: 3.2vw;
    /* width: 26vw; */
}
}

/* contact */
.homeContact {
position: relative;
background-size: cover;
background-position: center;
border-bottom: solid 1px #fff;
background-color: #7c7db9;
background-color: #7a7fba;
background-image: linear-gradient(360deg, #7a7fba, #f9cdc9);
}

.homeContact__container {
/*max-width: 93%;
max-width: 1920px;*/
margin: auto;
padding: 85px 0 120px;
position: relative;
z-index: 10;
}

.homeContact__heading {
margin: 0 auto 30px !important;
}

.homeContact__heading .homeHeading {
margin-bottom: 50px;
}

.contactForm {
max-width: 1150px;
margin: auto;
padding: 0;
}

.contactForm__table {
border-spacing: 0 26px;
margin: auto;
}

.contactForm__table__th {
width: 185px;
width: 280px;
width: 177px;
text-align: left;
/*letter-spacing: 0.5em;*/
font-size: 14px;
font-weight: normal;
position: relative;
color: #fff;
}

.contactForm__table__td input {
	width: 550px;
	width: 464px;
    height: 35px;
    background-color: #fff;
    border-radius: 5px;
}

.contactForm__table__td textarea {
	width: 100%;
	height: 250px;
	border-radius: 5px;
	background-color: #fff;
}

.contactForm__submitWrap {
    width: 173px;
    height: 32px;
	background-color: #3ea9e5;
    line-height: 32px;
    font-size: 12px;
    color: #fff;
	letter-spacing: 1px;
	position: relative;
	margin: auto;
	border-radius: 5px;
	margin-left: 430px;
}

.contactForm .contactForm__submitWrap input[type="submit"] {
	width: 100%;
	height: 32px;
    background-color: #b68f61;;
	text-align: center;
}

.contactForm__table__th__required {
    width: 40px;
    height: 20px;
    line-height: 20px;
    background-color: #5e5555;
    color: #fff;
    font-size: 10px;
    text-align: center;
    /*letter-spacing: 0.05em;*/
    position: absolute;
    right: 14px;
    top: 0;
    bottom: 0;
    margin: auto;
	font-weight: bold;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
    text-align: center;
    color: #fff;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #ffb900;
    color: #fff;
    text-align: center;
}

@media screen and (max-width: 767px) {
	.homeContact::after {
        right: 4.9%;
        left: auto;
        /* bottom: 0vw; */
        top: 245vw;
        height: 9vw;
        width: 59vw;
        top: auto;
        bottom: 210vw;
    }
	
	.homeContact__heading .homeHeading {
		margin: 0 0 3vw;
	}
	
	.homeContact__heading .homeHeading img {
		height: 15vw;
		width: auto;
		margin: 0;
		width: auto;
	}
	
	.homeContact__container {
    max-width: none;
    padding: 12vw 4.8% 20vw;
    margin: auto;
}
	
	.homeContact__heading {
    position: relative;
		margin-bottom: 0 !important;
	}
	
	.homeContact__heading__intro__text {
	font-size: 3.2vw;	
		text-align: left;
	}
	
	.contactForm {
    padding: 4vw 0 6vw 0;
}
	
	.contactForm__table {
		width: 100%;
    	border-spacing: 0 4vw;
}
	
	.contactForm__table__th,
	.contactForm__table__td {
		display: block;
		width: 100%;
		font-size: 3.2vw;
	}
	
	.contactForm__table__th {
    font-size: 3.2vw;
    width: 100%;
		margin-bottom: 1vw;
}
	
	.contactForm__table__td input {
    width: 60%;
    height: 55px;
    border-radius: 5px;
    height: 10vw;
    width: 100%;
}
	
	 .contactForm__table__th__required {
        position: static;
        display: inline-block;
        vertical-align: middle;
        margin-left: 2vw;
        font-size: 2.6vw;
        width: 11vw;
        height: 5.4vw;
		 line-height: 5.4vw;
    }
	
	.contactForm__submitWrap, .contactForm__submitWrap p, .contactForm .contactForm__submitWrap input[type="submit"] {
    width: 30vw;
    height: 9vw;
	margin: 0;
	font-size: 3.2vw;
	}
}
/* ------------------------------------------ // ------------------------------------------ */
