@charset "UTF-8";
/* CSS Document */


/* ---------------------------------------------------------
body
----------------------------------------------------------*/
html {
	height: 100%;
}

body {
  display: flex;
  flex-direction: column;
	position: relative;
	min-height: 100%;
	font-family:  'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro',’游ゴシック体’, 'Yu Gothic', YuGothic, メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 13px;
	line-height: 1.5;
	color: #fff;
	background-color: #000;
	-webkit-text-size-adjust: 100%;
}
body.fixed {
	position: fixed;
}
article {
	flex: 1 0 auto;
}

img { vertical-align: top;}

section h2,
section h3,
section h4,
article p,
section p,
section dt,
section dd {
	letter-spacing: 0.05em;
}

a {	color: #fff; text-decoration: none;}

.pc {
	display: none!important;
}
h3,h4,h5,p,dt,dd,ul,li,div {
	max-height: 999999px;
}

sup {
	font-size: 16px;
	vertical-align: super;
}
.small {
	font-size: 18px;
}


/* ---------------------------------------------------------
.subttl-l1
----------------------------------------------------------*/
.st-l1-sp {
	font-size: 22px;
	font-weight: normal;
	line-height: 1;
	padding: 39px 0;
	box-sizing: border-box;
	text-align: center;
}
.st-l1-sp:before {
	position: relative;
	top: -10px;
	display: block;
	margin: 0 auto;
}


.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: absolute;
	top: 0;
	left: 0;
	width: 88px;
	height: 85px;
}
.menu-trigger span {
	position: absolute;
	left: 20px;
	width: 34px;
	height: 4px;
	background-color: #000;
}
.menu-trigger span:nth-of-type(1) {	top: 35px;}
.menu-trigger span:nth-of-type(2) {	top: 47px;}
.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(6px) rotate(-45deg);
	transform: translateY(6px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	-webkit-transform: translateY(-6px) rotate(45deg);
	transform: translateY(-6px) rotate(45deg);
}

/* ---------------------------------------------------------
#recommend
----------------------------------------------------------*/
#recommend h3 {
	position: relative;
	height: 80px;
	font-size: 24px;
	line-height: 1;
	text-align: center;
	background-color: #222;
	border-top: 4px solid #fff;
	padding-top: 30px;
	margin-bottom: 40px;
	box-sizing: border-box;
}
#recommend h3 img {
	width: 359px;
	height: auto;
}
#recommend h3:after {
	content: '';
	display: block;
	position: absolute;
	top: 30px;
	left: 50%;
	width: 245px;
	height: 19px;
	background: url(../img/recommend/ttl_sp.png) no-repeat;
	margin-left: -122px;

	display: none;
}
#recommend .wrapper {
	width: 560px;
	margin: 0 auto;
}
#recommend .block a {
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-justify-content: space-between; /* Safari */
	justify-content: space-between;
	border-bottom: 2px dotted #969696;
	padding-bottom: 40px;
	margin-bottom: 40px;
}
#recommend .block:last-child a {
	border: none;
	padding-bottom: 0;
}
#recommend .block .pic {
	position: relative;
	width: 270px;
	margin-right: 20px;
}
#recommend .block .pic img {
	width: 100%;
	height: auto;
}
#recommend .block .txt {
	width: 270px;
}
#recommend .block .txt h4 {
	font-size: 22px;
	margin-bottom: 10px;
}
#recommend .block .txt p {
	font-size: 20px;
	font-weight: 500;
	color: #ccc;
}


/* ---------------------------------------------------------
common
----------------------------------------------------------*/
span.bold { font-weight: bold;}

.bnr-centering-box {
  display: -webkit-flex;
  /* Safari */
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  list-style: none;
  margin-top: 11vw;
}

.bnr-centering-box > li {
  width: 50vw;
  height: 38vw;
  padding: 0;
}

.bnr-centering-box > li > a {
  width: 100%;
  height: 100%;
  display: block;
}

.bnr-centering-box > li:first-child {
  background: url(../../img/bnr_cp_messicampaign_sp.jpg) 0 0 /contain no-repeat;
}

.bnr-centering-box > li:last-child {
  background: url(../../img/bnr_cp_messichallenge_sp.jpg) 0 0 /contain no-repeat;
}

.bnr-centering-box > li:first-child:last-child {
  /*  width: 100%;*/
  /*  padding: 0;*/
}

.bnr-centering-box > li img {
  display: none;
}

/* ---------------------------------------------------------
#pagetop
----------------------------------------------------------*/
#pagetop {
	position: relative;
	width: 100%;
	height: 160px;
	background-color: #222;
	padding-top: 34px;
	box-sizing: border-box;
}
#pagetop a {
	display: block;
	width: 109px;
	height: 82px;
	background: url(../img/footer/icon_pagetop_sp.png) no-repeat center;
	padding: 20px;
	margin: 0 auto;
	box-sizing: border-box;
}
#pagetop a img {
	display: none;
}


/* ---------------------------------------------------------
clearfix
----------------------------------------------------------*/
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clearfix { min-height: 1px; }

/* ------------------------------------------------------------
column-row-docter--pb--down
--------------------------------------------------------------- */
@media all and (max-width: 640px) {
.column-row-docter--pb--down{
	margin-bottom: 102px;
}
}

.tab-content-display .category-btn-wrapper {
  display: none;
}


.category-btn-wrapper {
	width: 100%;
	margin: 50px auto;
}
