@charset "utf-8";

@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:#CAA846;
	--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.6rem;
	--common-font-size:16px;
	--common-font-size-s:12px;
	--common-font-weight:700;
	--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;
		--logo-size:300px;
	}
}

.transition{
	transition-duration: .15s;
	transition-property: color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;
	transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;
	transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;
	transition-timing-function: cubic-bezier(.4,0,.2,1);
}

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

@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:-apple-system, BlinkMacSystemFont,'Helvetica Neue','Noto Sans JP',"游ゴシック", YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN", sans-serif; font-size:10px; font-size:1.0rem; line-height:1.6; 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;letter-spacing:0.05rem; }
.font-sans-serif{ font-family:-apple-system, BlinkMacSystemFont,'Helvetica Neue','Noto Sans JP',"游ゴシック", YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN", sans-serif; }
.font-serif{ font-family: 'EB Garamond',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

/*  */


h1,h2,h3,h4,h5,h6{
	font-family: 'EB Garamond',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	letter-spacing:0.1rem;
}

h1{ font-size:31.25px; margin-bottom:calc(31.25px / 2) }
h2{ font-size:25.00px; margin-bottom:calc(25.00px / 2) }
h3{ font-size:20.00px; margin-bottom:calc(20.00px / 2) }
h4,h5,h6{ font-size:16.00px; margin-bottom:calc(16.00px / 2) }

@media screen and (min-width: 900px){
	h1{ font-size:48.83px; margin-bottom:calc(48.83px / 2) }
	h2{ font-size:39.06px; margin-bottom:calc(39.06px / 2) }
	h3{ font-size:31.25px; margin-bottom:calc(31.25px / 2) }
	h4{ font-size:25.00px; margin-bottom:calc(25.00px / 2) }
	h5{ font-size:20.00px; margin-bottom:calc(20.00px / 2) }
	h6{ font-size:16.00px; margin-bottom:calc(16.00px / 2) }
}
main > div,
main > p,
main > span{
	font-size:16.00px;
}

/*  */

br.sp{ display: block; }
br.pc{ display: none; }
@media screen and (min-width: 900px){
	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; }

.img-16-9 {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: calc(9 / 16 * 100%);
}
.img-255-89 {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: calc(89 / 255 * 100%);
}

.img-16-9 > img,
.img-255-89 > img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
}

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

/*  */

.modalArea {
  visibility: hidden;
  opacity : 0;
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: .4s;
  -o-transition: .4s;
  transition: .4s;
}

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

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform:translate(-50%,-50%);
		-ms-transform:translate(-50%,-50%);
			 transform:translate(-50%,-50%);
  width: 80%;
  padding: 10px 30px;
  overflow: auto;
	color: #fff;
	text-align: center;
}

.modalContents{

}

.modalContents h2{
	width:80px;
	margin: 0 auto;
	margin-bottom:calc(var(--form-common-fontsize) * 1.5) ;
}

.modalContents h2 img{
	width: 100%;
}

.modalContents ul{
	list-style: none;
}

.modalContents li{
	display: block;
	margin-bottom:calc(var(--form-common-fontsize) * 1.5) ;
	font-size: 16px;
}

.modalContents li a{
	color: #fff;
}

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

.is-show {
  visibility: visible;
  opacity : 1;
}

/*  */

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

/* */

body{

}

.wrap{
	width: 100%;
	overflow: hidden;
}

.emergency{
	width: 100vw;
	height: 30px;
	line-height: 30px;
	text-align: center;
	background-color: #333;
	position:relative;
	color: #fff;
	font-size:var(--form-common-fontsize);
}
.emergency::after {
	content: "\f00d";
	font-family: FontAwesome;
	position: absolute;
	display:block;
	bottom: 0;
	right: 1.0rem;
}
.emergency a{
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
}
@media screen and (min-width: 900px){
	.emergency{
		height: var(--common-margin);
		line-height: var(--common-margin);
	}
}

header{
	margin-bottom: 40px;
	position: relative;
}
header #header-nav{
	width: 100%;
	background-color: rgba(255, 255, 255, 0.8);
	position:fixed;
	z-index: 9999;
	top:0;
}
header #header-nav:after {
	content: "";
	display: block;
	clear: both;
}

