﻿@charset "utf-8";
/*
@media screen and (max-width: 599px){} phone-only
@media screen and (min-width: 600px){} tablet-portrait-up
@media screen and (min-width: 900px){} tablet-landscape-up
@media screen and (min-width: 1200px){} desktop-up
@media screen and (min-width: 1800px){} big-desktop-up
*/

@font-face {
	font-family: number;
	src: local('Helvetica');
	unicode-range: U+0021-003F;
}

:root {
	--key-font-color:#333;
	--key-font-link-color:#666;
	--key-font-hover-color:#002063;
	--key-font-reverse-color:#fff;
	--form-key-color:#ccc;
	--common-font-sans-serif:-apple-system, BlinkMacSystemFont,'Helvetica', sans-serif;
	--common-font-serif:number,'Sorts Mill Goudy', 'Noto Serif JP', "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	--form-common-fontsize:1.0rem;
	--common-blankspace:calc(100vw*0.1);
	--common-margin:calc(20px/2);
	--common-margin-x2:calc(40px/2);
	--common-margin-x3:calc(60px/2);
	--common-margin-x4:calc(80px/2);
	--common-margin-x5:calc(100px/2);
}

@media screen and (min-width: 900px){
	:root {
		--common-margin:20px;
		--common-margin-x2:40px;
		--common-margin-x3:60px;
		--common-margin-x4:80px;
		--common-margin-x5:100px;
	}
}

/*
var(--key-******)
calc(var(--common-******) * 1.5)
*/

@font-face {
	font-family: "CormorantGaramond-Bold";
	font-display: swap;
	src:
	url("CormorantGaramond-Bold.woff2")format("woff2"),
	url("CormorantGaramond-Bold.woff")format("woff"),
	url("CormorantGaramond-Bold.eot")format("eot"),
	url("CormorantGaramond-Bold.ttf")format("truetype")
	;
  }

  @font-face {
	font-family: "CormorantGaramond-Regular";
	font-display: swap;
	src:
	url("CormorantGaramond-Regular.woff2")format("woff2"),
	url("CormorantGaramond-Regular.woff")format("woff"),
	url("CormorantGaramond-Regular.eot")format("eot"),
	url("CormorantGaramond-Regular.ttf")format("truetype")
	;
  }

  @font-face {
	font-family: "NotoSansJP-Bold";
	font-display: swap;
	src:
	url("NotoSansJP-Bold.woff2")format("woff2"),
	url("NotoSansJP-Bold.woff")format("woff"),
	url("NotoSansJP-Bold.eot")format("eot"),
	url("NotoSansJP-Bold.ttf")format("truetype")
	;
  }

  @font-face {
	font-family: "NotoSansJP-Regular";
	font-display: swap;
	src:
	url("NotoSansJP-Regular.woff2")format("woff2"),
	url("NotoSansJP-Regular.woff")format("woff"),
	url("NotoSansJP-Regular.eot")format("eot"),
	url("NotoSansJP-Regular.ttf")format("truetype")
	;
  }

  @font-face {
	font-family: "NotoSerifJP-Bold";
	font-display: swap;
	src:
	url("NotoSerifJP-Bold.woff2")format("woff2"),
	url("NotoSerifJP-Bold.woff")format("woff"),
	url("NotoSerifJP-Bold.eot")format("eot"),
	url("NotoSerifJP-Bold.ttf")format("truetype")
	;
  }

  @font-face {
	font-family: "NotoSerifJP-Regular";
	font-display: swap;
	src:
	url("NotoSerifJP-Regular.woff2")format("woff2"),
	url("NotoSerifJP-Regular.woff")format("woff"),
	url("NotoSerifJP-Regular.eot")format("eot"),
	url("NotoSerifJP-Regular.ttf")format("truetype")
	;
  }

@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 200; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 300; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 400; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold"); font-weight: bold; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 100; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 200; }

