@charset "utf-8";
/* --------------------------------
	トップページ
-------------------------------- */
/* メインビジュアル */

.mv {
	position: relative;
	height: clamp(18.75rem, 12.841rem + 29.55vw, 35rem);
	/*300px - 560px*/
	overflow: hidden;
}

.mv-slider,
.mv-slider .splide__track,
.mv-slider .splide__list,
.mv-slider .splide__slide {
	height: 100%;
}

.mv-slider img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mv-slider img.mv-right {
	object-position: 90% center;
}

/* カード リンク */

.card-list {
	padding: clamp(2.5rem, 2.045rem + 2.27vw, 3.75rem) 0;
}

.card-list .card-list__container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(0.625rem, 0.398rem + 1.14vw, 1.25rem);
}

.card-list__item a {
	position: relative;
	display: block;
	overflow: hidden;
}

.card-list__item img {
	width: 100%;
	transition: transform .5s ease;
}
.card-list__item a:hover img {
	transform: scale(1.05);
}

.card-list__txt {
	position: absolute;
	inset: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.card-list__txt h2 {
	display: flex;
	gap: 10px;
	flex-direction: column;
}

.card-list__txt h2 .en {
	font-family: "Times New Roman", Times, "serif";
	color: #fff;
	font-size: clamp(1.125rem, 0.898rem + 1.14vw, 1.75rem);
}

.card-list__txt h2 .jp {
	color: #fff;
	font-weight: normal;
	font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
}

/* トップページ FACTORY TOUR エリア */

.factory {
	background-color: #251E14;
	background-image: url(../images/top/bg_factory.jpg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	padding: clamp(3.125rem, 2.443rem + 3.41vw, 5rem) 0;
}

.factory__heading {
	color: #fff;
	text-align: center;
	margin-bottom: 40px;
}

.factory__heading h2 {
	font-family: "Times New Roman", Times, "serif";
	font-size: 32px;
	margin-bottom: 20px;
}

.factory__heading p {
	line-height: 1.8;
}

.factory__container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(0.938rem, 0.824rem + 0.57vw, 1.25rem);
}

.factory__item img {
	width: 100%;
}

.factory__item-txt {
	color: #333;
	background-color: #fff;
	font-weight: bold;
	text-align: center;
	padding: 20px 10px;
}

/* --------------------------------
	ブランド
-------------------------------- */

.brand .contents {
	background-color: #241b17;
	padding: 0 !important;
}

.brand .brandBox  {
	min-height: 600px;
	position: relative;
}

.brand #lead  {
	background: url(../images/brand/bg.jpg) 50% top no-repeat ;
	background-size: cover;
}

.brand #wh  {
	background: url(../images/brand/wh.jpg) 50% top no-repeat ;
	background-size: cover;
}

.brand #jg  {
	background: url(../images/brand/jg.jpg) 30% top no-repeat ;
	background-size: cover;
}

.brand .brandBox {
	color: #fff;	
	padding: 60px 20px;
	text-align: center;
}

.brand .brandBox img  {
	max-width: 100%;
}

.brand .brandBox .arrow img {
	margin-inline: auto;
	padding-top: 50px;
	padding-top: clamp(0.625rem, -0.284rem + 4.55vw, 3.125rem);
}

.brandBox .concept {
	font-family: 'Times New Roman', serif;
	font-weight: bold;
	font-size: 16px;
	display: block;
	margin-bottom: 20px;
}

.brandBox .divider {
	width: 20px;
	height: 2px;
	background-color: #fff;
	display: block;
	margin: 0 auto 25px;
}

.brandBox .lead_h3 {
	font-size: clamp(1.5rem, 1.136rem + 1.82vw, 2.5rem);
	margin-bottom: clamp(1.875rem, 1.648rem + 1.14vw, 2.5rem);
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;

}

.brandBox h3.logo {
	padding-top: 20px;
	padding-bottom: 30px;
}

.brandBox p {
	margin-bottom: 40px;
	font-size: clamp(0.875rem, 0.852rem + 0.11vw, 0.938rem);
	line-height: 2;
	text-shadow: 1px 1px 3px #000;
}

.brandBox h3.logo img {
	margin-inline: auto;
}