header #header-nav a.brand{
	width: 40px;
	height: auto;
	display: inline-block;
	position:absolute;
	top:10px;
	left: 5px;
}
header #header-nav a.brand span{
	color: #fff;
	fill: #fff;
	display: flex;
  align-items: center;
}
header #header-nav a.brand img{
	width: 100%;
	height: auto;
}
@media screen and (min-width: 900px){
	header{
		margin-bottom: 80px;
	}
	#archive header{
		margin-bottom:0;
	}
	header #header-nav{
		margin-bottom: 5vw;
	}
	#archive header #header-nav{
		margin-bottom:0;
	}
	header #header-nav a.brand{
		width: 80px;
		top:10px;
		left: 10px;
	}
	header #header-nav a.brand img{
		left: 10px;
	}
}
header #header-nav::after {
	content: "";
	display: block;
	clear: both;
}
header #header-nav nav{
	width: 80vw;
	float: right;
}
@media screen and (min-width: 900px){
	header #header-nav nav{
		width: 60vw;
	}
}
header #header-nav nav ul{
	display: flex;
	justify-content:space-between;
	align-items:center;
	position:relative;
	z-index: 0;
	transform: skew(-35deg);
}
header #header-nav nav ul::before{
	content: "";
	position: absolute;
	right: -1px;
	bottom: 0;
	display:block;
	z-index: -1;
	transform: skew(35deg);
	width: 50%;
	height: 100%;
	background-color: #000;
}
header #header-nav nav ul li{
	display: inline-block;
	width:100%;
	text-align: center;
	overflow: hidden;
	border-left: solid 1px #fff;
	background-color: #eee;
	font-size:var(--form-common-fontsize);
}
header #header-nav nav ul li:first-child{
	border-left: none;
}
@media screen and (max-width: 899px){
	header #header-nav nav ul li:nth-last-child(2){
		display:none;
	}
}
header #header-nav nav ul li:last-child{
	background-color: #000;
}

header #header-nav nav ul li a{
	display: block;
	width: 100%;
	height: 100%;
	padding: 10px 0;
	transform: skew(35deg);
	font-size: 10px;
}
@media screen and (min-width: 900px){
	header #header-nav nav ul li a{
		padding: 28.5px 0;
		font-size:var(--form-common-fontsize);
	}
}
header #header-nav nav ul li:last-child a{ color: #fff; }

header #header-visual{
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 0;
}
header #header-visual::before{
	content: "";
	position: absolute;
	display:block;
	width: 100%;
	height: 40px;
	bottom: -20px;
	right: 0;
	z-index: -1;
	background: linear-gradient(115deg, #fff 35vw, #eee 35vw);
}
header #header-visual::after {
   content: "";
   display: block;
   clear: both;
}
#home header #header-visual{
	margin-top: 15vw;
}
header #header-visual .header-image{
	width: 95vw;
}
#archive header #header-imagearea{
	width: 100vw;
	height: auto;
	margin-top: 0;
	position: relative;
}
#archive header #header-imagearea img{
	vertical-align: top;
}
#archive header #header-visual::after{
	display: none;
}
.header-image-copy{
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.3);
	position: absolute;
	z-index: 2;
	top:0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	text-align: center;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
}
.header-image-copy h1{
	font-size:25px;
}
header #header-visual .header-image .slider{
	position: relative;
}
header #header-visual .header-image .slider section{
	width: 100%;
	aspect-ratio: 1 / 2.164;
}
@media screen and (min-width: 900px){
	#home header #header-visual{
		margin-top: 82.3958px;
	}
	header #header-visual .header-image{
		float: right;
	}
	header #header-visual .header-image .slider section{
		width: 100%;
		height: 100%;
		aspect-ratio: 16 / 9;
	}
	.header-image-copy h1{
		font-size:48.83px;
	}
}
header #header-visual .header-image .slider section span{
	display: flex;
  justify-content: center;
  align-items: center;
	flex-direction:column;
	width: 100%;
	height: 100%;
}
header #header-visual .header-image .slider section span h1{
	text-align: center;
	letter-spacing:0.5rem;
	text-indent: 0.5em;
	font-size:calc(48.83px * 2);
}
header #header-visual .header-image .slider section span h1:lang(ja){
	font-size:calc(48.83px * 1);
}
header #header-visual .header-image .slider section span h1 span{
	display: block;
	font-size:25.00px;
	padding-top: 0;
}

