@charset "utf-8";

/* リセット
---------------------------------------------------------- */

html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea, p, table, th, td, button {
    margin: 0;
	padding: 0;
	font-size: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

img {
	display: block;
	border: 0;
	max-width:100%;
	vertical-align:top;
}

div img {
	display: inline;
}

ol ,
ul {
	list-style: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

address {
	font-style: normal;
}


/*clearfix
----------------------------------------*/
.clearfix { zoom:1; }

.clearfix:after {
	content: "";
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	font-size: 0.1em;
	line-height: 0;
}

/* レイアウト
----------------------------------------*/

html {
	height: 100%;
}

body {
	position:relative;
	color: #333333;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 12px;
	line-height: 1.5;
	height: 100%;
	box-sizing:border-box;
	letter-spacing: 0.08em;
}

body a {
	color: #333333;
	text-decoration: none;
}

a:hover,
a:hover img {
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

img {
	max-width:100%;
}

.pcHide {
	display:none !important;
}


header {
	position:relative;
	padding:0 23px;
	border-bottom:2px solid #e7e7e7;
}

header h1 {
	padding:22px 0 24px;
}

header h1 a:hover,
header h1 a:hover img{
	opacity: 1;
}

header .menu {
	display:none;
}

header .gnav-list {
	position:absolute;
	top:50px;
	right:24px;
	letter-spacing:-0.5em;
}

header .gnav-item {
	position:relative;
	display:inline-block;
	margin:0 0 0 40px;
	font-size:14px;
	font-weight:bold;
	line-height:1.43;
	letter-spacing:1.5px;
	vertical-align:top;
}

header .gnav-item.act:after {
	content:'';
	position:absolute;
	left:0;
	bottom:-20px;
	width:100%;
	height:2px;
	background:#e50012;
}

header .magazine {
	position:absolute;
	top:0;
	right: 468px;
}

header .magazine a {
	display:block;
	width:140px;
	padding:5px 0 6px;
	color:#fff;
	font-size:12px;
	font-weight:bold;
	text-align:center;
	border-top:none;
	border-radius:0 0 6px 6px;
	background-color: #e50012;
	box-sizing:border-box;
}

header .shop {
	position:absolute;
	top:0;
	right: 320px;
}

header .shop a {
	display:block;
	width:140px;
	padding:5px 0 6px;
	color:#e50012;
	font-size:12px;
	font-weight:bold;
	text-align:center;
	border:2px solid #e50012;
	border-top:none;
	background:#fff;
	border-radius:0 0 6px 6px;
	box-sizing:border-box;
}

header .enBnr {
	position:absolute;
	top:0;
	right:172px;
}
header .chBnr {
	position:absolute;
	top:0;
	right:24px;
}
header .enBnr a,
header .chBnr a
{
	display:block;
	width:140px;
	padding:5px 0 6px;
	color:#e50012;
	font-size:12px;
	font-weight:bold;
	text-align:center;
	border:2px solid #e50012;
	border-top:none;
	background:#fff;
	border-radius:0 0 6px 6px;
	box-sizing:border-box;
}

header .gnav-sns-list {
}
header .gnav-sns-item {
	width: 23px;
	position: absolute;
	top: 4px;
}
header .gnav-sns-item.fb {
	right: 689px;
}
header .gnav-sns-item.insta {
	right: 654px;
}
header .gnav-sns-item.twitter {
	right: 724px;
}
header .gnav-sns-item.line {
	right: 619px;
}
header .gnav-sns-item img {
	width: 100%;
	height: auto;
}

/* ヘッダー固定
----------------------------------------*/
#gheader {
	height: 90px;
}
header {
	position: fixed;
    top: 0;
    transition: .2s;
    width: 100%;
	z-index: 999;
	background-color: #fff;
}
header.hide{
    top: -90px;
}
@media screen and (max-width: 640px) {

	#gheader {
		height: 51px;
	}
	#gheader header {
		position: fixed;
	}
	#gheader header.hide{
		top: -51px;
	}

}

/*追加190205*/
.search header .gnav-item.gnav-top.act::after {
  content: '';
  background: none;
}

header .searchform_area {
    position: absolute;
    top: 4px;
    right: 759px;
}

header .searchform {
    display: inline-block;
    border: 1px solid #e7e7e7;
}

header .searchform input {
		padding: 1px 0 1px 3px;
    border: none;
    font-size: 14px;
}

header .searchform input:last-child {
      padding: 2px 4px 1px 4px;
    border: none;
    font-size: 12px;
}

/* 20240306 */
header .searchform_area {
	display: none;
}


.pagetop {
	position:fixed;
	right:30px;
	bottom:30px;
	z-index:100;
}

footer .inner {
	max-width:1240px;
	margin:0 auto;
	padding:0 20px;
	box-sizing:border-box;
}

footer .ftTop {
	padding:0 0 38px;
	background:#f8f8fa;
	margin-top: 80px;
}

footer .ftTop .ftTtl {
	padding-top: 50px;
	padding-bottom: 10px;
	border-bottom: 2px solid #e7e7e7;
}

footer .ftTop h2 {
	float:left;
	width:19.166%;
	margin-bottom: 0;
}

footer .ftTop .linkList {
	margin:10px 0 20px;
}