.brandBox .btn-onlineshop {
	width: 250px;
	border: 1px solid rgba(255,255,255,0.6);
	background-color: rgba(0,0,0,0.2);
	color: #fff;
	padding: 8px 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-weight: bold;
}

.brandBox .btn-onlineshop:hover {
	background-color: rgba(255,255,255,0.25);
}

.brandBox .btn-onlineshop::before {
	font-family: "FontAwesome";
	content: "\f07a";
	font-size: 18px;
	color: rgba(255,255,255,0.7);
}

/* --------------------------------
	ブランドページ YouTube
-------------------------------- */

.brand .movieWrap {
	max-width: 820px;
	margin-inline: auto;
	padding: 50px 10px;
	display: flex;
	flex-direction: column;
	gap: 50px;
}

.brand .movieInner h4 {
	color: #fff;
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
	margin-bottom: 1rem;
	text-align: center;
}

.brand .movie iframe {
  width: 100%;
  aspect-ratio: 16/9;
  height: auto;
}

/* --------------------------------
	ショップリスト　レイアウト
-------------------------------- */
.contentsLayout {
	display: flex;
	flex-direction: row-reverse;
	gap: clamp(1rem, 0.455rem + 2.73vw, 2.5rem);
}

.contentsLayout .leftContents {
	flex: 1;
}

.contentsLayout .shoplist {
	flex: 0 0 230px;
	font-size: 14px;
}

/* --------------------------------
	ショップリスト　ナビゲーション
-------------------------------- */

#sideNavi .menulist a {
	display: block;
	padding: 20px 0 20px 20px;
	color: #333;
	line-height: 135%;
	position: relative;
}

#sideNavi .menulist a:hover {
	background-color: #fafafa;
}

#sideNavi .menulist a.active {
	background-color: #403624;
	color: #fff;
}

#sideNavi.shoplist .menulist {
	margin-bottom: 30px;
}

#sideNavi.shoplist .menulist > li {
	margin-bottom: 30px;
}

#sideNavi.shoplist .menulist li {
	border-bottom: 1px solid #ebebeb;
}

#sideNavi.shoplist .menulist li:last-child {
	border-bottom: none;
}

#sideNavi.shoplist .hasChild {
	background-color: #39464f;
	color: #fff;
	font-weight: bold;
	cursor: default;
}

#sideNavi.shoplist .hasChild.active {
	background-color: #39464f;
}

#sideNavi.shoplist .hasChild::before {
	content: "";
}

#sideNavi.shoplist .child a {
	padding: 20px 0 20px 20px;
	font-size: 93%;
}

#sideNavi.shoplist .child {
	display: block;
}

#sideNavi.shoplist .child li {
	background-color: #fff;
}

#sideNavi.shoplist .child a::before {
    font-family: "FontAwesome";
    content: "\f105";
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -8px;
	color: #bfbfbf;
	font-size: 16px;
}

/* --------------------------------
	直営店リスト
-------------------------------- */

.shoplist .h3Box h3 {
	font-family: 'メイリオ', 'Meiryo','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro W3','ＭＳ Ｐゴシック';
	font-size: 143%;
	font-size: clamp(1.125rem, 1.057rem + 0.34vw, 1.313rem);
}