header #header-visual .header-image .slider section:nth-child(4) span h1{
	font-size:calc(48.83px / 2);
}
header #header-visual .header-image .slider section:nth-child(4) span h1 span{
	font-size:22.00px;
}
header #header-visual .header-image .slider section:nth-child(5) span h1{
	font-size:calc(48.83px / 2);
}
@media screen and (min-width: 900px){
	header #header-visual .header-image .slider section:nth-child(4) span h1{
		font-size:calc(48.83px * 1);
	}
	header #header-visual .header-image .slider section:nth-child(4) span h1 span{
		font-size:25.00px;
	}
	header #header-visual .header-image .slider section:nth-child(5) span h1{
		font-size:calc(48.83px * 1);
	}
}

header #header-visual .header-image .slider section:nth-child(1){
	background: no-repeat 0 0 url('../img/cafe-sp.jpg');
}
header #header-visual .header-image .slider section:nth-child(2){
	background: no-repeat 0 0 url('../img/restrant-sp.jpg');
}
header #header-visual .header-image .slider section:nth-child(3){
	background: no-repeat 0 0 url('../img/welfare-sp.jpg');
}
header #header-visual .header-image .slider section:nth-child(4){
	background: no-repeat 0 0 url('../img/building-sp.jpg');
}
header #header-visual .header-image .slider section:nth-child(5){
	background: no-repeat 0 0 url('../img/total-sp.jpg');
}
@media screen and (min-width: 900px){
	header #header-visual .header-image .slider section:nth-child(1){
		background: no-repeat 0 0 url('../img/cafe-pc.jpg');
	}
	header #header-visual .header-image .slider section:nth-child(2){
		background: no-repeat 0 0 url('../img/restrant-pc.jpg');
	}
	header #header-visual .header-image .slider section:nth-child(3){
		background: no-repeat 0 0 url('../img/welfare-pc.jpg');
	}
	header #header-visual .header-image .slider section:nth-child(4){
		background: no-repeat 0 0 url('../img/building-pc.jpg');
	}
	header #header-visual .header-image .slider section:nth-child(5){
		background: no-repeat 0 0 url('../img/total-pc.jpg');
	}
}
header #header-visual .header-image .slider section:nth-child(1),
header #header-visual .header-image .slider section:nth-child(2),
header #header-visual .header-image .slider section:nth-child(3),
header #header-visual .header-image .slider section:nth-child(4),
header #header-visual .header-image .slider section:nth-child(5){
	background-size: cover;
	color: transparent;
}

header #header-visual .header-image .slider section.slick-active span h1{
	animation-name:fadeInAnime;
	animation-timing-function:ease;
	animation-fill-mode: forwards;
	animation-duration:2.0s;
	transform: translateZ(0);
}
	@keyframes fadeInAnime{
	  from {
	    opacity: 0;
	  }
	  to {
	    opacity: 1;
			color: #fff;
			text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
	  }
	}
	header #header-visual .header-image .slider section span *{
		display: block;
	}

@media screen and (min-width: 900px){
	header #header-visual::before{
		display: block;
		height: 80px;
		bottom: -80px;
		background: linear-gradient(115deg, #fff 5vw, #eee 5vw);
	}
}

main{
	margin: 0;
	padding: var(--common-blankspace) 0 0;
	font-size:var(--form-common-fontsize);
}

main section{
	margin-bottom: calc(var(--common-margin) * 5);
}

.title-area,
.archive-title-area,
.contents-area,
.archive-noheader-title-area{
	width: 100%;
	margin-top: 0;
	margin-left:auto;
	margin-right:auto;
	text-align: center;
}
.archive-noheader-title-area{
	padding-top:calc(var(--common-margin) * 3);
}

.grayback{
	padding: var(--common-blankspace) 0;
	background-color:#EEEEEE;
}

.grayback + article{
	margin-top: var(--common-blankspace);
}

.grayback > section{
	margin-bottom: 0;
}

.w-90{
	width: 90%;
}
.mw-640,
.mw-780,
.mw-980{
	max-width: 90%;
}
@media screen and (min-width: 900px){
	.mw-640{
		width: 640px;
	}
	.mw-780{
		width: 780px;
	}
	.mw-980{
		width: 980px;
	}
}



