@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/
html {
  font-size: 62.5%;
  /*visibility: hidden;*/
}

body {
	width: 100%;
	font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color:#5C3D25;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	/*font-feature-settings: "palt";*/
	/*text-align: justify;*/
	background:#567b7d;
	line-height:1.6;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


*{-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;}

img{
	width: 100%;
	height: auto;
	-ms-interpolation-mode: bicubic;
}

a{
	text-decoration: none;
	outline: none;
}

a:hover{
	text-decoration: none;
}

header,main,footer {
	width: 100%;
}

footer {
	color: #e7dfda;
}

footer a{
	color: #e7dfda;
}

main{
	contain: paint;
}

#mv{
	overflow: hidden;
}

#mv picture img{
	display: block;
	width: 100%;
	height: auto;
	opacity: 0;
	transform: scale(1);
	animation: mvFadeZoom 1.5s ease-out forwards;
}

/* キーフレーム */
@keyframes mvFadeZoom{
  to{
    opacity: 1;
    transform: scale(1.1);
  }
}
@media (prefers-reduced-motion: reduce){
  #mv picture img{
    animation: none;
    opacity: 1;
    transform: none;
  }
}

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 961px){
	.sp{
		display: none!important;
	}
	
	a.opacity {
		transition-duration: 0.5s;
		transition-property: opacity, color;
	}
	
	a.opacity:hover {
		opacity: 0.7;
	}
	
	a.line {
		display: inline-block;
		position: relative;
	}
	
	a.line::after {
		content: "";
		width: 0;
		height: 1px;
		background: #808080;
		display: inline-block;
		position: absolute;
		bottom: -0.5em;
		left: 0;
		transition: width .5s ease;
	}
	
	a.line:hover::after {
		width: calc(100% + 1em);
	}
	
	a span.hover_slide:after {
		transition: margin-left .35s ease;
	}
	
	a:hover span.hover_slide:after {
		margin-left: 1em!important;
	}
	
	header{
		width: 100%;
		position: relative;
		color: #FFF;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: flex-end;
	}
	
	header div#mv{
		line-height: 0;
	}
	
	header h1{
		width: 104px;
		display: block;
		position: absolute;
		top: 6.9%;
		left: 4%;
		z-index: 5;
	}
	
	header h2{
		width: 100%;
		font-size: 4.7rem;
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.1em;
		text-align: center;
		position: absolute;
		bottom: 5%;
		left: 0;
		z-index: 5;
	}
	
	header h2 small{
		width: 181px;
		display: block;
		margin: 10px auto 0;
	}
	
	div.block {
		padding: 138px 0;
		line-height: 0;
		color: #f1ece9;
		position: relative;
	}
	
	div.block span.deco{
		width: 429px;
		line-height: 0;
		position: absolute;
		z-index: 2;
	}
	
	div.block span.deco.deco01{
		bottom: -89px;
		left: -75px;
	}
	
	div.block span.deco.deco02{
		bottom: -112px;
		right: -150px;
	}
	
	.js-fade-move{
        opacity: 0;
        transform: translate(120px, 120px);
        transition:
        opacity 1.5s ease,
        transform 1.0s ease;
    }
	
	.js-fade-move.is-show{
        opacity: 1;
        transform: translate(0, 0);
    }
	
	div.block div.block_inner{
		width: 850px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		position: relative;
		z-index: 3;
	}
	
	div.block.block02 {
		background: #e7dfda;
		color: #567b7d;
	}
	
	div.block.block02 div.block_inner{
		flex-direction: row-reverse;
	}
	
	div.block div.block_inner div.box{
		width: 338px;
	}
	
	div.block div.block_inner div.box p{
		font-size: 1.4rem;
		line-height: 2.2;
		text-align: justify;
		margin-top: -0.75em;
	}
	
	div.block div.block_inner div.box p + p{
		margin-top: 2.5em;
	}
	
	div.block div.block_inner div.image{
		width: 470px;
	}
	
	section#gallery {
		padding: 95px 0 62px;
		background: #e7dfda;
		color: #567b7d;
	}
	
	section#gallery div.section_inner,
	section#access div.section_inner{
		width: 850px;
		margin: 0 auto;
	}
	
	section#gallery div.section_inner h2,
	section#access div.section_inner h2{
		font-size: 3.8rem;
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.1em;
		text-align: center;
	}
	
	section#gallery div.section_inner ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		line-height: 0;
		margin-top: 84px;
	}
	
	section#gallery div.section_inner ul li.one{
		width: 100%;
	}
	
	section#gallery div.section_inner ul li.two{
		width: 47.6%;
	}
	
	section#gallery div.section_inner ul li.three{
		width: 30%;
	}
	
	section#gallery div.section_inner ul li:nth-child(n + 2){
		margin-top: 40px;
	}
	
	section#access {
		padding: 0 0 72px;
		background: #e7dfda;
		color: #567b7d;
	}
	
	section#access div.section_inner h2 {
		margin-bottom: 24px;
	}
	
	section#access p{
		font-size: 1.4rem;
		line-height: 1.8;
		text-align: center;
	}
	
	section#access figure {
		width: 610px;
		line-height: 0;
		margin: 38px auto 0;
		padding-left: 30px;
	}

	footer {
        padding: 44px 0;
		color: #e7dfda;
    }
	
	footer div.f_block {
		width: 850px;
		margin: 0 auto;
	}
	
	footer div.f_block ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	
	footer div.f_block ul li{
		display: inline-block;
		font-size: 1.3rem;
		line-height: 1.2;
	}
	
	footer div.f_block ul li + li{
		margin-left: 2em;
	}
	
	footer div.f_blockul li a{
		color: #e7dfda;
	}
	
	footer div.f_block p{
		font-size: 1.0rem;
		line-height: 1;
		text-align: center;
		margin-top: 30px;
	}
	
	footer div.f_block p + p{
		margin-top: 1em;
	}
	
	footer div.f_block p a{
		text-decoration: underline;
	}
}