*{ margin:0; 	padding:0; 	border:0; }
*, *:after, *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
html,body { height: 100%; }
html { font-size: 62.5%; }
body{ width:100%; font-family: 'Helvetica Neue', "NotoSansJP-Regular","NotoSansJP-Bold", sans-serif; font-style: normal; font-size:10px; font-size:1.0rem; line-height:1.6; font-weight: 400;  font-optical-sizing: auto; color: var(--key-font-color); background-color:#fff; position: relative; left: 0; overflow-x: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-feature-settings: "palt" 1, "trad" 0; -webkit-text-size-adjust: 100%;}
.font-serif{ font-family: "CormorantGaramond-Regular","CormorantGaramond-Bold", "NotoSerifJP-Regular","NotoSerifJP-Bold", serif; }

/*  */

h1{font-size:2.4rem;}
h2{font-size:1.8rem;}
h3{font-size:1.4rem;}
h4{font-size:1.4rem;}
h5{font-size:1.2rem;}
h6{font-size:1.2rem;}

@media screen and (min-width: 768px){
	h1{font-size:3.6rem;}
	h2{font-size:3.0rem;}
	h3{font-size:2.4rem;}
	h4{font-size:1.8rem;}
	h5{font-size:1.4rem;}
	h6{font-size:1.2rem;}
}

h1,h2,h3,h4,h5,h6{
	margin: 0;
	padding: 0;
	font-weight: 400;
}

br.sp{ display: block; }
br.pc{ display: none; }
@media screen and (min-width: 1025px){
	br.sp{ display: none; }
	br.pc{ display: block; }
}

/*  */

a{ 	outline:none; 	-webkit-transition: all 0.3s ease; 	-moz-transition: all 0.3s ease; 	-o-transition: all 0.3s ease; 	transition: all  0.3s ease; }

a:link{color: var(--key-font-link-color);}
a:visited{color: var(--key-font-link-color);}
a:hover{color: var(--key-font-hover-color);}
a:active{color: var(--key-font-hover-color);}

::selection { background:var(--key-font-color); color:var(--key-font-reverse-color); text-shadow: none; }
::-moz-selection { background:var(--key-font-color); color:var(--key-font-reverse-color); text-shadow: none; }

a:link,a:visited,a:active{text-decoration:none;}
a:hover, a:active { outline: 0; text-decoration: none; cursor: pointer;}
a:focus { outline:none; }
a img{border:none;text-decoration:none;}

a.fit { display: block; width: 100%; height: 100%; }

/* */

.img-responsive { width: 100%; max-width: 100%; height: auto;}
.img-responsive-overwrite { margin: 0 auto; }

figure { -webkit-margin-before: 0 !important; 	-webkit-margin-after: 0 !important; 	-webkit-margin-start: 0 !important; 	-webkit-margin-end: 0 !important; }

/* */

body{}
.wrap{
	font-size:1.4rem;
	padding:0;
	margin: 0;
	border-top: solid 9px #002063;
}

header{
	position: relative;
	padding: 20px 0;
	z-index: 999;
}
@media screen and (min-width: 1025px){
	header{
		padding: 50px 0 0;
	}
}

.brand{
	width: 120px;
}
.brand img{
	width: 100%;
}

.header-nav{
	width: 90%;
	max-width:1120px;
	margin:0 auto;
	display: flex;
	justify-content:space-between;
}

.mv{
	width: 90%;
	max-width:1120px;
	margin:0 auto 20px;
	position: relative;
	z-index: 2;
}
.mv__archive{
	width: 100%;
	margin:0 auto 20px;
}

.mv h1{
	position: absolute;
	font-weight: 400;
	display: block;
	margin: 0;
	top: 50%;
	transform: translate(0, -50%);

}
@media screen and (min-width: 1025px){
	.mv,
	.mv__archive{
		margin:0 auto 50px;
	}
	.mv h1{

	}
}

@keyframes bugfix {
  from {
    padding: 0;
  }
  to {
    padding: 0;
  }
}
@-webkit-keyframes bugfix {
  from {
    padding: 0;
  }
  to {
    padding: 0;
  }
}

@media screen and (max-width: 1024px){
	.header-nav > div{
		flex: 0 1 60%;
	}
	#overlay-button {
		position: absolute;
		right: 20px;
		top: 20px;
		padding: 26px 11px;
		z-index: 999999;
		cursor: pointer;
		user-select: none;
		}
		#overlay-button span {
		height: 4px;
		width: 35px;
		border-radius: 2px;
		background-color: #000;
		position: relative;
		display: block;
		transition: all .2s ease-in-out;
		}
		#overlay-button span:before {
		top: -10px;
		visibility: visible;
		}
		#overlay-button span:after {
		top: 10px;
		}
		#overlay-button span:before, #overlay-button span:after {
		height: 4px;
		width: 35px;
		border-radius: 2px;
		background-color: #000;
		position: absolute;
		content: "";
		transition: all .2s ease-in-out;
		}
		#overlay-button:hover span, #overlay-button:hover span:before, #overlay-button:hover span:after {
		background: #000;
		}
	
		input[type=checkbox] {
		display: none; 
		
		}
	
		input[type=checkbox]:checked ~ #overlay {
		visibility: visible; 
		}
	
		input[type=checkbox]:checked ~ #overlay-button:hover span, input[type=checkbox]:checked ~ #overlay-button span {
		background: transparent;
		
		
		}
		input[type=checkbox]:checked ~ #overlay-button span:before {
		transform: rotate(45deg) translate(7px, 7px);
	
		}
		input[type=checkbox]:checked ~ #overlay-button span:after {
		transform: rotate(-45deg) translate(7px, -7px);
	
	
		}


		#overlay {
			height: 100vh;
			width: 100vw;
			background: #fff;
			z-index: 9999;
			visibility: hidden;
			position: fixed;
			top:0;
			left:0;
			display: flex;
			flex-direction:column;
			flex-wrap:wrap;
			justify-content:center;
			align-items:center;
			align-content:center;
			font-size:1.4rem;
		}
		#overlay.active {
	
		}
		#overlay > ul {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		text-align: center;
		padding-left: 0;
		list-style-type: none;
		width: 80%;
		list-style: none;
		}
		#overlay > ul > li > ul{
			display: flex;
			justify-content: center;
			align-items: center;
			flex-direction: column;
			text-align: center;
			padding-left: 0;
			list-style-type: none;
			width: 100%;
			list-style: none;
		}
		#overlay > ul > li,
		#overlay > ul > li > ul >li {
		width: 100%;
		}
		#overlay > ul > li:first-child{
		border-top: solid 1px #ccc;
		}
		#overlay > ul + ul > li:first-child{
			border-top:none;
		}
		#overlay > ul > li > a,
		#overlay > ul > li > ul > li > a {
		color: #333;
		text-decoration: none;
		padding: 10px 0;
		display: block;
		font-size:1.6rem;
		border-bottom: solid 1px #ccc;
		}
		#overlay > ul > li > a:hover
		#overlay > ul > li > ul > li > a:hover {
			color: #000 !important;
		}

}

