@charset "UTF-8";

/* HeroBnr
======================================================================*/
.HeroBnr {
    width: 100%;
    /*max-width: 1920px;*/
    margin: 0 auto;
    position: relative;
    /*チラつき対策*/
    visibility: hidden;
}
/*
.HeroBnr ul.slider li img{
    max-width: 1100px;
    height: auto;
}
*/

/*h2*/
.HeroBnr .catch{
   /*width: 100%;
    max-width: 1280px;*/
    top: 50%;
    left: 10%;
    transform: translateY(-50%);
    position: absolute;
    z-index: 3;
}
@media only screen and (max-width: 768px){
.HeroBnr .catch{
    top: 40%;
    left: 10%;
}
}
/*
.HeroBnr p.ttl{
	font-family: 'Shippori Mincho B1', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "ＭＳ 明朝", "MS Mincho", serif;
	text-align: left;
	color: #000;
	font-size: 3.2rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.4;
}
@media only screen and (max-width: 768px){
.HeroBnr p.ttl{
	font-size: 2.0rem;
}
}
*/
.HeroBnr h2{
	font-family: 'Shippori Mincho B1', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "ＭＳ 明朝", "MS Mincho", serif;
	text-align: left;
	color: #000;
	font-size: 4.4rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.4;
	margin-bottom: 0.5em;
}
@media only screen and (max-width: 768px){
.HeroBnr h2{
	font-size: 2.8rem;
}
}

.HeroBnr h2 span.ttl{
	display: block;
	font-family: 'Shippori Mincho B1', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "ＭＳ 明朝", "MS Mincho", serif;
	text-align: left;
	color: #000;
	font-size: 3.2rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.4;
}
@media only screen and (max-width: 768px){
.HeroBnr h2 span.ttl{
	font-size: 2.0rem;
}
}

.HeroBnr p{
	font-family: 'Shippori Mincho B1', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "ＭＳ 明朝", "MS Mincho", serif;
	text-align: left;
	color: #303030;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.4;
}

@media only screen and (max-width: 768px){
.HeroBnr p{
	font-size: 1.2rem;
}
}


/* slick-slide
===================================*/
.slider .slick-slide {
  /*max-width: 1600px;
  height: 600px;
  margin: 0 10px;*/
  width: 100%;
  margin: 0;
  position: relative;
  overflow: hidden;
}
.slider .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
.slider .slick-slide {
  height: 430px;
}
.slider .slick-slide img {
  display: block;
  width: auto;
  height: 430px;
  object-fit: cover;
}
}

/* recommend
===================================*/

.recommend {
	width: 100%;
    padding: 5em 0 2em;
	position: relative;
}
@media screen and (max-width: 768px){
.recommend {
    padding: 3em 0 1em;
}
}

.recommend .inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
/*
.recommend .ttlbox{
	width: 10%;
}
@media screen and (max-width: 768px){
.recommend .ttlbox{
	width: 12%;
}
}
*/
.recommend ul{
	width: 88%;
	padding-top: 60px;
	padding-bottom: 40px;
}
@media screen and (max-width: 768px){
.recommend ul{
	width: 80%;
	padding-top: 30px;
	padding-bottom: 20px;
}
}

.recommend ul.exclusive{
	padding-top: 0px;
}
@media screen and (max-width: 768px){
.recommend ul.exclusive{
	padding-top: 0px;
}
}

#contents .recommend h3{
    font-size: 2.0rem;
	margin-bottom: 1em;
}
@media screen and (max-width: 980px){
#contents .recommend h3{
    font-size: 1.6rem;
}
}
@media screen and (max-width: 480px){
#contents .recommend h3{
    font-size: 1.4rem;
}
}

.recommend .view-more{
	padding-top: 1em;
  margin-top: auto;
}

.recommend a.btn_more{
	margin-left: auto;
}

/* information
===================================*/

.information {
	width: 100%;
	padding: 5em 0 2em;
	position: relative;
}
@media screen and (max-width: 768px){
.information {
    padding: 3em 0 1em;
}
}

.information.archive {
	padding: 0em 0 2em;
}
@media screen and (max-width: 768px){
.information.archive {
    padding: 0em 0 1em;
}
}

.information .inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction:row-reverse; 
}
/*
.information .ttlbox{
	width: 10%;
}
@media screen and (max-width: 768px){
.information .ttlbox{
	width: 12%;
}
}
.information .ttlbox h2{
	margin-left: auto;
}
*/

.information ul{
	width: 88%;
	padding-top: 60px;
	padding-bottom: 40px;
}
@media screen and (max-width: 768px){
.information ul{
	width: 80%;
	padding-top: 30px;
	padding-bottom: 20px;
}
}

