/* ---------------------------------------------------------------- *
	サイズ調整
 * ---------------------------------------------------------------- */
body{
	min-width: 640px;
	position: relative;
}
.w_1080px{
	width: 1080px;
}
.w_1180px{
	width: 1180px;
}
.w_980px{
	width: 890px;
}
.w_890px{
	width: 890px;
}
.w_740px{
	width: 740px;
}
.w_680px{
	width: 680px;
}
.pc_only{
	display: unset;
}
body.js_isPc .Mobile_only,
.sh_only,
.sh_iponly{
	display: none;
}
.sh_only,
.sh_iponly{
	display: none !important;
}
.tb_pc_only,
.pc_only{
}
.w_680px,
.w_740px,
.w_890px,
.w_980px,
.w_1080px,
.w_1180px{
	position: relative;
	margin: auto;
}
.w10p{
	width: 10%;
}
.w20p{
	width: 20%;
}
.w25p{
	width: 25%;
}
.w30p{
	width: 30%;
}
.w40p{
	width: 40%;
}
.w50p{
	width: 50%;
}
@media only screen and (min-width: 600px) and (max-width: 799px) {

}
@media only screen and (min-width: 800px) and (max-width: 1180px) {
}
@media (max-width: 1680px) {

}
@media (max-width: 1280px) {

}
@media (max-width: 1180px) {
	.w_890px,
	.w_1080px,
	.w_1180px{
		width: 90%;
		min-width: 640px;
	}
	.iphone .w_1080px,
	.android .w_1180px{
		width: 90%;
		min-width 90%;
	}
	.sh_only{
		display: unset !important;
	}
	.history.w_890px {
		width: 100%;
	}
}
@media (max-width: 1080px) {
	.w_980px{
		width: 90%;
		min-width: 640px;
	}
	.iphone .w_980px,
	.android .w_980px{
		width: 90%;
		min-width 90%;
	}
	.iphone .pc_only,
	.android .pc_only,
	.pc_only{
		display: none;
	}
	.iphone .tb_pc_only,
	.android .tb_pc_only{
		display: none!important;
	}
}
@media (max-width: 980px) {
	img.img981{
		display: none!important;
	}
	img.img980{
		display: block!important;
	}
}
@media (max-width: 940px) {

}
@media (max-width: 799px) {

}
@media (max-width: 780px) {
	.w_740px{
		width: 90%;
		min-width 90%;
	}
}
@media (max-width: 720px) {
	.w_680px{
		width: 90%;
		min-width 90%;
	}

}
@media (max-width: 599px) {

}
body.iphone img.img980,
body.android.js_isMobile img.img980{
	width: 100%;
}
body.js_isMobile .Mobile_only,
body.iphone .sh_only,
body.android .sh_only{
	display: unset !important;
}
body.iphone .menu-btn.sh_only,
body.android .menu-btn.sh_only,
body.iphone .sh_iponly,
body.android .sh_iponly{
	/*/display: flex !important;*/
}
body.js_isTablet .isPc_only,
body.ipad .isPc_only,
body.js_isMobile .isPc_only,
body.iphone .pc_only,
body.android .pc_only{
	display: none !important;
}
body.iphone .w_680px,
body.iphone .w_740px,
body.android .w_680px,
body.android .w_740px{
	width: 90%;
	min-width 90%;
}
h1.logo{
	position: relative;
	transition: all 0.7s;
}
h1.logo a:hover{
	opacity:0.7;
}
/* ---------------------------------------------------------------- *
	ハンバーガーメニュー
 * ---------------------------------------------------------------- */