footer .ftTop .linkList li {
	padding:12px 0;
	float: left;
	width: 24%;
	margin-left: 1%;
}
footer .ftTop .linkList li:nth-child(4n+1) {
	margin-left: 0;
}

footer .ftTop .linkList li {
	border-bottom:1px solid #e7e7e7;
}

footer .ftTop .linkList li a {
	padding:0 0 0 16px;
	color:#000000;
	font-size:13px;
	background:url(/assets/img/common/ico_arw_01.png) no-repeat left center;
}

footer .ftTop .linkList li.imgLink{
	border: none;
	padding: 9px 9px 0 16px;
}

footer .ftTop .linkList li.imgLink a{
	background: none;
	max-width: 150px;
	display: block;
	padding: 0;
}

footer .ftTop .ftSns {
	float:right;
	color:#000;
	text-align: right;
	margin-top: 17px;
	margin-bottom: 5px;
}

footer .ftTop .ftSns .ttl {
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	vertical-align: middle;
	border-right: 1px solid #e7e7e7;
	padding-right: 12px;
}
footer .ftTop .ftSns ul {
	display: inline-block;
	vertical-align: middle;
}
footer .ftTop .ftSns ul li {
	display: inline-block;
	vertical-align: middle;
	margin-left: 25px;
}
footer .ftTop .ftSns ul li img {
	vertical-align: middle;
	width: 40px;
	height: auto;
}
footer .ftTop .ftSns ul li span {
	vertical-align: middle;
	margin-left: 20px;
	font-size: 14px;
}

footer .ftBtm {
	padding:30px 0 21px;
	text-align:center;
	background:#e50012;
}

footer .ftBtm ul {
	margin:0 0 15px;
	letter-spacing:-0.5em;
}

footer .ftBtm ul li {
	display:inline-block;
	margin:0 12px;
	letter-spacing:1px;
	vertical-align:top;
}

footer .ftBtm ul li a {
	color:#fff;
	font-size:12px;
}

footer .ftBtm ul li:first-child a{
	padding-right: 30px;
	position: relative;
}
footer .ftBtm ul li:first-child a::after {
	content: '';
	display: inline-block;
	width: 26px;
	height: 16px;
	background:url(/assets/img/common/ico_pdf_01.png) 0 0 no-repeat;
	top: -1px;
	right: 0;
	margin-left: 5px;
	position: absolute;
}

footer .ftBtm .copy {
	color:#fff;
	font-size:11px;
	letter-spacing:1px;
	font-family: sans-serif;
}

#breadcrumb {
	padding:11px 0;
	background:#f8f8fa;
}

#breadcrumb ul {
	max-width:1240px;
	margin:0 auto;
	padding:0 20px;
	letter-spacing:-0.5em;
	box-sizing:border-box;
}

#breadcrumb ul li {
	display:inline-block;
	margin:0 7px 0 0;
	font-size:11px;
	letter-spacing:0;
	vertical-align:top;
}

#breadcrumb ul li a ,
#breadcrumb ul li span {
	display:inline-block;
	margin:0 7px 0 0;
}



.cateList {
	max-width:1240px;
	margin:0 auto;
	padding:25px 20px 38px;
	box-sizing:border-box;
}

.cateList h2 {
	position:relative;
	margin:0 0 30px;
	padding:0 0 10px;
	font-size:18px;
	font-weight:normal;
	letter-spacing:2px;
	border-bottom:4px solid #e7e7e7;
}

.cateList h2:after {
	content:'';
	position:absolute;
	left:0;
	bottom:-4px;
	width:82px;
	height:4px;
	background:#e50012;
}

.cateList table {
	width:100%;
	border-collapse:collapse;
}

.cateList table td {
	width:16.666%;
	text-align:center;
	vertical-align:middle;
	border:1px solid #e7e7e7;
	box-sizing:border-box;
}

.cateList table.list02 td {
	/*width:20%;*/
	border-top:none;
}

/*.cateList table.list02 td:last-child {
	display:none;
}*/

.cateList table td br {
	display:none;
}

.cateList table td a {
	display:block;
	padding:15px 0;
	font-size:13px;
	background:url(/assets/img/common/ico_arw_03.png) no-repeat 95% center;
	background-size:7px auto;
}

.cateList table td.act a {
	font-weight:bold;
	background:#f8f8fa url(/assets/img/common/ico_arw_03.png) no-repeat 95% center;
}


/* head */
.hd-lv1 {
	margin-bottom: 40px;
}
.hd-lv1-bg {
	height: 200px;
	background: 50% 50% no-repeat;
	background-size: cover;
}
.hd-lv1-inner {
	text-align: center;
	padding-top: 10px;
	position: relative;
}
.hd-lv1-inner::after {
	content: '';
	display: block;
	width: 320px;
	height: 320px;
	background-color: #ffffff;
	position: absolute;
	top: -23px;
	left: 50%;
	margin-left: -160px;
	border-radius: 100%;
	z-index: 1;
}
.hd-lv1-inner p {
	position: relative;
	z-index: 2;
}
.hd-lv1-inner h1 {
	position: relative;
	margin-top: 10px;
	line-height: 1;
	z-index: 2;
	font-weight: normal;
	padding-bottom: 20px;
	border-bottom: 4px solid #e7e7e7;
}
.hd-lv1-inner h1 span {
	display: inline-block;
	font-size: 27px;
	position: relative;
}
.hd-lv1-inner h1 span::after {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 4px;
	bottom: -23px;
	left: 0;
	background-color: #e50012;
}

