@charset "utf-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote::before, blockquote::after, q::before, q::after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/**/
/*==========================================
Common CSS
==========================================*/
*, *::before, *::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 62.5%; /*1rem = 10px*/
}
body {
  min-height: 100vh;
  position: relative;
  font-size: 1.6rem; /*16px*/
  line-height: 1.6;
  letter-spacing: 0.1rem;
  color: #000;
  font-family: "Zen Maru Gothic", 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
  font-weight: 700;
  background: #FCFFF3;
}
@media screen and (max-width:768px) {
  body {
    font-size: 1.4rem; /*14px*/
  }
}
img {
  width: 100%;
  vertical-align: middle;
}
/*body {
  animation: fadein 1s forwards;
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}*/



/*------------
色
-------------*/
:root {
  --blue: #007DAF;
}
/*-------------
見出し
---------------*/
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}
/*-------------
column
---------------*/
.wrap1200 {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
.wrap1000 {
  max-width: 1000px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 768px) {
  .wrap1200, .wrap1000 {
    padding-left: 15px;
    padding-right: 15px;
  }
}
/*-------------
表示・非表示
---------------*/
@media screen and (min-width:769px) { /*PC*のみで表示*/
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
}
@media screen and (max-width:768px) { /*スマホのみで表示*/
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
/*-------------
link
---------------*/
a {
  text-decoration: none;
}
a:link {
  text-decoration: none;
}
a:visited {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
  transition: .3s;
  opacity: .8;
}
a:active {
  text-decoration: none;
}
/*-------------
電話番号
---------------*/
@media screen and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
    white-space: nowrap;
  }
}
@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
  }
  a[href^="tel:"]:hover {
    text-decoration: underline;
  }
}
/*==========================================
header
==========================================*/
header {
  display: flex;
  background: #fff;
  padding: 0 0 15px 12px;
}
header .higo {
  max-width: 190px;
}
header .code {
  font-size: 10px;
  margin: 12px 0 0 25px;
  text-align: center;
}
header .flex {
  width: 509px;
  display: flex;
  flex-direction: column;
  margin: 12px 0 0 25px;
}
header .flex .flex_top {
  display: flex;
}
header .kfg {
  max-width: 182.72px;
}
header .kagoshima {
  max-width: 127.5px;
}
header .flex .flex_bottom {
  display: flex;
  margin-top: 5px;
}
header .kfgs {
  max-width: 105px;
}
header .kyu_ds {
  max-width: 190.91px;
}
header .creation {
  max-width: 154px;
}
header .flex .flex_top div, header .flex .flex_bottom div {
  margin-right: 30px;
}
@media screen and (max-width:768px) {
  header {
    padding: 0 0 5px 5px;
  }
  header .higo {
    width: 98px;
  }
  header .flex {
    margin-left: 5px;
  }
  header .kfg {
    max-width: 27px;
    margin-left: 0px;
  }
}
/*----------------------------------------------------
menuArea
------------------------------------------------------*/
@media screen and (min-width:769px) {
  .menuArea {
    background: linear-gradient(90deg, rgba(70, 164, 143, 1) 0%, rgba(0, 122, 170, 1) 100%);
    padding: 20px;
	 position: sticky;
	  top:0;
	  z-index: 9999;
  }
  .menuArea__list {
    display: flex;
    justify-content: center;
    gap: calc(110 / 1920 *100vw);
  }
  .menuArea__item a {
    color: #fff;
	}
}

@media screen and (max-width:768px) {
  .menuArea {
    background: #666;
    position: fixed;
    bottom: 0;
    z-index: 999;
    width: 100%;
  }
  .menuArea__list {
    display: flex;
    flex-wrap: wrap;
  }
  .menuArea__item {
    width: 50%;
    border: 1px solid #fff;
    text-align: center;
  }
  .menuArea__item a {
    color: #fff;
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 1.2rem;
  }
}



/*----------------------------------------------------
fvArea
------------------------------------------------------*/
.fvArea {
  padding-top: var(--space60);
  padding-right: 20px;
  padding-left: 20px;
}
.fvWrap {
  margin: 0 auto;
}
.fvFlex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(140 / 1920 * 100vw);
}
.fvArea__left {
  text-align: center;
}
.fvArea__logo {
  width: calc(600 / 1920 * 100vw);
  max-width: 444px;
  min-width: 214px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 40px;
	  transform: rotate(20deg); /* 初期回転角度を設定 */
  transform-origin: top center; /* 回転の中心を設定 */
  opacity: 0;
}
@media screen and (max-width:768px) {
  .fvArea__logo {
    width: 90%;
  }
}
.fvArea__txt {
  text-align: center;
  font-size: clamp(1.6rem, 1.04vw, 2rem);
  line-height: 2;
	 visibility: hidden;
}




