@charset "utf-8";

/*===============================================
●画面の横幅が769px以上
===============================================*/
@media screen and (min-width : 769px ){
#pc------------------------------------------- {
}
#helo {
	position: relative;
	height: 1000px;
	overflow: hidden;
	background-color: #ccc;
}
#helo video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
}
#helo h2 {
	margin-bottom: 80px;
	padding-top: 120px;
}
#helo h2 p.pc {
	font-size: 24px;
	font-weight: 500;
	line-height: 1.5em;
	margin-top: 40px;
}
#helo .mv__content {
	position: relative;
	z-index: 2;
	color: #fff;
}
#helo .mv__content h2 {
	font-family: 'Noto Serif JP', serif;
	font-size: 3.5vw;
	line-height: 1.6em;
	font-weight: 500;
	margin-bottom: 2vw;
}
#helo .mv__content h2+p {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
#helo .mv__content h2+p+p {
	font-size: 2vw;
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	line-height: 1.5em;
	margin-top: 1vw;
}





#news .logo {
	color: #928370;
	font-size: 30px;
	margin-top: 50px;
	font-family: "Noto Serif JP";
	margin-bottom: 30px;
}
#news h2 {
	color: #C99391;
	font-size: 40px;
	font-family: "Noto Serif JP";
}
#news h2+p {
	color: #A89587;
	font-size: 18px;
	margin-top: 25px;
	line-height: 1.6em;
}
#news .box {
	border-radius: 10px;
	border: 1px solid #A59989;
	width: 710px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	margin-top: 30px;
}
#news .box h3 {
	background-color: #A5988A;
	text-align: center;
	font-family: "Noto Serif JP";
	color: #fff;
	font-size: 27px;
	height: 50px;
	line-height: 50px;
	border-top-left-radius: 7px;
	border-top-right-radius: 7px;
	font-weight: 500;
}
#news .box ul {
	margin-left: 15px;
	font-size: 23px;
	line-height: 2em;
	margin-top: 5px;
	margin-bottom: 5px;
}
#news .box ul li span {
	color: #C99391;
}
#news .box ul li em {
	color: #C99391;
	font-weight: bold;
}
#news .box+p {
	width: 700px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	font-size: 14px;
	margin-top: 10px;
}
#news .box+p+p {
	width: 700px;
	text-align: left;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
}
#news h4 {
	color: #C99391;
	font-size: 36px;
	font-family: "Noto Serif JP";
	margin-top: 50px;
	margin-bottom: 30px;
}
#news .btn a {
	width: 380px;
	height: 70px;
	border-radius: 10px;
	background: #C99391;
	display: block;
	margin-left: auto;
	margin-right: auto;
	color: #fff;
	line-height: 70px;
	text-decoration: none;
	font-size: 20px;
	font-weight: 500;
	transition: 0.3s;
	margin-top: 30px;
}
#news .btn a svg {
	margin-left: 10px;
}
#news .btn a:hover {
	opacity: 0.7;
	transition: 0.3s;
}





#concept {
	background-image: url("../images/pc/index/concept-bg.jpg");
	background-size: cover;
	background-position: center center;
	margin-top: 150px;
	padding-top: 150px;
	padding-bottom: 150px;
}
#concept .flex {
	width: 90%;
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	align-items: center;
}
#concept .flex figure {
	width: 47%;
}
#concept .flex figure img {
	width: 100%;
	height: auto;
}
#concept .flex div {
	width: 47%;
}
#concept .flex div p {
	text-align: left;
	margin-top: 30px;
	margin-left: auto;
	margin-right: auto;
}





#method h2 {
	width: 600px;
	margin-left: auto;
	margin-right: auto;
}
#method h2+p {
	margin-top: 40px;
	margin-bottom: 60px;
}
#method .box {
	background-image: url("../images/pc/index/concept-bg.jpg");
	background-size: cover;
	background-position: center center;
	margin-bottom: 50px;
	width: 80%;
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
}
#method .box .flex {
	display: flex;
	justify-content: center;
	gap: 40px;
	margin-left: auto;
	margin-right: auto;
	align-items: center;
	padding-top: 50px;
	padding-bottom: 50px;
}
#method .box:nth-child(odd) .flex {
	flex-direction: row-reverse;
}
#method .box .flex div {
	width: 58%;
	text-align: left;
}
#method .box .flex div h3 {
	font-family: "Noto Serif JP";
	font-size: 24px;
	background-color: #fff;
	padding-left: 15px;
	font-weight: 500;
	box-shadow: 3px 3px 0px #666;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-bottom: 30px;
}
#method .box .flex figure {
	width: 30%;
}
#method .box .flex figure img {
	width: 100%;
	height: auto;
}