.hd-lv3-inner h1 {
	margin-top: 25px;
	padding-bottom: 8px;
	border-bottom: 4px solid #e7e7e7;
	margin-bottom: 28px;
}
.hd-lv3-inner h1 span {
	display: inline-block;
	font-size: 18px;
	position: relative;
	font-weight: normal;
}
.hd-lv3-inner h1 span::after {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 4px;
	bottom: -12px;
	left: 0;
	background-color: #e50012;
}
.hd-lv3 {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
  position: relative;
  z-index: 3;
}

.ttl-lv1 {
	margin: 0 0 30px;
  padding: 13px 0 14px 21px;
  font-size: 22px;
  font-weight: normal;
  background: #f8f8fa;
  border-left: 4px solid #e50012;
}
.ttl-lv2 {
	border-bottom: 2px solid #e50012;
	padding-bottom: 10px;
	font-size: 18px;
	line-height: 1.5;
	font-weight: bold;
	margin-bottom: 20px;
}
.ttl-lv2.is-gray{
	border-bottom-color: #e7e7e7;
}
.ttl-lv2.is-yellow{
	border-bottom-color: #f7a53f;
}
.ttl-lv3 {
	font-size: 16px;
	font-weight: bold;
	border-left: 4px solid #e50012;
	margin-bottom: 15px;
	padding-left: 10px;
	line-height: 1.4;
}
.ttl-lv4 {
	font-size: 16px;
	font-weight: bold;
	border-left: 4px solid #333333;
	margin-bottom: 15px;
	padding-left: 10px;
	line-height: 1.4;
}

/* btn */
.btn {
}
.btn a {
	display: block;
  padding: 18px 0;
  font-size: 15px;
  text-align: center;
  border: 1px solid #333;
  background: url(/assets/img/common/ico_arw_03.png) no-repeat right 16px center;
  border-radius: 27px;
  box-sizing: border-box;
  line-height: 1;
}
.btn p {
	display: block;
  padding: 18px 0;
  font-size: 15px;
  text-align: center;
  border: 1px solid #333;
  background: url(/assets/img/common/ico_arw_03.png) no-repeat right 16px center;
  border-radius: 27px;
  box-sizing: border-box;
  line-height: 1;
}
.btn.small a {
	font-size: 14px;
  padding: 13px 0;
}

.back {
  width: 360px;
  margin: 0 auto;
  text-align: center;
}
.back a {
  display: block;
  padding: 13px 0;
  font-size: 15px;
  border: 1px solid #333;
  border-radius: 25px;
  background: url(/assets/img/common/ico_arw_04.png) no-repeat 19px center;
}

/* main content */
.content-wrapper .inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
  position: relative;
  z-index: 3;
}

.cateList__title{
	display: none;
}


@media screen and (max-width: 1000px) {

#overlay {
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	background:rgba(0,0,0,0.70);
	z-index:10000;
}

header {
	position:relative;
	padding:0 23px;
	border-bottom:1px solid #e7e7e7;
	background:#fff;
	z-index:10001;
}

header h1 {
	padding:21px 0 23px;
}

header .menu {
	position:absolute;
	top:0;
	right:0;
	display:block;
	width:90px;
	height:90px;
}


header .gnav {
	display:none;
	position:absolute;
	top:100%;
	left:0;
	width:100%;
	height: 100vh;
	padding:0 0 100px;
	background:#fff;
	z-index:10001;
	overflow-y: scroll;
}

header .gnav-list {
	position:static;
	letter-spacing:0;
	border-top:1px solid #c9c9c9;
}

header .gnav-item {
	position:relative;
	display:block;
	margin:0;
	font-size:28px;
	font-weight:bold;
	line-height:1.43;
	letter-spacing:1.5px;
	vertical-align:top;
	border-bottom:1px solid #c9c9c9;
}

header .gnav-item a {
	display:block;
	padding:24px 0 25px 40px;
}

header .gnav-item.act:after {
	content:'';
	position:absolute;
	left:2px;
	bottom:2px;
	width:4px;
	height:85px;
	background:#e50012;
}

header .magazine {
	position:static;
	margin:60px 40px 20px;
}

header .magazine a {
	display:block;
	width:100%;
	padding:23px 0 24px;
	color:#fff;
	font-size:26px;
	font-weight:bold;
	text-align:center;
	border-radius:10px;
	box-sizing:border-box;
}

header .shop {
	position:static;
	margin:0 40px;
}

header .shop a {
	display:block;
	width:100%;
	margin-bottom: 20px;
	padding:23px 0 24px;
	color:#e50012;
	font-size:26px;
	font-weight:bold;
	text-align:center;
	border:2px solid #e50012;
	background:#fff;
	border-radius:10px;
	box-sizing:border-box;
}

header .enBnr,
header .chBnr
{
	position:static;
	margin:0 40px;
}

header .enBnr a,
header .chBnr a
{
	display:block;
	width:100%;
	padding:23px 0 24px;
	color:#e50012;
	font-size:26px;
	font-weight:bold;
	text-align:center;
	border:2px solid #e50012;
	background:#fff;
	border-radius:10px;
	box-sizing:border-box;
}
header .enBnr a {
	margin-bottom: 20px;
}

