@charset "utf-8";

/*------------------------------------------------------------
    デフォルトスタイル
------------------------------------------------------------*/
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, font, 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 {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 1em;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
    display: block;
}
 
ol, ul { list-style: none;}

blockquote, q { quotes: none;}
 
:focus { outline: 0;}
 
ins { text-decoration: none;}
 
del { text-decoration: line-through;}

a:link{
	color: #000000;
	text-decoration: none;
}

a:hover{
	color:#FFB238;
	text-decoration:none;
}

img {
	max-width: 100%;
	height: auto;
	border: 0;
	vertical-align: bottom;
}

*, *::before, *::after {
	box-sizing: border-box;
}

figure {
	margin: 0;
	padding: 0;
}

address {
	font-style:normal;
}
/*------------------------------------------------------------
    汎用スタイル
------------------------------------------------------------*/

.clear { clear: both;}

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.fl { float: left;}
.fr { float: right;}
.txt-c { text-align: center;}
.txt-l { text-align: left;}
.txt-r { text-align: right;}
.red { color: #F00;}
.mk-ye { background: linear-gradient(transparent 60%, #ffff66 60%);}
.fs11 {	font-size: 1.1rem;}

/*------------------------------------------------------------
    レイアウト
------------------------------------------------------------*/

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}

body {
    font-family:'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','Noto Sans JP','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic';
    line-height: 1.7;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
   	width: 100%;
	position: relative;
	font-size: 1.5rem;
	color: #333333;
}





/*------------------------------------------------------------
    ヘッダー
------------------------------------------------------------*/
 
.header {
	width: 100%;
	height: 90px;
	overflow: hidden;
	position: relative;
}

.header-inner {
	max-width: 1200px;
	height: 90px;
	margin: auto;
	position: relative;
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -webkit-align-items:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-box-pack:justify;
    -webkit-justify-content:space-between;
    -ms-flex-pack:justify;
    justify-content:space-between;
}

.header-inner .logo{
	width: 350px;
}

.header-info {
	font-weight: bold;
	font-size:18px;
	color: #7fbf34;
}

@media screen and (min-width: 1200px) {
	.header-inner {
		max-width: calc(85vw - (100vw - 100%));
	}
	
}

@media screen and (max-width: 767px) {
	.header {
		height: 65px;
	}
	.header-inner {
		height: 65px;
		padding: 0 15px;
	}
	.header-info {
		display: none;
	}
	.header-inner .logo {
		width: 250px;
	}
}


.button_container {
  position: fixed;
  top: 31.5px;
  right: 2%;
  height: 27px;
  width: 35px;
  cursor: pointer;
  z-index: 100;
  transition: opacity 0.25s ease;
}

@media screen and (max-width: 767px) {
	.button_container {
		top: 19px;
	}
}

.button_container:hover {
  opacity: 0.7;
}
.button_container.active .top {
  transform: translateY(11px) translateX(0) rotate(45deg);
  background: #FFF;
}
.button_container.active .middle {
  opacity: 0;
  background: #FFF;
}
.button_container.active .bottom {
  transform: translateY(-11px) translateX(0) rotate(-45deg);
  background: #FFF;
}
.button_container span {
  background: #1abc9c;
  border: none;
  height: 5px;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.35s ease;
  cursor: pointer;
}
.button_container span:nth-of-type(2) {
  top: 11px;
}
.button_container span:nth-of-type(3) {
  top: 22px;
}

.overlay {
  position: fixed;
  background: #1abc9c;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s, visibility 0.35s, height 0.35s;
  overflow: hidden;
  z-index: 1;
}
.overlay.open {
  opacity: 0.9;
  visibility: visible;
  height: 100%;
}
.overlay.open li {
  animation: fadeInRight 0.5s ease forwards;
  animation-delay: 0.35s;
}
.overlay.open li:nth-of-type(2) {
  animation-delay: 0.4s;
}
.overlay.open li:nth-of-type(3) {
  animation-delay: 0.45s;
}
.overlay.open li:nth-of-type(4) {
  animation-delay: 0.5s;
}
.overlay nav {
  position: relative;
  height: 70%;
  top: 50%;
  transform: translateY(-50%);
  font-size: 50px;
  font-family: "Varela Round", serif;
  font-weight: 400;
  text-align: center;
}
@media screen and (max-width: 767px) {
	.overlay nav {
		font-size: 24px;
	}
}
.overlay ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: inline-block;
  position: relative;
  height: 100%;
}
.overlay ul li {
  display: block;
  height: 25%;
  height: calc(100% / 4);
  min-height: 50px;
  position: relative;
  opacity: 0;
}
.overlay ul li a {
  display: block;
  position: relative;
  color: #FFF;
  text-decoration: none;
  overflow: hidden;
}
.overlay ul li a:hover:after, .overlay ul li a:focus:after, .overlay ul li a:active:after {
  width: 100%;
}
.overlay ul li a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0%;
  transform: translateX(-50%);
  height: 3px;
  background: #FFF;
  transition: 0.35s;
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}
	
	
/*------------------------------------------------------------
    トップイメージ
------------------------------------------------------------*/
.wrapper {
	width: 100%;
	background: white;
	overflow: hidden;
}

