@charset "UTF-8";

body{
	font-family: "Yu Gothic", YuGothic, Helvetica, Arial, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3",
	Meiryo, メイリオ, sans-serif;
	color: #333333;
}

img {
	max-width: 100%;
}

html {
	scroll-behavior: smooth;
}


/* 共通 */
#onlineshop, #info, #service, #works, #about, #contact {
	padding: 48px 0 48px 0;

}


.section-inner {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}


/* ふわっと表示 */
	.scroll-up {
	  opacity: 0;
	  visibility: hidden;
	  transform: translateY(50px);
	  transition: all 1s;
	}
	.scroll-up.is-show {
	  opacity: 1;
	  visibility: visible;
	  transform: translateY(0px);
	}


/* PCの時は（横幅769px以上の時は）表示する */
.pc-only {
	display: block;
}

/* SPの時は（横幅768px以下の時は）表示しない*/
.sp-only {
	display: none;
}

/* -----------------------------
スマホ共通
------------------------------*/

@media screen and (max-width:768px){
	.section-inner {
		padding: 0 24px;
		max-width: 550px;
		margin: 0 auto;
	}

	.pc-only {
		display: none;
	}

	.sp-only {
		display: block;
	}

	#onlineshop, #info, #service, #works, #about, #contact {
		padding: 48px 0 48px 0;
	}
}



/* --------------------------------
テキスト
---------------------------------*/

h2 {
	font-size: 42px;
	font-weight: bold;
	line-height: 1.8;
	letter-spacing: 0.08em;
	text-align: center;
	position: relative;
}


h3 {
	font-size: 30px;
	font-weight: bold;
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-align: center;
	margin-top: 48px;
	border-bottom: 2px solid #555;
	
}

p.large {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.08;
	text-align: center;
	margin: 24px 0 24px 0;
}

p.medium {
	font-size: 16px;
	font-weight: normal;
	line-height: 1.7;
	letter-spacing: 0.08em;
	text-align: center;
	margin: 24px;
}

p.small {
	font-size: 14px;
	font-weight: normal;
	line-height: 1.8;
	letter-spacing: 0.04em;
	padding: 14px;
	text-align: justify;
}



/* -----------------------------
スマホ
------------------------------*/
@media screen and (max-width:768px){
	h2 {
		font-size: 22px;
		font-weight: bold;
		line-height: 1.8;
		letter-spacing: 0.08em;
		text-align: center;
	}


	h3 {
		font-size: 18px;
		font-weight: bold;
		line-height: 1.8;
		letter-spacing: 0.04em;
		text-align: center;
	}

	p.small {
		font-size: 14px;
		font-weight: normal;
		line-height: 1.8;
		letter-spacing: 0.04em;
		text-align: justify;
	}

	p.medium {
		font-size: 16px;
		font-weight: normal;
		line-height: 1.7;
		letter-spacing: 0.08em;
	}

}



/* -----------------------------
カラム
 ----------------------------*/
.col-2 {
	display: flex;
	justify-content: space-between;
	padding: 36px;
	align-items: center;
}


.col-2 .item{
	width: calc((100% - 64px)/2);
}


/* -----------------------------
スマホ
------------------------------*/
 @media screen and (max-width:768px){
	.col-2 {
		display: block;
	}

	.col-2 .item {
		width: 100%;
	}



}

/* --------------------------
ボタン
---------------------------*/
.view-btn {
		display: flex;
		justify-content: space-around;
		align-items: center;
		padding: 10px 20px 10px 20px;
		width: 250px;
		color: #fff;
		font-size: 14px;
		text-align: center;
		font-weight: normal;
		text-decoration: none;
		background-color: #1c273e;
		margin: auto;
		border:1px solid #555;/*枠線*/
		-webkit-transition: all .3s ease;
		transition: all .3s ease;

	}

		.view-btn:hover {
		color:#555;/*文字の色が灰色に*/
		background:none;/*背景色なし*/
		}




	.contact-btn {
		display: flex;
		justify-content: space-around;
		align-items: center;
		padding: 10px 20px 10px 20px;
		width: 172px;
		color: #fff;
		font-size: 16px;
		font-weight: normal;
		text-decoration: none;
		background-color: #1c273e;
		margin: auto;
		border:1px solid #555;/*枠線*/
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
		}

	.contact-btn:hover {
	color:#555;/*文字の色が灰色に*/
	background:none;/*背景色なし*/
	}



	.button-border {
	  display: block;
	  width: 192px;
	  height: 50px;
	  border: 1px solid #110e0c;
	  color: #1c273e;
	  font-size: 13px;
	  letter-spacing: 0.06em;
	  font-weight: bold;
	  line-height: 50px;
	  text-align: center;
	  border-radius: 25px;
		text-decoration: none;
		transition: all .3s ease;
}

	.button-border:hover {
		background-color: #1c273e;
		color: #fff;
		border: 1px solid #1c273e;
	}


	.onlineshop-btn {
		display: flex;
		justify-content: space-around;
		align-items: center;
		padding: 10px 20px 10px 20px;
		width: 363px;
		color: #1c273e;
		font-size: 16px;
		font-weight: bold;
		text-decoration: none;
		background-color: #fff;
		border-radius: 30px;
		margin: auto;
		border:1px solid #555;/*枠線*/
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
		}

	.onlineshop-btn:hover {
	color:#fff;/*文字の色が白色に*/
	background: #1c273e;/*背景色はネイビー*/
	}



	.button-border {
	  display: block;
	  width: 192px;
	  height: 50px;
	  background-color: #1c273e;
	  border: 1px solid #110e0c;
	  color: #fff;
	  font-size: 13px;
	  letter-spacing: 0.06em;
	  font-weight: bold;
	  line-height: 50px;
	  text-align: center;
	  border-radius: 25px;
	  text-decoration: none;
	  transition: all .3s ease;
}

	.button-border:hover {
		background-color: #fff;
		color: #110e0c;
		border: 1px solid #1c273e;
	}