.cateList table td br {
	display:inline;
}

header .gnav-sns-list {
	margin-top: 20px;
	text-align: center;
}
header .gnav-sns-item {
	position: relative;
	width: 38px;
	top: auto;
	display: inline-block;
	margin: 0 10px;
}
header .gnav-sns-item.fb {
	right: auto;
}
header .gnav-sns-item.insta {
	right: auto;
}
header .gnav-sns-item.twitter {
	right: auto;
}
header .gnav-sns-item img {
	width: 100%;
}

header .searchform_area {
	display: none;
}

}



@media screen and (min-width: 641px) {
	.cateList .lineup-small{
		font-size:0.9em;
	}
	.cateList__inner{
		display: block !important;
	}
}

@media screen and (max-width: 640px) {

/* 詳細
----------------------------------------*/

body,html {
	overflow:inherit;
}

body {
	height:auto;
}

a:hover,
a:hover img {
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

.pcHide {
	display:inherit !important;
}

.spHide {
	display:none !important;
}

header {
	padding:0;
}

header h1 {
	width:130px;
	padding:0;
}

header h1 img {
	vertical-align:top;
}

header .menu {
	position:absolute;
	top:0;
	right:0;
	display:block;
	width:50px;
	height:50px;
}

header .gnav {
	display:none;
	position:absolute;
	top:100%;
	left:0;
	width:100%;
	padding:0 0 20%;
	background:#fff;
	z-index:10001;
}

header .gnav-list {
	position:static;
	letter-spacing:0;
	border-top:1px solid #c9c9c9;
}

header .gnav-item {
	position:relative;
	display:block;
	margin:0;
	font-size:14px;
	font-weight:bold;
	line-height:1.43;
	letter-spacing:1.5px;
	vertical-align:top;
	border-bottom:1px solid #c9c9c9;
}

header .gnav-item a {
	display:block;
	padding:12px 0 12px 20px;
}

header .gnav-item.act:after {
	content:'';
	position:absolute;
	left:0;
	bottom:0;
	width:2px;
	height:44px;
	background:#e50012;
}

header .magazine {
	position:static;
	width:87.5%;
	margin:9.375% auto 3.125%;
}

header .magazine a {
	display:block;
	width:100%;
	padding:12px 0;
	color:#fff;
	font-size:13px;
	font-weight:bold;
	text-align:center;
	border-radius:5px;
	box-sizing:border-box;
}

/*追加190205*/
.search header .gnav-item.gnav-top.act::after {
  content: '';
  background: none;
}

header .searchform_area {
        position: initial;
    top: initial;
    right: initial;
    width: 87.5%;
    margin: 9.375% auto -6%;
}

header .searchform {
    display: block;
    border: 1px solid #e7e7e7;
}

header .searchform input {
	width: 85%;
		padding: 4px 3px 3px 3px;
    border: none;
    font-size: 15px;
}

header .searchform input:last-child {
	  width: 15%;
    padding: 4px 4px 3px 4px;
    border: none;
    font-size: 15px;
		border-radius: 0; 
}

header .searchform input:last-child[type="submit"],
header .searchform input:last-child[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
	background: #dddddd;
	color: #000;
}
header .searchform input:last-child[type="submit"]::-webkit-search-decoration,
header .searchform input:last-child[type="button"]::-webkit-search-decoration {
  display: none;
}
header .searchform input:last-child[type="submit"]::focus,
header .searchform input:last-child[type="button"]::focus {
  outline-offset: -2px;
}


header .shop {
	position:static;
	width:87.5%;
	margin: 0 auto 3.125%;
}

header .shop a {
	display:block;
	width:100%;
	padding:12px 0;
	color:#e50012;
	font-size:13px;
	font-weight:bold;
	text-align:center;
	border: 1px solid #e50012;
	background:#fff;
	border-radius:5px;
	box-sizing:border-box;
}

header .enBnr,
header .chBnr
{
	position:static;
	width:87.5%;
	margin:0 auto;
}

header .enBnr {
	margin: 0 auto 3.125%;
}

header .enBnr a,
header .chBnr a
{
	display:block;
	width:100%;
	padding:12px 0;
	color:#e50012;
	font-size:13px;
	font-weight:bold;
	text-align:center;
	border: 1px solid #e50012;
	background:#fff;
	border-radius:5px;
	box-sizing:border-box;
}

header .gnav-sns-list {
	margin-top: 20px;
	text-align: center;
}
header .gnav-sns-item {
	position: relative;
	width: 38px;
	top: auto;
	display: inline-block;
	margin: 0 10px;
}
header .gnav-sns-item.fb {
	right: auto;
}
header .gnav-sns-item.insta {
	right: auto;
}
header .gnav-sns-item.twitter {
	right: auto;
}
header .gnav-sns-item.line {
	right: auto;
}
header .gnav-sns-item img {
	width: 100%;
}

.pagetop {
	position:fixed;
	right:15px;
	bottom:65px;
	z-index:19999;
	width:30px;
}

footer .inner {
	width:87.5%;
	max-width:inherit;
	margin:0 auto;
	padding:0;
	box-sizing:border-box;
}

footer .ftTop {
	padding:0 0 38px;
	background:#f8f8fa;
	margin-top: 50px;
}

footer .ftTop .ftTtl {
	padding-top: 50px;
	padding-bottom: 10px;
	border-bottom: 2px solid #e7e7e7;
}

footer .ftTop h2 {
	float:none;
	width: 100%;
	max-width: 200px;
	margin: 0 auto;
	box-sizing: border-box;
	padding-right: 10px;
}

footer .ftTop .linkList {
	margin:10px 0 0;
}

footer .ftTop .linkList li {
	padding:12px 0;
	float: left;
	width: 49.5%;
	margin-left: 1%;
}
footer .ftTop .linkList li:nth-child(2n+1) {
	margin-left: 0;
}

footer .ftTop .linkList li {
	border-bottom:1px solid #e7e7e7;
}

footer .ftTop .linkList li a {
	padding:0 0 0 13px;
	color:#000000;
	font-size:12px;
	background:url(/assets/img/common/ico_arw_01.png) no-repeat left center;
}

footer .ftTop .linkList li.imgLink{
	padding: 9px 9px 0 13px;
}
footer .ftTop .linkList li.imgLink a{
	max-width: 118px;
}

footer .ftBtm {
	padding:8% 0 6%;
	text-align:center;
	background:#e50012;
}

footer .ftBtm ul {
	margin:0 0 2%;
	letter-spacing:-0.5em;
}

footer .ftBtm ul li {
	display:inline-block;
	margin:0 1.5% 2%;
	letter-spacing:1px;
	vertical-align:top;
}

footer .ftBtm ul li a {
	color:#fff;
	font-size:10px;
}

footer .ftBtm ul li:first-child a {
	padding-right: 29px;
}
footer .ftBtm ul li:first-child a::after {
	top: -3px;
}

footer .ftBtm .copy {
	color:#fff;
	font-size:10px;
	line-height:1.8;
	letter-spacing:1px;
}


#breadcrumb {
	padding:2% 0;
}

#breadcrumb ul {
	width:87.5%;
	max-width:inherit;
	margin:0 auto;
	padding:0;
}

