@charset "utf-8";



/**************************************************
 h2
**************************************************/
h2{
	position: relative;
	width: 100%;
	height: 380px;
	padding-left: 50px;
}
h2 img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
h2 span{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 55%;
	padding: 40px 100px;
	background: rgba(255,255,255,1.0);
	font-size: 2.0rem;
	letter-spacing: 2px;
}
h2 span strong{
	position: relative;
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 7.0rem;
	font-weight: 700;
	letter-spacing: 2px;
	margin-bottom: 40px;
}
h2 span strong::before{
	position: absolute;
	content: '';
	width: 150px;
	height: 5px;
	left: -50px;
	bottom: -19px;
	background: linear-gradient(90deg, #EDE574, #E1F5C4);
}



/**************************************************
 contentsHanger
**************************************************/
#contentsHanger{
	width: 1000px;
	margin: 0 auto;
}



/**************************************************
 article
**************************************************/
article h3{
	position: relative;
	margin: 120px 0 0 0;
	font-size: 3.5rem;
	font-weight: 700;
	letter-spacing: 2px;
	line-height: 1.3;
	padding-left: 50px;
}
article h3::before{
	position: absolute;
	content: '';
	width: 30px;
	height: 5px;
	top: 22px;
	left: 0;
	background: #000000;
}
article h3.style1{margin: 80px 0 0 0;}

article h4{
	margin: 60px 0 0 0;
	padding: 25px;
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.3;
	background: #F7F7F7;
}
article h4.style1{margin: 40px 0 0 0;}

article h5{
	margin: 50px 0 0 0;
	padding: 0 0 20px 0;
	font-size: 2.1rem;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.3;
	border-bottom: 1px solid #000000;
}

article h6{
	margin: 40px 0 0 0;
	padding: 0;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.3;
}

article p{
	font-size: 1.6rem;
	line-height: 1.8;
	padding: 40px 0 0 0;
}
article p.style1{padding: 20px 0 0 0;}
article p strong.style1{
	font-size: 2.2rem;
	font-weight: 700;
	color: #FF4D4D;
}
article p a{
	color: #000000;
	text-decoration: underline;
}
article p a:hover{
	text-decoration: none;
	opacity: 0.5;
}

.imageHanger1{margin-top: 100px;}
.imageHanger2{margin-top: 30px;}
.imageHanger1 img,
.imageHanger2 img{
	display: block;
	margin: 0 auto;
	max-width: 100%;
}

table.style1,
table.style2{
	margin-top: 40px;
	width: 100%;
	border-top: 1px solid #333333;
	border-left: 1px solid #333333;
	font-size: 1.6rem;
	line-height: 1.4;
}
table.style1 th,
table.style2 th{
	padding: 15px;
	background: linear-gradient(90deg, #FAF8DC, #F7FCF0);
	border-bottom: 1px solid #333333;
	border-right: 1px solid #333333;
	white-space: nowrap;
	font-weight: 500;
}
table.style1 td,
table.style2 td{
	padding: 15px;
	border-bottom: 1px solid #333333;
	border-right: 1px solid #333333;
}

.btnHanger{
	margin-top: 100px;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 1px;
	text-align: center;
}
.btnHanger a{
	position: relative;
	color: #000000;
	padding: 0 20px 10px 20px;
}
.btnHanger a:hover{opacity: 0.5;}
.btnHanger a::before{
	position: absolute;
	content: '';
	left: 0;
	bottom: 0px;
	width: 100%;
	height: 1px;
	background-color: #000000;
	-webkit-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
.btnHanger a:hover::before{
	left: 50%;
	width: 0;
	opacity: 0;
}



/**************************************************
 about
**************************************************/
#greeting{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}

.greetingPhoto{
	width: 250px;
	padding-top: 40px;
}
.greetingPhoto img{width: 100%;}

#greeting p{
	/*width: calc(100% - 300px);*/
	width: 100%;
	margin: 0 50px;
}
#greeting p span{
	display: block;
	text-align: right;
	margin-top: 30px;
}