@media screen and (max-width:768px) {
  .fvArea__txt {
    width: 98%;
	  margin-right: auto;
	  margin-left: auto;
  }
}
.fvArea__right {
  width: calc(930 / 1920 * 100vw);
  max-width: 930px;
  min-width: 425px;
  position: relative;
	opacity: 0;/*アニメーション初期非表示*/
}
@media screen and (max-width:768px) {
  .fvArea__right {
    width: 90%;
    min-width: auto;
  }
}
.fvarea__mask {
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  width: 101%;
}
.slide-items {
  width: 100%;
  height: 100%;
}
.slide-items img {
  width: 100%;
  object-fit: cover;
}
@media screen and (max-width:768px) {
  .fvFlex {
    flex-direction: column;
  }
}

/*----------------------------------------------------
sliderArea
------------------------------------------------------*/

.sliderArea{
	padding-top: calc(240 / 1920 * 100vw);
	padding-bottom: var(--space80);
}

.full-screen {
  width: 100%;
  height: 100%;
}
.full-screen img {
	width: calc(360 / 1920 * 100vw);
  max-width: 360px;
  object-fit: cover;
}

@media screen and (max-width:768px) {
	.full-screen img {
		width: 95%;
		max-width: auto;
	}
}

/*----------------------------------------------------
aboutArea
------------------------------------------------------*/
/*テキスト*/
.aboutArea{
	padding-top: var(--space80);
}

.aboutTxt{
	position: relative;
	padding-bottom: 160px;
}

.aboutTxt__title{
	text-align: center;
	color: var(--blue);
	font-size: var(--fs36);
	opacity: 0;
}

.aboutTxt__txt1{
	font-size: var(--fs24);
	text-align: center;
	padding-top: var(--space60);
	opacity: 0;
}

.aboutTxt__txt2{
	font-size: var(--fs20);
	text-align: center;
	padding-top: var(--space30);
	line-height: 2;
	opacity: 0;
}


/*イラスト*/
.aboutTxt__img1{
	width: calc(151 / 1920 * 100vw);
	max-width: 151px;
	min-width: 80px;
	position: absolute;
	bottom:160px;
	left: calc(320 / 1920 * 100vw);

}

.aboutTxt__img2{
	width: calc(170 / 1920 * 100vw);
	max-width: 170px;
	min-width: 90px;
	position: absolute;
	bottom:160px;
	right: calc(320 / 1920 * 100vw);
}

@media screen and (max-width:768px) {
.aboutTxt__img1{
bottom: 0;
}
	.aboutTxt__img2{
		bottom: 0;
	}
}


/*場所*/
.aboutPlace{
	max-width: 1240px;
	padding-right: 20px;
	padding-left: 20px;
	margin: 0 auto;
	padding-bottom: var(--space80);
}

.aboutPlace__flex{
	display: flex;
	justify-content: space-between;
	column-gap: 120px;
}

.aboutPlace__flex + .aboutPlace__flex{
	margin-top: 120px;
}

@media screen and (max-width:768px) {
   .aboutPlace__flex{
	column-gap: 40px;
}

.aboutPlace__flex + .aboutPlace__flex{
	margin-top: 40px;
}
 
}


.aboutPlace__content--tate{
	max-width: 420px;
	position: relative;
}

.aboutPlace__content--yoko{
	max-width: 560px;
	position: relative;
}

.aboutPlace__icon--left{
	max-width: 120px;
	position: absolute;
	top: -10px;
	left: -10px;
	z-index: 1;
}

.aboutPlace__icon--right{
	max-width: 120px;
	position: absolute;
	top: -10px;
	right: -10px;
	z-index: 1;
}


@media screen and (max-width:768px) {
	.aboutPlace{
		padding-top: 40px;
	}
.aboutPlace__icon--left{
	max-width: 60px;
}

.aboutPlace__icon--right{
	max-width: 60px;
	}
}

.aboutPlace__txt--left{
	margin-top: 10px;
}

.aboutPlace__txt--right{
	margin-top: 10px;
	text-align: right;
}

.aboutPlace__content--tate:last-of-type{
	margin-top: -70px;
}