/*----------------------------
* メニュー開閉ボタン
*----------------------------*/
.menu-btn{
	position: fixed;
	top: 0px;
	right: 0px;
	z-index: 6;
	width: 90px;
	height: 90px;
	display: none;
	justify-content: center;
	align-items: center;
	color: #fff;
	background-size: cover;
	background-image: url(/img/common/img_sh_sh_back.svg);
	transition: all 0.7s;
}
.menu-btn:hover{
	transition: all 0.7s;
}
.menu-btn i{
	font-size: xxx-large;
	margin: 10px 15px 0px 0px;
	float: right;
}
body.js_isMobile.iphone .menu-btn,
body.js_isMobile.android .menu-btn{
	width: 180px;
	height: 180px;
}
body.js_isMobile.iphone .menu-btn i,
body.js_isMobile.android .menu-btn i{
	margin: 15px 25px 0px 0px;
}
body.js_isMobile.iphone .fa-navicon:before,
body.js_isMobile.iphone .fa-reorder:before,
body.js_isMobile.iphone .fa-bars:before,
body.js_isMobile.android .fa-navicon:before,
body.js_isMobile.android .fa-reorder:before,
body.js_isMobile.android .fa-bars:before {
	font-size: xxx-large;
	font-size: 2.5em;
}
body.iphone .menu-btn,
body.android.js_isMobile .menu-btn{
	width: 140px;
	height: 140px;
}
body.iphone .menu-btn i,
body.android.js_isMobile .menu-btn i{
	margin: 20px 25px 0px 0px;
}
body.iphone .fa-navicon:before, body.iphone .fa-reorder:before, body.iphone .fa-bars:before,
body.android.js_isMobile .fa-navicon:before, body.android.js_isMobile .fa-reorder:before, body.android.js_isMobile .fa-bars:before{
	font-size: 60pt;
}
/*----------------------------
* メニュー本体
*----------------------------*/
.sh_menu{
	position: fixed;
	top: 0;
	right: 0;
	z-index: 5;
	width: 100vw;
	height: 100vh;
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #00a245;
}
.menu__item{
	width: 100%;
	height: auto;
	padding: 2.5em 1em;
	text-align: center;
	color: #fff;
	box-sizing: border-box;
}
.menu__item a{
	color: #fff;
	font-size: xxx-large;
	text-decoration: none;
}
.fa-navicon:before, .fa-reorder:before, .fa-bars:before {
	font-size: xxx-large;
}
/*----------------------------
* アニメーション部分
*----------------------------*/

/* アニメーション前のメニューの状態 */
.sh_menu{
	pointer-events: none;
	opacity: 0;
	transition: opacity .3s linear;
}
/* アニメーション後のメニューの状態 */
.sh_menu.is-active{
  pointer-events: auto;
  opacity: 1;
}

.menu_sdow_bt{
	margin: 0px;
	transition: all 0.7s;
	width: 90px;
	height: 90px;
	position: fixed;
	z-index: 1;
	right: 10px;
	top: 10px;
}

