@charset "utf-8";

/*--------------------------------------------------
* Base
==================================================*/

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
}

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}

@font-face {
  font-family: "GAU_modern_SR";
  src: url("../font/GAU_modern_SR.TTF") format('truetype'),
    url("../font/GAU_modern_SR.woff") format('woff');
}

@font-face {
  font-family: "NotoSerif M";
  src: url("../font/NotoSerifCJKjp-Medium.otf") format('opentype');
}

@font-face {
  font-family: "NotoSerif B";
  src: url("../font/NotoSerifCJKjp-Bold.otf") format('opentype');
}

@media screen and (min-width: 500px){	
  .br-pc { display:block; }
  .br-sp { display:none; }
}

@media screen and (max-width: 500px){	
  .br-pc { display:none; }
  .br-sp { display:block; }
}

body {
  background-color: #231815;
  color: #fff;
  font-family: 'A-OTF 中ゴシックBBB Pro', YuGothic, 'Yu Gothic Medium', Meiryo, sans-serif;
  font-size: 20px;
  line-height: 2em;
}

a {
  color: #fff;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

ul {
  list-style-type: none;
}

.forPC {
  display: block;
}

.forSP {
  display: none;
}


/*--------------------------------------------------
* header
==================================================*/

header section#mainVisual {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  height: 70vh;
  margin-bottom: 50px;
  background: url(../images/bg_header.jpg) 0 bottom / cover no-repeat;
}

header section#mainVisual h1 {
  max-width: 1340px;
  margin: 0 auto;
  padding: 50px 20px 0 20px;
}

header section#intro {
  padding-bottom: 100px;
  text-align: center;
  font-family: "NotoSerif M", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

header section#intro p {
  margin-bottom: 30px;
  font-size: 24px;
  line-height: 2.3em;
  text-align: center;
}


/*--------------------------------------------------
* main
==================================================*/

main {
  overflow: hidden;
}

main section {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px;  
}

main section h2 {
  margin-bottom: 60px;
  font-size: 64px;
  line-height: 1.2em;
  text-align: center;
}


/*--------------------------------------------------
* closeup
==================================================*/

main section#closeup {
  margin: 0 auto;
  padding-bottom: 100px;
}

main section#closeup h2 span.ja {
  font-family: "NotoSerif B", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

main section#closeup h2 span.en {
  font-family: 'GAU_modern_SR', 'A-OTF 中ゴシックBBB Pro', YuGothic, 'Yu Gothic Medium', Meiryo, sans-serif;
}

main section#closeup div.box {
  position: relative;
  margin-bottom: 100px;
}

main section#closeup div.box div.box01,
main section#closeup div.box div.box02 {
  display: flex;
  justify-content: space-between;
  width: 100%;
  background-color: #231815;
}

main section#closeup div.box div.box01 {
  position: absolute;
}

main section#closeup div.box div.box01.picR,
main section#closeup div.box div.box02.picR {
  flex-direction: row-reverse;
}

main section#closeup div.box div.box01 p.pic,
main section#closeup div.box div.box02 p.pic {
  max-width: 410px;
  margin-right: 40px;
}

main section#closeup div.box div.box01.picR p.pic,
main section#closeup div.box div.box02.picR p.pic {
  margin: 0 0 0 40px;
}

main section#closeup div.box div.box01 div.data {
  display: flex;
  align-items: center;
  width: 370px;
}

main section#closeup div.box div.box01.picR div.data {
  justify-content: flex-end;
}

main section#closeup div.box div.box02 div.data {
  width: 370px;
  margin-top: 25px;
}

main section#closeup div.box div.box01 div.data h3,
main section#closeup div.box div.box02 div.data h3 {
  font-size: 26px;
  font-weight: normal;
  line-height: 1em;
}

main section#closeup div.box div.box02 div.data h3 {
  margin-bottom: 25px;
}

main section#closeup div.box div.box02 div.data p {
  margin-bottom: 20px;
  font-size: 15px;
  line-height: 1.5em;
  letter-spacing: -1px;
}


/*--------------------------------------------------
* parallax
==================================================*/

main section#parallax {
  max-width: inherit;
  height: 790px;
  margin-bottom: 100px;
  background: url(../images/bg_parallax.jpg) center center / cover fixed;
}


