@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;700&display=swap');

:root{--spacing:0.05em;}
*{letter-spacing:var(--spacing);}
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video{
	margin:0;padding:0;border:0;outline:0;vertical-align:baseline;background:transparent;box-sizing:border-box;}
html{font-size:62.5%;}
body{
	font-family:"Noto Sans JP","游ゴシック体",YuGothic,"游ゴシック","Yu Gothic",'ヒラギノ角ゴ ProN W3','Hiragino Sans','Hiragino Kaku Gothic ProN','メイリオ',meiryo,"ＭＳ Ｐゴシック", sans-serif;
	font-size:1.8rem;
	color:#222;
	line-height:1.5;
	-webkit-text-size-adjust:100%;
	max-width:100%;
	min-width:320px;
	text-align:left;
	padding-top:80px;
	/*
	font-feature-settings:"palt";
	-webkit-font-feature-settings:"palt";
	*/
}
h1, h2, h3, h4, h5, h6{font-size:inherit;font-weight:inherit;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
ul{list-style:none;}
blockquote, q{quotes:none;}
blockquote:before, blockquote:after,q:before, q:after{content:'';content:none;}
li{list-style-type:none;}
ins{text-decoration:none;}
mark{font-style:italic;font-weight:bold;}
del{text-decoration:line-through;}
abbr[title], dfn[title]{border-bottom:1px dotted;cursor:help;}
table{border-collapse:collapse;border-spacing:0;}
hr{display:block;height:1px;margin:1em 0;padding:0;border:0;border-top:1px solid #cccccc;}
input, select{vertical-align:middle;margin:0;box-sizing:border-box;}
input,textarea{-webkit-appearance:none;font-family:inherit;box-sizing:border-box;}
input:focus,textarea:focus,select:focus{outline:0;}
button{font-family:inherit;background-color:transparent;border:none;cursor:pointer;outline:none;padding:0;appearance:none;box-sizing:border-box;}
button::-moz-focus-inner{border:0;}
input:placeholder-shown{color:#ccc;}
input::-webkit-input-placeholder{color:#ccc;}
input:-moz-placeholder{color:#ccc;opacity:1;}
input::-moz-placeholder{color:#ccc;opacity:1;}
input:-ms-input-placeholder{color:#ccc;}
pre{white-space:pre-wrap;font-family:inherit;}
img{border:none;vertical-align:bottom;max-width:100%;height:auto;}
small{font-size:75%;}
a{color:#222;margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;text-decoration:none;box-sizing:border-box;outline:none;}
a[href^="tel:"]{cursor:text;}
a:hover{color:#222;}
*:focus-visible,
select:focus-visible{outline:2px solid #222;transition:outline 0s!important;}
.clearfix:after{content:"";clear:both;display:block;}
.en{font-family: "Cinzel", serif;}
.serif{font-family:"Noto Serif JP",serif;}

/* -------------------------------------------------- */
/* header */
/* -------------------------------------------------- */
header{padding:10px 0;background:#000;color:#fff;position:fixed;top:0;left:0;z-index:1000;width:100%;height:80px;}
header a{color:#fff!important;}
header .container{display:flex;align-items:center;justify-content:space-between;height:100%;}
header .ttl{font-size:2rem;font-weight:bold;}
header .link{display:flex;align-items:center;gap:50px;}
header .link .link-tel{font-size:3rem;white-space:nowrap;}
header .link .link-tel small{font-size:2rem;margin-right:10px;}
header .link .link-mail{font-size:1.6rem;font-weight:500;}
header .link .link-mail a:hover{text-decoration:underline;}

/* -------------------------------------------------- */
/* footer */
/* -------------------------------------------------- */
footer{display:flex;align-items:center;justify-content:space-between;padding:46px 50px;gap:20px;}
footer .copyright{font-size:1.2rem;}

/* -------------------------------------------------- */
/* common */
/* -------------------------------------------------- */
.text-center{text-align:center!important;}
.text-right{text-align:right!important;}
.text-left{text-align:left!important;}

.v-sp{display:none!important;}
.v-tablet{display:none!important;}
.v-pc{display:block!important;}

.container{max-width:1340px;padding:0 50px;margin:auto;position:relative;}

.common-ttl01{margin-bottom:60px;}
.common-ttl01 .en{font-size:8rem;display:block;letter-spacing:0;line-height:1;}
.common-ttl01 .serif{font-size:2.6rem;font-weight:500;display:block;margin-top:10px;}

/* -------------------------------------------------- */
/* #block-main */
/* -------------------------------------------------- */
#block-main{padding:90px 0;text-align:center;}
#block-main .logo{margin-bottom:80px;}
#block-main .sub{font-size:2.4rem;display:inline-block;margin-bottom:30px;border-bottom:4px solid #000;padding-bottom:14px;letter-spacing:0.1em;}
#block-main .sub span{display:block;font-weight:bold;margin-top:7px;}
#block-main .ttl{font-size:6.6rem;font-weight:bold;line-height:1.5;letter-spacing:0.1em;}
#block-main .ttl small{font-size:4rem;display:block;}

/* -------------------------------------------------- */
/* #block-about */
/* -------------------------------------------------- */
#block-about{text-align:center;padding:0 50px;}
#block-about .inner{max-width:1340px;margin:auto;padding:100px 50px 0;background:url(../img/about_back.jpg) no-repeat center top #fdf2ea;background-size:100% auto;margin-bottom:150px;position:relative;}
#block-about .inner::after{content:"";display:block;width:100%;height:150px;background:url(../img/about_back02.png) no-repeat center bottom;background-size:100% 100%;position:absolute;top:calc(100% - 1px);left:0;}
#block-about .ttl{font-size:4rem;font-weight:500;line-height:1.3;margin-bottom:30px;}
#block-about .ttl span{font-size:5.6rem;color:#da4d3c;}
#block-about .txt01{font-size:2.2rem;line-height:2;}
#block-about .img{margin:60px -50px 30px;}
#block-about .txt02{font-size:3rem;font-weight:bold;line-height:1.8;}
#block-about .txt02 .strong{font-size:4rem;border-bottom:5px solid #db4e3d;margin:0.1em auto 0.2em;display:inline-block;line-height:1.5;}

/* -------------------------------------------------- */
/* #block-process */
/* -------------------------------------------------- */
#block-process{background:url(../img/process_back.jpg) no-repeat center bottom;background-size:100% auto;position:relative;overflow:hidden;}
#block-process::before{content:"";display:block;width:100%;height:20%;position:absolute;top:0;left:0;z-index:1;background:linear-gradient(0deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);}
#block-process .container{display:flex;padding-bottom:90px;position:relative;z-index:2;}
#block-process .container::after{content:"Process";display:block;font-family: "Cinzel", serif;color:#fff;font-size:18rem;opacity:0.2;position:absolute;left:0;bottom:20px;line-height:1;letter-spacing:0;}
#block-process .left{flex:1;position:relative;z-index:2;padding-top:80px;line-height:2.5;}
#block-process .left p{font-size:2.2rem;font-weight:500;font-feature-settings:"palt";-webkit-font-feature-settings:"palt";letter-spacing:0.02em;}
#block-process .right{width:50%;position:relative;z-index:2;text-align:center;}

/* -------------------------------------------------- */
/* #block-flow */
/* -------------------------------------------------- */
#block-flow{background:#4f4441;color:#fff;}
#block-flow .list-flow > li .container{display:flex;gap:90px;padding-top:10px;padding-bottom:10px;}
#block-flow .list-flow > li + li{border-top:1px solid #fff;}
#block-flow .list-flow > li .ttl{font-size:2.8rem;color:#fcebe4;width:13%;padding:35px 0;}
#block-flow .list-flow > li .img{width:40%;align-self:center;}
#block-flow .list-flow > li .txt{flex:1;line-height:2;padding:35px 0;}

/* -------------------------------------------------- */
/* #block-works */
/* -------------------------------------------------- */
#block-works{overflow:hidden;width:100%;background:#fbf4ef;padding:120px 0;}
#block-works .inner{position:relative;position:relative;}
#block-works .inner::before{content:"";display:block;width:calc(100% - 100px);height:calc(100% + 80px);	background:#fff;box-shadow:10px 10px 40px rgba(4,0,0,0.05);position:absolute;left:50px;top:50px;}	
#block-works .slider{width:100%;max-width:1240px;margin-left:auto;margin-right:auto;position:relative;margin-bottom:120px;}
#block-works .slider .item{padding:0 50px;position:relative;z-index:5;}
#block-works .slider .item .info{width:415px;max-width:80%;padding:35px 40px;position:absolute;right:49px;bottom:-95px;background:#fff;z-index:1;}
#block-works .slider .item .info .ttl{font-size:2.2rem;font-weight:bold;line-height:1.4;}
#block-works .slider .item .info .btn{margin-right:-40px;text-align:right;margin-top:35px;}
#block-works .slider .item .info .btn a{padding:15px 20px;display:inline-block;text-align:center;width:240px;max-width:100%;border:1px solid #000;background:#fff;}
#block-works .slider .item .img{position:relative;overflow:hidden;width:100%;height:0;padding-bottom:56.924%;}
#block-works .slider .item .img img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;left:0;top:0;}
#block-works .slider .slick-list{overflow:visible!important;z-index:5;}
#block-works .slider .slick-arrow{position:absolute;width:100px;height:40px;border-radius:100%;border:1px solid #000;font-size:0;background:url(../img/arrow02.png) no-repeat center center;background-size:42px auto;z-index:0;}
#block-works .slider .slick-prev{left:100px;bottom:-80px;}
#block-works .slider .slick-next{left:210px;bottom:-80px;transform:scale(-1,1);}
#block-works .inner02{padding-top:120px;}
#block-works .banner > *{padding:70px 100px;display:flex;align-items:center;gap:20px;background:url(../img/banner_back.jpg) no-repeat center center;background-size:cover;}
#block-works .banner .common-ttl01{margin-bottom:-5px;width:50%;}
#block-works .banner .right{flex:1;}
#block-works .banner .txt{font-size:2.8rem;}
#block-works .banner .tel{font-size:5rem;font-weight:500;padding-top:3px;white-space:nowrap;}
#block-works .banner .tel small{font-size:3.2rem;margin-right:15px;}

/* -------------------------------------------------- */
/* #block-banner */
/* -------------------------------------------------- */
#block-banner{padding:80px 0;}
#block-banner .list-banner{display:flex;flex-wrap:wrap;gap:20px;}
#block-banner .list-banner > li{width:calc((100% - 60px) / 4);}
#block-banner .list-banner > li.col-5{width:calc((100% - 80px) / 5);}

/* -------------------------------------------------- */
/* #block-history */
/* -------------------------------------------------- */
#block-history{padding:90px 0;color:#fff;background:url(../img/history_back.jpg) no-repeat right bottom #000;background-size:500px 267px;}
#block-history .container{display:flex;gap:45px;}
#block-history .left{flex:1;}
#block-history .right{width:35%;padding-left:45px;border-left:1px solid #fff;}
#block-history .ttl{font-size:2.1rem;margin-bottom:30px;}
#block-history .sub-ttl{font-size:1.5rem;margin:-24px 0 30px 0;}
#block-history p{font-size:1.4rem;line-height:2.4;}
#block-history dl{margin-top:12px;}
#block-history dt{font-size:1.4rem;}
#block-history dd{font-size:1.2rem;margin-bottom:12px;}

/* -------------------------------------------------- */
/* #block-contact */
/* -------------------------------------------------- */
#block-contact{padding:90px 0 100px;background:url(../img/contact_back.jpg) no-repeat center center;background-size:cover;color:#fff;}
#block-contact a{color:#fff!important;}
#block-contact .lead{font-size:2rem;margin-bottom:40px;}
#block-contact .flex{display:flex;gap:100px;}
#block-contact .flex > *{flex:1;border-top:1px solid #fff;border-bottom:1px solid #fff;}
#block-contact .flex > * a{padding:32px 35px;width:100%;height:100%;display:flex;align-items:center;justify-content:flex-start;}
#block-contact .item-tel{font-size:4rem;font-weight:500;padding-top:3px;white-space:nowrap;}
#block-contact .item-tel small{font-size:2.6rem;margin-right:15px;}
#block-contact .item-mail{font-size:2.2rem;}
#block-contact .item-mail a{position:relative;padding-right:55px;}
#block-contact .item-mail a::after{content:"";display:block;width:42px;height:9px;background:url(../img/arrow01.png) no-repeat;background-size:contain;position:absolute;right:35px;top:50%;margin-top:-4px;}


/* -------------------------------------------------- */
/* animation */
/* -------------------------------------------------- */
@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,50px,0)}to{opacity:1;transform:translateZ(0)}}
.fadein{animation-duration:1s;animation-fill-mode:both;opacity:0.01;}
.fadein.animated{animation-name:fadeInUp;transition:.6s ease-out;}

/* ======================================================================================================================= */
/* for tablet */
/* ======================================================================================================================= */
@media screen and (min-width:1px) and (max-width:1299px){
	/* -------------------------------------------------- */
	/* #block-works */
	/* -------------------------------------------------- */
	#block-works .slider{max-width:960px;margin-left:auto;margin-right:auto;position:relative;margin-bottom:120px;}
	#block-works .slider .item{padding:0 20px;}
	#block-works .slider .item .info{right:20px;max-width:calc(100% - 300px);}

}
/* ======================================================================================================================= */
@media screen and (max-width:1199px){
	/* -------------------------------------------------- */
	/* #block-works */
	/* -------------------------------------------------- */
	#block-works .banner > *{padding-left:60px;padding-right:60px;}
	#block-works .banner .txt{font-size:2.2rem;}
	#block-works .banner .tel{font-size:4rem;}
}
/* ======================================================================================================================= */
@media screen and (min-width:1px) and (max-width:1099px){
	/* -------------------------------------------------- */
	/* header */
	/* -------------------------------------------------- */
	header .link{gap:25px;}
	header .link .link-tel{font-size:2.4rem;}
	header .link .link-tel small{font-size:1.6rem;margin-right:5px;}
	header .link .link-mail{font-size:1.6rem;}

	/* -------------------------------------------------- */
	/* common */
	/* -------------------------------------------------- */
	.v-pc{display:none!important;}
	.v-tablet{display:block!important;}

	.container{padding:0 6%;}

	/* -------------------------------------------------- */
	/* #block-about */
	/* -------------------------------------------------- */
	#block-about .img{margin-left:-4%;margin-right:-4%;}

	/* -------------------------------------------------- */
	/* #block-process */
	/* -------------------------------------------------- */
	#block-process .left p{font-size:2rem;}

	/* -------------------------------------------------- */
	/* #block-contact */
	/* -------------------------------------------------- */
	#block-contact .flex{gap:20px;}
	#block-contact .item-tel{font-size:3rem;}
	#block-contact .item-tel small{font-size:2rem;margin-right:10px;}

}
/* ======================================================================================================================= */
@media screen and (min-width:1px) and (max-width:999px){
	html{font-size:56%;}

	/* -------------------------------------------------- */
	/* header */
	/* -------------------------------------------------- */
	header .container{flex-direction:column;justify-content:center;align-items:center;padding:0 20px;gap:5px;}
	header .ttl{font-size:1.6rem;white-space:nowrap;margin-top:5px;}
	header .link .link-tel{font-size:2rem;}
	header .link .link-tel small{font-size:1.4rem;}
	header .link .link-mail{font-size:1.4rem;}

	/* -------------------------------------------------- */
	/* #block-main */
	/* -------------------------------------------------- */
	#block-main .sub{font-size:2.2rem;}
	#block-main .ttl{font-size:5.6rem;}
	#block-main .ttl small{font-size:3.6rem;}

	/* -------------------------------------------------- */
	/* #block-about */
	/* -------------------------------------------------- */
	#block-about{padding:0 20px;}
	#block-about .inner{padding:100px 0 0;}
	#block-about .txt02{font-size:2.4rem;}
	#block-about .txt02 .strong{font-size:3rem;}

	/* -------------------------------------------------- */
	/* #block-process */
	/* -------------------------------------------------- */
	#block-process .container{padding-top:60px;padding-bottom:60px;display:block;}
	#block-process .container::after{font-size:20vw;left:6%;bottom:20px;opacity:0.4;}
	#block-process .left{padding-top:0;}
	#block-process .left p{text-align:center;}
	#block-process .right{width:100%;margin:20px 0 0;}

	/* -------------------------------------------------- */
	/* #block-flow */
	/* -------------------------------------------------- */
	#block-flow .list-flow > li .container{gap:35px;}


	/* -------------------------------------------------- */
	/* #block-works */
	/* -------------------------------------------------- */
	#block-works .banner > *{display:block;text-align:center;padding:60px 6%;}
	#block-works .banner .common-ttl01{width:100%;margin-bottom:30px;}

	/* -------------------------------------------------- */
	/* #block-contact */
	/* -------------------------------------------------- */
	#block-contact .lead{font-size:2rem;margin-bottom:40px;}
	#block-contact .flex{display:block;}
	#block-contact .flex > * + *{border-top:0;}

	
}

/* ======================================================================================================================= */
/* for sp */
/* ======================================================================================================================= */
@media screen and (min-width:1px) and (max-width:622px){
	html{font-size:52%;}
	body{font-size:1.6rem;}

	/* -------------------------------------------------- */
	/* footer */
	/* -------------------------------------------------- */
	footer{flex-direction:column-reverse;padding:40px 6%;}

	/* -------------------------------------------------- */
	/* common */
	/* -------------------------------------------------- */
	.v-tablet{display:none!important;}
	.v-sp{display:block!important;}

	.common-ttl01{margin-bottom:30px;}
	.common-ttl01 .en{font-size:5.6rem;}
	.common-ttl01 .serif{font-size:2rem;}

	/* -------------------------------------------------- */
	/* #block-main */
	/* -------------------------------------------------- */
	#block-main{padding:50px 0 40px;}
	#block-main .logo{margin-bottom:50px;}
	#block-main .logo img{max-width:80%;}
	#block-main .sub{font-size:1.8rem;margin-bottom:20px;border-bottom-width:2px;}
	#block-main .ttl{font-size:4rem;}
	#block-main .ttl small{font-size:2.4rem;}

	/* -------------------------------------------------- */
	/* #block-about */
	/* -------------------------------------------------- */
	#block-about{padding:0;}
	#block-about .inner{padding:50px 0 0;margin-bottom:100px;}
	#block-about .inner::after{height:70px;}
	#block-about .ttl{font-size:2.6rem;margin-bottom:15px;}
	#block-about .ttl span{font-size:4.8rem;}
	#block-about .txt01{font-size:2rem;text-align:left;}
	#block-about .img{margin:30px -4% 30px;}
	#block-about .txt02{font-size:1.8rem;letter-spacing:0;}
	#block-about .txt02 .strong{font-size:2.8rem;display:inline;border-bottom-width:3px;}

	/* -------------------------------------------------- */
	/* #block-process */
	/* -------------------------------------------------- */
	#block-process .container{padding-top:10px;}
	#block-process .left p{font-size:1.8rem;}

	/* -------------------------------------------------- */
	/* #block-flow */
	/* -------------------------------------------------- */
	#block-flow .list-flow > li .container{display:block;padding-top:25px;padding-bottom:25px;}
	#block-flow .list-flow > li .ttl{width:100%;padding:0;margin-bottom:10px;}
	#block-flow .list-flow > li .img{width:100%;margin-top:15px;text-align:center;}
	#block-flow .list-flow > li .txt{padding:0;}

	/* -------------------------------------------------- */
	/* #block-works */
	/* -------------------------------------------------- */
	#block-works{padding:60px 0 40px;}
	#block-works .inner::before{width:100%;left:0;top:25px;height:calc(100% + 10px);}
	#block-works .slider{margin-bottom:40px;}
	#block-works .slider .slick-arrow{width:60px;height:40px;background-size:40% auto;}
	#block-works .slider .slick-prev{left:auto;right:85px;bottom:auto;top:-70px;}
	#block-works .slider .slick-next{left:auto;right:15px;bottom:auto;top:-70px;}
	#block-works .slider .item{padding:0 10px;}
	#block-works .slider .item .info{position:static;max-width:100%;width:100%;padding:20px 5px 20px;}
	#block-works .slider .item .info .ttl{font-size:1.8rem;}
	#block-works .slider .item .info .btn{margin:25px auto 0;text-align:center;}
	#block-works .slider .item .info .btn a{padding:10px 15px;max-width:80%;margin:auto;}

	#block-works .inner02{padding-top:40px;}
	#block-works .banner{padding:50px 15px 40px;background-position:85% top;}
	#block-works .banner .common-ttl01{margin-bottom:20px;}
	#block-works .banner .txt{font-size:1.8rem;}
	#block-works .banner .tel{font-size:3.6rem;}
	#block-works .banner .tel small{font-size:1.6rem;margin-right:5px;}

	/* -------------------------------------------------- */
	/* #block-banner */
	/* -------------------------------------------------- */
	#block-banner{padding:45px 0;}
	#block-banner .list-banner{gap:10px;justify-content:center;}
	#block-banner .list-banner > li{width:calc((100% - 10px) / 2);}
	#block-banner .list-banner > li.col-5{width:calc((100% - 20px) / 3);}

	/* -------------------------------------------------- */
	/* #block-history */
	/* -------------------------------------------------- */
	#block-history{padding:60px 0 50px;}
	#block-history .container{display:block;}
	#block-history .right{width:100%;padding-left:0;border-left:0;margin-top:30px;}

	/* -------------------------------------------------- */
	/* #block-contact */
	/* -------------------------------------------------- */
	#block-contact{padding:60px 0;}
	#block-contact .lead{font-size:1.8rem;margin-bottom:30px;}
	#block-contact .flex > * a{padding:20px 10px;}
	#block-contact .item-mail a::after{width:30px;height:6px;margin-top:-3px;right:10px;}


}
@media screen and (min-width:1px) and (max-width:374px){
	html{font-size:46%;}
}