@charset "utf-8";
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,p,blockquote,th,td,main,figure{margin:0;padding:0;margin-block-start:initial;margin-block-end: initial;line-height: initial;}table{font-size:100%;font-family:inherit}fieldset,img{border:0}img,svg,video{vertical-align:middle}address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:400}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%}q:before,q:after{content:''}abbr,acronym{border:0}select,input,textarea{font-size:100%}header,footer,nav,main,section,article,figure,aside,picture{display:block}.clearfix:after,.row:after{content:"";display:table;clear:both}.fl{float:left}.fr{float:right}@media screen and (min-width: 768px),print{.pc_fl{float:left}.pc_fr{float:right}}@media screen and (max-width: 767px){.sp_fl{float:left}.sp_fr{float:right}}.tal{text-align:left!important}.tac{text-align:center!important}.tar{text-align:right!important}@media screen and (min-width: 768px),print{.pc_tal{text-align:left!important}.pc_tac{text-align:center!important}.pc_tar{text-align:right!important}}@media screen and (max-width: 767px){.sp_tal{text-align:left!important}.sp_tac{text-align:center!important}.sp_tar{text-align:right!important}}.m00{margin:0!important}.mb00{margin-bottom:0!important}.mb05{margin-bottom:5px!important}.mb08{margin-bottom:8px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.mb20{margin-bottom:20px!important}.mb25{margin-bottom:25px!important}.mb30{margin-bottom:30px!important}.mb35{margin-bottom:35px!important}.mb40{margin-bottom:40px!important}.mb45{margin-bottom:45px!important}.mb50{margin-bottom:50px!important}.mt00{margin-top:0!important}.mt05{margin-top:5px!important}.mt08{margin-top:8px!important}.mt10{margin-top:10px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt25{margin-top:25px!important}.mt30{margin-top:30px!important}.mt35{margin-top:35px!important}.mt40{margin-top:40px!important}.mt45{margin-top:45px!important}.mt50{margin-top:50px!important}@media screen and (min-width: 768px),print{.pc_m00{margin:0!important}.pc_mb00{margin-bottom:0!important}.pc_mb05{margin-bottom:5px!important}.pc_mb08{margin-bottom:8px!important}.pc_mb10{margin-bottom:10px!important}.pc_mb15{margin-bottom:15px!important}.pc_mb20{margin-bottom:20px!important}.pc_mb25{margin-bottom:25px!important}.pc_mb30{margin-bottom:30px!important}.pc_mb35{margin-bottom:35px!important}.pc_mb40{margin-bottom:40px!important}.pc_mb45{margin-bottom:45px!important}.pc_mb50{margin-bottom:50px!important}.pc_mt00{margin-top:0!important}.pc_mt05{margin-top:5px!important}.pc_mt08{margin-top:8px!important}.pc_mt10{margin-top:10px!important}.pc_mt15{margin-top:15px!important}.pc_mt20{margin-top:20px!important}.pc_mt25{margin-top:25px!important}.pc_mt30{margin-top:30px!important}.pc_mt35{margin-top:35px!important}.pc_mt40{margin-top:40px!important}.pc_mt45{margin-top:45px!important}.pc_mt50{margin-top:50px!important}}@media screen and (max-width: 767px){.sp_m00{margin:0!important}.sp_mb00{margin-bottom:0!important}.sp_mb05{margin-bottom:5px!important}.sp_mb08{margin-bottom:8px!important}.sp_mb10{margin-bottom:10px!important}.sp_mb15{margin-bottom:15px!important}.sp_mb20{margin-bottom:20px!important}.sp_mb25{margin-bottom:25px!important}.sp_mb30{margin-bottom:30px!important}.sp_mb35{margin-bottom:35px!important}.sp_mb40{margin-bottom:40px!important}.sp_mb45{margin-bottom:45px!important}.sp_mb50{margin-bottom:50px!important}.sp_mt00{margin-top:0!important}.sp_mt05{margin-top:5px!important}.sp_mt08{margin-top:8px!important}.sp_mt10{margin-top:10px!important}.sp_mt15{margin-top:15px!important}.sp_mt20{margin-top:20px!important}.sp_mt25{margin-top:25px!important}.sp_mt30{margin-top:30px!important}.sp_mt35{margin-top:35px!important}.sp_mt40{margin-top:40px!important}.sp_mt45{margin-top:45px!important}.sp_mt50{margin-top:50px!important}}.p00{padding:0!important}.pb00{padding-bottom:0!important}.pb05{padding-bottom:5px!important}.pb08{padding-bottom:8px!important}.pb10{padding-bottom:10px!important}.pb15{padding-bottom:15px!important}.pb20{padding-bottom:20px!important}.pb25{padding-bottom:25px!important}.pb30{padding-bottom:30px!important}.pb35{padding-bottom:35px!important}.pb40{padding-bottom:40px!important}.pb45{padding-bottom:45px!important}.pb50{padding-bottom:50px!important}.pt00{padding-top:0!important}.pt05{padding-top:5px!important}.pt08{padding-top:8px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt20{padding-top:20px!important}.pt25{padding-top:25px!important}.pt30{padding-top:30px!important}.pt35{padding-top:35px!important}.pt40{padding-top:40px!important}.pt45{padding-top:45px!important}.pt50{padding-top:50px!important}@media screen and (min-width: 768px),print{.pc_p00{padding:0!important}.pc_pb00{padding-bottom:0!important}.pc_pb05{padding-bottom:5px!important}.pc_pb08{padding-bottom:8px!important}.pc_pb10{padding-bottom:10px!important}.pc_pb15{padding-bottom:15px!important}.pc_pb20{padding-bottom:20px!important}.pc_pb25{padding-bottom:25px!important}.pc_pb30{padding-bottom:30px!important}.pc_pb35{padding-bottom:35px!important}.pc_pb40{padding-bottom:40px!important}.pc_pb45{padding-bottom:45px!important}.pc_pb50{padding-bottom:50px!important}.pc_pt00{padding-top:0!important}.pc_pt05{padding-top:5px!important}.pc_pt08{padding-top:8px!important}.pc_pt10{padding-top:10px!important}.pc_pt15{padding-top:15px!important}.pc_pt20{padding-top:20px!important}.pc_pt25{padding-top:25px!important}.pc_pt30{padding-top:30px!important}.pc_pt35{padding-top:35px!important}.pc_pt40{padding-top:40px!important}.pc_pt45{padding-top:45px!important}.pc_pt50{padding-top:50px!important}}@media screen and (max-width: 767px){.sp_p00{padding:0!important}.sp_pb00{padding-bottom:0!important}.sp_pb05{padding-bottom:5px!important}.sp_pb08{padding-bottom:8px!important}.sp_pb10{padding-bottom:10px!important}.sp_pb15{padding-bottom:15px!important}.sp_pb20{padding-bottom:20px!important}.sp_pb25{padding-bottom:25px!important}.sp_pb30{padding-bottom:30px!important}.sp_pb35{padding-bottom:35px!important}.sp_pb40{padding-bottom:40px!important}.sp_pb45{padding-bottom:45px!important}.sp_pb50{padding-bottom:50px!important}.sp_pt00{padding-top:0!important}.sp_pt05{padding-top:5px!important}.sp_pt08{padding-top:8px!important}.sp_pt10{padding-top:10px!important}.sp_pt15{padding-top:15px!important}.sp_pt20{padding-top:20px!important}.sp_pt25{padding-top:25px!important}.sp_pt30{padding-top:30px!important}.sp_pt35{padding-top:35px!important}.sp_pt40{padding-top:40px!important}.sp_pt45{padding-top:45px!important}.sp_pt50{padding-top:50px!important}}


/* グローバル変数-------------------------------------- */
:root {
	/* color */
	--base-color:#ebe1d3;
	--main-color:#a3764c;
	--bg-color:#facea7;
	--font-color:#231815;
	--line-color:#f7d4b2;
	/* font size pc*/
	--font-18p:0.9vw;
	--font-19p:0.95vw;
	--font-21p:max(12px,1.05vw);
	--font-23p:1.15vw;
	--font-25p:max(16px,1.25vw);
	--font-27p:1.35vw;
	--font-30p:1.5vw;
	--font-34p:1.7vw;
	--font-37p:1.85vw;
	--font-39p:1.95vw;
	--font-101p:5.05vw;
	--font-110p:5.05vw;
	/* font size sp*/
	--font-22s:2.93vw;
	--font-25s:3vw;
	--font-27s:3.6vw;
	--font-31s:3.9vw;
	--font-93s:12.4vw;
	/* font family*/
	--font-min:'Shippori Mincho', serif;
	--font-hiramin:serif;
	/* width */
	--w-100-30:calc(100% - 60px);
	--w-inner:73vw;
	--w-inner-s:88.53vw;
	/* padding */
	--pd-section:10vw 5vw;
	/* transition */
	--tr-op:opacity 0.2s;
	
}

/* viewの幅 -------------------------------------- */
@media screen and (min-width:2001px) {}
@media screen and (max-width:2000px) {}
@media screen and (min-width:1024px) {}
@media screen and (min-width:768px) {}
@media screen and (min-width:375px) {}


/* template.css => テンプレート用CSS -----------*/
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}
html.no-scroll-behavior {scroll-behavior: auto;}
body{
	background-color:var(--base-color);
	font-size: 1.6rem;
	line-height: 2;
	color:var(--font-color);
	word-wrap: break-word;
	overflow-wrap: break-word;
	font-family:游ゴシック,'Yu Gothic',sans-serif;
	font-weight:normal;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
*,*::before,*::after {box-sizing: border-box;}
table {border-collapse: collapse;border-spacing: 0;line-height: 1.7;}
a[href] {color: #000000;text-decoration: underline;outline: none;}
a[href]:hover {text-decoration: none;}
a[href].a_reverse,
.a_reverse a[href] {text-decoration: none;}
@media screen and (min-width: 768px) {
	a[href].a_reverse:hover,.a_reverse a[href]:hover {text-decoration: underline;}
}
img {width: 100%;height: auto;}
label {cursor: pointer;}
input, select, textarea, button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	max-width: 100%;
	margin: 0;
	border-radius: 0;
	vertical-align: middle;
	font-family: inherit;
	outline: none;
	font-size: 100%;
}
::-webkit-input-placeholder {color: #808080;}
:-ms-input-placeholder {color: #808080;}
::-moz-placeholder {color: #808080;}
select::-ms-expand {display: none;}
button {cursor: pointer;}
iframe {max-width: 100%;vertical-align: middle;}
.hidden {display: none;}
.slick-slider * {outline: none;}

/* pc / sp / ----------------------------------------*/
@media screen and (min-width: 768px), print {
	.sp {
		display: none !important;
	}
	.pc_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
	.pc_hidden {
		position: relative;
		overflow: hidden;
		display: block;
		height: 0;
	}
}
@media screen and (max-width: 767px) {
	.pc {
		display: none !important;
	}
	.sp_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
}
@media screen and (min-width: 371px) {
	.sps {
		display: none !important;
	}
}
@media screen and (max-width: 370px) {
	.sps_non {
		display: none !important;
	}
}

/* transition------------------------------ */
@media screen and (min-width: 768px) {
	body.init a[href],body.init a[href]::before,body.init a[href]::after,body.init button,body.init button::before,body.init button::after,body.init .basic_trs,body.init .basic_trs::before,body.init .basic_trs::after,body.init .basic_trs *,body.init .basic_trs *::before,body.init .basic_trs *::after {
		transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;}
	body.init a svg {transition: fill 0.2s ease-in-out;}
}


/* font------------------------------------ */
.fwb {font-weight: 700;}
.fwm {font-weight: 500;}
.fwn {font-weight: 400;}
.f_min{font-family: var(--font-min);}
.f_hiramin{font-family: var(--font-hiramin);}

/* color----------------------------------- */
.c_theme,
.c_theme a {
	color:var(--main-color);
}
.c_white {color: #fff;}
.bg_base{background-color:var(--base-color);}
.bg_color{background-color:var(--bg-color);}

/* display---------------------------------- */
.db {display: block;}
.dib {display: inline-block;}
.d_flex{display: flex;}
.d_grid{display: flex;}

/* position--------------------------------- */
.pos-r {position: relative;}

/* object-fit------------------------------- */
img.of {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
img.of.bg {
	pointer-events: none;
	user-select: none;
	z-index: -1;
}

/* hover------------------------------------- */
.hv_zoom {
	position: relative;
	display: block;
	overflow: hidden;
}
.hv_zoom > * {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: cover;
}
@media screen and (min-width: 768px), print {
	body.init a[href].hv_zoom > *,
	body.init a[href] .hv_zoom > * {
		transition: transform 0.6s, opacity .3s;
	}
	a[href]:hover .hv_zoom.s > * {
		transform: scale(1.03);
	}
	a[href]:hover.hv_zoom > *,
	a[href]:hover .hv_zoom > * {
		transform: scale(1.05);
	}
}


/* w---------------------------------------------- */
.w {
	position: relative;
}
@media screen and (min-width: 768px), print {
	.w {
		width: var(--w-inner);
		margin: 0 auto;
	}
	.w.s {width: 912px;}
	.mw {min-width: 1180px;}
	.xw {max-width:var(--w-inner);
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
}

/* spパディング--------------------------------*/
@media screen and (max-width: 767px) {
	.sp_pd {
		padding-left: 5vw !important;
		padding-right: 5vw !important;
	}
	.sp_full {
		margin-left: -5vw !important;
		margin-right: -5vw !important;
	}
	.sp_full_l {margin-left: -5vw !important;}
	.sp_full_r {margin-right: -5vw !important;}
}

/* アニメーション ----------------------------*/
.mov_show{
	position: Z;
	opacity: 0;
}
/* 下から上にフワッと出る */
.fade_up{
	transform: translate(0, 50px);
  -webkit-transform: translate(0, 50px);
}
.showed{
	opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transition: all 2s ease;
  transition: all 2s ease;
}
.ov_h{overflow: hidden;}

/* フワッとでる---- */
.blur.showed{
	animation-name:blurAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
}
@keyframes blurAnime{
	from {
	filter: blur(10px);
	transform: scale(1.02);
	}
  
	to {
	filter: blur(0);
	transform: scale(1);
	}
  }

/* delay-------*/
.delay-1 {transition-delay: 0.5s;}
.delay-2 {transition-delay: 1.0s;}
.delay-3 {transition-delay: 1.5s;}
.delay-4 {transition-delay: 2s;}

/* header---------------------------------- */
#header{
	position: relative;
	background-color: var(--base-color);
	border-top:var(--font-color) solid 2.3vw;
	}

#header .header_contents{
	position: relative;
	height: 8.75vw;
	width: 100%;
	align-items: center;
	justify-content: center;
}
#header .header_contents .logo{ width: 7.3vw;}

#header .header_contents .sns{
	position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
	align-items: center;
	justify-content: center;
}
#header .header_contents .sns li:not(:first-child) {
	margin-left: 1.7vw;
}
#header .header_contents .sns li{
	width: 2.05vw;
	height: 2.05vw;
}
#header .header_contents .sns li a img{
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	transform: scale(1.0);
	transition-duration: .3s;
}
#header .header_contents .sns li a:hover img{
	transform: scale(1.2);
}

@media screen and (min-width:768px) {
nav{display: none;}
}

/* sp */
@media screen and (max-width:767px) {
	#header{
		border-top:var(--font-color) solid 4vw;
	}
	#header .header_contents{
		height: 21.6vw;
	}
	#header .header_contents .logo{ 
		width:19.73vw;
		z-index: 9999;
	}

		/* nav_btn */
	#header .nav_btn {
		position: absolute;
    right: 7vw;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    z-index: 1000;
	}
	#header .nav_btn a {
		position: relative;
		display: block;
		height: 100%;
	}
	#header .nav_btn::before,
	#header .nav_btn a::before,
	#header .nav_btn a::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 24px;
		margin-top: -1px;
		margin-left: -12px;
		border-top: 2px solid var(--font-color);
		pointer-events: none;
	}
	body.init #header .nav_btn::before,
	body.init #header .nav_btn a::before,
	body.init #header .nav_btn a::after {
		transition: all 0.3s ease-in-out;
	}
	#header .nav_btn a::before {
		transform: translateY(-7px);
	}
	#header .nav_btn a::after {
		transform: translateY(7px);
	}

	/* nav_btn open */
	#header.open .nav_btn::before {
		opacity: 0;
	}
	#header.open .nav_btn a::before {
		transform: translateY(0) rotate(45deg);
	}
	#header.open .nav_btn a::after {
		transform: translateY(0) rotate(-45deg);
	}

	/* nav */
	#header nav {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		padding-top: calc(14vw + 40px);
		background-color:var(--base-color);
		z-index: 999;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	nav .sns_box{
		align-items: center;
		justify-content: center;
		margin-bottom: 60px;
	}
	nav .sns_box li:not(:first-child) {
		margin-left:15px;
	}
	nav .sns_box li{
		width:30px;
		height:30px;
	}
	nav .other li{
		font-size:15px;
		text-align: center;
		padding: 10px;
	}
	nav .other li a{
		text-decoration: none;
	}


	/* open */
	body.init #header nav {
		transition: opacity 0.3s ease-in-out;
	}
	#header nav {
		opacity: 0;
		pointer-events: none;
	}
	#header.open nav {
		opacity: 1;
		pointer-events: auto;
	}
}