/*--------------------------------------------------
* quality
==================================================*/

main section#quality {
  margin-bottom: 80px;
  font-size: 18px;
  line-height: 1.8em;
}

main section#quality h2 {
  font-family: "NotoSerif B", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: -10px;
}


/*--------------------------------------------------
* club
==================================================*/

main section#club {
  margin-bottom: 120px;
  overflow: hidden;
}

main section#club p.pic {
  float: left;
  margin-right: 30px;
}

main section#club p.data {
  padding-top: 20px;
  font-size: 16px;
  line-height: 1.8em;
}


/*--------------------------------------------------
* products
==================================================*/

main section#products ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

main section#products a {
  display: block;
  transition: .3s all;
}

main section#products a:hover {
  text-decoration: none;
  opacity: 0.6;
}

main section#products ul li {
  width: 33.3%;
  margin: 0 0 60px 0;
  font-size: 14px;
  line-height: 1.8em;
}

main section#products ul li span.pic {
  display: block;
  max-width: 90%;
  margin-bottom: 20px;
  text-align: center;
}


@media screen and (max-width: 767px) {

/*--------------------------------------------------
* Base
==================================================*/
  
body {
  font-size: 10px;
  line-height: 2em;
}


/*--------------------------------------------------
* header
==================================================*/

header section#mainVisual {
  position: static;
  height: 270px;
  margin-bottom: 30px;
  background: url(../images/bg_header_sp.jpg) center center / cover no-repeat;
}

header section#mainVisual h1 {
  padding: 15px 15px 0 15px;
}

header section#intro {
  padding-bottom: 50px;
}

header section#intro p {
  margin-bottom: 30px;
  font-size: 13px;
  line-height: 2.3em;
}


/*--------------------------------------------------
* main
==================================================*/

main section {
  margin: 0 auto;
  padding: 0; 
}

main section h2 {
  margin-bottom: 35px;
  font-size: 36px;
  line-height: 1.2em;
}


/*--------------------------------------------------
* closeup
==================================================*/

main section#closeup {
  padding-bottom: 40px;
}

main section#closeup div.box {
  margin-bottom: 40px;
}

main section#closeup div.box div.box02 {
  display: block;
  width: 100%;
}

main section#closeup div.box div.box01 {
  display: none;
}

main section#closeup div.box div.box02 p.pic {
  max-width: 100%;
  margin: 0 0 25px 0;
}

main section#closeup div.box div.box02.picR p.pic {
  margin: 0 0 25px 0;
}
  
main section#closeup div.box div.box02 p.pic img {
  width: 100%;
  height: auto;
}

main section#closeup div.box div.box02 div.data {
  width: 100%;
  margin-top: 0;
  padding: 0 20px;
}

main section#closeup div.box div.box02 div.data h3 {
  margin-bottom: 20px;
  font-size: 15px;
}

main section#closeup div.box div.box02 div.data p {
  margin-bottom: 20px;
  font-size: 12px;
  line-height: 2em;
}


/*--------------------------------------------------
* parallax
==================================================*/

main section#parallax {
  height: 215px;
  margin-bottom: 40px;
  background: url(../images/bg_parallax_sp.jpg) center center / cover no-repeat;
}


/*--------------------------------------------------
* quality
==================================================*/

main section#quality {
  margin-bottom: 60px;
  padding: 0 20px;
  font-size: 12px;
  line-height: 2em;
}

main section#quality h2 {
  letter-spacing: -5px;
}


/*--------------------------------------------------
* club
==================================================*/

main section#club {
  margin-bottom: 75px;
}

main section#club p.pic {
  float: none;
  width: 64.8%;
  margin: 0 auto 30px auto;
  text-align: center;
}

main section#club p.data {
  margin: 0 20px;
  padding: 0;
  font-size: 12px;
  line-height: 2em;
}


/*--------------------------------------------------
* products
==================================================*/
  
main section#products {
  display: block;
  padding: 0 20px;
}

main section#products ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

main section#products ul li {
  width: 49%;
  margin-bottom: 30px;
  font-size: 10px;
  line-height: 2em;
}

main section#products ul li span.pic {
  display: block;
  margin-bottom: 20px;
  text-align: center;
}

}