#breadcrumb ul li {
	margin:0 5px 0 0;
	font-size:10px;
}

#breadcrumb ul li a ,
#breadcrumb ul li span {
	margin:0 5px 0 0;
}


.cateList {
	width:100%;
	max-width:inherit;
	margin:0 auto;
	padding:5% 2% 7%;
	box-sizing:border-box;
}

.cateList h2 {
	position:relative;
	margin:0 0 6%;
	padding:0 0 5px;
	font-size:14px;
	font-weight:normal;
	letter-spacing:1px;
	border-bottom:2px solid #e7e7e7;
}

.cateList h2:after {
	content:'';
	position:absolute;
	left:0;
	bottom:-2px;
	width:65px;
	height:2px;
	background:#e50012;
}

.cateList table {
	width:100%;
	display: block;
	letter-spacing:-0.5em;
	border-right:1px solid #e7e7e7;
	border-collapse:collapse;
}

.cateList tbody{
	display: block;
}

.cateList table:last-child{
	border-bottom:1px solid #e7e7e7;
}

.cateList table tr ,
.cateList table.list02 tr{
	display: block;
}

.cateList table td ,
.cateList table.list02 td {
	/* display:inline-block;
	width:50%; */
	width:auto;
	display: block;
	text-align:left;
	vertical-align:top;
	letter-spacing:0;
	border:none;
	border-top:1px solid #e7e7e7;
	border-left:1px solid #e7e7e7;
	box-sizing:border-box;
	min-height:40px;
}

.cateList table.list02 td:last-child {
	/* display:inline-block; */
	/*padding:8px;*/
}

.cateList table td br {
	display:none;
}

.cateList table td a {
	box-sizing: border-box;
	display:block;
	padding:10px 16px 10px 8px;
	min-height:40px;
	font-size:13px;
	background:url(/assets/img/common/ico_arw_03.png) no-repeat 95% center;
	background-size:7px auto;
}

.cateList table td.act a {
	font-weight:bold;
	background:#f8f8fa url(/assets/img/common/ico_arw_03.png) no-repeat 95% center;
}

.cateList__title{
	width: auto;
	display: block;
	text-align: left;
	vertical-align: top;
	letter-spacing: 0;
	border: none;
	border: 1px solid #e7e7e7;
	box-sizing: border-box;
	min-height: 40px;
}

.cateList__title.is-opened .cateList__title__link:before{
	transform:rotate(-90deg);
}

.cateList__title__link{
	box-sizing: border-box;
	display: block;
	padding: 10px 16px 10px 8px;
	min-height: 40px;
	font-size: 13px;
	/* background: url(/assets/img/common/ico_arw_03.png) no-repeat 95% center;
	background-size: 7px auto; */
	position: relative;
}

.cateList__title__link:before{
	content:"";
	background: url(/assets/img/common/ico_arw_03.png) no-repeat 95% center;
	background-size: 7px auto;
	display: block;
	width:7px;
	height:14px;
	position: absolute;
	top:0;
	bottom:0;
	right:5%;
	margin:auto 0;
	transform:rotate(90deg);
	transition:0.3s ease;
}

.cateList__title + .cateList__inner{
	display: none;
}
.cateList__title + .cateList__inner table:first-child td:first-child{
	border-top: 0;
}