/* footer---------------------------------- */
#footer{
	position: relative;
	margin: 3.35vw auto 2.7vw;
    width: 100%;
	font-size: var(--font-18p);
	text-align: center;
	line-height: 1;
}
#footer ul{
	width: calc(100% - 6vw);
	margin: 0 auto 1.75vw;
	padding-bottom: 3vw;
	border-bottom: solid 1px var(--font-color);
	display: flex;
	justify-content: center;
}
#footer ul li:first-child{
	border-left: none;
}
#footer ul li{
	font-size: var(--font-21p);
	padding: 0 2.55vw;
	border-left:solid 1px var(--font-color);
}

#footer ul li a{
	text-decoration: none;
}
/* sp */
@media screen and (max-width: 767px) {
	#footer ul{
		flex-direction: column;
	}
	#footer ul li {
		margin: 1vw;
		border-left: none;
		font-size: var(--font-25s);
	}
	#footer p{
		font-size: 10px;
	}
}

/* privacy-------------------------- */
#privacy{
	border-top: solid 1px;
	margin:0 30px;
	padding: 7vw;
}
#privacy h2{
	font-size: var(--font-25p);
	font-weight: bold;
}
#privacy dd{
	font-size: var(--font-25p);
}
#privacy .section_inner{
	flex-direction: column;
	row-gap:2em;
}