#session {
	margin-top: 100px;
}
#session h2 {
	width: 350px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
}
#session h2+p span {
	color: #FF6F3C;
}
#session .flex {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	max-width: 1300px;
	display: flex;
	justify-content: space-between;
	margin-top: 80px;
	align-items: center;
}
#session .flex:nth-child(odd) {
	flex-direction: row-reverse;
}
#session .flex figure {
	width: 45%;
}
#session .flex figure img {
	width: 100%;
	height: auto;
}
#session .flex div {
	width: 51%;
	text-align: left;
}
#session .flex div h3 {
	font-family: "Noto Serif JP";
	font-size: 20px;
	font-weight: 500;
	border-bottom: 1px solid #ccc;
	padding-bottom: 10px;
	margin-bottom: 20px;
}
#session .flex div h3+p span {
	font-weight: bold;
}
#session .flex div ul {
	background-color: #EEEEEE;
	margin-top: 30px;
	padding: 15px;
}





#reason {
	margin-top: 150px;
}
#reason h2 {
	width: 500px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
}
#reason .flex {
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
}
#reason .flex div {
	width: 19.5%;
	background-color: #EEEEEE;
	padding-bottom: 30px;
	padding-top: 5px;
}
#reason .flex div figure {
	margin-top: 15px;
}
#reason .flex div figure img {
	width: 80%;
	height: auto;
}
#reason .flex div p {
	font-size: 14px;
	line-height: 1.5em;
	margin-top: 20px;
}





#trainer h2 {
	width: 500px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
	margin-top: 150px;
}
#trainer .box {
	background-color: #EEEEEE;
	width: 700px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 50px;
	padding-bottom: 50px;
}
#trainer .box .btn a {
	background-color: #fff;
	width: 250px;
	height: 50px;
	display: block;
	margin-left: auto;
	margin-right: auto;
	line-height: 50px;
	color: #333;
	text-decoration: none;
	border: 1px solid #666;
	margin-top: 30px;
	font-family: "Noto Serif JP";
	font-weight: 500;
	transition: 0.3s;
}
#trainer .box .btn a:hover {
	background-color: #666;
	color: #fff;
	transition: 0.3s;
}





#review h2 {
	width: 500px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
	margin-top: 150px;
}





#access h2 {
	width: 500px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
	margin-top: 150px;
}
#access h3 {
	font-family: "Noto Serif JP";
	font-weight: 500;
	font-size: 20px;
	margin-top: 30px;
	margin-bottom: 20px;
}
#access table {
	width: 700px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}
#access table {
	border-top: 1px solid #ddd;
	border-right: 1px solid #ddd;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
}
#access table tr:first-child th {
	border-top-left-radius: 8px;
}
#access table tr:last-child th {
	border-bottom-left-radius: 8px;
}
#access table tr:last-child td {
	border-bottom-right-radius: 8px;
}
#access table th {
	background-color: #FFF5F1;
	font-weight: normal;
	text-align: center;
	padding-top: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #ddd;
	border-left: 1px solid #ddd;
	width: 200px;
}
#access table td {
	padding-left: 20px;
	padding-top: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #ddd;
}





#stores {
	background-image: url("../images/pc/index/shop-bg.jpg");
	margin-top: 150px;
	padding-top: 150px;
	padding-bottom: 150px;
	margin-bottom: 150px;
}
#stores .box {
	background-color: hsla(0,0%,100%,0.80);
	width: 700px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 50px;
	padding-bottom: 50px;
}
#stores .box h2 {
	width: 400px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
}
#stores .box p a {
	background-color: #fff;
	display: block;
	width: 250px;
	height: 50px;
	line-height: 50px;
	margin-left: auto;
	margin-right: auto;
	color: #333;
	text-decoration: none;
	border: 1px solid #333;
	margin-top: 40px;
	font-family: "Noto Serif JP";
	font-weight: 500;
	transition: 0.3s;
}
#stores .box p a:hover {
	background-color: #333;
	color: #fff;
	transition: 0.3s;
}





#brands h2 {
	width: 400px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
}
#brands ul {
	display: flex;
	justify-content: space-between;
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
#brands ul li {
	font-size: 13px;
}
}



