@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


/* fs-icon をWP側でも定義（フォント実体は itembox 側を使う） */

html body {
    font-weight:normal !important;
}
@font-face{
  font-family: "fs-icon";
  src: url("https://repubrew.itembox.cloud/system/font/fs-icon.ttf?f2942g") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.fs-l-product2 .fs-l-productLayout > * > * {
    margin-bottom: 30px;
}
.fs-l-productLayout .table01{
  margin-top:50px;
}

/* スマホ時にロゴを強制的に表示させる */
@media screen and (max-width: 959px) {
    .logo_sp_only_head {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* ヘッダー全体が消えている場合の上書き */
    #header {
        display: block !important;
    }
}
.fs-l-product2 .fs-c-productNameHeading {
    margin: 0px auto 40px !important;
}
.fs-p-footerNavigationItem a:visited{
	color:#fff;
}
.c-postTitle__ttl{
	margin: 0 auto 10px;
}
/* JSの準備を待たずに強制表示する */
.fs-clientInfo:not(.is-ready) {
    display: block !important; /* または header の構造に合わせて flex など */
}
/* ついでに矢印が確実に出るよう最低限 */
.fs-c-subgroupList__link::after{
  font-family: "fs-icon" !important;
  content: "\e90c";
  display: inline-block;
  line-height: 1;
}
.c-postTitle__date {
	display:none !important;
}
.l-mainContent__inner>.post_content{
	padding:0;
}
.l-mainContent{
	margin:auto;
	padding-top: 30px;
}
.font_1rem{
	font-size:1rem;
	font-weight:normal;
}
.font_1remsub{
	font-size:1rem;
	font-weight:bold;
	line-height:260%;
}
a:hover img {
    opacity: 0.8;
    filter: alpha(opacity=60);
    -ms-filter: "alpha( opacity=60 )";
}
.clear {
    clear: both;
}
h1 {
    margin: 0 auto 30px;
}
h2.wp-block-heading {
    text-align:left;
}
h3{
	background:none;
	color: initial;
}
.post_content h2,
.post_content h3 {
	font-weight:500;
}
h3 a {
    color: #fff;
}

h3 a:hover {
    color: #F2F2F2;
}
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    padding: .5em .5em .5em;
}
.post_content h4{
	margin:0 auto 18px;
	text-align:left;
	font-weight:500;
}
a h3:hover {
    opacity: 0.8;
    filter: alpha(opacity=60);
    -ms-filter: "alpha( opacity=60 )";
}

article {
    margin: 0 auto 50px;
}
.post-thumbnail{
    margin: 0 auto 40px;
	text-align:center;
}
}
.fs-l-product2 .wp_button .fs-c-button--addToCart--detail:before{
	content:"";
}

element.style {
}
.fs-l-product2 .fs-l-productLayout .wp_button {
	margin: 0 auto 30px;
}
.more-link {
    color: #0000FF !important;
    text-decoration: underline;
}

.black{
	background:#000;
	color:#fff;
	display: inherit;
}
.black .fs-c-subgroupList__label{
	padding: 10px 14px 10px 14px;
	vertical-align: middle;
}

.fs-c-productList__list .wp-post-image {
    max-width: 100%;
    object-fit: cover;
    width: 254px !important;
    height: 254px !important;
}
.fs-l-productLayout .wp-post-image {
    height: auto !important;
}
/*
.fs-c-productImage{
    position: relative;
    overflow: hidden;
    padding-top: 60%;
    margin: 10px 5px;
}

.fs-c-productImage img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}
*/

@media screen and (max-width: 1210px) {
	.fs-c-productList__list .wp-post-image {
    max-width: 100%;
    object-fit: cover;
    width:19vw !important;
    height:19vw !important;
}
}
/* スマホ */
@media screen and (max-width: 902px) {
		.fs-c-productList__list .wp-post-image {
    max-width: 100%;
    object-fit: cover;
    width: 42vw !important;
    height: 42vw !important;
}
}
.fs-c-productList__list article {
    margin: 0 auto 0px;
}
.fs-c-subgroup{
	margin-bottom:40px;
}
.fs-c-productList__list__item{
	padding: 0px;
}
.fs-c-productNameHeading{
	margin-bottom:40px !important;
}
.fs-l-productLayout .table01{
	margin-bottom:0px !important;
}
.kind{
	background:#fff;
	margin-top:10px;
	padding:5px 12px;
	font-size:0.8rem;
}

/* ポジショニングマップ */