@media screen and (min-width: 1025px){
	#overlay-input{
		display: none;
	}
	.header-nav > div{
		flex: 0 1 60%;
	}
	header nav{
		width: 100%;
		display: flex;
		flex-direction:column;
		flex-wrap:wrap;
	}
	
	.subnavi__lists{
		order: -1;
		list-style: none;
		text-align: right;
		margin-bottom: 50px;
	}
	
	.subnavi__list{
		display: inline-block;
		line-height: 14px;
	}

	.subnavi__list:last-child{
		margin-left: 10px;
	}

	.subnavi__list:first-child::before,
	.subnavi__list:last-child::before{
		content: '';
		display: inline-block;
		width: 14px;
		height: 14px;
		background-size: contain;
		vertical-align: middle;
		margin-right: 10px;
	}

	.subnavi__list:first-child::before{ background:no-repeat center url("/assets/img/icon-1.png"); }
	.subnavi__list:last-child::before{ background:no-repeat center url("/assets/img/icon-2.svg"); }

	
	.gnavi__lists {
		display: flex;
		list-style: none;
	}
	.gnavi__list {
		width: 25%;
		height: 30px;
		background-color: #fff;
		position: relative;
		transition: all .3s;
	}
	.gnavi__list:hover {
		background-color: #fff;
		border-bottom:solid 1px #1b4059;
	}
	.gnavi__list:not(:first-child)::before {
		content: "";
		width: 1px;
		height: 100%;
		background-color: #fff;
		position: absolute;
		top: 0;
		left: 0;
		transition: all .3s;
	}
	.gnavi__list:hover::before {
		background-color: #eee;
	}
	.gnavi__list a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		text-decoration: none;
		color: #1b4059;
		letter-spacing: 0.05em;
		font-weight: 700;
		transition: all .3s;
	}
	.gnavi__list:hover a {
	}
	
	.dropdown__lists {
		display: none;
		width: 100%;
		position: absolute;
		top: 30px;
		left: 0;
		list-style: none;
	}
	.gnavi__list:hover .dropdown__lists {
		display: block;
	}
	.dropdown__list {
		background-color: #eee;
		height: 30px;
		transition: all .3s;
		position: relative;
	}
	.dropdown__list:not(:first-child)::before{
		content: "";
		width: 100%;
		height: 1px;
		background-color: #eee;
		position: absolute;
		top: 0;
		left: 0;
	}
	.dropdown__list:hover {
		background-color: #ddd;
	}
	.dropdown__list a {
		display: flex;
		justify-content: center;
		align-items: center;
		text-decoration: none;
		position: relative;
		font-size: 1.2rem;
	}
	.dropdown__list a::before {
		content: '';
		display: block;
		width: 6px;
		height: 6px;
		border-top: 2px solid #555;
		border-left: 2px solid #555;
		transform: rotate(135deg);
		position: absolute;
		right: 15px;
		top: calc(50% - 5px);
	}
}