.title-area h1{
	margin-bottom: calc(var(--common-margin) / 2);
	text-indent: 0.1rem;
}
.archive-noheader-title-area h1{
	font-size: 20px;
}
@media screen and (min-width: 900px){
	.archive-noheader-title-area h1{
		font-size: 31.25px;
	}
}
.title-area h2{
	font-size: 14px;
	font-weight: 400;
	text-indent: 0.1rem;
	color:#666;
	margin-bottom: var(--common-margin);
	font-family:-apple-system, BlinkMacSystemFont,'Helvetica Neue','Noto Sans JP',"游ゴシック", YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN", sans-serif;
}
.archive-title-area h2{
	font-size: 25.00px;
	font-weight: 700;
	text-indent: 0.1rem;
	color:#000;
	text-align: center;
}
.news-area .title-area h2{
	color:#fff;
}
.title-area p,
.contents-area p{
	margin-bottom: var(--common-margin);
	text-align: left;
}
.title-area p:last-child,
.contents-area p:last-child{
	margin-bottom: 0;
}
.btn{

}
.btn a{
	background-color: #666;
	color:#fff;
	padding: 5px 7.5px;
	transition: all  0.3s ease;
	text-transform:uppercase;
}
.btn a:hover{
	background-color: #000;
}

.btn a::after{
	content: " …";
}

/*  */

.contact-area{
	display: flex;
	flex-direction:row;
	justify-content:space-between;
	gap:0 var(--common-margin);
}
@media screen and (min-width: 900px){
	.contact-area{
	}
}
.contact-area-btn{
	flex: 0 1 50%;
	border: solid #ccc 1px;
	border-radius: 6px;
}
.contact-area-btn a{
	width: 100%;
	height: 100%;
	padding: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content:center;
	font-family: 'EB Garamond',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	letter-spacing:0.1rem;
	font-size: 18px;
	color: #000;
	font-weight: 700;
}
.contact-area-btn a:hover{
	color:#CAA846;
}

/*  */

.warks-list{
	display: flex;
	flex-direction:column;
	flex-wrap:wrap;
	justify-content:flex-start;
}
.warks-list li{
	list-style-type: none;
	display: inline-block;
	flex: 0 1 30%;
	margin-bottom: var(--common-margin);
}
@media screen and (min-width: 900px){
	.warks-list{
		flex-direction:row;
		justify-content:space-between;
	}
}

.warks-list li figure{
	margin-bottom: calc(var(--common-margin) / 2);
}
.warks-list li figure img{
	width: 100%;
}
.warks-list li h3{
	font-size: 18px;
}
.warks-list li p{
	margin-bottom: calc(var(--common-margin) / 2);
}
.warks-list li .btn{
	text-align: right;
}
.warks-list li .btn a{
	background-color: transparent;
	font-size: 12px;
	color: var(--key-font-link-color);
}

.warks-list li .btn a:hover{
	color: var(--key-font-hover-color);
}

/*  */

.works-area{
	width: 100%;
	display: flex;
	flex-direction:row;
	flex-wrap:wrap;
}
@media screen and (min-width: 900px){
	.works-area{
	}
}
.works-area-btn{
	flex: 0 1 calc(50% - calc(var(--common-margin) / 2));
}
.works-area-btn:nth-child(2n){
	margin-left: calc(var(--common-margin));
}
.works-area-btn:nth-child(1),
.works-area-btn:nth-child(2){
		margin-bottom: calc(var(--common-margin));
}
.works-area-btn a{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content:center;
	font-family: 'EB Garamond',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	letter-spacing:0.1rem;
	font-size: 18px;
	color: #000;
	font-weight: 700;
	position: relative;
}
.works-area-btn a:hover::after{
	position: absolute;
	z-index: 2;
	width: 22px;
	height: 22px;
	margin: 0 auto;
	content: "";
	background:url("../img/4850516_arrow_down_download_downloading_save_icon.svg") center center no-repeat;
	display: block;
	text-align: center;
}


.works-area-btn a:hover{
	color:#CAA846;
}

.works-area-btn a img{
	width: 100%;
}

/*  */

.service-list-a{
	margin-bottom: calc(var(--common-margin) * 5);
}

.service-list-b{
		width: 90%;
		margin: 0 auto calc(var(--common-margin) * 5);
		display: flex;
		flex-direction:column;
		flex-wrap:wrap;
		justify-content:flex-start;
}
.service-list-b li{
	list-style-type: none;
	display: inline-block;
	flex: 0 1 45%;
	margin-bottom: var(--common-margin);
}
@media screen and (min-width: 900px){
	.service-list-b{
		flex-direction:row;
		justify-content:space-between;
	}
	.service-list-b li{
		list-style-type: none;
		display: inline-block;
		flex: 0 1 45%;
		margin-bottom: var(--common-margin);
	}
}