/* -----------------------------
スマホ
------------------------------*/
	@media screen and (max-width:768px){

		.view-btn {
			display: flex;
			justify-content: space-around;
			align-items: center;
			padding: 10px 20px 10px 20px;
			width: 130px;
			color: #fff;
			font-size: 11px;
			font-weight: normal;
			text-decoration: none;
			background-color: #1c273e;
			margin: auto;
			transition: all .2s;
		}


		.contact-btn {
			display: flex;
			justify-content: space-around;
			align-items: center;
			padding: 10px 20px 10px 20px;
			width: 130px;
			color: #fff;
			font-size: 11px;
			font-weight: normal;
			text-decoration: none;
			background-color: #1c273e;
			margin: auto;
			transition: all .2s;
		}

	}




/* ------------------------
ヘッダー
--------------------------*/
	#header {
		background-color:rgba(255, 255, 255, 0.8);
		width: 100%;
		padding: 0 80px;
		height: 80px;
		display: flex;
		justify-content: space-between;
		position: fixed;
		top: 0 ;
		z-index: 1;
	}

	.header-logo {
		display: flex;
		align-items: center;
		width: 172px;
	}

	.header-logo a {
		display: flex;
	}


	.gnav-pc-wrap {
		display: flex;
		align-items: center;
	}

	.gnav-sp-wrap {
	  display: none;
	}


	ul.gnav-pc li {
		margin-right: 37px;
		display: inline;
	}

	ul.gnav-pc li a {
		font-size: 15px;
		letter-spacing: 0.03em;
		color: #110e0c;
		text-decoration: none;
		font-weight: normal;
	}

	ul.gnav-pc li a:hover {
		color: #c7551e;
	}


.gnav-pc-wrap .fa-instagram {
  padding-left: 30px;
}

	#menu-button {
		display: none;
	}


/* -----------------------------
スマホ
------------------------------*/
@media screen and (max-width:768px){
	#header {
		height: 60px;
		padding: 0;
	}

	#header h1 {
		padding-left: 24px;
	}

	#header h1 a {
		display: flex;
	}

	.gnav-pc-wrap {
		display: none;
	}


	#menu-button {
    display: block;
    width: 60px;
    height: 60px;
    padding: 22px 18px;
  }

  .menu-button-inner {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
  }

  .menu-button-inner span {
    display: block;
    height: 2px;
    width: 100%;
    background-color: #333333;
    position: absolute;
  }

  .menu-button-inner span:nth-child(1) {
    top: 0;
  }

  .menu-button-inner span:nth-child(2) {
    top: 0;
    bottom: 0;
    margin: auto;
  }

  .menu-button-inner span:nth-child(3) {
    bottom: 0;
  }



/* SP用メニューのスタイル */
	.gnav-sp-wrap {
		display: none;
		width: 100vw;
		height: 100vh;
		background-color: #fff;
		position: fixed;
		z-index: 100;
		padding-top: 100px;
	}

	ul.gnav-sp li {
		text-align: center;
		margin-bottom: 30px;
	}

	ul.gnav-sp li a {
		font-size: 20px;
		letter-spacing: 0.1em;
		color: #333333;
		font-weight: bold;
		text-decoration: none;
	}
}