main{
	padding: 0 0 20px;
}
@media screen and (min-width: 1025px){
	main{
		padding: 0 0 50px;
	}
}

.contener{
	padding: 20px 0;
}
@media screen and (min-width: 1025px){
	.contener{
		padding: 50px 0;
	}
}

.contener.concept-bg{
	padding: 100px 0;
}
@media screen and (min-width: 1025px){
	.contener.concept-bg{
		padding: 200px 0;
	}
}

.bg-g{
	background-color:#F3F3F3;
}

.contener__box{
	width: 90%;
	max-width:1120px;
	margin:0 auto;
}

.contener__box__100{
	width: 100%;
	margin:0;
}

.concept-bg{
	background:no-repeat center url("/assets/img/home-bg-sp.png");
	background-size: cover;
}
@media screen and (min-width: 1025px){
	.concept-bg{
		background:no-repeat center url("/assets/img/home-bg-pc.png");
		background-size: cover;
	}
}

article#{}
section{}
aside{}

.concept-box{
	text-align: center;
}
.concept-box h1{
	font-size: 1.8rem;
	margin-bottom: 20px;
}
@media screen and (min-width: 1025px){
	.concept-box h1{
		font-size: 3.6rem;
		margin-bottom: 50px;
		font-weight: 400;
	}
}

.contentslist{
	display: flex;
	flex-flow: wrap;
	justify-content:flex-start;
	align-items:stretch;
	align-content:stretch;
	gap: 20px 0;
}
@media screen and (min-width: 1025px){
	.contentslist{
		flex-flow: row nowrap;
		justify-content:space-between;
		gap: 0 20px;
	}
}

.contentslist__box{
	flex: 0 1 100%;
	border: solid 1px #ccc;
	padding: 10px;
	align-self: stretch;
}
@media screen and (min-width: 1025px){
	.contentslist__box{
		flex: 0 1 25%;
	}
}

.contentslist__box h2{
	margin-bottom: 10px;
	font-size: 1.6rem;
}

.contentslist__box h2::before{
	font-family: "Font Awesome 6 Free";
    font-weight: 700;
    content: "\f219";
    margin-right: 10px;
	font-size: 1.4rem;
	line-height: 1.6rem;
}