/* head */
.hd-lv1 {
	margin-bottom: 30px;
}
.hd-lv1-bg {
	height: 120px;
	background: 50% 50% no-repeat;
	background-size: cover;
}
.hd-lv1-inner {
	text-align: center;
	padding-top: 10px;
	position: relative;
}
.hd-lv1-inner::after {
	content: '';
	display: block;
	width: 300px;
	height: 300px;
	background-color: #ffffff;
	position: absolute;
	top: -20px;
	left: 50%;
	margin-left: -150px;
	border-radius: 100%;
	z-index: 1;
}
.hd-lv1-inner p {
	position: relative;
	z-index: 2;
}
.hd-lv1-inner h1 {
	position: relative;
	margin-top: 10px;
	line-height: 1;
	z-index: 2;
	font-weight: normal;
	padding-bottom: 11px;
	border-bottom: 4px solid #e7e7e7;
}
.hd-lv1-inner h1 span {
	display: inline-block;
	font-size: 18px;
	position: relative;
}
.hd-lv1-inner h1 span::after {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 4px;
	bottom: -15px;
	left: 0;
	background-color: #e50012;
}
.hd-lv3 {
  max-width: none;
  padding: 0 2%;
}
.hd-lv3-inner h1 {
	margin-top: 5%;
	padding-bottom: 8px;
	border-bottom: 2px solid #e7e7e7;
	margin-bottom: 28px;
}
.hd-lv3-inner h1 span {
	display: inline-block;
	font-size: 12px;
	position: relative;
	font-weight: normal;
}
.hd-lv3-inner h1 span::after {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: -10px;
	left: 0;
	background-color: #e50012;
}



.ttl-lv1 {
  margin: 0 0 8%;
  padding: 7px 0 7px 12px;
  font-size: 17px;
  font-weight: normal;
  background: #f8f8fa;
  border-left: 2px solid #e50012;
}
.ttl-lv2 {
	border-bottom: 2px solid #e50012;
	padding-bottom: 4px;
	font-size: 16px;
	line-height: 1.5;
	font-weight: bold;
	margin-bottom: 20px;
}
.ttl-lv3 {
	font-size: 14px;
	font-weight: bold;
	border-left: 4px solid #e50012;
	margin-bottom: 8px;
	padding-left: 10px;
	line-height: 1.4;
}
.ttl-lv4 {
	font-size: 14px;
	font-weight: bold;
	border-left: 4px solid #333333;
	margin-bottom: 8px;
	padding-left: 10px;
	line-height: 1.4;
}

/* btn */
.btn {
}
.btn a {
	display: block;
  padding: 14px 0;
  font-size: 14px;
  text-align: center;
  background: url(/assets/img/common/ico_arw_03.png) no-repeat right 16px center;
  border-radius: 27px;
  box-sizing: border-box;
  line-height: 1;
}

.back {
  width: 240px;
}
.back a {
  display: block;
  padding: 13px 0;
  font-size: 15px;
  border: 1px solid #333;
  border-radius: 25px;
  background: url(/assets/img/common/ico_arw_04.png) no-repeat 19px center;
}

.content-wrapper .inner {
	padding: 0 2%;
}



}

/* footer sns */
@media screen and (max-width:920px) {
	footer .ftTop .ftSns {
		text-align: center;
		margin-top: 30px;
	}
	footer .ftTop .ftSns .ttl {
		display: block;
		font-size: 15px;
		font-weight: bold;
		vertical-align: middle;
		border-right: 0;
		margin-bottom: 10px;
		padding-right: 0;
		text-align: center;
	}
	footer .ftTop .ftSns {
		float: none;
	}
	footer .ftTop .ftSns ul {
		display: flex;
		flex-wrap: wrap;
		row-gap: 19px;
	}
	footer .ftTop .ftSns ul li {
		margin-left: 0;
		display: block;
		width: 50%;
	}
	footer .ftTop .ftSns ul li a {
		display: flex;
		align-items: center;
	}
	footer .ftTop .ftSns ul li img {
		display: block;
		width: 37px;
		height: auto;
	}
	footer .ftTop .ftSns ul li span {
		display: block;
			width: calc(100% - 37px - 8px);
			margin-left: 19px;
			font-size: 13px;
			text-align: left;
	}
}
@media screen and (min-width:768px) and (max-width:919px){
	footer .ftTop .ftSns ul li {
		width: 25% !important;
	}
}

#chatplusview {
	display: none;
}

.post-type-archive-okyakusama #chatplusview,
.okyakusama-contact #chatplusview {
	display: block;
}

.post-type-archive-okyakusama .pagetop,
.okyakusama-contact .pagetop {
	display: none!important;
}

#gurt-modal {
  position: relative;
  margin: 10px auto;
  max-width: 734px;
  background: #fff;
}

#gurt-modal .gurt-modal-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  align-items: center;
  justify-content: center;
}

#gurt-modal .gurt-lead{
  text-align: center;
  font-weight: bold;
}

#gurt-modal .gurt-lead em{
  color: #e50012;
  font-weight: bold;
  font-style: normal;
}

#gurt-modal .gurt-link-text {
  text-align: center;
  margin-top: 2em;
}

#gurt-modal .mfp-close{
  top: 2.5%;
  right: 2.5%;
}
#gurt-modal .mfp-close:before,
#gurt-modal .mfp-close:after {
  background: #535353;
  height: 1px;
}