/*===============================================
●画面の横幅が768pxまで
===============================================*/
@media screen and (max-width:768px){
	
/*===============================================
●sp-tablet
===============================================*/
#sptablet------------------------------------------- {
}
#helo {
	position: relative;
	height: 130vw;
	overflow: hidden;
	background-color: #ccc;
}
#helo video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
}
#helo .mv__content {
	position: relative;
	z-index: 2;
	color: #fff;
}
#helo .mv__content h2 {
	font-family: 'Noto Serif JP', serif;
	font-size: 7vw;
	line-height: 1.4em;
	font-weight: 500;
	margin-bottom: 2vw;
	padding-top: 10vw;
	color: #fff;
	text-shadow: 0px 0px 10px #333;
}
#helo .mv__content h2+p {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
#helo .mv__content h2+p+p {
	font-size: 4.4vw;
	text-shadow: 0px 0px 10px #333;
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	line-height: 1.5em;
	margin-top: 1vw;
}





#news .logo {
	color: #928370;
	font-size: 6vw;
	margin-top: 8vw;
	font-family: "Noto Serif JP";
	margin-bottom: 3vw;
}
#news h2 {
	color: #C99391;
	font-size: 7vw;
	line-height: 1.4em;
	font-family: "Noto Serif JP";
}
#news h2+p {
	color: #A89587;
	font-size: 4vw;
	margin-top: 3vw;
	line-height: 1.6em;
}
#news .box {
	border-radius: 2vw;
	border: 1px solid #A59989;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	margin-top: 5vw;
}
#news .box h3 {
	background-color: #A5988A;
	text-align: center;
	font-family: "Noto Serif JP";
	color: #fff;
	font-size: 5vw;
	height: 12vw;
	line-height: 12vw;
	border-top-left-radius: 1vw;
	border-top-right-radius: 1vw;
	font-weight: 500;
}
#news .box ul {
	margin-left: 3vw;
	font-size: 3.5vw;
	line-height: 2em;
	margin-top: 2vw;
	margin-bottom: 2vw;
}
#news .box ul li span {
	color: #C99391;
}
#news .box ul li em {
	color: #C99391;
	font-weight: bold;
}
#news .box+p {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	font-size: 3vw;
	margin-top: 1vw;
	white-space: nowrap;
}
#news .box+p+p {
	width: 90%;
	text-align: left;
	margin-left: auto;
	margin-right: auto;
	margin-top: 5vw;
	
}
#news h4 {
	color: #C99391;
	font-size: 6vw;
	font-family: "Noto Serif JP";
	margin-top: 5vw;
	margin-bottom: 5vw;
}
#news .btn a {
	width: 80%;
	height: 15vw;
	border-radius: 2vw;
	background: #C99391;
	display: block;
	margin-left: auto;
	margin-right: auto;
	color: #fff;
	line-height: 15vw;
	text-decoration: none;
	font-size: 5vw;
	font-weight: 500;
	transition: 0.3s;
	margin-top: 5vw;
}
#news .btn a svg {
	margin-left: 3vw;
}
#news .btn a:hover {
	opacity: 0.7;
	transition: 0.3s;
}





#concept {
	background-image: url("../images/pc/index/concept-bg.jpg");
	background-size: cover;
	background-position: center center;
	margin-top: 15vw;
	padding-top: 15vw;
	padding-bottom: 15vw;
}
#concept .flex {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
#concept .flex figure {

}
#concept .flex div {

}
#concept .flex div p {
	text-align: left;
	margin-top: 5vw;
	margin-left: auto;
	margin-right: auto;
}





#method {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
#method h2 {
	margin-left: auto;
	margin-right: auto;
}
#method h2+p {
	margin-top: 5vw;
	margin-bottom: 5vw;
	text-align: left;
}
#method .box {
	background-image: url("../images/pc/index/concept-bg.jpg");
	background-size: cover;
	background-position: center center;
	margin-bottom: 10vw;
	width: 90%;
	padding-left: 5vw;
	padding-right: 5vw;
	margin-left: auto;
	margin-right: auto;
}
#method .box .flex {
	margin-left: auto;
	margin-right: auto;
	padding-top: 5vw;
	padding-bottom: 5vw;
}
#method .box .flex div {
	text-align: left;
}
#method .box .flex div h3 {
	font-family: "Noto Serif JP";
	font-size: 5vw;
	background-color: #fff;
	padding-left: 3vw;
	font-weight: 500;
	box-shadow: 3px 3px 0px #666;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-bottom: 5vw;
}





#session {
	margin-top: 15vw;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