@media screen and (min-width:961px) and (max-width: 1200px){
	
	
	
}
	

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 960px){
	/*360-960px
	font-size: clamp(6.25rem, 17.3vw, 16.62rem);
	font-size: clamp(3rem, 8.31vw, 7.98rem);
	font-size: clamp(2.8rem, 7.75vw, 7.448rem);
	font-size: clamp(2.6rem, 7.2vw, 6.916rem);
	font-size: clamp(2.4rem, 6.65vw, 6.384rem);
	font-size: clamp(2.2rem, 6.09vw, 5.852rem);
	font-size: clamp(2.0rem, 5.54vw, 5.32rem);
	font-size: clamp(1.84rem, 5.1vw, 4.905rem);
	font-size: clamp(1.8rem, 4.98vw, 4.788rem);
	font-size: clamp(1.65rem, 4.58vw, 4.398rem);
	font-size: clamp(1.6rem, 4.43vw, 4.256rem);
	font-size: clamp(1.56rem, 4.33vw, 4.158rem);
	font-size: clamp(1.47rem, 4.08vw, 3.919rem);
	font-size: clamp(1.4rem, 3.87vw, 3.724rem);
	font-size: clamp(1.38rem, 3.83vw, 3.679rem);
	font-size: clamp(1.3rem, 3.6vw, 3.465rem);
	font-size: clamp(1.2rem, 3.32vw, 3.192rem);
	font-size: clamp(1.1rem, 3.27vw, 2.9326rem);
	font-size: clamp(1rem, 2.77vw, 2.66rem);
	font-size: clamp(0.92rem, 2.55vw, 2.45rem);
	font-size: clamp(0.736rem, 2.04vw, 1.962rem);
	*/
	
	.pc{
		display: none!important;
	}
	
	a:hover{
		text-decoration: none;
		opacity: 1;
	}
	
   a.tel[href^="tel:"] {
       pointer-events: auto;
       text-decoration: none;
    }
	
	
	header{
		width: 100%;
		position: relative;
		color: #FFF;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: flex-end;
	}
	
	header div#mv{
		line-height: 0;
	}
	
	header h1{
		width: 18.4vw;
		display: block;
		position: absolute;
		top: 5.4%;
		left: 6.6%;
		z-index: 5;
	}
	
	header h2{
		width: 100%;
		font-size: 2.21rem;
		font-size: clamp(2.21rem, 6.6vw, 6.338rem);
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.08em;
		text-align: center;
		position: absolute;
		bottom: 5%;
		left: 0;
		z-index: 5;
	}
	
	header h2 small{
		width: 34.8vw;
		display: block;
		margin: 3.2vw auto 0;
	}

	div.block {
		padding: 14.8vw 0 35.8vw;
		line-height: 0;
		color: #f1ece9;
		position: relative;
		z-index: 1;
	}
	
	div.block span.deco{
		width: 72vw;
		line-height: 0;
		position: absolute;
		z-index: 2;
	}
	
	div.block span.deco.deco01{
		bottom: -13.3vw;
		left: -7.68vw;
	}
	
	div.block span.deco.deco02{
		bottom: -16vw;
		right: -27vw;
	}
	
	.js-fade-move{
        opacity: 0;
        transform: translate(18vw, 18vw);
        transition:
        opacity 1.2s ease,
        transform 0.8s ease;
    }
	
	.js-fade-move.is-show{
        opacity: 1;
        transform: translate(0, 0);
    }
	
	div.block div.block_inner{
		width: 83.3%;
		margin: 0 auto;
		position: relative;
		z-index: 3;
	}
	
	div.block.block02 {
		background: #e7dfda;
		color: #567b7d;
		padding-bottom: 18.4vw;
	}
	
	div.block div.block_inner div.box p{
		font-size: 1.3rem;
		font-size: clamp(1.3rem, 3.6vw, 3.465rem);
		line-height: 2.2;
		text-align: justify;
	}
	
	div.block div.block_inner div.box p + p{
		margin-top: 2.5em;
	}
	
	div.block div.block_inner div.image{
		margin-top: 7.2vw;
	}
	
	section#gallery {
		padding: 12vw 0 15vw;
		background: #e7dfda;
		color: #567b7d;
		position: relative;
		z-index: 3;
	}
	
	section#gallery div.section_inner,
	section#access div.section_inner{
		width: 89.7%;
		margin: 0 auto;
	}
	
	section#gallery div.section_inner h2,
	section#access div.section_inner h2{
		font-size: 2.76rem;
		font-size: clamp(2.76rem, 7.68vw, 7.38rem);
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.1em;
		text-align: center;
	}
	
	section#gallery div.section_inner ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		line-height: 0;
		margin-top: 10vw;
	}
	
	section#gallery div.section_inner ul li.one{
		width: 100%;
	}
	
	section#gallery div.section_inner ul li.two{
		width: 47.6%;
	}
	
	section#gallery div.section_inner ul li.three{
		width: 30%;
	}
	
	section#gallery div.section_inner ul li:nth-child(n + 2){
		margin-top: 4.1vw;
	}
	
	section#access {
		padding: 0 0 13.8vw;
		background: #e7dfda;
		color: #567b7d;
	}
	
	section#access div.section_inner h2 {
		margin-bottom: 5vw;
	}
	
	section#access p{
		font-size: 1.3rem;
		font-size: clamp(1.3rem, 3.6vw, 3.465rem);
		line-height: 1.8;
		text-align: center;
	}
	
	section#access figure {
		width: 100%;
		line-height: 0;
		margin: 5.3vw auto 0;
	}
	
	footer {
        padding: 9.7vw 0 9.2vw;
		color: #e7dfda;
    }
	
	footer div.f_block {
		width: 89.7%;
		margin: 0 auto;
	}
	
	footer div.f_block ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	
	footer div.f_block nav ul li{
		font-size: 1.1rem;
		font-size: clamp(1.1rem, 3.27vw, 2.9326rem);
		line-height: 1;
	}
	
	footer div.f_block ul li + li{
		margin-left: 2em;
	}
	
	footer div.f_block ul li a{
		color: #e7dfda;
	}
	
	footer div.f_block p{
		font-size: 0.923rem;
		font-size: clamp(0.923rem, 2.56vw, 2.46rem);
		line-height: 1;
		text-align: center;
		margin-top: 7.68vw;
	}
	
	footer div.f_block p + p{
		margin-top: 1em;
	}
	
	footer div.f_block p a{
		text-decoration: underline;
	}
	
}