.thumbnail-a-btn{
	width: 100%;
	position: relative;
}
.thumbnail-a-btn div{
	width: 95%;
}
.thumbnail-a-btn a{
	width: auto;
	text-align: right;
	position: absolute;
	z-index: 2;
	bottom:calc(var(--common-margin) / -2);
	right:0;
	background-color: #333333;
	padding: 1.0em;
	padding-left: 2.0em;
	font-size: 31.25px;
	font-family: 'EB Garamond',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 600;
	letter-spacing:0.1rem;
	clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
}
.thumbnail-a-btn a strong{
	display: block;
}
.thumbnail-a-btn a span{
	display: block;
	font-size: 16px;
}

.thumbnail-b-btn{
	width: 100%;
	position: relative;
}
.thumbnail-b-btn a{
	width:100%;
		color:#fff;
}
.thumbnail-b-btn a div{
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
	font-size: 31.25px;
	font-family: 'EB Garamond',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
}
.thumbnail-b-btn a div span{
		display: block;
		font-size: 16px;
}

.thumbnail-b-btn a:hover{color: var(--key-font-hover-color);}
.thumbnail-b-btn a::before{
	width: 28%;
	display: block;
	content: "VIEW MORE ...";
	font-size: 10px;
	line-height: 10px;
	position: absolute;
	bottom: 0;
	right:0;
	z-index: 2;
	transform:rotate(-56deg);
	transform-origin: 0 0;
}

.thumbnail-b-btn a::after{
	display: block;
	content: "";
	position: absolute;
	top:0;
	right:0;
	width: 30%;
	height: 100%;
	background-color: rgba(0,0,0,0.7);
	clip-path: polygon(80% 0, 100% 0, 100% 100%, 0% 100%);
}
.thumbnail-b-btn div span{
	display: block;
	font-size: 16px;
}
.thumbnail-b-btn a:hover::before{
		width: 38%;
}
.thumbnail-b-btn a:hover::after{
	width: 40%;
	clip-path: polygon(60% 0, 100% 0, 100% 100%, 0% 100%);
}
.thumbnail-b-btn a::before,
.thumbnail-b-btn a::after,
.thumbnail-b-btn a:hover::before,
.thumbnail-b-btn a:hover::after{
	-webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all  0.3s ease;
}
@media screen and (min-width: 900px){
	.thumbnail-b-btn a::before{
		font-size: 16px;
		line-height: 16px;
	}
}

/*  */

#service-list .contents-area{
	background-color: #000000;
}
#service-list .contents-area a{
	width: 100%;
	height: 100%;
	display: block;
	margin: 0;
	padding: 0;
	position: relative;
}
#service-list .contents-area img{
	width: 100%;
	height: auto;
	aspect-ratio: 255 / 89;
	position: relative;
	opacity: 0.7;
	vertical-align: top;
}
#service-list .contents-area h1{
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.0;
	margin: 0;
	padding: 0;
	color: #fff;
	font-family: 'EB Garamond',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media screen and (min-width: 900px){
	#service-list .contents-area h1{
		font-size: 24px;
	}
}

#service-list-sub{
	width: 90%;
	max-width: 780px;
	margin:0 auto;
	display: flex;
	flex-wrap:wrap;
	justify-content: flex-start;
	gap: var(--common-margin) 0;
}
#service-list-sub section{
	flex: 0 1 100%;
	background-color: red;
	display: flex;
	justify-content: center;
  align-items: center;
}
#service-list-sub section:nth-child(1){
	background-color: #000;
}
#service-list-sub section:nth-child(2){
	background-color: #000;
}
#service-list-sub section a{
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
}
#service-list-sub section a img{
	width: 100%;
}
#service-list-sub h1{
	margin: 0;
	padding: 0;
	line-height: 1;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index: 2;
	color:#fff;
}
#service-list-sub h1::after{
	width: 22px;
	height: 22px;
	margin: 0 auto;
	content: "";
	background:url("../img/4850516_arrow_down_download_downloading_save_icon.svg") center center no-repeat;
	display: block;
	text-align: center;
}
@media screen and (min-width: 900px){
	#service-list-sub{
		flex-wrap:nowrap;
		justify-content: space-between;
		gap: 0 calc(var(--common-margin) * 2);
	}
	#service-list-sub section{
		flex: 0 1 50%;
	}
}