#session h2 {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5vw;
}
#session h2+p span {
	color: #FF6F3C;
}
#session .flex {
	margin-left: auto;
	margin-right: auto;
	margin-top: 10vw;
}
#session .flex figure {
	margin-top: 5vw;
}
#session .flex div {
	text-align: left;
}
#session .flex div h3 {
	font-family: "Noto Serif JP";
	font-size: 5vw;
	font-weight: 500;
	border-bottom: 1px solid #ccc;
	padding-bottom: 2vw;
	margin-bottom: 3vw;
}
#session .flex div h3+p span {
	font-weight: bold;
}
#session .flex div ul {
	background-color: #EEEEEE;
	margin-top: 5vw;
	padding: 3vw;
}





#reason {
	margin-top: 15vw;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
#reason h2 {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5vw;
}
#reason .flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-left: auto;
	margin-right: auto;
}
#reason .flex div {
	width: 48%;
	background-color: #EEEEEE;
	padding-bottom: 3vw;
	padding-top: 5px;
	margin-top: 5vw;
}
#reason .flex div figure {
	margin-top: 3vw;
}
#reason .flex div figure img {
	width: 80%;
	height: auto;
}
#reason .flex div p {
	font-size: 3.5vw;
	line-height: 1.5em;
	margin-top: 3vw;
}





#trainer {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
#trainer h2 {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5vw;
}
#trainer .box {
	background-color: #EEEEEE;
	margin-left: auto;
	margin-right: auto;
	padding: 5vw;
}
#trainer .box .btn a {
	background-color: #fff;
	width: 80%;
	height: 15vw;
	display: block;
	margin-left: auto;
	margin-right: auto;
	line-height: 15vw;
	color: #333;
	text-decoration: none;
	border: 1px solid #666;
	margin-top: 5vw;
	font-family: "Noto Serif JP";
	font-weight: 500;
	transition: 0.3s;
}
#trainer .box .btn a:hover {
	background-color: #666;
	color: #fff;
	transition: 0.3s;
}





#review {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 15vw;
}
#review h2 {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5vw;
}





#access {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 15vw;
}
#access h2 {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5vw;
}
#access iframe {
	height: 60vw;
}
#access h3 {
	font-family: "Noto Serif JP";
	font-weight: 500;
	font-size: 5vw;
	margin-top: 5vw;
	margin-bottom: 3vw;
}
#access table {
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}
#access table {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
}
#access table tr:first-child th {
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
}
#access table tr:last-child td {
	border-bottom-right-radius: 8px;
	border-bottom-left-radius: 8px;
	border-bottom: none;
}
#access table th {
	display: block;
	width: 99.5%;
	background-color: #FFF5F1;
	font-weight: normal;
	text-align: center;
	padding-top: 1vw;
	padding-bottom: 1vw;
	border-left: 1px solid #ddd;
}
#access table td {
	display: block;
	width: 94%;
	border-bottom: 1px solid #ddd;
	border-left: 1px solid #ddd;
	padding-left: 3%;
	padding-right: 3%;
	padding-top: 3vw;
	padding-bottom: 3vw;
}





#stores {
	background-image: url("../images/pc/index/shop-bg.jpg");
	background-position: center center;
	background-size: cover;
	margin-top: 15vw;
	padding-top: 15vw;
	padding-bottom: 15vw;
	margin-bottom: 15vw;
}
#stores .box {
	background-color: hsla(0,0%,100%,0.80);
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	padding: 5vw;
}
#stores .box h2 {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5vw;
}
#stores .box h2+p {
	text-align: left;
}
#stores .box p a {
	background-color: #fff;
	display: block;
	width: 90%;
	height: 15vw;
	line-height: 15vw;
	margin-left: auto;
	margin-right: auto;
	color: #333;
	text-decoration: none;
	border: 1px solid #333;
	margin-top: 5vw;
	font-family: "Noto Serif JP";
	font-weight: 500;
	transition: 0.3s;
}
#stores .box p a:hover {
	background-color: #333;
	color: #fff;
	transition: 0.3s;
}





#brands {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
#brands h2 {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5vw;
}
#brands ul {
	margin-left: auto;
	margin-right: auto;
}
#brands ul li {
	font-size: 3.5vw;
	margin-bottom: 5vw;
}
}



/*===============================================
●画面の横幅が400pxまで
===============================================*/
@media screen and (max-width:400px){
/*===============================================
●sp400
===============================================*/
#sp400------------------------------------------- {
}
}



/*===============================================
●画面の横幅が320pxまで
===============================================*/
@media screen and (max-width:320px){
/*===============================================
●sp320
===============================================*/
#sp320------------------------------------------- {
}
}



/*===============================================
●画面の横幅が481pxから768pxまで
===============================================*/
@media screen and (min-width:481px) and (max-width:768px) {
/*===============================================
●tablet
===============================================*/
#tab------------------------------------------- {
}
}