.wrapper:after {
	content: '';
	clear: both;
	display: block;
}

.wrapper .copy {
	width: 40%;
	float: left;
	position: relative;
}

.demo-2 .wrapper .copy {
	float: right;
}

.wrapper .copy:before {
	width: 0;
	height: 0;
	float: left;
	padding-bottom: 119%;
	content: '';
}

.wrapper .copy article {
	margin: auto;
	padding: 4vw;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.wrapper .copy h2 {
	margin: 0;
	font-size: 3em;
	font-size: 4vw;
	line-height: 1.4;
	letter-spacing: 0.05em;
}

.wrapper .copy h2 .gr {
	color: #7fbf34;
}


.wrapper .copy p:first-of-type {
	color: #b1b6ba;
	font-size: 1.5em;
	font-size: 2vw;
	margin-bottom: 1.5em;
}

.wrapper .prism-slider {
	width: 60%;
	float: right;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
    overflow: hidden;
}

.demo-2 .wrapper .prism-slider {
	float: left;
}

/* PrismSlider */
.cache {
	display: none;
}

.prism-slider {
	width: 1200px;
	max-width: 100%;
	height: 0;
	padding-bottom: 38%;
	position: relative;
}

.prism-slider canvas {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.navigation {
	width: 100%;
	position: absolute;
	bottom: 1%;
	text-align: center;
	list-style: none;
	z-index: 1;
}

.navigation li {
	border: 3px solid #eceff1;
	width: 18px;
	height: 18px;
	margin: 0 5px;
	background: #52525a;
	border-radius: 50%;
	display: inline-block;
	cursor: pointer;
}

.navigation .active {
	background: #eceff1;
}

/* Media Queries */
@media screen and (max-width: 1024px) {
	.wrapper:after {
		display: none;
	}

	.wrapper .copy, .wrapper .prism-slider {
		width: 100%;
		float: none;
	}

	.wrapper .copy:before {
		display: none;
	}

	.wrapper .copy article {
		position: relative;
		padding: 50px;
		display: block;
	}

	.wrapper .copy h2 {
		font-size: 8vw;
	}

	.wrapper .copy p:first-of-type {
		font-size: 4vw;
	}

	.wrapper .prism-slider {
		padding-bottom: 80%;
	}

	.navigation li {
		width: 24px;
		height: 24px;
	}
}

@media screen and (min-width: 1200px) {
	.wrapper .copy {
		height: 724px;
	}
	
}



/*------------------------------------------------------------
    IFRAME
------------------------------------------------------------*/

.iframe-wrapper {
	position: relative;
	width: 100%;
	padding: calc(600 / 670 * 100%) 0 0;
}

.iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/*------------------------------------------------------------
    フッター
------------------------------------------------------------*/

.footer {
	background-color: #FFFFFF;
	position: relative;
	padding: 3.5rem 0 6.7rem;
}

.footer-info {
	max-width: calc(85vw - (100vw - 100%));
	width: 100%;
	margin: 3rem auto;
	padding: 0 15px;
}

.footer-info-logo {
	width: 32rem;
	
	margin: auto;
}

.footer-info-address {
	margin-top: 1.4rem;
	font-size: 1.2rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	
    justify-content: center;
}

.footer-info__postal-code {
  display: inline-block;
  margin-right: 1.5rem;
  padding-bottom: 0;
  font-size: 1.4rem;
}

.footer-info__gmap {
  display: inline-block;
  margin-top: 0;
  margin-left: 1.5rem;
  border-bottom: solid .1rem #000;
  color: #000;
  position: relative;
}

.footer__copyright {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 4rem;
  background-color: #000;
  opacity: 0.8;
  font-family: "Montserrat",sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  color: #999;
  position: absolute;
  bottom: 0;
  left: 0;
}

.footer_sns {
	text-align: center;
}

.footer_sns ul {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -webkit-justify-content:center;
    -ms-flex-pack:center;
    justify-content:center;	
}


.footer_sns ul li {
	width: 45px;
	height: auto;
	margin: 0 3px;
}

small {
	font-size: 80%;
}

/*------------------------------------------------------------
    コンテンツ
------------------------------------------------------------*/

.bnarea {
	text-align: center;
	margin: 40px 0;
}

.bnarea .inner{
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -webkit-justify-content:center;
    -ms-flex-pack:center;
    justify-content:center;
	max-width: calc(85vw - (100vw - 100%));
	width: 100%;
	padding: 0 15px;
	margin: auto;
}

.bnarea a{
	width: auto;
	margin:0 20px 20px;
	position: relative;
	z-index: 6;
}

.bnarea a:hover {
	opacity: 0.7;
}

.reset {
  color: black;
  text-decoration: none;
  font-family: sans-serif;
  font-weight: normal;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.25em;
  border: none;
  background: transparent;
  margin: 0;
  padding: 0;
  outline: none;
  cursor: pointer;
}

.button-arrow-inner-thin {
  text-align: center;
  box-sizing: border-box;
  display: block;
  background: #FFF;
  border:1px solid #000;
  font-weight: bold;
  padding: 0.8em;
  line-height: 1.4;
  max-width: 250px;
  width: 100%;
  margin-top: 40px;
  position: relative;
  transition: 0.3s all ease-out;
}
.button-arrow-inner-thin:hover {
  background: #7fbf34;
  border:1px solid #7fbf34;
  color: #FFF;
}

.button-arrow-inner-thin::after, .button-arrow-inner-thin::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 12px;
  opacity: 0;
  transition: opacity 0.3s, transform 0.3s;
}
.button-arrow-inner-thin::after {
  width: 10px;
  height: 10px;
  margin-top: -5px;
  transform: translate(-300px) rotate(45deg);
  border-top: 1px solid #fff;
}
.button-arrow-inner-thin::before {
  width: 40px;
  height: 1px;
  margin-right: -2px;
  background: #fff;
  transform: translate(-300px);
}
.button-arrow-inner-thin:hover::after,
.button-arrow-inner-thin:hover::before {
  opacity: 1;
}
.button-arrow-inner-thin:hover::after {
  transform: translate(0) rotate(45deg);
}
.button-arrow-inner-thin:hover::before {
  transform: translate(0);
}
.button-arrow-inner-thin:active,
.button-arrow-inner-thin:focus {
  opacity: 0.8;
  border-bottom-color: transparent;
}

.section {
	padding: 90px 0 120px;
}

.section .inner {
	max-width: calc(85vw - (100vw - 100%));
	width: 100%;
	padding: 0 15px;
	margin: auto;
}

.inner p:not(:last-child) {
	margin-bottom: 1em;
}

.index-lead.section {
	margin-top: 90px;
    padding-bottom: 130px;
}


.index-lead-wrap {
	position: relative;
	z-index:0;
}

.index-lead-wrap::before {
	content: "";
	display: inline-block;
	width: 612px;
	height: 700px;
	background: url(../img/icon-logo.png) no-repeat 0 0;
	background-size: contain;
	position: absolute;
	left: -100px;
	top: -110px;
	z-index: -2; 
}

.index-lead-cont {
  margin-left: 40%;
  margin-right: 10%;
}

.section h2.title {
	font-size: 3.4rem;
	font-weight: bold;
	margin-bottom: 40px;
    letter-spacing: 0.1em;
	position: relative;
	display: inline-block;
}

.section h2.title::after {
  content: "";
  display: block;
  width: 50px;
  height: 1px;
  background: #000;
  position: absolute;
  right: -70px;
  top: 50%;
  transform: translateY(-50%);
}


.index-item {
  background: #f5f5f5;
  position: relative;
  overflow: hidden;
}

/*
.index-item-wrap {
	overflow: hidden;
}
*/
.sliderArea {
	max-width: 100%;
	margin: 0 auto;
	padding: 0 25px;
    background: #FFF;
}
.sliderArea.w300 {
	max-width: 300px;
}
.slick-slide {
	margin: 0 5px;
}
.slick-slide img {
	width: 100%;
	height: auto;
}
.slick-prev, .slick-next {
	z-index: 1;
}
.slick-prev:before, .slick-next:before {
	color: #000;
}
.thumb {
	margin: 20px 0 0;
}
.thumb .slick-slide {
	cursor: pointer;
}


/*====================================================================
.full-screen
====================================================================*/

.full-screen .slick-list {
	overflow: visible;
}
.full-screen.slider img {
	max-width: 300px;
	margin: 0 auto;
}

.index-gallery {
	background: url(../img/bg-gallery.png) no-repeat 0 0 fixed;
	background-size: cover;
}
	
.index-gallery-wrap {
	text-align: center;
}

.gallery-wrap {
	width: 100%;
	max-width: 1100px;
	margin: auto;
}

.gallery-list {
	margin: auto;
}

.gallery-item {
	width: 190px;
	margin: 5px;
}

.is-style-bg_grid {
  background-image: linear-gradient(transparent calc(100% - 1px),var(--color_gray) 50%,var(--color_gray)),linear-gradient(90deg,transparent calc(100% - 1px),var(--color_gray) 50%,var(--color_gray));
  background-repeat: repeat;
  background-size: 16px 16px;
}

.bl-box {
    background-color: #e7efff;
    color: #1c66fe;
    margin: 2em 0;
    padding: 40px;
}

.bl-box.agree {
	width: 800px;
	max-width: 100%;
	margin: 60px auto 0;
	line-height: 2;
}

.bl-box.agree h3 {
	font-size: 2.8rem;
	margin-bottom:25px;
}

.bl-box.agree h3 span {
	display: block;
	font-size: 1.6rem;
}

.bl-box.agree .address {
	padding: 20px;
	background: #FFF;
	line-height: 1.5;
}

.bl-box.agree .address span {
	display: block;
}

.bl-box.agree .address .tel {
	font-weight: bold;
	font-size: 3.8rem;
	margin-top: -0.5em;
	font-family: "Times New Roman", Times, serif;
}

.index-shop {
  background: #f5f5f5;
  position: relative;
  overflow: hidden;
}

.shop-wrap {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -webkit-justify-content:space-between;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    -webkit-align-items:center;
    -ms-flex-align:center;
    align-items:center;
	margin-bottom: 20px;
}

.shop-img{
	width: 60%;
	flex-shrink: 0;
}

.shop-cont {
	width: calc((100% - 40%) + 5%);
	background: #FFF;
	margin-left: -5%;
	padding: 40px;
	position: relative;
}

.shop-cont .title {
	font-size: 2.4rem;
	padding-bottom: 5px;
	margin-bottom: 20px;
	border-bottom: 1px solid #000;
}

.solid-dl {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
	border-bottom: 1px dotted #000;
}

.solid-dt,
.solid-dd {
	padding: 10px 0;
}

.solid-dt {
	width: 100px;
	flex-shrink: 0;
	font-weight: bold;
}

.solid-dd {
	padding-left: 20px;
}

.shop-cont .iframe-wrapper {
	margin-top: 20px;
  padding: calc(250 / 890 * 100%) 0 0;
}

.index_item-wrap ul {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-box-pack:center;
    -webkit-justify-content:center;
    -ms-flex-pack:center;
    justify-content:center;
}

.index_item-wrap ul li {
	width: calc((100% - 80px) / 4);
	margin: 0 10px 20px;
}

 
@media (max-width: 1020px) and (min-width: 768px) {
	#css {狭いブラウザとタブレット向け}
}

@media (max-width: 767px) {
	.wrapper .inner{
		max-width: 800px;
	}
	.index-lead-cont {
		margin-left: 0;
		margin-right: 0;
	}
	.section h2.title {
		font-size: 2.4rem;
		margin-bottom: 20px;
	}
	.index-lead.section {
		margin-top: 40px;
	}
	.section {
		padding: 45px 0 60px;
	}
	.bl-box.agree h3 {
		font-size: 2.4rem;
		line-height: 1.4;
	}
	.bl-box.agree h3 span {
		font-size: 1.2rem;
		margin-top: 5px;
	}
	.bl-box.agree > p {
		text-align: left;
	}
	.brpc {
		display: none;
	}
	.bl-box.agree .address .tel {
		font-size: 2.8rem;
	}
	.shop-wrap {
		-webkit-box-orient:vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.shop-img {
		width: 104vw;
	}
	.shop-cont {
		width: 90%;
		margin-left: 0;
		margin-top: -30px;
	}
	.footer-info-logo {
		width: 22rem;
	}
	.footer-info-address {
		flex-direction: column;
	}
	.sliderArea {
		max-width: 80%;
	}
	.bnarea .inner{
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
	}
	.index_item-wrap ul {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
	}
	.index_item-wrap ul li {
		width: auto;
	}



	
}


	