/*  */

.faq{

}
.faq-list{
	text-align: left;
	margin-bottom: var(--common-margin);
}
.faq-list:last-child{
	margin-bottom: 0;
}
.faq-list li{
	list-style-type: none;
}
.faq-list li::before{
	content: "A";
	padding-right: 2.0rem;
	color:#990000;
	font-weight: 700;
	font-size: 20px;
}

.faq-list li:first-child{

}
.faq-list li:first-child::before{
	content: "Q";
	color:#000;
	font-weight: 700;
	font-size: 20px;
}

/*  */

.works-detail-image{}
.works-detail-image ul{
	display: flex;
	flex-wrap:wrap;
	justify-content: flex-start;
	gap: 0 var(--common-margin);
}
.works-detail-image li{
	list-style-type: none;
	margin-bottom:var(--common-margin);
	flex: 0 1 calc(50% - calc(var(--common-margin) / 2));
}
.works-detail-image li:first-child{
	flex: 0 1 100%;
}

/*  */


.works-service-area{
	width: 100%;
	display: flex;
	flex-direction:row;
	flex-wrap:wrap;
}
@media screen and (min-width: 900px){
	.works-service-area{
	}
}
.works-service-area-btn{
	flex: 0 1 calc(50% - calc(var(--common-margin) / 2));
}
.works-service-area-btn:nth-child(2n){
	margin-left: calc(var(--common-margin));
}
.works-service-area-btn:nth-child(1),
.works-service-area-btn:nth-child(2){
		margin-bottom: calc(var(--common-margin));
}
.works-service-area-btn a{
	width: 100%;
	height: 100%;
	font-family: 'EB Garamond',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	letter-spacing:0.1rem;
	font-size: 18px;
	color: #000;
	font-weight: 700;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content:center;
}
.works-service-area-btn a div{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index: 2;
	color:#fff;
}
.works-service-area-btn a:hover div{
	color:#CAA846;
}
.works-service-area-btn a div::after{
	content: "DETAIL HERE …";
	font-size: 12px;
	display: block;
}

/*  */

table.service-detail-tb{
  width: 100%;
	padding: var(--common-margin);
	background-color: #333;
}

table.service-detail-tb th{
  position: relative;
  text-align: left;
  width: 30%;
	color:#fff;
}

table.service-detail-tb th:after{
  display: block;
  content: "";
  width: 15px;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top:calc(50% - 1px);
  right:-15px;
}

table.service-detail-tb td{
  text-align: left;
  padding:7px 0 7px 30px;
  width: 70%;
	color:#fff;
}
table.service-detail-tb th,
table.service-detail-tb td{
	font-size: 12px;
}
@media screen and (min-width: 900px){
	table.service-detail-tb th,
	table.service-detail-tb td{
		font-size: 16px;
	}
}

/*  */

aside{
	margin: 0;
	padding: 0;
	font-size:var(--form-common-fontsize);
}

.news-area{
	padding: var(--common-blankspace) 0;
	background-color:#555555;
	color:#fff;
}