.contentslist__box h2.color__1::before{ color:#0081C8; }
.contentslist__box h2.color__2::before{ color:#00A651; }
.contentslist__box h2.color__3::before{ color:#FCB02C; }
.contentslist__box h2.color__4::before{ color:#EE334E; }

.contentslist__box .imgbox{
	margin-bottom: 10px;
}

.contentslist__box p{
	margin-bottom: 10px;
	text-align: center;
}

.contentslist__box ul{
	list-style: none;
	border-top: solid 1px #ccc;
}

.contentslist__box li{
	border-bottom: solid 1px #ccc;
}

.contentslist__box li a{
	display: block;
	padding: 5px 0;
}

.contentslist__box li a::before{
	font-family: "Font Awesome 6 Free";
    font-weight: 700;
    content: "\f054";
    margin-right: 10px;
}

.contentslist__box li a[target="_blank"]::after{
	font-family: "Font Awesome 6 Free";
    font-weight: 700;
    content: "\f08e";
    margin-left: 10px;
}

.ideal{
	display: flex;
	flex-flow: row nowrap;
	justify-content:space-between;
	gap: 0 20px;
	align-items:center;
	align-content:center;
}

.ideal__title{
	text-align: center;
	margin-bottom: 20px;
	position: relative;
	color:#000;
}
.ideal__title::before{
	content: "";
	display: inline-block;
	background:no-repeat 0 0 url(/assets/img/line.svg);
	width: 60%;
	height:8px;
	position: absolute;
	bottom: 0;
	left: auto;
	right:auto;
	margin: 0 auto;
	z-index: -1;
}

@media screen and (min-width: 1025px){
	.ideal__title{
		margin-bottom: 50px;
	}
	.ideal__title::before{
		width: 20%;
	}
}

.bgccc{
	background: rgb(255,255,255);
	background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 30%, rgba(242,242,242,1) 30%, rgba(242,242,242,1) 100%);
}

.ideal > section{
	flex: 0 1 50%;
}
.bgClip{
	background-image: url("/assets/img/textbg.jpg");
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
	text-align: center;
}

.masktext{
	font-size: 200px;
	font-weight: 700;
	line-height: 460px;
}

.ideal__box{}

.ideal__box div + div{
	margin-top: 20px;
}

@media screen and (min-width: 1025px){
	.ideal__box div + div{
		margin-top: 50px;
	}
}

.ideal__box h1{
	font-size: 2.4rem;
	font-weight: 400;
}

.ideal__box h1 small{
	font-size: 2.0rem;
}


.ideal__box h1::before{
	content: '';
	display: inline-block;
	width: 14px;
	height: 14px;
	background-size: contain;
	vertical-align: middle;
	margin-right: 10px;
	background:no-repeat center url("/assets/img/check.png"); 
}

@media screen and (min-width: 1025px){
	.masktext{
		font-size: 700px;
		font-weight: 700;
		line-height: 460px;
	}
	.ideal__box h1{
		font-size: 3.6rem;
		font-weight: 400;
	}
	
	.ideal__box h1 small{
		font-size: 2.6rem;
	}
}

/*  */

.titlearea h1{
	font-size: 2.0rem;
	margin-bottom: 20px;
}

.titlearea p{
	margin-bottom:0;
}

@media screen and (min-width: 1025px){
	.titlearea h1{
		font-size: 2.8rem;
		margin-bottom: 50px;
	}
	
	.titlearea p{
		padding-left:100px;
		margin-bottom:0;
	}
}

/*  */

.service__realestate{
	display: flex;
	flex-flow: column wrap;
	gap: 20px 0;
}

@media screen and (min-width: 1025px){
	.service__realestate{
		flex-flow: row nowrap;
		justify-content:space-between;
		gap: 0 20px;
	}
}

.service__realestate__box{
	flex: 0 1 50%;
	position: relative;
}
.service__realestate__title{
	font-size: 1.6rem;
	margin-bottom: 10px;
}
@media screen and (min-width: 1025px){
	.service__realestate__title{
		font-size: 2.0rem;
	}
}
.service__realestate__box hr{
	width: 5.0rem;
	border: solid 1px #001645;
	margin-bottom: 10px;
	margin-left: -10px;
}

.service__realestate__box p + p{
	margin-top: 10px;
}

@media screen and (min-width: 1025px){
	.service__realestate__box p + p{
		margin-top: 20px;
	}
}

.contact__box{
	background-color: #F3F3F3;
	border: solid 1px #ccc;
	padding: 20px;
}

.contact__box p{
	font-weight: 700;
	color: #001645;
	margin-bottom: 10px;
}

.contact__box p + p{
	font-weight: 400;
	color: #333;
	margin-bottom: 0;
}

/*  */

.cleaning__box{
	margin-bottom: 20px;
}

.cleaning__box h1{
	font-size: 2.0rem;
	margin-bottom: 10px;
}

.cleaning__box h1::before{
	font-family: "Font Awesome 6 Free";
    font-weight: 700;
    content: "\f14a";
    margin-right: 20px;
	font-size: 2.0rem;
	line-height: 2.0rem;
}

.cleaning__box p{}

.contact2__box{
	border: solid 1px #ccc;
	padding: 20px;
	text-align: center;
}

.contact2__box p{
	font-weight: 700;
	color: #001645;
	margin-bottom: 10px;
}

.contact2__box p + p{
	font-weight: 400;
	color: #333;
	margin-bottom: 0;
}

@media screen and (min-width: 1025px){
	.cleaning__box{
		margin-bottom: 50px;
	}
	.cleaning__box h1{
		font-size: 2.6rem;
		margin-bottom: 20px;
	}
}

/*  */

.company__box h1{
	font-size: 2.0rem;
	margin-bottom: 20px;
}
@media screen and (min-width: 1025px){
	.company__box h1{
		font-size: 2.8rem;
		margin-bottom: 50px;
	}
}

.company dl {
	display: flex;
	flex-flow: column;
	width: 100%;
	border-top: 1px solid #ccc;
	}
	.company dt {
	flex-basis: 15%;
	padding: 20px;
	border-bottom: 1px solid #ccc;
	}
	.company dd {
	flex-basis: 85%;
	padding: 20px;
	border-bottom: 1px solid #ccc;
	}
	@media screen and (min-width: 1025px){
		.company dl {
			flex-flow: row wrap;
		}
	}

/*  */

.food__wrap{
	display: flex;
	flex-flow:column wrap;
	gap:20px 0;
}
.food__box{
	flex: 0 1 100%;
}
@media screen and (min-width: 1025px){
	.food__wrap{
		flex-flow: row nowrap;
		gap:0 50px;
	}
	.food__box{
		flex: 0 1 50%;
	}
}

.food__box{
	flex: 0 1 50%;
}

/*  */

footer{
	background-color: #001645;
	color: #fff;
	padding: 20px 0;
}

.footer-block{
	width: 90%;
	max-width: 1120px;
	margin: 0 auto;
}

footer .footer-block nav{
	margin-bottom: 20px;
}
.logo-w{
	margin-bottom: 10px;
}

.footer__navi-lists{
	display: flex;
	flex-flow: row wrap;
	list-style: none;
	gap: 20px 10px;
}
.footer__navi-list{
	flex: 0 1 48.5%;
}
.footer__navi-list > a{
	display: block;
	width: 100%;
	border-bottom: solid 1px #fff;
	margin-bottom: 10px;
	padding-bottom: 10px;
	color: #fff;
}

.footer__subnavi-lists{}
.footer__subnavi-list{
	list-style: none;
}
.footer__subnavi-list > a{
	margin-bottom: 10px;
	color: #fff;
}

.footer__subbox{
	display: flex;
	flex-flow:column wrap;
	justify-content:space-between;
	margin-bottom: 10px;
}

.footer__subbox > p{
	
}

.footer__subbox-navi-lists{

}
.footer__subbox-navi-list{
	display: inline-block;
}


.footer__subbox-navi-list:last-child{
	margin-left: 10px;
}
.footer__subbox-navi-list:first-child::before,
.footer__subbox-navi-list:last-child::before{
	content: '';
	display: inline-block;
	width: 14px;
	height: 14px;
	background-size: contain;
	vertical-align: middle;
	margin-right: 10px;
}

.footer__subbox-navi-list:first-child::before{ background:no-repeat center url("/assets/img/icon-w-1.png"); }
.footer__subbox-navi-list:last-child::before{ background:no-repeat center url("/assets/img/icon-w-2.png"); }

.footer__subbox-navi-list a{
	color: #FFF;
}

.footer-block > address{
	font-style: normal;
	margin-bottom: 20px;
}

footer > hr{
	max-width: 100%;
	border:solid 9px #fff;
}

@media screen and (min-width: 1025px){
	footer{
		padding: 50px 0;
	}
	footer .footer-block nav{
		margin-bottom: 50px;
	}
	.logo-w{
		margin-bottom: 20px;
	}
	.footer__navi-lists{
		flex-flow: row nowrap;
		justify-content:space-between;
		flex-wrap:wrap;
		gap: normal normal;
	}
	.footer__navi-list{
		flex: 0 1 20%;
	}
	.footer__subbox{
		flex-flow:row nowrap;
		margin-bottom: 20px;
	}
	.footer-block > address{
		margin-bottom: 50px;
	}
}







/*  */

/* モーダルCSSここから */
.modalArea {
  visibility: hidden; /* displayではなくvisibility */
  opacity : 0;
  position: fixed;
  z-index: 10; /* サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: .4s;
}

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30,30,30,0.9);
}

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform:translate(-50%,-50%);
  width: 70%;
  height: 250px;
  max-width: 500px;
  padding: 10px 30px;
  background-color: #fff;
  overflow: auto;
}

.closeModal {
  position: absolute;
  top: 0.5rem;
  right: 1rem;
  cursor: pointer;
}

.is-show { /* モーダル表示用クラス */
  visibility: visible;
  opacity : 1;
}
/* モーダルCSSここまで */

/*  */

.form-wrap{
	width:100%;
	margin:50px auto;
	padding:5%;
	text-align: left;
	font-size: var(--form-common-fontsize);
}

button, input, select, textarea {
	font-family:inherit;
	font-size:100%;
	box-sizing: border-box;
	display: block;
}

.form-group label{
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	margin-bottom:calc(var(--form-common-fontsize) * 1.5) ;
}

.form-imputarea input[type="hidden"]{}

.form-imputarea input[type="text"],.form-imputarea input[type="email"],.form-imputarea input[type="date"],.form-imputarea input[type="tel"],.form-imputarea textarea,.form-imputarea select{
	padding:var(--form-common-fontsize);
	border: 1px solid #ccc;
	width: 100%;
	margin-bottom:calc(var(--form-common-fontsize) * 1.5) ;
	color: #000;
	background-color: #fff;
	border-radius: 4px;
}

.form-imputarea input[type="text"]{}
.form-imputarea input[type="email"]{}
.form-imputarea input[type="date"]{}
.form-imputarea input[type="tel"]{}

.form-imputarea input[type="radio"],
.form-imputarea input[type="checkbox"],
.form-imputarea label{ display: inline-block; }

.form-imputarea input[type="radio"],
.form-imputarea input[type="checkbox"]{
	margin-right:var(--form-common-fontsize);
}

.form-imputarea label + input[type="radio"],
.form-imputarea label + input[type="checkbox"]{
	margin-left:var(--form-common-fontsize);
}

.form-imputarea textarea{
	width: 100% !important;
	height: 10.0rem !important;
}

.select-wrap {
	position: relative;
}
.select-wrap::before {
	content: "";
	display: block;
	position: absolute;
	top: var(--form-common-fontsize);
	right: var(--form-common-fontsize);
	width: var(--form-common-fontsize);
	height: var(--form-common-fontsize);
	transform: rotate(45deg);
	background: transparent;
	border-bottom: 3px solid #ccc;
	border-right: 3px solid #ccc;
	pointer-events: none;
}

.form-imputarea select{
	outline:none;
	-moz-appearance: none;
	text-overflow: '';
	vertical-align: middle;
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.form-imputarea select::-ms-expand {
	display: none;
}

select:-moz-focusring { 
	color: transparent; 
}

.form-group input[type="submit"],
.form-group input[type="reset"]{
	display:inline-block;
	padding: var(--form-common-fontsize);
	color: #FFF;
	text-decoration: none;
	text-align: center;
	background-color: var(--form-key-color);
	border-radius: 4px;
	transition: all 0.5s;
}

.form-group input[type="submit"]:hover,
.form-group input[type="reset"]:hover{
	cursor: pointer;
}

.form-group input[type="submit"]{
	padding-left: calc(var(--form-common-fontsize) * 2);
	padding-right: calc(var(--form-common-fontsize) * 2);
	margin-right: calc(var(--form-common-fontsize) * 1);
}

#policy{
	width: 100%;
	height: calc(var(--form-common-fontsize) * 10);
	margin: 0;
	margin-bottom:calc(var(--form-common-fontsize) * 1.5) ;
	padding: var(--form-common-fontsize);
	color: #888;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 4px;
	overflow-y: scroll;
}

#policy h2{ 
	font-size: calc(var(--form-common-fontsize) * 1);
	margin-bottom:calc(var(--form-common-fontsize) * 1) ;
	font-weight: 700;
}
#policy p{
	text-align: left !important;
	font-size: calc(var(--form-common-fontsize) *0.8);
	margin-bottom:calc(var(--form-common-fontsize) * 0.8) ;
}

#mfp_loading,
#mfp_loading_screen,
#mfp_overlay_background,
#mfp_overlay,
#mfp_hidden{
	display: none;
}

.mfp_err[style]{
	margin: 0 0 20px;
	padding: 10px;
	font-size: 10px;
	font-weight: 700;
	border-radius: 4px;
	background-color: var(--form-key-color);
	color:#fff;
}