.menu_sdow_bt:after{
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	position: absolute;
	top: 5px;
	margin-left: -5px;
	z-index: -1;
	-webkit-background-size: 4px 4px;
	-moz-background-size: 4px 4px;
	background-size: 6px 6px;
	background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, #afafaf), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, #17a2ff), color-stop(0.75, #17a2ff), color-stop(0.75, transparent), to(transparent));
	background-image: -webkit-linear-gradient( 
	-45deg
	, #737373 25%, transparent 25%, transparent 50%, #737373 50%, #737373 75%, transparent 75%, transparent);
	background-image: -moz-linear-gradient(-45deg, #737373 25%, transparent 25%, transparent 50%, #737373 50%, #737373 75%, transparent 75%, transparent);
	background-image: -ms-linear-gradient(-45deg, #737373 25%, transparent 25%, transparent 50%, #737373 50%, #737373 75%, transparent 75%, transparent);
	background-image: -o-linear-gradient(-45deg, #737373 25%, transparent 25%, transparent 50%, #737373 50%, #737373 75%, transparent 75%, transparent);
	background-image: linear-gradient( 
	-45deg
	, #737373 25%, transparent 25%, transparent 50%, #737373 50%, #737373 75%, transparent 75%, transparent);
	transition: all 0.7s;
}
.menu_sdow_bt:hover{

}
@media (max-width: 1180px) {
	.menu-btn,
	.sh_menu{
		display: flex;
	}
}
@media (max-width: 880px) {
	body.iphone .menu-btn,
	body.iPad .menu-btn,
	body.android .menu-btn {
		top: 10px;
		right: 10px;
	}
	body.iphone .menu_sdow_bt:after,
	body.iPad .menu_sdow_bt:after,
	body.android .menu_sdow_bt:after {
		top: 5px;
		margin-left: -5px;
	}
	body.iphone .menu_sdow_bt:hover
	body.iPad .menu_sdow_bt:hover
	body.android .menu_sdow_bt:hover{
		top: 5px;
		margin-left: 0px;
		transition: all 1s;
	}
	.menu_sdow_bt:after {
		top: 5px;
		margin-left: -5px;
	}
}

/* ---------------------------------------------------------------- *
	scrollrevealでスクロールアニメーション
 * ---------------------------------------------------------------- */
.target {
  font-size: 50px;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.page {
  position: relative;
}

/* ---------------------------------------------------------------- *
	ページ上部に戻る
 * ---------------------------------------------------------------- */
#page-top{
	position: fixed;
	bottom: 0px;
	right: 10px;
	width: 80px;
	height: 35px;
	z-index: 4;
}
body.iphone #page-top,
body.android #page-top{
	position: fixed;
	bottom: 0px;
	right: 10px;
	width: 180px;
	height: 80px;
}
#page-top a{

}
#page-top a img{
	width: 100%;
	height: auto;
}


/* ---------------------------------------------------------------- *
	ローディング画面
 * ---------------------------------------------------------------- */
/* ローディング画面 */

.spinner {
	width: 100px;
	height: 100px;
	margin: 200px auto;
	background-color: #fff;
	border-radius: 100%;
	animation: sk-scaleout 1.0s infinite ease-in-out;
}
/* ローディングアニメーション */
@keyframes sk-scaleout {
	0% {
	transform: scale(0);
	} 100% {
	transform: scale(1.0);
	opacity: 0;
	}
}
 

#loading {
	width: 100vw;
	height: 100vh;
	transition: all 1s;
	background: url(/img/repeat.jpg);
 
/* 以下のコードを追加 */
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
}
.loaded {
	opacity: 0;
	visibility: hidden;
}

.flower-spinner,  .flower-spinner * {
      box-sizing: border-box;
    }

    .flower-spinner {
      height: 70px;
      width: 70px;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: center;
    }

    .flower-spinner .dots-container {
      height: calc(70px / 7);
      width: calc(70px / 7);
    }

    .flower-spinner .smaller-dot {
      background: #00ff00;
      height: 100%;
      width: 100%;
      border-radius: 50%;
      animation: flower-spinner-smaller-dot-animation 2.5s 0s infinite both;

    }

    .flower-spinner .bigger-dot {
      background: #00ff00;
      height: 100%;
      width: 100%;
      padding: 10%;
      border-radius: 50%;
      animation: flower-spinner-bigger-dot-animation 2.5s 0s infinite both;
    }

    @keyframes flower-spinner-bigger-dot-animation {
      0%, 100% {
        box-shadow: #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px;
      }

      50% {
        transform: rotate(180deg);
      }

      25%, 75% {
        box-shadow: #00ff00 26px 0px 0px,
        #00ff00 -26px 0px 0px,
        #00ff00 0px 26px 0px,
        #00ff00 0px -26px 0px,
        #00ff00 19px -19px 0px,
        #00ff00 19px 19px 0px,
        #00ff00 -19px -19px 0px,
        #00ff00 -19px 19px 0px;
      }

      100% {
        transform: rotate(360deg);
        box-shadow: #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px;
      }
    }

    @keyframes flower-spinner-smaller-dot-animation {
      0%, 100% {
        box-shadow: #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px;
      }

      25%, 75% {
        box-shadow: #00ff00 14px 0px 0px,
        #00ff00 -14px 0px 0px,
        #00ff00 0px 14px 0px,
        #00ff00 0px -14px 0px,
        #00ff00 10px -10px 0px,
        #00ff00 10px 10px 0px,
        #00ff00 -10px -10px 0px,
        #00ff00 -10px 10px 0px;
      }

      100% {
        box-shadow: #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px,
        #00ff00 0px 0px 0px;
      }
    }

/* ---------------------------------------------------------------- *
	波上
 * ---------------------------------------------------------------- */
.editorial {
  display: block;
  width: 100%;
  height: 60px;
  max-height: 60px;
  margin: 0;
  z-index:5;
  bottom:0;
  left:0px;
/*float:left;*/
}
.editorial.hanten {
	transform: scale(1, -1);
}
.parallax1 > use {
  animation: move-forever1 10s linear infinite;
  &:nth-child(1) {
    animation-delay: -2s;
  }
}
.parallax2 > use {
  animation: move-forever2 8s linear infinite;
  &:nth-child(1) {
    animation-delay: -2s;
  }
}
.parallax3 > use {
  animation: move-forever3 6s linear infinite;
  &:nth-child(1) {
    animation-delay: -2s;
  }
}
.parallax4 > use {
  animation: move-forever4 4s linear infinite;
  &:nth-child(1) {
    animation-delay: -2s;
  }
}
@keyframes move-forever1 {
  0% {
    transform: translate(85px, 0%);
  }
  100% {
    transform: translate(-90px, 0%);
  }
}
@keyframes move-forever2 {
  0% {
    transform: translate(-90px, 0%);
  }
  100% {
    transform: translate(85px, 0%);
  }
}
@keyframes move-forever3 {
  0% {
    transform: translate(85px, 0%);
  }
  100% {
    transform: translate(-90px, 0%);
  }
}
@keyframes move-forever4 {
  0% {
    transform: translate(-90px, 0%);
  }
  100% {
    transform: translate(85px, 0%);
  }
}
/* ---------------------------------------------------------------- *
	装飾
 * ---------------------------------------------------------------- */
section{
	position: relative;
}
section .linebox{
	content: "";
	background-image: url(/img/common/img_line_02.png);
	background-size: contain;
	background-repeat: no-repeat;
	max-width: 1080px;
	width: 100%;
	height: 50px;
	margin: auto;
	margin-top: 50px;
	margin-bottom: 30px;
}
section .linebox:before,
section .linebox:after{
	display: table;
	position: absolute;
	top: 30%;
	background-repeat: no-repeat;
	background-size: contain;
}
section .end_linebox{
	content: "";
	background-image: url(/img/common/img_line_03.png);
	background-size: auto;
	background-position: center;
	background-repeat: no-repeat;
	max-width: 1080px;
	width: 100%;
	height: 50px;
	margin: auto;
	margin-top: 10px;
	margin-bottom: 50px;
}
section .linebox_flu{
	content: "";
	background-image: url(/img/common/img_line_03.png);
	background-size: auto;
	background-repeat: repeat-x;
	width: 100%;
	height: 30px;
	margin: 0;
	padding-bottom: 60px;
	position: relative;
	z-index: 3;
	display: block;
}
section .linebox_flu.swipe_bottom{
	margin-top: 50px;
	padding-bottom: 80px;
}
/* ---------------------------------------------------------------- *
	選択を禁止する
 * ---------------------------------------------------------------- */
.header_house,
.context h1,
section.pege_top h2,
.hd_home a,
.hd_store_introduction a,
.hd_company_introduction a,
.hd_recruitment a,
.hd_contact a{
	user-select: none ;
}
/* ---------------------------------------------------------------- *
	IEハック
 * ---------------------------------------------------------------- */
@media all and (-ms-high-contrast: none) {
}

img {
    width: 100%;
    height: auto;
}
/* ---------------------------------------------------------------- *
	LINE
 * ---------------------------------------------------------------- */
.line_box{
	margin: 40px 0 0 0;
}
.line_box .line_link{
	float: left;
	display: table;
}
.line_box h3{
	color: #666;
}
.line_box .line_link a{
	display: table;
	background-color: #06c655;
	border: solid 5px #06c655;
	color: #fff;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	text-decoration: none;
	transition: all 0.7s;
	padding: 6% 9% 6% 3%;
	box-sizing: border-box;
	width: 12em;
	text-align: center;
	margin: 5px 20px 0 0;
	position: relative;
}
.line_box .line_link a:hover{
	background-color: #fff;
	border: solid 5px #06c655;
	color: #06c655;
}
.line_box .line_link a:after{
	content: "》";
	position: absolute;
	right: -2%;
	top: 25%;
	font-size: x-large;
}
.line_box img{
	width: auto;
	height: auto;
}
@media (max-width: 980px) {
	.line_box h3{
		text-align: center;
	}
	.line_box .line_link{
		width: 100%;
		margin-bottom: 50px;
	}
	.line_box .line_link a,
	.line_box .line_link a {
		width: 30%;
		margin: 20px auto 0 auto;
		text-align: center;
		padding: 3% 1% 2% 1%;
	}
	.line_box .line_link a:after {
		content: "》";
		right: 0%;
		top: 30%;
		font-size: large;
	}
	.line_box img,
	.line_box img{
		margin: auto;
		display: table;
	}
}
body.iphone .line_box .line_link,
body.android.js_isMobile .line_box .line_link {
	float: unset;
	width: 80%;
	margin: auto;
}
body.iphone .line_box .line_link a,
body.android.js_isMobile .line_box .line_link a {
	width: 100%;
	text-align: center;
	border-radius: 40px;
	-webkit-border-radius: 40px;
	-moz-border-radius: 40px;
}
body.iphone .line_box img,
body.android.js_isMobile .line_box img{
	margin: auto;
	display: table;
}
body.iphone .line_box .line_link a:after,
body.android.js_isMobile .line_box .line_link a:after{
	top: 20%;
}
body.iphone ,
body.android.js_isMobile {
}

/* ---------------------------------------------------------------- *
	営業日
 * ---------------------------------------------------------------- */
.BusinessDay_box {
	padding: 30px 0 0px 0;
	display: table;
	width: 100%;
}
.BusinessDay_box h3 {
	color: #666;
	margin: 0 0 10px 0;
}
.BusinessDay_box dl {
	.BusinessDay_box h3 {
		margin: 0 0 10px 0;
	}
}
section.sc_02 .store_information_box .cnt_in .cnt_in_ri .BusinessDay_box dl dt{
	margin: 0 0 0 0;
}
@media (max-width: 980px) {
	.BusinessDay_box h3 {
		text-align: center;
	}
}
/* ---------------------------------------------------------------- *
	Firefox ハック
 * ---------------------------------------------------------------- */
@-moz-document url-prefix() {
	.context.circlesWt.fta ul.circles.circlesWt,
	.context.home_02 .circles {
		display: none;
	}
	body.iphone dl dd input,
	body.iphone dl dd textarea,
	body.android.js_isMobile dl dd input,
	body.android.js_isMobile dl dd textarea,
	body.iphone input[type="submit"],
	body.iphone input[type="reset"],
	body.android.js_isMobile input[type="submit"],
	body.android.js_isMobile input[type="reset"] {
		border: solid 3px #999 !important;
	}
}