.pmap {
	 position: relative;
    margin: 0px auto;
	/*
    width: 70vw;
    height: 70vw;
	*/
    font-size:1rem;
	padding-top: 100%;
	width:100%;
}
.pmap_wrap {
	float:left;
	width:42%;
}
.pmap::before {
    position: absolute;
    top: 50%;
    left: 50%;
	border-top: 1px solid #ddd;
	border-left: 1px solid #ddd;
    z-index: -1;
    transform: translateX(-50%) translateY(-50%);
	width: 100%;
    padding-top:100%;
	/*
    width: calc(100% - 4em);
    padding-top: calc(100% - 4em);
	*/
	/*
 background:
        linear-gradient(to right, #535353 0%, #535353 100%) center / 0.2em calc(100% - 1em) no-repeat,
        linear-gradient(to bottom, #535353 0%, #535353 100%) center / calc(100% - 1em) 0.2em no-repeat,
        linear-gradient(to bottom right, transparent 50%, #535353 50%) top -4px left calc(50% - 0.2em + 1px) / 0.4em 1em no-repeat,
        linear-gradient(to bottom left, transparent 50%, #535353 50%) top -4px left calc(50% + 0.2em - 1px) / 0.4em 1em no-repeat,
        linear-gradient(to top left, transparent 50%, #535353 50%) top calc(50% + 0.2em - 1px) right -4px / 1em 0.4em no-repeat,
        linear-gradient(to bottom left, transparent 50%, #535353 50%) top calc(50% - 0.2em + 1px) right -4px / 1em 0.4em no-repeat,
        linear-gradient(to top right, transparent 50%, #535353 50%) bottom -4px left calc(50% - 0.2em + 1px) / 0.4em 1em no-repeat,
        linear-gradient(to top left, transparent 50%, #535353 50%) bottom -4px left calc(50% + 0.2em - 1px) / 0.4em 1em no-repeat,
        linear-gradient(to bottom right, transparent 50%, #535353 50%) top calc(50% - 0.2em + 1px) left -4px / 1em 0.4em no-repeat,
        linear-gradient(to top right, transparent 50%, #535353 50%) top calc(50% + 0.2em - 1px) left -4px / 1em 0.4em no-repeat;
	*/
	
	background:
        linear-gradient(to right, #DF0101 0%, #DF0101 100%) center / 0.1em calc(100%) no-repeat,
        linear-gradient(to bottom, #DF0101 0%, #DF0101 100%) center / calc(100%) 0.1em no-repeat,
       linear-gradient(to right, transparent 99%, #ddd 1%) top left / 10% 10% repeat,
        linear-gradient(to bottom, transparent 99%, #ddd 1%) top left / 10% 10% repeat;
	
    content: "";
	background-color:#fff;
}
/*
.pmap_item{
	position:absolute;
	top:4em;
}
*/
/*
 * .pmap::before {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
    transform: translateX(-50%) translateY(-50%);
    width: calc(100% - 4em);
    height: calc(100% - 4em);
    background:
        linear-gradient(to right, #3388dd 0%, #3388dd 100%) center / 0.2em calc(100% - 1em) no-repeat,
        linear-gradient(to bottom, #3388dd 0%, #3388dd 100%) center / calc(100% - 1em) 0.2em no-repeat,
        linear-gradient(to bottom right, transparent 50%, #3388dd 50%) top -4px left calc(50% - 0.2em + 1px) / 0.4em 1em no-repeat,
        linear-gradient(to bottom left, transparent 50%, #3388dd 50%) top -4px left calc(50% + 0.2em - 1px) / 0.4em 1em no-repeat,
        linear-gradient(to top left, transparent 50%, #3388dd 50%) top calc(50% + 0.2em - 1px) right -4px / 1em 0.4em no-repeat,
        linear-gradient(to bottom left, transparent 50%, #3388dd 50%) top calc(50% - 0.2em + 1px) right -4px / 1em 0.4em no-repeat,
        linear-gradient(to top right, transparent 50%, #3388dd 50%) bottom -4px left calc(50% - 0.2em + 1px) / 0.4em 1em no-repeat,
        linear-gradient(to top left, transparent 50%, #3388dd 50%) bottom -4px left calc(50% + 0.2em - 1px) / 0.4em 1em no-repeat,
        linear-gradient(to bottom right, transparent 50%, #3388dd 50%) top calc(50% - 0.2em + 1px) left -4px / 1em 0.4em no-repeat,
        linear-gradient(to top right, transparent 50%, #3388dd 50%) top calc(50% + 0.2em - 1px) left -4px / 1em 0.4em no-repeat,
        linear-gradient(to right, transparent 99%, #ddd 1%) top left / 10% 10% repeat,
        linear-gradient(to bottom, transparent 99%, #ddd 1%) top left / 10% 10% repeat;
    content: "";
	background-color:#fff;
}
*/
/*
.pmap_vaxis{
	display:table-cell;
}
*/
.pmap_vaxis_title {
	/*
    display: block;
	*/

}
.pmap_vaxis_high,
.pmap_vaxis_low {
	text-align: center;
    vertical-align: top;
    position: absolute;
    left:calc(50% - 3.5em);
	color: #DF0101;
	font-weight:bold;
}

.pmap_vaxis_high {
top: 0;
}
.pmap_vaxis_low {
    bottom: 0;
}
.pmap_haxis_title {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    text-align: center;
    writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
}
.pmap_haxis_high,
.pmap_haxis_low {
    position: absolute;
    top: 0px;
	/*
    width: 100%;
	*/
    height: 100%;
    text-align: center;
    writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
	color: #DF0101;
	font-weight:bold;
}
.pmap_haxis_high {
   left: 100%;
}


.pmap_haxis_low {
    left: -2em;
}
.pmap_item > span {
    display: block;
    position: absolute;
    transform: translateX(-50%) translateY(-50%);
	/*
    padding: 0.5em 1em;
    background-color: #313131;
	*/
    color: #fff;
    font-size: 0.75em;
    white-space: nowrap;
}
.pmap img{
	max-width:30px;
	height:auto;
}
.grid_map{
	/*
	display:grid;
	grid-template-columns:46% 50%;
	gap:4%;
	*/
}

.posilist img{
	max-width:30px;
	height:auto;
}

.posilist {
		float:right;
	width:54%;
	max-width:700px;
	display: flex;
	 flex-wrap: wrap;
	justify-content: space-between;
	padding-top: 30px;

}

.posiitem {
	line-height: 130%;
  /*
  width: calc(50% - 22px);
	*/
margin-bottom: 20px;
	padding-bottom: 5px;
	width:32%;
	box-sizing:border-box;
	font-size:0.8rem;
	/*
width: calc(33.33% - 13px);

			margin-right: 20px;
	*/
	text-align:left;
}
.posilist::after{
  content:"";
  display: block;
  width:32%;
}
.itemflex2{
	display:flex;
	gap: 0px 13px;
	align-items:center;
}
.pagination {
padding-top:40px;
text-align:right;
}
/* ページネーションの各数字ボタン */
.pagination .page-numbers {
    width: auto !important;      /* 固定幅を解除 */
    height: auto !important;     /* 固定高さを解除 */
    min-width: 0 !important;     /* 最小幅をリセット */
    display: inline-block;
    padding: 5px 15px !important; /* これで左右に綺麗に余白が出る */
    font-size: 0.8rem;
    margin-right: 10px;
    color: #0f1419;
    background: #fff;
    border: 1px solid #313131;
    line-height: 1.5;            /* 上下の余白を安定させる */
}

/* 現在のページ（spanタグ）にも同じ幅を適用 */
.pagination .page-numbers.current {
    background: #313131;
    color: #fff;
}
.pagination .current {
    background: #313131;
    color: #fff;
}
.pagination .prev,
.pagination .next {
    background: transparent;
    box-shadow: none;
    color: #313131;
}
.pagination .dots {
    background: transparent;
    box-shadow: none;
    border: none;
}


/*===================================
アコーディオンのためのcss
===================================*/

/*アコーディオン全体*/
.accordion-area {
    list-style: none;
    margin: 0 auto;
   padding:0;
}
.accordion-area li {
    margin: 10px 0;
    border-bottom: 1px solid #D8D8D8;
}

.accordion-area li::marker {
    display: none;
}

.accordion-area section {
    padding-bottom: 1px;
    /*
    background: #fff;
    */
}

/*アコーディオンタイトル*/
.title {
    position: relative;
    /*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    display: flex;
    font-weight: normal;
    padding: 12px 50px 12px 0px;
    transition: all .5s ease;
    text-align: left;
}

.title p {
    padding-top: 12px;
}

.subtitle {
    margin: 0 auto 15px;
    padding: 10px 0 0 0;
    font-weight: 600;
}

.qa {
    display: inline-block;
    font-size: 30px;
    padding-right: 10px;
}

.qa p {
    display: inline-block;
}

/*アイコンの＋と×*/
.title::before,
.title::after {
    position: absolute;
    content: '';
    width: 15px;
    height: 2px;
    background-color: #333;

}

.title::before {
    top: 48%;
    right: 15px;
    transform: rotate(0deg);

}

.title::after {
    top: 48%;
    right: 15px;
    transform: rotate(90deg);

}

/*　closeというクラスがついたら形状変化　*/
.title.close::before {
    transform: rotate(45deg);
}

.title.close::after {
    transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.box {
    display: none;
    /*はじめは非表示*/
    margin: 0 0 15px 0;
    padding: 0;
    text-align: left;
    color: #313131;
}
.ulflex{
	display:flex;
}
.shop_item{
	margin: 0 auto 15px;
	background:#fff;
	padding:1% 2% 1px;
}
.shop_item p{
	margin:0 auto 10px;
}
	.entry-title{
		text-align:center;
	}
.iframe_wrap{
	margin:0 auto 40px;
}
@media screen and (max-width: 902px) {
	.posilist {
		float:none;
	width:100%;
	max-width:900px;
	display: flex;
	 flex-wrap: wrap;
	justify-content: space-between;
	padding-top: 30px;

}



.pmap_wrap {
	float:none;
	width:100%;
}
	
	.pmap{
		padding-top:90%;
		width:90%;
	}


}
@media screen and (max-width: 480px) {
    .fs-l-main {
        margin: 0px auto;
        padding: 30px 5% 15px;
    }

	.shop_item{
	margin: 0 auto 15px;
	padding: 1.5% 3% 1px;
}
.shop_item p{
	margin:0 auto 10px;
	font-size:0.8rem;
	line-height:150%;
}	
	.entry-title{
		font-size:1.3rem;
	}
	.posiitem{
		width:48%;
	}
	.pmap{
		padding-top:90%;
		width:90%;
	}
	.pmap img{
	max-width:25px;
}

}