#gurt-modal .gurt-link-text {
  text-align: center;
  margin-top: 2em;
  background-color: #f8f8fa;
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-weight: bold;
}

#gurt-modal .gurt-link-text > p{
  position: relative;
  display: inline-block;
}

#gurt-modal .gurt-link-text > p:after{
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-image: url(../img/common/ico_target_01.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  right: -1em;
  top: 0;
}

#gurt-modal .gurt-link-text > span {
  color: #e50012;
  text-decoration: underline;
  display: block;
}

@media screen and (min-width: 769px){
  #gurt-modal{
    min-height: 334px;
    height: 334px;
    padding: 20px;
  }
  #gurt-modal .mfp-close{
    width: 34px;
    height: 34px;
    line-height: 34px;
  }
  #gurt-modal .mfp-close:before,
  #gurt-modal .mfp-close:after{
    width: 34px;
  }
  #gurt-modal .gurt-lead{
    font-size: calc(20 / 12 * 1em);
  }
  #gurt-modal .gurt-lead p:last-of-type {
    margin-top: 0.5em;
  }
  #gurt-modal .gurt-link-text {
    max-width: 530px;
    padding: calc(20 / 12 * 1em);
    font-size: calc(15 / 12 * 1em);
  }
}

@media screen and (max-width: 768px){
  #gurt-modal{
    padding: 4em 2em;
  }
  #gurt-modal .gurt-lead{
    font-size: calc(14 / 12 * 1em);
  }
  #gurt-modal .gurt-lead p:last-of-type {
    margin-top: 1em;
  }
  #gurt-modal .mfp-close{
    width: 20px;
    height: 20px;
    line-height: 20px;
  }
  #gurt-modal .mfp-close:before, #gurt-modal .mfp-close:after{
    width: 20px;
    top: 50%;
    left: 0;
  }
  #gurt-modal .gurt-link-text{
    padding: 1.5em .5em;
  }
  #gurt-modal .gurt-link-text > p{
    font-size: calc(12 / 12 * 1em);
    letter-spacing: -.01em;
    margin-left: -1em;
  }
  #gurt-modal .gurt-link-text > span{
    font-size: calc(12 / 12 * 1em);
    letter-spacing: .01em;
  }
}

.bannerLink_marusanailand{
	border: #333 solid 1px;
}
@media screen and (min-width: 769px){
	.bannerLink_marusanailand{
		margin: 0 auto;
		max-width: 720px;
		height: 148px;
		background: url(../img/marusanailand/ico_arw_01.png) right 28px top 70px no-repeat, url(../img/marusanailand/bg_bnr.png) left top no-repeat;
		background-color: #FFF;
		transform: scale(0.8);
	}
	.bannerLink_marusanailand a{
		padding: 0 0 0 380px;
		display: block;
		display: flex;
		height: 100%;
		align-items: center;
	}
	.bannerLink_company{
		margin-top: -24px;
		margin-bottom: 120px;
	}
	.bannerLink_tonyubag{
		margin-top: calc(-40/1366*100vw);
		margin-bottom: calc(70/1366*100vw);
	}
	.bannerLink_tonyubag a{
		padding: 0 0 0 388px;
	}
	.bannerLink_lineup{
		margin-top: 50px;
	}
	.bannerLink_lineup a{
		padding: 0 0 0 390px;
	}
	.bannerLink_lineup a img{
		margin-bottom: 5px;
	}
}
@media screen and (min-width: 1367px){
	.bannerLink_tonyubag{
		margin-top: -40px;
		margin-bottom: 70px;
	}
}
@media screen and (max-width: 769px){
	.bannerLink_marusanailand{
		background: url(../img/marusanailand/ico_arw_01.png) right 2.5% top 50% no-repeat, url(../img/marusanailand/bg_bnr_sp.png) left top no-repeat;
		background-color: #FFF;
		background-size: 1% ,calc(280/768*100vw);
		margin: calc(56/768*100vw) 10% calc(100/768*100vw);
	}
	.bannerLink_marusanailand a{
		padding: calc(15/768*100vw) 6% calc(15/768*100vw) 51%;
		display: block;
	}
	.bannerLink_tonyubag{
		margin: calc(56/768*100vw) 10% calc(70/768*100vw);
	}
	.bannerLink_tonyubag a{
		padding: calc(27/768*100vw) 6% calc(28/768*100vw) 51%;
	}
	.bannerLink_lineup{
		margin: calc(100/768*100vw) 10% calc(100/768*100vw);
	}
	.bannerLink_lineup a{
		padding: calc(20/768*100vw) 6% calc(32/768*100vw) 51%;
	}
}
@media screen and (min-width: 641px){
	.pageLink_marusanailand{
		position: relative;
    	/* float: right;
    	top: -50px; */
		width: 334px;
		background: url(../img/marusanailand/logo_marusanailand.png) left 10px top 11px  no-repeat;
		background-size: 118px;
		background-color: #e4f4fd;
		border: #333 solid 1px;
		height: 49px;
		margin-top: 40px;
		margin-left: auto;
	}
	.pageLink_marusanailand a{
		display: block;
		padding: 0 0 0 138px;
		height: 100%;
	}
	.pageLink_marusanailand a span{
		display: flex;
		height: 100%;
		align-items: center;
		font-size: 16px;
		background: #FFF url(../img/marusanailand/ico_arw_01.png) right 20px top 17px no-repeat;
		padding: 0 0 0 20px;
    	box-sizing: border-box;
	}
}
@media screen and (min-width: 641px) and (max-width: 930px) {
	.pageLink_marusanailand{
		top: 0;
		float: none;
		margin: 0 auto;
	}
}
@media screen and (max-width: 640px){
	.pageLink_marusanailand{
		position: relative;
		background: url(../img/marusanailand/logo_marusanailand.png) left 8% top 50% no-repeat;
    	background-size: 34%;
		background-color: #e4f4fd;
		border: #333 solid 1px;
		height: 40px;
		width: 80%;
		margin: 0 auto 30px;
	}
	.pageLink_marusanailand a{
		display: block;
		height: 100%;
		padding: 0 0 0 46%;
	}
	.pageLink_marusanailand a span{
		display: flex;
		height: 100%;
		align-items: center;
		font-size: 14px;
		background: #FFF url(../img/marusanailand/ico_arw_01_sp.png) right 9% top 50% no-repeat;
		background-size: 6px;
		padding: 0 calc(40/750*100vw) 0 calc(20/750*100vw);
    	box-sizing: border-box;
	}
	
}
@media screen and (max-width: 375px){
	.pageLink_marusanailand{
		height: calc(85/750*100vw);
		background: url(../img/marusanailand/logo_marusanailand.png) left 6% top 50% no-repeat;
    	background-size: 38%;
		background-color: #e4f4fd;
		margin-top: 30px;
	}
	.pageLink_marusanailand a span{
		font-size: calc(28/768*100vw);
		background: #FFF url(../img/marusanailand/ico_arw_01_sp.png) right 9% top 50% no-repeat;
		background-size: calc(11/750*100vw);
	}
}


