@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap');
@import url("https://use.typekit.net/lkg7mng.css");

html {
	overflow-x: hidden;
}

body {
	font-family: "游ゴシック体", YuGothic, "system-ui";
	color: #333;
/*
	display: flex;
*/
	height:100%;
}

#wrap {
	position: relative;
	width:100%;
	margin: 0 auto !important;
	height:100%;
	z-index: 101;
	overflow-x: hidden;
}
#site-head {
	width:100%;
	position:fixed;
	height:75px;
/*
	background-color: #fff;
*/
	z-index:9999;
	display:flex;
	justify-content: space-between;
	align-items: center;
	overflow-x: hidden;
}

#head-logo {
	position: relative;
	z-index: 1000;
	margin:23px 0 0 25px;
}

.header {
	display:flex;
	align-items: center;
	gap:24px;
}

/* ハンバーガーメニュー */
.hamburger-morph {
	z-index: 1000;
	width: 32px;
	height: 32px;
	margin-right:24px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}

.hamburger-morph__icon {
  width: 100%;
  height: 100%;
}

.hamburger-morph__line {
  fill: none;
  stroke: #fff;
  stroke-width: 6;
  transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
              stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.hamburger-morph__line:nth-child(1) {
  stroke-dasharray: 60 207;
}

.hamburger-morph__line:nth-child(2) {
  stroke-dasharray: 60 60;
}

.hamburger-morph__line:nth-child(3) {
  stroke-dasharray: 60 207;
}

.hamburger-morph.active .hamburger-morph__line:nth-child(1) {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke: #D6281B;
}

.hamburger-morph.active .hamburger-morph__line:nth-child(2) {
  stroke-dasharray: 1 60;
  stroke-dashoffset: -30;
  stroke: #D6281B;
}

.hamburger-morph.active .hamburger-morph__line:nth-child(3) {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke: #D6281B;
}

.nav-morph {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: #fff;
	clip-path: circle(0% at calc(100% - 44px) 44px);
	transition: clip-path 0.7s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 900;
}

.nav-morph.active {
	clip-path: circle(150% at calc(100% - 44px) 44px);
}

.nav-morph__wrapper {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	width:100%;
	margin: 0 auto;
	background-color: #fff;
	border:#D6281B 2px solid;
}

#menu-logo {
	position: relative;
	top:23px;
	left:25px;
}

.nav-morph__list {
	margin: 0 auto;
	padding: 0;
	min-width:300px;
	list-style: none;
	white-space: nowrap;
}

.nav-morph__item {
	position: relative;
	padding-left: 20px;
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.4s ease, transform 0.4s ease;
}

.nav-morph__item:before {
    content: "";
    position: absolute;
    top: .8em;
    left: 0;
    width: 7px;
    height: 7px;
    background-color: #8b6b4e;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.nav-morph.active .nav-morph__item {
  opacity: 1;
  transform: translateY(0);
}

.nav-morph.active .nav-morph__item:nth-child(1) { transition-delay: 0.3s; }
.nav-morph.active .nav-morph__item:nth-child(2) { transition-delay: 0.4s; }
.nav-morph.active .nav-morph__item:nth-child(3) { transition-delay: 0.5s; }
.nav-morph.active .nav-morph__item:nth-child(4) { transition-delay: 0.6s; }

.nav-morph__link {
  position: relative;
  display: inline-block;
  padding: 0 2em 0 0;
  font-size: 22px;
  color: #000;
  text-decoration: none;
  overflow: hidden;
  margin-bottom:1em;
}

.nav-morph__text,
.nav-morph__hover {
  display: block;
  transition: transform 0.3s ease;
}

.nav-morph__hover {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  transform: translateY(0%);
}

.nav-morph__link:hover .nav-morph__text {
  transform: translateY(-100%);
}

.nav-morph__link:hover .nav-morph__hover {
  transform: translateY(-100%);
}


/* サイトの作りこみ */

@keyframes move {
 100% {
     transform: translate3d(0, 0, 1px) rotate(360deg);
 }
}

.background-container{
	position: relative;
	width: 100vw;
/*
	height: 100vh;
*/
	z-index: 100;
}
.background-container-page{
	position: relative;
	width: 100vw;
	min-height: 337px;
	z-index: 100;
}

.background-layer{
	 background-image:url("../img/bg.png");
	 width: 100vw;
	 height: 100vh;
	 position:absolute;
	 z-index: 100;
}
.background-layer-page{
	 background-image:url("../img/bg.png");
	 width: 100vw;
	 height: 337px;
	 position:absolute;
	 z-index: 100;
}