.news-area dl {
	display: flex;
	flex-flow: row wrap;
	width: 90%;
	max-width: 640px;
	margin: 0 auto;
	text-align: left;
}
.news-area dt {
	flex-basis: 30%;
	padding: 10px;
}
.news-area dd {
	flex-basis: 70%;
	padding: 10px;
}
.news-area dd a{color:#fff;}
.news-area dd a:hover{color: var(--key-font-hover-color);}

@media screen and (max-width: 559px) {
	.news-area dl {
		flex-flow: column;
	}
}

/*  */

/*tabの形状*/

.tab{
	font-size: var(--common-font-size-s);
	display: flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	margin: 0;
	margin-bottom: var(--common-margin);
}
@media screen and (min-width: 1025px){
	.tab{
		font-size: var(--common-font-size);
	}
}
.tab li{
	display: inline-block;
	list-style-type: none;
	background:#fff;
	text-align: left;
	padding: calc(var(--common-margin)/2);
}
.tab li a{
	display: block; width: 100%; height: 100%;
	padding: 0;
}
/*liにactiveクラスがついた時の形状*/
.tab li.active a{
	font-weight: var(--common-font-weight);
		padding: 0;
		font-weight: 700;
}

/*エリアの表示非表示と形状*/
.tab-area {
	display: none;/*はじめは非表示*/
	opacity: 0;/*透過0*/
}

/*areaにis-activeというクラスがついた時の形状*/
.tab-area.is-active {
	display: block;/*表示*/
	animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
	animation-duration: 2s;
	animation-fill-mode: forwards;
	text-align: left;
}
  
@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/*  */

table.company_outlinedata_table {
	width: 100%;
	border-collapse: collapse;
  }
  table.company_outlinedata_table th,
  table.company_outlinedata_table td {
	padding: 20px;
	box-sizing: border-box;
	text-align: left;
  }

  @media screen and (max-width: 1025px){
	table.company_outlinedata_table {
	}
  }
  table.company_outlinedata_table tr > td:first-child{
	padding: var(--common-margin);
	width: 20%;
	font-weight: var(--common-font-weight);
  }
  @media screen and (max-width: 1025px){
	table.company_outlinedata_table tr > td:first-child {
	  display: block;
	  width: 100%;
	  border-bottom: none;
	  padding-bottom: 0;
	}
  }
  table.company_outlinedata_table td {
	padding: var(--common-margin);
  }
  @media screen and (max-width: 1025px){
	table.company_outlinedata_table td {
	  display: block;
	  border-bottom: none;
	  width: 100%;
	}
  }/*# sourceMappingURL=table.css.map */

/*  */

footer{
	width: 100%;
	background-color: #333;
}
#footer-nav{
	width: 90vw;
	max-width: 980px;
	display: flex;
	flex-direction:column;
	justify-content:flex-start;
	margin: 0 auto;
	padding: var(--common-margin) 0;
	font-size:var(--form-common-fontsize);
}
#footer-nav .footer-nav-box{
	color:#fff;
	flex: 0 1 30%;
}
#footer-nav .footer-nav-title{
	text-align: center;
	margin: 0 0 var(--common-margin);
	padding: 0;
	color:#ccc;
}
#footer-nav .footer-nav-title.footer-nav-title-txt{
	text-transform:uppercase;
	font-size: 1.8rem;
	font-family: 'Kaisei HarunoUmi';
	letter-spacing:0.15rem;
	text-indent: 0.15em;
	text-align: center;
}
#footer-nav .footer-nav-title img{
	width: 40px;
	height: auto;
}
#footer-nav .footer-nav-box p{
	margin-bottom: 0;
}
#footer-nav .footer-nav-box p:last-of-type{
	margin-bottom: var(--common-margin);
}
#footer-nav .footer-nav-box p a{
	color: #fff;
}
#footer-nav .footer-nav-box p.address-txt{
	text-align: center;
}
#footer-nav ul{
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
	margin: 0 0 var(--common-margin);
	padding: 0;
}
#footer-nav ul li{
	flex: 0 1 50%;
	list-style: none;
	margin-bottom: calc(var(--common-margin) / 2);
}
#footer-nav ul li:last-child{
	margin-bottom:0;
}
#footer-nav ul li a{
	color:#fff;
}
#footer-nav .footer-nav-contact{
	width: 100%;
	margin: 0 0 var(--common-margin);
	padding: calc(var(--common-margin) / 2);
	display: block;
	background-color: #fff;
	text-align: center;
	border-radius:6px;
}
#footer-nav .footer-nav-contact + .footer-nav-contact{
	margin-bottom: 0;
}
#footer-nav .footer-nav-contact a{
	color: #000;
	display: block; width: 100%; height: 100%;
	text-shadow: 2px 2px 4px #ccc;
	letter-spacing: 0.1rem;
	font-size: 1.6rem;
	font-weight: 700;
}
@media screen and (min-width: 900px){
	footer{}
	#footer-nav .footer-nav-title img{
		width: 80px;
		height: auto;
	}
	#footer-nav{
		flex-direction:row;
		justify-content:space-between;
	}
	#footer-nav .footer-nav-title{
		text-align: left;
	}
	#footer-nav .footer-nav-box p.address-txt{
		text-align: left;
	}
}

#copy{
	text-align: center;
	color:#fff;
	background-color: #000;
	margin: 0;
	padding: var(--common-margin) 0;
}
@media screen and (min-width: 900px){
	#copy{
		padding: calc(var(--common-margin) / 2) 0;
	}
}

/*  */

strong.privacy-policy-tutorial{
	display:none;
}