/* すなば珈琲twitter */
/* 『あなたはどの「植物性ミルク」派？Twitter投票キャンペーン』 */
@media screen and (min-width: 641px){
	.pageLink_sunabaTwitter,
	.pageLink_cpBnr{
		position: absolute;
		bottom: -90px;
		right: 0;
		width: 334px;
	}
	.pageLink_sunabaTwitter a,
	.pageLink_cpBnr a{
		display: block;
		width: 100%;
		height: 100%;
	}
	.pageLink_cpBnr{
	}
	.itemDetail .ctBox02 {
		padding: 90px 0 84px !important;
	}
}
@media screen and (min-width: 641px) and (max-width: 930px) {
	.pageLink_sunabaTwitter,
	.pageLink_cpBnr{
		bottom: unset;
		right: unset;
		margin: 0 auto;
		position: relative;
		margin-top: 20px;
	}
}
@media screen and (max-width: 640px){
	.pageLink_sunabaTwitter,
	.pageLink_cpBnr{
		width: 80%;
		margin: 0 auto 30px;
	}
	.pageLink_sunabaTwitter a,
	.pageLink_cpBnr a{
		display: block;
		width: 100%;
	}
}

/* ジャパンフードセレクション2023年5月グランプリ受賞 */
.pageLink_cpBnr02 {
	position: relative;
}
@media screen and (min-width: 641px){
	.pageLink_cpBnr02 {
		position: relative;
		float: right;
		top: -50px;
		width: 334px;
		height: 49px;
	}
}
@media screen and (min-width: 641px) and (max-width: 930px) {
	.pageLink_cpBnr02 {
		top: 0;
		float: none;
		margin: 0 auto;
	}
}
@media screen and (max-width: 640px){
	.pageLink_cpBnr02{
		width: 80%;
		margin: 0 auto 30px;
	}
}

/* 検索改善 */
@media screen and (min-width: 1001px){
	.gnavi-search{
		display: none !important;
	}
}
@media screen and (max-width: 1000px){
	.gnavi-search{
		position: relative;
    margin: 60px 40px 0;
		border-radius: 10px;
		border-width: 2px !important;
		overflow: hidden;
		display: flex !important;
		height: 86px;
	}
	.gnavi-search::before{
		content: "";
		position: absolute;
		top: calc((100% - 40px)/2);
		left: 20px;
		width: 40px;
		height: 40px;
		background:url(/assets/img/common/ico_search.png) no-repeat;
		background-size: contain;
	}
	.gnavi-search input[type="text"]{
		font-size: 20px !important;
		display: block;
		padding: 24px 12px 24px 72px !important;
		width: 80% !important;
	}
	.gnavi-search input[type="text"]::placeholder{
		color: #c9c9c9;
	}
	.gnavi-search input[type="submit"]{
		background-color: #e7e7e7;
		font-size: 26px !important;
		width: 20% !important;
	}

	/* 20240306 */
	.gnavi-search{
		display: none !important;
	}
}
@media screen and (max-width: 640px){
	.gnavi-search{
		margin: 30px auto 0;
		border-radius: 5px;
		border-width: 1px !important;
		height: 44px;
		width: 87.5%;
	}
	.gnavi-search::before{
		top: calc((100% - 20px)/2);
		left: 10px;
		width: 20px;
		height: 20px;
	}
	.gnavi-search input[type="text"]{
		font-size: 15px !important;
		padding: 0.5em 0.25em 0.5em 2.5em !important;
	}
	.gnavi-search input[type="submit"]{
		font-size: 15px !important;
	}
}

/* recaptcha */
.grecaptcha-badge{
	z-index: 5;
}