/* 直営店リスト　レイアウト */
.articleList {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.articleList li {
	background-color: #fff;
	flex: 1 1 285px;

	position: relative;
}

/* 直営店情報 */

.articleList img {
	max-width: 100%;
	height: auto;
}

.articleList div p {
	padding-left: 5%;
	padding-right: 5%;
}

.articleList .img {
	margin-bottom: 15px;
	padding: 0;
}

.articleList .ttl {
	color: #333;
	/*
	line-height: 135%;*/
	font-weight: bold;
}

.shoplist .articleList {
	margin-bottom: 60px;
}

.shoplist .articleList .en {
	color: #b8a062;
	margin-bottom: 8px;
	font-size: 79%;
}

.shoplist .articleList .ttl {
	padding-bottom: 5%;
}

.shoplist .articleList .divider {
	display: block;
	background-color: #d7d7d7;
	height: 1px;
	margin: 0 5% 5%;
}

.shoplist .articleList .address {
	color: #333;
	font-size: 0.875rem;
	line-height: 135%;
	padding-bottom: 45px;
}

.shoplist .articleList li .arrow {
    font-size: 18px;
	line-height: 18px;

    position: absolute;
    bottom: 10px;
    right: 10px;

    width: 60px;
    height: 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 5px;
    background: #ebebeb;
    color: #39464f;
    font-weight: bold;
}

/* --------------------------------
	全国取扱店舗リスト
-------------------------------- */

.shoplist h4 {
	background-color: #39464f;
	color: #fff;
	padding: 10px;
	text-align: center;
	font-size: 129%;
	font-weight: bold;
	margin-bottom: 25px;
}

.shoplist h5 {
	text-align: center;
	font-size: 129%;
	font-weight: bold;
	margin-bottom: 15px;
}

.shoplist .table {
	margin-bottom: 50px;
	border-top: none;
}

.shoplist .table-row:nth-child(even) {
	background-color: #f3f3f3;
}

.shoplist .table-row.th div {
	padding: 0 15px 5px;
}

.shoplist .table-row .shop {
	width: 30%;
}

.shoplist .table-row .tel {
	width: 20%;
}

.shoplist .table-row .tel span {
	display: none;
}

/* --------------------------------
	ショップ詳細
-------------------------------- */

/* レイアウト */

.shopDataWrap {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	margin-bottom: 20px;
}
.shopDataWrap img {
	width: 420px;
	height: auto;
	flex-shrink: 0;
}
.shopDataWrap .shopData {
	flex: 1;
}

.shoplist .shopData-row {
	display: table;
	width: 100%;
	border-bottom: 1px solid #d7d7d7;
}

.shoplist .shopData-row:last-child {
	border-bottom: none;
}
.shoplist .shopData-row div {
	display: table-cell;
	vertical-align: top;
	padding: 15px;
	line-height: 150%;
}

.shoplist .shopData-row .th {
	width: 23%;
	text-align: right;
}

.shopData-row a {
  color: #3A8EB2;
}

.shopmore .caption {
	margin-bottom: 40px;
}

.shopmore .ttl {
	margin-bottom: 5px;
	font-weight: bold;
}

.shopmore p {
	line-height: 150%;
}

.shopmore .leftContentsInner {
	margin-bottom: 30px;
}


/* --------------------------------
	FACTORY TOUR
-------------------------------- */

/*見出し*/

.news h3 {
	font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
	line-height: 150%;
	margin-bottom: 20px;
}

.news h4 {
	font-size: clamp(1rem, 0.773rem + 0.97vw, 1.5rem);
	line-height: 150%;
	margin-bottom: 20px;
}

.news h5 {
	font-size: 20px;
	line-height: 150%;
	margin-bottom: 15px;
}

.news h6 {
	font-size: 16px;
	line-height: 150%;
	font-weight: bold;
	margin-bottom: 15px;
}

.news .relative {
	position: relative;	
}

/*　　テキスト　　*/
.news p.lead {
	font-size: 16px;
	line-height: 170%;
}

.news p.text {
	line-height: 170%;
	margin-bottom: 15px;
}

.news p.notes {
	line-height: 150%;
	font-size: 12px;
	margin-bottom: 10px;
}

/*　　左右寄せ　　*/
.news .left-block {
	float: left;
}

.news .right-block {
	float: right;
}

.news .right-block-withcap {
	float: right;
	width: 45%;
	margin: 0 0 2em 2em;
}

.news .contents {
	padding: 30px 8%;
}

.news img {
	max-width: 100%;	
}

/* スマホ以外は表示 */
.news .part-pc {
	display: block;
}

/* スマホのみ表示 */
.news .part-sp {
	display: none;
}

/* テキストリンク */
.news .txtLink {
	color: #3a8eb2;
	text-decoration: underline;
}

.news .txtLink:hover {
	text-decoration: none;
}

/* メイン画像下 タイトル */

.news .ttl-wrapper {
	text-align: center;
}

.news .h3-en {
	font-family: "Times New Roman", Times, "serif";	
	font-size: clamp(1.5rem, 0.955rem + 2.73vw, 3rem);
	color: #a80000;
	letter-spacing: -1.6px;
	line-height: 1.2;
	font-weight: bold;
	margin-bottom: clamp(0.625rem, 0.341rem + 1.21vw, 1.25rem);
}

.news .h3-en .h3-en-normal {
	font-weight: normal;
}

.news .h3-jp {
	font-size: clamp(1rem, 0.773rem + 0.97vw, 1.5rem);
}

.news .three-columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.news .two-columns {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.news .box {
	width: 100%;
}

.news .box img {
	width: 100%;
	margin-bottom: 10px;
}


/* --------------------------------
	FACTORY TOUR 【 SWEAT 】
-------------------------------- */

#factory_sweat .about-right {
	width: 48.2%;
	margin-left: 30px;
}

#factory_sweat .ura-left {
	width: 44.7%;
}