.information ul.full{
	width: 100%;
	padding-top: 0px;
}
@media screen and (max-width: 768px){
.information ul.full{
	width: 100%;
	padding-top: 0px;
}
}

#contents .information h3{
    font-size: 1.6rem;
	margin-bottom: 1em;
}
@media screen and (max-width: 768px){
#contents .information h3{
    font-size: 1.4rem;
}
}
@media screen and (max-width: 480px){
#contents .information h3{
    font-size: 1.2rem;
}
}

.information span.date{
	font-size: 1.2rem;
	color: #848484;
	margin-bottom: 0.5em;
}

.information .view-more{
  margin-top: auto;
}

.information a.btn_more{
	margin-right: auto;
}


/* spirit
===================================*/

.spirit {
	width: 100%;
    padding: 5em 0 8em;
	position: relative;
}
@media screen and (max-width: 768px){
.spirit {
    padding: 3em 0 6em;
}
}

.spirit .inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
/*
.spirit .ttlbox{
	width: 10%;
}
@media screen and (max-width: 768px){
.spirit .ttlbox{
	width: 12%;
}
}
*/
.spirit .col2-multi-wrap{
	width: 88%;
	padding-top: 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between; 
	column-count: 2;
	column-gap: 0px;
}
@media screen and (max-width: 768px) {
.spirit .col2-multi-wrap{
	width: 80%;
	padding-top: 30px;
}
}

.spirit .col2-txt{
	width: 43%;
}


.spirit .col2-img{
	width: 56%;
}

.spirit .col2-img img{
	max-width: 100%;
}

@media screen and (max-width: 768px) {
.spirit .col2-txt{
	width: 100%;
	margin-bottom: 2em;
}

.spirit .col2-img{
	width: 100%;
}
}

#contents .spirit h3{
	line-height: 2.0;
	margin-bottom: 2em;
}
@media screen and (max-width: 768px) {
#contents .spirit h3{
	font-size: 1.6rem;
	line-height: 1.8;
	margin-bottom: 1em;
}
}


/* online
===================================*/

.online {
	width: 100%;
	padding: 0 0 6em;
	position: relative;
	background-image: url(../images/bg_online.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
@media screen and (max-width: 768px){
.online {
    padding: 0 0 3em;
}
}

.online ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between; 
	margin-bottom: 3em;
}

.online ul li{
	/*width: 25%;*/
	width : calc(100% / 3) ;
}
@media screen and (max-width: 768px){
.online ul li{
	width: 50%;
}
}

.online ul li img{
	max-width: 100%;
}


/* intro
===================================*/

.intro {
	width: 100%;
	position: relative;
}
@media screen and (max-width: 768px){
.intro {
}
}


/* product
===================================*/

.product {
	width: 100%;
	padding: 5em 0 5em;
	position: relative;
}
@media screen and (max-width: 768px){
.product {
    padding: 3em 0 3em;
}
}

.product .inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction:row-reverse; 
}

.product ul{
	width: 88%;
	padding-top: 60px;
	padding-bottom: 40px;
}
@media screen and (max-width: 768px){
.product ul{
	width: 80%;
	padding-top: 30px;
	padding-bottom: 20px;
}
}

.product ul.full{
	width: 100%;
}
@media screen and (max-width: 768px){
.product ul.full{
	width: 100%;
}
}

#contents .product h3{
    font-size: 1.6rem;
	margin-bottom: 1em;
	min-height: calc(1.4em * 2); 
}
@media screen and (max-width: 768px){
#contents .product h3{
    font-size: 1.4rem;
	min-height: auto; 
}
}
@media screen and (max-width: 480px){
#contents .product h3{
    font-size: 1.2rem;
}
}

.product span.date{
	font-size: 1.2rem;
	color: #848484;
	margin-bottom: 0.5em;
}

.product .view-more{
	padding-top: 1em;
  margin-top: auto;
}

.product a.btn_more{
	margin-right: auto;
}

/* recommend / information / product
===================================*/ 
.recommend span.category,
.recommend span.information,
.product span.category{
	font-size: 1.1rem;
	color: #848484;
	margin-bottom: 1em;
}

.recommend span.price,
.recommend span.price,
.product span.price{
	font-size: 1.3rem;
	color: #848484;
	margin-bottom: 1em;
}

.recommend span.award,
.recommend span.award,
.product span.award{
	font-size: 1.4rem;
	font-weight: 700;
	color: #000000;
}







/* mv_logo SVGアニメーション
===================================

#mvLogo path{
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill-opacity: 0;
  transition: fill-opacity .6s;
}

#mvLogo.done path{
  fill: #fff;
  fill-opacity: 1;
  stroke: none;
}

===================================*/