.image-mask-wrap {
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.masked-image {
  display: block;
  width: 100%;
  height: auto;
  clip-path: inset(0 100% 0 0);
  transition: clip-path .1s ease-out; /*アニメーションスピード*/
}

/*フロアマップ*/
.aboutFloorMap{
	margin-top: var(--space80);
	margin-bottom: var(--space100);
	padding-top: var(--space80);
	padding-bottom: var(--space80);
	padding-right: 20px;
	padding-left: 20px;
	background: url("../images/floormap-bg.png") no-repeat;
	background-size: cover;
	background-position: center center;
}

.aboutFloorMap__title{
	font-size: var(--fs30);
	text-align: center;
	color: #fff;
}

.aboutFloorMap__content{
	aspect-ratio: 600 / 427;
	max-height: 95vh;
	padding: 60px 100px;
	background: #EFF5E0;
	border-radius: 10px;
	margin: 0 auto;
	margin-top: var(--space40);
	box-shadow: 10px 10px 10px rgba(0,0,0,.5);
}


@media screen and (max-width:768px) {

	.aboutFloorMap__content{
    padding-top: 10px;
	padding-bottom: 10px;
	padding-right: 10px;
	padding-left: 10px;
	}
}

/*----------------------------------------------------
サービス
------------------------------------------------------*/
.serviceArea{
	padding-top: var(--space100);
	padding-bottom: var(--space80);
}


.surviceArea__titile{
	color: var(--blue);
	font-size: var(--fs36);
	text-align: center;
}

.surviceArea__smallTitile{
	display: block;
	font-size: var(--fs20);
}


.surviceArea__content{
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.surviceArea__item{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	width:25%;
	margin-top: var(--space80);
}

.surviceArea__item span{
	display: block;
	font-size: 1.4rem;
}

.surviceArea__itemIcon{
	max-width: 147px;
}

.surviceArea__itemName{
	font-size: var(--fs22);
	margin-top: 10px;
}

@media screen and (max-width:768px) {
.surviceArea__item{
	width:33%;
	padding: 0 10px;
	}
	
	.surviceArea__itemName,.surviceArea__itemName span{
	font-size: 1rem;
}
}

/*----------------------------------------------------
planArea
------------------------------------------------------*/
.planArea{
	max-width: 1920px;
	margin: 0 auto;
	display: flex;
	gap:var(--space60);
	justify-content: space-between;
	padding-bottom: var(--space80);
	/*background: #f5f5f5;*/
}

.planArea__content{
	max-width: 670px;
	flex-shrink: 0;
}

.planArea > div + div{
	margin-top: var(--space80);
}


.plan__title{
	font-size: var(--fs36);
	color: var(--blue);
	text-align: center;
	margin-bottom: 20px;
}

.plan__caution-1{
	text-indent: -1em;
	padding-left: 1em;
	margin-top: 10px;
}

.plan__caution-2{
	font-size: 1.2rem;
	text-indent: -1em;
	padding-left: 1em;
	margin-top: 10px;
}

.plan__caution-2 + .plan__caution-2{
	margin-top: 0;
}

/* テーブルスタイル-1 */
.tableStyle-1{
	width: 100%;
	padding-top: 10px;
	font-size: var(--fs20);
}

.tableStyle-1 tbody{
		border-bottom: 1px solid #707070;
}
.tableStyle-1 tr{
	background: #fff;
	border-top: 1px solid #707070;
}

.tableStyle-1 th{
	padding: 10px;
}

.tableStyle-1 td{
	padding: 10px;
}

.tableStyle-1 span{
	color: var(--blue);
}

.tableStyle-1 small{
	font-size: 1.4rem;
}

@media screen and (max-width:768px) {
.tableStyle-1 th{
	padding: 5px;
	display: block;
	background: #f5f5f5;
	text-align: center;
}

.tableStyle-1 td{
	padding: 5px;
	display: block;
	text-align: center;
}
	
}


/* テーブルスタイル-2 */
.tableStyle-2{
	width: 100%;
	margin-top: 10px;
}

.tableStyle-2 th{
	padding: 5px 10px;
	background: #707070;
	color: #fff;
	text-align: center;
	display: block;
	
}

.tableStyle-2 td{
	padding: 10px var(--space40);
	background: #fff;
	text-align: center;
	display: block;
}


/*プラン*/
.plan th{
	text-align: left;
}

@media screen and (max-width:768px) {
.plan th{
	text-align: center;
}
}
	
	
/*営業時間*/
.time{
	margin-top: var(--space60);
}

.time th{
	width: 50%;
	text-align: right;
	padding-right: 20px;
}

.time td{
	width: 50%;
	padding-left: 20px;
}
	
.time td span{
	display: inline-block;
	width: .5em;
}

@media screen and (max-width:768px) {
.time th{
	width: 100%;
	text-align: center;
	padding-right: 5px;

}

.time td{
	width: 100%;
	padding-left: 5px;
}
}


/*決済方法*/
.payment{
	margin-top: var(--space60);
}


.payment__txt{
	text-align: center;
	
}

.payment__txt span{
	color: #FF0000;
}
.payment td{
 padding: var(--space40) 20px;	
}

.payment__card{
	max-width: 371px;
}

.payment__eMoney{
	max-width: 530px;
}

.payment__qr{
	max-width: 524px;
}


/*左右の写真*/

/*.planArea__bgLeft,.planArea__bgRight{
	width:32.55%;
}*/

@media screen and (min-width:1001px) {


.planArea__bgLeft{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	margin-top: var(--space100);
	margin-left: var(--spac60);
}

.planArea__bgRight{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
    margin-right: var(--spac60);
}

.planArea__bg-l1{
	/*width: calc(334 / 1920 * 100vw);*/
	max-width:334px;
	
}
.planArea__bg-l2{
	/*width: calc(460 / 1920 * 100vw);*/
	max-width: 460px;

}
.planArea__bg-l3{
	/*width: calc(298 / 1920 * 100vw);*/
	max-width: 298px;

}
.planArea__bg-r1{
	/*width: calc(298 / 1920 * 100vw);*/
	max-width: 298px;
	
}
.planArea__bg-r2{
	/*width: calc(334 / 1920 * 100vw);*/
	max-width: 334px;

}
.planArea__bg-r3{
	/*width: calc(460 / 1920 * 100vw);*/
	max-width: 460px;

}
}
@media screen and (max-width:1000px) {
	.planArea {
		display: inherit;
	}
	.planArea__bgLeft{
		display: none;
	}
		.planArea__bgRight{
		display: none;
	}
	.planArea__content{
		padding: 0 20px;
	margin: 0 auto;
}
}

/*----------------------------------------------------
sns
------------------------------------------------------*/
.snsArea{
	background: #fff;
	padding: var(--space40) 20px;
}

.snsArea__title{
	color: var(--blue);
	font-size: var(--fs26);
	text-align: center;
}

.snsIcon{
	display: flex;
	gap:var(--space100);
	justify-content: center;
	margin-top: 20px;
}

.snsIcon a{
  max-width: 84px;
}


/*----------------------------------------------------
accessArea
------------------------------------------------------*/
.accessArea{
	background:#E6F1C9;
	padding-top: var(--space80);
	padding-bottom: var(--space80);
}

.accessArea__content{
	max-width: 1240px;
	padding: 0 20px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	gap:40px;
}

.accessArea__txt{
	text-align: center;
	flex-shrink: 0;
	align-content: center;
}


.accessArea__title{
	font-size: var(--fs36);
}

.accessTxt + .accessTxt{
	margin-top: var(--space60);
}

.accessTxt strong{
	font-size: var(--fs26);
	margin-top: 30px;
}

.accessTxt h3{
	font-size: 2rem;
}

.accessTxt p,.accessTxt  address{
	margin-top: 10px;
}

.accessArea__map{
	width: 100%;
	aspect-ratio:30 / 19;
	max-width: 600px; 
	margin: 0 auto;
}

@media screen and (max-width:768px) {
	.accessArea__content{
		flex-direction: column;
	}
}


/*----------------------------------------------------
footer
------------------------------------------------------*/
footer .txt-area {
  background: #3c4950;
  color: #fff;
  padding-top: 40px;
  padding-bottom: 40px;
}
footer .txt-area img.logo-higobank {
  max-width: 364px;
}
footer .txt-area p.privacy {
  text-decoration: underline;
  font-size: 1.4rem;
  margin-top: 30px;
}
footer .txt-area p.privacy a {
  color: #fff;
}
footer .txt-area p.bankcode {
  font-size: 1.4rem;
  margin-top: 10px;
}
footer .txt-area p.copyright {
  font-size: 1.2rem;
  margin-top: 20px;
}
@media screen and (max-width:768px) {
  footer .txt-area img.logo-higobank {
    width: 90%;
  }
	footer .txt-area{
		padding-bottom: calc(40px + 80px );/*スマホメニュー（追従）分の高さを足す*/
	}
}



/*----------------------------------------------------
アニメーションのための設定
------------------------------------------------------*/
.slick-track {
    display: flex !important;
}
.slick-slide {
    display: block !important;
    float: none !important;
}


.surviceArea__content {
  perspective: 1000px;
}

.surviceArea__itemIcon {
  transform-style: preserve-3d;
  backface-visibility: hidden;
  transform-origin: center center;
  opacity: 0;
}