#factory_sweat .ura-right {
	width: 50%;
}

#factory_sweat .p-name {
	width: 100%;
	position: absolute;
	top: 0;
}

#factory_sweat .p-name h5 {
	margin-bottom: 10px;
	font-size: 24px;
}

#factory_sweat .p-name p {
	font-size: 13px;
}

#factory_sweat .p-name.lot401 {
	text-align: right;
	right: 0;
}

#factory_sweat .p-name.lot403 {
	left: 0;
}

#factory_sweat .type-401 {
    background: url(../images/news/sweat/bg_401.jpg) no-repeat left 7%;
	background-size: contain;
	padding-top: 25%;
}

#factory_sweat .type-403 {
    background: url(../images/news/sweat/bg_403.jpg) no-repeat left 4%;
	background-size: contain;
	padding-top: 25%;
}

/* --------------------------------
	FACTORY TOUR 【 NEL 】
-------------------------------- */

#factory_nel .ttl-main {
	width: 81%;
}

#factory_nel .about-right {
	width: 42.6%;
	margin-left: 30px;
}

#factory_nel .about-left {
	width: 39.1%;
	margin-right: 30px;
}

#factory_nel .kimou-left {
	width: 41.3%;
}

#factory_nel .kimou-right {
	width: 55%;
}

#factory_nel .button-left {
	width: 28%;
}

#factory_nel .button-right {
	width: 69.7%;
}

#factory_nel .pocket-left {
	width: 64.8%;
}

#factory_nel .pocket-right {
	width: 32%;
}

/* --------------------------------
	FACTORY TOUR 【 DENIM 】
-------------------------------- */

#factory_denim .ttl-main {
	width: 80.9%;
}

#factory_denim .about-right {
	width: 40%;
	margin-left: 30px;
}

#factory_denim .g3-left {
	width: 39.1%;
	margin-right: 30px;
}

#factory_denim .hosei-right {
	width: 43.5%;
	margin-left: 30px;
}

/* --------------------------------
	プライバシー・ポリシー
-------------------------------- */

.privacy-policy .contents {
	padding: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);
}

.privacy-policy .contents h3 {
	font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
	margin-bottom: 1rem;
}

.privacy-policy .contents h4 {
    border-left: 8px solid #b8a062;
    padding: 5px 15px;
    font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
    font-weight: bold;
    margin-bottom: 1rem;
}

.privacy-policy .contents p {
	line-height: 1.7;
	margin-bottom: 1.5rem;
}

.privacy-policy .contents li {
	margin-bottom: clamp(1.875rem, 1.648rem + 1.14vw, 2.5rem);
}
.privacy-policy .contents li p {
	padding-left: 23px;
}
.privacy-policy .contents li:last-child {
	margin-bottom: 0;
}

/* --------------------------------
	404
-------------------------------- */

.notfound {
	padding: 50px 20px;
	text-align: center;
	color: #403624;
}

.notfound h1 {
	font-family: "Times New Roman", Times, "serif";
	font-size: clamp(3rem, 2.636rem + 1.82vw, 4rem);
}

.notfound h2 {
	font-family: "Times New Roman", Times, "serif";
	font-size: clamp(2rem, 1.636rem + 1.82vw, 3rem);
	margin-bottom: 2rem;
}

.notfound p {
	font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
	line-height: 2;
}