.background {
	 position:relative;
	 width: 100vw;
	 height: 100vh;
	 top: 0;
	 left: 0;
	 background: linear-gradient(105.97deg, rgba(248, 207, 161, 0.7) 6.15%, rgba(255, 161, 94, 0.7) 34.59%, rgba(255, 77, 64, 0.6) 57.86%, #D6281B 92.33%);
	 overflow: hidden;
}
.background-page {
	 position:relative;
	 width: 100vw;
	 height: 337px;
	 top: 0;
	 left: 0;
	 background: linear-gradient(105.97deg, rgba(248, 207, 161, 0.7) 6.15%, rgba(255, 161, 94, 0.7) 34.59%, rgba(255, 77, 64, 0.6) 57.86%, #D6281B 92.33%);
	 overflow: hidden;
}

.background span.effect {
 width: 50vmin;
 height: 50vmin;
 border-radius: 50vmin;
 backface-visibility: hidden;
 position: absolute;
 animation: move;
 animation-duration: 2;
 animation-timing-function: linear;
 animation-iteration-count: infinite;
	z-index:25;
}


.background span.effect:nth-child(0) {
 color: #ff4d40;
 top: 39%;
 left: 6%;
 animation-duration: 300s;
 animation-delay: -230s;
 transform-origin: -24vw -2vh;
 box-shadow: -100vmin 0 12.896736512805388vmin currentColor;
}
.background span.effect:nth-child(1) {
 color: #f8cfa1;
 top: 10%;
 left: 76%;
 animation-duration: 79s;
 animation-delay: -238s;
 transform-origin: -14vw 13vh;
 box-shadow: 100vmin 0 12.86597820129382vmin currentColor;
}
.background span.effect:nth-child(2) {
 color: #f8cfa1;
 top: 27%;
 left: 51%;
 animation-duration: 301s;
 animation-delay: -254s;
 transform-origin: 22vw 3vh;
 box-shadow: 100vmin 0 12.951109537505731vmin currentColor;
}
.background span.effect:nth-child(3) {
 color: #d6281b;
 top: 26%;
 left: 41%;
 animation-duration: 289s;
 animation-delay: -340s;
 transform-origin: 6vw 14vh;
 box-shadow: 100vmin 0 13.287023732803345vmin currentColor;
}
.background span.effect:nth-child(4) {
 color: #f8cfa1;
 top: 37%;
 left: 50%;
 animation-duration: 101s;
 animation-delay: -262s;
 transform-origin: 5vw -19vh;
 box-shadow: -100vmin 0 13.365352195112125vmin currentColor;
}
.background span.effect:nth-child(5) {
 color: #d6281b;
 top: 11%;
 left: 92%;
 animation-duration: 441s;
 animation-delay: -436s;
 transform-origin: -2vw -8vh;
 box-shadow: -100vmin 0 13.31796657378708vmin currentColor;
}
.background span.effect:nth-child(6) {
 color: #ff4d40;
 top: 49%;
 left: 94%;
 animation-duration: 287s;
 animation-delay: -114s;
 transform-origin: -12vw 5vh;
 box-shadow: -100vmin 0 12.541324094610946vmin currentColor;
}
.background span.effect:nth-child(7) {
 color: #d6281b;
 top: 84%;
 left: 5%;
 animation-duration: 339s;
 animation-delay: -313s;
 transform-origin: -5vw 4vh;
 box-shadow: 100vmin 0 13.338204163331854vmin currentColor;
}
.background span.effect:nth-child(8) {
 color: #ff4d40;
 top: 37%;
 left: 28%;
 animation-duration: 97s;
 animation-delay: -79s;
 transform-origin: 11vw -8vh;
 box-shadow: -100vmin 0 12.884167614082473vmin currentColor;
}
.background span.effect:nth-child(9) {
 color: #ff4d40;
 top: 76%;
 left: 5%;
 animation-duration: 157s;
 animation-delay: -277s;
 transform-origin: 18vw -22vh;
 box-shadow: -100vmin 0 12.533249481040714vmin currentColor;
}
.background span.effect:nth-child(10) {
 color: #d6281b;
 top: 64%;
 left: 76%;
 animation-duration: 402s;
 animation-delay: -25s;
 transform-origin: -7vw -14vh;
 box-shadow: -100vmin 0 12.763705394428879vmin currentColor;
}
.background span.effect:nth-child(11) {
 color: #ff4d40;
 top: 70%;
 left: 60%;
 animation-duration: 447s;
 animation-delay: -472s;
 transform-origin: 0vw 12vh;
 box-shadow: -100vmin 0 12.905252770119208vmin currentColor;
}
.background span.effect:nth-child(12) {
 color: #ff4d40;
 top: 13%;
 left: 36%;
 animation-duration: 137s;
 animation-delay: -462s;
 transform-origin: 5vw -1vh;
 box-shadow: -100vmin 0 12.613143675430447vmin currentColor;
}
.background span.effect:nth-child(13) {
 color: #ff4d40;
 top: 71%;
 left: 29%;
 animation-duration: 279s;
 animation-delay: -469s;
 transform-origin: -15vw -10vh;
 box-shadow: -100vmin 0 13.452483003905021vmin currentColor;
}
.background span.effect:nth-child(14) {
 color: #f8cfa1;
 top: 50%;
 left: 14%;
 animation-duration: 211s;
 animation-delay: -434s;
 transform-origin: -7vw 18vh;
 box-shadow: 100vmin 0 13.382570431376946vmin currentColor;
}
.background span.effect:nth-child(15) {
 color: #ff4d40;
 top: 10%;
 left: 1%;
 animation-duration: 107s;
 animation-delay: -361s;
 transform-origin: 11vw -8vh;
 box-shadow: 100vmin 0 13.259643811437698vmin currentColor;
}
.background span.effect:nth-child(16) {
 color: #d6281b;
 top: 82%;
 left: 82%;
 animation-duration: 386s;
 animation-delay: -161s;
 transform-origin: 5vw -5vh;
 box-shadow: -100vmin 0 12.677322212153655vmin currentColor;
}
.background span.effect:nth-child(17) {
 color: #d6281b;
 top: 13%;
 left: 37%;
 animation-duration: 296s;
 animation-delay: -263s;
 transform-origin: 22vw 10vh;
 box-shadow: 100vmin 0 12.920506734730548vmin currentColor;
}
.background span.effect:nth-child(18) {
 color: #d6281b;
 top: 56%;
 left: 1%;
 animation-duration: 157s;
 animation-delay: -455s;
 transform-origin: -17vw 17vh;
 box-shadow: 100vmin 0 13.269733810584597vmin currentColor;
}
.background span.effect:nth-child(19) {
 color: #f8cfa1;
 top: 16%;
 left: 25%;
 animation-duration: 225s;
 animation-delay: -303s;
 transform-origin: -22vw 4vh;
 box-shadow: 100vmin 0 13.440448334309895vmin currentColor;
}
.background span.effect:nth-child(20) {
 color: #d6281b;
 top: 83%;
 left: 4%;
 animation-duration: 135s;
 animation-delay: -79s;
 transform-origin: -15vw -7vh;
 box-shadow: 100vmin 0 13.237163636884375vmin currentColor;
}
.background span.effect:nth-child(21) {
 color: #d6281b;
 top: 60%;
 left: 35%;
 animation-duration: 69s;
 animation-delay: -149s;
 transform-origin: -10vw -3vh;
 box-shadow: 100vmin 0 13.011638489372505vmin currentColor;
}
.background span.effect:nth-child(22) {
 color: #d6281b;
 top: 6%;
 left: 66%;
 animation-duration: 213s;
 animation-delay: -448s;
 transform-origin: 7vw -17vh;
 box-shadow: -100vmin 0 13.25923911286724vmin currentColor;
}
.background span.effect:nth-child(23) {
 color: #d6281b;
 top: 53%;
 left: 42%;
 animation-duration: 395s;
 animation-delay: -237s;
 transform-origin: 21vw 25vh;
 box-shadow: 100vmin 0 12.526106347397468vmin currentColor;
}
.background span.effect:nth-child(24) {
 color: #ff4d40;
 top: 5%;
 left: 73%;
 animation-duration: 385s;
 animation-delay: -217s;
 transform-origin: 17vw 17vh;
 box-shadow: -100vmin 0 13.319587446749404vmin currentColor;
}
.background span.effect:nth-child(25) {
 color: #ff4d40;
 top: 54%;
 left: 92%;
 animation-duration: 124s;
 animation-delay: -314s;
 transform-origin: -6vw -23vh;
 box-shadow: 100vmin 0 12.59759715902586vmin currentColor;
}
.background span.effect:nth-child(26) {
 color: #d6281b;
 top: 100%;
 left: 85%;
 animation-duration: 461s;
 animation-delay: -51s;
 transform-origin: 6vw 1vh;
 box-shadow: 100vmin 0 12.952257920099953vmin currentColor;
}
.background span.effect:nth-child(27) {
 color: #d6281b;
 top: 82%;
 left: 22%;
 animation-duration: 411s;
 animation-delay: -41s;
 transform-origin: 20vw -21vh;
 box-shadow: 100vmin 0 12.973677582013613vmin currentColor;
}
.background span.effect:nth-child(28) {
 color: #ff4d40;
 top: 3%;
 left: 50%;
 animation-duration: 171s;
 animation-delay: -291s;
 transform-origin: 9vw 24vh;
 box-shadow: -100vmin 0 12.585946714067358vmin currentColor;
}
.background span.effect:nth-child(29) {
 color: #ff4d40;
 top: 62%;
 left: 19%;
 animation-duration: 117s;
 animation-delay: -123s;
 transform-origin: 0vw 14vh;
 box-shadow: -100vmin 0 12.639532162257504vmin currentColor;
}
.background span.effect:nth-child(30) {
 color: #d6281b;
 top: 82%;
 left: 30%;
 animation-duration: 45s;
 animation-delay: -365s;
 transform-origin: -2vw -7vh;
 box-shadow: 100vmin 0 13.30709754138674vmin currentColor;
}
.background span.effect:nth-child(31) {
 color: #f8cfa1;
 top: 74%;
 left: 43%;
 animation-duration: 374s;
 animation-delay: -124s;
 transform-origin: 22vw 2vh;
 box-shadow: 100vmin 0 12.602472483906357vmin currentColor;
}
.background span.effect:nth-child(32) {
 color: #f8cfa1;
 top: 95%;
 left: 41%;
 animation-duration: 55s;
 animation-delay: -138s;
 transform-origin: -8vw 13vh;
 box-shadow: 100vmin 0 12.642951820969104vmin currentColor;
}
.background span.effect:nth-child(33) {
 color: #f8cfa1;
 top: 63%;
 left: 75%;
 animation-duration: 342s;
 animation-delay: -415s;
 transform-origin: -20vw -18vh;
 box-shadow: -100vmin 0 12.78541963578217vmin currentColor;
}
.background span.effect:nth-child(34) {
 color: #ff4d40;
 top: 28%;
 left: 75%;
 animation-duration: 281s;
 animation-delay: -347s;
 transform-origin: 5vw 25vh;
 box-shadow: 100vmin 0 13.42452198606533vmin currentColor;
}
.background span.effect:nth-child(35) {
 color: #ff4d40;
 top: 61%;
 left: 5%;
 animation-duration: 108s;
 animation-delay: -40s;
 transform-origin: -3vw -3vh;
 box-shadow: 100vmin 0 13.211198767594718vmin currentColor;
}
.background span.effect:nth-child(36) {
 color: #ff4d40;
 top: 15%;
 left: 68%;
 animation-duration: 62s;
 animation-delay: -292s;
 transform-origin: 23vw -21vh;
 box-shadow: -100vmin 0 13.40700686612964vmin currentColor;
}
.background span.effect:nth-child(37) {
 color: #ff4d40;
 top: 88%;
 left: 38%;
 animation-duration: 10s;
 animation-delay: -181s;
 transform-origin: -21vw 12vh;
 box-shadow: -100vmin 0 13.118175171342457vmin currentColor;
}
.background span.effect:nth-child(38) {
 color: #ff4d40;
 top: 82%;
 left: 67%;
 animation-duration: 477s;
 animation-delay: -472s;
 transform-origin: -5vw 16vh;
 box-shadow: 100vmin 0 13.323861299313535vmin currentColor;
}
.background span.effect:nth-child(39) {
 color: #f8cfa1;
 top: 60%;
 left: 83%;
 animation-duration: 306s;
 animation-delay: -218s;
 transform-origin: -1vw -10vh;
 box-shadow: 100vmin 0 13.172715377841927vmin currentColor;
}
.background span.effect:nth-child(40) {
 color: #ff4d40;
 top: 8%;
 left: 41%;
 animation-duration: 445s;
 animation-delay: -69s;
 transform-origin: -24vw 5vh;
 box-shadow: 100vmin 0 13.253636042736156vmin currentColor;
}
.background span.effect:nth-child(41) {
 color: #d6281b;
 top: 50%;
 left: 39%;
 animation-duration: 339s;
 animation-delay: -257s;
 transform-origin: 8vw -20vh;
 box-shadow: -100vmin 0 13.36186318427683vmin currentColor;
}
.background span.effect:nth-child(42) {
 color: #f8cfa1;
 top: 36%;
 left: 38%;
 animation-duration: 151s;
 animation-delay: -366s;
 transform-origin: -18vw -18vh;
 box-shadow: 100vmin 0 12.628447189062172vmin currentColor;
}
.background span.effect:nth-child(43) {
 color: #d6281b;
 top: 38%;
 left: 23%;
 animation-duration: 345s;
 animation-delay: -322s;
 transform-origin: -7vw -24vh;
 box-shadow: -100vmin 0 12.707213211007655vmin currentColor;
}
.background span.effect:nth-child(44) {
 color: #f8cfa1;
 top: 98%;
 left: 12%;
 animation-duration: 140s;
 animation-delay: -41s;
 transform-origin: -2vw 3vh;
 box-shadow: 100vmin 0 12.847346741318681vmin currentColor;
}
.background span.effect:nth-child(45) {
 color: #f8cfa1;
 top: 69%;
 left: 95%;
 animation-duration: 177s;
 animation-delay: -71s;
 transform-origin: -1vw 19vh;
 box-shadow: -100vmin 0 12.677945081365058vmin currentColor;
}
.background span.effect:nth-child(46) {
 color: #d6281b;
 top: 51%;
 left: 28%;
 animation-duration: 414s;
 animation-delay: -78s;
 transform-origin: -22vw 15vh;
 box-shadow: 100vmin 0 12.593753677680604vmin currentColor;
}
.background span.effect:nth-child(47) {
 color: #d6281b;
 top: 35%;
 left: 77%;
 animation-duration: 382s;
 animation-delay: -318s;
 transform-origin: -17vw -13vh;
 box-shadow: -100vmin 0 13.164577928822759vmin currentColor;
}

.fixed-btn {
  display: none;
}
@media screen and (max-width: 475px){
  .fixed-btn {
	
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    display: flex;
	justify-content: center;
	gap:15px;
	padding:10px;
	background:rgba(255,255,255,0.8)
  }
  .fixed-btn>p {
    width: 100%;
    margin: 0;
  }
  .fixed-btn>p a {
    display: block;
    padding: 1em 2em;
    text-align: center;
    color: #D6281B;
    background: #fff;
    text-decoration: none;
    font-size: 16px;
	border-radius: 36px;
	box-shadow: 2px 2px 4px 4px rgba(253,154,157,0.8);
  }
}

.foot-nav ul{
	border-top:#F7D3D0 2px solid;;
	list-style: none;
	margin:40px auto;
	width:80%;
}
.foot-nav ul li{
	position: relative;
	margin:12px auto;
}
.foot-nav ul li a{
	text-decoration: none;
	transition: 0.2s;
}
.foot-nav ul li a:hover{
	color:#AE352C;
	transition: 0.2s;
}
.foot-nav ul li span{
	display:block;
}
.foot-nav ul li span.en{
	font-size:22px;
}
.foot-nav ul li span.jp{
	font-size:14px;
}

.inner {
	width:100%;
	margin:0 auto;
}

.bg01 {
	background-image:url("../img/common/bg-style01.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.bg02 {
	background-image:url("../img/common/bg-style02.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.button {
	position: relative;
	text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    margin:30px auto 0;
    padding: .9em 2em;
    border: 1px solid #fff;
    border-radius: 25px;
    background-color: #FF3000;
    color: #fff;
    font-weight:bold;
	font-size:16px;
}

.button::after {
	position: absolute;
    transform: rotate(45deg);
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
	right:2em;
}

.btn-head {
	position: relative;
	text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 130px;
    margin:0;
    padding: .8em 2em;
    border-radius: 50px;
    background-color: #fff;
    color: #D6281B;
    font-weight:bold;
	font-size:16px;
}

.tbl01 {
	border-collapse: collapse;
	width: 100%;
	max-width: 880px;
	margin:0 auto;
}
.tbl01 th, .tbl01 td {
	border-bottom: 1px solid #DBDBDB;
	padding: 1em;
}
.tbl01 th {
	font-weight: bold;
	text-align: center;
	width: 20%;
	min-width: 4em;
}

@media screen and (min-width: 769px) {
	footer {
		background: #fff;
	}
	.foot-nav ul{
		width:600px;
		display:flex;
		flex-wrap:wrap
	}
	.inner {
		max-width:1140px;
		padding:100px 0;
	}
}
@media screen and (max-width: 768px) {
	#wrap {
		max-width: 768px;
		background: #fff;
	}
	#site-head {
		max-width:768px;
	}
	.btn-head {
		display:none;
	}
	.nav-morph__wrapper {
		max-width: 768px;
	}
	.inner {
		max-width:768px;
		padding:40px 0;
	}
}

.contact-area {
background: linear-gradient(to right bottom, #F8CFA1, #D6281B);
	padding:50px;
	display:flex;
	justify-content: center;
	align-content: center;
}