.map{
	margin-top: 40px;
	width: 100%;
	height: 450px;
}



/**************************************************
 concept
**************************************************/
.conceptPhoto{margin-top: 60px;}
.conceptPhoto img{width: 100%;}

.sign{
	display: block;
	text-align: right;
	margin-top: 40px;
}

.obsession{
	position: relative;
	margin: 60px 0 0 0;
}
.obsession:nth-child(2){margin: 80px 0 0 0;}
.obsession dt{
	position: relative;
	width: 55%;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 2px;
	line-height: 1.3;
	padding: 20px 20px 20px 20px;
	background: rgba(255,255,255,0.85);
	z-index: 100;
	border-radius: 1.0rem;
}
.obsession dt::before{
	position: absolute;
	content: '';
	width: 20px;
	height: 20px;
	top: 0;
	left: 0;
	border-top: 1px solid #000000;
	border-left: 1px solid #000000;
}
.obsession dd{
	font-size: 1.6rem;
	line-height: 1.8;
	padding: 50px 30px 30px 30px;
	width: 900px;
	margin: -30px 0 0 100px;
	background: linear-gradient(120deg, #FAF8DC, #F7FCF0);
	border-radius: 1.0rem;
}



/**************************************************
 flow
**************************************************/
.flow:nth-of-type(1){margin: 40px 0 0 0;}
.flow dt{
	position: relative;
	padding: 20px 20px 20px 120px;
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 1px;
	background: linear-gradient(90deg, #5B86E5, #36D1DC);
	color: #FFFFFF;
}
.flow dt span{
	position: absolute;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	width: 100px;
	height: 100%;
	top: 0;
	left: 0;
	color: #FFFFFF;
	background: #000000;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.flow dd{
	position: relative;
	width: 900px;
	left: 100px;
	padding: 30px;
	font-size: 1.6rem;
	line-height: 1.8;
	background: #E7EDFB;
}
.flow:nth-of-type(5) dt{background: linear-gradient(90deg, #45B649, #DCE35B);}
.flow:nth-of-type(5) dd{background: #E3F4E4;}
.flow:nth-of-type(6) dt{background: linear-gradient(90deg, #F7971E, #FFD200);}
.flow:nth-of-type(6) dd{background: #FEF0DD;}
.flow:nth-of-type(7) dt{background: linear-gradient(90deg, #FF4E50, #F9D423);}
.flow:nth-of-type(7) dd{background: #FFE5E5;}
.flow:nth-of-type(8) dt{background: linear-gradient(90deg, #ee0979, #ff6a00);}
.flow:nth-of-type(8) dd{background: #FCDAEB;}



/**************************************************
 works
**************************************************/
#worksIndex ul{
	margin-top: 70px;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}
#worksIndex ul li{
	width: 300px;
	margin: 50px 50px 0 0;
	font-size: 1.6rem;
	line-height: 1.3;
}
#worksIndex ul li:nth-child(3n){margin: 50px 0 0 0;}
#worksIndex ul li a{
	position: relative;
	display: block;
	width: 100%;
	color: #000000;
}
#worksIndex ul li a:hover{opacity: 0.5;}
#worksIndex ul li a div{
	width: 100%;
	height: 300px;
	margin-bottom: 10px;
}
#worksIndex ul li a div img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
#worksIndex ul li a:hover div img{opacity: 1.0;}
#worksIndex ul li a span{
	position: absolute;
	top: -5px;
	left: -5px;
	padding: 5px 15px 7px 15px;
	font-size: 1.4rem;
	line-height: 1.0;
	color: #FFFFFF;
	background: linear-gradient(90deg, #ff5e62, #ff9966);
}

#address{
	margin: 30px 0 0 0;
	font-size: 2.0rem;
	letter-spacing: 1px;
}

#worksInfo{
	margin-top: 50px;
	background: linear-gradient(180deg, #FAF8DC, #F7FCF0);
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#worksInfo div{width: 450px;}
#worksInfo div img{width: 100%;}
#worksInfo p{
	width: 550px;
	padding: 30px 50px;
}

#worksGallery ul{
	position: relative;
	margin-top: 105px;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}
#worksGallery ul::before{
	position: absolute;
	content: '';
	top: -30px;
	left: 0;
	width: 100%;
	height: 1px;
	background: #000000;
}
#worksGallery ul::after{
	position: absolute;
	content: 'Gallery';
	top: -40px;
	left: calc(50% - 100px);
	width: 200px;
	font-family: 'Roboto', sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 1px;
	text-align: center;
	background-color: #FFFFFF;
}
#worksGallery ul li{
	width: 300px;
	margin: 50px 50px 0 0;
	font-size: 1.6rem;
	line-height: 1.3;
}
#worksGallery ul li:nth-child(3n){margin: 50px 0 0 0;}
#worksGallery ul li a{
	position: relative;
	display: block;
	width: 100%;
	color: #000000;
}
#worksGallery ul li a:hover{opacity: 0.5;}
#worksGallery ul li a div{
	width: 100%;
	height: 300px;
	margin-bottom: 10px;
}
#worksGallery ul li a div img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
#worksGallery ul li a:hover div img{opacity: 1.0;}



/**************************************************
 contact
**************************************************/
.contactCopy{
	margin-top: 100px;
	padding: 40px;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 1px;
	background: linear-gradient(90deg, #FAF8DC, #F7FCF0);
	border-radius: 1.0rem;
}

.privacy{
	margin: 40px 0 0 0;
	border: 3px solid #EEEEEE;
	padding: 30px;
	height: 400px;
	overflow-y: auto;
}
.privacy p{padding: 20px 0 0 0;}
.privacy p.intro{padding: 0;}
.privacy ul{
	font-size: 1.6rem;
	line-height: 1.4;
	list-style: disc;
	padding-left: 30px;
}
.privacy ul li{margin-top: 15px;}

.submit a{
	display: block;
	width: 400px;
	margin: 60px auto 0 auto;
	font-size: 2.0rem;
	color: #FFFFFF;
	text-align: center;
	padding: 15px;
	background-color: #000000;
	border-radius: 10.0rem;
}
.submit a:hover{opacity: 0.5;}



/**************************************************
 news
**************************************************/
#newsIndex{
	
}
#newsIndex ul{
	margin-top: 100px;
	font-size: 1.6rem;
	line-height: 1.4;
}
#newsIndex ul li{
	margin-top: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #CCCCCC;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}
#newsIndex ul li:last-child{border-bottom: none;}
#newsIndex ul li span{width: 130px;}
#newsIndex ul li a{
	width: calc(100% - 130px);
	color: #000000;
}
#newsIndex ul li a:hover{opacity: 0.5;}

#update{
	margin-top: 30px;
	padding: 20px 0 0 0;
	font-size: 1.4rem;
	text-align: right;
	border-top: 1px solid #000000;
}

article.news p{padding: 20px 0 0 0;}

.wp-block-image{
	display: block;
	padding: 40px 0 0 0;
	text-align: center;
}
.wp-block-image img{
	max-width: 100%;
	margin: 0 auto;
}
.wp-block-image figcaption{
	font-size: 1.4rem;
	line-height: 1.3;
	margin: 0;
	padding: 0;
}

.wp-block-embed-youtube{
	margin: 0 auto;
	padding: 40px 0 0 0;
	width: 100%;
	/*max-width: 640px;*/
}
.wp-block-embed-youtube div{
	position: relative;
  	width: 100%;
  	padding-top: 56.25%;
}
.wp-block-embed-youtube div iframe{
	position: absolute;
  	top: 0;
  	right: 0;
  	width: 100% !important;
  	height: 100% !important;
}


