@charset "UTF-8";
body {
	margin: 0;
	height: 100vh;
	background: linear-gradient(to bottom, #f7fbf7, #e3ece3) no-repeat fixed center / cover;
}

.loading {
    width: 100%;
    height: 100%;
    background: #f7fbf7;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
}
.loader {
    position: fixed;
    top: 50vh;
    left: 0;
    height: 2px;
    background: #00352c;
    width: 0;
    animation: loadProgress 5s ease-out forwards;
}

@keyframes loadProgress {
    0% {
        width: 0%;
    }
    100% {
        width: 100%;
    }
}

.ly_hdr {background: rgb(247 251 247 / 0.9);}
.ly_kv {
	width: min(70vw,1000px);
	margin: 0 auto;
}
.ly_logo_karakuri{
	width: min(50vw,800px);
	margin: 100px auto 5vw;
}
.ly_kvPart {
	position: absolute;
	display: block;
}
.ly_kvPart.bird_o {
	top: 20vw;
	left: 12vw;
	width: 12vw;
	height: auto;
}
.ly_kvPart.bird_b {
	top: 65vw;
	left: 73vw;
	width: 16vw;
	height: auto;
}
/*SP*/
@media screen and (max-width: 1193px) {
.ly_kvPart.bird_o {}
.ly_kvPart.bird_b {}
}

@keyframes float {
  0%, 100% {transform: translateY(0); }
  50% {transform: translateY(-10px); }
}
.bird_o {animation: float 2s ease-in-out infinite; }
.bird_b {animation: float 2s ease-in-out infinite; animation-delay: 1s; }

.ly_mV {margin-bottom: -5vw; }
.ly_about {padding: 1em 0 0; }
@media screen and (max-width: 666px) {
.ly_mV {margin-bottom: 15vw; }
.ly_kvPart.bird_b {top: 70vw; }
.ly_about {padding: 0; }
}
h2.el_aboutTxt {
	margin-top: 3em;
	margin-bottom: 1em;
	font-size: 20px;
	line-height: 1.666;
	letter-spacing: .15em;
	color: var(--key-color);
	font-feature-settings: "palt";
	text-shadow:
    1px 0 0 #f7fbf7,
   -1px 0 0 #f7fbf7,
    0 1px 0 #f7fbf7,
    0 -1px 0 #f7fbf7,
    1px 1px 0 #f7fbf7,
   -1px -1px 0 #f7fbf7,
    1px -1px 0 #f7fbf7,
   -1px 1px 0 #f7fbf7;
}


.el_aboutTtl {
	position: absolute;
	top: 20vw;
	right: 3em;
	font-size: 25px;
	writing-mode: vertical-rl;
	text-orientation: upright;
	width: unset;
	height: 60vh;
}

.el_aboutTtl_pc {
	display: block;
	margin-bottom: 1em;
	font-size: 20px;
	line-height: 1.666;
	letter-spacing: .15em;
	color: var(--key-color);
	font-feature-settings: "palt";
	text-shadow:
    1px 0 0 #f7fbf7,
   -1px 0 0 #f7fbf7,
    0 1px 0 #f7fbf7,
    0 -1px 0 #f7fbf7,
    1px 1px 0 #f7fbf7,
   -1px -1px 0 #f7fbf7,
    1px -1px 0 #f7fbf7,
   -1px 1px 0 #f7fbf7;
}
@media screen and (min-width: 666px) {
.el_aboutTtl_pc {display: none; }
}

@media screen and (max-width: 666px) {
.ly_kv {
	width: 90vw;
	padding-top: 30px;
}
.ly_kvPart.bird_o {
	top: 23vw;
	left: 5vw;
	width: 18vw;
}
.ly_kvPart.bird_b {
	top: 85vw;
	left: 73vw;
	width: 20vw;
}
.el_aboutTtl {
	display: none;
	right: .7em;
	font-size: 10px;
	line-height: 1.2;
}
h2.el_aboutTxt {
	font-size: 15px;
}
}
@media screen and (max-width: 1193px) {
.el_aboutTtl {font-size: 15px; }
}
@media screen and (min-width: 1441px){
.el_aboutTtl {right: 6em; }
}



.un_ftrImg {
  overflow: hidden;
  position: relative;
  max-height: 40vh;
}
.un_ftrImg picture {
  display: block;
}
.un_ftrImg img {
  display: block;
  width: 100%;
  height: auto;
  transform: translateY(0);
  clip-path: inset(0 0 55% 0);
}
@media screen and (max-width: 666px) {
.un_ftrImg {max-height: 20vh; }
.un_ftrImg img {clip-path: unset; }
}


.ly_map {
	display: flex;
	gap: 20px;
	align-items: flex-start;
}
.el_map {
	flex: 0 0 40%;
	margin: 0;
}
p.el_map {
	margin: 1.5em 0 0;
	padding: 0;
	font-size: 15px;
}
.el_map img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 15px;
}
.el_notice {
	flex: 0 0 calc(60% - 20px);
	margin: 0;
}
@media (max-width: 666px) {
.ly_map {flex-direction: column; }
.el_map,
.el_notice {flex: 0 0 100%; }
p.el_map {margin: 15px 0 0; padding: 0; }
}