/* -----------------------------
メインビジュアル
------------------------------*/
#mainvisual {
	position: relative;
}
	.full div {
		width: 100%;
		height: 100vh;
	  background-repeat: no-repeat;
	  background-size: cover;
	  background-position: center;
	}

	.full div.img01 {
	  background-image: url("../images/mainvisual-pc1.jpg");
	}

	.full div.img02 {
	  background-image: url("../images/mainvisual-pc2.jpg");
	}

	.full div.img03 {
	  background-image: url("../images/mainvisual-pc3.jpg");
	}



	.full .slick-dots {
	  bottom: 4%;
	  z-index: +1;
	}

	.copy-wrap {
		position: absolute;
		left: 203px;
		bottom: 75px;
	}

	.maincopy {
		font-size: 60px;
		font-weight: bold;
		color: #fff;
		line-height: 1.5;
		letter-spacing: 0.05em;
		text-shadow: 1px 1px 1px #b3b2b2;
	}


	.subcopy {
		font-size: 32px;
		font-weight: bold;
		color: #fff;
		line-height: 1.5;
		letter-spacing: 0.08em
	}




/* -----------------------------
スマホ
------------------------------*/
@media screen and (max-width:768px){
	#mainvisual {
	position: relative;
}

 	.full div {
		width: 100vw;
		height: 100vw;

}

	 .copy-wrap {
	 position: absolute;
	 left: 10%;
	 bottom: 20%;
}

	.maincopy {
		font-size: 30px;
		line-height: 1.6;
		letter-spacing: 0.08;
}

	.subcopy {
		font-size: 16px;
		font-weight: bold;
		color: #fff;
		line-height: 1.5;
		letter-spacing: 0.08em
}



	.full div.img01 {
	  background-image: url("../images/mainvisual-sp1.jpg");
}

	.full div.img02 {
	  background-image: url("../images/mainvisual-sp2.jpg");
}

	.full div.img03 {
	  background-image: url("../images/mainvisual-sp3.jpg");
}




}


/* -----------------------------
ONLINE SHOP
------------------------------*/
#onlineshop {
	background-color: #1c273e;
	color: #fff;
}



/* ----------------------
スマホ
------------------------ */
@media screen and (max-width:768px){
}



/* ---------------------
info
---------------------- */

#info .col-2 {
	padding: 48px 0 48px 0;
}



.gmap {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
}

.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}


.content{
	padding-top: 48px;
}

.fa-brands, .fa-cart-shopping {
	color: #1c273e;
}



.info-links li {
	display: inline-block;
	list-style: none;
	margin: 14px;
	padding-top: 24px;
}


/* ----------------------
スマホ
------------------------ */
@media screen and (max-width:768px){
	#info {
		padding: initial;
		background-color: #efeeea;
}


	#info p.medium span {
		 display: block;
}

	 #info p.medium br {
		display: none;
}

	#info .button-border {
		margin: 0 auto;
}

	#info p.small {
		margin: 20px;
}


}

/* ---------------------
SERVICE
-----------------------*/
.smooth {
	clip-path: inset(0 100% 0 0);
	display: inline-block;
	font-size: 36px;
	font-weight: bold;
	transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
	transition-property: clip-path;
	line-height: 1;
	height: 40px;
	margin-top: 15px;
  }

.smooth.is-animated {
	clip-path: inset(0);
  }

.fa-instagram {
	padding: 14px;
}

.travel-links li {
	display: inline-block;
	padding: 14px;
  }

.fa-house {
	color: #1c273e;
}


  

/* ----------------------
スマホ
-----------------------*/

@media screen and (max-width:768px){
	.button-border {
		position: center;
	}
}

/* ----------------------
WORKS
----------------------- */

.autoplay {
	margin: 48px 0 48px 0;
}

.autoplay img {
	margin: 0 4px;
}

#works p.small {
	text-align: center;
}

/* ----------------------
スマホ
------------------------ */
@media screen and (max-width:768px){

	#works p.medium span{
	 display: block;
}


}


/* ---------------------
ABOUT
-----------------------*/

 .prof {
	 max-width: 320px;
	 text-align: center;
 }

	.scroll-up {
	  opacity: 0;
	  visibility: hidden;
	  transform: translateY(50px);
	  transition: all 1s;
	}

	.scroll-up.is-show {
	  opacity: 1;
	  visibility: visible;
	  transform: translateY(0px);
	}



/* -----------------------------
スマホ
------------------------------*/
@media screen and (max-width:768px){

	#about {
		background-color: #efeeea;
	}
	.col-2 {
		display: block;
	}

	.item {
		text-align: center;
	}

	.prof {
		max-width:200px;
	}

	#about p.medium {
		text-align: center;
	}


}




/* ----------------------
CONTACT
----------------------- */
#contact {
	background-image: url(../images/contact.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	padding-bottom: 192px;
	color: #fff;
}

#contact .contact-btn {
	margin-top: 48px;
}



/* ----------------------
スマホ
------------------------ */
@media screen and (max-width:768px){
	#contact {
		background-image: url(../images/contact-sp.jpg);
		
	}
	

#contact p.medium span {
		display: block;
	}

}

/* ----------------------
フッター
-----------------------*/
#footer {
  background-color: #1c273e;
	padding: 32px;
	text-align: center;
}

#footer p.small {
	color: #fff;
	text-align: center;
}

